【技术实现步骤摘要】
一种基于单台服务器的消息推送方法及其装置
本申请涉及计算机领域,尤其涉及一种基于单台服务器的消息推送方法及其装置。
技术介绍
目前,单台服务器推送消息的推送量在百万级。为了突破这个极限,大多是采用部署集群的方式,极大的增加了预算和成本。举例来说,若服务器需要给终端甲和终端乙,主动推送消息,100万终端在线维护在集合中,在推送消息时即需要遍历整个集合,从100万终端中查询到终端甲和终端乙的信息,并顺序发送消息,耗时极长;且消息推送期间,集合中维护的客户端仍旧正常的上下线,集合面临不停的修改,有修改需要重新遍历,所以集合需要上锁,上锁也会增加消息推送的耗时;此外,服务器与终端之间通过JSON格式通信,而JSON编码非常消耗CPU资源,若服务器给100万终端推送一次消息则需要100万次JSON编码,进一步消耗了CPU资源,增加了推送时间。因此,如何使得单台服务器的消息推送,减少CPU资源的消耗,减少消息的推送时间,显得尤为重要。
技术实现思路
为了解决上述问题,本申请提出一种基于单台服务器的消息推送方法,该方法能够减少CPU资源的消耗,减少消息的推送时间。本申请第一方面提供 ...
【技术保护点】
1.一种基于单台服务器的消息推送方法,其特征在于,所述方法包括:服务器接收第一终端发送的多条消息,其中,所述多条消息为所述服务器从接收消息的时刻开始到预定时间之内接收到的所有消息;将所述多条消息合并成第一消息,所述第一消息包括目标终端信息;遍历第一集合,得到所述第一消息对应的路径配置信息;其中,所述第一集合包括所有与服务器相连接的终端的路径配置信息以及相应目标终端信息,所述路径配置信息用于指示相应消息的传输路径;所述服务器通过所述第一集合与至少一个目标终端建立连接。
【技术特征摘要】
1.一种基于单台服务器的消息推送方法,其特征在于,所述方法包括:服务器接收第一终端发送的多条消息,其中,所述多条消息为所述服务器从接收消息的时刻开始到预定时间之内接收到的所有消息;将所述多条消息合并成第一消息,所述第一消息包括目标终端信息;遍历第一集合,得到所述第一消息对应的路径配置信息;其中,所述第一集合包括所有与服务器相连接的终端的路径配置信息以及相应目标终端信息,所述路径配置信息用于指示相应消息的传输路径;所述服务器通过所述第一集合与至少一个目标终端建立连接。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述服务器将所述第一集合分为多个第二集合,其中,所述第一集合存储的目标终端信息量和其对应消息的路径配置信息量,大于所述第二集合存储的目标终端信息量和其对应消息的路径配置信息量。3.根据权利要求2所述的方法,其特征在于,遍历第一集合,得到所述第一消息对应的路径配置信息,具体为:所述服务器同时遍历所述多个第二集合,得到所述第一消息对应的路径配置信息。4.根据权利要求2所述的方法,其特征在于,所述服务器将第一集合分为多个第二集合,具体为:根据在线目标终端的数量,将所述第一集合划分为多个第二集合。5.根据权利要求4所述的方法,其特征在于,所述第二集合存储的目标终端信息的数量小于或等于五万条。6.根据权利要求1所述的方法,其特征在于,所述服务器将所...
【专利技术属性】
技术研发人员:李鹏,刘在平,甘法刚,李在学,吕昌峰,崔利,宫光超,王力民,
申请(专利权)人:山东信通电子股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。