应用数据的校验方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及应用数据的校验方法及装置。
背景技术
在网络平台内部,往往存在涉及多方用户的应用数据交互过程;或者,在多个网络平台之间,也存在涉及各网络平台的应用数据交互过程。因此,可以由被涉及到的每一方分别对相应的应用数据进行记录,并通过对各方记录的应用数据进行校验,从而维护各方用户或网络平台的应用数据的准确性和一致性。
发明内容
本申请提供一种应用数据的校验方法及装置,可以方便、快捷地验证应用数据的一致性。
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种应用数据的校验方法,包括:
获取来自被校验方的第一数据表单和来自校验方的第二数据表单;
生成第一应用数据集和第二应用数据集,所述第一应用数据集包含所述第一数据表单的预设字段内对应于所述校验方的应用数据,且所述第二应用数据集包含所述第二数据表单的所述预设字段内对应于所述被校验方的应用数据;
根据预设算法计算对应于所述第一应用数据集的第一消息摘要,以及对应于所述第二应用数据集的第二消息摘要;
根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一数据表单和所述第二数据表单的数据匹配状况。
根据本申请的第二方面,提出了一种应用数据的校验装置,包括:
获取单元,获取来自被校验方的第一数据表单和来自校验方的第二数据表单;
生成单元,生成第一应用数据集和第二应用数据集,所述第一应用数据集包含所述第一数据表单的预设字段内对应于所述校验方的应用数据,且所述第二应用数据集包含所述第二数据表单的所述预设字段内对应于所述被校验方的应用数据;
计算单元,根据预设算法计算对应于所述第一应用数据集的第一消息摘要,以及对应于所述第二应用数据集的第二消息摘要;
确定单元,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一数据表单和所述第二数据表单的数据匹配状况。
根据本申请的第三方面,提出了一种应用数据的校验方法,包括:
获取来自被校验方的第一对账业务流水表和来自校验方的第二对账业务流水表;
生成第一流水数据集和第二流水数据集,所述第一流水数据集包含所述第一对账业务流水表的预设字段内对应于所述校验方的流水数据,且所述第二流水数据集包含所述第二对账业务流水表的所述预设字段内对应于所述被校验方的流水数据;
根据预设算法计算对应于所述第一流水数据集的第一消息摘要,以及对应于所述第二流水数据集的第二消息摘要;
根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一对账业务流水表和所述第二对账业务流水表的数据匹配状况。
根据本申请的第四方面,提出了一种应用数据的校验装置,包括:
获取单元,获取来自被校验方的第一对账业务流水表和来自校验方的第二对账业务流水表;
生成单元,生成第一流水数据集和第二流水数据集,所述第一流水数据集包含所述第一对账业务流水表的预设字段内对应于所述校验方的流水数据,且所述第二流水数据集包含所述第二对账业务流水表的所述预设字段内对应于所述被校验方的流水数据;
计算单元,根据预设算法计算对应于所述第一流水数据集的第一消息摘要,以及对应于所述第二流水数据集的第二消息摘要;
确定单元,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一对账业务流水表和所述第二对账业务流水表的数据匹配状况。
由以上技术方案可见,本申请通过生成应用数据集,使得校验双方在仅维护一张数据表单的情况下,只需要更改应用数据集对应的字段组合,即可实现相应的数据校验,无需为每种字段组合应用独立的数据表单,有助于提升对数据表单的维护效率,方便、快捷地验证应用数据的一致性。
附图说明
图1是本申请提供的一种应用数据的校验方法的流程图;
图2是本申请提供的另一种应用数据的校验方法的流程图;
图3是本申请提供的一种应用数据的分类示意图;
图4是本申请提供的一种校验应用数据的示意图;
图5是本申请提供的一种电子设备的结构示意图;
图6是本申请提供的一种应用数据的校验装置的框图;
图7是本申请提供的一种流水数据的校验方法的流程图;
图8是本申请提供的一种电子设备的结构示意图;
图9是本申请提供的一种流水数据的校验装置的框图。
具体实施方式
为对本申请进行进一步说明,提供下列实施例:
请参考图1,图1是本申请提供的一种应用数据的校验方法的流程图,该方法可以包括以下步骤:
步骤102,获取来自被校验方的第一数据表单和来自校验方的第二数据表单。
在本实施例中,应用数据涉及到多方时,每一方分别将自身获取的应用数据记录于相应的数据表单中,则需要校验应用数据时,只要对任意两方记录的数据表单进行校验,即可确认这两方的应用数据一致性。
步骤104,生成第一应用数据集和第二应用数据集,所述第一应用数据集包含所述第一数据表单的预设字段内对应于所述校验方的应用数据,且所述第二应用数据集包含所述第二数据表单的所述预设字段内对应于所述当前被校验方的应用数据。
在本实施例中,数据表单的多个提供方之间可以协商不同的校验规则,每种校验规则可以涉及不同字段下的应用数据,从而根据当前采用的校验规则,从数据表单中选取感兴趣的字段,并对相应的应用数据进行一致性校验。
在本实施例中,作为一示例性实施例,校验规则可以与应用数据的应用场景一一对应,则根据数据表单的提供方感兴趣的应用场景,即可采用相应的校验规则,实现应用数据的校验。同时,当涉及到多种不同类型的应用场景时,数据表单中可以包含所有的应用数据,从而可以根据用户当前选定的应用场景对应的校验规则,以及预定义的校验规则与应用数据之间的对应关系,从数据表单中选取用户感兴趣的应用数据来进行校验,而无需为每种应用场景分别建立独立的数据表单,便于用户的管理。
在本实施例中,校验方和被校验方之间可以是一一对应的关系,则第一数据表单中仅包含对应于唯一校验方的应用数据,而第二数据表单中仅包含对应于唯一被校验方的应用数据;或者,被校验方可以对应于多个校验方,则第一数据表单中包含对应于所有校验方的应用数据,需要从中选取对应于当前校验方的应用数据进行校验处理;或者,校验方可以对应于多个被校验方,则第二数据表单中包含对应于所有被校验方的应用数据,需要从中选取对应于当前被校验方的应用数据进行校验处理。
步骤106,根据预设算法计算对应于所述第一应用数据集的第一消息摘要,以及对应于所述第二应用数据集的第二消息摘要。
在本实施例中,消息摘要是根据应用数据集中包含的数据生成的,只有当第一应用数据集和第二应用数据集中包含的数据完全一致时,才能够得到完全相同的第一消息摘要和第二消息摘要,因而可以对第一应用数据集和第二应用数据集之间进行快速、便捷的一致性判断,而无需对每项应用数据之间分别进行比较。
步骤108,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一数据表单和所述第二数据表单的数据匹配状况。
在本实施例中,当第一消息摘要与第二消息摘要一致时,说明在当前选择的校验规则下,第一数据表单和第二数据表单中相应的应用数据匹配,否则说明应用数据不匹配。
由上述实施例可知,本申请根据当前选取的校验规则,从校验双方分别提供的数据表单中提取并生成对应的应用数据集,从而根据该应用数据集之间的数据一致性,实现应用数据的一致性校验,而无需为每种校验规则对应的应用数据单独建立数据表单,便于用户进行数据管理。同时,通过为每个应用数据集生成对应的消息摘要,可以对当前应用规则涉及的多个字段内容(即应用数据)同时进行一致性校验,处理过程方便、快捷,且不易出错。
基于上述实施例可知:本申请的技术方案可以应用于应用数据的一致性校验,且该应用数据由涉及到的多方用户分别记录后,通过生成对应于每个用户的应用数据集,即可基于该应用数据集之间的一致性,实现不同规则下的应用数据一致性校验。因此,对于应用数据涉及到多方的应用场景,均可以通过本申请的技术方案,对相应的应用数据进行校验处理。
举例而言,本申请的技术方案具体可以应用于对账流水表的流水数据校验,下面将结合图2进行详细描述。
如图2所示,图2是本申请提供的一种应用数据的校验方法的流程图,该方法可以包括以下步骤:
步骤202,获取双方的待对账流水表(相当于图1所示的数据表单)。
在本实施例中,比如对账一方为企业A,另一方是银行B、银行C,则基于双方之间的流水详情,企业A和银行B、银行C分别记录一份流水表,作为待对账流水表。比如表1示出了一示例性实施例的企业A记录的待对账流水表,该流水表中涉及到“交易机构”、“交易日期”、“交易流水号”、“清算日期”、“批次流水号”、“付款账号”等多个字段以及每个字段下的应用数据。
表1
如表1所示,企业A可以将对应于银行B、银行C等多个被校验方的应用数据记录在同一数据表单内,并从中选取所需的应用数据;或者,企业A也可以为每个被校验方分别生成和维护独立的数据表单。
类似地,作为被校验方的银行B、银行C等,也可以将对应的所有校验方的应用数据均记录于同一数据表单内,并从中选取所需的应用数据;或者,分别记录于多个独立的数据表单内。
步骤204,根据所需对账的业务,确定对应的公共索引字段中的信息。
步骤206,根据公共索引字段中的字段标识,从双方的待对账流水表中分别获取该字段标识对应字段的内容。
在本实施例中,由于每项业务(相当于应用数据的应用场景)对应的字段可能不同,比如当选取业务1时,业务1对应的对账规则(即应用数据的校验规则)为:按照对账日期对账,则可能对表1中的“交易机构”、“交易日期”、“交易流水号”、“付款账号”、“收款账号”、“币种”、“金额”、“业务类型”、“业务子类”等字段感兴趣,而当选取业务2时,业务2对应的对账规则为:按清算日期和批次流水号对账,则可能对表1中的“交易机构”、“清算日期”、“批次流水号”、“付款账号”、“收款账号”、“币种”、“金额”等字段感兴趣。因此,可以预先建立每种对账规则与相应感兴趣的字段的标识之间的对应关系,从而基于该对应关系查找对应的字段,并获取该字段下的应用数据。
基于上述对应关系,可以为每条对应关系建立对应的索引:作为一示例性实施方式,可以为每条对应关系分别建立独立的索引字段,则对应于上述的业务1下的“按照对账日期对账”的规则,需要建立的索引将包含“交易机构”、“交易日期”、“交易流水号”、“付款账号”、“收款账号”、“币种”、“金额”、“业务类型”、“业务子类”等字段,而对应于业务2下的“按清算日期和批次流水号对账”的规则,需要建立的索引将包含“交易机构”、“清算日期”、“批次流水号”、“付款账号”、“收款账号”、“币种”、“金额”等字段。
作为另一示例性实施方式,可以为所有的对应关系建立公共索引字段,比如对应于对账规则(即应用数据的校验规则)的第一公共索引字段“对账规则”(或称“业务版本”、“规则版本”等),以及对应于所有感兴趣的字段标识的综合信息的第二公共索引字段“对账字段标识”,则对应于上述的业务1下的“按照对账日期对账”的规则,在第一公共索引字段“对账规则”下记录“按照对账日期对账”对应的标识(比如用“001”表示),以及在第二公共索引字段“对账字段标识”下记录“交易机构”、“交易日期”、“交易流水号”、“付款账号”、“收款账号”、“币种”、“金额”、“业务类型”、“业务子类”等字段对应的字段标识的集合,比如以“标识字符串”的形式进行记录(比如对应于表1,“交易机构”的字段标识可以为01、“交易日期”的字段标识可以为02、“交易流水号”的字段标识可以为03……以此类推,则第二公共索引字段记录的“标识字符串”可以为“01020306……”)。
通过采用公共索引字段,所有的对账规则均可以使用该字段来建立索引,且由于该公共索引仅有两个字段,可以实现高效地数据查找操作。同时,当添加新的对账规则时,也仍然能够使用同一公共索引字段,可以避免为每条对账规则建立独立的索引时,可能由于索引字段过多而导致的索引效率低下,甚至索引失效的问题。
步骤208,根据从双方流水表中分别获取的对应字段中的内容,分别生成为对账字符串。
在本实施例中,仍以上述的业务1为例,则基于公共索引字段中的记录信息,比如标识字符串“01020306……”,可以确定出对应于待对账流水表中的“交易机构”、“交易日期”、“交易流水号”、“付款账号”、“收款账号”、“币种”、“金额”、“业务类型”、“业务子类”等字段,并将这些字段中对应于银行B的应用数据提取并组合为对账字符串,比如参照表1所示的实施例,该对账字符串可以为“银行B+2014-3-20+2014-5-12+……+0462368954+2013644568+……+2014-4-10+……”。
作为一示例性实施例,可以在对账字符串中固定添加“对账主体”信息,即表1所示的“交易机构”字段的内容,从而避免用于生成对账字符串的其他字段较少时,在不同对账主体(例如银行B和银行C)的流水表之间产生混淆。
步骤210,分别计算每个对账字符串对应的消息摘要。
在本实施例中,具体可以采用如MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法计算出对应于每个对账字符串的MD5值。当然,本领域技术人员应该理解的是,其他用于生成消息摘要的算法,显然也可以应用于本申请的技术方案中,本申请对此并不进行限制。
步骤212,判断步骤210中计算出的对应于双方流水表的消息摘要是否相同,若相同则转入步骤214,否则转入步骤216。
步骤214,将用于计算MD5值的对账字符串对应的字段内容标记为对账一致流水,比如图3所示的企业A与银行B的流水表的交集区域。
步骤216,将用于计算MD5值的对账字符串对应的字段内容标记为单边流水,比如图3所示,在企业A的流水表中对应的字段内容为企业A单边流水,在银行B的流水表中对应的字段内容为银行B单边流水。
此外,在上述实施例中,通过采用基于业务类型(或对账规则,两者一一对应)的字符串生成方式,由对账双方的流水表分别生成对应于当前业务的对账字符串,则可以在对账双方的流水表中记录下所有的应用数据,从而只需要根据当前业务从中选取对应的感兴趣字段即可,无需为每种业务下的字段组合单独生成对应的流水表,便于用户对流水表的维护和管理。比如图4所示,企业A和银行B分别可以在对应的流水表中记录下所有应用数据,则对应于业务1,可以分别生成对账字符串1和对账字符串1’,并根据计算得到的MD5值1和MD5值1’,确定两者的应用数据一致性;而对应于业务2,可以在同一流水表中选取字段内容,并生成对应的对账字符串2和对账字符串2’,且根据计算得到的MD5值2和MD5值2’,确定两者的应用数据一致性。
图5示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图5,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成应用数据的校验装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该应用数据的校验装置可以包括获取单元、生成单元、计算单元和确定单元。其中:
获取单元,获取来自被校验方的第一数据表单和来自校验方的第二数据表单;
生成单元,生成第一应用数据集和第二应用数据集,所述第一应用数据集包含所述第一数据表单的预设字段内对应于所述校验方的应用数据,且所述第二应用数据集包含所述第二数据表单的所述预设字段内对应于所述被校验方的应用数据;
计算单元,根据预设算法计算对应于所述第一应用数据集的第一消息摘要,以及对应于所述第二应用数据集的第二消息摘要;
确定单元,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一数据表单和所述第二数据表单的数据匹配状况。
可选的,还包括:
选取单元,根据当前采用的校验规则,以及预定义的校验规则与字段之间的对应关系,选取对应于当前采用的校验规则的所述预设字段。
可选的,所述对应关系为预定义的索引信息,其中校验规则记录于所述索引信息的第一公共索引字段,以及字段标识记录于所述索引信息的第二公共索引字段。
可选的,所述校验规则与应用数据的应用场景一一对应。
可选的,所述第一数据表单和所述第二数据表单中分别包括:主体字段;
所述第一应用数据集和所述第二应用数据集中还分别包含:所述主体字段中记录的所述被校验方的标识信息。
可选的,所述预设算法包括MD5算法。
可选的,所述第一数据表单和所述第二数据表单为对账业务流水表。
与上述技术方案相类似地,本发明还提出了相应的流水数据的校验方法,该方法如图7所示,可以包括以下步骤:
步骤702,获取来自被校验方的第一对账业务流水表和来自校验方的第二对账业务流水表;
步骤704,生成第一流水数据集和第二流水数据集,所述第一流水数据集包含所述第一对账业务流水表的预设字段内对应于所述校验方的流水数据,且所述第二流水数据集包含所述第二对账业务流水表的所述预设字段内对应于所述被校验方的流水数据;
步骤706,根据预设算法计算对应于所述第一流水数据集的第一消息摘要,以及对应于所述第二流水数据集的第二消息摘要;
步骤708,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一对账业务流水表和所述第二对账业务流水表的数据匹配状况。
可选的,还包括:
根据当前采用的校验规则,以及预定义的校验规则与字段标识之间的对应关系,选取对应于当前采用的校验规则的所述预设字段。
可选的,所述对应关系为预定义的索引信息,其中校验规则记录于所述索引信息的第一公共索引字段,以及字段标识记录于所述索引信息的第二公共索引字段。
可选的,所述校验规则与应用数据的应用场景一一对应。
可选的,所述第一对账业务流水表和所述第二对账业务流水表中分别包括:对账主体字段;
所述第一流水数据集和所述第二流水数据集中还分别包含:所述对账主体字段中记录的所述被校验方的标识信息。
图8示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图8,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成流水数据的校验装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在软件实施方式中,该流水数据的校验装置可以包括获取单元、生成单元、计算单元和确定单元。其中:
获取单元,获取来自被校验方的第一对账业务流水表和来自校验方的第二对账业务流水表;
生成单元,生成第一流水数据集和第二流水数据集,所述第一流水数据集包含所述第一对账业务流水表的预设字段内对应于所述校验方的流水数据,且所述第二流水数据集包含所述第二对账业务流水表的所述预设字段内对应于所述被校验方的流水数据;
计算单元,根据预设算法计算对应于所述第一流水数据集的第一消息摘要,以及对应于所述第二流水数据集的第二消息摘要;
确定单元,根据所述第一消息摘要和所述第二消息摘要的一致性,确定所述第一对账业务流水表和所述第二对账业务流水表的数据匹配状况。
可选的,还包括:
选取单元,根据当前采用的校验规则,以及预定义的校验规则与字段标识之间的对应关系,选取对应于当前采用的校验规则的所述预设字段。
可选的,所述对应关系为预定义的索引信息,其中校验规则记录于所述索引信息的第一公共索引字段,以及字段标识记录于所述索引信息的第二公共索引字段。
可选的,所述校验规则与应用数据的应用场景一一对应。
可选的,所述第一对账业务流水表和所述第二对账业务流水表中分别包括:对账主体字段;
所述第一流水数据集和所述第二流水数据集中还分别包含:所述对账主体字段中记录的所述被校验方的标识信息。
因此,本申请通过生成应用数据集,使得校验双方在仅维护一张数据表单的情况下,只需要更改应用数据集对应的字段组合,即可实现相应的数据校验,无需为每种字段组合应用独立的数据表单,有助于提升对数据表单的维护效率,方便、快捷地验证应用数据的一致性。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。