基于优先级的链路调度方法及装置制造方法

文档序号:7781265阅读:338来源:国知局
基于优先级的链路调度方法及装置制造方法
【专利摘要】本发明提供了一种基于优先级的链路调度方法及装置。接收并确定每个消息的消息类型,判断每个所述消息类型是否具有对应的转发规则,将不具有转发规则的每个所述消息类型确定为第一消息类型,获取每个所述第一消息类型的优先级以及当前可用的链路的优先级,按照每个所述第一消息类型的优先级、所述当前可用的链路的优先级以及预设的调度策略,将每个所述第一消息类型下的消息分配到与所述第一消息类型对应的链路上,以通过所述对应的链路将所述消息转发给核心网设备。本发明中将不同优先级的消息类型下的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求。
【专利说明】基于优先级的链路调度方法及装置
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种基于优先级的链路调度方法及装置。
【背景技术】
[0002]一般,核心网设备可以接收大量终端发送的消息,为了保证消息的传输效率,目前可以在终端与核心网之间构建多链路传输机制,终端与核心网设备之间,通过多链路机制传输消息。
[0003]虽然采用多链路机制来传输消息,能够提高消息传输的效率,但是在终端与核心网设备基于多链路机制传输消息的过程中,仍然会出现消息拥堵或者过载。目前在现有多链路传输消息的过程中出现拥堵或者过载时,多采用负载均衡原则将对链路进行调度,将消息分配到不同的链路上进行转发。
[0004]实际应用中,不同类型的消息往往具有不同服务质量(Quality of Service,简称QoS)参数,通过负载均衡的原则进行链路调度时,往往使得对QoS参数具有较高要求的一些类型的消息会出现丢包或者时延较长等现象。

【发明内容】

[0005]本发明提供一种基于优先级的链路调度方法及装置,以解决现有通过负载均衡的原则进行链路调度时,往往使得对QoS参数具有较高要求的一些类型的消息的传输需求得不到满足,出现丢包或者传输时延较长等问题。
[0006]为了实现上述目的,本发明提供了一种基于优先级的链路调度方法,包括:
[0007]接收并确定每个消息的消息类型;
[0008]判断每个所述消息类型是否具有对应的转发规则;
[0009]将不具有所述转发规则的所述消息类型确定为第一消息类型;
[0010]获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级;
[0011]按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备。
[0012]为了实现上述目的,本发明提供了一种基于优先级的链路调度装置,包括:
[0013]接收模块,用于接收并确定每个消息的消息类型;
[0014]判断模块,用于判断每个所述消息类型是否具有对应的转发规则;
[0015]确定模块,用于将不具有所述转发规则的所述消息类型确定为第一消息类型;
[0016]获取模块,用于获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级;
[0017]分配模块,用于按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备。
[0018]本发明提供的一种基于优先级的链路调度方法及装置,接收并确定每个消息的消息类型,判断每个所述消息类型是否具有对应的转发规则,将不具有转发规则的每个所述消息类型确定为第一消息类型,获取每个所述第一消息类型的优先级以及当前可用的链路的优先级,按照每个所述第一消息类型的优先级、所述当前可用的链路的优先级以及预设的调度策略,将每个所述第一消息类型下的消息分配到与所述第一消息类型对应的链路上,以通过所述对应的链路将所述消息转发给核心网设备。本发明中根据消息类型的不同优先级,将每个消息类型的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高了消息的传输效率。
【专利附图】

【附图说明】
[0019]图1为本发明实施例提供的一种基于优先级的链路调度方法的流程示意图;
[0020]图2为本发明实施例提供的另一种基于优先级的链路调度方法的流程的流程示意图;
[0021]图3为本发明实施例提供的另一种基于优先级的链路调度方法的流程方法的流程不意图;
[0022]图4为本发明实施例提供的另一种基于优先级的链路调度方法的流程方法的流程不意图;
[0023]图5为本发明实施例提供的一种基于优先级的链路调度装置的结构示意图;
[0024]图6为本发明实施例提供的另一种基于优先级的链路调度装置的结构示意图。
【具体实施方式】
[0025]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0026]图1为本发明实施例提供的一种基于优先级的链路调度方法的流程示意图。本实施例中,该基于优先级的链路调度方法的执行主体可以为服务器。该服务器设置在终端与核心网设备之间。如图1所示,该基于优先级的链路调度方法包括以下步骤:
[0027]101、接收并确定每个消息的消息类型。
[0028]实际中,可以根据实时性、可靠性、安全性、带宽占用等因素对各消息进行分类,本实施例中不同类型的消息具有不同的优先级。具体地,为每个消息设置一个消息标识,将该消息标识携带在消息中发送给服务器,通过该消息标识能够指示出该消息所归属的消息类型。服务器接收终端发送的消息,然后根据每个消息携带的消息标识,确定出每个消息的消息类型。
[0029]102、判断每个消息类型是否具有对应的转发规则。
[0030]在确定出每个消息的消息类型后,服务器需要判断每个消息类型是否具有对应的转发规则,其中每个消息类型的转发规则为预先配置的。
[0031]103、将不具有转发规则的消息类型确定为第一消息类型。
[0032]本实施例中,服务器对每个消息类型进行判断,并且将不具有转发规则的消息类型,确定为第一消息类型。举例说明,具有10种消息类型,其中有4种消息类型不具有转发规则,则服务器将不具有转发规则的4种消息类型统称为第一消息类型。此处需要说明,第一消息类型仅为一个名称。
[0033]104、获取第一消息类型下的每个消息类型的优先级以及当前可用链路的优先级。
[0034]本实施例中不同类型的消息具有不同的优先级,因此,服务器可以确定出第一消息类型下每个消息类型的优先级。服务器能够实时对链路进行检测,根据每个当前可用链路的信号强度、信噪比等状态参数,为所有当前可用链路进行优先级设定。
[0035]105、按照第一消息类型下每个消息类型的优先级、当前可用链路的优先级以及预设的调度策略,将第一消息类型下每个消息类型下的消息分配到对应的链路上,以通过对应的链路将消息转发给核心网设备。
[0036]具体地,服务器首先获取当前可用链路的第一个数,以及第一消息类型中包括的消息类型的第二个数,将第一个数与第二个数进行比较,以判断第一个数是否大于或者等于第二个数。在确定出第一个数大于或者等于第二个数之后,服务器从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序依次将第一消息类型下每个消息类型下的消息分配到与自身优先级对应的链路上,以通过该对应的链路将消息转发给核心网设备。
[0037]进一步地,在确定出第一个数小于第二个数之后,服务器从当前可用链路中选取优先级最低的链路作为第一链路,然后从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序逐次将第一消息类型下消息类型下的消息分配到与自身优先级对应的链路上,以通过对应的链路将消息转发给核心网设备。本实施例中一个消息类型对应一个当前可用链路。
[0038]由于此时第一个数小于第二个数,即当前可用链路的个数小于消息类型的个数。服务器并不能为第一消息类型下所有的消息类型分配一个可用链路,为了保证第一消息类型下剩余的所有消息类型下的消息能够转发,服务器可采用加权循环调度(WeightedRound Robin,简称WRR)算法,将第一消息类型下剩余的消息类型下的消息分配到选取的第一链路上,通过该第一链路将剩余的消息类型下的消息转发给核心网设备。
[0039]举例说明,在当前可用链路的个数小于消息类型的个数的情况下,假设当前可用链路的个数为L,消息类型的个数为X,其中,L < X。首先从L条当前可用链路中,选取优先级最低的第L链路作为第一链路。将L-1个高优先级消息类型分别一一对应发送到高优先级的可用链路,剩余的Χ-L+l个消息类型下的消息采用WRR算法分配到第L链路上,通过第L链路将剩余的消息类型下的消息转发给核心网设备。
[0040]本实施例提供的基于优先级的链路调度方法,接收并确定每个消息的消息类型,判断每个消息类型是否具有对应的转发规则,将不具有转发规则的消息类型确定为第一消息类型,获取第一消息类型下每个消息类型的优先级以及当前可用链路的优先级,按照第一消息类型下每个消息类型的优先级、当前可用链路的优先级以及预设的调度策略,将第一消息类型下每个消息类型下的消息分配到对应的链路上,以通过对应的链路将消息转发给核心网设备。本实施例中根据消息类型具有的不同优先级,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高了消息的传输效率。
[0041]图2为本发明实施例提供的另一种基于优先级的链路调度方法的流程示意图。本实施例中,该基于优先级的链路调度方法的执行主体可以为服务器。该服务器设置在终端与核心网设备之间。如图2所示,该基于优先级的链路调度方法包括以下步骤:
[0042]201、接收并确定每个消息的消息类型。
[0043]202、判断每个消息类型是否具有对应的转发规则。
[0044]步骤201?步骤202与上述实施例中步骤101?步骤102相同,此处不再赘述。
[0045]203、将具有转发规则的消息类型确定为第二消息类型。
[0046]实际应用中,可以为不同的消息类型设定不同的转发规则,当一个消息类型具有转发规则时,服务器根据该消息类型对应的转发规则,对该消息类型包括的消息进行转发。本实施例中,服务器将具有转发规则的消息类型,确定为第二消息类型。举例说明,具有10种消息类型,其中有4种消息类型不具有转发规则,剩下6种消息类型具有转发规则,则月艮务器将具有转发规则的6种消息类型统称为第二消息类型。此处需要说明,第二消息类型仅为一个名称。
[0047]204、获取第二消息类型下每个消息类型对应的转发规则。
[0048]205、按照第二消息类型下每个消息类型对应的转发规则,将第二消息类型下每个消息类型下的消息分配到对应的链路上,通过对应的链路将消息转发给核心网设备。
[0049]具体地,不同的类型消息具有不同的转发规则。服务器从第二消息类型中选取一个消息类型作为目标消息类型,其中该目标消息类型为第二消息类型中的任意一个消息类型。如果目标消息类型的转发规则包括指示出目标消息类型对应的链路类型的链路类型码,服务器为目标消息类型确定与类型码对应的目标链路集。本实施例中将一个类型的链路构成一个链路集,每个目标链路集对应一个链路类型,每个目标链路集包括至少I条链路。例如,链路类型可以包括有线型链路或者无线型链路等,一般不同类型的链路下包括多个链路。
[0050]以无线型链路为例,无线型链路可以包括以太网链路、全球微波互联接入(Worldwide Interoperability for Microwave Access,简称 WiMax)无线链路、WiF1、全球移动通讯系统(Global System of Mobile communication,简称GSM)无线链路,本实施例中可以由上述无线链路可以构成一个对应于无线型的链路集。
[0051]在获取到目标链路集后,服务器可以获取到目标链路集下包括的当前可用链路的优先级。具体地,服务器可以根据每条链路的状态参数如信号强度、信噪比等,为该目标链路集下的所有当前可用链路进行优先级排序。
[0052]在获取到目标链路集下所有当前可用链路的优先级后,将目标消息类型下的消息分配到目标链路集包括的优先级最高的当前可用链路上,通过该优先级最高的当前可用链路将目标消息类型下的消息转发给核心网设备。
[0053]或者,如果目标消息类型的转发规则包括指示出该目标消息类型对应的目标链路的标识码,则服务器将该目标消息类型下的消息分配到与标识码对应的目标链路上,通过该目标链路将目标消息类型下的消息转发给所述核心网设备。
[0054]或者,如果目标消息类型的转发规则包括指示出对该目标消息类型下的消息进行分流发送的指示信息以及用于对目标消息类型下的消息进行分流的每个分流链路的标识码。由于目标消息类型的转发规则中包括指示出对该目标消息类型下的消息进行分流发送的指示信息,服务器根据该指示信息得知需要对目标消息类型下的消息进行分流发送。
[0055]进一步地,服务器可以从转发规则中获取到对目标消息类型下的消息进行分流的每个分流链路的标识码,根据所述标识码获取每个分流链路的优先级,并且对用于对目标消息类型下的消息进行分流发送的所有分流链路的优先级进行排序,得到一个优先级顺序。服务器按照该分流链路的优先级顺序,将目标消息类型下的消息逐次分配到分流链路上,通过分流链路将目标消息类型下的消息转发给核心网设备。
[0056]本实施例中将消息类型对应的转发规则与消息类型的优先级进行结合,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高了消息的传输效率。
[0057]图3为本发明实施例提供的另一种基于优先级的链路调度方法的流程示意图。该基于优先级的链路调度方法的执行主体可以为服务器。该服务器设置在终端与核心网设备之间。如图3所示,该基于优先级的链路调度方法包括以下步骤:
[0058]301、接收并确定每个消息的消息类型。
[0059]302、判断每个消息类型是否具有对应的转发规则。
[0060]步骤301?步骤302与上述实施例步骤101?步骤102相同,此处不再赘述。
[0061]如果判断出一些消息类型不具有对应的转发规则时,执行步骤303 ;如果判断出一些消息类型具有对应的转发规则时,执行步骤310。
[0062]303、将不具有转发规则的消息类型确定为第一消息类型。
[0063]本实施例中,服务器对每个消息类型进行判断,以确定每个消息类型是否具有转发规则,服务器将不具有转发规则的消息类型确定为第一消息类型。
[0064]304、获取第一消息类型下的每个消息类型的优先级以及当前可用链路的优先级。
[0065]关于获取当前可用链路的优先级的过程,可参见上述实施例中相关内容的记载,此处不再赘述。
[0066]305、判断当前可用链路的第一个数是否大于或者等于第一消息类型包括的消息类型的第二个数。
[0067]服务器获取当前可用链路的第一个数,以及第一消息类型中包括的消息类型的第二个数,将第一个数与第二个数进行比较,以判断第一个数是否大于或者等于第二个数。如果判断结果为是,执行步骤306,如果判断结果为否,执行步骤307。
[0068]306、从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序将第一消息类型下每个消息类型下的消息分配到与自身优先级对应的链路上,通过对应的链路将消息转发给核心网设备。
[0069]307、从当前可用链路中选取优先级最低的链路作为第一链路。
[0070]308、从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序逐次将第一消息类型下消息类型下的消息分配到与自身优先级对应的链路上,通过对应的链路将消息转发给核心网设备。
[0071]309、按照WRR算法将第一消息类型下剩余的每个消息类型下的消息分配到第一链路上,通过第一链路将消息转发给核心网设备。
[0072]由于此时第一个数小于第二个数,即当前可用链路的个数小于消息类型的个数。服务器并不能为第一消息类型下包括的每个消息类型分配一个可用链路,为了保证第一消息类型下剩余的所有消息类型下的消息能够转发,服务器可用按照WRR算法,将剩余的消息类型下的消息分配到选取的第一链路上,通过该第一链路将剩余的消息类型下的消息转发给核心网设备。
[0073]在将第一消息类型下的每个消息类型下的消息通过对应的链路转发给核心网设备的过程中,服务器可以对每个对应的链路进行监控,以判断对应的链路是否出现异常。如果监控到对应的链路出现异常,服务器重新执行步骤304获取第一消息类型下每个消息类型的优先级以及当前可用链路的优先级及后续操作。
[0074]本实施例中,在向核心网设备转发消息的链路出现故障时,可以重新获取当前可用链路的优先级,可以重新为不同优先级的消息类型下的消息分配对应等级的可用链路,能够保证优先级高的消息类型下的消息的传输效率。
[0075]310、将具有转发规则的消息类型确定为第二消息类型。
[0076]311、从第二消息类型中选取一个消息类型作为目标消息类型。
[0077]其中目标消息类型为第二消息类型中任意一个消息类型。
[0078]312、获取目标消息类型对应的转发规则。
[0079]实际应用中目标消息类型的转发规则为以下三种转发规则中的一种。若目标消息类型的转发规则包括指示出目标消息类型对应的链路类型的链路类型码时,执行步骤313 ;若目标消息类型的转发规则包括指示出目标消息类型对应的目标链路的标识码,执行步骤316 ;若目标消息类型的转发规则包括指示出对目标消息类型下的消息进行分流发送的指示信息以及用于对目标消息类型中的消息进行分流的每个分流链路的标识码,执行步骤317。
[0080]313、为目标消息类型确定与类型码对应的目标链路集。
[0081 ] 其中,一个链路集对应一个链路类型,一个链路集包括至少I条链路。
[0082]314、获取目标链路集下包括的当前可用链路的优先级。
[0083]315、将目标消息类型下的消息分配到目标链路集包括的当前可用链路中优先级最高的可用链路上,通过优先级最高的可用链路将目标消息类型下的消息转发给核心网设备。
[0084]316、将目标消息类型下的消息分配到与标识码对应的目标链路上,通过目标链路将目标消息类型下的消息转发给核心网设备。
[0085]317、获取每个分流链路的优先级和所有分流链路的优先级顺序。
[0086]318、按照优先级顺序将目标消息类型下的消息逐次分配到与分流链路上,通过分流链路将目标消息类型下的消息转发给核心网设备。
[0087]在将第二消息类型下的每个消息类型下的消息通过对应的链路转发给核心网设备的过程中,服务器可以对每个对应的链路进行监控,以判断对应的链路是否出现异常。如果监控到对应的链路出现异常,服务器重新执行步骤311从第二消息类型中选取一个消息类型作为目标消息类型及后续操作。本实施例中,在向核心网设备转发消息的链路出现故障时,可以重新获取当前可用链路的优先级,从而可以重新为不同优先级的消息类型下的消息分配等级对应的可用链路,从而能够保证优先级高的消息类型下的消息的传输效率。
[0088]本实施例中将消息类型对应的转发规则与消息类型的优先级进行结合,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高消息的传输效率,而且对链路调度的灵活性较高。[0089]图4为本发明实施例提供的另一种基于优先级的链路调度方法的流程示意图。该基于优先级的链路调度方法的执行主体可以为服务器。该服务器设置在终端与核心网设备之间。如图4所示,该基于优先级的链路调度方法包括以下步骤:
[0090]401、接收并确定每个消息的消息类型。
[0091]服务器接收终端发送的消息,然后确定每个消息的消息类型。
[0092]402、将同一消息类型的消息加入同一消息队列中。
[0093]服务器将同一消息类型的消息接入到同一消息队列中,也就是说,一个消息类型对应一个消息队列。
[0094]403、判断每个消息队列是否具有对应的转发规则。
[0095]一般可以为消息类型预先设置对应的转发规则。本实施例中,由于一个消息类型对应一个消息队列,服务器可以判断每个消息队列是否具有对应的转发规则。如果判断出一些消息队列不具有对应的转发规则时,执行步骤404;如果判断出一些消息队列具有对应的转发规则时,执行步骤411。
[0096]404、将不具有转发规则的消息队列确定为第一消息队列。
[0097]实际中可以为一个消息类型预设对应的转发规则,也可以不为该消息类型预设对应的转发规则。在步骤403中判断出一些消息队列不具有转发规则时,服务器可以将这些不具有转发规则的消息队列确定为第一消息队列。
[0098]405、获取第一消息队列下每个消息队列的优先级以及当前可用链路的优先级。
[0099]关于获取第一消息类型下每个消息类型的优先级的过程,可参见上述实施例中相关内容的记载,此处不再赘述。由于本实施例中每个消息队列对应一个消息类型,消息类型的优先级即为消息队列的优先级,在得知消息类型的优先级后就可以获取到消息队列的优先级。
[0100]关于获取当前可用链路的优先级的过程,可参见上述实施例中相关内容的记载,此处不再赘述。
[0101]406、判断当前可用链路的第一个数是否大于或者等于第一消息队列包括的消息队列的第三个数。
[0102]服务器获取当前可用链路的第一个数,以及第一消息队列中包括的消息队列的第三个数,由于本实施例中每个消息队列对应一个消息类型,第三个数与上述实施例步骤105中第二个数相等。服务器将第一个数与第三个数进行比较,以判断第一个数是否大于或者等于第三个数。如果判断结果为是,执行步骤407,如果判断结果为否,执行步骤408。
[0103]407、从第一消息队列下具有最高优先级的消息队列开始,按照优先级顺序将第一消息类型下每个消息队列中的消息分配到与自身优先级对应的链路上,通过对应的链路将消息转发给核心网设备。
[0104]408、从当前可用链路中选取优先级最低的链路作为第一链路。
[0105]409、从第一消息队列下具有最高优先级的消息队列开始,按照优先级顺序逐次将第一消息队列中的消息队列中的消息分配到与自身优先级对应的链路上,通过对应的链路将消息转发给核心网设备。
[0106]410、按照WRR算法将第一消息队列下剩余的消息队列中的消息分配到第一链路上,通过第一链路将消息转发给核心网设备。[0107]由于此时第一个数小于第三个数,即当前可用链路的个数小于消息队列的个数。服务器并不能为第一消息队列下所有的消息队列分配一个可用链路,为了保证第一消息队列下剩余的所有消息队列中的消息能够转发,服务器可按照WRR算法将剩余的消息队列中的消息分配到选取的第一链路上,通过该第一链路将剩余的消息队列中的消息转发给核心网设备。
[0108]在将第一消息队列中的每个消息队列中的消息通过对应的链路转发给核心网设备的过程中,服务器可以对每个对应的链路进行监控,以判断对应的链路是否出现异常。如果监控到对应的链路出现异常,服务器重新执行步骤405及后续操作。本实施例中,在向核心网设备转发消息的链路出现故障时,可以重新获取当前可用链路的优先级,从而可以重新为不同优先级的消息队列中的消息分配等级对应的可用链路,从而能够保证优先级高的消息队列中的消息的传输效率。
[0109]411、将具有转发规则的消息队列确定为第二消息队列。
[0110]在步骤403中判断出一些消息队列具有转发规则时,服务器可以将这些不具有转发规则的消息队列确定为第二消息队列。
[0111]412、从第二消息队列中选取一个消息队列作为目标消息队列。
[0112]其中,目标消息队列为第二消息队列中任意一个消息队列。
[0113]413、获取目标消息队列对应的转发规则。
[0114]实际应用中目标消息队列的转发规则为以下三种转发规则中的一种。若目标消息队列的转发规则包括指示出目标消息队列对应的链路类型的链路类型码时,执行步骤414 ;若目标消息队列的转发规则包括指示出目标消息类型对应的目标链路的标识码,执行步骤417 ;若目标消息队列的转发规则包括指示出对目标消息队列下的消息进行分流发送的指示信息以及用于对目标消息队列中的消息进行分流的每个分流链路的标识码,执行步骤418。
[0115]414、为目标消息队列确定与类型码对应的目标链路集。
[0116]其中,一个链路集对应一个链路类型,一个链路集包括至少I条链路。
[0117]415、获取目标链路集下包括的当前可用链路的优先级。
[0118]416、将目标消息队列中的消息分配到目标链路集包括的当前可用链路中优先级最高的可用链路上,通过优先级最高的可用链路将目标消息队列中的消息转发给核心网设备。
[0119]417、将目标消息队列中的消息分配到与标识码对应的目标链路上,通过目标链路将目标消息队列中的消息转发给核心网设备。
[0120]418、获取每个分流链路的优先级和分流链路的优先级顺序。
[0121]419、按照优先级顺序将目标消息队列中的消息逐次分配到与分流链路上,通过分流链路将目标消息队列中的消息转发给核心网设备。
[0122]在将第二消息队列中的每个消息队列中的消息通过对应的链路转发给核心网设备的过程中,服务器可以对每个对应的链路进行监控,以判断对应的链路是否出现异常。如果监控到对应的链路出现异常,服务器重新执行步骤412从第二消息队列中选取一个消息队列作为目标消息队列及后续操作。本实施例中,在向核心网设备转发消息的链路出现故障时,可以重新获取当前可用链路的优先级,从而可以重新为不同优先级的消息类型下的消息分配等级对应的可用链路,从而能够保证优先级高的消息类型下的消息的传输效率。
[0123]本实施例中将消息类型对应的转发规则与消息类型的优先级进行结合,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高消息的传输效率,而且对链路调度的灵活性较高。
[0124]图5为本发明实施例提供的一种基于优先级的链路调度装置的结构示意图。如图5所示,该基于优先级的链路调度装置包括:接收模块51、判断模块52、确定模块53、获取模块54和分配模块55。该基于优先级的链路调度装置可以为服务器,设置在核心网设备与终端之间。
[0125]实际中,根据实时性、可靠性、安全性、带宽占用等因素对各消息进行分类,本实施例中不同类型的消息具有不同的优先级。具体地,为每个消息设置一个消息标识,并将该消息标识携带在消息中。接收模块51接收终端发送的消息,根据每个消息携带的消息标识,能够确定出该消息所归属的消息类型。
[0126]接收模块51与判断模块52连接,在确定出每个消息的消息类型后,判断模块52需要判断每个消息类型是否具有对应的转发规则,其中每个消息类型的转发规则为预先配置的。
[0127]判断模块52与确定模块53连接,在判断模块52对每个消息类型进行判断的过程中,确定模块53将不具有转发规则的消息类型,确定为第一消息类型。举例说明参见上述实施例,此处不再赘述。
[0128]本实施例中不同类型的消息具有不同的优先级。确定模块53与获取模块54连接,获取模块54可以确定出第一消息类型下每个消息类型的优先级,具体地获取模块54能够实时对链路进行检测,根据每个当前可用链路的信号强度、信噪比等状态参数,为所有当前可用链路进行优先级设定。
[0129]获取模块54与分配模块55连接,分配模块55用于按照第一消息类型下每个消息类型的优先级、当前可用链路的优先级以及预设的调度策略,将第一消息类型下每个消息类型下的消息分配到对应的链路上,以通过对应的链路将消息转发给核心网设备。
[0130]具体地,分配模块55获取当前可用链路的第一个数,以及第一消息类型中包括的消息类型的第二个数,通过判断模块52将第一个数与第二个数进行比较,以判断第一个数是否大于或者等于第二个数。
[0131]在确定出第一个数大于或者等于第二个数之后,分配模块55从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序依次将第一消息类型下每个消息类型下的消息分配到与自身优先级对应的链路上,以通过该对应的链路将消息转发给核心网设备。
[0132]进一步地,在确定出第一个数小于第二个数之后,分配模块55从当前可用链路中选取优先级最低的链路作为第一链路,然后从第一消息类型下具有最高优先级的消息类型开始,按照优先级顺序逐次将第一消息类型下消息类型下的消息分配到与自身优先级对应的链路上,以通过对应的链路将消息转发给核心网设备。本实施例中一个消息类型对应一个当前可用链路。
[0133]由于此时第一个数小于第二个数,即当前可用链路的个数小于消息类型的个数。分配模块55并不能为第一消息类型下所有的消息类型分配一个可用链路,为了保证第一消息类型下剩余的所有消息类型下的消息能够转发,分配模块55可以采用WRR算法将第一消息类型下剩余的消息类型下的消息分配到选取的第一链路上,通过该第一链路将剩余的消息类型下的消息转发给核心网设备。举例说明可参见上述实施例,此处不再赘述。
[0134]本实施例提供的基于优先级的链路调度装置,接收并确定每个消息的消息类型,判断每个消息类型是否具有对应的转发规则,将不具有转发规则的消息类型确定为第一消息类型,获取第一消息类型下每个消息类型的优先级以及当前可用链路的优先级,按照第一消息类型下每个消息类型的优先级、当前可用链路的优先级以及预设的调度策略,将第一消息类型下每个消息类型下的消息分配到对应的链路上,以通过对应的链路将消息转发给核心网设备。本实施例中根据消息类型具有的不同优先级,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高了消息的传输效率。
[0135]图6本发明实施例提供的另一种基于优先级的链路调度装置的结构示意图。如图6所示,该基于优先级的链路调度装置包括上述实施例中的接收模块51、判断模块52、确定模块53、获取模块54、分配模块55和选取模块56。
[0136]其中,接收模块51用于接收并确定每个消息的消息类型。
[0137]与接收模块51连接的判断模块52用于判断每个消息类型是否具有对应的转发规则。
[0138]与判断模块52连接的确定模块53还用于将具有转发规则的消息类型确定为第二消息类型。
[0139]与确定模块53连接的获取模块54还用于获取第二消息类型下每个消息类型对应的转发规则。
[0140]与获取模块54连接的分配模块54还用于按照第二消息类型下每个消息类型对应的转发规则,将第二消息类型下每个消息类型下的消息分配到对应的链路上,通过对应的链路将消息转发给核心网设备。
[0141]具体地,选取模块56用于从所述第二消息类型中选取一个消息类型作为目标消息类型。其中,目标消息类型为第二消息类型中任意一个消息类型。
[0142]如果获取模块54获取的目标消息类型的转发规则包括指示出目标消息类型对应的链路类型的链路类型码,则分配模块55具体用于为目标消息类型确定与类型码对应的目标链路集,获取目标链路集下包括的当前可用链路的优先级,将目标消息类型下的消息分配到目标链路集包括的当前可用链路中优先级最高的可用链路上,通过该优先级最高的可用链路将目标消息类型下的消息转发给核心网设备。
[0143]如果获取模块54获取的目标消息类型的转发规则包括指示出目标消息类型对应的目标链路的标识码,则分配模块55将目标消息类型下的消息分配到与标识码对应的所述目标链路上,通过目标链路将目标消息类型下的消息转发给核心网设备。
[0144]如果获取模块54获取的目标消息类型的转发规则包括指示出对目标消息类型下的消息进行分流发送的指示信息以及用于对目标消息类型下的消息进行分流的每个分流链路的标识码,则分配模块55获取每个分流链路的优先级和所有分流链路的优先级顺序,按照优先级顺序将目标消息类型下的消息逐次分配到与分流链路上,通过分流链路将目标消息类型下的消息转发给核心网设备。
[0145]本实施例中将消息类型对应的转发规则与消息类型的优先级进行结合,将不同优先级的消息分配到相应优先级的链路上进行转发,从而保证了满足了不同优先级的消息在传输过程中对QoS参数的需求,降低了消息的丢包率,提高消息的传输效率,而且对链路调度的灵活性较高。
[0146]进一步地,基于优先级的链路调度装置还包括:监控模块57和启动模块58。
[0147]其中,与分配模块55连接的监控模块57,用于对用于向所述核心网设备发送所述消息的链路进行监控,以判断所述链路是否存在异常。
[0148]对于第一消息类型,与监控模块57和获取模块54连接的启动模块58,用于在监控模块57监控到链路存在异常时,重新启动获取模块54执行所述获取第一消息类型下每个消息类型的优先级以及当前可用链路的优先级及后续操作。
[0149]而对于第二消息类型,与监控模块57和选取模块56连接的启动模块58,还用于在监控模块57监控到链路存在异常时,重新启动选取模块56执行从第二消息类型中选取一个消息类型作为目标消息类型及后续操作。
[0150]本实施例中,在向核心网设备转发消息的链路出现故障时,可以重新获取当前可用链路的优先级,从而可以重新为不同优先级的消息类型下的消息分配等级对应的可用链路,从而能够保证优先级高的消息类型下的消息的传输效率。
[0151]进一步地,基于优先级的链路调度装置还包括:添加模块59,用于在接收模块51接收并确定每个消息的消息类型之后,将同一消息类型的消息加入同一消息队列中。
[0152]本实施例中,由于一个消息类型对应一个消息队列,判断模块52可以判断每个消息队列是否具有对应的转发规则。确定模块53将不具有转发规则的消息队列确定为第一消息队列,以及将具有转发规则的消息队列确定出第二消息队列。
[0153]由于本实施例中每个消息队列对应一个消息类型,消息类型的优先级即为消息队列的优先级,在获取模块54获取到消息类型的优先级后就可以得知每个消息队列的优先级。
[0154]对于第一消息队列,分配模块55获取当前可用链路的第一个数,以及第一消息队列中包括的消息队列的第三个数,由于每个消息队列对应一个消息类型,第三个数与消息类型的个数即第二个数相等。判断模块52将第一个数与第三个数进行比较,以判断第一个数是否大于或者等于第三个数。如果判断结果为第一个数大于或者等于第三个数,分配模块55从第一消息队列下具有最高优先级的所述消息队列开始,按照优先级顺序将第一消息类型下每个消息队列中的消息分配到与自身优先级对应的链路上,通过对应的链路将所述消息转发给核心网设备.如果判断结构为第一个数小于第三个数分配模块55从当前可用链路中选取优先级最低的链路作为第一链路,从第一消息队列下具有最高优先级的消息队列开始,按照优先级顺序逐次将第一消息队列中的消息队列中的消息分配到与自身优先级对应的链路上,通过对应的链路将所述消息转发给核心网设备。由于当前可用链路的个数小于消息队列的个数。分配模块55并不能为第一消息队列下所有的消息队列分配一个可用链路,为了保证第一消息队列下剩余的所有消息队列中的消息能够转发,分配模块44按照WRR算法,将剩余的消息队列中的消息分配到选取的第一链路上,通过该第一链路将剩余的消息队列中的消息转发给核心网设备。[0155]对于第二消息队列,选取模块56从第二消息队列中选取一个消息队列作为目标消息队列,获取模块54获取第二消息队列下每个消息队列的转发规则。
[0156]如果获取模块54获取的目标消息队列的转发规则包括指示出目标消息队列对应的链路类型的链路类型码,则分配模块55为目标消息队列确定与类型码对应的目标链路集,获取目标链路集下包括的当前可用链路的优先级,将目标消息队列中的消息分配到目标链路集包括的当前可用链路中优先级最高的可用链路上,通过优先级最高的可用链路将目标消息队列中的消息转发给核心网设备。
[0157]如果获取模块54获取的目标消息队列的转发规则包括指示出目标消息类型对应的目标链路的标识码,则分配模块55将目标消息队列中的消息分配到与该标识码对应的目标链路上,通过目标链路将目标消息队列中的消息转发给核心网设备。
[0158]如果获取模块54获取的目标消息队列的转发规则包括指示出对目标消息类型下的消息进行分流发送的指示信息以及用于对目标消息队列中的消息进行分流的每个分流链路的标识码,则分配模块55获取每个分流链路的优先级和分流链路的优先级顺序,按照优先级顺序将目标消息队列中的消息逐次分配到与分流链路上,通过分流链路将目标消息队列中的消息转发给核心网设备。
[0159]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种基于优先级的链路调度方法,其特征在于,包括: 接收并确定每个消息的消息类型; 判断每个所述消息类型是否具有对应的转发规则; 将不具有所述转发规则的所述消息类型确定为第一消息类型; 获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级;按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备。
2.根据权利要求1所述的基于优先级的链路调度方法,其特征在于,获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级之后,还包括: 判断所述当前可用链路的第一个数是否大于或者等于所述第一消息类型包括的所述消息类型的第二个数; 如果所述第一个数大于或者等于所述第二个数,则按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备包括: 从所述第一消息类型下具有最高优先级的所述消息类型开始,按照优先级顺序将所述第一消息类型下每个所述消息类型下的消息分配到与自身优先级对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备。
3.根据权利要求 2所述的基于优先级的链路调度方法,其特征在于,还包括: 如果所述第一个数小于所述第二个数,则按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备包括: 从所述当前可用链路中选取优先级最低的链路作为第一链路; 从所述第一消息类型下具有最高优先级的所述消息类型开始,按照优先级顺序逐次将所述第一消息类型下所述消息类型下的消息分配到与自身优先级对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备; 按照加权循环调度WRR算法将所述第一消息类型下剩余的所述消息类型下的消息分配到所述第一链路上,通过所述第一链路将所述消息转发给所述核心网设备。
4.根据权利要求1所述的基于优先级的链路调度方法,其特征在于,还包括: 将具有所述转发规则的所述消息类型确定为第二消息类型; 获取所述第二消息类型下每个所述消息类型对应的所述转发规则; 按照所述第二消息类型下每个所述消息类型对应的所述转发规则,将所述第二消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备。
5.根据权利要求4所述的基于优先级的链路调度方法,其特征在于,所述按照所述第二消息类型下每个所述消息类型对应的所述转发规则,将所述第二消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备包括: 从所述第二消息类型中选取一个消息类型作为目标消息类型;其中,所述目标消息类型为所述第二消息类型中任意一个消息类型; 如果所述目标消息类型的所述转发规则包括指示出所述目标消息类型对应的链路类型的链路类型码,则为所述目标消息类型确定与所述类型码对应的目标链路集; 获取所述目标链路集下包括的当前可用链路的优先级; 将所述目标消息类型下的消息分配到所述目标链路集包括的所述当前可用链路中优先级最高的可用链路上,通过所述优先级最高的可用链路将所述目标消息类型下的消息转发给所述核心网设备; 或者,如果所述目标消息类型的所述转发规则包括指示出所述目标消息类型对应的目标链路的标识码,则将所述目标消息类型下的消息分配到与所述标识码对应的所述目标链路上,通过所述目标链路将所述目标消息类型下的消息转发给所述核心网设备; 或者,如果所述目标消息类型的所述转发规则包括指示出对所述目标消息类型下的消息进行分流发送的指示信息以及用于对所述目标消息类型下的消息进行分流的每个分流链路的标识码,则获取每个所述分流链路的优先级和所有所述分流链路的优先级顺序,按照所述优先级顺序将所述目标消息类型下的消息逐次分配到与所述分流链路上,通过所述分流链路将所述目标消息类型下的消息转发给所述核心网设备。
6.根据权利要求1或5所述的基于优先级的链路调度方法,其特征在于,还包括: 对用于向所述核心网设备发送所述消息的链路进行监控,以判断所述链路是否存在异常; 对于所述第一消息类型,如果监控到所述链路存在异常,重新执行所述获取所述第一消息类型下每个所述消息类型的优`先级以及当前可用链路的优先级及后续操作; 对于所述第二消息类型,如果监控到所述链路存在异常,重新执行从所述第二消息类型中选取一个消息类型作为目标消息类型及后续操作;其中,所述目标消息类型为所述第二消息类型中任意一个消息类型。
7.根据权利要求1所述的基于优先级的链路调度方法,其特征在于,所述接收并确定每个消息的消息类型之后,还包括: 将同一所述消息类型的所述消息加入同一消息队列中。
8.一种基于优先级的链路调度装置,其特征在于,包括: 接收模块,用于接收并确定每个消息的消息类型; 判断模块,用于判断每个所述消息类型是否具有对应的转发规则; 确定模块,用于将不具有所述转发规则的所述消息类型确定为第一消息类型; 获取模块,用于获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级; 分配模块,用于按照所述第一消息类型下每个所述消息类型的优先级、所述当前可用链路的优先级以及预设的调度策略,将所述第一消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给核心网设备。
9.根据权利要求8所述的基于优先级的链路调度装置,其特征在于, 所述判断模块,还用于在获取模块获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级之后,判断所述当前可用链路的第一个数是否大于或者等于所述第一消息类型包括的所述消息类型的第二个数; 所述分配模块具体用于在判断出所述第一个数大于或者等于所述第二个数之后,从所述第一消息类型下具有最高优先级的所述消息类型开始,按照优先级顺序将所述第一消息类型下每个所述消息类型下的消息分配到与自身优先级对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备。
10.根据权利要求9所述的基于优先级的链路调度装置,其特征在于, 所述分配模块具体用于在判断出所述第一个数小于所述第二个数后,从所述当前可用链路中选取优先级最低的链路作为第一链路,从所述第一消息类型下具有最高优先级的所述消息类型开始,按照优先级顺序逐次将所述第一消息类型下所述消息类型下的消息分配到与自身优先级对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备,按照加权循环调度WRR算法将所述第一消息类型下剩余的所述消息类型下的消息分配到所述第一链路上,通过所述第一链路将所述消息转发给所述核心网设备。
11.根据权利要求8所述的基于优先级的链路调度装置,其特征在于, 所述确定模块,还用于将具有所述转发规则的所述消息类型确定为第二消息类型; 所述获取模块,还用于获取所述第二消息类型下每个所述消息类型对应的所述转发规则; 所述分配模块,还用于按照所述第二消息类型下每个所述消息类型对应的所述转发规贝U,将所述第二消息类型下每个所述消息类型下的消息分配到对应的链路上,通过所述对应的链路将所述消息转发给所述核心网设备。
12.根据权利要求 11所述的基于优先级的链路调度装置,其特征在于,还包括: 选取模块,用于从所述第二消息类型中选取一个消息类型作为目标消息类型;其中所述目标消息类型为所述第二消息类型中任意一个消息类型; 如果所述获取模块获取的所述目标消息类型的所述转发规则包括指示出所述目标消息类型对应的链路类型的链路类型码,则所述分配模块具体用于为所述目标消息类型确定与所述类型码对应的目标链路集,获取所述目标链路集下包括的当前可用链路的优先级,将所述目标消息类型下的消息分配到所述目标链路集包括的所述当前可用链路中优先级最高的可用链路上,通过所述优先级最高的可用链路将所述目标消息类型下的消息转发给所述核心网设备; 如果所述获取模块获取的所述目标消息类型的所述转发规则包括指示出所述目标消息类型对应的目标链路的标识码,则所述分配模块具体用于将所述目标消息类型下的消息分配到与所述标识码对应的所述目标链路上,通过所述目标链路将所述目标消息类型下的消息转发给所述核心网设备; 如果所述获取模块获取的所述目标消息类型的所述转发规则包括指示出对所述目标消息类型下的消息进行分流发送的指示信息以及用于对所述目标消息类型下的消息进行分流的每个分流链路的标识码,则所述分配模块具体用于获取每个所述分流链路的优先级和所有所述分流链路的优先级顺序,按照所述优先级顺序将所述目标消息类型下的消息逐次分配到与所述分流链路上,通过所述分流链路将所述目标消息类型下的消息转发给所述核心网设备。
13.根据权利要求8或12所述的基于优先级的链路调度装置,其特征在于,还包括: 监控模块,用于对用于向所述核心网设备发送所述消息的链路进行监控,以判断所述链路是否存在异常; 启动模块,用于对于所述第一消息类型,如果监控到所述链路存在异常,重新启动所述获取模块执行所述获取所述第一消息类型下每个所述消息类型的优先级以及当前可用链路的优先级及后续操作; 所述启动模块,还用于对于所述第二消息类型,如果监控到所述链路存在异常,重新启动所述选取模块执行从所述第二消息类型中选取一个消息类型作为目标消息类型及后续操作。
14.根据权利要求8所述的基于优先级的链路调度装置,其特征在于,还包括: 添加模块,用于在所述接收模块接收并确定每个消息的消息类型之后,将同一所述消息类型的所述消息加 入同一消 息队列中。
【文档编号】H04L12/865GK103888380SQ201310706312
【公开日】2014年6月25日 申请日期:2013年12月19日 优先权日:2013年12月19日
【发明者】刘靖, 陈晋辉, 龚小聪, 李海玉, 钟飞, 陈爽, 陈斯 申请人:广州市地下铁道总公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1