监控数据处理方法、装置和监控服务器与流程

文档序号:12271157阅读:399来源:国知局
监控数据处理方法、装置和监控服务器与流程

本申请涉及数据监控领域,具体而言,涉及一种监控数据处理方法、装置和监控服务器。



背景技术:

对于各个被监控对象的监控主要是通过被监控对象向监控服务器发送监控数据来实现的,监控服务器对接收到的监控数据进行分析处理,确定出各被监控对象的情况。在监控过程中,如果监控服务器启动或者出现重启时,会导致监控服务器上的被监控对象的监控数据不完整。在这种情况下,监控服务器收到每条数据后都需要首先在自身检索这条数据所属的被监控对象的信息,然后向给被监控对象返回消息,以便于被监控对象及时将完整的监控数据发送至监控服务器。然而,在大数据量的场景下,检索是个比较复杂的事情,使得监控服务器每次处理的数据量非常大,从而影响监控服务器的处理效率。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种监控数据处理方法、装置和监控服务器,以至少解决由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题。

根据本申请实施例的一个方面,提供了一种监控数据处理方法,包括:接收监控服务器发送的消息,其中,所述消息携带有所述监控服务器启动完成的时刻信息;将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监控数据的时刻进行比较;如果所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻,则向所述监控服务器发送全量监控数据,以使所述监控服务器接利用所述发送的全量监控数据更新所述监控服务器本地的监控数据。

进一步地,在接收监控服务器发送的消息之后,所述方法还包括:判断被监控对象是否向所述监控服务器发送过全量监控数据;如果判断出未向所述监控服务器发送过全量监控数据,则向所述监控服务器发送全量监控数据;其中,如果判断出已向所 述监控服务器发送过全量监控数据,则所述被监控对象将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监控数据的时刻进行比较。

进一步地,如果所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻,则向所述监控服务器发送全量监控数据包括:判断在所述监控服务器启动完成的时刻之后是否向所述监控服务器发送全量监控数据中的部分数据;如果判断出在所述监控服务器启动完成的时刻之后已向所述监控服务器发送所述部分数据,则将全量监控数据中除所述部分数据之外的数据发送至所述监控服务器;如果判断出所述被监控对象在所述监控服务器启动完成的时刻之后未向所述监控服务器发送所述部分数据,则向所述监控服务器发送全量监控数据。

根据本申请实施例的另一方面,还提供了一种监控数据处理方法,包括:向被监控对象发送消息,其中,所述消息携带有所述监控服务器启动完成的时刻信息,以使所述被监控对象将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监控数据的时刻进行比较,并在确定出所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻时,向所述监控服务器发送全量监控数据;接收所述被监控对象发送的全量监控数据;利用所述被监控对象发送的全量监控数据更新所述监控服务器本地的监控数据。

进一步地,所述方法还包括:在所述监控服务器启动完成并经过一个生命周期后,清除所述启动完成的时刻信息,其中,所述生命周期为被监控对象向所述监控服务器发送监控数据的最长的时间间隔;向所述被监控对象返回清除所述启动完成的时刻信息后的消息。

根据本申请实施例的另一方面,还提供了一种监控数据处理装置,所述装置设置在被监控对象上,所述装置包括:接收单元,用于接收监控服务器发送的消息,其中,所述消息携带有所述监控服务器启动完成的时刻信息;比较单元,用于将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监控数据的时刻进行比较;发送单元,用于在所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻时,向所述监控服务器发送全量监控数据,以使所述监控服务器利用所述发送的全量监控数据更新所述监控服务器本地的监控数据。

进一步地,所述装置还包括:判断单元,用于在接收监控服务器发送的消息之后,判断被监控对象是否向所述监控服务器发送过全量监控数据;其中,所述发送单元还用于在未向所述监控服务器发送过全量监控数据时,向所述监控服务器发送全量监控数据;所述比较单元具体用于在已向所述监控服务器发送过全量监控数据时,所述被监控对象将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监 控数据的时刻进行比较。

进一步地,所述发送单元包括:判断模块,用于在所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻时,判断所述被监控对象在所述监控服务器启动完成的时刻之后是否已向所述监控服务器发送全量监控数据中的部分数据;发送模块,用于在所述被监控对象在所述监控服务器启动完成的时刻之后已向所述监控服务器发送所述部分数据时,将全量监控数据中除所述部分数据之外的数据发送至所述监控服务器,在所述被监控对象在所述监控服务器启动完成的时刻之后未向所述监控服务器发送所述部分数据时,向所述监控服务器发送全量监控数据。

根据本申请实施例的另一方面,还提供了一种监控服务器,包括:消息发送单元,用于向被监控对象发送消息,其中,所述消息携带有所述监控服务器启动完成的时刻信息,以使所述被监控对象将所述监控服务器启动完成的时刻与最近一次向所述监控服务器发送全量监控数据的时刻进行比较,并在确定出所述监控服务器启动完成的时刻晚于所述最近一次向所述监控服务器发送全量监控数据的时刻时,向所述监控服务器发送全量监控数据;数据接收单元,用于接收所述被监控对象发送的全量监控数据;数据更新单元,用于利用所述被监控对象发送的全量监控数据更新所述监控服务器本地的监控数据。

进一步地,所述监控服务器还包括:清除单元,用于在所述监控服务器启动完成并经过一个生命周期后,清除所述启动完成的时刻信息,其中,所述生命周期为被监控对象向所述监控服务器发送监控数据的最长的时间间隔;其中,所述消息发送单元还用于向所述被监控对象返回清除所述启动完成的时刻信息的消息。

根据本申请实施例,通过接收监控服务器发送的携带有监控服务器启动完成的时刻信息的消息,并将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,以使监控服务器利用发送的全量监控数据更新监控服务器本地的监控数据,这样,监控服务器可以通过记录启动完成的时刻信息,并将该时刻信息发送至被监控对象,被监控对象就会将全量监控数据发送至监控服务器,无需监控服务器在本地检索被监控对象的信息,就可获得被监控对象的全量监控数据,解决了由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题,达到了提高监控服务器的处理效率的效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例1的监控数据处理方法的流程图;

图2是根据本申请实施例2的监控数据处理方法的流程图;

图3是根据本申请实施例3的监控数据处理装置的示意图;

图4是根据本申请实施例4的监控服务器的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本申请实施例,提供了一种监控数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例1的监控数据处理方法的流程图,该方法可以通过本申请实施例的被监控对象来执行。如图1所示,该方法包括如下步骤:

步骤S102,接收监控服务器发送的消息。其中,该消息携带有监控服务器启动完 成的时刻信息。

步骤S104,将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较。

步骤S106,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,以使监控服务器利用发送的全量监控数据更新监控服务器本地的监控数据。

监控服务器启动后,记录启动完成的时刻信息。监控服务器向被监控对象发送消息可以是在接收到该被监控对象向监控服务器发送监控数据之后,监控服务器向该被监控对象返回携带有监控服务器启动完成的时刻信息的消息。

被监控对象接收到该消息之后,将其记录的监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,其中,被监控对象在每一次向监控服务器发送全量监控数据时,记录该发送的时刻信息。全量监控数据为监控服务器对被监控对象进行监控的完整的监控数据,最近一次向监控服务器发送全量监控数据的时刻可以是指距离被监控对象接收到监控服务器返回的消息的时刻最近的一次向监控服务器发送全量监控数据的时刻。如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据;反之,则无需向监控服务器发送全量监控数据。

根据本申请实施例,通过接收监控服务器发送的携带有监控服务器启动完成的时刻信息的消息,并将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,以使监控服务器利用发送的全量监控数据更新监控服务器本地的监控数据,这样,监控服务器可以通过记录启动完成的时刻信息,并将该时刻信息发送至被监控对象,被监控对象就会将全量监控数据发送至监控服务器,无需监控服务器在本地检索被监控对象的信息,就可获得被监控对象的全量监控数据,解决了由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题,达到了提高监控服务器的处理效率的效果。

需要说明的是,本领域技术人员知晓,被监控对象的监控数据可能会随着时间发生变化,因此,后续发送的全量监控数据与最近一次向监控服务器发送的全量监控数据可以相同,也可以不相同,这里并没有对其做出限定。

优选地,在接收监控服务器发送的消息之后,方法还包括:判断被监控对象是否向监控服务器发送过全量监控数据;如果判断出未向监控服务器发送过全量监控数据, 则被监控对象向监控服务器发送全量监控数据;其中,如果判断出已向监控服务器发送过全量监控数据,则将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较。

在接收到监控服务器的消息之后,被监控对象可以先判断是否已经向监控服务器发送过全量监控数据,如果是,则将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,以便于判断是否需要重新向监控服务器发送全量监控数据;反之,则还从未向监控服务器发送过全量监控数据,此时,可以直接将全量监控数据发送至监控服务器。

本实施例中,通过预先判断被监控对象是否向监控服务器发送过全量监控数据,以便于在判断出从未向监控服务器发送过监控服务器时,直接将全量监控数据发送至监控服务器。

优选地,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据包括:判断在监控服务器启动完成的时刻之后是否向监控服务器发送全量监控数据中的部分数据;如果判断出在监控服务器启动完成的时刻之后已向监控服务器发送部分数据,则将全量监控数据中除部分数据之外的剩下的数据发送至监控服务器;如果判断出在监控服务器启动完成的时刻之后未向监控服务器发送部分数据,则向监控服务器发送全量监控数据。

本实施例中,被监控对象可以记录每次向监控服务器发送监控数据的时刻信息,这样,在确定监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻之后,还可以先判断在监控服务器启动完成之后是否向其发送过全量监控数据中的部分数据,如果是,则可以将全量监控数据中剩下的部分数据发送至监控服务器,从而实现分批将全量数据发送至监控服务器;反之,则将全量监控数据发送至监控服务器。

每个被监控对象的监控数据可以是固定的几个组,每个组都有各自的标识。比如被监控对象的监控数据由组A、组B、组C、组D组成,那么监控服务器接收到每个组数据,其监控数据就是完整的即得到全量监控数据。被监控对象将监控数据划分成几个组,每组数据最少发送一次,在此之后,当这些组的数据发生变化的情况下才会再次发送,将发生变化的数据信息发送给监控服务器。

本实施例中,假如被监控对象的监控数据分为组A、组B、组C、组D,在监控服务器启动完成之后,被监控对象已经分别将组A、组B的数据发送至监控服务器,那么在确定监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的 时刻,被监控服务器只需将组C、组D的数据发送至监控服务即可完成全量监控数据的发送,这样可以减少数据传输量,提高数据传输效率。

优选地,全量监控数据由多组监控数据组成,被监控对象向监控服务器发送全量监控数据包括:被监控对象将多组监控数据依次发送至监控服务器。

本实施例中,被监控对象可以按照监控数据的预先分组,依次将多组监控发送至监控服务器,以完成全量监控数据的发送。这样,可以避免由于全量监控数据的数据量较大导致数据传输出错的问题。

本申请实施例中的监控服务器监控的被监控对象可以是一个或者多个,具体地,被监控对象发到监控服务器的监控数据中,可以携带有被监控对象自身的身份标识(identification,简称为ID),每个组的数据携带有组标识,就像上面举例的A、B、C、D就是组标识。举例来说,监控服务器从收到的监控数据中可以看出,来自ID=1的被监控对象的监控数据,包含组A、B,或者来自ID=3的被监控对象的监控数据,包含组C。根据这些监控数据,监控服务器就能正确识别每个被监控对象的数据,并进行统计分析。

如果某个被监控对象(比如ID=1的被监控对象)之前已经发送过某个组的数据(比如组A)给监控服务器,后来又发送了一次相同的组(组A)的数据,那么说明这个组的数据有更新,监控服务器应该以后来接收到的数据为准,更新相应的数据(这个例子中是ID=1的组A数据)。

需要说明的是,本申请实施例的监控方式可以用于对被监控对象的实时监控,在这种情况下,可以不用备份和存储历史明细数据,对于历史明细数据持久化保存不但浪费存储空间,还要消耗系统IO,影响性能。以用于统计视频的在线播放的视频实时监控系统为例,被监控对象可以是客户端播放器。由于同时在线的客户端播放器可能数以百万计,或者更多,因此数据量非常大,这种情况下对历史明细数据进行存储是非常浪费存储空间,并消耗系统IO的。

而采用本申请实施例的监控数据处理方法,当监控服务器收到一个被监控对象发来的某组或某几组数据时,可以将这些组的数据分别更新保存在内存中,以供后续使用。但如果监控服务器出现故障,或者因为其他原因需要重启,那么原先收到的这些数据就丢了,监控服务器只需将丢失的数据组对应的标识发送至相应的被监控对象,该被监控对象就可以将已丢失的数据重新发送至监控服务器。这样,使得监控服务器无需使用额外的存储空间来存储历史明细数据,且降低了系统IO的消息。

实施例2

本申请实施例还提供了一种监控数据处理方法,该方法可以由本申请实施例的监控服务器来执行。如图2所示,该方法包括步骤如下:

步骤S202,向被监控对象发送消息,其中,消息携带有监控服务器启动完成的时刻信息,以使被监控对象将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,并在确定出监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻时,向监控服务器发送全量监控数据。

步骤S204,接收被监控对象发送的全量监控数据。

步骤S206,利用被监控对象发送的全量监控数据更新监控服务器本地的被监控对象的监控数据。

监控服务器启动后,记录启动完成的时刻信息。监控服务器向被监控对象发送消息可以是在接收到该被监控对象向监控服务器发送监控数据之后,监控服务器接收到该监控数据之后,向该被监控对象返回携带有监控服务器启动完成的时刻信息的消息。

被监控对象接收到该消息之后,将其记录的监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,其中,被监控对象在每一次向监控服务器发送全量监控数据时,记录该发送的时刻信息。全量监控数据为监控服务器对被监控对象进行监控的完整的监控数据,最近一次向监控服务器发送全量监控数据的时刻可以是指距离被监控对象接收到监控服务器返回的消息的时刻最近的一次向监控服务器发送全量监控数据的时刻。如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据;反之,则无需向监控服务器发送全量监控数据。

根据本申请实施例,通过向被监控对象发送携带有监控服务器启动完成的时刻信息的消息,以使被监控对象将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,监控服务器接收到被监控对象发送的全量监控数据,并利用发送的全量监控数据更新监控服务器本地的被监控对象的监控数据,这样,监控服务器可以通过记录启动完成的时刻信息,并将该时刻信息发送至被监控对象,被监控对象就会将全量监控数据发送至监控服务器,无需监控服务器在本地检索被监控对象的信息,就可获得被监控对象的全量监控数据,解决了由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题,达到了提高监控服务器的处理效率的效果。

优选地,方法还包括:在监控服务器启动完成并经过一个生命周期后,清除启动完成的时刻信息,其中,生命周期为被监控对象向监控服务器发送监控数据的最长的时间间隔;监控服务器向被监控对象返回清除启动完成的时刻信息的消息。

本申请实施例还可以设置被监控对象的生命周期。具体地,被监控对象发送数据到监控服务器上,监控服务器才知道该被监控对象的存在,如果某个被监控对象下线了,那么它就不再向监控服务器发送数据。当监控服务器超过一定时间没收到这个被监控对象的数据之后,监控服务器就认为被监控对象已经不在线了,这个时间就叫做生命周期。因此一个在线的被监控对象必须以小于生命周期的间隔持续向监控服务器发送数据,以表示自己仍然在线,有时候发出的数据并不包含任何更新信息,仅仅是表明自己仍然在线。

对于实时监控的被监控对象发送数据都会有一个最长间隔,称为生命周期,因此监控服务器启动后经过一个生命周期,所有在线的被监控对象都发送过监控数据,从而也都收到了监控服务器的这个启动时间。因此监控服务器可以等一个大于此生命周期的时间之后,清除自己启动完成的时刻,即这个时间之后返回给被监控对象的消息为空,以节省带宽。当然,也可以不清除,只要返回空消息即可。

实施例3

本申请实施例还提供了一种监控数据处理装置,该装置设置在被监控对象上,可以用于执行本申请实施例1的监控数据处理方法。如图3所示,该装置包括:接收单元301、比较单元303和发送单元305。

接收单元301用于接收监控服务器发送的消息,其中,消息携带有监控服务器启动完成的时刻信息。

比较单元303用于将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较。

发送单元305用于在监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻时,向监控服务器发送全量监控数据,以使监控服务器利用发送的全量监控数据更新监控服务器本地的监控数据。

监控服务器启动后,记录启动完成的时刻信息。监控服务器向被监控对象发送消息可以是在接收到该被监控对象向监控服务器发送监控数据之后,监控服务器向该被监控对象返回携带有监控服务器启动完成的时刻信息的消息。

接收单元301接收到该消息之后,比较单元303将记录的监控服务器启动完成的 时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,其中,被监控对象在每一次向监控服务器发送全量监控数据时,记录该发送的时刻信息。全量监控数据为监控服务器对被监控对象进行监控的完整的监控数据,最近一次向监控服务器发送全量监控数据的时刻可以是指距离被监控对象接收到监控服务器返回的消息的时刻最近的一次向监控服务器发送全量监控数据的时刻。如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则发送单元305向监控服务器发送全量监控数据;反之,则无需向监控服务器发送全量监控数据。

根据本申请实施例,通过接收监控服务器发送的携带有监控服务器启动完成的时刻信息的消息,并将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,以使监控服务器利用发送的全量监控数据更新监控服务器本地的被监控对象的监控数据,这样,监控服务器可以通过记录启动完成的时刻信息,并将该时刻信息发送至被监控对象,被监控对象就会将全量监控数据发送至监控服务器,无需监控服务器在本地检索被监控对象的信息,就可获得被监控对象的全量监控数据,解决了由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题,达到了提高监控服务器的处理效率的效果。

优选地,装置还包括:判断单元,用于在接收监控服务器发送的消息之后,判断被监控对象是否向监控服务器发送过全量监控数据;发送单元还用于在被监控对象未向监控服务器发送过全量监控数据时,向监控服务器发送全量监控数据;比较单元具体用于在已向监控服务器发送过全量监控数据时,将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较。

接收单元301在接收到监控服务器的消息之后,可以先通过判断单元来判断是否已经向监控服务器发送过全量监控数据,如果是,则将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,以便于判断是否需要重新向监控服务器发送全量监控数据;反之,则还从未向监控服务器发送过全量监控数据,此时,可以直接将全量监控数据发送至监控服务器。

本实施例中,通过预先判断被监控对象是否向监控服务器发送过全量监控数据,以便于在判断出从未向监控服务器发送过监控服务器时,直接将全量监控数据发送至监控服务器。

优选地,发送单元包括:判断模块,用于在监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻时,判断被监控对象在监控服务器启动完 成的时刻之后是否已向监控服务器发送全量监控数据中的部分数据;发送模块,用于在被监控对象在监控服务器启动完成的时刻之后已向监控服务器发送部分数据时,将全量监控数据中除部分数据之外的数据发送至监控服务器,在被监控对象在监控服务器启动完成的时刻之后未向监控服务器发送部分数据时,向监控服务器发送全量监控数据。

本实施例中,被监控对象可以记录每次向监控服务器发送监控数据的时刻信息,通过判断模块判断在监控服务器启动完成之后是否向其发送过全量监控数据中的部分数据,如果是,则可以将全量监控数据中剩下的部分数据发送至监控服务器,从而实现分批将全量数据发送至监控服务器;反之,则将全量监控数据发送至监控服务器。

每个被监控对象的监控数据可以是固定的几个组,每个组都有各自的标识。比如被监控对象的监控数据由组A、组B、组C、组D组成,那么监控服务器接收到每个组数据,其监控数据就是完整的即得到全量监控数据。被监控对象将监控数据划分成几个组,每组数据最少发送一次,在此之后,当这些组的数据发生变化的情况下才会再次发送,将发生变化的数据信息发送给监控服务器。

本实施例中,假如被监控对象的监控数据分为组A、组B、组C、组D,在监控服务器启动完成之后,被监控对象已经分别将组A、组B的数据发送至监控服务器,那么在确定监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,被监控服务器只需将组C、组D的数据发送至监控服务即可完成全量监控数据的发送,这样可以减少数据传输量,提高数据传输效率。

优选地,全量监控数据由多组监控数据组成,发送单元还用于将多组监控数据依次发送至监控服务器。

本实施例中,被监控对象可以按照监控数据的预先分组,依次将多组监控发送至监控服务器,以完成全量监控数据的发送。这样,可以避免由于全量监控数据的数据量较大导致数据传输出错的问题。

实施例4

本申请实施例还提供了一种监控服务器,该监控服务器可以用于执行本申请实施例2的监控数据处理方法。如图4所示,该监控服务器包括:消息发送单元401、数据接收单元403和数据更新单元405。

消息发送单元401用于向被监控对象发送消息,其中,消息携带有监控服务器启动完成的时刻信息,以使被监控对象将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,并在确定出监控服务器启动完成的时刻晚 于最近一次向监控服务器发送全量监控数据的时刻时,向监控服务器发送全量监控数据。

数据接收单元403用于接收被监控对象发送的全量监控数据。

数据更新单元405用于利用被监控对象发送的全量监控数据更新监控服务器本地的监控数据。

监控服务器启动后,记录启动完成的时刻信息。监控服务器向被监控对象发送消息可以是在接收到该被监控对象向监控服务器发送监控数据之后,监控服务器接收到该监控数据之后,向该被监控对象返回携带有监控服务器启动完成的时刻信息的消息。

被监控对象接收到该消息之后,将其记录的监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,其中,被监控对象在每一次向监控服务器发送全量监控数据时,记录该发送的时刻信息。全量监控数据为监控服务器对被监控对象进行监控的完整的监控数据,最近一次向监控服务器发送全量监控数据的时刻可以是指距离被监控对象接收到监控服务器返回的消息的时刻最近的一次向监控服务器发送全量监控数据的时刻。如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据;反之,则无需向监控服务器发送全量监控数据。

根据本申请实施例,通过向被监控对象发送携带有监控服务器启动完成的时刻信息的消息,以使被监控对象将监控服务器启动完成的时刻与最近一次向监控服务器发送全量监控数据的时刻进行比较,如果监控服务器启动完成的时刻晚于最近一次向监控服务器发送全量监控数据的时刻,则向监控服务器发送全量监控数据,监控服务器接收到被监控对象发送的全量监控数据,并利用发送的全量监控数据更新监控服务器本地的被监控对象的监控数据,这样,监控服务器可以通过记录启动完成的时刻信息,并将该时刻信息发送至被监控对象,被监控对象就会将全量监控数据发送至监控服务器,无需监控服务器在本地检索被监控对象的信息,就可获得被监控对象的全量监控数据,解决了由于监控服务器检索被监控对象的信息影响监控服务器的处理效率的技术问题,达到了提高监控服务器的处理效率的效果。

优选地,监控服务器还包括:清除单元,用于在监控服务器启动完成并经过一个生命周期后,清除启动完成的时刻信息,其中,生命周期为被监控对象向监控服务器发送监控数据的最长的时间间隔;其中,消息发送单元还用于向被监控对象返回清除启动完成的时刻信息的消息。

本申请实施例还可以设置被监控对象的生命周期。具体地,被监控对象发送数据 到监控服务器上,监控服务器才知道该被监控对象的存在,如果某个被监控对象下线了,那么它就不再向监控服务器发送数据。当监控服务器超过一定时间没收到这个被监控对象的数据之后,监控服务器就认为被监控对象已经不在线了,这个时间就叫做生命周期。因此一个在线的被监控对象必须以小于生命周期的间隔持续向监控服务器发送数据,以表示自己仍然在线,有时候发出的数据并不包含任何更新信息,仅仅是表明自己仍然在线。

对于实时监控的被监控对象发送数据都会有一个最长间隔,称为生命周期,因此监控服务器启动后经过一个生命周期,所有在线的被监控对象都发送过监控数据,从而也都收到了监控服务器的这个启动时间。因此监控服务器可以等一个大于此生命周期的时间之后,清除自己启动完成的时刻,即这个时间之后返回给被监控对象的消息为空,以节省带宽。当然,也可以不清除,只要返回空消息即可。

下面,通过具体示例来描述本申请实施例的方案。具体步骤如下:

步骤S1,监控服务器于2014-10-2916:46:12启动完成,将这个时刻记录下来。

步骤S2,监控服务器收到被监控对象A向监控服务器发送的数据,则向被监控对象A回复监控服务器启动完成的时刻2014-10-2916:46:12。

步骤S3,被监控对象A收到这个时间,将其与自身最近一次进行全量监控数据发送的时间进行对比,如果未发送过全量监控数据,所以后续进行了一次全量监控数据发送,并记录下发送时间2014-10-2916:46:50。

步骤S4,监控服务器收到全量监控数据,进行更新,更新之后关于被监控对象A的数据就完全恢复了。

可选地,假定生命周期为2分钟,在时刻2014-10-2916:48:12,由于距离启动的时间已经超过被监控对象的生命周期,所以将此时间清除。

步骤S5,收到被监控对象A向监控服务器发送的数据,回复一个空的消息。

步骤S6,被监控对象A收到消息,发现回复的消息是空的,故认为自身已经发送过全量的数据,不做任何特殊回应。

假设此时监控服务器故障,修复故障后重启系统:

步骤S7,监控服务器于2014-10-2917:45:11启动完成,将这个时刻记录下来。

步骤S8,收到被监控对象A向监控服务器发送的数据,则向被监控对象A回复监控服务器启动完成的时刻2014-10-2917:45:11。

步骤S9,被监控对象A收到这个时间,和自身最近一次进行全量监控数据发送的时间进行对比,发现自身最近一次发送全量监控数据的时间是2014-10-2916:46:50,早于监控服务器回复的时间,所以后续进行了一次全量监控数据发送,并记录下发送时间2014-10-2917:45:42。

步骤S10,监控服务器收到全量监控数据,进行更新,更新之后关于被监控对象A的数据就完全恢复了。

在这个例子中,监控服务器重启了两次,按照这个技术方案,每次都能得到恢复。例子中以某个特定的被监控对象A为例来说明,而被监控对象是众多被监控对象中的一员,事实上用这个技术方案,监控服务器上的所有被监控对象的数据都能在生命周期限定的间隔内完全恢复。这个方案比起现有技术中的方案来说实现起来更简单,对于监控服务器和被监控对象来说都容易实现,并且不需要在大量数据中去检索被监控对象的信息,可以直接返回,提高了响应的速度。

综上,本申请实施例的技术方案可以带来如下有益效果:

1、由于监控服务器会告诉被监控对象一个自身的启动完成时刻,意味着在这个时刻,监控服务器上的数据是完全空白的,因此被监控对象能够在这个时刻之后进行一次全量监控数据发送,让监控服务器了解自身当前的完整信息。因此监控服务器上的数据能够恢复完整;

2、由于在一个生命周期的间隔内,所有在线的被监控对象一定会进行至少一次数据发送,因此在此间隔内每个在线的被监控对象一定都能得知接下来需要进行全量监控数据发送,这样一来,监控服务器上的数据就能在确定的时间间隔内恢复完整。这个时间间隔取决于生命周期,例如1-2分钟;

3、由于缺失的信息来自于被监控对象,所以无需占用任何持久化存储空间(监控服务器端不需要,被监控对象一方也不需要),相应地也无需占用系统IO,节省资源开销;

4、由于监控服务器返回给所有被监控对象的信息都是统一的,和具体的被监控对象的信息无关,不需要进行任何检索即可直接回复,因此响应速度快。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它 的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1