基于区块链的业务信息协同方法、业务系统及联盟链与流程

文档序号:20348043发布日期:2020-04-10 22:46阅读:203来源:国知局
基于区块链的业务信息协同方法、业务系统及联盟链与流程

本申请涉及区块链技术领域,尤其涉及一种基于区块链的业务信息协同方法、业务系统及联盟链。



背景技术:

本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着互联网的兴起,传统的业务系统越来越不满足人民群众的要求。目前的业务系统采用中心化的方式,其主要存在如下问题:

1、各个业务部门间的数据库相互独立,信息资源不能共享,且缺乏整合接口,信息整合难度较大,无法对外提供完整数据。

2、各个业务部门的数据单独保存,投入的硬件软件的成本居高不下。

3、业务系统的安全系数一般,容易被黑客攻击和篡改,存在网络安全隐患。

4、数据存在于各个业务部门之间,部门之间相互不信任,且不同业务部门的数据类型不一致,导致数据交换难、共享难,用户授权信息很难实现实时共享与同步,容易形成数据孤岛。



技术实现要素:

第一方面,本申请实施例提供一种基于区块链的业务数据协同方法,用以实现各个业务部门之间的信息资源共享与数据整合,同时提高业务系统的安全性,该方法应用于联盟链中接收到用户查询请求的业务系统,该方法包括:

接收用户提交的查询请求,提取存储的与查询请求相关联的查询信息;制作共享数据表单,所述共享数据表单中包括查询请求和查询信息;利用存储的私钥对共享数据表单签名,将共享数据表单扩散到联盟链中,以供接收到共享数据表单的节点利用公钥对共享数据表单的签名进行验证,并将自身存储的与查询请求相关联的查询信息添加入共享数据表单中;当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证;当共识认证完成后,获取经过共识认证的完整数据表单;向用户反馈完整数据表单中的查询信息。

第二方面,本申请实施例提供了一种基于区块链的业务数据协同方法,用以实现各个业务部门之间的信息资源共享与数据整合,同时提高业务系统的安全性,该方法应用于联盟链中除接收用户查询请求的业务系统外的其他业务系统,该方法包括:

接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单,所述共享数据表单包括查询请求和查询信息;利用存储的公钥对共享数据表单的签名进行验证;如果验证通过,则将自身存储的与查询请求相关联的查询信息添加入共享数据表单中;当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证;当共识认证完成后,获取经过共识认证的完整数据表单。

第三方面,本申请实施例还提供一种业务系统,用以实现各个业务部门之间的信息资源共享与数据整合,同时提高业务系统的安全性,该业务系统包括:

第一通信模块,用于接收用户提交的查询请求,提取存储的与查询请求相关联的查询信息;表单制作模块,用于制作共享数据表单,所述共享数据表单中包括查询请求和查询信息;所述第一通信模块,还用于利用存储的私钥对表单制作模块制作的共享数据表单签名,将共享数据表单扩散到联盟链中,以供接收到共享数据表单的节点利用公钥对共享数据表单的签名进行验证,并将自身存储的与查询请求相关联的查询信息添加入共享数据表单中;第一共识认证模块,用于当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证;所述第一通信模块,还用于当所述第一共识模块确定共识认证完成后,获取经过共识认证的完整数据表单;所述第一通信模块,还用于向用户反馈完整数据表单中的查询信息。

第四方面,本申请实施例还提供一种业务系统,用以实现各个业务部门之间的信息资源共享与数据整合,同时提高业务系统的安全性,该业务系统包括:

第二通信模块,用于接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单,所述共享数据表单包括查询请求和查询信息;签名验证模块,用于利用存储的公钥对所述第二通信模块接收的共享数据表单的签名进行验证;信息添加模块,用于当签名验证模块确定验证通过,将自身存储的与查询请求相关联的查询信息添加入共享数据表单中;第二共识认证模块,用于当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证;所述第二通信模块,还用于当第二共识模块确定共识认证完成后,获取经过共识认证的完整数据表单。

第五方面,本申请实施例还提供一种联盟链,用以实现各个业务部门之间的信息资源共享与数据整合,同时提高业务系统的安全性,该联盟链包括如第三方面及第四方面所述的业务系统。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

附图说明

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

图1为本申请实施例中一种业务信息协同系统的架构图;

图2为本申请实施例中一种业务信息协同方法的流程图;

图3为本申请实施例中一种联盟链的示意图;

图4为本申请实施例中一种用户与联盟链的信息交互场景示意图;

图5为本申请实施例中另一种业务信息协同方法的流程图;

图6为本申请实施例中另一种业务信息协同方法的流程图;

图7为本申请实施例中一种业务系统的结构示意图;

图8为本申请实施例中另一种业务系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本申请实施例做进一步详细说明。在此,本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。

如图1所示,为本申请实施例提供的一种业务信息协同系统的架构图。如图1所示,该系统包括区块链业务层和区块链层。

区块链业务层主要包括区块链管理模块和区块链业务模块。其中,区块链管理模块,主要提供区块链角色信息维护、区块链角色信息查询等功能。区块链业务模块提供数据存证,查验,历史查询等功能。

区块链层包括区块链接口服务(blockchaininformationinterconnectionplatform,biip)、区块链智能合约和区块链网络节点。

其中,biip为区块链交互的中间件,目标在于方便实现传统金融业务系统与区块链底层的对接和集成,前端业务系统通过不同的交易码调用biip系统。

区块链智能合约是运行在区块链上的、实现特定交易功能的一段程序,智能合约的代码和状态是公开的,链上用户可以对代码功能进行审核。联盟链中的智能合约语言是图灵完备的,并可与链外数据进行交互。智能合约一旦被部署到链上,就会一直运行且不可篡改。可根据不同业务场景写智能合约。

区块链网络节点是基于hyperledgerfabric1.2搭建的基础区块链网络。

基于上述架构,本申请实施例提供了一种基于区块链的业务数据协同方法,该方法应用于联盟链中接收用户查询请求的业务系统,如图2所示,该方法包括如下步骤201至步骤206:

步骤201、接收用户提交的查询请求,提取存储的与查询请求相关联的查询信息。

区块链采用区块链的去中心化,不可篡改性等特性,保证各个节点的共同参与。区块链具有去中心化,时序数据,可编程,安全可信的特定。借助分布式系统各个节点的工作量证明等共识算法形成的强大算力来抵御外部攻击,保证区块链数据的不可篡改,保证数据安全可靠。区块链包括公有链、私有链和联盟链,联盟链介于公有链和私有链之间,由若干个机构联合发起,兼具部分去中心化的特征。本申请实施例中利用的即联盟链,组建的联盟链如图3所示。

组建联盟链的过程发生于接收用户提交的查询请求之前。当组建联盟链时,业务系统接入联盟链作为联盟链中的一个节点;与联盟链中其他节点达成互识协议,互识协议包括共同承认数据、共享数据和自动备份数据;接收联盟链颁发的证书颁发机构ca证书,以及一对公钥和私钥。

用户需要先登录业务系统再提交查询请求,在用户登录业务系统时,对用户的身份信息进行验证,以保证用户身份的合法化,其中,身份信息包括账户密码、人脸等。

步骤202、制作共享数据表单。

其中,共享数据表单中包括查询请求和查询信息。

步骤203、利用存储的私钥对共享数据表单签名,将共享数据表单扩散到联盟链中,以供接收到共享数据表单的节点利用公钥对共享数据表单的签名进行验证,并将自身存储的与查询请求相关联的查询信息添加入共享数据表单中。

步骤204、当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证。

如果业务系统通过竞争获取到记账权,则该业务系统作为共识认证的主节点。

具体的,主节点进行共识认证过程包括:获取经过所有业务系统添加了查询信息的共享数据表单;判断所有业务系统向共享数据表单中添加的查询信息是否存在重复,以及是否存在对于相同信息的记载不一致的情况;如果存在重复,则将重复的信息删除;如果存在对于相同信息的记载不一致的情况,则按照每个业务系统记载相同信息的时间,将最新时间记载的信息确定为正确信息,其他信息为错误信息,删除错误信息。其中,如果主节点是所有业务系统中向共享数据表单中添加查询信息的最后一个业务系统,则其可以从自身直接获取经过所有业务系统添加了查询信息的共享数据表单;如果主节点不是所有业务系统中向共享数据表单中添加查询信息的最后一个业务系统,则其需要从最后添加查询信息的业务系统中获取添加查询信息完成的共享数据表单。

不是主节点的节点进行共识认证的过程包括协同主节点完成对于正确信息和错误信息的判断。

共识认证即为对共享数据表单中由所有业务系统添加的查询信息进行校验的过程,在该过程中,对不同业务系统关于相同信息的不同记载达成共识,从而确保共享数据表单中记载的查询信息的正确性。比如,对于相同信息“工作年限”,a业务系统记载用户的工作年限为5年,记载时间为2019年8月10日,b业务系统记载用户的工作年限为3年,记载时间为2017年7月6日,相比于b业务系统的记载时间,a业务系统的记载较新,则经过共识认证之后,确定用户的工作年限为5年,则删除共享数据表单中对于用户“工作年限为3年”的记载。并且,共识认证过程中还会核实业务系统向共享数据表单中添加的查询信息是否存在重复,如果存在重复,则删除重复信息。例如,如果共享数据表单中被添加了多条用户工作年限为5年的记载,则保留一条关于用户工作年限为5年的记载,删除其他记载。

