CN116719551A - 一种热部署方法、云服务系统、电子设备及存储介质 - Google Patents

一种热部署方法、云服务系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116719551A
CN116719551A CN202310610736.XA CN202310610736A CN116719551A CN 116719551 A CN116719551 A CN 116719551A CN 202310610736 A CN202310610736 A CN 202310610736A CN 116719551 A CN116719551 A CN 116719551A
Authority
CN
China
Prior art keywords
application
target application
information
space
metadata
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
Application number
CN202310610736.XA
Other languages
English (en)
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310610736.XA priority Critical patent/CN116719551A/zh
Publication of CN116719551A publication Critical patent/CN116719551A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书实施方式提供了一种支持事务的热部署方法及相关装置,该方法通过在响应热部署指令的应用过程中,在备份的逻辑空间中进行目标应用的应用信息更新,只有在备份的逻辑空间中的应用信息更新成功后,才将备份的逻辑空间中的应用信息索引作为目标应用的生效应用信息索引的方式,解决了由于应用的热部署异常而导致的应用无法使用或异常的问题。具体地,在更新过程中,对原有的逻辑空间中的应用信息索引及其对应的应用信息不做直接更新,如此,即使备份的逻辑空间中的应用信息更新失败,也不会对原有的逻辑空间中的应用信息索引及其指示的应用信息造成修改,避免了由于热部署失败,导致目标应用的应用信息部分修改而导致的无法使用或异常的问题。

Description

一种热部署方法、云服务系统、电子设备及存储介质
技术领域
本说明书中实施方式关于计算机应用技术领域,具体地说,涉及计算机应用技术领域下的热部署技术,更具体地说,涉及一种热部署方法、云服务系统、电子设备及存储介质。
背景技术
云服务系统是一种基于云计算技术的服务器系统,它将服务器的计算、存储、网络等基础资源通过虚拟化技术进行抽象和整合,形成一个高度自动化和可扩展的云计算平台,通过互联网向用户提供云计算服务。
为了完善给用户配置的应用的功能或改善用户使用体验,云服务系统可能会不定期对为用户配置的应用进行更新。在更新时,为了不影响用户对于应用的正常使用,云服务系统可以采用热部署的方式对应用进行更新,但是在一些情况下,利用热部署方法更新应用可能造成应用的异常,严重地会造成用户无法再正常使用应用。
发明内容
本说明书中多个实施方式提供一种热部署方法、云服务系统、电子设备及存储介质,以解决应用热部署过程中出现异常,导致应用无法正常使用的问题。
第一方面,本说明书的一个实施方式提供一种热部署方法,应用于云服务系统中的第一节点,所述第一节点搭载有目标应用,所述热部署方法包括:
响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息索引用于指示所述目标应用的应用信息的存储位置,所述应用信息用于描述所述目标应用;
在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引,所述生效应用信息索引用于指示所述目标应用生效的应用信息。
第二方面,本说明书的一个实施方式提供了一种热部署方法,应用于云服务系统中的第二节点,所述热部署方法包括:
获取目标应用的更新信息;
生成携带有所述目标应用的更新信息的热部署指令,并发送给所述云服务系统中的第一节点,以用于所述第一节点响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,并在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
第三方面,本说明书的一个实施方式提供了一种云服务系统,包括:第二节点和至少一个第一节点;其中,
所述第二节点,用于获取目标应用的更新信息,生成携带有所述目标应用的更新信息的热部署指令,并发送给所述第一节点;
所述第一节点,用于响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
第四方面,本说明书的一个实施方式提供了一种热部署装置,应用于云服务系统中的第一节点,所述第一节点搭载有目标应用,所述热部署装置包括:
响应模块,用于响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息索引用于指示所述目标应用的应用信息的存储位置,所述应用信息用于描述所述目标应用;
更新模块,用于在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引,所述生效应用信息索引用于指示所述目标应用生效的应用信息。
第五方面,本说明书的一个实施方式提供了一种热部署装置,应用于云服务系统中的第二节点,所述热部署方法包括:
更新信息获取模块,用于获取目标应用的更新信息;
部署指令生成模块,用于生成携带有所述目标应用的更新信息的热部署指令,并发送给所述云服务系统中的第一节点,以用于所述第一节点响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,并在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
第六方面,本说明书的一个实施方式提供了一种电子设备,包括:处理器和存储器;
其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上述的热部署方法。
第七方面,本说明书的一个实施方式提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述的热部署方法。
第八方面,本说明书的一个实施方式提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令时实现上述的热部署方法的步骤。
本说明书提供的多个实施方式,通过在响应热部署指令的应用过程中,在备份的逻辑空间中进行目标应用的应用信息更新,只有在备份的逻辑空间中的应用信息更新成功后,才将备份的逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引的方式,解决了由于应用的热部署异常而导致的应用无法使用或异常的问题。具体地,所述热部署方法在应用信息的更新过程中,对原有的逻辑空间中的应用信息索引及其对应的应用信息不做直接更新,如此,即使备份的逻辑空间中的应用信息更新失败,也不会对原有的逻辑空间中的应用信息索引及其指示的应用信息造成修改,避免了由于热部署失败,导致目标应用的应用信息部分修改而导致的无法使用或异常的问题。
附图说明
图1为应用更新失败时可能出现的界面示意图;
图2为本说明书的一个实施方式提供的一种热部署方法的应用场景示意图;
图3为本说明书的一个实施方式提供的一种热部署方法的流程示意图;
图4为本说明书的一个实施方式提供的一种在热部署方法中,逻辑空间的示意图;
图5为本说明书的一个实施方式提供的一种逻辑指针、逻辑空间生效指针以及逻辑空间的对应关系示意图;
图6为本说明书的一个实施方式提供的另一种热部署方法的流程示意图;
图7为本说明书的一个实施方式提供的又一种热部署方法的流程示意图;
图8为本说明书的一个实施方式提供的再一种热部署方法的流程示意图;
图9为本说明书的一个实施方式提供的一种电子设备的结构示意图。
具体实施方式
除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
概述
热部署是指在应用正在运行时升级应用程序,而不需要重新启动应用。采用热部署方式更新、升级应用,可以减少应用的停机时间,使得应用程序能够在更新、升级过程中持续运行,使得用户对于应用的更新、升级过程无感,改善用户对于应用的使用体验。
在相关技术中,应用在热部署的过程中,可能会出现用于描述应用的应用信息更新失败的情况。如果整个热部署过程在开始阶段失败,且应用的原有应用信息未被更改,则用户还可以使用原有版本的应用;但如果应用的热部署过程在中间过程失败,应用原有的应用信息被新版本的应用信息部分修改,则可能导致用户无法正常使用应用。如图1所示,当应用的部分应用信息更新被修改后,可能会导致应用某个界面对应的入口逻辑丢失,导致用户无法通过原有界面进入想要功能,这就会给用户的使用带来负面的体验。
低代码应用是一种以图形界面配置开发为主,以少量代码开发或者无需代码为辅助手段,设计开发出的应用。低代码应用的应用信息可以包括元数据,该元数据是描述应用程序结构、功能、行为和数据的信息。它包括应用程序的各种属性、对象、事件、方法、数据源、用户界面、工作流程、安全性和权限等方面的描述信息。元数据通常以XML(eXtensibleMarkup Language,可扩展标记语言)或JSON(JavaScript Object Notation,JavaScript对象标记法)等格式存储,可以用于应用程序的开发、管理、维护和升级。通过元数据,低代码平台可以生成应用程序代码、界面和逻辑,从而实现快速开发和部署。同时,元数据也提供了对应用程序的可视化和配置,使开发人员和管理员可以轻松地修改和扩展应用程序。
在低代码应用元数据热部署过程中,我们可以假设一种场景:一批元数据的更新,前面几个更新成功,中间有一个文件型的元数据,因为网络抖动无法下载,或者一个逻辑型的元数据,因为格式错误无法编译,导致元数据无法正常更新。此时常规的处理方法是重试,直到重试成功。但是有时候可能一直无法重试成功,最终导致一次热部署,部分元数据更新成功,部分更新失败的问题。由于低代码应用的组成更加模块化,因此如果低代码应用的元数据更新异常时,更容易出现如图1所示的应用无法正常使用的情况。为了解决这一问题,发明人通过研究发现,可以通过将应用的应用信息索引以逻辑空间的方式保存,并在更新过程中,建立一个备份的逻辑空间,在备份逻辑空间中进行应用信息更新,若备份逻辑空间中的应用信息更新成功,再将备份逻辑空间中的应用信息索引指示的应用信息生效的方式解决上述问题。如此,可以使热部署方法在部署失败时,具有撤销已经发生的变更,恢复元数据到变更前的状态的事务能力,因此,本说明书实施方式提供的热部署方法也可以称为支持事务的热部署方法。
基于上述的发明构思,本说明书实施方式提供了一种热部署方法,下面将结合附图,对所述热部署方法进行示例性描述。
场景示例
参考图2,图2示出了一种热部署方法的可行应用场景,在该应用场景下,用户通过向云服务系统10申请,获得配置的集群12,集群12中包括多个运算节点121,运算节点121中搭载有为用户定制或配置的应用程序,用户通过使用这些应用程序获得相应的云计算服务。云服务系统10的管理人员通过管理节点11对集群12中运算节点121中的应用程序进行管理,对应用程序的管理包括但不限于版本、数据权限等的管理。
当云服务系统10的管理人员需要为运算节点121中的应用程序进行应用版本的更新时,会通过管理节点11向各运算节点121发送热部署指令和相应的应用更新信息,运算节点121在接收到热部署指令和相关的应用更新信息后,响应该热部署指令,根据相关的应用更新信息对应用进行热部署。该云服务系统10包括但不限于应用程序开发和部署平台以及数据库服务平台等,本说明书对所述云服务系统10的具体类型并不做限定,具体视实际情况而定。
在图2中,该云服务系统10包括管理节点11和与管理节点11对应的集群12,集群12中可以包括多个运算节点121,用户可以通过客户端20登录到与用户对应的集群12进行计算任务配置等工作,使用集群12中搭载的应用程序完成相应的任务。客户端20可以通过网络与云服务平台进行通信。云服务平台可以利用管理节点11和/或运算节点121执行本说明书实施方式提供的热部署方法。
在图2所示的应用场景中,所述客户端20可以是具有网络访问能力的电子设备。具体的,例如,客户端20可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端20也可以为能够运行于所述电子设备中的软件。在云服务系统10中,管理节点11和运算节点121可以包括至少一个服务器,服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
示例的方法
本说明书的一个实施方式提供一种热部署方法,以应用于云服务系统中的运算节点121(下面称为第一节点)为例进行说明,所述第一节点搭载有目标应用,如图3所示,所述热部署方法包括:
S301:响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息索引用于指示所述目标应用的应用信息的存储位置,所述应用信息用于描述所述目标应用;
如前文所述,热部署指令可以是云服务系统中的管理节点(下面称之为第二节点)发送的,用于指示第一节点进行目标应用更新的指令。
所述目标应用的更新信息是指对所述目标应用的全部或部分应用信息进行增加、删除和修改的信息,以帮助实现目标应用的界面、功能、逻辑等的优化,实现目标应用的版本更新。
以低代码应用为例,所述应用信息索引可以包括低代码应用的元数据的索引,所述应用信息可以包括低代码应用的元数据。
在一些实施方式中,所述逻辑空间可以为缓存空间,在缓存空间中保存所述目标应用的应用信息索引,可以提高所述目标应用的应用信息索引的读写效率。另外,由于逻辑空间中保存的是应用信息索引,而非应用信息本身,有利于减少逻辑空间中所需存储的数据量。
所述目标应用的应用信息的存储位置可以为内存或磁盘等存储介质,目标应用的应用信息索引可以指示这些应用信息的存储位置,根据目标应用的应用信息索引即可找到与其对应的应用信息。
S302:在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引。
参考图4,在接收到所述热部署指令前,原有的逻辑空间(例如可以是图4中的逻辑空间1)中可以存储有目标应用在当前状态下的生效应用信息索引(例如可以是应用信息索引1)。对该逻辑空间进行备份,可以获得备份的逻辑空间(例如可以是逻辑空间2),此时,在原有的逻辑空间和备份的逻辑空间中,保存了指向内容相同、存储位置不同的应用信息的应用信息索引(例如可以是应用信息索引1和应用信息索引2)。如此,备份的逻辑空间中可以基于目标应用的更新信息进行热部署(例如可以是在逻辑空间2中根据更新信息更新目标应用的应用信息索引2指向的应用信息),只有在更新成功时,才将备份的逻辑空间中的应用信息索引作为目标应用的生效应用索引,避免了直接对目标应用正在生效的应用信息进行热部署,而可能造成的部分应用信息更新成功,部分应用信息更新失败的问题,也避免由于上述问题导致的目标应用运行异常的问题。实现了支持对部分更新成功,部分更新失败的元数据的撤销事务(即不将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引,可以保证目标应用可以基于原有的逻辑空间中的应用信息索引指示的应用信息正常工作)。
在步骤S302中,由于原有的逻辑空间中存储有生效应用信息,因此在备份的所述逻辑空间中根据更新信息进行目标应用的应用信息更新,可以减少生效的应用信息的切换次数,最大程度上降低对目标应用的正常运行可能造成的影响。
另外,在除热部署的过程之外,所述逻辑空间中可以只保存目标应用的应用信息索引,而并不用保存目标应用的引用信息,有利于减小逻辑空间占据的空间大小。
在一些实施方式中,在备份的所述逻辑空间中,若对目标应用的应用信息更新失败时,可以停止对所述目标应用的应用信息的更新。在另一些实施方式中,在备份的所述逻辑空间中,若对目标应用的应用信息更新失败时,可以返回根据所述更新信息对所述目标应用的应用信息进行更新的步骤,尝试进行再次更新,直至更新失败次数达到预设阈值,则停止对所述目标应用的更新。在又一些实施方式中,当所述目标应用的应用信息更新失败时,所述第一节点可以向云服务系统的第二节点返回更新失败的信息,以提示云服务系统的管理人员对目标应用或对目标应用的更新信息进行调整。
在一些实施方式中,为了便于各逻辑空间的管理与生效应用信息索引的管理,参考图5,所述第一节点内存储有逻辑空间生效指针和逻辑指针队列;其中,
所述逻辑指针队列,用于存储与所述逻辑空间对应的逻辑指针,所述逻辑指针指向与所述逻辑指针对应的逻辑空间;
所述逻辑空间生效指针,用于指示生效逻辑空间,所述生效逻辑空间为保存所述目标应用的生效应用信息索引的逻辑空间;
所述将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引包括:
将所述逻辑空间生效指针指向备份逻辑指针,所述备份逻辑指针指向备份的所述逻辑空间。
在本实施方式中,通过维护一个逻辑指针队列,可以将逻辑空间与逻辑指针对应起来,通过逻辑指针,即可找到逻辑指针指向的逻辑空间,从而可以通过逻辑指针队列的维护与管理,实现对逻辑空间的维护与管理。此外,通过设置的逻辑空间生效指针,可以便捷地进行生效逻辑空间的切换。
为了减少保存未生效的应用信息索引的逻辑空间占据的存储空间,在本说明书的一个实施方式中,如图6所示,若在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息的更新失败,所述热部署方法还包括:
S303:删除备份的所述逻辑空间。
在本实施方式中,若根据所述更新信息对所述目标应用的应用信息的更新失败,则对备份的所述逻辑空间进行删除操作,避免备份的逻辑空间占据较多内存的问题。
所述将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引之后还包括:
S304:删除原有的逻辑空间。
在本实施方式,在将备份的逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引之后,目标应用的更新已经完成,原有的逻辑空间中存储的应用信息索引失去作用,可对原有的逻辑空间进行删除操作,以释放原有的逻辑空间占据的存储空间,减少保存未生效的应用信息索引的逻辑空间占据的存储空间较多的问题。
在一些情况下,可能出现逻辑空间的删除出错的情况,为了避免短时间内频繁尝试删除这些删除出错的逻辑空间,而对目标应用的正常运行造成的影响,在一些实施方式中,如图7所示,所述热部署方法还包括:
S305:若所述逻辑空间删除失败,则保留删除失败的所述逻辑空间;
S306:每隔预设时间,获取失效逻辑空间,所述失效逻辑空间包括存储所述目标应用的未生效的应用信息的逻辑空间;
S307:对所述失效逻辑空间进行删除操作。
由于逻辑空间在删除时可能会由于被应用占用等原因导致无法删除,此时在尝试删除逻辑空间(原有的逻辑空间或备份的逻辑空间)后,做静默处理(即保留删除失败的所述逻辑空间),以保障目标应用的热部署顺利完成。
在此基础上,为了避免删除失败的逻辑空间的大量残留导致的存储空间过多浪费的问题,每隔预设时间,对第一节点中的失效逻辑空间再次尝试删除操作,以释放这些失效逻辑空间占用的存储空间。
在一些实施方式中,所述应用信息索引包括第一索引和第二索引;所述应用信息包括不同类型的第一元数据和第二元数据;
所述第一索引用于指示第一元数据在第一存储介质中的存储位置,所述第二索引用于指示第二元数据在第二存储介质中的存储位置;所述第一存储介质与所述第二存储介质的类型不同。
在本实施方式中,目标应用的应用信息可以包括不同类型的第一元数据和第二元数据,使得目标应用可以基于这些元数据实现丰富的功能,满足用户的各类需求。为了满足第一元数据和第二元数据对存储介质类型的不同需求,在本实施方式中,通过第一索引和第二索引分别指示第一元数据和第二元数据的存储介质,使得所述热部署方法可以适用于不同类型的目标应用的热部署,有利于提高热部署方法的适用性。
参考图5,在本说明书的一个实施方式中,所述目标应用包括低代码应用;
所述第一元数据包括文件元数据,所述第二元数据包括模型元数据和逻辑元数据;所述第一存储介质包括磁盘,所述第二存储介质包括内存;
所述文件元数据用于描述所述目标应用中文件的属性信息和文件内容;
所述模型元数据用于描述所述目标应用中的数据模型;
所述逻辑元数据用于描述所述目标应用中的逻辑处理信息。
在一些实施方式中,所述文件元数据还可以包括界面元数据等所有非文件类型的元数据。
具体地,所述文件的属性信息可以包括文件名称、大小、创建时间、修改时间等;文件内容可以包括文件存储的数据和信息。
所述目标应用的数据模型包括数据表结构、字段定义、数据类型等;
所述逻辑处理信息包括应用的流程、操作规则、界面设计等。这些元数据在低代码应用中都非常重要,可以帮助开发者更好地管理和维护应用,提高开发效率和应用质量。
在本实施方式中,通过所述热部署方法对所述低代码应用的上述元数据进行热部署,可以将低代码应用的热部署过程从分钟级压缩到秒级,大大缩短了低代码应用的热部署时间。
相应的,所述更新信息包括所述第一元数据的更新信息和所述第二元数据的更新信息;
所述根据所述更新信息对所述目标应用的应用信息进行更新包括:
根据所述第一索引,确定所述目标应用的第一元数据,根据所述第一元数据的更新信息对确定的所述第一元数据进行修改、新增和删除中的至少一项操作,在所述第一元数据更新完成后,根据更新完成后的第一元数据更新所述第一索引;
根据所述第二索引,确定所述目标应用的第二元数据,根据所述第二元数据的更新信息对确定的所述第二元数据进行修改、新增和删除中的至少一项操作,在所述第二元数据更新完成后,根据更新完成后的第二元数据更新所述第二索引。
在本实施方式中,在对第一元数据进行更新时,通过第一索引找到目标应用的第一元数据,并根据更新信息对第一元数据进行修改、新增和删除中的至少一项操作,实现第一元数据的更新。类似的,在对第二元数据进行更新时,通过第二索引找到目标应用的第二元数据,并根据更新信息对第二元数据进行修改、新增和删除中的至少一项操作,实现第二元数据的更新。如此,可以准确找到不同存储位置的元数据进行分别更新,有利于保障元数据更新的顺利进行。
相应的,以应用于分布式系统中的管理节点11(即第二节点)为例,本说明书实施方式还提供了一种热部署方法,如图8所示,包括:
S801:获取目标应用的更新信息;
S802:生成携带有所述目标应用的更新信息的热部署指令,并发送给所述云服务系统中的第一节点,以用于所述第一节点响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,并在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
在步骤S801中,目标应用的更新信息可以是管理人员在第二节点上编译的,也可以是第二节点从其他存储介质或节点中读取的,本说明书对所述更新信息的具体获取方式并不做限定,具体视实际情况而定。
在步骤S802中,第一节点具体响应所述热部署指令的过程可参考上文中的相关描述,本说明书在此不做赘述。
相应的,本说明书实施方式还提供了一种云服务系统,包括:第二节点和至少一个第一节点;其中,
所述第二节点,用于获取目标应用的更新信息,生成携带有所述目标应用的更新信息的热部署指令,并发送给所述第一节点;
所述第一节点,用于响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
结合参考图2,所述第二节点可以是图2中的管理节点11,所述第一节点可以是图2中的运算节点121,关于第一节点和第二节点在热部署过程中的相关限定,可参考上文中的相关描述,本说明书在此不做赘述。
示例的电子设备、存储介质和软件
本说明书另一实施例还提出一种计算设备,参见图9所示,本说明书的一个示例性实施例还提供了一种计算设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本说明书上述实施例中描述的根据本说明书各种实施例的热部署方法中的步骤。
该计算设备的内部结构可以如图9所示,该计算设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该计算设备的处理器用于提供计算和控制能力。该中控设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以本说明书上述实施例中描述的根据本说明书各种实施例的热部署方法中的步骤。
处理器可包括主处理器,还可包括基带芯片、调制解调器等。
存储器中保存有执行本发明技术方案的计算机程序,还可以保存有操作系统和其他关键程序。具体地,计算机程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
处理器可以是通用处理器,例如通用处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
输入设备可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器执行存储器中所存放的计算机程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种热部署方法的各个步骤。
该计算设备还可以包括显示组件和语音组件,该显示组件可以是液晶显示屏或者电子墨水显示屏,该计算设备的输入装置可以是显示组件上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
除了上述方法和设备以外,本说明书实施例提供的热部署方法还可以是计算机程序产品,其包括计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的热部署方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例的方法”部分中描述的根据本说明书各种实施例的热部署方法中的步骤。
需要说明的是,本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本说明书的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本说明书的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种热部署方法,其特征在于,应用于云服务系统中的第一节点,所述第一节点搭载有目标应用,所述热部署方法包括:
响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息索引用于指示所述目标应用的应用信息的存储位置,所述应用信息用于描述所述目标应用;
在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引,所述生效应用信息索引用于指示所述目标应用生效的应用信息。
2.根据权利要求1所述的方法,其特征在于,所述第一节点内存储有逻辑空间生效指针和逻辑指针队列;其中,
所述逻辑指针队列,用于存储与所述逻辑空间对应的逻辑指针,所述逻辑指针指向与所述逻辑指针对应的逻辑空间;
所述逻辑空间生效指针,用于指示生效逻辑空间,所述生效逻辑空间为保存所述目标应用的生效应用信息索引的逻辑空间;
所述将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引包括:
将所述逻辑空间生效指针指向备份逻辑指针,所述备份逻辑指针指向备份的所述逻辑空间。
3.根据权利要求1所述的方法,其特征在于,若在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息的更新失败,所述热部署方法还包括:
删除备份的所述逻辑空间。
4.根据权利要求1所述的方法,其特征在于,所述将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引之后还包括:
删除原有的逻辑空间。
5.根据权利要求3或4所述的方法,其特征在于,所述热部署方法还包括:
若所述逻辑空间删除失败,则保留删除失败的所述逻辑空间;
每隔预设时间,获取失效逻辑空间,所述失效逻辑空间包括存储所述目标应用的未生效的应用信息的逻辑空间;
对所述失效逻辑空间进行删除操作。
6.根据权利要求1所述的方法,其特征在于,所述应用信息索引包括第一索引和第二索引;所述应用信息包括不同类型的第一元数据和第二元数据;
所述第一索引用于指示第一元数据在第一存储介质中的存储位置,所述第二索引用于指示第二元数据在第二存储介质中的存储位置;所述第一存储介质与所述第二存储介质的类型不同。
7.根据权利要求6所述的方法,其特征在于,所述更新信息包括所述第一元数据的更新信息和所述第二元数据的更新信息;
所述根据所述更新信息对所述目标应用的应用信息进行更新包括:
根据所述第一索引,确定所述目标应用的第一元数据,根据所述第一元数据的更新信息对确定的所述第一元数据进行修改、新增和删除中的至少一项操作,在所述第一元数据更新完成后,根据更新完成后的第一元数据更新所述第一索引;
根据所述第二索引,确定所述目标应用的第二元数据,根据所述第二元数据的更新信息对确定的所述第二元数据进行修改、新增和删除中的至少一项操作,在所述第二元数据更新完成后,根据更新完成后的第二元数据更新所述第二索引。
8.根据权利要求6所述的方法,其特征在于,所述目标应用包括低代码应用;
所述第一元数据包括文件元数据,所述第二元数据包括模型元数据和逻辑元数据;所述第一存储介质包括磁盘,所述第二存储介质包括内存;
所述文件元数据用于描述所述目标应用中文件的属性信息和文件内容;
所述模型元数据用于描述所述目标应用中的数据模型;
所述逻辑元数据用于描述所述目标应用中的逻辑处理信息。
9.一种热部署方法,其特征在于,应用于云服务系统中的第二节点,所述热部署方法包括:
获取目标应用的更新信息;
生成携带有所述目标应用的更新信息的热部署指令,并发送给所述云服务系统中的第一节点,以用于所述第一节点响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,并在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
10.一种云服务系统,其特征在于,包括:第二节点和至少一个第一节点;其中,
所述第二节点,用于获取目标应用的更新信息,生成携带有所述目标应用的更新信息的热部署指令,并发送给所述第一节点;
所述第一节点,用于响应于携带有所述目标应用的更新信息的热部署指令,对逻辑空间进行备份,以获得备份的逻辑空间,在备份的所述逻辑空间中,根据所述更新信息对所述目标应用的应用信息进行更新,若更新成功,则将备份的所述逻辑空间中的应用信息索引作为所述目标应用的生效应用信息索引;所述逻辑空间用于保存所述目标应用的应用信息索引;所述应用信息用于描述所述目标应用。
11.一种电子设备,其特征在于,包括:处理器和存储器;
其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如权利要求1~9任一项所述的热部署方法。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1~9任一项所述的热部署方法。
CN202310610736.XA 2023-05-25 2023-05-25 一种热部署方法、云服务系统、电子设备及存储介质 Pending CN116719551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310610736.XA CN116719551A (zh) 2023-05-25 2023-05-25 一种热部署方法、云服务系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310610736.XA CN116719551A (zh) 2023-05-25 2023-05-25 一种热部署方法、云服务系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116719551A true CN116719551A (zh) 2023-09-08

Family

ID=87872495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310610736.XA Pending CN116719551A (zh) 2023-05-25 2023-05-25 一种热部署方法、云服务系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116719551A (zh)

Similar Documents

Publication Publication Date Title
US10678649B2 (en) Interfacing with a virtual database system
US8812451B2 (en) Programming model for synchronizing browser caches across devices and web services
KR101643022B1 (ko) 카탈로그-기반 소프트웨어 컴포넌트 관리
CN108762760B (zh) 软件界面自定义方法、装置、计算机设备及存储介质
CN106789249B (zh) 热更新方法、客户端及服务器
US20100088270A1 (en) Data versioning concept including time dependency and active and inactive states
CN111414350A (zh) 一种服务生成方法及装置
CN108776587B (zh) 数据获取方法、装置、计算机设备以及存储介质
CN110427258A (zh) 基于云平台的资源调度控制方法及装置
CN117235017A (zh) 数据升级方法、装置、设备及存储介质
CN110119388B (zh) 文件读写方法、装置、系统、设备及计算机可读存储介质
CN113885886A (zh) 活动业务的处理方法、设备、系统及存储介质
CN106775608B (zh) 独立系统进程的实现方法和装置
CN110908644A (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN116048609A (zh) 配置文件更新方法、装置、计算机设备和存储介质
CN116719551A (zh) 一种热部署方法、云服务系统、电子设备及存储介质
CN109960522B (zh) 一种软件升级方法及装置
CN110599112A (zh) 一种网络页面开发、维护方法和装置
CN112099879A (zh) 配置信息管理方法、装置、计算机设备及存储介质
CN113722538B (zh) 一种界面动态渲染方法及装置
CN117608677B (zh) 插件的生成方法、云服务系统及服务访问方法
CN109977659A (zh) weblogic自动创建本地用户的方法、系统、装置及存储介质
US12132804B2 (en) Runtime module conversion
CN114896005A (zh) 基于人工智能的应用程序语言配置方法及相关设备
CN115509634A (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