数据协同方法及电子设备与流程

文档序号:17148136发布日期:2019-03-19 23:10阅读:344来源:国知局
数据协同方法及电子设备与流程

本申请涉及数据处理领域,具体而言,涉及一种数据协同方法及电子设备。



背景技术:

在传统模式下,终端设备需要直接接入中心服务器,或者通过汇聚点接入中心服务器,终端设备之间的数据交互需要由中心服务器实现,中心服务器的性能成为影响终端设备间数据交互效率的瓶颈。



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种数据协同方法及电子设备,以提升数据处理效率。

第一方面,本申请实施例提供了一种数据协同方法,应用于区块链网络中的第一节点,所述方法包括:

接收第一设备物理域中的第一终端的服务请求,所述第一设备物理域与所述第一节点关联,所述服务请求中包括数据需求信息;

根据所述数据需求信息调用部署的协同智能合约,通过所述协同智能合约向所述区块链网络中的其他节点发起数据协同请求;

获取所述其他节点根据所述数据协同请求返回的反馈数据;

根据所述反馈数据向所述第一终端发送服务请求响应。

在上述实现过程中,第一节点只需要接收第一设备物理域中的第一终端所发起的服务请求,并调用协同智能合约向同一区块链网络中的其他节点发送数据协同请求,再获取其他节点返回的反馈数据,然后向第一终端发送服务请求响应。对单个节点而言,由于划分了对应的设备物理域,降低了需要协调的终端规模,提高了数据处理效率。对所有设备物理域中的所有终端而言,可以有多个区块链节点完成一次数据协同过程,提高了数据处理效率。即使单个区块链节点出现临时故障,也不会影响大局,对于大部分设备物理域中的终端而言,仍然能够通过对应的区块链节点执行数据协同过程。

结合第一方面,在一种可能的设计中,所述数据协同请求中包括所述第一节点的公钥,所述获取所述其他节点根据所述数据协同请求返回的反馈数据,包括:获取所述其他节点根据所述数据协同请求返回的利用所述第一节点的公钥加密过的反馈数据。

在上述实现过程中,第一节点可以得到其他节点返回的反馈数据,但区块链网络中其他节点无法得到完整的反馈数据,保障数据安全。

结合第一方面,在一种可能的设计中,所述服务请求中包括数据请求时限,根据所述反馈数据向所述第一终端发送服务请求响应,包括:在所述数据请求时限内向所述第一终端发送服务请求响应。

在上述实现过程中,第一节点按照数据请求时限向第一终端进行响应,可以提高数据处理效率,避免无谓的等待,也保障了反馈数据的时效。

结合第一方面,在一种可能的设计中,在所述根据所述反馈数据向所述第一终端发送服务请求响应之前,所述方法还包括:接收所述第一设备物理域中的终端根据所述数据需求信息提交的反馈数据。

在上述实现过程中,若是第一设备物理域中其他终端有第一终端需要的信息,或第一终端自己也提交了反馈数据,第一节点还可以获取自己管辖的第一设备物理域中的数据,以得到第一设备物理域中第一终端所需的信息,得到的数据更为全面。

结合第一方面,在一种可能的设计中,所述根据所述反馈数据向所述第一终端发送服务请求响应,包括:向所述第一终端发送多个所述反馈数据。

在上述实现过程中,直接向第一终端发送反馈数据可以减轻第一节点的计算压力,提高数据处理效率,另外,由第一终端自己掌握数据能够更为自由的对反馈数据进行处理。

结合第一方面,在一种可能的设计中,所述根据所述反馈数据向所述第一终端发送服务请求响应,包括:根据所述反馈数据生成数据协同计算结果,向所述第一终端发送所述数据协同计算结果。

在上述实现过程中,第一节点对反馈数据进行处理后得到数据协同计算结果,将具有参考价值的数据协同计算结果发给第一终端,可以在第一终端与第一节点之间实现结果统一。

