一种服务调度方法、装置和设备与流程



1.本发明涉及数据处理技术领域,具体涉及一种基于边缘计算工业过程数据管控服务的服务调度方法、装置和设备。


背景技术:



2.云计算时代,随着应用的增加,集中式的云已经无法满足终端侧“大连接、低时延、大宽带”的资源要求。云计算将必然发展到下一个技术阶段:将云计算的能力扩展值距离更近的边缘侧,在边缘侧构建边缘计算工业过程数据管控服务平台,目前边缘侧为了降低了用户的开发成本,最大限度的与中心云采用统一架构、统一接口。云计算平台在搭建时都采用互联网的高可用方案,这种高可用方案适用于大规模的服务高可用场景,高可用部署、高可用管理比较复杂,搭建一个高可用平台需要2n+1台机器,如果高可用服务列表中异常服务超过一半则整个高可用环境不可用,这样减少了正常服务的使用率,每一个服务高可用部署都需要2n+1台机器,这样会占用过多的资源。


技术实现要素:



3.有鉴于此,本发明实施例提供一种服务调度方法、装置和设备,以以提高边缘设备的使用效率。
4.为实现上述目的,本发明实施例提供如下技术方案:
5.一种服务调度装置,包括:
6.高可用服务单元所述高可用服务单元中配置有n个子服务,所述n为正整数,所述子服务在获取到调度结果时,基于所述调度结果判断是否执行业务逻辑;
7.消息中间件单元,所述消息中间件单元中预置有与所述高可用服务单元相适配的第一订阅主题和第二订阅主题,所述第一订阅主题用于基于预设周期获取所述高可用服务中的各个子服务的注册信息,所述第二订阅主题用于获取调度结果,并将所述调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务;
8.服务调度单元,所述调度单元获取各个子服务的注册信息,基于预置调度算法和所述各个子服务的注册信息生成调度结果,将所述调度结果发送给所述第二订阅主题,所述调度结果至少包括选取的主节点
9.可选的,上述服务调度装置中,所述高可用服务单元的数量为m,所述m为不小于1的正整数。
10.可选的,上述服务调度装置中,所述消息中间件单元中配置有m组第一订阅主题和第二订阅主题,且每组第一订阅主题和第二订阅主题与所述高可用服务单元之间一一对应。
11.可选的,上述服务调度装置中,各个高可用服务单元中的子服务的数量相同或不同。
12.可选的,上述服务调度装置中,所述高可用服务单元中的n个子服务分别为一个主
子服务和n-1个备用子服务,其中,所述备用子服务的数量至少为一个。
13.可选的,上述服务调度装置中,所述子服务在基于所述调度结果判断是否执行业务逻辑时,具体用于:
14.提取所述调度结果中的主节点,判断所述主节点与所述子服务自身的节点是否一致,如果一致,则将所述子服务作为主子服务,并执行所述高可用服务单元对应的业务逻辑。
15.可选的,上述服务调度装置中,所述服务调度单元,还用于获取子服务停启指令,基于所述子服务停启指令停启所述高可用服务单元中的子服务,当所停止的子服务为主子服务时,由处于开启状态的n-1个备用子服务中选择一个备用子服务作为主子服务。
16.可选的,上述服务调度装置中,所述服务调度单元在基于预置调度算法和所述各个子服务的注册信息生成调度结果时,优先判定是否采用所述主子服务执行业务逻辑,如果所述主子服不可用,则判断是否所述备用子服务执行业务逻辑,基于判断结果生成调度结果。
17.一种服务调度方法,包括:
18.通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;
19.通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;
20.通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;
21.通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。
22.一种服务调度设备,包括存储器和处理器;
23.所述存储器,用于存储程序;
24.所述处理器,用于执行所述程序,实现:
25.通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;
26.通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;
27.通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;
28.通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。
29.基于上述技术方案,本发明实施例提供的上述方案中,高可用服务单元中的各个子服务定时向消息中间件进行注册,调度服务从消息中间件对各个子服务的注册信息进行订阅,采用预设的调度方法基于所述注册信息确定一个用于完成本次任务的子服务,并生成对应的调度结果,将所述调度结果通过所述消息中间件单元发送给所述子服务,所述子服务在获取到调度结果后,基于所述调度结果判断是否执行业务逻辑。本方案通过在高可用服务单元端布置多个子服务,使得边缘计算工业过程数据管控服务高可用部署变得灵
活、高效、易扩展,从而减少边缘侧的高可用服务单元的数量,增加边缘侧高可用服务单元的利用率。
附图说明
30.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
31.图1为本技术实施例公开的服务调度装置得结构示意图;
32.图2为本技术另一实施例公开的服务调度装置的结构示意图;
33.图3为本技术实施例公开的服务调度方法的流程示意图;
34.图4为本技术实施例公开的服务调度设备的结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.按照本发明,提供一种基于边缘计算工业过程数据管控服务的服务调度方法、装置和设备,该方案包括:边缘服务(可以认为是本技术中的高可用服务中的子服务)定时向消息中间件进行注册服务状态,注册内容包括服务名称信息、服务类型信息、节点名称信息、当前服务状态信息,调度服务从消息中间件对注册信息进行订阅,然后按照服务名信息、服务状态信息对注册的信息进行分组,从健康(在这里,所谓的健康指的是可用的)的服务列表中选取一个子服务,把该子服务的注册内容推动到消息中间件,该服务名对应的子服务从消息中间件订阅该消息,解析消息内容判断子服务所在节点和消息中的节点是否相等,如果相等,在该节点的子该子服务为主子服务,如果不相等则为备用子服务,备用子服务运行不处理业务,此种设置方式使得边缘计算工业过程数据管控服务高可用部署变得灵活、高效、易扩展,从而减少边缘侧的服务数量,增加边缘侧服务的利用率
37.具体的,参见图1,本技术实施例公开的服务调度装置,可以包括:
38.高可用服务单元a、消息中间件单元b和服务调度单元c;
39.高可用服务单元a,所述高可用服务单元a用于提供背景技术中提到的高可用服务,所述高可用服务单元中配置有n个子服务,所述n为正整数,所述子服务在获取到调度结果时,基于所述调度结果判断是否执行业务逻辑;
40.消息中间件单元b,所述消息中间件单元中预置有与所述高可用服务单元相适配的第一订阅主题和第二订阅主题,每一组第一订阅主题和第二订阅主题与一个高可用服务单元a相匹配,所述第一订阅主题用于基于预设周期获取所述高可用服务中的各个子服务的注册信息,并将所述注册信息上传给服务调度单元,所述第二订阅主题用于获取所述服务调度单元的分析得到的调度结果,并将所述调度结果发送给与所述第二订阅主题对应的高可用服务中的各个子服务,以供所述子服务判断是否执行业务逻辑;
41.服务调度单元c,服务调度单元c用于执行调度服务,具体的,用于基于获取到的注册信息和内置的逻辑判断逻辑选择调度目标,具体的,所述调度单元在获取到各个子服务的注册信息后,基于预置调度算法和所述各个子服务的注册信息生成调度结果,将所述调度结果发送给所述第二订阅主题,以通过所述第二订阅主题将调度结果发送给高可用服务单元a中的各个子服务,其中,所述调度结果至少包括选取的主节点,该主节点为用于执行业务逻辑的子服务的节点。
42.本发明通过提供的上述方案中,高可用服务单元a中的各个子服务定时向消息中间件进行注册,调度服务从消息中间件对各个子服务的注册信息进行订阅,采用预设的调度方法基于所述注册信息确定一个用于完成本次任务的子服务,并生成对应的调度结果,将所述调度结果通过所述消息中间件单元发送给所述子服务,所述子服务在获取到调度结果后,基于所述调度结果判断是否执行业务逻辑。本方案通过在高可用服务单元a端布置多个子服务,使得边缘计算工业过程数据管控服务高可用部署变得灵活、高效、易扩展,从而减少边缘侧的高可用服务单元的数量,增加边缘侧高可用服务单元的利用率。
43.参见图2,在本实施例公开的技术方案中,每个服务调度装置中可以同时配置有m个高可用服务单元,所述m为不小于1的正整数,每个高可用服务单元中的子服务的数量可以根据需求自行设定,各个高可用服务单元中的子服务的数量可以相同也可以不同,例如,参见图2中,所述服务调度装置中具有三个高可以服务单元,其中一高可用服务单元中的子服务的数量可以为一个,一个高可用服务单元中的子服务的数量可以为二个,一个高可用服务单元中的子服务的数量可以为三个。当所述高可用服务单元中具有两个或两个以上的子服务时,这些子服务中的一个子服务作为主子服务,其他的子服务作为备用子服务,在调度时,优先调度所述子服务,当所述子服务不可用时,才由剩余的备用子服务中选择一个子服务代替所述主子服务来使用。
44.当所述服务调度装置中配置有m个高可用服务单元时,所述消息中间件单元中需要配置有m组第一订阅主题和第二订阅主题,一个第一订阅主题和第二订阅主题为一组,且每组第一订阅主题和第二订阅主题与所述高可用服务单元之间一一对应,即,每一组第一订阅主题和第二订阅主题对应一个高可用服务单元,且,每个高可用服务单元对应一组第一订阅主题和第二订阅主题。每一组中的第一订阅主题用于获取该组对应的高可用服务单元中的各个子服务的注册信息,并将其上传给所述服务调度单元,每一组中的第二订阅主题用于获取所述服务调度单元基于所述第一订阅主题的注册信息的调度结果,将所述调度结果发送给其对应的高可用服务单元中的各个子服务。
45.在本技术实施例公开的技术方案中,可以在设计过程中,可以根据设计需求设定各个高可用服务单元中的子服务的数量,当所述个高可用服务单元中的子服务的数量大于1时,这些子服务中的一个子服务可以作为主子服务使用,剩余的n-1个子服务作为备用子服务使用,其中,所述备用子服务的数量至少为一个,该主子服务具有最高优先级,服务调度单元在进行调度时,首先基于所述主子服务的注册内容判断是否可以被调用,如果可以调用,将所述主子服务作为目标子服务生成调度结果,如果所述主子服务不可用,在判断备用子服务是否可以被调用,并生成对应的调度结果,即,所述服务调度单元在基于预置调度算法和所述各个子服务的注册信息生成调度结果时,优先判定是否采用所述主子服务执行业务逻辑,如果所述主子服不可用,则判断是否所述备用子服务执行业务逻辑,基于判断结
果生成调度结果。
46.在本技术另一实施例公开的技术方案中,所述调度结果中至少包括在服务调度过程中确定的目标子服务的节点,将该节点记为主节点,所述子服务在基于所述调度结果判断是否执行业务逻辑时,具体用于:由通过所述第二订阅主题获取到的调度结果中提取主节点,判断所述主节点与所述子服务自身的节点是否一致,如果两者一致,则将该子服务作为主子服务,并通过该子服务执行所述高可用服务单元对应的业务逻辑。主节点与所述子服务自身的节点不一致,则将该子服务作为备用子服务,其对应的节点记为备节点,该子服务不执行业务逻辑,只负责监听业务执行罗辑的结果。
47.在本实施例公开的技术方案中,当需要减少子服务数量的时候,只需直接停掉某一个节点对应的子服务接口,如果该被停掉的子服务为已经选为主服务的子服务,则调度服务单元会从剩余的备用子服务中,根据预置的调度算法选取一个健康的子服务作为新的主子服务,整个过程对于业务逻辑的执行是无扰的。即,上述放方案中,所述高可用服务单元,还用于获取子服务停启指令,基于所述子服务停启指令停启所述高可用服务单元中的子服务,当所停止的子服务为主子服务时,由处于开启状态的n-1个备用子服务中选择一个备用子服务作为主子服务,在后续调度过程中,优先将该主子服务作为目标调度对象。
48.本实施例中公开了一种服务调度方法,方法中的各个步骤的具体工作内容,请参见上述方法实施例的内容。
49.下面对本发明实施例提供的服务调度方法进行描述,下文描述的服务调度方法与上文描述的服务调度装置可相互对应参照。
50.该方法可以应用于消息中间件单元中,参见图3,该方法可以包括:
51.步骤s101:通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;
52.步骤s102:通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;
53.步骤s103:通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;
54.步骤s104:通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。
55.图4为本发明实施例提供的服务调度设备的硬件结构图,参见图4所示,可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
56.在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图4所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
57.可选的,通信接口200可以为通信模块的接口,如gsm模块的接口;
58.处理器100可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电
路。
59.存储器300可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
60.其中,处理器100具体用于:
61.通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;
62.通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;
63.通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;
64.通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。
65.为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
66.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
67.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
68.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
69.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
70.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种服务调度装置,其特征在于,包括:高可用服务单元,所述高可用服务单元中配置有n个子服务,所述n为正整数,所述子服务在获取到调度结果时,基于所述调度结果判断是否执行业务逻辑;消息中间件单元,所述消息中间件单元中预置有与所述高可用服务单元相适配的第一订阅主题和第二订阅主题,所述第一订阅主题用于基于预设周期获取所述高可用服务中的各个子服务的注册信息,所述第二订阅主题用于获取调度结果,并将所述调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务;服务调度单元,所述调度单元获取各个子服务的注册信息,基于预置调度算法和所述各个子服务的注册信息生成调度结果,将所述调度结果发送给所述第二订阅主题,所述调度结果至少包括选取的主节点。2.根据权利要求1所述的服务调度装置,其特征在于,所述高可用服务单元的数量为m,所述m为不小于1的正整数。3.根据权利要求2所述的服务调度装置,其特征在于,所述消息中间件单元中配置有m组第一订阅主题和第二订阅主题,且每组第一订阅主题和第二订阅主题与所述高可用服务单元之间一一对应。4.根据权利要求2所述的服务调度装置,其特征在于,各个高可用服务单元中的子服务的数量相同或不同。5.根据权利要求2所述的服务调度装置,其特征在于,所述高可用服务单元中的n个子服务分别为一个主子服务和n-1个备用子服务,其中,所述备用子服务的数量至少为一个。6.根据权利要求1所述的服务调度装置,其特征在于,所述子服务在基于所述调度结果判断是否执行业务逻辑时,具体用于:提取所述调度结果中的主节点,判断所述主节点与所述子服务自身的节点是否一致,如果一致,则将所述子服务作为主子服务,并执行所述高可用服务单元对应的业务逻辑。7.根据权利要求5所述的服务调度装置,其特征在于,所述服务调度单元,还用于:获取子服务停启指令,基于所述子服务停启指令停启所述高可用服务单元中的子服务,当所停止的子服务为主子服务时,由处于开启状态的n-1个备用子服务中选择一个备用子服务作为主子服务。8.根据权利要求5所述的服务调度装置,其特征在于,所述服务调度单元在基于预置调度算法和所述各个子服务的注册信息生成调度结果时,具体用于:优先判定是否采用所述主子服务执行业务逻辑,如果所述主子服不可用,则判断是否所述备用子服务执行业务逻辑,基于判断结果生成调度结果。9.一种服务调度方法,其特征在于,包括:通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可
用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。10.一种服务调度设备,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现:通过所述第一订阅主题基于预设周期获取所述高可用服务中的各个子服务的注册信息;通过所述第一订阅主题将获取到的所述注册信息发送给服务调度模块;通过与所述第一订阅主题相适配的第二订阅主题获取所述服务调度模块的调度结果,所述调度结果至少包括服务调度模块基于预置调度算法和所述各个子服务的注册信息选取的主节点;通过所述第二订阅主题将获取到的调度结果发送给与所述第二订阅主题对应的高可用服务中的子服务,所述子服务用于基于所述调度结果判断是否执行业务逻辑。

技术总结


本发明提供一种服务调度方法、装置和设备,方法中高可用服务单元中的各个子服务定时向消息中间件进行注册,调度服务从消息中间件对各个子服务的注册信息进行订阅,采用预设的调度方法基于所述注册信息确定一个用于完成本次任务的子服务,并生成对应的调度结果,将所述调度结果通过所述消息中间件单元发送给所述子服务,所述子服务在获取到调度结果后,基于所述调度结果判断是否执行业务逻辑。本方案通过在高可用服务单元端布置多个子服务,使得边缘计算工业过程数据管控服务高可用部署变得灵活、高效、易扩展,从而减少边缘侧的高可用服务单元的数量,增加边缘侧高可用服务单元的利用率。的利用率。的利用率。


技术研发人员:

田忠宝 陈磊 谢峰 杨建平 王松林

受保护的技术使用者:

宁波和利时智能科技有限公司

技术研发日:

2022.09.26

技术公布日:

2022/12/22

本文发布于:2024-09-24 10:22:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/45368.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   主题   单元   节点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议