本发明涉及计算机辅助设计(computer aided design,cad),具体涉及一种插件架构方法、系统、存储介质及程序产品。
背景技术:
1、大型cad软件由于历史包袱重、复杂度高、功能繁多等原因,面临启动慢、运行不稳定、维护扩展困难等问题。
2、且随着cad软件的逐步发展,以及用户对cad的扩展需求类型越来越高。在实际操作cad的过程中,用户通常需要引入cad插件来辅助完成复杂的工程制图(例如,大型地形图的绘制,超大型建筑的绘制等场景)。但是,由于插件必须被加载到软件上才能够供用户正常启用(例如,传统的cad插件为满足二次开发需要产生了arx等标准接口),因此随着cad插件类型、数量的逐步增多,批量插件的引入也将导致上述的维护扩展困难成倍地增加,严重地干扰到用户的工作效率。
3、因此,当前亟需一种能够加快启动速度、维护运行稳定性并简化维护难度的cad插件架构方法。
技术实现思路
1、本发明的目的在于提供一种插件架构方法、系统、存储介质及程序产品,部分地解决或缓解现有技术中的上述不足,能够提升批量插件加载效率,同时维护批量插件的稳定运行。
2、本发明一方面提供了一种插件架构方法,包括:
3、s101获取插件目录表,所述插件目录表中记录有至少一个插件包的查询值;其中,所述插件包包括:插件配置文件和功能文件;其中,所述插件配置文件包括:插件的属性信息和运行信息,且所述运行信息包括:所述插件所支持的操作环境版本,所述功能文件包括:用于执行所述插件的扩展功能的运行库数据;
4、s102根据所述查询值查询到待解析的所述插件包;
5、s103采用分级解析规则判断当前查询到的所述插件包是否被允许引入至当前操作环境中;其中,s103包括:
6、s31获取当前的所述插件包的第一解析信息,所述第一解析信息包括:所述运行库数据;
7、s32判断所述第一解析信息是否完整;若是,则进入s33;
8、s33获取所述插件包的第二解析信息,所述第二解析信息包括:所述操作环境版本;
9、s34判断所述第二解析信息与所述当前操作环境是否相匹配;若是,则认为所述插件包被允许引入至所述当前操作环境。
10、在一些实施例中,所述方法还包括:s35查询所述插件目标表中是否存在其他所述查询值,若是,则返回s102。
11、在一些实施例中,在s31之前,还包括步骤:s36判断所述插件包的所述属性信息中是否包括依赖对象信息,其中,依赖对象指的是为了使得当前所述插件包在所述当前操作环境下正常运行,所述当前操作环境下需要引入的另一插件包;若是,则进入s37;若否,则进入s31;
12、s37根据所述依赖对象信息查询在所述插件目录表中是否存在对应的待解析插件包;
13、若是,则将查询到的所述待解析插件包作为当前待解析的所述插件包,并返回s36;
14、若否,则所述插件包不被允许引入至所述当前操作环境,并返回s35。
15、在一些实施例中,所述插件包还关联有预设的功能等级;对应地,在s31之前还包括步骤:
16、获取所述插件包的所述功能等级;
17、根据所述功能等级确定所述插件包的第一解析信息的类型;其中,当所述插件包的功能等级大于或等于第一设定功等级时,所述第一解析信息的类型包括:运行库数据,以及以下一项或多项类型:ui资源、图片资源、语言资源;当所述插件包的功能等级小于所述第一设定功能等级时,所述第一解析信息的类型包括:所述运行库数据。
18、在一些实施例中,所述功能文件还包括以下一种或多种数据:ui资源、图片资源和语言资源;
19、在一些实施例中,所述方法还包括步骤:
20、当当前插件包被允许引入至所述当前操作环境中时,根据被依赖对象的数量选择对应的引入方式;且根据被依赖对象的数量选择对应的引入方式包括:
21、获取所述当前插件包的所述被依赖对象的数量,其中,需要依赖于所述当前插件包的运行而正常运行的所述插件包,即为所述当前插件包的被依赖对象;
22、当所述被依赖对象的数量小于所述设定阈值时,则将采用第一存储方式对所述当前插件包进行存储处理;其中,所述第一存储方式要求所述运行数据库存储在第一存储空间中,所述插件配置文件存储在第二存储空间中;
23、当所述被依赖对象的数量大于或等于设定阈值时,则选择第二存储方式对所述当前插件包进行存储处理;其中,所述第二存储方式要求所述插件配置文件和所述功能文件均被存储于所述第二存储空间中;其中,所述当前操作环境为软件的操作环境,所述第一存储空间位于所述软件的外部区域,所述第二存储空间位于所述软件的内部区域。
24、在一些实施例中,当插件包被允许引入至所述当前操作环境中时,根据所述插件包的引入优先级选择对应的引入方式;且根据所述插件包的引入优先级选择对应的引入方式包括步骤:
25、获取所述插件包的应用优先级;
26、获取所述插件包的历史引入次数;
27、根据所述应用优先级和所述历史引入次数确定所述插件包的引入优先级;
28、当所述引入优先级小于设定优先级时,则选用所述第一存储方式对所述插件包进行存储;所述第一存储方式要求所述运行数据库存储在第一存储空间中,所述插件配置文件存储在第二存储空间中;
29、当所述引入优先级大于或等于所述设定优先级时,则选用第二存储方式对所述插件包进行存储;其中,所述第二存储方式要求所述插件配置文件和所述功能文件均被存储于所述第二存储空间中;其中,所述当前操作环境为软件的操作环境,所述第一存储空间位于所述软件的外部区域,所述第二存储空间位于所述软件的内部区域。
30、在一些实施例中,还包括:
31、s105判断所述当前操作环境的上一次运行情况是否异常;若是,则进入s106;
32、s106获取所述当前操作环境的历史运行记录,并从所述历史运行记录中获取到导致异常的异常插件包;
33、s107当所述当前操作环境中所引入的所述插件包为所述异常插件包时,禁用对应的所述插件包;
34、在一些实施例中,还包括:
35、s108接收到用户输入的禁用信号或启用信号,所述禁用信号或所述启用信号包括:插件包的查询值;
36、s109通过所述查询值查询所述插件包中是否存在依赖对象;若是,则找到所述依赖对象所对应的插件包,并对应地禁用或启用所述插件包。
37、本发明还提供了一种插件架构系统,包括:
38、目录表获取模块,被配置为用于获取插件目录表,所述插件目录表中记录有至少一个插件包的查询值;其中,所述插件包包括:插件配置文件和功能文件;其中,所述插件配置文件包括:插件的属性信息和运行信息,且所述运行信息包括:所述插件所支持的操作环境版本,所述功能文件包括:用于执行所述插件的扩展功能的运行库数据;
39、查询模块,被配置为用于根据所述查询值查询到待解析的所述插件包;
40、分级解析模块,被配置为用于采用分级解析规则判断当前查询到的所述插件包是否被允许引入至当前操作环境中;其中,所述分级解析模块包括:
41、第一解析单元,被配置为用于获取当前的所述插件包的第一解析信息,所述第一解析信息包括:所述运行库数据;
42、第一判断单元,被配置为用于判断所述第一解析信息是否完整;若是,则进入第二解析单元;
43、所述第二解析单元被配置为用于获取所述插件包的第二解析信息,所述第二解析信息包括:所述操作环境版本;
44、第二判断单元,被配置为用于判断所述第二解析信息与所述当前操作环境是否相匹配;若是,则认为所述插件包被允许引入至所述当前操作环境。
45、本发明还提供了一种插件架构的计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上述任意实施例所述的方法。
46、本发明还提供了一种计算机程序产品,配置为存储计算机可读指令,所述计算机可读指令被执行时使得计算机执行如上述任意实施例所述的方法。
47、有益技术效果:
48、本发明提供了一种基于多级评估的插件限制性引入方法,以通过局部信息对插件进行快速评估,进而通过限制性引入强势地为用户维护cad的稳定运行环境。
49、针对存在大批量插件引入的场景,本发明一方面能够利用分级存储模式减小cad软件运行所占用的必要资源,另一方面能够利用动、静结合的限制性引入方法避免多插件在调用过程中产生冲突。
1.一种插件架构方法,其特征在于,包括:
2.根据权利要求1所述的一种插件架构方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的一种插件架构方法,其特征在于,在s31之前,还包括步骤:
4.根据权利要求3所述的一种插件架构方法,其特征在于,所述插件包还关联有预设的功能等级;对应地,在s31之前还包括步骤:
5.根据权利要求1所述的一种插件架构方法,其特征在于,所述功能文件还包括以下一种或多种数据:ui资源、图片资源和语言资源;
6.根据权利要求1所述的一种插件架构方法,其特征在于,当插件包被允许引入至所述当前操作环境中时,根据所述插件包的引入优先级选择对应的引入方式;且根据所述插件包的引入优先级选择对应的引入方式包括步骤:
7.根据权利要求1所述的一种插件架构方法,其特征在于,还包括:
8.一种插件架构系统,其特征在于,包括:
9.一种插件架构的计算机可读存储介质,其特征在于,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1至7中任意一项所述的方法。
10.一种计算机程序产品,其特征在于,配置为存储计算机可读指令,所述计算机可读指令被执行时使得计算机执行如权利要求1至7中任意一项所述的方法。
