一种针对组合服务的板卡资源分配系统及方法

文档序号:7623494阅读:313来源:国知局
专利名称:一种针对组合服务的板卡资源分配系统及方法
技术领域
本发明涉及计算机实时服务技术领域,具体涉及一种支持组合服务的服务系统资源均衡方法。
背景技术
组合服务通常是多个来自不同基本服务类的基本服务的组合,它是基本服务按照一定的依赖关系和逻辑连接并通过基本服务之间的和交互和协作构建起来的。资源均衡是负载均衡的一种表现形式,以各个服务板卡的资源使用的均衡程度来描述负载的均衡。均衡系统依赖于均衡算法实现各服务板卡的资源均衡,均衡算法分为静态均衡算法和动态均衡算法,其中动态均衡算法避免了静态均衡算法不考虑板卡实际运行情况的弱点,均衡调度更加灵活,负载均衡的效果也更加优异。动态均衡算法根据均衡的指 标而有所不同,包括服务线程数、网络链接数、CPU开销以及网络带宽开销等。专利实现负载均衡的方法、负载均衡服务器以及集群系统(CN101753461A)公开了一种集群系统,将节点的资源信息发送给负载均衡服务器,用于实现均衡调度。但是该方法不能反映支持多种服务类型、多种板卡资源和组合服务的系统负载。机器学习和预测技术是人工智能的研究热点,通过对训练集的学习建立模型,再利用模型预测测试集的结果。负载均衡系统中学习和预测的目标往往是服务器下一时间段的负载预期,如专利共享资源网络的实时任务接纳控制方法(CN101431467),没有考虑到不同服务请求之间的差异。

发明内容
本发明要解决的技术问题在于提供一种支持组合服务的服务系统资源均衡方法。不仅考虑了多种基本服务对板卡资源的需求,而且支持了组合服务的资源均衡。为解决上述技术问题,本发明对不同基本服务使用板卡资源情况的监测,学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求,动态反馈预测结果和板卡资源的使用状况;根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;根据各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡,并为其预留资源。为实现上述目的,本发明提供一种针对组合服务的板卡资源分配系统,该系统包含服务均衡调度器和位于不同服务板卡上的板卡资源管控器,且所述服务均衡调度器包含板卡心跳监控模块,所述板卡资源管控器包含板卡心跳发送模块,所述板卡心跳发送模块向所述板卡心跳监控模块发送所述其所在服务板卡的心跳信息,其特征在于,所述服务均衡调度器还包含板卡资源及服务调度数据信息模块,用于与所述组合服务分析处理模块双向通信及时获取形成的子服务请求调度信息;组合服务分析处理模块,用于根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;该模块与所述板卡资源及服务调度数据信息模块双向通信。所述板卡资源管控器还包含板卡服务资源分析处理模块,用于学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求;该模块向所述板卡资源及服务调度数据信息模块发送相关预测信息;子服务请求接收模块,用于接收所述组合服务分析处理模块为该板卡分配的子服务,该模块接受所述组合服务分析处理模块得到的若干子服务。上述技术方案中,所述组合服务分析处理模块进一步包含组合服务请求接收模块,用于接受服务系统的组合服务请求;组合服务请求分析模块,用于对接收的组合服务进行关联性分析,将组合服务分别强相关和弱相关,并对弱相关的组合服务分为若干子服务;子服务请求调度模块,用于将不同子服务调度给合适的服务板卡,且该模块与所述板卡资源及服务调度数据信息模块进行双向通信;和子服务请求下发模块,用于依据为各个子服 务分配的服务板卡将子服务请求下发给对应的服务板卡。所述板卡服务资源分析处理模块进一步包含板卡资源统计监测模块,用于监测包括各基本服务的总板卡资源开销和板卡资源的总开销;服务监测模块,用于监测各个基本服务的执行程序实际运行中的服务请求数量;服务资源需求学习模块,用于利用最新的监测数据学习和调整预测模型的参数,获取当前板卡状态下基本服务对板卡资源消耗的需求关系;和服务资源需求预测模块,用于通过最新的预测模型计算得到当前板卡状态下加载新的基本服务将会耗费的板卡资源,且该模块将预测信息发送给所述板卡资源及服务调度数据信息模块。。所述板卡资源包含CPU资源、内存资源、I/O资源和硬盘缓存资源。基于上述方案提供的系统,本发明还提供一种针对组合服务的板卡资源分配方法,所述方法包含如下步骤1)将组合服务划分为子服务的步骤,根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;2)为划分的子服务分配合适的服务板卡的步骤,学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求,并及时反馈各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息;根据动态反馈的各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡,并为其预留板卡资源。所述步骤I)进一步包含1-1)接受服务系统的组合服务请求,并对请求的合法性进行验证;1_2)对通过合法性验证的组合服务进行分解,根据基本服务的关联性,将基本服务分为强相关和弱相关,并对弱相关的组合服务转化为具有内在逻辑关系的子服务请求;1_3)为子服务请求分配板卡选择标识,将子服务请求调度给消耗剩余资源比重最小的服务板卡,同时将调度的结果进行存储;1_4)将子服务请求发送给分配的服务板卡进行处理。所述步骤2)进一步包含2-1)接收子服务请求,将其解析后交由服务执行程序处理;服务执行程序的在新服务请求的起始和终止时会发出更新通告,驱动相关模块更新监测信息;2-2)依据更新监测信息学习不同负载情况下各种基本服务对板卡资源的需求,采用模型预测当前条件下加载新基本服务将会耗费的板卡资源,连同板卡使用的资源信息更新服务均衡调度器的板卡资源及服务调度数据信息模块,完成动态反馈更新。其中,所述板卡资源是一个多维板卡资源向量,包括CPU资源、内存资源、I/O资源和硬盘缓存等资源;所述消耗板卡剩余资源比重为板卡资源向量中各维度的板卡资源消耗预测值与板卡剩余资源比重的最大值;所述板卡剩余资源为总板卡资源减去当前使用的板卡资源以及预留的板卡资源。此关联性分析是对组合服务请求中各基本服务关联性进行的分析。关联性分为强关联和弱关联,强关联的基本服务需要共用板卡资源或数据,否则为弱关联。强关联的基本服务被赋予一个共同的标识,弱关联的基本服务被赋予不同的标识,从而形成多个可独立选择服务板卡执行的子服务。此子服务请求分配,是根据子服务的标志,将不同子服务调度给具有对应服务功能的任意服务板卡。为子服务分配板卡的依据在于,获得各个服务板卡加载该子服务所需要耗费的资源占剩余板卡资源的比重,选择其中比重最小的板卡。子服务所需耗费的资源通过所含基本服务之间的组合关系获得。若多个基本服务将会同时运行,则总耗费资源为他们耗费资源之和;若多个基本服务之间为串行执行关系,则总耗费资源为其中最大者。 由板卡服务资源学习预测模块在收到更新驱动时发起,统计更新各项基本服务的实际运行数量和耗费的板卡资源。更新驱动来自定时器驱动的固定周期、服务执行程序运行起始和终止时发出的更新通告。统计更新完成后,更新预测模型,获得新的预测信息,将结果反馈给板卡资源及服务调度数据信息模块。通过动态反馈,服务系统可以实时获取各个服务板卡当前加载基本服务所需资源的预测信息,从而为服务的均衡调度提供计算依据。本发明的优点在于,提供的支持组合服务的服务系统资源均衡方法,充分考虑了板卡的实际服务状态和不同基本服务的资源需求特性,并且支持了组合服务的板卡资源均衡需求,可以使服务系统在保持服务板卡负载均衡的同时最大化板卡资源的利用率,有效地解决局部板卡负载过重、板卡资源利用不均的问题。


图I是本发明一种服务系统的结构示意图;图2是本发明的一种针对组合服务的板卡资源分配系统的组成示意框图;图3是本发明的一种针对组合服务的板卡资源分配系统包含的组合服务分析处理模块的组成框图;图4是本发明的一种针对组合服务的板卡资源分配系统包含的板卡服务资源分析处理模块的组成框图;图5是本发明的一种针对组合服务的板卡资源分配方法流程图;图6是本发明的一种针对组合服务的板卡资源分配方法包含的分解组合服务步骤的流程图;图7是本发明的一种针对组合服务的板卡资源分配方法包含的学习预测板卡服务资源步骤的流程图;图8是本发明提供一种针对组合服务的板卡资源分配系统的具体实施例的组成框图。
具体实施方式
下面结合附图和具体实施方式
对本发明所述方法作进一步详细的说明。如图I所示,本发明所述的服务系统11包括η个服务板卡12,服务实例13部署在服务板卡12上,从而使得服务板卡12具有多种基本服务能力。服务板卡12对不同基本服务实例13使用板卡资源情况的监测,学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求,动态反馈预测结果和板卡资源的使用状况。服务系统11根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡12执行。服务系统11根据各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡12,并为其预留板卡资源。如图2所示,该图为本发明的一种针对组合服务的板卡资源分配系统组成示意框图,该系统包含服务均衡调度器100和位于不同服务板卡12上的板卡资源管控器110,且所述服务均衡调度器100包含板卡心跳监控模块101,所述板卡资源管控器包含板卡心跳发送模块111,所述板卡心跳发送模块111向所述板卡心跳监控模块101发送所述其所在服务板卡的心跳信息。服务均衡调度器100还包含板卡资源及服务调度数据信息模块102,用于与所述组合服务分析处理模块103双向通信及时获取形成的子服务请求调度信息;组合服务分析处理模块103,用于根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;该模块与所述板卡资源及服务调度数据信息102模块双向通信;所述板卡资源管控器110还包含板卡服务资源学习预测理模块113,用于学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求;该模块向所述板卡资源及服务调度数据信息模块102发送相关预测信息;子服务请求接收模块112,用于接收所述组合服务分析处理模块103为该板卡分配的子服务。如图3所示,该图为本发明的一种针对组合服务的板卡资源分配系统包含的组合服务分析处理模块103的组成框图;该组合服务分析处理模块103进一步包含组合服务请求接收模块301,用于接受服务系统的组合服务请求;组合服务请求分析模块302,用于对接收的组合服务进行关联性分析,将组合服务分别强相关和弱相关,并对弱相关的组合服务分为若干子服务;子服务请求调度模块303,用于将不同子服务调度给合适的服务板卡,且该模块与所述板卡资源及服务调度数据信息模块102进行双向通信;和子服务请求下发模块304,用于依据为各个子服务分配的服务板卡将子服务请求下发给对应的服务板卡。如图4所示,该图是本发明的一种针对组合服务的板卡资源分配系统包含的板卡服务资源分析处理模块113的组成框图;该板卡服务资源分析处理模块113进一步包含
板卡资源统计监测模块401,用于监测包括各基本服务的总板卡资源开销和板卡资源的总开销;服务监测模块402,用于监测各个基本服务的执行程序实际运行中的服务请求数量;服务资源需求学习模块,用于从所述的板卡资源统计监测模块和服务监测模块获得最新的监测数据,依据所述监测数据学习和调整预测模型的参数,获取当前板卡状态下基本服务对板卡资源消耗的需求关系;和服务资源需求预测模块,用于根据所述服务资源需求学习模块获得最新的预测模型计算得到当前板卡状态下加载新的基本服务将会耗费的板卡资源,且该模块将预测信息发送给所述板卡资源及服务调度数据信息模块。如图5所示,该图是本发明的一种针对组合服务的板卡资源分配方法流程图;其中,该方法基于上述的一种针对组合服务的板卡资源分配系统,具体步骤为步骤501 :根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;步骤502 :学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求,并及时反馈各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息;步骤503根据动态反馈的各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡,并为其预留板卡资源;·其中,所述板卡资源是一个多维板卡资源向量,包括CPU资源、内存资源、I/O资源和硬盘缓存等资源;所述消耗板卡剩余资源比重为板卡资源向量中各维度的板卡资源消耗预测值与板卡剩余资源比重的最大值;所述板卡剩余资源为总板卡资源减去当前使用的板卡资源以及预留的板卡资源。所述关联性分为强关联和弱关联,强关联的基本服务需要共用板卡资源或数据,否则为弱关联;强关联的基本服务被赋予一个共同的标识,弱关联的基本服务被赋予不同的标识,从而形成多个可独立选择服务板卡执行的子服务;所述子服务请求所需消耗的板卡资源通过所含基本服务之间的组合关系获得;若多个基本服务将会同时运行,则总耗费资源为他们耗费资源之和;若多个基本服务之间为串行执行关系,则总耗费资源为其中最大者。如图6所示,图6是本发明的一种针对组合服务的板卡资源分配方法包含的分解组合服务步骤的流程图;即上述步骤501进一步包含的具体步骤为步骤601 :接受服务系统的组合服务请求,并对请求的合法性进行验证;步骤602 :对通过合法性验证的组合服务进行分解,根据基本服务的关联性,将基本服务分为强相关和弱相关,并对弱相关的组合服务转化为具有内在逻辑关系的子服务请求;步骤603 :为子服务请求分配板卡选择标识,将子服务请求调度给消耗剩余资源比重最小的服务板卡,同时将调度的结果进行存储;步骤604将子服务请求发送给分配的服务板卡进行处理。如图7所示,该图是本发明的一种针对组合服务的板卡资源分配方法包含的学习预测板卡服务资源步骤的流程图。即上述步骤502进一步包含的具体步骤为步骤701 :从服务监测模块获取新的各个基本服务的运行数量;步骤702 :从板卡资源统计监测模块获取新的各个基本服务占用的板卡资源以及板卡资源的总开销;步骤703 :在原预测模型的基础上利用新的监测数据训练和更新预测模型;步骤704 :利用新预测模型计算当前板卡状态下加载新基本服务将会耗费的板卡资源;步骤705 :将预测结果和板卡资源使用信息发送给板卡资源及服务调度数据信息模块。实施例如图8所示,该图为本发明的一种针对组合服务的板卡资源分配系统的一个具体的实施例,即一种实现本发明所述方法的资源均衡系统各部分模块的构成。该系统包括服务均衡调度器100和η个部署在不同服务板卡上的板卡资源管控器110。服务均衡调度器100包括板卡心跳监控模块101、板卡资源及服务调度数据信息模块102、组合服务请求接收模块301、组合服务请求分析模块302、子服务请求调度模块303和子服务请求下发模块304。
板卡心跳监控模块101实时地接收各服务板卡的心跳信息,当超过一个限定时间未收到某服务板卡的心跳包,则主动联系该板卡,多次联系失败可判定为板卡状态异常,将异常信息写入板卡资源及服务调度数据信息模块102的对应数据库中,避免新服务被分配给异常板卡,并提示重分配异常板卡中可恢复的服务。板卡资源及服务调度数据信息模块102使用MySQL数据库建立库表,存储各个服务板卡的运行状态、接收的服务信息、剩余板卡资源信息和运行各类服务的资源消耗预测值信息。服务板卡运行状态信息由板卡心跳监控模块更新101;板卡接收的服务信息由子服务请求调度模块303调度请求后更新;剩余板卡资源信息由为服务板卡总资源减去使用的服务板卡和预留的板卡资源,使用的板卡资源由板卡资源管控器110的板卡资源统计监测模块401获取,由板卡资源需求预测模块118发起更新,预留的板卡资源由子服务请求调度模块303调度请求后更新;板卡运行各类服务的资源消耗预测值信息由板卡资源管控器110的板卡资源需求预测模块118计算和更新。板卡资源是一个多维板卡资源向量,包括CPU资源、内存资源、I/O资源和硬盘缓存等资源。组合服务请求接收模块301接收组合服务请求,验证请求的合法性通过后将其传递给组合服务请求分析模块302。组合服务请求分析模块302对组合服务进行分解,根据基本服务的关联性,将组合服务转化为具有内在逻辑关系的子服务请求,为子服务请求分配板卡选择标识,强关联的基本服务请求具有相同的板卡选择标识。所谓强关联的基本服务是指需要共用板卡资源或数据的服务,否则为弱关联的基本服务。一个组合服务请求分解得到的具有相同板卡选择标识的系列子服务。子服务请求调度模块303执行均衡的服务调度,通过查询板卡资源及服务调度数据信息模块102上的MySQL数据库信息,获取不同板卡上加载子服务消耗板卡资源预测值和板卡剩余资源值,将子服务请求调度给消耗剩余资源比重最小的服务板卡。子服务所需耗费的板卡资源通过所含基本服务之间的组合关系获得。若多个基本服务将会同时运行,则总耗费资源为他们耗费资源之和;若多个基本服务之间为串行执行关系,则总耗费资源为其中最大者。其中消耗剩余资源比重定义P为P = max(Ccpu/Rcpu, Cmem/Rmem, Cio/Rio, Chc/Rhc,…)Ccpu, Cmem, Cio, Chc为加载服务消耗的CPU、内存、I/O和硬盘缓存板卡资源的预测值;RCpu,Rmem,Ri0,RhC为板卡剩余的CPU、内存、I/O和硬盘缓存板卡资源。调度的结果作为板卡接收的服务信息写入板卡资源及服务调度数据信息模块102的对应MySQL库表,子服务请求调度完成后传递给子服务请求下发模块304,由子服务请求下发模块304将其下发各相应的服务板卡,由板卡资源管控器110处理。板卡资源管控器110包括板卡心跳发送模块111、服务资源需求预测模块404、服务资源需求学习模块403、板卡资源统计监测模块402、服务监测模块401和子服务请求接收模块112。板卡心跳发送模块 111通过向板卡心跳监控模块101发送心跳信息反应板卡的运行状态。当板卡负载越高时,以越高的频率发送心跳信息,以便板卡心跳监控模块101及时反应板卡异常。空载状态下心跳包发送的间隔需小于板卡心跳监控模块101要求的阈值。子服务请求接收模块112接收服务均衡调度器100下发的子服务请求,将其解析后交由服务执行程序处理。服务执行程序的在新服务请求的起始和终止时会发出更新通告,驱动板卡资源统计监测模块401和服务监测模块402更新监测信息。服务监测模块402监测各个基本服务的执行程序实际运行中的服务请求数量。板卡资源统计监测模块401监测的信息包括各基本服务的总板卡资源开销和板卡资源的总开销。服务资源需求学习模块403通过板卡资源统计监测模块401和服务监测模块402记录的数据归纳学习各种服务对板卡资源的需求,采用神经网络建模方法,以基本服务单个请求最近m-Ι次统计的资源消耗和系统资源开销为输入,以第m次的板卡资源开销为输出,训练神经网络模型,其中基本服务单个请求的开销为该基本服务的总板卡资源开销除以实际运行中的服务请求数量,另一方面,在考虑神经网络的输入权重时,时序越接近的服务信息权值越大,从而训练出各基本服务对板卡资源消耗的神经网络预测模型。服务资源需求预测模块404依此模型预测服务板卡当前条件下加载新基本服务将会耗费的板卡资源,连同板卡使用的资源信息更新服务均衡调度器100的板卡资源及服务调度数据信息模块102的相应库表,完成动态反馈更新。当然,此板卡资源及服务调度数据信息模块102还可以有其他实现方式,如在内存中维护一个存放各类信息的数据结构等。同样的服务资源需求学习模块403和服务资源需求预测模块404也可以采用其他的学习预测方法,如基于时间的加权平均算法等。这样的变换均落在本方法发明的保护范围之内。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种针对组合服务的板卡资源分配系统,该系统包含服务均衡调度器和位于不同服务板卡上的板卡资源管控器,且所述服务均衡调度器包含板卡心跳监控模块,所述板卡资源管控器包含板卡心跳发送模块,所述板卡心跳发送模块向所述板卡心跳监控模块发送所述其所在服务板卡的心跳信息,其特征在于, 所述服务均衡调度器还包含 板卡资源及服务调度数据信息模块,用于与所述组合服务分析处理模块双向通信及时获取形成的子服务请求调度信息,为子服务分配合适的服务板卡; 组合服务分析处理模块,用于根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行;该模块与所述板卡资源及服务调度数据信 息模块双向通信; 所述板卡资源管控器还包含 板卡服务资源分析处理模块,用于学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求;该模块向所述板卡资源及服务调度数据信息模块发送相关预测信息; 子服务请求接收模块,用于接收所述组合服务分析处理模块为该板卡分配的子服务,该模块接受所述组合服务分析处理模块得到的若干子服务。
2.根据权利要求I所述的针对组合服务的服务资源分配系统,其特征在于,所述组合服务分析处理模块进一步包含 组合服务请求接收模块,用于接受服务系统的组合服务请求; 组合服务请求分析模块,用于对接收的组合服务进行关联性分析,将组合服务分别强相关和弱相关,并对弱相关的组合服务分为若干子服务; 子服务请求调度模块,用于将不同子服务调度给合适的服务板卡,且该模块与所述板卡资源及服务调度数据信息模块进行双向通信;和 子服务请求下发模块,用于依据为各个子服务分配的服务板卡将子服务请求下发给对应的服务板卡。
3.根据权利要求I所述的针对组合服务的服务资源分配系统,其特征在于,所述板卡服务资源分析处理模块进一步包含 板卡资源统计监测模块,用于监测包括各基本服务的总板卡资源开销和板卡资源的总开销; 服务监测模块,用于监测各个基本服务的执行程序实际运行中的服务请求数量; 服务资源需求学习模块,用于从所述的板卡资源统计监测模块和服务监测模块获得最新的监测数据,依据所述监测数据学习和调整预测模型的参数,获取当前板卡状态下基本服务对板卡资源消耗的需求关系;和 服务资源需求预测模块,用于根据所述服务资源需求学习模块获得最新的预测模型计算得到当前板卡状态下加载新的基本服务将会耗费的板卡资源,且该模块将预测信息发送给所述板卡资源及服务调度数据信息模块; 其中,所述子服务包含若干基本服务。
4.根据权利要求I所述的针对组合服务的服务资源分配系统,其特征在于,所述板卡资源包含=CPU资源、内存资源、I/O资源和硬盘缓存资源。
5.一种针对组合服务的板卡资源分配方法,包含 1)将组合服务划分为子服务的步骤,根据基本服务的关联性分析,将组合服务分解为一系列子服务请求,子服务可独立选择服务板卡执行; 2)为各个子服务分配服务板卡的步骤,进一步包含 2-1)板卡服务资源分析处理的子步骤为学习不同负载情况下各类基本服务对板卡资源的使用特性,预测当前负载下加载各类基本服务对板卡资源的需求,并及时反馈各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息; 2-2)参考资源情况为各个子服务选择服务板卡的子步骤根据动态反馈的各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡,并为其预留板卡资源; 其中,所述子服务包含若干基本服务; 所述板卡资源是一个多维板卡资源向量,包括CPU资源、内存资源、I/O资源和硬盘缓存等资源;所述板卡剩余资源为总板卡资源减去当前使用的板卡资源以及预留的板卡资源;所述消耗板卡剩余资源比重为板卡资源向量中各维度的板卡资源消耗预测值与板卡剩余资源比重的最大值;所述板卡剩余资源为总板卡资源减去当前使用的板卡资源以及预留的板卡资源; 所述关联性分为强关联和弱关联,强关联的基本服务需要共用板卡资源或数据,否则为弱关联;强关联的基本服务被赋予一个共同的标识,弱关联的基本服务被赋予不同的标识,从而形成多个可独立选择服务板卡执行的子服务; 所述子服务请求所需消耗的板卡资源通过所含基本服务之间的组合关系获得;若多个基本服务将会同时运行,则总耗费资源为他们耗费资源之和;若多个基本服务之间为串行执行关系,则总耗费资源为其中最大者。
6.根据权利要求5所述的针对组合服务的板卡资源分配方法,其特征在于,所述步骤I)进一步包含 1-1)接受服务系统的组合服务请求,并对请求的合法性进行验证; 1-2)对通过合法性验证的组合服务进行分解,根据基本服务的关联性,将基本服务分为强相关和弱相关,并对弱相关的组合服务转化为具有内在逻辑关系的子服务请求; 1-3)为子服务请求分配板卡选择标识,将子服务请求调度给消耗剩余资源比重最小的服务板卡,同时将调度的结果进行存储; 1-4)将子服务请求发送给分配的服务板卡进行处理。
7.根据权利要求5所述的针对组合服务的板卡资源分配方法,其特征在于,所述步骤2-1)进一步包含 2-1-1)接收子服务请求,将其解析后交由服务执行程序处理;服务执行程序的在新服务请求的起始和终止时会发出更新通告,驱动相关模块更新监测信息; 2-1-2)依据更新监测信息学习不同负载情况下各种基本服务对板卡资源的需求,采用模型预测当前条件下加载新基本服务将会耗费的板卡资源,连同板卡使用的资源信息更新服务均衡调度器的板卡资源及服务调度数据信息模块,完成动态反馈更新。
8.根据权利要求7所述的针对组合服务的服务资源分配方法,其特征在于,所述步骤2-1-2)采用归纳学习的方法学习各种基本服务对板卡资源的需求,并采用神经网络法进行预测模型建模。
9.根据权利要求8所述的针对组合服务的服务资源分配方法,其特征在于,所述采用神经网络建模方法,以基本服务单个请求最近m-Ι次统计的资源消耗和系统资源开销为输入,以第m次的板卡资源开销为输出,训练神经网络模型,其中基本服务单个请求的开销为该基本服务的总板卡资源开销除以实际运行中的服务请求数量,另一方面,在考虑神经网络的输入权重时,时序越接近的服务信息权值越大,从而训练出各基本服务对板卡资源消耗的神经网络预测模型。
全文摘要
本发明公开了一种支持组合服务的服务系统资源均衡方法,该方法中服务板卡(12)基于对不同基本服务实例(13)使用板卡资源情况的监测,学习和预测当前负载下加载各类基本服务对板卡资源的需求,反馈预测结果和当前板卡资源的使用状况;服务系统(11)根据基本服务的关联性分析,将组合服务分解为一系列可独立选择服务板卡(12)执行的子服务请求,根据各个板卡资源的剩余情况和加载基本服务消耗资源的预测信息,计算子服务请求所需消耗的板卡资源,将子服务请求分配给消耗板卡剩余资源比重最少的服务板卡(12),并为其预留板卡资源。本方法可以使服务系统(11)在保持服务板卡(12)负载均衡的同时最大化板卡资源的利用率。
文档编号H04L29/08GK102724100SQ20111007647
公开日2012年10月10日 申请日期2011年3月29日 优先权日2011年3月29日
发明者宋磊, 李军, 王劲林, 陈君 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1