欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于中台的区块链数据传输管理方法及系统独创技术14419字

基于中台的区块链数据传输管理方法及系统

2021-03-31 15:59:48

基于中台的区块链数据传输管理方法及系统

  技术领域

  本发明涉及区块链技术领域,特别是涉及基于中台的区块链数据传输管理方法及系统。

  背景技术

  目前,在大型复杂业务系统中,针对区块链场景通常需要复杂的业务逻辑,以及大量的网络通讯数据流量。这样的背景下,通常一部分数据上链,或者数据哈希上链,而大部分的数据不上链。采用传统的分布式存储系统或者数据库存储时,处理业务逻辑的中台服务器集群必不可少,这就形成了中台加区块链的方案。

  而由于区块链是完全去中心化的,仅用户有链上相关数据操作权限,因而所有区块链厂家提供的开发包也都是直接针对客户端的。然而在互联网中传输是不安全的,为了提高传输安全性,通常的解决方案有三种:

  一、完全去中心化方案,即客户端直接操作区块链,把所有复杂的业务逻辑由智能合约链上实现。这样的方案性能受到区块链主网性能的约束,且场景受限,无法满足当今互联网业务场景客户需求。

  二、客户端为中心,一方面客户端操作区块链进行链上数据提交,另一方面,客户端发起指令到服务器端,由高并发服务集群进行业务逻辑处理。这样的方案一方面性能受到区块链主网性能的影响,另一方面事务一致性难以保障。

  三、客户端访问中台,中台进行业务逻辑处理,由中台为用户分配账户,并在中台数据库为用户建立区块链账户映射关系。客户端把业务指令提交到业务服务器中台集群,中台集群经过复杂业务逻辑处理后,代用户进行数据上链。这样的好处是,性能高,且可靠性、事务一致性等均可得到有效的解决。也是目前很多大型复杂业务系统的首选方案。

  但是,这样的方案存在一个严重的问题,它打破了区块链的信任根本,链上数据的权限由用户端移到了中台业务集群。另外,这种账号映射的方案,一旦中台数据库受到攻击,用户所有个人链上信息,将受到侵害,所有链上数据管理权将完全转移到攻击者,引入了安全隐患。

  发明内容

  本发明实施例提供了基于中台的区块链数据传输管理方法及系统,可以解决现有技术中存在的问题。

  本发明提供了基于中台的区块链数据传输管理方法,包括以下步骤:

  客户端调用客户端侧SDK模块的API接口,将用户的交易信息发送给客户端侧SDK模块;

  API接口收到数据后,发送内部消息给客户端侧SDK模块中的加密模块;

  加密模块对用户传来的交易信息进行加密,加密后的数据通过客户端侧SDK模块与中台之间的专属用户通道发送到中台;

  中台接收到用户交易数据后,对交易数据解密,解密后中台调用中台侧SDK模块中的非加密接口将解密后的交易数据传递给中台侧SDK模块;

  非加密接口收到数据后,发送内部消息给中台侧SDK模块中的非加密模块;

  非加密模块通过中台侧SDK模块与区块链网络之间的非对称密码学专属通道将交易信息发送到区块链网络中;

  区块链网络对交易信息进行相应处理。

  本发明还提供了基于中台的区块链数据传输管理系统,所述系统包括:客户端、客户端侧SDK模块、中台、中台侧SDK模块和区块链网络;所述客户端侧SDK模块与中台之间具有专属用户通道,所述中台侧SDK模块与区块链网络之间具有非对称密码学专属通道;

  所述客户端用于调用客户端侧SDK模块的API接口,将用户的交易信息发送给客户端侧SDK模块;

  所述客户端侧SDK模块用于在接收到用户交易信息后,对其加密,加密后的交易数据通过专属用户通道传输给中台;

  所述中台用于在接收到加密的交易数据后对其进行解密,所述中台调用中台侧SDK模块的非加密接口将解密后的交易信息传输给中台侧SDK模块;

  所述中台侧SDK模块用于接收交易信息,将交易信息通过中台侧SDK模块与区块链网络之间的非对称密码学专属通道发送到区块链网络中;

  所述区块链网络用于对交易信息进行相应处理。

  本发明中的基于中台的区块链数据传输管理方法及系统,方法包括客户端将用户的交易信息发送给客户端侧SDK模块;客户端侧SDK模块接收用户交易信息后对其加密,加密后的交易数据通过专属用户通道传输给中台;中台接收到加密的交易数据后对其进行解密,将解密后的交易信息传输给中台侧SDK模块;中台侧SDK模块接收交易信息,将交易信息通过中台侧SDK模块与区块链网络之间的非对称密码学专属通道发送到区块链网络中;区块链网络用于对交易信息进行相应处理。采用本发明的方法和系统,可以在区块链中非常方便的进行复杂业务逻辑和区块链系统的相结合,在高性能、高安全的前提下,非常方便的做到事务的一致性。对用户来说,其关键数据信息,全部上链,所有数据权限均由个人所有。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明中基于中台的区块链数据传输管理方法的流程图。

  图2为用户注册流程图。

  图3为基于中台的区块链数据传输管理系统的示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  基于中台的区块链数据传输管理方法,该方法可实现区块链在大型复杂系统的行业应用落地。方法的主要内容为:客户端通过调用客户端侧SDK模块根据用户注册时生成的密钥文件,建立客户端侧SDK模块与中台之间的专属用户通道,再建立中台侧SDK模块与区块链网络之间的非对称密码学专属通道。这样避免了数据传输过程中被窃听,恶意篡改等。然后客户端的操作指令通过客户端侧SDK模块转发至专属用户通道,由该通道发送数据到中台,中台再进行业务逻辑的处理和编排工作。完成相关逻辑后,一方面把需要上链且经过用户签名的数据由中台侧SDK模块直接通过非对称密码学专属通道上传至区块链网络,另一方面把其它需要持久化存储的数据存储在传统的分布式存储系统中,满足业务的复杂度。

  下面对结合图1对本发明的方法进行详细说明,本发明的方法包括以下步骤:

  步骤1:客户端调用客户端侧SDK模块的API接口,将用户的本次交易信息和用户密钥以及永旗超级账本密钥信息给客户端侧SDK模块。

  步骤2:API接口收到数据后,发送内部消息给客户端侧SDK模块中的加密模块。消息具体格式如下:

  <MsgBody>

  <SessionId>会话号</SessionId>

  <Proposal>用户交易信息</Proposal>

  <UserCryptKey>用户密钥和永旗超级账本密钥</UserCryptKey>

  </MsgBody>

  步骤3:加密模块根据客户端传来的用户密钥以及永旗超级账本密钥,计算得到加密用的用户专属密钥,然后使用该用户专属密钥把用户传来的交易信息进行加密,加密后的数据通过客户端侧SDK模块与中台之间的专属用户通道发送到中台。消息具体格式如下:

  <MsgBody>

  <SessionId>会话号</SessionId>

  <UserId>发起交易的用户Id</UserId>

  <Proposal>加密后的交易信息</Proposal>

  </MsgBody>

  步骤4:中台接收到用户交易数据后,根据用户注册时传递过来的用户公钥以及服务端私钥计算得到解密用的密钥,然后使用该密钥解密用户发送过来的交易数据。中台调用中台侧SDK模块中的非加密接口,将解密后的交易数据传递给中台侧SDK模块。

  步骤5:非加密接口收到数据后,发送内部消息给中台侧SDK模块中的非加密模块。消息具体格式如下:

  <MsgBody>

  <SessionId>会话号</SessionId>

  <Proposal>用户交易信息</Proposal>

  </MsgBody>

  步骤6:非加密模块通过中台侧SDK模块与区块链网络之间的非对称密码学专属通道将交易信息发送到区块链网络中。消息具体格式如下:

  <MsgBody>

  <SessionId>会话号</SessionId>

  <UserId>发起交易的用户Id</UserId>

  <Signature>发起交易的用户签名</Signature>

  <Proposal>用户交易信息</Proposal>

  </MsgBody>

  步骤7:区块链网络处理完本次交易信息后,发送交易完成消息给中台侧SDK模块中的非加密模块。消息中携带本次交易结果、会话号和系统为本次交易生成的交易KEY值。消息具体格式如下:

  <MsgBody>

  <ReturnCode>交易结果</ReturnCode>

  <SessionId>会话号</SessionId>

  <TransKey>系统为本次交易生成的KEY值</TransKey>

  </MsgBody>

  步骤8:非加密模块收到后,发送内部消息通知中台侧SDK模块的非加密接口。消息内容同上。

  步骤9:非加密接口通过回调通知中台本次交易结果。

  步骤10:中台收到交易结果后,对交易结果进行加密,加密后的数据通过客户端侧SDK模块与中台之间的专属用户通道发送到客户端侧SDK模块中的加密模块。消息具体格式如下:

  <MsgBody>

  <ReturnCode>交易结果</ReturnCode>

  <SessionId>会话号</SessionId>

  <UserData>对系统为本次交易生成的KEY值进行加密</UserData>

  </MsgBody>

  步骤11:加密模块收到消息后,对交易结果进行解密,解密后的数据通过内部消息发送给客户端侧SDK模块的API接口。消息具体格式如下:

  <MsgBody>

  <ReturnCode>交易结果</ReturnCode>

  <SessionId>会话号</SessionId>

  <TransKey>系统为本次交易生成的KEY值</TransKey>

  </MsgBody>

  步骤12:API接口通过回调通知客户端本次交易结果。

  本发明的方法在执行前,需要用户先进行注册操作。如图2所示,注册的方法为:

  1、在区块链网络部署智能合约。

  2、用户在客户端页面调用客户端侧SDK模块,生成注册用户所需的密钥对(公钥和私钥)。

  3、携带第一步生成的公钥,发送IDCRegisterReq注册请求到中台。

  4、中台进行相关逻辑处理,如校验用户信息的合法性并组织用户信息,准备上链。

  5、中台调用Fastsdk:RegisterReq向区块链网络发起注册请求。

  6、区块链网络对收到的用户注册原始信息的合法性进行校验,在链上创建用户,并为该用户分配非对称密码学专属通道以及永旗超级账本密钥。

  7、区块链网络调用Fastsdk:RegisterRsp将结果响应给中台。

  8、中台在完成相关逻辑后,根据用户信息初始化相关表信息,并记录进传统数据库,例如MySQL数据库。

  9、数据库响应,完成创建用户初始信息。

  10、中台发送IDCRegisterRsp注册结果给客户端,完成用户注册。

  基于相同的发明构思,本发明还提供了基于中台的区块链数据传输管理系统,该系统的实施可参照上述方法的实施,重复之处不再赘述。所述系统包括客户端、客户端侧SDK模块、中台、中台侧SDK模块和区块链网络。所述客户端侧SDK模块与中台之间具有专属用户通道,所述中台侧SDK模块与区块链网络之间具有非对称密码学专属通道。

  所述客户端用于调用客户端侧SDK模块的API接口,将用户的交易信息发送给客户端侧SDK模块。

  所述客户端侧SDK模块用于在接收到用户交易信息后,对其加密,加密后的交易数据通过专属用户通道传输给中台。

  所述中台用于在接收到加密的交易数据后对其进行解密,所述中台调用中台侧SDK模块的非加密接口将解密后的交易信息传输给中台侧SDK模块。

  所述中台侧SDK模块用于接收交易信息,将交易信息通过中台侧SDK模块与区块链网络之间的非对称密码学专属通道发送到区块链网络中。

  所述区块链网络用于对交易信息进行相应处理。

  尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

  显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

《基于中台的区块链数据传输管理方法及系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)