[发明专利]文件查找方法及系统无效
| 申请号: | 201110312619.2 | 申请日: | 2011-10-14 |
| 公开(公告)号: | CN102360385A | 公开(公告)日: | 2012-02-22 |
| 发明(设计)人: | 王锐 | 申请(专利权)人: | 盛乐信息技术(上海)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 上海思微知识产权代理事务所(普通合伙) 31237 | 代理人: | 菅秀君 |
| 地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 文件 查找 方法 系统 | ||
技术领域
本发明涉及一种文件查找方法及系统。
背景技术
目前流行的计算机文件查找技术多数是利用以下两种方式来实现:
(1)建立某种索引,然后根据用户输入的内容进行计算Hash值,该方法的优点是速度极其快,但是缺点也很明显,查找文件时必须输入完整的文件名来进行精确匹配,所以,在大多数的领域,这种方法并不实用。
(2)根据输入的要查找的内容,遍历所有的文件名,一项一项进行匹配,该方法的优点就是可以根据用户输入的内容进行灵活的模糊或精确匹配,这种方式虽然支持模糊匹配,但其速度比较慢,速度上不如上述第(1)种方法。
因此,亟需一种文件查找方法及系统,不仅支持模糊匹配而且能够快速查找到文件。
发明内容
本发明的目的在于提供一种文件查找方法及系统,该方法及系统在查找文件时能够模糊并且快速地匹配文件名。
为解决上述问题,本发明提供一种文件查找方法,包括:解析输入的查询条件以选择相应的比较指令;
根据所述比较指令、查询条件预编译生成查询指令;以及
根据所述查询指令和待比较的文件名返回比较结果。
可选的,在上述方法中,所述比较指令包括比较右侧、比较左侧、比较两边及比较中间指令中的任一种。
可选的,在上述方法中,所述查询条件包括完整文件名、部分文件名及包含通配符的文件名中的任一种。
可选的,在上述方法中,所述通配符包括“*“及“?”中的任一种。
可选的,在上述方法中,所述查询指令为三目操作指令。
根据本发明的另一面,提供一种文件查找系统,包括预编译器及虚拟机,其中,所述预编译器用于解析输入的查询条件以选择相应的比较指令,并根据所述比较指令、查询条件预编译生成查询指令,并将所述查询指令和待比较的文件名送入所述虚拟机中;所述虚拟机用于根据所述查询指令和需要比较的文件名返回比较结果。
可选的,在上述系统中,所述预编译器生成的比较指令包括比较右侧、比较左侧、比较两边及比较中间指令中的任一种。
可选的,在上述系统中,所述查询条件包括完整文件名、部分文件名及包含通配符的文件名中的任一种。
可选的,在上述系统中,所述通配符包括“*“及“?”中的任一种。
可选的,在上述系统中,所述预编译器生成的查询指令为三目操作指令。
与现有技术相比,本发明通过解析输入的查询条件以选择相应的比较指令,根据所述比较指令、查询条件预编译生成查询指令,以及根据所述查询指令和待比较的文件名返回比较结果,所述比较指令经过预编译一次性处理完毕,不仅实现了模糊匹配文件名,而且节约了搜索文件名的时间,提高了文件匹配速度,通常百万级文件数量可以在几十毫秒内定位到。
附图说明
图1是本发明一实施例的文件查找方法的流程图;
图2是本发明一实施例的查询条件为“*.bat”的文件查找方法的示意图;
图3是本发明一实施例的文件查找系统的功能模块示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的文件查找方法及系统进一步详细说明。
如图1所示,本发明提供一种文件查找方法,包括:
步骤S1,将解析输入的查询条件以选择相应的比较指令,具体的,当用户输入一个查询条件,例如“*abc”,预编译器会首先把这个查询条件进行解析以选择相应的比较指令,可以利用预编译器将输入的查询条件进行预编译,预编译器会对查询条件进行解析产生出最匹配的比较指令;
步骤S2,根据所述比较指令、查询条件预编译生成查询指令,具体的,预编译器根据所述比较指令、查询条件生成一个“比较指令+数据”形式的查询指令,所述查询指令可为三目操作指令,即所述数据包括查询条件、待比较的文件名及比较结果,这样整个预编译过程在预编译器中一次性处理完毕,整体上节约了搜索文件名的时间,从而实现快速的文件查找;
步骤S3,根据所述查询指令和待比较的文件名返回比较结果,具体的,可以构建一个虚拟机,它支持所述编译器生成的查询指令,所述虚拟机执行这条查询指令,将文件名集合中的每一个文件作为待比较的文件名,不停的将文件名集合中的每一项文件名和查指令一块送入虚拟机,进行逐个比较以判断匹配,根据产生的匹配结果决定该文件是否匹配,例如查询条件为“*abc”,待比较的文件名“babc.txt”,由于虚拟机支持若干最优化的搜索指令,在执行的时候保证了搜索速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛乐信息技术(上海)有限公司,未经盛乐信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110312619.2/2.html,转载请声明来源钻瓜专利网。





