本申请涉及到计算机领域,特别是涉及到一种数据统计方法、装置、计算机设备和存储介质。
背景技术:
刷卡是目前生活中常见的一种行为,如刷社保卡、公交卡、门禁卡等等。其中,有些卡是不能随便刷的,比如随着全民参保的普及,越来越多的参保人享受着在医院就医过程中直接持卡结算的便捷服务,但由于不同待遇人群间的报销比例差异较大以及医院收费人员对持卡人信息核验不严,可能存在多个人共用一张卡去医院刷卡结算的情况。通过分析出高频刷卡行为,可以缩小疑似违规刷卡的范围,为医保经办人员重点核查提供有力依据。
传统的高频刷卡计算方法是分析出每天(00:00:00-23:59:59),或每个整点时间段(如:00:00:00-00:59:59/00:00:00-00:29:59)的刷卡次数大于等于n的持卡人信息,这种计算方式相对实现简单,主要存在两个问题:一是随着时间段的调整,需要调整程序,而且时间段范围越小,程序执行时间越长;二是无法实现分析出任意m分钟(如任意30分钟:00:01:00-00:30:59/07:27:00-07:56:59等)的刷卡次数大于等于n的持卡人信息,可能会有少部分违规刷卡行为未被发现。
技术实现要素:
本申请的主要目的为提供一种数据统计方法、装置、计算机设备和存储介质,旨在解决现有技术中无法快速查询任意m分钟内的刷卡次数的技术问题。
为了实现上述发明目的,本申请提出一种数据统计方法,包括步骤:
获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;
选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
进一步地,所述选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数的步骤之后,包括:
判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
若是,则发出提醒信息。
进一步地,所述数据记录为医保卡的刷卡记录,所述获取指定时间段内产生的数据记录,形成源数据集的步骤之前,包括:
获取用户登录医保卡刷卡违规检测平台的动作;
拍摄所述用户的脸部图像;
到预设的脸部权限数据库中匹配所述脸部图像;
若匹配成功,则允许所述用户继续操作;
若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
进一步地,所述拍摄所述用户的脸部图像的步骤,包括:
录制预设时长的所述用户的脸部视频;
判断所述脸部视频中,用户的眼睛是否发生眨眼的动作;
若是,则在所述脸部视频中截取一张符合预设标准的图片作为所述脸部图像。
进一步地,所述到预设的脸部权限数据库中匹配所述脸部图像的步骤,包括:
计算所述脸部图像中用户眼睛的特征与所述脸部权限数据库中各图像中的眼睛特征的第一相似度;
判断各所述第一像似度是否大于预设的第一相似度阈值;
若均小于,则判定所述脸部图像在所述脸部权限数据库中匹配失败;
若存在所述第一像似度大于预设的第一相似度阈值的情况,则将所述第一相似度大于预设的第一相似度阈值的所述脸部权限数据库中的图像进行标记,得到标记图像;
计算所述脸部图像与所述各标记图像的第二相似度阈值,其中,所述第二相似度阈值小于所述第一相似度阈值;
若所述第二相似度大于预设的第二相似度阈值,则判定所述脸部图像在所述脸部权限数据库匹配成功,否则判定匹配失败。
本申请还提供一种数据统计装置,包括:
获取单元,用于获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
转换单元,用于将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
映射单元,用于以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;所述第二数据集中包括所述第一数据集中的每一条<key,value>数据映射出的n条虚拟<key,value>数据;
聚合累加单元,用于选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
进一步地,所述数据统计装置还包括:
判断单元,用于判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
提醒单元,用于若所述数据记录次数大于预设值,则发出提醒信息。
进一步地,所述数据记录为医保卡的刷卡记录,所述数据统计装置还包括:
获取登录单元,用于获取用户登录医保卡刷卡违规检测平台的动作;
拍摄单元,用于拍摄所述用户的脸部图像;
匹配单元,用于到预设的脸部权限数据库中匹配所述脸部图像;
指定单元,用于若匹配成功,则允许运行所述用户继续操作;若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的数据统计方法、装置、计算机设备和存储介质,将有依赖关系的数据记录数据集转成没有依赖关系的数据集,使得第二数据集更适合通过分布式计算来处理,提升了数据分析效率。而且可以对任意m时间长度中的刷卡次数进行统计,灵活方便。虽然说总的数据量由源数据集的k条变成第二数据集的k*n条,但对新数据集没有使用到递归和嵌套处理,而是使用聚合算法,计算速度更快,实现通过牺牲存储空间(或内存空间)达到提升分析效率的目的;而且在计算机集群中统计数据记录次数时,可以将各计算机的计算结果进行二次聚合,快速得到计算机集群的数据记录次数统计,可以减少分布式计算过程中数据在不同服务器间的网络传输。
附图说明
图1为本申请一实施例的数据统计方法的流程示意图;
图2为本申请一实施例的数据统计装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种数据统计方法,包括步骤:
s1、获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
s2、将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
s3、以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;所述第二数据集中包括所述第一数据集中的每一条<key,value>数据映射出的n条虚拟<key,value>数据;
s4、选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
如上述步骤s1所述,上述所述数据记录是一种泛指,泛指那些具有唯一性,且在指定条件下触发记录的产品,比如社保卡、医疗卡、门禁卡等刷卡产生的数据记录,也包括如登录账户等登录时产生的数据记录。比如,医保卡每次消费会形成一条刷卡记录;又比如,邮箱或者电子账户每登录一次会形成一次登录记录,该登录记录相当于上述刷卡记录。上述数据记录中要包括代表所述数据记录身份的唯一值cardid,其表示每条数据的关键字,可以是单一值,也可以是多个值的组合,cardid相同的多条数据可以认为是属于同一个账号或被刷卡产生的数据记录。上述源数据集即为保存原始数据记录的数据集,是如计算机日志一样的数据集合。
如上述步骤s2所述,将所述源数据集转换成<key,value>类型的第一数据集,其转换方式可以使用现有技术的任意一种方式,在此不再赘述。每一条<key,value>的表现形式为<(cardid,oprtime),1>。
如上述步骤s3所述,虽然将源数据集转成第一数据集,但是在统计刷卡次数的时候,各数据之间仍然存在依赖关系,所以统计效率依然低下,所以将第一数据集转换成各数据之间没有依赖关系的第二数据集。具体的方式为:以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位。比如,第二数据集中某一条<(cardid,oprtime),1>为<(1,2019-05-0109:21:36),1>,m=10分钟,t为1秒时,n=m/t=600,那么<(1,2019-05-0109:21:36),1>映射为<(1,2019-05-0109:11:37),1>、<(1,2019-05-0109:11:38),1>……<(1,2019-05-0109:21:36),1>共计600条。如果第二数据集中有k条<(cardid,oprtime),1>,映射后得到的第二数据集中的数据量为k*n条。即,将每一个所述数据记录的某一个数据记录时间点转换成对应一个时间区域,得到多个虚拟<key,value>,这个时间区域即为m时间长度的区间,同一个所述cardid对应的数据记录的多个虚拟<key,value>中,除了时间不同,cardid和value是一致的。需要注意的是,m时间长度可以向前推,也可以向后推,但是不可以既向前推又向后推。m时间长度小于上述指定时间段的时间长度。
如上述步骤s4所述,即为聚类计算、统计的过程,具体地,数据记录次数是在整个集群中整体计算,在集群的每台slave机器上分别对key进行聚类计算,得出按key分组的结果数据集,然后将每台slave机器上的结果数据集传输到master机器上,再次按key进行聚类计算,得出按key分组的全量结果数据集。在这个全量结果数据集上按照value>n得到符合条件的数据集,分析key值就可以得出某个数据记录次数在某个时间区间存在异常行为。在这里,集群是指多台联网的计算机集群,如社保局的计算机集群等,master机器是指具有权限管理的计算机。
更为具体地,以刷卡次数统计为例,在一台slave机器上进行聚类计算过程,比如,需要要统计cardid为1,时间为2019-05-0109:21:36至2019-05-0109:31:35秒这10分钟内中的刷卡次数,那么key就是:(1,2019-05-0109:21:36--2019-05-0109:31:35),
首先,将该台slave机器上的每一条刷卡数据,全部通过上述步骤s3的方法映射成包含600条<key,value>的数据组;
然后,以(1,2019-05-0109:21:36--2019-05-0109:31:35)为key对这全部数据组进行聚类计算,具体的:将包含符合所述key要求的数据组聚合,然后将聚合后的数据组对应的value值相加,value值相加得到的结果即为cardid为1,时间为2019-05-0109:21:36至2019-05-0109:31:35秒这10分钟内中的刷卡次数。
上述过程是第一次聚类计算,各数据组的value都为1,如果聚类成功,即存在与key对应的数据组,聚合计算完成后value是大于等于1的整数,当在各台slave机器上进行聚类计算完成后,整个集群内的各slave机器上的结果数据传输到master机器上,master机器会将个结果数据再次以(1,2019-05-0109:21:36--2019-05-0109:31:35)为key进行聚类计算,得到整个集群中cardid为1,时间为2019-05-0109:21:36至2019-05-0109:31:35秒这10分钟内中的刷卡次数。
上述过程仅为一个key值的聚类计算,在实际应用中,会对所有刷卡数据中全部的key值进行聚类计算,得到每一个卡的刷卡次数。
需要注意的是,选择任意m时间长度的时间区间作为key值时,时间区间的长度一定要与m相同,否则会出现统计错误的情况放生,比如,如果时间区间大于m,则会出现少统计的情况发生,如果时间区间小于m,则会出现重复统计的情况发生。
在一个具体实施例中,仍然以刷开次数统计为例,需要计算上述指定时间段内不同的所述被刷卡在任意m时间长度的刷卡统计,那么会以指定时间段的开始时间为起始点,每间隔1秒形成一个key值区间,如指定时间段为2019年10月1日0点0分0秒至2019年10月1日23点59分59秒,m为10分钟,时间单位t为1秒,那么包括[2019年10月1日0点0分0秒至2019年10月1日0点9分59秒]、[2019年10月1日0点0分1秒至2019年10月1日0点10分0秒]...[2019年10月1日23点59分59秒至2019年10月2日0点9分58秒]等86400个key值区间。
在一个实施例中,上述选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数的步骤s4之后,包括:
s5、判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
s6、若是,则发出提醒信息。
在本实施例中,统计各所述数据记录的次数,可以用来做一些事件的判断,比如,在m时间长度内,同一医保卡的刷卡次数大于预设值,则说明该医保卡大概率的存在违规使用,那么需要将该医保卡作为重点观察对象,进而发出提醒信息,使工作人员了解具体的情况。上述提醒信息包括指定形式的可视化报告、亮暗交替显示等,以提醒工作人员。进一步地,当发现可能存在违规操作的被刷卡时,将该被刷卡的cardid进行标注,并下发到各可以刷被刷卡的网点电脑中,当被刷卡被使用时,对应的网点电脑会发出提醒信息,以便于网点的工作人员注意被刷卡的刷卡情况等。
在一个实施例中,上述数据记录为医保卡的刷卡记录,所述获取指定时间段内产生的数据记录,形成源数据集的步骤s1之前,包括:
获取用户登录医保卡刷卡违规检测平台的动作;
拍摄所述用户的脸部图像;
到预设的脸部权限数据库中匹配所述脸部图像;
若匹配成功,则允许所述用户继续操作;
若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
在本实施例中,上述医保卡刷卡违规检测平台是适用于检测各医保卡是否存在违规使用的平台,在其上面可以查看到全部的医保卡数据,为了提高医保卡的隐私性和使用安全性,这些医保卡数据不允许被公开,因此需要具有登录权限的工作人员才可以登录医保卡刷卡违规检测平台,进而降低医保卡数据被人为泄露的风险。本申请中,省去专有的验证提醒等步骤,而是在用户登录医保卡刷卡违规检测平台的过程中进行无感知的验证,如用户输入登入账号的时候即会进行人脸的识别验证等。这样设计的好处是:在用户无感知的情况下进行,在可以保证医保数据的安全使用情况下,节约用户的操作时间,降低用户的操作繁琐程度。脸部图像匹配的过程,可以使用现有技术中的任意一种匹配方法,在此不再赘述。拍摄所述用户的脸部图像的摄像头可以是安装有医保卡刷卡违规检测平台的计算机自带的摄像头,也可以是与安装有医保卡刷卡违规检测平台的计算机联网的外设摄像头,当用户发出登录医保卡刷卡违规检测平台的动作,即会启动上述摄像头拍摄人脸图像。
在一个实施例中,上述拍摄所述用户的脸部图像的步骤,包括:
录制预设时长的所述用户的脸部视频;
判断所述脸部视频中,用户的眼睛是否发生眨眼的动作;
若是,则在所述脸部视频中截取一张符合预设标准的图片作为所述脸部图像。
在本实施例中,为了防止用户使用具有权限的工作人员的照片欺骗系统,所以进行了活体检测的步骤。现有的活体检测方法一般是验证系统发出提醒,要求用户做出指定的动作,若用户完成指定的动作,则判定采集到的图像是活体用户的图像。而本申请中,因为是用户无感知的情况下进行活体检测,所以是录制一段脸部视频,然后分析脸部视频中用户是否发生眨眼的动作,若是,则判定用户是活体用户。本申请中,检测完成用户是活体用户后,并不是重新拍摄一张用户的脸部图像,而是在脸部视频中截取一张符合预设要求的图片作为脸部图像,而预设要求一般为图像的亮度、人脸相对摄像头的角度等。因为脸部图像是视屏中截取出来的,所以可以防止用户通过活体的人脸视频欺骗过系统后,使用具有权限的工作人员的照片欺骗系统。上述判断用户是否眨眼的方法可以通过多张相邻帧的图片中眼睛图像的变化进行判断,如第一帧的眼睛张开角度大于第五帧的眼睛张开角度等时,可以判定用户眨眼等。
在一个实施例中,上述到预设的脸部权限数据库中匹配所述脸部图像的步骤,包括:
计算所述脸部图像中用户眼睛的特征与所述脸部权限数据库中各图像中的眼睛特征的第一相似度;
判断各所述第一像似度是否大于预设的第一相似度阈值;
若均小于,则判定所述脸部图像在所述脸部权限数据库中匹配失败;
若存在所述第一像似度大于预设的第一相似度阈值的情况,则将所述第一相似度大于预设的第一相似度阈值的所述脸部权限数据库中的图像进行标记,得到标记图像;
计算所述脸部图像与所述各标记图像的第二相似度阈值;
若所述第二相似度大于预设的第二相似度阈值,则判定所述脸部图像在所述脸部权限数据库匹配成功,否则判定匹配失败。
在本实施例中,为了防止用户在验证过程中,用户头戴具有权限的工作人员的照片,且将工作人员的照片中的眼睛部位镂空而露出自己的眼睛来欺骗系统,所以在匹配的过程中首先进行眼睛特征的匹配,只有眼睛特征匹配成功,才会进行全部脸部特征的匹配。开始时只进行眼睛特征的匹配,计算量小,节约计算资源,还可以有效地将上述的欺骗行为识别出来;进一步地,可以为整体匹配减少需要匹配计算的图像数量,降低匹配的计算量,提高匹配的效率。,进一步地,上述第二相似度阈值小于所述第一相似度阈值,因为需要比对的特征更多,所以将第二相似度阈值设置的相对于只针对眼睛特征的第一相似度阈值要小一些。
本申请实施例的数据统计方法,将有依赖关系的数据记录数据集转成没有依赖关系的数据集,使得第二数据集更适合通过分布式计算来处理,提升了数据分析效率。而且可以对任意m时间长度中的数据记录进行统计,灵活方便。虽然说总的数据量由源数据集的k条变成第二数据集的k*n条,但对新数据集没有使用到递归和嵌套处理,而是使用聚合算法,计算速度更快,,实现通过牺牲存储空间(或内存空间)达到提升分析效率的目的;而且在计算机集群中统计数据记录次数时,可以将各计算机的计算结果进行二次聚合,快速得到计算机集群的数据记录次数统计,可以减少分布式计算过程中数据在不同服务器间的网络传输。
参照图2,本申请实施例还提供一种数据统计装置,包括:
获取单元10,用于获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
转换单元20,用于将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
映射单元30,用于以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;所述第二数据集中包括所述第一数据集中的每一条<key,value>数据映射出的n条虚拟<key,value>数据;
聚合累加单元40,用于选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
在一个实施例中,上述数据统计装置还包括:
判断单元,用于判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
提醒单元,用于若所述所述数据记录次数大于预设值,则发出提醒信息。
在一个实施例中,上述数据记录为医保卡的刷卡记录,所述数据统计装置还包括:
获取登录单元,用于获取用户登录医保卡刷卡违规检测平台的动作;
拍摄单元,用于拍摄所述用户的脸部图像;
匹配单元,用于到预设的脸部权限数据库中匹配所述脸部图像;
指定单元,用于若匹配成功,则允许所述用户继续操作;若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
在一个实施例中,所述数据统计装置还包括:
录制单元,用于录制预设时长的所述用户的脸部视频;
判断单元,用于判断所述脸部视频中,用户的眼睛是否发生眨眼的动作;
截取单元,用于若是,则在所述脸部视频中截取一张符合预设标准的图片作为所述脸部图像。
在一个实施例中,上述匹配单元,包括:
第一计算模块,用于计算所述脸部图像中用户眼睛的特征与所述脸部权限数据库中各图像中的眼睛特征的第一相似度;
比较模块,用于判断各所述第一像似度是否大于预设的第一相似度阈值;
第一执行模块,用于若均小于,则判定所述脸部图像在所述脸部权限数据库中匹配失败;
第二执行模块,用于若存在所述第一像似度大于预设的第一相似度阈值的情况,则将所述第一相似度大于预设的第一相似度阈值的所述脸部权限数据库中的图像进行标记,得到标记图像;
第二计算模块,用于计算所述脸部图像与所述各标记图像的第二相似度阈值;
判定模块,用于若所述第二相似度大于预设的第二相似度阈值,则判定所述脸部图像在所述脸部权限数据库匹配成功,否则判定匹配失败。
上述各单元和模块用于执行上述数据统计方法,在此不在赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储源数据集、第一数据集、第二数据集等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任一实施例的数据统计方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的数据统计方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram一多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
1.一种数据统计方法,其特征在于,包括步骤:
获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;所述第二数据集中包括所述第一数据集中的每一条<key,value>数据映射出的n条虚拟<key,value>数据;
选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
2.根据权利要求1所述的数据统计方法,其特征在于,所述选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数的步骤之后,包括:
判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
若是,则发出提醒信息。
3.根据权利要求1所述的数据统计方法,其特征在于,所述数据记录为医保卡的刷卡记录,所述获取指定时间段内产生的数据记录,形成源数据集的步骤之前,包括:
获取用户登录医保卡刷卡违规检测平台的动作;
拍摄所述用户的脸部图像;
到预设的脸部权限数据库中匹配所述脸部图像;
若匹配成功,则允许所述用户继续操作;
若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
4.根据权利要求3所述的数据统计方法,其特征在于,所述拍摄所述用户的脸部图像的步骤,包括:
录制预设时长的所述用户的脸部视频;
判断所述脸部视频中,用户的眼睛是否发生眨眼的动作;
若是,则在所述脸部视频中截取一张符合预设标准的图片作为所述脸部图像。
5.根据权利要求3所述的数据统计方法,其特征在于,所述到预设的脸部权限数据库中匹配所述脸部图像的步骤,包括:
计算所述脸部图像中用户眼睛的特征与所述脸部权限数据库中各图像中的眼睛特征的第一相似度;
判断各所述第一像似度是否大于预设的第一相似度阈值;
若均小于,则判定所述脸部图像在所述脸部权限数据库中匹配失败;
若存在所述第一像似度大于预设的第一相似度阈值的情况,则将所述第一相似度大于预设的第一相似度阈值的所述脸部权限数据库中的图像进行标记,得到标记图像;
计算所述脸部图像与所述各标记图像的第二相似度阈值,其中,所述第二相似度阈值小于所述第一相似度阈值;
若所述第二相似度大于预设的第二相似度阈值,则判定所述脸部图像在所述脸部权限数据库匹配成功,否则判定匹配失败。
6.一种数据统计装置,其特征在于,包括:
获取单元,用于获取指定时间段内产生的数据记录,形成源数据集,其中,所述数据记录中至少包括代表所述数据记录的唯一值cardid,以及数据记录时间;
转换单元,用于将所述源数据集转换成<key,value>类型的第一数据集,其中所述key为cardid和数据记录时间,value为1;
映射单元,用于以每一条<key,value>中的数据记录时间为起点,向前或向后映射出n条虚拟<key,value>数据,得到第二数据集,其中,所述n为正整数,所述n=m/t,m为指定的时间长度,t为预设的时间单位;所述第二数据集中包括所述第一数据集中的每一条<key,value>数据映射出的n条虚拟<key,value>数据;
聚合累加单元,用于选择任意m时间长度的时间区间作为key值,对所述第二数据集中的数据进行key聚合处理,并将对应的value进行累加,得出对应不同的所述cardid在所述时间区间内产生的数据记录次数。
7.根据权利要求6所述的数据统计装置,其特征在于,还包括:
判断单元,用于判断对应不同的所述cardid在所述m时间长度的时间区间内产生的数据记录次数是否大于预设值;
提醒单元,用于若所述数据记录次数大于预设值,则发出提醒信息。
8.根据权利要求6所述的数据统计装置,其特征在于,所述数据记录为医保卡的刷卡记录,所述统计装置还包括:
获取登录单元,用于获取用户登录医保卡刷卡违规检测平台的动作;
拍摄单元,用于拍摄所述用户的脸部图像;
匹配单元,用于到预设的脸部权限数据库中匹配所述脸部图像;
指定单元,用于若匹配成功,则允许所述用户继续操作;若匹配失败,则发出权限验证失败的提醒,禁止用户继续操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
技术总结