天基云雾计算架构下的资源调度系统、方法和存储介质与流程

文档序号:19836203发布日期:2020-02-04 13:03阅读:657来源:国知局
天基云雾计算架构下的资源调度系统、方法和存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种天基云雾计算架构下的资源调度系统、方法和存储介质。



背景技术:

云计算是一种基于虚拟化技术的计算存储资源共享模型,是当今网络中的一种主流计算架构。它通过将用户端复杂的计算卸载到云(即数据中心)中处理,再将结果从云端发送给用户,解决了用户终端设备存储和计算资源受限的问题。然而,近年来物联网和移动应用的快速发展导致了海量数据的产生,这些数据在用户和云之间的通信一方面给网络带宽带来了沉重的负担,另一方面给用户带来了难以忍受的传输延迟和服务质量下降。此外,云计算也缺少对移动性和地理分布的支持。

为了应对上述挑战,思科在2014年发布了雾计算的概念。和由性能强大的资源集中式数据中心支撑的云计算不同,雾计算由性能较弱、分散、异构的各种计算资源组成。它的位置更接近网络边缘,介于云计算和个人计算之间。雾计算是新一代分布式计算,符合互联网的“去中心化”特征,它可以支持和促进不适合云的应用程序:(1)时延敏感型应用(如在线游戏和视频会议);(2)和地理分布紧密相关的应用(如传感器网络);(3)快速移动应用(如智能车联网);(4)大规模分布式控制应用(如智能交通控制)。自从思科提出了雾计算的概念,已经有arm、戴尔、英特尔、微软等几大科技公司以及普林斯顿大学加入了这个概念阵营,并成立了非盈利性组织开放雾联盟,旨在推广和加快雾计算的普及,促进物联网发展。

值得注意的是,雾计算的出现不是为了替代云计算,而是为了补充云计算,以减轻带宽负担和减少传输延迟。雾节点一边可以连接到用户终端,为其提供计算服务;一边可以连接到云,以便利用云的丰富功能和应用工具。这种云雾协作的两层计算架构被称云雾计算(见图1),它融合了两者的优点。目前,基于云雾计算架构的实际应用部署已成为人们进行学术研究的重要课题。

在天基计算架构研究中,为了解决时延敏感和大数据化的空间应用与星地带宽有限之间的矛盾,在软件定义卫星、虚拟化和空间网络等技术的支持下,已有一种天基云雾计算系统被提出。系统中主要包括:用户终端,用于向天基边缘云提出服务请求,并用于向天基边缘云和/或雾卫星集群传输需要计算处理的数据信息;天基边缘云,通过一调度模块获取资源条件并根据资源条件执行调度算法,以进行服务节点部署,且当服务节点部署在天基边缘云上时,执行对数据信息计算处理;雾卫星集群,用于采集数据信息,且当服务节点部署在雾卫星集群时,执行对数据信息计算处理;该计算系统能够实现对数据信息的边缘计算。

天基计算资源的特殊性表现在:(1)异构性:卫星上的计算资源包括cpu、fpga、gpu、内存等;(2)分散性:卫星计算资源分散在空间的各个位置;(3)动态性:卫星处于运动状态,空间信息网络的拓扑具有时变性。

设计适应天基云雾计算应用背景的调度算法,保证调度的高效和高可靠性,是值得研究的重点和难点。集中式云雾资源统一分配的调度系统需要实现的主要目标包括:高效利用异构资源、满足天基时延敏感和大数据应用的需求、适应动态网络连接、保证服务流的可靠性、实现系统的负载均衡等。



技术实现要素:

为了解决上述至少一个技术问题,本发明提出了一种天基云雾计算架构下的资源调度系统、方法和存储介质。

为了实现上述目的,本发明第一方面提出了一种天基云雾计算架构下的资源调度系统,所述调度系统包括:调度器、网络拓扑数据库、硬件信息数据库及亲和规则数据库;

调度器,用于负责各个应用对应的计算资源的调度;

网络拓扑数据库,其电性连接于所述调度器,并用于记录各个节点之间的连接状况及连接时长信息;

硬件信息数据库,其电性连接于所述调度器,并用于记录各个节点的硬件信息;

亲和规则数据库,其电性连接于所述调度器,并用于记录服务和节点的亲和性规则。

本方案中,所述调度系统基于用户终端、天基边缘云、地面远端云和雾卫星集群;

所述用户终端,用于向所述天基边缘云和/或雾卫星集群提出服务请求,并用于向所述天基边缘云和/或雾卫星集群传输需要计算处理的数据信息;

所述天基边缘云,用于设置调度系统,通过所述调度系统获取资源条件并根据所述资源条件执行调度算法,以进行服务节点部署,且当服务节点部署在所述天基边缘云上时,执行对所述数据信息计算处理;

所述地面远端云,用于设置亲和规则学习系统,学习系统以历史调度数据为输入,以新的亲和规则为输出,且地面远端云具有其他计算和服务的功能;

所述雾卫星集群,用于设置调度系统,通过所述调度系统获取资源条件并根据所述资源条件执行调度算法,以进行服务节点部署,且当服务节点部署在所述雾卫星集群上时,执行对所述数据信息计算处理。

本方案中,所述资源条件为任务信息、雾节点信息、云节点信息、网络连接信息、亲和规则信息的一种或几种。

本方案中,所述调度系统的作用节点包括所述天基边缘云和所述雾卫星集群中的异构资源节点,所述异构资源为cpu、gpu、fpga中的一种或几种。

本方案中,所述调度系统的调度对象是以容器形式部署的各种天基服务。

本发明第二方面还提出一种天基云雾计算架构下的资源调度方法,应用于上述的一种天基云雾计算架构下的资源调度系统,所述方法包括:

一调度系统接收用户的服务调度请求;

所调度系统获取实时云雾资源条件和数据库数据内容;

所述调度系统根据实时云雾资源条件和数据库数据内容执行调度算法,以选择最优部署节点进行部署;

在所述节点上部署应用。

本方案中,所述调度系统的位置在天基边缘云和/或雾卫星集群中,所述调度系统属于整个天基容器集群管理系统的一部分。

本方案中,所述资源条件为任务信息、雾节点信息、云节点信息、网络连接信息、亲和规则信息的一种或几种。

本方案中,所述调度系统的作用节点为异构资源节点,所述异构资源为cpu、gpu、fpga中的一种或几种。

本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种天基云雾计算架构下的资源调度方法程序,所述天基云雾计算架构下的资源调度方法程序被处理器执行时,实现如权利要求6至9中任一项所述的一种天基云雾计算架构下的资源调度方法的步骤。

本发明的调度系统包括:调度器、网络拓扑数据库、硬件信息数据库、亲和规则数据库;所述调度系统的调度对象是以容器形式部署的天基服务;所述调度系统的作用节点包括天基边缘云和雾卫星集群中的异构资源节点。本发明为所述调度系统的物理位置设计了三种部署方案并选择了其中一种。本发明能够实现对天基云异构资源和雾异构资源的统一调度,这种调度可以利用历史调度数据,具有对动态网络的适应性,能够满足各种天基应用的部署需求。

本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1示出了现有技术一种云雾计算架构的示意图;

图2示出了本发明一种天基云雾计算架构下的资源调度系统的框图;

图3示出了本发明一种天基云雾计算架构下的资源调度方法的流程图;

图4示出了本发明天基云雾计算架构下的资源调度系统安放在第一位置的示意图;

图5示出了本发明天基云雾计算架构下的资源调度系统安放在第二位置的示意图;

图6示出了本发明天基云雾计算架构下的资源调度系统安放在第三位置的示意图;

图7示出了本发明一实施例的天基云雾计算方法的流程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明设计了一种天基云雾计算架构下的资源调度系统、方法和计算机可读存储介质。所述调度系统包括:调度器、网络拓扑数据库、硬件信息数据库、亲和规则数据库。所述调度系统的调度对象是以容器形式部署的天基服务。所述调度系统的作用节点包括天基边缘云和雾卫星集群中的异构资源节点。所述调度系统的物理位置选择有三种部署方案。

图2示出了本发明一种天基云雾计算架构下的资源调度系统的框图。

如图2所示,本发明第一方面提出一种天基云雾计算架构下的资源调度系统,所述调度系统包括:调度器、网络拓扑数据库、硬件信息数据库及亲和规则数据库;

调度器,用于负责各个应用对应的计算资源的调度;

网络拓扑数据库,其电性连接于所述调度器,并用于记录各个节点之间的连接状况及连接时长信息;

硬件信息数据库,其电性连接于所述调度器,并用于记录各个节点的硬件信息;

亲和规则数据库,其电性连接于所述调度器,并用于记录服务和节点的亲和性规则。

根据本发明的实施例,所述调度系统基于用户终端、天基边缘云、地面远端云和雾卫星集群;

所述用户终端,用于向所述天基边缘云和/或雾卫星集群提出服务请求,并用于向所述天基边缘云和/或雾卫星集群传输需要计算处理的数据信息;

所述天基边缘云,用于设置调度系统,通过所述调度系统获取资源条件并根据所述资源条件执行调度算法,以进行服务节点部署,且当服务节点部署在所述天基边缘云上时,执行对所述数据信息计算处理;

所述地面远端云,用于设置亲和规则学习系统,学习系统以历史调度数据为输入,以新的亲和规则为输出,且地面远端云具有其他计算和服务的功能;

所述雾卫星集群,用于设置调度系统,通过所述调度系统获取资源条件并根据所述资源条件执行调度算法,以进行服务节点部署,且当服务节点部署在所述雾卫星集群上时,执行对所述数据信息计算处理。

根据本发明的实施例,所述资源条件为任务信息、雾节点信息、云节点信息、网络连接信息、亲和规则信息的一种或几种。

进一步的,天基边缘云的控制节点中的调度器通过通信接口或数据库获得任务信息、雾节点信息、云节点信息和网络连接信息等资源条件。

根据本发明的实施例,所述调度系统的作用节点包括所述天基边缘云和所述雾卫星集群中的异构资源节点(云计算节点和雾计算节点),所述异构资源为cpu、gpu、fpga中的一种或几种。

cpu作为通用的处理器,兼顾计算和控制,70%晶体管用来构建cache,还有一部分控制单元,用来处理复杂逻辑和提高指令的执行效率,所以导致计算通用性强,计算处理复杂度高,但计算性能一般。

gpu主要用于类似图像处理的并行计算。图形处理计算的特征表现为高密度的计算而计算需要的数据之间较少存在相关性,gpu提供大量的计算单元(多达几千个计算单元)和大量的高速内存,可以同时对很多像素进行并行处理。

gpu的设计出发点在于gpu更适用于计算强度高、多并行的计算。因此,gpu把晶体管更多用于计算单元,而不像cpu用于数据cache和流程控制器。这样的设计是因为并行计算时每个数据单元执行相同程序,不需要繁琐的流程控制而更需要高计算能力,因此也不需要大的cache容量。

fpga作为一种高性能、低功耗的可编程芯片,可以根据客户定制来做针对性的算法设计。所以在处理海量数据的时候,fpga相比于cpu和gpu,优势在于:fpga计算效率更高,fpga更接近io。

根据本发明的实施例,所述调度系统的调度对象是以docker容器形式部署的各种天基服务。

需要说明的是,docker是一个基于linux容器(lxc)技术的开源的容器引擎,为任何应用创建一个轻量级的、可移植的、自给自足的容器。docker引擎的基础是lcx技术容器有效地将单个操作系统管理的资源划分为独立的组,以更好地平衡被隔离的组之间资源使用需求的冲突。容器与虚拟化相比,无需任何特殊的解释机制就可以将指令直接在cpu本地运行,避免了指令级模拟和即时编译,同时也不需要准虚拟化和复杂的系统调用替换。docker容器的出现一定程度上解决了应用部署困难、可移植性的问题。docker源代码是使用go语言进行开发的,并且由dotcloud开发商托管到github平台上。