在通常情况下,联盟链采用实用拜占庭容错算法(practicalbyzantinefaulttolerance,pbft)来进行共识认证。

发生故障的节点称为拜占庭节点,正常的节点为非拜占庭节点。达成共识的满足3f+1<=n这个结论。

f是故障节点数量。假设f节点即是故障节点,又是作恶节点。那么达成共识只需要比故障节点多一个,既f+1+f<=n,f(最大容错节点数量为)=n-1/2。假设故障节点和作恶节点不是一个。假设有f个故障节点,f个作恶节点,当发现是作恶节点时,会被集群排除,剩下f个故障节点,达到共识比故障节点多一个,即f+1+f+f<=n。f=n-1/3。

算法基本流程:

客户端发送请求给主节点;

主节点广播请求给其他从节点,节点执行pbft算法的三阶段共识流程。

节点处理完三阶段流程后,返回消息给客户端。

客户端收到来自f+1个节点的相同消息后,代表共识已经全部完成。

算法核心三阶段流程为pre-prepare阶段、prepare阶段、commit阶段。pre-prepare:接收或者拒绝主节点广播的信息。prepare从节点同意后,向其他节点发送prepare信息,节点同时发的,所以受到超过2f不同节点的prepare消息,代表prepare阶段完成。commit阶段:向其他节点广播commit信息,这个过程可能有n个节点在进行,因此可能会收到其他节点发来的commit信息,当收到2f+1个commit消息,代表大多数节点进入了comite阶段,在这个阶段达成共识,于是节点就会执行请求,写入数据。

步骤205、当共识认证完成后,获取经过共识认证的完整数据表单。

具体的,在获取经过共识认证的完整数据表单时,业务系统判断自身是否为进行共识认证的主节点;如果自身是进行共识认证的主节点,则从自身获取完整数据表单。如果自身不是进行共识认证的主节点,则从共识认证的主节点获取完整数据表单。

在本申请实施例中,如果业务系统自身是进行共识认证的主节点,则其还将经过共识认证的完整数据表单打包成区块,向联盟链中其他节点广播,以使其他节点同步存储完整数据表单,从而实现了不同业务部门之间的信息共享,保证了不同业务系统存储信息的一致性。其他节点对完整数据表单采用哈希上链的方式实现完整数据表单的存储。

步骤206、向用户反馈完整数据表单中的查询信息。

向用户反馈的查询信息中包括联盟链中所有业务系统中用户想要获取的相关信息,用户无需再逐一登录每个业务系统获取所需信息,节省了用户时间,减轻了多方沟通成本,办事效率大大提升。

本申请中用户与联盟链的信息交互场景如图4所示。参见图4,业务系统a、b、c接入了联盟链作为其中一个节点,用户向联盟链中的业务系统提交查询请求(图中未示出用户向哪个业务系统提交查询请求)并接收业务系统反馈的查询信息,信息流在业务系统与业务系统之间传递以及业务系统与用户之间传递。业务系统将每一次的数据查询都在联盟链中记账,确保了联盟链中信息的可追溯性。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

本申请实施例中还提供了一种基于区块链的业务数据协同方法,该方法应用于联盟链中除接收用户查询请求的业务系统外的其他业务系统,如图5所示,该方法包括步骤501至步骤505:

步骤501、接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单。

其中,共享数据表单包括查询请求和查询信息。

共享数据表单在联盟链的各个节点(即业务系统)之间依次传递,当接收用户查询请求的业务系统制作共享数据表单完成后,向下一个节点扩散该共享数据表单,接收到共享数据表单的节点将自身存储的与查询请求对应的查询信息添加入共享数据表单中,并将新的共享数据表单继续向下一个节点扩散,直至所有节点均确定将已经将自身存储的查询信息添加入共享数据表单。如果当前节点确定自身未存储与查询请求对应的查询信息,则不向共享数据表单中添加查询信息,而是将本次没有查询到相关查询信息的查询结果添加入共享数据表单中。因此,已向共享数据表单中添加查询信息的业务系统可能是接收用户查询请求的业务系统,也可能是其他业务系统。

组建联盟链的过程发生在接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单之前。当组建联盟链时,各个业务系统接入联盟链作为联盟链中的一个节点;与联盟链中其他节点达成互识协议,互识协议包括共同承认数据、共享数据和自动备份数据;接收联盟链颁发的ca证书,以及一对公钥和私钥。

步骤502、利用存储的公钥对共享数据表单的签名进行验证。

步骤503、如果验证通过,则将自身存储的与查询请求相关联的查询信息添加入共享数据表单中。

业务系统将在自身查询到的所有与查询请求相关联的查询信息添加入共享数据表单中。

步骤504、当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证。

参与对共享数据表单中查询信息的共识认证,包括:判断自身是否为共识认证的主节点。如果是,则获取经过所有业务系统添加了查询信息的共享数据表单;判断所有业务系统向共享数据表单中添加的查询信息是否存在重复,以及是否存在对于相同信息的记载不一致的情况;如果存在重复,则将重复的信息删除;如果存在对于相同信息的记载不一致的情况,则按照每个业务系统记载相同信息的时间,将最新时间记载的信息确定为正确信息,其他信息为错误信息,删除错误信息。如果不是,则协同主节点完成对于正确信息和错误信息的判断。

需要说明的是,主节点资格由联盟链中所有节点通过竞争获得。争夺到记账权的节点为进行共识认证的主节点,由主节点发起,其他节点参与共识认证过程。

共识认证过程保证了完整数据表单中不存在重复信息及错误信息,保证了节点存储信息的正确性。

步骤505、当共识认证完成后,获取经过共识认证的完整数据表单。

共识认证的主节点具有完整数据表单,所以如果自身是共识认证的主节点,则存储完整数据表单;如果自身不是进行共识认证的主节点,则从共识认证的主节点获取完整数据表单。共识认证的主节点将打包成区块,向联盟链中其他节点广播,其他节点获取广播的完整数据表单。这样就实现了各个节点之间的数据共享。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

本申请实施例还提供了一种基于区块链的业务数据协同方法,该方法中将接收用户查询请求的业务系统称为第一业务系统,将联盟链中其他业务系统称为第二业务系统。如图6所示,该方法包括步骤601至步骤611:

步骤601、第一业务系统和第二业务系统共同组建联盟链并达成互识协议。

步骤602、第一业务系统接收用户提交的查询请求。

步骤603、第一业务系统提取存储的与查询请求相关联的查询信息,制作共享数据表单,利用存储的私钥对共享数据表单签名。

其中,共享数据表单中包括查询请求和查询信息。

步骤604、第一业务系统将共享数据表单扩散到联盟链中。

步骤605、第二业务系统接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单。

步骤606、第二业务系统利用存储的公钥对共享数据表单的签名进行验证。

步骤607、如果验证通过,则第二业务系统将自身存储的与查询请求相关联的查询信息添加入共享数据表单中。

步骤608、当联盟链中所有业务系统将查询信息添加入共享数据表单之后,所有业务系统参与对共享数据表单中查询信息的共识认证。

步骤609、所有业务系统判断自身是否是进行共识认证的主节点;如果是,则获取经过所有业务系统添加了查询信息的共享数据表单;判断所有业务系统向共享数据表单中添加的查询信息是否存在重复,以及是否存在对于相同信息的记载不一致的情况;如果存在重复,则将重复的信息删除;如果存在对于相同信息的记载不一致的情况,则按照每个业务系统记载相同信息的时间,将最新时间记载的信息确定为正确信息,其他信息为错误信息,删除错误信息;如果不是,则协同主节点完成对于正确信息和错误信息的判断。

步骤610、当共识认证完成后,所有业务系统获取经过共识认证的完整数据表单,其中,完整数据表单由共识认证的主节点广播至其他节点。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

本申请实施例还提供了一种业务系统,如图7所示,该业务系统700包括第一通信模块701、表单制作模块702和第一共识认证模块703。

其中,第一通信模块701,用于接收用户提交的查询请求,提取存储的与查询请求相关联的查询信息。

表单制作模块702,用于制作共享数据表单,共享数据表单中包括查询请求和查询信息。

第一通信模块701,还用于利用存储的私钥对表单制作模块702制作的共享数据表单签名,将共享数据表单扩散到联盟链中,以供接收到共享数据表单的节点利用公钥对共享数据表单的签名进行验证,并将自身存储的与查询请求相关联的查询信息添加入共享数据表单中。

第一共识认证模块703,用于当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证。

第一通信模块701,还用于当第一共识认证模块703确定共识认证完成后,获取经过共识认证的完整数据表单。

第一通信模块701,还用于向用户反馈完整数据表单中的查询信息。

在本申请实施例的一种实现方式中,业务系统701还包括第一联盟链组建模块704,该第一联盟链组建模块704,用于:

当组建联盟链时,接入联盟链作为联盟链中的一个节点;

与联盟链中其他节点达成互识协议,互识协议包括共同承认数据、共享数据和自动备份数据;

接收联盟链颁发的证书颁发机构ca证书,以及一对公钥和私钥。

在本申请实施例的一种实现方式中,第一共识认证模块703,用于:

判断自身是否是进行共识认证的主节点;

如果是,则获取经过所有业务系统添加了查询信息的共享数据表单;判断所有业务系统向共享数据表单中添加的查询信息是否存在重复,以及是否存在对于相同信息的记载不一致的情况;如果存在重复,则将重复的信息删除;如果存在对于相同信息的记载不一致的情况,则按照每个业务系统记载相同信息的时间,将最新时间记载的信息确定为正确信息,其他信息为错误信息,删除错误信息;

如果不是,则协同主节点完成对于正确信息和错误信息的判断。

在本申请实施例的一种实现方式中,第一通信模块701,用于:

判断自身是否为进行共识认证的主节点;

如果自身是进行共识认证的主节点,则从自身获取完整数据表单;

如果自身不是进行共识认证的主节点,则从共识认证的主节点获取完整数据表单。

在本申请实施例的一种实现方式中,当业务系统自身是进行共识认证的主节点时,第一通信模块701,用于:

将经过共识认证的完整数据表单打包成区块,向联盟链中其他节点广播,以使其他节点同步存储完整数据表单。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

本申请实施例还提供了一种业务系统,如图8所示,该业务系统800包括第二通信模块801、签名验证模块802、信息添加模块803和第二共识认证模块804。

其中,第二通信模块801,用于接收由已向共享数据表单中添加查询信息的业务系统扩散的共享数据表单,共享数据表单包括查询请求和查询信息。

签名验证模块802,用于利用存储的公钥对第二通信模块801接收的共享数据表单的签名进行验证。

信息添加模块803,用于当签名验证模块802确定验证通过,将自身存储的与查询请求相关联的查询信息添加入共享数据表单中。

第二共识认证模块804,用于当联盟链中所有业务系统将查询信息添加入共享数据表单之后,参与对共享数据表单中查询信息的共识认证。

第二通信模块801,还用于当第二共识模块804确定共识认证完成后,获取经过共识认证的完整数据表单。

在本申请实施例的一种实现方式中,该业务系统800还包括第二联盟链组建模块805,该第二联盟链组建模块805,用于:

当组建联盟链时,接入联盟链作为联盟链中的一个节点;

与联盟链中其他节点达成互识协议,互识协议包括共同承认数据、共享数据和自动备份数据;

接收联盟链颁发的ca证书,以及一对公钥和私钥。

在本申请实施例的一种实现方式中,第二共识认证模块804,用于:

判断自身是否为共识认证的主节点;

如果是,则获取经过所有业务系统添加了查询信息的共享数据表单;判断所有业务系统向共享数据表单中添加的查询信息是否存在重复,以及是否存在对于相同信息的记载不一致的情况;如果存在重复,则将重复的信息删除;如果存在对于相同信息的记载不一致的情况,则按照每个业务系统记载相同信息的时间,将最新时间记载的信息确定为正确信息,其他信息为错误信息,删除错误信息;

如果不是,则协同主节点完成对于正确信息和错误信息的判断。

在本申请实施例的一种实现方式中,第二通信模块801,还用于:

如果自身是共识认证的主节点,则存储完整数据表单,并将经过共识认证的完整数据表单打包成区块,向联盟链中其他节点广播,以使其他节点同步存储完整数据表单;

如果自身不是进行共识认证的主节点,则从共识认证的主节点获取完整数据表单。

本申请实施例中,业务系统接入联盟链,借助区块链的去中心化和去信任,可以实现多个业务部门之间点对点信息共享,并且可实现一次共享,多次使用和追朔,促进了跨平台业务信息的共享流动。同时,区块链采用的去中心化,分布式架构,不会造成中心节点发生问题,殃及全网的风险,此外区块链采用私钥签名,公钥验证,非加密算法,黑客很难破解,降低了系统的信任风险。并且,区块链的交易记录全网透明公开,解决了信息不对称问题,还有利于审计和监管。另外,区块链技术有良好的可拓展性,信息采集,更新,交换都在一个链中进行,其他部门参与只要接口加入即可,方便跨部门,跨层级,跨平台的多部门信息协同。

本申请实施例还提供一种联盟链,该联盟链包括业务系统700和业务系统800。

本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现步骤201至步骤206、步骤501至步骤505和/或步骤601至步骤610任一方法。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行步骤201至步骤206、步骤501至步骤505和/或步骤601至步骤610任一方法的计算机程序。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1