CN111324359A - 插件部署方法及装置 - Google Patents

插件部署方法及装置 Download PDF

Info

Publication number
CN111324359A
CN111324359A CN202010124953.4A CN202010124953A CN111324359A CN 111324359 A CN111324359 A CN 111324359A CN 202010124953 A CN202010124953 A CN 202010124953A CN 111324359 A CN111324359 A CN 111324359A
Authority
CN
China
Prior art keywords
plug
processed
file
class
specified
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.)
Granted
Application number
CN202010124953.4A
Other languages
English (en)
Other versions
CN111324359B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010124953.4A priority Critical patent/CN111324359B/zh
Publication of CN111324359A publication Critical patent/CN111324359A/zh
Application granted granted Critical
Publication of CN111324359B publication Critical patent/CN111324359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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

Landscapes

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

Abstract

本说明书一个或多个实施例公开了一种插件部署方法及装置,用于实现插件的热部署及隔离机制,从而便于不同用户在互不干扰的情况下快速进行业务自动化联调和回归。所述方法应用于链路自动化平台,包括:基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包。对所述第一文件包进行预处理,得到所述待处理插件对应的类文件,将类文件存储至链路自动化平台的第一存储路径下。利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器。将所述类文件加载至所述目标类加载器中。

Description

插件部署方法及装置
技术领域
本说明书涉及通信及插件加载技术领域,尤其涉及一种插件部署方法及装置。
背景技术
随着物联网不断发展,终端的软件功能迭代越来越频繁,越来越容易出现差异化。在大型软件开发中,为了方便对软件进行功能扩展,以及发布软件功能的可定制性,往往采用插件式开发,将一个个功能封装在插件中实现。
现有技术中,用户希望能够在不影响插件运行的情况下实现插件的相关操作,如插件代码的更新、插件业务的联调、回归等,以减少插件重新启动的次数及编译时间,即实现插件的热部署。因此,插件的热部署机制成为当前非常重要的一个研究方向。
发明内容
一方面,本说明书一个或多个实施例提供一种插件部署方法,应用于链路自动化平台,包括:基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包,所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包,所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到,所述属性信息包括插件名称和/或分支名称。对所述第一文件包进行预处理,得到所述待处理插件对应的类文件。将所述类文件存储至所述链路自动化平台的第一存储路径下。利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器。将所述类文件加载至所述目标类加载器中。
另一方面,本说明书一个或多个实施例提供一种插件部署装置,应用于链路自动化平台,包括:下载模块,基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包,所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包,所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到,所述属性信息包括插件名称和/或分支名称。预处理模块,对所述第一文件包进行预处理,得到所述待处理插件对应的类文件。将所述类文件存储至所述链路自动化平台的第一存储路径下。扫描模块,利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件,所述各插件对应有各自的类加载器。第一加载模块,将所述类文件加载至所述目标类加载器中。
再一方面,本说明书一个或多个实施例提供一种插件部署设备,应用于链路自动化平台,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包,所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包,所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到,所述属性信息包括插件名称和/或分支名称。对所述第一文件包进行预处理,得到所述待处理插件对应的类文件。将所述类文件存储至所述链路自动化平台的第一存储路径下。利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器。将所述类文件加载至所述目标类加载器中。
再一方面,本说明书一个或多个实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包,所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包,所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到,所述属性信息包括插件名称和/或分支名称。对所述第一文件包进行预处理,得到所述待处理插件对应的类文件。将所述类文件存储至所述链路自动化平台的第一存储路径下。利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器。将所述类文件加载至所述目标类加载器中。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本说明书一实施例的一种插件部署系统的示意性架构图;
图2是根据本说明书一实施例的一种插件部署方法的示意性流程图;
图3是根据本说明书另一实施例的一种插件部署系统的示意性框图;
图4是根据本说明书另一实施例的一种插件部署方法的示意性流程图;
图5是根据本说明书一实施例的一种插件部署装置的示意性框图;
图6是根据本说明书一实施例的一种插件部署设备的示意性框图。
具体实施方式
本说明书一个或多个实施例提供一种插件部署方法及装置,用于实现插件的热部署及隔离机制,从而便于不同用户在互不干扰的情况下快速进行业务自动化联调和回归。
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个实施例保护的范围。
图1是根据本说明书一实施例的一种插件部署系统的示意性架构图。如图1所示,插件部署系统包括链路自动化平台110和指定存储服务器120。其中,链路自动化平台110如瓦力链路自动化平台,其设置于终端侧,如设置于图1所示的PC(Personal Computer,个人计算机)侧,用于对插件库中的各插件进行打包及部署。指定存储服务器120如OSS(ObjectStorage Service,对象存储)服务器,可对外提供海量、安全和高可靠的云存储服务,其设置于网络侧(如云端),用于存储链路自动化平台110打包并上传的插件文件。
图2是根据本说明书一实施例的一种插件部署方法的示意性流程图,如图2所示,该方法应用于如图1所示的链路自动化平台110。图2的方法可包括:
S202,基于插件库中的待处理插件的属性信息,从指定存储服务器中下载待处理插件对应的指定格式的第一文件包。
其中,待处理插件的属性信息可包括待处理插件的插件名称、分支名称等一项或多项信息。指定存储服务器用于存储插件库中各插件对应的指定格式的文件包,如OSS服务器。第一文件包由链路自动化平台110对待处理插件进行预设操作后得到。
S204,对第一文件包进行预处理,得到待处理插件对应的类文件,并将类文件存储至链路自动化平台的第一存储路径下。
其中,预处理与预设操作相对应。例如,若预设操作为压缩操作,则需进行解压预处理。
S206,利用待处理插件对应的目标类加载器扫描第一存储路径,以及根据扫描结果查找第一存储路径下的类文件。
S208,将查找到的类文件加载至目标类加载器中。
本实施例中,插件库中的各插件分别对应有唯一的插件名称,以使根据插件名称能够准确下载到插件对应的指定格式的文件包。
插件库中的各插件对应有各自的类加载器。各插件对应的类加载器可不同,也可相同或部分相同。若各插件对应的类加载器均不同,则通过各类加载器分别部署各插件后,能够实现对所有插件完全隔离的目的。若各插件对应的类加载器部分相同、部分不同,则通过各类加载器分别部署各插件后,能够实现对部分插件隔离的目的。
采用本说明书一个或多个实施例提供的技术方案,链路自动化平台通过从指定存储服务器中下载待处理插件对应的指定格式的第一文件包,并对第一文件进行预处理得到待处理插件对应的类文件,将类文件存储至链路自动化平台的第一存储路径下;进而利用待处理插件对应的目标类加载器扫描第一存储路径,以及根据扫描结果查找第一存储路径下的类文件;再将查找到的类文件加载至目标类加载器中。因此能够将不同插件部署至各自对应的类加载器中,从而实现各插件的上下文隔离,便于不同用户在互不干扰的情况下快速进行业务自动化联调和回归。此外,基于类加载器自身的特征——同一个类加载器不可加载两个同名的类、但不同的类加载器可加载同名的类,这使得基于类加载器部署插件后,用户需要对插件进行热替换时可使用新的类加载器加载新的类文件,从而实现了插件的热部署机制。
在一个实施例中,在部署插件之前,需要将插件库中的各插件进行预设操作,以使各插件对应的符合指定格式的文件包被存储于指定存储服务器中,从而便于后续的插件部署过程。
本实施例中,预设操作可包括编译操作和/或打包操作。基于此,可按照如下步骤A1-A4将各插件对应的指定格式的文件包存储至指定存储服务器中。
步骤A1,获取待处理插件的插件源文件。插件源文件即指按照链路自动化平台定义的源文件规范写入的GIT(分布式版本控制系统)源代码。
该步骤获取到的插件源文件会被存储于打包服务器上,并以插件名称命名。打包服务器指专门用于打包操作的应用服务器。
插件源文件在打包服务器中的存储名称格式在此不作限定,可选的,存储名称格式为:/home/admin/walle/<插件名称>。
步骤A2,对插件源文件进行编译操作,得到待处理插件对应的类文件。
该步骤中,可对插件源文件进行maven编译,以得到待处理插件对应的类文件。
步骤A3,按照指定格式对类文件进行打包,得到待处理插件对应的符合指定格式的第一文件包。
在一个实施例中,指定格式可以是jar格式,符合指定格式的第一文件包即为jar格式的压缩包。因此,执行步骤A3时,可对类文件进行打包,并将打包后的类文件压缩为jar格式的压缩包。
步骤A4,将第一文件包上传至指定存储服务器。
在一个实施例中,获取待处理插件的插件源文件(即步骤A1)之前,可清空本地存储的待处理插件对应的相关文件,该相关文件包括本次之前对待处理插件进行预设操作后得到的历史文件。预设操作可包括编译操作和/或打包操作。
本实施例中,通过将本地存储的待处理插件对应的相关文件清空,然后再获取待处理插件的插件源文件并对其进行编译打包,避免了待处理插件对应的相关文件(如编译过的旧文件)与本次的编译打包操作发生冲突,从而能够对插件源文件顺利地进行编译打包操作。
在一个实施例中,插件源文件采用java语言编写,则基于java注解原理,可在待处理插件对应的类文件中添加注解。因此,在利用待处理插件对应的目标类加载器扫描第一存储路径、并查找到第一存储路径下的类文件后,即可获知类文件中包含的注解。基于此,可通过以下方法将查找到的类文件加载至目标类加载器中:
首先,根据查找到的类文件中包含的注解,确定注解对应的关键字。
该步骤中,注解对应的关键字由一个或多个字符构成,其可以是注解的全部内容,也可以是从注解中提取出的部分内容。例如,注解内容包括“@version$Id:MspRenderKeyword.java,v 0.1”,则可从注解中提取出关键字“MspRender”。
其次,创建关键字对应的实例化名称。
该步骤中,可基于预先存储于链路自动化平台中的各关键字与实例化名称之间的对应关系,确定查找到的关键字所对应的实例化名称。假设在上述对应关系中,关键字“MspRender”对应的实例化名称为“支付组件”,则执行该步骤时可创建关键字“MspRender”对应的实例化名称“支付组件”。
再次,根据实例化名称对关键字进行实例化处理,以使类文件被加载至目标类加载器中。
该步骤中,对关键字进行实例化处理过程中,可实例化关键字对应的各项信息,如实例化名称(如“支付组件”)、关键字地址(如“移动支付”)、关键字类型(如“基础关键字”)、关键字描述(如“带交易号渲染”)、出参(如“MspRenderResult”)、创建人、可操作类型(如编辑、删除等)等信息。
本实施例中,在利用类加载器加载类文件过程中,能够根据类文件中包含的注解进行关键字扫描和加载,实现了关键字的实例化,使得链路自动化平台能够根据关键字对应的实例化名称识别解析到相应的关键字,从而进一步实现了基于类加载器部署插件的效果。
在一个实施例中,查找到待处理插件对应的类文件后,可获取待处理插件依赖的指定格式的第二文件包,然后将待处理插件对应的第一文件包与第二文件包一并加载至与待处理插件对应的目标类加载器中。其中,指定格式可以是jar格式,第一文件包与第二文件包的格式相同。
本实施例中,通过将待处理插件对应的第一文件包与其所依赖的第二文件包一并加载至与待处理插件对应的目标类加载器中,能够确保插件对应的文件包的完整性,从而确保插件的顺利运行。
在一个实施例中,待处理插件包括多个,即链路自动化平台需部署多个插件。首先需确定插件部署的最大阈值,该最大阈值用于标识链路自动化平台能够部署插件的最大数量;进而将各待处理插件对应的类文件分别加载至各待处理插件对应的类加载器中。其中,待处理插件的数量小于或等于链路自动化平台部署插件的最大阈值。
本实施例中,将各待处理插件对应的类文件分别加载至各待处理插件对应的类加载器中,可分别基于各待处理插件对应的类文件中包含的注解进行关键字加载。例如,链路自动化平台需同时部署第一插件及第二插件,其中,第一插件对应有类文件A,第二插件对应有类文件B,则在进行插件部署时,首先分别确定类文件A中包含的注解对应的关键字a,以及类文件B中包含的注解对应的关键字b,然后基于链路自动化平台中预存的各关键字与实例化名称之间的对应关系,分别确定关键字a与关键字b对应的实例化名称。假设在上述对应关系中,关键字a对应实例化名称“支付组件”,关键字b对应实例化名称“移动组件”,则可分别基于关键字a与关键字b对应的实例化名称对关键字a与关键字b进行实例化处理,使类文件A与类文件B分别被加载至各自对应的类加载器中,从而完成第一插件及第二插件的部署。
本实施例中,通过将各待处理插件对应的类文件分别加载至各待处理插件对应的类加载器中,实现了链路自动化平台的集群部署能力。
此外,链路自动化平台还可向网络侧上报其部署插件的最大阈值,以使网络侧能够基于该最大阈值确定是否向链路自动化平台下发插件源代码。
图3是根据本说明书另一实施例的一种插件部署系统的示意性框图。如图3所示,插件部署系统包括位于PC310端的瓦力链路自动化平台320、以及位于网络侧330的OSS服务器340。其中,瓦力链路自动化平台320包括插件打包模块321及插件部署模块322,插件打包模块321用于打包插件,插件部署模块322用于部署插件。
图4是根据本说明书另一实施例的一种插件部署方法的示意性流程图,如图4所示,该方法应用于如图3所示的瓦力链路自动化平台320。图4的方法可包括:
S401,从网络侧获取待处理插件的插件源文件,并清空本地存储的与待处理插件对应的相关文件。
其中,待处理插件对应的相关文件包括本次之前对待处理插件进行编译、打包操作后得到的历史文件。插件源文件采用java语言编写。
S402,对插件源文件进行编译及打包操作,得到待处理插件对应的jar格式的压缩包。
该步骤中,可对插件源文件进行maven编译,以得到待处理插件对应的类文件,进而将打包后的类文件压缩为jar格式的压缩包。
例如,采用指令mvn-U clean package进行编码及打包操作。其中,mvn参数用于对插件源文件进行编译。-U参数是为了强制刷新本地的maven仓库,以避免编译打包时优先选择本地maven仓库中缓存的文件包。clean参数用于清空本地存储的与待处理插件对应的相关文件。package参数用于打包编译后的类文件,以得到jar格式的压缩包。
S403,将待处理插件对应的jar格式的压缩包上传至OSS服务器。
S404,基于待处理插件的插件名称及分支名称,从OSS服务器中下载待处理插件对应的jar格式的压缩包。
S405,对下载得到的jar格式的压缩包进行解压,得到待处理插件对应的类文件。
S406,利用待处理插件对应的目标类加载器扫描类文件对应的第一存储路径,以及根据扫描结果查找第一存储路径下的类文件。
其中,各插件对应有各自的类加载器。类文件中包含有注解。
S407,确定查找到的类文件中包含的注解对应的关键字。
其中,可基于预先存储于链路自动化平台中的各关键字与实例化名称之间的对应关系,确定查找到的关键字所对应的实例化名称。
S408,创建关键字对应的实例化名称,并根据实例化名称对关键字进行实例化处理,以使类文件被加载至待处理插件对应的目标类加载器中。
该步骤中,对关键字进行实例化处理过程中,可实例化关键字对应的各项信息,如实例化名称、关键字地址、关键字类型、关键字描述、出参、创建人、可操作类型等信息。
本实施例中,S401至S403为瓦力链路自动化平台320对插件的打包过程。S404至S408为瓦力链路自动化平台320对插件的部署过程。
可见,本实施例中,瓦力链路自动化平台能够将不同插件部署至各自对应的类加载器中,从而实现各插件的上下文隔离,便于不同用户在互不干扰的情况下快速进行业务自动化联调和回归。此外,基于类加载器自身的特征——同一个类加载器不可加载两个同名的类、但不同的类加载器可加载同名的类,这使得基于类加载器部署插件后,用户需要对插件进行热替换时可使用新的类加载器加载新的类文件,从而实现了插件的热部署机制。再者,通过根据类文件中包含的注解进行关键字扫描和加载,实现了关键字的实例化,使得链路自动化平台能够根据关键字对应的实例化名称识别解析到相应的关键字,从而进一步实现了基于类加载器部署插件的效果。
并且,本实施例将插件打包和插件部署功能集成在同一平台——位于PC侧的瓦力链路自动化平台中,使得上述插件部署机制能够作为一种可移植的能力通过云端提供给用户,从而便于用户简单快捷地在终端侧实现插件隔离及热部署。
综上,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
以上为本说明书一个或多个实施例提供的插件部署方法,基于同样的思路,本说明书一个或多个实施例还提供一种插件部署装置。
图5是根据本说明书一实施例的一种插件部署装置的示意性框图。如图5所示,插件部署装置应用于链路自动化平台,包括:
下载模块510,基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
预处理模块520,对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
扫描及查找模块530,利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
第一加载模块540,将所述类文件加载至所述目标类加载器中。
在一个实施例中,所述类文件内包含注解;
所述第一加载模块540包括:
确定单元,根据查找到的所述类文件中包含的所述注解,确定所述注解对应的关键字;
创建单元,创建所述关键字对应的实例化名称;
实例化单元,根据所述实例化名称对所述关键字进行实例化处理,以使所述类文件被加载至所述目标类加载器中。
在一个实施例中,所述装置还包括:
第一获取模块,在所述将所述类文件加载至与所述待处理插件对应的目标类加载器中之前,获取所述待处理插件依赖的所述指定格式的第二文件包;
所述第一加载模块包括:
加载单元,将所述第一文件包与所述第二文件包加载至与所述待处理插件对应的所述目标类加载器中。
在一个实施例中,所述预设操作包括编译操作和/或打包操作;所述装置还包括:
第二获取模块,在所述从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包之前,获取所述待处理插件的插件源文件;
编译模块,对所述插件源文件进行编译操作,得到所述待处理插件对应的类文件;
打包模块,按照所述指定格式对所述类文件进行打包,得到所述待处理插件对应的符合所述指定格式的所述第一文件包;
上传模块,将所述第一文件包上传至所述指定存储服务器。
在一个实施例中,所述装置还包括:
清空模块,在所述获取所述待处理插件的插件源文件之前,清空本地存储的所述待处理插件对应的相关文件;所述相关文件包括本次之前对所述待处理插件进行所述预设操作后得到的历史文件。
在一个实施例中,所述指定格式为jar格式;所述打包模块包括:
打包单元,对所述类文件进行打包,并将打包后的所述类文件压缩为所述jar格式的压缩包。
在一个实施例中,所述待处理插件包括多个;所述装置还包括:
确定模块,确定插件部署的最大阈值;所述最大阈值用于标识所述链路自动化平台部署插件的最大数量;
第二加载模块,将各所述待处理插件对应的类文件分别加载至各所述待处理插件对应的类加载器中;所述待处理插件的数量小于或等于所述最大阈值。
采用本说明书一个或多个实施例提供的装置,链路自动化平台通过从指定存储服务器中下载待处理插件对应的指定格式的第一文件包,并对第一文件进行预处理得到待处理插件对应的类文件,将类文件存储至链路自动化平台的第一存储路径下;进而利用待处理插件对应的目标类加载器扫描第一存储路径,以及根据扫描结果查找第一存储路径下的类文件;再将查找到的类文件加载至目标类加载器中。因此能够将不同插件部署至各自对应的类加载器中,从而实现各插件的上下文隔离,便于不同用户在互不干扰的情况下快速进行业务自动化联调和回归。此外,基于类加载器自身的特征——同一个类加载器不可加载两个同名的类、但不同的类加载器可加载同名的类,这使得基于类加载器部署插件后,用户需要对插件进行热替换时可使用新的类加载器加载新的类文件,从而实现了插件的热部署机制。
本领域的技术人员应可理解,上述插件部署装置能够用来实现前文所述的插件部署方法,其中的细节描述应与前文方法部分描述类似,为避免繁琐,此处不另赘述。
基于同样的思路,本说明书一个或多个实施例还提供一种插件部署设备,如图6所示。插件部署设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对插件部署设备中的一系列计算机可执行指令。更进一步地,处理器601可以设置为与存储器602通信,在插件部署设备上执行存储器602中的一系列计算机可执行指令。插件部署设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606。
具体在本实施例中,插件部署设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对插件部署设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
将所述类文件加载至所述目标类加载器中。
可选地,所述类文件内包含注解;计算机可执行指令在被执行时,还可以使所述处理器:
根据查找到的所述类文件中包含的所述注解,确定所述注解对应的关键字;
创建所述关键字对应的实例化名称;
根据所述实例化名称对所述关键字进行实例化处理,以使所述类文件被加载至所述目标类加载器中。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
所述将所述类文件加载至与所述待处理插件对应的目标类加载器中之前,获取所述待处理插件依赖的所述指定格式的第二文件包;
所述将所述类文件加载至与所述待处理插件对应的目标类加载器中,包括:
将所述第一文件包与所述第二文件包加载至与所述待处理插件对应的所述目标类加载器中。
可选地,所述预设操作包括编译操作和/或打包操作;
计算机可执行指令在被执行时,还可以使所述处理器:
所述从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包之前,获取所述待处理插件的插件源文件;
对所述插件源文件进行编译操作,得到所述待处理插件对应的类文件;
按照所述指定格式对所述类文件进行打包,得到所述待处理插件对应的符合所述指定格式的所述第一文件包;
将所述第一文件包上传至所述指定存储服务器。
可选地,计算机可执行指令在被执行时,还可以使所述处理器:
所述获取所述待处理插件的插件源文件之前,清空本地存储的所述待处理插件对应的相关文件;所述相关文件包括本次之前对所述待处理插件进行所述预设操作后得到的历史文件。
可选地,所述指定格式为jar格式;
计算机可执行指令在被执行时,还可以使所述处理器:
对所述类文件进行打包,并将打包后的所述类文件压缩为所述jar格式的压缩包。
可选地,所述待处理插件包括多个;
计算机可执行指令在被执行时,还可以使所述处理器:
确定插件部署的最大阈值;所述最大阈值用于标识所述链路自动化平台部署插件的最大数量;
将各所述待处理插件对应的类文件分别加载至各所述待处理插件对应的类加载器中;所述待处理插件的数量小于或等于所述最大阈值。
本说明书一个或多个实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行上述插件部署方法,并具体用于执行:
基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
将所述类文件加载至所述目标类加载器中。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。

Claims (13)

1.一种插件部署方法,应用于链路自动化平台,包括:
基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
将所述类文件加载至所述目标类加载器中。
2.根据权利要求1所述的方法,所述类文件内包含注解;所述将所述类文件加载至所述目标类加载器中,包括:
根据查找到的所述类文件中包含的所述注解,确定所述注解对应的关键字;
创建所述关键字对应的实例化名称;
根据所述实例化名称对所述关键字进行实例化处理,以使所述类文件被加载至所述目标类加载器中。
3.根据权利要求1所述的方法,所述将所述类文件加载至与所述待处理插件对应的目标类加载器中之前,还包括:
获取所述待处理插件依赖的所述指定格式的第二文件包;
所述将所述类文件加载至与所述待处理插件对应的目标类加载器中,包括:
将所述第一文件包与所述第二文件包加载至与所述待处理插件对应的所述目标类加载器中。
4.根据权利要求1所述的方法,所述预设操作包括编译操作和/或打包操作;
所述从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包之前,还包括:
获取所述待处理插件的插件源文件;
对所述插件源文件进行编译操作,得到所述待处理插件对应的类文件;
按照所述指定格式对所述类文件进行打包,得到所述待处理插件对应的符合所述指定格式的所述第一文件包;
将所述第一文件包上传至所述指定存储服务器。
5.根据权利要求4所述的方法,所述获取所述待处理插件的插件源文件之前,还包括:
清空本地存储的所述待处理插件对应的相关文件;所述相关文件包括本次之前对所述待处理插件进行所述预设操作后得到的历史文件。
6.根据权利要求4所述的方法,所述指定格式为jar格式;
所述按照所述指定格式对所述类文件进行打包,得到所述待处理插件对应的符合所述指定格式的所述第一文件包,包括:
对所述类文件进行打包,并将打包后的所述类文件压缩为所述jar格式的压缩包。
7.根据权利要求1所述的方法,所述待处理插件包括多个;所述方法还包括:
确定插件部署的最大阈值;所述最大阈值用于标识所述链路自动化平台部署插件的最大数量;
将各所述待处理插件对应的类文件分别加载至各所述待处理插件对应的类加载器中;所述待处理插件的数量小于或等于所述最大阈值。
8.一种插件部署装置,应用于链路自动化平台,包括:
下载模块,基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
预处理模块,对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
扫描及查找模块,利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
第一加载模块,将所述类文件加载至所述目标类加载器中。
9.根据权利要求8所述的装置,所述类文件内包含注解;
所述第一加载模块包括:
确定单元,根据查找到的所述类文件中包含的所述注解,确定所述注解对应的关键字;
创建单元,创建所述关键字对应的实例化名称;
实例化单元,根据所述实例化名称对所述关键字进行实例化处理,以使所述类文件被加载至所述目标类加载器中。
10.根据权利要求8所述的装置,还包括:
第一获取模块,在所述将所述类文件加载至与所述待处理插件对应的目标类加载器中之前,获取所述待处理插件依赖的所述指定格式的第二文件包;
所述第一加载模块包括:
加载单元,将所述第一文件包与所述第二文件包加载至与所述待处理插件对应的所述目标类加载器中。
11.根据权利要求8所述的装置,所述待处理插件包括多个;所述装置还包括:
确定模块,确定插件部署的最大阈值;所述最大阈值用于标识所述链路自动化平台部署插件的最大数量;
第二加载模块,将各所述待处理插件对应的类文件分别加载至各所述待处理插件对应的类加载器中;所述待处理插件的数量小于或等于所述最大阈值。
12.一种插件部署设备,应用于链路自动化平台,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
将所述类文件加载至所述目标类加载器中。
13.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
基于插件库中的待处理插件的属性信息,从指定存储服务器中下载所述待处理插件对应的指定格式的第一文件包;所述指定存储服务器用于存储所述插件库中各插件对应的所述指定格式的文件包;所述第一文件包由所述链路自动化平台对所述待处理插件进行预设操作后得到;所述属性信息包括插件名称和/或分支名称;
对所述第一文件包进行预处理,得到所述待处理插件对应的类文件;将所述类文件存储至所述链路自动化平台的第一存储路径下;
利用所述待处理插件对应的目标类加载器扫描所述第一存储路径,以及根据扫描结果查找所述第一存储路径下的所述类文件;所述各插件对应有各自的类加载器;
将所述类文件加载至所述目标类加载器中。
CN202010124953.4A 2020-02-27 2020-02-27 插件部署方法及装置 Active CN111324359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010124953.4A CN111324359B (zh) 2020-02-27 2020-02-27 插件部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010124953.4A CN111324359B (zh) 2020-02-27 2020-02-27 插件部署方法及装置

Publications (2)

Publication Number Publication Date
CN111324359A true CN111324359A (zh) 2020-06-23
CN111324359B CN111324359B (zh) 2022-04-29

Family

ID=71171159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010124953.4A Active CN111324359B (zh) 2020-02-27 2020-02-27 插件部署方法及装置

Country Status (1)

Country Link
CN (1) CN111324359B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445543A (zh) * 2020-11-26 2021-03-05 杭州趣链科技有限公司 智能合约的类调用方法、装置及电子设备
CN112527337A (zh) * 2020-12-30 2021-03-19 成都四方伟业软件股份有限公司 一种基于插件式异构数据源热插拔加载引擎方法及装置
CN112559085A (zh) * 2020-12-23 2021-03-26 苏州三六零智能安全科技有限公司 物联网设备的插件加载方法、设备、存储介质及装置
CN112783515A (zh) * 2021-02-08 2021-05-11 腾讯科技(深圳)有限公司 插件的控制方法和装置、存储介质
CN115473799A (zh) * 2022-06-27 2022-12-13 中电云数智科技有限公司 一种自动部署虚拟机微服务应用的系统和方法
CN116974653A (zh) * 2023-09-21 2023-10-31 阿里云计算有限公司 类加载方法及系统
CN117093286A (zh) * 2023-10-17 2023-11-21 腾讯科技(深圳)有限公司 插件生成方法、装置、设备及计算机可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060698A1 (en) * 2003-09-11 2005-03-17 International Business Machines Corporation Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy
CN101446903A (zh) * 2008-12-19 2009-06-03 北京大学 构件自动分类的方法
CN104102502A (zh) * 2013-04-09 2014-10-15 腾讯科技(深圳)有限公司 一种实现热部署的处理方法、装置及服务器
CN105717390A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于云平台的智能变电站测试平台及测试方法
WO2017071494A1 (zh) * 2015-10-26 2017-05-04 阿里巴巴集团控股有限公司 一种应用部署方法和装置
CN106909409A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种运行应用程序的apk插件的方法及装置
CN109857444A (zh) * 2019-01-03 2019-06-07 上海拉扎斯信息科技有限公司 应用程序的更新方法、装置、电子设备和可读存储介质
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110308945A (zh) * 2019-05-22 2019-10-08 百度在线网络技术(北京)有限公司 插件的动态加载方法和装置
CN110308900A (zh) * 2019-06-27 2019-10-08 广州华多网络科技有限公司 页面路由文档的生成方法、装置、计算机设备及存储介质
CN110716720A (zh) * 2018-07-12 2020-01-21 北京京东尚科信息技术有限公司 一种实现应用热部署的方法和装置
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060698A1 (en) * 2003-09-11 2005-03-17 International Business Machines Corporation Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy
CN101446903A (zh) * 2008-12-19 2009-06-03 北京大学 构件自动分类的方法
CN104102502A (zh) * 2013-04-09 2014-10-15 腾讯科技(深圳)有限公司 一种实现热部署的处理方法、装置及服务器
WO2017071494A1 (zh) * 2015-10-26 2017-05-04 阿里巴巴集团控股有限公司 一种应用部署方法和装置
CN106909409A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种运行应用程序的apk插件的方法及装置
CN105717390A (zh) * 2016-01-28 2016-06-29 东南大学 一种基于云平台的智能变电站测试平台及测试方法
CN110716720A (zh) * 2018-07-12 2020-01-21 北京京东尚科信息技术有限公司 一种实现应用热部署的方法和装置
CN109857444A (zh) * 2019-01-03 2019-06-07 上海拉扎斯信息科技有限公司 应用程序的更新方法、装置、电子设备和可读存储介质
CN110069264A (zh) * 2019-03-21 2019-07-30 平安普惠企业管理有限公司 构建资源包的方法、装置、计算机设备和存储介质
CN110308945A (zh) * 2019-05-22 2019-10-08 百度在线网络技术(北京)有限公司 插件的动态加载方法和装置
CN110308900A (zh) * 2019-06-27 2019-10-08 广州华多网络科技有限公司 页面路由文档的生成方法、装置、计算机设备及存储介质
CN110795646A (zh) * 2019-09-30 2020-02-14 北京奇艺世纪科技有限公司 请求处理方法、装置、电子设备和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黎升洪: "特性和反射", 《函数式F#语言程序设计》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445543A (zh) * 2020-11-26 2021-03-05 杭州趣链科技有限公司 智能合约的类调用方法、装置及电子设备
CN112559085A (zh) * 2020-12-23 2021-03-26 苏州三六零智能安全科技有限公司 物联网设备的插件加载方法、设备、存储介质及装置
CN112559085B (zh) * 2020-12-23 2022-11-04 苏州三六零智能安全科技有限公司 物联网设备的插件加载方法、设备、存储介质及装置
CN112527337A (zh) * 2020-12-30 2021-03-19 成都四方伟业软件股份有限公司 一种基于插件式异构数据源热插拔加载引擎方法及装置
CN112783515A (zh) * 2021-02-08 2021-05-11 腾讯科技(深圳)有限公司 插件的控制方法和装置、存储介质
CN112783515B (zh) * 2021-02-08 2023-08-25 腾讯科技(深圳)有限公司 插件的控制方法和装置、存储介质
CN115473799A (zh) * 2022-06-27 2022-12-13 中电云数智科技有限公司 一种自动部署虚拟机微服务应用的系统和方法
CN115473799B (zh) * 2022-06-27 2023-08-15 中电云数智科技有限公司 一种自动部署虚拟机微服务应用的系统和方法
CN116974653A (zh) * 2023-09-21 2023-10-31 阿里云计算有限公司 类加载方法及系统
CN116974653B (zh) * 2023-09-21 2024-01-09 阿里云计算有限公司 类加载方法及系统
CN117093286A (zh) * 2023-10-17 2023-11-21 腾讯科技(深圳)有限公司 插件生成方法、装置、设备及计算机可读存储介质
CN117093286B (zh) * 2023-10-17 2024-01-12 腾讯科技(深圳)有限公司 插件生成方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111324359B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN111324359B (zh) 插件部署方法及装置
CN109491695B (zh) 一种集成安卓应用的增量更新方法
CN109032662B (zh) 代码文件生成方法、装置、计算机设备和存储介质
CN111176717B (zh) 生成安装包的方法、装置及电子设备
CN108563440B (zh) 列表控制器代码自动添加方法、装置及可读存储介质
CN112417461A (zh) 设备固件的模糊测试方法及系统
CN112965720A (zh) 一种组件编译方法、装置、设备及计算机可读存储介质
CN111932207A (zh) 项目数据处理方法、装置、计算机设备和存储介质
CN112451972A (zh) 基于游戏引擎的资源压缩包构建方法、装置、系统及介质
CN108628632B (zh) 一种打包方法及装置
CN112286543B (zh) 一种应用服务部署方法及装置
CN111443944B (zh) 一种程序构建方法、装置及设备
CN108536444B (zh) 插件编译方法、装置、计算机设备和存储介质
CN111767417A (zh) 应用图片的管理方法、装置、设备及存储介质
CN114253587A (zh) 应用程序更新方法、装置、电子设备及可读存储介质
CN110502251B (zh) 应用安装方法及装置
CN115237631A (zh) 一种基于数据共享插件的易扩展式数据共享系统及方法
CN112181798B (zh) 数据记录方法及装置
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
CN114840822A (zh) 代码保护方法、装置、设备及存储介质
CN114090070A (zh) 应用程序安装包文件处理方法及电子设备
CN114398073A (zh) 基于rn的应用更新方法及装置
CN111367512B (zh) 一种应用程序开发中创建Android库模块依赖关系的方法及装置
CN114911490A (zh) Ios安装包的处理方法、装置、存储介质及电子设备
CN115543486B (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