第八章 文件系统.ppt

上传人:文库蛋蛋多 文档编号:2910355 上传时间:2023-03-03 格式:PPT 页数:116 大小:1.09MB
返回 下载 相关 举报
第八章 文件系统.ppt_第1页
第1页 / 共116页
第八章 文件系统.ppt_第2页
第2页 / 共116页
第八章 文件系统.ppt_第3页
第3页 / 共116页
第八章 文件系统.ppt_第4页
第4页 / 共116页
第八章 文件系统.ppt_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《第八章 文件系统.ppt》由会员分享,可在线阅读,更多相关《第八章 文件系统.ppt(116页珍藏版)》请在三一办公上搜索。

1、第八章 文件系统,8.1 文件系统的概念8.2 文件的逻辑结构和存取方法8.3 文件的物理结构8.4 文件存储空间的管理8.5 文件目录管理 8.6 文件系统的可靠性和安全性8.7 文件的使用8.8 文件系统的性能问题,目录,8.1 文件系统的概念,操作系统的软硬件管理,文件系统必须完成下列工作,对磁盘等辅助存储器空间进行统一管理为了实现按名存取,有一个用户可见的文件逻辑结构为了便于存放和加工信息,文件在存储设备上应按一定的顺序存放文件的物理结构。完成对存放在存储设备上的文件信息的查找。完成文件的共享提供保护,文件与文件系统概念,文件是一段程序或数据的集合。文件被解释为一组赋名的相关联字符流的

2、集合,或者是相关联记录(一个有意义的信息单位)的集合无结构文件或流式文件:目前常用的操作系统,例如 UNIX,MS-DOS等记录式文件:记录是由 N(N 1)个字节组成的具有特定意义的信息单位;记录式文件主要用于信息管理。,文件系统,操作系统中与管理文件有关的软件和数据功能:为用户建立文件,撤消、读写、修改和复制文件,负责完成对文件的按名存取和进行存取控制。特点:友好的用户接口,用户只对文件进行操作,而不管文件结构和存放的物理位置。对文件按名存取,对用户透明。某些文件可以被多个用户或进程所共享。文件系统大都使用磁盘、磁带和光盘等大容量存储器作为存储介质,因此,可存储大量信息。,1.按文件性质和

3、用途分类 系统文件:有关OS及有关系统所组成文件 用户文件:库文件:标准子程序及常用应用程 序组成文件,允许用户使用但不能修改2.按信息保存期限分类临时文件;永久文件;档案文件3.按文件的保护方式分类只读文件;读写文件;可执行文件4.按文件的逻辑结构分类流式文件;记录式文件,文件的分类,5.按文件的物理结构分类 顺序(连续)文件;链接文件;索引文件6.UNIX系统将文件分为三类普通文件:包含的是用户的信息,一般为ASCII或二进制文件目录文件:管理文件系统的系统文件特殊文件:设备文件,把外部设备也看作文件字符设备文件:和输入输出有关,用于模仿串行I/O设备,例如终端,打印机,网络等块设备文件:

4、模仿磁盘,文件的分类,文件系统模型,从用户角度看文件,研究文件的组织形式分类:字符流式的无结构文件和记录式的有结构文件选取文件的逻辑结构应遵循下述原则:要求:提高检索效率 便于修改 降低文件的存储费用便于用户进行操作,8.2 文件的逻辑结构与存取方法,构成文件的基本单位是字符,文件是有逻辑意义的、无结构的一串字符的集合。文件:一个无结构字节序列 好处:提供很大的灵活性,流式文件(无结构文件),文件是由若干个记录组成,每个记录有一个键,可按键进行查找。记录式文件:一个固定长度记录的序列,每条记录有其内部结构定长记录式文件变长记录式文件常用的记录式文件结构有四种,记录文件(有结构文件),记录组成例

