首页 / 专利库 / 银行与财务事项 / 智能合约 / 数据共享方法和系统以及区块链系统和计算设备

数据共享方法和系统以及链系统和计算设备

阅读:163发布:2021-12-10

专利汇可以提供数据共享方法和系统以及链系统和计算设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种数据共享方法和系统以及 区 块 链 系统和计算设备。该数据共享方法包括数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给区块链系统;当所述数据存放者接收到用户的 访问 请求 时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;以及如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者根据所述访问权限将所述数据提供给所述用户。采用本公开内容的数据共享方法和系统以及区块链系统和计算设备的技术方案,能够极大地节约成本和资金投入,并且能够实现对数据的全局共享控制。,下面是数据共享方法和系统以及链系统和计算设备专利的具体信息内容。

1.一种数据共享方法,包括:
数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给链系统,所述基本信息包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口,并且所述区块链系统用于以区块链的形式存放所述基本信息以及用户对所述数据的访问权限;
当所述数据存放者接收到用户的访问请求时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;以及
如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者根据所述访问权限将所述数据提供给所述用户。
2.如权利要求1所述的数据共享方法,其中所述基本信息还包括所述数据所有权者的所有权者标识,并且所述方法还包括由所述数据所有权者对来自所述数据所有权者的数据的访问权限进行设置。
3.如权利要求1或2所述的数据共享方法,其中所述访问权限包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
4.如权利要求3所述的数据共享方法,其中所述访问权限还包括对所述数据执行所述操作后所得结果的哈希值。
5.如权利要求3所述的数据共享方法,其中所述访问权限还包括截止时间
6.一种数据共享系统,包括多个数据存放者和区块链系统,其中:
所述数据存放者用于存放来自数据所有权者的数据,并且所述区块链系统用于以区块链的形式存放所述数据的基本信息和用户对所述数据的访问权限;并且其中所述基本信息包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口。
7.如权利要求6所述的数据共享系统,其中所述基本信息还包括所述数据所有权者的所有权者标识,并且对来自所述数据所有权者的数据的访问权限由所述数据所有权者进行设置。
8.如权利要求6或7所述的数据共享系统,其中所述访问权限包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
9.如权利要求8所述的数据共享系统,其中所述访问权限还包括对所述数据执行所述操作后所得结果的哈希值。
10.如权利要求8所述的数据共享系统,其中所述访问权限还包括截止时间。
11.一种区块链系统,包括相互通信的多个节点,其中每个节点包括存储器和处理器,所述存储器存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时用于实现下列步骤:
部署智能合约,所述智能合约包括创建数据基本信息智能合约、权限设置智能合约和确权操作智能合约;
当所述创建数据基本信息智能合约被调用时,在各个节点处创建一条数据的基本信息的记录并形成区块链,所述基本信息包括数据的数据标识、数据存放者的存放者标识和所述数据的访问接口;
当所述权限设置智能合约被调用时,在各个节点处生成用户对所述数据的访问权限并形成区块链;以及
当所述确权操作智能合约被调用时,判断用户对其要访问的数据是否具有访问权限。
12.如权利要求11所述的区块链系统,其中所述基本信息还包括所述数据所有权者的所有权者标识,并且对来自所述数据所有权者的数据的访问权限由所述数据所有权者进行设置。
13.如权利要求11或12所述的区块链系统,其中所述访问权限包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
14.如权利要求13所述的区块链系统,其中所述访问权限还包括对所述数据执行所述操作后所得结果的哈希值。
15.如权利要求13所述的区块链系统,其中所述访问权限还包括截止时间。
16.一种计算设备,包括存储器和处理器,在所述存储器上存储有计算机程序指令,其中,所述计算机程序指令在由所述处理器执行时实现如权利要求1至6中任一项所述的数据共享方法。
17.一种计算机可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现如权利要求1至6中任一项所述的数据共享方法。

说明书全文

数据共享方法和系统以及链系统和计算设备

技术领域

[0001] 本发明涉及数据共享领域,具体涉及一种数据共享方法和系统以及区块链系统和计算设备。

背景技术

[0002] 随着互联网技术的发展,海量信息数据不断涌现。如何有效利用这些信息数据,让在不同地方使用不同计算机和/或不同软件的用户能够利用他人数据并对他人数据进行诸如读取、运算、分析等各种操作日益受到越来越多的关注。也可以将不同地方的用户对他人数据的这种利用和操作称为数据共享,数据共享的程度标志着一个国家或地区的信息化发展平。数据共享的程度越高,信息化发展水平也就越高。
[0003] 按照数据存放方式,可以将数据共享分为中心化数据共享方式和非中心化数据共享方式两种。中心化数据共享方式是将所有的数据都存放在统一的数据中心存储系统中,并对外提供统一的数据访问接口,用户通过该统一的数据访问接口访问数据。数据中心或云存储系统可以通过文件提取密钥、URL鉴权和授权机制等各种访问控制机制来控制用户对数据的访问。这种中心化数据共享方式所采用的各种访问控制机制容易造成数据泄露、访问路径被冒用等险,而且还很难实现针对单个用户对单一数据的访问权限的设置。此外,如果对数据中心或云存储系统的单点攻击成功就会导致全面的数据泄露,极大地增加了数据中心或云存储系统的潜在风险和负担。另外,由于数据集中存储,对数据中心或云存储系统的建造成本和技术难度要求较高。
[0004] 对于非中心化数据共享方式,其是将数据存放在物理上可以不同的数据存放者处,每个数据存放者对外提供数据访问接口以供用户访问数据并各自维护用户对数据的访问权限和色信息。由于各个数据存放者所使用的技术不同,因此它们提供的数据访问接口就多种多样,任何两个数据存放者之间要实现数据共享都需为了迎合对方的数据访问接口需求而进行接口适配。另外,由于数据的可信性缺乏权威机构的鉴定,使用者无法判断数据存放方所提供的数据的真伪和完整性。

发明内容

