一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多应用管理方法、装置及存储介质与流程

2022-11-30 10:52:04 来源:中国专利 TAG:


1.本技术涉及计算机信息处理技术领域,具体涉及一种多应用管理方法、装置及存储介质。


背景技术:

2.随着saas平台业务量的快速增长,对服务性能要求也越来越高,这时候会通过分布式和集群的方式解决遇到的性能瓶颈。在拆分分布式应用时,如何根据性能瓶颈精准、灵活的扩展是一个难题。
3.业务发展的瓶颈具有不确定性,多应用的管理具有复杂性。现有技术中比较通用的spring boot、spring cloud等技术需要在开发前就确定服务的功能范围,无法做到灵活装配,而且当所需拆分的应用较多时,管理维护的复杂度很高。


技术实现要素:

4.本技术实施例的目的在于提供一种多应用管理方法、装置及存储介质,用以解决现有技术中当需要拆分的应用较多时,多应用管理维护的复杂度高,无法做到灵活装配的问题。
5.为实现上述目的,本技术实施例提供一种多应用管理方法,包括步骤:按照预设方式新建应用模块,所述应用模块被标识为需要构建为对应的应用;
6.获取所述应用需要的依赖包功能模块;
7.读取所述依赖包功能模块,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的对应关系;
8.创建启动类,将所述应用的名称设置为所述启动类的启动参数,所述启动类用于根据所述应用的名称和所述对应关系获取对应的所述依赖包功能模块,并将所述依赖包功能模块添加到对应的所述应用启动的类路径中。
9.可选地,所述预设方式为构建工具的模块所采用的方式,所述构建工具为gradle工具。
10.可选地,标识所述应用模块为需要构建为对应的所述应用的方法包括:
11.在所述gradle工具的项目配置文件中通过变量标识所述应用模块需要构建为对应的所述应用。
12.可选地,获取所述应用需要的所述依赖包功能模块的方法包括:
13.将所述应用需要的所述依赖包功能模块按照构建工具框架的定义进行引入。
14.可选地,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系的方法包括:
15.根据所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息生成应用启动扫描文件,所述应用启动扫描文件用于记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系。
16.为实现上述目的,本技术还提供一种多应用管理装置,包括:存储器;以及
17.与所述存储器连接的处理器,所述处理器被配置成:
18.按照预设方式新建应用模块,所述应用模块被标识为需要构建为对应的应用;
19.获取所述应用需要的依赖包功能模块;
20.读取所述依赖包功能模块,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的对应关系;
21.创建启动类,将所述应用的名称设置为所述启动类的启动参数,所述启动类用于根据所述应用的名称和所述对应关系获取对应的所述依赖包功能模块,并将所述依赖包功能模块添加到对应的所述应用启动的类路径中。
22.可选地,所述处理器还被配置成:
23.所述预设方式为构建工具的模块所采用的方式,所述构建工具为gradle工具。
24.可选地,所述处理器还被配置成:
25.标识所述应用模块为需要构建为对应的所述应用的方法包括:
26.在所述gradle工具的项目配置文件中通过变量标识所述应用模块需要构建为对应的所述应用。
27.可选地,所述处理器还被配置成:
28.记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系的方法包括:
29.根据所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息生成应用启动扫描文件,所述应用启动扫描文件用于记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系。
30.为实现上述目的,本技术还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
31.本技术实施例具有如下优点:
32.1.本技术实施例提供一种多应用管理方法,包括步骤:按照预设方式新建应用模块,所述应用模块被标识为需要构建为对应的应用;获取所述应用需要的依赖包功能模块;读取所述依赖包功能模块,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的对应关系;创建启动类,将所述应用的名称设置为所述启动类的启动参数,所述启动类用于根据所述应用的名称和所述对应关系获取对应的所述依赖包功能模块,并将所述依赖包功能模块添加到对应的所述应用启动的类路径中。
33.通过上述方法,可以实现在已有功能模块基础上,根据现有业务性能瓶颈,在不修改功能代码,几乎没有开发工作量的前提下,整合组配出一个新的应用。在面对较大规模应用群时,可以统一打包构建多个应用,生成一套部署文件,在启动时,通过动态生成类路径加载不同应用所需依赖包功能模块,减少整体应用包体积,并直接实现依赖包功能模块的复用,从而降低多应用管理维护的复杂度,做到灵活装配。
附图说明
34.为了更清楚地说明本技术的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅
仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
35.图1为本技术实施例提供的一种多应用管理方法的流程图;
36.图2为本技术实施例提供的一种多应用管理装置的模块框图。
具体实施方式
37.以下由特定的具体实施例说明本技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本技术的其他优点及功效,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
38.此外,下面所描述的本技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
39.本技术一实施例提供一种多应用管理方法,参考图1,图1为本技术的一实施方式中提供的一种多应用管理方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本技术的范围在此方面不受限制。
40.在步骤101处,按照预设方式新建应用模块,所述应用模块被标识为需要构建为对应的应用。
41.在一些实施例中,所述预设方式为构建工具的模块所采用的方式,所述构建工具为gradle工具。
42.在一些实施例中,标识所述应用模块为需要构建为对应的所述应用的方法包括:
43.在所述gradle工具的项目配置文件中通过变量标识所述应用模块需要构建为对应的所述应用。
44.具体地,gradle是一个基于jvm的构建工具,是一款通用灵活的构建工具,支持maven,ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于groovy,build脚本使用groovy编写。在本实施例中,基于gradle来实现所述多应用管理方法,按照gradle官方模块方式新建应用模块,在所述gradle工具的项目配置文件(build.gradle)中通过isapplication变量标识当前应用模块需要构建为应用。isapplication变量用于在构建过程中标识,此应用模块代表一个应用,在启动加载时需要以它为入口解析依赖包,然后启动。
45.在步骤102处,获取所述应用需要的依赖包功能模块。
46.在一些实施例中,获取所述应用需要的所述依赖包功能模块的方法包括:
47.将所述应用需要的所述依赖包功能模块按照构建工具框架的定义进行引入。
48.具体地,将应用需要的依赖包功能模块按照正常方式引入,在一些实施例中,所述正常方式是指gradle框架的定义,这里主要指声明模块依赖。至此,需要打包构建的应用配置完成。接下来是打包过程。
49.在步骤103处,读取所述依赖包功能模块,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的对应关系。
50.在一些实施例中,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系的方法包括:
51.根据所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息生成应用启动扫描文件,所述应用启动扫描文件用于记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系。
52.具体地,打包构建时,需要读取当前工程中所有的依赖包功能模块,并将应用模块变量包含isapplication且值为true的进行单独处理,也就是获取其运行时的依赖包。然后将应用名称和依赖包功能模块(依赖jar的包)记录到应用启动扫描文件(bundle文件)中。最终生成的bundle文件格式如下:应用的名称或应用的依赖包功能模块的路径都单独占一行,应用以横杠加空格为前缀进行标识,后面跟应用名称;应用依赖包功能模块路径用两个空格做前缀进行标识,最终生成的bundle文件中可以包含一个或者多个应用描述文件。
53.在步骤104处,创建启动类,将所述应用的名称设置为所述启动类的启动参数,所述启动类用于根据所述应用的名称和所述对应关系获取对应的所述依赖包功能模块,并将所述依赖包功能模块添加到对应的所述应用启动的类路径中。
54.具体地,启动过程中每个应用需要将应用的名称作为启动参数传入启动类,启动类读取bundle文件,根据应用的名称获取应用需要的依赖包功能模块(模块jar包),并将这些依赖jar包添加到应用启动的类路径(classpath)中,最后通过java应用启动方式启动即可。
55.通过上述方法,可以根据业务功能瓶颈,灵活组配服务,以更加精准的方式扩展服务集群,并且能够集中化通过一套配置一份部署文件,管理多个应用,减少不必要的资源浪费;可以实现在已有功能模块基础上,根据现有业务性能瓶颈,在不修改功能代码,几乎没有开发工作量的前提下,整合组配出一个新的应用。在面对较大规模应用群时,可以统一打包构建多个应用,生成一套部署文件,在启动时,通过动态生成类路径加载不同应用所需依赖包功能模块,减少整体应用包体积,并直接实现依赖包功能模块的复用,从而降低多应用管理维护的复杂度,做到灵活装配。
56.图2为本技术实施例提供的一种多应用管理装置的模块框图。该装置包括:
57.存储器201;以及与所述存储器201连接的处理器202,所述处理器202被配置成:按照预设方式新建应用模块,所述应用模块被标识为需要构建为对应的应用;
58.获取所述应用需要的依赖包功能模块;
59.读取所述依赖包功能模块,记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的对应关系;
60.创建启动类,将所述应用的名称设置为所述启动类的启动参数,所述启动类用于根据所述应用的名称和所述对应关系获取对应的所述依赖包功能模块,并将所述依赖包功能模块添加到对应的所述应用启动的类路径中。
61.在一些实施例中,所述处理器202还被配置成:所述预设方式为构建工具的模块所采用的方式,所述构建工具为gradle工具。
62.在一些实施例中,所述处理器202还被配置成:标识所述应用模块为需要构建为对应的所述应用的方法包括:
63.在所述gradle工具的项目配置文件中通过变量标识所述应用模块需要构建为对应的所述应用。
64.在一些实施例中,所述处理器202还被配置成:获取所述应用需要的所述依赖包功
能模块的方法包括:
65.将所述应用需要的所述依赖包功能模块按照构建工具框架的定义进行引入。
66.在一些实施例中,所述处理器202还被配置成:记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系的方法包括:
67.根据所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息生成应用启动扫描文件,所述应用启动扫描文件用于记录所述应用的名称和所述应用对应的所述依赖包功能模块的路径信息之间的所述对应关系。
68.具体实现方法参考前述方法实施例,此处不再赘述。
69.本技术可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本技术的各个方面的计算机可读程序指令。
70.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
71.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
72.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
73.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/
或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
74.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
75.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
76.附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
77.注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
78.虽然,上文中已经用一般性说明及具体实施例对本技术作了详尽的描述,但在本技术基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本技术精神的基础上所做的这些修改或改进,均属于本技术要求保护的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献