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

文件版本管理方法、装置和系统

文献发布时间:2023-06-19 11:05:16


文件版本管理方法、装置和系统

技术领域

本公开涉及信息处理领域,特别涉及一种文件版本管理方法、装置和系统。

背景技术

目前,版本管理通常是基于文件进行管理的。即将策略内容写入固定格式文件中,以实现对文件的管理。发明人通过研究发现,策略文件的管理粒度往往较大,是对整个策略版本的管理,不会具体到具体内容的管理,对策略的部署、更新和管理都造成了负担。同时也很难实现策略内容的多版本管理,不利于实现多人的协同工作。

发明内容

本公开提供一种能够有效实现多版本管理的方案。

根据本公开实施例的第一方面,提供一种文件版本管理方法,包括:在接收到第一库发送的文件调用请求后,将存储在第二库中的指定文件的指定版本发送给所述第一库,以便在所述第一库中对所述指定文件的指定版本进行修改,以生成反馈文件;在接收到所述第一库发送的所述反馈文件后,将所述反馈文件存储在所述第二库中,并更新所述反馈文件的版本号,使得所述反馈文件的更新后的版本号是所述第二库中所述指定文件的最新版本号。

在一些实施例中,将所述反馈文件存储在所述第二库中,并更新所述反馈文件的版本号包括:检测所述反馈文件当前的版本号和所述第二库中所述指定文件当前的最新版本号是否相同;若所述反馈文件当前的版本号和所述第二库中所述指定文件当前的最新版本号相同,则进一步检测所述反馈文件是否已被修改;若所述反馈文件已被修改,则将所述反馈文件存储在所述第二库中,将所述第二库中所述指定文件当前的最新版本号与预设值相加,将计算结果作为所述反馈文件更新后的版本号。

在一些实施例中,若所述反馈文件未被修改,则丢弃所述反馈文件。

在一些实施例中,若所述反馈文件当前的版本号和所述第二库中所述指定文件当前的最新版本号不相同,则提示用户是否需要继续进行更新;若接收到用户需要继续进行更新的指示,则将所述反馈文件存储在所述第二库中,将所述第二库中所述指定文件当前的最新版本号与预设值相加,将计算结果作为所述反馈文件更新后的版本号。

在一些实施例中,将所述第一库和/或所述第二库中的文件以预定格式导出;和/或将具有预定格式的文件导入所述第一库和/或所述第二库中。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的版本查询指示,则查询所述第二库中的指定文件的全部历史版本;将查询结果发送给所述第一库。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的锁定指示,则将所述第二库中的指定文件的指定版本锁定,以禁止其它用户对所述第二库中的指定文件的指定版本进行更新;若接收到第一库发送的解锁指示,则解除所述第二库中的指定文件的指定版本的锁定。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的对比指示,则对所述第二库中的指定文件的两个指定版本进行比对;将比对结果提供的所述第一库。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的标记指示,则为所述第二库中的指定文件的指定版本进行标记;在一些实施例中,若接收到第一库发送的删除标记指示,则删除所述第二库中的指定文件的指定版本的标记。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的归档指示,则将所述第二库中的指定文件的指定版本迁移到第三库中;若接收到第一库发送的回档指示,则将指定文件的指定版本从第三库迁移到第二库中。

在一些实施例中,根据第一库发送的操作指示,对所述第二库中的指定文件的指定版本进行相应处理包括:若接收到第一库发送的部署指示,则根据所述第二库中的指定文件的指定版本生成策略文件,以便对所述策略文件进行部署。

根据本公开实施例的第二方面,提供一种文件版本管理装置,包括:版本提供模块,被配置为在接收到第一库发送的文件调用请求后,将存储在第二库中的指定文件的指定版本发送给所述第一库,以便在所述第一库中对所述指定文件的指定版本进行修改,以生成反馈文件;更新模块,被配置为在接收到所述第一库发送的所述反馈文件后,将所述反馈文件存储在所述第二库中,并更新所述反馈文件的版本号,使得所述反馈文件的更新后的版本号是所述第二库中所述指定文件的最新版本号。

根据本公开实施例的第三方面,提供一种文件版本管理装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的方法。

根据本公开实施例的第四方面,提供一种文件版本管理系统,包括如上述任一实施例所述的文件版本管理装置,以及文件处理装置,被配置为管理对应的第一库,其中将第二库中的指定文件的指定版本写入所述第一库,以便在所述第一库中对所述指定文件的指定版本进行修改以生成反馈文件,并将所述反馈文件发送给所述第一库。

在一些实施例中,文件处理装置还被配置为将在第一库中生成的策略模板发送给第四库中进行存储。

在一些实施例中,文件处理装置还被配置为将指定策略模板从所述第四库存入相应的第一库中。

在一些实施例中,文件处理装置还被配置为将在第一库中生成的策略内容发送给第五库进行存储。

在一些实施例中,文件处理装置还被配置为将指定策略内容从所述第五库存入相应的第一库中。

根据本公开实施例的第五方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

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

图1为本公开一个实施例的文件版本管理方法的流程示意图;

图2为本公开一个实施例的文件版本管理架构的示意图;

图3为本公开另一个实施例的文件版本管理架构的示意图;

图4为本公开又一个实施例的文件版本管理架构的示意图;

图5为本公开又一个实施例的文件版本管理架构的示意图;

图6为本公开一个实施例的文件版本管理装置的结构示意图;

图7为本公开另一个实施例的文件版本管理装置的结构示意图;

图8为本公开又一个实施例的文件版本管理装置的结构示意图;

图9为本公开一个实施例的文件版本管理系统的结构示意图;

图10为本公开又一个实施例的文件版本管理架构的示意图;

图11为本公开又一个实施例的文件版本管理架构的示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1为本公开一个实施例的文件版本管理方法的流程示意图。在一些实施例中,下列的文件版本管理方法步骤由文件版本管理装置执行。

在步骤101,在接收到第一库发送的文件调用请求后,将存储在第二库中的指定文件的指定版本发送给第一库,以便在第一库中对指定文件的指定版本进行修改,以生成反馈文件。用户与第一库。

例如,指定文件A有多个版本,用户可针对A0版本进行修改。经修改的文件(即在第一库中生成的反馈文件)中会保留修改状态和原版本号。

在一些实施例中,第一库可为临时库(Temp DB),第二库可为正式库(Formal DB)。

在一些实施例中,可在第一库中设置相应的规则,以便在条件满足时自行对存储在第一库中的指定文件的指定版本进行修改。例如预先制定了一些版本的更新规则,在相应的时间或事件触发下进行相应版本的更新。

在另一些实施例,用户可通过在第一库中进行操作,以便对存储在第一库中的指定文件的指定版本进行修改。为便于用户操作,可为不同用户设置相应的第一库,即用户和第一库一一对应。

图2为本公开一个实施例的文件版本管理架构的示意图。

如图2所示,每个用户可通过与其对应的第一库对相应版本的内容进行操作处理。第一库中只存储用户当前操作的内容。

返回到图1。在步骤102,在接收到第一库发送的反馈文件后,将反馈文件存储在第二库中,并更新反馈文件的版本号,使得反馈文件的更新后的版本号是第二库中指定文件的最新版本号。

在一些实施例中,上述将反馈文件存储在第二库中,并更新反馈文件的版本号包括:检测反馈文件当前的版本号和第二库中指定文件当前的最新版本号是否相同。若反馈文件当前的版本号和第二库中指定文件当前的最新版本号相同,则进一步检测反馈文件是否已被修改。若反馈文件已被修改,则将反馈文件存储在第二库中,将第二库中指定文件当前的最新版本号与预设值相加,将计算结果作为反馈文件更新后的版本号。若反馈文件未被修改,则丢弃反馈文件。

例如,预设值可为1。即,将指定文件当前的最新版本号加1,将计算结果作为反馈文件更新后的版本号。

例如,若用户通过第一库对A0版本进行修改,若此时第二库中文件A的最高版本也是A0,则表明当前并没有其他用户对文件A进行修改。在这种情况下,若第一库返回的反馈文件有所修改,则将该反馈文件的版本号改为A1。若第一库返回的反馈文件没有修改,即表明反馈文件和第二库中的A0版本是一致的,在这种情况下就丢弃该反馈文件。

在一些实施例中,若反馈文件当前的版本号和第二库中指定文件当前的最新版本号不相同,则提示用户是否需要继续进行更新。若接收到用户需要继续进行更新的指示,则将反馈文件存储在第二库中,将第二库中指定文件当前的最新版本号与预设值相加,将计算结果作为反馈文件更新后的版本号。

例如,若用户通过第一库对A0版本进行修改,若此时第二库中文件A的最高版本为A1,则表明当前已有其他用户对文件A进行了修改。在这种情况下,会提示用户是否需要继续进行更新。若用户需要继续进行更新,则将该反馈文件的版本号改为A2。由此可有效避免因不同用户对A0版本进行修改而导致版本冲突的问题。从而有助于多人的协同工作。

在一些实施例中,在上述文件版本管理架构中,可根据第一库发送的操作指示,对第二库中的指定文件的指定版本进行相应处理。

在一些实施例中,若第二库接收到第一库发送的版本查询指示,则查询第二库中的指定文件的全部历史版本,将查询结果发送给第一库。以便用户实现查看操作。

在一些实施例中,若第二库接收到第一库发送的锁定指示,则将第二库中的指定文件的指定版本锁定,以禁止其它用户对第二库中的指定文件的指定版本进行更新。此外,若接收到第一库发送的解锁指示,则解除第二库中的指定文件的指定版本的锁定。由此,可便于对指定版本的文件内容进行锁定保护。

在一些实施例中,若第二库接收到第一库发送的对比指示,则对第二库中的指定文件的两个指定版本进行比对,将比对结果提供的第一库。以便用户实现对比操作。

在一些实施例中,若第二库接收到第一库发送的标记指示,则为第二库中的指定文件的指定版本进行标记。此外,若第二库接收到第一库发送的删除标记指示,则删除第二库中的指定文件的指定版本的标记。以便用户实现标记管理。

图3为本公开另一个实施例的文件版本管理架构的示意图。

如图3所示,可将第一库和/或第二库中的文件以预定格式导出,和/或将具有预定格式的文件导入第一库和/或第二库中。例如,预定格式可以为XML(Extensible MarkupLanguage,可扩展标记语言),以便对不同版本的文件进行管理。

图4为本公开又一个实施例的文件版本管理架构的示意图。

如图4所示,若第二库接收到第一库发送的归档指示,则将第二库中的指定文件的指定版本迁移到第三库中。此外,若第二库接收到第一库发送的回档指示,则将指定文件的指定版本从第三库迁移到第二库中。

在一些实施例中,第三库为归档库(Archive DB)。

例如,对于某些下线的文件版本(例如,特定版本的策略文件),可将其保存到第三库中,第二库中就不再存储这些下线的文件版本了。由此可有效提高第二库的存储空间使用率。在需要调用某些已下线文件版本的情况下,还可从第三库中提取相应的文件版本到第二库中。由此确保第二库中的数据清晰,相应的历史数据可追溯。

图5为本公开又一个实施例的文件版本管理架构的示意图。

如图5所示,若第二库接收到第一库发送的部署指示,则根据第二库中的指定文件的指定版本生成策略文件,以便对策略文件进行部署。

在一些实施例中,多版本部署可利用第二库的标签来实现。例如在A0版本上加上标签1进行部署,也可在A0版本上加上标签2进行部署。此外,部署策略文件是一个不可逆过程。无法从所部署的策略文件中获得相应的策略内容,以保证信息安全。

例如,通过利用单向函数F对指定文件的A1版本进行处理,以得到策略文件。恶意第三方法再获得该策略文件后,无法从该策略文件中提取出A1版本的文件。

图6为本公开一个实施例的文件版本管理装置的结构示意图。如图6所示,文件版本管理装置包括版本提供模块61和更新模块62。

版本提供模块61被配置为在接收到第一库发送的文件调用请求后,将存储在第二库中的指定文件的指定版本发送给第一库,以便在第一库中对指定文件的指定版本进行修改,以生成反馈文件。

例如,指定文件A有多个版本,用户可针对A0版本进行修改。经修改的文件中会保留修改状态和原版本号。

在一些实施例中,第一库可为临时库(Temp DB),第二库可为正式库(Formal DB)。

在一些实施例中,可在第一库中设置相应的逻辑规则,以便在条件满足时自行对存储在第一库中的指定文件的指定版本进行修改。在另一些实施例,用户可通过在第一库中进行操作,以便对存储在第一库中的指定文件的指定版本进行修改。为便于用户操作,可为不同用户设置相应的第一库,即用户和第一库一一对应。

更新模块62被配置为在接收到第一库发送的反馈文件后,将反馈文件存储在第二库中,并更新反馈文件的版本号,使得反馈文件的更新后的版本号是第二库中指定文件的最新版本号。

在一些实施例中,上述将反馈文件存储在第二库中,并更新反馈文件的版本号包括:检测反馈文件当前的版本号和第二库中指定文件当前的最新版本号是否相同。若反馈文件当前的版本号和第二库中指定文件当前的最新版本号相同,则进一步检测反馈文件是否已被修改。若反馈文件已被修改,则将反馈文件存储在第二库中,将第二库中指定文件当前的最新版本号与预设值相加,将计算结果作为反馈文件更新后的版本号。若反馈文件未被修改,则丢弃反馈文件。

例如,预设值可为1。即,将指定文件当前的最新版本号加1,将计算结果作为反馈文件更新后的版本号。

例如,若用户通过第一库对A0版本进行修改,若此时第二库中文件A的最高版本也是A0,则表明当前并没有其他用户对文件A进行修改。在这种情况下,若第一库返回的反馈文件有所修改,则将该反馈文件的版本号改为A1。若第一库返回的反馈文件没有修改,即表明反馈文件和第二库中的A0版本是一致的,在这种情况下就丢弃该反馈文件。

在一些实施例中,若反馈文件当前的版本号和第二库中指定文件当前的最新版本号不相同,则提示用户是否需要继续进行更新。若接收到用户需要继续进行更新的指示,则将反馈文件存储在第二库中,将第二库中指定文件当前的最新版本号与预设值相加,将计算结果作为反馈文件更新后的版本号。

例如,若用户通过第一库对A0版本进行修改,若此时第二库中文件A的最高版本为A1,则表明当前已有其他用户对文件A进行了修改。在这种情况下,会提示用户是否需要继续进行更新。若用户需要继续进行更新,则将该反馈文件的版本号改为A2。由此可有效避免因不同用户对A0版本进行修改而导致版本冲突的问题。从而有助于多人的协同工作。

图7为本公开另一个实施例的文件版本管理装置的结构示意图。与图6相比,在图7所示实施例中,文件版本管理装置还包括管理模块63。

管理模块63可根据第一库发送的操作指示,对第二库中的指定文件的指定版本进行相应处理。

在一些实施例中,若第二库接收到第一库发送的版本查询指示,则管理模块63查询第二库中的指定文件的全部历史版本,将查询结果发送给第一库。以便用户实现查看操作。

在一些实施例中,若第二库接收到第一库发送的锁定指示,则管理模块63将第二库中的指定文件的指定版本锁定,以禁止其它用户对第二库中的指定文件的指定版本进行更新。此外,若接收到第一库发送的解锁指示,则解除第二库中的指定文件的指定版本的锁定。由此,可便于对指定版本的文件内容进行锁定保护。

在一些实施例中,若第二库接收到第一库发送的对比指示,则管理模块63对第二库中的指定文件的两个指定版本进行比对,将比对结果提供的第一库。以便用户实现对比操作。

在一些实施例中,若第二库接收到第一库发送的标记指示,则管理模块63为第二库中的指定文件的指定版本进行标记。此外,若第二库接收到第一库发送的删除标记指示,则删除第二库中的指定文件的指定版本的标记。以便用户实现标记管理。

在一些实施例中,如图3所示,管理模块63可将第一库和/或第二库中的文件以预定格式导出,和/或将具有预定格式的文件导入第一库和/或第二库中。例如,预定格式可以为XML,以便对不同版本的文件进行管理。

在一些实施例中,如图4所示,若第二库接收到第一库发送的归档指示,则管理模块63将第二库中的指定文件的指定版本迁移到第三库中。此外,若第二库接收到第一库发送的回档指示,则将指定文件的指定版本从第三库迁移到第二库中。

在一些实施例中,第三库为归档库(Archive DB)。

例如,对于某些下线的文件版本(例如,特定版本的策略文件),可将其保存到第三库中,第二库中就不再存储这些下线的文件版本了。由此可有效提高第二库的存储空间使用率。在需要调用某些已下线文件版本的情况下,还可从第三库中提取相应的文件版本到第二库中。由此确保第二库中的数据清晰,相应的历史数据可追溯。

在一些实施例中,如图5所示,若第二库接收到第一库发送的部署指示,则管理模块63根据第二库中的指定文件的指定版本生成策略文件,以便对策略文件进行部署。

在一些实施例中,多版本部署可利用第二库的标签来实现。例如在A0版本上加上标签1进行部署,也可在A0版本上加上标签2进行部署。此外,部署策略文件是一个不可逆过程。无法从所部署的策略文件中获得相应的策略内容,以保证信息安全。

图8为本公开又一个实施例的文件版本管理装置的结构示意图。如图8所示,该装置包括存储器81和处理器82。

存储器81用于存储指令,处理器82耦合到存储器81,处理器82被配置为基于存储器存储的指令执行实现如图1中任一实施例涉及的方法。

如图8所示,该装置还包括通信接口83,用于与其它设备进行信息交互。同时,该装置还包括总线84,处理器82、通信接口83、以及存储器81通过总线84完成相互间的通信。

存储器81可以包含高速RAM存储器,也可还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器81也可以是存储器阵列。存储器81还可能被分块,并且块可按一定的规则组合成虚拟卷。

此外处理器82可以是一个中央处理器CPU,或者可以是专用集成电路ASIC,或是被配置成实施本公开实施例的一个或多个集成电路。

本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1中任一实施例涉及的方法。

图9为本公开一个实施例的文件版本管理系统的结构示意图。如图9所示,文件版本管理系统包括文件版本管理装置91和文件处理装置92。文件版本管理装置91为图6或图8中任一实施例涉及的文件版本管理装置。

文件处理装置92被配置为管理对应的第一库,其中将第二库中的指定文件的指定版本写入第一库,以便在第一库中对指定文件的指定版本进行修改以生成反馈文件,并将反馈文件发送给第一库。

在一些实施例中,文件处理装置92还被配置为将在第一库中生成的策略模板发送给第四库中进行存储。此外,文件处理装置92还被配置为将指定策略模板从第四库存入相应的第一库中。

在一些实施例中,第四库为模板库(Template DB)。

图10为本公开又一个实施例的文件版本管理架构的示意图;

如图10所述,在第一库中根据指定文件的相关内容生成策略模板。文件处理装置92将该策略模板存储在第四库中。此外,文件处理装置92还可根据用户需求,从第四库中提取出指定策略模板,并将指定策略模板存入第一库。

通过设计第四库,对使用相同模板的策略内容、在版本管理和版本对比上都会有所帮助。第四库内容可通过时间戳、标签、用户进行管理。

在一些实施例中,文件处理装置92还被配置为将在第一库中生成的策略内容发送给第五库进行存储。此外,文件处理装置92还被配置为将指定策略内容从所述第五库存入相应的第一库中。

在一些实施例中,第五库为知识库(Knowledge DB)。

图11为本公开又一个实施例的文件版本管理架构的示意图。

如图11所示,第一库中将指定文件的相关内容加工成策略内容。文件处理装置92将策略内容存储在第五库中。此外,文件处理装置92还可根据用户需求,从第五库中提取出指定策略内容并存入第一库。

设计第五库是为了方便策略人员及策略部署人员快速学习策略内容及策略版本迭代过程。操作第一库的过程中,可将策略内容提炼成第五库内容并存储到第五库中,以方便用户查看和学习,从而保证策略的有效性和版本更新的有效性。第五库的内容可通过时间戳、标签、用户进行管理。

在一些实施例中,在上面所描述的功能单元模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(Programmable Logic Controller,简称:PLC)、数字信号处理器(Digital Signal Processor,简称:DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

相关技术
  • 一种基于文件系统的多版本文件管理方法及装置
  • 一种版本文件发布的管理方法、装置以及系统
技术分类

06120112793122