CN104915238A - 一种Web应用的配置参数关联确定方法 - Google Patents
一种Web应用的配置参数关联确定方法 Download PDFInfo
- Publication number
- CN104915238A CN104915238A CN201510368841.2A CN201510368841A CN104915238A CN 104915238 A CN104915238 A CN 104915238A CN 201510368841 A CN201510368841 A CN 201510368841A CN 104915238 A CN104915238 A CN 104915238A
- Authority
- CN
- China
- Prior art keywords
- configuration parameter
- parameter
- association
- configuration
- type
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种Web应用的配置参数关联确定方法,获取Web应用***及其运行环境的配置参数集合;定义配置参数类型集合T;判断配置参数集合中每个配置参数的参数名和取值是否满足T中参数类型的表达式;对配置参数集合计算参数间的关联,配置参数间的关联分为一致性关联和其他关联,一致性关联是指存在关联的配置参数需要在取值方面保持一致,其他关联是指除一致性关联之外的、配置参数间存在的其他语义关联;对得到的初始相似配置参数备选集合和初始关联配置参数备选集合进行过滤;确定Web应用***中的关联参数集合。本发明提高了应用配置的正确性,降低了应用迁移和部署过程中由于忽略配置参数关联而导致的应用配置错误。
Description
技术领域
本发明涉及一种配置参数关联方法,尤其涉及一种面向Web应用的配置参数关联关系的自动确定方法,属于计算机软件技术领域。
背景技术
配置(configuration)是软件***不可或缺的组成部分,广泛存在于软件部署、升级以及迁移等应用场景中。配置覆盖了软件***及其环境的多个方面,包括配置文件、已安装的软件,甚至包括底层硬件环境。广义上来讲,软件配置是指以用户需求和软件的功能、结构及主要特性等为依据,选择和确定相关硬件、软件和固件的型号、版本及数量,规划软件放置位置和关联关系,设置软件***相关参数值等;狭义上的软件配置主要是指对软件***配置参数取值的设置。
多层架构的Web应用已成为当前主流的网络应用软件,构成Web应用的组件存在频繁交互和相互依赖,导致配置参数间产生隐式的复杂关联,给应用的配置及其错误诊断带来困难。基于异构组件的Web应用运行在多种/多层中间件平台上,分层架构使组件之间、容器之间以及组件与容器之间存在关联和依赖,也使应用及环境的配置参数之间存在隐式的复杂关联,如:配置参数取值的一致性、依赖性、取值范围的相互制约等多种类型。如果无法充分挖掘应用配置参数间的隐式关联并进行显示化表示,应用配置将发生相关的约束违背,导致***运行故障。
应用配置参数间的关联关系及其类型决定了配置项在参数取值和设置顺序等方面必须满足的规则和约束,但是Web应用的分布性和基于异构组件松散耦合的体系架构使配置参数关联更加具有隐蔽性,发现关联配置参数集合也更加困难。
当前已有的发明专利和学术研究对软件***部署问题给予了很多的关注并形成了相关的成果。
一些发明专利提出了软件和应用***相关的配置参数设置、管理和存储方法,具有代表性的包括:一种业务***中配置参数的保存方法及装置(申请号:CN201010523276.X)、一种更新配置参数的方法、装置及终端设备(申请号:CN201210583467.4)、一种自动配置参数的方法及***(申请号:CN201310020580.6)、一种参数配置模板的生成方法及利用模板配置参数的方法(申请号:CN200810128322.9)、配置参数发送方法、接收方法及装置(申请号:CN201310383501.8)、一种控制配置参数的方法和装置(申请号:CN201180001693.0)等,上述发明专利主要针对不同环境和不同类型的软件***和应用提出对应的配置参数设置、保存以及控制,提高配置参数管理和设置过程的自动化程度。但是,现有的发明专利没有针对Web应用***的大量配置参数提出专门的配置参数关联发现方法,难以保证包括Web应用在内的复杂分布式应用在***配置时的正确性。
在学术研究方面,SPEX(参见文献:Xu TY,Zhang JQ,Huang P,Zheng J,ShengTW,Yuan D,Zhou YY,Pasupathy S.Do not blame users for misconfigurations.InSOSP‘13,2013针对“名值对”类型的配置参数错误,基于静态程序数据流分析从配置参数的读取和使用模式中推断出涉及多配置参数的控制依赖(control dependency)和取值关联(value correlation),但是SPEX目前主要应用于单个程序和***的“名值对”类型配置参数,对于跨***的配置间关联导致的约束不适用。Encore(参见文献:Zhang JQ,Renganarayana L,Zhang XL,Ge NY,Bala V,Xu TY,Zhou YY.EnCore:Exploitingsystem environment and correlation information for misconfiguration detection.InASPLOS’14,2014)基于统计分析和数据挖掘方法,预先定义一组约束模板(template)来描述配置项及环境信息间可能存在的二元关联关系,基于模板集合Encore从训练集中选取满足模板的配置项并逐一进行实例化,产生针对目标***的一组备选配置关联集合。Encore需要以训练数据集为基础,还需要提供预定义的约束模板,同样主要用于检测单个***内部由于存在配置关联而导致的错误,没有考虑多个***间存在关联的场景。
发明内容
本发明的目的是:克服现有技术的不足,提供一种Web应用的配置参数关联确定方法,该方法能够根据已知的构成Web应用的组件及运行支撑环境之间的关联和依赖实施较为全面的、自动化的组件间配置参数关联检测与确定,基于确定的参数配置关联提高了应用配置的正确性,降低了应用迁移和部署过程中由于忽略配置参数关联而导致的应用配置错误。
本发明技术解决方案:一种Web应用的配置参数关联确定方法,实现步骤如下:
(1)对Web应用***及其运行环境查找配置文件并进行配置参数的抽取和处理,获取Web应用***及其运行环境的配置参数集合C(W);所有的配置参数均以一个参数名k和取值v的二元组表示;
(2)基于Web应用***配置参数特征,定义配置参数类型集合T={T1,T2,…,Tp},对于Ti∈T(1≤i≤p),Ti=<ni,ei>,其中ni表示参数类型名,ei为该参数类型的表达式;
(3)基于步骤(2)定义的配置参数类型集合T,对步骤(1)的配置参数集合C(W)中的每个配置参数t进行分析。为每个配置参数t设定参数名称类型向量tk=(Tk1,Tk2,…,Tkp)和参数取值类型向量tv=(Tv1,Tv2,…,Tvp),其中的每个分量都初始化为0。判断配置参数集合C(W)中每个配置参数的参数名和取值是否满足T中参数类型的各个表达式,如果参数名称(或参数取值)满足类型Ti的表达式,则将tk(或tv)对应的向量分量Tki(或Tvi)值设为1,否则值仍为0;
(4)对配置参数集合C(W)计算参数间的关联,所述配置参数间的关联分为一致性关联和其他关联,所述一致性关联是指存在关联的配置参数需要在取值方面保持一致,所述其他关联是指除一致性关联之外的、配置参数间存在的其他语义关联;以配置参数的名称k、取值v、名称类型向量tk和取值类型向量tv为依据,从一致性关联和其他关联两个方面分别查找Web应用***的关联配置参数;通过计算配置参数的相似度来查找一致性关联,通过计算配置参数的关联度来查找其他关联;得到初始相似配置参数备选集合Sim’(W)和初始关联配置参数备选集合Correl’(W);
(5)为了提高准确度,需要对步骤(4)中计算得到的初始相似配置参数备选集合Sim’(W)和初始关联配置参数备选集合Correl’(W)进行过滤;
(6)最后,通过步骤(5)过滤得到当前Web应用***中可能存在的一致性关联配置参数集合Sim(W)和其他关联配置参数集合Correl(W),以Sim(W)∪Correl(W)作为方法最终确定目标Web应用***中的关联参数集合。
所述步骤(1)中查找配置文件的方法为:首先基于配置文件后缀名找到Web应用***中可能的配置文件集合,然后针对类型不同的配置文件从中解析具有名值对形式的配置参数集合,对于给定的Web应用***W,得到的配置参数集合C(W)={C1,C2,…,Cm,…,E1,E2,…,En},其中,Ci(1≤i≤m)为应用中第i个组件的配置参数集合,Ej(1≤j≤n)为应用中第j个运行支撑环境的配置参数集合,对于所有的配置参数c∈C(W),c=<k,v>,即所有的配置参数均以一个参数名k和取值v的二元组表示。
所述步骤(3)中判断的方法:以配置参数类型集合T的向量tk=(Tk1,Tk2,…,Tkp)和tv=(Tv1,Tv2,…,Tvp)表示当前配置参数ck∈C(W),ck=<kk,vk>的参数名称类型向量与取值类型特征向量,其中,当ck的名称满足参数类型定义集合T中的类型Ti(1≤i≤p)的表达式时,则参数名称类型向量tk对应的第i个分类值为1,否则为0;ck的取值类型向量tv的建立方法与tk类似,对于C(W)中的每个配置参数都会得到对应的参数名称类型向量与取值类型向量tk和tv。
所述步骤(5)中的过滤方法采用阈值与启发性规则结合的过滤方法,具体实现为:
(51)分别设定相似度阈值Tsim和关联度阈值Tcorrel,当两个参数间的相似度大于等于Tsim,或者关联度大于等于Tcorrel时,则认为当前两个配置参数可能相似或者可能关联;
(52)对于组件i,j的配置参数集合Ci和Cj,如果Ci中的某个配置参数cik与Cj中的多个配置参数可能相似或可能存在关联,则只取相似度或关联度最高的3个作为备选的配置参数关联。
所述步骤(4)中的计算配置参数的相似度包括:配置参数的名称类型相似度、取值的类型相似度,配置参数名称的最长公共子串长度和类型的最长公共子串长度,然后取四个计算值的平均配置参数的相似度。
所述步骤(4)中的计算配置参数的关联度,分别名称类型关联度和取值类型关联度,然后以两者的平均值作为最终关联度。
本发明的积极效果为:采用本发明的方法,可以针对复杂的分布式、异构Web应用***的配置参数实施自动化的组件间配置参数关联查找,基于自动检测发现的关联配置参数,能够在应用***部署和迁移过程中修改配置参数取值时考虑到与之相关的配置参数取值是否应该发生变化,从而大大减少修改配置参数取值而导致的参数配置不完整、参数配置变化遗漏等情况,减少了应用配置错误几率,可以大大提高Web应用***的配置效率和正确性。
附图说明
图1为本发明方法实现方案图;
图2为云端文档存储管理和协作***结构及部署示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
如图1所示,本发明具体包括以下几个步骤:
(1)对Web应用***及其运行环境查找配置文件并进行配置参数的抽取和处理,获取Web应用***及其运行环境的配置参数集合。Web应用***及其运行环境的配置参数通常以“名值对(key-value)”的形式存在于多种类型的配置文件中,配置文件类型包括:.xml、.properties、.ini、.conf等。本发明首先基于配置文件后缀名找到Web应用***中可能的配置文件集合,然后针对类型不同的配置文件从中解析具有名值对形式的配置参数集合。对于给定的Web应用***W,得到的配置参数集合C(W)={C1,C2,…,Cm,…,E1,E2,…,En},其中,Ci(1≤i≤m)为应用中第i个组件的配置参数集合,Ej(1≤j≤n)为应用中第j个运行支撑环境的配置参数集合。对于所有的配置参数c∈C(W),c=<k,v>,即所有的配置参数都以一个参数名(k)和取值(v)的二元组表示。
(2)基于对Web应用***配置参数特征的观察,本发明发现应用配置参数可以分为字符串类型、数值类型以及布尔类型,针对每种类型又可以从语义上细分为更多的子类型,如:字符串类型的用户名、密码等;数值类型的资源数量、时间等;布尔类型的应用特性开关、操作模式等。预先定义了包含p个配置参数类型定义的配置参数类型集合T={T1,T2,…,Tp},对于任一参数类型定义Ti,Ti∈T(1≤i≤p),Ti=<ni,ei>,其中ni表示类型名,ei为该参数类型的表达式。
(3)对于步骤1得到的配置参数集合C(W),方法基于步骤2定义的配置参数类型T对分析C(W)中每个配置参数的类型,通过判断参数名称和取值是否满足T中类型的表达式来确定。以向量tk=(Tk1,Tk2,…,Tkp)和tv=(Tv1,Tv2,…,Tvp)表示当前配置参数ck∈C(W),ck=<kk,vk>的名称与取值的类型特征向量,其中,当ck的名称满足参数类型定义集合T中的类型Ti(1≤i≤p)的表达式时,则其名称类型向量tk对应的第i个分类值为1,否则为0;ck的取值类型向量tv的建立方法与tk类似。对于C(W)中的每个配置参数都会得到对应的名称与取值类型向量tk和tv。tki、tkj分别表示参数i和j的名称类型向量,tvi、tvj分别表示参数i和j的取值类型向量。
(4)对配置参数集合C(W)计算参数间的关联。配置参数间的关联主要分为一致性关联和其他关联,一致性关联是指存在关联的配置参数需要在取值方面保持一致,例如应用的数据库连接池配置中,关于数据库名称、用户名、密码的参数取值必须与对应数据库的用户名、密码设置一致。其他关联是指除一致性关联之外的、配置参数间存在的其他语义关联。例如:一个描述资源(如线程池)的参数可以与一个描述资源数量的数值型参数关联,即数值型参数规定了对应资源的最大使用量。方法针对步骤3中预先定义的参数类型T声明了可能存在的类型关联。对于每个关联coltype=<Ti,Tj>(1≤i,j≤p),即类型i与j之间存在关联。本发明从一致性关联和其他关联两个方面分别查找目标***的关联配置参数。主要通过计算配置参数的相似度来查找一致性关联,通过计算配置参数的关联度来查找其他关联。
(41)为了缩小查找范围,以应用组件之间以及应用组件与运行环境之间存在的关联和依赖为指导,只在存在关联的组件和环境之间查找参数关联。例如,对于应用W,由于其组件i和j存在关联,而均与组件k没有关联,那么方法将在i和j的配置参数集合Ci与Cj之间查找参数关联,而不会在Ci与Ck以及Cj与Ck之间查找。
(42)计算组件间配置参数的相似度,本发明的依据包括:配置参数的名称、取值的类型相似度,配置参数名称和类型的最长公共子串长度。如公式(1)所示,对于组件i和j的任意两个配置参数ci=<ki,vi>,cj=<kj,vj>,方法分别计算ci和cj的名称类型相似度(typeSim(ki,kj))、名称最长公共子串比例(subRatio(ki,kj))和取值类型相似度(typeSim(vi,vj))、取值最长公共子串比例(subRatio(vi,vj)),然后取四个计算值的平均作为ci和cj的相似度(Sim(ci,cj)),即:
计算类型相似度时,分别以ci和cj的参数名称类型向量tki、tkj的夹角余弦值和参数值类型夹角余弦值tvi、tvj作为ci和cj的类型相似度typeSim(ki,kj)和typeSim(vi,vj)。计算取值相似度时,方法基于最长相同子串算法分别计算ci和cj的名称相似度subRatio(ki,kj)和取值相似度subRatio(vi,vj)。
(43)计算组件间配置参数的关联度,对于组件i和j的任意两个配置参数ci=<ki,vi>,cj=<kj,vj>,分别计算ci和cj的名称类型关联度(correl(ki,kj))、和取值类型关联度(correl(vi,vj)),然后以两者的平均值作为ci和cj的最终关联度(Correl(ci,cj)),如公式(2),即:
基于ci和cj两者名称和取值的类型向量分别计算名称类型关联度(correl(ki,kj))和取值类型关联度(correl(vi,vj))。
(5)为了提高准确度,需要对步骤4中计算得到的初始相似配置参数备选集合Sim’(W)和初始关联配置参数备选集合Correl’(W)进行过滤。采用阈值与启发性规则对备选集合过滤。
(51)分别设定相似度阈值Tsim和关联度阈值Tcorrel,当两个参数间的相似度大于等于Tsim,或者关联度大于等于Tcorrel时,则认为当前两个配置参数可能相似或者可能关联。
(52)对于组件i,j的配置参数集合Ci和Cj,如果Ci中的某个配置参数cik与Cj中的多个(>=3)配置参数可能相似(或可能存在关联),则本发明只取相似度(关联度)最高的3个作为备选的配置参数关联。
(6)最后,通过步骤(5)过滤得到当前Web应用***中可能存在的一致性关联配置参数集合Sim(W)和其他关联配置参数集合Correl(W),以Sim(W)∪Correl(W)作为方法最终发现的目标Web应用***中的关联参数集合。
作为本发明实施例的使用环境,所述Web应用是一个在线的云端文档存储管理和协作***Cloudshare,该***提供在线的文档云存储,文档的分享(好友、讨论组、邮件以及外链分享),聊天,历史版本,工作空间管理、联系人管理、***管理等服务,是一个典型的分布式复杂Web应用。
作为本发明实施例的使用环境,所述在线的云端文档存储管理和协作***Cloudshare由消息服务、检索服务、技术通讯服务和Web Module等多个功能组件构成,还包括了运行该应用***的多种中间件、数据库和其他运行支撑环境,包括:应用服务器Tomcat、消息中间件ActiveMQ、内存数据库***Redis以及关系型数据库MySQL等。***结构如图2所示,三个大矩形表示***使用的3台服务器Node1、Node2和Node3,对应的***配置和IP地址设置参见表2;在3台服务器上分别部署了不同的软件***和组件(以大矩形内的各个小矩形表示),包括Tomcat、ActiveMQ、Redis和MySQL等,每台服务器的环境配置以矩形Env.Profile表示,主要记录了该服务器的资源配置情况和环境变量信息。各个软件和组件间的关联依赖通过图2中的带箭头实线表示,例如Node1中的组件Service依赖于Node3中的Database。组件列表及对应的功能如下表1所示。
表1云端文档存储管理和协作***Cloudshare组件信息
作为本发明实施例的使用环境,云端文档存储管理和协作***Cloudshare的部署环境由3台服务器构成并通过网络互联,***的部署需求示意图参看图2,部署环境配置如下表所示。
表2Cloudshare部署环境信息
对于该实施例,期望基于***配置文件以及组件间的依赖关系,得到应用***Cloudshare的配置参数间的关联,可以使用本发明的方法来求解。
具体步骤如下:
1、声明应用***各个组件的部署结点、安装位置以及所依赖的组件和运行支撑环境。同时显示的声明物理结点的资源和环境配置情况,包括:操作***、内存和磁盘空间大小、IP地址、JDK安装路径(JAVA_HOME)以及其他的CLASSPATH信息。
2、对于该实施例采用本发明内容中步骤1所描述的方法进行配置文件查找和配置参数抽取。采用的配置文件后缀名类型包括:.properties、.ini、.conf、.cnf、.xml、.cf、.cfg,得到配置文件集合如表3所示。接着,参照本发明方法步骤1中所述内容,依次对每个配置文件进行解析,得到基于名值对的配置参数集合,并以***的组件为单位进行组织。
表3云端文档存储管理和协作***Cloudshare配置文件
3、本发明步骤2描述的配置参数类型和表达式可以应用于所有目标***,并且能够根据实际需求进行参数类型的修改和扩展。在该实施例中,使用的参数类型主要包括字符串(String)、数值(Numeric)、布尔(Mode)和其他(Other)几大类。同时,每一大类又根据参数名称的具体语义细分为多个小类,例如在数值型参数中又可分为:时间(time)、大小(size)、计数(count)、资源(resource)等。方法的配置参数类型划分和描述如表4所示。
表4配置参数类型划分和描述
4、根据表4定义的配置参数类型,对步骤2中得到的Cloudshare的所有配置参数进行类型分析,通过表达式匹配对每个配置参数赋予相应的类型,每个配置参数可以具有多个类型属性。例如,Cloudshare应用组件Service.war的一个配置参数“redis.host=133.133.134.174”,通过对其参数名和参数值的分析,得到该参数的类型为:<Host,IP>。
5、方法根据参数类型之间可能存在的语义关联,定义了参数类型关联表,如表5所示,作为在本实施例中计算配置参数关联度的依据,参数类型关联表同样具有可扩展和可修改特性。
表5配置参数类型关联
编号 | 类型关联 |
1 | <Resource,Size> |
2 | <Resource,Time> |
3 | <Resource,Count> |
4 | <Resource,URL> |
5 | <Host,IP> |
6 | <Host,URL> |
7 | <Host,Port> |
8 | <IP,Port> |
9 | <IP,URL> |
10 | <Port,URL> |
6、以步骤1中声明的Cloudshare中组件之间以及组件与运行环境之间的关联为依据,分别在存在关联的组件或运行环境的配置参数间计算参数的一致性关联和其他关联,表现为参数间的相似度和关联度。具体方法参照本发明步骤4描述的内容。例如,在本实施例中,由表1中可以看到组件Service.war与Redis之间存在关联,因此需要计算Cservice与Credis中配置参数两两之间的相似度与关联度,计算过程参照本发明步骤4中的分步2)和分步3),以及计算公式(1)和(2),得到Service.war与Redis中所有配置参数的相似度与关联度,共计40组。表6列出了Cservice与Credis中部分配置参数的相似度与关联度。
表6Service.war与Redis间配置参数相似度与关联度
7、在实施例中的配置参数相似度和关联度计算完毕后,对得到的备选集合进行过滤,参照本发明步骤5的描述进行。在本实施例中设置相似度阈值Tsim=0.6,关联度阈值Tcorrel=0.6,并同时使用本发明步骤5中第2)小步描述的过滤规则。同样以Cservice与Credis为例,最终对Cservice与Credis的初始40个参数关联过滤得到8个可能存在的配置参数间关联,如表6所示,其中,1-7为可能存在的一致性关联,8为可能存在的其他关联。
8、经最终确认,本实施例中组件Service.war与Redis之间的8个备选参数关联中,确实存在的关联为3个,对应为表6中的1、2、4。组件Service.war与Redis之间实际存在的参数关联为4个,使用本发明方法发现了上述两组件中75%的配置参数关联。对于整个实施例Cloudshare来说,使用本发明共找到实际存在的一致性关联20组和其他关联1组,而实施例Cloudshare中实际存在一致性关联22组和其他关联4组,如表7所示。由此可见,使用本发明方能够找到(20+1)/(22+4)=80.77%的配置参数关联,具有较高的覆盖率。
表7实施例Cloudshare的配置参数关联查找结果统计
关联类型 | 本方法找到的关联 | 实际存在的关联 | 比例(%) |
一致性关联 | 20 | 22 | 90.91% |
其他关联 | 1 | 4 | 25% |
统计 | 21 | 26 | 80.77% |
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (6)
1.一种Web应用的配置参数关联确定方法,其特征在于实现步骤如下:
(1)对Web应用***及其运行环境查找配置文件并进行配置参数的抽取和处理,获取Web应用***及其运行环境的配置参数集合C(W);所有的配置参数均以一个参数名k和取值v的二元组表示;
(2)基于Web应用***配置参数特征,定义配置参数类型集合T={T1,T2,…,Tp},对于Ti∈T(1≤i≤p),Ti=<ni,ei>,其中ni表示参数类型名,ei为该参数类型的表达式;
(3)基于步骤(2)定义的配置参数类型集合T,对步骤(1)的配置参数集合C(W)中的每个配置参数t进行分析,为每个配置参数t设定参数名称类型向量tk=(Tk1,Tk2,...,Tkp)和参数取值类型向量tv=(Tv1,Tv2,...,Tvp),两向量中的每个分量都初始化为0;判断配置参数集合C(W)中每个配置参数的参数名和取值是否满足T中参数类型的各个表达式;如果参数名称(或参数取值)满足类型Ti的表达式,则将tk(或tv)对应的向量分量Tki(或Tvi)值设为1,否则值仍为0;
(4)对配置参数集合C(W)计算参数间的关联,所述配置参数间的关联分为一致性关联和其他关联,所述一致性关联是指存在关联的配置参数需要在取值方面保持一致,所述其他关联是指除一致性关联之外的、配置参数间存在的其他语义关联;以配置参数的名称k、取值v、名称类型向量tk和取值类型向量tv为依据,从一致性关联和其他关联两个方面分别查找Web应用***的关联配置参数;通过计算配置参数的相似度来查找一致性关联,通过计算配置参数的关联度来查找其他关联;得到初始相似配置参数备选集合Sim’(W)和初始关联配置参数备选集合Correl’(W);
(5)对步骤(4)中计算得到的初始相似配置参数备选集合Sim’(W)和初始关联配置参数备选集合Correl’(W)进行过滤;
(6)最后,通过步骤(5)过滤得到当前Web应用***中可能存在的一致性关联配置参数集合Sim(W)和其他关联配置参数集合Correl(W),以Sim(W)∪Correl(W)作为方法最终确定目标Web应用***中的关联参数集合。
2.根据权利要求1所述的一种Web应用的配置参数关联确定方法,其特征在于:所述步骤(1)中查找配置文件的方法为:首先基于配置文件后缀名找到Web应用***中可能的配置文件集合,然后针对类型不同的配置文件从中解析具有名值对形式的配置参数集合,对于给定的Web应用***W,得到的配置参数集合C(W)={C1,C2,...,Cm,...,E1,E2,...,En},其中,Ci(1≤i≤m)为应用中第i个组件的配置参数集合,Ej(1≤j≤n)为应用中第j个运行支撑环境的配置参数集合,对于所有的配置参数c∈C(W),c=<k,v>,即所有的配置参数均以一个参数名k和取值v的二元组表示。
3.根据权利要求1所述的一种Web应用的配置参数关联确定方法,其特征在于:所述步骤(3)中判断的方法:以配置参数类型集合T的向量tk=(Tk1,Tk2,...,Tkp)和tv=(Tv1,Tv2,...,Tvp)表示当前配置参数ck∈C(W),ck=<kk,vk>的参数名称类型向量与取值类型特征向量,其中,当ck的名称满足参数类型定义集合T中的类型Ti(1≤i≤p)的表达式时,则参数名称类型向量tk对应的第i个分类值为1,否则为0;ck的取值类型向量tv的建立方法与tk类似,对于C(W)中的每个配置参数都会得到对应的参数名称类型向量与取值类型向量tk和tv。
4.根据权利要求1所述的一种Web应用的配置参数关联确定方法,其特征在于:所述步骤(5)中的过滤方法采用阈值与启发性规则结合的过滤方法,具体实现为:
(51)分别设定相似度阈值Tsim和关联度阈值Tcorrel,当两个参数间的相似度大于等于Tsim,或者关联度大于等于Tcorrel时,则认为当前两个配置参数可能相似或者可能关联;
(52)对于组件i,j的配置参数集合Ci和Cj,如果Ci中的某个配置参数cik与Cj中的多个配置参数可能相似或可能存在关联,则只取相似度或关联度最高的3个作为备选的配置参数关联。
5.根据权利要求1所述的一种Web应用的配置参数关联确定方法,其特征在于:所述步骤(4)中的计算配置参数的相似度包括:配置参数的名称类型相似度、取值的类型相似度,配置参数名称的最长公共子串长度和类型的最长公共子串长度,然后取四个计算值的平均配置参数的相似度。
6.根据权利要求1所述的一种Web应用的配置参数关联确定方法,其特征在于:所述步骤(4)中的计算配置参数的关联度,分别名称类型关联度和取值类型关联度,然后以两者的平均值作为最终关联度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368841.2A CN104915238B (zh) | 2015-06-29 | 2015-06-29 | 一种Web应用的配置参数关联确定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368841.2A CN104915238B (zh) | 2015-06-29 | 2015-06-29 | 一种Web应用的配置参数关联确定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915238A true CN104915238A (zh) | 2015-09-16 |
CN104915238B CN104915238B (zh) | 2018-03-30 |
Family
ID=54084320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510368841.2A Active CN104915238B (zh) | 2015-06-29 | 2015-06-29 | 一种Web应用的配置参数关联确定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915238B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528230A (zh) * | 2015-12-23 | 2016-04-27 | 北京奇虎科技有限公司 | 一种配置参数的设置方法和装置 |
CN108123821A (zh) * | 2016-11-30 | 2018-06-05 | 华为技术有限公司 | 一种数据分析方法及装置 |
CN108804136A (zh) * | 2018-05-31 | 2018-11-13 | 中国人民解放军国防科技大学 | 一种基于名称语义的配置项类型约束推断方法 |
CN109408123A (zh) * | 2018-10-10 | 2019-03-01 | 聚好看科技股份有限公司 | 一种配置文件重新加载的方法及装置 |
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN112230983A (zh) * | 2020-10-15 | 2021-01-15 | 上海宏路数据技术股份有限公司 | 信息处理方法、电子设备和介质 |
CN112953737A (zh) * | 2019-11-26 | 2021-06-11 | 中兴通讯股份有限公司 | 配置异常检测方法、服务器以及存储介质 |
CN114968409A (zh) * | 2022-06-06 | 2022-08-30 | 北京友友天宇***技术有限公司 | 软件服务复杂依赖关系的管理方法、装置和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505243B (zh) * | 2009-03-10 | 2011-01-05 | 中国科学院软件研究所 | 一种Web应用性能异常侦测方法 |
CN101957794B (zh) * | 2010-09-21 | 2012-05-23 | 中国科学院软件研究所 | Web应用部署约束自动检测方法 |
CN102004777B (zh) * | 2010-11-19 | 2013-03-27 | 中国科学院软件研究所 | 一种可定制的Web信息集成方法及*** |
-
2015
- 2015-06-29 CN CN201510368841.2A patent/CN104915238B/zh active Active
Non-Patent Citations (1)
Title |
---|
陈伟等: "W4H:一个面向软件部署的技术分析框架", 《软件学报》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528230A (zh) * | 2015-12-23 | 2016-04-27 | 北京奇虎科技有限公司 | 一种配置参数的设置方法和装置 |
CN108123821B (zh) * | 2016-11-30 | 2020-03-20 | 华为技术有限公司 | 一种数据分析方法及装置 |
CN108123821A (zh) * | 2016-11-30 | 2018-06-05 | 华为技术有限公司 | 一种数据分析方法及装置 |
WO2018099301A1 (zh) * | 2016-11-30 | 2018-06-07 | 华为技术有限公司 | 一种数据分析方法及装置 |
CN108804136A (zh) * | 2018-05-31 | 2018-11-13 | 中国人民解放军国防科技大学 | 一种基于名称语义的配置项类型约束推断方法 |
CN108804136B (zh) * | 2018-05-31 | 2021-10-01 | 中国人民解放军国防科技大学 | 一种基于名称语义的配置项类型约束推断方法 |
CN109669717A (zh) * | 2018-09-25 | 2019-04-23 | 深圳壹账通智能科技有限公司 | 基于部署平台的数据处理方法、装置、设备及存储介质 |
CN109408123A (zh) * | 2018-10-10 | 2019-03-01 | 聚好看科技股份有限公司 | 一种配置文件重新加载的方法及装置 |
CN109408123B (zh) * | 2018-10-10 | 2021-08-24 | 聚好看科技股份有限公司 | 一种配置文件重新加载的方法及装置 |
CN112953737A (zh) * | 2019-11-26 | 2021-06-11 | 中兴通讯股份有限公司 | 配置异常检测方法、服务器以及存储介质 |
CN112953737B (zh) * | 2019-11-26 | 2023-07-28 | 中兴通讯股份有限公司 | 配置异常检测方法、服务器以及存储介质 |
CN112230983A (zh) * | 2020-10-15 | 2021-01-15 | 上海宏路数据技术股份有限公司 | 信息处理方法、电子设备和介质 |
CN112230983B (zh) * | 2020-10-15 | 2021-08-03 | 上海嗨普智能信息科技股份有限公司 | 信息处理方法、电子设备和介质 |
CN114968409A (zh) * | 2022-06-06 | 2022-08-30 | 北京友友天宇***技术有限公司 | 软件服务复杂依赖关系的管理方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104915238B (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915238A (zh) | 一种Web应用的配置参数关联确定方法 | |
US10257678B2 (en) | Scalable data discovery in an internet of things (IoT) system | |
US11637762B2 (en) | MDL-based clustering for dependency mapping | |
US10805171B1 (en) | Understanding network entity relationships using emulation based continuous learning | |
US11539590B2 (en) | Detect impact of network maintenance in software defined infrastructure | |
CN110798517B (zh) | 去中心化集群负载均衡方法、***、移动终端及存储介质 | |
CN103117877B (zh) | 一种基于迭代式ttl-ipid数据包分类的网络拓扑自动生成装置 | |
CN112199189A (zh) | 深度学习模型对资源受限边缘设备的适应 | |
US20210099480A1 (en) | System and method for analyzing relationships between clusters of electronic devices to counter cyberattacks | |
CN109144813A (zh) | 一种云计算***服务器节点故障监控***及方法 | |
Zhang et al. | Mobility and dependence-aware QoS monitoring in mobile edge computing | |
Chen et al. | Multi‐dimensional fuzzy trust evaluation for mobile social networks based on dynamic community structures | |
CN112330519A (zh) | 一种数据处理的方法和装置 | |
CN113810234B (zh) | 微服务链路拓扑处理方法、装置及可读存储介质 | |
CN110995489B (zh) | 大数据平台服务器管理方法、装置、服务器及存储介质 | |
Kallab et al. | Automatic K-resources discovery for hybrid web connected environments | |
CN107835153B (zh) | 一种脆弱性态势数据融合方法 | |
CN114756301A (zh) | 日志处理方法、装置和*** | |
Saxena et al. | Degree ranking using local information | |
Rodrigues et al. | L2GClust: Local-to-global clustering of stream sources | |
White et al. | MMRCA: multimodal root cause analysis | |
Turkina et al. | Interval evaluation of trust and reputation for Internet of Things | |
CN111865640A (zh) | 一种网络架构描述方法及其装置 | |
CN113794698B (zh) | 基于sdn的安全测试方法和装置,安全测试*** | |
CN115250278B (zh) | 一种多云管理平台与云服务商资源同步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |