CN115309535B - 一种由调度芯片进行任务迁移的方法及系统 - Google Patents

一种由调度芯片进行任务迁移的方法及系统 Download PDF

Info

Publication number
CN115309535B
CN115309535B CN202211240736.7A CN202211240736A CN115309535B CN 115309535 B CN115309535 B CN 115309535B CN 202211240736 A CN202211240736 A CN 202211240736A CN 115309535 B CN115309535 B CN 115309535B
Authority
CN
China
Prior art keywords
edge node
task
auxiliary
requester
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211240736.7A
Other languages
English (en)
Other versions
CN115309535A (zh
Inventor
王嘉诚
张少仲
张栩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202211240736.7A priority Critical patent/CN115309535B/zh
Publication of CN115309535A publication Critical patent/CN115309535A/zh
Application granted granted Critical
Publication of CN115309535B publication Critical patent/CN115309535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种由调度芯片进行任务迁移的方法及系统,涉及芯片应用技术,其中方法包括:当确定第一边缘节点接收的任务处理请求涉及非周期性任务时,获取第一边缘节点的平均负载率并且当基于平均负载率确定需要进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点;在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机;第一边缘节点的调度芯片将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及第一边缘节点基于请求方的网络地址将所述任务处理结果发送给请求方。

Description

一种由调度芯片进行任务迁移的方法及系统
技术领域
本发明涉及芯片应用技术,并且更具体地,涉及一种由调度芯片进行任务迁移的方法及系统。
背景技术
目前,在边缘计算系统中,当特定的边缘节点负载率过高时,可能在对后续接收到的任务进行处理时,会产生任务拥塞。这种任务拥塞可能会导致特定的边缘节点的任务执行过程中系统可用资源快速降低,以至于产生严重的处理延迟,甚至是失去响应。
虽然可以将新接收到的任务转发给或迁移到其它边缘节点,然而,部分任务的执行依赖于特定的边缘节点的系统运行环境,例如指定的操作系统、系统配置等。如果使用其它的不同系统配置,可能导致部分任务的执行出现错误或执行效果无法满足要求。
发明内容
为了解决现有技术中的问题,本申请需要在边缘节点的负载率过高时,为希望在边缘节点中执行或处理的部分任务进行迁移,并保证被迁移的部分任务能够在与边缘节点相同的系统环境中运行。
根据本发明的一个方面,提供一种由调度芯片进行任务迁移的方法,所述方法包括:
当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容;
当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务;
当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点;
将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机;
第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及
当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
优选地,还包括,当请求方希望由第一边缘节点处理所述待处理任务时,基于待处理任务的任务信息、请求方的网络地址和请求方的身份信息生成所述任务处理请求;
将所述任务处理请求发送给所述第一边缘节点。
优选地,在由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址之前,还包括:
由第一边缘节点的身份认证芯片从所述任务处理请求中提取请求方的身份信息;
基于所述请求方的身份信息,对请求方进行身份认证;
当所述请求方的身份认证的结果为身份认证失败时,基于所述请求方的网络地址向所述请求方发送用于指示身份认证失败的响应消息;
当所述请求方的身份认证的结果为身份认证成功时,将所述请求方的身份信息从所述任务处理请求中删除。
优选地,其中,基于所述请求方的身份信息,对请求方进行身份认证,包括:
从所述请求方的身份信息中获取所述请求方的标识信息和认证信息项;
基于所述请求方的标识信息在第一边缘节点的认证信息库中进行检索,以获取预先存储的与所述请求方的标识信息相对应的认证内容;
基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证。
优选地,其中,基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证,包括:
将认证信息项与认证内容中的每个内容项进行比对,当认证信息项与认证内容中的任意内容项相匹配时,确定验证的结果为匹配成功;当验证的结果为匹配成功时,确定对请求方进行身份认证的结果为身份认证成功;
当认证信息项与认证内容中的每个内容项均不匹配时,确定验证的结果为匹配失败;当验证结果为匹配失败时,确定对请求方进行身份认证的结果为身份认证失败。
优选地,其中所述认证内容包括多个内容项,其中每个内容项包括一种类型的认证信息;
其中,将认证信息项与认证内容中的每个内容项进行比对,包括:
将认证信息项与认证内容中的每个内容项的认证信息进行比对,当认证信息项与任意内容项的认证信息相同时,确定验证的结果为匹配成功;当认证信息项与所有内容项的认证信息均不相同时,确定验证的结果为匹配失败。
优选地,所述任务属性用于指示待处理任务为周期性任务或非周期性任务,其中周期性任务为在第一边缘节点的每个运行周期中均执行的任务,非周期性任务为在第一边缘节点的运行周期中随机执行的任务。
优选地,其中,所述调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,包括:
以确定所述待处理任务为非周期性任务的时刻后的预定时刻为起始时刻,或以确定所述待处理任务为非周期性任务的时刻后经过一段时间的时刻为起始时刻;
记录所述第一边缘节点在起始时刻开始的第一预定时间长度内每个记录时刻的负载率,所述起始时刻为记录时刻并且所述起始时刻开始的第一预定时间长度期满时的结束时刻为记录时刻;
计算从起始时刻开始的第一预定时间长度内所有记录时刻的负载率的平均值,将所述平均值作为第一预定时间长度内第一边缘节点的平均负载率。
优选地,还包括,将平均负载率与迁移负载率阈值进行比较,基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。
优选地,其中基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移,包括:
当平均负载率大于或等于迁移负载率阈值时,确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移;
或者,
当平均负载率小于迁移负载率阈值时,确定不需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。
优选地,其中,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点,包括:
第一边缘节点向辅助节点集合内的每个辅助边缘节点发送状态查询请求,以促使每个辅助边缘节点在接收到所述状态查询请求后,将各自的运行状态信息发送给所述第一边缘节点;
第一边缘节点的调度芯片对来自每个辅助边缘节点的运行状态信息进行解析,以获取每个辅助边缘节点的节点标识和过去的第二预定时间长度内的运行统计数据;
基于所述节点标识从所述第一边缘节点的存储器中获取每个辅助边缘节点的属性数据;
基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值;
将多个辅助边缘节点中状态值最大的辅助边缘节点选择作为目标边缘节点。
优选地,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:
调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率;
调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量;
计算每个辅助边缘节点的状态值:
Figure DEST_PATH_IMAGE001
Figure DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
为第一边缘节点的辅助节点集合内第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE004
,j和Nnode均为自然数,Nnode为第一边缘节点的辅助节点集合内辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE005
Figure DEST_PATH_IMAGE006
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率,
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
为调节系数,
Figure DEST_PATH_IMAGE009
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE012
为第j个辅助边缘节点的处理器数量。
优选地,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:
调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量、每个处理器的内核数量以及每个处理器的线程数量;
调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率、进行任务迁移的次数、以及执行的非周期性任务的数量;其中进行任务迁移的次数为辅助边缘节点作为执行任务的边缘节点,在过去的第二预定时间长度内将自身的非周期性任务迁移到所述执行任务的边缘节点的辅助节点集合内的辅助边缘节点的次数;
基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率;
基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值;
基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,获取第二预定时间长度所包括的运行周期的数量,第二预定时间长度所包括的运行周期的数量为整数,基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度;
基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值。
优选地,其中,每个辅助边缘节点在接收到所述状态查询请求后,对所述状态查询请求进行解析,以获取所述状态查询请求中的时间戳和时间长度值;
将所述时间戳为结束时刻并且时间长度为所述时间长度值的过去的一段时间作为所述过去的第二预定时间长度;
每个辅助边缘节点确定各自的本地存储器中存储的运行统计数据,并从运行统计数据中截取过去的第二预定时间长度内的运行统计数据;以及
基于节点标识和过去的第二预定时间长度内的运行统计数据生成运行状态信息,将所述运行状态信息发送给第一边缘节点。
优选地,其中,基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率,包括:
基于以下公式确定每个辅助边缘节点的实际负载率:
Figure DEST_PATH_IMAGE013
时,
Figure DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
Figure DEST_PATH_IMAGE016
时,
Figure DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE018
其中,
Figure DEST_PATH_IMAGE019
为第j个辅助边缘节点在过去的第二预定时间长度内的实际负载率、
Figure DEST_PATH_IMAGE020
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率、
Figure DEST_PATH_IMAGE021
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE022
,j和Nnode均为自然数,Nnode为第一边缘节点的辅助节点集合内辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE023
优选地,其中,基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值,包括:
基于以下公式确定每个辅助边缘节点的内核总数:
Figure DEST_PATH_IMAGE024
其中,
Figure DEST_PATH_IMAGE025
为第j个辅助边缘节点的内核总数、p为自然数,
Figure DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE027
为第j个辅助边缘节点的第p个处理器的内核数量;
确定多个辅助边缘节点的内核总数中的最大值;
计算每个辅助边缘节点的硬件参数值:
Figure DEST_PATH_IMAGE028
其中,
Figure DEST_PATH_IMAGE029
为第j个辅助边缘节点的硬件参数值,
Figure DEST_PATH_IMAGE030
为多个辅助边缘节点的内核总数中的最大值。
优选地,基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,包括:
基于以下公式确定每个辅助边缘节点的线程总数:
Figure DEST_PATH_IMAGE031
其中,
Figure DEST_PATH_IMAGE032
为第j个辅助边缘节点的线程总数,
Figure DEST_PATH_IMAGE033
为第j个辅助边缘节点的第p个处理器的线程数量。
优选地,基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度,包括:
基于以下公式确定每个辅助边缘节点的任务执行度:
Figure DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE035
其中,
Figure DEST_PATH_IMAGE036
为第j个辅助边缘节点的任务执行度,
Figure DEST_PATH_IMAGE037
为第j个辅助边缘节点在过去的第二预定时间长度内的进行任务迁移的次数,为第Nperiod过去的第二预定时间长度所包括的运行周期的数量;
Figure DEST_PATH_IMAGE038
为第j个辅助边缘节点在过去的第二预定时间长度内执行的非周期性任务的数量,其中Nperiod为自然数,N其中K为运行周期的数量的调节参数并且K>2,W为任务迁移的次数的调节参数并且W>2。
优选地,其中,基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值,包括:
计算每个辅助边缘节点的状态值:
Figure DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE040
其中,
Figure DEST_PATH_IMAGE041
为第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE042
为第j个辅助边缘节点在过去的第二预定时间长度内的实际功率值、
Figure DEST_PATH_IMAGE043
为第j个辅助边缘节点的硬件参数值、
Figure DEST_PATH_IMAGE044
为第j个辅助边缘节点的任务执行度,其中
Figure DEST_PATH_IMAGE045
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE047
为调节系数,
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE049
Figure DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
优选地,还包括,当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;
基于所述第一边缘节点的系统配置信息,创建与所述第一边缘节点相关联的虚拟机。
优选地,其中,第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,包括:
第一边缘节点的调度芯片基于请求方的网络地址和任务标识生成任务迁移记录;以及
将所述任务迁移记录存储在本地缓存中。
优选地,其中,目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理,包括:
目标边缘节点在所述虚拟机中对经过修改的任务处理请求进行解析,以获取待处理任务的任务信息和第一边缘节点的网络地址;
在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,并生成待处理任务的任务处理结果,所述任务处理结果中包括待处理任务的任务标识;以及
基于第一边缘节点的网络地址将所述待处理任务的任务处理结果发送给第一边缘节点。
优选地,其中在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,包括:
在所述虚拟机中,基于待处理任务的任务信息中的任务内容执行所述待处理任务。
根据本发明的另一方面,提供一种由调度芯片进行任务迁移的系统,所述系统包括:
提取装置,用于当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容;
获取装置,用于当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务;
选择装置,用于当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点;
创建装置,用于将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机;
通信装置,用于第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
基于本发明实施例的又一方面,提供了一种由调度芯片进行任务迁移的系统,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的方法。
基于本发明实施例的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的方法。
基于本发明实施例的再一方面,提供了一种电子设备,所述电子设备包括:处理器和存储器;其中,
所述存储器,用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的方法。
基于本发明实施例的再一方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述的方法。
根据本发明实施方式的一种由调度芯片进行任务迁移的方法及系统、计算机可读存储介质、电子设备以及计算机程序产品,在确定待处理任务为非周期性任务并且需要进行任务迁移时,选择目标边缘节点并且将包括第一边缘节点的系统配置信息的虚拟机创建请求发送给目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机。随后,将任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求并发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理。最后,将从目标边缘节点接收的任务处理结果发送给请求方。通过本发明实施方式的技术方案,能够在诸如第一边缘节点的边缘节点的负载率较高(例如,超过预定标准)时,能够为需要进行任务迁移的待处理任务选择目标边缘节点,从而使得能够利用目标边缘节点来帮助第一边缘节点处理任务。此外,为了使得被迁移的待处理任务能够保持在第一边缘节点中的运行环境,在目标边缘节点中创建与第一边缘节点的系统运行环境相同的虚拟机,使得待处理任务在于第一边缘节点相同的系统运行环境中执行。由此可知,本发明实施方式的技术方案不但可以避免诸如第一边缘节点的边缘节点的负载进一步提升或过高,还能够让来自请求方的待处理任务在与诸如第一边缘节点的边缘节点系统的运行环境中执行。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的由调度芯片进行任务迁移的方法的流程图;
图2为根据本发明实施方式的数据域中边缘节点的示意图;
图3为根据本发明实施方式的接收任务处理请求的示意图;
图4为根据本发明实施方式的对非周期性任务进行迁移的示意图;
图5为根据本发明实施方式的利用虚拟机处理迁移的非周期性任务的示意图;
图6为根据本发明实施方式的由调度芯片进行任务迁移的系统的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
应当了解的是,非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务,例如,非周期性任务是在运行周期内随机或突发出现的无规律的任务。将边缘节点或整个边缘计算系统的运行时间划分为多个运行周期(其中,运行周期例如是1个自然日、2个自然数、3个自然日、5个自然日等任何合理时间长度),多个运行周期依次序在时间上相邻并且每个运行周期的时间长度相同。非周期性任务通常是随机出现、无规律的或不需要(在每个运行周期内)重复执行的任务。此外,周期性任务在边缘节点的每个运行周期内均执行,并且周期性任务通常是重要程度高、需要(在每个运行周期内)重复执行或有规律的任务。
图2为根据本发明实施方式的数据域中边缘节点的示意图。如图2所示,第一边缘节点可以运行或处理非周期性任务和周期性任务。在每个运行周期中,均可以按照周期性任务的设定开始时间开始运行。其中周期性任务的任务信息,诸如任务内容等,已经存储在第一边缘节点的本地存储器中。此外,第一边缘节点还可以接收任务处理请求,所述任务处理请求可能涉及非周期性任务,或新的周期性任务。图2中示出了第一边缘节点的一个运行周期中,随时间t运行或执行非周期性任务和周期性任务。为了说明的目的,图2仅示出了一个完整的运行周期,而相邻的运行周期用虚线表示。边缘计算系统或数据域内的所有边缘节点使用相同的运行周期。
在本发明中,将数据域内的边缘节点进行逻辑上的划分或设定,以确定每个边缘节点的辅助节点集合和辅助边缘节点。如图2所示,为了进行说明上的区分,将第一边缘节点的辅助节点集合中的边缘节点称为第一边缘节点的辅助边缘节点,而辅助节点集合外部的仍为边缘节点。实际上,第一边缘节点、第二边缘节点、辅助边缘节点和目标边缘节点均是边缘节点。此外,以数据域中的任意边缘节点为主视角,均可以获得如图2所示的逻辑关系。在边缘计算的数据域中的每个边缘节点均具有各自的多个辅助边缘节点,并且由多个辅助边缘节点构成辅助节点集合。其中辅助边缘节点用于在需要时或被请求时,辅助或协助进行任务处理。因此,针对于任何边缘节点(包括第一边缘节点),数据域中的边缘节点在逻辑上分为:边缘节点(自身,例如第一边缘节点)、边缘节点的多个辅助边缘节点。例如,第一边缘节点的多个辅助边缘节点是与第一边缘节点建立逻辑关联关系,并且在第一边缘节点需要进行任务协同处理、任务调度或任务迁移时,用于进行任务协同处理、作为任务迁移目的端、协助进行任务调度(作为任务发送的目的地)或作为任务移动的目的地的多个边缘节点。将第一边缘节点的多个辅助边缘节点构成与第一边缘节点相关联的辅助节点集合或第一边缘节点的辅助节点集合。
根据一个实施例,边缘计算系统的每个边缘节点中均具有至少一个或两个处理器、运行监控芯片、身份认证芯片、任务协处理芯片、电源控制芯片、调度芯片、内部存储器(内存)、外部存储器等设备。第一边缘节点的运行监控芯片为第一边缘节点中的每个非周期性任务生成非周期性任务记录,非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息。根据一个实施例,非周期性任务不是每个运行周期均在诸如第一边缘节点的边缘节点中执行的任务,例如是随机出现在任意运行周期内,或者被指定出现在任意运行周期内的任务。
此外,运行监控芯片为第一边缘节点的每个周期性任务生成周期性任务记录,周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息。例如,周期性任务可以在每个运行周期内的固定时间开始执行,并根据实际执行情况确定在不同周期内的结束执行时间。此外,周期性任务可以在每个运行周期内的不同时间开始执行,并根据实际执行情况确定在不同周期内的结束执行时间。其中任务标识用于唯一地标识周期性任务、运行周期序号用于指示所在的运行周期的序号、任务开始时间为周期性任务在运行周期序号所指示的运行周期内的开始时间、任务结束时间为周期性任务在运行周期序号所指示的运行周期内的结束时间、任务权重大于0并且小于1。具有相同任务标识的两个周期性任务为相同的周期性任务,但可能在不同的运行周期内运行,因此具有相同任务标识的两个周期性任务的运行周期序号不同。
图1为根据本发明实施方式的由调度芯片进行任务迁移的方法100的流程图。方法100从步骤101开始。
步骤101,当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容。
在一个实施例中,还包括,当请求方希望由第一边缘节点处理所述待处理任务时,根据任务标识、任务属性和任务内容生成任务信息,并基于待处理任务的任务信息、请求方的网络地址和请求方的身份信息生成所述任务处理请求。并且随后,请求方将所述任务处理请求发送给所述第一边缘节点。其中任务标识能够在边缘计算系统中唯一地标识所述待处理任务。请求方的网络地址例如是请求方的IPv4或IPv6地址。任务内容包括以下内容中的一个或多个:多个执行项目、设定的参数、要求的运行环境、多个功能模块以及任务配置信息(多个执行项目之间的关系、多个功能模块之间的关系)等。图3为根据本发明实施方式的接收任务处理请求的示意图,如图3所示,第一边缘节点接收到来自请求方的任务处理请求。
在一个实施例中,在由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址之前,还包括:由第一边缘节点的身份认证芯片从所述任务处理请求中提取请求方的身份信息;基于所述请求方的身份信息,对请求方进行身份认证。当所述请求方的身份认证的结果为身份认证失败时,基于所述请求方的网络地址向所述请求方发送用于指示身份认证失败的响应消息;当所述请求方的身份认证的结果为身份认证成功时,将所述请求方的身份信息从所述任务处理请求中删除。通过删除请求方的身份信息,避免了后续在进行任务迁移时可能造成任务处理请求中的身份信息泄露,从而保证的请求方的信息安全。此外,通过删除请求方的身份信息,可以减少任务处理请求的尺寸,降低网络传输的数据量。
在一个实施例中,基于所述请求方的身份信息,对请求方进行身份认证,包括:从所述请求方的身份信息中获取所述请求方的标识信息和认证信息项。其中认证信息项例如是密码认证信息、指纹认证信息、人脸认证信息、语音认证信息等中的一个。基于所述请求方的标识信息在第一边缘节点的认证信息库中进行检索,以获取预先存储的与所述请求方的标识信息相对应的认证内容。认证内容例如包括与请求方相关联的所有内容项,例如,密码信息、指纹信息、人脸信息、语音信息等。基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证。
在一个实施例中,基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证,包括:将认证信息项与认证内容中的每个内容项进行比对,当认证信息项与认证内容中的任意内容项相匹配时,确定验证的结果为匹配成功;当验证的结果为匹配成功时,确定对请求方进行身份认证的结果为身份认证成功。例如,将指纹认证信息与认证内容中的每个内容项(密码信息、指纹信息、人脸信息、语音信息等)进行比对,当指纹认证信息与指纹信息相匹配时,确定验证的结果为匹配成功。此外,当认证信息项与认证内容中的每个内容项均不匹配时,确定验证的结果为匹配失败;当验证结果为匹配失败时,确定对请求方进行身份认证的结果为身份认证失败。指纹认证信息与认证内容中的每个内容项均不匹配,例如,指纹认证信息与指纹信息不匹配时,确定验证的结果为匹配失败。
在一个实施例中,其中所述认证内容包括多个内容项,其中每个内容项包括一种类型的认证信息,例如,密码信息、指纹信息、人脸信息、语音信息等。其中,将认证信息项与认证内容中的每个内容项进行比对,包括:将认证信息项与认证内容中的每个内容项的认证信息进行比对,当认证信息项与任意内容项的认证信息相同时,确定验证的结果为匹配成功;当认证信息项与所有内容项的认证信息均不相同时,确定验证的结果为匹配失败。
步骤102,当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务。任务属性用于指示待处理任务为周期性任务或非周期性任务,其中周期性任务为在第一边缘节点的每个运行周期中均执行的任务,非周期性任务为在第一边缘节点的运行周期中随机执行的任务。
在一个实施例中,所述调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,包括:以确定所述待处理任务为非周期性任务的时刻后的预定时刻(预定时刻,例如是,200秒后、400秒后、600秒后)为起始时刻,或以确定所述待处理任务为非周期性任务的时刻后经过一段时间(例如是,200秒、400秒、600秒)的时刻为起始时刻。通过在确定所述待处理任务为非周期性任务的时刻后选择预定时刻或经过一段时间,可以避免第一边缘节点的负载率出现频繁抖动(例如,负载率突然提升一小段时间,之后负载率回归正常)的导致平均负载率无法反应真实负载的情况。在确定平均负载率时,将确定所述待处理任务为非周期性任务的时刻后选择预定时刻或经过一段时间,以避免负载抖动情况。通过这种处理,能够有效地避免负载抖动所带了的平均负载率不准确的情况,提升基于平均负载率确定是否需要进行任务迁移的准确率。为此,通过这种方式,能够防止不必要的任务迁移,从而提升任务处理效率并且节省通信开销。
优选地,记录所述第一边缘节点在起始时刻开始的第一预定时间长度内每个记录时刻的负载率,所述起始时刻为记录时刻并且所述起始时刻开始的第一预定时间长度期满时的结束时刻为记录时刻。即第一预定时间长度包括:所述第一预定时间长度的起始时刻、第一预定时间长度的结束时刻以及起始时刻和结束时刻之间的每个记录时刻。计算从起始时刻开始的第一预定时间长度内所有记录时刻的负载率的平均值,将所述平均值作为第一预定时间长度内第一边缘节点的平均负载率。
根据一个实施例,还利用运行监控芯片将诸如第一边缘节点的边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息。每个时间单元内的实时的处理器的使用率每个时间单元内每个采集时刻、采集间隔或采集粒度的处理器的使用率,并且将每个时间单元内所有采集时刻的处理器的使用率的平均值作为每个时间单元内的平均处理器使用率。每个时间单元内的实时的存储器的空闲率是指每个时间单元内每个采集点的存储器的空闲率,并且将每个时间单元内所有采集点的存储器空闲率的平均值作为每个时间单元内的平均存储器空闲率。例如采集时刻、采集间隔或采集粒度为以秒为单位的合理秒数等。负载记录包括例如实时的处理器的使用率、平均的处理器的使用率、实时的存储器空闲率和平均的存储器的空闲率。根据一个实施例,运行监控芯片将运行的周期内的非周期性任务信息、周期性任务信息和负载统计信息构成运行周期的运行信息。其中,在诸如第一边缘节点的边缘节点的存储器中预先设置的存储区域内存储运行信息。
步骤103,当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点。
在一个实施例中,还包括,将平均负载率与迁移负载率阈值进行比较,基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。其中基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移,包括:当平均负载率大于或等于迁移负载率阈值时,确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移,如图4所示。图4为根据本发明实施方式的对非周期性任务进行迁移的示意图。在从请求方接收到任务处理请求后,确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。当确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点,以作为迁移的非周期性任务的迁移目的地。
当平均负载率小于迁移负载率阈值时,确定不需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。其中负载率阈值可以是任何合理数值,例如,65%,70%,80%等。
在一个实施例中,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点,包括:第一边缘节点向辅助节点集合内的每个辅助边缘节点发送状态查询请求,以促使每个辅助边缘节点在接收到所述状态查询请求后,将各自的运行状态信息发送给所述第一边缘节点;第一边缘节点的调度芯片对来自每个辅助边缘节点的运行状态信息进行解析,以获取每个辅助边缘节点的节点标识和过去的第二预定时间长度内的运行统计数据;基于所述节点标识从所述第一边缘节点的存储器中获取每个辅助边缘节点的属性数据;基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值;将多个辅助边缘节点中状态值最大的辅助边缘节点选择作为目标边缘节点。优选地,诸如第一边缘节点的边缘节点在本地的存储器中存储各自辅助节点集合中每个辅助边缘节点的属性数据。当辅助节点集合中辅助边缘节点更新时(例如,删除了至少一个辅助边缘节点,或增加了至少一个辅助边缘节点),将删除的每个辅助边缘节点的属性数据删除,并向增加的每个辅助边缘节点发送属性查询请求,以促使增加的每个辅助边缘节点发送各自的属性数据,从而使得诸如第一边缘节点的边缘节点将接收到的属性数据存储在本地的存储器中。
在一个实施例中,其中,每个辅助边缘节点在接收到所述状态查询请求后,对所述状态查询请求进行解析,以获取所述状态查询请求中的时间戳和时间长度值;将所述时间戳为结束时刻并且时间长度为所述时间长度值的过去的一段时间作为所述过去的第二预定时间长度;每个辅助边缘节点确定各自的本地存储器中存储的运行统计数据,并从运行统计数据中截取过去的第二预定时间长度内的运行统计数据;以及基于节点标识和过去的第二预定时间长度内的运行统计数据生成运行状态信息,将所述运行状态信息发送给第一边缘节点。例如,时间戳为2022年5月5日12点20分00秒,并且时间长度值为96小时(即,4个自然日),那么第二预定时间长度为从开始时刻2022年5月1日12点20分00秒(包括开始时刻的端点)至结束时刻2022年5月5日12点20分00秒(包括结束时刻的端点)的时间长度。
在一个实施例中,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率
Figure DEST_PATH_IMAGE052
;调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量
Figure DEST_PATH_IMAGE053
计算每个辅助边缘节点的状态值:
Figure DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE055
其中,
Figure DEST_PATH_IMAGE056
为辅助节点集合内第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE057
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE058
Figure 604962DEST_PATH_IMAGE052
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率、
Figure DEST_PATH_IMAGE059
Figure DEST_PATH_IMAGE060
为调节系数,
Figure DEST_PATH_IMAGE061
Figure DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE063
Figure DEST_PATH_IMAGE064
为第j个辅助边缘节点的处理器数量。
在一个实施例中,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量、每个处理器的内核数量以及每个处理器的线程数量;调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率、进行任务迁移的次数、以及执行的非周期性任务的数量;其中进行任务迁移的次数为辅助边缘节点作为执行任务的边缘节点,在过去的第二预定时间长度内将自身的非周期性任务迁移到所述执行任务的边缘节点的辅助节点集合内的辅助边缘节点的次数;基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率;基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值;基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,获取第二预定时间长度所包括的运行周期的数量(第二预定时间长度包括的运行周期的数量为整数),基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度;基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值。
在一个实施例中,其中,基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率
Figure DEST_PATH_IMAGE065
,包括:
基于以下公式确定每个辅助边缘节点的实际负载率
Figure 801063DEST_PATH_IMAGE065
Figure DEST_PATH_IMAGE066
时,
Figure DEST_PATH_IMAGE067
Figure DEST_PATH_IMAGE068
Figure DEST_PATH_IMAGE069
时,
Figure DEST_PATH_IMAGE070
Figure DEST_PATH_IMAGE071
其中,
Figure 393850DEST_PATH_IMAGE065
为第j个辅助边缘节点在过去的第二预定时间长度内的实际负载率、
Figure DEST_PATH_IMAGE072
为第j个辅助边缘节点在过去的第二预定时间长度内的的平均负载率、
Figure DEST_PATH_IMAGE073
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE074
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE075
在一个实施例中,其中,基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值,包括:
基于以下公式确定每个辅助边缘节点的内核总数
Figure DEST_PATH_IMAGE076
Figure DEST_PATH_IMAGE077
其中,
Figure DEST_PATH_IMAGE078
为第j个辅助边缘节点的内核总数、p为自然数,
Figure DEST_PATH_IMAGE079
Figure DEST_PATH_IMAGE080
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE081
为第j个辅助边缘节点的第p个处理器的内核数量;
确定多个辅助边缘节点的内核总数中的最大值
Figure DEST_PATH_IMAGE082
计算每个辅助边缘节点的硬件参数值:
Figure DEST_PATH_IMAGE083
其中
Figure DEST_PATH_IMAGE084
为第j个辅助边缘节点的硬件参数值,
Figure 949246DEST_PATH_IMAGE082
为多个辅助边缘节点的内核总数中的最大值。
在一个实施例中,基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,包括:
基于以下公式确定每个辅助边缘节点的线程总数
Figure DEST_PATH_IMAGE085
Figure DEST_PATH_IMAGE086
其中,
Figure DEST_PATH_IMAGE087
为第j个辅助边缘节点的线程总数、p为自然数,
Figure DEST_PATH_IMAGE088
Figure DEST_PATH_IMAGE089
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE090
为第j个辅助边缘节点的第p个处理器的线程数量;
在一个实施例中,基于进行任务迁移的次数
Figure DEST_PATH_IMAGE091
、线程总数
Figure DEST_PATH_IMAGE092
、运行周期的数量Nperiod以及执行的非周期性任务的数量
Figure DEST_PATH_IMAGE093
,确定每个辅助边缘节点的任务执行度,包括:
基于以下公式确定每个辅助边缘节点的任务执行度
Figure DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE095
Figure DEST_PATH_IMAGE096
其中,
Figure 170143DEST_PATH_IMAGE094
为第j个辅助边缘节点的任务执行度、
Figure DEST_PATH_IMAGE097
为第j个辅助边缘节点在过去的第二预定时间长度内的进行任务迁移的次数、
Figure 943670DEST_PATH_IMAGE092
为第j个辅助边缘节点的线程总数、Nperiod过去的第二预定时间长度所包括的运行周期的数量;
Figure DEST_PATH_IMAGE098
为第j个辅助边缘节点在过去的第二预定时间长度内执行的非周期性任务的数量,其中Nperiod为自然数,
Figure DEST_PATH_IMAGE099
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE100
,其中K为运行周期数量的调节参数并且K>2,W为任务迁移次数的调节参数并且W>2。
在一个实施例中,其中,基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值,包括:
计算每个辅助边缘节点的状态值
Figure DEST_PATH_IMAGE101
Figure DEST_PATH_IMAGE102
其中,
Figure 804179DEST_PATH_IMAGE101
为第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE103
为第j个辅助边缘节点在过去的第二预定时间长度内的实际功率值、
Figure DEST_PATH_IMAGE104
为第j个辅助边缘节点的硬件参数值、
Figure DEST_PATH_IMAGE105
为第j个辅助边缘节点的任务执行度,其中
Figure DEST_PATH_IMAGE106
Figure DEST_PATH_IMAGE107
Figure DEST_PATH_IMAGE108
为调节系数,
Figure DEST_PATH_IMAGE109
Figure DEST_PATH_IMAGE110
Figure DEST_PATH_IMAGE111
Figure DEST_PATH_IMAGE112
步骤104,将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机,使得所述虚拟机的系统参数配置和所述第一边缘节点的系统参数配置相同。例如,第一边缘节点运行Linux系统,而目标边缘节点运行Windows系统,则在目标边缘节点的Windows系统中创建虚拟机,运行Linux系统。通过相同的系统运行环境,使得迁移的非周期性任务的执行过程在第一边缘节点和目标边缘节点相同。
在一个实施例中,还包括,当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;创建与所述第一边缘节点相关联的虚拟机,并基于第一边缘节点的系统配置信息对与所述第一边缘节点相关联的虚拟机进行系统配置。
在一个实施例中,还包括,当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;基于所述第一边缘节点的系统配置信息,创建与所述第一边缘节点相关联的虚拟机。
步骤105,第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理。
在一个实施例中,第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,包括:第一边缘节点的调度芯片基于请求方的网络地址和任务标识生成任务迁移记录;以及将所述任务迁移记录存储在本地缓存中。任务迁移记录例如包括:任务标识、请求方的网络地址、目标边缘节点的网络地址、任务处理请求的接收时间等。
步骤106,当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
图5为根据本发明实施方式的利用虚拟机处理迁移的非周期性任务的示意图。如图5所示,在确定将来自请求方的任务处理请求所涉及的非周期性任务进行迁移时,由第一边缘节点在请求方来目标边缘节点之间建立转发处理关系,即由第一边缘节点将任务处理请求所涉及的非周期性任务迁移到目标边缘节点上运行并确保运行环境的一致性。并且目标边缘节点无需关心非周期性任务的请求方,而只需要完成迁移任务的运行即可。随后,由第一边缘节点将迁移任务的运行结果返回给请求方,使得上述迁移动作对于请求方是完全透明的。
在一个实施例中,其中,目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理,包括:目标边缘节点在所述虚拟机中对经过修改的任务处理请求进行解析,以获取待处理任务的任务信息和第一边缘节点的网络地址;在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,并生成待处理任务的任务处理结果,所述任务处理结果中包括待处理任务的任务标识;以及基于第一边缘节点的网络地址将所述待处理任务的任务处理结果发送给第一边缘节点。
在一个实施例中,其中在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,包括:在所述虚拟机中,基于待处理任务的任务信息中的任务内容执行所述待处理任务。
在一个实施例中,由于本申请需要利用第一边缘节点的辅助节点集合中的辅助边缘节点作为任务(非周期性任务)迁移的目的地。为此,需要确保辅助节点集合中的辅助边缘节点与第一边缘节点在运行任务时具有互补性。具体地,根据多个运行周期的运行统计数据,当第一边缘节点处于较高负载率的水平时,辅助节点集合中的任意辅助边缘节点优选地处于较低负载率的水平。通过这种方式,可以使得第一边缘节点的辅助边缘节点能够在第一边缘节点的负载率较高时,能够以较低负载率的状态来协助或协同处理第一边缘节点中无法处理的周期性任务。为此,需要由运行监控芯片根据第一边缘节点的运行状态来确定是否选择新的辅助边缘节点,从而对第一边缘节点的辅助节点集合进行更新。为此在每个运行周期,运行监控芯片进行:为诸如第一边缘节点的边缘节点每个周期性任务生成周期性任务记录,所述周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息。为诸如第一边缘节点的边缘节点中的每个非周期性任务生成非周期性任务记录,所述非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息。将诸如第一边缘节点的边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息。将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。在诸如第一边缘节点的边缘节点的存储器中预先设置的存储区域内存储所述节点运行信息,所述负载记录包括每个时间单元内的实时处理器使用率和每个时间单元内的平均处理器使用率。
在一个实施例中,在当前运行周期结束时,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,具体包括:第一边缘节点的运行监控芯片从当前运行周期的节点运行信息中,获取当前运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;运行监控芯片获取上一运行周期的节点运行信息,从上一运行周期的节点运行信息中, 获取上一运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度;基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度;基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度;基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
优选地,基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度,包括:从上一运行周期的周期性任务信息获取上一运行周期的多个周期性任务记录;从当前运行周期的周期性任务信息获取当前运行周期的多个周期性任务记录;基于运行周期序号将上一运行周期和当前运行周期内,具有相同任务标识的两个周期性任务记录构成周期性任务记录对;基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率;基于周期性时间差值比率和任务权重,确定第一偏离度。
优选地,基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,包括:从每个周期性任务记录对中,提取相同周期性任务在上一运行周期内的任务开始时间PBTi和任务结束时间PETi以及在当前运行周期内的任务开始时间CBTi和任务结束时间CETi;基于以下公式确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率:
Figure DEST_PATH_IMAGE113
其中,
Figure DEST_PATH_IMAGE114
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,PBTi为第i个周期性任务在上一运行周期内的任务开始时间;PETi为第i个周期性任务在上一运行周期内的任务结束时间;CBTi为第i个周期性任务在当前运行周期内的任务开始时间;CETi为第i个周期性任务在当前运行周期内的任务结束时间;
Figure DEST_PATH_IMAGE115
,i和np均为自然数,np为周期性任务的数量。在本实施例中,PBTi、PETi、CBTi以及CETi的值使得
Figure DEST_PATH_IMAGE116
优选地,基于周期性时间差值比率和任务权重,确定第一偏离度,包括:基于当前运行周期的多个周期性任务记录,确定每个周期性任务的任务权重;基于以下公式计算第一偏离度:
Figure DEST_PATH_IMAGE117
其中,
Figure DEST_PATH_IMAGE118
为第一偏离度,
Figure DEST_PATH_IMAGE119
为第i个周期性任务的任务权重,
Figure DEST_PATH_IMAGE120
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率。在实施例中,上一运行周期和当前运行周期的周期性任务的数量相同,并且上一运行周期和当前运行周期的每个周期性任务的任务标识相同。即,上一运行周期和当前运行周期内运行了相同的周期性任务。当前运行周期内,
Figure DEST_PATH_IMAGE121
=1,即当前运行周期(同样地,上一运行周期)内全部周期性任务的任务权重的和为1。
优选地,基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度,包括:从上一运行周期的非周期性任务信息获取上一运行周期的多个非周期性任务记录,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务。从当前运行周期的非周期性任务信息获取当前运行周期的多个非周期性任务记录,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务;基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值;基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间;基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度。
优选地,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务,包括:将上一运行周期的非周期性任务记录的数量确定为上一运行周期内非周期性任务的数量;基于上一运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于上一运行周期的每个非周期性任务的任务处理时间;将上一运行周期中任务处理时间最长的非周期性任务确定为第一非周期性任务。
优选地,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务,包括:将当前运行周期的非周期性任务记录的数量确定为当前运行周期内非周期性任务的数量;基于当前运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于当前运行周期的每个非周期性任务的任务处理时间;将当前运行周期中任务处理时间最长的非周期性任务确定为第二非周期性任务。
优选地,基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值,包括:获取第一非周期性任务的任务处理时间Tt1,获取第二非周期性任务的任务处理时间Tt2;获取上一运行周期的时间长度Tq1,获取当前运行周期的时间长度Tq2;基于以下公式确定数量阈值:
Figure DEST_PATH_IMAGE122
其中,TH为数量阈值,Tt1为第一非周期性任务的任务处理时间,Tt2为第二非周期性任务的任务处理时间,Tq1为上一运行周期的时间长度, Tq2为当前运行周期的时间长度,Tn1为上一运行周期内非周期性任务的数量,Tn2为当前运行周期内非周期性任务的数量,
Figure DEST_PATH_IMAGE123
为第一时间调节因子,
Figure DEST_PATH_IMAGE124
为第二时间调节因子。
优选地,基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,包括:基于上一运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成上一运行周期的多个非周期性任务的任务并发运行图;在上一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
优选地,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间,包括:基于当前运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成当前运行周期的多个非周期性任务的任务并发运行图;在当前一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
优选地,基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度,包括:从上一运行周期的至少一个高并发运行时间区间中,选择上一运行周期的时间长度最大的高并发运行时间区间,作为第一运行区间,确定第一运行区间的开始时间FB1和结束时间FE1;从当前运行周期的至少一个高并发运行时间区间中,选择当前运行时间周期的时间长度最大的高并发运行时间区间,作为第二运行区间,确定第二运行区间的开始时间FB2和结束时间FE2;当第一运行区间和第二运行区间不存在重叠时间时,第二偏离度
Figure DEST_PATH_IMAGE125
为1;当第一运行区间和第二运行区间存在重叠时间时,确定第一运行区间和第二运行区间之间的重叠时间长度TO;
Figure DEST_PATH_IMAGE126
时,第二偏离度
Figure 590695DEST_PATH_IMAGE125
为0.5;
Figure DEST_PATH_IMAGE127
时,第二偏离度
Figure 462836DEST_PATH_IMAGE125
=
Figure DEST_PATH_IMAGE128
优选地,基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度,包括:根据上一运行周期的负载统计信息,确定上一运行周期的每个时间单元内的负载记录,根据上一运行周期的每个时间单元内的负载记录确定根据上一运行周期的每个时间单元内的平均处理器使用率,基于上一运行周期的每个时间单元内的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量Nt1;根据当前运行周期的负载统计信息,确定当前运行周期的每个时间单元内的负载记录,根据当前运行周期的每个时间单元内的负载记录确定根据当前运行周期的每个时间单元的平均处理器使用率,基于当前运行周期的每个时间单元的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量Nt2;确定上一运行周期的时间单元的数量N1和当前运行周期的时间单元的数量N2;以及基于第一时间单元数量Nt1、上一运行周期的时间单元的数量N1、第二时间单元数量Nt2和当前运行周期的时间单元的数量N2,确定第三偏离度。
优选地,基于第一时间单元数量Nt1、上一运行周期的时间单元的数量N1、第二时间单元数量Nt2和当前运行周期的时间单元的数量N2,确定第三偏离度,包括:基于以下公式确定第三偏离度
Figure DEST_PATH_IMAGE129
Figure DEST_PATH_IMAGE130
其中,Nt1为第一时间单元数量、N1为上一运行周期的时间单元的数量、Nt2为第二时间单元数量、N2为当前运行周期的时间单元的数量、
Figure DEST_PATH_IMAGE131
为取
Figure DEST_PATH_IMAGE132
Figure DEST_PATH_IMAGE133
的最小值;其中
Figure DEST_PATH_IMAGE134
Figure DEST_PATH_IMAGE135
优选地,基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
基于以下公式计算运行偏离度
Figure DEST_PATH_IMAGE136
Figure DEST_PATH_IMAGE137
其中,
Figure DEST_PATH_IMAGE138
为第一偏离度,
Figure 390953DEST_PATH_IMAGE125
为第二偏离度,
Figure 614124DEST_PATH_IMAGE129
为第三偏离度,
Figure DEST_PATH_IMAGE139
为第一调节系数,
Figure DEST_PATH_IMAGE140
为第二调节系数,
Figure DEST_PATH_IMAGE141
为第三调节系数。
在一个实施例中,当所述运行偏离度大于偏离度阈值时,确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度,具体包括:从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录, 获取辅助节点集合中的每个辅助边缘节点的当前运行周期的负载统计信息,以基于每个辅助边缘节点的当前运行周期的负载统计信息获取每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录;基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度。
优选地,基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度,包括:基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;基于每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个辅助边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NCU;针对于每个辅助边缘节点,确定每个辅助边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NCSj;其中第二使用阈值小于第一使用阈值;当第j个辅助边缘节点满足
Figure DEST_PATH_IMAGE142
时,将第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj设置为1;当第j个辅助边缘节点满足
Figure DEST_PATH_IMAGE143
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure DEST_PATH_IMAGE144
当第j个辅助边缘节点满足
Figure DEST_PATH_IMAGE145
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure DEST_PATH_IMAGE146
其中,
Figure DEST_PATH_IMAGE147
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
在一个实施例中,将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点,具体包括:将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助节点集合中的辅助边缘节点的边缘节点选择作为第一边缘节点的候选边缘节点。优选地,还包括,预先在所述相同数据域中为所述第一边缘节点确定相关联的辅助节点集合,所述相关联的辅助节点集合中的每个边缘节点是第一边缘节点的辅助边缘节点。
在一个实施例中,基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从所述辅助节点集合中移除。其中基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,包括:基于第一边缘节点和每个辅助边缘节点的第一任务匹配度,确定多个第一任务匹配度的平均值Maavg和多个第一任务匹配度中的最小值Mina;
基于以下公式计算动态匹配度阈值Mh:
Figure DEST_PATH_IMAGE148
在一个实施例中,计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中。其中,计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,包括:从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,获取每个候选边缘节点的当前运行周期的负载统计信息,以基于每个候选边缘节点当前运行周期的负载统计信息获取每个候选边缘节点当前运行周期的每个时间单元内的负载记录;基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度。
优选地,基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度,包括:基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;基于每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个候选边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NDU;针对于每个候选边缘节点,确定每个候选边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NDSj;其中第二使用阈值小于第一使用阈值;当第j个候选边缘节点满足
Figure DEST_PATH_IMAGE149
时,将第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj设置为1;当第j个候选边缘节点满足
Figure DEST_PATH_IMAGE150
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure DEST_PATH_IMAGE151
当第j个候选边缘节点满足
Figure DEST_PATH_IMAGE152
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure DEST_PATH_IMAGE153
其中,
Figure DEST_PATH_IMAGE154
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
优选地,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,包括:将第二任务匹配度大于静态匹配度阈值的候选边缘节点选择作为辅助边缘节点。
图6为根据本发明实施方式的由调度芯片进行任务迁移的系统600的结构示意图。系统600包括:
提取装置601,用于当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容。
在一个实施例中,当请求方希望由第一边缘节点处理所述待处理任务时,基于待处理任务的任务信息、请求方的网络地址和请求方的身份信息生成所述任务处理请求;将所述任务处理请求发送给所述第一边缘节点。
提取装置601还用于促使由第一边缘节点的身份认证芯片从所述任务处理请求中提取请求方的身份信息;基于所述请求方的身份信息,对请求方进行身份认证;当所述请求方的身份认证的结果为身份认证失败时,基于所述请求方的网络地址向所述请求方发送用于指示身份认证失败的响应消息;当所述请求方的身份认证的结果为身份认证成功时,将所述请求方的身份信息从所述任务处理请求中删除。
提取装置601具体用于从所述请求方的身份信息中获取所述请求方的标识信息和认证信息项;基于所述请求方的标识信息在第一边缘节点的认证信息库中进行检索,以获取预先存储的与所述请求方的标识信息相对应的认证内容;基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证。
提取装置601具体用于促使将认证信息项与认证内容中的每个内容项进行比对,当认证信息项与认证内容中的任意内容项相匹配时,确定验证的结果为匹配成功;当验证的结果为匹配成功时,确定对请求方进行身份认证的结果为身份认证成功;当认证信息项与认证内容中的每个内容项均不匹配时,确定验证的结果为匹配失败;当验证结果为匹配失败时,确定对请求方进行身份认证的结果为身份认证失败。
其中所述认证内容包括多个内容项,其中每个内容项包括一种类型的认证信息。提取装置601具体用于促使将认证信息项与认证内容中的每个内容项的认证信息进行比对,当认证信息项与任意内容项的认证信息相同时,确定验证的结果为匹配成功;当认证信息项与所有内容项的认证信息均不相同时,确定验证的结果为匹配失败。
优选地,任务属性用于指示待处理任务为周期性任务或非周期性任务,其中周期性任务为在第一边缘节点的每个运行周期中均执行的任务,非周期性任务为在第一边缘节点的运行周期中随机执行的任务。
获取装置602,用于当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务。
获取装置602具体用于以确定所述待处理任务为非周期性任务的时刻后的预定时刻为起始时刻,或以确定所述待处理任务为非周期性任务的时刻后经过一段时间的时刻为起始时刻;记录所述第一边缘节点在起始时刻开始的第一预定时间长度内每个记录时刻的负载率,所述起始时刻为记录时刻并且所述起始时刻开始的第一预定时间长度期满时的结束时刻为记录时刻;计算从起始时刻开始的第一预定时间长度内所有记录时刻的负载率的平均值,将所述平均值作为第一预定时间长度内第一边缘节点的平均负载率。
选择装置603,用于当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点。选择装置603还用于将平均负载率与迁移负载率阈值进行比较,基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。具体地,当平均负载率大于或等于迁移负载率阈值时,确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移;当平均负载率小于迁移负载率阈值时,确定不需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。
选择装置603具体用于促使第一边缘节点向辅助节点集合内的每个辅助边缘节点发送状态查询请求,以促使每个辅助边缘节点在接收到所述状态查询请求后,将各自的运行状态信息发送给所述第一边缘节点;第一边缘节点的调度芯片对来自每个辅助边缘节点的运行状态信息进行解析,以获取每个辅助边缘节点的节点标识和过去的第二预定时间长度内的运行统计数据;基于所述节点标识从所述第一边缘节点的存储器中获取每个辅助边缘节点的属性数据;基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值;将多个辅助边缘节点中状态值最大的辅助边缘节点选择作为目标边缘节点。
选择装置603具体用于促使调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率
Figure DEST_PATH_IMAGE155
;调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量
Figure DEST_PATH_IMAGE156
计算每个辅助边缘节点的状态值:
Figure DEST_PATH_IMAGE157
Figure DEST_PATH_IMAGE158
其中,
Figure DEST_PATH_IMAGE159
为辅助节点集合内第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE160
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE161
Figure 747208DEST_PATH_IMAGE155
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率、
Figure DEST_PATH_IMAGE162
Figure DEST_PATH_IMAGE163
为调节系数,
Figure DEST_PATH_IMAGE164
Figure DEST_PATH_IMAGE165
Figure DEST_PATH_IMAGE166
Figure DEST_PATH_IMAGE167
为第j个辅助边缘节点的处理器数量。
选择装置603具体用于促使调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量、每个处理器的内核数量以及每个处理器的线程数量;调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率、进行任务迁移的次数、以及执行的非周期性任务的数量;其中进行任务迁移的次数为辅助边缘节点作为执行任务的边缘节点,在过去的第二预定时间长度内将自身的非周期性任务迁移到所述执行任务的边缘节点的辅助节点集合内的辅助边缘节点的次数;基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率;基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值;基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,获取第二预定时间长度所包括的运行周期的数量(第二预定时间长度包括的运行周期的数量为整数),基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度;基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值。
在一个实施例中,其中,每个辅助边缘节点在接收到所述状态查询请求后,对所述状态查询请求进行解析,以获取所述状态查询请求中的时间戳和时间长度值;将所述时间戳为结束时刻并且时间长度为所述时间长度值的过去的一段时间作为所述过去的第二预定时间长度;每个辅助边缘节点确定各自的本地存储器中存储的运行统计数据,并从运行统计数据中截取过去的第二预定时间长度内的运行统计数据;以及基于节点标识和过去的第二预定时间长度内的运行统计数据生成运行状态信息,将所述运行状态信息发送给第一边缘节点。
选择装置603具体用于基于以下公式确定每个辅助边缘节点的实际负载率
Figure DEST_PATH_IMAGE168
Figure DEST_PATH_IMAGE169
时,
Figure DEST_PATH_IMAGE170
Figure DEST_PATH_IMAGE171
Figure DEST_PATH_IMAGE172
时,
Figure DEST_PATH_IMAGE173
Figure DEST_PATH_IMAGE174
其中,
Figure 408609DEST_PATH_IMAGE168
为第j个辅助边缘节点在过去的第二预定时间长度内的实际负载率、
Figure DEST_PATH_IMAGE175
为第j个辅助边缘节点在过去的第二预定时间长度内的的平均负载率、
Figure DEST_PATH_IMAGE176
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE177
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE178
选择装置603具体用于基于以下公式确定每个辅助边缘节点的内核总数
Figure DEST_PATH_IMAGE179
Figure DEST_PATH_IMAGE180
其中,
Figure 402235DEST_PATH_IMAGE179
为第j个辅助边缘节点的内核总数、p为自然数,
Figure DEST_PATH_IMAGE181
Figure DEST_PATH_IMAGE182
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE183
为第j个辅助边缘节点的第p个处理器的内核数量;
确定多个辅助边缘节点的内核总数中的最大值
Figure DEST_PATH_IMAGE184
计算每个辅助边缘节点的硬件参数值:
Figure DEST_PATH_IMAGE185
其中
Figure DEST_PATH_IMAGE186
为第j个辅助边缘节点的硬件参数值,
Figure 643113DEST_PATH_IMAGE184
为多个辅助边缘节点的内核总数中的最大值。
选择装置603具体用于基于以下公式确定每个辅助边缘节点的线程总数
Figure DEST_PATH_IMAGE187
Figure DEST_PATH_IMAGE188
其中,
Figure DEST_PATH_IMAGE189
为第j个辅助边缘节点的线程总数、p为自然数,
Figure DEST_PATH_IMAGE190
Figure DEST_PATH_IMAGE191
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure DEST_PATH_IMAGE192
为第j个辅助边缘节点的第p个处理器的线程数量。
选择装置603具体用于基于以下公式确定每个辅助边缘节点的任务执行度
Figure DEST_PATH_IMAGE193
Figure DEST_PATH_IMAGE194
Figure DEST_PATH_IMAGE195
其中,
Figure DEST_PATH_IMAGE196
为第j个辅助边缘节点的任务执行度、
Figure DEST_PATH_IMAGE197
为第j个辅助边缘节点在过去的第二预定时间长度内的进行任务迁移的次数、
Figure DEST_PATH_IMAGE198
为第j个辅助边缘节点的线程总数、Nperiod过去的第二预定时间长度所包括的运行周期的数量;
Figure DEST_PATH_IMAGE199
为第j个辅助边缘节点在过去的第二预定时间长度内执行的非周期性任务的数量,其中Nperiod为自然数,
Figure DEST_PATH_IMAGE200
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量并且
Figure DEST_PATH_IMAGE201
,其中K为运行周期数量的调节参数并且K>2,W为任务迁移次数的调节参数并且W>2。
选择装置603具体用于计算每个辅助边缘节点的状态值
Figure DEST_PATH_IMAGE202
Figure DEST_PATH_IMAGE203
Figure DEST_PATH_IMAGE204
其中,
Figure DEST_PATH_IMAGE205
为第j个辅助边缘节点的状态值、
Figure DEST_PATH_IMAGE206
为第j个辅助边缘节点在过去的第二预定时间长度内的实际功率值、
Figure DEST_PATH_IMAGE207
为第j个辅助边缘节点的硬件参数值、
Figure DEST_PATH_IMAGE208
为第j个辅助边缘节点的任务执行度,其中
Figure DEST_PATH_IMAGE209
Figure DEST_PATH_IMAGE210
Figure DEST_PATH_IMAGE211
为调节系数,
Figure DEST_PATH_IMAGE212
Figure DEST_PATH_IMAGE213
Figure DEST_PATH_IMAGE214
Figure DEST_PATH_IMAGE215
创建装置604,用于将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机。创建装置604还用于当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;创建与所述第一边缘节点相关联的虚拟机,并基于第一边缘节点的系统配置信息对与所述第一边缘节点相关联的虚拟机进行系统配置。
创建装置604还用于当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;基于所述第一边缘节点的系统配置信息,创建与所述第一边缘节点相关联的虚拟机。其中,所述虚拟机的系统参数配置和所述第一边缘节点的系统参数配置相同。
通信装置605,用于第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
通信装置605具体用于促使第一边缘节点的调度芯片基于请求方的网络地址和任务标识生成任务迁移记录;以及将所述任务迁移记录存储在本地缓存中。
通信装置605具体用于促使目标边缘节点在所述虚拟机中对经过修改的任务处理请求进行解析,以获取待处理任务的任务信息和第一边缘节点的网络地址;在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,并生成待处理任务的任务处理结果,所述任务处理结果中包括待处理任务的任务标识;以及基于第一边缘节点的网络地址将所述待处理任务的任务处理结果发送给第一边缘节点。具体地,在所述虚拟机中,基于待处理任务的任务信息中的任务内容执行所述待处理任务。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个//该[装置、组件等]”都被开放地解释为装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (25)

1.一种由调度芯片进行任务迁移的方法,所述方法包括:
当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容;
当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务;
当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点;
将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机;
第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及
当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
2.根据权利要求1所述的方法,还包括,当请求方希望由第一边缘节点处理所述待处理任务时,基于待处理任务的任务信息、请求方的网络地址和请求方的身份信息生成所述任务处理请求;
将所述任务处理请求发送给所述第一边缘节点。
3.根据权利要求2所述的方法,在由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址之前,还包括:
由第一边缘节点的身份认证芯片从所述任务处理请求中提取请求方的身份信息;
基于所述请求方的身份信息,对请求方进行身份认证;
当所述请求方的身份认证的结果为身份认证失败时,基于所述请求方的网络地址向所述请求方发送用于指示身份认证失败的响应消息;
当所述请求方的身份认证的结果为身份认证成功时,将所述请求方的身份信息从所述任务处理请求中删除。
4.根据权利要求3所述的方法,其中,基于所述请求方的身份信息,对请求方进行身份认证,包括:
从所述请求方的身份信息中获取所述请求方的标识信息和认证信息项;
基于所述请求方的标识信息在第一边缘节点的认证信息库中进行检索,以获取预先存储的与所述请求方的标识信息相对应的认证内容;
基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证。
5.根据权利要求4所述的方法,其中,基于认证内容对认证信息项进行验证,基于验证的结果对请求方进行身份认证,包括:
将认证信息项与认证内容中的每个内容项进行比对,当认证信息项与认证内容中的任意内容项相匹配时,确定验证的结果为匹配成功;当验证的结果为匹配成功时,确定对请求方进行身份认证的结果为身份认证成功;
当认证信息项与认证内容中的每个内容项均不匹配时,确定验证的结果为匹配失败;当验证结果为匹配失败时,确定对请求方进行身份认证的结果为身份认证失败。
6.根据权利要求5所述的方法,其中所述认证内容包括多个内容项,其中每个内容项包括一种类型的认证信息;
其中,将认证信息项与认证内容中的每个内容项进行比对,包括:
将认证信息项与认证内容中的每个内容项的认证信息进行比对,当认证信息项与任意内容项的认证信息相同时,确定验证的结果为匹配成功;当认证信息项与所有内容项的认证信息均不相同时,确定验证的结果为匹配失败。
7.根据权利要求1所述的方法,所述任务属性用于指示待处理任务为周期性任务或非周期性任务,其中周期性任务为在第一边缘节点的每个运行周期中均执行的任务,非周期性任务为在第一边缘节点的运行周期中随机执行的任务。
8.根据权利要求7所述的方法,其中,所述调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,包括:
以确定所述待处理任务为非周期性任务的时刻后的预定时刻为起始时刻,或以确定所述待处理任务为非周期性任务的时刻后经过一段时间的时刻为起始时刻;
记录所述第一边缘节点在起始时刻开始的第一预定时间长度内每个记录时刻的负载率,所述起始时刻为记录时刻并且所述起始时刻开始的第一预定时间长度期满时的结束时刻为记录时刻;
计算从起始时刻开始的第一预定时间长度内所有记录时刻的负载率的平均值,将所述平均值作为第一预定时间长度内第一边缘节点的平均负载率。
9.根据权利要求1或8所述的方法,还包括,将平均负载率与迁移负载率阈值进行比较,基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。
10.根据权利要求9所述的方法,其中基于比较的结果确定是否需要将所述任务处理请求所涉及的非周期性任务进行任务迁移,包括:
当平均负载率大于或等于迁移负载率阈值时,确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移;
或者,
当平均负载率小于迁移负载率阈值时,确定不需要将所述任务处理请求所涉及的非周期性任务进行任务迁移。
11.根据权利要求1所述的方法,其中,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点,包括:
第一边缘节点向辅助节点集合内的每个辅助边缘节点发送状态查询请求,以促使每个辅助边缘节点在接收到所述状态查询请求后,将各自的运行状态信息发送给所述第一边缘节点;
第一边缘节点的调度芯片对来自每个辅助边缘节点的运行状态信息进行解析,以获取每个辅助边缘节点的节点标识和过去的第二预定时间长度内的运行统计数据;
基于所述节点标识从所述第一边缘节点的存储器中获取每个辅助边缘节点的属性数据;
基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值;
将多个辅助边缘节点中状态值最大的辅助边缘节点选择作为目标边缘节点。
12.根据权利要求11所述的方法,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:
调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率;
调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量;
计算每个辅助边缘节点的状态值:
Figure 744885DEST_PATH_IMAGE001
Figure 130867DEST_PATH_IMAGE002
其中,
Figure 504079DEST_PATH_IMAGE003
为第一边缘节点的辅助节点集合内第j个辅助边缘节点的状态值、
Figure 368130DEST_PATH_IMAGE004
,j和Nnode均为自然数,Nnode为第一边缘节点的辅助节点集合内辅助边缘节点的数量并且
Figure 526710DEST_PATH_IMAGE005
Figure 614752DEST_PATH_IMAGE006
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率,
Figure 350627DEST_PATH_IMAGE007
Figure 143002DEST_PATH_IMAGE008
为调节系数,
Figure 15143DEST_PATH_IMAGE009
Figure 854180DEST_PATH_IMAGE010
Figure 77350DEST_PATH_IMAGE011
Figure 407838DEST_PATH_IMAGE012
为第j个辅助边缘节点的处理器数量。
13.根据权利要求11所述的方法,其中,基于运行统计数据和属性数据,确定每个辅助边缘节点的状态值,包括:
调度芯片基于每个辅助边缘节点的属性数据,确定每个辅助边缘节点的处理器数量、每个处理器的内核数量以及每个处理器的线程数量;
调度芯片基于每个辅助边缘节点的运行统计数据,确定每个辅助边缘节点在过去的第二预定时间长度内的平均负载率、进行任务迁移的次数、以及执行的非周期性任务的数量;其中进行任务迁移的次数为辅助边缘节点作为执行任务的边缘节点,在过去的第二预定时间长度内将自身的非周期性任务迁移到所述执行任务的边缘节点的辅助节点集合内的辅助边缘节点的次数;
基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率;
基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值;
基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,获取第二预定时间长度所包括的运行周期的数量,第二预定时间长度所包括的运行周期的数量为整数,基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度;
基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值。
14.根据权利要求12或13所述的方法,其中,每个辅助边缘节点在接收到所述状态查询请求后,对所述状态查询请求进行解析,以获取所述状态查询请求中的时间戳和时间长度值;
将所述时间戳为结束时刻并且时间长度为所述时间长度值的过去的一段时间作为所述过去的第二预定时间长度;
每个辅助边缘节点确定各自的本地存储器中存储的运行统计数据,并从运行统计数据中截取过去的第二预定时间长度内的运行统计数据;以及
基于节点标识和过去的第二预定时间长度内的运行统计数据生成运行状态信息,将所述运行状态信息发送给第一边缘节点。
15.根据权利要求13所述的方法,其中,基于平均负载率和处理器数量,确定每个辅助边缘节点的实际负载率,包括:
基于以下公式确定每个辅助边缘节点的实际负载率:
Figure 196802DEST_PATH_IMAGE013
时,
Figure 95488DEST_PATH_IMAGE014
Figure 681321DEST_PATH_IMAGE015
Figure 159707DEST_PATH_IMAGE016
时,
Figure 396653DEST_PATH_IMAGE017
Figure 200661DEST_PATH_IMAGE018
其中,
Figure 195162DEST_PATH_IMAGE019
为第j个辅助边缘节点在过去的第二预定时间长度内的实际负载率、
Figure 116719DEST_PATH_IMAGE020
为第j个辅助边缘节点在过去的第二预定时间长度内的平均负载率、
Figure 817959DEST_PATH_IMAGE021
为第j个辅助边缘节点的处理器数量并且为自然数、
Figure 183082DEST_PATH_IMAGE022
,j和Nnode均为自然数,Nnode为第一边缘节点的辅助节点集合内辅助边缘节点的数量并且
Figure 602562DEST_PATH_IMAGE023
16.根据权利要求15所述的方法,其中,基于处理器数量以及每个处理器的内核数量,确定每个辅助边缘节点的硬件参数值,包括:
基于以下公式确定每个辅助边缘节点的内核总数:
Figure 750646DEST_PATH_IMAGE024
其中,
Figure 447338DEST_PATH_IMAGE025
为第j个辅助边缘节点的内核总数、p为自然数,
Figure 858728DEST_PATH_IMAGE026
Figure 624558DEST_PATH_IMAGE027
为第j个辅助边缘节点的第p个处理器的内核数量;
确定多个辅助边缘节点的内核总数中的最大值;
计算每个辅助边缘节点的硬件参数值:
Figure 514017DEST_PATH_IMAGE028
其中,
Figure 832259DEST_PATH_IMAGE029
为第j个辅助边缘节点的硬件参数值,
Figure 211288DEST_PATH_IMAGE030
为多个辅助边缘节点的内核总数中的最大值。
17.根据权利要求16所述的方法,基于处理器数量和每个处理器的线程数量确定每个辅助边缘节点的线程总数,包括:
基于以下公式确定每个辅助边缘节点的线程总数:
Figure 605360DEST_PATH_IMAGE031
其中,
Figure 157564DEST_PATH_IMAGE032
为第j个辅助边缘节点的线程总数,
Figure 687903DEST_PATH_IMAGE033
为第j个辅助边缘节点的第p个处理器的线程数量。
18.根据权利要求17所述的方法,基于进行任务迁移的次数、线程总数、运行周期的数量以及执行的非周期性任务的数量,确定每个辅助边缘节点的任务执行度,包括:
基于以下公式确定每个辅助边缘节点的任务执行度:
Figure 316461DEST_PATH_IMAGE034
Figure 994567DEST_PATH_IMAGE035
其中,
Figure 491408DEST_PATH_IMAGE036
为第j个辅助边缘节点的任务执行度,
Figure 886DEST_PATH_IMAGE037
为第j个辅助边缘节点在过去的第二预定时间长度内的进行任务迁移的次数,为第Nperiod过去的第二预定时间长度所包括的运行周期的数量;
Figure 659401DEST_PATH_IMAGE038
为第j个辅助边缘节点在过去的第二预定时间长度内执行的非周期性任务的数量,其中Nperiod为自然数,其中K为运行周期的数量的调节参数并且K>2,W为任务迁移的次数的调节参数并且W>2。
19.根据权利要求18所述的方法,其中,基于实际负载率、硬件参数值和任务执行度,确定每个辅助边缘节点的状态值,包括:
计算每个辅助边缘节点的状态值:
Figure 401967DEST_PATH_IMAGE039
其中,
Figure 233656DEST_PATH_IMAGE040
为第j个辅助边缘节点的状态值、
Figure 4166DEST_PATH_IMAGE041
为第j个辅助边缘节点在过去的第二预定时间长度内的实际功率值、
Figure 692637DEST_PATH_IMAGE042
为第j个辅助边缘节点的硬件参数值、
Figure 548597DEST_PATH_IMAGE043
为第j个辅助边缘节点的任务执行度,其中
Figure 262606DEST_PATH_IMAGE044
Figure 418781DEST_PATH_IMAGE045
Figure 684677DEST_PATH_IMAGE046
为调节系数,
Figure 886989DEST_PATH_IMAGE047
Figure 263743DEST_PATH_IMAGE048
Figure 120097DEST_PATH_IMAGE049
Figure 556895DEST_PATH_IMAGE050
20.根据权利要求1所述的方法,还包括,当目标边缘节点从第一边缘节点接收到包括所述第一边缘节点的系统配置信息的虚拟机创建请求后,从所述虚拟机创建请求中提取所述第一边缘节点的系统配置信息;
基于所述第一边缘节点的系统配置信息,创建与所述第一边缘节点相关联的虚拟机。
21.根据权利要求1所述的方法,其中,第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,包括:
第一边缘节点的调度芯片基于请求方的网络地址和任务标识生成任务迁移记录;以及
将所述任务迁移记录存储在本地缓存中。
22.根据权利要求1所述的方法,其中,目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理,包括:
目标边缘节点在所述虚拟机中对经过修改的任务处理请求进行解析,以获取待处理任务的任务信息和第一边缘节点的网络地址;
在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,并生成待处理任务的任务处理结果,所述任务处理结果中包括待处理任务的任务标识;以及
基于第一边缘节点的网络地址将所述待处理任务的任务处理结果发送给第一边缘节点。
23.根据权利要求22所述的方法,其中在所述虚拟机中,基于待处理任务的任务信息处理所述待处理任务,包括:
在所述虚拟机中,基于待处理任务的任务信息中的任务内容执行所述待处理任务。
24.一种由调度芯片进行任务迁移的系统,所述系统包括:
提取装置,用于当第一边缘节点接收到任务处理请求时,由第一边缘节点的调度芯片从所述任务处理请求中提取待处理任务的任务信息和请求方的网络地址,所述任务信息包括:任务标识、任务属性和任务内容;
获取装置,用于当基于任务属性确定所述待处理任务为非周期性任务时,调度芯片获取第一预定时间长度内第一边缘节点的平均负载率,其中非周期性任务为不是在第一边缘节点的每个运行周期中均执行的任务;
选择装置,用于当基于平均负载率确定需要将所述任务处理请求所涉及的非周期性任务进行任务迁移时,从第一边缘节点的辅助节点集合内多个辅助边缘节点中选择目标边缘节点;
创建装置,用于将包括所述第一边缘节点的系统配置信息的虚拟机创建请求发送给所述目标边缘节点,以促使基于所述虚拟机创建请求中的系统配置信息在目标边缘节点中创建与所述第一边缘节点相关联的虚拟机;
通信装置,用于第一边缘节点的调度芯片将请求方的网络地址和任务标识存储在本地缓存中,将所述任务处理请求中的请求方的网络地址修改为第一边缘节点的网络地址,以生成经过修改的任务处理请求,将经过修改的任务处理请求发送给目标边缘节点,以促使目标边缘节点在所述虚拟机中基于经过修改的任务处理请求进行任务处理;以及当目标边缘节点基于第一边缘节点的网络地址将任务处理结果发送给第一边缘节点时,所述第一边缘节点从任务处理结果中提取任务标识,基于任务标识在本地缓存中查找请求方的网络地址,基于请求方的网络地址将所述任务处理结果发送给请求方。
25.一种由调度芯片进行任务迁移的系统,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现权利要求1-23中任一项所述的方法。
CN202211240736.7A 2022-10-11 2022-10-11 一种由调度芯片进行任务迁移的方法及系统 Active CN115309535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211240736.7A CN115309535B (zh) 2022-10-11 2022-10-11 一种由调度芯片进行任务迁移的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211240736.7A CN115309535B (zh) 2022-10-11 2022-10-11 一种由调度芯片进行任务迁移的方法及系统

Publications (2)

Publication Number Publication Date
CN115309535A CN115309535A (zh) 2022-11-08
CN115309535B true CN115309535B (zh) 2022-12-20

Family

ID=83868453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211240736.7A Active CN115309535B (zh) 2022-10-11 2022-10-11 一种由调度芯片进行任务迁移的方法及系统

Country Status (1)

Country Link
CN (1) CN115309535B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190714A (zh) * 2019-12-27 2020-05-22 西安交通大学 一种基于区块链的云计算任务调度系统及方法
US10754696B1 (en) * 2017-07-20 2020-08-25 EMC IP Holding Company LLC Scale out capacity load-balancing for backup appliances
CN113326002A (zh) * 2021-05-22 2021-08-31 清华大学 基于计算迁移的云边协同控制系统及迁移决策生成方法
CN114026834A (zh) * 2019-04-30 2022-02-08 英特尔公司 边缘计算部署中的多实体资源、安全性和服务管理
CN114398153A (zh) * 2022-01-21 2022-04-26 平安科技(深圳)有限公司 虚拟机热迁移的控制方法、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754696B1 (en) * 2017-07-20 2020-08-25 EMC IP Holding Company LLC Scale out capacity load-balancing for backup appliances
CN114026834A (zh) * 2019-04-30 2022-02-08 英特尔公司 边缘计算部署中的多实体资源、安全性和服务管理
CN111190714A (zh) * 2019-12-27 2020-05-22 西安交通大学 一种基于区块链的云计算任务调度系统及方法
CN113326002A (zh) * 2021-05-22 2021-08-31 清华大学 基于计算迁移的云边协同控制系统及迁移决策生成方法
CN114398153A (zh) * 2022-01-21 2022-04-26 平安科技(深圳)有限公司 虚拟机热迁移的控制方法、系统、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多智能体强化学习的边缘物联代理资源分配算法;缪巍巍 等;《电力信息与通信技术》;20211231;全文 *

Also Published As

Publication number Publication date
CN115309535A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
EP3848875B1 (en) Method, device, computer apparatus and storage medium for electing representative node apparatus
US10896102B2 (en) Implementing secure communication in a distributed computing system
CN110532247B (zh) 数据迁移方法和数据迁移系统
US9098351B2 (en) Energy-aware job scheduling for cluster environments
WO2019195969A1 (zh) 数据同步处理的方法和装置
US10642694B2 (en) Monitoring containers in a distributed computing system
US11194815B1 (en) Constrained query execution
CN107589951B (zh) 一种集群升级方法及装置
US11728976B1 (en) Systems and methods for efficiently serving blockchain requests using an optimized cache
WO2021042733A1 (zh) 区块链事务处理方法、装置、计算机设备及存储介质
CN112579606A (zh) 工作流数据处理方法、装置、计算机设备及存储介质
WO2021120975A1 (zh) 一种监控方法及装置
US20230052935A1 (en) Asynchronous accounting method and apparatus for blockchain, medium and electronic device
US20200026427A1 (en) System and method for handling data storage on storage devices
US20220358106A1 (en) Proxy-based database scaling
CN112615793A (zh) 一种数据限流方法及装置
CN115309535B (zh) 一种由调度芯片进行任务迁移的方法及系统
US20050071344A1 (en) Dynamic generation of XML schema for backend driven data validation
US7389410B1 (en) Automatically deriving order of initialization for computing services across multiple computing systems
CN110427296A (zh) 一种基于硬件wdt进行监测的方法、设备及可读介质
CN113946491A (zh) 微服务数据处理方法、装置、计算机设备及存储介质
Amirijoo et al. Error-driven QoS management in imprecise real-time databases
CN116781343A (zh) 一种终端可信度的评估方法、装置、系统、设备及介质
CN114003571A (zh) 数据处理方法、装置、电子设备及存储介质
Len et al. OPTIKS: An Optimized Key Transparency System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant