CN116755867B - 一种面向卫星云的计算资源调度系统、方法及存储介质 - Google Patents

一种面向卫星云的计算资源调度系统、方法及存储介质 Download PDF

Info

Publication number
CN116755867B
CN116755867B CN202311040579.XA CN202311040579A CN116755867B CN 116755867 B CN116755867 B CN 116755867B CN 202311040579 A CN202311040579 A CN 202311040579A CN 116755867 B CN116755867 B CN 116755867B
Authority
CN
China
Prior art keywords
satellite
task
scheduling
groups
resource
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
CN202311040579.XA
Other languages
English (en)
Other versions
CN116755867A (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.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
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 CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN202311040579.XA priority Critical patent/CN116755867B/zh
Publication of CN116755867A publication Critical patent/CN116755867A/zh
Application granted granted Critical
Publication of CN116755867B publication Critical patent/CN116755867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Abstract

本发明涉及一种面向卫星云的计算资源调度系统、方法及存储介质,所述系统具体包括:获取模块,用于获取用户提交的任务数据以及用户位置;分组管理模块,用于管理相邻卫星组之间的关系,并收集所述相邻卫星组的资源状态;任务调度模块,用于为完成所述任务数据进行计算资源的分配,将计算任务调度至相邻所述卫星组,并同时对资源池进行管理;低延迟服务迁移管理模块,用于根据所获取的所述用户位置,计算最优迁移路径,并管理服务在组内和组间迁移状态。本发明提供的系统有效提高计算资源利用率并降低任务延迟和计算成本。

Description

一种面向卫星云的计算资源调度系统、方法及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种面向卫星云的计算资源调度系统、方法及存储介质。
背景技术
近年来,随着航天技术的不断进步及商业航天的不断发展,低轨卫星网络技术逐渐成熟,使用户可以在任意位置接入高带宽、低延迟的卫星互联网网络。卫星云计算已成为信息传输和存储的重要手段之一。卫星云计算系统可以提供广泛的服务,包括通信、互联网接入、遥感数据分析等。随着卫星云计算的增长,高效的计算资源调度系统和方法显得尤为重要。而现有的资源调度系统均无法适应地理分布广泛且具备高动态时变特征的卫星网络,因此急需一种面向卫星云的计算资源调度系统及方法。
发明内容
本发明意在提供一种面向卫星云的计算资源调度系统、方法及存储介质,以解决现有技术中存在的不足,本发明要解决的技术问题通过以下技术方案来实现。
本发明提供一种面向卫星云的计算资源调度系统,具体包括:获取模块、分组管理模块、任务调度模块和低延迟服务迁移管理模块;所述获取模块,被配置于获取用户提交的任务数据以及用户位置;所述分组管理模块,被配置于管理相邻卫星组之间的关系,并收集所述相邻卫星组的资源状态;所述任务调度模块,被配置于为完成所述任务数据进行计算资源的分配,将计算任务调度至相邻所述卫星组,并同时对资源池进行管理;所述低延迟服务迁移管理模块,被配置于根据所获取的所述用户位置,计算最优迁移路径,并管理服务在组内和组间迁移状态。
相对于现有技术,本发明通过所述任务调度模块将计算任务均匀的分配给相邻的卫星组从而实现对计算资源的平均分配,有效避免卫星计算资源不足的问题,并且通过低延迟服务迁移管理模块计算最优迁移路径,管理服务在组内和组间迁移状态,从而适时调整任务资源分配,降低各任务之间的相互影响。
可选地,所述分组管理模块具体包括:注册单元,被配置于将与当前卫星组相邻的卫星组注册为当前卫星组的邻接卫星组;分组控制单元,被配置于查找或更新当前分组管理的节点及其他所述邻接卫星组的信息;邻接分组状态管理单元,被配置于收集当前分组内节点的资源信息,并向其他分组发送心跳,收集相邻卫星组的资源信息。
由此,分组管理模块的实施能够提高卫星云计算系统的资源管理和调度效率,优化卫星组间的协同计算,进一步提高系统的性能和资源利用率。
可选地,所述任务调度模块具体包括:任务管理单元,被配置于对所获取的所述任务数据进行提交和删除;资源池管理单元,被配置于分析所述计算资源并将所需计算资源分配资源池;任务分层调度单元,被配置于将资源池管理模块所分配的卫星组间的接口进行调度并实现各卫星组内调度的调度器扩展。
由此,任务调度模块的实施能够优化任务的管理和调度,提高计算资源的利用效率和任务执行效果,增强系统的稳定性和弹性。
可选地,所述低延迟服务迁移管理模块具体包括:路径生成单元,被配置于接收用户提交的任务数据,根据延迟和带宽情况生成低延迟服务生成迁移路径,并随着服务的运行不断更新路径;低延迟服务单元,被配置于控制所述卫星组内控制低延迟服务的启动和停止;服务预热单元,被配置于通过在后续迁移节点上进行提前启动。
由此,通过低延迟服务迁移管理模块,系统能够提供高可用性的低延迟服务,并优化服务迁移过程,提升用户体验和系统性能。
可选地,还包括:调度策略仿真模块,所述调度策略仿真器具体包括:任务生成单元、星历管理单元、仿真单元、调度单元与数据处理单元;任务生成单元,被配置于获取所述任务数据,生成任务负载,并映射到相应的卫星;星历管理单元,被配置于提供卫星数据,包括与地面位置的通信区间和可见卫星;仿真模块,被配置于驱动整体仿真过程的进行;调度单元,被配置于实现所述卫星组之间以及卫星内部的调度。
由此,通过调度策略仿真模块的使用,系统可以模拟和评估不同调度策略的性能,提供决策支持,并优化系统的调度策略,以达到更好的效果和性能。
可选地,所述仿真模块包括控制部门和卫星部门,所述卫星单元包括至少一个卫星组;所述控制部门,被配置于通过控制器驱动仿真过程的进行;所述卫星部门,被配置于模拟卫星组的分组状态,包括:分组内任务、邻接分组以及分组内卫星的状态。
由此,调度策略仿真模块能够帮助优化卫星组内的任务分配和调度策略,提高系统的资源利用率和效率,确保卫星与地面之间的正常通信,预测和评估不同调度策略的性能,以及发现和解决潜在问题。
本发明的另一目的在于提供一种面向卫星云的计算资源调度方法,具体包括:获取卫星星座数据,将所述卫星星座数据中至少一个相邻的卫星划分成一个卫星组;任意一个所述卫星组都配置有独立的调度器,通过对所述卫星组的调度器协作的方式进行卫星组调度任务;获取地理负载信息以及卫星运动轨迹,并对地理负载信息以及卫星运动轨迹进行预测,根据对地理负载信息以及卫星运动轨迹的预测结果将所述卫星星座的计算量进行划分,获得至少一个资源池,所述资源池包括至少一个所述卫星组;获取与地理位置无关的任务,并将其分配给空闲的所述卫星组,对所述卫星组进行初次调度,确定具体执行分组后,再通过卫星组的调度器对组内计算资源分配。
由此,该方法能够通过卫星组调度任务协作、数据划分和资源池配置、任务分配和调度优化,以及实时性和预测性的特点,提高卫星云系统的性能和效率。
本发明的另一目的在于提供一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上所述的卫星云的计算资源调度系统。
所述计算机存储介质相对于现有技术与所述卫星云的计算资源调度系统所具有的优势相同,在此不再赘述。
附图说明
图1是本发明的一种卫星云的计算资源调度系统实施例的结构示意图;
图2是本发明的一种卫星云的计算资源调度系统实施例的分组管理模块结构示意图;
图3是本发明的一种卫星云的计算资源调度系统实施例的任务调度模块结构示意图;
图4是本发明的一种卫星云的计算资源调度系统实施例的低延迟服务迁移管理模块结构示意图;
图5是本发明的一种卫星云的计算资源调度系统实施例的调度策略仿真模块结构示意图;
图6是本发明的一种卫星云的计算资源调度系统实施例的仿真单元结构示意图;
图7是本发明的一种卫星云的计算资源调度方法的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
卫星云,是一种利用卫星网络来提供云计算服务的概念。它将卫星、地面站以及云计算技术相结合,通过卫星通信传输数据和执行计算任务。卫星云的目标是为全球范围内的用户提供高速、稳定、可靠的网络连接和计算资源。在卫星云中,卫星作为数据传输和通信的关键元素,承担着将数据从地面站发送到用户终端的任务,同时也可以将用户的请求和数据传输到地面站进行处理。卫星云的地面站负责接收和处理来自卫星的数据,同时也提供运算能力和存储资源,用于处理用户的计算任务。
近年来,随着航天技术的不断进步及商业航天的不断发展,低轨卫星网络技术逐渐成熟,使用户可以在任意位置接入高带宽、低延迟的卫星互联网网络。在低轨卫星平台上进一步部署计算负载,发展大规模卫星互联网云计算平台,能够进一步提升卫星互联网的应用价值。
低轨卫星网络技术,是一种通过处于低地球轨道(LEO)的卫星组成的网络来提供通信和数据传输服务的技术。相比传统的地面通信网络和卫星通信网络,由于低轨卫星距离地球较近,相比高轨卫星,可以提供更高的带宽和更低的传输时延,并且低轨卫星网络具有较高的可靠性,由于卫星处于相对较低的轨道上,信号传输距离较短,对大气和天气的影响较小;通过星座形式的卫星网络布局,低轨卫星网络可以实现全球范围的通信覆盖。
但是现有的资源调度系统均无法适应地理分布广泛且具备高动态时变特征的卫星网络:一方面,卫星数量庞大且围绕地球均匀分布,现有系统无法高效管理卫星资源;另一方面,现有的资源分配策略难以适应卫星高速运动,且用户位置分布不均的场景。此外,由于卫星网络的成本昂贵,如何用低成本的方式实现、模拟卫星网络亟待解决。
本发明提出一种面向卫星云的计算资源调度系统,参照图1,该系统包括:获取模块、分组管理模块、任务调度模块和低延迟服务迁移管理模块;所述获取模块,被配置于获取用户提交的任务数据以及用户位置;所述分组管理模块,被配置于管理相邻卫星组之间的关系,并收集所述相邻卫星组的资源状态;所述任务调度模块,被配置于为完成所述任务数据进行计算资源的分配,将计算任务调度至相邻所述卫星组,并同时对资源池进行管理;所述低延迟服务迁移管理模块,被配置于根据所获取的所述用户位置,计算最优迁移路径,并管理服务在组内和组间迁移状态。
在一个实施例中,本发明基于资源管理框架Kubernetes进行开发。通过获取模块获取用户提交的任务数据以及用户位置。用户可以向系统提交需要进行计算的任务,并提供相应的位置信息。并通过分组管理模块管理相邻卫星组之间的关系,并收集相邻卫星组的资源状态。在卫星云中,不同的卫星组负责不同区域的数据传输和计算任务处理。分组管理模块会维护相邻卫星组的联系,并定期获取相邻卫星组的资源状态信息。任务调度模块会根据用户提交的任务和相邻卫星组的资源状态进行分析和计算,选择合适的卫星组进行任务分配,并同时对资源池进行管理。在卫星云中,用户位置的变化可能会导致服务迁移,低延迟服务迁移管理模块会根据用户位置信息和网络状况计算出最优的迁移路径,并对服务的迁移过程进行管理。低延迟服务迁移管理模块:该模块根据获取的用户位置信息,计算最优的服务迁移路径,并管理服务在组内和组间的迁移状态。
从而实现用户任务的分配和管理,提供低延迟的服务迁移,有效地提高卫星云的计算资源利用率和服务质量。同时,系统也可以根据用户位置和网络状况进行动态调整和优化。
可选地,参照图2,分组管理模块具体包括:注册单元,被配置于将与当前卫星组相邻的卫星组注册为当前卫星组的邻接卫星组;分组控制单元,被配置于查找或更新当前分组管理的节点及其他所述邻接卫星组的信息;邻接分组状态管理单元,被配置于收集当前分组内节点的资源信息,并向其他分组发送心跳,收集相邻卫星组的资源信息。
在一个实施例中,首先,注册单元将当前卫星组与其相邻的卫星组注册为邻接卫星组。并通过在卫星之间建立通信连接或交换信息来完成注册过程。首先定义了节点集群这一自定义资源类型(CRD),由于各个分组在系统内的地位相同,因此本地分组的信息也可以通过该类型记录。节点集群类型资源的结构体包含分组的唯一标识、分组中心节点地址、分组内工作节点的标识和地址以及分组的状态。其中工作节点通过卫星自定义类型记录,基于Kubernetes资源管理框架提供的自定义资源类型机制,用户可以直接通过kubectl命令或客户端库直接对资源类型进行增删改查,而相应资源的控制器通过监听资源信息变化,执行相应的操作。通过分组控制单元查找或更新当前分组管理的节点及其他邻接卫星组的信息。用于维护一个分组节点的数据结构,包含有关每个节点的状态、配置和其他相关信息。这个单元可以处理查询请求,寻找所需的节点或更新节点信息。通过skclient中封装了增删改查节点集群类型资源的接口,通过用户提供的卫星分组的描述文件信息,skclient通过访问节点集群类型的资源接口对资源进行修改。首先,各分组的中心节点调用分组内各工作节点上skagent的启动节点发现接口,该接口函数根据卫星拓扑,向四周的四个卫星节点发起获取节点信息请求,并将汇聚的4个节点集群信息返回至中心节点。中心节点根据集群Id对各节点的返回结果去重后,将非自身分组的节点集群信息通过自定义资源类型的创建接口增加到k3s内。此时,节点集群资源控制器将自动更新对应邻接分组的状态,并启动邻接分组监控组件,开始向邻接分组的中心节点发送心跳。邻接分组完成相互的发现后,每个分组内均会针对每个邻接分组启动一个节点监控协程,用于获取邻接分组的资源状态和负载预测信息。同时,每个分组在启动时还将启动节点监控指标聚合器程序,用于汇聚自身分组内的资源数据。节点监控协程以拉取信息的方式工作,定期向分组内除自身以外的节点集群获取汇聚的资源状态信息。为确保信息的实时性,节点监控指标虽然同为自定义资源类型,但通过Kubernetes扩展API机制单独提供外界读取接口。分组内每个节点资源信息与节点监控指标定义相似,包括四个分组内Pod占用资源限制{uint64,uint64}结构,分别对应总可用、正在使用、Pod申请资源和Pod资源限制。两个uint64值分别代表CPU和内存资源量,其中CPU以毫核(Milli-CPUunit)为单位,内存以KB为单位。负载预测数据包含了时间和负载比例数据。
节点集群,是指由一组互相连接并相互通信的对等节点(Peers)组成的集群。这些对等节点通常具有相同的角色和功能,并且通过网络连接进行通信和协作。节点集群的目的是实现分布式计算和数据存储的高可用性和可扩展性。每个节点在节点集群中都可以独立地进行工作,并且拥有相同的数据副本,以实现数据冗余和容错性。
kubectl命令,是用于与Kubernetes集群进行交互的命令行工具。Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。kubectl是Kubernetes的官方命令行工具,它提供了一个简单而强大的界面,用于与Kubernetes集群进行通信、管理和监控。
通过调用"启动节点发现"接口,可以使节点主动发现并连接其他对等节点,从而以建立P2P通信。
"获取节点信息" 请求用于向集群管理器、调度器或配置服务器发送请求,并获取有关集群的详细规范或配置信息的响应。该请求可以通过网络协议(如HTTP、RPC)或专用的管理接口进行发送。请求中包含一些参数,用于指定要获取的特定集群的标识符或其他相关信息。
邻接分组状态管理单元负责收集当前分组内节点的资源信息,并向其他分组发送心跳,同时收集相邻卫星组的资源信息。它可能周期性地向节点发送请求,收集节点的资源使用情况,并维护一个心跳机制来确保节点的可用性。监控指标聚合器按照一定频率获取当前集群的资源状态及负载预测模块提供的负载信息,创建节点监控指标对象并插入自身缓存队列中,同时向Kubernetes注册APIServer资源,暴露访问最新数据的获取节点监控指标接口。节点监控协程通过轮询邻接集群暴露的获取节点监控指标接口获取邻接分组的节点监控指标结构体,最终调用更新接口更新本地CRD记录。
可选地,参照图3,任务调度模块具体包括:任务管理单元,被配置于对所获取的所述任务数据进行提交和删除;资源池管理单元,被配置于分析所述计算资源并将所需计算资源分配资源池;任务分层调度单元,被配置于将资源池管理模块所分配的卫星组间的接口进行调度并实现各卫星组内Pod调度的调度器扩展。
在一个实施例中,任务管理单元:该单元负责接收、提交和删除任务数据。它与其他组件进行通信,以获取需要执行的任务数据,并将任务数据提交给资源池管理单元。通过自定义资源类型定义两种任务:地理位置无关任务及低延迟服务任务。其中,两种任务在Pod描述、提交时间、提交位置等字段上基本一致,但地理位置无关任务包含重调度次数及最终执行的分组标识信息,而低延迟服务任务包含迁移过程标识。用户可以通过skclient提供的接口向系统提交或停止任务,任务到达skagent后仅修改任务初始提交卫星标识,而后直接通过CRD提供的创建接口提交到k3s中心节点内。
资源池管理单元进行分析计算资源和进行资源分配。根据任务的要求和系统中可用的资源,评估和分配适当的计算资源给指定的任务。资源池管理单元与任务管理单元进行通信,以了解当前需要执行的任务,然后为这些任务提供所需的计算资源。在分组创建时,每个分组会在自身的k3s集群内创建自定义结构资源池资源。该资源对应的控制器启动后,首先获取当前的集群资源信息。之后控制器根据节点排序策略对所有工作节点排序,所述排序包括按卫星编号顺序排序、按资源容量排序等策略。在排序完成后,控制器根据负载预测模块提供的预测信息,启动负载监控协程更新下一次资源池调整字段,包含时间和资源池目标大小,并启动节点打标协程。打标过程即为根据资源池中的当前资源池大小和当前资源池末尾节点下标信息以及下一次资源池调整字段中的资源池目标大小,按照节点排序结果中的节点标识依次通过Kubernetes的更新方法更新工作节点标签。负载监控协程在更新下一次资源池调整字段后,还会定期采集集群资源状况信息并更新至负载预测模块。
负载监控协程,是一个监控系统负载的组件或工具。通常用于分布式系统、集群管理或任务调度等场景中,用于实时监测系统的负载情况,并根据负载情况进行相应的调整或决策。
节点打标协程,是一个在集群管理系统中用于给节点分类和标记的组件。它可以在分布式系统中的每个节点上运行,监控节点的特征和属性,并根据预定义的规则为节点打上标签。
任务分层调度单元扩展了调度器,负责对接收到的任务和资源进行合适的调度。通过自定义控制器和Kubernetes框架内的调度器扩展框架(SchedulerFramework)实现了两种任务的混合调度。它根据任务的优先级、资源需求和系统当前的状态,决定将任务调度到哪个资源池,以及在资源池内如何进行任务的调度。任务分层调度单元与资源池管理单元进行通信,获取资源池的状态和可用资源信息,并将任务与资源池上的调度器进行协调。
计算任务控制器主要负责实现地理位置无关任务的调度及跨分组负载均衡功能。当用户通过skclient提交了一个计算任务对象后,该对象的状态首先标记为输入状态,控制器将输入状态的任务对象提交到控制器内部的初次调度队列中,该队列采用Kubernetes提供的workqueue数据库实现。同时,控制器内的负载均衡协程将从该队列中取出待调度的任务对象,根据前文所述的负载均衡策略选择分组执行。若该任务需要被调度至其他分组,则控制器将会调用分组中的升级方法将任务提交到其他分组,并删除本分组内的任务。若该任务需要在本分组内执行,则控制器会修改该任务状态为PENDING。控制器内的任务调度协程将会不断轮训所有PENDING状态的任务,并将未提交的Pod通过创建接口提交至k3s集群内,等待中心调度器的调度。当任务中的Pod全部启动后,控制器将会修改任务状态为运行状态,并直至所有Pod完成后修改状态为结束。
低延迟服务控制器主要负责根据迁移管理模块提供的调度路径信息调度低延迟服务类任务。用户提交低延迟服务后,该对象状态首先被标记为INCOMING状态,控制器将为该状态的任务对象创建相应迁移过程对象,并随后标记为PENDING状态。此时控制器仅需要等待迁移过程控制器提交Pod至中心调度器,并将相应的任务对象标记为SERVING,说明该任务Pod正在集群内被调度。控制器需要不断轮训SERVING状态的任务对象,直到其状态变更为完成后删除运行的Pod与迁移过程对象。从该过程中可以看出低延迟服务控制器仅负责管理任务的状态及任务结束时的清理,不关心Pod的启动和迁移过程。由于Kubernetes中最终调度执行的单元是Pod,默认调度器并不知道Pod对应的任务类型,因此本发明基于Kubernetes的调度器框架扩展了中心调度器,使得其可以区分属于不同任务类型的Pod并采用相应的调度策略。
可选地,参照图4,低延迟服务迁移管理模块具体包括:路径生成单元,被配置于接收用户提交的任务数据,根据延迟和带宽情况生成低延迟服务生成迁移路径,并随着服务的运行不断更新路径;低延迟服务单元,被配置于控制所述卫星组内控制低延迟服务的启动和停止;服务预热单元,被配置于通过在后续迁移节点上进行提前启动。
在一个实施例中,路径生成单元被配置在接收用户提交的任务数据的节点上,并根据延迟和带宽情况生成低延迟的服务迁移路径。路径生成单元会根据这些信息选择最佳路径,并在服务的运行过程中不断更新路径。这样可以确保服务始终在迁移过程中保持低延迟,并提供高性能的服务质量。当用户提交了低延迟服务任务后,任务对象会自动创建第一个迁移过程对象。随后迁移过程控制器利用星历计算模块根据用户位置计算未来一段时间的通信区间,并根据前文所述的路径选择算法创建迁移路径信息。在确定路径中的第一个迁移路径信息指向自身分组时,控制器将修改任务对象的状态,并根据任务对象的Pod描述信息提交Pod至调度器。当到达迁移路径信息指定的结束时间时,控制器将清理上一个迁移路径信息对应的Pod,并根据新的迁移路径信息调度新的Pod。当迁移路径信息中的节点数量小于阈值时,控制器会继续计算并更新新的迁移路径。
低延迟服务单元被配置在卫星组内,用于控制低延迟服务 Pod 的启动和停止。它会根据服务迁移路径生成的信息来决定在哪些节点上启动服务 Pod。当迁移路径需要更新时,低延迟服务单元会相应地启动或停止服务 Pod,以确保服务的无感知迁移和持续的低延迟性能。
服务预热单元被配置在后续迁移节点上,用于提前启动服务。在迁移过程中,当服务即将迁移到新的节点上时,服务预热单元会在新节点上提前启动服务,并预热相关资源,以减少迁移后的服务启动时间和延迟。这样可以确保服务在迁移完成后能够立即提供稳定且低延迟的服务。
通过在后续迁移节点上提前启动Pod来降低服务迁移的开销。基于滑动窗口的思想,设置四种迁移路径信息状态:服务状态、预热状态、环境准备状态和等待状态。预热窗口头部的迁移路径信息为服务状态,该节点对应的卫星正在为用户提供服务;紧随其后的迁移路径信息处于预热状态,该节点对应的卫星需要预先启动相应服务的Pod,等待迁移后用户直接接入;窗口内的其他迁移路径信息均为环境准备状态,这些节点对应的卫星需要提前创建好迁移过程对象,并准备启动Pod所需的环境,如拉取容器镜像等;窗口外的迁移路径信息则为等待状态,这些节点对应的卫星暂时不需要执行任何操作。
当窗口中服务状态的迁移路径信息达到服务截止时间后,整个服务预热窗口向后移动一个节点,此时刚刚结束的迁移路径信息对应的迁移过程控制器会以链式的方式向后续窗口内迁移路径信息所在分组的控制器发送窗口更新。位于上一个窗口末尾的迁移路径信息所属控制器在接收到更新信息后,需要根据新的末尾迁移路径信息在相应分组内创建迁移过程对象,从而完成窗口的后移。
当迁移路径上的卫星归属于不同的分组,而分组内调度器无法直接向其他分组的卫星调度任务时,通过分组间迁移过程标识控制器的合作使任务流畅地在分组间迁移。当窗口的末尾迁移路径信息对应卫星不属于当前分组时,控制器需要在相应分组内通过创建接口创建新的迁移过程对象,并更新自身与新对象的后序迁移过程的标识及其所在分组标识与前序迁移过程的标识及其所在分组标识字段,该过程类似于在链表末尾添加节点。同时,控制器还需要将自身的迁移路径信息信息通过更新接口发送给后序迁移过程的标识及其所在分组标识。新创建的迁移过程对象若发现分组内没有对应的低延迟服务对象时会补充创建对象并调整其状态。正常情况下,随着窗口的后移,仅需要前序分组向后续分组传递迁移路径信息。但若预热阶段的Pod由于资源不足等问题无法启动,需要在最优服务卫星集合外选择卫星时,控制器需要重新生成迁移路径。此时,该控制器需要首先将新的迁移路径信息信息发送至前序迁移过程的标识及其所在分组标识,并根据新生成的后续迁移路径信息向后链式更新信息,从而实现整个迁移路径的更新。
可选地,参照图5,调度策略仿真模块,所述调度策略仿真器具体包括:任务生成模块、星历管理模块、仿真模块、调度器模块与数据处理模块;任务生成单元,被配置于获取所述任务数据,生成任务负载,并映射到相应的卫星;星历管理单元,被配置于提供卫星数据,包括与地面位置的通信区间和可见卫星;仿真单元,被配置于驱动整体仿真过程的进行;调度单元,被配置于实现所述卫星组之间以及卫星内部的调度。
在一个实施例中,仿真器通过多进程的方式模拟多个卫星集群,并通过提前生成仿真所需的任务及卫星通信区间信息提高仿真器执行速度,最终以直观的形式展示仿真结果数据。调度仿真模块通过Python技术实现,其中涉及卫星轨道和运动仿真的部分采用python-skyfield库实现。仿真器由于并不运行实际的任务,因此每个任务的定义中还包含了结束时间信息,仿真模块根据该信息判断任务是否结束,并修改相应任务和卫星的状态。注意到该信息并不暴露给调度器,因此调度器仍然按照卫星计算资源的实际状态调度任务。在仿真过程开始前,任务生成模块会根据用户输入的配置文件生成任务。其中两种任务的负载分布和任务参数可以采用不同的配置。由于每个地理划分区域内任务负载数量不同,生成任务的过程按照地理分布划分的区域逐个进行。为使生成的任务负载更加真实,本发明利用随机采样的思想生成每个任务的到达时间。首先,根据归一化的负载位置和时间分布信息,乘以每日任务总量可以得到每个区域每小时的任务数量。根据该数量可以得到任务在该小时内的平均到达间隔。由于任务的到达时间服从泊松分布,相邻任务到达的间隔服从以λ为参数的指数分布,其中λ的含义是任务到达的频率,则平均到达间隔的值即为1/λ。根据随机采样的思想,可以利用任务的平均到达间隔生成一组服从该指数分布的随机变量。利用这种方法可以生成每个小时内每个任务的到达间隔,从而确定任务的到达时间。
仿真模块的目标是根据用户输入的配置,在特定卫星场景下根据调度策略模拟执行生成的任务,并最终输出任务执行的整体情况。环境准备阶段首先需要生成任务负载及卫星星座信息,其中任务负载生成如前文所述,卫星星座信息生成即为根据用户配置,生成对应数量的卫星对象及每个卫星的可用资源,并根据分组策略将卫星提前分组,创建多个卫星分组对象。其次,由于任务提交时首先到达每个分组的中心节点,该阶段需要将每个任务根据其提交时间和地点分配至不同的分组对象。考虑到该步骤耗时较长,且在对比调度策略时卫星环境与负载均固定,因此本阶段还会将任务-分组映射缓存,当后续仿真采用了相同的任务负载集和卫星配置时即可直接跳过该步骤。最后,该阶段还将根据任务集中的地理位置和时间信息,生成每个低延迟服务任务所需的卫星通信区间信息并缓存在文件中,运行时仿真器将文件载入内存并查找即可减少计算量。
仿真阶段即为根据调度策略将任务调度到卫星上模拟执行,并记录执行数据。本发明采用事件仿真的模式,将调度器中可能发生的事件放入按时间排序的优先队列中。控制器在仿真开始后,依次从队列头部取出当前时间最早的事件,步进仿真器时间,并调用该事件的处理函数。在事件处理过程中,若有新的事件产生,则新事件将由控制器重新插入到优先队列中。仿真器中的事件可以被分为两类:任务仿真事件与统计数据事件。任务仿真事件主要负责任务执行过程的仿真,如任务的启动与结束、低延迟服务迁移等;统计数据事件主要负责统计集群负载和任务执行状况。具体的事件包括以下几种:
任务提交:表示任务提交至集群。任务提交后控制器将任务发送至调度模块。对于地理无关计算任务,则调度模块根据分组间调度策略选择一个分组,之后交由分组内调度器调度任务中的Pod。若此时Pod成功启动,则生成Pod执行结束事件并插入事件队列,若未启动则插入集群的任务等待队列中。对于低延迟服务任务,控制器将任务发送至服务迁移管理模块并生成迁移路径,并将Pod发送至分组内调度器进行调度,最后生成低延迟服务执行结束事件插入事件队列。
Pod执行结束:当Pod执行结束后需要释放占用的计算资源,并修改对应任务的执行状态。
低延迟服务执行结束:清理该服务对应的所有运行中Pod和预热Pod,并统计服务执行信息。
低延迟服务迁移:该事件由服务迁移模块在任务提交时生成,服务迁移模块需要根据该事件指明的下一个服务卫星,将Pod提交至对应分组的调度器内,并关闭上一个服务完毕的Pod。
更新资源池:表示更新集群内资源池。对于本发明提出的调度策略,需要根据卫星的位置及时更新分组内资源池划分情况。
用户接入卫星变更:对于每一个低延迟服务,控制器都会生成一系列用户接入变更事件,处理该事件时系统将统计该事件距离上一次切换过程中用户接入服务的延迟。
状态采集:表示采集集群负载状态。系统在启动时将根据间隔要求批量生成该事件,用于在仿真过程中采集集群的负载信息。
可选地,参照图6,仿真单元包括:控制部门和卫星部门,所述卫星单元包括至少一个卫星组;所述控制部门,被配置于通过控制器驱动仿真过程的进行;所述卫星部门,被配置于模拟卫星组的分组状态,包括:分组内任务、邻接分组以及分组内卫星的状态。
在一个实施例中,控制部门通过控制器驱动仿真过程的节点上。它负责控制和监督整个仿真过程的执行。控制部门可能根据预先设定的策略或算法,包括调度算法、资源管理算法等来制定和调整任务分配和卫星调度的决策。控制部门可能根据任务生成模块和星历管理模块的输入来进行决策,并将这些决策传达给卫星部门。卫星部门负责模拟卫星组的状态和行为。卫星部门包括分组内任务、邻接分组以及分组内卫星的状态。分组内任务指的是被分配给卫星组内部卫星的任务,邻接分组是指与当前卫星组有协作或竞争关系的其他卫星组,分组内卫星的状态指的是卫星组内各个卫星的运行状态和资源利用情况等。
通过控制部门和卫星部门的协同工作,仿真模块可以模拟和评估不同调度策略在不同负载下的性能和效果。这有助于优化实际系统的调度策略,并提高卫星的任务执行能力和资源利用效率。
在另一个实施例中,参照图7,本发明还提供一种面向卫星云的计算资源调度方法,包括:获取卫星星座数据,将所述卫星星座数据中至少一个相邻的卫星划分成一个卫星组;任意一个所述卫星组都配置有独立的调度器,通过对所述卫星组的调度器协作的方式进行卫星组调度任务;获取地理负载信息以及卫星运动轨迹,并对地理负载信息以及卫星运动轨迹进行预测,根据对地理负载信息以及卫星运动轨迹的预测结果将所述卫星星座的计算量进行划分,获得至少一个资源池,所述资源池包括至少一个所述卫星组;获取与地理位置无关的任务,并将其分配给空闲的所述卫星组,对所述卫星组进行初次调度,确定具体执行分组后,再通过卫星组的调度器对组内计算资源分配。
获取卫星星座数据,将至少一个相邻的卫星划分为一个卫星组。通过这种方式,将卫星星座划分为多个卫星组,每个卫星组都具有一定数量的卫星。为每个卫星组配置独立的调度器,并通过调度器之间的协作来完成卫星组的调度任务。这些调度器可以根据任务的优先级、卫星运动轨迹、卫星组的负载情况等因素进行任务分配和调度。获取地理负载信息和卫星运动轨迹,并对它们进行预测。预测可以基于历史数据、机器学习算法等方法进行,目的是根据预测结果来确定计算量划分和资源利用策略。划分计算量并创建资源池:根据对地理负载信息和卫星运动轨迹的预测结果,将卫星星座的计算量进行划分,创建至少一个资源池。每个资源池包含一个或多个卫星组,可以根据计算量的需求和资源的可用性进行动态调整。获取与地理位置无关的任务,并将其分配给空闲的卫星组。对于新分配的任务,对所选卫星组进行初次调度,确保任务在卫星组内得到合理的分配和调度。
通过以上步骤,可以实现对卫星云中计算资源的有效调度和管理,以提高资源利用率和任务执行效率。这种方法可以适应不同地理位置、不同负载情况和卫星运动轨迹的变化,并提供灵活的资源池和调度策略。
可选地,还包括:通过中心式的资源调度方式,对卫星组组内的卫星节点进行管理。
在一个实施例中,通过引入一个中心式的调度器来管理卫星组内的卫星节点。该调度器具有全局的视野和资源控制能力,可以根据任务需求和系统状态进行全局的资源调度和管理。卫星组内的每个节点会定期向中心式调度器发送资源监控信息和状态更新。这些信息可以包括节点的运行状态、计算资源利用率、负载情况等。中心式调度器会实时获取和更新这些信息。中心式调度器根据任务的优先级、节点的资源利用率、任务执行时间等因素,进行任务的分配和调度。它会根据系统状态和资源情况,选择合适的节点来执行任务,并将任务分配给这些节点。中心式调度器可以根据当前系统的资源利用情况和预测的资源需求,进行资源的动态调整和优化。它可以根据任务的类型和优先级,调整节点之间的资源分配比例,以提高系统的整体性能和效率。中心式调度器会实时监控卫星组内各个节点的运行状态和任务执行情况。如果发现节点出现故障或者执行任务超时等情况,调度器会及时做出相应的调整和处理。
从而实现对卫星组内的卫星节点进行统一的管理、资源调度和优化。可以最大化地利用卫星组的计算资源,有效地提高系统的整体性能和效率。
在另一个实施例中,本发明还提供一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上所述的面向卫星云的计算资源调度系统。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
应该指出,上述详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语均具有与本申请所属技术领域的普通技术人员的通常理解所相同的含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在上面详细的说明中,参考了附图,附图形成本文的一部分。在附图中,类似的符号典型地确定类似的部件,除非上下文以其他方式指明。在详细的说明书、附图及权利要求书中所描述的图示说明的实施方案不意味是限制性的。在不脱离本文所呈现的主题的精神或范围下,其他实施方案可以被使用,并且可以作其他改变。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种面向卫星云的计算资源调度方法,其特征在于,所述方法包括:
获取卫星星座数据,将所述卫星星座数据中至少一个相邻的卫星划分成一个卫星组;
任意一个所述卫星组都配置有独立的调度器,通过对所述卫星组的调度器协作的方式进行卫星组调度任务;
获取地理负载信息以及卫星运动轨迹,并对地理负载信息以及卫星运动轨迹进行预测,根据对地理负载信息以及卫星运动轨迹的预测结果将所述卫星星座的计算量进行划分,获得至少一个资源池,所述资源池包括至少一个所述卫星组;
获取与地理位置无关的任务,并将其分配给空闲的所述卫星组,对所述卫星组进行初次调度,确定具体执行分组后,再通过卫星组的调度器对组内计算资源分配。
2.根据权利要求1所述的面向卫星云的计算资源调度方法,其特征在于,还包括:通过中心式的资源调度方式,对卫星组组内的卫星节点进行管理。
3.一种运行权利要求1所述面向卫星云的计算资源调度方法的系统,其特征在于,所述系统包括:获取模块、分组管理模块、任务调度模块和低延迟服务迁移管理模块;
所述获取模块,被配置于获取用户提交的任务数据以及用户位置;
所述分组管理模块,被配置于管理相邻卫星组之间的关系,并收集所述相邻卫星组的资源状态;
所述任务调度模块,被配置于为完成所述任务数据进行计算资源的分配,将计算任务调度至相邻所述卫星组,并同时对资源池进行管理;
所述低延迟服务迁移管理模块,被配置于根据所获取的所述用户位置,计算最优迁移路径,并管理服务在组内和组间迁移状态。
4.根据权利要求3所述的系统,其特征在于,所述分组管理模块具体包括:
注册单元,被配置于将与当前卫星组相邻的卫星组注册为当前卫星组的邻接卫星组;
分组控制单元,被配置于查找或更新当前分组管理的节点及其他所述邻接卫星组的信息;
邻接分组状态管理单元,被配置于收集当前分组内节点的资源信息,并向其他分组发送心跳,收集相邻卫星组的资源信息。
5.根据权利要求3所述的系统,其特征在于,所述任务调度模块具体包括:
任务管理单元,被配置于对所获取的所述任务数据进行提交和删除;
资源池管理单元,被配置于分析所述计算资源并将所需计算资源分配资源池;
任务分层调度单元,被配置于将资源池管理单元所分配的卫星组间的接口进行调度并实现各卫星组内调度的调度器扩展。
6.根据权利要求3所述的系统,其特征在于,所述低延迟服务迁移管理模块具体包括:
路径生成单元,被配置于接收用户提交的任务数据,根据延迟和带宽情况生成低延迟服务生成迁移路径,并随着服务的运行不断更新路径;
低延迟服务单元,被配置于控制所述卫星组内控制低延迟服务的启动和停止;
服务预热单元,被配置于通过在后续迁移节点上进行提前启动。
7.根据权利要求3所述的系统,其特征在于,还包括:调度策略仿真模块,所述调度策略仿真模块具体包括:任务生成单元、星历管理单元、仿真单元、调度单元与数据处理单元;
任务生成单元,被配置于获取所述任务数据,生成任务负载,并映射到相应的卫星;
星历管理单元,被配置于提供卫星数据,包括与地面位置的通信区间和可见卫星;
仿真单元,被配置于驱动整体仿真过程的进行;
调度单元,被配置于实现所述卫星组之间以及卫星内部的调度。
8.根据权利要求7所述的系统,其特征在于,所述仿真模块包括控制部门和卫星部门,所述卫星部门包括至少一个卫星组;
所述控制部门,被配置于通过控制器驱动仿真过程的进行;
所述卫星部门,被配置于模拟卫星组的分组状态,包括:分组内任务、邻接分组以及分组内卫星的状态。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如权利要求1或2所述的面向卫星云的计算资源调度方法。
CN202311040579.XA 2023-08-18 2023-08-18 一种面向卫星云的计算资源调度系统、方法及存储介质 Active CN116755867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311040579.XA CN116755867B (zh) 2023-08-18 2023-08-18 一种面向卫星云的计算资源调度系统、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311040579.XA CN116755867B (zh) 2023-08-18 2023-08-18 一种面向卫星云的计算资源调度系统、方法及存储介质

Publications (2)

Publication Number Publication Date
CN116755867A CN116755867A (zh) 2023-09-15
CN116755867B true CN116755867B (zh) 2024-03-08

Family

ID=87953680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311040579.XA Active CN116755867B (zh) 2023-08-18 2023-08-18 一种面向卫星云的计算资源调度系统、方法及存储介质

Country Status (1)

Country Link
CN (1) CN116755867B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117200872B (zh) * 2023-11-07 2024-02-27 中国人民解放军军事科学院国防科技创新研究院 一种多星协同的动态微云组建方法及分布式微云系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022021176A1 (zh) * 2020-07-28 2022-02-03 苏州大学 云边协同网络资源平滑迁移与重构方法及系统
CN115866788A (zh) * 2022-11-18 2023-03-28 北京理工大学 面向mec任务主动迁移的天地融合网络3c资源调度方法
CN116318326A (zh) * 2023-01-09 2023-06-23 西安电子科技大学 一种支持遥感星座容错恢复的星载网络化计算系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7310378B2 (ja) * 2019-07-08 2023-07-19 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022021176A1 (zh) * 2020-07-28 2022-02-03 苏州大学 云边协同网络资源平滑迁移与重构方法及系统
CN115866788A (zh) * 2022-11-18 2023-03-28 北京理工大学 面向mec任务主动迁移的天地融合网络3c资源调度方法
CN116318326A (zh) * 2023-01-09 2023-06-23 西安电子科技大学 一种支持遥感星座容错恢复的星载网络化计算系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于软件定义组播技术的低轨卫星互联网的带宽资源管理;彭燕燕;《CNKI中国知网》(第01期);第1-72页 *

Also Published As

Publication number Publication date
CN116755867A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN113364850B (zh) 软件定义云边协同网络能耗优化方法和系统
CN109491790A (zh) 基于容器的工业物联网边缘计算资源分配方法及系统
CN112600717B (zh) 基于sdn的卫星网络管控协议半实物试验装置
CN107615792B (zh) 用于mtc事件的管理方法与系统
Renart et al. Distributed operator placement for IoT data analytics across edge and cloud resources
CN116755867B (zh) 一种面向卫星云的计算资源调度系统、方法及存储介质
CN109947574B (zh) 一种基于雾网络的车辆大数据计算卸载方法
CN108449383A (zh) 分布式实时移动微云计算系统
CN113452956B (zh) 一种输电线路巡检任务智能分配方法及系统
KR102508504B1 (ko) 기계 학습 기반의 무인항공기 모바일 엣지 서버 간 협업 태스크 매칭 및 오프로딩 방법
CN111541760A (zh) 基于无服务器雾计算系统架构的复杂任务分配方法
CN110069341A (zh) 边缘计算中结合功能按需配置的有依赖关系任务的调度方法
CN111432005B (zh) 一种窄带弱连网络条件下服务迁移的方法
Jazayeri et al. A latency-aware and energy-efficient computation offloading in mobile fog computing: a hidden Markov model-based approach
CN109819032A (zh) 一种联合考虑基站选择与计算迁移的云机器人任务分配方法
CN109343945A (zh) 一种基于合同网算法的多任务动态分配方法
CN113157459A (zh) 一种基于云服务的负载信息处理方法及系统
Han et al. EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources
Anglano et al. Online user-driven task scheduling for femtoclouds
CN114490049A (zh) 在容器化边缘计算中自动分配资源的方法及系统
Almurshed et al. Adaptive edge-cloud environments for rural AI
CN113190342A (zh) 用于云-边协同网络的多应用细粒度卸载的方法与系统架构
Gu et al. AI-Enhanced Cloud-Edge-Terminal Collaborative Network: Survey, Applications, and Future Directions
Cao et al. Performance and stability of application placement in mobile edge computing system
Vieira Fog and cloud computing optimization in mobile iot environments

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