CN115858012A - 程序变量配置方法、装置、电子设备及存储介质 - Google Patents
程序变量配置方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115858012A CN115858012A CN202211720999.8A CN202211720999A CN115858012A CN 115858012 A CN115858012 A CN 115858012A CN 202211720999 A CN202211720999 A CN 202211720999A CN 115858012 A CN115858012 A CN 115858012A
- Authority
- CN
- China
- Prior art keywords
- configuration
- value
- program
- variable
- file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012544 monitoring process Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000011161 development Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种程序变量配置方法,包括如下步骤:载入配置文件,读取所述配置文件中的配置项和对应的配置值;确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;将待配置程序变量与对应所述配置项的所述配置路径关联;获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。能够提高多人开发效率,且易于维护代码。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种程序变量配置方法、装置、电子设备及计算机可读存储介质。
背景技术
在软件应用的开发过程和后期功能选择中,为了应用执行过程中更加灵活,可通过配置文件对程序变量进行配置,现有的程序变量配置方法中,当配置文件发生改变后,需要手动编写代码来将对应的程序变量进行更新。
然而,在大型的软件系统中,配置项和配置体系是非常庞大的,例如不同的生产厂区、不同的车间、不同的生产机器,使用同一套程序,但程序变量为不同配置,在进行程序部署或迭代时,需要针对配置体系对不同机器上的程序将所有配置文件手动配置一次,这需要消耗大量时间,导致开发效率低下。而且,大型开发项目中通常为多人合作开发,每个开发者所添加的配置文件所储存的位置可能不同,使用的配置项可能不同,或者不同程序变量使用了相同配置项,当其中一位开发者对配置文件进行修改后,在同步代码后,将可能影响其他开发者的代码配置,导致其他开发者需要花费时间来查找问题,代码维护难度大。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种程序变量配置方法,能够提高多人开发效率,且易于维护代码。
本发明是通过以下技术方案实现的:一种程序变量配置方法,包括如下步骤:
载入配置文件,读取所述配置文件中的配置项和对应的配置值;
确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;
将待配置程序变量与对应所述配置项的所述配置路径关联;
获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
相对于现有技术,本发明的程序变量配置方法,通过先后载入多个配置文件或者重新载入配置文件来对配置字典进行更新,通过配置字典对程序变量进行变量配置,采用此多层覆盖模式可以有效应对同一套代码应用到不同厂区、机器中有不同特定配置的情况。同时,在多人开发项目中,对共同的配置文件更新后可以同步到代码中,而各自维护的程序可以独立配置。因此,本发明的程序变量方法可以提高生产机器控制的开发效率,且易于维护。
进一步地,还包括步骤:
对所述待配置程序变量配置监听参数,监听所述配置字典中配置值的变化,若配置所述监听参数的程序变量所对应配置路径的配置值发生变化,则重新获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
进一步地,对所述待配置程序变量配置通知函数地址,若所述配置字典中所述待配置程序变量所对应配置路径的配置值发生变化,通过所述通知函数地址调用通知函数。
进一步地,将该配置值配置为所述待配置程序变量的变量值前,还包括步骤:
对所述待配置程序变量配置关键字检查模式,对待配置的所述配置值与预设关键字进行匹配;
当所述关键字检查模式配置为全匹配模式,若所述配置值与所述预设关键字完全相同,则将所述配置值配置为所述待配置程序变量的变量值;若所述配置值与所述预设关键字不相同,则发送配置错误通知;
当所述关键字检查模式配置为半匹配模式,若所述配置值中包含所述预设关键字,则将所述配置值配置为所述待配置程序变量的变量值;若所述配置值不包含预设关键字,则发送配置错误通知。
进一步地,所述配置文件包括本机配置文件,所述本机配置文件为针对不同机器的程序变量设置的配置文件。
基于同一发明构思,本申请还提供一种程序变量配置方法,包括步骤:
载入全局配置文件,读取所述全局配置文件中的配置项和对应的配置值;
若存在区域配置文件,则载入所述区域配置文件,读取所述区域配置文件中的配置项和对应的配置值;
确定所述全局配置文件和/或所述区域配置文件中的配置项对应的配置路径,根据所述配置路径和对应的配置值生成配置字典;
若所述全局配置文件中设置需要载入模块系统配置文件,则载入所述模块系统配置文件,读取所述模块系统配置文件中的配置项和对应的配置值;
若所述全局配置文件中设置需要载入模块自定义配置文件,则载入所述模块自定义配置文件,读取所述模块自定义配置文件中的配置项和对应的配置值;
若存在本机配置文件,则载入所述本机配置文件,读取所述本机配置文件中的配置项和对应的配置值;
确定所述模块系统配置文件和/或所述模块自定义配置文件和/或所述本机配置文件中的配置项对应的配置路径,根据所述配置路径和对应的配置值覆盖所述配置字典;
将待配置程序变量与对应配置项的所述配置路径关联;
获取所述待配置程序变量所关联的配置路径,根据所述配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
基于同一发明构思,本申请还提供一种程序变量配置装置,包括:
配置文件载入模块,用于载入配置文件,读取所述配置文件中的配置项和对应的配置值;
配置字典更新模块,用于确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;
程序变量关联模块,用于将待配置程序变量与对应所述配置项的所述配置路径关联;
变量值配置模块,用于获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
进一步地,还包括:
监听模块,用于对所述待配置程序变量配置监听参数,监听所述配置字典中配置值的变化,若配置所述监听参数的程序变量所对应配置路径的配置值发生变化,则重新获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
基于同一发明构思,本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现上述方法的步骤。
基于同一发明构思,本申请还提供一种计算机可读存储介质,其上存储由计算机程序,所述计算机程序被执行时实现上述方法的步骤。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为一个实施例的程序变量配置方法的流程示意图;
图2为另一实施例的程序变量配置方法的流程示意图;
图3为一个实施例的程序变量配置装置的结构示意图;
图4为另一实施例的程序变量配置装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,其为一个实施例的程序变量配置方法的流程示意图。该方法包括如下步骤:
S11:载入配置文件,读取配置文件中的配置项和对应的配置值;
S12:确定配置项对应的配置路径,通过配置路径和对应的配置值更新配置字典;
S13:将待配置的程序变量与对应配置项的配置路径关联;
S14:获取待配置的程序变量所关联的配置路径,根据配置路径在配置字典中获取对应的配置值,将该配置值配置为程序变量的变量值。
具体地,在步骤S11中,载入配置文件,读取配置文件中的配置项和对应的配置值。
其中,配置文件为计算机程序的变量配置和初始设置文件,配置文件中包括与计算机程序中的程序变量相对应的配置项,每一配置项都设置有相对应的配置值。其中,配置值的数据类型可以为数值型、字符型等,具体可根据需求进行设置。示例性的,一个对数据库配置的配置文件如下:
{
“dbsetting”:{
“connst”:“server=127.0.0.1;user=root;paw=root”,
“db_type”:“mysql”
},
“port”:10086
}
其中,配置项“connst”为连接参数变量设置,其对应的配置值为“server=127.0.0.1;user=root;paw=root”;配置项“db_type”为数据库类型,其对应的配置值为“mysql”;配置项“port”为端口,其对应的配置值为“10086”。
根据配置需求的不同,配置文件可分为多种类型。在一个可选实施例中,配置文件的类型包括但不限于全局配置文件、区域配置文件、模块系统配置文件、模块自定义配置文件、本机配置文件和调试配置文件等,其中,全局配置文件为系统全局程序的配置文件。
区域配置文件为针对不同地理区域,如地区、厂区等,区别设置的配置文件,区域配置文件可针对不同区域对全局配置文件中的部分配置项的配置值进行特定设置。
模块系统配置文件为针对系统不同程序模块的区别设置的配置文件,不同的程序模块可由不同的开发人员进行开发,针对不同程序模块设置的模块系统配置文件可由不同开发人员独立维护,是否载入模块系统配置文件可由全局配置文件进行配置,模块系统配置文件通常存储在Config目录下,载入时载入Config目录,可将该目录下的配置文件一并载入。
模块自定义配置文件为针对系统不同程序模块的区别设置的自定义配置文件,由开发人员根据需求设置,是否载入模块自定义配置文件可由全局配置文件进行配置,自定义配置文件可同一存储在自定义配置目录下,载入时载入自定义配置目录,可将该目录下的配置文件一并载入。
通过多个模块系统配置文件和模块自定义配置文件,可以在多人合作开发过程中,各人开发的配置文件分开,能够有效避免开发过程中产生的冲突。
本机配置文件为针对不同机器而区别设置的配置文件,则同一控制程序应用在不同机器上时,可通过本机配置文件来设置不同的变量值,以实现不同控制,是否载入本机配置文件可由全局配置文件进行配置。
调试配置文件为调试代码时,用于调试的配置文件。在对程序代码进行调试时,通过调试配置文件修改程序代码的变量值,便于进行断点调试,以发现代码问题。
可选的,配置文件可以为JSON格式的文件。
在步骤S12中,确定配置项对应的配置路径,通过配置路径和对应的配置值更新配置字典。
其中,配置字典用于存储配置路径和对应的配置值,配置路径根据配置项设置,为便于阅读,可根据配置文件的配置数据层次形成配置树,配置路径可以依据树路径设置,数据层间用特定字符分隔,如全局配置文件中数据配置模块中的数据库类型配置项的配置路径可设置为“dbsetting:db_type”,其中“dbsetting”表示数据配置模块;“db_type”表示配置项。配置路径对应的配置值为配置路径对应配置项的配置值。配置字典中,配置值将同一转换为字符串进行存储。
在具体实施中,配置字典是程序执行过程中的临时数据,配置字典可以暂存于内存中。
更新配置字典包括新增数据和覆盖数据。从配置文件获取到配置项后,根据配置项获取对应的配置路径,通过配置路径在配置字典中进行相同配置路径的查询,若配置字典中不存在相同配置路径,则在配置字典中新增该配置路径及其对应的配置值;若配置字典中存在相同配置路径,则通过当前配置文件的配置值覆盖配置字典中该配置路径对应的原配置值。示例性地,载入上述示例中对数据库配置的配置文件后,更新的配置字典如下:
dbsetting:connst->“server=127.0.0.1;user=root;paw=root”
dbsetting:db_type->“mysql”
port->10086
其中,配置路径“dbsetting:connst”对应配置项“connst”;配置路径“dbsetting:db_type”对应配置项“db_type”;配置路径“port”对应配置项“port”。
若继续载入一新的对数据库配置的配置文件,该新的配置文件如下:
{
“dbsetting”:{
“db_type”:“sqlite”
},
“server”:“127.0.0.1”
}
其中,配置项“db_type”的配置值为“sqlite”;配置项“server”的配置值为“127.0.0.1”。
则载入后,更新的配置字典如下:
dbsetting:connst->“server=127.0.0.1;user=root;paw=root”
dbsetting:db_type->“sqlite”
port->10086
Server->“127.0.0.1”
其中,配置路径“dbsetting:db_type”的配置值被新的配置文件中对应配置项“db_type”的配置值覆盖,配置路径“dbsetting:db_type”的配置值更新为“sqlite”;新增了与新的配置项“server”对应的配置路径“Server”,其对应的配置值为配置项“server”的配置值“127.0.0.1”。
在步骤S13中,将待配置的程序变量与对应配置项的配置路径关联。
其中,待配置的程序变量为软件应用程序中的变量,配置文件中的配置项是根据这些待配置程序变量的配置需求而设置的,即待配置程序变量可以在设置好的配置文件中找到对应的配置项。
将待配置程序变量与对应配置项的配置路径关联,则通过配置字典可获取待配置程序变量的变量值。将待配置程序变量与对应配置项的配置路径关联,在具体实施中,可对待配置程序变量添加绑定特性,通过绑定特性绑定对应配置项的配置路径。
在步骤S14中,获取待配置的程序变量所关联的配置路径,根据配置路径在配置字典中获取对应的配置值,将该配置值配置为程序变量的变量值。
其中,通过步骤S13将待配置的程序变量与对应配置项的配置路径关联后,可在程序代码中获得待配置的程序变量所关联的配置路径。根据配置路径在配置字典中获取对应的配置值,在配置字典中对该配置路径进行相同配置路径的查询,获取相同配置路径所对应的配置值。所获取的配置值为待配置程序变量的变量值。
将该配置值配置为程序变量的变量值时,需要根据程序变量的数据类型将配置值转换为相应数据类型后配置位程序变量的变量值。
在具体实施中,可通过将待配置程序变量所在类继承特定基类,在所继承的特定基类中添加可执行步骤S14的程序代码,当实例化待配置程序变量所在类时,可执行特定基类的实例,从而获得待配置程序变量的变量值。
在另一具体实施中,若待配置程序变量所在类已继承其他基类,则可通过在待配置程序变量所在类中添加AOP特性来拦截待配置程序变量所在类的调用,在编译时,AOP特性指向的代理代码将首先被调用,此后可对待配置程序变量配置变量值,最后通过代理代码调用待配置程序变量所在类,以完成实例化。
优选地,本申请的程序变量配置方法还包括步骤S15:对待配置的程序变量配置监听参数,监听配置字典中配置值的变化,若配置监听参数的程序变量所对应配置路径的配置值发生变化,则重新执行步骤S14。由此,可对待配置的程序变量的变量值进行自动的实时更新,而无需开发人员通过手动更新变量值。
在具体实施中,当监听到变化时,可通过调用委托代码来执行步骤S14。
进一步,本申请的程序变量配置方法还包括步骤S16:对待配置的程序变量配置通知函数地址,若配置字典中程序变量所对应配置路径的配置值发生变化,通过通知函数地址调用通知函数。其中,通知函数用于发送指示配置值发生变化的通知。
在一优选实施例中,本申请的程序变量配置方法中,将配置值配置为程序变量的变量值前还包括步骤S17:对待配置的程序变量配置关键字检查模式。其中,关键字检查模式包括全匹配模式和半匹配模式,若关键字检查模式配置位全匹配模式,则将配置值配置为程序变量的变量值前,对待配置的配置值与预设关键字进行匹配,若待配置的配置值与预设关键字完全相同,则将待配置的配置值配置为程序变量的变量值;若待配置的配置值与预设关键字不相同,则发送配置错误通知。该配置错误通知用于指示配置文件中对应配置项的配置值设置错误。
若关键字检查模式配置位半匹配模式,则将配置值配置为程序变量的变量值前,对待配置的配置值与预设关键字进行匹配,若待配置的配置值中包含预设关键字,则将待配置的配置值配置为程序变量的变量值;若待配置的配置值不包含预设关键字,则发送配置错误通知。
由此,当配置文件中出现错误配置,可以通知开发人员进行修正,且能够快速定位错误位置,提高代码的测试效率。
请参阅图2,其为另一实施例的程序变量配置方法的流程示意图。在一可选实施例中,一种程序变量配置方法包括如下步骤:
S21:载入全局配置文件,读取全局配置文件中的配置项和对应的配置值;
S22:若存在区域配置文件,则载入区域配置文件,读取区域配置文件中的配置项和对应的配置值;
S23:确定全局配置文件和/或区域配置文件中的配置项对应的配置路径,根据配置路径和对应的配置值生成配置字典;
S24:若全局配置文件中设置需要载入模块系统配置文件,则载入模块系统配置文件,读取模块系统配置文件中的配置项和对应的配置值;
S25:若全局配置文件中设置需要载入模块自定义配置文件,则载入模块自定义配置文件,读取模块自定义配置文件中的配置项和对应的配置值;
S26:若存在本机配置文件,则载入本机配置文件,读取本机配置文件中的配置项和对应的配置值;
S27:确定模块系统配置文件和/或模块自定义配置文件和/或本机配置文件中的配置项对应的配置路径,根据配置路径和对应的配置值覆盖配置字典;
S28:将待配置的程序变量与对应配置项的配置路径关联;
S29:获取待配置的程序变量所关联的配置路径,根据配置路径在配置字典中获取对应的配置值,将该配置值配置为程序变量的变量值。
相对于现有技术,本发明的程序变量配置方法,通过先后载入多个配置文件或者重新载入配置文件来对配置字典进行更新,通过配置字典对程序变量进行变量配置,采用此多层覆盖模式可以有效应对同一套代码应用到不同厂区、机器中有不同特定配置的情况。同时,在多人开发项目中,对共同的配置文件更新后可以同步到代码中,而各自维护的程序可以独立配置。因此,本发明的程序变量方法可以提高生产机器控制的开发效率,且易于维护。
基于同一发明构思,本申请还提供一种程序变量配置装置。请参阅图3,其为一个实施例的程序变量配置装置的结构示意图,该装置包括配置文件载入模块11、配置字典更新模块12、程序变量关联模块13和变量值配置模块14,其中,配置文件载入模块11用于载入配置文件,读取所述配置文件中的配置项和对应的配置值;配置字典更新模块12用于确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;程序变量关联模块13用于将待配置程序变量与对应所述配置项的所述配置路径关联;变量值配置模块14用于获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
优选地,程序变量配置装置还包括监听模块15,该监听模块15用于对待配置的程序变量配置监听参数,监听配置字典中配置值的变化,若配置监听参数的程序变量所对应配置路径的配置值发生变化,则重新获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
进一步,程序变量配置装置还包括变化通知模块16,该变化通知模块16用于对待配置的程序变量配置通知函数地址,若配置字典中程序变量所对应配置路径的配置值发生变化,通过通知函数地址调用通知函数。
在一优选实施例中,程序变量配置装置还包括关键字检查模块17,该关键字检查模块17用于对待配置的程序变量配置关键字检查模式。
基于同一发明构思,本申请还提供另一种程序变量配置装置。请参阅图4,其为另一实施例的程序变量配置装置的结构示意图,该装置包括:
全局配置载入模块21,用于载入全局配置文件,读取全局配置文件中的配置项和对应的配置值;
区域配置载入模块22,用于若存在区域配置文件,则载入区域配置文件,读取区域配置文件中的配置项和对应的配置值;
配置字典生产模块23,用于确定全局配置文件和/或区域配置文件中的配置项对应的配置路径,根据配置路径和对应的配置值生成配置字典;
模块系统配置载入模块24,用于若全局配置文件中设置需要载入模块系统配置文件,则载入模块系统配置文件,读取模块系统配置文件中的配置项和对应的配置值;
模块自定义配置载入模块25,用于若全局配置文件中设置需要载入模块自定义配置文件,则载入模块自定义配置文件,读取模块自定义配置文件中的配置项和对应的配置值;
本机配置模块26,用于若存在本机配置文件,则载入本机配置文件,读取本机配置文件中的配置项和对应的配置值;
配置字典更新模块27,用于确定模块系统配置文件和/或模块自定义配置文件和/或本机配置文件中的配置项对应的配置路径,根据配置路径和对应的配置值覆盖配置字典;
程序变量关联模块28,用于将待配置的程序变量与对应配置项的配置路径关联;
变量值配置模块29,用于获取待配置的程序变量所关联的配置路径,根据配置路径在配置字典中获取对应的配置值,将该配置值配置为程序变量的变量值。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关细节之处请参见方法实施例的说明。
基于同一发明构思,本申请还提供一种电子设备,可以是服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。该设备包括一个或多个处理器和存储器,其中处理器用于执行程序实现方法实施例的通信解析方法;存储器用于存储可由所述处理器执行的计算机程序。
基于同一发明构思,本申请还提供一种计算机可读存储介质,与前述通信解析方法的实施例相对应,所述计算机可读存储介质其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所记载的通信解析方法的步骤。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
Claims (10)
1.一种程序变量配置方法,其特征在于,包括如下步骤:
载入配置文件,读取所述配置文件中的配置项和对应的配置值;
确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;
将待配置程序变量与对应所述配置项的所述配置路径关联;
获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
2.根据权利要求1所述的方法,其特征在于,还包括步骤:
对所述待配置程序变量配置监听参数,监听所述配置字典中配置值的变化,若配置所述监听参数的程序变量所对应配置路径的配置值发生变化,则重新获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
3.根据权利要求1-2中任一项所述的方法,其特征在于:对所述待配置程序变量配置通知函数地址,若所述配置字典中所述待配置程序变量所对应配置路径的配置值发生变化,通过所述通知函数地址调用通知函数。
4.根据权利要求1所述的方法,其特征在于,将该配置值配置为所述待配置程序变量的变量值前,还包括步骤:
对所述待配置程序变量配置关键字检查模式,对待配置的所述配置值与预设关键字进行匹配;
当所述关键字检查模式配置为全匹配模式,若所述配置值与所述预设关键字完全相同,则将所述配置值配置为所述待配置程序变量的变量值;若所述配置值与所述预设关键字不相同,则发送配置错误通知;
当所述关键字检查模式配置为半匹配模式,若所述配置值中包含所述预设关键字,则将所述配置值配置为所述待配置程序变量的变量值;若所述配置值不包含预设关键字,则发送配置错误通知。
5.根据权利要求1所述的方法,其特征在于:所述配置文件包括本机配置文件,所述本机配置文件为针对不同机器的程序变量设置的配置文件。
6.一种程序变量配置方法,其特征在于,包括步骤:
载入全局配置文件,读取所述全局配置文件中的配置项和对应的配置值;
若存在区域配置文件,则载入所述区域配置文件,读取所述区域配置文件中的配置项和对应的配置值;
确定所述全局配置文件和/或所述区域配置文件中的配置项对应的配置路径,根据所述配置路径和对应的配置值生成配置字典;
若所述全局配置文件中设置需要载入模块系统配置文件,则载入所述模块系统配置文件,读取所述模块系统配置文件中的配置项和对应的配置值;
若所述全局配置文件中设置需要载入模块自定义配置文件,则载入所述模块自定义配置文件,读取所述模块自定义配置文件中的配置项和对应的配置值;
若存在本机配置文件,则载入所述本机配置文件,读取所述本机配置文件中的配置项和对应的配置值;
确定所述模块系统配置文件和/或所述模块自定义配置文件和/或所述本机配置文件中的配置项对应的配置路径,根据所述配置路径和对应的配置值覆盖所述配置字典;
将待配置程序变量与对应配置项的所述配置路径关联;
获取所述待配置程序变量所关联的配置路径,根据所述配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
7.一种程序变量配置装置,其特征在于,包括:
配置文件载入模块,用于载入配置文件,读取所述配置文件中的配置项和对应的配置值;
配置字典更新模块,用于确定所述配置项对应的配置路径,通过所述配置路径和对应的所述配置值更新配置字典;
程序变量关联模块,用于将待配置程序变量与对应所述配置项的所述配置路径关联;
变量值配置模块,用于获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
8.根据权利要求7所述的装置,其特征在于,还包括:
监听模块,用于对所述待配置程序变量配置监听参数,监听所述配置字典中配置值的变化,若配置所述监听参数的程序变量所对应配置路径的配置值发生变化,则重新获取所述待配置程序变量所关联的所述配置路径,根据该配置路径在所述配置字典中获取对应的配置值,将该配置值配置为所述待配置程序变量的变量值。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现权利要求1-5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储由计算机程序,其特征在于,所述计算机程序被执行时实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211720999.8A CN115858012B (zh) | 2022-12-30 | 2022-12-30 | 程序变量配置方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211720999.8A CN115858012B (zh) | 2022-12-30 | 2022-12-30 | 程序变量配置方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115858012A true CN115858012A (zh) | 2023-03-28 |
CN115858012B CN115858012B (zh) | 2023-10-20 |
Family
ID=85656310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211720999.8A Active CN115858012B (zh) | 2022-12-30 | 2022-12-30 | 程序变量配置方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858012B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662683A (zh) * | 2011-12-30 | 2012-09-12 | 广东东研网络科技有限公司 | 基于键-值对格式的通信设备配置文件的生成和导入方法 |
US20180314518A1 (en) * | 2017-04-28 | 2018-11-01 | Servicenow, Inc. | Systems and methods for tracking configuration file changes |
CN109522153A (zh) * | 2018-10-15 | 2019-03-26 | 广东宝莱特医用科技股份有限公司 | 一种用于监护仪的配置文件自动修复方法及系统 |
CN110471708A (zh) * | 2019-07-12 | 2019-11-19 | 中国平安人寿保险股份有限公司 | 基于可重用组件的配置项获取的方法及装置 |
US20200084115A1 (en) * | 2018-09-07 | 2020-03-12 | Servicenow, Inc. | Identification and display of configuration item information |
CN111625273A (zh) * | 2020-05-20 | 2020-09-04 | 北京北方华创微电子装备有限公司 | 半导体设备的配置文件修改方法及装置 |
WO2020237797A1 (zh) * | 2019-05-31 | 2020-12-03 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN112364083A (zh) * | 2020-11-12 | 2021-02-12 | 深圳赛安特技术服务有限公司 | 基于配置文件的数据字典管理方法、系统及存储介质 |
CN113282327A (zh) * | 2021-06-28 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 应用程序配置项的配置方法、装置、设备及存储介质 |
CN113326077A (zh) * | 2021-06-11 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种配置文件的加载方法及装置 |
CN113342399A (zh) * | 2021-06-29 | 2021-09-03 | 中国农业银行股份有限公司 | 应用项目的结构配置方法、装置及可读存储介质 |
WO2021208288A1 (zh) * | 2020-04-17 | 2021-10-21 | 北京全路通信信号研究设计院集团有限公司 | 一种代码与配置数据分离的程序实现方法及系统 |
WO2021218172A1 (zh) * | 2020-04-30 | 2021-11-04 | 平安科技(深圳)有限公司 | 共享库文件模拟方法、装置、计算机设备及存储介质 |
US20220019413A1 (en) * | 2020-07-20 | 2022-01-20 | Bank Of America Corporation | Architecture diagram analysis tool for software development |
CN114816361A (zh) * | 2022-04-26 | 2022-07-29 | 中国工商银行股份有限公司 | 拼搭工程生成方法、装置、设备、介质和程序产品 |
CN114995877A (zh) * | 2022-08-03 | 2022-09-02 | 平安银行股份有限公司 | 一种变量配置方法及装置 |
CN115361279A (zh) * | 2022-08-12 | 2022-11-18 | 广州博冠信息科技有限公司 | 配置数据的更新方法、装置、电子设备及计算机可读介质 |
-
2022
- 2022-12-30 CN CN202211720999.8A patent/CN115858012B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662683A (zh) * | 2011-12-30 | 2012-09-12 | 广东东研网络科技有限公司 | 基于键-值对格式的通信设备配置文件的生成和导入方法 |
US20180314518A1 (en) * | 2017-04-28 | 2018-11-01 | Servicenow, Inc. | Systems and methods for tracking configuration file changes |
US20200084115A1 (en) * | 2018-09-07 | 2020-03-12 | Servicenow, Inc. | Identification and display of configuration item information |
CN109522153A (zh) * | 2018-10-15 | 2019-03-26 | 广东宝莱特医用科技股份有限公司 | 一种用于监护仪的配置文件自动修复方法及系统 |
WO2020237797A1 (zh) * | 2019-05-31 | 2020-12-03 | 烽火通信科技股份有限公司 | 一种微服务框架下动态配置管理方法及系统 |
CN110471708A (zh) * | 2019-07-12 | 2019-11-19 | 中国平安人寿保险股份有限公司 | 基于可重用组件的配置项获取的方法及装置 |
WO2021208288A1 (zh) * | 2020-04-17 | 2021-10-21 | 北京全路通信信号研究设计院集团有限公司 | 一种代码与配置数据分离的程序实现方法及系统 |
WO2021218172A1 (zh) * | 2020-04-30 | 2021-11-04 | 平安科技(深圳)有限公司 | 共享库文件模拟方法、装置、计算机设备及存储介质 |
CN111625273A (zh) * | 2020-05-20 | 2020-09-04 | 北京北方华创微电子装备有限公司 | 半导体设备的配置文件修改方法及装置 |
US20220019413A1 (en) * | 2020-07-20 | 2022-01-20 | Bank Of America Corporation | Architecture diagram analysis tool for software development |
CN112364083A (zh) * | 2020-11-12 | 2021-02-12 | 深圳赛安特技术服务有限公司 | 基于配置文件的数据字典管理方法、系统及存储介质 |
CN113326077A (zh) * | 2021-06-11 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种配置文件的加载方法及装置 |
CN113282327A (zh) * | 2021-06-28 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 应用程序配置项的配置方法、装置、设备及存储介质 |
CN113342399A (zh) * | 2021-06-29 | 2021-09-03 | 中国农业银行股份有限公司 | 应用项目的结构配置方法、装置及可读存储介质 |
CN114816361A (zh) * | 2022-04-26 | 2022-07-29 | 中国工商银行股份有限公司 | 拼搭工程生成方法、装置、设备、介质和程序产品 |
CN114995877A (zh) * | 2022-08-03 | 2022-09-02 | 平安银行股份有限公司 | 一种变量配置方法及装置 |
CN115361279A (zh) * | 2022-08-12 | 2022-11-18 | 广州博冠信息科技有限公司 | 配置数据的更新方法、装置、电子设备及计算机可读介质 |
Non-Patent Citations (1)
Title |
---|
富亚军: "《企业互联网架构原理与实践》", 机械工业出版社, pages: 123 - 125 * |
Also Published As
Publication number | Publication date |
---|---|
CN115858012B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11113050B2 (en) | Application architecture generation | |
US10305731B2 (en) | System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server | |
CN111158730B (zh) | 系统更新方法、装置、电子设备和可读存储介质 | |
CN109558318B (zh) | 一种代码管理方法和代码仓库分布式系统 | |
CN106095501A (zh) | 一种应用部署方法及装置 | |
CN111694612A (zh) | 配置检查方法、装置、计算机系统及存储介质 | |
US9779014B2 (en) | Resilient mock object creation for unit testing | |
CN110851168B (zh) | 数据处理方法及其装置、计算机可读存储介质 | |
CN112069052B (zh) | 一种异常对象检测方法、装置、设备及存储介质 | |
CN111651358A (zh) | 生成测试用例的方法、软件测试方法、装置和服务器 | |
CN106990974B (zh) | 一种app应用更新方法、装置及电子设备 | |
CN117667109A (zh) | 一种环境部署方法、装置、电子设备及存储介质 | |
CN110471828B (zh) | 一种操作系统测试方法、装置及其设备 | |
CN115858012B (zh) | 程序变量配置方法、装置、电子设备及存储介质 | |
CN108052335B (zh) | 数据管理方法、装置、计算设备及存储介质 | |
CN113672269B (zh) | 数据处理方法、系统、电子设备及程序产品 | |
CN111930387B (zh) | 一种集成包的集成方法及装置、电子设备和存储介质 | |
US20170212755A1 (en) | System and method for computing a criticality metric of a unit of source code | |
CN114691496A (zh) | 单元测试方法、装置、计算设备及介质 | |
CN113568834A (zh) | Sdk代码的兼容性检测方法、装置、计算机设备和介质 | |
CN111367796A (zh) | 应用程序调试方法及装置 | |
CN115328491A (zh) | 持续集成方法、装置及存储介质 | |
CN114185555A (zh) | 一种服务器部署的方法、装置及电子设备 | |
CN111158694A (zh) | 编译告警处理方法及装置 | |
CN116149976A (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 | ||
CP03 | Change of name, title or address |
Address after: 510000 3, building 9, two South Road, Dashi street, Dashi street, Guangzhou, Guangdong, Panyu District, China. Patentee after: Guangzhou Yihong Intelligent Equipment Co.,Ltd. Country or region after: China Address before: 511449 101-301, building 3, No. 9, Huijiang Shinan Second Road, Dashi street, Panyu District, Guangzhou, Guangdong Patentee before: GUANGZHOU EHOLLY INTELLIGENT EQUIPMENT Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |