一种数据扫描方法、装置、设备和存储介质制造方法及图纸

技术编号:21547581 阅读:35 留言:0更新日期:2019-07-06 21:16
本发明专利技术实施例公开了一种数据扫描方法、装置、设备和存储介质。其中,该方法包括:获取待扫描的目标任务流水表;将所述目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理;通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描。本发明专利技术实施例可以针对一次扫描作用范围太大的情况,对任务流水表进行划分,并行对各任务区间内的任务数据进行扫描处理,得到的任务区间之间不会相互影响,充分利用现代数据库超高的吞吐量,大幅提升扫描任务的扫描速度,降低扫描任务的总执行时间,提升执行性能,无需创建索引,避免索引带来的存储以及更新时维护索引的开销。

A Data Scanning Method, Device, Equipment and Storage Media

【技术实现步骤摘要】
一种数据扫描方法、装置、设备和存储介质
本专利技术实施例涉及数据处理技术,尤其涉及一种数据扫描方法、装置、设备和存储介质。
技术介绍
审核工作台提供审核服务。审核工作台获取审核任务请求,并执行对应的审核任务。审核任务包括身份证审核任务和银行卡审核任务。审核工作台通过异步处理接口获取审核任务请求,按照审核任务请求的到来先后,将身份证审核任务和银行卡审核任务保存至审核流水表。审核任务的状态为自动审核中。然后审核工作台向请求发送方返回审核任务请求成功接收响应,并将审核任务放入队列等待执行。如果此时审核工作台的审核服务因为宕机、重启或者程序异常导致进程挂掉,那么处于队列中的审核任务可能尚未执行,或者未执行结束。即有的审核任务还是处于中间状态,不会向其他状态转移,成为丢失任务。为了避免在程序重启时加载之前,尚未执行完成的任务出现资源抢占的问题,以及为了尽快恢复审核服务的进程,通常是扫描审核流水表中的审核任务数据,判断任务状态是否为丢失任务,并将丢失任务转为人工处理。现有技术中,针对如何扫描审核流水表中的审核任务数据,判断审核任务是否为丢失任务,有三种方案。第一种方案是扫描整个审核流水表,将任务状态为自动审核中并且创建时间早于当前时间一小时以上的审核任务,都认为是需要转为人工处理的丢失任务。第二种方案是在第一种方案的基础上,为每一个审核任务的创建时间加一个索引,根据索引在丢失任务查找时进行准确定位。第三种方案是在第一种方案的基础上,先拿到审核流水表的最大自增数据标识,向前反向搜索,命中500个丢失任务后更新一次,再继续向前搜索,重复直到完成整个审核流水表的扫描,任务结束。现有技术的缺陷在于:第一种方案的执行效率低下,数据扫描速度慢,容易出现调用过程超时,会引发锁表(锁审核流水表中的全部记录),造成其他相关业务被阻塞的连锁反应,产生大量慢查询日志。第二种方案需要创建索引,辅以创建索引、维护索引等额外开销。针对第三种方案,如果丢失任务在流水表中均匀分布,那么第三种方案的执行过程是相对高效的。真实的总扫描行数等同于流水表大小,只是循环执行了多次。但是如果扫描过程中一直没有命中丢失任务,那么这一次扫描就是针对整个审核流水表了,相当于锁表操作(锁审核流水表中的全部记录,新增审核任务不在其作用范围,但是覆盖范围太大),仍会造成其他相关业务被阻塞的连锁反应,产生大量慢查询日志。
技术实现思路
本专利技术实施例提供一种数据扫描方法、装置、设备和存储介质,可以在避免不必要的开销,不会对主业务产生较多干扰的同时,提升数据扫描速度。第一方面,本专利技术实施例提供了一种数据扫描方法,包括:获取待扫描的目标任务流水表;将目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理;通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描。第二方面,本专利技术实施例还提供了一种数据扫描装置,包括:流水表获取模块,用于获取待扫描的目标任务流水表;数据分段模块,用于将目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理;数据扫描模块,用于通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描。第三方面,本专利技术实施例还提供了一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本专利技术实施例所述的数据扫描方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本专利技术实施例所述的数据扫描方法。本专利技术实施例通过将目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理,然后通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描,解决了现有技术执行效率低下,数据扫描速度慢,容易出现调用过程超时,或者需要创建索引,辅以创建索引、维护索引等额外开销的问题,可以针对一次扫描作用范围太大的情况,对任务流水表进行划分,并行对各任务区间内的任务数据进行扫描处理,得到的任务区间之间不会相互影响,充分利用现代数据库超高的吞吐量,大幅提升扫描任务的扫描速度,降低扫描任务的总执行时间,提升执行性能,无需创建索引,避免索引带来的存储以及更新时维护索引的开销。附图说明图1为本专利技术实施例一提供的一种数据扫描方法的流程图;图2为本专利技术实施例二提供的一种数据扫描方法的流程图;图3为本专利技术实施例三提供的一种数据扫描方法的流程图;图4a为本专利技术实施例四提供的一种数据扫描方法的流程图;图4b为本专利技术实施例四提供的一种扫描速度曲线图;图5为本专利技术实施例五提供的一种数据扫描装置的结构示意图;图6为本专利技术实施例六提供的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种数据扫描方法的流程图。本实施例可适用于对数据进行扫描的情况,该方法可以由数据扫描装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于计算机设备中。如图1所示,该方法具体包括如下步骤:步骤101、获取待扫描的目标任务流水表。其中,获取任务请求后,按照任务请求的到来先后,将任务保存至任务流水表。任务流水表中包括与任务匹配的任务数据。可选的,从全部任务流水表中获取至少一种任务类型的任务流水表作为目标任务流水表。例如,目标任务流水表包括:审核流水表。审核流水表的任务类型为审核任务。审核流水表中存储的任务数据为审核任务数据。获取审核任务请求,按照审核任务请求的到来先后,将审核任务保存至审核流水表。审核任务包括身份证审核任务和银行卡审核任务。然后向任务请求发送方返回审核任务请求成功接收响应,并将审核任务放入队列等待执行。等待执行的审核任务的状态为审核中。执行结束的审核任务的状态为审核结束。步骤102、将目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理。其中,将任务数据划分至多个任务区间内,并行对各任务区间的任务数据进行扫描,保证各任务区间的任务之间互不干扰。在一个具体实例中,将目标任务流水表中包括的任务数据划分至多个任务区间内,可以包括:获取目标任务流水表中包括的任务数据对应的数据标识;根据预设的第一分段数值,以及数据标识,将目标任务流水表中包括的任务数据划分至多个任务区间内。数据标识可以为在按照审核任务请求的到来先后将审核任务保存至审核流水表时,生成的与任务数据唯一对应的数字标识。预设的第一分段数值可以根据业务需求设置。例如,审核流水表包括1600万个的数据,数字标识的范围为1-16000000。预设的第一分段数值可以为100万。按照数字标识从小到大,每100万条任务数据划分至一个任务区间内,将目标任务流水表中包括的任务数据划分至16个任务区间内。执行线程是用于对任务数据进行逐行扫描的线程。建立与任务区间数量一致的执行线本文档来自技高网
...

