数据比对方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:23288073 阅读:33 留言:0更新日期:2020-02-08 18:08
本申请涉及一种数据比对方法、装置、计算机设备和存储介质。所述方法包括:获取比对任务的任务配置信息;所述任务配置信息包括源数据连接标识、目标数据连接标识和目标线程数目;根据所述源数据连接标识与源数据库建立连接,从所述源数据库中获取源数据;根据所述目标数据连接标识与目标数据库建立连接,从所述目标数据库中获取目标数据;提取所述源数据及所述目标数据中的数据标识;对所述数据标识进行散列运算,根据目标线程数目对散列结果进行分组;确定每个分组对应的目标线程;调用多个目标线程对属于同一分组的散列结果所对应的源数据和目标数据进行并发比对。采用本方法能够提高数据比对效率。

Data comparison method, device, computer equipment and storage medium

【技术实现步骤摘要】
数据比对方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种数据比对方法、装置、计算机设备和存储介质。
技术介绍
基于业务发展需求,企业常需要将源数据从一个数据库同步或迁移至另一数据库。同步或迁移后的数据可称之为目标数据。为了保证源数据的完整性,需要在数据同步、迁移等过程中比对源数据和目标数据的一致性。传统的数据对比的方法主要是基于DBLink(DatabaseLink,数据库链接)进行两个同构数据库中的多条数据进行逐一比对,使得数据比对效率较低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高数据比对效率的数据比对方法、装置、计算机设备和存储介质。一种数据比对方法,所述方法包括:获取比对任务的任务配置信息;所述任务配置信息包括源数据连接标识、目标数据连接标识和目标线程数目;根据所述源数据连接标识与源数据库建立连接,从所述源数据库中获取源数据;根据所述目标数据连接标识与目标数据库建立连接,从所述目标数据库中获取目标数据;提取所述源数据及所述目标数据中的数据标识;对所述数据标识进行散列运算,根据目标线程数目对散列结果进行分组;确定每个分组对应的目标线程;调用多个目标线程对属于同一分组的散列结果所对应的源数据和目标数据进行并发比对。在一个实施例中,该方法还包括:接收终端发送的对任务配置信息的配置变更请求;监测所述比对任务是否处于运行状态;当所述比对任务未处于运行状态时,根据变更后的任务配置信息运行所述比对任务,以使所述变更后的任务配置信息热生效。<br>在一个实施例中,所述根据所述任务配置信息获取预设时段的源数据和目标数据包括:根据任务配置信息记录的数据库连接标识,向相应源数据库及目标数据库发送连接请求;检测在预设时长内是否接收到每个连接请求对应的连接应答;若否,将所述比对任务标记为异常任务。在一个实施例中,所述提取所述源数据及所述目标数据中的数据标识,包括:在所述源数据及对应的目标数据中分别提取标识字段;查询是否存在重复的标识字段;若是,在标识字段重复的源数据或目标数据中提取目标属性字段;将所述目标属性字段与重复的标识字段拼接,将拼接结果作为数据标识。在一个实施例中,该方法还包括:对提取得到的多个数据标识对应散列结果是否连续进行校验;若否,生成异常告警,将所述异常告警发送至相应散列结果对应的源数据服务方和目标数据服务方。在一个实施例中,所述根据目标线程数目对散列结果进行分组,包括:确定每个目标线程的线程编号;对散列结果与目标线程数目进行预设逻辑运算,得到散列结果对应的余数;将具有相同余数的源数据和目标数据分为一组;所述确定每个分组对应的目标线程包括:将每组待比对的源数据和目标数据分配至以相应余数作为线程编号的目标线程。一种数据比对装置,所述装置包括:数据获取模块,用于获取比对任务的任务配置信息;所述任务配置信息包括源数据连接标识、目标数据连接标识和目标线程数目;根据所述源数据连接标识与源数据库建立连接,从所述源数据库中获取源数据;根据所述目标数据连接标识与目标数据库建立连接,从所述目标数据库中获取目标数据;数据分组模块,用于提取所述源数据及所述目标数据中的数据标识;对所述数据标识进行散列运算,根据目标线程数目对散列结果进行分组;线程分配模块,用于确定每个分组对应的目标线程;数据比对模块,用于调用多个目标线程对属于同一分组的散列结果所对应的源数据和目标数据进行并发比对。在一个实施例中,所述装置还包括配置变更模块,用于接收终端发送的对任务配置信息的配置变更请求;监测所述比对任务是否处于运行状态;当所述比对任务未处于运行状态时,根据变更后的任务配置信息运行所述比对任务,以使所述变更后的任务配置信息热生效。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意一个实施例中提供的数据比对方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意一个实施例中提供的数据比对方法的步骤。上述数据比对方法、装置、计算机设备和存储介质,根据比对任务的任务配置信息,可以获取预设时段的源数据和目标数据;基于在所述源数据及所述目标数据中提取得到的数据标识,可以通过对数据标识进行散列运算,得到散列结果;根据所述任务配置信息记录的目标线程数目,可以对散列结果进行分组;通过为每个分组分配对应的目标线程,可以调用多个目标线程对相应分组内散列结果对应的源数据和目标数据进行并发比对。根据数据标识进行分组可以保证同一项业务对应的全部源数据和目标数据均分配至同一个目标线程执行,避免了同一数据标识对应的源数据和目标数据因为被分配至不同目标线程进行隔离比对而被误判为数据不一致的现象,可以保证数据比对准确性。由于根据数据标识进行任务分组,实现并发比对,从而可以在保证数据比对结果准确性的情况下,提高数据比对效率。附图说明图1为一个实施例中数据比对方法的应用场景图;图2为一个实施例中数据比对方法的流程示意图;图3为一个实施例中数据比对装置的结构框图;图4为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的数据比对方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器104上运行了数据比对应用,可以是单一服务器或者多个服务器构成的服务器集群。用户可以通过终端102上运行的数据比对客户端配置一个或多个比对任务的任务配置信息,并将任务配置信息发送至服务器104,使得服务器104基于数据比对应用根据任务配置信息执行相应比对任务。任务配置信息包括目标线程数目。服务器104根据比对任务的任务配置信息,获取预设时段的源数据和目标数据,并提取源数据及目标数据中的数据标识。服务器104对数据标识进行散列运算,根据目标线程数目对散列结果进行分组,并确定每个分组对应的目标线程。服务器104调用多个目标线程对相应分组内散列结果对应的源数据和目标数据进行并发比对。上述数据比对过程,根据数据标识进行分组可以保证同一项业务对应的全部源数据和目标数据均分配至同一个目标线程执行,避免了同一数据标识对应的源数据和目标数据因为被分配至不同目标线程进行隔离比对而被误判为数据不一致的现象,可以保证数据比对准确性。由于根据数据标识进行任务分组,实现并发比对,从而可以在保证数据比对结果准确性的情况下,提高数据比对效率。在一个实施例中,如图2所示,提供了一种数据比对方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤202,获取比对任本文档来自技高网...

