CN1684424A - 网络文件***服务认证方法 - Google Patents
网络文件***服务认证方法 Download PDFInfo
- Publication number
- CN1684424A CN1684424A CN 200410031051 CN200410031051A CN1684424A CN 1684424 A CN1684424 A CN 1684424A CN 200410031051 CN200410031051 CN 200410031051 CN 200410031051 A CN200410031051 A CN 200410031051A CN 1684424 A CN1684424 A CN 1684424A
- Authority
- CN
- China
- Prior art keywords
- client computer
- address
- record
- catalogue
- file
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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和***到队列的时间,例如下表所示:
记录1 | 10.190.1.3 | 8:13 |
记录2 | 10.190.1.5 | 8:30 |
记录3 | 10.190.1.11 | 8:33 |
… |
另外可以设定一个超时值,每次访问队列时,删除在队列中的时间大于超时值的记录,这个时间可以根据实际情况自己制定,例如设置为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地址及当前时间作为一条新的记录放在该先出先出队列尾。
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 true CN1684424A (zh) | 2005-10-19 |
CN100486172C 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789976B (zh) * | 2010-01-27 | 2013-04-10 | 上海交通大学 | 嵌入式网络存储***及其方法 |
CN103514298A (zh) * | 2013-10-16 | 2014-01-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现文件锁的方法及元数据服务器 |
CN104158886A (zh) * | 2014-08-21 | 2014-11-19 | 中南大学 | 一种应用程序的流式执行方法 |
CN107948224A (zh) * | 2016-10-12 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 客户端请求的超时处理方法和装置 |
-
2004
- 2004-04-12 CN CNB2004100310517A patent/CN100486172C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789976B (zh) * | 2010-01-27 | 2013-04-10 | 上海交通大学 | 嵌入式网络存储***及其方法 |
CN103514298A (zh) * | 2013-10-16 | 2014-01-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现文件锁的方法及元数据服务器 |
CN104158886A (zh) * | 2014-08-21 | 2014-11-19 | 中南大学 | 一种应用程序的流式执行方法 |
CN104158886B (zh) * | 2014-08-21 | 2017-05-24 | 中南大学 | 一种应用程序的流式执行方法 |
CN107948224A (zh) * | 2016-10-12 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 客户端请求的超时处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100486172C (zh) | 2009-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1290041C (zh) | 用于改进文件管理的方法和装置 | |
US6564370B1 (en) | Attribute signature schema and method of use in a directory service | |
CN1311363C (zh) | 生成内容地址的数据处理方法和可内容寻址的存储*** | |
US7933920B2 (en) | Database system and a method of data retrieval from the system | |
JP4671332B2 (ja) | ユーザ識別情報を変換するファイルサーバ | |
US8620926B2 (en) | Using a hashing mechanism to select data entries in a directory for use with requested operations | |
CN101064630A (zh) | 一种数据同步方法及*** | |
CN101405696B (zh) | 用于生成产品签名的方法和*** | |
CN1873641A (zh) | 数据管理***、数据服务器和数据管理方法 | |
CN1187651A (zh) | 字典管理方法以及装置 | |
WO2010045879A1 (zh) | 一种实现内容共享的方法和装置 | |
CN1848851A (zh) | 创建轻量目录访问协议数据交换格式片段的方法与计算机 | |
JP2021502655A (ja) | データクエリ | |
CN1877583A (zh) | 访问标识索引***及访问标识索引库生成方法 | |
WO2012026140A1 (ja) | データベース処理方法、データベース処理システム及びデータベースサーバ | |
CN104321766A (zh) | 数据的处理方法和装置 | |
CN1144136C (zh) | 用于为远程用户取回电子邮件的方法和*** | |
EP1768035A1 (en) | LDAP to SQL database proxy system and method | |
CN101075239A (zh) | 一种复合搜索方法和*** | |
JP2011034323A (ja) | 情報端末装置、情報検索方法、および情報検索プログラム | |
JP2012256318A (ja) | 多重範囲スキャンでのnソートクエリを最適に処理する方法及び装置 | |
CN1414495A (zh) | 数据库管理***及数据库 | |
CN1308852C (zh) | 数据传输方法和数据传输*** | |
CN1684424A (zh) | 网络文件***服务认证方法 | |
CN1794663A (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 |