发明内容
有鉴于此,本说明书实施例提供了一种基于版本号对文件进行处理的方法及设备,用于实现更高效的版本处理。
本说明书实施例提供下述技术方案:
本说明书实施例提供一种基于版本号对文件进行处理的方法,包括:
获取文件系统中目标文件的文件标识和所对应的版本号;
根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与至少一个所述目标文件的文件标识之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的方法,包括:
接收用户发送的文件处理请求,所述文件处理请求中包含目标文件的文件标识;
确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的方法,包括:
接收文件查询请求,所述文件查询请求包含目标文件对应的版本号和所述目标文件的文件名;
根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定所述目标文件在文件系统中的存储路径;
基于所述存储路径,从所述文件系统中读取所述目标文件。
本说明书实施例还提供一种基于版本号对文件进行处理的方法,包括:
接收用户发送的版本查询请求,所述版本查询请求包含版本查询条件;
根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定满足所述版本查询条件的文件标识;
根据所述文件标识,从文件系统中读取与所述文件标识对应的目标文件。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括:
获取模块,获取文件系统中目标文件的文件标识和所对应的版本号;
创建模块,根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与所述版本号对应的至少一个所述目标文件的文件标识之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括:
接收模块,接收用户发送的文件处理请求,所述文件处理请求中包含目标文件的文件标识;
确定模块,确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
更新模块,根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括:
接收模块,接收文件查询请求,所述文件查询请求包含目标文件对应的版本号和所述目标文件的文件名;
确定模块,根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定所述目标文件在文件系统中的存储路径;
读取模块,基于所述存储路径,从所述文件系统中读取所述目标文件。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括:
接收模块,接收用户发送的版本查询请求,所述版本查询请求包含版本查询条件;
确定模块,根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定满足所述版本查询条件的文件标识;
读取模块,根据所述文件标识,从文件系统中读取与所述文件标识对应的目标文件。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:
获取文件系统中目标文件的文件标识和所对应的版本号;
根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与所述版本号对应的至少一个所述目标文件的文件标识之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:
接收用户发送的文件处理请求,所述文件处理请求中包含目标文件的文件标识;
确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:
接收文件查询请求,所述文件查询请求包含目标文件对应的版本号和所述目标文件的文件名;
根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定所述目标文件在文件系统中的存储路径;
基于所述存储路径,从所述文件系统中读取所述目标文件。
本说明书实施例还提供一种基于版本号对文件进行处理的设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:
接收用户发送的版本查询请求,所述版本查询请求包含版本查询条件;
根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定满足所述版本查询条件的文件标识;
根据所述文件标识,从文件系统中读取与所述文件标识对应的目标文件。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过获取文件系统中目标文件的文件标识和所对应的版本号,可以创建索引文件,索引文件中包含版本号与至少一个目标文件的文件标识之间的映射关系。之后,基于已创建的索引文件,可以从文件系统中获取目标文件、获取符合版本查询条件的不同版本号对应的目标文件等等。这样,针对不同的文件系统按照本说明书提供的技术方案创建索引文件,可以有效提升文件系统对所管理的文件的控制效率;同时利用创建的索引文件,能够方便快捷地为用户提供文件的读写服务,提升用户对文件系统的用户体验。
具体实施方式
现有文件版本控制系统在对文件系统中存储的文件进行控制时存在一定的局限性。文件版本控制系统的应用环境受限制。在一些文件系统,如对公共文件系统,不允许安装文件版本控制系统,将无法通过文件版本控制系统实现对文件系统中存储的文件进行控制。
为了实现本说明书的目的,本说明书实施例提供了一种基于版本号对文件进行处理的方法及设备,获取文件系统中目标文件的文件标识和所对应的版本号,可以创建索引文件,索引文件中包含版本号与至少一个目标文件的文件标识之间的映射关系。之后,基于已创建的索引文件,可以从文件系统中获取目标文件、获取符合版本查询条件的不同版本号对应的目标文件等等。这样,针对不同的文件系统按照本说明书提供的技术方案创建索引文件,可以有效提升文件系统对所管理的文件的控制效率;同时利用创建的索引文件,能够方便快捷地为用户提供文件的读写服务,提升用户对文件系统的用户体验。
需要说明的是,本说明是实施例提供的技术方案可以集成在文件系统中,作为文件系统的一个功能,也可以是集成在独立于文件系统的其他设备中,该设备能够与文件系统之间进行数据交互,这里不做具体限定。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合说明书附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书实施例提出的一种基于版本号对文件进行处理的系统的结构示意图。在本说明书实施例所记载的处理系统中包含:文件系统101、索引系统102和外部接口103,其中:
文件系统101,用于存储各种文件,并对存储的文件进行控制。
索引系统102,用于获取文件系统中目标文件的文件标识和所对应的版本号,并根据目标文件的文件标识和所对应的版本号,创建索引文件,索引文件中包含版本号与所述版本号对应的至少一个目标文件的文件标识之间的映射关系。
外部接口103,用于实现文件系统101/索引系统102与外部设备之间的数据交互。
本说明书实施例中记载的文件系统可以为FTP(File Transfer Protocol,文件传输协议)文件系统,也可以为OSS(The Office of Strategic Services,运营支撑系统)系统,还可以为NFS(Network Files System,网络文件系统),还可以为NTFS(New TechnologyFile System,新技术文件系统),还可以为EXT4(Fourth extended file System,第四代扩展文件系统)等等,这里不做具体限定。
本说明书实施例中记载的索引系统用于创建文件系统对应的索引文件,通过索引文件中包含的索引项(即版本号与文件标识之间的映射关系)可以控制所对应文件系统中的文件。这里的索引文件可以对应多个文件系统,也可以对应单一的文件系统,即不同文件系统对应的索引文件可以相同,也可以不同,这里不做具体限定。
例如:在得到不同版本号与所对应的文件标识之间的映射关系后,可以以文件方式保存,得到索引文件,即索引文件可以是一个结构化的JSON对象序列化成字符串后经Zlib压缩得到的文件;也可以以数据库的方式保存,在本说明书实施例中不做具体限定。下面以索引文件为例进行说明。
在本说明书实施例中索引文件中包含的同一个版本号对应的不同文件标识可以基于文件标识中包含的存储路径构成一个树形结构。
需要说明的是,索引文件中包含的文件标识可以包括但不限于:文件标识对应的文件在文件系统中的存储路径、文件MD5(SHA-1)码、文件大小、文件创建时间等文件属性信息。也就是说,文件系统中存储文件的文件内容,索引文件中存储文件的文件属性信息。
如表1所示,为文件标识包含的内容示意表:
表1
字段 |
说明 |
File Name |
文件名 |
sign |
文件签名 |
Sign Type |
签名类型 |
size |
文件大小 |
address |
在文件系统中的存储路径 |
Created Time |
创建时间 |
Last Modified Time |
最后修改时间 |
从表1中可看出,文件标识中包含文件名、在文件系统中的存储路径、文件签名、签名类型、文件大小、创建时间、最后修改时间等文件属性信息。
进一步需要说明的是,除了采用JSON方式之外,还可以采用xml或者JavaObject类序列化的方式存储文件标识,这里对于采用何种方式存储不做具体限定。
本说明书实施例中记载的外部接口,可以根据提供对外服务的不同,分为读文件接口、写文件接口、读版本列表接口,不同接口类型对应的传输字段的内容不同;也可以是一个综合接口,兼具备读文件、写文件和读版本列表的功能,这里不做具体限定。
通过外部接口能够接收用户发送的文件处理请求,并根据文件处理请求触发与索引系统和/或文件系统之间进行数据交互,以便于从文件系统中获取用户所需要的文件或者向文件系统中存储用户需要存储的文件。
图2为本说明书实施例提供的一种基于版本号对文件进行处理的方法流程图。该方法如下所示。
步骤201:获取文件系统中目标文件的文件标识和所对应的版本号。
在本说明书实施例中,可以向文件系统发送数据获取请求,并接收文件系统发送的已存储文件的文件标识和所对应的版本号;或者文件系统在接收创建指令时,将文件系统中已存储的目标文件的文件标识和所对应的版本号发送给创建对象(本说明书实施例中记载的索引系统)。
需要说明的是,本说明书实施例中所记载的目标文件可以是指文件系统中存储的所有文件,也可以是指文件系统中包含的部分文件,这里不做具体限定。这里的“目标”没有特指的含义。
这里文件系统的类型可以选择云存储文件系统或本地文件系统。其中,云存储文件系统可以选择FTP(File Transfer Protocol Server,缩写:FTP)文件系统、网络文件系统NFS(Network File System,NFS);本地文件系统可以选择第四代扩充套件文件系统EXT4(Fourth extended File System,缩写:EXT4)、新技术文件系统NTFS(New TechnologyFile System,缩写:NTFS)。对于文件系统的类型可以不限于以上所举示例,这里不做更多举例,文件系统的类型不限定本说明书保护范围。
本说明书实施例中文件系统可以是一个,也可以是多个,这里不做具体限定。
步骤203:根据目标文件的文件标识和所对应的版本号,创建索引文件,索引文件中包含版本号与所述版本号对应的至少一个目标文件的文件标识之间的映射关系。
在本说明书实施例中,在得到文件系统中不同目标文件的文件标识和所对应的版本号后,按照版本号将目标文件的文件标识进行分组,同一组的文件标识对应的版本号相同。针对得到的每一组的文件标识,建立多个文件标识与该组的版本号之间的映射关系,进而根据得到的映射关系,创建索引文件。
例如:文件系统中包含的文件有文件1、文件2和文件3,其中,文件1的文件标识和版本号为(B1、V1),文件2的文件标识和版本号为(B2、V1),文件3的文件标识和版本号为(B3、V2)。
由于文件1和文件2的版本号为V1,那么文件1和文件2在同一个分组中,那么创建得到的索引文件如表2所示:
表2
较优地,在本说明书实施例中,创建索引文件,包括:
针对不同的所述目标文件,分别执行:
若所述文件标识中包含所述目标文件的文件名和/或所述目标文件的存储路径,则建立所述目标文件的文件名、所述目标文件的存储路径与所述目标文件对应的版本号之间的映射关系;
在得到不同的所述目标文件对应的所述映射关系后,根据所述映射关系,创建索引文件。
这样,在一个索引文件中,可以包含多个索引项,每个索引项包含一个版本号与至少一个目标文件的文件标识的映射关系。
在实际应用中,一个文件可能适用于不同版本的软件,也就意味着一个文件可能对应多个版本号,那么建立目标文件的文件名和/目标文件的存储路径与目标文件对应的版本号之间的映射关系,包括:
若目标文件对应的版本号为第一版本号和第二版本号,则在建立目标文件的文件名、目标文件的存储路径与目标文件对应的第一版本号之间的第一映射关系后,建立第一映射关系与第二版本号之间的第二映射关系。
再例如:文件系统中包含的文件有文件1、文件2和文件3,其中,文件1的文件标识和版本号为(B1、V1,V2),文件2的文件标识和版本号为(B2、V1),文件3的文件标识和版本号为(B3、V2)。
那么创建得到的索引文件如表3所示:
表3
在本说明书实施例中,索引文件中包含的同一个版本号对应的不同文件标识可以基于文件标识中包含的存储路径构成一个树形结构。
较优地,在本说明书实施例中,所述方法还包括:
针对所述索引文件中包含的不同的版本号,分别执行以下操作:
确定所述版本号对应的所述目标文件的存储路径;
根据所述存储路径,得到所述存储路径的根地址,并建立所述版本号与所述根地址之间的映射关系,所述根地址为所述版本号对应的所述目标文件的根目录级存储地址。
例如:某一个版本号V1对应的文件标识包含B1、B2、B5、B6和B4,其中,B1对应的文件的存储路径为:AA/CC/DD;B2对应的文件的存储路径为:AA/CC/DD/EE;B4对应的文件的存储路径为:AA/CC/DD;B5对应的文件的存储路径为:AA;B6对应的文件的存储路径为:AA/CC。
通过分析可以确定版本号V1对应的文件标识的根地址为AA,那么可以建立版本号V1与AA之间的映射关系。
此外,在索引文件中还可以按照不同文件的存储路径,采用树形结构表示不同文件的文件标识与版本号之间的关系,如图3所示,为本说明书实施例提供的一种索引文件的示意图。
在本说明书实施例中,创建的索引文件中包含不同的版本号,所述方法还包括:
针对所述索引文件中包含的不同版本号,确定不同的所述版本号之间的关联关系;
根据所述关联关系,创建所述索引文件对应的版本文件。
针对每一个版本号,在版本文件中还可以包含版本号所对应的提交者、提交时间、父级版本号、提交内容说明(相比于父级版本对目标文件的改动内容)等等,如表4所示:
表4
字段 |
说明 |
Commit Author |
提交者 |
Commit Time |
提交时间 |
Commit Msg |
提交内容说明 |
Parent Commit Id |
父级版本号 |
tree |
对应根地址 |
需要说明的是,通过版本文件中每个版本号对应的父级版本号可以实现版本号的溯源。
通过本说明书实施例提供的技术方案,获取文件系统中目标文件的文件标识和所对应的版本号,可以创建索引文件,索引文件中包含版本号与至少一个目标文件的文件标识之间的映射关系。之后,基于已创建的索引文件,可以从文件系统中获取目标文件、获取符合版本查询条件的不同版本号对应的目标文件等等。这样,针对不同的文件系统按照本说明书提供的技术方案创建索引文件,可以有效提升文件系统对所管理的文件的控制效率;同时利用创建的索引文件,能够方便快捷地为用户提供文件的读写服务,提升用户对文件系统的用户体验。
基于创建的索引文件,用户可以便捷地实现对文件系统中存储的文件进行控制。
图4为本说明书实施例提供的一种基于版本号对文件进行处理的方法的流程示意图。该方法如下所示。
步骤402:接收用户发送文件查询请求,所述文件查询请求中包含待查询的文件名。
在本说明书实施例中,可以通过读接口接收用户发送的文件查询请求。
在说明书实施例中“读接口”输入参数可以定义如下表5所示:
表5
参数 |
值 |
File Name |
文件名 |
directory |
文件目录名(可空) |
version |
版本号(可空) |
步骤404:判断所述文件查询请求中是否包含版本号,若不包含,则执行步骤406;若包含则执行步骤412。
步骤406:从版本文件中查询最新的版本号,并根据所述版本号,从索引文件中查找包含所述版本号的索引项。
步骤408:根据所述索引项,确定所述文件查询请求中包含的所述文件名对应的存储路径。
步骤410:基于所述存储路径从文件系统中获取文件,并将所述文件返回给所述用户。
在本说明书实施例中,可以通过读接口将所述文件返回给所述用户。
在说明书实施例中“读接口”输出参数可以定义如下表6所示:
表6
参数 |
值 |
File Name |
文件名 |
content |
文件内容的字节流 |
directory |
文件目录名 |
size |
文件大小 |
sign |
文件签名 |
Sign Type |
签名类型(MD5,SHA-1) |
Created Time |
文件创建时间 |
Last Modified Time |
文件最后修改时间 |
步骤412:根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定与所述文件查询请求中包含的所述版本号对应的文件标识,并从文件标识中查找出包含待查询的文件名的文件标识。
步骤414:根据查找的文件标识,确定待查询的文件名对应的存储路径。
步骤416:基于所述存储路径从文件系统中获取文件,并将所述文件返回给所述用户。
图5为本说明书实施例提供的一种基于版本号对文件进行处理的方法的流程示意图。该方法如下所示。
步骤501:接收用户发送的版本查询请求,所述版本查询请求包含版本查询条件。
这里版本查询条件为用户根据自身需求而设定,例如用户想要获悉某一目标文件的改动痕迹,版本查询条件可以是该目标文件的文件名;例如用户想要获悉某具体提交者提交的各文件版本,版本查询条件可以是提交者的用户名、姓名等信息。
在本说明书实施例中,可以通过读版本接口接收用户发送的版本查询请求。
在说明书实施例中“读版本接口”输入参数可以定义如下表7所示:
表7
参数 |
值 |
File Name |
文件名 |
Begin Version |
搜索的开始版本号 |
End Version |
搜索的结束版本号 |
author |
搜索操作者 |
步骤503:根据索引文件中包含的版本号与所述版本号对应的目标文件的文件标识之间的映射关系,确定满足所述版本查询条件的文件标识。
在本说明书实施例中,需要先根据版本查询条件确定版本号,方式可以包括但不限于以下方式:
若版本查询条件中包含版本号,则将版本查询条件中包含的版本号确定为待查询的版本号。
若版本查询条件中未包含版本号,则从最新的版本号开始,依照各版本号之间的关联关系,确定满足版本查询条件的待查询的版本号。
根据确定的待查询的版本号,从版本文件中查找与待查询的版本号对应的版本信息,并通过读版本接口将查询到的版本信息发送给用户。
在本说明书实施例中,可以通过读版本接口将查询到的版本信息发送给用户。
在说明书实施例中“读版本接口”输出参数可以定义如下表8所示:
表8
步骤505:根据确定的文件标识,从文件系统中读取与文件标识对应的目标文件。
步骤507:将读取的各版本号对应的目标文件返回给用户。
相比于现有技术中直接从体积庞大的文件系统中查询、读取所需目标文件,利用本说明书实施例所提方法,因索引文件中并不包含目标文件的具体内容,体积小,文件处理设备可以快速且高效地查询并获取所需目标文件,用户体验良好。
图6为本说明书实施例提供的一种基于版本号对文件进行处理的方法的流程示意图。该方法如下所示。
步骤602:接收用户发送的文件处理请求,所述文件处理请求中包含目标文件的文件标识。
在本说明书实施例中,文件处理请求可以为用户对文件系统中的文件进行更新的处理请求,这里的更新包含但不限于:新增文件、修改文件中的一种或者多种。
1、若文件处理请求中包含的目标文件的文件标识是一个新增文件的文件标识。
在这种情形下,文件处理请求可以通过新增文件接口接收用户发送的文件处理请求。
在说明书实施例中“新增文件接口”输入参数可以定义如下表9所示:
表9
参数 |
值 |
File Name |
文件名 |
content |
目标文件内容的字节流 |
directory |
目标文件目录名(可空) |
author |
操作者 |
Commit Msg |
变更内容注释(可空) |
参照表9,文件名为新增目标文件的文件名,目标文件内容的字节流为以字节形式输入的目标文件内容,目标文件目录名为新增目标文件在文件系统中的存储路径对应的根地址,变更内容注释为对新增目标文件的内容注释。
2、若文件处理请求中包含的目标文件的文件标识是一个修改文件的文件标识。
在这种情形下,若文件处理请求可以通过修改文件接口接收用户发送的文件处理请求。
在说明书实施例中“修改文件接口”输入参数可以定义如下表10所示:
表10
参数 |
值 |
Old FileName |
旧文件名 |
New FileName |
新文件名(可空) |
Content |
文件内容的字节流 |
Directory |
文件目录名(可空) |
Commit Author |
操作者 |
Commit Msg |
变更内容注释(可空) |
不同于表9,此时变更内容注释可以包含:在旧文件名对应的目标文件中增加一个字段、或者对旧文件对应的目标文件中的字段进行更高。
步骤604:确定目标文件对应的版本号,并建立版本号与文件标识之间的映射关系。
在本说明书实施例中,确定目标文件对应的版本号,可以包括:
若文件标识中包含目标文件在文件系统中的存储路径,则根据存储路径,确定存储路径对应的根地址是否对应一个版本号;
若无对应的版本号,则创建新的版本号,并将新的版本号确定为目标文件对应的版本号;
若有对应的版本号,则将根地址对应的版本号确定为目标文件对应的版本号。
例如,表9、表10,输入参数中的目标文件目录名为非空状态,则将输入的目标文件目录名确定为目标文件在文件系统中的存储路径的根地址,并进一步确定该根地址是否对应一个版本号。
在本说明书实施例中,创建新的版本号,包括:
若文件处理请求中包含目标文件内容的字节流,则按照算法规则,对目标文件内容的字节流进行计算,得到计算值,将该计算值作为新的版本号。对于算法规则,可以包含但不限于哈希计算规则,得到的计算值为哈希值。对算法规则,在此不作具体限定。
无论文件处理请求中是否包含目标文件内容的字节流,还可以按照设定命名规则创建新的版本号。例如根据设定命名规则,可以在父级版本号的基础上命名新的版本号,如父级版本号为A1,新版本号可以A2。具体规则不受限定,可作相应定义。
在本说明书实施例中,可以在确定目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系之前,根据目标文件的文件标识,确定在文件系统中是否存储目标文件:
若否,在文件系统中创建目标文件,并得到目标文件在文件系统中的存储路径;之后将存储路径写入到文件标识中。
若是,从文件系统中获取目标文件在文件系统中的存储路径。
在本说明书实施例中,根据目标文件的文件标识,确定在文件系统中是否存储目标文件,包括:
利用文件标识作为查询关键字,在文件系统中检索,确定目标文件是否存储在文件系统中。
以文件标识作为查询关键字,在文件系统中查询目标文件时,查询关键字可以选择文件名,或者可以选择文件名、文件大小和文件签名的组合。考虑到可能出现的重名问题,采用后者这种组合关键字,可以确保查询精确度和唯一性。其中,文件大小可以根据文件处理请求中包含的目标文件内容的字节流进行计算得到,文件签名可以根据系统配置的设定签名规则运算得到,设定签名规则可以选择信息-摘要算法5(Message-DigestAlgorithm 5,缩写:MD5)或安全散列算法(Secure Hash Algorithm,缩写SHA)等,对设定签名规则的类型不作具体限定。
优选地,若文件标识中包含目标文件在文件系统中的存储路径,则根据存储路径,确定在存储路径对应的存储地址中是否存储目标文件。
例如,参照表9、表10中的输入参数,若输入参数中的目标文件目录名为非空状态,则可以根据文件标识中的文件名,在目标文件的目录名下进行查询,确定目标文件是否存储在文件系统中。
在本说明书实施例中,若文件标识中包含目标文件的内容(参照表9、图10中的变更内容注释),则在文件系统的存储路径对应的存储地址中创建目标文件后,可以将目标文件的内容存储在创建的目标文件中。
在本说明书实施例中,建立版本号与文件标识之间的映射关系,包括建立版本号、目标文件的文件名、目标文件的存储路径之间的映射关系。这可以参考步骤203的内容,具体不作展开说明。
步骤606:根据映射关系,更新文件系统对应的索引文件,索引文件中包含文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
更新文件系统对应的索引文件包含:
在索引文件中增加执行步骤604之后建立的版本号与目标文件的文件标识之间的映射关系。
在本说明书实施例中,该基于版本号对文件进行处理的方法还包括:
确定执行步骤604之后所确定的版本号的父级版本号;
建立所述新的版本号与父级版本号之间的映射关系。
根据映射关系,更新索引文件对应的版本文件,版本文件中包含文件系统中包含的不同的版本号之间的关联关系(可参考上文步骤203的内容及表4)。
更新索引文件对应的版本文件,包含:
在版本文件中所述新的版本号与父级版本号之间的映射关系。这样,新的版本号与父级版本号之间建立关联关系,并进一步与其他版本号之间建立关联关系。
利用本说明书实施例提供的基于版本号对文件进行处理的方法,可根据文件系统中目标文件的更改,随时更新索引文件,索引文件处于动态更新中,实现对文件系统中目标文件的高效控制。
在更新版本文件之后,索引系统可以向用户返回更新的版本信息。
1、若步骤601通过“新增文件接口”接收文件处理请求,则可以通过新增文件接口将更新的版本信息发送给用户。
在说明书实施例中“新增文件接口”输出参数可以定义如下表11所示:
表11
其中,版本号为新增目标文件所对应的版本号。
2、若步骤601通过“修改文件接口”接收文件处理请求,可以通过修改文件接口将更新的版本信息发送给用户。
在说明书实施例中“修改文件接口”输出参数可以定义如下表12所示:
表12
其中,版本号包含修改目标文件对应的新版本号,及被修改目标文件对应的旧版本号,该旧版本号可以为父级版本号。
进一步需要说明的是,若更改的目标文件为对文件系统中的历史版本号对应的目标文件进行修改得到的修改目标文件,在接收用户发送的文件处理请求之后,该基于版本号对文件进行处理的方法还包括:
若文件标识包含第一文件标识和第二文件标识,则在第一文件标识与第二文件标识不同且确定第一文件标识对应的目标文件存储在文件系统中的情况下,将第一文件标识修改为第二文件标识;
将索引文件中包含的第一文件标识与目标文件对应的版本号之间的映射关系修改为第二文件标识与目标文件对应的版本号之间的映射关系。
其中第一文件标识可以为表10中旧文件名,第二文件版本可以为表10中新文件名。
若在第一文件标识与第二文件标识不同且确定第二文件标识对应的目标文件未存储在文件系统中时,根据文件标识中包含目标文件对应的存储路径,在文件系统的存储路径对应的存储地址中创建目标文件,并建立目标文件与第二文件标识之间的映射关系。
图7为本说明书实施例提出的一种基于版本号对文件进行处理的设备的结构图,该设备包括:
获取模块71,获取文件系统中目标文件的文件标识和所对应的版本号;
创建模块72,根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与所述版本号对应的至少一个所述目标文件的文件标识之间的映射关系。
可选地,创建模块72,创建索引文件,包括:
针对不同的所述目标文件,分别执行:
若文件标识中包含目标文件的文件名和/或目标文件的存储路径,则建立目标文件的文件名、目标文件的存储路径与目标文件对应的版本号之间的映射关系;
在得到不同的所述目标文件对应的所述映射关系后,根据映射关系,创建索引文件。
可选地,创建模块72,建立目标文件的文件名和/目标文件的存储路径与目标文件对应的版本号之间的映射关系,包括:
若目标文件对应的版本号为第一版本号和第二版本号,则在建立目标文件的文件名、目标文件的存储路径与目标文件对应的第一版本号之间的第一映射关系后,建立第一映射关系与第二版本号之间的第二映射关系。
可选地,创建模块72,还针对索引文件中包含的不同的版本号,分别执行以下操作:
确定版本号对应的目标文件的存储路径;
根据所述存储路径,得到所述存储路径的根地址,并建立版本号与根地址之间的映射关系,根地址为版本号对应的目标文件的根目录级存储地址。
可选地,所述设备还包括:版本文件创建模块73,其中:
版本文件创建模块73,针对索引文件中包含的不同的版本号,确定各版本号之间的关联关系;
根据关联关系,创建索引文件对应的版本文件。
需要说明的是,本说明书实施例所记载的基于版本号对文件进行处理的设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。
这样,在基于版本号对文件进行处理的设备中创建索引文件,该设备可以作为获取文件系统中的目标文件的媒介,使得用户可以通过该设备读取索引文件或继续更新该索引文件,十分便捷,用户体验良好。
基于同一个发明构思,本说明书实施例还提供一种基于版本号对文件进行处理的设备,该设备包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
获取文件系统中目标文件的文件标识和所对应的版本号;
根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与所述版本号对应的至少一个所述目标文件的文件标识之间的映射关系。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
获取文件系统中目标文件的文件标识和所对应的版本号;
根据所述目标文件的文件标识和所对应的所述版本号,创建索引文件,所述索引文件中包含版本号与所述版本号对应的至少一个所述目标文件的文件标识之间的映射关系。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
图8为本说明书实施例提供的一种基于版本号对文件进行处理的设备的结构图,该设备包括:
接收模块81,接收用户发送的文件处理请求,文件处理请求中包含目标文件的文件标识;
确定模块82,确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
更新模块83,根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
可选地,确定模块82确定目标文件对应的版本号,包括:
若文件处理请求中包含目标文件在文件系统中的存储路径,则根据存储路径,确定存储路径对应的根地址是否对应一个版本号;
若无对应的版本号,则创建新的版本号,并将新的版本号确定为目标文件对应的版本号。
可选地,确定模块82在建立所述版本号与所述文件标识之间的映射关系之前,根据所述目标文件的文件标识,确定在所述文件系统中是否存储所述目标文件:
根据目标文件的文件标识,确定在文件系统中是否存储目标文件;
若否,则在文件系统中创建所述目标文件,并得到目标文件在文件系统中的存储路径;
将存储路径写入文件标识中。
可选地,所述设备还包括:创建模块84,其中:
创建模块84,在建立所述版本号与所述文件标识之间的映射关系之前,若所述文件标识中包含目标文件在文件系统中的存储路径,则根据所述存储路径,确定在所述存储路径对应的存储地址中是否存储所述目标文件;
若否,则在文件系统的所述存储路径对应的存储地址中创建所述目标文件。
可选地,所述设备还包括:存储模块85,其中:
存储模块85,在文件系统的所述存储路径对应的存储地址中创建所述目标文件后,将所述文件处理请求中包含的文件内容存储在创建的所述目标文件中。
可选地,确定模块82建立所述版本号与所述文件标识之间的映射关系,包括:
建立版本号、目标文件的文件名、目标文件的存储路径之间的映射关系。
可选地,确定模块82,在创建新的版本号后,确定新的版本号的父级版本号以及确定新的版本号对应的根地址;
确定模块82,建立新的版本号、根地址与父级版本号之间的映射关系;
更新模块83,根据所述映射关系,更新所述索引文件对应的版本文件,所述版本文件中包含所述文件系统中包含的不同的版本号之间的关联关系。
可选地,所述设备还包括:修改模块86,其中:
所述修改模块86,若文件标识中包含第一文件标识和第二文件标识,则在第一文件标识与第二文件标识不同且确定第一文件标识对应的目标文件存储在文件系统中的情况下,将第一文件标识修改为第二文件标识;
将索引文件中包含的第一文件标识与目标文件对应的版本号之间的映射关系修改为第二文件标识与目标文件对应的版本号之间的映射关系。
可选地,所述修改模块86,在所述第一文件标识与所述第二文件标识不同且确定所述第二文件标识对应的目标文件未存储在文件系统中时,根据所述文件标识中包含目标文件对应的存储路径,在文件系统的所述存储路径对应的存储地址中创建所述目标文件,并建立所述目标文件与所述第二文件标识之间的映射关系。
这样,基于版本号对文件进行处理的设备具有读写功能,在对已有版本号对应的目标文件进行修改或新建目标文件之后,用户可以对该设备中的索引文件进行更新,这样该设备可以提供历史版本号对应的目标文件及最新的版本号对应的目标文件。这些更新主要由设备实现,对用户来说负担轻,操作方便。
基于同一个发明构思,本说明书实施例还提供一种基于版本号对文件进行处理的设备,该设备包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
接收用户发送的文件处理请求,文件处理请求中包含目标文件的文件标识;
确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
接收用户发送的文件处理请求,文件处理请求中包含目标文件的文件标识;
确定所述目标文件对应的版本号,并建立所述版本号与所述文件标识之间的映射关系;
根据所述映射关系,更新文件系统对应的索引文件,所述索引文件中包含所述文件系统中不同的目标文件的文件标识与版本号之间的映射关系。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
图9为本说明书实施例提供的一种基于版本号对文件进行处理的设备的结构图,该设备包括:
接收模块91,接收文件查询请求,文件查询请求包含目标文件对应的版本号和目标文件的文件名;
确定模块92,根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定目标文件在文件系统中的存储路径;
读取模块93,基于存储路径,从文件系统中读取目标文件。
这样,该设备提供一种对文件系统中的目标文件的便捷读取方式。
基于同一个发明构思,本说明书实施例还提供一种基于版本号对文件进行处理的设备,该设备包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
接收文件查询请求,文件查询请求包含目标文件对应的版本号和目标文件的文件名;
根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定目标文件在文件系统中的存储路径;
基于存储路径,从文件系统中读取目标文件。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
接收文件查询请求,文件查询请求包含目标文件对应的版本号和目标文件的文件名;
根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定目标文件在文件系统中的存储路径;
基于存储路径,从文件系统中读取目标文件。
图10为本说明书实施例提供的一种基于版本号对文件进行处理的设备的结构图,该设备包括:
接收模块1001,接收用户发送的版本查询请求,版本查询请求包含版本查询条件;
确定模块1002,根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定满足版本查询条件的文件标识;
读取模块1003,根据文件标识,从文件系统中读取与文件标识对应的目标文件。
这样,该设备可以提供一种对文件系统中各版本号所对应的目标文件的便捷读取方式。
基于同一个发明构思,本说明书实施例还提供一种基于版本号对文件进行处理的设备,该设备包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:
接收用户发送的版本查询请求,版本查询请求包含版本查询条件;
根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定满足版本查询条件的文件标识;
根据文件标识,从文件系统中读取与文件标识对应的目标文件。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:
接收用户发送的版本查询请求,版本查询请求包含版本查询条件;
根据索引文件中包含的版本号与版本号对应的目标文件的文件标识之间的映射关系,确定满足版本查询条件的文件标识;
根据文件标识,从文件系统中读取与文件标识对应的目标文件。
其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。