一种通知消息的推送方法及消息服务器的制造方法

文档序号:7996379阅读:184来源:国知局
一种通知消息的推送方法及消息服务器的制造方法
【专利摘要】本申请提供了一种通知消息的推送方法及消息服务器,以适应不用类型、不同时区以及支持不同语言的终端。一种通知消息的推送方法包括:接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号;解析所述通知消息的消息头得到接收者标识,并查找所述接收者标识对应的终端类型和语言类型;依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息,所述模板消息包括不同语言类型的模板消息;依据所述参数键值替换模板消息中的参数,并按照查找到的语言类型生成推送消息;将所述推送消息发送至所述接收者所在的终端。本申请提供的通知消息的推送方法,可以自适应样式和自适应语言,还可以实现自适应时区。
【专利说明】一种通知消息的推送方法及消息服务器
【技术领域】
[0001]本申请涉及网络【技术领域】,特别是涉及一种通知消息的推送方法及消息服务器。【背景技术】
[0002]目前,消息发布者可以通过消息服务器将提醒、通知等业务消息发送到用户终端,随着用户终端的多样化,消息呈现方式也相应地需要多样化。例如,在手机端呈现的消息和在PC端呈现的消息是不同的,在PC浮出窗口和PC业务窗口上的消息呈现也会有不同。同时,随着企业业务的不断国际化,企业用户遍布于全球各地,消息在用户终端的呈现同样需要支持不同语言不同时区的变化。而且针对不同地区的用户,需要消息发布者在不同的时段发送不同语言的消息给用户终端。
[0003]由于消息发布者发布的消息是通过消息服务器推送至用户终端的,因此为了在不同类型的用户终端显示不同的消息样式,或者为了适应不同时区、不同语言的需求,消息服务器需要根据用户终端的类型、所在的地区以及支持的语言发送不同的消息给用户终端。

【发明内容】

