1.一种服务集群的消息重发方法,所述方法应用于服务器,其特征在于,所述方法包括:
从缓存中获取设备的身份标识,将获取的所述设备的身份标识从所述缓存中删除,所述缓存中存储有多个设备的身份标识;
从数据库中查询到获取的所述身份标识时,获取与所述身份标识对应设备的发送失败的消息;
将所述发送失败的消息重新发送;
当所述发送失败的消息重新发送成功时,删除所述数据库中存储的所述发送失败的消息及对应发送失败的设备的身份标识,将与所述发送失败的消息对应设备的身份标识存储在所述缓存中;
当所述发送失败的消息重新发送失败时,保留所述数据库中存储的所述发送失败的消息及对应发送失败的设备的身份标识,将与所述发送失败的消息对应设备的身份标识存储在所述缓存中。
2.根据权利要求1所述的服务集群的消息重发方法,其特征在于,所述缓存通过两层存储结构对所述设备的身份标识进行存储;
所述两层存储结中第一层的key表示索引列表的标号,所述第一层key的value值包括所述设备的身份标识、所述身份标识对应设备发送失败的消息的最新处理时间、所述身份标识对应数据库中存储所述发送失败的消息的标记;
所述两层存储结中第二层的key表示所述设备的身份标识,所述二层key的value值为任意值。
3.根据权利要求2所述的服务集群的消息重发方法,其特征在于,所述从缓存中获取设备的身份标识的步骤具体包括:从所述缓存的第一层中获取数据库存储的所述发送失败的消息的标记为有的各身份标识;
按照所述身份标识对应发送失败的消息的最新处理时间对获取的各所述身份标识进行排序;
按照最早最优先的原则从所述排序结果中获取存储在所述缓存第二层中所述设备的身份标识。
4.根据权利要求2所述的服务集群的消息重发方法,其特征在于,所述将获取的所述设备的身份标识从所述缓存中删除的步骤包括:删除在所述缓存的第二层中存储的表示所述设备的身份标识的key值。
5.根据权利要求2所述的服务集群的消息重发方法,其特征在于,在所述从缓存中获取设备的身份标识的步骤之后,所述方法还包括:从数据库中查询不到获取的所述身份标识时,将所述缓存的第一层中保存的数据库中存储重发消息的标记更新为无。
6.根据权利要求2所述的服务集群的消息重发方法,其特征在于,所述获取与所述身份标识对应设备的发送失败的消息的步骤包括:根据预先配置的消息获取条数批量从所述数据库中获取与所述身份标识对应的发送失败的消息,当所述数据库中存储的与所述身份标识对应的发送失败的消息少于所述预先配置的消息获取条数时,从所述数据库中获取与所述身份标识对应的全部发送失败的消息;
所述将所述发送失败的消息重新发送的步骤包括:将从所述数据库中获取的与所述身份标识对应的批量发送失败的消息进行批量重发;
在所述将所述发送失败的消息重新发送的步骤之后,所述方法还包括:获取将所述发送失败的消息重新发送的处理时间;
将所述缓存的第一层中存储的发送失败的消息的最新处理时间更新为获取的所述处理时间。
7.根据权利要求2至6任一项所述的服务集群的消息重发方法,其特征在于,当所述服务器发送消息失败时,所述方法还包括:获取发送所述消息失败的时间;
将所述服务器的身份标识及对应发送失败的消息存储在所述数据库中;
将所述缓存的第一层中所述服务器的身份标识对应的数据库中存储所述发送失败的消息的标记更新为有。
8.一种服务集群的消息重发装置,其特征在于,所述装置包括:标识删除模块,用于从缓存中获取设备的身份标识,将获取的所述设备的身份标识从所述缓存中删除,所述缓存中存储有多个设备的身份标识;
消息获取模块,用于从数据库中查询到获取的所述身份标识时,获取与所述身份标识对应设备的发送失败的消息;
消息重发模块,用于将所述发送失败的消息重新发送;
第一存储模块,用于当所述发送失败的消息重新发送成功时,删除所述数据库中存储的所述发送失败的消息及对应发送失败的设备的身份标识,将与所述发送失败的消息对应设备的身份标识存储在所述缓存中;
第二存储模块,用于当所述发送失败的消息重新发送失败时,保留所述数据库中存储的所述发送失败的消息及对应发送失败的设备的身份标识,将与所述发送失败的消息对应设备的身份标识存储在所述缓存中。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
7中任一项所述服务集群的消息重发方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述服务集群的消息重发方法的步骤。