发明内容
本发明针对现有技术的缺点,提供了一种虚拟磁盘系统以及基于该虚拟磁盘系统的文件存储方法,该种方法具有很好的媒体存储技术效果。
其中,根据本申请的一个方面,本发明提供了一种虚拟磁盘系统,包括多个逻辑块组,所述逻辑块组包括:
多个数据块单元,用于存储文件内容数据或者文件元数据;
块位图单元,用于存储以二进制位形态表示的数据块是否被使用的信息;
索引节点位图单元,用于存储以二进制位形态表示的索引节点是否被使用的信息;
索引节点表单元,用于存储多个索引节点项信息,其中,每个索引节点项对应一个文件且至少存储对应的文件的大小、文件具体的位置、存取修改时间元信息。
进一步地,优选的是,还设有虚盘标识块单元,用于存储标用于标注当前虚拟磁盘文件的标识识信息和媒体文件版权保护的数字证书。
进一步地,优选的是,所述逻辑块组中,还设有:
超级块单元,用于存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;
组描述符表单元,用于存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。
进一步地,优选的是,所述索引节点表单元,包括:
操作子单元,用于根据记录区段的形式记载对应的媒体文件的内容所在的数据块位置。
此外,根据本发明的又一目的,本发明提供了一种基于虚拟磁盘系统的文件存储方法,包括:
A、在物理磁盘上设置至少一个虚拟磁盘系统文件用以存储媒体文件,将标注当前虚拟磁盘系统文件的标识信息和媒体内容DRM存储的数字证书信息位存储到虚盘标识块单元中,所述虚盘标识块单元中还包括逻辑块组和对应的块组集;
所述逻辑块组包括:
多个数据块单元,用于存储文件内容数据或者文件元数据;
B、将文件内容数据或者文件元数据到虚拟磁盘系统中的所述数据块单元中;
C、分别存储以二进制位形态表示的数据块、索引节点是否被使用的信息;以及索引节点表单元中的当前的文件的大小、文件具体的位置、存取修改时间元信息。
优选的方法是,进一步包括:
将标注当前虚拟磁盘文件的标识信息存储到虚盘标识块单元中。
优选的方法是,进一步包括:存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;
存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。
优选的方法是,进一步包括:
根据记录区段的形式记载所述对应的媒体文件的内容所在的数据块位置。
优选的方法是,进一步包括:
通过在虚拟磁盘系统中动态追加逻辑块组的方式以调整所述虚拟磁盘系统的大小。
优选的方法是,进一步包括:
通过在虚拟磁盘系统中对文件进行加密存储的方式以实现对媒体文件内容的版权保护。
本发明采取了上述技术方案以后,能够满足P2P媒体文件存储的可靠性、高效性、可用性、可迁移性、可扩展性、内容版权保护性方面的需求,并且,该种方法具有跨平台、跨运行态的技术效果。
具体实施方式
下面结合附图和具体实施例对本发明进行详细的说明。
系统实施例一:
本发明针对现有的P2P文件的特点,设置一个用于P2P存储的虚拟磁盘,以满足可靠性、高效性、可用性、可迁移性、可扩展性、内容版权保护性方面的需求。
其中,图1是本发明虚拟磁盘系统的原理的一个逻辑结构示意图;
其中,如图1所示,在本申请之中,一个虚拟磁盘对应一个实际的物理文件。
所述虚拟磁盘文件根据一定大小分成均等大小的众多的逻辑块。在文件头的虚盘标识块中存储的是当前虚拟磁盘的一种特定标识,根据此标识可以区分不同的虚拟磁盘文件。此外,虚拟磁盘标识块中还存储有媒体内容版权保护用途的数字证书等信息。
具体来说,多个逻辑块单元形成一个逻辑块组,并且,所述逻辑块组包括:多个数据块单元,用于存储文件内容数据或者文件元数据;
块位图单元,用于存储以二进制位形态表示的数据块是否被使用的信息;
索引节点位图单元,用于存储以二进制位形态表示的索引节点是否被使用的信息;
索引节点表单元,用于存储多个索引节点项信息,其中,每个索引节点项对应于一个文件且至少存储对应的文件的大小、文件具体的位置、存取修改时间元信息。
并且,还设有虚盘标识块单元,用于存储标用于标注当前虚拟磁盘文件的标识信息以及用于内容版权保护的数字证书。
此外,所述逻辑块组中,还设有:
超级块单元,用于存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;
组描述符表单元,用于存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。
从图1中可以看出,并不是每个块组集里都会保存着超级块和组描述符表,只在0和13的幂次的块组集里保存着副本。
此外,进一步地,优选的是,所述索引节点表单元,包括:
操作子单元,用于根据记录区段的形式记载所述在索引节点中对应的文件的内容所在的数据块位置。
由此,该申请相对于现有技术来说,而不再使用传统的扩展文件系统中常见的直接/间接块映射表的方式,而是使用记录区段的方式,进而减少需要存储的文件位置元数据的大小。由此,其作为P2P媒体文件的存储介质,具有较好的文件存储效果。
图2是本发明虚拟磁盘系统的原理的一个结构示意图;
如图2所示,图中所描述的情况是当前文件的内容存储在从编号为300开始的500个逻辑块单元和从编号为1080开始的400个逻辑块单元中。
此外,为使每个媒体文件的数据存放时位置尽量局部集中化,在为媒体文件分配逻辑块单元时,采取多块整齐、连续分配逻辑块单元的方法来予以保证。
其中,本发明在所有涉及到虚拟磁盘元数据、文件元数据的改动都记录在日志文件中,不但如此,还为需要改动的元数据计算检验和,方便在灾难恢复和数据抢救的时候,可以通过分析、重放日志文件和校验检验和的方式来发现和修正错误。
此外,从图1知道,整个物理文件的逻辑结构是一个逻辑块组紧接着另外一个逻辑块组。
本发明采取了上述技术方案以后,可以实现根据需要在线调整虚拟磁盘文件所占用的物理空间大小。在当前的磁盘空间不能满足需要时,同时并未达到配额上限时,可以通过在虚拟磁盘文件尾端生成并追加块组集的方式来实现在线调整虚拟磁盘文件的大小来满足存储的需求。
方法实施例一:
以下针对本发明的具体实施例进行详细的说明,其中,图3是本发明基于上述实施例的虚拟磁盘系统的文件存储方法的流程示意图。
如图3所示,所述方法包括下列步骤;
S101:在物理磁盘上设置至少一个虚拟磁盘系统文件用以存储媒体文件,其中,每一个虚拟磁盘系统包括多个逻辑块组,所述逻辑块组包括:
多个数据块单元,用于存储文件内容数据或者文件元数据;
S102:将文件内容数据或者文件元数据存储到虚拟磁盘系统中的所述数据块单元中;
S103:存储以二进制位形态表示的数据块、索引节点是否被使用的信息;
S104:在索引节点表单元中对应的表项里存储当前媒体文件的大小、文件位置信息、存取修改时间等元信息。
本发明采取了上述技术方案以后,能够满足P2P媒体文件存储的可靠性、高效性、可用性、可迁移性、可扩展性、内容版权性方面的需求,并且,该种方法具有跨平台、跨运行态的技术效果。
其中,进一步地,优选的方法是,将标注当前虚拟磁盘文件的标识信息和用于内容版权保护的数字证书存储到虚盘标识块单元中。
并且,进一步包括:存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;
存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。
此外,该申请相对于现有技术来说,而不再使用传统的扩展文件系统中常见的直接/间接块映射表的方式,而是使用记录区段的方式,进而减少需要存储的文件位置元数据的大小,由此,其作为P2P媒体文件的存储介质,具有较好的文件存储效果。
并且,所述方法采用区段的方式来记录文件内容所在数据块的位置信息,和传统的扩展文件系统默认采用的直接/间接块映射的方式相比,会极大地减少文件元数据的存储量,提高了存储利用率,也减少了发生错误的概率。
此外,通过在虚拟磁盘系统中追加逻辑块组的方式以调整所述虚拟磁盘系统的大小。
其中,本发明采取了上述方案以后,能够使得一个媒体文件的内容所在的数据块局部集中,能够提高查找效率以及存取效率。
此外,本申请中,对元数据改动时记录日志和校验检验和,能够保证一旦虚拟磁盘遇到极端情况时能够实现灾难恢复和数据抢救。
并且,由于元数据和内容数据保存在同一个文件中而不是分散存放,一方面方便虚拟磁盘在系统间迁移;另外一方面避免分离存放元数据和内容数据带来的潜在问题。
此外,本申请中的每2个逻辑块组之间基本上都是独立的、隔离的,对数据损坏的风险可控在局部范围内,避免实行点对点计算时由于有错误的数据被传播、复制、分发到P2P网络中造成数据污染。
另外,超级块、组描述符表稀疏地在一些块组集中有多个副本分散存储在不同的地方,保证在极端情况下实现超级块和组描述符的恢复和数据抢救工作。
另外,和简单的自定义逻辑格式相比,由于这种设计既可以存储目录也可以存储媒体文件,使得具有在虚拟磁盘中通过创建不同的目录文件就可以对众多的媒体文件进行分类、整理、存储的好处。
需要注意的是,上述具体实施例仅仅是示例性的,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。
本领域技术人员应该明白,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本发明的保护范围由权利要求及其等同物限定。