CN109063181B - 数据配置方法、装置、服务器及存储介质 - Google Patents
数据配置方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN109063181B CN109063181B CN201810967171.XA CN201810967171A CN109063181B CN 109063181 B CN109063181 B CN 109063181B CN 201810967171 A CN201810967171 A CN 201810967171A CN 109063181 B CN109063181 B CN 109063181B
- Authority
- CN
- China
- Prior art keywords
- placeholder
- configuration
- placeholders
- mapping
- mapping list
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013507 mapping Methods 0.000 claims abstract description 212
- 238000012545 processing Methods 0.000 claims description 32
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005336 cracking Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种数据配置方法、装置、服务器及存储介质,包括:获取待配置的目标代码,其中,所述目标代码中包括占位符;根据预设的映射列表提取与所述占位符具有映射关系的配置参数;将所述占位符替换为所述配置参数生成可执行代码。通过设置预设列表,在进行代码的动态配置时,首先通过目标代码中的占位符,在映射列表中提取与占位符具有对应关系的配置参数,然后将改参数替换至目标代码中完成配置。由于映射列表中能够设置多个占位符以及与其对应的多个配置参数,因此,能够快速的对目标代码中的配置参数进行替换,即使目标代码中存在多个占位符或者在复杂环境中占位符是递归式存在的也能够通过映射列表进行快速配置。
Description
技术领域
本公开涉及计算机应用领域,尤其是一种数据配置方法、装置、服务器及存储介质。
背景技术
配置文件大多用来设置那些需要在代码运行时需要的动态配置,这些配置可以随配随变。一般的配置是简单的key(键)value(值)的形式,其中key都是不变的,只有value会随着环境的不同而改变。
相关技术中,配置文件设定的key值不会发生改变,而不同的配置文件中value值却能够在允许的前提下随意设置。动态配置时,面对不同的配置文件,通过提取配置文件中key值对应的value值完成对代码的参数配置。
发明内容
本公开的发明人在研究中发现,相关技术中的代码配置技术,配置方式单一,只能通过一一对应的方式在配置文件中搜索配置参数,配置效率低下,对配置装置的负载压力较大。
为克服相关技术中存在的问题,本公开提供一种数据配置方法、装置、服务器及存储介质。
根据本公开实施例的第一方面,提供一种数据配置方法,包括:
获取待配置的目标代码,其中,所述目标代码中包括占位符;
根据预设的映射列表提取与所述占位符具有映射关系的配置参数;
将所述占位符替换为所述配置参数生成可执行代码。
可选地,所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数之前,还包括:
获取当前的轮值映射列表;
检测所述轮值映射列表是否具有与所述占位符具有映射关系的配置参数;
当所述轮值映射列表中具有与所述占位符具有映射关系的配置参数时,确定所述轮值映射列表为所述目标代码的可执行映射列表。
可选地,所述目标代码中包括多个占位符,所述多个占位符被划分为不同级别,且所述不同级别表征所述多个占位符映射调用时的优先级;所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数,包括:
获取所述多个占位符中的一级占位符,其中,所述一级占位符为映射调用时优先级最高的占位符;
在所述映射列表中提取与所述一级占位符具有映射关系的配置参数;
当提取到所述一级占位符的配置参数后,依次提取所述多个占位符中优先级排列在所述一级占位符之后的占位符的配置参数,至所述多个占位符的配置参数均被提取时为止。
可选地,所述目标代码中包括多个占位符;所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数,包括:
获取所述多个占位符中上一位的占位符对应的配置参数;
将所述上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;
根据所述索引参数在所述映射列表中提取所述下一位的占位符的配置参数,其中,所述映射列表中所述索引参数对应的配置参数为所述下一位的占位符的配置参数。
可选地,所述目标代码中包括第一占位符和第二占位符;所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数,包括:
获取所述多个占位符中的第一占位符;
在所述映射列表中提取与所述第一占位符具有映射关系的第一配置参数;
将所述第一配置参数与第二占位符结合后生成第一索引参数;
根据所述第一索引参数在所述映射列表提取与所述第一索引参数具有映射关系的第二配置参数。
可选地,所述将所述占位符替换为所述配置参数生成可执行代码,包括:
将所述第一占位符和第二占位符均替换为所述第二配置参数生成所述可执行代码。
可选地,所述映射列表为数据字典。
根据本公开实施例的第二方面,提供一种数据配置装置,包括:
获取单元,被配置为获取待配置的目标代码,其中,所述目标代码中包括占位符;
处理单元,被配置为根据预设的映射列表提取与所述占位符具有映射关系的配置参数;
执行单元,被配置为将所述占位符替换为所述配置参数生成可执行代码。
可选地,所述数据配置装置还包括:
第一获取单元,被配置为获取当前的轮值映射列表;
第一处理单元,被配置为检测所述轮值映射列表是否具有与所述占位符具有映射关系的配置参数;
第一执行单元,被配置为当所述轮值映射列表中具有与所述占位符具有映射关系的配置参数时,确定所述轮值映射列表为所述目标代码的可执行映射列表。
可选地,所述目标代码中包括多个占位符,所述多个占位符被划分为不同级别,且所述不同级别表征所述多个占位符映射调用时的优先级;所述数据配置装置还包括:
第二获取子单元,被配置为获取所述多个占位符中的一级占位符,其中,所述一级占位符为映射调用时优先级最高的占位符;
第二处理子单元,被配置为在所述映射列表中提取与所述一级占位符具有映射关系的配置参数;
第二执行子单元,被配置为当提取到所述一级占位符的配置参数后,依次提取所述多个占位符中优先级排列在所述一级占位符之后的占位符的配置参数,至所述多个占位符的配置参数均被提取时为止。
可选地,所述目标代码中包括多个占位符;所述数据配置装置还包括:
第三获取子单元,被配置为获取所述多个占位符中上一位的占位符对应的配置参数;
第三处理子单元,被配置为将所述上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;
第三执行子单元,被配置为根据所述索引参数在所述映射列表中提取所述下一位的占位符的配置参数,其中,所述映射列表中所述索引参数对应的配置参数为所述下一位的占位符的配置参数。
可选地,所述目标代码中包括第一占位符和第二占位符;所述数据配置装置还包括:
第四获取子单元,被配置为获取所述多个占位符中的第一占位符;
第四处理子单元,被配置为在所述映射列表中提取与所述第一占位符具有映射关系的第一配置参数;
第一生成子单元,被配置为将所述第一配置参数与第二占位符结合后生成第一索引参数;
第四执行子单元,被配置为根据所述第一索引参数在所述映射列表提取与所述第一索引参数具有映射关系的第二配置参数。
可选地,所述数据配置装置还包括:
第五执行子单元,被配置为将所述第一占位符和第二占位符均替换为所述第二配置参数生成所述可执行代码。
可选地,所述映射列表为数据字典。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为如上述所述数据配置方法的步骤。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述所述的数据配置方法。
根据本申请公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序代码,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行上述所述的数据配置方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过设置预设列表,在进行代码的动态配置时,首先通过目标代码中的占位符,在映射列表中提取与占位符具有对应关系的配置参数,然后将改参数替换至目标代码中完成配置。由于映射列表中能够设置多个占位符以及与其对应的多个配置参数,因此,能够快速的对目标代码中的配置参数进行替换,即使目标代码中存在多个占位符或者在复杂环境中占位符是递归式存在的也能够通过映射列表进行快速配置。提高了参数配置的效率,同时,单张映射列表的设置也能够减少配置装置的工作频次,减少对配置装置的负载压力。映射列表的设置也提高了代码的配置的安全性,通过对映射列表进行保护,就能够有效的限制不法分子对目标代码的盗用和破解。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种数据配置方法的基本流程示意图。
图2是根据一示例性实施例示出的确定映射列表的一种流程示意图。
图3是根据一示例性实施例示出的获取配置参数的一种流程示意图。
图4是根据一示例性实施例示出的获取配置参数的第二种流程示意图。
图5是根据一示例性实施例示出的获取配置参数的第三种流程示意图。
图6是根据一示例性实施例示出的一种数据配置装置框图。
图7是根据一示例性实施例示出的一种用于数据配置方法的电子设备的框图。
图8是根据一示例性实施例示出的一种用于数据方法的另一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和日志追踪方法的例子。
图1是根据一示例性实施例示出的一种数据配置方法的基本流程示意图。
如图1所示,一种数据配置方法,包括:
S1100、获取待配置的目标代码,其中,所述目标代码中包括占位符;
本实施方式中,目标代码能够是计算机在当前时刻运行的一段代码或者由多段代码组成的类。应该被理解为目标代码不受代码长度或者字符数量的限制,目标代码能够是实现单个动作的短代码,也能够是实现集成功能的大篇幅代码。
目标代码中包括有占位符。其中,占位符是指先占住一个固定的位置,通过手动或者自动提取的方式往里面添加内容的符号。例如,C语言中的的格式占位符:%a,%A表示读入一个浮点值、%c表示读入一个字符或%d表示读入十进制整数。本实施方式中的组成目标代码的语言类型不局限于C语言,根据具体应用场景的不同,构成目标代码的编程语言能够是Java、C++、PHP、SQL或者其他编程语言。
S1200、根据预设的映射列表提取与所述占位符具有映射关系的配置参数;
本实施方式中计算机(pc端、移动端或者服务器端)的数据库内设置映射列表。映射列表中记录占位符与配置参数之间的映射关系,本实施方式中,占位符与配置参数之间具有一一对应的关系。但占位符与配置参数之间的对应关系不局限于此,根据具体应用场景的不同,在一些实施方式中,一个占位符能够对应多个配置参数取值,例如,当占位符对应的配置参数为在一个数值区间的内的随机数值时,占位符能够的对应的配置参数取值能够是多个。
在一些实施例中,映射列表能够是数据字典。数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。本实施方式中,数据字典记录占位符与配置参数之间的映射关系,以及占位符的逻辑组合关系。
在一些实施方式中,设有多个映射列表,不同的映射列表之间通过文件名称加以区别,在运行不同代码,或者统一代码中需要启用多个配置列表时,通过文件名称调用不同的映射列表进行执行。
根据映射列表通过查询提取的方式获取到与占位符对应的配置参数。
S1300、将所述占位符替换为所述配置参数生成可执行代码。
通过查找提取到与占位符具有映射关系的配置参数后,将配置参数与对应的占位符进行替换,替换占位符后的目标代码成为可执行代码,能够在编译后被计算机执行。
在一些实施方式中,当目标代码中的占位符为多个时,步骤S1200与步骤S1300是交替执行的。即多个占位符中具有设定的排位关系或者执行优先级,根据设定的优先级级别,首先获取优先级级别最高的占位符,获取其对应的配置参数,然后进行替换,替换完成后继续获取优先级位于第二位的占位符进行配置参数查找和替换,依次类推,直至所有的占位符被替换完成。
在一些实施方式中,目标代码中的占位符为多个,且多个占位符之间是相互递归设置的。即当第一个占位符查找到与其对应的配置参数后,该配置参数与下一位占位符结合生成索引参数,然后根据该索引参数在映射列表中查找第二位占位符对应的配置参数。第二个占位符对应的配置参数与第三位占位符结合生成新的索引参数,新的索引参数用于查找第三位占位符的配置参数,依次类推直至查找到倒数第一位的占位符对应的配置参数后结束查找。在本实施方式中,步骤S1200被反复执行直至查找到最后一位的占位符对应的配置参数后,执行步骤S1300。
上述实施方式中,通过设置预设列表,在进行代码的动态配置时,首先通过目标代码中的占位符,在映射列表中提取与占位符具有对应关系的配置参数,然后将改参数替换至目标代码中完成配置。由于映射列表中能够设置多个占位符以及与其对应的多个配置参数,因此,能够快速的对目标代码中的配置参数进行替换,即使目标代码中存在多个占位符或者在复杂环境中占位符是递归式存在的也能够通过映射列表进行快速配置。提高了参数配置的效率,同时,单张映射列表的设置也能够减少配置装置的工作频次,减少对配置装置的负载压力。映射列表的设置也提高了代码的配置的安全性,通过对映射列表进行保护,就能够有效的限制不法分子对目标代码的盗用和破解。
在一些实施方式中,设有多个映射列表,不同的映射列表之间通过文件名称加以区别,不同的映射列表中所表征的占位符的映射关系不同。因此,需要通过查找的方式确定当前占位符适用于哪一个映射列表。请参阅图2,图2为根据一示例性实施例示出的确定映射列表的一种流程示意图。
如图2所示,S1100之前,还包括:
S1010、获取当前的轮值映射列表;
在一些实施方式中,设有多个映射列表,不同的映射列表之间通过文件名称加以区别,在运行不同代码,或者统一代码中需要启用多个配置列表时,通过依次调用的方式测试那个映射列表可用,而被检测的映射列表被定义为轮值映射列表。
S1020、检测所述轮值映射列表是否具有与所述占位符具有映射关系的配置参数;
通过查找比对的方式检测轮值映射列表中是否存在与占位符具有映射关系的配置参数。
在一些实施方式中,为避免反复的调用同一配置列表,当目标代码中包括多个占位符时,在当前的轮值映射列表中将所有的占位符进行遍历查找后,完成在轮值配置列表中的查找任务。
S1030、当所述轮值映射列表中具有与所述占位符具有映射关系的配置参数时,确定所述轮值映射列表为所述目标代码的可执行映射列表。
通过在轮值映射列表中查找占位符的方式,确定出当前的轮值映射列表是否为目标代码的可执行文件。当轮值映射列表中存在占位符对应的配置参数时,则该轮值映射列表为目标代码的可执行映射列表。否则,则调用下一个映射列表进行检测比对。直至确定出目标代码的可执行映射列表。
在一些实施方式中,当目标代码包括多个映射列表时,当且仅当轮值映射列表中包括所有占位符的配置参数时,该轮值映射列表才能够是目标代码的可执行映射列表。
通过多个通用型的映射列表的设置,在目标代码中未写明指向性的映射列表时,能够通过检测比对的方式快速的确定出与该目标代码对应的映射列表。实现了目标代码的快速配置。
在一些实施方式中,当映射列表为多个时,目标代码的头部指定位置处会写明该目标代码适用的映射列表。举例说明,在目标代码的头部写明适用映射列表的文件名称。通过不同的配置文件,就能够使目标代码具有不同的配置参数,能够使配置完成的目标代码的运行结果发生变化。因此,只需配置或者修改映射列表就能够使目标代码的执行结果发生变化,大大的简化的代码参数修改的流程,节约了编码时间。
在一些实施方式中,目标代码中包括多个占位符,其中每个占位符均设置有调用优先级,即优先级最高的占位符能够第一个在映射列表中查找与其对应的配置参数,而优先级最低的占位符则只能最后在映射列表中查找与其对应的配置参数。请参阅图3,图3为根据一示例性实施例示出的获取配置参数的一种流程示意图。
如图3所示,S1200包括:
S1211、获取所述多个占位符中的一级占位符,其中,所述一级占位符为映射调用时优先级最高的占位符;
在获取目标代码的映射列表后,首先提取多个占位符中的一级占位符,其中,一级占位符为映射调用时优先级最高的占位符,即一级占位符能够第一个在映射列表中查找与其对应的配置参数。
本实施方式中,优先级的设定是具有设定的规律。例如,在目标代码中当占位符位于最内层的大括号内时,该占位符为一级占位符,位于最内层大括号内外围的多括号内的占位符为二级占位符,以此类推最外围大括号内的占位符为优先级最低的占位符。例如,${jre-${java.specfication.version}},其中,java.specification.version为一级占位符,jre-$为二级占位符。配置参数时,需要先确定一级占位符java.specification.version的配置参数后,才能确定jre-$的配置参数。但是占位符优先级的设定不局限于此,根据具体应用场景的不同,在一些实施方式中,优先级的设定能够根据预先设定的优先级列表进行确定。
S1212、在所述映射列表中提取与所述一级占位符具有映射关系的配置参数;
在提取了目标代码中的一级占位符后,在目标代码对应的映射列表中提取一级占位符的配置参数,提取的方式为检索获取。
S1213、当提取到所述一级占位符的配置参数后,依次提取所述多个占位符中优先级排列在所述一级占位符之后的占位符的配置参数,至所述多个占位符的配置参数均被提取时为止。
在提取到一级占位符对应的配置参数后,将一级占位符与该配置参数进行替换。替换完成后,获取二级占位符,其中,二级占位符为优先级位于一级占位符之后的占位符,并查找替换二级占位符的配置参数。以此类推直至优先级最低的一位占位符完成配置参数替换时,完成目标代码的参数配置。在本实施方式中,步骤S1200与S1300交替反复执行,直至目标代码的参数配置完成。
上述实施方式,通过设定目标代码中占位符的调用优先级,依次的完成配置参数的替换,能够使目标代码的参数配置高效进行,提高了配置效率。
在一些实施方式中,目标代码中的占位符为多个,且多个占位符之间是相互递归设置的。即当第一个占位符查找到与其对应的配置参数后,该配置参数与下一位占位符结合生成索引参数,然后根据该索引参数在映射列表中查找第二位占位符对应的配置参数。第二个占位符对应的配置参数与第三位占位符结合生成新的索引参数,新的索引参数用于查找第三位占位符的配置参数,依次类推直至查找到倒数第一位的占位符对应的配置参数后结束查找。请参阅图4,图4为根据一示例性实施例示出的获取配置参数的第二种流程示意图。
如图4所示,S1200包括:
S1221、获取所述多个占位符中上一位的占位符对应的配置参数;
在获取目标代码的映射列表后,首先提取多个占位符中的一级占位符,其中,一级占位符为映射调用时优先级最高的占位符,即一级占位符能够第一个在映射列表中查找与其对应的配置参数。
本实施方式中,一级占位符为第一个获取配置参数的占位符,自此之后,每个已经获取配置参数的占位符相对于下一个即将要获取配置参数的占位符而言,均属于该占位符的上一位占位符。即优先级排列在当前获取配置参数的占位符前一位的占位符为上一位的占位符。获取该占位符的配置参数。
S1222、将所述上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;
将获取的上一位的占位符的配置参数与即将进行配置参数提取的下一位的占位符进行结合,生成用于获取下一位的占位符对应的配置参数的索引参数。
本实施方式中,除一级占位符能够在映射列表中直接查找到与其对应的配置参数外,其余的占位符均需要与其上一位占位符对应的配置参数结合后生成索引参数,然后由索引参数在映射列表中查找与其对应的配置参数。
S1223、根据所述索引参数在所述映射列表中提取所述下一位的占位符的配置参数,其中,所述映射列表中所述索引参数对应的配置参数为所述下一位的占位符的配置参数。
例如,${template-${os.locale-${user.role.${this.server.role}}}}为目标代码时,其中,this.server.role、user.role和os.locale为占位符。其中,this.server.role为一级占位符,user.role为二级占位符,os.locale为三级占位符。在进行配置参数获取时,一级占位符通过在映射列表中直接进行查找,二级占位符的配置参数,则需要将一级占位符的配置参数和二级占位符结合后生成索引参数,然后通过索引参数在映射列表中获取。相同的道理,三级占位符的配置参数需要通过二级占位符的配置参数和其结合生成的索引参数进行获取。如下:
${template-${os.locale-${user.role.${this.server.role}}}}配置参数的获取顺序从1到4依次为:
this.server.role,如admin
user.role.admin,如Jack
os.locale.Jack,zh_CN
template-zh_CN,中文模板配置信息。
其中,最后一位的占位符生成的配置参数zh_CN为目标代码的可执行参数。由上述举例能够看出每个高级别配置的获取都依赖于其嵌套在内的低级别的执行。
上述实施方式中,层层递归式的占位符设计,能够使计算机通过多层组合映射关系组合后才能够获取到目标代码的配置参数,能够使占位符的配置更加便捷。同时,多层映射的设计能够使配置参数的获取更加隐秘,想要获取目标代码最终的配置参数需要明白其内在的组合映射关系,否则,无法正确运行目标代码。进一步的增强了目标代码的安全性。
在一些实施方式中,目标代码中包括第一占位符与第二占位符,其中,第一配置参数的获取需要借助于第一位占位符的配置参数。请参阅图5,图5为根据一示例性实施例示出的获取配置参数的第三种流程示意图。
如图5所示,S1200包括:
S1231、获取所述多个占位符中的第一占位符;
在获取目标代码的映射列表后,首先提取占位符中的第一占位符,其中,第一占位符为映射调用时优先级最高的占位符。
S1232、在所述映射列表中提取与所述第一占位符具有映射关系的第一配置参数;
在映射列表中获取与第一占位符具有映射关系的第一配置参数。
S1233、将所述第一配置参数与第二占位符结合后生成第一索引参数;
将第一配置参数与第二占位符结合后生成第一索引参数。生成时,第二占位符设置在第一配置参数之前。但不局限于此,根据具体应用场景的不同,在一些实施方式中,第一索引参数的生成能够是第一配置参数设置在第二占位符之前。
S1234、根据所述第一索引参数在所述映射列表提取与所述第一索引参数具有映射关系的第二配置参数。
根据第一索引参数在映射列表提取与第一索引参数具有映射关系的第二配置参数。其中,第二配置参数即为第二占位符的配置参数。
在一些实施方式中,获取第一配置参数和第二配置参数后,将第一配置参数和第二配置参数均替换到目标代码中,生成可执行代码。
在一些实施方式中,第一配置参数为获取第二占位符参数中中间参数,即第一配置参数配合第二占位符获取到第二占位符的配置参数后被丢弃。但第一配置参数的作用不局限于此,在一些实施方式中,第一配置参数能够作为目标参数的一个参数值。例如,第一占位符为人名,第二占位符为国籍时,第一配置参数“li ming”和第二配置参数“China”同时为目标代码的参数(li ming,China)。
在一些实施方式中,上述的数据配置方法中,目标代码中的占位符能够是其所表征的参数的名称。例如,java.specfication.version(Java的版本号)。但不限于此,根据具体应用场景的不同,在一些实施方式中,占位符能够为任一数字或字母的组合。
请参阅图6,图6为根据一示例性实施例示出的一种数据配置装置框图。
如图6所示,一种数据配置装置,包括:获取单元、处理单元和执行单元。其中,获取单元被配置为获取待配置的目标代码,其中,目标代码中包括占位符;处理单元被配置为根据预设的映射列表提取与占位符具有映射关系的配置参数;执行单元被配置为将占位符替换为配置参数生成可执行代码。
数据配置装置通过设置预设列表,在进行代码的动态配置时,首先通过目标代码中的占位符,在映射列表中提取与占位符具有对应关系的配置参数,然后将改参数替换至目标代码中完成配置。由于映射列表中能够设置多个占位符以及与其对应的多个配置参数,因此,能够快速的对目标代码中的配置参数进行替换,即使目标代码中存在多个占位符或者在复杂环境中占位符是递归式存在的也能够通过映射列表进行快速配置。提高了参数配置的效率,同时,单张映射列表的设置也能够减少配置装置的工作频次,减少对配置装置的负载压力。映射列表的设置也提高了代码的配置的安全性,通过对映射列表进行保护,就能够有效的限制不法分子对目标代码的盗用和破解。
在一些实施方式中,数据配置装置还包括:第一获取单元、第一处理单元和第一执行单元。其中,第一获取单元被配置为获取当前的轮值映射列表;第一处理单元被配置为检测轮值映射列表是否具有与占位符具有映射关系的配置参数;第一执行单元被配置为当轮值映射列表中具有与占位符具有映射关系的配置参数时,确定轮值映射列表为目标代码的可执行映射列表。
在一些实施方式中,目标代码中包括多个占位符,多个占位符被划分为不同级别,且不同级别表征多个占位符映射调用时的优先级;数据配置装置还包括:第二获取子单元、第二处理子单元和第二执行子单元。其中,第二获取子单元被配置为获取多个占位符中的一级占位符,其中,一级占位符为映射调用时优先级最高的占位符;第二处理子单元被配置为在映射列表中提取与一级占位符具有映射关系的配置参数;第二执行子单元被配置为当提取到一级占位符的配置参数后,依次提取多个占位符中优先级排列在一级占位符之后的占位符的配置参数,至多个占位符的配置参数均被提取时为止。
在一些实施方式中,目标代码中包括多个占位符;数据配置装置还包括:第三获取子单元、第三处理子单元和第三执行子单元。其中,第三获取子单元被配置为获取多个占位符中上一位的占位符对应的配置参数;第三处理子单元被配置为将上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;第三执行子单元被配置为根据索引参数在映射列表中提取下一位的占位符的配置参数,其中,映射列表中索引参数对应的配置参数为下一位的占位符的配置参数。
在一些实施方式中,目标代码中包括第一占位符和第二占位符;数据配置装置还包括:第四获取子单元、第四处理子单元、第一生成子单元和第四执行子单元。其中,第四获取子单元被配置为获取多个占位符中的第一占位符;第四处理子单元被配置为在映射列表中提取与第一占位符具有映射关系的第一配置参数;第一生成子单元被配置为将第一配置参数与第二占位符结合后生成第一索引参数;第四执行子单元被配置为根据第一索引参数在映射列表提取与第一索引参数具有映射关系的第二配置参数。
在一些实施方式中,数据配置装置还包括:第五执行子单元,被配置为将第一占位符和第二占位符均替换为第二配置参数生成可执行代码。
在一些实施方式中,映射列表为数据字典。
在本实施方式中,数据配置装置能够是:PC端、智能移动端或者服务器端。当数据配置装置是:PC端或智能移动端请参阅图7。当数据配置装置是服务器端时请参阅图8。
图7是根据一示例性实施例示出的一种用于数据配置方法的电子设备的框图。例如,电子设备700可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电力组件706,多媒体组件708,音频组件710,输入/输出(I/O)的接口712,传感器组件714,以及通信组件716。
处理组件702通常控制电子设备700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个处理器720来执行指令,以完成上述的数据配置方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。
存储器704被配置为存储各种类型的数据以支持在电子设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或数据配置方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
多媒体组件708包括在所述电子设备700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当设备700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当电子设备700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。
I/O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件714包括一个或多个传感器,用于为电子设备700提供各个方面的状态评估。例如,传感器组件714可以检测到设备700的打开/关闭状态,组件的相对定位,例如所述组件为电子设备700的显示器和小键盘,传感器组件714还可以检测电子设备700或电子设备700一个组件的位置改变,用户与电子设备700接触的存在或不存在,电子设备700方位或加速/减速和电子设备700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件716被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述数据配置方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述数据配置方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图8是根据一示例性实施例示出的一种用于数据方法的另一种电子设备的框图。例如,电子设备800可以被提供为一服务器。参照图8,电子设备800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述数据配置方法。
电子设备800还可以包括一个电源组件826被配置为执行电子设备800的电源管理,一个有线或无线网络接口850被配置为将电子设备800连接到网络,和一个输入输出(I/O)接口858。电子设备800可以操作基于存储在存储器832的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在一些实施方式中,还提供一种计算机程序产品,包括计算机程序代码,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行上述数据配置方法。
本领域技术人员在考虑说明书及实践这里公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种数据配置方法,其特征在于,包括:
获取待配置的目标代码,其中,所述目标代码中包括多个占位符;
根据预设的映射列表提取与所述占位符具有映射关系的配置参数,其中,所述映射列表为多个;
将所述占位符替换为所述配置参数生成可执行代码;
其中,所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数,包括:
获取所述多个占位符中上一位的占位符对应的配置参数;
将所述上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;
根据所述索引参数在所述映射列表中提取所述下一位的占位符的配置参数,其中,所述映射列表中所述索引参数对应的配置参数为所述下一位的占位符的配置参数。
2.根据权利要求1所述的数据配置方法,其特征在于,所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数之前,还包括:
获取当前的轮值映射列表;
检测所述轮值映射列表是否具有与所述占位符具有映射关系的配置参数;
当所述轮值映射列表中具有与所述占位符具有映射关系的配置参数时,确定所述轮值映射列表为所述目标代码的可执行映射列表。
3.根据权利要求1所述的数据配置方法,其特征在于,所述目标代码中包括第一占位符和第二占位符;所述根据预设的映射列表提取与所述占位符具有映射关系的配置参数,包括:
获取所述多个占位符中的第一占位符;
在所述映射列表中提取与所述第一占位符具有映射关系的第一配置参数;
将所述第一配置参数与第二占位符结合后生成第一索引参数;
根据所述第一索引参数在所述映射列表提取与所述第一索引参数具有映射关系的第二配置参数。
4.根据权利要求3所述的数据配置方法,其特征在于,所述将所述占位符替换为所述配置参数生成可执行代码,包括:
将所述第一占位符和第二占位符均替换为所述第二配置参数生成所述可执行代码。
5.根据权利要求1-4任意一项所述的数据配置方法,其特征在于,所述映射列表为数据字典。
6.一种数据配置装置,其特征在于,包括:
获取单元,被配置为获取待配置的目标代码,其中,所述目标代码中包括多个占位符;
处理单元,被配置为根据预设的映射列表提取与所述占位符具有映射关系的配置参数,其中,所述映射列表为多个;
执行单元,被配置为将所述占位符替换为所述配置参数生成可执行代码;
所述数据配置装置还包括:
第三获取子单元,被配置为获取所述多个占位符中上一位的占位符对应的配置参数;
第三处理子单元,被配置为将所述上一位的占位符对应的配置参数与下一位的占位符结合后,生成用于获取下一位的占位符对应的配置参数的索引参数;
第三执行子单元,被配置为根据所述索引参数在所述映射列表中提取所述下一位的占位符的配置参数,其中,所述映射列表中所述索引参数对应的配置参数为所述下一位的占位符的配置参数。
7.根据权利要求6所述的数据配置装置,其特征在于,所述数据配置装置还包括:
第一获取单元,被配置为获取当前的轮值映射列表;
第一处理单元,被配置为检测所述轮值映射列表是否具有与所述占位符具有映射关系的配置参数;
第一执行单元,被配置为当所述轮值映射列表中具有与所述占位符具有映射关系的配置参数时,确定所述轮值映射列表为所述目标代码的可执行映射列表。
8.根据权利要求6所述的数据配置装置,其特征在于,所述目标代码中包括第一占位符和第二占位符;所述数据配置装置还包括:
第四获取子单元,被配置为获取所述多个占位符中的第一占位符;
第四处理子单元,被配置为在所述映射列表中提取与所述第一占位符具有映射关系的第一配置参数;
第一生成子单元,被配置为将所述第一配置参数与第二占位符结合后生成第一索引参数;
第四执行子单元,被配置为根据所述第一索引参数在所述映射列表提取与所述第一索引参数具有映射关系的第二配置参数。
9.根据权利要求8所述的数据配置装置,其特征在于,所述数据配置装置还包括:
第五执行子单元,被配置为将所述第一占位符和第二占位符均替换为所述第二配置参数生成所述可执行代码。
10.根据权利要求6-9任意一项所述的数据配置装置,其特征在于,所述映射列表为数据字典。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为如权利要求1至5中任一项权利要求所述数据配置方法的步骤。
12.一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至5中任一项所述的数据配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810967171.XA CN109063181B (zh) | 2018-08-23 | 2018-08-23 | 数据配置方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810967171.XA CN109063181B (zh) | 2018-08-23 | 2018-08-23 | 数据配置方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063181A CN109063181A (zh) | 2018-12-21 |
CN109063181B true CN109063181B (zh) | 2024-07-12 |
Family
ID=64756647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810967171.XA Active CN109063181B (zh) | 2018-08-23 | 2018-08-23 | 数据配置方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063181B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032663B (zh) * | 2019-03-28 | 2021-01-01 | 广州越秀金融科技有限公司 | 信息配置方法、装置,存储介质和处理器 |
CN112667245B (zh) * | 2021-01-15 | 2024-10-18 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种代码处理方法、装置、电子设备及存储介质 |
CN115169291B (zh) * | 2022-07-14 | 2023-05-12 | 中国建筑西南设计研究院有限公司 | 文本转换方法、装置、终端设备和计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528165A (zh) * | 2016-11-11 | 2017-03-22 | 深圳中兴网信科技有限公司 | 代码生成方法及代码生成系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331985B (zh) * | 2010-07-12 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 网页页面的分片嵌套缓存的处理方法和装置 |
CN106547534B (zh) * | 2016-09-19 | 2020-04-14 | 华为技术有限公司 | 展示页面扩展点的装置及方法 |
-
2018
- 2018-08-23 CN CN201810967171.XA patent/CN109063181B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528165A (zh) * | 2016-11-11 | 2017-03-22 | 深圳中兴网信科技有限公司 | 代码生成方法及代码生成系统 |
Non-Patent Citations (1)
Title |
---|
基于门户技术的内容管理系统研究;陈洪波;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20061015;正文第2.4,2.5节 * |
Also Published As
Publication number | Publication date |
---|---|
CN109063181A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9942690B2 (en) | Method and device for information push | |
EP3179379A1 (en) | Method and apparatus for determining similarity and terminal therefor | |
CN107527619B (zh) | 语音控制业务的定位方法及装置 | |
CN105653276A (zh) | 用于语言设置的方法及装置 | |
CN106372204A (zh) | 推送消息处理方法及装置 | |
CN109063181B (zh) | 数据配置方法、装置、服务器及存储介质 | |
CN108334623B (zh) | 歌曲的显示方法、装置和系统 | |
TW202117707A (zh) | 資料處理方法、電子設備和電腦可讀儲存介質 | |
CN107885571B (zh) | 显示页面控制方法及装置 | |
CN108803892B (zh) | 一种在输入法中调用第三方应用程序的方法和装置 | |
CN111061452A (zh) | 用户界面的语音控制方法和装置 | |
CN113420531B (zh) | 一种代码文本的转换方法、装置及存储介质 | |
CN105117115B (zh) | 一种显示电子文档的方法和装置 | |
CN104951522B (zh) | 一种进行搜索的方法和装置 | |
CN111797746B (zh) | 人脸识别方法、装置及计算机可读存储介质 | |
CN108241438B (zh) | 一种输入方法、装置和用于输入的装置 | |
JP2017520877A5 (zh) | ||
CN109842688B (zh) | 一种内容推荐方法、装置、电子设备及存储介质 | |
CN115658135A (zh) | 一种代码分析处理方法、装置和可读存储介质 | |
CN112667852B (zh) | 基于视频的搜索方法、装置、电子设备及存储介质 | |
CN106959970B (zh) | 词库、词库的处理方法、装置和用于处理词库的装置 | |
CN107526683B (zh) | 应用程序功能冗余度的检测方法、装置及存储介质 | |
CN110084065B (zh) | 数据脱敏方法及装置 | |
CN112905023A (zh) | 一种输入纠错方法、装置和用于输入纠错的装置 | |
CN115303218B (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 |