CN110704537A - 智能合约的生成方法、装置、设备及存储介质 - Google Patents
智能合约的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110704537A CN110704537A CN201910927932.3A CN201910927932A CN110704537A CN 110704537 A CN110704537 A CN 110704537A CN 201910927932 A CN201910927932 A CN 201910927932A CN 110704537 A CN110704537 A CN 110704537A
- Authority
- CN
- China
- Prior art keywords
- node
- node elements
- intelligent contract
- connection
- elements
- 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
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/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种智能合约的生成方法、装置、设备及存储介质。所述方法包括:获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。利用该方法,对于没有编程经验的人只需知道智能合约所需要的可执行逻辑,然后从候选元素窗口进行元素拖拽以及进行节点元素间的有向连接,即可根据上述拖拽元素后的拖拽结果快速简单地来生成可视化的符合要求的智能合约。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种智能合约的生成方法、装置、设备及存储介质。
背景技术
智能合约是指在第三方干预的情况下能够自动强制执行的合约,智能合约是区块链平台的核心组成部分,在整个区块链技术与应用范畴中非常重要。
开源区块链平台Ethereum(以太坊)提供了基于Solidity语言的智能合约解决方案;Hyperledger(超级账本)提出了基于隔离容器和Go语言的智能合约解决方案。但是,目前的智能合约背后的载体都是代码逻辑,对于没有编程经验的人编写智能合约相对有一些难度。因此,如何快速简单地生成智能合约是迫切需要解决的问题。
发明内容
本发明实施例中提供了一种智能合约的生成方法、装置、设备及存储介质,以实现通过可视化的拖拽操作快速简单地创建智能合约。
第一方面,本发明实施例中提供了一种智能合约的生成方法,包括:
获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
第二方面,本发明实施例中还提供了一种智能合约的生成装置,包括:
节点元素确定模块,用于获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
节点关系确定模块,用于根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
智能合约生成模块,用于根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
第三方面,本发明实施例中还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例中提供的智能合约的生成方法。
第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例中提供的智能合约的生成方法。
本发明实施例中提供了一种智能合约的生成方案,用户能够从候选元素窗口中选取合适的元素拖拽到绘图窗口,以此获取得到拖拽到绘图窗口的至少两个节点,并确定节点元素所使用的可执行逻辑。而,用户可以通过连线操作对绘图窗口中的至少两个节点元素进行有向连接,并得到至少两个节点元素的有向连接关系,以此来获知节点元素间的处理流程。在此基础上,可以根据绘图窗口中的至少两个节点元素所使用的执行逻辑以及有向连接关系,来生成智能合约,使得生成的智能合约能实现前述节点元素间的处理流程。采用本实施例的方案,在生成智能合约时,对于没有编程经验的人只需知道智能合约所需要的可执行逻辑,然后从候选元素窗口进行元素拖拽以及进行节点元素间的有向连接,即可根据上述拖拽元素后的拖拽结果快速简单地来生成可视化的符合要求的智能合约。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种智能合约的生成方法的流程图;
图2是本发明实施例中提供的一种智能合约创建界面的示意图;
图3是本发明实施例中提供的一种智能合约创建界面中拖拽显示节点元素的示意图;
图4是本发明实施例中提供的另一种智能合约创建界面中拖拽显示节点元素的示意图;
图5是本发明实施例中提供的一种智能合约的生成装置的结构框图;
图6是本发明实施例中提供的一种电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本发明实施例中提供的一种智能合约的生成方法的流程图。本发明实施例可适用于生成智能合约的情况,尤其是快速简单地生成区块链中的智能合约的情形。该方法可由智能合约的生成装置来执行,该装置可以采用软件和/或硬件的方式来实现,该装置可以配置于具有网络通信功能的电子设备中。如图1所示,本发明实施例中提供的相智能合约的生成方法,具体包括以下步骤:
S110、获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定至少两个节点元素所使用的可执行逻辑。
在本实施例中,图2是本发明实施例中提供的一种智能合约创建界面的示意图。参见图2,候选元素窗口和绘图窗口是合约创建界面中的一部分。候选元素窗口中设置有多个预先设计的候选节点元素,供用户在创建智能合约时拖拽使用,而绘图窗口能够承载用户从候选元素窗口中拖拽的节点元素。
在本实施例中,当用户需要创建智能合约,用户能够从候选元素窗口中拖拽节点元素到绘图窗口中;同时,响应用户对候选元素窗口中节点元素的拖拽事件,会获取从候选元素窗口拖拽的节点元素,并可以在绘图窗口中显示被拖拽的节点元素;同时,在获取节点元素时,还会确定该节点元素所使用的可执行逻辑。依次类推,可以获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定至少两个节点元素所使用的可执行逻辑。
在本实施例中,当候选元素窗口中的节点元素被拖拽到绘图窗口时,会自动获取拖拽到绘图窗口中的节点元素,经过多次拖拽,可以获取拖拽到绘图窗口中的至少两个节点元素。同时,在获取拖拽到绘图窗口中的每一个节点元素时,还会确定每一个节点元素所使用的可执行逻辑,这样每一个节点元素就可以认为是智能合约中的一个算子。这样的话,每一个节点元素中均包含了用于生成智能合约的一个或多个可执行逻辑,只要后续将节点元素全部进行有向连接,即可创建一个可视化的节点元素连接图形式的智能合约。
在本实施例的一种可选方式中,在从候选元素窗口中拖拽节点元素到绘图窗口中时,可以采用H5的拖拽事件,将需要进行拖拽的候选元素窗口中的节点元素和绘图窗口绑定dragstart事件和drop事件。当将候选元素窗口中的节点元素拖拽到绘图窗口所在区域时,在绘图窗口中会生成对应的节点元素。依次类推,经过多次拖拽,会在绘图窗口中显示多个节点元素。可选地,当候选元素窗口中的节点元素被拖拽到绘图窗口所在区域时,还会记录被拖拽的节点元素在绘图窗口中的节点位置。
在一个可选示例中,可执行逻辑至少包括:数据操作逻辑、算法执行逻辑以及自定义的逻辑。可选地,数据操作逻辑用于指示在该节点元素的处理流程中所需要使用的数据资源,即确定需要哪些数据资源来支撑该节点元素的处理流程,例如数据库资源的索引目录。可选地,算法执行逻辑用于指示在该节点元素处理流程中所需要使用的代码资源,即需要采用哪种算法来实现该节点元素的处理流程。可选地,在确定至少两个节点元素所使用的可执行逻辑,这里确定的不是实际的可执行逻辑,可以时只确定所需要使用的可执行逻辑的一个ID或者基本功能简介,只需后续程序人员根据ID或者基本功能简介编写代码或者调用数据库以此得到对应的可执行逻辑即可。
示例性地,图3是本发明实施例中提供的一种智能合约创建界面中拖拽显示节点元素的示意图。参见图3,以从候选元素窗口中拖拽4个节点元素到绘图窗口为例,响应用户对候选元素窗口中节点元素的拖拽事件,可以获取从候选元素窗口拖拽到绘图窗口的A节点元素、B节点元素、C节点元素和D节点元素,并分别确定A节点元素、B节点元素、C节点元素和D节点元素所使用的可执行逻辑。其中,A节点元素所使用的可执行逻辑为“开始”逻辑,其在图3所示的候选元素窗口2中有所示出;B节点元素所使用的可执行逻辑为“数据库目录资源-涉及方法”数据逻辑,其在候选元素窗口1中有所示出;C节点元素所使用的可执行逻辑为“Smartwy5_乘以2”算法逻辑,其设置在候选元素窗口1中的算法目录中,这里未具体示出;A节点元素所使用的可执行逻辑为“结束”逻辑,其在候选元素窗口2中有所示出。
在本实施例中,可选地,当从候选元素窗口中拖拽候选节点元素到绘图窗口时,会获取拖拽的节点元素,并将获取的节点元素在绘图窗口中进行动态渲染显示。可选地,当拖拽候选节点元素到绘图窗口时,通过调用Jquery在绘图窗口中动态渲染显示获取的节点元素。
在本实施例中,参见图2,在图2所示的合约创建界面中包含两个候选元素窗口,分别为:候选元素窗口1和候选元素窗口2。在候选元素窗口中设置有多个预先设计好的候选节点元素,候选元素窗口中的候选节点元素分为:树形结构类的候选节点元素和图形结构类的候选节点元素。以图2为例,树形结构类的候选节点元素设置在候选元素窗口1中,而图形结构类的候选节点元素设置在候选元素窗口2中。
在一个可选示例中,以树形结构类的候选节点元素为例,树形结构类的候选节点元素中已经包含了该节点元素所需要使用的可执行逻辑。如果从候选元素窗口中拖拽树形结构类的候选节点元素到绘图窗口,那么在将树形结构类的候选节点元素拖拽到绘图窗口时,会获取从候选元素窗口拖拽到绘图窗口中的节点元素,并在绘图窗口中动态渲染显示拖拽的节点元素。同时,还会从动态渲染生成的节点元素所携带的信息中,得到节点元素所使用的可执行逻辑。
在另一个可选示例中,以图形结构类的候选节点元素为例,该图形结构类的候选节点元素在候选元素窗口中仅仅是通过一个图形结构进行展示,在该图形结构中没有关联对应的执行逻辑。其中,该图形结构可以为类似流程图中的进程、判断、文档、数据、联系等类型的图形符号,其样式可以为长方形、菱形或者圆形。如果从候选元素窗口中拖拽图形结构类的候选节点元素到绘图窗口,那么在将图形结构类的候选节点元素拖拽到绘图窗口所在区域时,会向用户展示一个可编辑的弹窗,供用户自定义设置或者从预设列表中选择需要使用的可执行逻辑。在完成弹窗中操作后,才会获取从候选元素窗口拖拽到绘图窗口中的节点元素,并在绘图窗口中动态渲染显示拖拽的节点元素。同时,还会从动态渲染显示的节点元素所携带的信息中,得到该节点元素所使用的可执行逻辑。
S120、根据用户连线操作,确定至少两个节点元素的有向连接关系,以得到节点元素间的处理流程。
在本实施例中,对于获取的至少两个节点元素而言,至少两个节点元素会在绘图窗口中进行显示,在绘图窗口中至少部分地节点元素均包含有至少一个输入接口和至少一个输出接口(当然,对于“开始”类的节点元素可以仅有输出接口,对于“结束”类的节点可以仅有输入接口)。每一个输入接口对应一个输入参数,而每一个输出接口对应一个输出参数。在一个可选示例中,有向连接关系包括:在有向连接的两个节点元素中,一个节点元素的输出参数与另一个节点元素的输入参数之间的映射关联关系。换句话讲,一个节点元素的输出参数可以作为另一个节点的输入参数。可见,对于有向连接的两个节点元素而言,一个节点元素的输出参数与该节点元素有向连接的另一个节点元素的输入参数是相同的,两个节点的输入参数与输出参数存在映射关联关系。在另一个可选示例中,有向连接的两个节点元素之间存在有向连接线,有向连接关系可以包括节点元素间所使用的有向连接线的连接起点和连接终点。连接起点指示了有向连接线开始连接时的节点元素,而连接终点指示了有向连接线结束连接时的节点元素。可选地,对于获取的至少两个节点元素,每一个节点不仅携带所使用的可执行逻辑,同时每一个节点元素还可以携带上述的输入口对应的输入参数和输出口对应的输出参数。
在本实施例中,对于获取的至少两个节点元素,用户能对绘图窗口中的至少两个节点元素进行有向连接操作。在绘图窗口中,用户可以按照各个节点元素中可执行逻辑的执行前后顺序对各个节点元素进行有向连线操作。根据用户的连线操作,可以调用预设的Jsplumb连线器,通过Jsplumb连线器可以在至少部分的节点元素间添加有向连接线。同步地,在进行有向连接线时,对于通过有向连接线连接的两个节点元素而言,可以直接将一个节点元素的输出参数与另个节点元素的输入参数进行绑定关联,即可自动完成一个节点元素的输出参数与另一个节点元素的输入参数之间的映射关联。并且,在连接完成后,可以根据有向连接的结果确定该有向连接关系。
示例性地,仍以图3中从候选元素窗口中拖拽4个节点元素到绘图窗口为例进行说明,A节点元素中携带智能合约的输入参数,当用户对A节点元素于B节点元素进行有向连线时,根据连线操作会自动将A节点元素的输出参数与B节点元素的输入参数进行映射关联,实现将携带的智能合约的输入参数作为B节点元素的输入参数。当用户对B节点元素于C节点元素进行有向连线时,根据连线操作会自动将B节点元素的输出参数与C节点元素的输入参数进行映射关联,实现将携带B节点元素的输出参数作为C节点元素的输入参数。依次类推,可以将C节点元素的输出参数与D节点元素的输入参数进行映射关联,实现将携带C节点元素的输出参数作为D节点元素的输入参数,此时D节点元素的输入参数即可认为是智能合约最终的输出参数。这样,后续生成的智能合约在执行时也是按照这个有向连接关系指示的过程映去一步步执行。
此外,图4是本发明实施例中提供的另一种智能合约创建界面中拖拽显示节点元素的示意图,图4的生成过程与图3的生成过程类似,区别在于:图4的过程比图3的过程稍微复杂,图4中增加了一个分支判断的节点元素,具体过程这里不再详细阐述。
在本实施例的一种可选方式中,针对至少两个节点元素,根据用户连线操作,通过调用Jsplumb连线器,在至少部分的节点元素间添加有向连接线,得到节点元素间的连线结果。进而,可以根据节点元素间的连线结果,确定至少两个节点元素的有向连接关系。可选地,节点元素间的连线结果是指将一个节点元素的输出参数与另个节点元素的输入参数进行绑定关联的结果。通过上述有向连接过程,即可实现节点元素间的处理流程,同步的可以实现节点元素中可执行逻辑的处理流程。可以理解的是,具体将哪两个节点元素进行连接具体需要参考节点元素中可执行逻辑的执行顺序。
在本实施例的一种可选方式,针对从候选元素窗口拖拽到绘图窗口中的至少两个节点元素中的至少部分节点元素和节点元素间的有向连接线,在至少部分的节点元素和有向连接线中添加至少一个可操作事件。其中,可操作事件可以包括:左键单击选中节点元素或有向连接线的操作事件,双击节点元素或有向连接线出现编辑弹窗的操作事件,右键单击节点元素或有向连接线能够出现操作菜单列表(用户在操作菜单列表中可以查看、编辑删除节点元素或有线连接线的属性信息),以及按下键盘上delete键将已选中节点元素或有向连接线进行删除的操作事件。可选地,节点元素的可操作事件是在通过Jquery工具在绘图窗口中动态渲染显示节点元素时添加到节点元素中的。有向连接线中的可操作事件是由Jsplumb连线器提供,在初始化Jsplumb连线器时进行添加。
S130、根据至少两个节点元素所使用的执行逻辑以及该有向连接关系,生成智能合约,用于实现节点元素间的处理流程。
在本实施例中,确定之前已经记录的至少两个节点元素在绘图窗口中的节点位置信息。然后,将至少两个节点元素所使用的执行逻辑、节点位置信息以及有向连接关系,保存在预设格式的文件中。可选地,将至少两个节点元素所使用的执行逻辑、节点位置信息以及有向连接关系存储在一个Json文件。在绘图窗口中的节点元素以及节点元素间的有向连接线,仅仅是一种用于表征智能合约的执行过程的可视化的节点元素处理流程,并不是最终的智能合约,因此最后需要将保存的文件发送给后端,指示后端依据保存的Json文件中的至少两个节点元素所使用的执行逻辑、节点位置信息以及有向连接关系生成智能合约。
在本实施例的一种可选方式中,当需要编辑智能合约时,即修改节点元素或者有向连接线时,可以直接对Json文件进行解析,将保存在Json文件中至少两个节点元素所使用的执行逻辑、节点位置信息以及有向连接关系再次展现在绘图窗口,以便在此基础上继续进行拖拽节点元素的操作或者进行有向连接的操作,方便对创建的智能合约进行修改。
在本实施例的一种可选方式中,在将至少两个节点元素所使用的执行逻辑、节点位置信息以及有向连接关系,保存在预设格式的文件之前,还包括:对绘图窗口中的节点元素和节点元素间的有向连接线进行校验操作。校验操作至少包括以下一项:验证绘图窗口中是否孤立的节点元素,以保证每一个节点元素都有与其连接的节点元素,验证绘图窗口中是否只有一个“开始”节点元素和只有一个“结束”节点元素,避免出现开始结束出现混乱,验证绘图窗口中的节点元素是否都进行了参数映射,验证绘图窗口中有没有循环的引用形成闭合的回路的节点元素。采用上述方式,可以对绘图窗口中拖拽完生成的流程图进行有效的限制,通过校验操作及时验证拖拽结果的可行性,避免由于拖拽结果的不可行性最终导致产生的智能合约无法运行。
本发明实施例中提供了一种智能合约的生成方案,用户能够从候选元素窗口中选取合适的元素拖拽到绘图窗口,以此获取得到拖拽到绘图窗口的至少两个节点,并确定节点元素所使用的可执行逻辑。而,用户可以通过连线操作对绘图窗口中的至少两个节点元素进行有向连接,并得到至少两个节点元素的有向连接关系,以此来获知节点元素间的处理流程。在此基础上,可以根据绘图窗口中的至少两个节点元素所使用的执行逻辑以及有向连接关系,来生成智能合约,使得生成的智能合约能实现前述节点元素间的处理流程。采用本实施例的方案,在生成智能合约时,对于没有编程经验的人只需知道智能合约所需要的可执行逻辑,然后从候选元素窗口进行元素拖拽以及进行节点元素间的有向连接,即可根据上述拖拽元素后的拖拽结果快速简单地来生成可视化的符合要求的智能合约。
图5是本发明实施例中提供的一种智能合约的生成装置的结构框图。本发明实施例可适用于生成智能合约的情况,尤其是快速简单地生成区块链中的智能合约的情形。该装置可以采用软件和/或硬件的方式来实现,该装置可以配置于具有网络通信功能的电子设备中。如图5所示,本发明实施例中提供的智能合约的生成装置包括:节点元素确定模块510、节点关系确定模块520和智能合约生成模块530。其中:
节点元素确定模块510,用于获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
节点关系确定模块520,用于根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
智能合约生成模块530,用于根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
在上述实施例的基础上,可选地,所述可执行逻辑包括数据操作逻辑、算法执行逻辑以及自定义的逻辑。
在上述实施例的基础上,可选地,节点关系确定模块520包括:
针对所述至少两个节点元素,根据用户连线操作,通过调用Jsplumb连线器,在至少部分的节点元素间添加有向连接线,得到节点元素间的连线结果;
根据节点元素间的连线结果,确定所述至少两个节点元素的有向连接关系。
在上述实施例的基础上,可选地,有向连接关系包括:在有向连接的两个节点元素中,一个节点元素的输出参数与另一个节点元素的输入参数之间的映射关联关系;以及,节点元素间所使用的有向连接线的连接起点和连接终点。
在上述实施例的基础上,可选地,智能合约生成模块530包括:
确定所述至少两个节点元素在所述绘图窗口中的节点位置信息;
将所述至少两个节点元素所使用的执行逻辑、所述节点位置信息以及所述有向连接关系,保存在预设格式的文件中,并将保存的文件发送给后端,指示后端依据保存的文件生成所述智能合约。
本发明实施例中所提供的智能合约的生成装置可执行上述本发明任意实施例中所提供的智能合约的生成方法,具备执行智能合约的生成方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例中所提供的智能合约的生成方法。
图6是本发明实施例中提供的一种电子设备的结构框图。如图6所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器610和存储装置620;该电子设备中的处理器610可以是一个或多个,图6中以一个处理器610为例;存储装置620用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器610执行,使得所述一个或多个处理器610实现如本发明实施例中任一项所述的智能合约的生成方法。
该电子设备还可以包括:输入装置630和输出装置640。
该电子设备中的处理器610、存储装置620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。
该电子设备中的存储装置620作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的智能合约的生成方法对应的程序指令/模块。处理器610通过运行存储在存储装置620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中智能合约的生成方法。
存储装置6620可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器610执行时,程序进行如下操作:
获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器610执行时,程序还可以进行本发明任意实施例中所提供的智能合约的生成方法中的相关操作。
本发明实施例中提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时用于执行智能合约的生成方法,该方法包括:
获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的智能合约的生成方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种智能合约的生成方法,其特征在于,包括:
获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
2.根据权利要求1所述的方法,其特征在于,所述可执行逻辑包括数据操作逻辑、算法执行逻辑以及自定义的逻辑。
3.根据权利要求1所述的方法,其特征在于,根据用户连线操作,确定所述至少两个节点元素的有向连接关系,包括:
针对所述至少两个节点元素,根据用户连线操作,通过调用Jsplumb连线器,在至少部分的节点元素间添加有向连接线,得到节点元素间的连线结果;
根据节点元素间的连线结果,确定所述至少两个节点元素的有向连接关系。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述有向连接关系包括:在有向连接的两个节点元素中,一个节点元素的输出参数与另一个节点元素的输入参数之间的映射关联关系;以及,节点元素间所使用的有向连接线的连接起点和连接终点。
5.根据权利要求1所述的方法,其特征在于,根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,包括:
确定所述至少两个节点元素在所述绘图窗口中的节点位置信息;
将所述至少两个节点元素所使用的执行逻辑、所述节点位置信息以及所述有向连接关系,保存在预设格式的文件中,并将保存的文件发送给后端,指示后端依据保存的文件生成所述智能合约。
6.一种智能合约的生成装置,其特征在于,包括:
节点元素确定模块,用于获取从候选元素窗口拖拽到绘图窗口中的至少两个节点元素,并确定所述至少两个节点元素所使用的可执行逻辑;
节点关系确定模块,用于根据用户连线操作,确定所述至少两个节点元素的有向连接关系,以得到节点元素间的处理流程;
智能合约生成模块,用于根据所述至少两个节点元素所使用的执行逻辑以及所述有向连接关系,生成智能合约,用于实现所述节点元素间的处理流程。
7.根据权利要求6所述的装置,其特征在于,所述可执行逻辑包括数据操作逻辑、算法执行逻辑以及自定义的逻辑。
8.根据权利要求6所述的装置,其特征在于,节点关系确定模块包括:
针对所述至少两个节点元素,根据用户连线操作,通过调用Jsplumb连线器,在至少部分的节点元素间添加有向连接线,得到节点元素间的连线结果;
根据节点元素间的连线结果,确定所述至少两个节点元素的有向连接关系。
9.根据权利要求6-8中任一所述的装置,其特征在于,所述有向连接关系包括:在有向连接的两个节点元素中,一个节点元素的输出参数与另一个节点元素的输入参数之间的映射关联关系;以及,节点元素间所使用的有向连接线的连接起点和连接终点。
10.根据权利要求6所述的装置,其特征在于,智能合约生成模块包括:
确定所述至少两个节点元素在所述绘图窗口中的节点位置信息;
将所述至少两个节点元素所使用的执行逻辑、所述节点位置信息以及所述有向连接关系,保存在预设格式的文件中,并将保存的文件发送给后端,指示后端依据保存的文件生成所述智能合约。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-5中任一所述的智能合约的生成方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一所述的智能合约的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927932.3A CN110704537A (zh) | 2019-09-27 | 2019-09-27 | 智能合约的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910927932.3A CN110704537A (zh) | 2019-09-27 | 2019-09-27 | 智能合约的生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704537A true CN110704537A (zh) | 2020-01-17 |
Family
ID=69198277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910927932.3A Pending CN110704537A (zh) | 2019-09-27 | 2019-09-27 | 智能合约的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704537A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163949A (zh) * | 2020-09-25 | 2021-01-01 | 湖南和信安华区块链科技有限公司 | 一种基于合约组件图形化的智能合约生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587438A (zh) * | 2009-06-18 | 2009-11-25 | 南京联创科技股份有限公司 | Arp框架下的图形化流程模板绘制方法 |
CN109522005A (zh) * | 2018-11-15 | 2019-03-26 | 苏州友教习亦教育科技有限公司 | 跨平台图形化程序设计方法 |
CN110097464A (zh) * | 2019-04-10 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 智能合约的生成方法、装置、电子设备与存储介质 |
-
2019
- 2019-09-27 CN CN201910927932.3A patent/CN110704537A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587438A (zh) * | 2009-06-18 | 2009-11-25 | 南京联创科技股份有限公司 | Arp框架下的图形化流程模板绘制方法 |
CN109522005A (zh) * | 2018-11-15 | 2019-03-26 | 苏州友教习亦教育科技有限公司 | 跨平台图形化程序设计方法 |
CN110097464A (zh) * | 2019-04-10 | 2019-08-06 | 北京京东尚科信息技术有限公司 | 智能合约的生成方法、装置、电子设备与存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163949A (zh) * | 2020-09-25 | 2021-01-01 | 湖南和信安华区块链科技有限公司 | 一种基于合约组件图形化的智能合约生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634598B (zh) | 一种页面显示方法、装置、设备及存储介质 | |
US20210034336A1 (en) | Executing a process-based software application in a first computing environment and a second computing environment | |
US11132114B2 (en) | Method and apparatus for generating customized visualization component | |
CN112540763A (zh) | 前端页面生成方法、装置、平台设备及存储介质 | |
CN112561386A (zh) | 一种获得业务流程的方法、装置及设备 | |
CN113504908A (zh) | 业务代码生成方法、装置、电子设备及计算机可读介质 | |
CN112464623A (zh) | Rpa流程文件生成方法、装置、计算机设备和存储介质 | |
CN111080170A (zh) | 一种工作流建模方法、装置、电子设备及存储介质 | |
US9513778B1 (en) | Defining objects using an object-relationship map | |
US11005719B2 (en) | Internet of Things system topology generation | |
US11914975B2 (en) | Customized software application template-based generator | |
CN111338931B (zh) | 埋点测试方法、装置、设备及存储介质 | |
CN105335132A (zh) | 一种自定义应用程序功能的方法、装置以及系统 | |
CN109286517B (zh) | 创建服务的方法、装置和存储介质以及电子设备 | |
CN112099788B (zh) | 一种可视化数据开发方法、系统、服务器和存储介质 | |
WO2023116216A1 (zh) | 数据可视化方法、装置、设备及存储介质 | |
CN115145560B (zh) | 业务编排方法、装置、设备、计算机可读介质和程序产品 | |
CN112860247A (zh) | 一种模型组件的自定义生成方法、装置、设备及介质 | |
US10691429B2 (en) | Converting whiteboard images to personalized wireframes | |
CN111798126A (zh) | 工艺流程的创建方法、计算机设备及存储介质 | |
CN114356962A (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
JP2023531931A (ja) | 半導体デバイスのモデリング方法及び装置 | |
CN110704537A (zh) | 智能合约的生成方法、装置、设备及存储介质 | |
CN116126314A (zh) | 一种业务流程配置方法、装置、电子设备及存储介质 | |
CN113807698A (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: 20200117 |
|
RJ01 | Rejection of invention patent application after publication |