[发明专利]一种基于位图的考勤标识算法有效
申请号: | 202110492709.8 | 申请日: | 2021-05-07 |
公开(公告)号: | CN112905606B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 杜锷;何旭 | 申请(专利权)人: | 中建电子商务有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2457;G06F16/903 |
代理公司: | 成都春夏知识产权代理事务所(特殊普通合伙) 51317 | 代理人: | 夏琴 |
地址: | 610000 四川省成都市青*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 位图 考勤 标识 算法 | ||
本发明公开了一种基于位图的考勤标识算法,包括:采用二进制符号X标识当日考勤状态正常,采用不同的二进制符号Y标识当日考勤状态异常,每日依次对应一位二进制符号形成每位工人在考勤周期的二进制序列;当考勤状态由异常变为正常则视为已整改,整改当天采用二进制符号X标识,整改的前一天采用二进制符号Y标识,获取每位工人对应的考勤标识数据并存储到数据库中;在数据库中获取考勤标识数据中字符串,将字符串转化为位图,基于位图上的二进制符号,统计异常日期、整改日期以及整改天数。本发明的技术方案大幅减少占用的存储空间;使数据处理逻辑简单、高效,大幅提升相关统计的处理效率;存储简便、处理迅速。
技术领域
本发明涉及数据处理技术领域,特别是一种基于位图的考勤标识算法。
背景技术
在建筑行业,往往需要对建筑工人的考勤状态进行标识,常见的考勤标识与统计项的异常状态包括:出勤超时和多日未出勤;例如,上班超过1天未下班,视为出勤超时;下班后,超过7天未上班,视为多日未出勤。对异常考勤状态的整改是由异常状态变为正常状态;例如,出勤超时的工人下班、多日未出勤的工人上班均视为已整改;而由异常状态变为正常状态的天数为整改天数。例如,出勤超时的工人6天后上班,则整改天数为6。
传统处理方式中,将工人的考勤标识保存在关系数据库的表记录中,通过范围查询来进行统计。这样存在以下问题:
(1)占用存储空间大。对于千万级别的项目工人,每年需要百亿级别的关系数据表记录来保存标识关系。
(2)统计逻辑复杂、效率低。若要基于标识记录进行统计,则需对海量关系数据进行范围查询,效率低下
(3)应对数据变更的能力差。考勤上传存在滞后的情况,且顺序无法保证,因此需要频繁变更标识与统计,传统处理方式无法应对数据频繁变更的场景。
发明内容
本发明要解决的技术问题是:为了解决上述问题,提出了一种基于位图的考勤标识算法。
为实现上述目的,本发明采用的技术方案如下:一种基于位图的考勤标识算法,包括:
步骤S1,采用二进制符号X标识当日考勤状态正常,采用不同的二进制符号Y标识当日考勤状态异常,每日依次对应一位二进制符号形成每位工人在考勤周期的二进制序列;
步骤S2,当考勤状态由异常变为正常则视为已整改,整改当天采用二进制符号X标识,整改的前一天采用二进制符号Y标识,获取每位工人对应的考勤标识数据并存储到数据库中;
步骤S3,在数据库中获取考勤标识数据中字符串,将字符串转化为位图,基于位图上的二进制符号,统计异常日期、整改日期以及整改天数。
进一步的,所述步骤S2中还包括将二进制序列转化为表格形式的考勤标识数据的过程,包括:从二进制序列中获取考勤的初始日期d、二进制序列中首部连续的二进制符号X个数c;获取二进制序列尾部的连续的二进制符号X个数b并存储在数据库,去掉尾部末尾的b-1位的二进制符号X,再去掉首部连续的c位二进制符号X,得到中间的二进制序列作为存储字符串;将考勤的初始日期d、二进制符号X个数c、存储字符串作为考勤标识数据并以表格形式存储到数据库中。
进一步的,将表格式考勤标识数据转化为二进制序列的过程包括:从数据库中获取表格形式的考勤标识数据,得到初始日期d、二进制符号X个数c、存储字符串;从数据库获取二进制符号X个数b,将存储字符串解析为位图m1,把位图m1右移c位,补齐首部去掉的连续的c位二进制符号X以及尾部去掉的b-1位二进制符号X,得到位图m0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中建电子商务有限责任公司,未经中建电子商务有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110492709.8/2.html,转载请声明来源钻瓜专利网。