需要说明的是,由于调度算法的设计涉及到了天基网络的连接状况和节点的硬件信息,因此除了需要修改调度器以外,还需要添加网络拓扑数据库、硬件信息数据库和亲和规则数据库三个模块。

网络拓扑数据库记录的是各个节点之间的连接状况及连接时长信息,可采用邻接表或链表来表征。

硬件信息数据库记录的是各个节点的硬件信息,如节点cpu的频率、gpu的显存和位宽、fpga的速度等级等。

亲和规则数据库记录的是一些服务和节点的亲和性规则,采用“键-值”模式记录节点、服务、亲和规则、亲和权值等内容。这些亲和规则不仅包括历史信息,还包括将历史信息作为输入进行机器学习得到的新规则。在本实施例中,基于规则的机器学习模块位于地面远端云中。

机器学习是一门多领域交叉学科,涉及了概率论、统计学、算法复杂度等多门学科。专门研究计算机怎样模拟或实现人的学习行为,它能够发现和挖掘数据所包含的潜在价值。机器学习已经成为了人工智能的一个分支,通过自学习算法,发现和挖掘数据潜在的规律,从而对未知的数据进行预测。机器学习已经广泛的运用在计算机科学研究、自然语言处理、机器视觉、语音、游戏等领域。

机器学习的算法包括多种,主要分为三种:有监督学习、无监督学习、强化学习。本实施例所采用的机器算法为逻辑回归算法(logisticregression),该算法属于有监督学习中的一种,其通过历史数据的表现对未来结果发生的概率进行预测,该算法所运用的公式为:可以理解,本发明的其他实施例,也可以采用其他机器学习的算法,如朴素贝叶斯算法、k最近邻算法、关联规则算法、k-means算法等。

上述三个数据库并没有直接连接到通信接口模块上,而是连接到调度器。

具体缘由如下:

一、数据库的内容和容器、容器集群管理系统保持相对独立性;docker和容器集群管理系统的运行不会影响这些信息的内容变更,甚至网络拓扑数据库和硬件信息数据库还可以为云中的其他应用服务。

二、数据库内容的相对稳定性;除了故障情况外,网络拓扑数据库的内容是可以通过数学建模计算得到的;而硬件信息数据库的内容就更是从卫星入轨的时候就确定下来的信息;只有亲和规则数据库需要定期更新,但这个更新的频率也并不太快。

综上所述,三个数据库直接连接到调度器为较优选的方案,而且还可以降低模块内部的通信时延。

在云雾计算架构的天基信息网络中,雾卫星节点和空间边缘云均采用docker的轻量级虚拟化技术,并使用容器集群管理系统技术对docker容器集群进行管理。

调度器是容器集群管理系统的执行调度功能的模块,负责应用对应的计算资源的调度。调度器的输入为待调度的应用对应的计算资源和全部计算节点的信息,经过内部的调度算法和策略处理,输出为最优的节点,而后将应用对应的计算资源调度在该节点上。

天基计算资源的特殊性表现在:(1)异构性:卫星上的计算资源包括cpu、fpga、gpu、内存等;(2)分散性:卫星计算资源分散在空间的各个位置;(3)动态性:卫星处于运动状态,空间信息网络的拓扑具有时变性。针对异构性需要设计资源接口和调度算法完成对gpu、fpga资源的调度;针对分散性、动态性需要设计面向网络拓扑和连接的调度算法。

天基应用的特殊性表现在特定应用对时延要求极高。当出现了优先级极高的某种任务时,负载均衡类调度算法就不那么适合了,反而需要设计的是以计算性能为优化目标的调度算法。

本发明的天基云雾计算架构下的资源调度系统具有以下技术效果:能够实现对天基云异构资源和雾异构资源的统一调度,这种调度可以利用历史调度数据,具有对动态网络的适应性,能够满足各种天基应用的部署需求。

图3示出本发明一种天基云雾计算架构下的资源调度方法的流程图。

如图3所示,本发明第二方面还提出一种天基云雾计算架构下的资源调度方法,应用于上述天基云雾计算架构下的资源调度系统,所述方法包括:

s302,一调度系统接收用户的服务调度请求;

s304,所调度系统获取实时云雾资源条件和数据库数据内容;

s306,所述调度系统根据实时云雾资源条件和数据库数据内容执行调度算法,以选择最优部署节点进行部署;

s308,在所述节点上部署应用。

根据本发明的实施例,所述调度系统的位置可以放置在天基边缘云和/或雾卫星集群中,所述调度系统属于整个天基容器集群管理系统的一部分。

以地基云雾计算系统为参考,调度系统中的调度器位置有三种方案可选:

方案一:放置在雾代理或网关中;(见图4)

方案二:放置在云中;(见图5)

方案三:云中和雾中均放置调度器。(见图6)

在地基云雾计算系统中采用方案一的场景是比较多的,这是因为地基网络拓扑是稳定的,雾代理节点地理位置处于云和雾集群之间,属于边缘,和云、其他雾节点、用户之间的距离是非常适当的,便于接受请求、获取资源情况、部署服务,各种通信时延会比较低。但是在天基云雾计算系统中,对于某个用户节点,并不存在绝对的边缘和绝对的远端,这是由天基网络连接的动态性决定的。一个雾卫星节点,某一时刻可被用户利用,但下一时刻则可能失去连接。然而调度器必须部署在一个与用户节点连接较为稳定的节点上,在快速变化拓扑结构的网络中,在雾集群中挑选出稳定的雾代理节点是非常困难的。

方案二是将调度器部署在天基边缘云中。这种方案是比较合适的,因为天基边缘云部署在高轨,和其他卫星相比起来,无线通信的范围更广,因此能较为广泛地与卫星建立稳定连接。

方案三是在天基计算系统中实现分布式调度的一种可选方案,或许可用于解决天基网络调度系统的可拓展性问题。

根据本发明的实施例,所述资源条件为任务信息、雾节点信息、云节点信息、网络连接信息、亲和规则信息的一种或几种。

根据本发明的实施例,所述调度系统的作用节点为异构资源节点,所述异构资源为cpu、gpu、fpga中的一种或几种。

为了更好的阐述本发明的天基云雾计算架构下的资源调度方法,下面将通过一实施例进行详细说明。

如图7所示,第一步,当用户申请某种类型的服务时,首先发送请求到天基边缘云,请求的格式是yaml文件;第二步,天基边缘云的控制节点中的调度器通过通信接口或数据库获得任务信息、雾节点信息、云节点信息和网络连接信息;第三步,调度器执行调度算法,选出最优节点;第四步,调度器通过通信接口将服务绑定到选出节点上,这个节点可能在云中也可能在雾中。

到服务绑定完成,服务调度的基本流程就完成了。之后,控制节点会反馈消息给用户节点,告知服务部署位置和其他内容(如安全问题相关的内容)。之后,用户将数据传输给云中和/或雾中(取决于调度结果)进行计算处理。

需要说明的是,如果调度结果是将服务部署在了雾中,接下来的和计算相关的通信将完全发生在用户节点和雾卫星节点之间,和天基边缘云无关,从而实现了边缘计算。

本发明第三方面还提出一种计算机可读存储介质,所述计算机可读存储介质中包括一种天基云雾计算架构下的资源调度方法程序,所述天基云雾计算架构下的资源调度方法程序被处理器执行时,实现如上述的一种天基云雾计算架构下的资源调度方法的步骤。

本发明的调度系统包括:调度器、网络拓扑数据库、硬件信息数据库、亲和规则数据库;所述调度系统的调度对象是以容器形式部署的天基服务;所述调度系统的作用节点包括天基边缘云和雾卫星集群中的异构资源节点。本发明为所述调度系统的物理位置设计了三种部署方案并选择了其中一种。本发明能够实现对天基云异构资源和雾异构资源的统一调度,这种调度可以利用历史调度数据,具有对动态网络的适应性,能够满足各种天基应用的部署需求。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1