基于内容覆盖和反馈机制的用户个性化优先级路由算法的制作方法

文档序号:7855103阅读:137来源:国知局
专利名称:基于内容覆盖和反馈机制的用户个性化优先级路由算法的制作方法
技术领域
本发明涉及网络领域,具体涉及ー种基于内容覆盖和反馈机制的用户个性化优先级路由算法。
背景技术
目前,在采集信息量巨大的网络系统中,如“上海轨道交通电カ安全监控系统”中,采用基于现有的基于内容Pub/Sub系统架构,监控站点订阅的信息都将在事件发布后进入网络,进而传递到相应的订阅者。但是在信息量过大或者网络不稳定的时候,消息分发是很容易发生拥塞的,这时候所有堵塞消息将在中间节点上排队,以先来后到的顺序试图发往下一跳,然后该消息又可能在下一跳继续堵塞,更坏的情况可能拥塞过于严重直接造成事件丢失或拒传,这样的情况发生在用户特别敏感在意的消息上是难以容忍的。如,按照用户A意愿,一旦出现“电压>380伏”的事件,那么要第一时间通知他,否则可能会造成生命财产 损失。按照上述传统基于内容Pub/Sub系统的拥塞情况,一旦有此类事件产生并且网络又发生堵塞,那么造成的不及时信息分发,不仅会直接降低系统的用户满意度,还有可能造成无法容忍或无法挽回的結果。因此,此类问题急需解決。内容覆盖路由算法是在过滤器的基础上针对订阅而提出的,它将解析路由消息得到的订阅条件与路由表中已存在的项进行内容匹配,若订阅条件覆盖路由表中项,则以之更新路由表,再予以转发;若订阅条件被路由表中项覆盖,则丢弃该消息,不再转发。该算法可以减小每个节点上的路由表大小,并相应減少每条消息在每个节点的处理时间。而且利用订阅中过滤条件之间的覆盖关系,在网络中传播的路由消息数量也会減少,从而节省网络带宽。著名的Siena、Rebeca、JEDI和Hermes等都采用了支持覆盖关系的路由。因而,可以利用内容覆盖路由算法提高如上述“上海轨道交通电カ安全监控系统”等消息分发量巨大的系统的性能。优先级路由算法在因特网中早已有所应用,其目的主要是提供服务区分功能,也即在带宽等物理资源受限时使得高优先级消息能够更快地到达目的地。但传统网络中,优先级路由的实现基本是根据协议或端口号来对不同的应用程序消息进行区分;或者如JMS机制中,用户在边界节点进行标志,然后在中间网络进行简单传输,且不再涉及优先级调节之类的方法。然而,这些传统方法并不支持用户对消息优先级的个性化定制,在有限带宽等物理条件限制下,一旦发生网络拥塞,系统性能将受到明显影响,会降低用户满意度。因此,提出用户个性化路由算法是满足用户个性化需求和有限物理资源下的必然选择。

发明内容
本发明的目的在于提供一种基于内容覆盖和反馈机制的用户个性化优先级路由算法,以解决现有内容覆盖路由算法和优先级路由算法存在不支持用户对消息优先级进行个性化定制,消息传输受带宽限制大、容易发生网络拥塞等问题造成用户满意度低的技术问题。
为达到上述目的,本发明的目的在于提供一种基于内容覆盖和反馈机制的用户个性化优先级路由算法,包括以下步骤步骤ー根据最小生成树算法将网络拓扑生成无环结构;步骤ニ 根据网络中节点数目,以节点出入度和树的深度为评判依据,采用选举算法选出若干个调整节点,各自负责网络中的部分订阅者;步骤三订阅者订阅消息,并对其设定个性化的优先级,具体分为高优先级、普通优先级和低优先级;步骤四订阅消息在中间代理网络中传输,每个代理节点存储ー个订阅路由表,路由表每项都基于订阅者得出的优先级进行排序,接收到订阅消息后,根据路由表进行匹配,并通过合井覆盖路由算法决定订阅消息是否更新到路由表或进行舍弃处理;
步骤五发布者发布事件,事件到达每个代理节点,与其中的订阅路由表进行匹配,若匹配成功,从反向路径路由到感兴趣的订阅者。步骤六各个边界代理分别记录一段预设周期内其连接的订阅者接收到的消息信息;步骤七当达到预设周期时间间隔,各个边界代理统计各订阅者的消息信息平均值,并将信息平均值发送到其所属的调整节点;步骤八各调整节点接收到所有其负责的订阅者消息后,依据各平均值、流量和各订阅者权重进行调整,调整每个订阅者所对应的高范围优先级、普通范围优先级的调整值,并将不为O的调整值返回给各订阅者所属边界代理;步骤九各边界代理收到步骤八发送的消息后,根据不同等级优先级调节本地路由表相应订阅的优先级,并将经过调整的订阅重新洪泛到网络中。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤三中的订阅发送过程采用洪泛算法完成。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤三中的高优先级范围为[10,15)中的所有实数;普通优先级范围为[5,10)中的所有实数;低等级的范围为(0,O)中的所有实数。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤ニ还包括根据网络大小情况,对调整节点进行分级设置,具体为设置ー级调整节点和ニ级调整节点,其中,一级调整节点收集ー块区域内各订阅者发送的反馈消息,ニ级调整节点收集一级调整节点发送的反馈消息进行全局公平性调整。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤ニ和步骤三之间还包括指定不同指订阅者的优先级权重,根据权重决定ー个节点订阅的不同优先级的消息在网络中的传输质量;依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤四中,满足不同订阅者的有着合井覆盖关系的订阅在共同路径搭载共同路由。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤七至步骤九为周期性过程,步骤七中计数器在毎次统计信息平均值并发送信息平均值给调整节点后自动清零。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤五中发布者发布的事件是没有优先级的,当其到达边界代理后,得到初始优先级,且优先级在每一中间节点上根据订阅路由表中下一跳的订阅优先级进行更新。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤六中的消息信息具体包括总优先级、总队列等待时间、总延迟、总流量和消息数目。依照本发明较佳实施例所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,步骤8中对每个订阅者的优先级范围进行调整遵循以下原则各优先级订阅不可以降级或越级到其他优先级范围。综合以上,可以看出,本发明的基于内容覆盖和反馈机制的用户个性化优先级路由算法,在发布订阅系统中首次引入了个性化优先级路由,并且可以对用户设置不同权重进行服务区分,大大增加了发布订阅系统的功能性和灵活性,可以以有限的资源更好地满足不同的用户需求。另外,本发明是构建在生成树算法生成的无环网络拓扑上的,还结合了基于内容覆盖的路由算法,因此有效地減少了消息在系统中冗余发送的情況。而且,为了避 免用户在个性化订阅过程中过于“贪婪”地设置高优先级订阅,本发明还提供了一系列的公平性保证措施,确保个性化优先级订阅和公平性并存。具体地,可以根据网络规模和信息量大小,选择不同的调整节点数目、层级反馈结构或者分布式通信。因此,与现有技术相比,本发明首次提出了个性化优先级订阅,改进了系统功能,并且允许用户和订阅进行优先级双区分,具有高效地传送关键信息,大大減少了冗余消息发送量,且兼顾公平性的优点。


图I为本发明基于内容覆盖和反馈机制的用户订阅双区分的个性化优先级路由算法流程原理图;图2为应用本发明基于内容覆盖和反馈机制的用户订阅双区分的个性化优先级路由算法的网络系统结构图。
具体实施例方式以下结合附图,具体说明本发明。本发明方法实现了在传统发布订阅系统中加入个性化订阅优先级区分、用户权重(权重和优先级是同等概念)区分、基于反馈机制的公平性保证等功能。发布订阅系统中有三个角色订阅者、发布者和中间代理。其中订阅者发布订阅、发布者发布事件、中间代理进行匹配转发;另外值得注意的是,在公平性保证机制中,中间代理中的特殊角色有边界节点、一级调整节点和ニ级调整节点(看网络大小,网络过小则ー级调整节点即可,就不需ニ级调整节点了 ;若网络很大,那么有可能需要ー级、ニ级、三级调整节点,总之这是ー个层级的局部全局共同调节的反馈机制。可能没有ニ级调整节点或者有三级调整节点)。在本发明方法中,连接有订阅者的边界节点将承担起监控订阅者行为的责任,主要周期性地记录订阅者接收到的事件的各种属性,然后进行层层反馈、全网调节。请參阅图1,一种基于内容覆盖和反馈机制的用户个性化优先级路由算法,包括以下步骤Sll :根据最小生成树算法将网络拓扑生成无环结构。
S12 :根据网络中节点数目,以节点出入度和树的深度为评判依据,采用选举算法选出若干个调整节点,各自负责网络中的部分订阅者。根据网络大小,调整节点可以有ー个,也可以有多个。在网络大小适中情况下,可设置ー级调整节点和ニ级调整节点,其中一级调整节点收集ー块区域内各订阅者发送的反馈消息,ニ级调整节点则收集ー级调整节点发送的反馈消息进行全局公平性调整。ー级调整节点可以先将得到的反馈信息平均值发给ニ级调整节点,然后开始本地区域化的计算比较,两个过程同时进行可节省一部分时间。然后ニ级调整节点会将全局的调整信息再返回给ー级调整节点,在ー级调整节点区域化调整幅度上进行调整,最后再将需要调整的节点信息(主要是对高、中优先级进行调整)反馈给各边界代理。同理,若是在网络节点巨大的情况下,可以以此类推设置三级调整节点等。不过若周期间隔不是非常长,不推荐层数过多,否则会延迟边界代理得到反馈的时间。S13:订阅者订阅消息,并对其设定个性化的优先级,具体分为高优先级、普通优先级和低优先级。
由于系统采用无环拓扑结构,该步骤的订阅发送过程利用洪泛算法完成,不会造成消息重复转发而占用不必要系统资源的情況。同时因为系统采用的是基于内容覆盖的路由算法,已经订阅过和被覆盖的消息就可以不用重新转发,进ー步节省了带宽等系统资源。另外,系统中所提高优先级、普通优先级和低优先级指的是三个范围,其中高优先级范围为[10,15)中的所有实数;普通优先级范围为[5,10)中的所有实数;低等级的范围为(0,0)中的所有实数。通过该步骤的优先级划分,订阅者就可以将自身可支配的网络资源优先提供给设定的高优先级消息使用,从而可以更快的传送和接收关键信息。然而,由于个性化的订阅优先级设置可能会存在不公平的问题——比如某些用户可能贪婪地将自己所有的订阅都设置为高优先级,从而在中间代理节点系统抢占资源。因此,针对系统的公平性,除了防止低优先级消息“饿死”的机制外,系统还会对每个用户所有订阅的优先级进行审查。为了个性化和公平性保证,上述的步骤ニ和步骤三之间还包括以下操作指定不同指订阅者的优先级权重,根据权重决定ー个节点订阅的不同优先级的消息在网络中的传输质量。具体地说,就是对任何一条订阅,其优先级都是由其在用户本身所有订阅中的重要程度和用户本身在系统中权重所決定的。在某些系统中,用户权重可进行商业收费,以达到服务质量区分。因而本系统可以指定不同用户(包括发布者和订阅者)的权重,从而根据权重决定ー个节点订阅的不同优先级的消息在网络中的传输质量。例如,倘若ー个用户贪婪地将其所有或大部分订阅都设置为高优先级(前提是订阅数超过5条,并且总的订阅范围超过一定比值,或者后期流量超过一定数目吋),那么系统可以启动两种策略一是将其订阅按比例降低,使得其中高优先级消息数量不致于过多。ニ是从商业角度考虑,对可收费系统,可以针对用户订阅的高优先级消息进行收费,从控制成本角度,用户自然会科学地制定订阅优先级;对非可收费系统,也可分配给全部用户ー个最大高优先级预算,一旦达到预算,就不能再继续订阅高优先级消息,用户就会针对自身需求按重要性对消息优先级进行调节。S14:订阅消息在中间代理网络中传输,每个代理节点存储ー个订阅路由表,路由表每项都基于订阅者得出的优先级进行排序,接收到订阅消息后,根据路由表进行匹配,并通过合并覆盖路由算法决定订阅消息是否更新到路由表或进行舍弃处理。同样基于内容覆盖的路由算法,满足不同订阅者的有着合井覆盖关系的订阅在共同路径搭载共同路由,因此也进一步节省了系统资源。S15 :发布者发布事件,事件到达每个代理节点,与其中的订阅路由表进行匹配,若匹配成功,从反向路径路由到感兴趣的订阅者。发布者发布的事件是没有优先级的,当其到达边界代理后,得到初始优先级,且优先级在每一中间节点上根据订阅路由表中下一跳的订阅优先级进行更新。S16:各个边界代理分别记录一段预设周期内其连接的订阅者接收到的消息信息。该消息信息具体包括总优先级、总队列等待时间、总延迟、总流量和消息数目。
S17:当达到预设周期时间间隔,各个边界代理统计各订阅者的消息信息平均值,并将信息平均值发送到其所属的调整节点。S18:各调整节点接收到所有其负责的订阅者消息后,依据各平均值、流量和各订阅者权重进行调整,调整每个订阅者所对应的高范围优先级、普通范围优先级的调整值,并将不为O的调整值返回给各订阅者所属边界代理。具体的,对每个订阅者的优先级范围进行调整遵循以下原则各优先级订阅不可以降级或越级到其他优先级范围。S19:各边界代理收到步骤八发送的消息后,根据不同等级优先级调节本地路由表相应订阅的优先级,并将经过调整的订阅重新洪泛到网络中。上述的步骤七至步骤九为周期性过程,步骤七中计数器在毎次统计信息平均值并发送信息平均值给调整节点后自动清零。以下结合图2,对本发明的基于内容覆盖和反馈机制的用户订阅双区分的个性化优先级路由算法的应用过程进行具体说明。如图2所示,其为本发明实施例的一个相对简单的网络拓扑图。应用本发明方法的网络结构由订阅者(Subscriber,黄色节点)、发布者(Publisher,绿色节点)和代理节点(Broker,粉色节点)、组成。其中订阅者有不同权重,且可给自己的订阅赋不同优先级值;从功能性角度,代理节点可细分为边界代理节点和(ー级、ニ级等)调整节点,它们同时都有普通代理节点的匹配转发等功能。首先,生成树算法生成一个无环的网络拓扑图。图2展示的是无环拓扑。在这个拓扑中,broker I > broker2、broker7、broker9和brokerlO是订阅者的边界代理,且根据距离、节点深度等因素,经选举算法可选举broker3、brokers为ー级调整节点,前者负责brokerl、broker2、broker7的汇总调节,后者则负责broker9、brokerl0的汇总调节。进一步,为了说明本发明设计,指定broker4为ニ级调整节点。其次,订阅者发布订阅,利用洪泛算法在整个系统中传播,最終也会到达每个事件者所属边界代理节点,这个过程会在每个broker的路由表上留下事件反向路径路由回订阅者的记录。因为系统采用的是无环结构,所以消息不会在系统中重复转发占用不必要的系统资源,同时因为系统采用的是基于内容覆盖的路由算法,已经订阅过和被覆盖的消息就可以不用重新转发,相比传统发布订阅系统,本发明方法可以有效地利用宝贵的宽带和节点存储资源。
然后,发布者发布事件。事件会在每个代理节点与路由表匹配,找到下一个感兴趣者,最終到达订阅者,这就是事件的反向路由路由。这个过程中,边界代理节点、broker2,broker7、broker9 和 brokerlO 会分别负责记录 subscriberl、subscriber2、subscriber3、subscriber4和subscriber5收到的事件的总优先级、总队列等待时间、总延迟、总流量和消息数目。接着,周期性反馈机制实现。当预定时间达到吋,每个边界代理会把订阅者的统计信息平均值(除以消息数目,除了总流量之外)发送到其所属的调整节点,分别是bix)ker3和brokers0 ー级调整节点在收齐其负责的订阅者信息后,继续取平均值发送到ニ级调整节点brokeM;然后,在本地同时进行区域化的两两比较等操作,决定每个订阅者的高优先级和普通优先级订阅分别应该调整多少。BiOkeM在收齐其负责的一级调整节点的反馈信息后开始在本地进行全局的比较调整操作——这是为了防止区域性的不公平现象(区域全部偏高或偏低)。值得注意的是,上述这些过程在时间上很可能是重叠进行的(更大范围地说,发布订阅、发布事件、反馈调节都可能同时在进行)。当broker4计算完毕时,它会返回调节信息(区域优先级分高、普通一起调低或调高)给ー级调整节点。Broker3和broker4接收到全局调整信息后,会将它们与区域的调整信息合并,然后再返还给边界代理节点。紧接着, 边界代理节点根据反馈更新路由表,针对改动的路由进行订阅重新发布,此过程类似于订阅发送过程。为了用户体验平稳,建议每次微调,多次周期性调整过后,系统必然慢慢趋于公平。本发明的基于内容覆盖和反馈机制的用户订阅双区分的个性化优先级路由算法,在发布订阅系统中首次引入了个性化优先级路由,并且可以对用户设置不同权重进行服务区分,大大增加了发布订阅系统的功能性和灵活性,可以以有限的资源更好地满足不同的用户需求。另外,本发明是构建在生成树算法生成的无环网络拓扑上的,还结合了基于内容覆盖的路由算法,因此有效地減少了消息在系统中冗余发送的情況。而且,为了避免用户在个性化订阅过程中过于“贪婪”地设置高优先级订阅,本发明还提供了一系列的公平性保证措施,确保个性化优先级订阅和公平性并存。具体地,可以根据网络规模和信息量大小,选择不同的调整节点数目、层级反馈结构或者分布式通信。因此,与现有技术相比,本发明首次提出了个性化优先级订阅,改进了系统功能,并且允许用户和订阅进行优先级(权重和优先级是同等概念)双区分,具有高效地传送关键信息,大大減少了冗余消息发送量,同时兼顾公平性的优点。以上所述,仅是本发明的较佳实施实例而已,并非对本发明做任何形式上的限制,任何未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施实例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围。
权利要求
1.一种基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,包括以下步骤 步骤ー根据最小生成树算法将网络拓扑生成无环结构; 步骤ニ 根据网络中节点数目,以节点出入度和树的深度为评判依据,采用选举算法选出若干个调整节点,各自负责网络中的部分订阅者; 步骤三订阅者订阅消息,并对其设定个性化的优先级,具体分为高优先级、普通优先级和低优先级; 步骤四订阅消息在中间代理网络中传输,每个代理节点存储ー个订阅路由表,路由表每项都基于订阅者得出的优先级进行排序,接收到订阅消息后,根据路由表进行匹配,并通过合并覆盖路由算法决定订阅消息是否更新到路由表或进行舍弃处理; 步骤五发布者发布事件,事件到达每个代理节点,与其中的订阅路由表进行匹配,若匹配成功,从反向路径路由到感兴趣的订阅者; 步骤六各个边界代理分别记录一段预设周期内其连接的订阅者接收到的消息信息; 步骤七当达到预设周期时间间隔,各个边界代理统计各订阅者的消息信息平均值,井将信息平均值发送到其所属的调整节点; 步骤八各调整节点接收到所有其负责的订阅者消息后,依据各平均值、流量和各订阅者权重进行调整,调整每个订阅者所对应的高范围优先级、普通范围优先级的调整值,并将不为O的调整值返回给各订阅者所属边界代理; 步骤九各边界代理收到步骤八发送的消息后,根据不同等级优先级调节本地路由表相应订阅的优先级,并将经过调整的订阅重新洪泛到网络中。
2.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤三中的订阅发送过程采用洪泛算法完成。
3.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤三中所述的高优先级范围为[10,15)中的所有实数;普通优先级范围为[5,10)中的所有实数;低等级的范围为(0,0)中的所有实数。
4.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤ニ还包括根据网络大小情况,对调整节点进行分级设置,具体为设置ー级调整节点和ニ级调整节点,其中,一级调整节点收集ー块区域内各订阅者发送的反馈消息,ニ级调整节点收集一级调整节点发送的反馈消息进行全局公平性调整。
5.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤ニ和步骤三之间还包括指定不同指订阅者的优先级权重,根据权重决定ー个节点订阅的不同优先级的消息在网络中的传输质量。
6.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤四中,满足不同订阅者的有着合井覆盖关系的订阅在共同路径搭载共同路由。
7.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在干,步骤七至步骤九为周期性过程,步骤七中计数器在毎次统计信息平均值并发送信息平均值给调整节点后自动清零。
8.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤五中发布者发布的事件是没有优先级的,当其到达边界代理后,得到初始优先级,且优先级在每一中间节点上根据订阅路由表中下一跳的订阅优先级进行更新。
9.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤六中所述的消息信息具体包括总优先级、总队列等待时间、总延迟、总流量和消息数目。
10.如权利要求I所述的基于内容覆盖和反馈机制的用户个性化优先级路由算法,其特征在于,步骤8中对每个订阅者的优先级范围进行调整遵循以下原则各优先级订阅不可以降级或越级到其他优先级范围。
全文摘要
一种优先级路由算法,根据最小生成树算法将网络拓扑生成无环结构,设置若干调整节点;订阅者订阅消息,设定个性化优先级;订阅消息在网络中传输,每个节点存储一个订阅路由表,路由表每项都基于订阅者得出的优先级进行排序,接收到订阅消息,根据路由表进行匹配,并通过合并覆盖路由算法决定订阅消息是否更新到路由表;发布者发布事件到达代理节点,与订阅路由表进行匹配,若匹配成功,路由到感兴趣的订阅者;边界代理周期性统计订阅者消息信息平均值,并发送到调整节点;调整节点依据平均值、流量和订阅者权重进行调整,将不为0的调整值返回给边界代理;边界代理调节本地路由表优先级,并洪泛到网络中。本发明首具有高效、公平且冗余小的优点。
文档编号H04L12/56GK102833151SQ201210226518
公开日2012年12月19日 申请日期2012年7月2日 优先权日2012年7月2日
发明者曹健, 叶莹莹, 钱诗友, 谭鸿杰, 曹艳, 于润胜, 于晨, 李明禄 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1