Page 92 - 《软件学报》2020年第10期
P. 92

3068                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

         累加所有风险的影响因子累计值得到总的可靠性评分,为保证最后的计算分值在区间[0,P max ]内,添加正则项
          P
           max  . 显然,当捕获到负面事件时,根据公式(6)计算得到的结果将小于 P max ,且最终分值与捕获到负面事件的数
          N
         量呈负相关.结合第 3.3.1 节更新途径 4 所描述的更新规则,监控任务捕获到的面向不同风险类型的事件,最终会
         对软件的可靠性评分产生正面或者负面的影响.




















                                    Fig.7    The flow diagram for extracting events
                                             图 7   事件提取流程
         3.4    基于可靠供应链构建操作系统
             虽然以 LFS 和 Yocto 为代表的面向操作系统构建的开源项目,已经在一定程度上满足了用户构建定制化操
         作系统的需求,但仍然存在很多不足和需要改进的地方,尤其是在软件生态可靠性方面.为解决可靠性问题,我
         们提出一种基于开源软件供应链实现的构建方法                   [22] ,该方法使用本文提出的开源软件供应链替换现有构建工
         具中软件依赖关系管理方法.具体地,开源软件供应链主要有以下贡献.
             •  降低学习门槛:开源软件供应链管理系统维护了软件之间的供应关系,包括不同软件之间的供应关系,以
         及从上游源码到具体打包格式的供应关系.通过系统提供的检索功能,用户可以轻松获取供应关系信息,不再需
         要构建人员花费大量精力去记忆这些信息,进而能够保证用户快速、准确、高效地完成工作;
             •  降低维护成本:开源软件供应链管理系统能够以图形化的方式展示供应链信息,帮助用户更直观地管理
         供应关系,提升工作效率;
             •  提升生态可靠性:开源软件供应链管理系统通过内部实现的可靠性风险管理相关机制,为用户提供识别、
         评估、处理和监控可靠性风险的功能,有效降低目标构建系统软件生态的可靠性风险,提升可靠性.

         4    实验验证及结果

         4.1    系统实现
             基于图 1 所示的系统架构图,我们将系统按照功能组件进行拆分并分别实现,本节将从中挑出一些重要的
         实现细节加以描述.为了便于管理和维护,各组件以容器的形式部署在 Kubernetes 集群上,我们使用 4 台配置相
         同的服务器搭建该集群,单台服务器的配置见表 4.
                                        Table 4  Hardware configuration
                                               表 4   硬件配置
                                        CPU  E5 2690 V4(2×28 线程) 2.6 GHz
                                        内存            128GB
                                        磁盘           38.3TB
   87   88   89   90   91   92   93   94   95   96   97