CN110011959B - 数据存储方法、数据查询方法和系统 - Google Patents
数据存储方法、数据查询方法和系统 Download PDFInfo
- Publication number
- CN110011959B CN110011959B CN201910012741.4A CN201910012741A CN110011959B CN 110011959 B CN110011959 B CN 110011959B CN 201910012741 A CN201910012741 A CN 201910012741A CN 110011959 B CN110011959 B CN 110011959B
- Authority
- CN
- China
- Prior art keywords
- batch
- intelligent contract
- control terminal
- data
- key
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013500 data storage Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 41
- 238000004519 manufacturing process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 9
- 230000009191 jumping Effects 0.000 description 5
- 150000003839 salts Chemical class 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002354 daily effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/1097—Protocols 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种数据存储方法、数据查询方法和系统,数据存储方法包括:记录终端确定批次数据所对应的批次智能合约地址;记录终端将携带有批次智能合约地址的存储请求发送至第一控制终端;存储请求用于指示第一控制终端获取批次智能合约地址对应的批次密钥;记录终端接收第一控制终端返回的批次密钥,并按照批次密钥对批次数据进行加密;记录终端确定批次智能合约地址所指向的部署于区块链中的批次智能合约;记录终端将加密后的批次数据写入批次智能合约中。采用本申请的方案,实现了数据共享的同时,安全性高。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据存储方法、数据查询方法和系统。
背景技术
随着生产业的发展,出现了越来越多的工厂,每个工厂每天都会有大量的生产数据产生。为了对生产数据进行管理,每个工厂都会对每天的生产数据进行存储,以便于可以随时查看生产数据。传统的生产数据存储方法主要采用本地化的方式,将生产数据存储至工厂内部电脑,并上传至本地数据库。然而,利用传统的生产数据存储方法所存储的生产数据都是存储在本地,其他终端难以快速访问想要查看的生产数据。
随着计算机技术的发展,许多工厂将存储在内部电脑的生产数据统一上传至服务器,其它终端可以通过互联网从服务器快速获取想要查看的生产数据。但是,利用该方法所存储的生产数据可能被服务器维护人员篡改,安全性低。
发明内容
基于此,有必要针对上述问题,提供一种安全性高的数据存储方法、数据查询方法和系统。
一种数据存储方法,该方法包括:
记录终端确定批次数据所对应的批次智能合约地址;
记录终端将携带有批次智能合约地址的存储请求发送至第一控制终端;存储请求用于指示第一控制终端获取批次智能合约地址对应的批次密钥;
记录终端接收第一控制终端返回的批次密钥,并按照批次密钥对批次数据进行加密;
记录终端确定批次智能合约地址所指向的部署于区块链中的批次智能合约;
记录终端将加密后的批次数据写入批次智能合约中。
在其中一个实施例中,第一控制终端获取批次智能合约地址对应的批次密钥的步骤包括:
第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;
第一控制终端从解密后的记录中,查找包括批次智能合约地址的目标记录;
第一控制终端从目标记录中,获取与批次智能合约地址对应的批次密钥。
在其中一个实施例中,记录终端确定批次数据所对应的批次智能合约地址之前,该方法还包括:
第一控制终端确定部署于区块链中的批次智能合约的批次智能合约地址;
第一控制终端按照独立密钥将批次智能合约地址和对应的批次密钥进行加密;
第一控制终端将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
在其中一个实施例中,该方法还包括:
第一控制终端所属服务器的查询终端获取令牌和服务器地址;
查询终端向服务器地址所指向的服务器的第二控制终端发送带有令牌的分享请求;
查询终端接收第二控制终端响应于分享请求所反馈的令牌对应的批次智能合约地址和批次密钥;
查询终端将令牌对应的批次智能合约地址和批次密钥发送至第一控制终端进行存储。
在其中一个实施例中,该方法还包括:
第一控制终端所属服务器的查询终端根据选中的批次确定批次对应的批次智能合约地址;
查询终端生成携带有确定的批次智能合约地址的查询请求;
查询终端将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据;
查询终端接收第一控制终端反馈的批次的批次数据并显示。
在其中一个实施例中,第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据的步骤包括:
第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;
第一控制终端从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;
第一控制终端从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;
第一控制终端按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
一种数据存储系统,该系统包括记录终端、服务器和第一控制终端,
记录终端用于确定批次数据所对应的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端;
第一控制终端用于从服务器获取批次智能合约地址对应的批次密钥;
记录终端还用于接收第一控制终端返回的批次密钥,并按照批次密钥对批次数据进行加密;确定批次智能合约地址所指向的部署于区块链中的批次智能合约;将加密后的批次数据写入批次智能合约中。
上述数据存储方法和系统,记录终端确定待存储的批次数据的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端,接收第一控制终端返回的批次智能合约地址对应的批次密钥,利用批次密钥对待存储的批次数据进行加密,并将加密后的批次数据存储至部署于区块链中的批次智能合约中。采用本申请的方案,将加密后的批次数据存储在部署于区块链中的批次智能合约中,实现了数据共享的同时,安全性高。
一种数据查询方法,该方法包括:
第一控制终端所属服务器的查询终端根据选中的批次确定批次对应的批次智能合约地址;
查询终端生成携带有确定的批次智能合约地址的查询请求;
查询终端将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据;
查询终端接收第一控制终端反馈的批次的批次数据并显示。
在其中一个实施例中,第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据的步骤包括:
第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;
第一控制终端从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;
第一控制终端从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;
第一控制终端按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
一种数据查询系统,该系统包括查询终端、服务器和第一控制终端,
查询终端用于根据选中的批次确定批次对应的批次智能合约地址,生成携带有批次对应的批次智能合约地址的查询请求;将查询请求发送至第一控制终端;
第一控制终端用于从服务器的根智能合约中获取与批次智能合约地址对应的批次密钥,按照批次密钥从部署于区块链中的批次智能合约中获取批次的批次数据;
查询终端还用于接收第一控制终端反馈的批次的批次数据并显示。
上述数据查询方法和系统,查询终端确定待查询的批次对应的批次智能合约地址,将携带有批次智能合约地址的查询请求发送至该查询终端所属服务器的控制终端,接收控制终端从部署于区块链中的批次智能合约中获取的批次数据。采用本申请的方案,在实现了数据共享且安全性高的同时,仍然可以根据批次智能合约地址快速地查询加密后的批次数据并显示,查询效率高。
附图说明
图1为一个实施例中数据存储方法和数据查询方法的应用环境图;
图2为一个实施例中数据存储方法的流程示意图;
图3为一个实施例中扫描界面的示意图;
图4为一个实施例中管理首页的示意图;
图5为一个实施例中批次管理界面的示意图;
图6为一个实施例中批次分享界面的示意图;
图7为一个实施例中数据查询方法的流程示意图;
图8为一个实施例中登录界面的示意图;
图9为一个实施例中批次选择界面的示意图;
图10为一个实施例中身份验证界面的示意图;
图11为一个实施例中用户管理界面的示意图;
图12为一个实施例中批次详情界面的示意图;
图13为一个实施例中数据存储系统的示意图;
图14为一个实施例中数据查询系统的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解的是,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请提供的数据存储方法和数据查询方法,可以应用于如图1所示的应用环境中。其中,记录终端101、第一控制终端102通过网络与自身所属的服务器103进行通信。第二控制终端104通过网络与自身所属的服务器105进行通信,查询终端106通过网络分别与第一控制终端102和第二控制终端104进行通信。
其中,记录终端101、第一控制终端102、第二控制终端104和查询终端106可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器103和服务器105都可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器103和服务器105可以为云服务器。
可以理解的是,记录终端101、第一控制终端102和查询终端106可以是一体的终端,也可以是分别独立的终端。当然,记录终端101和查询终端106均可以被部署在服务器103上的应用程序直接替代。该应用程序控制不同的端口,利用服务器103本身的资源完成记录终端101和查询终端106的各项工作。该应用程序和自身控制的端口之间通过网络进行交互。
具体地,记录终端101确定批次数据所对应的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端102,该存储请求用于指示第一控制终端102获取批次智能合约地址对应的批次密钥。记录终端101接收第一控制终端102返回的批次密钥,并按照该批次密钥对该批次数据进行加密。记录终端101确定批次智能合约地址所指向的部署于区块链中的批次智能合约,将加密后的批次数据写入批次智能合约中。
第一控制终端102所属服务器103的查询终端106获取令牌和服务器地址,向该服务器地址所指向的服务器105的第二控制终端104发送带有令牌的分享请求。查询终端106接收第二控制终端104响应于分享请求所反馈的令牌对应的批次智能合约地址和批次密钥,将令牌对应的批次智能合约地址和批次密钥发送至第一控制终端102。可以理解的是,若令牌携带的服务器地址为一个,则对应的服务器105和第二控制终端104也为一个,若令牌携带的服务器地址为多个,则对应的服务器105和第二控制终端104也为多个。
查询终端106根据选中的批次确定该批次对应的批次智能合约地址,生成携带有该批次对应的批次智能合约地址的查询请求,将查询请求发送至查询终端106所属服务器105的第一控制终端102,查询请求用于指示第一控制终端102根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取该批次的批次数据。查询终端106接收第一控制终端102反馈的该批次的批次数据并显示。
在一个实施例中,如图2所示,提供了一种数据存储方法,该方法包括以下步骤:
步骤S202,记录终端确定批次数据所对应的批次智能合约地址。
其中,批次数据指将数据分成批后,每一批的数据。智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。批次智能合约指每一批次数据所属批次对应的智能合约。批次智能合约地址指每一批次数据所属批次对应的智能合约的地址。
具体地,记录终端接收各个记录仪器上传的数据,记录仪器上传的数据比如工厂的工业生产数据。记录终端可以先将接收到的数据暂存至记录终端所属服务器的数据库中。记录终端可以随机、实时、按照记录仪器的编号或者按照预设存储条件触发存储指令。预设存储条件比如预设时间间隔、预设周期或预设优先级等等。
记录终端根据存储指令确定数据库中暂存的需要进行存储的数据所属的批次,按照确定的批次将需要进行存储的数据分成批,得到至少一个待存储的批次数据。每一个批次数据所属的批次都有对应的批次智能合约地址,记录终端确定得到的每个批次数据所属批次对应的批次智能合约地址。批次智能合约地址所指向的批次智能合约用于存储对应的批次数据。
步骤S204,记录终端将携带有批次智能合约地址的存储请求发送至第一控制终端;存储请求用于指示第一控制终端获取批次智能合约地址对应的批次密钥。
其中,密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。本实施例中的批次密钥指每一批次数据所对应的密钥,用于对批次数据进行加密。是在批次数据转换为密文或将密文转换为明文的算法中输入的参数。
具体地,记录终端根据确定的批次智能合约地址生成携带有批次智能合约地址的存储请求,并将生成的存储请求发送至第一控制终端。该存储请求用于指示第一控制终端从自身所属服务器的根智能合约中,获取与批次智能合约地址对应的批次密钥。
步骤S206,记录终端接收第一控制终端返回的批次密钥,并按照批次密钥对批次数据进行加密。
具体地,记录终端接收第一控制终端返回的明文的批次密钥,确定接收的批次密钥所对应的加密方式,按照确定的加密方式对对应的待存储的批次数据进行加密。进一步地,加密方式可以为对称加密方式,对称加密方式指加密和解密使用同一个密钥的加密方式。当然,加密方式也可以为非对称加密方式。
在一个实施例中,当确定的加密方式为对称加密方式时,该对称加密方式可以是AES对称加密方式,AES是Advanced Encryption Standard的缩写,中文为“高级加密标准”,该高级加密标准的基本要求是采用对称分组密码体制,密钥的长度最少支持为128、192或256位,分组长度为128位。AES对称加密方式指的就是基于高级加密标准对数据进行对称加密的加密方式。进一步地,该AES对称加密方式可以是密钥的长度为256位的AES对称加密方式。
步骤S208,记录终端确定批次智能合约地址所指向的部署于区块链中的批次智能合约。
具体地,每一个记录终端所属的服务器都作为区块链的一个区块链节点,第一控制终端预先根据区块链账号将批次智能合约部署于该区块链中。记录终端可以按照确定的批次智能合约地址从区块链中查找到对应的批次智能合约。进一步地,区块链账号可以是第一控制终端采用用户给定的管理员密码所创建的区块链账号。
步骤S210,记录终端将加密后的批次数据写入批次智能合约中。
具体地,记录终端将加密后的各个批次数据写入各自对应的批次智能合约中。进一步地,记录终端将加密后的各个批次数据写入各自对应的批次智能合约中后,可以将记录终端所属服务器的数据库中暂存的、且已经写入至对应的批次智能合约的数据进行删除。
上述数据存储方法中,记录终端确定待存储的批次数据的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端,接收第一控制终端返回的批次智能合约地址对应的批次密钥,利用批次密钥对待存储的批次数据进行加密,并将加密后的批次数据存储至部署于区块链中的批次智能合约中。采用本申请的方案,将加密后的批次数据存储在部署于区块链中的批次智能合约中,实现了数据共享的同时,安全性高。
在一个实施例中,第一控制终端获取批次智能合约地址对应的批次密钥的步骤包括:第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;第一控制终端从解密后的记录中,查找包括批次智能合约地址的目标记录;第一控制终端从目标记录中,获取与批次智能合约地址对应的批次密钥。
其中,独立密钥指每个服务器独有的唯一的密钥,独立密钥用于对根智能合约中的所有记录进行加密和解密。根智能合约指每个服务器独有的唯一的智能合约。
具体地,第一控制终端从自身所属的服务器中获取预先根据区块链账号部署的根智能合约,并从自身所属的服务器中获取该根智能合约的独立密钥。第一控制终端按照该独立密钥对根智能合约进行解密,得到根智能合约中明文形式的所有记录,每个记录中包括一个批次智能合约地址和对应的批次密钥。第一控制终端通过遍历所有记录中的批次智能合约地址,确定包括了存储请求中携带的批次智能合约地址的目标记录。第一控制终端从确定的目标记录中,获取与存储请求中携带的批次智能合约地址对应的批次密钥。
本实施例中,第一控制终端需要获取批次密钥时,必须利用所属服务器的独立密钥对根智能合约中的所有记录进行解密,才能获取与批次智能合约地址对应的批次密钥,安全性高。
在一个实施例中,记录终端确定批次数据所对应的批次智能合约地址之前,该数据存储方法还包括:第一控制终端确定部署于区块链中的批次智能合约的批次智能合约地址;第一控制终端按照独立密钥将批次智能合约地址和对应的批次密钥作进行加密;第一控制终端将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
具体地,第一控制终端所属的服务器上存储有第一控制终端预先根据区块链账号部署的根智能合约,以及第一控制终端预先随机生成的该根智能合约的独立密钥。第一控制终端根据区块链账号将批次智能合约部署于区块链中,并记录每个批次智能合约的批次智能合约地址。第一控制终端随机生成各个批次智能合约各自对应的批次密钥,该批次密钥用于记录终端将数据库中待存储的批次数据存储至批次智能合约中时,对批次数据进行加密。第一控制终端按照独立密钥分别对记录的各个批次智能合约地址和对应的批次密钥进行加密,并将加密后的每个批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
本实施例中,第一控制终端利用独立密钥对批次智能合约地址和对应的批次密钥进行加密,并将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中,安全性高。
在一个实施例中,第一控制终端确定部署于区块链中的批次智能合约的批次智能合约地址的步骤之前,该数据存储方法还包括:第一控制终端根据用户输入的管理员密码创建区块链账号;第一控制终端采用哈希算法对管理员密码进行加密,并将加密后的管理员密码存储于自身所属的服务器中。哈希(Hash)一般翻译作“散列”,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。本实施例中的哈希算法指的就是把输入的管理员密码通过散列算法变换成固定长度的输出。
进一步地,第一控制终端可以采用哈希加盐法对管理员密码进行加密。哈希加盐法指在输入的管理员密码中加入盐值(salt),并对加入盐值后的管理员密码进行哈希算法。盐值可以是随机生成的字符串。本实施例中,第一控制终端可以采用哈希算法对管理员密码进行加密,安全性高。
在一个实施例中,该数据存储方法还包括:第一控制终端所属服务器的查询终端获取令牌和服务器地址;查询终端向服务器地址所指向的服务器的第二控制终端发送带有令牌的分享请求;查询终端接收第二控制终端响应于分享请求所反馈的令牌对应的批次智能合约地址和批次密钥;查询终端将令牌对应的批次智能合约地址和批次密钥发送至第一控制终端。
其中,令牌是根据特定算法生成的一个不可预测的随机字符组合,字符指的是字母、数字或符号等。
具体地,第一控制终端所属服务器的查询终端可以通过扫描并解析扫描界面的图形码的方式获取令牌和服务器地址,扫描界面比如图3所示的扫描界面。当然,查询终端也可以通过其他方式直接获取令牌和服务器地址。第一控制终端所属服务器的查询终端生成携带有该令牌的分享请求,并将生成的分享请求发送至该服务器地址所指向的服务器的第二控制终端。
第二控制终端接收到携带有令牌的分享请求后,利用自身所属服务器的数据库中存储的令牌对分享请求中的令牌进行验证,得到验证结果。若验证结果为分享请求中的令牌未被使用过、且未过期,则第二控制终端从自身所属服务器的数据库中取出该令牌对应的批次智能合约地址和批次密钥,并将取出的批次智能合约地址和批次密钥反馈至发送该分享请求的查询终端。
第一控制终端所属服务器的查询终端接收第二控制终端所反馈的批次智能合约地址和批次密钥,将批次智能合约地址和批次密钥发送至第一控制终端。第一控制终端接收到该批次智能合约地址和批次密钥后,利用自身所属服务器中存储的独立密钥对该批次智能合约地址和批次密钥进行加密,并将加密后的批次智能合约地址和批次密钥存储于自身所属服务器的根智能合约中。
本实施例中,利用令牌对分享请求进行验证,在实现数据共享的同时,进一步提高了安全性。
在一个实施例中,第一控制终端所属服务器的查询终端获取令牌和服务器地址之前,该数据存储方法还包括:当第二控制终端在自身的管理首页检测到批次管理按钮被触发时,自动跳转至身份验证界面,管理首页如图4所示。当第二控制终端在身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证。验证通过后便跳转至批次管理按钮所对应的批次管理界面,如图5所示。
第二控制终端根据批次管理界面中选中的批次数据生成分享指令;该分享指令携带有选中的批次数据对应的批次智能合约地址。第二控制终端从自身所属的服务器中获取独立密钥,按照该独立密钥对自身所属服务器的根智能合约中的所有记录进行解密,从解密后的记录中确定包括了分享指令中携带的批次智能合约地址的目标记录。第二控制终端生成随机令牌,并将生成的令牌、目标记录中的批次智能合约地址和目标记录中的批次密钥存储至第二控制终端所属服务器的数据库中。第二控制终端将自身所属服务器的服务器地址和生成的令牌进行合并,得到专用于分享的唯一图形码,并将该唯一图形码显示至批次分享界面中,如图6所示。图形码比如二维码或条形码等。
本实施例中,第二控制终端将随机生成的令牌和自身所属服务器的服务器地址合并,生成专用于分享的唯一图形码,在实现数据共享的同时,进一步提高了安全性。
在一个实施例中,如图7所示,该数据存储方法还包括以下步骤:
步骤S702,第一控制终端所属服务器的查询终端根据选中的批次确定批次对应的批次智能合约地址。
具体地,第一控制终端所属服务器的查询终端可以显示有如图8所示的登录界面,查询终端根据该登录界面输入的用户账号和密码跳转至批次选择界面,该批次选择界面显示有该用户账号访问权限内的批次标识,如图9所示。查询终端按照在批次选择界面中检测到的选中操作选中对应的批次标识,并确定选中的批次标识对应批次所对应的批次智能合约地址。进一步地,该批次选择界面还可以显示有查询条件选项,查询终端根据选中的查询条件选项确定查询条件。查询条件选项比如时间范围和批次数据类型等等。
在一个实施例中,第一控制终端可以使用管理员账号登录如图4所示的管理首页。当第一控制终端检测到管理首页的任一管理按钮被触发时,自动跳转至身份验证界面。当第一控制终端在身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至被触发的管理按钮所对应的管理界面。进一步地,第一控制终端可以按照预设时长对身份验证界面输入的管理员密码进行暂存,以防他人操作。
例如管理首页被触发的管理按钮为如图4所示的用户管理按钮,则第一控制终端自动跳转至如图10所示的身份验证界面。当第一控制终端在该身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至用户管理按钮所对应的用户管理界面,如图11所示。
例如管理首页被触发的管理按钮为如图4所示的批次管理按钮,则第一控制终端自动跳转至身份验证界面。当第一控制终端在身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至批次管理按钮所对应的批次管理界面,如图5所示。
在一个实施例中,第一控制终端的管理员账号可以通过用户管理界面预先添加可以登陆批次选择界面的用户账号,并且可以预先设置各个用户账号的访问权限,访问权限比如A用户账号可以访问批次数据1、批次数据2和批次数据3,B用户账号可以访问批次数据2和批次数据3。在查询终端根据登录界面输入的用户账号和密码跳转至批次选择界面前,查询终端可以先从第一控制终端获取可以登陆批次选择界面的用户账号,若登录界面输入的用户账号属于可以登陆批次选择界面的用户账号,则根据登录界面输入的用户账号和密码跳转至批次选择界面。
步骤S704,查询终端生成携带有确定的批次智能合约地址的查询请求。
具体地,查询终端根据确定的批次智能合约地址,生成携带有该批次智能合约地址的查询请求。可以理解的是,当查询终端检测到根据选中的查询条件选项确定了查询条件时,查询终端应根据确定的批次智能合约地址和查询条件,生成携带有确定的批次智能合约地址和查询条件的查询请求。进一步地,该查询请求中还可以携带有登陆的用户账号的用户信息。
步骤S706,查询终端将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据。
具体地,查询终端将生成的查询请求发送至第一控制终端。由于第一控制终端已经预先将批次数据加密存储在了部署于区块链的批次智能合约中,因此该查询请求可以用于指示第一控制终端从自身所属服务器的根智能合约中,获取与查询请求所携带的批次智能合约地址对应的批次密钥,并根据该批次密钥从查询请求所携带的批次智能合约地址所指向的批次智能合约中,获取明文形式的批次数据,并反馈至查询终端。
可以理解的是,当第一控制终端检测到查询请求中携带有查询条件时,第一控制终端在将批次数据反馈至查询终端前,应按照该查询条件对明文形式的批次数据进行筛选,并将筛选后的批次数据反馈至查询终端。
步骤S708,查询终端接收第一控制终端反馈的批次的批次数据并显示。
查询终端接收第一控制终端响应于该查询请求所反馈的明文的批次数据,并将该批次数据显示至批次详情界面,如图12所示。可以理解的是,若查询终端选中的批次标识为多个,则第一控制终端所反馈的明文的批次数据也为多个。进一步地,当查询终端检测到第一控制终端所反馈的明文的批次数据为多个时,可以将显示界面划分为与批次数据数量相同的多个显示区域,将多个批次数据分别显示至划分的多个显示区域中。当然,当查询终端检测到第一控制终端所反馈的明文的批次数据为多个时,可以将反馈的多个批次数据轮流进行显示。
本实施例中,查询终端确定待查询的批次对应的批次智能合约地址,将携带有批次智能合约地址的查询请求发送至该查询终端所属服务器的控制终端,接收控制终端从部署于区块链中的批次智能合约中获取的批次数据。采用本申请的方案,在实现了数据共享且安全性高的同时,仍然可以根据批次智能合约地址快速地查询加密后的批次数据并显示,查询效率高。
在一个实施例中,第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据的步骤包括:第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;第一控制终端从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;第一控制终端从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;第一控制终端按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
具体地,第一控制终端对查询请求中的用户信息进行校验后,从自身所属的服务器中获取预先根据区块链账号部署的根智能合约,并从自身所属的服务器中获取该根智能合约的独立密钥。第一控制终端按照该独立密钥对根智能合约进行解密,得到根智能合约中明文形式的所有记录,每个记录中包括一个批次智能合约地址和对应的批次密钥。第一控制终端通过遍历所有记录中的批次智能合约地址,确定包括了查询请求中携带的批次智能合约地址的目标记录。
第一控制终端从确定的目标记录中获取与查询请求中携带的批次智能合约地址对应的批次密钥。第一控制终端按照该批次密钥对该批次智能合约地址所指向的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
本实施例中,查询终端需要查询批次数据时,第一控制终端必须利用所属服务器的独立密钥对根智能合约中的所有记录进行解密,才能获取与批次智能合约地址对应的批次密钥,并按照该批次密钥对批次智能合约地址所指向的批次智能合约中的批次数据进行解密,才能得到解密后的批次数据并反馈至查询终端,安全性高。
在一个实施例中,如图7所示,提供了一种数据查询方法,该方法包括以下步骤:
步骤S702,第一控制终端所属服务器的查询终端根据选中的批次确定批次对应的批次智能合约地址。
具体地,第一控制终端所属服务器的查询终端可以显示有如图8所示的登录界面,查询终端根据该登录界面输入的用户账号和密码跳转至批次选择界面,该批次选择界面显示有该用户账号访问权限内的批次标识,如图9所示。查询终端按照在批次选择界面中检测到的选中操作选中对应的批次标识,并确定选中的批次标识对应批次所对应的批次智能合约地址。进一步地,该批次选择界面还可以显示有查询条件选项,查询终端根据选中的查询条件选项确定查询条件。查询条件选项比如时间范围和批次数据类型等等。
在一个实施例中,第一控制终端可以使用管理员账号登录如图4所示的管理首页。当第一控制终端检测到管理首页的任一管理按钮被触发时,自动跳转至身份验证界面。当第一控制终端在身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至被触发的管理按钮所对应的管理界面。进一步地,第一控制终端可以按照预设时长对身份验证界面输入的管理员密码进行暂存,以防他人操作。
例如管理首页被触发的管理按钮为如图4所示的用户管理按钮,则第一控制终端自动跳转至如图10所示的身份验证界面。当第一控制终端在该身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至用户管理按钮所对应的用户管理界面,如图11所示。
例如管理首页被触发的管理按钮为如图4所示的批次管理按钮,则第一控制终端自动跳转至身份验证界面。当第一控制终端在身份验证界面检测到输入的管理员密码时,对该管理员密码进行验证,验证通过后便跳转至批次管理按钮所对应的批次管理界面,如图5所示。
在一个实施例中,第一控制终端的管理员账号可以通过用户管理界面预先添加可以登陆批次选择界面的用户账号,并且可以预先设置各个用户账号的访问权限,访问权限比如A用户账号可以访问批次数据1、批次数据2和批次数据3,B用户账号可以访问批次数据2和批次数据3。在查询终端根据登录界面输入的用户账号和密码跳转至批次选择界面前,查询终端可以先从第一控制终端获取可以登陆批次选择界面的用户账号,若登录界面输入的用户账号属于可以登陆批次选择界面的用户账号,则根据登录界面输入的用户账号和密码跳转至批次选择界面。
步骤S704,查询终端生成携带有确定的批次智能合约地址的查询请求。
具体地,查询终端根据确定的批次智能合约地址,生成携带有该批次智能合约地址的查询请求。可以理解的是,当查询终端检测到根据选中的查询条件选项确定了查询条件时,查询终端应根据确定的批次智能合约地址和查询条件,生成携带有确定的批次智能合约地址和查询条件的查询请求。进一步地,该查询请求中还可以携带有登陆的用户账号的用户信息。
步骤S706,查询终端将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据。
具体地,查询终端将生成的查询请求发送至第一控制终端。由于第一控制终端已经预先将批次数据加密存储在了部署于区块链的批次智能合约中,因此该查询请求可以用于指示第一控制终端从自身所属服务器的根智能合约中,获取与查询请求所携带的批次智能合约地址对应的批次密钥,并根据该批次密钥从查询请求所携带的批次智能合约地址所指向的批次智能合约中,获取明文形式的批次数据,并反馈至查询终端。
可以理解的是,当第一控制终端检测到查询请求中携带有查询条件时,第一控制终端在将批次数据反馈至查询终端前,应按照该查询条件对明文形式的批次数据进行筛选,并将筛选后的批次数据反馈至查询终端。
步骤S708,查询终端接收第一控制终端反馈的批次的批次数据并显示。
查询终端接收第一控制终端响应于该查询请求所反馈的明文的批次数据,并将该批次数据显示至批次详情界面,如图12所示。可以理解的是,若查询终端选中的批次标识为多个,则第一控制终端所反馈的明文的批次数据也为多个。进一步地,当查询终端检测到第一控制终端所反馈的明文的批次数据为多个时,可以将显示界面划分为与批次数据数量相同的多个显示区域,将多个批次数据分别显示至划分的多个显示区域中。当然,当查询终端检测到第一控制终端所反馈的明文的批次数据为多个时,可以将反馈的多个批次数据轮流进行显示。
本实施例中,查询终端确定待查询的批次对应的批次智能合约地址,将携带有批次智能合约地址的查询请求发送至该查询终端所属服务器的控制终端,接收控制终端从部署于区块链中的批次智能合约中获取的批次数据。采用本申请的方案,在实现了数据共享且安全性高的同时,仍然可以根据批次智能合约地址快速地查询加密后的批次数据并显示,查询效率高。
在一个实施例中,第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据的步骤包括:第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;第一控制终端从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;第一控制终端从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;第一控制终端按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
具体地,第一控制终端对查询请求中的用户信息进行校验后,从自身所属的服务器中获取预先根据区块链账号部署的根智能合约,并从自身所属的服务器中获取该根智能合约的独立密钥。第一控制终端按照该独立密钥对根智能合约进行解密,得到根智能合约中明文形式的所有记录,每个记录中包括一个批次智能合约地址和对应的批次密钥。第一控制终端通过遍历所有记录中的批次智能合约地址,确定包括了查询请求中携带的批次智能合约地址的目标记录。
第一控制终端从确定的目标记录中获取与查询请求中携带的批次智能合约地址对应的批次密钥。第一控制终端按照该批次密钥对该批次智能合约地址所指向的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
本实施例中,查询终端需要查询批次数据时,第一控制终端必须利用所属服务器的独立密钥对根智能合约中的所有记录进行解密,才能获取与批次智能合约地址对应的批次密钥,并按照该批次密钥对批次智能合约地址所指向的批次智能合约中的批次数据进行解密,才能得到解密后的批次数据并反馈至查询终端,安全性高。
应该理解的是,虽然图2和7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图13所示,提供了一种数据存储系统,该系统包括记录终端1301、服务器1302和第一控制终端1303,其中:
记录终端1301,用于确定批次数据所对应的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端1303。
第一控制终端1303,用于从服务器1302获取批次智能合约地址对应的批次密钥。
记录终端1301,还用于接收第一控制终端返回的批次密钥,并按照批次密钥对批次数据进行加密;确定批次智能合约地址所指向的部署于区块链中的批次智能合约;将加密后的批次数据写入批次智能合约中。
在一个实施例中,第一控制终端还用于按照独立密钥对根智能合约中的所有记录进行解密;从解密后的记录中,查找包括批次智能合约地址的目标记录;从目标记录中,获取与批次智能合约地址对应的批次密钥。
在一个实施例中,第一控制终端还用于确定部署于区块链中的批次智能合约的批次智能合约地址;按照独立密钥将批次智能合约地址和对应的批次密钥进行加密;将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
在一个实施例中,该数据存储系统还包括查询终端,查询终端用于获取令牌和服务器地址;向服务器地址所指向的服务器的第二控制终端发送带有令牌的分享请求;接收第二控制终端响应于分享请求所反馈的令牌对应的批次智能合约地址和批次密钥;将令牌对应的批次智能合约地址和批次密钥发送至第一控制终端进行存储。
在一个实施例中,查询终端还用于根据选中的批次确定批次对应的批次智能合约地址;生成携带有确定的批次智能合约地址的查询请求;将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据;查询终端还用于接收第一控制终端反馈的批次的批次数据并显示。
在一个实施例中,第一控制终端还用于按照独立密钥对根智能合约中的所有记录进行解密;从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
在一个实施例中,如图14所示,提供了一种数据查询系统,该系统包括查询终端1401、服务器1402和第一控制终端1403,其中:
查询终端1401,用于根据选中的批次确定批次对应的批次智能合约地址,生成携带有批次对应的批次智能合约地址的查询请求;将查询请求发送至第一控制终端1403。
第一控制终端1403,用于从服务器1402的根智能合约中获取与批次智能合约地址对应的批次密钥,按照批次密钥从部署于区块链中的批次智能合约中获取批次的批次数据;
查询终端1401,还用于接收第一控制终端1403反馈的批次的批次数据并显示。
在一个实施例中,第一控制终端还用于按照独立密钥对根智能合约中的所有记录进行解密;从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
关于数据存储系统和数据查询系统的具体限定可以参见上文中对于数据存储方法和数据查询方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (13)
1.一种数据存储方法,所述方法包括:
记录终端确定批次数据所对应的批次智能合约地址;所述批次数据,是将数据分成批后得到的每一批的数据;所述批次智能合约地址指每一批次数据所属批次对应的智能合约的地址;
所述记录终端将携带有所述批次智能合约地址的存储请求发送至第一控制终端;所述存储请求用于指示所述第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;所述第一控制终端从解密后的记录中,查找包括所述批次智能合约地址的目标记录;所述第一控制终端从所述目标记录中,获取与所述批次智能合约地址对应的批次密钥;其中,所述独立密钥指每个服务器独有的唯一的密钥,所述独立密钥用于对根智能合约中的所有记录进行加密和解密,所述根智能合约指每个服务器独有的唯一的智能合约;
所述记录终端接收所述第一控制终端返回的所述批次密钥,并按照所述批次密钥对所述批次数据进行加密;
所述记录终端确定所述批次智能合约地址所指向的部署于区块链中的批次智能合约;
所述记录终端将加密后的所述批次数据写入所述批次智能合约中。
2.根据权利要求1所述的方法,其特征在于,所述记录终端确定批次数据所对应的批次智能合约地址之前,所述方法还包括:
所述第一控制终端确定部署于区块链中的批次智能合约的批次智能合约地址;
所述第一控制终端按照独立密钥将所述批次智能合约地址和对应的批次密钥进行加密;
所述第一控制终端将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一控制终端所属服务器的查询终端获取令牌和服务器地址;
所述查询终端向所述服务器地址所指向的服务器的第二控制终端发送带有所述令牌的分享请求;
所述查询终端接收第二控制终端响应于所述分享请求所反馈的所述令牌对应的批次智能合约地址和批次密钥;
所述查询终端将所述令牌对应的批次智能合约地址和批次密钥发送至所述第一控制终端进行存储。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一控制终端所属服务器的查询终端根据选中的批次确定所述批次对应的批次智能合约地址;
所述查询终端生成携带有确定的批次智能合约地址的查询请求;
所述查询终端将所述查询请求发送至所述第一控制终端;所述查询请求用于指示所述第一控制终端根据所述批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取所述批次的批次数据;
所述查询终端接收所述第一控制终端反馈的所述批次的批次数据并显示。
5.根据权利要求4所述的方法,其特征在于,所述第一控制终端根据所述批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取所述批次的批次数据的步骤包括:
所述第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;
所述第一控制终端从解密后的记录中,查找包括所述批次对应的批次智能合约地址的目标记录;
所述第一控制终端从所述目标记录中,获取与所述批次对应的批次智能合约地址对应的批次密钥;
所述第一控制终端按照所述批次密钥,对所述批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
6.一种数据查询方法,所述方法包括:
第一控制终端所属服务器的查询终端根据选中的批次确定所述批次对应的批次智能合约地址;
所述查询终端生成携带有确定的批次智能合约地址的查询请求;
所述查询终端将所述查询请求发送至所述第一控制终端;所述查询请求用于指示所述第一控制终端按照独立密钥对根智能合约中的所有记录进行解密;所述第一控制终端从解密后的记录中,查找包括所述批次智能合约地址的目标记录;所述第一控制终端从所述目标记录中,获取与所述批次智能合约地址对应的批次密钥;按照所述批次密钥,对所述批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据;其中,所述独立密钥指每个服务器独有的唯一的密钥,所述独立密钥用于对根智能合约中的所有记录进行加密和解密,所述根智能合约指每个服务器独有的唯一的智能合约;
所述查询终端接收所述第一控制终端反馈的所述批次的批次数据并显示。
7.一种数据存储系统,所述系统包括记录终端、服务器和第一控制终端,
所述记录终端用于确定批次数据所对应的批次智能合约地址,将携带有批次智能合约地址的存储请求发送至第一控制终端;所述批次数据,是将数据分成批后得到的每一批的数据;所述批次智能合约地址指每一批次数据所属批次对应的智能合约的地址;
所述第一控制终端用于从所述服务器按照独立密钥对根智能合约中的所有记录进行解密;所述第一控制终端从解密后的记录中,查找包括所述批次智能合约地址的目标记录;所述第一控制终端从所述目标记录中,获取与所述批次智能合约地址对应的批次密钥;其中,所述独立密钥指每个服务器独有的唯一的密钥,所述独立密钥用于对根智能合约中的所有记录进行加密和解密,所述根智能合约指每个服务器独有的唯一的智能合约;
所述记录终端还用于接收所述第一控制终端返回的所述批次密钥,并按照所述批次密钥对所述批次数据进行加密;确定所述批次智能合约地址所指向的部署于区块链中的批次智能合约;将加密后的所述批次数据写入所述批次智能合约中。
8.根据权利要求7所述的系统,其特征在于,第一控制终端还用于确定部署于区块链中的批次智能合约的批次智能合约地址;按照独立密钥将批次智能合约地址和对应的批次密钥进行加密;将加密后的批次智能合约地址和对应的批次密钥作为一条记录写入根智能合约中。
9.根据权利要求7所述的系统,其特征在于,所述数据存储系统还包括查询终端,用于获取令牌和服务器地址;向服务器地址所指向的服务器的第二控制终端发送带有令牌的分享请求;接收第二控制终端响应于分享请求所反馈的令牌对应的批次智能合约地址和批次密钥;将令牌对应的批次智能合约地址和批次密钥发送至第一控制终端进行存储。
10.根据权利要求9所述的系统,其特征在于,所述查询终端还用于根据选中的批次确定批次对应的批次智能合约地址;生成携带有确定的批次智能合约地址的查询请求;将查询请求发送至第一控制终端;查询请求用于指示第一控制终端根据批次对应的批次智能合约地址,从部署于区块链中的批次智能合约中获取批次的批次数据;查询终端还用于接收第一控制终端反馈的批次的批次数据并显示。
11.根据权利要求7所述的系统,其特征在于,所述第一控制终端还用于按照独立密钥对根智能合约中的所有记录进行解密;从解密后的记录中,查找包括批次对应的批次智能合约地址的目标记录;从目标记录中,获取与批次对应的批次智能合约地址对应的批次密钥;按照批次密钥,对批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据。
12.一种数据查询系统,所述系统包括查询终端、服务器和第一控制终端,
所述查询终端用于根据选中的批次确定所述批次对应的批次智能合约地址,生成携带有所述批次对应的批次智能合约地址的查询请求;将所述查询请求发送至所述第一控制终端;
所述第一控制终端用于按照独立密钥对根智能合约中的所有记录进行解密;所述第一控制终端从解密后的记录中,查找包括所述批次智能合约地址的目标记录;所述第一控制终端从所述目标记录中,获取与所述批次智能合约地址对应的批次密钥;按照所述批次密钥,对所述批次对应的批次智能合约地址所指向的部署于区块链中的批次智能合约中的批次数据进行解密,得到解密后的批次数据;其中,所述独立密钥指每个服务器独有的唯一的密钥,所述独立密钥用于对根智能合约中的所有记录进行加密和解密,所述根智能合约指每个服务器独有的唯一的智能合约;
所述查询终端还用于接收所述第一控制终端反馈的所述批次的批次数据并显示。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012741.4A CN110011959B (zh) | 2019-01-07 | 2019-01-07 | 数据存储方法、数据查询方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012741.4A CN110011959B (zh) | 2019-01-07 | 2019-01-07 | 数据存储方法、数据查询方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110011959A CN110011959A (zh) | 2019-07-12 |
CN110011959B true CN110011959B (zh) | 2021-09-10 |
Family
ID=67165352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910012741.4A Active CN110011959B (zh) | 2019-01-07 | 2019-01-07 | 数据存储方法、数据查询方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110011959B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569670B (zh) * | 2019-09-17 | 2021-11-19 | 上海保险交易所股份有限公司 | 基于区块链的企业年金的加密和设计方法 |
WO2021184264A1 (zh) * | 2020-03-18 | 2021-09-23 | 华为技术有限公司 | 数据保存方法、数据访问方法及相关装置、设备 |
CN111767560A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 一种多数据源的聚合查询方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348838B (zh) * | 2014-11-18 | 2017-08-25 | 深圳市大成天下信息技术有限公司 | 一种文档管理系统和方法 |
CN106991334B (zh) * | 2016-11-24 | 2021-03-02 | 创新先进技术有限公司 | 一种数据存取的方法、系统及装置 |
GB201709760D0 (en) * | 2017-06-19 | 2017-08-02 | Nchain Holdings Ltd | Computer-Implemented system and method |
CN108734017B (zh) * | 2018-05-20 | 2020-11-13 | 深圳市图灵奇点智能科技有限公司 | 驾驶数据共享方法和装置、系统和计算机存储介质 |
-
2019
- 2019-01-07 CN CN201910012741.4A patent/CN110011959B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110011959A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493261B (zh) | 基于区块链的验证码获取方法、客户端、服务器及存储介质 | |
US10536272B2 (en) | Encryption system with double key wrapping | |
CN110365670B (zh) | 黑名单共享方法、装置、计算机设备和存储介质 | |
CN111935080B (zh) | 区块链的数据共享方法、装置、计算机设备和存储介质 | |
CN110011959B (zh) | 数据存储方法、数据查询方法和系统 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN110768784B (zh) | 密码传输方法、装置、计算机设备和存储介质 | |
CN110727949B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
US11606202B2 (en) | Methods and systems for secure data transmission | |
CN109768979B (zh) | 数据加密传输方法、装置、计算机设备和存储介质 | |
US20080155669A1 (en) | Multiple account authentication | |
CN111144531B (zh) | 二维码生成方法和装置、电子设备、计算机可读存储介质 | |
KR20110139798A (ko) | 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법 | |
US20100011221A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
US20220209945A1 (en) | Method and device for storing encrypted data | |
CN112822255A (zh) | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 | |
CN115422570B (zh) | 一种分布式存储的数据处理方法及系统 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
US11128455B2 (en) | Data encryption method and system using device authentication key | |
CN109347923A (zh) | 基于非对称密钥池的抗量子计算云存储方法和系统 | |
CN111666558A (zh) | 密钥轮换方法、装置、计算机设备及存储介质 | |
US20170200020A1 (en) | Data management system, program recording medium, communication terminal, and data management server | |
CN109871698B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115694921B (zh) | 一种数据存储方法、设备及介质 | |
CN116366289A (zh) | 无人机遥感数据的安全监管方法及装置 |
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 |