[0004]本申请提供了一种通知消息的推送方法及消息服务器,以适应不用类型、不同时区以及支持不同语言的终端。
[0005]为了解决上述问题,本申请公开了一种通知消息的推送方法,包括:
[0006]接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号;
[0007]解析所述通知消息的消息头得到接收者标识,并查找所述接收者标识对应的终端类型和语言类型;
[0008]依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息,所述模板消息包括不同语言类型的模板消息;
[0009]依据所述参数键值替换模板消息中的参数,并按照查找到的语言类型生成推送消息;
[0010]将所述推送消息发送至所述接收者所在的终端。
[0011]可选地,所述接收通知消息之前,还包括:
[0012]接收模板注册消息,所述模板注册消息包括:各终端类型对应的模板号以及各模板号对应的模板消息,所述模板消息包括不同语言类型的模板消息;
[0013]将所述模板注册消息在模板注册库中进行注册并保存。
[0014]可选地,所述接收通知消息之前,还包括:
[0015]接收用户登录信息,所述用户登录信息包括:用户验证信息、用户名、终端类型、语言类型、所在时区和上次登录时间;
[0016]根据所述用户验证信息进行验证,对于验证通过的用户判断所述用户名是否位于在线信息表中;[0017]若所述用户名位于在线信息表中,则更新在线信息表中与所述用户名对应的终端类型、语言类型、所在时区和上次登录时间;
[0018]若所述用户名没有位于在线信息表中,则将所述用户登录信息保存至所述在线信息表中。
[0019]可选地,所述查找所述接收者标识对应的终端类型和语言类型,包括:
[0020]从所述在线信息表中查找所述接收者标识;
[0021]所述方法还包括:
[0022]当从在线信息表中查找不到所述接收者标识时,解析所述通知消息的消息头得到默认终端类型和默认语言类型,并根据所述默认终端类型和默认语言类型生成推送消息。
[0023]可选地,所述依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息之前,还包括:
[0024]解析所述通知消息的消息头获得消息类型;
[0025]当通知消息的消息类型为定时消息时,解析消息头获得定时发送时间,以及是否使用当地时区进行推送;
[0026]若使用当地时区进行推送,则从在线信息表中查找所述接收者标识对应的当地时区,若查找成功,则根据所述当地时区,将定时发送时间转换成对应的本地时间;依据所述对应的本地时间设置定时器,将所述通知消息加入定时队列,当到达所述对应的本地时间时,执行所述依据各模板号从模板注册库中调用对应的模板消息的步骤;若查找失败,则执行不使用当地时区进行推送的步骤;
[0027]若不使用当地时区进行推送,则依据所述定时发送时间设置定时器,将所述通知消息加入定时队列,当到达所述定时发送时间时,执行所述依据各模板号从模板注册库中调用对应的模板消息的步骤。
[0028]可选地,当通知消息的消息类型为在线消息时,所述将所述推送消息发送至所述接收者所在的终端,包括:
[0029]从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则结束发送。
[0030]可选地,当通知消息的消息类型为普通消息时,所述将所述推送消息发送至所述接收者所在的终端,包括:
[0031]从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则将所述推送消息放入离线队列,等待接收者标识在线时发送。
[0032]本申请还公开了一种消息服务器,包括:
[0033]通知消息接收模块,用于接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号;
[0034]查找模块,用于解析所述通知消息的消息头得到接收者标识,并查找所述接收者标识对应的终端类型和语言类型;
[0035]调用模块,用于依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息,所述模板消息包括不同语言类型的模板消息;
[0036]生成模块,用于依据所述参数键值替换模板消息中的参数,并按照查找到的语言类型生成推送消息;
[0037]发送模块,用于将所述推送消息发送至所述接收者所在的终端。
[0038]可选地,还包括:
[0039]模板注册模块,用于所述接收通知消息之前,接收模板注册消息,并将所述模板注册消息在模板注册库中进行注册并保存;所述模板注册消息包括:各终端类型对应的模板号以及各模板号对应的模板消息,所述模板消息包括不同语言类型的模板消息。
[0040]可选地,还包括:
[0041]登录信息接收模块,用于接收通知消息之前接收用户登录信息,所述用户登录信息包括:用户验证信息、用户名、终端类型、语言类型、所在时区和上次登录时间;
[0042]用户验证模块,用于根据所述用户验证信息进行验证,对于验证通过的用户判断所述用户名是否位于在线信息表中;
[0043]更新模块,用于所述用户名位于在线信息表时,则更新在线信息表中与所述用户名对应的终端类型、语言类型、所在时区和上次登录时间;
[0044]保存模块,用于所述用户名没有位于在线信息表时,则将所述用户登录信息保存至所述在线信息表中。
[0045]可选地,还包括:
[0046]消息头解析模块,用于所述依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息之前,解析所述通知消息的消息头获得消息类型;
[0047]所述消息头解析模块,还用于当通知消息的消息类型为定时消息时,解析消息头获得定时发送时间,以及是否使用当地时区进行推送;
[0048]当地推送模块,用于使用当地时区进行推送时,从在线信息表中查找所述接收者标识对应的当地时区,查找成功时根据所述当地时区,将定时发送时间转换成对应的本地时间;依据所述对应的本地时间设置定时器,将所述通知消息加入定时队列,当到达所述对应的本地时间时,所述调用模块依据各模板号从模板注册库中调用对应的模板消息;
[0049]本地推送模块,用于不使用当地时区进行推送或当地推送模块从在线信息表中查找所述接收者标识对应的当地时区失败时,依据所述定时发送时间设置定时器,将所述通知消息加入定时队列,当到达所述定时发送时间时,所述调用模块依据各模板号从模板注册库中调用对应的模板消息。
[0050]可选地,所述发送模块还用于,当通知消息的消息类型为在线消息时,从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则结束发送。
[0051]可选地,所述发送模块还用于,当通知消息的消息类型为普通消息时,从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则将所述推送消息放入离线队列,等待接收者标识在线时发送。
[0052]与现有技术相比,本申请包括以下优点:
[0053]本申请实施例提供的通知消息的推送方法,可以自适应样式,即可以根据不同的终端类型进行不同的消息展示,由于设置了模板消息,可以直接调用不同的模板生成推送消息进行发送,在调整消息展示的时候减少了工作量。而且设置了模板消息,在生成推送消息的时候只需要依据参数键值替换模板消息中的参数即可。
[0054]另外,本申请实施例还可以自适应语言,即消息服务器在进行消息推送的时候,可以根据在线信息表所保存的接收者的语言类型选择对应语言的模板生成推送消息,只将对应语言的推送消息发送给终端,提供了多语言的能力。对应的,所设置的模板也有多种语言。消息格式的模板化,对于同一类消息,还可以大大提高消息的发送效率。
[0055]本申请实施例还可以实现自适应时区,对于要求适应当地时区的通知消息,可以根据用户所在的当地时区,将定时发送时间转换成对应的本地时间推送消息。例如,需要用户在当天上午8点看到的消息,则发送时会根据用户登录时保存的时区信息进行自适应的调整,即将用户所在地的上午8点转换成对应的本地时间,然后到达对应的本地时间时进行推送。
[0056]当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。
【专利附图】

【附图说明】
[0057]图1是本申请实施例所述一种通知消息的推送方法的流程图;
[0058]图2是本申请实施例所述按照消息类型发送消息的流程图;
[0059]图3是本申请实施例所述消息发布者、消息服务器和接收者之间的交互流程图;
[0060]图4是本申请实施例所述一种消息服务器的结构框图;
[0061]图5是本申请另一实施例所述一种消息服务器的结构框图;
[0062]图6是本申请另一实施例实施例所述一种消息服务器的示意图。
【具体实施方式】
[0063]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0064]本申请提出的通知消息的推送方法,可以设置模板消息,并进行格式化定义多语言内容,同时设置是否对当地时间有要去等附属参数,可以由服务器在发送时判断用户的语言类型,对于要去按当地时间发送的,还可以将通知消息转换成当地时间后进入排队队列等待发送,解决了通知消息的多样式、多语言和多时区发送的问题。
[0065]下面通过实施例对本申请所述方法的实现流程进行详细说明。
[0066]参照图1,其示出了本申请实施例所述一种通知消息的推送方法的流程图,本实施例具体可以包括以下步骤:
[0067]步骤100,接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号;
[0068]消息服务器接收发布者发送的通知消息如下表1所示:
[0069]
【权利要求】
1.一种通知消息的推送方法,其特征在于,包括: 接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号; 解析所述通知消息的消息头得到接收者标识,并查找所述接收者标识对应的终端类型和语言类型; 依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息,所述模板消息包括不同语言类型的模板消息; 依据所述参数键值替换模板消息中的参数,并按照查找到的语言类型生成推送消息; 将所述推送消息发送至所述接收者所在的终端。
2.根据权利要求1所述的方法,其特征在于,所述接收通知消息之前,还包括: 接收模板注册消息,所述模板注册消息包括:各终端类型对应的模板号以及各模板号对应的模板消息,所述模板消息包括不同语言类型的模板消息; 将所述模板注册消息在模板注册库中进行注册并保存。
3.根据权利要求1所述的方法,其特征在于,所述接收通知消息之前,还包括: 接收用户登录信息,所述用户登录信息包括:用户验证信息、用户名、终端类型、语言类型、所在时区和上次登录时间; 根据所述用户验证信息进行验证,对于验证通过的用户判断所述用户名是否位于在线信息表中; 若所述用户名位于在线信息表中,则更新在线信息表中与所述用户名对应的终端类型、语言类型、所在时区和上次登录时间; 若所述用户名没有位于在线信息表中,则将所述用户登录信息保存至所述在线信息表中。
4.根据权利要求3所述的方法,其特征在于,所述查找所述接收者标识对应的终端类型和语言类型,包括: 从所述在线信息表中查找所述接收者标识; 所述方法还包括: 当从在线信息表中查找不到所述接收者标识时,解析所述通知消息的消息头得到默认终端类型和默认语言类型,并根据所述默认终端类型和默认语言类型生成推送消息。
5.根据权利要求3所述的方法,其特征在于,所述依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息之前,还包括: 解析所述通知消息的消息头获得消息类型; 当通知消息的消息类型为定时消息时,解析消息头获得定时发送时间,以及是否使用当地时区进行推送; 若使用当地时区进行推送,则从在线信息表中查找所述接收者标识对应的当地时区,若查找成功,则根据所述当地时区,将定时发送时间转换成对应的本地时间;依据所述对应的本地时间设置定时器,将所述通知消息加入定时队列,当到达所述对应的本地时间时,执行所述依据各模板号从模板注册库中调用对应的模板消息的步骤;若查找失败,则执行不使用当地时区进行推送的步骤; 若不使用当地时区进行推送,则依据所述定时发送时间设置定时器,将所述通知消息加入定时队列,当到达所述定时发送时间时,执行所述依据各模板号从模板注册库中调用对应的模板消息的步骤。
6.根据权利要求5所述的方法,其特征在于,当通知消息的消息类型为在线消息时,所述将所述推送消息发送至所述接收者所在的终端,包括: 从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则结束发送。
7.根据权利要求5所述的方法,其特征在于,当通知消息的消息类型为普通消息时,所述将所述推送消息发送至所述接收者所在的终端,包括: 从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则将所述推送消息放入离线队列,等待接收者标识在线时发送。
8.一种消息服务器,其特征在于,包括: 通知消息接收模块,用于接收通知消息,所述通知消息包括消息头、参数键值和各终端类型对应的模板号; 查找模块,用于解析所述通知消息的消息头得到接收者标识,并查找所述接收者标识对应的终端类型和语言 类型; 调用模块,用于依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息,所述模板消息包括不同语言类型的模板消息; 生成模块,用于依据所述参数键值替换模板消息中的参数,并按照查找到的语言类型生成推送消息; 发送模块,用于将所述推送消息发送至所述接收者所在的终端。
9.根据权利要求8所述的消息服务器,其特征在于,还包括: 模板注册模块,用于所述接收通知消息之前,接收模板注册消息,并将所述模板注册消息在模板注册库中进行注册并保存;所述模板注册消息包括:各终端类型对应的模板号以及各模板号对应的模板消息,所述模板消息包括不同语言类型的模板消息。
10.根据权利要求8所述的消息服务器,其特征在于,还包括: 登录信息接收模块,用于接收通知消息之前接收用户登录信息,所述用户登录信息包括:用户验证信息、用户名、终端类型、语言类型、所在时区和上次登录时间; 用户验证模块,用于根据所述用户验证信息进行验证,对于验证通过的用户判断所述用户名是否位于在线信息表中; 更新模块,用于所述用户名位于在线信息表时,则更新在线信息表中与所述用户名对应的终端类型、语言类型、所在时区和上次登录时间; 保存模块,用于所述用户名没有位于在线信息表时,则将所述用户登录信息保存至所述在线信息表中。
11.根据权利要求10所述的消息服务器,其特征在于,还包括: 消息头解析模块,用于所述依据查找到的终端类型对应的模板号从模板注册库中调用对应的模板消息之前,解析所述通知消息的消息头获得消息类型; 所述消息头解析模块,还用于当通知消息的消息类型为定时消息时,解析消息头获得定时发送时间,以及是否使用当地时区进行推送; 当地推送模块,用于使用当地时区进行推送时,从在线信息表中查找所述接收者标识对应的当地时区,查找成功时根据所述当地时区,将定时发送时间转换成对应的本地时间;依据所述对应的本地时间设置定时器,将所述通知消息加入定时队列,当到达所述对应的本地时间时,所述调用模块依据各模板号从模板注册库中调用对应的模板消息; 本地推送模块,用于不使用当地时区进行推送或当地推送模块从在线信息表中查找所述接收者标识对应的当地时区失败时,依据所述定时发送时间设置定时器,将所述通知消息加入定时队列,当到达所述定时发送时间时,所述调用模块依据各模板号从模板注册库中调用对应的模板消息。
12.根据权利要求11所述的消息服务器,其特征在于: 所述发送模块还用于,当通知消息的消息类型为在线消息时,从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则结束发送。
13.根据权利要求11所述的消息服务器,其特征在于: 所述发送模块还用于,当通知消息的消息类型为普通消息时,从在线信息表中查找所述接收者标识,若查找成功,则将所述推送消息放入发送队列,并发送至所述接收者所在的终端;若查找失败,则 将所述推送消息放入离线队列,等待接收者标识在线时发送。
【文档编号】H04L29/06GK103973461SQ201310048776
【公开日】2014年8月6日 申请日期:2013年2月6日 优先权日:2013年2月6日
【发明者】金宇 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1