程序配置更新方法、电子装置、计算机设备及存储介质与流程

文档序号:18475082发布日期:2019-08-20 20:54阅读:155来源:国知局
程序配置更新方法、电子装置、计算机设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种程序配置更新方法、电子装置、计算机设备及存储介质。



背景技术:

在软件开发中,很多应用系统在开发过程中存在多个项目部署环境,例如开发环境,测试环境,和生产环境用于工程师的软件开发过程,部署于专门的软件开发服务器中,是最基础的项目部署环境,测试环境用于软件开发完成后,在上线发布前的测试过程,用于测试软件是否能正常工作,主要部署于开发者的私有服务器或局域网服务器中,生产环境是指软件项目正式上线发布时的部署环境,是用户使用软件服务的真实环境,一般部署于互联网中公有的服务器中。

不同的项目部署环境都存在各自不同的一些环境配置,不同项目部署环境需配置不同的参数值。比如控制台端口、ip、servername等参数,各个环境需配置不同的参数值。另外,还有些因为服务器性能不同导致需配置不同的参数,如一些并发任务的上限大小设置、最大线程数设置、队列大小设置、文件路径、一些系统地址等。而现在很多参数值存放在项目文件程序包里的一些特定文件中,如.properties或.xml文件。在实际的开发、测试和发布上线过程中,不同的项目部署环境对应不同的参数值,不同的项目部署环境参数值可能在其他的项目部署环境中设置不正确,而使得环境不可用时间加长,有时还需手动去修改实际的参数值并重启服务后才生效,操作繁琐,效率低。



技术实现要素:

有鉴于此,本发明提出一种程序配置更新方法、电子装置、计算机设备及存储介质,其能够使得程序适用于各种环境,鲁棒性好,程序的操作简单、使用效率高。

首先,为实现上述目的,本发明提出一种程序配置更新方法,应用于电子装置中,其特征在于,所述方法包括步骤:

获取当前环境中所述程序的配置文件;

响应于所述配置文件中存在环境变量的情况,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件;

触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。

进一步地,在将所述当前环境变量的变量值更新为拟切换环境的变量值之前,还包括:

判断所述配置文件中是否存在环境变量;

响应于所述配置文件中存在变量的情况,将所述环境变量的变量值更新为拟切换的环境的变量值。

进一步地,在将所述当前环境变量的变量值更新为拟切换环境的变量值之前,还包括:

获取拟切换环境的变量值。

进一步地,判断所述配置文件中是否存在变量的步骤包括:

触发执行第二预定任务,以检测所述配置文件中是否存在环境变量及其变化内容。

进一步地,按照预定周期触发执行第二预定任务。

进一步地,还包括:

采用预定格式保存所述环境变量及其变量值。

进一步地,还包括:

按照预定周期执行所述第一预定任务。

此外,为实现上述目的,本发明还提供一种电子装置,其包括:

配置文件获取模块,用于获取当前环境中所述程序的配置文件;

变量更新模块,用于当所述配置文件中存在环境变量时,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件;

环境切换模块,用于触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。

为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

上述实施例的程序配置更新方法,通过获取当前环境中所述程序的配置文件;当所述配置文件中存在变量时,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件;触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。其能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,使得程序适用于各种环境,鲁棒性好,程序的使用效率高,从而节约时间。

附图说明

图1是本发明第一实施例之电子装置的硬件架构示意图;

图2是本发明第一实施例之程序配置更新方法的流程示意图;

图3是本发明第二实施例之程序配置更新方法的流程示意图;

图4是本发明实施例之电子装置的程序模块示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

在本发明的各个实施例中,程序包括不限于系统程序和应用程序。程序在开发和应用过程中都会需要多个环境,比如开发环境、测试环境、生产环境等等,当开发完成之后,则进入测试环节,此时需进行环境类型切换,即切换到测试环境。类似的,当测试和修改完成,正式运营时,需切换到生产环境(或者说运营环境)。基于上述的程序用于环境不同,本发明实施例提出程序配置更新方法,该方法应用于电子装置中,参阅图1所示,是本发明电子装置10一可选的硬件架构示意图。在本发明的实施例中,电子装置10包括不限于计算机、手机、pad等电子设备。电子装置10包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理11以及网络接口13,图1仅示出了具有组件11-13的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置10的内部存储单元,例如该电子装置10的硬盘或内存。在另一些实施例中,所述存储器也可以是所述电子装置10的外部存储设备,例如该电子装置10上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器11还可以既包括所述电子装置10的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述电子装置10的操作系统和各类应用软件,例如程序配置更新系统14的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器11在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器11通常用于控制所述电子装置10的总体操作。本实施例中,所述处理器11用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述程序配置系统14等。

所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述电子装置10与其他电子设备之间建立通信连接。

