一种基于领域特定语言的文件版本管理方法及终端技术

技术编号:36729142 阅读:12 留言:0更新日期:2023-03-04 09:54
本发明专利技术公开了一种基于领域特定语言的文件版本管理方法与终端;接收客户端的文件包上传请求,根据文件包上传请求获取文件包的详情信息以及文件包目录;根据文件包目录,计算文件包目录中各个文件的第一哈希值;获取已存储的目标项目的第一配置文件,根据第一配置文件获取目标项目中各个文件的第二哈希值,比对第一哈希值与第二哈希值,得到差异文件和更新规则,并根据差异文件和更新规则生成第二配置文件;根据第二配置文件,通过领域语言生成更新脚本,执行更新脚本完成更新;本发明专利技术能够自动得到差异文件和更新规则,从而自动生成更新脚本对版本文件进行更新,不需要手动解决客户端与服务端的文件冲突,操作更加简便。操作更加简便。操作更加简便。

【技术实现步骤摘要】
一种基于领域特定语言的文件版本管理方法及终端


[0001]本专利技术涉及计算机
,特别涉及一种基于领域特定语言的文件版本管理方法及终端。

技术介绍

[0002]目前现有的文件版本管理技术主要是Git与SVN,它采用客户端/服务器体系,项目的各种版本都存储在服务器上,项目成员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个成员可以在自己的客户端进行独立的开发工作,并且可以随时将代码及文档提交给服务器。当然也可以通过更新操作获取服务器上的最新代码及文档,从而保持与其他成员所使用版本的一致性。但SVN及Git在拉取服务端文件之前,必须手动解决客户端与服务端所有的冲突文件,操作繁琐。

技术实现思路

[0003]本专利技术所要解决的技术问题是:提供一种基于领域特定语言的文件版本管理方法及终端,能够自动解决冲突文件的问题,更加方便。
[0004]为了解决上述技术问题,本专利技术采用的技术方案为:
[0005]一种基于领域特定语言的文件版本管理方法,包括步骤:
[0006]S1、接收客户端的文件包上传请求,根据所述文件包上传请求获取所述文件包的详情信息以及文件包目录;
[0007]S2、根据所述文件包目录,计算所述文件包目录中各个文件的第一哈希值;
[0008]S3、获取已存储的目标项目的第一配置文件,根据所述第一配置文件获取所述目标项目中各个文件的第二哈希值,比对所述第一哈希值与所述第二哈希值,得到差异文件和更新规则,并根据所述差异文件和所述更新规则生成第二配置文件;
[0009]S4、根据所述第二配置文件,通过领域语言生成更新脚本,执行所述更新脚本完成更新。
[0010]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0011]一种基于领域特定语言的文件版本管理终端,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0012]S1、接收客户端的文件包上传请求,根据所述文件包上传请求获取所述文件包的详情信息以及文件包目录;
[0013]S2、根据所述文件包目录,计算所述文件包目录中各个文件的第一哈希值;
[0014]S3、获取已存储的目标项目的第一配置文件,根据所述第一配置文件获取所述目标项目中各个文件的第二哈希值,比对所述第一哈希值与所述第二哈希值,得到差异文件和更新规则,并根据所述差异文件和所述更新规则生成第二配置文件;
[0015]S4、根据所述第二配置文件,通过领域语言生成更新脚本,执行所述更新脚本完成
更新。
[0016]本专利技术的有益效果在于:本专利技术通过哈希值比对得到差异文件,且能自动得到更新规则,从而通过领域语言自动生成更新脚本以自动对版本文件进行更新,不需要手动解决客户端与服务端的文件冲突,在满足用户特殊的文件版本管理需求的同时操作更加简便。
附图说明
[0017]图1为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的流程图;
[0018]图2为本专利技术实施例的一种基于领域特定语言的文件版本管理终端的结构图;
[0019]图3为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的项目创建部分流程图;
[0020]图4为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的项目修改部分流程图;
[0021]图5为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的文件包上传及哈希值计算的流程图;
[0022]图6为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的部分步骤流程图;
[0023]图7为本专利技术实施例的一种基于领域特定语言的文件版本管理方法的更新规则获取流程图;
[0024]标号说明:
[0025]1、一种基于领域特定语言的文件版本管理终端;2、处理器;3、存储器。
具体实施方式
[0026]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0027]请参照图1以及图3

7,一种基于领域特定语言的文件版本管理方法,包括步骤:
[0028]S1、接收客户端的文件包上传请求,根据所述文件包上传请求获取所述文件包的详情信息以及文件包目录;
[0029]S2、根据所述文件包目录,计算所述文件包目录中各个文件的第一哈希值;
[0030]S3、获取已存储的目标项目的第一配置文件,根据所述第一配置文件获取所述目标项目中各个文件的第二哈希值,比对所述第一哈希值与所述第二哈希值,得到差异文件和更新规则,并根据所述差异文件和所述更新规则生成第二配置文件;
[0031]S4、根据所述第二配置文件,通过领域语言生成更新脚本,执行所述更新脚本完成更新。
[0032]从上述描述可知,本专利技术的有益效果在于:本专利技术通过哈希值比对得到差异文件,且能自动得到更新规则,从而通过领域语言自动生成更新脚本以自动对版本文件进行更新,不需要手动解决客户端与服务端的文件冲突,在满足用户特殊的文件版本管理需求的同时操作更加简便。
[0033]进一步地,所述步骤S3中的所述比对所述第一哈希值与所述第二哈希值,得到差
异文件和更新规则具体为:
[0034]比对所述第一哈希值与所述第二哈希值,得到所述差异文件,检测是否存在所述差异文件预设的更新规则,若存在,则使用预设的所述更新规则,否则判断所述差异文件的差异状态为新增、修改或是删除;
[0035]若所述差异状态为修改,则继承所述差异文件在所述第一配置文件中的更新规则;
[0036]若所述差异状态为新增,则所述更新规则为覆盖更新;
[0037]若所述差异状态为删除,则所述更新规则为删除。
[0038]由上述描述可知,通过对比两文件的哈希值,来判断文件是否存在差异,并判断用户是否预设了更新规则,若预设了更新规则,则直接使用用户预设的更新规则,否则能够自动根据差异文件的差异状态得到更新规则进行更新,可以无需用户手动配置,使用更加方便。
[0039]进一步地,所述步骤S4具体为:
[0040]根据所述更新规则和对应的所述差异文件,通过领域语言生成更新命令,调用预设的解析器解析并执行所述更新命令以完成更新。
[0041]由上述描述可知,通过得到的更新规则和对应的差异文件,能够通过领域语言自动生成更新命令,通过执行更新命令来完成更新,更新命令通过一个预设的解析器来解析和执行,在更新命令的生成、解析和执行上均不需要人工操作,更加方便。
[0042]进一步地,所述步骤S1之前还包括:
[0043]S01、接收用户的项目新增请求,获取新增项目的项目信息,根据所述项目信息判断新增项目是否已存在,若存在则返回失败信息,否则对所述新增项目进行添加和存储。
[0044]由上述描述可知,在用户进行项目新增操作时,自动判断该项目是否已本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于领域特定语言的文件版本管理方法,其特征在于,包括步骤:S1、接收客户端的文件包上传请求,根据所述文件包上传请求获取所述文件包的详情信息以及文件包目录;S2、根据所述文件包目录,计算所述文件包目录中各个文件的第一哈希值;S3、获取已存储的目标项目的第一配置文件,根据所述第一配置文件获取所述目标项目中各个文件的第二哈希值,比对所述第一哈希值与所述第二哈希值,得到差异文件和更新规则,并根据所述差异文件和所述更新规则生成第二配置文件;S4、根据所述第二配置文件,通过领域语言生成更新脚本,执行所述更新脚本完成更新。2.根据权利要求1所述的一种基于领域特定语言的文件版本管理方法,其特征在于,所述步骤S3中的所述比对所述第一哈希值与所述第二哈希值,得到差异文件和更新规则具体为:比对所述第一哈希值与所述第二哈希值,得到所述差异文件,检测是否存在所述差异文件预设的更新规则,若存在,则使用预设的所述更新规则,否则判断所述差异文件的差异状态为新增、修改或是删除;若所述差异状态为修改,则继承所述差异文件在所述第一配置文件中的更新规则;若所述差异状态为新增,则所述更新规则为覆盖更新;若所述差异状态为删除,则所述更新规则为删除。3.根据权利要求1所述的一种基于领域特定语言的文件版本管理方法,其特征在于,所述步骤S4具体为:根据所述更新规则和对应的所述差异文件,通过领域语言生成更新命令,调用预设的解析器解析并执行所述更新命令以完成更新。4.根据权利要求1所述的一种基于领域特定语言的文件版本管理方法,其特征在于,所述步骤S1之前还包括:S01、接收用户的项目新增请求,获取新增项目的项目信息,根据所述项目信息判断新增项目是否已存在,若存在则返回失败信息,否则对所述新增项目进行添加和存储。5.根据权利要求4所述的一种基于领域特定语言的文件版本管理方法,其特征在于,所述项目信息包括项目ID、项目名称、版本号、项目类型和动态输出路径;所述详情信息包括项目ID和第一版本号,所述目标项目的项目ID与所述详情信息中的项目ID相同,所述目标项目的第二版本号与所述第一版本号不同。6.一种基于领域特定语言的文件版本管理终端,包括处理器、存储器及存储...

【专利技术属性】
技术研发人员:刘德建林琛陈波肖陈捷
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1