一种基于区块链的信息资源获取方法、装置及系统与流程

文档序号:17373760发布日期:2019-04-12 23:04阅读:323来源:国知局
一种基于区块链的信息资源获取方法、装置及系统与流程

本发明涉及区块链技术领域,具体涉及一种基于区块链的信息资源获取方法、装置及系统。



背景技术:

由于工作的需要,很多业务机构之间都需要相互合作,共享数据。但是,各业务机构之间由于区域限制问题、信任问题等,不能实现完全数据的共享。如果某个业务机构希望得到某一数据,将会存在两个问题。第一,不清楚该去哪个业务机构获取该数据;第二,即使清楚该去哪个业务机构获取数据,但是由于信任问题,具有数据的业务机构不敢轻易将自身拥有的源数据轻易分享给该业务机构。担心该业务机构会将大数据进行复制、修改等,无法再控制数据的流向,从而导致自己业务机构的利益受损。

而这也阻碍的相关业务机构之间的相互合作,影响了工作效率。那么如何实现各业务机构之间的“相互信任”,实现数据共享,从而提高政务机关的办事效率成为亟待解决的技术问题。



技术实现要素:

本发明实施例的目的在于提供一种基于区块链的信息资源获取方法、装置及系统,用以解决现有相关业务机构之间不能相互信任,数据不能共享,从而影响政务机关的办事效率的问题。

为实现上述目的,本发明实施例提供一种基于区块链的信息资源获取方法,该方法应用于一种基于区块链的信息资源获取系统,该系统包括:需求方客户端、供应方客户端和数据交换服务器,该方法由数据交换服务器执行,包括:

接收需求方客户端发送的数据请求,数据请求包括与需求数据对应的信息、需求方标识信息以及供应方标识信息;与需求数据对应的信息和供应方标识信息为需求方从区块链上挂载的数据目录中查询获得;

将数据请求发送至供应方客户端,以便当供应方客户端根据供应方标识信息和需求方标识信息确定数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用需求方标识信息对需求数据进行加密并反馈;

接收加密后的需求数据,并反馈至需求方客户端。

本发明实施例具有如下优点:区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器,由数据交换服务器将数据请求发送至供应方客户端。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

为实现上述目的,本发明实施例提供一种基于区块链的信息资源获取装置,该装置包括:

接收单元,用于接收需求方客户端发送的数据请求,数据请求包括与需求数据对应的信息、智能合约以及供应方标识信息,智能合约上包含需求方标识信息;与需求数据对应的信息、智能合约和供应方标识信息为需求方从区块链上挂载的数据目录中查询获得,需求方通过需求方客户端,在智能合约上利用公钥进行签名,智能合约包含对于需求数据的请求限定条件,并保存请求过程记录;

发送单元,用于将数据请求发送至供应方客户端,以便当供应方客户端根据智能合约和供应方标识信息确定数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用公钥对需求数据进行加密并反馈;

接收单元还用于,接收加密后的需求数据;

发送单元还用于,将加密后的需求数据反馈至需求方客户端。

本发明实施例具有如下优点:区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器,由数据交换服务器将数据请求发送至供应方客户端。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

为实现上述目的,本发明实施例提供一种基于区块链的信息资源获取系统,该系统包括:

需求方客户端、供应方客户端和数据交换服务器;

需求方客户端,用于从区块链上挂载的数据目录中查询获得与需求数据对应的信息、智能合约以及供应方标识信息,在智能合约上利用公钥进行签名;

将与需求数据对应的信息、智能合约以及供应方标识信息构成一个数据请求后,发送至数据交换服务器;

供应方客户端,用于根据供应方标识信息和智能合约验证数据请求合法性;

且当数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用公钥对需求数据进行加密并反馈至数据交换服务器;

数据交换服务器用于执行如上所介绍的一种基于区块链的信息资源获取方法。

本发明实施例具有如下优点:区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器,由数据交换服务器将数据请求发送至供应方客户端。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

为实现上述目的,本发明实施例提供一种计算机存储介质,其特征在于,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被数据交换服务器执行如上所介绍的一种基于区块链的信息资源获取方法。

附图说明

图1为本发明实施例1提供的一种基于区块链的信息资源获取方法流程示意图。

图2为本发明实施例2提供的一种基于区块链的信息资源装置结构示意图;

图3为本发明实施例3提供的一种基于区块链的信息资源系统结构示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、右”、“中间”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

实施例1

本发明实施例1提供了一种基于区块链的信息资源获取方法,具体如图1所示,方法应用的场景为相关业务机构之间的数据共享。当然,也可以应用到其他适于该方法的应用场景。在本实施例中,主要以相关业务机构之间的数据共享为例说明,该方法应用于一种基于区块链的信息资源获取系统,该系统包括:需求方客户端、供应方客户端和数据交换服务器,该方法由数据交换服务器执行,该方法包括:

步骤110,接收需求方客户端发送的数据请求。

具体的,数据请求包括与需求数据对应的信息、智能合约以及供应方标识信息,智能合约上包含需求方标识信息;与需求数据对应的信息、智能合约和供应方标识信息为需求方从区块链上挂载的数据目录中查询获得,需求方通过需求方客户端,在智能合约上写入需求方的公钥,作为需求方的标识信息,智能合约包含对于需求数据的请求限定条件,并保存请求过程记录。

在这之前,需要事先做一些准备工作。例如,供应方需要统计自身所拥有的数据。对数据进行分类,然后按照一定的规则提取每一类数据的属性信息。以关键字段的形式记载到数据目录上。每一个供应方在区块链上都有一个数据目录相对应。另外,数据目录上至少还可以包括每一类数据对应的数据请求路径,以及供应方自己的标识信息,即供应方标识信息。同时,供应方还可以制定智能合约,该智能合约用以约束数据需求方对请求的数据的使用。例如,可以限定请求数据的需求方身份信息、使用数据范围的权限、使用数据的时间和使用数据次数等等。通过智能合约,可以保证数据的使用属于供应方能够控制的范围内。进而提升供应方和需求方之间的信任度。

而当需求方需要向供应方请求数据时,需要在智能合约写入自己的公钥,用以供应方可以识别请求数据的需求方身份。

而智能合约还需要记录数据请求和使用的全过程。便于后续一旦数据的使用发生任何意外,都可以根据记录进行追溯相应责任。

步骤120,将数据请求发送至供应方客户端,以便当供应方客户端根据智能合约和供应方标识信息确定数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用公钥对需求数据进行加密并反馈。

数据交换服务器需要将数据请求发送至供应方客户端。

其中,与需求数据对应的信息至少包括:与需求数据对应的关键字段信息和数据请求路径。将数据请求发送至供应方客户端,具体包括:

根据数据请求路径,将与需求数据对应的关键字段信息、智能合约以及供应方标识信息发送至供应方客户端。

供应方客户端可以根据智能合约和供应方标识信息确定数据请求是否合法。

即,首先根据供应方标识信息确定该请求是发送给自己的,需要自己来处理。然后,还需要根据签名信息确定需求方的身份。然后根据智能合约确定该需求方存有请求数据的权限。如果以上均符合,则可以证明该数据请求合法。供应方可以从自身的数据库中调用需求数据,然后再利用需求方的公钥对需求数据进行加密,并反馈至数据交换服务器。

步骤130,接收加密后的需求数据,并反馈至需求方客户端。

可选的,如果需求方需要的是结果数据,那么供应方为了防止自己的源数据被泄密,还可以在自身一侧,也即是供应方客户端中根据源数据和相应的算法进行运算,得到结果数据后,反馈给数据交换服务器。

又或者,如果需求方要求的数据需要多个供应方分别提供,例如一个供应方提供算法,一个供应方提供源数据。那么,供应方可以自定义一个供应方汇总所有内容,包括算法和源数据,然后统一反馈至数据交换服务器。而数据交换服务器将算法和源数据一同反馈至需求方客户端。或者,每一个供应方分别将自己的数据发送至数据交换服务器,用数据交换服务器统一发送至需求方客户端。

根据智能合约设定,需求方客户端不会直接看到算法和数据,而是需要通过沙箱操作获取结果。也即是,需求方通过客户端所能看到的仍然只是结果数据,而看不到源数据和算法。

可选的,为了提升数据传输性能,需求方客户端和数据交换服务器之间,可以通过第一中间层进行数据传输。即,接收需求方客户端发送的数据请求,具体包括:接收需求方客户端通过第一中间层发送的数据请求。

和/或,接收加密后的需求数据,并反馈至需求方客户端,具体包括:

接收供应方客户端通过第二中间层发送的加密后的需求数据,并反馈至需求方客户端。而反馈至需求方客户端时,同样可以通过第一中间层传输。这里的中间层实际就是对需求方客户端和数据交换服务器之间的调用接口远程调用协议(remoteprocedurecallprotocol,简称rpc)接口进行封装。以及,对供应方客户端和数据交换服务器之间的调用接口rpc接口进行封装。在一个具体例子中,需求方客户端和供应方客户端可以是agent机。中间层主要作用是解耦,同时简化agent功能,在中间层中添加了消息队列,利用一套分布式的消息队列服务,每个agent对应一个消息节点,agent对消息队列的消息可以并发的处理,从而提升了数据传输性能。

本发明实施例提供的一种基于区块链的信息资源获取方法,区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器,由数据交换服务器将数据请求发送至供应方客户端。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

实施例2

与上述实施例1对应的,本发明实施例2还提供了一种基于区块链的信息资源获取装置,具体如图2所示,该装置包括:接收单元201和发送单元202。

接收单元201,用于接收需求方客户端发送的数据请求,数据请求包括与需求数据对应的信息、智能合约以及供应方标识信息,智能合约上包含需求方标识信息;与需求数据对应的信息、智能合约和供应方标识信息为需求方从区块链上挂载的数据目录中查询获得,需求方通过需求方客户端,在智能合约上利用公钥进行签名,智能合约包含对于需求数据的请求限定条件,并保存请求过程记录;

发送单元202,用于将数据请求发送至供应方客户端,以便当供应方客户端根据智能合约和供应方标识信息确定数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用公钥对需求数据进行加密并反馈;

接收单元201还用于,接收加密后的需求数据;

发送单元202还用于,将加密后的需求数据反馈至需求方客户端。

可选的,接收需求方客户端通过第一中间层发送的数据请求;和/或,接收单元201具体用于,接收供应方客户端通过第二中间层发送的加密后的需求数据,并反馈至需求方客户端。

可选的,与需求数据对应的信息至少包括:与需求数据对应的关键字段信息和数据请求路径;

发送单元202具体用于,根据数据请求路径,将与需求数据对应的关键字段信息、智能合约以及供应方标识信息发送至供应方客户端。

可选的,当供应方包含至少两个时,接收单元201具体用于:接收至少两个供应方客户端分别发送的需求数据,并反馈至需求方客户端。

本发明实施例提供的一种基于区块链的信息资源获取系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。

本发明实施例提供的一种基于区块链的信息资源获取装置,区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器,由数据交换服务器将数据请求发送至供应方客户端。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

实施例3

与上述实施例相对应的,本发明实施例3还提供了一种基于区块链的信息资源获取系统,具体如图3所示,该系统包括:需求方客户端301、供应方客户端302和数据交换服务器303。其中,需求方客户端301和供应方客户端302可以是agent机。

需求方客户端301,用于从区块链上挂载的数据目录中查询获得与需求数据对应的信息、智能合约以及供应方标识信息,在智能合约上利用公钥进行签名;

将与需求数据对应的信息、智能合约以及供应方标识信息构成一个数据请求后,发送至数据交换服务器303;

供应方客户端302,用于根据供应方标识信息和智能合约验证数据请求合法性;

且当数据请求合法时,根据与需求数据对应的信息,调用需求数据;利用公钥对需求数据进行加密并反馈至数据交换服务器303;

数据交换服务器303用于执行如实施例1的方法。

本发明实施例提供的一种基于区块链的信息资源获取系统,区块链上仅仅挂载各个业务机构所提供的与自身拥有数据对应的数据目录。需求方可以根据区块链上挂载的数据目录查询自己需要的数据存在于哪一个业务机构,与需求数据对应的信息等。需求方可以通过客户端发送数据请求至数据交换服务器303,由数据交换服务器303将数据请求发送至供应方客户端302。在这个过程中,需求方需要遵守智能合约,智能合约为供应方挂在到区块链上的,用以约束需求方对数据的索取和利用。比如限制数据只能被需求方读取一次,然后就失效。而且,还需要记录数据请求的全过程。如此,可以有效的控制数据的去向和利用率。而在数据请求时,供应方还需要验证请求方的合法性,因此要根据智能合约和供应方标识信息确定数据请求是否合法。只有在合法情况下,调用需求数据;利用公钥对需求数据进行加密并反馈。从而保证数据传输的安全性。通过上述方式,不仅可以保证各业务机构之间的“相互信任”,还可以实现数据共享,提高各业务机构的办事效率。

实施例4

与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包含一个或多个程序指令。其中,一个或多个程序指令用于被数据交换服务器执行如上所介绍的一种基于区块链的信息资源获取方法。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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