本发明涉及区块链技术领域,特别是涉及基于区块链的数据共享方法、计算机设备和存储介质。
背景技术:
随着大数据时代的到来,数据的共享需求越来越多,通过数据共享消除信息孤岛,也是数字时代的大势所趋。传统的数据共享一般是由特定组织,比如公司、政府部门以及大型机构等建设大数据平台,实现数据的集中采集、存储及应用,从而实现数据在组织内的共享。这种模式适用于中心化的组织内部,可以推动组织的数字化转型,提升组织运营效率。但是这种方式不适用于关系对等的多个组织之间进行数据存储与共享。主要原因是多个组织协调共同建设数据集中管理平台,会产生平台主导权问题,任何一个组织主导都会引发其他参与组织的争议,并且数据在流通过程中还存在发生隐私泄漏风险,数据所有权不容易界定等问题,各个参与方的参与积极性也没有机制进行有效调动。例如,甲开发人员开发完成或完成一部分代码后,由于某些原因不进入后续的工作;接下来由乙开发人员接手后续的工作,甚至丙、丁等更多人,或者类似的多个开发方之间。在不同开发人员或开发方之间共享数据或资料或功能相关事项等,存在容易出错、易落下,影响智能合约开发正常进行。
技术实现要素:
本申请的目的是提供一种基于区块链的数据共享方法、计算机设备和存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种基于区块链的数据共享方法,包括:
建立区块链,将数据供应方的初始数据以及对应于该初始数据的中继数据存储于该区块链上;
检测所述数据供应方与数据要求方之间是否存在数据共享需求;
若是,则数据供应方和数据要求方基于数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约;
检测该智能合约是否生效,若生效则运行该智能合约,在数据供应方与数据要求方之间实现数据共享。
在其中一个实施例中,所述检测数据供应方与数据要求方之间是否存在数据共享需求,包括:检测在区块链上存储的数据目录和需求数据的描述之间是否存在数据供求关系。
在其中一个实施例中,所述检测在区块链上存储的数据目录和需求数据的描述之间是否存在数据供求关系,包括:
数据要求方通过访问区块链中的中继数据目录,初步评估数据供应方提供的初始数据;
数据要求方将对需求数据的描述与中继数据目录进行比对,若通过比对确定数据供应方具有需求数据,则确定存在数据供求关系。
在其中一个实施例中,所述检测在区块链上存储的数据目录和需求数据的描述之间是否存在数据供求关系,包括:
数据供应方通过访问该区块链中对需求数据的描述,可以获取该需求数据的信息,并判断自己是否具有该需求数据,若具有该需求数据,则确定存在数据供求关系。
在其中一个实施例中,数据供应方和数据要求方基于上述数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约,包括:
数据供应方和数据要求方基于预设的智能合约模板共同构建智能合约;该智能合约模板是一个缺省的数据共享智能合约模板,该智能合约模板包括数据共享的访问方式、权限、时间、内容和花销。
在其中一个实施例中,所述检测数据供应方与数据要求方之间是否存在数据共享需求,包括:当数据要求方为数据共享的发起方时,数据供应方将所拥有的初始数据对应的中继数据以数据目录的形式存储在区块链上,数据要求方通过访问该数据目录确定数据共享需求。
在其中一个实施例中,所述检测数据供应方与数据要求方之间是否存在数据共享需求,包括:
当数据供应方为数据共享的发起方时,当数据要求方将需求数据的描述发布到区块链上,数据供应方访问该区块链确定拥有与该描述相对应的初始数据时,将与该描述相对应的初始数据对应的中继数据以数据目录的形式存储在该区块链上后,接收该数据供应方发送的数据共享需求。
在其中一个实施例中,所述方法还包括:将数据要求方对初始数据的访问过程存储在该区块链上。
根据本申请实施例的另一个方面,提供一种基于区块链的数据共享装置,包括:
建立模块,用于建立区块链,将数据供应方的初始数据以及对应于该初始数据的中继数据存储于该区块链上;
检测模块,用于检测所述数据供应方与数据要求方之间是否存在数据共享需求;
构建模块,用于若是,则数据供应方和数据要求方基于数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约;
运行模块,用于检测该智能合约是否生效,若生效则运行该智能合约,在数据供应方与数据要求方之间实现数据共享。
根据本申请实施例的另一个方面,提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于区块链的数据共享方法的步骤。
根据本申请实施例的另一个方面,提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于区块链的数据共享方法的步骤。
通过上述基于区块链的数据共享方法,数据供应方和数据要求方共同构建智能合约,在区块链上实现自动、限时、限权和限内容的数据共享,从而连通了数据孤岛,实现了数据供应方和数据要求方的数据共享。
附图说明
图1为一个实施例中提供的基于区块链的数据共享方法的流程图;
图2为图1对应的实施例中的步骤s40的流程图;
图3为另一实施例中提供的基于区块链的数据共享装置结构框图;
图4为另一实施例中提供的计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,本申请的一个实施例提供了一种基于区块链的数据共享方法,包括:
s10、建立区块链,将数据供应方的初始数据以及对应于该初始数据的中继数据存储于该区块链上。
将初始数据以及对应于该初始数据的中继数据以数据目录的形式存储在该区块链上。
具体地,数据供应方提供初始数据,并将对应于该初始数据的中继数据以数据目录的形式存储在区块链上。
初始数据是由数据供应方提供的。中继数据为描述数据的数据,用于描述数据属性的信息,用于支持如指示存储位置、资源查找、历史数据及文件存储等功能。初始数据可以是开发的程序代码,中继数据可以是描述程序代码信息的数据。
用中继数据描述不同格式的初始数据,提取初始数据的中继数据,将中继数据以数据目录的形式存储在区块链上,在很大程度上统一了共享数据的表达格式,降低了数据共享的复杂程度。
例如,初始数据可以是某款软件开发过程中产生的代码,甲开发人员开发完成一部分代码后,由于某些原因不进入后续的工作,接下来由乙开发人员接手后续的工作,甚至丙、丁等更多人或者多个开发方也参与后续的工作,在不同开发人员或开发方之间共享数据或资料或功能相关事项等,为了减少软件后续开发过程中出现的数据缺失等问题,每一开发方均将自己完成的数据存储到区块链上。这样接手方能够从区块链上获取历史数据,继续后续工作。初始数据也可以是某一智能合约项目开发过程中产生的数据。
s20、检测数据供应方与数据要求方之间是否存在数据共享需求。
在某些实施方式中,检测在区块链上存储的数据目录和需求数据的描述之间是否存在数据供求关系,如果存在供求关系,则根据该供求关系确定数据共享需求。
数据要求方通过访问区块链中的中继数据目录,初步评估数据供应方提供的初始数据,在很大程度上能够认知初始数据的大致内容,但不能完全获得初始数据具体详细内容。在某些实施方式中,该区块链上只存储中继数据,并不存储初始数据。
数据要求方将对需求数据(需求数据即数据要求方所需要的数据)的描述与中继数据目录进行比对,若通过比对确定数据供应方具有需求数据,则确定存在数据供求关系。
对需求数据的描述包括对数据类型、数据内容等方面信息的描述。
在某些实施方式中,数据供应方通过访问该区块链中对需求数据的描述,可以获取该需求数据的信息,并判断自己是否具有该需求数据,若具有该需求数据,则确定存在数据供求关系。数据共享需求包括初始数据、对应于该初始数据的中继数据、对需求数据的描述等信息。
在某些实施方式中,基于数据共享的发起方的不同,步骤s10有两种可选的执行方式,包括:数据供应方和数据要求方均能够作为数据共享的发起方,触发数据共享。
当数据要求方为数据共享的发起方时,步骤s10包括:数据供应方将所拥有的初始数据对应的中继数据以数据目录的形式存储在区块链上,数据要求方通过访问该数据目录确定数据共享需求后,接收数据要求方发送的数据共享需求。
具体地,数据供应方从数据库中提取多条中继数据,并将多条该中继数据以数据目录的形式存储在区块链上;数据要求方通过访问区块链中的该数据目录,对数据供应方所具有的初始数据的内容产生认知,在很大程度上了解数据供应方所拥有的初始数据的内容。当数据要求方确定数据共享需求后,发送数据共享需求,驱动数据共享。
当数据供应方为数据共享的发起方时,步骤s0包括:当数据要求方将需求数据的描述发布到区块链上,数据供应方访问该区块链确定拥有与该描述相对应的初始数据时,将与该描述相对应的初始数据对应的中继数据以数据目录的形式存储在该区块链上后,接收该数据供应方发送的数据共享需求。
具体地,数据要求方将需求数据的描述发布到该区块链;数据供应方访问该区块链获取数据要求方的需求,并确定具有对应于数据要求方的需求的初始数据后,基于数据要求方的需求从数据库中提取需求数据的中继数据,并将该中继数据以数据目录的形式存储在该区块链上,并发送数据共享需求。
s30、若存在数据共享需求,则数据供应方和数据要求方基于数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约。数据供应方和数据要求方都能够对智能合约的内容进行修改或编辑。
在某些实施方式中,数据供应方将对应于每条中继数据的初始数据的标识存储在该区块链上,以使该数据要求方在基于该智能合约访问该数据供应方所拥有的相应初始数据时,基于该标识检验该初始数据。
该标识可以采用对应于中继数据的初始数据的哈希值,也可以采用数字签名等其它形式的能够唯一标识对应于中继数据的初始数据的数据。
数据要求方基于该标识检验该初始数据,以判断数据供应方提供的数据是否正确。
构建与该区块链相匹配的智能合约就涉及到智能合约的开发。
在某些实施方式中,智能合约的开发是通过智能合约共享创建平台来进行的,智能合约共享创建平台包括智能合约开发平台,智能合约代码管理库和智能合约流水线平台,智能合约测试网络;智能合约开发平台包括用户权限管理,智能合约项目管理,智能合约开发,审核,批准等。其中用户权限管理包括用户对于智能合约开发平台的访问控制,对于智能合约项目的访问控制,以及对于具体智能合约的开发权限,审核权限以及批准权限的控制;智能合约代码管理库包括智能合约代码管理;智能合约流水线平台包括一系列对于智能合约进行扫描、编译、部署、测试等自动化操作,以及对于这些操作的相关信息(比如,状态,结果,日志等)进行收集,存储,处理;智能合约测试网络是用于测试智能合约,模拟真实区块链网络。一个智能合约按照复杂程度,可能是单方开发或多方共同开发。当一个智能合约由多方进行开发时,有可能一方只负责其中一部分功能模块开发,并且看不到其他功能的代码实现。在一个联盟区块链网络中,一个智能合约的开发、审核、批准可能是由不同参与方来协作完成的。智能合约的开发可能是由联盟治理委员会指定的一个或多个第三方开发公司进行开发;智能合约的审核可能是由联盟治理委员会指定的一个或多个具有代码审核能力的公司进行审核;智能合约的批准可能是由联盟治理委员会成员根据审核结果进行投票,当投票结果达到联盟治理章程规定的要求后,该智能合约才可以部署到真正的生产网络。
多方开发智能合约的方式包括以下几种:
方式1多方接力完成智能合约开发工作
a)场景描述:
开发人员甲在智能合约开发过程中,由于某种原因(比如,休假,离职等)不能继续进行智能合约开发工作,需要将智能合约开发工作移交给开发人员乙继续进行。这种场景对于团队和公司同样适用。比如负责智能合约开发的团队a由于有其他更加紧急的任务,将智能合约开发工作移交给团队b。又比如,负责智能合约开发的公司甲完成一期开发工作,按照协议,将开发工作移交给公司乙,继续进行二期开发工作。
b)实施流程:
i.智能合约开发平台管理员给开发人员乙授予平台访问权限
ii.开发人员甲给开发人员乙配置智能合约项目访问权限。智能合约项目访问权限包括但不限于,智能合约代码访问权限,智能合约相关设计文档访问权限,智能合约项目配置权限,智能合约流水线历史运行结果以及日志的访问权限
iii.开发人员乙登录智能合约开发平台,访问被授予权限的智能合约项目
iv.开发人员乙继续进行智能合约的开发、测试工作。
v.(如果开发人员甲移交开发人员乙的开发工作是永久性的)智能合约开发平台管理员在开发人员甲完成交接工作后,撤销开发人员甲对智能合约项目以及智能合约平台的访问权限
vi.(如果开发人员甲移交开发人员乙的开发工作是临时性的)智能合约开发平台管理员保留开发人员甲的权限;开发人员甲在返回工作后,可以撤销之前对开发人员乙的智能合约项目访问授权;开发人员甲确认交接工作转回之后,智能合约开发平台管理员撤销开发人员乙对平台的的访问权限
方式2多方共同同时完成智能合约开发工作
a)场景描述:
开发人员甲乙负责智能合约不同功能模块的开发工作,共同进行智能合约开发。甲乙需要基于约定进行协作并共享必要的信息。这种场景对于团队和公司同样适用。
b)实施流程:
i.智能合约开发平台管理员给开发人员甲和乙授予平台访问权限
ii.智能合约开发平台管理员给开发人员甲和乙授予智能合约项目权限,包括但不限于,智能合约代码访问权限,智能合约相关设计文档访问权限,智能合约项目配置权限,智能合约流水线历史运行结果以及日志的访问权限。需要注意的是,由于甲乙各自负责该智能合约项目的一部分功能模块,可能会对他们进行更加细粒度的权限控制。比如,对于不是甲负责的功能模块,甲只能看相应的代码,却不能进行修改;或者甲只能看到该功能模块的接口定义,却看不到具体实现。对于智能合约配置权限也是,智能合约开发平台管理员可能只授予项目配置查看权限,却不允许修改。
iii.甲乙登录智能合约开发平台进行智能合约项目的协作开发,各自进行开发、测试工作。对于不由己方负责的功能模块,可以根据接口定义,编写桩代码(stubcode),以不影响后续智能合约的流水线操作。
iv.在甲乙分别完成各自功能模块开发测试后,进入联调阶段。在此阶段,虽然仍然可能看不见不由己方负责的功能模块的实现代码,但是当执行后续智能合约流水线操作前,平台会自动将不由己方负责的功能模块的桩代码替代为实际实现代码,从而达到联调效果。根据联调结果,甲乙也可相互进行一些权限授予。比如,甲把己方开发功能模块的代码实现的读权限开放给乙,则乙可以看见甲方开发功能模块的代码实现,方便理解和解决连调过程中遇到的问题。
方式3多方按照约定完成智能合约开发、审核、批准
a)场景描述:
智能合约的开发、审核、批准由多方共同进行。后一阶段的工作需要基于前一阶段工作的成果进行,多方之间需要相互协作并共享必要的信息。
b)实施流程:
i.智能合约开发平台管理员根据多方职责安排,给多方分别授予开发、审核以及批准相应权限。
ii.当一方或多方协作完成开发,并标识智能合约项目开发完成后,智能合约项目进入审核阶段。
iii.负责审核方(可以是一方,也可以是多方)访问智能合约开发平台,对已经完成开发的智能合约项目进行审核,审核项目包括代码实现,智能合约设计文档,以及智能合约流水线运行的智能合约扫描结果、测试结果等。然后给出自己的审核意见。待审核方完成审核后,智能合约项目进入批准阶段。
iv.负责批准方访问智能合约开发平台,基于审核方给出的审核意见,对是否批准该智能合约项目可以在生产网络部署进行投票。如果投赞成票的结果达到联盟区块链治理章程要求的比例,该智能合约项目完成批准,可以被部署到生产网络。
v.如果批准方的投票结果没能批准该智能合约项目的生产网络部署,该智能合约项目重新调整为开发阶段,重复步骤ii到步骤iv,直至批准完成。
s40、检测该智能合约是否生效,若生效则运行该智能合约,在数据供应方与数据要求方之间实现数据共享。
根据该智能合约的内容运行该智能合约。在某些实施方式中,该智能合约的内容包括:数据共享的访问方式、权限、时间、内容和花销等。
该智能合约中设定了数据共享过程中各步骤的具体实现方式,除上述数据共享的访问方式、权限、时间、内容和花销等之外,还包括:智能合约的触发条件、访问数据、支付花销以及智能合约的结束条件等。
智能合约的参与方并不仅仅局限于数据供应方和数据要求方。只有当智能合约的各参与方都对智能合约进行签名后,智能合约才能生效。
在构建智能合约时,数据供应方设置对数据要求方访问初始数据的授权方式为手动授权或自动授权。具体地,通过设置智能合约的数据共享权限参数实现对数据要求方访问初始数据自动授权。数据要求方必须在得到数据供应方的授权才能访问初始数据,授权的方式可以为数据供应方手动授权,也可以为通过数据供应方在智能合约中设置数据共享权限参数,当达到该数据共享权限参数的条件时,智能合约自动为数据要求方进行授权。
如图2所示,在该智能合约的内容包括数据共享的访问方式、权限、时间、内容和花销等的基础上,步骤s40包括:
s401、给数据要求方设定数据共享的访问方式和权限,用于数据要求方基于该访问方式和权限访问对应于该数据共享的访问内容的初始数据。
在某些实施方式中,数据共享的访问内容设定了数据要求方被允许访问的初始数据。除了数据共享权限参数中允许的数据共享的访问内容,数据要求方不被允许访问数据供应方中的其他任何数据,从而保证了数据供应方的数据安全。
数据共享的访问方式有多种,例如:
(1)数据供应方提供存储地址,该存储地址用于存储对应于共享数据的访问内容的初始数据。数据供应方确保存储地址中初始数据的安全。若数据供应方能够为该存储地址生成唯一的访问密钥,由智能合约以数据要求方和数据供应方预先设定好的方式将存储地址和访问密钥发送给数据要求方。数据要求方利用访问密钥自行访问存储地址以获取相关初始数据访问权限。
(2)利用数据供应方和数据要求方共同信任的数据空间来存放对应于共享数据的访问内容的初始数据,数据供应方预先将该初始数据存储到该数据空间,该数据空间可以是加密的或者是采用特殊安全机制保密的,智能合约将该数据空间的访问方式发送给数据要求方,数据要求方通过访问该数据空间来获取对应的初始数据。
s402、基于该智能合约中数据共享的访问花销,运行该智能合约中的支付规则。
在某些实施方式中,智能合约中包括支付规则,支付规则设定了数据要求方向数据供应方支付数据共享的花销的支付条件和支付形式。
s403、如果数据要求方对初始数据的访问时间属于智能合约中数据共享的访问时间,则取消数据要求方对初始数据的访问权限。
在某些实施方式中,数据要求方只能在智能合约中数据共享的访问时间内访问数据供应方提供的相应初始数据。
在某些实施方式中,该基于区块链的数据共享方法还包括:
s50、将数据要求方对初始数据的访问过程和支付花销的过程存储在该区块链上,这样能够确保数据共享处于可控状态,并且使数据访问过程留痕,确保数据共享的过程可追溯。
数据供应方和数据要求方基于预设的智能合约模板共同构建智能合约。该智能合约模板是一个缺省的数据共享智能合约模板,在智能合约模板已设定的情况下,数据供应方和数据要求方在该智能合约模板中写入数据共享的访问方式、权限、时间、内容和花销等参数即可,提高了数据供应方和数据要求方构建智能合约的速度和效率。
数据供应方和数据要求方能够根据实际需要修改和编辑该智能合约模板。
本实施例提供的基于区块链的数据共享方法,数据供应方从所拥有的初始数据中提取中继数据,并将该中继数据以数据目录的形式存储在区块链上,以供数据要求方访问获取,数据供应方仅仅提供中继数据并始终保有对初始数据的所有权。数据要求方通过访问区块链上的数据目录或自发将需求数据的描述发布到区块链上,形成数据供应方与数据要求方之间的数据共享供求关系。数据供应方和数据要求方共同构建智能合约,在区块链上实现自动、限时、限权和限内容的数据共享,从而连通了数据孤岛,实现了数据供应方和数据要求方的数据共享。通过智能合约自动控制数据共享时数据要求方对数据的访问方式、权限、时间和内容,并将数据要求方访问数据的过程和支付花销的过程存储在区块链上,使数据共享的过程可控,并且数据访问过程留痕,确保数据共享的过程可追溯;数据共享不破坏数据供应方对初始数据的拥有权,数据供应方对数据共享授权时才能进行数据共享,数据供应方仅提供中继数据并始终保有对初始数据的所有权,确保数据供应方的数据的安全性和隐私性。
以程序开发为例,通过本方法能够实现共享式持续开发流程,提高程序开发的可靠性,避免因开发方或开发人员等主观原因造成开发工作的暂停或终止,保证开发工作的正常进行和如期完成。
本申请的另一个实施例提供了一种基于区块链的数据共享装置,包括:
建立模块,用于建立区块链,将数据供应方的初始数据以及对应于该初始数据的中继数据存储于该区块链上;
检测模块,用于检测所述数据供应方与数据要求方之间是否存在数据共享需求;
构建模块,用于若是,则数据供应方和数据要求方基于数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约;
运行模块,用于检测该智能合约是否生效,若生效则运行该智能合约,在数据供应方与数据要求方之间实现数据共享。
在某些实施方式中,检测模块具体用于检测在区块链上存储的数据目录和需求数据的描述之间是否存在数据供求关系。
在某些实施方式中,检测模块进一步具体用于:
数据要求方通过访问区块链中的中继数据目录,初步评估数据供应方提供的初始数据;
数据要求方将对需求数据的描述与中继数据目录进行比对,若通过比对确定数据供应方具有需求数据,则确定存在数据供求关系。
在某些实施方式中,检测模块进一步具体用于:数据供应方通过访问该区块链中对需求数据的描述,可以获取该需求数据的信息,并判断自己是否具有该需求数据,若具有该需求数据,则确定存在数据供求关系。
在某些实施方式中,构建模块具体用于:若是,则数据供应方和数据要求方基于预设的智能合约模板共同构建智能合约;该智能合约模板是一个缺省的数据共享智能合约模板,该智能合约模板包括数据共享的访问方式、权限、时间、内容和花销。
在某些实施方式中,检测模块具体用于:当数据要求方为数据共享的发起方时,数据供应方将所拥有的初始数据对应的中继数据以数据目录的形式存储在区块链上,数据要求方通过访问该数据目录确定数据共享需求。
在某些实施方式中,检测模块具体用于:当数据供应方为数据共享的发起方时,当数据要求方将需求数据的描述发布到区块链上,数据供应方访问该区块链确定拥有与该描述相对应的初始数据时,将与该描述相对应的初始数据对应的中继数据以数据目录的形式存储在该区块链上后,接收该数据供应方发送的数据共享需求。
如图3所示,本申请另一个实施例提供了一种基于区块链的数据共享装置1,包括:
建立模块100,用于建立区块链,将数据供应方的初始数据以及对应于该初始数据的中继数据存储于该区块链上;
检测模块200,用于检测数据供应方与数据要求方之间是否存在数据共享需求;
构建模块300,用于若是,则数据供应方和数据要求方基于数据共享需求在该区块链上共同构建与该区块链相匹配的智能合约;
共享模块400,用于检测该智能合约是否生效,若生效则运行该智能合约,在数据供应方与数据要求方之间实现数据共享。
本申请另一个实施例提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述基于区块链的数据共享方法的步骤。如图4所示,在某些实施方式中,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现上述基于区块链的数据共享方法的步骤。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行上述基于区块链的数据共享方法的步骤。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请另一个实施例提供了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于区块链的数据共享方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。