一种设备异常处理方法、装置及云存储系统与流程

文档序号:17210328发布日期:2019-03-27 10:44阅读:273来源:国知局
一种设备异常处理方法、装置及云存储系统与流程

本发明涉及视频监控技术领域,特别是涉及一种设备异常处理方法、装置及云存储系统。



背景技术:

视频云存储系统通常包括管理设备以及多台节点设备,节点设备用于接收或存储视频数据,管理设备用于对这些节点设备进行管理。

如果视频云存储系统中的设备出现异常,通常的处理方法包括:管理设备确定异常的节点设备,并调度其他节点设备代替异常的节点设备。但是,如果管理设备出现异常,利用这种处理方法,则不能及时进行处理,视频云存储系统的稳定性较差。



技术实现要素:

本发明实施例的目的在于提供一种设备异常处理方法、装置及云存储系统,以提高视频云存储系统的稳定性。

为达到上述目的,本发明实施例提供了一种设备异常处理方法,应用于云存储系统中的节点设备,所述方法包括:

判断本节点设备的相邻节点设备是否异常;

如果异常,将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备;

与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,在所述判断所述本节点设备的相邻节点设备是否异常之前,还可以包括:

与所述本节点设备的相邻节点设备建立连接关系;

按照预设周期,向所述相邻节点设备发送探测信息;

判断是否接收到所述相邻节点设备的反馈信息;

如果否,执行所述判断所述本节点设备的相邻节点设备是否异常的步骤。

可选的,所述方法还可以包括:

将所述本节点设备的属性信息写入所述云存储系统的共享信息中,并定期对所述共享信息中的所述本节点设备的属性信息进行更新;

所述判断所述本节点设备的相邻节点设备是否异常,可以包括:

判断所述相邻节点设备对所述共享信息中的所述相邻节点设备的属性信息更新是否异常。

可选的,所述与所述本节点设备的相邻节点设备建立连接关系,包括:

根据所述云存储系统的共享信息中包含的所述云存储系统中各台节点设备的序号,确定所述本节点设备的相邻节点设备;

与所述相邻节点设备建立连接关系。

可选的,所述将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备,可以包括:

修改所述云存储系统的共享信息中的所述异常节点设备的属性信息,以使所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备根据所述修改后的共享信息,确定异常节点设备的信息。

可选的,与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略,可以包括:

与所述其他节点设备通过信息交互,选举一台或多台分配节点设备,所述分配节点设备用于确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,若所述本节点设备被选举为所述分配节点设备,所述方法还包括:

根据所述云存储系统的共享信息,确定所述异常节点设备的接入数据或存储数据的处理策略;其中,所述共享信息中包含所述云存储系统中各台节点设备的属性信息,所述处理策略中包含参与处理所述异常节点设备的接入数据或存储数据的各台节点设备的信息。

可选的,所述属性信息中包含节点设备的可处理数据量和/或处理数据的优先级信息;

所述根据所述云存储系统的共享信息,确定所述异常节点设备的接入数据或存储数据的处理策略,可以包括:

根据所述可处理数据量和/或处理数据的优先级信息,确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,在所述与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略之后,还可以包括:

根据所述处理策略,确定并处理所述本节点设备对应的接入数据或存储数据;

向与所述异常节点设备连接的待处理设备发送提示信息,以使所述待处理设备根据所述提示信息,将所述本节点设备对应的接入数据或存储数据发送至所述本节点设备。

可选的,所述本节点设备为视频接入设备,所述向与所述异常节点设备连接的待处理设备发送提示信息,可以包括:

向与所述异常视频接入设备连接的采集设备发送提示信息,以使所述采集设备根据所述提示信息,将本视频接入设备对应的接入数据发送至所述本视频接入设备。

可选的,所述本节点设备为视频存储设备,所述向与所述异常节点设备连接的待处理设备发送提示信息,可以包括:

向与所述异常视频存储设备连接的视频接入设备发送提示信息,以使所述视频接入设备根据所述提示信息,将所述本视频存储设备对应的存储数据发送至所述本节点设备。

为达到上述目的,本发明实施例还提供了一种设备异常处理装置,应用于云存储系统中的节点设备,所述装置包括:

第一判断模块,用于判断本节点设备的相邻节点设备是否异常;

第一发送模块,用于在所述第一判断模块判断是的情况下,将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备;

第一确定模块,用于与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,所述装置还可以包括:

连接模块,用于与所述本节点设备的相邻节点设备建立连接关系;

第二发送模块,用于按照预设周期,向所述相邻节点设备发送探测信息;

第二判断模块,用于判断是否接收到所述相邻节点设备的反馈信息;如果否,触发所述第一判断模块。

可选的,所述装置还可以包括:

写入模块,用于将所述本节点设备的属性信息写入所述云存储系统的共享信息中,并定期对所述共享信息中的所述本节点设备的属性信息进行更新;

所述第一判断模块,具体可以用于:

判断所述相邻节点设备对所述共享信息中的所述相邻节点设备的属性信息更新是否异常。

可选的,所述连接模块,具体可以用于:

根据所述云存储系统的共享信息中包含的所述云存储系统中各台节点设备的序号,确定所述本节点设备的相邻节点设备;

与所述相邻节点设备建立连接关系。

可选的,所述第一发送模块,具体可以用于:

修改所述云存储系统的共享信息中的所述异常节点设备的属性信息,以使所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备根据所述修改后的共享信息,确定异常节点设备的信息。

可选的,所述第一确定模块,具体可以用于:

与所述其他节点设备通过信息交互,选举一台或多台分配节点设备,所述分配节点设备用于确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,所述装置还可以包括:

第二确定模块,用于在所述本节点设备被选举为所述分配节点设备的情况下,根据所述云存储系统的共享信息,确定所述异常节点设备的接入数据或存储数据的处理策略;其中,所述共享信息中包含所述云存储系统中各台节点设备的属性信息,所述处理策略中包含参与处理所述异常节点设备的接入数据或存储数据的各台节点设备的信息。

可选的,所述属性信息中包含节点设备的可处理数据量和/或处理数据的优先级信息;

所述第二确定模块,具体可以用于:

根据所述可处理数据量和/或处理数据的优先级信息,确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,所述装置还可以包括:

第三确定模块,用于根据所述处理策略,确定并处理所述本节点设备对应的接入数据或存储数据;

第三发送模块,用于向与所述异常节点设备连接的待处理设备发送提示信息,以使所述待处理设备根据所述提示信息,将所述本节点设备对应的接入数据或存储数据发送至所述本节点设备。

可选的,所述本节点设备为视频接入设备,所述第三发送模块,具体用于:

向与所述异常视频接入设备连接的采集设备发送提示信息,以使所述采集设备根据所述提示信息,将本视频接入设备对应的接入数据发送至所述本视频接入设备。

可选的,所述本节点设备为视频存储设备,所述第三发送模块,具体用于:

向与所述异常视频存储设备连接的视频接入设备发送提示信息,以使所述视频接入设备根据所述提示信息,将所述本视频存储设备对应的存储数据发送至所述本节点设备。

为达到上述目的,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一种设备异常处理方法。

为达到上述目的,本发明实施例还提供了一种云存储系统,包括:多台节点设备,其中,

每台节点设备,用于判断本节点设备的相邻节点设备是否异常;如果异常,将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备;与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略。

可选的,每台节点设备,还用于:

将本节点设备的属性信息写入所述云存储系统的共享信息中,并定期对所述共享信息中的所述本节点设备的属性信息进行更新;

根据所述共享信息中包含的所述云存储系统中各台节点设备的序号,确定所述本节点设备的相邻节点设备;与所述相邻节点设备建立连接关系;

按照预设周期,向所述相邻节点设备发送探测信息;判断是否接收到所述相邻节点设备的反馈信息;如果否,判断所述相邻节点设备对所述共享信息中的所述相邻节点设备的属性信息更新是否异常;

如果异常,修改所述共享信息中的所述异常节点设备的属性信息;

所述每台节点设备,还用于:

检测所述共享信息是否被修改,如果是,根据修改后的共享信息,确定异常节点设备。

可选的,所述节点设备为视频接入设备;所述视频接入设备,还用于:

根据所述处理策略,确定并处理所述本视频接入设备对应的接入数据;

向与所述异常视频接入设备连接的采集设备发送提示信息,以使所述采集设备根据所述提示信息,将本视频接入设备对应的接入数据发送至所述本视频接入设备。

可选的,所述节点设备为视频存储设备;所述视频存储设备,还用于:

根据所述处理策略,确定并处理所述本视频存储设备对应的存储数据;

向与所述异常视频存储设备连接的视频接入设备发送提示信息,以使所述视频接入设备根据所述提示信息,将本视频存储设备对应的存储数据发送至所述本视频存储设备。

应用本发明实施例,如果云存储系统中存在异常节点设备,未出现异常的各节点设备确定异常节点设备的数据的处理策略,可见,在本方案中,即使管理设备出现异常,未出现异常的各节点设备仍能确定出处理策略,而且任意设备出现异常,未出现异常的各节点设备都可以确定出处理策略,提高了视频云存储系统的稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的设备异常处理方法的第一种流程示意图;

图2为本发明实施例提供的设备异常处理方法的第二种流程示意图;

图3为本发明实施例中的一种循环链表示意图;

图4为本发明实施例中的另一种循环链表示意图;

图5为本发明实施例提供的一种设备异常处理装置的结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图;

图7为本发明实施例提供的一种云存储系统的结构示意图。

具体实施方式

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

为了解决上述技术问题,本发明实施例提供了一种设备异常处理方法、装置及云存储系统。该方法及装置可以应用于云存储系统中的任一台节点设备。

下面首先对本发明实施例提供的一种设备异常处理方法进行详细说明。

图1为本发明实施例提供的设备异常处理方法的第一种流程示意图,包括:

s101:判断本节点设备的相邻节点设备是否异常,如果是,执行s102。

s102:将异常节点设备的信息发送至该云存储系统中除本节点设备及该异常节点设备之外的其他节点设备。

s103:与该其他节点设备通过信息交互,确定该异常节点设备的接入数据或存储数据的处理策略。

应用本发明图1所示实施例,如果云存储系统中存在异常节点设备,未出现异常的各节点设备确定异常节点设备的数据的处理策略,可见,在本方案中,即使管理设备出现异常,未出现异常的各节点设备仍能确定出处理策略,而且任意设备出现异常,未出现异常的各节点设备都可以确定出处理策略,提高了视频云存储系统的稳定性。

下面对图1所示实施例进行详细说明:

s101:判断本节点设备的相邻节点设备是否异常。

作为一种实施方式,在s101之前可以先与本节点设备的相邻节点设备建立连接关系;按照预设周期,向所述相邻节点设备发送探测信息;判断是否接收到所述相邻节点设备的反馈信息;如果未接收到,再执行s101。

举例来说,本节点设备可以与其相邻节点设备建立心跳连接,本节点设备在检测到相邻节点设备心跳超时的情况下,可以继续判断相邻节点设备是否异常。具体的,本节点设备可以与相邻节点设备进行通信,判断是否接收到相邻节点设备反馈的信息,如果未接收到,则表示相邻节点设备异常。

作为一种实施方式,云存储系统中可以存储有共享信息,系统中的每台节点设备均将自身属性信息写入该共享信息中。这样,共享信息中包含系统中每台节点设备的属性信息,系统中的每台节点设备均可以对该共享信息进行访问或修改。该共享信息可以存储在系统中的任意一台或多台设备中,具体不限定。

在这种实施方式中,该共享信息中可以包含各台节点设备的序号,对于每台节点设备来说,其可以根据该序号确定自身的相邻节点设备。举个简单的例子,假设系统中包含10台节点设备,序号分别为1-10,则对于序号为3的节点设备来说,其相邻节点设备可以为序号为2或4的节点设备。

在这种实施方式中,各台节点设备可以定期对共享信息中的自身属性信息进行更新,这样,本节点设备可以判断相邻节点设备对该共享信息中的该相邻节点设备的属性信息更新是否异常。

比如,假设系统中各台节点设备都每10分钟对共享信息中的自身属性信息进行一次更新,本节点设备可以对该共享信息进行监听,判断其相邻节点设备是否在10分钟内对该相邻节点设备的属性信息进行了一次更新,如果未更新,则表示该相邻节点设备异常。

如果s101判断结果为是,执行s102。

s102:将异常节点设备的信息发送至该云存储系统中除本节点设备及该异常节点设备之外的其他节点设备。

作为一种实施方式,本节点设备在与相邻节点设备建立连接关系后,可以获取其相邻节点设备的信息,并在判断相邻节点设备为异常节点设备的情况下,将异常节点设备的信息广播至系统中的其他节点设备。

或者,在上述一种实施方式中,云存储系统中存储有共享信息,共享信息中包含每台节点设备的属性信息,而且每台节点设备均可以访问、修改该共享信息,这样,本节点设备可以修改该共享信息中的异常节点设备的属性信息,系统中的其他节点设备可以根据该修改后的共享信息,确定异常节点设备的信息。

具体的,各台节点设备可以监听共享信息是否被修改,如果被修改,则根据修改后的共享信息,确定异常节点设备的信息。

s103:与该其他节点设备通过信息交互,确定该异常节点设备的接入数据或存储数据的处理策略。

举例来说,系统中的各台非异常节点设备可以协商确定对该异常节点设备的数据进行处理的策略。该处理策略可以为各台非异常节点设备平均分配处理该异常节点设备的数据;或者,也可以根据各台非异常节点设备的处理能力,确定每台非异常节点设备处理的数据;或者,也可以根据各台非异常节点设备的处理能力,指定一台或多台非异常节点设备处理该异常节点设备的数据,等等,具体策略不做限定。

作为一种实施方式,s103可以包括:与所述其他节点设备通过信息交互,选举一台或多台分配节点设备,所述分配节点设备用于确定所述异常节点设备的接入数据或存储数据的处理策略。

这种实施方式,先由各台非异常节点设备选举产生分配节点设备,再由分配节点设备确定处理策略。

对于分配节点设备来说,分配节点设备可以根据云存储系统的共享信息,确定异常节点设备的接入数据或存储数据的处理策略;其中,所述共享信息中包含所述云存储系统中各台节点设备的属性信息,处理策略中包含参与处理所述异常节点设备的接入数据或存储数据的各台节点设备的信息。

具体的,所述属性信息中包含节点设备的可处理数据量和/或处理数据的优先级信息;分配节点设备可以根据该可处理数据量和/或处理数据的优先级信息,确定异常节点设备的接入数据或存储数据的处理策略。

分配节点设备可以将确定的分配策略发送给参与处理异常节点设备数据的各台节点设备。

对于参与处理异常节点设备数据的节点设备来说,其参与处理异常节点设备数据的过程类似,假设本节点设备为参与处理异常节点设备数据的节点设备,以本节点设备为例进行说明:

根据该处理策略,确定并处理所述本节点设备对应的接入数据或存储数据;

向与所述异常节点设备连接的待处理设备发送提示信息,以使所述待处理设备根据所述提示信息,将所述本节点设备对应的接入数据或存储数据发送至所述本节点设备。

具体来说,云存储系统中的节点设备可以为视频接入设备或者视频存储设备。视频接入设备与采集设备通信连接,采集设备将采集到的视频数据接入至视频接入设备。视频接入设备与视频存储设备通信连接,视频接入设备将接入数据存储至视频存储设备中。

如果节点设备为视频接入设备,则待处理设备为采集设备。本视频接入设备可以向与异常视频接入设备连接的采集设备发送提示信息,以使该采集设备根据该提示信息,将本视频接入设备对应的接入数据发送至本视频接入设备。

一种情况下,参与处理异常视频接入设备数据的各台视频接入设备均可以向异常视频接入设备连接的采集设备发送提示信息,每份提示信息中包含发送该提示信息的视频接入设备对应的接入数据信息。

举例来说,假设采集设备a与异常视频接入设备b1相连接,假设参与处理设备b1接入数据的各台视频接入设备分别为:b2、b3、b4;b2向采集设备a发送的提示信息中包含b2对应的接入数据信息,b3向采集设备a发送的提示信息中包含b3对应的接入数据信息,b4向采集设备a发送的提示信息中包含b4对应的接入数据信息;这样,采集设备a根据这三份提示信息,分别将接入数据发送至设备b2、b3、b4。

另一种情况下,可以由一台视频接入设备向异常视频接入设备连接的采集设备发送提示信息,该提示信息中包含参与处理异常视频接入设备数据的各台视频接入设备对应的接入数据信息。

举例来说,假设采集设备a与异常视频接入设备b1相连接,假设参与处理设备b1接入数据的各台视频接入设备分别为:b2、b3、b4;b2向采集设备a发送提示信息,该提示信息中包含b2、b3、b4对应的接入数据信息;这样,采集设备a根据该提示信息,分别将接入数据发送至设备b2、b3、b4。

如果节点设备为视频存储设备,则待处理设备为视频接入设备。本视频存储设备可以向与异常视频存储设备连接的视频接入设备发送提示信息,以使该视频接入设备根据该提示信息,将本视频存储设备对应的存储数据发送至本视频存储设备。

一种情况下,参与处理异常视频存储设备数据的各台视频存储设备均可以向异常视频存储设备连接的视频接入设备发送提示信息,每份提示信息中包含发送该提示信息的视频存储设备对应的存储数据信息。

举例来说,假设视频接入设备a与异常视频存储设备b1相连接,假设参与处理设备b1接入数据的各台视频存储设备分别为:b2、b3、b4;b2向视频接入设备a发送的提示信息中包含b2对应的接入数据信息,b3向视频接入设备a发送的提示信息中包含b3对应的接入数据信息,b4向视频接入设备a发送的提示信息中包含b4对应的接入数据信息;这样,视频接入设备a根据这三份提示信息,分别将接入数据发送至设备b2、b3、b4。

另一种情况下,可以由一台视频存储设备向异常视频存储设备连接的视频存储设备发送提示信息,该提示信息中包含参与处理异常视频存储设备数据的各台视频存储设备对应的存储数据信息。

举例来说,假设视频接入设备a与异常视频存储设备b1相连接,假设参与处理设备b1接入数据的各台视频存储设备分别为:b2、b3、b4;b2向视频接入设备a发送提示信息,该提示信息中包含b2、b3、b4对应的接入数据信息;这样,视频接入设备a根据该提示信息,分别将接入数据发送至设备b2、b3、b4。

图2为本发明实施例提供的设备异常处理方法的第二种流程示意图,包括:

s201:将本节点设备的属性信息写入云存储系统的共享信息中,并定期对该共享信息中的本节点设备的属性信息进行更新。

在本实施例中,云存储系统中可以存储有共享信息,系统中的每台节点设备均将自身属性信息写入该共享信息中,并定期对写入的自身属性信息进行更新。这样,共享信息中包含系统中每台节点设备的属性信息,系统中的每台节点设备均可以对该共享信息进行访问或修改。该共享信息可以存储在系统中的任意一台或多台设备中,具体不限定。

作为一种实施方式,云存储系统的各台节点设备中可以运行zookeeper服务,zookeeper服务是一种分布式应用程序协调服务。上述共享信息可以为zookeeper服务中的信息。系统中的各台节点设备建立属于自身的zookeeper子节点,将自身属性信息写入自身的zookeeper子节点中,并定期对自身zookeeper子节点进行更新。

各节点设备可以利用zookeeper服务访问其他各台节点设备的zookeeper子节点,读取其他各台节点设备的属性信息。

s202:根据该共享信息中包含的云存储系统中各台节点设备的序号,确定本节点设备的相邻节点设备。

该属性信息可以包含节点设备的序号。对于每台节点设备来说,其可以根据该序号确定自身的相邻节点设备。举个简单的例子,假设系统中包含10台节点设备,序号分别为1-10,则对于序号为3的节点设备来说,其相邻节点设备可以为序号为2或4的节点设备。

s203:与本节点设备的相邻节点设备建立连接关系。

s204:按照预设周期,向该相邻节点设备发送探测信息。

s205:判断是否接收到该相邻节点设备的反馈信息,如果否,执行s206。

举例来说,本节点设备可以与其相邻节点设备建立心跳连接,如果系统中各台节点设备中运行有zookeeper服务,则本节点设备可以利用zookeeper服务中的心跳机制,向相邻节点设备发送探测信息,并接收反馈信息。若本节点设备未在预设时长内接收到该相邻节点设备的反馈信息,则表示该相邻节点设备心跳超时,这种情况下,继续执行s206。

s206:判断该相邻节点设备对该共享信息中的该相邻节点设备的属性信息更新是否异常,如果是,执行s207。

如上所述,本实施例中,各台节点设备定期对共享信息中的自身属性信息进行更新,这样,本节点设备可以判断相邻节点设备对该共享信息中的该相邻节点设备的属性信息更新是否异常。

比如,假设系统中各台节点设备都每10分钟对自身的zookeeper子节点进行一次更新,本节点设备可以监听该相邻节点设备更新该相邻节点设备的zookeeper子节点是否异常;如果异常,将该相邻节点设备确认为异常节点设备。

s207:修改该共享信息中的异常节点设备的属性信息,以使云存储系统中除本节点设备及异常节点设备之外的其他节点设备根据该修改后的共享信息,确定异常节点设备的信息。

本节点设备判定相邻节点设备异常后,可以利用zookeeper服务,修改异常节点设备的zookeeper子节点;这样,其他节点设备可以利用zookeeper服务获取异常节点设备的信息。

s208:与该其他节点设备通过信息交互,选举一台或多台分配节点设备。

系统中的各台非异常节点设备可以利用zookeeper服务中的选举机制,选举出一台或多台分配节点设备。

s209:判断本节点设备是否为分配节点设备,如果是,执行s210,如果否,执行s211。

s210:根据该共享信息,确定该异常节点设备的接入数据或存储数据的处理策略,该处理策略中包含参与处理该异常节点设备的接入数据或存储数据的各台节点设备的信息。

对于分配节点设备来说,分配节点设备可以根据云存储系统的共享信息,确定异常节点设备的接入数据或存储数据的处理策略;其中,所述共享信息中包含所述云存储系统中各台节点设备的属性信息,处理策略中包含参与处理所述异常节点设备的接入数据或存储数据的各台节点设备的信息。

具体的,所述属性信息中包含节点设备的可处理数据量和/或处理数据的优先级信息;分配节点设备可以根据该可处理数据量和/或处理数据的优先级信息,确定异常节点设备的接入数据或存储数据的处理策略。

分配节点设备可以将确定的分配策略发送给参与处理异常节点设备数据的各台节点设备。

举例来说,可以预先为各台节点设备分配序号,并建立该序号的循环链表,根据该循环链表中各节点设备序号的位置,确定处理数据的优先级信息。

s211:判断本节点设备是否参与处理该异常节点设备的接入数据或存储数据,如果是,执行s212。

s212:根据该处理策略,确定并处理本节点设备对应的接入数据或存储数据。

如果节点设备为视频接入设备,则根据该处理策略,确定并处理本视频接入设备对应的接入数据。如果节点设备为视频存储设备,则根据该处理策略,确定并处理本视频存储设备对应的存储数据。

s213:向与该异常节点设备连接的待处理设备发送提示信息,以使该待处理设备根据该提示信息,将本节点设备对应的接入数据或存储数据发送至本节点设备。

如果节点设备为视频接入设备,则待处理设备为采集设备。本视频接入设备可以向与异常视频接入设备连接的采集设备发送提示信息,以使该采集设备根据该提示信息,将本视频接入设备对应的接入数据发送至本视频接入设备。

如果节点设备为视频存储设备,则待处理设备为视频接入设备。本视频存储设备可以向与异常视频存储设备连接的视频接入设备发送提示信息,以使该视频接入设备根据该提示信息,将本视频存储设备对应的存储数据发送至本视频存储设备。

下面以节点设备为视频接入设备为例,提供一种可选的实施方式:

可以先在zookeeper服务下创建cloud_access父节点,然后系统中的每台视频接入设备均在该父节点下创建自身的子节点,子节点中包含视频接入设备的属性信息,比如,视频接入设备的名称、录像计划信息、录像计划接入能力、写录像数据视频存储服务器信息、视频接入设备的ip地址等,具体不做限定。

假设云存储系统中包含三台视频接入设备,这三台视频接入设备的子节点分别为:/cloud_access/30000000002、/cloud_access/10000000006和/cloud_access/40000000009。子节点排序原则可以为:10000000006<30000000002<40000000009。作为一种实施方式,可以根据子节点序号建立循环链表,该循环链表可以如图3所示。

各台节点设备可以定期对自身子节点进行更新。各台节点设备根据图3所示的循环链表,与链表中自身的相邻视频接入设备建立心跳连接,并在检测到相邻视频接入设备心跳异常后,与该心跳异常的视频接入设备进行通信,进一步判断该心跳异常的视频接入设备是否出现异常;或者,监听该心跳异常的视频接入设备更新其zookeeper子节点是否异常。

如果本视频接入设备判定该心跳异常的视频接入设备出现异常,则本视频接入设备修改该异常视频接入设备的zookeeper子节点,以通知其他视频接入设备该异常视频接入设备的信息。这种情况下,可以生成新的循环链表,新的循环链表中不包含该异常视频接入设备的序号。

作为一种实施方式,可以在父节点下设置回调函数,当子节点信息发送变更时,可以通过回调函数,通知各台视频接入设备。

各台非异常视频接入设备利用zookeeper,确定异常视频接入设备的接入数据的处理策略。或者,各台非异常视频接入设备可以利用zookeeper中的选举机制,选举一台或多台分配节点设备,由分配节点设备确定异常视频接入设备的接入数据的处理策略。

该处理策略可以为各台非异常视频接入设备平均分配处理该异常视频接入设备的数据;或者,也可以根据各台非异常视频接入设备的处理能力,确定每台非异常视频接入设备处理的数据;或者,也可以根据各台非异常视频接入设备的处理能力,指定一台或多台非异常视频接入设备处理该异常视频接入设备的数据,等等,具体策略不做限定。

为了方便描述,将“参与处理该异常视频接入设备的数据的非异常视频接入设备”称为接替设备。一台或多台接替设备可以向与该异常视频接入设备连接的采集设备发送提示信息,使得采集设备将采集的视频数据接入到接替设备。

下面以节点设备为视频存储设备为例,提供一种可选的实施方式:

可以先在zookeeper服务下创建cloud_stroage父节点,然后系统中的每台视频存储设备均在该父节点下创建自身的子节点,子节点中包含视频存储设备的属性信息,比如,视频存储设备的名称、存储总容量、存储空闲容量、写录像数据视频接入服务器信息、写录像前端摄像头信息、视频存储设备的ip地址等,具体不做限定。

假设云存储系统中包含三台视频存储设备,这三台视频存储设备的子节点分别为:/cloud_stroage/20000000001、/cloud_stroage/50000000010和/cloud_stroage/60000000005。子节点排序原则可以为:20000000001<50000000010<60000000005。作为一种实施方式,可以根据子节点序号建立循环链表,该循环链表可以如图4所示。

各台节点设备可以定期对自身子节点进行更新。各台节点设备根据图4所示的循环链表,与链表中自身的相邻视频存储设备建立心跳连接,并在检测到相邻视频存储设备心跳异常后,与该心跳异常的视频存储设备进行通信,进一步判断该心跳异常的视频存储设备是否出现异常;或者,监听该心跳异常的视频存储设备更新其zookeeper子节点是否异常。

如果本视频存储设备判定该心跳异常的视频存储设备出现异常,则本视频存储设备修改该异常视频存储设备的zookeeper子节点,以通知其他视频存储设备该异常视频存储设备的信息。这种情况下,可以生成新的循环链表,新的循环链表中不包含该异常视频存储设备的序号。

作为一种实施方式,可以在父节点下设置回调函数,当子节点信息发送变更时,可以通过回调函数,通知各台视频存储设备。

各台非异常视频存储设备利用zookeeper,确定异常视频存储设备的存储数据的处理策略。或者,各台非异常视频存储设备可以利用zookeeper中的选举机制,选举一台或多台分配节点设备,由分配节点设备确定异常视频存储设备的存储数据的处理策略。

该处理策略可以为各台非异常视频存储设备平均分配处理该异常视频存储设备的数据;或者,也可以根据各台非异常视频存储设备的处理能力,确定每台非异常视频存储设备处理的数据;或者,也可以根据各台非异常视频存储设备的处理能力,指定一台或多台非异常视频存储设备处理该异常视频存储设备的数据,等等,具体策略不做限定。

为了方便描述,将“参与处理该异常视频存储设备的数据的非异常视频存储设备”称为接替设备。一台或多台接替设备可以向与该异常视频存储设备连接的视频接入设备发送提示信息,使得视频接入设备将采集的视频数据存储至接替设备。

应用本发明实施例,如果云存储系统中存在异常节点设备,未出现异常的各节点设备确定异常节点设备的数据的处理策略,可见,在本方案中,即使管理设备出现异常,未出现异常的各节点设备仍能确定出处理策略,而且任意设备出现异常,未出现异常的各节点设备都可以确定出处理策略,提高了视频云存储系统的稳定性。

与上述方法实施例相对应,本发明实施例还提供了一种设备异常处理装置,应用于云存储系统中的节点设备,所述装置包括:

第一判断模块501,用于判断本节点设备的相邻节点设备是否异常;

第一发送模块502,用于在所述第一判断模块501判断结果为是的情况下,将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备;

第一确定模块503,用于与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略。

作为一种实施方式,所述装置还可以包括:连接模块、第二发送模块和第二判断模块(图中未示出),其中,

连接模块,用于与所述本节点设备的相邻节点设备建立连接关系;

第二发送模块,用于按照预设周期,向所述相邻节点设备发送探测信息;

第二判断模块,用于判断是否接收到所述相邻节点设备的反馈信息;如果否,触发所述第一判断模块。

作为一种实施方式,所述装置还可以包括:

写入模块(图中未示出),用于将所述本节点设备的属性信息写入所述云存储系统的共享信息中,并定期对所述共享信息中的所述本节点设备的属性信息进行更新;

第一判断模块501,具体可以用于:

判断所述相邻节点设备对所述共享信息中的所述相邻节点设备的属性信息更新是否异常。

作为一种实施方式,所述连接模块,具体可以用于:

根据所述云存储系统的共享信息中包含的所述云存储系统中各台节点设备的序号,确定所述本节点设备的相邻节点设备;

与所述相邻节点设备建立连接关系。

作为一种实施方式,第一发送模块502,具体可以用于:

修改所述云存储系统的共享信息中的所述异常节点设备的属性信息,以使所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备根据所述修改后的共享信息,确定异常节点设备的信息。

作为一种实施方式,第一确定模块503,具体可以用于:

与所述其他节点设备通过信息交互,选举一台或多台分配节点设备,所述分配节点设备用于确定所述异常节点设备的接入数据或存储数据的处理策略。

作为一种实施方式,所述装置还包括:

第二确定模块(图中未示出),用于在所述本节点设备被选举为所述分配节点设备的情况下,根据所述云存储系统的共享信息,确定所述异常节点设备的接入数据或存储数据的处理策略;其中,所述共享信息中包含所述云存储系统中各台节点设备的属性信息,所述处理策略中包含参与处理所述异常节点设备的接入数据或存储数据的各台节点设备的信息。

作为一种实施方式,所述属性信息中包含节点设备的可处理数据量和/或处理数据的优先级信息;

所述第二确定模块,具体可以用于:

根据所述可处理数据量和/或处理数据的优先级信息,确定所述异常节点设备的接入数据或存储数据的处理策略。

作为一种实施方式,所述装置还可以包括:第三确定模块和第三发送模块(图中未示出),其中,

第三确定模块,用于根据所述处理策略,确定并处理所述本节点设备对应的接入数据或存储数据;

第三发送模块,用于向与所述异常节点设备连接的待处理设备发送提示信息,以使所述待处理设备根据所述提示信息,将所述本节点设备对应的接入数据或存储数据发送至所述本节点设备。

作为一种实施方式,所述本节点设备为视频接入设备,所述第三发送模块,具体可以用于:

向与所述异常视频接入设备连接的采集设备发送提示信息,以使所述采集设备根据所述提示信息,将本视频接入设备对应的接入数据发送至所述本视频接入设备。

作为一种实施方式,所述本节点设备为视频存储设备,所述第三发送模块,具体可以用于:

向与所述异常视频存储设备连接的视频接入设备发送提示信息,以使所述视频接入设备根据所述提示信息,将所述本视频存储设备对应的存储数据发送至所述本节点设备。

应用本发明图5所示实施例,如果云存储系统中存在异常节点设备,未出现异常的各节点设备确定异常节点设备的数据的处理策略,可见,在本方案中,即使管理设备出现异常,未出现异常的各节点设备仍能确定出处理策略,而且任意设备出现异常,未出现异常的各节点设备都可以确定出处理策略,提高了视频云存储系统的稳定性。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现上述任一种设备异常处理方法。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供一种云存储系统,如图7所示,该云存储系统中包含多台节点设备:节点设备1、节点设备2……节点设备n,其中,

每台节点设备,用于判断本节点设备的相邻节点设备是否异常;如果异常,将异常节点设备的信息发送至所述云存储系统中除所述本节点设备及所述异常节点设备之外的其他节点设备;与所述其他节点设备通过信息交互,确定所述异常节点设备的接入数据或存储数据的处理策略。

作为一种实施方式,每台节点设备,还可以用于:

将本节点设备的属性信息写入所述云存储系统的共享信息中,并定期对所述共享信息中的所述本节点设备的属性信息进行更新;

根据所述共享信息中包含的所述云存储系统中各台节点设备的序号,确定所述本节点设备的相邻节点设备;与所述相邻节点设备建立连接关系;

按照预设周期,向所述相邻节点设备发送探测信息;判断是否接收到所述相邻节点设备的反馈信息;如果否,判断所述相邻节点设备对所述共享信息中的所述相邻节点设备的属性信息更新是否异常;

如果异常,修改所述共享信息中的所述异常节点设备的属性信息;

所述每台节点设备,还用于:

检测所述共享信息是否被修改,如果是,根据修改后的共享信息,确定异常节点设备。

作为一种实施方式,该节点设备为视频接入设备;所述视频接入设备,还可以用于:

根据所述处理策略,确定并处理所述本视频接入设备对应的接入数据;

向与所述异常视频接入设备连接的采集设备发送提示信息,以使所述采集设备根据所述提示信息,将本视频接入设备对应的接入数据发送至所述本视频接入设备。

作为一种实施方式,该节点设备为为视频存储设备;所述视频存储设备,还用于:

根据所述处理策略,确定并处理所述本视频存储设备对应的存储数据;

向与所述异常视频存储设备连接的视频接入设备发送提示信息,以使所述视频接入设备根据所述提示信息,将本视频存储设备对应的存储数据发送至所述本视频存储设备。

如图7所示,该云存储系统中的各台节点设备中可以运行zookeeper服务,各台节点设备可以通过zookeeper服务进行信息交互。该节点设备还可以实现上述任一种设备异常处理方法。

本实施例提供的云存储系统还可以包含管理设备,节点设备可以到管理设备中进行注册,以便管理设备对节点设备进行管理。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的设备异常处理装置实施例、图6所示的电子设备实施例、图7所示的云存储系统实施例而言,由于其基本相似于图1-4所示的设备异常处理方法实施例,所以描述的比较简单,相关之处参见图1-4所示的设备异常处理方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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