CN102769668B - 基于近似匹配的发布/订阅负载均衡方法 - Google Patents
基于近似匹配的发布/订阅负载均衡方法 Download PDFInfo
- Publication number
- CN102769668B CN102769668B CN201210225985.9A CN201210225985A CN102769668B CN 102769668 B CN102769668 B CN 102769668B CN 201210225985 A CN201210225985 A CN 201210225985A CN 102769668 B CN102769668 B CN 102769668B
- Authority
- CN
- China
- Prior art keywords
- node
- event
- load
- agent
- subscription
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 210000000481 breast Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于近似匹配的发布/订阅负载均衡方法,首先,用户将订阅要求发送到边界代理结点,边界代理结点将其转发给它所连接的中间代理结点;之后,某个边界代理结点收到事件后,先确定事件是否满足本地用户的订阅条件,如果满足,由该边界代理结点将事件传送到所有满足条件的本地用户,然后检查事件是否满足远程用户的订阅条件,如果满足,通过邻居代理结点进行转发。最后,在负载过重的中间代理结点上采用近似匹配的方法,实现可控的负载均衡,把匹配任务从负载过重的中间代理结点转移到负载较轻的边界代理结点上。本发明有效解决了现有发布/订阅***存在的容易出现负载不均衡的技术问题,具有处理效率高、性能稳定的优点。
Description
技术领域
本发明涉及网络领域,尤其涉及一种基于近似匹配的分布式发布/订阅负载均衡方法。
背景技术
发布/订阅***技术具有良好的应用前景。早期的基于主题的发布/订阅***已有很多成熟的产品广泛应用于银行、证券、制造业企业信息化等各个领域,较有影响的应用案例包括NASDAQ证券交易***、费城股票交易所业务***等。面向大规模分布式计算的基于内容的发布/订阅***,可以预见的应用场景包括:各类电子商务***(网上拍卖***、网上交易市场)、企业应用集成(EAI)、基于事件的供应链管理(ESCM)、电子新闻分发、在线网络游戏和大规模环境监测等。
目前,大部分发布/订阅***主要采用精确匹配的方法,该方法可以最小化网络带宽的使用,但存在着明显的缺点:当***的规模很大时,一些处于关键位置的代理结点会出现负载过重,而另外一些位于边界的代理结点负载过轻,出现负载不均衡现象。
发明内容
本发明的目的在于提供一种基于近似匹配的发布/订阅负载均衡方法,以解决现有技术中发布/订阅***存在容易出现负载不均衡的技术问题。
为达到上述目的,本发明的目的在于提供一种基于近似匹配的发布/订阅负载均衡方法,包括以下步骤:
(1)用户将订阅要求发送到边界代理结点,边界代理结点将其转发给它所连接的中间代理结点;
(2)某个边界代理结点收到事件后,先确定事件是否满足本地用户的订阅条件,如果满足,由该边界代理结点将事件传送到所有满足条件的本地用户,然后检查事件是否满足远程用户的订阅条件,如果满足,通过邻居代理结点进行转发。
(3)在负载过重的中间代理结点上采用近似匹配的方法,实现可控的负载均衡,把匹配任务从负载过重的中间代理结点转移到负载较轻的边界代理结点上。
依照本发明较佳实施例所述的基于近似匹配的发布/订阅负载均衡方法,步骤三具体包括:
(31)根据每个中间代理结点的处理能力和当前结点接收到的事件个数判断各个结点是否处于负载过重状态;
(32)若某个或多个中间代理结点处于负载过重状态,则根据其邻居代理结点的负载能力和当前接收到的事件个数,计算出各邻居代理结点的空余处理能力;
(33)根据邻居代理结点的负载情况,调整负载过重的中间代理结点的近似匹配精度,采用快速的近似匹配方法,将精度匹配的任务传递给下一跳负载较轻的邻居代理节点。
依照本发明较佳实施例所述的基于近似匹配的发布/订阅负载均衡方法,步骤(31)中的结点处理能力为单位时间内结点能够处理的事件个数。
依照本发明较佳实施例所述的基于近似匹配的发布/订阅负载均衡方法,步骤(31)具体为:将结点单位时间内接收到的事件个数与结点的处理能力相比较,若单位时间内接收到的事件的个数大于结点的处理能力,则该结点处于负载过重状态。
本发明实时对***中各中间代理结点的负载情况进行计算,当其接收到的事件个数大于其处理能力时,根据其邻居结点的负载能力和当前接收到的事件个数,计算出它们的空余处理能力,从而调整中间代理结点的近似匹配精度,加快中间代理结点的事件处理速度,让待处理事件快速通过中间代理结点,并将精度匹配的任务传递给下一跳负载较轻的结点,从而实现结点间的负载均衡,提高***的整体性能。
综上所述,本发明能够实时计算***中各中间代理结点的负载情况,计算出轻载结点的剩余工作能力,并利用可控的近似匹配方法,实现精确的负载均衡,提高整个***的吞吐量和减少事件传送的延迟时间。因此,与现有技术相比,本发明有效解决了现有发布/订阅***存在的容易出现负载不均衡的技术问题,具有处理效率高、性能稳定的优点。
附图说明
图1为本发明基于近似匹配的发布/订阅负载均衡方法的流程原理图;
图2为应用本发明基于近似匹配的发布/订阅负载均衡方法的网络***结构示意图;
图3为本发明实施例的近似匹配索引结构图。
具体实施方式
以下结合附图,具体说明本发明。
请参阅图1,一种基于近似匹配的发布/订阅负载均衡方法,包括以下步骤:
S11:用户将订阅要求发送到边界代理结点,边界代理结点将其转发给它所连接的中间代理结点。
S12:某个边界代理结点收到事件后,先确定事件是否满足本地用户的订阅条件,如果满足,由该边界代理结点将事件传送到所有满足条件的本地用户,然后检查事件是否满足远程用户的订阅条件,如果满足,通过邻居代理结点进行转发。
S13:在负载过重的中间代理结点上采用近似匹配的方法,实现可控的负载均衡,把匹配任务从负载过重的中间代理结点转移到负载较轻的边界代理结点上。该步骤具体包括:
S131:根据每个中间代理结点的处理能力和当前结点接收到的事件个数判断各个结点是否处于负载过重状态.
一个结点的处理能力可表示为单位时间内结点能够处理的事件个数,将结点单位时间内接收到的事件个数与结点的处理能力相比较,若单位时间内接收到的事件的个数大于结点的处理能力,则该结点处于负载过重状态。
S132:若某个或多个中间代理结点处于负载过重状态,则根据其邻居代理结点的负载能力和当前接收到的事件个数,计算出各邻居代理结点的空余处理能力。
S133:根据邻居代理结点的负载情况,调整负载过重的中间代理结点的近似匹配精度,采用快速的近似匹配方法,将精度匹配的任务传递给下一跳负载较轻的邻居代理节点。
请再参阅图2,其为本发明基于近似匹配的发布/订阅负载均衡方法的网络***结构示意图。以下结合图2对本发明的基于近似匹配的发布/订阅负载均衡方法进行详细说明。
如图2所示,应用本发明基于近似匹配的发布/订阅负载均衡方法的网络***由用户(Client)、边界代理(Border Broker)和中间代理(Internal Broker)组成。用户将订阅要求发送到边界代理,边界代理将其转发给它所连接的中间代理。当边界代理收到事件后,先确定事件是否满足本地用户的订阅条件,如果满足,由该边界代理将事件传送到所有满足条件的用户。然后检查事件是否满足远程用户的订阅条件,如果满足,通过邻居代理进行转发。
例如,如图2所示,当B1收到一个事件后,首先判断是否满足与其直接相连的本地用户的订阅要求,如果满足,由B1进行转发。B1还接收到远程用户的订阅要求,如经由I1转发而来的订阅要求,所以B1还要判断事件是否与这些远程用户的订阅要求匹配,如果匹配B1要将事件转发给I1,再由I1进行下一步的转发。
当***规模比较大时,处于中间位置的内部中间代理结点进行匹配操作的事件数量非常大,导致结点间负载不均衡,一些结点容易成为性能瓶颈。一个结点的处理能力可能表示为单位时间内能够处理的事件个数,当单位时间内接收到的事件个数大于其处理能力时,该结点就处于负载过重情况,有一些事件需要等待进行处理,结点容易成为整个***的性能瓶颈。本***提出了一种负载均衡机制,当某个中间代理结点或多个中间代理结点处于负载过重时,根据其邻居结点(即相邻的边界代理结点)的负载情况,采用快速的近似匹配方法,加快负载过重结点的事件处理能力,减轻其拥堵程度,从而提高***的整体性能。
例如,如图2中处于枢纽位置的I1结点,当其接收到的事件个数大于其处理能力时,根据其邻居结点B1、B2、I2、I3的负载能力和当前接收到的事件个数,计算出它们的空余处理能力,从而调整I1的近似匹配精度,加快I1的事件处理速度,让待处理事件快速通过I1,并将精度匹配的任务传递给下一跳负载较轻的结点,从而实验结点间的负载均衡,提高***的整体性能。
为了提高整体性能和减少事件传送的延迟时间,本发明在负载过重的中间代理结点上采用近似匹配的方法,实现可控的负载均衡,把匹配任务从负载过重的内部结点转移到负载较轻的边界结点上。近似匹配的索引结构如图3所示,每个用户的订阅条件可表示为一个区域(图3中的虚线矩形),可用最小包含它的一个近似区域来替代它(图3中的实线矩形),近似区域所包含的所有单元在其对应的位图(BitMap)中标志为1,表示这些单元已有用户订阅。事件对应图中的一个点,当接收到一个新的事件时,检查该事件所属的单元在位图中的标志位是否为1,如果已经标志了,则该事件满足用户的订阅条件,从而对其转发或传送。
本发明能够实时计算***中各中间代理结点的负载情况,计算出轻载结点的剩余工作能力,并利用可控的近似匹配方法,实现精确的负载均衡,提高整个***的吞吐量和减少事件传送的延迟时间。因此,与现有技术相比,本发明有效解决了现有发布/订阅***存在的容易出现负载不均衡的技术问题,具有处理效率高、性能稳定的优点。
以上所述,仅是本发明的较佳实施实例而已,并非对本发明做任何形式上的限制,任何未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施实例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围。
Claims (3)
1.一种基于近似匹配的发布/订阅负载均衡方法,其特征在于,包括以下步骤:
(1)用户将订阅要求发送到边界代理结点,边界代理结点将其转发给它所连接的中间代理结点;
(2)某个边界代理结点收到事件后,先确定事件是否满足本地用户的订阅条件,如果满足,由该边界代理结点将事件传送到所有满足条件的本地用户,然后检查事件是否满足远程用户的订阅条件,如果满足,通过邻居代理结点进行转发;
(3)在负载过重的中间代理结点上采用近似匹配的方法,实现可控的负载均衡,把匹配任务从负载过重的中间代理结点转移到负载较轻的边界代理结点上;具体包括以下步骤:
(31)根据每个中间代理结点的处理能力和当前结点接收到的事件个数判断各个结点是否处于负载过重状态;
(32)若某个或多个中间代理结点处于负载过重状态,则根据其邻居代理结点的负载能力和当前接收到的事件个数,计算出各邻居代理结点的空余处理能力;
(33)根据邻居代理结点的负载情况,调整负载过重的中间代理结点的近似匹配精度,采用快速的近似匹配方法,将精度匹配的任务传递给下一跳负载较轻的邻居代理结点。
2.如权利要求1所述的基于近似匹配的发布/订阅负载均衡方法,其特征在于,步骤(31)中所述的结点处理能力为单位时间内结点能够处理的事件个数。
3.如权利要求2所述的基于近似匹配的发布/订阅负载均衡方法,其特征在于,步骤(31)具体为:将结点单位时间内接收到的事件个数与结点的处理能力相比较,若单位时间内接收到的事件的个数大于结点的处理能力,则该结点处于负载过重状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210225985.9A CN102769668B (zh) | 2012-07-02 | 2012-07-02 | 基于近似匹配的发布/订阅负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210225985.9A CN102769668B (zh) | 2012-07-02 | 2012-07-02 | 基于近似匹配的发布/订阅负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102769668A CN102769668A (zh) | 2012-11-07 |
CN102769668B true CN102769668B (zh) | 2015-01-14 |
Family
ID=47096916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210225985.9A Expired - Fee Related CN102769668B (zh) | 2012-07-02 | 2012-07-02 | 基于近似匹配的发布/订阅负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102769668B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832393A (zh) * | 2017-10-31 | 2018-03-23 | 上海交通大学 | 面向事件分发的订阅匹配度自适应匹配方法及*** |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209213B (zh) * | 2013-03-27 | 2016-08-10 | 北京京东尚科信息技术有限公司 | 用于数据订阅的数据传输方法和*** |
CN103701938B (zh) * | 2014-01-14 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 数据转发方法及装置 |
CN108197138A (zh) * | 2017-11-21 | 2018-06-22 | 北京邮电大学 | 在发布/订阅***中发布信息匹配订阅信息的方法及*** |
CN109508433B (zh) * | 2018-09-27 | 2021-04-02 | 上海交通大学 | 基于匹配算法性能调整的负载波动应对方法和*** |
CN112328404B (zh) * | 2020-11-26 | 2023-08-08 | 北京百度网讯科技有限公司 | 负载均衡方法及装置、电子设备、计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538516A (zh) * | 2003-04-18 | 2004-10-20 | ���ǿƼ��ɷ�����˾ | 防止深渠沟的顶部尺寸扩大的领型介电层制程 |
CN101854299A (zh) * | 2010-05-21 | 2010-10-06 | 中国科学院软件研究所 | 一种发布/订阅***的动态负载平衡方法 |
CN102355413A (zh) * | 2011-08-26 | 2012-02-15 | 北京邮电大学 | 一种大规模实时统一消息空间的方法及其*** |
-
2012
- 2012-07-02 CN CN201210225985.9A patent/CN102769668B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538516A (zh) * | 2003-04-18 | 2004-10-20 | ���ǿƼ��ɷ�����˾ | 防止深渠沟的顶部尺寸扩大的领型介电层制程 |
CN101854299A (zh) * | 2010-05-21 | 2010-10-06 | 中国科学院软件研究所 | 一种发布/订阅***的动态负载平衡方法 |
CN102355413A (zh) * | 2011-08-26 | 2012-02-15 | 北京邮电大学 | 一种大规模实时统一消息空间的方法及其*** |
Non-Patent Citations (1)
Title |
---|
Yaxiong Zhao, Jie Wu.Towards Approximate Event Processing in a Large-Scale Content-Based Network.《IEEE 2011 31st International Conference on Distributed Computing Systems (ICDCS)》.2011,第790-799页. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832393A (zh) * | 2017-10-31 | 2018-03-23 | 上海交通大学 | 面向事件分发的订阅匹配度自适应匹配方法及*** |
CN107832393B (zh) * | 2017-10-31 | 2022-02-11 | 上海交通大学 | 面向事件分发的订阅匹配度自适应匹配方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102769668A (zh) | 2012-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102769668B (zh) | 基于近似匹配的发布/订阅负载均衡方法 | |
Wang et al. | Flash: efficient dynamic routing for offchain networks | |
US10963962B2 (en) | Offload processing of data packets containing financial market data | |
US10872078B2 (en) | Intelligent feed switch | |
US20200092084A1 (en) | System and methods for operating a blockchain network | |
US10650452B2 (en) | Offload processing of data packets | |
US11436672B2 (en) | Intelligent switch for processing financial market data | |
US20140180904A1 (en) | Offload Processing of Data Packets Containing Financial Market Data | |
CN1206600C (zh) | 一种全分布式的集群网络服务器*** | |
CN103108008B (zh) | 一种下载文件的方法及文件下载*** | |
CN104969213A (zh) | 用于低延迟数据存取的数据流分割 | |
KR20170106648A (ko) | 대용량 네트워크 데이터의 처리 기법 | |
US9501326B2 (en) | Processing control system, processing control method, and processing control program | |
CN106484322A (zh) | 一种挂载文件***的方法、装置及设备 | |
CN111866085A (zh) | 基于区块链的数据存储方法、***和装置 | |
CN103049336A (zh) | 一种基于哈希的网卡软中断负载均衡方法 | |
WO2012025052A1 (zh) | 基于点对点网络的互联网搜索***和方法 | |
CN102055771A (zh) | 面向云服务的多并发业务流控制装置及控制方法 | |
Pasyeka et al. | Development algorithmic model for optimization of distributed fault-tolerant web-systems | |
Wang et al. | CDLB: a cross-domain load balancing mechanism for software defined networks in cloud data centre | |
CN105009102B (zh) | 用于多级聚合架构的***和方法 | |
Kadhim et al. | Hybrid load-balancing algorithm for distributed fog computing in internet of things environment | |
US10826819B2 (en) | System and method for data transmission in distributed computing environments | |
CN102377826A (zh) | 一种对等网络中冷门资源索引的优化放置方法 | |
CN109981794B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150114 |