掌桥专利:专业的专利平台
掌桥专利
首页

一种文件搜索方法、系统、装置及计算机存储介质

文献发布时间:2023-06-19 10:29:05


一种文件搜索方法、系统、装置及计算机存储介质

技术领域

本申请涉及数据处理领域,尤其涉及一种文件搜索方法、系统、装置及计算机存储介质。

背景技术

现有的编程过程中,当需要用到某个文件时,系统会自动根据该文件的文件名进行搜索。而一般的搜索顺序为:先判断该文件是否保存在当前正在开发的应用程序的目录地址中,如果不在则进行全盘搜索。

但是在该搜索过程中,如果用户在电脑中保存的数据较多,会使得全盘搜索时花费大量的时间,并占用一部分系统资源。

发明内容

本申请提供了一种文件搜索方法、系统、装置及计算机存储介质,用于在进行文件搜索时实现对文件的层级搜索,减少文件搜索所花费的时间。

本申请第一方面提供了一种文件搜索方法,包括:

接收文件搜索指令,所述文件搜索指令用于请求搜索目标文件;

根据所述文件搜索指令确定所述目标文件的文件信息;

根据所述文件信息判断所述文件是否为NPL脚本文件;

若否,则根据所述文件信息按照预设优先级规则搜索所述目标文件;

当搜索到所述目标文件时,获取所述目标文件;

所述预设优先级规则为:

检查所述目标文件是否存在于目标目录中,所述目标目录为当前正在开发的应用程序所在的目录;

检查所述目标文件是否存在于NPL预设的固有搜索路径中;

在加载队列中检查所述目标文件是否存在于已加载的档案文件中;

检查所述目标文件是否存在于NPL预编译源文件的搜索路径中。

可选的,在所述根据所述文件信息按照预设优先级规则搜索所述目标文件之后,所述方法还包括:

若未搜索到所述目标文件,则生成提示信息,所述提示信息用于提示没有搜索到所述目标文件。

可选的,在所述根据所述文件信息判断所述文件是否为NPL脚本文件之后,所述方法还包括:

若是,则根据所述文件信息按照预设优先级规则搜索目标二进制文件,所述目标二进制文件为由所述NPL脚本文件预编译生成的二进制文件;

当搜索到所述目标二进制文件时,获取所述目标二进制文件。

可选的,在所述根据所述文件信息按照预设优先级规则搜索目标二进制文件之后,所述方法还包括:

若未搜索到所述目标二进制文件,则生成提示信息,所述提示信息用于提示没有搜索到所述目标文件。

可选的,在所述根据所述文件信息判断所述文件是否为NPL脚本文件之后,所述方法还包括:

若是,则根据所述文件信息在./NPLRuntime/bin/filename.o中搜索目标二进制文件,所述目标二进制文件为由所述NPL脚本文件预编译生成的二进制文件;

当搜索到所述目标二进制文件时,获取所述目标二进制文件。

可选的,在所述根据所述文件信息在./NPLRuntime/bin/filename.o中搜索目标二进制文件之后,所述方法还包括:

若未搜索到所述目标二进制文件,则生成提示信息,所述提示信息用于提示没有搜索到所述目标文件。

可选的,所述文件信息包括文件标识、文件名、文件类型以及文件大小中的至少一种。

本申请第二方面提供了一种文件搜索系统,包括:

接收单元,用于接收文件搜索指令,所述文件搜索指令用于请求搜索目标文件;

确定单元,用于根据所述文件搜索指令确定所述目标文件的文件信息;

判断单元,用于根据所述文件信息判断所述文件是否为NPL脚本文件;

第一搜索单元,用于当所述判断单元的判断结果为否时,根据所述文件信息按照预设优先级规则搜索所述目标文件;

第一获取单元,用于当搜索到所述目标文件时,获取所述目标文件;

所述预设优先级规则为:

检查所述目标文件是否存在于目标目录中,所述目标目录为当前正在开发的应用程序所在的目录;

检查所述目标文件是否存在于NPL预设的固有搜索路径中;

在加载队列中检查所述目标文件是否存在于已加载的档案文件中;

检查所述目标文件是否存在于NPL预编译源文件的搜索路径中。

可选的,所述系统还包括:

第一生成单元,用于当未搜索到所述目标文件,则生成提示信息,所述提示信息用于提示没有搜索到所述目标文件。

第二搜索单元,用于当所述判断单元的判断结果为是时,根据所述文件信息按照预设优先级规则搜索目标二进制文件,所述目标二进制文件为由所述NPL脚本文件预编译生成的二进制文件;

或,

第二搜索单元,用于当所述判断单元的判断结果为是时,根据所述文件信息在./NPLRuntime/bin/filename.o中搜索目标二进制文件,所述目标二进制文件为由所述NPL脚本文件预编译生成的二进制文件;

第二获取单元,用于当搜索到所述目标二进制文件时,获取所述目标二进制文件;

第二生成单元,用于当未搜索到所述目标二进制文件,则生成提示信息,所述提示信息用于提示没有搜索到所述目标文件。

本申请第三方面提供了一种文件搜索装置,所述装置包括:

处理器、存储器、输入输出单元以及总线;

所述处理器与所述存储器、所述输入输出单元以及所述总线相连;

所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的文件搜索方法。

本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的文件搜索方法。

从以上技术方案可以看出,本申请具有以下优点:

在NPL开发环境中,预先设定了一套搜索优先级规则,并在编程过程中进行文件搜索时按照该优先级规则对文件进行搜索:先在当前正在开发的应用程序所在的目录进行搜索,再在NPL预设的固有搜索路径中搜索,再到已加载的档案文件中搜索,最后到NPL预编译源文件的搜索路径中搜索。由此对文件实现层级搜索,减少了文件搜索所花费的时间。

附图说明

为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的文件搜索方法一个实施例流程示意图;

图2为本申请提供的文件搜索方法另一个实施例流程示意图;

图3为本申请提供的文件搜索系统一个实施例结构示意图;

图4为本申请提供的文件搜索系统另一个实施例结构示意图;

图5为本申请提供的文件搜索装置一个实施例结构示意图。

具体实施方式

本申请提供了一种文件搜索方法、系统、装置及计算机存储介质,用于在进行文件搜索时实现对文件的层级搜索,减少文件搜索所花费的时间。

需要说明的是,本申请提供的文件搜索方法,可以应用于终端也可以应用于系统,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本申请中以终端为执行主体进行举例说明。

请参阅图1,图1为本申请提供的文件搜索方法的一个实施例,该方法包括:

101、接收文件搜索指令,该文件搜索指令用于请求搜索目标文件;

在NPL开发环境下配置应用时,需要同时使用bin和packages文件夹去开发脚本及源文件。当用户在使用NPL进行编程时,所编写的代码如果需要用到某个文件A,则会向终端发送请求搜索该文件A,文件A即为本申请中的目标文件。终端接收该文件搜索指令,并根据该文件搜索指令执行后续步骤以实现对该文件A的搜索。

102、根据该文件搜索指令确定该目标文件的文件信息;

在终端中存在若干个文件集合,而每一个文件集合中至少包含一个文件,在文件集合中,各文件分别对应有文件信息,该文件信息可以包括文件的相关信息以及文件对应的操作文件的相关信息。在该文件搜索指令中,携带有该文件A的文件信息,终端可以根据该文件搜索指令去确定该文件A的文件信息。

103、根据该文件信息判断该文件是否为NPL脚本文件,若否则执行步骤104;

在进行文件搜索之前,先根据文件A的文件信息判断该文件A是否为NPL脚本文件,当确定该文件A不为NPL脚本文件时则执行步骤104。

104、根据该文件信息按照预设优先级规则搜索该目标文件;

当确定该文件A不为NPL脚本文件时,则根据该文件A的文件信息,按照预设优先级规则搜索该文件A。

具体的,该预设优先级规则为:

1.检查该目标文件是否存在于目标目录中,该目标目录为当前正在开发的应用程序所在的目录;

需要说明的是,目标目录指当前正在开发的应用程序的目录,例如./NPLRuntime/win/bin。

2.检查该目标文件是否存在于NPL预设的固有搜索路径中;

需要说明的是,NPL预设的固有搜索路径指的是NPL在搜索文件时指定的搜索位置,可以是文件夹的路径,例如:

./NPLRuntime/win/bin和./NPLRuntime/win/packages等。

NPL预设的固有搜索路径默认为当前正在开发的应用程序目录,其路径位置也可随用户自身的需求而更改。

3.在加载队列中检查该目标文件是否存在于已加载的档案文件中;

需要说明的是,档案文件指的是文件集合或压缩包,档案文件中包含若干个文件,该档案文件可能会根据需要而被加载,例如XXX.PKG或世界/插件的ZIP文件。

4.检查该目标文件是否存在于NPL预编译源文件的搜索路径中。

需要说明的是,NPL预编译源文件的搜索路径指的是./NPLRuntime/win/packages,该文件集合中包含了所有预编译的NPL库的源代码,存放着NPL的API编写的库,用户自己写的库也可以放在这个目录下。

105、当搜索到该目标文件时,获取该目标文件。

在步骤104的搜索过程中,当搜索到该文件A时,则获取该文件A。

在本实施例中,预先设定了一套搜索优先级规则,并在编程过程中进行文件搜索时按照该优先级规则对文件进行搜索:先在当前正在开发的应用程序所在的目录进行搜索,再在NPL预设的固有搜索路径中搜索,再到已加载的档案文件中搜索,最后到NPL预编译源文件的搜索路径中搜索。由此对文件实现层级搜索,减少了文件搜索所花费的时间。

下面对本申请提供的文件搜索方法进行详细描述,请参阅图2,图2为本申请提供的文件搜索方法的另一实施例,该方法包括:

201、接收文件搜索指令,该文件搜索指令用于请求搜索目标文件;

202、根据该文件搜索指令确定该目标文件的文件信息;

本实施例中的步骤201至202与前述实施例中步骤101至102类似,此处不再赘述。

可选的,文件信息包括文件标识、文件名、文件类型以及文件大小中的至少一种,实际应用中一般为该目标文件的文件名。

203、根据该文件信息判断该文件是否为NPL脚本文件,若否则执行步骤204,若是则执行步骤207;

在NPL代码中,可以使用例如NPL.load(“script/ide/commonlib.lua”)的命令去加载一个文件。为了可以运行,所有的NPL代码需要被编译。由于在NPL代码中,如果需要用到的文件为一个NPL脚本文件时,可以自动使用其预编译的二进制版本,因此在对文件A进行搜索前,还需要判断该文件A是否为NPL脚本文件,文件A若不为NPL脚本文件则执行步骤204,文件A若为NPL脚本文件,则执行步骤207。

204、根据该文件信息按照预设优先级规则搜索该目标文件;

该预设优先级规则为:

检查该目标文件是否存在于目标目录中,该目标目录为当前正在开发的应用程序所在的目录;

检查该目标文件是否存在于NPL预设的固有搜索路径中;

在加载队列中检查该目标文件是否存在于已加载的档案文件中;

检查该目标文件是否存在于NPL预编译源文件的搜索路径中。

205、当搜索到该目标文件时,获取该目标文件。

本实施例中的步骤204至205与前述实施例中步骤104至105类似,此处不再赘述。

206、若未搜索到该目标文件,则生成提示信息,该提示信息用于提示没有搜索到该目标文件;

在步骤205的搜索过程中,均未搜索到文件A,则生成提示信息,报告该文件A没有被找到。

207、根据该文件信息按照预设优先级规则搜索目标二进制文件,该目标二进制文件为由该NPL脚本文件预编译生成的二进制文件;

若确定该文件A为NPL脚本文件,终端则按照上述预设优先级规则搜索其预编译的二进制版本(*.o),使得终端可以直接使用该文件A经过预编译生成的二进制版本文件,提升代码的执行速度。

在另一种可实现方案中,终端还可以在./NPLRuntime/bin/filename.o中搜索目标二进制文件。

208、当搜索到该目标二进制文件时,获取该目标二进制文件;

在步骤207的搜索过程中,当搜索到由文件A预编译生成的二进制版本文件时,则获取该二进制版本文件。

209、若未搜索到该目标二进制文件,则生成提示信息,该提示信息用于提示没有搜索到该目标文件。

在步骤207的搜索过程中,若未搜索到由文件A预编译生成的二进制版本文件时,则生成提示信息,报告该文件A没有被找到。

在本实施例中,在对文件进行搜索前,先判断该文件是否为NPL脚本文件,若确定该文件为NPL脚本文件则按照预设优先级规则搜索由该文件预编译生成的二进制文件,使得终端在搜索到后可以直接使用由该文件预编译生成的二进制文件,减小搜索范围的同时提升了代码运行的速度。

请参阅图3,图3为本申请提供的文件搜索系统一个实施例,该系统包括:

接收单元301,用于接收文件搜索指令,该文件搜索指令用于请求搜索目标文件;

确定单元302,用于根据该文件搜索指令确定该目标文件的文件信息;

判断单元303,用于根据该文件信息判断该文件是否为NPL脚本文件;

第一搜索单元304,用于当该判断单元的判断结果为否时,根据该文件信息按照预设优先级规则搜索该目标文件;

第一获取单元305,用于当搜索到该目标文件时,获取该目标文件;

该预设优先级规则为:

检查该目标文件是否存在于目标目录中,该目标目录为当前正在开发的应用程序所在的目录;

检查该目标文件是否存在于NPL预设的固有搜索路径中;

在加载队列中检查该目标文件是否存在于已加载的档案文件中;

检查该目标文件是否存在于NPL预编译源文件的搜索路径中。

在本实施例中,预先设定了一套搜索优先级规则,并在编程过程中进行文件搜索时按照该优先级规则对文件进行搜索:第一搜索单元304先在当前正在开发的应用程序所在的目录进行搜索,再在NPL预设的固有搜索路径中搜索,再到已加载的档案文件中搜索,最后到NPL预编译源文件的搜索路径中搜索。由此对文件实现层级搜索,减少了文件搜索所花费的时间。

下面对本申请提供的文件搜索系统进行详细说明,请参阅图4,图4为本申请提供的文件搜索系统另一个实施例,该系统包括:

接收单元401,用于接收文件搜索指令,该文件搜索指令用于请求搜索目标文件;

确定单元402,用于根据该文件搜索指令确定该目标文件的文件信息;

判断单元403,用于根据该文件信息判断该文件是否为NPL脚本文件;

第一搜索单元404,用于当该判断单元的判断结果为否时,根据该文件信息按照预设优先级规则搜索该目标文件;

第一获取单元405,用于当搜索到该目标文件时,获取该目标文件;

该预设优先级规则为:

检查该目标文件是否存在于目标目录中,该目标目录为当前正在开发的应用程序所在的目录;

检查该目标文件是否存在于NPL预设的固有搜索路径中;

在加载队列中检查该目标文件是否存在于已加载的档案文件中;

检查该目标文件是否存在于NPL预编译源文件的搜索路径中。

在本实施例中,该系统还包括:

第一生成单元406,用于当未搜索到该目标文件,则生成提示信息,该提示信息用于提示没有搜索到该目标文件。

第二搜索单元407,用于当该判断单元的判断结果为是时,根据该文件信息按照预设优先级规则搜索目标二进制文件,该目标二进制文件为由该NPL脚本文件预编译生成的二进制文件;

或,

第二搜索单元407,用于当该判断单元的判断结果为是时,根据该文件信息在./NPLRuntime/bin/filename.o中搜索目标二进制文件,该目标二进制文件为由该NPL脚本文件预编译生成的二进制文件;

第二获取单元408,用于当搜索到该目标二进制文件时,获取该目标二进制文件;

第二生成单元409,用于当未搜索到该目标二进制文件,则生成提示信息,该提示信息用于提示没有搜索到该目标文件。

本实施例系统中,各单元的功能与前述图2所示方法实施例中的步骤对应,此处不再赘述。

本申请还提供了一种文件搜索装置,请参阅图5,图5为本申请提供的文件搜索装置一个实施例,该装置包括:

处理器501、存储器502、输入输出单元503、总线504;

处理器501与存储器502、输入输出单元503以及总线504相连;

存储器502保存有程序,处理器501调用程序以执行如上任一文件搜索方法。

本申请还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一文件搜索方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种文件搜索方法、系统、装置及计算机存储介质
  • 一种搜索方法及装置、计算机装置和计算机可读存储介质
技术分类

06120112568551