云存储数据的备份方法、装置、设备和介质转让专利

申请号 : CN201910927942.7

文献号 : CN112583868B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚婷

申请人 : 浙江宇视科技有限公司

摘要 :

本发明公开了一种云存储数据的备份方法、装置、设备和介质。方法包括依据备份参数确定至少两个源端云直存虚拟节点中与备份参数相匹配的待备份文件的文件大小和文件名称及待备份文件所属的源端云直存虚拟节点及源端数据块;将存储有待备份文件的每个源端数据块进行锁定,并指示目标端云存储设备根据文件大小和文件名称创建名称相同大小相等的文件,分配目标云直存虚拟节点及目标数据块;将每个源端数据块并行发送给目标端云存储设备,以将每个源端数据块写入目标数据块。本发明简化了备份文件数据时的备份结构,能够基于云直存虚拟节点实现并行备份,提高了文件数据备份的性能和效率,还可对文件进行锁定,以确保文件一致性,优化了文件备份流程。

权利要求 :

1.一种云存储数据的备份方法,其特征在于,应用于包括至少两个源端云直存虚拟节点的源端云存储设备,其中,所述方法包括:依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;

将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;

将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块;

所述备份参数还包括:待备份文件类型,所述待备份文件类型包括视频或图片;

若待备份文件类型为图片,所述将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,包括:若任意源端数据块中存储有至少两张待备份图片,则将所述至少两张待备份图片进行合并。

2.根据权利要求1所述的方法,其特征在于,相应的,依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,包括:若待备份文件类型为视频,则对每个源端云直存虚拟节点存储的文件名称索引区进行扫描,确定包括监控设备标识和所述监控设备的备份时间范围的待备份文件,并确定该文件的文件大小和文件名称,以及存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块;

若待备份文件类型为图片,则从监控系统的数据库中,获取包括所述监控设备标识及所述监控设备的备份时间范围的初始统一资源定位符,将所述初始统一资源定位符对应的文件确定为待备份文件,并确定存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块。

3.根据权利要求2所述的方法,其特征在于,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,包括:基于源端云直存虚拟节点的写输入输出接口,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备;

若任意源端云直存虚拟节点执行写业务及读业务的总数据量超过分配的主高速缓冲存储器的数据量阈值,则利用备份高速缓冲存储器执行写业务及读业务;

若所述备份高速缓冲存储器处理的数据量达到预设阈值,则降低所述源端云直存虚拟节点执行的读业务比例。

4.根据权利要求1所述的方法,其特征在于,将存储有所述待备份文件的每个源端数据块进行锁定,包括:基于待备份文件的存储周期,锁定存储有所述待备份文件的每个源端数据块。

5.根据权利要求1所述的方法,其特征在于,所述目标端云存储设备按照与所述源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点,以及至少一个目标数据块。

6.根据权利要求1‑5中任一所述的方法,其特征在于,所述方法还包括:

接收所述目标端云存储设备发送的响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块;

基于所述响应消息,解锁存储有所述待备份文件的每个源端数据块。

7.根据权利要求6所述的方法,其特征在于,若待备份文件类型为图片,所述响应消息包括:备份统一资源定位符;

所述接收所述目标端云存储设备发送的响应消息之后,所述方法还包括:

将所述备份统一资源定位符发送给监控系统中的数据库,以使所述数据库记录所述备份统一资源定位符。

8.一种云存储数据的备份方法,其特征在于,应用于包括至少两个目标云直存虚拟节点的目标端云存储设备,其中,所述方法包括:根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;

接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;

将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块;

待备份文件类型包括视频或图片;其中,若待备份文件类型为图片,当任意源端数据块中存储有至少两张待备份图片,则将至少两张待备份图片的读请求进行合并。

9.根据权利要求8所述的方法,其特征在于,所述目标端云存储设备按照与所述源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点,以及至少一个目标数据块。

10.根据权利要求8所述的方法,其特征在于,将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块之后,还包括:更新所述至少一个目标数据块中目标文件的索引区,并向所述源端云存储设备发送响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。

11.根据权利要求10所述的方法,其特征在于,若待备份文件类型为图片,则将存储有待备份文件的每个源端数据块分别写入所述至少一个目标数据块之后,还包括:生成待备份图片的备份统一资源定位符,并将该备份统一资源定位符携带在所述响应消息中,发送给所述源端云存储设备。

12.一种云存储数据的备份装置,其特征在于,配置于包括至少两个源端云直存虚拟节点的源端云存储设备,其中,所述装置包括:第一确定模块,用于依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;

发送模块,用于将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;

控制模块,用于将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块;

所述备份参数还包括:待备份文件类型,所述待备份文件类型包括视频或图片;

若待备份文件类型为图片,则控制模块具体用于:

若任意源端数据块中存储有至少两张待备份图片,则将所述至少两张待备份图片进行合并。

13.一种云存储数据的备份装置,其特征在于,配置于包括至少两个目标云直存虚拟节点的目标端云存储设备,其中,所述装置包括:第二确定模块,用于根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;

接收模块,用于接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;

写入模块,用于将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块;

待备份文件类型包括视频或图片;其中,若待备份文件类型为图片,当任意源端数据块中存储有至少两张待备份图片,则将至少两张待备份图片的读请求进行合并。

14.一种源端云存储设备,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑7中任一项所述的云存储数据的备份方法。

15.一种目标端云存储设备,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现或如权利要求8‑11中任一项所述的云存储数据的备份方法。

16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑7中任一项所述的云存储数据的备份方法。

17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求8‑11中任一项所述的云存储数据的备份方法。

说明书 :

云存储数据的备份方法、装置、设备和介质

技术领域

[0001] 本发明实施例涉及数据备份技术领域,尤其涉及一种云存储数据的备份方法、装置、设备和介质。

背景技术

[0002] 在视频监控系统与云存储系统结合时,视频监控系统中的监控设备(如前端摄像机和后端硬盘录像机等)会将生成的多媒体文件(例如视频文件或图片文件),存储到云储存系统中的云直存虚拟(Cloud Direct Virtual,简称CDV)节点上。
[0003] 实际应用过程中,为了防止系统出现操作失误或者系统故障导致多媒体文件丢失,通常会将一个云存储系统(即源端云存储系统)中存储的文件复制到其他存储介质(例如另一个云存储系统,即目标端云存储系统等)中,以实现多媒体文件的备份。相关技术中,将一个源端云存储系统中的文件复制到目标端云存储系统中时,通常是基于备份服务器通过实时流传输协议(Real Time Streaming Protocol,简称RTSP)方式,从一个源端云存储系统中读取数据流,再将该数据流写入目标端云存储系统中,具体如图1所示。
[0004] 然而上述方式,由于多媒体文件具有时间顺序属性,使得备份服务器在每一时刻仅能从源端云存储系统中的一个CDV节点上读取数据,导致文件备份的速度慢、时间长,并且传统文件备份时采用快照保证文件一致性,而多媒体文件是具有时间顺序属性的,因此存在文件备份过程中文件被满覆盖,导致文件不一致。

发明内容

[0005] 本发明实施例提供一种云存储数据的备份方法、装置、设备和介质,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0006] 第一方面,本发明实施例提供了一种云存储数据的备份方法,应用于包括至少两个源端云直存虚拟节点的源端云存储设备,其中该方法包括:
[0007] 依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0008] 将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;
[0009] 将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0010] 第二方面,本发明实施例提供了一种云存储数据的备份方法,应用于包括至少两个目标云直存虚拟节点的目标端云存储设备,其中,该方法包括:
[0011] 根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;
[0012] 接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;
[0013] 将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0014] 第三方面,本发明实施例还提供了一种云存储数据的备份装置,配置于包括至少两个源端云直存虚拟节点的源端云存储设备,其中,该装置包括:
[0015] 第一确定模块,用于依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0016] 发送模块,用于将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;
[0017] 控制模块,用于将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0018] 第四方面,本发明实施例还提供一种云存储数据的备份装置,配置于包括至少两个目标云直存虚拟节点的目标端云存储设备,其中,该装置包括:
[0019] 第二确定模块,用于根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;
[0020] 接收模块,用于接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;
[0021] 写入模块,用于将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0022] 第五方面,本发明实施例还提供了一种源端云存储设备,包括:
[0023] 一个或多个处理器;
[0024] 存储装置,用于存储一个或多个程序,
[0025] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中的任一种应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法。
[0026] 第六方面,本发明实施例还提供了一种目标端云存储设备,包括:
[0027] 一个或多个处理器;
[0028] 存储装置,用于存储一个或多个程序,
[0029] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中的任一种应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法。
[0030] 第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中的任一种应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法。
[0031] 第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中的任一种应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法。
[0032] 本发明实施例公开的技术方案,具有如下有益效果:
[0033] 通过确定至少两个源端云直存虚拟节点中与备份参数相匹配的待备份文件的文件大小和文件名称,以及待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,将存储有待备份文件的每个源端数据块进行锁定,并将待备份文件的文件大小和文件名称发送至目标端云直存设备,以指示目标端云存储设备根据文件大小和文件名称在目标端云存储设备中创建名称相同,大小相等的文件,并为文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,然后将存储有待备份文件的每个源端数据块并行发送给目标端云存储设备,以指示目标端云存储设备将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。由此,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。

附图说明

[0034] 图1是相关技术中,利用备份服务器将源端存储系统中的文件备份至目标端云存储系统中实施例的示意图;
[0035] 图2是本发明提供的一种块资源的结构示意图;
[0036] 图3是本发明提供的一种云存储数据的备份方法实施例的流程示意图;
[0037] 图4是本发明提供的另一种云存储数据的备份方法实施例的流程示意图;
[0038] 图5是本发明提供的再一种云存储数据的备份方法实施例的流程图;
[0039] 图6是本发明提供的一种待备份文件类型为视频时备份过程示意图;
[0040] 图7是本发明提供的一种待备份文件类型为图片时备份过程示意图;
[0041] 图8是本发明提供的一种云存储数据的备份装置的结构示意图;
[0042] 图9是本发明提供的另一种云存储数据的备份装置实施例的结构示意图;
[0043] 图10为本发明提供的一种源端云存储设备实施例的结构示意图。

具体实施方式

[0044] 下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
[0045] 本发明实施例针对相关技术中,利用备份服务器基于RTSP方式,从一个源端云存储系统中读取数据流,再将该数据流写入目标端云存储系统时,由于多媒体文件具有时间顺序属性,使得备份服务器在每一时刻仅能从源端云存储系统中的一个云直存虚拟节点上读物数据,导致文件备份速度慢、时间长,并且传统文件备份时采用快照保证文件一致性,而多媒体文件是具有时间顺序属性的,因此存在文件备份过程中文件被满覆盖,导致文件不一致的问题,提出一种云存储数据的备份方法。
[0046] 本发明实施例,通过确定至少两个源端云直存虚拟节点中与备份参数相匹配的待备份文件的文件大小和文件名称,以及待备份文件所属的至少源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,将存储有待备份文件的每个源端数据块进行锁定,并将待备份文件的文件大小和文件名称发送至目标端云直存设备,以指示目标端云存储设备根据文件大小和文件名称在目标端云存储设备中创建名称相同,大小相等的文件,并为文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,然后将将存储有待备份文件的每个源端数据块并行发送给目标端云存储设备,以指示目标端云存储设备将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。由此,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0047] 为了对本发明实施例提供的云存储数据的备份方法进行清楚的说明,下面首先对本发明实施例中的云存储系统进行说明。
[0048] 本发明实施例中的云存储系统,又称云直存系统(Cloud Direct Storage,简称:CDS),是一种分布式云存储系统,其包括云直存管理(Cloud Direct Management,简称CDM)服务器和至少两个云直存虚拟(Cloud Direct Virtual,简称CDV)节点。
[0049] 其中,CDV节点可以是实际的物理设备,也可以是物理设备上配置的虚拟机,用于存储监控设备生成的文件。在本实施例中,监控设备可以是,但不限于:前端摄像机、网络摄像机、后端硬盘录像机等。
[0050] 需要说明的是,每个CDV节点中可包括至少一个数据块,该数据块可存储数据,从而CDV节点存储监控设备生成的文件时,是将监控设备生成的文件存储在CDV节点的数据块中。
[0051] CDM服务器是CDS管理解决方案中的存储管理节点,提供存储虚拟化管理功能,将所有CDV节点空间合并成一个存储虚拟池,对外提供海量存储空间。
[0052] 实际使用时,监控系统可将某一监控设备生成的文件发送至CDS,CDS可基于负载均衡策略,从所有CDV节点中获取至少两个目标CDV节点,并基于CDS自定义块级空间分配算法,在至少两个目标CDV节点中分配至少一个空闲数据块,以将上述监控设备生成的文件分布式的存储至上述至少两个目标CDV节点中的至少一个数据块中。
[0053] 其中,基于CDS自动以块级空间分配算法,为监控设备生成的文件分配至少一个空闲数据块,具体可为通过引入统一分配层,直接管理块设备上的空间分配。将底层提供的块资源,按照相同大小的数据块(slice)进行管理和分配。如图2所示,在块资源之前有格式化信息和slice索引,在块资源之后有文件名称索引区。其中slice索引视频或者图片对应的slice块信息。当有视频或图片写入的时候,CDS自定义块级空间分配算法会自动分配空闲的slice,并将视频或图片写入该slice,同时在slice索引中记录分配的slice地址和偏移。其中,当文件类型为视频时,文件名称索引区中记录视频文件的名称、文件所在slice地址及偏移量;当文件类型为图片时,会将图片的slice地址,偏移和长度记录在图片的统一资源定位符(Uniform Resource Locator,简称:URL)中,进而根据url可以访问具体的物理位置。
[0054] 下面结合图3对本发明实施例提出的云存储数据的备份方法进行详细描述。
[0055] 图3是本发明提供的一种云存储数据的备份方法实施例的流程示意图,本发明实施例可适用于对源端云存储设备中的文件数据进行备份的场景,该方法可由本发明实施例提供的配置于云存储数据的备份装置来执行,该装置可以由软件和/或硬件实现,并可应用于源端云存储设备中,其中,源端云存储设备中具有云存储系统,云存储系统包括至少两个源端云直存虚拟节点。该方法具体包括如下:
[0056] S301,依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围。
[0057] 其中,监控设备可以是但不限于:前端摄像机和后端硬盘录像机等。监控设备标识是指唯一标识监控设备身份的信息,比如可以是编号、序列号等,此处对其不做具体限定。
[0058] 监控设备的备份时间范围可以根据实际应用需求进行设置,此处对其不做具体限定。例如,按照星期设置,或者,按照月份设置等,此处对其不做具体限定。
[0059] 通常,监控系统中具有视频管理服务器(Video Management,简称VM),VM可集中管理监控系统中所有设备,调度各种视频监控业务。也就是说,本实施例可通过VM发送文件备份触发指令至源端云存储设备,以使源端云存储设备根据文件备份触发指令执行文件备份操作。
[0060] 其中,通过VM发送文件备份触发指令时,可以是基于预先定义的触发周期自动触发,也可以是人为在VM显示界面上进行触发,此处对其不做具体限定。
[0061] 本发明实施例中VM发送文件备份触发指令时,可将备份参数携带在上述指令中,使得源端云存储设备通过对文件备份触发指令进行解析,得到备份参数。进而,根据备份参数在自身所有源端CDV节点中确定源端CDV节点记录的文件名称索引区中是否包括备份参数,若包括则将该文件名称索引区对应的文件确定为待备份文件,并查询待备份文件的文件大小和文件名称,以及确定该待备份文件所属的所有源端CDV节点及各源端CDV节点上的至少一个源端数据块。
[0062] 其中,本实施例中最终的待备份文件,可通过确定的各源端CDV节点上的至少一个源端数据块中的待备份文件拼接组成。也就是说,至少一个源端数据块中的待备份文件即为最终待备份文件的文件片段。
[0063] 本发明实施例中备份参数还可包括:待备份文件类型,所述待备份文件类型包括视频或图片。
[0064] 由于待备份文件类型不同时,待备份文件的存储方式就不同,因此本实施例还可根据备份参数包括的待备份文件类型、监控设备标识及监控设备的备份时间范围,确定待备份文件的文件大小和文件名称,以及待备份文件所属的源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块时,可包括:
[0065] 若待备份文件类型为视频,则对每个源端云直存虚拟节点存储的文件名称索引区进行扫描,确定包括监控设备标识和所述监控设备的备份时间范围的待备份文件,并确定该文件的文件大小和文件名称,及存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块;
[0066] 若待备份文件类型为图片,则从监控系统的数据库中,获取包括所述监控设备标识及所述监控设备的备份时间范围的初始统一资源定位符,将所述初始统一资源定位符对应的文件确定为待备份文件,并确定存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块。
[0067] 本实施例中,初始统一资源定位符(Uniform Resource Locator,简称:URL)可通过如下格式表示:
[0068] 监控系统标识/YY/MM/DD/HH/监控设备标识@0001.jpg?dev=源端云存储设备标识&fid
[0069] 其中,YY表示年份,MM表示月份,DD表示日期,HH表示小时,fid表示图片存储的具体物理位置,fid=resid+sliceid+sliceops+len,其中,resid表示资源ID,sliceid表示数据块ID,sliceops表示图片在数据块中的偏移,len表示图片文件大小的长度,监控系统标识表示监控系统身份的身份信息,监控设备标识表示监控设备的身份信息,源端云存储设备标识表示源端云存储设备的身份标识。例如,监控系统标识可以是指名称、编号等;监控设备标识可以是编号、序列号等;源端云存储设备标识可以是名称、编号等,此处对其不做具体限定。
[0070] 也就是说,当待备份文件类型为图片,源端云存储设备可基于图片的统一资源定位符中HH字段,在自身的多个云直存虚拟节点中按小时存储待备份图片。
[0071] 例如,若待备份文件类型为图片,监控设备标识为编号99,备份时间范围为:2019年1月1日13时‑2019年1月1日14时,则源端云存储设备可根据自身编号23、监控系统名称、监控设备编号99、2019年1月1日13时‑2019年1月1日14时,在对应监控系统中的数据库中获取监控设备编号99,2019年1月1日13时‑2019年1月1日14时,对应的URL为监控系统名称/2019/1/1/13‑14/99@0001.jpg?dev=23&fid。然后根据URL为监控系统名称/2019/1/1/13‑
14/99@0001.jpg?dev=23&fid查找存储该URL的源端云直存虚拟节点为节点1和节点5,节点1中的源数据块11和12以及节点5中的源数据块9和12,则确定源端云直存虚拟节点为节点1和节点5,至少一个源端数据块为节点1中的源数据块11和12和节点5中的节点9和12。
[0072] 又如,若待备份文件类型为视频,监控设备标识为编号99,备份时间范围为:2019年1月1日‑2019年1月31日,则源端云存储设备可根据编号99、2019年1月1日‑2019年1月31日,对自身所有源端CDV节点记录的文件名称索引区进行扫描,若节点1中数据块1和2、节点3中数据块3、节点6中数据块9和10、节点8中数据块2、节点9中数据块10中均存储有与备份参数相匹配的待备份视频,则确定待备份视频分别存储于节点1中的数据块1和2,节点3中的数据块3,节点6中的数据块9和10,节点8中的数据块2及节点9中的数据块10中。
[0073] 在本发明的一个实施例中,当本实施例中待备份文件类型为视频时,在执行S201之前,源端云存储设备中的CDM服务器还可将获取的备份参数进行记录,以使后续在执行文件数据备份过程中出现异常时(例如断电),源端云存储设备可根据CDM服务器记录的备份参数继续执行文件数据备份操作。
[0074] 进一步的,当CDM服务器记录获取得到的备份参数时,还可将备份参数同步至负载均衡策略的内存中,以使源端云存储设备根据负载均衡策略内存中的备份参数,确定待备份文件的文件大小和文件名称,以及待备份文件所属的所有源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块。
[0075] 在本发明另一个实施例中,当本实施例中待备份文件类型为图片时,记录备份参数时则通过监控系统中的数据库将获取的备份参数进行记录,以使后续在执行文件数据备份过程中出现异常情况(例如断电)时,源端云存储设备可根据数据库中记录的备份参数继续执行文件数据备份操作。
[0076] 相应的,当监控系统中的数据库记录获取得到的备份参数时,还可将备份参数同步至负载均衡策略的内存中,以使源端云存储设备根据负载均衡策略内存中的备份参数,确定待备份文件的文件大小和文件名称,以及待备份文件所属的所有源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块。
[0077] 可选的,为了便于后续源端云存储设备,将存储有待备份文件的每个源端数据块准确无误的发送至目标端云存储设备,本实施例备份参数中还可以包括:目标端云存储设备标识。使得源端云存储设备可根据目标端云存储设备标识,确定对应的目标端云存储设备。
[0078] 其中,目标端云存储设备标识可以是任一能够唯一标识目标端云存储设备身份的信息。比如名称、编号等,此处对其不做具体限定。
[0079] S302,将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块。
[0080] 实际应用过程中,监控设备会实时生成新文件,使得源端云存储设备需要不断将上述新文件存储至自身的源端CDV节点中。然而,源端云存储设备的空间是有限的,为了能够有足够的空间存储新文件,源端云存储设备会为已存储的文件预定义一个文件存储周期,例如两周、一个月、6个月等。当文件存储周期达到预设周期时,可利用新文件对存储的旧文件进行覆盖,以对新文件进行有效存储。
[0081] 在本实施例中,根据视频管理服务器发送的文件备份触发指令,确定存储有待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块之后,为了避免新文件对上述待备份文件进行满覆盖。本实施例还可基于待备份文件的存储周期,锁定存储有所述待备份文件的每个源端数据块,以保证后续备份过程中源端数据块中存储的待备份文件数据的一致性,避免新文件对待备份文件进行满覆盖,造成待备份文件的数据丢失,无法正常对待备份文件数据进行备份。
[0082] 也就是说,当源端云存储设备接收到新文件时,首先确定源端云直存虚拟节点中各源端数据块中的待备份文件是否处于锁定状态。若任一源端数据块中的待备份文件处于锁定状态,则说明该数据块中的待备份文件不能被新文件覆盖;若任一数据块中待备份文件处于未锁定状态,则说明该数据块中的待备份文件能够被新文件进行满覆盖,则此时可将新文件存储至该数据块中,以利用新文件将该数据块中的旧文件进行满覆盖。
[0083] 进一步的,将存储有所述待备份文件的每个源端数据块进行锁定之后,本实施例可通过上述源端数据块对应的源端云直存虚拟节点,将该源端数据块中待备份文件的文件大小和文件名称发送至目标端云存储设备,以使目标云存储设备按照与所述源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点及至少一个目标数据块,以确保源端云存储设备与目标端云存储设备能够保持相同的数据结构。
[0084] 也就是说,本实施例中目标端云存储设备分配的目标云直存虚拟节点,是与源端云存储设备的源端云直存虚拟节点一一对应的。同理,分配的至少一个目标数据块也是与源端云存储设备的至少一个源端数据块一一对应的。
[0085] 目标端云存储设备确定至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块之后,可将至少两个目标云直存虚拟节点地址、至少一个目标数据块起始地址及资源ID发送给源端云存储设备。源端云存储设备通过获取目标端云存储设备发送的至少两个目标云直存虚拟节点地址、至少一个目标数据块起始地址及资源ID,为源端云存储设备备份待备份文件奠定了基础。
[0086] S303,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0087] 示例性的,源端云存储设备可将存储有所述待备份文件的每个源端数据块并行发送给目标端云存储设备,以使目标端云存储设备将将所述存储有所述待备份文件的每个源端数据块分别写入至少一个目标数据块中。
[0088] 在本发明的一种可选实现方式中,可将每个源端数据块分别所属的源端云直存虚拟节点分为多个队列,并根据队列预设的并发线程数进行多线程备份操作。其中,预设的并发线程数,可根据实际应用进行自适应调节。例如,同一时刻并行发送10个,或者,同一时刻并行发送15个等等,此处对其不做具体限定。
[0089] 其中,可基于每个源端数据块对应的源端云直存虚拟节点的写输入输出(IO)接口,将存储有所述待备份文件的每个源端数据块并行发送给目标端云存储设备。
[0090] 本发明实施例提供的云存储数据的备份方法,通过依据备份参数确定至少两个源端云直存虚拟节点中与备份参数相匹配的待备份文件的文件大小和文件名称,以及待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,将存储有待备份文件的每个源端数据块进行锁定,并将待备份文件的文件大小和文件名称发送至目标端云直存设备,以指示目标端云存储设备根据文件大小和文件名称在目标端云存储设备中创建名称相同,大小相等的文件,并为文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,然后将存储有待备份文件的每个源端数据块并行发送给目标端云存储设备,以指示目标端云存储设备将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。由此,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0091] 在上述实施例的基础上,S303之后还包括:接收所述目标端云存储设备发送的响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块;基于所述响应消息,解锁存储有所述待备份文件的每个源端数据块。
[0092] 也就是说,本实施例通过接收目标端云存储设备发送的响应消息,确定待备份文件已完成备份操作,并基于响应消息,对存储有所述待备份文件的每个源端数据块进行解锁,以便后后续新文件能够对该源端数据块中存储的文件进行满覆盖。并且,在接收到响应消息之后,源端云存储设备中CDM服务器,或者监控系统中的数据库,还可将记录的备份参数删除,以为后续新备份参数提供存储空间。
[0093] 在上述实施例的基础上,S303之后还包括:所述响应消息包括:备份统一资源定位符;
[0094] 所述接收所述目标端云存储设备发送的响应消息之后,所述方法还包括:
[0095] 将所述备份统一资源定位符发送给监控系统中的数据库,以使所述数据库记录所述备份统一资源定位符。
[0096] 也就是说,当待备份文件的类型为图片时,目标端云存储设备通过向源端云存储设备发送携带有备份统一资源定位符,以将备份统一资源定位符发送给监控系统中的数据库,通过数据库记录备份统一资源定位符,使得后续初始备份统一资源定位符被删除之后,可以利用备份统一资源定位符获取已备份的文件数据。
[0097] 图4是本发明提供的另一种云存储数据的备份方法实施例的流程示意图。本实施例为上述实施例一提供了一种具体实现方式,如图4所示,该云存储数据的备份方法可以包括以下步骤:
[0098] S401,依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围。
[0099] S402,将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块。
[0100] S403,基于源端云直存虚拟节点的写输入输出接口,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0101] 通常云直存虚拟节点的写输入输出接口(IO接口),受磁盘处理数据性能的影响。因为磁盘处理数据IO性能有限,在超过磁盘处理阈值时,数据就会处理不及时。此时若存在高速缓冲存储器(cache)则会出现数据堆积,若没有cache则可能出现数据丢失,例如,有时效要求的业务,例如视频。
[0102] 为此,本实施例可将云直存虚拟节点的写业务的高速缓冲存储器划分为主高速缓冲存储器和备份高速缓冲存储器。从而在将所述存储有所述待备份文件的每个源端数据块并行发送给目标端云存储设备时,可首先利用每个源端数据块对应的源端云直存虚拟节点的主高速缓冲存储器实现写业务和读业务。当任意源端云直存虚拟节点在执行写业务及读业务时的总数量超过主高速缓冲存储器的数量阈值时,则说明此时数据处理会影响该源端云直存虚拟节点正常的写业务,数据来不及处理,导致数据在主高速缓冲存储器中出现丢失。
[0103] 对此,该源端云直存虚拟节点可利用备份高速缓冲存储器,以通过备份高速缓冲存储器继续执行写业务及读业务,同时对备份高速缓冲存储器的数据处理量进行监控。当监控到上述备份高速缓冲存储器处理数据量达到预设阈值时,则说明备份高速缓冲存储器也存在不能及时处理数据,易出现数据堆积等情况。
[0104] 为了确保上述源端云直存虚拟节点的写业务正常运行,本实施例可通过调节源端云直存虚拟节点读业务和写业务的比例,以降低读业务的比例,从而保证写业务的正常运行。
[0105] 例如,源端云直存虚拟节点12同时处理50个写业务和50个读业务,并且备份高速缓冲存储器处理数据量超过预设阈值时,则调整源端云直存虚拟节点12写业务为60,读业务为40,以确保源端云直存虚拟节点写业务能够正常运行。
[0106] 也就是说,本实施例将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,包括:
[0107] 基于源端云直存虚拟节点的写输入输出接口,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备;
[0108] 若任意源端云直存虚拟节点执行写业务及读业务的总数据量超过分配的主高速缓冲存储器的数据量阈值,则利用备份高速缓冲存储器执行写业务及读业务;
[0109] 若所述备份高速缓冲存储器处理的数据量达到预设阈值,则降低所述源端云直存虚拟节点执行的读业务比例。
[0110] 进一步的,由于本发明实施例中,待备份文件类型包括视频或图片。当待备份文件类型为图片时,存在一个源端数据块中存储有多个待备份图片的情况,则基于源端云直存虚拟节点的写输入输出接口,将所述存储有所述待备份文件的每个源端数据块并行发送给目标端云存储设备时,包括
[0111] 若任意源端数据块中存储有至少两张待备份图片,则将所述至少两张待备份图片进行合并。
[0112] 也就是说,当任意源端数据块中存储有至少两张待备份图片时,为了节省源端云直存虚拟节点的写输入输出接口的使用量,通过将多张待备份图片合并以通过一个写输入输出接口进行发送,实现一次调用即可把该源端数据块中的所有待备份图片读取出来。
[0113] 本发明实施例提供的云存储数据的备份方法,通过基于源端云直存虚拟节点的写输入输出接口,将存储有待备份文件的每个源端数据块并行发送给目标端云存储设备,若任意源端云直存虚拟节点执行写业务及读业务的总数据量超过分配的主高速缓冲存储器的数据量阈值,则利用备份高速缓冲存储器执行写业务及读业务,若备份高速缓冲存储器处理数据量达到预设阈值,则降低源端云直存虚拟节点执行的读业务。由此,通过动态调整备份IO,以保证文件备份过程中在线视频监控业务的正常写入,并且还将处于同一源数据块中的多张待备份图片进行合并,以通过一个IO接口读取,以提高文件数据备份性能。
[0114] 下面以目标端云存储设备为例对本发明实施例提出的云存储数据的备份方法进行详细描述。
[0115] 图5是本发明提供的再一种云存储数据的备份方法实施例的流程图。本实施例适用于对源端云存储设备中的文件数据备份的场景,该方法可以由本发明实施例提供的配置于云存储数据的备份装置来执行,该装置可以采用软件和/或硬件的方式实现,并可应用于目标端云存储设备中,其中,目标端云存储设备中具有云存储系统,云存储系统包括至少两个目标云直存虚拟节点。如图5所示,该方法可以包括:
[0116] S501,根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块。
[0117] 其中,目标端云存储设备与源端云存储设备具有相同数据结构,即目标端云存储设备是按照与源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点及至少一个目标数据块。
[0118] 具体实现时,目标端云存储设备可根据文件大小和文件名称,首先创建与文件名称相同,文件大小相等的文件,然后按照与源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点,并在各目标云直存虚拟节点中分配至少一个目标数据块。
[0119] 其中,创建的文件可包括格式化信息、数据块索引、数据块数据区及文件名称索引区,具体如图2所示。在本实施例中,文件名称索引区中保存待备份文件的标识信息。标识信息可以是指名称、编号等,此处对其不做具体限定。
[0120] 也就是说,当目标端云存储设备为创建的文件分配目标云直存虚拟节点及目标数据块之后,还可向源端云存储设备发送目标云直存虚拟节点地址、目标数据块起始地址及资源ID等信息,以使源端云存储设备可根据至少两个目标云直存虚拟节点地址、至少一个目标数据块起始地址及资源ID等信息,将存储有待备份文件的每个源端数据块并行发送至目标端云存储设备。
[0121] S502,接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块。
[0122] S503,将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0123] 可选的,本实施例可将每个源数据块中的待备份文件依次写入对应的目标数据块中,以实现待备份文件的备份。
[0124] 具体实现时,可根据待备份文件的文件大小和文件名称,确定包括与待备份文件的文件大小相等,文件名称相同的文件的目标数据块,然后将存储有待备份文件的源端数据块写入确定的目标数据块中。
[0125] 本发明实施例提供的云存储数据的备份方法,通过根据从源端云存储设备接收到的文件大小文件名称,创建名称相同,大小相等的文件,并为该文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,并接收源端云存储设备并行存储有所述待备份文件的每个源数据块,然后存储有所述待备份文件的每个源数据块分别写入至少一个目标数据块。由此,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0126] 在上述实施例的基础上,S503之后还包括:更新所述至少一个目标数据块中目标文件的索引区,并向所述源端云存储设备发送响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。
[0127] 其中,索引区包括数据块索引区及文件名称索引区。
[0128] 本实施例中,当对至少一个目标数据块中目标文件的索引区进行更新之后,还可将更新的索引信息发送至处于目标端云存储设备的CDM服务器中,以使后续技术用户进行巡检时,通过查询CDM服务器中数据块记录的索引数据即可,从而避免了到具体的云直存虚拟节点上进行查询,从而简化数据检查方式,提高检查速度。
[0129] 在上述实施例的基础上,S503之后还包括:若待备份文件类型为图片,则将存储有待备份文件的每个源端数据块分别写入所述至少一个目标数据块之后,还包括:
[0130] 生成待备份图片的备份统一资源定位符,并将该备份统一资源定位符携带在所述响应消息中,发送给所述源端云存储设备。
[0131] 为了更清楚的说明本发明实施例,下面结合图6和图7,对本发明实施例中待备份文件类型为视频或图片时,从源端云存储设备备份至目标端云存储设备的过程进行具体说明。
[0132] 首先如图6所述,当待备份文件类型为视频时,源端云存储设备中的CDM服务器记录获取的备份参数,并将备份参数同步至负载均衡策略的内容中,使得源端云存储设备通过负载均衡策略的内存中存储的备份参数,对自身所有源端云直存虚拟节点(具体如图6中标记的610)进行查询,以确定哪些源端云直存虚拟节点存储有与备份参数匹配的待备份视频(具体如图6中标记的620),并进一步确定上述存储有待备份视频的源端云直存虚拟节点中具体存储待备份文件视频的多个源端数据块(具体如图6中标记的612)。在确定多个源端数据块之后,将存储有待备份视频的多个源端数据块进行锁定,并根据目标端云存储设备确定的目标云直存虚拟节点(具体如图6中标记的614)及至少一个目标数据块(具体如图6中标记的616),将存储有待备份视频的多个源端数据块通过对应源端云直存虚拟节点并行发送给目标端云存储设备进行备份。
[0133] 再者,结合图7,当待备份文件类型为图片时,通过监控系统中的数据库(如图7中标记的710)记录获取的备份参数,并将备份参数同步至负载均衡策略的内容中,使得源端云存储设备通过负载均衡策略的内存中存储的备份参数,对自身所有源端云直存虚拟节点(具体如图7中标记的712)进行查询,以确定哪些云直存虚拟节点存储有与备份参数匹配的待备份图片(具体如图7中标记的720),并进一步确定上述存储有待备份图片的源端云直存虚拟节点中具体存储待备份图片数据的多个源端数据块(具体如图7中标记的712)。在确定多个源端数据块之后,对存储有待备份图片的多个源端数据块进行锁定,并根据目标端云存储设备确定目标云直存虚拟节点(具体如图7中标记的714)及至少一个目标数据块(具体如图7中标记的716),将存储有待备份图片的多个源端数据块通过对应源端云直存虚拟节点并行发送给目标端云存储设备进行备份。其中,当任意源端数据块中存储有至少两张待备份图片,则将至少两张待备份图片的读请求进行合并,以节省源端云直存虚拟节点的写输入输出接口的使用量。此外,目标端源存储设备将待备份图片写入至少一个目标数据块之后,还生成待备份图片的备份统一资源定位符(具体如图7中标记的718),并将该备份统一资源定位符发送给监控系统的数据库中,以通过数据库进行记录,便于后续基于备份统一资源定位符获取备份的图片。
[0134] 为了实现上述目的,本发明实施例提出了一种云存储数据的备份装置,其中该云存储数据的备份装置,配置于包括至少两个源端云直存虚拟节点的源端云存储设备。
[0135] 图8是本发明提供的一种云存储数据的备份装置的结构示意图。
[0136] 如图8所示,本发明实施例云存储数据的备份装置包括:第一确定模块810、发送模块820及控制模块830。
[0137] 其中,第一确定模块810,用于依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0138] 发送模块820,用于将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;
[0139] 控制模块830,用于将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0140] 作为本发明实施例的一种可选的实现方式,所述备份参数还包括:待备份文件类型,所述待备份文件类型包括视频或图片;
[0141] 相应的,第一确定模块810具体用于:
[0142] 若待备份文件类型为视频,则对每个源端云直存虚拟节点存储的文件名称索引区进行扫描,确定包括监控设备标识和所述监控设备的备份时间范围的待备份文件,并确定该文件的文件大小和文件名称,以及存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块;
[0143] 若待备份文件类型为图片,则从监控系统的数据库中,获取包括所述监控设备标识及所述监控设备的备份时间范围的初始统一资源定位符,将所述初始统一资源定位符对应的文件确定为待备份文件,并确定存储有所述待备份文件的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块。
[0144] 作为本发明实施例的一种可选的实现方式,发送模块820具体用于:
[0145] 基于源端云直存虚拟节点的写输入输出接口,将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备;
[0146] 若任意源端云直存虚拟节点执行写业务及读业务的总数据量超过分配的主高速缓冲存储器的数据量阈值,则利用备份高速缓冲存储器执行写业务及读业务;
[0147] 若所述备份高速缓冲存储器处理的数据量达到预设阈值,则降低所述源端云直存虚拟节点执行的读业务比例。
[0148] 作为本发明实施例的一种可选的实现方式,若待备份文件类型为图片,则控制模块830具体用于:
[0149] 若任意源端数据块中存储有至少两张待备份图片,则将所述至少两张待备份图片进行合并。
[0150] 作为本发明实施例的一种可选的实现方式,发送模块820具体用于:
[0151] 基于待备份文件的存储周期,锁定存储有所述待备份文件的每个源端数据块。
[0152] 作为本发明实施例的一种可选的实现方式,还包括:第三确定模块。
[0153] 其中,第一确定模块,用于所述目标端云存储设备按照与所述源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点,以及至少一个目标数据块。
[0154] 作为本发明实施例的一种可选的实现方式,所述云存储数据的备份装置还包括:接收模块和解锁模块。
[0155] 其中,接收模块,用于接收所述目标端云存储设备发送的响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块;
[0156] 解锁模块,用于基于所述响应消息,解锁存储有所述待备份文件的每个源端数据块。
[0157] 作为本发明实施例的一种可选的实现方式,所述响应消息包括:备份统一资源定位符;
[0158] 所述云存储数据的备份装置还包括:记录模块。
[0159] 其中,记录模块用于将所述备份统一资源定位符发送给监控系统中的数据库,以使所述数据库记录所述备份统一资源定位符。
[0160] 需要说明的是,前述对云存储数据的备份方法实施例的解释说明也适用于该实施例的云存储数据的备份装置,其实现原理类似,此处不再赘述。
[0161] 本发明实施例提供的云存储数据的备份装置,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0162] 图9是本发明提供的另一种云存储数据的备份装置实施例的结构示意图,其中该云存储数据的备份装置,配置于包括至少两个目标云直存虚拟节点的目标端云存储设备。
[0163] 如图9所示,本发明实施例云存储数据的备份装置包括:第二确定模块910、接收模块920及写入模块930。
[0164] 其中,第二确定模块910用于根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;
[0165] 接收模块920用于接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;
[0166] 文件写入模块930用于将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0167] 作为本发明实施例的一种可选的实现方式,所述装置还包括:第四确定模块。
[0168] 其中,第四确定模块,用于所述目标端云存储设备按照与所述源端云存储设备相同的负载均衡策略分配至少两个目标云直存虚拟节点,以及至少一个目标数据块。
[0169] 作为本发明实施例的一种可选的实现方式,所述装置还包括:更新模块。
[0170] 其中,更新模块,用于更新所述至少一个目标数据块中目标文件的索引区,并向所述源端云存储设备发送响应消息,所述响应消息表征所述目标端云存储设备已将存储有待备份文件的每个源端数据块分别写入至少一个目标数据块。
[0171] 作为本发明实施例的一种可选的实现方式,若待备份文件类型为图片,所述装置还包括:发送模块。
[0172] 其中,发送模块,用于生成待备份图片的备份统一资源定位符,并将该备份统一资源定位符携带在所述响应消息中,发送给所述源端云存储设备。
[0173] 需要说明的是,前述对云存储数据的备份方法实施例的解释说明也适用于该实施例的云存储数据的备份装置,其实现原理类似,此处不再赘述。
[0174] 本发明实施例提供的云存储数据的备份装置,简化了备份文件数据时的备份结构,并且能够基于云直存虚拟节点实现并行备份,从而提高了文件数据备份的性能和效率,此外还可基于文件数据的时间属性对文件进行锁定,以确定文件备份时的一致性,优化了文件备份流程。
[0175] 为了实现上述目的,本发明实施例还提出了一种源端云存储设备。
[0176] 参见图10,本发明实施例提供了一种源端云存储设备12,其包括:一个或多个处理器16;存储装置28,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器16执行,使得所述一个或多个处理器16实现本发明实施例所提供的应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法,包括:
[0177] 依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0178] 依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0179] 将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;
[0180] 将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0181] 当然,本领域技术人员可以理解,处理器16还可以实现本发明任意实施例所提供的应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法的技术方案。
[0182] 图10显示的源端云存储设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0183] 如图10所示,源端云存储设备12以通用计算设备的形式表现。源端云存储设备12的组件可以包括但不限于:一个或者多个处理器或者处理器16,存储装置28,连接不同系统组件(包括存储装置28和处理器16)的总线18。
[0184] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0185] 源端云存储设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被源端云存储设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0186] 存储装置28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。源端云存储设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD‑ROM,DVD‑ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储装置28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0187] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储装置28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0188] 源端云存储设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该源端云存储设备12交互的设备通信,和/或与使得该源端云存储设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,源端云存储设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与源端云存储设备
12的其它模块通信。应当明白,尽管图中未示出,可以结合源端云存储设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0189] 处理单元16通过运行存储在系统存储装置28中的程序,从而执行各种功能应用以及数据处理,例如实现应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法。
[0190] 本发明实施例还提供了一种目标端云存储设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法,包括:
[0191] 根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;
[0192] 接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;
[0193] 将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0194] 当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法的技术方案。该电子设备的硬件结构以及功能可参见上述源端云存储设备的内容解释。
[0195] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种应用于包括至少两个源端云直存虚拟节点的源端云存储设备的云存储数据的备份方法,该方法包括:
[0196] 依据备份参数确定所述至少两个源端云直存虚拟节点中与所述备份参数相匹配的待备份文件的文件大小和文件名称,以及所述待备份文件所属的至少两个源端云直存虚拟节点及各源端云直存虚拟节点中的至少一个源端数据块,其中所述备份参数至少包括监控设备标识和所述监控设备的备份时间范围;
[0197] 将存储有所述待备份文件的每个源端数据块进行锁定,并将所述文件大小和文件名称发送至目标端云存储设备,以指示所述目标端云存储设备根据所述文件大小和文件名称在所述目标端云存储设备中创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块;
[0198] 将所述存储有所述待备份文件的每个源端数据块并行发送给所述目标端云存储设备,以指示所述目标端云存储设备将所述存储有所述待备份文件的每个源端数据块分别写入所述至少一个目标数据块。
[0199] 当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的用于执行一种应用于包括至少两个云直存虚拟节点的源端云存储设备的云存储数据的备份方法中的相关操作。
[0200] 本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0201] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0202] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0203] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0204] 本发明实施例还提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中的任一种应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法,该方法包括:
[0205] 根据从源端云存储设备接收到的文件大小和文件名称,创建名称相同,大小相等的文件,并为所述文件分配至少两个目标云直存虚拟节点及各目标云直存虚拟节点中的至少一个目标数据块,其中,所述文件大小是待备份文件的文件大小,文件名称是所述待备份文件的文件名称,所述待备份文件分别存储在至少一个源端数据块中,所述源端数据块是所述源端云存储设备的至少两个源端云直存虚拟节点中的数据块;
[0206] 接收所述源端云存储设备并行发送的存储有所述待备份文件的每个源数据块;
[0207] 将所述存储有待备份文件的每个源数据块分别写入所述至少一个目标数据块。
[0208] 当然,本发明实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的应用于包括至少两个目标云直存虚拟节点的目标端云存储设备的云存储数据的备份方法中的相关操作。对存储介质的介绍可参见上述实施例中计算机可读存储介质中的内容解释。
[0209] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。