CN115757270A - 一种文件版本管理系统、方法及计算机设备 - Google Patents
一种文件版本管理系统、方法及计算机设备 Download PDFInfo
- Publication number
- CN115757270A CN115757270A CN202211035543.8A CN202211035543A CN115757270A CN 115757270 A CN115757270 A CN 115757270A CN 202211035543 A CN202211035543 A CN 202211035543A CN 115757270 A CN115757270 A CN 115757270A
- Authority
- CN
- China
- Prior art keywords
- file
- version
- managed
- version management
- host
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了文件版本管理系统、方法及计算机设备。包括:版本管理服务器以及至少一台待管理主机;各待管理主机与版本管理服务器连接;待管理主机包括:文件监控模块及版本管理模块;用于当监控到所处待管理主机上存在文件更新时,生成文件更新信息,并发送至版本管理模块;进行文件版本本地管理,并将生成的文件版本管理信息发送给版本管理服务器;对文件版本管理信息进行备份管理。通过在待管理主机中配置文件监控模块及版本管理模块,主动对文件进行监控,对文件更新进行详细记录并自动提交备份,对不同版本下的文件进行存储,实现了文件的可追溯性,避免了版本管理遗漏及版本陈旧的问题,实现了版本库本身备份和容灾操作自动化。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件版本管理系统、方法及计算机设备。
背景技术
随着软件开发规模的扩大,系统模块及程序数量也在增加,对于部分系统,在各程序间流转文件,以及文件的版本管理功能要求日益增加。
目前,对于不同的程序存放于什么主机上等信息,都是通过单独的管理系统或者文档保存,版本管理孤岛运行,缺少整体控制,无法解决统一管理。并且这些程序的版本控制都是由人去上线提交到版本库,需要人为管理提交,可能产生版本遗漏的问题。
发明内容
本发明提供了一种文件版本管理系统、方法及计算机设备,以实现对文件版本的管理。
根据本发明的第一方面,提供了一种文件版本管理系统,包括:版本管理服务器以及至少一台待管理主机;各所述待管理主机与所述版本管理服务器连接;
所述待管理主机包括:文件监控模块及版本管理模块;
所述文件监控模块,用于当监控到所处待管理主机上存在文件更新时,生成文件更新信息,并发送至所述版本管理模块;
所述版本管理模块,用于基于所述文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给所述版本管理服务器;
所述版本管理服务器,用于对接收的文件版本管理信息进行备份管理;
其中,所述文件更新包括:文件新增、文件修改以及文件删除。
根据本发明的第二方面,提供了一种文件版本管理方法,包括:
当监控到所处待管理主机上存在文件更新时,生成文件更新信息,并发送至所述版本管理模块;
基于所述文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给所述版本管理服务器;
对接收的文件版本管理信息进行备份管理;
其中,所述文件更新包括:文件新增、文件修改以及文件删除。
根据本发明的第三方面,提供了一种计算机设备,作为如上述实施例提供的文件版本管理系统中的待管理主机或者版本管理服务器所述计算机设备包括:
一个或多个处理器;
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的文件版本管理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的文件版本管理方法。
本发明实施例的技术方案,通过在待管理主机中配置文件监控模块及版本管理模块,主动对文件进行监控,对文件更新进行详细记录并自动提交备份,对不同版本下的文件进行存储,实现了文件的可追溯性,避免了版本管理遗漏及版本陈旧的问题,实现了版本库本身备份和容灾操作自动化。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种文件版本管理系统的结构框图;
图2是根据本发明实施例二提供的一种文件版本管理方法的流程图;
图3是根据本发明实施例二提供的一种文件版本管理方法的实现示例图;
图4是实现本发明实施例文件版本管理系统的计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种文件版本管理系统的结构框图。本实施例可适用于对文件的版本管理以及文件流转的情况,如图1所示,该系统包括:版本管理服务器11以及至少一台待管理主机12;各待管理主机12与版本管理服务器11连接,版本管理服务器11与版本管理前端设备13连接,版本管理服务器11与分布式文件系统14连接,。
具体的,版本管理服务器11可以通过接收版本管理者发送的各待管理主机12的主机信息,通过设定的连接方式与各待管理主机12建立连接。
待管理主机12包括:文件监控模块及版本管理模块。
在本实施例中,待管理主机12可以理解为需要对其中文件版本进行管理的主机。文件监控模块可以理解为对文件进行自动监控的程序。版本管理模块可以理解为对文件版本进行自动管理的程序。
具体的,在待管理主机12上可以预先设置文件监控模块及版本管理模块,在使用时待管理主机12后台可以自动调用文件监控模块及版本管理模块。
文件监控模块,用于当监控到所处待管理主机12上存在文件更新时,生成文件更新信息,并发送至版本管理模块。
其中,文件更新包括:文件新增、文件修改以及文件删除。
在本实施例中,文件更新信息可以理解为针对有变更的文件生成的包括文件具体发生变化的内容及当前文件。
具体的,文件监控模块可以根据版本管理者设定的时间间隔对待管理主机12存放的文件夹或文件进行自动扫描,如每隔10分钟对待管理主机12相应的文件夹或文件进行扫描,可以通过设定的方法将文件名相同的当前的文件信息及已保存的上一版本的文件信息进行比对。其中,文件信息中可以包括:该文件的修改时间、日期、大小等信息。通过比对结果判断该文件是否有文件新增、文件修改及文件删除,当存在文件更新时,文件监控模块可以根据发生更新的内容及对应的文件生成文件更新信息,将文件更新信息发送至版本管理模块。
示例性的,文件监控模块通过文件信息的比对,发现当前版本文件的修改时间、日期及大小均发生了变化,则认为该版本文件发生了修改,则将文件大小变化情况传送及该版本文件生成文件更新信息,并发送至版本管理模块。
版本管理模块,用于基于文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给版本管理服务器11。
在本实施例中,文件版本可以理解为软件程序每次进行更改均会自动对其对应的文件内容进行修改,每次修改则生成新的一个文件版本。文件版本管理信息可以包括通过加密处理后的该文件版本存放的主机信息及主机中具体目录下的位置信息、时间、文件名、版本号、相应的版本文件及版本操作记录等。
具体的,版本管理模块接收到版本管理模块传送的文件更新信息,若文件更新信息对应的文件更新为文件删除,则版本管理模块可以在版本库中查找上一版本文件及相关版本操作记录等信息,并对其进行删除。若文件更新信息对应的文件更新为文件新增或文件修改,则可以在该版本文件原有的版本号基础上进行加1得到当前版本号,将该版本文件发生的具体变更内容生成对应的版本操作记录,如在某个时间对版本1的文件进行了修改得到了版本2。对当前版本文件及版本操作记录进行加密。优选地,可以采用信息摘要算法进行加密。并将加密后的当前版本文件及版本操作记录存入本地版本库,将该版本管理模块对应的主机地址、存入的目录信息、文件权限、时间、文件名、版本号、版本文件及版本操作记录等信息根据信息摘要算法进行加密处理,生成文件版本管理信息,并将文件版本管理信息发送至版本管理服务器11。
版本管理服务器11,用于对接收的文件版本管理信息进行备份管理。
在本实施例中,版本管理服务器11可以理解可以为对多个待管理主机12进行版本管理的服务器。
具体的,版本管理服务器11可以预先与待管理主机12建立连接,接收待管理主机12中的版本管理模块发送的文件版本管理信息,可以将文件版本管理信息中的主机地址、存入的目录信息、版本操作记录及文件权限存入版本管理服务器11的数据库中,将加密后的文件版本管理信息中的版本文件备份上传至分布式文件系统14,并随机选取一台主机进行备份存储。
本实施例一所提供的文件版本管理系统,通过在待管理主机12中配置文件监控模块及版本管理模块,主动对文件进行监控,对文件更新进行详细记录并自动提交备份,对不同版本下的文件进行存储,实现了文件的可追溯性,避免了版本管理遗漏及版本陈旧的问题,实现了版本库本身备份和容灾操作自动化。
进一步地,文件监控模块,具体用于:
文件夹监控单元,用于对所处待管理主机12上的各待管理文件夹或文件进行监控,当从各待管理文件夹中判定存在更新文件夹时,将更新文件夹反馈至文件监控单元。
在本实施例中,待管理文件夹或文件可以理解为根据使用者的需求设定的需要进行监控的文件夹或文件。更新文件夹可以理解为文件夹中的文件发生变化、文件夹删除或文件夹新增等情况。
具体的,可以按照版本管理者设定的时间间隔对所处待管理主机12上的各待管理文件夹或文件进行自动扫描,可以通过设定的方法将文件夹名相同的当前的文件夹信息及已保存的上一版本的文件夹信息进行比对,通过比对结果判断各待管理文件夹中是否存在更新文件夹,若上一版本的文件夹信息与当前版本的文件夹信息不对应。如可以是新增了文件夹,即无上一版本文件夹信息,可以是删除了文件夹,即存在上一版本文件夹信息而没有当前版本文件夹信息。则待管理文件发生了变化;若上一版本的文件信息与当前版本的文件信息一致,则待管理文件没有发生变化。如果存在更新文件夹,则将更新文件夹反馈至文件监控单元,通过文件监控单元对更新文件夹中的各文件进行监控。
其中,文件夹监控单元,具体用于:
针对所处待管理主机12上的每个待管理文件夹,通过二分查找确定待管理文件夹是否存在更新。
在本实施例中,待管理文件夹可以理解为根据一个程序对应的多个文件形成的文件夹。二分查找算法可以理解为根据排序好的位置对相关内容进行查找,用于判断文件夹中的文件增加、删除的方法。
具体的,针对所处待管理主机12上的每个待管理文件夹,通过将文件夹按照创建时间进行排序,根据排序后的各文件夹的位置,对各文件夹进行二分查找,判断文件夹的增加或者删除,确定待管理文件夹是否存在更新。通过将文件夹中的所有文件按照创建时间进行排序,根据排序后的各文件的位置,对各文件进行二分查找,判断文件增加或者删除,根据待管理文件夹内部文件是否发生增加或者删除,确定待管理文件夹是否存在更新。
如果存在更新,则确定存在更新文件夹,并将待管理文件夹记为更新文件夹。
具体的,经过二分查找算法判断后,可以得知待管理文件夹中包含的文件出现了新增文件或者对原有的文件进行了删除,则认为该待管理文件夹存在更新,文件夹监控单元将该文件夹确定为更新文件夹,文件夹监控单元将更新文件夹发送至文件监控单元,通过文件监控单元对更新文件夹中的各文件进行进一步的监控。
文件监控单元,用于对更新文件夹中各待管理文件进行监控,当从各待管理文件中判定存在更新文件时,生成文件更新信息,并将文件更新信息发送至版本管理模块。
具体的,文件监控单元接收文件夹监控单元传送的更新文件夹,对更新文件夹中的各待管理文件进行监控,每个文件均有对应的名称,文件监控单元可以根据文件名称获取待管理文件的上一版本的文件信息,通过设定的方法将上一版本的文件信息与当前待管理文件的文件信息进行比对,若上一版本的文件信息与当前版本的文件信息不对应,则待管理文件发生了变化;若上一版本的文件信息与当前版本的文件信息一致,则待管理文件没有发生变化。确定待管理文件是否发生了变化,若发生了变化,则认为存在更新文件。当从各待管理文件中判定存在更新文件时,根据文件发生的变化内容以及当前版本下的待管理文件,生成文件更新信息,并将文件更新信息发送至版本管理模块。
其中,文件监控单元,具体用于:
针对所接收更新文件夹中的每个待管理文件,通过给定的信息摘要算法判定待管理文件是否存在变更。
在本实施例中,信息摘要算法可以理解为确定两文件是否一致的算法。
具体的,文件监控单元针对所接收的更新文件夹中的每个待管理文件,文件监控单元可以根据每个待管理文件的文件名称,获取该待管理文件的上一版本的文件信息,通过给定的信息摘要算法将上一版本的文件信息与当前待管理文件的文件信息进行比对,若上一版本的文件信息与当前版本的文件信息不对应,则待管理文件发生了变化;若上一版本的文件信息与当前版本的文件信息一致,则待管理文件没有发生变化。如可以是新增了文件,即无上一版本文件信息;可以是删除了文件,即存在上一版本文件信息而没有当前版本文件信息;可以是对文件内容进行了修改,即当前版本文件信息中的时间、文件大小与上一版本文件信息中的时间、文件大小均不同。
如果存在变更,则确定存在更新文件,基于更新文件生成待管理主机12的文件更新信息,并发送至版本管理模块。
具体的,当从各待管理文件中判定存在更新文件时,根据文件发生的变化内容以及当前版本下的待管理文件,生成文件更新信息。如文件更新信息可以包括当前版本下的待管理文件以及该待管理文件的文件大小发生了变化,或待管理文件进行了删除操作等。文件监控单元将文件更新信息发送至版本管理模块。
进一步地,版本管理模块,包括:
信息确定单元,用于根据接收的文件更新信息,确定版本变更记录。
在本实施例中,版本变更记录可以包括:当前版本下的版本文件、版本操作记录、当下版本对应的文件信息、存储的目录信息、文件权限及对应的版本号等。其中,版本操作记录可以理解为当前版本文件与上一版本文件相比发生了何种变化的记录。版本号可以理解为用于区分待管理文件每个版本的标识。存储的目录信息可以理解为对应预先设定的本地版本库的信息。
具体的,信息确定单元接收文件监控单元传送的文件更新信息,根据文件更新信息中待管理文件发生的变化内容确定版本操作记录,并根据上一版本中的版本号进行当前版本号的确定,版本号可以是待管理文件每更改或新增一次,则对上一版本号加1,若为删除,则不对上一版本的版本号进行操作。将文件更新信息中的当前版本下的版本文件、生成的版本操作记录、当下版本对应的文件信息、存储的目录信息、文件权限及对应的版本号等信息通过信息算法进行加密,将加密后的内容作为版本变更记录。
本地管理单元,用于对版本变更记录进行本地存储。
具体的,本地管理单元将版本变更记录发送至预先设定的本地版本库中,进行本地存储。
信息发送单元,用于将版本变更记录发送至版本管理服务器11。
具体的,版本管理模块中的信息发送单元可以将版本变更记录发送至版本管理服务器11。
进一步地,版本管理服务器11,具体用于:
接收版本变更记录,确定版本变更记录的关联待管理主机12。
在本实施例中,关联待管理主机12可以理解为发送版本变更记录的待管理主机12,即该待管理主机12中发生了文件更新。
具体的,版本管理服务器11接收待管理主机12中相应版本管理模块发送的版本变更记录,版本管理服务器11可以确定发送版本变更记录的待管理主机12,将该版本变更记录与待管理主机12建立关联,即确定版本变更记录的关联待管理主机12。
将版本变更记录中的版本变更信息及关联待管理主机12的主机信息,发送至数据库进行存储。
在本实施例中,版本变更信息可以理解为加密后的当前版本更新文件的相关信息,可以包括存入的目录信息、版本操作记录及文件权限。主机信息可以理解为用于识别主机的信息,如主机的IP地址、主机号等。
具体的,可以将文件版本变更记录中的版本变更信息,如存入的目录信息、版本操作记录及文件权限及关联待管理主机的主机信息存入版本管理服务器11的数据库中。
将版本变更记录中的更新文件,上传到分布式文件系统14或文件管理系统中并关联记录。
在本实施例中,分布式文件系统14可以优选为HDFS。文件管理系统可以优选为FTP。
具体的,版本管理服务器11可以将加密后的更新文件备份上传至分布式文件系统14或文件管理系统中,并对上传的位置与加密后的更新文件进行关联记录。
从除关联待管理主机12外的其他待管理主机12中选定至少一个,作为目标备份主机。
具体的,版本管理服务器11可以随机选取除关联待管理主机12外的其他待管理主机12中的至少一个,作为目标备份主机。
将更新文件,备份到目标备份主机上。
具体的,根据版本管理服务器11随机选取的目标备份主机,将加密后的更新文件上传至目标备份主机上进行备份,并建立该加密后的更新文件与目标备份主机的关联。
进一步地,文件版本管理系统,还包括:版本管理前端设备13。
版本管理前端设备13,用于接收版本管理者的版本管理请求,并将版本管理请求反馈至版本管理服务器11。
在本实施例中,版本管理前端设备13可以理解为版本管理者可以查看及控制的前端设备。版本管理请求可以包括管理者发送的想要恢复某一版本的文件的请求、配置文件等。其中,配置文件可以包括管理者设定的扫描间隔时间、待管理主机12的主机信息等,使文件监控模块可以按照配置文件中的规则进行自动扫描。
具体的,版本管理前端设备13与版本管理者的终端设备相连接,版本管理者可以查看某一文件对应的所有版本文件,当版本管理者想要对该文件的某一版本文件进行恢复时,根据该版本文件关联的版本变更记录自动生成该版本文件的版本管理请求并发送至向版本管理前端设备13。则版本管理前端设备13,接收版本管理者发送的版本管理请求,并将版本管理请求发送至版本管理服务器11。
示例性的,想要恢复文件名为a的第3版本文件,则根据其关联的版本变更记录,根据版本记录显示该版本文件存放在x主机的d目录下,并获取文件的权限,对应生成版本管理请求。则版本管理前端设备13,接收版本管理者发送的版本管理请求,并将版本管理请求发送至版本管理服务器11。
版本管理服务器11,用于确定所接收的版本管理请求对应的目标待管理主机12,并基于版本管理请求对目标待管理主机12进行文件版本管理。
具体的,版本管理器接收版本管理请求,根据版本管理请求中的存放位置信息查找与版本管理请求对应的目标待管理主机12,从而确定想要恢复的版本文件存放于哪台主机的哪个目录下,并根据文件的权限,将unix、aix、linux等文件权限复制为原有的情况,并将该版本文件对相应的当前版本文件进行替换,保证程序或者文件权限的一致性。如当前为第4版本文件,想要恢复的为第2版本文件,并查找第2版本文件对应的文件权限,对文件的权限进行恢复,并将当前的第4版本文件变更为第2版本文件。由于发生了替换,则文件监控模块可以监控到该主机上存在文件更新,则按照上述步骤进行后续的文件版本管理操作。
进一步地,版本管理服务器11,具体用于:
确定所接收的版本管理请求对应的目标待管理主机12。
将版本管理请求发送至所述目标待管理主机12的版本管理模块,以使所述版本管理模块响应所述版本管理请求,并通过文件监控模块实现对所述目标待管理主机12上文件的版本管理。
具体的,版本管理服务器11将版本管理请求发送至目标待管理主机12中的版本管理模块,版本管理模块根据版本管理请求在本地版本库中进行查找,找出与版本管理请求对应的想要恢复版本文件,并发送该版本文件对应的变更指令至文件监控模块,通过文件监控模块对相应的文件进行替换,实现对版本文件的恢复。由于发生了文件的替换,则文件监控模块可以监控到该主机上存在文件更新,则按照上述步骤进行后续的文件版本管理操作。
本实施例一所提供的文件版本管理系统,通过将所有待管理主机12与版本管理服务器11建立连接,实现对各待管理主机12的统一版本控制。通过文件监控模块对文件自动进行监控,使用MD5算法及二分查找法判断文件变更情况,提高了判定效率,并对文件的版本变更情况进行分析,生成文件更新信息。通过版本管理模块,根据版本变并进行详细记录,得到版本操作记录,将版本操作记录及文件版本进行加密并在本地进行存储,为文件管理提供了安全,实现了主机上资源文件的管理安全性,充分利用每台主机本地文件处理的高效率特性,实现在进行相关文件版本恢复时候的高效性。通过版本管理服务器11对文件版本管理信息进行备份,统一备份上传至FTP指定位置或者分布式文件系统进行存储,充分利用分布式文件系统的超量存储,实现对版本文件一式三份的备份功能,防止版本文件信息丢失,为版本恢复提供了可追溯性。通过前端与管理者建立联系,接收管理者的版本恢复请求,通过在备份的文件中对相应的待恢复版本文件进行查找,实现版本文件的恢复。
实施例二
图2给出了本发明实施例二提供的一种文件版本管理方法的流程图,该方法适用于对资源调度进行管理的情况,具体可以应用于本发明上述实施例提供的一种文件版本管理系统,该文件版本管理系统可以集成在计算机设备上,该计算机设备可以作为如上述实施例提供的文件版本管理系统中的待管理主机或者版本管理服务器。
如图2所示,该方法包括:
S110、当监控到待管理主机上存在文件更新时,生成文件更新信息,并发送至版本管理模块。
S120、基于文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给版本管理服务器。
S130、对接收的文件版本管理信息进行备份管理。
本实施例二所提供的文件版本管理方法,通过在待管理主机中配置文件监控模块及版本管理模块,主动对文件进行监控,对文件更新进行详细记录并自动提交备份,对不同版本下的文件进行存储,实现了文件的可追溯性,避免了版本管理遗漏及版本陈旧的问题,实现了版本库本身备份和容灾操作自动化。
此外,为更好理解上述实施例一所提供文件版本管理系统对文件版本的管理操作,本实施例二给出了对一台待管理主机进行文件版本管理示例性实现过程的相关描述。
图3是根据本发明实施例二提供的一种文件版本管理方法的实现示例图,如图3所示,包括:版本管理前端设备30、版本管理服务器31,待管理主机32,以及待管理主机32中包括文件监控模块321及版本管理模块322、分布式文件系统33。
文件版本管理方法的实现步骤可描述为:
S1、文件监控模块321中的文件夹监控单元对待管理主机上的各待管理文件夹进行监控,当从各待管理文件夹中判定存在更新文件夹时,将更新文件夹反馈至文件监控单元。
S2、文件监控模块321中的文件监控单元对更新文件夹中各待管理文件进行监控,当从各待管理文件中判定存在更新文件时,生成文件更新信息,并将文件更新信息发送至版本管理模块。
S3、版本管理模块322根据接收的文件更新信息,确定版本变更记录。
S4、版本管理模块322对版本变更记录进行本地存储,并发送至版本管理服务器。
S5、版本管理服务器31接收版本变更记录,确定版本变更记录的关联待管理主机。将版本变更信息及关联待管理主机的主机信息存入版本管理服务器的数据库中,将加密后的版本文件备份上传至分布式文件系统中。
S6、版本管理服务器31从除关联待管理主机32外的其他待管理主机中选定至少一个,作为目标备份主机,将加密后的版本文件,备份到目标备份主机上。
S7、版本管理前端设备30接收版本管理者的版本恢复请求,并将版本恢复请求反馈至版本管理服务器。
S8、版本管理服务器31确定版本恢复请求对应的目标待管理主机,对目标管理主机进行文件版本管理。
由目标待管理主机对版本恢复请求中的版本文件进行恢复,恢复后目标待管理主机中的文件监控模块及版本管理模块继续执行文件版本管理方法的实现步骤。
需要说明的是,图3仅是一个系统中各功能模块的执行步骤示例图,图中所给出的步骤序号以及各步骤在图中的排序关系并不直接说明各步骤之间的先后关系,对于一些步骤而言,其可能为并列关系。
实施例三
图4示出了可以用来实施本发明的实施例的计算机设备20的结构示意图。该计算机设备可以作为如上述实施例提供的文件版本管理系统中的待管理主机或者版本管理服务器。其上运行有上述实施例一所提供文件版本管理系统。计算机设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。计算机设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,计算机设备20包括至少一个处理器21,以及与至少一个处理器21通信连接的存储器,如只读存储器(ROM)22、随机访问存储器(RAM)23等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器21可以根据存储在只读存储器(ROM)22中的计算机程序或者从存储单元28加载到随机访问存储器(RAM)23中的计算机程序,来执行各种适当的动作和处理。在RAM 23中,还可存储计算机设备20操作所需的各种程序和数据。处理器21、ROM 22以及RAM 23通过总线24彼此相连。输入/输出(I/O)接口25也连接至总线24。
计算机设备20中的多个部件连接至I/O接口25,包括:输入单元26,例如键盘、鼠标等;输出单元27,例如各种类型的显示器、扬声器等;存储单元28,例如磁盘、光盘等;以及通信单元29,例如网卡、调制解调器、无线通信收发机等。通信单元29允许计算机设备20通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器21可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器21的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器21执行上文所描述的各个方法和处理,例如文件版本管理方法。
在一些实施例中,资源调度管理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元28。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元29而被载入和/或安装到计算机设备20上。当计算机程序加载到RAM 23并由处理器21执行时,可以执行上文描述的文件版本管理方法的一个或多个步骤。备选地,在其他实施例中,处理器21可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文件版本管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机设备上实施此处描述的系统和技术,该计算机设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种文件版本管理系统,其特征在于,包括:版本管理服务器以及至少一台待管理主机;各所述待管理主机与所述版本管理服务器连接;
所述待管理主机包括:文件监控模块及版本管理模块;
所述文件监控模块,用于当监控到所处待管理主机上存在文件更新时,生成文件更新信息,并发送至所述版本管理模块;
所述版本管理模块,用于基于所述文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给所述版本管理服务器;
所述版本管理服务器,用于对接收的文件版本管理信息进行备份管理;
其中,所述文件更新包括:文件新增、文件修改以及文件删除。
2.根据权利要求1所述的系统,其特征在于,所述文件监控模块,具体包括:
文件夹监控单元,用于对所处待管理主机上的各待管理文件夹进行监控,当从各所述待管理文件夹中判定存在更新文件夹时,将所述更新文件夹反馈至文件监控单元;
所述文件监控单元,用于对所述更新文件夹中各待管理文件进行监控,当从各待管理文件中判定存在更新文件时,生成文件更新信息,并将所述文件更新信息发送至所述版本管理模块。
3.根据权利要求2所述的系统,其特征在于,所述文件夹监控单元,具体用于:
针对所处待管理主机上的每个待管理文件夹,通过二分查找确定所述待管理文件夹是否存在更新;
如果存在更新,则确定存在更新文件夹,并将所述待管理文件夹记为更新文件夹。
4.根据权利要求2所述的系统,其特征在于,所述文件监控单元,具体用于:
针对所接收更新文件夹中的每个待管理文件,通过给定的信息摘要算法判定所述待管理文件是否存在变更;
如果存在变更,则确定存在更新文件,基于所述更新文件生成所述待管理主机的文件更新信息,并发送至所述版本管理模块。
5.根据权利要求1所述的系统,其特征在于,所述版本管理模块,包括:
信息确定单元,用于根据接收的文件更新信息,确定版本变更记录;
本地管理单元,用于对所述版本变更记录进行本地存储;
信息发送单元,用于将所述版本变更记录发送至所述版本管理服务器。
6.根据权利要求1所述的系统,其特征在于,所述版本管理服务器,具体用于:
接收版本变更记录,确定所述版本变更记录的关联待管理主机;
将所述版本变更记录中的版本变更信息及所述关联待管理主机的主机信息,发送至数据库进行存储;
将所述版本变更记录中的所述更新文件,上传到分布式文件系统或文件管理系统中并关联记录;
从除所述关联待管理主机外的其他待管理主机中选定至少一个,作为目标备份主机;
将所述更新文件,备份到所述目标备份主机上。
7.根据权利要求1所述的系统,其特征在于,还包括:版本管理前端设备,
所述版本管理前端设备,用于接收版本管理者的版本管理请求,并将版本管理请求反馈至所述版本管理服务器;
所述版本管理服务器,用于确定所接收的版本管理请求对应的目标待管理主机,并基于所述版本管理请求对所述目标待管理主机进行文件版本管理。
8.根据权利要求7所述的系统,其特征在于,所述版本管理服务器,具体用于:
确定所接收的版本管理请求对应的目标待管理主机;
将所述版本管理请求发送至所述目标待管理主机的版本管理模块,以使所述版本管理模块响应所述版本管理请求,并通过文件监控模块实现对所述目标待管理主机上文件的版本管理。
9.一种文件版本管理方法,其特征在于,由如权利要求1-8任一项所述的文件管理系统执行,所述方法包括:
当监控到所述待管理主机上存在文件更新时,生成文件更新信息,并发送至所述版本管理模块;
基于所述文件更新信息,进行文件版本本地管理,并将生成的文件版本管理信息发送给所述版本管理服务器;
对接收的文件版本管理信息进行备份管理;
其中,所述文件更新包括:文件新增、文件修改以及文件删除。
10.计算机设备,作为权利要求1-8任一项所述文件版本管理系统中的待管理主机或者版本管理服务器,包括:
一个或多个处理器;
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035543.8A CN115757270A (zh) | 2022-08-26 | 2022-08-26 | 一种文件版本管理系统、方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035543.8A CN115757270A (zh) | 2022-08-26 | 2022-08-26 | 一种文件版本管理系统、方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757270A true CN115757270A (zh) | 2023-03-07 |
Family
ID=85349359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211035543.8A Pending CN115757270A (zh) | 2022-08-26 | 2022-08-26 | 一种文件版本管理系统、方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757270A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521622A (zh) * | 2023-06-30 | 2023-08-01 | 中邮消费金融有限公司 | 一种基于数据快照自动化管理数据的方法及系统 |
-
2022
- 2022-08-26 CN CN202211035543.8A patent/CN115757270A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521622A (zh) * | 2023-06-30 | 2023-08-01 | 中邮消费金融有限公司 | 一种基于数据快照自动化管理数据的方法及系统 |
CN116521622B (zh) * | 2023-06-30 | 2023-09-22 | 中邮消费金融有限公司 | 一种基于数据快照自动化管理数据的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11327799B2 (en) | Dynamic allocation of worker nodes for distributed replication | |
US11010240B2 (en) | Tracking status and restarting distributed replication | |
US20200348852A1 (en) | Distributed object replication architecture | |
US11349915B2 (en) | Distributed replication and deduplication of an object from a source site to a destination site | |
US10353790B1 (en) | Disaster recovery rehearsals | |
US10289687B2 (en) | Space optimized snapshot for network backup | |
US20200356445A1 (en) | Efficient backup, search and restore | |
CN109144785B (zh) | 用于备份数据的方法和装置 | |
US8819370B1 (en) | Techniques for storage lifecycle policy management | |
CN108255994A (zh) | 一种基于数据库快照的数据库版本管理方法 | |
CN103716384A (zh) | 跨数据中心实现云存储数据同步的方法和装置 | |
CN115757270A (zh) | 一种文件版本管理系统、方法及计算机设备 | |
US11829630B2 (en) | Synthetically providing multiple types of granular delete operations for a cloud-based object storage | |
WO2009031156A2 (en) | Method and apparatus for grid based data protection | |
CN109542841B (zh) | 集群中创建数据快照的方法及终端设备 | |
CN112148705A (zh) | 数据迁移的方法和装置 | |
US10291700B2 (en) | Network optimized scan with dynamic fallback recovery | |
CN113467941A (zh) | 用于分享信息的方法和装置 | |
CN111400100A (zh) | 一种分布式软件备份的管理方法及其系统 | |
CN112732728A (zh) | 一种数据同步方法和系统 | |
US11799796B1 (en) | Closed loop change management for cloud-based systems | |
CN113656208B (zh) | 分布式存储系统数据处理方法、装置、设备及存储介质 | |
US20240070031A1 (en) | Method and system for data recovery by a hardware-independent approach involving prioritization and data recovery selectivity | |
CN116955006A (zh) | 数据备份方法、导出方法、恢复方法、装置、设备及介质 | |
CN114625568A (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 |