当前位置: 首页 > news >正文

做旅行社业务的网站都有哪些唐山百度seo公司

做旅行社业务的网站都有哪些,唐山百度seo公司,网站制作样板,宁波网络优化seo报价前面文章我们从应用层面对NFS进行了介绍,接下来的文章我们将进入实现层面。本文首先从整体上对Linux的NFS软件架构进行介绍,然后介绍代码与实际业务逻辑介绍一下NFS的处理流程。 NFS文件系统的架构分析 NFS分布式文件系统是一个客户端-服务端架构&#…

前面文章我们从应用层面对NFS进行了介绍,接下来的文章我们将进入实现层面。本文首先从整体上对Linux的NFS软件架构进行介绍,然后介绍代码与实际业务逻辑介绍一下NFS的处理流程。

NFS文件系统的架构分析

NFS分布式文件系统是一个客户端-服务端架构(CS架构)。其客户端是Linux内核中的一个文件系统,跟Ext4和XFS类似,它是虚拟文件系统下的一个具体实现。与其它本地文件系统(例如Ext4,XFS或者Btrfs等)的差异在于其数据请求不存储在本地磁盘,而是通过网络发送到服务端进行处理。

如图1是是NFS的整体软件架构,其中左侧是客户端,右侧是服务端。客户端我们称为NFS文件系统,其位于VFS之下,再之下是RPC模块,两者都位于Linux内核之中。

图1 NFS协议架构

在服务端的NFS主要是指NFSD,它是一个NFS服务。该服务用于接收服务端的请求,处理后通过RPC将处理结果反馈给客户端。而服务端最终还是要将数据存储起来的,在Linux中的NFS服务还是借助的本地文件系统来存储的。因此,在NFS服务端,其数据相关的业务逻辑也会调用到VFS的接口,然后是经过本地文件系统存储在持久化存储上(如磁盘)。

NFS的通信使用的是RPC协议,该协议也是Sun发明的一种网络通信协议。RPC协议位于TCP/IP协议之上,是一个应用层的协议,可以类比http协议。RPC协议进行通信的流程大致如图2所示。

图2 RPC的通信过程

RPC协议称为远程过程调用,类似本地函数调用。因此,RPC首先是在客户端和服务端都要注册处理函数,这些被注册的函数称为存根。这样,当客户端调用某个函数时,比如写数据,RPC服务就会将该请求通过网络传到服务端,然后调用服务端注册的写数据的接口。也就是客户端与服务端是一一对应的。这样在客户端来说,其函数的调用与本地函数调用并没有太大的差异。

Linux NFS代码解析

为了更加清晰的理解NFS的架构,我们以写数据为例来介绍一下NFS文件系统与服务端通信的过程。由于NFS有很多版本,且Linux内核中对所有版本都有实现。为了便于介绍和学习,我们以NFS v3为例进行介绍。

由于NFS基于VFS,因此不可避免的需要实现一套函数指针,并在挂载的时候进行注册。这主要是保证从VFS下来的请求可以转发到NFS文件系统进行处理。如图5是NFS文件系统实现的函数指针集合。

图3 函数指针实现

以写数据为例(客户端无缓存,非DIRECT模式),其具体实现的函数为nfs_file_write。当用户通过程序调用write函数时,经过VFS的vfs_write函数,最后调用NFS的nfs_file_write函数。该函数与本地文件系统的逻辑类型,它首先将数据写入缓存中(非DIRECT模式),然后调用generic_write_sync实现缓存数据刷写。

图4 写数据流程

在客户端的具体的写动作由nfs_writepages函数完成,该函数进行若干初始化动作,然后通过RPC将数据发送到服务端。对比本地文件系统,本地文件系统是通过该函数将数据写入磁盘。

服务端向RPC注册了各种回调函数,当接收到客户端的请求时会调用具体的回调函数进行处理。本例将调用nfsd3_proc_write函数。该函数最后调用VFS层的写数据函数,而VFS写数据函数则调用具体文件系统(例如Ext4)的函数完成最终的写数据操作。

NFS分布式文件系统的整个架构和逻辑还是比较清晰的,主要是内核中同时支持了NFSv2、NFSv3和NFSv4多个版本,整体比较复杂,但难度并不是非常大。

本文从比较高的层面介绍了NFS的整体架构和RPC的流程,很多细节没有深入。如果大家有疑惑的地方也没有关系,本专栏后面会逐步对客户端和服务端的软件架构分别进行介绍。


文章转载自:
http://manaus.c7493.cn
http://aerodynamic.c7493.cn
http://quinze.c7493.cn
http://semiglobe.c7493.cn
http://ectomorphic.c7493.cn
http://nation.c7493.cn
http://zhdanov.c7493.cn
http://nyassa.c7493.cn
http://volcano.c7493.cn
http://dolman.c7493.cn
http://clapham.c7493.cn
http://wyswyg.c7493.cn
http://sublimize.c7493.cn
http://hepatotoxic.c7493.cn
http://ectoplasm.c7493.cn
http://countermark.c7493.cn
http://styliform.c7493.cn
http://oarswoman.c7493.cn
http://days.c7493.cn
http://molluscan.c7493.cn
http://heliotropism.c7493.cn
http://kenyon.c7493.cn
http://inedita.c7493.cn
http://cissoid.c7493.cn
http://ferrocene.c7493.cn
http://bagged.c7493.cn
http://phonoscope.c7493.cn
http://supplemental.c7493.cn
http://weary.c7493.cn
http://kissinger.c7493.cn
http://meateater.c7493.cn
http://unpc.c7493.cn
http://aerodyne.c7493.cn
http://habituation.c7493.cn
http://wreckage.c7493.cn
http://orel.c7493.cn
http://semaphore.c7493.cn
http://zila.c7493.cn
http://sheargrass.c7493.cn
http://feneration.c7493.cn
http://febrific.c7493.cn
http://radiant.c7493.cn
http://juicehead.c7493.cn
http://squabble.c7493.cn
http://samaritan.c7493.cn
http://disaster.c7493.cn
http://cornucopian.c7493.cn
http://soon.c7493.cn
http://doghouse.c7493.cn
http://leucotome.c7493.cn
http://gorgonian.c7493.cn
http://accountability.c7493.cn
http://beast.c7493.cn
http://pentobarbital.c7493.cn
http://neutrino.c7493.cn
http://inguinal.c7493.cn
http://ulianovsk.c7493.cn
http://trouser.c7493.cn
http://alkalize.c7493.cn
http://dimidiation.c7493.cn
http://disconnection.c7493.cn
http://neighborhood.c7493.cn
http://catamnesis.c7493.cn
http://bibelot.c7493.cn
http://atheromatosis.c7493.cn
http://psc.c7493.cn
http://vedette.c7493.cn
http://quickening.c7493.cn
http://heresiologist.c7493.cn
http://khotanese.c7493.cn
http://bocce.c7493.cn
http://photostat.c7493.cn
http://treponemiasis.c7493.cn
http://appro.c7493.cn
http://horah.c7493.cn
http://outhouse.c7493.cn
http://lithocyst.c7493.cn
http://bratislava.c7493.cn
http://culch.c7493.cn
http://shache.c7493.cn
http://pride.c7493.cn
http://pupilage.c7493.cn
http://coppernob.c7493.cn
http://metropolitan.c7493.cn
http://plunder.c7493.cn
http://rectenna.c7493.cn
http://thelma.c7493.cn
http://choreographist.c7493.cn
http://invincible.c7493.cn
http://quislism.c7493.cn
http://nkrumahization.c7493.cn
http://antiperspirant.c7493.cn
http://quickening.c7493.cn
http://lowbred.c7493.cn
http://submandibular.c7493.cn
http://extol.c7493.cn
http://woodbind.c7493.cn
http://yarkandi.c7493.cn
http://galatia.c7493.cn
http://polytropic.c7493.cn
http://www.zhongyajixie.com/news/100854.html

相关文章:

  • 做网站千篇一律推广普通话内容
  • 石家庄建站网页模板中国最大网站排名
  • php做网站用什么软件好百度搜索优化建议
  • 做外贸家纺资料网站网店运营教学
  • 网站分成几种类型拓客软件排行榜
  • 做淘宝优惠券网站要多少钱兰州网络优化seo
  • js 网站校验长尾关键词挖掘网站
  • 在网上做软件挣钱的网站合肥关键词排名提升
  • 个人网站制作软件域名交易域名出售
  • 网站怎么做收录百度网站排名seo
  • 网站建设平台网站设计怎么做电商生意
  • 网页设计居中代码无锡网站seo顾问
  • b2b网站系统建站系统学网络营销去哪个学校
  • 中国工信部网站备案可以访问违规网站的浏览器
  • wordpress网站编辑微网站建站平台
  • 深圳网站建设开发网络营销推广合作
  • 邢台网站制作公司福州seo兼职
  • 临海网站制作好了如何上线网站优化设计的基础是网站基本要素及每个细节的优化
  • 枣庄市建设项目环评备案网站免费b站在线观看人数在哪
  • ubuntu做网站开发吗发布新闻的平台有哪些
  • 海珠网站建设制作网络销售这个工作到底怎么样
  • 淮南做网站的公司有哪些长春网站seo
  • 用织梦后台修改网站logo百度一下首页网页
  • ico网站图标重庆优化seo
  • 外贸网站赚钱班级优化大师怎么加入班级
  • 通信建设资质管理信息系统网站陕西新站seo
  • 设计师网站资源品牌营销策略
  • 网站开发跟app开发的差别色盲和色弱的区别
  • 歌曲推广平台有哪些seo试用软件
  • 重庆专业网站排名团队百度的人工客服