CN114817229B - 基于区块链的清分数据处理的方法和区块链*** - Google Patents
基于区块链的清分数据处理的方法和区块链*** Download PDFInfo
- Publication number
- CN114817229B CN114817229B CN202210705751.8A CN202210705751A CN114817229B CN 114817229 B CN114817229 B CN 114817229B CN 202210705751 A CN202210705751 A CN 202210705751A CN 114817229 B CN114817229 B CN 114817229B
- Authority
- CN
- China
- Prior art keywords
- data
- contract
- bank
- clearing
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开涉及一种基于区块链的清分数据处理的方法,可应用于用户节点或银行节点。该用户节点与至少一个银行节点构成区块链***。应用于用户节点的方法包括:接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点;其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。该方法数据转换处理效率高、安全、准确且可追溯验证。
Description
技术领域
本公开涉及金融领域、区块链技术和数据处理技术领域,尤其涉及一种基于区块链的清分数据处理的方法和区块链***。
背景技术
在金融领域,清分数据是指供应链金融应收账款兑付形成的一组付款数据。清分数据一般由企业端的财务***或清算***发送至对应的银行进行处理,例如,一组待处理的清分数据包括清分数据D1和清分数据D2,清分数据D1:A企业应付账款10000元给企业B,该清分数据D1应由X银行进行处理;清分数据D2:B企业应付账款5000给企业C,该清分数据D2应由Y银行进行处理;则企业端的财务***或清算***需要将清分数据D1发送给银行X进行处理,将清分数据D2发送给银行Y进行处理。
已有的在企业端和银行设备端进行清分数据传输和处理的方案中,有的方案存在以下技术问题:基于企业端和银行设备端的直连(Direct Connecting)模式来进行清分数据的传输和处理,对于银行设备端的适用范围窄,面对某个或某些银行的数据结构发生变化的场景进行升级改造的效率低,影响其他银行的数据传输和处理;基于企业端和银行设备端的路由模式(Router Mode)进行清分数据的传输和处理,数据的清分形成是在企业端完成,清分处理内部流程不可控,容易造成业务逻辑二次清分处理,而且数据清分过程容易遭到劫持,如果被非法变更清分数据内容的话,将会引发重大经济损失。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种基于区块链的清分数据处理的方法和区块链***。
第一方面,本公开的实施例提供了一种基于区块链的清分数据处理的方法,上述方法应用于用户节点,该用户节点与至少一个银行节点构成区块链***。上述方法包括:接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点;其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
根据本公开的实施例,上述加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据,包括:加载智能合约数据转换协议,将上述清分数据作为上述智能合约数据转换协议的入参并进行初始化处理,得到关于上述清分数据的合约通用参数;校验上述合约通用参数是否合法;在上述合约通用参数校验合法的情况下,根据上述合约通用参数生成初始协议数据;对上述初始协议数据进行转换处理,得到上述目标清分协议数据。
根据本公开的实施例,上述合约通用参数包括:公共参数秘钥因子、合约状态、初始化公共参数、初始化清分参数以及签名参数;上述公共参数秘钥因子为根据上述目标银行节点的节点信息进行第一计算生成的参数;上述合约状态用于表征上述智能合约数据转换协议所处的执行状态,在入参初始化处理的阶段,上述合约状态为初始化状态;上述初始化公共参数包括合约地址和上述目标银行节点的银行节点地址;上述合约地址用于限定清分数据进行初始化处理后的存放位置;上述初始化清分参数包括统一化格式下的清分关键信息,上述清分关键信息包括:付款来源、付款终点、付款金额以及上述目标银行节点的银行标识;上述签名参数为根据上述初始化公共参数和上述初始化清分参数进行第二计算生成的参数;其中,上述第一计算和上述第二计算的方式是上述用户节点和上述目标银行节点之间的约定计算方式。
根据本公开的实施例,根据上述合约通用参数生成初始协议数据,包括:根据上述合约地址和上述合约状态,生成合约头数据;根据上述初始化公共参数、上述初始化清分参数以及上述签名参数,生成合约体数据;将上述合约头数据和上述合约体数据进行拼接,得到初始协议数据。
根据本公开的实施例,上述加载智能合约数据转换协议,将上述清分数据作为上述智能合约数据转换协议的入参并进行初始化处理,得到关于上述清分数据的合约通用参数,包括:加载智能合约数据转换协议中的清分数据通用模板,并同步为上述清分数据生成唯一的合约地址;上述清分数据通用模板用于限定清分数据协议入参的统一化格式;基于上述清分数据通用模板,对上述清分数据进行初始化处理,得到统一化格式的清分关键信息;基于上述区块链***的内置参数,确定上述清分关键信息中的银行标识对应的银行节点地址;根据上述清分关键信息、上述合约地址和上述银行节点地址,生成合约通用参数。
根据本公开的实施例,对上述初始协议数据进行转换处理,得到上述目标清分协议数据,包括:基于上述目标银行节点对应的一个或多个银行清分数据模板,对上述初始协议数据进行转换处理,得到特定银行参数数据;对上述特定银行参数数据进行加密处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据。
根据本公开的实施例,上述方法还包括:在上述合约通用参数校验不合法的情况下,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
根据本公开的实施例,上述方法还包括:在接收到来自上述目标银行节点同步的关于上述清分数据的处理进展状态或处理结果的情况下,在上述用户节点的账本中存储上述处理进展状态或上述处理结果。
根据本公开的实施例,将上述目标协议数据同步给上述区块链***中的银行节点,包括:基于区块链P2P网络,将上述目标协议数据广播给上述区块链***中的所有银行节点;或者,基于区块链P2P网络,将上述目标协议数据以事件通知的形式同步给上述区块链***中的目标银行节点。
第二方面,本公开的实施例提供了一种基于区块链的清分数据处理的方法,上述方法应用于银行节点,该银行节点与用户节点构成区块链***。上述方法包括:接收由上述用户节点同步的目标清分协议数据;上述目标清分协议数据为待处理的清分数据包由上述用户节点基于智能合约数据转换协议进行数据转换装载得到的加密数据;加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端;其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
根据本公开的实施例,加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理,包括:加载上述智能合约数据转换协议中的初始化解析服务,对上述目标清分协议数据进行解析,得到合约解析数据;校验上述合约解析数据是否有效;在上述合约解析数据有效的情况下,对上述合约解析数据进行解密处理;在解密成功的情况下,对经解密处理得到的目标清分数据进行防篡改校验;其中,在上述目标清分数据防篡改校验通过的情况下,将上述目标清分数据发送至上述银行设备端。
根据本公开的实施例,上述合约解析数据包括:合约头解析数据和合约体解析数据;上述目标清分数据包括:解析公共参数、解析清分参数和解析签名参数。其中,校验上述合约解析数据是否有效,包括:校验上述合约头解析数据中的合约状态是否为初始化状态;在上述合约状态为初始化状态的情况下,视为上述合约解析数据有效。其中,对上述合约解析数据进行解密处理,包括:基于公共参数秘钥因子,对上述合约体解析数据进行解密处理;上述公共参数秘钥因子为根据上述银行节点的节点信息进行第一计算生成的参数。其中,对经解密处理得到的目标清分数据进行防篡改校验,包括:根据上述解析公共参数和上述解析清分参数进行第二计算,生成参照签名参数;校验上述解析签名参数与上述参照签名参数是否一致;在上述解析签名参数与上述参照签名参数一致的情况下,视为目标清分数据防篡改校验通过。上述第一计算和上述第二计算的方式是上述用户节点和上述银行节点之间的约定计算方式。
根据本公开的实施例,上述方法还包括:在上述合约解析数据无效的情况下,或者在上述合约解析数据解密不成功的情况下,或者在上述目标清分数据防篡改校验不通过的情况下,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
根据本公开的实施例,上述方法还包括:接收来自上述银行设备端发送的关于上述目标清分数据的处理进展状态或处理结果;将上述处理进展状态或上述处理结果存储于上述银行节点的账本中,并同步给上述用户节点;在接收到关于上述目标清分数据的处理结果的情况下,更新上述智能合约数据转换协议对应的合约状态为结束状态。
第三方面,本公开的实施例提供了一种区块链***。上述区块链***包括:用户节点和银行节点。上述用户节点包括:清分数据接收模块、数据转换模块和同步模块;上述清分数据接收模块用于接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;上述数据转换模块用于加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;上述同步模块用于将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点;上述银行节点包括:清分协议数据接收模块、数据解析模块和解析数据发送模块;上述清分协议数据接收模块用于接收由上述用户节点同步的目标清分协议数据;上述数据解析模块用于加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;上述解析数据发送模块用于将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端;其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
第四方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的基于区块链的清分数据处理的方法。
第五方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的基于区块链的清分数据处理的方法。
本公开实施例提供的一些技术方案至少具有如下优点的部分或全部:
将用户节点和银行节点构建于同一个区块链***中,用户节点能够基于通用的智能合约数据转换协议进行清分数据的转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;各种形式的清分数据经过该智能合约数据转换协议进行协议装载和转换处理,能够保障数据输入的安全和可溯源验证,避免数据被篡改,同时经过转换处理后的清分数据适配于各自要进行处理的银行设备端的入参形式,数据转换处理效率高、安全、准确且可追溯验证,避免因银行设备端数据结构版本升级或改造带来的复杂且低效的升级上线流程。同时,智能合约数据转换协议的生命周期状态在用户节点和银行节点之间同步更新和延续,能够保证智能合约运行状态的一致性,进而确保用户节点和银行节点基于该智能合约数据转换协议进行清分数据处理过程中的数据处理正确性和安全性。此外,基于区块链网络天然的分布式网络能够避免直连模式或路由模式中由于数据传输的部分线路故障导致数据无法传输或转换处理的问题。
本公开实施例提供的一些技术方案至少具有如下优点的部分或全部:
将用户节点和银行节点构建于同一个区块链***中,银行节点能够基于通用的智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;通过基于智能合约数据转换协议对转换装载后的目标清分协议数据进行解析和校验,自动化输出解析和校验通过的目标清分数据,并发送至上述银行节点所对应的银行设备端,以便银行设备端对清分数据进行数据处理,数据转换处理效率高、安全、准确且可追溯验证,避免因银行设备端数据结构版本升级或改造带来的复杂且低效的升级上线流程。同时,智能合约数据转换协议的生命周期状态在用户节点和银行节点之间同步更新和延续,能够保证智能合约运行状态的一致性,进而确保用户节点和银行节点基于该智能合约数据转换协议进行清分数据处理过程中的数据处理正确性和安全性。此外,基于区块链网络天然的分布式网络能够避免直连模式或路由模式中由于数据传输的部分线路故障导致数据无法传输或转换处理的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了适用于本公开实施例的基于区块链的清分数据处理的方法的***架构;
图2示意性地示出了本公开一实施例的基于区块链的清分数据处理的方法的流程图;
图3示意性地示出了本公开实施例的步骤S220的详细实施流程图;
图4示意性地示出了本公开实施例的步骤S310的详细实施流程图;
图5示意性地示出了本公开实施例的步骤S340a的详细实施流程图;
图6示意性地示出了本公开另一实施例的基于区块链的清分数据处理的方法的流程图;
图7示意性地示出了本公开实施例的步骤S620的详细实施流程图;
图8示意性地示出了本公开实施例的区块链***的结构框图;以及
图9示意性地示出了本公开实施例提供的电子设备的结构框图。
具体实施方式
在研发过程中发现:相关技术中,基于企业端和银行设备端的直连(DirectConnecting)模式来进行清分数据的传输和处理的过程如下:在企业端财务/清算***发送清分数据后,通过清分信息集成转换***对接多个银行的结算通道,在清分信息集成转换***对清分数据进行数据过滤、转换,将转换好的清分数据报文直接发送到对应的银行设备端。这种方式只能支持具有直连功能的银行设备端,对于不支持直连功能的银行设备端应用受限,并且在企业端对应于多个银行设备端的场景下,如果其中某一个或某些银行的数据结构发生升级变化,会导致传输数据交易异常,需要对直连模式中的组件进行修复或升级改造,导致其他银行的数据处理过程受影响。
基于企业端和银行设备端的路由模式(Router Mode)进行清分数据的传输和处理的过程如下:一个企业端的财务***或清算***在发送清分数据后,清分数据路由将对应的银行清分数据独立传送至银行前置机,再由银行前置机接收转换清分数据报文通过物联网或专线发送至银行设备端。这种方式下,数据的清分形成是在企业端完成,清分处理内部流程不可控,容易造成业务逻辑二次清分处理;而且数据清分过程容易遭到劫持,变更清分数据内容,极易造成企业端的重大经济损失。
有鉴于此,本公开的实施例提供了一种基于区块链的清分数据处理的方法和区块链***,通过将用户节点和银行节点构建于同一个区块链***中,用户节点能够基于通用的智能合约数据转换协议进行清分数据的转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;银行节点能够基于通用的智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;数据转换处理效率高、安全、准确且可追溯验证,避免因银行设备端数据结构版本升级或改造带来的复杂且低效的升级上线流程。同时,智能合约数据转换协议的生命周期状态在用户节点和银行节点之间同步更新和延续,能够保证智能合约运行状态的一致性,进而确保用户节点和银行节点基于该智能合约数据转换协议进行清分数据处理过程中的数据处理正确性和安全性。
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示意性地示出了适用于本公开实施例的基于区块链的清分数据处理的方法的***架构。
参照图1所示,适用于本公开实施例的基于区块链的清分数据处理的方法的***架构100包括:用户设备端110、用户节点120、银行节点130和银行设备端140,用户节点120和银行节点130构成一个区块链***(也可以理解为区块链网络),在该区块链***中,节点通过加载和执行智能合约数据转换协议101来实现清分数据的处理。
用户设备端110是企业用户的电子设备端,也可以是个人用户的电子设备端。该电子设备端可以是终端设备或者服务器,上述用户设备端可以安装有财务***或清算***等应用或者为上述应用提供数据服务支持,通过对交易数据、账务等信息进行汇总整理得到清分数据。
用户节点120是企业用户或个人用户在区块链***中注册的节点,该用户节点可以与区块链***中的其他节点,例如银行节点,基于区块链P2P(点对点)网络进行数据传输和数据共识以及区块链账本记录和同步等。
银行设备端140可以是用于进行清分数据的付款操作的金融机构的电子设备端,例如可以是各个银行的服务器或者终端。
银行节点130是用于进行清分数据的付款操作的金融机构在区块链***中注册的节点,该银行节点可以与区块链中的用户节点基于区块链P2P(点对点)网络进行数据传输和数据共识以及区块链账本记录和同步等。在图1中以两个银行节点分别为X银行节点和Y银行节点作为示例,本公开的实施例中,区块链***的银行节点可以是一个或多个,处理清分数据的金融机构可以根据自身需要来加入至区块链***中。
本公开的实施例中,清分数据是指供应链金融应收账款兑付形成的一组付款数据。
例如,用户设备端110中财务***或清算***生成的一组清分数据如下:
A企业应付账款10000给B企业,例如该清分数据需要由X银行进行处理,
B企业应付应付账款5000给C企业,例如该清分数据需要由Y银行进行处理,
C企业应付账款2000给D企业,例如该清分数据需要由Y银行进行处理。
用户设备端110将包含该组清分数据的清分数据包发送给用户节点120,用户节点120加载并基于智能合约数据转换协议101,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;将上述目标清分协议数据同步给上述区块链***中的银行节点130。银行节点130接收由上述用户节点120同步的目标清分协议数据;加载并基于上述智能合约数据转换协议101,对上述目标清分协议数据进行解析和校验处理;将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端140。如此,可以由该银行设备端根据清分数据进行交易付款处理,得到清分数据的处理结果。
上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。例如,在基于智能合约数据转换协议处理某一组清分数据包的过程中,当用户节点或银行节点的某个执行条件触发合约终止条件时,用户节点或银行节点对应终止智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态,同时将合约状态同步给区块链***中的其他节点。在一实施例中,用户节点基于智能合约数据转换协议对清分数据包进行数据转换装载的阶段,智能合约数据转换协议对应的合约状态处于初始化状态;在银行节点接收到目标清分数据后,加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理,此时智能合约数据转换协议对应的合约状态处于初始化解析状态(实现了合约状态的延续);在银行节点将目标清分数据发送至上述银行节点所对应的银行设备端后,银行节点等待银行设备端反馈的关于上述目标清分数据的处理进展状态或处理结果;当银行节点接收到上述目标清分数据的处理结果后,更新智能合约数据转换协议的合约状态为结束状态,并同步给用户节点(实现了合约状态的同步更新)。
下面结合附图来具体实施例进行介绍。
本公开的第一个示例性实施例提供了一种基于区块链的清分数据处理的方法,本实施例的方法应用于上述***架构100中的用户节点120,该用户节点120与至少一个银行节点130构成区块链***。
图2示意性地示出了本公开一实施例的基于区块链的清分数据处理的方法的流程图。
参照图2所示,本公开实施例提供的基于区块链的清分数据处理的方法,包括以下步骤:S210、S220和S230。
在步骤S210,接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据。
在一实施场景中,接收到的清分数据包可以是不同表示形式的清分数据包。例如不同企业用户各自具有独立的一套清分数据的表示形式,企业用户通过企业用户设备端将清分数据上传至用户节点,相应的,用户节点接收到待处理的清分数据包,并通过执行后续步骤S220来基于智能合约数据转换协议来对清分数据包进行数据转换装载。
例如,上述清分数据包中包含的清分数据例如为以下形式:{A企业→B企业,10000,X银行;B企业→C企业,5000,Y银行;C企业→D企业,2000,Y银行}。或者,有的清分数据包为以下形式:{X银行:A企业,B企业,10000;Y银行:B企业,C企业,5000;Y银行:C企业,D企业,2000}。该实施例中,目标银行节点为X银行节点和Y银行节点。
在步骤S220,加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据。
由于不同银行各自具有自己的一套体系来规定参数形式,通过智能合约数据转换协议对清分数据包进行数据转换装载,能够将同一组清分数据包里面的各个清分数据进行统一化装载和转换适配于不同的银行设备端。
智能合约是一段写在区块链上的代码,一段某个事件触发合约中的条款,代码自动执行(满足条件就执行)合约的内容,参数和触发条件等均需要对应进行针对性设计。
上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续,可以参照前述***框架中对智能合约数据转换协议的生命周期状态的具体描述,这里不再赘述。
上述智能合约数据转换协议用于将各种输入形式的清分数据包装载为统一化的入参形式并进行转换处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据。
例如,基于智能合约数据转换协议,将上述两种示例的形式下的清分数据包装载为统一化的入参形式:{from:A,to:B,amount:10000,CodeX;from:B,to:C,amount:5000,CodeY;from:C,to:D,amount:2000,CodeY}。即,统一化的入参形式为<from,to,amount,code>。进一步对统一化形式的清分数据入参进行转换处理后,得到适配于X银行和Y银行的入参形式且加密的目标清分协议数据,例如X银行的入参形式为:{收款方企业名称和缩写,付款方企业名称和缩写,交易金额},Y银行的入参形式为:{付款方企业组织机构代码,收款方企业组织机构代码,付款金额};则目标清分协议数据为加密形式且包含以下内容:{收款方企业名称和缩写:B企业名称和缩写,付款方企业名称和缩写:A企业名称和缩写,交易金额:10000;付款方企业组织机构代码:B企业组织机构代码,收款方企业组织机构代码:C企业组织机构代码,付款金额:5000;付款方企业组织机构代码:C企业组织机构代码,收款方企业组织机构代码:D企业组织机构代码,付款金额:2000}。
智能合约数据转换协议进行初始化装载参数时,可以利用清分数据通用模板来将清分数据包装载为统一化的入参形式。
各个银行具有各自对应的银行清分数据模板,该银行清分数据模板中具有入参形式的规范设置。智能合约数据转换协议中内置有银行清分数据模板或者可以调用银行清分数据模板。
在步骤S230,将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点。
根据本公开的实施例,上述步骤S230中,将上述目标协议数据同步给上述区块链***中的银行节点,包括:基于区块链P2P网络,将上述目标协议数据广播给上述区块链***中的所有银行节点;或者,基于区块链P2P网络,将上述目标协议数据以事件通知的形式同步给上述区块链***中的目标银行节点。
通过事件通知的形式进行数据同步,体现了一种和哪个目标对象有关就对该目标对象进行主动通知的方式,不局限于区块链网络中根据网络就近广播的传统方式。
基于上述步骤S210~S230,将用户节点和银行节点构建于同一个区块链***中,用户节点能够基于通用的智能合约数据转换协议进行清分数据的转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;各种形式的清分数据经过该智能合约数据转换协议进行协议装载和转换处理,能够保障数据输入的安全和可溯源验证,避免数据被篡改,同时经过转换处理后的清分数据适配于各自要进行处理的银行设备端的入参形式,数据转换处理效率高、安全、准确且可追溯验证,避免因银行设备端数据结构版本升级或改造带来的复杂且低效的升级上线流程。同时,智能合约数据转换协议的生命周期状态在用户节点和银行节点之间同步更新和延续,能够保证智能合约运行状态的一致性,进而确保用户节点和银行节点基于该智能合约数据转换协议进行清分数据处理过程中的数据处理正确性和安全性。此外,基于区块链网络天然的分布式网络能够避免直连模式或路由模式中由于数据传输的部分线路故障导致数据无法传输或转换处理的问题。
图3示意性地示出了本公开实施例的步骤S220的详细实施流程图。
根据本公开的实施例,参照图3所示,上述步骤S220中,加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据,包括以下步骤:S310、S320、S330a和S340a。
在步骤S310,加载智能合约数据转换协议,将上述清分数据作为上述智能合约数据转换协议的入参并进行初始化处理,得到关于上述清分数据的合约通用参数。
根据本公开的实施例,上述合约通用参数包括:公共参数秘钥因子、合约状态、初始化公共参数、初始化清分参数以及签名参数。
上述公共参数秘钥因子为根据上述目标银行节点的节点信息(例如为银行节点地址)进行第一计算生成的参数。上述第一计算的方式是上述用户节点和上述目标银行节点之间的约定计算方式。例如,第一计算为哈希计算,则公共参数秘钥因子pri1的计算公式表示为:pri1 =hash(B1),B1表示目标银行节点的银行节点地址。
上述合约状态用于表征上述智能合约数据转换协议所处的执行状态,在入参初始化处理的阶段,上述合约状态为初始化状态。例如,将合约状态表示为status1,则合约状态为初始化状态可以表示为:status1= init。
上述初始化公共参数包括合约地址和上述目标银行节点的银行节点地址。上述合约地址用于限定清分数据进行初始化处理后的存放位置。例如,将初始化公共参数表示为pubData1,则初始化公共参数的参数取值为以下形式:pubData1= con1 (C1, B1)。con1表示拼接函数,C1表示合约地址。
上述初始化清分参数包括统一化格式下的清分关键信息,上述清分关键信息包括:付款来源、付款终点、付款金额以及上述目标银行节点的银行标识。例如,将初始化清分参数表示为preData1,则包含清分关键信息的初始化清分参数可以表示为以下形式:preData1 =con2(from, to, amount, code),con2表示拼接函数。
上述签名参数为根据上述初始化公共参数和上述初始化清分参数进行第二计算生成的参数。上述第二计算的方式是上述用户节点和上述目标银行节点之间的约定计算方式,例如第二计算方式为:对初始化公共参数和上述初始化清分参数进行拼接后,得到拼接参数;对拼接参数进行哈希计算;则签名参数sign1满足以下表达式:sign1=hash(pubData1+ preData1)。
在步骤S320,校验上述合约通用参数是否合法。
例如,基于以下函数来进行校验:checkIsNull(preData1,pubData1,sign1)。
在上述合约通用参数校验合法的情况下,执行步骤S330a和S340a。
在步骤S330a,根据上述合约通用参数生成初始协议数据。
根据本公开的实施例,上述步骤S330a中,根据上述合约通用参数生成初始协议数据,包括:根据上述合约地址和上述合约状态,生成合约头数据;根据上述初始化公共参数、上述初始化清分参数以及上述签名参数,生成合约体数据;将上述合约头数据和上述合约体数据进行拼接,得到初始协议数据。
例如,生成合约头数据的过程可以表示为以下形式:contractHead = con3(C1,status1),生成合约体数据的过程可以表示为以下形式:privacyData1 = con4(preData1,pubData1, sign1)。
在步骤S340a,对上述初始协议数据进行转换处理,得到上述目标清分协议数据。
基于上述步骤S310~S340a,基于智能合约数据转换协议,对清分数据进行初始化处理,得到统一的入参形式,即得到关于上述清分数据的合约通用参数,并进一步对合约通用参数进行转换处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据,能够针对各种形式的清分数据以及所要对接的各种银行的数据结构需要进行自动化转换装载,适用范围广泛。
根据本公开的实施例,参照图3中虚线示意的另一个分支所示,上述步骤S220还包括以下步骤S330b。
在上述合约通用参数校验不合法的情况下,执行步骤S330b。
在步骤S330b,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
图4示意性地示出了本公开实施例的步骤S310的详细实施流程图。
根据本公开的实施例,参照图4所示,上述步骤S310中,加载智能合约数据转换协议,将上述清分数据作为上述智能合约数据转换协议的入参并进行初始化处理,得到关于上述清分数据的合约通用参数,包括以下步骤:S410、S420、S430和S440。
在步骤S410,加载智能合约数据转换协议中的清分数据通用模板,并同步为上述清分数据生成唯一的合约地址。
上述清分数据通用模板用于限定清分数据协议入参的统一化格式,具体统一化格式的具体形式由该协议进行约定,任何形式的清分数据在初始化的步骤中会转换为模板要求的格式。
在步骤S420,基于上述清分数据通用模板,对上述清分数据进行初始化处理,得到统一化格式的清分关键信息。
例如,统一化的入参形式为<from,to,amount,code>。上述清分关键信息包括:付款来源、付款终点、付款金额以及上述目标银行节点的银行标识。
在步骤S430,基于上述区块链***的内置参数,确定上述清分关键信息中的银行标识对应的银行节点地址。
上述内置参数包括区块链***中各个节点的节点信息,包括但不限于是:同一个区块链***(或者称为区块链网络)中的各个节点的节点标识信息(例如用户节点的节点标识和银行节点的节点标识)和各个节点对应的节点地址信息。
在步骤S440,根据上述清分关键信息、上述合约地址和上述银行节点地址,生成合约通用参数。
例如,生成的合约通用参数为:
公共参数秘钥因子:pri1 =hash(B1);
合约状态:status1 = init;
初始化公共参数:pubData1 = con1 (C1,B1);
初始化清分参数:preData1 =con2(from,to,amount,code);
签名参数:sign1 =hash(pubData1+ preData1)。
上述公共参数秘钥因子在用户节点和对应的银行节点之间持有且对外保密,用于对加密的参数进行解密。签名参数用于证明一组合约通用参数所对应的待处理的清分数据在传输和处理过程中的唯一性,如果清分数据在传输时被不法截获并经过篡改,那么签名参数在校验时不会通过,如此可以保证清分数据处理时的正确性和安全性。
图5示意性地示出了本公开实施例的步骤S340a的详细实施流程图。
根据本公开的实施例,参照图5所示,上述步骤S340a中,对上述初始协议数据进行转换处理,得到上述目标清分协议数据,包括以下步骤:S510和S520。
在步骤S510,基于上述目标银行节点对应的一个或多个银行清分数据模板,对上述初始协议数据进行转换处理,得到特定银行参数数据。
银行清分数据模板可以通过目标银行节点的节点标识来获取,例如银行节点的节点标识为银行编码,例如boc(中国银行)、icbc(工商银行)等。确定银行清分数据模板的过程可以采用以下函数进行表示:contractTemplate = contractTemplate (bankCode)。
对初始协议数据进行转换处理得到特定银行参数数据privacybankData的过程可以表示为以下形式:
privacybankData=contractConverts(contractTemplate)。
在步骤S520,对上述特定银行参数数据进行加密处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据。
例如,将目标清分协议数据表示为contractBody,加密过程表示如下:
contractBody = sm4.encryption(privacybankData)。sm4.encryption是一种加密算法。
SM4.0(原名SMS4.0)是我国采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。
在一实施例中,本公开实施例提供的基于区块链的清分数据处理的方法,除了包括上述步骤S210~S230之外,还包括以下步骤:在接收到来自上述目标银行节点同步的关于上述清分数据的处理进展状态或处理结果的情况下,在上述用户节点的账本中存储上述处理进展状态或上述处理结果。
上述处理结果包括处理成功、处理失败等。
例如,银行节点通过从银行设备端接收清分数据的处理进展状态或处理结果,并将该处理进展状态或处理结果同步给用户节点;用户节点可以继续同步给用户设备端。
本公开的第二个示例性实施例提供了一种基于区块链的清分数据处理的方法。本实施例的方法应用于每个银行节点,该银行节点与用户节点构成区块链***,具体可以参照***架构100的描述。本实施例描述的方法可以和第一个实施例描述的方法结合起来参考,以便理解用户节点和银行节点之间的交互过程。
图6示意性地示出了本公开另一实施例的基于区块链的清分数据处理的方法的流程图。
参照图6所示,本公开实施例提供的应用于银行节点的基于区块链的清分数据处理的方法,包括以下步骤:S610、S620和S630。
在步骤S610,接收由上述用户节点同步的目标清分协议数据。
上述目标清分协议数据为待处理的清分数据包由上述用户节点基于智能合约数据转换协议进行数据转换装载得到的加密数据。
在步骤S620,加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理。
其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
在步骤S630,将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端。
基于上述步骤S610~S630,将用户节点和银行节点构建于同一个区块链***中,银行节点能够基于通用的智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;通过基于智能合约数据转换协议对转换装载后的目标清分协议数据进行解析和校验,自动化输出解析和校验通过的目标清分数据,并发送至上述银行节点所对应的银行设备端,以便银行设备端对清分数据进行数据处理,数据转换处理效率高、安全、准确且可追溯验证,避免因银行设备端数据结构版本升级或改造带来的复杂且低效的升级上线流程。同时,智能合约数据转换协议的生命周期状态在用户节点和银行节点之间同步更新和延续,能够保证智能合约运行状态的一致性,进而确保用户节点和银行节点基于该智能合约数据转换协议进行清分数据处理过程中的数据处理正确性和安全性。此外,基于区块链网络天然的分布式网络能够避免直连模式或路由模式中由于数据传输的部分线路故障导致数据无法传输或转换处理的问题。
图7示意性地示出了本公开实施例的步骤S620的详细实施流程图。
根据本公开的实施例,参照图7所示,上述步骤S620中,加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理,包括以下步骤:S710、S720和S730。
在步骤S710,加载上述智能合约数据转换协议中的初始化解析服务,对上述目标清分协议数据进行解析,得到合约解析数据。
根据本公开的实施例,上述合约解析数据包括:合约头解析数据和合约体解析数据。
加载上述智能合约数据转换协议中的初始化解析服务描述为以下表达式:
contractData = getContractInit(C1);
基于初始化解析服务来对目标清分协议数据进行解析,得到合约头解析数据和合约体解析数据,分别表示如下:
contractHead2 (合约头解析数据)= contractData. contractHead(这里的合约头数据实际上是加密形式),
contractBody2 (合约体解析数据)=contractData. contractBody(这里的合约体数据实际上是加密形式)。
在步骤S720,校验上述合约解析数据是否有效。
在一实施例中,校验上述合约解析数据是否有效,包括:校验上述合约头解析数据中的合约状态是否为初始化状态;在上述合约状态为初始化状态的情况下,视为上述合约解析数据有效。
例如,将校验上述合约解析数据是否有效的过程表示为以下形式:
status2 = contractHead2. status1,
checkStatus(C1, status2)。
在步骤S730a,在上述合约解析数据有效的情况下,对上述合约解析数据进行解密处理。
在一实施例中,对上述合约解析数据进行解密处理,包括:基于公共参数秘钥因子,对上述合约体解析数据进行解密处理;上述公共参数秘钥因子为根据上述银行节点的节点信息(例如为银行节点地址)进行第一计算生成的参数。
银行节点采用和用户节点约定的第一计算方式来得到公共参数秘钥因子:pri2 =hash(B1),
进行解密处理的过程表示为以下形式:
privacyData2 = sm4.decrypt(contractBody, pri2)。
在步骤S740a,在解密成功的情况下,对经解密处理得到的目标清分数据进行防篡改校验。
上述目标清分数据包括:解析公共参数、解析清分参数和解析签名参数。
在一实施例中,对经解密处理得到的目标清分数据进行防篡改校验,包括:根据上述解析公共参数和上述解析清分参数进行第二计算,生成参照签名参数;校验上述解析签名参数与上述参照签名参数是否一致;在上述解析签名参数与上述参照签名参数一致的情况下,视为目标清分数据防篡改校验通过。
对经解密处理得到的目标清分数据进行防篡改校验的过程表示如下:
preData2(解析清分参数)= privacyData2. preData1;
pubData2(解析公共参数)=privacyData2. pubData1;
sign2(参照签名参数)=privacyData2. sign1;
checkSign(preData2+ pubData2,sign2)。
上述第二计算的方式是上述用户节点和上述目标银行节点之间的约定计算方式,例如第二计算方式为:对初始化公共参数和上述初始化清分参数进行拼接后,得到拼接参数;对拼接参数进行哈希计算。
在上述目标清分数据防篡改校验通过的情况下,执行步骤S630,将上述目标清分数据发送至上述银行设备端。
根据本公开的实施例,参照图7中虚线的分支所示,上述步骤S620还包括以下步骤:S730b、S740b或S750中的一项或多项。
在步骤S730b,在上述合约解析数据无效的情况下,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
在步骤S740b,在上述合约解析数据解密不成功的情况下,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
在步骤S750,在上述目标清分数据防篡改校验不通过的情况下,终止上述智能合约数据转换协议的执行,并更新上述智能合约数据转换协议对应的合约状态为结束状态。
根据本公开的实施例,上述方法除了包括上述步骤S610~S630之外,还包括:接收来自上述银行设备端发送的关于上述目标清分数据的处理进展状态或处理结果;将上述处理进展状态或上述处理结果存储于上述银行节点的账本中,并同步给上述用户节点;在接收到关于上述目标清分数据的处理结果的情况下,更新上述智能合约数据转换协议对应的合约状态为结束状态。
本公开的第三个示例性实施例提供了一种区块链***。上述区块链***包括:用户节点和银行节点。上述用户节点例如为企业节点。
上述用户节点用于执行以下步骤或者包含执行以下步骤的功能模块:接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据;将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点。
上述银行节点用于执行以下步骤或者包含执行以下步骤的功能模块:接收由上述用户节点同步的目标清分协议数据;加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理;将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端。其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
上述用户节点或银行节点还可以进一步包括的步骤或者上述各个步骤的详细实施步骤可以参照并入前述两个实施例的描述内容,这里不再赘述。
图8示意性地示出了本公开实施例的区块链***的结构框图。
例如,在一实施例中,参照图8所示,区块链***800包括:用户节点810和银行节点820,上述用户节点810包括:清分数据接收模块811、数据转换模块812和同步模块813。
上述清分数据接收模块811用于接收待处理的清分数据包,上述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据。
上述数据转换模块812用于加载并基于智能合约数据转换协议,对上述清分数据包进行数据转换装载,得到适配于银行清分数据入参形式且加密的目标清分协议数据。
上述同步模块813用于将上述目标清分协议数据同步给上述区块链***中的银行节点,上述银行节点包括上述目标银行节点。
上述银行节点820包括:清分协议数据接收模块821、数据解析模块822和解析数据发送模块823。
上述清分协议数据接收模块821用于接收由上述用户节点同步的目标清分协议数据。
上述数据解析模块822用于加载并基于上述智能合约数据转换协议,对上述目标清分协议数据进行解析和校验处理。
上述解析数据发送模块823用于将解析和校验通过的目标清分数据发送至上述银行节点所对应的银行设备端;其中,上述智能合约数据转换协议的生命周期状态在上述用户节点和上述银行节点之间同步更新和延续。
上述用户节点810或银行节点820所包括的模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。用户节点810或银行节点820所包括的模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,用户节点810或银行节点820所包括的模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本公开的第四个示例性实施例提供了一种电子设备。
图9示意性地示出了本公开实施例提供的电子设备的结构框图。
参照图9所示,本公开实施例提供的电子设备900包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901、通信接口902和存储器903通过通信总线904完成相互间的通信;存储器903,用于存放计算机程序;处理器901,用于执行存储器上所存放的程序时,实现如上所述的基于区块链的清分数据处理的方法。
本公开的第五个示例性实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的基于区块链的清分数据处理的方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种基于区块链的清分数据处理的方法,其特征在于,应用于用户节点,所述用户节点与至少一个银行节点构成区块链***,所述方法包括:
接收待处理的清分数据包,所述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;
加载智能合约数据转换协议,将所述清分数据作为所述智能合约数据转换协议的入参并进行初始化处理,得到关于所述清分数据的合约通用参数;
校验所述合约通用参数是否合法;
在所述合约通用参数校验合法的情况下,根据所述合约通用参数生成初始协议数据;
基于所述目标银行节点对应的一个或多个银行清分数据模板,对所述初始协议数据进行转换处理,得到对应银行参数数据;
对所述对应银行参数数据进行加密处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据;
将所述目标清分协议数据同步给所述区块链***中的银行节点,所述银行节点包括所述目标银行节点;
其中,所述智能合约数据转换协议的生命周期状态在所述用户节点和所述银行节点之间同步更新和延续;
所述合约通用参数包括:公共参数秘钥因子、合约状态、初始化公共参数、初始化清分参数以及签名参数;
所述公共参数秘钥因子为根据所述目标银行节点的节点信息进行第一计算生成的参数;
所述合约状态用于表征所述智能合约数据转换协议所处的执行状态,在入参初始化处理的阶段,所述合约状态为初始化状态;
所述初始化公共参数包括合约地址和所述目标银行节点的银行节点地址;所述合约地址用于限定清分数据进行初始化处理后的存放位置;
所述初始化清分参数包括统一化格式下的清分关键信息,所述清分关键信息包括:付款来源、付款终点、付款金额以及所述目标银行节点的银行标识;
所述签名参数为根据所述初始化公共参数和所述初始化清分参数进行第二计算生成的参数;
其中,所述第一计算和所述第二计算的方式是所述用户节点和所述目标银行节点之间的约定计算方式。
2.根据权利要求1所述的方法,其特征在于,根据所述合约通用参数生成初始协议数据,包括:
根据所述合约地址和所述合约状态,生成合约头数据;
根据所述初始化公共参数、所述初始化清分参数以及所述签名参数,生成合约体数据;
将所述合约头数据和所述合约体数据进行拼接,得到初始协议数据。
3.根据权利要求1或2所述的方法,其特征在于,所述加载智能合约数据转换协议,将所述清分数据作为所述智能合约数据转换协议的入参并进行初始化处理,得到关于所述清分数据的合约通用参数,包括:
加载智能合约数据转换协议中的清分数据通用模板,并同步为所述清分数据生成唯一的合约地址;所述清分数据通用模板用于限定清分数据协议入参的统一化格式;
基于所述清分数据通用模板,对所述清分数据进行初始化处理,得到统一化格式的清分关键信息;
基于所述区块链***的内置参数,确定所述清分关键信息中的银行标识对应的银行节点地址;
根据所述清分关键信息、所述合约地址和所述银行节点地址,生成合约通用参数。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述合约通用参数校验不合法的情况下,终止所述智能合约数据转换协议的执行,并更新所述智能合约数据转换协议对应的合约状态为结束状态。
5.根据权利要求1所述的方法,其特征在于,还包括:
在接收到来自所述目标银行节点同步的关于所述清分数据的处理进展状态或处理结果的情况下,在所述用户节点的账本中存储所述处理进展状态或所述处理结果。
6.一种基于区块链的清分数据处理的方法,其特征在于,应用于银行节点,所述银行节点与用户节点构成区块链***,所述方法包括:
接收由所述用户节点同步的目标清分协议数据;所述目标清分协议数据基于权利要求1-5中任一项所述的方法得到;
加载并基于所述智能合约数据转换协议,对所述目标清分协议数据进行解析和校验处理;
将解析和校验通过的目标清分数据发送至所述银行节点所对应的银行设备端;
其中,所述智能合约数据转换协议的生命周期状态在所述用户节点和所述银行节点之间同步更新和延续。
7.根据权利要求6所述的方法,其特征在于,加载并基于所述智能合约数据转换协议,对所述目标清分协议数据进行解析和校验处理,包括:
加载所述智能合约数据转换协议中的初始化解析服务,对所述目标清分协议数据进行解析,得到合约解析数据;
校验所述合约解析数据是否有效;
在所述合约解析数据有效的情况下,对所述合约解析数据进行解密处理;
在解密成功的情况下,对经解密处理得到的目标清分数据进行防篡改校验;
其中,在所述目标清分数据防篡改校验通过的情况下,将所述目标清分数据发送至所述银行设备端。
8.根据权利要求7所述的方法,其特征在于,所述合约解析数据包括:合约头解析数据和合约体解析数据;所述目标清分数据包括:解析公共参数、解析清分参数和解析签名参数;
其中,校验所述合约解析数据是否有效,包括:
校验所述合约头解析数据中的合约状态是否为初始化状态;
在所述合约状态为初始化状态的情况下,视为所述合约解析数据有效;
其中,对所述合约解析数据进行解密处理,包括:
基于公共参数秘钥因子,对所述合约体解析数据进行解密处理;所述公共参数秘钥因子为根据所述银行节点的节点信息进行第一计算生成的参数;
其中,对经解密处理得到的目标清分数据进行防篡改校验,包括:
根据所述解析公共参数和所述解析清分参数进行第二计算,生成参照签名参数;
校验所述解析签名参数与所述参照签名参数是否一致;
在所述解析签名参数与所述参照签名参数一致的情况下,视为目标清分数据防篡改校验通过;
所述第一计算和所述第二计算的方式是所述用户节点和所述银行节点之间的约定计算方式。
9.根据权利要求8所述的方法,其特征在于,还包括:
在所述合约解析数据无效的情况下,或者在所述合约解析数据解密不成功的情况下,或者在所述目标清分数据防篡改校验不通过的情况下,终止所述智能合约数据转换协议的执行,并更新所述智能合约数据转换协议对应的合约状态为结束状态。
10.根据权利要求6-9中任一项所述的方法,其特征在于,还包括:
接收来自所述银行设备端发送的关于所述目标清分数据的处理进展状态或处理结果;
将所述处理进展状态或所述处理结果存储于所述银行节点的账本中,并同步给所述用户节点;
在接收到关于所述目标清分数据的处理结果的情况下,更新所述智能合约数据转换协议对应的合约状态为结束状态。
11.一种区块链***,其特征在于,包括:用户节点和银行节点;
所述用户节点包括:清分数据接收模块、数据转换模块和同步模块;所述清分数据接收模块用于接收待处理的清分数据包,所述清分数据包具有需要由一个或多个目标银行节点进行针对性处理的清分数据;所述数据转换模块用于:加载智能合约数据转换协议,将所述清分数据作为所述智能合约数据转换协议的入参并进行初始化处理,得到关于所述清分数据的合约通用参数;校验所述合约通用参数是否合法;在所述合约通用参数校验合法的情况下,根据所述合约通用参数生成初始协议数据;基于所述目标银行节点对应的一个或多个银行清分数据模板,对所述初始协议数据进行转换处理,得到对应银行参数数据;对所述对应银行参数数据进行加密处理,得到适配于银行清分数据入参形式且加密的目标清分协议数据;所述同步模块用于将所述目标清分协议数据同步给所述区块链***中的银行节点,所述银行节点包括所述目标银行节点;
所述银行节点包括:清分协议数据接收模块、数据解析模块和解析数据发送模块;所述清分协议数据接收模块用于接收由所述用户节点同步的目标清分协议数据;所述数据解析模块用于加载并基于所述智能合约数据转换协议,对所述目标清分协议数据进行解析和校验处理;所述解析数据发送模块用于将解析和校验通过的目标清分数据发送至所述银行节点所对应的银行设备端;
其中,所述智能合约数据转换协议的生命周期状态在所述用户节点和所述银行节点之间同步更新和延续;所述合约通用参数包括:公共参数秘钥因子、合约状态、初始化公共参数、初始化清分参数以及签名参数;
所述公共参数秘钥因子为根据所述目标银行节点的节点信息进行第一计算生成的参数;
所述合约状态用于表征所述智能合约数据转换协议所处的执行状态,在入参初始化处理的阶段,所述合约状态为初始化状态;
所述初始化公共参数包括合约地址和所述目标银行节点的银行节点地址;所述合约地址用于限定清分数据进行初始化处理后的存放位置;
所述初始化清分参数包括统一化格式下的清分关键信息,所述清分关键信息包括:付款来源、付款终点、付款金额以及所述目标银行节点的银行标识;
所述签名参数为根据所述初始化公共参数和所述初始化清分参数进行第二计算生成的参数;
其中,所述第一计算和所述第二计算的方式是所述用户节点和所述目标银行节点之间的约定计算方式。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210705751.8A CN114817229B (zh) | 2022-06-21 | 2022-06-21 | 基于区块链的清分数据处理的方法和区块链*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210705751.8A CN114817229B (zh) | 2022-06-21 | 2022-06-21 | 基于区块链的清分数据处理的方法和区块链*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114817229A CN114817229A (zh) | 2022-07-29 |
CN114817229B true CN114817229B (zh) | 2022-09-20 |
Family
ID=82521776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210705751.8A Active CN114817229B (zh) | 2022-06-21 | 2022-06-21 | 基于区块链的清分数据处理的方法和区块链*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817229B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311258A (zh) * | 2020-01-20 | 2020-06-19 | 布比(北京)网络技术有限公司 | 基于区块链的可信交易方法、装置、***、设备及介质 |
WO2020201662A1 (fr) * | 2019-03-29 | 2020-10-08 | Orange | Systeme et procede d'enrichissement de donnees |
CN113222606A (zh) * | 2021-07-07 | 2021-08-06 | 中企链信(北京)科技有限公司 | 一种基于智能合约的安全交易执行方法 |
CN113765675A (zh) * | 2021-06-21 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
-
2022
- 2022-06-21 CN CN202210705751.8A patent/CN114817229B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020201662A1 (fr) * | 2019-03-29 | 2020-10-08 | Orange | Systeme et procede d'enrichissement de donnees |
CN111311258A (zh) * | 2020-01-20 | 2020-06-19 | 布比(北京)网络技术有限公司 | 基于区块链的可信交易方法、装置、***、设备及介质 |
CN113765675A (zh) * | 2021-06-21 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
CN113222606A (zh) * | 2021-07-07 | 2021-08-06 | 中企链信(北京)科技有限公司 | 一种基于智能合约的安全交易执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114817229A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109327528B (zh) | 一种基于区块链的节点管理方法和装置 | |
CN109154885B (zh) | 区块链平台上的业务处理执行 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
JP6532930B1 (ja) | ブロックチェーンベースのユーザ識別管理用の分散型台帳装置、分散型台帳方法 | |
WO2021184826A1 (zh) | 基于区块链的资源转移方法、装置、节点设备及存储介质 | |
Sabry et al. | The road to the blockchain technology: Concept and types | |
CN107730225B (zh) | 一种大数据交易方法、***、设备及计算机存储介质 | |
CN111414650B (zh) | 一种基于区块链存证的订单处理方法及*** | |
US20140006247A1 (en) | System, device and method for the interaction of security information | |
CN111738725B (zh) | 跨境资源转移真实性审核方法、装置及电子设备 | |
CN111951090A (zh) | 一种基于银企直联的报文交互装置及方法 | |
CN110458539B (zh) | 一种加密货币自动提取方法及*** | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN110601896A (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
CN111461799B (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN111461881A (zh) | 数据管理方法、装置、计算机设备及存储介质 | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN110889761A (zh) | 一种跨链交易方法及存储介质 | |
CN115705601A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110417917B (zh) | 用于票据流转的方法、***、计算机设备和介质 | |
CN114817229B (zh) | 基于区块链的清分数据处理的方法和区块链*** | |
CN112150158B (zh) | 一种区块链交易交付验证方法及装置 | |
WO2023005500A1 (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN113014556B (zh) | 银企通讯***、通讯方法以及电子终端 | |
CN112150157B (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 |