【技术保护点】
1.一种数据扫描方法,其特征在于,包括:获取待扫描的目标任务流水表;将所述目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理;通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描。

【技术特征摘要】
1.一种数据扫描方法,其特征在于,包括:获取待扫描的目标任务流水表;将所述目标任务流水表中包括的任务数据划分至多个任务区间内,并将每个任务区间内的任务数据分配至对应的执行线程中进行并行处理;通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描。2.根据权利要求1所述的方法,其特征在于,将所述目标任务流水表中包括的任务数据划分至多个任务区间内,包括:获取所述目标任务流水表中包括的任务数据对应的数据标识;根据预设的第一分段数值,以及所述数据标识,将所述目标任务流水表中包括的任务数据划分至多个任务区间内。3.根据权利要求1或2所述的方法,其特征在于,通过每个执行线程,将所分配的任务区间内的任务数据进行逐行扫描,包括:获取所分配的任务区间内的任务数据对应的数据标识,将所述任务区间设置为扫描区间,所述扫描区间的右区间为与最大数据标识匹配的任务数据,所述扫描区间的左区间为与最小数据标识匹配的任务数据;从与所述最大数据标识匹配的任务数据开始,向前反向逐行扫描,确定任务数据是否命中预设扫描条件。4.根据权利要求3所述的方法,其特征在于,还包括:判断命中预设扫描条件的任务数据数量是否达到数据数量阈值;若是,则将所述右区间更新为最后一个命中的任务数据以更新扫描区间,并在更新后的扫描区间内,从与最大数据标识匹配的任务数据开始,向前反向逐行扫描,确定任务数据是否命中预设扫描条件,重复判断直至完成所分配的任务区间内的任务数据的扫描。5.根据权利要求1所述的方法,其特征在于,所述目标任务流水表包括:审核流水表;所述审核流水表中存储的任务数据为审核任务数据。6.根据权利要求5所述的方法,其特征在于,将所分配的任务区间内的任务数据进行逐行扫描,包括:逐行读取所分配的任务区间内的任务数据,判断与所述任务数据对应的目标任务是否为丢失任务;若是,则确定所述...

【专利技术属性】
技术研发人员:智鹏
申请(专利权)人:苏州达家迎信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1