结合第一方面,在一种可能的设计中,在所述根据所述反馈数据生成数据协同计算结果之后,所述方法还包括:调用所述协同智能合约,通过所述协同智能合约得到第二节点信息,所述第二节点为提交过所述反馈数据的节点;向所述第二节点发送所述数据协同计算结果。

在上述实现过程中,第一节点通过调用协同智能合约确定哪些节点提交过反馈数据,有利于后续审计与查询,可以提供数据排查途径,另外,在第一节点确定哪些节点提交过反馈数据后,可以向提交过反馈数据的第二节点发送数据协同计算结果,实现数据奖励、数据共享。

结合第一方面,在一种可能的设计中,所述根据所述反馈数据向所述第一终端发送服务请求响应,包括:根据所述反馈数据生成数据协同计算结果;

在所述根据所述反馈数据生成数据协同计算结果之后,所述方法还包括:向所述第一设备物理域中提交过所述反馈数据的终端发送所述数据协同计算结果。

在上述实现过程中,第一节点若是得到了数据协同计算结果,可以将数据协同计算结果发送给第一设备物理域中提交过反馈数据的终端,以实现对同一设备物理域内部的数据奖励、数据共享。

第二方面,本申请实施例提供了一种数据协同方法,应用于区块链网络中的第二节点,所述方法包括:

接收所述区块链网络中第一节点发送的数据协同请求,所述数据协同请求中包括所述第一节点的信息;

根据所述数据协同请求在第二设备物理域中查找数据,所述第二设备物理域与所述第二节点关联;

将在所述第二设备物理域中收集到的反馈数据发送给所述第一节点。

在上述实现过程中,第二节点可以接收第一节点的数据协同请求,并根据数据协同请求查找数据,再将查找到的反馈数据发送给第一节点。对于单个节点而言,由于划分了对应的设备物理域,降低了需要协调的终端规模,提高了数据处理效率。对所有设备物理域中的所有终端而言,可以有多个不分层级的区块链节点完成一次数据协同过程,提高了数据处理效率。即使单个区块链节点出现临时故障,也不会影响大局,对于大部分设备物理域中的终端而言,仍然能够通过对应的区块链节点执行数据协同过程。

结合第二方面,在一种可能的设计中,第一节点的信息包括所述第一节点的公钥,所述将在所述第二设备物理域中收集到的反馈数据发送给所述第一节点,包括:利用所述第一节点的公钥对在所述第二设备物理域中查找到的反馈数据进行加密;将加密过的反馈数据发送给所述第一节点。

在上述实现过程中,第二节点可以将加密过的反馈数据发送给第一节点,以使避免区块链网络中的其他节点直接得到反馈数据,保障了只有第一节点可以得到完整的反馈数据。

结合第二方面,在一种可能的设计中,在所述将在所述第二设备物理域中收集到的反馈数据发送给所述第一节点之后,所述方法还包括:接收所述第一节点发送的数据协同计算结果,所述数据协同计算结果由所述第一节点根据所述反馈数据计算得到。

在上述实现过程中,第二节点可以接收到第一节点的数据协同计算结果,参与同一数据协同过程的请求节点与响应节点之间实现了数据共享,实现了同层级节点之间的沟通。

结合第二方面,在一种可能的设计中,在所述接收所述第一节点发送的数据协同计算结果之后,所述方法还包括:调用部署的协同智能合约,通过所述协同智能合约确定所述第二设备物理域中提交过所述反馈数据的终端;将所述数据协同计算结果发送给所述第二设备物理域中提交过所述反馈数据的终端。

在上述实现过程中,第二节点可以将第一节点的数据协同计算结果发送给第二设备物理域中提交过反馈数据的终端,实现了数据提供方的结果统一。从整体上看,实现了不同设备物理域之间的数据共享,有利于调动各个终端的协同积极性。

第三方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面和/或第二方面所述方法的步骤。

在上述实现过程中,电子设备作为区块链网络中的区块链节点,可以是请求数据的节点,也可以是返回反馈数据的节点,对于同一个节点来说既有可能要发起数据协同请求,也有可能接收到相应设备物理域内得到的反馈数据。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的数据协同系统的架构示意图。

