CN112019589A - 一种多层级负载均衡数据包处理方法 - Google Patents

一种多层级负载均衡数据包处理方法 Download PDF

Info

Publication number
CN112019589A
CN112019589A CN202010614615.9A CN202010614615A CN112019589A CN 112019589 A CN112019589 A CN 112019589A CN 202010614615 A CN202010614615 A CN 202010614615A CN 112019589 A CN112019589 A CN 112019589A
Authority
CN
China
Prior art keywords
data packet
primary
service processing
processing unit
service
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
Application number
CN202010614615.9A
Other languages
English (en)
Other versions
CN112019589B (zh
Inventor
邵森龙
颜瑞琮
傅如毅
王行奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Yuanwang Information Co ltd
Original Assignee
Zhejiang Yuanwang Information Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Yuanwang Information Co ltd filed Critical Zhejiang Yuanwang Information Co ltd
Priority to CN202010614615.9A priority Critical patent/CN112019589B/zh
Publication of CN112019589A publication Critical patent/CN112019589A/zh
Application granted granted Critical
Publication of CN112019589B publication Critical patent/CN112019589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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]用于区分二级处理单元。
CN202010614615.9A 2020-06-30 2020-06-30 一种多层级负载均衡数据包处理方法 Active CN112019589B (zh)

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 true CN112019589A (zh) 2020-12-01
CN112019589B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311947A (zh) * 2023-11-24 2023-12-29 江西云眼视界科技股份有限公司 一种线程池管理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
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 北京科东电力控制系统有限责任公司 一种用电信息多层级负载均摊高效采集方法
US20180152201A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for flexibly compressing and decompressing data
US20180270306A1 (en) * 2017-03-16 2018-09-20 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
CN110351335A (zh) * 2019-06-06 2019-10-18 国网浙江省电力有限公司衢州供电公司 一种云计算用通信效率与服务平衡方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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 北京科东电力控制系统有限责任公司 一种用电信息多层级负载均摊高效采集方法
US20180152201A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for flexibly compressing and decompressing data
US20180270306A1 (en) * 2017-03-16 2018-09-20 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
CN110351335A (zh) * 2019-06-06 2019-10-18 国网浙江省电力有限公司衢州供电公司 一种云计算用通信效率与服务平衡方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何亮;: "流量管理系统多级数据汇集与处理架构研究", 民航管理, no. 01 *
房亚明: "基于SDN的数据中心网络流量调度技术研究", 《中国优秀硕士学位论文全文数据库》, no. 08 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311947A (zh) * 2023-11-24 2023-12-29 江西云眼视界科技股份有限公司 一种线程池管理方法及系统
CN117311947B (zh) * 2023-11-24 2024-02-09 江西云眼视界科技股份有限公司 一种线程池管理方法及系统

Also Published As

Publication number Publication date
CN112019589B (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
US20220224614A1 (en) Technologies for capturing processing resource metrics as a function of time
US11025564B2 (en) RDMA transport with hardware integration and out of order placement
WO2021190087A1 (zh) 任务执行方法、装置、系统和服务器
US11068412B2 (en) RDMA transport with hardware integration
CN111163018B (zh) 网络设备及其降低传输时延的方法
CN110708256A (zh) Cdn调度方法、装置、网络设备及存储介质
WO2015184706A1 (zh) 统计计数设备及其实现方法、具有统计计数设备的系统
CN103873523A (zh) 客户端集群访问方法及装置
CN105681426A (zh) 异构系统
CN104243348A (zh) 一种数据处理方法和装置
CN112019589A (zh) 一种多层级负载均衡数据包处理方法
CN107832149A (zh) 一种针对多核处理器动态分组管理的Receive‑side Scaling电路
WO2017097117A1 (zh) 一种报文调度方法和装置
CN110995652A (zh) 一种基于深度迁移学习的大数据平台未知威胁检测方法
WO2008040231A1 (fr) Procédé et dispositif destinés au réassemblage de données fragmentées
CN113890842A (zh) 一种信息传输时延上界计算方法、系统、设备和存储介质
CN110351199A (zh) 流量平滑方法、服务器及转发设备
CN115412502B (zh) 一种网络端口扩展和报文快速均衡处理方法
CN115391053B (zh) 基于cpu和gpu混合计算的在线服务方法及装置
TW202008172A (zh) 儲存系統
CN109981726A (zh) 一种存储节点的分配方法、服务器及系统
JP2020088517A (ja) 通信装置、通信装置の制御方法およびプログラム
WO2017054515A1 (zh) 一种色情图像检测方法和系统
CN114500544A (zh) 一种节点间负载均衡方法、系统、设备以及介质
CN114490458A (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