基于网关的消息发送方法及ParlayX网关的制作方法

文档序号:7719861阅读:110来源:国知局
专利名称:基于网关的消息发送方法及Parlay X网关的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种基于网关的消息发送方法及Parlay X网关。
背景技术
业务开放(Parlay X)网关将电信的网络能力通过W^eb Service接口开放给第 三方,下面以短消息服务(Short Message Service, SMS)、多媒体信息服务(Multimedia Messaging Services, MMS)和基于位置的业务(Location BasedService, LBS)为例来说 明,Parlay X网关将SMS、MMS和LBS通过W^eb Service接口开放给第三方;其实现方式为 一种基于网关的消息发送方式,该方式为,Parlay X网关在实现消息的发送时,都是采用先 进先出(First In First Out, FIFO)的消息调度策略对3rd Party的业务请求进行处理。 上述FIFO的具体方法可以为=Parlay X网关在接收到用户的请求消息后,分析该消息的类 型,然后根据该消息的类型将该消息插入到该类型队列的队尾,Parlay X网关为每一个类 型队列分配一组工作线程组,对类型队列中的消息进行处理。在实现本发明的过程中,发明人发现现有技术存在如下问题现有技术的方案Parlay X网关对消息的处理是采用的是先进先出的策略,所以当 需要支持多个通信网络时,可能出现前面的消息故障,影响与前面消息具有相同类型的后 续消息无法进行处理,即后续消息阻塞,例如目的地址为A国的消息处理故障时影响与A国 的消息具有相同类型的目的地址为B国的消息的处理。

发明内容
本发明实施方式提供一种基于网关的消息发送方法及Parlay X网关,该方法及 Parlay X网关具有先接收到的消息处理故障时,与前述消息属于相同类型但目的地址不同 的后续消息处理不阻塞的优点。本发明的具体实施方式
提供一种基于网关的消息发送方法,该方法包括Parlay X网关包括各个目的地址对应的工作队列,且每个工作队列均拥有其对应的工作线程组; 所述方法具体包括Parlay X网关在接收到请求消息后,对该请求消息进行解析得到该消息的目的地 址;Parlay X网关将该消息插入到该消息的目的地址对应的工作队列中;由Parlay X网关中该对应的工作队列的工作线程组对该队列中的消息进行处理。本发明还提供一种Parlay X网关装置,包括工作队列单元,用于设置各个目的地址对应的工作队列,且每个工作队列均拥有 其对应的工作线程组;接收单元,用于接收到请求消息,分析插入单元,用于对该请求消息进行解析得到该消息的目的地址;并将该消息 插入到该消息的目的地址对应的工作队列中;工作单元,用于触发该对应的工作队列的工作线程组对该队列中的消息进行处理。由上述所提供的技术方案可以看出,本发明实施例的技术方案具有先接收到的消 息处理故障时,与前述消息属于相同类型但目的地址不同的后续消息处理不阻塞的优点。


图1为本发明具体实施方式
提供的一种基于网关的消息发送方法的流程图;图2为本发明一实施例提供的一种基于网关的消息发送方法的流程图;图3为本发明提供的一种Parlay X网关装置的结构图。
具体实施例方式本发明实施方式提供了一种基于网关的消息发送方法,包括=Parlay X网关包括 各个目的地址对应的工作队列,且每个工作队列均拥有其对应的工作线程组;该方法如图 1所示,包括SlUParlay X网关在接收到请求消息后,对该请求消息进行解析得到该消息的目 的地址;S12、Parlay X网关将该消息插入到该消息的目的地址对应的工作队列中;S13、由Parlay X网关中该工作队列的工作线程组对该队列中的消息进行处理。实现S12的方法具体可以包括获取该消息的属性,根据Parlay X网关保存的属 性优先级列表查找出该消息的属性对应的优先级,根据该优先级的高低将该消息插入到该 工作队列中的该优先级对应的子队列中。上述插入到子队列的具体位置可以优选在该子队列中与该消息属性完全相同的 消息的后面,次选子队列的队尾;在次为子队列的任何位置。例如目的地址队列下面包括高优先级子队列,中优先级子队列和低优先级子队 列,上述包括的子队列可以根据优先级的等级来调整,该消息的属性在属性优先级列表中 对应为高优先级,则将该消息插入到高优先级子队列。其插入的具体位置的选择可以参见 上段描述,这里不在赘述。可选的,上述工作队列包括的优先级子队列均拥有上述工作线程组中的至少一个 工作线程,其中高优先级子队列拥有的工作线程的数量大于低优先级子队列拥有的工作线 程的数量。例如如果目的地址队列拥有的工作线程组有10个工作线程,则高优先级子队列 拥有的工作线程数量有5个,中优先级子队列拥有的工作线程数量有3个;低优先级拥有的 工作线程数量有2个。由于该消息的处理均是由工作线程组的工作线程来进行处理的,而上述各个工作 线程均为单独进行处理的,其不受其他工作线程的干扰,如10个工作线程,第1个工作线程 的处理状态与2、3、4等工作线程的状态无关。这样在高优先级子队列拥有工作线程多的情 况下,由于其同时处理消息的工作线程多,所以其能在同一时间内处理更多的消息,所以其 处理的速度必定大于低优先级子队列,即能保证高优先级的消息被优先处理;而低优先级 子队列也拥有较少的工作线程,该工作线程也拥有独立的消息处理能力,所以该低优先级 的消息不会因为高优先级的消息过多而对低优先级的消息完全不处理,即能够保证低优先级的消息能被处理。所以采用上述方法分配工作线程组的工作线程后,不仅能保证高优先 级的消息被优先处理,也能保证低优先级的消息不会因为优先级低而不被处理。上述属性优先级列表为用户根据属性情况设置的属性优先级列表,然后将设置的 属性优先级列表保存在Parlay X网关。该属性优先级列表的优先级策略可以从以下几个 纬度进行设置,如消息的源地址的国家,消息对应的业务,消息的重要程度等等;当然在实 际情况中也可以通过别的纬度进行设置,本发明并不局限该属性优先级列表的具体形式。实现S13的具体方法可以为Parlay X网关中该工作队列的工作线程组按该工作 队列中消息的排列顺序对消息进行处理。可选的,上述方法在实现S12之前,还可以包括Parlay X网关检测消息接收的速率是否大于消息输出的速率,当大于时,将接收 的消息缓存,直至消息接收的速率小于消息输出的速率时,读取缓存的消息,并进行S12。上述方法在消息接收速率大于消息输出速率时,将消息缓存,直至消息接入的速 率小于消息输出的速率时进行处理,避免了由于接收速率大于消息输出速率而造成的底层 网元益出。该底层网元具体可以为网络接入网关(Network Access Gateway, NAG)可选的,上述方法在实现S12之前,还可以包括如该消息的目的地址没有对应的工作队列,Parlay X网关建立该消息的目的地址 对应的工作队列,并为该建立的工作队列分配一工作线程组。本发明实施例提供的方法由于其工作队列是按目的地址分配的,所以目的地址为 A国和目的地址为B国都存在各自的工作队列,并且其具有不同的工作线程组,当目的地址 为A国的消息处理故障时,并不影响目的地址为B国的消息的处理。本发明还提供一实施例,本实施例实施的场景可以为业务提供者 (ServiceProvider, SPl)的业务Appl发送短信和彩信业务到国家A和国家B的用户;SP2 的业务App2发送短信和彩信业务到国家A和国家B的用户;SP3的业务App3发送短信和彩 信业务到国家A、国家B和国家C的用户。Parlay X网关中存储的属性优先级列表可以为 SP优先级的关系SP3 > SP2 > SP1,其分别对应高优先级、中优先级和低优先级;App优先 级的关系App 3 > App2 = App 1 ;App优先级的权重最高,SP优先级权重次之;消息类型 的优先级权重最低,其中匪S的优先级> SMS的优先级;Parlay X网关包括国家A工作队 列,国家B工作队列和国家C工作队列;国家A工作队列、国家B工作队列和国家C工作队 列分别包含有高优先级工作子队列、中优先级工作子队列和低优先级工作子队列;其中高 优先级工作队列拥有的工作线程的数量为5个,中级优先级工作队列拥有的工作线程的数 量为3个,低级优先级工作队列拥有的工作线程为2个。本实施例提供的一种基于网关的 消息发送方法如图2所示,具体包括S2UParlay X网关在接收到请求消息后,对该请求消息进行解析得到该消息的目 的地址;为了叙述的方便,这里将SPl发送短信到国家A的用户的请求消息称为SMSlAJf SPl发送短信到国家B的用户的请求消息称为SMSl B,这里将SPl发送彩信到国家A的用 户的请求消息称为匪Sl A,将SPl发送彩信到国家B的用户的请求消息称为匪Sl B ;将SP2 发送短信到国家A的用户的请求消息称为SMS2々,将SP2发送短信到国家B的用户的请求消息称为SMS2 B,这里将SP2发送彩信到国家A的用户的请求消息称为匪S2 A,将SP2发 送彩信到国家B的用户的请求消息称为匪S2 B;将SP3发送短信到国家A的用户的请求消 息称为SMS3々,将SP3发送短信到国家B的用户的请求消息称为SMS3 B,将SP3发送短信 到国家C的用户的请求消息称为SMS3 C,将SP3发送彩信到国家A的用户的请求消息称为 匪S3 A,将SP3发送彩信到国家B的用户的请求消息称为匪S3 B,将SP3发送彩信到国家C 的用户的请求消息称为匪S3 C。则实现S21 的方法具体为,接收 SMSl A、SMS1 B,MMSl A,MMSl B、SMS2 A、SMS2 B、 MMS2 A、MMS2 B、SMS3 A、SMS3 B、SMS3 C、MMS3A、MMS3B 和 MMS3 C,并获知 SMSl A,MMSl A、 SMS2 A、MMS2 A、SMS3A 禾口 MMS3 A 的目的地址为国家 A,SMSl B、MMSl B、SMS2 B、MMS2 B、 SMS3 B和匪S3 B目的地址为国家B ;SMS3 C和匪S3 C的目的地址为国家C。S22, Parlay X 网关将 SMSl A、MMS1 A、SMS2 A、MMS2 A、SMS3 A 禾口 MMS3 A 插入到 国家A的工作队列中,将SMSl B、MMSl B、SMS2 B、MMS2B、SMS3 B禾口 MMS3 B插入到国家B 的工作队列中,将SMS3 C和匪S3 C插入到国家C的工作队列中;实现S22的具体方法可以为根据属性优先级列表查出SMS3 A和MMS3 A优先级 最高,将SMS3 A和匪S3 A插入到国家A工作队列中的高优先级子队列中,并将匪S3 A排 列在SMS3 A的前面;根据属性优先级列表查出SMS2 A和MMS2 A的优先级为中优先级,将 SMS2 A和匪S2 A插入到国家A工作队列中的中优先级子队列中,并将匪S2 A排列在SMS2 A的前面;根据属性优先级列表查出SMSlA和匪Sl A的优先级为低优先级,将SMSl A和 匪Sl A插入到国家A工作队列中的低优先级子队列中,并将匪Sl A排列在SMSlA的前面; 同样的方法,将SMS3 B和匪S3 B插入到国家B工作队列中的高优先级子队列中,并将匪S3 B排列在SMS3 B的前面;将SMS2 B和匪S2 B插入到国家B工作队列中的中优先级子队列 中,并将MMS2 B排列在SMS2 B的前面;将SMSl B和MMSl B插入到国家B工作队列中的低 优先级子队列中,并将匪Sl B排列在SMSlB的前面;将SMS3 C和匪S3 C插入到国家C的 工作队列中的高优先级队列中,并将MMS3 C排列在SMS3 C的前面。S23、Parlay X网关中该工作队列的工作线程组按该工作队列中消息的排列顺序 对消息进行处理。本实施例提供的方法将Parlay X网关的工作队列分成国家A、国家B和国家C工 作队列,并为国家A、国家B和国家C工作队列分配不同的工作线程组,所以在进行消息处理 的时候,不同目的地的消息处理互相不干扰,并且对目的地相同国家的消息通过属性优先 级列表确定该消息对应的优先级,并将不同优先级的消息分配到不同优先级对应的子队列 中,达到了高优先级的消息优先处理,也保证了低优先级的消息能够处理,体现了为用户提 供差异化的服务。本发明实施例还提供一种Parlay X网关装置,该装置如图3所示,包括工作队列单元31,用于设置各个目的地址对应的工作队列,且每个工作队列均拥 有其对应的工作线程组;接收单元32,用于接收到请求消息,分析插入单元33,用于对该请求消息进行解析得到该消息的目的地址;并将该消 息插入到该消息的目的地址对应的工作队列中;工作单元34,用于触发该对应的工作队列的工作线程组对该队列中的消息进行处理。可选的,上述分析插入单元33可以包括分析模块331,用于对该请求消息进行解析得到该消息的目的地址;获取查找模块332,用于获取该消息的属性,并根据保存的属性优先级列表查找出 该消息的属性对应的优先级;插入模块333,用于根据该消息的优先级的将该消息插入到所述工作队列中的所 述优先级对应的子队列中。上述属性优先级的设置可以参见方法实施例中的相关描述,这里不在赘述。可选的,上述工作队列中的各个优先级对应的子队列均拥有所述工作线程组中的 至少一个工作线程,且高优先级对应的子队列拥有的工作线程的数量大于低优先级对应的 子队列拥有的工作线程的数量。可选的,上述装置还包括检测单元35,用于检测上述接收单元32接收到的消息的目的地址是否有对应的 工作队列;建立单元36,用于在检测单元35检测出该消息的目的地址没有对应的工作队列 时,建立该消息的目的地址对应的工作队列,并为该建立的工作队列分配一工作线程组。可选的,上述检测单元35还用于检测消息接收的速率是否大于消息输出的速率, 上述装置还包括读存单元37,用于在检测单元35检测出消息接收的速率大于消息输出的速率时, 将接收的消息缓存。该读存单元37还可以用于在消息接收的速率小于消息输出的速率时, 读取缓存的消息。本发明实施例提供的装置是将消息按目的地址分配的,所以目的地址为A国和目 的地址为B国都存在各自的工作队列,并且其具有不同的工作线程组,当目的地址为A国的 消息处理故障时,并不影响目的地址为B国的消息的处理。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通 过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程 序在执行时,包括方法实施例的步骤之一或其组合。综上所述,本发明具体实施方式
提供的技术方案,具有及时发现数据异常,减少了 对系统正常运营的影响,方便了异常原因的定位的优点。以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及 实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会 有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于网关的消息发送方法,其特征在于,包括Parlay X网关包括各个目的地 址对应的工作队列,且每个工作队列均拥有其对应的工作线程组;所述方法具体包括Parlay X网关在接收到请求消息后,对该请求消息进行解析得到该消息的目的地址; Parlay X网关将该消息插入到该消息的目的地址对应的工作队列中;由Parlay X网关中该对应的工作队列的工作线程组对该队列中的消息进行处理。
2.根据权利要求1所述的方法,其特征在于,所述ParlayX网关将该消息插入到该消 息的目的地址对应的工作队列中具体为获取所述消息的属性,根据Parlay X网关保存的属性优先级列表查找出所述消息的属 性对应的优先级,根据所述消息的优先级的将所述消息插入到所述工作队列中的所述优先 级对应的子队列中。
3.根据权利要求2所述的方法,其特征在于,所述工作队列中的各个优先级对应的子 队列均拥有所述工作线程组中的至少一个工作线程,且高优先级对应的子队列拥有的工作 线程的数量大于低优先级对应的子队列拥有的工作线程的数量。
4.根据权利要求1所述的方法,其特征在于,所述方法在ParlayX网关将该消息插入 到该消息的目的地址对应的工作队列中之前还包括如所述消息的目的地址没有对应的工作队列,Parlay X网关建立所述消息的目的地址 对应的工作队列,并为该建立的工作队列分配一个工作线程组。
5.根据权利要求1所述的方法,其特征在于,所述方法在ParlayX网关将该消息插入 到该消息的目的地址对应的工作队列中之前还包括Parlay X网关检测消息接收的速率是否大于消息输出的速率,当大于时,将接收的消 息缓存。
6.一种Parlay X网关装置,其特征在于,包括工作队列单元,用于设置各个目的地址对应的工作队列,且每个工作队列均拥有其对 应的工作线程组;接收单元,用于接收到请求消息,分析插入单元,用于对该请求消息进行解析得到该消息的目的地址;并将该消息插入 到该消息的目的地址对应的工作队列中;工作单元,用于触发该对应的工作队列的工作线程组对该队列中的消息进行处理。
7.根据权利要求6所述的装置,其特征在于,所述分析插入单元包括分析模块,用于对该请求消息进行解析得到该消息的目的地址;获取查找模块,用于获取所述消息的属性,并根据保存的属性优先级列表查找出所述 消息的属性对应的优先级;插入模块,用于根据所述消息的优先级的将所述消息插入到所述工作队列中的所述优 先级对应的子队列中。
8.根据权利要求7所述的装置,其特征在于,所述工作队列中的各个优先级对应的子 队列均拥有所述工作线程组中的至少一个工作线程,且高优先级对应的子队列拥有的工作 线程的数量大于低优先级对应的子队列拥有的工作线程的数量。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括检测单元,用于检测所述接收单元接收到的消息的目的地址是否有对应的工作队列;建立单元,用于如所述消息的目的地址没有对应的工作队列,建立所述消息的目的地 址对应的工作队列,并为该建立的工作队列分配一个工作线程组。
10.根据权利要求6所述的装置,其特征在于,所述检测单元还用于检测消息接收的速 率是否大于消息输出的速率;所述装置还包括读存单元,用于在所述检测单元检测出消息接收的速率大于消息输出的速率,将接收 的消息缓存。
全文摘要
本发明提供了一种基于网关的消息发送方法及Parlay X网关,该方法及Parlay X网关属于网络通信领域,该方法包括Parlay X网关包括各个目的地址对应的工作队列,且每个工作队列均拥有其对应的工作线程组;所述方法具体包括Parlay X网关在接收到请求消息后,对该请求消息进行解析得到该消息的目的地址;Parlay X网关将该消息插入到该消息的目的地址对应的工作队列中;由Parlay X网关中该工作队列的工作线程组对该队列中的消息进行处理。本发明提供的方法及Parlay X网关具有先接收到的消息处理故障时,与前述消息属于相同类型但目的地址不同的后续消息处理不阻塞的优点。
文档编号H04W88/16GK102056097SQ200910236850
公开日2011年5月11日 申请日期2009年11月9日 优先权日2009年11月9日
发明者徐 明, 杨春 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1