CN108228269A - 一种分布式系统升级及校验方法 - Google Patents
一种分布式系统升级及校验方法 Download PDFInfo
- Publication number
- CN108228269A CN108228269A CN201611179293.XA CN201611179293A CN108228269A CN 108228269 A CN108228269 A CN 108228269A CN 201611179293 A CN201611179293 A CN 201611179293A CN 108228269 A CN108228269 A CN 108228269A
- Authority
- CN
- China
- Prior art keywords
- software
- file
- server
- upgrading
- distributed system
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44573—Execute-in-place [XIP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种分布式系统升级及校验方法,本发明通过将分布式系统的所有服务器挂载于组织机构树上;分别将每台服务器中所有的系统软件的软件信息写入数据库;然后指定升级的发布范围,获得定制升级策略,并获取需要升级的服务器信息;需要升级的服务器在接收升级指定软件的通知后,并完成文件替换后服务器完成升级;最后获取指定软件的软件信息,通过其确认本地软件包含的文件与数据库中的信息完全一致。本发明能够使服务器在收到通知后,准确、高效的将服务器上的软件升级至指定版本,达到软件定制升级的目的;通过定时自动检测服务器软件目录文件的正确性,有效的提升软件的可靠性,进而提升整个系统的稳定性以降低系统的宕机率。
Description
技术领域
本发明涉及分布式系统运维对线上的指定系统升级领域,具体涉及一种分布式系统升级及校验方法。
背景技术
分布式系统部署中,各类软件的异地、异机安装;在系统生命周期内需要不断的进行诸如解决系统缺陷、新增系统功能的迭代,这就需要对系统中的部分乃至全部软件进行升级。传统的升级方式有:特定时间段服务关机人工升级、部分软件停机人工升级等,诸如此类的升级方式都影响升级后文件的可靠性,甚至会因人为恶意篡改文件致使系统产生致命缺陷乃至系统瘫痪。
发明内容
本发明的目的在于,为解决上述技术问题,提供一种能够进行软件定制升级的分布式系统升级及校验方法。
本发明采用如下的技术方案:一种分布式系统升级及校验方法,包括如下步骤:
S1、将分布式系统的所有服务器挂载于组织机构树上,使分布式系统内的每台服务器都能对应到组织机构树的一个节点;分别针对每台服务器中所有的系统软件建立软件信息,并将软件信息写入数据库;
S2、指定升级的发布范围,获得定制升级策略,并获取需要升级的服务器信息;
S3、需要升级的服务器在接收升级指定软件的通知后,获取指定软件所需安装文件的相对路径、文件CRC值和应安装的文件信息,并完成文件替换后服务器完成升级;
S4、扫描完成升级的服务器的所有安装软件目录,获取指定软件的软件信息,并将其与S1中数据库中写入的软件信息进行逐一比对并更替,直至达到本地软件包含的文件与数据库中的信息完全一致。
如前述的分布式系统升级及校验方法,在步骤S1中,每台服务器至少拥有一个静态IP地址。
如前述的分布式系统升级及校验方法,软件信息包括:软件名称、软件版本、文件CRC以及MD5的软件信息。
如前述的分布式系统升级及校验方法,数据库中写入的数据还包括每个系统软件包含的文件的相对路径及下载路径。
如前述的分布式系统升级及校验方法,步骤S2中发布范围包括:组织机构信息、IP和IP范围信息。
如前述的分布式系统升级及校验方法,获取需要升级的服务器信息具体方法为:根据组织机构信息检索数据库,获取指定组织机构的本级及所有子孙节点上挂载的服务器信息;最后通知需要升级的服务器。
如前述的分布式系统升级及校验方法,获取需要升级的服务器信息具体方法还可以为:根据IP和IP范围检索数据库获取对应的服务器信息;最后通知需要升级的服务器。
如前述的分布式系统升级及校验方法,步骤S3中获取指定软件所需安装文件的相对路径、文件CRC值和应安装的文件信息具体包括:扫描指定软件的目录获取文件的相对路径及文件CRC值;检索该软件及需要升级的版本号,获取该软件应安装的文件信息。
如前述的分布式系统升级及校验方法,步骤S3中文件替换具体包括:通过该软件本地文件信息与数据库中软件信息比对,删除本地多余的文件,下载需要新增、替换的文件并移动至文件各自的相对路路径。
如前述的分布式系统升级及校验方法,步骤S4中进行逐一比对并更替,具体为:判断文件相对路径相同的文件的CRC值是否相同,如果发现不相同,则重新下载该文件并移动至文件相对路径。
与现有技术相比,本发明能够可以运算指定组织机构、IP、IP范围的升级策略,并将升级指令通知到对应的服务器,使服务器在收到通知后,准确、高效的将服务器上的软件升级至指定版本,达到软件定制升级的目的;通过定时自动检测服务器软件目录文件的正确性,有效的提升软件的可靠性,进而提升整个系统的稳定性以降低系统的宕机率。
附图说明
图1为本发明方法流程示意图;
图2为本发明中运算定制升级策略的流程示意图;
图3为本发明中执行升级及自动检查更新的流程示意图。
下面结合附图和具体实施方式对本发明作进一步的说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例1,如图1至图3所示:
创建组织机构、服务器信息(包含IP属性、所属组织机构节点)、软件版本、软件版本对应文件列表及文件属性(CRC(循环冗余校验)、MD5(消息摘要算法)、文件相对路径)关系型数据库表格;
将软件信息入库、将软件文件上传至文件服务器以备下载使用;
运算定制升级策略,流程如图2所示:
1.1、解析定制升级策略文件;
1.2、获取文件中的组织机构及IP或IP范围信息,并根据组织机构及IP信息检索数据库,获取对应服务器信息;
1.3、通知对应服务器,传递升级版本及软件名称等信息。
执行升级:流程如图3所示:
2.1、服务器收到需要升级的软件名称及软件版本;
2.2、根据2.1接收到软件名称及软件版本检索数据库,获取该版本软件对应的文件信息(包含CRC)列表;
2.3、根据2.1获取的软件名称获取服务器上该软件包含的文件信息(包含CRC、相对路径);
2.4、在2.3获取到的文件信息若在2.2中获取的数据库中返回的文件信息不存在,则从本地删除该文件;
2.5、在2.3获取到的文件信息若在2.2中获取的数据库中返回对应文件(文件名一致)信息一致即CRC值相同;
2.6、在2.3获取到的文件信息若在2.2中获取的数据库中返回对应文件(文件名一致)信息不一致即CRC值不相同,从本地删除该文件;并从2.2中获取的数据库中返回该文件信息中检索到该文件的下载地址,拉取该文件至本地临时文件目录;拉取文件至本地后,校验该文件与数据库文件的MD5,确保两者一致后,将该文件移动至数据库中该文件的相对路径。
自动检查更新:流程如图3所示
3.1、获取服务器升级软件(服务软件)的名称、版本信息、文件列表及各文件的相对路径、CRC;
3.2、根据3.1获取软件名称、版本检索数据库,拉取数据库中该版本的文件信息;
3.3、将3.1获取的文件信息与3.2从数据库获取的文件信息比对,存在以下情形:
3.3.1、文件信息在数据库返回结果中不存在,删除该文件;
3.3.2、文件与数据库返回结果不一致即CRC值不一致,从服务器删除该文件,执行3.3.4;
3.3.3、数据库返回结果中包含的文件本地不存在,执行3.3.4;
3.3.4、并从数据库中检索到该文件的下载地址,拉取该文件至本地临时文件目录;拉取文件至本地后,校验该文件与数据库文件的MD5,确保两者一致后,将该文件移动至数据库中该文件的相对路径;
3.4、重复执行3.1与3.3直至相同软件版本下的服务器软件与数据中软件一致。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种分布式系统升级及校验方法,其特征在于,包括如下步骤:
S1、将分布式系统的所有服务器挂载于组织机构树上,使分布式系统内的每台服务器都能对应到组织机构树的一个节点;然后分别针对每台服务器中所有的系统软件建立软件信息,并将所述软件信息写入数据库;
S2、指定所述升级的发布范围,获得定制升级策略,并获取需要升级的服务器信息;
S3、需要升级的服务器在接收升级指定软件的通知后,获取所述指定软件所需安装文件的相对路径、文件CRC值和应安装的文件信息,并完成文件替换后服务器完成升级;
S4、扫描完成升级的服务器的所有安装软件目录,获取所述指定软件的软件信息,并将其与S1中所述数据库中写入的软件信息进行逐一比对并更替,直至达到本地软件包含的文件与数据库中的信息完全一致。
2.如权利要求1所述的分布式系统升级及校验方法,其特征在于,在所述步骤S1中,每台服务器至少拥有一个静态IP地址。
3.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述软件信息包括:软件名称、软件版本、文件CRC以及MD5的软件信息。
4.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述数据库中写入的数据还包括每个系统软件包含的文件的相对路径及下载路径。
5.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述步骤S2中发布范围包括:组织机构信息、IP和IP范围信息。
6.如权利要求5所述的分布式系统升级及校验方法,其特征在于,所述获取需要升级的服务器信息具体方法为:根据所述组织机构信息检索数据库,获取指定组织机构的本级及所有子孙节点上挂载的服务器信息;最后通知需要升级的服务器。
7.如权利要求5所述的分布式系统升级及校验方法,其特征在于,所述获取需要升级的服务器信息具体方法还可以为:根据IP和IP范围检索数据库获取对应的服务器信息;最后通知需要升级的服务器。
8.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述步骤S3中获取所述指定软件所需安装文件的相对路径、文件CRC值和应安装的文件信息具体包括:扫描所述指定软件的目录获取文件的相对路径及文件CRC值;检索该软件及需要升级的版本号,获取该软件应安装的文件信息。
9.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述步骤S3中文件替换具体包括:通过该软件本地文件信息与数据库中软件信息比对,删除本地多余的文件,下载需要新增、替换的文件并移动至文件各自的相对路路径。
10.如权利要求1所述的分布式系统升级及校验方法,其特征在于,所述步骤S4中进行逐一比对并更替,具体为:判断文件相对路径相同的文件的CRC值是否相同,如果发现不相同,则重新下载该文件并移动至文件相对路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611179293.XA CN108228269A (zh) | 2016-12-19 | 2016-12-19 | 一种分布式系统升级及校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611179293.XA CN108228269A (zh) | 2016-12-19 | 2016-12-19 | 一种分布式系统升级及校验方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108228269A true CN108228269A (zh) | 2018-06-29 |
Family
ID=62651634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611179293.XA Pending CN108228269A (zh) | 2016-12-19 | 2016-12-19 | 一种分布式系统升级及校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228269A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132573A (zh) * | 2006-08-23 | 2008-02-27 | 中兴通讯股份有限公司 | 一种终端批量升级的实现方法 |
CN101179425A (zh) * | 2006-12-11 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种客户端软件升级控制方法及系统 |
CN101355454A (zh) * | 2008-09-09 | 2009-01-28 | 中兴通讯股份有限公司 | 一种自动升级分布式网络管理服务器的系统与方法 |
CN104123481A (zh) * | 2013-04-24 | 2014-10-29 | 贝壳网际(北京)安全技术有限公司 | 防止应用程序被篡改的方法及装置 |
-
2016
- 2016-12-19 CN CN201611179293.XA patent/CN108228269A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132573A (zh) * | 2006-08-23 | 2008-02-27 | 中兴通讯股份有限公司 | 一种终端批量升级的实现方法 |
CN101179425A (zh) * | 2006-12-11 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种客户端软件升级控制方法及系统 |
CN101355454A (zh) * | 2008-09-09 | 2009-01-28 | 中兴通讯股份有限公司 | 一种自动升级分布式网络管理服务器的系统与方法 |
CN104123481A (zh) * | 2013-04-24 | 2014-10-29 | 贝壳网际(北京)安全技术有限公司 | 防止应用程序被篡改的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10922067B1 (en) | System and method for installing, updating and uninstalling applications | |
CN105373410B (zh) | 基站软件差分升级方法及其装置 | |
CN101382914B (zh) | 软件更新文件的测试方法和装置 | |
US8255899B2 (en) | Techniques for upgrade dependency management | |
CN109298871B (zh) | 一种电网智能调度系统软件版本监测部署方法 | |
CN106201552A (zh) | 一种软件升级方法、客户端、服务器及系统 | |
CN102736946B (zh) | 一种应用节点的批量部署方法及装置 | |
CN102662705B (zh) | 一种对计算机集群的系统环境进行升级的系统及方法 | |
CN103745158A (zh) | 修复系统漏洞的方法和装置 | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
CN104836843A (zh) | 客户端应用程序更新的方法及装置 | |
CN103942063A (zh) | 一种针对Java Web应用的集中配置和远程部署方法 | |
US20150178065A1 (en) | Dynamic delivery and integration of static content into cloud | |
CN105095089A (zh) | 一种测试应用软件性能的方法及装置 | |
CN103559065B (zh) | 一种ota升级的方法和系统 | |
CN105653329A (zh) | 一种应用管理的方法、装置及系统 | |
CN104679534A (zh) | 系统应用安装包加载处理方法、装置及终端 | |
CN105224344A (zh) | 一种基于xml实现的软件升级文件配置方法 | |
CN102841824B (zh) | 一种回滚方法和回滚装置 | |
CN109324821A (zh) | 一种自助终端系统版本管理方法 | |
CN106250548A (zh) | 一种代码更新方法 | |
CN103049283A (zh) | 一种每个软件文件都设定版本号的自动升级方法 | |
CN101800840B (zh) | 一种机顶盒升级方法 | |
EP2438709B1 (en) | Network element integration | |
CN104932887A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180629 |
|
WD01 | Invention patent application deemed withdrawn after publication |