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

故障设备任务转移方法及系统、电子设备和存储介质

2022-11-19 14:14:32 来源:中国专利 TAG:


1.本发明涉及云计算技术领域,尤其涉及一种故障设备任务转移方法及系统、电子设备和存储介质。


背景技术:

2.边缘机器学习(edge ml)是自物联网(iot)以来人们最关注的技术之一。在edge ml出现之前,智能设备会将所有数据发送到云端。与传统机器不同,edge ml设备将在源处分析和处理传入数据,并确定需要由云中更强大的算法处理的内容,而不是可以在本地处理的内容。
3.edge ml依赖于机器学习和深度学习算法来本地处理数据,具体取决于应用程序,通过edge ml,智能设备可以使用机器和深度学习算法在本地处理数据(使用本地服务器或设备),减少对云网络的依赖。
4.当前edge ml仍然是一种较新的技术,随着物联网的兴起,诸多领域试图构造和分析海量数据集,以期望极大地改善诸如对紧急情况进行实时预测和响应的能力,连接到云的智能设备激增,但是网络尚未准备好支持这种需求,当出现故障任务时,可能会出现云网络瘫痪的情况。现有技术通常采用静态冗余,使多台设备负责相同的子任务的方式,避免出现上述问题,但与此同时,又造成了计算资源的浪费。
5.因此,如何提供一种故障设备任务转移方法及系统、电子设备和存储介质,及时调度转移故障任务,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。


技术实现要素:

6.针对现有技术中的缺陷,本发明实施例提供一种故障设备任务转移方法及系统、电子设备和存储介质。
7.本发明提供一种故障设备任务转移方法,包括:
8.监测任务状态和工作设备状态,确定存在目标工作设备掉线;
9.基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;
10.将目标故障任务转移至空闲设备并更新设备任务关系映射表。
11.根据本发明提供的故障设备任务转移方法,监测任务状态和工作设备状态,确定存在目标工作设备掉线,具体包括:
12.实时监测任务状态和工作设备状态,确定存在目标工作设备掉线;
13.或,根据预设周期监测任务状态和工作设备状态,确定存在目标工作设备掉线。
14.根据本发明提供的故障设备任务转移方法,在将目标故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
15.检测目标故障任务是否结束;
16.若确定目标故障任务结束,则从设备任务关系映射表中清除目标故障任务相关信息。
17.根据本发明提供的故障设备任务转移方法,父任务包括若干子任务;
18.工作设备所处理的若干子任务中各子任务对应的父任务均不相同。
19.根据本发明提供的故障设备任务转移方法,在监测任务状态和工作设备状态,确定存在目标工作设备掉线的步骤之后,还包括:
20.基于目标工作设备,根据设备任务关系映射表,确定目标故障子任务;其中,目标故障子任务为设备任务关系映射表中与目标工作设备映射绑定的所有子任务;
21.将目标故障子任务转移至空闲设备并更新设备任务关系映射表。
22.根据本发明提供的故障设备任务转移方法,在将目标子故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
23.基于目标故障子任务,根据任务列表,确定对应的目标故障父任务;其中,所述任务列表包括父任务与子任务的映射关系;
24.检测目标故障父任务对应的所有子任务是否均结束;
25.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束。
26.根据本发明提供的故障设备任务转移方法,在将目标子故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
27.基于目标故障子任务,根据任务列表,确定对应的目标故障父任务;
28.基于任务状态列表,检测目标故障父任务对应的所有子任务是否均结束;其中,任务状态列表包括:任务产生时间、任务状态、运行时间和任务结束时间;
29.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束,将任务状态列表中目标故障父任务的任务状态修改为结束。
30.本发明还提供一种故障设备任务转移系统,包括:设备监测单元、故障确定单元和任务转移单元;
31.设备监测单元,用于监测任务状态和工作设备状态,确定存在目标工作设备掉线;
32.故障确定单元,用于基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;
33.任务转移单元,用于将目标故障任务转移至空闲设备并更新设备任务关系映射表。
34.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种故障设备任务转移方法的步骤。
35.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种故障设备任务转移方法的步骤。
36.本发明提供的故障设备任务转移方法及系统、电子设备和存储介质,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,调度转移目标工作设备所处理的所有故障任务,彻底解决移动终端设备作为计
算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
附图说明
37.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明提供的故障设备任务转移方法流程图;
39.图2为本发明提供的故障设备任务转移方法流程示意图;
40.图3为本发明提供的云端lbfo策略调度资源关系图;
41.图4为本发明提供的父任务的数据结构示意图;
42.图5为本发明提供的子任务的数据结构示意图;
43.图6为本发明提供的任务算法的数据结构示意图;
44.图7为本发明提供的任务数据的数据结构示意图;
45.图8为本发明提供的设备信息的数据结构示意图;
46.图9为本发明提供的父任务状态信息数据结构示意图;
47.图10为本发明提供的子任务状态信息数据结构示意图;
48.图11为本发明提供的任务结果信息数据结构示意图;
49.图12为本发明提供的故障设备任务转移系统结构示意图;
50.图13为本发明提供的电子设备的实体结构示意图。
具体实施方式
51.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.以下对本发明涉及的相关概念进行介绍。
53.边缘机器学习(edge ml)中,“边缘”是指通过深度学习和机器学习算法在设备或本地(并且最接近收集数据的组件)进行的处理。
54.云端和移动设备端网络不可靠成为分布式边缘机器学习区别于传统分布式学习的特点之一。
55.现有的分布式系统通常在服务器和服务器之间执行任务调度,而且通常利用光纤或者较高带宽的网络进行通信,不存在网络不稳定的情况,没有相应的网络故障容错机制。
56.现有的边缘机器学习系统,没有较好的监控机制来实时检测故障,并在发现设备故障后,把设备上的任务实时地迁移到其他设备上执行。
57.本发明专利主要解决的技术问题是当云端和移动设备端网络不稳定的情况下,如何把传送网络超时的任务和掉线设备上的任务实时地转移到其他在线设备进行计算,针对这种情况提出了一种端-云协同任务处理中实时故障设备任务转移方法。
58.图1为本发明提供的故障设备任务转移方法流程图,如图1所示,本发明实施例提供一种故障设备任务转移方法,包括:
59.步骤s1,监测任务状态和工作设备状态,确定存在目标工作设备掉线;
60.步骤s2,基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;
61.步骤s3,将目标故障任务转移至空闲设备并更新设备任务关系映射表。
62.具体的,边缘机器学习(edge ml)中任务可由设备处理。在本发明中,将有工作任务正在执行的设备称为工作设备。可以理解的是,设备的具体类型可根据实际需求进行设置,本发明对此不作限定。
63.在步骤s1,云端在下发任务后,对任务状态和工作设备状态进行监控,判断是否存在工作设备掉线的情况发生,如果发现存在工作设备掉线,则认为该工作设备故障,确定其为目标工作设备。
64.可以理解的是,在本发明中,实现对任务状态和工作设备状态进行监控的具体方法,可以是基于设备执行任务时传输的编码,或者设备对云端传输信息的响应等实现的,具体所采用的方法可根据实际情况进行设置,本发明对此不作限定。
65.为了实现对任务的监控,云端在向设备下发任务时建立设备任务关系映射表,其中包括工作设备和任务的映射关系。通过设备任务关系映射表能够实现工作设备和任务的相互查找。另外,备任务关系映射表的数据结构和存储方式均可根据实际需求进行设置,本发明对此不作限定。
66.在步骤s2,基于确定掉线的目标工作设备,在设备任务关系映射表中确定与目标工作设备映射绑定的所有任务,确定目标故障任务。可以理解的是,目标故障任务即目标工作设备当前正负责处理的任务,具体的数量不作限制。
67.确定目标故障任务后,在步骤s3,查找当前网络中的空闲设备,并将目标故障任务转移至空闲设备,更新设备任务关系映射表,将已转移的目标故障任务与新的工作设备映射绑定。
68.需要说明的是,在本发明中根据网络中设备的利用情况,空闲设备可以是当前没有任何任务需要处理的设备,或是具有少量任务需要处理的设备(如当前任务计算量低于预设阈值),具体的空闲设备的选择规则可根据实际需求进行调整,本发明对此不作限定。
69.另外,由于目标故障任务的数量可能为多个,在进行二次调度时,可以将多个任务同时转移至同一个空闲设备,或将其分批转移至多个不同的空闲设备,在本发明实际应用过程中具体的转移规则可根据实际需求进行设置,本发明对此不作限定。
70.可以理解的是,目标工作设备掉线后无法及时处理其负责的任务,本发明提供一种lbfo(负载平衡和故障转移)策略,将该目标工作设备负责的所有任务调出,进行二次调度任务下发,转移至其他设备处理。lbfo策略的生命周期和整个任务的运行周期一样长。若在监测过程中并未发现有设备掉线,则继续监控,直至云端系统上所有任务完成。
71.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障任务,彻底解决移动终端设备作为计算节点容易掉线
不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高了网络稳定性。相比静态冗余方法,有效地提高了计算节点算力的利用率,彻底解决移动终端设备作为计算节点容易掉线不稳定的问题。
72.可选的,根据本发明提供的故障设备任务转移方法,监测任务状态和工作设备状态,确定存在目标工作设备掉线,具体包括:
73.实时监测任务状态和工作设备状态,确定存在目标工作设备掉线;
74.或,根据预设周期监测任务状态和工作设备状态,确定存在目标工作设备掉线。
75.具体的,lbfo策略进一步划分为事件触发型lbfo策略和时间触发型lbfo策略。
76.事件触发型lbfo策略,当设备掉线后,该事件会立即触发lbfo策略,该策略实时性强,但会占用云端大量算力资源。
77.时间触发型lbfo策略,由定时函数周期性触发,该策略可以节省云端算力,但实时性比事件触发型lbfo策略稍差。
78.对应的,监测任务状态和工作设备状态,确定存在目标工作设备掉线时,可采用两种不同的监测方法。
79.采用事件触发型lbfo策略时,实时监测任务状态和工作设备状态,并实现监测结果的实时上报,在确定存在工作设备掉线时,确定掉线的设备为目标工作设备。
80.或,采用时间触发型lbfo策略时,根据预设周期监测任务状态和工作设备状态,每隔一段时间进行一次整体的检测,在确定存在工作设备掉线时,确定掉线的设备为目标工作设备。
81.需要说明的是,预设周期可根据实际需求进行调整,除周期性以间隔固定时长的形式外,还可设置检测时间点(如在每分钟的第2s、14s、20s、35s、47s和55s进行检测),除此之外,还可以以其他的方式设置,本发明对此不作限定。
82.在本发明实际应用过程中,上述两种策略可根据实际情况需求进行选择,如对所有工作设备均采用事件触发型lbfo策略,或对所有工作设备均采用时间触发型lbfo策略,或将工作设备划分为不同类别,分别设置不同类型的lbfo策略),本发明对此不作限定。
83.另外,本发明能够实现对设备故障的秒级反应,其中由设备掉线事件触发的lbfo策略反应时间延迟仅等于设备和服务端通信的时间,由时间周期性触发的lbfo策略反应时间也仅等于几秒的时间。
84.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据事件触发型lbfo策略或时间触发型lbfo策略,在实现故障任务转移的快速响应的同时,充分考虑不同网络对实时性和算力的不同要求,调度转移目标工作设备所处理的所有故障任务,在彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
85.可选的,根据本发明提供的故障设备任务转移方法,在将目标故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
86.检测目标故障任务是否结束;
87.若确定目标故障任务结束,则从设备任务关系映射表中清除目标故障任务相关信息。
88.具体的,本发明在将目标故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还对任务的完成情况进行监控。
89.检测目标故障任务是否结束,若确定目标故障任务结束,则从设备任务关系映射表中清除目标故障任务相关信息。
90.反之,若确定目标故障任务未结束,则保留设备任务关系映射表中目标故障任务的相关信息。重复监测过程,直至检测到目标故障任务结束。
91.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障任务,彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,并通过对任务的完成状态进行监测,仅在设备任务关系映射表中保留需执行任务的相关信息,清除已完成任务的相关信息,能够有效减少后期其他任务资源检索时间消耗,节约计算资源。
92.可选的,根据本发明提供的故障设备任务转移方法,父任务包括若干子任务;
93.工作设备所处理的若干子任务中各子任务对应的父任务均不相同。
94.具体的,可以理解的是,由于任务的复杂性不同,考虑到计算资源的分配问题,可以将一个父任务分为若干子任务,当所有子任务完成时,认为父任务完成,将子任务分配至不同的工作设备执行,可以有效地减少完成父任务所需的时间。
95.在本发明中,工作设备可执行若干不同的子任务,但每个子任务均需来源于不同的父任务。
96.相比于将同一父任务的多个子任务安排在同一工作设备上进行处理的方法,本发明在某工作设备掉线时,将掉线带来的后果均分至若干父任务,对单一父任务产生的影响很小,能够有效避免对单一的父任务产生恶劣影响。并且,在后续子任务迁移时,能够将实时的不同的子任务迁移多个空闲设备计算,最大限度减少整体计算时间。保证父任务在移动终端上较长时间稳定计算。
97.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障任务,彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
98.可选的,根据本发明提供的故障设备任务转移方法,在监测任务状态和工作设备状态,确定存在目标工作设备掉线的步骤之后,还包括:
99.基于目标工作设备,根据设备任务关系映射表,确定目标故障子任务;其中,目标故障子任务为设备任务关系映射表中与目标工作设备映射绑定的所有子任务;
100.将目标故障子任务转移至空闲设备并更新设备任务关系映射表。
101.具体的,为了实现对任务的监控,云端将父任务分为若干个子任务,并在向设备下发子任务时建立设备任务关系映射表,其中包括工作设备和子任务的映射关系。通过设备任务关系映射表能够实现工作设备和子任务的相互查找。另外,备任务关系映射表的数据结构和存储方式均可根据实际需求进行设置,本发明对此不作限定。
102.监测任务状态和工作设备状态,确定存在目标工作设备掉线的步骤在前已经说
明,在此不再赘述。
103.确定掉线的目标工作设备后,在设备任务关系映射表中确定与目标工作设备映射绑定的所有子任务,将其作为目标故障子任务。可以理解的是,目标故障子任务即目标工作设备当前正负责处理的任务,具体的数量不作限制。
104.确定目标故障任务后,查找当前网络中的空闲设备,并将目标故障子任务转移至空闲设备,更新设备任务关系映射表,将已转移的目标故障子任务与新的工作设备映射绑定。
105.需要说明的是,在本发明中根据网络中设备的利用情况,空闲设备可以是当前没有任何任务需要处理的设备,或是具有少量任务需要处理的设备(如当前任务计算量低于预设阈值),具体的空闲设备的选择规则可根据实际需求进行调整,本发明对此不作限定。
106.另外,由于目标故障子任务的数量可能为多个,在进行二次调度时,可以将多个子任务同时转移至同一个空闲设备,或将其分批转移至多个不同的空闲设备,在本发明实际应用过程中具体的转移规则可根据实际需求进行设置,本发明对此不作限定。
107.可以理解的是,目标工作设备掉线后无法及时处理其负责的子任务,本发明提供一种lbfo(负载平衡和故障转移)策略,将该目标工作设备负责的所有任务调出,进行二次调度任务下发,转移至其他设备处理。lbfo策略的生命周期和整个任务的运行周期一样长。若在监测过程中并未发现有设备掉线,则继续监控,直至云端系统上所有任务完成。
108.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,将父任务分为若干子任务,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障子任务,实现对父任务和子任务生命周期的监控,并彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
109.可选的,根据本发明提供的故障设备任务转移方法,在将目标子故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
110.基于目标故障子任务,根据任务列表,确定对应的目标故障父任务;其中,所述任务列表包括父任务与子任务的映射关系;
111.检测目标故障父任务对应的所有子任务是否均结束;
112.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束。
113.具体的,云端将父任务分为若干子任务,并基于父任务和子任务的映射关系生成任务列表,通过任务列表能够实现父任务和子任务的相互查询。可以理解的是,在本发明实际应用过程中,任务列表的数据结构和存储方式可根据实际情况进行设置,本发明对此不作限定。
114.本发明自动实现对任务全周期运行情况的监测,实时监控工作设备的运行情况。在确定存在目标工作设备掉线之后,对目标工作设备所负责的目标故障子任务运行状态进行监控。
115.基于目标故障子任务,在任务列表中查询对应的父任务,确定目标故障父任务,并检测目标故障父任务对应的所有子任务是否均结束。
116.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束。
反之,若确定目标故障父任务中存在子任务未结束,则认为目标故障父任务未结束,重复监测过程,直至检测到目标故障父任务结束。
117.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,将父任务分为若干子任务,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障子任务,通过设置任务列表存储父任务和子任务的映射关系,在监控子任务生命周期的基础上,辅助实现对父任务生命周期的监控。彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
118.可选的,根据本发明提供的故障设备任务转移方法,在将目标子故障任务转移至空闲设备并更新设备任务关系映射表的步骤之后,还包括:
119.基于目标故障子任务,根据任务列表,确定对应的目标故障父任务;
120.基于任务状态列表,检测目标故障父任务对应的所有子任务是否均结束;其中,任务状态列表包括:任务产生时间、任务状态、运行时间和任务结束时间;
121.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束,将任务状态列表中目标故障父任务的任务状态修改为结束。
122.具体的,为了全周期追踪任务的产生时间、状态,运行时间和结束时间等,本发明设置任务状态列表记录任务产生时间、任务状态、运行时间和任务结束时间。可以理解的是,除上述信息外,根据实际需求,任务状态列表还可以记录其他信息例如任务计算量和延迟要求等。另外,任务状态列表的数据结构和存储方法可根据实际需求进行设置,本发明对此不作限定。
123.在将目标子故障任务转移至空闲设备并更新设备任务关系映射表之后,基于目标故障子任务,在任务列表,确定对应的目标故障父任务。
124.基于任务状态列表,检测目标故障父任务对应的所有子任务的运行状态,确认所有子任务是否均结束。
125.若确定目标故障父任务对应的所有子任务均结束,则确定目标故障父任务结束,将任务状态列表中目标故障父任务的任务状态修改为结束。反之,若确定目标故障父任务中存在子任务未结束,则认为目标故障父任务未结束,重复监测过程,直至检测到目标故障父任务结束。
126.本发明提供的故障设备任务转移方法,提供一种网络故障容错机制,将父任务分为若干子任务,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障子任务,通过设置任务列表存储父任务和子任务的映射关系,设置任务状态列表实现对任务运行状态的监控,在监控子任务生命周期的基础上,辅助实现对父任务生命周期的监控。彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高算力利用率和网络稳定性。
127.结合应用实例对本发明提供的故障设备任务转移方法进行详细说明。
128.图2为本发明提供的故障设备任务转移方法流程示意图,如图2所示,lbfo策略调度中,云端在下发父任务后,将所有该父任务下的子任务信息存储到redis(remote dictionary server,远程字典服务)中。如果发现某个移动终端掉线,就在redis中把当前
该设备上负责的所有子任务调出来,寻找新的在线设备集合,进行二次调度任务下发。
129.图3为本发明提供的云端lbfo策略调度资源关系图,如图3所示,在实现lbfo策略调度之前,需要建立任务列表、设备列表、设备任务关系映射表、任务状态列表和结果汇总表。
130.图4为本发明提供的父任务的数据结构示意图,图5为本发明提供的子任务的数据结构示意图,图6为本发明提供的任务算法的数据结构示意图,图7为本发明提供的任务数据的数据结构示意图,任务列表记录所有在云端工作的任务信息,其中,父任务(taskinfo)的数据结构、子任务(subtaskinfo)的数据结构、任务算法(taskalgorithm)的数据结构和任务数据(taskdatainfo)的数据结构分别如图4-7所示,上述数据进行队列化存储。
131.图8为本发明提供的设备信息的数据结构示意图,设备列表记录所有在线的空闲设备和工作设备信息,设备信息的数据结构如图8所示,上述数据进行队列化存储。
132.设备任务关系映射表记录设备上所有工作任务的映射关系,其中,设备和子任务的映射可通过对设备id和子任务id进行映射绑定实现。除此之外,在实际应用过程中,还可使用其他的映射绑定方式,可根据实际需求进行设置,本发明对此不作限定。
133.图9为本发明提供的父任务状态信息数据结构示意图,图10为本发明提供的子任务状态信息数据结构示意图,任务及子任务状态列表记录每个任务及对应子任务的工作任务状态{未开始;开始;结束}状态,及每个任务运行起始时间、运行时间及结束时间,父任务运行状态和子任务运行状态的数据结构分别如图9和10所示。
134.图11为本发明提供的任务结果信息数据结构示意图,结果汇总列表记录从设备端传回云端的所有任务下的所有子任务结果信息,任务结果信息数据结构如图11所示,上述数据进行队列化存储。
135.需要说明的是,上述方案中数据结构的具体形式和存储方式仅作为一个具体实例对本发明进行说明,在本发明实际应用中数据结构的具体形式和存储方式可根据实际需求进行调整,本发明对此不作限定。
136.可以理解的是,本发明中任务列表、设备列表、设备任务关系映射表、任务状态列表和结果汇总表可实现相互跳转,通过其中一项内容在另一表单中查询所需的内容。
137.例如:在设备列表中确定出现设备a掉线,则可通过设备a的id信息,在设备任务关系映射表中查找设备a负责的子任务m和子任务n,进一步,通过任务列表确定子任务m的父任务m和子任务n的父任务n,通过任务状态列表和结果汇总表,查看子任务m和子任务n以及父任务m和父任务n的完成情况。
138.本发明中lbfo策略利用redis查表方式组建了各种分布式任务中调度资源之间的关系,相比在内存中直接建立各种调度资源之间的复杂关系,可以利用redis分布式锁的优势,大大减少系统多线程调度之间存在的资源竞争问题。
139.表1为图3中云端lbfo策略各调度资源在cache中的关系图详解,如表1所示,结合图3对云端lbfo策略各调度资源关系进行详解,在cache(存储器)中,通过任务状态列表记录任务产生时间、状态、运行时间和结束时间等,实现对任务的全周期追踪。
140.当计算任务所产生的子任务下发到设备计算后,工作子任务队列和工作设备队列这两种调度资源写入redis,这个过程即写入设备任务关系映射表(图3-(c))过程。
141.写入设备任务关系映射表(图3-(c))程完成后,自动触发lbfo故障转移策略监测
任务全周期运行情况,实时监控这些工作设备的运行状况;
142.如果lbfo故障转移策略监测到有正在进行工作的设备资源掉线,则在设备任务关系映射表(图3-(c))中拉取该掉线设备上的所有工作任务,并寻找新的空闲计算设备,把掉线设备上的所有工作任务转移到当前空闲设备。
143.检测当前任务是否执行结束,如果没有结束,重复上述检测是否存在设备掉线并将掉线设备的故障任务转移的步骤,直到任务状态列表(图3-(d))中当前任务状态变为“结束”。
144.当前任务结束后,清除redis中该任务的所有记录信息,包括工作子任务队列、设备任务关系映射表(图3-(c))中该任务与设备的所有映射关系。
145.[0146][0147]
表1.图3中云端lbfo策略各调度资源在cache中的关系图详解
[0148]
本发明专利充分利用了移动终端过剩的算力资源,可广泛应用于在需要较高算力资源的科学计算中,推广后具有良好的经济效益,为大规模科学研究所需的庞大算力需求的发展起到良好的支撑作用。
[0149]
图12为本发明提供的故障设备任务转移系统结构示意图,如图12所示,本发明还提供一种故障设备任务转移系统,包括:设备监测单元121、故障确定单元122和任务转移单元123;
[0150]
设备监测单元121,用于监测任务状态和工作设备状态,确定存在目标工作设备掉线;
[0151]
故障确定单元122,用于基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;
[0152]
任务转移单元123,用于将目标故障任务转移至空闲设备并更新设备任务关系映
射表。
[0153]
具体的,边缘机器学习(edge ml)中任务可由设备处理。在本发明中,将有工作任务正在执行的设备称为工作设备。可以理解的是,设备的具体类型可根据实际需求进行设置,本发明对此不作限定。
[0154]
设备监测单元121,用于在云端在下发任务后,对任务状态和工作设备状态进行监控,判断是否存在工作设备掉线的情况发生,如果发现存在工作设备掉线,则认为该工作设备故障,确定其为目标工作设备。
[0155]
可以理解的是,在本发明中,实现对任务状态和工作设备状态进行监控的具体方法,可以是基于设备执行任务时传输的编码,或者设备对云端传输信息的响应等实现的,具体所采用的方法可根据实际情况进行设置,本发明对此不作限定。
[0156]
为了实现对任务的监控,云端在向设备下发任务时建立设备任务关系映射表,其中包括工作设备和任务的映射关系。通过设备任务关系映射表能够实现工作设备和任务的相互查找。另外,备任务关系映射表的数据结构和存储方式均可根据实际需求进行设置,本发明对此不作限定。
[0157]
故障确定单元122,用于基于确定掉线的目标工作设备,在设备任务关系映射表中确定与目标工作设备映射绑定的所有任务,确定目标故障任务。可以理解的是,目标故障任务即目标工作设备当前正负责处理的任务,具体的数量不作限制。
[0158]
确定目标故障任务后,任务转移单元123,用于查找当前网络中的空闲设备,并将目标故障任务转移至空闲设备,更新设备任务关系映射表,将已转移的目标故障任务与新的工作设备映射绑定。
[0159]
需要说明的是,在本发明中根据网络中设备的利用情况,空闲设备可以是当前没有任何任务需要处理的设备,或是具有少量任务需要处理的设备(如当前任务计算量低于预设阈值),具体的空闲设备的选择规则可根据实际需求进行调整,本发明对此不作限定。
[0160]
另外,由于目标故障任务的数量可能为多个,在进行二次调度时,可以将多个任务同时转移至同一个空闲设备,或将其分批转移至多个不同的空闲设备,在本发明实际应用过程中具体的转移规则可根据实际需求进行设置,本发明对此不作限定。
[0161]
可以理解的是,目标工作设备掉线后无法及时处理其负责的任务,本发明提供一种lbfo(负载平衡和故障转移)策略,将该目标工作设备负责的所有任务调出,进行二次调度任务下发,转移至其他设备处理。lbfo策略的生命周期和整个任务的运行周期一样长。若在监测过程中并未发现有设备掉线,则继续监控,直至云端系统上所有任务完成。
[0162]
本发明提供的故障设备任务转移系统,提供一种网络故障容错机制,通过对网络中任务状态和工作设备状态的监控,及时在发现目标工作设备掉线后,根据lbfo策略,调度转移目标工作设备所处理的所有故障任务,彻底解决移动终端设备作为计算节点容易掉线不稳定的问题,降低故障导致的整体任务运行时间被大时间范围拖慢的可能,提高了网络稳定性。相比静态冗余方法,有效地提高了计算节点算力的利用率,彻底解决移动终端设备作为计算节点容易掉线不稳定的问题。
[0163]
需要说明的是,本发明提供的故障设备任务转移系统用于执行上述故障设备任务转移方法,其具体的实施方式与方法实施方式一致,在此不再赘述。
[0164]
图13为本发明提供的电子设备的实体结构示意图,如图13所示,该电子设备可以
包括:处理器(processor)131、通信接口(communicationsinterface)132、存储器(memory)133和通信总线134,其中,处理器131,通信接口132,存储器133通过通信总线134完成相互间的通信。处理器131可以调用存储器133中的逻辑指令,以执行故障设备任务转移方法,该方法包括:监测任务状态和工作设备状态,确定存在目标工作设备掉线;基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;将目标故障任务转移至空闲设备并更新设备任务关系映射表。
[0165]
此外,上述的存储器133中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166]
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法所提供的故障设备任务转移方法,该方法包括:监测任务状态和工作设备状态,确定存在目标工作设备掉线;基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;将目标故障任务转移至空闲设备并更新设备任务关系映射表。
[0167]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的故障设备任务转移方法,该方法包括:监测任务状态和工作设备状态,确定存在目标工作设备掉线;基于目标工作设备,根据设备任务关系映射表,确定目标故障任务;其中,设备任务关系映射表包括工作设备与任务的映射关系;目标故障任务为设备任务关系映射表中与目标工作设备映射绑定的所有任务;将目标故障任务转移至空闲设备并更新设备任务关系映射表。
[0168]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0169]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
[0170]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献