CN115421764A - 一种待升级模块识别方法、装置、设备及存储介质 - Google Patents
一种待升级模块识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115421764A CN115421764A CN202211052500.0A CN202211052500A CN115421764A CN 115421764 A CN115421764 A CN 115421764A CN 202211052500 A CN202211052500 A CN 202211052500A CN 115421764 A CN115421764 A CN 115421764A
- Authority
- CN
- China
- Prior art keywords
- file
- module
- service
- full code
- upgraded
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种待升级模块识别方法、装置、设备及存储介质,涉及分布式存储系统管理技术领域,包括:确定获取到的分布式存储系统的当前系统版本对应的第一全量代码文件和目标系统版本对应的第二全量代码文件之间的差异点,根据基于差异点生成的差异文件列表和获取到的文件‑服务‑模块树识别出当前系统版本中的待升级管理模块。文件‑服务‑模块树为基于服务、与服务重启相关联的文件以及与文件相关联的管理模块之间的关联关系生成的多级关系树。本申请通过确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出待升级管理模块,从而避免升级系统中所有模块,降低升级过程对业务性能的影响。
Description
技术领域
本发明涉及分布式存储系统管理技术领域,特别涉及一种待升级模块识别方法、装置、设备及存储介质。
背景技术
当前,在现有的分布式存储中,采用的升级方案一般为,升级存储中涉及的所有模块,这样虽然可以从根本上保证分布式存储中所有模块可以升级到最新版本,但是一次性升级所有模块会对存储业务性能产生较大的影响。而且在升级过程中,由于对不必要进行升级的模块也进行了升级,还会极大地增加升级时间。
发明内容
有鉴于此,本发明的目的在于提供一种待升级模块识别方法、装置、设备及存储介质,能够减少实际升级过程的时间,降低升级过程对业务性能的影响。其具体方案如下:
第一方面,本申请公开了一种待升级模块识别方法,包括:
获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;
确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,并基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;
根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
可选的,所述基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树之前,还包括:
将与所述服务重启相关联的所述文件作为单元,根据各所述单元对所述分布式存储系统的各模块进行划分,得到多个与所述文件相关联的所述管理模块。
可选的,所述待升级模块识别方法,还包括:
构建用于升级所述分布式存储系统的版本升级包;所述版本升级包存储有与所述目标系统版本对应的所述第二全量代码文件和所述文件-服务-模块树的;
相应的,所述获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树,包括:
从所述分布式存储系统的当前环境中获取所述分布式存储系统的当前系统版本对应的第一全量代码文件;
从与所述目标版本对应的所述版本升级包中获取与所述目标版本对应的所述第二全量代码文件以及与所述目标版本对应的所述文件-服务-模块树。
可选的,所述确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,包括:
将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
可选的,所述将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点,包括:
利用预设MD5算法对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值;
将所述第一散列值与所述第二散列值进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
可选的,所述根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块,包括:
遍历所述差异文件列表中的文件,根据所述文件-服务-模块树识别出所述当前系统版本中的与各所述文件关联的待重启服务和待升级管理模块。
可选的,所述根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块之后,还包括:
对所述待升级管理模块中的待更新文件进行更新,并当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块。
第二方面,本申请公开了一种待升级模块识别装置,包括:
代码文件获取模块,用于获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;
差异点确定模块,用于确定所述第一全量代码文件与所述第二全量代码文件之间的差异点;
文件列表生成模块,用于基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;
识别模块,用于根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的待升级模块识别方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的待升级模块识别方法的步骤。
可见,本申请提供了一种待升级模块识别方法,包括:获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,并基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。由此可知,本申请通过确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种待升级模块识别方法流程图;
图2为本申请公开的一种具体的待升级模块识别方法流程图;
图3为本申请公开的一种具体的待升级模块识别方法流程图;
图4为本申请公开的一种具体的待升级模块识别方法流程图;
图5为本申请公开的一种具体的待升级模块识别方法流程图;
图6为本申请公开的一种待升级模块识别装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在现有的分布式存储中,采用的升级方案一般为,升级存储中涉及的所有模块,这样虽然可以从根本上保证分布式存储中所有模块可以升级到最新版本,但是一次性升级所有模块会对存储业务性能产生较大的影响。而且在升级过程中,由于对不必要进行升级的模块也进行了升级,还会极大地增加升级时间。为此,本申请提供了一种待升级模块识别方案,能够减少实际升级过程的时间,降低升级过程对业务性能的影响。
本发明实施例公开了一种待升级模块识别方法,参见图1所示,该方法包括:
步骤S11:获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树。
本实施例中,针对分布式存储系统版本升级,获取所述分布式存储系统当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树。可以理解的是,所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树,也就是说,如果已知文件,则根据所述文件-服务-模块树确定出与所述文件对应的待重启的服务以及对应的待升级模块。
在对所述分布式存储系统版本升级之前,将与所述服务重启相关联的所述文件作为单元,根据各所述单元对所述分布式存储系统的各模块进行划分,得到多个与所述文件相关联的所述管理模块。也即,根据各部分之间的关联性将分布式存储系统的各业务模块划分为若干个管理模块,并且各管理模块内的功能独立,并对外提供统一接口。在模块划分时,同时基于划分的服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成上述文件-服务-模块树。并且,构建用于升级所述分布式存储系统的版本升级包;所述版本升级包存储有与所述目标系统版本对应的所述第二全量代码文件和所述文件-服务-模块树的,所以可以从与所述目标版本对应的所述版本升级包中获取与所述目标版本对应的所述第二全量代码文件以及与所述目标版本对应的所述文件-服务-模块树,并从所述分布式存储系统的当前环境中获取所述分布式存储系统的当前系统版本对应的第一全量代码文件。也就是说,目标系统版本在构建时将服务重启相关联的文件作为为单元,根据该单元进行升级模块的划分,并形成一个多级的文件-服务-模块树存储于升级包中,而且在版本构建的同时,将从代码库中拉取的与目标系统版本对应的全量代码文件,存储为allCode,存储于升级包中,进而在获取目标系统版本对应的第二全量代码文件时,可以在升级包中找到目标系统版本的allCode和目标系统版本对应的文件-服务-模块树,并在需要升级的系统环境中找到当前系统版本的allCode。
步骤S12:确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,并基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表。
需要指出的是,如果系统环境需要升级,首先需要进行升级前的准备工作,也就是说,在该阶段需要识别出待升级模块,待升级模块的识别也就需要进行全量代码的差异点的确定。
本实施例中,获取到所述分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树之后,则通过预设的差异点确定方法确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点,进而基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表。也就是说,以升级包中的allCode(即第二全量代码文件中的代码)为基础代码,确定出上述第一全量代码文件中的代码与上述第二全量代码文件中的代码之间的差异点,得到当前系统版本中的第一代码文件中的所述代码中需要修改、新增及删除的代码,进而将第一代码文件中这些需要修改、新增及删除的代码按修改类型存储于modifyCode目录中,从而得到所述当前系统版本与所述目标系统版本之间的差异文件列表。
步骤S13:根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
本实施例中,基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表之后,从所述文件-服务-模块树中确定出所述差异文件列表中的各差异文件所属的模块,得到所述当前系统版本中的待升级管理模块。具体的,遍历所述差异文件列表中的文件,根据所述文件-服务-模块树识别出所述当前系统版本中的与各所述文件关联的待重启服务和待升级管理模块。例如,遍历modifyCode目录中的文件,并根据文件-服务-模块树得到待重启服务以及待升级的管理模块。
可见,本申请实施例通过确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
参见图2所示,本发明实施例公开了一种具体的待升级模块识别方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树。
步骤S22:将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
本实施例中,获取到所述分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树之后,通过将所述第一全量代码文件与所述第二全量代码文件进行对比以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。也就是说,将所述第一全量代码文件中的代码与所述第二全量代码文件中的代码进行对比以确定出所述第一全量代码文件与所述第二全量代码文件之间的代码差异。
步骤S23:基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表。
步骤S24:根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
关于上述步骤S21以及步骤S23至步骤S24的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例将所述第一全量代码文件与所述第二全量代码文件进行比对,根据相应的代码比对结果确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
参见图3所示,本发明实施例公开了一种具体的待升级模块识别方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S31:获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树。
步骤S32:利用预设MD5算法对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值。
本实施例中,获取到所述分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树之后,可以利用预设MD5(Message-Digest Algorithm 5,消息摘要算法5)对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值。
步骤S33:将所述第一散列值与所述第二散列值进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
本实施例中,利用预设MD5算法对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值之后,将所述第一散列值与所述第二散列值进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点,也就是说,对所述第一全量代码文件与所述第二全量代码文件进行MD5处理,得到相应的MD5值之后,基于该MD5值的比对确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
步骤S34:基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表。
步骤S35:根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
关于上述步骤S31以及步骤S34至步骤S35的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例利用预设MD5算法对当前系统版本对应的第一全量代码文件与目标系统版本对应的第二全量代码文件进行处理,得到与第一全量代码文件对应的第一散列值以及与第二全量代码文件对应的第二散列值,进而根据第一散列值与第二散列值的比对结果确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
例如,如图4所示,开始升级前准备工作,即定义文件-服务-模块关系树,并从当前分布式存储系统的系统环境中找到当前系统版本的currentAllCode(即当前全量代码),并从目标升级包中找到目标系统版本的targetAllCode(即目标全量代码),然后以targetAllCode为基础,将当前系统版本的currentAllCode与目标系统版本的targetAllCode之间的MD5值进行比对以获取当前系统版本的currentAllCode中的需修改、新增、删除的代码,将这些需修改、新增、删除的代码按修改类型存储于modifyCode目录中,即得到所述当前系统版本与所述目标系统版本之间的差异文件列表modifyCode,然后从升级包中找到目标系统版本对应的所述文件-服务-模块树,遍历modifyCode中需更新文件,逐级寻找与所述需更新文件相关的待重启服务和待升级模块,进而逐个升级各所述待升级模块,即更新每个待升级模块中相应的文件,在文件更新完成后重启相应的服务,即完成待升级模块的升级工作,各所述待升级模块升级完成后,相关服务重启成功,当前分布式存储系统的版本升级工作结束。
参见图5所示,本发明实施例公开了一种具体的待升级模块识别方法,相较于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S41:获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树。
步骤S42:确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,并基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表。
步骤S43:根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
步骤S44:对所述待升级管理模块中的待更新文件进行更新,并当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块。
本实施例中,识别出所述当前系统版本中的待升级管理模块,则可以进行相应的升级操作,以将所述分布式存储系统从当前系统版本升级至目标系统版本,也即,对所述待升级管理模块中的待更新文件进行更新,并当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块。可以理解的是,在升级过程中,将识别到的待升级管理模块逐个进行升级,并且在升级的过程中,首先需要进行待升级管理模块中的需更新文件的更新,文件更新完成后进行相关待重启服务的重启操作,在待升级管理模块中的待更新文件更新完成,并且各待重启服务的重启工作完成之后,所述待升级管理模块即升级完成,所以在逐个完成各所述待升级管理模块的升级工作之后,即完成当前分布式存储系统版本的升级工作,从而可以最小限度地减少升级过程中需要更新的文件及重启的服务,进而减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
关于上述步骤S41至步骤S43的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例通过确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,然后对所述待升级管理模块中的待更新文件进行更新,并当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块,本申请只对识别出的待升级管理模块进行升级,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
相应的,本申请实施例还公开了一种待升级模块识别装置,参见图6所示,该装置包括:
代码文件获取模块11,用于获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;
差异点确定模块12,用于确定所述第一全量代码文件与所述第二全量代码文件之间的差异点;
文件列表生成模块13,用于基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;
识别模块14,用于根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
由上可见,本申请实施例通过确定当前系统版本和目标系统版本的全量代码文件之间的差异点,从而基于该差异点自动识别出当前系统版本中的待升级管理模块,从而避免对分布式存储系统中所有的模块进行升级,减少分布式存储系统实际升级过程的时间,并降低升级过程对业务性能的影响。
在一些具体的实施例中,所述待升级模块识别装置,具体可以包括:
划分模块,用于将与所述服务重启相关联的所述文件作为单元,根据各所述单元对所述分布式存储系统的各模块进行划分,得到多个与所述文件相关联的所述管理模块。
在一些具体的实施例中,所述待升级模块识别装置,具体可以包括:
升级包构建模块,用于构建用于升级所述分布式存储系统的版本升级包;所述版本升级包存储有与所述目标系统版本对应的所述第二全量代码文件和所述文件-服务-模块树的;
相应的,所述代码文件获取模块11,具体可以包括:
第一文件获取单元,用于从所述分布式存储系统的当前环境中获取所述分布式存储系统的当前系统版本对应的第一全量代码文件;
第二文件获取单元,用于从与所述目标版本对应的所述版本升级包中获取与所述目标版本对应的所述第二全量代码文件以及与所述目标版本对应的所述文件-服务-模块树。
在一些具体的实施例中,所述差异点确定模块12,具体可以包括:
文件比对模块,用于将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
在一些具体的实施例中,所述文件比对模块,具体可以包括:
文件处理模块,用于利用预设MD5算法对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值;
散列值对比模块,用于将所述第一散列值与所述第二散列值进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
在一些具体的实施例中,所述识别模块14,具体可以包括:
文件遍历模块,用于遍历所述差异文件列表中的文件,根据所述文件-服务-模块树识别出所述当前系统版本中的与各所述文件关联的待重启服务和待升级管理模块。
在一些具体的实施例中,所述待升级模块识别装置,具体可以包括:
文件更新模块,用于对所述待升级管理模块中的待更新文件进行更新;
服务启动模块,用于当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的待升级模块识别方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的待升级模块识别方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的待升级模块识别方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种待升级模块识别方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种待升级模块识别方法,其特征在于,包括:
获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;
确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,并基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;
根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
2.根据权利要求1所述的待升级模块识别方法,其特征在于,所述基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树之前,还包括:
将与所述服务重启相关联的所述文件作为单元,根据各所述单元对所述分布式存储系统的各模块进行划分,得到多个与所述文件相关联的所述管理模块。
3.根据权利要求1所述的待升级模块识别方法,其特征在于,还包括:
构建用于升级所述分布式存储系统的版本升级包;所述版本升级包存储有与所述目标系统版本对应的所述第二全量代码文件和所述文件-服务-模块树的;
相应的,所述获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树,包括:
从所述分布式存储系统的当前环境中获取所述分布式存储系统的当前系统版本对应的第一全量代码文件;
从与所述目标版本对应的所述版本升级包中获取与所述目标版本对应的所述第二全量代码文件以及与所述目标版本对应的所述文件-服务-模块树。
4.根据权利要求1所述的待升级模块识别方法,其特征在于,所述确定所述第一全量代码文件与所述第二全量代码文件之间的差异点,包括:
将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
5.根据权利要求4所述的待升级模块识别方法,其特征在于,所述将所述第一全量代码文件与所述第二全量代码文件进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点,包括:
利用预设MD5算法对所述第一全量代码文件与所述第二全量代码文件进行处理,得到与所述第一全量代码文件对应的第一散列值以及与所述第二全量代码文件对应的第二散列值;
将所述第一散列值与所述第二散列值进行比对以确定出所述第一全量代码文件与所述第二全量代码文件之间的差异点。
6.根据权利要求1所述的待升级模块识别方法,其特征在于,所述根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块,包括:
遍历所述差异文件列表中的文件,根据所述文件-服务-模块树识别出所述当前系统版本中的与各所述文件关联的待重启服务和待升级管理模块。
7.根据权利要求1至6任一项所述的待升级模块识别方法,其特征在于,所述根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块之后,还包括:
对所述待升级管理模块中的待更新文件进行更新,并当所述待更新文件完成更新后,则重启与所述待更新文件关联的所述待重启服务以升级所述待升级管理模块。
8.一种待升级模块识别装置,其特征在于,包括:
代码文件获取模块,用于获取分布式存储系统的当前系统版本对应的第一全量代码文件、目标系统版本对应的第二全量代码文件以及所述目标版本对应的文件-服务-模块树;所述文件-服务-模块树为基于服务、与所述服务重启相关联的文件以及与所述文件相关联的管理模块之间的关联关系生成的多级关系树;
差异点确定模块,用于确定所述第一全量代码文件与所述第二全量代码文件之间的差异点;
文件列表生成模块,用于基于所述差异点生成所述当前系统版本与所述目标系统版本之间的差异文件列表;
识别模块,用于根据所述差异文件列表和所述文件-服务-模块树识别出所述当前系统版本中的待升级管理模块。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的待升级模块识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的待升级模块识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211052500.0A CN115421764A (zh) | 2022-08-31 | 2022-08-31 | 一种待升级模块识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211052500.0A CN115421764A (zh) | 2022-08-31 | 2022-08-31 | 一种待升级模块识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115421764A true CN115421764A (zh) | 2022-12-02 |
Family
ID=84200136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211052500.0A Pending CN115421764A (zh) | 2022-08-31 | 2022-08-31 | 一种待升级模块识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115421764A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302078A (zh) * | 2023-05-19 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
CN117834649A (zh) * | 2024-03-01 | 2024-04-05 | 荣耀终端有限公司 | 数据传输方法及相关装置 |
-
2022
- 2022-08-31 CN CN202211052500.0A patent/CN115421764A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302078A (zh) * | 2023-05-19 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
CN116302078B (zh) * | 2023-05-19 | 2023-08-01 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
CN117834649A (zh) * | 2024-03-01 | 2024-04-05 | 荣耀终端有限公司 | 数据传输方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115421764A (zh) | 一种待升级模块识别方法、装置、设备及存储介质 | |
CN110555078A (zh) | 分布式id生成 | |
CN110795399B (zh) | 一种为应用产生机器id的方法、装置和系统 | |
CN106657433B (zh) | 一种多网卡环境下物理网卡的命名方法和装置 | |
CN111858577B (zh) | 存储管理的方法、设备和计算机程序产品 | |
CN111104151B (zh) | 一种基于Shell脚本的Git代码简化的管理方法 | |
CN110362598B (zh) | 数据查询的方法、装置、存储介质及电子设备 | |
US20200133558A1 (en) | Method, device and computer program product for data backup | |
CN108446110B (zh) | Lua脚本生成方法、装置、终端及计算机可读介质 | |
CN111198709A (zh) | 一种rpm软件包管理方法、系统、装置及可读存储介质 | |
CN113535206B (zh) | 多版本代码升级方法及系统 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN108491448B (zh) | 一种数据推送的方法和装置 | |
CN109996262B (zh) | 一种ac启动方法及装置 | |
US11445036B1 (en) | Cluster management method and apparatus, electronic device and storage medium | |
CN112612797B (zh) | 多源同表数据加载方法、装置、设备及介质 | |
CN116361309B (zh) | 数据查询系统和缓存数据更新方法 | |
WO2022096960A1 (en) | Cluster management method and apparatus, electronic device and storage medium | |
CN107844314B (zh) | 一种升级Weblogic应用程序的方法及系统 | |
CN115827036A (zh) | 一种后端应用升级方法、装置、设备及存储介质 | |
CN114840217A (zh) | 一种编译方法、装置、设备及可读存储介质 | |
CN112685102A (zh) | 一种网关插件热加载方法、装置、设备及介质 | |
CN117435223A (zh) | 应用升级的方法、装置、电子设备和存储介质 | |
CN115167998A (zh) | 批量任务执行方法和装置 | |
CN115495131A (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 |