CN104079482B - 一种选择路由路径的方法及装置 - Google Patents

一种选择路由路径的方法及装置 Download PDF

Info

Publication number
CN104079482B
CN104079482B CN201310101050.4A CN201310101050A CN104079482B CN 104079482 B CN104079482 B CN 104079482B CN 201310101050 A CN201310101050 A CN 201310101050A CN 104079482 B CN104079482 B CN 104079482B
Authority
CN
China
Prior art keywords
business
information
router
asked
service
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
CN201310101050.4A
Other languages
English (en)
Other versions
CN104079482A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310101050.4A priority Critical patent/CN104079482B/zh
Publication of CN104079482A publication Critical patent/CN104079482A/zh
Application granted granted Critical
Publication of CN104079482B publication Critical patent/CN104079482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种选择路由路径的方法及装置,属于通信领域。所述方法包括:业务路由器接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;根据所述路由路径转发所述业务请求消息。所述业务路由器包括:解析模块、第一获取模块和转发模块。本发明能够提高选择路由路径的可靠性。

Description

一种选择路由路径的方法及装置
技术领域
本发明涉及通信领域,特别涉及一种选择路由路径的方法及装置。
背景技术
业务网络是独立于基础物理网络之上的一个叠加网络,提供一系列功能实体类似于IP(Internet Protocol,互联网协议)网络层的路由器和交换机等网络设备,业务网络的核心逻辑功能单元是业务路由器,业务路由器负责为业务选择路由路径,根据选择的路由路径来转发业务。
目前,业务路由器可以周期性地从部署在网络中的上下文信息源中查询上下文信息,或者,接收上下文信息源周期性地广播上下文信息;业务路由器当接收到用于请求业务的业务请求时,参考该上下文信息为该业务请求选择路由路径,并根据选择的路由路径发送该业务请求。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
业务路由器所参考的上下文信息是从上下文信息源中周期性地获取到的,使得业务路由器参考的上下文信息常常是较长时间以前获取的,导致业务路由器根据此上下文信息选择的路由路径往往不是最优的;另外,仅参照上下文信息也不足以支持选择最忧路由路径,使得选择路由路径的可靠性较低。
发明内容
为了提高选择的路由路径的可靠性,本发明提供了一种选择路由路径的方法及装置。所述技术方案如下:
第一方面,一种选择路由路径的方法,所述方法包括:
业务路由器接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;
所述业务路由器根据所述路由路径转发所述业务请求消息。
在第一方面的第一种可能实现方式中,所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,包括:
根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
结合第一方面或第一方面的第一种可能实现方式中,在第二种可能实现方式中,所述业务路由器对所述业务请求消息进行解析,获得所述业务请求消息请求业务的业务类型,包括:
所述业务路由器获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
所述业务路由器根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
结合第一方面的第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述根据所述业务类型选择路由策略,包括:
如果所述业务类型为数据类,则选择路由策略为最短路径策略;
如果所述业务类型为业务类,则选择路由策略为最忧路由策略。
结合第一方面或第一方面的第一至第三的任一种可能实现方式,在第四种可能实现方式中,所述业务路由器为源业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之前,还包括:
设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
结合第一方面或第一方面的第一至第三的任一种可能实现方式,在第五种可能实现方式中,所述业务路由器为中间业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之后,还包括:
如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
结合第一方面或第一方面的第一至第三的任一种可能实现方式,在第六种可能实现方式中,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之前,还包括:
如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一路由反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
结合第一方面或第一方面的第一至第三的任一种可能实现方式,在第七种可能实现方式中,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之后,还包括:
所述业务路由器接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
结合第一方面或第一方面的第一至第三的任一种可能实现方式,在第八种可能实现方式中,所述业务路由器为非目的业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之后,还包括:
接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
第二方面,一种用于选择路由路径的装置,所述装置包括:
解析模块,用于接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
确定模块,用于根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;
转发模块,用于根据所述路由路径转发所述业务请求消息。
在第二方面的第一种可能实现方式中,所述确定模块包括:
选择单元,用于根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
过滤单元,用于根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
第二确定单元,用于根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能实现方式中,所述解析模块包括:
获取单元,用于获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
第一确定单元,用于根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
第二方面的第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述第二确定单元包括:
选择子单元,用于如果所述业务类型为数据类,则选择路由策略为最短路径策略;如果所述业务类型为业务类,则选择路由策略为最忧路由策略;
确定子单元,用于通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
结合第二方面或在第二方面的第一至第三的任一种可能实现方式,在第四种可能实现方式中,所述业务路由器为源业务路由器,所述装置还包括:
第一添加模块,用于设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
结合第二方面或在第二方面的第一至第三的任一种可能实现方式,在第五种可能实现方式中,所述业务路由器为中间业务路由器,所述装置还包括:
第二添加模块,用于如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
结合第二方面或在第二方面的第一至第三的任一种可能实现方式,在第六种可能实现方式中,所述装置还包括:
第二获取模块,用于如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
结合第二方面或在第二方面的第一至第三的任一种可能实现方式,在第七种可能实现方式中,所述装置还包括:
第一接收模块,用于接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第三获取模块,用于根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
第三添加模块,用于设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
结合第二方面或在第二方面的第一至第三的任一种可能实现方式,在第八种可能实现方式中,所述装置还包括:
第二接收模块,用于接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
第四获取模块,用于获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第五获取模块,用于根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
第三方面,一种用于选择路由路径的装置,所述装置包括处理器和存储器,用于执行所述第一方面的一种选择路由路径的方法。
在本发明实施例中,由于解析出待请求的业务的业务类型,根据业务路由器通过自学习方式获取的上下文信息和该业务类型,可以获取到最忧路由路径,从而提高选择的路由路径的可靠性。
附图说明
图1是本发明实施例提供的一种选择路由路径的方法流程图;
图2是本发明实施例提供的一种业务路由器第一结构示意图;
图3是本发明实施例提供的另一种选择路由路径的方法流程图;
图4是本发明实施例提供的一种业务路由器第二结构示意图;
图5是本发明实施例提供的一种业务路由器第三结构示意图;
图6是本发明实施例提供的另一种选择路由路径的方法流程图;
图7是本发明实施例提供的一种用于选择路由路径的装置第一结构示意图;
图8是本发明实施例提供的一种用于选择路由路径的装置第二结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,本发明实施例提供了一种选择路由路径的方法,包括:
步骤S101:业务路由器接收业务请求消息,对该业务请求消息进行解析,获得该业务请求消息请求待请求的业务的业务类型;
步骤S102:业务路由器根据已存储的上下文信息、该业务类型和该业务请求消息,确定用于转发该业务请求消息的路由路径,其中已存储的上下文信息是业务路由器通过自学习方式实时获取的;
步骤S103:业务路由器根据该路由路径转发该业务请求消息。
其中,业务路由器接收到用于请求待请求的业务的业务请求消息后,可以获取到自身的第一路由反馈信息,第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳以及该业务路由器的负载信息,并将第一路由反馈信息添加到该业务请求消息中,再发送该业务请求消息。业务路由器接收待请求的业务对应的业务应答消息,该业务应答消息携带该业务请求消息经过的各业务路由器的第一路由反馈信息。
其中,业务路由器当接收到该业务应答消息后,可以采用自学习方式获取待请求的业务的上下文信息,包括:
业务路由器获取自身的第二路由反馈信息,第二路由反馈信息包括待请求的业务的反应时长、与上一跳之间的业务链路的链路情况信息以及上一跳的性能信息,从该业务应答消息中提取该业务请求消息经过的各业务路由器的第一路由反馈信息,对第二路由反馈信息和该业务请求消息经过的各业务路由器的第一路由反馈信息进行分析得到待请求的业务的上下文信息。
在本发明实施例中,由于解析出待请求的业务的业务类型,根据业务路由器通过自学习方式获取的上下文信息和该业务类型,可以获取到最忧路由路径,从而提高选择的路由路径的可靠性。
本发明实施例提供了一种选择路由路径的方法。
其中,本发明中用于选择路由路径的装置具体可以是业务路由器,并可以通过业务路由器来选择路由路径,参见图2,该业务路由器包括:消息解析单元201,路由决策单元202,路由Context(上下文)单元203,路由反馈单元204,Context信息单元205,消息路由单元206和负载自测单元207;
消息解析单元201,用于接收业务请求消息,将该业务请求消息发送给路由决策单元202,对业务请求消息所请求的业务的业务类型进行解析。
路由决策单元202,用于根据Context信息单元205实时获取的上下文信息,确定用于转发该业务请求的路由路径,并将获取的路由路径发送给消息路由单元;
Context信息单元205,用于通过自学习方式实时获取的上下文信息并存储获取的上下文;
消息路由单元,用于接收路由决策单元202发送的路由路径,根据该路由路径转发该业务请求消息。
路由反馈单元204,用于负责汇总业务路由所需的Context信息,判断筛选合适的Context信息,根据Context信息和消息类别动态决定路由策略;内容请求类别的消息,路由策略是最小跳数和最近;业务请求类别的消息,路由策略是选择最优业务,
负载自测单元207,用于负责监测业务路由器的物理CPU(Central ProcessingUnit,中央处理器)负载,内存负载,可具体到每条消息处理所需的资源以及所消耗的时间;
其中,在业务网络中部署上述业务路由器,业务路由器可以接收业务请求者发送的业务请求消息,并将该业务请求消息转发给业务提供者来请求业务;业务路由器可以接收业务提供者发送的业务应答消息,并将该业务应答消息转发给业务请求者。
其中,在本发明实施例中,为了便于说明,将在一次业务请求中直接与业务请求者相连并直接接收业务请求者发送的业务请求消息的业务路由器称为源业务路由器;将直接与业务提供者相连并直接接收业务提供者发送该业务请求消息所请求的业务对应的业务应答消息的业务路由器称为目的业务路由器;将接收源业务路由器发送的业务请求消息并转发该业务请求消息的业务路由器称为中间业务路由器。
其中,源业务路由器、中间业务路由器和目的业务路由器可以为同一业务路由器,也可以分别为不同的业务路由器;例如,业务提供者和业务请求者之间只经过一个业务路由器,此时源业务路由器、中间业务路由器和目的业务路由器即为同一业务路由器;再如,业务提供者和业务请求者之间只经过多个业务路由器,此时源业务路由器、中间业务路由器和目的业务路由器可以为不同业务路由器。
参见图3,部署在业务网络中的业务路由器接收业务请求者发送的业务请求消息,通过本发明实施例提供的方法来选择路由路径,并根据选择的路由路径来发送该业务请求消息,包括:
步骤S201:源业务路由器接收业务请求者发送的业务请求消息,该业务请求消息携带待请求的业务的标识;
步骤S202:源业务路由器对待请求的业务的业务类型进行解析,解析出待请求的业务的业务类型;
具体地,源业务路由器获取待请求的业务的类型描述信息,根据待请求的业务的类型描述信息获取待请求的业务的业务类型,待请求的业务的类型描述信息包括该业务请求消息所使用的协议类型、接收该业务请求消息的访问端口、待请求的业务的关键词和待请求的业务的注册信息中的至少一者。
其中,业务类型包括业务类和数据类;业务类的业务可以包括视频、IPTV(Internet Protocol Television,网路协议电视)和/或文件传输等类型的业务,数据类的业务可以包括地图查询业务、天气查询业务或游戏等。
其中,承载业务类的业务对应的业务请求消息的协议与承载数据类的业务对应的业务请求消息的协议不同;以及,源业务路由器接收业务类的业务对应的业务请求消息所使用的端口与接收数据类的业务对应的业务请求消息所使用的端口不同。
其中,业务提供者在请求待请求的业务时可以输入关键词,所以该业务请求消息可以携带待请求的业务的关键词;源业务路由器可以对待请求的业务的关键词进行语义分析,得到待请求的业务的业务类型。
步骤S203:源业务路由器根据待请求的业务的业务类型和实时获取的上下文信息,确定用于转发该业务请求消息的路由路径;
具体地,根据待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;根据实时获取的上下文信息,对选择的路由信息进行过滤,得到满足预设条件的路由信息,根据待请求的业务的业务类型选择路由策略,根据选择的路由策略和过滤得到的路由信息,确定用于转发该业务请求消息的路由路径。
其中,路由信息至少包括业务的标识、路由路径、业务提供者的标识和路由时间;源业务路由器可以根据待请求的业务的标识,从已存储的路由信息中获取待请求的业务对应的路由信息,从待请求的业务对应的路由信息中获取路由时间在离当前时间最近的预设时间内的路由信息。
其中,上下文信息是源业务路由器通过自学习方式获取的,上下文信息包括网络信息和业务信息,网络信息包括路由路径的带宽、上下行速度和Qos(Quality of Service,服务质量)等信息,业务信息包括业务提供者的标识、业务排队请求时间和Qos。进一步地,业务信息还可以包括业务提供者的可用性和业务评价等信息。
其中,源业务路由器根据实时获取的上下文信息,对选择的路由信息进行过滤的操作,可以为:
从选择的业务路由器中获取路由路径的带宽超过预设带宽阈值、路由路径的上下行速度超过预设速度阈值和/或路由路径的Qos超过预设Qos阈值的路由信息;以及,可以从获取路由信息中选择业务提供者的业务排队请求时间小于预设时间阈值和/或业务提供者的Qos超过预设Qos阈值的路由信息。
其中,如果待请求的业务的业务类型为业务类,则源业务路由器根据待请求的业务的业务类型为业务类,选择路由策略为最忧路由策略,通过最忧路由策略,从过滤得到的路由信息包括路由路径中选择Qos最好的路由路径,将选择的路由路径确定为用于转发该业务请求消息的路由路径;如果待请求的业务的业务类型为数据类,则源业务路由器根据待请求的业务的业务类型为数据类,选择路由策略为最短路径策略,通过最短路径策略,从进一步选择的路由信息包括的路由路径中选择跳数最少的路由路径。
步骤S204:源业务路由器确定自身不是目的业务路由器,设置路由反馈标识以及获取自身的第一路由反馈信息,第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳以及源业务路由器的负载信息;
其中,源业务路由器获取的上一跳业务路由器的标识为预设数值,预设数值可以为0;源业务路由器的负载信息可以为CPU使用率、内存占用率和该业务请求消息的处理时间等信息。
其中,源业务路由器接收到该业务请求消息时,可以获取接收该业务请求消息的接收时间,根据该接收时间和当前时间获取该业务请求消息的处理时间。
步骤S205:源业务路由器将该反馈标识和第一路由反馈信息添加到该业务请求消息中,根据用于转发该业务请求消息的路由路径,将该业务请求消息转发给下一跳业务路由器;
其中,参见图4,源业务路由器解析所请求的业务类型,业务类型分为数据类和业务类,数据类请求选择最短路径策略(途径业务路由器跳数最少),业务类请求选择最忧路由策略(按照业务提供者的业务提供情况,选择最优业务提供给业务请求者);路由策略决定后,就根据路由Context反馈的路由建议信息,查看是否有可用路由建议可用(例如5秒之内源业务路由器负责的业务请求者们是否有相同的业务请求);根据Context信息单元收集的网络信息比较路由Context的路由建议信息,根据Context信息单元收集的业务信息比较路由Context的业务选择建议信息,以最新更新时间的信息为准;路由决策单元选择最终业务以及目的业务路由器地址,路由决策将路由消息告知消息路由单元,将消息路由到下一跳业务路由器。
其中,用于转发该业务请求消息的路由路径中包括下一跳业务路由器的标识。其中,该下一跳业务路由器可以为中间业务路由器或目的业务路由器。
步骤S206:中间业务路由器接收上一跳业务路由器发送的该业务请求消息,对待请求的业务的业务类型进行解析,解析出待请求的业务的业务类型;
具体地,中间业务路由器接收该业务请求消息,获取待请求的业务的类型描述信息,根据待请求的业务的类型描述信息获取待请求的业务的业务类型,待请求的业务的类型描述信息包括承载该业务请求消息的协议类型、接收该业务请求消息的访问端口、待请求的业务的关键词和待请求的业务的注册信息中的至少一者。
步骤S207:中间业务路由器根据待请求的业务的业务类型和实时获取的上下文信息,确定用于转发该业务请求消息的路由路径;
具体地,根据待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;根据实时获取的上下文信息,对选择的路由信息进行过滤,根据待请求的业务的业务类型选择路由策略,根据选择的路由策略和过滤后得到的路由信息,确定用于转发该业务请求消息的路由路径。
其中,中间业务路由器可以根据待请求的业务的标识,从已存储的路由信息中获取待请求的业务对应的路由信息,从待请求的业务对应的路由信息中获取路由时间在离当前时间最近的预设时间内的路由信息。
其中,中间业务路由器根据实时获取的上下文信息,对选择的路由信息进行过滤的操作,可以为:从选择的业务路由器中获取路由路径的带宽超过预设带宽阈值、路由路径的上下行速度超过预设速度阈值和/或路由路径的Qos超过预设Qos阈值的路由信息;以及,可以从获取路由信息中选择业务提供者的业务排队请求时间小于预设时间阈值和/或业务提供者的Qos超过预设Qos阈值的路由信息。
其中,如果待请求的业务的业务类型为业务类,则源业务路由器根据待请求的业务的业务类型为业务类,选择路由策略为最忧路由策略,通过最忧路由策略,从过滤得到的路由信息包括的路由路径中选择Qos最好的路由路径,将选择的路由路径确定为用于转发该业务请求消息的路由路径;如果待请求的业务的业务类型为数据类,则源业务路由器根据待请求的业务的业务类型为数据类,选择路由策略为最短路径策略,通过最短路径策略,从过滤得到的路由信息包括的路由路径中选择跳数最少的路由路径。
步骤S208:中间业务路由器确定出该业务请求消息携带路由反馈标识以及自身不是目的业务路由器,获取自身的第一路由反馈信息,第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳以及中间业务路由器的负载信息;
其中,中间业务路由器可以从该业务请求消息中获取的上一跳业务路由器的标识;中间业务路由器的负载信息可以为CPU使用率、内存占用率和该业务请求消息的处理时间等信息。
其中,中间业务路由器接收到该业务请求消息时,可以获取接收该业务请求消息的接收时间,根据该接收时间和当前时间获取该业务请求消息的处理时间。
步骤S209:中间业务路由器将第一路由反馈信息添加在该业务请求消息中,根据用于转发该业务请求消息的路由路径,将该业务请求消息转发给下一跳业务路由器;
其中,用于转发该业务请求消息的路由路径中包括下一跳业务路由器的标识。其中,该业务请求消息会在业务网络中业务路由转发并转发到目的业务路由器中。
步骤S210:目的业务路由器接收上一跳业务路由器发送的该业务请求消息,确定自己是目的业务路由器以及该业务请求消息携带路由反馈标识,获取自身第一路由反馈信息,第一路由反馈信息包括上一跳业务路由器的标识,当前的时间戳和目的业务路由器的负载信息;
步骤S211:目的业务路由器获取待请求的业务所经过的各业务路由器的第一路由反馈信息,并删除该业务请求消息中携带的路由反馈标识和业务路由器的第一路由反馈信息,将该业务请求信息发送给业务提供者;
具体地,目的业务路由器获取自身第一路由反馈信息,从该业务请求消息获取携带各业务路由器的第一路由反馈信息,将自身的第一路由反馈信息和待请求的业务携带的各业务路由器的第一路由反馈信息组成待请求的业务所经过的各业务路由器的第一路由反馈信息,将该业务请求信息发送给业务提供者。
其中,业务提供者接收该业务请求消息,发送业务应答消息给目的业务路由器。
步骤S212:目的业务路由器接收业务提供者发送的业务应答消息,获取自身的第二路由反馈信息,第二路由反馈信息包括待请求的业务的反应时长、业务链路的链路情况信息以及目的业务路由器的性能信息;
其中,业务链路的链路情况信息可以为业务链路的连通标识或断开标识。
步骤S213:目的路由器根据待请求的业务所经过的各业务路由器的第一路由反馈信息和自身的第二路由反馈信息,获取并存储待请求的业务的上下文信息;
其中,待请求的业务的上下文信息包括网络信息和业务信息。目的业务路由器根据待请求的业务所经过的各业务路由器的第一路由信息,确定出传输待请求的业务的路由路径,根据各业务路由器的第一路由信息中包括的业务路由器的负载信息和时间戳以及第二路由反馈信息包括的业务链路的链路情况信息以及目的业务路由器的性能信息,分析出该路由路径的带宽、上下行速度和QoS等信息,并将分析出的该路由路径的带宽、上下行速度和QoS等信息作为待请求的业务的网络信息。目的业务路由器根据第二路由反馈信息包括的待请求的业务的反应时长、业务链路的链路情况信息以及目的业务路由器的性能信息,分析出待请求的业务的业务信息包括业务提供者的标识、业务排队请求时间和Qos等信息。
步骤S214:目的路由器设置路由反馈解析标识,将该路由反馈解析标识和待请求的业务所经过的各业务路由器的第一路由反馈信息添加到该业务应答消息中,发送该业务应答消息给上一跳业务路由器;
其中,参见图5,目的业务路由接收业务应答消息后,目的业务路由器存储第一路由反馈信息,分析路由反馈记录,分析路由障碍目的业务路由器到业务提供者之间消息处理时间长,目的业务路由器二次分析,目的业务路由器到业务提供者之间消息处理时间长是目的业务路由器负载高,还是业务提供者响应慢,还是目的业务路由器到业务提供者之间的链路拥塞;分析结果综合,路由建议,业务选择建议等。目的业务路由器的路由反馈的步骤包括:设置路由反馈解析标识;将传输路径的各业务路由器的第一反馈信息按照时间顺序组合,封装成“路由反馈信息字段”插入到业务应答消息中。
步骤S215:中间业务路由器接收上一跳业务路由器发送的该业务应答消息,获取自身的第二路由反馈信息和待请求的业务经过的各业务路由器的第一路由反馈信息;
具体地,中间业务路由器接收上一跳业务路由器发送的该业务应答消息,获取自身的第二路由反馈信息,第二路由反馈信息包括所述待请求的业务的反应时长、业务链路的链路情况信息以及目的业务路由器的性能信息,从该业务应答消息中获取待请求的业务经过的各业务路由器的第一路由反馈信息。
步骤S216:中间业务路由器根据自身的第二路由反馈信息和待请求的业务经过的各业务路由器的第一路由反馈信息,获取并存储待请求的业务的上下文信息,发送该业务应答消息给上一跳业务路由器;
其中,中间业务路由器根据待请求的业务所经过的各业务路由器的第一路由信息,确定出传输待请求的业务的路由路径,根据各业务路由器的第一路由信息中包括的业务路由器的负载信息和时间戳以及第二路由反馈信息包括的业务链路的链路情况信息以及目的业务路由器的性能信息,分析出该路由路径的带宽、上下行速度和QoS等信息,并将分析出的该路由路径的带宽、上下行速度和QoS等信息作为待请求的业务的网络信息。中间业务路由器根据第二路由反馈信息包括的待请求的业务的反应时长、业务链路的链路情况信息以及目的业务路由器的性能信息,分析出待请求的业务的业务信息包括业务提供者的标识、业务排队请求时间和Qos等信息。
步骤S217:源业务路由器接收上一跳业务路由器发送的业务应答消息,获取自身的第二路由反馈信息和待请求的业务经过的各业务路由器的第一路由反馈信息;
具体地,中间业务路由器接收上一跳业务路由器发送的该业务应答消息,获取自身的第二路由反馈信息,第二路由反馈信息包括所述待请求的业务的反应时长、业务链路的链路情况信息以及中间业务路由器的性能信息,从该业务应答消息中获取待请求的业务经过的各业务路由器的第一路由反馈信息。;
步骤S218:源业务路由器根据自身的第二路由反馈信息和待请求的业务经过的各业务路由器的第一路由反馈信息,获取并存储待请求的业务的上下文信息,发送该业务应答消息给业务请求者。
其中,源业务路由器根据待请求的业务所经过的各业务路由器的第一路由信息,确定出传输待请求的业务的路由路径,根据各业务路由器的第一路由信息中包括的业务路由器的负载信息和时间戳以及第二路由反馈信息包括的业务链路的链路情况信息以及中间业务路由器的性能信息,分析出该路由路径的带宽、上下行速度和QoS等信息,并将分析出的该路由路径的带宽、上下行速度和QoS等信息作为待请求的业务的网络信息。源业务路由器根据第二路由反馈信息包括的待请求的业务的反应时长、业务链路的链路情况信息以及中间业务路由器的性能信息,分析出待请求的业务的业务信息包括业务提供者的标识、业务排队请求时间和Qos等信息。
例如,参见图6,在本发明实施例,以业务请求者请求查询酒店业务为例进行说明,包括:
步骤S301:源业务路由器接收到业务请求者发送的业务请求消息,该业务请求消息携带查询酒店业务的标识;
步骤S302:源业务路由器解析该业务请求消息所请求的查询酒店业务属于业务类为业务类,确定路由策略是选择最忧路由策略;
其中,源业务路由器确定业务请求消息所请求的查询酒店业务属于业务类的业务请求的方法包括但不限于:例如根据其承载协议HTTP(hypertext transport protocol,超文本传送协议),SOAP(Simple Object Access Protocol,简单对象访问协议),REST(Representational State Transfer,表现状态传输)等,或访问端口8080,或请求业务关键词的语义分析,或所述待请求的业务的注册信息。例如业务或内容,或以上一种或几种的组合等。
步骤S303:源业务路由器查询业务目录,根据实时获取的上下文信息确定用于转该业务请求消息的路由路径;
其中,酒店预订相关的注册已发布业务服务有携程,艺龙,booking hotel等,源业务路由器发送上下文信息查询请求给上下文信息管理单元,查询携程,艺龙和bookinghotel的业务context信息,并查询源业务路由器本地存储的路由Context和历史请求信息中是否有相关的信息,按照业务使用率,业务响应时间,业务路由时间,历史访问记录等确定选择业务。
Context信息单元能够提供用户访问的上下文信息,例如该用户上一次访问相同业务的选择或者该用户使用相同业务的概率统计或者该用户设置的优先访问权限或者该用户的地理位置(例如优先提供本地酒店服务提供商或者本地优质酒店服务提供商等)。Context信息单元能够提供业务上下文信息,例如酒店服务调用的使用率,各个已调用业务的活动状态是否可调用,各个业务的用户评价和各个业务的现行负载情况等业务相关的信息;除此之外,Context信息单元能够提供网络信息,例如网络的链路情况,网络的可用带宽等。路由context单元能够提供路由器处理各个业务的路由时间,业务请求的路由负载,业务响应时间的历史记录统计平均值和其对应的路由路径,以及实时相邻业务路由器的负载等信息;路由负载单元能够提供业务路由器的CPU,内存等负载现状,并能记录处理该业务消息所需的实际资源占用。
路由决策单元能够从Context信息单元,路由context单元和路由负载单元获取决策所需的信息,信息按照预先设置的优先级计算加权值,从而确定路由路径。各种信息的优先级,可以是管理员预先设置,路由决策单元按照设置的选择流程完成权重的计算。参见表1,假设用户的接入业务路由器SR1的相邻的业务路由器是SR2和SR3,SR2和SR3能够链接到业务的都是可用的,用户没有设置优先使用的业务,业务从优先级上不区别业务路由器,用户请求所该业务中所经过的业务路由器SR2的频率高于SR3,SR2和SR3所面临的业务负载,网络负载和路由负载形同,但是业务所对应的目的业务路由器所在的网段需经过SR2路由。
表1
上下文信息类别 预设权重 SR2权重得分 SR3权重得分
业务可用性 3 3 3
业务的优先级 2 2 2
用户的优先设置 3 3 3
用户的使用率 2 2 1
路由目标的选择 3 0 3
业务的负载 2 2 2
网络的负载 2 2 2
路由的负载 2 2 2
总计 16 18
由表1可知,如果路径SR2的路由消息,路由权重是16;如果路经SR3的路由消息,路由权重是18。因此选择SR3路由器为本次消息提供路由。Context信息单元和路由Context单元都能够为路由决策单元提供决策所需的上下文信息,上下文信息是从外部主动获取或外部设备定期上报,路由context单元的信息收集是通过在请求和相应消息中设置路由反馈和路由反馈返回标识实时收集的。Context信息单元和路由context单元的信息可以互补,如果两者信息重复,如果该重复信息的加权值不占决定因素,以时间更新的信息为主,默认情况下以路由context单元为主,如果该重复信息的加权值占决定因素,需要由路由context实时更新核对该信息,以最后核对的信息为主。
路由决策的所需的信息并没有特别的指定,按照信息收集的类别可实时更新权重表,按照信息收集的重要行,需要设置加权值得决定因素,例如用户的优先级设置,业务的可用性为决定因素,如果用户自选定了所需调用的业务,就调用业务为准,或者该业务不可调用就不调用该业务,此时,业务路由器不做业务的选择,根据该业务提供的可访问的目标业务路由器的路由选择为主要参考依据。
Context信息单元和路由context单元收集的信息可以根据权重表所示规整,例如用户位置,业务的评价等都可以决定业务选择中所需的业务优先级。
其中,参见表2,路由策略决定了业务路由之后,假设源业务路由器的IP地址是10.70.101.2,路由决策单元根据业务相关信息选择本次路由的目标业务是携程酒店,目标业务路由器的IP地址是10.70.109.81。源业务路由器设置路由反馈标识以及其他相关的信息到业务请求消息中,所需消息如下表所示,并将该业务请求的所需咨询和业务处理时间存储到路由Context单元中,消息路由单元负载将路由反馈所需的字段添加到业务请求消息中。
表2
步骤S304:源业务路由器根据用于转该业务请求消息的路由路径,将该业务请求消息转给下一跳业务路由器;
其中,源业务路由器通过消息路由单元将该消息发送到下一跳业务路由器,该业务路由器的消息解析单元先解析消息,判断是否是目的业务路由器,以及判断是否有路由反馈标识设置信息,确认有路由反馈标识,则通知负载单元上报信息给路由Context单元,根据,并更新业务请求消息,更新后的如表3所示。
表3
步骤S305:中间业务路由器接收该业务路由请求消息,并将该业务请求消息转给下一跳业务路由器;
步骤S306:目的业务路由器接收该业务请求消息,并将该业务请求消息转发给下一跳业务路由器;
其中,目的业务路由器先解析该业务请求消息消息,判断本业务路由器是目的业务路由器,就将业务请求消息中提取信息并存贮路由context单元,并删除源业务路由器添加的部分,将用户请求的业务请求消息发送给业务提供者,并记录消息的路由时间。
其中,业务提供者接收请求消息,并发送业务应答消息给其接入路由器(业务请求消息的目的业务路由器)。
步骤S307:目的业务路由器接收业务请求者发送的业务应答消息,将该业务应答消息发送给上一跳业务路由器;
其中,参见表4,业务路由器的路由context单元记录接收到业务响应的时间,从而计算业务响应时间并对应存储,所对应的是业务ID或者业务地址等能唯一标识该业务该服务提供点。业务路由器的路由反馈单元设置路由反馈响应标识,消息路由单元将从负载单元获取的负载情况,系统时间获取的时间戳等信息字段按照规定格式插入到业务应答消息中,将业务应答消息发送到路由表指示的下一跳业务路由器。
表4
步骤S308:中间业务路由器接收到业务应答消息后,解析并判断是否是目的业务路由器,是否设置了路由反馈返回标识,将该业务请求消息发送给上一跳业务路由器;
其中,参见表5,中间业务路由器还更新路由context单元中相邻业务路由器的负载,计算路由表更新,并将自身的信息填充到业务应答消息中发送给下一跳业务路由器
表5
除此之外,接收到业务响应的中间业务路由器会根据自身的负载以及处理消息的资源开销的历史记录,业务消息处理的队列等信息综合评价是否可以处理该消息。
一般情况下,业务应答消息按照业务请求消息的路径返回,如果返回路径中某必经业务路由器和网络不可用,可以考虑改选其他路径。
步骤S309:源业务路由器接收到业务应答消息,将该业务答应消息发送给业务请求者。
业务请求或业务响应的源业务路由器记录从源到目的业务路由器的路由的路径,如果请求和响应所经过的路由路径不同,则比较两种所途径的业务路由器的跳数,路由的时间,从而更新路由路径选择信息,存储到路由context单元中最为路由路径选择参考。源业务路由器接收到该业务应答消息后,删除路由反馈返回标识以及相关的信息,通过消息单元将业务应答消息发送到业务请求者。业务请求者后续的业务请求会根据此次路由经历,需要再一个session中处理的业务请求消息会由业务路由器来维持该session。不需要在一个session中处理的业务请求会根据最优的路由路径来消息路由。
在本发明实施例中,由于解析出待请求的业务的业务类型,根据该业务类型选择最忧的路由策略,业务路由器通过自学习方式从接收的业务应答消息和业务请求消息中获取上下文信息,根据获取的上下文信息,并通过选择的路由策略可以获取到最忧路由路径,从而提高选择的路由路径的可靠性。
参见图7,本发明实施例提供了一种用于选择路由路径的装置400,包括:
解析模块401,用于接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
确定模块402,用于根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;
转发模块403,用于根据所述路由路径转发所述业务请求消息。
其中,所述确定模块402包括:
选择单元,用于根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
过滤单元,用于根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
第一确定单元,用于根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
其中,所述解析模块401包括:
获取单元,用于获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
第二确定单元,用于根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
其中,所述第一确定单元包括:
选择子单元,用于如果所述业务类型为数据类,则选择路由策略为最短路径策略;如果所述业务类型为业务类,则选择路由策略为最忧路由策略;
确定子单元,用于通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
进一步地,所述业务路由器为源业务路由器,所述装置还包括:
第一添加模块,用于设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
进一步地,所述业务路由器为中间业务路由器,所述装置还包括:
第二添加模块,用于如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
进一步地,所述业务路由器还包括:
第二获取模块,用于如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
进一步地,所述装置还包括:
第一接收模块,用于接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第三获取模块,用于根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
第三添加模块,用于设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
进一步地,所述装置还包括:
第二接收模块,用于接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
第四获取模块,用于获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第五获取模块,用于根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
参见图8,本发明实施例提供了一种用于选择路由路径的装置500,包括处理器501和存储器502,用于执行如下的一种选择路由路径的方法:
业务路由器接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;
所述业务路由器根据所述路由路径转发所述业务请求消息。
其中,所述业务路由器对所述业务请求消息进行解析,获得所述业务请求消息请求业务的业务类型,包括:
所述业务路由器获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
所述业务路由器根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
其中,所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,包括:
根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
其中,其特征在于,所述根据所述业务类型选择路由策略,包括:
如果所述业务类型为数据类,则选择路由策略为最短路径策略;
如果所述业务类型为业务类,则选择路由策略为最忧路由策略。
进一步地,所述业务路由器为源业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之前,还包括:
设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
进一步地,所述业务路由器为中间业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之后,还包括:
如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
进一步地,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之前,还包括:
如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一路由反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
进一步地,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之后,还包括:
所述业务路由器接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
进一步地,所述业务路由器为非目的业务路由器,所述业务路由器根据所述路由信息转发所述业务请求消息之后,还包括:
接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
在本发明实施例中,由于解析出待请求的业务的业务类型,根据业务路由器通过自学习方式获取的上下文信息和该业务类型,可以获取到最忧路由路径,从而提高选择的路由路径的可靠性。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种选择路由路径的方法,其特征在于,所述方法包括:
业务路由器接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是所述业务路由器通过自学习方式实时获取的;
所述业务路由器根据所述路由路径转发所述业务请求消息;
其中,所述业务路由器根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,包括:
根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
2.如权利要求1所述的方法,其特征在于,所述业务路由器对所述业务请求消息进行解析,获得所述业务请求消息请求业务的业务类型,包括:
所述业务路由器获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
所述业务路由器根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
3.如权利要求1或2所述的方法,其特征在于,所述根据所述业务类型选择路由策略,包括:
如果所述业务类型为数据类,则选择路由策略为最短路径策略;
如果所述业务类型为业务类,则选择路由策略为最优路由策略。
4.如权利要求1或2所述的方法,其特征在于,所述业务路由器为源业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之前,还包括:
设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
5.如权利要求1或2所述的方法,其特征在于,所述业务路由器为中间业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之后,还包括:
如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
6.如权利要求1或2所述的方法,其特征在于,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之前,还包括:
如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一路由反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
7.如权利要求1或2所述的方法,其特征在于,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之后,还包括:
所述业务路由器接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
8.如权利要求1或2所述的方法,其特征在于,所述业务路由器为目的业务路由器,所述业务路由器根据所述路由路径转发所述业务请求消息之后,还包括:
接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
9.一种用于选择路由路径的装置,其特征在于,所述装置包括:
解析模块,用于接收业务请求消息,对所述业务请求消息进行解析,获得所述业务请求消息请求待请求的业务的业务类型;
确定模块,用于根据已存储的上下文信息、所述业务类型和所述业务请求消息,确定用于转发所述业务请求消息的路由路径,其中所述已存储的上下文信息是业务路由器通过自学习方式实时获取的;
转发模块,用于根据所述路由路径转发所述业务请求消息;
其中,所述确定模块包括:
选择单元,用于根据所述业务请求消息携带的待请求的业务的标识,从已存储的路由信息中选择路由时间在离当前时间最近的预设时间内的路由信息;
过滤单元,用于根据实时获取的上下文信息,对所述选择的路由信息进行过滤,过滤出满足预设条件的路由信息;
第一确定单元,用于根据所述业务类型选择路由策略,根据所述过滤出的路由信息,通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
10.如权利要求9所述的装置,其特征在于,所述解析模块包括:
获取单元,用于获取待请求的业务的类型描述信息,所述类型描述信息包括所述业务请求消息所使用的协议类型、接收所述业务请求消息的访问端口、所述待请求的业务的关键词和所述待请求的业务的注册信息中的至少一者;
第二确定单元,用于根据所述待请求的业务的类型描述信息,确定所述待请求的业务的业务类型。
11.如权利要求9或10所述的装置,其特征在于,所述第一确定单元包括:
选择子单元,用于如果所述业务类型为数据类,则选择路由策略为最短路径策略;如果所述业务类型为业务类,则选择路由策略为最优路由策略;
确定子单元,用于通过所述选择的路由策略确定用于转发所述业务请求消息的路由路径。
12.如权利要求9或10所述的装置,其特征在于,所述业务路由器为源业务路由器,所述装置还包括:
第一添加模块,用于设置路由反馈标识,获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,所述上一跳业务路由器的标识为预设数值;如果所述业务路由器不是目的业务路由器,将所述路由反馈标识和所述第一路由反馈信息添加到所述业务请求消息中。
13.如权利要求9或10所述的装置,其特征在于,所述业务路由器为中间业务路由器,所述装置还包括:
第二添加模块,用于如果所述业务请求消息中携带路由反馈标识以及所述业务路由器不是目的业务路由器,则获取所述业务路由器的第一路由反馈信息,所述第一路由反馈信息包括上一跳业务路由器的标识、当前的时间戳和所述业务路由器的负载信息,将所述第一路由反馈信息添加到所述业务请求消息中。
14.如权利要求9或10所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于如果所述业务请求消息携带路由反馈标识,则获取所述业务路由器的第一路由反馈信息以及从所述业务请求消息中获取携带的各业务路由器的第一反馈信息,得到所述待请求的业务所经过的各业务路由器的第一路由反馈信息。
15.如权利要求9或10所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收业务提供者发送的所述待请求的业务的业务应答消息,获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第三获取模块,用于根据所述待请求的业务所经过的各业务路由器的第一路由反馈信息和所述第二路由反馈信息,获取并存储所述待请求的业务的上下文信息;
第三添加模块,用于设置路由反馈解析标识,将所述路由反馈解析标识和所述待请求的业务所经过的各业务路由器的第一路由反馈信息添加到所述业务应答消息,并根据路由信息表将所述业务应答消息发送给下一跳业务路由器。
16.如权利要求9或10所述的装置,其特征在于,所述装置为目的业务路由器,还包括:
第二接收模块,用于接收上一跳业务路由器发送的业务应答消息,所述业务应答消息携带所述待请求的业务经过的各业务路由器的第一路由反馈信息;
第四获取模块,用于获取所述业务路由器的第二路由反馈信息,所述第二路由反馈信息包括所述待请求的业务的反应时长和链路情况信息;
第五获取模块,用于根据所述第二路由反馈信息和所述待请求的业务经过的业务路由器的第一路由反馈信息,获取并存储所述待请求的业务的上下文信息。
17.一种用于选择路由路径的装置,其特征在于,所述业务路由器包括处理器和存储器,用于执行如权利要求1至8任一项权利要求所述的方法。
CN201310101050.4A 2013-03-26 2013-03-26 一种选择路由路径的方法及装置 Active CN104079482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310101050.4A CN104079482B (zh) 2013-03-26 2013-03-26 一种选择路由路径的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310101050.4A CN104079482B (zh) 2013-03-26 2013-03-26 一种选择路由路径的方法及装置

Publications (2)

Publication Number Publication Date
CN104079482A CN104079482A (zh) 2014-10-01
CN104079482B true CN104079482B (zh) 2017-06-27

Family

ID=51600534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310101050.4A Active CN104079482B (zh) 2013-03-26 2013-03-26 一种选择路由路径的方法及装置

Country Status (1)

Country Link
CN (1) CN104079482B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301221B (zh) * 2014-10-11 2018-05-18 华为技术有限公司 一种路由消息的方法及装置
CN106411768B (zh) * 2015-07-31 2019-08-23 中国电信股份有限公司 业务链资源调度方法和装置
KR102059971B1 (ko) 2015-09-30 2019-12-27 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 라우팅 방법 및 장치
CN105857218A (zh) * 2016-06-14 2016-08-17 京东方科技集团股份有限公司 一种车载显示系统
CN107819687A (zh) * 2017-11-15 2018-03-20 小草数语(北京)科技有限公司 固定路由方法、装置及其设备
CN108965138B (zh) * 2018-09-14 2020-08-25 常熟理工学院 一种新一代多媒体传感网的实现方法
CN109286567B (zh) * 2018-11-23 2020-07-28 腾讯科技(深圳)有限公司 路由选择策略的获取方法、装置及设备
CN109768883A (zh) * 2018-12-21 2019-05-17 华为技术服务有限公司 一种网络拓扑路径的确定方法、装置和终端设备
CN110995525A (zh) * 2019-10-31 2020-04-10 北京直真科技股份有限公司 一种基于维护矩阵的路由器检测方法
CN113472660B (zh) * 2020-03-31 2022-07-29 中移物联网有限公司 一种应用信息的路由方法及路由节点
CN112565088B (zh) * 2020-11-25 2022-10-18 中移(杭州)信息技术有限公司 消息处理方法、系统、装置和网络设备
CN114780265A (zh) * 2022-05-18 2022-07-22 壹沓科技(上海)有限公司 一种基于dsl的跨系统服务调用方法、装置及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094061A (zh) * 2006-06-24 2007-12-26 华为技术有限公司 数字网关系统、设备和网络终端设备的接入签权认证方法
CN102088401A (zh) * 2009-12-07 2011-06-08 华为技术有限公司 寻址处理方法和系统以及网络接口设备
CN102136990A (zh) * 2010-06-09 2011-07-27 华为技术有限公司 一种业务叠加网络的业务路由方法及系统
WO2013012278A2 (ko) * 2011-07-20 2013-01-24 삼성전자 주식회사 통신 시스템에서 ip 어드레스를 이용한 디바이스 컨텍스트 관리 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094061A (zh) * 2006-06-24 2007-12-26 华为技术有限公司 数字网关系统、设备和网络终端设备的接入签权认证方法
CN102088401A (zh) * 2009-12-07 2011-06-08 华为技术有限公司 寻址处理方法和系统以及网络接口设备
CN102136990A (zh) * 2010-06-09 2011-07-27 华为技术有限公司 一种业务叠加网络的业务路由方法及系统
WO2013012278A2 (ko) * 2011-07-20 2013-01-24 삼성전자 주식회사 통신 시스템에서 ip 어드레스를 이용한 디바이스 컨텍스트 관리 방법 및 장치

Also Published As

Publication number Publication date
CN104079482A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
CN104079482B (zh) 一种选择路由路径的方法及装置
US7239609B2 (en) Congestion control system and method for web service
US11750506B2 (en) System and method for adaptive traffic path management
US7684436B2 (en) Gateway apparatus, and method for processing signals in the gateway apparatus
US9451502B2 (en) Service control method and system, evolved nodeB, and packet data network gateway
EP1221795A2 (en) Service system
US20030188013A1 (en) Data relaying apparatus and system using the same
CN110366269A (zh) 会话建立方法及设备
EP3110081B1 (en) Methods for controlling service chain of service flow
CN109831548A (zh) 虚拟内容分发网络vCDN节点建立方法及服务器
JP2004139291A (ja) データ通信中継装置
US8948050B2 (en) Distribution system, distribution method, and memory medium thereof
US7168043B2 (en) Apparatus and system for communication
CN108141866A (zh) 一种处理业务数据包的方法及装置
CN106464670A (zh) 网络实体及服务策略管理方法
JP4099108B2 (ja) ネットワーク及びサーバの負荷低減ルータ
JP4391960B2 (ja) リソース管理装置、システムおよび方法
CN102404374B (zh) 一种提供网络内容资源的系统和方法
JP2004048565A5 (zh)
US8037134B1 (en) Controlled multicast
JPH0946367A (ja) コネクション管理方法
JP2003258855A (ja) リアルタイム通信品質管理システムおよび方法
JP4199575B2 (ja) ネットワークシステム,同システムにおけるパス設定方法並びに同システムに用いられるネットワーク管理装置及びネットワーク装置
CN108075955A (zh) 骨干网的数据处理方法及装置
JP2002051076A (ja) 管理サーバ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant