著录项信息
专利名称 | 广播消息的发送方法及服务器 |
申请号 | CN201310746280.6 | 申请日期 | 2013-12-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-03-26 | 公开/公告号 | CN103684808A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/18 | IPC分类号 | H;0;4;L;1;2;/;1;8查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
发明人 | 李鹏宏 |
代理机构 | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人 | 王仲凯 |
摘要
本发明公开一种广播消息的发送方法及服务器,本发明实施例缓存新生成的广播消息;按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将符合条件的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端;相较于现有技术中,服务器直接将生成的广播消息发送给客户端的方法,本发明实施例具有降低服务器发送广播消息的发送频率的有益效果;另外,对于客户端来说,也降低了广播消息的接收频率,提高了人机的可交互性。
广播消息的发送方法及服务器\n技术领域\n[0001] 本发明涉及互联网技术,还涉及通讯领域,尤其涉及一种广播消息的发送方法及服务器。\n背景技术\n[0002] 随着互联网技术的不断发展和通讯工具的日趋先进,通过网络通讯工具,基于某一共同特点、需求或者兴趣爱好,许多用户聚合在一起形成房间或者群组这一虚拟空间。当该房间或者群组产生广播消息以后,服务器立即将对应的广播消息广播给该房间或者群组中的所有用户。而大容量房间或者群组需要广播的广播消息非常多,服务器需要不断地发送广播消息至各客户端对应的用户,而该房间或者群组中的所有客户端也需要不断地接收对应的广播消息,广播消息的发送和接收非常频繁;过于频繁的广播消息的发送可能会占用过多的服务器资源,影响服务器的其他功能;而过于频繁的广播消息的接收也可能会影响客户端其他应用程序的正常运行;因此,如何降低房间或者群组中广播消息的广播频率成为一个亟待解决的问题。\n发明内容\n[0003] 鉴于此,有必要提供一种广播消息的发送方法及服务器,以降低服务器对群组中各客户端发送广播消息的发送频率。\n[0004] 本发明实施例公开了一种广播消息的发送方法,包括以下步骤:\n[0005] 缓存新生成的广播消息;\n[0006] 按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;\n[0007] 根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。\n[0008] 本发明实施例还公开了一种广播消息的发送服务器,包括:\n[0009] 缓存模块,用于缓存新生成的广播消息;\n[0010] 获取模块,用于按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;\n[0011] 广播模块,用于根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。\n[0012] 本发明实施例缓存新生成的广播消息;按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将符合条件的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端;相较于现有技术中,服务器直接将生成的广播消息发送给客户端的方法,本发明实施例具有降低服务器发送广播消息的发送频率的有益效果;另外,对于客户端来说,也降低了广播消息的接收频率,提高了人机的可交互性。\n附图说明\n[0013] 图1是本发明广播消息的发送方法第一实施例流程示意图;\n[0014] 图2是本发明广播消息的发送方法中服务器缓存的广播消息示例图;\n[0015] 图3是本发明广播消息的发送方法第二实施例流程示意图;\n[0016] 图4是本发明广播消息的发送方法第三实施例流程示意图;\n[0017] 图5是本发明广播消息的发送方法第四实施例流程示意图;\n[0018] 图6是本发明广播消息的发送服务器运行环境示例图;\n[0019] 图7是本发明广播消息的发送服务器第一实施例功能模块示意图;\n[0020] 图8是本发明广播消息的发送服务器第二实施例功能模块示意图;\n[0021] 图9是本发明广播消息的发送服务器第三实施例功能模块示意图;\n[0022] 图10是本发明广播消息的发送服务器第四实施例功能模块示意图;\n[0023] 图11是本发明广播消息的发送服务器一实施例硬件结构示意图。\n[0024] 本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。\n具体实施方式\n[0025] 以下结合说明书附图及具体实施例进一步说明本发明的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0026] 本发明提供了一种广播消息的发送方法第一实施例;如图1所示,本发明广播消息的发送方法包括以下步骤:\n[0027] 步骤S01、缓存新生成的广播消息;\n[0028] 对于新生成的广播信息,广播服务器均先将上述新生成的广播消息缓存起来;比如,对于许多用户聚合在一起的大容量房间群组这一虚拟空间,广播服务器对于上述房间产生的广播消息先进行缓存,而不是立即广播给各客户端。广播服务器缓存新生成的广播消息包括:将新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围等对应信息一起存储;其中,广播编号唯一对应一条广播消息,且广播服务器每生成一条广播消息,广播服务器将新生成的广播消息对应的广播编号增加1。如图2所示,在广播服务器缓存的各广播消息中,按照广播消息生成时间的先后顺序,根据依次递增1的规则设置各广播消息对应的广播编号。\n[0029] 本发明实施例中,所述新生成的广播消息可以理解为:基于客户端触发的操作事件或者系统指令,应用服务器发送对应的广播消息生成指令或者广播消息的特征信息或者其他与广播消息相关的信息至广播服务器,广播服务器根据应用服务器发送的信息,生成对应的所述广播消息。\n[0030] 步骤S02、按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;\n[0031] 广播服务器按照第一预设周期轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;识别在预设时长内没有接收到任何广播消息的客户端,同时获取预设时长内没有接收到任何广播消息的客户端所对应的用户标识。所述第一预设周期和预设时长均可根据需要进行设置;考虑到广播消息的时效性,通常将所述第一预设周期和预设时长设置得较小;考虑到服务器广播的频率或者客户端接收广播消息的频率,也可以适当增大所述第一预设周期并验证所述预设时长。\n[0032] 比如,广播服务器每秒钟轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;根据上述各客户端最新接收的广播消息的接收时间,获取广播服务器轮询至该客户端这一时间点时,超过两秒钟没有接收过广播消息的客户端;同时,获取超过两秒钟没有接收过广播消息的客户端的用户标识。\n[0033] 所述用户标识包括客户端最新接收的广播消息对应的广播编号,以及该客户端对应的广播游标;所述广播游标可以理解为广播服务器为每个客户端标识的是否接收对应广播消息的标识信息,该广播游标代表了对应的客户端所接收的广播消息的广播编号;比如,广播消息对应的广播编号大于该客户端对应的广播游标,则表示该广播编号对应的广播消息尚未被该客户端接收;再比如,对于新加入的客户端因其尚未接收任何广播消息,因此将新加入的客户端所对应的广播游标设置为广播服务器当前缓存的广播消息中广播编号所对应的最大值。另外,对于新加入的客户端,以该客户端加入的时间点为分割点,广播服务器仅向该客户端推送上述分割点之后产生的广播消息。\n[0034] 步骤S03、根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收的所有广播消息合成一个数据包,并将合成的所述数据包发送至所述用户标识对应的客户端。\n[0035] 广播服务器根据获取的上述用户标识,获取该用户标识对应的客户端应该接收但尚未接收的所有广播消息,并将该客户端应该接收但尚未接收的所有广播消息组合成一个数据包,并将组合后的上述数据包发送至该用户标识对应的所有客户端。由于广播服务器对上述多条广播信息进行合包,并将合包后的包括上述多条广播消息的数据包一次性发送至客户端,因此降低了广播服务器对广播消息的发送频率。\n[0036] 在本发明一优选实施例中,广播服务器根据上述用户标识中的广播游标,比较各用户标识中广播游标的数值与缓存的所有广播消息的广播编号;当广播编号大于上述广播游标的数值时,表明该广播游标对应的客户端没有接收到该广播编号对应的广播消息,因此,广播服务器识别大于所述用户标识中广播游标的广播编号所对应的广播消息作为所述用户标识对应的客户端尚未接收的广播消息;如图2所示,客户端A对应的广播游标的数值是51243,则对于大于51243的所有广播编号所对应的广播消息,该客户端A均未接收到。另外,由于广播服务器缓存广播消息时,同时缓存了各广播消息对应的广播接收者范围,因此广播服务器根据客户端的用户标识及广播消息对应的接收者范围,同时识别上述客户端尚未接收的广播消息是否为该客户端应当接收的广播消息;并在广播服务器识别上述尚未接收的广播消息同时也是该客户端应当接收的广播消息时,广播服务器将上述符合条件的广播消息合包发送至对应的客户端。比如,图2所示的广播服务器缓存的广播消息中,对于客户端A,广播编号51247~51249对应的广播消息的接收者范围为客户端A~客户端C,而广播编号51244~51246对应的广播消息的接收者范围没有包含客户端A,则广播服务器仅将广播编号51247~51249对应的广播消息进行合包后,发送至客户端A。\n[0037] 本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。\n[0038] 本发明还提供了广播消息的发送方法第二实施例;如图3所示,本发明广播消息的发送方法在图1所述实施例的“步骤S01、所述缓存新生成的广播消息”,之后还包括:\n[0039] 步骤S11、按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。\n[0040] 本发明实施例中的所述步骤S11可以在图1所述实施例的步骤S02之前执行,也可以在所述步骤S02之后、步骤S03之前执行。图2所述实施例以步骤S11在图1所述实施例的步骤S02之前执行。\n[0041] 为了减轻广播服务器的缓存压力,广播服务器按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至其他的预设存储空间,也可以理解为,广播服务器按照第二预设周期对缓存的所有广播消息进行淘汰。所述第二预设周期可以与图1所述实施例中的第一预设周期相等,也可以不相等;第二预设周期也可以根据广播服务器的具体运行情况和客户端的反馈进行调整,本实施例对第二预设周期的具体时长不做限定。\n比如,广播服务器每秒钟对缓存的所有广播消息进行淘汰。\n[0042] 本发明实施例中,广播服务器将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:\n[0043] 广播服务器将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。比如,广播服务器把所有生成时间到广播服务器检测的这一时间点为止超过两秒的广播消息淘汰掉,即转存至其他的预设存储空间。\n[0044] 或者:\n[0045] 广播服务器检测到当缓存的所述广播消息超过缓存空间阈值时,广播服务器按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。比如,广播服务器检测到当缓存的所述广播消息的总数量超过30M时,从最早生成的广播消息开始淘汰,直到缓存剩下小于30M的广播消息。\n[0046] 由于广播服务器生成的每条广播消息的所占用的存储空间基本一样,因此也可以设置缓存的广播消息的数量阈值作为淘汰缓存广播消息的一个规则;比如,广播服务器检测到当缓存的所述广播消息的总数量超过三千条时,从最早生成的广播消息开始淘汰,直到缓存剩下小于三千条的广播消息。\n[0047] 如图2所示,广播服务器将广播消息缓存池中符合预设规则的广播消息淘汰,即将符合预设规则的广播消息转存至其他的预设存储空间。\n[0048] 本发明实施例广播服务器按照第二预设周期将符合预设规则的广播消息转存至预设存储空间,减轻了服务器的缓存压力。\n[0049] 本发明还提供了一种广播消息的发送方法第三实施例;如图4所示,本发明广播消息的发送方法在图3所示实施例的“步骤S01、所述将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间”,之后还包括:\n[0050] 步骤S12、获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;将满足广播规则的广播消息发送至未接收到所述广播消息的客户端。\n[0051] 本发明实施例中,所述步骤S12与图3所述实施例中的步骤S02和步骤S03并列执行。其中,本发明实施例与图3所述实施例的区别是,图3实施例描述的是广播服务器将缓存的广播消息中符合预设规则的广播消息转存至预设存储空间后即淘汰符合预设规则的广播消息后,广播服务器对淘汰后还剩余的缓存消息的处理;本发明实施例描述的则是,对广播服务器淘汰的满足预设规则的广播消息的处理。\n[0052] 如图4所示,广播服务器将符合规则的广播消息转存至预设存储空间后即广播服务器对于淘汰的广播消息,获取淘汰的广播消息的广播类型;根据获取的广播类型,对于不可丢弃的广播消息即满足广播规则的广播消息,比如,上述广播类型为涉及网络安全的安全类广播消息,则广播服务器将上述满足广播规则的广播至没有接收过该广播的各客户端;对于可丢弃的广播消息即满足删除规则的广播消息,比如,上述广播类型为娱乐八卦的娱乐类广播消息,则广播服务器直接将满足删除规则的广播消息丢弃。\n[0053] 本发明实施例广播服务器对淘汰的广播消息进行广播或者丢弃,避免了重要广播消息的漏播;同时,对于删除的广播消息,释放了服务器的存储空间。\n[0054] 本发明还提供了一种广播消息的发送方法第四实施例;如图5所示,本发明广播消息的发送方法在图1或图3所示实施例的“步骤S03、根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端”,之后还包括:\n[0055] 步骤S04、修改所述客户端对应的用户标识。\n[0056] 本发明实施例以图1所示实施例的步骤S03之后执行该步骤为例进行描述。当广播服务器将对应的广播消息发送至所述用户标识对应的客户端后,由于该客户端接收了对应的广播消息,因此该客户端的用户标识中的广播游标的数值肯定发生了变化,为了避免重复发送广播消息,广播服务器在向各客户端发送对应的广播消息之后,广播服务器同时修改各客户端的用户标识中最新接收广播消息的接收时间和对应的广播游标的数值。\n[0057] 本发明实施例广播服务器向客户端发送广播消息后,修改对应客户端的用户标识,避免重复向同一客户端重复发送相同的广播消息,同时保证了该客户端接收广播消息的时效性。\n[0058] 本发明还提供了一种广播消息的发送服务器第一实施例;本发明广播消息的发送服务器运行环境如图6所示,广播服务器与各客户端通过互联网进行通信和数据交互。所述客户端包括但不限于:PC(Personal Computer,个人电脑)、智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MID)、PAD等移动设备。\n[0059] 如图7所示,本发明广播消息的发送服务器包括:缓存模块01、获取模块02和广播模块03。\n[0060] 缓存模块01,用于缓存新生成的广播消息;\n[0061] 对于新生成的广播信息,缓存模块01均先将上述新生成的广播消息缓存起来;比如,对于许多用户聚合在一起的大容量房间群组这一虚拟空间,缓存模块01对于上述房间产生的广播消息先进行缓存,而不是立即广播给各客户端。缓存模块01缓存新生成的广播消息包括:将新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围等对应信息一起存储;其中,广播编号唯一对应一条广播消息,且广播服务器每生成一条广播消息,广播服务器将新生成的广播消息对应的广播编号增加1。如图2所示,在缓存模块01缓存的各广播消息中,按照广播消息生成时间的先后顺序,广播服务器根据依次递增1的规则设置各广播消息对应的广播编号。\n[0062] 本发明实施例中,所述新生成的广播消息可以理解为:基于客户端触发的操作事件或者系统指令,应用服务器发送对应的广播消息生成指令或者广播消息的特征信息或者其他与广播消息相关的信息至广播服务器,广播服务器根据应用服务器发送的信息,生成对应的所述广播消息。\n[0063] 获取模块02,用于按照第一预设周期轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;\n[0064] 获取模块02按照第一预设周期轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;获取模块02识别在预设时长内没有接收到任何广播消息的客户端,同时获取模块02获取预设时长内没有接收到任何广播消息的客户端所对应的用户标识。所述第一预设周期和预设时长均可根据需要进行设置;考虑到广播消息的时效性,通常将所述第一预设周期和预设时长设置得较小;考虑到服务器广播的频率或者客户端接收广播消息的频率,也可以适当增大所述第一预设周期并验证所述预设时长。\n[0065] 比如,获取模块02每秒钟轮询群组中的所有客户端,获取各客户端最新接收的广播消息的接收时间;根据上述各客户端最新接收的广播消息的接收时间,获取模块02获取广播服务器轮询至该客户端这一时间点时,超过两秒钟没有接收过广播消息的客户端;同时,获取模块02获取超过两秒钟没有接收过广播消息的客户端的用户标识。\n[0066] 所述用户标识包括客户端最新接收的广播消息对应的广播编号,以及该客户端对应的广播游标;所述广播游标可以理解为广播服务器为每个客户端标识的是否接收对应广播消息的标识信息,该广播游标代表了对应的客户端所接收的广播消息的广播编号;比如,广播消息对应的广播编号大于该客户端对应的广播游标,则表示该广播编号对应的广播消息尚未被该客户端接收;再比如,对于新加入的客户端因其尚未接收任何广播消息,因此将新加入的客户端所对应的广播游标设置为广播服务器当前缓存的广播消息中广播编号所对应的最大值。另外,对于新加入的客户端,以该客户端加入的时间点为分割点,广播服务器仅向该客户端推送上述分割点之后产生的广播消息。\n[0067] 广播模块03,用于根据所述用户标识,获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包发送至所述用户标识对应的客户端。\n[0068] 广播模块03根据获取模块02获取的上述用户标识,获取该用户标识对应的客户端应该接收但尚未接收的所有广播消息,并将该客户端应该接收但尚未接收的所有广播消息组合成一个数据包,并将组合后的上述数据包发送至该用户标识对应的所有客户端。由于广播模块03对上述多条广播信息进行合包,并将合包后的包括上述多条广播消息的数据包一次性发送至客户端,因此降低了广播服务器对广播消息的发送频率。\n[0069] 在本发明一优选实施例中,广播模块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。\n[0070] 本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。\n[0071] 进一步地,本发明还提供了广播消息的发送服务器第二实施例功能模块示意图;\n如图8所示,本发明广播消息的发送服务器还包括:\n[0072] 淘汰模块04,用于按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。\n[0073] 为了减轻广播服务器的缓存压力,淘汰模块04按照第二预设周期,将缓存的所述广播消息中符合预设规则的广播消息转存至其他的预设存储空间,也可以理解为,淘汰模块04按照第二预设周期对缓存的所有广播消息进行淘汰。所述第二预设周期可以与图1所述实施例中的第一预设周期相等,也可以不相等;第二预设周期也可以根据广播服务器的具体运行情况和客户端的反馈进行调整,本实施例对第二预设周期的具体时长不做限定。\n比如,淘汰模块04每秒钟对缓存的所有广播消息进行淘汰。\n[0074] 本发明实施例中,淘汰模块04将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间,包括:\n[0075] 淘汰模块04将缓存的所述广播消息中,广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。比如,淘汰模块04把所有生成时间到广播服务器检测的这一时间点为止超过两秒的广播消息淘汰掉,即转存至其他的预设存储空间。\n[0076] 或者:\n[0077] 淘汰模块04检测到当缓存的所述广播消息超过缓存空间阈值时,淘汰模块04按照所述广播消息生成时间的先后顺序,将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。比如,淘汰模块04检测到当缓存的所述广播消息的总数量超过30M时,从最早生成的广播消息开始淘汰,直到缓存剩下小于30M的广播消息。\n[0078] 由于广播服务器生成的每条广播消息的所占用的存储空间基本一样,因此淘汰模块04也可以设置缓存的广播消息的数量阈值作为淘汰缓存广播消息的一个规则;比如,淘汰模块04检测到当缓存的所述广播消息的总数量超过三千条时,从最早生成的广播消息开始淘汰,直到缓存剩下小于三千条的广播消息。\n[0079] 如图2所示,淘汰模块04将广播消息缓存池中符合预设规则的广播消息淘汰,即将符合预设规则的广播消息转存至其他的预设存储空间。\n[0080] 本发明实施例广播服务器按照第二预设周期将符合预设规则的广播消息转存至预设存储空间,减轻了服务器的缓存压力。\n[0081] 进一步地,本发明还提供了广播消息的发送服务器第三实施例;如图9所示,本发明广播消息的发送服务器还包括:\n[0082] 删除模块05,用于获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;\n[0083] 删除模块05将符合规则的广播消息转存至预设存储空间后即广播服务器对于淘汰的广播消息,获取淘汰的广播消息的广播类型;根据获取的广播类型,对于不可丢弃的广播消息即满足广播规则的广播消息,比如,上述广播类型为涉及网络安全的安全类广播消息,则广播模块03将上述满足广播规则的广播至没有接收过该广播的各客户端;对于可丢弃的广播消息即满足删除规则的广播消息,比如,上述广播类型为娱乐八卦的娱乐类广播消息,则删除模块05直接将满足删除规则的广播消息丢弃。\n[0084] 本发明实施例广播服务器对淘汰的广播消息进行广播或者丢弃,避免了重要广播消息的漏播;同时,对于删除的广播消息,释放了服务器的存储空间。\n[0085] 进一步地,本发明还提供了广播消息的发送服务器第四实施例;如图10所示,本发明广播消息的发送服务器还包括:\n[0086] 修改模块06,用于修改所述客户端对应的用户标识。\n[0087] 当广播模块03将对应的广播消息发送至所述用户标识对应的客户端后,由于该客户端接收了对应的广播消息,因此该客户端的用户标识中的广播游标的数值肯定发生了变化,为了避免重复发送广播消息,广播模块03在向各客户端发送对应的广播消息之后,修改模块06同时修改各客户端的用户标识中最新接收广播消息的接收时间和对应的广播游标的数值。\n[0088] 本发明实施例广播服务器向客户端发送广播消息后,修改对应客户端的用户标识,避免重复向同一客户端重复发送相同的广播消息,同时保证了该客户端接收广播消息的时效性。\n[0089] 本发明还提供了一种广播消息的发送服务器的硬件结构,如图11所示,该广播消息的发送服务器包括:\n[0090] 处理器101、存储器102、用户接口103、网络接口104以及通信总线105。通信总线\n105用于本地服务器中各组成部件之间的通信,用户接口103用于接收用户输入的信息,该用户接口可以为有线接口及无线接口,例如键盘、鼠标等。网络接口104用于广播服务器与外部进行互相通信,该网络接口也可以包括有线接口及无线接口。存储器102可以包括一个或一个以上计算机可读存储介质,而且其不但包括内部存储器,还包括外部存储器。该存储器中存储有操作系统及广播消息发送应用程序等等。处理器101用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0091] 通过网络接口104缓存新生成的广播消息;\n[0092] 处理器101按照第一预设周期,通过用户接口103轮询群组中的所有客户端,获取在预设时长内没有接收到任何广播消息的客户端所对应的用户标识;\n[0093] 根据所述用户标识,通过通信总线105获取所述用户标识对应的客户端尚未接收但应当接收的所有广播消息,将尚未接收但应当接收的所有广播消息合成一个数据包后,将合成后的所述数据包通过用户接口103发送至所述用户标识对应的客户端。\n[0094] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0095] 按照第二预设周期,通过通信总线105将缓存的所述广播消息中符合预设规则的广播消息转存至预设存储空间。\n[0096] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0097] 通过通信总线105,将缓存的所述广播消息中广播消息的生成时间大于预设缓存时长的广播消息转存至预设存储空间。\n[0098] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0099] 当缓存的所述广播消息超过缓存空间阈值时,按照所述广播消息生成时间的先后顺序,通过通信总线105将对应的广播消息转存至预设存储空间直到缓存的所有所述广播消息未超出所述缓存空间阈值。\n[0100] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0101] 通过通信总线105获取所述预设存储空间中存储的所有广播消息的广播类型,根据所述广播类型,将满足删除规则的广播消息删除;将满足广播规则的广播消息通过用户接口103发送至未接收到所述广播消息的客户端。\n[0102] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0103] 通过网络接口104缓存新生成的广播消息所对应的生成时间、广播编号、广播内容、广播类型、广播发布者和广播接收者范围。\n[0104] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0105] 根据所述用户标识中的广播游标,通过通信总线105比较所述广播游标的数值与缓存的所述广播消息的广播编号;\n[0106] 通过通信总线105识别大于所述广播游标的广播编号所对应的广播消息为所述用户标识对应的客户端尚未接收的广播消息;\n[0107] 通过通信总线105获取所述尚未接收的广播消息所对应的接收者范围,根据所述接收者范围,通过通信总线105识别所述用户标识对应的尚未接收但应当接收的所述广播消息。\n[0108] 进一步的,处理器101还用于调用存储器102中的广播消息发送应用程序,以执行以下操作:\n[0109] 通过用户接口103修改所述客户端对应的用户标识。\n[0110] 本发明实施例广播服务器缓存新生成的广播消息,按照预设周期轮询各客户端,筛选出各客户端应当接收但尚未接收的广播消息,并对符合上述条件的广播消息合包后发送至各客户端;相较于现有技术中,广播服务器将新生成的广播消息即时发送给各客户端的方法,本发明实施例具有降低服务器发送广播消息频率的有益效果。\n[0111] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。\n[0112] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。\n[0113] 以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
法律信息
- 2017-02-08
- 2014-04-23
实质审查的生效
IPC(主分类): H04L 12/18
专利申请号: 201310746280.6
申请日: 2013.12.30
- 2014-03-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1996-02-01
| | |
2
| |
2008-10-29
|
2007-04-28
| | |
3
| |
2012-04-04
|
2010-09-08
| | |
4
| |
2006-12-06
|
2005-06-01
| | |
5
| | 暂无 |
2008-05-06
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |