文件创建方法、客户端、元数据服务器及系统与流程

文档序号:19250567发布日期:2019-11-27 20:10阅读:196来源:国知局
文件创建方法、客户端、元数据服务器及系统与流程

本发明涉及文件处理技术领域,具体涉及一种文件创建方法、客户端、元数据服务器及系统。



背景技术:

随着科学技术的发展,各类型的数据以爆炸性的形式增长,例如对于视频监控,大量的视频数据不断地从前端监控设备中传输至后端存储设备进行存储。

存储视频数据的方式为:周期性的将视频数据截断并存储至一个文件中,然后新建一个新的文件来存储后续视频数据。而目前通常存在多台前端监控设备,每台前端监控设备都需要在同一时间点切换不同的文件来存储视频数据。在每台前端监控设备同时切换文件的瞬间,存储服务器需要创建大量的文件,当文件的创建速度不足以存储所有的视频数据时,会丢失视频数据,无法保证视频数据的存储完整性。



技术实现要素:

有鉴于此,本发明实施例提供一一种文件创建方法、客户端、元数据服务器及系统,以解决当文件的创建速度不足以存储所有的视频数据时会丢失视频数据的问题。

为实现上述目的,本发明实施例提供如下技术方案:

本发明实施例第一方面公开一种文件创建方法,应用于客户端,所述方法包括:

客户端接收监控设备发送的文件创建请求;

获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将所述第一元数据作为待创建文件的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表;

根据所述待创建文件的文件信息,向所述元数据服务器发送修改请求,修改所述第二预创建文件列表中所述第一元数据标识对应的元数据;

接收所述元数据服务器反馈的修改回复,将所述第一元数据标识从所述第一预创建文件列表中删除,向所述监控设备反馈指示所述待创建文件已创建的指示信息,以及向所述元数据服务器请求创建第二元数据;

接收所述监控设备发送的业务数据和所述元数据服务器发送的第二元数据,将所述业务数据存储至所述待创建文件中,以及将所述第二元数据对应的第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,创建所述第一预创建文件列表的过程包括:

所述客户端向所述元数据服务器请求创建多组元数据;

接收所述元数据服务器反馈的所述多组元数据;

根据每一组所述元数据对应的元数据标识,构建所述第一预创建文件列表。

优选的,所述根据所述待创建文件的文件信息,向所述元数据服务器发送修改请求,包括:

根据所述待创建文件的文件名称、创建时间和属主信息,向所述元数据服务器发送修改请求。

本发明实施例第二方面公开一种文件创建方法,应用于元数据服务器,所述方法包括:

元数据服务器接收客户端根据待创建文件的文件信息发送的修改请求,修改第二预创建文件列表中第一元数据标识对应的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表;

删除所述第二预创建文件列表中的所述第一元数据标识,向所述客户端反馈修改回复;

接收所述客户端发送的创建第二元数据的请求,创建所述第二元数据;

将所述第二元数据对应的第二元数据标识添加至所述第二预创建文件列表中,向所述客户端发送所述第二元数据,使所述客户端将所述第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,构建所述第二预创建文件列表的过程包括:

所述元数据服务器接收所述客户端发送的创建多组元数据的请求,创建多组元数据;

将每一组所述元数据的元数据标识添加至所述第二预创建文件列表,并将所述多组元数据发送至所述客户端。

本发明实施例第三方面公开一种客户端,其特征在于所述客户端包括:

接收单元,用于接收监控设备发送的文件创建请求;

获取单元,用于获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将所述第一元数据作为待创建文件的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表;

发送单元,用于根据所述待创建文件的文件信息,向所述元数据服务器发送修改请求,修改所述第二预创建文件列表中所述第一元数据标识对应的元数据;

第一处理单元,用于接收所述元数据服务器反馈的修改回复,将所述第一元数据标识从所述第一预创建文件列表中删除,向所述监控设备反馈指示所述待创建文件已创建的指示信息,以及向所述元数据服务器请求创建第二元数据;

第二处理单元,用于接收所述监控设备发送的业务数据和所述元数据服务器发送的第二元数据,将所述业务数据存储至所述待创建文件中,以及将所述第二元数据对应的第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,所述获取单元包括:

请求模块,用于向所述元数据服务器请求创建多组元数据;

接收模块,用于接收所述元数据服务器反馈的所述多组元数据;

构建模块,用于根据每一组元数据对应的元数据标识,构建所述第一预创建文件列表。

本发明实施例第四方面公开一种元数据服务器,所述元数据服务器包括:

修改单元,用于接收客户端根据待创建文件的文件信息发送的修改请求,修改第二预创建文件列表中第一元数据标识对应的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表;

删除单元,用于删除所述第二预创建文件列表中的所述第一元数据标识,向所述客户端反馈修改回复;

创建单元,用于接收所述客户端发送的创建第二元数据的请求,创建所述第二元数据;

处理单元,用于将所述第二元数据对应的第二元数据标识添加至所述第二预创建文件列表中,向所述客户端发送所述第二元数据,使所述客户端将所述第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,所述修改单元包括:

接收模块,用于接收所述客户端发送的创建多组元数据的请求,创建多组元数据;

添加模块,用于将每一组所述元数据的元数据标识添加至所述第二预创建文件列表,并将所述多组元数据发送至所述客户端。

本发明实施例第五方面公开一种文件创建系统,其特征在于,所述系统包括:本发明实施例第三方面公开的客户端,以及本发明实施例第四方面公开的元数据服务器。

基于上述本发明实施例提供的一种文件创建方法、客户端、元数据服务器及系统,该方法为:客户端接收监控设备发送的文件创建请求,获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将第一元数据作为待创建文件的元数据;客户端根据待创建文件的文件信息,向元数据服务器发送修改请求;元数据服务器修改第二预创建文件列表中第一元数据标识对应的元数据,向客户端反馈修改回复;客户端将第一元数据标识从第一预创建文件列表中删除,向元数据服务器请求第二元数据;客户端将监控设备发送的业务数据存储至待创建文件中,将第二元数据对应的第二元数据标识添加至第一预创建文件列表中的第二指定位置。本方案中,客户端预先向元数据服务器请求获取多组元数据,并存储至客户端本地缓存中。当监控设备需要创建文件时,客户端直接将本地缓存中的元数据作为待创建文件的元数据,减少创建文件需要的时间,保证视频数据不被丢失以及保证视频数据的存储完整性。

附图说明

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

图1为本发明实施例提供的一种文件创建方法的流程图;

图2为本发明实施例提供的一种客户端的结构框图;

图3为本发明实施例提供的另一种客户端的结构框图;

图4为本发明实施例提供的一种元数据服务器的结构框图;

图5为本发明实施例提供的另一种元数据服务器的结构框图。

具体实施方式

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

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

由背景技术可知,在每台前端监控设备同时切换文件的瞬间,存储服务器需要创建大量的文件,当文件的创建速度不足以存储所有的视频数据时,会丢失视频数据,无法保证视频数据的存储完整性。

因此本发明实施例提供一种文件创建方法、客户端、元数据服务器及系统,客户端预先向元数据服务器请求获取多组元数据,并存储至客户端本地缓存中。当监控设备需要创建文件时,客户端直接将本地缓存中的元数据作为待创建文件的元数据,以减少创建文件需要的时间,从而保证视频数据不被丢失以及保证视频数据的存储完整性。

参见图1,示出了本发明实施例提供的一种文件创建方法的流程图,所述文件创建方法包括以下步骤:

步骤s101:客户端向元数据服务器请求创建多组元数据。

需要说明的是,监控设备通过所述客户端与存储设备进行通信,在执行步骤s101之前,所述客户端按照标准协议预先挂载到所述存储设备中。

在具体实现步骤s101的过程中,所述客户端在挂载时,向所述元数据服务器发送获取批量元数据的请求,具体向所述元数据服务器获取元数据的数量根据实际需求进行设置,在此不做具体限定。

步骤s102:所述元数据服务器创建所述多组元数据,将每一组所述元数据的元数据标识添加至预设的第二预创建文件列表。

需要说明的是,所述元数据服务器可能与多个客户端连接,所述元数据服务器对应的所述第二预创建文件列表具体包括:所有客户端对应的第一预创建文件列表的总和。

在具体实现步骤s102的过程中,所述元数据服务器根据所述客户端发送的获取批量元数据的请求,创建所述多组元数据。并将每一组所述元数据的元数据标识(inodenumber,ino)添加至预设的第二预创建文件列表。

例如:客户端a向所述元数据服务器请求获取10组元数据。所述元数据服务器创建10组元数据,并将10组元数据对应的元数据标识添加至第二预创建文件列表中,以及将10组元数据反馈给所述客户端a。

步骤s103:所述元数据服务器将所述多组元数据发送给所述客户端。

步骤s104:所述客户端根据每一组所述元数据对应的元数据标识,构建第一预创建文件列表。

在具体实现步骤s104的过程中,所述客户端接收到所述元数据服务器发送的所述多组元数据,所述客户端将所述多组元数据存储至客户端本地缓存中。并利用每一组所述元数据对应的元数据标识,构建所述第一预创建文件列表。

步骤s105:所述客户端接收监控设备发送的文件创建请求。

在具体实现步骤s105的过程中,所述监控设备通过视频存储业务向所述客户端发送文件创建请求,请求创建待创建文件。

步骤s106:所述客户端获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将所述第一元数据作为待创建文件的元数据。

在具体实现步骤s106的过程中,所述客户端从客户端本地缓存中获取第一元数据标识对应的第一元数据,将所述第一元数据作为待创建文件的元数据。需要说明的是,所述第一指定位置为所述第一预创建文件列表中的头部或尾部,即所述第一元数据标识为所述第一预创建文件列表中的第一个元数据标识或者最后一个元数据标识。

步骤s107:所述客户端根据所述待创建文件的文件信息,向所述元数据服务器发送修改请求。

需要说明的是,元数据保存了文件的文件名称、创建时间和属主信息等。将所述第一元数据作为所述待创建文件的元数据,所述待创建文件为实际创建的文件。在预创建的文件和实际创建的文件中,元数据包含的内容不一致。因此,在将所述第一元数据作为所述待创建文件的元数据后,需要向所述元数据服务器发送修改请求,修改所述第二预创建文件列表中第一元数据标识对应的元数据。

在具体实现步骤s107的过程中,根据所述待创建文件的文件名称、创建时间和属主信息,向所述元数据服务器发送修改请求。

步骤s108:所述元数据服务器修改第二预创建文件列表中第一元数据标识对应的元数据。

步骤s109:所述元数据服务器删除所述第二预创建文件列表中的第一元数据标识,向所述客户端反馈修改回复。

在具体实现步骤s109的过程中,所述元数据服务器修改完所述第一元数据标识对应的元数据后,将所述第一元数据标识从所述第二预创建文件列表中删除,并向所述客户端反馈修改回复,指示所述元数据服务器已修改所述第一元数据标识对应的元数据。

步骤s110:所述客户端将所述第一元数据标识从所述第一预创建文件列表中删除,向所述监控设备反馈指示所述待创建文件已创建的指示信息,以及向所述元数据服务器请求创建第二元数据。

需要说明的是,所述客户端在创建所述第一预创建文件列表时,所述第一预创建文件列表中的元数据标识的数量为固定的,每当使用一个元数据标识对应的元数据标识作为待创建文件的元数据后,需将该元数据标识从所述第一预创建文件列表中删除,再往所述第一预创建文件列表中添加新的元数据标识。

例如:所述第一预创建文件列表中包含500个元数据标识,所述客户端将所述第一预创建文件列表中的第一个元数据标识对应的元数据作为待创建文件的元数据。所述客户端需将该第一个元数据标识删除,并向所述第一预创建文件列表中添加一个新的元数据标识。

在具体实现步骤s110的过程中,所述客户端收到所述元数据服务器发送的修改回复后,将所述第一元数据标识从所述第一预创建文件列表中删除。向所述监控设备反馈指示所述待创建文件已创建的指示信息,利用异步线程向所述元数据服务器请求创建第二元数据。

步骤s111:所述元数据服务器创建所述第二元数据,将所述第二元数据对应的第二元数据标识添加至所述第二预创建文件列表中,向所述客户端发送所述第二元数据。

由上述内容可知,所述客户端在使用一个元数据标识对应的元数据后,需删除该元数据标识和创建一个新的元数据,保证所述第一预创建文件列表中的元数据标识的总数量保持不变。因此,所述客户端通过向所述元数据服务器发送创建第二元数据的请求,创建所述第二元数据。

在具体实现步骤s111的过程中,所述元数据服务器接收所述客户端发送的创建第二元数据的请求,创建所述第二元数据。所述元数据服务器将所述第二元数据的第二元数据标识添加至所述第二预创建文件列表中,并将所述第二元数据反馈给所述客户端。

步骤s112:所述客户端接收所述监控设备发送的业务数据,将所述业务数据存储至所述待创建文件中,以及将所述第二元数据对应的第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

需要说明的是,在上述步骤s110中,当所述客户端向所述监控设备反馈指示所述待创建文件已创建的指示信息之后,所述监控设备开始向所述客户端发送业务数据。所述客户端将所述业务数据存储至所述待创建文件中。

在具体实现步骤s112的过程中,需要说明的是,所述第二指定位置为所述第一预创建文件列表中的尾部或头部。当所述第一指定位置为头部时,所述第二指定位置为尾部,当所述第一指定位置为尾部时,所述第二指定位置为头部。在本发明实施例中,对于所述第一指定位置和第二指定位置不做具体限定。

需要说明的是,上述步骤s101至步骤s104只在所述客户端挂载时执行,所述监控设备每次向所述客户端发送所述文件创建请求时,都需执行上述步骤s106至步骤s112。

在本发明实施例中,客户端预先向元数据服务器获取多组元数据并存储至客户端本地缓存中,以及构建第一预创建文件列表。当监控设备向客户端发送文件创建请求时,客户端获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将第一元数据作为待创建文件的元数据,减少创建文件需要的时间,保证视频数据不被丢失以及保证视频数据的存储完整性。

与上述本发明实施例提供的一种文件创建方法相对应,参见图2,本发明实施例还提供了一种客户端的结构框图,所述客户端包括:接收单元201、获取单元202、发送单元203、第一处理单元204和第二处理单元205。

接收单元201,用于接收监控设备发送的文件创建请求。

获取单元202,用于获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将所述第一元数据作为待创建文件的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表。

发送单元203,用于根据所述待创建文件的文件信息,向所述元数据服务器发送修改请求,修改所述第二预创建文件列表中所述第一元数据标识对应的元数据。

在具体实现中,所述发送单元203具体用于:根据所述待创建文件的文件名称、创建时间和属主信息,向所述元数据服务器发送修改请求。

第一处理单元204,用于接收所述元数据服务器反馈的修改回复,将所述第一元数据标识从所述第一预创建文件列表中删除,向所述监控设备反馈指示所述待创建文件已创建的指示信息,以及向所述元数据服务器请求创建第二元数据。

第二处理单元205,用于接收所述监控设备发送的业务数据和所述元数据服务器发送的第二元数据,将所述业务数据存储至所述待创建文件中,以及将所述第二元数据对应的第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,结合图2,参见图3,示出了本发明实施例提供的一种客户端的结构框图,所述获取单元202包括:请求模块2021、接收模块2022和构建模块2023,各个模块的执行原理如下:

请求模块2021,用于向所述元数据服务器请求创建多组元数据。

接收模块2022,用于接收所述元数据服务器反馈的所述多组元数据。

构建模块2023,用于根据每一组元数据对应的元数据标识,构建所述第一预创建文件列表。

在本发明实施例中,客户端预先向元数据服务器获取多组元数据并存储至客户端本地缓存中,以及构建第一预创建文件列表。当监控设备向客户端发送文件创建请求时,客户端获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将第一元数据作为待创建文件的元数据,减少创建文件需要的时间,保证视频数据不被丢失以及保证视频数据的存储完整性。

与上述本发明实施例提供的一种文件创建方法相对应,参见图4,本发明实施例还提供了一种元数据服务器的结构框图,所述元数据服务器包括:修改单元401、删除单元402、创建单元403和处理单元404。

修改单元401,用于接收客户端根据待创建文件的文件信息发送的修改请求,修改第二预创建文件列表中第一元数据标识对应的元数据,其中,所述客户端预先向元数据服务器请求多组元数据,所述客户端根据所述多组元数据创建所述第一预创建文件列表,所述元数据服务器将所述多组元数据添加至预设的第二预创建文件列表。

删除单元402,用于删除所述第二预创建文件列表中的所述第一元数据标识,向所述客户端反馈修改回复。

创建单元403,用于接收所述客户端发送的创建第二元数据的请求,创建所述第二元数据。

处理单元404,用于将所述第二元数据对应的第二元数据标识添加至所述第二预创建文件列表中,向所述客户端发送所述第二元数据,使所述客户端将所述第二元数据标识添加至所述第一预创建文件列表中的第二指定位置。

优选的,结合图4,参见图5,示出了本发明实施例提供的一种元数据服务器的结构框图,所述修改单元401包括:接收模块4011和添加模块4012。

接收模块4011,用于接收所述客户端发送的创建多组元数据的请求,创建多组元数据。

添加模块4012,用于将每一组所述元数据的元数据标识添加至所述第二预创建文件列表,并将所述多组元数据发送至所述客户端。

在本发明实施例中,当客户端将第一元数据标识对应的第一元数据作为待创建文件的元数据,元数据服务器根据客户端发送的修改请求修改第一元数据标识对应的元数据,保证客户端与元数据服务器中的元数据的一致性。元数据服务器将创建的第二元数据发送给客户端,使客户端将第二元数据标识添加至所述第一预创建文件列表中的第二指定位置,保证第一预创建文件列表中的元数据标识的总数量不变。

优选的,与上述本发明实施例提供的一种文件创建方法相对应,本发明实施例还提供了一种文件创建系统,所述文件创建系统包括:客户端和元数据服务器。所述客户端的执行原理参见图2和图3所示出的内容,所述元数据服务器的执行原理参见图4和图5所示出的内容。

综上所述,本发明实施例提供一种文件创建方法、客户端、元数据服务器及系统,该方法为:客户端接收监控设备发送的文件创建请求,获取第一预创建文件列表中第一指定位置的第一元数据标识对应的第一元数据,将第一元数据作为待创建文件的元数据;客户端根据待创建文件的文件信息,向元数据服务器发送修改请求;元数据服务器修改第二预创建文件列表中第一元数据标识对应的元数据,向客户端反馈修改回复;客户端将第一元数据标识从第一预创建文件列表中删除,向元数据服务器请求第二元数据;客户端将监控设备发送的业务数据存储至待创建文件中,将第二元数据对应的第二元数据标识添加至第一预创建文件列表中的第二指定位置。本方案中,客户端预先向元数据服务器请求获取多组元数据,并存储至客户端本地缓存中。当监控设备需要创建文件时,客户端直接将本地缓存中的元数据作为待创建文件的元数据,减少创建文件需要的时间,保证视频数据不被丢失以及保证视频数据的存储完整性。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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