CN109634655A - 基于热部署的变量配置方法、装置、电子设备、存储介质 - Google Patents

基于热部署的变量配置方法、装置、电子设备、存储介质 Download PDF

Info

Publication number
CN109634655A
CN109634655A CN201811507654.8A CN201811507654A CN109634655A CN 109634655 A CN109634655 A CN 109634655A CN 201811507654 A CN201811507654 A CN 201811507654A CN 109634655 A CN109634655 A CN 109634655A
Authority
CN
China
Prior art keywords
variable
reusable module
module
container
reusable
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
CN201811507654.8A
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.)
Jiangsu Manyun Software Technology Co Ltd
Original Assignee
Jiangsu Manyun Software 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 Jiangsu Manyun Software Technology Co Ltd filed Critical Jiangsu Manyun Software Technology Co Ltd
Priority to CN201811507654.8A priority Critical patent/CN109634655A/zh
Publication of CN109634655A publication Critical patent/CN109634655A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

本发明提供一种基于热部署的变量配置方法、装置、电子设备、存储介质,基于热部署的变量配置方法,包括:自一变量配置页面获得待配置变量数据的配置信息;将所述待配置变量数据的配置信息封装为待配置代码类;对所述待配置代码类进行预编译,并生成待配置字节码文件;将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。本发明提供方法及装置提高变量配置效率和系统稳定性。

Description

