一种数据服务请求处理方法及装置与流程

文档序号:12865999阅读:222来源:国知局
一种数据服务请求处理方法及装置与流程

本发明涉及数据处理领域,特别是涉及一种数据服务请求处理方法和一种数据服务请求处理装置。



背景技术:

目前,越来越多的用户通过多媒体数据平台获取数据服务,例如在各种多媒体平台观看视频节目、收听音频节目等。多媒体数据平台通常设置有一个或多个服务器集群作为数据中心,用户通过浏览器、多媒体应用等客户端向数据中心发起视频、音频等的数据服务请求后,由数据中心的各服务器分别响应请求并将所请求的视频、音频数据返回至客户端。

在实际应用中,不同的用户具有不同的服务等级,较高服务等级的请求通常要求较低的服务延迟,较低服务等级的请求则允许较高的服务延迟。然而,数据中心的同一台服务器只能按照设定的处理速率处理请求,无法同时满足多个不同的延迟需求。例如,当前的服务器按照某个较低的处理速率处理某个较低的延迟需求的请求时,如果继续按照较低的处理速率处理另外一个有较高延迟需求的请求,则会造成实际延迟无法满足另外一个请求的延迟需求。因此,为了满足不同的服务等级的延迟需求,数据中心通常会采用不同的服务器分别处理不同服务等级的请求。

然而,申请人经研究发现,上述的数据服务请求处理方式中需要启动较多的服务器以满足不同的延迟需求。例如,针对于较高服务等级的用户发起的数据服务请求,数据中心需要启动更多的服务器对其进行处理,保证以较低的延迟将视频、音频数据返回至客户端,而启动更多的服务器则意味着数据中心需要消耗更多的电能。

因此,上述的数据服务请求处理方式存在着能耗较大的问题。



技术实现要素:

本发明实施例针对所要解决的技术问题提供了一种数据服务请求处理方法,以及,一种数据服务请求处理装置。

为了解决上述问题,本发明提供了一种数据服务请求处理方法,所述方法包括:

获取由目标服务器集群处理的多个数据服务请求;

将多个所述数据服务请求合并成目标数据服务请求,并根据各所述数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求;

统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量;

统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量;

当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

可选地,所述数据服务请求包括数据服务等级,在所述获取由目标服务器集群处理的多个数据服务请求的步骤之前,所述方法还包括:

查找对应于所述数据服务等级的延迟需求,作为所述数据服务请求的延迟需求。

可选地,在所述获取由目标服务器集群处理的多个数据服务请求的步骤之前,所述方法还包括:

按照延迟需求将多个数据服务请求排序,并按照排序依次选择所述数据服务请求作为当前的数据服务请求;

根据当前的数据服务请求的延迟需求,分别计算各候选服务器集群处理当前的数据服务请求所需能耗;

选择所需能耗最小的候选服务器集群作为处理当前的数据服务请求的目标服务器集群。

可选地,所述将多个数据服务请求合并成目标数据服务请求的步骤包括:

将延迟需求匹配的若干个数据服务请求合并成所述目标数据服务请求。

可选地,在所述获取由目标服务器集群处理的多个数据服务请求的步骤之前,所述方法还包括:

获取所述目标服务器集群的处理能力信息;

所述统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量的步骤包括:

采用所述处理能力信息和所述目标延迟需求,计算所述目标服务器集群处理所述目标数据服务请求时需要调用的服务器的数量作为所述目标数量;

所述统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量的步骤包括:

采用所述处理能力信息和各延迟需求,分别计算所述目标服务器集群处理各数据服务请求所需的服务器的数量,并对数量求和得到所述参考数量。

可选地,在所述选择所需能耗最小的候选服务器集群作为处理当前的数据服务请求的目标服务器集群的步骤之后,所述方法还包括:

若选择的目标服务器集群当前可用的服务器的数量不符合所述目标数量,重新选择其他候选服务器集群作为所述目标服务器集群。

为了解决上述问题,本发明还提供了一种数据服务请求处理装置,所述装置包括:

多个数据服务请求获取模块,用于获取由目标服务器集群处理的多个数据服务请求;

