一种多租户请求处理方法、装置及设备制造方法及图纸

技术编号:15724222 阅读:473 留言:0更新日期:2017-06-29 09:38
本发明专利技术涉及计算机技术领域,尤其涉及一种多租户请求处理方法、装置及设备,用以解决请求调度效率较低的问题,该方法为:请求调度器在接收到处理节点发送的空闲资源提示信息时,根据上次已处理请求确定目标租户和目标请求,请求调度器若确定已处理请求与目标请求归属于同一请求组,则将目标请求发送至处理节点,因此能够实现同一租户的多个资源需求较小的请求连续处理,减少请求调度的信令开销,避免了短时间内的频繁调度,提高了调度请求的效率。

【技术实现步骤摘要】
一种多租户请求处理方法、装置及设备
本专利技术涉及计算机
,尤其涉及一种多租户请求处理方法、装置及设备。
技术介绍
软件即服务(SoftwareasaService,SaaS)是一种软件交付模式。在这种交付模式中,云端集中式托管软件及其相关的数据,用户仅需通过互联网,而不须通过安装即可使用软件。SaaS通常有两种技术实现方式:“单租户SaaS”和“多租户SaaS”。其中,这里的租户是指SaaS客户,一个租户通常对应一个组织,例如公司、学校等。1、单租户SaaS单租户SaaS的架构如图1(a)所示,每个租户单独创建各自的软件应用和支撑环境。单租户SaaS被广泛应用在租户需要支持定制化的场景,而这种定制或者是因为地域,抑或是他们需要更高的安全控制。因此,在单租户SaaS模式中,每个租户都有一份分别放在独立的服务器上的数据库和操作系统,或者使用强的安全措施进行隔离的虚拟网络环境中。2、多租户SaaS多租户SaaS的架构如图1(b)所示,在多租户环境中,应用都是运行在同一个或者一组服务器上,被称为“单实例”架构(SingleInstance)。多个租户的数据保存在相同的位置,并对各个租户的数据进行分区来确保租户之间的数据隔离。鉴于多个租户在运行中使用相同的应用实例,并且所有数据都保存在一个多租户隔离的数据库中,这时每一个租户只能在该应用实例的基础功能集上进行有限的定制。目前大部分SaaS供应商提供的是多租户SaaS,相对单租户SaaS,多租户SaaS主要有以下几个优势:(1)弹性管理简单,只需要对多租户平台增加资源就可以支持更多租户;而单租户模式则需要分别进行扩展。(2)采用一套基础代码的应用实例可以支持所有租户,只需维护一个软件版本,产品升级非常容易,可以减少开发成本、且能够快速定位和修复问题。(3)SaaS提供商可以对用户的应用实例使用情况进行统一分析,进而优化产品功能。但是,由于多租户SaaS模式的底层资源并不是显式地分配给各个租户,在多租户共享同一应用实例时可能会出现资源劫持现象,也就是由于误操作或过载可能导致个别租户侵占大量资源而影响其它租户性能。因此需要对各个租户进行性能隔离,防止租户间出现由于资源侵占而导致的性能干扰。现有技术中,采用请求准入控制算法实现各个租户的性能隔离,并实现对多租户的应用请求进行调度。该算法对应的系统结构如图2所示,每个租户对应一个请求等待队列,租户新到达的请求放在该租户的请求等待队列末端。当处理节点有空闲资源时,处理节点发送提示信息给请求调度器,请求调度器接收到该指示后选择一个租户并将其队列中最前端的请求发送给处理节点,然后根据该请求的资源需求更新对应租户的资源配额使用率等信息。具体的,请求调度器确定一个单位时间窗口,例如1秒,并为各个租户分别指定在单位时间窗口内的资源配额,即每个租户允许使用资源的时间。请求调度器可以根据租户在当前单位时间窗口的资源配额使用率,选择请求等待队列非空的租户中资源配额使用率最低的一个租户,并将该租户的请求等待队列中最早到达的请求发送给处理节点,然后根据该请求的资源需求,即预估的处理时间,更新对应租户的资源配额使用率。例如,假设一个应用实例有3个租户,单位时间窗口为1秒,租户的资源配额和使用情况如下表1所示。由表1可知,资源配额使用率最低的是租户1。因此将租户1的请求等待队列中最前端的请求发送给处理节点。假设发送给处理节点的请求的资源需求为30ms,那么将租户1的已使用配额更新为90ms,即60ms+30ms,资源配额使用率更新为30%,即90/300。这里各租户各个类型请求的资源需求可以采用离线统计分析或在线估计的方式获得。表1租户配额已使用配额资源配额使用率1300ms60ms20%2400ms160ms40%3300ms90ms30%由上可知,处理每个请求之前都要调用请求准入控制算法,而多租户SaaS模式中,每个应用实例需要支撑很多租户,平均每个实例要支撑2000多个租户,这时进行请求准入控制的调度开销较大,特别是对于资源需求较小的请求,由于请求准入控制而消耗的调度时间会占请求总处理时间的显著部分,造成请求调度效率较低。
技术实现思路
本专利技术的目的是提供一种多租户请求处理方法、装置及设备,用以解决请求调度效率较低的问题。本专利技术的目的是通过以下技术方案实现的:第一方面,一种多租户请求处理方法,包括:缓冲管理器在接收到一个请求时,确定所述请求的资源需求和所述请求对应的租户;所述缓冲管理器若确定所述请求的资源需求大于或等于预设阈值,则将所述请求放入所述租户对应的第一请求等待队列中,若确定所述请求的资源需求小于预设阈值,则将所述请求放入所述租户对应的第二请求等待队列中;所述缓冲管理器按照请求到达所述第二请求等待队列的先后顺序,将所述第二请求等待队列中的至少一个请求绑定为一个请求组;所述缓冲管理器监视所述第一请求等待队列的资源需求之和,若确定所述第一请求等待队列的资源需求之和低于第一门限且所述第二请求等待队列非空,则将所述第二请求等待队列中绑定为请求组后的请求按照到达所述第二请求等待队列的先后顺序放入所述第一请求等待队列中。结合第一方面,在第一方面的第一种可能的实现方式中,每个请求组中包括的至少一个请求分别对应的资源需求之和不大于绑定阈值。结合第一方面,在第一方面的第二种可能的实现方式中,缓冲管理器确定所述请求的资源需求和所述请求对应的租户,包括;所述缓冲管理器解析所述请求,确定所述请求的请求类型和所述请求对应的租户;所述缓冲管理器根据所述请求的请求类型确定所述请求的资源需求,或者根据所述请求的请求类型和所述请求对应的租户确定所述请求的资源需求。结合第一方面,在第一方面的第三种可能的实现方式中,所述缓冲管理器将所述请求放入所述租户对应的第二请求等待队列中之前,还包括:所述缓冲管理器确定所述第一请求等待队列的资源需求之和大于等于第二门限,所述第一门限小于所述第二门限。结合第一方面或以上任一一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述缓冲管理器按照请求到达所述第二请求等待队列的先后次序,将所述第二请求等待队列中至少一个请求绑定为一个请求组,包括:所述缓冲管理器在将所述请求放入所述租户对应的第二请求等待队列中之后,所述缓冲管理器确定所述第二请求等待队列中除所述请求外最晚到达的请求,以及将除所述请求外最晚到达的请求归属的请求组作为待加入请求组;若所述缓冲管理器确定所述请求的资源需求与所述待加入请求组的资源需求之和的和不大于所述绑定门限,则将所述请求加入所述待加入请求组。结合第一方面或以上任一一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述缓冲管理器将所述请求加入所述待加入请求组,包括:所述缓冲管理器为除所述请求外最晚到达的请求添加第一捆绑标识,所述第一捆绑标识用于指示添加有所述第一捆绑标识的请求和与添加有所述第一捆绑标识的请求相邻的下一请求归属于同一请求组;或者所述缓冲管理器为所述请求添加第二捆绑标识,所述第二捆绑标识用于指示添加有所述第二捆绑标识的请求和与添加有所述第二捆绑标识的请求相邻的前一请求归属于同一请求组。第二方面,一种多租户请求处理方法,包括:请求调度器在接收到处理节点发送的空闲资源提示信本文档来自技高网
...
一种多租户请求处理方法、装置及设备

【技术保护点】
一种多租户请求处理方法,其特征在于,包括:缓冲管理器在接收到一个请求时,确定所述请求的资源需求和所述请求对应的租户;所述缓冲管理器若确定所述请求的资源需求大于或等于预设阈值,则将所述请求放入所述租户对应的第一请求等待队列中,若确定所述请求的资源需求小于预设阈值,则将所述请求放入所述租户对应的第二请求等待队列中;所述缓冲管理器按照请求到达所述第二请求等待队列的先后顺序,将所述第二请求等待队列中的至少一个请求绑定为一个请求组;所述缓冲管理器监视所述第一请求等待队列的资源需求之和,若确定所述第一请求等待队列的资源需求之和低于第一门限且所述第二请求等待队列非空,则将所述第二请求等待队列中绑定为请求组后的请求按照到达所述第二请求等待队列的先后顺序放入所述第一请求等待队列中。

【技术特征摘要】
1.一种多租户请求处理方法,其特征在于,包括:缓冲管理器在接收到一个请求时,确定所述请求的资源需求和所述请求对应的租户;所述缓冲管理器若确定所述请求的资源需求大于或等于预设阈值,则将所述请求放入所述租户对应的第一请求等待队列中,若确定所述请求的资源需求小于预设阈值,则将所述请求放入所述租户对应的第二请求等待队列中;所述缓冲管理器按照请求到达所述第二请求等待队列的先后顺序,将所述第二请求等待队列中的至少一个请求绑定为一个请求组;所述缓冲管理器监视所述第一请求等待队列的资源需求之和,若确定所述第一请求等待队列的资源需求之和低于第一门限且所述第二请求等待队列非空,则将所述第二请求等待队列中绑定为请求组后的请求按照到达所述第二请求等待队列的先后顺序放入所述第一请求等待队列中。2.如权利要求1所述的方法,其特征在于,每个请求组中包括的至少一个请求分别对应的资源需求之和不大于绑定阈值。3.如权利要求1所述的方法,其特征在于,缓冲管理器确定所述请求的资源需求和所述请求对应的租户,包括:所述缓冲管理器解析所述请求,确定所述请求的请求类型和所述请求对应的租户;所述缓冲管理器根据所述请求的请求类型确定所述请求的资源需求,或者根据所述请求的请求类型和所述请求对应的租户确定所述请求的资源需求。4.如权利要求1所述的方法,其特征在于,所述缓冲管理器将所述请求放入所述租户对应的第二请求等待队列中之前,还包括:所述缓冲管理器确定所述第一请求等待队列的资源需求之和大于等于第二门限,所述第一门限小于所述第二门限。5.如权利要求2所述的方法,其特征在于,所述缓冲管理器按照请求到达所述第二请求等待队列的先后次序,将所述第二请求等待队列中至少一个请求绑定为一个请求组,包括:所述缓冲管理器在将所述请求放入所述租户对应的第二请求等待队列中之后,所述缓冲管理器确定所述第二请求等待队列中除所述请求外最晚到达的请求,以及将除所述请求外最晚到达的请求归属的请求组作为待加入请求组;若所述缓冲管理器确定所述请求的资源需求与所述待加入请求组的资源需求之和的和不大于所述绑定门限,则将所述请求加入所述待加入请求组。6.如权利要求5所述的方法,其特征在于,所述缓冲管理器将所述请求加入所述待加入请求组,包括:所述缓冲管理器为除所述请求外最晚到达的请求添加第一捆绑标识,所述第一捆绑标识用于指示添加有所述第一捆绑标识的请求和与添加有所述第一捆绑标识的请求相邻的下一请求归属于同一请求组;或者所述缓冲管理器为所述请求添加第二捆绑标识,所述第二捆绑标识用于指示添加有所述第二捆绑标识的请求和与添加有所述第二捆绑标识的请求相邻的前一请求归属于同一请求组。7.一种多租户请求处理方法,其特征在于,包括:请求调度器在接收到处理节点发送的空闲资源提示信息时,确定目标租户,所述目标租户为上次已处理请求对应的租户;所述请求调度器确定目标请求,所述目标请求为目标租户对应的第一请求等待队列中最早到达的请求;所述请求调度器若确定所述已处理请求与所述目标请求归属于同一请求组,则将所述目标请求发送至所述处理节点。8.如权利要求7所述的方法,其特征在于,所述同一请求组中包括至少一个请求、且所述至少一个请求分别对应的资源需求之和不大于绑定阈值。9.如权利要求7所述的方法,其特征在于,所述请求调度器确定目标租户,包括:所述请求调度器根据针对所述已处理请求记录的处理信息中包括的租户ID,确定目标租户;所述请求调度器将所述目标请求发送至所述处理节点之后,还包括:所述请求调度器将针对所述已处理请求记录的处理信息更新为针对所述目标请求的处理信息,并更新所述目标租户的资源配额使用情况。10.如权利要求7-9任一项所述的方法,其特征在于,所述请求调度器确定所述已处理请求与所述目标请求归属于同一请求组,包括:所述请求调度器根据针对所述已处理请求记录的处理信息,若确定所述已处理请求添加有第一绑定标识,则确定所述已处理请求与所述目标请求归属于同一请求组;其中,所述第一捆绑标识用于指示添加有所述第一捆绑标识的请求和与添加有所述第一捆绑标识的请求相邻的下一请求归属于同一请求组。11.如权利要求7-9任一项所述的方法,其特征在于,所述请求调度器确定所述已处理请求与所述目标请求归属于同一请求组,包括:所述请求调度器若确定所述目标请求携带第二捆绑标识,确定所述已处理请求与所述目标请求归属于同一请求组;其中,所述第二捆绑标识用于指示添加有所述第二捆绑标识的请求和与添加有所述第二捆绑标识的请求相邻的前一请求归属于同一请求组。12.如权利要求7所述的方法,其特征在于,所述方法还包括:所述请求调度器若确定所述已处理请求与所述目标请求不归属于同一请求组,所述请求调度器选择第一请求等待队列非空的租户中资源配额使用率最低的一个租户作为当前待处理租户,并将所述当前待处理租户对应的第一请求等待队列中最早到达的请求发送给所述处理节点。13.一种多租户请求处理装置,其特征在于,包括:第一接收单元,用于接收一个请求;第一处理单元,用于确定所述请求的资源需求和所述请求对应的租户;若确定所述请求的资源需求大于或等于预设阈值,则将所述请求放入所述租户对应的第一请求等待队列中,若确定所述请求的资源需求小于预设阈值,则将所述请求放入所述租户对应的第二请求等待队列中;绑定单元,用于按照请求到达所述第二请求等待队列的先后顺序,将所述第二请求等待队列中的至少一个请求绑定为一个请求组;监视单元,用于监视所述第一请求等待队列的资源需求之和;第一队列调度单元,用于若确定所述第一请求等待队列的资源需求之和低于第一门限且所述第二请求等待队列非空,则将所述第二请求等待队列中绑定为请求组后的请求按照到达所述第二请求等待队列的先后顺序放入所述第一请求等待队列中。14.如权利要求13所述的装置,其特征在于,所述绑定单元绑定的每个请求组中包括的至少一个请求分别对应的资源需求之和不大于绑定阈值。15.如权利要求13所述的装置,其特征在于,确定所述请求的资源需求和所述请求对应的租户时,所述第一接收单元,具体用于;解析所述请求,确定所述请求的请求类型和所述请求对应的租户;根据所述请求的请求类型确定所述请求的资源需求,或者根据所述请求的请求类型和所述请求对应的租户确定所述请求的资源需求。16.如权利要求13所述的装置,其特征在于,将所述请求放入所述租户对应的第二请求等待队列中之前,所述第一处理单元还用于:确定所述第一请求等待队列的资源需求之和大于等于第二门限,所述第一门限小于所述第二门限。17.如权利要求14所述的装置,其特征在于,按照请求到达所述第二请求等待队列的先后次序,将所述第二请求等待队列中至少一个请求绑定为一个请求组,所述绑定单元具体用于:在将所述请求放入所述租户对应的第二请求等待队列中之后,确定所述第二请求等待队列中除所述请求外最晚到达的请求,以及将除所述请求外最晚到达的请求归属的请求组作为待加入请求组;若确定所述请求的资源需求与所述待加入请求组的资源需求之和的和不大于所述绑定门限,则将所述请求加入所述待加入请求组。18.如权利要求17所述的装置,其特征在于,将所述请求加入所述待加入请求组时,所述绑定单元具体用于:为除所述请求外最晚到达的请求添加第一捆绑标识,所述第一捆绑标识用于指示添加有所述第一捆绑标识的请求和与添加有所述第一捆绑标识的请求相邻的下一请求归属于同一请求组;或者为所述请求添加第二捆绑...

【专利技术属性】
技术研发人员:倪伟渊张园园石腾徐谦
申请(专利权)人:华为软件技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1