[0005] 鉴于上述技术问题,本公开内容提出了一种数据分散存储且能够实现全局访问控制的数据共享方法和系统以及区块链系统和计算设备。
[0006] 依据本发明的一个方面,提供了一种数据共享方法,其包括数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给区块链系统,所述基本信息可以包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口,并且所述区块链系统用于以区块链的形式存放所述基本信息以及用户对所述数据的访问权限;当所述数据存放者接收到用户的访问请求时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;以及如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者根据所述访问权限将所述数据提供给所述用户。
[0007] 在一些实施方式中,所述基本信息还可以包括所述数据所有权者的所有权者标识,并且所述方法还可以包括由所述数据所有权者对来自所述数据所有权者的数据的访问权限进行设置。
[0008] 在一些实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
[0009] 在一些实施方式中,所述访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值。
[0010] 在一些实施方式中,所述访问权限还可以包括截止时间
[0011] 依据本发明的另一方面,提供了一种数据共享系统,其包括多个数据存放者和区块链系统,其中所述数据存放者用于存放来自数据所有权者的数据,并且所述区块链系统用于以区块链的形式存放所述数据的基本信息和用户对所述数据的访问权限;并且其中所述基本信息可以包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口。
[0012] 在一些实施方式中,所述基本信息还可以包括所述数据所有权者的所有权者标识,并且对来自所述数据所有权者的数据的访问权限由所述数据所有权者进行设置。
[0013] 在一些实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
[0014] 在一些实施方式中,所述访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值。
[0015] 在一些实施方式中,所述访问权限还可以包括截止时间。
[0016] 依据本发明的又一方面,提供了一种区块链系统,其包括相互通信的多个节点,其中每个节点可以包括存储器和处理器,所述存储器存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时用于实现下列步骤:部署智能合约,所述智能合约包括创建数据基本信息智能合约、权限设置智能合约和确权操作智能合约;当所述创建数据基本信息智能合约被调用时,在各个节点处创建一条数据的基本信息的记录并形成区块链,所述基本信息包括数据的数据标识、数据存放者的存放者标识和所述数据的访问接口;当所述权限设置智能合约被调用时,在各个节点处生成用户对所述数据的访问权限并形成区块链;以及当所述确权操作智能合约被调用时,判断用户对其要访问的数据是否具有访问权限。
[0017] 在一些实施方式中,所述基本信息还可以包括所述数据所有权者的所有权者标识,并且对来自所述数据所有权者的数据的访问权限由所述数据所有权者进行设置。
[0018] 在一些实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作。
[0019] 在一些实施方式中,所述访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值。
[0020] 在一些实施方式中,所述访问权限还可以包括截止时间。
[0021] 依据本发明的另一方面,提供了一种计算设备,其截图包括存储器和处理器,在所述存储器上存储有计算机程序指令,其中,所述计算机程序指令在由所述处理器执行时实现如上文所述的数据共享方法,该数据共享方法包括数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给区块链系统,所述基本信息可以包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口,并且所述区块链系统用于以区块链的形式存放所述基本信息以及用户对所述数据的访问权限;当所述数据存放者接收到用户的访问请求时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;以及如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者根据所述访问权限将所述数据提供给所述用户。
[0022] 与现有技术相比,本公开内容的有益效果为:
[0023] 首先,由于依据本公开内容的数据共享方法和系统以及区块链系统和计算设备将数据分散存放在各数据存放者处,因而数据由各数据存放者自己维护并且无需建设大规模的数据中心,从而极大地节约了成本和资金投入。
[0024] 其次,依据本公开内容的数据共享方法和系统以及区块链系统和计算设备将数据的基本信息和访问权限以区块链的形式存放在区块链系统中,即通过区块链系统来实现对数据的共享访问控制,从而实现了对数据的全局访问控制。
[0025] 再者,由于依据本公开内容的数据共享方法和系统以及区块链系统和计算设备是由数据所有权者对来自数据所有权者的数据的访问权限进行设置,这相当于将对数据共享的管理权真正地交给了数据所有权者,实现了真正的受控共享。
[0026] 另外,采用依据本公开内容的数据共享方法和系统以及区块链系统和计算设备,其中访问权限可以包括允许访问数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作,换言之就是可以设置允许哪个用户对哪个数据进行哪种操作,从而实现了对数据的细粒度控制。
[0027] 此外,所述访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值,用户在从数据存放者获得数据之后,可以计算所获得数据的哈希值,将计算出的哈希值与访问权限中的哈希值进行比较,如果一致,则说明从数据存放者获得的数据是真实的,从而可以判断数据的真伪。附图说明
[0028] 在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不是限制本发明。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
[0029] 图1示出了依据本发明示例性实施方式的数据共享方法的流程图
[0030] 图2示出了依据本发明示例性实施方式的数据共享系统的结构示意图;
[0031] 图3示出了依据本发明示例性实施方式的区块链系统的结构示意图;
[0032] 图4示出了在依据本发明示例性实施方式的区块链系统中存储的数据基本信息的示例;
[0033] 图5示出了在依据本发明示例性实施方式的区块链系统中存储的用户数据账本的示例;
[0034] 图6示出了在依据本发明示例性实施方式的区块链系统中存储的数据基本信息的示例;
[0035] 图7示出了在依据本发明示例性实施方式的区块链系统中存储的用户数据账本的示例。

具体实施方式

