基于容器化技术实现智能合约智慧化管理系统及方法与流程

文档序号:23186980发布日期:2020-12-04 14:15阅读:148来源:国知局
基于容器化技术实现智能合约智慧化管理系统及方法与流程

本发明针对区块链技术中智能合约领域,尤其涉及一种基于容器化技术实现智能合约智慧化管理系统及方法。



背景技术:

智能合约是区块链技术和应用的关键组件,其允许在没有第三方的情况下进行可信交易,这些交易不需人为干预、可追踪、不可逆转等。智能合约的概念1995年由nickszabo首次提出,“一个智能合约是一套以数字形式定义的承诺(commitment),包括合约参与方可以在上面执行这些承诺的协议”(nickszabo:《smartcontracts:buildingblocksfordigitalmarkets》),相比传统合约,智能合约具有更强的执行力,且降低交易成本。区块链技术提供了执行智能合约最关键的可信环境,为智能合约的广泛应用铺平了道路。

智能合约的内容是基于某种业务流程的商务合同,而其表现形式是一段可执行的计算机代码。熟悉业务流程的未必懂计算机语言,懂编码的未必精通业务,这种知识领域上的错配,是智能合约应用中面临的挑战,也增加了智能合约的风险。在传统的智能合约管理的过程中遇到的主要问题如下:

1、智能合约没有可视化的设计界面,合约开发必须依赖技术人员,引起合约业务和代码逻辑不匹配的风险,产生偏差,同时缺乏有效的管理机制,人为错误难以避免,致使商业普及的难度很大。

2、智能合约的开发部署调试比较繁琐,因为区块链是分布式部署,开发部署调试难度进一步增大。

3、不同区块链平台智能合约开发实现的技术不一样,没有统一的实现标准,使跨链数据交互难度变大。

因此,如果能让智能合约的创建摆脱必需有程序员参与的限制,在智能合约全生命周期的管理上更加智慧,则对智能合约的推广具有不可低估的意义。



技术实现要素:

综上所述,如何克服上述现智能合约开发管理存在的多种问题,乃是本发明所要解决的技术问题,为此,本发明的目的是提供一种基于容器化技术实现智能合约可视化、智慧化管理的系统及方法。

本发明是通过下述技术方案来解决上述技术问题的:

本发明提供一种基于容器化技术实现智能合约智慧化管理系统,其特点在于,其包括合约设计器、合约组装模块、第一翻译模块、第二翻译模块、锚定模块、第一运行模块和第二运行模块;

所述合约设计器用于供用户以图形化拖曳的形式设计智能合约的组件,接收智能合约的基本信息的输入、接收对合约模型组件、合约动作组件和合约规则组件的选取;

所述合约组装模块用于将合约设计器设计出的智能合约的各组件进行组装以生成目标合约模板;

所述第一翻译模块用于加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成标准智能合约;

所述第二翻译模块用于加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成链上智能合约;

所述锚定模块用于对标准智能合约与链上智能合约建立一一映射的锚定关系;

所述第一运行模块用于将标准智能合约打包成容器可执行的镜像文件,将镜像文件部署在私服服务器中,在容器创建后将加载标准智能合约镜像并运行;

所述第二运行模块用于将链上智能合约自动部署到适配的区块链中,由区块链加载运行。

较佳地,所述智能合约的基本信息包括合约的名称、编号、分类、是否使用模板创建;所述合约模型组件包括模型对象、模型属性、属性类型;所述合约动作组件包括动作名称、方法名称、方法参数、参数类型、返回值类型;所述合约规则组件包括合约逻辑。

较佳地,所述合约组装模块用于定义智能合约的模板、数据结构,并依次组装合约模型组件、合约动作组件和合约规则组件以生成目标合约模板。

较佳地,所述目标合约模板采用yaml语言格式来标记。

本发明还提供一种基于容器化技术实现智能合约智慧化管理方法,其特点在于,其包括以下步骤:

s1、供用户以图形化拖曳的形式设计智能合约的组件,接收智能合约的基本信息的输入、接收对合约模型组件、合约动作组件和合约规则组件的选取;

s2、将合约设计器设计出的智能合约的各组件进行组装以生成目标合约模板;

s3、加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成标准智能合约;

s4、加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成链上智能合约;

s5、对标准智能合约与链上智能合约建立一一映射的锚定关系;

s6、将标准智能合约打包成容器可执行的镜像文件,将镜像文件部署在私服服务器中,在容器创建后将加载标准智能合约镜像并运行;

s7、将链上智能合约自动部署到适配的区块链中,由区块链加载运行。

较佳地,所述智能合约的基本信息包括合约的名称、编号、分类、是否使用模板创建;所述合约模型组件包括模型对象、模型属性、属性类型;所述合约动作组件包括动作名称、方法名称、方法参数、参数类型、返回值类型;所述合约规则组件包括合约逻辑。

较佳地,在步骤s2中,定义智能合约的模板、数据结构,并依次组装合约模型组件、合约动作组件和合约规则组件以生成目标合约模板。

较佳地,所述目标合约模板采用yaml语言格式来标记。

在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。

本发明的积极进步效果在于:

本发明提供可视化的智能合约设计器,剥离的业务规则使用合约规则引擎实现,这样可以使多变的业务规则变的可维护,提供的良好的业务规则设计器,不用编码就可以快速实现复杂的业务规则,同样,即使是完全不懂编程的业务人员,也可以轻松上手使用智能合约业务规则设计器来定义复杂的合约业务规则。

本发明提高合约开发部署的效率,主要优势有4个方面:1)简化服务器迁移带来的环境再部署,提高工作效率,并降低部署过程中出现问题的风险系数。2)缩短环境交付和部署的周期。3)提高物理资源的利用率。4)更简单快捷的迭代策略,开发环境中的配置更新可快速反馈到生产环境中,实现了自动化的高效管理。

本发明合约标准化提供跨链服务,为不同链之间的数据交互提供标准的协议,解决跨链的技术难题,真正实现跨链数据交互服务。

附图说明

图1为本发明实施例1的基于容器化技术实现智能合约智慧化管理系统的结构框图。

图2为本发明实施例1的基于容器化技术实现智能合约智慧化管理方法的流程图。

图3为本发明实施例2的标准智能合约调用方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本实施例提供一种基于容器化技术实现智能合约智慧化管理系统,其包括合约设计器1、合约组装模块2、第一翻译模块3、第二翻译模块4、锚定模块5、第一运行模块6和第二运行模块7。

所述合约设计器1用于供用户以图形化拖曳的形式设计智能合约的组件,接收智能合约的基本信息的输入、接收对合约模型组件、合约动作组件和合约规则组件的选取。

其中,所述智能合约的基本信息包括合约的名称、编号、分类、是否使用模板创建等;所述合约模型组件包括模型对象、模型属性、属性类型等;所述合约动作组件包括动作名称、方法名称、方法参数、参数类型、返回值类型等;所述合约规则组件包括合约逻辑,针对定义的动作设计实现其逻辑,可以通过可视化的界面添加编辑逻辑的组件,提供判断、循环、树形等组件,逻辑组件定义可以直接通过中文词汇定义逻辑。

所述合约组装模块2用于将合约设计器设计出的智能合约的各组件进行组装以生成目标合约模板。

具体地,所述合约组装模块2用于定义智能合约的模板、数据结构,并依次组装合约模型组件、合约动作组件和合约规则组件以生成目标合约模板,所述目标合约模板采用yaml语言格式来标记。

所述第一翻译模块3用于加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成标准智能合约。标准智能合约采用java语言定义开发,将目标合约模板翻译成java语言格式的标准智能合约。

所述第二翻译模块4用于加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成链上智能合约。链上智能合约翻译,根据匹配的不同语言开发的链翻译成对应语言的链上智能合约。

所述锚定模块5用于对标准智能合约与链上智能合约建立一一映射的锚定关系,标准智能合约将作为链上合约的代理,应用可以直接访问标准智能合约来实现对区块链账本的访问。

所述第一运行模块6用于将标准智能合约打包成容器可执行的镜像文件,将镜像文件部署在私服服务器中,在容器创建后将加载标准智能合约镜像并运行。

所述第二运行模块7用于将链上智能合约自动部署到适配的区块链中,由区块链加载运行。

如图2所示,本实施例还提供一种基于容器化技术实现智能合约智慧化管理方法,其包括以下步骤:

步骤101、供用户以图形化拖曳的形式设计智能合约的组件,接收智能合约的基本信息的输入、接收对合约模型组件、合约动作组件和合约规则组件的选取。

其中,所述智能合约的基本信息包括合约的名称、编号、分类、是否使用模板创建等;所述合约模型组件包括模型对象、模型属性、属性类型等;所述合约动作组件包括动作名称、方法名称、方法参数、参数类型、返回值类型等;所述合约规则组件包括合约逻辑,针对定义的动作设计实现其逻辑,可以通过可视化的界面添加编辑逻辑的组件,提供判断、循环、树形等组件,逻辑组件定义可以直接通过中文词汇定义逻辑。

步骤102、将合约设计器设计出的智能合约的各组件进行组装以生成目标合约模板;具体地,定义智能合约的模板、数据结构,并依次组装合约模型组件、合约动作组件和合约规则组件以生成目标合约模板,所述目标合约模板采用yaml语言格式来标记。

步骤103、加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成标准智能合约;标准智能合约采用java语言定义开发,将目标合约模板翻译成java语言格式的标准智能合约。

步骤104、加载目标合约模板,对目标合约模板的内容进行解析,并通过模板机制将目标合约模板翻译成链上智能合约;链上智能合约翻译,根据匹配的不同语言开发的链翻译成对应语言的链上智能合约。

步骤105、对标准智能合约与链上智能合约建立一一映射的锚定关系,标准智能合约将作为链上合约的代理,应用可以直接访问标准智能合约来实现对区块链账本的访问。

步骤106、将标准智能合约打包成容器可执行的镜像文件,将镜像文件部署在私服服务器中,在容器创建后将加载标准智能合约镜像并运行。

步骤107、将链上智能合约自动部署到适配的区块链中,由区块链加载运行。

实施例2

基于容器化技术实现智能合约智慧化管理系统

如图3所示,本实施例提供了一种基于容器化技术的智能合约调用流程,其包括以下步骤:

步骤201:链上应用发起调用请求。链上应用想要调用智能合约实现与区块链交互,应用通过api网关发起调用合约请求网关,并输入情况的参数信息。由api网关匹配标准智能合约的容器。

步骤202:api网关路由标准合约服务。api网关将注册标准智能合约服务,将网关有服务进行绑定,并设定路由路径,api网关根据路由表查找对应的标准智能合约服务。

步骤203:标准智能合约调用适配器。标准智能合约接收到与区块链账本数据交互请求后,调用匹配链的适配器。适配器封装了底层链的调用接口实现,可以提供方便的链的调用服务。

步骤204:适配器调用链上智能合约。链适配器接收到标准智能合约的调用请求后,通过标准智能合约与链上合约的锚定关系,调用对应链上的合约实现账本数据操作。

步骤205:链上智能合约操作区块链账本数据。链上合约接收到适配器传入的请求后,对区块链账本数据进行操作,包括数据的上链链上数据的查询等。操作的记录将写入区块中,操作的结果在逐级的往上返回,直接应用接收到处理结果。

步骤206:链下合约操作的数据。标准智能合约调用链上合约与账本进行数据交互后,将操作的数据同时打包作为标准合约的操作数据集合,链上数据与链下数据也会一一映射锚定,并写入的链下的数据库中,作为链上数据备份及缓冲。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1