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

文档序号:9870044阅读:来源:国知局
划分成多个标识单元,该标识单元包括至少一个未处理即时通讯标识;
[0112]从多个标识单元中选取目标标识单元,并将该目标标识单元中即时通讯标识作为需要处理的未处理即时通讯标识。
[0113]其中,未处理即时通讯标识的划分方式可以有多种,比如可以根据集群中正常服务器的数量进行划分,即步骤“将该未处理即时通讯标识划分成多个标识单元”可以包括:根据服务器集群中正常服务器的数量对未处理即时通讯标识进行划分成,,以得到多个标识单元;优选地,该标识单元的数量可以与正常服务器的数量相等。例如,当十个服务器中有一个服务器挂掉时,可以将该挂掉的服务器对应的未处理即时通讯标识划分成9个标识单元。
[0114]本实施例中选取目标标识单元的方式也可以有多种,比如可以根据服务器的编号从多个数据单元中选取目标数据单元,也即步骤“从多个标识单元中选取目标标识单元”可以包括:
[0115]根据自己的服务器标识从多个标识单元中选取目标标识单元。
[0116]例如,在10个服务器的集群中,对每个服务器依次编号,即服务器1、服务器2、……服务器10,在服务器9发生异常时,对于服务器I,其可以将服务器9的未处理即时通讯标识划分成9个标识单元,选取9个标识单元中与服务器编号I对应的标识单元作为自己需要处理的目标标识单元;同理对于服务器2、3等也是一样,这里不再赘述。
[0117]当然,在实际应用中除了采用服务器标识选取目标标识单元之外,还可以采用其他方式来选取,比如,可以根据预设选取规则、时间等来选取自己需要处理的目标标识单
J L ο
[0118]由上可知,本发明实施例采用获取需要处理的即时通讯标识,并向该即时通讯标识对应的终端发送公众消息,其中,该目标即时通讯标识与公众即时通讯标识关联,在发送公众消息的过程中,从数据存储单元获取服务器集群中其他服务器的状态信息,该数据存储单元存储有该服务器集群中各服务器的状态信息,根据获取的该状态信息确定该其他服务器是否存在异常,若是,则获取存在异常的服务器对应的未处理即时通讯标识,该未处理即时通讯标识与该公众即时通讯标识关联,向该未处理即时通讯标识对应的终端发送公众消息;该方案可以在消息推送的过程中感知服务器集群中发生异常的服务器,并且可以对异常服务器未处理的即时通讯标识进行处理,即向异常服务器未处理即时通讯标识对应的终端发送公众消息,保证了对所有待处理的即时通讯标识的公众消息进行推送,防止出现即时通讯标识的消息漏推送的情况出现,相对于现有技术而言,可以即时通讯消息推送的可靠性,提升了用户体验。
[0119]实施例二、
[0120]根据实施例一所描述的方法,以下将举例作进一步详细说明。
[0121]在本实施例中,将以消息推送装置集成在服务器集群中服务器、状态信息为心跳信息、数据存储单元为数据源集群为例进行详细说明。
[0122]其中,该消息推送装置集成在服务器的方式有多种,比如,以客户端或其他软体形式安装在服务器中。
[0123]如图2所示,该消息推送方法的具体流程可以如下:
[0124]201、服务器获取需要处理的目标标识集合,生成目标标识集合中目标即时通讯标识对应的公众消息,并向该目标即时通讯标识对应的终端发送该公众消息,其中,该即时通讯标识与公众即时通讯标识相关联。
[0125]比如,服务器可以从数据源集群获取需要处理的目标标识集合,具体地,可以向数据源集群发送标识获取请求,该标识获取请求可以携带该服务器的标识,接收该数据源集群根据该数据获取请求返回的目标标识集合。
[0126]又比如,服务器可以从数据源集群获取当前服务器集群需要处理的标识集合,然后,服务器从该标识集合选取自己需要处理的目标集合。具体地,服务器可以根据服务器集群中服务器数量将集群所需处理的标识集合划分成多个子标识集合,然后,服务器从多个子标识集合中选取自己需要处理的目标子标识集合(如可以根据服务器自身的标识选取)。
[0127]其中,公众消息可以用户定制的个性消息,此时,服务器可以从数据源集群获取该目标即时通讯标识对应的用户定制信息(比如个性化设置信息等),然后根据该用户定制信息生成该标识对应的定制化公众消息。比如,该定制化公众消息可以包括:天气消息和用户所属星座的运势信息等等。
[0128]202、服务器在发送公众消息的过程中,每隔预设时间段向数据源集群发送心跳更新请求,以使得该数据源集群根据该心跳更新请求更新该服务器的心跳信息及其更新时间,其中,数据源集群存储有服务器集群中每个服务器的心跳信息及其对应的更新时间、标识处理进度信息。
[0129]其中,心跳更新请求可以携带服务器的心跳信息以及服务器的标识,以使得数据源集群可以根据该心跳信息和标识对服务器对应的心跳信息进行更新。具体地,数据源集群还需要记录该服务器心跳信息对应的更新时间。
[0130]本实施例中数据源集群中的标识处理进度信息可以由服务器集群中服务器发送,比如,服务器可以每隔预设时间段向数据源集群发送当前的标识处理进度信息,或者服务器每处理完一个数据时向数据源集群发送当前的标识处理进度信息。
[0131]203、服务器从数据源集群获取服务器集群中其他服务器的心跳信息对应的更新时间。
[0132]比如,服务器可以向数据源集群发送心跳查询请求,该心跳查询请求可以携带需要查询心跳的服务器的标识,然后,服务器接收数据源集群根据该心跳查询请求返回的心跳信息的更新时间。
[0133]204、服务器判断获取的更新时间是否满预设时间条件,若是,则执行步骤205,若否,返回执行步骤203。
[0134]比如,服务器可以获取该更新时间与当前时间之间的时间差,并判断时间差是否大于预设时间阈值;
[0135]若是,则确定该更新时间满足预设时间条件;
[0136]若否,则确定该更新时间不满足预设时间条件。
[0137]其中,该预设时间阈值可以根据实际需求设定,比如可以根据发送心跳更新请求的时间间隔设定。
[0138]例如,集群中服务器的心跳信息的更新时间与当前时间之差超过十分钟,则确定该更新时间不满足预设时间条件,进而确定该服务器存在异常(如宕机或者挂掉等)。
[0139]205、服务器确定该其他服务器存在异常,并从数据源集群获取存在异常的服务器对应的标识处理进度信息。
[0140]比如,服务器可以向数据源集群发送进度获取请求,该进度获取请求携带异常服务器对应的标识,然后,服务器接收数据源集群根据进度获取请求返回的异常服务器的标识处理进度信息。
[0141]206、服务器根据标识处理进度信息获取存在异常的服务器对应的未处理即时通讯标识,该未处理即时通讯标识与公众即时通标识相关联。
[0142]比如,服务器根据标识处理进度信息向数据源集群或者其他设备发送未处理标识获取请求,然后,接收数据源集群根据该未处理标识获取请求返回的存在异常的服务器对应的未处理即时通讯标识。
[0143]207、服务器从未处理即时通讯标识中选取自己需要处理的未处理即时通讯标识,并将选取的即时通讯标识添加到该目标即标识集合中,以实现向该选取的即时通讯标识对应的终端发送公众消息。
[0144]具体地,服务器可以将未处理即时通讯标识划分成多个标识单元,然后,从多个标识单元中选取自己需要处理的标识单元,将选取的标识单元添加到上述目标标识集合。
[0145]比如,服务器可以根据集群中正常服务器的数量将未处理标识划分成多个标识单元,并为该标识单元设置标识,然后,根据服务器的标识和标识单元的标识从多个标识单元中选取自己需要处理的标识单元。例如,选取标识与服务器标识相同的标识单元为自己需要处理的标识单元。
[0146]例如,在服务器集群包括10个编号的服务器(服务器1、服务器2……服务器10),且需要处理4亿即时通讯标识的情况下,首先集群中每个服务器可以采用平均分配原则将4亿标识划分成10个标识段(标识段1、标识段2、标识段3……标识段10,然后,每个服务器根据自己的编号获取自己需要处理的标识段,(比如,服务器I获取标识段1、服务器2获取标识段
3、……以此类推服务器10获取标识段10);每个服务器在处理标识段的过程中,可以每隔预设时间段向数据源集群发送自己的心跳更新请求,以更新数据源集群中该服务器的心跳信息,其中,该心跳更新请求携带自己当前的心跳信息以及自己的标识,并且同时可以从数据源集群获取其他服务器的心跳信息对应的更新时间,之后将会根据该更新时间判断其他服务器是否存在异常,若是,则可以获取异常服务器对应的未处理标识,并对未处理标识进行处理,比如,当某个服务器判断服务器集群中有一个服务器挂掉时,此时,该服务器将会获取已经挂掉的服务器的未处理标识,并将该未处理标识分成9份,该服务器将会从9份中选取自己需要处理的那一份标识进行处理,从而可以保证在服务器集群中单个服务器宕机不会影响整个标识处理的过程。
[0147]由上可知,本发明实施例采用服务器获取需要处理的目标标识集合,生成目标标识集合中目标即时通讯标识对应的公众消息,并向该目标即时通讯标识对应的终端发送该公众消息,然后,服务器在发送公众消息的过程中,每隔预设时间段向数据源集群发送心跳更新请求,以使得该数据源集群根据该心跳更新请求更新该服务器对应的心跳信息,服务器从数据源集群获取服务器集群中其他服务器的心跳信息对应的更新时间,服务器判断获取的更新时间是否满预设时间条件,若是,服务器确定该其他服务器存在异常,并从数据源集群获取存在异常的服务器对应的标识处理进度信息,服务器根据标识处理进度信息获取存在异常的服务器对应的未处理标识,服务器从未处理标识中选取自己需要处理的标识,并将该选取的标识添加到该目标标识集合中,以实现向选取的标识对应的终端发送公众消息;该方案可以在消息推送的过程中感知服务器集群中发生异常的服务器,并且可以对异常服务器未处理的即时通讯标识进行处理,即向异常服务器未处理即时通讯标识对应的终端发送公众消息,保证了对所有待处理的即时通讯标识的公众消息进行推送,防止出现即时通讯标识的消息漏推送的情况出现,相对于现有技术而言,可以即时通讯消息推送的可靠性。
[0148]实施例三、
[0149]本实施例将在实施例一和二所描述的消息推送方法基础上,进一步详细说明。
[0150]可选地,为了节省资源,本实施例可以限制针对一个目标即时通讯标识只发送一次公众消息,即,在步骤“生成目标即时通讯标识对应的定制化公众消息”之后,步骤“向该目标即时通讯标识对应的终端发送该定制化公众消息”之前,该消息推送方法还包括:
[0151 ]判断是否已经向该目标即时通讯标识对应的终端发送定制化公众消息;
[0152]若否,则执行向该目标即时通讯标识对应的终端发送该定制化公众消息的步骤。
[0153]比如,可以获取目标即时通讯标识对应的消息发送记录,然后,基于该消息发送记录判断是否已经向目标即时通讯标识对应的终端发送定制化公众消息。
[0154]可选地,本实施例方法还可以在用户选定的时间推送公众消息,即,在步骤“生成目标即时通讯标识对应的定制化公众消息”之后,步骤“向该目标即时通讯标识对应的终端发送该定制化公众消息”之前,本实施例方法还可以包括:
[0155]获取该目标即时通标识对应的消息接收时间;
[0156]判断当前时间是否与该消息接收时间是否匹配,若是,则执行向该目标即时通讯标识对应的终端发送该定制化公众消息的步骤。比如,用户设置的消息接收时间为下午I点
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1