CN111162953B - 数据处理方法、系统升级方法和服务器 - Google Patents

数据处理方法、系统升级方法和服务器 Download PDF

Info

Publication number
CN111162953B
CN111162953B CN201911423720.8A CN201911423720A CN111162953B CN 111162953 B CN111162953 B CN 111162953B CN 201911423720 A CN201911423720 A CN 201911423720A CN 111162953 B CN111162953 B CN 111162953B
Authority
CN
China
Prior art keywords
target
project
packaging
modules
file
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.)
Active
Application number
CN201911423720.8A
Other languages
English (en)
Other versions
CN111162953A (zh
Inventor
汪茹洋
林皓
刘进辉
戴相龙
白志凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Public Security Research Center
Beijing VRV Software Corp Ltd
Original Assignee
Sichuan Public Security Research Center
Beijing VRV Software Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Public Security Research Center, Beijing VRV Software Corp Ltd filed Critical Sichuan Public Security Research Center
Priority to CN201911423720.8A priority Critical patent/CN111162953B/zh
Publication of CN111162953A publication Critical patent/CN111162953A/zh
Application granted granted Critical
Publication of CN111162953B publication Critical patent/CN111162953B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种数据处理方法、系统升级方法和服务器,该数据处理方法包括:接收项目打包请求,该项目打包请求中包括目标项目下的需求信息;根据该目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,该目标模块包括目标组件或目标服务;对识别出的该多个目标模块进行依赖性检测;对通过依赖性检测的目标模块进行打包,得到打包文件,该打包文件用于对待部署设备进行系统升级或系统安装。以此可以改善现有技术中的系统部署效率低的问题。

Description

数据处理方法、系统升级方法和服务器
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种数据处理方法、系统升级方法和服务器。
背景技术
目前,在IT(internet Technology,互联网技术)领域,随着信息系统的普及应用,系统复杂度不断提升,为了提供系统的扩展性和伸缩性,信息系统往往不再是单体应用,在微服务架构下进行项目部署的情况逐渐增多。很多大型信息系统和微服务架构的系统通常包括多个子系统,每个子系统下的各个服务器独立配置、独立安装、独立升级。
但是,现有的系统部署方式需要依赖大量的人为操作,且部署效率低。
发明内容
本申请实施例的目的在于提供一种数据处理方法、系统升级方法和服务器,用以改善现有技术中的系统部署效率低的问题。
第一方面,本申请实施例提供一种数据处理方法,所述方法包括:
接收项目打包请求,所述项目打包请求中包括目标项目下的需求信息;
根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,所述目标模块包括目标组件或目标服务;
对识别出的所述多个目标模块进行依赖性检测;
对通过依赖性检测的目标模块进行打包,得到打包文件,所述打包文件用于对待部署设备进行系统升级或系统安装。
在上述方法中,第一设备在接收到项目打包请求后可以进行自动化打包,为用户提供打包文件,缩短了整套部署流程中的打包阶段所需的时间,可以提升部署效率。且由于在打包阶段进行了依赖性检测,可以降低后期部署失败的概率,避免因依赖性问题耗费过多的故障排查时间,有利于提升部署效率。
在可选的实施方式中,所述目标项目下的需求信息包括所述目标项目下的组件字段和/或服务字段,所述根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,包括:
调用打包应用程序,依据所述目标项目下的组件字段和/或服务字段对已有的项目模块进行识别,从已有的项目模块中识别出与所述组件字段匹配的目标组件,和/或与所述服务字段匹配的目标服务,以得到所述多个目标模块。
通过上述实现方式可以根据项目打包请求确定组件字段、服务字段,从而根据组件字段、服务字段快速识别出目标模块。
在可选的实施方式中,所述对识别出的所述多个目标模块进行依赖性检测,包括:
对于识别出的多个目标组件和多个目标服务,进行目标组件与目标组件之间、目标组件与目标服务之间、目标服务与目标服务之间的依赖性检测。
通过上述实现方式,在经过组件与组件、服务与服务、服务与组件之间的依赖性检测后,可以在对目标模块进行升级时,根据依赖关系将与目标模块相关的其他模块一起升级,避免单个目标模块级后出现调用问题。
在可选的实施方式中,在所述对通过依赖性检测的目标模块进行打包,得到打包文件之前,所述方法还包括:
对识别出的所述多个目标模块进行兼容性检测;
所述对通过依赖性检测的目标模块进行打包,得到打包文件,包括:
对通过依赖性检测且通过兼容性检测的目标模块进行打包,得到打包文件。
通过上述实现方式可以提升系统部署的稳定性。
在可选的实施方式中,在所述对通过依赖性检测的目标模块进行打包,得到打包文件之后,所述方法还包括:
为所述打包文件灌装镜像文件;
将所述目标项目的镜像文件发布到第三方平台上,以供所述待部署设备从所述第三方平台上获取所述目标项目的镜像文件,以进行所述待部署设备的系统升级或系统安装。
通过上述实现方式有利于实现远程、高效部署。
在可选的实施方式中,在所述根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块之前,所述方法还包括:
获取第一用户对于至少一个项目的项目拆分信息以及每个项目拆分信息对应的模块信息;
获取第二用户关于所述至少一个项目中任一项目下的模块信息上传的项目模块。
通过上述实现方式,提前将每个项目与各自的项目模块进行关联,有利于实现需求与项目、需求与模块的匹配,降低部署错误的概率。
第二方面,实施例提供一种系统升级方法,应用于待部署设备,所述方法包括:
获取前述实施方式任一项所述的方法得到的打包文件;
基于所述打包文件进行系统升级。
通过上述方法能够基于已有的打包文件快速地进行系统升级,减少了工作人员的配置工作量,有利于提升部署效率。
在可选的实施方式中,所述方法还包括:
根据所述打包文件对应的系统升级方式,判断待升级设备是否具备已配置的环境变量;
在所述待升级设备具备已配置的环境变量时,根据已配置的环境变量进行系统升级;
在所述待升级设备不具备已配置的环境变量时,读取所述打包文件中的配置文件进行系统升级。
通过上述实现方式,可降低工作人员在系统升级过程中所需的配置工作量,降低对于工作人员的配置要求,提升系统升级效率,有利于快速完成多个待部署设备的快速部署。
在可选的实施方式中,所述方法还包括:
在系统升级过程中进行状态检测;
在系统安装出现异常或系统升级出现异常时,根据所述打包文件进行回滚。
通过上述实现方式,能够在系统升级出现异常时,追溯上一次的系统版本,避免待部署设备出现系统不可用的情况。
第三方面,本申请实施例提供一种服务器,包括:
存储器;
处理器;
所述存储器存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行前述第一方面或第二方面所述的方法。
第四方面,本申请实施例提供一种数据处理装置,该装置包括:
接收模块,用于接收项目打包请求,所述项目打包请求中包括目标项目下的需求信息;
确定模块,用于根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,所述目标模块包括目标组件或目标服务;
检测模块,用于对识别出的所述多个目标模块进行依赖性检测;
打包模块,用于对通过依赖性检测的目标模块进行打包,得到打包文件,所述打包文件用于对待部署设备进行系统升级或系统安装。
该数据处理装置可用于执行前述第一方面提供的数据处理方法,能够提升部署流程中的打包效率,从而提升整体部署效率。
第五方面,本申请实施例提供一种系统升级装置,该装置包括:
文件获取模块,用于获取目标项目的打包文件。
升级模块,用于基于所述目标项目的打包文件进行系统升级。
该系统升级装置可用于执行前述第二方面提供的方法,可以提升系统升级效率。
第六方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被运行时执行前述第一方面或第二方面提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种服务器集群的示意图。
图2为本申请实施例提供的一种服务器的结构框图。
图3为本申请实施例提供的一种数据处理方法的流程图。
图4为本申请实施例提供的一种系统升级方法的流程图。
图5为本申请实施例提供的一种数据处理装置的功能模块框图。
图6为本申请实施例提供的一种系统升级装置的功能模块框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了降低工作人员的工作量,本申请实施例提供了一套基于微服务架构进行项目部署的方案,包括打包、发布、部署等阶段。打包阶段可以生成经过依赖性检测的打包文件,发布阶段可以根据打包得到的打包文件灌装生成与发布平台对应的镜像文件,部署阶段可以由待部署设备根据打包文件完成系统升级或系统安装,待部署设备可以从发布平台上获取镜像文件,从而得到镜像文件对应的打包文件。其中,打包阶段和发布阶段可以由同一设备执行。打包阶段、发布阶段、部署阶段可以由不同的用户启动,避免了对同一用户的过高专业要求。
请参阅图1,图1为本申请实施例提供的一种服务器集群的示意图。
如图1所示,该服务集群包括第一设备101、第二设备102。第一设备101、第二设备102均具有运算处理能力,第一设备101可以是服务器、个人计算机等,第二设备102可以是服务器、个人计算机等。
其中,第一设备101可以基于用户对目标项目的打包申请,进行目标项目下各个目标模块的打包,生成经过依赖性检测的打包文件,并根据打包文件将灌装生成的镜像文件发布到选定的发布平台上。第二设备102可以作为待部署设备,在获取到关于目标项目的打包文件后进行系统升级或系统更新。
请参阅图2,图2为本申请实施例提供的一种服务器200的结构框图。该服务器200可以是前述的第一设备101或第二设备102。
如图2所示,该服务器200可以包括存储器201、处理器202、通信单元203、显示单元204,存储器201、处理器202、通信单元203、显示单元204之间直接或间接连接,以实现数据交互。
存储器201是一种存储介质,可用于存储本申请实施例提供的各实施例对应的计算机程序。存储器201可以是随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器202具有运算处理能力,可以执行存储器201中存储的计算机程序,处理器202可以是中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等通用处理器;还可以是专用处理器或者其他可编程逻辑器件搭建的处理器。当存储器201中存储的计算机程序被处理器202执行时,可以实现本申请实施例提供的方法、步骤及逻辑框图。
通信单元203可以包括通讯总线、通信芯片等用于实现有线或无线通信连接的介质,服务器200可以通过通信单元203实现与外部设备的网络通信连接,从而进行数据交互,例如可以通过通信单元203进行下载、上传等数据操作。
显示单元204可以为用户提供可视化的用户操作界面,例如,可以显示打包阶段、发布阶段、部署阶段的处理进度,还可以显示各个项目下的所有模块、版本、责任人信息等,还可以用于显示各个项目的处理日志等。
可以理解,图2所示的结构仅为示意,服务器200还可包括比图2所示的结构更多或更少的组件,或具有与图2所示不同的配置。
请参阅图3,图3为本申请实施例提供的一种数据处理方法的流程图,该数据处理方法可以应用于第一设备。
如图3所示,该数据处理方法包括步骤S31-S34。
S31:接收项目打包请求,该项目打包请求中包括目标项目下的需求信息。
S32:根据目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,目标模块包括目标组件或目标服务。
S33:对识别出的多个目标模块进行依赖性检测。
S34:对通过依赖性检测的目标模块进行打包,得到打包文件,打包文件用于对待部署设备进行系统升级或系统安装。
其中,本申请实施例提供的方案可通过界面化的方式为用户提供在线的操作界面。不同角色的用户可以查看的内容不同。
在一个应用场景中,作为需求方的用户基于可视化的操作界面查看各个第二设备的部署情况,从而发起项目打包请求。例如,作为需求方的用户可以通过操作界面输入关于目标项目的需求信息,从而使得第一设备接收到项目打包请求。
在另一个应用场景中,作为项目管理员的用户可以在收到需求方的需求信息后,创建项目,根据需求方的需求信息对创建的项目进行拆分,从而根据拆分情况得到各个项目的模块框架。当作为模块提供方的用户根据模块框架提供项目模块后,项目管理员用户或需求方用户可以通过第一设备或第二设备发起项目打包请求,从而使得第一设备得到项目打包请求。
其中,在进行打包之前,通过分角色处理的方式可以明确各个角色的用户职责,便于管理,需求方可提出总需求、发起项目打包请求、提出安装请求,项目管理员可以根据需求方的总需求进行拆解,从而创建项目,并为项目划分模块框架,对项目进行维护(包括对于需求的添加、模块的添加、模块的修改等),还可以对划分的模块框架添加各个模块之间的依赖关系,以此原理可以将在一些项目与项目之间进行关联,在模块与模块之间进行关联,关联内容包括依赖性关联、兼容性关联。模块提供方可以根据模块框架制作并上传项目模块,还可以对项目模块进行更新,从而实现对于模块框架的填充。以此有利于在第一设备接收到项目打包请求后,快速根据项目打包请求从已有的项目模块中快速确定出项目打包请求所需的目标模块,还有利于对整套部署流程(包括打包阶段)进行集中管理并以可视化方式呈现,各个角色可以约定时间进行输出,方便各个模块的快速部署。
其中,当第一设备接收到项目打包请求后,对项目打包请求进行解析,从而得到关于目标项目的需求信息。然后根据目标项目下的需求信息,调用后台的一个或多个打包应用程序从已有的项目模块中识别出多个目标模块。其中,目标模块包括目标组件或目标服务。
在一个实例中,第一设备根据目标项目下的需求信息,调用了三个后台打包程序进行识别,从已有的基础组件、分布式基础服务、告警服务(一种应用服务)、资产服务(一种应用服务)等项目模块中识别出四个目标模块,作为此次项目打包请求对应的打包对象。
其中,基础组件可以是基于Nginx、Mysql、Redis、Elasticsearch等技术的组件,分布式基础服务可以是基于Nacos技术的服务。由于具体的模块与用户实际上传的内容有关,因此本申请不对具体的模块内容进行限制。
当识别出关于目标项目的多个目标模块后,第一设备可对识别出的多个目标模块进行依赖性检测,可以将各个模块的依赖关系以特定的标识展示在操作界面中,从而使得模块依赖关系可视化,打包过程透明化。
其中,当各个项目被创建后,管理员用户可以为每个项目下新增的模块添加该新增的模块与其他模块的依赖关系。在通过S33进行依赖性检测时,可以通过直接或间接的依赖性检测,搜索与目标模块存在依赖性关系的其他模块。
作为一种实现方式,当检测到目标模块A1与另一个模块A2都具有作为依赖证明的依赖标识a时,将目标模块A1与模块A2视作存在依赖关系,当对目标模块A1进行打包时,可以将模块A2一起打包,从而得到包含模块A1、A2的打包文件。
作为另一种实现方式,当检测到目标模块A3、目标模块A4分别对应的标识为b1、b2,且检测到存在一模块A5对应的标识为c时,通过预先设定的数据关联表得知标识为b1、b2的模块将依赖于标识为c的模块,此时认为目标模块A3、目标模块A4依赖于模块A5,其中,目标模块A3与目标模块A4之间可能具有存在依赖关系,也可能不具有依赖关系。在对目标模块A3进行打包时,可以将模块A3、A5一起打包,在对目标模块A4进行打包时,可以将模块A4、A5一起打包。
通过在打包阶段进行依赖性检测,有利于改善后续使用打包文件时出现依赖包不完整的情况,可以有效避免在待部署设备采用打包文件进行升级后,部分模块自身升级而该部门模块依赖的模块未得到升级的情况。由于在打包过程中进行了依赖性检测,可以降低后续部署阶段使用打包文件进行系统安装或系统升级时的失败概率。
其中,在通过S33对识别出的所有目标模块进行依赖性检测后,对通过依赖性检测的目标模块进行打包,从而生成打包文件。
在上述方法中,项目、需求、模块之间存在对应关系,有利于各个角色能够获知的信息在一定程度上同步,避免因需求、项目、模块各自独立而造成信息无法一致,从而导致打包后得到的打包文件内容与需求不匹配的问题。在具体实施时,可以将各个需求、项目打包请求与后台打包程序提前关联,以避免打包错误。
通过上述S31-S34的方法,相较于现有技术中在项目打包阶段依赖大量的人为操作的方式,第一设备在接收到项目打包请求后可以进行自动化打包,为用户提供打包文件,缩短了整套部署流程中的打包阶段所需的时间,可以提升部署效率。且,由于打包阶段就进行了依赖性检测,可以降低后期部署失败的概率,避免因依赖性问题耗费过多的故障排查时间,有利于提升部署效率,且更便于后期安装、升级。
作为一种实现方式,前述的目标项目下的需求信息可以包括目标项目下的组件字段和/或服务字段,相应的,上述S32可以包括子步骤S321。
S321:调用打包应用程序,依据目标项目下的组件字段和/或服务字段对已有的项目模块进行识别,从已有的项目模块中识别出与组件字段匹配的目标组件,和/或与服务字段匹配的目标服务,以得到多个目标模块。
在一个实例中,项目打包请求中包括目标项目P1下的3个组件字段和4个服务字段。第一设备根据该目标项目P1下的3个组件字段和4个服务字段对已有的项目模块进行识别,识别出与该3个组件字段匹配的目标组件,以及识别出与该4个服务字段匹配的4个目标服务,作为7个目标模块。
在另一个实例中,项目打包请求中包括目标项目P1下的3个组件字段以及目标项目P2下的4个服务字段。第一设备根据该目标项目P1下的3个组件字段对已有的项目模块进行识别,识别出与该3个组件字段匹配的3个目标组件作为目标项目P1的3个目标模块。第一设备根据目标项目P2下的4个服务字段对已有的项目模块进行识别,识别出与该4个服务字段匹配的4个目标服务,作为目标项目P2的4个目标模块。对于这种情况,可以分别为目标项目P1、P2分别生成对应的打包文件。
通过上述实现方式,可以从项目打包请求中确定组件字段、服务字段,从而根据组件字段、服务字段快速识别出目标模块。
可选地,上述S33可以包括子步骤S331。
对于识别出的多个目标组件和多个目标服务,进行目标组件与目标组件之间、目标组件与目标服务之间、目标服务与目标服务之间的依赖性检测。
在一个实例中,对于目标项目P1下的7个目标模块(3个目标组件和4个目标服务),可以对7个目标模块中的3个目标组件进行目标组件与目标组件之间的依赖性检测,可以对7个目标模块中的4个目标服务进行目标服务与目标服务之间的依赖性检测,可以对7个目标模块中的任意模块和任意组件进行目标组件与目标服务之间的依赖性检测。
除了可以在识别出的各个目标模块之间进行依赖性检测,还可以基于识别出的各个目标模块,将识别出的各个目标模块与已有的其他非目标模块进行依赖性检测,从而将与目标模块具有依赖关系的非目标模块一起打包。
通过上述实现方式,在通过进行组件与组件、服务与服务、服务与组件之间的依赖性检测,可以在对目标模块进行升级时,根据依赖关系,将与该目标模块相关的其他模块一起升级,避免单个目标模块升级后出现调用问题。
可选地,在生成打包文件之前,除了可以进行依赖性检测,还可以进行兼容性检测,因此在生成打包文件之前,上述方法还可以包括:对识别出的多个目标模块进行兼容性检测。相应的,上述S34可以包括:对通过依赖性检测且通过兼容性检测的目标模块进行打包,得到打包文件。
其中,在进行兼容性检测时,需要高版本兼容低版本,通过兼容性检测后,可以使得相同的模块适用于多个版本项目,兼容多个低版本。
关于兼容性检测的方式与依赖性检测的方式类似,在此不再赘述。
通过上述实现方式,可以保证部署的目标项目的版本稳定性。
其中,在打包阶段除了可以对目标模块进行兼容性检测,还可以对目标项目对应的数据库脚本进行兼容检测、对目标项目对应的调用接口进行兼容检测,从而保障升级后的项目模块具有接口兼容性。
可选地,在通过S34得到打包文件之后可以进入发布阶段。在生成打包文件之后,上述方法还可以包括S35-S36。
S35:为打包文件灌装镜像文件。
S36:将目标项目的镜像文件发布到第三方平台上,以供待部署设备从第三方平台上获取目标项目的镜像文件,以进行待部署设备的系统升级或系统安装。
本申请实施例中,第一设备可以根据得到的打包文件以及选定的发布平台,自动灌装生成镜像文件,并将生成的镜像文件发布到选定的第三方平台上。镜像文件的类型根据选定的发布平台而确定。
在一个实例中,可以根据打包文件灌装得到IOS文件,IOS文件是一种可以发布在linux平台的镜像文件。在待部署设备为linux服务器时,通过linux的wget工具可以获取目标项目的资源,能够通过IOS文件进行配置。
在其他实施例中,第一设备也可以将打包文件发送给其他的外部设备,由外部设备根据打包文件灌装生成镜像文件,从而由外部设备进行发布。
当目标项目的镜像文件被发布到平台上后,待部署设备可以从发布的平台上下载镜像文件,从而实现待部署设备的系统安装或系统升级,待部署设备无需与第一设备保持持续的连接,有利于实现高效、远程部署。
其中,除了可以将灌装得到的镜像文件发布到选定的发布平台上,以供待部署设备从发布平台上获取镜像文件从而获得打包文件,还可以将灌装得到的镜像文件配置在可移动存储介质中,从而使得当可移动存储介质与待部署设备连接时,待部署设备可以读取可移动存储介质上的镜像文件,从而获取到打包文件并进行系统升级或系统安装。
可选地,在执行S32之前,上述方法还可以包括S301-S302。
S301:获取第一用户对于至少一个项目的项目拆分信息以及每个项目拆分信息对应的模块信息。
其中,第一用户可以是前述的作为项目管理员的用户。第一用户在创建项目后,可以对每个项目进行拆分,从而使得第一设备可以得到一个或多个项目的项目拆分信息,项目拆分信息用于构建各个项目的模块框架。
S302:获取第二用户关于至少一个项目中任一项目下的模块信息上传的项目模块。
第二用户可以是作为模块提供方的用户,第一设备可以获取第二用户对于已创建的模块框架所上传的每个项目模块。
通过上述实现方式,可提前将每个项目与各自的项目模块进行关联,有利于实现需求与项目、需求与模块的匹配,降低部署的错误率。
基于上述数据处理方法,请参阅图4,本申请实施例还提供一种系统升级方法,该系统升级方可应用于待部署设备。待安装设备、待升级设备都可作为待部署设备。
如图4所示,该方法可包括步骤S41-S42。
S41:获取对于目标项目的打包文件。
其中,对于目标项目的打包文件是通过前述数据处理方法生成的。
作为一种实现方式,待部署设备可以从发布平台上获取目标项目的镜像文件,从而基于镜像文件解析得到打包文件。
作为另一种实现方式,待部署设备可以读取可移动存储介质中配置的镜像文件,从而基于镜像文件解析得到打包文件。
S42:基于目标项目的打包文件进行系统升级。
当镜像文件对应的引导程序在待部署设备上运行时,可以根据镜像文件对应的打包文件进行系统升级。
关于打包文件的其他细节,请参考前述数据处理方法中的相关描述,在此不再赘述。
通过上述方法,可以基于已有的打包文件快速地进行系统升级,减少了工作人员的配置工作量,有利于提升部署效率。
作为一种实现方式,在系统升级过程中,上述方法还可以包括:
根据打包文件对应的系统升级方式,判断待升级设备是否具备已配置的环境变量;在待升级设备具备已配置的环境变量时,根据已配置的环境变量进行系统升级;在待升级设备不具备已配置的环境变量时,读取打包文件中的配置文件进行系统升级。
其中,环境变量是指在操作系统中用来指定操作系统运行环境的一些参数,例如临时文件夹位置、系统文件夹位置、待部署设备的地址等参数。环境变量是在操作系统中一个具有特定名字的对象,还可以包含一个或者多个应用程序将使用到的信息。
当打包文件属于升级类文件时,打包文件对应的系统升级方式为:根据待升级设备的日志,判断待升级设备上是否具有已配置的环境变量,在具有已配置的环境变量时优先使用已有的环境变量进行系统升级。在无法获取到环境变量时,则可以根据打包文件中默认的配置文件获取相关的变量,从而使用打包文件中的配置文件进行系统升级。
其中,当无法在待部署设备上获取到环境变量,也无法通过读取打包文件中的配置文件进行系统升级时进行报错提示。
通过上述实现方式,可以降低工作人员在系统升级过程中所需的配置工作量,降低对于工作人员的配置要求,降低人力成本,提升系统升级效率,有利于快速完成多个待部署设备的快速部署。
可选地,在本申请实施例中,可以通过打包文件中的指定类型的参数确定升级方式。
在一个实例中,打包文件中的指定类型的参数为“jsoc.json”,当识别到该参数时,可以基于界面交互的方式进行系统升级。
在另一个实例中,打包文件中的指定类型的参数为“jsoc.json”和“conf.properties”,当识别到该两个参数时,既可以支持界面交互的升级方式,也可以支持基于配置文件的属性和配置文件中的默认内容进行升级的升级方式。
可选地,上述系统升级方法还可以包括:在系统升级过程中进行状态检测;在系统安装出现异常或系统升级出现异常时,根据打包文件进行回滚。
其中,回滚(Rollback)指的是在程序或数据处理错误时,将程序或数据恢复到上一次正确状态的行为。在进行升级之前需要对待部署设备的原始项目信息进行相关的备份,以此提供回滚的数据基础。
在系统升级过程中可以对目标项目下的各个模块(包括组件、服务)进行状态检测,状态检测的内容包括升级进度、升级结果。在升级的每个服务、每个组件都能够正常启动时,确定升级成功,当升级的任一服务或任一模块启动失败时,可以视为升级失败。
当出现升级异常、升级失败时,可以进行系统回滚,系统回滚可以包括服务回滚、模块回滚、项目回滚中的至少一者。
通过上述实现方式,可以在系统升级出现异常时,追溯上一次的系统版本,避免待部署设备出现系统不可用的情况。
基于同样的发明构思,本申请实施例还可以提供一种系统安装方法,系统安装方法包括:获取对于目标项目的打包文件;基于目标项目的打包文件进行系统安装。
该系统安装方法与系统升级方法类似,在此不再赘述,系统安装方法与系统升级方法的区别仅在于,首次系统安装过程中不涉及环境变量,在安装过程中的配置参数可由打包文件的配置文件确定,例如,可以先将打包文件中的配置内容作为默认配置内容,后期系统运行时可由工作人员自行更改配置参数。
基于同一发明构思,请参阅图5,本申请实施例还提供一种数据处理装置500,该装置可用于执行前述的数据处理方法。
如图5所示,该数据处理装置500可包括:接收模块501、确定模块502、检测模块503、打包模块504。
接收模块501,用于接收项目打包请求,项目打包请求中包括目标项目下的需求信息。
确定模块502,用于根据目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,目标模块包括目标组件或目标服务;
检测模块503,用于对识别出的多个目标模块进行依赖性检测;
打包模块504,用于对通过依赖性检测的目标模块进行打包,得到打包文件,打包文件用于对待部署设备进行系统升级或系统安装。
可选的,该识别模块还可用于:调用打包应用程序,依据目标项目下的组件字段和/或服务字段对已有的项目模块进行识别,从已有的项目模块中识别出与组件字段匹配的目标组件,和/或与服务字段匹配的目标服务,以得到多个目标模块。
可选地,该检测模块503还可用于:对于识别出的多个目标组件和多个目标服务,进行目标组件与目标组件之间、目标组件与目标服务之间、目标服务与目标服务之间的依赖性检测。
可选地,该检测模块503还可用于对识别出的多个目标模块进行兼容性检测。打包模块504还可用于对通过依赖性检测且通过兼容性检测的目标模块进行打包,得到打包文件。
可选地,该装置还可包括灌装模块和发布模块,灌装模块用于为打包文件灌装镜像文件;发布模块用于将目标项目的镜像文件发布到第三方平台上,以供待部署设备从第三方平台上获取目标项目的镜像文件,以进行待部署设备的系统升级或系统安装。
可选地,该接受模块还可用于:获取第一用户对于至少一个项目的项目拆分信息以及每个项目拆分信息对应的模块信息;获取第二用户关于至少一个项目中任一项目下的模块信息上传的项目模块。
关于本申请实施例提供的数据处理装置500的其他内容,可以参考前述数据处理方法的相关描述,在此不再赘述。
基于同一发明构思,请参阅图6,本申请实施例还提供一种系统升级装置600,该装置可用于执行前述的系统升级方法。
如图6所示,该装置可包括文件获取模块601和升级模块602。
文件获取模块601,用于获取目标项目的打包文件。
升级模块602,用于基于目标项目的打包文件进行系统升级。
可选地,升级模块602还可用于:根据打包文件对应的系统升级方式,判断待升级设备是否具备已配置的环境变量;在待升级设备具备已配置的环境变量时,根据已配置的环境变量进行系统升级;在待升级设备不具备已配置的环境变量时,读取打包文件中的配置文件进行系统升级。
可选地,该装置还可包括回滚模块,用于在系统升级过程中进行状态检测;在系统安装出现异常或系统升级出现异常时,根据打包文件进行回滚。
关于本申请实施例提供的系统升级装置600的其他细节,请进一步参考前述的系统升级方法中的相关描述,在此不再赘述。
除了上述实施例外,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,当计算机程序被运行时执行前述的数据处理方法或系统升级方法。该存储介质可以包括:U盘、移动硬盘、存储器201、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所讨论的相互之间的连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种数据处理方法,其特征在于,所述方法包括:
接收项目打包请求,所述项目打包请求中包括目标项目下的需求信息;
根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,所述目标模块包括目标组件或目标服务;
对识别出的所述多个目标模块进行依赖性检测;
对通过依赖性检测的目标模块进行打包,得到打包文件,所述打包文件用于对待部署设备进行系统升级或系统安装;
所述目标项目下的需求信息包括所述目标项目下的组件字段和/或服务字段,所述根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块,包括:
调用打包应用程序,依据所述目标项目下的组件字段和/或服务字段对已有的项目模块进行识别,从已有的项目模块中识别出与所述组件字段匹配的目标组件,和/或与所述服务字段匹配的目标服务,以得到所述多个目标模块;
所述对识别出的所述多个目标模块进行依赖性检测,包括:
对于识别出的多个目标组件和多个目标服务,进行目标组件与目标组件之间、目标组件与目标服务之间、目标服务与目标服务之间的依赖性检测。
2.根据权利要求1所述的方法,其特征在于,在所述对通过依赖性检测的目标模块进行打包,得到打包文件之前,所述方法还包括:
对识别出的所述多个目标模块进行兼容性检测;
所述对通过依赖性检测的目标模块进行打包,得到打包文件,包括:
对通过依赖性检测且通过兼容性检测的目标模块进行打包,得到打包文件。
3.根据权利要求1所述的方法,其特征在于,在所述对通过依赖性检测的目标模块进行打包,得到打包文件之后,所述方法还包括:
为所述打包文件灌装镜像文件;
将所述目标项目的镜像文件发布到第三方平台上,以供所述待部署设备从所述第三方平台上获取所述目标项目的镜像文件,以进行所述待部署设备的系统升级或系统安装。
4.根据权利要求1-3任一项所述的方法,在所述根据所述目标项目下的需求信息,调用打包应用程序从已有的项目模块中识别出多个目标模块之前,所述方法还包括:
获取第一用户对于至少一个项目的项目拆分信息以及每个项目拆分信息对应的模块信息;
获取第二用户关于所述至少一个项目中任一项目下的模块信息上传的项目模块。
5.一种系统升级方法,其特征在于,应用于待部署设备,所述方法包括:
获取权利要求1-4任一项所述的方法得到的打包文件;
基于所述打包文件进行系统升级。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述打包文件对应的系统升级方式,判断待升级设备是否具备已配置的环境变量;
在所述待升级设备具备已配置的环境变量时,根据已配置的环境变量进行系统升级;
在所述待升级设备不具备已配置的环境变量时,读取所述打包文件中的配置文件进行系统升级。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在系统升级过程中进行状态检测;
在系统安装出现异常或系统升级出现异常时,根据所述打包文件进行回滚。
8.一种服务器,其特征在于,包括:
存储器;
处理器;
所述存储器存储有所述处理器可执行的计算机程序,所述计算机程序被所述处理器执行时执行权利要求1-7任一项所述的方法。
CN201911423720.8A 2019-12-31 2019-12-31 数据处理方法、系统升级方法和服务器 Active CN111162953B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911423720.8A CN111162953B (zh) 2019-12-31 2019-12-31 数据处理方法、系统升级方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911423720.8A CN111162953B (zh) 2019-12-31 2019-12-31 数据处理方法、系统升级方法和服务器

Publications (2)

Publication Number Publication Date
CN111162953A CN111162953A (zh) 2020-05-15
CN111162953B true CN111162953B (zh) 2023-04-28

Family

ID=70560604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911423720.8A Active CN111162953B (zh) 2019-12-31 2019-12-31 数据处理方法、系统升级方法和服务器

Country Status (1)

Country Link
CN (1) CN111162953B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111967017B (zh) * 2020-07-28 2023-06-02 深圳开源互联网安全技术有限公司 生成依赖关系的方法、装置、终端设备及存储介质
CN111930423B (zh) * 2020-09-17 2021-08-24 四川新网银行股份有限公司 一种基于微服务的软件发布版本追溯的方法
CN112667250B (zh) * 2020-12-23 2024-09-06 北京浪潮数据技术有限公司 一种centos系统的组件打包下载方法、系统及装置
CN112819577B (zh) * 2021-01-28 2024-09-10 长沙市到家悠享网络科技有限公司 依赖关系可视化方法、装置、设备和存储介质
CN113885956B (zh) * 2021-09-29 2023-08-29 北京百度网讯科技有限公司 服务部署方法及装置、电子设备和存储介质
CN117369865B (zh) * 2023-12-07 2024-04-05 麒麟软件有限公司 一种GNU linux通用的应用程序打包方法及图形化应用打包器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7865874B2 (en) * 2006-08-28 2011-01-04 Oracle America, Inc. System and method for information collection for an adaptive software dependency model
US20090006147A1 (en) * 2007-06-27 2009-01-01 Harirajan Padmanabhan Method and system for defining and managing information technology projects based on conceptual models
CN102437938B (zh) * 2012-01-09 2013-11-13 北京邮电大学 面向大规模网络监测的虚拟化部署系统和方法
US8996779B2 (en) * 2013-06-12 2015-03-31 International Business Machines Corporation Service oriented architecture service dependency determination
CN108628751B (zh) * 2018-05-17 2021-06-11 北京三快在线科技有限公司 一种无用依赖项检测方法及装置
CN109086051B (zh) * 2018-06-29 2022-03-25 平安科技(深圳)有限公司 应用组件部署方法、装置及计算机存储介质
CN110442376A (zh) * 2019-07-19 2019-11-12 精硕科技(北京)股份有限公司 一种实现软件打包的方法及装置
CN110531993B (zh) * 2019-08-21 2022-11-25 苏州浪潮智能科技有限公司 软件安装方法、装置、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I.Aizpuru.Battery pack tests to detect unbalancing effects in series connected li-ion cells.2013 ICCEP.2013,全文. *
孙文静.基于依赖性分析和假设检验的贝叶斯分类器.中国优秀硕士学位论文数据库.2014,全文. *

Also Published As

Publication number Publication date
CN111162953A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111162953B (zh) 数据处理方法、系统升级方法和服务器
US11119745B2 (en) Automated deployment of applications
US8756595B2 (en) Method and system for distributed application stack deployment
US20190155578A1 (en) Determining the identity of software in software containers
US8990809B1 (en) Creating a virtual appliance using existing installation manifest
CN111694592A (zh) 项目版本发布的管理方法以及系统
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
US10129373B2 (en) Recovery of a network infrastructure to facilitate business continuity
US11544052B2 (en) Tenant declarative deployments with release staggering
CN112860645B (zh) 一种离线压缩文件的处理方法、装置、计算机设备及介质
CN112860277B (zh) 软件部署方法、装置以及计算机可读存储介质
US11645086B2 (en) System and method for implementing a filesystem agent management solution
CN103970655A (zh) 一种基于expect的服务器自动化集群测试方法
WO2020041452A1 (en) Systems and methods for on-demand container-based development environments
US11314601B1 (en) Automated capture and recovery of applications in a function-as-a-service environment
CN114924742A (zh) 用于虚拟机模拟软件的热补丁制作和应用方法、装置
CN111552484A (zh) 一种应用程序包分发方法、装置、设备及存储介质
CN113420010B (zh) 数据库的管理方法、装置、电子设备和存储介质
CN114443294A (zh) 大数据服务组件部署方法、系统、终端及存储介质
CN109739518B (zh) 生成离线软件资源的方法及装置
US11347533B2 (en) Enhanced virtual machine image management system
CN109814911A (zh) 用于管理脚本程序的方法、装置、计算机设备及存储介质
JP2020017053A (ja) 環境構築支援システムおよび環境構築支援方法
CN112804352B (zh) 云服务器初始化方法、装置及存储介质
CN114168146A (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
GR01 Patent grant
GR01 Patent grant