5、,连续结构,是一种把记录按照生成的先后顺序排列的逻辑结构。特点:适应性强,可用于所有文件;顺序与内容无关,利于记录的追加与变更,搜索性能差,多重结构,行列式结构:把记录按键和记录名排列成行列式结构,则一个包含n个记录名,m(=n)个键的文件构成一个m*n维行列式。1:说明该键在记录中,否则不在。行列式结构浪费较多的存储空间将行列式结构中0的项去掉,并以键为队首构成一个记录队列,这样的m个队列构成该文件的多重结构,图示,文件的记录名和关键字构成的行列式,图8.4文件的多重结构,图8.5文件的转置结构,转置结构,把含有相同键的记录指针全部指向该键,即,把所有与同一键对应的记录连续的放在目录中该键的

6、位置下。适合于给定键后的记录搜索,顺序结构,把文件中的键按规定的顺序排列起来就形成了顺序结构。适合于系统按某种优先顺序来搜索或追加、删除记录,8.2.2 存取方法,顺序存取法 按照文件的逻辑顺序存取。在记录式文件中,按记录的排列顺序存取;在流式文件中,顺序存取反映了当前读写指针的变化。随机存取法(直接存取法)允许用户根据记录的编号来存取文件的任一记录,或者是根据存取命令把读写指针移到要读写处来进行读写。按键存取法 在数据库管理系统中进行存取的方法,是根据给定的键或记录名进行的。首先搜索到记录的逻辑位置,再转变为相应的物理地址后进行存取。包括:键的搜索和记录的搜索,如:UNIX、MS-DOS等,

7、如:UNIX、MS-DOS等,记录Ri的搜索过程,搜索算法,对键或记录的搜索与其他数据搜索问题一样,都属于表格搜索问题。这些算法可以大致分为三种类型。线性搜索法(linear search),散列法(hash coding),二分搜索法(binary search algorithm)。,二分搜索法的搜索过程,8.3 文件的物理结构与存储设备,8.3.1存储介质:磁盘,磁带,光盘8.3.2 文件的物理结构,8.3.1存储介质:磁盘,磁带,光盘,1.物理块(块)在文件系统中,文件的存储设备常常划分为若干大小相等的物理块。同时也将文件信息划分成相同大小的逻辑块(块),所有块统一编号。以块为单位进行

8、信息的存储、传输,分配,2.磁带,永久保存大容量数据顺序存取设备:前面的物理块被存取访问之后,才能存取后续的物理块的内容存取速度较慢,主要用于后备存储,存储不经常用的信息,或用于传递数据的介质,直接(随机)存取设备:存取磁盘上任一物理块的时间不依赖于该物理块所处的位置,3.磁盘,信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头所有盘面中处于同一磁道号上的所有磁道组成一个柱面物理地址形式:磁头号(盘面号)磁道号(柱面号)扇区号硬盘又分为两种:固定头磁盘:每个磁道设置一个磁头,变换磁道时不需要磁头的机械移动,速度快但成本高移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速

9、度慢但成本低,磁盘组成,磁盘系统由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的一次访盘请求:读/写,磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目)完成过程由三个动作组成:寻道(时间):磁头移动定位到指定磁道旋转延迟(时间):等待指定扇区从磁头下旋转经过数据传输(时间):数据在磁盘与内存之间的实际传输,磁盘读写,光盘容量大,速度快,价格便宜,但一般不可写 可读写光盘驱动器价格贵,写过程很麻烦 光盘的空间结构与磁盘类似,4.光盘,是从系统的角度来看文件,从文件在物理介质上的存放方式来研究文件要考虑的主要问题:1、怎样才能有效地利用外存空间

10、2、提高对文件的访问速度。,8.3.2 文件的物理结构,一个文件的信息存放在若干连续的物理块中 优点:简单 支持顺序存取和随机存取顺序存取速度快 所需的磁盘寻道次数和寻道时间最少,1.连续文件,A 文件不能动态增长预留空间:浪费重新分配和移动B 不利于文件插入和删除C 外部碎片问题D 要事先知道文件的长度,缺点,显式链接:一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块优点:提高了磁盘空间利用率,不存在外部碎片问题有利于文件插入和删除有利于文件动态扩充,2.链接文件,文件目录,缺点:存取速度慢,不适于随机存取 可靠性问题,如指针出错 更多的寻道次数和

11、寻道时间 链接指针占用一定的空间隐式链接:文件分配表FAT,缺点与隐式链接,文件分配表,38,磁盘分区,39,FAT表,40,The format of the traditional DOS 8.3 is as follows:,41,FAT16的目录项由32个字节构成,各个字节的含义如下:00H07H文件名,其中00H的值为:00H空表项;E5H文件已删除;2EH 子目录。08H0AH文件的扩展名。0BH文件属性,其中b7b6未用;b5(20H)归档位;b4(10H)子目录;b3(08H)卷标(卷标也解释为一种特殊的文件);b2(04H)系统文件;b1(02H)隐藏文件;b0(01H)只读

12、文件,属性字节为00H为一般读写文件。0CH15HFAT16系统保留未用。16H17H文件最后修改时间,其中:16H字节的04位是以2秒为增量的秒;16H字节的57位和17H字节的02位是分钟;17H字节的37位是小时。18H19H文件最后修改日期,其中:18H字节04位是天号;18H字节57位和19H字节0位是月份;19H字节的17位为年号,0119分别代表19802099。1AH1BH文件的起始簇号。1CH1FH文件的长度(单位为字节)。,FAT16的目录项,FAT32长文件目录项32个字节的表示定义,一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构-索引表,并将

13、这些块的块号存放在一个索引表中 一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块,3.索引结构,优点:保持了链接结构的优点,又解决了其缺点:即能顺序存取,又能随机存取 满足了文件动态增长、插入删除的要求 能充分利用外存空间缺点:较多的寻道次数和寻道时间 索引表本身带来了系统开销 如:内外存空间,存取时间,索引结构优缺点,链接模式:一个盘块一个索引表,多个索引表链接起来 多级索引:将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中 综合模式:,索引表组织,多重索引结构,UNIX的多级索引结构,文件结构、文件存取方式与文件存储介质的关系,8.4.1 文件组成8.4

14、.2 文件目录结构8.4.3 便于共享的文件目录,8.4 文件目录,8.4.1 文件组成,1.文件控制块(FCB):文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性)文件控制块是文件存在的标志文件控制块的内容:文件名,文件号,用户名,文件地址,文件长度,文件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令,文件逻辑结构,文件物理结构2.文件体:文件本身的信息,文件目录,文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合目录项:构成文件目录的项目(目录项就是FCB)目录文件:为了实现对文件目

15、录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件,1.一级目录结构 为所有文件建立一个目录文件(组成一线性表)优点:简单,易实现缺点:限制了用户对文件的命名 文件平均检索时间长 限制了对文件的共享,8.4.2 文件目录结构,单级目录的读写处理过程,2.二级目录结构为改变一级目录文件目录命名冲突,并提高对目录文件检索速度而改进目录分为两级:一级称为主文件目录,给出用户名,用户子目录所在的物理位置;二级称为用户文件目录(又称用户子目录),给出该用户所有文件的FCB优点:解决了文件的重名问题和文件共享问题 用户名|文件名 查找时间降低缺点:增加了系统开销,2.二级目录结构,二级目

16、录结构,优点:层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度;能进行存取权限的控制 缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度,3.多级目录结构(树型目录),文件系统的树形结构,目录的其他实现方法,哈希表算法:目录项信息存在一哈希表中搜索时根据文件名计算哈希值得到一个指向表中文件的指针其他算法:如B+树NTFS文件系统就采用了B+树,8.4.3便于共享的文件目录,图8.18绕道法,采用基本文件目录的多级目录结构,链接法,链接法,例子:一个FCB有48个字节 符号目录项占 8字节 文件名6字节,文件号2字节 基本目录项占 48-6=

17、42字节 假设,物理块大小512字节,解:分解前:占512/48=10个FCB 分解后:占512/8=64个符号目录项或512/42=12个基本目录项 假设:目录文件有128个目录项 分解前:占13块 分解后:符号文件占2块 基本文件占11块,查找一个文件的平均访盘次数 分解前:(1+13)/2=7次 分解后:(1+2)/2+1=2.5次 减少了访问硬盘的次数,提高了检索速度,(1)逻辑记录长度与物理块长相等(2)逻辑记录长度为物理块长的整数因子(3)逻辑记录长度不为物理块长的整数因子,记录的成组与分解,记录的成组:把若干个逻辑记录合成一组存放一块的工作进行成组操作时必须使用主存缓冲区,缓冲区

18、的长度等于逻辑记录长度乘以成组的块因子 记录的成组:提高了存储空间的利用率;减少了启动外设的次数,提高系统的工作效率 记录的分解:从一组逻辑记录中把一个逻辑记录分离出来的操作,a.根据记录号和记录长度,确定记录所在物理块的相对块号rb;b.由记录长确定记录所在的物理块块数n;c.计算记录在所占的首物理块内的位移量d1;d.计算记录所占的末物理块内的位移量d2,即记录在末块内占据的长度;e.根据物理块长bs及计算出来的d1和d2,判断记录是否跨块;若跨块则修改n值和d2值。(允许跨块),记录的成组与分解,8.5.1内存中所需的表目1.系统打开文件表(整个系统一张)放在内存。用于保存已打开文件的F

19、CB 此外,文件号,共享计数,修改标志2.用户打开文件表(每个进程一个)文件描述符,打开方式,读写指针,系统打开文件表入口进程的PCB中,记录了用户打开文件表的位置3.用户打开文件表与系统打开文件表之间的关系 用户打开文件表指向系统打开文件表。如果多个进程共享同一个文件,则多个用户打开文件表目对应系统打开文件表的同一入口,8.5 文件存储空间的管理,系统打开文件表,用户打开文件表,关系,1.空闲文件目录 将所有空闲块记录在一个表中,即空闲块表,有两项2.空闲块链表 把所有空闲块链成一个链 扩展:成组链接法3.位示图,8.5.2 外存空间管理,成组链法的组织,空闲盘块的组织,空闲盘块号栈所有空闲

20、盘块分组将每一组含有的盘块总数和该组所有的盘块号,记入其前一组的第一个盘块中。形成一条链。将第一组的盘块总数和所有的盘块号,记入空闲盘块号栈中,作为当前可供分配的空闲盘块。最末一组盘块中加一个结束标志“0”。,77,成组链接(空闲块号49236),78,分配一空闲块 查L单元的内容(空闲块数)当空闲块数1 i=L+空闲块数(i为主存地址);从i单元得到一空闲块号;将该块分配给申请者;空闲块数减1。当空闲块数=1 取出L+1单元的内容(一组中的第一块块号)若其值=0,无空闲块,申请者等待;若其值0,将该块中的内容复制到专用块,并将该块分配给申请者;把专用块内容读到主存L开始的区域。,分配算法,7

21、9,回收一空闲块 取L单元的内容(空闲块数)当空闲块数50 空闲块数加1;j=L+空闲块数(j为主存地址);归还块号填入j单元。当空闲块数=50 将主存中的信息写入归还块中;将归还块号填入L+1单元;将L单元置1。,回收算法,用一串二进制位反映磁盘空间中分配使用情况,每个物理块对应一位,分配物理块为1,否则为0申请物理块时,可以在位示图中查找为0的位,返回对应物理块号;归还时;将对应位转置0描述能力强,适合各种物理结构,3.位示图法,81,块号=字号*32+位号字号=块号/32位号=块号%32,位示图(共3200块),计算公式(续),已知块号,则磁盘地址:柱面号块号/(磁头数扇区数)磁头号(块

22、号mod(磁头数扇区数)/扇区数扇区号(块号mod(磁头数扇区数)mod 扇区数已知磁盘地址:块号柱面号(磁头数扇区数)磁头号扇区数扇区号,8.6 文件系统的可靠性与安全性,人为因素存取控制权限 系统因素系统容错技术 自然因素备份技术,8.6.1文件的存取控制,文件的存取控制是和文件的共享、保护和保密三个不同而又相互联系的问题紧密相关的。文件的共享是指不同的用户共同使用一个文件。文件保护则指文件本身需要防止文件的拥有者本人或其他用户破坏文件内容。文件保密指未经文件拥有者许可,任何用户不得访问该文件。这三个问题实际上是一个用户对文件的使用权限,即读、写、执行的许可权问题。,文件系统的存取控制部分

23、应做到,(1)对于拥有读、写或执行权限的用户,应让其对文件进行相应的操作。(2)对于没有读、写或执行权限的用户,应禁止他们对文件进行相应的操作。(3)应防止一个用户冒充其他用户对文件进行存取。(4)应防止拥有存取权限的用户误用文件。,存取控制验证模块,这些功能是由一组称为存取控制验证模块的程序提供的。它们分三步验证用户的存取操作。(1)审定用户的存取权限。(2)比较用户权限的本次存取要求是否一致。(3)将存取要求和被访问文件的保密性比较,看是否有冲突。,个方式来验证用户的存取操作,存取控制矩阵;存取控制表;口令;密码。系统设计人员根据需要选择其中一种或几种并将相应的数据结构置于文件说明(BFD

24、等)中;在用户访问存取文件时,对用户的存取权限、存取要求的一致性以及保密性等进行验证。,存取控制矩阵,存取控制表,口令,两种口令方式当用户进入系统,为建立终端进程时获得系统使用权的口令。每个用户在创建文件时,为每一个创建的文件设置一个口令,且将其置于文件说明中。,加密解密过程,8.6.2 系统容错技术,可靠性:系统抵抗和预防各种物理性破坏和人为性破坏的能力1.一级容错:双份文件目录和文件分配表磁盘热修复和写后读校验,2、二级容错技术,磁盘镜像磁盘双工,3、三级容错技术,RAID(廉价磁盘冗余阵列)RAID的优点,1、通过把多个磁盘组织在一起,作为一个逻辑卷提供磁盘跨越功能2、通过把数据分成多个

25、数据块,并行写入/读出多个磁盘,以提高访问磁盘的速度3、通过镜像或校验操作,提供容错能力,RAID0 数据分条技术 整个逻辑盘的数据被分散分布在多个物理盘上,并行读写。(没有冗余能力)至少两个盘RAID1把一个磁盘的数据镜像到另一个磁盘上。(两个盘上实施,数据冗余50%)RAID0+1 4个盘RAID3 3个盘(一个专为校验盘)RAID5 无专门校验盘,校验数据分布在多个盘上 至少3个盘,(N-1)/N 一个磁盘故障时,控制器可从其他尚存的磁盘上重新恢复/生成丢失的数据而不影响数据的可用性,廉价磁盘冗余阵列,通过转储操作,形成文件或文件系统的多个副本 软盘,磁带(150M,8G Exabyte

26、,DAT)恢复,8.6.3 备份,海量转储:定期将所有文件拷贝到后援存储器增量转储:只转储修改过的文件,即两次备份之间的修改,减少系统开销,类型,8.7 文件的使用,讨论文件系统对用户的接口。文件系统以系统调用方式或命令方式为用户提供下列几类服务:(1)关于设置和修改用户对文件的存取权限的服务;(2)关于建立、改变和删除目录的服务;(3)关于文件共享、设置访问路径的服务;(4)创建、打开、读写、关闭,及撤消文件的服务。这些服务的调用名和参数都因系统不同而异。有关对文件操作的命令都基于操作系统提供的系统调用。这些系统调用包括建立文件用的 creat,读文件用的 read,关闭文件用的close以

27、及撤消文件用的 delete 等。,7.8 文件系统的层次模型,练习,6.文件系统的层次模型如下图所示。文件的目录采用基本文件目录表BFD的方法组织,其中含有文件Wang/b.c的文件说明信息,Wang为文件主的用户名。文件的物理结构为连续文件结构,并采用直接存取方式,每个文件的记录长度为500字节,每个物理块长为2000字节,即一个物理块可以存放4个记录。结合执行系统调用命令read(Wangb.c,7,20000)(其中7为逻辑记录号,20000为内存地址),回答下列问题:(1)第二层符号文件系统SFS的主要工作及其结果;(2)第三层基本文件系统的主要工作;(3)第五层逻辑文件系统得到的主

28、要结果;(4)第六层物理文件系统得到的主要结果。,如下图,解答:,(1)主要功能:把用户提供的文件符号名Wang/b.c转换为系统内部的唯一标识符6。CALL BFS(READ,6,7,20000)。(2)从BFD中找文件标识符6文件说明信息。(3)把逻辑块号转换为相对块号和块内相对地址。逻辑字节串首址(LBA)=记录号*记录长度=7*500=3500;相对块号RBN=(LBA/物理块长PBL)的整数部分=(3500/2000)的整数=1;块内相对地址PBO=LBA mod PBL=3500 mod 2000=1500。(4)把相对块号和块内相对地址,根据文件的物理结构转换成物理地址。如相对块

29、号1的物理块号为11,块内相对地址为1500。,(1)先来先服务:按访问请求到达的先后次序服务优点:简单,公平;缺点:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利,补充:磁盘调度算法,假设磁盘访问序列:98,183,37,122,14,124,65,67读写头起始位置:53安排磁头服务序列计算磁头移动总距离(道数),举例,FCFS举例,(2)最短寻道时间优先:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先 优点:改善了磁盘平均服务时间;缺点:造成某些访问请求长期等待得不到服务,2.最短寻道时间优先,举例,(3)扫描算法(电梯算法

30、)克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向 具体做法:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复,3 扫描算法,举例,举例,(4)单向扫描调度算法 总是从0号柱面开始向里扫描 按照各自所要访问的柱面位置的次序去选择访问者 移动臂到达最后个一个柱面后,立即带动读写磁头快速返回到0号柱面,返回时不为任何的等待访问者服务,返回后可再次进行扫描,4 单向扫描调度算法,练习,4.某移动臂磁盘的柱面由外向里从0开始顺序编号,假定

31、当前磁头停在100号柱面而且移动方向是向外的,现有一个请求队列在等待访问磁盘,访问的柱面号分别为190、10、160、80、90、125、30、20、140和25。请写出分别采用最短寻找时间优先和电梯调度算法处理上述请求的次序。(1)最短寻找时间优先:90、80、125、140、160、190、30、25、20、10(2)电梯调度:90、80、30、25、10、125、140、160、190,作业,若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。(

32、1)先来先服务算法;(2)最短寻找时间优先算法;(3)电梯调度算法(移动方向:柱面号减小的方向)8.1,8.9,8.14,旋转调度算法 旋转调度:根据延迟时间来决定执行次序的调度 分析:若干等待访问者请求访问同一磁道上的不同扇区 若干等待访问者请求访问不同磁道上的不同编号的扇区 若干等待访问者请求访问不同磁道上具有相同的扇区,旋转调度算法,解决方案:对于前两种情况:总是让首先到达读写磁头位置下的扇区先进行传送操作 对于第三种情况:这些扇区同时到达读写磁头位置下,可任意选择一个读写磁头进行传送操作,练习:假设磁头在8柱面,求最省时间的响应次序,请求顺序 柱面号 磁头号 扇区号 9 6 3 7 5 6 15 20 6 9 4 4 20 9 5 7 15 2,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号