CN102769668B - 基于近似匹配的发布/订阅负载均衡方法 - Google Patents

基于近似匹配的发布/订阅负载均衡方法 Download PDF

Info

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.)
Active
Application number
CN201210225985.9A
Other languages
English (en)
Other versions
CN102769668A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201210225985.9A priority Critical patent/CN102769668B/zh
Publication of CN102769668A publication Critical patent/CN102769668A/zh
Application granted granted Critical
Publication of CN102769668B publication Critical patent/CN102769668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)具体为:将结点单位时间内接收到的事件个数与结点的处理能力相比较,若单位时间内接收到的事件的个数大于结点的处理能力,则该结点处于负载过重状态。 
CN201210225985.9A 2012-07-02 2012-07-02 基于近似匹配的发布/订阅负载均衡方法 Active CN102769668B (zh)

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 Active CN102769668B (zh) 2012-07-02 2012-07-02 基于近似匹配的发布/订阅负载均衡方法

Country Status (1)

Country Link
CN (1) CN102769668B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832393A (zh) * 2017-10-31 2018-03-23 上海交通大学 面向事件分发的订阅匹配度自适应匹配方法及系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京邮电大学 一种大规模实时统一消息空间的方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN100556024C (zh) 用于网络场通信控制的方法和网络场
US20140180904A1 (en) Offload Processing of Data Packets Containing Financial Market Data
CN1206600C (zh) 一种全分布式的集群网络服务器系统
WO2022001375A1 (zh) 基于区块链的数据存储方法、系统和装置
US20140180905A1 (en) Intelligent Switch for Processing Financial Market Data
CN103108008B (zh) 一种下载文件的方法及文件下载系统
CN104969213A (zh) 用于低延迟数据存取的数据流分割
KR20170106648A (ko) 대용량 네트워크 데이터의 처리 기법
US9501326B2 (en) Processing control system, processing control method, and processing control program
CN106484322A (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) 用于多级聚合架构的系统和方法
US20200186461A1 (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