CN112286533B - 云端服务的热修复方法及装置 - Google Patents

云端服务的热修复方法及装置 Download PDF

Info

Publication number
CN112286533B
CN112286533B CN202011278302.7A CN202011278302A CN112286533B CN 112286533 B CN112286533 B CN 112286533B CN 202011278302 A CN202011278302 A CN 202011278302A CN 112286533 B CN112286533 B CN 112286533B
Authority
CN
China
Prior art keywords
functional module
loader
class
module
java
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
CN202011278302.7A
Other languages
English (en)
Other versions
CN112286533A (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.)
Guangzhou Real Time Data Intelligent System Technology Co ltd
Original Assignee
Guangzhou Real Time Data Intelligent System Technology Co 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 Guangzhou Real Time Data Intelligent System Technology Co ltd filed Critical Guangzhou Real Time Data Intelligent System Technology Co ltd
Priority to CN202011278302.7A priority Critical patent/CN112286533B/zh
Publication of CN112286533A publication Critical patent/CN112286533A/zh
Application granted granted Critical
Publication of CN112286533B publication Critical patent/CN112286533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种云端服务的热修复方法和装置,该方法包括:接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令;对所述第一功能模块的代码进行编译,生成第二Java字节码文件;将第一类加载器标记为废弃状态,其中,所述第一类加载器加载有所述第一功能模块的原Java字节码文件;创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件。本申请在开发者对云端服务的功能模块进行开发调试时,不会对生产运行造成中断,实现了第一功能模块在运行时的热修复。

Description

云端服务的热修复方法及装置
技术领域
本申请涉及云端开发调试的技术领域,特别涉及一种云端服务的热修复方法及装置。
背景技术
随着基于互联网的相关服务的增加,平台即服务(PaaS,Platform as a Service)将服务器平台作为一种服务提供的商业模式,将软件开发的平台作为一种服务,以SaaS(Software as a Service,软件即服务)的模式提交给开发者。基于云端服务的开发平台通过使计算过程在远程服务器进行,使得开发者无需在本地部署开发环境,通过本地的开发工具连接至云端的开发平台,实现对云端服务的开发调试。
传统的Java开发语言,当对开发平台的一个功能模块的程序进行修改后,需要对该功能模块的程序进行重新编译并重新加载才能生效,当该功能模块为生产运行的相关功能模块时,重新加载会导致该功能模块的相关功能停止运行,影响到生产运行的连续性。
发明内容
本申请实施例提供一种云端服务的热修复方法及装置,用以在开发者对云端服务的功能模块进行开发调试时,不会对生产运行造成中断,实现了第一功能模块在运行时的热修复。
第一方面,本申请实施例提供了一种云端服务的热修复方法,该方法包括如下步骤:
接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令;
对所述第一功能模块的代码进行编译,生成第二Java字节码文件;
将第一类加载器标记为废弃状态,其中,所述第一类加载器加载有所述第一功能模块的原Java字节码文件;
创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件。
进一步,还包括如下步骤:
当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系。
进一步,所述第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
进一步,当所述第二功能模块包括Java实体类时,所述将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,包括:
控制所述Java实体类重新加载;
修改所述Java实体类的内部地址,使其指向所述第二类加载器。
进一步,当所述第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
第二方面,本申请实施例提供了一种云端服务的热修复装置,包括:
编译指令接收模块,用于接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令;
编译模块,用于对所述第一功能模块的代码进行编译,生成第二Java字节码文件;
废弃标记模块,用于将第一类加载器标记为废弃状态,其中,所述第一类加载器在当前加载有所述第一功能模块原Java字节码文件;
类加载器新建模块,用于创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件。
进一步,该装置还包括:
引用关系修改模块,用于当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系。
进一步,所述第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
进一步,当所述第二功能模块包括Java实体类时,所述引用关系修改模块包括:
重加载单元,用于控制所述Java实体类重新加载;
内部地址修改单元,用于修改所述Java实体类的内部地址,使其指向所述第二类加载器。
进一步,当所述第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
在本申请实施例中,在接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令后,对第一功能模块的代码进行编译,并生成第二Java字节码文件,在生成第二Java字节码文件后,新建第二类加载器将第二Java字节码文件加载入内存运行,并将加载有第一功能模块原Java字节码文件的第一类加载器标记为废弃状态,从而不会对生产运行造成中断,实现了第一功能模块在运行时的热修复。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种技术中的云端服务的开发平台开发调试的场景示意图;
图2是本申请实施例的云端服务的热修复方法的流程示意图;
图3是本申请实施例的云端服务的热修复方法的流程示意图;
图4是本申请实施例的云端服务的热修复装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为一种技术中的云端服务的开发平台开发调试的场景示意图,在图1中,开发平台运行于云端服务器100,云端服务器100还提供了软件远程访问服务器的能力,在图1中,开发者设备200和最终用户设备300可以在本地进行相关操作,并返回键盘和鼠标动作,由服务器处理。
所有应用程序执行、数据处理和数据存储都发生在服务器上,上述基于云端服务的开发平台将开发调试的计算过程从本地转移到云端,通常集成开发、运维以及运行为一体,实现了质量管理、生产管理等功能。针对传统的Java开发语言,当对开发平台的一个功能模块的程序进行修改后,需要对该功能模块的程序进行重新编译并重新加载才能生效,当该功能模块为生产运行的相关功能模块时,重新加载会导致该功能模块的相关功能停止运行,影响到生产运行的连续性。
针对这一技术问题,本申请实施例提供了一种云端服务的热修复方法,用以在开发者对云端服务的功能模块的程序进行修改后,能够实现对该功能模块的热修复,不会导致该功能模块的相关功能停止运行,使到生产运行具有连续性。
如图2所示,在一个示例性的实施例中,云端服务的热修复方法包括如下步骤:
S201:接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令。
其中,云端服务的开发平台可以是任何集成系统的开发云平台,通常集成了分布式计算环境、大数据以及云计算支持以及工业移动监视与控制功能,在本申请实施例中,开发平台为一站式MES系统开发云平台,针对不同的用户,一站式MES系统开发云平台可以集成MES制造执行系统、WMS仓储管理系统、SCM供应链协同、TPM设备管理系统、APS高级计划排程等功能模块中的一项或多项,而上述的功能模块又可以包括多个子功能模块,例如,MES制造执行系统具体可以包括计划排产与物流管理、车间生产制程控制与全面追溯管理、可视化管理、质量管理等一个或多个子功能模块,每个功能模块或者子功能模块都具备在线运行以及在线开发调试的功能。开发终端可以是图1中的开发者设备200中运行的开发程序终端,其中,开发程序终端的人机交互界面可以是基于自开发的软件程序实现,在其他例子中,也可以是通过web等方式实现。
该第一功能模块是所述开发平台中的一个完整的功能实例模块,其可以是一个基础的具有单一功能的模块,例如质量管理模块或生产管理模块等。在一些例子中,也可以是由多个基础的功能模块组合形成的一个具有多个功能的模块。
当开发者修改第一功能模块的程序后,需要对程序进行重新编译。该编译指令用于指示开发者对该功能模块的代码进行编译操作,该调试指令可以是开发者通过鼠标或键盘等方式,触发特定的操作命令产生,在一些例子中,编译指令还可以设置为满足设定条件自动触发产生,例如,当检测到第一功能模块的程序被修改,则可以在设定时间后,自动触发编译操作。
S202:对所述第一功能模块的代码进行编译,生成第二Java字节码文件。
在Java平台和基于Java的开发平台中,开发人员编写Java代码(.java文件)后,需要将之编译成字节码(.class文件),然后字节码被类加载器(Classloader)加载入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者被即时代码发生器有选择的转换成机器码执行。
S203:将第一类加载器标记为废弃状态,其中,所述第一类加载器加载有所述第一功能模块的原Java字节码文件。
S204:创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件。
对第一功能模块的代码进行编译时,第一功能模块被修改前的代码已被编译成字节码文件,且已被第一类加载器加载入内存运行,在传统的实施方式中,当已被第一类加载器加载入内存运行的第一功能模块的代码被修改需要重新编译时,需要重新启动第一类加载器,重新加载新的第二Java字节码文件入内存运行,而这一重启将导致第一功能模块的相关功能停止运行,影响到生产运行的连续性。
在本申请实施例中,在对第一功能模块进行编译时,并不重启第一类加载器,而是新建一个第二类加载器,由第二类加载器加载第二Java字节码文件到内存中运行,同时,将第一类加载器标记为废弃状态。具体的,将第一类加载器标记为废弃状态的具体手段根据Java的运行规则确定即可。
在本申请实施例中,第二类加载器加载第二Java字节码文件与将第一类加载器标记为废弃状态,可以是同时进行,也可以是任一步骤在前,任一步骤在后,两个步骤之间的时间差较小,不会对生产运行造成中断,实现了第一功能模块运行时的热修复。
在本申请实施例中,在接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令后,对第一功能模块的代码进行编译,并生成第二Java字节码文件,在生成第二Java字节码文件后,新建第二类加载器将第二Java字节码文件加载入内存运行,并将加载有第一功能模块原Java字节码文件的第一类加载器标记为废弃状态,从而不会对生产运行造成中断,实现了第一功能模块在运行时的热修复。
在一些例子中,第一功能模块并非独立运行于开发平台,其还可以通过Java的实体类连接数据库,也可以与持久化层和第三方应用等功能模块连接,实现外部的访问功能,因此,在一些例子中,如图2所示,在通过第二类加载器加载第二Java字节码文件后,还包括如下步骤:
S205:当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系。
在一些例子中,第二类加载器是根据第一类加载器和预设规则创建的,从而当第二功能模块在运行时调用第一类加载器,发现第一类加载器为废弃状态时,可以根据该预设规则查找到第二类加载器,从而将于第一类加载器之间的引用关系重定向至第二类加载器。
其中,第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
其中,当第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
在一个具体的例子中,如图3所示,当所述第二功能模块包括Java实体类时,所述将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,包括如下步骤:
S301:控制所述Java实体类重新加载;
S302:修改所述Java实体类的内部地址,使其指向所述第二类加载器。
如图4所示,图4为本申请实施例提供的一种云端服务的热修复装置的结构示意图,云端服务的热修复装置400包括:
编译指令接收模块401,用于接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令;
编译模块402,用于对所述第一功能模块的代码进行编译,生成第二Java字节码文件;
废弃标记模块403,用于将第一类加载器标记为废弃状态,其中,所述第一类加载器在当前加载有所述第一功能模块原Java字节码文件;
类加载器新建模块404,用于创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件。
在一个例子中,还包括:
引用关系修改模块,用于当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系。
在一个例子中,所述第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
在一个例子中,当所述第二功能模块包括Java实体类时,所述引用关系修改模块包括:
重加载单元,用于控制所述Java实体类重新加载;
内部地址修改单元,用于修改所述Java实体类的内部地址,使其指向所述第二类加载器。
在一个例子中,当所述第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.云端服务的热修复方法,其特征在于,包括如下步骤:
接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令,其中,所述第一功能模块为所述开发平台中的一个完整的功能实例模块,其为基础的单一功能模块或由多个基础的功能模块组合形成的一个具有多个功能的模块,每个功能模块都具备在线运行以及在线开发调试的功能;
对所述第一功能模块的代码进行编译,生成第二Java字节码文件,第一功能模块并非独立运行于开发平台,其与其他功能模块连接实现外部的访问功能;
将第一类加载器标记为废弃状态,其中,所述第一类加载器加载有所述第一功能模块的原Java字节码文件;与此同时,不重启第一类加载器,创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件;
当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系;
所述第二类加载器是根据第一类加载器和预设规则创建的,当第二功能模块在运行时调用第一类加载器,发现第一类加载器为废弃状态时,根据该预设规则查找到第二类加载器,将与第一类加载器之间的引用关系重定向至第二类加载器。
2.根据权利要求1所述的方法,其特征在于,所述第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
3.根据权利要求2所述的方法,其特征在于,当所述第二功能模块包括Java实体类时,所述将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,包括:
控制所述Java实体类重新加载;
修改所述Java实体类的内部地址,使其指向所述第二类加载器。
4.根据权利要求2所述的方法,其特征在于:
当所述第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
5.一种云端服务的热修复装置,其特征在于,包括:
编译指令接收模块,用于接收到开发终端针对云端服务的开发平台的第一功能模块的编译指令,其中,所述第一功能模块为所述开发平台中的一个完整的功能实例模块,其为基础的单一功能模块或由多个基础的功能模块组合形成的一个具有多个功能的模块,每个功能模块都具备在线运行以及在线开发调试的功能;
编译模块,用于对所述第一功能模块的代码进行编译,生成第二Java字节码文件,第一功能模块并非独立运行于开发平台,其与其他功能模块连接实现外部的访问功能;与此同时,还用于将第一类加载器标记为废弃状态,其中,所述第一类加载器在当前加载有所述第一功能模块原Java字节码文件;
类加载器新建模块,用于不重启第一类加载器,创建第二类加载器,通过所述第二类加载器加载所述第二Java字节码文件;
引用关系修改模块,用于当检测到所述第一类加载器为废弃状态,将第二功能模块与所述第一类加载器的引用关系修改至所述第二类加载器,其中,所述第二功能模块与所述第一功能模块具有引用关系;
所述第二类加载器是根据第一类加载器和预设规则创建的,当第二功能模块在运行时调用第一类加载器,发现第一类加载器为废弃状态时,根据该预设规则查找到第二类加载器,将与第一类加载器之间的引用关系重定向至第二类加载器。
6.根据权利要求5所述的装置,其特征在于,所述第二功能模块包括以下至少一项:
持久化层,第三方应用,Java实体类。
7.根据权利要求6所述的装置,其特征在于,当所述第二功能模块包括Java实体类时,所述引用关系修改模块包括:
重加载单元,用于控制所述Java实体类重新加载;
内部地址修改单元,用于修改所述Java实体类的内部地址,使其指向所述第二类加载器。
8.根据权利要求6所述的装置,其特征在于:
当所述第二功能模块包括Java实体类时,所述Java实体类与所述第一功能模块之间的引用关系为所述第一功能模块与所述Java实体类所关联的数据库之间的调用关系。
CN202011278302.7A 2020-11-16 2020-11-16 云端服务的热修复方法及装置 Active CN112286533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011278302.7A CN112286533B (zh) 2020-11-16 2020-11-16 云端服务的热修复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011278302.7A CN112286533B (zh) 2020-11-16 2020-11-16 云端服务的热修复方法及装置

Publications (2)

Publication Number Publication Date
CN112286533A CN112286533A (zh) 2021-01-29
CN112286533B true CN112286533B (zh) 2024-01-26

Family

ID=74399007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011278302.7A Active CN112286533B (zh) 2020-11-16 2020-11-16 云端服务的热修复方法及装置

Country Status (1)

Country Link
CN (1) CN112286533B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236503A (zh) * 2008-02-27 2008-08-06 鞠京佳 一种热部署实体类组件
CN102819438A (zh) * 2011-06-08 2012-12-12 金蝶软件(中国)有限公司 一种热加载的方法、装置及信息系统
CN111367510A (zh) * 2020-02-24 2020-07-03 腾讯音乐娱乐科技(深圳)有限公司 一种安卓功能模块开发的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042103B2 (en) * 2005-11-29 2011-10-18 International Business Machines Corporation Pre-translated files used in a virtual machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236503A (zh) * 2008-02-27 2008-08-06 鞠京佳 一种热部署实体类组件
CN102819438A (zh) * 2011-06-08 2012-12-12 金蝶软件(中国)有限公司 一种热加载的方法、装置及信息系统
CN111367510A (zh) * 2020-02-24 2020-07-03 腾讯音乐娱乐科技(深圳)有限公司 一种安卓功能模块开发的方法及装置

Also Published As

Publication number Publication date
CN112286533A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN108027722B (zh) 在编译和部署中动态更新应用
CN111881401B (zh) 基于WebAssembly的浏览器深度学习方法及系统
CN105022630B (zh) 一种组件管理系统及组件管理方法
CN100489778C (zh) Java程序可动态更新化实现方法
CN101739333A (zh) 应用程序的调试方法、调试工具及调试装置
CN104317591A (zh) 一种基于OSGi的web界面框架系统及web业务处理方法
CN111580926A (zh) 模型发布方法、模型部署方法、装置、设备及存储介质
CN112711411A (zh) 一种基于Kubernetes及docker的CI/CD流水线系统
CN112148278A (zh) 可视化的区块链智能合约框架及智能合约开发部署方法
CN111736954A (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及系统
CN111610974A (zh) 一种面向边缘计算的跨系统平台编译方法
CN115268986A (zh) 一种低代码业务脚本运行方法及引擎装置
CN112860251A (zh) 一种网站前端构建的方法与系统
KR101689984B1 (ko) 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법
CN112286533B (zh) 云端服务的热修复方法及装置
CN112231231B (zh) 云端服务的调试方法、系统及装置
CN106547606B (zh) 堆栈自检方法及装置
CN111078236A (zh) 一种软件自动安装方法、系统、电子设备及存储介质
CN112148271B (zh) 一种装配工艺代码自动生成与注入的方法
CN115202712A (zh) 应用管理方法、应用订阅方法及相关设备
CN114968198A (zh) 一种网站开发方法、系统及其存储介质
CN111427770B (zh) 一种资源测试方法及相关设备
CN114003486A (zh) 一种插件调试方法、客户端、服务器及存储介质
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN112667323A (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