一种基于区块链网关的数据处理方法、装置及系统与流程

未命名 10-16 阅读:175 评论:0


1.本发明涉及数据处理技术领域,特别是指一种基于区块链网关的数据处理方法、装置及系统。


背景技术:

2.当前,以baas区块链服务平台为主的联盟链托管化管理已成为主要趋势,大多采用云计算环境进行区块链集群的部署。尽管baas实现了区块链网络的快速部署及多维度管理,但云端区块链账本的接入门槛仍较高,阻碍了区块链业务的批量化快速落地。
3.为解决上述问题,业界中出现了区块链网关平台方案,旨在实现区块链账本的低成本接入,这是区块链网关平台的主要目标。为实现此目标,业界中多采用基于http协议的区块链指令网关方案,方案采用http协议传输用户指令,由网关平台提取预存的用户私钥,再以传统的区块链交互方式,执行用户指令,并回执结果给用户。
4.传统区块链引擎的写入api应用程序接口时,都是在同一接口下,并以grpc多语言远程调用协议机制对外暴露。受此限制,以http协议暴露api的区块链网关,无法直接在用户本地使用grpc api,只能发送原始数据到网关,由网关代为执行指令。网关中执行指令时,网关需要预存用户私钥,以执行用户区块链指令,但这有悖于私钥私有的安全性原则,存在极大信息安全隐患。


技术实现要素:

5.本发明提供了一种基于区块链网关的数据处理方法、装置及系统,以提高数据处理过程的安全性及有效性。
6.为解决上述技术问题,本发明的实施例提供一种基于区块链网关的数据处理方法,包括:接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
7.可选的,通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体,包括:通过调用第一开发组件生成签名函数;利用所述签名函数和所述存储于本地的第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体。
8.可选的,所述的基于区块链网关的数据处理方法,还包括:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的背书回执,所述背书回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述
交易请求体进行签名后产生的;调用所述第一开发组件利用所述第一私钥对所述背书回执签名后,生成提交请求体;将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
9.可选的,所述的基于区块链网关的数据处理方法,还包括:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的交易状态回执,所述交易状态回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述提交请求体进行签名后产生的。
10.可选的,将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点,包括:将所述交易请求体转换为第一网关格式消息;调用所述第一开发组件将所述第一网关格式消息发送至网关平台,由所述网关平台将所述第一网关格式消息分发到所述目标执行端点,并由所述目标执行端点将所述第一网关格式消息还原为所述交易请求体,并调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
11.可选的,将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:将所述提交请求体转换为第二网关格式消息;调用所述第一开发组件将所述第二网关格式消息发送至网关平台,由所述网关平台将所述第二网关格式消息分发到目标执行端点,并由所述目标执行端点将所述第二网关格式消息还原为提交请求体,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
12.可选的,由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:由所述目标执行端点调用第二开发组件中的目标函数,将所述提交请求体中的提交请求和提交状态按顺序通过第二应用程序接口发送至目标区块链节点,所述提交状态是所述提交请求是否被成功接收的状态。
13.本发明的实施例还提供一种基于区块链网关的数据处理装置,包括:收发模块,用于接收数据访问请求;所述数据访问请求携带明文数据;处理模块,用于通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
14.本发明的实施例还提供一种基于区块链网关的数据处理系统,包括:客户端,用于接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;
网关平台,用于将所述交易请求体发送至目标执行端点;目标执行端点,用于调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
15.本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上述所述的方法。
16.本发明的上述方案至少包括以下有益效果:本发明的上述方案,通过接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点,提高了数据处理过程的安全性及有效性,降低用户信息泄露风险。
附图说明
17.图1为本发明实施例提供的基于区块链网关的数据处理方法流程示意图;图2为本发明一可选实施例提供的基于区块链网关的数据处理方法的具体流程示意图;图3为本发明实施例提供的基于区块链网关的数据处理装置的模块示意图。
具体实施方式
18.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
19.如图1所示,本发明提供一基于区块链网关的数据处理方法,应用于客户端,所述方法包括:步骤11,接收数据访问请求,所述数据访问请求携带明文数据;步骤12,通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;步骤13,将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
20.该实施例中,所述第一开发组件以及所述第二开发组件均可以是sdk软件开发工具包;这里,所述第一开发组件可以用于连接所述客户端与所述网关平台,在所述客户端接收到所述数据访问请求后,可以调用所述第一开发组件通过存储于所述客户端中的用户的第一私钥,对所述数据访问请求携带的明文数据进行签名处理,获得所述交易请求体,并分发至所述网关平台,再通过所述网关平台将所述交易请求体发送至所述目标执行端点;所述第二开发组件可以用于连接所述目标执行端点与所述目标区块链节点;在所
述目标执行端点接收到所述网管平台转发的所述交易请求体后,可以调用所述第二开发组件中的第一预设函数,将所述交易请求体通过第一应用程序接口发送至目标区块链节点;这里,所述第一应用程序接口为传输所述交易请求体的第一接口;所述第一预设函数可以是endorsetx函数,可以用于将所述交易请求体发送至目标区块链节点;所述交易请求体为通过所述第一私钥进行签名加密处理后的加密数据,所述交易请求体中包含了所述明文数据中的存证账本、智能合约以及请求交易参数;所述智能合约表示一段运行在区块链网络上的业务逻辑代码,满足某个条件即会执行某一个业务代码片段;通过所述第一开发组件以及所述客户端本地存储的第一私钥,可以实现对所述数据访问请求中的明文数据进行签名加密处理,在后续信息交互的过程中,可以直接以交易请求体进行信息交互,避免在所述网关平台、所述目标执行端点中存储用户的第一私钥,保证了用户第一私钥的私有性,同时在所述客户端对所述数据访问请求中的明文数据进行签名加密处理,可以保证明文数据的有效性,避免直接以明文数据进行传输造成的数据失真或失效;此外,在所述客户端生成交易请求体,可以避免所述网关平台传输用户的第一私钥,保证用户第一私钥的以及明文数据的安全性,降低信息泄漏风险;所述目标执行端点可以是一预设应用程序,该预设应用程序是与所述目标区块链节点一一对应的;由于所述数据访问请求中的明文数据已在客户端中进行签名处理,后续在交易请求体到达所述目标执行端点时,目标执行端点不需要通过私钥签名等复杂的密码学运算再对交易请求体进行签名处理,可以降低目标执行端点的性能要求,进而降低算力成本。
21.本发明的一可选实施例中,上述步骤12,可以包括:步骤121,通过调用第一开发组件生成签名函数;步骤122,利用所述签名函数和所述存储于本地的第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体。
22.该实施例中,所述签名函数为对所述明文数据进行签名加密运算的函数,这里,对所述签名函数的类型及结构不做限制,可以根据所述数据访问请求的具体内容、本地存储的第一私钥或者应用时实际场景需要,通过所述第一开发组件生成适于所述数据访问请求的具体内容、本地存储的第一私钥或者应用时实际场景需要的签名函数;进一步的,通过所述签名函数以及所述第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体,用于后续进行数据交互传输,可以避免直接传输原始明文数据造成的泄漏风险。
23.本发明的一可选实施例中,基于上述步骤121-122的基础上,还可以包括:步骤123,接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的背书回执,所述背书回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述交易请求体进行签名后产生的;步骤124,调用所述第一开发组件利用所述第一私钥对所述背书回执签名后,生成提交请求体;步骤125,将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节
点。
24.该实施例中,在所述客户端通过依次通过所述网关平台、所述目标执行端点将所述交易请求体发送至所述目标区块链节点后,所述目标区块链接节点对所述交易请求体进行执行,同时并通过自身存储的第二私钥对接收到的所述交易请求体进行加密签名运算,生成所述背书回执,并再依次通过所述目标执行端点、所述网管平台将所述背书回执发送至所述客户端,表示所述交易请求体已被所述目标区块链节点接收并执行,所述背书回执中可以包括;目标区块链节点的标识信息以及其他相关验证数据等;进一步的,所述客户端调用所述第一开发组件通过所述第一私钥对所述背书回执进行加密签名运算,并生成所述提交请求体;所述提交请求体可以包括:提交请求以及提交状态;更进一步的,所述客户端依次通过所述网管平台、所述目标执行端点,将所述提交请求体发送至所述目标区块链节点;其中,所述目标执行端点在接收到所述提交请求体后调用所述第二开发组件,将所述提交请求体中的提交请求以及提交状态先后通过第二应用程序接口发送至所述目标区块链节点;这里,所述第二应用程序接口用于传输所述提交请求和提交状态的第二接口。
25.进一步的,上述步骤125,可以包括:步骤1251,将所述提交请求体转换为第二网关格式消息;步骤1252,调用所述第一开发组件将所述第二网关格式消息发送至网关平台,由所述网关平台将所述第二网关格式消息分发到目标执行端点,并由所述目标执行端点将所述第二网关格式消息还原为提交请求体,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
26.该实施例中,在所述客户端将所述提交请求体发送至所述网关平台时,所述客户端调用所述第一开发组件将所述提交请求体转换为第二网关格式消息,以便于将转换为第二网关格式消息的提交请求体发送至所述网关平台;所述网关平台在接收到所述第二网关格式消息时,根据所述第二网关格式消息中的格式信息,将其分发至对应的目标执行端点中,以保证后续传输的准确性;进一步的,所述目标执行端点在接收到所述网管平台分发的所述第二网关格式消息后,所述目标执行端点会将所述第二网关格式消息还原为所述提交请求体,并调用所述第二开发组件依次将所述提交请求体中的提交请求和提交状态先后发送至所述目标区块链节点进行执行,所述目标执行端点以原本请求体的形式将所述提交请求体发送至所述目标执行端点,可以避免在所述目标执行端点上进行私钥签名等复杂的密码学运算,降低私钥在网关平台以及目标执行端点之间进行传输、存储的风险,同时也降低算力成本。
27.本发明的一可选实施例中,上述步骤1252中:由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,可以包括:步骤12521,由所述目标执行端点调用第二开发组件中的目标函数,将所述提交请求体中的提交请求和提交状态按顺序通过第二应用程序接口发送至目标区块链节点,所述提交状态是所述提交请求是否被成功接收的状态。
28.该实施例中,在所述目标执行端点接收到所述第二网关格式消息并将其还原为所述提交请求体后,所述目标执行端点可以调用所述第二开发组件中的目标函数,将所述提
交请求体中的提交请求和提交状态发送至所述目标区块链节点进行执行;这里,所述目标函数可以是committx函数,可以用于将所述提交请求体发送至目标区块链节点;本发明的一可选实施例中,基于上述步骤123-125的基础上,还可以包括:步骤126,接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的交易状态回执,所述交易状态回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述提交请求体进行签名后产生的。
29.该实施例中,在所述目标区块链节点接收到所述目标执行端点发送给的所述提交请求体后,所述目标区块链节点执行在执行所述提交请求体的同时,通过其自身存储的第二私钥对所述提交请求体进行加密签名运算,并生成所述交易状态回执,并依次通过所述目标执行端点、所述网关平台将所述交易状态回执发送至所述客户端;进一的,在所述客户端接收到所述交易状态回执后,且识别成功时,所述客户端会提取所述背书回执中的交易运算回执结果,进而获取到所述交易运算回执结果中的回执信息体、目标区块链节点的区块号、交易请求的标识信息等,即为所要访问的数据信息。
30.本发明的一可选实施例中,上述步骤13,可以包括:步骤131,将所述交易请求体转换为第一网关格式消息;步骤132,调用所述第一开发组件将所述第一网关格式消息发送至网关平台,由所述网关平台将所述第一网关格式消息分发到所述目标执行端点,并由所述目标执行端点将所述第一网关格式消息还原为所述交易请求体,并调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
31.该实施例中,在所述客户端通过调用所述第一开发组件生成所述交易请求体后,所述第一开发组件进一步会将所述交易请求体转换为第一网关格式信息,并发送至所述网关平台;所述网关平台在接收到所述第一网关格式消息时,根据所述第一网关格式消息中的格式信息,将其分发至对应的目标执行端点中,以保证后续传输的效率及准确性;进一步的,所述目标执行端点在接收到所述网管平台分发的所述第一网关格式消息后,所述目标执行端点会将所述第一网关格式消息还原为所述交易请求体,并调用所述第二开发组件中的第一预设函数,将所述交易请求体通过第一应用程序接口发送至目标区块链节点进行执行,所述目标执行端点以原本请求体的形式将所述交易请求体发送至所述目标执行端点,可以避免在所述目标执行端点上进行私钥签名等复杂的密码学运算,降低私钥在网关平台以及目标执行端点之间进行传输、存储的风险,同时也降低算力成本;这里,所述客户端与所述网关平台、所述网关平台与所述目标执行端点之间均可以通过第一预设协议进行网关格式信息以及回执的传输;所述目标执行端点与所述目标区块链节点可以通过第二预设协议进行请求体以及回执的传输;所述第一预设协议可以是http协议,所述第二预设协议可以是grpc协议;客户端通过第一开发组件以及本地存储的第一私钥生成相应的请求体,并将相应的请求体以http协议发送到网关平台,网关将相应的请求体分发到目标执行端点,并由目标执行端点调用第二开发组件,并通过grpc协议将相应的请求体发送目标区块链节点并回执;这里,既保持了网关平台以http协议对外提供应用程序接口的易用性,同时避免在网关平台内使用用户第一私钥的行为,利用第一私钥进行签名运算只发生在客户端本地,进而降低信息泄漏风险。
32.本发明的上述实施例的一种实现实例如下:
当前区块链集群中有一个存证账本:depositledger,有一个存储智能合约:depositcc,该智能合约中提供了存证保持指令:save {key} {valye},用于将key:value数据保持到区块链账本中。处理步骤如下:s1.用户使用网关sdk生成网关客户端client、私钥签名函数signer;s2.用户准备交易参数:“depositledger”,“depositcc”,“k1”,“v1”;s3.用户使用步骤1、2中的参数调用submit函数发起交易请求;s4.网关sdk使用步骤1、2中的参数,调用请求体生成函数endorserequest生成请求体endorserequest;s5.网关sdk将endorserequest转换为网关消息格式endorsemsg;s6.网关sdk将endorsemsg发送到网关平台;s7.网关平台收到endorsemsg,根据其格式信息,将其分发到具体执行端点;s8.执行端点程序收到endorsemsg将其还原为endorserequest;s9.执行端点调用区块链sdk中的endorsetx函数将endorserequest发送到区块链节点;s10.区块链节点对endorserequest签名后回执endorseresonse到执行端点;s11.执行端点将endorseresonse回执给网关平台;s12.网关平台将endorseresonse回执给用户侧的网关sdk;s13.网关sdk收到endorseresonse;s14.网关sdk对endorseresonse进行签名后生成submitrequest和statusreques;s15.网关sdk将submitrequest和statusrequest生成网关格式的submitmsg,并发至网关平台;s16.网关平台收到submitmsg,根据其中的格式信息,将其分发到具体执行端点;s17.执行端点程序收到submitmsg将其还原为submitrequest和statusrequest;s18.执行端点调用区块链sdk,调用committx函数将submitrequest、statusrequest先后发送到区块链节点;s19.区块链节点收到请求后回执commitstatusresonse到执行端点;s20.执行端点将commitstatusresonse回执给网关平台;s21.网关平台将commitstatusresonse回执给网关sdk;s22.网关sdk 收到commitstatusresonse,识别到成功时,提取步骤13中endorseresonse内的交易运算回执,回执结果给步骤3中的submit函数。
33.s23.用户获取到交易回执,结果包含回执信息体,区块号,交易id等。
34.本发明的实施例还提供一种基于区块链网关的数据处理系统,包括:客户端,用于接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;网关平台,用于将所述交易请求体发送至目标执行端点;目标执行端点,用于调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
35.通过上述实施提供的基于区块链网关的数据处理系统,由网关、执行端点、区块链节点sdk及区块链网关sdk组成。
36.第二开发组件(区块链sdk):负责连接区块链节点,提供区块链查询、写入api,api参数为最终签名请求体,区块链的写入api比较复杂,涉及多次关联签名,本方案将写入操作拆分为背书、提交两个api。
37.第一开发组件(网关sdk):提供网关客户端,将用户请求透明化地转换为签名请求体,并以http协议传输至网关。
38.网关:网关接受来自用户的签名请求体,并分发到执行端点。
39.执行端点:调用区块链sdk,将签名请求体发送到区块链集群执行并回执结果。
40.在区块链sdk中,关于写账本操作,提供了两个api;背书请求api:步骤s6请求数据发送(不涉及私钥使用);写入请求api:步骤s15请求数据发送(不涉及私钥使用);在网关sdk中,关于写账本操作,提供了两个请求生成api;背书请求api:步骤s6请求数据生成(私钥签名);写入请求api:步骤s15请求数据生成(私钥签名);用户使用网关sdk生成签名请求体数据,将数据以http协议发送到网关,网关将请求数据分发到执行端点,由执行端点调用区块链sdk发送请求到区块链集群并回执数据。
41.在进行数据访问请求时,请求体的具体传输流程如图2所示;这里,所述客户端与所述网关平台、所述网关平台与所述目标执行端点之间均可以通过第一预设协议进行网关格式信息以及回执的传输;所述目标执行端点与所述目标区块链节点可以通过第二预设协议进行请求体以及回执的传输;这里,所述客户端通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体,包括:通过调用第一开发组件生成签名函数;利用所述签名函数和所述存储于本地的第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体。
42.所述客户端生成交易请求体后,发送至所述网关平台,由所述网关平台将所述交易请求体发送至所述目标执行端点;所述目标执行端点在接收到所述交易请求体后,通过调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点;这里,将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点,包括:将所述交易请求体转换为第一网关格式消息;调用所述第一开发组件将所述第一网关格式消息发送至网关平台,由所述网关平台将所述第一网关格式消息分发到所述目标执行端点,并由所述目标执行端点将所述第一网关格式消息还原为所述交易请求体,并调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
43.进一步的,在所述目标区块链节点接收到所述交易请求体之后,所述客户端会接收到所述目标区块链节点通过所述目标执行端点、所述网关平台反馈的背书回执,所述背书回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述交易请求体进行签名后产生的;
进一步的,在所述客户端接收到所述背书回执后,所述客户端会调用所述第一开发组件利用本地存储的第一私钥对所述背书回执签名后,生成提交请求体;并将所述提交请求体通过所述网关平台发送至所述目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
44.这里,将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:将所述提交请求体转换为第二网关格式消息;调用所述第一开发组件将所述第二网关格式消息发送至网关平台,由所述网关平台将所述第二网关格式消息分发到目标执行端点,并由所述目标执行端点将所述第二网关格式消息还原为提交请求体,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
45.进一步的,由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:由所述目标执行端点调用第二开发组件中的目标函数,将所述提交请求体中的提交请求和提交状态按顺序通过第二应用程序接口发送至目标区块链节点,所述提交状态是所述提交请求是否被成功接收的状态。
46.进一步的,在所述目标区块链节点接收到所述提交请求体之后,所述客户端会接收到所述目标区块链节点通过所述目标执行端点、网关平台反馈的交易状态回执,所述交易状态回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述提交请求体进行签名后产生的。
47.本发明的上述实施例,通过在客户端调用第一开发组件并利用存储于本地的第一私钥对数据访问请求中的明文数据进行签名处理,生成交易请求体;将交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点执行;本本方案中,请求体的生成只发生在本地客户端,网关平台以及目标执行端点均不会存储或传输用户的第一私钥,保证了私钥的私有性以及安全性;在整个数据信息传输的过程中,始终以请求体的形式进行传输,保证了数据信息的有效性及安全性;同时,目标执行端点接收和发送的始终为请求体,在目标执行端点处不涉及私钥签名等复杂的密码学运算,降低了私钥泄漏的风险以及算力成本。
48.通过上述实施例,可以看出本发明的方案保持了网关以http协议对外提供api的易用性,又免去了在网关内使用用户私钥的行为,私钥的使用只发生在用户本地。避免了网关中预存用户私钥的行为可能导致的信息安全风险。
49.本方案具有更高的安全性,具体表现如下:在私钥颁发阶段,网关平台不保存用户私钥,保障了私钥的私有性。
50.在请求准备阶段,签名全部发生在用户本地,保障了数据的有效性。
51.在请求传输阶段,网关平台不传输用户私钥,保障了私钥的安全性。
52.在指令执行阶段,网关平台不使用用户私钥,保障了平台的中立性。
53.本发明的执行端点接受和发送的为最终请求体,不涉及私钥签名等复杂的密码学运算,在算力方面开销更小、性能更高。
54.如图3所示,本发明的实施例还提供一种基于区块链网关的数据处理装置30,包括:收发模块31,用于接收数据访问请求;所述数据访问请求携带明文数据;处理模块32,用于通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
55.可选的,所述处理模块32用于通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体,包括:通过调用第一开发组件生成签名函数;利用所述签名函数和所述存储于本地的第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体。
56.可选的,所述处理模块32,还用于:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的背书回执,所述背书回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述交易请求体进行签名后产生的;调用所述第一开发组件利用所述第一私钥对所述背书回执签名后,生成提交请求体;将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
57.可选的,所述处理模块32,还用于:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的交易状态回执,所述交易状态回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述提交请求体进行签名后产生的。
58.可选的,所述处理模块32用于将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点,包括:将所述交易请求体转换为第一网关格式消息;调用所述第一开发组件将所述第一网关格式消息发送至网关平台,由所述网关平台将所述第一网关格式消息分发到所述目标执行端点,并由所述目标执行端点将所述第一网关格式消息还原为所述交易请求体,并调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。
59.可选的,所述处理模块32用于将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:将所述提交请求体转换为第二网关格式消息;调用所述第一开发组件将所述第二网关格式消息发送至网关平台,由所述网关平台将所述第二网关格式消息分发到目标执行端点,并由所述目标执行端点将所述第二网关格式消息还原为提交请求体,并由所述目标执行端点调用第二开发组件将所述提交请求体
通过第二应用程序接口发送至目标区块链节点。
60.可选的,所述处理模块32用于由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:由所述目标执行端点调用第二开发组件中的目标函数,将所述提交请求体中的提交请求和提交状态按顺序通过第二应用程序接口发送至目标区块链节点,所述提交状态是所述提交请求是否被成功接收的状态。
61.需要说明的是,该装置是与上述基于区块链网关的数据处理方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
62.本发明的实施例还提供一种区块链上的通信设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
63.本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
64.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
65.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
66.在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
67.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
68.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
69.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码
的介质。
70.此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
71.因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
72.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种基于区块链网关的数据处理方法,其特征在于,应用于客户端,所述方法包括:接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。2.根据权利要求1所述的基于区块链网关的数据处理方法,其特征在于,通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体,包括:通过调用第一开发组件生成签名函数;利用所述签名函数和所述存储于本地的第一私钥对所述明文数据中的存证帐本、智能合约以及交易参数进行签名运算,生成交易请求体。3.根据权利要求1所述的基于区块链网关的数据处理方法,其特征在于,还包括:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的背书回执,所述背书回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述交易请求体进行签名后产生的;调用所述第一开发组件利用所述第一私钥对所述背书回执签名后,生成提交请求体;将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。4.根据权利要求3所述的基于区块链网关的数据处理方法,其特征在于,还包括:接收所述目标区块链节点通过所述目标执行端点、网关平台反馈的交易状态回执,所述交易状态回执是所述目标区块链节点利用存储于所述目标区块链节点上的第二私钥对所述提交请求体进行签名后产生的。5.根据权利要求4所述的基于区块链网关的数据处理方法,其特征在于,将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点,包括:将所述交易请求体转换为第一网关格式消息;调用所述第一开发组件将所述第一网关格式消息发送至网关平台,由所述网关平台将所述第一网关格式消息分发到所述目标执行端点,并由所述目标执行端点将所述第一网关格式消息还原为所述交易请求体,并调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。6.根据权利要求3或5所述的基于区块链网关的数据处理方法,其特征在于,将所述提交请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:将所述提交请求体转换为第二网关格式消息;调用所述第一开发组件将所述第二网关格式消息发送至网关平台,由所述网关平台将所述第二网关格式消息分发到目标执行端点,并由所述目标执行端点将所述第二网关格式消息还原为提交请求体,并由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点。
7.根据权利要求6所述的基于区块链网关的数据处理方法,其特征在于,由所述目标执行端点调用第二开发组件将所述提交请求体通过第二应用程序接口发送至目标区块链节点,包括:由所述目标执行端点调用第二开发组件中的目标函数,将所述提交请求体中的提交请求和提交状态按顺序通过第二应用程序接口发送至目标区块链节点,所述提交状态是所述提交请求是否被成功接收的状态。8.一种基于区块链网关的数据处理装置,其特征在于,包括:收发模块,用于接收数据访问请求;所述数据访问请求携带明文数据;处理模块,用于通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。9.一种基于区块链网关的数据处理系统,其特征在于,包括:客户端,用于接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;网关平台,用于将所述交易请求体发送至目标执行端点;目标执行端点,用于调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。10.一种计算机可读存储介质,其特征在于,存储有指令,所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。

技术总结
本发明提供一种基于区块链网关的数据处理方法、装置及系统,其中,所述数据处理方法应用于客户端,所述方法包括:接收数据访问请求,所述数据访问请求携带明文数据;通过调用第一开发组件利用存储于本地的第一私钥对所述明文数据进行签名处理,生成交易请求体;将所述交易请求体通过网关平台发送至目标执行端点,并由所述目标执行端点调用第二开发组件将所述交易请求体通过第一应用程序接口发送至目标区块链节点。本发明提供的方案提高了数据处理过程的安全性及有效性。理过程的安全性及有效性。理过程的安全性及有效性。


技术研发人员:郭宗宝 王刚 于明亮 云雄 甘国操 彭跟耀 李劲松 赵玉霞
受保护的技术使用者:中国民航信息网络股份有限公司
技术研发日:2023.09.05
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