当前位置: 首页 > 专利查询>北京大学专利>正文

基于约束检测与冲突消解的大规模在线服务系统变更调度方法及系统技术方案

技术编号:33657287 阅读:22 留言:0更新日期:2022-06-02 20:37
本发明专利技术提供了一种基于约束检测与冲突消解的大规模在线服务系统变更调度方法及系统,属于软件变更管理领域。本发明专利技术基于服务依赖图和历史变更运行数据,自动构建和更新变更约束模型;基于服务依赖图和变更约束模型,检测待调度变更之间的约束,并基于变更之间的约束进行变更间的冲突消解,生成满足约束的变更调度方案,保证变更调度的正确性。本发明专利技术中的变更约束模型构建与更新、约束检测、冲突消解都是自动进行,无需人工参与,节省了人力成本;变更约束模型能够随着系统中服务依赖关系的变化以及历史变更运行数据的积累进行更新,具有对系统迭代的较强的自适应性;变更约束检测与冲突消解过程保证了变更调度的正确性。突消解过程保证了变更调度的正确性。突消解过程保证了变更调度的正确性。

【技术实现步骤摘要】
基于约束检测与冲突消解的大规模在线服务系统变更调度方法及系统


[0001]本专利技术属于软件变更管理领域,具体涉及一种基于约束检测与冲突消解的大规模在线服务系统变更调度方法和系统。

技术介绍

[0002]大规模在线服务系统由大量低耦合的子服务组成,子服务共同协作,响应用户请求、实现系统功能,被广泛应用于信息技术、金融、航空、军事等领域。大规模在线服务系统的子服务之间具有复杂的依赖关系,例如调用依赖关系、逻辑依赖关系、数据依赖关系等。为满足应用需求的动态变化、保障系统的可靠性,需要对大规模在线服务系统的代码、配置以及运行环境等进行修改,以修复缺陷、提升性能、提供新功能等。这些修改被统称为变更。在大规模在线服务系统中,变更以各个子服务为对象进行。变更有多种类型,如配置变更、代码变更、软件版本变更、数据库内容变更等。
[0003]由于大规模在线服务系统迭代迅速,且众多子服务之间低耦合的特性决定了单次迭代往往需要通过多个变更实现,导致在大规模在线服务系统中变更频繁发生。由于子服务之间的依赖关系,一些变更的运行先后顺序存在约束,即一个变更的完成时本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种大规模在线服务系统变更调度方法,其特征在于,包括变更约束模型的构建与更新、变更约束检测、变更冲突消解;具体步骤包括:1)变更约束模型的构建与更新,具体执行如下步骤:11)提取变更记录:从历史成功变更的运行数据中,提取各个变更的变更对象、变更类型、变更开始运行时间、变更完成运行时间,其中,变更对象是子服务,变更类型包括修改配置、修改代码、更新软件库版本、更新数据库条目;每一条数据记为rec
i
=(c
i
,t
i1
,t
i2
),c
i
=(obj
i
,act
i
),其中,c
i
表示变更,obj
i
表示变更对象,act
i
表示变更类型,t
i1
表示变更开始运行时间,t
i2
表示变更完成运行时间;记数据集为Rec={rec1,rec2,...,rec
q
},q为数据集中包含的变更数量;12)提取顺序变更对:顺序变更对是满足以下条件的有序变更对(c
i
,c
j
):(a)t
i2
<t
j1
;(b)t
j1

t
i2
<w,其中w为预先设定的超参数,用于控制顺序变更对的最大时间间隔,记顺序变更对集合为P={(c
11
,c
12
),(c
21
,c
22
),...,(c
p1
,c
p2
)}.;13)提取变更类型和服务依赖类型:记变更类型为C1,C2,...,C
n
,其中n为全部变更类型的数量,对于每一条历史变更运行数据rec
i
,该条数据的变更类型Class(act
i
)∈{C1,C2,...,C
n
}.,记服务依赖类型为D1,D2,...,D
m
,其中m为全部服务依赖类型的数量,服务依赖类型与服务依赖图的边的类型相对应;14)构建变更约束模型:变更约束模型表示为维度是m
×
n
×
n的矩阵M,其中M
i,j,k
表示当两个变更的变更对象存在依赖关系D
i
,被依赖的变更对象对应的变更类型是C
j
,依赖变更对象对应的变更类型是C
k
时,变更之间存在的约束;M
i,j,k
的值为正表示被依赖的变更对象对应的变更应该先运行,反之亦然,绝对值表示以上约束的置信度;15)定期更新变更约束模型:在经过一段时间后,会产生新的成功运行的变更运行数据,将这些数据作为历史运行数据,使用其进行变更约束模型的更新;2)变更约束检测,具体执行如下步骤:21)收集变更请求:收集不断到达的变更请求,每隔一段时间或每到达一定数量的变更,完成本批变更请求的收集;22)基于服务依赖图和变更约束模型,检测待调度变更之间的约束,以有序变更对的形式表示,记待调度变更为各个待调度变更的变更对象分别为各个待调度变更的变更对象分别为变更类型分别为3)变更冲突消解,具体执行如下步骤:31)初始化变更调度方案,以有向无环图Pl的形式表示,将作为节点加入Pl,节点之间的有向边表示目标节点代表的变更的运行开始时间必须晚于源节点代表的变更的运行结束时间;32)初始化j=1,k=2;33)在变更约束检测的结果Cons中查找(c
j
,c
k
)和(c
k
,c
j
),若存在(c
j
,c
k
),说明若c
k
开始运行的时间在c
j
结束运行的时间之前,会产生冲突,冲突消解的方法是c
j
结束运行之后c
k
才可以开始运行,向Pl中加入边c
j

c
k
;同理,若存在(c
k
,c
j
),向G中加入边c
k

c
j
;34)遍历下一对j,k,满足1≤j≤k≤N
CR
,若存在这样的j,k,执行33)、34);35)完成变更调度方案的生成,基于变更调度方案进行变更的调度。
2.如权利要求1所述的大规模在线服务系统变更调度方法,其特征在于,步骤14)中变更约束模型的构建过程分为以下步骤:141)创建两个...

【专利技术属性】
技术研发人员:张齐勋赵毓瑾杨勇陶冶李影
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1