一种软件编译方法及装置制造方法及图纸

技术编号:16662569 阅读:50 留言:0更新日期:2017-11-30 11:48
本发明专利技术公开了一种版本软件编译方法及装置,属于软件技术领域,该方法包括:根据预先建立的失败构建信息知识库,确定知识库中的目标频繁项集,其中,该失败构建信息知识库中保存了之前每次失败构建的项集;根据目标频繁项集计算模块之间的依赖关系,确定有效强关联规则;将有效强关联的模块绑定一起同时编译或者同时预警。本发明专利技术通过历史失败构建信息精准定位模块间关联关系,将有效强关联的模块绑定一起编译,既能最大可能实现编译项目的自我修复,能保证持续集成效果,降低了版本发布风险。又能在编译失败时能节约查错的人力资源。

【技术实现步骤摘要】
一种软件编译方法及装置
本专利技术涉及软件
,尤其涉及一种通讯行业的版本软件编译方法及装置。
技术介绍
软件版本编译是持续集成中不可缺少的环节,对于大型软件系统如通信系统,往往模块繁多,且模块间的关联耦合度较高,容易牵一发而动全身,往往会因为某个模块一个小的修改导致整个系统编译不通过。因为涉及的模块繁多,涉及的人员广泛,编译故障排查周期较长,严重阻塞持续集成,导致软件版本更新风险很高。目前,在版本编译出现不通过时,往往都是依靠维护人员一个个排除故障,以解决编译不通过的问题,这种方式一方面会导致维护人员长期困于基础环境的维护和故障定位中,同时编译故障定位时多模块间相互依赖关系影响的情况容易被忽略,排查受阻,故障解决周期较长;另一方面,很难找到对所有模块及模块间的依赖关系都了解的专业人员进行故障排除。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种软件编译方法及装置,以解决人工解决编译问题的实现难度较高,以及编译故障排除时未考虑模块间相互依赖影响的问题。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的一个方面,提供的一种版本软件编译方法,所述方法包括:根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,其中,所述失败构建信息知识库中保存了之前每次失败构建的项集;根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则;将有效强关联的模块绑定一起同时编译或者同时预警。优选的,该方法还包括:在每次编译失败时,获取失败构建的项集并添加到所述知识库中。优选的,所述根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,进一步包括:根据所述知识库中的项集,依次计算各阶频繁项集;计算所述知识库中每个1阶项集的支持度,对支持度低于第一阈值的1阶项集进行剪枝,得到1阶频繁项集;以及根据m-1阶频繁项集,采用字典顺序生成m阶项集,分别计算每个m阶项集的支持度,对支持度低于预设m阶阈值的m阶项集进行剪枝,得到m阶频繁项集,直到最后剩下的一个高阶频繁项集为止,其中,m为正整数,且m大于1。优选的,采用如下公式计算m阶频繁项集支持度:Support(X)=P(X)/P(I);Support(X->Y)=P(X∪Y)/P(I);其中,I表示所述知识库中总项集,Support(X)表示项集{X}在总项集里出现的概率,Support(X->Y)表示项集{X,Y}在总项集里出现的概率。优选的,所述根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则,进一步包括:计算所述目标频繁项集中每个非空项集的置信度,对不满足此预设置信度阈值的非空项集进行剪枝;根据剪枝后留下的非空项集的置信度,计算非空项集相互之间的提升度;确定满足提升度大于1的非空项集之间的规则为有效强关联规则。优选的,所述计算所述目标频繁项集中每个非空项集的置信度,采用如下公式:Confidence(X->Y)=P(Y|X)=P(X∪Y)/P(X);其中,置信度Confidence(X->Y)表示在具有项集X的情况下,由关联规则“X->Y”推出具有项集Y的概率。优选的,所述根据剪枝后留下的非空项集的置信度,计算非空项集相互之间的提升度,采用如下公式:Lift(X->Y)=P(Y|X)/P(Y)=P(X∪Y)/P(Y);其中,提升度Lift(X->Y)表示含有项集X的条件下,同时含有项集Y的概率,与不含项集X的条件下却含项集Y的概率之比;若Lift(X->Y)>1,则表示规则X->Y是有效的强关联规则;若Lift(X->Y)<=1,则表示规则X->Y是无效的强关联规则;若Lift(X->Y)=1,则表示项集X与项集Y相互独立。根据本专利技术的另一个方面,提供的一种版本软件编译装置包括:目标频繁项集确定单元,用于根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,其中,所述失败构建信息知识库中保存之前每次失败构建的项集;有效强关联规则分析单元,用于根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则;关联编译构建单元,用于将有效强关联的模块绑定一起同时编译或者同时预警。优选的,目标频繁项集确定单元进一步包括:第一确定子单元,用于根据所述知识库的项集,依次计算各阶频繁项集;第二确定子单元,用于计算所述知识库中每个1阶项集的支持度,对支持度低于第一阈值的1阶项集进行剪枝,得到1阶频繁项集;以及第三确定子单元,用于根据m-1阶频繁项集,采用字典顺序生成m阶项集,分别计算每个m阶项集的支持度,对支持度低于预设阈值的m阶项集进行剪枝,得到m阶频繁项集,直到最后剩下的一个高阶频繁项集为止,其中,m为正整数,且m大于1。优选的,有效强关联规则分析单元进一步包括:第一分析子单元,用于计算所述目标频繁项集中每个非空项集的置信度,对不满足预设置信度阈值的非空项集进行剪枝;第二分析子单元,用于根据剪枝后留下的非空项集的置信度,计算非空项集相互之间的提升度;第三分析子单元,用于确定满足提升度大于1的非空项集之间的规则为有效强关联规则。本专利技术提供的版本软件编译方法和装置,通过根据预先建立的失败构建信息知识库,自动计算模块间的关联度,确定有效强关联规则;根据有效强关联规则将有效强关联的模块绑定一起同时编译或者同时预警。既能最大可能实现编译项目的自我修复,能保证持续集成效果,降低了版本发布风险。又能在编译失败时能节约查错的人力资源。附图说明图1为本专利技术实施例提供的一种版本软件编译方法的流程图;图2为本专利技术实施例提供的一种目标频繁项集确定方法的流程图;图3为本专利技术实施例提供的一种有效强关联规则分析方法的流程图;图4为本专利技术实施例提供的一种版本软件编译装置的结构示意图;图5为本专利技术实施例提供的一种目标频繁项集确定单元的结构示意图;图6为本专利技术实施例提供的一种有效强关联规则分析单元的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。下面首先介绍本专利技术实施例中版本软件编译方法的实施例,该版本软件编译方法的执行主体为版本软件编译装置,该软件编译装置可以位于服务器或终端中。请参阅图1,为本专利技术实施例中版本软件编译方法的一个实施例,该方法包括:S10、根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集。其中,失败构建信息知识库中保存之前每次失败构建的项集,每个编译失败的模块对应一个项集。假设I={i1,i2,…,ij},是j个不同的项目的集合,每个ik称为一个项目。项目的集合I称为项集,其元素的个数称为项集的长度,长度为k的项集称为k阶项集。项集为I={A,B,C,D,E,F},I的长度为6。每次失败构建的任务集是总项集I的一个子集。优选的,请参阅图2,步骤S10进一步包括:S101、根据所述知识库的项集,依次计算各阶频繁项集。具体的,最小支持度是项集的最小支持阀值,代表了关联规则的最低重要性,频繁项集可以指支持度不小于此阈本文档来自技高网...
一种软件编译方法及装置

【技术保护点】
一种版本软件编译方法,其特征在于,该方法包括:根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,其中,所述失败构建信息知识库中保存了之前每次失败构建的项集;根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则;将有效强关联的模块绑定一起同时编译或者同时预警。

【技术特征摘要】
1.一种版本软件编译方法,其特征在于,该方法包括:根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,其中,所述失败构建信息知识库中保存了之前每次失败构建的项集;根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则;将有效强关联的模块绑定一起同时编译或者同时预警。2.根据权利要求1所述的版本软件编译方法,其特征在于,所述方法还包括:在每次编译失败时,获取失败构建的项集并添加到所述知识库中。3.根据权利要求1所述的版本软件编译方法,其特征在于,所述根据预先建立的失败构建信息知识库,确定所述知识库中的目标频繁项集,进一步包括:根据所述知识库的项集,依次计算各阶频繁项集;计算所述知识库中每个1阶项集的支持度,对支持度低于第一阈值的1阶项集进行剪枝,得到1阶频繁项集;以及根据m-1阶频繁项集,采用字典顺序生成m阶项集,分别计算每个m阶项集的支持度,对支持度低于预设的第m阶阈值的m阶项集进行剪枝,得到m阶频繁项集,直到最后剩下的一个高阶频繁项集为止,其中,m为正整数,且m大于1。4.根据权利要求3所述的版本软件编译方法,其特征在于,采用如下公式计算m阶频繁项集支持度:Support(X)=P(X)/P(I);Support(X->Y)=P(X∪Y)/P(I);其中,I表示所述知识库中总项集,Support(X)表示项集{X}在总项集里出现的概率,Support(X->Y)表示项集{X,Y}在总项集里出现的概率。5.根据权利要求1至4中任一所述的版本软件编译方法,其特征在于,所述根据所述目标频繁项集计算模块之间的依赖关系,确定有效强关联规则,进一步包括:计算所述目标频繁项集中每个非空项集的置信度,对不满足此预设置信度阈值的非空项集进行剪枝;根据剪枝后留下的非空项集的置信度,计算非空项集相互之间的提升度;确定满足提升度大于1的非空项集之间的规则为有效强关联规则。6.根据权利要求5所述的版本软件编译方法,其特征在于,所述计算所述目标频繁项集中每个非空项集的置信度,采用如下公式:Confidence(X->Y)=P(Y|X)=P(X∪Y)/P(X);其中,置信度Confidence(X->Y)表示在具有...

【专利技术属性】
技术研发人员:徐磊
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1