一种服务器端消息推送装置、方法及消息推送系统制造方法及图纸

技术编号:15441944 阅读:130 留言:0更新日期:2017-05-26 06:56
本发明专利技术公开了一种服务器端消息推送装置及其方法,用于虚拟化管理系统,包括连接管理模块,用于记录当前与服务器端建立连接的客户端的连接信息,连接信息包括客户端的ip信息;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将更新业务消息推送至相应的若干个客户端内;消息工具模块,用于接收各个业务模块推送的更新业务消息,并调用处理器模块;接收处理器模块返回的更新业务消息并发送至连接管理模块;处理器模块,用于对更新业务消息进行数据解析调整处理,将处理完成后的更新业务消息发送至消息工具模块。本发明专利技术能够避免无效的消息查询,减小无效资源的开销。本发明专利技术还公开了一种包括上述装置的消息推送系统。

Server side message push device, method and message push system

The invention discloses a server message push device and method for virtualization management system, including connection management module, used to record the current connection information and server to connect the client connection information, including client IP information; on the basis of push list update service message processing after the corresponding and pre recorded the connection information, will update the business push messages to the corresponding number of client; messaging module is used to update the service message receiving each business module push, and call the processor module; the receiving processor module returned to update the service message and send to the connection management module; processor module, used for data analysis to update adjustment business news, will process after the completion of the update service message to the message tool module. The invention can avoid invalid message inquiry and reduce the cost of invalid resources. The invention also discloses a message push system comprising the device.

【技术实现步骤摘要】
一种服务器端消息推送装置、方法及消息推送系统
本专利技术涉及消息通讯
,特别是涉及一种服务器端消息推送装置及其方法。本专利技术还涉及一种消息推送系统。
技术介绍
虚拟化管理系统依赖于服务器将资源、监控状态的变化消息及时通知到虚拟化管理的客户端。目前,客户端与服务器端之间的消息通讯采用的主要为长轮询方式,该方式由客户端定时向服务器端请求来刷新数据。由于为了避免信息遗漏,该种方式下,不论服务器端是否出现消息更新,客户端均会周期性的进行查询,故存在大量的无效查询,无效资源开销大。因此,如何提供一种减少无效查询的服务器端消息推送装置、方法及消息推送系统是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种服务器端消息推送装置及其方法,能够避免无效的消息查询,减小无效资源的开销。本专利技术的另一目的是提供一种消息推送系统。为解决上述技术问题,本专利技术提供了一种服务器端消息推送装置,用于虚拟化管理系统,包括:连接管理模块,用于记录当前与服务器端建立连接的客户端的连接信息,所述连接信息包括所述客户端的ip信息;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端内;消息工具模块,用于接收各个业务模块推送的更新业务消息,并调用处理器模块;接收所述处理器模块返回的更新业务消息并发送至所述连接管理模块;所述处理器模块,用于对所述更新业务消息进行数据解析调整处理,将处理完成后的更新业务消息发送至消息工具模块。优选地,所述连接信息还包括所述客户端所处的分组信息;所述连接管理模块还包括:组播单元,用于依据所述更新业务消息对应的推送列表以及预先记录的分组信息,将所述更新业务消息推送至相应的若干个客户端分组内。优选地,所述连接管理模块具体包括:管理单元,用于记录当前与服务器端建立连接的客户端的连接信息,并实时确定客户端与服务器端连接状态,所述连接状态包括连接创建、连接断开及连接异常;日志记录单元,用于记录消息推送情况以及连接状态,生成推送日志;推送单元,用于依据所述更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端或若干组客户端内。优选地,还包括:数据库,用于接收所述处理器模块在对所述更新业务消息进行处理时发送的推送数据,依据所述推送数据生成推送记录;消息高可用模块,用于在生成推送记录后,将其标记为未发送状态;在推送成功后,将所述数据库内对应的推送记录标记为发送成功状态;在推送失败后,控制所述消息工具模块重新发送相应的更新业务消息至所述连接管理模块,并控制每条更新业务消息的重发次数不超出预设次数。为解决上述技术问题,本专利技术还提供了一种服务器端消息推送方法,用于虚拟化管理系统,包括:记录当前与服务器端建立连接的客户端的连接信息,所述连接信息包括所述客户端的ip信息;接收各个业务模块推送的更新业务消息进行数据解析调整处理;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端内。优选地,所述连接信息还包括所述客户端所处的分组信息;所述依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端内的过程具体为:依据处理后的更新业务消息对应的推送列表以及预先记录的ip信息和分组信息,将所述更新业务消息推送至相应的若干个客户端或若干个客户端分组内。优选地,还包括:实时确定客户端与服务器端连接状态,所述连接状态包括连接创建、连接断开及连接异常。优选地,还包括:记录消息推送情况以及连接状态,生成推送日志。优选地,还包括:在对所述更新业务消息进行处理时,依据所述更新业务消息生成推送记录,并将其标记为未发送状态;在推送成功后,将所述数据库内对应的推送记录标记为发送成功状态;在推送失败后,控制所述消息工具模块重新发送相应的更新业务消息至所述连接管理模块,并控制每条更新业务消息的重发次数不超出预设次数。为解决上述技术问题,本专利技术还提供了一种消息推送系统,用于虚拟化管理系统,包括客户端以及如以上所述的服务器端消息推送装置。本专利技术提供了一种服务器端消息推送装置及其方法,当出现需要推送的消息时,业务模块将更新业务消息发送至消息工具模块,消息工具模块调用处理器模块对更新业务消息进行处理,之后将处理后的更新业务消息发送至连接管理模块,连接管理模块记录当前与服务器端连接的客户端的连接信息,并依据更新业务消息携带的推送列表选择相应的连接信息,并依据该连接信息将更新业务消息发送至对应的客户端。可见,本专利技术由服务器端主动进行更新业务消息的推送,在没有推送消息时,不与客户端之间进行额外的信息交互,减少了无效的消息查询以及消息推送操作,尽可能避免了无效资源的开销。本专利技术还提供了一种消息推送系统。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种服务器端消息推送装置的结构示意图;图2为本专利技术提供的一种服务器端消息推送方法的过程的流程图。具体实施方式本专利技术的核心是提供一种服务器端消息推送装置及其方法,能够避免无效的消息查询,减小无效资源的开销。本专利技术的另一核心是提供一种消息推送系统。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种服务器端消息推送装置,用于虚拟化管理系统,参见图1所示,图1为本专利技术提供的一种服务器端消息推送装置的结构示意图;该装置包括:连接管理模块1,用于记录当前与服务器端建立连接的客户端的连接信息,连接信息包括客户端的ip信息;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将更新业务消息推送至相应的若干个客户端内;消息工具模块2,用于接收各个业务模块推送的更新业务消息,并调用处理器模块3;接收处理器模块3返回的更新业务消息并发送至连接管理模块1;处理器模块3,用于对更新业务消息进行数据解析调整处理,将处理完成后的更新业务消息发送至消息工具模块2。其中,本专利技术中服务器端与客户端采用基于websocket协议的全双工通讯,客户端选择基于sockjs-client开源组件作为通信模块,服务端主要基于spring-websocket来实现。Sockjs和spring-websocket对websocket分别进行了一定程度的接口封装,其中,不同浏览器版本对websocket协议存在不同实现的问题,而sockjs能够屏蔽不同浏览器在应用websocket协议时的实现差异。在消息的具体推送中,客户端与服务端约定一种或多种消息格式,格式基本结构为{type:”,msg:”,ack_enable:”},其中msg作为可扩展部分,在符合json标准数据格式的情况下,可以根本文档来自技高网...
一种服务器端消息推送装置、方法及消息推送系统

【技术保护点】
一种服务器端消息推送装置,用于虚拟化管理系统,其特征在于,包括:连接管理模块,用于记录当前与服务器端建立连接的客户端的连接信息,所述连接信息包括所述客户端的ip信息;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端内;消息工具模块,用于接收各个业务模块推送的更新业务消息,并调用处理器模块;接收所述处理器模块返回的更新业务消息并发送至所述连接管理模块;所述处理器模块,用于对所述更新业务消息进行数据解析调整处理,将处理完成后的更新业务消息发送至消息工具模块。

【技术特征摘要】
1.一种服务器端消息推送装置,用于虚拟化管理系统,其特征在于,包括:连接管理模块,用于记录当前与服务器端建立连接的客户端的连接信息,所述连接信息包括所述客户端的ip信息;依据处理后的更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端内;消息工具模块,用于接收各个业务模块推送的更新业务消息,并调用处理器模块;接收所述处理器模块返回的更新业务消息并发送至所述连接管理模块;所述处理器模块,用于对所述更新业务消息进行数据解析调整处理,将处理完成后的更新业务消息发送至消息工具模块。2.根据权利要求1所述的装置,其特征在于,所述连接信息还包括所述客户端所处的分组信息;所述连接管理模块还包括:组播单元,用于依据所述更新业务消息对应的推送列表以及预先记录的分组信息,将所述更新业务消息推送至相应的若干个客户端分组内。3.根据权利要求2所述的装置,其特征在于,所述连接管理模块具体包括:管理单元,用于记录当前与服务器端建立连接的客户端的连接信息,并实时确定客户端与服务器端连接状态,所述连接状态包括连接创建、连接断开及连接异常;日志记录单元,用于记录消息推送情况以及连接状态,生成推送日志;推送单元,用于依据所述更新业务消息对应的推送列表以及预先记录的连接信息,将所述更新业务消息推送至相应的若干个客户端或若干组客户端内。4.根据权利要求1-3任一项所述的装置,其特征在于,还包括:数据库,用于接收所述处理器模块在对所述更新业务消息进行处理时发送的推送数据,依据所述推送数据生成推送记录;消息高可用模块,用于在生成推送记录后,将其标记为未发送状态;在推送成功后,将所述数据库内对应的推送记录标记为发送成功状态;在推送失败后...

【专利技术属性】
技术研发人员:李瑞丰
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1