CN112019589B - 一种多层级负载均衡数据包处理方法 - Google Patents
一种多层级负载均衡数据包处理方法 Download PDFInfo
- Publication number
- CN112019589B CN112019589B CN202010614615.9A CN202010614615A CN112019589B CN 112019589 B CN112019589 B CN 112019589B CN 202010614615 A CN202010614615 A CN 202010614615A CN 112019589 B CN112019589 B CN 112019589B
- Authority
- CN
- China
- Prior art keywords
- data packet
- service processing
- primary
- queues
- processing
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明一种多层级负载均衡数据包处理方法,依次包括如下步骤:S1设置五元组范围列表,S2创建m个一级队列,m*n个二级队列;S3从网卡读取数据包,获取数据包的五元组信息;S4数据包需要一级业务处理,转至S5,否则转至S11;S5、数据包入一级队列Q1[x],x为哈希值除以m的余数;S6、取出数据包,进行一级业务处理;S7、数据包需要二级业务处理,转至步骤S8,否则转至S11;S8、提取数据包中需要使用的信息,构造自定义数据结构,发送数据包;S9、数据包入二级队列Q2[x][y],y为哈希值除以n的余数;S10、取出数据进行处理,流程结束;S11发送数据包,流程结束。该方法可按照单数据包处理最长时间对多个业务做分级处理,能够有效解决数据包时延大和丢包问题。
Description
【技术领域】
本发明涉及信息技术的技术领域,特别是一种多层级负载均衡数据包处理方法。
【背景技术】
随着互联网的飞速发展,信息安全涉及的业务复杂度也日益提升,其中不乏处理时间长的业务,如应用层协议识别、用户行为审计。现有的数据包处理主要使用串行处理,不同的数据包需要的业务处理不同,有部分业务需要的处理时间较长,当大量数据包都需要进行费时的业务处理时,会占用大量CPU,导致其他数据包处理不及时,从而引起数据包时延大的问题,高负荷情况下,会使CPU在短时间内被占满,引起网卡的大量的丢包,现提出一种多层级负载均衡数据包处理方法。
【发明内容】
本发明的目的就是解决现有技术中的问题,提出一种多层级负载均衡数据包处理方法,可按照单数据包处理最长时间对多个业务做分级处理,不同层级的业务互不影响,能够有效地解决数据包时延大和丢包问题。
为实现上述目的,本发明提出了一种多层级负载均衡数据包处理方法,具体步骤如下:
S1、设置需要进行多级业务处理的五元组范围列表,包括需要进行一级业务处理、二级业务处理的五元组范围列表,进入步骤S2;
S2、创建m个一级队列,记为Q1[m];创建m*n个二级队列,记为Q2[m][n],进入步骤S3;
S3、从网卡读取数据包,获取数据包的五元组信息,进入步骤S4;
S4、根据五元组信息判断数据包是否需要一级业务处理,若满足则转至步骤S5,若不满足则转至步骤S11;
S5、通过五元组信息计算哈希值,哈希值除以m的余数x作为选中的一级业务处理单元,数据包入一级队列Q1[x],进入步骤S6;
S6、一级业务处理单元从一级队列Q1[x]中取出数据包,进行一级业务处理,进入步骤S7;
S7、根据五元组信息判断数据包是否需要二级业务处理,若满足则转至步骤S8,若不满足则转至步骤S11;
S8、提取数据包中需要使用的信息,构造自定义数据结构,发送数据包,进入步骤S9;
S9、通过自定义信息计算哈希值,哈希值除以n的余数y作为选中的二级业务处理单元,数据包入二级队列Q2[x][y],进入步骤S10;
S10、二级业务处理单元从二级队列Q2[x][y]中取出数据进行处理,流程结束;
S11、发送数据包,流程结束。
作为优选,所述步骤S1中需要进行一级业务处理、二级业务处理的业务分别为一级业务、二级业务;所述一级业务对应的处理单元为一级业务处理单元,所述一级业务处理单元对应的队列为一级队列,数量为m,所述二级业务对应的处理单元为二级业务处理单元,所述二级业务处理单元对应的队列为二级队列,数量为m*n。
作为优选,不同层级的业务处理单元之间的使用无锁队列进行数据传递。
作为优选,所述一级业务的处理时间短于二级业务的处理时间。
作为优选,所述步骤S2中Q1[m]的下标[m]用于区分一级队列,Q2[m][n]的第一个下标[m]用于区分一级处理单元,第二个下标[n]用于区分二级处理单元。
本发明的有益效果:本发明中每个层级可以独立使用多个处理单元,不同层级之间的数据传递利用多对多的负载均衡技术,实现同一层级各处理单元的负载均衡,从而合理高效地分配CPU资源。
本发明对业务进行分层处理,可以针对实际业务流量的占比,调整每个层级业务使用的处理单元数量,合理地分配CPU资源;一级业务高效率,低耗时,处理完直接发送数据包,保证数据包转发延时低,有效避免数据包处理阻塞引起的高延时和丢包问题,二级业务异步处理,确保高耗时业务不影响一级业务的高效运行。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明一种多层级负载均衡数据包处理方法的流程图。
【具体实施方式】
为使本发明的目的、技术方案和优点更加清楚明了,下面通过实施例,对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明可以用于多级业务,为了便于理解,以二级业务为例展开阐述,处理时间短的业务称为一级业务,处理时间长的业务称为二级业务,相应的一级业务对应的处理单元称为一级业务处理单元,二级业务对应的处理单元称为二级业务处理单元,定义m为一级业务处理单元的数量,n为二级业务处理单元的数量,不同层级的业务处理单元之间的使用无锁队列进行数据传递,一级业务处理单元对应的队列称为一级队列,数量为m,二级业务处理单元对应的队列称称为二级队列,数量为m*n。数据包的捕获不在本发明范围,可以但不局限于:基于数据面开发套件DPDK的数据包捕获、基于linux内核的数据包捕获,不展开说明。
以网站查询关键字审计业务作为实施例,一级业务是协议识别,使用两个处理单元,二级业务是网站查询关键字审计,使用两个处理单元。具体步骤如下:
S1、设置需要进行一级业务处理、二级业务处理的五元组范围列表;进入步骤S2;
S2、创建2个一级队列,记为Q1[2],下标用于区分一级队列;创建2*2个二级队列,记为Q[2][2],第一个下标用于区分一级处理单元,第二个下标用于区分二级处理单元;进入步骤S3;
S3、从网卡读取数据包,获取数据包的五元组信息;进入步骤S4;
S4、根据五元组信息判断数据包是否需要一级业务处理,若满足则转至步骤S5;若不满足则转至步骤S11;
S5、通过五元组信息计算哈希值,哈希值除以一级业务单元数量2的余数x作为选中的一级业务处理单元,数据包入一级队列Q1[x];进入步骤S6;
S6、一级业务处理单元从一级队列Q1[x]中取出数据包,进行一级业务处理,识别出应用层协议;进入步骤S7;
S7、根据五元组信息判断数据包是否需要二级业务处理,若满足则转至步骤S8;若不满足则转至步骤S11;
S8、提取数据包中五元组信息和HTTP请求内容,发送数据包,进步骤S9;
S9、通过五元组信息计算哈希值,哈希值除以二级业务处理单元数量2的余数y作为选中的二级业务处理单元,数据包入二级队列Q2[x][y];进入步骤S10;
S10、二级业务处理单元从二级队列Q2[x][y]中取出数据进行处理,提取HTTP请求中的查询内容,流程结束;
S11、发送数据包,流程结束。
上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。
Claims (5)
1.一种多层级负载均衡数据包处理方法,其特征在于:具体步骤如下:
S1、设置需要进行多级业务处理的五元组范围列表,包括需要进行一级业务处理、二级业务处理的五元组范围列表,进入步骤S2;
S2、创建m个一级队列,记为Q1[m];创建m*n个二级队列,记为Q2[m][n],进入步骤S3;
S3、从网卡读取数据包,获取数据包的五元组信息,进入步骤S4;
S4、根据五元组信息判断数据包是否需要一级业务处理,若满足则转至步骤S5,若不满足则转至步骤S11;
S5、通过五元组信息计算哈希值,哈希值除以m的余数x作为选中的一级业务处理单元,数据包入一级队列Q1[x],进入步骤S6;
S6、一级业务处理单元从一级队列Q1[x]中取出数据包,进行一级业务处理,进入步骤S7;
S7、根据五元组信息判断数据包是否需要二级业务处理,若满足则转至步骤S8,若不满足则转至步骤S11;
S8、提取数据包中需要使用的信息,构造自定义数据结构,发送数据包,进入步骤S9;
S9、通过自定义信息计算哈希值,哈希值除以n的余数y作为选中的二级业务处理单元,数据包入二级队列Q2[x][y],进入步骤S10;
S10、二级业务处理单元从二级队列Q2[x][y]中取出数据进行处理,流程结束;
S11、发送数据包,流程结束。
2.如权利要求1所述的一种多层级负载均衡数据包处理方法,其特征在于:所述步骤S1中需要进行一级业务处理、二级业务处理的业务分别为一级业务、二级业务;所述一级业务对应的处理单元为一级业务处理单元,所述一级业务处理单元对应的队列为一级队列,数量为m,所述二级业务对应的处理单元为二级业务处理单元,所述二级业务处理单元对应的队列为二级队列,数量为m*n。
3.如权利要求2所述的一种多层级负载均衡数据包处理方法,其特征在于:不同层级的业务处理单元之间的使用无锁队列进行数据传递。
4.如权利要求2所述的一种多层级负载均衡数据包处理方法,其特征在于:所述一级业务的处理时间短于二级业务的处理时间。
5.如权利要求1所述的一种多层级负载均衡数据包处理方法,其特征在于:所述步骤S2中Q1[m]的下标[m]用于区分一级队列,Q2[m][n]的第一个下标[m]用于区分一级处理单元,第二个下标[n]用于区分二级处理单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614615.9A CN112019589B (zh) | 2020-06-30 | 2020-06-30 | 一种多层级负载均衡数据包处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614615.9A CN112019589B (zh) | 2020-06-30 | 2020-06-30 | 一种多层级负载均衡数据包处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019589A CN112019589A (zh) | 2020-12-01 |
CN112019589B true CN112019589B (zh) | 2023-09-05 |
Family
ID=73498424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614615.9A Active CN112019589B (zh) | 2020-06-30 | 2020-06-30 | 一种多层级负载均衡数据包处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019589B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311947B (zh) * | 2023-11-24 | 2024-02-09 | 江西云眼视界科技股份有限公司 | 一种线程池管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023776A (en) * | 1988-02-22 | 1991-06-11 | International Business Machines Corp. | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
US6996822B1 (en) * | 2001-08-01 | 2006-02-07 | Unisys Corporation | Hierarchical affinity dispatcher for task management in a multiprocessor computer system |
CN101667974A (zh) * | 2009-10-12 | 2010-03-10 | 中兴通讯股份有限公司 | 一种实现分层服务质量的方法及网络处理器 |
CN105516317A (zh) * | 2015-12-14 | 2016-04-20 | 北京科东电力控制系统有限责任公司 | 一种用电信息多层级负载均摊高效采集方法 |
CN110351335A (zh) * | 2019-06-06 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算用通信效率与服务平衡方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10523746B2 (en) * | 2017-03-16 | 2019-12-31 | Oracle International Corporation | Coexistence of a synchronous architecture and an asynchronous architecture in a server |
US20180307533A1 (en) * | 2017-04-21 | 2018-10-25 | Intel Corporation | Faciltating multi-level microcontroller scheduling for efficient computing microarchitecture |
-
2020
- 2020-06-30 CN CN202010614615.9A patent/CN112019589B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023776A (en) * | 1988-02-22 | 1991-06-11 | International Business Machines Corp. | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
US6996822B1 (en) * | 2001-08-01 | 2006-02-07 | Unisys Corporation | Hierarchical affinity dispatcher for task management in a multiprocessor computer system |
CN101667974A (zh) * | 2009-10-12 | 2010-03-10 | 中兴通讯股份有限公司 | 一种实现分层服务质量的方法及网络处理器 |
CN105516317A (zh) * | 2015-12-14 | 2016-04-20 | 北京科东电力控制系统有限责任公司 | 一种用电信息多层级负载均摊高效采集方法 |
CN110351335A (zh) * | 2019-06-06 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算用通信效率与服务平衡方法 |
Non-Patent Citations (1)
Title |
---|
基于SDN的数据中心网络流量调度技术研究;房亚明;《中国优秀硕士学位论文全文数据库》(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112019589A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911237B (zh) | 一种基于dpdk的用户空间内数据包快速检测方法 | |
WO2022257436A1 (zh) | 基于无线通信网络数据仓库构建方法、系统、设备及介质 | |
CN110995652B (zh) | 一种基于深度迁移学习的大数据平台未知威胁检测方法 | |
CN107769992B (zh) | 一种报文解析分流方法及装置 | |
WO2021190087A1 (zh) | 任务执行方法、装置、系统和服务器 | |
CN111163018B (zh) | 网络设备及其降低传输时延的方法 | |
CN108418743B (zh) | 一种聊天室消息分发方法、装置及电子设备 | |
CN110708256A (zh) | Cdn调度方法、装置、网络设备及存储介质 | |
CN109936517A (zh) | 拟态防御中的自适应动态流量分配方法 | |
CN105681426A (zh) | 异构系统 | |
CN112291041B (zh) | 一种基于fpga的数据解码装置、方法 | |
TW201349797A (zh) | 網路流量異常偵測系統及其方法 | |
CN112019589B (zh) | 一种多层级负载均衡数据包处理方法 | |
CN104618392B (zh) | 一种nginx-modsecurity安全规则智能匹配方法 | |
CN115913323B (zh) | 一种基于时空网格的低轨接入选择方法、存储介质 | |
CN107277062A (zh) | 数据包的并行处理方法及装置 | |
CN115914131A (zh) | 提高物联网服务质量的实现方法、装置、电子设备及介质 | |
CN114500544B (zh) | 一种节点间负载均衡方法、系统、设备以及介质 | |
CN113055890B (zh) | 一种面向移动恶意网页的多设备组合优化的实时检测系统 | |
CN110110081B (zh) | 用于移动互联网海量监测数据的分级分类处理方法及系统 | |
WO2017054515A1 (zh) | 一种色情图像检测方法和系统 | |
YANG et al. | Research of continuous time two-level polling system performance of exhaustive service and gated service | |
CN110908798B (zh) | 多进程协同式网络流量解析方法及装置 | |
CN114422498A (zh) | 大数据实时处理方法、系统、计算机设备及存储介质 | |
CN113590322A (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Shao Senlong Inventor after: Fu Yuhao Inventor after: Yan Ruicong Inventor after: Fu Ruyi Inventor after: Wang Xingqi Inventor before: Shao Senlong Inventor before: Yan Ruicong Inventor before: Fu Ruyi Inventor before: Wang Xingqi |
|
GR01 | Patent grant | ||
GR01 | Patent grant |