一种消息推送方法、装置和系统的制作方法_5

文档序号:9870044阅读:来源:国知局
的更新时间确定服务器是否异常,具体地,可以从数据存储单元获取其他服务器的状态信息对应的更新时间,然后,根据该更新时间确定其他服务器是否存储在异常,即确定单元402可以具体用于:
[0217]判断该获取的状态信息的更新时间是否满足预设时间条件;
[0218]若满足,则确定该其他服务器存在异常;
[0219]若不满足,则确定该其他服务器正常。
[0220]具体地,该预设时间条件可以有多种,具体可以根据实际需求设定,比如,预设时间条件可以包括:当更新时间与当前时间之间的时间之差大于预设时间时,确定其他服务器存在异常,当更新时间与当前时间之间的时间之差不大于预设时间时,确定其他服务器不存在异常;即确定单元402可以具体用于:
[0221]获取该更新时间与当前时间之间的时间差;
[0222]判断该时间差是否大于预设时间阈值;
[0223]若是,则确定该更新时间满足预设时间条件;
[0224]若否,则确定该更新时间不满足预设时间条件。
[0225]其中,该预设时间阈值可以根据实际需求设定,比如可以根据发送状态更新请求的时间间隔设定。
[0226](4)第二获取单元403;
[0227]第二获取单元403,用于在确定单元402确定该其他服务器存在异常时,获取存在异常的服务器对应的未处理即时通讯标识,该未处理即时通讯标识与该公众即时通讯标识关联。
[0228]其中,获取未处理即时通讯标识的方式有多种,比如,在该数据存储单元还存储有服务器集群中各服务器的标识处理进度信息时,该第二获取单元403可以具体用于:
[0229]从该数据存储单元获取存在异常的服务器的标识处理进度信息;
[0230]根据该标识处理进度信息获取存在异常的服务器对应的未处理即时通讯标识。
[0231]在实际应用中,服务器集群中每个服务器可以向数据存储单元发送标识处理进度信息,比如,每隔预设时长向数据存储单元发送标识处理进度信息,或者每处理一个标识时向数据存储单元发送当前的标识处理进度信息;即该消息推送装置还可以进度信息发送单元,该单元可以在发送公众消息的过程中,向数据存储单元发送标识处理进度信息。此时,数据存储单元将会存储有每个服务器的标识处理进度信息,以使得在某个服务器发生异常时其他服务器可以获取该异常服务器对应的未处理即时通讯标识。
[0232](5)第二处理单元404;
[0233]第二处理单元404,用于向该未处理即时通讯标识对应的终端发送公众消息。
[0234]比如,第二处理单元404,
[0235]该第二处理单元404可以包括:选取子单元和消息推送子单元;
[0236]该选取子单元,用于从该未处理即时通讯标识中选取需要处理的未处理即时通讯标识;
[0237]该消息推送子单元,用于向选取的未处理即时通讯标识对应的终端发送公众消息。
[0238]比如,当集群中其他服务器挂掉时,可以将该异常服务器对应的未处理即时通讯标识划分成若干份,然后,从若干份中确定自己需要处理的那一份;即步骤“从该未处理即时通讯标识中选取需要处理的未处理即时通讯标识”可以包括:
[0239]将该未处理即时通讯标识划分成多个标识单元,该标识单元包括至少一个未处理即时通讯标识;
[0240]从多个标识单元中选取目标标识单元,并将该目标标识单元中即时通讯标识作为需要处理的未处理即时通讯标识。
[0241]其中,未处理即时通讯标识的划分方式可以有多种,比如可以根据集群中正常服务器的数量进行划分,即步骤“将该未处理即时通讯标识划分成多个标识单元”可以包括:根据服务器集群中正常服务器的数量对未处理即时通讯标识进行划分成,以得到多个标识单元;优选地,该标识单元的数量可以与正常服务器的数量相等。本实施例中选取目标标识单元的方式也可以有多种,比如可以根据服务器的编号从多个数据单元中选取目标数据单元,也即步骤“从多个标识单元中选取目标标识单元”可以包括:
[0242]根据自己的服务器标识从多个标识单元中选取目标标识单元。
[0243]可选地,参考图4b,为了可以准确地感知集群中其他服务器的状态,服务器集群中每个服务器可以定期或者每隔预设时间段更新自己在数据存储单元中的状态信息,比如可以向数据存储单元发送更新请求,以更新自己的状态信息,即该消息推送装置还可以包括:发送单元405;
[0244]该发送单元405,用于在发送公众消息的过程中,每隔预设时间段向该数据存储单元发送状态更新请求,以使得该数据存储单元根据该状态更新请求对相应服务器的状态信息进行更新。
[0245]此时,数据存储单元可以存储有服务器集群中每个服务器的状态信息及其更新时间,服务器可以获取状态信息的更新时间,并根据该更新时间确定其他服务器是否存在异常。
[0246]可选地,为了节省资源,本实施例可以限制针对一个目标即时通讯标识只发送一次业务信息,参考图4c,该消息推送装置还可以包括:判断单元406;
[0247]该判断单元406,用于在生成目标即时通讯标识对应的定制化公众消息之后,向该目标即时通讯标识对应的终端发送该定制化公众消息之前,判断是否已经向该目标即时通讯标识对应的终端发送定制化公众消息;
[0248]该第一处理单元400,具体用于在判断单406元判断为否时执行向该目标即时通讯标识对应的终端发送该定制化公众消息的步骤。
[0249]可选地,为了能够均匀地推送信息,防止推送服务器和推送接口奔溃,该消息推送装置还可以包括:调整单元;
[0250]该标识获取子单元,用于获取需要处理的目标即时通讯标识;
[0251 ]该处理子单元,用于获取该目标即时通讯标识对应的用户定制信息,根据该用户定制信息生成该目标即时通讯标识对应的定制化公众消息,向该目标即时通讯标识对应的终端发送该定制化公众消息。
[0252]具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0253]该消息推送装置可以集成在服务器集群中服务器等设备中,比如,以客户端或其他软体形式安装在集群中的服务器中。
[0254]由上可知,本发明实施例采用第一处理单元400获取需要处理的目标即时通讯标识,并向该目标即时通讯标识对应的终端发送公众消息,其中,该目标即时通讯标识与公众即时通讯标识关联,然后,由第一获取单元401在发送公众消息的过程中,从数据存储单元获取服务器集群中其他服务器的状态信息,该数据存储单元存储有该服务器集群中各服务器的状态信息,由确定单元402根据获取的该状态信息确定该其他服务器是否存在异常,根据获取的该状态信息确定该其他服务器是否存在异常,若是,则由第二获取单元403获取存在异常的服务器对应的未处理即时通讯标识,该未处理即时通讯标识与该公众即时通讯标识关联,由第一处理单元404向该未处理即时通讯标识对应的终端发送公众消息;该方案可以在消息推送的过程中感知服务器集群中发生异常的服务器,并且可以对异常服务器未处理的即时通讯标识进行处理,即向异常服务器未处理即时通讯标识对应的终端发送公众消息,保证了对所有待处理的即时通讯标识的公众消息进行推送,防止出现即时通讯标识的消息漏推送的情况出现,相对于现有技术而言,可以即时通讯消息推送的可靠性,提升了用户体验。
[0255]此外,该方案还可以实现单个用户的定制化推送内容,以及海量用户的推送,并且通过动态调整的推送速度以及信息推送速度的均匀,实现服务的过载保护策略,保障推送服务器自身以及所依赖的各个接口稳定,防止雪崩,另外还可以保障每个用户收到一条消息,节省资源。
[0256]实施例五、
[0257]相应地,本发明实施例还提供一种消息推送系统,如图5所示,该消息推送系统还可以包括服务器集群51和数据存储单元50,其中,服务器集群51可以包括多个服务器510,如下:
[0258](I)数据存储单元50;
[0259]数据存储单元50,用于存储该服务器集群中各服务器的状态信息。
[0260]其中,数据存储单元50可以有多种,比如可以为一个数据存储设备,又比如也可以为由多个数据存储设备组成的数据源集群,此外,还可以为数据库集群等等。该数据存储单元可以存储服务器集群中每个服务器的状态信息,以便每个服务器可以从数据存储单元中获取其他服务器的状态信息,例如,该数据存储单元可以设置一张表或者一个集合存储服务器集群中服务器的状态信息。
[0261](2)服务器 510;
[0262]服务器510,用于:
[0263]获取需要处理的目标即时通讯标识,并向该目标即时通讯标识对应的终端发送公众消息,其中,该目标即时通讯标识与公众即时通讯标识关联;
[0264]在发送公众消息的过程中,从数据存储单元获取服务器集群中其他服务器的状态信息,该数据存储单元存储有该服务器集群中各服务器的状态信息;
[0265]根据获取的该状态信息确定该其他服务器是否存在异常;
[0266]若是,则获取存在异常的服务器对应的未处理即时通讯标识,该未处理即时通讯标识与该公众即时通讯标识关联;
[0267]向该未处理即时通讯标识对应的终端发送公众消息。
[0268]可选地,服务器510还可以用于:
[0269]在发送公众消息的过程中,每隔预设时间段向该数据存储单元发送状态更新请求;
[0270]此时,数据存储单元50还可以用于:根据该状态更新请求对相应服务器的状态信息进行更新。
[0271]可选地,上述步骤“根据获取的该状态信息确定该其他服务器是否存在异常”可以具体包括:
[0272]判断该获取的状态信息的更新时间是否满足预设时间条件;
[0273]若满足,则确定该其他服务器存在异常;
[0274]若不满足,则确定该其他服务器正常。
[0275]其中,具体地,该预设时间条件可以有多种,具体可以根据实际需求设定,比如,预设时间条件可以包括:当更新时间与当前时间之间的时间之差大于预设时间时,确定其他服务器存在异常,当更新时间与当前时间之间的时间之差不大于预设时间时,确定其他服务器不存在异常;即步骤“判断该更新时间是否满足预设时间条件”可以包括:
[0276]获取该更新时间与当前时间之间的时间差;
[0277]判断该时间差是否大于预设时间阈值;
[0278]若是,则确定该更新时间满足预设时间条件;
[0279]若否,则确定该更新时间不满足预设时间条件。
[0280]其中,该预设时间阈值可以根据实际需求设定,比如可以根据发送状态更新请求的时间间隔设定。
[0281]比如,从数据存储单元获取状态信息的方式有多种,比如,可以由数据存储单元主动推送,也可以由自己请求,即步骤“从数据存储单元获取服务器集群中其他服务器的状态信息”可以包括:
[0282]向数据存储单元发送信息获取请求;
[0283]接收该数据存储单元根据该信息获取请求返回的其他服务器的状态信息。
[0284]比如,信息获取请求可以携带其他服务器的服务器标识,这样,数据存储单元在接收到信息获取请求之后可以根据该请求将该服务器标识对应的状态信息发送给请求服务器,又比如,该信息获取请求还可以携带请求服务器自己的服务器标识,这样数据存储单元可以根据该请求将服务器集
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1