CN100486172C - 网络文件系统服务认证方法 - Google Patents

网络文件系统服务认证方法 Download PDF

Info

Publication number
CN100486172C
CN100486172C CNB2004100310517A CN200410031051A CN100486172C CN 100486172 C CN100486172 C CN 100486172C CN B2004100310517 A CNB2004100310517 A CN B2004100310517A CN 200410031051 A CN200410031051 A CN 200410031051A CN 100486172 C CN100486172 C CN 100486172C
Authority
CN
China
Prior art keywords
client computer
address
record
catalogue
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100310517A
Other languages
English (en)
Other versions
CN1684424A (zh
Inventor
刘文涵
宋建福
姚爱国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNB2004100310517A priority Critical patent/CN100486172C/zh
Publication of CN1684424A publication Critical patent/CN1684424A/zh
Application granted granted Critical
Publication of CN100486172C publication Critical patent/CN100486172C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明公开了一种网络文件系统服务认证方法,通过认证流程的改变而减少查询域名系统DNS的次数,提高网络文件系统NFS的认证效率,包括:读取用户文件;将该文件的记录写入系统文件;根据客户机的访问请求读取该系统文件中的记录,并将其存为一个链表;走访该链表,搜索与该客户机的IP地址与目录相匹配的项;如果没有搜索到该相匹配的项,将发出请求的客户机的IP地址转换为主机名;根据该主机名走访该链表,搜索和该客户机主机名与目录匹配的项。本发明通过认证流程的改变而提高了网络文件系统的服务认证效率。

Description

网络文件系统服务认证方法
技术领域
本发明涉及一种服务器认证方法,特别是涉及一种网络文件系统服务认证方法。
背景技术
网络文件系统(Network File System,NFS)是一种在网络中的机器间共享文件的方式,文件就如同位于客户的本地硬盘驱动器上一样,这意味着它可以把文件系统导出给其它系统,也可以挂载(Mount)从其它机器上导入的文件系统。
NFS对于在同一网络中的多个用户间共享目录很有用途。譬如,一组致力于同一工程项目的用户可以通过使用NFS文件系统(通常被称作NFS共享)中的一个挂载为/myproject的共享目录来存取该工程项目的文件。要存取共享的文件,用户进入各自机器上的/myproject目录。这种方法既不用输入口令又不用记忆特殊命令,就仿佛该目录位于用户的本地机器上一样。
NFS使我们能够在Linux/Unix下共享文件。它的设计是为了在不同的系统间使用,所以它的通信协议设计与主机及操作系统无关。当使用者想用远程文件时,只要用mount命令就可把远程的文件系统挂接在自己的文件系统之下,使得远程的文件使用上和本地机器的文件一样。NFS实际上就是使服务器上的文件能被其它的机器挂载,而达到资源共享的目的,挂载并且使用这些共享文件的机器就可称为客户机。
NFS服务器所共享(export)的目录都记录在用户文件中,文件中记录了export的目录,并且记录了有权使用该目录的客户机和该客户机所具有的权限等信息,我们可以通过编辑这个文件来指定一个目录可以被哪个客户机访问,并且指定其权限。
每一个目录的格式为:
 
目录名称 IP地址或者主机名称 权限以及其它参数
例如:
/shares/dirl 10.190.6.236(rw)
/shares/dirl remotehost(ro)
表示IP地址为10.190.6.236的客户机可以使用服务器上的/shares/dirl目录,具有读写权限;
主机名为remotehost的客户机可以使用/shares/dirl目录,具有只读权限。
当我们启动NFS服务器时,Server会启动exportfs这个程序,读取用户文件,解析每一条记录,处理后记录到系统文件,然后客户机发来请求时,mountd这个守护进程会检索系统文件以确定该客户机的请求是否可以通过认证。
如果我们修改了用户文件后,要手工执行exportfs这个程序或者重新启动NFS服务器以更新系统文件,使得我们的修改发生作用。
请参阅图1,为先前技术中exportfs这个命令解析用户文件并且生成系统文件的过程。首先步骤101读取用户文件;然后步骤102读取该文件的一条记录;步骤103查询DNS(Domain Name System,域名系统),取得主机名称;如果成功,则步骤104把目录名称、主机名称、权限写入系统文件;步骤105判断用户文件是否结束;如果没有结束,则返回步骤102,再读取下一条记录,如果文件结束,则退出。
由图1可以看出,每读取一条记录,都要去查询DNS,以获得该条记录的主机名称,并且把主机名称、目录、权限等按照规定格式记录到系统文件中,如果查询失败,则忽略该记录,继续下一条直到文件结束。
在实际使用中,会出现这样一个问题,如果网络状况不好,或者DNS的设置存在错误的,例如设置了一个不存在的DNS服务器,那么查询DNS会很慢。尤其是后者,查询DNS会暂时得不到响应,直到超时返回,这个过程大概需要30~60秒,甚至更长时间,如果需要解析成百上千条记录,那么等待时间是不能忍受的,每次在修改用户文件或者NFS服务启动时,NFS都要进行这个操作,管理员需要等待很长时间,甚至认为NFS服务发生错误。
请参阅图2,为先前技术中当客户机发来请求时,服务器的认证过程示意图。首先步骤201接收到客户机发出的访问请求;步骤202服务器读取系统文件;然后步骤203读取该文件的一条记录;然后步骤204根据记录中的主机名称查DNS,获取IP地址;如果成功,则步骤205将其添加到一个链表中;然后步骤206判断文件是否结束,如果没有结束,则返回步骤203,读取下一条记录,如果文件已经结束,则步骤207走访(traversal)该链表,搜索和客户机IP地址以及目录相匹配的项;如果找到比配项,则步骤208登录成功;如果没有匹配项,则步骤209登录失败。
经过图1流程的转换,系统文件中记录的是主机名称,而客户机发来的请求包含的是客户机的IP地址,因此服务器对每一条记录都要查询DNS以获得IP,进行后面的比较。
可以看出,频繁的查询DNS会造成效率的低下。而且这个过程同样存在上面的问题,如果DNS设置存在问题,其表现就是客户机发出请求后,等待很长时间没有响应,直到超时,此时,服务器根本无法访问。
发明内容
本发明所要解决的技术问题是提供一种网络文件系统服务认证方法,用以改善因频繁查询DNS而造成的启动缓慢问题,提高NFS服务认证的效率。
为达到上述目的,本发明提供了一种网络文件系统服务认证方法,其特点在于,通过认证流程的改变而减少查询域名系统DNS的次数,提高网络文件系统NFS的认证效率,包括:读取用户文件;将该文件的记录写入系统文件;根据客户机的访问请求读取该系统文件中的记录,并将其存为一个链表;走访该链表,搜索与该客户机的IP地址与目录相匹配的项;如果没有搜索到该相匹配的项,将发出请求的客户机的IP地址转换为主机名;及根据该主机名走访该链表,搜索和该客户机主机名与目录匹配的项。
上述的网络文件系统服务认证方法,其特点在于,搜索与该客户机的IP地址与目录相匹配的项的步骤,如果搜索到匹配项,则认证成功。
上述的网络文件系统服务认证方法,其特点在于,搜索与该客户机的主机名与目录相匹配的项的步骤,如果搜索到匹配项,则认证成功;否则认证失败。
上述的网络文件系统服务认证方法,其特点在于,该客户机的请求包含了该客户机的IP地址及其要访问的目录。
上述的网络文件系统服务认证方法,其特点在于,该读取系统文件中的记录的步骤,是将其中每一条记录作为一个节点,节点中保存相关项,相关项中包括有地址和目录,并填充到一个链表中。
上述的网络文件系统服务认证方法,其特点在于,该走访链表并搜索与该客户机的IP地址与目录相匹配的项的步骤,如果没有与请求目录相匹配的项,则直接返回认证失败。
上述的网络文件系统服务认证方法,其特点在于,如果该客户机的IP地址及转换后的主机名与该链表中项皆不匹配时,将该客户机的IP地址记入一个先入先出队列,该客户机下次发出请求时,则根据查询该队列记录的结果,直接返回认证失败。
上述的网络文件系统服务认证方法,其特点在于,该先入先出队列中,对每一条记录,还包括一插入队列中的时间记录。
上述的网络文件系统服务认证方法,其特点在于,该查询先入先出队列时,设定一超时值,每次访问该队列前,删除在队列中记录的插入时间与当前时间之差已经大于该超时值的记录。
上述的网络文件系统服务认证方法,其特点在于,该将客户机IP地址转换为主机名的步骤,还进一步包括如下步骤:在先出先出队列中查询客户机IP地址记录;如果有与该客户机IP地址相匹配的项,则根据该记录的插入时间判断是否该记录已经超时;如果没有超时,则直接返回认证失败,如果已经超时,则删除该条记录及插入时间更早的所有记录;查询DNS以获取该客户机IP地址代表的主机名称;及如果查询DNS失败,则将该客户机IP地址及当前时间作为一条新的记录放在该先出先出队列尾。
本发明的技术效果在于:
本发明通过改变系统文件的生成流程,不需查询DNS,能够解决DNS异常时不能实时更新该文件,以及由此引起的NFS启动缓慢的问题,而且还改变mountd认证客户机请求的流程,减少查询DNS的次数,提高效率,同时,在内部维护一个队列,如果DNS不能够返回客户机地址,就将该地址和当前时间记录到队列,下一次该客户机发来的请求就不必查询DNS,直接返回认证失败,大大体高了相应速度。
下面结合附图进一步详细说明本发明的具体实施例。
附图说明
图1为先前技术中exportfs命令解析用户文件文件并且生成系统文件的流程图;
图2为先前技术中当客户机发来请求时,服务器的认证流程示意图;
图3为本发明之网络文件系统服务认证方法流程图;
图4为本发明解析用户文件文件并且生成系统文件的流程图;
图5为本发明之处理客户机请求的流程图;
图6为本发明利用超时值来转换IP地址的流程图。
其中,附图标记说明如下:
步骤101  读取用户文件
步骤102  读取该文件的一条记录
步骤103  查询DNS,取得主机名称
步骤104  把目录名称、主机名称、权限写入系统文件
步骤105  判断用户文件是否结束
步骤201  接收到客户机发出的访问请求
步骤202  服务器读取系统文件
步骤203  读取该文件的一条记录
步骤204  根据记录中的主机名称查DNS,获取IP地址
步骤205  添加到一个链表中
步骤206  判断文件是否结束
步骤207  走访该链表,搜索和客户机IP地址以及目录相匹配的项
步骤208  登录成功
步骤209  登录失败
步骤301  读取用户文件
步骤302  将该文件的记录写入系统文件
步骤303  根据客户机的访问请求读取系统文件中的记录,并将其存为一个链表
步骤304  走访该链表,搜索与该客户机的IP地址与目录相匹配的项
步骤305  将目录匹配但IP地址不匹配的客户机IP地址转换为主机名
步骤306  根据该主机名走访该链表,搜索和客户机主机名与目录匹配的项
步骤401  exportfs程序打开用户文件
步骤402  读取文件中的一条记录,直接写入该文件
步骤403  判断文件是否结束
步骤501  客户机发来请求
步骤502  保存地址和目录以及其它相关项,填充到一个链表
步骤503  读取所有记录后走访链表,查看每一个节点的地址项和目录项是否和客户机请求中的IP和目录匹配
步骤504  是否发现有某个节点的目录项和客户请求的目录相同
步骤505  把客户机IP地址转换为主机名称
步骤506  判断转换是否成功
步骤507  主机名称是否匹配
步骤508  认证成功
步骤509  认证失败
步骤601  在队列记录中搜寻客户机IP
步骤602  获取当前系统时间,减去记录中的时间项,得出该记录存在时间
步骤603  是否大于超时值
步骤604  将该条记录以及之前的记录删除
步骤605  查询DNS获取主机名称
步骤606  查询成功
步骤607  获取当前时间,用IP和时间产生一条新的记录放在队列尾
步骤608  转换失败
步骤609  转换成功
具体实施方式
请参阅图3,为本发明的网络文件系统服务认证方法流程图,首先步骤301读取用户文件;步骤302将该文件的记录写入系统文件;接着步骤303根据客户机的访问请求读取该系统文件中的记录,并将其存为一个链表;然后步骤304走访该链表,搜索与发出请求的客户机的IP地址与目录相匹配的项;步骤305将发出请求的客户机的IP地址转换为主机名;最后步骤306根据该主机名走访该链表,搜索和该客户机主机名与目录匹配的项。
在上述流程中,与先前技术相比,本发明针对传统的如图1及图2所示的两个流程分别做了改进。
首先请参阅图4,为本发明解析用户文件并且生成系统文件的流程图,首先步骤401exportfs程序打开用户文件;然后步骤402读取文件中的一条记录,不做改动,按照etab文件的要求直接写入该文件;步骤403判断文件是否结束,直到读取所有记录;完成文件操作。与原来的流程相比,这个过程没有查询DNS的操作。
再请参阅图5,为本发明的处理客户机请求的流程图。首先步骤501客户机发来请求,请求中包含了要访问的目录以及本机器的IP地址;步骤502,这个请求是被NFS服务的mountd处理的,mountd读取系统文件,把其中的每一条记录作为一个节点,节点中保存地址和目录以及其它相关项,填充到一个链表;步骤503读取所有记录后走访链表,查看每一个节点的地址项和目录项是否和客户机请求中的IP和目录匹配;如果发现有节点符合,则步骤508返回认证成功,给予客户机对应权限。如果没有找到,步骤504判断一下比较过程中是否发现有某个节点的目录项和客户请求的目录相同;没有则步骤509说明客户请求访问的目录不存在或者没有被输出(export),直接返回认证失败。由于本发明在图4中的流程中,没有把主机名称转换为IP地址,因此节点中的地址项存储的可能是主机名称也可能是IP地址,所以匹配不成功可能是因为地址项存储的是主机名称,因此需要再比较一次。需要步骤505把客户机IP地址转换为主机名称;然后步骤506判断转换是否成功;如果转换失败,步骤509返回认证失败。成功步骤507再走访链表,比较目录匹配的节点中,主机名称是否匹配;没有找到则步骤509返回认证失败,找到则步骤508返回认证成功。
如果DNS异常,那么客户机第一次发来请求时,服务器会查询DNS,结果当然是失败,此时可以把该客户机IP地址记入一个先入先出队列,下次发来的请求就不再查询DNS,直接返回认证失败。但是为了避免出现DNS设置发生改变,该客户机可以被正确解析,而列表中仍然记录该地址的情况,设定了一个超时值,每次查询队列时会清除超时的记录。
本发明的实施例里使用了一个先入先出的队列,队列的每一条记录主要包括两项内容:IP和插入到队列的时间,例如下表所示:
Figure C200410031051D00111
另外可以设定一个超时值,每次访问队列时,删除在队列中的时间大于超时值的记录,这个时间可以根据实际情况自己制定,例如设置为1800秒左右。
请参阅图6,为本发明利用超时值来转换IP地址的流程图,首先步骤601在队列记录中搜寻客户机IP;如果发现该IP存在,则说明该IP曾经被DNS解析失败,需要判断该记录是否超时失效,步骤602获取当前系统时间,减去记录中的时间项,得出该记录存在时间,步骤603判断是否大于超时值,如果没有超时,则步骤608直接返回失败,不再查询DNS;如果超时,由于是先进先出队列,因此之前的记录也一定超时,因此步骤604将该条记录以及之前的记录删除,然后步骤605查询DNS获取主机名称,并且步骤606判断是否成功;如果失败,步骤607获取当前时间,用IP和时间产生一条新的记录放在队列尾,然后步骤608返回转换失败,如果步骤606成功则由步骤609返回转换成功。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被本发明的专利范围所涵盖。

Claims (10)

1、一种网络文件系统服务认证方法,其特征在于,通过认证流程的改变而减少查询域名系统DNS的次数,提高网络文件系统NFS的认证效率,包括:
读取用户文件;
将该文件的记录写入系统文件;
根据客户机的访问请求读取该系统文件中的记录,并将其存为一个链表;
走访该链表,搜索与该客户机的IP地址与目录相匹配的项;
如果没有搜索到该相匹配的项,将发出请求的客户机的IP地址转换为主机名;及
根据该主机名走访该链表,搜索和该客户机主机名与目录匹配的项。
2、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,搜索与该客户机的IP地址与目录相匹配的项的步骤,如果搜索到匹配项,则认证成功。
3、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,搜索与该客户机的主机名与目录相匹配的项的步骤,如果搜索到匹配项,则认证成功;否则认证失败。
4、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,该客户机的请求包含了该客户机的IP地址及其要访问的目录。
5、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,该读取系统文件中的记录的步骤,是将其中每一条记录作为一个节点,节点中保存相关项,相关项中包括有地址和目录,并填充到一个链表中。
6、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,该走访链表并搜索与该客户机的IP地址与目录相匹配的项的步骤,如果没有与请求目录相匹配的项,则直接返回认证失败。
7、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,如果该客户机的IP地址及转换后的主机名与该链表中项皆不匹配时,将该客户机的IP地址记入一个先入先出队列,该客户机下次发出请求时,则根据查询该队列记录的结果,直接返回认证失败。
8、根据权利要求7所述的网络文件系统服务认证方法,其特征在于,该先入先出队列中,对每一条记录,还包括一插入队列中的时间记录。
9、根据权利要求7所述的网络文件系统服务认证方法,其特征在于,该查询先入先出队列时,设定一超时值,每次访问该队列前,删除在队列中记录的插入时间与当前时间之差已经大于该超时值的记录。
10、根据权利要求1所述的网络文件系统服务认证方法,其特征在于,该将客户机IP地址转换为主机名的步骤,还进一步包括如下步骤:
在先出先出队列中查询客户机IP地址记录;
如果有与该客户机IP地址相匹配的项,则根据该记录的插入时间判断是否该记录已经超时;
如果没有超时,则直接返回认证失败,如果已经超时,则删除该条记录及插入时间更早的所有记录;
查询DNS以获取该客户机IP地址代表的主机名称;及
如果查询DNS失败,则将该客户机IP地址及当前时间作为一条新的记录放在该先出先出队列尾。
CNB2004100310517A 2004-04-12 2004-04-12 网络文件系统服务认证方法 Expired - Fee Related CN100486172C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100310517A CN100486172C (zh) 2004-04-12 2004-04-12 网络文件系统服务认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100310517A CN100486172C (zh) 2004-04-12 2004-04-12 网络文件系统服务认证方法

Publications (2)

Publication Number Publication Date
CN1684424A CN1684424A (zh) 2005-10-19
CN100486172C true CN100486172C (zh) 2009-05-06

Family

ID=35263561

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100310517A Expired - Fee Related CN100486172C (zh) 2004-04-12 2004-04-12 网络文件系统服务认证方法

Country Status (1)

Country Link
CN (1) CN100486172C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789976B (zh) * 2010-01-27 2013-04-10 上海交通大学 嵌入式网络存储系统及其方法
CN103514298A (zh) * 2013-10-16 2014-01-15 浪潮(北京)电子信息产业有限公司 一种实现文件锁的方法及元数据服务器
CN104158886B (zh) * 2014-08-21 2017-05-24 中南大学 一种应用程序的流式执行方法
CN107948224B (zh) * 2016-10-12 2021-07-06 北京京东尚科信息技术有限公司 客户端请求的超时处理方法和装置

Also Published As

Publication number Publication date
CN1684424A (zh) 2005-10-19

Similar Documents

Publication Publication Date Title
US9229940B2 (en) Method and apparatus for improving the integration between a search engine and one or more file servers
US6374262B1 (en) Relational database synchronization method and a recording medium storing a program therefore
US7162499B2 (en) Linked value replication
US6212521B1 (en) Data management system, primary server, and secondary server for data registration and retrieval in distributed environment
US8370910B2 (en) File server for translating user identifier
US20050075999A1 (en) Database system and a method of data retrieval from the system
CN101442558B (zh) 一种为p2sp网络提供索引服务的方法和系统
CN101197700A (zh) 提供日志服务的方法及系统
CN102033912A (zh) 一种分布式数据库访问方法及系统
US20070073703A1 (en) LDAP to SQL database proxy system and method
JP2021502655A (ja) データクエリ
CN103067463A (zh) 用户root权限集中管理系统和管理方法
CN111209259B (zh) Nas分布式文件系统及数据处理方法
JP3686564B2 (ja) データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
CN107797767A (zh) 一种基于容器技术部署分布式存储系统及其存储方法
EP1768035A1 (en) LDAP to SQL database proxy system and method
US7373393B2 (en) File system
CN100486172C (zh) 网络文件系统服务认证方法
CN101778131A (zh) 数据同步系统
US20020019822A1 (en) Database management system, method and program
CN101789963A (zh) 数据同步系统
CN105589940A (zh) 一种基于非结构化实时数据库的安全管理运维服务平台
CN112148745B (zh) 一种多HBase集群访问方法、装置及存储介质
US20160373592A1 (en) Information processing system, information processing device, and information processing method
CN114116717A (zh) 一种数据库信息查询方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090506

Termination date: 20110412