请求合并模块,用于将多个所述数据服务请求合并成目标数据服务请求,并根据各数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求;

目标数量统计模块,用于统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量;

参考数量统计模块,用于统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量;

服务器调用模块,用于当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

可选地,所述数据服务请求包括数据服务等级,所述装置还包括:

延迟需求查找模块,用于查找对应于所述数据服务等级的延迟需求,作为所述数据服务请求的延迟需求。

可选地,所述装置还包括:

请求排序模块,用于按照延迟需求将多个数据服务请求排序,并按照排序依次选择所述数据服务请求作为当前的数据服务请求;

能耗计算模块,用于根据当前的数据服务请求的延迟需求,分别计算各候选服务器集群处理当前的数据服务请求所需能耗;

目标服务器集群选择模块,用于选择所需能耗最小的候选服务器集群作为处理当前的数据服务请求的目标服务器集群。

可选地,所述请求合并模块包括:

请求合并子模块,用于将延迟需求匹配的若干个数据服务请求合并成所述目标数据服务请求。

可选地,所述装置还包括:

处理能力信息模块,用于获取所述目标服务器集群的处理能力信息;

所述目标数量统计模块包括:

目标数量计算子模块,用于采用所述处理能力信息和所述目标延迟需求,计算所述目标服务器集群处理所述目标数据服务请求时需要调用的服务器的数量作为所述目标数量;

所述参考数量统计模块包括:

参考数量计算子模块,用于采用所述处理能力信息和各延迟需求,分别计算所述目标服务器集群处理各数据服务请求所需的服务器的数量,并对数量求和得到所述参考数量。

可选地,所述装置还包括:

目标服务器集群重新选择模块,用于若选择的目标服务器集群当前可用的服务器的数量不符合所述目标数量,重新选择其他候选服务器集群作为所述目标服务器集群。

与现有技术相比,本发明实施例包括以下优点:

根据本发明实施例,由于采用目标数量的服务器处理目标数据服务请求的响应延迟可以满足目标延迟需求,而目标数据服务请求的目标延迟需求,是根据被合并的多个数据服务请求的的延迟需求确定的,也即是说,采用目标数量的服务器处理目标数据服务请求的响应延迟符合被合并的多个数据服务请求各自的延迟需求。同时,在确定目标数量小于参考数量时调用目标数量的服务器处理目标数据服务请求,在符合各个被合并的数据服务请求的延迟需求的条件下,减少开启了部分服务器,节省了目标服务器集群的能耗。

根据本发明实施例,通过根据当前的数据服务请求的延迟需求,分别确定各候选服务器集群处理当前的数据服务请求所需能耗,将所需能耗最小的候选服务器集群作为目标服务器集群,并将当前的数据服务请求和延迟需求匹配的其他数据服务请求合并成目标数据服务请求,由目标服务器集群处理该目标数据服务请求,在符合各个被合并的数据服务请求的延迟需求的条件下,由能耗最小的服务器集群处理当前的数据服务请求,从而减少了服务器集群处理数据服务请求的能耗。

附图说明

图1是本发明实施例一的一种数据服务请求处理方法的步骤流程图;

图2是本发明实施例二的一种数据服务请求处理方法的步骤流程图;

图3是本发明实施例三的一种数据服务请求处理装置的结构框图;

图4是本发明实施例四的一种数据服务请求处理装置的结构框图;

图5是本发明一种数据服务请求合并的算法流程示意图一;

图6是本发明一种数据服务请求合并的算法流程示意图二。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

本发明实施例一提供了一种数据服务请求处理方法,该方法可以具体应用于多媒体数据平台。图1示出了本发明实施例一的一种数据服务请求处理方法的步骤流程图,所述方法可以具体包括如下步骤:

步骤101,获取由目标服务器集群处理的多个数据服务请求。

需要说明的是,上述的服务器集群可以由多媒体数据平台设置的用于处理数据服务请求的多个服务器。实际应用中可以设置有一个或多个服务器集群,针对当前的某个或多个数据服务请求,可以将其分配至某个服务器集群进行处理,因此将处理当前的某个或多个数据服务请求的服务器集群作为目标服务器集群。

目标服务器集群在处理数据服务请求的过程中,具体可以是目标服务器集群调用若干服务器,将所请求的视频、音频等多媒体数据返回至服务请求客户端,供服务请求客户端加载并展示给用户。

确定目标服务器集群的方式可以由多种。例如,可以先收集多个数据服务请求,然后按照延迟需求将多个数据服务请求排序,并按照排序依次选择某一个或多个数据服务请求,确定各个候选的服务器集群处理当前的一个或多个数据服务请求所需能耗,并将所需能耗最小的候选服务器集群作为目标服务器集群。

具体实现中,在确定目标服务器集群后,可以获取当前目标服务器集群处理的多个数据服务请求。实际应用中,目标服务器集群可以包括当前正在处理的数据服务请求,也可以包括被分配的待处理的数据服务请求。其中,多个数据服务请求可以具有不同的延迟需求,也可以具有相同的延迟需求。针对正在处理的和待处理的数据服务请求,可以根据延迟需求对请求进行合并。

需要说明的是,实际的应用场景中,通过多媒体数据平台获取数据服务的用户可能在多媒体数据平台享有不同的服务等级,不同的服务等级可能对于数据服务请求的响应延迟有不同的需求。例如,普通用户可能允许50ms的延迟,而vip用户则要求5ms的延迟。

步骤102,将多个所述数据服务请求合并成目标数据服务请求,并根据各数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求。

具体实现中,可以将多个不同延迟需求的数据服务请求合并成一个或多个目标数据服务请求,并以被合并的各数据服务请求中最高的延迟需求作为该目标数据服务请求的目标延迟需求。例如,将两个延迟需求分别为1ms(毫秒)和5ms的数据服务请求合并成目标数据服务请求,以1ms作为目标数据服务请求的目标延迟需求。

针对于具有相同延迟需求的数据服务请求,则可以直接将多个数据服务请求相同的延迟需求,作为合并后的目标数据服务请求的目标延迟需求。例如,将多个延迟需求均为5ms的数据服务请求合并成目标数据服务请求,以5ms作为目标数据服务请求的目标延迟需求。

本领域技术人员可以采用多种方式将多个数据服务请求合并成目标数据服务请求,例如,将延迟需求相接近的的若干个数据服务请求合并成一个目标数据服务请求。

本领域技术人员可以采用多种方式统计目标延迟需求,例如,统计多个各延迟需求的平均值,作为目标延迟需求。

步骤103,统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量。

具体实现中,可以确定由目标服务器集群处理目标数据服务请求时,该处理过程中的响应延迟符合目标延迟需求所需要的服务器的数量,将所需服务器的数量作为目标数量。例如,目标数据服务请求的目标延迟需求为10ms,如果由一台服务器处理该目标数据服务请求,响应延迟为100ms,而将目标数据服务请求分配至10台服务器同时进行处理,响应延迟则可以减少到10ms,符合目标延迟需求,因此所需服务器的目标数量为10。

实际的应用场景中,存在着多种因素影响服务器处理数据服务请求的响应延迟。例如,某个时刻中服务器集群的网络延迟、服务器集群的处理速率、服务请求客户端向服务器集群发送请求的网络延迟等,因此在确定目标数量时可以结合上述的因素进行计算。

步骤104,统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量。

具体实现中,针对没有被合并的多个数据服务请求,可以确定由目标服务器集群分别处理各数据服务请求时,各个处理过程中的响应延迟符合各延迟需求分别所需的服务器的数量,将所需服务器的数量总和作为参考数量。例如,数据服务请求01的延迟需求为10ms,数据服务请求02的延迟需求为50ms,目标服务器集群在符合数据服务请求01的响应延迟10ms的条件下所需10台服务器,而在符合数据服务请求02的响应延迟50ms的条件下所需2台服务器,则所需服务器的参考数量则为12。

步骤105,当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

具体实现中,可以比较目标数量和参考数量,在目标数量小于参考数量时,表明当前将多个数据服务请求合并成一个目标数据服务请求的情况下,需要调用目标服务器集群的服务器的数量小于不合并的情况,也即是说,将数据服务请求合并后可以节省目标服务器集群中调用的服务器。因此,可以指示目标服务器集群调用目标数量的服务器对目标数据服务请求进行处理。

根据本发明实施例,由于采用目标数量的服务器处理目标数据服务请求的响应延迟可以满足目标延迟需求,而目标数据服务请求的目标延迟需求,是根据被合并的多个数据服务请求的的延迟需求确定的,也即是说,采用目标数量的服务器处理目标数据服务请求的响应延迟符合被合并的多个数据服务请求各自的延迟需求。同时,在确定目标数量小于参考数量时调用目标数量的服务器处理目标数据服务请求,在符合各个被合并的数据服务请求的延迟需求的条件下,减少开启了部分服务器,节省了目标服务器集群的能耗。

实施例二

本发明实施例二提供了一种数据服务请求处理方法,该方法可以具体应用于多媒体数据平台。图2示出了本发明实施例二的一种数据服务请求处理方法的步骤流程图,所述方法可以具体包括如下步骤:

步骤201,查找对应于所述数据服务等级的延迟需求,作为所述数据服务请求的延迟需求。

实际应用中,多媒体数据平台可以在不同的服务区域内设置区域服务器,以接收服务区域内的服务请求客户端所提交的数据服务请求。区域服务器可以将接收到的数据服务请求分配至某个服务器集群中进行处理。因此,在所述步骤201之前,可以首先从各区域服务器中获取各区域服务器服务区域内的多个服务请求客户端提交的数据服务请求。

具体实现中,数据服务请求中记录有数据服务等级的标识,因此可以得知该数据服务请求的数据服务等级。实际应用中,数据服务等级可以包括服务等级协议(service-levelagreement,sla)。通常,用户和提供多媒体数据服务的平台之间具有的服务等级协议可以包括多种的预先商定的服务内容和要求,例如,提供某类数据服务的最大延迟、分配给用户的最小带宽,各类用户的流量优先权、访问可用性等。

在获取到数据服务等级后,可以查找该数据服务等级所对应的延迟需求,作为对应的数据服务请求的延迟需求。

步骤202,按照延迟需求将多个数据服务请求排序,并按照排序依次选择所述数据服务请求作为当前的数据服务请求。

具体实现中,可以将各数据服务请求按照延迟需求进行排序,实际应用中通常按照延迟需求从大到小进行排序。排序后可从中依照延迟需求从大到小的顺序,依次选择某个数据服务请求作为当前的数据服务请求进行处理。实际应用中,也可以同时选择多个数据服务请求进行处理。

实际应用中,也可以采用依照其他参数对多个数据服务请求进行排序,例如,按照数据服务请求的负载量进行排序,以便优先处理负载量较大的数据服务请求。

步骤203,根据当前的数据服务请求的延迟需求,分别计算各候选服务器集群处理当前的数据服务请求所需能耗。

步骤204,选择所需能耗最小的候选服务器集群作为处理当前的数据服务请求的目标服务器集群。

需要说明的是,在实际的应用场景中,可能存在分布于不同地理位置的多个服务器集群。而由于不同服务器集群具有不同的处理速率、网络延迟、服务器能耗需求等,因此不同的服务器集群处理同一个数据服务请求所需的能耗并不相同。

针对当前的数据服务请求,可以将各个服务器集群作为候选服务器集群,计算将当前的数据服务请求分配至各个候选服务器集群分别所需的能耗。

在得到各个候选服务器集群处理当前的数据服务请求所需的能耗后,可以从中选择所需能耗最小的候选服务器集群作为目标服务器集群。

在实际的应用场景中,需要根据候选服务器集群实际的响应延迟和当前的数据服务请求的延迟需求确定所需能耗。服务器集群处理数据服务请求实际的响应延迟,主要由服务器集群的网络延迟和服务器集群的处理速率确定,通常,可以采用m/m/n模型进行计算。具体地,在确定网络延迟时,可以首先确定在t时刻区域服务器i访问服务器集群j并将某个数据服务请求i发送至服务器集群j的网络延迟的集合,记作f(λi,j(t))。然后可以得到服务器集群j的网络延迟则为f(λi,j(t))中的最大网络延迟,即dj(t)=max{f(λi,j(t))},

根据m/m/n模型确定所需能耗时,需要满足以下能耗计算限制条件:

其中,i代表某个从区域服务器i获取到的数据服务请求i,j代表当前处理数据服务请求的服务器集群,k代表数据服务请求i所请求的数据服务类型,dj(t)代表服务器集群j在t时刻的网络延迟。mi,j,k(t)代表t时刻服务器集群j中用于处理数据服务请求i的服务器的数量,prj(t)poj(t)单个服务器消耗的电能。μj,k代表服务器集群j处理请求数据服务k的数据服务请求i的处理速率,λi,j,k(t)代表t时刻区域服务器i访问服务器集群j并将某个数据服务请求i发送至服务器集群j的网络延迟,qi,k(t)代表t时刻数据服务请求i请求数据服务k的延迟需求;li,k(t)代表t时刻数据服务请求i请求数据服务类型k的负载,mj代表服务器集群j的服务器的总数量。

在本发明实施例中,可以采用下列公式计算服务器集群j处理数据服务请求i所需能耗的value(i,j),以满足上述限制条件。

其中,为所需的服务器的数量num。

步骤205,获取由目标服务器集群处理的多个数据服务请求。

步骤206,将多个所述数据服务请求合并成目标数据服务请求,并根据各数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求。

可选地,所述将多个所述数据服务请求合并成目标数据服务请求包括:

子步骤s11,将延迟需求匹配的若干个数据服务请求合并成所述目标数据服务请求。

具体实现中,可以将若干个延迟需求接近的数据服务请求合并成目标数据服务请求。实际应用中,如果各数据服务请求按照延迟需求进行排序,并依照延迟需求从大到小的顺序依次选择某个数据服务请求作为当前的数据服务请求,因此可以将当前的数据服务请求与上一个被分配至目标服务器集群的数据服务请求进行合并。由于当前的数据服务请求与上一个被分配至目标服务器集群的数据服务请求的延迟需求相同或者相似,因此,可以将延迟需求相同或相似的数据服务请求合并成目标数据服务请求。

实际应用中,数据服务请求可以包括多种数据服务类型,不同的数据服务类型所请求的数据对象的类型不同,相应地延迟需求也不同。在合并数据服务请求时,可以将同种数据服务类型的数据服务请求进行合并,也可以将异种数据服务类型的数据服务请求进行合并。即,可以将延迟需求相同的请求进行合并,也可以将延迟需求不同的的请求进行合并。

实际应用中,可以采用伪代码(pseudocode)的方式实现请求合并的算法。而对于同种数据服务类型和异种数据服务类型的数据服务请求,则可以采用不同的伪代码进行合并。

步骤207,统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量。

步骤208,统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量。

可选地,在所述步骤205之前,所述方法还包括:

获取所述目标服务器集群的处理能力信息。

需要说明的是,上述的处理能力信息可以包括某个时刻中服务器集群的网络延迟、服务器集群的处理速率、服务请求客户端向服务器集群发送请求的网络延迟。上述因素均会影响到在当前时刻,服务器集群按照延迟需求进行处理数据服务请求时所需服务器的数量。当然,在实际应用中,本领域技术人员可以采用各种影响到计算结果的参数进行计算。例如,采用区域服务器的网络延迟作为计算参数。

所述步骤207包括:

子步骤s21,采用所述处理能力信息和所述目标延迟需求,计算所述目标服务器集群处理所述目标数据服务请求时需要调用的服务器的数量作为所述目标数量。

所述步骤208包括:

子步骤s31,采用所述处理能力信息和各延迟需求,分别计算所述目标服务器集群处理各数据服务请求所需的服务器的数量,并对数量求和得到所述参考数量。

实际应用中,可以采用如下公式计算目标数量:

其中,mergenum为目标服务器集群处理目标数据服务请求所需服务器的目标数量,λi,j,k为t时刻区域服务器将请求数据服务k的数据服务请求i发送至目标服务器集群j的网络延迟,λi-1,j,k为t时刻区域服务器将请求数据服务k的数据服务请求i-1发送至目标服务器集群j的网络延迟,qi,k(t)和qi-1,k(t)分别为t时刻数据服务请求i和数据服务请求i-1的延迟需求,dj(t)为t时刻目标服务器集群的网络延迟,μj,k为目标服务器集群处理请求数据服务k的数据服务请求的处理速率。通过上述公式,可以得到目标服务器集群处理目标数据服务请求所需服务器的数量。对于参考数量的计算可以参考上述的公式进行处理,在此不再赘述。

步骤209,当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

实际应用中,所述步骤209可以包括:在所述目标服务器集群中查找当前可用的且数量符合所述目标数量的若干目标服务器;将所述目标数据服务请求分配至各目标服务器,供所述目标服务器处理所分配的目标数据服务请求。

具体地,在确定目标数量小于参考数量后,可以首先在目标服务器集群中查找当前可用于处理目标数据服务请求的若干服务器,然后查找数量符合目标数量的若干台服务器作为目标服务器。将目标数据服务请求分配至各目标服务器,由目标服务器处理目标数据服务请求。

可选地,所述方法还包括:

若选择的目标服务器集群当前可用的服务器的数量不符合所述目标数量,重新选择其他候选服务器集群作为所述目标服务器集群。

实际应用中,可能目标服务器集群中当前可以用于处理目标数据服务请求的服务器的数量无法满足目标数量,因此可以重新选择其他候选服务器集群作为目标服务器集群,通常可以选择下一个能耗最小的候选服务器集群作为目标服务器集群。重新选择目标服务器集群后,可以重新进行上述的处理步骤205至步骤209。

实际应用中,可以通过编写伪代码的方式实现上述处理步骤。其中,通过伪代码实现合并时,可以针对同种数据服务类型和异种数据服务类型的数据服务请求采用不同的伪代码。对于同种数据服务类型的数据服务请求,可以直接将请求合并,例如,可以采用以下的合并同种数据服务类型的延迟需求的伪代码(merge-same-sla)进行处理:

输入在t时刻的由多个同种数据服务请求i(同为数据服务类型k)的匹配的延迟需求qi`,k(t)所形成延迟需求矩阵qi`,k(t);

输入在t时刻的服务器集群j处理数据服务类型k的多个数据服务请求i的负载li,k(t)形成负载矩阵li`,k(t);

输出在t时刻延迟需求匹配的多个同种数据服务请求合并后的延迟需求矩阵qi,k(t);

输出在t时刻延迟需求匹配的多个同种数据服务请求合并后的负载矩阵li,k(t);

输出合并前后对应关系矩阵cor[i`,i,k]。

具体的算法过程如下:

对于每个请求的数据服务类型k的数据服务请求i`,do;

新建空矩阵qi,k(t);

将数据服务请求i的延迟需求qi`,k(t)按照非降序形成矩阵qi`,k(t);

while矩阵qi`,k(t)非空,do;

if(矩阵qi,k(t)为空‖矩阵qi,k(t)首元素=qi`,k(t)首元素);

i`++;

cor[i`,i,k]=1;

li,k(t)=li,k+li`,k;

将矩阵qi`,k(t)首元素pop出;

新建元素i,i的值为qi`,k(t)的首元素的值;

push元素i至矩阵qi,k(t)末尾;qi,k(t)的尾元素的值=qi`,k(t)的首元素的值;

为了便于理解本发明上述的伪代码,图5示出了本发明一种数据服务请求合并的算法流程示意图一,该算法流程为针对具有相同延迟需求的同种数据服务类型的数据服务请求进行合并的merge-same-sla算法流程。从图中可见,首先是遍历所有数据服务请求,将其中某个数据服务请求i作为当前的数据服务请求,当遍历完则流程结束,若未遍历完则新建一个空矩阵qi,k(t)。然后,将数据服务请求i的延迟需求qi`,k(t)按照非降序形成矩阵qi`,k(t)。当qi,k(t)为空,则返回至判断是否遍历所有数据服务请求的判断步骤,若不为空,则进一步判断矩阵qi,k(t)首元素=qi`,k(t)首元素,若否,则开始执行i`++;cor[i`,i,k]=1;li,k(t)=li,k+li`,k;将矩阵qi`,k(t)首元素pop出;新建元素i,i的值为qi`,k(t)的首元素的值;push元素i至矩阵qi,k(t)末尾。若是,则开始执行i++;i`++;cor[i`,i,k]=1;li,k(t)=li`,k;新建元素i,i的值为qi`,k(t)的首元素的值;push元素i至矩阵qi,k(t)末尾;将矩阵qi`,k(t)首元素pop出。

对于异种数据服务类型的数据服务请求,需要先确定能耗最小的目标服务器集群,然后再将请求合并至目标服务器集群中的请求,例如,可以采用以下的合并异种数据服务类型的延迟需求的伪代码(merge-different-sla)进行处理:

输入在t时刻的由多个异种数据服务请求i的匹配的延迟需求qi`,k(t)所形成延迟需求矩阵qi,k(t);

输入在t时刻各服务器集群的单个服务器消耗的电能prj(t)poj(t);

输入在t时刻延迟需求匹配的多个同种数据服务请求合并后的负载矩阵li,k(t);

输入服务器集群j中服务器处理数据服务类型k的处理速率μj,k;

输入在t时刻服务器集群j的网络延迟矩阵dj(t);

输入服务器集群j中的服务器的总数量mj;

输出在t时刻各服务器集群开启服务器的数量mi,j,k(t);

具体的算法过程如下:

对于每个请求的数据服务类型k的数据服务请求i,do;

temp=-1;

i``=1;

将多个数据服务请求i按照li,k(t)非升序排序;

对于每个请求的数据服务类型k的数据服务请求i,do;

计算数据服务请求i在各服务器集群中的能耗value(i,j),并查找能耗value(i,j)最小的服务器集群j;

计算将负载li,k(t)的数据服务请求i分配至服务器集群j需要的服务器数量num;

按照能耗value(i,j)的排序选取下一个服务器集群,继续处理数据服务请求i;

endfor;

endfor。

其中,temp表示该服务器集群是否被分配任何的数据服务请求的状态。可以通过temp=-1对该状态进行初始化。

为了便于理解本发明上述的算法流程,图6示出了本发明一种数据服务请求合并的算法流程示意图二,该算法流程为针对具有不同延迟需求的异种数据服务类型的数据服务请求进行合并的merge-different-sla算法流程。从图中可见,首先遍历所有数据服务请求,将其中某个数据服务请求i作为当前的数据服务请求,当遍历完则流程结束,若未遍历完毕,则执行temp=-1;i``=1;将多个数据服务请求i按照li,k(t)非升序排序;对于每个请求的数据服务类型k的数据服务请求i,计算数据服务请求i在各服务器集群中的能耗value(i,j),并查找能耗value(i,j)最小的服务器集群j;计算将负载li,k(t)的数据服务请求i分配至服务器集群j需要的服务器数量num;判断num是否小于mj,若否,则按照能耗value(i,j)的排序选取下一个服务器集群,继续处理数据服务请求i,若是,则判断temp是否等于-1,若是,则开始执行mi,j,k(t)=num;mj-=num;λi,j,k=li,k(t);cor[i,i``,k]=1;i``++;若否,则计算mergenum,并判断mi-1,j,k+num是否大于mergenum,若是,则开始执行λi-1,j,k=0;mj=mj+mi-1,j,k(t)-mergenum;i``--;mi-1,j,k(t)=0;mi,j,k(t)=mergenum;cor[i,i``,k]=1;i``++。若否,则开始执行λi,j,k=li,k(t);cor[i,i``,k]=1;i``++;mi-1,j,k(t)=num;mj-=num。

通过上述伪代码,可以实现对同种数据服务类型和异种数据服务类型的具有不同延迟需求的数据服务请求的合并。在实际应用中,可以采用异种数据服务类型的数据服务请求合并的伪代码,直接对同种数据服务类型的数据服务请求进行合并。

根据本发明实施例,通过根据当前的数据服务请求的延迟需求,分别确定各候选服务器集群处理当前的数据服务请求所需能耗,将所需能耗最小的候选服务器集群作为目标服务器集群,并将当前的数据服务请求和延迟需求匹配的其他数据服务请求合并成目标数据服务请求,由目标服务器集群处理该目标数据服务请求,在符合各个被合并的数据服务请求的延迟需求的条件下,由能耗最小的服务器集群处理当前的数据服务请求,从而减少了服务器集群处理数据服务请求的能耗。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

与实施例一对应,本发明实施例三还提供了一种数据服务请求处理装置,该装置可以具体应用于多媒体数据平台。图3示出了本发明实施例三的一种数据服务请求处理装置的结构框图,所述装置具体可以包括如下模块:

多个数据服务请求获取模块301,用于获取由目标服务器集群处理的多个数据服务请求。

请求合并模块302,用于将多个所述数据服务请求合并成目标数据服务请求,并根据各数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求。

目标数量统计模块303,用于统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量。

参考数量统计模块304,用于统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量。

服务器调用模块305,用于当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

根据本发明实施例,由于采用目标数量的服务器处理目标数据服务请求的响应延迟可以满足目标延迟需求,而目标数据服务请求的目标延迟需求,是根据被合并的多个数据服务请求的的延迟需求确定的,也即是说,采用目标数量的服务器处理目标数据服务请求的响应延迟符合被合并的多个数据服务请求各自的延迟需求。同时,在确定目标数量小于参考数量时调用目标数量的服务器处理目标数据服务请求,在符合各个被合并的数据服务请求的延迟需求的条件下,减少开启了部分服务器,节省了目标服务器集群的能耗。

实施例四

与实施例二对应,本发明实施例四还提供了一种数据服务请求处理装置,该装置可以具体应用于多媒体数据平台。图4示出了本发明实施例四的一种数据服务请求处理装置的结构框图,所述装置具体可以包括如下模块:

延迟需求查找模块401,用于查找对应于所述数据服务等级的延迟需求,作为所述数据服务请求的延迟需求。

请求排序模块402,用于按照延迟需求将多个数据服务请求排序,并按照排序依次选择所述数据服务请求作为当前的数据服务请求。

能耗计算模块403,用于根据当前的数据服务请求的延迟需求,分别计算各候选服务器集群处理当前的数据服务请求所需能耗。

目标服务器集群选择模块404,用于选择所需能耗最小的候选服务器集群作为处理当前的数据服务请求的目标服务器集群。

多个数据服务请求获取模块405,用于获取由目标服务器集群处理的多个数据服务请求。

请求合并模块406,用于将多个所述数据服务请求合并成目标数据服务请求,并根据各数据服务请求的延迟需求统计所述目标数据服务请求的目标延迟需求。

目标数量统计模块407,用于统计所述目标服务器集群处理所述目标数据服务请求、且响应延迟符合所述目标延迟需求所需服务器的目标数量。

参考数量统计模块408,用于统计所述目标服务器集群分别处理各数据服务请求、且响应延迟分别符合各延迟需求所需服务器的参考数量。

服务器调用模块409,用于当所述目标数量小于所述参考数量,在所述目标服务器集群中调用目标数量的服务器处理所述目标数据服务请求。

可选地,所述请求合并模块406包括:

请求合并子模块,用于将延迟需求匹配的若干个数据服务请求合并成所述目标数据服务请求。

可选地,所述装置还包括:

处理能力信息模块,用于获取所述目标服务器集群的处理能力信息;

所述目标数量统计模块407包括:

目标数量计算子模块,用于采用所述处理能力信息和所述目标延迟需求,计算所述目标服务器集群处理所述目标数据服务请求时需要调用的服务器的数量作为所述目标数量。

所述参考数量统计模块408包括:

参考数量计算子模块,用于采用所述处理能力信息和各延迟需求,分别计算所述目标服务器集群处理各数据服务请求所需的服务器的数量,并对数量求和得到所述参考数量。

可选地,所述装置还包括:

目标服务器集群重新选择模块,用于若所述目标服务器集群当前可用的服务器的数量不符合所述目标数量,重新选择其他候选服务器集群作为目标服务器集群。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

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

在一个典型的配置中,所述计算机系统包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储系统或任何其他非传输介质,可用于存储可以被计算系统访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。

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

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

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

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端系统中还存在另外的相同要素。

以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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