消息发送方法及装置制造方法

文档序号:7985141阅读:475来源:国知局
消息发送方法及装置制造方法
【专利摘要】本发明公开了一种消息发送方法及装置。其中,该方法包括:至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;在上述当前周期的下一个周期内对缓存的推送消息进行发送。通过本发明,解决了相关技术中PUSH消息的发送效率较低的问题,从而能够将TPS稳定下发,在TPS比较高的情况下可以缓存消息,在TPS低时再发送。保证了PPG和短信中心之间的数据传递能够平稳的传送,防止流量过大导致数据丢失,提高了用户感受度。
【专利说明】消息发送方法及装置
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种消息发送方法及装置。
【背景技术】
[0002]随着移动通信技术的发展,使用无线应用协议(Wireless ApplicationProtocol,简称为WAP)的终端日益普遍。服务信息或推入信息(WAP PUSH)技术是一种基于客户服务器机制、由服务器主动将信息发往客户端的技术,其传送的信息通常是用户事先预订的。
[0003]代理网关(PUSH proxy gateway,简称为PPG)是用于发送推送消息给短信中心的代理。TPS (Transaction Per Second)是每秒事务处理量,是一种性能测试的术语,用于表示每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。PPG发送PUSH消息的能力和短信中心的处理能力经常是有差别的,即PPG和短信中心各自能够处理的最大TPS不同。为了保证PPG和短信中心之间的数据传递能够平稳的进行,防止流量过大导致数据丢失,在PPG下发PUSH消息给短信中心时进行了流量控制。
[0004]传统的流量控制方法一般是设定某个TPS阈值,只允许不超过该TPS的数据传输,超过TPS的数据被丢弃。这种流量控制比较粗暴,丢弃的数据不再发给用户,服务的感受性比较差。改进一些的流量控制方法,一般将所有的请求都放置到缓存中,按照设定的TPS发送,但此时需要控制上游的数据传送速度,并且将所有请求都放置到缓存中的方式,使得PUSH消息的发送效率较低。
[0005]针对相关技术中I3USH消息的发送效率较低的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]针对相关技术中TOSH消息的发送效率较低的问题,本发明提供了一种消息发送方法及装置,以至少解决上述问题。
[0007]根据本发明的一个方面,提供了一种消息发送方法,该方法包括:至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;在上述当前周期的下一个周期内对缓存的推送消息进行发送。
[0008]如果在上述当前周期内将上一周期缓存的推送消息发送完毕,并且在上述当前周期内已发送的推送消息的流量值小于上述流量门限值,则在当前周期内向上述短信中心发送当前周期内获得的推送消息;否则,缓存上述当前周期内获得的推送消息。
[0009]对需要缓存的推送消息进行缓存包括:对于上述需要缓存的推送消息缓存在缓存消息队列的最后。
[0010]上述方法还包括:接收上述短信中心发送的响应,其中,上述响应用于指示以下至少之一:用于指示调整上述流量门限值、用于指示忽略上述流量门限值向上述短信中心发送推送消息、用于指示停止向上述短信中心发送推送消息。
[0011]如果上述响应用于指示调整上述流量门限值,接收上述短信中心发送的响应之后,上述方法还包括:根据上述响应对上述流量门限值进行调整。
[0012]根据上述响应对上述流量门限值进行调整包括:计算上述当前周期内预发送上述推送消息的流量值;判断上述当前周期的上一个周期内已发送的上述推送消息的流量值是否小于最小流量门限值;如果是,比较上述上一个周期内剩余流量值与上述当前周期内预发送流量值的大小,确定上述上一个周期内剩余流量值与上述当前周期内预发送量值中的最大值;比较上述最大值与上述最小流量门限值的大小,确定上述最大值与上述最小流量门限值中的最小值,为上述当前周期内允许的流量门限值;如果否,比较上述当前周期内预发送流量值与上述最小流量门限值的大小,确定上述当前周期内预发送流量值与上述最小流量门限值中的最小值,为上述当前周期内允许的流量门限值。
[0013]上述周期可以为I秒。
[0014]根据本发明的另一方面,提供了一种消息发送装置,该装置包括:缓存确定模块,用于至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存;缓存模块,用于在上述缓存确定模块确定需要缓存的情况下,对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;发送模块,用于在上述当前周期的下一个周期内对缓存的推送消息进行发送。
[0015]如果在上述当前周期内将上一周期缓存的推送消息发送完毕,并且在上述当前周期内已发送的推送消息的流量值小于上述流量门限值,则在当前周期内向上述短信中心发送当前周期内获得的推送消息;否则,缓存上述当前周期内获得的推送消息。
[0016]上述缓存模块包括:缓存单元,用于对于上述需要缓存的推送消息缓存在缓存消息队列的最后。
[0017]上述装置还包括:响应接收模块,用于接收上述短信中心发送的响应,其中,上述响应用于指示以下至少之一:用于指示调整上述流量门限值、用于指示忽略上述流量门限值向上述短信中心发送推送消息、用于指示停止向上述短信中心发送推送消息。
[0018]如果上述响应用于指示调整上述流量门限值,接收上述短信中心发送的响应之后,上述装置还包括:调整模块,用于根据上述响应对上述流量门限值进行调整。
[0019]上述调整模块包括:计算单元,用于计算上述当前周期内预发送上述推送消息的流量值;判断单元,用于判断上述当前周期的上一个周期内已发送的上述推送消息的流量值是否小于最小流量门限值;第一确定单元,用于在上述判断单元的判断结果为是的情况下,比较上述上一个周期内剩余流量值与上述当前周期内预发送流量值的大小,确定上述上一个周期内剩余流量值与上述当前周期内预发送量值中的最大值;比较上述最大值与上述最小流量门限值的大小,确定上述最大值与上述最小流量门限值中的最小值,为上述当前周期内允许的流量门限值;第二确定单元,用于在上述判断单元的判断结果为否的情况下,比较上述当前周期内预发送流量值与上述最小流量门限值的大小,确定上述当前周期内预发送流量值与上述最小流量门限值中的最小值,为上述当前周期内允许的流量门限值。
[0020]通过本发明,至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;在上述当前周期的下一个周期内对缓存的推送消息进行发送,解决了相关技术中PUSH消息的发送效率较低的问题,从而能够将TPS稳定下发,在TPS比较高的情况下可以缓存消息,在TPS低时再发送。保证了 PPG和短信中心之间的数据传递能够平稳的传送,防止流量过大导致数据丢失,提高了用户感受度。
【专利附图】

