[发明专利]一种业务请求处理方法及装置有效
申请号: | 201410429073.2 | 申请日: | 2014-08-27 |
公开(公告)号: | CN104202261B | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 蔡俊;丁岩 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863;H04L12/865 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 请求 处理 方法 装置 | ||
本发明公开了一种业务请求处理方法及装置,用以避免系统资源不足时,业务间资源抢夺导致的业务执行不畅的问题。该方法为:接收新的业务请求;确定业务处理模块当前剩余的系统资源量低于设定阈值且当前未启用缓存队列时,启用所述缓存队列,将所述新的业务请求加入所述缓存队列;从所述缓存队列中获取所述新的业务请求并处理。
技术领域
本发明涉及通信技术领域,尤其涉及一种业务请求处理方法及装置。
背景技术
在分布式或非分布式系统中,在同一时间需要承载多个业务,每个业务的运行都需要消耗系统的关键资源,例如系统内存、中央处理器(CPU)等资源。但是,系统关键资源是有限的,在同一时间承载的业务过多时,会存在系统资源不足的情况。
在系统关键资源充足时,各业务执行顺畅,在系统关键资源不足时,各业务之间抢夺关键资源,将会导致部分业务无法获得足够的关键资源,该部分业务将无法顺利执行,造成业务执行速度慢、业务暂停执行等后果。
如图1所示的分布式系统中,包含有3个业务发起模块、2个业务处理模块,其中,3个业务发起模块可访问同一个业务处理模块。业务处理模块在系统关键资源不足时,直接丢弃业务发起模块新发起的业务请求,间隔一段时长后由该业务发起模块重新发起被丢弃的业务请求。在业务发起模块发起的业务请求量超过了业务处理模块的处理能力时,业务处理模块的关键资源耗尽,使得业务请求的处理时延增大,部分业务请求失败,甚至会由于部分业务压力过大而影响整个系统性能。
为此,提出了隶属于服务质量(Quality of Service,QoS)的优先级处理机制,通过将各类业务按照重要性分类,为重要性相对较高的业务指定较高的优先级,重要性相对较低的业务指定较低的优先级,系统根据业务优先级进行处理,保证优先级相对较高的业务更有机会获得系统关键资源,最终达到在系统关键资源不足时,尽量保障相对优先级更高的业务的顺利执行。
具体地,将业务请求队列划分为多个业务队列,每个业务队列对应具有相同优先级的业务,如图2所示,每个优先级的队列的深度是固定的,所谓队列的深度为该队列可容纳的业务请求数,各个优先级的队列的深度总和等于原业务请求队列的深度。
该方案中,业务处理模块按照业务请求的优先级分别将各业务请求置于具有相应的优先级的业务队列中,采用调度算法对各优先级的业务队列中的业务请求进行调度处理。
该方案的缺点在于:在业务处理模块的业务处理压力较小时,各业务均能够获取足够的资源,该情况下各优先级的业务队列中的业务不能并发运行,无法充分发挥系统能力。假设该情况下系统的业务请求均是低优先级,而在优先级低的业务队列中的业务请求的数量达到该业务队列的深度时,将会丢弃后续的业务请求,同时其他优先级的业务队列中可能为空,这无疑会增加业务请求的处理时延。并且,不同优先级的业务请求置于不同优先级的业务队列后,再对各业务队列中的业务请求进行调度,会增加各业务请求等待处理的时长。
发明内容
本发明实施例提供一种业务请求处理方法及装置,用以避免系统资源不足时,业务间资源抢夺导致的业务执行不畅的问题。
本发明实施例提供的具体技术方案如下:
第一方面,本发明实施例提供了一种业务请求处理方法,包括:
接收新的业务请求;
确定业务处理模块当前剩余的系统资源量低于设定阈值且当前未启用缓存队列时,启用所述缓存队列,将所述新的业务请求加入所述缓存队列;
从所述缓存队列中获取所述新的业务请求并处理。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
确定业务处理模块当前剩余的系统资源量低于设定阈值且当前已启用缓存队列时,将所述新的业务请求加入所述缓存队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410429073.2/2.html,转载请声明来源钻瓜专利网。