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

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


                 2    数据结构建模

                    本文首先介绍 HDFS 基本架构,并对 HDFS 中的一些数据结构进行建模,数据结构建模的任务是将 HDFS
                 的数据结构代码进行抽象,以着色 Petri 网模型的语言进行表达.本节我们不给出具体建模代码,仅使用文字描述
                 建模对象内容.
                 2.1   HDFS基本架构

                    HDFS 作为分布式文件系统,由多个不同组件协同完成系统功能.了解系统架构,是建模和分析的基础                                  [26] .
                 HDFS 采用主从模式的系统架构,如图 2 所示,它由 3 种不同的组件构成,即名字节点、数据节点和客户端,其主
                 要功能简单介绍如下.
                       名字节点(namenode)是 HDFS 的核心组件和主节点,每个 HDFS 集群只有唯一的名字节点.该节点集中
                        管理文件系统结构、文件源信息、文件与文件块的对应信息、文件块分布信息以及活动数据节点信
                        息等.名字节点的主要功能包括:处理客户端对文件元数据的读写请求,维护文件系统树状结构;管理数
                        据节点,提供数据节点的注册、注销等功能;维护文件块的分布信息,在处理读写请求时提供文件块的
                        具体位置信息;
                       数据节点(datanode)是 HDFS 的从节点,每个 HDFS 集群通常有多个数据节点.数据节点是实际存储文
                        件数据的地方,以文件块(block)为单位进行数据的存取.数据节点的主要功能包括:处理来自于客户端
                        或其他数据节点的写操作请求,将文件块存储到本地文件系统中;处理来自于客户端或其他数据节点
                        的读操作请求,将存储到本地的文件块读出并返回;在名字节点处注册,保持活动状态,并定时上传本地
                        存储的文件块信息;
                       客户端(client)是部署在应用端的组件,提供对 HDFS 文件系统的访问接口,允许同时有多个客户端与
                        系统进行连接.客户端的主要功能包括:处理来自上层应用的文件元数据操作,与名字节点交互完成元
                        数据的管理操作;处理来自用户的读写文件请求,与名字节点交互更改或读取文件元数据,与数据节点
                        交互提交或读取文件块,并将操作结果返回给上层应用.

                                              Metadata ops  Namenode
                                         Client
                                                                  Block ops
                                       Read
                                               Datanodes                Datanodes
                                                            Replication
                                                                                 Blocks

                                    Rack 1                   Write             Rack 2
                                                             Client

                                              Fig.2    System architecture of HDFS
                                                   图 2   HDFS 系统架构
                 2.2   颜色集
                    着色 Petri 网用令牌(token)表示对象,用令牌的颜色来区分对象的类型.对 HDFS 的数据结构进行建模,就是
                 使用 ML 语言对颜色集进行定义,并用颜色集与 HDFS 的数据结构建立对应的关系.CPN Tools 中的颜色集分为
                 两种,即简单颜色集和复合颜色集:简单颜色集是系统预先定义的几种基本颜色集,包括布尔颜色集、整数颜色
                 集、索引颜色集、枚举颜色集等;复合颜色集是由其他颜色集组合派生出来的颜色集,包括列表颜色集、乘积
                                            [7]
                 颜色集、记录颜色集、并颜色集等 .
   20   21   22   23   24   25   26   27   28   29   30