CN112398935A - 一种基于时延的全链路负载均衡算法 - Google Patents
一种基于时延的全链路负载均衡算法 Download PDFInfo
- Publication number
- CN112398935A CN112398935A CN202011224752.8A CN202011224752A CN112398935A CN 112398935 A CN112398935 A CN 112398935A CN 202011224752 A CN202011224752 A CN 202011224752A CN 112398935 A CN112398935 A CN 112398935A
- Authority
- CN
- China
- Prior art keywords
- delay
- client
- processing
- request
- server
- 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.)
- Pending
Links
- 238000009825 accumulation Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- H04L67/1004—Server selection for load balancing
-
- 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/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/101—Server selection for load balancing based on network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于时延的全链路负载均衡算法,包括后端服务与客户端,本发明提供一套基于时延的全链路负载均衡算法,在发送请求时基于时延而非资源使用率来考虑,从而降低整个系统的平均延时,并提高系统的响应速度。
Description
技术领域
本发明涉及一种负载均衡算法,具体涉及一种基于时延的全链路负载均衡算法。
背景技术
负载均衡技术是一种针对海量请求在高并发高吞吐的情况下,通过将请求按照一定算法分配到不同节点分而治之,从而解除单机硬件处理能力限制,使得服务弹性伸缩成为可能。
在证券行业里,对于交易业务,除了安全可靠,一个重要的指标就是“快”,即:如何快速的将委托发出,如何快速的将成交返回,在终端展示。“快”也成为衡量券商技术水平的一个核心业务指标。从某种意义上使用“端到端延迟”这一指标可以表征业务是否足够快速。
从端到端的角度来讲,一条委托到发送到交易所需要经过如下路径:
1.客户端到交易前置;
2.交易前置转发请求至交易机房;
3.交易服务将请求转发给柜台服务;
4.柜台服务将请求发送到报盘服务;
5.报盘服务发送到交易所;
其中步骤3、4一般是部署在同一交易网段,其延时在整条交易链路里,占比较小
步骤5一般采用特定线路,延时相对固定。所以整个算法着眼点在于优化步骤1、2的处理延时。
现有技术的不足:
目前业内常用的负载均衡算法包括:
RR:即Round-Robin,请求按照轮询顺序依次发送到目标服务;
LRU:即Least recently used,请求有限发送给当前负载最轻的服务;
以及上述各种算法的含权变体算法。
发明内容
本发明所要解决的技术问题是一种基于时延的全链路负载均衡算法,在发送请求时基于时延而非资源使用率来考虑,从而降低整个系统的平均延时,并提高系统的响应速度。
本发明是通过以下技术方案来实现的:一种基于时延的全链路负载均衡算法,包括后端服务与客户端;
其中,客户端包括:
(一)客户端在初次上线的时候,拉取交易前置列表;
(二)客户端对交易前置进行测速,计算网络延时,并获取前置服务器的处理延时;
(三)客户端计算链路延时,按延时排序,选取延时最低的交易前置连接,开始交易;
其中,后端服务包括:
(一)对于inbound的请求,按协议号记录单位时间1个RTT的累计处理延时,以及累计处理次数;
(二)服务端定时对于所有inbound的请求,按等权的算法计算inbound平均处理延时,以及单个协议的平均处理延时;
(三)服务端对于outbound的请求,按协议号和目标服务器为二元组计算单位时间内1个RTT的累计处理延时,和累计处理次数;
(四)服务端定时算出每个outbound的平均处理延时;
(五)服务端收到客户端延时测速请求,将自己的平均inbound处理延时发送给客户端;
(六)服务端收到客户端的处理请求,根据协议号,找到outbound处理延时最低的节点,将请求转发出去;
(七)对于服务端之间请求超时的情况,需要做累加基数,如果单位时间呢累计超过阈值,认为该路径不稳定,可以先将其踢出路由,等稳定以后,再加入。
作为优选的技术方案,所述客户端计算链路延时包括网络延时以及处理延时。
本发明的有益效果是:本发明提供一套基于时延的全链路负载均衡算法,在发送请求时基于时延而非资源使用率来考虑,从而降低整个系统的平均延时,并提高系统的响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的网络延时计算方法的流程图;
图2为本发明的服务端inbound处理延时计算流程图;
图3为本发明的服务端outbound处理延时计算流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
在本发明的描述中,需要理解的是,术语“一端”、“另一端”、“外侧”、“上”、“内侧”、“水平”、“同轴”、“中央”、“端部”、“长度”、“外端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本发明使用的例如“上”、“上方”、“下”、“下方”等表示空间相对位置的术语是出于便于说明的目的来描述如附图中所示的一个单元或特征相对于另一个单元或特征的关系。空间相对位置的术语可以旨在包括设备在使用或工作中除了图中所示方位以外的不同方位。例如,如果将图中的设备翻转,则被描述为位于其他单元或特征“下方”或“之下”的单元将位于其他单元或特征“上方”。因此,示例性术语“下方”可以囊括上方和下方这两种方位。设备可以以其他方式被定向(旋转90度或其他朝向),并相应地解释本文使用的与空间相关的描述语
在本发明中,除非另有明确的规定和限定,术语“设置”、“套接”、“连接”、“贯穿”、“插接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明的一种基于时延的全链路负载均衡算法,包括后端服务与客户端;
其中,客户端包括:(一)客户端在初次上线的时候,拉取交易前置列表;(二)客户端对交易前置进行测速,计算网络延时,并获取前置服务器的处理延时;(三)客户端计算链路延时,按延时排序,选取延时最低的交易前置连接,开始交易;
其中,后端服务包括:
(一)对于inbound的请求,按协议号记录单位时间1个RTT的累计处理延时,以及累计处理次数;(二)服务端定时对于所有inbound的请求,按等权的算法计算inbound平均处理延时,以及单个协议的平均处理延时;(三)服务端对于outbound的请求,按协议号和目标服务器为二元组计算单位时间内1个RTT的累计处理延时,和累计处理次数;(四)服务端定时算出每个outbound的平均处理延时;(五)服务端收到客户端延时测速请求,将自己的平均inbound处理延时发送给客户端;(六)服务端收到客户端的处理请求,根据协议号,找到outbound处理延时最低的节点,将请求转发出去;(七)对于服务端之间请求超时的情况,需要做累加基数,如果单位时间呢累计超过阈值,认为该路径不稳定,可以先将其踢出路由,等稳定以后,再加入。
其中,客户端计算链路延时包括网络延时以及处理延时。
如图1所示,网络延时计算方法如下:其中,客户端(client)向交易前置(server)于t1时刻发送一个测速数据包,包含时间戳t1,server在t2时刻收到,并于t3时刻返回测速数据包,包含(t1,t2,t3),客户端于t4时刻收到这个测试包,那么延时计算为:
其中latency可以按照0.2Hz的频率计算,以30s为窗口,计算窗口内的网络延时。
本发明的有益效果是:本发明提供一套基于时延的全链路负载均衡算法,在发送请求时基于时延而非资源使用率来考虑,从而降低整个系统的平均延时,并提高系统的响应速度。
服务端inbound处理延时计算如图2所示:
延时采集:
收到客户端请求,记录时间戳,将请求发送给转发逻辑,如果收到回包,则累加inbound处理延时,并更新处理次数,如果没有收到回包,则判断是否超时,如果是,则设置处理延时为超时时间,如果否,则返回到上级。
延时计算:
是否计算延时,如果是,则计算inbound处理延时,重置延时统计数据,如果否,则进入休眠。
服务端outbound处理延时计算如图3所示:
延时采集:
根据协议号,记录时间戳,如果收到回包,则累加协议的处理时延,处理次数,如果否,则判断是否超时,如果超时,则设置延时时间为超时时间,如果不超时,则返回上级。
延时计算:
是否计算延时,如果是,则计算outbound处理延时,重置延时统计数据,如果否,则进入休眠。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (2)
1.一种基于时延的全链路负载均衡算法,其特征在于:包括后端服务与客户端;
其中,客户端包括:
(一)客户端在初次上线的时候,拉取交易前置列表;
(二)客户端对交易前置进行测速,计算网络延时,并获取前置服务器的处理延时;
(三)客户端计算链路延时,按延时排序,选取延时最低的交易前置连接,开始交易;
其中,后端服务包括:
(一)对于inbound的请求,按协议号记录单位时间1个RTT的累计处理延时,以及累计处理次数;
(二)服务端定时对于所有inbound的请求,按等权的算法计算inbound平均处理延时,以及单个协议的平均处理延时;
(三)服务端对于outbound的请求,按协议号和目标服务器为二元组计算单位时间内1个RTT的累计处理延时,和累计处理次数;
(四)服务端定时算出每个outbound的平均处理延时;
(五)服务端收到客户端延时测速请求,将自己的平均inbound处理延时发送给客户端;
(六)服务端收到客户端的处理请求,根据协议号,找到outbound处理延时最低的节点,将请求转发出去;
(七)对于服务端之间请求超时的情况,需要做累加基数,如果单位时间内累计超过阈值,认为该路径不稳定,可以先将其踢出路由,等稳定以后,再加入。
2.根据权利要求1所述的基于时延的全链路负载均衡算法,其特征在于:所述客户端计算链路延时包括网络延时以及处理延时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224752.8A CN112398935A (zh) | 2020-11-05 | 2020-11-05 | 一种基于时延的全链路负载均衡算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224752.8A CN112398935A (zh) | 2020-11-05 | 2020-11-05 | 一种基于时延的全链路负载均衡算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112398935A true CN112398935A (zh) | 2021-02-23 |
Family
ID=74598083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224752.8A Pending CN112398935A (zh) | 2020-11-05 | 2020-11-05 | 一种基于时延的全链路负载均衡算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398935A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622846A (zh) * | 2022-12-20 | 2023-01-17 | 成都电科星拓科技有限公司 | 基于链路两端均衡参数的eq降低延时方法、系统及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144088A (zh) * | 2014-07-24 | 2014-11-12 | 重庆邮电大学 | 一种提高时延测量精度的网络时延测量方法 |
CN106161549A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法、系统、控制服务器及客户端 |
CN107147544A (zh) * | 2017-05-11 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种测试网络延时的方法及装置 |
-
2020
- 2020-11-05 CN CN202011224752.8A patent/CN112398935A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144088A (zh) * | 2014-07-24 | 2014-11-12 | 重庆邮电大学 | 一种提高时延测量精度的网络时延测量方法 |
CN106161549A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种数据传输的方法、系统、控制服务器及客户端 |
CN107147544A (zh) * | 2017-05-11 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种测试网络延时的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622846A (zh) * | 2022-12-20 | 2023-01-17 | 成都电科星拓科技有限公司 | 基于链路两端均衡参数的eq降低延时方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113315682B (zh) | 生成信息传输性能警告的方法、系统和装置 | |
CN105515915B (zh) | 节点探测方法及装置、路径选取方法及装置、及网络系统 | |
US10057150B2 (en) | Managing communication congestion for internet of things devices | |
CN100583785C (zh) | 用于表征基于分组的网络的端对端路径的方法和设备 | |
US9923821B2 (en) | Managing communication congestion for internet of things devices | |
CN109787868B (zh) | 一种选取路由路径的方法、系统及服务器 | |
CA2401080C (en) | Heuristics-based peer to peer message routing | |
CN111181798B (zh) | 网络时延测量方法、装置、电子设备及存储介质 | |
EP1876758A2 (en) | Peer-to-Peer method of quality of service (QoS) probing and analysis and infrastructure employing same | |
CN103401665B (zh) | 集群存储系统中重传超时计时器的优化方法及装置 | |
CA2467430A1 (en) | Distributed usage metering of multiple networked devices | |
JPWO2012117549A1 (ja) | 障害解析装置、そのシステム、およびその方法 | |
CN114513467B (zh) | 一种数据中心的网络流量负载均衡方法及装置 | |
CN103907314B (zh) | 用于网络质量估计、连接性检测以及负载管理的系统和方法 | |
CN112491719A (zh) | 网络节点的选择方法、设备及存储介质 | |
JP2002374290A (ja) | サーバ選択装置、方法、プログラム及び該プログラムを記録した記録媒体 | |
CN112398935A (zh) | 一种基于时延的全链路负载均衡算法 | |
CN108011763B (zh) | 通信数据网络投资建设评估方法 | |
CN103891207B (zh) | 用于网络质量估计、连接性检测以及负载管理的系统和方法 | |
CN110557302B (zh) | 网络设备报文观测数据采集方法 | |
CN110380981B (zh) | 一种流量分发方法及设备 | |
CN115242755B (zh) | 一种基于sip信令服务器集群的性能监测及负载均衡方法 | |
US20050102391A1 (en) | Method and apparatus providing an asymmetric ping procedure | |
CN111641682A (zh) | 一种边缘计算设备的数据同步方法及系统 | |
CN112910795B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |
|
RJ01 | Rejection of invention patent application after publication |