一种数据处理方法及设备.pdf

上传人:a1 文档编号:1567454 上传时间:2018-06-25 格式:PDF 页数:20 大小:3MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210592999.4

申请日:

2012.12.31

公开号:

CN103020304A

公开日:

2013.04.03

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 17/30申请公布日:20130403|||实质审查的生效IPC(主分类):G06F 17/30申请日:20121231|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

中国工商银行股份有限公司

发明人:

何敏华; 蔡凌玮; 韦东俊; 邓校锋; 梁柱标; 刘圣杰

地址:

100140 北京市西城区复兴门内大街55号

优先权:

专利代理机构:

北京三友知识产权代理有限公司 11127

代理人:

任默闻

PDF下载: PDF下载
内容摘要

本发明提供一种数据处理方法及设备,该方法包括:接收待处理的非实时更新数据并存储至待处理数据库表;根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;确定本次处理过程的时间范围结束值;对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理。本发明解决了处于两次处理过程的时间范围临界点上的数据记录被漏处理的问题,能获得较好的数据处理效果,提高了系统的可靠性。

权利要求书

权利要求书一种数据处理方法,其特征在于,包括:
接收待处理的非实时更新数据并存储至待处理数据库表;
根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;
确定本次处理过程的时间范围结束值;
对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;
启动本次处理过程,对所述查询到的非实时更新数据进行处理。
根据权利要求1所述的数据处理方法,其特征在于,所述根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值,具体包括:
将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。
根据权利要求1所述的数据处理方法,其特征在于,所述启动本次处理过程之前,还包括:
根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;
在所述本次处理过程的开始时间启动本次处理过程。
根据权利要求3所述的数据处理方法,其特征在于,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:
将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时间。
根据权利要求4所述的数据处理方法,其特征在于,还包括:
在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。
根据权利要求5所述的数据处理方法,其特征在于,还包括:
根据用户输入的指令设置所述回滚时间、处理间隔时间。
一种数据处理设备,其特征在于,包括:待处理数据存储器、第一寄存器、第二寄存器、时间范围处理器、数据处理器和更新处理器;其中,
所述待处理数据存储器用于接收待处理的非实时更新数据并存储至待处理数据库表;
所述第一寄存器用于存储上次处理过程的时间范围结束值;
所述第二寄存器用于存储回滚时间;
所述时间范围处理器连接所述第一寄存器和第二寄存器,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;
所述数据处理器分别连接所述待处理数据存储器和所述时间范围处理器,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理;
所述更新处理器连接所述第一寄存器,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一寄存器。
根据权利要求7所述的数据处理设备,其特征在于,还包括:第三寄存器、第四寄存器、自启动处理器;
所述第三寄存器用于存储上次处理过程的结束时间;
所述第四寄存器用于存储处理间隔时间;
所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并在所述本次处理过程的开始时间启动所述数据处理器;
所述更新处理器还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存器。
根据权利要求7所述的数据处理设备,其特征在于,还包括:第五寄存器、监控处理器、报警及重启处理器;
所述第五寄存器用于存储运行监控时间;
所述更新处理器还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定所述数据处理器运行正常,若否,则确定所述数据处理器运行异常,发送监控异常消息给所述报警及重启处理器;
所述报警及重启处理器连接所述监控处理器,用于在接收到所述监控异常消息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器。
根据权利要求9所述的数据处理设备,其特征在于,还包括:参数设置接口;
所述参数设置接口连接所述第二寄存器、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。

说明书

说明书一种数据处理方法及设备
技术领域
本发明涉及计算机数据处理技术领域,具体地,涉及一种数据处理方法及设备。
背景技术
联机数据处理按照数据处理的时效性可以分为实时更新方式和非实时更新方式两种类型,其中,实时更新方式对应的数据是对时效性要求较高的数据,用户进行操作后要立刻在数据库中得到体现,后续用户操作必需基于前一次操作得出的结果,且与数据操作先后顺序有关;非实时更新方式对应的数据是对时效性要求不高的数据,用户进行操作后不需要立刻在数据表中体现,只需在一定的时间间隔内体现即可,后续各用户的操作不一定基于前一次操作的结果。
在大型商业银行系统中,由于业务处理量巨大,各种系统数据在进行更新时会争夺系统资源,并且数据的更新具有排他性,即数据更新时必须对数据记录进行加锁阅读,造成了热表记录实时更新时出现瓶颈,例如,银行业务量统计数据在每天业务高峰期的8个小时内需要被更新100万次,即平均每秒钟需要被更新34次,若这种数据也采用实时更新的方式进行更新,由于数据的更新热度高,且数据更新具有排他性,会导致联机数据处理等待时间较长,系统运行时间较长影响用户操作和增加系统运行的开销。因此目前对于更新热度高且数据更新时效性要求不高的数据(以下简称非实时更新数据),通常按照非实时更新方式进行处理,即把这部分数据从所有待处理数据中抽离出来进行异步操作,以达到提高联机处理整体运行速度的目的。
目前在对非实时更新数据的处理方面,存在以下两种方式:
一种方式是对待处理数据表进行全表扫描,从中找出处理状态为未处理的记录并对其进行更新,但是由于每次处理过程都需要全表扫描待处理数据表,因此这种方式的处理效率异常低下。
另外一种方式是先确定一个本次处理过程的时间范围,并对待处理数据表中在此时间范围内的未处理记录进行处理,之后再依次确定后续的时间范围进行处理,相比于第一种方式,这种方式虽然提高了处理效率,但是却使得处于相邻两次处理过程时间范围临界点上的某些记录存在被漏处理的可能。产生漏处理的原因主要是因为数据记录的时间戳与数据记录真正出现在数据表上的时间点之间有一定的时间差,即:系统在生成数据记录的时候虽然依据当前时间为其登记了一个时间戳,但是由于随后还对该记录进行了其它操作之后才真正插入到数据表中,因此数据记录的时间戳与数据记录真正出现在数据表上的时间点之间存在时间差,例如图1所示,一笔待处理的a记录生成的时间戳为10:00,新增后由于又执行了其它查询、新增、删除SQL等操作,直到10:01才对之前的操作统一做出提交处理,即将a记录真正写入到数据表中,虽然这个时间差非常短,但是对计算机来说,如果本次处理过程的时间范围是截止到10:00,则由于a记录尚未出现在数据表中因此没有被扫描到,下次处理过程对应时间范围的起始时间为“大于10:00”,而该条记录的时间戳为10:00又不符合下一次扫描的时间要求,因此导致a记录被漏处理;同样的情况可能会发生在若干处于相邻两次处理过程时间范围临界点上的数据记录,造成数据处理效果非常不理想。
发明内容
本发明实施例的主要目的在于提供一种数据处理方法及设备,用于解决在异步处理过程中出现待处理记录遗漏的情况。
为了实现上述目的,本发明实施例提供一种数据处理方法,包括:
接收待处理的非实时更新数据并存储至待处理数据库表;
根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;
确定本次处理过程的时间范围结束值;
对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;
启动本次处理过程,对所述查询到的非实时更新数据进行处理。
优选的,所述数据处理方法中,所述根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值,具体包括:
将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。
优选的,所述数据处理方法中,所述启动本次处理过程之前,还包括:
根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;
在所述本次处理过程的开始时间启动本次处理过程。
优选的,所述数据处理方法中,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:
将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时间。
优选的,所述数据处理方法还包括:
在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。
优选的,所述数据处理方法还包括:
根据用户输入的指令设置所述回滚时间、处理间隔时间。
一种数据处理设备,包括:待处理数据存储器、第一寄存器、第二寄存器、时间范围处理器、数据处理器和更新处理器;其中,
所述待处理数据存储器用于接收待处理的非实时更新数据并存储至待处理数据库表;
所述第一寄存器用于存储上次处理过程的时间范围结束值;
所述第二寄存器用于存储回滚时间;
所述时间范围处理器连接所述第一寄存器和第二寄存器,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;
所述数据处理器分别连接所述待处理数据存储器和所述时间范围处理器,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理;
所述更新处理器连接所述第一寄存器,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一寄存器。
优选的,所述数据处理设备还包括:第三寄存器、第四寄存器、自启动处理器;
所述第三寄存器用于存储上次处理过程的结束时间;
所述第四寄存器用于存储处理间隔时间;
所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并在所述本次处理过程的开始时间启动所述数据处理器;
所述更新处理器还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存器。
优选的,所述数据处理设备还包括:第五寄存器、监控处理器、报警及重启处理器;
所述第五寄存器用于存储运行监控时间;
所述更新处理器还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定所述数据处理器运行正常,若否,则确定所述数据处理器运行异常,发送监控异常消息给所述报警及重启处理器;
所述报警及重启处理器连接所述监控处理器,用于在接收到所述监控异常消息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器。
优选的,所述数据处理设备还包括:还包括:参数设置接口;
所述参数设置接口连接所述第二寄存器、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。
借助于上述技术方案,本发明通过设置回滚时间,使得相邻两次处理过程所覆盖的时间范围出现重叠,从而避免了处于两次处理过程的时间范围临界点上的数据记录被漏处理的情况;通过将非实时更新数据与实时更新数据分别处理,使得大量对时效性要求不高的数据可以非实时更新,解决了热表记录实时更新的瓶颈问题;在处理出现异常情况时能够及时提醒用户,提高了数据处理的安全性;在每次处理过程中,通过时间范围来查找待处理的记录,避免了全量扫描待处理记录表,查找效率低、系统开销大的问题。相比于现有技术,本发明实施例既解决了热表记录实时更新的瓶颈问题,又能获得较好的数据处理效果,提高了系统的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明背景技术提供的现有技术对非实时更新数据处理时间范围的示意图;
图2是本发明实施例一提供的数据处理方法的流程示意图;
图3是本发明实施例二提供的数据处理设备的结构框图;
图4是本发明实施例三提供的数据处理设备的结构框图;
图5是本发明实施例三提供的数据存储装置的结构框图;
图6是本发明实施例三提供的异步处理装置的结构框图;
图7是本发明实施例三提供的异步处理启动装置的结构框图;
图8是本发明实施例三提供的对非实时更新数据处理时间范围的示意图;
图9是本发明实施例三提供的对非实时更新数据进行处理的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种数据处理方法,如图2所示,包括:
步骤S201,接收待处理的非实时更新数据并存储至待处理数据库表;
步骤S202,根据上次处理过程的时间范围结束值和和预先设定的回滚时间,确定本次处理过程的时间范围开始值;
步骤S203,确定本次处理过程的时间范围结束值;
步骤S204,对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;
步骤S205,启动本次处理过程,对所述查询到的非实时更新数据进行处理。
具体的,本实施例中,所述上次处理过程为本次处理过程之前进行的处理过程;所述回滚时间为用户预先设定的时间,具体实施中可根据经验设定回滚时间的具体大小,本实施例对回滚时间的具体值不作限定;
本实施例中,每一次处理过程都有对应的时间范围,该时间范围为计算机扫描待处理数据库表时所用到的扫描条件,即对待处理数据库表中时间戳位于时间范围的开始值和结束值之间的非实时更新数据记录进行扫描;其中,本次处理过程的时间范围开始值根据上次处理过程的时间范围结束值和回滚时间确定,而本次处理过程的时间范围结束值可根据实际情况进行设定,只要大于本次处理过程的时间范围开始值并小于等于当前的系统时间即可,本实施例对本次处理过程的时间范围结束值不作限定,较佳的,可以选择当前的系统时间作为本次处理过程的时间范围结束值;
本实施例提供的数据处理方法通过设置回滚时间,使得相邻两次处理过程所覆盖的时间范围出现重叠,从而避免了处于两次处理过程的时间范围临界点上的数据记录被漏处理的情况,相比于现有技术,本发明实施例既解决了热表记录实时更新的瓶颈问题,又能获得较好的数据处理效果。
优选的,本实施例的步骤S202中,所述根据上次处理过程的时间范围结束值和和预先设定的回滚时间,确定本次处理过程的时间范围开始值,具体包括:
将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。
具体的,本实施例中,除了利用所述上次处理过程的时间范围结束值减去所述回滚时间的结果作为本次处理过程的时间范围开始值之外,还可以有其他利用上次处理过程的时间范围结束值和和回滚时间确定本次处理过程的时间范围开始值的情况,例如,利用所述上次处理过程的时间范围结束值减去所述回滚时间的N(N为自然数)倍的结果作为本次处理过程的时间范围开始值,本实施例对利用上次处理过程的时间范围结束值和和回滚时间确定本次处理过程的时间范围开始值的过程不作具体限定,可依据实际情况确定。
优选的,本实施例的步骤S205中,所述启动本次处理过程之前,还包括:
根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;
在所述本次处理过程的开始时间启动本次处理过程。
具体的,本实施例中,相邻两次进行的处理过程之间具有一定的时间间隔,即用户预先设定的处理时间间隔,在每次处理过程结束之后,再经过所述处理间隔时间才开始下一次处理过程。
优选的,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:
将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时间。
具体的,除了利用所述上次处理过程的结束时间加上所述处理间隔时间的结果作为本次处理过程的开始时间之外,本实施例中还可以有其他利用上次处理过程的结束时间和处理间隔时间确定本次处理过程的开始时间的情况,例如,利用上次处理过程的结束时间加上所述处理间隔时间的N(N为自然数)倍的结果作为本次处理过程的开始时间,本实施例对利用上次处理过程的结束时间和处理间隔时间确定本次处理过程的开始时间的过程不作具体限定,可依据实际情况确定。
优选的,本实施例提供的数据处理方法还包括:
在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。
具体的,为了监控本次处理过程是否正常进行,本实施例中利用监控处理过程进行监控,其具体处理手段为:在本次处理过程中,每成功处理一个非实时更新数据,就利用当前的系统时间去更新运行监控时间;当启动监控处理过程时,将当前的运行监控时间与处理间隔时间相加后的结果与当前的系统时间进行对比,由于相邻两次处理过程的间隔为所述处理间隔时间,因此,如果当前系统时间与最近一次对非实时更新数据完成的成功处理时间的间隔大于所述处理间隔时间(即运行监控时间与所述处理间隔时间相加后的结果小于当前的系统时间),则说明本次处理过程发生异常,否则,就说明本次处理过程处于正常进行的状态中。
优选的,本实施例提供的数据处理方法还包括:
根据用户输入的指令设置所述回滚时间、处理间隔时间。
具体的,本实施对所述回滚时间和处理间隔时间的具体值不作限定,可以根据实际情况进行设定。
实施例二
本实施例提供一种数据处理设备,如图3所示,该设备包括:第一寄存器301、第二寄存器302、待处理数据存储器303、时间范围处理器304、数据处理器305和更新处理器306;其中,
所述待处理数据存储器303用于接收待处理的非实时更新数据并存储至待处理数据库表;
所述第一寄存器301用于存储上次处理过程的时间范围结束值;
所述第二寄存器302用于存储回滚时间;
所述时间范围处理器304连接所述第一寄存器301和第二寄存器302,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;
所述数据处理器305分别连接所述待处理数据存储器303和所述时间范围处理器304,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理;
所述更新处理器306连接所述第一寄存器301,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一寄存器301。
优选的,本实施例提供的数据处理设备还包括:第三寄存器、第四寄存器、自启动处理器;
所述第三寄存器用于存储上次处理过程的结束时间;
所述第四寄存器用于存储处理间隔时间;
所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器305,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并在所述本次处理过程的开始时间启动所述数据处理器305;
所述更新处理器306还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存器。
优选的,本实施例提供的数据处理设备还包括:第五寄存器、监控处理器、报警及重启处理器;
所述第五寄存器用于存储运行监控时间;
所述更新处理器306还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;
所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定所述数据处理器305运行正常,若否,则确定所述数据处理器305运行异常,发送监控异常消息给所述报警及重启处理器;
所述报警及重启处理器连接所述监控处理器,用于在接收到所述监控异常消息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器305。
优选的,本实施例提供的数据处理设备还包括:参数设置接口;
所述参数设置接口连接所述第二寄存器302、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。
具体的,本实施例提供的数据处理设备中各功能器件的工作过程可参见实施例一的具体实施方式,此处不再赘述。
实施例三
本实施例提供一具体的数据处理设备,如图4所示,数据筛选装置1、数据存储装置2、异步处理装置3、参数设置接口4和异步处理启动装置5。其中,数据筛选装置1、异步处理装置3、参数设置接口4连接于数据存储装置2,异步处理启动装置5连接于异步处理装置3。数据筛选装置1对外连接于外部系统6。
数据筛选装置1的功能是接收外部系统6需要做更新操作的数据,并进行筛选,若判断为实时更新数据则直接进行更新操作并退出处理,若判断为非实时更新数据,则存储到数据存储装置2中,作为待处理的数据记录;
数据存储装置2的功能是存储待处理数据记录、系统运行参数、以及运行过程中暂时生成的各时间值;
异步处理装置3的功能是通过时间回滚确认本次事务处理的时间范围,对落入时间范围的待处理记录进行更新处理,然后,计算下一次启动时间,自动启动异步处理装置3再次进行待处理记录处理。
通用参数设置接口4的功能是接收用户指令,对数据存储装置2中的系统运行参数进行设置和调整。
异步处理启动装置5的功能是监测异步处理装置3是否正在正常运行,若正常运行,则不执行重新启动异步处理装置3的指令;如果异常运行,则提示用户,并重新运行异步处理装置3。
如图5所示,数据存储装置2包括参数存储单元21、时间暂存单元22、待处理数据存储器23和更新处理器24;
如图6所示,异步处理装置3包括:时间范围处理器31、数据处理器32和自启动处理器33;
如图7所示,异步处理启动装置5包括:监控处理器51和报警及重启处理器52;
参数存储单元21由两个寄存器构成,分别用于存储参数:回滚时间和处理间隔时间(如表1所示);其中,“回滚时间”是异步处理装置3的时间范围处理器31计算时间范围时所需要用到的参数;“处理间隔时间”是异步处理装置3的自启动处理器33确定下一次启动异步处理装置3的时间所需要用到的参数,以及异步处理启动装置5判断异步处理装置3是否正常运行所需要用到的参数。
表1
参数名称参数值回滚时间t处理间隔时间w
时间暂存单元22由三个寄存器构成,分别用于存储字段:上次处理过程的时间范围结束值、上次处理过程的结束时间和运行监控时间(如表2所示);其中,“上次处理过程的时间范围结束值”用于计算下一次事务处理的时间范围的开始值;“上次处理过程的结束时间”保存上一次数据处理器32运行的结束时间,用于计算下一次启动异步处理装置3的时间;“运行监控时间”保存每次成功处理一条数据记录的系统时间,用于判断异步处理装置3是否正在正常运行;
表2
字段字段值上次处理过程的时间范围结束值T上次处理过程的结束时间W运行监控时间M
待处理数据存储器23用于存储非实时更新数据库表,如表3所示,该数据库表中的每条记录至少包括数据信息、处理状态和时间戳三部分内容;其中,“数据信息”保存需要进行更新操作的具体的数据信息;“处理状态”用于记录待处理记录的处理状态,记录新增时默认为0‑未处理,当被异步处理装置3处理后更新为1‑已处理;“时间戳”记录该数据信息生成时的时间戳,异步处理装置3通过计算出事务处理的时间范围后,判断“时间戳”是否落入该时间范围,决定是否对该数据进行处理;
表3

更新处理器24连接时间暂存单元22中的三个寄存器,用于对字段“上次处理过程的时间范围结束值”、“上次处理过程的结束时间”和“运行监控时间”进行更新;
时间范围处理器31的功能是计算本次事务处理的时间范围,以便根据该时间范围来选择需要处理的数据信息;首先,读取数据存储装置2中参数存储单元21中“回滚时间”参数的值t;读取数据存储装置2中时间暂存单元22获取“上次处理过程的时间范围结束值”,假设为T0;然后,用“上次处理过程的时间范围结束值”T0减去“回滚时间”t,得到时间值T1作为本次时间范围开始值,再获取系统当前时间为T2作为本次时间范围结束值;最后,得出时间范围T1至T2作为筛选待处理记录的时间范围,时间范围如图8所示;
数据处理器32的功能是按照时间范围处理器31计算出的时间范围,获取相应时间范围内的待处理记录进行处理;首先,数据处理器32访问待处理数据存储器23,选取“时间戳”的值落入时间范围“T1至T2”的所有记录,并判断其“处理状态”是否为0‑未处理;然后,对符合条件的待处理记录进行数据处理,并更新记录的“处理状态”为1‑已处理;每处理完一笔记录后更新处理器24就将时间暂存单元22中的“运行监控时间”字段值更新为当前的系统时间;本次处理过程的所有记录处理结束,更新处理器24就将时间暂存单元22中的“上次处理过程的时间范围结束值”字段值更新为T2、并将“上次处理过程的结束时间”字段值更新为当前的系统时间。
自启动处理器33的功能是根据一定的间隔时间,自动启动异步处理装置3对待处理记录进行处理;首先,自启动处理器33访问时间暂存单元22获取“上次处理过程的结束时间”字段值,假设为W0,并访问参数存储单元21获取“处理间隔时间”参数值w;然后,将“上次处理过程的结束时间”W0加上“处理间隔时间”w,得到下次处理过程的开始时间W1;然后,在系统时间到达W1时,再次启动异步处理装置3;
监控处理器51的功能是将运行监控时间与当前系统时间进行对比,监测异步处理装置3是否正常工作;具体处理过程为:首先,监控处理器51访问时间暂存单元22获取当前的“运行监控时间”字段值M,并访问参数存储单元21获取“处理间隔时间”w;然后比较:M+w是否小于当前系统时间;如果M+w小于当前系统时间,则说明“运行监控时间”M已超过正常时间未更新,即异步处理装置3运行出现异常,监控处理器51发送监控异常消息到报警及重启处理器52;如果M+w大于当前系统时间,则说明异步处理装置3运行正常;
报警及重启处理器52的功能是根据监控处理器51判断结果,控制是否执行用户启动异步处理装置3的指令;如果收到监控处理器51发送的监控异常消息,则报警以提示用户异步处理装置3运行出现异常,并在接收到用户指令时重新启动异步处理装置3;如果未收到监控处理器51发送的监控异常消息,则在接收到用户指令时不允许重新启动异步处理,即不做任何操作。
以下结合附图9对本实施例提供的数据处理设备的工作流程进行详细说明:
假设该数据处理设备中,参数存储单元21保存的参数如表4所示,时间暂存单元22存储的数据如表5所示:
表4
参数名称参数值(分钟)回滚时间3处理间隔时间1
表5
字段字段值上次处理过程的时间范围结束值09:03:00上次处理过程的结束时间09:03:05运行监控时间09:03:05
步骤S901:数据筛选装置1对于外部系统6传入的数据进行筛选,判断为非实时更新数据,则在待处理数据存储器23中登记待处理记录,如表6所示;
表6
数据信息处理状态时间戳XXXXX010:00:00XXXXX010:01:00XXXXX010:02:00XXXXX010:03:00XXXXX010:04:00XXXXX010:05:00XXXXX010:06:00XXXXX010:07:00XXXXX010:08:00XXXXX010:09:00
步骤S902:时间范围处理器31首先从参数存储单元21中获取“回滚时间”的参数值为3分钟,从时间暂存单元22中获取“上次处理过程的时间范围结束值”的字段值为09:03:00;然后用“上次处理过程的时间范围结束值”减去“回滚时间”得到本次处理过程的时间范围开始值“09:00:00”;获取当前系统时间“10:11:00”作为本次处理过程的时间范围结束值;最后得出时间范围“09:00:00—10:11:00”作为本次处理过程的时间范围;
步骤S903:数据处理器32扫描待处理数据存储器23中存储的非实时更新数据库表,选出“时间戳”数值落入时间范围“09:00:00—10:11:00”之内并且“处理状态”为0(未处理)的待处理记录,上述待处理数据存储器23中的10条记录都在处理范围之内,对这10条记录进行数据处理;然后,更新待处理记录的“处理状态”为1(已处理),每处理完一条记录,更新处理器24将“运行监控时间”的字段值更新为当前的系统时间;本次处理过程的所有记录处理结束,更新处理器24将时间暂存单元22中的“上次处理过程的时间范围结束值”字段值更新为“10:11:00”,将“上次处理过程的结束时间”字段值更新为当前系统时间;
步骤S904:监测处理器51首先获取当前的系统时间Time,从参数存储单元21获取“处理间隔时间”的参数值为1分钟,从时间暂存单元22获取当前的“运行监控时间”为10:11:05;然后,用“运行监控时间”加上“处理间隔时间”,得到时间10:13:05;接着,比较时间“10:13:05”是否大于当前系统时间Time,如果大于,则说明异步处理装置3运行正常,转到步骤S905继续执行;否则,说明异步处理装置3运行异常,转到步骤S906继续执行;
步骤S905:自启动处理器33访问时间暂存单元22获取“上次处理过程的结束时间”的字段值为10:11:05,并访问参数存储单元21获取“处理间隔时间”的参数值为1分钟;然后,将“上次处理过程的结束时间”加上“处理间隔时间”,得到下次处理过程的开始时间为10:12:05;在系统时间到达10:12:05时再次启动异步处理装置3,转到步骤S902继续执行;
步骤S906:报警及重启处理器52根据监测处理器51判断结果,发出报警,提示用户异步处理装置3运行出现异常;
步骤S907:报警及重启处理器52判断是否接收到用户指令重新启动异步处理装置3,如果是,则重新启动异步处理装置3,转到步骤S902;否则,结束本流程。
综上所述,本发明提供的数据处理方法及装置具有如下有益效果:
(1)通过设置回滚时间,使得相邻两次处理过程所覆盖的时间范围出现重叠,从而避免了处于两次处理过程的时间范围临界点上的数据记录被漏处理的情况,具有较好的数据处理效果,提高了系统的可靠性;
(2)通过将非实时更新数据与实时更新数据分别处理,使得大量对时效性要求不高的数据可以非实时更新,解决了热表记录实时更新的瓶颈问题;
(3)在处理出现异常情况时能够及时提醒用户,提高了数据处理的安全性;
(4)在每次处理过程中,通过时间范围来查找待处理的记录,避免了全量扫描待处理记录表,查找效率低、系统开销大的问题。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种数据处理方法及设备.pdf_第1页
第1页 / 共20页
一种数据处理方法及设备.pdf_第2页
第2页 / 共20页
一种数据处理方法及设备.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种数据处理方法及设备.pdf》由会员分享,可在线阅读,更多相关《一种数据处理方法及设备.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103020304 A(43)申请公布日 2013.04.03CN103020304A*CN103020304A*(21)申请号 201210592999.4(22)申请日 2012.12.31G06F 17/30(2006.01)(71)申请人中国工商银行股份有限公司地址 100140 北京市西城区复兴门内大街55号(72)发明人何敏华 蔡凌玮 韦东俊 邓校锋梁柱标 刘圣杰(74)专利代理机构北京三友知识产权代理有限公司 11127代理人任默闻(54) 发明名称一种数据处理方法及设备(57) 摘要本发明提供一种数据处理方法及设备,该方法包括:接收待处理的非实时更新数。

2、据并存储至待处理数据库表;根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;确定本次处理过程的时间范围结束值;对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理。本发明解决了处于两次处理过程的时间范围临界点上的数据记录被漏处理的问题,能获得较好的数据处理效果,提高了系统的可靠性。(51)Int.Cl.权利要求书2页 说明书11页 附图6页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 2 。

3、页 说明书 11 页 附图 6 页1/2页21.一种数据处理方法,其特征在于,包括:接收待处理的非实时更新数据并存储至待处理数据库表;根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;确定本次处理过程的时间范围结束值;对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理。2.根据权利要求1所述的数据处理方法,其特征在于,所述根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值,。

4、具体包括:将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。3.根据权利要求1所述的数据处理方法,其特征在于,所述启动本次处理过程之前,还包括:根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;在所述本次处理过程的开始时间启动本次处理过程。4.根据权利要求3所述的数据处理方法,其特征在于,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时间。5.根据权利要求4所述的数据处理方法,其特征在于,还包括:在本次处理过程中,利用每。

5、成功处理一个非实时更新数据时的系统时间更新运行监控时间;启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。6.根据权利要求5所述的数据处理方法,其特征在于,还包括:根据用户输入的指令设置所述回滚时间、处理间隔时间。7.一种数据处理设备,其特征在于,包括:待处理数据存储器、第一寄存器、第二寄存器、时间范围处理器、数据处理器和更新处理器;其中,所述待处理数据存储器用于接收待处理的非实时更新数。

6、据并存储至待处理数据库表;所述第一寄存器用于存储上次处理过程的时间范围结束值;所述第二寄存器用于存储回滚时间;所述时间范围处理器连接所述第一寄存器和第二寄存器,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;权 利 要 求 书CN 103020304 A2/2页3所述数据处理器分别连接所述待处理数据存储器和所述时间范围处理器,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数。

7、据进行处理;所述更新处理器连接所述第一寄存器,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一寄存器。8.根据权利要求7所述的数据处理设备,其特征在于,还包括:第三寄存器、第四寄存器、自启动处理器;所述第三寄存器用于存储上次处理过程的结束时间;所述第四寄存器用于存储处理间隔时间;所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并在所述本次处理过程的开始时间启动所述数据处理器;所述更新处理器还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存。

8、器。9.根据权利要求7所述的数据处理设备,其特征在于,还包括:第五寄存器、监控处理器、报警及重启处理器;所述第五寄存器用于存储运行监控时间;所述更新处理器还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定所述数据处理器运行正常,若否,则确定所述数据处理器运行异常,发送监控异常消息给所述报警及重启处理器;所述报警及重启处理器连接所述监控处理器,用于在接收到所述监控异常消。

9、息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器。10.根据权利要求9所述的数据处理设备,其特征在于,还包括:参数设置接口;所述参数设置接口连接所述第二寄存器、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。权 利 要 求 书CN 103020304 A1/11页4一种数据处理方法及设备技术领域0001 本发明涉及计算机数据处理技术领域,具体地,涉及一种数据处理方法及设备。背景技术0002 联机数据处理按照数据处理的时效性可以分为实时更新方式和非实时更新方式两种类型,其中,实时更新方式对应的数据是对时效性要求较高的数据,用户进行操作后要立刻在数据库中得。

10、到体现,后续用户操作必需基于前一次操作得出的结果,且与数据操作先后顺序有关;非实时更新方式对应的数据是对时效性要求不高的数据,用户进行操作后不需要立刻在数据表中体现,只需在一定的时间间隔内体现即可,后续各用户的操作不一定基于前一次操作的结果。0003 在大型商业银行系统中,由于业务处理量巨大,各种系统数据在进行更新时会争夺系统资源,并且数据的更新具有排他性,即数据更新时必须对数据记录进行加锁阅读,造成了热表记录实时更新时出现瓶颈,例如,银行业务量统计数据在每天业务高峰期的8个小时内需要被更新100万次,即平均每秒钟需要被更新34次,若这种数据也采用实时更新的方式进行更新,由于数据的更新热度高,。

11、且数据更新具有排他性,会导致联机数据处理等待时间较长,系统运行时间较长影响用户操作和增加系统运行的开销。因此目前对于更新热度高且数据更新时效性要求不高的数据(以下简称非实时更新数据),通常按照非实时更新方式进行处理,即把这部分数据从所有待处理数据中抽离出来进行异步操作,以达到提高联机处理整体运行速度的目的。0004 目前在对非实时更新数据的处理方面,存在以下两种方式:0005 一种方式是对待处理数据表进行全表扫描,从中找出处理状态为未处理的记录并对其进行更新,但是由于每次处理过程都需要全表扫描待处理数据表,因此这种方式的处理效率异常低下。0006 另外一种方式是先确定一个本次处理过程的时间范围。

12、,并对待处理数据表中在此时间范围内的未处理记录进行处理,之后再依次确定后续的时间范围进行处理,相比于第一种方式,这种方式虽然提高了处理效率,但是却使得处于相邻两次处理过程时间范围临界点上的某些记录存在被漏处理的可能。产生漏处理的原因主要是因为数据记录的时间戳与数据记录真正出现在数据表上的时间点之间有一定的时间差,即:系统在生成数据记录的时候虽然依据当前时间为其登记了一个时间戳,但是由于随后还对该记录进行了其它操作之后才真正插入到数据表中,因此数据记录的时间戳与数据记录真正出现在数据表上的时间点之间存在时间差,例如图1所示,一笔待处理的a记录生成的时间戳为10:00,新增后由于又执行了其它查询、。

13、新增、删除SQL等操作,直到10:01才对之前的操作统一做出提交处理,即将a记录真正写入到数据表中,虽然这个时间差非常短,但是对计算机来说,如果本次处理过程的时间范围是截止到10:00,则由于a记录尚未出现在数据表中因此没有被扫描到,下次处理过程对应时间范围的起始时间为“大于10:00”,而该条记录的时间戳为10:00又不符合下一次扫描的时间要求,因此导致a记录被漏处理;同样的情况可能会发生说 明 书CN 103020304 A2/11页5在若干处于相邻两次处理过程时间范围临界点上的数据记录,造成数据处理效果非常不理想。发明内容0007 本发明实施例的主要目的在于提供一种数据处理方法及设备,用。

14、于解决在异步处理过程中出现待处理记录遗漏的情况。0008 为了实现上述目的,本发明实施例提供一种数据处理方法,包括:0009 接收待处理的非实时更新数据并存储至待处理数据库表;0010 根据上次处理过程的时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值;0011 确定本次处理过程的时间范围结束值;0012 对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;0013 启动本次处理过程,对所述查询到的非实时更新数据进行处理。0014 优选的,所述数据处理方法中,所述根据上次处理过程的。

15、时间范围结束值和预先设定的回滚时间,确定本次处理过程的时间范围开始值,具体包括:0015 将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。0016 优选的,所述数据处理方法中,所述启动本次处理过程之前,还包括:0017 根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;0018 在所述本次处理过程的开始时间启动本次处理过程。0019 优选的,所述数据处理方法中,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:0020 将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时。

16、间。0021 优选的,所述数据处理方法还包括:0022 在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;0023 启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。0024 优选的,所述数据处理方法还包括:0025 根据用户输入的指令设置所述回滚时间、处理间隔时间。0026 一种数据处理设备,包括:待处理数据存储器、第一寄存器、第二寄存器、时间范围处理器、。

17、数据处理器和更新处理器;其中,0027 所述待处理数据存储器用于接收待处理的非实时更新数据并存储至待处理数据库表;说 明 书CN 103020304 A3/11页60028 所述第一寄存器用于存储上次处理过程的时间范围结束值;0029 所述第二寄存器用于存储回滚时间;0030 所述时间范围处理器连接所述第一寄存器和第二寄存器,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;0031 所述数据处理器分别连接所述待处理数据存储器和所述时间范围处理器,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时。

18、间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理;0032 所述更新处理器连接所述第一寄存器,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一寄存器。0033 优选的,所述数据处理设备还包括:第三寄存器、第四寄存器、自启动处理器;0034 所述第三寄存器用于存储上次处理过程的结束时间;0035 所述第四寄存器用于存储处理间隔时间;0036 所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并在所述。

19、本次处理过程的开始时间启动所述数据处理器;0037 所述更新处理器还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存器。0038 优选的,所述数据处理设备还包括:第五寄存器、监控处理器、报警及重启处理器;0039 所述第五寄存器用于存储运行监控时间;0040 所述更新处理器还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;0041 所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则。

20、确定所述数据处理器运行正常,若否,则确定所述数据处理器运行异常,发送监控异常消息给所述报警及重启处理器;0042 所述报警及重启处理器连接所述监控处理器,用于在接收到所述监控异常消息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器。0043 优选的,所述数据处理设备还包括:还包括:参数设置接口;0044 所述参数设置接口连接所述第二寄存器、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。0045 借助于上述技术方案,本发明通过设置回滚时间,使得相邻两次处理过程所覆盖的时间范围出现重叠,从而避免了处于两次处理过程的时间范围临界点上的数据记录被漏处理的情况;。

21、通过将非实时更新数据与实时更新数据分别处理,使得大量对时效性要求不高的数据可以非实时更新,解决了热表记录实时更新的瓶颈问题;在处理出现异常情况时能够及时提醒用户,提高了数据处理的安全性;在每次处理过程中,通过时间范围来查找待处理的记录,避免了全量扫描待处理记录表,查找效率低、系统开销大的问题。相比于现有说 明 书CN 103020304 A4/11页7技术,本发明实施例既解决了热表记录实时更新的瓶颈问题,又能获得较好的数据处理效果,提高了系统的可靠性。附图说明0046 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的。

22、附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0047 图1是本发明背景技术提供的现有技术对非实时更新数据处理时间范围的示意图;0048 图2是本发明实施例一提供的数据处理方法的流程示意图;0049 图3是本发明实施例二提供的数据处理设备的结构框图;0050 图4是本发明实施例三提供的数据处理设备的结构框图;0051 图5是本发明实施例三提供的数据存储装置的结构框图;0052 图6是本发明实施例三提供的异步处理装置的结构框图;0053 图7是本发明实施例三提供的异步处理启动装置的结构框图;0054 图8是本发明实施例三。

23、提供的对非实时更新数据处理时间范围的示意图;0055 图9是本发明实施例三提供的对非实时更新数据进行处理的流程示意图。具体实施方式0056 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0057 实施例一0058 本实施例提供一种数据处理方法,如图2所示,包括:0059 步骤S201,接收待处理的非实时更新数据并存储至待处理数据库表;0060 步骤S202,根据上次处理过程的时间范围。

24、结束值和和预先设定的回滚时间,确定本次处理过程的时间范围开始值;0061 步骤S203,确定本次处理过程的时间范围结束值;0062 步骤S204,对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;0063 步骤S205,启动本次处理过程,对所述查询到的非实时更新数据进行处理。0064 具体的,本实施例中,所述上次处理过程为本次处理过程之前进行的处理过程;所述回滚时间为用户预先设定的时间,具体实施中可根据经验设定回滚时间的具体大小,本实施例对回滚时间的具体值不作限定;0065 本实施例中,每一次处理过。

25、程都有对应的时间范围,该时间范围为计算机扫描待处理数据库表时所用到的扫描条件,即对待处理数据库表中时间戳位于时间范围的开始值说 明 书CN 103020304 A5/11页8和结束值之间的非实时更新数据记录进行扫描;其中,本次处理过程的时间范围开始值根据上次处理过程的时间范围结束值和回滚时间确定,而本次处理过程的时间范围结束值可根据实际情况进行设定,只要大于本次处理过程的时间范围开始值并小于等于当前的系统时间即可,本实施例对本次处理过程的时间范围结束值不作限定,较佳的,可以选择当前的系统时间作为本次处理过程的时间范围结束值;0066 本实施例提供的数据处理方法通过设置回滚时间,使得相邻两次处理。

26、过程所覆盖的时间范围出现重叠,从而避免了处于两次处理过程的时间范围临界点上的数据记录被漏处理的情况,相比于现有技术,本发明实施例既解决了热表记录实时更新的瓶颈问题,又能获得较好的数据处理效果。0067 优选的,本实施例的步骤S202中,所述根据上次处理过程的时间范围结束值和和预先设定的回滚时间,确定本次处理过程的时间范围开始值,具体包括:0068 将所述上次处理过程的时间范围结束值减去所述回滚时间,得到本次处理过程的时间范围开始值。0069 具体的,本实施例中,除了利用所述上次处理过程的时间范围结束值减去所述回滚时间的结果作为本次处理过程的时间范围开始值之外,还可以有其他利用上次处理过程的时间。

27、范围结束值和和回滚时间确定本次处理过程的时间范围开始值的情况,例如,利用所述上次处理过程的时间范围结束值减去所述回滚时间的N(N为自然数)倍的结果作为本次处理过程的时间范围开始值,本实施例对利用上次处理过程的时间范围结束值和和回滚时间确定本次处理过程的时间范围开始值的过程不作具体限定,可依据实际情况确定。0070 优选的,本实施例的步骤S205中,所述启动本次处理过程之前,还包括:0071 根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;0072 在所述本次处理过程的开始时间启动本次处理过程。0073 具体的,本实施例中,相邻两次进行的处理过程之间具有一定的时间。

28、间隔,即用户预先设定的处理时间间隔,在每次处理过程结束之后,再经过所述处理间隔时间才开始下一次处理过程。0074 优选的,所述根据上次处理过程的结束时间和处理间隔时间,确定本次处理过程的开始时间,具体包括:0075 将所述上次处理过程的结束时间加上所述处理间隔时间,得到本次处理过程的开始时间。0076 具体的,除了利用所述上次处理过程的结束时间加上所述处理间隔时间的结果作为本次处理过程的开始时间之外,本实施例中还可以有其他利用上次处理过程的结束时间和处理间隔时间确定本次处理过程的开始时间的情况,例如,利用上次处理过程的结束时间加上所述处理间隔时间的N(N为自然数)倍的结果作为本次处理过程的开始。

29、时间,本实施例对利用上次处理过程的结束时间和处理间隔时间确定本次处理过程的开始时间的过程不作具体限定,可依据实际情况确定。0077 优选的,本实施例提供的数据处理方法还包括:0078 在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;说 明 书CN 103020304 A6/11页90079 启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定本次处理过程正常进行,若否,则确定本次处理过程发生异常,发出报警,并在接收到用户输入的重新启动指令时,重新启动本次处理过程。0080 具体的。

30、,为了监控本次处理过程是否正常进行,本实施例中利用监控处理过程进行监控,其具体处理手段为:在本次处理过程中,每成功处理一个非实时更新数据,就利用当前的系统时间去更新运行监控时间;当启动监控处理过程时,将当前的运行监控时间与处理间隔时间相加后的结果与当前的系统时间进行对比,由于相邻两次处理过程的间隔为所述处理间隔时间,因此,如果当前系统时间与最近一次对非实时更新数据完成的成功处理时间的间隔大于所述处理间隔时间(即运行监控时间与所述处理间隔时间相加后的结果小于当前的系统时间),则说明本次处理过程发生异常,否则,就说明本次处理过程处于正常进行的状态中。0081 优选的,本实施例提供的数据处理方法还包。

31、括:0082 根据用户输入的指令设置所述回滚时间、处理间隔时间。0083 具体的,本实施对所述回滚时间和处理间隔时间的具体值不作限定,可以根据实际情况进行设定。0084 实施例二0085 本实施例提供一种数据处理设备,如图3所示,该设备包括:第一寄存器301、第二寄存器302、待处理数据存储器303、时间范围处理器304、数据处理器305和更新处理器306;其中,0086 所述待处理数据存储器303用于接收待处理的非实时更新数据并存储至待处理数据库表;0087 所述第一寄存器301用于存储上次处理过程的时间范围结束值;0088 所述第二寄存器302用于存储回滚时间;0089 所述时间范围处理器。

32、304连接所述第一寄存器301和第二寄存器302,用于根据所述上次处理过程的时间范围结束值和所述回滚时间,确定本次处理过程的时间范围开始值;并确定本次处理过程的时间范围结束值;0090 所述数据处理器305分别连接所述待处理数据存储器303和所述时间范围处理器304,用于对所述待处理数据库表中时间戳位于所述本次处理过程的时间范围开始值和时间范围结束值之间的非实时更新数据进行扫描,并查询其中未被处理的非实时更新数据;启动本次处理过程,对所述查询到的非实时更新数据进行处理;0091 所述更新处理器306连接所述第一寄存器301,用于在本次处理过程结束后,利用本次处理过程的时间范围结束值更新所述第一。

33、寄存器301。0092 优选的,本实施例提供的数据处理设备还包括:第三寄存器、第四寄存器、自启动处理器;0093 所述第三寄存器用于存储上次处理过程的结束时间;0094 所述第四寄存器用于存储处理间隔时间;0095 所述自启动处理器连接所述第三寄存器、第四寄存器和数据处理器305,用于根据上次处理过程的结束时间和预先设定的处理间隔时间,确定本次处理过程的开始时间;并说 明 书CN 103020304 A7/11页10在所述本次处理过程的开始时间启动所述数据处理器305;0096 所述更新处理器306还连接所述第三寄存器,用于在本次处理过程结束后,利用本次处理过程的结束时间更新所述第三寄存器。0。

34、097 优选的,本实施例提供的数据处理设备还包括:第五寄存器、监控处理器、报警及重启处理器;0098 所述第五寄存器用于存储运行监控时间;0099 所述更新处理器306还连接所述第五寄存器,用于在本次处理过程中,利用每成功处理一个非实时更新数据时的系统时间更新运行监控时间;0100 所述监控处理器连接所述第五寄存器,用于启动监控处理过程,获取当前的运行监控时间,并判断所述当前的运行监控时间与所述处理间隔时间相加后的结果是否大于当前的系统时间,若是,则确定所述数据处理器305运行正常,若否,则确定所述数据处理器305运行异常,发送监控异常消息给所述报警及重启处理器;0101 所述报警及重启处理器。

35、连接所述监控处理器,用于在接收到所述监控异常消息时发出报警,并在接收到用户输入的重新启动指令时,重新启动所述数据处理器305。0102 优选的,本实施例提供的数据处理设备还包括:参数设置接口;0103 所述参数设置接口连接所述第二寄存器302、第四寄存器,用于根据用户输入的指令设置所述回滚时间和处理间隔时间。0104 具体的,本实施例提供的数据处理设备中各功能器件的工作过程可参见实施例一的具体实施方式,此处不再赘述。0105 实施例三0106 本实施例提供一具体的数据处理设备,如图4所示,数据筛选装置1、数据存储装置2、异步处理装置3、参数设置接口4和异步处理启动装置5。其中,数据筛选装置1、。

36、异步处理装置3、参数设置接口4连接于数据存储装置2,异步处理启动装置5连接于异步处理装置3。数据筛选装置1对外连接于外部系统6。0107 数据筛选装置1的功能是接收外部系统6需要做更新操作的数据,并进行筛选,若判断为实时更新数据则直接进行更新操作并退出处理,若判断为非实时更新数据,则存储到数据存储装置2中,作为待处理的数据记录;0108 数据存储装置2的功能是存储待处理数据记录、系统运行参数、以及运行过程中暂时生成的各时间值;0109 异步处理装置3的功能是通过时间回滚确认本次事务处理的时间范围,对落入时间范围的待处理记录进行更新处理,然后,计算下一次启动时间,自动启动异步处理装置3再次进行待处理记录处理。0110 通用参数设置接口4的功能是接收用户指令,对数据存储装置2中的系统运行参数进行设置和调整。0111 异步处理启动装置5的功能是监测异步处理装置3是否正在正常运行,若正常运行,则不执行重新启动异步处理装置3的指令;如果异常运行,则提示用户,并重新运行异步处理装置3。0112 如图5所示,数据存储装置2包括参数存储单元21、时间暂存单元22、待处理数据存储器23和更新处理器24;说 明 书CN 103020304 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1