《一种操作请求的处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种操作请求的处理方法和装置.pdf(27页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103530319 A (43)申请公布日 2014.01.22 C N 1 0 3 5 3 0 3 1 9 A (21)申请号 201310422912.3 (22)申请日 2013.09.16 G06F 17/30(2006.01) (71)申请人华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人覃伟峰 (74)专利代理机构深圳市深佳知识产权代理事 务所(普通合伙) 44285 代理人王仲凯 (54) 发明名称 一种操作请求的处理方法和装置 (57) 摘要 本发明实施例公开了一种操作请求的处理方 法和装置,用于提高使用磁盘。
2、作为存储设备的文 件系统的可靠性。本发明实施例方法包括:依据 应用程序使用的文件分片在磁盘空间的存储位置 顺序为所述应用程序建立操作处理顺序,所述文 件分片在所述磁盘空间中顺序存储;根据所述操 作处理顺序依次处理所述应用程序的操作请求。 (51)Int.Cl. 权利要求书2页 说明书19页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书19页 附图5页 (10)申请公布号 CN 103530319 A CN 103530319 A 1/2页 2 1.一种操作请求的处理方法,其特征在于,包括: 依据应用程序使用的文件分片在磁盘空间的存储位置顺序为所述。
3、应用程序建立操作 处理顺序,所述文件分片在所述磁盘空间中顺序存储; 根据所述操作处理顺序依次处理所述应用程序的操作请求。 2.根据权利要求1所述的方法,其特征在于,所述依据应用程序使用的文件分片在磁 盘空间的存储位置顺序为所述应用程序建立操作处理顺序,包括: 获取所述应用程序对应的文件分片在所述磁盘空间的逻辑区块地址LBA; 按照所述应用程序对应的文件分片的LBA从小到大的顺序建立所述应用程序的操作 处理顺序。 3.根据权利要求1或2所述的方法,其特征在于,若所述应用程序的操作请求是写数据 请求,所述根据所述操作处理顺序依次处理所述应用程序的操作请求,包括: 按照所述操作处理顺序轮询所述应用程。
4、序写入的数据缓冲区中的数据是否超过预置 的缓冲门限; 将所述应用程序写入的数据缓冲区中超过所述预置的缓冲门限的数据写入对应的文 件分片。 4.根据权利要求1至3中任一项所述的方法,其特征在于,所述应用程序对应的文件分 片是根据所述应用程序的文件分片分配请求,按照资源池中的文件分片的顺序,依据预置 的分配顺序规则为所述应用程序分配的。 5.根据权利要求4所述的方法,其特征在于,所述文件分片分配请求携带所述应用程 序设定的文件分片存储路径和文件名; 所述按照资源池中的文件分片的顺序,依据预置的分配顺序规则为所述应用程序分配 包括: 将分配给所述应用程序的文件分片移动到所述设定的文件分片存储路径指定。
5、的存放 位置,并将分配给所述应用程序的文件分片重命名为设定的文件名。 6.根据权利要求5所述的方法,其特征在于,所述依据应用程序使用的文件分片在磁 盘空间的存储位置顺序为所述应用程序建立操作处理顺序之前还包括: 在资源池中创建文件分片,其中,若所述磁盘空间中没有创建分配组,则所述资源池内 创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片数量,若所述磁 盘空间中创建有分配组,则所述资源池内创建的文件分片数量大于或等于所有应用程序并 发操作所需要的文件分片数量乘以所述磁盘空间包括的分配组的个数; 将所述资源池中的所有文件分片分别与所述磁盘空间内地址连续的LBA建立映射关 系。 7.。
6、根据权利要求1或2所述的方法,其特征在于,若根据所述操作处理顺序轮到操作请 求是由发起文件分片释放请求的应用程序执行的,所述根据所述操作处理顺序依次处理所 述应用程序的操作请求具体为: 删除所述操作请求为文件分片释放请求的应用程序和所述操作请求为文件分片释放 请求的应用程序对应的文件分片之间的映射关系; 所述方法还包括: 将所述操作请求为文件分片释放请求的应用程序对应的文件分片移动到资源池内。 权 利 要 求 书CN 103530319 A 2/2页 3 8.一种操作请求的处理装置,其特征在于,包括: 处理顺序建立模块,用于依据应用程序使用的文件分片在磁盘空间的存储位置顺序为 所述应用程序建立。
7、操作处理顺序,所述文件分片在所述磁盘空间中顺序存储; 操作请求处理模块,用于根据所述操作处理顺序依次处理所述应用程序的操作请求。 9.根据权利要求8所述的装置,其特征在于,所述处理顺序建立模块,包括: 逻辑区块地址LBA获取子模块,用于获取所述应用程序对应的文件分片在所述磁盘空 间的LBA; 处理顺序建立子模块,用于按照所述应用程序对应的文件分片的LBA从小到大的顺序 建立所述应用程序的操作处理顺序。 10.根据权利要求8或9所述的装置,其特征在于,若所述应用程序的操作请求是写数 据请求,所述操作请求处理模块,包括: 数据缓冲判断子模块,用于按照所述操作处理顺序轮询所述应用程序写入的数据缓冲 。
8、区中的数据是否超过预置的缓冲门限; 存储子模块,用于将所述应用程序写入的数据缓冲区中超过所述预置的缓冲门限的数 据写入对应的文件分片中。 11.根据权利要求8至10所述的装置,其特征在于,所述应用程序对应的文件分片是根 据所述应用程序的文件分片分配请求,按照资源池中的文件分片的顺序,依据预置的分配 顺序规则为所述应用程序分配的。 12.根据权利要求11项所述的装置,其特征在于,所述文件分片分配请求携带所述应 用程序设定的文件分片存储路径和文件名,所述操作请求的处理装置,还包括:重配置模 块,其中, 所述重配置模块,用于将分配给所述应用程序的文件分片移动到所述设定的文件分片 存储路径指定的存放位。
9、置,并将分配给所述应用程序的文件分片重命名为设定的文件名。 13.根据权利要求12所述的装置,其特征在于,所述操作请求的处理装置,还包括: 文件分片创建模块,用于所述处理顺序建立模块依据应用程序使用的文件分片在磁盘 空间的存储位置顺序为所述应用程序建立操作处理顺序之前,在资源池中创建文件分片, 其中,若所述磁盘空间中没有创建分配组,则所述资源池内创建的文件分片数量大于或等 于所有应用程序并发操作所需要的文件分片数量,若所述磁盘空间中创建有分配组,则所 述资源池内创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片数 量乘以所述磁盘空间包括的分配组的个数; 映射模块,用于将所述资源池。
10、中的所有文件分片分别与所述磁盘空间内地址连续的 LBA建立映射关系。 14.根据权利要求8或9所述的装置,其特征在于,若根据所述操作处理顺序轮到发起 操作请求是由发起文件分片释放请求的应用程序执行的,所述操作请求处理模块,具体用 于删除所述操作请求为文件分片释放请求的应用程序和所述操作请求为文件分片释放请 求的应用程序对应的文件分片之间的映射关系; 所述操作请求的处理装置,还包括: 文件分片回收模块,用于将所述操作请求为文件分片释放请求的应用程序对应的文件 分片移动到资源池内。 权 利 要 求 书CN 103530319 A 1/19页 4 一种操作请求的处理方法和装置 技术领域 0001 本。
11、发明涉及计算机技术领域,尤其涉及一种操作请求的处理方法和装置。 背景技术 0002 现在的存储设备一般以机械磁盘为主,受机械磁盘的磁盘寻道机制决定其随机读 写能力比较差,现有技术中存在一种支持预分配机制的文件系统,具有更高的读写性能。例 如,带预分配机制的文件系统在创建时,文件系统的磁盘空间被分成多个相同大小的线性 区域,这些线性区域被称为分配组(AG,Allocation Groups)。每个分配组管理自己的索引 节点(inode,index node)和空闲的存储空间。因为分配组相互独立,所以处理器的多个内 核可同时对多个分配组进行寻址。在将数据写入文件系统前,会预先分配文件所需的可用 空。
12、间,这样文件的内容就不会分散的存储在文件系统中,故可以大大减少文件系统碎片的 数目。 0003 但是为了保证分配组机制的长期有效性,在分配组之间会存在均衡的机制,多个 应用程序使用的文件会被均衡的分布到各个分配组之中。例如,文件系统被分为3个分配 组,共有6个文件(分别为文件0、文件1、.、文件5),每个分配组中会被分配两个文件,即 文件0和文件3属于分配组1,文件1和文件4属于分配组2,文件2和文件5属于分配组 3,那么在对文件操作的时候,就可能存在非常大的磁盘空间跳跃。例如文件0和文件1分 别在两个不同的分配组,当需要写文件0和文件1时,需要跳跃的地址是接近一个分配组的 大小,又如对文件的。
13、写操作是一种无序的行为,操作了文件0之后,可能接着就要操作文件 5,然后再操作文件1,文件0文件5文件1分别属于不同的分配组,则同样会导致需要 跳跃的地址非常大。可见在对多个文件操作的时候,可能需要非常大的地址跳跃,这样会增 加磁盘寻道的时间和难度,随着磁盘容量的增大,磁盘寻道的时间和难度会更大,而磁盘的 长时间寻道和长距离移动会加剧机械磁盘的磨损,同时也会产生比较大的震动,降低了使 用磁盘作为存储设备的文件系统的可靠性。 发明内容 0004 本发明实施例提供了一种操作请求的处理方法和装置,用于提高使用磁盘作为存 储设备的文件系统的可靠性。 0005 为解决上述技术问题,本发明实施例提供以下技。
14、术方案: 0006 第一方面,本发明实施例提供一种操作请求的处理方法,包括: 0007 依据应用程序使用的文件分片在磁盘空间的存储位置顺序为所述应用程序建立 操作处理顺序,所述文件分片在所述磁盘空间中顺序存储; 0008 根据所述操作处理顺序依次处理所述应用程序的操作请求。 0009 结合第一方面,在第一方面的第一种可能的实现方式中,所述依据应用程序使用 的文件分片在磁盘空间的存储位置顺序为所述应用程序建立操作处理顺序,包括: 0010 获取所述应用程序对应的文件分片在所述磁盘空间的逻辑区块地址LBA; 说 明 书CN 103530319 A 2/19页 5 0011 按照所述应用程序对应的文。
15、件分片的LBA从小到大的顺序建立所述应用程序的 操作处理顺序。 0012 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的 实现方式中,若所述应用程序的操作请求是写数据请求,所述根据所述操作处理顺序依次 处理所述应用程序的操作请求,包括: 0013 按照所述操作处理顺序轮询所述应用程序写入的数据缓冲区中的数据是否超过 预置的缓冲门限; 0014 将所述应用程序写入的数据缓冲区中超过所述预置的缓冲门限的数据写入对应 的文件分片。 0015 结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三 种可能的实现方式中,所述应用程序对应的文件分片是根据所述应用程序。
16、的文件分片分配 请求,按照资源池中的文件分片的顺序,依据预置的分配顺序规则为所述应用程序分配的。 0016 结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式 中,所述文件分片分配请求携带所述应用程序设定的文件分片存储路径和文件名; 0017 所述按照资源池中的文件分片的顺序,依据预置的分配顺序规则为所述应用程序 分配包括: 0018 将分配给所述应用程序的文件分片移动到所述设定的文件分片存储路径指定的 存放位置,并将分配给所述应用程序的文件分片重命名为设定的文件名。 0019 结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式 中,所述依据应用程序使用的文。
17、件分片在磁盘空间的存储位置顺序为所述应用程序建立操 作处理顺序之前还包括: 0020 在资源池中创建文件分片,其中,若所述磁盘空间中没有创建分配组,则所述资源 池内创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片数量,若所 述磁盘空间中创建有分配组,则所述资源池内创建的文件分片数量大于或等于所有应用程 序并发操作所需要的文件分片数量乘以所述磁盘空间包括的分配组的个数; 0021 将所述资源池中的所有文件分片分别与所述磁盘空间内地址连续的LBA建立映 射关系。 0022 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第六种可能的 实现方式中,若根据所述操作处理顺序轮到。
18、操作请求是由发起文件分片释放请求的应用程 序执行的,所述根据所述操作处理顺序依次处理所述应用程序的操作请求具体为: 0023 删除所述操作请求为文件分片释放请求的应用程序和所述操作请求为文件分片 释放请求的应用程序对应的文件分片之间的映射关系; 0024 所述方法还包括: 0025 将所述操作请求为文件分片释放请求的应用程序对应的文件分片移动到资源池 内。 0026 第二方面,本发明实施例还提供一种操作请求的处理装置,包括: 0027 处理顺序建立模块,用于依据应用程序使用的文件分片在磁盘空间的存储位置顺 序为所述应用程序建立操作处理顺序,所述文件分片在所述磁盘空间中顺序存储; 0028 操作。
19、请求处理模块,用于根据所述操作处理顺序依次处理所述应用程序的操作请 说 明 书CN 103530319 A 3/19页 6 求。 0029 结合第二方面,在第二方面的第一种可能的实现方式中,所述处理顺序建立模块, 包括: 0030 逻辑区块地址LBA获取子模块,用于获取所述应用程序对应的文件分片在所述磁 盘空间的LBA; 0031 处理顺序建立子模块,用于按照所述应用程序对应的文件分片的LBA从小到大的 顺序建立所述应用程序的操作处理顺序。 0032 结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的 实现方式中,若所述应用程序的操作请求是写数据请求,所述操作请求处理模块,。
20、包括: 0033 数据缓冲判断子模块,用于按照所述操作处理顺序轮询所述应用程序写入的数据 缓冲区中的数据是否超过预置的缓冲门限; 0034 存储子模块,用于将所述应用程序写入的数据缓冲区中超过所述预置的缓冲门限 的数据写入对应的文件分片中。 0035 结合第二方面或第二方面的第一种或第二种可能的实现方式,在第二方面的第三 种可能的实现方式中,所述应用程序对应的文件分片是根据所述应用程序的文件分片分配 请求,按照资源池中的文件分片的顺序,依据预置的分配顺序规则为所述应用程序分配的。 0036 结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式 中,所述文件分片分配请求携带所述应。
21、用程序设定的文件分片存储路径和文件名,所述操 作请求的处理装置,还包括:重配置模块,其中, 0037 所述重配置模块,用于将分配给所述应用程序的文件分片移动到所述设定的文件 分片存储路径指定的存放位置,并将分配给所述应用程序的文件分片重命名为设定的文件 名。 0038 结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式 中,所述操作请求的处理装置,还包括: 0039 文件分片创建模块,用于所述处理顺序建立模块依据应用程序使用的文件分片在 磁盘空间的存储位置顺序为所述应用程序建立操作处理顺序之前,在资源池中创建文件分 片,其中,若所述磁盘空间中没有创建分配组,则所述资源池内创建。
22、的文件分片数量大于或 等于所有应用程序并发操作所需要的文件分片数量,若所述磁盘空间中创建有分配组,则 所述资源池内创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片 数量乘以所述磁盘空间包括的分配组的个数; 0040 映射模块,用于将所述资源池中的所有文件分片分别与所述磁盘空间内地址连续 的LBA建立映射关系。 0041 结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第六种可能的 实现方式中,若根据所述操作处理顺序轮到发起操作请求是由发起文件分片释放请求的应 用程序执行的,所述操作请求处理模块,具体用于删除所述操作请求为文件分片释放请求 的应用程序和所述操作请求为文件。
23、分片释放请求的应用程序对应的文件分片之间的映射 关系; 0042 所述操作请求的处理装置,还包括: 0043 文件分片回收模块,用于将所述操作请求为文件分片释放请求的应用程序对应的 说 明 书CN 103530319 A 4/19页 7 文件分片移动到资源池内。 0044 从以上技术方案可以看出,本发明实施例具有以下优点: 0045 在本发明实施例中,依据应用程序使用的文件分片在磁盘空间的存储位置顺序为 应用程序建立操作处理顺序,建立完操作处理顺序之后根据操作处理顺序依次处理应用程 序的操作请求。由于文件分片在磁盘空间是顺序存储的,故依据存储顺序先后的多个文件 分片在磁盘空间的存储位置顺序为多。
24、个应用程序建立的操作处理顺序能够保证在各个应 用程序在对文件分片进行操作时对磁盘空间的寻道和移动也是顺序进行的。也就是说,操 作处理顺序前后相邻的应用程序使用的文件分片在磁盘空间的存储位置顺序也是顺序存 储的,故对操作处理顺序前后相邻的多个应用程序在进行依次处理其操作请求时在磁盘空 间的跳跃较小,若磁盘空间的容量很大时,可以极大的缩短磁盘的寻道时间和避免在磁盘 中的较长距离移动,故可以很大程度上减少机械磁盘的磨损,同时也避免产生比较大的震 动,提高了使用磁盘作为存储设备的文件系统的可靠性。 附图说明 0046 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简。
25、单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域的技术人员来讲,还可以根据这些附图获得其他的附图。 0047 图1为本发明实施例提供的一种操作请求的处理方法的流程方框示意图; 0048 图2-a为本发明实施例中多个文件分片在磁盘空间中顺序存储的一种实现方式 示意图; 0049 图2-b为本发明实施例中多个文件分片在磁盘空间中顺序存储的另一种实现方 式示意图; 0050 图3为本发明实施例提供的另一种操作请求的处理方法的流程方框示意图; 0051 图4为本发明实施例中操作请求的处理方法的实现框架示意图; 0052 图5为本发明实施例提供的并发操作的多个应用程序对各自文。
26、件分片的操作处 理示意图; 0053 图6-a为本发明实施例提供的一种操作请求的处理装置的组成结构示意图; 0054 图6-b为本发明实施例提供的一种处理顺序建立模块的组成结构示意图; 0055 图6-c为本发明实施例提供的一种操作请求处理模块的组成结构示意图; 0056 图6-d为本发明实施例提供的另一种操作请求的处理装置的组成结构示意图; 0057 图6-e为本发明实施例提供的另一种操作请求的处理装置的组成结构示意图; 0058 图6-f为本发明实施例提供的另一种操作请求的处理装置的组成结构示意图; 0059 图7为本发明实施例提供的另一种操作请求的处理装置的组成结构示意图。 具体实施方式。
27、 0060 本发明实施例提供了一种操作请求的处理方法和装置,用于提高使用磁盘作为存 储设备的文件系统的可靠性。 0061 为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚描述,显然,下面所描述的实施例 说 明 书CN 103530319 A 5/19页 8 仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员 所获得的所有其他实施例,都属于本发明保护的范围。 0062 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别 类似的对象,而不必用于描述特定的顺序或先后次序。。
28、应该理解这样使用的术语在适当情 况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分 方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以 便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清 楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。 0063 以下分别进行详细说明。 0064 本发明操作请求的处理方法的一个实施例,可应用于对文件系统的管理中,该方 法可包括:依据应用程序使用的文件分片在磁盘空间的存储位置顺序为所述应用程序建立 操作处理顺序,所述文件分片在所述磁盘空间中顺序存储;根据所述操作处。
29、理顺序依次处 理所述应用程序的操作请求。 0065 请参阅图1所示,本发明一个实施例提供的操作请求的处理方法,可以包括如下 步骤: 0066 101、依据应用程序使用的文件分片在磁盘空间的存储位置顺序为上述应用程序 建立操作处理顺序。 0067 其中,上述文件分片在上述磁盘空间中顺序存储。 0068 在本发明实施例中,文件系统中并发的有多个应用程序分别使用一个文件分片, 其中,多个应用程序各自使用的文件分片在磁盘空间中顺序存储,即在磁盘空间内按照存 储位置的前后顺序,每个文件分片分别被一个应用程序所使用,每个文件分片用于存储使 用该文件分片的应用程序产生的数据,例如,应用程序1使用的是文件分片。
30、1,其表示的意 思是文件分片1是用来存储应用程序1产生的数据。另外,多个文件分片是根据各个文件 分片在磁盘空间中的存储位置顺序依次存储在磁盘空间的,通常每个文件分片都会占用一 定的存储空间,例如每个文件分片的大小为1GB(Gigabyte,吉字节),共有10个并发操作的 应用程序,每个应用程序使用一个文件分片,则共有10个文件分片,这10个文件分片在磁 盘空间的存储位置顺序是连续的,即每个大小为1GB的文件分片在磁盘空间中是依次存储 的,共会占用磁盘空间的10GB存储空间,若磁盘空间还被划分为分配组,则在磁盘空间中 占用的10GB存储空间可以指的是同一个分配组内的存储位置,也可以同时占用跨两个。
31、分 配组内的存储位置,但是这个10GB存储空间中10个文件分片的存储位置在磁盘空间内是 按照存储位置的前后顺序进行存储的。 0069 需要说明的是,在本发明实施例中,多个应用程序各自使用的文件分片在磁盘空 间中顺序存储,指的是,多个文件分片在磁盘空间中的存储位置是按照在磁盘空间中存储 位置的先后顺序来存储的,具体的,可以包括两种含义,第一种是多个文件分片在磁盘空间 中的存储位置是连续的,例如,如图2-a所示,为本发明实施例中多个文件分片在磁盘空间 中顺序存储的一种实现方式示意图,以3个文件分片为例,分别为文件分片1、文件分片2、 文件分片3,经过文件映射管理,这3个文件分片映射到磁盘空间中的存。
32、储位置是相邻的, 如图2-a所示,文件分片1、文件分片2、文件分片3在磁盘空间中的存储位置是连续的。第 二种是多个文件分片在磁盘空间中的存储位置是按照前后顺序分布的,即可以表示经过文 说 明 书CN 103530319 A 6/19页 9 件映射管理,多个文件分片在磁盘空间中的存储位置不是连续的,但是仍然满足前后顺序 的关系。如图2-b所示,为本发明实施例中多个文件分片在磁盘空间中顺序存储的另一种 实现方式示意图。仍以3个文件分片为例,分别为文件分片4、文件分片5、文件分片6,经 过文件映射管理,这3个文件分片映射到磁盘空间中的存储位置并不是相邻的,但文件分 片4、文件分片6、文件分片5在磁盘。
33、空间中仍然是顺序存储的,如图2-b所示,在磁盘空间 中按照存储位置的前后顺序分别顺序的存储有文件分片4、文件分片6、文件分片5。 0070 在获取到并发的多个应用程序各自使用的文件分片在磁盘空间的存储位置顺序 之后,依据应用程序使用的文件分片在磁盘空间的存储位置顺序为多个应用程序建立操作 处理顺序,其中,操作处理顺序指的是文件系统处理多个应用程序操作各自的文件分片的 先后顺序。若某一个应用程序使用的文件分片在磁盘空间的存储位置顺序最靠前的,则为 该应用程序建立的操作处理顺序是最优先的,同样的,若某一个应用程序使用的文件分片 在磁盘空间的存储位置顺序是最靠后的,则为该应用程序建立的操作处理顺序也。
34、是最后 的。例如:并发操作的应用程序共有5个,分别为应用程序1应用程序2应用程序3 应用程序4应用程序5,应用程序1使用的文件分片为文件分片1,应用程序2使用的文 件分片为文件分片2,应用程序3使用的文件分片为文件分片3,应用程序4使用的文件分 片为文件分片4,应用程序5使用的文件分片为文件分片5,5个文件分片在磁盘空间的存储 位置顺序依次是文件分片3文件分片2文件分片4文件分片1文件分片5,如果用 大小顺序表示5个文件分片在磁盘空间的存储位置顺序,则5个文件分片从小到大依次为: 文件分片3文件分片2文件分片4文件分片1文件分片5,则依据这5个文件分片 在磁盘空间的存储顺序为5个应用程序建立的。
35、操作处理顺序用大小顺序就可以表示为:应 用程序3应用程序2应用程序4应用程序1应用程序5,故这个5个应用程序建立 的操作处理顺序中最优先处理的应用程序3,其次是应用程序2,然后是应用程序4,接下来 是应用程序1,最后处理的是应用程序5。 0071 在本发明的一些实施例中,步骤101依据应用程序使用的文件分片在磁盘空间的 存储位置顺序为上述应用程序建立操作处理顺序,具体可以包括如下步骤: 0072 A1获取应用程序对应的文件分片的逻辑区块地址(LBA,Logic Block Address); 0073 A2按照上述应用程序对应的文件分片的LBA从小到大的顺序建立上述应用程 序的操作处理顺序。 。
36、0074 其中,步骤A1中首先获取到每个文件分片被映射到磁盘空间中的LBA,也就是说, 文件分片在磁盘空间的存储位置顺序可以用LBA来表示,由于多个文件分片在磁盘空间中 顺序存储,故这些多个文件分片映射到磁盘空间的LBA的地址也是按照顺序先后分布的, 其中,LBA用于表示某个文件分片的地址或是某个地址所指向的文件分片。 0075 步骤A2按照上述应用程序对应的文件分片的LBA从小到大的顺序建立上述应用 程序的操作处理顺序。可选的,在获取到各个文件分片的LBA后,按照各个文件分片的LBA 从小到大的顺序对各个文件分片进行排序,也就是说,LBA越小的文件分片其排序就越靠 前,而LBA越大的文件分片。
37、其排序就越靠后。其中按照各个文件分片的LBA从小到大的顺 序对各个文件分片进行排序的方式有多种,例如,可以用各个文件分片的LBA作为各个文 件分片的标记位,根据各个文件分片的标记位表示的数值从小到大对各个文件分片进行排 说 明 书CN 103530319 A 7/19页 10 序,也可以以各个文件分片的LBA对各个文件分片进行重命名,对重命名后的多个文件分 片对文件名按照B-tree(多路搜索树)进行排序,当然也可以使用其它的排序算法对多个 文件分片进行排序。例如,并发操作的应用程序共有5个,5个应用程序分别使用一个文件 分片,5个文件分片排序先后依次为:文件分片3文件分片2文件分片4文件分片。
38、1 文件分片5,则为应用程序1建立与应用程序1正在使用的文件分片1的排序顺序(文件 分片1的排序顺序是第4位)相同的操作处理顺序就是第4顺序位,建立的5个应用程序的 操作处理顺序就可以表示为:应用程序3应用程序2应用程序4应用程序1应用 程序5。 0076 需要说明的是,应用程序对应的文件分片是根据上述应用程序的文件分片分配请 求,按照资源池中的文件分片的顺序,依据预置的分配顺序规则为所述应用程序分配的。在 本发明实施例中,可以设定唯一的资源池,文件系统用于管理资源池。应用程序使用的文 件分片可以是文件系统在资源池中创建的多个文件分片,每个文件分片在磁盘空间中对应 有存储位置,且并发操作的多个。
39、应用程序各自使用的文件分片在磁盘空间中是顺序存储。 也就是说,文件分片与磁盘空间建立有映射关系,文件分片作为一种资源,可以用来存储数 据,当应用程序需要使用文件分片来存储数据时应用程序可以向资源池来申请文件分片, 则文件系统就可以将资源池中的文件分片分配给应用程序来使用,并且文件系统在为应用 程序分配文件分片时依据预置的分配顺序规则为应用程序分配资源池中的文件分片,其 中,文件系统预先设置向应用程序分配资源池中的文件分片的分配顺序规则,文件系统根 据该分配顺序规则向多个应用程序来分配文件分片,例如,按照资源池中文件分片的排列 顺序从小到大的顺序依次从资源池中取出文件分片分配给应用程序,也可以按。
40、照资源池中 文件分片的排列顺序从大到小的顺序依次从资源池中取出文件分片分配给应用程序。例 如,当资源池有3个待分配的文件分片时,3个待分配的文件分片分别为文件分片1、文件分 片2、文件分片3,这3个文件分片在磁盘空间中的存储位置顺序是文件分片2、文件分片1、 文件分片3,则当应用程序1向资源池来申请文件分片时,文件系统优先选择在磁盘空间中 存储位置顺序最靠前的文件分片(即文件分片2)分配给应用程序1。 0077 为了保证资源池中能够有足够的文件分片可以用于分配给并发操作的所有应用 程序,可以在资源池内创建的文件分片数量大于所有应用程序并发操作所需要的文件分片 数量乘以磁盘空间包括的分配组的个数。
41、,这样就可以满足在磁盘空间的一个分配组内的存 储位置对应的资源池中的文件分片数量就能够保证所有应用程序并发操作所需要的文件 分片数量,也就是说,在资源池中创建的文件分片要能够保证所有并发操作的应用程序请 求分配文件分片的需要。 0078 需要说明的是,在本发明的一些实施例中,文件分片分配请求携带上述应用程序 设定的文件分片存储路径和文件名。则按照资源池中的文件分片的顺序,依据预置的分配 顺序规则为上述应用程序分配,包括: 0079 将分配给上述应用程序的文件分片移动到设定的文件分片存储路径指定的存放 位置,并将分配给上述应用程序的文件分片重命名为设定的文件名。 0080 需要说明的是,在本发明。
42、的一些实施例中,步骤101依据应用程序使用的文件分 片在磁盘空间的存储位置顺序为上述应用程序建立操作处理顺序,之前还可以包括如下步 骤: 说 明 书CN 103530319 A 10 8/19页 11 0081 B1、在资源池中创建文件分片,其中,若磁盘空间中没有创建分配组,则资源池内 创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片数量,若磁盘空 间中创建有分配组,则资源池内创建的文件分片数量大于或等于所有应用程序并发操作所 需要的文件分片数量乘以磁盘空间包括的分配组的个数; 0082 B2、将资源池中的所有文件分片分别与磁盘空间内地址连续的LBA建立映射关 系。 0083 。
43、其中,步骤101之前,本发明实施例中还可以包括在资源池中创建文件分片的实 现方式,步骤B1中在资源池中创建的文件分片数量要能够保证并发操作的所有应用程序 对文件分片数量的需要。对于普通的磁盘空间,即磁盘空间中没有创建分配组的情况下,资 源池内创建的文件分片数量大于或等于所有应用程序并发操作所需要的文件分片数量;对 于在磁盘空间中创建有分配组的情况下,因为各个分配组都是相互独立的,故为了满足并 发操作的应用程序对文件分片的操作需要,资源池内创建的文件分片数量大于或等于所有 应用程序并发操作所需要的文件分片数量乘以磁盘空间包括的分配组的个数。 0084 在资源池中创建完文件分片之后,步骤B2中将资。
44、源池中的所有文件分片分别与 磁盘空间内地址连续的LBA建立映射关系,即需要将资源池中的所有文件分片与磁盘空间 内的LBA地址进行对应。 0085 在建立完成文件分片和LBA地址的映射关系后,还可以按照资源池中的每个文件 分片对应的LBA的取值大小对资源池中的所有文件分片进行排序,按照LBA地址的取值大 小对资源池中的所有文件分片进行排序可以方便于后续过程中当有应用程序请求文件分 片时,文件系统可以按照文件分片在资源池中的排序先后将文件分片分配给应用程序。 0086 102、根据上述操作处理顺序依次处理应用程序的操作请求。 0087 在本发明实施例中,为并发操作的多个应用程序建立完操作处理顺序之。
45、后,就根 据建立的操作处理顺序依次处理应用程序的操作请求。例如,若5个文件分片在磁盘空间 的存储位置顺序从小到大依次为:文件分片3文件分片2文件分片4文件分片1文 件分片5,通过步骤101的描述可知,可以为5个应用程序建立的操作处理顺序为:应用程 序3应用程序2应用程序4应用程序1应用程序5,那么依据这5个应用程序的操 作处理顺序,就应该优先处理应用程序3对文件分片3的操作请求,其次是处理应用程序2 对文件分片2的操作请求,然后是处理应用程序4对文件分片4的操作请求,接下来是处理 应用程序1对文件分片1的操作请求,最后处理的是应用程序5对文件分片5的操作请求。 0088 需要说明的是,在本发明。
46、实施例中,应用程序的操作请求具体可以指的是应用程 序读取文件分片中存储的数据的请求,也可以指的是应用程序将数据写入文件分片中的请 求,还可以指的是应用程序对文件分片中存储的数据进行修改的请求,还可以指的是应用 程序对文件分片的删除的请求。并且并发操作的多个应用程序对各自文件分片的操作请求 可以是完全一样的请求,仍以前述的5个应用程序为例说明,5个应用程序对各自文件分片 的操作请求都可以是写数据请求,当然并发操作的多个应用程序对各自文件分片的操作请 求也可以是都不相同的,这需要根据应用程序自身对文件分片的操作要求来决定。例如5 个应用程序是视频监控系统中分别控制5个不同摄像头进行视频监控的应用程。
47、序,则这5 个应用程序对各自的文件分片的操作请求通常都是写数据请求。又如5个应用程序中有2 个应用程序是控制视频监控摄像头进行视频监控的,有1个应用程序是聊天工具,有1个应 说 明 书CN 103530319 A 11 9/19页 12 用程序是文件内容清理工具,还有1个应用程序是照片处理工具,则控制摄像头进行视频 监控的2个应用程序对文件分片的操作请求可以是写监控画面数据,聊天工具的应用程序 对文件分片的操作请求可以是修改用户的属性数据,文件内容清理工具的应用程序对文件 分片的操作请求可以是删除某个文件分片,照片处理工具的应用程序对文件分片的操作请 求可以是对照片图片数据进行修改。 0089。
48、 需要说明的是,在本发明的一些实施例中,若根据操作处理顺序轮到操作请求是 由发起文件分片释放请求的应用程序执行的,步骤102根据操作处理顺序依次处理应用程 序的操作请求具体为: 0090 删除操作请求为文件分片释放请求的应用程序和操作请求为文件分片释放请求 的应用程序对应的文件分片之间的映射关系。 0091 本发明实施例提供的操作请求的处理方法,在删除了操作请求为文件分片释放请 求的应用程序和操作请求为文件分片释放请求的应用程序对应的文件分片之间的映射关 系之后,还可以包括如下步骤: 0092 将操作请求为文件分片释放请求的应用程序对应的文件分片移动到资源池内。 0093 其中,步骤102中是。
49、对并发操作的多个应用程序按照操作处理顺序依次进行处理 的描述,那么对于具体到发起操作请求为文件分片释放请求的应用程序,此处实施例中是 以操作请求是文件分片释放请求为例进行说明的,对于操作请求是文件分片释放请求的应 用程序,删除操作请求为文件分片释放请求的应用程序和操作请求为文件分片释放请求的 应用程序对应的文件分片之间的映射关系,则删除掉映射关系后,应用程序就释放掉了正 在使用的文件分片,将被释放掉的文件分片移动到资源池中,可以实现对文件分片的回收 再利用。 0094 需要说明的是,在本发明的实施例中是为正在使用各自文件分片的多个应用程序 建立的操作处理顺序,也就是说,本发明实施例中操作处理顺的建立是针对并发操作的多 个应用程序来建立的,故本发明实施例中还可以包括如下方法:实时监测正在使用文件分 片的应用程序的数量是否变化,若是,重新执行步骤。