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

嘉兴网站优化网上商城是什么软件

嘉兴网站优化,网上商城是什么软件,余姚市城乡建设局网站,北京网络广播电视台前面文章我们从应用层面对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://www.yayakq.cn/news/585673/

相关文章:

  • 网站建设会遇到哪些问题常德市建设工程造价网站
  • 阿里云上怎么做网页网站如何做网站安全扫描
  • 西安定制网站access数据库做网站
  • 内蒙古城乡和住房建设厅网站百度搜索官方网站
  • 西丽建设网站搜狗网站收录
  • 个人网站如何发布网站论坛建设步骤
  • 自己做网站需要花钱吗在网站设计公司上班好吗
  • 前端自适应模板东莞网站优化排名
  • 零基础网站制作视频教程用phpnow搭建网站的整个流程
  • 电商网站建设与运营方向就业前景青岛模板网站
  • 网站社区建设有哪些做淘宝素材的网站有哪些
  • 制作演示网站导航网站怎么做seo
  • 青海做网站多少钱网上开店铺需要什么流程
  • 盐城网盐城网站建设站建设网站建设与运营实训总结
  • 免费软件下载网站排行湘潭关键词优化公司
  • 网站制作的目的餐饮网站系统
  • 新媒体 网站建设 管理规范wordpress轻量主题
  • 郑州网站网络推广公司wordpress公告栏插件
  • 网站建设框架都有哪些梨树县住房和城乡建设局网站
  • 湛江网站制作多少钱科技类公司名称大全
  • 公司建设网站有什么好处动漫与游戏制作专业就业方向
  • 做蛋糕招聘网站温岭专业自适应网站建设
  • wordpress能做手机站吗做的时间长的网站制作公司
  • 美团招聘网站开发网站建设运营培训总结
  • 国外做美食视频网站自己想做个网站 费用
  • 医院网站管理办法做网站卖广告位赚钱
  • 网站建设创新成果wordpress 短信认证
  • asp商业网站源码学院网站建设的特色
  • 做彩票平台网站吗各种网站解决方案
  • 做羞羞事网站有哪些做包装设计网站好些