【技术保护点】
1.一种数据比对方法,所述方法包括:/n获取比对任务的任务配置信息;所述任务配置信息包括源数据连接标识、目标数据连接标识和目标线程数目;/n根据所述源数据连接标识与源数据库建立连接,从所述源数据库中获取源数据;根据所述目标数据连接标识与目标数据库建立连接,从所述目标数据库中获取目标数据;/n提取所述源数据及所述目标数据中的数据标识;/n对所述数据标识进行散列运算,根据目标线程数目对散列结果进行分组;/n确定每个分组对应的目标线程;/n调用多个目标线程对属于同一分组的散列结果所对应的源数据和目标数据进行并发比对。/n

【技术特征摘要】
1.一种数据比对方法,所述方法包括:
获取比对任务的任务配置信息;所述任务配置信息包括源数据连接标识、目标数据连接标识和目标线程数目;
根据所述源数据连接标识与源数据库建立连接,从所述源数据库中获取源数据;根据所述目标数据连接标识与目标数据库建立连接,从所述目标数据库中获取目标数据;
提取所述源数据及所述目标数据中的数据标识;
对所述数据标识进行散列运算,根据目标线程数目对散列结果进行分组;
确定每个分组对应的目标线程;
调用多个目标线程对属于同一分组的散列结果所对应的源数据和目标数据进行并发比对。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端发送的对任务配置信息的配置变更请求;
监测所述比对任务是否处于运行状态;
当所述比对任务未处于运行状态时,根据变更后的任务配置信息运行所述比对任务,以使所述变更后的任务配置信息热生效。


3.根据权利要求1所述的方法,其特征在于,所述根据所述任务配置信息获取预设时段的源数据和目标数据包括:
根据任务配置信息记录的数据库连接标识,向相应源数据库及目标数据库发送连接请求;
检测在预设时长内是否接收到每个连接请求对应的连接应答;
若否,将所述比对任务标记为异常任务。


4.根据权利要求1所述的方法,其特征在于,所述提取所述源数据及所述目标数据中的数据标识,包括:
在所述源数据及对应的目标数据中分别提取标识字段;
查询是否存在重复的标识字段;
若是,在标识字段重复的源数据或目标数据中提取目标属性字段;
将所述目标属性字段与重复的标识字段拼接,将拼接结果作为数据标识。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对提取得到的多个数据标识对应散列结果是否连续进行校验;
若否,生成异常告警,将所述异常告警发送...

【专利技术属性】
技术研发人员:任毅张宗红
申请(专利权)人:上海陆家嘴国际金融资产交易市场股份有限公司
类型:发明
国别省市:上海;31

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

1