1.本技术涉及进程监管技术领域,尤其涉及一种插件监管的方法、装置及电子设备。
背景技术:
2.目前随着数据存储技术的不断进步,大量的数据存储类型越来丰富,然而当前一个数据采集系统无法天然覆盖所有数据存储类型,不可避免需要开发人员自行编写插件用于对接系统,以接入不同的数据存储类型。在接入插件的使用过程中,会因为异常插件而导致接入插件的任务运行异常,因此在运行任务时,对于运行任务中的插件监控管理成为当前的一大挑战。
3.现目前的常规手段是,首先为需要运行的任务确定特定编程语言编写的插件,再为任务需要的插件分配资源,检测在节点上任务的运行情况,如果检测到任务的插件运行出现异常,那么将该节点上所有任务以及插件进行重启,同时记录为历史数据。
4.但是,如果直接将所有任务以及插件进行重启操作,一般异常的插件会出现同样的异常情况,甚至还会引发该节点上运行的其他插件出现异常情况。
技术实现要素:
5.本技术提供一种插件监管的方法、装置及电子设备,实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。
6.第一方面,本技术提供了一种插件监管的方法,所述方法包括:
7.采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;
8.对所述数据库中的所述运行数据进行分析,确定运行异常的插件;
9.将所述插件对应的任务调度到其他可用节点上,重新运行所述任务。
10.通过上述方法,分析数据库中插件的运行数据,有助于协助用户溯源,实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。
11.在一种可能的设计中,在采集插件的运行数据前,还包括:通过确定当前接收的任务所需的插件,来获取所述插件的插件信息,并且根据插件信息,确定该插件需要的运行环境,在这种运行环境下,根据插件信息为该插件分配资源,并运行该插件。
12.通过上述方法,为不同编程语言的插件灵活配置相应的运行环境,可以适配各种各样的插件类型,加快接入插件的时间。
13.在一种可能的设计中,在确定插件的运行环境的过程中,包括:根据所述插件的插件信息,判断插件需要的运行环境是否为当前的运行环境;若是,则确定当前的运行环境为插件的运行环境;若否,则从镜像仓库中获取插件需要的运行环境,并确定该运行环境为插件的运行环境。
14.通过上述方法,预设包括多种编程语言的运行环境的镜像仓库,不再限制获取到插件的编程语言,可以适配各种各样的插件类型,加快接入插件的时间,还节约了编写插件
的开发人员学习特定编程语言的学习和时间成本。
15.在一种可能的设计中,通过分析数据库中插件的运行数据,以确定运行异常的插件,包括:根据插件对应的数据库中的运行数据,得到该插件在不同时刻检测到的运行状态;若该插件连续n次的运行状态为异常时,则确认该插件为运行异常的插件。
16.通过上述方法,有效避免因网络异常等情况而导致对插件的运行异常状态错误检测的情况。
17.在一种可能的设计中,将插件对应的任务调度到其他可用节点上重新运行,包括:根据插件的优先级标识,将第一优先级标识的插件对应的任务调度到其他可用节点上重新运行;或者,根据插件对应的任务的优先级标识,将第一优先级标识的任务调度到其他可用节点上重新运行;或者,根据任务的任务状态,执行新接收的任务,在执行完所述新接收的任务后,将运行异常的插件对应的任务调度到其他可用节点上重新运行。
18.通过上述方法,实现对插件的动态调度,不仅解决因抢占资源导致插件的运行异常状态,还解决了对资源的浪费问题。
19.在一种可能的设计中,在调度运行异常的插件对应的任务到其他可用节点上重新运行后,还包括:若运行异常的插件对应的任务经过多次调度仍然无法正常运行,则确定该插件为错误插件,停止运行该插件对应的任务,并释放该任务占用的资源,向用户发送该错误插件与该任务的报警报告。
20.通过上述方法,有助于提前发现该插件的运行问题,同时,协助开发人员快速分析定位解决该插件的问题。
21.第二方面,本技术提供了一种插件监管的装置,所述装置包括:
22.采集模块,采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;
23.分析模块,对所述数据库中的所述运行数据进行分析,确定运行异常的插件;
24.调度模块,将所述插件对应的任务调度到其他可用节点上,重新运行所述任务。
25.在一种可能的设计中,在所述采集模块之前,还用于确定当前接收的任务所需的插件,并获取所述插件的插件信息;根据所述插件信息,确定所述插件的运行环境;在所述运行环境下,根据所述插件信息为所述插件分配资源,并运行所述插件。
26.在一种可能的设计中,在所述采集模块之前的根据所述插件信息,确定所述插件的运行环境中,还用于:根据所述插件的所述插件信息,检测所述插件需要的运行环境是否为当前的运行环境;若是,则确定当前的运行环境为所述插件的运行环境;若否,则从镜像仓库中获取所述插件需要的运行环境,并确定所述运行环境为所述插件的运行环境,其中,所述镜像仓库包括多种编程语言的运行环境。
27.在一种可能的设计中,所述分析模块,具体用于根据插件对应的数据库中的运行数据,得到所述插件在不同时刻检测到的运行状态;若所述插件连续n次的运行状态为异常时,则确认所述插件为运行异常的插件,其中,n为大于等于1的正整数。
28.在一种可能的设计中,所述调度模块,具体用于根据插件的优先级标识,将第一优先级标识的插件对应的任务调度到其他可用节点上重新运行;或者,根据插件对应的任务的优先级标识,将第一优先级标识的任务调度到其他可用节点上重新运行;或者,根据任务的任务状态,执行新接收的任务,在执行完所述新接收的任务后,将运行异常的插件对应的
任务调度到其他可用节点上重新运行。
29.在一种可能的设计中,在所述调度模块之后,还用于若所述插件对应的任务经过多次调度仍然无法正常运行,则确定所述插件为错误插件,停止运行所述任务,并释放所述任务占用的资源;向用户发送所述错误插件与所述任务的报警报告。
30.第三方面,本技术提供了一种电子设备,所述电子设备包括:
31.存储器,用于存放计算机程序;
32.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的一种插件监管的方法步骤。
33.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种插件监管的方法步骤。
34.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
35.图1为本技术提供的一种可能的应用场景的结构图;
36.图2为本技术提供的另一种可能的应用场景的结构图;
37.图3为本技术提供的一种插件监管的示意图;
38.图4为本技术提供的一种插件监管的装置的示意图;
39.图5为本技术提供的一种电子设备的结构的示意图。
具体实施方式
40.为便于本领域技术人员更好地理解本技术,下面先对本技术涉及的技术用语术进行简单阐述。
41.1、hdfs(分布式文件系统,hadoop distributed file system):为google file system(谷歌文件系统,gfs)的实现,是hadoop(分布式系统基础架构)项目的核心子项目。
42.2、kubernetes(容器编排引擎):开源的一个容器编排引擎,kubernetes支持自动化部署、大规模可伸缩、应用容器化管理。
43.参阅图1所示,本技术实施例提供了一种可能的应用场景,具体内容如下:
44.在图1中,环境镜像集合11包括多个环境镜像,在这里环境镜像对应为编程语言的运行环境。并且在镜像仓库模块12中存储环境镜像集合11中多种编程语言的环境镜像。
45.插件集合13包括多个插件,并且在插件存储模块14中存储插件集合13中的插件,在这里的存储系统14可以是hdfs服务器。值得注意的是,上述插件包括不同编程语言编写的插件、实现不同功能的插件等。
46.参见图2所示,本技术实施例还提供了一种更为具体的可能的应用场景,具体内容如下:
47.如图2所示的应用场景包括镜像仓库模块21、资源计算模块22、插件管理模块23、服务模块24、插件存储模块25、插件管理子模块26、监控数据采集模块27、监控数据分析模
块28、预警模块29。
48.镜像仓库模块21,用于存储有多种同编程语言的环境镜像。基于镜像仓库模块21,还可以根据实际应用需求,保存用户临时编译的环境镜像。
49.资源计算模块22,用于监控和管理各个节点、任务、插件的资源。
50.具体来说,资源计算模块22将根据一定规则,为插件分配资源。在这里的规则包括但不限于,根据插件或任务的优先级标识进行资源分配,根据用户实际应用需要进行资源的分配。
51.资源计算模块22还用于检测各个节点的资源使用情况。例如,资源计算模块22可以检测某一节点剩余可用资源为1g。
52.资源计算模块22还用于检测各个任务、插件的运行状态,例如,由于为某任务、插件分配的资源不足,检测到该任务、插件无法正常运行。
53.值得注意的是,当在资源计算模块22检测到运行异常的任务、插件时,资源计算模块22将向插件管理模块23发送停止该任务、插件运行或重新调度的指令。
54.插件管理模块23,用于实现任务的调度管理。具体来说,插件管理模块23在接收上传插件的指令后,将对获取的插件和插件信息进行存储;插件管理模块23在接收到任务下发指令后,将对运行在多个节点上的插件进行调度管理;插件管理模块23在接收到监控数据分析模块28上报的异常插件的报警报告后,将对异常插件所在的任务进行调度管理。
55.另外,插件管理模块23还可以跟插件管理子模块26建立实时通信,实时监控管理当前运行的插件,插件管理模块23通过与服务模块24进行交互实现对插件运行环境的管理。
56.服务模块24,包括kubernetes服务等。
57.插件存储模块25,用于存储有多个插件。
58.插件管理子模块26,通过与插件管理模块23建立通信,并根据插件信息中插件的存储地址,在对应的存储地址中获取相应的插件。另外,插件管理子模块26还使用子进程的形式,管理获取的插件的运行状态。
59.监控数据采集模块27,用于定时采集插件的运行数据。并且监控数据采集模块27还将运行数据上报给监控数据分析模块28。在这里,运行数据包括插件的运行状态、插件的运行资源等。
60.监控数据分析模块28,用于分析采集的运行数据。并且监控数据分析模块28还将采集到的运行数据保存到对应插件的数据库中,对每个插件的数据库进行分析。另外,将监控数据分析模块28分析结果的报警报告发送至预警模块29以及插件管理模块23。
61.预警模块29,用于向用户发送报警报告。根据接收到监控数据分析模块28的报警报告,根据预设通知方式,将报警报告发送给用户。
62.基于上述的应用场景,本技术实施例提供了一种插件监管的方法、装置及电子设备,可以实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。
63.下面结合附图对本技术实施例所提供的方法作出进一步详细说明。
64.参阅图3所示,本技术实施例提供了一种插件监管的方法,具体流程如下:
65.在步骤301之前,首先获取当前接收到的任务,并且在确认任务对应需要的插件后,获取插件的插件信息。然后根据插件信息,确定当前运行环境是否满足插件的运行,如
果插件无法正常运行,那么在预设的运行环境中获取插件所需的运行环境。在确定运行环境后,为插件分配相应的资源,并且运行插件。
66.具体来说,插件信息可以包括插件的存储位置、运行资源、运行环境等。另外,插件信息中还可以包括插件的优先级标识。
67.举例来说,假设当前获取任务a,并且任务a运行需要插件a和插件b,根据插件管理模块可以得到插件a和插件b所需要的资源,进而得到任务a运行所需要的资源。通过资源计算模块得知当前的节点的剩余资源,为任务a分配满足资源需求的节点a的资源,并且在节点a上运行任务a。
68.值得注意的是,单个节点上可以运行有多个任务,单个任务中可以对应多个插件,在任务运行结束后,节点将释放该任务所占用的资源。
69.通过上述方法,结合预设的运行环境以适配各种编程语言的插件,支持插件的运行环境的灵活配置,达到插件的快速接入运行的效果,进一步,还节约开发人员学习特定编程语言的学习和时间成本。
70.步骤301:采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;
71.在对运行的插件进行实时监测的过程中,监控各个节点的资源使用情况、在各个节点上运行的任务的运行情况,并且定时采集各插件的运行数据,并且将采集到的运行数据按照时间的先后顺序存储在对应的数据库中。
72.具体来说,运行数据包括插件运行的资源、插件的运行状态、插件对应路径的插件日志文件等。在这里,每个插件都有一个对应的数据库,在这个数据库中按照时间顺序存储该插件在不同时刻采集到的运行数据。
73.通过上述方法,实现对插件运行情况的实时监控和管理,并且通过数据库,不需要提前埋点,便可以实现对插件运行数据的溯源。
74.步骤302:对所述数据库中的所述运行数据进行分析,确定运行异常的插件;
75.在本技术实施例中,以单个插件对应的数据库为例,在该数据库中提取出该插件在不同时刻的运行状态,如果该插件连续n次的运行状态都为运行异常,那么可以认为该插件为运行异常的插件,n为大于等于1的正整数,可以根据实际应用需要设定。
76.举例来说,针对第一插件对应的第一数据库,通过对第一数据库的分析得到第一插件连续100次都运行异常,那么便认为第一插件为运行异常的插件。
77.值得注意的是,在这里的100次仅为一种可能的情况,还可以为其他正整数。另外,在这里检测多次可以有效排除因为网络连接原因而导致检测到插件运行异常的情况。
78.通过上述方法,有效避免因网络异常等情况而导致对插件的运行异常状态错误检测的情况。
79.步骤303:将所述插件对应的任务调度到其他可用节点上,重新运行所述任务。
80.在检测到运行异常的插件后,根据预设恢复规则,将该插件对应的任务调度其他可用的节点上,在完成调度操作后,重新运行包含该插件的任务。在这里,可用的节点包括新申请的节点、节点资源使用率低于预设比例的节点、节点上任务运行结束的节点等。
81.然而,同一时间可能存在多个运行异常的插件、多个运行异常的任务,并且运行异常的插件等待调度的同时,还可能获取到新任务的插件等待被分配资源。因此,在这时若重
启该节点上所有任务,仍然存在多插件、多任务之间因抢占资源而持续运行异常的问题。
82.在本技术实施例中,为了解决上述问题,提出通过插件、任务、运行状态这三个维度的预设恢复规则来对插件对应的任务进行调度或分配。
83.在插件维度的预设恢复规则中,需要获取表示插件重要程度的优先级标识,然后根据插件携带的优先级标识,确定重要程度最高的插件。如果该插件是运行异常的插件,那么便将该插件对应的任务调度到其他可用的节点上去重新运行。如果该插件是新任务的插件,那么便为该插件对应的任务分配资源。
84.值得注意的是,如果该插件既存在于运行异常的插件对应的任务中,也存在于新任务中,那么可以根据插件对应任务的运行状态进行调度或分配。
85.具体来说,若任务的异常状态的重要程度高于非异常状态的重要程度,则先为运行异常的插件对应的任务进行调度重启;若任务的异常状态的重要程度不高于任务的非异常状态的重要程度,则先为新任务对应的插件分配资源。
86.在任务维度的预设恢复规则中,需要获取表示任务重要程度的优先级标识,然后根据任务携带的优先级标识,确定重要程度最高的任务。如果该任务中的插件为运行异常的插件,那么便将该任务调度到其他可用的节点上去重新运行。如果该任务是新任务,难么便为该任务对应的插件分配资源。
87.在运行状态维度的预设恢复规则中,可以根据任务的运行状态来进行调度或分配。例如,有些任务为异常状态,有些任务是最新获取的新任务,新任务为非异常状态,在这种情况下,首先将暂停处于异常状态的任务,然后再为新任务分配完资源后,调度处于异常状态的任务。
88.进一步,在运行状态维度的基础上,还可以根据上述插件维度、任务维度来调度异常状态的任务或者为新任务分配资源。
89.通过上述方法,预设恢复规则,实现对插件额灵活分配调度,有效节约资源,避免因资源抢占造成多个插件同时异常的情况,还解决现有技术在运行多个插件并且设备资源不足的情况下,使用重启策略无法解决插件运行异常的问题。
90.通过本技术实施例中所提供的方法,可以实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。
91.在上述方法的基础上,为了便于用户及时发现异常插件的问题,在本技术实施例中,若插件对应的任务经过多次调度仍然无法正常运行,则确定该插件为错误插件,停止运行该插件对应的任务,释放该任务占用节点的资源,并且向用户发送该错误插件与对应任务的报警报告。
92.通过上述方法,可以有助于提前发现该插件的运行问题,同时,协助开发人员快速分析定位解决该插件的问题。
93.基于同一发明构思,本技术还提供了一种插件监管的装置,用以实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况,参阅图4所示,该装置包括:
94.采集模块401,采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;
95.分析模块402,对所述数据库中的所述运行数据进行分析,确定运行异常的插件;
96.调度模块403,将所述插件对应的任务调度到其他可用节点上,重新运行所述任
务。
97.在一种可能的设计中,在所述采集模块401之前,还用于确定当前接收的任务所需的插件,并获取所述插件的插件信息;根据所述插件信息,确定所述插件的运行环境;在所述运行环境下,根据所述插件信息为所述插件分配资源,并运行所述插件。
98.在一种可能的设计中,在所述采集模块401之前的根据所述插件信息,确定所述插件的运行环境中,还用于:根据所述插件的所述插件信息,检测所述插件需要的运行环境是否为当前的运行环境;若是,则确定当前的运行环境为所述插件的运行环境;若否,则从镜像仓库中获取所述插件需要的运行环境,并确定所述运行环境为所述插件的运行环境,其中,所述镜像仓库包括多种编程语言的运行环境。
99.在一种可能的设计中,所述分析模块402,具体用于根据插件对应的数据库中的运行数据,得到所述插件在不同时刻检测到的运行状态;若所述插件连续n次的运行状态为异常时,则确认所述插件为运行异常的插件,其中,n为大于等于1的正整数。
100.在一种可能的设计中,所述调度模块403,具体用于根据插件的优先级标识,将第一优先级标识的插件对应的任务调度到其他可用节点上重新运行;或者,根据插件对应的任务的优先级标识,将第一优先级标识的任务调度到其他可用节点上重新运行;或者,根据任务的任务状态,执行新接收的任务,在执行完所述新接收的任务后,将运行异常的插件对应的任务调度到其他可用节点上重新运行。
101.在一种可能的设计中,在所述调度模块403之后,还用于若所述插件对应的任务经过多次调度仍然无法正常运行,则确定所述插件为错误插件,停止运行所述任务,并释放所述任务占用的资源;向用户发送所述错误插件与所述任务的报警报告。
102.基于上述系统,用以实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。
103.基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述一种插件监管的装置的功能,参考图5,所述电子设备包括:
104.至少一个处理器501,以及与至少一个处理器501连接的存储器502,本技术实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例。总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器501也可以称为控制器,对于名称不做限制。
105.在本技术实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前文论述的插件监管方法。处理器501可以实现图5所示的装置/系统中各个模块的功能。
106.其中,处理器501是该装置/系统的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,该装置/系统的各种功能和处理数据,从而对该装置/系统进行整体监控。
107.在一种可能的设计中,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成
到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
108.处理器501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的插件监管方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
109.存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置/系统,用于存储程序指令和/或数据。
110.通过对处理器501进行设计编程,可以将前述实施例中介绍的插件监管方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的插件监管方法的步骤。如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
111.基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述插件监管方法。
112.在一些可能的实施方式中,本技术提供的插件监管方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的插件监管方法中的步骤。
113.本领域内的技术人员应明白,本技术的实施例可提供为方法、装置/系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
114.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
115.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
116.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
117.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种插件监管的方法,其特征在于,所述方法包括:采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;对所述数据库中的所述运行数据进行分析,确定运行异常的插件;将所述插件对应的任务调度到其他可用节点上,重新运行所述任务。2.如权利要求1所述的方法,其特征在于,在所述采集各节点上运行任务的插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中之前,还包括:确定当前接收的任务所需的插件,并获取所述插件的插件信息;根据所述插件信息,确定所述插件的运行环境;在所述运行环境下,根据所述插件信息为所述插件分配资源,并运行所述插件。3.如权利要求2所述的方法,其特征在于,所述根据所述插件信息,确定所述插件的运行环境,包括:根据所述插件的所述插件信息,检测所述插件需要的运行环境是否为当前的运行环境;若是,则确定当前的运行环境为所述插件的运行环境;若否,则从镜像仓库中获取所述插件需要的运行环境,并确定所述运行环境为所述插件的运行环境,其中,所述镜像仓库包括多种编程语言的运行环境。4.如权利要求1-3中任一所述的方法,其特征在于,所述对所述数据库中的所述运行数据进行分析,确定运行异常的插件,包括:根据插件对应的数据库中的运行数据,得到所述插件在不同时刻检测到的运行状态;若所述插件连续n次的运行状态为异常时,则确认所述插件为运行异常的插件,其中,n为大于等于1的正整数。5.如权利要求1-4中任一所述的方法,其特征在于,所述将所述插件对应的任务调度到其他可用节点上,重新运行,包括:根据插件的优先级标识,将第一优先级标识的插件对应的任务调度到其他可用节点上重新运行;或者,根据插件对应的任务的优先级标识,将第一优先级标识的任务调度到其他可用节点上重新运行;或者,根据任务的任务状态,执行新接收的任务,在执行完所述新接收的任务后,将运行异常的插件对应的任务调度到其他可用节点上重新运行。6.如权利要求1-5中任一所述的方法,其特征在于,在所述将所述插件对应的任务调度到其他可用节点上,重新运行之后,还包括:若所述插件对应的任务经过多次调度仍然无法正常运行,则确定所述插件为错误插件,停止运行所述任务,并释放所述任务占用的资源;向用户发送所述错误插件与所述任务的报警报告。7.一种插件监管的装置,其特征在于,所述装置包括:采集模块,采集各节点上插件的运行数据,将所述运行数据按照采集时间的先后顺序存储在对应插件的数据库中;分析模块,对所述数据库中的所述运行数据进行分析,确定运行异常的插件;
调度模块,将所述插件对应的任务调度到其他可用节点上,重新运行所述任务。8.如权利要求7所述的装置,其特征在于,所述调度模块,具体用于根据插件的优先级标识,将第一优先级标识的插件对应的任务调度到其他可用节点上重新运行;或者,根据插件对应的任务的优先级标识,将第一优先级标识的任务调度到其他可用节点上重新运行;或者,根据任务的任务状态,执行新接收的任务,在执行完所述新接收的任务后,将运行异常的插件对应的任务调度到其他可用节点上重新运行。9.一种电子设备,其特征在于,包括:存储器,用于存放计算机程序;处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-6中任一项所述的方法步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法步骤。
技术总结
本申请公开一种插件监管的方法、装置及电子设备,该方法包括采集各节点上插件的运行数据,并将运行数据按照采集时间的先后顺序存储在对应插件的数据库中,然后通过分析数据库中的运行数据,确定运行异常的插件,将运行异常的插件对应的任务调度到其他可用节点上,并重新运行该任务。基于上述方法可以实现对插件的动态调度,有效解决因为抢占资源而导致的插件异常的情况。异常的情况。异常的情况。
技术研发人员:李原 斯奇能 文江 江文龙
受保护的技术使用者:浙江大华技术股份有限公司
技术研发日:2021.11.15
技术公布日:2022/3/8