高可靠性和稳定性的消息发送方法技术

技术编号:13422724 阅读:79 留言:0更新日期:2016-07-28 17:30
本发明专利技术提供一种高可靠性和稳定性的消息发送方法,包括:步骤一:为消息设定发送有效时间和优先级;步骤二:对消息生成唯一标识;步骤三:消息进入发送队列;步骤四:从发送队列中提取消息;步骤五:判断消息发送的时间是否超过发送有效时间;步骤六:消息在线发送,步骤七:判断消息是否发送成功,若是则消息进入成功队列;若否,则进入步骤八;步骤八:计算消息发送失败的次数,如果连续多次发送失败,则消息进入发送异常状态;判断进入发送异常状态的次数是否超过预定次数,若“是”,则消息进入错误队列,若“否”,则纪录本条消息发送失败的次数,然后消息重新进入到发送中队列,再次进行步骤四。本发明专利技术的消息状态跟踪解决了可靠性问题。

【技术实现步骤摘要】

本专利技术涉及一种高可靠性和稳定性的消息发送方法,属于网络工程领域。
技术介绍
服务器大规模消并发息中心实时响应以及长时间应稳定运行是目前一个难题,具体问题例如:1.客户是否收到了消息,消息服务商无法确认;2.当资源不足时,服务器动态追加均衡负载;3.服务器大规模消同时发送;4.大规模并发息中心实时响;5.服务器长时间应稳定运行。
技术实现思路
本专利技术的目的在于提供一种高可靠性和稳定性的消息发送方法,以解决上述问题。本专利技术采用了如下技术方案:一种高可靠性和稳定性的消息发送方法,其特征在于,包括如下步骤:步骤一:为消息设定发送有效时间和优先级;步骤二:对消息生成唯一标识;系统记录唯一标识以及消息内容;步骤三:消息进入发送队列;步骤四:从发送队列中提取消息;步骤五:判断消息发送的时间是否超过发送有效时间;如果判断结果为是则消息进入失败,如果判断为否,则进入步骤六;步骤六:消息在线发送,此时消息进入发送中队列;步骤七:判断步骤六中的消息是否发送成功;若结果为“是”则消息进入成功队列;若结果为否,则进入步骤八;步骤八:步骤八中包括如下步骤:计算消息发送失败的次数,如果连续多次发送失败,则消息进入发送异常状态;计算消息进入发送异常状态的次数;判断进入发送异常状态的次数是否超过预定次数,若判断结果为“是”,则消息进入错误队列,即发送失败队列,若判断结果为“否”,则纪录本条消息发送失败的次数,然后消息重新进入到发送中队列,再次进行步骤四,对本条消息进行发送。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:步骤一中,单条消息的优先级高于群发消息的优先级。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:其中,在消息发送后,开始跟踪消息状态,确定何时以及是否需要重发。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:其中,当消息进入发送异常状态后,优先级会下降,低于首次发送信息的优先级。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:步骤七中,判断消息是发送成功的条件是:发送消息后,收到有回执的确认数据,判定为发送成功。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:步骤八中,消息进入发送失败队列后,可以供用户查询并重新发送,或供管理员手动重新发送。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:当内存的消耗到达预定界限时,消息会停止发送。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:其中,预定界限取自1~100M范围内取值。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:其中,当消息发送时延迟超过预定时间时,降低发送队列中的信息数目。进一步,本专利技术的高可靠性和稳定性的消息发送方法,还可以具有这样的特征:其中,预定时间在1~100s的范围内进行取值。专利技术的有益效果本专利技术的消息发送服务的全程监控,大并发过载防御,服务器动态追加均衡负载,消息状态跟踪,查询确认和重发解决了可靠性问题。消息优先级别和预先处理需要发送的消息解决了实时性问题;尽量不使用并发锁的策略大大提高了系统的吞吐量。附图说明图1是本专利技术的高可靠性和稳定性的消息发送方法的流程图。具体实施方式以下说明本专利技术的具体实施方式。本专利技术的高可靠性和稳定性的消息发送方法,包括如下步骤:如图1所示,高可靠性和稳定性的消息发送方法的工作流程如下:步骤101:为消息设定有效时间和优先级;有效时间和优先级别由用户决定;消息发送后,开始跟踪消息状态,确定何时以及是否需要重发。步骤102:开始发送消息;步骤103:对消息生成唯一标识;系统记录唯一标识以及消息内容到发送队列;步骤104:消息进入发送队列;步骤105:从发送队列中提取消息;步骤106:判断消息发送的时间是否超过用户指定的发送有效时间,如果判断结果为结果“是”则进入步骤111,如果判断为“否”,则进入步骤107;发送有效时间根据用户的需求而设定,例如关车门信息,要小于1s,而比如广告信息,可以设置为几天或者几个月。步骤107:消息在线发送,此时消息进入发送中队列;步骤108:判断步骤107中的消息是否发送成功;若结果为“是”则消息进入成功队列;若结果为否,则进入步骤109;步骤109:步骤109中包括如下步骤:步骤109a:计算消息发送失败的次数,如果连续多次发送失败,则消息进入发送异常状态;连续发送失败的次数可以根据需要进行设定,在本实施方式中设置为4次。步骤109b,计算消息进入发送异常状态的次数。判断进入发送异常状态的次数是否超过预定次数,若判断结果为“是”,则消息进入错误队列,即发送失败队列。若判断结果为“否”,则进入步骤110,纪录本条消息发送失败的次数,然后消息重新进入到发送中队列,再次进行步骤105,对本条消息进行发送。在本实施方式中,进入发送异常状态的预定次数设为10次,在其它的实施方式中,可以根据发送需要设置为其它次数。以下对本专利技术的方法做进一步的说明:1.消息状态跟踪,重发,消息状态确认1.1消息生成唯一标识,并由用户决定有效期间和业务优先级别,系统记录唯一标识以及消息内容到发送队列,如果用户在线,后台系统发送消息。消息发送后,开始跟踪消息状态,确定何时以及是否需要重发。1.2发送消息后,收到有回执的确认数据,判定为发送成功,如果连续发送4次但没有收到回执,则进入发送异常状态。进入发送异常状态的消息,优先级会下降,低于首次发送的信息的优先级。如果连续10次进入失败状态,或者超过发送有效期间数据进入发送失败队列。1.3判断发送成功还是发送失败的重发逻辑根据DB的发送失败队列的次数,超过10次或超过发送有效期间数据判断为发送失败,进入发送失败队列。重发逻辑:重新发送时间点,如果发送过但没有进入发送失败队列,或者用户不在线没有发送过,需要重新发送。进入发送失败队列后,用户可以查询并重新发送,或由管理员手动重新发送。2.优先级别处理,消息策略控制器处理,API(应用程序编程接口)规定单条消息优先于群发。当前发送的高优先级消息,直接进入发送本文档来自技高网...

【技术保护点】
一种高可靠性和稳定性的消息发送方法,其特征在于,包括如下步骤:步骤一:为消息设定发送有效时间和优先级;步骤二:对消息生成唯一标识;系统记录唯一标识以及消息内容;步骤三:消息进入发送队列;步骤四:从发送队列中提取消息;步骤五:判断消息发送的时间是否超过所述发送有效时间;如果判断结果为是则消息进入失败,如果判断为否,则进入步骤六;步骤六:消息在线发送,此时消息进入发送中队列;步骤七:判断步骤六中的消息是否发送成功,若结果为“是”则消息进入成功队列,若结果为否,则进入步骤八;步骤八:步骤八中包括如下步骤:计算消息发送失败的次数,如果连续多次发送失败,则消息进入发送异常状态;计算消息进入发送异常状态的次数;判断进入发送异常状态的次数是否超过预定次数,若判断结果为“是”,则消息进入错误队列,即发送失败队列,若判断结果为“否”,则纪录本条消息发送失败的次数,然后消息重新进入到发送中队列,再次进行步骤四,对本条消息进行发送。

【技术特征摘要】
1.一种高可靠性和稳定性的消息发送方法,其特征在于,包括如下步
骤:
步骤一:为消息设定发送有效时间和优先级;
步骤二:对消息生成唯一标识;系统记录唯一标识以及消息内容;
步骤三:消息进入发送队列;
步骤四:从发送队列中提取消息;
步骤五:判断消息发送的时间是否超过所述发送有效时间;如果
判断结果为是则消息进入失败,如果判断为否,则进入步骤六;
步骤六:消息在线发送,此时消息进入发送中队列;
步骤七:判断步骤六中的消息是否发送成功,若结果为“是”则
消息进入成功队列,若结果为否,则进入步骤八;
步骤八:步骤八中包括如下步骤:
计算消息发送失败的次数,如果连续多次发送失败,则消息进入
发送异常状态;
计算消息进入发送异常状态的次数;
判断进入发送异常状态的次数是否超过预定次数,若判断结果为
“是”,则消息进入错误队列,即发送失败队列,若判断结果为“否”,
则纪录本条消息发送失败的次数,然后消息重新进入到发送中队列,
再次进行步骤四,对本条消息进行发送。
2.如权利要求1所述的高可靠性和稳定性的消息发送方法,其特征
在于:
步骤一中,单条消息的优先级高于群发消息的优先级。
3.如权利要求1所述的高可靠性和稳定性的消息发送方法,其特征
在于:

【专利技术属性】
技术研发人员:彭云平王剑青王军勇
申请(专利权)人:上海畅星软件有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1