一种面向大型移动设备移动数据中心的任务调度方法

文档序号:33458169发布日期:2023-03-15 03:00阅读:29来源:国知局
一种面向大型移动设备移动数据中心的任务调度方法

1.本发明涉及一种用于大型移动设备上构建移动数据中心所需的任务调度方法,属于移动设备数据处理领域。


背景技术:

2.随着物联网、大数据和人工智能等技术的发展,飞机、舰船等大型移动设备的智能化水平越来越高,宛如移动的智能堡垒,其高度智能化的背后是大量高精度传感器和高性能数据处理技术的支撑。任务调度是高性能数据处理的关键技术,根据数据处理的任务特征和数据处理资源的分布情况,将任务按照特定顺序分配到数据处理资源上执行。传统的移动设备由于数据采集和处理较少,通常采用集中式的数据处理方式,即所有的数据任务均由一台服务器统一处理,服务器按一定顺序依次处理每一个任务。随着传感器数量增加、数据采集频繁和规模增大、数据处理任务数量和复杂程度的增长,以及任务处理实时性和可靠性的约束,单一的服务器已经无法满足数据处理的需求,因此目前大型移动设备通常在设备的不同位置配置多个服务器,并将这些服务器组织成移动数据中心的形式,使用分布式技术提高任务处理的高效性和可靠性。但是移动数据中心在物理架构和应用需求方面与传统的数据中心存在较大的差距,包括服务器数量少且相互之间通过高速数据总线直连、任务类型少且多为感知数据的监控预警或统计分析、数据可靠性要求高且一旦丢失无法恢复、任务处理实时性高且响应不及时会导致严重后果等,因此,为了保证移动设备数据处理的高效性,需要研究面向大型移动设备移动数据中心的任务调度方法。
3.传统移动设备的任务调度本质上是各任务竞争唯一的服务器的使用权,通常根据任务的某些约束如响应时间、资源需求等计算任务的优先级,然后将任务按照优先级排序,优先级高的任务先执行,不适用于多服务器的任务调度。当前针对大型移动设备上移动数据中心的研究尚处于起步阶段,如飞机的分布式综合模块化航空电子系统即利用分布式思想对飞机上各控制设备进行管理,但当前的研究主要集中在网络结构设计、硬件资源部署和安全性验证等方面,对任务调度方法的演技较少。分布式系统的任务调度问题已经被证明为np难问题,无法找到多项式复杂度的最优调度算法,因此多采用现有的优化模型或启发式策略寻找较优的调度方案。传统数据中心的任务调度方法已被广泛研究并产生很多高精度的调度算法,但这些方法不能适用于移动设备移动数据中心的任务调度中,原因在于:一是注重调度方案最优解的方法多采用遗传算法等工程类算法或者神经网络等深度学习算法,但此类方法需要大规模高性能计算资源的支持,而移动数据中心通常只配备几个服务器,可能导致任务的调度时间超过任务执行时间;二是注重资源利用率的调度方法通常面向计算密集型、数据密集型、网络密集型等多种类型的任务,而移动数据中心的任务大部分为数据密集型任务,可能会导致大量任务集中在某个服务器上影响任务响应时间;三是注重算法性能的调度方法通常面向特定应用为每个任务设定一种贪心分配策略,一般基于本地的局部信息进行贪心且分配好的任务不进行抢占和迁移,而是移动数据中心可以方便的获取全局信息和任务迁移,且高实时性的任务必须支持抢占执行。
4.综上所述,面向移动设备移动数据中心的任务调度方法需要综合考虑移动数据中心的网络结构特征和移动设备的数据处理任务特征,如服务器数量和计算能力、服务器连接方式、任务类型、任务响应时间、任务超时影响等因素。高效的调度算法既可以快速将每个任务分配到合适的服务器上执行,也可以保证每个任务在限定时间内完成,为移动设备的智能控制提供技术支撑。


技术实现要素:

5.本发明提供一种面向大型移动设备移动数据中心的任务调度方法,旨在根据移动数据中心的结构特征和移动设备的任务特征对移动设备最常见的触发型和交互型任务进行调度,综合考虑数据的存储分布、任务的紧急程度、高速总线的传输能力、服务器的计算能力、任务的迁移代价等因素进行任务的排序、分配、抢占和迁移,提高移动数据中心任务调度的性能和精度。
6.本发明采用的技术方案如下:
7.一种面向大型移动设备移动数据中心的任务调度方法,具体包括如下步骤:
8.(1)任务接收:收集移动数据中心的相关信息、数据存储分布情况以及移动设备当前需要调度的所有触发型和交互型任务的相关信息等;
9.(2)触发型任务调度:触发型任务的调度以保障任务响应时间为前提,根据任务提交时间、数据传输时间、任务调度时间、任务时延约束等因素进行任务分配,确保触发型任务可以在时延约束内完成;
10.(3)交互型任务调度:按照任务提交时间先后依次进行调度,根据每个任务待处理数据集的分布情况,利用分布式思想将任务处理分布到多个存储待处理数据的服务器上同时处理,降低交互型任务的处理时间;
11.(4)任务迁移:在移动设备运行过程中,若交互型任务执行过程中接收到对时延约束更严格的触发型任务时,触发型任务抢占服务器处理资源,综合考虑任务等待时间和任务迁移时间判定原交互型任务的后续执行方式。
12.本发明的有益效果为:
13.(1)综合考虑移动数据中心的结构特征和移动设备的任务特征,调度方法与应用需求契合,保证移动数据中心任务调度的高效性和正确性。
14.(2)提取移动设备最常用的两种任务作为调度对象,在调度过程的排序、分配、抢占和迁移阶段充分考虑了任务的特征,确保任务调度方法的实用性。
15.(3)任务调度过程各步骤操作简单,调度算法本身计算复杂度低,适用于移动数据中心服务器数量少、计算资源不足的特征,确保任务调度的高效性。
附图说明
16.图1是本发明面向大型移动设备移动数据中心任务调度方法的网络架构。
17.图2是本发明面向大型移动设备移动数据中心任务调度方法的具体流程。
18.图3是本发明实施例的资源配置预测过程。
具体实施方式
19.下面根据实施例进一步说明本发明的技术方案。
20.本发明所提出的任务调度方法主要用于飞机、舰船等大型移动设备上构建的移动数据中心,对移动设备上各类数据处理任务在移动数据中心各服务器上的执行进行调度,保证各任务快速调度到合适的服务器上执行并能够在限定时间内处理完成。移动设备的智能控制通常基于大量的数据处理任务,主要包括因满足预设条件而触发的触发型任务和正常分析控制需要的交互型任务两类,一般而言触发型任务常为各类异常或预警任务,对任务处理的响应时间要求较高,而交互型任务对响应时间的要求不太严格。调度方法既要考虑移动数据中心的结构特征,还需要考虑不同任务的特征。
21.大型移动设备的移动数据网络架构参见图1,每个服务器负责对一片物理区域内传感器采集数据的存储和处理,服务器之间通过高速数据总线两两直接相连,每个物理区域内的传感器通过专用总线唯一连接到负责该片区域的服务器。
22.目前面向大型移动设备移动数据中心的任务调度方法主要有两类,一是使用集中式调度方法,将所有任务排序后唯一的服务器上依次执行,不涉及到任务到服务器的分配问题;二是使用传统数据中心的调度方法,但未考虑移动数据中心服务器数量少、计算资源不足以及移动设备任务的特征。提出的面向大型移动设备移动数据中心的任务调度方法的调度流程如图2所示。本发明从移动设备的任务特征和移动数据中心的结构特征出发,综合考虑数据存储分布、服务器规模和处理能力约束、数据处理任务的数据需求和响应时间约束,提高任务调度过程的高效性和调度结果的准确性。具体的任务调度过程包括如下四个步骤:
23.1、任务接收:收集移动数据中心的相关信息、数据存储分布情况以及移动设备当前需要调度的所有任务信息,具体信息包括:
24.①
移动数据中心的m个服务器p={p1,p2,

,pm}接收当前需要处理的各类任务,包括触发型任务集合和交互型任务集合其中nt和ni分别为触发型任务和交互型任务的数量,m表示移动数据中心服务器的数量;
25.②
收集触发型任务信息:每个触发型任务的相关信息其中1≤i≤nt,ati和χi分别表示任务的提交时间以及单位数据量的计算复杂系数,wi表示任务待处理的数据量,wi中存储在服务器pj上的数据量为w
i,j
,即wi=(w
i,1
,w
i,2
,l,w
i,m
),1≤j≤m;
26.③
收集交互型任务信息:每个交互型任务的相关信息其中ati表示任务的到达时间,χi表示任务中单位数据量的计算复杂系数,xi=(x
j,k
)s×m表示任务待处理的数据集在各服务器上的分布情况,任务处理的大规模数据集di分成s个分片{d
i,1
,d
i,2
,

,d
i,s
}存储在不同的服务器上,若第j个数据分片d
i,j
存储在服务器pk上则x
j,k
=1,否则x
j,k
=0,1≤i≤ni,1≤k≤m,1≤j≤s。
27.2、触发型任务调度:触发型任务的调度以保障任务响应时间为前提,具体过程如下:
28.①
计算数据传输时间:计算每个任务在p={p1,p2,

,pm}的每个服务器pj上执
行时任务待处理数据传输到pj的数据传输时间任务在所有服务器上执行的数据传输时间集合其中1≤i≤nt,1≤j≤m,d
k,j
表示服务器pk与pj之间的数据传输距离,若k=j表示服务器自身的数据存储,即d
j,j
=0,τ表示单位数据量传输单位距离所用时间;
29.②
任务排序:计算每个任务在所有服务器上执行的最小传输时间将所有触发型任务按照最小传输时间的降序排序,按照数据传输时间由大到小的顺序依次调度每一个任务;
30.③
计算资源需求:对于每个任务任务处理剩余时间任务的总计算量对服务器的最低处理资源需求其中ati表示任务的触发时间,tthreshold
t
表示触发型任务的最大允许延时,ct为当前时间;
31.④
任务分配:对于每个任务最小的数据传输时间对应的服务器为判断服务器pk上可用的数据处理资源activeresource(pk)是否满足任务的最低处理资源需求,如果则将任务分配到服务器上执行;若重复执行



,将任务在服务器集合p

=p-{pk}={p1,p2,

,p
k-1
,p
k+1
,

,pm}上进行任务分配;
32.⑤
任务缓存:若当前所有服务器均不能满足任务的处理资源需求,则将任务加入任务缓存队列,与下一时刻用户提交的触发型任务一起进行调度。
33.3、交互型任务调度:交互型任务按照任务提交时间先后依次进行调度,对于每个分析型任务根据其待处理数据集的分布情况xi=(x
j,k
)s×m,将任务分配到合适的服务器上执行,调度过程如下:
34.①
选择候选服务器:每个服务器pj上存储的任务待处理的数据分片集合为dc
i,j
,待处理的数据分片数量所有dc
i,j
≠φ的服务器均为任务可调度的候选服务器,所有候选服务器的集合为pc={pj|dc
i,j
≠φ,1≤j≤m},其中s为任务待处理的数据分片数量,1≤j≤m,1≤i≤ni;
35.②
任务分配:从候选服务器集合pc中选择待处理数据分片最少的服务器pk∈pc用于执行任务负责其存储的待处理数据分片集合dc
i,k
的处理,其中1≤k≤m;
36.③
候选服务器更新:更新每个候选服务器pj∈pc存储的待处理数据分片dc
i,j
=dc
i,j-dc
i,k
,若dc
i,j
=φ,则将其从候选服务器集合中移除,其中pk为当前已分配用来执行任务的服务器,1≤j≤m;
37.④
终止分配:循环执行步骤
②③
,直到任务待处理的数据分片均被分配的服务
器处理,即且每个服务器处理的数据分片不同,即其中1≤j,k≤m,j≠k;
38.⑤
计算任务处理时间:任务的处理时间其中每个服务器的任务处理时间其中表示pj实际处理的任务的数据分片数量,υ为每个数据分片的单位数据量,resourcej为pj上当前可用的数据处理资源,χi表示任务中单位数据量的计算复杂系数,1≤j≤m。
39.4、任务迁移:当服务器pj在执行交互型任务的过程中接收到触发型任务时,需要决定交互型任务的是否需要迁移到其他服务器上执行,还是在当前服务器上等待触发型任务完成后继续执行,具体过程如下:
40.①
任务等待判定:若交互型任务在服务器pj上的预期处理时间为交互型任务的处理时间为触发型任务在服务器pj上的执行时间为当时不需要将交互型任务迁移到其他服务器pj上执行,其中1≤i≤ni,1≤j≤m,1≤h≤nt;
41.②
任务迁移判定:若移动数据中心内未执行该交互任务的服务器集合为pm,将当前服务器pj上未完成的交互任务和未处理的数据迁移到pm中任一拥有足够数据处理资源的服务器pk上继续执行,未处理数据从服务器pj迁移到pk的数据传输时间当时进行任务迁移,当时等待触发型任务执行完成后继续执行原交互型任务其中d
j,k
表示服务器pj到pk的传输距离,表示迁移的数据量,τ为服务器之间单位长度高速总线上传输单位数据量所需时间,为触发型任务在服务器pj上的执行时间。
42.实施例
43.本实施例的资源配置预测过程参见图3,具体过程为:若某移动设备的移动数据中心由3个服务器{p1,p2,p3}和若干传感器构成,任务调度过程如下:
44.①
若t1时刻提交交互型任务j1,其处理的数据集包含四个数据分片{d1,d2,d3,d4},其中服务器p1上存储{d1,d3},p2上存储{d1,d2},p3上存储{d2,d4};
45.②
交互型任务j1的调度过程如下:首先计算当前的候选服务器pc={p1,p2,p3},每个服务器均存储了两个待处理数据分片分别为{d1,d3}、{d1,d2}、{d2,d4},随机选择服务器p1用来处理数据分片d1和d3;服务器p1、p2和p3的待处理数据分片更新为φ、{d2}和{d2,d4},候选服务器集合更新为{p2,p3},选择待处理数据分片最少的服务器p2用来处理数据分片d2;服务器p1、p2和p3的待处理数据分片更新为φ、φ和{d4},候选服务器集合更新为{p3},选择服务器p3用来处理数据分片d4,此时任务j1调度完成;
46.③
若每个数据分片的处理时间为2s,则服务p1、p2和p3分别需要4s、2s和2s完成各自的数据处理,任务j1的完成时间为4s;
47.④
若交互型任务j1提交1s后的t2时刻提交了触发型任务j2,需要处理的数据分别为p1上的w1、p2上的w2和p3上的w3,若任务j2在服务器p1、p2和p3上执行分别需要0.5s、
0.2s和0.4s进行数据传输;
48.⑤
若触发型任务j2在提交时立即进行调度,其最大允许时延为1s,若任务j2在服务器p1、p2和p3上执行最大的任务处理时间分别为0.5s、0.8s和0.6s;首先尝试将任务j2分配到服务器p2执行,若服务器p2的可用资源可以满足任务j2的需求,则将触发型任务j2分配到服务器p2上执行;
49.⑥
在t2时刻即可将触发型任务j2分配到服务器p2上执行,再经过0.2s后任务j2所需处理的数据全部传输到服务器p2上,此时p2上正在执行交互式任务j1;此时服务器p2暂停交互式任务j1的执行,转而执行触发型任务j2;
50.⑦
任务j1在服务器p2上执行1.2s后被暂停,触发型任务j2需要占用服务器p2的时间为0.8s,若服务器p2在执行完任务j2后继续执行任务j1,则服务器p2对任务j1的数据处理时间为2.8s,小于任务j1的处理时间4s,因此服务器p2上对任务j1的处理不迁移,等待触发型任务j2执行完成后继续在p2上进行任务j1的数据分片{d2}的处理;
51.⑧
最终可以得到,交互型任务j1在提交4s后完成执行,执行过程由服务器p1、p2和p3共同完成;触发型任务j2在提交后0.2s内完成数据从p1和p3到p2的数据传输,随后0.8s内在服务器p2上完成执行;由于数据处理与数据传输使用的服务器资源不同,因此在任务j2提交后的0.2s内,服务p1和p3同时完成任务j1的数据处理和任务j2的数据传输。
52.本实施例中介绍的仅是示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围,对于表示在说明书附图中的示例性实施方式中的术语并不是对本发明的限定,在说明书附图中,相同的单元/元件使用相同的附图标记。
53.除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义;另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1