CN110445765B - 基于区块链的数据共享方法、终端设备及介质 - Google Patents
基于区块链的数据共享方法、终端设备及介质 Download PDFInfo
- Publication number
- CN110445765B CN110445765B CN201910630817.XA CN201910630817A CN110445765B CN 110445765 B CN110445765 B CN 110445765B CN 201910630817 A CN201910630817 A CN 201910630817A CN 110445765 B CN110445765 B CN 110445765B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- maintenance
- shared database
- request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于区块链领域,提供了一种基于区块链的数据共享方法、终端设备及介质,其中,一种基于区块链的数据共享方法,包括:调用预安装的命令行工具,创建具有共享数据库的私有区块链;通过命令行工具,根据预设的节点配置文件,为私有区块链配置至少两个维护节点;向每个维护节点配置数据服务协议文件;当检测到维护节点中的目标维护节点触发的用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应请求;借用了区块链的共识机制特性,从而避免了共享数据库中的数据被恶意篡改,提高了数据共享的安全程度。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种基于区块链的数据共享方法、终端设备及计算机可读存储介质。
背景技术
随着人们生活水平的提高,为了满足不同人群的需求,基于对不同人群的特征数据或者业务数据进行分析,进而设计出更受消费者欢迎的产品,或者制定出更好的销售策略都已经成为常态,由此可见对数据管理的重要性。
现有的许多关联企业,例如一个集团中的多个子公司,子公司与子公司之间互为关联企业,虽然可以进行数据共享,但大多是租用供应商的服务器实现,具体是通过将待共享的数据上传至外部服务器上进行存储和共享,当服务器的防火墙被破解后,则可以通过工具或者直接修改服务器中存储和共享的数据,可见现有的数据共享方案存在安全性低的问题。
发明内容
有鉴于此,本发明实施例提供了一种基于区块链的数据共享方法、终端设备及计算机可读存储介质,以解决现有的数据共享方案存在安全性低的问题。
本发明实施例的第一方面提供了一种基于区块链的数据共享方法,包括:
调用预安装的命令行工具,创建具有共享数据库的私有区块链;
通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护;
向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下各步骤:
调用预安装的命令行工具,创建具有共享数据库的私有区块链;
通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护;
向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
本发明实施例的第三方面提供了一种终端设备,包括:
区块链创建单元,用于调用预安装的命令行工具,创建具有共享数据库的私有区块链;
节点配置单元,用于通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护;
协议配置单元,用于向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
执行单元,用于当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下各步骤:
调用预安装的命令行工具,创建具有共享数据库的私有区块链;
通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护;
向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
实施本发明实施例提供的一种基于区块链的数据共享方法、终端设备及计算机可读存储介质具有以下有益效果:
本发明实施例提供的一种基于区块链的数据共享方法通过创建具有共享数据库的私有区块链,并为区块链配置维护节点,通过为每个维护节点配置数据服务协议文件,使得所有维护节点与共享数据库之间的数据交互方式被规范化,由于目标维护节点为区块链中的节点,因此当目标维护节点触发用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应该请求的过程,借用了区块链的共识机制特性,对目标维护节点的请求进行权限验证,从而避免了共享数据库中的数据被恶意篡改,提高了数据共享的安全程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于区块链的数据共享方法的实现流程图;
图2是本发明另一实施例提供的一种基于区块链的数据共享方法的实现流程图;
图3是本发明实施例提供的一种终端设备的结构框图;
图4是本发明另一实施例提供的一种终端设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1是本发明实施例提供的一种基于区块链的数据共享方法的实现流程图。本实施例中,基于区块链的数据共享方法的执行主体为终端设备,该终端设备用于与业务数据服务器集群进行数据交互。终端设备包括但不限于智能手机、平板电脑或台式电脑。如图1所示的基于区块链的数据共享方法包括以下步骤:
S1:调用预安装的命令行工具,创建具有共享数据库的私有区块链。
在步骤S1中,命令行工具可以是基于编程语言开发的以太坊客户端。
在实际应用中,在创建具有共享数据库的私有区块链之前,可以从公共资源平台中获取以太坊客户端的安装资源进行安装,从而完成命令行工具的配置。在调用预安装的命令行工具创建私有区块链时,需要创建创世区块,再基于该创世区块部署节点,通过启动该具有节点的创世区块,才算完成对私有区块链的创建。
至于何时调用预安装的命令行工具,创建具有共享数据库的私有区块链,具体可以包括但不仅限于以下场景:
当确定用于进行数据共享的业务数据服务器集群时,调用预安装的命令行工具,创建具有共享数据库的私有区块链。
例如,业务数据服务器集群中的各个业务数据服务器均来自企业内部不同的业务部门,或者集团中的不同子企业,当确定了进行数据共享的业务部门或子企业时,将业务部门或子企业的对应的多个业务数据服务器识别为用于进行数据共享的数据服务器集群,进而通过调用预安装的命令行工具,创建具有共享数据库的私有区块链。
需要说明的是,区块链包括三种类型:公有区块链、私有区块链和联盟链;其中,私有区块链采用中心化系统,可以只对企业内部的各业务部门进行授权开放,或者只对集团型企业中的各个子企业进行授权开放,同时具有写读权限限制的特点。
本实施例中,通过创建具有共享数据库的私有区块链,不仅能够保证数据的共享,还能借用私有区块链的写读权限限制,从而规范对共享数据库中数据的读写操作。
作为本实施例一种可能实现的方式,步骤S1具体可以包括:
调用预安装的命令行工具,根据预设的创世区块配置文件构建创世区块,并初始化所述创世区块;调用所述命令行工具的执行环境控制器,为初始化后的创世区块创建共享数据库,得到具有共享数据库的私有区块链。
以命令行工具为以太坊客户端为例,预先安装以太坊客户端,并在以太坊客户端中新建工作目录,向该工作目录中配置用于构建创世区块的配置文件,进而通过以太坊客户端根据该配置文件构建创世区块,并初始化创世区块,通过调用太坊客户端的执行环境控制器为初始化后的创世区块创建共享数据库,进而得到具有共享数据库的私有区块链。
S2:通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点。
在步骤S2中,维护节点用于将数据上传至共享数据库进行共享,并对共享数据库中存储的数据进行维护。节点配置文件用于为所述私有区块链确定维护节点。
需要说明的是,可以通过对每个维护节点配置相应的公钥和密钥,使得任一个维护节点在私有区块链中与共享数据库进行数据交互时,其他维护节点能够基于公钥对其进行权限验证,避免了共享数据库中的数据被恶意篡改。
在实际应用中,维护节点的个数可以根据共享数据库中所有数据的来源所确定,也即共享数据库中的数据来源与维护节点的个数有关,共享数据库中的数据来源的数据服务器越多,则维护节点的个数就越多。
为了避免数据来源不同而导致的维护节点混乱的问题,根据共享数据库中的数据来源的数据服务器个数,确定维护节点的个数,也即共享数据库中的数据来源的数据服务器个数与维护节点的个数相同,进而避免维护节点复用现象,也解决了数据来源不同而导致的维护节点混乱的问题。
作为本实施例一种可能实现的方式,节点配置文件中的信息还可以用于描述业务数据服务器的地址与维护节点之间的对应关系。步骤S2具体可以包括:
通过所述命令行工具的执行环境控制器,在所述私有区块链中创建与所述业务数据服务器的数量相同个数的初始节点;根据所述业务数据服务器的地址与所述维护节点之间的对应关系,将所述初始节点与所述业务数据服务器进行映射关联,以得到维护节点。
在本实施例中,业务数据服务器集群中的业务数据服务器可以为一个企业中不同业务部门的业务数据服务器,也可以是一个集团中不同子企业的业务服务器。多个业务数据服务器组成一个业务数据服务器集群,将该业务数据服务器进群中的每个业务数据服务器映射为私有区块链中的维护节点,能够将每个业务数据服务器中的数据接入到私有区块链,从而在实现数据共享的同时,利用区块链特性为每个业务数据服务器赋予了读写权限限制,提高数据共享的安全性。
需要说明的是,节点配置文件中的信息用于描述业务数据服务器的地址与维护节点之间的对应关系,具体可以是业务数据服务器的地址与维护节点的编号之间的对应关系,将初始节点与业务数据服务器进行映射关联,也即对初始节点进行编号,再根据业务数据服务器的地址与维护节点的编号之间的对应关系,将初始节点的编号与业务数据服务器的地址进行映射关联,进而得到维护节点。
可以理解的是,由于私有区块链中的维护节点与业务数据服务器的地址映射关联,通过访问维护节点即可实现对业务数据服务器的访问,而通过维护节点向私有区块链的共享数据库发送请求,则可以实现业务数据服务器对共享数据库发送请求,实现业务数据服务器在私有区块链的框架协议下,与共享数据库之间进行数据交互。
S3:向每个所述维护节点配置数据服务协议文件。
在步骤S3中,数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略。数据交互策略用于描述维护节点与共享数据库之间进行不同类型的数据交互时,所执行的交互方法和步骤。
需要说明的是,区块链的自动化运作需要依靠智能合约实现,也即基于智能合约中的协议内容(也即各种运行机制),执行维护节点与共享数据库之间的数据交互策略。
在本申请的所有实施例中,数据服务器协议文件可以是以智能合约的形式被配置到每个维护节点中。或者是在每个维护节点已配置了智能合约的基础上,向每个维护节点中的智能合约配置新增的数据交互机制。
在本实施例中,共享数据库中存储的数据为基础数据,其中,基础数据的来源是私有区块链中的各个维护节点,由于维护节点与业务数据服务器之间属于映射关联,因此共享数据库中部分或者全部基础数据来源于业务数据服务器。
在实际应用中,可以将每个业务数据服务器中存储的数据分为基础数据和差异性数据,通过每个维护节点将各自的基础数据共享至共享数据库中,供私有区块链中任一维护节点查询,差异性数据仅限于差异性数据的来源所对应的维护节点使用,也即差异性数据被禁止存储至共享数据库中。为了实现维护节点与共享数据库之间的数据交互自动化,可以通过在智能合约中可以创建验证机制和共识机制,针对不能被存储至共享数据库中的差异性数据来说,还可以创建差异性数据的存储机制和差异性数据的获取机制。
S4:当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
在步骤S4中,用于与共享数据库进行数据交互的请求,可以是数据查询请求、数据更新请求。相应的,维护节点与共享数据库之间进行数据交互可以包括,维护节点向共享数据库查询数据,再由共享数据库将被查询数据返回给维护节点。或者维护节点向共享数据库更新数据,例如,维护节点向共享数据库增加数据或者维护节点从共享数据库中删除数据。
在本实施例中,目标维护节点触发用于与共享数据库进行数据交互的请求的时机,可以是当目标维护节点对应的业务数据服务器中未查询到用于验证客户身份的参考信息时,通过目标维护节点向私有区块链触发与共享数据库进行数据交互的请求,以查询用于验证客户身份的参考信息。或者,当目标维护节点对应的业务数据服务器中的客户身份信息变更后,通过目标维护节点向私有区块链触发与共享数据库进行数据交互的请求,以对客户身份信息进行更新。
以上可以看出,本实施例提供的一种基于区块链的数据共享方法通过创建具有共享数据库的私有区块链,并为区块链配置维护节点,通过为每个维护节点配置数据服务协议文件,使得所有维护节点与共享数据库之间的数据交互方式被规范化,由于目标维护节点为区块链中的节点,因此当目标维护节点触发用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应该请求的过程,借用了区块链的共识机制特性,对目标维护节点的请求进行权限验证,从而避免了共享数据库中的数据被恶意篡改,提高了数据共享的安全程度。
请参阅图2,图2是本发明另一实施例提供的一种基于区块链的数据共享方法的实现流程图。相对于图1对应的实施例,本实施例提供的数据共享方法在步骤S1之后还包括S5~S7。详述如下:
S5:获取待接入所述私有区块链的业务数据服务器的地址,以及所述地址的个数。
S6:根据所述地址的个数确定维护节点的编号。
S7:配置所述业务数据服务器的地址与所述维护节点的编号之间的对应关系,以生成节点配置文件。
在本实施例中,通过调用预安装的命令行工具创建具有共享数据库的私有区块链之后,需要向该私有区块链添加维护节点,也即需要确定待接入该私有区块链的业务数据服务器。维护节点的编号,可以是根据业务数据服务器的地址的个数,顺序分配或者随机分配,且每个维护节点的编号均不相同。
在实际应用中,当私有区块链建立好后,通过命令行工具载入预先录入的维护节点的添加列表,该列表中的数据为业务数据服务器的地址,根据该列表即可获取到待接入私有区块链的业务数据服务器的地址,以及地址的个数。
为了避免不同业务数据服务器被误识别为同一个维护节点,地址的个数与维护节点的个数相同,也即每个业务数据服务器的地址与每个维护节点编号之间属于一一对应关系。
配置业务数据服务器的地址与维护节点的编号之间的对应关系,具体可以是调用预先配置好的脚本模版,该脚本模版是基于编程语言配置而成,可以被命令行工具,即以太坊客户端运行,将业务数据服务器的地址与维护节点的编号配置到脚本模版中,进而得到用于描述业务数据服务器的地址与维护节点的编号之间对应关系的脚本内容,通过将该脚本内容进行封装处理,得到节点配置文件。
通过命令行工具根据节点配置文件,为私有区块链配置至少两个维护节点后,向每个维护节点配置数据服务协议文件,该数据服务协议文件中的信息用于描述所有维护节点与共享数据库之间的数据交互策略。当检测到维护节点中的目标维护节点触发的用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应所述请求。
作为本实施例一种可能实现的方式,请求携带有目标维护节点标识、请求类型标识以及数据标识;请求类型标识用于表征与共享数据库进行数据交互的方式;数据标识用于区分与共享数据库进行数据交互过程中的数据来源。
步骤S4具体可以包括:
根据所述目标维护节点标识,从所述维护节点中确定出权限验证节点;通过所述权限验证节点对所述请求进行权限验证,以确定所述目标维护节点是否具有请求权限;若所述目标维护节点具有请求权限,则允许基于所述请求类型标识和所述数据标识响应所述请求;若所述目标维护节点不具有请求权限,则禁止响应所述请求。
需要说明的是,每个维护节点中配置相应的公钥和密钥,使得任一个维护节点在私有区块链中与共享数据库进行数据交互时,其他维护节点能够基于公钥对其进行权限验证。
在本实施例中,目标维护节点为维护节点中的部分节点,权限验证节点为维护节点中,除了目标维护节点以外的所有节点。目标维护节点标识为数字签名,权限验证节点对请求进行权限验证,具体是利用公钥对请求中携带的数字签名进行验证。
数字签名是对非对称加密和摘要算法的一种应用,能够保证请求中的消息不被篡改。目标维护节点通过对请求中的消息明文计算摘要,然后利用私钥对摘要进行加密,作为数字签名。将该消息明文与数字签名作为请求中携带的目标维护节点标识,连同请求发出,由权限验证节点对该请求进行权限验证。权限验证节点利用公钥对数字签名进行解密,得到摘要,并对消息明文计算新的摘要,通过比对两个摘要,即可确定请求中的消息是否被篡改,当确定了请求中的消息被篡改时,则确定目标维护节点不具有请求权限。其中,目标维护节点对请求中的消息明文计算摘要的方式,与权限验证节点对消息明文计算新的摘要的方式相同,可以是利用同一哈希值计算公式。
进一步,步骤:若所述目标维护节点具有请求权限,则允许基于所述请求类型标识和所述数据标识响应所述请求,包括:
若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询时,根据所述数据标识从所述共享数据库中确定出目标数据,并将所述目标数据发送至所述目标维护节点;
若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据更新时,根据所述数据标识从所述目标维护节点中确定出目标数据,并将所述目标数据存储至所述共享数据库中。
在本实施例中,当根据数据标识从共享数据库中未确定出目标数据时,根据数据标识从权限验证节点查询目标数据,并在查询到目标数据时,将目标数据发送至目标维护节点。
需要说明的是,共享数据库是整合了所有维护节点中的基础数据,在实际应用中,维护节点并非实时将基础数据上传至共享数据库中,也即存在部分基础数据未同步至共享数据库中,此时可以直接访问维护节点中的基础数据,避免了目标数据的查询遗漏。
进一步,步骤:若所述目标维护节点不具有请求权限,则禁止基于所述请求类型标识和所述数据标识响应所述请求,包括:
若所述目标维护节点不具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询或数据更新时,则禁止响应所述请求。
在本实施例中,当目标维护节点不具有请求权限时,则表示该目标维护节点所触发的请求已被篡改,因此在请求类型标识表征的与共享数据库进行数据交互的方式为数据查询或数据更新时,禁止响应该请求,从而避免了共享数据库中的基础数据被而已篡改。
以上可以看出,本实施例提供的一种基于区块链的数据共享方法通过创建具有共享数据库的私有区块链,并为区块链配置维护节点,通过为每个维护节点配置数据服务协议文件,使得所有维护节点与共享数据库之间的数据交互方式被规范化,由于目标维护节点为区块链中的节点,因此当目标维护节点触发用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应该请求的过程,借用了区块链的共识机制特性,对目标维护节点的请求进行权限验证,从而避免了共享数据库中的数据被恶意篡改,提高了数据共享的安全程度。
另外,在生成节点配置文件时,根据业务数据服务器的地址的个数确定不重复的维护节点编号,使得业务数据服务器的地址与维护节点编号之间形成一一对应关系,从而避免不同业务数据服务器被误识别为同一个维护节点,提高了所有区块链的节点配置效率。
请参阅图3,图3是本发明实施例提供的一种终端设备的结构框图。本实施例中的终端设备可以是智能手机、平板电脑等终端设备。该终端设备包括的各单元用于执行图1至图2对应的实施例中的各步骤。具体请参阅图1至图2以及图1至图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,终端设备300包括:区块链创建单元31、节点配置单元32、协议配置单元33及执行单元34。其中:
区块链创建单元31用于,调用预安装的命令行工具,创建具有共享数据库的私有区块链。
节点配置单元32用于通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护。
协议配置单元33用于向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略。
执行单元34用于当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
作为本发明一实施例,终端设备还包括:获取单元、确定单元及配置文件生成单元。其中:
获取单元,用于获取待接入所述私有区块链的业务数据服务器的地址,以及所述地址的个数。
确定单元,用于根据所述地址的个数确定维护节点的编号。
配置文件生成单元,用于配置所述业务数据服务器的地址与所述维护节点的编号之间的对应关系,以生成节点配置文件。
作为本发明一实施例,区块链创建单元具体用于,调用预安装的命令行工具,根据预设的创世区块配置文件构建创世区块,并初始化所述创世区块;调用所述命令行工具的执行环境控制器,为初始化后的创世区块创建共享数据库,得到具有共享数据库的私有区块链。
作为本发明一实施例,所述节点配置文件中的信息用于描述业务数据服务器的地址与维护节点之间的对应关系。
节点配置单元具体用于,通过所述命令行工具的执行环境控制器,在所述私有区块链中创建与所述业务数据服务器的数量相同个数的初始节点;根据所述业务数据服务器的地址与所述维护节点之间的对应关系,将所述初始节点与所述业务数据服务器进行映射关联,以得到维护节点。
作为本发明一实施例,所述请求携带有目标维护节点标识、请求类型标识以及数据标识;所述请求类型标识用于表征与所述共享数据库进行数据交互的方式;所述数据标识用于区分与所述共享数据库进行数据交互过程中的数据来源。
执行单元具体用于,根据所述目标维护节点标识,从所述维护节点中确定出权限验证节点;通过所述权限验证节点对所述请求进行权限验证,以确定所述目标维护节点是否具有请求权限;若所述目标维护节点具有请求权限,则允许基于所述请求类型标识和所述数据标识响应所述请求;若所述目标维护节点不具有请求权限,则禁止响应所述请求。
作为本发明一实施例,执行单元具体还用于,若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询时,根据所述数据标识从所述共享数据库中确定出目标数据,并将所述目标数据发送至所述目标维护节点;若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据更新时,根据所述数据标识从所述目标维护节点中确定出目标数据,并将所述目标数据存储至所述共享数据库中。
作为本发明一实施例,执行单元具体还用于,若所述目标维护节点不具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询或数据更新时,则禁止响应所述请求。
以上可以看出,本实施例提供的终端设备通过创建具有共享数据库的私有区块链,并为区块链配置维护节点,通过为每个维护节点配置数据服务协议文件,使得所有维护节点与共享数据库之间的数据交互方式被规范化,由于目标维护节点为区块链中的节点,因此当目标维护节点触发用于与共享数据库进行数据交互的请求时,基于数据服务协议文件响应该请求的过程,借用了区块链的共识机制特性,对目标维护节点的请求进行权限验证,从而避免了共享数据库中的数据被恶意篡改,提高了数据共享的安全程度。
图4是本发明另一实施例提供的一种终端设备的结构框图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42,例如基于区块链的数据共享方法的程序。处理器40执行所述计算机程序42时实现上述各个基于区块链的数据共享方法各实施例中的步骤,例如图1所示的S1至S4。或者,所述处理器40执行所述计算机程序42时实现上述图3对应的实施例中各单元的功能,例如,图3所示的单元31至34的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。例如,所述计算机程序42可以被分割成区块链创建单元、节点配置单元、协议配置单元及执行单元,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于区块链的数据共享方法,其特征在于,包括:
调用预安装的命令行工具,创建具有共享数据库的私有区块链;
通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护,所述节点配置文件中的信息用于描述业务数据服务器的地址与维护节点之间的对应关系;
向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求;
所述通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点,包括:
通过所述命令行工具的执行环境控制器,在所述私有区块链中创建与所述业务数据服务器的数量相同个数的初始节点;
根据所述业务数据服务器的地址与所述维护节点之间的对应关系,将所述初始节点与所述业务数据服务器进行映射关联,以得到维护节点。
2.根据权利要求1所述的数据共享方法,其特征在于,所述调用预安装的命令行工具,创建具有共享数据库的私有区块链,包括:
调用预安装的命令行工具,根据预设的创世区块配置文件构建创世区块,并初始化所述创世区块;
调用所述命令行工具的执行环境控制器,为初始化后的创世区块创建共享数据库,得到具有共享数据库的私有区块链。
3.根据权利要求1所述的数据共享方法,其特征在于,所述请求携带有目标维护节点标识、请求类型标识以及数据标识;所述请求类型标识用于表征与所述共享数据库进行数据交互的方式;所述数据标识用于区分与所述共享数据库进行数据交互过程中的数据来源;
所述当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求,包括:
根据所述目标维护节点标识,从所述维护节点中确定出权限验证节点;
通过所述权限验证节点对所述请求进行权限验证,以确定所述目标维护节点是否具有请求权限;
若所述目标维护节点具有请求权限,则允许基于所述请求类型标识和所述数据标识响应所述请求;
若所述目标维护节点不具有请求权限,则禁止响应所述请求。
4.根据权利要求3所述的数据共享方法,其特征在于,所述若所述目标维护节点具有请求权限,则允许基于所述请求类型标识和所述数据标识响应所述请求,包括:
若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询时,根据所述数据标识从所述共享数据库中确定出目标数据,并将所述目标数据发送至所述目标维护节点;
若所述目标维护节点具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据更新时,根据所述数据标识从所述目标维护节点中确定出目标数据,并将所述目标数据存储至所述共享数据库中。
5.根据权利要求3所述的数据共享方法,其特征在于,所述若所述目标维护节点不具有请求权限,则禁止基于所述请求类型标识和所述数据标识响应所述请求,包括:
若所述目标维护节点不具有请求权限,且当所述请求类型标识表征的与所述共享数据库进行数据交互的方式为数据查询或数据更新时,则禁止响应所述请求。
6.根据权利要求1至5任一项所述的数据共享方法,其特征在于,所述调用预安装的命令行工具,创建具有共享数据库的私有区块链之后,还包括:
获取待接入所述私有区块链的业务数据服务器的地址,以及所述地址的个数;
根据所述地址的个数确定维护节点的编号;
配置所述业务数据服务器的地址与所述维护节点的编号之间的对应关系,以生成节点配置文件。
7.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
调用预安装的命令行工具,创建具有共享数据库的私有区块链;
通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护,所述节点配置文件中的信息用于描述业务数据服务器的地址与维护节点之间的对应关系;
向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求;
所述通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点,包括:
通过所述命令行工具的执行环境控制器,在所述私有区块链中创建与所述业务数据服务器的数量相同个数的初始节点;
根据所述业务数据服务器的地址与所述维护节点之间的对应关系,将所述初始节点与所述业务数据服务器进行映射关联,以得到维护节点。
8.一种终端设备,其特征在于,包括:
区块链创建单元,用于调用预安装的命令行工具,创建具有共享数据库的私有区块链;
节点配置单元,用于通过所述命令行工具,根据预设的节点配置文件,为所述私有区块链配置至少两个维护节点;所述维护节点用于将数据上传至所述共享数据库进行共享,并对所述共享数据库中存储的数据进行维护,所述节点配置文件中的信息用于描述业务数据服务器的地址与维护节点之间的对应关系,其具体包括:通过所述命令行工具的执行环境控制器,在所述私有区块链中创建与所述业务数据服务器的数量相同个数的初始节点,根据所述业务数据服务器的地址与所述维护节点之间的对应关系,将所述初始节点与所述业务数据服务器进行映射关联,以得到维护节点;
协议配置单元,用于向每个所述维护节点配置数据服务协议文件;所述数据服务协议文件中的信息用于描述所有所述维护节点与所述共享数据库之间的数据交互策略;
执行单元,用于当检测到所述维护节点中的目标维护节点触发的用于与所述共享数据库进行数据交互的请求时,基于所述数据服务协议文件响应所述请求。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910630817.XA CN110445765B (zh) | 2019-07-12 | 2019-07-12 | 基于区块链的数据共享方法、终端设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910630817.XA CN110445765B (zh) | 2019-07-12 | 2019-07-12 | 基于区块链的数据共享方法、终端设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110445765A CN110445765A (zh) | 2019-11-12 |
CN110445765B true CN110445765B (zh) | 2023-04-18 |
Family
ID=68430375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910630817.XA Active CN110445765B (zh) | 2019-07-12 | 2019-07-12 | 基于区块链的数据共享方法、终端设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110445765B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826103B (zh) * | 2019-11-13 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 基于区块链的文档权限处理方法、装置、设备及存储介质 |
CN112764828B (zh) * | 2021-01-06 | 2023-05-16 | 重庆百瓶科技有限公司 | 业务逻辑管理方法及装置、计算机设备和介质 |
CN112965974A (zh) * | 2021-02-10 | 2021-06-15 | 中国工商银行股份有限公司 | 基于区块链的数据共享方法、节点、终端及系统 |
CN113076038B (zh) * | 2021-03-22 | 2024-10-15 | 北京视游互动科技有限公司 | 一种基于亲子教育的智能数据交互方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241360A (zh) * | 2017-08-04 | 2017-10-10 | 北京明朝万达科技股份有限公司 | 一种数据安全共享交换方法和数据安全共享交换平台系统 |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
-
2019
- 2019-07-12 CN CN201910630817.XA patent/CN110445765B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241360A (zh) * | 2017-08-04 | 2017-10-10 | 北京明朝万达科技股份有限公司 | 一种数据安全共享交换方法和数据安全共享交换平台系统 |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110445765A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445765B (zh) | 基于区块链的数据共享方法、终端设备及介质 | |
CN110915166B (zh) | 区块链 | |
KR102467596B1 (ko) | 블록 체인 구현 방법 및 시스템 | |
Omar et al. | Identity management in IoT networks using blockchain and smart contracts | |
US11190525B2 (en) | Blockchain system and permission management method thereof | |
Michalas | The lord of the shares: Combining attribute-based encryption and searchable encryption for flexible data sharing | |
US20190245697A1 (en) | Securing blockchain access through a gateway | |
CN112005264A (zh) | 实施跨链事务的区块链 | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
KR102152360B1 (ko) | IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법 | |
CN110598434B (zh) | 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质 | |
CN104506487B (zh) | 云环境下隐私策略的可信执行方法 | |
JP2022529689A (ja) | ブロックチェーンを用いたバージョン履歴管理 | |
EP3598333B1 (en) | Electronic device update management | |
CN112527912A (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN114629713B (zh) | 身份验证方法、装置及系统 | |
EP3817320A1 (en) | Blockchain-based system for issuing and validating certificates | |
CN113259384B (zh) | 基于区块链的机理模型调用信息处理方法、服务器及系统 | |
CN113542405A (zh) | 基于区块链的网络通信系统、方法、设备及存储介质 | |
CN111147235B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database | |
CN114567678A (zh) | 一种云安全服务的资源调用方法、装置及电子设备 | |
CN117035740B (zh) | 桥梁结构检测监测与维修数据溯源系统的构建方法 | |
US11928689B2 (en) | Deleting transactions from a distributed ledger |
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 |