CN103684808B - 广播消息的发送方法及服务器 - Google Patents
广播消息的发送方法及服务器 Download PDFInfo
- Publication number
- CN103684808B CN103684808B CN201310746280.6A CN201310746280A CN103684808B CN 103684808 B CN103684808 B CN 103684808B CN 201310746280 A CN201310746280 A CN 201310746280A CN 103684808 B CN103684808 B CN 103684808B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- client
- caching
- module
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种广播消息的发送方法及服务器,本发明实施例缓存新生成的广播消息;按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将符合条件的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端;相较于现有技术中,服务器直接将生成的广播消息发送给客户端的方法,本发明实施例具有降低服务器发送广播消息的发送频率的有益效果;另外,对于客户端来说,也降低了广播消息的接收频率,提高了人机的可交互性。
Description
技术领域
本发明涉及互联网技术,还涉及通讯领域,尤其涉及一种广播消息的发送方法及服务器。
背景技术
随着互联网技术的不断发展和通讯工具的日趋先进,通过网络通讯工具,基于某一共同特点、需求或者兴趣爱好,许多用户聚合在一起形成房间或者群组这一虚拟空间。当该房间或者群组产生广播消息以后,服务器立即将对应的广播消息广播给该房间或者群组中的所有用户。而大容量房间或者群组需要广播的广播消息非常多,服务器需要不断地发送广播消息至各客户端对应的用户,而该房间或者群组中的所有客户端也需要不断地接收对应的广播消息,广播消息的发送和接收非常频繁;过于频繁的广播消息的发送可能会占用过多的服务器资源,影响服务器的其他功能;而过于频繁的广播消息的接收也可能会影响客户端其他应用程序的正常运行;因此,如何降低房间或者群组中广播消息的广播频率成为一个亟待解决的问题。
发明内容
鉴于此,有必要提供一种广播消息的发送方法及服务器,以降低服务器对群组中各客户端发送广播消息的发送频率。
本发明实施例公开了一种广播消息的发送方法,包括以下步骤:
缓存新生成的广播消息;
按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;
根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。
本发明实施例还公开了一种广播消息的发送服务器,包括:
缓存模块,用于缓存新生成的广播消息;
获取模块,用于按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;
广播模块,用于根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。
本发明实施例缓存新生成的广播消息;按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将符合条件的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端;相较于现有技术中,服务器直接将生成的广播消息发送给客户端的方法,本发明实施例具有降低服务器发送广播消息的发送频率的有益效果;另外,对于客户端来说,也降低了广播消息的接收频率,提高了人机的可交互性。
附图说明
图1是本发明广播消息的发送方法第一实施例流程示意图;
图2是本发明广播消息的发送方法中服务器缓存的广播消息示例图;
图3是本发明广播消息的发送方法第二实施例流程示意图;
图4是本发明广播消息的发送方法第三实施例流程示意图;
图5是本发明广播消息的发送方法第四实施例流程示意图;
图6是本发明广播消息的发送服务器运行环境示例图;
图7是本发明广播消息的发送服务器第一实施例功能模块示意图;
图8是本发明广播消息的发送服务器第二实施例功能模块示意图;
图9是本发明广播消息的发送服务器第三实施例功能模块示意图;
图10是本发明广播消息的发送服务器第四实施例功能模块示意图;
图11是本发明广播消息的发送服务器一实施例硬件结构示意图。
本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种广播消息的发送方法第一实施例;如图1所示,本发明广播消息的发送方法包括以下步骤:
步骤S01、缓存新生成的广播消息;
对于新生成的广播信息,广播服务器均先将上述新生成的广播消息缓存起来;比如,对于许多用户聚合在一起的大容量房间群组这一虚拟空间,广播服务器对于上述房间产生的广播消息先进行缓存,而不是立即广播给各客户端。广播服务器缓存新生成的广播消息包括:将新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围等对应信息一起存储;其中,广播编号唯一对应一条广播消息,且广播服务器每生成一条广播消息,广播服务器将新生成的广播消息对应的广播编号增加1。如图2所示,在广播服务器缓存的各广播消息中,按照广播消息生成时间的先后顺序,根据依次递增1的规则设置各广播消息对应的广播编号。
本发明实施例中,所述新生成的广播消息可以理解为:基于客户端触发的操作事件或者系统指令,应用服务器发送对应的广播消息生成指令或者广播消息的特征信息或者其他与广播消息相关的信息至广播服务器,广播服务器根据应用服务器发送的信息,生成对应的所述广播消息。
步骤S02、按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;
广播服务器按照第一预设周期轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;识别在预设时长内没有接收到任何广播消息的客户端,同时获取预设时长内没有接收到任何广播消息的客户端所对应的用户标识。所述第一预设周期和预设时长均可根据需要进行设置;考虑到广播消息的时效性,通常将所述第一预设周期和预设时长设置得较小;考虑到服务器广播的频率或者客户端接收广播消息的频率,也可以适当增大所述第一预设周期并验证所述预设时长。
比如,广播服务器每秒钟轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;根据上述各客户端最新接收的广播消息的接收时间,获取广播服务器轮询至该客户端这一时间点时,超过两秒钟没有接收过广播消息的客户端;同时,获取超过两秒钟没有接收过广播消息的客户端的用户标识。
所述用户标识包括客户端最新接收的广播消息对应的广播编号,以及该客户端对应的广播游标;所述广播游标可以理解为广播服务器为每个客户端标识的是否接收对应广播消息的标识信息,该广播游标代表了对应的客户端所接收的广播消息的广播编号;比如,广播消息对应的广播编号大于该客户端对应的广播游标,则表示该广播编号对应的广播消息尚未被该客户端接收;再比如,对于新加入的客户端因其尚未接收任何广播消息,因此将新加入的客户端所对应的广播游标设置为广播服务器当前缓存的广播消息中广播编号所对应的最大值。另外,对于新加入的客户端,以该客户端加入的时间点为分割点,广播服务器仅向该客户端推送上述分割点之后产生的广播消息。
步骤S03、根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端。
广播服务器根据获取的上述用户标识,获取该用户标识对应的客户端应该接收但尚未接收的所有广播消息,并将该客户端应该接收但尚未接收的所有广播消息组合成一个数据包,并将组合后的上述数据包发送至该用户标识对应的所有客户端。由于广播服务器对上述多条广播信息进行合包,并将合包后的包括上述多条广播消息的数据包一次性发送至客户端,因此降低了广播服务器对广播消息的发送频率。
在本发明一优选实施例中,广播服务器根据上述用户标识中的广播游标,比较各用户标识中广播游标的数值与缓存的所有广播消息的广播编号;当广播编号大于上述广播游标的数值时,表明该广播游标对应的客户端没有接收到该广播编号对应的广播消息,因此,广播服务器识别大于所述用户标识中广播游标的广播编号所对应的广播消息作为所述用户标识对应的客户端尚未接收的广播消息;如图2所示,客户端A对应的广播游标的数值是51243,则对于大于51243的所有广播编号所对应的广播消息,该客户端A均未接收到。另外,由于广播服务器缓存广播消息时,同时缓存了各广播消息对应的广播接收者范围,因此广播服务器根据客户端的用户标识及广播消息对应的接收者范围,同时识别上述客户端尚未接收的广播消息是否为该客户端应当接收的广播消息;并在广播服务器识别上述尚未接收的广播消息同时也是该客户端应当接收的广播消息时,广播服务器将上述符合条件的广播消息合包发送至对应的客户端。比如,图2所示的广播服务器缓存的广播消息中,对于客户端A,广播编号51247~51249对应的广播消息的接收者范围为客户端A~客户端C,而广播编号51244~51246对应的广播消息的接收者范围没有包含客户端A,则广播服务器仅将广播编号51247~51249对应的广播消息进行合包后,发送至客户端A。
本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。
本发明还提供了广播消息的发送方法第二实施例;如图3所示,本发明广播消息的发送方法在图1所述实施例的“步骤S01、所述缓存新生成的广播消息”,之后还包括:
步骤S11、按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。
本发明实施例中的所述步骤S11可以在图1所述实施例的步骤S02之前执行,也可以在所述步骤S02之后、步骤S03之前执行。图2所述实施例以步骤S11在图1所述实施例的步骤S02之前执行。
为了减轻广播服务器的缓存压力,广播服务器按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至其他的预设存储空间,也可以理解为,广播服务器按照第二预设周期对缓存的所有广播消息进行淘汰。所述第二预设周期可以与图1所述实施例中的第一预设周期相等,也可以不相等;第二预设周期也可以根据广播服务器的具体运行情况和客户端的反馈进行调整,本实施例对第二预设周期的具体时长不做限定。比如,广播服务器每秒钟对缓存的所有广播消息进行淘汰。
本发明实施例中,广播服务器将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:
广播服务器将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。比如,广播服务器把所有生成时间到广播服务器检测的这一时间点为止超过两秒的广播消息淘汰掉,即转存至其他的预设存储空间。
或者:
广播服务器检测到当缓存的所述广播消息超过缓存空间阈值时,广播服务器按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。比如,广播服务器检测到当缓存的所述广播消息的总数量超过30M时,从最早生成的广播消息开始淘汰,直到缓存剩下小于30M的广播消息。
由于广播服务器生成的每条广播消息的所占用的存储空间基本一样,因此也可以设置缓存的广播消息的数量阈值作为淘汰缓存广播消息的一个规则;比如,广播服务器检测到当缓存的所述广播消息的总数量超过三千条时,从最早生成的广播消息开始淘汰,直到缓存剩下小于三千条的广播消息。
如图2所示,广播服务器将广播消息缓存池中符合预设规则的广播消息淘汰,即将符合预设规则的广播消息转存至其他的预设存储空间。
本发明实施例广播服务器按照第二预设周期将符合预设规则的广播消息转存至预设存储空间,减轻了服务器的缓存压力。
本发明还提供了一种广播消息的发送方法第三实施例;如图4所示,本发明广播消息的发送方法在图3所示实施例的“步骤S01、所述将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间”,之后还包括:
步骤S12、获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;将满足广播规则的广播消息发送至未接收到所述广播消息的客户端。
本发明实施例中,所述步骤S12与图3所述实施例中的步骤S02和步骤S03并列执行。其中,本发明实施例与图3所述实施例的区别是,图3实施例描述的是广播服务器将缓存的广播消息中符合预设规则的广播消息转存至预设存储空间后即淘汰符合预设规则的广播消息后,广播服务器对淘汰后还剩余的缓存消息的处理;本发明实施例描述的则是,对广播服务器淘汰的满足预设规则的广播消息的处理。
如图4所示,广播服务器将符合规则的广播消息转存至预设存储空间后即广播服务器对于淘汰的广播消息,获取淘汰的广播消息的广播类型;根据获取的广播类型,对于不可丢弃的广播消息即满足广播规则的广播消息,比如,上述广播类型为涉及网络安全的安全类广播消息,则广播服务器将上述满足广播规则的广播至没有接收过该广播的各客户端;对于可丢弃的广播消息即满足删除规则的广播消息,比如,上述广播类型为娱乐八卦的娱乐类广播消息,则广播服务器直接将满足删除规则的广播消息丢弃。
本发明实施例广播服务器对淘汰的广播消息进行广播或者丢弃,避免了重要广播消息的漏播;同时,对于删除的广播消息,释放了服务器的存储空间。
本发明还提供了一种广播消息的发送方法第四实施例;如图5所示,本发明广播消息的发送方法在图1或图3所示实施例的“步骤S03、根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端”,之后还包括:
步骤S04、修改所述客户端对应的用户标识。
本发明实施例以图1所示实施例的步骤S03之后执行该步骤为例进行描述。当广播服务器将对应的广播消息发送至所述用户标识对应的客户端后,由于该客户端接收了对应的广播消息,因此该客户端的用户标识中的广播游标的数值肯定发生了变化,为了避免重复发送广播消息,广播服务器在向各客户端发送对应的广播消息之后,广播服务器同时修改各客户端的用户标识中最新接收广播消息的接收时间和对应的广播游标的数值。
本发明实施例广播服务器向客户端发送广播消息后,修改对应客户端的用户标识,避免重复向同一客户端重复发送相同的广播消息,同时保证了该客户端接收广播消息的时效性。
本发明还提供了一种广播消息的发送服务器第一实施例;本发明广播消息的发送服务器运行环境如图6所示,广播服务器与各客户端通过互联网进行通信和数据交互。所述客户端包括但不限于:PC(Personal Computer,个人电脑)、智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MID)、PAD等移动设备。
如图7所示,本发明广播消息的发送服务器包括:缓存模块01、获取模块02和广播模块03。
缓存模块01,用于缓存新生成的广播消息;
对于新生成的广播信息,缓存模块01均先将上述新生成的广播消息缓存起来;比如,对于许多用户聚合在一起的大容量房间群组这一虚拟空间,缓存模块01对于上述房间产生的广播消息先进行缓存,而不是立即广播给各客户端。缓存模块01缓存新生成的广播消息包括:将新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围等对应信息一起存储;其中,广播编号唯一对应一条广播消息,且广播服务器每生成一条广播消息,广播服务器将新生成的广播消息对应的广播编号增加1。如图2所示,在缓存模块01缓存的各广播消息中,按照广播消息生成时间的先后顺序,广播服务器根据依次递增1的规则设置各广播消息对应的广播编号。
本发明实施例中,所述新生成的广播消息可以理解为:基于客户端触发的操作事件或者系统指令,应用服务器发送对应的广播消息生成指令或者广播消息的特征信息或者其他与广播消息相关的信息至广播服务器,广播服务器根据应用服务器发送的信息,生成对应的所述广播消息。
获取模块02,用于按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;
获取模块02按照第一预设周期轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;获取模块02识别在预设时长内没有接收到任何广播消息的客户端,同时获取模块02获取预设时长内没有接收到任何广播消息的客户端所对应的用户标识。所述第一预设周期和预设时长均可根据需要进行设置;考虑到广播消息的时效性,通常将所述第一预设周期和预设时长设置得较小;考虑到服务器广播的频率或者客户端接收广播消息的频率,也可以适当增大所述第一预设周期并验证所述预设时长。
比如,获取模块02每秒钟轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;根据上述各客户端最新接收的广播消息的接收时间,获取模块02获取广播服务器轮询至该客户端这一时间点时,超过两秒钟没有接收过广播消息的客户端;同时,获取模块02获取超过两秒钟没有接收过广播消息的客户端的用户标识。
所述用户标识包括客户端最新接收的广播消息对应的广播编号,以及该客户端对应的广播游标;所述广播游标可以理解为广播服务器为每个客户端标识的是否接收对应广播消息的标识信息,该广播游标代表了对应的客户端所接收的广播消息的广播编号;比如,广播消息对应的广播编号大于该客户端对应的广播游标,则表示该广播编号对应的广播消息尚未被该客户端接收;再比如,对于新加入的客户端因其尚未接收任何广播消息,因此将新加入的客户端所对应的广播游标设置为广播服务器当前缓存的广播消息中广播编号所对应的最大值。另外,对于新加入的客户端,以该客户端加入的时间点为分割点,广播服务器仅向该客户端推送上述分割点之后产生的广播消息。
广播模块03,用于根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。
广播模块03根据获取模块02获取的上述用户标识,获取该用户标识对应的客户端应该接收但尚未接收的所有广播消息,并将该客户端应该接收但尚未接收的所有广播消息组合成一个数据包,并将组合后的上述数据包发送至该用户标识对应的所有客户端。由于广播模块03对上述多条广播信息进行合包,并将合包后的包括上述多条广播消息的数据包一次性发送至客户端,因此降低了广播服务器对广播消息的发送频率。
在本发明一优选实施例中,广播模块03根据上述用户标识中的广播游标,比较各用户标识中广播游标的数值与缓存的所有广播消息的广播编号;当广播编号大于上述广播游标的数值时,表明该广播游标对应的客户端没有接收到该广播编号对应的广播消息,因此,广播模块03识别大于所述用户标识中广播游标的广播编号所对应的广播消息作为所述用户标识对应的客户端尚未接收的广播消息;如图2所示,客户端A对应的广播游标的数值是51243,则对于大于51243的所有广播编号所对应的广播消息,该客户端A均未接收到。另外,由于缓存模块01缓存广播消息时,同时缓存了各广播消息对应的广播接收者范围,因此广播模块03根据客户端的用户标识及广播消息对应的接收者范围,同时识别上述客户端尚未接收的广播消息是否为该客户端应当接收的广播消息;并在广播模块03识别上述尚未接收的广播消息同时也是该客户端应当接收的广播消息时,广播模块03将上述符合条件的广播消息合包发送至对应的客户端。比如,图2所示的缓存模块01缓存的广播消息中,对于客户端A,广播编号51247~51249对应的广播消息的接收者范围为客户端A~客户端C,而广播编号51244~51246对应的广播消息的接收者范围没有包含客户端A,则广播模块03仅将广播编号51247~51249对应的广播消息进行合包后,发送至客户端A。
本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。
进一步地,本发明还提供了广播消息的发送服务器第二实施例功能模块示意图;如图8所示,本发明广播消息的发送服务器还包括:
淘汰模块04,用于按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。
为了减轻广播服务器的缓存压力,淘汰模块04按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至其他的预设存储空间,也可以理解为,淘汰模块04按照第二预设周期对缓存的所有广播消息进行淘汰。所述第二预设周期可以与图1所述实施例中的第一预设周期相等,也可以不相等;第二预设周期也可以根据广播服务器的具体运行情况和客户端的反馈进行调整,本实施例对第二预设周期的具体时长不做限定。比如,淘汰模块04每秒钟对缓存的所有广播消息进行淘汰。
本发明实施例中,淘汰模块04将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:
淘汰模块04将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。比如,淘汰模块04把所有生成时间到广播服务器检测的这一时间点为止超过两秒的广播消息淘汰掉,即转存至其他的预设存储空间。
或者:
淘汰模块04检测到当缓存的所述广播消息超过缓存空间阈值时,淘汰模块04按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。比如,淘汰模块04检测到当缓存的所述广播消息的总数量超过30M时,从最早生成的广播消息开始淘汰,直到缓存剩下小于30M的广播消息。
由于广播服务器生成的每条广播消息的所占用的存储空间基本一样,因此淘汰模块04也可以设置缓存的广播消息的数量阈值作为淘汰缓存广播消息的一个规则;比如,淘汰模块04检测到当缓存的所述广播消息的总数量超过三千条时,从最早生成的广播消息开始淘汰,直到缓存剩下小于三千条的广播消息。
如图2所示,淘汰模块04将广播消息缓存池中符合预设规则的广播消息淘汰,即将符合预设规则的广播消息转存至其他的预设存储空间。
本发明实施例广播服务器按照第二预设周期将符合预设规则的广播消息转存至预设存储空间,减轻了服务器的缓存压力。
进一步地,本发明还提供了广播消息的发送服务器第三实施例;如图9所示,本发明广播消息的发送服务器还包括:
删除模块05,用于获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;
删除模块05将符合规则的广播消息转存至预设存储空间后即广播服务器对于淘汰的广播消息,获取淘汰的广播消息的广播类型;根据获取的广播类型,对于不可丢弃的广播消息即满足广播规则的广播消息,比如,上述广播类型为涉及网络安全的安全类广播消息,则广播模块03将上述满足广播规则的广播至没有接收过该广播的各客户端;对于可丢弃的广播消息即满足删除规则的广播消息,比如,上述广播类型为娱乐八卦的娱乐类广播消息,则删除模块05直接将满足删除规则的广播消息丢弃。
本发明实施例广播服务器对淘汰的广播消息进行广播或者丢弃,避免了重要广播消息的漏播;同时,对于删除的广播消息,释放了服务器的存储空间。
进一步地,本发明还提供了广播消息的发送服务器第四实施例;如图10所示,本发明广播消息的发送服务器还包括:
修改模块06,用于修改所述客户端对应的用户标识。
当广播模块03将对应的广播消息发送至所述用户标识对应的客户端后,由于该客户端接收了对应的广播消息,因此该客户端的用户标识中的广播游标的数值肯定发生了变化,为了避免重复发送广播消息,广播模块03在向各客户端发送对应的广播消息之后,修改模块06同时修改各客户端的用户标识中最新接收广播消息的接收时间和对应的广播游标的数值。
本发明实施例广播服务器向客户端发送广播消息后,修改对应客户端的用户标识,避免重复向同一客户端重复发送相同的广播消息,同时保证了该客户端接收广播消息的时效性。
本发明还提供了一种广播消息的发送服务器的硬件结构,如图11所示,该广播消息的发送服务器包括:
处理器101、存储器102、用户接口103、网络接口104以及通信总线105。通信总线105用于本地服务器中各组成部件之间的通信,用户接口103用于接收用户输入的信息,该用户接口可以为有线接口及无线接口,例如键盘、鼠标等。网络接口104用于广播服务器与外部进行互相通信,该网络接口也可以包括有线接口及无线接口。存储器102可以包括一个或一个以上计算机可读存储介质,而且其不但包括内部存储器,还包括外部存储器。该存储器中存储有操作系统及广播消息发送应用程序等等。处理器101用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
通过网络接口104缓存新生成的广播消息;
处理器101按照第一预设周期,通过用户接口103轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;
根据所述用户标识,通过通信总线105获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包通过用户接口103发送至所述用户标识对应的客户端。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
按照第二预设周期,通过通信总线105将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
通过通信总线105,将缓存的所述广播消息中广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
当缓存的所述广播消息超过缓存空间阈值时,按照所述广播消息生成时间的先后顺序,通过通信总线105将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
通过通信总线105获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;将满足广播规则的广播消息通过用户接口103发送至未接收到所述广播消息的客户端。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
通过网络接口104缓存新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
根据所述用户标识中的广播游标,通过通信总线105比较所述广播游标的数值与缓存的所述广播消息的广播编号;
通过通信总线105识别大于所述广播游标的广播编号所对应的广播消息为所述用户标识对应的客户端尚未接收的广播消息;
通过通信总线105获取所述尚未接收的广播消息所对应的接收者范围,根据所述接收者范围,通过通信总线105识别所述用户标识对应的尚未接收但应当接收的所述广播消息。
进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:
通过用户接口103修改所述客户端对应的用户标识。
本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (16)
1.一种广播消息的发送方法,其特征在于,包括以下步骤:
缓存新生成的广播消息;
按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识,所述用户标识包括所述客户端最新接收的广播消息的广播编号,以及所述客户端对应的广播游标;
根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。
2.如权利要求1所述的方法,其特征在于,所述缓存新生成的广播消息,之后还包括:
按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。
3.如权利要求2所述的方法,其特征在于,所述将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:
将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。
4.如权利要求2所述的方法,其特征在于,所述将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:
当缓存的所述广播消息超过缓存空间阈值时,按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。
5.如权利要求3或4所述的方法,其特征在于,所述将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,之后还包括:
获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;将满足广播规则的广播消息发送至未接收到所述广播消息的客户端。
6.如权利要求1所述的方法,其特征在于,所述缓存新生成的广播消息,包括:
缓存新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围。
7.如权利要求1或6所述的方法,其特征在于,所述根据所述用户标识,获取所述用户标识对应的尚未接收但应当接收的所有广播消息,包括:
根据所述用户标识中的广播游标,比较所述广播游标的数值与缓存的所述广播消息的广播编号;
识别大于所述广播游标的广播编号所对应的广播消息为所述用户标识对应的客户端尚未接收的广播消息;
获取所述尚未接收的广播消息所对应的接收者范围,根据所述接收者范围,识别所述用户标识对应的尚未接收但应当接收的所述广播消息。
8.如权利要求1或6所述的方法,其特征在于,所述将合成后的所述数据包发送至所述用户标识对应的客户端,之后还包括:
修改所述客户端对应的用户标识。
9.一种广播消息的发送服务器,其特征在于,包括:
缓存模块,用于缓存新生成的广播消息;
获取模块,用于按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识,所述用户标识包括所述客户端最新接收的广播消息的广播编号,以及所述客户端对应的广播游标;
广播模块,用于根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。
10.如权利要求9所述的服务器,其特征在于,还包括:
淘汰模块,用于按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。
11.如权利要求10所述的服务器,其特征在于,所述淘汰模块还用于:
将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。
12.如权利要求10所述的服务器,其特征在于,所述淘汰模块还用于:
当缓存的所述广播消息超过缓存空间阈值时,按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。
13.如权利要求11或12所述的服务器,其特征在于,还包括:
删除模块,用于获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;
所述广播模块还用于:对于所述预设存储空间中存储的所有广播消息,将满足广播规则的广播消息发送至未接收到所述广播消息的客户端。
14.如权利要求9所述的服务器,其特征在于,所述缓存模块还用于:
缓存新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围。
15.如权利要求9或14所述的服务器,其特征在于,所述广播模块还用于:
根据所述用户标识中的广播游标,比较所述广播游标的数值与缓存的所述广播消息的广播编号;
识别大于所述广播游标的广播编号所对应的广播消息为所述用户标识对应的客户端尚未接收的广播消息;
获取所述尚未接收的广播消息所对应的接收者范围,根据所述接收者范围,识别所述用户标识对应的尚未接收但应当接收的所述广播消息。
16.如权利要求9或14所述的服务器,其特征在于,还包括:
修改模块,用于修改所述客户端对应的用户标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746280.6A CN103684808B (zh) | 2013-12-30 | 2013-12-30 | 广播消息的发送方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310746280.6A CN103684808B (zh) | 2013-12-30 | 2013-12-30 | 广播消息的发送方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684808A CN103684808A (zh) | 2014-03-26 |
CN103684808B true CN103684808B (zh) | 2017-02-08 |
Family
ID=50321202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310746280.6A Active CN103684808B (zh) | 2013-12-30 | 2013-12-30 | 广播消息的发送方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684808B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901872A (zh) * | 2015-06-25 | 2015-09-09 | 携程计算机技术(上海)有限公司 | 基于xmpp协议的群组聊天方法及系统 |
CN105357648A (zh) * | 2015-10-10 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 向应用程序发送广播消息的方法及Android系统 |
CN105516487B (zh) * | 2015-12-04 | 2019-07-16 | 上海斐讯数据通信技术有限公司 | 广播接收方法、系统及设备 |
CN106331088B (zh) * | 2016-08-22 | 2019-10-08 | 努比亚技术有限公司 | 消息服务器、移动终端及消息处理方法 |
CN107070670B (zh) * | 2017-03-10 | 2020-01-14 | Oppo广东移动通信有限公司 | 控制广播发送者发送广播消息的方法、装置和终端设备 |
CN106954191B (zh) * | 2017-03-10 | 2019-06-07 | Oppo广东移动通信有限公司 | 广播发送方法、装置和终端设备 |
CN106844069A (zh) | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 调整广播消息队列的方法、装置及终端 |
CN106878957B (zh) * | 2017-03-10 | 2019-05-14 | Oppo广东移动通信有限公司 | 广播队列生成方法、装置和终端设备 |
CN110753070A (zh) * | 2018-07-23 | 2020-02-04 | 北京国双科技有限公司 | 数据通信方法、客户端、服务端以及数据通信系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822523A (en) * | 1996-02-01 | 1998-10-13 | Mpath Interactive, Inc. | Server-group messaging system for interactive applications |
CN1874233A (zh) * | 2005-06-01 | 2006-12-06 | 腾讯科技(深圳)有限公司 | 一种发送广播消息的系统及方法 |
CN101296101A (zh) * | 2007-04-28 | 2008-10-29 | 中兴通讯股份有限公司 | 会议业务通知的优化方法和系统 |
WO2008135573A1 (en) * | 2007-05-08 | 2008-11-13 | Nokia Siemens Networks Oy | Method and device for broadcast synchronization in a network |
CN102404239A (zh) * | 2010-09-08 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种用于在微博中提供广播消息的方法和系统 |
-
2013
- 2013-12-30 CN CN201310746280.6A patent/CN103684808B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822523A (en) * | 1996-02-01 | 1998-10-13 | Mpath Interactive, Inc. | Server-group messaging system for interactive applications |
CN1874233A (zh) * | 2005-06-01 | 2006-12-06 | 腾讯科技(深圳)有限公司 | 一种发送广播消息的系统及方法 |
CN101296101A (zh) * | 2007-04-28 | 2008-10-29 | 中兴通讯股份有限公司 | 会议业务通知的优化方法和系统 |
WO2008135573A1 (en) * | 2007-05-08 | 2008-11-13 | Nokia Siemens Networks Oy | Method and device for broadcast synchronization in a network |
CN102404239A (zh) * | 2010-09-08 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种用于在微博中提供广播消息的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103684808A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103684808B (zh) | 广播消息的发送方法及服务器 | |
CN102667771B (zh) | 通过数据比较自动检验冗余内容到通信设备的存储的系统和方法 | |
MX2011007796A (es) | Autenticacion para una red de malla local inalambrica, multi-tier. | |
CN111080295A (zh) | 一种基于区块链的电子合同处理方法以及设备 | |
CN107592367A (zh) | 家电设备的资源共享方法、装置和计算机可读存储介质 | |
CN105072108B (zh) | 用户信息的传输方法、装置及系统 | |
CN104580246B (zh) | WiFi环境下动态智能安全密钥产生和管控系统及方法 | |
CN104038406B (zh) | 信息提醒方法和装置 | |
US9237010B2 (en) | Secure transmission of a message | |
JP2019021055A (ja) | 管理サーバ、データ閲覧システム及びプログラム | |
CN102904893A (zh) | 验证装置和验证方法 | |
CN101404575A (zh) | 一种更新签名算法的方法和系统 | |
CN106507383A (zh) | 实名审计方法、设备和系统 | |
CN109391473A (zh) | 一种电子签章的方法、装置及存储介质 | |
CN105721274B (zh) | 一种多种即时通讯的融合方法及装置 | |
CN107294931A (zh) | 调整限制访问频率的方法和装置 | |
CN107295510A (zh) | 基于ocsp实现家庭基站准入控制的方法、设备及系统 | |
CN103327026B (zh) | 一种数据更新方法和更新系统 | |
CN108062690A (zh) | 广告推送的方法、装置、电子设备及存储介质 | |
CN102821064B (zh) | 即时通信工具设置即时用户图标的方法、客户端及系统 | |
CN112580077A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN105788055A (zh) | 社交网站投票系统及方法 | |
CN107396319B (zh) | 一种无线网络认证的方法、设备、存储介质以及终端回收设备 | |
CN114092101B (zh) | 交易验证方法、装置、存储介质及电子设备 | |
EP4030687A1 (en) | Authenticating anonymous information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |