CN108304186B - 一种基于合成配置文件执行多项操作的方法与设备 - Google Patents
一种基于合成配置文件执行多项操作的方法与设备 Download PDFInfo
- Publication number
- CN108304186B CN108304186B CN201610675887.3A CN201610675887A CN108304186B CN 108304186 B CN108304186 B CN 108304186B CN 201610675887 A CN201610675887 A CN 201610675887A CN 108304186 B CN108304186 B CN 108304186B
- Authority
- CN
- China
- Prior art keywords
- configuration file
- dependency
- parameters
- executing
- configuration
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种基于合成配置文件执行多项操作的方法与设备。与现有技术相比,本申请获取操作对应的配置文件,然后合并所述配置文件以获得用于执行所述操作的合成配置文件;相应地,本申请解析待处理的合成配置文件以获得存在依赖关系的配置文件,根据所述依赖关系执行所述配置文件对应的操作;本申请通过将存在依赖关系的多个配置文件合并为所述合成配置文件,实现在所述合成配置文件中同时修改多个配置文件共有的参数,无需分别修改多个配置文件共有的参数,从而保持共有参数的一致性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种基于合成配置文件执行多项操作的技术。
背景技术
在分布式存储等场景中,通常会存在多次执行相互依赖的情况,比如:需要读取文件,那么一定依赖于需要先写文件进去,这里的读就依赖于之前的写。现有的技术方案通常对于每个执行的实例(case)或者作业(job),都单独保存一个配置文件,在不同的执行场景人为的写死执行的顺序。导致每次新的执行都可能涉及重新写一次执行顺序。由此可见,现有技术方案主要存在如下问题:
1)如果有多次执行的配置文件都需要修改,容易忘记修改,可能导致参数不一致从而导致执行结果不符合预期。
2)在执行的过程中容易出现执行顺序错误,导致执行失败。
发明内容
本申请的一个目的是提供一种基于合成配置文件执行多项操作的方法与设备,以解决同时修改多个配置文件共有的参数的问题。
根据本申请的一个方面,提供了一种基于合成配置文件执行多项操作的方法,其中,该方法包括:
解析待处理的合成配置文件以获得存在依赖关系的配置文件;
根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
根据本申请的另一个方面,提供了一种用于合并多个配置文件的方法,其中,所述方法包括:
获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;
合并所述配置文件以获得用于执行所述操作的合成配置文件。
根据本申请的又一个方面,提供了一种基于合成配置文件执行多项操作的设备,其中,该设备包括:
解析装置,用于解析待处理的合成配置文件以获得存在依赖关系的配置文件;
执行装置,用于根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
根据本申请的再一个方面,提供了一种用于合并多个配置文件的设备,其中,所述设备包括:
获取装置,用于获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;
合并装置,用于合并所述配置文件以获得用于执行所述操作的合成配置文件。
与现有技术相比,本申请获取操作对应的配置文件,然后合并所述配置文件以获得用于执行所述操作的合成配置文件;相应地,本申请解析待处理的合成配置文件以获得存在依赖关系的配置文件,根据所述依赖关系执行所述配置文件对应的操作;本申请通过将存在依赖关系的多个配置文件合并为所述合成配置文件,实现在所述合成配置文件中同时修改多个配置文件共有的参数,无需分别修改多个配置文件共有的参数,从而保持共有参数的一致性。进一步地,本申请对于存在依赖关系的两个配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作,从而可以有效避免存在依赖关系的多项操作执行顺序出错。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一种配置文件与合成配置文件的关系示意图;
图2示出根据本申请另一个方面的一种用于合并多个配置文件的方法流程图;
图3示出根据本申请又一个方面的一种基于合成配置文件执行多项操作的设备示意图;
图4示出根据本申请再一个方面的一种用于合并多个配置文件的设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
根据本申请一个方面,提供了一种基于合成配置文件执行多项操作的方法,所述方法包括步骤S11和步骤S12。
具体地,在步骤S11中,设备1解析待处理的合成配置文件以获得存在依赖关系的配置文件;在步骤S12中,设备1根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
在一种包括一个或多个计算机可读存储介质的计算机程序产品中,所述计算机可读存储介质上具有计算机可执行指令,所述计算机可执行指令构造成在被中间计算系统的一个或多个处理器执行时,使所述中间计算系统执行所述方法。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S11中,设备1解析待处理的合成配置文件以获得存在依赖关系的配置文件,如图1所示。
例如,在对分布式存储系统进行测试时,如果需要对某文件进行读操作,那么一定依赖于先对该文件进行写操作,其中,读操作对应的配置文件与写操作对应的配置文件之间存在依赖关系。在此,可以通过解析对应的合成配置文件,获得存在依赖关系的读操作对应的配置文件与写操作对应的配置文件。
优选地,所述合成配置文件中参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息;其中,在步骤S11中设备1根据所述依赖层级标识信息解析所述合成配置文件,以获得存在依赖关系的配置文件。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则C1中参数的最低操作依赖层级信息为0(因为没有操作依赖O1)、C2-C1中参数(即在C2中出现、但未在C1中出现的参数)的最低操作依赖层级信息为1(因为O2被O1依赖)、C3-C2-C1中参数(即在C3中出现、但未在C1、C2中出现的参数)的最低操作依赖层级信息为2(因为O3被O2依赖)。
再例如,在合成配置文件中,可以用依赖层级标识信息“_”表示最低操作依赖层级信息为1的参数;可以用依赖层级标识信息“__”表示最低操作依赖层级信息为2的参数;比如可以将依赖层级标识信息“_”或“__”添加为对应的参数的前缀,以标识对应的参数。
当然,本领域技术人员应能理解上述“_”符号作为参数的前缀仅为举例,也可以用“&”、“%”等其他符号作为参数的前缀或后缀表示依赖层级标识信息。
优选地,具有相同的所述依赖层级标识信息的参数在去除所述依赖层级标识信息后被归入同一个所述配置文件。
例如,接上例,解析合成配置文件时,将前缀为“_”的参数在去除该依赖层级标识信息“_”后归入同一个所述配置文件,并将前缀为“__”的参数在去除该依赖层级标识信息“__”后归入同一个所述配置文件。
假设读操作及写操作对应的合成配置文件,如下:
//write&read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
解析该合成配置文件,先得到写操作对应的配置文件:
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
once_read_size=1024
thread=10
在步骤S12中,设备1根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
例如,对于存在依赖关系的读操作与写操作,在解析读操作及写操作对应的合成配置文件时,先执行被读操作所依赖的写操作,然后根据执行写操作时的配置来执行读操作。上例中的file_prex、thread、file_size是读操作对应的配置文件与写操作对应的配置文件共有的参数。
优选地,所述根据所述依赖关系执行所述配置文件对应的操作包括:对于存在依赖关系的两个所述配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作;或者,对于相独立的两个所述配置文件,分别独立执行所述配置文件对应的操作。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则按照O3、O2、O1的顺序依次执行;若操作O1同时依赖于相独立的操作O2及O3,则分别独立执行O2及O3,然后再执行O1。
优选地,所述按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作还包括:执行所述被依赖配置文件时,跳过所述依赖配置文件中的专用参数。
例如,解析上例中读操作及写操作对应的合成配置文件,先得到写操作对应的配置文件:
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
once_read_size=1024
thread=10
在执行写操作时,跳过(即不解析)读操作对应的配置文件中的专用参数“once_read_size=1024”。
然后根据执行写操作时的配置来执行读操作:
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
在执行读操作时,不解析写操作对应的配置文件中的专用参数“_execotr=write”及“_once_write_size=1024”。
图2示出根据本申请另一个方面的一种用于合并多个配置文件的方法流程图。
所述方法包括步骤S21和步骤S22。具体地,在步骤S21中,设备2获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;在步骤S22中,设备2合并所述配置文件以获得用于执行所述操作的合成配置文件。
在一种包括一个或多个计算机可读存储介质的计算机程序产品中,所述计算机可读存储介质上具有计算机可执行指令,所述计算机可执行指令构造成在被中间计算系统的一个或多个处理器执行时,使所述中间计算系统执行所述方法。
在此,所述设备2包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备2还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备2仅为举例,其他现有的或今后可能出现的设备2如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S21中,设备2获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖。
例如,在对分布式存储系统进行测试时,如果需要对某文件进行读操作,那么一定依赖于先对该文件进行写操作,其中,读操作对应的配置文件与写操作对应的配置文件之间存在依赖关系。在此,获取读操作对应的配置文件与写操作对应的配置文件,通过执行写操作来配置读操作对应的配置文件中的参数。
在步骤S22中,设备2合并所述配置文件以获得用于执行所述操作的合成配置文件,如图1所示。
例如,接上例,假设读操作对应的配置文件的格式如下:
//read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
写操作对应的配置文件的格式如下:
//write
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
thread=10
合并上述读操作对应的配置文件与写操作对应的配置文件,以获得读操作及写操作对应的合成配置文件,如下:
//write&read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
优选地,在步骤S22中,设备2合并所述配置文件以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
例如,上例中的file_prex、thread、file_size是读操作对应的配置文件与写操作对应的配置文件共有的参数。在合成配置文件中,可以用依赖层级标识信息“_”表示最低操作依赖层级信息为1的参数;可以用依赖层级标识信息“__”表示最低操作依赖层级信息为2的参数;比如可以将依赖层级标识信息“_”或“__”添加为对应的参数的前缀,以标识对应的参数;最低操作依赖层级信息为0的参数则无需添加前缀。
当然,本领域技术人员应能理解上述“_”符号作为参数的前缀仅为举例,也可以用“&”、“%”等其他符号作为参数的前缀或后缀表示依赖层级标识信息。
与现有技术相比,当需要修改多个配置文件共有的参数时,本申请只需要修改对应的合成配置文件,而现有技术方案需要分别修改多个配置文件,本申请可以避免因为多次修改导致的共有参数不一致错误。
优选地,在步骤S22中,设备2根据所述操作的操作间依赖关系确定所述操作的操作依赖层级信息;按所述操作的操作依赖层级信息递增的顺序对所述配置文件进行合并,以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则C1中参数的最低操作依赖层级信息为0(因为没有操作依赖O1)、C2-C1中参数(即在C2中出现、但未在C1中出现的参数)的最低操作依赖层级信息为1(因为O2被O1依赖)、C3-C2-C1中参数(即在C3中出现、但未在C1、C2中出现的参数)的最低操作依赖层级信息为2(因为O3被O2依赖)。对配置文件C1、C2、C3进行合并时,可以先将合成配置文件Ch初始化为C1;然后将C2并入Ch,其中,C2-C1的参数被标记相对应的依赖层级标识信息;再将C3并入Ch,其中,C3-C2-C1的参数被标记相对应的依赖层级标识信息。
图3示出根据本申请又一个方面的一种基于合成配置文件执行多项操作的设备1,其中,设备1包括解析装置11和执行装置12。
具体地,所述解析装置11解析待处理的合成配置文件以获得存在依赖关系的配置文件;所述执行装置12根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述解析装置11解析待处理的合成配置文件以获得存在依赖关系的配置文件,如图1所示。
例如,在对分布式存储系统进行测试时,如果需要对某文件进行读操作,那么一定依赖于先对该文件进行写操作,其中,读操作对应的配置文件与写操作对应的配置文件之间存在依赖关系。在此,可以通过解析对应的合成配置文件,获得存在依赖关系的读操作对应的配置文件与写操作对应的配置文件。
优选地,所述合成配置文件中参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息;其中,所述解析装置11根据所述依赖层级标识信息解析所述合成配置文件,以获得存在依赖关系的配置文件。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则C1中参数的最低操作依赖层级信息为0(因为没有操作依赖O1)、C2-C1中参数(即在C2中出现、但未在C1中出现的参数)的最低操作依赖层级信息为1(因为O2被O1依赖)、C3-C2-C1中参数(即在C3中出现、但未在C1、C2中出现的参数)的最低操作依赖层级信息为2(因为O3被O2依赖)。
再例如,在合成配置文件中,可以用依赖层级标识信息“_”表示最低操作依赖层级信息为1的参数;可以用依赖层级标识信息“__”表示最低操作依赖层级信息为2的参数;比如可以将依赖层级标识信息“_”或“__”添加为对应的参数的前缀,以标识对应的参数。
当然,本领域技术人员应能理解上述“_”符号作为参数的前缀仅为举例,也可以用“&”、“%”等其他符号作为参数的前缀或后缀表示依赖层级标识信息。
优选地,具有相同的所述依赖层级标识信息的参数在去除所述依赖层级标识信息后被归入同一个所述配置文件。
例如,接上例,解析合成配置文件时,将前缀为“_”的参数在去除该依赖层级标识信息“_”后归入同一个所述配置文件,并将前缀为“__”的参数在去除该依赖层级标识信息“__”后归入同一个所述配置文件。
假设读操作及写操作对应的合成配置文件,如下:
//write&read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
解析该合成配置文件,先得到写操作对应的配置文件:
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
once_read_size=1024
thread=10
所述执行装置12根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置。
例如,对于存在依赖关系的读操作与写操作,在解析读操作及写操作对应的合成配置文件时,先执行被读操作所依赖的写操作,然后根据执行写操作时的配置来执行读操作。上例中的file_prex、thread、file_size是读操作对应的配置文件与写操作对应的配置文件共有的参数。
优选地,所述根据所述依赖关系执行所述多个配置文件对应的多项操作包括:对于存在依赖关系的两个所述配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作;或者,对于相独立的两个所述配置文件,分别独立执行所述配置文件对应的操作。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则按照O3、O2、O1的顺序依次执行;若操作O1同时依赖于相独立的操作O2及O3,则分别独立执行O2及O3,然后再执行O1。
优选地,所述按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作还包括:执行所述被依赖配置文件时,跳过所述依赖配置文件中的专用参数。
例如,解析上例中读操作及写操作对应的合成配置文件,先得到写操作对应的配置文件:
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
once_read_size=1024
thread=10
在执行写操作时,跳过(即不解析)读操作对应的配置文件中的专用参数“once_read_size=1024”。
然后根据执行写操作时的配置来执行读操作:
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
在执行读操作时,不解析写操作对应的配置文件中的专用参数“_execotr=write”及“_once_write_size=1024”。
图4示出根据本申请再一个方面的一种用于合并多个配置文件的设备2,其中,设备2包括获取装置21和合并装置22。
具体地,所述获取装置21获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;所述合并装置22合并所述配置文件以获得用于执行所述操作的合成配置文件。
在此,所述设备2包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备2还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备2仅为举例,其他现有的或今后可能出现的设备2如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述获取装置21获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖。
例如,在对分布式存储系统进行测试时,如果需要对某文件进行读操作,那么一定依赖于先对该文件进行写操作,其中,读操作对应的配置文件与写操作对应的配置文件之间存在依赖关系。在此,获取读操作对应的配置文件与写操作对应的配置文件,通过执行写操作来配置读操作对应的配置文件中的参数。
所述合并装置22合并所述配置文件以获得用于执行所述操作的合成配置文件,如图1所示。
例如,接上例,假设读操作对应的配置文件的格式如下:
//read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
写操作对应的配置文件的格式如下:
//write
execotr=write
file_prex=file://xxxx/
file_size=1024*1024*1024
once_write_size=1024
thread=10
合并上述读操作对应的配置文件与写操作对应的配置文件,以获得读操作及写操作对应的合成配置文件,如下:
//write&read
execotr=read
file_prex=file://xxxx/
file_size=1024*1024*1024
once_read_size=1024
thread=10
_execotr=write
_once_write_size=1024
优选地,所述合并装置22合并所述配置文件以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
例如,上例中的file_prex、thread、file_size是读操作对应的配置文件与写操作对应的配置文件共有的参数。在合成配置文件中,可以用依赖层级标识信息“_”表示最低操作依赖层级信息为1的参数;可以用依赖层级标识信息“__”表示最低操作依赖层级信息为2的参数;比如可以将依赖层级标识信息“_”或“__”添加为对应的参数的前缀,以标识对应的参数;最低操作依赖层级信息为0的参数则无需添加前缀。
当然,本领域技术人员应能理解上述“_”符号作为参数的前缀仅为举例,也可以用“&”、“%”等其他符号作为参数的前缀或后缀表示依赖层级标识信息。
与现有技术相比,当需要修改多个配置文件共有的参数时,本申请只需要修改对应的合成配置文件,而现有技术方案需要分别修改多个配置文件,本申请可以避免因为多次修改导致的共有参数不一致错误。
优选地,所述合并装置22根据所述操作的操作间依赖关系确定所述操作的操作依赖层级信息;按所述操作的操作依赖层级信息递增的顺序对所述配置文件进行合并,以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
例如,假设对于分别对应操作O1、O2、O3的配置文件C1、C2、C3,若操作间的依赖关系为O1依赖O2、O2依赖O3,则C1中参数的最低操作依赖层级信息为0(因为没有操作依赖O1)、C2-C1中参数(即在C2中出现、但未在C1中出现的参数)的最低操作依赖层级信息为1(因为O2被O1依赖)、C3-C2-C1中参数(即在C3中出现、但未在C1、C2中出现的参数)的最低操作依赖层级信息为2(因为O3被O2依赖)。对配置文件C1、C2、C3进行合并时,可以先将合成配置文件Ch初始化为C1;然后将C2并入Ch,其中,C2-C1的参数被标记相对应的依赖层级标识信息;再将C3并入Ch,其中,C3-C2-C1的参数被标记相对应的依赖层级标识信息。
与现有技术相比,本申请获取操作对应的配置文件,然后合并所述配置文件以获得用于执行所述操作的合成配置文件;相应地,本申请解析待处理的合成配置文件以获得存在依赖关系的配置文件,根据所述依赖关系执行所述配置文件对应的操作;本申请通过将存在依赖关系的多个配置文件合并为所述合成配置文件,实现在所述合成配置文件中同时修改多个配置文件共有的参数,无需分别修改多个配置文件共有的参数,从而保持共有参数的一致性。进一步地,本申请对于存在依赖关系的两个配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作,从而可以有效避免存在依赖关系的多项操作执行顺序出错。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (15)
1.一种基于合成配置文件执行多项操作的方法,其中,该方法包括:
解析待处理的合成配置文件以获得存在依赖关系的配置文件;
根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置;
其中,所述合成配置文件中参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息;
其中,所述解析待处理的合成配置文件以获得存在依赖关系的配置文件包括:
根据所述依赖层级标识信息解析所述合成配置文件,以获得存在依赖关系的配置文件。
2.根据权利要求1所述的方法,其中,具有相同的所述依赖层级标识信息的参数在去除所述依赖层级标识信息后被归入同一个所述配置文件。
3.根据权利要求1所述的方法,其中,所述根据所述依赖关系执行所述配置文件对应的操作包括:
对于存在依赖关系的两个所述配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作;或者,
对于相独立的两个所述配置文件,分别独立执行所述配置文件对应的操作。
4.根据权利要求3所述的方法,其中,所述按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作还包括:
执行所述被依赖配置文件时,跳过所述依赖配置文件中的专用参数。
5.一种用于合并多个配置文件的方法,其中,所述方法包括:
获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;
合并所述配置文件以获得用于执行所述操作的合成配置文件;
其中,根据依赖层级标识信息解析合成配置文件,以获得存在依赖关系的配置文件。
6.根据权利要求5所述的方法,其中,所述合并所述配置文件以获得用于执行所述操作的合成配置文件包括:
合并所述配置文件以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
7.根据权利要求6所述的方法,其中,所述合并所述配置文件以获得用于执行所述操作的合成配置文件包括:
根据所述操作的操作间依赖关系确定所述操作的操作依赖层级信息;
按所述操作的操作依赖层级信息递增的顺序对所述配置文件进行合并,以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
8.一种基于合成配置文件执行多项操作的设备,其中,该设备包括:
解析装置,用于解析待处理的合成配置文件以获得存在依赖关系的配置文件;
执行装置,用于根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置;
其中,所述合成配置文件中参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息;
其中,所述解析装置用于:
根据所述依赖层级标识信息解析所述合成配置文件,以获得存在依赖关系的配置文件。
9.根据权利要求8所述的设备,其中,具有相同的所述依赖层级标识信息的参数在去除所述依赖层级标识信息后被归入同一个所述配置文件。
10.根据权利要求8所述的设备,其中,所述根据所述依赖关系执行所述配置文件对应的操作包括:
对于存在依赖关系的两个所述配置文件,按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作;或者,
对于相独立的两个所述配置文件,分别独立执行所述配置文件对应的操作。
11.根据权利要求10所述的设备,其中,所述按先后顺序执行被依赖配置文件对应的操作及依赖配置文件对应的操作还包括:
执行所述被依赖配置文件时,跳过所述依赖配置文件中的专用参数。
12.一种用于合并多个配置文件的设备,其中,所述设备包括:
获取装置,用于获取操作对应的配置文件,其中,所述配置文件中的参数通过执行所述操作来进行配置,所述操作依赖于其他操作或被其他操作依赖;
合并装置,用于合并所述配置文件以获得用于执行所述操作的合成配置文件;
其中,根据依赖层级标识信息解析合成配置文件,以获得存在依赖关系的配置文件。
13.根据权利要求12所述的设备,其中,所述合并装置用于:
合并所述配置文件以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
14.根据权利要求13所述的设备,其中,所述合并装置用于:
根据所述操作的操作间依赖关系确定所述操作的操作依赖层级信息;
按所述操作的操作依赖层级信息递增的顺序对所述配置文件进行合并,以获得用于执行所述操作的合成配置文件,其中,所述合成配置文件中除所述配置文件共有的参数外,其余各参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息。
15.一种包括一个或多个计算机可读存储介质的计算机产品,所述计算机可读存储介质上具有计算机可执行指令,所述计算机可执行指令构造成在被中间计算系统的一个或多个处理器执行时,使所述中间计算系统执行一种基于合成配置文件执行多项操作的方法,所述方法包括:
解析待处理的合成配置文件以获得存在依赖关系的配置文件;
根据所述依赖关系执行所述配置文件对应的操作,其中,所述配置文件中的参数通过执行所述操作来进行配置;
其中,所述合成配置文件中参数包括与对应的最低操作依赖层级信息相对应的依赖层级标识信息;
其中,所述解析待处理的合成配置文件以获得存在依赖关系的配置文件包括:
根据所述依赖层级标识信息解析所述合成配置文件,以获得存在依赖关系的配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610675887.3A CN108304186B (zh) | 2016-08-16 | 2016-08-16 | 一种基于合成配置文件执行多项操作的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610675887.3A CN108304186B (zh) | 2016-08-16 | 2016-08-16 | 一种基于合成配置文件执行多项操作的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108304186A CN108304186A (zh) | 2018-07-20 |
CN108304186B true CN108304186B (zh) | 2021-07-06 |
Family
ID=62871089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610675887.3A Active CN108304186B (zh) | 2016-08-16 | 2016-08-16 | 一种基于合成配置文件执行多项操作的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304186B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918123A (zh) * | 2019-03-11 | 2019-06-21 | 山石网科通信技术股份有限公司 | 防火墙标记语言的配置方法及装置 |
CN112597134B (zh) * | 2020-12-29 | 2024-02-09 | 中国工商银行股份有限公司 | 分布式配置中心的配置方法、装置、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新系统及方法 |
CN102216901A (zh) * | 2011-05-30 | 2011-10-12 | 华为技术有限公司 | 组件扩展方法和装置 |
CN102662997A (zh) * | 2012-03-15 | 2012-09-12 | 北京播思软件技术有限公司 | 一种存储xml数据到关系数据库的方法 |
CN103902554A (zh) * | 2012-12-25 | 2014-07-02 | 阿里巴巴集团控股有限公司 | 数据访问方法与装置 |
US9405515B1 (en) * | 2015-02-04 | 2016-08-02 | Rockwell Collins, Inc. | Computing systems utilizing controlled dynamic libraries and isolated execution spaces |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473056B (zh) * | 2013-09-06 | 2016-08-17 | 北京控制工程研究所 | 一种遥测配置文件自动生成方法 |
US9323644B1 (en) * | 2015-09-30 | 2016-04-26 | Semmle Limited | Query-based software dependency analysis |
-
2016
- 2016-08-16 CN CN201610675887.3A patent/CN108304186B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141919A (zh) * | 2010-01-28 | 2011-08-03 | 北京邮电大学 | 模块化java应用软件在线更新系统及方法 |
CN102216901A (zh) * | 2011-05-30 | 2011-10-12 | 华为技术有限公司 | 组件扩展方法和装置 |
CN102662997A (zh) * | 2012-03-15 | 2012-09-12 | 北京播思软件技术有限公司 | 一种存储xml数据到关系数据库的方法 |
CN103902554A (zh) * | 2012-12-25 | 2014-07-02 | 阿里巴巴集团控股有限公司 | 数据访问方法与装置 |
US9405515B1 (en) * | 2015-02-04 | 2016-08-02 | Rockwell Collins, Inc. | Computing systems utilizing controlled dynamic libraries and isolated execution spaces |
Non-Patent Citations (1)
Title |
---|
合并资源指将多个配置文件合并,产生一个配置;j0bay00r;《https://blog.csdn.net/j0bay00r/article/details/41150251》;20141115;1-36 * |
Also Published As
Publication number | Publication date |
---|---|
CN108304186A (zh) | 2018-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562600B (zh) | 页面检测方法、装置、计算设备以及存储介质 | |
CN107066519B (zh) | 一种任务检测方法及装置 | |
WO2017107808A1 (zh) | 针对混淆脚本语言的定位方法和系统 | |
CN110362547B (zh) | 日志文件的编码、解析、存储方法和装置 | |
US20180268060A1 (en) | Identifying client states | |
CN111818123A (zh) | 网络前端远程回放方法、装置、设备及存储介质 | |
CN114519156A (zh) | 一种网页展示方法、操作事件记录方法及装置 | |
CN104268229A (zh) | 一种基于多进程浏览器的资源获得方法及装置 | |
CN108228443B (zh) | 一种web应用的测试方法及装置 | |
CN110321457A (zh) | 访问日志解析规则生成方法及装置、日志解析方法及系统 | |
CN108304186B (zh) | 一种基于合成配置文件执行多项操作的方法与设备 | |
CN109542754B (zh) | 移动设备的接入方法、应用程序的调试方法、装置和系统 | |
EP3625684A1 (en) | Enhanced component latency tracking | |
CN109558548B (zh) | 一种消除css样式冗余的方法及相关产品 | |
CN111314535A (zh) | 手机质检过程记录方法及设备 | |
CN105207830A (zh) | 一种终端信息的检测方法、装置及终端 | |
CN105824647A (zh) | 一种表单页面生成方法和装置 | |
CN107169057B (zh) | 一种重复图片的检测方法和装置 | |
CN109344083B (zh) | 一种程序调试方法、装置、设备及可读存储介质 | |
US9436575B2 (en) | Selective profiling of applications | |
CN112333294A (zh) | 日志归并方法、装置、介质和设备 | |
CN107766385B (zh) | 一种转换虚拟磁盘文件格式的方法与设备 | |
CN109558549B (zh) | 一种消除css样式冗余的方法及相关产品 | |
CN110968810A (zh) | 网页数据处理方法和装置 | |
CN109710833B (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 |