多媒体消息中心及消息的下发方法

文档序号:7757713阅读:175来源:国知局
专利名称:多媒体消息中心及消息的下发方法
技术领域
本发明涉及通信领域,具体而言,涉及一种多媒体消息中心(Multimedia Messaging Service Center,简称为MMSC)及消息的下发方法。
背景技术
多媒体消息业务(Multimedia Messaging Service,简称为MMS)是一种能够在不 同的移动终端(例如,手机)之间、业务提供商和移动终端之间以及移动终端和Email服务 器等其他应用之间传送多媒体内容的消息服务。多媒体消息业务目前已经得到了广泛的开 展,尤其是业务提供商为手机用户提供的内容丰富、及时快捷的服务,丰富了用户的生活。图1为相关技术中多媒体消息业务中消息下发的流程图,如图1所示,包括以下步 骤步骤101 =MMSC业务模块产生下发消息,将下发消息发送给MMSC编解码模块;其中,匪SC业务模块是匪SC处理业务流程的模块,不同环节产生不同消息,在通 告下发环节产生通告消息,如果在向移动终端下发消息的最终状态的获取环节则产生用户 投递报告消息;其中,上述下发消息包括通告消息和用户投递报告,这两种消息都是短信,由短信 中心(Short Message Service Center,简称为 SMSC)发送到移动终端(UA);其中,匪SC编解码模块用于将收到的内部消息按SMPP协议进行编码后下发给 SMSC,以及用于在收到SMSC的响应后按SMPP协议进行解码,转换为内部消息;步骤102 :MMSC编解码模块收到业务模块下发的消息按SMPP协议进行编码后下发 给SMSC,下发给SMSC的消息为submit_sm ;步骤103 =SMSC 收到 MMSC 的 submit_sm 消息,向 MMSC 返回响应 sumit_sm_resp, MMSC编解码模块收到SMSC返回的响应消息后,按SMPP协议进行解码后转换成MMSC内部消 息;步骤104,SMSC向用户下发短信内容。步骤103和步骤104可同时进行。相关技术中,这种消息下发过程是反复执行的,MMSC编解码模块收到业务下发消 息后立即编码并下发。对于某些业务(例如,手机报业务,SP群发平台)而言,其目的地址 的个数多,发送时间长,当业务收到的提交消息产生瞬间高峰时,不可避免的会对SMSC造 成瞬间冲击,造成SMSC短时间内流量超过处理能力,从而导致消息无法正常处理。

发明内容
本发明的主要目的在于提供一种多媒体消息中心及消息的下发方法,以解决上述 问题。本发明的一个方面提供了一种匪SC,包括业务模块、编解码模块和缓存处理模 块,其中,业务模块,用于将待发送消息下发至缓存处理模块;缓存处理模块,用于缓存待发
4送消息,并按照SMSC能够处理的速率向编解码模块下发自身缓存的待发送消息;编解码模 块,用于对从缓存处理模块接收到的待发送消息进行编码,将编码后的待发送消息下发至 SMSC。进一步地,缓存处理模块通过在一个调度周期内下发数量为发送阈值的待发送消 息的方式来控制消息下发的速率,其中,SMSC能够处理的速率=发送阈值/调度周期。进一步地,缓存处理模块通过定时器消息来控制每个调度周期的开始,其中,定时 器消息在每个调度周期开始的时刻被触发。进一步地,缓存处理模块包括接收模块,用于接收来自业务模块的待发送消息; 判断模块,用于判断当前的下发速率是否达到SMSC能够处理的速率;调度模块,用于在判 断模块的判断结果为是的情况下,调度缓存处理模块和第一下发模块,在判断模块的判断 结果为否的情况下,调度第二下发模块;缓存处理模块,用于缓存接收模块接收的待发送消 息;第一下发模块,用于按照SMSC能够处理的速率向编解码模块下发缓存处理模块缓存的 待发送消息;第二下发模块,用于直接将未缓存的待发送消息下发至编解码模块。进一步地,调度模块还用于在缓存处理模块缓存失败的情况下,调度第二下发模 块;第二下发模块还用于向编解码模块下发缓存失败的待发送消息。本发明的另一个方面提供了一种消息的下发方法,包括匪SC生成待发送消息; 匪SC缓存待发送消息,并按照SMSC能够处理的速率从缓存的待发送消息中选择待发送消 息;MMSC对选择的待发送消息进行编码,将编码后的待发送消息下发至SMSC。进一步地,MMSC通过在一个调度周期内选择出数量为发送阈值的待发送消息的方 式来控制消息下发的速率,其中,SMSC能够处理的速率=发送阈值/调度周期。进一步地,MMSC通过定时器消息来控制调度周期的开始,其中,定时器消息在每个 调度周期开始的时刻被触发。进一步地,在匪SC缓存待发送消息之前,还包括判断当前的下发速率是否达到 SMSC能够处理的速率,若是,则继续后续处理;否则,直接对未缓存的待发送消息进行编 码,将编码后的待发送消息下发至SMSC。进一步地,在缓存待发送消息缓存失败的情况下,直接对缓存失败的待发送消息 进行编码,将编码后的待发送消息下发至SMSC。本发明通过在匪SC的业务模块和编解码模块之间增设缓存处理模块,该模块将 待发送消息按照SMSC能够处理的速度下发至编解码模块,解决了相关技术中SMSC短时间 内流量超过处理能力,从而导致消息无法正常处理的问题,避免了多媒体消息中心业务浪 涌时对短信中心造成瞬间冲击,既可以降低对短信中心性能要求,又可以提高业务成功率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为相关技术中多媒体消息业务中消息下发的流程图;图2是根据本发明实施例的匪SC的结构框图;图3是根据本发明实施例的匪SC的优选结构框图;图4是根据本发明实施例的消息的下发方法的流程图5是根据实施例1的匪SC下发消息的方法流程图;图6是根据实施例2的缓存处理模块的整体处理流程图;图7是根据实施例2的业务下发消息的处理流程图;图8是根据实施例2的定时消息处理流程的流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。本实施例提供了 一种^SC,图2是根据本发明实施例的匪SC的结构框图,该匪SC 包括业务模块22、编解码模块26和缓存处理模块24,其中,业务模块22,用于将待发送消息(待发送消息可以为通告消息或用户投递报告) 下发至缓存处理模块24 ;缓存处理模块24,用于缓存待发送消息,并按照SMSC能够处理的速率向编解码模 块26下发自身缓存的待发送消息;编解码模块26,用于对从缓存处理模块24接收到的待发送消息进行编码,将编码 后的待发送消息下发至SMSC。本实施例中的MMSC,通过增加缓存处理模块24对业务模块22的待发送消息进行 缓存,并按照SMSC能够处理的速率将待发送消息发送至编解码模块26进行编码,改变了相 关技术中业务模块22产生待发送消息即送入编解码模块26进行编码继而发送至SMSC的 方式,对待发送消息的下发进行了限流,解决了相关技术中SMSC短时间内流量超过处理能 力,从而导致消息无法正常处理的问题,避免了多媒体消息中心业务浪涌时对短信中心造 成瞬间冲击,既可以降低对短信中心性能要求,又可以提高业务成功率。需要说明的是,以上的SMSC能够处理的速率,可以是固定的速率,也可以是变化 的速率,其中,固定的速率可以是根据系统的实际运行情况预设的取值;变化的速率可以是 随时间段变化,或是随着MMSC当前的处理能力动态变化等等,具体的变化策略可以预先配 置。在消息下发速率随着匪SC当前的处理能力动态变化的情况下,匪SC可以实时或 定时通过获取SMSC当前的处理能力信息,再根据该信息确定当前的消息下发速率,也可以 是SMSC在自身的处理能力信息变化时反馈给MMSC,MMSC再根据该信息确定当前的消息下 发速率。对于下发速率的控制,为了简便起见,缓存处理模块24可以通过在一个调度周期 内下发数量为发送阈值的待发送消息的方式来控制消息下发的速率,其中,SMSC能够处理 的速率=发送阈值/调度周期。通过这种方式处理非常方便,且通过选择不同的调度周期, 能够对速率控制的精度进行调整,调度周期选取越小,速率控制的精度越高,消息下发的速 率越平滑。缓存处理模块24进行速率控制的过程中,可以随时扫描当前时间,以便检查当前 的调度周期是否已结束,是否应当开始新的调度周期,这种方式的实现比较直接,但可能对 缓存处理模块的资源耗费较多,因此,为了便于缓存处理模块24的处理,缓存处理模块24 可以通过定时器消息来控制调度周期的开始,其中,定时器消息在每个调度周期开始的时刻被触发。采用这样的处理方式,缓存处理模块24就可以在接收到该定时器消息时,重新 开始一个调度周期,而无需通过随时扫描的方式确定是否应重新开始一个调度周期,占用 的系统资源较小,且便于管理。图3是根据本发明实施例的MMSC的优选结构框图,如图3所示,缓存处理模块24 可以包括接收模块30,用于接收来自业务模块22的待发送消息;判断模块31,耦合至接收模块30,用于判断当前的下发速率是否达到SMSC能够处 理的速率;调度模块32,耦合至判断模块31,用于在判断模块31的判断结果为是的情况下, 调度缓存处理模块33和第一下发模块34,在判断模块31的判断结果为否的情况下,调度第 二下发模块35 ;缓存处理模块33,耦合至业务模块22和调度模块32,用于缓存接收模块30接收 的待发送消息;第一下发模块34,耦合至缓存处理模块33,用于按照SMSC能够处理的速率向编解 码模块26下发缓存处理模块33缓存的待发送消息;第二下发模块35,耦合至业务模块22和调度模块32,用于直接将未缓存的待发送 消息下发至编解码模块26。通过以上判断模块31的判断,在当前的速率尚未达到SMSC能够处理的速率的情 况下,则直接将接收模块30接收到的待发送消息通过第二下发模块35发送至编解码模块 26,减少了缓存的环节,从而提高了系统的处理性能。优选地,调度模块32还用于在缓存处理模块33缓存失败的情况下,调度第二下发 模块35 ;第二下发模块35还用于向编解码模块26下发缓存失败的待发送消息。通过给调 度模块32增加一个错误处理的分支,在缓存处理模块33缓存失败的情况下,直接将缓存失 败的待发送消息通过第二下发模块35发送给编解码模块26,防止了因缓存失败而导致的 消息丢失,提高了系统的稳定性。图4是根据本发明实施例的消息的下发方法的流程图,该方法包括步骤S402,匪SC生成待发送消息;步骤S404,MMSC缓存待发送消息,并按照SMSC能够处理的速率从缓存的待发送消 息中选择待发送消息;步骤S406,MMSC对选择出来的待发送消息进行编码,将编码后的待发送消息下发 至 SMSC。该方法对待发送消息的下发进行了限流,解决了相关技术中SMSC短时间内流量 超过处理能力,从而导致消息无法正常处理的问题,避免了多媒体消息中心业务浪涌时对 短信中心造成瞬间冲击,既可以降低对短信中心性能要求,又可以提高业务成功率。优选地,MMSC可以通过在一个调度周期内选择出数量为发送阈值的待发送消息的 方式来控制消息下发的速率,其中,SMSC能够处理的速率=发送阈值/调度周期。通过这 种方式处理非常方便,且通过选择不同的调度周期,能够对速率控制的精度进行调整,调度 周期选取越小,速率控制的精度越高,消息下发的速率越平滑。优选地,MMSC通过定时器消息来控制调度周期的开始,其中,定时器消息在每个调度周期开始的时刻被触发。采用这样的处理方式,就可以在接收到该定时器消息时,重新开 始一个调度周期,而无需通过随时扫描的方式确定是否应重新开始一个调度周期,占用的 系统资源较小,且便于管理。优选地,在匪SC缓存待发送消息之前,还包括判断当前的下发速率是否达到 SMSC能够处理的速率,若是,则继续后续处理;否则,直接对未缓存的待发送消息进行编 码,将编码后的待发送消息下发至SMSC。该方法在当前的速率尚未达到SMSC能够处理的速 率的情况下,则不进行缓存,直接对待发送消息进行编码,减少了缓存的环节,从而提高了 系统的处理性能。优选地,在缓存待发送消息缓存失败的情况下,直接对缓存失败的待发送消息进 行编码,将编码后的待发送消息下发至SMSC。该处理方式防止了因缓存失败而导致的消息 丢失,提高了系统的稳定性。以上提供的方案使匪SC下发到匪SC的消息以平滑的速率进行,避免对SMSC的瞬 间冲击,既可以降低对短信中心性能要求,又可以提高业务成功率,保障运营商的利益。下面描述的实施例1-2以调度周期取秒的情况为例对以上的方案进行了说明,实 施例1-2综合了上述多个优选实施例的技术方案。实施例1图5是根据实施例1的MMSC下发消息的方法流程图,该方法包括以下步骤步骤501 =MMSC业务模块产生下发消息,将下发消息发送给MMSC缓存处理模块;步骤502:匪SC缓存处理模块收到业务模块的下发消息,则申请缓存空间并缓存 该消息,或直接发送给编解码模块;步骤503 =MMSC缓存处理模块控制每秒一定数目的速率下发消息到MMSC编解码模 块;步骤504 匪SC编解码模块收到下发消息,按SMPP协议进行编码后下发给SMSC, 下发给SMSC的消息为submit_sm ;步骤505 =SMSC 收到 MMSC 的 submit_sm 消息,向 MMSC 返回响应 sumit_sm_resp, 并向用户下发短信内容;MMSC编解码模块收到SMSC返回的响应消息按SMPP协议进行解码后转换成MMSC 内部消息。可以看出,通过在MMSC业务模块和MMSC编解码模块之间增加缓存处理模块,业务 模块的下发消息直接发送给缓存处理模块,缓存处理模块收到下发消息后进行缓存,并按 每秒固定数目的消息下发给编解码模块,编解码模块进行编码后下发给SMSC。这样,MMSC 下发给SMSC的消息,在以秒为单位的时间上,始终处于平滑状态,既可以降低对短信中心 性能要求,又可以提高业务成功率,保障运营商的利益。实施例2在该方案中,缓存处理模块的处理是重要的一环,该实施例详细描述了缓存处理 模块的逻辑处理流程,图6是根据实施例2的缓存处理模块的整体处理流程图,包括以下步 骤步骤S601 =MMSC缓存处理模块开始启动;步骤S602 匪SC缓存处理模块申请缓存空间,初始化空闲队列和已使用队列,设定秒定时器等;步骤S603 匪SC缓存处理模块收到处理消息,处理消息包括业务的下发消息和秒 定时器消息,其中,业务的下发消息是业务模块下发的,秒定时器消息是匪SC模块自身发 出的,用于每秒的重置;步骤S604:匪SC缓存处理模块判断收到的是否为业务下发消息,如果是,执行步 骤S605,如果不是,执行步骤S606 ;步骤S605 收到消息为业务下发消息则进入业务下发消息处理流程;步骤S606 如果缓存处理模块收到的消息不是业务下发消息则判断是否为秒定 时器消息,如果是,执行步骤S607,否则返回;步骤S607 如果收到的消息为秒定时器消息则进入定时消息处理流程。图7是根据实施例2的业务下发消息的处理流程图,如图7所示,步骤S605业务 下发消息处理流程可包括以下步骤步骤S701 收到业务下发消息,首先判断本秒内已经发送的条数,是否小于系统 设定的允许发送的最大条数;判断结果为真,则表示可以继续发送,则执行步骤S702 ;判断 结果为假,则表示本秒内允许发送的配额已经用完,不能继续发送,需进行缓存,则执行步 骤 S704 ;步骤S702 将业务下发消息发送给编解码模块进行编码;步骤S703 本秒内已经发送的条数加1,返回;步骤S704:判断缓存的空闲队列是否尚有空闲节点,如果有空闲节点,表示可以 缓存,则执行步骤S705 ;如果没有空闲节点,说明缓存已经占满,此时不再缓存消息消息, 执行步骤S706 ;步骤S705 取空闲队列的空闲节点,缓存业务下发消息,将其插入已使用队列,返 回;步骤S706 此步骤为缓存队列的异常处理机制,将业务下发消息发送给编解码模 块进行编码,返回。图8是根据实施例2的定时消息处理流程的流程图,如图8所述,步骤S607定时 消息处理流程可包括以下步骤步骤S801 收到秒定时消息,表示开始新的一秒,首先将本秒中已发送条数清零;步骤S802 判断本秒内已经发送的条数,是否小于系统设定的允许发送的最大条 数(对于调度周期为秒的情况,该最大条数与最大允许的速率相同);判断结果为真,则表 示可以继续发送,则执行步骤S803 ;判断结果为假,则表示本秒内允许发送的配额已经用 完,不能继续发送,返回;步骤S803 取已使用队列节点,将缓存的业务下发消息取出发送给编解码模块进 行编码,同时,将该节点插入空闲队列;步骤S804 本秒内已经发送的条数加1,跳转到步骤S802执行。综上所述,本发明实施例提供的方案与原有流程相比,在MMSC开辟下发消息缓存 空间,暂时缓存业务下发的消息,然后以平滑的速率下发至SMSC,避免多媒体消息中心业务 浪涌时对短信中心造成瞬间冲击,既可以降低对短信中心性能要求,又可以提高业务成功 率,保障运营商的利益。
9
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种多媒体消息中心MMSC,其特征在于,包括业务模块、编解码模块和缓存处理模块,其中,所述业务模块,用于将待发送消息下发至缓存处理模块;所述缓存处理模块,用于缓存所述待发送消息,并按照短信中心SMSC能够处理的速率向所述编解码模块下发自身缓存的待发送消息;所述编解码模块,用于对从所述缓存处理模块接收到的待发送消息进行编码,将编码后的待发送消息下发至所述SMSC。
2.根据权利要求1所述的MMSC,其特征在于,所述缓存处理模块通过在一个调度周期 内下发数量为发送阈值的待发送消息的方式来控制消息下发的速率,其中,所述SMSC能够 处理的速率=所述发送阈值/所述调度周期。
3.根据权利要求2所述的MMSC,其特征在于,所述缓存处理模块通过定时器消息来控 制每个调度周期的开始,其中,所述定时器消息在每个调度周期开始的时刻被触发。
4.根据权利要求1所述的MMSC,其特征在于,所述缓存处理模块包括 接收模块,用于接收来自所述业务模块的待发送消息;判断模块,用于判断当前的下发速率是否达到所述SMSC能够处理的速率; 调度模块,用于在所述判断模块的判断结果为是的情况下,调度缓存处理模块和第一 下发模块,在所述判断模块的判断结果为否的情况下,调度第二下发模块; 所述缓存处理模块,用于缓存所述接收模块接收的待发送消息; 第一下发模块,用于按照所述SMSC能够处理的速率向所述编解码模块下发所述缓存 处理模块缓存的待发送消息;所述第二下发模块,用于直接将未缓存的待发送消息下发至所述编解码模块。
5.根据权利要求4所述的MMSC,其特征在于,所述调度模块还用于在所述缓存处理模块缓存失败的情况下,调度所述第二下发模块;所述第二下发模块还用于向所述编解码模块下发所述缓存失败的待发送消息。
6.一种消息的下发方法,其特征在于,包括 匪SC生成待发送消息;所述MMSC缓存所述待发送消息,并按照SMSC能够处理的速率从所述缓存的待发送消 息中选择待发送消息;所述匪SC对所述选择的待发送消息进行编码,将编码后的待发送消息下发至所述 SMSC。
7.根据权利要求6所述的方法,其特征在于,所述MMSC通过在一个调度周期内选择出 数量为发送阈值的待发送消息的方式来控制消息下发的速率,其中,所述SMSC能够处理的 速率=所述发送阈值/所述调度周期。
8.根据权利要求7所述的方法,其特征在于,所述MMSC通过定时器消息来控制所述调 度周期的开始,其中,所述定时器消息在每个调度周期开始的时刻被触发。
9.根据权利要求6所述的方法,其特征在于,在所述MMSC缓存所述待发送消息之前,还 包括判断当前的下发速率是否达到所述SMSC能够处理的速率,若是,则继续后续处理;否则,直接对未缓存的待发送消息进行编码,将编码后的待发送消息下发至SMSC。
10.根据权利要求9所述的方法,其特征在于,在缓存所述待发送消息缓存失败的情况 下,直接对缓存失败的待发送消息进行编码,将编码后的待发送消息下发至SMSC。
全文摘要
本发明公开了多媒体消息中心及消息的下发方法,该多媒体消息中心包括业务模块、编解码模块和缓存处理模块,其中,业务模块,用于将待发送消息下发至缓存处理模块;缓存处理模块,用于缓存待发送消息,并按照SMSC能够处理的速率向编解码模块下发自身缓存的待发送消息;编解码模块,用于对从缓存处理模块接收到的待发送消息进行编码,将编码后的待发送消息下发至SMSC。本发明既可以降低对短信中心性能要求,又可以提高业务成功率。
文档编号H04W4/12GK101917681SQ20101026108
公开日2010年12月15日 申请日期2010年8月23日 优先权日2010年8月23日
发明者曹俊勇, 章巍 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1