一种数据共享方法及其设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据共享方法及其设备。
背景技术
在互联网技术领域,数据共享是某些应用领域(例如,创新金融领域的数字资产交易)中的核心环节,现有技术中,多个企业间数据的交换与共享上最常用的技术就是通过http API调用的方式,多个企业对应不同的业务分别开发不同的HTTP REST API。通过JSON或XML格式来发送或返回业务消息,HTTP API形式的业务数据对接方式虽然接入便利而且技术也成熟,但多企业间需要相互调用数据时,每执行一次数据调用都需要分解http协议,操作过程繁琐,降低了不同企业获取共享数据的效率。
发明内容
本发明实施例提供一种数据共享方法及其设备,通过将不同客户端发来的不同业务数据共享至区块链节点实现数据共享,可以提高不同客户端获取共享数据的效率。
本发明实施例第一方面提供了一种数据共享方法,可包括:
获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥;
当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中;
获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
本发明实施例第二方面提供了一种数据共享设备,可包括:
信息获取单元,用于获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥;
数据存储单元,用于当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中;
数据共享单元,用于获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据共享方法的流程示意图;
图2是本发明实施例提供的另一种数据共享方法的流程示意图;
图3是本发明实施例提供的另一种区块链网络架构示意图;
图4是本发明实施例提供的一种节点与认证中心对应关系的示意图;
图5是本发明实施例提供的又一种数据共享过程的架构示意图;
图6是本发明实施例提供的一种数据共享设备的结构示意图;
图7是本发明实施例提供的又一种数据共享设备的结构示意图;
图8是本发明实施例提供的又一种数据共享设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据共享方法可以应用于需要多个参与方有共享业务数据需求的区块链应用场景中,例如:数据共享设备获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥,当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中,然后获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率。
本发明实施例涉及的数据共享设备可以包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等终端设备。
下面将结合附图1-附图3,对本发明实施例提供的数据共享方法进行详细介绍。
请参见图1,为本发明实施例提供了一种数据共享方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。
可以理解的是,当数据共享设备获取到终端发送的数据传输请求时,可以基于区块链网络认证中心,生成并返回所述数据传输请求对应的数据传输秘钥,相当于授权所述终端的合法性以及所述终端传输的业务数据的合法性。所述数据传输秘钥可以是基于区块链技术为终端对应的终端账户分配的公私秘钥,各个终端账户只能查看自己被授权访问的数据,而且由于区块链中账户特性,任何成员的账户地址只是一个64位字符串,无任何现实意义,能够保证非相关成员无法猜测到数据来源保证了数据的匿名安全性。
具体的,所述数据共享设备可以获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。可以理解的是,所述第一业务数据仅是区别于其他终端发送的数据而进行的命名,并不是数量上的限制。
S102,当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中。
需要说明的是,所述区块链网络认证中心可以预先给各客户端分配数据传输秘钥,给区块链网络中的各区块链节点分配节点秘钥。所述区块链网络由多个区块链节点端服务共同组成,所述节点端服务包括共识算法和存储层,所述区块链节点可以通过所述共识算法将接收到的业务数据广播至区块链网络进行共识。
可以理解的是,所述数据共享设备可以通过将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配完成区块链网络认证中心的权限认证。
具体的,当存在与所述数据传输秘钥相匹配的节点秘钥时,所述数据共享设备可以确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证,进而,所述数据共享设备可以确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点,可以理解的是,所述第一区块链节点仅是为了区分其他区块链节点而进行的命名,与区块链节点数量无关。
进一步的,所述数据共享设备可以将所述第一业务数据存储至所述第一区块链节点中。可以理解的是,所述第一区块链节点可以将所述第一业务数据广播至所述区块链网络中与之相邻的区块链节点并进行共识,获得一致性认可。
S103,获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
可以理解的是,所述第二区块链节点可以是所述区块链网络中除所述第一区块链节点之外的其他全部节点,可以代表至少一个节点,即所述第二区块链节点可以是一个区块链节点集合。所述第二业务数据可以是所述第二区块链节点中的业务数据,当所述第二区块链节点包括至少两个区块链节点时,所述第二业务数据相应的包括至少两种业务数据。
具体的,所述数据共享设备可以获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,可以理解的是,所述节点数据可以是所述区块链网络中所有区块链节点中的业务数据。进一步的,所述数据共享设备可以将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中,完成数据共享。
可以理解的是,所述数据共享设备可以在所述第一区块链节点和所述第二区块链节点中基于共识算法确定一个主节点,每隔t时间,由主节点将已共识的业务数据打包在区块上。主节点核心任务是负责数据的接收和打包服务,再经过t时刻后由主节点将收到的所有业务数据在主节点打包时中不产生任何数字货币奖励,因此来做为业务数据共享平台。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率。
请参见图2,为本发明实施例提供了另一种数据共享方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S208。
S201,当获取到终端发送的数据传输请求时,生成并返回所述数据传输请求对应的数据传输秘钥。
可以理解的是,当数据共享设备获取到终端发送的数据传输请求时,可以基于区块链网络认证中心,生成并返回所述数据传输请求对应的数据传输秘钥,相当于授权所述终端的合法性以及所述终端传输的业务数据的合法性。所述数据传输秘钥可以是基于区块链技术为终端对应的终端账户分配的公私秘钥,各个终端账户只能查看自己被授权访问的数据,而且由于区块链中账户特性,任何成员的账户地址只是一个64位字符串,无任何现实意义,能够保证非相关成员无法猜测到数据来源保证了数据的匿名安全性。
S202,获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。
具体的,所述数据共享设备可以获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。可以理解的是,所述第一业务数据仅是区别于其他终端发送的数据而进行的命名,并不是数量上的限制。
S203,将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配,当存在与所述数据传输秘钥相匹配的节点秘钥时,确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证。
需要说明的是,所述区块链网络认证中心可以预先给各客户端分配数据传输秘钥,给区块链网络中的各区块链节点分配节点秘钥,所述数据共享设备可以将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配,当存在与所述数据传输秘钥相匹配的节点秘钥时,可以确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证。可以理解的是,所述区块链网络由多个区块链节点端服务共同组成,所述节点端服务包括共识算法和存储层,所述区块链节点可以通过所述共识算法将接收到的业务数据广播至区块链网络进行共识。
在本发明实施例的一种具体实现方式中,所述区块链网络可以如图3所示,图3中统一认证中心即区块链网络认证中心,业务层中的各类消息都可以是终端输入的业务数据。
S204,确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点。
具体的,当所述数据共享设备确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证后,可以确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点。可以理解的是,所述第一区块链节点仅是为了区分其他区块链节点而进行的命名,与区块链节点数量无关。
S205,用于当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中。
具体的,当所述数据传输秘钥通过区块链网络认证中心的权限认证时,所述数据共享设备可以将所述第一业务数据存储至所述第一区块链节点中。可以理解的是,所述第一区块链节点可以将所述第一业务数据广播至所述区块链网络中与之相邻的区块链节点并进行共识,获得一致性认可。
S206,当所述区块链网络认证中心监测到异常区块链节点时,输出所述异常区块链节点对应的异常状态数据。
具体的,所述区块链网络认证中心可以实时监测各区块链节点是否处于正常工作状态,当监测到异常时,可以输出该异常区块链节点对应的异常状态数据。可以理解的是,所述区块链网络认证中心可以对应以下服务:秘钥生成、公钥校验、定时触发判断节点是否在线以及异常状态主动通知普通状态定时通知。
举例说明,例如图4所示的区块链节点与区块链网络认证中心对应关系的实现过程,其中,区块链网络认证中心的代码与实现的服务的对应关系为:assignKeyPair(Stringt)生成ECC算法秘钥对并返回;verifyPubkey(String pubKye)校验公钥是否合法且有效;ping(Node node)判断节点是否活跃且在线,由认证中心定时触发;statusNotice(Statusst)所有网络节点跟认证中心同步状态,异常状态主动通知,普通状态定时通知。
在本发明实施例中,通过反馈链节点的异常状态数据,可以避免区块链节点状态异常而导致的业务数据接收失误等状况的发生,保证了数据共享的完整性。
S207,获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
可以理解的是,所述第二区块链节点可以是所述区块链网络中除所述第一区块链节点之外的其他全部节点,可以代表至少一个节点,即所述第二区块链节点可以是一个区块链节点集合。所述第二业务数据可以是所述第二区块链节点中的业务数据,当所述第二区块链节点包括至少两个区块链节点时,所述第二业务数据相应的包括至少两种业务数据。
具体的,所述数据共享设备可以获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,可以理解的是,所述节点数据可以是所述区块链网络中所有区块链节点中的业务数据。进一步的,所述数据共享设备可以将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中,完成数据共享。
可以理解的是,所述数据共享设备可以在所述第一区块链节点和所述第二区块链节点中基于共识算法确定一个主节点,每隔t时间,由主节点将已共识的业务数据打包在区块上。主节点核心任务是负责数据的接收和打包服务,再经过t时刻后由主节点将收到的所有业务数据在主节点打包时中不产生任何数字货币奖励,因此来做为业务数据共享平台。
S208,当获取到终端发送的数据获取请求时,将所述节点数据输出至所述终端。
具体的,当获取到终端发送的数据获取请求时,所述数据共享设备可以将所述节点数据输出至所述终端。可以理解的是,任意终端都可以向所述区块链网络请求所述节点数据,只要通过所述区块链认证中心的鉴权,就可以获取所述节点数据,共享区块链节点中的业务数据。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率;通过区块链网络认证中心对终端和区块链节点的鉴权,保证了数据共享时业务数据的安全性;通过反馈链节点的异常状态数据,可以避免区块链节点状态异常而导致的业务数据接收失误等状况的发生,保证了数据共享的完整性。
请参见图5,为本发明实施例提供了一中数据共享过程架构示意图。如图4所示:包括终端10,数据共享设备20
终端10,用于连接区块链节点、存储数据和查询数据。
数据共享设备20,包括通讯接口201,、权限认证模块202、共识算法模块203以及数据存储层204。
终端10通过通讯接口201上传业务数据,通过权限认证模块202对终端10和节点端201的权限认证后,算法共识模块202进行多节点共识,并将共识结果存储至数据存储层204。
下面将结合附图6-附图7,对本发明实施例提供的数据共享设备进行详细介绍。需要说明的是,附图6-附图7所示的数据共享设备,用于执行本发明图1-图5所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图5所示的实施例。
请参见图6,为本发明实施例提供了一种数据共享设备的结构示意图。如图6所示,本发明实施例的所述数据共享设备1可以包括:信息获取单元11、数据存储单元12和数据共享单元13。
信息获取单元11,用于获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。
可以理解的是,当数据共享设备1获取到终端发送的数据传输请求时,可以基于区块链网络认证中心,生成并返回所述数据传输请求对应的数据传输秘钥,相当于授权所述终端的合法性以及所述终端传输的业务数据的合法性。所述数据传输秘钥可以是基于区块链技术为终端对应的终端账户分配的公私秘钥,各个终端账户只能查看自己被授权访问的数据,而且由于区块链中账户特性,任何成员的账户地址只是一个64位字符串,无任何现实意义,能够保证非相关成员无法猜测到数据来源保证了数据的匿名安全性。
具体实现中,信息获取单元11可以获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。可以理解的是,所述第一业务数据仅是区别于其他终端发送的数据而进行的命名,并不是数量上的限制。
数据存储单元12,用于当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中。
需要说明的是,所述区块链网络认证中心可以预先给各客户端分配数据传输秘钥,给区块链网络中的各区块链节点分配节点秘钥。所述区块链网络由多个区块链节点端服务共同组成,所述节点端服务包括共识算法和存储层,所述区块链节点可以通过所述共识算法将接收到的业务数据广播至区块链网络进行共识。
可以理解的是,所述数据共享设备可以通过将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配完成区块链网络认证中心的权限认证。
具体实现中,当存在与所述数据传输秘钥相匹配的节点秘钥时,所述数据共享设备1可以确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证,进而,所述数据共享设备1可以确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点,可以理解的是,所述第一区块链节点仅是为了区分其他区块链节点而进行的命名,与区块链节点数量无关。
进一步的,数据存储单元12可以将所述第一业务数据存储至所述第一区块链节点中。可以理解的是,所述第一区块链节点可以将所述第一业务数据广播至所述区块链网络中与之相邻的区块链节点并进行共识,获得一致性认可。
数据共享单元13,用于获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
可以理解的是,所述第二区块链节点可以是所述区块链网络中除所述第一区块链节点之外的其他全部节点,可以代表至少一个节点,即所述第二区块链节点可以是一个区块链节点集合。所述第二业务数据可以是所述第二区块链节点中的业务数据,当所述第二区块链节点包括至少两个区块链节点时,所述第二业务数据相应的包括至少两种业务数据。
具体实现中,数据共享单元13可以获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,可以理解的是,所述节点数据可以是所述区块链网络中所有区块链节点中的业务数据。进一步的,所述数据共享单元13可以将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中,完成数据共享。
可以理解的是,所述数据共享单元13可以在所述第一区块链节点和所述第二区块链节点中基于共识算法确定一个主节点,每隔t时间,由主节点将已共识的业务数据打包在区块上。主节点核心任务是负责数据的接收和打包服务,再经过t时刻后由主节点将收到的所有业务数据在主节点打包时中不产生任何数字货币奖励,因此来做为业务数据共享平台。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率。
请参见图7,为本发明实施例提供了另一种数据共享设备的结构示意图。如图7所示,本发明实施例的所述数据共享设备1可以包括:信息获取单元11、数据存储单元12、数据共享单元13、秘钥生成单元14、认证确认单元15、节点确定单元16、状态数据输出单元17和节点数据输出单元18。
秘钥生成单元14,用于当获取到终端发送的数据传输请求时,生成并返回所述数据传输请求对应的数据传输秘钥。
可以理解的是,当秘钥生成单元14获取到终端发送的数据传输请求时,可以基于区块链网络认证中心,生成并返回所述数据传输请求对应的数据传输秘钥,相当于授权所述终端的合法性以及所述终端传输的业务数据的合法性。所述数据传输秘钥可以是基于区块链技术为终端对应的终端账户分配的公私秘钥,各个终端账户只能查看自己被授权访问的数据,而且由于区块链中账户特性,任何成员的账户地址只是一个64位字符串,无任何现实意义,能够保证非相关成员无法猜测到数据来源保证了数据的匿名安全性。
信息获取单元11,用于获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。
具体实现中,信息获取单元11可以获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥。可以理解的是,所述第一业务数据仅是区别于其他终端发送的数据而进行的命名,并不是数量上的限制。
认证确认单元15,用于将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配,当存在与所述数据传输秘钥相匹配的节点秘钥时,确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证。
需要说明的是,所述区块链网络认证中心可以预先给各客户端分配数据传输秘钥,给区块链网络中的各区块链节点分配节点秘钥,认证确认单元15可以将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配,当存在与所述数据传输秘钥相匹配的节点秘钥时,可以确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证。可以理解的是,所述区块链网络由多个区块链节点端服务共同组成,所述节点端服务包括共识算法和存储层,所述区块链节点可以通过所述共识算法将接收到的业务数据广播至区块链网络进行共识。
在本发明实施例的一种具体实现方式中,所述区块链网络可以如图3所示,图3中统一认证中心即区块链网络认证中心,业务层中的各类消息都可以是终端输入的业务数据。
节点确定单元16,用于确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点。
具体实现中,当所述认证确认单元15确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证后,节点确定单元16可以确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点。可以理解的是,所述第一区块链节点仅是为了区分其他区块链节点而进行的命名,与区块链节点数量无关。
数据存储单元12,用于当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中。
具体实现中,当所述数据传输秘钥通过区块链网络认证中心的权限认证时,数据存储单元12可以将所述第一业务数据存储至所述第一区块链节点中。可以理解的是,所述第一区块链节点可以将所述第一业务数据广播至所述区块链网络中与之相邻的区块链节点并进行共识,获得一致性认可。
状态数据输出单元17,用于当所述区块链网络认证中心监测到异常区块链节点时,输出所述异常区块链节点对应的异常状态数据。
具体实现中,所述区块链网络认证中心可以实时监测各区块链节点是否处于正常工作状态,当监测到异常时,可以输出该异常区块链节点对应的异常状态数据。可以理解的是,所述区块链网络认证中心可以对应以下服务:秘钥生成、公钥校验、定时触发判断节点是否在线以及异常状态主动通知普通状态定时通知。
举例说明,例如图4所示的区块链节点与区块链网络认证中心对应关系的实现过程,其中,区块链网络认证中心的代码与实现的服务的对应关系为:assignKeyPair(Stringt)生成ECC算法秘钥对并返回;verifyPubkey(String pubKye)校验公钥是否合法且有效;ping(Node node)判断节点是否活跃且在线,由认证中心定时触发;statusNotice(Statusst)所有网络节点跟认证中心同步状态,异常状态主动通知,普通状态定时通知。
在本发明实施例中,通过反馈链节点的异常状态数据,可以避免区块链节点状态异常而导致的业务数据接收失误等状况的发生,保证了数据共享的完整性。
数据共享单元13,用于获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
可以理解的是,所述第二区块链节点可以是所述区块链网络中除所述第一区块链节点之外的其他全部节点,可以代表至少一个节点,即所述第二区块链节点可以是一个区块链节点集合。所述第二业务数据可以是所述第二区块链节点中的业务数据,当所述第二区块链节点包括至少两个区块链节点时,所述第二业务数据相应的包括至少两种业务数据。
具体实现中,数据共享单元13可以获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,可以理解的是,所述节点数据可以是所述区块链网络中所有区块链节点中的业务数据。进一步的,所述数据共享单元13可以将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中,完成数据共享。
可以理解的是,所述数据共享单元13可以在所述第一区块链节点和所述第二区块链节点中基于共识算法确定一个主节点,每隔t时间,由主节点将已共识的业务数据打包在区块上。主节点核心任务是负责数据的接收和打包服务,再经过t时刻后由主节点将收到的所有业务数据在主节点打包时中不产生任何数字货币奖励,因此来做为业务数据共享平台。
节点数据输出单元18,用于当获取到终端发送的数据获取请求时,将所述节点数据输出至所述终端。
具体实现中,当获取到终端发送的数据获取请求时,节点数据输出单元18将所述节点数据输出至所述终端。可以理解的是,任意终端都可以向所述区块链网络请求所述节点数据,只要通过所述区块链认证中心的鉴权,就可以获取所述节点数据,共享区块链节点中的业务数据。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率;通过区块链网络认证中心对终端和区块链节点的鉴权,保证了数据共享时业务数据的安全性;通过反馈链节点的异常状态数据,可以避免区块链节点状态异常而导致的业务数据接收失误等状况的发生,保证了数据共享的完整性。
请参见图8,为本发明实施例提供了又一种数据共享设备的结构示意图。如图8所示,所述数据共享设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及数据共享应用程序。
在图8所示的数据共享设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004主要用于与应用服务器进行数据传输;而处理器1001可以用于调用存储器1005中存储的数据共享应用程序,并具体执行以下操作:
获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥;
当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中;
获取所述区块链网络中第二区块链节点中的第二业务数据,将所述第一业务数据和所述第二业务数据确定为节点数据,并将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中。
在一个实施例中,所述处理器1001在执行获取终端发送的第一业务数据,并获取所述第一业务数据携带的数据传输秘钥之前,还执行以下操作:
当获取到终端发送的数据传输请求时,生成并返回所述数据传输请求对应的数据传输秘钥。
在一个实施例中,所述处理器1001在执行当所述数据传输秘钥通过区块链网络认证中心的权限认证时,将所述第一业务数据存储至所述区块链网络中的第一区块链节点中之前,还执行以下操作:
将所述数据传输秘钥与区块链网络中的节点秘钥进行匹配,当存在与所述数据传输秘钥相匹配的节点秘钥时,确定所述数据传输秘钥通过所述区块链网络认证中心的权限认证;
确定所述相匹配的节点秘钥对应的区块链节点为第一区块链节点。
在一个实施例中,所述处理器1001还执行以下操作:
当所述区块链网络认证中心监测到异常区块链节点时,输出所述异常区块链节点对应的异常状态数据。
在一个实施例中,所述处理器1001在执行将所述节点数据存储至所述第一区块链节点和所述第二区块链节点中之后,还执行以下操作:
当获取到终端发送的数据获取请求时,将所述节点数据输出至所述终端。
在本发明实施例中,通过获取终端发送的第一业务数据,并获取第一业务数据携带的数据传输秘钥,当数据传输秘钥通过区块链网络认证中心的权限认证时,将第一业务数据存储至区块链网络中的第一区块链节点中,然后获取区块链网络中第二区块链节点中的第二业务数据,将第一业务数据和第二业务数据确定为节点数据,并将节点数据存储至第一区块链节点和第二区块链节点中。通过将不同的业务数据共享至区块链节点实现数据共享,提高了不同客户端获取共享数据的效率;通过区块链网络认证中心对终端和区块链节点的鉴权,保证了数据共享时业务数据的安全性;通过反馈链节点的异常状态数据,可以避免区块链节点状态异常而导致的业务数据接收失误等状况的发生,保证了数据共享的完整性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。