至此,己经详细介绍了本发明相关设备的硬件结构和功能。下面,将基于上述介绍提出本发明的各个实施例。

第一实施例

参阅图2所示,是本发明第一实施例之程序配置方法的流程图。

首先,本发明提出一种程序配置方法。

第一实施例

参阅图2所示,是本发明程序配置之第一实施例的流程示意图。所述程序配置方法于电子装置10中。在本实施例中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。

步骤s201,获取当前环境中所述程序的配置文件。

软件(例如应用程序)在开发过程中会生成包括配置文件的程序包,配置文件是用户在使用软件时,软件系统为用户所要加载所需环境的设置和文件的集合。配置文件即对不同对象进行不同配置的文件,它包括所有用户专用的配置设置,例如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。在软件项目的开发中,项目中的配置文件一般存储的是项目启动所需的环境设置,例如数据库驱动,用户名以及密码等。配置文件根据软件的应用环境不同,通常还包括一些变量及其对应的变量值。

配置文件可以包括多种格式文件,例如,配置文件可以是后缀名是.xml或者是.properties的文件,也可以是.ini格式的文件,或者".cfg",".conf",".txt"等格式的文件。

根据不同的程序编程语言,配置文件的形式不同。例如,以c++语言读取配置文件为例,配置文件的格式,以#作为行注释,配置的形式是key=value。

步骤s202,响应于所述配置文件中存在环境变量的情况,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件。

当上述步骤s201检索到配置文件时读取该配置文件内容,当配置文件中存在环境变量时,将当前环境变量的变量值替换为拟切换环境的变量值,得到变量值更新后的配置文件。

在一些实施例中,采用预定格式保存所述环境变量及其变量值,例如配置文件存在变量,即增量变化内容时,变量内容中使用“${}”包围的即为当前环境变量及其变量值,再将变量值配置更改为拟切换环境的变量值,从而得到变量值更新后的配置文件。

例如,当检索到所述程序文件被打包以及所述被打包的程序文件的部署环境发生变化时检索所述被打包的程序文件中是否包括更新的所述配置文件,以及判断所述配置文件是否包括所述预定格式字段。

在程序开发、测试或者发布上线时,在提交程序的新版本时会将程序文化进行打包后部署于新的部署环境中。当检索到所述程序文件被打包以及所述被打包的程序文件的部署环境发生变化时检索所述被打包的程序文件中是否包括更新的所述配置文件。

当发现配置文件中包括预设的环境变量,并将所述环境变量对应的变量值替换为预设格式字段后保存退出后,配置文件就有了一个更新记录,当检索到被打包的程序文件中是否包括更新的所述配置文件时说明该配置文件包括变量值替换为了预定格式字段的对应环境变量。

步骤s203,触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,并将更新后的程序部署到所述拟切换环境中。

在本实施例中,第一预定任务用于将步骤s202的变量值更新后的配置文件替换到原程序包中,第一预定任务可以为预定的线程或进程等。

触发执行第一预定任务根据所述变量值更新后的配置文件更新所述程序,并将更新后的程序部署到所述拟切换环境中。

上述实施例的程序配置更新方法,通过获取当前环境中所述程序的配置文件;当所述配置文件中存在变量时,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件;触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。其能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,使得程序适用于各种环境,鲁棒性好,程序的使用效率高,从而节约时间。

第二实施例

参阅图3所示,是本发明程序配置更新方法之第二实施例的流程示意图。所述程序配置更新方法于电子装置10中。在本实施例中,所述数据可视化方法的步骤除了包括第一实施例的步骤s201~s204之外,所述电子装置10在将所述当前环境变量的变量值更新为拟切换环境的变量值之前,还包括:

步骤s301,判断所述配置文件中是否存在变量,当存在变量时,则执行步骤s302,反之,则执行步骤s303。

判断配置文件中是否包括预定格式的环境变量,如果是,则将所述环境变量对应的变量值替换为拟切换的环境的变量值。配置文件中包括多个环境变量,例如控制台端口、ip、服务器名称等参数,大小设置、最大线程数设置、队列大小设置、文件路径、一些系统地址等。

在本实施例中,环境变量采用预定格式保存所述环境变量及其变量值,例如配置文件存在环境变量,即增量变化内容时,变量内容中使用“${}”包围的即为当前环境变量及其变量值。

例如,环境变量中最大线程数设置在配置文件对应的环境变量代码为thread.size,配置文件中该环境变量已被赋予变量值1024。

代码如下:

thread.size=1024/**设置最大线程数*/

则将该环境变量对应的变量值替换为预定格式字段,所示预定格式字段包括可以进行参数传递的函数变量,例如替换为${thread_max_size}

代码如下:

thread.size=${thread_max_size}

其中,${}为预定格式,${}中的thread_max_size为配置项,${thread_max_size}为可以按值传递的函数变量,可以根据各环境承受能力配置成不同的值。预定格式和配置项可以根据用户的实际需求而定,这里不做具体限定。

在一些实施例中,判断所述配置文件中是否存在变量的步骤包括:

触发执行第二预定任务,以检测所述配置文件中是否存在变量及其变化内容。在本实施例中,第二预定任务用于检测所述配置文件中是否存在变量,第二预定任务可以为预定的线程或进程等。

步骤s302,将所述环境变量的变量值更新为拟切换的环境的变量值。

当所述配置文件中存在环境变量时,将所述环境变量的变量值更新为拟切换的环境的变量值。

例如,在测试环境中,最大线程数为1024,在生产环境中,由于服务器的不同,最大线程数可以修改为实际环境的最大线程数,例如2048。

在本实施例中,将所述预定格式字段替换为拟切换的环境的变量值时,预定格式字段包括可以进行数值传递的配置项,从而可以在代码中对配置项中的环境变量值进行修改,不需要人为查找配置文件所在位置。

在其他实施例中,也可以在当所述配置文件包括所示预定格式字段时将所述预定格式字段手动输入为拟切换的环境的变量值。

步骤s303,当所述配置文件中不存在环境变量时,则保持当前程序的配置文件不变。

上述方法中通过判断将配置文件中是否包括预定格式字段的环境变量,是则将所述环境变量对应的变量值替换为拟切换环境的变量值,使得程序切换环境更加灵活,可移植性好。

在一些实施例中,在将所述当前环境变量的变量值更新为拟切换环境的变量值之前,还包括:获取拟切换环境的变量值。

在本实施例中,可以先确定拟切换的环境类型,根据拟切换的环境类型,将配置文件中代表环境类型的环境变量的值修改为所述拟切换环境的类型值。例如,拟切换的环境类型是测试环境,则自动设置代表测试环境的环境变量。

第三实施例

在本发明的第三方面实施例中,所述程序配置更新方法的步骤除了包括前述实施例的步骤s201~s204以及s301~s302之外,还包括:

按照预定周期执行所述第一预定任务和/或第二预定任务。

在本实施例中,可以通过按照预定周期自动化执行所述第一预定任务和/或第二预定任务,如jenkins定时执行等。

通过本实施例,可按预定周期检查所述配置文件内容是否有更新,若所述配置文件的环境变量内容有更新时,将更新后的配置文件的内容替换为拟切换环境变量的变量值。例如,设置一个定时任务,每隔3秒(频率可自行配置)定时检查配置文件是否有更新,如果有更新时将更新后的配置文件的内容替换为拟切换环境变量的变量值。通过上述步骤的方式可动态更新配置文件,动态更新的方式可以在更新后直接使用新的配置文件,提高了效率。

参阅图4所示,是本发明第四实施例之电子装置的程序模块示意图。

本实施例中,所述电子装置10包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明各实施例的智能招聘操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,电子装置10可以被划分为一个或多个模块。例如,在图4中,所述电子装置10可以被分割成配置文件获取模块101、变量更新模块102、环境切换模块103。其中:

配置文件获取模块101,用于获取当前环境中所述程序的配置文件。

在本实施例中,配置文件根据软件的应用环境不同,通常还包括一些变量及其对应的变量值。配置文件可以包括多种格式文件,例如,配置文件可以是后缀名是.xml或者是.properties的文件,也可以是.ini格式的文件,或者".cfg",".conf",".txt"等格式的文件。

变量更新模块102,用于当所述配置文件中存在环境变量时,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件。

在本实施例中,当上述配置文件获取模块101检索到配置文件时读取该配置文件内容,当配置文件中存在环境变量时,将当前环境变量的变量值替换为拟切换环境的变量值,得到变量值更新后的配置文件。

环境切换模块103,用于触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。

在本实施例中,第一预定任务用于将变量更新模块102的变量值更新后的配置文件替换到原程序包中,第一预定任务可以为预定的线程或进程等。

触发执行第一预定任务根据所述变量值更新后的配置文件更新所述程序,并将更新后的程序部署到所述拟切换环境中。

需要说明的是,电子装置10具体实现方式可以参考上述程序配置更新方法各个实施例的描述,这里不再赘述。

上述实施例的电子装置,通过获取当前环境中所述程序的配置文件;当所述配置文件中存在变量时,将所述当前环境变量的变量值更新为拟切换环境的变量值,得到变量值更新后的配置文件;触发执行第一预定任务,根据所述变量值更新后的配置文件更新所述程序,以将更新后的程序部署到所述拟切换环境中。其能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,能够避免配置文件中设置的参数值不同而导致不同部署环境配置参数错误或环境不可用,使得程序适用于各种环境,鲁棒性好,程序的使用效率高,从而节约时间。

本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器、处理器等。

本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储电子装置10,被处理器执行时实现本发明的程序配置更新方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1