CN110704041A - 软件开发方法及装置 - Google Patents
软件开发方法及装置 Download PDFInfo
- Publication number
- CN110704041A CN110704041A CN201910958670.7A CN201910958670A CN110704041A CN 110704041 A CN110704041 A CN 110704041A CN 201910958670 A CN201910958670 A CN 201910958670A CN 110704041 A CN110704041 A CN 110704041A
- Authority
- CN
- China
- Prior art keywords
- variable
- software
- configuration file
- target
- development
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的软件开发方法及装置,将操作系统中存储的变量,例如环境变量、Host文件,以配置文件的形式存储至正在开发的软件中。当正在开发的软件启动后,首先从正在开发的软件中获取变量配置文件,并解析该变量配置文件获得目标变量。在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以保证软件开发平台能够利用最新加载的目标变量继续运行。该装置将系统变量存储至正在开发的软件的变量配置文件中,从而实现正在开发的软件与软件开发平台的操作系统解耦分离,因此,在软件开发过程中无需开发人员在软件开发平台上手动调整系统变量,无需重启操作系统。极大地缩短了软件系统的开发时间,提高了软件开发速度。
Description
技术领域
本发明属于计算机技术领域,尤其涉及软件方法及装置。
背景技术
在软件的开发周期内,在不同环境如,开发、测试、生产等,同一参数的配置可能存在差异,此种场景下通常采用环境变量存储这些参数。这就需要在不同的环境上配置不同的环境变量,以确保该参数在不同环境下被配置的参数信息不同。
另外,目前的软件项目通常按照业务拆分为大量独立的服务,服务之间能够相互访问。通常,一个服务对应一个域名,每个域名指向对应的服务器IP地址。Host文件是域名解析服务文件,其存储有域名与IP地址的映射关系。因此,这种架构开发得到的软件项目通常需要维护大量的Host文件。
而环境变量和Host文件通常作为操作系统的文件进行存储,因此,对于依赖于多个环境变量和大量Host文件的软件项目而言,在软件项目开发过程中,可能会频繁调整环境变量和Host文件。目前,修改环境变量和修改Host文件都是手动调整,而且,由于环境变量和Host文件都存储在操作系统中,所以每次对环境变量或Host文件进行调整都需要重启操作系统才能生效,调整过程繁琐且耗时长。
发明内容
有鉴于此,本发明的目的在于提供软件开发方法及装置,解决目前的软件项目对操作系统的依赖,实现软件项目与操作系统解耦分离,其具体的技术方案如下:
第一方面,本发明提供了一种软件开发方法,应用于软件开发平台中,所述方法包括:
获取正在开发的软件中存储的变量配置文件,该变量配置文件包括环境变量配置文件和域名解析Host配置文件中的至少一种;
解析所述变量配置文件获得目标变量,所述目标变量包括环境变量和Host文件中的至少一种;
在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
可选地,所述解析所述变量配置文件获得目标变量,包括:
解析所述变量配置文件中存储的变量对应的变量名及变量值,所述目标变量包括所述变量名和所述变量值。
可选地,所述变量配置文件以key-value数据结构存储所述目标变量;
所述解析所述变量配置文件中存储的变量对应的变量名及变量值,包括:
解析所述变量配置文件内key字段存储的内容得到变量名称;
解析所述变量配置文件内value字段存储的内容得到变量值。
可选地,所述在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行,包括:
在所述正在开发的软件处于运行状态时,利用JAVA反射机制获取解析得到的目标变量;
利用预设插件将获得的目标变量加载至所述运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
可选地,所述预设插件为Plugin插件。
第二方面,本发明提供了一种软件开发装置,应用于软件开发平台中,所述装置包括:
获取模块,用于获取正在开发的软件中存储的变量配置文件,该变量配置文件包括环境变量配置文件和域名解析Host配置文件中的至少一种;
解析模块,用于解析所述变量配置文件获得目标变量,所述目标变量包括环境变量和Host文件中的至少一种;
加载模块,用于在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
可选地,所述解析模块具体用于:
解析所述变量配置文件中存储的变量对应的变量名及变量值,所述目标变量包括所述变量名和所述变量值。
可选地,所述变量配置文件以key-value数据结构存储所述目标变量;
所述解析模块具体用于解析所述变量配置文件中存储的变量对应的变量名及变量值时,包括:
第一解析子模块,用于解析所述变量配置文件内key字段存储的内容得到变量名称;
第二解析子模块,用于解析所述变量配置文件内value字段存储的内容得到变量值。
可选地,所述加载模块包括:
获取子模块,用于在所述正在开发的软件处于运行状态时,利用JAVA反射机制获取解析得到的目标变量;
加载子模块,用于利用预设插件将获得的目标变量加载至所述运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
可选地,所述预设插件为Plugin插件。
本发明提供的软件开发方法,将操作系统中存储的变量,例如环境变量、Host文件,以配置文件的形式存储至正在开发的软件中。当正在开发的软件启动后,首先从正在开发的软件中获取变量配置文件,并解析该变量配置文件获得目标变量。在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以保证软件开发平台能够利用最新加载的目标变量继续运行。该方法将系统变量存储至正在开发的软件的变量配置文件中,从而实现正在开发的软件与软件开发平台的操作系统解耦分离,因此,在软件开发过程中无需开发人员在软件开发平台上手动调整系统变量,无需重启操作系统。极大地缩短了软件系统的开发时间,提高了软件开发速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种软件开发系统的系统构架示意图;
图2是本发明实施例提供的一种软件开发方法的流程示意图;
图3是本发明实施例提供的另一种软件开发方法的流程示意图;
图4是本发明实施例提供的一种软件开发装置的框图;
图5是本发明实施例提供的一种解析模块的框图;
图6是本发明实施例提供的一种加载模块的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本发明实施例提供的软件开发系统的系统构架示意图,该系统包括处于底层的操作系统,以及处于操作系统之上的运行环境。图1中的一个应用系统即软件中的一个服务,每个应用系统实现不同的功能,且多个应用系统之间能够相互访问。
开发人员根据软件开发平台上操作系统配置的系统变量(如环境变量和Host文件等)按照预设数据结构存入变量配置文件中。当需要调整这些系统变量时,只需修改变量配置文件中的相关系统变量。不需要手动去修改软件开发平台内操作系统中的系统变量。从而实现软件项目与操作系统的解耦分离。
当正在开发的软件启动时,会先获取变量配置文件,并解析该变量配置文件得到相应的变量。然后,将解析得到的变量加载至软件开发平台的运行环境中,以保证正在开发的软件能够依据最新加载的变量继续运行。因此,调整环境变量或Host文件时,不需要手动调整且不需要重启操作系统,极大地缩短了软件系统的开发时间,提高了软件开发速度。
请参见图2,示出了本发明实施例提供的一种软件开发方法的流程图,该方法应用于软件开发平台中,该方法包括以下步骤:
S110,获取正在开发的软件中存储的变量配置文件。
在本发明的一个实施例中,开发人员根据软件开发平台上操作系统配置的系统变量(或其它配置信息),并将系统变量(或其它配置信息)按照预设数据结构存入变量配置文件中。
例如,系统变量可以是环境变量Env,对应的变量配置文件为Env.conf;其它配置信息可以是Host文件,对应的变量配置文件为Host.conf。
当然,在其它实施例中,系统变量还可以是其它变量,其它配置信息还可以是除Host文件之外的其它信息,本申请对此并不限定。
在本发明的一个实施例中,变量以key-value结构存储至配置文件中,其中,key字段主要存储变量名称,value字段主要存储变量值。例如,secret_key=o9sjdikksd,“secret_key”表示秘钥变量,“o9sjdikksd”表示该秘钥变量的具体秘钥内容。
当需要调整这些系统变量、其它配置信息时,只需修改对应的变量配置文件中的相关信息即可。无需手动调整软件开发平台上操作系统内的系统变量,实现了正在开发的软件与软件开发平台内操作系统的解耦分离。
软件开发平台上的正在开发的软件启动后,该正在开发的软件会加载系统变量的配置文件,例如,加载Env.conf和Host.conf。
S120,解析变量配置文件获得目标变量。
对于以key-value结构存储的环境变量,解析key字段获得变量名称,解析对应的value字段获得该变量对应的变量值。
例如,正在开发的软件加载变量配置文件Env.conf后,解析该配置文件获得环境变量Env的具体内容。又如,环境变量Env中存储的是秘钥,则解析获得该秘钥的具体内容。
又如,正在开发的软件加载配置文件Host.conf后,解析该配置文件获得Host文件的具体内容。
Host文件中存储的是域名与IP地址之间的映射关系。目前的软件项目中,一个业务通常需要依赖多个独立的服务,一个服务对应一个域名。例如,商品服务需要依赖于订单服务、购物车服务、卡券服务、VIP服务、评价服务等服务。这些服务的域名指向对应的服务器IP地址。Host文件中记录的是这些域名与对应的服务器IP地址之间的映射关系。
S130,在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以使正在开发的软件利用最新加载的目标变量运行。
当正在开发的软件启动运行后,将解析得到的目标变量加载至软件开发平台的虚拟机(Java Virtual Machine,JVM)运行环境中,即利用最新加载至运行环境中的变量覆盖操作系统配置的相应变量。从而使该软件利用最新的系统变量运行。
在本发明的一个实施例中,正在开发的软件启动后,软件开发平台采用JAVA反射机制获取或调用上一步骤解析得到的目标变量。
JAVA反射机制是指在软件处于运行状态时,对于任意一个类都能够获知该类的所有属性和方法;对于任意一个对象,能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为Java语言的反射机制。通过JAVA反射机制实现动态加载环境变量和Host文件的核心。
然后,软件开发平台上的Plugin插件将JAVA反射机制动态获取的解析得到的目标变量如,Env和Host文件,动态加载到软件开发平台的运行环境中。
其中,JVM是运行环境,所有变量均运行与JVM中,利用Plugin插件将应用系统解析得到的变量如Env和Host文件加载到JVM中。然后,利用最新加载至JVM中的Env覆盖操作系统中的Env;以及,利用最新加载至JVM中的Host文件覆盖操作系统中的Host文件。最终实现该正在开发的软件以最新加载的变量运行。
同时,Plugin插件能够提供对外代理功能,这样,该正在开发的软件所包含的各个应用系统之间通过Plugin插件加载至JVM中的Host文件直接进行访问。
利用Plugin插件的代理功能实现在该正在开发的软件的启动过程中自动完成代理服务,不需要与独立的代理软件如Nginx。其中,NGINX是一款独立的软件,需要单独配置、启动等操作。因此,与Nginx相比,Plugin插件不需要单独维护、单独启动、不需要额外操作等。
本实施例提供的软件开发方法,将操作系统中存储的变量,例如环境变量、Host文件,以配置文件的形式存储至正在开发的软件中。当正在开发的软件启动后,首先从正在开发的软件中获取变量配置文件,并解析该变量配置文件获得目标变量。在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以保证软件开发平台能够利用最新加载的目标变量继续运行。该方法将系统变量存储至正在开发的软件的变量配置文件中,从而实现正在开发的软件与软件开发平台的操作系统解耦分离,因此,在软件开发过程中无需开发人员在软件开发平台上手动调整系统变量,无需重启操作系统。极大地缩短了软件系统的开发时间,提高了软件开发速度。
请参见图3,示出了本发明实施例提供的另一种软件开发方法,该方法包括以下步骤:
S210,当正在开发的软件启动时,读取该软件中存储的变量配置文件。该变量配置文件中以Key-value结构存储系统变量或其它配置信息。
S220,解析获得的变量配置文件内的key阻断获得变量名称,以及,解析value字段得到变量值。
S230,在软件运行状态下利用JAVA反射机制获取解析得到的目标变量。
S240,利用Plugin插件将获得的目标变量加载至运行环境中,以使正在开发的软件利用最新的目标变量运行。
Plugin插件将JAVA反射机制动态获取的解析得到的目标变量,动态加载到软件开发平台的运行环境中。
同时,Plugin插件能够提供对外代理功能,这样,该正在开发的软件所包含的各个应用系统之间通过Plugin插件加载至JVM中的Host文件直接进行访问。
本实施例提供的软件开发方法,将操作系统中存储的变量以配置文件的形式存储至正在开发的软件中。当正在开发的软件启动后,首先从正在开发的软件中获取变量配置文件,并解析该变量配置文件获得目标变量。在正在开发的软件处于运行状态时,利用JAVA反射机制获得解析得到的目标变量;并利用Plugin插件将目标变量加载至软件开发平台的运行环境中,以保证软件开发平台能够利用最新加载的目标变量继续运行。该方法将系统变量存储至正在开发的软件的变量配置文件中,从而实现正在开发的软件与软件开发平台的操作系统解耦分离,因此,在软件开发过程中无需开发人员在软件开发平台上手动调整系统变量,无需重启操作系统。极大地缩短了软件系统的开发时间,提高了软件开发速度。
相应于上述的软件开发方法实施例,本发明还提供了软件开发装置实施例。
请参见图4,示出了本发明实施例提供的一种软件开发装置的框图,该装置应用于软件开发平台中。如图4所示,该装置包括:获取模块110、解析模块120和加载模块130。
获取模块110,用于获取正在开发的软件中存储的变量配置文件。
在本发明的一个实施例中,开发人员根据软件开发平台上操作系统配置的系统变量(或其它配置信息),并将系统变量(或其它配置信息)按照预设数据结构存入变量配置文件中。
例如,系统变量可以是环境变量Env,对应的变量配置文件为Env.conf;其它配置信息可以是Host文件,对应的变量配置文件为Host.conf。
在本发明的一个实施例中,变量以key-value结构存储至配置文件中,其中,key字段主要存储变量名称,value字段主要存储变量值。例如,secret_key=o9sjdikksd,“secret_key”表示秘钥变量,“o9sjdikksd”表示该秘钥变量的具体秘钥内容。
当需要调整这些系统变量、其它配置信息时,只需修改对应的变量配置文件中的相关信息即可。无需手动调整软件开发平台上操作系统内的系统变量,实现了正在开发的软件与软件开发平台内操作系统的解耦分离。
软件开发平台上的正在开发的软件启动后,该正在开发的软件会加载系统变量的配置文件,例如,加载Env.conf和Host.conf。
解析模块120,用于解析变量配置文件获得目标变量。
其中,目标变量包括环境变量和Host文件中的至少一种。
对于变量配置文件以key-value数据结构存储所述目标变量,解析key字段获得变量名称,解析对应的value字段获得该变量对应的变量值。
如图5所示,该解析模块可以包括第一解析子模块121和第二解析子模块122。
第一解析子模块121,用于解析变量配置文件内key字段存储的内容得到变量名称。
第二解析子模块122,用于解析变量配置文件内value字段存储的内容得到变量值。
加载模块130,用于在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以使正在开发的软件利用最新加载的目标变量运行。
当正在开发的软件启动运行后,将解析得到的目标变量加载至JVM运行环境中,即利用最新加载至运行环境中的变量覆盖操作系统配置的相应变量。从而使该软件利用最新的系统变量运行。
如图6所示,加载模块130包括获取子模块131和加载子模块132。
获取子模块131,用于在正在开发的软件处于运行状态时,利用JAVA反射机制获取解析得到的目标变量。
在本发明的一个实施例中,正在开发的软件启动后,软件开发平台采用JAVA反射机制获取或调用上一步骤解析得到的目标变量。
加载子模块132,用于利用预设插件将获得的目标变量加载至运行环境中,以使正在开发的软件利用最新加载的目标变量运行。
在本发明的一个实施例中,该预设插件可以是Plugin插件。
软件开发平台上的Plugin插件将JAVA反射机制动态获取的解析得到的目标变量如,Env和Host文件,动态加载到软件开发平台的运行环境中。
同时,Plugin插件能够提供对外代理功能,这样,该正在开发的软件所包含的各个应用系统之间通过Plugin插件加载至JVM中的Host文件直接进行访问。
利用Plugin插件的代理功能实现在该正在开发的软件的启动过程中自动完成代理服务,不需要与独立的代理软件如Nginx。其中,NGINX是一款独立的软件,需要单独配置、启动等操作。因此,与Nginx相比,Plugin插件不需要单独维护、单独启动、不需要额外操作等。
本实施例提供的软件开发装置,将操作系统中存储的变量,例如环境变量、Host文件,以配置文件的形式存储至正在开发的软件中。当正在开发的软件启动后,首先从正在开发的软件中获取变量配置文件,并解析该变量配置文件获得目标变量。在正在开发的软件处于运行状态时,将目标变量加载至软件开发平台的运行环境中,以保证软件开发平台能够利用最新加载的目标变量继续运行。该装置将系统变量存储至正在开发的软件的变量配置文件中,从而实现正在开发的软件与软件开发平台的操作系统解耦分离,因此,在软件开发过程中无需开发人员在软件开发平台上手动调整系统变量,无需重启操作系统。极大地缩短了软件系统的开发时间,提高了软件开发速度。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种软件开发方法,应用于软件开发平台中,其特征在于,所述方法包括:
获取正在开发的软件中存储的变量配置文件,该变量配置文件包括环境变量配置文件和域名解析Host配置文件中的至少一种;
解析所述变量配置文件获得目标变量,所述目标变量包括环境变量和Host文件中的至少一种;
在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
2.根据权利要求1所述的方法,其特征在于,所述解析所述变量配置文件获得目标变量,包括:
解析所述变量配置文件中存储的变量对应的变量名及变量值,所述目标变量包括所述变量名和所述变量值。
3.根据权利要求2所述的方法,其特征在于,所述变量配置文件以key-value数据结构存储所述目标变量;
所述解析所述变量配置文件中存储的变量对应的变量名及变量值,包括:
解析所述变量配置文件内key字段存储的内容得到变量名称;
解析所述变量配置文件内value字段存储的内容得到变量值。
4.根据权利要求1所述的方法,其特征在于,所述在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行,包括:
在所述正在开发的软件处于运行状态时,利用JAVA反射机制获取解析得到的目标变量;
利用预设插件将获得的目标变量加载至所述运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
5.根据权利要求4所述的方法,其特征在于,所述预设插件为Plugin插件。
6.一种软件开发装置,应用于软件开发平台中,其特征在于,所述装置包括:
获取模块,用于获取正在开发的软件中存储的变量配置文件,该变量配置文件包括环境变量配置文件和域名解析Host配置文件中的至少一种;
解析模块,用于解析所述变量配置文件获得目标变量,所述目标变量包括环境变量和Host文件中的至少一种;
加载模块,用于在所述正在开发的软件处于运行状态时,将所述目标变量加载至所述软件开发平台的运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
7.根据权利要求6所述的装置,其特征在于,所述解析模块具体用于:
解析所述变量配置文件中存储的变量对应的变量名及变量值,所述目标变量包括所述变量名和所述变量值。
8.根据权利要求7所述的装置,其特征在于,所述变量配置文件以key-value数据结构存储所述目标变量;
所述解析模块具体用于解析所述变量配置文件中存储的变量对应的变量名及变量值时,包括:
第一解析子模块,用于解析所述变量配置文件内key字段存储的内容得到变量名称;
第二解析子模块,用于解析所述变量配置文件内value字段存储的内容得到变量值。
9.根据权利要求6所述的装置,其特征在于,所述加载模块包括:
获取子模块,用于在所述正在开发的软件处于运行状态时,利用JAVA反射机制获取解析得到的目标变量;
加载子模块,用于利用预设插件将获得的目标变量加载至所述运行环境中,以使所述正在开发的软件利用最新加载的目标变量运行。
10.根据权利要求9所述的装置,其特征在于,所述预设插件为Plugin插件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958670.7A CN110704041A (zh) | 2019-10-10 | 2019-10-10 | 软件开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958670.7A CN110704041A (zh) | 2019-10-10 | 2019-10-10 | 软件开发方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704041A true CN110704041A (zh) | 2020-01-17 |
Family
ID=69199243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910958670.7A Pending CN110704041A (zh) | 2019-10-10 | 2019-10-10 | 软件开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704041A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949515A (zh) * | 2020-07-23 | 2020-11-17 | 上海硬通网络科技有限公司 | 测试场景重现方法、装置及电子设备 |
CN114995877A (zh) * | 2022-08-03 | 2022-09-02 | 平安银行股份有限公司 | 一种变量配置方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810008A (zh) * | 2014-02-19 | 2014-05-21 | 迈普通信技术股份有限公司 | 插件加载方法及系统 |
CN104539458A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市兰丁科技有限公司 | 运行环境自适配方法及装置 |
CN104809021A (zh) * | 2014-01-29 | 2015-07-29 | 李锦峰 | 多重作业环境服务的管理系统及管理方法 |
CN105204916A (zh) * | 2015-10-30 | 2015-12-30 | 北京奇虎科技有限公司 | 基于环境变量的项目进程运行方法及装置 |
WO2017071494A1 (zh) * | 2015-10-26 | 2017-05-04 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN107179907A (zh) * | 2017-05-15 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 一种配置系统及方法 |
CN108595221A (zh) * | 2018-04-26 | 2018-09-28 | Oppo广东移动通信有限公司 | PaaS平台的插件加载方法、装置、服务器及存储介质 |
-
2019
- 2019-10-10 CN CN201910958670.7A patent/CN110704041A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809021A (zh) * | 2014-01-29 | 2015-07-29 | 李锦峰 | 多重作业环境服务的管理系统及管理方法 |
CN103810008A (zh) * | 2014-02-19 | 2014-05-21 | 迈普通信技术股份有限公司 | 插件加载方法及系统 |
CN104539458A (zh) * | 2014-12-30 | 2015-04-22 | 深圳市兰丁科技有限公司 | 运行环境自适配方法及装置 |
WO2017071494A1 (zh) * | 2015-10-26 | 2017-05-04 | 阿里巴巴集团控股有限公司 | 一种应用部署方法和装置 |
CN105204916A (zh) * | 2015-10-30 | 2015-12-30 | 北京奇虎科技有限公司 | 基于环境变量的项目进程运行方法及装置 |
CN107179907A (zh) * | 2017-05-15 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 一种配置系统及方法 |
CN108595221A (zh) * | 2018-04-26 | 2018-09-28 | Oppo广东移动通信有限公司 | PaaS平台的插件加载方法、装置、服务器及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949515A (zh) * | 2020-07-23 | 2020-11-17 | 上海硬通网络科技有限公司 | 测试场景重现方法、装置及电子设备 |
CN114995877A (zh) * | 2022-08-03 | 2022-09-02 | 平安银行股份有限公司 | 一种变量配置方法及装置 |
CN114995877B (zh) * | 2022-08-03 | 2022-10-28 | 平安银行股份有限公司 | 一种变量配置方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN108132814A (zh) | 应用程序的页面加载方法、装置、计算机设备和存储介质 | |
US10223080B2 (en) | Method and system for automated, static instrumentation for applications designed for execution in environments with restricted resources | |
US9785452B2 (en) | Framework for dependency management and automatic file load in a network environment | |
CN107957837B (zh) | 网页应用程序的快捷方式生成方法、装置和终端设备 | |
CN111274512A (zh) | 一种页面加载方法、装置及介质 | |
CN112612982A (zh) | 网页预加载方法、装置及计算机设备 | |
CN110704041A (zh) | 软件开发方法及装置 | |
CN111338829B (zh) | 远程过程调用服务的调用方法及装置 | |
CN108228266B (zh) | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 | |
CN111666074B (zh) | 一种web应用定制的方法、相关装置及系统 | |
CN115794214A (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
US7263696B1 (en) | Dynamic web based jar file finder | |
US10599740B1 (en) | Program code streaming | |
CN113791795A (zh) | 插件的安装方法、装置、系统、设备及存储介质 | |
CN112395521B (zh) | 页面处理方法、装置、电子设备及计算机可读存储介质 | |
CN113722538B (zh) | 一种界面动态渲染方法及装置 | |
CN116382796B (zh) | 一种h5小程序运行器的插件管理方法、装置及电子设备 | |
CN116627535A (zh) | 基于规则引擎的任务执行方法、计算机设备和存储介质 | |
CN109408147B (zh) | 一种协议确定方法、系统、装置及可读存储介质 | |
US20200184071A1 (en) | Detection of Suspicious Objects in Customer Premises Equipment (CPE) | |
CN106445530A (zh) | 一种将客户端应用软件转换为网页软件的方法、装置 | |
CN117008878A (zh) | 规则生成方法、装置、设备及存储介质 | |
CN117289906A (zh) | 低代码应用开发方法、设备及介质 | |
US9380118B2 (en) | Analytics based scoping of HTML5 web storage attributes |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200117 |
|
WD01 | Invention patent application deemed withdrawn after publication |