一种虚拟磁盘系统和基于虚拟磁盘系统的文件存储方法

文档序号:6364802阅读:150来源:国知局
专利名称:一种虚拟磁盘系统和基于虚拟磁盘系统的文件存储方法
技术领域
本发明属于点对点网络技术领域,具体涉及到一种用于点对点计算过程中存储媒体数据的数据存储方法和系统。
背景技术
在P2P的应用中,很多场合需要把从P2P网络中获取到的数据存储到当前peer节点的本地存储中。但是,采用何种方案来管理和存储这些媒体数据是一个较为复杂和困难的问题, 其中,在现有技术中,对于视频类的P2P应用软件,一种方案是在宿主机操作系统(譬如 Windows,Mac)里的一个文件中基于预定义的一种格式存储和管理这些媒体数据,也就是把众多媒体文件的内容存放到一个实际的物理文件中去。由此,引出了一个如何既能高效地管理空间又能保证数据的高可靠性还能方便后续的升级、维护、可扩展方面的问题。个角度讲,我们可以把这个文件当作一个虚拟的磁盘, 那么实际上这个问题就变换成如何在一个文件里实现一个满足需求的轻量级文件系统。针对媒体数据的P2P存储,这个虚拟磁盘须满足以下特性可靠性一能够应对诸如掉电后文件或目录损坏等突发事件并能实现灾难恢复;高效性能够实现高效的存取和管理效率;可用性能够存储大小不等的各类媒体文件;可迁移性一支持虚拟磁盘的迁移;可扩展性---要求具有整齐规整的结构方便将来开发各种扩展性质的应用; 内容版权保护性---能够方便支持媒体内容的DRM存储;而现有技术的文件存储方法和磁盘系统都无法满足现有技术的需求,因此,需要采取合适的手段实现对媒体文件的存储。

发明内容
本发明针对现有技术的缺点,提供了一种虚拟磁盘系统以及基于该虚拟磁盘系统的文件存储方法,该种方法具有很好的媒体存储技术效果。其中,根据本申请的一个方面,本发明提供了一种虚拟磁盘系统,包括多个逻辑块组,所述逻辑块组包括多个数据块单元,用于存储文件内容数据或者文件元数据;块位图单元,用于存储以二进制位形态表示的数据块是否被使用的信息;索引节点位图单元,用于存储以二进制位形态表示的索引节点是否被使用的信索引节点表单元,用于存储多个索引节点项信息,其中,每个索引项对应一个文件且至少存储对应的文件的大小、文件具体的位置、存取修改时间元信息。进一步地,优选的是,还设有虚盘标识块单元,用于存储标用于标注当前虚拟磁盘文件的标识识信息和媒体文件版权保护的数字证书。进一步地,优选的是,所述逻辑块组中,还设有超级块单元,用于存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;组描述符表单元,用于存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。进一步地,优选的是,所述索引节点表单元,包括操作子单元,用于根据记录区段的形式记载对应的媒体文件的内容所在的数据块位置。此外,根据本发明的又一目的,本发明提供了一种基于虚拟磁盘系统的文件存储方法,包括A、在物理磁盘上设置至少一个虚拟磁盘系统文件周以存储媒体文件,其中,每一个虚拟磁盘系统包括多个逻辑块组,所述逻辑块组包括多个数据块单元,用于存储文件内容数据或者文件元数据;B、将文件内容数据或者文件元数据到虚拟磁盘系统中的所述数据块单元中;C、分别存储以二进制位形态表示的数据块、索引节点是否被使用的信息;以及索引节点表单元中的当前的文件的大小、文件具体的位置、存取修改时间元信息。优选的方法是,进一步包括 将标注当前虚拟磁盘文件的标识信息存储到虚盘标识块单元中。优选的方法是,进一步包括存储当前虚拟磁盘系统相关的索引节点数、剩余索引节点数、块数、剩余空间块数信息;存储当前逻辑块组中块位图、索引节点位图、索引节点表的位置信息。优选的方法是,进一步包括根据记录区段的形式记载所述对应的媒体文件的内容所在的数据块位置。优选的方法是,进一步包括通过在虚拟磁盘系统中动态追加逻辑块组的方式以调整所述虚拟磁盘系统的大小。优选的方法是,进一步包括通过在虚拟磁盘系统中对文件进行加密存储的方式以实现对媒体文件内容的版权保护。本发明采取了上述技术方案以后,能够满足P2P媒体文件存储的可靠性、高效性、 可用性、可迁移性、可扩展性、内容版权保护性方面的需求,并且,该种方法具有跨平台、跨运行态的技术效果。


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