CN111680067A - 基于区块链的数据处理方法、装置及系统 - Google Patents
基于区块链的数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN111680067A CN111680067A CN202010469045.9A CN202010469045A CN111680067A CN 111680067 A CN111680067 A CN 111680067A CN 202010469045 A CN202010469045 A CN 202010469045A CN 111680067 A CN111680067 A CN 111680067A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- request
- job
- sql statement
- 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
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000013507 mapping Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012795 verification Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 64
- 238000010586 diagram Methods 0.000 description 32
- 238000003780 insertion Methods 0.000 description 25
- 230000037431 insertion Effects 0.000 description 25
- 238000012217 deletion Methods 0.000 description 20
- 230000037430 deletion Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 238000013523 data management Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 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/2455—Query execution
- G06F16/24564—Applying rules; Deductive 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
-
- 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/23—Updating
- G06F16/235—Update request formulation
-
- 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
- G06F16/2445—Data retrieval commands; View definitions
-
- 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
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/2452—Query translation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的数据处理方法、装置及系统,其中,该方法包括:获取来自用户的包括作业信息的作业请求;根据作业信息生成对应的结构化查询语言SQL语句;根据预定映射规则将SQL语句转换为键值对KV信息;根据KV信息对KV数据库进行与作业请求对应的操作。通过本发明,可以满足智能合约根据实际条件来灵活查询数据的需求,提高智能合约处理复杂业务逻辑的能力。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的数据处理方法、装置及系统。
背景技术
智能合约技术的出现使得区块链应用从加密数字货币扩大到了其它业务领域,例如政务管理、贸易金融、供应链金融、商品溯源、国际支付与结算、数字版权等,扩展了区块链的应用范围。
智能合约作为区块链实现业务功能的重要组成部分,随着区块链应用逐渐广泛,迫切需要智能合约能处理更加复杂的业务逻辑,然而由于一些区块链产品底层采用KV(Key-Value,键值对)数据库存储数据,数据库表在创建时就要根据预设的查询条件固化相应的数据键值,这无法满足智能合约根据实际条件灵活查询数据的需求,限制了智能合约处理复杂业务逻辑的能力。
发明内容
有鉴于此,本发明提供一种基于区块链的数据处理方法、装置及系统,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种基于区块链的数据处理方法,所述方法包括:获取来自用户的包括作业信息的作业请求;根据所述作业信息生成对应的结构化查询语言(Structured Query Language,SQL)语句;根据预定映射规则将所述SQL语句转换为键值对KV信息;根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
根据本发明的第二方面,提供一种基于区块链的数据处理装置,所述装置包括:请求获取单元,用于获取来自用户的包括作业信息的作业请求;SQL语句生成单元,用于根据所述作业信息生成对应的结构化查询语言SQL语句;转换单元,用于根据预定映射规则将所述SQL语句转换为键值对KV信息;执行单元,用于根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
根据本发明的第三方面,提供一种基于区块链的数据处理系统,所述系统包括:客户端、应用服务器端、以及上述的基于区块链的数据处理装置,其中,所述客户端接收来自客户的包括作业信息的作业请求,并将所述作业请求进行加密处理后发送至所述应用服务器端,所述应用服务器端对接收的作业请求进行解密操作后进行合法性验证,在验证成功后将作业请求发送至所述数据处理装置,所述数据处理装置对接收的作业请求进行权限验证,在验证成功后,根据所述作业请求对所述KV数据库进行对应的操作。
根据本发明的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
根据本发明的第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,通过根据获取到的作业信息生成对应的SQL语句,并根据预定映射规则将SQL语句转换为KV信息,之后基于KV信息对数据库进行与作业信息相应的操作,可以实现通过运行SQL语句来灵活操作区块链底层数据库的功能,从而可以满足智能合约根据实际条件来灵活查询数据的需求,提高智能合约处理复杂业务逻辑的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于区块链的数据处理系统的结构框图;
图2是根据本发明实施例的数据处理装置的结构框图;
图3是根据本发明实施例的基于区块链的数据处理系统的示例架构图;
图4是根据本发明实施例的客户端1的结构框图;
图5是根据本发明实施例的应用服务器的结构框图;
图6是根据本发明实施例的区块链节点的结构框图;
图7是根据本发明实施例的交易管理单元41的结构框图;
图8是根据本发明实施例的链码管理单元46的结构框图;
图9是根据本发明实施例的数据库表创建交易的流程图;
图10是根据本发明实施例的表数据插入交易的流程图;
图11是根据本发明实施例的表数据更新交易的流程图;
图12是根据本发明实施例的表数据删除交易的流程图;
图13是根据本发明实施例的表数据查询交易的流程图;
图14是根据本发明实施例的基于区块链的数据处理方法的流程图;
图15是本发明实施例的电子设备600的系统构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中的区块链产品底层一般采用KV数据库存储数据,数据库表在创建时就要根据预设的查询条件固化相应的数据键值对,这导致了无法满足智能合约根据实际条件灵活查询数据的需求,限制了智能合约处理复杂业务逻辑的能力。基于此,本发明实施例提供一种基于区块链的数据处理方案,通过建立一种关系模型到KV模型的映射机制来实现智能合约灵活查询数据的能力。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的基于区块链的数据处理系统的结构框图,如图1所示,该系统包括:客户端101、应用服务器端102、以及基于区块链的数据处理装置103,其中,客户端接收来自客户的包括作业信息的作业请求,并将所述作业请求进行加密处理后发送至所述应用服务器端,所述应用服务器端对接收的作业请求进行解密操作后进行合法性验证,在验证成功后将作业请求发送至所述数据处理装置,所述数据处理装置对接收的作业请求进行权限验证,在验证成功后,根据所述作业请求对所述KV数据库进行对应的操作。
图2是上述数据处理装置的结构框图,如图2所示,该数据处理装置103包括:请求获取单元1031、SQL语句生成单元1032、转换单元1033和执行单元1034,其中:
请求获取单元1031,用于获取来自用户的包括作业信息的作业请求。
SQL语句生成单元1032,用于根据所述作业信息生成对应的结构化查询语言(SQL)语句。
转换单元1033,用于根据预定映射规则将所述SQL语句转换为键值对KV信息。
这里的预定映射规则用于可以实现从SQL语句到KV信息的转换,本发明对具体规则内容不作限制。
执行单元1034,用于根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
通过SQL语句生成单元1032根据请求获取单元1031获取到的作业信息生成对应的SQL语句,转换单元1033根据预定映射规则将SQL语句转换为KV信息,之后执行单元1034基于KV信息对数据库进行相应的操作,如此可以实现通过运行SQL语句来灵活操作区块链底层数据库的功能,从而可以满足智能合约根据实际条件来灵活查询数据的需求,提高了智能合约处理复杂业务逻辑的能力。
在实际操作中,一个作业请求(或者称为一笔交易)可能包含对数据库表的增删改查全量操作,但为了方便说明作业(或称为交易)过程,本发明实施例将对数据库表的增删改查操作独立分解成不同交易,以便说明在各项操作中关系型模型如何映射成KV模型。
为了更好地理解本发明实施例,以下首先描述数据库表的创建。
在创建数据库表时,可以为每张表分配一个表编号,为每个索引分配一个索引编号,其中表编号在整个KV数据库空间唯一,索引编号在表内唯一。对于表数据插入交易,需要将数据写入KV数据库,同时建立好相应的索引数据,在本发明实施例中,为每行数据分配一个行编号,行编号在表内唯一。为了在查询匹配不上索引的情况下提升检索效率,可以对非索引列建立冗余存储。
表数据的键值对按如下规则编码,KEY的编码规则是“表编号_行编号”,VALUE的存储格式是“[列值1,列值2,列值3,...,列值N]”,N表示当前表结构包含N列,N为大于等于1的正整数。
索引数据的键值对按如下规则编码,若是唯一索引,则KEY的编码规则是“表编号_索引编号_索引列值1_索引列值2_...._索引列值K”,K表示该索引包含K列,VALUE则存储对应的行编号;若是非唯一索引,则KEY的编码规则是“表编号_索引编号_索引列值1_索引列值2_...._索引列值M_行编号”,M表示该索引包含M列,VALUE则存储对应的行编号。其中,K、M均为大于等于1的正整数。
非索引列的键值对按如下规则编码,KEY的编码规则是“表编号_列值_行编号”,VALUE则存储对应的行编号。
在创建完成数据库表之后,就可以执行本发明实施例的数据处理装置的具体功能。
在一个实施例中,当请求获取单元1031获取的作业请求为查询请求、作业信息为查询条件时,转换单元1033具体包括:
匹配模块,用于根据所述查询条件与预设值的索引信息进行匹配操作;
第一转换模块,用于响应于匹配成功,根据预定映射规则将所述SQL语句转换为匹配到的索引键值对信息;
第二转换模块,用于响应于匹配失败,根据预定映射规则将所述SQL语句转换为与所述查询条件对应的键值K信息(即,KEY值)。
也就是说,对于表数据查询交易,有两种查询情况,一种是根据查询条件可获得唯一记录(对应于上述索引匹配成功),一种是多条查询,多条查询的条件可能匹配上索引(对应于上述索引匹配成功),也可能需要全表扫描(对应于上述匹配失败)。
在一个实施例中,当请求获取单元1031获取的作业请求为删除请求、作业信息为待删除数据时,所述转换单元1033具体用于:根据预定映射规则将所述SQL语句转换为所述待删除数据的键值K信息。
之后,执行单元1034根据转换单元1033生成的键值K信息对数据库进行删除操作,并将删除结果返回给客户端,以便于用户查看。
当请求获取单元1031获取的作业请求为插入请求、作业信息为待插入数据时,所述转换单元1033具体用于:根据预定映射规则将所述SQL语句转换为所述待插入数据的KV信息。
之后,执行单元1034根据转换单元1033生成的KV信息对数据库进行插入操作,并将插入结果返回给客户端,以便于用户查看。
需要说明的是,在执行上述删除、插入等操作时,还需要对应地对涉及到的索引数据等进行相应的更新。
以下结合图3所示的系统架构来详细描述本发明实施例。
图3是根据本发明实施例的基于区块链的数据处理系统的示例架构图,如图3所示,该系统包括:客户端1、应用服务器2、应用数据库集群3、区块链节点群组4、无线/有线网络5和专有网络6。其中,客户端1通过无线/有线网络5与应用服务器2连接,应用服务器2通过专有网络6分别与应用数据库集群3、区块链节点群组4连接,其中:
所述客户端1,该设备用于接收用户的交易请求,对交易数据进行加密、签名后,通过无线/有线网络5与应用服务器交互。
所述应用服务器2,该设备用于对接收的交易数据进行解密、验签和合法性校验,并记录交易日志,以及通过专有网络与区块链节点群组交互。
所述应用数据库集群3,该设备用于存储交易日志、密钥、用户信息等数据,并通过专有网络与应用服务器交互。
所述的区块链节点群组4,用于处理交易请求,完成交易身份验证、交易权限控制、链码初始化、执行表数据插入交易、表数据更新交易、表数据删除交易、表数据查询交易等。区块链节点群组包括多个节点,该图中示出了4个节点,每个节点部署一套服务器。节点群组的任意节点都可以接收交易请求,并根据请求类别执行不同交易。
所述无线/有线网络5,为运营商提供的无线通信网络或INTERNET(互联网)通信网络。
所述专有网络6,为系统内部专用网络。
由以上描述可知,当用户通过客户端登录数据处理系统后,客户端接收用户的交易请求并对请求报文进行加密、签名后经互联网发送至应用服务器,应用服务器对请求报文进行解密、验签及交易合法性验证,启动应用数据库集群存储交易明细,将交易请求发送至区块链节点群组。区块链节点群组接收请求报文,对用户身份进行安全验证、权限检查,并根据请求类型分别对表数据进行相应地操作。
图4是客户端1的结构框图,如图4所示,客户端1包含:接入请求单元11、安全管理单元12、表数据插入请求单元13、表数据更新请求单元14、表数据删除请求单元15、表数据查询请求单元16。其中,接入请求单元11负责接收和校验用户的数据。安全管理单元12负责对发送至应用服务器的交易数据进行加密并对应用服务器返回的数据进行解密,例如,将摘要信息通过用户私钥加密,与交易数据原文一起发送至应用服务器。表数据插入请求单元13负责将用户提交的数据插入请求发送至应用服务器。表数据更新请求单元14负责将用户提交的数据更新请求发送至应用服务器。表数据删除请求单元15负责将用户提交的数据删除请求发送至应用服务器。表数据查询请求单元16负责将用户提交的数据查询请求发送至应用服务器。接入请求单元11接收和校验用户提交的数据后,视请求的类别(包括表数据插入交易、表数据更新交易、表数据删除交易、表数据查询交易),分别交由表数据插入请求单元13、表数据更新请求单元14、表数据删除请求单元15、表数据查询请求单元16。
图5为应用服务器的结构框图,如图5所示,应用服务器2包含:安全管理单元21、签名管理单元22、权限管理单元23、交易日志存储单元24、请求接收单元25。其中,安全管理单元21负责对交易数据加解密。签名管理单元22负责验签,使用用户的公钥对签名进行验证。权限管理单元23负责设置并验证用户对交易的操作权限。交易日志存储单元24负责记录交易日志,并调用应用数据库集群完成数据存储。请求接收单元25负责接收客户端1发送的交易请求,并转发请求至区块链节点群组4。
图6为区块链节点的结构框图,如图6所示,区块链节点包含交易管理单元41、成员管理单元42、事件管理单元43、共识管理单元44、数据管理单元45、链码管理单元46。其中,交易管理单元41负责接收应用服务器2转发的交易请求。成员管理单元42负责验证区块链节点的身份合法性。事件管理单元43负责处理监听区块链节点间的事件消息并做出响应。共识管理单元44负责管理区块链的共识算法,提供可插拔和可动态切换的共识机制。数据管理单元45负责区块链节点间的数据一致性校验、数据同步、数据持久化操作。链码管理单元46负责管理部署在区块链系统里的链码(Chaincode),根据链码唯一标识调用相应的智能合约容器。
图7是交易管理单元41的结构框图,如图7所示,交易管理单元41包含:请求接收模块411、表数据插入交易模块412、表数据更新交易模块413、表数据删除交易模块414和表数据查询交易模块415。其中:请求接收模块411负责接收应用服务器2转发的交易请求,并根据不同请求类型(包括表数据插入交易、表数据更新交易、表数据删除交易、表数据查询交易),分别调用表数据插入交易模块412、表数据更新交易模块413、表数据删除交易模块414、表数据查询交易模块415。
图8是链码管理单元46的结构框图,如图8所示,链码管理单元46包含:链码初始化模块461、结构化查询语言解析模块462、关系模型与KV模型的映射模块463、数据运算模块464、表数据键值编码模块465。其中,链码初始化模块461负责在链码部署时执行初始化工作,创建数据库表的元信息、索引信息。结构化查询语言解析模块462负责在链码执行数据库操作时解析SQL语句。关系模型与KV模型的映射模块463负责将SQL表达式映射成KV表达式,完成关系模型向KV模型转换。数据运算模块464通过KV接口获取对应数据,并执行各种运算,将满足条件的数据过滤出来。表数据键值编码模块465负责拼装表数据对应的键值,对于点查询只有一个数据键值,对于范围查询包含起始键值和终止键值。
在本发明实施例中,包括五个关键交易:数据库表创建交易、表数据插入交易、表数据更新交易、表数据删除交易和表数据查询交易。以下分别描述这五个交易。
(一)数据库表创建交易
图9是根据本发明实施例的数据库表创建交易的流程图,如图9所示,该流程包括:
步骤901:区块链节点4的链码管理单元46启动对链码的编译部署。
步骤902:链码管理单元46的链码初始化模块461对链码中预定义的表结构元信息及索引信息分配相应的编号。假设创建的表为用户信息表USER_INFO,则该表中包含用户编号、姓名、性别、年龄、国籍、联系电话几列信息,表结构的定义如下:
该表包含两个索引,一个唯一索引USERID,另一个非唯一索引AGE,索引的定义如下:
create unique index PK_INDX_USER_INFO_1on USER_INFO(USERID);
create index PK_INDX_USER_INFO_2on USER_INFO(AGE);
根据表编号、索引编号编码规则,系统为USER_INFO分配表编号“T001”,为索引USERID分配索引编号“T001_I001”,为索引AGE分配索引编号“T001_I002”。
步骤903:链码管理单元46的链码初始化模块461将需要保存的表结构元信息和索引信息发送至数据管理单元45。
步骤904:数据管理单元45将表结构元信息和索引信息存储至KV数据库。存储元信息的键值对如下表1所示:
KEY值 | VALUE值 |
T001 | ["USERID","NAME","SEX","AGE","COUNTRY","PHONE"] |
表1
存储索引USERID的键值对如下表2所示:
KEY值 | VALUE值 |
T001_I001 | ["USERID"] |
表2
存储索引AGE的的键值对如下表3所示:
KEY值 | VALUE值 |
T001_I002 | ["AGE"] |
表3
(二)表数据插入交易
在一个实例中,假设有如下表4所示的数据需要插入数据库表USER_INFO中,下面结合附图10来详细描述表数据插入交易的流程。
用户编号 | 姓名 | 性别 | 年龄 | 国籍 | 联系电话 |
000001 | ZHANG | M | 20 | CHINA | 13112345432 |
000002 | LI | F | 15 | USA | 13321123454 |
000003 | WANG | F | 34 | CHINA | 13543211234 |
000004 | ZHAO | M | 53 | USA | 13234543211 |
表4
如图10所示,表数据插入交易的流程包括:
步骤1001:接入请求单元11接收用户的交易请求并调用表数据插入请求单元13,请求报文包含待插入数据库表的数据及交易签名信息,表数据插入请求单元13对请求报文进行合法性校验和加密,将用户的交易请求数据经无线/有线网络5发送给应用服务器2。
步骤1002:应用服务器2的安全管理单元21对交易数据进行解密,得到交易数据明文,然后调用签名管理单元22。
步骤1003:签名管理单元22对交易数据进行完整性检查,并与签名信息进行比对,以确认交易数据未被篡改,校验通过后调用权限管理单元23。
步骤1004:权限管理单元23校验用户的交易操作权限,通过后经专有网络6调用区块链节点群组4的区块链主节点。
步骤1005:交易管理单元41的请求接收模块411接收用户的表数据插入请求,并调用表数据插入交易模块412。
步骤1006:表数据插入交易模块412调用成员管理单元42进行区块链节点的身份验证,验证通过后生成插入表数据的SQL语句。基于表4中的数据,表数据插入交易模块412生成的SQL语句如下:
insert into USER_INFO(USERID,NAME,SEX,AGE,COUNTRY,PHONE)values('000001','ZHANG','M',20,'CHINA','13112345432');
insert into USER_INFO(USERID,NAME,SEX,AGE,COUNTRY,PHONE)values('000002','LI','F',15,'USA','13321123454');
insert into USER_INFO(USERID,NAME,SEX,AGE,COUNTRY,PHONE)values('000003','WANG','F',34,'CHINA','13543211234');
insert into USER_INFO(USERID,NAME,SEX,AGE,COUNTRY,PHONE)values('000004','ZHAO','M',53,'USA','13234543211');
然后调用链码管理单元46的结构化查询语言解析模块462。
步骤1007:结构化查询语言解析模块462对上述SQL语句进行解析,并调用关系模型与KV模型的映射模块463。
步骤1008:关系模型与KV模型的映射模块463将关系型表达式转化成KV表达式,并调用表数据键值编码模块465生成各数据的键值对。
根据本发明实施例的表数据键值对编码规则,针对上述实例数据,各表数据键值对如下表5所示:
KEY值 | VALUE值 |
T001_R0000000001 | ["000001","ZHANG","M",20,"CHINA","13112345432"] |
T001_R0000000002 | ["000002","LI","F",15,"USA","13321123454"] |
T001_R0000000003 | ["000003","WANG","F",34,"CHINA","13543211234"] |
T001_R0000000004 | ["000004","ZHAO","M",53,"USA","13234543211"] |
表5
此时索引也需要更新,对索引USERID生成相应的键值对如下表6所示:
KEY值 | VALUE值 |
T001_I001_000001 | T001_R0000000001 |
T001_I001_000002 | T001_R0000000002 |
T001_I001_000003 | T001_R0000000003 |
T001_I001_000004 | T001_R0000000004 |
表6
对索引AGE生成相应的键值对如下表7所示:
KEY值 | VALUE值 |
T001_I002_020_R0000000001 | T001_R0000000001 |
T001_I002_015_R0000000002 | T001_R0000000002 |
T001_I002_034_R0000000003 | T001_R0000000003 |
T001_I002_053_R0000000004 | T001_R0000000004 |
表7
对非索引列生成相应的键值对如下表8所示:
KEY值 | VALUE值 |
T001_ZHAO_R0000000004 | R0000000004 |
T001_ZHANG_R0000000001 | R0000000001 |
T001_WANG_R0000000003 | R0000000003 |
T001_USA_R0000000004 | R0000000004 |
T001_USA_R0000000002 | R0000000002 |
T001_M_R0000000004 | R0000000004 |
T001_M_R0000000001 | R0000000001 |
T001_LI_R0000000002 | R0000000002 |
T001_F_R0000000003 | R0000000003 |
T001_F_R0000000002 | R0000000002 |
T001_CHINA_R0000000003 | R0000000003 |
T001_CHINA_R0000000001 | R0000000001 |
T001_13543211234_R0000000003 | R0000000003 |
T001_13321123454_R0000000002 | R0000000002 |
T001_13234543211_R0000000004 | R0000000004 |
T001_13112345432_R0000000001 | R0000000001 |
表8
步骤1009:链码管理单元46的表数据键值编码模块465将需要保存的各数据键值对发送至数据管理单元45。
步骤1010:数据管理单元45将各数据键值对存储至KV数据库。
(三)表数据更新交易
在一个实例中,假设有如下表9所示的数据需要更新至数据库表USER_INFO中,下面结合附图11来详细描述表数据更新交易的流程。
用户编号 | 姓名 | 性别 | 年龄 | 国籍 | 联系电话 | |
原数据 | 000002 | LI | F | 15 | USA | 13321123454 |
新数据 | 000002 | LIU | F | 25 | USA | 13321123454 |
表9
如图11所示,表数据更新交易的流程包括:
步骤1101:接入请求单元11接收用户的交易请求并调用表数据更新请求单元14,请求报文包含待更新数据及交易签名信息,表数据更新请求单元14对请求报文进行合法性校验和加密,将用户的交易请求数据经无线/有线网络5发送给应用服务器2。
步骤1102:应用服务器2的安全管理单元21对交易数据进行解密,得到交易数据明文,然后调用签名管理单元22。
步骤1103:签名管理单元22对交易数据进行完整性检查,并与签名信息进行比对,以确认交易数据未被篡改,校验通过后调用权限管理单元23。
步骤1104:权限管理单元23校验用户的交易操作权限,通过后经专有网络6调用区块链节点群组4的区块链主节点。
步骤1105:交易管理单元41的请求接收模块411接收用户的表数据更新请求,并调用表数据更新交易模块413。
步骤1106:表数据更新交易模块413调用成员管理单元42进行区块链节点的身份验证,验证通过后生成更新表数据的SQL语句。针对表9所示的数据,表数据更新交易模块413生成的SQL语句如下:
update USER_INFO set NAME='LIU',AGE=25where USERID='000002';
然后调用链码管理单元46的结构化查询语言解析模块462。
步骤1107:结构化查询语言解析模块462对上述SQL语句进行解析,并调用关系模型与KV模型的映射模块463。
步骤1108:关系模型与KV模型的映射模块463将关系型表达式转化成KV表达式,并调用表数据键值编码模块465生成各数据的键值对。根据本发明实施例的表数据键值对编码规则,针对表9所示的数据,各表数据键值对如下表10所示:
KEY值 | VALUE值 |
T001_R0000000002 | ["000002","LIU","F",25,"USA","13321123454"] |
表10
由于年龄发生变化,需对索引AGE生成新的键值对如下表11所示:
KEY值 | VALUE值 |
T001_I002_025_R0000000002 | T001_R0000000002 |
5表11
由于姓名发生了变化,需对非索引列NAME生成新的键值对如下表12所示:
KEY值 | VALUE值 |
T001_LIU_R0000000002 | R0000000002 |
表12
步骤1109:链码管理单元46的表数据键值编码模块465将需要保存的各数据键值对发送至数据管理单元45。
步骤1110:数据管理单元45将各个新数据键值对存储至KV数据库,并将旧键值T001_I002_015_R0000000002、T001_LI_R0000000002对应的数据删除。
(四)表数据删除交易
在一个实例中,假设有如下表13所示的数据需要从数据库表USER_INFO中删除,下面结合附图12来详细描述表数据删除交易的流程。
用户编号 | 姓名 | 性别 | 年龄 | 国籍 | 联系电话 |
000003 | WANG | F | 34 | CHINA | 13543211234 |
表13
如图12所示,表数据删除交易的流程包括:
步骤1201:接入请求单元11接收用户的交易请求并调用表数据删除请求单元15,请求报文包含待删除数据及交易签名信息,表数据删除请求单元15对请求报文进行合法性校验和加密,之后将用户的交易请求数据经无线/有线网络5发送给应用服务器2。
步骤1202:应用服务器2的安全管理单元21对交易数据进行解密,得到交易数据明文,然后调用签名管理单元22。
步骤1203:签名管理单元22对交易数据进行完整性检查,并与签名信息进行比对,以确认交易数据未被篡改,校验通过后调用权限管理单元23。
步骤1204:权限管理单元23校验用户的交易操作权限,通过后经专有网络6调用区块链节点群组4的区块链主节点。
步骤1205:交易管理单元41的请求接收模块411接收用户的表数据删除请求,并调用表数据删除交易模块414。
步骤1206:表数据删除交易模块414调用成员管理单元42进行区块链节点的身份验证,验证通过后生成删除表数据的SQL语句。针对上述表13的数据,表数据删除交易模块414生成的SQL语句如下:
delete from USER_INFO where USERID='000003';
然后调用链码管理单元46的结构化查询语言解析模块462。
步骤1207:结构化查询语言解析模块462对上述SQL语句进行解析,并调用关系模型与KV模型的映射模块463。
步骤1208:关系模型与KV模型的映射模块463将关系型表达式转化成KV表达式,并调用表数据键值编码模块465生成待删除数据的KEY值。根据本发明实施例的表数据键值对编码规则,针对上述实例数据,待删除数据的KEY值如下表14所示:
KEY值 |
T001_R0000000003 |
T001_I001_000003 |
T001_I002_034_R0000000003 |
T001_WANG_R0000000003 |
T001_F_R0000000003 |
T001_CHINA_R0000000003 |
T001_13543211234_R0000000003 |
表14
步骤1209:链码管理单元46的表数据键值编码模块465将需要删除的各数据键值对发送至数据管理单元45。
步骤1210:数据管理单元45将各键值对应的数据从KV数据库删除。
(五)表数据查询交易
在一个实例中,假设需要查询数据库表USER_INFO,第一笔是查询USERID为000001的用户信息;第二笔是查询年龄在20至35岁之间的用户信息;第三笔是查询性别为“F”且国籍为“CHINA”的用户信息。下面结合附图13来详细描述表数据查询交易的流程。
如图13所示,表数据查询交易的流程包括:
步骤1301:接入请求单元11接收用户的交易请求并调用表数据查询请求单元16,请求报文包含待查询数据及交易签名信息,表数据查询请求单元16对请求报文进行合法性校验和加密,将用户的交易请求数据经无线/有线网络5发送给应用服务器2。
步骤1302:应用服务器2的安全管理单元21对交易数据进行解密,得到交易数据明文,然后调用签名管理单元22。
步骤1303:签名管理单元22对交易数据进行完整性检查,并与签名信息进行比对,以确认交易数据未被篡改,校验通过后调用权限管理单元23。
步骤1304:权限管理单元23校验用户的交易操作权限,通过后经专有网络6调用区块链节点群组4的区块链主节点。
步骤1305:交易管理单元41的请求接收模块411接收用户的表数据查询请求,并调用表数据查询交易模块415。
步骤1306:表数据查询交易模块415调用成员管理单元42进行区块链节点的身份验证,验证通过后生成查询表数据的SQL语句。针对上述查询数据,表数据查询交易模块415生成的SQL语句如下:
select*from USER_INFO where USERID='000001';
select*from USER_INFO where AGE>=20and AGE<=35;
select*from USER_INFO where SEX='F'AND COUNTRY='CHINA';
然后调用链码管理单元46的结构化查询语言解析模块462。
步骤1307:结构化查询语言解析模块462对上述SQL语句进行解析,并调用关系模型与KV模型的映射模块463。
步骤1308:关系模型与KV模型的映射模块463将关系型表达式转化成KV表达式,并调用表数据键值编码模块465生成各数据的键值对。对于第三笔查询,查询条件未匹配上任何索引,为提高查询效率,对于未匹配上索引的情况,关系模型与KV模型的映射模块463需要根据每一个查询条件生成查询键值。此处需要生成两对查询键值,分别是(T001_F_R0000000001,T001_F_R9999999999)和(T001_CHINA_R0000000001,T001_CHINA_R9999999999)。根据本发明实施例的表数据键值对编码规则,上述SQL映射的查询KEY值如下表15所示:
表15
步骤1309:链码管理单元46的表数据键值编码模块465将各个查询键值和“是否匹配索引”标志发送至数据管理单元45,其中,括号内键值组合表示范围查询的起始键值和终止键值。
步骤1310:数据管理单元45根据键值查询KV数据库,若“是否匹配索引”标志为“是”,则需要先取出索引值对应的数据键值,并根据数据键值获取对应的数据VALUE值。如,索引T001_I001_000001对应数据键值是T001_R0000000001,则再根据T001_R0000000001获取最终的数据VALUE值“["000001","ZHANG","M",20,"CHINA","13112345432"]”。若“是否匹配索引”标志为“否”,则需要根据每个查询条件对应的键值对分别检索出独立的数据集。数据管理单元45将查询结果集和“是否匹配索引”标志返回给链码管理单元46的数据运算模块464。
步骤1311:数据运算模块464接收数据管理单元45返回的查询结果集后,再根据查询条件筛选满足要求的数据,对于“是否匹配索引”标志为“否”的情况,数据运算模块464需要根据所有的数据集进行取交集运算。本实例的数据查询结果及数据筛选结果如下表16所示:
表16
步骤1312:数据运算模块464输出最终的查询结果,沿交易链路返回给客户端。
由于区块链数据以KV形式存储,因而通过在智能合约层与数据库底层之间建立SQL关系模型到KV模型的映射机制,可以实现智能合约运行结构化查询语言来灵活查询区块链底层数据库数据。本发明实施例降低了表数据键值的设计难度,使得设计数据键值时不再受限于业务既定的查询条件,同时扩展了智能合约处理复杂业务逻辑的能力,使得传统的复杂业务在区块链上处理成为可能。
在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。
基于相似的发明构思,本发明实施例还提供一种基于区块链的数据处理方法,该方法流程优选地可通过上述基于区块链的数据处理装置来实现。
图14是根据本发明实施例的基于区块链的数据处理方法的流程图,如图14所示,该方法包括:
步骤1401,获取来自用户的包括作业信息的作业请求;
步骤1402,根据所述作业信息生成对应的结构化查询语言SQL语句;
步骤1403,根据预定映射规则将所述SQL语句转换为键值对KV信息;
步骤1404,根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
通过根据获取到的作业信息生成对应的SQL语句,并根据预定映射规则将SQL语句转换为KV信息,之后基于KV信息对数据库进行相应的操作,可以实现通过运行SQL语句来灵活操作区块链底层数据库的功能,从而可以满足智能合约根据实际条件来灵活查询数据的需求,提高了智能合约处理复杂业务逻辑的能力。
具体地,当作业请求为查询请求、作业信息为查询条件时,上述步骤1403的根据预定映射规则将所述SQL语句转换为键值对KV信息具体包括:首先,根据查询条件与预设值的索引信息进行匹配操作;当匹配成功时,根据预定映射规则将所述SQL语句转换为匹配到的索引键值对信息;而当匹配失败时,根据预定映射规则将所述SQL语句转换为与所述查询条件对应的键值K信息。
当作业请求为删除请求、作业信息为待删除数据时,上述步骤1403的根据预定映射规则将所述SQL语句转换为键值对KV信息包括:根据预定映射规则将所述SQL语句转换为所述待删除数据的键值K信息。
当作业请求为插入请求、作业信息为待插入数据时,上述步骤1403的根据预定映射规则将所述SQL语句转换为键值对KV信息包括:根据预定映射规则将所述SQL语句转换为所述待插入数据的KV信息。
在实际操作中,作业请求为更新的操作,可以基于上述删除和插入操作来实现。
上述对数据库表的查询、删除、插入以及更新等操作,可以参见上述装置实施例中的相关描述,此处不再赘述。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及基于区块链的数据处理装置/系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图15为本发明实施例的电子设备600的系统构成的示意框图。如图15所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,基于区块链的数据处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取来自用户的包括作业信息的作业请求;
根据所述作业信息生成对应的结构化查询语言SQL语句;
根据预定映射规则将所述SQL语句转换为键值对KV信息;
根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
从上述描述可知,本申请实施例提供的电子设备,通过根据获取到的作业信息生成对应的SQL语句,并根据预定映射规则将SQL语句转换为KV信息,之后基于KV信息对数据库进行相应的操作,可以实现通过运行SQL语句来灵活操作区块链底层数据库的功能,从而可以满足智能合约根据实际条件来灵活查询数据的需求,提高了智能合约处理复杂业务逻辑的能力。
在另一个实施方式中,基于区块链的数据处理装置/系统可以与中央处理器100分开配置,例如可以将基于区块链的数据处理装置/系统配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现基于区块链的数据处理功能。
如图15所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图15中所示的所有部件;此外,电子设备600还可以包括图15中没有示出的部件,可以参考现有技术。
如图15所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述基于区块链的数据处理方法的步骤。
综上所述,本发明实施例提供了一种支持结构化查询语言的区块链数据处理方案,由于区块链数据以KV形式存储,因而通过关系模型到KV模型的映射机制,可以实现智能合约通过运行结构化查询语言(SQL)来灵活查询区块链底层数据。同时,在数据库表设计方面,原先设计数据键值时需要根据已知的查询条件提前设计数据键值,数据访问的灵活性较差,本发明实施例通过映射关系的建立,降低了数据键值的设计难度,数据访问可以根据任意条件灵活查询。以及,在业务处理能力方面,由于智能合约可以根据业务需求按任意条件访问数据,数据的灵活查询扩展了智能合约处理复杂业务逻辑的能力,使传统的复杂业务系统迁移至区块链上成为了可能。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种基于区块链的数据处理方法,其特征在于,所述方法包括:
获取来自用户的包括作业信息的作业请求;
根据所述作业信息生成对应的结构化查询语言SQL语句;
根据预定映射规则将所述SQL语句转换为键值对KV信息;
根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述作业请求为查询请求,所述作业信息为查询条件,根据预定映射规则将所述SQL语句转换为键值对KV信息包括:
根据所述查询条件与预设值的索引信息进行匹配操作;
响应于匹配成功,根据预定映射规则将所述SQL语句转换为匹配到的索引键值对信息;
响应于匹配失败,根据预定映射规则将所述SQL语句转换为与所述查询条件对应的键值K信息。
3.根据权利要求1所述的方法,其特征在于,所述作业请求为删除请求,所述作业信息为待删除数据,根据预定映射规则将所述SQL语句转换为键值对KV信息包括:
根据预定映射规则将所述SQL语句转换为所述待删除数据的键值K信息。
4.根据权利要求1所述的方法,其特征在于,所述作业请求为插入请求,所述作业信息为待插入数据,根据预定映射规则将所述SQL语句转换为键值对KV信息包括:
根据预定映射规则将所述SQL语句转换为所述待插入数据的KV信息。
5.一种基于区块链的数据处理装置,其特征在于,所述装置包括:
请求获取单元,用于获取来自用户的包括作业信息的作业请求;
SQL语句生成单元,用于根据所述作业信息生成对应的结构化查询语言SQL语句;
转换单元,用于根据预定映射规则将所述SQL语句转换为键值对KV信息;
执行单元,用于根据所述KV信息对KV数据库进行与所述作业请求对应的操作。
6.根据权利要求5所述的装置,其特征在于,所述作业请求为查询请求,所述作业信息为查询条件,所述转换单元包括:
匹配模块,用于根据所述查询条件与预设值的索引信息进行匹配操作;
第一转换模块,用于响应于匹配成功,根据预定映射规则将所述SQL语句转换为匹配到的索引键值对信息;
第二转换模块,用于响应于匹配失败,根据预定映射规则将所述SQL语句转换为与所述查询条件对应的键值K信息。
7.根据权利要求5所述的装置,其特征在于,所述作业请求为删除请求,所述作业信息为待删除数据,所述转换单元具体用于:
根据预定映射规则将所述SQL语句转换为所述待删除数据的键值K信息。
8.根据权利要求5所述的装置,其特征在于,所述作业请求为插入请求,所述作业信息为待插入数据,所述转换单元具体用于:
根据预定映射规则将所述SQL语句转换为所述待插入数据的KV信息。
9.一种基于区块链的数据处理系统,其特征在于,所述系统包括:客户端、应用服务器端、以及权利要求5至8中任一项所述的基于区块链的数据处理装置,其中,
所述客户端接收来自客户的包括作业信息的作业请求,并将所述作业请求进行加密处理后发送至所述应用服务器端,
所述应用服务器端对接收的作业请求进行解密操作后进行合法性验证,在验证成功后将作业请求发送至所述数据处理装置,
所述数据处理装置对接收的作业请求进行权限验证,在验证成功后,根据所述作业请求对所述KV数据库进行对应的操作。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469045.9A CN111680067A (zh) | 2020-05-28 | 2020-05-28 | 基于区块链的数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469045.9A CN111680067A (zh) | 2020-05-28 | 2020-05-28 | 基于区块链的数据处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111680067A true CN111680067A (zh) | 2020-09-18 |
Family
ID=72434969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469045.9A Pending CN111680067A (zh) | 2020-05-28 | 2020-05-28 | 基于区块链的数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680067A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711592A (zh) * | 2020-12-31 | 2021-04-27 | 中国科学院计算技术研究所数字经济产业研究院 | 基于区块链的数据索引方法 |
CN112765270A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 区块链数据处理方法、装置、计算机设备及介质 |
WO2022077916A1 (zh) * | 2020-10-16 | 2022-04-21 | 华为技术有限公司 | 一种数据处理系统、基于区块链的数据处理方法及设备 |
WO2022140936A1 (zh) * | 2020-12-28 | 2022-07-07 | 杭州趣链科技有限公司 | 区块链中数据查询工作量的计量方法、装置及终端 |
CN115134150A (zh) * | 2022-06-29 | 2022-09-30 | 中国工商银行股份有限公司 | 基于区块链的数据获取方法、系统、存储介质及电子装置 |
CN116205411A (zh) * | 2023-04-27 | 2023-06-02 | 山东铁路投资控股集团有限公司 | 一种基于大数据的物资用量核查方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172898A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Distributed sql query processing using key-value storage system |
CN110309196A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN110390525A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链世界状态的直接访问方法及区块链节点 |
CN110704428A (zh) * | 2019-09-06 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 区块链的数据索引方法、装置、计算机设备和存储介质 |
CN110827008A (zh) * | 2018-08-08 | 2020-02-21 | 华为技术有限公司 | 一种区块链节点和交易方法 |
-
2020
- 2020-05-28 CN CN202010469045.9A patent/CN111680067A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140172898A1 (en) * | 2012-12-13 | 2014-06-19 | Microsoft Corporation | Distributed sql query processing using key-value storage system |
CN110827008A (zh) * | 2018-08-08 | 2020-02-21 | 华为技术有限公司 | 一种区块链节点和交易方法 |
CN110309196A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN110390525A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链世界状态的直接访问方法及区块链节点 |
CN110704428A (zh) * | 2019-09-06 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 区块链的数据索引方法、装置、计算机设备和存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022077916A1 (zh) * | 2020-10-16 | 2022-04-21 | 华为技术有限公司 | 一种数据处理系统、基于区块链的数据处理方法及设备 |
WO2022140936A1 (zh) * | 2020-12-28 | 2022-07-07 | 杭州趣链科技有限公司 | 区块链中数据查询工作量的计量方法、装置及终端 |
CN112711592A (zh) * | 2020-12-31 | 2021-04-27 | 中国科学院计算技术研究所数字经济产业研究院 | 基于区块链的数据索引方法 |
CN112765270A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 区块链数据处理方法、装置、计算机设备及介质 |
CN112765270B (zh) * | 2020-12-31 | 2022-06-17 | 杭州趣链科技有限公司 | 区块链数据处理方法、装置、计算机设备及介质 |
CN112711592B (zh) * | 2020-12-31 | 2022-06-28 | 中国科学院计算技术研究所数字经济产业研究院 | 基于区块链的数据索引方法 |
CN115134150A (zh) * | 2022-06-29 | 2022-09-30 | 中国工商银行股份有限公司 | 基于区块链的数据获取方法、系统、存储介质及电子装置 |
CN116205411A (zh) * | 2023-04-27 | 2023-06-02 | 山东铁路投资控股集团有限公司 | 一种基于大数据的物资用量核查方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680067A (zh) | 基于区块链的数据处理方法、装置及系统 | |
CN107396360B (zh) | 区块验证方法及装置 | |
CN110390525B (zh) | 区块链世界状态的直接访问方法及区块链节点 | |
CN111325626B (zh) | 对账数据推送方法及装置 | |
CN110609679B (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN111177801B (zh) | 电子文档的签章方法、装置、存储介质和电子设备 | |
CN112699081A (zh) | 基于区块链的文件自证方法及装置 | |
CN111314172B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN109272316B (zh) | 一种基于区块链网络下的区块实现方法及系统 | |
CN106664308B (zh) | 注册之前的设备验证 | |
CN106302592A (zh) | 终端应用的更新方法、服务器和终端 | |
CN113094334B (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
CN110162988A (zh) | 一种基于业务系统的敏感数据加密方法 | |
CN112784112A (zh) | 报文校验方法及装置 | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
US20230144072A1 (en) | Data storage server and client devices for securely storing data | |
CN110807203B (zh) | 数据处理方法、业务运营中心平台、系统以及存储介质 | |
KR20230124207A (ko) | 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법 | |
CN111090530B (zh) | 一种分布式跨进程间通信总线系统 | |
JP6178119B2 (ja) | データ移行システム、及びデータ移行方法 | |
CN110636042A (zh) | 一种服务端已验证块高的更新方法、装置及设备 | |
TWM591647U (zh) | 能夠安全地存取及刪除資料的資料管理系統 | |
CN113157277B (zh) | 一种主机文件处理方法及装置 | |
CN111797416B (zh) | 加密数据的处理方法及装置 | |
CN111783117B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |
|
RJ01 | Rejection of invention patent application after publication |