CN111782595A - 海量文件管理方法、装置、计算机设备和可读存储介质 - Google Patents
海量文件管理方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN111782595A CN111782595A CN202010477060.8A CN202010477060A CN111782595A CN 111782595 A CN111782595 A CN 111782595A CN 202010477060 A CN202010477060 A CN 202010477060A CN 111782595 A CN111782595 A CN 111782595A
- Authority
- CN
- China
- Prior art keywords
- file
- uploaded
- fileid
- search
- type
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5862—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using texture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种海量文件的管理方法、装置、计算机设备和可读存储介质,其中方法包括:判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;将所述特征信息与所述FileID发送至ElasticSearch进行保存;当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。本申请的海量文件的管理方法将文件的特征信息和文件存储信息另外进行储存,在搜索文件时,根据用户的搜索条件获取文件的存储信息,从而实现对海量文件尤其是半结构化和非结构化格式文件的快速搜索。
Description
技术领域
本申请涉及数据处理的技术领域,具体涉及到一种海量文件管理方法、装置、计算机设备和可读存储介质。
背景技术
互联网技术发展迅猛,产生的信息呈爆炸式增长,传统的文件系统难以满足海量文件对于动态扩展、高效访问的需求。尤其是对于半结构化数据或非结构化数据而言,此类数据的占用空间通常比结构化数据大,对存储系统的要求更高,此外,在一些应用场景中需要从灵活多变的多个维度快速对半结构化数据或非结构化数据进行搜索,这对搜索引擎也提出了要求。
发明内容
本申请的主要目的为了提供一种海量文件的管理方法、装置、计算机设备和可读存储介质,旨在解决如何实现海量半结构化或非结构化数据快速搜索的问题。
为了实现上述发明目的,本申请提出一种海量文件的管理方法,包括:
判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
将所述特征信息与所述FileID发送至ElasticSearch进行保存;
当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
进一步地,所述判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息的步骤包括:
判断待上传的文件的类型;
当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
进一步地,所述判断待上传的文件的类型的步骤之后还包括:
当所述类型为图片文件时,提取所述待上传的文件名称,文件格式,颜色属性值和图像纹理。
进一步地,所述搜索条件为基于上传图片进行相似图片搜索,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤包括:
提取所述上传图片的颜色属性值和图像纹理;
计算所述上传图片与已存储图片的图像纹理的汉明距离,获得所述汉明距离符合预设阈值的目标文件FileID;
将所述目标文件FileID根据所述汉明距离进行排序,对于所述汉明距离相同的目标文件FileID,根据所述颜色属性值进行再次排序。
进一步地,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤之后还包括:
记录用户输入的搜索条件,将搜索次数大于预设次数的搜索条件对应的特征信息记录为关联特征信息。
进一步地,所述将待上传的文件发送至FastDFS进行存储的步骤还包括:
查询待上传的文件中是否存在文件大小小于预设阈值并且所述特征信息中包含所述关联特征信息的关联文件;
若存在,将所述关联文件发送至FastDFS进行合并存储。
本申请实施例还提供一种海量文件的管理装置,包括:
判断提取单元,用于判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
第一发送单元,用于将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
第二发送单元,用于将所述特征信息与所述FileID发送至ElasticSearch进行保存;
搜索单元,用于根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
查询单元,用于根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
进一步地,所述判断提取单元包括:
第一执行模块,用于当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
第二执行模块,用于当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的海量文件的管理方法、装置、计算机设备和可读存储介质,本申请的海量文件的管理方法将文件的特征信息和文件存储信息另外进行储存,在搜索文件时,根据用户的搜索条件获取文件的存储信息,从而实现对海量文件尤其是半结构化和非结构化格式文件的快速搜索。
附图说明
图1为本申请一实施例的海量文件的管理方法的流程示意图;
图2为本申请一实施例的海量文件的管理方法装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种海量文件的管理方法,包括步骤:
S1、判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
S2、将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
S3、将所述特征信息与所述FileID发送至ElasticSearch进行保存。
S4、当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
S5、根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
FastDFS与ElasticSearch都属于分布式文件系统,是通过多台计算机协同合作完成文件存储或者大数据计算等目标的文件系统。本方案中,将文件中的特征信息提取出来,FastDFS用于存储文件,可以包括结构化数据和非结构化数据,ElasticSearch用于存储文件的特征信息和FileID,即ElasticSearch中存储的均为结构化数据。FastDFS适于存储文档、图片、音频、视频等非结构化数据,尤其适合存储海量中小文件。ElasticSearch可以在短时间内存储、搜索和分析大量的数据,适用于复杂搜索场景。
如上述步骤S1所述,属性模块读取待上传的文件后判断文件类型,根据文件类型采用预设的方法提取文件的特征信息,例如,当文件类型为文本文件时,特征信息可以包括文本内容等;当文件类型为图片文件时,特征信息可以包括颜色属性值和图像纹理等;当文件类型为音频文件时,特征信息可以包括过零率、短时能量、共振峰、语谱图等;当文件类型为视频文件时,特征信息可以包括关键帧等;
如上述步骤S2所述,FastDFS含有TrackerServer和StorageServer两种角色,分别负责调度任务和文件数据的存储。FastDFS收到存储请求后,TrackerServer为文件分配可用StorageServer的IP及端口,待文件上传后,StorageServer返回用于唯一性标识的FileID,FileID包含的信息包括源StorageServer的IP,文件创建时间戳,文件大小,文件CRC32校验码和随机数。
如上述步骤S3所述,使用ElasticSearch保存数据前,预先创建索引库,设置分词器,进行mapping配置,创建索引时返回的结果说明等。将提取的特征信息与返回的FileID发送至已创建索引的ElasticSearch中,进行分词,存储到映射中,建立索引,使特征信息与相应的FileID对应关联保存。
如上述步骤S4所述,根据用户输入的搜索条件,在ElasticSearch中搜索创建的索引,返回符合搜索条件的目标文件FileID。搜索可以分为精确搜索和模糊搜索。对于精确搜索,ElasticSearch不会对搜索词进行分词,也不进行评分或相关度的计算,根据搜索条件使用过滤器(filters)在倒排索引中查找匹配的数据,获取包含检索字段的文件的FileID,可以使用ElasticSearch-SQL进行搜索。精确搜索的字段例如可以包括日期、数字、作者等,常见的搜索条件例如可以为时间戳在过去一小时内的文件、指定作者的文件等。对于模糊搜索,ElasticSearch对搜索条件中的语句(query)进行词法分析,分词,查询倒排索引,根据匹配程度进行相关性评分,根据评分查询符合搜索条件的目标文件FileID,根据相关性进行排序后返回。模糊检索中常见的搜索条件例如可以为查询包含指定词句的文件。在单次检索条件中,可以同时包括精确搜索和模糊搜索。
如上述步骤S5所述,根据所述目标文件FileID在FastDFS中进行查询,StorageServer根据目标文件FileID定位目标文件。在一些实施方式中,根据目标文件FileID在FastDFS中以分页的方式获取相应的目标文件,分批发送至客户端。
在一个实施方式中,所述判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息的步骤S1,包括:
S11、判断待上传的文件的类型;
S12、当所述类型为文本文件时,提取所述待上传的文件名称,文件格式,文本内容。
如上述步骤S11所述,可以根据文件的后缀名判断文件类型,或根据文件开头的一些字节的特征判断文件类型。如上述步骤S12所述,对于文本内容中的长文本,例如电子邮件的主体部分或文档的正文部分,在ElasticSearch中通过分词器将文本内容拆分为单独的词条(Term),将得到的词条建立倒排索引。对于文本内容中的关键词,例如电子邮箱地址、姓名、文档标签等数据,不需要进行分词,提取后直接建立索引。基于文件的FileID及上述提取的特征信息,可支持的搜索条件可以包括:文件上传时间(文件创建时间戳),文件大小,文件名称,文件格式,关键词等。用户可以通过单独的搜索条件进行查询,也可以通过多个条件进行联合查询。例如,当搜索条件是准确的文件名称,可以查询得到唯一的目标文件;当搜索条件是某种文件格式,可以查询得到这一特定格式的所有文件集合;当搜索条件包括指定上传时间及指定词句的文件,可以查询得到按相关性排序的在指定时间上传的并且包含指定词句的文件集合。
在一个实施方式中,所述判断待上传的文件的类型的步骤S11之后,还包括:
S13、当所述类型为图片文件时,提取所述待上传的文件名称,文件格式,颜色属性值和图像纹理。
如上所述,对于图片文件而言,颜色是一种全局特征,是基于像素点的特征。颜色特征具有平移、旋转不变性,对各种变形不敏感。颜色属性值的具体表现依赖于所用的颜色模型,通用的颜色模型包括RGB模型和HSV模型。在一个具体的实施方式中,使用python的PIL模块实现RGB模型,首先抽取预设数量的像素点,获得图片的缩率图,然后提取出R、G、B三基色的值r、g、b,再通过此结果,将RGB颜色模型转化为HSV颜色模型。颜色属性值的提取使本系统可以通过图像的内容特征对图片进行搜索。图像纹理能够描绘出物体表面所具有的内在规律与结构,其基本原理是利用像素点的灰度值来找出图像中像素分布的规律,是一种统计特征,具有旋转不变形,对噪声有较强的抵抗能力。图像纹理的提取方法可以采用平均哈希算法(aHash)、感知哈希算法(pHash)或差异哈希算法(dHash),将提取的特征转化为一定数目的二进制编码序列,即哈希编码。图像纹理的提取可以实现相似图片的搜索。由此,基于文件的FileID及上述提取的特征信息,可支持的搜索条件可以包括:文件上传时间(文件创建时间戳),文件大小,文件名称,文件格式,图片颜色,相似图片搜索等。
在一个实施方式中,上述步骤S4中所述的搜索条件为,基于上传图片进行相似图片搜索,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤包括:
S41、提取所述上传图片的颜色属性值和图像纹理;
S42、计算所述上传图片与已存储图片的图像纹理的汉明距离,获得所述汉明距离符合预设阈值的目标文件FileID;
S43、将所述目标文件FileID根据所述汉明距离进行排序,对于所述汉明距离相同的目标文件FileID,根据所述颜色属性值进行再次排序。
如上述步骤S41所述,在接收到用户上传的图片后,计算图片的颜色属性值和图像纹理,在一个具体的实施方式中,颜色属性值包括图片的RGB值和HSV值。如上述步骤S42所述,计算上传图片与已存储图片的图像纹理的汉明距离(Hamming Distance),汉明距离是两个等长字符串对应位置的不同字数的个数,对于二进制字符串来说,即将一组二进制字符串变成另外一组二进制字符串所需要替换的字符个数。例如:1011101与1001001之间的汉明距离是2;2143896与2233796之间的汉明距离是3。汉明距离越小说明图片的相似度越高。根据计算结果获得所述汉明距离符合预设阈值的目标文件FileID,在一个具体的实施方式中,预设阈值为汉明距离小于5,即获得汉明距离小于5的目标文件FileID。如上述步骤S43所述,将目标文件FileID根据所述汉明距离进行相似度排序,汉明距离较小的置于前面,以实现优先在FastDFS中查询相似度较高的目标文件并返回给用户。在相似度排序中,对于汉明距离相同的目标文件FileID,根据上传图片的颜色属性值进行再次排序,具体地,可以通过计算Minkowsky距离或二次式距离进行图片的相似性评估,由此完成目标文件FileID的再次排序。
在一个实施方式中,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤之后还包括:
S6、记录用户输入的搜索条件,将搜索次数大于预设次数的搜索条件对应的特征信息记录为关联特征信息。
在一个具体的实施例中,所述将待上传的文件发送至FastDFS进行存储的步骤S2进一步包括:
S21、查询待上传的文件中是否存在文件大小小于预设阈值并且所述特征信息中包含所述关联特征信息的关联文件;
S22、若存在,将所述关联文件发送至FastDFS进行合并存储。
在FastDFS中,当存储的小文件数量非常庞大时,大量的小文件会占用存储系统的inode资源,而inode数量有限,导致可能出现存储服务器尚有存储空间的情况下因inode耗尽而无法提供存储服务,不能充分利用存储空间,此外,系统定位小文件的效率也会急剧降低。FastDFS可以将多个小文件合并存储到一个较大的Trunk文件中,根据返回的大文件的FileID和小文件的偏移量访问小文件。通常默认创建的大文件为64MB,小文件最小值为256字节,最大为16MB,本方案中预设阈值可以在256字节至16MB之间。本方案根据记录的搜索条件,将常用的搜索条件(搜索次数大于预设次数)对应的特征信息记录为关联特征信息,将待上传文件中具有关联特征信息的多个文件定义为关联文件,将关联文件进行合并存储。也就是说,将经常被批量搜索的文件合并存储,以充分利用存储空间,提高读取文件的效率。在一个具体的实施方式中,通过分析记录的历史搜索条件,发现搜索次数大于预设次数的搜索条件为:文件名称包含“coffee”并且文件格式为html。此搜索条件对应的特征信息为文件名称包含“coffee”和文件格式为html的两个特征信息,据此将文件名称包含“coffee”和文件格式为html的两个特征信息记录为一组关联特征信息。需要说明的是,根据搜索条件的不同,一组关联特征信息可以包括一个特征信息或多个特征信息。系统可以记录多组关联特征信息。对于多组关联特征信息,可以根据搜索次数对其关联性进行排序,较多的搜索次数对应较高的关联性,排序可以定期根据历史搜索次数进行更新。将具有一组关联特征信息的多个文件定义为关联文件。在之后的每次存储处理中,在提取了待上传文件的特征信息后,筛选出文件大小小于预设阈值的多个待上传文件,再进一步筛选出特征信息中包含所述关联特征信息的多个待上传文件,即关联文件,将此关联文件合并存储至FastDFS。当系统记录了多组关联特征信息时,可以根据关联性的排序依次进行关联文件的筛选及合并存储。
参照图2,本申请实施例中还提供一种海量文件的管理装置,包括:
判断提取单元10,用于判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
第一发送单元20,用于将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
第二发送单元30,用于将所述特征信息与所述FileID发送至ElasticSearch进行保存;
搜索单元40,用于当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
查询单元50,用于根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
在一个具体的实施例中,所述判断提取单元10包括:
第一执行模块,用于当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
第二执行模块,用于当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
所述装置的组成部分可以实现如上所述海量文件的管理方法任一项的功能,具体结构不再赘述。
参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图片、文档、音视频等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种海量文件的管理方法。
上述处理器执行上述的海量文件的管理方法,包括:将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;将所述特征信息与所述FileID发送至ElasticSearch进行保存;当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
在一个实施例中,所述判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息的步骤包括:判断待上传的文件的类型;当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
在一个具体的实施例中,所述判断待上传的文件的类型的步骤之后,还包括:当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
在一个实施例中,所述搜索条件为基于上传图片进行相似图片搜索,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤包括:提取所述上传图片的颜色属性值和图像纹理;计算所述上传图片与已存储图片的图像纹理的汉明距离,获得所述汉明距离符合预设阈值的目标文件FileID;将所述目标文件FileID根据所述汉明距离进行排序,对于所述汉明距离相同的目标文件FileID,根据所述颜色属性值进行再次排序。
在一个实施例中,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤之后还包括:记录用户输入的搜索条件,将搜索次数大于预设次数的搜索条件对应的特征信息记录为关联特征信息。
在一个实施例中,所述将待上传的文件发送至FastDFS进行存储的步骤还包括:查询待上传的文件中是否存在文件大小小于预设阈值并且所述特征信息中包含所述关联特征信息的关联文件;若存在,将所述关联文件发送至FastDFS进行合并存储。
本发明一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现海量文件的管理方法,包括:将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;将所述特征信息与所述FileID发送至ElasticSearch进行保存;当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
在一个实施例中,所述判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息的步骤包括:判断待上传的文件的类型;当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
在一个具体的实施例中,所述判断待上传的文件的类型的步骤之后,还包括:当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
在一个实施例中,所述搜索条件为基于上传图片进行相似图片搜索,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤包括:提取所述上传图片的颜色属性值和图像纹理;计算所述上传图片与已存储图片的图像纹理的汉明距离,获得所述汉明距离符合预设阈值的目标文件FileID;将所述目标文件FileID根据所述汉明距离进行排序,对于所述汉明距离相同的目标文件FileID,根据所述颜色属性值进行再次排序。
在一个实施例中,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤之后还包括:记录用户输入的搜索条件,将搜索次数大于预设次数的搜索条件对应的特征信息记录为关联特征信息。
在一个实施例中,所述将待上传的文件发送至FastDFS进行存储的步骤还包括:查询待上传的文件中是否存在文件大小小于预设阈值并且所述特征信息中包含所述关联特征信息的关联文件;若存在,将所述关联文件发送至FastDFS进行合并存储。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种海量文件的管理方法,其特征在于,包括:
判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
将所述特征信息与所述FileID发送至ElasticSearch进行保存;
当接收到用户的搜索指令时,根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
2.如权利要求1所述的海量文件的管理方法,其特征在于,所述判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息的步骤包括:
判断待上传的文件的类型;
当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
3.如权利要求2所述的海量文件的管理方法,其特征在于,所述判断待上传的文件的类型的步骤之后,还包括:
当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
4.如权利要求1所述的海量文件的管理方法,其特征在于,所述搜索条件为基于上传图片进行相似图片搜索,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤包括:
提取所述上传图片的颜色属性值和图像纹理;
计算所述上传图片与已存储图片的图像纹理的汉明距离,获得所述汉明距离符合预设阈值的目标文件FileID;
将所述目标文件FileID根据所述汉明距离进行排序,对于所述汉明距离相同的目标文件FileID,根据所述颜色属性值进行再次排序。
5.如权利要求1所述的海量文件的管理方法,其特征在于,所述根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID的步骤之后还包括:
记录用户输入的搜索条件,将搜索次数大于预设次数的搜索条件对应的特征信息记录为关联特征信息。
6.如权利要求1所述的海量文件的管理方法,其特征在于,所述将待上传的文件发送至FastDFS进行存储的步骤还包括:
查询待上传的文件中是否存在文件大小小于预设阈值并且所述特征信息中包含所述关联特征信息的关联文件;
若存在,将所述关联文件发送至FastDFS进行合并存储。
7.一种海量文件的管理装置,其特征在于,包括:
判断提取单元,用于判断待上传的文件的类型,根据所述类型提取所述待上传的文件的特征信息;
第一发送单元,用于将待上传的文件发送至FastDFS进行存储,获得FastDFS返回的FileID;
第二发送单元,用于将所述特征信息与所述FileID发送至ElasticSearch进行保存;
搜索单元,用于根据用户输入的搜索条件在ElasticSearch中进行搜索,获得符合所述搜索条件的目标文件FileID;
查询单元,用于根据所述目标文件FileID在FastDFS中进行查询,获得相应的目标文件。
8.如权利要求7所述的海量文件的管理装置,其特征在于,所述判断提取单元包括:
第一执行模块,用于当所述类型为文本文件时,提取所述待上传的文件名称、文件格式和文本内容。
第二执行模块,用于当所述类型为图片文件时,提取所述待上传的文件名称、文件格式、颜色属性值和图像纹理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477060.8A CN111782595A (zh) | 2020-05-29 | 2020-05-29 | 海量文件管理方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010477060.8A CN111782595A (zh) | 2020-05-29 | 2020-05-29 | 海量文件管理方法、装置、计算机设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782595A true CN111782595A (zh) | 2020-10-16 |
Family
ID=72754404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010477060.8A Pending CN111782595A (zh) | 2020-05-29 | 2020-05-29 | 海量文件管理方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782595A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528121A (zh) * | 2020-12-31 | 2021-03-19 | 河钢数字技术股份有限公司 | 一种基于分布式存储的爬虫爬取数据统计方法及系统 |
CN113626385A (zh) * | 2021-07-07 | 2021-11-09 | 厦门市美亚柏科信息股份有限公司 | 一种基于文本数据读取的方法和系统 |
CN114845128A (zh) * | 2022-04-22 | 2022-08-02 | 咪咕文化科技有限公司 | 弹幕互动方法、装置、设备及存储介质 |
CN116089368A (zh) * | 2022-08-01 | 2023-05-09 | 荣耀终端有限公司 | 文件搜索方法和相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888839A (zh) * | 2019-11-29 | 2020-03-17 | 厦门安胜网络科技有限公司 | 数据存储及数据搜索方法和装置 |
CN111159133A (zh) * | 2019-12-16 | 2020-05-15 | 北京航天智造科技发展有限公司 | 一种基于微服务的分布式论坛系统 |
-
2020
- 2020-05-29 CN CN202010477060.8A patent/CN111782595A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888839A (zh) * | 2019-11-29 | 2020-03-17 | 厦门安胜网络科技有限公司 | 数据存储及数据搜索方法和装置 |
CN111159133A (zh) * | 2019-12-16 | 2020-05-15 | 北京航天智造科技发展有限公司 | 一种基于微服务的分布式论坛系统 |
Non-Patent Citations (1)
Title |
---|
张祥俊等: "基于FastDFS 的数字媒体系统设计与实现技术研究", 计算机技术与发展, vol. 29, no. 5, 31 May 2019 (2019-05-31), pages 6 - 11 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112528121A (zh) * | 2020-12-31 | 2021-03-19 | 河钢数字技术股份有限公司 | 一种基于分布式存储的爬虫爬取数据统计方法及系统 |
CN113626385A (zh) * | 2021-07-07 | 2021-11-09 | 厦门市美亚柏科信息股份有限公司 | 一种基于文本数据读取的方法和系统 |
CN113626385B (zh) * | 2021-07-07 | 2022-07-15 | 厦门市美亚柏科信息股份有限公司 | 一种基于文本数据读取的方法和系统 |
CN114845128A (zh) * | 2022-04-22 | 2022-08-02 | 咪咕文化科技有限公司 | 弹幕互动方法、装置、设备及存储介质 |
CN116089368A (zh) * | 2022-08-01 | 2023-05-09 | 荣耀终端有限公司 | 文件搜索方法和相关装置 |
CN116089368B (zh) * | 2022-08-01 | 2023-12-19 | 荣耀终端有限公司 | 文件搜索方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109885692B (zh) | 知识数据存储方法、装置、计算机设备和存储介质 | |
CN111782595A (zh) | 海量文件管理方法、装置、计算机设备和可读存储介质 | |
US8498455B2 (en) | Scalable face image retrieval | |
CN110377558B (zh) | 文档查询方法、装置、计算机设备和存储介质 | |
CN109145110B (zh) | 标签查询方法和装置 | |
CN107038173B (zh) | 应用查询方法和装置、相似应用检测方法和装置 | |
US11709880B2 (en) | Method of image searching based on artificial intelligence and apparatus for performing the same | |
JP2013541793A (ja) | マルチモード検索クエリー入力手法 | |
CN111209411B (zh) | 一种文档分析的方法及装置 | |
CN112685475A (zh) | 报表查询方法、装置、计算机设备及存储介质 | |
RU2339078C2 (ru) | Назначение веб-страницам идентификаторов географических местоположений | |
CN110674087A (zh) | 文件查询方法、装置及计算机可读存储介质 | |
CN110532449B (zh) | 一种业务文档的处理方法、装置、设备和存储介质 | |
CN110555165B (zh) | 信息识别方法、装置、计算机设备和存储介质 | |
CN112214571B (zh) | 基于kv存储的索引生成方法、装置、设备及介质 | |
CN113641796A (zh) | 数据搜索方法、系统及存储介质 | |
CN116244421A (zh) | 项目名称匹配的方法、装置、设备及可读存储介质 | |
CN114282119B (zh) | 一种基于异构信息网络的科技信息资源检索方法及系统 | |
CN114756671A (zh) | 文章推荐方法、装置、计算机设备及存储介质 | |
CN115186240A (zh) | 基于关联性信息的社交网络用户对齐方法、装置、介质 | |
CN114169331A (zh) | 地址解析方法、装置、计算机设备和存储介质 | |
CN113946365A (zh) | 页面识别方法、装置、计算机设备和存储介质 | |
CN111506756A (zh) | 相似图片的查找方法及系统、电子设备、存储介质 | |
CN113742576B (zh) | 基于跨平台的内容推荐方法、装置、设备及存储介质 | |
CN113434760B (zh) | 工法推荐方法、装置、设备及存储介质 |
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 |