一种基于摘要差异树的部署包处理方法、系统及存储介质技术方案

技术编号:33775308 阅读:32 留言:0更新日期:2022-06-12 14:28
本申请涉及一种基于摘要差异树的部署包处理方法,其通过递归读取两次发布的部署包的文件夹的内容,分别构建以对应所述部署包文件夹目录为结构的摘要树并保存,然后将两个所述摘要树中文件夹名不相同的文件夹节点及其子节点的树结构以及将两个所述摘要树中文件名不相同的文件节点的树结构复制到所述摘要差异树中,通过生成摘要树,保存摘要树文件即可进行旧版本的文件差异信息存储,无需保留旧部署包的文件夹内容,也可以进行增量发布,通过摘要差异树算法规避了逐一比对文件夹和文件内容,只需比对摘要树,生成摘要差异树,即可提取出差异文件,提高新旧文件夹的比对效率,且本申请还具有支持删除服务器上旧部署包应删除的文件的效果。除的文件的效果。除的文件的效果。

【技术实现步骤摘要】
一种基于摘要差异树的部署包处理方法、系统及存储介质


[0001]本申请涉及部署包的
,尤其是涉及一种基于摘要差异树的部署包处理方法、系统及存储介质。

技术介绍

[0002]项目发布分为全量发布与增量发布,全量发布是将部署包全部替换服务器的部署包,增量发布是将部署包中有改动的部分进行替换。
[0003]目前增量发布有两种方式,一种是知道哪些文件被修改,手动提取出来进行发布,这种方式只能适用于小规模,且知道哪些文件被修改的情况下才适用。第二种是通过文件比较工具进行比较,得出哪些文件被修改,从而提取出来进行发布,这种方式需要比对新旧文件夹的差异进行提取文件,由于要同时递归读取新旧文件夹的内容进行比较,效率十分低下,且要存储旧的部署包,浪费存储空间,而且不支持删除服务器上旧部署包应删除的文件。

技术实现思路

[0004]针对上述传统的增量发布方式需要比对新旧文件夹的差异进行提取文件,由于要同时递归读取新旧文件夹的内容进行比较,效率十分低下,且要存储旧的部署包,浪费存储空间的问题,本申请提出了一种基于摘要差异树的部署包处理方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于摘要差异树的部署包处理方法,其特征在于,包括以下步骤:S1:递归读取两次发布的部署包的文件夹的内容,分别构建以对应所述部署包文件夹目录为结构的摘要树并保存;S2:比较两个所述摘要树的内容,构建摘要差异树,其中,将两个所述摘要树中文件夹名不相同的文件夹节点及其子节点的树结构复制到所述摘要差异树中,以及将两个所述摘要树中文件名不相同的文件节点的树结构复制到所述摘要差异树中;S3:利用所述摘要差异树对部署包进行增量发布或者对部署包进行文件删除。2.根据权利要求1所述的一种基于摘要差异树的部署包处理方法,其特征在于:在所述步骤S1中,所述构建以对应所述部署包文件夹目录为结构的摘要树并保存具体包括:构建一个空摘要树;递归读取部署包的文件夹内容;如果是文件夹,则将该文件夹名记录到空摘要树中,并设置空的子树容器,继续递归遍历该文件夹里的内容;如果是文件类型,则生成相应的摘要并存入该节点中,从而生成摘要树;将摘要树进行保存。3.根据权利要求1所述的一种基于摘要差异树的部署包处理方法,其特征在于:所述步骤S2具体包括以下步骤:递归读取其中一个摘要树的内容;当递归节点对比到文件夹类型时,判断另外一个摘要树的相同位置是否有和该文件夹名同名的文件夹节点,若有,则递归遍历该文件夹节点的子节点的内容,若没有,则将新摘要树的该节点及其子节点的树结构复制到所述摘要差异树中;当递归节点对比到文件类型时,判断另外一个摘要树的相同位置是否有和该文件名同名的文件,如果有同名文件,则判断该节点的摘要是否相同,如果摘要相同则继续递归,如果摘要不相同,则将该节点的树结构复制到摘要差异树中,如果没有同名文件,则将该节点的树结构完整的复制到所述摘要差异树中。4.根据权利要求3所述的一种基于摘要差异树的部署包处理方法,其特征在于:所述部署包包括旧部署包以及新部署包,所述摘要树包括旧摘要树和新摘要树,所述摘要差异树包括第一摘要差异树和第二摘要差异树,所述第一摘要差异树基于新摘要树与旧摘要树比较获得,所述第二摘要...

【专利技术属性】
技术研发人员:林超群曾纪康吴俊李仁杰王彪
申请(专利权)人:罗普特厦门系统集成有限公司
类型:发明
国别省市:

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

1