CN115065695B - 基于智能合约的云链数据交换方法及相关设备 - Google Patents

基于智能合约的云链数据交换方法及相关设备 Download PDF

Info

Publication number
CN115065695B
CN115065695B CN202210985994.1A CN202210985994A CN115065695B CN 115065695 B CN115065695 B CN 115065695B CN 202210985994 A CN202210985994 A CN 202210985994A CN 115065695 B CN115065695 B CN 115065695B
Authority
CN
China
Prior art keywords
data
module
cloud
intelligent contract
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210985994.1A
Other languages
English (en)
Other versions
CN115065695A (zh
Inventor
荣辉桂
魏洁杨
火生旭
常炳国
杨贯中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202210985994.1A priority Critical patent/CN115065695B/zh
Publication of CN115065695A publication Critical patent/CN115065695A/zh
Application granted granted Critical
Publication of CN115065695B publication Critical patent/CN115065695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于智能合约的云链数据交换方法及相关设备,应用于区块链技术领域,用于提高区块链进行数据交换时的安全性。本申请提供的系统包括:前置机节点模块,用于根据数据提供方的原始数据生成用于存储与=于链上的数据索引信息,即数据资产,并对所述数据资产进行交换,得到数据请求结果;区块链模块,用于验证所述数据提供方的加入权限,并接收前置机节点模块发送的所述数据资产并进行存储;合约模块,用于部署智能合约,并通过所述智能合约对所述数据资产信息进行管理和数据资产信息的访问权限控制;访问控制模块,用于提供请求方接口,并通过调用所述智能合约进行数据资产信息进行访问管理;云存储模块,用于对所述据提供方的原始数据进行存储。

Description

基于智能合约的云链数据交换方法及相关设备
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于智能合约的云链数据交换方法及相关设备。
背景技术
因为区块链去中心化、防篡改的特性,存储在区块链上的数据资产在生命周期的整个过程中都将是公开透明的,这为数据交换提供了一个安全可靠的机制。
在区块链数据交换场景中,许多用户向区块链数据交换平台提供数据,也获取其他数据提供者的数据。区块链技术的安全特性能够在没有权限中心或具有多个权限中心的分布式系统中建立信任。在传统的数据交换平台中,由各个节点存储数据进行分布式管理。在数据交换过程中,通过各个节点执行数据交换,节点同步的机制使得数据请求以及数据交换结果暴露在链上,在区块链分布式系统下单点故障的基础上,不利于保护数据交换的隐秘性和数据交换过程中的安全性。
发明内容
本申请提供一种基于智能合约的云链数据交换系统、方法、计算机设备及存储介质,以提高区块链场景中数据交换的安全性。
一种基于智能合约的云链数据交换系统,包括:
前置机节点模块,用于根据数据提供方的原始数据生成数据资产信息,并对所述原始数据进行交换,得到数据请求结果;
区块链模块,用于验证所述数据提供方的加入权限,并接收前置机节点模块发送的所述数据资产信息并进行存储;
合约模块,用于部署智能合约,并通过所述智能合约对所述数据资产信息进行管理和所述数据资产信息的访问权限控制;
访问控制模块,用于提供请求方接口,并通过调用所述智能合约对所述数据资产信息进行访问管理;
云存储模块,用于对所述据提供方的原始数据进行存储。
一种基于智能合约的云链数据交换方法,应用于上述基于智能合约的云链数据交换系统,包括:
访问控制模块接收请求方发送的数据请求,并向区块链模块发送所述数据请求;
所述区块链模块基于所述数据请求,确认数据操作信息,并通过智能合约接口将所述数据操作信息发送到合约模块;
所述合约模块接收所述数据请求和所述数据操作信息,并通过数据资产信息确定目标数据索引信息,将所述数据请求发送至云存储模块对应的前置机节点模块;
所述前置机节点模块通过所述数据操作信息,向云存储模块获取所述目标数据,并对所述目标数据进行操作,得到数据请求结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于智能合约的云链数据交换方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于智能合约的云链数据交换方法的步骤。
本申请提供的基于智能合约的云链数据交换系统、方法、计算机设备及存储介质,通过设置前置机节点模块对数据提供方的原始数据进行管理,并根据数据请求结合原始数据所对应的链上数据资产以及云上所存储的原始数据进行处理,得到数据操作结果;区块链模块用于管理数据提供方的加入权限,并存储数据资产信息,通过合约模块部署智能合约,通过智能合约管理数据交换过程,云存储模块用于存储原始数据,通过前置机节点模块进行管理,合约模块对数据资产信息的访问进行控制,起到数据隔离的效果,能够有效保证数据交换的隐私性和安全性;区块链模块确认数据请求的数据操作信息,合约模块根据数据请求,确定目标数据的存储位置,通过前置机节点模块执行数据交换操作,得到数据交换结果,此过程中,原始数据存储在对应的云存储模块中,仅通过前置机节点模块进行数据交换,减少了原始数据暴露在区块链上从而受到攻击的可能,保证了数据交换的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例中基于智能合约的云链数据交换系统的一应用环境示意图;
图2是本申请一实施例中基于智能合约的云链数据交换方法的一应用环境示意图;
图3是本申请一实施例中基于智能合约的云链数据交换系统的结构示意图;
图4是本申请一实施例中基于智能合约的云链数据交换方法的一流程图;
图5是本申请一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的基于智能合约的云链数据交换系统,可应用在如图 1的应用环境中,其中,终端设备1通过网络与区块链进行通信,终端设备 1向区块链发送数据请求,区块链与云端服务器2进行通信,向云端服务器 2发送数据请求。云端服务器2向区块链返回数据请求结果。
其中,区块链采用联盟链,通过端到端通信网络拓扑结构构建。联盟链是指多个机构或者组织参与管理的区块链,每个机构或者组织运行一个或多个节点,其中的数据只允许系统内不同机构或者组织读取。
本申请实施例提供的基于智能合约的云链数据交换方法,可应用在如图 2的应用环境中,其中,计算机设备通过网络与服务器进行通信。其中,计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
需要说明的是,本申请实施例所提供的基于智能合约的云链数据交换方法由服务器执行,相应地,基于智能合约的云链数据交换系统设置于服务器中。
应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数目的终端设备、网络和服务器,本申请实施例中的终端设备具体可以对应的是实际生产中的应用系统。
系统框架100可以包括终端设备、网络和服务器。网络用以在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备通过网络与服务器交互,以接收或者发送消息等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器 (Moving Picture EpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureEperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、 103上显示的页面提供支持的后台服务器。本申请实施例提供的基于智能合约的云链数据交换系统,设置于服务器中,通过区块链技术构建底层模块。
本申请实施例提供的基于智能合约的云链数据交换系统,如图3所示,包括:
前置机节点模块31,用于根据数据提供方的原始数据生成数据资产信息,并对原始数据进行交换,得到数据请求结果。
具体的,根据请求方式的不同,数据请求结果分为数据操作结果和数据验证结果。
数据操作结果是指通过前置机对存储在云存储模块中的原始数据进行操作,得到数据操作结果。
数据验证结果是指仅在链上通过前置机来对原始数据进行验证,得到数据验证结果,其中,验证分为存在性验证和正确性验证;存在性验证是验证云存储模块中是否存在该原始数据,正确性验证是验证云存储模块中的原始数据是否遭到篡改。
进一步的,前置机节点模块31包括:
数据管理单元,用于接收数据提供方的原始数据,并生成原始数据的数据索引信息和访问权限信息,访问权限信息用于控制原始数据的操作权限,将数据索引信息和访问权限信息作为数据资产信息。
数据存储单元,用于将原始数据存储在数据提供方的云存储模块,并将数据资产信息存储到区块链模块。
具体的,前置机节点模块作为每个组织的主节点,管理每个组织上的各个子节点的原始数据。每个组织作为数据提供方,将原始数据上传到前置机节点模块中,由前置机节点模块生成原始数据的数据资产信息,其中数据资产信息包括数据索引信息和访问权限信息。再者,将数据资产信息存储到区块链模块中,由区块链节点进行存储;原始数据存储在与每个前置机节点模块连接的云存储模块中,每个云存储模块中的原始数据与数据资产信息中的数据索引信息,由前置机节点模块连接云存储模块和区块链模块。
本实施例中,各个组织提供的原始数据存储在云存储模块中,各个组织的成员通过前置机节点模块进行数据交换,通过前置机节点模块连接区块链模块和云存储模块形成云链数据交换。通过合约模块中的数据资产链码为原始数据生成对应的数据资产信息,数据资产信息以索引目录的形式存储在区块链模块中。
具体的,数据资产信息包括数据索引信息和访问权限信息。
每个组织将通过前置主节点模块的前置机主节点接入到由联盟链构建的区块链模块中,作为区块链主链的一个节点,而组织成员作为子链,通过连接到前置机主节点中完成与区块链主链的交互过程。
在数据交换共享的过程中,各个组织统一通过前置机主节点进行管理,并控制原始数据在主链上的所有交换共享过程,并保留有所有子节点的数据索引信息。
在数据共享时,子链上的子节点向前置机主节点发送需要共享的原始数据的数据索引信息,并发起数据共享请求,前置机主节点接收到数据共享请求后,生成新的数据索引目录,再通过区块链主链向其他前置机共享数据索引目录。
在获取共享数据时,子链上的子节点先向前置机主节点发送数据获取请求,此时前置机主节点将满足访问权限的数据索引目录共享给该子节点,子节点收到数据索引目录后,查看所需要的共享数据,再向前置机主节点发送数据查看请求,前置机收到请求数据查看请求后,向区块链主链转发数据获取请求,区块链主链根据数据获取请求,定位到所需要的共享数据的存储位置,最后将获取结果返回给该子节点。
区块链模块32,用于验证数据提供方的加入权限,并接收前置机节点模块发送的数据资产信息并进行存储。
进一步的,区块链模块32包括:
节点加入模块,用于通过区块链准入机制将数据提供方加入到区块链节点中。
数据交换模块,用于通过数据交换通道进行云链数据交换和原始数据的访问。
具体的,区块链模块使用区块链技术来搭建端到端的通信网络拓扑结构,通过联盟链的数据交换通道保证各个组织之间的数据隔离。
区块链模块用于保证各个组织之间的独立性,并向各个组织提供数据交换通道。各个组织通过区块链准入机制加入到区块链模块的数据交换通道中,同意履行数据交换通道上部署的智能合约协议;同时将数据索引信息存储在 CouchDB数据库中,由区块链的节点进行维护,通过更新世界状态对数据资产信息的状态在节点间进行同步。
在CouchDB数据库中,数据资产信息通过关键字与数值的数据结构构建,如下表所示:
表1数据资产信息数据结构
name<String> Description<string> Publisher<Hash Code> Creator<String>
Organazation<String> createTime<Date> Authlist<HashMap> privatePem<RSA Code>
合约模块33,用于部署智能合约,并通过智能合约对数据资产信息进行管理和数据资产信息的访问权限控制。
进一步的,合约模块33包括:
数据资产单元,用于管理数据资产信息,根据数据资产信息生成对应的数据操作模式。
访问控制单元,用于提供数据访问接口,根据数据操作模式对原始数据进行访问。
具体的,合约模块用于部署智能合约,通过智能合约控制区块链模块的 CouchDB数据库,并为访问控制模块提供智能合约接口。
在合约模块中,通过智能合约部署数据资产链码和访问控制链码。数据资产链码用于定义并管理数据资产信息的身份信息,其中身份信息表示了原始数据的数据提供方的身份。并根据数据资产信息的数据操作类型,提供对原始数据进行操作的接口。
数据资产链码定义的接口如下表表示:
表2数据资产链码接口表
接口 功能
InitLedger 角色分类帐初始化
Create 创建角色
Update 角色更新
Delete 删除角色
Search 通过查询查找角色
其中,角色指的是进行数据交换的主体,具体包括数据请求方和数据提供方。通过上述接口调用,则通过数据资产链码对原始数据进行操作,以得到对应的数据操作结果。
在本实施例中,合约模块将数据交换过程分成显式或者隐式两种模式,根据数据请求中的数据操作信息,提供对应的操作接口。
请求方只用根据对应数据操作信息,调用对应的操作接口。
与数据操作信息对应,根据对原始数据的访问权限,数据操作模式分为数据操作和基本操作。
数据操作主要为数据隔离提供接口,请求方可以根据特定的应用场景设计不同的数据操作,使用户仅提供原始数据的关键字以及数据操作调用列表皆可以得到原始数据的数据操作结果。而基本操作则是为数据资产的管理提供完整的数据操作流程,其中包括的基本功能为增、删、改、查。
访问控制链码主要通过基于组织角色来管理对原始数据的访问权限,同时为数据隔离下的数据交换模式提供显式访问的接口。
另外,数据提供者在定义数据资产时,通过为原始数据定义访问权限,满足访问权限的一方,才能对原始数据进行访问。
进一步的,本申请实施例设置合约模块,基于智能合约对云存储模块和区块链模块上之间的数据交换以及数据请求进行控制管理,进一步提高云链数据的交换效率。
访问控制模块34,用于提供请求方接口,并通过调用智能合约对数据资产信息进行访问管理。
进一步的,访问控制模块34包括:
请求交互单元,用于根据交互界面,接收请求方的数据请求。
数据交换单元,用于根据数据请求对请求方的身份进行验证,验证通过则向区块链模块发送数据交换请求。
具体的,访问控制模块使用基于角色的访问权限控制,通过合约模块提供的智能合约接口,实现原始数据的管理,以及对各个组织进行权限分配。
另外,通过请求方接口,用户根据请求方接口接收请求方发起的数据请求。
在共享数据时,前置机主节点的数据资产链码获取云存储模块提供的共享数据,并生成相应的数据索引信息并存储在前置机节点模块中。访问控制模块通过访问控制链码对该原始数据进行加密、验证,最后为数据提供方或者数据请求方分配该原始数据的访问权限。
在获取共享数据时,通过前置机主节点上的访问控制链码来验证请求节点对于所请求的原始数据的访问权限,当满足访问权限后,数据资产合约将会解析数据获取请求,并通过解析数据资产信息来对原始数据进行相关的数据操作,得到最终的数据操作结果。
数据操作结果最后返回给前置机主节点,由前置机主节点将数据操作结果返回给请求节点。
云存储模块35,用于对所述据提供方的原始数据进行存储。
具体的,原始数据将分散地保存在各个主节点对应的云存储模块中,云存储模块通过云端数据存储层存储各个节点的共享数据。
在本实施例中,通过设置前置机节点模块对数据提供方的原始数据进行管理,并根据数据请求,结合解析出的数据资产信息对原始数据进行处理,得到数据操作结果;区块链模块用于管理数据提供方的加入权限,并存储数据索引信息,通过合约模块部署智能合约,通过智能合约管理数据交换过程,云存储模块用于存储原始数据,通过前置机节点模块进行管理,合约模块对数据资产信息的访问进行控制,起到数据隔离的效果,能够有效保证数据交换的隐私性和安全性。
在一实施例中,如图4所示,提供一种基于智能合约的云链数据交换方法,该方法应用在上述的基于智能合约的云链数据交换系统中,以该方法应用在图2中的服务器为例进行说明,包括如下步骤:
S10,访问控制模块接收请求方发送的数据请求,并向区块链模块发送数据请求。
具体的,请求方通过访问控制模块提供的请求方接口,在应用程序发起数据请求,前置机主节点通过访问控制模块核对请求方的访问权限,当满足访问权限,则向区块链模块发送数据请求。
S20,区块链模块基于数据请求,确认数据操作信息,并通过智能合约接口将数据操作信息发送到合约模块。
通过区块链模块确认该数据请求的数据操作模式,作为数据操作信息,将数据操作信息通过智能合约接口发送给合约模块。
S30,合约模块接收数据请求和数据操作信息,并通过数据资产信息确定目标数据索引信息,将数据请求发送至云存储模块对应的前置机节点模块。
其中,目标数据索引信息是指目标数据的存储索引信息,用于指示该目标数据的存储位置。
S40,前置机节点模块通过数据操作信息,向云存储模块获取目标数据,并对目标数据进行操作,得到数据请求结果。
具体的,合约模块基于数据操作信息调用数据资产智能合约,查询该数据请求对应的目标数据对应的目标数据索引信息,通过目标数据索引信息确定目标数据的存储位置,再将该数据请求转发给存储目标数据的前置机主节点,前置机主节点查看该数据请求所涉及的目标数据以及数据操作信息,在云存储模块中完成数据操作,得到数据请求结果。
云存储模块将数据请求结果返回给前置机节点上,前置机节点通过区块链将数据请求结果返回给请求方。
本申请实施例提供的基于智能合约的云链数据交换方法,通过访问控制模块接收请求方发送的数据请求,并向区块链模块发送数据请求,区块链模块基于数据请求,确认数据操作信息,通过智能合约接口,调用智能合约,访问对应的前置机节点模块,前置机节点模块将数据请求和数据操作信息发送给与前置机节点模块连接的云存储模块,以获取对应的目标数据,并根据数据操作信息对目标数据进行操作,得到数据请求结果,在此过程中,数据交换过程通过合约模块进行控制,能够有效防止未经授权的请求方进行数据请求,并且,通过前置机主节点管理目标数据,起到数据隔离的作用,有效保护数据安全。
进一步的,S40中,前置机节点模块通过数据操作信息,向云存储模块获取目标数据,并对目标数据进行操作,得到数据请求结果包括:
S41,前置机节点模块通过合约模块,对请求方的身份进行验证并确定请求方的访问权限。
S42,根据访问权限,获取目标数据,并根据数据操作信息对目标数据进行操作,得到数据请求结果。
具体的,前置机节点模块中的前置机主节点通过合约模块中的访问权限智能合约,通过访问权限链码对请求方的身份进行验证,并确认请求方的访问权限。
请求方的访问权限指的是请求方对其所要求的原始数据的访问权限。
各个节点在进行数据共享时,分别对各自拥有的原始数据进行访问权限定义,通过前置机节点模块进行存储。
当满足访问权限时,前置机主节点将请求方的数据请求,获取存储在云存储模块中的目标数据,并根据数据操作请求对目标数据进行操作,得到数据操作结果。
在本实施例中,通过前置机节点模块对请求方进行权限验证,并获取对应的目标数据,在前置机节点模块中对目标数据进行数据操作,得到数据请求结果,通过对请求方进行验证,保证数据交换的安全性,另外,通过前置机节点模块对目标数据进行数据操作,保证数据隔离,减小目标数据暴露在区块链上的风险,进一步提高数据交换的安全性。
进一步的,该方法还包括:
S51,前置机节点模块接收数据提供方的原始数据,并基于所述原始数据生成数据资产信息,数据资产信息中包括数据索引信息和数据访问信息。
S52,将数据资产信息存储到区块链模块中,将原始数据存储到云存储模块。
具体的,数据提供方作为组织中的成员,加入到该组织对应的前置机节点模块中。当数据提供方进行数据共享时,前置机节点模块对进行共享的原始数据生成数据资产所包含的数据信息,并根据智能合约生成数据资产所包含的数据索引目录。前置机节点模块将数据索引目录在区块链上进行转发,区块链对数据索引目录进行更新,同时前置机节点模块将该原始数据存储到与该前置机节点模块对应的云存储模块中,将数据资产信息存储到区块链模块中,通过合约模块的数据资产合约进行管理。
在本实施例中,通过前置机节点模块对原始数据进行管理,将各个组织的原始数据进行隔离,同时将原始数据存储在云存储模块上,保证数据隔离,保护原始数据的隐私性和安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于基于智能合约的云链数据交换系统的具体限定可以参见上文中对于基于智能合约的云链数据交换方法的限定,在此不再赘述。上述基于智能合约的云链数据交换系统的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于智能合约的云链数据交换方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于智能合约的云链数据交换方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于智能合约的云链数据交换方法的步骤,例如图4所示的步骤S10至步骤S40及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中基于智能合约的云链数据交换系统的各模块/单元的功能,例如图3所示模块31至模块34的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于智能合约的云链数据交换方法的步骤,例如图4所示的步骤S10至步骤S40及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于智能合约的云链数据交换系统的各模块/单元的功能,例如图3所示模块31至模块34的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM (RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (5)

1.一种基于智能合约的云链数据交换方法,所述方法应用于基于智能合约的云链数据交换系统,所述基于智能合约的云链数据交换系统包括:前置机节点模块,用于根据数据提供方的原始数据生成数据资产信息,并对所述原始数据进行交换,得到数据请求结果;区块链模块,用于验证所述数据提供方的加入权限,并接收前置机节点模块发送的所述数据资产信息并进行存储;合约模块,用于部署智能合约,并通过所述智能合约对所述数据资产信息进行管理和所述数据资产信息的访问权限控制;访问控制模块,用于提供请求方接口,并通过调用所述智能合约对所述数据资产信息进行访问管理;云存储模块,用于对所述据提供方的原始数据进行存储,其特征在于,所述方法包括:
访问控制模块接收请求方发送的数据请求,并向区块链模块发送所述数据请求;
所述区块链模块基于所述数据请求,确认数据操作信息,并通过智能合约接口将所述数据操作信息发送到合约模块;
所述合约模块接收所述数据请求和所述数据操作信息,并通过数据资产信息确定目标数据索引信息,将所述数据请求发送至云存储模块对应的前置机节点模块;
所述前置机节点模块通过所述数据操作信息,向云存储模块获取所述目标数据,并对所述目标数据进行操作,得到数据请求结果。
2.根据权利要求1所述的基于智能合约的云链数据交换方法,其特征在于,所述前置机节点模块通过所述数据操作信息,向云存储模块获取所述目标数据,并对所述目标数据进行操作,得到数据请求结果包括:
所述前置机节点模块通过所述合约模块,对所述请求方的身份进行验证并确定所述请求方的访问权限;
根据所述访问权限,获取所述目标数据,并根据所述数据操作信息对目标数据进行操作,得到数据请求结果。
3.根据权利要求1所述的基于智能合约的云链数据交换方法,其特征在于,所述方法还包括:
所述前置机节点模块接收数据提供方的原始数据,并基于所述原始数据生成数据资产信息,所述数据资产信息中包括数据索引信息和数据访问信息;
将所述数据资产信息存储到所述区块链模块中,将所述原始数据存储到所述云存储模块。
4.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述基于智能合约的云链数据交换方法的步骤。
5.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述基于智能合约的云链数据交换方法的步骤。
CN202210985994.1A 2022-08-17 2022-08-17 基于智能合约的云链数据交换方法及相关设备 Active CN115065695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210985994.1A CN115065695B (zh) 2022-08-17 2022-08-17 基于智能合约的云链数据交换方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210985994.1A CN115065695B (zh) 2022-08-17 2022-08-17 基于智能合约的云链数据交换方法及相关设备

Publications (2)

Publication Number Publication Date
CN115065695A CN115065695A (zh) 2022-09-16
CN115065695B true CN115065695B (zh) 2022-11-18

Family

ID=83207763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210985994.1A Active CN115065695B (zh) 2022-08-17 2022-08-17 基于智能合约的云链数据交换方法及相关设备

Country Status (1)

Country Link
CN (1) CN115065695B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622096B (zh) * 2017-08-31 2020-06-05 上海保险交易所股份有限公司 基于区块链系统的异步多方数据交互方法和存储介质
US11139956B2 (en) * 2018-05-24 2021-10-05 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
CN109035014B (zh) * 2018-06-26 2021-05-04 上海数据交易中心有限公司 数据交易系统
CN109729168B (zh) * 2018-12-31 2021-10-01 浙江成功软件开发有限公司 一种基于区块链的数据共享交换系统及方法
CN110309173B (zh) * 2019-06-14 2021-08-13 达闼机器人有限公司 合约数据的记录方法、装置及区块链节点、存储介质
CN110390525B (zh) * 2019-07-31 2022-05-20 中国工商银行股份有限公司 区块链世界状态的直接访问方法及区块链节点
CN113111100B (zh) * 2021-03-10 2024-01-09 贾晓丰 基于区块链的数据交互系统及方法
CN113239375B (zh) * 2021-05-13 2022-06-17 杭州趣链科技有限公司 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质

Also Published As

Publication number Publication date
CN115065695A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
TWI737944B (zh) 基於區塊鏈的交易執行方法及裝置、電子設備
US11323530B2 (en) Proxy agents and proxy ledgers on a blockchain
US11418510B2 (en) Systems, methods, and apparatuses for implementing a role based access control and authorization validator via blockchain smart contract execution using distributed ledger technology (DLT)
JP6975332B2 (ja) ブロックチェーンベースのスマートコントラクト呼び出し方法および装置、および電子デバイス
CN113056760B (zh) 多租户环境中具有去中心化分类账的高级智能合约
CN109325855B (zh) 区块链网络、部署方法及存储介质
CN110189121B (zh) 数据处理方法、装置、区块链客户端和区块链节点
US20200244628A1 (en) Techniques for shared private data objects in a trusted execution environment
CN111191210B (zh) 数据访问权限的控制方法、装置、计算机设备和存储介质
US10776510B2 (en) System for managing personal data
US10778603B2 (en) Systems and methods for controlling access to broker resources
CN110008665B (zh) 一种区块链的权限控制方法及装置
Silva et al. A common API for delivering services over multi-vendor cloud resources
WO2022008996A1 (en) Privacy preserving architecture for permissioned blockchains
CN110213392B (zh) 数据分发方法、装置、计算机设备和存储介质
US20170019455A1 (en) Service onboarding
CN110908786A (zh) 一种智能合约调用方法、装置及介质
CN111447069B (zh) 一种基于区块链的低频访问数据处理方法
CN111950019A (zh) 一种基于区块链的物联网访问控制系统及方法
WO2023040502A1 (zh) 用户服务注册
CN113271311A (zh) 一种跨链网络中的数字身份管理方法及系统
US11190359B2 (en) Device and system for accessing a distributed ledger
CN114143090B (zh) 基于网络安全架构的防火墙部署方法、装置、设备及介质
CN115065695B (zh) 基于智能合约的云链数据交换方法及相关设备
CN112818038A (zh) 基于区块链和ipfs组合的数据管理方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant