Page 35 - 《软件学报》2021年第10期
P. 35

乔嘉林  等:基于着色 Petri 网的 HDFS 数据一致性建模与分析                                            3007























                                          Fig.14    Reading/writing process model of HDFS
                                                   图 14  HDFS 读写模型
                 4    系统一致性分析

                    本文研究的一致性包括两个层面:数据层一致性和操作层一致性.如果任意时刻存储在多个节点上的数据
                 副本完全相同,则称系统满足数据层一致性.如果任意时刻多次读同一数据返回的结果是完全相同的,则称系统
                 满足操作层一致性.每个层面的一致性分析都包括两种情况:文件块被正确写入磁盘和存在(由网络传输超时、
                 节点失效、磁盘故障等引起的)本地写文件块失败.本文分别称这两种情况为无错情况和有错情况.
                 4.1   分析工具介绍

                    我们首先介绍 Petri 网的状态.Petri 网的状态由令牌在库所的分布决定,一个确定的分布即为一个状态.
                    Petri 网的状态空间表达了系统运行时所有可能的状态的集合,本文用来分析系统的一致性.我们使用 CPN
                 Tools 中的状态空间计算工具计算上述 HDFS 模型的状态空间.CPN Tools 提供了一套基于状态空间分析的工
                 具,包括网络状态空间计算、状态空间报告、状态图生成、状态空间查询等.使用这些工具能够很容易地生成
                 状态空间并作进一步分析,对研究系统一致性提供了有力的支持.
                    下面通过一个简单的着色 Petri 网模型为例,来介绍状态空间工具使用的方法.模型如图 15 所示,该图有两
                 条路径:一是触发 T1,使令牌进入 P3 库所;二是依次触发 T2、T3,使令牌进入 P3 库所.













                                               Fig.15    An example of state space
                                                    图 15   状态空间样例

                    使用 CPN Tools 提供的状态空间计算工具,能够计算网络的全部状态空间.图 15 的状态图如图 16 所示,该
                 状态图包括 3 个状态节点.状态节点显示的内容包括:状态节点编号、该状态节点下所有库所中容纳的令牌信
                 息.弧显示的内容包括:弧编号、该弧对应的状态变迁所触发的变迁以及触发条件.在状态图中对库所和变迁的
   30   31   32   33   34   35   36   37   38   39   40