CN107844483A - 文件管理方法及装置 - Google Patents

文件管理方法及装置 Download PDF

Info

Publication number
CN107844483A
CN107844483A CN201610827166.XA CN201610827166A CN107844483A CN 107844483 A CN107844483 A CN 107844483A CN 201610827166 A CN201610827166 A CN 201610827166A CN 107844483 A CN107844483 A CN 107844483A
Authority
CN
China
Prior art keywords
file
index
index file
data
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610827166.XA
Other languages
English (en)
Other versions
CN107844483B (zh
Inventor
陆云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610827166.XA priority Critical patent/CN107844483B/zh
Publication of CN107844483A publication Critical patent/CN107844483A/zh
Application granted granted Critical
Publication of CN107844483B publication Critical patent/CN107844483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件管理方法及装置,属于分布式技术领域。所述方法包括:获取与待存储的音频文件匹配的文本数据的文本长度值;根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;将所述文本数据的哈希标识写入所述第一索引文件;将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。本发明通过将索引文件按照文本数据的文本长度值进行划分和对音频文件的文本数据进行哈希运算,实现了基于文本数据的文本长度值和哈希标识对音频文件进行存储管理,编程操作方便且支持分布式访问,文件处理效率较高。

Description

文件管理方法及装置
技术领域
本发明涉及分布式技术领域,特别涉及一种文件管理方法及装置。
背景技术
在互联网技术飞速发展的今天,越来越多信息被数据化处理,这使得诸如图片、邮件、电子书、互联网档案等小文件呈几何式增长。比如,一个大型社交网络仅每周提供的图片数据便多达60TB。面对海量的小文件,为了保证服务器端的磁盘访问效率,如何对海量小文件进行安全有效的管理,成为了本领域技术人员时下必须面对的一个重要课题。
在HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)中,文件归档技术在HDFS上构建了一个层次化的文件系统,通过将小文件打包成HAR文件来进行存储管理,以减少HDFS中的文件数量;而Sequence File(序列文件)通过将<key,value>对序列化到Sequence File,实现多个小文件的合并存储管理。其中,Sequence File是Hadoop用来存储二进制形式的<key,value>对而设计的一种平面文件。在ReiserFS文件系统中,使用特殊优化的平衡树来容纳小文件的数据本身以及文件名等,ReiserFS可将小文件直接存储进树。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
Hadoop受限于自身架构因素,在处理小文件时的效率较低,并且编程操作不方便,限制了仅用java实现。对于ReiserFS来说,并不支持分布式的访问,且受限于自身架构因素在小文件的数量过大时处理效果较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种文件管理方法及装置。所述技术方案如下:
第一方面,提供了一种文件管理方法,所述方法包括:
获取与待存储的音频文件匹配的文本数据的文本长度值,所述音频文件通过对所述文本数据进行语音转换得到;
根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;
将所述文本数据的哈希标识写入所述第一索引文件;
将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。
第二方面,提供了一种文件管理装置,所述装置包括:
获取模块,用于获取与待存储的音频文件匹配的文本数据的文本长度值,所述音频文件通过对所述文本数据进行语音转换得到;
确定模块,用于根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;
写入模块,用于将所述文本数据的哈希标识写入所述第一索引文件;
所述写入模块,还用于将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。
本发明实施例提供的技术方案带来的有益效果是:
在获取到与待存储的音频文件匹配的文本数据的文本长度值后,根据该文本长度值在创建的至少一个索引文件中确定一个索引文件,并将该文本数据的哈希标识和存储地址写入到该索引文件中,同时将该音频文件写入与该索引文件对应的数据文件中,通过将索引文件按照文本数据的文本长度值进行划分和对音频文件的文本数据进行哈希运算,实现了基于文本数据的文本长度值和哈希标识对音频文件进行存储管理,编程操作方便且支持分布式访问,便于后续对文件的读取和删除,文件处理效率较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文件管理方法的流程图;
图2是本发明实施例提供的一种文件管理方法的流程图;
图3是本发明实施例提供的一种索引文件的结构示意图;
图4是本发明实施例提供的一种文件管理装置的结构示意图;
图5是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及的实施场景进行简单介绍。
为了满足需要缓存海量小音频文件的需求,本发明实施例设计了一种分布式的基于MD5(Message Digest Algorithm MD5,消息摘要算法第五版)哈希运算的小音频文件的管理方法。其中,小音频文件(本发明实施例提及的音频文件)可为小于4KB或8KB等大小的文件,本发明实施例对此不进行具体限定。小音频文件是通过采用TTS(Text To Speech,从文本到语音)技术对文本数据进行语音转换得到的,即小音频文件指代文本数据对应的TTS(Text To Speech,从文本到语音)文件。换句话说,小音频文件为文本数据的语音朗读版本。其中,TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。时下TTS应用包括语音驱动的邮件以及声音敏感系统,并常与声音识别程序一起使用。
图1是本发明实施例提供的一种文件管理方法的流程图。参见图1,本发明实施例提供的方法流程包括:
101、获取与待存储的音频文件匹配的文本数据的文本长度值,根据该文本长度值,在创建的至少一个索引文件中确定第一索引文件。
在本发明实施例中,在缓存小音频文件时包含两种格式:索引文件和数据文件。其中,索引文件用来存储小音频文件的索引数据,数据文件用来真正存储小音频文件。为了方便同步以及适应文件指针的偏移控制,索引文件和数据文件的大小最大不超过2GB。超过该上限值的,可以创建一个新的索引文件或数据文件来继续存储数据。其中,索引文件是按照文本数据的文本长度值来划分的,即在存储小音频文件时,是按照小音频文件对应文本数据的文本长度值进行存储,具有相同文本长度值的小音频文件存储在一起。也即,这些小音频文件的索引数据存储在同一个索引文件中,这些小音频文件的数据本身存储在同一个数据文件中。其中,索引文件中会存储一个小音频文件的下述索引数据:文本数据的哈希标识(即MD5值)、小音频文件的名称标识、小音频文件的存储地址(即在数据文件中的偏移量)。此外,对于每一个索引文件来说,还需在文件头部保存对应的文本长度值。其中,一个索引文件可如图2所示。
由于需要根据文本数据查找对应的TTS文件(也即音频文件),而直接对文本数据的文本操作不方便,因此对文本数据做一个MD5运算,通过MD5值建立文本数据与TTS文件之间的映射,进而通过MD5值来查找TTS文件,详见后续步骤的描述。在本发明实施例中,缓存文件的初始化也即指代缓存目录的初始化,缓存的小音频文件会随着用户的请求,在使用过程中根据用户的请求参数而被创建。
基于上述描述可知,由于索引文件是按照文本长度值来划分的,因此本发明实施例在存储一个小音频文件时,还需首先获取与该音频文件匹配的文本数据的文本长度值。其中,文本长度值一般指代文本数据中的字符总数,本发明实施例对此不进行具体限定。之后,根据该文本长度值,在分布式文件系统已经创建的至少一个索引文件中,查找与该文本长度值匹配的第一索引文件。其中,第一索引文件专门用来存储与该文本长度值匹配的音频文件的索引数据。在查找与该文本长度值匹配的第一索引文件时,可采取下述方式实现:由于各个索引文件的文件头部均存储了一个文本长度值,因此可将待存储的音频文件的文本长度值,与已经创建的至少一个索引文件中存储的文本长度值进行比较,若一个索引文件中存储的文本长度值与该文本长度值相等,则将该索引文件确定为第一索引文件。
102、将该文本数据的哈希标识、该音频文件的名称标识和存储地址写入第一索引文件,并将该音频文件写入与第一索引文件对应的数据文件。
在本发明实施例中,在向第一索引文件中写入上述哈希标识、名称标识和存储地址时,可先在第一索引文件存储的索引数据之间查找是否存在空闲位置,若存在空闲位置,则可将上述哈希标识、名称标识和存储地址直接写入到该空闲位置处;若不存在空闲位置,则可以追加的方式,将上述哈希标识、名称标识和存储地址写入到第一索引文件中已存储索引数据的最后。需要说明的是,对于一个音频文件来说,上述哈希标识、名称标识和存储地址相互之间是存在对应关系的。也即,根据该哈希标识可快速锁定该名称标识和该存储地址。同一个音频文件的哈希标识、名称标识和存储地址存储在一起。分布式文件系统会建立上述哈希标识、名称标识和存储地址之间的对应关系。
在另一个实施例中,在将该音频文件写入第一索引文件对应的数据文件时,通常采取下述两种实现。
第一种方式、确定该数据文件中的至少一个空闲区块;获取至少一个空闲区块的地址信息,根据至少一个空闲区块的地址信息生成第二索引文件;在第二索引文件中选取一个空闲区块,将该空闲区块的地址信息作为存储地址写入第一索引文件,并将该音频文件写入该空闲区块。
针对第一种方式,由于索引文件是按照文本长度值来划分的,而具有相同文本长度值的音频文件的大小一般类似,因此音频文件也基本是按照相同大小存储在一起的原则来进行存储,所以每一个数据文件都被定长划分为大小一致的多个区块。其中,为了对划分出的各个区块进行区分,可为每一个区块进行单独编号,比如从数据文件的起始地址处开始,依次按照阿拉伯数字为每一个区块顺序编号,本发明实施例对此不进行具体限定。
之后,可周期性统计每一个区块的被占用情况,并根据至少一个空闲区块的地址信息生成一个第二索引文件。其中,此处的地址信息指代上述提到的编号信息。这样在对待存储的音频文件进行存储时,可直接根据第二索引文件在该数据文件中确定一个空闲区块,并将该音频文件写入到这个空闲区块中。需要说明的是,由于空闲区块的编号信息在一开始便可获取到,因此可先将上述哈希标识、名称标识和编号信息作为存储地址写入到第一索引文件中,然后再将该音频文件写入到该空闲区块中。
第二种方式、在该数据文件中进行遍历查找,在该数据文件的多个区块中确定一个空闲区块,并将该音频文件写入该空闲区块;之后,再将该空闲区块的地址信息作为存储地址写入第一索引文件。
针对第二种方式,如果没有生成包括空闲区块的第二索引文件,则还需通过遍历查找的方式在该数据文件中确定一个用于存储该音频文件的空闲区块。由于此时还不确定该音频文件的存储位置,因此还不能将该音频文件的存储地址写入到第一索引文件中。当在该数据文件中确定存储该音频文件的空闲区块后,再将该空闲区块的编号信息作为存储地址写入到第一索引文件中。此外,如果既没有对数据文件分区块划分,也没有生成对应的第二索引文件,则也需按照上述类似的遍历方式确定该音频文件的存储位置,之后再将确定的存储地址写入到第一索引文件中。
需要说明的是,在将该音频文件写入该数据文件后,本发明实施例还包括在第一索引文件中设置使用标识的步骤,并将该使用标识赋值为第一数值,其中第一数值用于表征上述存储地址指示的存储位置处已存储有音频文件,即数据已满。该使用标识与音频文件一一对应,即一个音频文件对应一个使用标识,该使用标识与该音频文件的哈希标识、名称标识和存储地址存储在一起。其中,第一数值可形如是、1、或TURE等标识,本发明实施例对此不进行具体限定。
此外,在按照上述步骤将音频文件存储到分布式文件系统后,本发明实施例还支持对已存储音频文件的查询读取操作,比如若需读取某个文本数据的TTS文件,则向分布式文件系统输入对应的文本长度值和哈希标识作为参数,首先根据该文本长度值找到对应的索引文件,然后查找该哈希标识对应的存储地址,最后读取该存储地址指示的存储位置处存储的TTS文件,详细如下:
103、在接收到对该音频文件的读取请求后,获取该读取请求中携带的文本长度值和哈希标识,根据该文本长度值,在创建的至少一个索引文件中确定第一索引文件,在第一索引文件中查找与该哈希标识匹配的存储地址,根据该存储地址在与第一索引文件对应的数据文件中读取该音频文件。
在本发明实施例中,如果在第一索引文件中没有查找到与该哈希标识对应的存储地址,则证明没有缓存对应的数据,返回读取失败响应。其中,不管对于任何文本长度的文本数据来说,其哈希标识(MD5值)的长度都是固定的暗哈希标识本质上为计算机安全领域广泛使用的一种散列函数。
此外,本发明实施例还支持对已存储音频文件的删除操作。如果一个音频文件存在更新,那么便需删除之前已经存储的版本,或者其他情况需要删除之前已经存储的音频文件。比如若需删除某个文本数据的TTS文件,则向分布式文件系统输入对应的文本长度值和哈希标识作为参数,首先根据该文本长度值找到对应的索引文件,然后查找该哈希标识对应的存储地址,最后删除该存储地址指示的存储位置处存储的TTS文件,详细如下:
104、在接收到对该音频文件的删除请求后,获取该删除请求中携带的文本长度值和哈希标识;根据该文本长度值,在创建的至少一个索引文件中确定第一索引文件,在第一索引文件中查找与该哈希标识匹配的使用标识;将该使用标识赋值为第二数值,并在第一索引文件中查找与该哈希标识匹配的存储地址,根据该存储地址,在与第一索引文件对应的数据文件中删除该音频文件。
其中,第二数值用于表征上述存储地址指示的存储位置处数据为空。第二数值可形如否、0、或FLASE等标识,本发明实施例对此不进行具体限定。在本发明实施例中,对于存储操作和删除操作来说,均不需要移动其他已存储的音频文件,仅涉及到与待存储的音频文件或待删除的音频文件关联的存储位置,因此提高了文件的删除和存储速度。
本发明实施例提供的方法,在获取到与待存储的音频文件匹配的文本数据的文本长度值后,根据该文本长度值在创建的至少一个索引文件中确定一个索引文件,并将该文本数据的哈希标识、该音频文件的名称标识和存储地址写入到该索引文件中,同时将该音频文件写入与该索引文件对应的数据文件中,通过将索引文件按照文本数据的文本长度值进行划分和对音频文件的文本数据进行哈希运算,实现了基于音频文件的文本数据的文本长度值和哈希标识对音频文件进行存储管理,编程操作方便且支持分布式访问,文件处理效率较高。此外,基于文本长度值和哈希标识还可快速实现对音频文件的删除和读取,进一步地提高了文件处理效率,且对于存储操作和删除操作来说,均不需要移动其他已存储的文件,提高了文件的存储和删除速度。
图3是本发明实施例提供的一种文件管理方法的流程图。参见图3,本发明实施例提供的方法流程包括:
301、获取与待存储的音频文件匹配的文本数据的文本长度值,该音频文件通过对该文本数据进行语音转换得到。
302、根据该文本长度值,在创建的至少一个索引文件中确定第一索引文件,第一索引文件用于存储与文本长度值匹配的音频文件的索引数据。
303、将该文本数据的哈希标识写入第一索引文件。
304、将该音频文件写入与第一索引文件对应的数据文件,将该音频文件的存储地址写入第一索引文件。
本发明实施例提供的方法,在获取到与待存储的音频文件匹配的文本数据的文本长度值后,根据该文本长度值在创建的至少一个索引文件中确定一个索引文件,并将该文本数据的哈希标识和存储地址写入到该索引文件中,同时将该音频文件写入与该索引文件对应的数据文件中,通过将索引文件按照文本数据的文本长度值进行划分和对音频文件的文本数据进行哈希运算,实现了基于文本数据的文本长度值和哈希标识对音频文件进行存储管理,编程操作方便且支持分布式访问,文件处理效率较高。
在另一个实施例中,该方法还包括:
确定所述数据文件中的至少一个空闲区块,所述数据文件被均分为大小相同的多个区块;
获取所述至少一个空闲区块的地址信息,根据所述至少一个空闲区块的地址信息生成第二索引文件;
所述将所述音频文件的存储地址写入所述第一索引文件,包括:
在所述第二索引文件中选取一个空闲区块,将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件;
所述将所述音频文件写入与所述第一索引文件对应的数据文件中,包括:
将所述音频文件写入所述数据文件中的所述空闲区块。
在另一个实施例中,所述将所述音频文件写入与所述第一索引文件对应的数据文件中,包括:
在所述数据文件中进行遍历查找,在所述数据文件的多个区块中确定空闲区块,所述数据文件被均分为大小相同的多个区块;
将所述音频文件写入所述空闲区块;
所述将所述音频文件的存储地址写入所述第一索引文件,包括:
将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件。
在另一个实施例中,该方法还包括:
将所述音频文件的名称标识写入所述第一索引文件;
建立所述哈希标识、所述存储地址和所述名称标识之间的对应关系。
在另一个实施例中,该方法还包括:
在接收到对所述音频文件的读取请求后,获取所述读取请求中携带的所述文本长度值和所述哈希标识;
根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
根据所述存储地址,在与所述第一索引文件对应的数据文件中读取所述音频文件。
在另一个实施例中,该方法还包括:
在将所述音频文件写入与所述第一索引文件对应的数据文件后,在所述第一索引文件中设置使用标识;
将所述使用标识赋值为第一数值,所述第一数值用于表征所述存储地址指示的存储位置已存储有所述音频文件;
建立所述哈希标识与所述使用标识之间的对应关系。
在另一个实施例中,所述方法还包括:
在接收到对所述音频文件的删除请求后,获取所述删除请求中携带的所述文本长度值和所述哈希标识;
根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
在所述第一索引文件中查找与所述哈希标识匹配的使用标识;
将所述使用标识赋值为第二数值,所述第二数值用于表征所述存储地址指示的存储位置数据为空;
在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
根据所述存储地址,在与所述第一索引文件对应的数据文件中删除所述音频文件。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图4是本发明实施例提供的一种文件管理装置的结构示意图。参见图4,该装置包括:获取模块401、确定模块402、写入模块403。
其中,获取模块401,用于获取与待存储的音频文件匹配的文本数据的文本长度值,所述音频文件通过对所述文本数据进行语音转换得到;
确定模块402,用于根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;
写入模块403,用于将所述文本数据的哈希标识写入所述第一索引文件;
写入模块403,还用于将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。
在另一个实施例中,所述确定模块402,还用于确定所述数据文件中的至少一个空闲区块,所述数据文件被均分为大小相同的多个区块;
获取模块401,还用于获取所述至少一个空闲区块的地址信息,根据所述至少一个空闲区块的地址信息生成第二索引文件;
写入模块403,用于在所述第二索引文件中选取一个空闲区块,将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件;
写入模块403,用于将所述音频文件写入所述数据文件中的所述空闲区块。
在另一个实施例中,所述写入模块403,用于在所述数据文件中进行遍历查找,在所述数据文件的多个区块中确定空闲区块,所述数据文件被均分为大小相同的多个区块;将所述音频文件写入所述空闲区块;
写入模块403,用于将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件。
在另一个实施例中,所述写入模块403,还用于将所述音频文件的名称标识写入所述第一索引文件;
建立模块404,用于建立所述哈希标识、所述存储地址和所述名称标识之间的对应关系。
在另一个实施例中,该装置还包括:
获取模块401,还用于在接收到对所述音频文件的读取请求后,获取所述读取请求中携带的所述文本长度值和所述哈希标识;
确定模块402,还用于根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
查找模块405,用于在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
读取模块406,用于根据所述存储地址,在与所述第一索引文件对应的数据文件中读取所述音频文件。
在另一个实施例中,该装置还包括:
设置模块407,用于在将所述音频文件写入与所述第一索引文件对应的数据文件后,在所述第一索引文件中设置使用标识;
赋值模块408,用于将所述使用标识赋值为第一数值,所述第一数值用于表征所述存储地址指示的存储位置已存储有所述音频文件;
建立模块404,用于建立所述哈希标识与所述使用标识之间的对应关系。
在另一个实施例中,该装置还包括:
获取模块401,还用于在接收到对所述音频文件的删除请求后,获取所述删除请求中携带的所述文本长度值和所述哈希标识;
确定模块402,用于根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
查找模块405,用于在所述第一索引文件中查找与所述哈希标识匹配的使用标识;
赋值模块408,用于将所述使用标识赋值为第二数值,所述第二数值用于表征所述存储地址指示的存储位置数据为空;
查找模块,还用于在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
删除模块405,用于根据所述存储地址,在与所述第一索引文件对应的数据文件中删除所述音频文件。
本发明实施例提供的装置,在获取到与待存储的音频文件匹配的文本数据的文本长度值后,根据该文本长度值在创建的至少一个索引文件中确定一个索引文件,并将该文本数据的哈希标识和存储地址写入到该索引文件中,同时将该音频文件写入与该索引文件对应的数据文件中,通过将索引文件按照文本数据的文本长度值进行划分和对音频文件的文本数据进行哈希运算,实现了基于文本数据的文本长度值和哈希标识对音频文件进行存储管理,编程操作方便且支持分布式访问,文件处理效率较高。此外,基于文本长度值和哈希标识还可快速实现对音频文件的删除和读取,进一步地提高了文件处理效率,且对于存储操作和删除操作来说,均不需要移动其他已存储的文件,提高了文件的存储和删除速度。
需要说明的是:上述实施例提供的文件管理装置在进行文件管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件管理装置与文件管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是根据一示例性实施例示出的一种服务器,该服务器可以用于实施上述任一示例性实施例示出的文件管理方法。具体来讲:参见图5,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Unit,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出)。
服务器500还可以包括一个或一个以上电源528,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于进行文件管理的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种文件管理方法,其特征在于,所述方法包括:
获取与待存储的音频文件匹配的文本数据的文本长度值,所述音频文件通过对所述文本数据进行语音转换得到;
根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;
将所述文本数据的哈希标识写入所述第一索引文件;
将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述数据文件中的至少一个空闲区块,所述数据文件被均分为大小相同的多个区块;
获取所述至少一个空闲区块的地址信息,根据所述至少一个空闲区块的地址信息生成第二索引文件;
所述将所述音频文件的存储地址写入所述第一索引文件,包括:
在所述第二索引文件中选取一个空闲区块,将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件;
所述将所述音频文件写入与所述第一索引文件对应的数据文件中,包括:
将所述音频文件写入所述数据文件中的所述空闲区块。
3.根据权利要求1所述的方法,其特征在于,所述将所述音频文件写入与所述第一索引文件对应的数据文件中,包括:
在所述数据文件中进行遍历查找,在所述数据文件的多个区块中确定空闲区块,所述数据文件被均分为大小相同的多个区块;
将所述音频文件写入所述空闲区块;
所述将所述音频文件的存储地址写入所述第一索引文件,包括:
将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述音频文件的名称标识写入所述第一索引文件;
建立所述哈希标识、所述存储地址和所述名称标识之间的对应关系。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
在接收到对所述音频文件的读取请求后,获取所述读取请求中携带的所述文本长度值和所述哈希标识;
根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
根据所述存储地址,在与所述第一索引文件对应的数据文件中读取所述音频文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述音频文件写入与所述第一索引文件对应的数据文件后,在所述第一索引文件中设置使用标识;
将所述使用标识赋值为第一数值,所述第一数值用于表征所述存储地址指示的存储位置已存储有所述音频文件;
建立所述哈希标识与所述使用标识之间的对应关系。
7.根据权利要求1、4或6中任一权利要求所述的方法,其特征在于,所述方法还包括:
在接收到对所述音频文件的删除请求后,获取所述删除请求中携带的所述文本长度值和所述哈希标识;
根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
在所述第一索引文件中查找与所述哈希标识匹配的使用标识;
将所述使用标识赋值为第二数值,所述第二数值用于表征所述存储地址指示的存储位置数据为空;
在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
根据所述存储地址,在与所述第一索引文件对应的数据文件中删除所述音频文件。
8.一种文件管理装置,其特征在于,所述装置包括:
获取模块,用于获取与待存储的音频文件匹配的文本数据的文本长度值,所述音频文件通过对所述文本数据进行语音转换得到;
确定模块,用于根据所述文本长度值,在创建的至少一个索引文件中确定第一索引文件,所述第一索引文件用于存储与所述文本长度值匹配的音频文件的索引数据;
写入模块,用于将所述文本数据的哈希标识写入所述第一索引文件;
所述写入模块,还用于将所述音频文件写入与所述第一索引文件对应的数据文件,将所述音频文件的存储地址写入所述第一索引文件。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,还用于确定所述数据文件中的至少一个空闲区块,所述数据文件被均分为大小相同的多个区块;
所述获取模块,还用于获取所述至少一个空闲区块的地址信息,根据所述至少一个空闲区块的地址信息生成第二索引文件;
所述写入模块,用于在所述第二索引文件中选取一个空闲区块,将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件;
所述写入模块,用于将所述音频文件写入所述数据文件中的所述空闲区块。
10.根据权利要求8所述的装置,其特征在于,所述写入模块,用于在所述数据文件中进行遍历查找,在所述数据文件的多个区块中确定空闲区块,所述数据文件被均分为大小相同的多个区块;将所述音频文件写入所述空闲区块;
所述写入模块,用于将所述空闲区块的地址信息作为所述存储地址写入所述第一索引文件。
11.根据权利要求8所述的装置,其特征在于,所述写入模块,还用于将所述音频文件的名称标识写入所述第一索引文件;
建立模块,用于建立所述哈希标识、所述存储地址和所述名称标识之间的对应关系。
12.根据权利要求8或11所述的装置,其特征在于,所述装置还包括:
所述获取模块,还用于在接收到对所述音频文件的读取请求后,获取所述读取请求中携带的所述文本长度值和所述哈希标识;
所述确定模块,还用于根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
查找模块,用于在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
读取模块,用于根据所述存储地址,在与所述第一索引文件对应的数据文件中读取所述音频文件。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
设置模块,用于在将所述音频文件写入与所述第一索引文件对应的数据文件后,在所述第一索引文件中设置使用标识;
赋值模块,用于将所述使用标识赋值为第一数值,所述第一数值用于表征所述存储地址指示的存储位置已存储有所述音频文件;
建立模块,用于建立所述哈希标识与所述使用标识之间的对应关系。
14.根据权利要求8、11或13中任一权利要求所述的装置,其特征在于,所述装置还包括:
所述获取模块,还用于在接收到对所述音频文件的删除请求后,获取所述删除请求中携带的所述文本长度值和所述哈希标识;
所述确定模块,用于根据所述文本长度值,在创建的至少一个索引文件中确定所述第一索引文件;
查找模块,用于在所述第一索引文件中查找与所述哈希标识匹配的使用标识;
赋值模块,用于将所述使用标识赋值为第二数值,所述第二数值用于表征所述存储地址指示的存储位置数据为空;
所述查找模块,还用于在所述第一索引文件中查找与所述哈希标识匹配的所述存储地址;
删除模块,用于根据所述存储地址,在与所述第一索引文件对应的数据文件中删除所述音频文件。
CN201610827166.XA 2016-09-18 2016-09-18 文件管理方法及装置 Active CN107844483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610827166.XA CN107844483B (zh) 2016-09-18 2016-09-18 文件管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610827166.XA CN107844483B (zh) 2016-09-18 2016-09-18 文件管理方法及装置

Publications (2)

Publication Number Publication Date
CN107844483A true CN107844483A (zh) 2018-03-27
CN107844483B CN107844483B (zh) 2020-07-28

Family

ID=61656809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610827166.XA Active CN107844483B (zh) 2016-09-18 2016-09-18 文件管理方法及装置

Country Status (1)

Country Link
CN (1) CN107844483B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597762A (zh) * 2018-05-25 2019-12-20 杭州海康威视系统技术有限公司 文件处理方法、装置、设备及存储介质
CN111611208A (zh) * 2020-05-27 2020-09-01 北京太极华保科技股份有限公司 文件存储与查询的方法及装置、存储介质
CN113793609A (zh) * 2021-09-07 2021-12-14 米茂(上海)数字技术有限公司 一种基于语音识别的文件上传方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996217A (zh) * 2009-08-24 2011-03-30 华为技术有限公司 一种存储数据的方法及其存储设备
CN102902687A (zh) * 2011-07-27 2013-01-30 华为软件技术有限公司 资源文件的访问方法及装置
US8725732B1 (en) * 2009-03-13 2014-05-13 Google Inc. Classifying text into hierarchical categories
CN103914437A (zh) * 2012-12-29 2014-07-09 上海可鲁系统软件有限公司 一种基于dom模型的xml文本定位方法
CN104794162A (zh) * 2015-03-25 2015-07-22 中国人民大学 实时数据存储与查询方法
CN105069048A (zh) * 2015-07-23 2015-11-18 东方网力科技股份有限公司 一种小文件存储方法、查询方法和装置
CN105138528A (zh) * 2014-06-09 2015-12-09 腾讯科技(深圳)有限公司 一种多值数据存储、读取的方法和装置及其存取的系统
CN105701096A (zh) * 2014-11-25 2016-06-22 腾讯科技(深圳)有限公司 索引生成方法、数据查询方法、装置及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725732B1 (en) * 2009-03-13 2014-05-13 Google Inc. Classifying text into hierarchical categories
CN101996217A (zh) * 2009-08-24 2011-03-30 华为技术有限公司 一种存储数据的方法及其存储设备
CN102902687A (zh) * 2011-07-27 2013-01-30 华为软件技术有限公司 资源文件的访问方法及装置
CN103914437A (zh) * 2012-12-29 2014-07-09 上海可鲁系统软件有限公司 一种基于dom模型的xml文本定位方法
CN105138528A (zh) * 2014-06-09 2015-12-09 腾讯科技(深圳)有限公司 一种多值数据存储、读取的方法和装置及其存取的系统
CN105701096A (zh) * 2014-11-25 2016-06-22 腾讯科技(深圳)有限公司 索引生成方法、数据查询方法、装置及系统
CN104794162A (zh) * 2015-03-25 2015-07-22 中国人民大学 实时数据存储与查询方法
CN105069048A (zh) * 2015-07-23 2015-11-18 东方网力科技股份有限公司 一种小文件存储方法、查询方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597762A (zh) * 2018-05-25 2019-12-20 杭州海康威视系统技术有限公司 文件处理方法、装置、设备及存储介质
CN111611208A (zh) * 2020-05-27 2020-09-01 北京太极华保科技股份有限公司 文件存储与查询的方法及装置、存储介质
CN113793609A (zh) * 2021-09-07 2021-12-14 米茂(上海)数字技术有限公司 一种基于语音识别的文件上传方法

Also Published As

Publication number Publication date
CN107844483B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
US10515052B2 (en) File system that supports both case sensitive and case insensitive directory lookup
US10346363B2 (en) Deduplicated file system
US10649852B1 (en) Index metadata for inode based backups
US11836112B2 (en) Path resolver for client access to distributed file systems
JP6050503B2 (ja) 階層キャッシュを用いたメールのインデックス化および検索
WO2022143540A1 (zh) 区块链索引的存储方法、装置、计算机设备及介质
US8977662B1 (en) Storing data objects from a flat namespace in a hierarchical directory structured file system
WO2013177925A1 (zh) 数据同步方法、系统及设备
WO2010099715A1 (zh) 数据操作方法、系统、客户端和数据服务器
US10949486B2 (en) Anchored match algorithm for matching with large sets of URL
US9535925B2 (en) File link migration
WO2014166446A1 (zh) 文件访问处理方法、系统及计算机存储介质
US10909086B2 (en) File lookup in a distributed file system
US9020994B1 (en) Client-based migrating of data from content-addressed storage to file-based storage
US10169348B2 (en) Using a file path to determine file locality for applications
CN110399348A (zh) 文件重删方法、装置、系统及计算机可读存储介质
CN107844483A (zh) 文件管理方法及装置
AU2021266178B2 (en) Custom metadata tag inheritance based on a filesystem directory tree or object storage bucket
WO2019057000A1 (zh) 日志写入方法、装置及系统
CN105138649A (zh) 数据的搜索方法、装置及终端
US20130325908A1 (en) Systems and methods for storing data and eliminating redundancy
CN113297210A (zh) 数据处理方法及装置
Prabavathy et al. Multi-index technique for metadata management in private cloud storage
Liu et al. Cloud-based personal data protection system and its performance evaluation
CN111538804A (zh) 一种基于HBase的图数据处理方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant