数据核对方法、装置及设备与流程

文档序号:11591492阅读:398来源:国知局

本发明实施例涉及一种数据核对方法、装置及设备,属于计算机技术领域。



背景技术:

随着计算机技术的发展,越来越多的出现多系统之间的海量数据交互以及大规模分布式系统的海量数据的同步的情形,针对海量数据的交互以及同步的情形,数据的核对就至关重要,但是,现有的数据核对方式效率较低,无法适合海量数据或者大文件数据核对的需求。

以现有的基金交易过程的系统架构为例,现有技术的基金交易过程如图1所示,用户在进行基金交易时需要经过图1所示的多个系统的数据处理后,才能最终完成,图中以基金申购过程作为示例。在图1所示的多个系统中,基金交易系统作为基金交易链条中的重要环节,需要确保其数据库中存储的基金交易记录都被基金公司(例如各个基金代销系统)正确处理了,那么就需要把自己数据库内的基金交易记录(与基金销售系统交互而产生的交易记录)和基金公司对应的ta系统发回的基金交易确认文件进行核对(该基金交易确认文件是由ta系统(开放式基金登记结算系统)生成的)。基金交易系统针对基金交易数据,主要进行如下事项的核对:基金交易记录是否有处理遗漏,基金交易记录中的交易份额是否与基金交易确认文件中记录的交易份额一致。

现有技术中,基金交易数据的核对方式如下:基金交易系统读取基金交易确认文件,根据基金交易确认文件中包含的ta系统编码和交易编号,到自己的数据库中获取基金交易记录,并进行逐条核对,核对完成后,对基金交易记录进行打标。

现有技术存在如下缺陷:

现有技术的核对方式完全采用串行核对的方式,先逐条读取基金交易确认文件中基金交易记录的ta系统编码和交易编号,然后去基金交易系统的数据库中进行查询,获取数据库中存储的与ta系统编码和交易编号对应的交易记录,然后再核对两个交易记录中的交易份额是否一致,这种串行核对方式中,每次核对都需要对数据库进行一次检索,并且核对顺序单一,导致整个核对处理的效率极低。当遇到基金交易量很大时,根本无法满足批量的交易数据核对的需求。



技术实现要素:

本发明实施例提供一种数据核对方法、装置及设备,以提高针对海量数据的核对效率。

为了实现上述目的,本发明提供了一种数据核对方法,包括:

获取来自多个不同数据源的多边待核对数据,其中,每边所述待核对数据分别对应一个数据源;

将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据;

按照所述对应关系对所述多组待核对子数据分别进行核对。

本发明还提供了一种数据核对装置,包括:

获取模块,用于获取来自多个不同数据源的多边待核对数据,其中,每边所述待核对数据分别对应一个数据源;

散列分组模块,用于将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据;

核对模块,用于按照所述对应关系对所述多组待核对子数据分别进行核对。

本发明还提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以用于:

获取来自多个不同数据源的多边待核对数据,其中,每边所述待核对数据分别对应一个数据源;

将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据;

按照所述对应关系对所述多组待核对子数据分别进行核对。

本发明实施例提供的数据核对方法、装置及设备,采用了将来自不同数据源的多边待核对的数据进行散列分组,然后再进行批量核对的方式,将海量数据进行了有效地打散分组,形成具有对用关系的便于进行数据核对的多组数据,从而提高了数据核对的效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

图1为现有技术的基金交易过程的系统架构示意图。

图2为本发明实施例的基金交易系统的结构示意图。

图3为本发明实施例一的数据核对方法的流程示意图。

图4为本发明实施例二的数据核对装置的结构示意图。

图5为本发明实施例三的数据核对装置的结构示意图。

图6为本发明实施例三的核对引擎模块的处理流程示意图。

图7为本发明实施例四的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

术语解释

ta系统:ta系统是中国结算公司开放式基金登记结算系统的简称。用于登记投资者在上海证券账户或者深圳账户内的基金份额。中国结算公司上海分公司和深圳分公司分别对应上海ta系统和深圳ta系统。

散列:把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值,这个数据处理过程称为散列,散列运算具有很难通过输出反推输入的特点。

散列分组:将待分组的数据的一部分或者全部作为散列运算的输入,计算散列值,然后基于散列值在进行数据分组,由于经过散列运算后的散列值已经改变了原始的数据的规律,因此,基于散列值对原始的数据进行分组,能够将原始的数据进行充分的打散。

本发明实施例的技术原理在于,将来自不同的数据源的多边待核对数据,先进行散列分组,然后再进行批量核对,从而将海量数据进行了有效地打散分组,形成具有对应关系的便于进行数据核对的多组数据,从而提高了数据核对的效率。

以基金交易系统的数据核对需求为例,如图1所示,基金交易系统在整个基金交易环节中,需要对基金交易记录数据和基金交易确认数据进行核对,其中,基金交易记录数据来自于与基金销售系统之间的信息交互而形成,其源头来自于用户一侧,并存储于基金交易系统自身的数据库中,而基金交易确认数据来自于基金登记结算系统返回的基金交易确认文件。在下面的实施例中将以中国结算公司开放式基金登记结算系统即ta系统作为具体示例来详细说明本发明的技术方案,不过,本领域技术人员应当理解,以下实施例的技术方案同样适用于其他与ta系统功能类似的基金登记结算系统。

在实际应用中,基金交易系统会以时间段为单位进行数据核对,例如,将过去一天的基金交易系统生成的基金交易记录数据和当天接收到的基金交易确认数据进行核对(基金交易的确认是在t+1天完成)。

如图2所示,本发明实施例中的数据的核对方法可以由设置在基金交易系统中的数据核对装置来实现,该数据核对装置可以在指定的核对时间(例如每天24点),获取基金交易系统的数据库中存储的前一天的基金交易记录数据,并获取当天接收到的基金交易确认文件(例如接收存放在专门的文件存储系统中),并从中提取出来自ta系统的基金交易确认数据,由于基金交易的特点,基金交易记录数据和基金交易确认数据中均包括交易编号和ta系统编号,数据核对装置可以根据交易编号和/或ta系统编号进行散列分组,即先计算ta系统编号和/或交易编号的散列值,然后再根据生成的散列值进行分组,从而将基金交易记录数据和基金交易确认数据进行充分打散,以提高核对效率。由于针对基金交易记录数据和基金交易确认数据采用的散列算法和分组规则是相同的,因此,分组后的基金交易记录数据和基金交易确认数据是具有一定的对应性的,从而能够确保各个分组之间能够彼此对应,以进行有效比对。

采用散列分组的方式针对海量数据或者大文件中的数据进行分组,能够实现高效地将数据打散的效果,由于散列算法具有把任意长度的输入变换成固定长度的输出的特点,因此,能够控制输出散列值的大小,从而能够更加有效地基于散列值进行分组。此外,采用散列分组的方式,能够以打乱数据的原始顺序进行分组,从而避免了数据缺失情况的集中出现,从而能够有效地提高数据核对的效率,在发现数据缺失后,也便于进行人工介入处理,而不影响其他分组数据的核对。

需要说明的是,数据核对装置也可以独立于基金交易系统设置,例如以独立的服务器的形式存在,通过信息交互的方式与基金交易系统进行通信,获取相关数据并进行比对。

实施例一

如图3所示,其为本发明实施例一的数据核对方法的流程示意图,其包括:

步骤101:获取来自多个不同数据源的多边待核对数据,其中,每边待核对数据分别对应一个数据源。该步骤的执行主体可以为图2中的设置在基金交易系统中的数据核对装置。

这里的数据源可以对应于图2中的基金交易系统的数据库和ta系统返回的基金交易确认文件,也就是说,图2中示例的情形为双边的数据核对,其中一边的数据为存储在基金交易系统的数据库中的基金交易记录数据,另一边是记录在基金交易确认文件中的基金交易确认数据。

基金交易确认数据可能来自于一个或多个ta系统返回的基金交易确认文件,例如,在中国范围内,ta系统隶属于中国结算公司,主要通过上海分公司的ta系统和来自于深圳分公司的ta系统进行运营维护,目前,ta系统目前已经和许多家银行和券商代销机构完成了对接,也就是说,ta系统会分布在多个银行和券商代销系统的管理系统中,来进行结算服务。不过,在基金交易体系中,ta系统是具有唯一性的,来自不同ta系统的基金交易确认数据是不重复的,因此,将来自多个ta系统的基金交易确认数据仍然看作是一边数据。

在实际应用中,也会出现基金交易系统为分布式系统,存在多个对等的基金交易系统情形,每个基金交易系统会互相同步数据,在这种情况下,来自不同的基金交易系统的基金交易确认记录数据就构成了多边数据,即最终要核对数据为:来自不同的基金交易系统的基金交易确认记录数据和一个或多个ta系统返回的基金交易确认数据。

步骤102:将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据。其中,每组待核对子数据还包括多条数据条目。该步骤的执行主体可以为图2中的设置在基金交易系统中的数据核对装置。

具体地,基金交易记录数据和基金交易确认数据中均可以包括交易编号和ta系统编号(标记来自于哪个ta系统)。此外,还可以包括交易内容数据,其中交易内容数据一般可以为交易额、交易项目(申购、赎回等)等数据。下面以基金交易记录数据的散列分组过程为例进行说明,基金交易确认数据的散列分组过程和基金交易记录数据的散列分组过程是一样的,只是数据的来源不同而已。

例如,从基金交易系统的数据库中提取出的交易记录数据示例如下表:

然后,针对上面的数据进行散列分组,由于ta系统编号和交易编号能够很好地对各条交易记录区分,因此可以针对ta系统编号和/或交易编号进行散列计算(当对ta系统编号和交易编号进行散列计算时,可以先将两者组合成一串数字或者字符串),然后按照预设的散列分组规则分别进行数据拆分,生成多组基金交易记录数据。具体的散列算法可以根据数据量的多少以及数据自身的特点而定。

以上面的数据为例,其中,交易编号为从001到550,中间部分用省略号替代。散列算法可以为对ta系统编号和交易编号组合后的字符串除以100然后取余数,例如,以第五行数据为例,ta系统编号和交易编号组合后的字符串为“ta02005”,对该字符串进行上述的除以100然后取余数的散列运算后,得到的散列值为“5”。将全部的550个ta系统编号和交易编号组合后的字符串进行散列计算后,可以得到余数为0到50的多个散列值,这样可以根据得到散列值将原始的550个数据分为50组待核对子数据,每组待核对子数据有11条数据条目。当然,散列算法也可以是除以20取余数,这样得到的散列值会更少,得到的分组也会更少,每组的数据条目数会更多些。

与此相对的,将从交易确认文件中提取出的交易确认数据也采用相同的散列分组规则进行散列分组,最终得到的分组数量相同并且具有对应关系的两边待核对的数据。

从上面的散列分组的过程可以看出,分组后的数据打乱了原始数据的排序,将原始数据进行了充分的打散,这样能够将可能存在的数据连续缺失和数据批量不一致的缺陷分散到各个打散的组中,从而能够更加容易地核对出存在缺陷的数据条目,提高数据核对的效率。此外,通过散列算法,在计算完各条数据的散列值后,直接就可以根据散列值进行分组,打乱了原始数据的顺序,并且将原始数据进行了充分的打散,实现了高效地数据分组,由于在实际的计算机处理的过程中,各个分组之间的核对任务是可以并行执行的,因此,各组之间的核对处理不会相互影响,部分核对任务的终止不会影响整体数据核对处理。

步骤103:按照对应关系对多组待核对子数据分别进行核对。该步骤的执行主体可以为图2中的设置在基金交易系统中的数据核对装置。

该步骤可以具体为:从具有对应关系的各组基金交易记录子数据和各组基金交易确认子数据中,分别逐条取出待核对的基金交易记录数据条目和基金交易确认数据条目;根据交易编号进行数据匹配性判断,如果匹配,则进行交易内容数据的核对,具体的核对内容可以为对交易金额等进行核对,核对的具体规则可以根据实际待核对的数据内容而定,核对的结构可以报告的形式进行输出。如果发现不匹配的情形,则确定为存在数据缺失,这种情况下,可能存在待核对的多边数据中的某一边数据缺失,则可以生成报警消息,请求人工介入处理。

其中,在从具有对应关系的各组数据中取出待比对数据之前,还可以包括排序的处理,具体地,按照相同的排序规则(例如可以按照交易编号的顺序),对基金交易记录子数据和各组基金交易确认子数据中的基金交易记录数据条目和基金交易确认数据条目进行排序,然后再执行上面的取出待核对数据以及进行后续核对处理的过程。在将数据打散分组后,再针对每组数据进行排序,由于每组数据量较少,能够充分提高排序效率,进而提高数据核对效率。

本实施例提供的数据核对方法,采用了将来自不同数据的多边待核对的数据进行散列分组,然后再进行批量核对的方式,将海量数据进行了有效地打散分组,形成具有对用关系的便于进行数据核对的多组数据,从而提高了数据核对的效率。在实际应用中,还可以将多组数据进行并行比对,从而能够大幅度提高数据核对效率。

采用散列分组的方式针对海量数据或者大文件中的数据进行分组,能够实现高效地将数据打散的效果,由于散列算法具有把任意长度的输入变换成固定长度的输出的特点,因此,能够控制输出散列值的大小,从而能够更加有效地基于散列值进行分组。此外,采用散列分组的方式,能够以打乱数据的原始顺序进行分组,从而避免了数据缺失情况的集中出现,从而能够有效地提高数据核对的效率,在发现数据缺失后,也便于进行人工介入处理,而不影响其他分组数据的核对

实施例二

如图4所示,本实施例涉及一种数据核对装置,其包括:

获取模块11,用于获取来自多个不同数据源的多边待核对数据,其中,每边待核对数据分别对应一个数据源,其中,来自多个不同数据源的多边待核对数据可以具体为:存储在基金交易系统中的基金交易记录数据、从接收到的来自一个或多个ta系统的交易确认文件中提取的基金交易确认数据。

散列分组模块12,用于将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据。具体地,基金交易记录数据和基金交易确认数据中均包括交易编号和ta系统编号,则将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据可以包括:根据基金交易记录数据和基金交易确认数据中的交易编号和/或ta系统编号,按照相同的散列分组规则分别进行数据拆分,生成数量相同且具有对应关系的多组基金交易记录数据和基金交易确认数据。

核对模块13,用于按照对应关系对多组待核对子数据分别进行核对。其中,基金交易记录数据和基金交易确认数据中还可以包括交易内容数据,则核对模块可以具体用于:从具有对应关系的各组基金交易记录子数据和各组基金交易确认子数据中,分别逐条取出待核对的基金交易记录数据条目和基金交易确认数据条目;根据交易编号进行数据匹配性判断,如果匹配,则进行交易内容数据的核对,具体地,可以对交易金额进行核对,如果发现不匹配的情形,则确定为存在数据缺失。此外,在从具有对应关系的各组数据提取数据条目之前,还包括:按照相同的排序规则,对基金交易记录子数据和各组基金交易确认子数据中的基金交易记录数据条目和基金交易确认数据条目进行排序。然后,针对排序后的数据,可以按照排序顺序,从具有对应关系的各组基金交易记录子数据和各组基金交易确认子数据中,然后在分别逐条取出待核对的基金交易记录数据条目和基金交易确认数据条目。

本实施例提供的数据核对装置,采用了将来自不同数据的多边待核对的数据进行散列分组,然后再进行批量核对的方式,将海量数据进行了有效地打散分组,形成具有对用关系的便于进行数据核对的多组数据,从而提高了数据核对的效率。在实际应用中,还可以将多组数据进行并行比对,从而能够大幅度提高数据核对效率。

采用散列分组的方式针对海量数据或者大文件中的数据进行分组,能够实现高效地将数据打散的效果,由于散列算法具有把任意长度的输入变换成固定长度的输出的特点,因此,能够控制输出散列值的大小,从而能够更加有效地基于散列值进行分组。此外,采用散列分组的方式,能够以打乱数据的原始顺序进行分组,从而避免了数据缺失情况的集中出现,从而能够有效地提高数据核对的效率,在发现数据缺失后,也便于进行人工介入处理,而不影响其他分组数据的核对。

实施例三

如图5所示,本实施例涉及另一种数据核对装置,本实施例的数据核对装置是基于在基金交易系统中的实际应用而设计的,具体包括如下模块:数据源管理模块21、数据处理模块管理模块22、核对场景管理模块23、任务模板管理模块24、核对任务模块25、核对引擎模块26、核对报告生成模块27、业务回调模块28。

数据源管理模块21主要用于进行数据源配置,为核对系统提供数据来源支撑,数据源可以来自数据库、文件、开放存储,数据库可以是系统本地的一般性数据库,也可以为hbase(一种分布式的、面向列的开源数据库)数据库、阿里云ots(开放结构化数据服务)等,文件可以为从外部接收或者本地生成的各种数据文件,开放存储的数据源可以为如阿里云oos(object-orientedstorage,对象存储)等开放式存储服务器等数据源。

如前面实施例所示例,在基金交易系统中,基金交易记录数据来自于其自身的数据库,而基金交易确认数据则来自于基金交易系统接收并存储的基金交易确认文件。

数据处理模块管理模块22,用于提供对数据的处理能力的数据处理模板,如数据散列分组,清洗,转换等算法等的数据处理模板。数据处理模板聚合一个或多个数据处理器,同时支持自定义数据处理器,每个数据处理可以视为一个算法处理单元,可以接受其他处理模块(例如后面的核对引擎模块)的调用。数据处理模块可以包括用于执行散列分组处理的散列分组处理器、用于执行数据排序处理的排序处理器以及根据实际需要而进行自定义功能设计的自定义数据处理器等。

核对场景管理模块23,用于描述使用哪个数据源、使用哪个数据处理模板对数据进行处理、如何从待核对数据中取数、匹配以及使用怎样的核对规则进行核对等,核对场景主要包括数据源、数据处理模块、取数脚本、数据匹配脚本、核对规则以及报警策略等,其中数据源和数据处理模板在前面已经介绍过了,以下将主要说明取数脚本、数据匹配脚本、核对规则以及报警策略。

其中,取数脚本是用于执行取数处理的脚本,描述如何从待核对数据中取出一行或多行数据用来进行核对。具体可以使用json(javascriptobjectnotation,一种轻量级的数据交换格式)描述的取数脚本,另外也可以使用groovy(一种基于jvm(java虚拟机)的敏捷开发语言)脚本来描述更复杂的取数规则。

数据匹配脚本是用于执行在核对前进行数据匹配检查的脚本,在进行两边或多边核对时,在取出数据后,对两边或多边数据进行匹配,匹配成功,则认为可以进行核对,如果匹配不成功,则说明不具备核对条件,可能出现了单边数据缺失等情况,需要人工介入处理。

核对规则,用于描述如何对数据进行核对以及给出核对的结果的相关规则。在两边或多边数据匹配成功后,再调用具体的核对规则进行处理,核对规则可以有一个或多个,当存在多个核对规则时,将执行串行处理,只要有一个核对规则不通过,则该数据即确认为核对不通过。

报警策略,用于描述在各个核对场景中,如果出现核对数据不一致的情况下如何进行报警,例如短信报警、即时消息报警、邮件通知等报警方式。

任务模板管理模块25,用于描述核对任务如何进行,其主要包括时间策略、任务并行能力、任务超时、核对场景等几个方面的内容。

时间策略描述按照什么样的时间策略执行任务,例如,每天24点执行核对任务。

任务并行能力描述该核对任务执行时需要使用多少计算资源。

任务执行时间描述任务执行的最长时间,用于确定任务执行是否因某些未知原因超时。

核对任务模块25,用于在系统运行时,定时扫描核对任务模板,判断当前时间是否匹配任务模板的时间策略,如果匹配成功,则创建核对任务。

核对引擎模块26,在核对任务执行时,会将任务处理的场景传输给核对引擎,然后核对引擎解析核对场景,并执行核对。核对引擎模块26是本发明实施例执行核对处理的核心模块,前面的数据源管理模块21、数据处理模块管理模块22、核对场景管理模块23、任务模板管理模块24、核对任务模块25为该核对引擎模块26提供业务支持。该核对引擎模块26可以视为对应于实施例二的数据核对装置的核心部分。

核对引擎模块26所执行的处理流程如图6所示,主要包括:

步骤201:根据数据源的情况,将获取待核对数据的任务分解为多个数据获取子任务。

这里以数据源为数据库和文件为例来说明数据获取任务的分解过程,首先从核对场景管理模块23中获取数据源配置,然后根据文件和数据库的不同类型分别进行读取待核对数据。

在读取数据的过程中,根据表或者文件的大小,进行内部切分,生成多个数据获取子任务,从而方便进行并行处理。

例如:基金交易记录数据分了10个数据库进行存储,每个数据库有100个表,每个表中符合条件的记录数大概在几千个,可以将基金交易记录数据的获取任务切分成1000个数据获取子任务。

再例如,目前全国有98个ta系统(分布在各大银行和券商代销机构),每个ta系统在每天会向基金交易系统发送一个交易确认文件,每个交易确认文件都小于100m,在这样的情况下,可以直接分解为100个针对交易确认文件的数据获取子任务。

步骤202:读取数据并进行散列分组处理。该步骤主要包括如下处理:

步骤202a:领取散列分组子任务,该散列分组子任务可以是任务模板管理模块预先定义的任务;

步骤202b:遍历已经获取到的待核对数据,并使用数据处理模板管理模块配置的数据处理器,通过散列处理脚本依次进行处理;

步骤202c:根据散列值将待核对的数据写入对应的文件。

步骤203:生成核对子任务。

例如:一个核对场景中,包含了数据源d1和数据源d2,其中d1使用数据处理模板p1,d2使用数据处理模板p2。例如,经过散列分组后,d1生成了文件f1d1、f2d1、f3d1,d2生成了文件f1d2、f2d2、f3d2,这里的文件对应于前面提到的待核对子数据,在具体的散列分组过程中,可以将待核对子数据编制为文件,并以文件为单位进行分组核对。根据分组规则,数据源d1将生成如下三个核对子任务:

核对任务1:f1d1,f1d2;

核对任务2:f2d1,f2d2;

核对任务3:f3d1,f3d2;

步骤204:执行核对子任务,该步骤主要包括如下处理:

步骤204a:在领取到核对子任务t1后,对t1文件中包含的待核对文件f1d1和f1d2;

步骤204b:对文件f1d1和f1d2进行核对,例如,f1d1大小10m,f1d2大小10m。

步骤204c:判断当前可用内存是否满足要求,例如,获取当前可用内存值为100m,确认可以执行这个核对任务。

步骤204d:将文件f1d1和f1d2都读入内存中,并使用核对场景中的排序脚本分别进行排序;

文件f1d1中的待核对子数据经过排序后,数据条目如下(依次为交易编号、ta系统编号、交易金额):

001,ta01,100;

002,ta01,101;

003,ta01,104;

文件f1d2中的待核对子数据经过排序后,数据条目如下:

001,ta01,100;

002,ta01,102;

003,ta01,104;

步骤204e:从核对场景管理模块获取取数脚本、匹配规则和核对规则,执行数据核对处理。其中,取数脚本每次都从文件中取出一条数据。以f1d1为例,具体过程如下:

从f1d1取出第1条数据:001,ta01,100

从f1d2取出第1条数据:001,ta01,100

使用匹配规则确定两条数据是不是具备核对的基础,这里匹配规则为:比较两条数据的交易编号是否一致,经过比较两边的交易编号都是001,两条数据匹配,可以进行进一步的核对,如果出现不匹配,则输出数据缺失的报警信息,并终止数据核对任务。出现数据不匹配的情形一般是在分组中,两边的待核对数据的数量不一致,一边多了,另一边少了,即出现了数据缺失,这种情况下,需要人工介入处理。从这点来说,由于本发明实施例将海量数据和大文件中的数据进行了充分打散,将数据缺失的情况分散到了多个小的数据分组中,这样即使出现停止数据核对任务的情形,也是停止针对当前数据缺失小组的核对任务,而不会影响整个数据的核对作业,并且,由于数据进行了充分打散,每个分组的数据量也相对较小,也便于人工介入处理。

如果两条数据匹配,则使用核对规则确定两边数据是否核对一致,这里核对规则为:比较交易额是否一致。例如两边交易金额均为100,则输出数据核对一致的核对结果,如果两边的交易进而不一致,则输出数据核对不一致的核对结果。

到此,此次取数核对作业完成,然后再取f1d1和f1d2的第2条数据重复上述的匹配和核对过程,直到全部数据核对完毕。

核对报告生成模块27,用于根据核对结果生成核对报告并存档,以供用户查看。核对报告中可以如下内容:核对数据源、核对场景、核对记录、核对异常。

业务回调模块28,用于根据不同的核对结果由系统执行相应的回调。核对执行完成后,会有两个结果,通过或不通过,业务回调模块可以根据的配置回调策略,根据不同的核对结果,执行相应的回调。回调的目的是为了在核对任务完成拿到结果后,自动驱动业务系统进行后面的流程。

实施例四

如图7所示,其为本发明实施例四的电子设备的结构示意图,具体包括:存储器710和处理器720。

存储器710,用于存储程序。

除上述程序之外,存储器710还可被配置为存储其它各种数据以支持在电子设备上的操作。

存储器710可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器720,耦合至存储器710,用于执行存储器710中的程序,以用于:

获取来自多个不同数据源的多边待核对数据,其中,每边待核对数据分别对应一个数据源;

将各边的待核对数据按照相同的散列分组规则分别进行数据拆分,生成分组数量相同且具有对应关系的多组待核对子数据;

按照对应关系对多组待核对子数据分别进行核对。

进一步,如图7所示,电子设备还可以包括:通信组件730、电源组件740、音频组件750、显示器760等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。

通信组件730被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件730经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件730还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件740,为电子设备的各种组件提供电力。电源组件740可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件750被配置为输出和/或输入音频信号。例如,音频组件750包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器710或经由通信组件730发送。在一些实施例中,音频组件750还包括一个扬声器,用于输出音频信号。

显示器760包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1