一种视频云存储系统中的数据热替换方法和系统转让专利

申请号 : CN201410439806.0

文献号 : CN105450709B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈翟翟王伟林起芊汪渭春闫春

申请人 : 杭州海康威视系统技术有限公司

摘要 :

本发明公开了一种视频云存储系统中的数据热替换方法和系统:视频云存储系统中的服务进程启动,将预先生成的、存储在磁盘上的文件A映射到物理内存中;当需要进行数据热替换时,替换进程启动,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处;其中,文件A为由原始数据生成的文件,文件B为由替换数据生成的文件。应用本发明所述方案,能够提高替换速度和减少资源消耗等。

权利要求 :

1.一种视频云存储系统中的数据热替换方法,其特征在于,包括:

视频云存储系统中的服务进程启动,将预先生成的、存储在磁盘上的文件A映射到物理内存中,其中,服务进程是视频云存储系统的主体进程;其中,所述将预先生成的、存储在磁盘上的文件A映射到物理内存中之后,进一步包括:当需要对映射到物理内存中的文件A进行操作时,所述服务进程针对所述文件A在物理内存中的映射区域加进程间锁,当操作完成时,解所述进程间锁;

当需要进行数据热替换时,替换进程启动,所述替换进程针对所述映射区域加进程间锁,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处,所述替换进程解所述进程间锁;

其中,文件A为由原始数据生成的文件,文件B为由替换数据生成的文件。

2.根据权利要求1所述的方法,其特征在于,

所述将预先生成的、存储在磁盘上的文件A映射到物理内存中包括:通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件A映射到物理内存中;

所述将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处包括:通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处。

3.根据权利要求2所述的方法,其特征在于,

所述将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处之后,进一步包括:所述替换进程将文件B从磁盘上删除,并退出进程。

4.一种视频云存储系统中的数据热替换系统,其特征在于,包括:

服务进程,用于当自身启动后,将预先生成的、存储在磁盘上的文件A映射到物理内存中,其中,服务进程是视频云存储系统的主体进程;其中,文件A为由原始数据生成的文件,所述服务进程进一步用于,在将文件A映射到物理内存中之后,当需要对映射到物理内存中的文件A进行操作时,针对所述文件A在物理内存中的映射区域加进程间锁,当操作完成时,解所述进程间锁;

替换进程,用于当需要进行数据热替换时启动,所述替换进程针对所述映射区域加进程间锁,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处,所述替换进程解所述进程间锁;其中,文件A为由原始数据生成的文件,文件B为由替换数据生成的文件。

5.根据权利要求4所述的系统,其特征在于,

所述服务进程通过内存磁盘映射的方式,将文件A映射到物理内存中;

所述替换进程通过内存磁盘映射的方式,将文件B映射到文件A在物理内存中的映射区域处。

6.根据权利要求5所述的系统,其特征在于,

所述替换进程进一步用于,在将文件B映射到文件A在物理内存中的映射区域处之后,将文件B从磁盘上删除,并退出进程。

说明书 :

一种视频云存储系统中的数据热替换方法和系统

技术领域

[0001] 本发明涉及数据存储技术,特别涉及一种视频云存储系统中的数据热替换方法和系统。

背景技术

[0002] 视频云存储系统,是指通过集群应用、网络技术和分布式文件系统等,将网络中大量的存储设备通过应用软件集合起来协同工作,共同对外提供视频数据存储和业务访问功能的系统。
[0003] 目前,当需要对视频云存储系统中的数据进行替换时,通常采用数据热替换的方式,所谓数据热替换,即指进程不停机,进行内部数据的全量更新替换。
[0004] 具体的,可采用以下方式来实现数据热替换。
[0005] 方式一
[0006] 数据通过socket传输到视频云存储系统的服务进程,数据的格式预先约定好,数据接收完成后,由服务进程按照预先约定好的方式进行数据替换。
[0007] 这种方式的弊端在于:服务进程需要专门创建一个socket来进行数据接收,socket的创建需要消耗端口号,同时socket的接收服务开发和维护相对复杂,数据的接收速度也较慢;另外,数据必须全部接收完,由服务进程确定数据的完整性之后,才能进行数据替换,如果只接收到一半即出现异常网线断开,则需要重新传输之前已经传输过的数据;也就是说,这种方式的替换速度较慢,且会增加资源消耗。
[0008] 方式二
[0009] 数据通过第三方中转到服务进程,如数据预先存储到数据库中,然后通过信号或者socket发送协议的方式通知替换。
[0010] 这种方式的弊端在于:数据需要在第三方进行中转,从而增加了资源消耗;而且,如果通知替换的接口为socket的话,也会存在方式一中所述的关于socket的弊端。

发明内容

[0011] 有鉴于此,本发明提供了一种视频云存储系统中的数据热替换方法和系统,能够提高替换速度和减少资源消耗。
[0012] 为了达到上述目的,本发明的技术方案是这样实现的:
[0013] 一种视频云存储系统中的数据热替换方法,包括:
[0014] 视频云存储系统中的服务进程启动,将预先生成的、存储在磁盘上的文件A映射到物理内存中;
[0015] 当需要进行数据热替换时,替换进程启动,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处;
[0016] 其中,文件A为由原始数据生成的文件,文件B为由替换数据生成的文件。
[0017] 一种视频云存储系统中的数据热替换系统,包括:
[0018] 服务进程,用于当自身启动后,将预先生成的、存储在磁盘上的文件A映射到物理内存中,其中,文件A为由原始数据生成的文件;
[0019] 替换进程,用于当需要进行数据热替换时启动,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处,其中,文件B为由替换数据生成的文件。
[0020] 可见,采用本发明所述方案,无需进行socket的创建或借助于第三方的中转,即可实现数据热替换,从而克服了现有技术中存在的问题,进而提高了替换速度和减少了资源消耗;而且,本发明所述方案实现起来简单方便,从而便于进行普及和推广。

附图说明

[0021] 图1为本发明视频云存储系统中的数据热替换方法实施例的流程图。
[0022] 图2为本发明服务进程和替换进程的工作方式示意图。

具体实施方式

[0023] 针对现有技术中存在的问题,本发明中提出一种视频云存储系统中的数据热替换方案,能够提高替换速度和减少资源消耗等。
[0024] 为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步的详细说明。
[0025] 图1为本发明视频云存储系统中的数据热替换方法实施例的流程图。如图1所示,包括以下步骤11~12。
[0026] 步骤11:视频云存储系统中的服务进程启动,将预先生成的、存储在磁盘上的文件A映射到物理内存中,其中,文件A为由原始数据生成的文件。
[0027] 服务进程是视频云存储系统对外提供功能服务的进程,是整个视频云存储系统的主体进程。
[0028] 具体地,当服务进程启动之后,可通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件A映射到物理内存中,内存磁盘映射方式的具体实现为现有技术。
[0029] 如前所述,文件A为由原始数据(即替换之前的旧数据)生成的文件,文件A的具体格式不作限制,可根据实际需要而定,另外,文件A可预先手动或自动生成,具体生成方式同样不作限制。
[0030] 服务进程在将文件A映射到物理内存中之后,可直接对所映射的文件A进行操作,如进行增删查改等操作。
[0031] 另外,为了防止与其它进程发生冲突,在每次进行操作之前,服务进程通常还需要针对文件A在物理内存中的映射区域加进程间锁(LOCK),用于锁定所述映射区域,之后即可进行相应操作,并在操作完成时,解所述进程间锁,以释放对所述映射区域的占用,如何加所述进程间锁和解所述进程间锁均为现有技术。
[0032] 步骤12:当需要进行数据热替换时,替换进程启动,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处,其中,文件B为由替换数据生成的文件。
[0033] 当需要进行数据热替换时,可手动或自动启动替换进程,如何进行启动不作限制,之后,替换进程可通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处。
[0034] 如前所述,文件B为由替换数据(即替换之后的新数据)生成的文件,文件B的具体格式同样不作限制,可根据实际需要而定,另外,文件B可预先手动或自动生成,具体生成方式同样不作限制,在磁盘上,文件A和文件B分开存放,即是两个不同的文件。
[0035] 另外,与服务进程类似,替换进程在将文件B映射到文件A在物理内存中的映射区域处之前,还需要针对所述映射区域加进程间锁,之后即可将文件B映射到所述映射区域处,并在映射完成后,解所述进程间锁。
[0036] 通过上述操作,即可替换文件A映射到物理内存中的内容,同时,由于采用了内存磁盘映射的方式,因此磁盘上的文件A的内容也会被文件B的内容所替换,相应地,为了节省磁盘的存储空间,替换进程可将文件B从磁盘上删除,并退出进程。
[0037] 后续,当服务进程对文件A进行操作时,即是对内容进行了替换后的文件A进行操作。
[0038] 基于上述介绍,图2为本发明服务进程和替换进程的工作方式示意图。
[0039] 如图2所示,其中服务进程的工作方式为:
[0040] 服务进程启动;
[0041] 服务进程通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件A映射到物理内存中;
[0042] 服务进程需要对映射到物理内存中的文件A进行操作,针对文件A在物理内存中的映射区域加进程间锁;
[0043] 服务进程进行相应的操作;
[0044] 操作完成,服务进程解进程间锁;
[0045] 当满足退出条件时,服务进程退出,如人为关闭服务进程。
[0046] 如图2所示,替换进程的工作方式为:
[0047] 需要进行数据热替换,替换进程启动;
[0048] 替换进程针对文件A在物理内存中的映射区域加进程间锁;
[0049] 替换进程通过内存磁盘映射的方式,将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处;
[0050] 映射完成,替换进程解进程间锁;
[0051] 替换进程将文件B从磁盘上删除,并退出进程。
[0052] 本发明同时公开了一种视频云存储系统中的数据热替换系统,包括:服务进程和替换进程。
[0053] 其中,服务进程,用于当自身启动后,将预先生成的、存储在磁盘上的文件A映射到物理内存中,其中,文件A为由原始数据生成的文件;
[0054] 替换进程,用于当需要进行数据热替换时启动,并将预先生成的、存储在磁盘上的文件B映射到文件A在物理内存中的映射区域处,其中,文件B为由替换数据生成的文件。
[0055] 具体地,
[0056] 服务进程可通过内存磁盘映射的方式,将文件A映射到物理内存中;
[0057] 同样,替换进程可通过内存磁盘映射的方式,将文件B映射到文件A在物理内存中的映射区域处。
[0058] 另外,
[0059] 服务进程还可进一步用于,在将文件A映射到物理内存中之后,当需要对映射到物理内存中的文件A进行操作时,针对所述映射区域加进程间锁,当操作完成时,解进程间锁。
[0060] 再有,
[0061] 替换进程还可进一步用于,在将文件B映射到文件A在物理内存中的映射区域处之前,针对所述映射区域加进程间锁,在将文件B映射到文件A在物理内存中的映射区域处之后,解进程间锁。
[0062] 再有,
[0063] 替换进程还可进一步用于,在将文件B映射到文件A在物理内存中的映射区域处之后,将文件B从磁盘上删除,并退出进程。
[0064] 上述系统实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
[0065] 总之,采用本发明所述方案,无需进行socket的创建或借助于第三方的中转,即可实现数据热替换,从而克服了现有技术中存在的问题,进而提高了替换速度和减少了资源消耗;而且,本发明所述方案实现起来简单方便,从而便于进行普及和推广。
[0066] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。