本发明专利技术公开了一种将多个物理文件合并为一个逻辑文件的方法,属于计算机领域。将多个存储设备上的多个物理文件合并为一个逻辑文件的方法包括:建立逻辑文件时,在物理文件系统上建立逻辑文件及逻辑文件的主配置文件,并在逻辑文件中指明主配置文件信息;删除逻辑文件时,在物理文件系统上删除逻辑文件、主配置文件、相关物理文件及配置文件;当读写逻辑文件时,将对逻辑文件访问请求的偏移量和长度转化为对应的物理文件实际偏移量和长度,写操作需要新建立物理文件时,同时建立相对应的配置文件。本发明专利技术能够有效地将逻辑文件分散在多个存储设备上多个文件系统的多个目录中从而实现个性化存储,并提高逻辑文件的访问速度。
【技术实现步骤摘要】
本专利技术属于计算机领域,主要关注增强文件的个性化存储和提高文件访问效率。技术背景很多应用中需要建立非常大尺寸的文件,例如TB级别的文件,但是往往单个物理存储介质本身就没有这么大的容量或者不允许单个文件具有这么大的尺寸(例如fat32文件系统最大支持的单个文件为2GB),因此需要将若干个物理存储介质上的物理文件数据合并为一个逻辑文件。另外,通过将一个大的文件分解为若干个部分存储在不同的存储介质上还有利于并行化访问文件的不同部分,提高计算机以及应用系统的性能。已有的解决方案包括RAID技术、逻辑卷技术、LVM技术等,这些技术在数据块级别给出解决方案,实现一个逻辑文件分散在多个物理存储介质中的多个数据块中。而本专利技术的原理不同于上述基于数据块级别技术,本专利技术基于已有的若干个文件系统基础上进一步建立逻辑文件,即基于文件系统级别,而不是数据块级别。目前将一个文件分散为多个物理文件存储尚未有通用的解决方案,例如,一些数据库系统自己利用多个物理文件映射为一个数据库逻辑(或者表空间)文件。一般多依赖于具体的应用程序本身。本专利技术基于文件系统给出一个将多个物理文件合并为一个逻辑文件的通用方法。
技术实现思路
本专利技术目的是为了增强文件的个性化存储和提高访问效率。本专利技术基于文件系统给出一个将,该方法具有通用性和广泛的适用性。本专利技术给出的逻辑文件创建和管理方法,超越了单个存储设备的容量限制,也超越了单个物理文件系统的容量限制和单个物理文件的容量限制,并且可跨越本地存储设备的限制,通过网络实现将逻辑文件存储在网络环境下的多个存储设备中,从而构建足够大的逻辑文件,从而极大地方便地为上层应用程序提供构建大文件的统一方法,并可大大提高访问的并发效率。I.,所述方法包括第I、当创建逻辑文件时,需在物理文件系统上建立逻辑文件以及“逻辑文件的主配置文件”,简称“主配置文件”。逻辑文件中指明逻辑文件类型和主配置文件信息。一个逻辑文件对应有一个“逻辑文件的主配置文件”,逻辑文件的主配置文件中记录逻辑文件的全局信息以及逻辑文件对应的多个物理文件在物理文件系统中具体目录信息;第2、当打开逻辑文件时,获知逻辑文件中存储的主配置文件信息,然后读取主配置文件,以及进一步读取在主配置文件中列出的所有物理文件目录中所有物理文件的配置文件,简称“配置文件”。进一步在内存中建立“逻辑文件全局控制块”,“逻辑文件全局控制块”中包含一个“逻辑文件数据存储分布表”,“逻辑文件数据存储分布表”中记录逻辑文件的大小以及各离散数据段所对应的物理文件;第3、当对逻辑文件写数据时,根据写访问请求的偏移量和长度,在内存中此逻辑文件的“逻辑文件数据存储分布表”中查找对应的一个或者多个物理文件实际偏移量和长度。第3. I、若找到对应的一个或多个物理文件实际偏移量和长度,则将相应长度的数据依次写入一个或多个物理文件相应的偏移量所标明位置。若上述操作成功,写操作成功返回;否则写操作失败返回;第3. 2、若未找到对应的一个或多个物理文件实际偏移量和长度,则根据内存中此逻辑文件的“逻辑文件全局控制块”中给定的写目录集合和写策略,选择其中的物理文件系统目录,在此目录中建立一个新的物理文件以及新物理文件对应的配置文件,将待写入的数据写入新的物理文件中,并更新此物理文件对应的配置文件信息。若上述操作成功,则进一步更新内存中此逻辑文件的“逻辑文件全局控制块”信息,写操作成功返回;否则写操作失败返回;第3. 3、若写操作的部分数据找到对应的一个或多个物理文件实际偏移量和长度, 写操作的另外一部分数据未找到对应的一个或多个物理文件实际偏移量和长度,则将此写操作分成若干个子的写操作。对于找到对应的一个或多个物理文件实际偏移量和长度的写操作数据,调用第3. I过程;对于未找到对应的一个或多个物理文件实际偏移量和长度的写操作数据,调用第3. 2过程。若所有子的写操作都成功,则写操作成功返回;否则写操作失败返回;第4、当读取逻辑文件时;根据读访问请求的偏移量和长度,在内存中此逻辑文件的“逻辑文件数据存储分布表”中查找对应的一个或多个物理文件实际偏移量和长度,若未查找到,则返回读失败;若查找到对应的一个或多个物理文件实际偏移量和长度,进一步读取“物理文件目录表”中对应的物理文件目录的“优先级”信息,然后按优先级依次读取一个或多个物理文件相应的偏移量和长度所标明的数据,并成功返回;第5、关闭逻辑文件时,将内存中此逻辑文件的“逻辑文件全局控制块”信息更新到逻辑文件的主配置文件以及逻辑文件对应的多个物理文件的配置文件中;第6、当删除逻辑文件时;需先读取逻辑文件,获知主配置文件信息,然后读取主配置文件,以及进一步读取在主配置文件中列出的所有物理文件目录中所有物理文件的配置文件。根据这些信息在物理文件系统中依次删除关物理文件及物理文件所对应的配置文件,进一步删除“逻辑文件的主配置文件”,最后删除逻辑文件。2.按照本专利技术提供的建立方法,其特征在于,逻辑文件的主配置文件主要包括如下信息逻辑文件大小、物理文件名前缀、单个物理文件大小最大值、主物理文件目录集合、 主物理文件目录集合、物理文件目录集合、写策略。其中,物理文件名前缀为逻辑文件所包含的所有物理文件的文件名前缀;单个物理文件大小最大值限制单个物理文件最大容量; 主物理文件目录集合为对逻辑文件可写操作的物理文件目录集合;物理文件目录集合为逻辑文件所包含的所有物理文件所对应的物理文件目录集合。3.按照本专利技术提供的建立方法,所述的,针对逻辑文件所包含的所有物理文件,每个物理文件有一个对应的配置文件,主要包括如下信息物理文件大小、有效起始位置、逻辑文件偏移量、长度。其中,“有效起始位置”指逻辑文件在此物理文件中第一个字节有效数据的位置相对于物理文件起始的长度;“逻辑文件偏移量”指辑文件在此物理文件中第一个字节有效数据相对于逻辑文件起始的长度;“长度”指逻辑文件在此物理文件中第一个字节有效数据开始连续有效数据的最大长度。4.按照本专利技术提供的建立方法,所述的,逻辑文件的主配置文件中的写策略指明对逻辑文件写操作过程中具体在主物理文件目录集合中的哪些目录中可涉及新建物理文件及配置文件,写策略包括随机选择写目录、依次轮换选择写目录、指定写目录、冗余写目录等,并可进一步扩充策略。5.按照本专利技术提供的建立方法,所述的,每个已打开的逻辑文件在内存中有一个唯一对应的“逻辑文件全局控制块”,“逻辑文件全局控制块”包括如下信息逻辑文件inode 号、逻辑文件名、逻辑文件大小、物理文件名前缀、单个物理文件大小最大值、主物理文件目录表指针、物理文件目录表指针、数据存储分布表指针、写策略。其中,逻辑文件inode号为此逻辑文件的唯一索引号;主物理文件目录表指针指向“主物理文件目录表”,表明可写入的物理文件目录集合;物理文件目录表指针指向“物理文件目录表”,表明所有物理文件目录集合;数据存储分布表指针指向“逻辑文件数据存储分布表”。“主物理文件目录表”和 “物理文件目录表”中的每一个物理文件目录对应一个“优先级” “优先级”表明读操作的优先顺序,不同的物理文件目录可以有相同的“优先级”。6.按照本专利技术提供的建立方法,所述的,“逻辑文件数据存储分布表”存放当前逻辑文件数据在多个物理文件中存储的实际本文档来自技高网...
【技术保护点】
多个物理文件合并为一个逻辑文件的方法,其特征在于,所述方法包括:第1、当创建逻辑文件时,需在物理文件系统上建立逻辑文件以及“逻辑文件的主配置文件”,简称“主配置文件”;逻辑文件中指明逻辑文件类型和主配置文件信息;一个逻辑文件对应有一个“逻辑文件的主配置文件”,逻辑文件的主配置文件中记录逻辑文件的全局信息以及逻辑文件对应的多个物理文件在物理文件系统中具体目录信息;第2、当打开逻辑文件时,获知逻辑文件中存储的主配置文件信息,然后读取主配置文件,以及进一步读取在主配置文件中列出的所有物理文件目录中所有物理文件的配置文件,简称“配置文件”;进一步在内存中建立“逻辑文件全局控制块”,“逻辑文件全局控制块”中包含一个“逻辑文件数据存储分布表”,“逻辑文件数据存储分布表”中记录逻辑文件的大小以及各离散数据段所对应的物理文件;第3、当对逻辑文件写数据时,根据写访问请求的偏移量和长度,在内存中此逻辑文件的“逻辑文件数据存储分布表”中查找对应的一个或者多个物理文件实际偏移量和长度;第3.1、若找到对应的一个或多个物理文件实际偏移量和长度,则将相应长度的数据依次写入一个或多个物理文件相应的偏移量所标明位置。若上述操作成功,写操作成功返回;否则写操作失败返回;第3.2、若未找到对应的一个或多个物理文件实际偏移量和长度,则根据内存中此逻辑文件的“逻辑文件全局控制块”中给定的写目录集合和写策略,选择其中的物理文件系统目录,在此目录中建立一个新的物理文件以及新物理文件对应的配置文件,将待写入的数据写入新的物理文件中,并更新此物理文件对应的配置文件信息;若上述操作成功,则进一步更新内存中此逻辑文件的“逻辑文件全局控制块”信息,写操作成功返回;否则写操作失败返回;第3.3、若写操作的部分数据找到对应的一个或多个物理文件实际偏移量和长度,写操作的另外一部分数据未找到对应的一个或多个物理文件实际偏移量和长度,则将此写操作分成若干个子的写操作;对于找到对应的一个或多个物理文件实际偏移量和长度的写操作数据,调用第3.1过程;对于未找到对应的一个或多个物理文件实际偏移量和长度的写操作数据,调用第3.2过程;若所有子的写操作都成功,则写操作成功返回;否则写操作失败返回;第4、当读取逻辑文件时;根据读访问请求的偏移量和长度,在内存中此逻辑文件的“逻辑文件数据存储分布表”中查找对应的一个或多个物理文件实际偏移量和长度,若未查找到,则返回读失败;若查找到对应的一个或多个物理文件实际偏移量和长度,进一步读取“物理文件目录表”中对应的物理文件目录的“优先级”信息,然后按优先级依次读取一个或多个物理文件相应的偏移量和长度所标明的数据,并成功返回;第5、关闭逻辑文件时,将内存中此逻辑文件的“逻辑文件全局控制块”信息更新到逻辑文件的主配置文件以及逻辑文件对应的多个物理文件的配置文件中;第6、当删除逻辑文件时;需先读取逻辑文件,获知主配置文件信息,然后读取主配 置文件,以及进一步读取在主配置文件中列出的所有物理文件目录中所有物理文件的配置文件。根据这些信息在物理文件系统中依次删除关物理文件及物理文件所对应的配置文件,进一步删除“逻辑文件的主配置文件”,最后删除逻辑文件。...
【技术特征摘要】
【专利技术属性】
技术研发人员:李旭东,史宝旭,
申请(专利权)人:南开大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。