[0036] 下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,各种特征或步骤可以彼此替代或结合。
[0037] 如本文所使用的术语“数据存放者”是指用于存放数据的地方或机构等,各数据存放者可以在物理上处于相同的位置或不同的位置。
[0038] 如本文所使用的术语“数据所有权者”是指对数据具有所有权的机构或个人等。
[0039] 如本文所使用的术语“用户”是指使用数据的机构或个人,数据存放者和/或数据所有权者在使用他人数据时也为用户。
[0040] 如图1所示,其示出了依据本发明示例性实施方式的数据共享方法,该方法包括:
[0041] 步骤S101:数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给区块链系统,所述基本信息包括所述数据的数据标识、所述数据所有权者的所有权者标识、所述数据存放者的存放者标识和所述数据的访问接口,并且所述区块链系统用于以区块链的形式存放所述基本信息以及用户对所述数据的访问权限;
[0042] 步骤S102:当所述数据存放者接收到用户的访问请求时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;
[0043] 步骤S103:如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者将所述数据提供给所述用户。
[0044] 由上述可知,依据本发明示例性实施方式的数据共享方法的技术方案在数据存放者接收到来自数据所有权者的数据之后,对数据进行存储并将数据的基本信息提交给区块链系统,在区块链系统中以区块链的形式存放所述基本信息以及用户对所述数据的访问权限,也即将数据存放在各个数据存放者处,而将数据的基本信息和用户对数据的访问权限存放在区块链系统中。当数据存放者接收到用户的访问请求时,数据存放者会根据区块链系统中存放的基本信息以及用户对数据的访问权限判断发送访问请求的用户对预访问的数据是否具有访问权限。如果用户具有访问权限,则数据存放者再根据访问权限的具体规定将数据提供给该用户。在本技术方案中,并未建立一个统一的数据中心,数据还是存放在各个数据存放者处,由各个数据存放者维护,因此极大地节约了成本和资金投入。此外,本技术方案将数据的基本信息以及用户对数据的访问权限放在了区块链系统中,即通过区块链系统来实现对数据的共享访问控制,从而实现了对数据的全局访问控制。
[0045] 在本公开内容的一个示例性实施方式中,当用户需要访问某一数据时,该用户首先在区块链系统中查询该数据的基本信息,所述基本信息可以包括数据的数据标识、所述数据存放者的存放者标识和数据的访问接口,其中访问接口是指数据存放在数据存放者处的接口信息,诸如访问地址、程序接口描述等等。获得该访问接口和存放者标识之后,用户就可以向该存放者标识所表示的数据存放者发送访问请求。另外,对于数据标识和存放者标识而言,它们只是分别用于对不同的数据和不同的数据存放者进行区分,它们可以是数字、字母和/或符号的组合,还可以采用本领域技术人员已知或将来开发的任何方式来表示。
[0046] 在本公开内容的一个示例性实施方式中,所述基本信息还可以包括数据所有权者的所有权者标识,并且依据本公开内容的数据共享方法还可以包括由数据所有权者对来自所述数据所有权者的数据的访问权限进行设置,这相当于将对数据共享的管理权真正地交给了数据所有权者,实现了真正的受控共享。由所有权者标识所表示的数据所有权者可以对区块链系统上的、用户对其数据的访问权限进行设置。另外,对于数据所有权者的所有权者标识,其只是用于对不同的数据所有权者进行区分,其可以是数字、字母和/或符号的组合,还可以采用本领域技术人员已知或将来开发的任何方式来表示。
[0047] 在本公开内容的一个示例性实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作,换言之,也就是数据所有权者可以设置允许哪个用户对哪个数据进行哪种操作,从而实现了对数据的细粒度控制。在本公开内容的一个实施方式中,访问权限在区块链系统中作为一个字段或属性存放在所述基本信息中,即所述基本信息不仅包括数据的数据标识、数据存放者的存放者标识、数据所有权者的所有权者标识和数据的访问接口,而且还包括访问权限。在本公开内容的另一实施方式中,访问权限在区块链系统中可以作为一个单独的表单存在。应当理解,访问权限可以采用本领域已知的任何方式来表示。
[0048] 在本公开内容的又一示例性实施方式中,访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值,用户在从数据存放者获得数据之后,可以计算所获得数据的哈希值,将计算出的哈希值与访问权限中的哈希值进行比较,如果一致,则说明从数据存放者获得的数据是真实且未经修改的,从而可以判断数据的真伪。在本公开内容的再一示例性实施方式中,所述访问权限还可以包括截止时间,超过该截止时间的访问请求被视为无效。
[0049] 在本公开内容的一个示例性实施方式中,在区块链系统中将数据的基本信息以数据基本信息(dataCatalog)的形式存放,该数据基本信息包括下列属性:recordId、ownerId、providerId、accessInfo和permission,其中,recordId用于表示数据的数据标识;ownerId用于表示数据的数据所有权者的所有权者标识;providerId用于表示数据的数据提供者的提供者标识;accessInfo用于表示数据的访问接口;以及permission用于表示用户对数据的访问权限。例如,一条dataCatalog为:
其中,“userId”表示用户标识,“query”表示对数据的操作,“hash”表示对数据进行所述操作后所得结果的哈希值,以及“deadline”表示截止时间。该dataCatalog表示数据标识为“prd001”的数据的数据所有权者是“u101”,该数据存放在数据存放者“110001”的http://www.foo.com:23306/his/dataCatalog处,并且允许用户“u102”在2017年10月20日的零时零分零秒之前对该数据执行选择操作“select name,age from person where recordId=‘prd001’”,即只允许用户“u102”获取数据“prd001”的条目“person”中的“name”和“age”两个字段的信息。另外,数据“prd001”的“name”和“age”这两个字段的值的哈希值为“33fb1409eb3210394ade5ac225523014”,用户可以根据此哈希值来判断所获得的“name”和“age”两个字段的信息的真伪性。本领域技术人员应当理解,该dataCatalog仅仅是一个示例,本发明并不限于此。
[0050] 在本公开内容的另一示例性实施方式中,在区块链系统中可以存放用户数据账本(userLedger),该用户数据账本用于表明用户可以访问哪些数据。用户数据账本的属性可以包括userId、count和recordList[recordId1,recordId2,...],其中userId表示用户的用户标识,recordList[recordId1,recordId2,...]表示用户可以访问的数据标识的列表,以及count用于记录recordList的长度,即表示用户可以访问的数据个数。例如:一条用户数据账本记录为:该条用户数据账本记录表示用户“u101”可以访问数据“prd001”,并且该用户“u101”只可以访问此一条数据。
[0051] 如图2所示,其示出了依据本发明示例性实施方式的数据共享系统。该数据共享系统包括多个数据存放者201-1、201-2、…、201-n和区块链系统202,其中n可以为任意自然数,数据存放者201-1、201-2、…、201-n用于存放来自数据所有权者的数据,并且区块链系统202用于以区块链的形式存放所述数据的基本信息和用户对所述数据的访问权限,其中所述基本信息包括所述数据的数据标识、所述数据存放者的存放者标识和所述数据的访问接口。再如图2所示,数据存放者201-1、201-2、…、201-n和区块链系统202通过网络203相连接,其中网络203可以为局域网、城域网、广域网、因特网和/或其任何组合。
[0052] 由上述可知,依据本发明示例性实施方式的数据共享系统将数据存放在各个数据存放者201-1、201-2、…、201-n处,而将数据的基本信息和用户对数据的访问权限存放在区块链系统202中。当用户要访问数据时,用户可以通过区块链系统202获得要访问数据的数据存放者的存放者标识以及数据的访问接口,据此用户可以向存放该数据的数据存放者发送访问请求,数据存放者接收到访问请求后,判断该用户是否具有访问此数据的访问权限。在一些情况下,数据存放者查询区块链系统202中存放的用户对所述数据的访问权限,如果没有查询到,则数据存放者将该访问请求视为无效,并不对其进行响应。如果查询到了访问权限,则根据访问权限的具体内容将用户请求的数据提供给该用户。在本数据共享系统中,并未建立一个统一的数据中心,数据还是存放在各个数据存放者处,由各个数据存放者维护,因此极大地节约了成本和资金投入。此外,本数据共享系统将数据的基本信息以及用户对数据的访问权限放在了区块链系统202,即通过区块链系统202来实现对数据的共享访问控制,从而实现了对数据的全局访问控制。
[0053] 在本公开内容的一个示例性实施方式中,当用户需要访问某一数据时,该用户首先在区块链系统202中查询该数据的基本信息,所述基本信息可以包括数据的数据标识、所述数据存放者201-1、201-2、…、201-n的存放者标识和数据的访问接口,其中访问接口是指数据存放在数据存放者201-1、201-2、…、201-n处的接口信息,诸如访问地址、程序接口描述等等。获得该访问接口和存放者标识之后,用户就可以向该存放者标识所表示的数据存放者201-1、201-2、…、201-n发送访问请求。另外,对于数据标识和存放者标识而言,它们只是分别用于对不同的数据和不同的数据存放者201-1、201-2、…、201-n进行区分,它们可以是数字、字母和/或符号的组合,还可以采用本领域技术人员已知或将来开发的任何方式来表示。
[0054] 在本公开内容的一个示例性实施方式中,所述基本信息还包括数据所有权者的所有权者标识,并且依据本公开内容的数据共享系统由数据所有权者对来自所述数据所有权者的数据的访问权限进行设置,这相当于将对数据共享的管理权真正地交给了数据所有权者,实现了真正的受控共享。由所有权者标识所表示的数据所有权者可以对区块链系统202上的、用户对其数据的访问权限进行设置。另外,对于数据所有权者的所有权者标识,其只是用于对不同的数据所有权者进行区分,其可以是数字、字母和/或符号的组合,还可以采用本领域技术人员已知或将来开发的任何方式来表示。
[0055] 在本公开内容的一个示例性实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作,换言之,也就是数据所有权者可以设置允许哪个用户对哪个数据进行哪种操作,从而实现了对数据的细粒度控制。在本公开内容的一个实施方式中,访问权限在区块链系统202中作为一个字段或属性存放在所述基本信息中,即所述基本信息不仅包括数据的数据标识、数据存放者的存放者标识、数据所有权者的所有权者标识和数据的访问接口,而且还包括访问权限。在本公开内容的另一实施方式中,访问权限在区块链系统202中可以作为一个单独的表单存在。应当理解,访问权限可以采用本领域已知的任何方式来表示。
[0056] 在本公开内容的又一示例性实施方式中,访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值,用户在从数据存放者获得数据之后,可以计算所获得数据的哈希值,将计算出的哈希值与访问权限中的哈希值进行比较,如果一致,则说明从数据存放者获得的数据是真实且未经修改的,从而可以判断数据的真伪。在本公开内容的再一示例性实施方式中,所述访问权限还可以包括截止时间,超过该截止时间的访问请求被视为无效。
[0057] 图3示出了依据本发明示例性实施方式的区块链系统的示意图。如图3所示,该区块链系统可以包括相互通信的多个节点301-1、301-2、…、301-n,其中n可以为任意自然数,并且每个节点301-1、301-2、…、301-n包括存储器305和处理器304,所述存储器305存储有计算机程序指令,所述计算机程序指令在由所述处理器304执行时用于实现下列步骤:部署智能合约,所述智能合约包括创建数据基本信息智能合约、权限设置智能合约和确权操作智能合约,其中,创建数据基本信息智能合约用于创建一条数据的基本信息的记录,权限设置智能合约用于对用户对数据的访问权限进行设置,以及确权操作智能合约用于判断用户对其要访问的数据是否具有访问权限;当所述创建数据基本信息智能合约被调用时,在各个节点301-1、301-2、…、301-n处创建一条数据的基本信息的记录并形成区块链,所述基本信息包括数据的数据标识、数据存放者的存放者标识和所述数据的访问接口;当所述权限设置智能合约被调用时,在各个节点301-1、301-2、…、301-n处生成用户对所述数据的访问权限并形成区块链;当所述确权操作智能合约被调用时,判断用户对其要访问的数据是否具有访问权限。另外,多个节点301-1、301-2、…、301-n通过网络303相互通信,其中网络303可以为局域网、城域网、广域网、因特网和/或其任何组合。
[0058] 从上文可知,依据本发明示例性实施方式的区块链系统存放了数据的基本信息以及用户对所述数据的访问权限,即通过区块链系统来实现对数据的共享访问控制,从而实现了对数据的全局访问控制。当数据存放者接收到来自数据所有权者的数据时,数据存放者就调用部署在区块链系统上的创建数据基本信息智能合约,创建一条数据的基本信息的记录并形成区块链,其中基本信息包括数据的数据标识、数据存放者的存放者标识和所述数据的访问接口,也即将数据标识、存放者标识以及访问接口等基本信息存放在区块链系统中。当用户要访问数据时,该用户可以在区块链系统上查询其要访问的数据的基本信息,从该基本信息获得该数据的存放者标识和访问接口,随后用户可以向由该存放者标识所表示的数据存放者发送访问请求。数据存放者接收到该访问请求后,就调用部署在区块链系统上的确权操作智能合约来判断该用户是否具有访问所述数据的访问权限,如果该用户不具有访问权限,则将该访问请求视为无效且不对其进行响应;如果该用户具有访问权限,则根据访问权限的具体内容将数据提供给该用户。
[0059] 对于创建数据基本信息智能合约(addRecord),其用于创建数据的基本信息的记录,并且可以实现如下:接收参数recordId、ownerId、providerId和/或accessInfo,其中recordId用于表示数据的数据标识;ownerId用于表示数据的数据所有权者的所有权者标识;providerId用于表示数据的数据提供者的提供者标识;以及accessInfo用于表示数据的访问接口。接着检查recordId是否已存在,如果不存在则添加一条记录dataCatalog(recordId,ownerId,providerId,accessInfo),然后更新用户数据账本(userLedger)。如图4所示,其示出了在依据本发明示例性实施方式的区块链系统中存储的数据基本信息(dataCatalog)的示例,在该示例的数据基本信息(dataCatalog)中recordId为prd001,ownerId为u101,providerId为110001,accessInfo为http://www.foo.com:23306/his/dataCatalog,而permission初始为空。如图5所示,其示出了在依据本发明示例性实施方式的区块链系统中存储的用户数据账本的示例,从该图可以看出,用户110001和u101都具有访问数据prd001的访问权限。
[0060] 对于确权操作智能合约(havePermission),其用于确定用户对其要访问的数据是否具有访问权限,并且可以实现如下:接收参数userId、recordId和query,其中userId表示用户的用户标识,recordId表示数据的数据标识以及query表示允许对数据recordId进行的操作,接着检查recordId是否已存在,如果存在,则再确定所接收的query与数据基本信息中的访问权限(permission)中的query是否一致,如果一致,则执行query所表示的操作并将结果返回给用户。
[0061] 在本公开内容的一个示例性实施方式中,所述基本信息还包括数据所有权者的所有权者标识,并且对来自数据所有权者的数据的访问权限由所述数据所有权者进行设置,这相当于将对数据共享的管理权真正地交给了数据所有权者,实现了真正的受控共享。当数据所有权者要设置数据的访问权限时,调用部署在区块链系统上的权限设置智能合约来为用户设置对数据的访问权限。
[0062] 在本公开内容的一个示例性实施方式中,所述访问权限可以包括允许访问所述数据的用户的用户标识、所述数据的数据标识以及对所述数据的操作,换言之,也就是数据所有权者可以设置允许哪个用户对哪个数据进行哪种操作,从而实现了对数据的细粒度控制。在本公开内容的一个实施方式中,访问权限在区块链系统中作为一个字段或属性存放在所述基本信息中,即所述基本信息不仅包括数据的数据标识、数据存放者的存放者标识、数据所有权者的所有权者标识和数据的访问接口,而且还包括访问权限。在本公开内容的另一实施方式中,访问权限在区块链系统中可以作为一个单独的表单存在。应当理解,访问权限可以采用本领域已知的任何方式来表示。
[0063] 在本公开内容的又一示例性实施方式中,访问权限还可以包括对所述数据执行所述操作后所得结果的哈希值,用户在从数据存放者获得数据之后,可以计算所获得数据的哈希值,将计算出的哈希值与访问权限中的哈希值进行比较,如果一致,则说明从数据存放者获得的数据是真实且未经修改的,从而可以判断数据的真伪。在本公开内容的再一示例性实施方式中,所述访问权限还可以包括截止时间,超过该截止时间的访问请求被视为无效。
[0064] 在访问权限在区块链系统中作为一个字段或属性存放在所述基本信息中的示例中,权限设置智能合约可以实现如下:接收参数recordId、ownerId、userId、query、hash和deadline,其中recordId表示数据的数据标识,ownerId表示数据所有权者的所有权者标识,userId表示用户的用户标识,query表示允许用户对数据进行的操作,hash表示执行所述操作后所得结果的哈希值以及deadline表示截止时间,接着获取recordId所对应的数据基本信息(dataCatalog),将userId、query、hash和deadline插入到permission中,从而得到permission[userId,query,hash,deadline],然后再更新用户数据账本。如图6所示,其示出了在依据本发明示例性实施方式的区块链系统中存储的数据基本信息的示例,是对图4所示示例追加了访问权限(permission)。从图6可以看出,设置的访问权限为允许用户“u102”在2017年10月20日的零时零分零秒之前对数据prd001执行选择操作“select name,age from person where recordId=‘prd001’”。由于为用户“u102”设置了对数据prd001的访问权限,因此在用户数据账本(userLedger)中增加一条记录(userId:u102,count:1,recordList:[“prd001”]),如图7所示。
[0065] 在访问权限在区块链系统中作为一个单独的表单存放在所述基本信息中的示例中,权限设置智能合约可以实现如下:接收参数recordId、ownerId、userId、query、hash和deadline,直接形成一条记录permission(userId,query,hash,deadline)。应当理解在区块链系统中可以采用本领域已知的任何方式来实现权限设置智能合约。
[0066] 在本公开内容的一个方面,还提供了一种计算设备,该计算设备可以包括存储器和处理器,在所述存储器上存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时实现上文所描述的数据共享方法。如图1所示,该数据共享方法包括步骤S101:数据存放者接收到来自数据所有权者的数据后,对所述数据进行存储并将所述数据的基本信息提交给区块链系统,所述基本信息包括所述数据的数据标识、所述数据所有权者的所有权者标识、所述数据存放者的存放者标识和所述数据的访问接口,并且所述区块链系统用于以区块链的形式存放所述基本信息以及用户对所述数据的访问权限;步骤S102:当所述数据存放者接收到用户的访问请求时,所述数据存放者根据所述区块链系统中存放的所述基本信息以及用户对所述数据的访问权限判断发送所述访问请求的用户是否具有访问权限;以及步骤S103:如果所述用户具有所述访问请求所针对的数据的访问权限,则所述数据存放者将所述数据提供给所述用户。在上文已经详细描述了所述数据共享方法,因而在此不再赘述。
[0067] 在本公开内容的另一方面,还公开了一种计算机可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现上文所述的数据共享方法。在上文已经详细描述了所述数据共享方法,因而在此不再赘述。
[0068] 利用本文所提供的数据共享方法和系统以及区块链系统和计算设备可以更好地将存放在各处的数据整合起来以供他人使用。例如,将本文所提供的数据共享方法和系统以及区块链系统和计算设备应用于各医院以共享患者诊断数据,在这种情况下,医院就是数据存放者,患者是数据所有权者,数据的基本信息以及用户对数据的访问权限以区块链的形式存放在区块链系统中。假定患者甲在医院A做了核磁共振检查,医院A存有患者甲的核磁共振检查数据,该核磁共振检查数据的基本信息以及访问权限存放在区块链系统中。现在患者甲又去医院B进行检查,出于费用等方面的考虑,医院B不必在给患者甲做核磁共振检查,直接查看患者甲在医院A做的核磁共振检查数据即可。此时,患者甲可以通过区块链系统对医院B(此时为用户)进行授权,允许医院B获取在医院A处存放的患者甲的核磁共振检查数据。随后,医院B可以通过区块链系统获得患者甲的核磁共振检查数据的基本信息,并向医院A发送访问请求,医院A接收到医院B的访问请求后,通过区块链系统来判断医院B是否具有访问患者甲的核磁共振检查数据的访问权限,经判断医院B已经得到了患者甲的授权,则医院A将患者甲的核磁共振检查数据提供给医院B。应当理解,这仅仅是本文所提供的数据共享方法和系统以及区块链系统和计算设备的一个应用场景示例,本发明并不限于此。
[0069] 对于区块链技术,从狭义来讲,其是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。从广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。在本公开内容的一个示例性实施方式中,利用Hyperledger Fabric技术来构建区块链系统,Hyperledger Fabric技术的主要优点是利用智能合约和共识技术,智能合约是区块链系统的业务执行引擎,通过高级编程语言可实现复杂的业务逻辑,并与底层的区块链数据打交道,可以利用智能合约技术实现共享数据授权和数据的基本信息的发布和查询。本领域技术人员应当理解,区块链系统还可以利用本领域已知的任何技术来构建。
[0070] 应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
[0071] 在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0072] 本文所描述的方法和系统如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案中对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在一个存储介质中,包括若干指令用以使得可以由计算机处理器执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0073] 虽然本文已经示出和描述了本发明的优选实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