一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种NFS网络文件共享方法及系统与流程

2021-11-20 04:51:00 来源:中国专利 TAG:

一种nfs网络文件共享方法及系统
技术领域
1.本发明涉及计算机应用技术领域,尤其涉及一种nfs网络文件共享方法及系统。


背景技术:

2.nfs共享服务是nas集群存储系统中提供文件共享的服务进程,在nfs的应用场景中经常会有小文件访问的需求,小文件访问的特点是读写数据量少但是频率高,这就导致大量的资源浪费在网络传输过程中,而每次传输的数据量却很少。
3.因此,如何减少nfs网络文件共享的网络传输开销,并同时保证文件访问速率是亟待解决的问题。


技术实现要素:

4.为解决上述技术问题,在本发明的一个方面提出了一种nfs网络文件共享方法,所述方法包括:通过监控节点监控多个用户节点的状态;响应于多个用户节点同时发出访问请求,截获所述多个访问请求并提取每个访问请求中的用户ip与请求参数,关联保存在临时关系对照表中,并将获得的多个请求参数封装为一个拓展请求包发送给所述服务器节点;服务器节点解析所述拓展请求包获得多个请求参数,并将根据所述多个请求参数获得的多个响应数据封装为一个拓展响应包返回给所述监控节点;监控节点解析所述拓展响应包获得多个响应数据,并根据所述临时关系对照表将对应的响应数据返回给相应的用户节点。
5.在一个实施例或多个实施例中,所述一种nfs网络文件共享方法还包括:预设截获请求阈值;相应的,所述响应于多个用户节点同时发出访问请求,截获所述多个访问请求并提取每个访问请求中的用户ip与请求参数进一步包括:响应于多个用户节点同时发出访问请求的数量大于等于所述截获请求阈值,截获所述多个访问请求并提取每个访问请求中的用户ip与请求参数。
6.在一个或多个实施例中,所述将获得多个请求参数封装为一个拓展请求包,包括:创建一个拓展请求包,所述拓展请求包由请求数量参数和数据参数组成;按照所述临时关系对照表中的请求参数的排列顺序将所述多个请求参数依次存储至所述拓展请求包的数据参数中,并将每个访问请求中包含的请求参数的数量赋值给所述拓展请求包的请求数量参数。
7.在一个或多个实施例中,所述服务器节点解析所述拓展请求包获得多个请求参数,并将根据所述多个请求参数获得的多个响应数据封装为一个拓展响应包,包括:所述服务器节点解析所述拓展请求包的数据参数获得多个请求参数;将所述多个请求参数按照所述拓展请求包的请求数量参数的值的个数进行划分以将所述多个请求参数还原为多个访问请求;根据所述多个访问请求获取多个响应数据,并将所述多个响应数据封装为一个拓展响应包。
8.在一个或多个实施例中,所述根据所述多个访问请求返回多个响应数据,并将所
述多个响应数据封装为一个拓展响应包,包括:创建一个拓展响应包,所述拓展响应包由响应数量参数和数据参数组成;按照所述多个访问请求的排列顺序依次获取响应数据,并将获得的多个响应数据依次存储到所述拓展响应包的数据参数中,并将每次获取的响应数据中包含的响应参数的数量赋值给所述拓展响应包的响应数量参数。
9.在一个或多个实施例中,所述监控节点解析所述拓展响应包获得多个响应数据,并根据所述临时关系对照表将对应的响应数据返回给相应的用户节点,包括:所述监控节点解析所述拓展响应包的数据参数获得多个响应参数;将所述多个响应参数按照所述拓展响应包的响应数量参数的值的个数进行划分以将所述多个响应参数还原为多个响应数据,并根据所述临时关系对照表中的用户ip的排列顺序依次将所述多个响应数据封装为多个响应报文,发送给相应的用户节点。
10.在一个或多个实施例中,所述访问请求为nfs请求,所述nfs请求中的请求参数包括:要读取的文件、要读取的内容所在的文件中的偏移量以及要读取的字节数。
11.在一个或多个实施例中,所述一种nfs网络文件共享方法还包括:预设拓展包容量阈值;相应的,在监控节点生成拓展请求包之前,判断将要封装的多个请求参数所需的总容量是否大于所述拓展包容量阈值;响应于将要封装的多个请求参数所需的总容量大于所述拓展包容量阈值,对所述多个请求参数进行分组,并分别对每组中的请求参数进行封装。
12.在一个或多个实施例中,所述一种nfs网络文件共享方法还包括:预设封装个数阈值;相应的,在监控节点生成拓展请求包之前,判断将要封装的多个请求参数的个数是否大于所述封装个数阈值;响应于将要封装的多个请求参数的个数大于所述封装个数阈值,对所述多个请求参数进行分组,并分别对每组中的请求参数进行封装。
13.在本发明的另一个方面,提出了一种nfs网络文件共享系统,包括:多个用户节点、监控节点以及服务器节点;其中,所述多个用户节点分别与所述监控节点通信连接,所述监控节点与所述服务器节点通信连接;所述监控节点和所述服务器节点中分别存储有相应的计算机程序,所述相应的计算机程序被执行时用于实现上述权利要求1

9任意一项所述的nfs网络文件共享方法的对应步骤。
14.本发明的有益效果包括:本发明通过在nfs网络的用户节点和服务器节点之间增加监控节点,利用监控节点将由一个或多个用户节点发出的多个访问请求封装为一个拓展访问请求包发送给服务器节点,从而提升了对服务器节点单次请求的数据量,减少了对服务器节点的请求频次,进而提升了网络资源利用率。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
16.图1为现有技术中的nfs文件共享网络的拓扑结构示意图;
17.图2为本发明的一种nfs网络文件共享方法的工作流程图;
18.图3为本发明的nfs文件共享网络系统的拓扑结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
20.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
21.网络文件系统(network

files

system)简称nfs,是一种基于tcp传输协议的文件共享应用,其主要通过rpc(remote

procedure

call)远程过程调用机制提供一组与机器、操作系统以及底层传输协议无关的存取远程文件的操作来实现。简单来说,nfs的c/s体系中的服务端启用协议将文件共享到网络上,然后允许本地用户通过网络挂载服务端共享的文件。
22.如图1所示,图1为现有技术中的nfs文件共享网络的拓扑结构示意图。在图1所示的拓扑结构中,每个用户节点单独与服务器节点通信交互,发送访问请求,以实现对共享文件的读、写或属性请求。这些访问请求中大部分是针对小文件的访问,小文件访问的特点是读写数据量少但是频率高,这就导致大量的资源浪费在网络传输过程中,而每次传输的数据量很少。
23.为了提升用户节点与服务器节点的通信效率,并同时保证各用户节点访问速率,本发明提出了一种nfs网络文件共享方法。图2为本发明的一种nfs网络文件共享方法的工作流程图。如图2所示,本发明的一种nfs网络文件共享方法的步骤包括:步骤s1、通过监控节点监控多个用户节点的状态;步骤s2、响应于多个用户节点同时发出访问请求,截获多个访问请求并提取每个访问请求中的用户ip与请求参数,关联保存在临时关系对照表中,并将获得的多个请求参数封装为一个拓展请求包发送给服务器节点;步骤s3、服务器节点解析拓展请求包获得多个请求参数,并将根据多个请求参数获得的多个响应数据封装为一个拓展响应包返回给监控节点;步骤s4、监控节点解析拓展响应包获得多个响应数据,并根据临时关系对照表将对应的响应数据返回给相应的用户节点。
24.在上述方法中,本发明提出了一种新的nfs文件共享网络的拓扑结构,本发明通过在各用户节点和服务器节点之间设置一监控节点,利用该监控节点进行访问请求的数据聚合,并统一发送给服务器节点,并由服务器节点统一返回响应数据后再通过监控节点返回给相应的用户节点,从而提升了对服务器节点单次请求的数据量,进而降低了请求频次。上述中的统一发送和统一返回指的是将多个访问请求中的多个访问参数封装为一个以监控节点的ip地址为源ip地址以服务器节点的ip地址为目的ip地址的拓展请求包。
25.对于步骤s1、通过监控节点监控多个用户节点的状态;在一个实施例中,监控节点本身为具有能够执行本发明方法对应步骤的能力的网络通信节点(如交换机或路由器)。
26.对于步骤s2、响应于多个用户节点同时发出访问请求,截获多个访问请求并提取每个访问请求中的用户ip与请求参数,关联保存在临时关系对照表中,并将获得的多个请求参数封装为一个拓展请求包发送给服务器节点。
27.在一个实施例中,监控节点将周期性获取来自多个用户节点的访问请求;其中,响应于多个用户节点同时发出访问请求可以理解为在一段毫秒级的周期内获得由多个用户节点发出多个访问请求或者由一个用户节点连续发出的多个访问请求。监控节点旨在通过
合并访问请求数据的方法增加单次访问请求中的数据量来减少对服务器节点的请求次数以减少数据传输过程中开销。并且,由于监控节点仅对很短一段时间的访问请求进行截获,因此,并不会对访问请求的响应速度造成明显的影响。
28.在一个可选的实施例中,为了进一步提升对信道的利用率减少网络传输的开销,本发明方法还将预设截获请求阈值;相应的,步骤s2中的响应于多个用户节点同时发出访问请求,截获多个访问请求并提取每个访问请求中的用户ip与请求参数进一步包括:响应于多个用户节点同时发出访问请求的数量大于等于截获请求阈值,截获多个访问请求并提取每个访问请求中的用户ip与请求参数。而当响应于多个用户节点同时发出的访问请求数量小于该截获请求阈值时,则监控节点并不会对这些访问请求做额外处理,而仅执行转发操作。
29.在另一个可选的实施例中,当对访问请求的响应的实时性要求较高时,截获请求阈值可以设置为2;即通过对截获请求阈值的配置,使得用户可以根需求来调整对信道的利用率和访问请求的响应的实时性的偏重。在一个实施例中,将获得的多个请求参数封装为一个拓展请求包,包括:创建一个拓展请求包,拓展请求包由请求数量参数和数据参数组成;按照临时关系对照表中的请求参数的排列顺序将所述多个请求参数依次存储至拓展请求包的数据参数中,并将每个访问请求中包含的请求参数的数量赋值给拓展请求包的请求数量参数。其中,将请求参数按序存储到数据参数中的目的是,确保后续步骤中根据请求参数返回的响应数据也是按照对应排序进行存储的,进而,使得监控节点在接收到响应数据时,可以确定对应位置上的响应数据所对应的用户ip。
30.具体的,本实施例的步骤相当于在nfs网络文件系统的请求参数中增加一层结构,使得原来一个nfs访问请求中只能包含对一个文件的访问操作扩展到可以对多个文件的多个访问操作;其中,访问请求包括读请求、写请求以及属性请求。以读请求对应的操作为例,正常的读请求参数包含(file、offset、count)三项;其中,file表示要读取的文件,offset标识要读取的内容所在的文件中的偏移量,count标识要读取的字节数(或长度)。扩展以后一个读请求包含(readcount、data)两项,其中,readcount为请求数量参数,用于保存每个访问请求中包含的请求参数的数量,data为数据参数,用于保存所有访问请求的请求参数,即data的每一项都包含file、offset以及count三个请求参数。
31.对于步骤s3、服务器节点解析拓展请求包获得多个请求参数,并将根据多个请求参数获得的多个响应数据封装为一个拓展响应包返回给监控节点。
32.在一个实施例中,服务器节点解析拓展请求包获得多个请求参数,并将根据多个请求参数获得的多个响应数据封装为一个拓展响应包,包括:服务器节点解析拓展请求包的数据参数获得多个请求参数;将多个请求参数按照拓展请求包的请求数量参数的值的个数进行划分以将所述多个请求参数还原为多个访问请求;例如,对拓展请求包的数据参数解析后获得数据为file1offset1count1file2offse2count2file3offset3count3,设请求数量参数的值为3,则将上述解析后的数据以3个为一组进行划分,获得访问请求1:file1offset1count1;访问请求2:file2offse2count2;访问请求3:file3offset3count3;其中,上述举例中拓展请求包的是对三个不同文件的访问请求进行合并而形成的,但这并不对本发明方法起到限定作用,拓展请求包中合并的访问请求可以为其它数量,要访问的文件页可以相同;例如对拓展请求包的数据参数解析后获得数据为file1offset1count1f
ile1offse2count2file1offse t3count3。在上述还原访问请求的过程中,由于数据参数中的数据是按一定顺序排列存储的,因此,划分后的访问请求也是按照一定顺序排列的,后续步骤中将按照还原后的访问请求的排列顺序依次获得相应数据;在还原多个访问请求后,步骤还包括根据所述多个访问请求获取多个响应数据,并将所述多个响应数据封装为一个拓展响应包。
33.在进一步的实施例中,根据多个访问请求返回多个响应数据,并将多个响应数据封装为一个拓展响应包,包括:创建一个拓展响应包,拓展响应包由响应数量参数和数据参数组成;按照多个访问请求的排列顺序依次获取响应数据,并将获得的多个响应数据依次存储到拓展响应包的数据参数中,并将每次获取的响应数据中包含的响应参数的数量赋值给拓展响应包的响应数量参数。例如,对应的nfs网络文件系统的服务端在处理完请求以后返回的响应报文包含(file_attributes、count、eof、data)四个参数,分别表示文件属性、读取的字节数、是否是文件结尾、读取的数据,扩展后一个请求的响应报文包含(rescount、data)两项,rescount为响应数量参数,表示一个访问请求返回的响应参数的数量,data为数据参数,用于保存根据多个请求参数获得的全部的响应数据,data的每一项包均含file_attributes、count、eof以及data响应参数。由前一实施例可知,还原后的访问请求具有一定的排序,在本实施例中,服务器节点将根据访问请求的排序依次获得获得响应数据以使得获得的响应数据保持对应排序;即对多个访问请求的响应不能并行执行,而需要以一定时间间隔返回响应并依次存储。
34.在服务器节点根据拓展请求包生成推展响应包后,会将拓展响应包返回给监控节点,以由监控节点进行相应数据的划分,并发送给对应的用户节点,即本技术的步骤s4;对于步骤s4、监控节点解析拓展响应包获得多个响应数据,并根据临时关系对照表将对应的响应数据返回给相应的用户节点;在一个实施例中,监控节点解析拓展响应包获得多个响应数据,并根据临时关系对照表将对应的响应数据返回给相应的用户节点,包括:监控节点解析拓展响应包的数据参数获得多个响应参数;将多个响应参数按照所述拓展响应包的响应数量参数的值的个数进行划分以将多个响应参数还原为多个响应数据,并根据所述临时关系对照表中的用户ip的排列顺序依次将所述多个响应数据封装为多个响应报文,发送给相应的用户节点。
35.在上述各实施的基础上,本发明的方法还包括预设拓展包容量阈值;相应的,在监控节点生成拓展请求包之前,判断将要封装的多个请求参数所需的总容量是否大于所述拓展包容量阈值;响应于将要封装的多个请求参数所需的总容量大于所述拓展包容量阈值,对所述多个请求参数进行分组,并分别对每组中的请求参数进行封装。本实施例的目的在于控制拓展请求包的大小,以避免超过信道的容量;
36.在进一步的实施中,本发明的方法还包括:预设封装个数阈值;相应的,在监控节点生成拓展请求包之前,判断将要封装的多个请求参数的个数是否大于封装个数阈值;响应于将要封装的多个请求参数的个数大于封装个数阈值,对多个请求参数进行分组,并分别对每组中的请求参数进行封装。本实施在预设拓展包容量阈值的基础上还预设有封装个数阈值,二者均用于控制拓展请求包的大小,拓展请求包的大小由相应条件先达到限定容量或限定个数决定。
37.具体实施例——本发明的nfs网络文件共享方法的完整工作流程:
38.监控节点周期性截获来自多个用户节点的访问请求;
39.响应于在一个周期内截获的访问请求数量大于等于截获请求阈值,提取每个访问请求中的用户ip与请求参数,并对应保存在临时关系对照表中;
40.判断将要封装的多个请求参数所需的总容量是否大于拓展包容量阈值;响应于将要封装的多个请求参数所需的总容量大于拓展包容量阈值,对多个请求参数进行分组,并分别对每组中的请求参数进行封装;判断将要封装的多个请求参数的个数是否大于封装个数阈值;响应于将要封装的多个请求参数的个数大于封装个数阈值,对多个请求参数进行分组,并分别对每组中的请求参数进行封装;在对每组请请求参数封装中,封装过程包括:创建一个拓展请求包,该拓展请求包由请求数量参数和数据参数组成;按照临时关系对照表中的请求参数的排列顺序将多个请求参数依次存储至拓展请求包的数据参数中,并将每个访问请求中包含的请求参数的数量赋值给拓展请求包的请求数量参数;而后,由监控节点将封装后的拓展请求包发送给服务器节点;
41.服务器节点解析拓展请求包的数据参数获得多个请求参数;将多个请求参数按照拓展请求包的请求数量参数的值的个数进行划分以将多个请求参数还原为多个访问请求;创建一个拓展响应包,拓展响应包由响应数量参数和数据参数组成;按照多个访问请求的排列顺序依次获取响应数据,并将获得的多个响应数据依次存储到拓展响应包的数据参数中,并将每次获取的响应数据中包含的响应参数的数量赋值给拓展响应包的响应数量参数;而后由服务器节点将将封装后的拓展响应包发送给监控节点;
42.监控节点解析拓展响应包的数据参数获得多个响应参数;将多个响应参数按照拓展响应包的响应数量参数的值的个数进行划分以将多个响应参数还原为多个响应数据,并根据临时关系对照表中的用户ip的排列顺序依次将多个响应数据封装为多个响应报文,发送给相应的用户节点。
43.在上述各实施例中提出的一种nfs网络文件共享方法的基础上,本发明还提出了一种nfs网络文件共享系统,包括:多个用户节点、监控节点以及服务器节点;其中,所述多个用户节点分别与所述监控节点通信连接,所述监控节点与所述服务器节点通信连接;所述监控节点和所述服务器节点中分别存储有相应的计算机程序,所述相应的计算机程序被执行时用于实现上述任一实施中的所述的nfs网络文件共享方法的对应步骤。本发明的nfs网络文件共享系统的拓扑结构如图3所述;图3为本发明的nfs文件共享网络系统的拓扑结构示意图。其中,监控节点为具有能够相应计算机程序并实现本发明方法相应步骤的通信节点,如路由器或交换机等。
44.本发明的有益效果包括:本发明通过在nfs网络的用户节点和服务器节点之间增加监控节点,利用监控节点将由一个或多个用户节点发出的多个访问请求封装为一个拓展访问请求包发送给服务器节点,从而提升了对服务器节点单次请求的数据量,减少了对服务器节点的请求频次,进而提升了网络资源利用率。
45.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
46.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一
个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
47.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
48.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献