数据共享方法及装置与流程

文档序号:15047451发布日期:2018-07-27 23:00阅读:137来源:国知局

本发明涉及区块链领域,特别涉及一种数据共享方法及装置。



背景技术:

随着互联网的发展,区块链技术受到广泛关注。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。各个企业的服务器可以以联盟的方式建立区块链联盟,以实现相互之间的数据共享,达到企业利益最大化。

在区块链联盟中,各个企业服务器可以对自己信任的其他企业服务器给予背书权限,例如:当企业a信任企业b时,企业a的服务器可以给予企业b的服务器背书权限,这样,当拥有背书权限的企业b对区块链中的数据进行插入或变更时,给予背书权限的企业a的服务器中的数据会发生对等变化,企业a的服务器可以查询到企业b的服务器的相关操作及数据内容,从而实现了企业b对于企业a的数据共享。

发明人经过研究发现,由于区块链本身的合约特性,拥有背书权限的企业服务器在进行数据共享时,所共享的全部数据,所有给予其背书权限的企业服务器都可以进行查看,而对于拥有背书权限的服务器而言,其共享的某些数据是只针对某些特定的授权服务器的,由此可见,现有的数据共享过程,降低了共享数据的安全性。



技术实现要素:

本发明所要解决的技术问题是提供一种数据共享方法,为企业服务器设定相应的查询权限,使企业服务器只能够对其查询权限对应的数据进行查询,提升了共享数据的安全性。

本发明还提供一种数据共享装置,用以保证上述方法在实际中的实现及应用。

一种数据共享方法,包括:

当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

上述的方法,可选的,所述确定所述节点服务器对应的目标服务器集群,包括:

确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器;

将所述各个查询服务器作为目标服务器,组成所述节点服务器对应的目标服务器集群。

上述的方法,可选的,所述确定所述节点服务器对应的目标服务器集群,包括:

确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器,及所述节点服务器指定的未给予所述节点服务器背书权限的各个关联服务器;

将所述各个查询服务器及所述各个关联服务器均作为目标服务器,组成所述节点服务器对应的目标服务器集群。

上述的方法,可选的,所述将所述查询权限集合与所述数据集合在所述区块链中进行关联,包括:

将所述查询权限集合输入所述区块链中,生成与所述查询权限集合对应的第一区块;并将所述数据集合输入所述区块链中,生成与所述数据集合对应的第二区块;

将所述第一区块与所述第二区块进行关联,以实现所述查询权限集合与所述数据集合在所述区块链的关联。

上述的方法,可选的,当所述目标服务器为所述查询服务器时,所述第一预设条件包括:

所述查询服务器通过所述区块链的身份验证。

上述的方法,可选的,当所述目标服务器为所述关联服务器时,所述第一预设条件包括:

所述关联服务器在给予所述节点服务器背书权限的情况下,且所述关联服务器通过所述区块链的身份验证。

上述的方法,可选的,还包括:

在接收到所述节点服务器的权限修改指令时,依据所述权限修改指令对其对应的所述查询权限集合中的查询权限进行修改。

一种数据共享装置,包括:

确定单元,用于当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

设定单元,用于设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

关联单元,用于将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述的数据共享方法。

一种电子设备,包括存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的数据共享方法。

与现有技术相比,本发明包括以下优点:

本发明提供了一种数据共享方法,当区块链关联的某一个节点服务器需要向所述区块链中输入数据集合时,确定该节点服务器对应的目标服务器集群,所述目标服务器集群中包括至少一个目标服务器,为每个所述目标服务器设定其对所述数据集合中每个服务器数据的查询权限,从而确定每个目标服务器可以对数据集合中数据的查询范围,然后将各个所述查询权限组成查询权限集合,并将所述查询权限集合与所述数据集合在所述区块链中进行关联,从而使,每个所述目标服务器,在满足一定条件时,可以根据对应的查询权限,针对性的所述数据集合中的数据进行查询,使得节点服务器可以有针对性的进行数据共享,保证了共享数据的安全性。

附图说明

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

图1为本发明提供的一种数据共享方法的方法流程图;

图2为本发明提供的一种数据共享方法的又一方法流程图;

图3为本发明提供的一种数据共享方法的又一方法流程图;

图4为本发明提供的一种数据共享方法的又一方法流程图;

图5为本发明提供的一种数据共享方法的一执行过程图;

图6为本发明提供的一种数据共享方法的又一执行过程图;

图7为本发明提供的一种数据共享装置的结构示意图;

图8为本发明提供的一种电子设备的结构示意图。

具体实施方式

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

本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

本发明实施例提供了一种数据共享方法,该方法可以应用在关联在区块链中的任何一个节点服务器中,可以由节点服务器执行本发明提供的数据共享方法的共享过程,图1示出了本发明实施例提供的数据共享方法的方法流程图,包括:

s101:当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

本发明实施例中,区块链中关联有多个节点服务器,任意一个节点服务器通过操作其内部数据或运行某些线程进行数据处理,然后将处理的数据输入至所述区块链中时,本发明实施例提供的数据共享方法中,首先确定该节点服务器对应的目标服务器集群;所述目标服务器集群中可以包括一个目标服务器,也可以包括多个目标服务器。

s102设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

本发明实施例中,为每个所述目标服务器设定查询权限,确定每个所述目标服务器可以对所述数据集合中的哪些数据进行查询,将设定的各个查询权限组成查询权限集合。

s103:将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

本发明实施例中,将包含服务器数据的数据集合,及包含查询权限的查询权限集合,在所述区块链中进行关联,设定查询权限集合中各个查询权限与所述数据集合中各个服务器数据的对应关系。本发明实施例中,可以将所述查询权限集合和所述数据权限集合关联好后,在输入至所述区块链中,也可以分别将所述查询权限集合和所述数据集合分别输入至所述区块链中,然后在区块链中进行关联,其核心思想即输入至区块链中的查询权限集合和数据集合,最终是相互关联的。

本发明实施例中,对于与区块链关联的各个节点服务器,当任意一个节点服务器需要向区块链中输入服务器数据时,将要输入的各个服务器数据作为一个数据集合,然后确定当前节点服务器对应的目标服务器集群,所述目标服务器集群中包括至少一个目标服务器,本发明实施例中所涉及的目标服务器,均为当前节点服务器确定的与其具有关联关系的关联在所述区块链中的节点服务器。本发明实施例中,为每个目标服务器设定查询权限,确定每个目标服务器能够查询哪些存在于所述数据集合中的服务器数据,并将设定的各个查询权限组成查询权限集合,将所述查询权限集合与所述数据集合进行关联,然后应用在所述区块链中,当每个目标服务器满足一定的查询条件时,可以在所述区块链中,结合区块链中的智能合约,依据其对应的查询权限,对数据集合中的服务器数据进行查询,以获得与其查询权限的服务器数据,实现了数据的针对性共享,保证了共享数据的安全性。

本发明实施例中,区块链可以相当于一个虚拟数据库,每个关联的节点服务器均可以在所述虚拟数据库中存储数据。每个节点服务器均可以在所述虚拟数据库中查询数据。本发明实施例中,区块链也可以是多个节点服务器组成的服务器系统,在满足一定条件时,各个节点服务器之间可以互相进行数据查询,数据写入,写入在本地节点服务器中。

参考图2,示出了本发明实施例中,确定所述节点服务器对应的目标服务器集群的具体过程,包括:

s201:确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器;

s202:将所述各个查询服务器作为目标服务器,组成所述节点服务器对应的目标服务器集群。

本发明实施例提供的数据共享方法,应用在节点服务器中,用于向区块链中共享数据。区块链中当某一个节点服务器信任另外一个节点服务器时,可以向信任的节点服务器进行背书授权,给予背书权限,被信任的服务器作为背书节点服务器,给予背书权限的节点服务器作为查询服务器,本发明实施例中,在任意一个节点服务器向区跨链输入数据时,确定在所述区块链中给予当前所述节点服务器背书权限的各个查询服务器,即目标服务器集群中,包含的都是给予当前所述节点服务器背书权限的查询服务器。

在图2的基础上,参考图3,示出了本发明实施例中,另外一种确定所述节点服务器对应的目标服务器集群的具体过程,包括:

s301:确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器,及所述节点服务器指定的未给予所述节点服务器背书权限的各个关联服务器;

s302:将所述各个查询服务器及所述各个关联服务器均作为目标服务器,组成所述节点服务器对应的目标服务器集群。

本发明实施例中,目标服务器集群中的各个目标服务器可以由两部分组成,其中一部分是所有在区块链中给予当前所述节点服务器背书权限的查询服务器。另外一部分还可以是未给予当前所述节点服务器背书权限,但是由当前所述节点服务器进行指定的关联服务器,所述关联服务器为关联在所述区块链中的节点服务器。

参考图4,示出了本发明实施例中,所述将所述查询权限集合与所述数据集合在所述区块链中进行关联的具体过程,包括:

s401将所述查询权限集合输入所述区块链中,生成与所述查询权限集合对应的第一区块;并将所述数据集合输入所述区块链中,生成与所述数据集合对应的第二区块;

s402将所述第一区块与所述第二区块进行关联,以实现所述查询权限集合与所述数据集合在所述区块链的关联。

本发明实施例中,根据区块链的特性,向区块链中输入一项数据,在区块链中会对应生成一个区块,该区块用以表示输入的数据。

本发明实施例中,将查询权限集合输入至区块链中,生成与所述查询权限集合对应的第一区块,同时,将数据集合输入至区块链中,生成与所述数据集合对应的第二区块,然后将第一区块与所述第二区块进行关联,以实现查询权限集合与所述数据集合的关联。

本发明实施例中,所述第一区块与所述第二区块的关联是指用户在区块链中需要对数据进行查询时,需要先访问第一区块,经由所述第一区块继续对第二区块进行访问。

本发明实施例中,当所述目标服务器为所述查询服务器时,所述第一预设条件包括:

所述查询服务器通过所述区块链的身份验证。

本发明实施例中,对于目标服务器集群中的各个目标服务器,当所述目标服务器为给予当前节点服务器背书权限的查询服务器时,查询服务器在对区块链中的数据集合中的服务器数据进行查询时,查询服务器需要首先在区块链中进行身份验证,确定自己的身份,验证通过时,即可以根据对应的查询权限对数据进行查询。

本发明实施例中,当所述目标服务器为所述关联服务器时,所述第一预设条件包括:

所述关联服务器在给予所述节点服务器背书权限的情况下,且所述关联服务器通过所述区块链的身份验证。

本发明实施例中,对于目标服务器集群中的各个目标服务器,当所述目标服务器为未给予当前所述节点服务器背书权限的关联服务器时,当所述关联服务器需要先给予所述当前节点服务器背书权限,然后在区块链中进行身份验证,验证通过时,所述关联服务器可以根据对应的查询权限对数据进行查询。

本发明实施例中,节点服务器可以指定为区块链中的其他各个节点服务器设定权限,在其他节点服务器给予所述当前节点服务器背书权限,且通过区块链身份验证时,可以依据其对应的权限进行数据查询。

本发明实施例中,还包括:

在接收到所述节点服务器的权限修改指令时,依据所述权限修改指令对其对应的所述查询权限集合中的查询权限进行修改。

本发明实施例中,节点服务器可以对设定的查询权限集合中的各个查询权限进行重新设定。

结合本发明实施例提供的图5及图6,本发明实施例提供了一个可选实例,对本发明实施例提供的数据共享方法进行详细介绍:

设定有三家企业,企业a处设置有节点服务器a,企业b处设置有节点服务器b,企业c处设置节点服务器c。

节点服务器a、节点服务器b和节点服务器c,组成区块链联盟,企业a、企业b和企业c执行相同的智能合约。

企业b和企业c信任企业a,节点服务器b和节点服务器c给予节点服务器a背书权限,节点服务器b和节点服务器c可以在区块链中查询节点服务器a的数据操作。

将节点服务器a作为背书节点服务器a,将节点服务器b作为查询服务器b,将节点服务器c作为查询服务器c。

背书节点服务器a在向区跨链中输入服务器数据时,如图6所示,可以在区块链中首先存入企业b和企业c的成员创建者信息,该信息中包含了成员的用户节点数据,该数据具有唯一特性。

在区块链中会对应的生成两个区块,这两个区块分别包含了企业b和企业c的信息。两个区块中可以写入对访问数据的约束条件。

背书节点服务器a完成上述区块创建步骤后,开始向区块链中插入其它数据,该操作会产生一个新的区块,在该区块中的数据属于全集,即背书节点服务器a会将所有希望共享的数据全部存入。

可选的,背书节点服务器a需要写入数据集合中包括数据a,数据b,背书节点服务器a可以设定查询服务器b可以查询数据a,查询服务器可以查询数据b,并将设定的权限与数据集合中的数据一同写入到区块链中。同时在区块链的智能合约中约束区块中数据取出的筛选条件。

结合图5及图6,假设当查询服务器b执行智能合约查询背书节点服务器a共享的数据时,会首先创建一个区块,该区块中包含了企业b的成员数据,该数据会根据智能合约限定所查询区块中的成员数据进行匹配,进行身份验证。在身份验证通过时,最后根据匹配结果进行筛选并返回指定的数据,无需返回数据全集。

与图1所示的数据共享方法相对应的,本发明实施例还提供了一种数据共享装置,用于对图1中数据共享方法的具体实现,本发明实施例提供的数据共享装置可以应用在节点服务器的处理器中,其结构示意图如图7所示,具体包括:

确定单元501,用于当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

设定单元502,用于设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

关联单元503,用于将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

本发明实施例中提供的数据共享装置,对于与区块链关联的各个节点服务器,当任意一个节点服务器需要向区块链中输入服务器数据时,将要输入的各个服务器数据作为一个数据集合,然后确定当前节点服务器对应的目标服务器集群,所述目标服务器集群中包括至少一个目标服务器,本发明实施例中所涉及的目标服务器,均为当前节点服务器确定的与其具有关联关系的关联在所述区块链中的节点服务器。本发明实施例中,为每个目标服务器设定查询权限,确定每个目标服务器能够查询哪些存在于所述数据集合中的服务器数据,并将设定的各个查询权限组成查询权限集合,将所述查询权限集合与所述数据集合进行关联,然后应用在所述区块链中,当每个目标服务器满足一定的查询条件时,可以在所述区块链中,结合区块链中的智能合约,依据其对应的查询权限,对数据集合中的服务器数据进行查询,以获得与其查询权限的服务器数据,实现了数据的针对性共享,保证了共享数据的安全性。

本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述数据共享方法,所述方法具体包括:

一种数据共享方法,包括:

当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

上述的方法,可选的,所述确定所述节点服务器对应的目标服务器集群,包括:

确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器;

将所述各个查询服务器作为目标服务器,组成所述节点服务器对应的目标服务器集群。

上述的方法,可选的,所述确定所述节点服务器对应的目标服务器集群,包括:

确定在所述区块链中给予所述节点服务器背书权限的各个查询服务器,及所述节点服务器指定的未给予所述节点服务器背书权限的各个关联服务器;

将所述各个查询服务器及所述各个关联服务器均作为目标服务器,组成所述节点服务器对应的目标服务器集群。

上述的方法,可选的,所述将所述查询权限集合与所述数据集合在所述区块链中进行关联,包括:

将所述查询权限集合输入所述区块链中,生成与所述查询权限集合对应的第一区块;并将所述数据集合输入所述区块链中,生成与所述数据集合对应的第二区块;

将所述第一区块与所述第二区块进行融合,以实现所述查询权限集合与所述数据集合在所述区块链的关联。

上述的方法,可选的,当所述目标服务器为所述查询服务器时,所述第一预设条件包括:

所述查询服务器通过所述区块链的身份验证。

上述的方法,可选的,当所述目标服务器为所述关联服务器时,所述第一预设条件包括:

所述关联服务器在给予所述节点服务器背书权限的情况下,且所述关联服务器通过所述区块链的身份验证。

上述的方法,可选的,还包括:

在接收到所述节点服务器的权限修改指令时,依据所述权限修改指令对其对应的所述查询权限集合中的查询权限进行修改。

本发明实施例还提供了一种电子设备,其结构示意图如图8所示,具体包括存储器601,以及一个或者一个以上的程序602,其中一个或者一个以上程序602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上程序602包含用于进行以下操作的指令:

当节点服务器需要向其所在的区块链输入数据集合时,确定所述节点服务器对应的目标服务器集群;所述数据集合中包括至少一个服务器数据,所述目标服务器集群中包括至少一个目标服务器;

设定每个所述目标服务器对所述数据集合中每个服务器数据的查询权限,并将设定的各个查询权限组成查询权限集合;

将所述查询权限集合与所述数据集合在所述区块链中进行关联,以使每个所述目标服务器,在第一预设条件下,依据其对应的查询权限在所述区块链中对所述数据集合中的数据进行查询,实现数据共享。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明所提供的一种数据共享方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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