CN114328590B 交易执行方法、装置、设备和存储介质 (杭州趣链科技有限公司)_第1页
CN114328590B 交易执行方法、装置、设备和存储介质 (杭州趣链科技有限公司)_第2页
CN114328590B 交易执行方法、装置、设备和存储介质 (杭州趣链科技有限公司)_第3页
CN114328590B 交易执行方法、装置、设备和存储介质 (杭州趣链科技有限公司)_第4页
CN114328590B 交易执行方法、装置、设备和存储介质 (杭州趣链科技有限公司)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

句和智能合约空间标识的合约调用交易;根据的操作类型和键值对在内存中的目标空间中执SQL语句的执行。本申请中允许客户端在发起调用SQL智能合约的合约调用交易时,传入不同的链系统对SQL语句的灵活执行,且通过目标空间2在区块链账本中为结构化查询语言SQL智能合约创建智能合约空间,所述智能合约空将所述智能合约空间的智能合约空间标识发送给所接收所述客户端发送的携带有SQL语句和所述智能合约空间标识的合约调用交易,所在根据所述智能合约空间标识确定内存中不存在目标空间的在根据所述智能合约空间标识确定所述内存中存在所述目若在所述目标空间中成功执行数据操作,则在所述目标空间中存在数据更新的情况下,将所述目标空间中更新的数据提交至所述智能合约空间,以完成对所述SQL语句的执4.如权利要求1-3任一所述的方法,其特征在于,所述根据所述操作类型和所述键值若所述操作类型为建表类型,则根据所述键值对在所述若所述目标空间中不存在所述第一数据表,则根据所述键值对5.如权利要求1-3任一所述的方法,其特征在于,所述根据所述操作类型和所述键值若所述操作类型为表数据插入类型,则根据所述键值对在所述目标若所述目标空间中存在所述第二数据表,则根据所述键值3若所述目标空间中不存在所述第二数据表,则在所述智能若所述智能合约空间不存在所述第二数据表,则确定在所若所述智能合约空间存在所述第二数据表,则将所述智能合约根据所述键值对在所述目标空间中的所述第二数据表中插入所所述接收模块,还用于接收所述客户端发送的携带有SQL语句和所述智能合约空间标在根据所述智能合约空间标识确定内存中不存在目标空间的在根据所述智能合约空间标识确定所述内存中存在所述目若在所述目标空间中成功执行数据操作,则在所述目标空间中存在数据更新的情况下,将所述目标空间中更新的数据提交至所述智能合约空间,以完成对所述SQL语句的执9.一种计算机可读存储介质,其特征在于,4[0005]接收客户端发送的携带有SQL语句和智能合约空间标识的合约调用交易,所述合约调用交易用于调用SQL智能合约,所述智能合约空间标识用于标识区块链账本中属于所更新的数据提交至区块链账本中的智能合约空间,如此可以提高区块链账本数据的安全[0011]可选地,所述接收客户端发送的携带有结构化查询语言SQL语句和智能合约空间5[0034]接收模块,用于接收客户端发送的携带有SQL语句和智能合约空间标识的合约调6[0035]执行模块,用于根据所述SQL语句和所述智能合约空间标识调用所述SQL智能合[0042]发送模块,用于将所述智能合约空间的所述智能合约空间标识发送给所述客户78[0077]区块链系统100中的每个节点101均存储一条相同的区块链。下面以图2为例来对[0082]为此,本申请实施例提供了一种交易执行方法,可以通过区块链系统中的SQL端301与区块链系统302可以通过有线连接与[0086]客户端301用于生成SQL语句,并将该SQL语句携带于合约调用交易中发送给区块9统302接收到客户端301发送的合约调用交易后,可以调用SQL智能合约执行该合约调用交块链系统302通过SQL智能合约对合约调用交易中携带的SQL语句的灵活执行,从而可以扩[0089]图4是本申请实施例提供的一种交易执行方法的流程图。该方法可以应用于区块[0091]合约部署交易用于指示区块链系统部署SQL智能合约,SQL智能合约是用于执行空间标识用于标识该SQL语句要进行数据操作的智能合约空间,即用于标识区块链账本中[0099]比如,该SQL语句可以是DDL(DataDefinitionLanguage,数据定义语言)语句、合约来执行SQL语句;或者,可以是一个客户端在通过合约部署交易指示区块链系统部署SQL智能合约后,再由另一个客户端通过合约调用交易调用所部署的SQL智能合约来执行[0101]区块链系统接收到合约调用交易后,可以调用SQL智能合约来执行合约调用交易情况下,步骤4051-步骤4055中需要与区块链账本的交互均可以通过该执行上下文提供的操作的数据的关键字(如主键),根据key值可以从区块链账本中查找所要操作的数据。应的操作类型和键值对。该执行器可以根据该SQL语句对应的操作类型和键值对实现对该[0108]目标空间是包括有该智能合约空间标识所标识的智能合约空间中所有数据表的确定目标空间中的哪些数据是该SQL语句执行时所产生,以便后续据此可以将目标空间中即确定该SQL语句执行失败,向客户端返回错误信息;若该智能合约空间中存在第二数据即确定该SQL语句执行失败,向客户端返回错误信息;若该智能合约空间中存在第二数据即确定该SQL语句执行失败,向客户端返回错误信息;若该智能合约空间中存在第二数据即确定该SQL语句执行失败,向客户端返回错误信息;若该智能合约空间中存在第二数据引数据,则在向目标空间中的第二数据表插入目标数据时还需要增加目标数据的索引数[0137]值得注意的是,通过上述步骤4053即实现了根据该SQL语句的解析结果中的操作[0139]若在目标空间中执行数据操作失败,说明目标空间中因该SQL语句的执行而更新[0142]若在目标空间中成功执行数据操作,说明目标空间中因该SQL语句的执行而更新的数据均可用,则此时可以将目标空间中更新的数据提交至区块链账本中的智能合约空即表元数据、表数据、索引数据。可以根据不同的对象在目标空间中构建对应的key值和值为表元数据序列化后生成的字节数组。在将目标空间中的表元数据提交给区块链账本[0148]值得说明的是,本申请实施例中的SQL智能合约在处理结构化数据时具备天然优区块链系统上实现了对交易体中的SQL语句的解释执行,从而可以让客户端能将结构化数传统智能合约执行逻辑单一的限制,允许客户端在发起调用SQL智能合约的合约调用交易能合约突破了传统智能合约执行逻辑单一的限制,其允许客户端在发起调用SQL智能合约硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为下文图6[0168]若操作类型为建表类型,则根据键值对在目标空间中查找所要创建的第一数据[0169]若目标空间中不存在第一数据表,则根据键值对在目标能合约突破了传统智能合约执行逻辑单一的限制,其允许客户端在发起调用SQL智能合约(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论