图2为本申请实施例提供的一种数据协同方法的流程图。

图3为本申请实施例提供的另一种数据协同方法的流程图。

图4为本申请实施例提供的一个实例的数据协同交互示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面将对本申请实施例中的一些用语进行解释。

协同:由特定条件或人为触发的设备与设备之间相互操作。

区块链:利用了分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链中的数据由区块链网络中所有节点共同参与维护。通常,区块链由一系列基于密码学方法产生的数据块组成,每个数据块都是区块链中的一个区块。多个区块形成数据链条(区块链)。区块链具有去中心化、不可更改、不可伪造、完全可追溯的安全特性。区块链技术是一种去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代了目前互联网对中心服务器的依赖。其中,在区块链数据写入过程中,区块链节点可以通过向区块链网络发布“交易”实现向区块链的写数据,这一过程也可以被称为“广播”。交易被执行区块链共识竞争机制的区块链节点记录并发布到区块链网络中,在被其他区块链节点验证通过、接受以后,交易数据被写到区块链中。

智能合约:是指以数字形式定义的能够自动执行条款的合约。在区块链技术领域,智能合约特指基于预定事件触发、不可篡改、自动执行的计算机程序(协议)。区块链上的节点可以通过调用智能合约实现各种交易。在本申请实施例中,智能合约有用于终端注册过程中的注册智能合约,还有用于数据协同过程中的协同智能合约。注册智能合约可以将终端信息通过安全散列算法映射到区块链注册设备。协同智能合约可以实现:定义多个应用场景,与每个应用场景相关的区块链节点信息、与每个区块链节点相关的终端信息。示例性地,协同智能合约可以定义触发协同智能合约的触发条件、约定每种应用场景的指定触发条件,描述每个场景下需要参与该场景的参与节点信息,其中,这些参与节点可能是区块链中的部分或者全部节点。协同智能合约还可以记录区块链中每个节点下的终端信息,以及记录反馈过数据的终端的信息。

设备物理域:根据应用场景或者物理位置划分的设备集群,每个设备物理域中包括多个终端设备,这些终端设备简称终端。

id:identification的缩写,表示身份标识。

在本申请实施例中,为了保障各个协同数据的可靠来源,在进行数据协同流程之前,需要执行注册流程,注册流程包括:各个终端在区块链节点上进行注册,区块链节点调用注册智能合约,将各个终端的设备信息(厂商编号、终端类型信息、终端id等)映射成区块链注册设备,例如可以根据各个终端的设备信息计算得到各个设备所对应的哈希值,并将计算出的哈希值记录在区块链上,利用区块链数据不可篡改特性,既能够保障设备信息与区块链注册设备信息的一一对应,又能够保护设备的敏感信息不被泄漏。

请参看图1,图1为本申请实施例提供的数据协同系统的架构示意图。系统中包括多个服务器,每个服务器均作为区块链网络中的区块链节点(图1中的节点a、节点b、节点c、节点d),每个区块链节点管理一个设备物理域(图1中的物理域a’、物理域b’、物理域c’、物理域d’),一个设备物理域中可以包括多个终端,如图1中的a1、a2、an分别表示设备物理域a’中的终端,b1、b2、bn分别表示设备物理域b’中的终端,c1、c2、cn分别表示设备物理域c’中的终端,d1、d2、dn分别表示设备物理域d’中的终端。用户可以通过任一设备物理域中的终端向对应的区块链节点发起服务请求,区块链节点接收到服务请求后调用部署在区块链节点上的智能合约执行智能合约中约定的协议内容,例如根据请求内容的类型或者格式确定应用场景、获取节点信息、获取终端信息、记录节点信息、记录终端信息、记录数据等。若是其中一个需要请求数据的请求节点调用了协同智能合约,可以根据协同智能合约确定要向区块链中的哪些节点发送请求,请求节点在对收集到的数据进行处理后再调用协同智能合约,根据合约内容可以将处理后的数据结果发送给数据提供方、数据请求方,也可以直接将收集到的数据发送给数据请求方。其中,数据请求方表示提出服务请求的请求终端,数据提供方可能是与请求终端不同的其他终端,也可能是其他节点,数据提供方还可能包括请求终端。

第一实施例

请参阅图2,图2为本申请实施例提供的数据协同方法的流程图。该数据协同方法应用于区块链网络中的第一节点。第一节点为接收到服务请求的节点,对区块链网络中的其他节点而言,第一节点可以视为请求节点。

下面将对图2所示的具体流程进行详细阐述,包括s21-s24。

s21:接收第一设备物理域中的第一终端的服务请求,第一设备物理域与第一节点关联,服务请求中包括数据需求信息。其中,第一终端是请求终端,服务请求中可以包括第一终端的信息以及多项数据需求信息,数据需求信息可能包括数据类型、数据请求时限、数据格式等。

s22:根据数据需求信息调用部署的协同智能合约,通过协同智能合约向区块链网络中的其他节点发起数据协同请求。其中,根据数据需求信息调用协同智能合约可以确定需要向哪些节点发送数据协同请求,即确定哪些节点需要参与协同过程。数据协同请求中可能包括数据需求类型、数据截止时限、数据反馈的方式、第一节点的信息等。

s23:获取其他节点根据数据协同请求返回的反馈数据。其中,第一节点可以直接接收其他节点定向返回的反馈数据,也可以获取其他节点广播到区块链网络中的经过加密的反馈数据。

s24:根据反馈数据向第一终端发送服务请求响应。其中,可以根据服务请求中第一终端的信息以及数据需求信息向第一终端发送服务请求响应,以对请求终端做到反馈。

在上述实现过程中,第一节点只需要接收第一设备物理域中的第一终端所发起的服务请求,并调用协同智能合约向同一区块链网络中的其他节点发送数据协同请求,再获取其他节点返回的反馈数据,然后向第一终端发送服务请求响应。对单个节点而言,由于划分了对应的设备物理域,降低了需要协调的终端规模,提高了数据处理效率。对所有设备物理域中的所有终端而言,可以有多个区块链节点完成一次数据协同过程,提高了数据处理效率。即使单个区块链节点出现临时故障,也不会影响大局,对于大部分设备物理域中的终端而言,仍然能够通过对应的区块链节点执行数据协同过程。

可选地,在接收到第一终端的服务请求后,第一节点可以根据服务请求中第一终端的信息判断第一终端是否合法,若第一终端合法,则接收第一终端的服务请求,否则拒绝第一终端的服务请求。在验证第一终端是否合法时,第一节点可以解析第一终端的信息,得到第一终端的设备注册信息(厂商编号、终端类型信息、终端id等),再调用协同智能合约计算设备注册信息的哈希值,若计算得到的哈希值结果与区块链存储的对应哈希值一样,则验证通过,表示第一终端合法。

关于上述s22,作为一种实施方式,其他节点表示区块链网络中除第一节点以外的所有节点,第一节点可以根据数据需求信息调用部署的协同智能合约,将根据数据需求信息生成的数据协同请求广播到区块链网络中。作为另一种实施方式,其他节点表示根据协同智能合约确定出的需要参与数据协同过程的参与节点,在实际实施过程中,可以预先在区块链中写入多个应用场景,在各个区块链节点加入区块链网络时,就可以匹配到一个或者多个场景,通过第一节点调用协同智能合约时能够根据数据需求信息确定对应的应用场景,再根据应用场景确定哪些节点作为参与数据协同过程的节点,并向确定出的参与节点发起数据协同请求,以此能够向区块链网络中的部分节点发起数据协同请求,并且只接收这部分节点返回的数据。

需要说明的是,由于各个终端自身的计算能力、存储能力不高,无法直接作为区块链节点存储区块链中完整的账本,因此需要第一终端向第一节点发送服务请求,由第一节点实现同层级节点之间的数据交互,但第一节点无需再访问中心服务器来得到数据,加快了数据处理效率。由于第一终端是在区块链节点上进行过注册的,由区块链节点发起的数据协同请求可以代表第一设备物理域中的终端发起的请求。另外,由于只是根据数据需求信息调用的协同智能合约,并未暴露第一终端的信息,保障了信息安全。

其中,对于s22和s23,数据协同请求中可以包括第一节点的信息,例如第一节点的公钥或者地址,还可以包括第一节点指定的加密方式,以使第一节点能够获取反馈数据而避免让区块链网络中所有节点都得到反馈数据。

若是第一节点的信息包括第一节点的公钥,那么s23可以包括:获取其他节点根据数据协同请求返回的利用第一节点的公钥加密过的反馈数据。在实际应用中,若是其他节点在返回数据时将返回的内容广播到区块链网络中,只有第一节点能够利用自己的私钥对加密过的反馈数据进行解密,以得到反馈数据,提高了数据安全性,能够避免反馈数据中的隐秘信息暴露在区块链网络中

可选地,为了保障数据的时效,服务请求中可能包括数据请求时限,那么第一节点在发送数据协同请求时,数据协同请求中可以携带数据截止时间。相应的,在s24中,第一节点可以根据数据请求时限向第一终端发送服务请求响应。其中,第一节点在数据请求时限以内获得的反馈数据视为有效数据。

可选地,第一终端所要的数据可能不仅存在于在其他设备物理域中,还有可能通过第一设备物理域内的其他终端得到。因此,在执行s24之前,上述方法还可以包括:接收第一设备物理域中的终端根据数据需求信息提交的反馈数据。在实施过程中,第一节点可以根据第一终端的数据需求信息向第一设备物理域内的其他终端发起内部请求,并接收第一设备物理域内的其他终端根据第一节点的内部请求提交的反馈数据。可选地,第一节点可以在接收到数据需求信息后调用协同智能合约,确定出需要向第一设备物理域中的哪些终端发内部请求,也可以直接向第一设备物理域内的所有终端发内部请求,以查找第一终端需要的数据。

对于s24中的服务请求响应,可能有三种情况,第一种,服务请求响应包括多个反馈数据,第一节点直接向第一终端发送多个反馈数据;第二种,服务请求响应中包括根据反馈数据生成的数据协同计算结果,第一节点先根据反馈数据生成数据协同计算结果,再向第一终端发送数据协同计算结果;第三种,服务请求响应中包括反馈数据和根据反馈数据生成的数据协同计算结果,第一节点将反馈数据和数据协同计算结果发送给第一终端。

其中,若是直接将反馈数据发送给第一终端,有利于第一终端自己利用反馈数据进行计算,计算过程由第一终端执行,不仅减轻了第一节点的计算压力,还能够最大程度给予第一终端数据自由,以使用户能够根据实际需要通过第一终端进行数据计算,得到想要的计算结果,保障计算结果的数据安全性。在第一终端对反馈数据进行计算后,可以将计算得到的数据协同计算结果发送给第一节点,实现计算结果的备份。

若是第一终端请求的是一个计算结果或者评估结果,那么第一节点可以根据接收到的反馈数据生成数据协同计算结果,并将数据协同计算结果发送给第一终端。作为一种实施方式,第一节点可以根据第一终端发送的计算规则/原理/模型对反馈数据进行计算,得到数据协同计算结果;作为另一种实施方式,第一节点可以根据预先设置的计算规则/模型对反馈数据进行计算以得到具有参考价值的数据协同计算结果。其中,对于反馈数据的计算过程,可以是利用简单的加、减、乘、除、积分、微分、矩阵变换等方式对反馈数据进行组合计算,也可以使用神经网络模型对反馈数据进行处理,神经网络模型可以根据现有的数据训练得到。

可选地,在第一节点根据反馈数据生成数据协同计算结果后,可以将数据协同计算结果发送给数据提供方,以作为数据奖励。其中,数据提供方可能是区块链网络中除了第一节点以外的其他节点,也可能是第一设备物理域中除了第一终端以外的其他终端。

