具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种业务报文转发的方法,该方法中,网络设备预先记录每个目的地址对应的至少一个端口,并预先记录每个端口对应的设备链路状态信息。如图1所示,该方法的处理流程可以包括如下的步骤:
步骤101,网络设备接收业务报文,并获取该业务报文中携带的业务属性信息和目的地址。
步骤102,网络设备根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定业务报文的目的地址对应的各端口,并获取各端口对应的设备链路状态信息。
步骤103,网络设备在获取的各设备链路状态信息中,选取与该业务报文的业务属性信息相匹配的设备链路状态信息。
步骤104,网络设备通过选取的设备链路状态信息对应的端口,对该业务报文进行转发。
本发明实施例中,网络设备根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定待转发的业务报文的目的地址对应的各端口,并获取各端口对应的设备链路状态信息,然后在获取的各设备链路状态信息中,选取与该业务报文的业务属性信息相匹配的设备链路状态信息,并通过选取的设备链路状态信息对应的端口,对该业务报文进行转发,从而,可以选择与业务报文本身的业务特点相适应的链路对业务报文进行转发,可以提高通信网络中业务传输的质量。
实施例二
本发明实施例提供了一种业务报文转发的方法。该方法的执行主体可以是某网络设备,优选为某路由转发设备。该方法中,网络设备预先记录每个目的地址对应的至少一个端口,并预先记录每个端口对应的设备链路状态信息。
优选的,网络设备可以记录目的地址对应的多个端口,通过这多个端口中的任一个端口都可以达到该目的地址。具体可以通过路由表记录目的地址和对应端口的端口标识(如端口号),这样,在路由表中对应某目的地址的表项可以为多项,在每项中该目的地址对应记录不同端口的端口标识,另外,优选的,在对应某目的地址的可达链路很多的情况下,在路由表中可以只记录其中的部分链路对应的端口。网络设备还可以记录每个端口对应的设备链路状态信息,具体可以记录在路由表中,与各表项中的端口标识相对应。
其中,设备链路状态信息是用于描述网络设备或链路的属性和状态的信息,其中可以包含有至少一个参数项。设备链路状态信息中的参数项,可以包括如下参数项中的一种或多种:设备位置
设备从属关系
设备邻接关系
连通度
带宽性能
延时性能
丢包性能
稳定性能
智慧性能
设备类型
设备功能
设备运营商
和安全级别
等。设备位置可以是网络设备的标识,如IP(Internet Protocol,网络之间互连的协议)地址。设备从属关系可以是网络设备的上级网络设备的标识,如IP地址。设备邻接关系可以是网络设备同级的各相邻网络设备的标识,如IP地址。连通度可以是网络设备出端口和如端口的数目。带宽性能、延时性能、丢包性能分别是端口对应的链路的带宽、延时、丢包率。稳定性能可以是带宽性能、延时性能、丢包性能中任意一项或多项的抖动率。智慧性能可以是对相邻网络设备状态信息的收集、存储、处理能力,如存储空间、处理速度等。设备类型可以包括路由器、传感器、服务器等。设备功能可以包括传输、转发、感应等。
优选的,设备链路状态信息可以是NBD(Node Behavior Description,设备属性行为描述)信息,NBD信息的内容可以如下:
其中,T集合可以称作拓扑信息、P集合可以称作性能信息、F集合可以称作属性信息。
下面将结合具体的实施方式,对图1所示的处理流程进行详细的阐述,具体内容如下:
步骤101,网络设备接收业务报文(或称作服务报文),并获取该业务报文中携带的业务属性信息和目的地址。业务报文可以是业务请求报文,用于向业务服务器请求相应的服务,还可以是业务数据报文,用于业务数据的传输,如请求结果通知、媒体流传输、语音通讯等。在业务报文中可以在内容数据中携带该业务报文请求或传输的业务的SID(Service Identifier,业务标识,或称作服务标识)和业务属性信息。
具体的,可以解析接收到的业务报文,获取报头中的目的地址,并获取业务报文的内容数据中携带的业务属性信息。其中,业务属性信息是用于描述业务的属性和需求的信息,其中可以包含有至少一个参数项。业务属性信息中的参数项,可以包括如下参数项中的一种或多种:服务(业务)位置
服务缓存位置
质量要求
带宽要求
延时要求
丢包要求
最佳通信方式
服务类型
服务版本号
信誉属性
和提供者签名
等。服务位置可以是提供该业务的业务服务器的位置信息或标识,如IP地址。服务缓存位置可以是业务服务器之外的缓存了该业务的业务数据的网络设备的位置信息或标识,如IP地址。质量要求可以是该业务的QoS(QualityofService,服务质量)要求。带宽要求、延时要求、丢包要求分别是该业务要求满足的带宽、延时、丢包率。最佳通信方式可以是最佳的网络模式,如联通有线网络、电信有线网络等。服务类型可以包括语音业务、视频业务、下载业务等。信誉属性可以是业务提供者的信誉度。
优选的,业务属性信息可以是SBD(Service Behavior Description,服务需求行为描述)信息,SBD信息的内容可以如下:
其中,T集合可以称作拓扑信息、P集合可以称作性能信息、F集合可以称作属性信息。
步骤102,网络设备根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定业务报文的目的地址对应的各端口,并获取各端口对应的设备链路状态信息。
具体的,网络设备可以根据业务报文的目的地址在路由表中查找对应该目的地址的表项,在表项中可以获取到相应的端口和端口对应的设备链路状态信息。
步骤103,网络设备在获取的各设备链路状态信息中,选取与该业务报文的业务属性信息相匹配的设备链路状态信息。
例如,设备链路状态信息包括一个参数项为带宽性能,业务属性信息包括一个参数项为带宽要求,假设获取到多个不同端口对应的不同带宽性能,那么可以将多个带宽性能的数值对业务报文中携带的带宽要求的数值进行求差,判定最大的差值对应的带宽性能为与带宽要求相匹配的带宽性能。
另外,优选的,网络设备可以预先存储业务属性信息中每个参数项与设备链路状态信息中每个参数项的关联度,以及业务属性信息中每个参数项的权值。关联度是用于反映参数之间相关联程度的参数,取值范围可以是0-1,例如,延时要求和延时性能的关联度可以设置为1,延时要求和安全级别的关联度可以设置为0,服务类型和带宽性能的关联度可以设置为0.2,设备运营商的参数项与各参数项的关联度都可以设置为0。权值是用于反映业务属性信息中各参数项在匹配过程中的重要程度的参数,例如,带宽要求的权值可以设置为1,服务位置、服务版本号参数项的权值可以设置为0。
这时,网络设备在获取的各设备链路状态信息中,选取与业务报文的业务属性信息相匹配的设备链路状态信息的处理过程,可以如图2所示,包括以下的处理步骤:
步骤201,对于业务属性信息中的每个参数项,网络设备确定该参数项与设备链路状态信息中各参数项的匹配度,获取该参数项与设备链路状态信息中各参数项的关联度,并计算该参数项与设备链路状态信息中各参数项的匹配度与关联度乘积的和值。
优选的,对于上述的各参数项,可以对参数值进行标准化,使参数项的参数值为预设级数下的级值,例如,预设的级数为a,则将各参数值都进行标准化计算转换为1-a之间的级值。优选的,a为大于1小于10的整数。这样,在确定业务属性信息中的参数项与设备链路状态信息中的参数项的匹配度时,可以根据两参数项的参数值的差值确定匹配度(差值越大(或越小)匹配度越高),或根据两参数项的参数值的接近度确定匹配度(接近度越大匹配度越高)。优选的,匹配度是经过标准化得到的取值范围为0-1的数值。
具体的,该步骤可以通过公式
计算(该公式中业务属性信息以SBD信息为例,设备链路状态信息以NBD信息为例),其中,i的取值范围为1-n,n为NBD信息中参数项的个数,j的取值范围为1-m,m为SBD信息中参数项的个数,P
j为SBD信息中第j个参数项对应的和值,w
ij为NBD信息中的第i个参数项与SBD信息中的第j个参数项的关联度,b
NBD(i)为NBD信息中的第i个参数项的参数值,b
SBD(j)为SBD信息中的第j个参数项的参数值,f
ij(b
NBD(i),b
SBD(j))为NBD信息中的第i个参数项与SBD信息中的第j个参数项的匹配度,f
ij()的函数关系式可以针对具体的b
NBD(i)b
SBD(j)来设置。
步骤202,对于业务属性信息中的每个参数项,网络设备计算该参数项对应的和值与该参数项的权值的乘积。
步骤203,网络设备将计算出的各乘积的和作为设备链路状态信息与业务属性信息的匹配度。
具体,上述两个步骤可以通过公式
计算,其中,R为设备链路状态信息与业务属性信息的匹配度,q
j为业务属性信息(SBD信息)中第j个参数项的权值。
步骤204,网络设备选取所述各设备链路状态信息中,与业务属性信息的匹配度最高的设备链路状态信息。即选择R值最高的设备链路状态信息。
优选的,在上述步骤201-204的处理流程中,各参数项的级值可以是模糊数,即参数项的参数值为预设级数下的模糊级值,可以表示为
其中,a为预设的级数,μ
k为模糊级值中第k级的隶属度,取值范围可以为0-1,x
k为模糊级值中第k级的级值。例如,预设级数为3,带宽性能的参数值可以表示为{0.8/1,0.2/2,0/3},即1级带宽的隶属度为0.8,2级带宽的隶属度为0.2,3级带宽的隶属度为0。
为实现上述参数项的匹配,可以定义两种参数:差异度和贴近度。差异度代表两个模糊级值之间的差异程度,而贴近度则代表两个模糊级值之间的相似程度。
对于行为差异度,可以通过如下公式计算:
其中,D(bSBD(j),bNBD(i))表示模糊级值bSBD(j)与bNBD(i)的差异度,μk(j)为bSBD(j)对应的隶属度,μk(i)为bNBD(i)对应的隶属度,q为固定值的参数,一般取值可以选择1或2。
对于行为贴近度,可以通过如下公式计算:
其中,(a)式中bSBD(j)·bNBD(i)可称作模糊内积,(b)式中bSBD(j)□bNBD(i)可称作模糊外积,S(bSBD(j),bNBD(i))表示模糊级值bSBD(j)与bNBD(i)的贴近度,∧和∨分别代表着模糊数学中的min和max。
在匹配过程中,匹配度fij(bNBD(i),bSBD(j))可以是基于差异度和/或贴近度的函数。
步骤104,网络设备通过选取的设备链路状态信息对应的端口,对该业务报文进行转发。
在本发明实施例中,优选的,网络设备可以预先存储业务数据和对应的业务标识。存储的业务数据和对应的业务标识,可以获取自网络设备转发的各个业务数据报文。具体的,当网络设备接收到的业务报文为业务数据报文时,网络设备获取业务数据报文中的业务数据和业务标识,并将获取的业务数据和业务标识对应的存储。
业务数据报文中携带有当前正在进行的业务的业务数据,而且还携带有当前业务的业务标识,网络设备在进行业务数据报文的转发时,可以根据一定的机制,对业务报文中的业务数据和业务标识进行获取和存储,以备后用,例如,网络设备对转发次数较高的业务数据和对应的业务标识进行存储。
基于存储的业务数据和业务标识,网络设备在对接收到的业务报文进行转发时,如果该业务报文为业务请求报文,则网络设备接收业务报文之后,可以进行如下处理:网络设备获取该业务请求报文中的业务标识;当网络设备存储有获取的业务标识对应的业务数据时,根据获取的业务标识对应的业务数据对业务请求报文进行应答,并停止对所业务请求报文的转发。
具体的,业务请求报文中的业务标识是请求进行的业务的标识,即请求获取该业务标识对应的业务数据,这时,如果网络设备存储有该业务标识对应的业务数据,网络设备则可以代替该业务对应的业务服务器对业务请求报文进行应答,生成目的地址为该业务请求报文的源地址的业务数据报文,将相应的业务数据携带与该业务数据报文中,进行发送,而且,不对业务请求报文进行转发。
本发明实施例中,网络设备根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定待转发的业务报文的目的地址对应的各端口,并获取各端口对应的设备链路状态信息,然后在获取的各设备链路状态信息中,选取与该业务报文的业务属性信息相匹配的设备链路状态信息,并通过选取的设备链路状态信息对应的端口,对该业务报文进行转发,从而,可以选择与业务报文本身的业务特点相适应的链路对业务报文进行转发,可以提高通信网络中业务传输的质量。
实施例三
基于相同的技术构思,本发明实施例还提供了一种业务报文转发的装置,如图3所示,所述装置包括:
存储模块310,用于预先记录每个目的地址对应的至少一个端口,并预先记录每个端口对应的设备链路状态信息;
接收模块320,用于接收业务报文,并获取所述业务报文中携带的业务属性信息和目的地址;
查询模块330,用于根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定所述业务报文的目的地址对应的各端口,并获取所述各端口对应的设备链路状态信息;
匹配模块340,用于在获取的各设备链路状态信息中,选取与所述业务报文的业务属性信息相匹配的设备链路状态信息;
发送模块350,用于通过选取的设备链路状态信息对应的端口,对所述业务报文进行转发。
优选的,所述业务属性信息中包含有至少一个参数项,所述设备链路状态信息中包含有至少一个参数项,各参数项的参数值为预设级数下的级值;
所述存储模块310,还用于:预先存储所述业务属性信息中每个参数项与所述设备链路状态信息中每个参数项的关联度,以及所述业务属性信息中每个参数项的权值;
所述匹配模块340,具体用于:
对于所述业务属性信息中的每个参数项,确定该参数项与所述设备链路状态信息中各参数项的匹配度,获取该参数项与所述设备链路状态信息中各参数项的关联度,并计算该参数项与所述设备链路状态信息中各参数项的匹配度与关联度乘积的和值;
对于所述业务属性信息中的每个参数项,计算该参数项对应的所述和值与该参数项的权值的乘积;
将计算出的各乘积的和作为所述设备链路状态信息与所述业务属性信息的匹配度;
选取所述各设备链路状态信息中,与所述业务属性信息的匹配度最高的设备链路状态信息。
优选的,所述业务属性信息中的参数项,包括服务位置、服务缓存位置、质量要求、带宽要求、延时要求、丢包要求、最佳通信方式、服务类型、服务版本号、信誉属性和提供者签名中的一项或多项;
所述设备链路状态信息中的参数项,包括设备位置、设备从属关系、设备邻接关系、连通度、带宽性能、延时性能、丢包性能、稳定性能、智慧性能、设备类型、设备功能、设备运营商和安全级别中的一项或多项。
优选的,所述存储模块310,还用于:预先存储业务数据和对应的业务标识;
所述接收模块320在接收业务报文之后,如果接收到的所述业务报文为业务请求报文,所述接收模块320还用于:
获取所述业务请求报文中的业务标识;
当所述存储模块310存储有获取的业务标识对应的业务数据时,根据获取的业务标识对应的业务数据对所述业务请求报文进行应答,并停止对所述业务请求报文的转发。
优选的,所述存储模块310,具体用于:
当所述接收模块320接收到的业务报文为业务数据报文时,获取所述业务数据报文中的业务数据和业务标识,并将获取的业务数据和业务标识对应的存储。
本发明实施例中,网络设备根据预先记录的每个目的地址对应的至少一个端口,以及每个端口对应的设备链路状态信息,确定待转发的业务报文的目的地址对应的各端口,并获取各端口对应的设备链路状态信息,然后在获取的各设备链路状态信息中,选取与该业务报文的业务属性信息相匹配的设备链路状态信息,并通过选取的设备链路状态信息对应的端口,对该业务报文进行转发,从而,可以选择与业务报文本身的业务特点相适应的链路对业务报文进行转发,可以提高通信网络中业务传输的质量。
需要说明的是:上述实施例提供的业务报文转发的装置在进行业务报文转发时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务报文转发的方法与业务报文转发的装置实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。