【技术实现步骤摘要】
本专利技术涉及软件仓库构建,具体涉及一种依赖关系感知的软件仓库编译调度方法、系统和介质。
技术介绍
1、目前主流开源操作系统的软件仓库中一般维护6万多的软件包,当需要从源代码包编译为二进制包时,为了提高编译效率,软件仓库维护者会采用并发编译的方式同时启动多条流水线进行包的编译,由于软件包之间存在编译依赖关系,并行编译的多条流水线并不能总是进行下去,存在由于编译依赖问题,导致在流水线l1编译的包因为依赖流水线l2上还未编译生成的包而出现停顿的现象,等到需要的包就绪才可以进行,通常软件仓库的需要编译回滚若干次才能完成一次软件仓库源代码到二进制软件包的编译更新。造成这一问题的主要原因是在发送并发编译命令时,并没有给出确定的编译顺序作为指导,这就使得软件并发编译的顺序是随机的,存在因编译顺序和依赖顺序不一致,导致需要等待依赖包就绪而暂停的现象,未能充分发挥并发编译的性能。
技术实现思路
1、本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种依赖关系感知的软件仓库编译调度方法、系统和介质,
...【技术保护点】
1.一种依赖关系感知的软件仓库编译调度方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤S101之后、步骤S102之前还包括获取指定的定制系统编译镜像中包含的软件源码包集合{Pk},并从软件源代码列表中移除指定的定制系统编译镜像中包含的软件源码包集合{Pk}。
3.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤S102包括:
4.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤S103中将编译关系图G拆分为多个子图时,拆分原
...【技术特征摘要】
1.一种依赖关系感知的软件仓库编译调度方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤s101之后、步骤s102之前还包括获取指定的定制系统编译镜像中包含的软件源码包集合{pk},并从软件源代码列表中移除指定的定制系统编译镜像中包含的软件源码包集合{pk}。
3.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤s102包括:
4.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤s103中将编译关系图g拆分为多个子图时,拆分原则为子图内节点之间存在连接边、不同子图之间不存在连接边。
5.根据权利要求1所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤s104包括:
6.根据权利要求5所述的依赖关系感知的软件仓库编译调度方法,其特征在于,步骤s311中针对第i个子图gi中环通过加入虚包进行环的消解时,包括根据第i个子图gi中节点的依赖关系识别第i个子图gi中的单环和复合环,分别针对单环和复合环通过加入虚包进行环的消解时,所述单环是指各个节点构成一个环路,单环的环路上的每个节点都有一个出度一个入度,所述复合环是指各个节点构成多个环路,复合环上存在两个以上出度或入度的节点。
7.根据权利要求6所述的依赖关系感知的软件...
【专利技术属性】
技术研发人员:秦莹,王静,李小玲,马俊,张雪艳,沈霄阳,王皓天,潘嘉言,刘文昊,谭郁松,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。