CN109167761A - 一种请求自动处理的方法及装置 - Google Patents
一种请求自动处理的方法及装置 Download PDFInfo
- Publication number
- CN109167761A CN109167761A CN201810918909.3A CN201810918909A CN109167761A CN 109167761 A CN109167761 A CN 109167761A CN 201810918909 A CN201810918909 A CN 201810918909A CN 109167761 A CN109167761 A CN 109167761A
- Authority
- CN
- China
- Prior art keywords
- degradation
- bit
- preset
- request
- bitmap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000008569 process Effects 0.000 title abstract description 8
- 230000015556 catabolic process Effects 0.000 claims abstract description 187
- 238000006731 degradation reaction Methods 0.000 claims abstract description 187
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000011084 recovery Methods 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000000593 degrading effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种请求自动处理的方法及装置。该方法包括:步骤1、初始化请求来源的降级优先级位图并设置所述请求来源的掩码;步骤2、获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;步骤3、若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;步骤4、接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;步骤5、根据判断结果对所述请求进行保留处理或丢弃处理。本发明通过设置降级优先级位图和掩码对不同请求来源进行降级和降级恢复,能够在节省资源的前提下,实现自动化运维,并且实时性好,占用内存小以及计算量少。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种请求自动处理的方法及装置。
背景技术
随着互联网业务的发展,一个后台系统通常会有多个来源进行访问,例如PC端软件,Web系统、手机端软件、提供给第三方的API、内部系统访问、特定客户来源访问等多个来源通过适配后,对同一后台系统访问。然而,在个别特殊日期,如节假日、运营活动等,用户访问会在瞬间造成系统的并发度成倍增长,如果后台系统没有足够的容量,则很可能会造成后台系统雪崩风险。
目前,为了确保后台系统在流量瞬间上涨时能够稳定运行,一种方式为根据经验预估流量,提前部署充足的服务器来缓解特殊日期流量瞬间上涨时带来的访问压力。例如,预估特殊日期的流量较平日多一倍流量上涨,则需要提前部署多一倍的服务器来缓解。但是,实际情况下,按照经验预估的流量值并不准确,若实际访问流量超出预估值,仍会给后台系统带来瞬间雪崩风险。并且提前部署充足的服务器(包括硬件服务器的部署,以及后端软件系统的部署和测试),以及后期需撤回多余的服务器,这些工作需要耗费大量的人力、物力和时间。
另一种方式则是通过优化后台系统的并发访问能力,降低单个请求的访问时长,提升性能。这种方式,同样需要耗费较多人力,且较长时间才能实现,此外上线后短期有效果,但是随着业务功能的增长,业务复杂度提升上去后,原本通过优化节省出的访问时长,则又会被占用。
发明内容
为解决现有技术中存在的上述问题,本发明提供一种请求自动处理的方法及装置。
一方面,本发明提供一种请求自动处理的方法,该方法包括:
步骤1、初始化请求来源的降级优先级位图并设置所述请求来源的掩码;
步骤2、获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;
步骤3、若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;
步骤4、接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;
步骤5、根据判断结果对所述请求进行保留处理或丢弃处理。
进一步地,该方法还包括:步骤6、若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
进一步地,该方法还包括:根据流量访问日志,确定各请求来源的占比;
相应地,所述步骤3具体为:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
进一步地,所述步骤3具体包括:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
进一步地,所述步骤6具体包括:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
另一方面,本发明提供一种请求自动处理的装置,该装置包括:
初始化模块,初始化请求来源的降级优先级位图并设置所述请求来源的掩码;
获取模块,用于获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;
降级模块,若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;
分析模块,用于接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;
处理模块,用于根据判断结果对所述请求进行保留处理或丢弃处理。
进一步地,该装置还包括:恢复模块,若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
进一步地,该装置还包括:流量统计模块,用于根据流量访问日志,确定各请求来源的占比;
相应地,所述降级模块具体用于:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
进一步地,所述降级模块具体用于:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
进一步地,所述恢复模块具体用于:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
本发明的有益效果:
本发明提供的一种请求自动处理的方法及装置,具有以下有益效果:
(1)节省资源。通过区分来源以及对来源的优先级进行排列,在系统流量高峰来临时,通过自动判断降级非核心流量,释放服务器的资源,保证核心来源的流量访问系统的可用性,不用额外扩充机器资源来达到目的。
(2)自动化运维。通过优先级位图以及监控系统的实时流量,组合判断来达到自动降级和自动恢复的能力,当流量达到上限阈值时,可以实现持续自动降级,保证系统的服务能力;当流量低至下限阈值时,逐个恢复非核心流量,不用人工干预,降低了节日运维成本。
(3)实时性好。本发明通过掩码与优先级位图中对应标记位进行与或运算,判断出目前后台系统状态进行升级或降级,判断过程只占用一个CPU指令周期的时间,小于1ms,在微秒级别,因此本发明实时性较好。
(4)占用内存小。相较于传统植入内容大量统计、判定变量的方法相比,传统方法的内存占用为KB-MB级别,而本发明识别系统降级的掩码只用4个字节的int类型即可,无需配置文件,节省了大量的内存占用空间。
(5)计算量少。通过掩码移位操作,在一个CPU指令的情况下完成计算系统负载的能力,完全不增加正常业务请求的耗时。
附图说明
图1为本发明实施例提供的一种请求自动处理的方法的流程示意图;
图2为本发明实施例提供的一种请求自动处理的装置的结构示意图;
图3为本发明实施例提供的高并发系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种请求自动处理的方法的流程示意图。如图1所示,该方法包括以下步骤:
S101、初始化请求来源的降级优先级位图并设置所述请求来源的掩码;
具体地,请求来源可以包括手机端、PC端、Web端、API端、微信小程序、协议第三方、系统内部访问和其他不确定流量来源,可以理解的是,请求来源可以动态扩展。
例如,若将请求来源分为手机端、PC端、Web端、API端、微信小程序、协议第三方、系统内部访问和其他,设置上述8种请求来源的待处理优先级依次降低,则请求来源的降级优先级位图可如下设置:
表1请求来源的降级优先级位图
手机端 | PC端 | Web端 | API端 | 微信小程序 | 协议第三方 | 内部访问 | 其他 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
如表1所示,可用一个无符号数进行表示,无符号数的每一个比特位代表一个请求来源。即所述降级优先级位图中的不同比特位分别对应不同的请求来源。每一个比特位取值0或者1;0表示未降级,1表示已降级。低比特位表示降级优先级高,可优先降级。
然后,为每个请求来源设置掩码。以上述8种请求来源为例,掩码可设置如下:
#define from_other 1
#define from_inner 3
#define from_third 7
#define from_weixin 15
#define from_api 31
#define from_web 63
#define from_pcclient 127
#define from_mobileclient 255
S102、获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;
具体地,该等待队列用于保存未被处理的请求,是一种在内存中实现的队列结构,先进先出型,队列尾部进,头部出。本发明实施例采用等待队列的长度(目前有多少请求被缓存在队列中未被处理),来表示目前后台系统所处的压力状态。
例如,后台系统的服务模型为多线程处理模型,如定义50个线程并发处理请求,当目前到达单机的请求数多于50的时候,工作线程未释放,后台系统自动将请求缓存到等待队列中,当有工作线程空闲时,从等待队列的队首取一个请求进行处理。
S103、若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;
具体地,后台系统单机均有最大并发度,根据单机的配置(CPU、内存、网卡),以及业务的复杂度(业务越复杂,单次请求耗时长,并发度低)定义后台系统中单机的降级上限值,当等待队列的长度达到降级上限值时,自动降级。当系统已降级一次,仍达到上限值(流量持续上涨时),可进行第二次降级。
例如,以上述降级优先级位图为例,可先“其他”请求来源对应比特位置1;若进行降级后,等待队列的长度仍达到降级上限值,则可将“内部访问”请求来源对应比特位置1;依此类推,直至等待队列的长度低于降级上限值。
S104、接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;
具体地,一个新请求到来时,后台系统首先提取该请求的来源,然后根据此时的降级优先级位图以及该来源的掩码进行判断,该请求来源是否已经被降级。
例如,以上述降级优先级位图和上述掩码设置为例,若通过提取新请求的来源为“其他”,if(degrade_bitmap&from_other!=false)表示来源于“其他”的流量已降级。
S105、根据判断结果对所述请求进行保留处理或丢弃处理。
具体地,若新请求对应的来源已被降级,则丢弃该新请求;若新请求对应的来源未被降级,则保留该新请求。
本发明实施例提供的一种请求自动处理的方法,第一、可节省资源:通过区分来源以及对来源的优先级进行排列,在系统流量高峰来临时,通过自动判断降级非核心流量,释放服务器的资源,保证核心来源的流量访问系统的可用性,不用额外扩充机器资源来达到目的。第二、实现自动化运维:通过优先级位图以及监控系统的实时流量,组合判断来达到自动降级能力,当流量达到上限阈值时,可以实现持续自动降级,保证系统的服务能力。第三、实时性好:本发明通过掩码与优先级位图中对应标记位进行与或运算,判断出目前后台系统状态进行升级或降级,判断过程只占用一个CPU指令周期的时间,小于1ms,在微秒级别,因此本发明实时性较好;第四、节省内存:相较于传统植入内容大量统计、判定变量的方法相比,传统方法的内存占用为KB-MB级别,而本发明识别系统降级的掩码只用4个字节的int类型即可,无需配置文件,节省了大量的内存占用空间;第五、计算量少:通过掩码移位操作,在一个CPU指令的情况下完成计算系统负载的能力,完全不增加正常业务请求的耗时。
在上述实施例的基础上,该方法还包括:步骤S106、若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
具体地,后台系统单机均有最大并发度,根据单机的配置(CPU、内存、网卡),以及业务的复杂度(业务越复杂,单次请求耗时长,并发度低)定义后台系统中单机的降级上限值,当等待队列的长度达到降级上限值时,自动降级。当系统已降级一次,仍达到上限值(流量持续上涨时),可进行第二次降级。当等待队列的长度达到降级下限值时,降级自动恢复。
例如,以上述降级优先级位图为例,当前时刻“内部访问”和“其他”这两个请求来源均已被降级,若等待队列的长度小于等于降级下限值时,可先将“内部访问”请求来源对应比特位置0;若进行降级后,此时等待队列的长度仍小于降级下限值,则将“其他”请求来源对应比特位置0;如可定义等待队列的长度上限为250的时候开始降级,下限为10的时候开始降级恢复。
在上述实施例的基础上,该方法还包括:根据流量访问日志,确定各请求来源的占比;
相应地,所述步骤S103具体为:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
具体地,后台系统可根据系统日常的流量访问日志,统计各种请求来源的流量在总访问流量中的占比,从而来判断,通过降级该来源可以释放多少系统容量,从而决定如何修改降级优先级位图,实现自动降级。
例如,各请求来源的占比如表2所示:
表2请求来源占比示意
来源 | 单日流量 | 占比 |
手机端 | 1673991 | 19.39% |
PC端 | 612828 | 7.10% |
Web端 | 871687 | 10.10% |
API端 | 1611702 | 18.67% |
微信小程序 | 1664835 | 19.29% |
协议第三方 | 325197 | 3.77% |
内部访问 | 600650 | 6.96% |
其他 | 1271570 | 14.73% |
根据统计预估降级后,可以释放多少访问能力:比如释放内部访问和其他来源的流量,可以释放大于20%的流量,系统压力会瞬间得到降低。
在上述各实施例的基础上,步骤S103具体包括:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
例如,如表1所示,实施例中的降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,以第一预设数字“1”表示比特位对应的请求来源已降级,则降级操作为:先将“其他”对应比特位置“1”;若此时等待队列的长度仍达到降级上限值,则向左移位至“内部访问”,将“内部访问”对应比特位置“1”,依次类推,直至等待队列的长度小于降级上限值。
与上述实施中的降级优先级位图相反,若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,如表3所示。
表3请求来源的降级优先级位图
其他 | 内部访问 | 协议第三方 | 微信小程序 | API端 | Web端 | PC端 | 手机端 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
以第一预设数字“1”表示比特位对应的请求来源已降级,则降级操作为:先将“其他”对应比特位置“1”;若此时等待队列的长度仍达到降级上限值,则向右移位至“内部访问”,将“内部访问”对应比特位置“1”,依次类推,直至等待队列的长度小于降级上限值。
在上述各实施例的基础上,步骤S106具体包括:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
例如,如表1所示,降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,以第一预设数字“1”表示比特位对应的请求来源已降级,以第二预设数字“0”表示比特位对应的请求来源未降级。可以理解的是,“1”也可表示未降级,“0”也可表示降级,相应地,需要重新设置各请求来源的掩码。当前时刻“内部访问”和“其他”这两个请求来源均已被降级,若等待队列的长度小于等于降级下限值时,降级恢复操作为:先将“内部访问”对应比特位“1”改为“0”;若此时等待队列的长度仍小于等于降级下限值时,则向右移位至“其他”,将“其他”对应比特位“1”改为“0”。
与上述实施中的降级优先级位图相反,若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,如表3所示,则降级恢复操作为:先将“内部访问”对应比特位“1”改为“0”;若此时等待队列的长度仍达到降级上限值,则向左移位至“其他”,将“其他”对应比特位“1”改为“0”。
图2为本发明实施例提供的一种请求自动处理的装置的结构示意图。如图2所示,该装置包括:初始化模块201,获取模块202,降级模块203,分析模块204和处理模块205。其中,
初始化模块201用于初始化请求来源的降级优先级位图并设置所述请求来源的掩码;获取模块202用于获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;降级模块203若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;分析模块204用于接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;处理模块205用于根据判断结果对所述请求进行保留处理或丢弃处理。
在上述实施例的基础上,该装置还包括:恢复模块,若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
在上述实施例的基础上,该装置还包括:流量统计模块,用于根据流量访问日志,确定各请求来源的占比;
相应地,所述降级模块具体用于:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
在上述实施例的基础上,所述降级模块具体用于:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
在上述实施例的基础上,所述恢复模块具体用于:若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
需要说明的是,本发明实施例提供的一种请求自动处理的装置,是为了实现上述方法实施例的,其功能具体可参考上述方法实施例,此处不再赘述。
图3为本发明实施例提供的高并发系统的结构示意图。如图3所示,上述实施例提供的请求自动处理的装置可应用在所述高并发系统的入口防御层。
高并发系统有多个来源:手机端、PC端软件、浏览器Web系统、API访问、微信小程序、协议第三方、内部访问等,来源可以动态扩展。
适配层:目的是将系统(处理访问请求后)所返回的数据进行适配,组装成适用于不同端访问的数据组合。
入口防御层:对内部系统实现过载保护。对入口流量进行负载均衡的分流,分到不同的内部服务器进行逻辑运算处理;针对不同请求来源进行自动降级、恢复功能。
内部系统以及数据层:通用的内部系统,实现不同访问来源的内部业务逻辑实现以及数据存储,通常由多台服务器进行分布式部署。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种请求自动处理的方法,其特征在于,包括:
步骤1、初始化请求来源的降级优先级位图并设置所述请求来源的掩码;
步骤2、获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;
步骤3、若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;
步骤4、接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;
步骤5、根据判断结果对所述请求进行保留处理或丢弃处理。
2.根据权利要求1所述的方法,其特征在于,还包括:
步骤6、若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
3.根据权利要求1所述的方法,其特征在于,还包括:
根据流量访问日志,确定各请求来源的占比;
相应地,所述步骤3具体为:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
4.根据权利要求1或3所述的方法,其特征在于,所述步骤3具体包括:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
5.根据权利要求2所述的方法,其特征在于,所述步骤6具体包括:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
6.一种请求自动处理的装置,其特征在于,包括:
初始化模块,用于初始化请求来源的降级优先级位图并设置所述请求来源的掩码;
获取模块,用于获取当前时刻等待队列的长度,所述等待队列用于存储尚未被处理的请求;
降级模块,若所述等待队列的长度大于等于预设上限阈值,则对所述降级优先级位图执行预设降级操作;
分析模块,用于接收请求并确定所述请求的来源,根据当前时刻的降级优先级位图和所述来源的掩码判断所述来源是否已进行降级处理;
处理模块,用于根据判断结果对所述请求进行保留处理或丢弃处理。
7.根据权利要求6所述的装置,其特征在于,还包括:
恢复模块,若所述等待队列的长度小于等于预设下限阈值,则对所述降级优先级位图执行预设降级恢复操作。
8.根据权利要求6所述的装置,其特征在于,还包括:
流量统计模块,用于根据流量访问日志,确定各请求来源的占比;
相应地,所述降级模块具体用于:
若所述等待队列的长度大于等于预设上限阈值,则根据所述占比对所述降级优先级位图进行预设降级操作。
9.根据权利要求6或8所述的装置,其特征在于,所述降级模块具体用于:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级操作为所述降级优先级位图从最低比特位向左移位,并在最低比特位填充第一预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级操作为所述降级优先级位图从最高比特位向右移位,并在最高比特位填充第一预设数字;
其中,所述第一预设数字用于表示比特位对应的请求来源已降级。
10.根据权利要求7所述的装置,其特征在于,所述恢复模块具体用于:
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次升高进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最高比特位向右移位,并在最高比特位填充第二预设数字;
若所述降级优先级位图按照从高比特位到低比特位降级优先级依次降低进行设置,则所述预设降级恢复操作为对填充第一预设数字的比特位从最低比特位向左移位,并在最低比特位填充第二预设数字;
其中,所述第二预设数字用于表示比特位对应的请求来源未降级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810918909.3A CN109167761B (zh) | 2018-08-14 | 2018-08-14 | 一种请求自动处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810918909.3A CN109167761B (zh) | 2018-08-14 | 2018-08-14 | 一种请求自动处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109167761A true CN109167761A (zh) | 2019-01-08 |
CN109167761B CN109167761B (zh) | 2021-06-01 |
Family
ID=64895719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810918909.3A Active CN109167761B (zh) | 2018-08-14 | 2018-08-14 | 一种请求自动处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109167761B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505155A (zh) * | 2019-08-13 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 请求降级处理方法、装置、电子设备及存储介质 |
CN112148556A (zh) * | 2020-09-14 | 2020-12-29 | 烽火通信科技股份有限公司 | 一种基于位运算的软件防抖方法和装置 |
CN115037801A (zh) * | 2022-03-14 | 2022-09-09 | 阿里巴巴(中国)有限公司 | 优先级调整方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299716A (zh) * | 2008-04-25 | 2008-11-05 | 华为技术有限公司 | 业务数据发送的方法、装置及系统 |
CN104202261A (zh) * | 2014-08-27 | 2014-12-10 | 华为技术有限公司 | 一种业务请求处理方法及装置 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN107688607A (zh) * | 2017-07-26 | 2018-02-13 | 努比亚技术有限公司 | 一种数据库访问的方法及移动终端、计算机可读存储介质 |
US20180074732A1 (en) * | 2013-06-11 | 2018-03-15 | Viacom International Inc. | Method and System for Data Archiving |
-
2018
- 2018-08-14 CN CN201810918909.3A patent/CN109167761B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299716A (zh) * | 2008-04-25 | 2008-11-05 | 华为技术有限公司 | 业务数据发送的方法、装置及系统 |
US20180074732A1 (en) * | 2013-06-11 | 2018-03-15 | Viacom International Inc. | Method and System for Data Archiving |
CN104202261A (zh) * | 2014-08-27 | 2014-12-10 | 华为技术有限公司 | 一种业务请求处理方法及装置 |
CN107688607A (zh) * | 2017-07-26 | 2018-02-13 | 努比亚技术有限公司 | 一种数据库访问的方法及移动终端、计算机可读存储介质 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505155A (zh) * | 2019-08-13 | 2019-11-26 | 北京达佳互联信息技术有限公司 | 请求降级处理方法、装置、电子设备及存储介质 |
CN110505155B (zh) * | 2019-08-13 | 2023-12-08 | 北京达佳互联信息技术有限公司 | 请求降级处理方法、装置、电子设备及存储介质 |
CN112148556A (zh) * | 2020-09-14 | 2020-12-29 | 烽火通信科技股份有限公司 | 一种基于位运算的软件防抖方法和装置 |
CN112148556B (zh) * | 2020-09-14 | 2022-08-12 | 烽火通信科技股份有限公司 | 一种基于位运算的软件防抖方法和装置 |
CN115037801A (zh) * | 2022-03-14 | 2022-09-09 | 阿里巴巴(中国)有限公司 | 优先级调整方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109167761B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239339B (zh) | 系统性能优化参数确定方法、系统性能优化方法及装置 | |
CN109167761B (zh) | 一种请求自动处理的方法及装置 | |
CN109032805A (zh) | 一种弹性扩缩容方法、装置、服务器及存储介质 | |
CN112398945B (zh) | 一种基于背压的业务处理方法及装置 | |
CN102801550A (zh) | 一种内容分发网络管理方法及装置 | |
CN109117280A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN114579296A (zh) | 一种服务器闲置算力调度方法、装置及电子设备 | |
CN112817772B (zh) | 一种数据通信方法、装置、设备及存储介质 | |
CN110557432B (zh) | 一种缓存池均衡优化方法、系统、终端及存储介质 | |
CN115002044B (zh) | 控制数据传输的方法、装置、计算机设备及存储介质 | |
CN110221914B (zh) | 文件处理方法及装置 | |
CN107370783B (zh) | 一种云计算集群资源的调度方法及装置 | |
US20200112520A1 (en) | Resource allocation using restore credits | |
CN110096339A (zh) | 一种基于系统负载实现的扩缩容配置推荐系统及方法 | |
CN109002381A (zh) | 进程通信监控方法、电子装置及计算机可读存储介质 | |
CN110659132B (zh) | 请求处理的优化方法及计算机可读存储介质 | |
CN108804152B (zh) | 配置参数的调节方法及装置 | |
CN117076195A (zh) | 参数的调整方法、装置、存储介质及电子装置 | |
US20220114188A1 (en) | Efficient Database Loading | |
CN114428685A (zh) | 一种数据处理的方法、装置、设备及计算机存储介质 | |
CN109062706B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN102497431B (zh) | 一种tcp连接缓存应用数据的内存申请方法和系统 | |
CN111506410A (zh) | 一种后台批量处理业务的优化方法、系统和存储介质 | |
CN109062707A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN116991781B (zh) | 一种请求处理装置、方法、芯片、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |