CN114372051A - 一种数据处理***、基于区块链的数据处理方法及设备 - Google Patents
一种数据处理***、基于区块链的数据处理方法及设备 Download PDFInfo
- Publication number
- CN114372051A CN114372051A CN202011111339.0A CN202011111339A CN114372051A CN 114372051 A CN114372051 A CN 114372051A CN 202011111339 A CN202011111339 A CN 202011111339A CN 114372051 A CN114372051 A CN 114372051A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- block
- transaction
- management device
- data
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 238000003672 processing method Methods 0.000 title description 18
- 238000000034 method Methods 0.000 claims abstract description 72
- 238000007726 management method Methods 0.000 claims description 238
- 238000012795 verification Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000013523 data management Methods 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 238000013524 data verification Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 239000000306 component Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000012216 screening Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Technology Law (AREA)
- General Health & Medical Sciences (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理***,该数据处理***包括区块链***和数据库***,区块链***包括出块节点和区块链管理设备,数据库***包括数据库管理设备。区块链管理设备接收一个或多个区块,每个区块承载多条交易数据;向数据库管理***发送多条SQL语句,每条SQL语句包括一条交易数据以及一条交易数据的区块号和交易号,数据库管理***存储交易数据,并存储交易数据的多个属性信息;向区块链管理设备返回指示交易数据已存储的消息。区块链管理设备还用于:根据第一交易数据的区块号和交易号,验证第一交易数据。本申请采用先写入交易数据,然后再验证的方式,可以提高交易数据向数据库管理***的写入速度。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种数据处理***、基于区块链的数据处理方法及设备。
背景技术
区块链是一种将包含数据的区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链根据去中心化的协议,构建了一个分布式的结构体系,数据内容盖上时间戳后生成区块数据,再通过分布式传播发送给分布式的结构体系中的各个节点,实现分布式存储。
在现有的区块链方案中,通过键值(Key-value,KV)数据库进行存储。KV数据库是一种非关系型数据库,其数据按照键值对的形式进行组织、索引和存储。对于KV数据库,如果用户要做复杂的查询,则需要依次读取所有的区块数据,并逐一筛选,查询效率非常低。同时,如果用户需要将现有的结构化查询语言(Structured Query Language,SQL)类型的应用,迁移到区块链中,也需要重新开发KV接口的业务代码,学习成本非常高。
目前的区块链与SQL数据库相结合的方案中,区块链的交易是按顺序逐个执行的,经常前一笔交易的执行结果是下一笔交易的输入,所以需要一个交易验证完成后,才能写入SQL数据库中,导致交易写入SQL数据库的效率低下。
发明内容
本申请实施例提供一种数据处理***以及基于区块链的数据处理方法,用于提升区块链中交易数据向数据库***写入的速度。本申请实施例还提供了相应的设备、计算机存储介质以及计算机程序产品等。
本申请第一方面提供数据处理***,该数据处理***包括区块链***和数据库***,区块链***包括出块节点和区块链管理设备,数据库***包括数据库管理设备。
区块链管理设备用于:接收出块节点发送的一个或多个区块,每个区块承载多条交易数据;向数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号表示一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据。
数据库管理设备用于:根据第一字段存储一条第一交易数据,并存储一条第一交易数据的多个属性信息,多个属性信息包括一条第一交易数据的区块号、交易号以及一条第一交易数据的有效性信息;向区块链管理设备返回指示第一交易数据已存储的消息。
区块链管理设备还用于:接收数据管理设备返回的第一交易数据已存储的消息,并根据第一交易数据的区块号和交易号,验证第一交易数据。
该第一方面中,区块链***中数据以区块的形式存储,一个区块会承载多条交易数据,这些交易数据按顺序存放在区块中,一个区块就是连续产生的多条交易数据的集合。“交易数据”指的是用户结合业务的操作而产生的数据。在区块链***中,包括出块节点(orderer)和区块链管理设备(committer)。出块节点用于将终端设备产生的交易数据打包成区块,出块节点可以是区块链中产生区块的任意一个节点,区块链管理设备用于验证区块中的交易数据是否有效,以及向数据库***提交区块中的交易数据。区块链管理设备与出块节点也可以是同一个物理机上,也可以位于不同的物理机上。出块节点和区块链管理设备可以是物理机,也可以是虚拟机。交易数据是否有效通常指该交易数据是否操作成功,如:一次转账交易,若转账失败,则表示本次转账产生的交易数据无效。因为每个交易数据都有所归属的区块,而且区块链***中的区块的编号是唯一的,所以每条交易数据都会有对应的区块号。同一个区块中的交易数据按顺序编号,即为该交易数据的交易号,交易号为该交易数据在该区块中的索引,也可以表示为该交易数据在该区块中的顺序标识或位置标识,同一个区块中每条交易数据的区块号都是不相同的,不同区块中的交易号可以重复。因此,使用区块号和交易号可以唯一定位出一条交易数据。区块链管理设备在解析区块中的交易数据时,可以确定出每条交易数据的区块号和交易号。
本申请中,多个包括两个或两个以上,也可以描述为至少两个。
本申请中,区块链管理设备要将交易数据写入到数据库***中,该数据库***为支持SQL的数据库***,通常,SQL是指专门用于管理关系型数据库中保存的数据的专用编程语言。SQL可以指代各种类型的数据相关语言,包括例如数据定义语言和数据操纵语言,其中SQL的范围可以包括数据写入,查询,更新和删除等。数据库***通常包括数据库管理***(database management system,DBMS)和数据存储器,本申请中将DBMS描述为数据库管理设备。区块链管理设备要将每条交易数据编辑成第一SQL语句的形式发送给数据库管理***,由DBMS解析SQL语句,进而完成该交易数据向数据存储器的写入。第一SQL语句中的第一字段指示存储交易数据,该第一SQL语句中包括交易数据的区块号和交易号,则数据库管理***会存储该交易数据。
数据库管理设备中针对每条交易数据的多个属性信息可以通过对应关系的形式来维护,针对多个交易数据,可以用目标表格的形式来维护多个交易数据的属性,该目标表格中的属性在原有维护区块链数据的表格基础上可以新增加几种属性,如:“区块号(block_num)”列和“交易号(tx_num)”列,还可以新增加“删除操作(isdelete)”列和“有效(isvalid)”列。若是删除操作,则该列的信息可以填“true”,若不是删除操作,则可以填“false”。isvalid列中在初始写入交易数据时都填“true”。当然,目标表格中的属性不限于上述几种,还可以包括交易数据在数据存储器中的存储地址的起始位置以及交易数据的长度等。
该第一方面中,在交易数据写入到数据库管理设备后,才会执行对该交易数据的验证,这样可以一次性写入多条交易数据,可以提高交易数据向数据库***的写入速度。
在第一方面的一种可能的实现方式中,所述区块链管理设备还用于:同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,所述第二交易数据已在所述第一交易数据之前存储到所述数据库***中。
该种可能的实现方式中,同步执行表示并行执行,在写入第一交易数据时,可以同步验证之前已写入到数据库***中的第二交易数据,这样,这样可以一边执行对要第一交易数据的写入过程,一边执行对第二交易数据的验证过程。如:区块1、区块2和区块3中的第二交易数据已经写入到数据库***中,区块4、区块5和区块6中的第一交易数据正在写入,那么可以一边执行对区块4、区块5和区块6中第二交易数据的写入,一边执行对区块1、区块2和区块3中第一交易数据的验证,可见,针对不同的交易数据,该第一方面可以并行执行写入和验证的过程,提高了对交易数据的处理速度。
在第一方面的一种可能的实现方式中,多条第一SQL语句是区块链管理设备并行发送的。
该种可能的实现方式中,多条第一SQL语句对应的多条第一交易数据可以属于多个区块,也可以属于一个区块,该多条第一交易数据中可以包括同一个区块中的至少两条第一交易数据。区块链管理设备在发送第一SQL语句时,可以并行发送多条第一SQL语句,数据库管理设备在写入交易数据阶段,可以并行执行第一交易数据的写入,也就是并行执行多条第一交易数据的存储过程。另外,针对每个区块,可以批量写入交易数据,这样可以很大程度上提升交易数据写入数据库管理设备的速度。
在第一方面的一种可能的实现方式中,区块链管理设备用于:向数据库管理设备发送第二SQL语句,第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回与需要验证的交易数据有关的有效性信息。
数据库管理设备还用于:根据第二字段,需要验证的交易数据的区块号和交易号返回有效性信息。
区块链管理设备用于:接收数据库管理设备返回的有效性信息,并根据有效性信息验证需要验证的交易数据。
该种可能的实现方式中,数据库管理设备可以根据需要验证的交易数据的区块号和交易号,返回有效性信息。该有效性信息可以为需要验证的交易数据之前产生的最新交易数据的有效性信息,该返回的有效性信息也可以是至少一个主键以及对应的至少一个有效性信息,也可以是返回数据库视图表,该数据库视图表中包括至少一个主键以及对应的至少一个有效性信息。该数据库视图表可以是从目标表格中筛选出来的。目标表格中会包括很多行交易数据关系行,每个关系行中包括一个交易数据的多个属性信息。因为,本申请中可以一边写入要写入的交易数据,一边验证已写入的交易数据,所以目标表格中有些交易数据的多个属性信息是在需要验证的交易数据之前产生的,有些交易数据的多个属性信息是在需要验证的交易数据之后产生的。对于在之后产生的交易数据的多个属性信息,不会影响到需要验证的交易数据的验证,所以只需要筛选出在该需要验证的交易数据之前产生的交易数据的属性信息即可。考虑到,在之前产生的交易数据,会包括同一个主键的多条交易数据,主键例如可以为账户名或***,同一个主键的多条交易数据可以理解为是同一个账户名产生的多次交易操作所产生的数据,因为多次操作会导致该账户名中的数据不断更新,那么只有最后一次交易操作产生的交易数据才对需要验证的交易数据有意义。所以,数据库视图表中包括最新交易数据的属性信息即可,最新交易数据指的是需要验证的交易数据之前的同一个主键最后一次交易产生的数据。在数据库管理设备没获知区块链管理设备所验证的交易数据属于哪个主键的情况下,数据库视图表会返回在需要验证的交易数据之前产生的每个主键的最新交易数据的属性信息。在验证时,最新交易数据的有效性信息指示最新交易数据无效,则需要验证的交易数据无效。如果数据库管理设备返回的是数据库视图表,则区块链管理设备会先确认该数据库视图表中的描述信息所指示的交易数据是否有效,如果有效,则再验证需要验证的交易数据,如果无效,则说明需要验证的交易数据所依赖的上一条交易数据是错误的,本次交易必然无效。然后再验证需要验证的交易数据,会提高交易数据验证的准确性。
在第一方面的一种可能的实现方式中,区块链管理设备还用于:向数据库管理设备发送第三SQL语句,第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息。
数据库管理设备还用于:根据第三字段,验证失败的交易数据的区块号和交易号,将验证失败的交易数据的有效性信息修改为无效。
该种可能的实现方式中,该种可能的实现方式中,当交易数据验证失败后,表示该交易数据是无效的交易数据,但该交易数据已经写入到数据库管理设备中,那么需要通知数据库管理设备将该交易数据在目标表格中的isvalid列中的“true”修改为“false”。这样,当有针对该交易数据的查询时,就可以返回相应的该交易数据无效或该交易数据不存在的结果。
在第一方面的一种可能的实现方式中,区块链管理设备还用于:对在验证失败的交易数据之后验证的交易数据进行重验证。
该种可能的实现方式中,如果验证失败的交易数据之后还验证了其他交易数据,为了确保这些交易数据的准确性,本申请对在该验证失败的交易数据之后验证的交易数据进行重验证,从而提高了交易数据验证的准确性。
在第一方面的一种可能的实现方式中,区块链管理设备还用于:向数据库管理设备发送第四SQL语句,第四SQL语句包括第四字段,第四字段指示清理数据。
数据库管理设备还用于:根据第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
该种可能的实现方式中,已过期的交易数据可以是后面有针对该账号发生了后续的交易操作,之前交易产生的数据基本已经没有价值了,可以根据这些历史交易数据产生的时间确定出已过期的交易数据。无效的数据可以是前面所描述的验证失败的交易数据。针对这些已过期的交易数据或已无效的交易数据定期进行清理,可以减少目标表格的体积,也可以提高存储资源的利用率。
本申请第二方面提供一种基于区块链的数据处理方法,该方法应用于上述第一方面的数据处理***的区块链管理设备,该区块链***还包括出块节点和数据库管理设备。该方法包括:接收出块节点发送的一个或多个区块,每个区块承载多条交易数据;向数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号表示一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据;接收数据管理设备返回的第一交易数据已存储的消息,并根据第一交易数据的区块号和交易号,验证第一交易数据。
在第二方面的一种可能的实现方式中,该方法还包括:同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,第二交易数据已在第一交易数据之前存储到数据库***中。
在第二方面的一种可能的实现方式中,上述步骤:向所述数据库管理设备发送多条第一结构化查询语言SQL语句,包括:并行向所述数据库管理设备发送多条第一结构化查询语言SQL语句。
在第二方面的一种可能的实现方式中,上述步骤:验证第一交易数据或验证第二交易数据,包括:向数据库管理设备发送第二SQL语句,第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回与需要验证的交易数据有关的有效性信息,需要验证的交易数据为第一交易数据或第二交易数据;接收数据库管理设备返回的有效性信息;根据有效性信息验证需要验证的交易数据。
在第二方面的一种可能的实现方式中,该方法还包括:向数据库管理设备发送第三SQL语句,第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息。
在第二方面的一种可能的实现方式中,该方法还包括:对在验证失败的交易数据之后验证的交易数据进行重验证。
在第二方面的一种可能的实现方式中,该方法还包括:向数据库管理设备发送第四SQL语句,第四SQL语句包括第四字段,第四字段指示清理数据。
该第二方面以及第二方面任一可能的实现方式中的内容可以参阅第一方面以及第一方面的任一可能的实现方式中的相应内容进行理解,此处不再重复赘述。
本申请第三方面提供一种基于区块链的数据处理方法,该方法应用于上述数据处理***,该数据处理***还包括区块链管理设备,该方法包括:接收来自于区块链管理设备的多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号表示一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据;根据第一字段存储一条第一交易数据,并存储一条第一交易数据的多个属性信息,多个属性信息包括一条第一交易数据的区块号、交易号以及一条第一交易数据的有效性信息;向区块链管理设备返回指示第一交易数据已存储的消息。
在第三方面的一种可能的实现方式中,该方法还包括:接收来自于区块链管理设备的第二SQL语句,第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回与需要验证的交易数据有关的有效性信息;根据第二字段,需要验证的交易数据的区块号和交易号向区块链管理设备返回有效性信息。
在第三方面的一种可能的实现方式中,该方法还包括:接收来自于区块链管理设备的第三SQL语句,第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息;根据第三字段,验证失败的交易数据的区块号和交易号,将验证失败的交易数据的有效性信息修改为无效。
在第三方面的一种可能的实现方式中,该方法还包括:接收来自于区块链管理设备的第四SQL语句,第四SQL语句包括第四字段,第四字段指示清理数据;根据第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
该第三方面以及第三方面任一可能的实现方式中的内容可以参阅第一方面以及第一方面的任一可能的实现方式中的相应内容进行理解,此处不再重复赘述。
本申请第四方面提供一种区块链管理设备,该区块链管理设备具有实现上述第二方面或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:接收单元、处理单元和发送单元。
本申请第五方面提供一种数据库管理设备,该数据库管理设备具有实现上述第三方面或第三方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:接收单元、发送单元和处理单元。
本申请第六方面提供一种区块链管理设备,该区块链管理设备包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。
本申请第七方面提供一种数据库管理设备,该数据库管理设备包括至少一个处理器、存储器、输入/输出(input/output,I/O)接口以及存储在存储器中并可在处理器上运行的计算机执行指令,当计算机执行指令被处理器执行时,处理器执行如上述第三方面或第三方面任意一种可能的实现方式的方法。
本申请第八方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。
本申请第九方面提供一种存储一个或多个计算机执行指令的计算机可读存储介质,当计算机执行指令被处理器执行时,处理器执行如上述第三方面或第三方面任意一种可能的实现方式的方法。
本申请第十方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第二方面或第二方面任意一种可能的实现方式的方法。
本申请第十一方面提供一种存储一个或多个计算机执行指令的计算机程序产品,当计算机执行指令被处理器执行时,处理器执行如上述第三方面或第三方面任意一种可能的实现方式的方法。
本申请第十二方面提供了一种芯片***,该芯片***包括至少一个处理器,至少一个处理器用于实现上述第二方面或第二方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片***还可以包括存储器,存储器,用于保存区块链管理设备必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请第十三方面提供了一种芯片***,该芯片***包括至少一个处理器,至少一个处理器用于实现上述第三方面或第三方面任意一种可能的实现方式中所涉及的功能。在一种可能的设计中,芯片***还可以包括存储器,存储器,用于保存数据库管理***必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例在交易数据写入到数据库管理设备后,才会执行对该交易数据的验证,这样可以一次性写入多条交易数据,可以提高交易数据向数据库***的写入速度。
附图说明
图1A是本申请实施例提供的基于区块链的数据处理***的一实施例示意图;
图1B是本申请实施例提供的基于区块链的数据处理***的另一实施例示意图;
图1C是本申请实施例提供的基于区块链的数据处理***的另一实施例示意图;
图2是本申请实施例提供的基于区块链的数据处理方法的一实施例示意图;
图3是本申请实施例提供的基于区块链的数据处理方法的另一实施例示意图;
图4是本申请实施例提供的一场景示例示意图;
图5是本申请实施例提供的另一场景示例示意图;
图6是本申请实施例提供的区块链管理设备的一实施例示意图;
图7是本申请实施例提供的数据库管理设备的一实施例示意图;
图8是本申请实施例提供的计算机设备的一结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种基于区块链的数据处理方法,用于提升区块链中交易向数据库***写入的速度。本申请实施例还提供了相应的设备、计算机存储介质以及计算机程序产品等。以下分别进行详细说明。
本申请实施例提供一种数据处理***,该数据处理***的结构可以参阅图1A进行理解。
如图1A所示,该基于区块链的数据处理***包括区块链***和数据库***。其中,区块链***包括出块节点和区块链管理设备。数据库***包括数据库管理***(databasemanagement system,DBMS)和数据存储器。本申请中,该DBMS也可以称为数据库管理设备。出块节点与区块链管理设备通信连接,出块节点用于将终端设备产生的交易数据打包成区块,并将区块发送给区块链管理设备。区块链管理设备和DBMS通信连接,区块链管理设备向DBMS发送结构化查询语言(structured query language,SQL)语句,该SQL语句中包含交易数据的相关信息。DBMS和数据存储器通信连接,将交易数据存储到数据存储器中,并管理数据存储器中的交易数据。
本申请实施例中的出块节点和区块链管理设备可以是独立的物理机,如:服务器,也可以是虚拟机(virtual machine,VM)或容器(container)。终端设备(也可以称为用户设备(user equipment,UE))是一种具有无线收发功能的设备,可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。所述终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、自动取款机(automatic teller machine,ATM)等具有支付功能的终端。
本申请实施例提供的方法可以应用于单机的区块链***和数据库***或者集群的区块链***和数据库***。数据库***(database system)一般由以下三部分组成:(1)数据库(database,DB),指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。(2)硬件,包括存储数据所需的数据存储器,例如内存和/或磁盘。(3)软件,包括DBMS,DBMS是数据库***的核心软件,是用于科学地组织和存储数据,以及高效获取和维护数据的***软件,数据库引擎是DBMS的核心组件。
具体地,上述图1A为单机的区块链***和数据库***示意图。该单机的区块链***和单机数据库***中区块链管理设备通过一个DBMS向数据存储器写入交易数据。数据库管理***用于提供数据库的写入、查询、删除和修改等服务,该数据库管理***将数据存储到数据存储器中。在单机的区块链***中,出块节点和区块链管理设备可以位于单一服务器上。数据库***中,数据库管理***和数据存储器通常位于单一服务器上,比如一台对称多处理(symmetric multi-processor,SMP)服务器。该SMP服务器包括多个处理器,所有的处理器共享资源,如总线,内存和I/O***等。数据库管理***的功能可由一个或多个处理器执行内存中的程序来实现。
图1B为采用共享磁盘(shared-storage)架构的集群的区块链***和数据库***示意图。区块链***中包括一个出块节点和多个区块链设备,当然,出块节点也可以有多个,也可以是一个出块节点对应一个区块链设备。本申请中不限定出块节点与区块链设备的对应关系,数据库***包括多个节点(如图1B中的节点1-N),每个节点部署有数据库管理***,分别为用户提供数据库的查询和修改等服务,多个数据库管理***存储有共享的数据在共享数据存储器中,并且通过交换机对数据存储器中的数据执行读写操作。一个区块链设备可以对应一个数据库管理***。数据库***中的共享数据存储器可以为共享磁盘阵列。集群的数据库***中的节点可以为物理机,比如数据库服务器,也可以为运行在抽象硬件资源上的虚拟机或容器。当节点为虚拟机或容器时,节点中部署的数据库管理***为DBMS实例(instance),该DBMS可以是进程或线程。若节点为物理机,则交换机为存储区网络(storage area network,SAN)交换机、以太网交换机,光纤交换机或其它物理交换设备。若节点为虚拟机或容器,则交换机为虚拟交换机。
图1C为采用无共享(shared-nothing)架构的集群数据库***示意图,每个节点具有各自独享的硬件资源(如数据存储器)、操作***和数据库,节点之间通过网络来通信。该体系下,数据将根据数据库模型和应用特点被分配到各个节点上,查询任务将被分割成若干部分,在所有节点上并行执行,彼此协同计算,作为整体提供数据库服务,所有通信功能都在一个高宽带网络互联体系上实现。如同图1B所描述的shared-storage架构的集群数据库***一样,这里的节点既可以是物理机,也可以是虚拟机。
在本申请所有实施例中,数据库***的数据存储器(data storage)包括但不限于固态硬盘(solid state drives,SSD)、磁盘阵列或其他类型的非瞬态计算机可读介质。图1A-图1C中虽未示出数据库,应理解,数据库存储在数据存储器中。所属领域的技术人员可以理解一个数据库***可能包括比图1A-图1C中所示的部件更少或更多的组件,或者包括与图1A-图1C中所示组件不同的组件,图1A-图1C仅仅示出了与本申请实施例所公开的实现方式更加相关的组件。例如,虽然图1B和图1C中已经描述了4个节点,但所属领域的技术人员可理解成一个集群数据库***可包含任何数量的节点。各节点的数据库管理***功能可分别由运行在各节点上的软件、硬件和/或固件的适当组合来实现。
上述基于区块链的数据处理***中,由区块链管理设备和数据库管理设备来执行本申请的基于区块链的数据处理方法。下面结合图2介绍本申请实施例提供的基于区块链的数据处理方法。
如图2所示,本申请实施例提供的基于区块链的数据处理方法的一实施例包括:
101、区块链管理设备接收出块节点发送的一个或多个区块,其中,每个区块承载多条交易数据。
区块链***中数据以区块的形式存储,一个区块会包括多条交易数据,这些交易数据按顺序存放在区块中,一个区块就是多个连续产生的交易数据的集合。“交易数据”指的是用户结合业务的操作而产生的数据。
本申请中,多个包括两个或两个以上,也可以描述为至少两个。
可选地,102、区块链管理设备确定每条交易数据所属区块的区块号,以及在所属区块的交易号。
区块号表示一条交易数据所属区块的区块标识,交易号表示一条交易数据在所属区块的多条交易数据中的索引。
因为每个交易数据都有所归属的区块,而且区块链***中的区块的编号是唯一的,所以每条交易数据都会有对应的区块号。同一个区块中的交易数据按顺序编号,即为该交易数据的交易号,交易号为该交易数据在该区块中的索引,也可以表示为该交易数据在该区块中的顺序标识或位置标识,同一个区块中每条交易数据的区块号都是不相同的,不同区块中的交易号可以重复。因此,使用区块号和交易号可以唯一定位出一条交易数据。区块链管理设备在解析区块中的交易数据时,可以确定出每条交易数据的区块号和交易号。
103、区块链管理设备向数据库管理设备发送多条第一结构化查询语言SQL语句,对应地,数据库管理设备接收多条第一SQL语句。
其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号表示一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据。
本申请中,数据库***为支持SQL的数据库***。区块链管理设备要将每条交易数据编辑成第一SQL语句的形式发送给DBMS,由DBMS解析SQL语句,进而完成该交易数据向数据存储器的写入。第一SQL语句中的第一字段指示存储交易数据,该第一SQL语句中包括交易数据的区块号和交易号,则数据库管理设备会将该交易数据存入数据存储器中。数据库管理设备中针对每条交易数据的多个属性信息可以通过对应关系的形式来维护,针对多个交易数据,可以用目标表格的形式来维护多个交易数据的属性,该目标表格中的属性在原有维护区块链数据的表格基础上可以新增加几种属性,如:“区块号(block_num)”列和“交易号(tx_num)”列,还可以新增加“删除操作(isdelete)”列和“有效(isvalid)”列。若是删除操作,则该列的信息可以填“true”,若不是删除操作,则可以填“false”。isvalid列中在初始写入交易数据时都填“true”。当然,目标表格中的属性不限于上述几种,还可以包括交易数据在数据存储器中的存储地址的起始位置以及交易数据的长度等。
该目标表格可以参阅表1所列举的一个示例进行理解。
表1:目标表格
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(IsValid) |
罗三 | 3 | 0 | true | true |
罗三 | 3 | 100 | false | true |
罗三 | 6 | 2 | false | true |
罗三 | 8 | 4 | false | true |
龙大 | 6 | 2 | false | true |
其中,删除列(isDelete):表示如果是交易数据对应的事删除(delete)操作,则该交易数据的在目标表格的相应行上该删除的标识位(isDelete)为true。
有效标识位(isValid):初始都为true,如果写入该行的交易数据的验证结果为无效(invalid),则该行的isValid被修改为false,标明该行对应的交易数据是无效的。
主键为数据库管理设备中用于记录一个对象对应的交易数据的唯一标识,主键用于描述交易数据的一种属性,例如:账户名或***等。
表1只是一个示例,实际上目标表格的行数会有很多。
104、数据库管理设备根据第一字段存储一条第一交易数据,并存储一条第一交易数据的多个属性信息。
多个属性信息包括一条第一交易数据的区块号、交易号以及一条第一交易数据的有效性信息。
该对应关系可以参阅表1中的任意一行进行理解。
105、数据库管理设备向区块链管理设备返回指示第一交易数据已存储的消息,对应地,区块链管理设备接收数据库管理设备返回的指示第一交易数据已存储的消息。
数据库管理设备向区块链管理设备返回的消息可以有多条,多条指示第一交易数据已存储的消息指示多条第一SQL语句中的第一交易数据已存储在数据库***中。
106、区块链管理设备根据第一交易数据的区块号和交易号,验证第一交易数据。
区块链管理设备用于验证区块中的交易数据是否有效,交易数据是否有效通常指该交易数据是否操作成功,如:一次转账交易,若转账失败,则为本次转账产生的交易数据无效。
本申请实施例中,在交易数据写入到数据库管理设备后,才会执行对该交易数据的验证,这样可以一次性写入多条交易数据,可以提高交易数据向数据库***的写入速度。
上述区块链管理设备还用于:同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,第二交易数据已在第一交易数据之前存储到数据库***中。
本申请中,同步执行表示并行执行,在写入第一交易数据时,可以同步验证之前已写入到数据库***中的第二交易数据,这样,这样可以一边执行对要第一交易数据的写入过程,一边执行对第二交易数据的验证过程。如:区块1、区块2和区块3中的第二交易数据已经写入到数据库***中,区块4、区块5和区块6中的第一交易数据正在写入,那么可以一边执行对区块4、区块5和区块6中第二交易数据的写入,一边执行对区块1、区块2和区块3中第一交易数据的验证,可见,针对不同的交易数据,该第一方面可以并行执行写入和验证的过程,提高了对交易数据的处理速度。
上述基于区块链的数据处理方法的另一实施例还可以参阅图3进行理解。
如图3所示,该基于区块链的数据处理方法的另一实施例包括:
201、出块节点接收终端设备发送的交易数据。
202、出块节点将多个交易数据打包成一个区块。
一般一个区块中所包括的交易数据的数量是预先配置好的,如:1个区块包括500条交易数据。
203、出块节点向区块链管理设备发送一个或多个区块,对应地,区块链管理设备接收一个或多个区块。
204、区块链管理设备从区块中解析每条交易数据。
区块链管理设备从区块中解析交易数据时,会获取该交易数据所属区块的区块号和该交易数据在该区块中的交易号。
205、区块链管理设备向数据库管理设备发送多条第一SQL语句。
206、数据库管理设备解析每条第一SQL语句,将交易数据的区块号和交易号写入目标表格中。
207、数据库管理设备将交易数据存储到数据存储器中。
上述步骤203至207可以参阅图2所对应的实施例进行理解。
208、区块链管理设备向数据库管理设备发送第二SQL语句。
第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回与需要验证的交易数据有关的有效性信息。该需要验证的交易数据可以是第一交易数据,也可以是第二交易数据。
209、数据库管理设备根据第二字段,需要验证的交易数据的区块号和交易号确定与需要验证的交易数据有关的有效性信息。
本申请实施例中,该有效性信息可以为需要验证的交易数据之前产生的最新交易数据的有效性信息,该返回的有效性信息也可以是针对一个主键返回对应一个有效性信息,其中,一个或多个有效性信息为需要验证的交易数据之前产生的至少一个主键对应的最新交易数据的有效性信息,主键为数据库管理设备中用于记录一个对象对应的交易数据的标识。
该过程也可以是返回数据库视图表,该数据库视图表包括在需要验证的交易数据之前产生的一个或多个主键对应的最新交易数据的有效性信息。
从目标表格中确定对应的数据库视图表的过程是数据筛选的过程,目标表格中会包括很多行交易数据的属性信息。
因为,本申请中可以一边写入要写入的交易数据,一边验证已写入的交易数据,所以目标表格中有些交易数据的多个属性信息是在需要验证的交易数据之前产生的,有些交易数据的多个属性信息是在需要验证的交易数据之后产生的。对于在之后产生的交易数据的多个属性信息,不会影响到需要验证的交易数据的验证,所以只需要筛选出在该需要验证的交易数据之前产生的交易数据的属性信息即可。
考虑到,在之前产生的交易数据,会包括同一个主键的多条交易数据,主键例如可以为账户名,同一个主键的多条交易数据可以理解为是同一个账户名产生的多次交易操作所产生的数据,因为多次操作会导致该账户名中的数据不断更新,那么只有最后一次交易操作产生的交易数据的多个属性信息才对需要验证的交易数据有意义。所以,数据库视图表中包括最新交易数据的多个属性信息即可,最新交易数据指的是需要验证的交易数据之前的同一个主键最后一次交易产生的数据。例如:一个账户名下,第一次存入1000元,该账户名下的余额为1000元。第二次转出500元,该账户名下的余额为500元。第三次存入300元,该账户名下的余额为800元。那么,只有第三次的交易数据才有意义,前两次的交易数据已经被在后的交易修改了,因为需要验证的交易数据是在后产生的,所以只有第三次的交易数据才会对需要验证的交易数据有参考意义。
在数据库***没获知区块链管理设备所验证的交易数据属于哪个主键的情况下,数据库视图表会返回在需要验证的交易数据之前产生的每个主键的最新交易数据的属性信息。
上述过程可以参阅下列示例进行理解。如所验证的交易数据的区块号是5,交易号是1,可以表示为{5,1},数据库管理设备可以按照上述介绍的筛选规则从表1中筛选出如下表2所示的数据库视图表。
表2:依据{5,1}筛选出来的数据库视图表
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(IsValid) |
罗三 | 3 | 100 | false | true |
根据区块号5,交易号1从表1中可以确定位于区块5的行有两个,分别为第一行和第二行,因为第一行的交易号是1,第二行的交易号是100,可以确定第二行对应的交易数据是在第一行对应的交易数据之后产生的,所以表2中筛选出来的是在该区块号是5,交易号是1之前,主键“罗三”对应的最后一次交易的交易数据。
若上述第二SQL语句有多个,则一个第二SQL语句对应一个需要验证的交易数据。这样,数据库管理设备会针对每个所要验证的数据都筛选出一个对应的数据库视图表,一个数据库视图表对应一个需要验证的交易数据。
如:除了上述包括{5,1}的第二SQL语句外,另一个第二SQL语句中包括{7,3},还有一个第二SQL语句中包括{8,5}。根据上述筛选{5,1}对应的数据库视图表的原理,根据{7,3}可以筛选出表3,根据{8,5}可以筛选出表4。
表3:依据{7,3}筛选出来的数据库视图表
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(IsValid) |
罗三 | 6 | 2 | false | true |
龙大 | 6 | 2 | false | true |
由该表3可知,在区块7之前的交易中出现了两个不同账户名的交易,即“罗三”和“龙大”。针对每个账户名都会筛选出最后一次产生的交易对应的交易数据在目标表格中的行。
表4:依据{8,5}筛选出来的数据库视图表
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(IsValid) |
罗三 | 8 | 4 | false | true |
龙大 | 6 | 2 | false | true |
该表4的筛选过程与上述表2和表3的筛选过程相同,本处不在重复描述。
210、数据库管理设备向区块链管理设备发送与需要验证的交易数据有关的有效性信息,对应地,区块链管理设备接收与需要验证的交易数据有关的有效性信息。
本申请实施例中也可以是返回数据库视图表,该数据库视图表中包括至少一个主键以及对应的至少一个有效性信息。
211、区块链管理设备根据与需要验证的交易数据有关的有效性信息验证需要验证的交易数据。
本申请实施例中也可以是根据数据库视图表验证需要验证的交易数据。
数据库视图表中最新交易数据的有效性信息指示最新交易数据无效,则需要验证的交易数据无效。
区块链管理设备会先确认该数据库视图表中的描述信息所指示的交易数据是否有效,如果有效,则再验证需要验证的交易数据,如果无效,则说明需要验证的交易数据所依赖的上一条交易数据是错误的,本次交易必然无效。然后再验证需要验证的交易数据,会提高交易数据验证的准确性。
例如:一个账户名下余额为0,第一次交易存储1000元,但该笔交易操作失败,账户余额还是0。若针对该账户名的第二笔交易为转出500元,则第二笔交易必然是失败的交易。若确认第一笔交易失败,则没必要再验证第二笔交易的交易数据,可以直接确定该第二笔交易是失败的。若上一次交易是成功的,则可以通过数据比对的方式确认本次交易是否成功,如确认存入的1000元是否已在余额中。
若区块链管理设备接收到多个数据库视图表,则可以使用各自的数据库视图表进行验证。因为每个所要验证的交易都有对应的数据库视图表,所以,同一个区块中的多个交易,不同区块中的多个交易都可以并行验证,这样很大程度上提高了交易数据验证的速度。
并行验证的多个交易数据可以是同一个区块中的交易数据,也可以是不同区块中的交易数据。
212、区块链管理设备向数据库管理设备发送第三SQL语句。
第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息。
213、数据库管理设备根据第三字段,验证失败的交易数据的区块号和交易号,将验证失败的交易数据的有效性信息修改为无效。
如表5所示,该过程例如可以参阅表1中的第一行进行理解,表1中第一行是个删除操作产生的条目,而该条目还处于有效状态,若数据库管理设备接收到的第三SQL语句中的区块号和交易号是{3,0},则将表1中第一行的条目中isValid的标识位由true修改为flase,这样,表1就变成了表5。
表5:目标表格
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(isValid) |
罗三 | 3 | 0 | true | false |
罗三 | 3 | 100 | false | true |
罗三 | 6 | 2 | false | true |
罗三 | 8 | 4 | false | true |
龙大 | 6 | 2 | false | true |
214、区块链管理设备对在验证失败的交易数据之后验证的交易数据进行重验证。
如果验证失败的交易数据之后还验证了其他交易数据,为了确保这些交易数据的准确性,本申请对在该验证失败的交易数据之后验证的交易数据进行重验证,从而提高了交易数据验证的准确性。
例如:若在验证交易数据{3,0}后,还验证了交易数据{3,1}、{3,2}和{3,3},则需要对交易数据{3,1}、{3,2}和{3,3}进行重新验证。
215、区块链管理设备向数据库管理设备发送第四SQL语句。
第四SQL语句包括第四字段,第四字段指示清理数据。
216、数据库管理设备根据第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
已过期的交易数据可以是后面有针对该账号发生了后续的交易操作,之前交易产生的数据基本已经没有价值了,可以根据这些历史交易数据产生的时间确定出已过期的交易数据。无效的数据可以是前面所描述的验证失败的交易数据。
例如:交易数据{3,0}是已无效的数据,则可以将该无效的交易删除,同时将该目标表格中的第一行也删除,这样,删除第一行后表5就变成了表6。
表6:清理后的目标表格
主键 | 区块号 | 交易号 | 删除(isdelete) | 有效(isValid) |
罗三 | 3 | 100 | false | true |
罗三 | 6 | 2 | false | true |
罗三 | 8 | 4 | false | true |
龙大 | 6 | 2 | false | true |
针对这些已过期的交易数据或已无效的交易数据,以及对应的属性信息定期进行清理,可以减少目标表格的体积,也可以提高存储资源的利用率。
本申请实施例中,除了上述交易数据写入(insert)、交易数据验证和重验证(confirm)这三个阶段可以是并行执行的,只是并行执行时所处理的区块不同。这三个阶段在并行执行的过程中,重验证阶段所处理的区块是已完成交易数据验证的区块,验证阶段所处理的区块是已完成写入的区块,写入阶段所处理的区块是出块节点新发过来的区块。
本申请实施例中,处于写入阶段的区块称为第一区块、处于验证阶段的区块称为第二区块,处于重验证阶段的区块称为第三区块。本申请中,第一区块可以有一个,也可以有多个,同理,第二区块和第三区块可以是有一个或多个。
三个阶段的并行执行过程可以参阅图4进行理解。如图4所示,在写入阶段示例中有4个第一区块,分别为区块12、区块13、区块14和区块15,在验证阶段示例中有8个第二区块,分别为区块4、区块5至区块11,在重验证阶段示例中有一个第三区块,为区块3。
在写入阶段,可以参阅上述实施例中的步骤203至207进行理解,在验证阶段可以参阅上述实施例中的步骤208至213进行理解,在重验证阶段可以参阅上述实施例中的步骤214进行理解。
上述不同阶段的区块在被区块链管理设备执行完所在阶段的任务后,是依次进入下一阶段的。如:处于验证阶段的区块4、区块5至区块11是依次来源于写入阶段的,当写入阶段完成后,才会按顺序进入验证阶段。如图4中的区块11在区块10进入验证阶段后,该区块11才能进入该验证阶段。如图5所示,以区块0、区块1、区块2为例,这三个区块在都完成向数据库管理设备的写入后,才能进入验证阶段。
同理,在被区块链管理设备执行完验证阶段的任务。且区块3中存在验证失败的交易数据,区块3才进入重验证阶段,只需对再验证失败的交易数据之后验证的数据进行重验证。
以上描述了基于区块链的数据处理方法,下面结合附图介绍本申请实施例提供的区块链管理设备。
如图6所示,本申请实施例提供的区块链管理设备30的一实施例包括:该区块链管理设备30应用于数据处理***,该区块链***还包括出块节点和数据库管理设备,区块链管理设备包括:
接收单元301,用于接收出块节点发送的一个或多个区块,每个区块承载多条交易数据。
发送单元302,用于向数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号标识一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据。
接收单元301,还用于接收数据管理设备返回的第一交易数据已存储的消息。
处理单元303,用于根据第一交易数据的区块号和交易号,验证第一交易数据。
本申请实施例中,在交易数据写入到数据库管理设备后,才会执行对该交易数据的验证,这样可以一次性写入多条交易数据,可以提高交易数据向数据库***的写入速度。
可选地,处理单元303,还用于同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,第二交易数据已在第一交易数据之前存储到数据库***中。
可选地,发送单元302,用于并行向数据库管理设备发送多条第一结构化查询语言SQL语句。
可选地,发送单元302,还用于向数据库管理设备发送第二SQL语句,第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回与需要验证的交易数据有关的有效性信息,需要验证的交易数据为第一交易数据或第二交易数据。
接收单元301,还用于接收数据库管理设备返回的有效性信息。
处理单元303,用于根据有效性信息验证需要验证的交易数据。
可选地,发送单元302,还用于向数据库管理设备发送第三SQL语句,第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息。
可选地,处理单元303,还用于对在验证失败的交易数据之后验证的交易数据进行重验证。
可选地,发送单元302,还用于向数据库管理设备发送第四SQL语句,第四SQL语句包括第四字段,第四字段指示清理数据。
以上所描述的区块链管理设备30可以参阅前述方法实施例部分的相应描述进行理解,此处不做重复赘述。
如图7所示,本申请实施例提供的数据库管理设备40的一实施例,该数据库管理设备40数据处理***,该数据处理***还包括区块链管理设备,该数据库管理设备40包括:
接收单元401,用于接收来自于区块链管理设备的多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及一条第一交易数据的区块号和交易号,区块号表示一条第一交易数据所属区块的区块标识,交易号表示一条第一交易数据在所属区块的多条交易数据中的索引,第一SQL语句还包括第一字段,第一字段指示存储一条第一交易数据。
处理单元402,用于根据第一字段存储一条第一交易数据,并存储与一条第一交易数据的多个属性信息,多个属性信息包括一条第一交易数据的区块号、交易号以及一条第一交易数据的有效性信息。
发送单元403,用于向区块链管理设备返回指示第一交易数据已存储的消息。
可选地,接收单元401,还用于接收来自于区块链管理设备的第二SQL语句,第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,第二字段指示数据库管理设备返回有效性信息。
处理单元402,还用于根据第二字段,需要验证的交易数据的区块号和交易号确定有效性信息。
发送单元403,用于向区块链管理设备发送有效性信息。
可选地,接收单元401,还用于接收来自于区块链管理设备的第三SQL语句,第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,第三字段指示修改有效性信息。
处理单元402,还用于根据第三字段,验证失败的交易数据的区块号和交易号,将验证失败的交易数据的有效性信息修改为无效。
可选地,接收单元401,还用于接收来自于区块链管理设备的第四SQL语句,第四SQL语句包括第四字段,第四字段指示清理数据。
处理单元402,还用于根据第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
以上所描述的数据库管理设备40可以参阅前述方法实施例部分的数据库管理设备的相应描述进行理解,此处不做重复赘述。
图8所示,为本申请的实施例提供的计算机设备50的一种可能的逻辑结构示意图。该计算机设备50可以是上述区块链管理设备30和数据库管理设备40。该计算机设备50包括:处理器501、通信接口502、存储器503以及总线504。处理器501、通信接口502以及存储器503通过总线504相互连接。在本申请的实施例中,处理器501用于对区块链管理设备30或数据库管理设备40的动作进行控制管理,例如,处理器501用于执行图2至图5的方法实施例中交易数据解析、验证、重验证和目标表格维护的过程,通信接口502用于支持区块链管理设备50进行通信。存储器503,用于存储区块链管理设备50的程序代码和数据。
其中,处理器501可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器501也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线504可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的处理器执行该计算机执行指令时,设备执行上述图2至图5中基于区块链的数据处理方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;当设备的处理器执行该计算机执行指令时,设备执行上述图2至图5中基于区块链的数据处理方法。
在本申请的另一实施例中,还提供一种芯片***,该芯片***包括处理器,该处理器用于实现上述图2至图5中基于区块链的数据处理方法。在一种可能的设计中,芯片***还可以包括存储器,存储器,用于保存进程间通信的装置必要的程序指令和数据。该芯片***,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以权利要求的保护范围为准。
Claims (26)
1.一种数据处理***,其特征在于,所述数据处理***包括出块节点、区块链管理设备和数据库管理设备;
所述区块链管理设备用于:接收所述出块节点发送的一个或多个区块,每个区块承载多条交易数据;向数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括所述一个或多个区块所承载的交易数据中的一条第一交易数据,以及所述一条第一交易数据的区块号和交易号,所述区块号表示所述一条第一交易数据所属区块的区块标识,所述交易号表示所述一条第一交易数据在所述所属区块的所述多条交易数据中的索引,所述第一SQL语句还包括第一字段,所述第一字段指示存储所述一条第一交易数据;
所述数据库管理设备用于:根据所述第一字段存储所述一条第一交易数据,并存储所述一条第一交易数据的多个属性信息,所述多个属性信息包括所述一条第一交易数据的区块号、交易号以及所述一条第一交易数据的有效性信息;向所述区块链管理设备返回指示所述第一交易数据已存储的消息;
所述区块链管理设备还用于:接收所述数据管理设备返回的所述第一交易数据已存储的消息,并根据所述第一交易数据的区块号和交易号,验证所述第一交易数据。
2.根据权利要求1所述的数据处理***,其特征在于,
所述区块链管理设备还用于:同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,所述第二交易数据已在所述第一交易数据之前存储到所述数据库***中。
3.根据权利要求1或2所述的数据处理***,其特征在于,所述多条第一SQL语句是所述区块链管理设备并行发送的。
4.根据权利要求1-3任一项所述的数据处理***,其特征在于,
所述区块链管理设备用于:向所述数据库管理设备发送第二SQL语句,所述第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,所述第二字段指示所述数据库管理设备返回与所述需要验证的交易数据有关的有效性信息;
所述数据库管理设备还用于:根据所述第二字段,所述需要验证的交易数据的区块号和交易号返回有效性信息;
所述区块链管理设备用于:接收所述数据库管理设备返回的所述有效性信息,并根据所述有效性信息验证所述需要验证的交易数据。
5.根据权利要求1-4任一项所述的数据处理***,其特征在于,
所述区块链管理设备还用于:向所述数据库管理设备发送第三SQL语句,所述第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,所述第三字段指示修改有效性信息;
所述数据库管理设备还用于:根据所述第三字段,所述验证失败的交易数据的区块号和交易号,将所述验证失败的交易数据的有效性信息修改为无效。
6.根据权利要求5所述的数据处理***,其特征在于,
所述区块链管理设备还用于:对在所述验证失败的交易数据之后验证的交易数据进行重验证。
7.根据权利要求1-6任一项所述的数据处理***,其特征在于,
所述区块链管理设备还用于:向所述数据库管理设备发送第四SQL语句,所述第四SQL语句包括第四字段,所述第四字段指示清理数据;
所述数据库管理设备还用于:根据所述第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
8.一种基于区块链的数据处理方法,其特征在于,所述方法应用于数据处理***中的区块链管理设备,所述数据处理***还包括出块节点和数据库管理设备,所述方法包括:
接收所述出块节点发送的一个或多个区块,每个区块承载多条交易数据;
向所述数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括所述一个或多个区块所承载的交易数据中的一条第一交易数据,以及所述一条第一交易数据的区块号和交易号,所述区块号表示所述一条第一交易数据所属区块的区块标识,所述交易号表示所述一条第一交易数据在所属区块的所述多条交易数据中的索引,所述第一SQL语句还包括第一字段,所述第一字段指示存储所述一条第一交易数据;
接收所述数据管理设备返回的所述第一交易数据已存储的消息,并根据所述第一交易数据的区块号和交易号,验证所述第一交易数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
同步执行向数据库管理设备发送多条第一结构化查询语言SQL语句和验证第二交易数据,所述第二交易数据已在所述第一交易数据之前存储到所述数据库***中。
10.根据权利要求8或9所述的方法,其特征在于,所述向所述数据库管理设备发送多条第一结构化查询语言SQL语句,包括:
并行向所述数据库管理设备发送多条第一结构化查询语言SQL语句。
11.根据权利要求9或10所述的方法,其特征在于,所述验证所述第一交易数据或验证第二交易数据,包括:
向所述数据库管理设备发送第二SQL语句,所述第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号和,所述第二字段指示所述数据库管理设备返回与所述需要验证的交易数据有关的有效性信息,所述需要验证的交易数据为第一交易数据或第二交易数据;
接收所述数据库管理设备返回的所述有效性信息;
根据所述有效性信息验证所述需要验证的交易数据。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:
向所述数据库管理设备发送第三SQL语句,所述第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,所述第三字段指示修改有效性信息。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
对在所述验证失败的交易数据之后验证的交易数据进行重验证。
14.根据权利要求8-13任一项所述的方法,其特征在于,所述方法还包括:
向所述数据库管理设备发送第四SQL语句,所述第四SQL语句包括第四字段,所述第四字段指示清理数据。
15.一种基于区块链的数据处理方法,其特征在于,所述方法应用于数据处理***中的数据库管理设备,数据处理***还包括区块链管理设备,所述方法包括:
接收来自于所述区块链管理设备的多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及所述一条第一交易数据的区块号和交易号,所述区块号表示所述一条第一交易数据所属区块的区块标识,所述交易号表示所述一条第一交易数据在所属区块的多条交易数据中的索引,所述第一SQL语句还包括第一字段,所述第一字段指示存储所述一条第一交易数据;
根据所述第一字段存储所述一条第一交易数据,并存储所述一条第一交易数据的多个属性信息,所述多个属性信息包括所述一条第一交易数据的区块号、交易号以及所述一条第一交易数据的有效性信息;
向所述区块链管理设备返回指示所述第一交易数据已存储的消息。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
接收来自于所述区块链管理设备的第二SQL语句,所述第二SQL语句包括第二字段、一个需要验证的交易数据的区块号和交易号,所述第二字段指示所述数据库管理设备返回与所述需要验证的交易数据有关的有效性信息;
根据所述第二字段,所述需要验证的交易数据的区块号和交易号向所述区块链管理设备返回有效性信息。
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:
接收来自于所述区块链管理设备的第三SQL语句,所述第三SQL语句包括第三字段、验证失败的交易数据的区块号和交易号,所述第三字段指示修改有效性信息;
根据所述第三字段,所述验证失败的交易数据的区块号和交易号,将所述验证失败的交易数据的有效性信息修改为无效。
18.根据权利要求15-17任一项所述的方法,其特征在于,所述方法还包括:
接收来自于所述区块链管理设备的第四SQL语句,所述第四SQL语句包括第四字段,所述第四字段指示清理数据;
根据所述第四字段,清理已过期的交易数据或已无效的交易数据,以及所清理的交易数据的多个属性信息。
19.一种区块链管理设备,其特征在于,所述区块链管理设备应用于数据处理***,所述数据处理***还包括出块节点和数据库管理设备,所述区块链管理设备包括:
接收单元,用于接收所述出块节点发送的一个或多个区块,每个区块承载多条交易数据;
发送单元,用于向所述数据库管理设备发送多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括所述一个或多个区块所承载的交易数据中的一条第一交易数据,以及所述一条第一交易数据的区块号和交易号,所述区块号表示所述一条第一交易数据所属区块的区块标识,所述交易号表示所述一条第一交易数据在所属区块的所述多条交易数据中的索引,所述第一SQL语句还包括第一字段,所述第一字段指示存储所述一条第一交易数据;
所述接收单元,还用于接收所述数据管理设备返回的所述第一交易数据已存储的消息;
处理单元,用于根据所述第一交易数据的区块号和交易号,验证所述第一交易数据。
20.一种数据库管理设备,其特征在于,所述数据库管理设备应用于数据处理***,所述数据处理***还包括区块链管理设备,所述数据库管理设备包括:
接收单元,用于接收来自于所述区块链管理设备的多条第一结构化查询语言SQL语句,其中,每条第一SQL语句包括一个或多个区块所承载的交易数据中的一条第一交易数据,以及所述一条第一交易数据的区块号和交易号,所述区块号表示所述一条第一交易数据所属区块的区块标识,所述交易号表示所述一条第一交易数据在所属区块的多条交易数据中的索引,所述第一SQL语句还包括第一字段,所述第一字段指示存储所述一条第一交易数据;
处理单元,用于根据所述第一字段存储所述一条第一交易数据,并存储所述一条第一交易数据的多个属性信息,所述多个属性信息包括所述一条第一交易数据的区块号、交易号以及所述一条第一交易数据的有效性信息;
发送单元,用于向所述区块链管理设备返回指示所述第一交易数据已存储的消息。
21.一种区块链管理设备,其特征在于,所述区块链管理设备包括处理器和存储有计算机程序的计算机可读存储介质;
所述处理器与所述计算机可读存储介质耦合,所述计算机程序被所述处理器执行时实现如权利要求8-14任一项所述的方法。
22.一种数据库管理设备,其特征在于,所述数据处理装置包括处理器和存储有计算机程序的计算机可读存储介质;
所述处理器与所述计算机可读存储介质耦合,所述计算机程序被所述处理器执行时实现如权利要求15-18任一项所述的方法。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8-14任一项所述的方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求15-18任一项所述的方法。
25.一种芯片***,其特征在于,包括处理器,所述处理器被调用用于执行如权利要求8-14任一项所述的方法。
26.一种芯片***,其特征在于,包括处理器,所述处理器被调用用于执行如权利要求15-18任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111339.0A CN114372051A (zh) | 2020-10-16 | 2020-10-16 | 一种数据处理***、基于区块链的数据处理方法及设备 |
EP21878970.9A EP4213034A4 (en) | 2020-10-16 | 2021-05-28 | DATA PROCESSING SYSTEM, DATA PROCESSING METHOD BASED ON A BLOCKCHAIN AND DEVICE |
PCT/CN2021/096587 WO2022077916A1 (zh) | 2020-10-16 | 2021-05-28 | 一种数据处理***、基于区块链的数据处理方法及设备 |
US18/301,041 US20230252025A1 (en) | 2020-10-16 | 2023-04-14 | Data Processing System, Blockchain-Based Data Processing Method, and Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111339.0A CN114372051A (zh) | 2020-10-16 | 2020-10-16 | 一种数据处理***、基于区块链的数据处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114372051A true CN114372051A (zh) | 2022-04-19 |
Family
ID=81138123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011111339.0A Pending CN114372051A (zh) | 2020-10-16 | 2020-10-16 | 一种数据处理***、基于区块链的数据处理方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230252025A1 (zh) |
EP (1) | EP4213034A4 (zh) |
CN (1) | CN114372051A (zh) |
WO (1) | WO2022077916A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115388931A (zh) * | 2022-10-27 | 2022-11-25 | 河北省科学院应用数学研究所 | 传感器异常数据的可信监测方法、监测终端及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN110827008B (zh) * | 2018-08-08 | 2023-07-18 | 华为技术有限公司 | 一种区块链节点和交易方法 |
CN109408513A (zh) * | 2018-10-23 | 2019-03-01 | 杭州能链科技有限公司 | 数据处理方法、***以及存储介质 |
US11240001B2 (en) * | 2018-11-06 | 2022-02-01 | International Business Machines Corporation | Selective access to asset transfer data |
DE102018010197A1 (de) * | 2018-12-18 | 2020-06-18 | GRID INVENT gGmbH | Elektronisches Element und elektrisch angesteuertes Anzeigeelement |
WO2020161688A1 (en) * | 2019-02-08 | 2020-08-13 | Christopher Lyndon Higgins | Distributed ledger computing platforms and associated methods, systems and devices |
CN111339106B (zh) * | 2020-05-18 | 2020-08-28 | 杭州趣链科技有限公司 | 一种区块链数据索引的方法 |
CN111680067A (zh) * | 2020-05-28 | 2020-09-18 | 中国工商银行股份有限公司 | 基于区块链的数据处理方法、装置及*** |
-
2020
- 2020-10-16 CN CN202011111339.0A patent/CN114372051A/zh active Pending
-
2021
- 2021-05-28 WO PCT/CN2021/096587 patent/WO2022077916A1/zh active Application Filing
- 2021-05-28 EP EP21878970.9A patent/EP4213034A4/en active Pending
-
2023
- 2023-04-14 US US18/301,041 patent/US20230252025A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115388931A (zh) * | 2022-10-27 | 2022-11-25 | 河北省科学院应用数学研究所 | 传感器异常数据的可信监测方法、监测终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4213034A1 (en) | 2023-07-19 |
EP4213034A4 (en) | 2024-02-28 |
US20230252025A1 (en) | 2023-08-10 |
WO2022077916A1 (zh) | 2022-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600148B (zh) | 一种交易报文处理方法及装置 | |
CN109074362A (zh) | 分布式***中的拆分和移动范围 | |
CN109614413B (zh) | 一种内存流式计算平台*** | |
CN105608086A (zh) | 分布式数据库***的事务处理方法及装置 | |
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
US9323798B2 (en) | Storing a key value to a deleted row based on key range density | |
CN108647357A (zh) | 数据查询的方法及装置 | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN108509453B (zh) | 一种信息处理方法及装置 | |
CN113791586A (zh) | 一种新型的工业app与标识注册解析集成方法 | |
CN112163038A (zh) | 跨集群数据同步方法、装置、设备及存储介质 | |
CN108427736B (zh) | 一种用于查询数据的方法 | |
CN111159264A (zh) | 一种数据处理方法及装置 | |
CN108140022B (zh) | 数据查询方法和数据库*** | |
US20230252025A1 (en) | Data Processing System, Blockchain-Based Data Processing Method, and Device | |
CN106649530B (zh) | 云详单查询管理***及方法 | |
CN112835885A (zh) | 一种分布式表格存储的处理方法、装置及*** | |
US10437806B2 (en) | Database management method and information processing apparatus | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
CN115495620A (zh) | 基于图结构的数据管理方法及相关设备 | |
CN114911575A (zh) | ClickHouse集群管理方法和相关设备 | |
CN105550347B (zh) | 数据处理方法及装置 | |
CN116821232A (zh) | 一种数据同步方法及相关装置 | |
CN114138786A (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 |