CN115766448A - 应用的更新方法和装置、存储介质及电子装置 - Google Patents
应用的更新方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115766448A CN115766448A CN202211426984.0A CN202211426984A CN115766448A CN 115766448 A CN115766448 A CN 115766448A CN 202211426984 A CN202211426984 A CN 202211426984A CN 115766448 A CN115766448 A CN 115766448A
- Authority
- CN
- China
- Prior art keywords
- deployment
- service
- application
- network
- code
- 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
Abstract
本申请公开了一种应用的更新方法和装置、存储介质及电子装置,涉及智慧家庭技术领域,该应用的更新方法包括:通过代理服务定时监听部署服务中是否存在部署消息,其中,代理服务在第一网络运行,部署服务在第二网络运行;第一网络为隔离网络,部署服务用于在运行在第一网络的应用存在更新版本的情况下,生成应用对应的部署消息;在代理服务定时监听部署服务中存在部署消息的情况下,根据部署消息在代码管理版本服务器中获取第一网络中的目标应用的更新后的代码,其中,代码管理版本服务器在第二网络运行;将更新后的代码发送至应用程序服务器中,以使应用程序服务器根据更新后的代码更新目标应用,其中,应用程序服务器在第一网络运行。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种应用的更新方法和装置、存储介质及电子装置。
背景技术
对于企业来说,系统应用安全是必须的,而实现应用安全,最基本的就是要实现网络安全,因此,有些企业的系统运行在被隔离的网络环境,由于系统运行在被隔离的网络环境,运行在被隔离的网络环境中的应用发版较为困难,需跨网络环境传输部署包,导致每次发布要花费大量的时间和人力成本。
针对相关技术中,系统运行在被隔离的网络环境,应用发版较为困难等问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种应用的更新方法和装置、存储介质及电子装置,以至少解决相关技术中,系统运行在被隔离的网络环境,应用发版较为困难等问题。
根据本申请实施例的一个实施例,提供了一种应用的更新方法,包括:通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
在一个示例性实施例中,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,包括:获取所述目标应用的代码地址;解析所述部署消息,以得到所述部署消息中的所述目标应用的目标代码分支;根据代码地址和所述目标代码分支在代码管理版本服务器中获取所述目标应用的目标代码分支的更新后的代码。
在一个示例性实施例中,将所述更新后的代码发送至应用程序服务器中,包括:通过目标软件自动获取用于对所述更新后的代码进行编译的编译脚本;执行所述编译脚本对应的编译脚本命令,以对所述更新后的代码进行编译,并得到目标格式的代码;打包所述目标格式的代码,并将打包后的目标格式的代码发送至应用程序服务器中。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,至少包括以下之一:在所述部署服务接收到所述代码管理版本服务器发送的所述目标应用的更新后的代码的情况下,确定所述代理服务监听到所述部署服务中存在部署消息;在所述部署服务接收到第一对象发送的部署任务的情况下,确定所述代理服务监听到所述部署服务中存在部署消息,其中,所述部署服务根据所述部署任务生成所述部署消息,所述部署任务用于指示所述第一网络的目标应用存在更新版本。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,包括:所述代理服务启动定时器;在所述定时器超时时,通过代理服务监听部署服务中是否存在部署消息,并重置所述定时器。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,包括:所述代理服务向所述部署服务发送第一身份验证信息;在所述部署服务根据所述第一身份验证信息确定所述代理服务的身份合法的情况下,接收所述部署服务发送的携带有所述部署服务的身份信息的第二身份验证信息;在根据所述第二身份验证信息确定所述部署服务的身份合法的情况下,所述代理服务定时监听部署服务中是否存在部署消息。
在一个示例性实施例中,将所述更新后的代码发送至应用程序服务器中之后,所述方法还包括:接收所述应用程序服务器发送的更新结果信息;在所述更新结果信息用于指示所述目标应用未成功更新的情况下,再次在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,并将所述更新后的代码发送至应用程序服务器中。
根据本申请实施例的另一个实施例,还提供了一种应用的更新装置,包括:监听模块,用于通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;获取模块,用于在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;发送模块,用于将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述应用的更新方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的应用的更新方法。
在本申请实施例中,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行;采用上述技术方案,通过第一网络中的代理服务从内向外单向定时获取部署消息及拉取目标应用的更新后的代码,通过代理服务完成部署,完全杜绝网络攻击,解决了系统运行在被隔离的网络环境,应用发版较为困难等问题,为应用程序服务器设置单一的网络部署入口,从网络层面隔离系统攻击,保障了系统安全。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种应用的更新方法的硬件环境示意图;
图2是根据本申请实施例的应用的更新方法的流程图;
图3是根据本申请实施例的应用的更新方法的架构图;
图4是根据本申请实施例的应用的更新方法的时序图;
图5是根据本申请实施例的一种应用的更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种应用的更新方法。该应用的更新方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(IntelligenceHouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述应用的更新方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种应用的更新方法,应用于计算机终端,图2是根据本申请实施例的应用的更新方法的流程图,该流程包括如下步骤:
步骤S202,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
需要说明的是,上述代理服务,可以理解为Agent服务,本发明实施例对此不作限定。
需要说明的是,上述第二网络为允许第一网络访问的网络,第二网络可以为隔离网络,也可以为未隔离网络,本发明实施例对上述第二网络的类型不作限定。
需要说明的是,上述隔离网络可以理解为网络终结点。
步骤S204,在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
步骤S206,将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
需要说明的是,上述应用程序服务器可以但不限于为AzureWebService,本发明实施例对此不作限定。
通过上述步骤,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行,解决了相关技术中,系统运行在被隔离的网络环境,应用发版较为困难等问题,为应用程序服务器设置单一的网络部署入口,从网络层面隔离系统攻击,保障了系统安全。
上述步骤S204的实现方式有很多种,本发明实施例给出了一种实现方式,在一个示例性实施例中,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,包括:获取所述目标应用的代码地址;解析所述部署消息,以得到所述部署消息中的所述目标应用的目标代码分支;根据代码地址和所述目标代码分支在代码管理版本服务器中获取所述目标应用的目标代码分支的更新后的代码。
需要说明的是,在本发明实施例中,应用的代码库包括:主分支master、develop分支、功能分支、补丁分支等,其中,代码库有且仅有一个主分支,所有提供给用户使用的正式版本,都在主分支上发布,主分支只用来分布重大版本,日常开发应该在develop分支上完成。功能分支用于为即将发布的版本开发新功能、补丁分支用于修复线上bug。功能分支、补丁分支属于临时分支,一旦开发完成,就会被合并进develop分支或主分支,然后被删除。
因此,在获取到所述目标应用的代码地址和目标应用的目标代码分支的情况下,根据所述代码地址在管理版本服务器中获取所述目标应用的目标代码分支的更新后的代码。
在一个示例性实施例中,将所述更新后的代码发送至应用程序服务器中,包括:通过目标软件自动获取用于对所述更新后的代码进行编译的编译脚本;执行所述编译脚本对应的编译脚本命令,以对所述更新后的代码进行编译,并得到目标格式的代码;打包所述目标格式的代码,并将打包后的目标格式的代码发送至应用程序服务器中。
需要说明的是,依据不同代码执行不同的编译脚本命令,进而通过目标软件自动确定更新后的代码对应的编译脚本,并通过编译脚本对应的编译脚本命令对更新后的代码进行编译和打包,并将打包后的目标格式的代码发送至应用程序服务器中。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,至少包括以下之一:在所述部署服务接收到所述代码管理版本服务器发送的所述目标应用的更新后的代码的情况下,确定所述代理服务监听到所述部署服务中存在部署消息;在所述部署服务接收到第一对象发送的部署任务的情况下,确定所述代理服务监听到所述部署服务中存在部署消息,其中,所述部署服务根据所述部署任务生成所述部署消息,所述部署任务用于指示所述第一网络的目标应用存在更新版本。
也就是说,在以下两种情况下确定所述代理服务监听到所述部署服务中存在部署消息:1)部署服务接收到所述代码管理版本服务器发送的所述目标应用的更新后的代码,其中,所述更新后的代码通过第二对象发送到代码管理版本服务器的;2)部署服务接收到第一对象发送的部署任务。需要说明的是,上述第一对象和第二对象可以为相同对象,也可以为不同的对象。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,包括:所述代理服务启动定时器;在所述定时器超时时,通过代理服务监听部署服务中是否存在部署消息,并重置所述定时器。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,包括:在代理服务中设置定时任务,根据所述定时任务监听部署服务中是否存在部署消息。
在一个示例性实施例中,通过代理服务定时监听部署服务中是否存在部署消息,包括:所述代理服务向所述部署服务发送第一身份验证信息;在所述部署服务根据所述第一身份验证信息确定所述代理服务的身份合法的情况下,接收所述部署服务发送的携带有所述部署服务的身份信息的第二身份验证信息;在根据所述第二身份验证信息确定所述部署服务的身份合法的情况下,所述代理服务定时监听部署服务中是否存在部署消息。
需要说明的是,为了保证通信的安全性,在所述代理服务与部署服务通信之前,需要对代理服务与部署服务的身份进行验证,具体的,代理服务向部署服务发送第一身份验证信息,以及部署服务向代理服务发送第二身份验证信息,以使代理服务与部署服务进行双向认证,在部署服务确定代理服务的身份合法,以及代理服务确定部署服务的身份合法的情况下,所述代理服务定时监听部署服务中是否存在部署消息。
在一个示例性实施例中,将所述更新后的代码发送至应用程序服务器中之后,接收所述应用程序服务器发送的更新结果信息;在所述更新结果信息用于指示所述目标应用未成功更新的情况下,再次在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,并将所述更新后的代码发送至应用程序服务器中。
也就是说,为了保证应用的更新成功率,在应用未更新成功的情况下,再次向代码管理版本服务器请求获取目标应用的更新后的代码,以使应用程序服务器再次根据更新后的代码对目标应用进行更新,直至成功更新所述目标应用。
为了更好的理解上述应用的更新方法的过程,以下再结合可选实施例对上述应用的更新的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种应用的更新方法,图3是根据本申请实施例的应用的更新方法的架构图,如图3所示,具体包括:网关、网络1(相当于上述实施例中的第一网络)、网络2(相当于上述实施例中的第二网络)、AzureWebService(相当于上述实施例中的应用程序服务器)、Agent服务(相当于上述实施例中的代理服务)、部署服务、GitLab服务(相当于上述实施例中的代码管理服务器),其中,
网关,用于映射来自互联网的用户请求,将请求映射至网络1的AzureWebService;
网络1为独立的网络终结点,网络1的网络出入站规则为:只允许网关入站,网络出站无限制,可自由访问网络2;
网络2为员工日常办公网络环境,可以为企业内网或互联网,仅需要网络1可自由访问网络2即可。
AzureWebService,位于网络1,部署在网络隔离环境下的web应用程序服务;
Agent服务,位于网络1,与AzureWebService处于同一网络,可访问AzureWebService,所以可以发布部署包至Azure WebService;通过轮询监听部署服务,当监听到有部署任务时,拉取GitLab服务指定分支代码并执行编译发版脚本完成发版;
部署服务:位于开发工程师及版本管理员同一网络环境,用于接收部署任务并生成部署消息;
GitLab服务:代码管理服务。
在本实施例中提供了一种应用的更新方法,图3是根据本申请实施例的应用的更新方法的时序,如图4所示,具体如下步骤:
1、自动部署任务流程:
步骤S401:开发工程师(相当于上述实施例中的第二对象)提交代码至Gitlab服务;
步骤S402:Gitlab服务通过http请求推送【代码提交通知】至部署服务;
步骤S403:部署服务生成部署任务(部署服务根据每条部署任务生成一条部署消息);
步骤S404:Agent服务拉取部署消息;
需要说明的是,Agent服务会定时拉取部署消息,每隔十秒(具体时间间隔可调整)通过http请求一次部署消息,获取最新部署消息;部署服务返回的部署消息主要包含以下信息:
$(branch):指定代码分支;
$(App_Data):应用名称;
$(zipname):包名称;
$(resource-group):Azure资源组;
$(resource-name):Azure webService资源名称;
步骤S405:Agent服务依据部署任务,从Gitlab服务拉取代码;
步骤S406:进行编译打包,依次执行下述脚本:
#拉取Gitlab指定分支代码
git fetch–all;
git checkout--progress–force$(branch);
#依据不同代码,执行编译脚本命令(此处以.net编译为例);
dotnet publish--configuration Release;
#打包部署包;
Compress-Archive-LiteralPath$(App_Data)-DestinationPath$(zipname);
步骤S407:Agent服务发布任务至AzureWeb Service。
2、触发式部署任务流程:
步骤S408:版本管理员发布部署任务至部署服务;
步骤S409:部署服务生成部署任务(部署服务根据每条部署任务生成一条部署消息);
步骤S410:Agent服务拉取部署消息;
需要说明的是,Agent服务会定时拉取部署消息,每隔十秒(具体时间间隔可调整)通过http请求一次部署消息,获取最新部署消息;部署服务返回的部署消息主要包含以下信息:
$(branch):指定代码分支;
$(App_Data):应用名称;
$(zipname):包名称;
$(resource-group):Azure资源组;
$(resource-name):Azure webService资源名称;
步骤S411:Agent服务依据部署任务,从Gitlab服务拉取代码;
步骤S412:编译打包,依次执行下述脚本:
#拉取Git指定分支代码;
git fetch–all;
git checkout--progress–force$(branch);
#依据不同代码,执行编译脚本命令(此处以.net编译为例);
dotnet publish--configuration Release;
#打包部署包;
Compress-Archive-LiteralPath$(App_Data)-DestinationPath$(zipname);
步骤S413:Agent服务发布任务至AzureWeb Service。
通过上述实施例,网络隔离后,通过从内向外单向定时获取部署任务及拉取代码,在Agent服务内通过固定的脚本完成代码的编译和打包,通过Agent服务完成部署,完全杜绝网络攻击。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图5是根据本申请实施例的一种应用的更新装置的结构框图;如图5所示,包括:
监听模块52,用于通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
获取模块54,用于在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
发送模块56,用于将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
通过上述装置,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行,解决了相关技术中,系统运行在被隔离的网络环境,应用发版较为困难等问题,为应用程序服务器设置单一的网络部署入口,从网络层面隔离系统攻击,保障了系统安全。
在一个示例性实施例中,获取模块54,用于获取所述目标应用的代码地址;解析所述部署消息,以得到所述部署消息中的所述目标应用的目标代码分支;根据代码地址和所述目标代码分支在代码管理版本服务器中获取所述目标应用的目标代码分支的更新后的代码。
在一个示例性实施例中,发送模块56,用于通过目标软件自动获取用于对所述更新后的代码进行编译的编译脚本;执行所述编译脚本对应的编译脚本命令,以对所述更新后的代码进行编译,并得到目标格式的代码;打包所述目标格式的代码,并将打包后的目标格式的代码发送至应用程序服务器中。
在一个示例性实施例中,监听模块52,用于在所述部署服务接收到所述代码管理版本服务器发送的所述目标应用的更新后的代码的情况下,确定所述代理服务监听到所述部署服务中存在部署消息;在所述部署服务接收到第一对象发送的部署任务的情况下,确定所述代理服务监听到所述部署服务中存在部署消息,其中,所述部署服务根据所述部署任务生成所述部署消息,所述部署任务用于指示所述第一网络的目标应用存在更新版本。
在一个示例性实施例中,监听模块52,用于所述代理服务启动定时器;在所述定时器超时时,通过代理服务监听部署服务中是否存在部署消息,并重置所述定时器。
在一个示例性实施例中,监听模块52,用于所述代理服务向所述部署服务发送第一身份验证信息;在所述部署服务根据所述第一身份验证信息确定所述代理服务的身份合法的情况下,接收所述部署服务发送的携带有所述部署服务的身份信息的第二身份验证信息;在根据所述第二身份验证信息确定所述部署服务的身份合法的情况下,所述代理服务定时监听部署服务中是否存在部署消息。
在一个示例性实施例中,获取模块54,用于接收所述应用程序服务器发送的更新结果信息;在所述更新结果信息用于指示所述目标应用未成功更新的情况下,再次在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,并将所述更新后的代码发送至应用程序服务器中。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
S2,在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
S3,将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
S2,在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
S3,将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种应用的更新方法,其特征在于,包括:
通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
2.根据权利要求1所述的应用的更新方法,其特征在于,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,包括:
获取所述目标应用的代码地址;
解析所述部署消息,以得到所述部署消息中的所述目标应用的目标代码分支;
根据代码地址和所述目标代码分支在代码管理版本服务器中获取所述目标应用的目标代码分支的更新后的代码。
3.根据权利要求1所述的应用的更新方法,其特征在于,将所述更新后的代码发送至应用程序服务器中,包括:
通过目标软件自动获取用于对所述更新后的代码进行编译的编译脚本;
执行所述编译脚本对应的编译脚本命令,以对所述更新后的代码进行编译,并得到目标格式的代码;
打包所述目标格式的代码,并将打包后的目标格式的代码发送至应用程序服务器中。
4.根据权利要求1所述的应用的更新方法,其特征在于,通过代理服务定时监听部署服务中是否存在部署消息,至少包括以下之一:
在所述部署服务接收到所述代码管理版本服务器发送的所述目标应用的更新后的代码的情况下,确定所述代理服务监听到所述部署服务中存在部署消息;
在所述部署服务接收到第一对象发送的部署任务的情况下,确定所述代理服务监听到所述部署服务中存在部署消息,其中,所述部署服务根据所述部署任务生成所述部署消息,所述部署任务用于指示所述第一网络的目标应用存在更新版本。
5.根据权利要求1所述的应用的更新方法,其特征在于,通过代理服务定时监听部署服务中是否存在部署消息,包括:
所述代理服务启动定时器;
在所述定时器超时时,通过代理服务监听部署服务中是否存在部署消息,并重置所述定时器。
6.根据权利要求1所述的应用的更新方法,其特征在于,通过代理服务定时监听部署服务中是否存在部署消息,包括:
所述代理服务向所述部署服务发送第一身份验证信息;
在所述部署服务根据所述第一身份验证信息确定所述代理服务的身份合法的情况下,接收所述部署服务发送的携带有所述部署服务的身份信息的第二身份验证信息;
在根据所述第二身份验证信息确定所述部署服务的身份合法的情况下,所述代理服务定时监听部署服务中是否存在部署消息。
7.根据权利要求1所述的应用的更新方法,其特征在于,将所述更新后的代码发送至应用程序服务器中之后,所述方法还包括:
接收所述应用程序服务器发送的更新结果信息;
在所述更新结果信息用于指示所述目标应用未成功更新的情况下,再次在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,并将所述更新后的代码发送至应用程序服务器中。
8.一种应用的更新装置,其特征在于,包括:
监听模块,用于通过代理服务定时监听部署服务中是否存在部署消息,其中,所述代理服务在第一网络运行,所述部署服务在第二网络运行;所述第一网络为隔离网络,所述部署服务用于在运行在所述第一网络的应用存在更新版本的情况下,生成所述应用对应的部署消息;
获取模块,用于在所述代理服务定时监听部署服务中存在部署消息的情况下,根据所述部署消息在代码管理版本服务器中获取所述第一网络中的目标应用的更新后的代码,其中,所述代码管理版本服务器在所述第二网络运行;
发送模块,用于将所述更新后的代码发送至应用程序服务器中,以使所述应用程序服务器根据所述更新后的代码更新所述目标应用,其中,所述应用程序服务器在所述第一网络运行。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426984.0A CN115766448A (zh) | 2022-11-15 | 2022-11-15 | 应用的更新方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211426984.0A CN115766448A (zh) | 2022-11-15 | 2022-11-15 | 应用的更新方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115766448A true CN115766448A (zh) | 2023-03-07 |
Family
ID=85371184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211426984.0A Pending CN115766448A (zh) | 2022-11-15 | 2022-11-15 | 应用的更新方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766448A (zh) |
-
2022
- 2022-11-15 CN CN202211426984.0A patent/CN115766448A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459716B2 (en) | Processing digital content | |
CN114896003A (zh) | 页面的配置方法和装置、存储介质及电子装置 | |
CN114531462A (zh) | 一种用于物联网设备的数据处理方法及设备 | |
CN115766448A (zh) | 应用的更新方法和装置、存储介质及电子装置 | |
CN115858007A (zh) | 扩展组件的加载方法和装置、存储介质及电子装置 | |
CN107864488B (zh) | 一种基站业务自动测试的方法、装置及系统 | |
CN116361155A (zh) | 软件开发包的测试方法、装置和存储介质及电子装置 | |
CN115687806A (zh) | 目标设备列表的确定方法、装置、存储介质及电子装置 | |
CN115811457A (zh) | 多源数据融合的一体化数据采集方法 | |
US11251985B2 (en) | Method for configuring and method for controlling a home automation apparatus | |
CN115002014A (zh) | 确定测试结果的方法、装置、存储介质及电子装置 | |
CN115277412A (zh) | 边缘网关的升级方法及装置、存储介质及电子装置 | |
CN114938365A (zh) | 功能模块的更新方法、装置、存储介质及电子装置 | |
CN115865650A (zh) | 服务部署方法和装置、存储介质及电子装置 | |
CN115174297A (zh) | 属性信息的更新方法和装置、存储介质及电子装置 | |
CN116225456A (zh) | 程序部署的方法、装置、存储介质及终端 | |
CN115658178A (zh) | 用户行为动态埋点数据的采集方法及装置、存储介质 | |
CN114860592A (zh) | 应用功能的测试方法和装置、存储介质及电子装置 | |
CN116248647A (zh) | 资源包的发送方法及装置、存储介质及电子装置 | |
CN116346686A (zh) | 信息发送方法及装置、存储介质及电子装置 | |
CN115550214A (zh) | 任务监控方法、装置、存储介质及电子装置 | |
CN117579409A (zh) | 控制指令的处理方法和装置、存储介质及电子装置 | |
CN115297096A (zh) | 资源包的部署方法、装置、存储介质及电子装置 | |
CN115174383A (zh) | 设备更新方法、存储介质及电子装置 | |
CN117749593A (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 |