CN117633090A - 基于高性能区块链的数据交互方法、系统、终端及介质 - Google Patents
基于高性能区块链的数据交互方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN117633090A CN117633090A CN202410109231.XA CN202410109231A CN117633090A CN 117633090 A CN117633090 A CN 117633090A CN 202410109231 A CN202410109231 A CN 202410109231A CN 117633090 A CN117633090 A CN 117633090A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- data
- key
- contract
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000003993 interaction Effects 0.000 title claims abstract description 73
- 239000012634 fragment Substances 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 45
- 238000012795 verification Methods 0.000 claims description 22
- 238000013500 data storage Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 20
- 238000013507 mapping Methods 0.000 description 13
- 238000005192 partition Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241001178520 Stomatepia mongo Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于高性能区块链的数据交互方法、系统、终端及介质,方法包括:接收交易信息,并根据所述交易信息调用存证合约;根据所述存证合约以及键值对key‑value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key‑value数据中的值数据value,得到存证数据。本发明的数据交互方法应用于高性能区块链系统,该高性能区块链系统为采用分片区块链架构,方便进行存证、溯源和取证,处理存证合约请求的吞吐量也可以大大提升,便于存储和处理大量的数据。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于高性能区块链的数据交互方法、系统、终端及介质。
背景技术
在区块链应用于低空数据领域之前,低空数据的存储和查询主要使用的是传统的数据库技术和文件存储技术。例如,低空数据可以存储在关系型数据库、非关系型数据库(如MongoDB)或文件系统中,然后通过查询语句来检索和分析数据。此外,还可以使用基于索引的技术,如倒排索引和B树索引等,来加速数据查询。这些传统技术通常具有较高的可用性和可扩展性,但在数据安全性和不可篡改性方面存在一些限制。而传统的区块链技术的存储和查询方法在数据的安全性、可靠性、溯源性、共享性和传输效率等方面存在一些问题,在低空数据的存证、取证、溯源等交互方面均无法满足需求。
因此,现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于高性能区块链的数据交互方法、系统、终端及介质,旨在解决传统的区块链技术的存储和查询方法在数据的安全性、可靠性、溯源性、共享性和传输效率等方面存在的一些问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
第一方面,本发明提供一种基于高性能区块链的数据交互方法,其中,所述方法包括:
接收交易信息,并根据所述交易信息调用存证合约;
根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
在一种实现方式中,所述根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,包括:
基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
将所述哈希值转换成所述区块链地址。
在一种实现方式中,所述区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同。
在一种实现方式中,所述若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据,包括:
若所述区块链地址不属于当前分片,则生成跨片交易信息,其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value;
将所述跨片交易信息发送至所述区块链地址对应的目标分片上,并将键值对key-value数据中的值数据value存储至所述区块链地址对应的目标分片上的状态信息中,得到所述存证数据。
在一种实现方式中,所述方法,还包括:
获取所述存证合约的调用函数,并基于所述调用函数对存证数据进行读取。
在一种实现方式中,所述获取所述存证合约的调用函数,并基于所述调用函数对存证数据进行读取,包括:
基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
将所述哈希值转化为所述区块链地址;
发送跨片交易信息至所述区块链地址所在的分片上,并基于存证合约获取所述区块链地址的状态信息;
基于所述存证合约的调用函数,对所述状态信息中的存证数据进行读取。
在一种实现方式中,所述方法,还包括:
基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述区块链地址的状态信息中的所述存证数据,并将所述状态信息写入云数据库中。
在一种实现方式中,所述接收交易信息之前,还包括:
获取低空操作系统中的用户信息,并对所述用户信息进行注册,生成用户证书。
在一种实现方式中,所述接收交易信息,并根据所述交易信息调用存证合约,包括:
接收交易信息,并基于所述交易信息确定所述调用请求信息;
基于所述用户证书中的私钥对所述调用请求信息进行签名处理,得到签名信息;
将所述签名信息、所述用户证书中的验证码以及所述调用请求信息发送至区块链云服务,以调用所述存证合约。
在一种实现方式中,所述将所述签名信息、所述用户证书中的验证码以及所述调用请求信息发送至区块链云服务,以调用所述存证合约,包括:
在所述区块链云服务接收到所述调用请求信息后,对所述验证码进行验证,并在所述验证码为首次出现时,确定访问控制权限;
确定所述访问控制权限所对应的存证合约;
基于所述区块链云服务中预存的公钥,验证对所述调用请求信息进行签名处理的私钥;
若对所述调用请求信息进行签名处理的私钥验证成功,对所述访问控制权限所对应的存证合约进行调用。
第二方面,本发明实施例还提供一种基于高性能区块链的数据交互系统,所述数据交互系统包括:高性能区块链系统,其中,所述高性能区块链系统采用分片区块链架构;所述高性能区块链系统包括:
存证合约调用模块,用于接收交易信息,并根据所述交易信息调用存证合约;
数据存入模块,用于根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
在一种实现方式中,所述数据存入模块包括:
第一哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第一地址确定单元,用于基于所述哈希值,得到所述区块链地址。
在一种实现方式中,所述区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同。
在一种实现方式中,所述数据存入模块还包括:
跨片交易生成单元,用于若所述区块链地址不属于当前分片,则生成跨片交易信息,其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value;
值数据存储单元,用于将所述跨片交易信息发送至所述区块链地址对应的目标分片上,并将键值对key-value数据中的值数据value存储至所述区块链地址对应的目标分片上的状态信息中,得到所述存证数据。
在一种实现方式中,所述系统还包括:
存证数据读取模块,用于获取所述存证合约的调用函数,并基于所述调用函数对所述存证数据进行读取。
在一种实现方式中,所述存证数据获取模块,包括:
第二哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第二地址确定单元,用于将所述哈希值转化为所述区块链地址;
跨片交易发送单元,用于发送跨片交易信息至所述区块链地址所在的分片上,并基于存证合约获取所述区块链地址的状态信息;
数据读取单元,用于基于所述存证合约的调用函数,对所述状态信息中的存证数据进行读取。
在一种实现方式中,所述系统还包括:
查询调用模块,用于基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述区块链地址的状态信息中的所述存证数据,并将所述状态信息写入云数据库中。
在一种实现方式中,所述高性能区块链系统包括合约即服务系统,所述合约即服务系统用于将所述高性能区块链系统的功能封装成具备按需定制与扩展功能的存证合约服务;
所述合约即服务系统包括:用户端系统与云端系统,所述用户端系统用于调用存证合约,所述云端系统用于执行所述存证合约的交易信息,所述云端系统包括所述并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行,每一个所述存证合约可以部署在区块链节点的多个分片上。
在一种实现方式中,所述云端系统还包括:
访问控制部件,用于接收所述存证合约的访问进行控制;
区块链云服务,用于基于调用请求信息来调用所述存证合约;
云数据库,用于存储所述存证合约的交易信息所对应的状态信息,其中,所述区块链云服务与所述云数据库连接。
在一种实现方式中,所述访问控制部件包括:网络服务器以及网页接口;所述区块链云服务包括:
云端连接器,用于接收所述存证合约;
区块链索引服务,用于获取所述存证合约的交易信息所对应的状态信息,其中,所述区块链索引服务与所述云数据库连接。
在一种实现方式中,所述用户端系统包括:用户端连接器以及由所述云端系统生成的存证合约,其中,所述用户端连接器用于生成所述存证合约的交易信息,所述用户端连接器与所述云端系统中的区块链云服务连接。
第三方面,本发明实施例还提供一种终端,其中,所述终端包括存储器、处理器及存储在存储器中并可在处理器上运行的基于高性能区块链的数据交互程序,处理器执行基于高性能区块链的数据交互程序时,实现上述方案中任一项的基于高性能区块链的数据交互方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质上存储有基于高性能区块链的数据交互程序,所述基于高性能区块链的数据交互程序被处理器执行时,实现上述方案中任一项所述的基于高性能区块链的数据交互方法的步骤。
有益效果:与现有技术相比,本发明提供了一种基于高性能区块链的数据交互方法,本发明首先获取交易信息,并根据所述交易信息调用存证合约;在进行数据存入时,本发明根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。本发明在进行数据存证时利用了分片区块链的特,即不同分片之间具有发送和接收跨片交易信息的能力,以便实现存证数据的读取。此外,本发明的数据交互方法应用于高性能区块链系统,该高性能区块链系统为采用分片区块链架构,方便进行存证、溯源和取证,处理存证合约请求的吞吐量也可以大大提升,便于存储和处理大量的数据。
附图说明
图1为本发明实施例提供的基于高性能区块链的数据交互方法的较佳实施例的流程图。
图2为本发明实施例提供的基于高性能区块链的数据交互方法中链上存证流程图。
图3为本发明实施例提供的基于高性能区块链的数据交互方法中链上读取流程图。
图4为本发明实施例提供的基于高性能区块链的数据交互方法中链下查询流程图。
图5为本发明实施例提供的基于高性能区块链的数据交互系统的示意图。
图6为本发明实施例提供的基于高性能区块链的数据交互系统中的合约即服务系统的架构示意图。
图7为本发明实施例提供的终端的原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在区块链应用于低空数据领域之前,低空数据的存储和查询主要使用的是传统的数据库技术和文件存储技术,低空数据存储在关系型数据库、非关系型数据库(如MongoDB)或文件系统中的实现方式略有不同。下面是每种方式的简要说明:
关系型数据库:在关系型数据库中,低空数据通常以结构化数据的形式存储,可以通过表格的形式进行组织和存储。数据可以通过SQL查询语言进行查询和操作,从而实现数据的存储和查询。关系型数据库在数据一致性、事务处理等方面具有很强的优势,但在面对大量非结构化数据和高并发读写请求时可能存在性能瓶颈。
非关系型数据库(如MongoDB):非关系型数据库通常采用文档数据库或键值(key)对数据库的形式存储数据,其中文档数据库将数据存储为类似JSON格式的文档,而键值(key)对数据库将数据存储为键值对的形式。非关系型数据库通常具有高扩展性和高性能等优势,在面对大量非结构化数据和高并发读写请求时表现出色。
文件系统:低空数据也可以以文件的形式存储在文件系统中。例如,将数据存储为CSV或JSON文件,然后使用文件系统的API进行读写操作。文件系统在数据存储和查询方面非常灵活,但通常不适合处理大规模数据和高并发请求。
查询低空数据时,可以通过查询语句来检索和分析数据。这种方式通常使用关系型数据库或非关系型数据库(如MongoDB)来实现。查询语句可以使用SQL等查询语言来表达,数据库系统会解析和执行查询语句,返回符合查询条件的数据。
查询低空数据时,还可以使用基于索引的技术,如倒排索引和B树索引等来查询低空数据。这种方式通常使用搜索引擎或文件系统等系统来实现。索引是对数据的某些属性或特征建立的数据结构,可以快速定位符合查询条件的数据。倒排索引是一种常用的索引方式,它将文档中出现的单词或词组与文档的编号建立映射关系,然后按照单词或词组进行排序,可以快速定位包含特定单词或词组的文档。在低空数据查询中,可以将飞行器编号、地点、时间等信息建立索引,然后根据查询条件进行快速定位和检索。B树索引是一种平衡树结构,可以高效地支持范围查询和排序操作。在低空数据查询中,可以将飞行器编号、时间等信息建立B树索引,然后根据查询条件进行快速定位和检索。这些传统技术存在以下缺点:
(1)数据存储的中心化:传统的存储和查询方法通常使用中心化的架构,数据存储在单个或少数几个服务器上,容易成为攻击者的攻击目标。一旦中心服务器被攻击或宕机,数据将无法访问。
(2)数据安全性难以保证:传统的存储和查询方法的数据安全性主要依赖于网络和服务器的安全性,无法保证数据的真实性和不可篡改性。
(3)数据难以溯源:在传统的存储和查询方法中,数据往往是以文件或表的形式存储,数据之间的关系难以清晰地呈现。当需要对数据进行溯源时,往往需要手动查找数据,费时费力。
(4)数据共享难度大:在传统的存储和查询方法中,数据的共享需要考虑数据安全性和隐私性等问题,数据共享难度较大。
(5)数据传输效率低下:传统的存储和查询方法中,数据往往需要通过网络进行传输,传输效率受到网络带宽和数据量的限制,无法满足大规模数据传输的需求。
综上所述,传统的存储和查询方法在数据的安全性、可靠性、溯源性、共享性和传输效率等方面存在一些问题。
传统的区块链技术的存储量有限,在低空数据的存证、取证、溯源等交互方面均无法满足需求。传统区块链技术在低空数据的存证、取证、溯源方面存在以下缺点:
(1)低性能和高延迟:传统区块链技术的性能较低,每个区块的处理速度较慢,交易处理时间长,无法满足低空数据实时性的要求,尤其是在高并发的情况下,容易导致拥堵和延迟。
(2)存储容量限制:传统区块链技术的存储容量有限,每个区块的大小有限制,无法满足低空数据的存储需求,因为低空数据包括大量的实时数据和历史数据。
(3)隐私和安全问题:传统区块链技术采用的公开的、去中心化的设计方式,因此存储在区块链中的低空数据容易被攻击者获取,存在隐私和安全风险。
(4)管理和监管问题:传统区块链技术的去中心化设计使得监管和管理低空数据的难度增加,缺乏统一的管理和监管机制,因此容易导致数据泄露、滥用等问题。
(5)成本问题:传统区块链技术需要大量的计算、存储和网络资源,因此成本较高,难以满足低空数据的实时处理和存储需求。
传统区块链技术在低空数据的存证、取证、溯源方面存在一系列的缺点和挑战,因此需要引入高性能区块链技术来解决这些问题。
为此,本实施例提供一种基于高性能区块链的数据交互方法,本实施例的数据交互方法应用于低空操作系统中,所述低空操作系统为低空智能融合基础设施中所有数字化部分的集合的系统,是其数字化的底座,其重点在于智能、融合,包括飞行、管理、服务等方面的智能化,以及基础设施、管理方/运营方、飞行器等多层次的融合。该低空操作系统的身份创建与账号服务,着眼于建立一个对低空经济领域内的各类用户及设备的完整视图的身份管理服务系统,旨在将分散、不集中的各类身份及飞行器信息有效的整合和聚合,提升管理效率,降低用户接入的门槛。
用户的身份创建与账号服务的过程,是一个面向用户生命周期管理,按不同用户类型及业务熟悉,逐步完善信息和加强服务的过程,低空操作系统中的用户账号注册及认证过程,主要包含有四个核心节点:非合作用户、注册用户(合作用户)、认证用户、实体用户。
非合作用户:未在低空操作系统中进行过注册,且无法通过有效手段确认相关身份,或只能通过监控设备识别到部分身份、设备信息的用户,被定义为低空操作系统的非合作用户;
注册用户:通过简单的账号注册流程和提交简单的账号信息,完成低空操作系统账号注册,但尚未完成实名认证等身份或背景认证的用户,被定义为低空操作系统的注册用户;
认证用户:已注册用户,已提交身份信息、背景信息,并对已提交的身份信息进行过一定有效性校验,核以真实、有效、唯一确定的用户,被定义为低空操作系统的认证用户;
实体用户:已认证用户,在完成相关认证之后,并开通至少一项以上的低空操作系统的服务和能力接入,具备实际运营记录和运营业务的用户,被定义为低空操作系统的实体用。
为了实现“认证用户”与“实体用户”在低空操作系统中的数据完整、安全与可信,低空操作系统将通过高性能区块链系统,与部署在后台分布式服务器上的高性能区块链交互,实现这两类用户的所有业务和运营数据实时上链存证。低空操作系统对于非合作用户、注册用户、认证用户和实体用户等不同身份的账号管理,需要考虑到不同用户对于身份和账户隐私安全的保护和低空操作系统的运营商对与安全性和经济性的需求。高性能区块链系统的去中心化、不可篡改、安全性、透明度、高效性等技术特点,与低空操作系统结合后,能够在资源发现能力、标识符管理能力、证书管理能力、身份属性管理能力、身份模式管理能力、身份保证能力和客户操作能力等方面,提供重要的安全防护手段。
此外,为了方便各类用户便捷有效的完成低空操作系统的注册,低空操作系统设计并提供多种用户注册模式,主要包括有:
1)通过低空操作系统的所属的相关业务系统进行自助注册:在低空操作系统的自建用户系统中,主要以用户名+密码+有效联系方式的方式进行注册,将用户名+密码与手机号或邮箱结合;也可以直接通过手机号或邮箱进行快速注册;
2)通过低空操作系统信任的合作伙伴或互联网账号实现第三方授权注册:通过低空操作系统支持的第三方账号授权的方式,进行注册,并通过第三方账号授权获取用户账号信息(例如,openid(数字身份)、头像、昵称、地区、手机号等信息),简化用户注册步骤;
3)通过低空操作系统的合作机构或伙伴批量注册和分配生产相关的账号。
在一种实现方式中,本实施例的低空操作系统还可通过整合目前常见的账号,并结合多种安全认证手段,为用户提供安全可靠、多样化及便捷的登录服务。比如,按照用户注册形式的不同,登录方式可以分为:
1)通过低空操作系统的自建用户系统登录:通过注册使用的用户名、手机号、邮箱等方式,结合密码和二次身份验证等安全检查过程,进行登录;
2)通过第三方授权登录:用户采用已绑定的第三方账号进行授权登录,例如社交APP授权登录等方式,登录低空操作系统。
此外,针对已经完成注册的用户,因各种原因需要注销低空操作系统的账号,本实施例可针对各类注销申请设计相关系统及功能。由于低空操作系统涉及到相关无人机、资料图片、硬件接入等资源的分配管理,因此将注销流程分为两部分,分别为:账号基本信息的注销和账号资源的注销。
针对账号基本信息的注销,包括以下步骤:
a. 用户点击注销后,系统提醒客户确认注销是否正确;
b. 如果用户确认注销,系统将用户的账号基本信息(如用户名、密码等)加入到一个“待注销”名单中,在此名单中清除用户信息;
c. 系统每天定时检查“待注销”名单中的账号信息,如果账号超过指定的有效期,则执行注销操作,在注销操作中,系统将客户的账号基本信息视为废弃信息,并记录注销时间;
d. 如果用户取消注销,系统将用户的账号信息恢复成注册前的状态,以便重新使用。
针对账号资源的注销,包括一下步骤:
a. 系统将用户注册时分配的账号资源,如电子邮箱、SSH(Secure Shell,安全壳协议)公钥等全部抹去;
b. 如果用户提供了资源,如无人机信息、证件图片等,则要求用户进行资源收回;
c. 系统从账号资源库中删除客户的账号资源,如登录系统的用户名、密码等;
d. 系统将相关的权限擦除,如用户权限,硬件权限等。
具体应用时,本实施例的基于高性能区块链的数据交互方法可实现高性能区块链系统与低空操作系统之间的交互,并且,本实施例的高性能区块链系统采用了“合约即服务”的方式来实现,所有的功能都实现成了服务,比如用户管理服务,资产管理服务等,每个服务都提供对外可访问的HTTP接口,并且在客户端提供了Java和JS的SDk来调用这些HTTP服务。
本实施的数据交互方法可应用于终端中,所述终端可为电脑、电视等智能化产品终端。具体地,如图1所示,本实施例的基于高性能区块链的数据交互方法包括如下步骤:
步骤S100、接收交易信息,并根据所述交易信息调用存证合约。
在低空操作系统中用户可以是飞行器终端,也可以是低空操作系统其他子系统中的用户。本实施例的高性能区块链系统采用分片区块链架构;所述高性能区块链系统包括并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行,每一个所述存证合约可以部署在区块链节点的多个分片上。所述高性能区块链系统包括合约即服务系统,所述合约即服务系统用于将所述高性能区块链系统的功能封装成具备按需定制与扩展功能的存证合约服务;所述合约即服务系统包括:用户端系统与云端系统,所述用户端系统用于调用存证合约,所述云端系统用于执行所述存证合约的交易信息,所述云端系统包括所述并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行,每一个所述存证合约可以部署在区块链节点的多个分片上。所述云端系统还包括:访问控制部件、区块链云服务以及云数据库,所述访问控制部件用于接收所述存证合约的访问进行控制;所述区块链云服务用于基于调用请求信息来调用所述存证合约;所述云数据库用于存储所述存证合约的交易信息所对应的状态信息,其中,所述区块链云服务与所述云数据库连接。所述访问控制部件包括:网络服务器以及网页接口;所述区块链云服务包括:云端连接器以及区块链索引服务,所述云端连接器用于接收所述存证合约;所述区块链索引服务用于获取所述存证合约的交易信息所对应的状态信息,其中,所述区块链索引服务与所述云数据库连接。
本实施例可通过调用存证合约来对数据进行存储与调用。具体应用时,为了在高性能区块链系统中的合约即服务系统上部署存证合约,用户首先需要通过合约即服务系统中的网络服务器和网页接口进行用户注册,云端连接器需要帮助该用户生成用户证书。本实施例中的用户证书包括:公钥私钥对、由公钥导出的并行区块链引擎上的用户地址、以及给应用程序调用存证合约的验证码。用户证书生成以后可以返回给用户。在一种实现方式中,本实施例在生成用户证书时可采用证书托管模式,即合约即服务系统的云端系统存储有用户的私钥。同时,合约即服务系统也支持证书私有模式,即通过部署在用户机器上(飞行器终端或者低空操作系统其他模块所部署的服务器)的用户端系统生成并保留用户私钥。在私有模式下,用户给合约即服务系统的云端系统上载的用户证书包含的公钥,并定期更新上传验证码。
在用户完成注册,且生成用户证书后,即可调用合约即服务系统的云端系统部署的存证合约。用户的应用程序(飞行器终端或者低空操作系统其他模块)可提供存证合约的名称信息、存证合约的调用方法名称,以及需要调用的其他参数,生成交易信息。当合约即服务系统中的用户端连接器接收交易信息,并基于所述交易信息确定所述调用请求信息。用户端连接器所述用户证书中的私钥来对所述调用请求信息进行签名处理,得到签名信息。然后将所述签名信息、所述用户证书中的验证码以及所述调用请求信息发送至所述区块链云服务。
具体地,本实施例可根据所述调用请求信息进行验证,并调用存证合约。在本实施例中,区块链云服务接收到所述调用请求信息后,区块链云服务对所述验证码进行验证。如果所述验证码为首次出现,区块链云服务需要向云端系统的网络服务器请求对应的用户证书,并请求该用户证书所具有的访问控制权限。接着,区块链云服务在确定用户证书所对应的访问控制权限后,需要验证该用户证书能访问区块链上部署哪些应用和哪些存证合约,即确定所述访问控制权限所对应的存证合约。然后,区块链云服务对确定出的存证合约进行验证,也就是验证是否可以通过调用这些存证合约来访问区块链上的地址。具体地,本实施例可基于所述区块链云服务中预存的公钥,验证对所述调用请求信息进行签名处理的私钥。也就是说,本实施例利用区块链云服务的公钥来验证该调用请求信息是否由对应的私钥签出。若对所述调用请求信息进行签名处理的私钥验证成功,则对所述访问控制权限所对应的存证合约进行调用,并将调用的存证合约转发至云端连接器,以便由云端连接器将调用的存证合约广播发送到后台部署的所有区块链节点。
本实施例的云端连接器可将调用的存证合约广播发送到后台部署的所有区块链节点。接着,基于所述合约即服务系统中的用户端连接器生成部署所述存证合约的交易信息,并控制交易信息在并行区块链引擎上执行,交易本身及其执行结果被打包进入区块,最终链接到每一个区块链节点维护的链上。具体地,基于预设的第一映射规则,确定所述存证合约所对应的目标分片,其中,所述第一映射规则用于反映存证合约访问的地址与分片之间的对应关系,一个存证合约可以部署在区块链节点的多个分片上,且每一个分片按照预设的第二映射规则存储区块链数据,所述第二映射规则用于反映所述区块链数据的区块链地址与分片之间的对应关系。基于此,本实施例就可以确定存证合约所访问的地址所对应的所有的目标分片。
本实施例在对存证合约的交易信息进行执行时,可将该交易信息下发至目标分片上对应的区块链节点上执行。并且,当所述存证合约访问多个地址时,则在接收到跨分片执行语句时,触发高性能区块链系统的接力交易指令;根据所述接力交易指令将所述存证合约的交易信息的执行从一个目标分片切换至另一个目标分片。由此可见,在本实施例的高性能区块链系统中,每一个存证合约都可以部署在区块链节点的多个分片上,因此,在本实施例的高性能区块链系统中,任意一个存证合约的请求能够被区块链节点中与存证合约所对应的多个分片执行。
此外,在另一种实现方式中,本实施例还通过合约即服务系统的云端系统提供的接口,管理定制存证合约的访问控制权限,比如,通过操作用户组的权限授权其他用户是否能够调用某一个存证合约。
步骤S200、根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
本实施例需要对数据进行存证,存证的目的对键值对key-value数据中的值数据value进行存储,这是技术关键点,对分片区块链而言,首先需要把键值对key-value数据中的键数据key映射到整个区块链地址上,其技术方法是用哈希函数对键数据key做计算,即hash(key),把计算的结果作为分片区块链的区块链地址addr。然后,把需要存储的键值对key-value数据里面的值数据value存储到上述步骤用键数据key计算出来的区块链地址addr上,即在该区块链地址上写入值数据value。具体地,用户首先发起交易信息,接收交易信息,基于所述存证合约确定所述交易信息所对应的区块链地址,并将所述键值对key-value数据中的值数据value存储至所述区块链地址所对应的状态信息中,得到所述存证数据。由于本实施例中设置有多个键值对key-value数据,并且每个键值对key-value数据中的键值key互不相同,即键值key在区块链上全局唯一,且预先将键值key映射至区块链地址,因此在进行存证时,本实施例基于存证合约计算所述键值对key-value数据中的键数据key对应的哈希值。然后将所述哈希值转化成区块链地址。接着,将键值对key-value数据中的值数据value存储至所述区块链地址所对应的状态信息,从而得到所述存证数据。由于计算出的区块链地址可能不属于当前分片,因此本实施例可利用在区块链节点上直接生成跨片交易信息,并在分片间发送跨片交易的方式来实现在不同分片的区块链地址上存储存证数据,即存储值数据value。具体地,当确定出基于所述哈希值得到的所述区块链地址不属于当前分片,则生成跨片交易信息(即relay交易),其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value。本实施例将所述跨片交易信息发送至目标分片上,然后将键值对key-value数据中的值数据value存储至区块链地址所对应的目标分片的状态信息,得到所述存证数据。由此可见,本实施例在进行数据存证时利用了分片区块链的特性,即不同分片之间具有发送和接收跨片交易信息的能力,更方便实现数据存证。
在具体应用时,如图2中所示,用户首先发起交易信息,调用存证合约接口入参,返回是否成功进入交易池。接着,打包出块交易上链,然后调用存证合约的调用函数(set函数),传入键数据key以及与key对应的值数据value,存证合约首先对键数据key进行sha256计算,生成一个hash值,再将该hash值转为地址A,也就确定出了区块链地址,进而将值数据value存储至计算出的地址A的状态信息中。而当计算出的地址A不属于当前分片,则发起relay交易(即跨分片交易信息)到地址A所在的目标分片上,并同时携带值数据value。接着,在地址A所在目标分片收到relay交易后,存证合约会将该值数据value值保存到该地址A所在的目标分片的状态信息中,此时地址A的状态信息中就会存储有值数据value。
接着,在获取到链上的存证合约后,本实施例可基于链上的存证合约来实现对存证数据,即值数据value进行读取。由于区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同,即键数据key在该分片区块链上全局唯一。因此,本实施例基于预设的键值对key-value数据中的键数据key,确定分片区块链上的区块链地址,此时确定区块链地址的方式与上述对值数据value进行存储时确定区块链地址的方式是一样的。具体地,本实施例基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值。然后,将所述哈希值转化为所述区块链地址。
在对存证数据进行读取时,本实施例可通过链上存证合约的调用函数来对存证数据进行读取,实现取证。具体地,如果区块链地址属于当前分片时,则本实施例可通过存证合约的调用函数(set函数)调用区块链地址上的状态信息,由于状态信息中存储有存证数据,即上述的值数据value,因此,本实施例获取状态信息就方便对其中的值数据value进行读取,从而实现高效存证与取证。而如果所述区块链地址不属于当前分片时,则本实施例可基于所述存证合约的访问地址,基于上述第一映射关系确定存证合约的访问地址所对应的目标分片。接着,发起relay交易(即跨分片交易信息)至目标分片,也就是此时计算出的区块链地址所在的分片,然后基于存证合约获取区块链地址所在的目标分片上的状态信息。接着,基于所述存证合约的调用函数,对所述状态信息中的存证数据进行读取。
具体应用时,如图3中所示,本实施例可首先发起交易用于调用存证合约(即图3中用户合约A),然后返回是否成功进入交易池,再打包出块交易上链。接着,计算键数据key对应的地址A(即区块链地址)。如果此时计算出的区块链地址不属于当前分片,则然后发起relay交易(即跨分片交易信息)到地址A所在的分片,在地址A所在的分片收到relay交易后,调用存证合约的get函数,存证合约就可以读取状态信息中的存证数据(即上述值数据value)返回给用户,从而实现对存证数据的读取。由此可见,本实施例在进行数据取证时同样利用了分片区块链的特性,即不同分片之间具有发送和接收跨片交易信息的能力,更方便实现数据取证。
此外,在另一种实现方式中,本实施例的合约即服务系统的云端系统提供了区块链索引服务,因此本实施例还可基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述状态信息中的所述存证数据,并将所述状态信息写入云数据库中。具体地,该区块链索引服务可定期收集区块链上新增区块中包含的交易信息以及交易状态(其中包括区块链地址的状态信息,应用App的状态,存证合约的状态等)。区块链索引服务可将存证合约的交易状态写入至所述合约即服务系统中的云数据库中,以便由区块链云服务提供接口供用户程序查询。在具体应用时,如图4中所示,本实施例可基于区块链索引服务获取所述存证合约的查询接口(即HTTP接口)查询到存证合约数据,存证合约数据反映了交易状态,该交易状态包括区块链地址的状态信息,应用App的状态,存证合约的状态等,因此就可以基于该查询接口查询到区块链地址的状态信息,进而也就得到了状态信息中的存证数据,即值数据value。接着,可将获取到数据返回给用户,或者数据实时同步最新链上数据入库存档。
基于上述实施例,本实施例还提供一种基于高性能区块链的数据交互系统,如图5所示,所述数据交互系统包括:高性能区块链系统以及与所述高性能区块链系统交互的低空操作系统;其中,所述高性能区块链系统采用分片区块链架构,包括合约即服务系统,所述合约即服务系统用于将所述高性能区块链系统的功能封装成具备按需定制与扩展功能的存证合约服务;所述合约即服务系统包括:云端系统与用户端系统,所述云端系统包括并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行。由于本实施例的高性能区块链系统为采用分片区块链架构,因此,每一个存证合约都可以部署在区块链节点的多个分片上,任意一个存证合约的请求能够被区块链节点中存证合约所对应的多个分片执行。这样区块链系统处理存证合约请求的吞吐量可以大大提升,从而实现大规模数据的高效存储和管理。
本实施例的基于高性能区块链的数据交互系统可应用低空飞行数据的存证、取证和溯源,涉及到飞行器的制造、维护、操作和管理等方面。具体如图5中所示,本实施例的数据交互系统包括:高性能区块链系统以及与所述高性能区块链系统交互的低空操作系统;从图5中可以看出,本实施例的低空操作系统分为低空操作系统业务系统与低空操作系统互联网数据系统,所述低空操作系统业务系统包括数据安全与机密计算模块,从而保证低空数据的安全。所述低空操作系统互联网数据系统与高性能区块链系统进行交互。在本实施例中,高性能区块链系统为采用高性能分片区块链架构,且包括合约即服务系统(kaaS,Contract-As-A-Service),所述合约即服务系统用于将所述高性能区块链系统的功能封装成具备按需定制与扩展功能的存证合约服务,以网络服务访问的形式对外提供服务调用。本实施例的高性能区块链系统可用于实现用户管理服务、数据管理服务、应用接入服务、存证服务、出证服务、验证服务以及分布式区块链引擎等。
本实施例的高性能分片区块链架构,是对现有多链架构的升级,即采用了分片技术的多链架构。分片区块链与现有区块链的架构不同。现有区块链主要采用两种架构,单链和多链架构。单链架构,比如以太坊Ethereum,Polygon,Solana等,是整个系统只有一条链,链上的存证合约采用串行执行的方式,链的吞吐量低。多链架构,比如波卡Polkadot,Zilliqa,NEAR等,是一个系统有多条链,每条链运行独立的共识协议出块并构建账本。而跨链的交易需要独立的跨链协议来保证跨链共识的达成。但是,现有的多链系统吞吐率和可扩展性仍然有很大的问题:现有的多链架构,一个存证合约只能部署在一条链上,虽然不同存证合约的交易可以在不同的分片上执行,但是同一个存证合约的交易仍然只能在一条区块链上执行。采用这种embarrassing parallelism(易并行计算问题)方式实现的多链系统不适合交通数据存证取证存证合约,即大量并发请求同时请求一个存证合约,在现有多链架构中,这些交易还是只能在一条链上串行执行。
本实施例中的合约即服务系统包括:云端系统与用户端系统,如图6所示。所述云端系统包括并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行。
在本实施例中,并行区块链引擎包括:数据分片模块和分片执行模块。其中,数据分片模块用于根据预先设置的第二映射规则,将区块链数据划分至对应的目标分片上,并将所述区块链数据存储于所述目标分片所对应的所有区块链节点,其中,所述第二映射规则用于反映区块链数据的区块链地址与分片之间的对应关系。具体地,预先建立地址address与分片之间的映射关系,然后根据地址到分片的映射关系,使得区块链数据按照所属的地址被划分到不同的分片,并被所有参与该分片的所有区块链节点存储。由于区块链数据在分片之间做了划分,不同的分片存储不同地址的区块链数据。因此在存证取证存证合约中,区块链数据(即低空操作系统中各种主体(包括飞行器,相关设备等)所产生的需要上链的数据)的哈希,就会根据低空操作系统中主体在区块链上的地址(由于主体和区块链上的地址是一一绑定的),被存储到不同的分片当中,并在存证与取证过程中,被不同分片的区块链节点读写。在取证的时候,本实施例可获取数据库中的原始数据,并计算原始数据的哈希,同时获取区块链上存储的哈希,两相比较,如果相同即验证成功,如果不同,即说明数据库中的原始数据被篡改验证失败。
所述分片执行模块用于根据预先设置的第一映射规则,确定与存证合约所对应的目标分片,并将所述存证合约的交易信息下发至区块链节点中的所述目标分片上执行,所述第一映射规则用于反映所述存证合约访问的地址与分片之间的对应关系。在本实施例中,一个访问存证合约的交易信息根据存证合约访问的地址到分片的映射关系,被区块链底层的P2P网络(对等网络)分发到对应分片的所有区块链节点上执行。此外,本实施例的分片执行模块包括:跨分片执行单元,用于当所述交易信息访问多个地址时,则在执行所述存证合约时,则触高性能区块链系统的接力交易指令,以根据所述力交易指令将所述存证合约的执行从一个目标分片切换至另一个目标分片。具体地,当一个存证合约需要访问多个不同地址时,存证合约的执行将会从一个目标分片切换到另一个目标分片,即需要实现合约的跨分片执行。跨分片执行需要在存证合约中定义,并触发高性能区块链系统的接力交易指令(relay transaction)。若当前分片执行存证合约代码遇到跨分片执行语句,则本实施例的高性能区块链系统将发出接力交易智能,并通过P2P网络分发到下一个目标分片对应的区块链节点,使得下一个目标分片对应的区块链节点执行该接力交易指令,完成存证合约在多个分片的区块链节点中的继续执行。
由此可见,在本实施例的分片区块链架构中,每一个存证合约都部署在其对应的分片之上,任意一个存证合约的请求能够被区块链节点中存证合约所对应的分片执行。这样区块链系统处理存证合约请求的吞吐量可以大大提升,并且,高性能区块链系统还可以根据负载的情况,通过增加区块链节点并水平扩展出更多的分片进一步提高吞吐率。
在本实施例中,本实施例的高性能区块链系统包括:存证合约调用模块,用于接收交易信息,并根据所述交易信息调用存证合约。数据存入模块,用于根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
在一种实现方式中,本实施例的所述数据存入模块包括:
第一哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第一地址确定单元,用于基于所述哈希值,得到所述区块链地址,其中,所述区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同。
在一种实现方式中,所述数据存入模块还包括:
跨片交易生成单元,用于若所述区块链地址不属于当前分片,则生成跨片交易信息,其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value;
值数据存储单元,用于将所述跨片交易信息发送至所述区块链地址所对应的目标分片上,并将键值对key-value数据中的值数据value存储至所述区块链地址所对应的目标分片的状态信息中,得到所述存证数据。
具体如图2中所示,用户首先发起交易信息,调用存证合约接口入参,返回是否成功进入交易池。接着,打包出块交易上链,然后调用存证合约的调用函数(set函数),传入键数据key以及与key对应的值数据value,存证合约首先对键数据key进行sha256计算,生成一个hash值,再将该hash值转为地址A,也就确定出了区块链地址,进而将值数据value存储至计算出的地址A的状态信息中。而当计算出的地址A不属于当前分片,则发起relay交易(即跨分片交易信息)到地址A所在的目标分片上,并同时携带值数据value。接着,在地址A所在目标分片收到relay交易后,存证合约会将该值数据value值保存到该地址A所在的目标分片的状态信息中,此时地址A的状态信息中就会存储有值数据value。
本实施例的高性能区块链系统还包括:存证数据读取模块,用于获取所述存证合约的调用函数,并基于所述调用函数对所述状态信息中的存证数据进行读取。
在一种实现方式中,所述存证数据获取模块,包括:
第二哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第二地址确定单元,用于将所述哈希值转化为所述区块链地址;
跨片交易发送单元,用于发送跨片交易信息至所述区块链地址所在的分片上,并基于存证合约获取所述区块链地址的状态信息;
数据读取单元,用于基于所述存证合约的调用函数,对所述存证数据进行读取。
具体地,如图3中所示,本实施例可首先发起交易用于调用存证合约(即图3中用户合约A),然后返回是否成功进入交易池,再打包出块交易上链。接着,计算键数据key对应的地址A(即区块链地址)。如果此时计算出的区块链地址不属于当前分片,则然后发起relay交易(即跨分片交易信息)到地址A所在的分片上,当地址A所在的分片收到relay交易后,调用存证合约的get函数,存证合约就可以读取状态信息中的存证数据(即上述值数据value)返回给用户,从而实现对存证数据的读取。
本实施例的高性能区块链系统还包括:查询调用模块,用于基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述状态信息中的所述存证数据,并将所述状态信息写入云数据库中。
具体如图4中所示,本实施例可基于区块链索引服务获取所述存证合约的查询接口(即HTTP接口)查询到存证合约数据,存证合约数据反映了交易状态,该交易状态包括区块链地址的状态信息,应用App的状态,存证合约的状态等,因此就可以基于该查询接口查询到区块链地址的状态信息,进而也就得到了状态信息中的存证数据,即值数据value。接着,可将获取到数据返回给用户,或者数据实时同步最新链上数据入库存档。可见,本实施例即可基于所述跨片交易信息,将键值对key-value数据中的值数据value存储至所述区块链地址所对应的状态信息,得到所述存证数据。由此可见,本实施例在进行数据存证以及后续的数据取证时利用了分片区块链的特性,即不同分片之间具有发送和接收跨片交易信息的能力,更方便实现数据存证。
此外,按照功能划分,所述云端系统还包括:访问控制部件、区块链云服务、读写控制部件以及云数据库;其中,所述区块链云服务与所述云数据库连接。所述访问控制部件用于接收所述存证合约的访问进行控制;所述区块链云服务用于基于调用请求信息来调用所述存证合约;所述云数据库用于存储所述存证合约的交易信息所对应的状态信息。所述访问控制部件包括:网络服务器以及网页接口;所述区块链云服务包括:云端连接器以及区块链索引服务,所述区块链索引服务与所述云数据库连接。所述云端连接器,用于接收所述存证合约;所述区块链索引服务,用于获取所述存证合约的交易信息所对应的状态信息。用户端系统包括:本地开发环境、插件(VScode)、用户端连接器以及由所述云端系统生成的存证合约SDk(软件开发工具包),其中,所述用户端连接器分别与所述插件、所述存证合约以及所述云端系统中的区块链云服务连接,所述用户端连接器用于生成所述存证合约的交易信息。
在具体应用时,本实施例的基于高性能区块链的数据交互系统在与低空操作系统进行交互时,可通过云端系统的区块链云服务直接访问低空操作系统来实现,该交互方式适用于部署于服务器上的低空操作系统的其他模块访问区块链子系统,即实现云节点到云节点的访问形式。或者,本实施例还可通过用户端系统连接器访问,该方式口适用于部署到飞行器终端上,用户端连接器通过封装出飞行器终端需要的接口访问形式来访问区块链子系统,即实现端节点到云节点的访问形式。
本实施例的高性能区块链系统采用合约即服务架构能够满足大量的低空空管部门、行业运营商与创新服务运营商等企业用户的软件系统轻量级扩展区块链应用-如存证和溯源等应用功能的需求。大量低空经济相关的部门与企业用户,往往需要的是区块链系统的一个或者多个功能,比如用户存证服务需要区块链系统提供的数据签名、验证和确权功能和数据上链和查询等功能,而不需要或者不直接使用其他功能,比如区块链的去中心化的共识算法。如果采用公链或者联盟链系统为底层架构支持上层的软件系统,相关部门与企业用户不仅需要投入巨大的硬件成本以及持续对整个区块链系统硬件软件投入的维护成本,而且政府级、企业级的数据隐私保护得不到很好的支持。本实施例的合约即服务系统可以帮助企业用户快速、低成本地创建、开发、部署和管理区块链的存证合约。面向企业和开发者的高性能、高可靠和高安全性的区块链存证合约架构,可以简化与用户上层软件系统的接口降低系统集成的难度。
综上,本实施例使用高性能区块链系统来对低频数据和高频特殊低空数据的取证与溯源的技术方案相比传统的技术方案至少具有以下有益效果:
(1)更高的可信度:高性能区块链技术采用分布式的存储和共识算法,使得存储的数据不可篡改和删除,从而保证了数据的可信度。
(2)更高的安全性:传统的数据存储和查询方法往往存在数据篡改、数据丢失等风险,而高性能区块链技术采用加密算法和分布式存储等技术可以大幅提高数据的安全性和可靠性,从而有效保护低空数据的完整性和可信度。
(3)更高的可靠性:高性能区块链技术采用了多节点的共识机制,确保数据的一致性和可靠性,降低了数据丢失或损坏的风险。
(4)更高的效率:传统的低空数据存储和查询方法在处理大量数据时可能会出现效率低下的情况,而高性能区块链技术通过采用并行计算、分布式存储等技术可以大幅提高数据处理的效率,同时可以提供更快的数据查询响应速度。高性能区块链技术采用了高效的共识算法和分布式存储技术,使得数据的读写效率更高,响应速度更快,能够满足低空数据实时处理的需求。
(5)更高的可扩展性:高性能区块链技术采用了分布式的架构设计,使得系统具备更高的可扩展性,能够支持更多的节点和更大的数据规模。
(6)互操作性:高性能区块链技术具备良好的互操作性,可以与其他技术进行集成,从而实现更为灵活和高效的数据处理和应用。
(7)透明度:高性能区块链技术具备高度的透明度和可追溯性,可以为低空数据的监管和管理提供更好的支持。同时,采用高性能区块链技术进行低空数据存证,还可以提高数据的可信度和可靠性,从而更好地支持业务应用和决策分析。
本实施例的基于分片区块链的数据交互系统中各个模块的工作原理与上述方法实施例中各个步骤的原理相同,此处不再赘述。
基于上述实施例,本发明还提供了一种终端,所述终端的原理框图可以如图7所示。终端可以包括一个或多个处理器100(图7中仅示出一个),存储器101以及存储在存储器101中并可在一个或多个处理器100上运行的计算机程序102,例如,基于高性能区块链的数据交互系统的数据交互程序。一个或多个处理器100执行计算机程序102时可以实现基于高性能区块链的数据交互系统的数据交互方法实施例中的各个步骤。或者,一个或多个处理器100执行计算机程序102时可以实现基于高性能区块链的数据交互系统的数据交互方法实施例中各模块/单元的功能,此处不作限制。
在一个实施例中,所称处理器100可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在一个实施例中,存储器101可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器101也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及终端所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员可以理解,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、运营数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (23)
1.一种基于高性能区块链的数据交互方法,其特征在于,所述方法包括:
接收交易信息,并根据所述交易信息调用存证合约;
根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址;
若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
2.根据权利要求1所述的基于高性能区块链的数据交互方法,其特征在于,所述根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,包括:
基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
将所述哈希值转换成所述区块链地址。
3.根据权利要求1或2所述的基于高性能区块链的数据交互方法,其特征在于,所述区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同。
4.根据权利要求2所述的基于高性能区块链的数据交互方法,其特征在于,所述若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据,包括:
若所述区块链地址不属于当前分片,则生成跨片交易信息,其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value;
将所述跨片交易信息发送至所述区块链地址对应的所述目标分片上,并将键值对key-value数据中的值数据value存储至所述区块链地址所对应的目标分片的状态信息中,得到所述存证数据。
5.根据权利要求1所述的基于高性能区块链的数据交互方法,其特征在于,所述方法,还包括:
获取所述存证合约的调用函数,并基于所述调用函数对存证数据进行读取。
6.根据权利要求5所述的基于高性能区块链的数据交互方法,其特征在于,所述获取所述存证合约的调用函数,并基于所述调用函数对存证数据进行读取,包括:
基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
将所述哈希值转化为所述区块链地址;
发送跨片交易信息至所述区块链地址所在的分片上,并基于存证合约获取所述区块链地址的状态信息;
基于所述存证合约的调用函数,对所述状态信息中的存证数据进行读取。
7.根据权利要求1所述的基于高性能区块链的数据交互方法,其特征在于,所述方法,还包括:
基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述区块链地址的状态信息中的所述存证数据,并将所述状态信息写入云数据库中。
8.根据权利要求1所述的基于高性能区块链的数据交互方法,其特征在于,所述接收交易信息之前,还包括:
获取低空操作系统中的用户信息,并对所述用户信息进行注册,生成用户证书。
9.根据权利要求8所述的基于高性能区块链的数据交互方法,其特征在于,所述接收交易信息,并根据所述交易信息调用存证合约,包括:
接收交易信息,并基于所述交易信息确定所述调用请求信息;
基于所述用户证书中的私钥对所述调用请求信息进行签名处理,得到签名信息;
将所述签名信息、所述用户证书中的验证码以及所述调用请求信息发送至区块链云服务,以调用所述存证合约。
10.根据权利要求9所述的基于高性能区块链的数据交互方法,其特征在于,所述将所述签名信息、所述用户证书中的验证码以及所述调用请求信息发送至区块链云服务,以调用所述存证合约,包括:
在所述区块链云服务接收到所述调用请求信息后,对所述验证码进行验证,并在所述验证码为首次出现时,确定访问控制权限;
确定所述访问控制权限所对应的存证合约;
基于所述区块链云服务中预存的公钥,验证对所述调用请求信息进行签名处理的私钥;
若对所述调用请求信息进行签名处理的私钥验证成功,对所述访问控制权限所对应的存证合约进行调用。
11.一种基于高性能区块链的数据交互系统,其特征在于,所述数据交互系统包括:高性能区块链系统,其中,所述高性能区块链系统采用分片区块链架构;所述高性能区块链系统包括:
存证合约调用模块,用于接收交易信息,并根据所述交易信息调用存证合约;
数据存入模块,用于根据所述存证合约以及键值对key-value数据中的键数据key得到区块链地址,若所述区块链地址不属于当前分片,则将跨片交易信息发送至目标分片上,并基于所述存证合约与所述键值对key-value数据中的值数据value,得到存证数据。
12.根据权利要求11所述的基于高性能区块链的数据交互系统,其特征在于,所述数据存入模块包括:
第一哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第一地址确定单元,用于基于所述哈希值,得到所述区块链地址。
13.根据权利要求12所述的基于高性能区块链的数据交互系统,其特征在于,所述区块链地址上部署有多个键值对key-value数据,且每个键值对key-value数据中的键数据key互不相同。
14.根据权利要求13所述的基于高性能区块链的数据交互系统,其特征在于,所述数据存入模块还包括:
跨片交易生成单元,用于若所述区块链地址不属于当前分片,则生成跨片交易信息,其中,所述跨片交易信息携带所述键值对key-value数据中的值数据value;
值数据存储单元,用于将所述跨片交易信息发送至所述区块链地址对应的目标分片上,并将键值对key-value数据中的值数据value存储至所述区块链地址对应的目标分片的状态信息中,得到所述存证数据。
15.根据权利要求11所述的基于高性能区块链的数据交互系统,其特征在于,所述系统还包括:
存证数据读取模块,用于获取所述存证合约的调用函数,并基于所述调用函数对存证数据进行读取。
16.根据权利要求15所述的基于高性能区块链的数据交互系统,其特征在于,所述存证数据获取模块,包括:
第二哈希计算单元,用于基于所述存证合约计算所述键值对key-value数据中的键数据key所对应的哈希值;
第二地址确定单元,用于将所述哈希值转化为所述区块链地址;
跨片交易发送单元,用于发送跨片交易信息至所述区块链地址所在的分片上,并基于存证合约获取所述区块链地址的状态信息;
数据读取单元,用于基于所述存证合约的调用函数,对所述存证数据进行读取。
17.根据权利要求11所述的基于高性能区块链的数据交互系统,其特征在于,所述系统还包括:
查询调用模块,用于基于区块链索引服务获取所述存证合约的查询接口,基于所述查询接口获取所述区块链地址的状态信息中的所述存证数据,并将所述状态信息写入云数据库中。
18.根据权利要求11所述的基于高性能区块链的数据交互系统,其特征在于,所述高性能区块链系统包括合约即服务系统,所述合约即服务系统用于将所述高性能区块链系统的功能封装成具备按需定制与扩展功能的存证合约服务;
所述合约即服务系统包括:用户端系统与云端系统,所述用户端系统用于调用存证合约,所述云端系统用于执行所述存证合约的交易信息,所述云端系统包括并行区块链引擎,所述并行区块链引擎用于实现任意一个存证合约的请求在区块链节点中与所述存证合约对应的多个分片上执行,每一个所述存证合约可以部署在区块链节点的多个分片上。
19.根据权利要求18所述的基于高性能区块链的数据交互系统,其特征在于,所述云端系统还包括:
访问控制部件,用于接收所述存证合约的访问进行控制;
区块链云服务,用于基于调用请求信息来调用所述存证合约;
云数据库,用于存储所述存证合约的交易信息所对应的状态信息,其中,所述区块链云服务与所述云数据库连接。
20.根据权利要求19所述的基于高性能区块链的数据交互系统,其特征在于,所述访问控制部件包括:网络服务器以及网页接口;所述区块链云服务包括:
云端连接器,用于接收所述存证合约;
区块链索引服务,用于获取所述存证合约的交易信息所对应的状态信息,其中,所述区块链索引服务与所述云数据库连接。
21.根据权利要求18所述的基于高性能区块链的数据交互系统,其特征在于,所述用户端系统包括:用户端连接器以及由所述云端系统生成的存证合约,其中,所述用户端连接器用于生成所述存证合约的交易信息,所述用户端连接器与所述云端系统中的区块链云服务连接。
22.一种终端,其特征在于,所述终端包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于高性能区块链的数据交互程序,所述处理器执行基于高性能区块链的数据交互程序时,实现如权利要求1-10任一项所述的基于高性能区块链的数据交互方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于高性能区块链的数据交互程序,所述基于高性能区块链的数据交互程序被处理器执行时,实现如权利要求1-10任一项所述的基于高性能区块链的数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109231.XA CN117633090B (zh) | 2024-01-26 | 2024-01-26 | 基于高性能区块链的数据交互方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109231.XA CN117633090B (zh) | 2024-01-26 | 2024-01-26 | 基于高性能区块链的数据交互方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117633090A true CN117633090A (zh) | 2024-03-01 |
CN117633090B CN117633090B (zh) | 2024-04-12 |
Family
ID=90036022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410109231.XA Active CN117633090B (zh) | 2024-01-26 | 2024-01-26 | 基于高性能区块链的数据交互方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117633090B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2019101607A4 (en) * | 2019-03-28 | 2020-01-23 | Advanced New Technologies Co., Ltd. | System and method for parallel-processing blockchain transactions |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件系统的数据存证方法及系统 |
CN113259478A (zh) * | 2021-06-17 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 在区块链系统中执行交易的方法、装置及区块链系统 |
WO2023185050A1 (zh) * | 2022-03-30 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 基于智能合约的计算、更新、读取方法及装置、电子设备 |
-
2024
- 2024-01-26 CN CN202410109231.XA patent/CN117633090B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2019101607A4 (en) * | 2019-03-28 | 2020-01-23 | Advanced New Technologies Co., Ltd. | System and method for parallel-processing blockchain transactions |
CN112084164A (zh) * | 2020-09-16 | 2020-12-15 | 厦门市美亚柏科信息安全研究所有限公司 | 一种基于区块链与星际文件系统的数据存证方法及系统 |
CN113259478A (zh) * | 2021-06-17 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 在区块链系统中执行交易的方法、装置及区块链系统 |
WO2023185050A1 (zh) * | 2022-03-30 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 基于智能合约的计算、更新、读取方法及装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
黄琨;周原冰;曲昊源;管秀鹏;高国伟;陈孚;: "跨国跨洲电力交易机制研究", 全球能源互联网, no. 1, 25 May 2018 (2018-05-25), pages 38 - 45 * |
Also Published As
Publication number | Publication date |
---|---|
CN117633090B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727712B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
US10509684B2 (en) | Blockchain integration for scalable distributed computations | |
CN113711536B (zh) | 从区块链网络中提取数据 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN109936571B (zh) | 一种海量数据共享方法、开放共享平台及电子设备 | |
CN110543545B (zh) | 基于区块链的档案管理方法、装置及存储介质 | |
JP2021533448A (ja) | ハイパーレッジャファブリックブロックチェーンにおいてsqlベースのリッチクエリをサポートするためのシステムおよび方法 | |
US11917088B2 (en) | Integrating device identity into a permissioning framework of a blockchain | |
CN110598434B (zh) | 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质 | |
CN112149105A (zh) | 数据处理系统、方法、相关设备及存储介质 | |
CN102651775A (zh) | 基于云计算的多租户共享对象管理的方法、设备及系统 | |
KR20220006623A (ko) | 블록체인 합의 방법, 디바이스 및 시스템 | |
US11388164B2 (en) | Distributed application programming interface whitelisting | |
CN115769241A (zh) | 针对经许可的区块链的隐私保护架构 | |
KR20220160021A (ko) | 낮은 신뢰 권한 액세스 관리 | |
CN113271311B (zh) | 一种跨链网络中的数字身份管理方法及系统 | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
CN111414381A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US10671709B2 (en) | Data isolation in distributed hash chains | |
US11044104B2 (en) | Data certification as a service powered by permissioned blockchain network | |
US10685019B2 (en) | Secure query interface | |
US8990398B1 (en) | Systems and methods for processing requests for network resources | |
CN113011960A (zh) | 基于区块链的数据访问方法、装置、介质及电子设备 | |
WO2024063903A1 (en) | Verifiable attribute maps | |
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 |