当前位置: 首页 > 专利查询>DLT全球公司专利>正文

使用分布式账本技术的关系数据管理和组织制造技术

技术编号:30218128 阅读:9 留言:0更新日期:2021-09-29 09:34
描述了智能合约和链下工具二者的集合,其使得能够进行数据的管理和组织,以便使得能够根据关系数据库原则将该数据存储在分布式账本中。跨分布式账本平台规范加上可重用的核心组件一起创建可以在分布式账本平台上实施以使得能够向/从由关系原则掌管的分布式账本存储和检索数据的系统。该系统的实现使得能够向添加系统链码并且使用被表示为JSON的模式和数据。在使用中,用户可以创建、更新和查询来自代码、控制台或智能合约的数据,其中每个更新是分布式账本交易。易。易。

【技术实现步骤摘要】
【国外来华专利技术】使用分布式账本技术的关系数据管理和组织


[0001]本申请涉及数据的管理和组织以使得能够根据关系数据库原理向/从分布式账本存储和检索该数据。

技术介绍

[0002]原始的关系数据库系统是响应于20世纪60年代末计算的重大新发展而出现的。随着系统变得越来越大并且越来越复杂,变得清楚的是,新的且更新的程序需要与较旧的程序创建的数据一起工作。现有系统使其变得困难,这是因为程序通常以其自身的方式来存储数据。关系模型对存储和检索的重要方面进行了标准化,并且采用关系模型的使用者享有一系列好处,包括更便宜的升级和减少的供应商锁定。
[0003]相反地,那些仍然被计算机供应商引导到特定程序存储方法的使用者后期要承受更高的维护成本和更大的努力,特别是当有时最终做出迁移至关系数据库管理系统(RDBMS)平台的决策延迟较长时。20世纪70年代,澳大利亚国防部持续数年的项目最终摆脱了非关系霍尼韦尔事实语言(Honeywell Fact language)是对这些成本的证明。
[0004]从那时起不时地,其他计算领域的进步使现有的关系数据库工具不兼容或不方便。例如,早期万维网的面向文件的性质导致许多项目回到关系数据库之前的低效时期,直到实现并实践了网页到RDBMS后端的连接。类似地,面向对象编程的出现暂时地使程序员使用关系数据模型表示数据变得不那么自然。封装在对象中的数据很难分解为RDBMS表。然而,关系表示的优势足够显著,以至于现在对象关系映射(ORM)是其中仍然使用面向对象编程的常用方法。
[0005]另一方面,分布式账本技术(DLT)具有点燃和使得能够进行相当于本世纪信息技术革命的潜力。分布式账本技术正在处理和解决互联网的最大挑战和最令人困惑的挑战中之一——缺乏信任。分布式账本技术是新兴但功能强大的分布式计算范例,并且是到目前为止唯一具有通过使数据不可变以用于实际目的来为互联网带来信任的潜力的技术。不幸的是,现有的RDBMS平台和工具与分布式账本技术的约束不兼容。因此,程序/数据锁定——其中,数据密不可分地链接至程序——对于分布式账本上的智能合约来说比其对于20世纪60年代的预关系数据库时代的程序更重要。期望下述系统和方法:通过该系统和方法,分布式账本中的数据将仅被锁定至部署的智能合约的细节中,如果这是开发者的特定意图的话。

技术实现思路

[0006]本文描述的系统和方法通过提供使得能够在分布式账本上存储之前进行关系数据管理和组织的智能合约和链下工具二者的集合来解决本领域的需求,从而可以利用先前存在的关于关系数据库的开发者知识,而无需牺牲分布式账本的益处。在示例实施方式中,根据关系原则管理和组织数据,将数据存储在选择的分布式账本平台上并且使用开发者已熟悉的编程语言诸如结构化查询语言(SQL)进行访问。结果为分布式账本上的高度安全且
可审核的关系数据库。此外,本文描述的系统和方法可以与智能合约一起使用,以使这些智能合约的数据存储方面更易于处理。
[0007]在示例实施方式中,跨分布式账本平台规范加上可重用的核心组件共同创建了可以在诸如Fabric的通用分布式账本技术平台上实施并且从流行的编程平台诸如访问的关系数据管理和组织系统。关系数据管理和组织系统能够实现用于添加系统链代码以与Fabric一起使用的能力,并且使用表示为JavaScript Object Notation(JSON)的模式和数据。此外,使用Fabric的世界状态数据库用于数据存储,并且使用Fabric的身份提供者用于对例如包括创建数据库、授权用户访问数据库、添加表和修改模式、写入数据和仅查询的五个级别的数据访问控制。在使用中,用户可以创建、更新和查询来自代码、控制台或智能合约的表格,其中每个更新是分布式账本交易。
[0008]在示例实施方式中,提供了利用关系数据库管理查询来查询实施分布式账本的分布式账本平台的系统和方法,分布式账本包括分布式账本上的交易数据。该方法包括:创建数据库并记录关于分布式账本上的数据库的信息;以及将所接收到的关系数据库管理查询转换成可以由分布式账本平台处理的查询操作。执行对分布式账本平台的查询操作以生成查询结果,并且将该查询结果以可以由分布式账本平台处理以便包括在分布式账本上的形式记录至分布式账本平台。在示例实施方式中,通过以下步骤生成关系数据库管理查询:(1)从用户经由用户接口接收结构化查询语言(SQL)查询;(2)从用户应用经由应用程序接口接收SQL查询;(3)执行SQL查询的智能合约。
[0009]在示例实施方式中,关系数据管理和组织系统适于将SQL查询解析成可以为以下中的一个的SQL操作:数据操纵语言(DML)写操作;DML读操作;以及数据定义语言(DDL)操作。创建SQL操作和SQL操作中包括的任何关系数据的JavaScript对象记号(JSON)表示以供分布式账本平台处理。
[0010]在其他示例实施方式中,因SQL操作的执行而导致的交易是否在平台相关程度上已朝着接受至分布式账本中进展是通过例如在DML写操作结束时添加操作广播状态(OPSTAT)指令以获取对应交易的更明确的状态来确定的。执行对分布式账本平台的查询操作还可以包括确认调用SQL查询的实体具有执行所请求的SQL操作的权限。执行对分布式账本平台的查询操作还可以包括创建查询操作,其可以由分布式账本平台处理并存储为查询操作及其结果的JSON表示。
[0011]在SQL操作是SQL DML写操作的情况下,该方法可以包括:从分布式账本平台检索执行SQLDML写操作所需的数据;执行包括检索到的数据的SQL DML写操作;准备查询结果中的任何新的或更新的记录的JSON表示;以及将SQL DML写操作和任何更新的记录以可以由分布式账本平台处理以便包括在分布式账本上的形式提交至所分布式账本平台。该方法还可以包括:监视分布式账本的SQLDML写操作接受到分布式账本中;以及通知调用SQL查询的实体SQLDML写操作是否成功。
[0012]另一方面,在SQL操作是SQLDML读操作的情况下,该方法可以包括:从分布式账本平台检索执行SQLDML读操作所需的数据;执行包括检索到的数据的SQLDML读操作;准备查询结果的JSON表示;以及将查询结果的JSON表示以可以由所述分布式账本平台处理以便包
括在分布式账本上的形式记录至分布式账本平台。该方法还可以包括将查询结果的JSON表示返回至调用SQL查询的实体。
[0013]在示例实施方式中,分布式账本平台为Fabric平台。在这样的实施方式中,可以通过执行配置交易和常规交易来创建数据库作为用于Fabric平台的分布式账本的世界状态数据库,配置交易创建通道并且限定哪些对等计算机将维护该数据库的拷贝,常规交易写入关于关系数据库的元数据。此外,可以创建链码,其限定分布式账本中的交易数据和用于修改交易数据的交易指令。在示例实施方式中,链码可以限定作为分布式账本平台上的交易数据的按JavaScript对象记号(JSON)的关系数据库属性。在操作终结时,用关系数据库属性更新世界状态数据库。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种利用关系数据库管理查询来查询实施包括交易数据的分布式账本的分布式账本平台的方法,所述方法包括:使用所述分布式账本平台的至少一个处理器来创建所述分布式账本上的数据库,并且记录关于所述分布式账本上的所述数据库的信息;使用所述至少一个处理器将所接收到的关系数据库管理查询转换成能够由所述分布式账本上的所述数据库处理的查询操作;使用所述至少一个处理器对所述分布式账本上的所述数据库执行所述查询操作以生成查询结果;以及使用所述至少一个处理器将所述查询结果以能够由所述分布式账本上的所述数据库处理以便包括在所述分布式账本上的形式记录至所述分布式账本上的所述数据库。2.根据权利要求1所述的方法,还包括:使用所述至少一个处理器将所述关系数据库管理查询生成为来自以下中的一个的结构化查询语言(SQL)查询:(1)来自用户、经由用户接口;(2)来自用户应用、经由应用程序接口;以及(3)来自智能合约。3.根据权利要求2所述的方法,其中,所述智能合约执行所述分布式账本上的所述数据库的关系数据库管理查询的SQL查询的至少子集。4.根据权利要求2所述的方法,还包括:使用所述至少一个处理器将所述SQL查询解析成包括SQL数据操纵语言(SQL DML)写操作、SQL DML读操作和SQL数据定义语言(SQL DDL)操作中的一个的SQL操作;以及创建所述SQL操作和所述SQL操作中包括的任何关系数据的JavaScript对象记号(JSON)表示。5.根据权利要求4所述的方法,还包括:使用所述至少一个处理器确定因所述SQL操作的执行而导致的交易是否在平台相关程度上已朝着接受至所述分布式账本中进展。6.根据权利要求5所述的方法,还包括:使用所述至少一个处理器在DML写操作结束时添加操作广播状态(OPSTAT)指令以获取对应交易的更明确的状态。7.根据权利要求4所述的方法,其中,对所述分布式账本执行所述查询操作包括:使用所述至少一个处理器确认调用所述SQL查询的实体具有执行所述SQL操作的权限。8.根据权利要求4所述的方法,其中,对所述分布式账本执行所述SQL查询操作包括:使用所述至少一个处理器创建能够被处理并存储在所述分布式账本上的所述查询操作和所述查询操作的结果的JSON表示。9.根据权利要求8所述的方法,其中,所述SQL操作是SQL DML写操作,所述方法还包括:使用所述至少一个处理器从所述分布式账本检索执行所述SQL DML写操作所需的数据;使用所述至少一个处理器执行包括检索到的数据的所述SQL DML写操作;使用所述至少一个处理器准备所述查询结果中的任何新的或更新的记录的JSON表示;以及使用所述至少一个处理器将所述SQL DML写操作和任何更新的记录以能够由所述分布式账本上的所述数据库处理以便包括在所述分布式账本上的形式提交至所述分布式账本。10.根据权利要求9所述的方法,还包括:使用所述至少一个处理器监视所述分布式账本以获得所述SQL DML写操作朝着接受至所述分布式账本中的进展;以及使用所述至少一个处理器通知调用所述SQL查询的实体所述SQL DML写操作是否在平台相关程度上作出了这样的进展。11.根据权利要求8所述的方法,其中,所述SQL操作是SQL DML读操作,所述方法还包
括:使用所述至少一个处理器从所述分布式账本检索执行所述SQL DML读操作所需的数据;使用所述至少一个处理器执行包括检索到的数据的所述SQL DML读操作;使用所述至少一个处理器准备所述查询结果的JSON表示;以及使用所述至少一个处理器将所述查询结果的JSON表示以能够由所述分布式账本上的所述数据库处理以便包括在所述分布式账本上的形式记录至所述分布式账本。12.根据权利要求11所述的方法,还包括:使用所述至少一个处理器将所述查询结果的JSON表示返回至调用所述SQL查询的实体。13.根据权利要求1所述的方法,还包括:使用所述至少一个处理器通过执行配置交易和常规交易创建所述分布式账本内的所述数据库,所述配置交易创建通道并且限定哪些对等计算机将维护所述数据库的拷贝,所述常规交易写入关于所述数据库的元数据;以及使用所述至少一个处理器创建限定所述分布式账本中的交易数据和用于修改所述交易数据的交易指令的代码。14.根据权利要求13所述的方法,还包括:使用所述至少一个处理器创建限定作为所述分布式账本中的所述交易数据的按JavaScript对象记号(JSON)的所述数据库的属性的代码;以及使用所述至少一个处理器使所述数据库用所述数据库属性更新。15.根据权利要求1所述的方法,还包括:使用所述至少一个处理器创建考虑了能够由所述分布式账本上的所述数据库处理以便包括在所述分布式账本上的形式的经解析和翻译的结构化查询语言(SQL)查询。16.根据权利要求1所述的方法,其中,所述关系数据库管理查询从智能合约接收,所接收到的关系数据库管理查询被转换成能够由所述分布式账本上的所述数据库处理的分布式账本交易,并且所述分布式账本上的所述分布式账本交易被执行以生成交易结果,所述方法还包括:使用所述至少一个处理器将所述交易结果返回至所述智能合约。17.根据权利要求16所述的方法,还包括:将所述智能合约与所述分布式账本上的所述数据库集成,由此,所述智能合约执行所述分布式账本的数据定义语言(DDL)操作,其不包括DDL数据库操作和模式改变。18.根据权利要求17所述的方法,还包括:在所述分布式账本上以链码实施所述数据库的数据库相关操作,所述链码限定所述智能合约的至少一个资产和用于修改所述至少一个资产的至少一个交易指令。19.根据权利要求18所述的方法,其中,将所述智能合约与所述分布式账本上的所述数据库集成包括所述智能合约调用所述链码。20.根据权利要求18所述的方法,还包括:所述智能合约根据所述链码启动数据操纵语言(DML)读操作。21.根据权利要求16所述的方法,还包括:所述智能合约执行至少一个操作,所述至少一个操作包括:执行数据操纵语言(DML)查询;创建所述分布式账本上的所述数据库;更新对所述分布式账本上的所述数据库的访问权;或者执行数据定义语言(DDL)查询。22.一种系统,包括:分布式账本平台,所述分布式账本平台实施包括交易数据的分布式账本;所述分布式账本上的数据库;以及
至少一个处理器,所述至少一个处理器执行用以实施执行多个操作的关系数据管理和组织系统的指令,所述...

【专利技术属性】
技术研发人员:尼拉伊
申请(专利权)人:DLT全球公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1