【附图说明】
[0021]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0022]图1是根据本发明实施例的消息发送方法的流程图;
[0023]图2是根据本发明实施例的消息发送装置的结构框图;
[0024]图3是根据本发明实施例的消息发送装置的第一种具体结构框图;
[0025]图4是根据本发明实施例的消息发送装置的第二种具体结构框图;
[0026]图5是根据本发明实施例的基于窗口的流量控制系统的结构示意图;
[0027]图6是根据本发明实施例的流量控制方法的流程图;
[0028]图7是根据本发明实施例的缓存流量控制线程的秒循环控制的流程图。
【具体实施方式】
[0029]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0030]相关技术中PPG和短信中心各自能够处理的最大TPS不同,为了保证PPG和短信中心之间的数据传递能够平稳的传送,防止流量过大导致数据丢失,本发明实施例提供了一种消息发送方法及装置,下面通过具体实施例进行详细说明。
[0031]本实施例提供了一种消息发送方法,该方法一般能够在PPG侧实现。图1是根据本发明实施例的消息发送方法的流程图,如图1所示,该方法包括以下步骤(步骤S102-步骤 S104):
[0032]步骤S102,至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;
[0033]步骤S104,在上述当前周期的下一个周期内对缓存的推送消息进行发送。
[0034]通过上述方法,PPG至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;在上述当前周期的下一个周期内PPG对缓存的推送消息进行发送,解决了相关技术中I3USH消息的发送效率较低的问题,从而能够将TPS稳定下发,在TPS比较高的情况下可以缓存消息,在TPS低时再发送。保证了 PPG和短信中心之间的数据传递能够平稳的传送,防止流量过大导致数据丢失,提高了用户感受度。
[0035]在本实施例的优选实施方式中,如果在当前周期内将上一周期缓存的推送消息发送完毕,并且在当前周期内已发送的推送消息的流量值小于流量门限值,则在当前周期内向短信中心发送当前周期内获得的推送消息;否则,缓存当前周期内获得的推送消息。
[0036]在本实施例中,对推送消息进行缓存采用的是先进先出的方式,因此本实施例提供了一种优选实施方式,即对于需要缓存的推送消息缓存在缓存消息队列的最后。这样在PPG对于缓存的推送消息进行发送时,先发送位于缓存消息队列最前面的推送消息,通过该方式,首先不需要将当前周期未能发送的推送消息抛弃,避免了数据丢失;其次保证了推送消息的发送秩序,提闻用户的感受:。
[0037]在本实施例的优选实施方式中,上述消息发送方法还包括:接收短信中心发送的响应,其中,该响应用于指示以下至少之一:用于指示调整流量门限值、用于指示忽略流量门限值向短信中心发送推送消息、用于指示停止向短信中心发送推送消息。在短信中心有足够的流量可以接收推送消息的情况下,短信中心可以向PPG发送响应,指示PPG可以忽略流量门限值向短信中心发送推送消息;在短信中心已没有流量可以接收推送消息的情况下,短信中心可以向PPG发送响应,指示PPG停止向短信中心发送推送消息。通过上述优选实施方式,PPG和短信中心可以根据实际情况通过响应调整流量门限值,或者调整推送消息的发送方式等,提高了推送消息的发送成功率,避免了数据浪费,提高了用户的感受。
[0038]如果上述响应用于指示调整流量门限值,PPG接收短信中心发送的响应之后,根据上述响应对上述流量门限值进行调整。具体的调整方式可以通过以下优选实施方式实现:
[0039]首先,PPG计算当前周期内预发送推送消息的流量值;
[0040]然后,PPG判断当前周期的上一个周期内已发送的推送消息的流量值是否小于最小流量门限值;
[0041]如果是,比较上一个周期内剩余流量值与当前周期内预发送流量值的大小,确定上一个周期内剩余流量值与当前周期内预发送量值中的最大值;比较该最大值与最小流量门限值的大小,确定最大值与最小流量门限值中的最小值,为当前周期内允许的流量门限值;
[0042]如果否,比较当前周期内预发送流量值与最小流量门限值的大小,确定当前周期内预发送流量值与最小流量门限值中的最小值,为当前周期内允许的流量门限值。
[0043]在本实施例中,对于上述当前周期、上一个周期或者下一个周期而言,周期时间一般为I秒。
[0044]对应于上述实施例中介绍的消息发送方法,本实施例提供了一种消息发送装置,该装置一般可设置在PPG侧,用于实现上述实施例。图2是根据本发明实施例的消息发送装置的结构框图,如图2所示,该装置包括:缓存确定模块10、缓存模块20和发送模块30。下面对该结构进行具体介绍。
[0045]缓存确定模块10,用于至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存;
[0046]缓存模块20,连接至缓存确定模块10,用于在上述缓存确定模块10确定需要缓存的情况下,对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式;
[0047]发送模块30,连接至缓存模块20,用于在上述当前周期的下一个周期内对缓存的推送消息进行发送。
[0048]通过上述装置,缓存确定模块10至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,然后缓存模块20对需要缓存的推送消息进行缓存,其中,上述缓存采用先进先出的方式,发送模块30在上述当前周期的下一个周期内PPG对缓存的推送消息进行发送,解决了相关技术中PUSH消息的发送效率较低的问题,从而能够将TPS稳定下发,在TPS比较高的情况下可以缓存消息,在TPS低时再发送。保证了PPG和短信中心之间的数据传递能够平稳的传送,防止流量过大导致数据丢失,提高了用户感受度。
[0049]在本实施例的优选实施方式中,如果在当前周期内将上一周期缓存的推送消息发送完毕,并且在当前周期内已发送的推送消息的流量值小于流量门限值,则在当前周期内向短信中心发送当前周期内获得的推送消息;否则,缓存当前周期内获得的推送消息。
[0050]在本实施例中,对推送消息进行缓存采用的是先进先出的方式,因此本实施例提供了一种优选实施方式,即上述缓存模块20包括:缓存单元,用于对于上述需要缓存的推送消息缓存在缓存消息队列的最后。这样在PPG对于缓存的推送消息进行发送时,先发送位于缓存消息队列最前面的推送消息,通过该方式,首先不需要将当前周期未能发送的推送消息抛弃,避免了数据丢失;其次保证了推送消息的发送秩序,提高用户的感受。
[0051]图3是根据本发明实施例的消息发送装置的第一种具体结构框图,如图3所示,该装置除了包括图2中所示的各个模块之外,还包括:响应接收模块40,连接至发送模块30,用于接收上述短信中心发送的响应,其中,上述响应用于指示以下至少之一:用于指示调整上述流量门限值、用于指示忽略上述流量门限值向上述短信中心发送推送消息、用于指示停止向上述短信中心发送推送消息。在短信中心有足够的流量可以接收推送消息的情况下,短信中心可以向PPG发送响应,指示PPG可以忽略流量门限值向短信中心发送推送消息;在短信中心已没有流量可以接收推送消息的情况下,短信中心可以向PPG发送响应,指示PPG停止向短信中心发送推送消息。通过上述优选实施方式,PPG和短信中心可以根据实际情况通过响应调整流量门限值,或者调整推送消息的发送方式等,提高了推送消息的发送成功率,避免了数据浪费,提高了用户的感受。
[0052]图4是根据本发明实施例的消息发送装置的第二种具体结构框图,如图4所示,如果上述响应用于指示调整上述流量门限值,接收上述短信中心发送的响应之后,该装置除了包括图2中所示的各个模块之外,还包括:调整模块50,连接至响应接收模块40,用于根据上述响应对上述流量门限值进行调整。
[0053]针对调整模块对流量门限值的具体调整方式,本实施例提供了一种优选实施方式,即上述调整模块50包括:计算单元,用于计算当前周期内预发送推送消息的流量值;判断单元,用于判断当前周期的上一个周期内已发送的推送消息的流量值是否小于最小流量门限值;第一确定单元,用于在上述判断单元的判断结果为是的情况下,比较上一个周期内剩余流量值与当前周期内预发送流量值的大小,确定上一个周期内剩余流量值与当前周期内预发送量值中的最大值;比较最大值与最小流量门限值的大小,确定最大值与最小流量门限值中的最小值,为当前周期内允许的流量门限值;第二确定单元,用于在上述判断单元的判断结果为否的情况下,比较当前周期内预发送流量值与最小流量门限值的大小,确定当前周期内预发送流量值与最小流量门限值中的最小值,为当前周期内允许的流量门限值。
[0054]在本实施例中,对于上述当前周期、上一个周期或者下一个周期而言,周期时间一般为I秒。
[0055]下面对于基于窗口的流量控制系统进行介绍,图5是根据本发明实施例的基于窗口的流量控制系统的结构示意图,如图5所示,该系统包括:推送发起模块、PPG模块、短信中心和终端。下面分别对上述基于窗口的流量控制系统的各个组成部分进行介绍。
[0056]推送发起模块,用于发送推送消息。
[0057]PPG模块,其功能与上述实施例介绍的消息发送装置的功能相当,PPG模块包括:PUSH消息编解码线程,缓存流量控制线程以及SMPP发送线程。
[0058]其中,TOSH消息编解码线程,用于接收和解析推送消息,得到推送消息内容,按照承载网络类型,对相对应的推送内容进行承载网络类型的编码。
[0059]缓存流量控制(CACHE)线程,其功能与上述实施例中的调整模块50的功能相当,用于根据事先设定的TPS窗口对PUSH消息的下发进行流量控制。用于接收PUSH消息编解码线程处理完后待发送的PUSH消息。并且,在收到消息后,判断是否有空闲的TPS可以发送、并且缓存消息队列中没有数据、本秒(相当于上述实施例中的当前周期)内已经发送的TPS低于最大TPS门限值,同时满足上述要求则发送TOSH消息,否则,保存到缓存消息队列的最后。并且,本线程自启动时就设置一个秒定时器,每秒定时器到达时,计算本秒一开始可以发送多少个TPS ;若上一秒已经发送TPS小于最小TPS门限值,先取空闲可发TPS和上秒剩余TPS的最大值,取的值再和最小TPS的门限值比较,取小值;若上一秒已经发送的TPS大于最小门限值,则取最小门限值和可发送的TPS的小值;从缓存消息队列的开头取计算出的TPS进行发送。
[0060]缓存流量控制线程收到短信中心的响应,判断缓存队列中是否有缓存消息,并且当前秒发送的TPS还没有超过最大TPS门限值,则直接从缓存队列的开头取消息进行发送。在知悉短信中心的TPS门限值以后,可以有效地控制下发的TPS值。并且TOSH消息下发进程有峰谷时,在推送发起模块下发TPS比较高时,将消息放置到缓存中,在TPS降低的时候再下发。
[0061]缓存流量控制线程实施后的TPS控制结果如表1所示。
[0062]表1
【权利要求】
1.一种消息发送方法,其特征在于,包括: 至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存,并对需要缓存的推送消息进行缓存,其中,所述缓存采用先进先出的方式; 在所述当前周期的下一个周期内对缓存的推送消息进行发送。
2.根据权利要求1所述的方法,其特征在于,如果在所述当前周期内将上一周期缓存的推送消息发送完毕,并且在所述当前周期内已发送的推送消息的流量值小于所述流量门限值,则在当前周期内向所述短信中心发送当前周期内获得的推送消息;否则,缓存所述当前周期内获得的推送消息。
3.根据权利要求1或2所述的方法,其特征在于,对需要缓存的推送消息进行缓存包括: 对于所述需要缓存的推送消息缓存在缓存消息队列的最后。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括: 接收所述短信中心发送的响应,其中,所述响应用于指示以下至少之一:用于指示调整所述流量门限值、用于指示忽略所述流量门限值向所述短信中心发送推送消息、用于指示停止向所述短信中心发送推送消息。
5.根据权利要求4所述的方法,其特征在于,如果所述响应用于指示调整所述流量门限值,接收所述短信中心发 送的响应之后,所述方法还包括: 根据所述响应对所述流量门限值进行调整。
6.根据权利要求5所述的方法,其特征在于,根据所述响应对所述流量门限值进行调整包括: 计算所述当前周期内预发送所述推送消息的流量值; 判断所述当前周期的上一个周期内已发送的所述推送消息的流量值是否小于最小流量门限值; 如果是,比较所述上一个周期内剩余流量值与所述当前周期内预发送流量值的大小,确定所述上一个周期内剩余流量值与所述当前周期内预发送量值中的最大值;比较所述最大值与所述最小流量门限值的大小,确定所述最大值与所述最小流量门限值中的最小值,为所述当前周期内允许的流量门限值; 如果否,比较所述当前周期内预发送流量值与所述最小流量门限值的大小,确定所述当前周期内预发送流量值与所述最小流量门限值中的最小值,为所述当前周期内允许的流量门限值。
7.根据权利要求1、2或6中任一项所述的方法,其特征在于,所述周期为I秒。
8.一种消息发送装置,其特征在于,包括: 缓存确定模块,用于至少根据流量门限值,确定在当前周期内是否需要对发送给短信中心的推送消息进行缓存; 缓存模块,用于在所述缓存确定模块确定需要缓存的情况下,对需要缓存的推送消息进行缓存,其中,所述缓存采用先进先出的方式; 发送模块,用于在所述当前周期的下一个周期内对缓存的推送消息进行发送。
9.根据权利要求8所述的装置,其特征在于,如果在所述当前周期内将上一周期缓存的推送消息发送完毕,并且在所述当前周期内已发送的推送消息的流量值小于所述流量门限值,则在当前周期内向所述短信中心发送当前周期内获得的推送消息;否则,缓存所述当前周期内获得的推送消息。
10.根据权利要求8或9所述的装置,其特征在于,所述缓存模块包括: 缓存单元,用于对于所述需要缓存的推送消息缓存在缓存消息队列的最后。
11.根据权利要求8至10中任一项所述的装置,其特征在于,所述装置还包括: 响应接收模块,用于接收所述短信中心发送的响应,其中,所述响应用于指示以下至少之一:用于指示调整所述流量门限值、用于指示忽略所述流量门限值向所述短信中心发送推送消息、用于指示停止向所述短信中心发送推送消息。
12.根据权利要求11所述的装置,其特征在于,如果所述响应用于指示调整所述流量门限值,接收所述短信中心发送的响应之后,所述装置还包括: 调整模块,用于根据所述响应对所述流量门限值进行调整。
13.根据权利要求12所述的装置,其特征在于,所述调整模块包括: 计算单元,用于计算所述当前周期内预发送所述推送消息的流量值; 判断单元,用于判断所述当前周期的上一个周期内已发送的所述推送消息的流量值是否小于最小流量门限值; 第一确定单元,用于在所述判断单元的判断结果为是的情况下,比较所述上一个周期内剩余流量值与所述当前周期内预发送流量值的大小,确定所述上一个周期内剩余流量值与所述当前周期内预发送量值中的最大值;比较所述最大值与所述最小流量门限值的大小,确定所述最大值与所述最小流`量门限值中的最小值,为所述当前周期内允许的流量门限值; 第二确定单元,用于在所述判断单元的判断结果为否的情况下,比较所述当前周期内预发送流量值与所述最小流量门限值的大小,确定所述当前周期内预发送流量值与所述最小流量门限值中的最小值,为所述当前周期内允许的流量门限值。
【文档编号】H04W28/14GK103796179SQ201210432293
【公开日】2014年5月14日 申请日期:2012年10月31日 优先权日:2012年10月31日
【发明者】江婷婷, 吴丽梅, 欧阳新志 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1