CN115309613B - 一种由运行监控芯片选择辅助边缘节点的方法及*** - Google Patents

一种由运行监控芯片选择辅助边缘节点的方法及*** Download PDF

Info

Publication number
CN115309613B
CN115309613B CN202211240117.8A CN202211240117A CN115309613B CN 115309613 B CN115309613 B CN 115309613B CN 202211240117 A CN202211240117 A CN 202211240117A CN 115309613 B CN115309613 B CN 115309613B
Authority
CN
China
Prior art keywords
task
edge node
operation period
periodic
period
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
CN202211240117.8A
Other languages
English (en)
Other versions
CN115309613A (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 CN202211240117.8A priority Critical patent/CN115309613B/zh
Publication of CN115309613A publication Critical patent/CN115309613A/zh
Application granted granted Critical
Publication of CN115309613B publication Critical patent/CN115309613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种由运行监控芯片选择辅助边缘节点的方法及***,涉及芯片应用技术,其中方法包括:确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度大于偏离度阈值时,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度;在相同数据域的边缘节点中选择候选边缘节点;基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从辅助节点集合中移除;以及计算每个候选边缘节点与第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点。本方案能够降低响应时间,提升数据域内边缘节点的整体处理效率。

Description

一种由运行监控芯片选择辅助边缘节点的方法及***
技术领域
本发明涉及芯片应用技术,并且更具体地,涉及一种由运行监控芯片选择辅助边缘节点的方法及***。
背景技术
目前,在边缘计算***中,为了避免每个或任意边缘节点或边缘计算节点进入长期高负载状态,并且为了使得每个或任意边缘节点在接收到无法及时处理或无法处理的任务时,能够将任务发送或迁移给其它边缘节点,可以为每个或任意边缘节点建立逻辑上的辅助边缘节点。辅助边缘节点用于对边缘节点无法及时处理或无法处理的任务进行辅助处理。然而,当特定边缘节点的运行状态发生变化时,如果不对逻辑上的辅助边缘节点进行更新或替换,那么在特定边缘节点负载较高时,辅助边缘节点的负载有可能处于较高状态。这种情况下,如果将特定边缘节点的无法及时处理或无法处理的任务发送或迁移到辅助边缘节点,则会导致这个辅助边缘节点负载过高,从而增大任务处理的响应时间,甚至导致辅助边缘节点出现任务拥塞,直至***崩溃。
发明内容
为了解决现有技术中的问题,本申请利用相邻的两个运行周期的节点运行信息,确定选定或特定的边缘节点在两个运行周期之间的运行偏离度是否大于偏离度阈值。当运行偏离度是大于偏离度阈值时,表明所述选定或特定的边缘节点的运行状态发生明显或实质性变化,例如,负载率较高的时间区间发生明显或实质性变化。为此,在获得了这种相对于现有技术具有明显技术改进的状态判断的情况下,本申请需要由运行监控芯片为选定或特定的边缘节点重新选择辅助边缘节点。
根据本发明的一个方面,提供一种由运行监控芯片选择辅助边缘节点的方法,所述方法包括:
在当前运行周期结束时,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度;
当所述运行偏离度大于偏离度阈值时,确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度;
将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点;
基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从所述辅助节点集合中移除;以及
计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中;
还包括,针对于每个运行周期:
所述运行监控芯片为所述第一边缘节点的每个周期性任务生成周期性任务记录,所述周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;
所述运行监控芯片为所述第一边缘节点中的每个非周期性任务生成非周期性任务记录,所述非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息;
所述运行监控芯片将所述第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息;以及
所述运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。
优选地,其中,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
第一边缘节点的运行监控芯片从当前运行周期的节点运行信息中,获取当前运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
运行监控芯片获取上一运行周期的节点运行信息,从上一运行周期的节点运行信息中, 获取上一运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度;
基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度;
基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度;
基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
优选地,其中,基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度,包括:
从上一运行周期的周期性任务信息获取上一运行周期的多个周期性任务记录;
从当前运行周期的周期性任务信息获取当前运行周期的多个周期性任务记录;
基于运行周期序号将上一运行周期和当前运行周期内,具有相同任务标识的两个周期性任务记录构成周期性任务记录对;
基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率;
基于周期性时间差值比率和任务权重,确定第一偏离度。
优选地,其中,基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,包括:
从每个周期性任务记录对中,提取相同周期性任务在上一运行周期内的任务开始时间和任务结束时间以及在当前运行周期内的任务开始时间和任务结束时间;
基于以下公式确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率:
Figure 269283DEST_PATH_IMAGE001
其中,
Figure 736824DEST_PATH_IMAGE002
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,PBTi为第i个周期性任务在上一运行周期内的任务开始时间;PETi为第i个周期性任务在上一运行周期内的任务结束时间;CBTi为第i个周期性任务在当前运行周期内的任务开始时间;CETi为第i个周期性任务在当前运行周期内的任务结束时间;
Figure 110036DEST_PATH_IMAGE003
,i和np均为自然数,np为周期性任务的数量。
优选地,其中,基于周期性时间差值比率和任务权重,确定第一偏离度,包括:
基于当前运行周期的多个周期性任务记录,确定每个周期性任务的任务权重;
基于以下公式确定第一偏离度:
Figure 770825DEST_PATH_IMAGE004
其中,
Figure 54038DEST_PATH_IMAGE005
为第一偏离度,
Figure 220709DEST_PATH_IMAGE006
为第i个周期性任务的任务权重。
优选地,基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度,包括:
从上一运行周期的非周期性任务信息获取上一运行周期的多个非周期性任务记录,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务;
从当前运行周期的非周期性任务信息获取当前运行周期的多个非周期性任务记录,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务;
基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值;
基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间;
基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度。
优选地,其中,基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,包括:
基于上一运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成上一运行周期的多个非周期性任务的任务并发运行图;
在上一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
优选地,其中,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间,包括:
基于当前运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成当前运行周期的多个非周期性任务的任务并发运行图;
在当前一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
优选地,其中,基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度,包括:
根据上一运行周期的负载统计信息,确定上一运行周期的每个时间单元内的负载记录,根据上一运行周期的每个时间单元内的负载记录确定根据上一运行周期的每个时间单元内的平均处理器使用率,基于上一运行周期的每个时间单元内的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量;
根据当前运行周期的负载统计信息,确定当前运行周期的每个时间单元内的负载记录,根据当前运行周期的每个时间单元内的负载记录确定根据当前运行周期的每个时间单元的平均处理器使用率,基于当前运行周期的每个时间单元的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量;
确定上一运行周期的时间单元的数量和当前运行周期的时间单元的数量;以及
基于第一时间单元数量、上一运行周期的时间单元的数量、第二时间单元数量和当前运行周期的时间单元的数量,确定第三偏离度。
优选地,其中,基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
基于以下公式确定运行偏离度
Figure 691004DEST_PATH_IMAGE007
Figure 483380DEST_PATH_IMAGE008
其中,
Figure 621100DEST_PATH_IMAGE009
为第一偏离度,
Figure 958672DEST_PATH_IMAGE010
为第二偏离度,
Figure 181843DEST_PATH_IMAGE011
为第三偏离度,
Figure 184434DEST_PATH_IMAGE012
为第一调节系数,
Figure 301294DEST_PATH_IMAGE013
为第二调节系数,
Figure 199980DEST_PATH_IMAGE014
为第三调节系数;
其中,
Figure 520234DEST_PATH_IMAGE015
Figure 264199DEST_PATH_IMAGE016
Figure 501146DEST_PATH_IMAGE017
Figure 101891DEST_PATH_IMAGE018
优选地,其中,确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取辅助节点集合中的每个辅助边缘节点的当前运行周期的负载统计信息,以基于每个辅助边缘节点的当前运行周期的负载统计信息获取每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度。
优选地,还包括,预先在所述相同数据域中为所述第一边缘节点确定相关联的辅助节点集合,所述相关联的辅助节点集合中的每个边缘节点是第一边缘节点的辅助边缘节点。
优选地,其中,将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点,包括:
将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助节点集合中的辅助边缘节点的边缘节点选择作为第一边缘节点的候选边缘节点。
优选地,其中,基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,包括:
基于第一边缘节点和每个辅助边缘节点的第一任务匹配度,确定多个第一任务匹配度的平均值和多个第一任务匹配度中的最小值;
基于以下公式确定动态匹配度阈值:
Figure 299654DEST_PATH_IMAGE019
其中,Mh为动态匹配度阈值,
Figure 719747DEST_PATH_IMAGE020
为多个第一任务匹配度的平均值,Mina为多个第一任务匹配度中的最小值。
优选地,其中,计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取每个候选边缘节点的当前运行周期的负载统计信息,以基于每个候选边缘节点当前运行周期的负载统计信息获取每个候选边缘节点当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度。
优选地,其中,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,包括:
将第二任务匹配度大于静态匹配度阈值的候选边缘节点选择作为辅助边缘节点。
优选地,还包括,当所述第一边缘节点确定需要对新接收的非周期性任务进行调度时,从相关联的辅助节点集合中的多个辅助边缘节点选择第二边缘节点;
将所述新接收的非周期性任务发送给所述第二边缘节点,从而由所述第二边缘节点对所述新接收的非周期性任务进行处理。
基于本发明实施例的另一方面,提供一种由运行监控芯片选择辅助边缘节点的***,所述***包括:
第一确定装置,用于在当前运行周期结束时,促使第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度;
第二确定装置,用于当所述运行偏离度大于偏离度阈值时,促使确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度;
选择装置,用于将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点;
移除装置,用于基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从所述辅助节点集合中移除;以及
添加装置,用于计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中;
记录装置,用于针对于每个运行周期:促使运行监控芯片为第一边缘节点的每个周期性任务生成周期性任务记录,周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;促使运行监控芯片为第一边缘节点中的每个非周期性任务生成非周期性任务记录,非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息;促使运行监控芯片将第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息;以及促使运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。
基于本发明实施例的又一方面,提供了一种由运行监控芯片选择辅助边缘节点的***,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述任一实施例所述的方法。
基于本发明实施例的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述任一实施例所述的方法。
基于本发明实施例的再一方面,提供了一种电子设备,所述电子设备包括:处理器和存储器;其中,
所述存储器,用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述任一实施例所述的方法。
基于本发明实施例的再一方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述的方法。
根据本发明实施方式的由运行监控芯片选择辅助边缘节点的方法及***、计算机可读存储介质、电子设备以及计算机程序产品,当选定或特定的边缘节点的运行偏离度是大于偏离度阈值时,由运行监控芯片为选定或特定的边缘节点重新选择辅助边缘节点。通过这种方式,本申请能够在检测到选定或特定的边缘节点的运行状态变化时,及时地为选定或特定的边缘节点更新相关联的辅助节点集合中的辅助边缘节点,例如,将不符合条件的辅助边缘节点从辅助节点集合移除并且将符合条件的候选边缘节点移入辅助节点集合。据此,本申请的技术方案保证,在选定或特定边缘节点负载较高时,辅助边缘节点的负载大概率处于较低状态。这种情况下,如果将选定或特定边缘节点的无法及时处理或无法处理的任务发送或迁移到辅助边缘节点,则会充分利用辅助边缘节点的***资源或计算资源,从而降低响应时间,使得数据域内边缘节点的整体处理效率提升。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的由运行监控芯片选择辅助边缘节点的方法的流程图;
图2为根据本发明实施方式的数据域的示意图;
图3为根据本发明实施方式的更新辅助边缘节点的示意图;
图4为根据本发明实施方式的任务执行的示意图;
图5为根据本发明实施方式的由运行监控芯片选择辅助边缘节点的***的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的由运行监控芯片选择辅助边缘节点的方法的流程图。如图1所示,方法从步骤101开始。
步骤101,在当前运行周期结束时,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
根据一个实施例,在步骤101之前,或在确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度之前,还包括,针对于每个运行周期(例如,运行周期包括,当前运行周期和上一个运行周期),进行:
运行监控芯片为第一边缘节点的每个周期性任务生成周期性任务记录,周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;运行监控芯片为第一边缘节点中的每个非周期性任务生成非周期性任务记录,非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息。其中,运行周期例如是1个自然日、7个自然日等任何合理时间长度。例如,当前运行周期为2022年6月6日0时0分0秒至2022年6月6日23时59分59秒。上一运行周期为2022年6月5日0时0分0秒至2022年6月5日23时59分59秒。周期性任务例如是,在每个运行周期内(例如,当前运行周期和上一个运行周期)重复执行的任务。例如,周期性任务可以在每个运行周期内的固定时间开始执行,并根据实际执行情况确定在不同周期内的结束执行时间。此外,周期性任务可以在每个运行周期内的不同时间开始执行,并根据实际执行情况确定在不同周期内的结束执行时间。非周期性任务例如是随机出现在任意运行周期内,或者被指定出现在任意运行周期内的任务。
运行监控芯片将第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息。负载记录例如包括:实时处理器使用率、平均处理器使用率、实时存储器空闲率和平均存储器空闲率。其中每个时间单元内的实时处理器使用率是指每个时间单元内每个采集点、采集间隔或采集粒度的处理器使用率,并且将每个时间单元内所有采集点的处理器使用率的平均值作为每个时间单元内的平均处理器使用率。每个时间单元内的实时存储器空闲率是指每个时间单元内每个采集点的存储器空闲率,并且将每个时间单元内所有采集点的存储器空闲率的平均值作为每个时间单元内的平均存储器空闲率。例如采集点、采集间隔或采集粒度为1秒、2秒、5秒等。
运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。其中,在第一边缘节点的存储器中预先设置的存储区域内存储节点运行信息,负载记录包括每个时间单元内的实时处理器使用率和每个时间单元内的平均处理器使用率。
根据一个实施例,其中,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
第一边缘节点的运行监控芯片从当前运行周期的节点运行信息中,获取当前运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;运行监控芯片(例如,在第一边缘节点的存储器中预先设置的存储区域内)获取上一运行周期的节点运行信息,从上一运行周期的节点运行信息中, 获取上一运行周期的周期性任务信息、非周期性任务信息以及负载统计信息。基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度;基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度;基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度;以及基于第一偏离度、第二偏离度和第三偏离度,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
根据一个实施例,其中,基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度,包括:从上一运行周期的周期性任务信息获取上一运行周期的多个周期性任务记录;从当前运行周期的周期性任务信息获取当前运行周期的多个周期性任务记录;基于运行周期序号将上一运行周期和当前运行周期内,具有相同任务标识的两个周期性任务记录构成周期性任务记录对。例如,上一运行周期的任务记录为:任务标识为c5、运行周期序号为上一运行周期的序号(序号例如是,20220605)、任务开始时间为2022年6月5日11时9分15秒、任务结束时间为2022年6月5日13时42分50秒以及任务权重为0.05。当前运行周期的任务记录为:任务标识为c5、运行周期序号为当前运行周期的序号(序号例如是,20220606)、任务开始时间为2022年6月6日11时19分36秒、任务结束时间为2022年6月6日14时06分23秒以及任务权重为0.05。由此可知,具有相同任务标识的两个周期性任务为相同的周期性任务,但在不同的运行周期内运行,因此具有相同任务标识的两个周期性任务的运行周期序号不同。将具有相同任务标识并且位于相邻运行周期的两个周期性任务构成周期性任务对,将这两个周期性任务的周期性任务记录构成周期性任务记录对。
在一个实施例中,基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率;基于周期性时间差值比率和任务权重,确定第一偏离度。其中,基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,包括:
从每个周期性任务记录对中,提取相同周期性任务在上一运行周期内的任务开始时间PBTi和任务结束时间PETi以及在当前运行周期内的任务开始时间CBTi和任务结束时间CETi
基于以下公式确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率:
Figure 420987DEST_PATH_IMAGE021
其中,
Figure 786109DEST_PATH_IMAGE022
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,PBTi为第i个周期性任务在上一运行周期内的任务开始时间;PETi为第i个周期性任务在上一运行周期内的任务结束时间;CBTi为第i个周期性任务在当前运行周期内的任务开始时间;CETi为第i个周期性任务在当前运行周期内的任务结束时间;
Figure 205589DEST_PATH_IMAGE023
,i和np均为自然数,np为周期性任务的数量。在本实施例中,PBTi、PETi、CBTi以及CETi的值使得
Figure 353673DEST_PATH_IMAGE024
在一个实施例中,基于周期性时间差值比率和任务权重,确定第一偏离度,包括:
基于当前运行周期的多个周期性任务记录,确定每个周期性任务的任务权重;
基于以下公式计算第一偏离度:
Figure 50365DEST_PATH_IMAGE025
其中,
Figure 461755DEST_PATH_IMAGE026
为第一偏离度,
Figure 227586DEST_PATH_IMAGE027
为第i个周期性任务的任务权重,
Figure 117044DEST_PATH_IMAGE028
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率。在实施例中,上一运行周期和当前运行周期的周期性任务的数量相同,并且上一运行周期和当前运行周期的每个周期性任务的任务标识相同。即,上一运行周期和当前运行周期内运行了相同的周期性任务。当前运行周期内,
Figure 933822DEST_PATH_IMAGE029
=1,即当前运行周期(同样地,上一运行周期)内全部周期性任务的任务权重的和为1。
在一个实施例中,基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度,包括:
从上一运行周期的非周期性任务信息获取上一运行周期的多个非周期性任务记录,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务;
从当前运行周期的非周期性任务信息获取当前运行周期的多个非周期性任务记录,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务;
基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值;
基于上一运行周期的多个非周期性任务记录和数量阈值,确定上一运行周期的至少一个高并发运行时间区间,基于当前运行周期的多个非周期性任务记录和数量阈值,确定当前运行周期的至少一个高并发运行时间区间;
基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度。
在一个实施例中,其中,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务,包括:
将上一运行周期的非周期性任务记录的数量确定为上一运行周期内非周期性任务的数量。应当了解的是,在上一运行周期中,不包括任务序列号相同的非周期性任务,因此,非周期性任务记录的数量可以被认为是上一运行周期内非周期性任务的数量。
基于上一运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于上一运行周期的每个非周期性任务的任务处理时间。例如,非周期性任务C6的开始时间为2022年6月5日11时0分0秒,结束时间为2022年6月5日12时0分0秒,则任务处理时间为2022年6月5日12时与2022年6月5日11时的差值的绝对值,即1个小时或60分钟。
在一个实施例中,将上一运行周期中任务处理时间最长的非周期性任务确定为第一非周期性任务。
在一个实施例中,其中,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务,包括:
将当前运行周期的非周期性任务记录的数量确定为当前运行周期内非周期性任务的数量;应当了解的是,在当前运行周期中,不包括任务序列号相同的非周期性任务,因此,当前运行周期的非周期性任务记录的数量可以被认为是当前运行周期内非周期性任务的数量。
基于当前运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于当前运行周期的每个非周期性任务的任务处理时间。例如,非周期性任务C5的开始时间为2022年6月6日11时0分0秒,结束时间为2022年6月6日13时0分0秒,则任务处理时间为2022年6月6日13时与2022年6月6日11时的差值的绝对值,即2个小时或120分钟。将当前运行周期中任务处理时间最长的非周期性任务确定为第二非周期性任务。
在一个实施例中,基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值,包括:
获取第一非周期性任务的任务处理时间Tt1,获取第二非周期性任务的任务处理时间Tt2;
获取上一运行周期的时间长度Tq1,获取当前运行周期的时间长度Tq2;
基于以下公式确定数量阈值:
Figure 312850DEST_PATH_IMAGE030
其中,TH为数量阈值,Tt1为第一非周期性任务的任务处理时间,Tt2为第二非周期性任务的任务处理时间,Tq1为上一运行周期的时间长度, Tq2为当前运行周期的时间长度,Tn1为上一运行周期内非周期性任务的数量,Tn2为当前运行周期内非周期性任务的数量,
Figure 706923DEST_PATH_IMAGE031
为第一时间调节因子,
Figure 524706DEST_PATH_IMAGE032
为第二时间调节因子,
Figure 55044DEST_PATH_IMAGE033
Figure 418024DEST_PATH_IMAGE034
Figure 299392DEST_PATH_IMAGE035
在一个实施例中,其中,基于上一运行周期的多个非周期性任务记录和数量阈值,确定上一运行周期的至少一个高并发运行时间区间,包括:基于上一运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成上一运行周期的多个非周期性任务的任务并发运行图,如图4所示。图4为根据本发明实施方式的任务执行的示意图,即任务并发运行图的示意图。在上一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
在图4中,示出了当前运行周期或上一运行周期的任务并发运行图或任务执行的示意图。其中开始为当前运行周期或上一运行周期的开始时间,例如2022年6月6日0点0分0秒,结束为当前运行周期或上一运行周期的结束时间,例如2022年6月6日23点59分59秒。其中周期性任务包括:周期性任务c1、c2、c3、c4、c5、c6、c7和c8;非周期性任务包括:非周期性任务a1、a2、a3、a4、a5、a6、a7、a8和a9。
如图4所示,并发运行时间区间包括:f1、f2、f3和f4,其中,并发运行时间区间f1、f2和f4的并发运行的非周期性任务的数量(f1为3、f2为4和f4为3)大于或等于3,因此f1、f2和f4为高并发运行时间区间;并且并发运行时间区间f3的并发运行的非周期性任务的数量(为2)小于3,因此f3为非高并发运行时间区间。
在一个实施例中,其中,基于当前运行周期的多个非周期性任务记录和数量阈值,确定当前运行周期的至少一个高并发运行时间区间,包括:基于当前运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成当前运行周期的多个非周期性任务的任务并发运行图,如图4所示);在当前一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
在一个实施例中,其中,基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度,包括:
从上一运行周期的至少一个高并发运行时间区间中,选择上一运行周期的时间长度最大的高并发运行时间区间,作为第一运行区间,确定第一运行区间的开始时间FB1和结束时间FE1;
从当前运行周期的至少一个高并发运行时间区间中,选择当前运行时间周期的时间长度最大的高并发运行时间区间,作为第二运行区间,确定第二运行区间的开始时间FB2和结束时间FE2;
当第一运行区间和第二运行区间不存在重叠时间时,第二偏离度
Figure 592970DEST_PATH_IMAGE036
为1;
当第一运行区间和第二运行区间存在重叠时间时,确定第一运行区间和第二运行区间之间的重叠时间长度TO;
当时
Figure 368028DEST_PATH_IMAGE037
,第二偏离度
Figure 26543DEST_PATH_IMAGE036
为0.5;
当时
Figure 97722DEST_PATH_IMAGE038
,第二偏离度
Figure 867095DEST_PATH_IMAGE039
其中,FB1为第一运行区间的开始时间,FE1为第一运行区间的结束时间,FB2为第二运行区间的开始时间,FE2为第二运行区间的结束时间,TO为第一运行区间和第二运行区间之间的重叠时间长度。
在一个实施例中,其中,基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度,包括:
根据上一运行周期的负载统计信息,确定上一运行周期的每个时间单元内的负载记录,根据上一运行周期的每个时间单元内的负载记录确定根据上一运行周期的每个时间单元内的平均处理器使用率,基于上一运行周期的每个时间单元内的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量Nt1;
根据当前运行周期的负载统计信息,确定当前运行周期的每个时间单元内的负载记录,根据当前运行周期的每个时间单元内的负载记录确定根据当前运行周期的每个时间单元的平均处理器使用率,基于当前运行周期的每个时间单元的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量Nt2;
确定上一运行周期的时间单元的数量N1和当前运行周期的时间单元的数量N2;以及
基于第一时间单元数量Nt1、上一运行周期的时间单元的数量N1、第二时间单元数量Nt2和当前运行周期的时间单元的数量N2,确定第三偏离度。
在一个实施例中,其中,基于第一时间单元数量Nt1、上一运行周期的时间单元的数量N1、第二时间单元数量Nt2和当前运行周期的时间单元的数量N2,确定第三偏离度,包括:
基于以下公式确定第三偏离度
Figure 762238DEST_PATH_IMAGE040
Figure 591654DEST_PATH_IMAGE041
Figure 244352DEST_PATH_IMAGE042
其中,Nt1为第一时间单元数量、N1为上一运行周期的时间单元的数量、Nt2为第二时间单元数量、N2为当前运行周期的时间单元的数量、
Figure 958361DEST_PATH_IMAGE043
为取
Figure 317799DEST_PATH_IMAGE044
Figure 708329DEST_PATH_IMAGE045
的最小值;
其中
Figure 520427DEST_PATH_IMAGE046
Figure 38127DEST_PATH_IMAGE047
,Nt1为平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量,Nt2平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量,N1为上一运行周期的时间单元的数量,N2为当前运行周期的时间单元的数量。
在一个实施例中,其中,基于第一偏离度、第二偏离度和第三偏离度,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
基于以下公式计算运行偏离度
Figure 517650DEST_PATH_IMAGE048
Figure 751185DEST_PATH_IMAGE049
其中,
Figure 440792DEST_PATH_IMAGE050
为第一偏离度,
Figure 621238DEST_PATH_IMAGE051
为第二偏离度,
Figure 565054DEST_PATH_IMAGE040
为第三偏离度,
Figure 172753DEST_PATH_IMAGE052
为第一调节系数,
Figure 349657DEST_PATH_IMAGE053
为第二调节系数,
Figure 864952DEST_PATH_IMAGE054
为第三调节系数。其中,
Figure 319067DEST_PATH_IMAGE055
,并且
Figure 970103DEST_PATH_IMAGE056
Figure 509669DEST_PATH_IMAGE057
并且
Figure 890972DEST_PATH_IMAGE058
步骤102,当运行偏离度大于偏离度阈值时,确定第一边缘节点和与第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度。优选地,偏离度阈值为5%、10%、12%、15%、20%和25%等任意合理数值。
在一个实施例中,其中,确定第一边缘节点和与第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取辅助节点集合中的每个辅助边缘节点的当前运行周期的负载统计信息,以基于每个辅助边缘节点的当前运行周期的负载统计信息获取每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度。
在一个实施例中,其中,基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度,包括:
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
基于每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个辅助边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NCU;
针对于每个辅助边缘节点,确定每个辅助边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NCSj
其中第二使用阈值小于第一使用阈值;
当第j个辅助边缘节点满足
Figure 199593DEST_PATH_IMAGE059
时,将第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj设置为1;
当第j个辅助边缘节点满足
Figure 24461DEST_PATH_IMAGE060
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure 582481DEST_PATH_IMAGE061
当第j个辅助边缘节点满足
Figure 908421DEST_PATH_IMAGE062
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure 196182DEST_PATH_IMAGE063
其中,
Figure 316585DEST_PATH_IMAGE064
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
步骤103,将与第一边缘节点属于相同数据域的(其它)除第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点。
在一个实施例中,还包括,预先在相同数据域中为第一边缘节点确定相关联的辅助节点集合,相关联的辅助节点集合中的每个边缘节点是第一边缘节点的辅助边缘节点,如图2所示。图2为根据本发明实施方式的数据域的示意图。在边缘计算***中,包括多个数据域。与第一边缘节点相关联的辅助节点集合中包括与第一边缘节点相关联的每个辅助边缘节点。与第一边缘节点相关联的辅助节点集合外部的边缘节点可被认为是候选边缘节点。应当了解的是,上述辅助节点集合、辅助边缘节点以及候选边缘节点是逻辑上的划分或设定。因此,数据域中的每个边缘节点均具有各自的辅助边缘节点以及候选边缘节点,并且由多个辅助边缘节点构成辅助节点集合。因此,针对于任何边缘节点(包括第一边缘节点),数据域中的边缘节点在逻辑上分为:边缘节点(自身)、边缘节点的多个辅助边缘节点以及边缘节点的多个候选边缘节点。
将与第一边缘节点属于相同数据域的(其它)除第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点,包括:将与第一边缘节点属于相同数据域的除第一边缘节点之外的所有边缘节点中,不是辅助节点集合中的辅助边缘节点的边缘节点选择作为第一边缘节点的候选边缘节点。
步骤104,基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从辅助节点集合中移除。
在一个实施例中,基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,包括:
基于第一边缘节点和每个辅助边缘节点的第一任务匹配度,确定多个第一任务匹配度的平均值
Figure 706109DEST_PATH_IMAGE065
和多个第一任务匹配度中的最小值Mina;
基于以下公式计算动态匹配度阈值Mh:
Figure 304581DEST_PATH_IMAGE066
其中,Mh为动态匹配度阈值,
Figure 446849DEST_PATH_IMAGE065
为多个第一任务匹配度的平均值,Mina为多个第一任务匹配度中的最小值。
将第一任务匹配度小于动态匹配度阈值Mh的辅助边缘节点从辅助节点集合中移除,如图3所示。图3为根据本发明实施方式的更新辅助边缘节点的示意图。
步骤105,计算每个候选边缘节点与第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中。
在一个实施例中,其中,计算每个候选边缘节点与第一边缘节点的第二任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取每个候选边缘节点的当前运行周期的负载统计信息,以基于每个候选边缘节点当前运行周期的负载统计信息获取每个候选边缘节点当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度。
在一个实施例中,其中,基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度,包括:
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
基于每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个候选边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NDU;
针对于每个候选边缘节点,确定每个候选边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NDSj
其中第二使用阈值小于第一使用阈值;
当第j个候选边缘节点满足
Figure 3733DEST_PATH_IMAGE067
时,将第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj设置为1;
当第j个候选边缘节点满足
Figure 614974DEST_PATH_IMAGE068
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure 282715DEST_PATH_IMAGE069
当第j个候选边缘节点满足
Figure 951594DEST_PATH_IMAGE070
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure 804012DEST_PATH_IMAGE071
其中,
Figure 27183DEST_PATH_IMAGE072
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
在一个实施例中,其中,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,包括:将第二任务匹配度大于静态匹配度阈值的候选边缘节点选择作为辅助边缘节点,如图3所示。
在一个实施例中,当第一边缘节点确定需要对新接收的非周期性任务进行调度时,从相关联的辅助节点集合中的多个辅助边缘节点选择第二边缘节点;将新接收的非周期性任务发送给第二边缘节点,从而由第二边缘节点对新接收的非周期性任务进行处理。
图5为根据本发明实施方式的由运行监控芯片选择辅助边缘节点的***的结构示意图。如图5所示,***包括:
第一确定装置501,用于在当前运行周期结束时,促使第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
在一个实施例,第一确定装置501具体用于促使第一边缘节点的运行监控芯片从当前运行周期的节点运行信息中,获取当前运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
促使运行监控芯片(存储器中预先设置的存储区域内)获取上一运行周期的节点运行信息,从上一运行周期的节点运行信息中, 获取上一运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度;
基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度;
基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度;
基于第一偏离度、第二偏离度和第三偏离度,确定第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
在一个实施例,第一确定装置501具体用于从上一运行周期的周期性任务信息获取上一运行周期的多个周期性任务记录;
从当前运行周期的周期性任务信息获取当前运行周期的多个周期性任务记录;
基于运行周期序号将上一运行周期和当前运行周期内,具有相同任务标识的两个周期性任务记录构成周期性任务记录对;
基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率;
基于周期性时间差值比率和任务权重,确定第一偏离度。
在一个实施例,第一确定装置501具体用于从每个周期性任务记录对中,提取相同周期性任务在上一运行周期内的任务开始时间PBTi和任务结束时间PETi以及在当前运行周期内的任务开始时间CBTi和任务结束时间CETi
基于以下公式确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率:
Figure 845753DEST_PATH_IMAGE073
其中,
Figure 837980DEST_PATH_IMAGE002
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,PBTi为第i个周期性任务在上一运行周期内的任务开始时间;PETi为第i个周期性任务在上一运行周期内的任务结束时间;CBTi为第i个周期性任务在当前运行周期内的任务开始时间;CETi为第i个周期性任务在当前运行周期内的任务结束时间;
Figure 861300DEST_PATH_IMAGE074
,i和np均为自然数,np为周期性任务的数量。
在一个实施例,第一确定装置501具体用于基于当前运行周期的多个周期性任务记录,确定每个周期性任务的任务权重;
基于以下公式计算第一偏离度:
Figure 306188DEST_PATH_IMAGE075
其中,
Figure 112470DEST_PATH_IMAGE076
为第一偏离度,
Figure 100148DEST_PATH_IMAGE077
为第i个周期性任务的任务权重,
Figure 904156DEST_PATH_IMAGE078
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率。
在一个实施例,第一确定装置501具体用于从上一运行周期的非周期性任务信息获取上一运行周期的多个非周期性任务记录,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务;
从当前运行周期的非周期性任务信息获取当前运行周期的多个非周期性任务记录,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务;
基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值;
基于上一运行周期的多个非周期性任务记录和数量阈值,确定上一运行周期的至少一个高并发运行时间区间,基于当前运行周期的多个非周期性任务记录和数量阈值,确定当前运行周期的至少一个高并发运行时间区间;
基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度。
在一个实施例,第一确定装置501具体用于将上一运行周期的非周期性任务记录的数量确定为上一运行周期内非周期性任务的数量;
基于上一运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于上一运行周期的每个非周期性任务的任务处理时间;
将上一运行周期中任务处理时间最长的非周期性任务确定为第一非周期性任务。
在一个实施例,第一确定装置501具体用于将当前运行周期的非周期性任务记录的数量确定为当前运行周期内非周期性任务的数量;
基于当前运行周期的每个非周期性任务记录中任务开始时间和任务结束时间的差值的绝对值,确定基于当前运行周期的每个非周期性任务的任务处理时间;
将当前运行周期中任务处理时间最长的非周期性任务确定为第二非周期性任务。
在一个实施例,第一确定装置501具体用于获取第一非周期性任务的任务处理时间Tt1,获取第二非周期性任务的任务处理时间Tt2;
获取上一运行周期的时间长度Tq1,获取当前运行周期的时间长度Tq2;
基于以下公式确定数量阈值:
Figure 226553DEST_PATH_IMAGE079
其中,TH为数量阈值,Tt1为第一非周期性任务的任务处理时间,Tt2为第二非周期性任务的任务处理时间,Tq1为上一运行周期的时间长度, Tq2为当前运行周期的时间长度,Tn1为上一运行周期内非周期性任务的数量,Tn2为当前运行周期内非周期性任务的数量,
Figure 508630DEST_PATH_IMAGE080
为第一时间调节因子,
Figure 350815DEST_PATH_IMAGE081
为第二时间调节因子。
在一个实施例,第一确定装置501具体用于基于上一运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成上一运行周期的多个非周期性任务的任务并发运行图;
在上一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
在一个实施例,第一确定装置501具体用于基于当前运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成当前运行周期的多个非周期性任务的任务并发运行图,参见图5;
在当前一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
在一个实施例,第一确定装置501具体用于从上一运行周期的至少一个高并发运行时间区间中,选择上一运行周期的时间长度最大的高并发运行时间区间,作为第一运行区间,确定第一运行区间的开始时间FB1和结束时间FE1;
从当前运行周期的至少一个高并发运行时间区间中,选择当前运行时间周期的时间长度最大的高并发运行时间区间,作为第二运行区间,确定第二运行区间的开始时间FB2和结束时间FE2;
当第一运行区间和第二运行区间不存在重叠时间时,第二偏离度
Figure 325724DEST_PATH_IMAGE082
为1;
当第一运行区间和第二运行区间存在重叠时间时,确定第一运行区间和第二运行区间之间的重叠时间长度TO;
Figure 135418DEST_PATH_IMAGE083
时,第二偏离度
Figure 486764DEST_PATH_IMAGE082
为0.5;
Figure 104828DEST_PATH_IMAGE084
时,第二偏离度
Figure 391584DEST_PATH_IMAGE085
在一个实施例,第一确定装置501具体用于根据上一运行周期的负载统计信息,确定上一运行周期的每个时间单元内的负载记录,根据上一运行周期的每个时间单元内的负载记录确定根据上一运行周期的每个时间单元内的平均处理器使用率,基于上一运行周期的每个时间单元内的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量Nt1;
根据当前运行周期的负载统计信息,确定当前运行周期的每个时间单元内的负载记录,根据当前运行周期的每个时间单元内的负载记录确定根据当前运行周期的每个时间单元的平均处理器使用率,基于当前运行周期的每个时间单元的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量Nt2;
确定上一运行周期的时间单元的数量N1和当前运行周期的时间单元的数量N2;以及
基于第一时间单元数量Nt1、上一运行周期的时间单元的数量N1、第二时间单元数量Nt2和当前运行周期的时间单元的数量N2,确定第三偏离度。
在一个实施例,第一确定装置501具体用于基于以下公式确定第三偏离度
Figure 298360DEST_PATH_IMAGE086
Figure 46873DEST_PATH_IMAGE087
Figure 988284DEST_PATH_IMAGE088
其中,Nt1为第一时间单元数量、N1为上一运行周期的时间单元的数量、Nt2为第二时间单元数量、N2为当前运行周期的时间单元的数量、
Figure 177432DEST_PATH_IMAGE089
为取
Figure 368242DEST_PATH_IMAGE090
Figure 61392DEST_PATH_IMAGE091
的最小值;
其中
Figure 981943DEST_PATH_IMAGE092
Figure 469556DEST_PATH_IMAGE093
在一个实施例,第一确定装置501具体用于基于以下公式计算运行偏离度
Figure 226291DEST_PATH_IMAGE094
Figure 457552DEST_PATH_IMAGE095
其中,
Figure 232610DEST_PATH_IMAGE096
为第一偏离度,
Figure 953442DEST_PATH_IMAGE097
为第二偏离度,
Figure 322106DEST_PATH_IMAGE098
为第三偏离度,
Figure 232424DEST_PATH_IMAGE099
为第一调节系数,
Figure 471776DEST_PATH_IMAGE100
为第二调节系数,
Figure 691404DEST_PATH_IMAGE101
为第三调节系数。
第二确定装置502,用于当运行偏离度大于偏离度阈值时,促使确定第一边缘节点和与第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度。偏离度阈值为5%、10%、12%、15%、20%和25%。
在一个实施例中,第二确定装置502用于促使从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取辅助节点集合中的每个辅助边缘节点的当前运行周期的负载统计信息,以基于每个辅助边缘节点的当前运行周期的负载统计信息获取每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度。
在一个实施例中,第二确定装置502用于基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
基于每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个辅助边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NCU;
针对于每个辅助边缘节点,确定每个辅助边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NCSj
其中第二使用阈值小于第一使用阈值;
当第j个辅助边缘节点满足
Figure 547365DEST_PATH_IMAGE102
时,将第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj设置为1;
当第j个辅助边缘节点满足
Figure 917166DEST_PATH_IMAGE103
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure 417549DEST_PATH_IMAGE104
当第j个辅助边缘节点满足
Figure 683445DEST_PATH_IMAGE105
时,基于以下公式计算第j个辅助边缘节点与第一边缘节点的第一任务匹配度Maj
Figure 620177DEST_PATH_IMAGE106
其中,
Figure 262511DEST_PATH_IMAGE107
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
选择装置503,用于将与第一边缘节点属于相同数据域的(其它)除第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点。在一个实施例中,还包括,预先在相同数据域中为第一边缘节点确定相关联的辅助节点集合,相关联的辅助节点集合中的每个边缘节点是第一边缘节点的辅助边缘节点。
在一个实施例中,选择装置503具体用于将与第一边缘节点属于相同数据域的除第一边缘节点之外的所有边缘节点中,不是辅助节点集合中的辅助边缘节点的边缘节点选择作为第一边缘节点的候选边缘节点。
移除装置504,用于基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从辅助节点集合中移除。
在一个实施例中,移除装置504具体用于基于第一边缘节点和每个辅助边缘节点的第一任务匹配度,确定多个第一任务匹配度的平均值
Figure 538772DEST_PATH_IMAGE108
和多个第一任务匹配度中的最小值Mina;
基于以下公式计算动态匹配度阈值Mh:
Figure 842147DEST_PATH_IMAGE109
添加装置505,用于计算每个候选边缘节点与第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中。
在一个实施例中,添加装置505具体用于从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取每个候选边缘节点的当前运行周期的负载统计信息,以基于每个候选边缘节点当前运行周期的负载统计信息获取每个候选边缘节点当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度。
在一个实施例中,添加装置505具体用于基于第一边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
基于每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定每个候选边缘节点的当前运行周期的每个时间单元内的平均处理器使用率;
针对于第一边缘节点,确定第一边缘节点在当前运行周期内平均处理器使用率大于第一使用率阈值的时间单元的数量NDU;
针对于每个候选边缘节点,确定每个候选边缘节点在当前运行周期内平均处理器使用率小于第二使用率阈值的时间单元的数量NDSj
其中第二使用阈值小于第一使用阈值;
当第j个候选边缘节点满足
Figure 407120DEST_PATH_IMAGE110
时,将第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj设置为1;
当第j个候选边缘节点满足
Figure 446620DEST_PATH_IMAGE111
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure 780650DEST_PATH_IMAGE112
当第j个候选边缘节点满足
Figure 263715DEST_PATH_IMAGE113
时,基于以下公式计算第j个候选边缘节点与第一边缘节点的第二任务匹配度Mdj
Figure 315984DEST_PATH_IMAGE114
其中,
Figure 831279DEST_PATH_IMAGE115
,j和Nnode均为自然数,Nnode为辅助节点集合中辅助边缘节点的数量。
在一个实施例中,添加装置505具体用于将第二任务匹配度大于静态匹配度阈值的候选边缘节点选择作为辅助边缘节点。
当第一边缘节点确定需要对新接收的非周期性任务进行调度时,从相关联的辅助节点集合中的多个辅助边缘节点选择第二边缘节点;将新接收的非周期性任务发送给第二边缘节点,从而由第二边缘节点对新接收的非周期性任务进行处理。
记录装置506,用于针对于每个运行周期:促使运行监控芯片为第一边缘节点的每个周期性任务生成周期性任务记录,周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;促使运行监控芯片为第一边缘节点中的每个非周期性任务生成非周期性任务记录,非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息;促使运行监控芯片将第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息;以及促使运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。
其中,在第一边缘节点的存储器中预先设置的存储区域内存储节点运行信息,负载记录包括每个时间单元内的实时处理器使用率和每个时间单元内的平均处理器使用率。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个//该[装置、组件等]”都被开放地解释为装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (19)

1.一种由运行监控芯片选择辅助边缘节点的方法,所述方法包括:
在当前运行周期结束时,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度;
当所述运行偏离度大于偏离度阈值时,确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度;
将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点;
基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从所述辅助节点集合中移除;以及
计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中;
还包括,针对于每个运行周期:
所述运行监控芯片为所述第一边缘节点的每个周期性任务生成周期性任务记录,所述周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;
所述运行监控芯片为所述第一边缘节点中的每个非周期性任务生成非周期性任务记录,所述非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息;
所述运行监控芯片将所述第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息;以及
所述运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。
2.根据权利要求1所述的方法,其中,第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
第一边缘节点的运行监控芯片从当前运行周期的节点运行信息中,获取当前运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
运行监控芯片获取上一运行周期的节点运行信息,从上一运行周期的节点运行信息中, 获取上一运行周期的周期性任务信息、非周期性任务信息以及负载统计信息;
基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度;
基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度;
基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度;
基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度。
3.根据权利要求2所述的方法,其中,基于上一运行周期的周期性任务信息和当前运行周期的周期性任务信息,确定第一偏离度,包括:
从上一运行周期的周期性任务信息获取上一运行周期的多个周期性任务记录;
从当前运行周期的周期性任务信息获取当前运行周期的多个周期性任务记录;
基于运行周期序号将上一运行周期和当前运行周期内,具有相同任务标识的两个周期性任务记录构成周期性任务记录对;
基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率;
基于周期性时间差值比率和任务权重,确定第一偏离度。
4.根据权利要求3所述的方法,其中,基于每个周期性任务记录对,确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,包括:
从每个周期性任务记录对中,提取相同周期性任务在上一运行周期内的任务开始时间和任务结束时间以及在当前运行周期内的任务开始时间和任务结束时间;
基于以下公式确定具有相同任务标识的相同周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率:
Figure 941385DEST_PATH_IMAGE001
其中,
Figure 719985DEST_PATH_IMAGE002
为第i个周期性任务在上一运行周期和当前运行周期之间的周期性时间差值比率,PBTi为第i个周期性任务在上一运行周期内的任务开始时间;PETi为第i个周期性任务在上一运行周期内的任务结束时间;CBTi为第i个周期性任务在当前运行周期内的任务开始时间;CETi为第i个周期性任务在当前运行周期内的任务结束时间;
Figure 384185DEST_PATH_IMAGE003
,i和np均为自然数,np为周期性任务的数量。
5.根据权利要求4所述的方法,其中,基于周期性时间差值比率和任务权重,确定第一偏离度,包括:
基于当前运行周期的多个周期性任务记录,确定每个周期性任务的任务权重;
基于以下公式确定第一偏离度:
Figure 906433DEST_PATH_IMAGE004
其中,
Figure 90421DEST_PATH_IMAGE005
为第一偏离度,
Figure 836660DEST_PATH_IMAGE006
为第i个周期性任务的任务权重。
6.根据权利要求2所述的方法,基于上一运行周期的非周期性任务信息和当前运行周期的非周期性任务信息,确定第二偏离度,包括:
从上一运行周期的非周期性任务信息获取上一运行周期的多个非周期性任务记录,基于上一运行周期的多个非周期性任务记录确定上一运行周期内非周期性任务的数量以及任务处理时间最长的第一非周期性任务;
从当前运行周期的非周期性任务信息获取当前运行周期的多个非周期性任务记录,基于当前运行周期的多个非周期性任务记录确定当前运行周期内非周期性任务的数量以及任务处理时间最长的第二非周期性任务;
基于上一运行周期内非周期性任务的数量和第一非周期性任务、以及当前运行周期内非周期性任务的数量和第二非周期性任务,确定数量阈值;
基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间;
基于上一运行周期的至少一个高并发运行时间区间和当前运行周期的至少一个高并发运行时间区间,确定第二偏离度。
7.根据权利要求6所述的方法,其中,基于上一运行周期的多个非周期性任务记录和所述数量阈值,确定上一运行周期的至少一个高并发运行时间区间,包括:
基于上一运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成上一运行周期的多个非周期性任务的任务并发运行图;
在上一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
8.根据权利要求6所述的方法,其中,基于当前运行周期的多个非周期性任务记录和所述数量阈值,确定当前运行周期的至少一个高并发运行时间区间,包括:
基于当前运行周期的多个非周期性任务记录中的任务开始时间和任务结束时间,生成当前运行周期的多个非周期性任务的任务并发运行图;
在当前一运行周期的任务并发运行图中,确定并发运行的非周期性任务的数量大于或等于所述数量阈值的至少一个高并发运行时间区间,确定每个高并发运行时间区间的开始时间和结束时间。
9.根据权利要求2所述的方法,其中,基于上一运行周期的负载统计信息和当前运行周期的负载统计信息,确定第三偏离度,包括:
根据上一运行周期的负载统计信息,确定上一运行周期的每个时间单元内的负载记录,根据上一运行周期的每个时间单元内的负载记录确定根据上一运行周期的每个时间单元内的平均处理器使用率,基于上一运行周期的每个时间单元内的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第一时间单元数量;
根据当前运行周期的负载统计信息,确定当前运行周期的每个时间单元内的负载记录,根据当前运行周期的每个时间单元内的负载记录确定根据当前运行周期的每个时间单元的平均处理器使用率,基于当前运行周期的每个时间单元的平均处理器使用率确定,平均处理器使用率大于使用率阈值的时间单元的第二时间单元数量;
确定上一运行周期的时间单元的数量和当前运行周期的时间单元的数量;以及
基于第一时间单元数量、上一运行周期的时间单元的数量、第二时间单元数量和当前运行周期的时间单元的数量,确定第三偏离度。
10.根据权利要求2所述的方法,其中,基于第一偏离度、第二偏离度和第三偏离度,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度,包括:
基于以下公式确定运行偏离度
Figure 597942DEST_PATH_IMAGE007
Figure 48515DEST_PATH_IMAGE008
其中,
Figure 946064DEST_PATH_IMAGE009
为第一偏离度,
Figure 933044DEST_PATH_IMAGE010
为第二偏离度,
Figure 447202DEST_PATH_IMAGE011
为第三偏离度,
Figure 435887DEST_PATH_IMAGE012
为第一调节系数,
Figure 250259DEST_PATH_IMAGE013
为第二调节系数,
Figure 807142DEST_PATH_IMAGE014
为第三调节系数;
其中,
Figure 418383DEST_PATH_IMAGE015
Figure 554966DEST_PATH_IMAGE016
Figure 817321DEST_PATH_IMAGE017
Figure 545105DEST_PATH_IMAGE018
11.根据权利要求1所述的方法,其中,确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取辅助节点集合中的每个辅助边缘节点的当前运行周期的负载统计信息,以基于每个辅助边缘节点的当前运行周期的负载统计信息获取每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个辅助边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个辅助边缘节点的第一任务匹配度。
12.根据权利要求1所述的方法,还包括,预先在所述相同数据域中为所述第一边缘节点确定相关联的辅助节点集合,所述相关联的辅助节点集合中的每个边缘节点是第一边缘节点的辅助边缘节点。
13.根据权利要求1所述的方法,其中,将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点,包括:
将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助节点集合中的辅助边缘节点的边缘节点选择作为第一边缘节点的候选边缘节点。
14.根据权利要求11所述的方法,其中,基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,包括:
基于第一边缘节点和每个辅助边缘节点的第一任务匹配度,确定多个第一任务匹配度的平均值和多个第一任务匹配度中的最小值;
基于以下公式确定动态匹配度阈值:
Figure 378063DEST_PATH_IMAGE019
其中,Mh为动态匹配度阈值,
Figure 849496DEST_PATH_IMAGE020
为多个第一任务匹配度的平均值,Mina为多个第一任务匹配度中的最小值。
15.根据权利要求1所述的方法,其中,计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,包括:
从第一边缘节点的当前运行周期的节点运行信息中获取当前运行周期的负载统计信息,根据当前运行周期的负载统计信息获取第一边缘节点的当前运行周期的每个时间单元内的负载记录,
获取每个候选边缘节点的当前运行周期的负载统计信息,以基于每个候选边缘节点当前运行周期的负载统计信息获取每个候选边缘节点当前运行周期的每个时间单元内的负载记录;
基于第一边缘节点的当前运行周期的每个时间单元内的负载记录和每个候选边缘节点的当前运行周期的每个时间单元内的负载记录,确定第一边缘节点和每个候选边缘节点的第二任务匹配度。
16.根据权利要求1所述的方法,其中,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,包括:
将第二任务匹配度大于静态匹配度阈值的候选边缘节点选择作为辅助边缘节点。
17.根据权利要求1所述的方法,还包括,当所述第一边缘节点确定需要对新接收的非周期性任务进行调度时,从相关联的辅助节点集合中的多个辅助边缘节点选择第二边缘节点;
将所述新接收的非周期性任务发送给所述第二边缘节点,从而由所述第二边缘节点对所述新接收的非周期性任务进行处理。
18.一种由运行监控芯片选择辅助边缘节点的***,所述***包括:
第一确定装置,用于在当前运行周期结束时,促使第一边缘节点的运行监控芯片基于当前运行周期的节点运行信息和上一运行周期的节点运行信息,确定所述第一边缘节点在当前运行周期和在上一运行周期之间的运行偏离度;
第二确定装置,用于当所述运行偏离度大于偏离度阈值时,促使确定第一边缘节点和与所述第一边缘节点相关联的辅助节点集合中的每个辅助边缘节点的第一任务匹配度;
选择装置,用于将与所述第一边缘节点属于相同数据域的除所述第一边缘节点之外的所有边缘节点中,不是辅助边缘节点的边缘节点选择作为候选边缘节点;
移除装置,用于基于第一边缘节点和每个辅助边缘节点的第一任务匹配度确定动态匹配度阈值,将第一任务匹配度小于动态匹配度阈值的辅助边缘节点从所述辅助节点集合中移除;以及
添加装置,用于计算每个候选边缘节点与所述第一边缘节点的第二任务匹配度,基于第二任务匹配度从多个候选边缘节点中选择至少一个辅助边缘节点,并将所选择的至少一个辅助边缘节点添加到第一边缘节点的辅助节点集合中;
记录装置,用于针对于每个运行周期:促使运行监控芯片为第一边缘节点的每个周期性任务生成周期性任务记录,周期性任务记录包括:任务标识、运行周期序号、任务开始时间、任务结束时间以及任务权重,将多个周期性任务记录构成周期性任务信息;促使运行监控芯片为第一边缘节点中的每个非周期性任务生成非周期性任务记录,非周期性任务记录包括:任务名称、任务序列号、任务开始时间及任务结束时间,将多个非周期性任务记录构成非周期性任务信息;促使运行监控芯片将第一边缘节点在运行周期的每个时间单元内的负载记录构成负载统计信息;以及促使运行监控芯片将运行周期内的周期性任务信息、非周期性任务信息和负载统计信息构成运行周期的节点运行信息。
19.一种由运行监控芯片选择辅助边缘节点的***,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现权利要求1-17中任一项所述的方法。
CN202211240117.8A 2022-10-11 2022-10-11 一种由运行监控芯片选择辅助边缘节点的方法及*** Active CN115309613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211240117.8A CN115309613B (zh) 2022-10-11 2022-10-11 一种由运行监控芯片选择辅助边缘节点的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211240117.8A CN115309613B (zh) 2022-10-11 2022-10-11 一种由运行监控芯片选择辅助边缘节点的方法及***

Publications (2)

Publication Number Publication Date
CN115309613A CN115309613A (zh) 2022-11-08
CN115309613B true CN115309613B (zh) 2022-12-06

Family

ID=83867916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211240117.8A Active CN115309613B (zh) 2022-10-11 2022-10-11 一种由运行监控芯片选择辅助边缘节点的方法及***

Country Status (1)

Country Link
CN (1) CN115309613B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266540B2 (en) * 2004-03-04 2007-09-04 International Business Machines Corporation Mechanism for dynamic workload rebalancing in a multi-nodal computer system
CN106844027A (zh) * 2017-01-13 2017-06-13 广西电网有限责任公司电力科学研究院 一种基于节点负载的任务调度方法
CN113181658A (zh) * 2021-05-20 2021-07-30 腾讯科技(深圳)有限公司 一种边缘计算节点调度方法、装置、设备以及介质
CN114077485A (zh) * 2021-11-09 2022-02-22 深圳供电局有限公司 一种物联网边缘计算节点资源的业务调度部署方法
CN115080215A (zh) * 2022-08-22 2022-09-20 中诚华隆计算机技术有限公司 由状态监控芯片在计算节点间进行任务调度的方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180198855A1 (en) * 2014-11-24 2018-07-12 Alibaba Group Holding Limited Method and apparatus for scheduling calculation tasks among clusters

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266540B2 (en) * 2004-03-04 2007-09-04 International Business Machines Corporation Mechanism for dynamic workload rebalancing in a multi-nodal computer system
CN106844027A (zh) * 2017-01-13 2017-06-13 广西电网有限责任公司电力科学研究院 一种基于节点负载的任务调度方法
CN113181658A (zh) * 2021-05-20 2021-07-30 腾讯科技(深圳)有限公司 一种边缘计算节点调度方法、装置、设备以及介质
CN114077485A (zh) * 2021-11-09 2022-02-22 深圳供电局有限公司 一种物联网边缘计算节点资源的业务调度部署方法
CN115080215A (zh) * 2022-08-22 2022-09-20 中诚华隆计算机技术有限公司 由状态监控芯片在计算节点间进行任务调度的方法及***

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3890045B2 (ja) 改善されたedfスケジューリング方法
CN104166590A (zh) 一种实现任务调度的方法及***
CN108196959B (zh) Etl***的资源管理方法及装置
US10346262B2 (en) Job management apparatus, job management method and computer readable medium to generate and execute a retry job when an error occurs during a job step
CN111381970B (zh) 集群任务的资源分配方法及装置、计算机装置及存储介质
Ouellet et al. Time-table extended-edge-finding for the cumulative constraint
CN108830712A (zh) 区块生成的方法、装置、设备和介质
CN110659137B (zh) 针对离线任务的处理资源分配方法及***
CN109388550B (zh) 一种缓存命中率确定方法、装置、设备及可读存储介质
CN112799606B (zh) Io请求的调度方法及装置
CN110609807B (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
US10248618B1 (en) Scheduling snapshots
CN115309613B (zh) 一种由运行监控芯片选择辅助边缘节点的方法及***
CN115756812A (zh) 一种资源调整方法及装置、存储介质
Chen A note on single-processor scheduling with time-dependent execution times
CN105022753B (zh) 一种数据存储方法及***
CN112416596A (zh) 一种节点调度方法、装置及设备
CN111767337B (zh) 区块的验证方法、装置及设备
CN103823711A (zh) 在Java虚拟机中提供相对定时的方法及装置
CN109359093A (zh) 一种规则文件更新方法和***
CN115309535A (zh) 一种由调度芯片进行任务迁移的方法及***
JP2017224096A (ja) チューニング方法
CN112395321A (zh) 用户id关联方法、***及批式、流式数据处理方法
US20220269533A1 (en) Storage medium, job prediction system, and job prediction method

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