本发明涉及领域,尤其涉及一种云终端设备监控方法及系统。
背景技术:
云终端管理系统可以对系统中成千上万的云终端设备进行统一的管理。当用户需要实时监控云终端设备的运行情况时(实时监控云终端设备的CPU、内存等使用情况,如普通PC机的性能监控),通过云终端管理系统进行统一的管理与监控能够有效的简化用户的操作。
现有技术中相似的实现方案:
1、用户手动在每台云终端设备上查看CPU、内存等的使用情况,操作如普通PC性能监控。
2、云终端设备同时向云终端管理系统上报实时性能数据,云终端管理系统再将实时性能数据推送至与此云终端设备相关的实时性能监控的页面。
现有技术的缺点是:
1、操作繁琐、耗时
2、当用户关闭实时性能监控的页面时,与之对应的相关云终端设备还是会继续向云终端管理系统上报实时性能数据,云终端管理系统会接收到大量的用户不需要监控的云终端设备上报的实时性能的数据,造成系统网络数据流量偏大、网络吞吐量较高的问题。
技术实现要素:
为解决上述技术问题,本发明提供一种云终端设备监控方法及系统,能够降低系统网络数据流量、网络吞吐量,简化用户查看云终端实时性能的操作。
本发明提供的技术方案如下:
本发明公开了一种云终端设备监控方法,包括步骤:S100、浏览器端根据用户选择的被监控云终端设备生成WebSocket连接请求,并发送所述WebSocket连接请求至服务端;S200、服务端接收所述WebSocket连接请求,与浏览器端建立WebSocket连接;S300、服务端根据所述WebSocket连接请求向被监控云终端设备发送上报通知报文;S400、被监控云终端设备接收到所述上报通知报文,向服务端上报实时性能数据;S500、服务端接收被监控云终端上报的实时性能数据,并将所述实时性能数据推送至浏览器端。
进一步优选的,所述步骤S200还包括步骤:S201、服务端根据所述WebSocket连接请求获取被监控云终端设备的唯一标识符,将所述唯一标识符与WebSocket连接映射,并保存在内存中。
进一步优选的,所述步骤S200与步骤S300之间还包括步骤:S250、服务端判断被监控云终端设备是否处于上报数据状态;S260、当被监控云终端设备不处于上传数据状态时,执行步骤S300。
进一步优选的,还包括步骤:S610、服务端实时轮询内存中保存的WebSocket连接是否已经断开;S620、若是,则将该WebSocket连接从内存中清除。
进一步优选的,所述步骤S620之后还包括步骤:S630、服务端判断内存中是否存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系;S640、若不存在,则服务端发送停止上报通知报文至被监控云终端设备。
本发明还公开了一种云终端设备监控系统,包括:浏览器端、服务端和至少一个被监控云终端设备;所述浏览器端用于根据用户选择的所述被监控云终端设备生成WebSocket连接请求,并发送所述WebSocket连接请求至所述服务端;所述服务端用于接收所述WebSocket连接请求,与所述浏览器端建立WebSocket连接,并根据所述WebSocket连接请求向所述被监控云终端设备发送上报通知报文;所述被监控云终端设备接收到所述上报通知报文,向所述服务端上报实时性能数据;所述服务端还用于接收所述被监控云终端上报的实时性能数据,并将所述实时性能数据推送至所述浏览器端。
进一步优选的,所述服务端还用于根据所述WebSocket连接请求获取所述被监控云终端设备的唯一标识符,将所述唯一标识符与WebSocket连接映射,并保存在内存中。
进一步优选的,所述服务端还用于判断被监控云终端设备是否处于上报数据状态,以及当判断所述被监控云终端设备不处于上传数据状态时,根据所述WebSocket连接请求向所述被监控云终端设备发送上报通知报文。
进一步优选的,所述服务端还用于实时轮询内存中保存的WebSocket连接是否已经断开,以及当内存中保存的WebSocket连接已经断开时,将该WebSocket连接从内存中清除。
进一步优选的,所述服务端还用于判断内存中是否存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系,以及当内存中不存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系时,发送停止上报通知报文至所述被监控云终端设备。
与现有技术相比,本发明解决了批量云终端设备同时向云终端管理系统的服务端上报实时性能数据时造成的系统网络数据流量偏大、网络吞吐量较高的问题。本发明极大的简化了用户对批量云终端设备的实时性能监控,并且云终端设备只有在被监控的情况下才会向服务端上报实时性能数据,能够有效的降低系统网络数据流量、网络吞吐量。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明予以进一步说明。
图1为本发明一种云终端设备监控方法的主要步骤示意图;
图2为本发明一种云终端设备监控方法的完整步骤示意图;
图3为本发明一种云终端设备监控系统的主要组成示意图。
附图标号说明:
100、浏览器端,200、服务端,300、被监控云终端设备。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
图1为本发明一种云终端设备监控方法的主要步骤示意图,如图1所示,一种云终端设备监控方法,包括步骤:S100、浏览器端根据用户选择的被监控云终端设备生成WebSocket连接请求,并发送所述WebSocket连接请求至服务端;S200、服务端接收所述WebSocket连接请求,与浏览器端建立WebSocket连接;S300、服务端根据所述WebSocket连接请求向被监控云终端设备发送上报通知报文;S400、被监控云终端设备接收到所述上报通知报文,向服务端上报实时性能数据;S500、服务端接收被监控云终端上报的实时性能数据,并将所述实时性能数据推送至浏览器端。
具体的,本发明基于BS架构。只有当相关的云终端设备被用户选择进行实时监控时,云终端设备才会向服务端上报实时性能数据,服务端将接收到的实时性能数据推送至浏览器端与之相关的实时性能的监控页面。
所述数据推送是指服务端通过WebSocket的技术将云终端设备上报的实时性能数据推送至实时监控的页面(即浏览器端)。
图2为本发明一种云终端设备监控方法的完整步骤示意图,如图2所示,优选的,所述步骤S200还包括步骤:S201、服务端根据所述WebSocket连接请求获取被监控云终端设备的唯一标识符,将所述唯一标识符与WebSocket连接映射,并保存在内存中。
优选的,如图2所示,所述步骤S200与步骤S300之间还包括步骤:S250、服务端判断被监控云终端设备是否处于上报数据状态;S260、当被监控云终端设备不处于上传数据状态时,执行步骤S300。
本发明通过增加判断云终端设备状态的步骤是为了当云终端设备已经处于上报数据状态时直接执行上报数据,而不需要额外发送通知报文,从而减轻网络负担。
优选的,如图2所示,还包括步骤:S610、服务端实时轮询内存中保存的WebSocket连接是否已经断开;S620、若是,则将该WebSocket连接从内存中清除。
优选的,如图2所示,所述步骤S620之后还包括步骤:S630、服务端判断内存中是否存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系;S640、若不存在,则服务端发送停止上报通知报文至被监控云终端设备。
具体的,当浏览器端的实时性能监控的页面关闭时,与之相关的云终端设备则停止向服务端上报实时性能的数据。
下面详细介绍本发明的完整工作流程。具体如下:
一:用户在浏览器端选择某一云终端设备进行实时性能监控,浏览器端连接WebSocket服务端。
二:WebSocket服务端接收到浏览器端的WebSocket连接请求时,将被监控的云终端的唯一标识符与此WebSocket连接映射,并保存在内存中。判断此云终端设备是否已经被监控,如没有被监控,则调用报文发送模块发送报文通知云终端设备开始上报实时性能的数据。
三:云终端管理系统的报文接收模块接收到云终端设备上报的实时性能的数据,解析之后,调用WebSocket消息推送模块,将实时性能数据推送至浏览器端,实现实时性能数据的实时显示。
四:WebSocket连接实时检测模块轮询保存WebSocket连接的内存块,判断WebSocket连接是否已经断开,如连接已经断开,将此连接从内存中移除。并且判断是否存在其他WebSocket连接监控这个已经断开的连接所对应的云终端设备,如不存在,则发送报文通知云终端设备停止向云终端管理系统上报实时性能的数据。如存在,则云终端设备继续向云终端管理系统发送实时性能的数据。
图3为本发明一种云终端设备监控系统的主要组成示意图,如图3所示,一种云终端设备监控系统,包括:浏览器端、服务端和至少一个被监控云终端设备;所述浏览器端用于根据用户选择的所述被监控云终端设备生成WebSocket连接请求,并发送所述WebSocket连接请求至所述服务端;所述服务端用于接收所述WebSocket连接请求,与所述浏览器端建立WebSocket连接,并根据所述WebSocket连接请求向所述被监控云终端设备发送上报通知报文;所述被监控云终端设备接收到所述上报通知报文,向所述服务端上报实时性能数据;所述服务端还用于接收所述被监控云终端上报的实时性能数据,并将所述实时性能数据推送至所述浏览器端。
具体的,本发明所述服务端基于BS(服务器/浏览器)架构。
所述服务端定义一报文发送模块,用于向云终端设备发送上报通知报文。
所述服务端定义一报文接收模块,用于接收云终端设备上报的实时性能数据。
所述服务端定义一WebSocket消息推送模块,用于将消息推送至浏览器端。
本发明极大的简化了用户对批量云终端设备的实时性能监控,并且云终端设备只有在被监控的情况下才会向服务端上报实时性能数据,能够有效的降低系统网络数据流量、网络吞吐量。
优选的,所述服务端还用于根据所述WebSocket连接请求获取所述被监控云终端设备的唯一标识符,将所述唯一标识符与WebSocket连接映射,并保存在内存中。
所述服务端中还定义一模块WebSocket服务端,用于接收浏览器的WebSocket连接请求,并保存此连接。
优选的,所述服务端还用于判断被监控云终端设备是否处于上报数据状态,以及当判断所述被监控云终端设备不处于上传数据状态时,根据所述WebSocket连接请求向所述被监控云终端设备发送上报通知报文。
优选的,所述服务端还用于实时轮询内存中保存的WebSocket连接是否已经断开,以及当内存中保存的WebSocket连接已经断开时,将该WebSocket连接从内存中清除。
具体的,所述服务端定义一WebSocket连接实时检测模块,用于检测WebSocket连接是否已经断开。
优选的,所述服务端还用于判断内存中是否存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系,以及当内存中不存在其他WebSocket连接与被监控云终端设备的所述唯一标识符为映射关系时,发送停止上报通知报文至所述被监控云终端设备。
本发明解决了批量云终端设备同时向云终端管理系统的服务端上报实时性能数据时造成的系统网络数据流量偏大、网络吞吐量较高的问题。
需要说明的是,本装置中各模块之间的信息交互、执行过程等内容与上述方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。