[发明专利]一种基于摘要差异树的部署包处理方法、系统及存储介质在审
申请号: | 202210204550.X | 申请日: | 2022-03-03 |
公开(公告)号: | CN114610335A | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 林超群;曾纪康;吴俊;李仁杰;王彪 | 申请(专利权)人: | 罗普特科技集团股份有限公司;罗普特(厦门)系统集成有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F16/13;G06F16/16 |
代理公司: | 厦门福贝知识产权代理事务所(普通合伙) 35235 | 代理人: | 郭涵炜 |
地址: | 361000 福建省厦门市软件园三期集*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 摘要 差异 部署 处理 方法 系统 存储 介质 | ||
1.一种基于摘要差异树的部署包处理方法,其特征在于,包括以下步骤:
S1:递归读取两次发布的部署包的文件夹的内容,分别构建以对应所述部署包文件夹目录为结构的摘要树并保存;
S2:比较两个所述摘要树的内容,构建摘要差异树,其中,将两个所述摘要树中文件夹名不相同的文件夹节点及其子节点的树结构复制到所述摘要差异树中,以及将两个所述摘要树中文件名不相同的文件节点的树结构复制到所述摘要差异树中;
S3:利用所述摘要差异树对部署包进行增量发布或者对部署包进行文件删除。
2.根据权利要求1所述的一种基于摘要差异树的部署包处理方法,其特征在于:在所述步骤S1中,所述构建以对应所述部署包文件夹目录为结构的摘要树并保存具体包括:
构建一个空摘要树;
递归读取部署包的文件夹内容;如果是文件夹,则将该文件夹名记录到空摘要树中,并设置空的子树容器,继续递归遍历该文件夹里的内容;如果是文件类型,则生成相应的摘要并存入该节点中,从而生成摘要树;
将摘要树进行保存。
3.根据权利要求1所述的一种基于摘要差异树的部署包处理方法,其特征在于:所述步骤S2具体包括以下步骤:
递归读取其中一个摘要树的内容;
当递归节点对比到文件夹类型时,判断另外一个摘要树的相同位置是否有和该文件夹名同名的文件夹节点,若有,则递归遍历该文件夹节点的子节点的内容,若没有,则将新摘要树的该节点及其子节点的树结构复制到所述摘要差异树中;
当递归节点对比到文件类型时,判断另外一个摘要树的相同位置是否有和该文件名同名的文件,如果有同名文件,则判断该节点的摘要是否相同,如果摘要相同则继续递归,如果摘要不相同,则将该节点的树结构复制到摘要差异树中,如果没有同名文件,则将该节点的树结构完整的复制到所述摘要差异树中。
4.根据权利要求3所述的一种基于摘要差异树的部署包处理方法,其特征在于:所述部署包包括旧部署包以及新部署包,所述摘要树包括旧摘要树和新摘要树,所述摘要差异树包括第一摘要差异树和第二摘要差异树,所述第一摘要差异树基于新摘要树与旧摘要树比较获得,所述第二摘要差异树基于旧摘要树与新摘要树比较获得。
5.根据权利要求4所述的一种基于摘要差异树的部署包处理方法,其特征在于:在所述步骤S3中,所述利用摘要差异树对部署包进行增量发布具体包括:
新建一个部署包容器;
递归读取所述第一摘要差异树,如果递归到的树的节点为文件夹,则在所述部署包容器对应目录结构路径上新建一个同名文件夹,如果递归到的树节点为文件,则将所述新部署包对应目录结构路径的文件复制到所述部署包容器对应目录结构路径中,形成增量部署包;
将增量部署包进行增量发布。
6.根据权利要求4所述的一种基于摘要差异树的部署包处理方法,其特征在于:在所述步骤S3中,所述利用摘要差异树对部署包进行文件删除具体包括:
递归遍历第二摘要差异树并构建删除脚本,将所述删除脚本上传服务器,从而删除服务器上旧部署包应删除的文件。
7.根据权利要求3所述的一种基于摘要差异树的部署包处理方法,其特征在于:利用fs.writeFile将摘要树以json的形式进行保存,利用fs.readdir递归读取部署包的文件夹内容,并利用fs.stat判断目标项是否文件夹。
8.根据权利要求3所述的一种基于摘要差异树的部署包处理方法,其特征在于:所述如果是文件类型,则生成相应的摘要并存入该节点中具体包括:
如果是文件类型,则利用Node.js的fs模块读取文件流,并利用Node.js的crypto模块对文件生成md5摘要,然后将md5摘要存入该节点中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗普特科技集团股份有限公司;罗普特(厦门)系统集成有限公司,未经罗普特科技集团股份有限公司;罗普特(厦门)系统集成有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210204550.X/1.html,转载请声明来源钻瓜专利网。