RFC1094_NFS网络文件系统协议说明书

组织:中国互动出版网(https://www.360docs.net/doc/e815985358.html,/)

RFC文档中文翻译计划(https://www.360docs.net/doc/e815985358.html,/compters/emook/aboutemook.htm)E-mail:ouyang@https://www.360docs.net/doc/e815985358.html,

译者:马东辉(eaststone ma_donghui@https://www.360docs.net/doc/e815985358.html,)

译文发布时间:2001-4-4

版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。

Network Working Group Sun Microsystems, Inc.

Request for Comments: 1094 March 1989

RFC1094 网络文件系统协议

(RFC1094 NFS: Network File System Protocol Specification)

本备忘录状态

This memo provides information for the Internet community. It does

not specify an Internet standard of any kind. Distribution of this

memo is unlimited.

版权声明

Copyright (C) The Internet Society (1999). All Rights Reserved.

摘要:

网络文件系统可以使访问远程机上的目录和文件象在本地机上一样方便。本文就是介绍网络文件系统协议规范的中文版。

目录

1. 简介 (2)

1.1 远程过程调用 (2)

1.2 外部数据描述 (2)

1.3 无状态服务器 (3)

2. NFS 协议定义 (3)

2.1 文件系统模型 (3)

2.2 服务器过程 (4)

2.3 基本数据类型 (12)

3. NFS实现中的问题 (18)

3.1 服务器/客户端的关系 (18)

3.2 路径名解析 (18)

3.3 许可问题 (18)

3.4 RPC信息 (19)

3.4 XDR结构的尺寸 (20)

3.6 设置RPC的参数 (20)

附录A 安装协议定义 (21)

A.1. 简介 (21)

A.2 RPC信息 (21)

A.3 XDR结构的尺寸 (21)

A.4 基本数据类型 (22)

A.5. 服务器过程 (23)

作者地址 (25)

1. 简介

Sun的网络文件系统(NFS)协议提供了对网络中的共享文件进行透明的远程访问。NFS协议被设计为适合于不同的机器,操作系统,网络体系和传输协议。这种广泛的适应性是通过使用建立在外部数据描述(XDR)之上的远程过程调用(RPC)原语得到的。此协议的实现已经存在于从个人电脑到超级电脑等不同种类的机器之上,。

对安装协议的支持允许服务器分发远程访问优先级给一个受限制的客户集。它执行了操作系统特定的功能,以允许把远程目录树链接在本地的文件系统上。

1.1 远程过程调用

Sun的远程过程调用规范提供了一个面向过程的远程服务的接口。.每一个服务器都提供了一个包含着一组过程的“程序”。NFS就是一种这样的程序。主机地址,程序号和过程号的组合指定了一个远程过程。NFS的一个目标就是不需要它的下层提供任何特定级别的可靠性。所以,它潜在地可以被使用在许多下层的传输层协议之上,甚至在另一个远程过程调用实现之上。为了便于讨论,本文档的剩余部分假定NFS实现在Sun的RPC上层。

1.2 外部数据描述

外部数据描述(XDR)标准提供了一个在网络上描述数据类型的公用方法。NFS协议规范就是使用RPC数据描述语言撰写的。要想获得更多的信息,请参见RFC 1014 “XDR:外部数据描述标准”。尽管存在自动化的RPC/XDR编译器可以产生服务器和客户端的“桩”(stubs)。NFS也不需要使用它们。任何提供相同功能的软件都可以使用,如果编码完全相同的话,它也可以与其它的NFS实现进行互操作。

1.3 无状态服务器

NFS协议被希望尽可能无状态。也就是说,服务器应该不必保持关于它的客户端的任何协议状态信息,这是为了功能正确。在失败的事件发生的时候,无状态服务器比有状态服务器有着明显的优点。在无状态服务器中,客户端仅仅需要重发请求直到服务器响应;客户端甚至不需要知道服务器已经崩溃或者是网络临时故障。而有状态服务器的客户端要么需要检测服务器失败,并且在服务器恢复的时候重建服务器状态,要么使客户端操作失败。

这可能听起来不象是一个重要的问题,但是它在一些意想不到的情况下影响着协议。我们认为只要能写一个非常简易的服务器,不需要在崩溃后花费昂贵的代价恢复,即使在协议中多一些额外的复杂性也是值得的。注意:即使使用号称“可靠”的传输协议TCP的时候,客户端也必须能够处理当它们超时的时候再次打开连接所产生的服务的中断。因此,无状态协议实际上可以使这个实现简化。

另一方面,NFS处理文件、目录这样本身就有状态的对象。如果文件不保持它的内容没被接触过会有什么好处呢?这样做的目的就是在协议本身不引入任何额外的状态。固有的状态操作,诸如文件或者记录锁定和远程执行都作为分开的服务实现,在此不讨论。

简化恢复的基本方法就是尽可能的采取“幂等”操作(为了它们有被重复的潜力)。这个协议版本中的一些操作并不能达到这个目的;幸运的是,大多数操作(例如Read 和Write)是幂等的。而且,多数服务器失败发生在操作之间,而不是发生在收到操作和响应之间。最后,尽管实际上服务器的失败可能很少,但是在复杂的网络中,任何网络,路由器或者网桥的失败与服务器的失败都是很难区分的。

2. NFS 协议定义

服务器随着时间改变,服务器使用的协议也一样。RPC对每一个RPC请求都提供了一个版本号。RFC已经定义了NFS协议的两个版本。即使在第二版中,也有少部分过时的过程和参数,这将在以后的版本中被删除。NFS协议第三版的RPC当前正在准备之中。(译者注:这是相对此RFC文档发布的时间来讲的,此文档发表于1989,3)

2.1 文件系统模型

NFS假定文件系统是分层次的,除了最底层是文件,其它层次都是目录。在目录中的每一个条目(文件,目录,设备等)都有一个字符串名。不同的操作系统可能在目录树的深度或者使用的名字上有所限制,就象用不同的语义来描述“路径名”,它是在名字中把所有组成部分(目录和文件名)串联起来。一个“文件系统”就是在一个单一的服务器上(通常是一个磁盘或者物理分区)有一个指定的“根”的树。一些操作系统提供了“安装”操作使所有的文件系统出现在一棵单一的树上。而其它的操作系统保持着一个文件系统“森林”。文件是由无解释字节组成的无结构流。第三版的NFS使用更普遍的文件系统模型。

NFS一次只查询路径名中的一个组成部分。为什么不一次就得到整个路径名,返回一个文件句柄呢?这里有一些不这样做的原因。首先,路径名需要在路径的组成部分之间有分隔符。不同的操作系统使用不同的分隔符。我们可以定义一种网络上标准的路径表示法,但是每一个路径名在每一个终点上将必须进行语法分析和转换。其它的问题在第三节(NFS 实现中的问题)里讨论。

尽管文件和目录在许多方面是相似的对象,但是读目录和读文件也需要不同的过程。这里提供了描述目录的网络标准格式。使用象上面相同的参数来确定一个过程,此过程在每次调用的时候只返回一个目录项。这种方法产生的问题就是效率不高。目录包含着许多目录项,远程调用要返回每一项将是非常缓慢的。

2.2 服务器过程

这个协议被定义为一组过程,这组过程具有用RPC语言(XDR语言在程序,版本,过程声明方面的扩展)定义的参数和结果。每一个过程功能的简要描述都应该提供足够允许实现的信息。2.3节详细地描述了基本数据类型。

在NFS协议中的所有过程都假定是同步的。当一个过程返回给客户端,客户可以假定此操作已经完成,与请求相关的任何数据现在在一个稳定的存储上。例如,客户端的WRITE 请求可能导致服务器更新数据块,文件系统信息块(比如间接块),和文件属性信息(大小和修改时间)。当WRITE返回给客户端,客户端假定这个写操作是可靠的。甚至在服务器崩溃的情况下,它也能丢弃这些已经写的数据。这就是服务器无状态的一个非常重要的部分。如果服务器等待来自远程请求的刷新数据,客户端必须保存这些请求,以便在服务器崩溃的情况下再次发送这些请求。

/*

* 远程文件服务程序

*/

program NFS_PROGRAM {

version NFS_VERSION {

void NFSPROC_NULL(void) = 0;

attrstat NFSPROC_GETATTR(fhandle) = 1;

attrstat NFSPROC_SETATTR(sattrargs) = 2;

void NFSPROC_ROOT(void) = 3;

diropres NFSPROC_LOOKUP(diropargs) = 4;

readlinkres NFSPROC_READLINK(fhandle) = 5;

readres NFSPROC_READ(readargs) = 6;

void NFSPROC_WRITECACHE(void) = 7;

attrstat NFSPROC_WRITE(writeargs) = 8;

diropres NFSPROC_CREATE(createargs) = 9;

stat NFSPROC_REMOVE(diropargs) = 10;

stat NFSPROC_RENAME(renameargs) = 11;

stat NFSPROC_LINK(linkargs) = 12;

stat NFSPROC_SYMLINK(symlinkargs) = 13;

diropres NFSPROC_MKDIR(createargs) = 14;

stat NFSPROC_RMDIR(diropargs) = 15;

readdirres NFSPROC_READDIR(readdirargs) = 16;

statfsres NFSPROC_STATFS(fhandle) = 17;

} = 2;

} = 100003;

2.2.1 不做工作

void NFSPROC_NULL(void) = 0;

这个过程不做工作,在所有RPC服务中它可以用来允许服务器响应测试和定时。

2.2.2 获得文件属性

attrstat NFSPROC_GETATTR (fhandle) = 1;

如果响应状态是 NFS_OK,那么响应属性包含由输入fhandle指定的文件的属性。

2.2.

3. 设置文件属性

struct sattrargs {

fhandle file;

sattr attributes;

};

attrstat NFSPROC_SETATTR (sattrargs) = 2;

"attributes"值参数包含着一些字段,这些字段要么是–1,要么是“file”的文件属性的一个新值。如果响应状态是NFS_OK,那么响应属性在"SETATTR"操作完成之后具有文件的属性。

注意:-1指示在“attributes”中一个没有使用的字段,在协议的下一版本将修改。

2.2.4 获得文件系统的根

void NFSPROC_ROOT(void) = 3;

已经过时。这个过程不再使用,因为找到一个文件系统的根文件句柄需要在客户端和服务器之间移动路径名。为了正确的做到这一点,我们必须定义一个路径名网络标准描述。查询根文件句柄已经由MNTPROC_MNT过程来实现。(详细情况请参见附录A,“安装协议定义”)

2.2.5. 查询文件名

diropres NFSPROC_LOOKUP(diropargs) = 4;

如果响应"status"是NFS_OK,响应“file”和响应“attributes”是参数“dir”给定的目录中的文件名的文件句柄和属性。

2.2.6 从符号链接读

union readlinkres switch (stat status) {

case NFS_OK:

path data;

default:

void;

};

readlinkres NFSPROC_READLINK(fhandle) = 5;

如果”status”的值是NFS_OK,响应“data”是fhandle参数引用的文件的符号链接中的数据。

注意:因为NFS总是在客户端解析路径名,如果在不同的客户端或者服务器上使用不同的语义,那么在一个符号链接中的路径名可能有不同的含义(或者无意义)。

2.2.7 从文件中读

struct readargs {

fhandle file;

unsigned offset;

unsigned count;

unsigned totalcount;

};

union readres switch (stat status) {

case NFS_OK:

fattr attributes;

nfsdata data;

default:

void;

};

readres NFSPROC_READ(readargs) = 6;

在由“file”给出的文件中,从“offset”字节偏移开始返回“count”个字节的“data”。这个文件的第一个字节是偏移量0。在读操作发生后,文件属性从“attributes”中返回。

注意:参数“totalcount”没有使用,在协议的下一修订版中将删除。

2.2.8 写到缓冲区

void NFSPROC_WRITECACHE(void) = 7;

将在协议的下一修订版中使用。

2.2.9 写到文件

struct writeargs {

fhandle file;

unsigned beginoffset;

unsigned offset;

unsigned totalcount;

nfsdata data;

};

attrstat NFSPROC_WRITE(writeargs) = 8;

从“file”开头偏移的“offset”字节处开始写数据“data”。文件的第一个字节是在偏移0的位置。如果响应状态“status”是NFS_OK,那么在写操作完成后响应属性“attributes”中包含着文件的属性。写操作是原子的,从这次"WRITE"中写入的数据不会与客户端的另一次"WRITE"写入的数据混合在一起。

注意:参数"beginoffset"和"totalcount"被忽略,在协议的下一修订版中将被删除。

2.2.10 创建文件

struct createargs {

diropargs where;

sattr attributes;

};

diropres NFSPROC_CREATE(createargs) = 9;

文件"name"创建在由“dir”指定的目录中。新文件的初始属性由"attributes"决定。NFS_OK的响应状态表明这个文件被创建。响应"file"和响应"attributes"是这个文件的文件句柄和属性。任何其它的响应状态“status”都意味着此操作失败,没有文件被创建。

注意:这个例程可以传递一个排它的创建标志,意味着“仅在文件不存在的时候创建这个文件”。

2.2.11 删除文件

stat NFSPROC_REMOVE(diropargs) = 10;

文件“name”从“dir”确定的目录中删除。NFS_OK的响应意味着这个目录项被删除。

注意:可能不是幂等地操作。

2.2.12 重命名文件

struct renameargs {

diropargs from;

diropargs to;

};

stat NFSPROC_RENAME(renameargs) = 11;

在"from.dir"目录中的"https://www.360docs.net/doc/e815985358.html,"文件被更名为"to.dir"目录中的文件名"https://www.360docs.net/doc/e815985358.html,"。如果响应是NFS_OK,文件被更名。更名操作在服务器上是一个原子操作;它不能在执行中被中断。

注意:可能不是幂等地操作。

2.2.13 创建文件链接

过程12,版本2。

struct linkargs {

fhandle from;

diropargs to;

};

stat NFSPROC_LINK(linkargs) = 12;

在"to.dir"目录中创建文件"https://www.360docs.net/doc/e815985358.html,",它是已存在的文件"from"的一个硬链接。如果返回值是NFS_OK,一个链接创立。如何返回其它的值表明出错,这个链接没有创建。

硬链接应该具有这样的属性,链接的文件中的任何一个改变都将影响到两个文件。当硬链接指向一个文件的时候,文件属性中应该有一个表示"nlink"的值,这个值比链接前大。

注意:可能不是幂等地操作。

2.2.14 创建符号链接

struct symlinkargs {

diropargs from;

path to;

sattr attributes;

};

stat NFSPROC_SYMLINK(symlinkargs) = 13;

在给定的目录"from.dir"中创建一个文件类型是NFLNK的文件"https://www.360docs.net/doc/e815985358.html,"。这个新文件包含着路径名“to”,具有"attributes"指定的初始属性。如果返回值是NFS_OK,一个链接被创建。任何其它的返回值指示错误,链接没有创建。

符号链接是指向另一个文件的指针。在"to"中给定的名字不被服务器解释,只存储在新建的文件中。当客户端引用一个符号链接文件的时候,符号链接中的内容通常作为一个代替的路径名重新被解释。READLINK的操作返回给客户端要解释的数据。

注意:在UNIX服务器上,attributes从不使用,因为符号链接总是具有0777的模式。

2.2.15 创建目录

diropres NFSPROC_MKDIR (createargs) = 14;

新目录"https://www.360docs.net/doc/e815985358.html,"创建在给定的目录"where.dir"中。新目录的初始属性由"attributes"确定。一个NFS_OK的返回值表示新目录被创建,响应"file"和响应"attributes"是这个新目录的文件句柄和属性。返回任何其它的响应状态"status"都意味着操作失败,没有目录被创建。

注意:可能不是幂等地操作。

2.2.16 删除目录

stat NFSPROC_RMDIR(diropargs) = 15;

在"dir"指定的目录中的空的目录"name"将被删除,如果响应是NFS_OK,目录被删除。

注意:可能不是幂等地操作。

2.2.17 从目录中读

struct readdirargs {

fhandle dir;

nfscookie cookie;

unsigned count;

};

struct entry {

unsigned fileid;

filename name;

nfscookie cookie;

entry *nextentry;

};

union readdirres switch (stat status) {

case NFS_OK:

struct {

entry *entries;

bool eof;

} readdirok;

default:

void;

};

readdirres NFSPROC_READDIR (readdirargs) = 16;

从“dir”指定的目录中返回一个可变数目的目录项集合,总的大小是“count”个字节。如果返回的状态值"status"是NFS_OK,那么后跟一组可变数目的"entry"。每一个"entry"包含着一个"fileid",这个"fileid"是由文件系统中唯一标识这个文件的号码,文件名和一个指向目录中下一个目录项的不透明指针"cookie"组成。Cookie使用在下面的READDIR调用中,以便在这个目录中从一个指定的开始点获得更多的目录项。特殊的cookie值0(所有比特都是0)使得从目录的开始点得到目录项。"fileid"字段应该和在文件属性中的"fileid"字段中有同样的值。(见“基本数据类型”中的2.3.5节“fattr”)如果在目录中没有更多的目录项,"eof"标志的值是TRUE。

2.2.18 获得文件系统属性

union statfsres (stat status) {

case NFS_OK:

struct {

unsigned tsize;

unsigned bsize;

unsigned blocks;

unsigned bfree;

unsigned bavail;

} info;

default:

void;

};

statfsres NFSPROC_STATFS(fhandle) = 17;

如果响应状态"status"是NFS_OK,那么响应"info"给出包含着由输入文件句柄fhandle引用的文件的文件系统的属性。属性字段包含着下列值:

tsize 用字节表示的最优化的传输尺寸。这是服务器在READ 和WRITE请求中的最想要的数据字节数。

bsize 文件系统用字节表示的块尺寸。.

blocks 文件系统中"bsize"块的总数。

bfree 文件系统中自由的“bsize”块的数目。

bavail 无特权用户可用的"bsize"块的数目。

注意:如果文件系统具有可变尺寸的块,这个调用不能很好的工作。

2.3 基本数据类型

以下XDR定义是在描述其它结构中使用的基本的结构和类型。

2.3.1. stat(统计类型)

enum stat {

NFS_OK = 0,

NFSERR_PERM=1,

NFSERR_NOENT=2,

NFSERR_IO=5,

NFSERR_NXIO=6,

NFSERR_ACCES=13,

NFSERR_EXIST=17,

NFSERR_NODEV=19,

NFSERR_NOTDIR=20,

NFSERR_ISDIR=21,

NFSERR_FBIG=27,

NFSERR_NOSPC=28,

NFSERR_ROFS=30,

NFSERR_NAMETOOLONG=63,

NFSERR_NOTEMPTY=66,

NFSERR_DQUOT=69,

NFSERR_STALE=70,

NFSERR_WFLUSH=99

};

在每一个过程调用结果中都有统计类型“stat”被返回。NFS_OK的值表示调用执行成功,结果有效。其它值表示服务器一侧在过程服务中产生的某种错误。这些错误值来源于UNIX 错误号。

NFSERR_PERM

不是所有者,调用者不是所请求操作的正确的所有者。

NFSERR_NOENT

不存在这样的文件或者目录。指定的文件或者目录不存在。

NFSERR_IO

在操作执行的时候出现某种硬件错误。例如,这可能是一个磁盘错误。

NFSERR_NXIO

没有这样的设备或者地址。

NFSERR_ACCES

许可权限拒绝。调用者没有执行请求操作的正确的权限。

NFSERR_EXIST

文件存在。指定的文件已经存在。

NFSERR_NODEV

没有这样的设备。

NFSERR_NOTDIR

不是一个目录。在目录操作中调用者指定一个非目录。

NFSERR_ISDIR

是一个目录。调用者在一个非目录操作中指定一个目录。

NFSERR_FBIG

文件太大。操作造成文件增长超过服务器的限制。

NFSERR_NOSPC

在设备上没有剩余的空间。这个操作导致服务器文件系统达到它的极限。

NFSERR_ROFS

只读文件系统。在一个只读文件系统上试图写。

NFSERR_NAMETOOLONG

文件名太长。在操作中文件名太长。

NFSERR_NOTEMPTY

目录不空。试图删除一个不空的目录。

NFSERR_DQUOT

磁盘限额超出。客户在服务器上的磁盘限额已经超出。

NFSERR_STALE

在参数中给的文件句柄"fhandle"无效。也就是说,这个文件句柄引用的文件不再存在。

或者访问它的设置已经被撤销。

NFSERR_WFLUSH

使用"WRITECACHE"调用中的服务器写缓冲区得到磁盘刷新。

2.3.2. ftype(文件类型)

enum ftype {

NFNON = 0,

NFREG = 1,

NFDIR = 2,

NFBLK = 3,

NFCHR = 4,

NFLNK = 5

};

枚举"ftype"类型给出文件的类型。NFNON类型表示不是一个文件,NFREG表示一个正常的文件,NFDIR表示一个目录。NFBLK表示一个特定的块设备,NFCHR表示一个特定的字符设备,NFLNK表示一个符号链接。

2.3.3. fhandle(文件句柄)

typedef opaque fhandle[FHSIZE];

"fhandle"是一个在服务器和客户端之间传送的文件句柄。所有文件操作都使用文件句柄来引用一个文件或者目录。文件句柄包含着服务器需要的区分一个单独文件的信息。

2.3.4. timeval(时间值)

struct timeval {

unsigned int seconds;

unsigned int useconds;

};

"timeval"结构是一个秒和微秒的数值,从格林威治时间1970年一月一日凌晨起计时。它使用在传递时间和日期的信息中。

2.3.5. fattr(文件属性)

struct fattr {

ftype type;

unsigned int mode;

unsigned int nlink;

unsigned int uid;

unsigned int gid;

unsigned int size;

unsigned int blocksize;

unsigned int rdev;

unsigned int blocks;

unsigned int fsid;

unsigned int fileid;

timeval atime;

timeval mtime;

timeval ctime;

};

"fattr"结构包含着文件的属性;"type"是文件的类型;"nlink"是一个文件的硬链接数(对同一个文件不同的名字的数目);"uid"是这个文件的所有者的用户标识号码;"gid"是拥有这个文件的组的组标识号码;"size"是这个文件以字节数计算的大小;"blocksize"是这个文件的一个块以字节计数的大小;如果文件的类型是NFCHR 或者NFBLK,"rdev"是这个文件的设备号;"blocks"是文件在磁盘上块的数量;"fsid"是包含这个文件的文件系统的系统标识符;"fileid"是这个文件在它的文件系统中唯一的标识符号码;"atime"是上次文件读访问或者写访问的时间;"mtime"是文件数据上次被修改时的时间(写);"ctime"是文件状态上次改变的时间。如果文件的尺寸改变,写一个文件也将改变"ctime"。

"Mode"是被编码成一个比特集合的访问模式。注意文件类型要么在模式比特中指定,要么在文件类型中指定。这实际上是此协议中的一个缺陷,将在未来的版本中修订。下面的描述使用八进制数确定比特的位置

0040000这是一个目录,"type"字段应该是NFDIR。

0020000 这是一个字符特殊文件,"type"字段应该是NFCHR。

0060000这是一个块特殊文件,"type"字段应该是NFBLK。

0100000这是一个正常的文件,"type"字段应该是NFREG。

0120000这是一个符号链接文件,"type"字段应该是NFLNK。

0140000这是一个命名的socket;"type"字段应该是NFNON。

0004000设置在执行中的用户ID

0002000 设置在执行中的组ID

0001000 在使用后保存交换文本。

0000400 对所有者的读权限许可。

0000200 对所有者的写权限许可。

0000100 对所有者的执行和搜索权限许可。

0000040 对组的读权限许可。

0000020 对组的写权限许可。

0000010 对组的执行和搜索权限许可。

0000004 对其他人的读权限许可。

0000002 对其他人的写权限许可。

0000001 对其他人的执行和搜索权限许可。

注意:这些比特与UNIX中stat(2)系统调用中返回的模式比特是一样的。文件类型要么在模式比特中要么在文件类型中确定。这在未来的版本中将修改。

在属性结构中"rdev"字段是一个操作系统特定设备的标识符。在这个协议的下一个

修订版中将删除。

2.3.6. sattr(设置文件属性)

struct sattr {

unsigned int mode;

unsigned int uid;

unsigned int gid;

unsigned int size;

timeval atime;

timeval mtime;

};

"sattr"结构包含着可以从客户端设置的文件的属性。这些字段与上面的"fattr"中的字段的含义是相同的。"size"值为0意味着文件将被截短。一个–1的值意味着这个字段将被忽略。

2.3.7. filename(文件名)

typedef string filename;

"filename"用来传送文件名或者路径名的组成部分。

2.3.8. path(路径)

typedef string path;

"path"是一个路径名。服务器把它作为一个没有内部结构的字符串,但是对客户端来

说它是文件系统树中的节点的名字。

2.3.9. attrstat(属性状态)

union attrstat switch (stat status) {

case NFS_OK:

fattr attributes;

default:

void;

};

"attrstat"结构是一个公共的过程结果。它包含着一个"status",如果这个调用成功,它将也包含操作作用于那个文件的属性。

2.3.10. diropargs(目录操作参数)

struct diropargs {

fhandle dir;

filename name;

};

"diropargs"结构使用在目录属性操作中。"dir" 是在其中寻找文件"name"的那个目录。一个目录操作影响这个目录。

2.3.11. diropres(目录操作结果)

union diropres switch (stat status) {

case NFS_OK:

struct {

fhandle file;

fattr attributes;

} diropok;

default:

void;

};

在"diropres"中返回目录操作的结果。如果这个调用成功,与这个文件相关的新文件句柄"file"和文件属性"attributes"将连同"status"一起返回。

3. NFS实现中的问题

NFS协议设计为允许不同的操作系统共享文件。但是,因为它在UNIX环境中设计,所以,许多操作与UNIX文件系统的操作语义相似。这一节讨论实现中特别的细节和语义的问题。

3.1 服务器/客户端的关系

NFS协议被设计为让服务器尽可能的简单和通用。有时候如果客户端想实现复杂的文件系统语义,服务器的简单性可能是一个难题。

例如,一些操作系统允许删除打开的文件。一个进程能够打开文件,当文件打开的时候,从目录中删除它。只要进程保持文件打开,这个文件就可以被读写,即使这个文件在文件系统中没有名字。对于无状态服务器来说,实现这些语义是不可能的。客户端可以使用一些技巧,诸如在删除时重命名这个文件,只在它关闭的时候删除它。我们相信服务器提供了足够的功能在客户端上实现大多数文件系统的语义。

每一个NFS客户端也是一个潜在的服务器,远程和本地安装的文件系统可以自由的混合在一起。当客户端浏览远程文件系统的目录树,到达在服务器上另一个远程系统的安装点的时候,将会出现一些有趣的问题。要允许服务器跟随第二个远程安装就需要循环检测,服务器查找和用户重新生效。代替的做法是,我们决定不让客户端越过服务器的安装点。.当客户端在一个服务器已经安装了文件系统的目录中查询的时候,客户端将看见下面的目录而不是安装的目录。

例如,如果服务器有一个叫做"/usr"的文件系统,把另一个文件系统安装在"/usr/src"上,如果客户端安装了"/usr",它将看不到"/usr/src"的安装版本。客户端能做远程安装以配合服务器的安装点保持服务器的视图。在这个例子中,客户端应该除了安装"/usr"之外,还要安装"/usr/src",即使它们是来自同一台服务器。

3.2 路径名解析

路径名总是在客户端解析的规则有点复杂。例如,符号链接在不同的客户端可以有不同的解释。对于非UNIX实现的另一个共同的问题就是路径".."的专门的解释是给定的目录的父目录。此协议的下一个修订版将使用一个明确的标志指示父目录。

3.3 许可问题

严格的讲,NFS协议没有定义服务器使用的许可权限检查。但是,也希望使用

AUTH_UNIX类型认证这一基础的保护机制作正常的操作系统许可权限检查,服务器得到客户的有效"uid",有效"gid"和每次调用上的组,使用它们来检查许可。使用这种方法产生的问题可以用一些有趣的途径来解决。

使用"uid" 和"gid"暗示着客户端和服务器分享相同的"uid"列表。每一对服务器和客户端必须有相同的用户到"uid",组到"gid"的映射。因为每一个客户端也可能是一台服务器,这意味着整个网络共享相同的"uid/gid"空间。AUTH_DES(和NFS协议的下一个修订版)使用字符串来代替数字,但是仍有复杂的问题要解决。

由于打开操作有状态,所以产生了另一个问题。大多数操作系统在打开文件的时候检查许可权限,在每一次读写请求的时候检查文件是否打开。在无状态的服务器中,服务器没有办法知道文件是否打开,必须在每次读写调用的时候检查许可权限。在一个本地文件系统上,用户可以打开文件,然后改变权限不允许别人接触它,但是仍然能够写文件,因为文件是打开的。相反,在远程文件系统上,写操作将失败。为了避免这种问题,服务器的许可检查算法将允许文件的所有者访问文件,而不管许可的设置。

在从网络中的文件上进行页面调度的时候,也会出现相似的问题。操作系统在打开一个文件进行页面调度之前,总是检查执行许可权限,然后从打开的文件中读取块。文件可能没有读许可权限,但是在文件打开后,这就不是一个问题了。NFS服务器不能区分在正常文件读和页面调入请求读之间的区别。为了使这个可以工作,如果在调用中被给的"uid"在文件上有执行或者读许可权限,服务器将允许读文件。

在大多数操作系统中,一个特别的用户(在UNIX上,用户ID为0)有访问所有文件的权限,而不管文件中的所有权和设定的许可权限。"super-user"权限在服务器上不可能被允许,因为在自己工作站上的任何具有超级用户权限的人都能访问所有的远程文件。UNIX服务器在访问检查前,默认把用户ID 0 映射为–2。这个工作在NFS的根文件系统中例外,在那里超级用户访问不能避免。

3.4 RPC信息

认证

NFS服务使用AUTH_UNIX, AUTH_DES 或者AUTH_SHORT类型的认证,

在NULL过程中例外,在那里AUTH_NONE也被允许。

传输协议

NFS通常由UDP支持。

端口号

NFS协议当前使用UDP端口号2049。这不是一个正式分配的端口号,所以,

这个协议的后继版本使用RPC的“端口映射”工具。

3.4 XDR结构的尺寸

这里有一些使用在此协议中不同的XDR结构的尺寸,用十进制字节给出。

/*

* 在读写请求中的数据的最大字节数。

*/

const MAXDATA = 8192;

/*在路径参数中的最大字节数*/

const MAXPATHLEN = 1024;

/*在文件名参数中的最大字节数*/

const MAXNAMLEN = 255;

/*被READDIR 传送的"cookie"字节数的大小*/

const COOKIESIZE = 4;

/*不透明文件句柄的字节数的大小*/

const FHSIZE = 32;

3.6 设置RPC的参数

不同的文件系统参数和选项应该在安装的时候设置。安装协议在附录中描述。例如,象“硬”安装一样,“软”安装也被提供。当RPC操作失败(在给出一个重传的选项号后),软安装文件系统返回错误,而硬安装文件系统一直继续重传。最大的传输尺寸依赖于实现。对于在一个本地网的有效操作来说,通常使用8192字节的数据。这可能导致下层的分段(诸如在IP层)。既然一些网络接口不允许这样的包,对于在低速网络、主机上的操作,或者通过网关的操作,512或1024字节总是提供较好的结果。

客户机和服务器可能需要把当前的操作保存在缓冲区中,以帮助避免因为非幂等的操作产生的问题。例如,如果传输协议丢失了删除文件操作的响应,在重传的时候,服务器可能返回一个NFSERR_NOENT来代替NFS_OK。但是,如果服务器保持上次的请求操作和结果,它可能返回正确的成功的代码。当然,服务器在重传之间可能崩溃、重起。但是一块很小的缓冲区(甚至只是容纳一个条目)将解决大部分的问题。

网络问卷调查系统操作说明

全国中小学校责任督学挂牌督导创新县(市、区)评估认定 网络问卷调查系统操作手册 一.省联络员 负责四件事情: 1.注册问卷系统账号; 2.向市级单位传达问卷通知(如:公文、通知、公告等); 3.审核市级单位的身份认证信息; 4.跟踪市级单位的完成进度。 具体操作流程: 第一步、收到教育部的通知后,访问网络问卷调查系统(https://www.360docs.net/doc/e815985358.html,),点击“身份认证”按钮; 第二步、填写认证信息并注册(注:单位类型选择-政府机关、所属级别选择-省级),提交后等待教育部审核; 第三步、审核通过后,再次访问网络问卷调查系统(https://www.360docs.net/doc/e815985358.html,)。点击“开始调查”按钮,使用身份认证时输入的手机号和密码进行登录; 第四步、登录后,在系统首页查看、下载公文,并据此向市级单位下发问卷通知:要求市级单位访问问卷管理系统,并进行身份认证; 第五步、等待市级单位访问问卷管理系统,并提交身份认证申请; 第六步、登录网络问卷调查系统,进入“审核管理”页面,点击申请列表中的“审核”按钮,选择“通过”,点击“保存”按钮完成审核操作; 第七步、点击“问卷管理”页面,可以随时查看学生问卷和老师问卷的完成率;

面,分别点击“统计完成率”进行老师问卷和学生问卷的统计。 二.市联络员 负责四件事情: 1.注册问卷系统账号; 2. 向县区级单位传达问卷通知(如:公文、通知、公告等); 3. 审核县区级单位的身份认证信息; 4. 跟踪县区级单位的完成进度。 具体操作流程: 第一步、收到省级单位的通知后,访问网络问卷调查系统(https://www.360docs.net/doc/e815985358.html,),点击“身份认证”按钮; 第二步、填写认证信息并注册(注:单位类型选择-政府机关、所属级别选择-市级),提交后等待教育部审核; 第三步、审核通过后,再次访问网络问卷调查系统(https://www.360docs.net/doc/e815985358.html,)。点击“开始调查”按钮,使用身份认证时输入的手机号和密码进行登录; 第四步、登录后,在系统首页查看、下载公文,并据此向县区级单位下发问卷通知:要求县区级单位访问问卷管理系统,并进行身份认证; 第五步、等待县区级单位访问问卷管理系统,并提交身份认证申请; 第六步、登录网络问卷调查系统,进入“审核管理”页面,点击申请列表中的“审核”按钮,选择“通过”,点击“保存”按钮完成审核操作; 第七步、点击“问卷管理”页面,可以随时查看学生问卷和老师问卷的完成率;

软件详细设计说明书模板

New Project 1: 详细设计说明书

1. 前言 2. 摘要 3. 系统详细需求分析 3.1. 详细需求分析 3.1.1. 详细功能需求分析 3.1.2. 详细性能需求分析 3.1.3. 详细信息需求分析 3.1. 4. 详细资源需求分析 3.1.5. 详细组织需求分析 3.1.6. 详细系统运行环境及限制条件需求分析3.1.7. 信息要求 3.1.8. 性能要求 3.2. 接口需求分析 3.2.1. 系统接口需求分析 3.2.2. 现有软、硬件资源接口需求分析

3.2.3. 引进软、硬件资源接口需求分析 4. 总体方案设计 4.1. 系统总体结构 4.1.1. 系统组成、逻辑结构 4.1.2. 应用系统结构 4.1.3. 支撑系统结构 4.1.4. 系统集成 4.1. 5. 系统工作流程 4.2. 分系统详细界面划分 4.2.1. 应用分系统与支撑分系统的详细界面划分 4.2.2. 应用分系统之间的界面划分 5. 应用分系统详细设计 5.1. XX分系统详细需求分析 5.1.1. 功能详细需求分析 5.1.2. 性能详细需求分析

5.1.3. 信息详细需求分析 5.1.4. 限制条件详细分析 5.2. XX分系统结构设计及子系统划分5.3. XX分系统功能详细设计 5.4. 分系统界面设计 5.4.1. 外部界面设计 5.4.2. 内部界面设计 5.4.3. 用户界面设计 6. 数据库系统设计 6.1. 设计要求 6.2. 信息模型设计 6.3. 数据库设计 6.3.1. 数据访问频度和流量 6.3.2. 数据库选型 6.3.3. 异构数据库的连接与数据传递方式

食神餐饮管理系统用户手册(网络版)

食神餐饮管理系统 (V5.1) https://www.360docs.net/doc/e815985358.html, 用户手册

前言 感谢您购买中山市食神网络科技有限公司出品的餐饮管理软件——《食神餐饮管理系统V5.1》。《食神餐饮管理系统V5.1》是我公司餐饮管理软件最新一代产品。功能较以前更强大,系统更稳定,操作界面新颖大方,更易于操作。 为了用户对本软件系统能够快速全面的掌握从而达到熟练操作的目的,我们特编写了该用户手册。本手册详细介绍了《食神餐饮管理系统V5.1》的使用方法。它包含了3部分内容:常用功能键及操作方法;详细的系统功能介绍;具体操作过程及详解;术语说话及印单详解。 前部分内容详细讲述了常用功能键及操作方法;后一部分在介绍系统功能后,并对功能的操作使用做了详细讲解,从而明了的归纳了许多操作过程中遇到的常用问题以及注意事项。 相信通过本手册的学习,使您能全面而深入地掌握《食神餐饮管理系统V5.1》的全部功能以及操作方法,为您的餐饮管理添加一臂之力! 若对我们的产品有什么意见和建议,请与我们联系,谨谢! 只有在所有用户的大力支持下,我们的软件才能做得更好。再一次感谢您的购买! 中山市食神网络科技有限公司 地址:中山市富湾南路富湾工业区综合楼三楼 电话:(0760)8318717、8383222 传真:(0760)8318949

维护热线:(0760)8737683 网址:https://www.360docs.net/doc/e815985358.html, 注:由于软件升级更新造成和本说明书不完全符合之处,请参看软件帮助说明。 目录 一、常用功能键及操作方法 (3) 1、快捷键的使用 (3) 2、常用功能键 (3) 二、系统功能 (4) 前台管理 (4) 1.房台界面 (5) 2.点菜送单 (5) 3.厨房管理 (7) 收银管理 (12) 1.账单 (13) 2.转更 (14) 3.食品 (15) 4.寻找 (16) 5.天气 (16) 6.找赎 (16) 7.报表 (16) 8.签离 (20) 系统设置 (20) 1.员工登录 (20) 2.显示/隐藏房号 (21) 3.系统介绍 (21) 4.帐单 (22) 5.天气 (22) 6.报表 (22) 7.食品管理 (22) 8.退出系统 (22) 后台管理 (23) 1.预订 (24) 2.食品管理 (25) 3.房台管理 (29) 4.人事 (32) 5.会员 (38)

系统软件详细设计说明书

系统软件详细设计说明书 1.引言 编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。 2. 系统的结构 ui client preview search common ui:系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui

部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。 client:实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的资源,并返回相应的信息。 search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。 preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。preview部分调用common部分读取属性文件的内容亦显示预览资源内容的显示格式。 3.模块1(ui)设计说明 模块描述 实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。 功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。 交互的模块 client,search,preview,common。 模块设计 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下::MainFrame是含有主函数的类,也是lyra客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。 :显示关于窗口的类,当用户点击帮助菜单中的关于菜单项时会弹出关于对话框。 :FileTools是文件操作辅助类,可以实现文件的递归删除等。

网络维修维护及服务合同协议书范本 新版

甲方: _ 地址: _ 乙方: _ 地址: _ 联系方式: _ 根据《中华人民共和国合同法》,合同双方就系统(设备)维修维护及服务事宜经协商一致,特签订本合同以供遵守。 第一条服务内容、方式和要求 甲方委托乙方对进行维修维护及服务,包括: 1、服务对象 乙方的服务对象为甲方的设备,详细内容见合同附件一“服务范围”。 2、服务项目 甲方委托乙方在本合同的有效期内为甲方设备的维修维护服务。详细服务内容见合同附件二“服务内容”。 3、服务标准 乙方保证为甲方提供及时、快速、细致及符合标准的维修维护服务,详细内容见合同附件三“服务标准”。 4、在履行合同过程中,如遇下列情况,需延迟履行或调整费用,双方应及时进行协商,并通过书面形式确定顺延期限或调整费用。如双方无法达成协议,则乙方有权依照本合同之规定延期履行或继续按照原合同规定履行义务。在此情况下,乙方不承担相应的违约责任: (1)本合同第八条规定的不可抗力事件被迫停工的。 (2)因甲方修改项目结构、或甲方变更技术要求、技术规格、或甲方提出会导致工期延长的其他要求的。 (3)政府政策、法律、法规、行业管理规定和/或强制性技术标准的改变而导致必须变更技术要

求、技术规格或因此而导致工期延长的其他情况。 第二条履行期限 服务期限为年月日至年月日止, 共。 第三条合同金额及付款方式 1、合同总金额为:元,大写:。 2、付款方式:(合同签订之日起计算)按比例付款一次,于每月号前内由甲方向乙方支付,乙方向甲方开具等额符合国家规定的有效发票。 第四条保密 1、本合同项下甲方的信息、知识、数据、图纸、分析、计算等文件、资料或其他任何智力成果以及任何包括或根据全部或部分该等信息而形成的材料为保密信息。但上述保密信息不应包括以下信息: (1)任何众所周知或非因乙方原因而变为众所周知的信息。 (2)任何乙方无须承担保密义务且有权从第三方处获得的信息。 (3)由乙方独立发展的信息。 (4)任何法律规定、政府指令、法院命令和/或任何一方控股公司注册的证券交易所要求披露的信息。 2、乙方同意在本协议期间及之后的年内,在未获得甲方任何事先书面同意前,不会因任何理由或目的将保密信息披露予任何其他第三方。如因乙方原因(包括已经离开乙方的人员)泄密,乙方承担因泄密给甲方造成的全部直接和间接损失。 第五条违约责任 1、甲方逾期付款的,应按日向乙方支付逾期支付款项%的迟延违约金,但违约金不应超过本合同第三条1款项下规定的合同总金额。

《OA系统管理使用手册》

神华乌海能源OA系统管理使用手册 二零零八年十一月 北京慧点科技开发有限公司

目录 1引言.................................................................................................................................................. 2系统实施说明.................................................................................................................................. 2.1系统环境命名规则.............................................................................................................. 2.1.1域的命名.................................................................................................................... 2.1.2服务器的命名............................................................................................................ 2.1.3验证字命名................................................................................................................ 2.1.4命名网络命名............................................................................................................ 2.1.5用户命名.................................................................................................................... 2.1.6群组命名.................................................................................................................... 2.2系统环境的部署.................................................................................................................. 2.2.1安装配置服务器........................................................................................................ 2.2.2重命名用户................................................................................................................ 2.2.3通讯录(names.nsf)存取控制设置...................................................................... 2.2.4注册组织单元............................................................................................................ 2.2.5注册附加服务器........................................................................................................ 2.2.6复制............................................................................................................................ 3用户管理.......................................................................................................................................... 3.1功能描述.............................................................................................................................. 3.2操作过程.............................................................................................................................. 3.2.1部门信息的设置........................................................................................................ 3.2.2用户信息的设置........................................................................................................ 3.2.3验证字信息................................................................................................................ 3.2.4等级信息................................................................................................................... 3.2.5群组管理.................................................................................................................... 3.2.6应用信息配置............................................................................................................ 1 引言 本手册为神华乌海能源公司网管理员进行办公自动化系统的设置和日常 维护提供参考。 2 系统实施说明 2.1 系统环境命名规则 2.1.1 域的命名 Domino网络域,Internet网络域和Domino命名网络的命名规则如下:

某网站系统详细设计说明书

1、引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。 同时,说明书也发挥与策划和设计人员更好地沟通的作用。 1.2背景 a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的 一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网 站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的 作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访 问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价; b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟 性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互 宣传。 正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。 1.3定义 单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量, 在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。 会员:用户通过Passport服务器注册成功后,就具有了会员身份。 单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证, 该会员在一定的时间内,访问任何成员网站都不需要再次登录。 Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间, 过期日期时间和用户其它数据。

网络维护公司的技术服务合同样本

编号:YB-HT-018646 网络维护公司的技术服务 Sample of technical service 甲方: 乙方: 签订日期:年月日 文档中文字均可自行修改 编订:YunBo Network

网络维护公司的技术服务合同样本 委托方(甲方): 负责人 地址 服务方(乙方): 签定地点: 有效期限:年月日至年月日 根据《中华人民共和国技术合同法》的规定,合同双方就网吧局域网系统的技术维护服务,经协商一致,签订本合同。 一、服务内容 1、乙方对甲方内部网络进行维护,使之能正常上网。维护终端数包括终端的系统()台 2、乙方不定期对甲方网吧的终端程序如:游戏、多媒体、

互联网应用进行升级与更新。 3、以下情况不属于本合同维护范围:硬件设备损坏的维护、网线脱落、鼠标、键盘更换等服务,以及私人服务器的更新。 二、报酬及其支付方式 1、本服务项目费用为(维护费)第一个月(含初装费):元;第二个月起至本合同终止(纯维护费):元/月。 2、乙方完成专业技术工作,解决技术问题需要的费用由乙方负担。甲方超出服务合同以外的技术工作费用双方另外协商。 3、支付方式:甲方从签订合同之日起先行支付乙方维护费,乙方收到费用后开始维护。 4、维护费计算时间为网吧系统开始安装或维护之日。 三、工作条件和协作事项 1、甲方应当为乙方提供必要的工作场地及设施,以及双方约定提供的其它维护条件。 2、乙方在维护过程中如需甲方网吧全部或部分停止营业,应当事先书面告之甲方并得到同意。

3、在合同存续期间,如甲方有意刁难或要求乙方提供合同以外的服务,乙方可拒绝或终止履行合同。 4、如甲方要求服务涉及添加、删除系统资源由本合同甲方签订人通知乙方。 5、甲方不得私自将乙方提供的服务和资源转用于其他合同以外的营业人与网吧。 四、违约责任 1、双方所定合同存续期间,如甲方单方面终止合同,乙方有权删除之前提供的资源。 2、乙方按约向甲方提供技术维护服务,甲方需按约支付乙方维护费,否则将双倍赔偿乙方。 五、合同终止 1、双方合同期满或双方同意解除合同。 2、本合同由于不可抗拒因素,使一方或双方不能继续完成本合同可以终止本合同,不承担违约责任。 六、争议的解决办法

系统设计说明书

本系统采用mvc的设计模式,框架tp3.1 分为管理员端和学生端,若不能出现页面,将student文件放到浏览器根目录,配置一下虚拟主机即可出现 管理员端可以对学生的信息进行管理,增删改查,禁用(用到了jquery的ajax),同时可以查看学生们的考勤情况,今日考勤和历史考勤,甚至是今日签到和签退的详细数目。 学生端,学生登录之后可以进行签到和签退操作,可以查看自己的考勤记录。 管理员 登录模块 public function index(){ //如果是post请求则代表登录,否则显示登录界面 if (IS_POST) { $user = $this->_post('user'); $pass = $this->_post('pass'); $vdcode = $this->_post('vdcode'); //判断用户是否为空 if (!$user) $this->error('请输入用户名!'); //判断密码是否为空 if (!$pass) $this->error('请输入密码!'); //判断验证码是否为空 if (!$vdcode) $this->error('请输入验证码!'); //验证验证码是否正确 if (session('verify') != md5(strtoupper($vdcode))) $this->error('验证码错误!');

session('verify', null);//使验证码失效 $User = M('Users');//实例化对象 //查询用户信息 $user = $User->where("username = '" . $user . "'")->field('user_id,username,role_type, password, is_enable, login_try_times, block_time, group_id')->find(); if (!$user) $this->error('用户不存在!', U('Login/index')); //判断用户是否被禁用 if ($user['is_enable'] == 2) $this->error('你已经被禁用'); //将用户信息存入session session('user_info',$user); session('user_id',$user['user_id']); //判断用户的角色,管理员则跳转到管理员端,学生则跳转到学生端 if($user['role_type'] == 1) $this->success('登录成功 ','/AcpUser/get_student_list'); if($user['role_type'] == 2) $this->success('登录成功','/UcpSign/sign'); } $this->assign('head_title', '管理员登录'); $this->display(); } 修改密码

电脑及网络维护服务协议企事业单位外包服务合同书

《电脑及网络维护服务协议》 甲方: 乙方: 为全面解决计算机,办公设备使用者的后顾之忧,推出网络安全及办公设备、电脑维护,维修,软件的指导使用等全系列服务工程,免费提供24小时电话咨询,签定合同后,甲方有偿上门服务,甲方接到乙方维修请求后,3小时内到达乙方现场。甲、乙双方本着互惠互利的原则,通过友好协商签定以下电脑保养及网络维护协议: 一、服务条约 1、服务对象所包括的设备明细及服务内容:(如附件表一) A、硬件服务 a、主机(主板、硬盘、光驱、板卡等)、显示器,外设(打印机、扫描仪、一体机等)网 络设备、电话设备、监控设备的维护、维修,保证硬件设备正常运转。 b、如发现硬件损坏,我们负责硬件维修,由我们向您提出配件的规格、型号和报价,可 以由您自行采购,也可以由我们代为您采购。 B、软件服务 a、电脑操作系统和驱动程序的安装、升级与维护。电脑病毒的防护、查杀。保证用户操 作系统正常运转。 b、使用的应用软件,我们有义务全力以赴协助您使用好各种应用软件。 C、网络服务 网络的日常调试、维护、保障网络的正常运行,根据网络的拓朴结构及网络操作系统对服务器进行维护。检测并提高网络系统的安全性。保障网络的安全。

二、电脑及网络定期维护保养 1、地点:甲方实施上门服务地点为协议规定电脑使用所在地。 2、基本服务:电脑及网络每周上门服务 1 次。如有特殊情况需随时响应服务报告:每次甲方在为乙方提供保养服务后,需现场填写"服务记录",如实反映电脑及网络的运转情况,并由甲、乙双方签字确认。 三、电脑及网络临时紧急服务 1、地点:甲方实施上门服务地点为协议包括电脑使用所在地。 2、时间: a、周一至周日9:00-17:30(不包括节、假日)为甲方执行本协议的标准时间,乙方的保 养设备出现故障,甲方在接到故障通知后,如是特急要求(网络瘫痪、系统崩溃,电脑不能工作,甲方 亟需解决),则在3小时内到达现场;一般要求(电脑能正常工作,但有小故障)则由乙方安排时间。 b、乙方需要甲方在标准工作时间以外进行维修工作,乙方必须在周一至周日的工作时间内提 前通知甲方,否则,甲方有权拒绝乙方的要求。 3、乙方在本协议所包括的服务设备出现故障后要及时通知甲方,并将出现故障的情况如实告知甲方,以协助甲方维修人员做出正确判断,因故障现象未如实告知甲方所产生的后果由乙方承担。 4、如果乙方服务设备故障严重,而无法现场修复必须由甲方拿回大修,甲方需经乙方同意。 5、更换部件: a、部件更换可能会影响办公设备的功能、性能,甲方必须配合乙方办公设备功能、性能等维修更换部件,而甲方要在与乙方协商认同后进行。 b、甲方为乙方提供的更换部件必须保证为原装部件,如有特殊情况,甲方需在与乙方协商认同后更换与原部件应用功能与技术指标相近的部件。

宠物医院管理系统网络版用户手册

目录 一.目录-------------------------------------------------------------1 二.前言-------------------------------------------------------------2 三.软件功能 第一章安装说明-------------------------------------------------------3 第二章基础数据-------------------------------------------------------6 第三章前台登记------------------------------------------------------14 第四章服务项目------------------------------------------------------25 第五章商品管理------------------------------------------------------33 第六章收银结算------------------------------------------------------36

第七章院长查询------------------------------------------------------38 第八章关于------------------------------------------------------44 四.附注 打印机驱动安装指南-------------------------------------------------46 SQL Server安装指南-------------------------------------------------51 网络版组建网络指南-------------------------------------------------54 二.前言 宠物医院近年来在国内逐步兴起,宠物医院的信息化建设还刚刚起步,对于其管理主要还处于摸索阶段,市场也迫切需要一套规范化的管理软件去管理,从而提升宠物医院的管理水平。宠物医院通过使用网络版的医院管理系统,不但使各科室业务协同办公,还建立健全了辖区内的宠物电子档案,可以为宠物的疾病防疫方面提供服务,且卫生防疫部门可以通过抽调数据实现对动物疾病的防疫情况进行监督和管理。 我们在宠物行业已有近五年的软件开发经验,自07年推出了《宠物医院信息管理系统》单机版以来,得到了广大客户的认可与肯定,并在宠物医院管理的流程和功能方面积累了丰富的经验,对开发出的医院管理软件进行周密的考虑与设计,在原有单机版的基础上进行了重写,使整个医院的操作流程得以加强,更完善,更人性化。目前这款网络版的软件系属国内最好的宠物医院系统,它实现了联网诊疗、宠物美容和商品销售等,

仪器设备管理系统网络版使用说明个人版

仪器设备管理系统网络版使用说明(个人版) 南昌航空大学国有资产管理处

目录 1概述 (1) 1.1编写目的 (1) 1.2内容简介 (1) 2操作步骤 (1) 2.1 系统网址 (1) 2.2 用户登录 (2) 2.3 资产信息查询 (3) 2.4 数据导出 (4) 2.5 用户密码修改 (5) 2.6信息发布 (6) 2.7 软件的帮助信息 (7) 2.8 退出系统 (8)

1概述 1.1编写目的 “仪器设备管理系统网络版”内收录了学校2014年前购买的单价在500元以上以及2014年后购买的单价在1000元以上的高值仪器设备信息,它已链接在国有资产管理处网站上,用户能够通过此系统准确了解归属自己名下的仪器设备相关信息。为了让用户对此系统有基本的认识并能方便快捷的使用该系统特编写了本文档。 1.2内容简介 本文档介绍了“仪器设备管理系统网络版”的基本查询功能,具体通过文字、图示等方式阐述了用户登录、信息查询、密码修改、数据导出以及帮助信息查询等功能的操作步骤。 2操作步骤 2.1 系统网址 Step 1:按照下面的方法打开系统网页。 方法1:直接在浏览器中输入网址,进入图1所示界面; 方法2:从“南昌航空大学主页—>管理机构—>22、国有资产管理处”进入图1所示界面。 Step 2:点击图1中所示的“资产管理综合平台”图标, 进入仪器设备管理系统网络版用户登录界面,如图2所示。

点此登录 图1实设处网站首页 2.2 用户登录 仪器设备管理系统网络版登录界面如图2所示,请输入用户名和密码后点击登录,初次登录后请即时修改密码。 注:用户名为用户的中文姓名,密码为用户的工号。 用户的中文姓名 用户的工号 图2仪器设备管理系统网络版登录界面 登录成功后首页面会显示仪器设备查询首页面,列出用户名下所有仪器设备的简单信息,如图3所示。

网上购物系统——详细设计说明书

网上购物系统 详细设计说明书 1引言 1.1编写目的 电子商务是于九十年代初,在欧美兴起的一种全新的商业交易模式,它实现了交易的无纸化,效率化,自动化表现了网络最具魅力的地方,快速的交换信息,地理界限的模糊,这所有的一切也必将推动传统商业行为在网路时代的变革。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。特别是在全球经济一体化的国际背景下,在我们继续扩大国内流通领域对外开放的同时,深入研究这个问题,审慎制订相应的宏观对策,尤其重要和迫切。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。 1.2.项目背景 软件名称:网上购物系统 开发者:宋金德,袁浩,王朝阳,许威 项目简介:本系统主要实现网上产品展示与在线定购及人员的管理, 一、不同身份有不同的权限功能(管理人员、注册用户、游客) 二、在线产品展示(分页显示) 三、在线定购 四、后台管理(用户管理、商品的管理) 1.3定义 Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换)。 ADO:ActiveX Data Object, ActiveX 数据对象 SQL:Structured Query Language 1.4参考资料 [1] 谭浩强《动态网页制作ASP》北京电子工业出版社. 2001 [2] 彭万波《网页设计精彩实例》北京电子工业出版社.2002

计算机网络设备维护服务合同

计算机网络设备维护服务合同 甲方:____________ 乙方:____________ 一、总则 乙方根据甲方的需要,为甲方的计算机设备提供软件硬件的维护服务,并提供相应的技术咨询服务。为保障双方权益,明确双方职责,本着友好协作的精神,共同协商达成以下协议: 二、乙方服务内容及责任 在合同期内,乙方将向甲方提供合同范围内设备保持正常应用的维护服务。 X.合同签订之日起,乙方将对甲方要求,提供即时上门维护服务,提供工作时间的电话咨询服务。 X.合同期内,甲方的关键设备出现故障,导致电脑等相关设备不能正常工作,乙方应及时派维修人员上门维修,并在接到甲方有效报修电话的X小时内到达维修地点。如有其他原因不能保证按时到达,应向甲方说明理由,并在不超过X小时到达现场对电脑等设备进行修复。 X.软件服务范围:及时解决甲方软件使用过程中出现的问题,软件服务范围包括Windows、Office、Outlook、MS-Dos、AutoCAD、Internet Explorer、ACDsee、防病毒软件及其他软件,网络、计算机病毒清除、系统注册表清理及操作系统的整体维护。对于以上范围以外的软件,乙方应尽量协助解决。

X.硬件服务范围:甲方设备由乙方负责硬件的维护,如因硬件导致的电脑等设备不能正常运行,乙方应配合甲方寻找相应的电脑供应商维修(硬件在保修期内,有电脑供应商保修)。 X.乙方维修人员到达现场后,应尽快检查出故障,给出相应的解决方案,提出维修建议。 X.在维护过程中,乙方维护人员如需将甲方的设备搬离甲方所在地,须征得甲方同意,出具相关文字手续,并在指定时间内送还给甲方。 X.维修及维护保养工作结束时,乙方人员应出具有关维护说明(报告),或向甲方有关人员描述故障引发的原因及处理过程,以及今后在使用当中应注意的问题。 X.乙方人员在维护过程中应不接触及不泄露甲方的商业信息、商业秘密和甲方IT安全秘密的一切书面资料、图表或者其它形式的资料和信息,包括口头或视觉透露的资料和信息。 三、甲方责任 X.在合同执行期内,甲方应积极配合乙方做好维修与维护保养工作,包括提供设备的相关资料,包括设备品牌型号、规格、系统软件、设备驱动程序、设备等。 X.协议范围内设备发生故障时,甲方应及时向乙方报告故障现象,错误信息等,以便乙方及时分析故障,有准备地到现场及时解决问题。 X.对于偶发性及间歇性故障,甲方应协助乙方做好故障跟踪工

网络信息安全管理平台用户手册.doc

网络信息安全管理平台用户手册1 北信源 网络信息安全管理平台 用户手册 北京北信源自动化技术有限公司Bei XinYuan Auto Technology, Inc. 目录 第一篇软件介绍 第一章:软件介绍---------------------------------------- 3 第二章:软件结构设计简介-------------------------------- 4 第二篇用户手册 第三章.前台显示界面------------------------------------ 7 3-1.首页----------------------------------------- 8 3-2.安全预警------------------------------------ 10 3-3.安全监测------------------------------------ 14 3-4.安全管理------------------------------------ 16 3-5.安全通报------------------------------------ 18 3-6.安全服务------------------------------------ 19 3-7.非法外联------------------------------------ 20 第四章.后台管理界面----------------------------------- 21 4-1.安全预警设定-------------------------------- 21 4-2.安全管理设定

-------------------------------- 24 4-3.安全通报设定-------------------------------- 25 4-4.安全服务设定-------------------------------- 27 4-5.数据导入设定-------------------------------- 30 第一篇软件介绍 第一章:软件介绍 为保障网络信息的安全运行,需对保障网络安全运行的各组件充分协调和监管。目前政府管理下的信息网络存在着网络设备,终端设备以及操作系统和管理软件的多样化和复杂化,正是这种多样化和复杂化使政府在对实际的各区域网络设备的总体监控管理方面带来了不便,网络安全运行缺乏统一的、完整的控制,同时,零散而数量巨大的报警信息也可能会使真正重要的报警信息被忽视或遗漏;当网络运行出现问题时,往往难以定位问题的源头,更难以统一管理和制定相关的安全策略,管理的难度很大。 政府相关部门针对出现的问题提出了《北京市公共服务网络与信息系统安全管理规定》,对现有网络进行总体安全监控管理的要求,考虑到现有的实际物质条件和技术条件,在《内网安全及补丁分发管理系统》软件的支持下建设安全监控管理平台,做到按照划分好的区域,在区域中进行针对不同单位部门的网络进行安全等级划分,收集、汇总和管理网络中各相关安全和应用设备信息的各类相关信息,并可通过对相关信息的综合分析,及时发现系统运行中的安全问题和隐患,并提出改进措施。 第二章:软件结构设计简介

教育网站详细设计说明书

大学门户网站系统详细设计说明书 1.引言 (3) 1.1编写目的 (3) 1.2项目背景 (3) 1.3定义 (3) 1.4参考资料 (4) 2.总体设计 (4) 2.1需求概述 (4) 2.2软件结构 (4) 3.程序描述 (5) 3.1功能 (5) 3.2性能 (6) 3.3输入项目 (6) 3.4输出项目 (6) 3.5算法 (6) 3.6程序逻辑 (6) 3.7接口 (7) 3.8存储分配 (8) 3.9限制条件 (8) 3.10测试要点 (8)

1.引言 1.1编写目的 本说明书在概要设计的基础上,对大学门户网站系统的各模块、程序、子系统分别进行了实现层面上的要求和说明。 系统开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。测试成功后进行公测,所有的大学门户网站系统的使用对象均可进行使用和给出建议看法,然后系统维护人员会进行修改订正。 1.2项目背景 说明: A、软件系统的名称:大学门户网站系统 B、任务提出者:无 开发者:大学门户网站系统开发小组 C、实现完成的大学门户网站系统将以系统嵌套网站的形式,以网站为整体 外部结构,内部使用数据库技术和软件开发技术为使用者提供教育网站 的图书馆管理系统、选课系统、邮箱系统、社区系统、资讯管理系统等 子系统或模块程序,旨在提高该网站应扩大高校影响力,通过互联网向 更多的网民宣传高校办学理念、学校规模、培养目标等信息;满足本校 学生通过浏览该校网页更加方便快捷的了解校方及学校各种社团、组织 的通知计划及自身的考试成绩、课程、学分等信息的需求;同时设有的 网上报名、网上借书、网上学习等一系列辅助功能,既为校方除去了原 有一些繁琐的程序又为学生提供了另一种学习方式——浏览网页,使学 生可以方便及时的向校方反应学生状况,提出自己的意见与建议;增强 了校方与学生的互动式联系等。 D、本系统将是共享的系统,任何能够上网的拥有学号、教师号或者社会人 士都可以享用到本系统的不同功能。 1.3定义 API函数----由函数、消息、数据结构、数据类型以及语句组成,它们可在创建在 Microsoft Windows 下运行的应用程序中使用。API 中使用最多的部分是从 Windows 中调用 API 函数的代码元素,包括过程声明(Windows 函数)、用户自定义类型的定义(用来传递到函数中的数据结构),以及常数声明(传递给函数以及从函数中返回的值)。

相关文档
最新文档