一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于默克尔树的交易对账方法和系统与流程

2022-04-02 09:41:28 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,具体涉及一种基于默克尔树的交易对账方法和系统。


背景技术:

2.交易对账是指交易双方或交易上下游之间对一定时期内的交易信息或账单数据进行双方确认的过程,交易双方包括但不局限于消费者、销售者、三方支付机构、银行、银联等个人或机构。
3.当前主流的交易对账方法及步骤为:获取对账文件、解析对账文件、对账处理、差错账处理。其中,获取对账文件的通用做法是通过定时任务,在专用网络环境下,上传或者下载上游的对账数据文件。获取到的文件通过文件解析程序解码读取到计算机内存,再转存到数据库或者数据缓存。对账过程需要依据支付状态、交易金额、交易时间、交易数据基准等维度制定对账规则,再通过对账规则对数据库或数据缓存中的交易信息进行逐行数据比对。当数据比对出现多账、短账等差错账后,再进行自动或人工形式的平账,以解决出现的交易差错账。现有的人工对帐方式,无法快速确定双方交易信息是否一致,导致对账的效率低下。


技术实现要素:

4.为解决上述问题,本技术提供一种基于默克尔树的交易对账方法,包括:
5.对帐双方根据预设的hash算法、交易数据和对账发起时间,生成每笔交易对应的hash值;所述hash值为交易时间段对应的默克尔树的叶子节点;
6.将两个叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值,将两个中间节点的hash值进行哈希运算,生成默克尔树根节点对应的hash值;
7.比较对帐双方生成的默克尔树根据节点对应的hash值,若比较结果为一致,则对帐结果为平帐;若比较结果为不一致,则将对账双方默克尔树对应的叶子节点hash值进行比较,获取比较结果不一致的叶子节点hash值;根据所述叶子节点hash值,获取对应的交易数据;对账双方根据所述交易数据进行交易对账。
8.优选的,对帐双方根据预设的hash算法、交易数据和对账发起时间,生成每笔交易对应的hash值,包括:
9.选取包括md5、sha1、sha256、crc32、haval中任一种hash算法,作为对帐双方根据预设的hash算法;
10.将交易数据和对账发起时间,通过所述hash算法进行运行,生成每笔交易对应的hash值。
11.优选的,交易数据,包括:收款方、付款方、交易金额、交易状态、交易类型、交易时间、交易凭证号。
12.优选的,将两个叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的
hash值,将两个中间节点的hash值进行哈希运算,成默克尔树根节点对应的hash值,包括:
13.将两个相邻叶子节点配对,将所述两个相邻叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值;
14.若所述中间节点为两个以上,则将两个相邻中间节点配对,将所述两个相邻中间节点hash值进行哈希运算,生成默克尔树新的中间节点对应的hash值,直至中间节点生成的hash值唯一;唯一的hash值对应的节点为默克尔树的根节点。
15.优选的,还包括:
16.若所述叶子节点或所述中间节点,未能配对,则由预设的默认hash值与所述叶子节点或所述中间节点进行哈希运算。
17.优选的,对账双方根据所述交易数据进行交易对账,包括:
18.对账双方将交易数据不一致的地方进行确认和平账处理。
19.本技术同时提供一种基于默克尔树的交易对账系统,包括:
20.叶子节点生成模块,用于对帐双方根据预设的hash算法、交易数据和对账发起时间,生成每笔交易对应的hash值;所述hash值为交易时间段对应的默克尔树的叶子节点;
21.默克尔树生成模块,用于将两个叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值,将两个中间节点的hash值进行哈希运算,生成默克尔树根节点对应的hash值;
22.对帐模块,用于比较对帐双方生成的默克尔树根据节点对应的hash值,若比较结果为一致,则对帐结果为平帐;若比较结果为不一致,则将对账双方默克尔树对应的叶子节点hash值进行比较,获取比较结果不一致的叶子节点hash值;根据所述叶子节点hash值,获取对应的交易数据;对账双方根据所述交易数据进行交易对账。
23.优选的,默克尔树生成模块,包括:
24.叶子节点配对子模块,用于将两个相邻叶子节点配对,将所述两个相邻叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值;
25.中间节点配对子模块,用于若所述中间节点为两个以上,则将两个相邻中间节点配对,将所述两个相邻中间节点hash值进行哈希运算,生成默克尔树新的中间节点对应的hash值,直至中间节点生成的hash值唯一;唯一的hash值对应的节点为默克尔树的根节点。
26.优选的,还包括:
27.默认配对子模块,用于若所述叶子节点或所述中间节点,未能配对,则由预设的默认hash值与所述叶子节点或所述中间节点进行哈希运算。
28.优选的,对帐模块,包括:
29.处理子模块,用于对账双方将交易数据不一致的地方进行确认和平账处理。
附图说明
30.图1是本技术提供的一种基于默克尔树的交易对账方法的流程示意图;
31.图2是本技术涉及的交易对账默克尔树的数据结构框图及生成过程图;
32.图3是本技术提供的一种基于默克尔树的交易对账系统的结构示意图。
具体实施方式
33.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
34.图1是本技术提供的一种基于默克尔树的交易对账方法的流程示意图,下面结合图1对本技术提供的方法进行详细说明。
35.步骤s101,对帐双方根据预设的hash算法、交易数据和对账发起时间,生成每笔交易对应的hash值;所述hash值为交易时间段对应的默克尔树的叶子节点。
36.默克尔树也叫哈希树,它的本质是一种树状数据结构,由数据块、叶子节点、中间节点和根节点组成,它的任一父节点等于左右子节点数据相加后哈希的结果,最顶层节点叫做默克尔树根,是一种二叉树,具有确定性、不可逆性、长度统一以及高效检索比对等特性。哈希(hash)是一个把任意长度的数据映射成固定长度数据的函数,包括但不限于md5、sha1、sha256、crc32、haval等,且原始数据发生任意改变,哈希值将会发生巨大改变。
37.对帐双方选取包括md5、sha1、sha256、crc32、haval中任一种hash算法,作为对帐双方根据预设的hash算法;将交易数据和对账发起时间,通过所述hash算法进行运行,生成每笔交易对应的hash值。所述hash值为交易时间段对应的默克尔树的叶子节点。交易数据,包括:收款方、付款方、交易金额、交易状态、交易类型、交易时间、交易凭证号。
38.步骤s102,将两个叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值,将两个中间节点的hash值进行哈希运算,生成默克尔树根节点对应的hash值。
39.将两个相邻叶子节点配对,将所述两个相邻叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值;若所述中间节点为两个以上,则将两个相邻中间节点配对,将所述两个相邻中间节点hash值进行哈希运算,生成默克尔树新的中间节点对应的hash值,直至中间节点生成的hash值唯一;唯一的hash值对应的节点为默克尔树的根节点。
40.若所述叶子节点或所述中间节点,未能配对,则由预设的默认hash值与所述叶子节点或所述中间节点进行哈希运算。
41.步骤s103,比较对帐双方生成的默克尔树根据节点对应的hash值,若比较结果为一致,则对帐结果为平帐;若比较结果为不一致,则将对账双方默克尔树对应的叶子节点hash值进行比较,获取比较结果不一致的叶子节点hash值;根据所述叶子节点hash值,获取对应的交易数据;对账双方根据所述交易数据进行交易对账
42.在比较结果为不一致时,根据获取的对应的交易数据,对账双方将交易数据不一致的地方进行确认和平账处理。
43.应用的具体实施例如下:
44.本技术的主要功能有对账设置、hash生成、对账hash树生成、对账执行。对账设置用于设置生成hash值的交易字段,包括对账类型、字段名称、字段顺序、字典值转换、连接符、hash默认值、对账时间等设置,可依据交易类型、交易状态、对账时间等维度进行定制化设置,实现不同业务对账的集中式标准化管理。hash生成模块是在设置好的对账时间点触发,依据对账设置的规则对相应的交易记录进行hash计算,得到每笔交易的对应的hash值。生成的hash值两两再进行hash计算,不能两两配对的交易hash由系统设置的hash默认值进行配对,最终生成包含整个对账交易的hash树,即对账hash树。下游机构获取到上游机构生
成的对账hash树,首先获取根节点,判断根节点是否和本机构生成的对账hash树的根节点一致。依据默克尔树的确定性与不可逆性,若两者一致,则说明双方的交易信息一致,对账工作结束。若不一致,则说明有不一致的交易信息,需要平账。而后对双方对账hash树进行后序遍历,比对遍历结果,输出不一致hash值所对应的叶子节点,进而匹配出叶子节点hash对应的交易信息记录,触发人工处理流程,对账工作结束。
45.对账设置功能流程具体为:
46.点击系统功能页面新增一条对账设置记录,设置对账类型、字段名称、字段顺序、字典值转换、连接符、hash默认值、hash算法、对账时间等信息后保存。选择并设置该对账记录为生效时,系统后台会记录该设置并依据该记录的对账时间生成一项定时任务。选择并设置该对账记录为失效时,系统后台不生成定时任务,只记录该设置。
47.hash生成功能流程具体为:
48.对账设置模块生成的定时任务在特定的对账时间点启动后,依据对账设置的字段项,对交易信息进行有选择的、有顺序的拼接,拼接完成后,经过约定的hash算法进行批量处理,生成每笔交易对应的交易hash值,存储到计算机内,存储位置包括不限于内存、缓存、数据库、文件等。
49.对账hash树生成功能流程具体为:
50.相邻的交易hash值两两配对,不足两个的与对账设置的hash默认值配对。配对连接后,再次进行hash。以相邻的交易hash为叶子节点,再次hash得到的结果作为其父节点,创建默克尔树,。父节点两两配对连接再次进行hash后的结果作为其新的父节点。重复以上步骤,最终得到对账hash树,详见附图2。
51.对账执行功能流程具体为:
52.下游对账机构通过网络请求、邮箱通知等线上或线下方式获取含有对账hash树的数据文件或字符串。解析对账hash树数据文件或字符串,将其转化为树结构的程序对象,读取根节点,判断是否与本机构生成的对账hash树的根节点一致,若一致,则输出对账结果为平账,对账执行结束;若不一致,以后序遍历的方式遍历该对账hash树,与本机构对账hash树进行对比,剔除中间节点,输出本机构对账hash树中不一致的叶子节点交易hash。依据交易hash查询汇总所对应的具体交易详情记录,输出对账结果及对应的详情记录,对账执行结束。
53.由上述实施例可知,交易双方在进行交易时,双方的交易系统根据事先约定的交易数据项及数据字典,将收款方、付款方、交易金额、交易状态、交易类型、交易时间、交易凭证号等关键交易信息拼接后,实时进行哈希运算,得到该笔交易的唯一哈希值。之后将交易的哈希再次进行两两哈希运算,按照默克尔树的创建规则,生成某段时期的交易信息哈希的默克尔树。如果交易双方的交易数据在该段交易期内完全一致,即每笔交易数据的哈希值一致,则最终生成的该时间段的默克尔树根必然一致。根据默克尔树的确定性与不可逆性,如果最终生成的默克尔树根不一致,则可说明交易双方的交易数据必然有差错账。之后遍历双方默克尔树,检索比对出交易哈希不一致的分支,后遍历该分支,确定该分支涉及的具体交易数据哈希,进而锁定某一具体差错交易,触发自动或人工形式的平账,以解决出现的交易差错账。
54.本技术提供的交易对账方法,将复杂、庞大的交易对账文件转化成了格式统一、标
准开放的简洁安全的二叉树数据格式,在传输、解析、比对等过程中较之前有了巨大的改进,降低了网络依赖,耗费较少的的计算资源,标准化的解析使得上下游之间对接更为便捷高效,由于应用到了hash值的确定性和不可逆性,保证了数据不被篡改,使得数据对账处理更加安全准确。
55.基于同一发明构思,本技术同时提供一种基于默克尔树的交易对账系统300,如图3所示,包括:
56.叶子节点生成模块310,用于对帐双方根据预设的hash算法、交易数据和对账发起时间,生成每笔交易对应的hash值;所述hash值为交易时间段对应的默克尔树的叶子节点;
57.默克尔树生成模块320,用于将两个叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值,将两个中间节点的hash值进行哈希运算,生成默克尔树根节点对应的hash值;
58.对帐模块330,用于比较对帐双方生成的默克尔树根据节点对应的hash值,若比较结果为一致,则对帐结果为平帐;若比较结果为不一致,则将对账双方默克尔树对应的叶子节点hash值进行比较,获取比较结果不一致的叶子节点hash值;根据所述叶子节点hash值,获取对应的交易数据;对账双方根据所述交易数据进行交易对账。
59.优选的,默克尔树生成模块,包括:
60.叶子节点配对子模块,用于将两个相邻叶子节点配对,将所述两个相邻叶子节点的hash值进行哈希运算,生成默克尔树中间节点对应的hash值;
61.中间节点配对子模块,用于若所述中间节点为两个以上,则将两个相邻中间节点配对,将所述两个相邻中间节点hash值进行哈希运算,生成默克尔树新的中间节点对应的hash值,直至中间节点生成的hash值唯一;唯一的hash值对应的节点为默克尔树的根节点。
62.优选的,还包括:
63.默认配对子模块,用于若所述叶子节点或所述中间节点,未能配对,则由预设的默认hash值与所述叶子节点或所述中间节点进行哈希运算。
64.优选的,对帐模块,包括:
65.处理子模块,用于对账双方将交易数据不一致的地方进行确认和平账处理。
66.最后应该说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献