掌桥专利:专业的专利平台
掌桥专利
首页

一种适用于工程机械的云仿真方法和系统

文献发布时间:2023-06-19 18:37:28


一种适用于工程机械的云仿真方法和系统

技术领域

本发明涉及工程机械应用服务技术领域,特别是一种适用于工程机械的云仿真方法和系统。

背景技术

云是以互联网为基础,对基于网络连接的资源统一进行管理和调度,构成一个服务资源池,为基于互联网的应用服务提供可靠、安全、容错、可持续、可扩展的基础设施,向用户提供按需服务。云计算需要满足不同用户在不同时间点的服务请求,这些请求有着不同的配置、部署条件和服务资源数量。在多维因素的影响下,如何科学地对虚拟资源进行调度就显得尤为重要,而在实际的云计算数据中心配置不同参数进行测试是不现实的。由于不同的应用可能存在不同的组成、配置和部署要求,云端基础设施上的应用及服务模型的负载、能源性能和系统规模都在不断变化,它的首要目标是在云基础设施(软件、硬件、服务)上,对不同应用和服务模型的调度和分配策略的性能进行量化和比较,以达到控制使用云计算资源的目的。

当前,云仿真大部分研究工作都集中在云资源管理策略的设计上,而没有关注仿真平台本身的性能与优化,导致由仿真平台缺陷带来的系统资源利用率和运行效率较低,资源无法被高效及充分利用。而且在工程机械领域尚未将工程机械中的动力系统在云端进行集成,无法进行相应的云仿真。

发明内容

本发明的目的是提供一种适用于工程机械的云仿真方法和系统,提升对用户服务请求的响应效率,以及云资源的利用率。本发明采用的技术方案如下。

一方面,本发明提供一种适用于工程机械的云仿真方法,包括:

获取仿真任务信息;

统计接收到的仿真任务数量,与虚拟机数量进行比较;

若仿真任务数量小于或等于虚拟机数量,则将各仿真任务分别分配至一个虚拟机进行仿真计算;

若仿真任务数量大于虚拟机数量,则利用预设的仿真任务评估函数对各仿真任务进行任务评估;

根据任务评估结果对所有仿真任务进行任务大小排序,根据虚拟机的数量将相应数量的任务评估结果较小的仿真任务分别分配给各虚拟机;

对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机。

上述具备相应仿真计算能力的虚拟机,也即该虚拟机虽已被分配仿真任务,但负载较小或者先分配任务已经处理完毕,因此具备与待分配仿真任务相适应的仿真计算能力。

可选的,所述获取仿真任务信息包括:

接收用户输入的工程机械仿真指令,所述工程机械仿真指令包括仿真对象类型以及仿真变量参数信息,仿真对象类型信息包括工程机械类型和子系统类型信息;

根据所述仿真对象类型确定对应的工程机械子系统,利用仿真变量参数以及预设的对应的子系统仿真任务生成模型生成仿真任务信息。

本发明将云仿真方法应用在工程机械领域,可预先将工程机械按系统划分为机械系统、液压系统、控制系统、多体系统等,在云仿真时,根据用户所选择的具体子系统类型以及所需仿真场景的仿真变量,即可利用各对应子系统的通用数学模型生成对应的仿真任务。

可选的,若仿真任务数量小于或等于虚拟机数量,所述将各仿真任务分别分配至一个虚拟机进行仿真计算,为:采用FCFSA算法,按照仿真任务到达的顺序依次将各仿真任务分配至一个虚拟机。除按仿真任务到达顺序外,也可采用随机分配,或者按大小分配等。

可选的,所述仿真任务评估函数根据仿真任务的完成时长、仿真资源成本和任务优先级确定仿真任务的大小,任务优先级越高、完成时长越短。仿真资源成本越小,则任务评估结果越小。

作为一种实施方式,所述仿真任务评估函数表示为:

F=αRT

式中,F表示综合评估值,γ表示预设的或者仿真任务信息中的仿真任务优先级,RT

进一步的,RT

RC的计算公式为:

式中,S

可选的,所述根据任务评估结果对所有仿真任务进行任务大小排序,根据虚拟机的数量将相应数量的评估结果较小的仿真任务分别分配给各虚拟机,包括:

根据任务评估结果从小到大对仿真任务进行排序,选取前n个仿真任务,分别分配给一个虚拟机进行仿真任务计算,其中,n为虚拟机的数量。

可选的,所述对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机,包括:

监测各虚拟机的剩余负载量得到计算能力余量;

将剩余仿真任务的任务量与虚拟机的计算能力余量进行匹配,将匹配成功的仿真任务分配给对应的虚拟机。

作为另一种实施方式,所述对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机,包括:

监测各虚拟机的剩余负载量得到计算能力余量;

利用最短任务优先算法,按照仿真任务从小到大的顺序将剩余仿真任务的任务量与虚拟机的计算能力余量进行匹配,将匹配成功的仿真任务分配给对应的虚拟机。

以上技术方案中,在第一轮仿真任务分配后,由于先分配的仿真任务为综合评估值较小的仿真任务,因此虚拟机存在计算能力余量的概率较大,此时利用最短任务优先算法,可实现任务量较小的剩余仿真任务先被分配到计算能力余量相匹配的虚拟机,后续待虚拟机的剩余负载量非常小甚至空闲时,可将任务量较大的仿真任务分配至对应的虚拟机进行仿真求解计算,仿真任务整体的处理效率较高。

第二方面,本发明提供一种适用于工程机械的云仿真装置,包括:

仿真任务获取模块,被配置用于获取仿真任务信息;

仿真任务统计模块,被配置用于统计接收到的仿真任务数量,与虚拟机数量进行比较;

第一仿真任务分配模块,被配置用于,若仿真任务数量小于或等于虚拟机数量,则将各仿真任务分别分配至一个虚拟机进行仿真计算;

仿真任务评估模块,被配置用于,若仿真任务数量大于虚拟机数量,则利用预设的仿真任务评估函数对各仿真任务进行任务评估;

第二仿真任务分配模块,被配置用于,根据任务评估结果对所有仿真任务进行任务大小排序,根据虚拟机的数量将相应数量的任务评估结果较小的仿真任务分别分配给各虚拟机;

第三仿真任务分配模块,被配置用于,对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机。

可选的,所述仿真任务获取模块预设有对应多个工程机械子系统的子系统仿真任务生成模型;所述仿真任务获取模块获取仿真任务信息包括:

接收用户输入的工程机械仿真指令,所述工程机械仿真指令包括仿真对象类型以及仿真变量参数信息,仿真对象类型信息包括工程机械类型和子系统类型信息;

根据所述仿真对象类型确定对应的工程机械子系统,利用仿真变量参数以及预设的对应的子系统仿真任务生成模型生成仿真任务信息。

第三方面,本发明提供一种采用第一方面所述适用于工程机械的云仿真方法的云仿真系统,包括用户层、模型管理层、仿真任务管理层以及云仿真层;

所述模型管理层设有通用模型管理接口、工程机械类型选择接口和子系统选择接口;其中通用模型管理接口用于管理多种工程机械子系统的仿真任务生成模型;用户层通过调用所述工程机械类型选择接口和子系统选择接口向模型管理层发送工程机械仿真指令,以选择工程机械类型和子系统类型及输入仿真变量参数;

所述仿真任务管理层用于对生成的仿真任务信息进行检测和统计;

所述云仿真层包括用户接口层、自适应任务调度层、虚拟机服务层、云服务层和云资源层;所述用户接口层设置用于接收待分配仿真任务的仿真任务接口和用于管理虚拟机的虚拟机管理接口;所述自适应任务调度层设置用于计算各仿真任务完成时间的任务时间计算模块,用于计算仿真任务资源成本的任务资源计算模块,用于管理仿真任务优先级的任务优先级筛选模块,以及用于确定仿真任务分配方案的调度算法选择模块;虚拟机服务层设置用于选定虚拟机的虚拟机选定模块以及虚拟机仿真任务执行模块;云服务层设置CPU分配模块、带宽分配模块和存储空间分配模块;云资源层设置事件处理模块、数据中心和云协调器。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面所述的云仿真方法。

有益效果

本发明的云仿真方法和系统遵循云计算的资源分配原则,提供了一种仿真任务综合评估方法,以及自适应仿真任务综合评估值大小的仿真任务分配逻辑,能够根据仿真任务的完成时间、资源成本优先级,以及虚拟机的负载量,将有效仿真计算资源更高效地分配给有需求的云应用,使不同用户在不同时间的服务请求的总完成时间最小,使仿真计算资源得到充分利用,提高云计算的资源利用率和运行效率。

附图说明

图1所示为本发明云仿真方法在一种实施例中的仿真任务分配流程示意图;

图2所示为本发明在一种实施例中的云仿真系统架构示意图。

具体实施方式

以下结合附图和具体实施例进一步描述。

实施例1

本实施例介绍一种适用于工程机械的云仿真方法,包括:

获取仿真任务信息;

统计接收到的仿真任务数量,与虚拟机数量进行比较;

若仿真任务数量小于或等于虚拟机数量,则将各仿真任务分别分配至一个虚拟机进行仿真计算;

若仿真任务数量大于虚拟机数量,则利用预设的仿真任务评估函数对各仿真任务进行任务评估;

根据任务评估结果对所有仿真任务进行任务大小排序,根据虚拟机的数量将相应数量的任务评估结果较小的仿真任务分别分配给各虚拟机;

对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机。

如图1所示,本实施例在进行任务调度分配时的具体步骤如下:

S1,监测获取仿真任务信息以及虚拟机数目。

S2,统计仿真任务数,与虚拟机数目进行比较。

若仿真任务数量小于或等于虚拟机数量,则将各仿真任务分别分配至一个虚拟机进行仿真计算,此处可采用仿真任务先到先服务算法FCFSA(First Come First ServiceAlgorithm)进行仿真任务的调度,按仿真任务到达顺序依次分别分配到不同的虚拟机上进行仿真求解运算;

若仿真任务数量大于虚拟机数量,则转至S3。

S3,利用预设的仿真任务评估函数对各仿真任务进行任务评估;

本实施例中,仿真任务评估函数根据仿真任务的完成时长、仿真资源成本和任务优先级确定仿真任务的大小,任务优先级越高、完成时长越短。仿真资源成本越小,则任务评估结果越小。

仿真任务评估函数表示为:

F=αRT

式中,F表示综合评估值,γ表示预设的或者仿真任务信息中的仿真任务优先级,RT

RT

RC的计算公式为:

式中,S

S4,根据任务评估结果从小到大对仿真任务进行排序,选取前n个仿真任务,分别分配给一个虚拟机进行仿真任务计算,其中,n为虚拟机的数量。此处可采用顺序调度方法SSA(Sequenced Scheduling Algorithm)进行仿真任务的调度分配。

S5,对于未分配的剩余仿真任务,可持续监测各虚拟机的剩余负载量得到计算能力余量;然后将剩余仿真任务的任务量与虚拟机的计算能力余量进行匹配,将匹配成功的仿真任务分配给对应的虚拟机。

作为一种优选方式,本实施例中,对于未分配的剩余仿真任务,持续监测各虚拟机的剩余负载量得到计算能力余量;利用最短任务优先算法STFA(Shortest Task FirstAlgorithm),按照仿真任务从小到大的顺序将剩余仿真任务的任务量与虚拟机的计算能力余量进行匹配,将匹配成功的仿真任务分配给对应的虚拟机。也即,在对剩下的仿真任务进行调度时,首先将任务量小的仿真任务传递到负载较小的虚拟机进行仿真求解,当监测到虚拟机负载非常小或者虚拟机空闲时可将任务量大的仿真任务分配到该虚拟机进行仿真求解运算。

至此,本实施例即可实现自适应任务完成时间、资源成本、优先级以及虚拟机负载量的仿真任务分配。

为了能够适用于工程机械,本实施例在进行仿真任务获取时的方法为:首先接收用户输入的工程机械仿真指令,所述工程机械仿真指令包括仿真对象类型以及仿真变量参数信息,仿真对象类型信息包括工程机械类型和子系统类型信息;然后根据所述仿真对象类型确定对应的工程机械子系统,利用仿真变量参数以及预设的对应的子系统仿真任务生成模型生成仿真任务信息。

也即,用户可根据仿真场景需求选择工程机械类型和工程机械子系统类型,通过本实施例的方法自动生成仿真任务,进而实现自适应的仿真任务分配,使不同工程机械仿真任务在不同时间的服务请求响应的总完成时间最小,仿真计算资源能够得到充分利用,云计算的资源利用率和运行效率显著提高。

实施例2

与实施例1基于相同的发明构思,本实施例介绍一种适用于工程机械的云仿真装置,其包括:

仿真任务获取模块,被配置用于获取仿真任务信息;

仿真任务统计模块,被配置用于统计接收到的仿真任务数量,与虚拟机数量进行比较;

第一仿真任务分配模块,被配置用于,若仿真任务数量小于或等于虚拟机数量,则将各仿真任务分别分配至一个虚拟机进行仿真计算;

仿真任务评估模块,被配置用于,若仿真任务数量大于虚拟机数量,则利用预设的仿真任务评估函数对各仿真任务进行任务评估;

第二仿真任务分配模块,被配置用于,根据任务评估结果对所有仿真任务进行任务大小排序,根据虚拟机的数量将相应数量的任务评估结果较小的仿真任务分别分配给各虚拟机;

第三仿真任务分配模块,被配置用于,对于未分配的剩余仿真任务,将仿真任务分配至具备相应仿真计算能力的虚拟机。

以上各功能模块的具体实现参考实施例1中的相应内容,不予赘述,特别指出的是:

仿真任务获取模块预设有对应多个工程机械子系统的子系统仿真任务生成模型;所述仿真任务获取模块获取仿真任务信息包括:

接收用户输入的工程机械仿真指令,所述工程机械仿真指令包括仿真对象类型以及仿真变量参数信息,仿真对象类型信息包括工程机械类型和子系统类型信息;

根据所述仿真对象类型确定对应的工程机械子系统,利用仿真变量参数以及预设的对应的子系统仿真任务生成模型生成仿真任务信息。

实施例3

与实施例1和实施例2基于相同的发明构思,本实施例介绍一种云仿真系统,包括用户层、模型管理层、仿真任务管理层、云仿真层以及网络层;

所述模型管理层设有通用模型管理接口、工程机械类型选择接口和子系统选择接口;其中通用模型管理接口用于管理多种工程机械子系统的仿真任务生成模型;用户层通过调用所述工程机械类型选择接口和子系统选择接口向模型管理层发送工程机械仿真指令,以选择工程机械类型和子系统类型及输入仿真变量参数;

所述仿真任务管理层用于对生成的仿真任务信息进行检测和统计;

所述云仿真层包括用户接口层、自适应任务调度层、虚拟机服务层、云服务层和云资源层;所述用户接口层设置用于接收待分配仿真任务的仿真任务接口和用于管理虚拟机的虚拟机管理接口;所述自适应任务调度层设置用于计算各仿真任务完成时间的任务时间计算模块,用于计算仿真任务资源成本的任务资源计算模块,用于管理仿真任务优先级的任务优先级筛选模块,以及用于确定仿真任务分配方案的调度算法选择模块;虚拟机服务层设置用于选定虚拟机的虚拟机选定模块以及虚拟机仿真任务执行模块;云服务层设置CPU分配模块、带宽分配模块和存储空间分配模块;云资源层设置事件处理模块、数据中心和云协调器。

本实施例实现了一种改进的CLoudSim框架,云仿真层中,自适应调度层实现了对仿真任务的综合评估以及根据综合评估结果进行仿真任务的调度分配,提升了资源利用率和仿真任务处理的效率。

实施例4

本实施例介绍一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如实施例1所介绍的云仿真方法。

综上实施例,与现有技术相比,本发明具有以下优点和进步:

(1)本发明构建了一种仿真任务评估函数,可以综合考虑仿真任务的资源成本、仿真任务所需时间以及仿真任务的优先级,根据仿真任务评估函数可以得到每个仿真任务的综合评估值,避免了根据人工填写仿真任务所需资源、人工按需调度的片面性;

(2)本发明设置的自适应调度算法模块,可以监测仿真任务与虚拟机的数量,并利用仿真任务评估函数评估仿真资源,根据自适应算法调度模块自动调用不同的仿真任务调度算法,避免了仿真任务调度算法应用的单一性;

(3)本发明构建了改进的CLoudSim框架,部署在仿真任务和虚拟之间,多个仿真任务到达时,由自适应算法调度模块将仿真任务派发到对应的虚拟机,避免了只根据硬件资源负载选择虚拟机的盲目性,可以在有限的虚拟机数量下进行虚拟机仿真求解运算,增加了硬件资源的利用率;

(4)本发明提出将云仿真方法及系统应用在工程机械领域,能够根据不同用户所选择的不同部件、不同子系统的仿真任务对工程机械的仿真系统进行划分,经由自适应调度算法模块将多个子系统的仿真任务分别派发到不同的虚拟机进行仿真求解运算。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

相关技术
  • 一种云仿真平台模型安全保障系统、方法、服务器及终端
  • 适用于配电物联网云边交互协议一致性检测的仿真检测系统及方法
  • 一种基于容器云的卫星星座设计与仿真系统和仿真方法
技术分类

06120115629051