CN112860645A - 一种离线压缩文件的处理方法、装置、计算机设备及介质 - Google Patents
一种离线压缩文件的处理方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN112860645A CN112860645A CN202110178485.3A CN202110178485A CN112860645A CN 112860645 A CN112860645 A CN 112860645A CN 202110178485 A CN202110178485 A CN 202110178485A CN 112860645 A CN112860645 A CN 112860645A
- Authority
- CN
- China
- Prior art keywords
- application
- file
- offline
- deployment
- information
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
本发明实施例公开了一种离线压缩文件的处理方法、装置、计算机设备及介质。该方法包括:在导出事件触发时,获取待导出的目标应用的应用标识;对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件;按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。采用本发明实施例的技术方案,可以解决因部署安装包的数据量较大导致的各种问题,达到节约存储资源、减小导出时间和导入时间的效果。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种离线压缩文件的处理方法、装置、计算机设备及介质。
背景技术
随着容器化的技术到来,Docker、Kubernetes一些优秀的互联网技术迅猛发展,几乎目前各大互联网巨头都在不断推进容器化的平台。但随之而来的问题是,我们越来越依赖互联网,很多工作必须要在有互联网的情况下才能完成。例如Docker和Kubernetes必须安装一个镜像服务器,该服务器作为中心仓库需要源源不断地与互联网同步,让镜像里相互关联依赖的文件保持一致性。尽管有时,我们可以通过手工一次性把这些数据准备完备,再通过人工输入繁琐的命令来导入。但如果业务系统达到中心型规模,工程量都会变得非常巨大,而且手工操作还可能存在失误导致部署失败。尤其是当业务不停迭代时,镜像需要持续地更新同步,很难在没有互联网的情况下完成工作。
对于一些特定行业和场景,在考虑到安全和隐密性的情况下,选择专网专用,无法直接对接互联网。如专网或涉密网络等有严格要求,必须进行物理隔离。即使有数据需要接入,也需要申请特殊的摆渡安全设备,如三合一、单向隔离网闸才能进行单向的数据导入,无法完成内外网双向同步性的任何操作。在这种情况下,通常采用手工操作的方式对专网或涉密网络等进行应用部署。然而,目前主流的部署安装包导出的是镜像容器,导致部署安装包的数据量较大,在导入移动介质后会占用较多的存储资源,并且由于部署安装包的数据量较大,导致导出时间和导入时间均较长,影响部署效率。
发明内容
本发明实施例提供一种离线压缩文件的处理方法、装置、计算机设备及介质,可以提高在专网或涉密网络等离线环境中的应用部署效率。
第一方面,本发明实施例提供了一种离线压缩文件的处理方法,包括:
在导出事件触发时,获取待导出的目标应用的应用标识;
对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
第二方面,本发明实施例还提供了一种离线压缩文件的处理装置,该装置包括:
标识获取模块,用于在导出事件触发时,获取待导出的目标应用的应用标识;
信息获取模块,用于对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
压缩文件制备模块,用于按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的离线压缩文件的处理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所述的离线压缩文件的处理方法。
本发明实施例提供一种离线压缩文件的处理方法、装置、计算机设备及介质,通过从导出环境获取与各待导出的目标应用对应的应用信息,根据各应用信息生成所有目标应用的离线描述文件,按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件,解决因部署安装包的数据量较大导致的各种问题,达到节约存储资源、减小导出时间和导入时间的效果。
附图说明
图1为本发明实施例提供的一种离线压缩文件的处理方法的流程图;
图2为本发明实施例提供的另一种离线压缩文件的处理方法的流程图;
图3为本发明实施例提供的一种离线压缩文件的处理方法中离线导出流程示意图;
图4是本发明提供的离线导出流程中离线导出应用选定界面示意图;
图5是本发明提供的离线导出流程中离线导出界面示意图;
图6为本发明实施例提供的一种离线压缩文件的处理方法中离线导入流程示意图;
图7为本发明实施例提供的一种离线导入界面示意图;
图8为本发明实施例提供的一种离线压缩文件的处理方法中的部署报告的示意图;
图9为本发明实施例提供的一种离线压缩文件的处理装置的结构框图;
图10为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要说明的是,为了便于理解,以表格的形式对本发明实施例可能使用的术语或缩略语进行说明。表1为本发明实施例提供的一种技术术语解释表。
表1:一种技术术语解释表。
发明人在实现本发明的过程中发现,传统的内网、涉密网络部署都是基于提前准备的资源安装包,并通过手动上传的方式进行部署。或者,在非涉密网络的网络环境下,可以在首次安装资源安装包时临时开通互联网。通常情况下,资源安装包部署步骤包括:
1、研发人员开发完应用,编写部署文档。
2、运维人员或涉密人员统统部署文档分解资源安装包,配置好各应用安装前提环境,如系统上的基础软件、配置文件等。
3、运维人员或涉密人员编写施工工作,评估更新事件和回滚方案。
4、到客户现场手工部署,若出现问题或BUG,则研发人员回公司重新打包。
上述传统的内网或涉密网的部署方式不仅人力成本较高,时间成本也比较高,并且部署过程中所有操作通过人工沟通,信息的不对称以及人员技术能力参差不齐,都会增加部署成本。通过上述内容可知,相关技术中的涉密网几乎没有自动化部署平台,更没有实现CI/CD持续更新/持续交付的内网系统。
为解决上述问题,本发明实施例通过建立跨网离线导出导入通道,实现基于容器的开发、测试、预发布和生成环境的依赖、服务以及配置的同步,极大地提高安全内网环境下的部署和更新效率,实现内网环境或涉密网环境下的DevOps(Development和Operations,过程、方法与系统的统称)式自动化容器发布、更新和回滚。
图1为本发明实施例提供的一种离线压缩文件的处理方法的流程图,该方法可以由离线压缩文件的处理装置来执行,该装置可以由软件和/或硬件实现,并通常配置于计算机设备中。如图1所示,该方法包括:
步骤110、在导出事件触发时,获取待导出的目标应用的应用标识。
其中,导出事件是导出环境下触发执行导出操作的事件。例如,在更新升级场景下,用户在导出环境界面中选择导出应用并点击导出,则触发导出事件。或者,在初始化安装场景下,需要导出所有应用,若检测到导出控件被点击,则触发导出事件。
目标应用是待执行导出操作的应用的统称。例如,用户选择导出应用A、B和C,则将上述应用A、B和C作为目标应用。应用标识是唯一标识目标应用的标识信息。例如,应用标识可以是应用名或应用安装包名等。
示例性地,在导出事件触发时,获取触发导出事件的用户操作对应的场景类型。对于初始化安装场景,将业务包括的所有应用作为待导出的目标应用,获取目标应用的应用标识。对于更新升级场景,将用户选择的应用作为待导出的目标应用,获取目标应用的应用标识。从而,通过线上环境的灵活选择,控制业务导出的应用的范围,不仅节约了导出的数据量,也让导出效率大大提升。
步骤120、对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件。
其中,导出环境可以是应用的开发、测试、预发布或生产环境等可以接入互联网的环境。应用标识与应用信息关联存储于导出环境中。应用信息是基于Kubernetes在Docker容器下的部署特点抽象出的应用部署所需的信息。例如,应用信息包括部署信息、依赖关系、所依赖应用的配置信息和存储信息等。其中,部署信息可以是基于Kubernetes在Docker容器下的部署特点,获得的探针类型、探针详细信息、核心程序的镜像、版本、环境变量、系统资源的占用情况等数据。
具体地,离线描述文件是描述目标应用的类型及资源的文件。例如,离线描述文件可以是记载目标应用的类型目录、信息清单以及各信息的获取方法的文件。其中,信息清单表示目标应用所需导出的资源的清单。例如,资源信息、授权信息和获取位置等。获取方法描述获取资源信息的方式。例如,获取方法可以是调用何种函数获取资源信息。
需要说明的是,当某个目标应用部署无须依赖其它应用时,与该目标应用的应用标识关联存储的应用信息中可以不包括依赖关系和所依赖应用的配置信息。当某个目标应用不需要用到存储时,与该目标应用的应用标识关联存储的应用信息中可以不包括存储信息。
示例性地,对于每个所述目标应用,根据应用标识从导出环境中获取目标应用在docker容器下的部署信息。获取目标应用的依赖关系,根据依赖关系,获取目标应用所依赖数据的配置信息。获取目标应用所需的存储信息,其中,应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种。根据目标应用各自对应的应用信息的类型对应用信息进行分组;对各组应用信息进行抽象处理得到信息清单和各信息的获取方法;生成包含信息清单和获取方法的离线描述文件。
假设需要批量导出应用A、应用B和应用C,需要逐个应用执行导出操作。对于应用A,根据其应用标识从导出环境中获取应用A在docker容器下的版本信息、镜像大小、环境变量和资源规格等部署信息。如果应用A的部署依赖于应用D,则还需要获取应用D的配置信息,以便在导入环境中配置应用D,从而保证依赖于应用D的应用A能部署成功。如果应用A需要用到存储,则获取应用A所需要使用的存储块的大小、存储的挂载位置和存储的类型等存储信息,以便在导入环境里通过虚拟的磁盘逻辑卷来探测符合上述存储信息的存储区域。若未探测到符合存储信息的存储区域,则自动创建。根据其应用标识从导出环境中获取应用A的配置文件和配置替换规则。至此,完成应用A的离线导出。然后,判断是否所有待导出应用均导出。由于应用B和应用C尚未导出,因此,此处判定不是所有待导出应用均已导出,参照与应用A相似的步骤分别对应用B和应用C进行离线导出。当所有待导出应用均完成导出时,基于应用信息的类型对应用A、应用B和应用C的应用信息进行分组,对于每组应用信息,删除内容重复的应用信息,对删除处理后的应用信息进行抽象得到信息清单和各信息的获取方法。基于上述信息清单和获取方法生成离线描述文件,以描述目标应用对应的信息,以及如何获取这些信息。从而,根据该离线描述文件,采用下层接口Groovy脚本执行对应部署文件的获取操作。
步骤130、按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
其中,离线压缩文件可以是通过压缩方式生成的所有目标应用的资源包。例如,目标应用可以应用A、应用B和应用C,则离线压缩文件可以是压缩应用A、应用B和应用C的导出数据及程序得到的资源包。
示例性地,采用流水线式导出模式基于所述离线描述文件获取所述目标应用对应的部署文件,其中,部署文件包括安装文件、配置文件、编排文件和依赖文件等。为各部署文件生成hash签名,对具有hash签名的所有部署文件进行压缩处理得到离线压缩文件。采用预设公钥对离线压缩文件进行加密得到加密压缩文件。响应于离线压缩文件拷贝指令,将加密压缩文件拷贝到对应的移动介质,以通过移动介质将所述加密压缩文件传递到导入环境。
例如,采用流水线式导出模型按照离线描述文件的具体文件内容,获取应用信息对应的部署文件。采用hash算法根据各部署文件的内容生成各部署文件的hash签名。将具有hash签名的所有部署文件打包成一个zip资源包。采用hash算法计算zip资源包的hash值,并将该hash值作为公钥对zip资源包进行加密得到加密压缩文件。响应于离线压缩文件拷贝指令,将加密压缩文件拷贝到对应的移动介质,以通过移动介质将所述加密压缩文件传递到导入环境。
本发明实施例的技术方案,通过从导出环境获取与各待导出的目标应用对应的应用信息,根据各应用信息生成所有目标应用的离线描述文件,按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件,解决因部署安装包的数据量较大导致的各种问题,达到节约存储资源、减小导出时间和导入时间的效果。
在上述技术方案的基础上,对于每个所述待导出应用,当满足下述条件时,执行根据所述应用标识获取与所述应用标识对应的应用信息步骤:当前待导出应用为运行状态;容器探针和容器健康检测进程为运行状态;待导出应用为正常应用类型;待导出应用的类型信息为docker镜像方式。这样设置的好处在于实现对运行状态的docker镜像方式的正常应用类型的应用进行导出。如果不满足上述条件,则不进行应用导出,避免应用导出异常。
图2为本发明实施例提供的另一种离线压缩文件的处理方法的流程图,本实施例是在上述实施例的基础上的进一步限定,可以适用于专网、内网或涉密网络等离线环境中的应用部署场景。如图2所示,该方法包括:
步骤210、在导出事件触发时,获取待导出的目标应用的应用标识。
步骤220、对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件。
步骤230、按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
步骤240、采用预设公钥为所述离线压缩文件进行加密得到加密压缩文件。
步骤250、响应于离线压缩文件拷贝指令,将所述加密压缩文件拷贝到对应的移动介质,以通过所述移动介质将所述加密压缩文件传递到导入环境。
步骤260、在导入事件触发时,获取所述移动介质中的离线压缩文件,解压所述离线压缩文件得到各目标应用的部署文件,基于所述部署文件在导入环境中安装或更新对应的应用。
其中,导入环境是未接入互联网的环境。导入事件是触发导入环境进行应用导入操作的事件。触发导入事件的条件有很多,本发明实施例并不作具体限定。例如,当检测到导入环境中的导入控件被点击时触发导入事件。或者,当检测到移动介质接入时触发导入事件等。
示例性地,采用与预设公钥对应的私钥对加密压缩文件进行解密得到离线压缩文件;对所述离线压缩文件进行解压缩处理,得到各目标应用的部署文件,其中,部署文件包括安装文件、配置文件、编排文件和依赖文件;验证各个部署文件的hash签名;在所有部署文件均通过hash签名验证的情况下,根据各所述部署文件的功能和类型还原对应的应用,以在导入环境中安装或更新所述部署文件对应的应用。
具体地,在导入环境中安装或更新所述部署文件对应的应用可以进一步细化为:顺序在导入环境中安装或更新还原后的所述应用;采用应用探针检测当前安装或更新的应用是否正常启动;若是,则返回执行顺序在导入环境中安装或更新还原后的所述应用步骤;否则,回滚到应用安装或更新前的版本。
例如,导入环境导入通过移动介质上传的zip资源包,解压资源包并验证其完整性和正确性。当验证通过时,逐一解析资源包所包含的应用信息,如核心程序的Docker镜像、版本、环境变量、系统资源、存储信息、配置信息等资源,对于每种资源,根据不同功能和类型进行还原。在待导入的应用有多个时,逐个在导入环境中部署(安装或更新)还原后的应用,采用应用探针检测当前部署的应用是否正常启动,若是,则继续部署下一个待导入应用。
如果当前部署的应用部署失败或启动失败,则回滚到当前部署的应用的部署前的版本。例如,在导入还原前,还生成一个回滚的信息。一般来说,程序的回滚通过Kubernetes自带副本机制滚动发布。数据的回滚则是通过提前备份,通过SQL语句生成反向还原语句。当出现导入异常,或者导入成功后业务运行异常时,可以回滚到上一个正常版本。上述回滚功能对于一些业务环境比较重视热更新(HotFix)的应用尤为重要。可以采用滚动部署,更新的应用会生成新的副本,而原有的应用会正常工作。只有当新的副本通过应用探针完全诊断为正常启动后,才会将原有的应用副本停止掉。这样在更新过程中业务几乎不会中断,或中断也是秒级的切换,保证了业务执行过程的稳定性。
需要说明的是,本发明基于Dockerfile离线导出导入,而非镜像文件的容器离线导出导入包的应用部署方式。即本发明导出及导入的数据并非镜像文件,而是Dockerfile,可以在导入环境中基于Dockerfile生成镜像文件,从而,使zip资源包比传统的镜像容器导出导入包更小,节约了存储资源和导出导入事件。此外,通过将资源包导出到移动介质,并通过移动介质人工摆渡到导入环境,无需互联网的镜像自动同步方式,即可完成安装和更新的部署。
本实施例的技术方案,通过从导出环境获取与各待导出的目标应用对应的应用信息,根据各应用信息生成所有目标应用的离线描述文件,按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件,并在导入事件触发时,从移动介质获取离线压缩文件,解压该离线压缩文件得到各目标应用的部署文件,基于该部署文件在导入环境中安装或更新对应的应用,解决对于离线导入环境下无法自动化部署或更新应用,需要手工编排可能导致的部署失败的问题,提高在专网或涉密网络等离线环境中的应用部署效率的效果。
图3为本发明实施例提供的一种离线压缩文件的处理方法中离线导出流程示意图。如图3所示,该方法包括:
步骤310、选定离线导出应用。
需要说明的是,对于一个业务来说,一般由多个应用组成。而初始化安装和更新升级两个场景在选定离线导出应用方面是不同的。初始化安装在首次导出时应包括所有应用,而更新升级时可能只是单个应用升级。通过线上环境的灵活选择,可以控制业务导出的应用和服务范围。这样不仅节约了导出的数据量,也让导出效率大大提升。
图4是本发明提供的离线导出流程中离线导出应用选定界面示意图。如图4所示,在应用升级更新场景,用户勾选应用对应的选项框完成离线导出应用选定操作。可选地,如果应用包括多个服务,还可以显示该应用对应的所有服务,用户勾选服务对应的选项框完成离线导出应用的选定操作。
步骤320、确定执行导出操作的单个离线导出应用作为当前应用。
步骤330、提取离线导出应用的应用信息。
当前应用导出前,需要解析足够的信息。基于Kubernetes在Docker容器下的部署特点,可以获得探针类型、探针详细信息、核心程序的镜像、版本、环境变量、系统资源的占用情况等数据。收集这些信息的目的,是为后续的离线导入,准备好资源。
除了以上的信息提取,还需要对应用的依赖关系进行分析。如某个应用部署前必须依赖数据库,数据库的配置位置、配置信息都需要进行自动提取,以便在导入环境里重新调校。另外,对于特殊的应用,如需要用到存储,也需要提取获知存储信息,包括存储块的大小、存储的挂载位置、存储的类型等,在导入环境里将通过虚拟的磁盘逻辑卷来进行自动探测,如果未发现满足这些基础需求的存储空间则自动创建。
具体地,步骤330可以进一步包括:
步骤331、检查离线导出应用是否为运行状态,探针和heathcheck是否为运行状态,离线导出应用是否为正常应用类型,离线导出应用是否为docker images方式(非zip解压)。
步骤332、提取版本信息、镜像大小、环境变量和资源规格等信息。
步骤333、通过服务模块获取依赖关系。
其中,服务模块用于管理服务与服务之间的依赖关系。由于一个应用可能包括多个服务,确定了服务与服务之间的依赖关系也就确定了应用之间的依赖关系。
步骤334、获取存储信息。
步骤335、获取配置文件以及配置替换规则。
步骤340、生成离线描述文件。
本实施例中,离线描述文件是描述离线导出资源包结构的文件。其中,离线导出资源包又可以称为离线压缩文件。
通过执行提取离线导出应用的应用信息步骤,已经获取到足够的应用信息。但是,应用信息可能会分散在多个位置。例如,应用信息可以用于生成PV或PVC文件,应用信息还可以用于处理配置文件,应用信息还可以用于拉取镜像反向生成部署deployment等。根据应用信息类型对应用信息进行分组。对各组应用信息进行抽象得到各类型的应用信息的信息清单和各信息的获取方法,根据信息类型、信息清单和对应的获取方法生成离线描述文件。该离线描述文件抽象了信息清单,以及具体文件内容的获取方法。将该离线描述文件传输给下层接口Groovy脚本,通过Groovy脚本按照离线描述文件获取具体文件内容。之所以采用Groovy脚本是为了支持流水线式的导出模式,能并行执行打包,达到更快更高效的效果。而真正打包是由应用资源打包器根据离线描述文件来去执行的。
具体地,步骤340可以进一步包括:
步骤341、判断是否完成了批量应用导出,若是,则执行步骤342,否则执行步骤320。
步骤342、生成离线描述文件。
步骤343、将离线描述文件传递给持续集成工具Jenkins。
步骤344、判断离线描述文件的版本是否支持离线导出,若是,则执行步骤350,否则结束离线导出流程。
步骤350、按照离线描述文件收集并处理离线导出应用的应用信息得到各应用的部署文件。
示例性地,通过离线描述文件的具体文件内容进行离线压缩文件制作。例如,判断是生成Dockerfile,还是直接下载镜像文件。判断是否有存储,存储的文件在何处下载等。在执行过程尽可能采用并行的方式来缩短执行时间,同时会实时的反馈当前进度和导出的过程日志。
图5是本发明提供的离线导出流程中离线导出界面示意图。如图5所示,在离线导出界面中显示任务名称、任务状态、部署类型和文件数目等信息。
具体地,步骤350可以进一步包括:
步骤351、根据离线描述文件中的配置文件、配置替换规则的获取方法,下载配置文件和配置替换规则。
步骤352、根据离线描述文件中的存储信息的获取方法获取存储信息,根据存储信息生成pv、pvc的描述文件。
步骤353、根据离线描述文件中的依赖关系的获取方法获取依赖关系,通过依赖关系进一步处理配置文件。
例如,假设应用部署依赖数据库A,则需要根据依赖关系解析配置文件得到数据库A的地址或IP或库名等信息。
步骤354、根据离线描述文件中配置信息的获取方法,获取镜像大小、环境变量和资源规格等,拉取镜像反向生成部署deployment。
步骤355、解压镜像,抽取jar文件、映射,获取基础Dockerfile。
步骤360、制备离线压缩文件。
需要说明的是,离线压缩文件包是将单个服务或者完整项目的安装文件、配置文件、编排文件、依赖文件等部署文件进行封装打包的文件。对于各部署文件,根据文件内容计算对应文件的hash值,关联存储部署文件和对应的hash值,以防止部署文件被篡改。然后,通过一系列的流水线,生成一个包含所有应用的部署文件的zip离线包。根据zip离线包随机生成一个Hash签名,将该Hash签名作为公钥为离线包进行加密,得到加密压缩文件,使得导入数据更可靠、更安全。
步骤370、响应于离线压缩文件拷贝指令,将所述加密压缩文件拷贝到对应的移动介质,以通过所述移动介质将所述加密压缩文件传递到导入环境。
离线包生成后,需要下载后人工复制到移动介质上,其中,移动介质可以是单向导入的三合一设备或安全U盘等。由于涉密网不会与外界相联,必须以人工摆渡的方式将该离线包带到目标地点。
可选地,另外一次导出的包还可以作为发布的产品,导入在不同的客户环境,作为产品级通用安装包。
本发明实施例是基于开发/测试环境构建且运行好的业务系统,不需要研发书写或准备各种文档及依赖关系说明,离线程序将自动根据线上业务自动生成zip离线包。通过本发明实施例不仅减少了时间成本、沟通成本、人力成本,还解决了手工操作编排带来的各种人为失误和安全隐患。
图6为本发明实施例提供的一种离线压缩文件的处理方法中离线导入流程示意图。如图6所示,该方法包括:
步骤410、在检测到导入事件时,解析离线压缩文件自动生成Kubernetes部署安装包。
示例性地,通过三合一设备接入导入环境,上传离线导出的zip资源包。该导入过程中,信息流为单向传输,因此,操作上并不会违反涉密网络的规定。上传完成后,导入环境的系统会自动导入zip资源包,并逐一解析zip资源包所包含的应用信息。如解析zip资源包得到核心程序的Docker镜像、版本、环境变量、系统资源、存储信息、配置信息等资源,每种资源根据不同功能和类型进行还原,得到各待导入应用的Kubernetes部署安装包。
具体地,步骤410可以进一步包括:
步骤411、对zip资源包进行解密。
例如,若zip资源包的加密方式是对称加密,则采用上述包的hash值作为私钥对zip资源包进行解密。若zip资源包的加密方式是非对称加密,则采用与上述包的hash值对应的私钥对zip资源包进行解密。
步骤412、解压zip资源包。
例如,对离线压缩文件进行解压缩处理,得到各目标应用的部署文件。
步骤413、验证部署文件的hash签名。
通过验证各部署文件的hash签名,以避免部署文件被篡改而导致部署失败的情况。
步骤414、判断是否是初始化安装场景,若是,则执行步骤415,否则执行步骤419。
步骤415、根据部署文件,向导入环境添加应用信息。
步骤416、检查依赖。
步骤417、根据依赖备份数据库。
步骤418、若添加信息出错,则应用版本还原到添加前的版本。
步骤419、检测当前版本。
例如,检查zip资源包的版本是否高于当前版本,若是,则执行步骤417,否则,不进行更新升级。
步骤4110、检查依赖。
步骤4111、根据依赖备份数据库。
步骤4112、若更新信息出错,则应用版本还原到更新前的版本。
步骤4113、根据dockerfile生成镜像,并将所生成的镜像推送至指定镜像仓库。
步骤4114、使用Kubernetes的ConfigMap从镜像仓库中逐个加载镜像。
图7为本发明实施例提供的一种离线导入界面示意图。如图7所示,在上传zip资源包之前,需要经过上传校验文件、校验信息和创建导入任务等操作。
步骤420、根据部署文件进行安装部署并自动测试,生成部署报告。
示例性地,基于部署文件,实现业务对应的应用在安全内网自动化部署。可选地,还可以根据自定义的脚本(由用户提供),对部署后的应用进行冒烟或功能、性能上的完整测试,以进一步确保系统的可靠性。
另外,无论是导入过程还是启动过程,在运行过程中后台都记录其详细的日志,并生成一个部署报告,以供操作人员分析,或下载取证。
可选地,在导入还原前,还生成一个回滚的信息。一般来说,程序的回滚通过Kubernetes自带副本机制滚动发布。数据的回滚则是通过提前备份,通过SQL语句生成反向还原语句。当出现导入异常,或者导入成功后业务运行异常时,可以回滚到上一个正常版本。
具体地,步骤420可以进一步包括:
步骤421、启动/部署被加载的镜像。
步骤422、启动应用探针。
步骤423、通过应用探针检测被加载镜像对应的应用是否部署成功且正常启动,若是,则执行步骤424,否则执行步骤427。
步骤424、继续部署其它应用,返回执行步骤4114。
步骤425、生成更新报告。
其中,更新报告可以被工作人员导出并带回开发环境。
步骤426、测试。
例如,可以对部署后的应用进行人工整体测试。或者,通过用户提供的测试脚本对部署后的应用进行自动测试。
步骤427、回滚。
图8为本发明实施例提供的一种离线压缩文件的处理方法中的部署报告的示意图。图8示出了各安装或升级完成的应用,以及服务部署报告。
对比目前主流的自动化部署平台产品,本发明主要具有以下几大优势:
1、自身轻量。通过Jenkins Groovy+Java代码实现,提供微服务暴露功能,使用方便,易于集成。由于易于部署、对业务和开发无侵入的特点适应于各种场景平台。
2、在涉密和内网下部署kubernetes,轻松实现内网专网的内部系统达到高可用高可靠、易(水平)扩展、自动回滚等能力。
3、无需太多的人工参与,在内网专网实现快速迭代开发。
4、应用支持流水线式的高效部署,在保障安全的前提下无阻碍的实现内网DevOps。
5、操作简易,运维和部署人员的使用门槛降至最低,节省人力和维护成本。
6、严格遵循单向摆渡数据的防泄密原则,使部署、升级应用更为安全。
7、部署安装包比传统镜像容器更小,基于Dockerfile的离线导出会大大节约存储资源和导出导入的时间。
需要说明的是,本发明程序采用Java+Groovy语言编写,也可用java、c++、c等其他语言进行开发。本发明以Java的Kubernetes环境下测试通过,但它可以在更多不同场景下运行,私有云、公有云平台、工业互联网各种平台下集成场景下使用。本发明主要在于涉密网和专网环境,也可以用于普通企业级内网环境使用。本发明的部署模块的细分较多,部署模块可以合并为一个整体,甚至部署流程可以忽略,如导入前的数据备份、失败后的应用回滚,失去这些功能仅仅只是整体可靠性上会降低。
图9为本发明实施例提供的一种离线压缩文件的处理装置的结构框图。该装置可以由软件和/或硬件实现,并通常集成于计算机设备中,并且该装置通过执行本发明任意实施例的离线压缩文件的处理方法提高在专网或涉密网络等离线环境中的应用部署效率。如图9所示,该装置包括:
标识获取模块910,用于在导出事件触发时,获取待导出的目标应用的应用标识;
信息获取模块920,用于对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
压缩文件制备模块930,用于按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
可选地,该装置还包括:
文件导出模块940,用于在基于所述部署文件制备离线压缩文件之后,导出所述离线压缩文件到移动介质;
文件导入模块950,用于在导入事件触发时,获取所述移动介质中的离线压缩文件,解压所述离线压缩文件得到各目标应用的部署文件,基于所述部署文件在导入环境中安装或更新对应的应用,其中,所述导入环境是未接入互联网的环境。
可选地,文件导出模块940具体用于:
采用预设公钥为所述离线压缩文件进行加密得到加密压缩文件;
响应于离线压缩文件拷贝指令,将所述加密压缩文件拷贝到对应的移动介质,以通过所述移动介质将所述加密压缩文件传递到导入环境。
可选地,文件导入模块950具体用于:
采用与预设公钥对应的私钥对加密压缩文件进行解密得到离线压缩文件;
对所述离线压缩文件进行解压缩处理,得到各目标应用的部署文件,其中,所述部署文件包括安装文件、配置文件、编排文件和依赖文件;
验证各个所述部署文件的hash签名;
在所有部署文件均通过hash签名验证的情况下,根据各所述部署文件的功能和类型还原对应的应用,以在导入环境中安装或更新所述部署文件对应的应用。
可选地,文件导入模块950具体还用于:
顺序在导入环境中安装或更新还原后的所述应用;
采用应用探针检测当前安装或更新的应用是否正常启动;
若是,则返回执行顺序在导入环境中安装或更新还原后的所述应用步骤;
否则,回滚到应用安装或更新前的版本。
可选地,该装置还包括条件判断模块,用于对于每个所述目标应用,当满足下述条件时,执行根据所述应用标识从导出环境获取与所述应用标识对应的应用信息步骤:
当前目标应用为运行状态;
容器探针和容器健康检测进程为运行状态;
目标应用为正常应用类型;
目标应用的类型信息为docker镜像方式。
可选地,所述根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,包括:
根据所述应用标识从导出环境中获取目标应用在docker容器下的部署信息;
获取所述目标应用的依赖关系,根据所述依赖关系,获取所述目标应用所依赖数据的配置信息;
获取所述目标应用所需的存储信息。
可选地,信息获取模块920具体用于:
根据所述目标应用各自对应的应用信息的类型对所有目标应用的应用信息进行分组;
对各组应用信息进行抽象处理得到信息清单和各信息的获取方法;
生成包含所述信息清单和所述获取方法的离线描述文件。
可选地,压缩文件制备模块930具体用于:
采用流水线式导出模式,基于所述离线描述文件的文件内容获取所述目标应用对应的部署文件;
为各所述部署文件生成hash签名,对具有hash签名的所有部署文件进行压缩处理得到离线压缩文件。
本发明实施例所提供的离线压缩文件的处理装置可执行本发明任意实施例所提供的离线压缩文件的处理方法,具备执行方法相应的功能模块和有益效果。
图10为本发明实施例提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括处理器100、存储器101、输入装置102、输出装置103和输入输出I/0接口104;计算机设备中处理器100的数量可以是一个或多个,图10中以一个处理器100为例;计算机设备中的处理器100、存储器101、输入装置102、输出装置103和I/0接口104可以通过总线或其他方式连接,图10中以通过总线连接为例。
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的离线压缩文件的处理方法对应的程序指令/模块(例如,对于导出环境,存储器101存储标识获取模块910、信息获取模块920和压缩文件制备模块930和文件导出模块940,以及对于导入环境,存储器101存储文件导入模块950)。处理器100通过运行存储在存储器101中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的离线压缩文件的处理方法。
存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器101可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置102可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置103可包括显示屏等显示设备。I/0接口104用于接入移动介质。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种离线压缩文件的处理方法,该方法包括:
在导出事件触发时,获取待导出的目标应用的应用标识;
对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的离线压缩文件的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述离线压缩文件的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种离线压缩文件的处理方法,其特征在于,包括:
在导出事件触发时,获取待导出的目标应用的应用标识;
对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
2.根据权利要求1所述的方法,其特征在于,在基于所述部署文件制备离线压缩文件之后,还包括:
导出所述离线压缩文件到移动介质;
在导入事件触发时,获取所述移动介质中的离线压缩文件,解压所述离线压缩文件得到各目标应用的部署文件,基于所述部署文件在导入环境中安装或更新对应的应用,其中,所述导入环境是未接入互联网的环境。
3.根据权利要求2所述的方法,其特征在于,所述导出所述离线压缩文件到移动介质,包括:
采用预设公钥为所述离线压缩文件进行加密得到加密压缩文件;
响应于离线压缩文件拷贝指令,将所述加密压缩文件拷贝到对应的移动介质,以通过所述移动介质将所述加密压缩文件传递到导入环境。
4.根据权利要求2所述的方法,其特征在于,所述解压所述离线压缩文件得到各目标应用的部署文件,基于所述部署文件在导入环境中安装或更新对应的应用,包括:
采用与预设公钥对应的私钥对加密压缩文件进行解密得到离线压缩文件;
对所述离线压缩文件进行解压缩处理,得到各目标应用的部署文件,其中,所述部署文件包括安装文件、配置文件、编排文件和依赖文件;
验证各个所述部署文件的hash签名;
在所有部署文件均通过hash签名验证的情况下,根据各所述部署文件的功能和类型还原对应的应用,以在导入环境中安装或更新所述部署文件对应的应用。
5.根据权利要求4所述的方法,其特征在于,所述在导入环境中安装或更新所述部署文件对应的应用,包括:
顺序在导入环境中安装或更新还原后的所述应用;
采用应用探针检测当前安装或更新的应用是否正常启动;
若是,则返回执行顺序在导入环境中安装或更新还原后的所述应用步骤;
否则,回滚到应用安装或更新前的版本。
6.根据权利要求1所述的方法,其特征在于,对于每个所述目标应用,当满足下述条件时,执行根据所述应用标识从导出环境获取与所述应用标识对应的应用信息步骤:
当前目标应用为运行状态;
容器探针和容器健康检测进程为运行状态;
目标应用为正常应用类型;
目标应用的类型信息为docker镜像方式。
7.根据权利要求1所述的方法,其特征在于,所述根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,包括:
根据所述应用标识从导出环境中获取目标应用在docker容器下的部署信息;
获取所述目标应用的依赖关系,根据所述依赖关系,获取所述目标应用所依赖数据的配置信息;
获取所述目标应用所需的存储信息。
8.根据权利要求1所述的方法,其特征在于,所述根据各目标应用的应用信息生成所有目标应用的离线描述文件,包括:
根据所述目标应用各自对应的应用信息的类型对所有目标应用的应用信息进行分组;
对各组应用信息进行抽象处理得到信息清单和各信息的获取方法;
生成包含所述信息清单和所述获取方法的离线描述文件。
9.根据权利要求1所述的方法,其特征在于,所述按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件,包括:
采用流水线式导出模式,基于所述离线描述文件的文件内容获取所述目标应用对应的部署文件;
为各所述部署文件生成hash签名,对具有hash签名的所有部署文件进行压缩处理得到离线压缩文件。
10.一种离线压缩文件的处理装置,其特征在于,包括:
标识获取模块,用于在导出事件触发时,获取待导出的目标应用的应用标识;
信息获取模块,用于对于每个所述目标应用,根据所述应用标识从导出环境获取与所述应用标识对应的应用信息,根据各目标应用的应用信息生成所有目标应用的离线描述文件,其中,所述应用标识与应用信息关联存储于导出环境中,所述应用信息包括所述部署信息、依赖关系、配置信息和存储信息中的一种或多种;
压缩文件制备模块,用于按照所述离线描述文件的文件内容获取所述目标应用对应的部署文件,基于所述部署文件制备离线压缩文件。
11.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的离线压缩文件的处理方法。
12.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-9中任一所述的离线压缩文件的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110178485.3A CN112860645A (zh) | 2021-02-09 | 2021-02-09 | 一种离线压缩文件的处理方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110178485.3A CN112860645A (zh) | 2021-02-09 | 2021-02-09 | 一种离线压缩文件的处理方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860645A true CN112860645A (zh) | 2021-05-28 |
Family
ID=75988095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110178485.3A Pending CN112860645A (zh) | 2021-02-09 | 2021-02-09 | 一种离线压缩文件的处理方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860645A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312655A (zh) * | 2021-07-29 | 2021-08-27 | 深圳市永达电子信息股份有限公司 | 基于重定向的文件传输方法、电子设备及可读存储介质 |
CN113556232A (zh) * | 2021-06-30 | 2021-10-26 | 东风汽车集团股份有限公司 | 用于车云通信及文件传输的验签方法 |
CN113779620A (zh) * | 2021-08-19 | 2021-12-10 | 成都鲁易科技有限公司 | 程序文件的校验方法、装置、存储介质及计算机设备 |
CN114338672A (zh) * | 2021-12-29 | 2022-04-12 | 安天科技集团股份有限公司 | 数据传输方法及数据传输系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5463772A (en) * | 1993-04-23 | 1995-10-31 | Hewlett-Packard Company | Transparent peripheral file systems with on-board compression, decompression, and space management |
US20050050172A1 (en) * | 2003-09-03 | 2005-03-03 | International Business Machines Corporation | Transport and administration model for offline browsing |
CN1820266A (zh) * | 2003-08-21 | 2006-08-16 | 微软公司 | 用于将应用程序与基于项的存储平台接口的系统和方法 |
KR20060101803A (ko) * | 2005-03-21 | 2006-09-26 | 휴먼드림 주식회사 | 동적 열람이 가능한 전자 문서의 제작 및 열람 방법 |
CN103139251A (zh) * | 2011-11-29 | 2013-06-05 | 神州数码信息系统有限公司 | 一种城市级数据共享交换平台技术的方法 |
CN104714812A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 在云环境中快速部署和加载Java应用的方法和系统 |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
CN107632817A (zh) * | 2017-09-28 | 2018-01-26 | 北京昆仑在线网络科技有限公司 | 一种移动应用高效迭代Spark框架 |
CN107832107A (zh) * | 2017-11-24 | 2018-03-23 | 泰康保险集团股份有限公司 | 系统部署方法、装置、电子设备及存储介质 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN110727440A (zh) * | 2019-10-08 | 2020-01-24 | 中国电子科技集团公司第二十八研究所 | 一种软件封装方法 |
CN111324412A (zh) * | 2018-12-13 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 服务部署方法、设备及存储介质 |
CN111782523A (zh) * | 2020-06-29 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 云端服务部署测试方法、装置、电子设备和存储介质 |
-
2021
- 2021-02-09 CN CN202110178485.3A patent/CN112860645A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5463772A (en) * | 1993-04-23 | 1995-10-31 | Hewlett-Packard Company | Transparent peripheral file systems with on-board compression, decompression, and space management |
CN1820266A (zh) * | 2003-08-21 | 2006-08-16 | 微软公司 | 用于将应用程序与基于项的存储平台接口的系统和方法 |
US20050050172A1 (en) * | 2003-09-03 | 2005-03-03 | International Business Machines Corporation | Transport and administration model for offline browsing |
KR20060101803A (ko) * | 2005-03-21 | 2006-09-26 | 휴먼드림 주식회사 | 동적 열람이 가능한 전자 문서의 제작 및 열람 방법 |
CN103139251A (zh) * | 2011-11-29 | 2013-06-05 | 神州数码信息系统有限公司 | 一种城市级数据共享交换平台技术的方法 |
CN104714812A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 在云环境中快速部署和加载Java应用的方法和系统 |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
CN107632817A (zh) * | 2017-09-28 | 2018-01-26 | 北京昆仑在线网络科技有限公司 | 一种移动应用高效迭代Spark框架 |
CN107832107A (zh) * | 2017-11-24 | 2018-03-23 | 泰康保险集团股份有限公司 | 系统部署方法、装置、电子设备及存储介质 |
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN111324412A (zh) * | 2018-12-13 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 服务部署方法、设备及存储介质 |
CN110727440A (zh) * | 2019-10-08 | 2020-01-24 | 中国电子科技集团公司第二十八研究所 | 一种软件封装方法 |
CN111782523A (zh) * | 2020-06-29 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 云端服务部署测试方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
杨楠等: "ActiveBPEL中组合服务自动部署的研究和实现", 《西安邮电学院学报》, pages 107 - 110 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556232A (zh) * | 2021-06-30 | 2021-10-26 | 东风汽车集团股份有限公司 | 用于车云通信及文件传输的验签方法 |
CN113312655A (zh) * | 2021-07-29 | 2021-08-27 | 深圳市永达电子信息股份有限公司 | 基于重定向的文件传输方法、电子设备及可读存储介质 |
CN113779620A (zh) * | 2021-08-19 | 2021-12-10 | 成都鲁易科技有限公司 | 程序文件的校验方法、装置、存储介质及计算机设备 |
CN114338672A (zh) * | 2021-12-29 | 2022-04-12 | 安天科技集团股份有限公司 | 数据传输方法及数据传输系统 |
CN114338672B (zh) * | 2021-12-29 | 2023-10-27 | 安天科技集团股份有限公司 | 数据传输方法及数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860645A (zh) | 一种离线压缩文件的处理方法、装置、计算机设备及介质 | |
CN111183425B (zh) | 用于实现数字云取证的系统和方法 | |
US8140905B2 (en) | Incremental problem determination and resolution in cloud environments | |
CN105339890B (zh) | 用于运行不可信代码的框架 | |
US10228925B2 (en) | Systems, devices, and methods for deploying one or more artifacts to a deployment environment | |
US20090307763A1 (en) | Automated Test Management System and Method | |
US8386608B1 (en) | Service scripting framework | |
US9411711B2 (en) | Adopting an existing automation script to a new framework | |
CN111580926A (zh) | 模型发布方法、模型部署方法、装置、设备及存储介质 | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
CN113434158A (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN112860282A (zh) | 集群插件的升级方法、装置和服务器 | |
CN111078553B (zh) | 数据开发任务测试方法、装置、计算机设备和存储介质 | |
CN113642004A (zh) | 一种容器镜像安全扫描与修复的方法、装置及设备 | |
US11716354B2 (en) | Determination of compliance with security technical implementation guide standards | |
CN116069341A (zh) | 一种应用程序的自动化部署方法、设备及存储介质 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN112286543B (zh) | 一种应用服务部署方法及装置 | |
US8473943B2 (en) | Using ecoprint for cloning of applications | |
US20190317756A1 (en) | Software artifact management systems and methods | |
CN114895916A (zh) | 代码部署方法、装置、存储介质以及电子设备 | |
CN110837612A (zh) | 统一资源标识符uri数据的获取方法和装置、存储介质 | |
US9596292B1 (en) | Client-side scripts in a service-oriented API environment | |
CN104484198A (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 |