基于热部署的变量配置方法、装置、电子设备、存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于热部署的变量配置方法、装置、电子设备、存储介质。
背景技术
在风控场景中,风控策略需要频繁的更新调整,每次更新调整都需要依赖不同的业务数据,因此,风控系统通常需要频繁的修改代码、部署应用。
然而,现有技术通常通过编码、测试、停服务、部署应用上线的方式来应对风控策略的变更及各种业务需求,由此,导致服务的稳定性不高,存在交易丢失与异常等。由此可见,现有技术通过编码、测试、停服务、部署应用上线的方式明显不适合复杂多变的风控场景,且当参数配置太多时将难以维护,操作便捷性很差,容易出错。
发明内容
本发明为了克服上述相关技术存在的缺陷,提供一种基于热部署的变量配置方法、装置、电子设备、存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本发明的一个方面,提供一种基于热部署的变量配置方法,包括:
自一变量配置页面获得待配置变量数据的配置信息;
将所述待配置变量数据的配置信息封装为待配置代码类;
对所述待配置代码类进行预编译,并生成待配置字节码文件;
将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;
当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
可选地,所述对所述待配置代码类进行预编译,并生成待配置字节码文件的步骤之后,且所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤之前还包括:
计算所述待配置字节码文件的消息摘要值,所述消息摘要值用于对所述待配置字节码文件的状态进行管理。
可选地,所述待配置变量定时更新,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
确定本次更新的至少一待配置变量,将该至少一待配置变量的待配置字节码文件转换为待配置可重用组件,并将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。
可选地,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
根据本次更新的至少一待配置变量在前次更新时的上下文,将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。
可选地,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
当所述容器中存在与待配置变量相同变量名的可重用组件时,将所述待配置可重用组件替换该相同变量名的可重用组件。
可选地,所述代码类为Java代码类,所述可重用组件为JavaBean组件。
可选地,所述容器为spring容器。
根据本发明的又一方面,还提供一种基于热部署的变量配置装置,包括:
获取模块,自一变量配置页面获得待配置变量数据的配置信息;
封装模块,用于将所述待配置变量数据的配置信息封装为待配置代码类;
预编译模块,用于对所述待配置代码类进行预编译,并生成待配置字节码文件;
注入模块,用于将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;
提取模块,用于当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明的优势在于:
本发明通过提供变量配置页面,从而可以自变量配置页面获得待配置变量数据的配置信息,并可将该待配置变量数据的配置信息预编译转化为可重用组件后注入容器中,以便后续接收变量数据请求时,可以从容器中调用可重用组件,从而获得变量数据。由此,无需多次重复停服部署,相较于现有技术而言,具有便捷性、稳定性及准确性。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的基于热部署的变量配置方法的流程图。
图2示出了根据本发明实施例的基于热部署的变量配置装置的示意图。
图3示出了根据本发明具体实施例的基于热部署的变量配置方法的示意图。
图4示意性示出本发明示例性实施例中一种计算机可读存储介质示意图。
图5示意性示出本发明示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明实施例的基于热部署的变量配置方法的流程图。参考图1,所述基于热部署的变量配置方法包括如下步骤:
步骤S110:自一变量配置页面获得待配置变量数据的配置信息。
步骤S120:将所述待配置变量数据的配置信息封装为待配置代码类。
步骤S130:对所述待配置代码类进行预编译,并生成待配置字节码文件。
步骤S140:将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中。
步骤S150:当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
在本发明的示例性实施方式的基于热部署的变量配置方法中,通过提供变量配置页面,从而可以自变量配置页面获得待配置变量数据的配置信息,并可将该待配置变量数据的配置信息预编译转化为可重用组件后注入容器中,以便后续接收变量数据请求时,可以从容器中调用可重用组件,从而获得变量数据。由此,无需多次重复停服部署,相较于现有技术而言,具有便捷性、稳定性及准确性。
在本发明的各个实施例中,所述代码类可以是Java代码类。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。Java中的类表示Java中对象的模式。
在本发明的各个实施例中,所述可重用组件可以是JavaBean组件。JavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP(Java ServerPages,java服务器页面)页面、Servlet(小服务程序或服务连接器)、其他JavaBean、applet(采用Java编程语言编写的小应用程序)程序或者应用来使用这些对象。用户可以采用JavaBean,而不用关心任何改变。
在本发明的各个实施例中,所述容器可以是spring容器。Spring容器是Spring的核心,它可以创建对象,把他们关联在一起,配置各个对象,并管理每个对象的整个生命周期。Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件。
在本发明的各个实施例中,在上述步骤S120对所述待配置代码类进行预编译,并生成待配置字节码文件的步骤之后,且在所述步骤S130所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤之前还可以包括如下步骤:计算所述待配置字节码文件的消息摘要值,所述消息摘要值用于对所述待配置字节码文件的状态进行管理。具体而言,所述消息摘要值是可以采用md5算法来计算获得的md5值。md5值可以区分、验证各待配置字节码文件,从而对各待配置字节码文件进行数据落地或状态管理。
在本发明的各个实施例中,所述待配置变量可以按预定周期定时更新。在本实施例中,上述步骤S130所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤还可以包括如下步骤:确定本次更新的至少一待配置变量,将该至少一待配置变量的待配置字节码文件转换为待配置可重用组件,并将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。由此,每次更新实际上皆依赖于前次更新后的状态,从而能够依据本次更新和前次更新的差异本次更新的待配置变量。
在本发明的上述实施例中,上述步骤S130将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤还可以包括如下步骤:根据本次更新的至少一待配置变量在前次更新时的上下文,将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。本实施例中,所述的上下文可以指spring上下文,spring上下文用于指示spring容器中各可重用组件之间的协作关系,由此,可以通过spring上下文来实现待配置变量的精准注入。
在本发明的上述实施例中,上述步骤S130将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤还可以包括如下步骤:当所述容器中存在与待配置变量相同变量名的可重用组件时,将所述待配置可重用组件替换该相同变量名的可重用组件。除了增加变量的情况,本发明也可以实现变量替换的实现,由此,本发明可以避免相同变量名的多个可重用组件存在,从而避免后续调用出错的情况。
以上仅仅是示意性地描述了本发明的实时方式,本发明并非以此为限。
图2示出了根据本发明实施例的基于热部署的变量配置装置的示意图。基于热部署的变量配置装置200包括获取模块210、封装模块220、预编译模块230、注入模块240、提取模块250。
获取模块210用于自一变量配置页面获得待配置变量数据的配置信息;
封装模块220用于将所述待配置变量数据的配置信息封装为待配置代码类;
预编译模块230用于对所述待配置代码类进行预编译,并生成待配置字节码文件;
注入模块240用于将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;
提取模块250用于当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
在本发明的示例性实施方式的基于热部署的变量配置装置中,通过提供变量配置页面,从而可以自变量配置页面获得待配置变量数据的配置信息,并可将该待配置变量数据的配置信息预编译转化为可重用组件后注入容器中,以便后续接收变量数据请求时,可以从容器中调用可重用组件,从而获得变量数据。由此,无需多次重复停服部署,相较于现有技术而言,具有便捷性、稳定性及准确性。
图2仅仅是示意性的示出本发明提供的基于热部署的变量配置装置200,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。
下面参见图3,图3示出本发明的基于热部署的变量配置方法的一种具体实现。图3示出了配置引擎服务模块301和变量引擎服务模块302之间的交互。
首先,配置引擎服务模块301执行步骤S310,界面化变量配置,并由此可以获得用户在该界面中的待配置变量数据的配置信息。
配置引擎服务模块301执行步骤S320,将待配置变量数据的配置信息拼装生成Java代码类。
变量引擎服务模块302执行步骤S330,对配置引擎服务模块301在步骤S320中拼装生成的Java代码类进行预编译,并生成字节码。具体而言在本步骤中,变量引擎服务模块302可以响应于配置引擎服务模块301发送的Pigeon(分布式服务通信框架)请求,来对接收到的Java代码类进行预编译。
配置引擎服务模块301执行步骤S340,储存经由变量引擎服务模块302预编译生成的字节码及字节码的md5值。
然后,当变量引擎服务模块302执行步骤S350定时更新变量后,配置引擎服务模块301执行步骤S360,依据前次更新后的状态,确定本次更新的变量。具体而言,变量引擎服务模块302可以通过job程序定时拉取最新发布的变量信息。
然后,由变量引擎服务模块302将字节码转化为JavaBean,并通过spring上下文将JavaBean注入到spring容器中。由此,当系统接收外部请求变量数据时,变量引擎服务模块302可以根据入参中的变量名,从spring容器中获取相应JavaBean,通过反射机制执行其方法,获取变量数据。
以上仅仅是示意性地描述了本发明的实时方式,本发明并非以此为限。
由此,本发明各个实施例尤其适用于风控场景中,应对于复杂多变的风控场景,需要依赖多源头数据,灵活的变更风控策略。相比于以往系统中的业务代码累积,然后频繁部署应用,本发明可以通过变量配置,进行变量的热部署。在服务未重启的情况下将代码上线,应用更灵活,稳定性更高。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述基于热部署的变量配置方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述基于热部署的变量配置方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图4所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本发明的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述基于热部署的变量配置方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述基于热部署的变量配置方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图1所示的步骤。
所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述基于热部署的变量配置方法。
相比现有技术,本发明的优势在于:
本发明通过提供变量配置页面,从而可以自变量配置页面获得待配置变量数据的配置信息,并可将该待配置变量数据的配置信息预编译转化为可重用组件后注入容器中,以便后续接收变量数据请求时,可以从容器中调用可重用组件,从而获得变量数据。由此,无需多次重复停服部署,相较于现有技术而言,具有便捷性、稳定性及准确性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种基于热部署的变量配置方法,其特征在于,包括:
自一变量配置页面获得待配置变量数据的配置信息;
将所述待配置变量数据的配置信息封装为待配置代码类;
对所述待配置代码类进行预编译,并生成待配置字节码文件;
将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;
当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
2.如权利要求1所述的基于热部署的变量配置方法,其特征在于,所述对所述待配置代码类进行预编译,并生成待配置字节码文件的步骤之后,且所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤之前还包括:
计算所述待配置字节码文件的消息摘要值,所述消息摘要值用于对所述待配置字节码文件的状态进行管理。
3.如权利要求1所述的基于热部署的变量配置方法,其特征在于,所述待配置变量定时更新,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
确定本次更新的至少一待配置变量,将该至少一待配置变量的待配置字节码文件转换为待配置可重用组件,并将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。
4.如权利要求3所述的基于热部署的变量配置方法,其特征在于,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
根据本次更新的至少一待配置变量在前次更新时的上下文,将该至少一个待配置变量的所述待配置可重用组件关联所述待配置变量的变量名注入容器中。
5.如权利要求3所述的基于热部署的变量配置方法,其特征在于,所述将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中的步骤包括:
当所述容器中存在与待配置变量相同变量名的可重用组件时,将所述待配置可重用组件替换该相同变量名的可重用组件。
6.如权利要求1至5任一项所述的基于热部署的变量配置方法,其特征在于,所述代码类为Java代码类,所述可重用组件为JavaBean组件。
7.如权利要求1至5任一项所述的基于热部署的变量配置方法,其特征在于,所述容器为spring容器。
8.一种基于热部署的变量配置装置,其特征在于,包括:
获取模块,用于自一变量配置页面获得待配置变量数据的配置信息;
封装模块,用于将所述待配置变量数据的配置信息封装为待配置代码类;
预编译模块,用于对所述待配置代码类进行预编译,并生成待配置字节码文件;
注入模块,用于将所述待配置字节码文件转换为待配置可重用组件,并将所述待配置可重用组件关联所述待配置变量的变量名注入容器中;
提取模块,用于当获得变量数据请求时,根据所述变量数据请求中包含的变量名自所述容器中提取关联的可重用组件,并通过反射机制执行该可重用组件的方法获得所述变量数据。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的方法。
CN201811507654.8A 2018-12-10 2018-12-10 基于热部署的变量配置方法、装置、电子设备、存储介质 Pending CN109634655A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811507654.8A CN109634655A (zh) 2018-12-10 2018-12-10 基于热部署的变量配置方法、装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811507654.8A CN109634655A (zh) 2018-12-10 2018-12-10 基于热部署的变量配置方法、装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN109634655A true CN109634655A (zh) 2019-04-16

Family

ID=66072505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811507654.8A Pending CN109634655A (zh) 2018-12-10 2018-12-10 基于热部署的变量配置方法、装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN109634655A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471708A (zh) * 2019-07-12 2019-11-19 中国平安人寿保险股份有限公司 基于可重用组件的配置项获取的方法及装置
CN110995494A (zh) * 2019-12-10 2020-04-10 成都九洲电子信息系统股份有限公司 热部署包制作及利用热部署包对服务器进行升级的方法
CN115437683A (zh) * 2022-11-10 2022-12-06 平安银行股份有限公司 基于sdk的变量配置方法、装置及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172613A1 (en) * 2003-02-28 2004-09-02 Bea Systems, Inc. Dynamic code generation system
CN105389186A (zh) * 2015-11-20 2016-03-09 福建亿榕信息技术有限公司 一种Java应用的热部署方法及系统
CN108268289A (zh) * 2016-12-30 2018-07-10 阿里巴巴集团控股有限公司 web应用的参数配置方法、装置及系统
CN108733589A (zh) * 2018-04-12 2018-11-02 阿里巴巴集团控股有限公司 分布式事务热部署的实现方法和装置
CN108804119A (zh) * 2018-04-28 2018-11-13 北京金山云网络技术有限公司 配置更新方法、装置、系统、配置中心、应用节点及介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172613A1 (en) * 2003-02-28 2004-09-02 Bea Systems, Inc. Dynamic code generation system
CN105389186A (zh) * 2015-11-20 2016-03-09 福建亿榕信息技术有限公司 一种Java应用的热部署方法及系统
CN108268289A (zh) * 2016-12-30 2018-07-10 阿里巴巴集团控股有限公司 web应用的参数配置方法、装置及系统
CN108733589A (zh) * 2018-04-12 2018-11-02 阿里巴巴集团控股有限公司 分布式事务热部署的实现方法和装置
CN108804119A (zh) * 2018-04-28 2018-11-13 北京金山云网络技术有限公司 配置更新方法、装置、系统、配置中心、应用节点及介质
CN108958927A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 容器应用的部署方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
青岛英谷教育科技股份有限公司: "《云计算与大数据概论》", 31 August 2017 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471708A (zh) * 2019-07-12 2019-11-19 中国平安人寿保险股份有限公司 基于可重用组件的配置项获取的方法及装置
CN110471708B (zh) * 2019-07-12 2024-02-02 中国平安人寿保险股份有限公司 基于可重用组件的配置项获取的方法及装置
CN110995494A (zh) * 2019-12-10 2020-04-10 成都九洲电子信息系统股份有限公司 热部署包制作及利用热部署包对服务器进行升级的方法
CN115437683A (zh) * 2022-11-10 2022-12-06 平安银行股份有限公司 基于sdk的变量配置方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN107317730B (zh) 用于监控区块链节点状态的方法、设备和系统
CN109634655A (zh) 基于热部署的变量配置方法、装置、电子设备、存储介质
CN105022630B (zh) 一种组件管理系统及组件管理方法
US10635490B2 (en) Optimization of application workflow in mobile embedded devices
CN109697118A (zh) 流式计算任务管理方法、装置、电子设备及存储介质
CN108681900A (zh) 轻节点验证交易的方法
CN109614262A (zh) 业务校验方法、装置及计算机可读存储介质
US11175947B2 (en) Microservices change management and analytics
CN113741909B (zh) 微服务部署方法、装置、电子设备及存储介质
JP6389648B2 (ja) ライブ更新
CN108964993A (zh) 基于动态代理的故障模拟方法、装置、设备及可读存储介质
CN109672722A (zh) 数据部署方法及装置、计算机存储介质和电子设备
CN108563951A (zh) 病毒检测方法及装置
CN112631633A (zh) 基于双芯智能电表的功能模块升级方法和装置
CN103309779B (zh) 智能变电站二次设备状态检测方法
CN109947435A (zh) 服务器集群软件环境的部署方法及系统
CN109284126A (zh) 类库自动更新方法、装置、电子设备、存储介质
CN109858285B (zh) 区块链数据的处理方法、装置、设备和介质
CN114510262A (zh) 一种接口请求参数校验方法和装置
CN110442395A (zh) 产品配置数据的发布方法、装置、前端服务器及后端服务器
CN103677845A (zh) 一种网站应用部署方法
CN104281584A (zh) Xml数据库性能测试系统及方法
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
CN109669829A (zh) 一种基于bmc的诊断调试方法、装置及服务器
CN114881235A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190416

RJ01 Rejection of invention patent application after publication