CN106341343A - 一种自动服务降级系统及方法 - Google Patents
一种自动服务降级系统及方法 Download PDFInfo
- Publication number
- CN106341343A CN106341343A CN201610825439.7A CN201610825439A CN106341343A CN 106341343 A CN106341343 A CN 106341343A CN 201610825439 A CN201610825439 A CN 201610825439A CN 106341343 A CN106341343 A CN 106341343A
- Authority
- CN
- China
- Prior art keywords
- flow
- operator
- feature
- characteristic signature
- importance
- 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
Classifications
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种自动服务降级系统,包括流量识别模块和流量选择模块,所述流量识别模块在http请求头数据上设计特征算子,通过特征算子进行流量识别;所述流量识别模块计算流量的特征签名,所述特征签名采用机器学习算法训练一流量重要性预测模型K(X),根据流量重要性预测模型K(X)计算流量为重要流量的概率;所述流量识别模块将计算得到的流量为重要流量的概率传送给流量选择模块,所述流量选择模块丢弃不需要的流量。本发明一种自动服务降级系统可避免后端服务系统在流超过系统服务能力时,系统超载宕机的情况发生;可在丢弃超载流量的情况下,能够自动识别流量重要性,最大可能的避免超载造成的业务损失。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种自动服务降级系统及方法。
背景技术
检索系统、交易系统和通信系统是互联网企业中最常用的三类后端服务系统,支撑着搜索、电商和广告等关键业务。由于业务本身复杂性,系统通常只能提供有限的服务能力,这种服务能力一般用每秒响应请求数来衡量。互联网业务经常面临流量的周期性和随机性波动,比如双十一电商节、节假日车票抢购等。这种波动会给后端系统带来远超起服务能力的流量,及系统被超载,进而造成系统宕机和服务超时,并最终导致服务不可用。保障后端服务系统在高负载情况下的可用性一直是系统设计和开发中的一个重要课题。
传统的系统超载解决方案包括系统扩容、业务排队和随机丢弃请求等方法。系统扩容是指通过扩大后端服务系统的部署规模,提高服务能力,从而在根本上解决系统超载问题。然而扩容会增加业务运行成本,但并不能线性增加系统服务能力,很难达到理想的投入产出比。业务排队是指将要处理的请求放入队列,进而控制对后端服务系统的压力。但排队系统会明显降低业务相应速度,增加业务复杂度。随机丢弃请求是指后端服务系统随机丢弃超载部分的请求,从而避免进入超载,或者及时从超载状态恢复。不过随机丢弃的请求,会带来难以把握的业务损失。这三种方法虽然能够避免系统超载,但难以保证成本和效果。
互联网业务中流量一般指来自用户端浏览器的http请求。根据RFC2616中对HTTP/1.1协议的定义,http请求包含一个请求头,请求头中以key-value的方式向http服务器发送数据。
在现代用户操作系统中,用户浏览器一般为软件厂商以二进制方式发布给用户。因此,如何发送http请求头是由不受用户控制和修改的一段二进制代码来控制的。若用户安装了相同的浏览器二进制发布版本,则其向服务器发送的http请求头应具有相同的模式,可以利用这种模式来区分流量的重要度。传统方法采用统计每个ip的访问量来识别流量。
发明内容
本发明的目的是为了解决现有技术的不足,提供一种自动服务降级系统,通过设计和引入一个流量识别模块,有选择的对流量进行服务和响应,从而避免系统超载、发生宕机和超时的问题。
本发明的目的是通过以下技术方案实现的:
一种自动服务降级系统,包括:
流量识别模块,用于识别流量重要程度,提供流量选择的依据;
流量选择模块,用于实现流量的选择和丢弃,保证后端服务不被超载;
所述流量识别模块在http请求头数据上设计特征算子,通过特征算子进行流量识别;所述流量识别模块计算流量的特征签名,所述特征签名采用机器学习算法训练一流量重要性预测模型K(X),根据流量重要性预测模型K(X)计算流量为重要流量的概率;
所述流量识别模块将计算得到的流量为重要流量的概率传送给流量选择模块,所述流量选择模块根据后端服务的容限Q,丢弃不需要的流量。
上述的一种自动服务降级系统,其中,所述流量识别模块在http请求头数据上设计的特征算子包括:
值约束算子,表示请求头中某key取某值,表达式为Key=val;
序约束算子,表示请求头中某key在另一key之前,表达式为Key1>key2;
组合约束算子,表示两个算子同时为真,表达式为A|B。
上述的一种自动服务降级系统,其中,根据设计的特征算子,将http请求头中的字段进行分类,每种字段对应一种或两种特征算子。
上述的一种自动服务降级系统,其中,根据设计的特征算子,在http请求头上进行特征提取,并计算特征签名来表示http流量。
上述的一种自动服务降级系统,其中,给定特征算子列表H和特征签名哈希函数M,所述特征签名采用以下方法计算:
步骤1,解析http请求头,提取各字段及其取值,得到解析后的http头;
步骤2,依顺序将特征算子列表H中每个算子应用于解析后的http头,判断算子是否为真,如果算子为真,则保留算子返回值,算子返回值构成特征列表F;
步骤3,对得到的特征列表F,采用特征签名哈希函数M计算流量的特征签名。
上述的一种自动服务降级系统,其中,所述步骤3具体包括:
步骤3.1,对特征列表F中的每个特征f,用签名哈希函数M计算哈希值;
步骤3.2,将步骤1得到的哈希值,按特征列表F的顺序排列,得到特征签名。
上述的一种自动服务降级系统,其中,所述特征签名采用机器学习算法训练一流量重要性预测模型K(X)的方法至少包括以下步骤:
步骤1,根据历史业务数据,计算每种特征签名对应的流量为重要流量的概率;
步骤2,使用逻辑斯特回归算法,使用梯度下降方法学习流量重要性预测模型K(X),K(X)给出流量X为重要流量的概率。
上述的一种自动服务降级系统,其中,所述流量选择模块根据后端服务的容限Q,丢弃不需要的流量的方法至少包括以下步骤:
步骤1,取线上服务时间片Tn时刻内的流量,使用流量重要性预测模型K(X)计算每个流量为重要流量的概率P(X),并计算P(X)的直方图Hn,Hn表示时间片Tn时刻内的流量重要性的分布;
步骤2,取一流量重要性阈值kn+1,并丢弃K(X)<kn+1的流量;
上述的一种自动服务降级系统,其中,所述流量重要性阈值kn+1的计算公式为:kn+1=maxkH(K)<Q,其中Q为后端服务系统的QPS容限,所述kn+1使用二分查找法求取,取值范围为0到1。
综上所述,本发明与现有技术相比,有以下优点和有益效果:
(1)本发明使用http头做特征签名进行流量识别,并使用流量重要性模型来丢弃流量,提高了业务速度和工作效率,且避免了随机丢弃带来的业务损失;
(1)本发明一种自动服务降级系统可避免后端服务系统在流量发生波动、超过系统服务能力时,系统超载宕机的情况发生;
(2)本发明一种自动服务降级系统在丢弃超载流量的情况下,能够自动识别流量重要性,最大可能的避免超载造成的业务损失。
附图说明
图1是本发明一种自动服务降级系统的原理框图。
具体实施方式
下面结合附图对本发明的具体实施方式作详细介绍。
请参见图1,本发明提供了一种自动服务降级系统,包括:流量识别模块,用于识别流量重要程度,提供流量选择的依据;流量选择模块,用于实现流量的选择和丢弃,保证后端服务不被超载。
流量识别模块在http请求头数据上设计特征算子,通过特征算子进行流量识别。
特征算子包括三类:
值约束算子,表示请求头中某key取某值,表达式为Key=val;
序约束算子,表示请求头中某key在另一key之前,表达式为Key1>key2;
组合约束算子,表示两个算子同时为真,表达式为A|B。
根据设计的特征算子,按照适用算子类型,将http请求头中的字段进行分类,每种字段对应一种或两种特征算子。
字段与特征算子的对应方式如表1所示:
表1
流量识别模块计算流量的特征签名,特征签名采用机器学习算法训练一流量重要性预测模型K(X),根据流量重要性预测模型K(X)计算流量为重要流量的概率。
要计算流量的特征签名,首先解析http请求头,提取各字段及其取值。给定特征算子列表H和特征签名哈希函数M,根据表1对字段的分类,通过约束算子进行特征提取,得到特征列表F,具体包括:依顺序将特征算子列表H中每个算子应用于解析后的http头,判断算子是否为真,如果算子为真,则保留算子返回值,算子返回值构成特征列表F。
再通过特征签名哈希函数M将特征列表F转化为征签名向量X,初始化征签名向量X为零向量。对特征列表F中的每个特征f,用签名哈希函数M计算哈希值;将得到的哈希值,按特征列表F的顺序排列,得到特征签名。
流量识别模块通过在流量特征签名上学习得到的流量重要性预测模型K(X)预测流量的重要性。流量识别模块将计算的概率k=K(X)传送给流量选择模块,流量选择模块根据流量的重要性决定在系统即将超载的情况下,哪些流量应该得到服务,哪些流量应该暂时丢弃。
取线上服务时间片Tn时刻内的流量,分别计算每个流量为重要流量分布累积直方图Hn(k),Hn(k)表示时间片Tn时刻内的流量重要性大于k的流量。
设后端服务系统的QPS容限为Q,当每秒流量高于Q时后端服务系统将发生超载。为了避免超载,流量选择模块需要控制发送给后端服务系统的流量低于系统容限Q。
假设流量重要性分布相对稳定,短时间内不会发生变化,则可使用时间片Tn时刻内的流量重要性分布Hn作为对Tn+1时刻的估计,将Tn+1时刻内的流量重要性分布记为设
为了避免超载发生,在Tn+1时刻应丢弃重要性不高的流量,取流量重要性阈值kn+1,丢弃K(X)<kn+1的流量;流量重要性阈值kn+1的计算公式为:kn+1=maxkH(K)<Q,其中Q为后端服务系统的QPS容限,kn+1取值范围为0到1,可使用二分查找法求取。
采用上述流量选择算法能够保证重要性高的流量发送给后端服务系统,且不会超过系统QPS容限。
本发明自动服务降级系统部署在web服务器和检索系统之间。若流量不足以造成超载,则自动服务降级系统会使用非常低的重要性阈值,下发所有流量,不丢失任何流量;当流量增加超过检索系统容限,则自动降级系统会自动根据系统容限选择概率性阈值,自动丢弃不重要的流量,从而避免系统超载宕机。
综上所述,本发明与现有技术相比,有以下优点和有益效果:
(1)本发明使用http头做特征签名进行流量识别,并使用流量重要性模型来丢弃流量,提高了业务速度和工作效率,且避免了随机丢弃带来的业务损失;
(2)本发明一种自动服务降级系统可避免后端服务系统在流量发生波动、超过系统服务能力时,系统超载宕机的情况发生;
(3)本发明一种自动服务降级系统在丢弃超载流量的情况下,能够自动识别流量重要性,最大可能的避免超载造成的业务损失。
以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。
Claims (9)
1.一种自动服务降级系统,其特征在于,包括:
流量识别模块,用于识别流量重要程度,提供流量选择的依据;
流量选择模块,用于实现流量的选择和丢弃,保证后端服务不被超载;
所述流量识别模块在http请求头数据上设计特征算子,通过特征算子进行流量识别;所述流量识别模块计算流量的特征签名,所述特征签名采用机器学习算法训练一流量重要性预测模型K(X),根据流量重要性预测模型K(X)计算流量为重要流量的概率;
所述流量识别模块将计算得到的流量为重要流量的概率传送给流量选择模块,所述流量选择模块根据后端服务的容限Q,丢弃不需要的流量。
2.根据权利要求1所述的一种自动服务降级系统,其特征在于,所述流量识别模块在http请求头数据上设计的特征算子包括:
值约束算子,表示请求头中某key取某值,表达式为Key=val;
序约束算子,表示请求头中某key在另一key之前,表达式为Key1>key2;
组合约束算子,表示两个算子同时为真,表达式为A|B。
3.根据权利要求2所述的一种自动服务降级系统,其特征在于,根据设计的特征算子,将http请求头中的字段进行分类,每种字段对应一种或两种特征算子。
4.根据权利要求3所述的一种自动服务降级系统,其特征在于,根据设计的特征算子,在http请求头上进行特征提取,并计算特征签名来表示http流量。
5.根据权利要求4所述的一种自动服务降级系统,其特征在于,给定特征算子列表H和特征签名哈希函数M,所述特征签名采用以下方法计算:
步骤1,解析http请求头,提取各字段及其取值,得到解析后的http头;
步骤2,依顺序将特征算子列表H中每个算子应用于解析后的http头,判断算子是否为真,如果算子为真,则保留算子返回值,算子返回值构成特征列表F;
步骤3,对得到的特征列表F,采用特征签名哈希函数M计算流量的特征签名。
6.根据权利要求5所述的一种自动服务降级系统,其特征在于,所述步骤3具体包括:
步骤3.1,对特征列表F中的每个特征f,用签名哈希函数M计算哈希值;
步骤3.2,将步骤1得到的哈希值,按特征列表F的顺序排列,得到特征签名。
7.根据权利要求1所述的一种自动服务降级系统,其特征在于,所述特征签名采用机器学习算法训练一流量重要性预测模型K(X)的方法至少包括以下步骤:
步骤1,根据历史业务数据,计算每种特征签名对应的流量为重要流量的概率;
步骤2,使用逻辑斯特回归算法,使用梯度下降方法学习流量重要性预测模型K(X),K(X)给出流量X为重要流量的概率。
8.根据权利要求1所述的一种自动服务降级系统,其特征在于,所述流量选择模块根据后端服务的容限Q,丢弃不需要的流量的方法至少包括以下步骤:
步骤1,取线上服务时间片Tn时刻内的流量,使用流量重要性预测模型K(X)计算每个流量为重要流量的概率P(X),并计算P(X)的直方图Hn,Hn表示时间片Tn时刻内的流量重要性的分布;
步骤2,取一流量重要性阈值kn+1,并丢弃K(X)<kn+1的流量。
9.根据权利要求8所述的一种自动服务降级系统,其特征在于,所述流量重要性阈值kn+1的计算公式为:kn+1=maxkH(K)<Q,其中Q为后端服务系统的QPS容限,所述kn+1使用二分查找法求取,取值范围为0到1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825439.7A CN106341343B (zh) | 2016-09-14 | 2016-09-14 | 一种自动服务降级系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825439.7A CN106341343B (zh) | 2016-09-14 | 2016-09-14 | 一种自动服务降级系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106341343A true CN106341343A (zh) | 2017-01-18 |
CN106341343B CN106341343B (zh) | 2019-06-18 |
Family
ID=57838996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610825439.7A Active CN106341343B (zh) | 2016-09-14 | 2016-09-14 | 一种自动服务降级系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106341343B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222567A (zh) * | 2017-07-07 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 处理数据请求的方法、装置及服务集群 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN110891030A (zh) * | 2019-12-26 | 2020-03-17 | 南京烽火星空通信发展有限公司 | 一种基于机器学习的http流量特征识别与提取方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610257A (zh) * | 2009-07-17 | 2009-12-23 | 北京邮电大学 | 一种互联网业务流的实时上下文感知与分级标记的方法 |
US20120314584A1 (en) * | 2011-06-13 | 2012-12-13 | Huawei Technologies Co., Ltd. | Method and apparatus for protocol parsing |
CN103036803A (zh) * | 2012-12-21 | 2013-04-10 | 南京邮电大学 | 一种基于应用层检测的流量控制方法 |
CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
CN104038389A (zh) * | 2014-06-19 | 2014-09-10 | 高长喜 | 多重应用协议识别方法和装置 |
US20140307555A1 (en) * | 2013-04-15 | 2014-10-16 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
CN105787512A (zh) * | 2016-02-29 | 2016-07-20 | 南京邮电大学 | 基于新型特征选择方法的网络浏览与视频分类方法 |
-
2016
- 2016-09-14 CN CN201610825439.7A patent/CN106341343B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610257A (zh) * | 2009-07-17 | 2009-12-23 | 北京邮电大学 | 一种互联网业务流的实时上下文感知与分级标记的方法 |
US20120314584A1 (en) * | 2011-06-13 | 2012-12-13 | Huawei Technologies Co., Ltd. | Method and apparatus for protocol parsing |
CN103078897A (zh) * | 2012-11-29 | 2013-05-01 | 中山大学 | 一种实现Web业务细粒度分类与管理的系统 |
CN103036803A (zh) * | 2012-12-21 | 2013-04-10 | 南京邮电大学 | 一种基于应用层检测的流量控制方法 |
US20140307555A1 (en) * | 2013-04-15 | 2014-10-16 | International Business Machines Corporation | Flow control credits for priority in lossless ethernet |
CN104038389A (zh) * | 2014-06-19 | 2014-09-10 | 高长喜 | 多重应用协议识别方法和装置 |
CN105787512A (zh) * | 2016-02-29 | 2016-07-20 | 南京邮电大学 | 基于新型特征选择方法的网络浏览与视频分类方法 |
Non-Patent Citations (2)
Title |
---|
QIANG XU ETAL: "Automatic generation of mobile app signatures from traffic observations", 《2015 IEEE CONFERENCE ON COMPUTER COMMUNICATIONS (INFOCOM)》 * |
崔月婷: "基于分类算法与聚类算法流量识别系统的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222567A (zh) * | 2017-07-07 | 2017-09-29 | 北京京东尚科信息技术有限公司 | 处理数据请求的方法、装置及服务集群 |
CN107592219A (zh) * | 2017-09-04 | 2018-01-16 | 北京潘达互娱科技有限公司 | 服务降级处理方法及装置 |
CN110891030A (zh) * | 2019-12-26 | 2020-03-17 | 南京烽火星空通信发展有限公司 | 一种基于机器学习的http流量特征识别与提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106341343B (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110851429B (zh) | 一种基于影响力自适应聚合的边缘计算可信协同服务方法 | |
US10091675B2 (en) | System and method for estimating an effective bandwidth | |
US10965554B2 (en) | Data processing method and related device, and system | |
CN104410582A (zh) | 一种基于流量预测的电力通信网流量均衡方法 | |
CN106341343A (zh) | 一种自动服务降级系统及方法 | |
US20190004837A1 (en) | Optimizing allocation of virtual machines in cloud computing environment | |
CN107172187A (zh) | 一种负载均衡系统和方法 | |
CN111930526A (zh) | 负载预测方法、装置、计算机设备和存储介质 | |
CN102724123A (zh) | 网络流量控制方法及控制装置 | |
CN111163085A (zh) | 一种灰度发布场景优化方法 | |
CN107835133A (zh) | 一种基于多属性决策的流优先级控制方法 | |
CN116668380A (zh) | 汇聚分流器设备的报文处理方法及装置 | |
CN109150756A (zh) | 一种基于sdn电力通信网的队列调度权值量化方法 | |
CN114285855B (zh) | 一种基于智能边缘物联的云边协同方法 | |
WO2022083549A1 (zh) | 流量信号转换方法、装置、电子设备及存储介质 | |
CN101917332A (zh) | 一种降低消息中间件网络负载的消息传递方法 | |
CN105162837A (zh) | 海量数据存储环境下提升i/o吞吐率的方法及系统 | |
US20220058009A1 (en) | Application placement device and application placement program | |
CN104298539A (zh) | 基于网络感知的虚拟机调度与再调度方法 | |
CN103685326A (zh) | 一种web并发数据传输方法及web应用系统 | |
CN105282242A (zh) | 一种基于多属性信息的数据中心间的数据传输调度方法 | |
CN114328587A (zh) | 一种ndc报文分布式解析系统架构集成方法及装置 | |
CN107104904A (zh) | 一种分组传送网流量识别的网络均衡方法及系统 | |
CN112019589A (zh) | 一种多层级负载均衡数据包处理方法 | |
CN106357676A (zh) | 一种云服务资源开销优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |