对NAS设备中视频数据的读写方法及装置与流程

文档序号:11063490阅读:455来源:国知局
对NAS设备中视频数据的读写方法及装置与制造工艺

本发明涉及视频云存储技术领域,特别是涉及对NAS设备中视频数据的读写方法及装置。



背景技术:

随着科技的发展,云存储技术得到了广泛的应用。

现有的视频云存储系统并不支持网络附属存储(NAS,Network Attached Storage)设备。这是由于:视频数据量较大,无法像文本文件一样使用文件的方式将视频放入NAS设备中进行存储。只能将视频分为多个部分,将每个部分放在一个块设备中。虽然通过块设备可以解决视频存储的问题,但NAS设备由于其低成本、高存储效率的特性,应用越来越广泛。

因此,如何使得视频云存储系统支持NAS设备仍是一个亟待解决的技术难题。



技术实现要素:

本发明实施例的目的在于提供一种对NAS设备中视频数据的读写方法及装置,以使得视频云存储系统支持NAS设备。

为达到上述目的,本发明实施例公开了一种对NAS设备中视频数据的读方法,应用于视频云存储系统中的存储服务器,所述视频云存储系统包括:所述存储服务器、索引服务器和网络附属存储NAS设备,所述NAS设备挂载在所述存储服务器的块接口上,所述存储服务器分别与所述索引服务器、所述NAS设备及客户端设备连接,所述NAS设备中包括有多个数据文件,所述索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,所述方法包括:

接收所述客户端设备发送的读请求,其中,所述读请求中携带有所要读取的块设备的磁盘块号;

向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

可选的,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,

在接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名之后,根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备之前,所述方法还包括:

根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备,包括:

根据所述读请求,将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

可选的,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,所述根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录,包括:

获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加 的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

可选的,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,所述根据所述读请求,将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备,包括:

根据所述读请求,使用所述控制文件中的元数据信息将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

一种对NAS设备中视频数据的写方法,应用于视频云存储系统中的存储服务器,所述视频云存储系统包括:所述存储服务器、索引服务器和网络附属存储NAS设备,所述NAS设备挂载在所述存储服务器的块接口上,所述存储服务器分别与所述索引服务器、所述NAS设备及客户端设备连接,所述NAS设备中包括有多个数据文件,所述索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,所述方法包括:

接收所述客户端设备发送的将视频数据写入块设备的写请求;

根据所述写请求,为所要写入的视频数据分配块设备的磁盘块号;

将所分配的块设备的磁盘块号返回给所述客户端设备;

接收所述客户端设备发送的视频数据及所要写入的块设备的磁盘块号;

向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中。

可选的,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,

在接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据 文件的文件名之后,将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中之前,所述方法还包括:

根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中,包括:

将接收的视频数据写入所述NAS设备中、所确定的NAS设备存储目录下的所确定的文件名对应的数据文件中。

可选的,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,所述根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录,包括:

获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

可选的,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,所述将接收的视频数据写入所确定的文件名对应的数据文件中,包括:

根据所述控制文件中的元数据信息,将接收的视频数据写入所确定的存储目录下的所确定的文件名对应的数据文件中。

一种对NAS设备中视频数据的读装置,应用于视频云存储系统中的存储服务器,所述视频云存储系统包括:所述存储服务器、索引服务器和网络附属存储NAS设备,所述NAS设备挂载在所述存储服务器的块接口上,所述存储服务器分别与所述索引服务器、所述NAS设备及客户端设备连接,所述NAS设备中包括有多个数据文件,所述索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,所述读装置包括:读请求接收单元、文件名请求发送单元、文件名接收单元和数据发送单元,

所述读请求接收单元,用于接收所述客户端设备发送的读请求,其中,所述读请求中携带有所要读取的块设备的磁盘块号;

所述文件名请求发送单元,用于向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

所述文件名接收单元,用于接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

所述数据发送单元,用于根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

可选的,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,

所述读装置还包括:第一目录确定单元,用于在所述文件名接收单元接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名之后,在所述数据发送单元根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备之前,根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述数据发送单元,具体用于根据所述读请求,将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

可选的,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同 的阿拉伯数字构成,

所述第一目录确定单元,包括:数目获得子单元、取余运算子单元和取模运算子单元,

所述数目获得子单元,用于获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

所述取余运算子单元,用于对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

所述取模运算子单元,用于判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

可选的,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,

所述数据发送单元,具体用于根据所述读请求,使用所述控制文件中的元数据信息将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

一种对NAS设备中视频数据的写装置,应用于视频云存储系统中的存储服务器,所述视频云存储系统包括:所述存储服务器、索引服务器和网络附属存储NAS设备,所述NAS设备挂载在所述存储服务器的块接口上,所述存储服务器分别与所述索引服务器、所述NAS设备及客户端设备连接,所述NAS设备中包括有多个数据文件,所述索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,所述写装置包括:写请求接收单元、块号分配单元、块号返回单元、数据接收单元、文件名请求发送单元、文件名确定单元和数据写入单元,

所述写请求接收单元,用于接收所述客户端设备发送的将视频数据写入块 设备的写请求;

所述块号分配单元,用于根据所述写请求,为所要写入的视频数据分配块设备的磁盘块号;

所述块号返回单元,用于将所分配的块设备的磁盘块号返回给所述客户端设备;

所述数据接收单元,用于接收所述客户端设备发送的视频数据及所要写入的块设备的磁盘块号;

所述文件名请求发送单元,用于向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

所述文件名接收单元,用于接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

所述数据写入单元,用于将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中。

可选的,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,所述写装置还包括:第二目录确定单元,用于在所述文件名接收单元接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名之后,所述数据写入单元将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中之前,根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述数据写入单元,具体用于将接收的视频数据写入所述NAS设备中、所确定的NAS设备存储目录下的所确定的文件名对应的数据文件中。

可选的,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,

所述第二目录确定单元,包括:数目获得子单元、取余运算子单元和取模运算子单元,

所述数目获得子单元,用于获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

所述取余运算子单元,用于对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

所述取模运算子单元,用于判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

可选的,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,所述数据写入单元,具体用于根据所述控制文件中的元数据信息,将接收的视频数据写入所确定的存储目录下的所确定的文件名对应的数据文件中。

本发明实施例提供的对NAS设备中视频数据的读写方法及装置,将NAS设备挂载在存储服务器的块接口上,NAS设备中包括有多个数据文件,索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,本发明接收客户端设备发送的读请求或写请求,确定所需读取数据或写入数据的数据文件的文件名,进而在NAS设备中所确定的文件名对应的数据文件中进行读写。本发明将对块设备的读写操作转换为对NAS设备中数据文件的读写操作,因此使得视频云存储系统支持了NAS设备。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的一种对NAS设备中视频数据的读方法的流程 图;

图2为本发明实施例提供的一种视频云存储系统的结构示意图;

图3为本发明实施例提供的另一种对NAS设备中视频数据的读方法的流程图;

图4为本发明实施例提供的另一种对NAS设备中视频数据的读方法的流程图;

图5为本发明实施例提供的一种对NAS设备中视频数据的读装置的结构示意图;

图6为本发明实施例提供的一种对NAS设备中视频数据的写方法的流程图;

图7为本发明实施例提供的另一种对NAS设备中视频数据的写方法的流程图;

图8为本发明实施例提供的一种对NAS设备中视频数据的写装置结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供的一种对NAS设备中视频数据的读方法,应用于视频云存储系统中的存储服务器,如图2所示,所述视频云存储系统包括:所述索引服务器001、存储服务器002和网络附属存储NAS设备003,所述NAS设备003挂载在所述存储服务器002的块接口上,所述存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系,该方法可以包括:

S001、接收所述客户端设备发送的读请求,其中,所述读请求中携带有所 要读取的块设备的磁盘块号;

S002、向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

S003、接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

S004、根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

其中,NAS设备也称为“网络存储器”。它是一种专用数据存储设备。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。

具体的,所述NAS设备003挂载在所述存储服务器002的块接口上可以通过建立存储服务器002的块接口到NAS设备003的通信路径来完成。

具体的,可以首先在存储服务器002计算最小可用挂载目录。计算方法可以为:先检查挂载目录/mnt/nas_0001是否存在,若存在,再检查挂载目录/mnt/nas_0002是否存在,若存在,再检查挂载目录/mnt/nas_0003是否存在,依次向后类推。如计算得到最小可用目录为/mnt/nas_0005,则将/mnt/nas_0005设置为NAS设备003的挂载目录。确定挂载目录后,执行Linux系统命令mount命令即可将NAS设备003挂载在存储服务器002的块接口上。

其中,存储服务器002的块接口上可以挂载任意个NAS设备003。

如图3所示,在本发明其他实施例中,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,

在步骤S003之后,步骤S004之前,图1所示方法还可以包括:

S003a、根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

步骤S004可以具体包括:

根据所述读请求,将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

具体的,存储目录中数据文件的划分方式可以有多种,如按照固定大小进行划分,为了方便管理,每个存储目录下的数据文件的数量都有上限。当然,也可以不按照固定大小进行划分,本发明在此不作限定。

进一步,在图3所示方法基础上,在本发明其他实施例中,NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,如图4所示,步骤S003a可以包括:

S003a0、获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

S003a1、对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

S003a2、判断所述取余运算结果是否为0,如果是,则执行S003a3,否则,执行S003a4;

S003a3、将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;

S003a4、将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

下面举例说明:

举例1:挂载目录为/mnt/nas_0005;文件名为23,存储目录中数据文件最大数据为1000,则存储目录为0000001;可以通过路径/mnt/nas_0005/0000001/000023访问该文件。

举例2:挂载目录为/mnt/nas_0005;文件名为1025,存储目录中数据文件最大数据为1024,则存储目录为0000002;可以通过路径/mnt/nas_0005/0000002/001025访问该文件。

当然,在本发明其他实施例中,步骤S003a也可以包括:

步骤一、获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

步骤二、将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,获得运算结果;

步骤三、对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

步骤四、判断所述取余运算结果是否为0,如果是,则将步骤二获得的运算结果减1,根据减1后的运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的存储目录,否则,根据步骤二获得的运算结果,确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的存储目录。

在图3或图4所示实施例基础上,所述存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,步骤S004可以具体包括:

根据所述读请求,使用所述控制文件中的元数据信息将所述NAS设备中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

其中,元数据信息可以包括:控制文件大小、数据文件大小、数据文件信息区大小等数据。

在本发明其他实施例中,存储目录中可以存储有主控制文件和备控制文件,主控制文件和备控制文件相同,互为备份,防止其中一个控制文件损坏或丢失。进一步,数据文件中也可以包括三部分:数据区、主信息区和备信息区,其中,数据区存储用户的视频数据,主信息区和备信息区中的数据相同,互为备份,存储数据区索引信息。

其中,数据区索引信息可以记录数据区内每个I帧的时间戳、I帧在数据区的偏移量、I帧数据的长度等,便于读取某个时间段内的数据。

本发明实施例提供的一种对NAS设备中视频数据的读方法,将NAS设备挂载在存储服务器的块接口上,NAS设备中包括有多个数据文件,索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,本发 明接收客户端设备发送的读请求,确定所需读取数据所在的数据文件的文件名,进而在NAS设备中所确定的文件名对应的数据文件中进行读取。本发明将对块设备的读操作转换为对NAS设备中数据文件的读操作,因此使得视频云存储系统支持了NAS设备。

与上述方法实施例相对应,本发明实施例还提供了一种对NAS设备中视频数据的读装置。

本发明实施例提供的一种对NAS设备中视频数据的读装置,应用于视频云存储系统中的存储服务器,如图2所示,该视频云存储系统可以包括:所述索引服务器001、存储服务器002和网络附属存储NAS设备003,所述NAS设备003挂载在所述存储服务器002的块接口上,所述存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系,如图5所示,该读装置可以包括:读请求接收单元100、文件名请求发送单元200、文件名接收单元300和数据发送单元400,

所述读请求接收单元100,用于接收所述客户端设备发送的读请求,其中,所述读请求中携带有所要读取的块设备的磁盘块号;

所述文件名请求发送单元200,用于向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

所述文件名接收单元300,用于接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

所述数据发送单元400,用于根据所述读请求,将所述NAS设备中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备。

在本发明其他实施例中,所述NAS设备003中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,图5所示读装置还可以包括:第一目录确定单元,用于在所述文件名接收单元300接收所述索引服务器001根据所述对应关系反馈的所述NAS设备中的数据文件的文件名之后,在所述数据发送单元400根据所述读请求,将所述NAS设备003中的、具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备004之前,根据NAS设 备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述数据发送单元400,具体用于根据所述读请求,将所述NAS设备003中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备004。

进一步,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,上述第一目录确定单元,可以包括:数目获得子单元、取余运算子单元和取模运算子单元,

所述数目获得子单元,用于获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

所述取余运算子单元,用于对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

所述取模运算子单元,用于判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

其中,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,

数据发送单元400,可以具体用于根据所述读请求,使用所述控制文件中的元数据信息将所述NAS设备003中的、所确定的存储目录下的具有所确定的文件名的数据文件中的视频数据返回给所述客户端设备004。

本发明实施例提供的一种对NAS设备中视频数据的读装置,将NAS设备挂载在存储服务器的块接口上,NAS设备中包括有多个数据文件,索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,本发 明接收客户端设备发送的读请求,确定所需读取数据所在的数据文件的文件名,进而在NAS设备中所确定的文件名对应的数据文件中进行读取。本发明将对块设备的读操作转换为对NAS设备中数据文件的读操作,因此使得视频云存储系统支持了NAS设备。

本发明还提供了一种视频云存储系统,如图2所示,该系统可以包括:索引服务器001、网络附属存储NAS设备003及上述的任一种存储服务器002,所述NAS设备003挂载在所述存储服务器002的块接口上,所述存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系。本发明实施例提供的一种对NAS设备中视频数据的读装置,应用于图2所示视频云存储系统中的存储服务器002。

如图6所示,本发明实施例提供了一种对NAS设备中视频数据的写方法,应用于视频云存储系统中的存储服务器,如图2所示,所述视频云存储系统包括:所述索引服务器001、存储服务器002和网络附属存储NAS设备003,所述NAS设备003挂载在所述存储服务器002的块接口上,所述存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系,该方法可以包括:

S100、接收所述客户端设备发送的将视频数据写入块设备的写请求;

S200、根据所述写请求,为所要写入的视频数据分配块设备的磁盘块号;

S300、将所分配的块设备的磁盘块号返回给所述客户端设备;

S400、接收所述客户端设备发送的视频数据及所要写入的块设备的磁盘块号;

S500、向所述索引服务器发送携带有所述磁盘块号的NAS设备文件名获取请求;

S600、接收所述索引服务器根据所述对应关系反馈的所述NAS设备中的数据文件的文件名;

S700、将接收的视频数据写入所述NAS设备中、所确定的文件名对应的数据文件中。

具体的,所述NAS设备003挂载在所述存储服务器002的块接口上可以通过建立存储服务器002的块接口到NAS设备003的通信路径来完成。

其中,存储服务器002上可以挂载任意个NAS设备003。

在本发明其他实施例中,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,如图7所示,在步骤S600之后,步骤S700之前,该方法还可以包括:

S610、根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

S700可以具体包括:

将接收的视频数据写入所述NAS设备中、所确定的NAS设备存储目录下的所确定的文件名对应的数据文件中。

具体的,存储目录中数据文件的划分方式可以有多种,如按照固定大小进行划分,为了方便管理,每个存储目录下的数据文件的数量都有上限。当然,也可以不按照固定大小进行划分,本发明在此不作限定。

进一步,所述NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,步骤S610可以包括:

获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所 述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

可选的,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,S700可以包括:

根据所述控制文件中的元数据信息,将接收的视频数据写入所确定的存储目录下的所确定的文件名对应的数据文件中。

其中,元数据信息可以包括:控制文件大小、数据文件大小、数据文件信息区大小等数据。

在本发明其他实施例中,存储目录中可以存储有主控制文件和备控制文件,主控制文件和备控制文件相同,互为备份,防止其中一个控制文件损坏或丢失。进一步,数据文件中也可以包括三部分:数据区、主信息区和备信息区,其中,数据区存储用户的视频数据,主信息区和备信息区中的数据相同,互为备份,存储数据区索引信息。

本发明实施例提供的一种对NAS设备中视频数据的写方法,将NAS设备挂载在存储服务器的块接口上,NAS设备中包括有多个数据文件,索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,本发明接收客户端设备发送的写请求,确定数据所要写入的数据文件的文件名,进而将数据写入NAS设备中所确定的文件名对应的数据文件中。本发明将对块设备的写操作转换为对NAS设备中数据文件的写操作,因此使得视频云存储系统支持了NAS设备。

与图6所示方法实施例相对应,本发明实施例还提供了一种对NAS设备中视频数据的写装置,应用于视频云存储系统中的存储服务器,如图2所示,所述视频云存储系统可以包括:所述索引服务器001、存储服务器002和网络附属存储NAS设备003,所述NAS设备003挂载在所述存储服务器002的块接口上,所述存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系,如图8所示,该写装置可以包括:写请求接收单元510、块号分配单元520、块 号返回单元530、数据接收单元540、文件名请求发送单元550、文件名接收单元560和数据写入单元570,

所述写请求接收单元510,用于接收所述客户端设备004发送的将视频数据写入块设备的写请求;

所述块号分配单元520,用于根据所述写请求,为所要写入的视频数据分配块设备的磁盘块号;

所述块号返回单元530,用于将所分配的块设备的磁盘块号返回给所述客户端设备004;

所述数据接收单元540,用于接收所述客户端设备004发送的视频数据及所要写入的块设备的磁盘块号;

所述文件名请求发送单元550,用于向所述索引服务器001发送携带有所述磁盘块号的NAS设备文件名获取请求;

所述文件名接收单元560,用于接收所述索引服务器001根据所述对应关系反馈的所述NAS设备003中的数据文件的文件名;

所述数据写入单元570,用于将接收的视频数据写入所述NAS设备003中、所确定的文件名对应的数据文件中。

在本发明其他实施例中,所述NAS设备中包括有多个NAS设备存储目录,每个NAS设备存储目录下包括有多个数据文件,图8所示写装置还可以包括:第二目录确定单元,用于所述文件名接收单元560接收所述索引服务器001根据所述对应关系反馈的所述NAS设备003中的数据文件的文件名之后,所述数据写入单元570将接收的视频数据写入所述NAS设备003中、所确定的文件名对应的数据文件中之前,根据NAS设备存储目录中数据文件的划分方式,确定所确定的文件名对应的数据文件所在的NAS设备存储目录;

所述数据写入单元570,具体用于将接收的视频数据写入所述NAS设备中、所确定的NAS设备存储目录下的所确定的文件名对应的数据文件中。

进一步,NAS设备中各数据文件占用的存储空间的数据量相同,所述对应关系为一一对应关系,具有所述一一对应关系的文件名与磁盘块号由相同的阿拉伯数字构成,所述第二目录确定单元,可以包括:数目获得子单元、取余运 算子单元和取模运算子单元,

所述数目获得子单元,用于获得每个存储目录中数据文件的最大数目,其中,各存储目录中数据文件的最大数目均相同;

所述取余运算子单元,用于对所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取余运算,获得取余运算结果;

所述取模运算子单元,用于判断所述取余运算结果是否为0,如果是,则将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,根据取模运算结果确定所确定的所述NAS设备中的数据文件的文件名对应的数据文件所在的NAS设备存储目录;否则,将所述所确定的所述NAS设备中的数据文件的文件名与所述最大数目作取模运算,将取模运算结果与1相加,根据取模运算结果与1相加的运算结果,确定具有所确定的所述NAS设备中的数据文件的文件名的数据文件所在的NAS设备存储目录。

其中,所述NAS设备存储目录中还存储有控制文件,所述控制文件中存储有元数据信息,所述数据写入单元570,具体用于根据所述控制文件中的元数据信息,将接收的视频数据写入所确定的存储目录下的所确定的文件名对应的数据文件中。

本发明实施例提供的一种对NAS设备中视频数据的写装置,将NAS设备挂载在存储服务器的块接口上,NAS设备中包括有多个数据文件,索引服务器中存储有NAS设备中的数据文件的文件名与块设备的磁盘块号的对应关系,本发明接收客户端设备发送的写请求,确定数据所要写入的数据文件的文件名,进而将数据写入NAS设备中所确定的文件名对应的数据文件中。本发明将对块设备的写操作转换为对NAS设备中数据文件的写操作,因此使得视频云存储系统支持了NAS设备。

本发明实施例还提供了另一种视频云存储系统,如图2所示,该系统可以包括:索引服务器001、网络附属存储NAS设备003及存储服务器002,所述NAS设备003挂载在存储服务器002的块接口上,存储服务器002分别与所述索引服务器001、所述NAS设备003及客户端设备004连接,所述NAS设备003中包括有多个数据文件,所述索引服务器001中存储有NAS设备003中的数据文件的文件名与块设备的磁盘块号的对应关系。本发明实施例提供的对NAS设备中视频数 据的写装置应用于存储服务器002中。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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