一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种插件运行管理可视化方法及系统与流程

2021-11-15 14:44:00 来源:中国专利 TAG:


1.本发明涉及计算机插件技术领域,特别是涉及一种插件运行管理可视化方法及系统。


背景技术:

2.现代企业应用软件领域,拥有各种复杂多变的业务及扩展需要,在部分企业应用软件中,都具备插件扩展能力,为应用软件适应复杂多变的企业业务及扩展需要。
3.传统的应用软件插件,多数采用预定义插件格式,按照插件规范定义插件,运行引擎根据定义运行插件,并且运行引擎还根据定义,对插件进行注册,加载,卸载等管理。但是,传统的应用软件插件,多数没有考虑多租户的共享和复用;即使有部分实现了多租户的共享和复用,但是不具备隔离性,对于共享或复用的插件无法实现租户的差异化;对于插件的管理,要实现可视化管理,就必须针对插件编写对应的可视化界面,增加了插件开发难度和成本。


技术实现要素:

4.本发明提供一种插件运行管理可视化方法及系统,解决多租户环境下,插件共享和复用遇到的差异化问题及插件管理中,对插件管理可视化开发难度大的问题。
5.本发明第一方面提供一种插件运行管理可视化方法,包括:获取目标插件,并解析所述目标插件携带的接口定义数据、插件实现数据及可视化定义数据;根据所述接口定义数据,得到目标函数;对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据;通过所述可视化定义数据渲染文本框,并将所述目标函数及所述中间语言数据在所述文本框中进行展示。
6.进一步地,所述对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据之后,还包括:将所述中间语言数据暂存于插件上下文。
7.进一步地,所述将所述中间语言数据暂存于插件上下文之后,还包括:通知插件管理模块完成插件预加载。
8.进一步地,所述将所述目标函数及所述中间语言数据在所述文本框中进行展示之后,还包括:获取用户输入数据;将所述用户输入数据在所述文本框中进行展示。
9.进一步地,所述获取目标插件之前,还包括:定义目标插件的接口数据及可视化数据。
10.本发明第二方面提供一种插件运行管理可视化系统,包括:插件解析模块,用于获取目标插件,并解析所述目标插件携带的接口定义数据、插件实现数据及可视化定义数据;目标函数生成模块,用于根据所述接口定义数据,得到目标函数;数据语言转化模块,用于对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据;可视化展示模块,用于通过所述可视化定义数据渲染文本框,并将所述目标函数及所述中间语言数据在所述文本框中进行展示。
11.进一步地,所述的一种插件运行管理可视化系统,还包括:中间语言数据暂存模块,用于将所述中间语言数据暂存于插件上下文。
12.进一步地,所述的一种插件运行管理可视化系统,还包括:插件预加载模块,用于通知插件管理模块完成插件预加载。
13.进一步地,所述的一种插件运行管理可视化系统,还包括:交互模块,用于:获取用户输入数据;将所述用户输入数据在所述文本框中进行展示。
14.进一步地,所述的一种插件运行管理可视化系统,还包括:插件定义模块,用于定义目标插件的接口数据及可视化数据。
15.与现有技术相比,本发明实施例的有益效果在于:本发明提供一种插件运行管理可视化方法及系统,其中方法包括:获取目标插件,并解析所述目标插件携带的接口定义数据、插件实现数据及可视化定义数据;根据所述接口定义数据,得到目标函数;对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据;通过所述可视化定义数据渲染文本框,并将所述目标函数及所述中间语言数据在所述文本框中进行展示。本发明根据特有的插件定义和执行方法,使得插件在多租户环境下具备共享复用及差异化执行,降低插件开发成本;特有的可视化定义和执行方法,让插件不增加开发成本的同时,使得插件拥有更好的使用体验。
附图说明
16.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明某一实施例提供的一种插件运行管理可视化方法的流程图;图2是本发明另一实施例提供的一种插件运行管理可视化方法的流程图;图3是本发明另一实施例提供的一种插件运行管理可视化方法的流程图;图4是本发明又一实施例提供的一种插件运行管理可视化方法的流程图;图5是本发明某一实施例提供的一种插件运行管理可视化的整体物理结构图;图6是本发明某一实施例提供的一种插件运行管理可视化的整体逻辑结构图;图7是本发明某一实施例提供的插件管理流程的示意图;图8是本发明某一实施例提供的插件运行流程的示意图;
图9是本发明某一实施例提供的一种插件运行管理可视化系统的装置图;图10是本发明另一实施例提供的一种插件运行管理可视化系统的装置图;图11是本发明另一实施例提供的一种插件运行管理可视化系统的装置图;图12是本发明又一实施例提供的一种插件运行管理可视化系统的装置图;图13是本发明某一实施例提供的一种电子设备的结构图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
20.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
21.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
22.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
23.插件定义是指为应用软件编写插件,需要遵循特定应用软件的插件定义要求进行编写,才可正常运行。
24.插件运行是指在部分应用软件内,具有插件运行引擎,运行引擎从符合定义规范的插件中,获得插件信息并运行。
25.插件管理是指负责插件注册,加载,卸载等管理。
26.本发明设计了一套插件定义,注册,加载,执行,卸载的方法,解决多租户环境下的插件共享复用及租户间的差异化问题;并设计了一套特有的可视化定义、注册、执行方法,简化插件开发难度并降低成本。
27.第一方面。
28.请参阅图1

4,本发明一实施例提供一种插件运行管理可视化方法,包括:s10、获取目标插件,并解析所述目标插件携带的接口定义数据、插件实现数据及可视化定义数据。
29.在本发明的一个实施方式中,所述步骤s10之前,还包括:s01、定义目标插件的接口数据及可视化数据。
30.s20、根据所述接口定义数据,得到目标函数。
31.s30、对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据。
32.在本发明的另一个实施方式中,所述步骤s30之后,还包括:s31、将所述中间语言数据暂存于插件上下文。
33.s32、通知插件管理模块完成插件预加载。
34.s40、通过所述可视化定义数据渲染文本框,并将所述目标函数及所述中间语言数据在所述文本框中进行展示。
35.在本发明的又一个实施方式中,所述步骤s40之后,还包括:s50、获取用户输入数据。
36.s60、将所述用户输入数据在所述文本框中进行展示。
37.本发明提供的方法根据特有的插件定义和执行方法,使得插件在多租户环境下具备共享复用及差异化执行,降低插件开发成本;特有的可视化定义和执行方法,让插件不增加开发成本的同时,使得插件拥有更好的使用体验。
38.在某一具体实施例中,请参阅图5,本方案由插件消费端、插件运行引擎、插件管理系统、若干个插件包组成。
39.(1)插件消费端:插件消费端是使用插件的客户端或者业务。
40.(2)插件运行引擎:用于缓存插件,执行插件,隔离租户的插件信息等。
41.(3)插件管理系统:用于查看或管理运行引擎中的插件,管理多租户间的插件差异信息等。
42.(4)插件包:用于存放插件元信息和插件实现的文件包。
43.本方案的逻辑结构如图6所示。
44.(1)插件消费者:插件消费者是使用插件的使用者。
45.(2)插件运行时,包含插件上下文模块,插件加载模块;插件加载模块用于将插件实现加载到上下文模块;上下文模块用于隔离多租户的插件信息,存放插件运行逻辑,以及插件相关的上下文信息。
46.(3)插件包,包含可视化定义,接口定义和插件实现;可视化定义包含插件在管理系统中用于自动渲染的可视化信息;接口定义包含了插件在插件上下文以及消费者进行通讯的接口定义;插件实现包含了各种异构开发语言的具体实现。
47.(4)管理系统,包含管理模块和可视化渲染模块;管理模块用于管理插件运行时,可视化渲染模块用于自动渲染插件的可视化界面。
48.在具体实施例中,一种插件运行管理可视化方法,包括:1、插件的定义假设在本例中实现一个以java语言的加法插件,以完成加法的运算;在不同的租户中,加法的a,b值不同。那么插件包的定义如图2所示,插件包包含接口定义,可视化定义,接口实现三个部分:1)接口定义:java:module module1 {
ꢀꢀꢀ
fun add()}如上的接口定义,声明了该接口由java语言实现,模块名为module1,接口名为add。这样的接口定义格式,可让插件加载模块更容易根据接口实现语言类型找到接口的实现。
49.2)可视化定义,本例中定义了插件中a和b的值允许存在租户差异,为了让插件管
理器自动渲染插件管理界面,则需要对a和b两个可变参数定义可视化要求,假设此处a和b参数的可视化渲染方式都为文本框(textbox),则可视化定义如下:[{”param”:”a”,”type”:”textbox”},{”param”:”b”,”type”:”textbox”}]3)插件的实现为java语言实现,伪代码如下,使用${a},${b}在实现代码中传递租户差异化信息:public class module1 {
ꢀꢀꢀꢀ
public static int add() {
ꢀꢀꢀꢀꢀꢀꢀ
return ${a} ${b};
ꢀꢀꢀꢀ
}}如上的伪代码,${} 为模板写法,用于表示伪代码中需要变化的部分,例如在本例中想要在不同的租户中,使用不同的的a、b值,则使用${a}和${b}替代。
[0050]
到此,一个插件包就定义完成。
[0051]
2、插件的管理插件的管理,包含加载和卸载。插件的管理的关键流程在于插件的加载过程,附图7,展示了一个插件的加载流程;卸载过程只是单纯地从上下文中移除,不在此详细说明。
[0052]
假设要将第1步定义的“加法插件”加载到运行引擎,用户使用附图5中所示的插件管理系统中的插件管理模块,请求插件加载模块加载“加法插件”到插件运行引擎。具体流程如附图7所示:1)插件加载模块解析插件包中的接口定义得知插件的实现为一个包含add函数的模块module1,且插件的实现语言为java。
[0053]
2)插件加载模块在插件包中得到插件实现的文本流,完成对应语言的语法解析后,将其转换为中间语言,如下:m module1:
ꢀꢀ
fun add():
ꢀꢀꢀꢀꢀꢀ
return ${a} ${b};3)插件加载模块将翻译后的中间语言暂存到插件上下文。
[0054]
4)插件加载模块通知插件管理模块完成预加载。
[0055]
5)插件管理系统的可视化渲染模块解析插件包中的可视化定义,得知插件中a和b的值允许存在租户差异,可视化渲染为文本框。
[0056]
6)插件管理系统的可视化渲染模块自动渲染两个文本框供用户输入租户个性化信息。
[0057]
7)假设要将插件加载到两个租户aaa和bbb,a,b值设置如下:
租户a值b值aaa32bbb168)那么,插件加载模块保存以上的租户aaa和租户bbb的差异信息,存入插件上下文。
[0058]
到此,插件就已经加载到插件运行模块的插件上下文了,且包含了租户aaa和租户bbb的个性信息。
[0059]
3、插件的运行如附图8,展示了一个插件的运行过程。假设我们要运行租户aaa的加法插件:1)插件上下文获取加法插件中间语言。
[0060]
m module1:
ꢀꢀ
fun add():
ꢀꢀꢀꢀꢀꢀ
return ${a} ${b};2)插件上下文判断当前租户为租户aaa。
[0061]
3)插件上下文获取租户对应的差异化信息,如下租户a值b值aaa324)插件上下文将差异化信息合并到中间语言,如下m module1:
ꢀꢀ
fun add():
ꢀꢀꢀꢀꢀꢀ
return 3 2;5)执行d步骤动态生成的中间语言,返回结果5.以上,就完成了插件的运行过程。
[0062]
本方案根据特有的插件定义和执行方法,使得插件在多租户环境下具备共享复用及差异化执行,降低插件开发成本;特有的可视化定义和执行方法,让插件不增加开发成本的同时,使得插件拥有更好的使用体验。
[0063]
第二方面。
[0064]
请参阅图9

12,本发明一实施例提供一种插件运行管理可视化系统,包括:插件解析模块10,用于获取目标插件,并解析所述目标插件携带的接口定义数据、插件实现数据及可视化定义数据。
[0065]
目标函数生成模块20,用于根据所述接口定义数据,得到目标函数。
[0066]
数据语言转化模块30,用于对所述插件实现数据进行语法解析,以实现将所述插件实现数据转化为中间语言数据。
[0067]
可视化展示模块40,用于通过所述可视化定义数据渲染文本框,并将所述目标函数及所述中间语言数据在所述文本框中进行展示。
[0068]
在另一具体实施方式中,所述的一种插件运行管理可视化系统,还包括:中间语言数据暂存模块50,用于将所述中间语言数据暂存于插件上下文。
[0069]
插件预加载模块60,用于通知插件管理模块完成插件预加载。
[0070]
在另一具体实施方式中,所述的一种插件运行管理可视化系统,还包括:
交互模块70,用于:获取用户输入数据;将所述用户输入数据在所述文本框中进行展示。
[0071]
在又一具体实施方式中,所述的一种插件运行管理可视化系统,还包括:插件定义模块80,用于定义目标插件的接口数据及可视化数据。
[0072]
本发明提供的系统根据特有的插件定义和执行方法,使得插件在多租户环境下具备共享复用及差异化执行,降低插件开发成本;特有的可视化定义和执行方法,让插件不增加开发成本的同时,使得插件拥有更好的使用体验。
[0073]
第三方面。
[0074]
本发明提供了一种电子设备,该电子设备包括:处理器、存储器和总线;所述总线,用于连接所述处理器和所述存储器;所述存储器,用于存储操作指令;所述处理器,用于通过调用所述操作指令,可执行指令使处理器执行如本技术的第一方面所示的一种插件运行管理可视化方法对应的操作。
[0075]
在一个可选实施例中提供了一种电子设备,如图13所示,图13所示的电子设备5000包括:处理器5001和存储器5003。其中,处理器5001和存储器5003相连,如通过总线5002相连。可选地,电子设备5000还可以包括收发器5004。需要说明的是,实际应用中收发器5004不限于一个,该电子设备5000的结构并不构成对本技术实施例的限定。
[0076]
处理器5001可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0077]
总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是pci总线或eisa总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0078]
存储器5003可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd

rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0079]
存储器5003用于存储执行本技术方案的应用程序代码,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
[0080]
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。
[0081]
第四方面。
[0082]
本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程
序,该程序被处理器执行时实现本技术第一方面所示的一种插件运行管理可视化方法。
[0083]
本技术的又一实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献