CN108573009B - 一种文件搜索方法及装置 - Google Patents
一种文件搜索方法及装置 Download PDFInfo
- Publication number
- CN108573009B CN108573009B CN201710531455.XA CN201710531455A CN108573009B CN 108573009 B CN108573009 B CN 108573009B CN 201710531455 A CN201710531455 A CN 201710531455A CN 108573009 B CN108573009 B CN 108573009B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- warehouse
- repository
- version number
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种文件搜索方法及装置,应用于局域网内任一设备,方法包括:获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识;根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备;向目标设备发送关于目标文件的搜索请求,以使目标设备在其本地文件仓库中搜索目标文件;接收目标设备反馈的搜索结果,根据接收的搜索结果获得针对目标文件的搜索结果。应用本发明实施例提供的技术方案,通过选择出的可能包含目标文件的目标设备用于搜索目标文件,缩小了搜索范围,且搜索具有针对性,减少了无效搜索,能够提高搜索效率。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种文件搜索方法及装置。
背景技术
实际工作中,局域网内任一设备需要从网络端下载某个文件,在本局域网内其他设备上有可能存储该文件的情况下,一般可以优先从本局域网内的设备上下载,这样可以提高下载效率。
以企业应用的网盘为例,云端服务器部署网盘服务端,网盘局域网内的每个设备上部署网盘客户端。设备中网盘客户端的文件仓库,用于存储文件,可以被同步到网盘服务端,当然,也可以将网盘服务端的文件仓库同步到网盘客户端,具体可以进行何种操作是根据网盘客户端的不同权限设定的。在将网盘服务端的文件仓库同步到设备本地的过程中,需要通过下载对应文件仓库下的文件来实现,又由于通常企业内部共享文件相同。因此,所要下载的文件极有可能是从局域网内的设备同步到云端服务器的,即该设备所需要下载的文件极有可能存在在本局域网中的设备的文件仓库中,这样也就可以优先从本网盘局域网内其他设备上下载文件。
现有技术中,从本局域网中的设备上下载文件,主要采用通过逐个访问局域网中设备的方式来实现。具体的,访问本局域网中未被访问的设备,当前被访问设备在本地文件仓库中搜索目标文件,如果当前被访问设备本地的文件仓库中,存储了目标文件,则可以搜索到目标文件,并将目标文件返回给客户端。如果当前被访问设备本地文件仓库中,没有存储目标文件,则搜索不到目标文件,当前被访问设备本地没有存储目标文件,使得该次搜索无效。将访问下一个未被访问的设备。采用这种方式搜索目标文件,在整个搜索过程中,可能需要进行多次的无效搜索,甚至全部搜索无效。
可见,上述搜索方法中针对局域网内其他设备的访问具有盲目性,搜索效率较低。
发明内容
本发明实施例的目的在于提供一种文件搜索方法及装置,以实现提高搜索效率的目的。具体技术方案如下:
第一方面,本发明实施例提供的一种文件搜索方法,应用于局域网内任一设备,所述方法包括:
获得下载目标文件的下载请求,其中,所述下载请求携带所述目标文件所在的目标文件仓库的标识;
根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,所述关联关系表中记录所述局域网内其他设备与其本地文件仓库的标识的对应关系,所述文件仓库是用于存储文件的文件夹,所述文件是指同步至网络端的文件和从网络端下载的文件;
向所述目标设备发送关于所述目标文件的搜索请求,以使所述目标设备在其本地文件仓库中搜索所述目标文件;
接收所述目标设备反馈的搜索结果,根据接收的搜索结果获得针对所述目标文件的搜索结果。
可选的,所述关联关系表中记录所述局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识;
所述方法还包括:
接收目标广播设备广播的目标仓库信息表,其中,所述目标仓库信息表记录所述目标广播设备本地文件仓库的标识,所述目标广播设备为:局域网内其他设备中的任一个;
判断所述目标广播设备是否被记录在本地存储的关联关系表中;
如果存在,以接收到的目标仓库信息表更新本地存储的关联关系表中所述目标广播设备对应的仓库信息表;
如果不存在,将所述目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
可选的,一个设备的仓库信息表,还用于记录该设备本地文件仓库的版本号;
一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;
所述下载请求还携带所述目标文件的版本号;
所述根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备的步骤,包括:
根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
可选的,所述方法还包括:
确定本地存在文件更新的文件仓库;
增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
可选的,所述根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备的步骤,包括:
从所述关联关系表记录的设备中,选择标识与所述目标文件仓库的标识相同,且版本号不小于所述目标文件的版本号的文件仓库;
将所选择的文件仓库对应的设备确定为目标设备。
可选的,所述文件搜索方法还包括:
在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
广播所述最新仓库信息表。
可选的,所述在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表,包括:
判断本地文件仓库的数量是否发生变化,若为是,根据本地文件仓库的标识,生成最新仓库信息表;或
判断是否存在版本号发生变化的本地文件仓库,若为是,生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
可选的,所述方法还包括:
根据针对所述目标文件的搜索结果,获得目标文件;
判断本地是否存在所述目标文件仓库;
如果存在,将所述目标文件存储在本地的所述目标文件仓库中;
如果不存在,在本地建立所述目标文件仓库,并将所述目标文件存储在本地的所述目标文件仓库中。
第二方面,本发明实施例提供的一种文件搜索装置,应用于局域网内任一设备,所述装置包括:
第一获得模块,用于获得下载目标文件的下载请求,其中,所述下载请求携带所述目标文件所在的目标文件仓库的标识;
选择模块,用于根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,所述关联关系表中记录所述局域网内其他设备与其本地文件仓库的标识的对应关系,所述文件仓库是用于存储文件的文件夹,所述文件是指同步至网络端的文件和从网络端下载的文件;
发送模块,用于向所述目标设备发送关于所述目标文件的搜索请求,以使所述目标设备在其本地文件仓库中搜索所述目标文件;
第二接收模块,用于接收所述目标设备反馈的搜索结果,根据接收的搜索结果获得针对所述目标文件的搜索结果。
可选的,所述关联关系表中记录所述局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识;
所述装置还包括:
第三接收模块,用于接收目标广播设备广播的目标仓库信息表,其中,所述目标仓库信息表记录所述目标广播设备本地文件仓库的标识,所述目标广播设备为:局域网内其他设备中的任一个;
第一判断模块,用于判断所述目标广播设备是否被记录在本地存储的关联关系表中;
更新模块,用于在所述判断模块的判断结果为存在时,以接收到的目标仓库信息表更新本地存储的关联关系表中所述目标广播设备对应的仓库信息表;
增加模块,用于在所述判断模块的判断结果为不存在时,将所述目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
可选的,一个设备的仓库信息表,还用于记录该设备本地文件仓库的版本号;
一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;
所述下载请求还携带所述目标文件的版本号;
所述选择模块,具体用于根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
可选的,所述装置还包括:
确定模块,用于确定本地存在文件更新的文件仓库;
处理模块,用于增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
可选的,所述选择模块,包括:
选择单元,用于从所述关联关系表记录的设备中,选择标识与所述目标文件仓库的标识相同,且版本号不小于所述目标文件的版本号的文件仓库;
确定单元,用于将所选择的文件仓库对应的设备确定为目标设备。
可选的,所述文件搜索方法还包括:
生成模块,用于在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
广播模块,用于广播所述最新仓库信息表。
可选的,所述生成模块,包括:第一判断单元和第一生成单元,或,第二判断单元和第二生成单元;
所述第一判断单元,用于判断本地文件仓库的数量是否发生变化;
所述第一生成单元,用于在所述第一判断单元的判断结果为是时,根据本地文件仓库的标识,生成最新仓库信息表;
所述第二判断单元,用于判断是否存在版本号发生变化的本地文件仓库;
所述第二生成单元,用于在所述第二判断单元的判断结果为是时,生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
可选的,所述文件搜索装置还包括:
获得模块,用于根据针对所述目标文件的搜索结果,获得目标文件;
第二判断模块,用于判断本地是否存在所述目标文件仓库;
第一存储模块,用于在所述第二判断模块的判断结果为存在时,将所述目标文件存储在本地的所述目标文件仓库中;
第二存储模块,用于在所述第二判断模块的判断结果为不存在时,在本地建立所述目标文件仓库,并将所述目标文件存储在本地的所述目标文件仓库中。
本发明实施例提供了一种文件搜索方法及装置,获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识;从本地存储的关联关系表记录的设备中选择目标设备,其中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识的对应关系,文件仓库是用于存储文件的文件夹,文件是指同步至网络端的文件和从网络端下载的文件;根据目标文件仓库标识与关联关系表中文件仓库标识的对比,可以确定出可能含有目标文件的目标设备。再通过向目标设备发送搜索请求,以使目标设备在本地的文件仓库中搜索目标文件。接收目标设备反馈的搜索结果,最终,根据接收的搜索结果获得针对目标文件的搜索结果。应用本发明实施例提供的技术方案,通过选择出的可能包含目标文件的目标设备用于搜索目标文件,缩小了搜索范围,且搜索具有针对性,减少了无效搜索,能够提高搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件搜索方法的第一种流程示意图;
图2为关联关系表更新方式的流程示意图;
图3为本发明实施例提供的文件搜索方法的第二种流程示意图;
图4为本发明实施例提供的文件搜索装置的第一种结构示意图;
图5为关联关系表更新子装置的结构示意图;
图6为本发明实施例提供的文件搜索装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,局域网内任一设备想在局域网内下载文件时,需要逐一向除本设备外的其他设备发送搜索请求,以进行搜索,搜索效率较低。为了解决现有技术中存在的这一技术问题,即为了提高目标文件的搜索效率,本发明实施例提供了一种文件搜索方法及装置,应用于局域网内任一设备。
本发明实施例中的局域网内设备上设置了文件仓库,文件仓库是用于存储文件的文件夹,文件是指同步至网络端的文件和从网络端下载的文件。其中,文件可以是文本文档、图片、视频、程序等等。文件通常具有三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以JPEG格式保存并且文件扩展名为.jpg)。每个文件仓库都具有标识,文件仓库的标识用来标记对应的文件仓库,可以是文件仓库的名称,例如,可以使用文件仓库内部存储的文件类别名称作为对应文件仓库的名称。每个文件也都具有标识,文件的标识用来标记对应的文件,可以是文件的名称。
另外,文件仓库和文件也都可以具有版本号,其中,文件仓库的版本号可以用于记录对文件仓库中文件的操作,例如,对一个文件仓库下的文件一共操作2次,包括替换一个文件,和增加一个文件,则可以用2来表示文件仓库的版本号。文件的版本号用于标识文件版本,例如,在文件仓库中增加一个文件,这个文件仓库的版本号变化为3,则可以用3作为这个增加的文件的版本号。
本文所述及的执行主体可以局域网内执行本实施例提供的下载步骤的任一设备,例如,针对金山公司的一个办公局域网内的任何一台设备,如果通过本发明实施提供的下载步骤下载一个文件,则在下载过程中,这个设备就是执行主体。
需要说明的是,从整体上来说,一个局域网内的每个设备的地位都可以是平等的,这个局域网内的每个设备都可以获得下载文件的请求,以实现从除自身之外其他设备上搜索目标文件的目的。
下面首先对本发明实施例提供的一种文件搜索方法进行介绍。
参照图1,图1为本发明实施例提供的文件搜索方法的第一种流程示意图,该文件搜索方法,应用于局域网内任一设备,该方法包括:
S101、获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识。
目标文件是待下载的文件,下载请求可以是在执行主体自身生成的,例如,用户通过执行主体下发下载的命令,以生成下载请求,当然,也可以是局域网内除执行主体之外的设备向执行主体发送的,或局域网外的设备向执行主体发送的。具体是从哪获得的下载请求,在此不做具体限定。
一个设备想从局域网内其他设备上下载目标文件,需要预先知道目标文件所在的目标文件仓库的标识。
本发明实施例的一种实施方式中,本步骤的目标文件仓库的标识,可以是通过以下方式获知的:在本局域网内,任一设备上文件仓库的标识和文件仓库中文件的对应关系都是预设的,并可以预先向本局域网的用户告知这种对应关系,其中,其他设备是指本局域网内除执行主体以外的设备。这样根据文件仓库标识与文件的对应关系,以及目标文件,用户就可以预先获知目标文件仓库的标识,再通过用户可以输入到执行主体。例如,文件仓库的标识是对应文件仓库内的文件所属的类别名称,具体的,凡是代理所反馈的专利申请文件初稿都存储在标识为“未审核的专利申请初稿”的文件仓库下,代理所反馈的专利申请文件初稿属于未审核的专利申请初稿这一类,这样根据所要下载的目标文件“一种文件搜索方法及装置_代理所返初稿”,以及文件仓库的标识和文件的对应关系,就可以预先确定出目标文件仓库的标识为“未审核的专利申请初稿”,再通过用户输入的方式,执行主体就可以获知目标文件所在目标文件仓库的标识。
本发明实施例的另一种实施方式中,本步骤的目标文件仓库的标识,可以是通过以下方式获知的:通过一个中间设备来传递目标文件仓库的标识,以使执行主体获知目标文件仓库的标识。例如,金山企业使用的企业网盘,网盘服务端的文件仓库可能是金山企业的局域网设备同步至网盘服务端的,也可能是其他企业的局域网设备同步至网盘服务端的。本发明实施例的执行主体可以主动向网盘服务端请求查询文件仓库及其内部的文件,以使网盘服务端向执行主体发送文件仓库及其内部的文件的标识;也可以是网盘服务端主动向执行主体推送文件仓库及其内部文件的标识。一种情况下,执行主体预先知道所要下载的目标文件,可以从接收到的文件仓库及其内部的文件的标识中查询目标文件,这样就可以获知目标文件仓库的标识。另一种情况下,用户或者执行主体可以从接收到的文件仓库及其内部文件的标识中选择下载哪个文件,也就获知了目标文件及目标文件仓库的标识。
需要说明的是,局域网内任一设备在需要下载目标文件时,采用何种方式获知目标文件所在文件仓库标识的,在此不做具体限定。
以企业应用的网盘为例,局域网内的每个设备上部署网盘客户端,一个网盘客户端的文件仓库就是该网盘客户端对应的设备本地的文件仓库。每个网盘客户端对应的操作权限可能相同也可能不同。根据不同的权限,可以对网盘客户端的文件仓库,进行以下任一操作或任意组合操作:增加一个文件,替换一个文件,或删除一个文件。在权限允许的条件下,在对网盘客户端的文件仓库进行上述任一操作后,通过同步操作,网盘服务端对应的文件仓库可以相应变化。具体的,在一个网盘客户端的一个文件仓库中增加或替换一个文件,则通过同步操作网盘服务端对应的这个文件仓库中会增加对应的文件或替换对应的文件。在一个网盘客户端的一个文件仓库中删除一个文件,则通过同步操作,网盘服务端对应的这个文件仓库中的这个文件将被删除到网盘服务端的回收站,当然,同步操作后也可以不删除网盘服务端对应的文件仓库中的上述文件。如果局域网内一个网盘客户端的文件仓库中,增加了一个文件,并同步至网盘服务端对应的文件仓库中,则网盘服务端将可以向其他需要同步这个文件仓库的网盘客户端推送关于这个文件仓库中增了这个文件的消息,则可以通过用户点击下载的方式,使得该网盘客户端接收到下载这个文件的下载请求。
S102、根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识的对应关系,文件仓库是用于存储文件的文件夹,文件是指同步至网络端的文件和从网络端下载的文件。
本步骤中的其他设备是指本局域网内除执行主体以外的设备。
本发明实施例的局域网内每个设备中,文件仓库具有文件仓库信息XfileWareHouse,文件具有文件信息Xfile,Xfile主要用于描述文件的信息,可以包括文件的标识Xid,文件的标识Xid用于唯一标识文件。XfileWareHouse可以包括文件仓库的标识id,文件仓库的标识id用于唯一标识文件仓库。
由于在标识与目标文件仓库的标识相同的文件仓库中,有可能会存在目标文件,而在标识与目标文件仓库的标识不同的文件仓库中,不可能存在目标文件。因此,根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择的目标设备,是有可能存在目标文件的,而其他设备中除目标设备外的设备中是不可能存在目标文件的。由此可知,目标文件只可能存在在目标设备上,且目标设备的数量小于本局域网内其他设备的数量,也就是说,相对于局域网内其他设备,目标设备的范围较小。
示例性的,局域网内的设备包括设备A、设备B、设备C、设备D、设备E和设备F,执行主体为设备C,设备A上有标识为“知识产权相关文件仓库”和“合同相关文件仓库”的文件仓库,设备B上有标识为“项目一相关文件仓库”、“项目二相关文件仓库”和“合同相关文件仓库”的文件仓库,设备D上有标识为“项目一相关文件仓库”和“项目二相关文件仓库”的文件仓库,设备E上有标识为“项目三相关文件仓库”和“项目四相关文件仓库”的文件仓库,设备F上有“知识产权相关文件仓库”、“合同相关文件仓库”、“项目一相关文件仓库”、“项目二相关文件仓库”、“项目三相关文件仓库”和“项目四相关文件仓库”的文件仓库。
设备C存储的关联关系表中的设备可以包括本局域网内除执行主体外的部分设备,这种情况下关联关系表可以如表1所示。
下载请求中携带的目标文件仓库的标识为“项目一相关文件仓库”,设备C本地存储的关联关系表如表1所示,则通过本步骤,从文件仓库的标识中,可以找到两个标识与“项目一相关文件仓库”相同的文件仓库,分别对应着设备B、设备D,则设备B和设备D都可以作为目标设备。
表1
设备C存储的关联关系表中的设备也可以包括本局域网内除执行主体外的全部设备,这种情况下关联关系表可以如表2所示。
下载请求中携带的目标文件仓库的标识为“知识产权相关文件仓库”,设备C本地存储的关联关系表如表2所示,则通过本步骤,从文件仓库的标识中,可以找到两个标识与“知识产权相关文件仓库”相同的文件仓库,分别对应着设备A、设备F,则设备A和设备F都可以作为目标设备。
表2
S103、向目标设备发送关于目标文件的搜索请求,以使目标设备在其本地文件仓库中搜索目标文件;
本步骤中,仅向目标设备发送搜索请求,而目标设备相对于局域网内的其他设备,范围又是缩小的,因此,相对于现有技术,针对目标文件的搜索范围较小。又由于目标文件仅可能存在于目标设备的文件仓库中,而不可能存在于不能作为目标设备的设备中,所以,本发明实施例中的搜索具有针对性,搜索效率较高。
S104、接收目标设备反馈的搜索结果,根据接收的搜索结果获得针对目标文件的搜索结果。
目标设备反馈的搜索结果的形式可以有很多种,但可以包括两类,一类包含搜索到目标文件的信息,另一类包含未搜索到目标文件的信息。前者可以具体为目标文件,或“搜索到目标文件”的信息,后者可以具体为“未搜索到目标文件”的信息。目标设备的反馈的搜索结果具体采用哪种形式,在此不做具体限定。
根据接收到的搜索结果可以获得针对目标文件的搜索结果,针对目标文件的搜索结果也可以有很多形式,但也可以包括两类,一类包含搜索到目标文件的信息,另一类包含未搜索到目标文件的信息。前者可以具体为获得的目标文件,或者定位到具体哪个设备包含目标文件。后者可以具体为未搜索到目标文件,或未找到确定包含目标文件的设备。针对目标文件的搜索结果具体采用哪种形式,在此不做具体限定。
本发明实施例中,如果其他设备中的全部目标设备中存在至少一个目标设备,这至少一个目标设备的文件仓库中存有目标文件。通过本步骤就可以接收到至少一个目标设备反馈的包含搜索到目标文件的信息的搜索结果,最终可以根据接收到的搜索结果获得针对目标文件的搜索结果。此时,针对目标文件的搜索结果可以是确定这个目标设备存有目标文件,或直接包括目标文件。
另外,如果其他设备中的全部目标设备中都没有目标文件,则经过全部的目标设备在各自本地搜索目标文件之后,反馈的搜索结果均是包含未搜索到目标文件的信息的搜索结果,最终根据接收到的搜索结果获得的针对目标文件的搜索结果。此时,针对目标文件的搜索结果是未搜索到目标文件,或或未找到确定包含目标文件的设备。
应用图1所示实施例,根据目标文件仓库标识与关联关系表中文件仓库标识的对比,可以确定出可能含有目标文件的目标设备。再通过向目标设备发送搜索请求,以使目标设备在本地的文件仓库中搜索目标文件。接收目标设备反馈的搜索结果,最终,根据接收的搜索结果获得针对目标文件的搜索结果。使选择出的可能包含目标文件的目标设备用于搜索目标文件,缩小了搜索范围,且搜索具有针对性,减少了无效搜索,能够提高搜索效率。
本发明实施例一种实施方式中,可以通过S102确定出全部的目标设备,通过S103分别向每个目标设备发送关于目标文件的搜索请求,以使每个目标设备在各自本地的文件仓库中搜索目标文件。通过S104接收每个设备反馈的搜索结果,最终获得针对目标文件的搜索结果。
本发明实施例的另一种实施方式中,可以通过S102一次性确定出一个目标设备,或部分目标设备或全部目标设备,并通过S103逐一向目标设备发送关于目标文件的搜索请求,以使当前目标设备在本地的文件仓库中搜索目标文件。通过S104接收当前目标设备反馈的搜索结果,如果搜索结果为包含搜索到目标文件的信息,则可以获得目标文件或定位到这个存在目标文件的设备,这样就结束搜索。如果搜索结果为包含未搜索到目标文件的信息,再向下一未目标设备发送关于目标文件的搜索请求,重复上述步骤。
本发明实施例的一种实施方式中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识的对应关系,具体是通过以下形式实现的:
关联关系表中记录局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识。
可以理解的是,关联关系表中一个设备与自己的仓库信息表对应,一个设备的仓库信息表又记录了这个设备本地文件仓库的标识,也就意味着这个设备与这个设备本地文件仓库的标识也对应。
示例性的,局域网内的设备包括设备A、设备B、设备C、设备D、设备E和设备F,执行主体为设备C,设备A上有标识为“知识产权相关文件仓库”和“合同相关文件仓库”的文件仓库,设备B上有标识为“项目一相关文件仓库”、“项目二相关文件仓库”和“合同相关文件仓库”的文件仓库,设备D上有标识为“项目一相关文件仓库”和“项目二相关文件仓库”的文件仓库,设备E上有标识为“项目三相关文件仓库”和“项目四相关文件仓库”,设备F上有“知识产权相关文件仓库”、“合同相关文件仓库”、“项目一相关文件仓库”、“项目二相关文件仓库”、“项目三相关文件仓库”和“项目四相关文件仓库”的文件仓库。
设备A的仓库信息表可以如表3所示。
表3
设备B、设备D、设备E和设备F的仓库信息表与设备A的仓库信息表类似,在此不再一一列出对应的仓库信息表。
设备C存储的关联关系表中的设备可以包括本局域网内除执行主体外的部分设备,这种情况下关联关系表如表4所示:
表4
设备C存储的关联关系表中的设备也可以包括本局域网内除执行主体外的部分设备,这种情况下的关联关系表与表4类似,在此不再列出。
本发明的一种实施例中,在图1所示实施例的基础上,还增加了关联关系表的更新步骤,参照图2,图2为关联关系表更新方式的流程示意图,在关联关系表中记录局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识的情况下,该关联关系表的更新步骤具体可以包括:
S201、接收目标广播设备广播的目标仓库信息表,其中,目标仓库信息表记录目标广播设备本地文件仓库的标识,目标广播设备为:局域网内其他设备中的任一个;
需要说明的是,目标广播设备的目标仓库信息表可以是在目标广播设备本地文件仓库的数量发生变化,或仓库标识发生变化时,根据目标广播设备本地的所有文件仓库的标识重新生成的。
目标广播设备的目标仓库信息表也可以是在目标广播设备本地文件仓库的数量发生变化,或文件仓库的标识发生变化,或文件仓库的其他信息发生变化的情况下,根据目标广播设备本地的所有文件仓库的标识和其他信息重新生成的,例如,其他信息可以包括文件仓库的版本号。
当然,目标广播设备的目标仓库信息表还可以是在每隔一定的时间段的情况下,根据目标广播设备本地的所有文件仓库的标识重新生成的,或根据目标广播设备本地的所有文件仓库的标识和其他信息重新生成的,例如,其他信息可以包括文件仓库的版本号。
另外,目标广播设备可以是每隔一定的时间段向执行主体广播目标仓库信息表,也可以是在本地目标文件仓库信息表发生变化时,向执行主体广播目标仓库信息表。
S202、判断目标广播设备是否被记录在本地存储的关联关系表中;如果存在,执行S203,如果不存在,执行S204;
可以理解的是,执行主体本地当前存储的关联关系表中,记录的设备可以包括本局域网内除执行主体外的所有设备,也可以包括本局域网内除执行主体外的部分设备。
S203、以接收到的目标仓库信息表更新本地存储的关联关系表中目标广播设备对应的仓库信息表;
具体的,可以将关联关系表中目标广播设备对应的仓库信息表替换为目标仓库信息表。
S204、将目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
由于关联关系表中没有关于目标广播设备与对应仓库信息表的记录,所以只能以增加的方式将目标广播设备和目标仓库信息表记录在关联关系表中。
应用增加了上述关联关系表的更新步骤的实施例,执行主体可以获得其他设备的仓库信息表,并可以更新本地存储的关联关系表。这样不仅可以实现对其他设备和其对应仓库信息表的记录,甚至还可以获得其他设备当前最新的仓库信息表。因此,就利于准确的找到目标设备,进而可以提高搜索效率。
本领域技术人员可以理解的是,本发明实施例中,根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,可以是将标识与目标文件仓库的标识相同的设备直接作为目标设备。当然,还可以进一步的,从标识与目标文件仓库的标识相同的设备中,根据其他预设规则,挑选出满足其他预设规则的设备作为目标设备。
本发明实施例的一种实施方式中,一个设备的仓库信息表,还用于记录该设备本地文件仓库的版本号;一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;下载请求还携带目标文件的版本号。
根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备的步骤,可以包括:
根据目标文件仓库的标识、目标文件的版本号和预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
本实施方式的局域网内每个设备中,文件仓库具有文件仓库信息XfileWareHouse,文件具有文件信息Xfile。Xfile主要用于描述文件的信息,可以包括文件的标识Xid和版本号opver,文件的Xid用于唯一标识文件,版本号opver可以是一个uint64类型值,用于标识文件版本。XfileWareHouse可以包括文件仓库的标识id和版本号opver,文件仓库的id用于唯一标识文件仓库,文件仓库的版本号opver可以是一个uint64类型值,用于标识文件仓库下的操作记录。在文件仓库内任意一个文件发生变化,都会生成一个新的opver作为该文件仓库的版本号。
由于一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系,版本号与目标文件的版本号满足而这个预设关联关系的文件仓库中,是可能存在目标文件的文件仓库;而版本号与目标文件的版本号不满足而这个预设关联关系的文件仓库中,是不可能存在目标文件的。因此,可以理解到,标识与目标文件仓库的标识相同,且版本号与目标文件的版本号满足而这个预设关联关系的文件仓库才有可能存在目标文件。
相对于仅根据目标文件仓库的标识,来选择目标设备,根据目标文件仓库的标识、目标文件的版本号和预设关联关系,来选择目标设备,具体的限制条件更多。前者可以选择出来的目标设备的范围较大,后者可以选择出来的目标设备的范围较小。而且,后者选择出来的目标设备存在目标文件的概率更大,且除目标设备外的其他设备上不可能存在目标文件,因此,后者选择出来的目标设备更具有针对性。
由上述分析可见,应用本发明实施例时,具体根据目标文件仓库的标识、目标文件的版本号和预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备,可以进一步提高搜索效率。
示例性的,局域网内的设备包括设备A、设备B、设备C、设备D、设备E和设备F,执行主体为设备C。设备A上有标识为“知识产权相关文件仓库”且版本号为1,以及标识为“合同相关文件仓库”且版本号为2的文件仓库;设备B上有标识为“项目一相关文件仓库”且版本号为4,标识为“项目二相关文件仓库”且版本号为5,以及标识为“合同相关文件仓库”且版本号为3的文件仓库;设备D上有标识为“项目一相关文件仓库”且版本号为5,以及标识为“项目二相关文件仓库”且版本号为4的文件仓库;设备E上有标识为“项目三相关文件仓库”且版本号为1,以及标识为“项目四相关文件仓库”且版本号为2的文件仓库;设备F上有标识为“知识产权相关文件仓库”且版本号为1,标识为“合同相关文件仓库”且版本号为2,标识为“项目一相关文件仓库”且版本号为5,标识为“项目二相关文件仓库”且版本号为4,标识为“项目三相关文件仓库”且版本号为1,以及标识为“项目四相关文件仓库”且版本号为2的文件仓库。
在仓库信息表中记录有版本号的情况下,设备A的仓库信息表可以如表5所示。设备B、设备D、设备E和设备F的仓库信息表与表5类似,在此不再一一列出对应的仓库信息表。
设备C存储的关联关系表中的设备可以包括本局域网内除执行主体外的全部设备,这种情况下关联关系表如表6所示。设备C存储的关联关系表中的设备也可以只包括本局域网内除执行主体外的部分设备,这种情况下关联关系表与表6类似。
表5
表6
进一步的,该文件搜索方法还可以包括以下两个步骤:
(1)、确定本地存在文件更新的文件仓库;
通过本步骤,当在本地的任一个文件仓库中,增加文件或替换文件,都可以确定出这个文件仓库。
具体实施时,可以实时监测本地的每个文件仓库中是否存在文件的更新,如果存在,确定出对应的文件仓库。
(2)、增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
通过本步骤,针对每个文件仓库,都可以记录该文件仓库中的操作记录。例如,在标识为“未审核的专利申请初稿”,版本号为2的文件仓库中,将标识为“一种文件搜索方法及装置”,版本号为1的专利申请初稿,替换成标识为“一种文件搜索方法及装置”的新的专利申请初稿。则通过将2加1,获得这个标识为“未审核的专利申请初稿”的文件仓库的版本号3,并将3作为这个标识为“一种文件搜索方法及装置”的新的专利申请初稿的版本号。
再例如,在标识为“未审核的专利申请初稿”,版本号为2的文件仓库中,增加一个标识为“一种文件搜索方法及装置”的专利申请初稿。则通过将2加1,获得这个标识为“未审核的专利申请初稿”的文件仓库的版本号3,并将这个3作为这个增加的标识为“一种文件搜索方法及装置”的专利申请初稿的版本号。
通过本实施方式中的(1)和(2)两个步骤,可以使得一个文件仓库的版本号与该文件仓库中文件的版本号具有的预设关联关系,具体为:一个文件仓库中的任一文件的版本号都小于或等于该文件仓库的版本号。
本发明实施例的一种实施方式中,在一个文件仓库中的任一文件的版本号都小于或等于该文件仓库的版本号的情况下,根据目标文件仓库的标识、目标文件的版本号和预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备的步骤,就可以包括以下两个步骤:
(1)、从关联关系表记录的设备中,选择标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库;
例如,设备C中的关联关系表如表6所示,目标文件所在目标仓库的标识为“合同相关文件仓库”,目标文件的版本号为3。则从表6中可以确定只有一个文件仓库,其标识为“合同相关文件仓库”,版本号为3,这个确定的文件仓库对应的设备是设备B。
(2)、将所选择的文件仓库对应的设备确定为目标设备。
例如,可以进一步将上一步骤示例中,所确定的设备B作为目标设备。
通过本实施方式中(1)和(2)两个步骤,就可以具体根据标识与目标文件仓库的标识相同,版本号不小于目标文件的版本号的文件仓库这两个条件,选择出目标设备。
本发明实施例的一种实施方式中,该文件搜索方法还可以包括:
(1)、在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
本步骤具体实施时,至少可以包括两种情况,一种情况是:
在满足仓库信息表更新条件的情况下,具体可以是指:判断本地文件仓库的数量是否发生变化,若为是,则满足仓库信息表更新条件。
另一种情况是:
在满足仓库信息表更新条件的情况下,可以是指:判断是否存在版本号发生变化的本地文件仓库,若为是,则满足仓库信息表更新条件。这种情况下,根据本地文件仓库的标识,生成最新仓库信息表的步骤,可以具体包括:生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
(2)、广播最新仓库信息表。
通过广播最新仓库信息表,可以使其他设备接收到最新仓库信息表。可以理解的是,由于局域网内每个设备的地位可以是对等的,这样执行主体也可以获得其他设备的最新仓库信息表。
本发明实施例的一种实施方式中,该文件搜索方法还可以包括以下几个步骤,这几个步骤可以用于在本地存储目标文件:
(1)、根据针对目标文件的搜索结果,获得所述目标文件;
(2)、判断本地是否存在目标文件仓库;
如果存在,将目标文件存储在本地的目标文件仓库中;
如果不存在,在本地建立目标文件仓库,并将目标文件存储在本地的目标文件仓库中。
通过上述存储目标文件的步骤,就可以实现将网盘服务端的文件仓库或文件同步到执行主体本地,或将其他设备上的目标文件仓库或文件同步到本地,例如,在企业网盘领域,在一个设备将本地的文件仓库同步到网盘服务端之后,可以告知其他设备,使其他设备可以通过本发明实施例将对应的文件仓库同步到本地。
参照图3,图3为本发明实施例提供的文件搜索方法的第二种流程示意图,该文件搜索方法,应用于局域网内任一设备,该方法包括:
S301、获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识,还携带目标文件的版本号。
S302、依次从本地存储的关联关系表所记录的设备中,确定一个待判断设备;其中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识和版本号的对应关系,一个文件仓库的版本号不小于该文件仓库中任一文件的版本号。
具体实施时,关联关系表中记录局域网内其他设备与其本地文件仓库的标识的对应关系,具体可以是通过以下形式实现的:
关联关系表中记录局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识和版本号。
S303、判断待判断设备中是否存在标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库,如果存在,执行S304,如果不存在,返回S302,直至遍历关联关系表中所有设备。
具体的,针对关联关系表中的一个设备,根据与这个设备对应的文件仓库的标识以及版本号,可以判断出这个设备所对应的文件仓库中是否存在标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库。如果存在,执行S304。如果不存在,返回S302,依次确定下一个设备为待判断设备。
实施本步骤时,可能存在两种情况,一种情况是:遍历完关联关系表中的全部设备,都没有找到存在标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库的设备,这样仅从本地的关联关系表中就可以确定出,在局域网内找不到目标文件。不需要向局域网内其他任一个设备发送网络请求,使得在对应设备本地进行搜索,而且是搜索不到目标文件的搜索,是无效的搜索。另一种情况是:至少可以确定出一个存在标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库的设备。
S304、将待判断设备确定为目标设备,并向该目标设备发送关于搜索目标文件的网络请求,以使目标设备在本地搜索目标文件。
通过这个步骤实现仅向目标设备进行发送网络请求,即仅使目标设备在目标设备本地搜索目标文件。
S305、接收目标设备反馈的搜索结果。
目标设备在目标设备本地的文件仓库中搜索目标文件,会把最终的搜索结果反馈给执行主体,以使执行主体接收到目标设备反馈的搜索结果。
S306、根据接收到搜索结果,判断目标设备中是否存在目标文件,如果是,执行S307;如果否,返回S302,直至遍历关联关系表中所有设备。
本步骤中,如果返回执行S302,确定下一个设备为待判断设备。
S307、定位该目标设备为存在目标文件的设备或根据接收到的搜索结果获取目标文件。
通过本步骤,如果本地的关联关系表所记录的设备中存在目标文件,则通过本步骤可以获得搜索到目标文件的搜索结果。如果本地的关联关系表中不存在目标文件,则通过本步骤可以获得未搜索到目标文件的搜索结果。
例如,目标文件所在目标文件仓库的标识为“合同相关文件仓库”,目标文件的版本号为3,本地存储的关联关系表如表6所示。按照关联关系表中记录的设备从前到后的顺序,首先,针对设备A,判断设备A上的文件仓库中,是否存在标识与“合同相关文件仓库”相同,且版本号不小于3的文件仓库,结果是不存在。
然后,针对设备B,判断设备B上的文件仓库中,是否存在标识与“合同相关文件仓库”相同,且版本号不小于3的文件仓库,结果是存在。将设备B确定为目标设备,并向设备B发送关于搜索目标文件的网络请求,使得设备B在设备B本地的文件仓库中搜索目标文件,并反馈搜索结果。接收设备B反馈的搜索结果,根据设备B反馈的搜索结果判断设备B中是否存在目标文件,如果存在,通过S307可以定位到设备B。
如果设备B中不存在目标文件,再针对设备D,判断设备D上的文件仓库中,是否存在标识与“合同相关文件仓库”相同,且版本号不小于3的文件仓库,结果是不存在。再针对设备E,判断设备E上的文件仓库中,是否存在标识与“合同相关文件仓库”相同,且版本号不小于3的文件仓库,结果是不存在。最后,针对设备E,判断设备E上的文件仓库中,是否存在标识与“合同相关文件仓库”相同,且版本号不小于3的文件仓库,结果是不存在。
最终,如果设备B中存在目标文件,就可以定位到存在目标文件的设备,即可以搜索到目标文件。否则,定位不到存在目标文件的目标设备,即搜索不到目标文件。
应用图3所实施实施例,所选择的目标设备中是存在这样一个文件仓库的,这个文件仓库必须同时满足标识与目标文件仓库的标识相同,和版本号不小于目标文件的版本号这两个条件。不满足这两个条件的文件仓库是不可能存在目标文件的。不仅针对目标文件只对目标设备进行搜索,而且通过逐个访问的方式,使得搜素范围小于或等于所有可能的目标设备所确定范围。因此,相对于现有技术,不仅可以减少无效搜索,在关联关系表中对应设备中存在目标文件的情况下,还可以进一步减小针对全部的目标设备进行搜索的可能性。因此,可以提高针对目标文件的搜索效率。
在图3所示实施例的基础上,可以增加以下几个步骤:
(1)、确定本地第一文件仓库中的第一文件发生变化,其中,第一文件仓库是本地所有文件仓库中的任一文件仓库,第一文件是第一文件仓库中的任一文件。
(2)、将第一文件仓库的版本号加一,获得新的版本号,将变化后的第一文件的版本号,和第一文件仓库的版本号更新为获得的新的版本号。
通过本发明实施例的上述步骤(1)和(2),可以实现对文件仓库和文件的版本号的更新。
进一步的,还可以增加一个步骤:
在预设时间点,根据本地所有文件仓库的标识和版本号,构建一个仓库信息表,并进行广播。
这个预设时间点可以是在文件仓库版本号发生更新的时间点,也可以是在每个预设的时间段的时间点,在此不做赘述。
进一步的,还可以增加:
接收其他设备广播的仓库信息表,如果广播仓库信息表的设备已经在关联关系表中,则更新对应设备上的仓库信息表;如果发出广播仓库信息表的设备不在关联关系表中,则将对应设备和仓库信息表添加到关联关系表中。
通过本步骤,可以获得其他设备的仓库信息表并在本地关联关系表中进行记录,以实现更新本地存储的关联关系表的目的。
下面,将对本发明实施例提供的一种文件搜索装置进行介绍。
参照图4,图4为本发明实施例提供的文件搜索装置的第一结构示意图,该文件搜索装置,应用于局域网内任一设备,包括:
第一获得模块41,用于获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识;
选择模块42,用于根据目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识的对应关系;
发送模块43,用于向目标设备发送关于目标文件的搜索请求,以使目标设备在其本地文件仓库中搜索目标文件;
第二接收模块44,用于接收目标设备反馈的搜索结果,根据接收的搜索结果获得针对目标文件的搜索结果。
应用图4所示实施例,根据目标文件仓库标识与关联关系表中文件仓库标识的对比,可以确定出可能含有目标文件的目标设备。再通过向目标设备发送搜索请求,以使目标设备在本地的文件仓库中搜索目标文件。接收目标设备反馈的搜索结果,最终,根据接收的搜索结果获得针对目标文件的搜索结果。使选择出的目标设备用于搜索目标文件,这个过程缩小了搜索范围,且搜索具有针对性,减少了无效搜索,能够提高搜索效率。
本发明的一种实施例中,在图4所示实施例的基础上,还增加了关联关系表更新子装置,参照图5,图5为关联关系表更新子装置的结构示意图,在关联关系表中记录局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识的情况下,该关联关系表更新子装置具体可以包括:
第三接收模块51,用于接收目标广播设备广播的目标仓库信息表,其中,目标仓库信息表记录目标广播设备本地文件仓库的标识,目标广播设备为:局域网内其他设备中的任一个;
第一判断模块52,用于判断目标广播设备是否被记录在本地存储的关联关系表中;
更新模块53,用于在判断模块的判断结果为存在时,以接收到的目标仓库信息表更新本地存储的关联关系表中目标广播设备对应的仓库信息表;
增加模块54,用于在判断模块的判断结果为不存在时,将目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
本发明实施例的一种实施方式中,一个设备的仓库信息表,还用于记录该设备本地文件仓库的版本号;
一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;
下载请求还携带目标文件的版本号;
选择模块42,具体用于根据目标文件仓库的标识、目标文件的版本号和关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
进一步的,本发明实施例提供的文件搜索装置还可以包括:
确定模块,用于确定本地存在文件更新的文件仓库;
处理模块,用于增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
更进一步的,选择模块42,包括:
选择单元,用于从关联关系表记录的设备中,选择标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库;
确定单元,用于将所选择的文件仓库对应的设备确定为目标设备。
本发明实施例的一种实施方式中,该文件搜索装置还可以包括:
生成模块,用于在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
广播模块,用于广播最新仓库信息表。
进一步的,生成模块,包括:第一判断单元和第一生成单元,或,第二判断单元和第二生成单元;
第一判断单元,用于判断本地文件仓库的数量是否发生变化;
第一生成单元,用于在第一判断单元的判断结果为是时,根据本地文件仓库的标识,生成最新仓库信息表;
第二判断单元,用于判断是否存在版本号发生变化的本地文件仓库;
第二生成单元,用于在第二判断单元的判断结果为是时,生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
本发明实施例提供的文件搜索装置还可以包括:
第二判断模块,用于在针对目标文件的搜索结果包括目标文件的情况下,判断本地是否存在目标文件仓库;
第一存储模块,用于在第二判断模块的判断结果为存在时,将目标文件存储在本地的目标文件仓库中;
第二存储模块,用于在第二判断模块的判断结果为不存在时,在本地建立目标文件仓库,并将目标文件存储在本地的目标文件仓库中。
参照图6,图6为本发明实施例提供的文件搜索装置的第二种结构示意图,该文件搜索装置,应用于局域网内任一设备,包括:
下载请求接收模块61,用于获得下载目标文件的下载请求,其中,下载请求携带目标文件所在的目标文件仓库的标识,还携带目标文件的版本号。
待判断设备确定模块62,用于依次从本地存储的关联关系表所记录的设备中,确定一个待判断设备;其中,关联关系表中记录局域网内其他设备与其本地文件仓库的标识和版本号的对应关系,文件仓库是用于存储文件的文件夹,文件是指同步至网络端的文件和从网络端下载的文件,且一个文件仓库的版本号不小于该文件仓库中任一文件的版本号。
第三判断模块63,用于判断待判断设备中是否存在标识与目标文件仓库的标识相同,且版本号不小于目标文件的版本号的文件仓库,如果存在,触发目标处理模块64动作,如果不存在,触发待判断设备确定模块62动作,直至遍历关联关系表中所有设备。
目标处理模块64,用于将待判断设备确定为目标设备,并向该目标设备发送关于搜索目标文件的网络请求,以使目标设备在本地搜索目标文件。
结果接收模块65,用于接收目标设备反馈的搜索结果。
结果判断模块66,用于根据接收到搜索结果,判断目标设备中是否存在目标文件,如果是触发结果处理模块67动作,如果否,触发待判断设备确定模块62动作,直至遍历关联关系表中所有设备。
结果处理模块67,用于定位该目标设备为存在目标文件的设备或根据接收到的结果获取目标文件。
应用图6所实施实施例,所选择的目标设备中是存在这样一个文件仓库的,这个文件仓库必须同时满足标识与目标文件仓库的标识相同,和版本号不小于目标文件的版本号这两个条件。不满足这两个条件的文件仓库是不可能存在目标文件的。不仅针对目标文件只对目标设备进行搜索,而且通过逐个访问的方式,使得搜素范围小于或等于所有可能的目标设备所确定范围。因此,相对于现有技术,不仅可以减少无效搜索,在关联关系表中对应设备中存在目标文件的情况下,还可以进一步减小针对全部的目标设备进行搜索的可能性。因此,可以提高针对目标文件的搜索效率。
在图6所示实施例的基础上,可以增加以下几个模块:
仓库确定模块,用于确定本地第一文件仓库中的第一文件发生变化,其中,第一文件仓库是本地所有文件仓库中的任一文件仓库,第一文件是第一文件仓库中的任一文件。
版本号更新模块,用于将第一文件仓库的版本号加一,获得新的版本号,将变化后的第一文件的版本号,和第一文件仓库的版本号更新为获得的新的版本号。
进一步的,还可以增加一个模块:
仓库信息表广播模块,用于在预设时间点,根据本地所有文件仓库的标识和版本号,构建一个仓库信息表,并进行广播。
进一步的,还可以增加一个模块:
仓库信息表接收模块,用于接收其他设备广播的仓库信息表,如果广播仓库信息表的设备已经在关联关系表中,则更新对应设备上的仓库信息表,如果广播仓库信息表的设备不在关联关系表中,则将对应设备和仓库信息表添加到关联关系表中。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还可以包括没有明确列出的其他要素,或者是还可以包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (16)
1.一种文件搜索方法,应用于局域网内任一设备,其特征在于,所述方法包括:
获得下载目标文件的下载请求,其中,所述下载请求携带所述目标文件所在的目标文件仓库的标识和所述目标文件的版本号;
根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,所述关联关系表中记录所述局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识,还用于记录该设备本地文件仓库的版本号,所述文件仓库是用于存储文件的文件夹,所述文件是指同步至网络端的文件和从网络端下载的文件;
向所述目标设备发送关于所述目标文件的搜索请求,以使所述目标设备在其本地文件仓库中搜索所述目标文件;
接收所述目标设备反馈的搜索结果,根据接收的搜索结果获得针对所述目标文件的搜索结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收目标广播设备广播的目标仓库信息表,其中,所述目标仓库信息表记录所述目标广播设备本地文件仓库的标识,所述目标广播设备为:所述局域网内其他设备中的任一个;
判断所述目标广播设备是否被记录在本地存储的关联关系表中;
如果存在,以接收到的目标仓库信息表更新本地存储的关联关系表中所述目标广播设备对应的仓库信息表;
如果不存在,将所述目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
3.根据权利要求1或2所述的方法,其特征在于,
一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;
所述根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备的步骤,包括:
根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定本地存在文件更新的文件仓库;
增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
5.根据权利要求4所述的方法,其特征在于,
所述根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备的步骤,包括:
从所述关联关系表记录的设备中,选择标识与所述目标文件仓库的标识相同,且版本号不小于所述目标文件的版本号的文件仓库;
将所选择的文件仓库对应的设备确定为目标设备。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
广播所述最新仓库信息表。
7.根据权利要求6所述的方法,其特征在于,所述在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表,包括:
判断本地文件仓库的数量是否发生变化,若为是,根据本地文件仓库的标识,生成最新仓库信息表;或
判断是否存在版本号发生变化的本地文件仓库,若为是,生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据针对所述目标文件的搜索结果,获得所述目标文件;
判断本地是否存在所述目标文件仓库;
如果存在,将所述目标文件存储在本地的所述目标文件仓库中;
如果不存在,在本地建立所述目标文件仓库,并将所述目标文件存储在本地的所述目标文件仓库中。
9.一种文件搜索装置,应用于局域网内任一设备,其特征在于,所述装置包括:
第一获得模块,用于获得下载目标文件的下载请求,其中,所述下载请求携带所述目标文件所在的目标文件仓库的标识和所述目标文件的版本号;
选择模块,用于根据所述目标文件仓库的标识,从本地存储的关联关系表记录的设备中选择目标设备,其中,所述关联关系表中记录所述局域网内其他设备与其仓库信息表的对应关系,一个设备的仓库信息表,用于记录该设备本地文件仓库的标识,还用于记录该设备本地文件仓库的版本号,所述文件仓库是用于存储文件的文件夹,所述文件是指同步至网络端的文件和从网络端下载的文件;
发送模块,用于向所述目标设备发送关于所述目标文件的搜索请求,以使所述目标设备在其本地文件仓库中搜索所述目标文件;
第二接收模块,用于接收所述目标设备反馈的搜索结果,根据接收的搜索结果获得针对所述目标文件的搜索结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于接收目标广播设备广播的目标仓库信息表,其中,所述目标仓库信息表记录所述目标广播设备本地文件仓库的标识,所述目标广播设备为:所述局域网内其他设备中的任一个;
第一判断模块,用于判断所述目标广播设备是否被记录在本地存储的关联关系表中;
更新模块,用于在所述判断模块的判断结果为存在时,以接收到的目标仓库信息表更新本地存储的关联关系表中所述目标广播设备对应的仓库信息表;
增加模块,用于在所述判断模块的判断结果为不存在时,将所述目标广播设备与其发送的目标仓库信息表对应增加到在本地存储的关联关系表中。
11.根据权利要求9或10所述的装置,其特征在于,
一个文件仓库的版本号与该文件仓库中文件的版本号具有预设关联关系;
所述选择模块,具体用于根据所述目标文件仓库的标识、所述目标文件的版本号和所述预设关联关系,从本地存储的关联关系表记录的设备中选择目标设备。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定本地存在文件更新的文件仓库;
处理模块,用于增加所确定文件仓库的版本号,并将所确定文件仓库中对应更新的文件的版本号更新为文件仓库的版本号。
13.根据权利要求12所述的装置,其特征在于,
所述选择模块,包括:
选择单元,用于从所述关联关系表记录的设备中,选择标识与所述目标文件仓库的标识相同,且版本号不小于所述目标文件的版本号的文件仓库;
确定单元,用于将所选择的文件仓库对应的设备确定为目标设备。
14.根据权利要求12或13所述的装置,其特征在于,还包括:
生成模块,用于在满足仓库信息表更新条件的情况下,根据本地文件仓库的标识,生成最新仓库信息表;
广播模块,用于广播所述最新仓库信息表。
15.根据权利要求14所述的装置,其特征在于,所述生成模块,包括:第一判断单元和第一生成单元,或,第二判断单元和第二生成单元;
所述第一判断单元,用于判断本地文件仓库的数量是否发生变化;
所述第一生成单元,用于在所述第一判断单元的判断结果为是时,根据本地文件仓库的标识,生成最新仓库信息表;
所述第二判断单元,用于判断是否存在版本号发生变化的本地文件仓库;
所述第二生成单元,用于在所述第二判断单元的判断结果为是时,生成包含本地文件仓库标识和本地文件仓库版本号的最新仓库信息表。
16.根据权利要求9所述的装置,其特征在于,还包括:
获得模块,用于根据针对所述目标文件的搜索结果,获得所述目标文件;
第二判断模块,用于判断本地是否存在所述目标文件仓库;
第一存储模块,用于在所述第二判断模块的判断结果为存在时,将所述目标文件存储在本地的所述目标文件仓库中;
第二存储模块,用于在所述第二判断模块的判断结果为不存在时,在本地建立所述目标文件仓库,并将所述目标文件存储在本地的所述目标文件仓库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710531455.XA CN108573009B (zh) | 2017-07-03 | 2017-07-03 | 一种文件搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710531455.XA CN108573009B (zh) | 2017-07-03 | 2017-07-03 | 一种文件搜索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108573009A CN108573009A (zh) | 2018-09-25 |
CN108573009B true CN108573009B (zh) | 2021-05-25 |
Family
ID=63576068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710531455.XA Active CN108573009B (zh) | 2017-07-03 | 2017-07-03 | 一种文件搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573009B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704494A (zh) * | 2013-06-09 | 2015-06-10 | 苹果公司 | 管理具有多页面的文件夹的设备、方法和图形用户界面 |
CN106372102A (zh) * | 2015-07-21 | 2017-02-01 | 三星电子株式会社 | 电子装置和用于管理电子装置上的文件夹中的对象的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4291077B2 (ja) * | 2003-07-29 | 2009-07-08 | 株式会社日立製作所 | 分散ストレージ装置のファイル管理方法及び分散ストレージシステム |
US9262496B2 (en) * | 2012-03-30 | 2016-02-16 | Commvault Systems, Inc. | Unified access to personal data |
CN102882985B (zh) * | 2012-10-23 | 2015-08-05 | 上海够快网络科技有限公司 | 基于云存储的文件共享方法 |
US9471587B2 (en) * | 2013-06-07 | 2016-10-18 | Apple Inc. | Remote enumeration of a directory |
CN104679782A (zh) * | 2013-11-30 | 2015-06-03 | 鸿富锦精密工业(深圳)有限公司 | 文件版本控制系统及方法 |
CN104199863B (zh) * | 2014-08-15 | 2017-11-21 | 小米科技有限责任公司 | 存储设备上的文件的查找方法、装置及路由器 |
CN104780204A (zh) * | 2015-03-24 | 2015-07-15 | 四川长虹电器股份有限公司 | 一种用于终端间快速分享文件的方法及系统 |
CN105872039A (zh) * | 2016-03-29 | 2016-08-17 | 乐视控股(北京)有限公司 | 终端设备间传输文件的方法、终端设备及文件传输系统 |
-
2017
- 2017-07-03 CN CN201710531455.XA patent/CN108573009B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704494A (zh) * | 2013-06-09 | 2015-06-10 | 苹果公司 | 管理具有多页面的文件夹的设备、方法和图形用户界面 |
CN106372102A (zh) * | 2015-07-21 | 2017-02-01 | 三星电子株式会社 | 电子装置和用于管理电子装置上的文件夹中的对象的方法 |
Non-Patent Citations (1)
Title |
---|
"巧记妙招,提升Windows文件搜索效率";刘景云;《电脑知识与技术》;20130430;第26-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108573009A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8290900B2 (en) | Apparatus, and associated method, for synchronizing directory services | |
US9792340B2 (en) | Identifying data items | |
US11144510B2 (en) | System and method for synchronizing file systems with large namespaces | |
CN106959963B (zh) | 一种数据查询方法、装置及系统 | |
US6915333B2 (en) | Method of managing attached document | |
RU2619195C2 (ru) | Способ и устройство для нахождения файла в устройстве хранения и маршрутизатор | |
US20090187622A1 (en) | Method, system and apparatus for data synchronization | |
US8959062B2 (en) | Data storage device with duplicate elimination function and control device for creating search index for the data storage device | |
CN1866249B (zh) | 数据管理系统、数据服务器以及数据管理方法 | |
CN105701096A (zh) | 索引生成方法、数据查询方法、装置及系统 | |
CN109376121B (zh) | 一种基于ElasticSearch全文检索的文件索引系统及方法 | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
CN111008521B (zh) | 生成宽表的方法、装置及计算机存储介质 | |
KR20040111156A (ko) | 통지 본드를 사용하여 캐싱된 오브젝트를 관리하는 시스템및 방법 | |
CN106250476B (zh) | 一种更新和同步白名单的方法、装置和系统 | |
CN113067853A (zh) | 一种数据推送方法、装置、电子设备及存储介质 | |
US7536404B2 (en) | Electronic files preparation for storage in a server | |
US9417796B2 (en) | Method, a server, a system and a computer program product for copying data from a source server to a target server | |
CN100357943C (zh) | 一种检查机群文件系统中垃圾文件的方法 | |
JP2009129195A (ja) | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 | |
US20060123087A1 (en) | Email storage format including partially ordered logs of updates to email message attributes | |
CN108573009B (zh) | 一种文件搜索方法及装置 | |
CN112445986B (zh) | 一种缓存信息的更新方法、推送方法、装置及介质 | |
CN104462967A (zh) | 文件恢复的方法、装置及系统 | |
US20110029587A1 (en) | Updating Retrieval Codes In Response To File Transfers |
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 |