若数据提供方是区块链网络中除了第一节点以外的其他节点,上述方法还可以包括s25-s26。

s25:调用协同智能合约,通过协同智能合约得到第二节点信息,第二节点为提交过反馈数据的节点。

其中,第二节点信息可以包括区块链上的数据记录,第一节点通过调用协同智能合约读取区块链的链上数据,以确定哪些节点向第一节点返回过反馈数据。第二节点信息还可以包括第二节点的映射标识、地址,第一节点通过协同智能合约获取数据提供方的映射标识或者地址,以确定哪些节点向第一节点返回过反馈数据。

s26:向第二节点发送数据协同计算结果。示例性地,第二节点信息包括第二节点的地址,s26可以这样实现:根据第二节点的地址向第二节点发送数据协同计算结果。

若数据提供方是第一设备物理域中除了第一终端以外的其他终端,上述方法还可以包括s27。其中,在第一节点根据反馈数据生成数据协同计算结果后,执行s27:向第一设备物理域中提交过反馈数据的终端发送数据协同计算结果。

需要说明的是,有可能数据提供方既包括区块链网络中除了第一节点以外的其他节点,还包括第一设备物理域中除了第一终端以外的其他终端,只要确定出数据提供方并且第一节点得到了数据协同计算结果,就可以向数据提供方进行数据奖励,s25-s26、s27之间的顺序不应理解为对本申请的限制。

在一种可能的实施方式中,第一节点可以同时向请求终端、数据提供方发送数据协同计算结果,由于对于反馈结果的计算过程交给了第一节点,能够以统一的处理方式对反馈数据进行计算,并向请求终端、数据提供方返回较为统一的数据协同计算结果,各终端、各节点得到的数据协同计算结果具有高度统一性,参考价值高。

在另一种可能的实施方式中,第一节点可以向请求终端(第一终端)发送反馈数据,向数据提供方发送数据协同计算结果。对于第一终端而言,能够更快获得想要的数据,并且能够对得到的数据进行自由计算,对于第一节点而言,减轻了计算压力,提高了数据处理效率,对于数据提供方而言,仍然能够得到具有一定参考价值的数据奖励。

由上所述,上述数据协同方法能够应用于区块链网络中的请求节点,在上述方法中,请求节点只需要接收对应设备物理域中的请求终端所发起的服务请求,并调用协同智能合约向同一区块链网络中的其他节点发送数据协同请求,再获取其他节点返回的反馈数据,然后向请求终端发送服务请求响应。对单个节点而言,由于划分了对应的设备物理域,降低了需要协调的终端规模,提高了数据处理效率。对所有设备物理域中的所有终端而言,可以有多个不分层级的区块链节点完成一次数据协同过程,在数据查找过程中,各个区块链节点可以同步当前区块链上的数据,例如将加密后的反馈数据进行同步,提高了数据处理效率。

因此,上述方法至少存在以下有益效果:

(1)、改善了中心化架构的处理效率低问题。每个区块链节点只负责部分终端发起的服务请求,且各个区块链节点之间可以实现同层级的数据交互。

(2)、降低了系统维护成本,避免了传统方式中由于中心服务器出现故障或者中心服务器性能较差而对终端设备带来的弊端,例如传统模式可能造成所有终端设备都不能再得到数据,或者降低整体数据处理效率。在本申请实施例中,即使单个区块链节点出现临时故障,也不会影响大局,对于大部分设备物理域中的终端而言,仍然能够通过对应的区块链节点执行数据协同过程。

(3)、将数据共享作为激励机制,可以实现设备物理域之间的有效协同,不论是数据请求方、还是数据提供方都能够得到数据。

(4)、提高了数据安全性与设备安全性,本申请实施例提到的所有终端都在区块链节点上进行过注册,保障了设备合法性,在整个数据协同过程中,请求终端的信息并未直接让其他区块链节点得知,通过获取经过加密的反馈数据能够隐藏反馈数据,避免暴露反馈数据中涉及隐私的内容。

第二实施例

本实施例提供了一种数据协同方法,如图3所示,为本申请实施例提供的数据协同方法的流程图。该数据协同方法应用于区块链网络中的第二节点。第二节点为收到数据协同请求的节点,对于区块链网络中的第一节点而言,第二节点可以视为响应节点。下面将对图3所示的具体流程进行详细阐述,包括s31-s33。

s31:接收区块链网络中第一节点发送的数据协同请求,数据协同请求中包括第一节点的信息。

s32:根据数据协同请求在第二设备物理域中查找数据,第二设备物理域与第二节点关联。

其中,第二节点可以向第二设备物理域中的所有终端发起请求,以使第二设备物理域中的所有终端根据第二节点的请求提交数据,第二节点可以记录下第二设备物理域中提交过第二节点的终端,例如可以记录下这些终端的注册信息。

s33:将在第二设备物理域中收集到的反馈数据发送给第一节点。

其中,对于第二设备物理域中的终端所提交的数据,第二节点可以进行预处理,以对隐私数据进行过滤或加密。

上述方法能够在区块链网络中的第一节点发出数据协同请求后,及时对第一节点作出响应,向第一节点发送第二设备物理域中收集到的反馈数据。其中,第二节点与第一节点之间可以直接进行数据交互,数据处理效率高。

可选地,若第一节点的信息包括第一节点的地址,则s33可以包括:根据第一节点的地址将在第二设备物理域中收集到的反馈数据发送给第一节点。以此能够直接根据第一节点的地址发送数据,数据处理效率高。

可选地,若第一节点的信息包括第一节点的公钥,则s33可以包括:利用第一节点的公钥对在第二设备物理域中查找到的反馈数据进行加密;将加密过的反馈数据发送给第一节点。

以此可以利用非对称加密算法对查找到的反馈数据进行加密,能够避免涉及隐私的数据直接暴露在区块链网络中。

其中,若数据协同请求中包括数据需求信息,则s33可以包括:按照数据需求信息对在第二设备物理域中查找到的反馈数据进行处理,以使第一节点能够得到符合需求的反馈数据。数据需求信息可以包括数据类型、数据格式。

可选地,在s33之后,第二节点还可以接收第一节点发送的数据协同计算结果,数据协同计算结果由第一节点根据反馈数据计算得到。以此可以收到第一节点对于第二节点的奖励数据(数据协同计算结果),实现数据共享。

可选地,在接收第一节点发送的数据协同计算结果之后,第二节点还可以调用部署的协同智能合约,通过协同智能合约确定第二设备物理域中提交过反馈数据的终端;将数据协同计算结果发送给第二设备物理域中提交过反馈数据的终端。

其中,第二节点在获取第二设备物理域中由终端发送的数据时,可以记录下第二设备物理域中的哪些终端提交过数据,例如可以记录下这些终端的标识,在接收到第一节点发送的数据协同计算结果后,可以调用协同智能合约得到数据提交记录,进一步确定哪些终端提交过反馈数据,将数据协同计算结果发送给第二设备物理域中提交过反馈数据的终端,以对第二设备物理域中提交过反馈数据的终端进行数据奖励,实现数据分享,能够提高设备物理域之间进行数据协同的积极性。

由于本实施例提供的数据协同方法与第一实施例提供的数据协同方法是对应的,关于本实施例的数据协同方法的其他细节请参照前述实施例中的相关描述,在此不再赘述。

由上所述的数据协同方法能够应用于区块链网络中的第二节点(响应节点),对于第二节点而言,只需负责接收请求节点的数据协同请求,并根据数据协同请求在规模不大的第二设备物理域中查找数据,再将查找到的反馈数据提交给第一节点,相较于中心服务器的处理过程,每个区块链节点不是单独承担整个数据协同过程的,将数据处理任务分散后,每个节点、每个终端所要处理的数据处理量减少,整个数据协同过程中各个节点的任务明确,各个节点之间可以直接进行数据交互,能够提高数据处理效率。

最后,第二节点若是收到了第一节点发送的数据协同计算结果,可以将数据协同计算结果发送给第二设备物理域中提交过反馈数据的终端,以此可以实现设备物理域之间的数据协同、终端之间的数据协同。

下面将以一个实例来说明本申请实施例的方案。

假设有用户x在体检机构进行过体检,还在医院b’、医院c’看过病,没去过医院d’,用户x还在通过体检机构在保险机构买过保险。体检机构中多个终端的数据存储在体检机构的服务器a内,医院b’中多个终端的数据存储在医院b’的服务器b中,医院c’中多个终端的数据存储在医院c’的服务器c中,医院d’中多个终端的数据存储在医院d’的服务器d中。服务器a、服务器b、服务器c、服务器d分别作为区块链节点加入了同一区块链网络,保险机构的终端与体检机构的终端被划分在同一设备物理域中。

请参阅图4,图4示出了一种可能的数据协同交互过程。

1)保险机构的终端a1向服务器a发送服务请求,希望得到用户x的健康状况,服务器a作为区块链网络中的第一节点,收到服务请求后,可以通过协同智能合约先验证该请求终端a1的合法性,如果合法,则会把请求消息发送给自己管辖的设备物理域内的终端,然后调用协同智能合约获得参与协同的第二节点(节点b、节点c、节点d),向其他协同节点b、节点c、节点d发送数据协同请求。

2)第二节点(b、c、d)收到消息后将数据协同请求转发给对应设备物理域内的协同终端(b1、c1、d1)。

3)位于不同设备物理域中的多个终端(包括终端a1、b1、c1、d1)查询各自数据库,终端a1、终端b1、终端c1查到用户x的健康数据,并将用户x的健康数据返回给各自对应的区块链节点(a、b、c),终端d1没有查到数据则不提交数据。

4)节点a、节点b、节点c分别调用协同智能合约将查找到的用户x的健康数据利用节点a的公钥加密后存放于区块中。同时,调用协同智能合约将本次数据协同过程中的数据提供方(终端a1、终端b1、终端c1)记录到区块中。

5)节点a通过协同智能合约获取到区块上的加密数据,使用节点a自己私钥解密后得到反馈数据,调用预先定义好的模型评估得到用户x的健康状况,评估得到的可以是一个分数值,也可以是一组数据。

6)节点a调用协同智能合约根据4)记录的数据提供方将用户x的健康状况分发给终端a1,节点b、节点c,以使节点b、节点c将收到的用户x的健康状况发送给终端b1、终端c1。

需要说明的是,上述实例仅用作举例说明,在实际应用中,可以根据不同的应用场景划分设备物理域,例如同一学校内的所有终端可以是一个设备物理域,同一公司的所有终端可以是一个设备物理域。

除了上述实施例以外,本申请实施例还提供了一种电子设备,电子设备可以是具有一定计算能力和存储能力的服务器,电子设备可以作为区块链网络中的区块链节点。电子设备包括:处理器、存储器和总线,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储器之间通过总线通信,机器可读指令被处理器执行时可以执行第一实施例方法中的各个步骤以及各种实施方式,也可以执行第二实施例方法中的各个步骤以及各种实施方式。

此外,本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时运行如上述第一实施例和/或第二实施例提供的方法中的各个步骤。存储介质包括:移动硬盘、存储器等各种可以存储程序代码的介质。

综上所述,通过上述数据协同方法及电子设备可以改善传统中心化架构所带来的弊端,可以提高数据处理效率。每个区块链节点只负责部分终端发起的服务请求,且各个区块链节点之间可以实现同层级的数据交互。还降低了系统维护成本,避免了传统方式中由于中心服务器出现故障带来的所有终端设备都无法获取数据的问题。即使单个区块链节点出现临时故障,也不会影响大局,对于大部分设备物理域中的终端而言,仍然能够通过对应的区块链节点执行数据协同过程。

在本申请所提供的几个实施例中,应该理解到,也可以通过其它的方式实现。例如,附图中的流程图显示了根据本申请的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,图中的每个方框、以及图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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