CN102195855B - 一种业务路由方法和业务网络 - Google Patents
一种业务路由方法和业务网络 Download PDFInfo
- Publication number
- CN102195855B CN102195855B CN201010127189.2A CN201010127189A CN102195855B CN 102195855 B CN102195855 B CN 102195855B CN 201010127189 A CN201010127189 A CN 201010127189A CN 102195855 B CN102195855 B CN 102195855B
- Authority
- CN
- China
- Prior art keywords
- business
- bunch
- router
- service
- subnet
- 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 91
- 230000003993 interaction Effects 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 39
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 6
- 235000008694 Humulus lupulus Nutrition 0.000 abstract 1
- 230000011664 signaling Effects 0.000 description 10
- 230000006378 damage Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 235000014594 pastries Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- 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/104—Peer-to-peer [P2P] networks
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种业务路由方法和业务网络,该方法包括:接收业务交互消息,所述业务交互消息包含目的业务地址和目的业务类型;根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器。该方法可以使业务按照业务归属接入业务网络,便于业务的管控。而跨子网的业务交互采用全局对等网络层路由,保证了整个业务网络的自组织能力。业务簇可以为多个子网间的同类业务交互组建捷径,减少同类业务交互的路由跳数,加快业务响应,减轻全局对等网络层的负担。
Description
技术领域
本发明涉及一种业务路由方法和业务网络,具体涉及业务网络的组网方法、消息路由方法、路由器及业务网络。
背景技术
互联网技术的迅猛发展促进了互联网业务和内容的极大丰富,使用户对互联网产生了更强的黏度和忠诚度。由于互联网业务的廉价性,特别一些业务免费提供给用户,用户通常选择使用互联网业务替代电信业务,这对电信运营商产生了极大的冲击。各运营商逐步由单一的话音运营商向综合信息运营商进行转型。在向综合信息运营商的转型过程中,运营商迫切需要大量的业务/信息来支撑其提供的业务的多样性和丰富性,从而增强用户的忠诚度。从技术上来说,运营商必须拥有有效的业务层基础设施来支持新业务的快速开发、大量业务和资源(包括第三方业务和资源)的有效组织和管理,从而最终为用户提供可管理、有质量保证的服务。
特别地,随着移动互联网的兴起,各种多媒体业务层出不穷,移动宽带业务已经开始出现爆炸性增长的态势。运营商需要及时把握这种业务发展趋势,积极开发互联网业务与电信能力融合的组合业务。这就要求运营商具备对电信和互联网等不同网络领域的业务集成的能力,使之成为可控、可运营、有质量保证的业务。
但是,随着业务特性的增加和业务复杂度的提高,目前各类业务提供商和运营商在开发、管理业务的过程中使用的平台架构、技术纷繁复杂,导致业务开发缓慢、成本高昂、业务互联互通复杂、管理混乱等问题。因此,在互联网业务与电信业务逐渐融合的过程中,为了减少整个业务流程体系中的业务间交互障碍和复杂度,迫切需要一种技术框架来规范业务与业务之间的发现、交互、运行、管理、支撑机制,从而增强业务之间的交互效率、降低运营支撑成本。
发明内容
本发明实施例提供了一种业务网络的组网方法、消息路由方法、路由器及业务网络。
一方面,本发明实施例提供了一种业务网络的组网方法,所述业务网络包括多个子网,所述子网包括多个业务路由器,所述方法包括:从每个所述子网的多个业务路由器中确定至少一个全局业务路由器,所述多个子网中的全局业务路由器组成用于在不同子网间路由至少一种类型业务消息的全局对等网络层;通过所述全局对等网络层和所述多个子网创建业务簇,所述业务簇用于在业务簇内路由同一种类型业务的消息;所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
另一方面,本发明实施例提供了一种业务网络的消息路由方法,所述方法包括:接收业务交互消息,所述业务交互消息包含目的业务地址和目的业务类型;根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器;所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息;所述根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器具体包括:当所述目的业务地址属于子网内时,则通过子网,基于子网路由协议,将所述业务交互消息路由至所述子网内目的业务的接入业务路由器;或者当所述目的业务地址不属于子网内,且所述目的业务的类型与业务簇的类型相同时,则通过所述业务簇,并基于业务簇路由协议,将所述业务交互消息路由至所述业务簇内目的业务的接入业务路由器;或者当所述目的业务地址不属于子网内,且所述目的业务的类型与业务簇的类型不同时,则通过全局对等网络层,基于全局路由协议,将所述业务交互消息路由到目的业务的归属子网,所述目的业务的归属子网根据子网路由协议,将所述业务交互消息转发至所述目的业务的接入业务路由器。
还一方面,本发明实施例提供了一种路由器,所述路由器包括:子网内路由表,用于存储子网内的业务路由器的路由信息;子网路由内路由单元,用于根据所述子网内路由表,路由子网内传输的业务;业务簇路由表,用于存储加入业务簇的业务路由器的路由信息;业务簇路由单元,用于根据所述业务簇路由表,路由子网间传输的一种类型的业务;路由决策单元,用于根据接入的目的业务类型和目的业务地址,选择所述子网内路由单元或业务簇路由单元路由所述目的业务至其接入业务路由器;所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
最后一方面,本发明实施例还提供了一种业务网络,所述业务网络包括:多个子网,所述子网包括多个业务路由器和至少一个全局业务路;一个全局对等网络层,由每个所述子网中全局业务路由器而形成,用于在不同子网间路由至少一种类型业务的消息;至少一个业务簇,由多个子网中负责同类业务接入的业务路由器组成,用于在业务簇内路由同一种类型业务的消息;所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
本发明实施例提供的技术方案,通过将业务网络分为本地子网、业务簇、全局对等网络层,有效地使业务按照业务归属接入业务网络,便于业务的管理和控制。而跨子网的业务交互采用全局对等网络层路由,保证了整个业务网络的自组织能力。业务簇可以在多个子网间的同类业务交互组建捷径,减少同类业务交互的路由跳数,加快业务响应,减轻全局对等网络层的负担。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的业务网络的网络架构示意图;
图2为本发明实施例的业务路由器的功能框图;
图3为本发明实施例的组网方法的整体流程图;
图4为本发明实施例的消息路由方法的整体流程图;
图5为本发明实施例的子网内路由的信令交互流程图一;
图6为本发明实施例的子网内路由的信令交互流程图二;
图7为本发明实施例的业务簇内消息路由的信令交互流程图一;
图8为本发明实施例的业务簇内消息路由的信令交互流程图二;
图9为本发明实施例的子网间消息路由的信令交互流程图;
图10为本发明实施例的全局对等网络层的创建流程图;
图11为本发明实施例的业务簇的创建流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的业务网络(Service Network)是在物理的网络层之上建立的一个虚拟的叠加业务网络,为所有业务提供统一、安全、高效的协同运行、支撑环境。
本发明实施例的业务网络的组网方法,将业务网络划分为多个子网,每个子网内可以根据子网的需求和特点采用不同的路由协议,使得本地业务由本地业务路由器提供接入服务。从每个子网中选举或人工指定至少一个业务路由器加入到全局对等(P2P,Peer to Peer)网络层(全局P2P层),以进行子网之间的消息路由。同时按照业务类型在多个子网之间动态创建业务类型相关的业务簇,以加速该类型业务的路由,改善用户的体验。
本发明实施例的业务网络包括多个子网、一个全局对等网络层及至少一个业务簇。子网可以按照物理网络或管理域划分,每个子网中包括多个业务路由器,一个业务路由器可作为一个节点。每个子网内可以按照各自的规模、业务需求、管理要求等特征来选择路由协议。每个子网内可以选举或指定至少一个业务路由器加入全局P2P层,即每个子网还包括至少一个全局业务路由器,该全局P2P层负责子网之间的消息的路由,即可以用于在不同子网间路由至少一种类型的业务。不同子网间的负责同类业务接入的业务路由器可以组成该类业务簇,该业务簇通过上述全局P2P层和所述多个子网创建形成,同类业务的交互消息可直接由簇内节点进行转发。
可选地,上述业务簇可以包括:簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息;簇成员节点间通过簇头节点来进行通信,例如簇头节点用于转发簇成员节点之间交互的消息。或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息,而不需要通过簇头节点转发。
以下举例说明本发明实施例的业务网络。如图1所示,本发明实施例的作为一个举例的业务网络10包括:
三个子网12、14、16,分别用于负责各自子网内的消息的路由,每个子网可以按照各自的规模、业务需求、管理要求等特征来选择各自的路由协议;实际运行中,子网的个数可以多于三个;
一个全局P2P层18,从每个子网内可以选举或指定至少一个业务路由器创建成全局P2P层,用于负责子网之间的消息的路由;
业务簇20,由上述子网中负责A类业务接入的业务路由器组成,用于在业务簇20的簇内节点之间转发A类业务的交互消息;
业务簇22,由上述子网中负责B类业务接入的业务路由器组成,用于在业务簇22的簇内节点之间转发B类业务的交互消息。
本发明实施例还提供了一种业务路由器,如图2所示,本发明实施例的业务路由器30包括:
子网内路由表302,用于存储子网内其他业务路由器的路由信息,例如可以包括业务路由器的业务网络地址、IP地址、端口号等,子网内路由表的信息会随着采用的路由协议不同而不同;
子网内路由单元303,用于根据子网内路由表302,路由子网内传输的业务,例如转发目的地址为子网内的消息。进一步,子网内路由单元还用于维护子网内拓扑结构。
可选地,在本发明实施例中,处于全局P2P层的业务路由器还可以进一步包括:
全局路由表304,用于存储加入全局P2P层的业务路由器的路由信息,可以包括业务路由器的P2P层标识ID、IP地址、端口号等信息;
全局路由单元305,用于根据全局路由表304,路由子网间传输的至少一种类型的业务;例如转发子网间的消息,并参与维护全局P2P层的拓扑结构。
路由决策单元301,用于判断消息的类型及目的地址,并根据消息的类型及目的地址决策采用何种路由协议转发该消息;
在本发明实施例中,业务或资源在业务网络内具有全局唯一的编址,业务的编址方案可以由运营商自行设计,例如可以采用类似以下编址格式:
业务标识.业务类型.子网标识.业务网络标识。
例如:e-tour.mushup.shenzhen.servicenetwork.com
业务路由器在业务网络内也具有全局唯一的编址,编址方案类似于业务的编址方案,例如:业务路由器标识.[业务类型].子网标识.业务网络标识,其中业务类型为可选。
例如:sr0124.mushup.shenzhen.servicenetwork.com
业务和接入该业务的业务路由器可具有相同的业务网络地址后缀:业务类型.子网标识.业务网络标识。
业务路由器的P2P层ID的形式为字符与数字组合形成的字符串,可计算获得,如算法:MD5(业务路由器的业务网络地址后缀),其中MD5是一种具体的散列函数。
可选地,在本发明实施例中,加入某类业务簇的业务路由器还可以进一步包括:
业务簇路由表306,用于存储本业务簇内的业务路由器的路由信息,包括业务路由器地址、IP地址、端口号等信息;
业务簇路由单元307,用于根据业务簇路由表306,路由子网间传输的一种类型的业务;例如在不同的子网间转发本业务类型的消息。
路由决策单元301,用于判断消息的类型及目的地址,并根据消息的类型及目的地址决策采用何种路由协议转发该消息;
需要说明的是,业务簇路由表306中包含的业务路由器地址,可以包括业务簇的簇头节点和/或其它簇成员节点的业务路由器地址。这取决于业务簇内路由协议的模式,如果设定所有消息都需要通过簇头节点中转,则业务簇路由表只需要保存簇头节点的业务路由器地址、IP地址、端口号等信息。如果路由协议允许簇内成员节点之间直接通信,则还可以保存其他簇成员节点的路由信息。由于在业务簇形成后,簇成员节点只知道簇头节点的路由信息,当需要与其他簇成员节点通信时,可以通过查询簇头节点来获得对方的路由信息,并可以将查询得到的路由信息保存在自己的业务簇路由表中,以后再次通信时,可以不用再查询簇头节点。
可选地,在本发明实施例中,既处于全局P2P层又加入了某一业务簇的业务路由器具有上述功能单元301-307,此时路由决策单元301,具体可以用于根据接入的目的业务类型和目的业务地址,选择子网内路由单元303、全局路由单元305或业务簇路由单元307路由所述目的业务至其接入业务路由器。
本发明实施例的业务路由器,根据自身在业务网络中参与的角色,参与工作的单元会发生变化。如果业务路由器仅作为子网内的节点,而不加入全局P2P层,则不需要启用全局路由单元305和全局路由表304;如果业务路由器没有加入业务簇,则不需要启用业务簇路由单元307和业务簇路由表306。
本发明实施例的业务路由器可以接入一个或一个以上的应用服务器,也可以不接入任何应用服务器,例如加入全局P2P层的业务路由器。
本发明实施例的应用服务器可以用于提供各种应用或资源访问服务,应用服务器同时也可以是其他应用的请求者。
本发明实施例还提供了一种业务网络的组网方法。图3为本发明实施例的组网方法的整体流程图。本发明实施例的业务网络包括多个子网,所述子网包括多个业务路由器,如图3所示,该方法包括:
S101、从每个所述子网的多个业务路由器中确定至少一个全局业务路由器,所述多个子网中的全局业务路由器组成用于在不同子网间路由至少一种类型业务消息的全局对等网络层;
S102、通过所述全局对等网络层和所述多个子网创建业务簇,所述业务簇用于在业务簇内路由同一种类型业务的消息。
以下通过进一步的实施例进行详细说明。
本发明实施例按照物理网络或管理域将业务网络划分为多个子网。例如可以将电信运营商一个城市的网络作为一个本地子网,城市内所有的业务路由器组成一个子网。子网还可以将接入到同一个传输网络的业务路由器组成一个本地子网,例如将所有在同一个局域网(LAN,Local Area Network)的业务路由器组成一个子网,或将属于同一个城域网(WAN,Metropolitan AreaNetwork)内的所有业务路由器组成一个子网。本地子网可以根据规模、业务需求选择路由协议,本发明实施例不限定本地子网内采用的路由协议,不同的本地子网可以采用不同的路由协议用于本子网内业务路由器之间的消息路由。每个子网内的业务路由器可以根据所属子网确定的路由协议相互交换路由信息,并配置各自的路由表。业务路由器的本地子网路由表信息包括子网内业务路由器的业务网络地址、业务路由器IP地址、业务路由器端口号、接入业务类型等。
每个子网内的业务可以按照业务类型接入相应的业务路由器,即同一类业务由同一个业务路由器提供接入,如果某一类业务数量超出单个业务路由器的接入能力,可由多个业务路由器提供某类业务的接入。上述的业务类型包括:短信类、语音类、互联网类等,表1为业务类型示例表,请参阅表1,例如投票互动业务和短信查询天气业务共同归属于短信类业务。如果一个子网内存在多个负责同一类业务接入的业务路由器,这些路由器中有一个可以加入全局P2P层。如果业务路由器加入了全局P2P层,则该业务路由器需要运行两种路由协议,即子网内路由协议和全局路由协议,分别用于本子网内消息路由和子网间消息路由。
表1
短信类 | 语音类 | Internet类 |
投票互动 | 个性化语音新闻 | e-tour虚拟旅游 |
短信查询天气 | 语音邮件 | 超级邮箱 |
业务网络可以在各本地子网形成后,通过一个管理节点通知各个子网选举业务路由器加入全局P2P层。管理节点可以是一台业务目录服务器或DNS(Domain Naming System,域名服务器)服务器,也可以是单独设置的一台完成管理功能的服务器。该管理服务器用于完成业务网络的管理、全局P2P初始化、配置、登记业务簇和监控业务网络状况等功能。在全局P2P初始化前,可通过人工配置全局P2P的参数和各子网参数,如各子网的组播地址或广播地址,全局P2P协议、端口,或全局P2P层引导节点等。
每个子网可以设定选举策略或人工配置加入全局P2P层的业务路由器,候选的节点能够同时运行子网内路由协议及全局P2P路由协议。被选举加入全局P2P层的业务路由器首先利用子网内路由协议查询子网内是否已有加入全局P2P层的业务路由器,如果有,则以该已加入全局P2P层的业务路由器作为其引导节点来启动新节点加入过程,例如构建自己的路由表等。或如果本子网内没有已加入全局P2P层的节点,则通过DNS或业务目录服务器等设备获取已加入全局P2P层的节点列表,通过该节点列表中的节点作为引导节点,生成各自的路由表记录,并通知相关节点其已加入全局P2P层。例如,在业务路由器加入全局P2P层后,向子网内发送通告消息,该通告消息包括业务路由器地址、已加入全局P2P的信息,以便子网内业务路由器可以通过该全局P2P层节点转发子网间的消息。
上述业务目录服务器上保存了业务类型信息,及全局P2P层的引导节点信息等,以提供查询服务。
如果某个子网内的已加入全局P2P层的业务路由器由于发生过载、退出、断电等情况而失效,该子网内将有其他业务路由器监测到该全局P2P层业务路由器的失效,从而,监测到失效情况的业务路由器触发子网内选举新的全局P2P层业务路由器的过程,向子网内广播选举消息。
子网内的其他业务路由器根据预设的策略决定是否参与选举,预设的策略例如为:自身的负载情况是否允许,本子网内是否已经有同类型的业务路由器加入到了全局P2P层,当根据预设的策略判断参与选举时,向发起选举的业务路由器(如前述监测到失效情况的业务路由器)返回响应,否则不响应。例如未加入特定业务簇的业务路由器或负载较轻的业务路由器,这些候选业务路由器向发起选举的业务路由器返回响应。发起选举的业务路由器从中选择一个或一个以上业务路由器加入全局P2P层,并向被选中的节点返回选举成功消息。被选中的业务路由器加入全局P2P层,过程与上文描述的新节点加入过程类似。
如果子网内的业务路由器主动申请加入全局P2P层,则先向本子网内已加入全局P2P层的业务路由器发送加入请求,并按照该全局P2P层所采用的协议处理节点的加入过程。
全局P2P层的创建过程及后续的维护可以采用结构化P2P协议,例如chord、CAN(Content Addressable Networks,内容寻址网络)、Pastry等,本发明并不限定采用何种具体的协议。
为了全局P2P层在路由过程中保证业务能准确地被路由到其接入业务路由器,在确定全局P2P层中的业务路由器的P2P层ID时,采用其所接入业务的业务地址的共同后缀作为其计算业务路由器P2P层ID的参数。而业务消息在全局P2P层中的路由过程,也是利用这个共同后缀来计算该业务的key值。这样就可以保证该消息最终被路由到具有与该key值相同的P2P层ID的业务路由器,而具有该P2P层ID值的业务路由器即为负责该类业务接入的业务路由器。
本发明实施例中,可对P2P协议生成的业务路由器P2P层ID和业务的key值做如下规定:
业务路由器的P2P层ID=hash(业务类型.子网标识.业务网络标识)
业务key=hash(业务类型.子网标识.业务网络标识)
在本发明实施例中,可规定同一个子网内负责同类业务接入的业务路由器最多只有一个可以加入全局P2P层,从而可以保证业务路由器的P2P层ID的唯一性。在同一子网内的同一类业务的key,由于采用相同的业务地址后缀来计算key值,所以会生成同样的key值。但由于只需要利用该key值,将该业务路由至提供该类业务接入服务的任意一个业务路由器,该业务路由器接收到该消息后,会根据路由决策单元判断该消息属于本地子网内的业务,则可以采用本地路由协议转发该消息至最终的接入业务路由器。因此,并不会对同类业务间的访问信息造成混淆。
当全局P2P层中的任一业务路由器监测到任一类业务的子网间流量超过了预设的阈值,或满足其他预设的条件后,触发业务簇创建过程,即作为业务簇发起节点。在创建该业务簇之前,该业务簇发起节点先在业务网络中向业务目录查询是否已经存在该类业务簇。
业务簇信息可以预先保存在业务网络的业务目录中,业务簇的类型可以预先配置或定义,业务网络只能创建已定义的业务簇。在业务簇创建后,需要在业务目录中登记,标记该业务簇为活动状态及保存该业务簇的簇头节点信息。
如果该业务簇发起节点根据查询结果判断某类业务簇的状态为已存在,则终止创建过程;如果该类型业务未被定义,也终止业务簇创建过程。否则,当该业务簇的状态为不存在,且该类型业务为已定义,则该业务簇发起节点通过全局P2P层向各子网内广播该类业务的业务簇创建通知。每个子网内的加入全局P2P层的业务路由器在接收到该业务簇创建通知后,利用子网内路由协议向所属子网内的所有业务路由器广播该业务簇创建通知。每个子网内的业务路由器判断自身是否属于该业务类,如果属于,则向业务簇发起节点返回业务簇创建响应,该响应中包括该业务路由器的描述信息,例如至少包括以下一种参数:业务路由器的性能信息、负载信息、IP地址、端口号等。
业务簇发起节点在收集了所有加入该业务簇的业务路由器信息后,根据预设的策略选择一个业务路由器作为该业务簇的簇头节点,并利用全局P2P层向每个子网的至少一个已加入全局P2P层的业务路由器发送业务簇生成通告,该通告包括该业务簇的簇头节点的信息,例如包括以下至少一种:业务簇的标识、簇头节点的业务网络地址、簇头节点的IP地址、簇头节点的端口号、业务簇路由协议等。每个子网内加入全局P2P层的业务路由器向子网内广播该业务簇生成通告。各子网内加入该业务类簇的业务路由器收到业务簇生成通告后,向簇头节点发送簇成员登记消息,该簇成员登记消息包括自身的业务地址、IP地址、端口号、接入业务范围等信息。簇头节点在收集了各簇成员的信息后,保存该业务簇的簇成员信息在业务簇路由表中,形成业务簇。
上述簇头节点,用于记录簇内其他成员节点的路由信息,并为簇内成员节点之间转发消息或提供查询簇成员节点路由信息的服务。
上述簇成员登记消息中包含的接入业务范围信息指该业务路由器为哪些业务提供接入服务,例如短信类业务或者多媒体业务,或者是某类业务的一部分,比如短信类业务包含的某几个具体的业务。
本发明实施例还可以设定销毁业务簇的条件,比如某一业务簇流量小于一个预设的阈值或业务簇内节点数小于预设的数量,当满足销毁条件时,销毁该业务簇,从而可以实现动态地建立和销毁业务簇。
本发明实施例还提供了一种业务网络中的消息路由方法。图4为本发明实施例的消息路由方法的整体流程图。如图4所示,该方法包括:
S201、接收业务交互消息,所述业务交互消息包含目的业务地址和目的业务类型;
S202、根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器。
以下通过进一步的实施例进行详细说明。
在一个子网内,业务交互消息通过其接入的业务路由器转发、路由。接入业务路由器接收到业务交互消息后,利用路由决策单元判断业务目的地址是否为本子网内的业务。如果目的业务地址属于子网内,则采用本子网内的路由协议,将该业务交互消息路由至目的业务的接入业务路由器。然后,目的业务的接入业务路由器再转发该业务交互消息至处理目的业务的应用服务器。
本发明实施例中,子网内业务路由器之间的路由可以根据各自的特点采用不同的组网结构及路由方案。例如,可以采用的一种简单的组网方案为网状网,即每个业务路由器都可以直接与子网内其他任意业务路由器通信。每个业务路由器都保持子网内其他所有业务路由器的路由信息。每次通信前,都查询路由表找到对应的业务路由器路由地址,然后直接通信。
业务路由器利用业务交互消息中包含的目的业务地址信息,路由上述业务交互消息至该目的业务的接入业务路由器即可。
以下举例说明子网内消息路由的具体过程:
图5为本发明实施例的子网内路由的信令交互流程图一。如图5所示,该流程包括:
S301、源业务应用服务器(例如影视资讯短信应用)向源业务的接入业务路由器1发送业务交互消息,以请求访问目的业务(如短信投票业务);该业务交互消息中包括目的业务地址,例如vote.sms.shenzhen.servicenetwork.com;
S302、源业务的接入业务路由器1(sr235.mushup.shenzhen.servicework.com)根据目的业务地址,判断目的业务属于本子网内;
S303、源业务的接入业务路由器1根据本地子网路由协议和本地路由表,将该业务交互消息路由至下一跳业务路由器2(sr63.sms.shenzhen.servicenetwork.com);例如,业务路由器1的路由表如表2所示:
表2
S304、业务路由器2(sr63.sms.shenzhen.servicenetwork.com)查询自身接入业务列表,判断目的业务属于自身接入的业务,即业务路由器2为目的业务的接入业务路由器;
S305、业务路由器2向目的业务应用服务器(vote.sms.shenzhen.servicenetwork.com)转发该业务交互消息;
S306、目的业务应用服务器向源业务应用服务器(popstar.sms.shenzhen.servicenetwork.com)返回响应。
图6为本发明实施例的子网内路由的信令交互流程图二。如图6所示,该流程包括:
S401、源业务应用服务器(例如mushup类业务)向源业务的接入业务路由器1发送业务交互消息,以请求访问目的业务(如查询车票业务);该业务交互消息中包括目的业务地址,例如ticket.sms.shenzhen.servicenetwork.com;
S402、源业务的接入业务路由器1(sr235.mushup.shenzhen.servicework.com)根据目的业务地址,判断目的业务属于本子网内;
S403、源业务的接入业务路由器1根据本地子网路由协议和自身的本地路由表,将该业务交互消息路由至下一跳业务路由器2(sr63.sms.shenzhen.servicenetwork.com);例如,业务路由器1的路由表如表3所示:
表3
S404、业务路由器2根据目的业务地址,判断目的业务属于本子网内,且不属于自身接入的业务范围;
S405、业务路由器2根据本地子网路由协议和本地路由表,将该业务交互消息路由至下一跳业务路由器3(sr234.sms.shenzhen.servicenetwork.com);例如,业务路由器2的路由表如表4所示:
表4
S406、业务路由器3(sr234.sms.shenzhen.servicenetwork.com)判断目的业务属于自身接入的业务,即业务路由器3为目的业务的接入业务路由器;
S407、业务路由器3向目的业务应用服务器转发该业务交互消息;
S408、目的业务应用服务器向源业务应用服务器返回响应。
当某业务路由器接收一个业务交互消息后,利用路由决策单元判断目的业务地址是否属于本子网内部。如果属于本子网内,则采用本地子网路由协议路由该消息;如果不属于本子网内,则判断目的业务是否属于本业务路由器加入的业务簇,如果是,则利用簇内路由协议路由该消息,如果否,则将该业务交互消息转发至本子网内与目的业务的接入业务路由器同类的其它业务路由器进行处理,或者转发至本子网内加入全局P2P层的业务路由器处理。
上述过程具体为:当该业务路由器判断接收到目的业务类型属于自身加入的业务簇时,该业务路由器向簇头节点查询目的业务地址所属的接入业务路由器地址。簇头节点查询簇内路由表,并返回该目的业务的接入业务路由器地址。该业务路由器获得目的业务的接入业务路由器地址后,转发该消息至目的业务的接入业务路由器。上述具体过程还可以为:业务簇内的簇成员节点将所述业务交互消息转发给簇头节点;簇头节点根据目的业务地址和所述路由信息,向目的业务的接入业务路由器转发所述业务交互消息。
如果业务路由器接收到的业务交互消息不属于本业务路由器加入的业务簇,则转发至本子网内负责接入目的业务类型的业务路由器处理。如果该负责接入目的业务类型的业务路由器发现不存在该类业务的业务簇,或在本地子网内不存在目的业务类的接入业务路由器时,则通过全局P2P层路由协议,转发该业务交互消息至目的业务归属子网的某个业务路由器。
在业务路由器查询业务簇的过程中,业务路由器可以在查询业务目录或域名服务器某类业务簇信息后,缓存该业务簇信息在本地。设定保存该缓存信息的时间,过期后则删除该缓存信息。下次查询该业务簇信息时,直接从本地缓存中查询,从而不必再查询业务目录。
以下举例说明本发明实施例业务簇内消息路由的具体过程。
图7为本发明实施例的业务簇内消息路由的信令交互流程图一。如图7所示,该流程包括:
S501、源业务应用服务器(popstar.sms.shenzhen.servicenetwork.com)向源业务的接入业务路由器1(sr542.sms.shenzhen.servicenetwork.com)发送业务交互消息;上述业务交互消息中包含目的业务地址(news.sms.beijing.servicenetwork.com)和目的业务类型(type=sms application);
S502、业务路由器1判断目的业务属于一个业务簇内的业务,即业务网络中存在短信类的业务簇;
S503、业务路由器1向该业务簇的簇头节点2(sr523.sms.guangzhou.servicenetwork.com)查询目的业务的接入业务路由器地址;
S504、簇头节点2查询簇内路由表,并返回该目的业务的接入业务路由器地址(sr244.sms beijing.servicenetwork.com);例如,表5为簇头节点2的簇内路由表;
表5
S505、业务路由器1根据目的业务的接入业务路由器地址(sr244.sms beijing.servicenetwork),在所述业务簇内,基于业务簇路由协议,将该业务交互消息路由至目的业务的接入业务路由器3(sr244.sms beijing.servicenetwork.co-m);
S506、目的业务的接入业务路由器3转发该业务交互消息至目的业务应用服务器(news.sms.beijing.servicenetwork.com);
S507、目的业务应用服务器向源业务应用服务器返回响应。
图8为本发明实施例的业务簇内消息路由的信令交互流程图二。如图8所示,该流程包括:
S601、源业务应用服务器(magazine.multimedia.shenzhen.servicenetwork.com)向源业务的接入业务路由器1(sr952.multimedia.shenzhen.servicenetwork.com)发送业务交互消息;上述业务交互消息中包含目的业务地址(news.sms.beijing.servicenetwork.com)和目的业务类型(type=sms application);
S602、源业务的接入业务路由器1在接收至上述业务交互消息后,根据目的业务地址判断目的业务是否属于本地子网内;如果属于本地子网内,则在本地子网内,基于本地子网路由协议,将该业务交互请求消息路由至目的业务的接入业务路由器;如果判断目的业务不属于本地子网内,则根据目的业务类型判断所述目的业务是否归属于现有网络中的业务簇之一,本实施例中,业务路由器1判断目的业务归属于现有网络中的一个业务簇,则执行S603;
S603、源业务的接入业务路由器1将该业务交互消息转发至本子网内加入该类业务簇的业务路由器2(popstar.sms.shenzhen.servicenetwork.com);
S604、业务路由器2判断目的业务属于业务簇内;
S605、业务路由器2向该业务簇的簇头节点3(sr523.sms.guangzhou.servicenetwork.com)查询目的业务的接入业务路由器地址;
S606、簇头节点3查询簇内路由表,并返回该目的业务的接入业务路由器地址(sr244.sms beijing.servicenetwork.com);如表6所示,表6为簇头节点3的簇内路由表。
表6
S607、业务路由器2根据目的业务的接入业务路由器地址,在所述业务簇内,基于业务簇路由协议,将该业务交互消息路由至目的业务的接入业务路由器4(sr244.sms beijing.servicenetwork.com);
S608、目的业务的接入业务路由器4转发该业务交互消息至目的业务应用服务器(news.sms.beijing.servicenetwork.com);
S609、目的业务应用服务器向源业务应用服务器返回响应。
当业务路由器的路由决策单元发现业务交互消息的目的业务地址不属于本地子网,并且不能通过业务簇路由消息后,需要将该业务交互消息通过子网内的路由协议路由至本子网内已加入全局P2P层的业务路由器。
该全局业务路由器获取目的业务的信息,根据前述规则计算目的业务的key值,并利用该key值和本节点保存的全局路由表,路由该业务交互消息至与该key具有相同的P2P层ID值的业务路由器。消息的路由过程根据不同的P2P算法会有差异,一个实施例是,利用key值逐渐路由到具有与key值接近的P2P层ID的业务路由器,最后路由至具有与上述key值相同的P2P层ID值的业务路由器。
图9为本发明实施例的子网间消息路由的信令交互流程图。如图9所示,该流程包括如下步骤:
S701、源业务应用服务器(voicemail.multimedia.shenzhen.servicenetwork.com)向其接入业务路由器1(sr221.multimedia.shenzhen.servicenetwork.com)发送业务交互消息;该业务交互消息中包含目的业务地址(voicemail.multimedia.beijing.servicenetwork.com)和目的业务类型(type=multimedia application);
S702、源业务的接入业务路由器1根据目的业务地址,判断目的业务不属于本地子网;并且,判断目的业务类型对应的业务簇不存在;
S703、源业务的接入业务路由器1根据全局路由表和全局路由协议,转发该业务交互消息到本地子网内已加入全局P2P层的业务路由器2(sr231.shenzhen.servicenetwork.com);
S704-S705、业务路由器2根据目的业务地址判断目的业务属于本地子网之外,则基于全局路由协议和全局路由表,将业务交互消息路由至处于全局P2P层的下一跳业务路由器3;
S706-S707、业务路由器3(sr463.guangzhou.servicenetwork.com)根据目的业务地址,判断目的业务属于本地子网之外,则基于全局路由协议和全局路由表,将业务交互消息路由至处于全局P2P层的下一跳业务路由器4(sr573.beijing.servicenetwork.com);
S708-S709、业务路由器4根据目的业务地址,判断目的业务属于本地子网内,则根据本地子网协议和本地路由表,将业务交互消息转发到目的业务的接入业务路由器5;
S710、目的业务的接入业务路由器5转发该业务交互消息到目的业务应用服务器;
S711、目的业务应用服务器向源业务应用服务器返回响应。
以下举例进一步详细说明本发明的上述具体实施例。
请再次参阅图1,图1为本发明实施例的业务网络系统的组网架构图。如图1所示,本发明实施例的业务网络包括多个本地子网(Local Sub-Network),每个本地子网由多个业务路由器组成。每个子网内包括至少一个全局P2P层节点,这些节点之间形成一个全局的叠加网络(Global Overlay)。每个业务路由器负责某类业务或应用的接入,这类业务的所有业务交互消息都通过其对应的业务路由器进行转发、路由。而不同子网内,负责同类业务接入服务的业务路由器可以形成业务簇。这些负责同类业务接入的业务路由器在转发该类业务消息时,可以直接在业务簇内转发消息,以加快消息的寻址速度,减少中间转发次数,减少业务的响应时间。
该业务网络按照网络结构采用统一的编址方案,本地子网内的所有业务路由器都按如下方案编址:
业务路由器标识.[业务接入类型.]子网标识.业务网络标识
例如,业务网络的广东省深圳市子网的负责消息类业务接入的某个业务路由器可编址为sr001.sms.sz.gd.servicenetwork.com;其中,sr001表示业务路由器标识,sms表示业务类型为短信类业务,sz.gd代表广东省深圳市,对应于子网标识,servicenetwork.com为业务网络标识。
而某个未负责具体业务接入的业务路由器的编址则为sr024.sz.gd.servicenetwork.com。关于编址,本发明并不限定编址的方案,可以根据运营商具体的部署采用不同的编址方案,如按照网络层次方式编址。
各本地子网可以通过各种路由协议组织本地子网内的业务路由器,保证子网内每个业务路由器均可直接或间接转发消息至子网内其他业务路由器。本地子网也可能具备自组织机制,例如业务路由器可以动态的加入、退出,路由协议能保证各业务路由器的路由信息的准确性和完整性。
在本地子网构造完成后,管理节点可以根据预先设定的策略选举全局P2P层节点,或者通过人工配置方式指定加入全局P2P层的业务路由器。上述预先设定的策略可以是基于多种选举算法,例如可以根据业务路由器的性能、存储容量、负载或带宽等指标的加权值来衡量候选的业务路由器优先度,例如业务路由器的优先度=CPU*30%+memory_size*10%+(1-load)*30%+bandwidth*30%。可选地,选举算法可以只考虑bandwidth和CPU两个参数。每个参与选举的业务路由器自行计算其优先度,并将该优先度返回给选举发起节点,选举发起节点(管理节点)根据优先度确定哪个业务路由器加入全局P2P层,并给选定的业务路由器发送选举成功消息。
被选举或指定加入全局P2P层的业务路由器利用自己的业务网络地址计算P2P层ID值。为了全局P2P层在路由过程中保证业务能准确地路由到其接入业务路由器,在全局P2P层中的业务路由器的P2P层ID值采用其接入业务的业务地址的共同后缀作为其计算P2P层ID的参数。而消息在全局P2P层中路由过程也是利用这个共同后缀计算该业务的key值。
假设在业务网络的广东深圳子网内有一个负责短信类业务接入的业务路由器,其P2P层ID值计算如下:P2P层ID=hash(sms.sz.gd.servicenetwork.com)。通过这种方式,就可以保证该消息最终被路由到与其key值相同的P2P层ID的业务路由器,而具有该P2P层ID值的业务路由器就是负责该类业务接入的业务路由器。
正在请求加入全局P2P层的业务路由器在子网内查询是否存在已加入全局P2P层的业务路由器。该查询方式可以通过向子网内发送广播消息,或通过DNS、业务目录等设备来查询,并将查询得到的节点作为引导节点,以构建自已的路由表。
如果本地子网内已有节点加入全局P2P层,则以该节点作为正在请求加入全局P2P层的节点的引导节点。如果本地子网内没有加入全局P2P层的节点,则通过业务目录或DNS查找外网的已加入全局P2P层的节点。
全局P2P层的初始化也可以通过人工设置的方式完成,设置全局P2P层的第一个节点,并将全局P2P层的信息登记到业务目录或DNS,包括已加入全局P2P层的节点列表等信息。在新节点获得引导节点信息后,可以根据全局P2P层采用的路由算法获取路由表数据,并通知全局P2P层其他节点该新节点加入事件等。
本地子网内除初始化阶段需要选举业务路由器加入全局P2P层外,在本地子网内已加入全局P2P层的业务路由器失效后,需要选举替代节点加入全局P2P层时也会触发全局P2P层的业务路由器选举过程。子网内也可以有业务路由器主动加入全局P2P层,其过程和上述过程类似。
图10为本发明实施例的全局P2P层的创建流程图。如图10所示,该流程包括以下步骤:
S801、管理节点发起选举加入全局P2P层的节点的过程,利用子网内路由协议发送子网内广播消息,以选举全局P2P层节点;
S802、业务路由器接收到选举消息后,根据预设的策略判断是否满足参与选举的条件;预设的策略包括子网内是否有负责同类接入服务的业务路由器已加入全局P2P层、是否满足最低性能要求、是否超过负荷上限等;如果满足参与选举条件,则可进一步根据下式计算本节点的优先度:优先度=CPU*30%+memory_size*10%+(1-load)*30%+bandwidth*30%;
S803、各参与选举的业务路由器向管理节点返回自身的优先度;
S804、管理节点接收到所有参与选举的节点返回的优先度信息后,选择最高优先度的一个或多个业务路由器加入至全局P2P层,如果有相同的优先度的节点,可以随机选择一个;
S805、管理节点向被选中加入全局P2P层的业务路由器返回选举结果,触发这些业务路由器启动加入全局P2P层的流程;
S806、被选中的业务路由器计算其P2P层ID,例如可以根据下式计算:
P2P层ID=hash(接入业务类型.子网标识.业务网络标识);
S807、被选中的业务路由器向子网内查询是否有已加入全局P2P层的业务路由器;
S808、等待预定的时间,如果没有接收到响应,则表明子网内没有加入全局P2P层的节点,则执行步骤S909;如果接收到响应,则利用该发送响应的节点作为引导节点,启动新节点的后续加入过程,具体加入过程可采用P2P协议中新节点加入过程,例如根据计算的P2P层ID和获取的路由信息构建路由表、通知后继结点等,在此不赘述。
S809、如果被选中的业务路由器判断等待超时,即在预设的时间内没有在子网内接收到响应,则向业务目录查询其他子网已加入全局P2P层的节点;
S810、业务目录返回其他子网已加入全局P2P层的节点列表;
S811、被选中加入全局P2P层的业务路由器利用接收到的节点列表中的全局P2P层节点作为引导节点,启动新节点的后续加入过程。
在业务网络中为了加快业务的路由速度及响应时间,减轻全局P2P层路由负载,可以根据子网间路由消息的类型动态地创建业务相关的簇。负责同一类业务接入的业务路由器形成一个簇,直接转发消息,而不需要通过全局P2P层路由消息。当业务网络中某个处于全局P2P层的业务路由器或管理节点监测到在全局P2P层上,某类业务的流量等特征满足预定的策略,则启动该类业务的业务簇的创建。
图11为本发明实施例的业务簇创建的流程图。如图11所示,该流程包括:
S901、当全局P2P层内任一业务路由器或管理节点(这里简称业务簇发起节点)监测到A类业务的消息满足预设的策略,触发创建该类业务簇。预设的策略包括消息数量或比例超过预设的阈值、负责接入该类业务的业务路由器数量超过预定的阈值、平均路由跳数超过阈值等;平均路由跳数就是消息到达目的应用服务器需转发的次数,例如,短息投票业务的路由消息若平均需要经过6次转发才能到达目的应用服务器,则平均路由跳数为6次。
S902、当A类业务簇触发条件满足后,业务簇发起节点向业务目录查询是否已经存在该类业务簇;
S903、业务目录返回业务簇信息,包括该业务簇是否预定义、状态等信息;
S904、如果该业务簇不存在,则业务簇发起节点通过全局P2P层广播一个A类业务簇创建通知,例如mashup类业务簇创建通知;否则,终止创建过程;
S905、每个子网内加入全局P2P层的业务路由器接收到该业务簇创建消息后,利用子网内路由协议通知负责该类业务类接入的业务路由器;
S906-S907、每个接收到业务簇创建通知的业务路由器向业务簇发起节点返回自身的信息,如性能、负载、IP地址、端口号等;
S908、业务簇发起节点在收集了所有加入该业务簇的业务路由器信息后,根据预设的策略选择一个业务路由器作为该业务簇的簇头,选择簇头的策略可以和上节中选举算法类似;
S909、业务簇发起节点利用全局P2P层向每个子网发送该业务簇生成通告,该通告包括该业务簇的簇头节点的信息;
S99、每个子网内加入全局P2P层的业务路由器向子网内广播该业务簇生成通告;
S911、各子网内加入该类业务簇的业务路由器收到业务簇生成通告后,向簇头节点发送簇成员登记消息,该消息包括自身的业务地址、IP地址、端口号、接入业务范围等信息;
S912、簇头节点在收集了各簇成员节点的信息后,保存该业务簇的簇成员信息在业务簇路由表中,形成业务簇;
S913、业务簇头向其业务簇成员发送业务簇确认消息;
S914、业务簇头向业务目录登记业务簇信息。
业务簇可以降低特定类业务的路由跳数及响应时间,但也会增加网络的复杂性及额外的网络结构维护开销。为了保证网络的可管理性、可维护性,使创建业务簇带来的效益大于维护成本,在业务网络中不适宜创建大量的业务簇,而必须是根据需求来创建业务簇。
业务簇的创建可以根据业务网络中当前的流量特征来创建特定业务簇,而当该业务簇的流量等特征不再满足预定的条件时,需要将该业务簇销毁。业务簇销毁过程相对简单,只需要指示业务簇簇头节点销毁该业务簇,簇头节点向簇内所有节点广播业务簇销毁通知。簇头更新簇头信息,将该业务簇的状态更新为非活动状态。
本发明实施例的技术方案带来的有益效果包括:
本发明实施例通过将业务网络分为本地子网、业务簇、全局P2P层,有效地使业务按照业务归属接入业务网络,便于业务的管理和控制,同时也使大部分的本地业务交互流量限制在本地子网内部。而跨子网的业务交互采用全局P2P层路由,保证了整个业务网络的自组织能力,使加入全局P2P层的业务路由器可以动态地加入、退出网络,不需要人工干预,降低了网络的营运成本。业务簇可以在多个子网间的同类业务交互组建“捷径”,减少同类业务交互的路由跳数,提高业务的响应速度,缩短业务的寻址时间,减轻全局P2P层的负担、提高业务交互效率。
本发明实施例的业务网络组网方法及路由方法,可以提高业务网络的可靠性、增强可扩展性并降低网络运营成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (18)
1.一种业务网络的组网方法,其特征在于,所述业务网络包括多个子网,所述子网包括多个业务路由器,所述方法包括:
从每个所述子网的多个业务路由器中确定至少一个全局业务路由器,所述多个子网中的全局业务路由器组成用于在不同子网间路由至少一种类型业务消息的全局对等网络层;
通过所述全局对等网络层和所述多个子网创建业务簇,所述业务簇用于在业务簇内路由同一种类型业务的消息;
所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
2.根据权利要求1所述的方法,其特征在于,所述子网根据物理网络或管理域划分。
3.根据权利要求1或2所述的方法,其特征在于,一个所述业务路由器接入一种类型的业务或一部分所述类型的业务,所述业务路由器与其所接入的业务具有相同的地址后缀。
4.根据权利要求1或2所述的方法,其特征在于,所述确定至少一个全局业务路由器具体包括:
从每个子网中选举至少一个全局业务路由器,或根据人工配置在每个子网中指定至少一个全局业务路由器。
5.根据权利要求1所述的方法,其特征在于,所述通过所述全局对等网络层和所述多个子网创建业务簇具体包括:
处于全局对等网络层的发起节点通过全局对等网络层,向各子网内广播业务簇创建通知,所述业务簇创建通知包括待创建的业务簇的业务类型;
当各子网内的业务路由器判断自身属于所述业务类型时,向所述发起节点返回业务簇创建响应,以申请加入所述业务簇;
所述发起节点根据所述业务簇创建响应,确定所述业务簇的簇头节点;
所述发起节点向各子网内已加入所述业务簇的业务路由器,发送包含簇头节点信息的业务簇生成通告;
各子网内已加入所述业务簇的业务路由器,向所述簇头节点返回簇成员登记消息;
簇头节点根据所述簇成员登记消息生成业务簇路由表。
6.根据权利要求5所述的方法,其特征在于,所述业务簇创建响应包括以下至少一种参数:业务路由器的性能信息、负载信息、地址信息。
7.根据权利要求5所述的方法,其特征在于,所述业务簇生成通告包括以下至少一种:业务簇的标识、簇头节点的业务网络地址、簇头节点的IP地址、簇头节点的端口号、业务簇路由协议。
8.根据权利要求1所述的方法,其特征在于,每个全局业务路由器用其地址后缀作为散列函数的参数计算该业务路由器在全局对等网络层的标识。
9.根据权利要求1所述的方法,其特征在于,通过所述全局对等网络层和所述多个子网创建业务簇之前还包括:根据预设的业务簇创建触发策略,触发业务簇的创建;
所述预设的业务簇创建触发策略包括以下至少一种:
待监测业务类型的业务流量占全局对等网络层流量的比例超过预设阈值;
待监测业务类型的业务流量在全局对等网络层中超过预设阈值;
待监测业务类型的业务的接入业务路由器数量超过预设阈值;
待监测业务类型的业务从源应用服务器至目的应用服务器的平均路由跳数超过预设阈值。
10.根据权利要求1所述的方法,其特征在于,通过所述全局对等网络层和所述多个子网创建业务簇之前还包括:
将预先定义的可用于创建业务簇的业务类型,以及已存在的业务簇的状态信息保存于业务目录或域名服务器中。
11.根据权利要求10所述的方法,其特征在于,通过所述全局对等网络层和所述多个子网创建业务簇之前还包括:
处于全局对等网络层的发起节点通过查询业务目录或域名服务器来判断待创建的业务簇是否已经存在,以及判断待创建的业务簇的业务类型是否为预先定义的业务类型;
当待创建的业务簇不存在,且待创建的业务簇的业务类型为预先定义的业务类型时,所述处于全局对等网络层的发起节点执行所述业务簇的创建过程。
12.一种业务网络的消息路由方法,其特征在于,所述方法包括:
接收业务交互消息,所述业务交互消息包含目的业务地址和目的业务类型;
根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器;
所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息;
所述根据所述目的业务地址和目的业务类型,通过子网、全局对等网络层、业务簇中的至少一个,将所述业务交互消息路由至所述目的业务的接入业务路由器具体包括:
当所述目的业务地址属于子网内时,则通过子网,基于子网路由协议,将所述业务交互消息路由至所述子网内目的业务的接入业务路由器;或者
当所述目的业务地址不属于子网内,且所述目的业务的类型与业务簇的类型相同时,则通过所述业务簇,并基于业务簇路由协议,将所述业务交互消息路由至所述业务簇内目的业务的接入业务路由器;或者
当所述目的业务地址不属于子网内,且所述目的业务的类型与业务簇的类型不同时,则通过全局对等网络层,基于全局路由协议,将所述业务交互消息路由到目的业务的归属子网,所述目的业务的归属子网根据子网路由协议,将所述业务交互消息转发至所述目的业务的接入业务路由器。
13.如权利要求12所述方法,其特征在于,所述通过业务簇将所述业务交互消息路由至所述目的业务的接入业务路由器之前还包括:
业务路由器向业务目录或域名服务器查询目的业务是否属于所述目的业务类型对应的业务簇,并保存获取的查询结果;
在预设的时间阈值过期后,删除所述查询结果。
14.根据权利要求12所述方法,其特征在于,所述通过业务簇将所述业务交互消息路由至所述目的业务的接入业务路由器具体包括:
业务簇内的簇成员节点根据目的业务地址,向簇头节点查询目的业务的接入业务路由器地址;
簇头节点向所述簇成员节点返回目的业务的接入业务路由器地址;
所述簇成员节点根据目的业务的接入业务路由器地址,向目的业务的接入业务路由器转发所述业务交互消息。
15.根据权利要求12所述方法,其特征在于,所述通过业务簇将所述业务交互消息路由至所述目的业务的接入业务路由器具体包括:
业务簇内的簇成员节点将所述业务交互消息转发给簇头节点;
簇头节点根据目的业务地址和所述路由信息,向目的业务的接入业务路由器转发所述业务交互消息。
16.一种路由器,其特征在于,所述路由器包括:
子网内路由表,用于存储子网内的业务路由器的路由信息;
子网内路由单元,用于根据所述子网内路由表,路由子网内传输的业务;
业务簇路由表,用于存储加入业务簇的业务路由器的路由信息;
业务簇路由单元,用于根据所述业务簇路由表,路由子网间传输的一种类型的业务;
路由决策单元,用于根据接入的目的业务类型和目的业务地址,选择所述子网内路由单元或业务簇路由单元路由所述目的业务至其接入业务路由器;
所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
17.根据权利要求16的路由器,其特征在于,所述路由器进一步包括:
全局路由表,用于存储加入全局对等网络层的业务路由器的路由信息;
全局路由单元,用于根据所述全局路由表,路由子网间传输的至少一种类型的业务;
路由决策单元,用于根据接入的目的业务类型和目的业务地址,选择所述子网内路由单元或全局路由单元路由所述目的业务至其接入业务路由器。
18.一种业务网络,其特征在于,所述业务网络包括:
多个子网,所述子网包括多个业务路由器和至少一个全局业务路由器;
一个全局对等网络层,由每个所述子网中全局业务路由器而形成,用于在不同子网间路由至少一种类型业务的消息;
至少一个业务簇,由多个子网中负责同类业务接入的业务路由器组成,用于在业务簇内路由同一种类型业务的消息;
所述业务簇包括簇头节点和多个簇成员节点,簇头节点用于保存多个簇成员节点的路由信息,并在这多个簇成员节点之间转发消息,簇成员节点间通过簇头节点来进行通信;或簇头节点向各簇成员节点提供查询服务,以使各簇成员节点根据查询结果直接转发消息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010127189.2A CN102195855B (zh) | 2010-03-17 | 2010-03-17 | 一种业务路由方法和业务网络 |
EP20100847758 EP2541848B1 (en) | 2010-03-17 | 2010-12-30 | Service routing method and service network |
PCT/CN2010/080478 WO2011113289A1 (zh) | 2010-03-17 | 2010-12-30 | 一种业务路由方法和业务网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010127189.2A CN102195855B (zh) | 2010-03-17 | 2010-03-17 | 一种业务路由方法和业务网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102195855A CN102195855A (zh) | 2011-09-21 |
CN102195855B true CN102195855B (zh) | 2014-10-08 |
Family
ID=44603271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010127189.2A Expired - Fee Related CN102195855B (zh) | 2010-03-17 | 2010-03-17 | 一种业务路由方法和业务网络 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2541848B1 (zh) |
CN (1) | CN102195855B (zh) |
WO (1) | WO2011113289A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9826025B2 (en) | 2013-05-21 | 2017-11-21 | Cisco Technology, Inc. | Chaining service zones by way of route re-origination |
CN104322019B (zh) * | 2013-05-23 | 2017-11-07 | 华为技术有限公司 | 业务路由系统、设备和方法 |
CN104243302B (zh) | 2013-06-20 | 2018-03-16 | 华为技术有限公司 | 业务路由报文处理方法、装置及网络系统 |
CN103955984B (zh) * | 2014-03-24 | 2017-11-07 | 广州华多网络科技有限公司 | 实现互联网投票的方法、服务器、投票处理节点及系统 |
CN103945487A (zh) * | 2014-05-08 | 2014-07-23 | 国家电网公司 | 一种电力通信网中面向可靠性的节点分簇方法 |
US9729439B2 (en) | 2014-09-26 | 2017-08-08 | 128 Technology, Inc. | Network packet flow controller |
CN104468604A (zh) * | 2014-12-19 | 2015-03-25 | 北京奇虎科技有限公司 | 局域网中基于对等网络通信模式的数据访问方法及装置 |
US9736184B2 (en) | 2015-03-17 | 2017-08-15 | 128 Technology, Inc. | Apparatus and method for using certificate data to route data |
US9729682B2 (en) | 2015-05-18 | 2017-08-08 | 128 Technology, Inc. | Network device and method for processing a session using a packet signature |
CN109561033B (zh) * | 2015-09-28 | 2021-08-24 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
US9985883B2 (en) | 2016-02-26 | 2018-05-29 | 128 Technology, Inc. | Name-based routing system and method |
US11523325B2 (en) | 2018-05-17 | 2022-12-06 | Neragon Networks Ltd. | Mobile ad-hoc wireless networks |
CN109474905B (zh) * | 2018-12-25 | 2021-08-24 | 重庆邮电大学 | 一种基于角色层级化的无线传感网安全路由方法 |
CN109767106A (zh) * | 2018-12-29 | 2019-05-17 | 中国联合网络通信集团有限公司 | 跨组织流程处理方法及装置 |
CN110545487B (zh) * | 2019-08-20 | 2021-11-16 | 中央电视台 | 组播信号编址方法、传输方法及装置、交换机 |
CN110557336A (zh) * | 2019-09-17 | 2019-12-10 | 中国人民解放军战略支援部队信息工程大学 | 一种寻址路由方法及系统 |
CN112383390B (zh) * | 2020-11-12 | 2023-06-27 | 刘中亚 | 一种适用于多播通信的wsn组密钥管理方法 |
CN115250289A (zh) * | 2021-04-13 | 2022-10-28 | 中国移动通信有限公司研究院 | 服务路由方法及设备 |
CN115225416B (zh) * | 2021-04-19 | 2024-05-17 | 北京神州数码云科信息技术有限公司 | 广播消息的方法、装置、电子设备及存储介质 |
CN113676477A (zh) * | 2021-08-20 | 2021-11-19 | 中邮科通信技术股份有限公司 | 基于星状网络和内存路由表实现Socket会话集群通信的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246148B1 (en) * | 1995-09-29 | 2007-07-17 | Cisco Technology, Inc. | Enhanced network services using a subnetwork of communicating processors |
CN101047586A (zh) * | 2006-06-29 | 2007-10-03 | 华为技术有限公司 | 用于无线mesh网的业务QoS保证方法和装置 |
CN101136861A (zh) * | 2006-09-01 | 2008-03-05 | 阿尔卡特朗讯 | 提供iptv服务的方法 |
CN101584192A (zh) * | 2006-11-27 | 2009-11-18 | 艾利森电话股份有限公司 | 节点注册方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2411806A1 (en) * | 2001-11-16 | 2003-05-16 | Telecommunications Research Laboratory | Wide-area content-based routing architecture |
CN1870624A (zh) * | 2005-07-11 | 2006-11-29 | 华为技术有限公司 | 网络中对等实体之间实现业务请求的方法及装置 |
CN101047638A (zh) * | 2006-06-28 | 2007-10-03 | 华为技术有限公司 | Mesh网路由方法和装置 |
US8724533B2 (en) * | 2007-03-07 | 2014-05-13 | Cisco Technology, Inc. | Multicast support by mobile routers in a mobile ad hoc network |
EP2127218A1 (en) * | 2007-03-12 | 2009-12-02 | Telefonaktiebolaget LM Ericsson (PUBL) | Arrangement and method relating to network management |
-
2010
- 2010-03-17 CN CN201010127189.2A patent/CN102195855B/zh not_active Expired - Fee Related
- 2010-12-30 WO PCT/CN2010/080478 patent/WO2011113289A1/zh active Application Filing
- 2010-12-30 EP EP20100847758 patent/EP2541848B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246148B1 (en) * | 1995-09-29 | 2007-07-17 | Cisco Technology, Inc. | Enhanced network services using a subnetwork of communicating processors |
CN101047586A (zh) * | 2006-06-29 | 2007-10-03 | 华为技术有限公司 | 用于无线mesh网的业务QoS保证方法和装置 |
CN101136861A (zh) * | 2006-09-01 | 2008-03-05 | 阿尔卡特朗讯 | 提供iptv服务的方法 |
CN101584192A (zh) * | 2006-11-27 | 2009-11-18 | 艾利森电话股份有限公司 | 节点注册方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2541848B1 (en) | 2015-05-06 |
EP2541848A1 (en) | 2013-01-02 |
EP2541848A4 (en) | 2013-01-23 |
CN102195855A (zh) | 2011-09-21 |
WO2011113289A1 (zh) | 2011-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102195855B (zh) | 一种业务路由方法和业务网络 | |
CN106170024B (zh) | 一种基于软件定义网络中数据处理的系统、方法和节点 | |
EP2813060B1 (en) | A method for collaborative caching for content-oriented networks | |
US9509614B2 (en) | Hierarchical load balancing in a network environment | |
EP2537103B1 (en) | Client routing in a peer-to-peer overlay network | |
US20130041982A1 (en) | Method and node for acquiring content and content network | |
JP2005311863A (ja) | トラフィック分散制御方法、制御装置及びネットワークシステム | |
CN112398902B (zh) | 高可用负载均衡方法、系统及计算机可读存储介质 | |
WO2009100637A1 (zh) | 一种建立路由的方法和装置 | |
US20120185487A1 (en) | Method, device and system for publication and acquisition of content | |
CN112272145A (zh) | 一种报文处理方法、装置、设备及机器可读存储介质 | |
CN105681438A (zh) | 内容中心网络中一种集中式的缓存决策策略 | |
JP2016111703A (ja) | 情報指向ネットワークにおけるコンテンツ配置 | |
CN101969458B (zh) | 支持层次化网络拓扑的p2p流量优化方法 | |
Dressler et al. | A framework for inter-domain routing in virtual coordinate based mobile networks | |
Li et al. | Deep reinforcement learning for intelligent computing and content edge service in ICN-based IoV | |
CN101378392A (zh) | 一种p2p环境下资源查询的方法和装置 | |
Mishra et al. | A review on content centric networking and caching strategies | |
Anitha et al. | A survey of P2P overlays in various networks | |
US8135859B1 (en) | System and method for providing infrastructure services without a designated network manager | |
Anandaraj et al. | An efficient QOS based multimedia content distribution mechanism in P2P network | |
CN102104518A (zh) | 一种用于VoIP服务的混合型Pastry网络 | |
Al-Oqily et al. | Towards automating overlay network management | |
JP5942994B2 (ja) | イベント通知サービス方法およびシステム | |
Chen et al. | An improved Kademlia protocol with double-layer design for P2P voice communications |
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: 20141008 |