CN109934712A - 应用于分布式系统的对账方法、对账装置和电子设备 - Google Patents
应用于分布式系统的对账方法、对账装置和电子设备 Download PDFInfo
- Publication number
- CN109934712A CN109934712A CN201910094697.6A CN201910094697A CN109934712A CN 109934712 A CN109934712 A CN 109934712A CN 201910094697 A CN201910094697 A CN 201910094697A CN 109934712 A CN109934712 A CN 109934712A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- sub
- data
- transaction
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种应用于分布式系统的对账方法,包括确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心,按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据,并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果,以及汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。本公开还提供了一种对账装置、一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及一种应用于分布式系统的对账方法、对账装置和电子设备。
背景技术
现有的技术主要解决集中式系统的账务明细核对情况,通过读取依赖方的对账明细文件,将明细文件导入数据库,即基准交易明细,将基准交易明细与我方所保存的明细记录在程序中逐行读取,逐行核对,找出差异记录。
在分布式模式下,现有技术方案实施困难,数据量太大,这是由于将全量交易数据放入数据库会占用大量数据库资源,在海量数据场景,单个数据库可能无法写入全部数据,交易写入数据库增加很大耗时,逐行核对每次执行核对需扫描整个数据结果集,很可能由于耗时太大、数据量太大而导致系统崩溃,数据库崩溃。
发明内容
本公开的一个方面提供了一种应用于分布式系统的对账方法,包括确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心,按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据,并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果,以及汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
可选地,所述分布式系统包括多个节点,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时,所述分布式系统的每个节点仅处理同一机构的第一子交易数据和第二子交易数据,并且/或者,每个机构的第一子交易数据和第二子交易数据由所述分布式系统中的同一节点处理。
可选地,在所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果之前,所述方法还包括,基于由所述机构和交易流水号构成的唯一标识,将所述第一子交易数据和所述第二子交易数据实现为哈希映射的数据结构。
可选地,所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果包括,对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
可选地,所述汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果包括,汇总同一批次、不同数据中心多个所述第一对账结果,并执行核对比较,得到第三对账结果,以及汇总不同批次的多个所述第三对账结果,并执行核对比较,得到第二对账结果。
本公开的另一个方面提供了一种对账装置,包括确定模块、拆分模块、比较模块以及汇总模块。确定模块,用于确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心。拆分模块,用于按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据。比较模块,用于比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果。汇总模块,用于汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
可选地,所述对账装置包括多个节点,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时,每个节点仅处理同一机构的第一子交易数据和第二子交易数据,并且/或者,每个机构的第一子交易数据和第二子交易数据由同一节点处理。
可选地,所述比较模块用于对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
可选地,所示装置还包括构建模块,用于基于由所述机构和交易流水号构成的唯一标识,将所述第一子交易数据和所述第二子交易数据实现为哈希映射的数据结构。
可选地,所述汇总模块包括第一汇总子模块和第二汇总子模块。第一汇总子模块,用于汇总同一批次、不同数据中心多个所述第一对账结果,并执行核对比较,得到第三对账结果。第二汇总子模块,用于汇总不同批次的多个所述第三对账结果,并执行核对比较,得到第二对账结果。
本公开的另一个方面提供了一种电子设备,包括处理器以及存储器。所述存储器上存储有计算机程序,所述计算机程序被处理器执行时使得处理器执行如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的分布式系统的示意图;
图2示意性示出了根据本公开实施例的应用于分布式系统的对账方法的流程图;
图3示意性示出了根据本公开实施例的汇总不同批次、不同数据中心的多个第一对账结果的流程图;
图4示意性示出了根据本公开实施例的对账装置的框图;
图5示意性示出了根据本公开另一实施例的对账装置的框图;
图6示意性示出了根据本公开实施例的汇总模块的框图;以及
图7示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种应用于分布式系统的对账方法,包括确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心,按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据,并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果,以及汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
图1示意性示出了根据本公开实施例的分布式系统100的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该分布式系统100可以包括多个节点110以及网络120。网络120是用以在多个节点110之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线、无线通信链路等等。节点110例如可以是专用的计算或存储设备,或者多个用户的终端设备等。
根据本公开实施例,待核对的第二交易数据可以存储在该分布式系统100中,第一交易数据可以存储在该分布式系统100中,也可以存储在不同于分布式系统100的另一分布式系统中,或者,第一交易数据还可以存储在集中式系统中。本公开实施例的对账方法可以应用于该分布式系统100,或者,可以应用于不同于分布式系统100的另一分布式系统中。
图2示意性示出了根据本公开实施例的应用于分布式系统的对账方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心。
根据本公开实施例,第二交易数据存储在分布式系统中,该分布式系统例如可以部署在不同地区的多个机房中,每个机房中的服务器(分布式系统的节点)可以构成一个数据中心。当然,数据中心也可以与服务器部署的位置无关,例如可以是人为地规定或由机器自行规定的逻辑分区。
根据本公开实施例,第二交易数据中的每一个记录产生时,根据预定规则存储在不同的数据中心,该预定规则可以根据业务需要自行定义,本公开对此不做限定。
在操作S220,按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据。
例如,按照交易发生的时间,一天之内的交易数据可以被分为24个批次,在对账过程中可以分批次处理。第二交易数据可以按照数据中心的维度进行划分,第一交易数据可以根据上述同样的预定规则进行划分,具有相同特征的交易记录将处理在对应的第一子交易数据和第二子交易数据中。在本公开另一些实施例中,第一交易数据和第二交易数据是不同应用程序存储的交易数据,第一交易数据也存储在用于存储第二交易数据的分布式系统中,第一交易数据在不同数据中心存储的预定规则与第二交易数据相同,在这种情况下,直接按照数据中心进行划分即可。
在操作S230,并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果。
根据本公开实施例,在所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果之前,所述方法还包括,基于由所述机构和交易流水号构成的唯一标识,将所述第一子交易数据和所述第二子交易数据实现为哈希映射(Hashmap)的数据结构。本发明人发现,采用哈希映射的数据结构能够有效提高交易数据的比对效率。
根据本公开实施例,对于第一子交易数据和第二子交易数据,可以计算两个集合的交集,并根据预设的关键要素检查识别标识相同的两个交易数据是否相同,若不相同,将该交易数据记录为不一致的数据。此外,还可以计算第一子交易数据在第二子交易数据中的相对补集,作为第一子交易数据相对于第二子交易数据缺少的交易数据,以及计算第二子交易数据在第一子交易数据中的相对补集,作为第二子交易数据相对于第一子交易数据缺少的交易数据。由以上三组数据构成该批次、该数据中心的第一对账结果。
根据本公开实施例,所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果包括,对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
例如,第二子交易数据可以依据所存储在数据库的位置,再次切分31份,每次用第一子交易数据完整内容与第二子交易数据的一部分比较(一个数据库的数据量),每次比较完成后,交集部分的数据量会从第一子交易数据移除,第二子交易数据中同步移除交易部分并将第下一个数据库的交易数据补充至第二子交易数据,循环过程中,第一交易数据量逐步缩小,核对速度会越来越快。第二子交易数据经历比较,移除交集,补充交易的过程,最后一次比较后,剩余未移除的交易则是最终的补集结果,即存在在第一子交易数据但不存在在第二子交易数据中的元素以及存在在第二子交易数据但不存在在第一子交易数据中的元素。
在本公开的一些实施例中,可以通过交易的唯一标识(例如机构和交易流水号的拼接)确定该交集。并且,还可以通过预设要素(例如交易金额、余额等)检查该交集中是否存在内容不同的交易数据。该检查的操作可以在每一个部分的比较过程中、每一次比较完成时或者多个部分比较之后执行。
在操作S240,汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。下面结合图3所示意的实施例进行说明。
图3示意性示出了根据本公开实施例的汇总不同批次、不同数据中心的多个第一对账结果的流程图。
如图3所示,该方法包括操作S310和S320。
在操作S310,汇总同一批次、不同数据中心多个所述第一对账结果,并执行核对比较,得到第三对账结果。
在操作S320,汇总不同批次的多个所述第三对账结果,并执行核对比较,得到第二对账结果。
根据本公开实施例,在每一次汇总的过程中,可以将不一致的数据进行对比,例如在数据中心A的第一对账结果中,第一交易数据相对于第二交易数据相比,缺少X交易数据,而在数据中心B的第一对账结果中,第一交易数据相对于第二交易数据多出了X交易数据,则在汇总时可以相互抵消,将X交易数据从对账结果中删除,得到不含X交易数据的第三对账结果。
以上对先汇总数据中心维度,再汇总时间维度的情况进行了说明,本公开的技术方案当然也可以先汇总不同批次的数据,再汇总不同数据中心的数据,本公开实施例对此不做限定。
该方法通过时间维度和数据中心维度多层级并行核对,减少串行执行程序所带来的耗时,通过打散数据集而节约物理服务器资源。
根据本公开实施例,除了以上时间维度和数据中心维度,还可以按照与交易数据相关的机构的机构维度进一步拆分。
例如,根据本公开实施例,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时,所述分布式系统的每个节点仅处理同一机构的第一子交易数据和第二子交易数据。
或者,根据本公开实施例,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时,每个机构的第一子交易数据和第二子交易数据由所述分布式系统中的同一节点处理。
或者,以上二者可以结合使用,一部分节点仅处理同一机构的第一子交易数据和第二子交易数据,另一部分节点可以用于处理多个机构的第一子交易数据和第二子交易数据,但在该些节点中处理的第一子交易数据和第二子交易数据所关联的机构的其他第一子交易数据和其他第二子交易数据也由相同节点处理。
基于同一发明构思,本公开还提供了一种对账装置,下面参照图4~图6对本公开实施例的对账装置进行说明。
图4示意性示出了根据本公开实施例的对账装置400的框图。
如图4所示,该对账装置400包括确定模块410、拆分模块420、比较模块430以及汇总模块440。该对账装置400可以执行上文描述的各种方法。
确定模块410,例如执行参考上文图2描述的操作S210,用于确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心。
拆分模块420,例如执行参考上文图2描述的操作S220,用于按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据。
比较模块430,例如执行参考上文图2描述的操作S230,用于比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果。
汇总模块440,例如执行参考上文图2描述的操作S240,用于汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
根据本公开实施例,所述对账装置包括多个节点,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时,每个节点仅处理同一机构的第一子交易数据和第二子交易数据,并且/或者,每个机构的第一子交易数据和第二子交易数据由同一节点处理。
根据本公开实施例,所述比较模块用于对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
图5示意性示出了根据本公开另一实施例的对账装置500的框图。
如图5所示,该对账装置500在前述实施例的基础上,还包括构建模块510,用于基于由所述机构和交易流水号构成的唯一标识,将所述第一子交易数据和所述第二子交易数据实现为哈希映射的数据结构。
图6示意性示出了根据本公开实施例的汇总模块600的框图。
如图6所示,该汇总模块600包括第一汇总子模块610和第二汇总子模块620。
第一汇总子模块610,例如执行参考上文图3描述的操作S310,用于汇总同一批次、不同数据中心多个所述第一对账结果,并执行核对比较,得到第三对账结果。
第二汇总子模块620,例如执行参考上文图3描述的操作S320,用于汇总不同批次的多个所述第三对账结果,并执行核对比较,得到第二对账结果。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,确定模块410、拆分模块420、比较模块430、汇总模块440/600、构建模块510、第一汇总子模块610以及第二汇总子模块620中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,确定模块410、拆分模块420、比较模块430、汇总模块440/600、构建模块510、第一汇总子模块610以及第二汇总子模块620中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,确定模块410、拆分模块420、比较模块430、汇总模块440/600、构建模块510、第一汇总子模块610以及第二汇总子模块620中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的电子设备700的框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700包括处理器710和计算机可读存储介质720。该电子设备700可以执行根据本公开实施例的方法。
具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质720,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行根据本公开实施例的方法或其任何变形。
计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721A、模块721B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,确定模块410、拆分模块420、比较模块430、汇总模块440/600、构建模块510、第一汇总子模块610以及第二汇总子模块620中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种应用于分布式系统的对账方法,包括:
确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心;
按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据;
并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果;以及
汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
2.根据权利要求1所述的方法,其中,所述分布式系统包括多个节点,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时:
所述分布式系统的每个节点仅处理同一机构的第一子交易数据和第二子交易数据;并且/或者
每个机构的第一子交易数据和第二子交易数据由所述分布式系统中的同一节点处理。
3.根据权利要求2所述的方法,其中,在所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果之前,所述方法还包括:
基于由所述机构和交易流水号构成的唯一标识,将所述第一子交易数据和所述第二子交易数据实现为哈希映射的数据结构。
4.根据权利要求1所述的方法,其中,所述比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果包括:
对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
5.根据权利要求1所述的方法,其中,所述汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果包括:
汇总同一批次、不同数据中心多个所述第一对账结果,并执行核对比较,得到第三对账结果;
汇总不同批次的多个所述第三对账结果,并执行核对比较,得到第二对账结果。
6.一种对账装置,包括:
确定模块,用于确定待核对的第一交易数据和第二交易数据,其中,所述第二交易数据部署在多个数据中心;
拆分模块,用于按照交易发生的时间维度和部署有所述第二交易数据的数据中心维度,将所述第一交易数据分为多个的第一子交易数据,将所述第二交易数据分为多个第二子交易数据;
比较模块,用于比较同一批次、同一数据中心的第一子交易数据和第二子交易数据,得到第一对账结果;以及
汇总模块,用于汇总不同批次、不同数据中心的多个所述第一对账结果,得到第二对账结果。
7.根据权利要求6所述的装置,其中,所述对账装置包括多个节点,所述第一交易数据和第二交易数据包括多个机构的交易数据,在并行比较同一批次、同一数据中心的第一子交易数据和第二子交易数据时:
每个节点仅处理同一机构的第一子交易数据和第二子交易数据;并且/或者
每个机构的第一子交易数据和第二子交易数据由同一节点处理。
8.根据权利要求6所述的装置,其中,所述比较模块用于:
对于同一批次、同一数据中心的第一子交易数据和第二子交易数据,将所述第二子交易数据拆分为多个部分,每次用所述第一子交易数据与所述第二子交易数据的一个部分进行比较,确定交集,将所述交集中的元素从第一子交易数据和第二子交易数据中移除,将所述第二子交易数据的下一个部分与所述第一子交易数据的剩余部分比较,直至比较完成,并通过预设要素检查所述交集中是否存在内容不同的交易数据,得到第一对账结果。
9.一种电子设备,包括:
处理器;以及
存储器,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器执行如权利要求1~5中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可读指令,所述指令被处理器执行时使得处理器执行如权利要求1~5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910094697.6A CN109934712B (zh) | 2019-01-30 | 2019-01-30 | 应用于分布式系统的对账方法、对账装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910094697.6A CN109934712B (zh) | 2019-01-30 | 2019-01-30 | 应用于分布式系统的对账方法、对账装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109934712A true CN109934712A (zh) | 2019-06-25 |
CN109934712B CN109934712B (zh) | 2022-07-15 |
Family
ID=66985364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910094697.6A Active CN109934712B (zh) | 2019-01-30 | 2019-01-30 | 应用于分布式系统的对账方法、对账装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109934712B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390586A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 对账方法、装置和服务器 |
CN110544164A (zh) * | 2019-08-27 | 2019-12-06 | 中信百信银行股份有限公司 | 全链路对账方法和系统 |
WO2021051782A1 (zh) * | 2019-09-17 | 2021-03-25 | 北京海益同展信息科技有限公司 | 区块链的共识方法、装置及设备 |
CN113157787A (zh) * | 2021-04-06 | 2021-07-23 | 中信百信银行股份有限公司 | 账务处理方法、装置、电子设备及可读存储介质 |
CN113763166A (zh) * | 2021-08-09 | 2021-12-07 | 中国银联股份有限公司 | 一种数据核对的方法及装置 |
CN113793211A (zh) * | 2021-09-23 | 2021-12-14 | 中电金信软件有限公司 | 系统间的对账方法、装置、子系统、存储介质及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139300A (zh) * | 2013-02-05 | 2013-06-05 | 杭州电子科技大学 | 一种基于重复数据删除的虚拟机镜像管理的优化方法 |
CN103412904A (zh) * | 2013-07-31 | 2013-11-27 | 广联达软件股份有限公司 | 一种pdf文件对比方法及系统 |
CN103744939A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种日志的记录方法、日志的恢复方法及日志管理器 |
US8954574B1 (en) * | 2012-05-23 | 2015-02-10 | Amazon Technologies, Inc. | Best practice analysis, migration advisor |
CN106656522A (zh) * | 2015-10-28 | 2017-05-10 | 中国移动通信集团公司 | 跨数据中心的数据计算方法及系统 |
CN107147735A (zh) * | 2017-05-12 | 2017-09-08 | 北京博晨技术有限公司 | 一种基于分层结构的分布式账本系统 |
CN108595710A (zh) * | 2018-05-11 | 2018-09-28 | 杨晓春 | 一种快速的海量图片去重方法 |
CN108961029A (zh) * | 2018-07-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种分布式对账处理方法、系统及终端设备 |
CN109117275A (zh) * | 2018-08-31 | 2019-01-01 | 平安科技(深圳)有限公司 | 基于数据分片的对账方法、装置、计算机设备及存储介质 |
-
2019
- 2019-01-30 CN CN201910094697.6A patent/CN109934712B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954574B1 (en) * | 2012-05-23 | 2015-02-10 | Amazon Technologies, Inc. | Best practice analysis, migration advisor |
CN103139300A (zh) * | 2013-02-05 | 2013-06-05 | 杭州电子科技大学 | 一种基于重复数据删除的虚拟机镜像管理的优化方法 |
CN103412904A (zh) * | 2013-07-31 | 2013-11-27 | 广联达软件股份有限公司 | 一种pdf文件对比方法及系统 |
CN103744939A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种日志的记录方法、日志的恢复方法及日志管理器 |
CN106656522A (zh) * | 2015-10-28 | 2017-05-10 | 中国移动通信集团公司 | 跨数据中心的数据计算方法及系统 |
CN107147735A (zh) * | 2017-05-12 | 2017-09-08 | 北京博晨技术有限公司 | 一种基于分层结构的分布式账本系统 |
CN108595710A (zh) * | 2018-05-11 | 2018-09-28 | 杨晓春 | 一种快速的海量图片去重方法 |
CN108961029A (zh) * | 2018-07-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种分布式对账处理方法、系统及终端设备 |
CN109117275A (zh) * | 2018-08-31 | 2019-01-01 | 平安科技(深圳)有限公司 | 基于数据分片的对账方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
闵孝忠等: "基于大数据的对账算法的设计", 《科学技术与工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390586A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 对账方法、装置和服务器 |
CN110544164A (zh) * | 2019-08-27 | 2019-12-06 | 中信百信银行股份有限公司 | 全链路对账方法和系统 |
WO2021051782A1 (zh) * | 2019-09-17 | 2021-03-25 | 北京海益同展信息科技有限公司 | 区块链的共识方法、装置及设备 |
CN113157787A (zh) * | 2021-04-06 | 2021-07-23 | 中信百信银行股份有限公司 | 账务处理方法、装置、电子设备及可读存储介质 |
CN113763166A (zh) * | 2021-08-09 | 2021-12-07 | 中国银联股份有限公司 | 一种数据核对的方法及装置 |
CN113793211A (zh) * | 2021-09-23 | 2021-12-14 | 中电金信软件有限公司 | 系统间的对账方法、装置、子系统、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109934712B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109934712A (zh) | 应用于分布式系统的对账方法、对账装置和电子设备 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN111344706B (zh) | 管理区块链上的交易的方法和系统 | |
CN112100219B (zh) | 基于数据库查询处理的报表生成方法、装置、设备和介质 | |
CN110597946B (zh) | 一种案例存储方法、装置、设备及存储介质 | |
CN104778123B (zh) | 一种检测系统性能的方法及装置 | |
CN112559635B (zh) | 以太坊联盟链节点的业务处理方法、装置、设备及介质 | |
CN106897342A (zh) | 一种数据校验方法和设备 | |
CN113360269A (zh) | 一种任务分配方法、装置、服务器及存储介质 | |
CN111813739A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN112035350A (zh) | 针对区块链系统的测试方法、装置及计算机设备 | |
CN108920601B (zh) | 一种数据匹配方法及装置 | |
CN112291321B (zh) | 业务处理方法、装置及系统 | |
CN112040015B (zh) | 一种共识节点列表生成方法及相关装置 | |
CN106570029A (zh) | 分布式关系型数据库的数据处理方法及系统 | |
US11176506B2 (en) | Blockchain expense and resource utilization optimization | |
CN103348354A (zh) | 安全性验证设备和安全性验证方法 | |
CN115481026A (zh) | 测试案例的生成方法、装置、计算机设备、存储介质 | |
CN109582476A (zh) | 数据处理方法、装置及系统 | |
CN115495620A (zh) | 基于图结构的数据管理方法及相关设备 | |
CN111857883B (zh) | 页面数据校验方法、装置、电子设备及存储介质 | |
CN113760367A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
CN113448876A (zh) | 一种业务测试方法、装置、计算机设备及存储介质 | |
CN113495845A (zh) | 数据测试方法、装置、电子设备及存储介质 | |
CN112463785A (zh) | 一种数据质量监控方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |