一种插件管理的方法、装置、设备及介质与流程

文档序号:36262689发布日期:2023-12-06 00:30阅读:35来源:国知局
一种插件管理的方法与流程

本发明涉及软件,尤其涉及一种插件管理的方法、装置、设备及介质。


背景技术:

1、在数据分析系统中,一般将各项功能转换为对应的功能插件后按需集成到系统中,通过插件的方式对数据进行分析和管理。

2、在插件管理的相关技术中,一般将各个插件的功能定位、参数传递、输出方式、运行顺序等逻辑关系进行统一设定,按照统一设定的逻辑关系加载插件,建立了较为明显的逻辑耦合,这种方式限制了插件加载过程中单个插件的独立性,灵活性较低;或者不对插件的内部实现及逻辑关系进行管理,各个功能插件完全独立,这种方式无法建立各个插件之间的全局逻辑关系,对于插件加载过程中需要多个插件进行分析的场景难以满足。


技术实现思路

1、有鉴于此,本发明提出了一种插件管理的方法、装置、设备及介质,至少解决了在插件管理的相关技术中,按照统一设定的逻辑关系加载插件,建立了较为明显的逻辑耦合,限制了插件加载过程中单个插件的独立性,灵活性较低;或者不对插件的内部实现及逻辑关系进行管理,各个功能插件完全独立,无法建立各个插件之间的全局逻辑关系,对于插件加载过程中需要结果多个插件进行分析的场景难以满足,无法兼具插件管理的灵活性和独立性的问题。

2、基于以上目的,本发明的实施例的一个方面提供了一种插件管理的方法,包括:响应于系统启动,基于每个待加载插件与所述系统的全部待加载插件中除其本身之外的插件之间的依赖关系建立有向无环图;对所述有向无环图进行拓扑排序,得到所述依赖关系的顺序;基于所述依赖关系的顺序依次加载所述全部待加载插件。

3、在一些实施例中,所述响应于系统启动,基于每个待加载插件与所述系统的全部待加载插件中除其本身之外的插件之间的依赖关系建立有向无环图的步骤包括:响应于系统启动,基于每个待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的插件的共享数据,建立所述每个待加载插件与所述系统的全部待加载插件中除其本身之外的插件之间的依赖关系;基于所述依赖关系建立有向无环图。

4、在一些实施例中,所述基于每个待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的插件的共享数据,建立所述每个待加载插件与所述全部待加载插件中除其本身之外的插件之间的依赖关系的步骤包括:判断任一待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据;响应于确认所述任一待加载插件依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据,获取所述若干插件分别对应的标志值,将所述若干插件分别对应的标志值绑定在所述任一待加载插件的标志值,得到所述任一待加载插件与所述若干插件的依赖与被依赖关系。

5、在一些实施例中,所述基于每个待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的插件的共享数据,建立所述每个待加载插件与所述全部待加载插件中除其本身之外的插件之间的依赖关系的步骤还包括:逐一对所述系统的全部待加载插件分别进行所述判断任一待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据的步骤,得到所述系统中全部待加载插件对应的依赖关系。

6、在一些实施例中,所述基于所述依赖关系的顺序依次加载所述全部待加载插件的步骤包括:基于所述依赖关系的顺序进行反向排序,得到加载所述全部待加载插件的顺序;根据所述加载所述全部待加载插件的顺序依次加载所述每个待加载插件。

7、在一些实施例中,所述根据所述加载所述全部待加载插件的顺序依次加载每个插件包括:根据所述加载所述全部待加载插件的顺序,依次加载当前待加载插件的私有数据以及所述当前待加载插件在所述全部待加载插件中依赖的插件的共享数据,直至将所述全部待加载插件分别对应的数据全部加载到所述系统中。

8、在一些实施例中,所述根据所述加载所述全部待加载插件的顺序,依次加载当前待加载插件的私有数据以及所述当前待加载插件在所述全部待加载插件中依赖的插件的共享数据的步骤包括:获取当前待加载插件绑定的若干标志值;根据所述加载所述全部待加载插件的顺序依次基于所述若干标志值匹配所述当前待加载插件在所述全部待加载插件中依赖的插件并获取其对应的共享数据。

9、本发明实施例的另一方面,还提供了一种插件管理的装置,包括:第一模块,用于响应于系统启动,基于每个待加载插件与所述系统的全部待加载插件中除其本身之外的插件之间的依赖关系建立有向无环图;第二模块,用于对所述有向无环图进行拓扑排序,得到所述依赖关系的顺序;第三模块,用于基于所述依赖关系的顺序依次加载所述全部待加载插件。

10、在一些实施例中,所述第一模块进一步用于:响应于系统启动,基于每个待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的插件的共享数据,建立所述每个待加载插件与所述系统的全部待加载插件中除其本身之外的插件之间的依赖关系;基于所述依赖关系建立有向无环图。

11、在一些实施例中,所述第一模块进一步用于:判断任一待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据;响应于确认所述任一待加载插件依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据,获取所述若干插件分别对应的标志值,将所述若干插件分别对应的标志值绑定在所述任一待加载插件的标志值,得到所述任一待加载插件与所述若干插件的依赖与被依赖关系。

12、在一些实施例中,所述第一模块进一步用于:逐一对所述系统的全部待加载插件分别进行所述判断任一待加载插件是否依赖所述系统的全部待加载插件中除其本身之外的若干插件的共享数据的步骤,得到所述系统中全部待加载插件对应的依赖关系。

13、在一些实施例中,所述第三模块进一步用于:基于所述依赖关系的顺序进行反向排序,得到加载所述全部待加载插件的顺序;根据所述加载所述全部待加载插件的顺序依次加载所述每个待加载插件。

14、在一些实施例中,所述第三模块进一步用于:根据所述加载所述全部待加载插件的顺序,依次加载当前待加载插件的私有数据以及所述当前待加载插件在所述全部待加载插件中依赖的插件的共享数据,直至将所述全部待加载插件分别对应的数据全部加载到所述系统中。

15、在一些实施例中,所述第三模块进一步用于:获取当前待加载插件绑定的若干标志值;根据所述加载所述全部待加载插件的顺序,依次基于所述若干标志值匹配所述当前待加载插件在所述全部待加载插件中依赖的插件并获取其对应的共享数据。

16、本发明实施例的另一方面,还提供了一种电子设备,包括至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述方法的步骤。

17、本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上述方法步骤的计算机程序。

18、本发明至少具有以下有益效果:本发明提出一种插件管理的方法,根据每个插件与其它插件的依赖关系建立有向无环图,通过对有向无环图进行拓扑排序,得到依赖关系的顺序,并基于依赖关系的顺序依次加载每个插件,在系统中只依据各个插件之间的依赖关系建立逻辑关系,不对插件内部的实现进行管理,既保留了插件加载过程中单个插件的独立性,又保证了系统的各个插件之间的全局逻辑关系,可以应对插件加载过程中需要多个插件进行分析的场景。

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