CN111698239A - 基于网络文件系统的应用控制方法及装置、系统 - Google Patents
基于网络文件系统的应用控制方法及装置、系统 Download PDFInfo
- Publication number
- CN111698239A CN111698239A CN202010513980.0A CN202010513980A CN111698239A CN 111698239 A CN111698239 A CN 111698239A CN 202010513980 A CN202010513980 A CN 202010513980A CN 111698239 A CN111698239 A CN 111698239A
- Authority
- CN
- China
- Prior art keywords
- application
- acceleration
- client
- network file
- file system
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于网络文件系统的应用控制方法及装置、系统。其中,该方法包括:接收应用查询请求,其中,应用查询请求是用户应用程序发送的;基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令;将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;接收加速服务器返回的应用进程执行结果。本发明解决了相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
Description
技术领域
本发明涉及文件控制技术领域,具体而言,涉及一种基于网络文件系统的应用控制方法及装置、系统。
背景技术
相关技术中,基于网络文件系统的应用服务中,包括两种技术方案,第一种:应用程序数据通过网络存储在不同的机器上,这种技术增加了网络存储能力,使得应用程序数据存储不再受本地磁盘容量的限制,图1是现有技术一种可选的基于网络文件系统的应用服务系统的示意图,如图1所示,该种应用服务将数据通过网络文件系统存储在远端服务器上,该种技术方案虽然解决了磁盘扩展性问题,但是存在很大的弊端,即在文件读写访问密集时,容易出现性能瓶颈,比如一次典型的读取操作,IO从用户进程出发,会经过本地机器的NFS客户端处理,中间网络处理,到NFS服务端协议处理,再到NFS服务端的本地磁盘处理,整个时延会变得比较高。
第二种技术方案,在图1示出的服务基础上,在NFS客户端增加客户端cache做缓存处理,以用来加速读写访问。图2是现有技术中另一种可选的基于网络文件系统的应用服务示意图,如图2所示,在写入时,首先将数据写入到cache中,然后后台再将数据通过NFS协议传送到NFS server,在读取时,如果cache里面有数据,应用程序也可以通过命中已有的数据直接返回,该种技术方案能部分的解决性能问题,但也存在很大的弊端:即在多个客户端同时访问时,比如多个NFS客户端访问同一个NFS服务端,则需要考虑cache的一致性问题,即多个客户端如何保证看到一致的数据,如果始终要求多个客户端访问到一致性的数据,则NFS客户端的cache是需要禁用的,另外,在初次读取时,因为cache里面没有数据,在cache无法命中的情况下,性能也是得不到保证。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于网络文件系统的应用控制方法及装置、系统,以至少解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
根据本发明实施例的一个方面,提供了一种基于网络文件系统的应用控制方法,应用于加速客户端,所述加速客户端通过远程过程调用端口与加速服务器连接,包括:接收应用查询请求,其中,所述应用查询请求是用户应用程序发送的;基于所述应用查询请求,确定所述加速客户端支持的所有应用程序,得到应用程序指令;将应用程序指令发送至所述加速服务器,并利用所述加速服务器执行所述应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;接收所述加速服务器返回的应用进程执行结果。
可选地,接收应用查询请求包括:向所述用户应用程序提供预设调用接口;通过所述预设调用接口,接收应用查询请求,其中,所述应用查询请求使用预设字段查询所述加速客户端支持的应用程序和所述加速客户端支持的应用操作。
可选地,将应用程序指令发送至所述加速服务器包括:基于所述应用程序指令,在远程过程调用端口增加多个网络文件字段,为应用程序提供逻辑处理接口;利用增加后的多个字段信息,将应用程序指令发送至所述加速服务器。
可选地,所述多个网络文件字段包括下述至少之一:程序号、版本号、过程号、过程参数。
可选地,所述应用控制方法还包括:获取所述加速客户端支持的所有应用程序;确定所述加速客户端支持的每个所述应用程序的应用程序字段标识,其中,所述应用程序字段标识至少包括:过程号;向所述远程过程调用端口注册所述应用程序标识。
可选地,所述应用控制方法还包括:发送指令执行查询请求至所述加速服务器,其中,所述加速服务器根据指令执行查询请求查询当前执行应用进程的目标操作的状态,得到指令执行进度,每个所述指令执行进度对应有执行进度标识,所述指令执行查询请求携带有网络文件查询字段;接收所述加速服务器返回的执行进度标识。
根据本发明实施例的另一方面,还提供了一种基于网络文件系统的应用控制方法,应用于加速服务端,所述加速服务端通过远程过程调用端口与加速客户端连接,包括:接收所述加速客户端发送的应用程序指令;解析所述应用程序指令,得到待调用的应用进程和所述应用进程所需执行的目标操作;基于所述应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;将所述应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至所述加速客户端。
可选地,在接收所述加速客户端发送的应用程序指令之前,所述应用控制方法还包括:向所述远程过程调用端口注册所述加速服务端所支持的应用程序标识,确定应用程序标识集,其中,所述应用程序标识集中应用程序标识用于所述加速服务器与网络文件系统对接,以调用所述网络文件系统中的数据。
可选地,在接收所述加速客户端发送的应用程序指令之前,所述应用控制方法还包括:接收指令执行查询请求;基于所述指令执行查询请求,查询当前执行应用进程的目标操作的状态,得到指令执行进度;将所述指令执行进度对应的执行进度标识返回至所述加速客户端。
根据本发明实施例的另一方面,还提供了一种基于网络文件系统的应用控制装置,应用于加速客户端,所述加速客户端通过远程过程调用端口与加速服务器连接,该应用控制装置包括:第一接收单元,用于接收应用查询请求,其中,所述应用查询请求是用户应用程序发送的;第一确定单元,用于基于所述应用查询请求,确定所述加速客户端支持的所有应用程序,得到应用程序指令;第一发送单元,用于将应用程序指令发送至所述加速服务器,并利用所述加速服务器执行所述应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;第二接收单元,用于接收所述加速服务器返回的应用进程执行结果。
可选地,所述第一接收单元包括:第一提供模块,用于向所述用户应用程序提供预设调用接口;第一接收模块,用于通过所述预设调用接口,接收应用查询请求,其中,所述应用查询请求使用预设字段查询所述加速客户端支持的应用程序和所述加速客户端支持的应用操作。
可选地,所述第一发送单元包括:第一增加模块,用于基于所述应用程序指令,在远程过程调用端口增加多个网络文件字段,为应用程序提供逻辑处理接口;第一发送模块,用于利用增加后的多个字段信息,将应用程序指令发送至所述加速服务器。
可选地,所述多个网络文件字段包括下述至少之一:程序号、版本号、过程号、过程参数。
可选地,所述应用控制装置还包括:第一获取模块,用于获取所述加速客户端支持的所有应用程序;第一确定模块,用于确定所述加速客户端支持的每个所述应用程序的应用程序字段标识,其中,所述应用程序字段标识至少包括:过程号;第一注册模块,用于向所述远程过程调用端口注册所述应用程序标识。
可选地,所述应用控制装置还包括:第二发送模块,用于发送指令执行查询请求至所述加速服务器,其中,所述加速服务器根据指令执行查询请求查询当前执行应用进程的目标操作的状态,得到指令执行进度,每个所述指令执行进度对应有执行进度标识,所述指令执行查询请求携带有网络文件查询字段;第二接收模块,用于接收所述加速服务器返回的执行进度标识。
根据本发明实施例的另一方面,还提供了一种基于网络文件系统的应用控制装置,应用于加速服务端,所述加速服务端通过远程过程调用端口与加速客户端连接,该应用控制装置包括:第三接收单元,用于接收所述加速客户端发送的应用程序指令;解析单元,用于解析所述应用程序指令,得到待调用的应用进程和所述应用进程所需执行的目标操作;调用单元,用于基于所述应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;传输单元,用于将所述应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至所述加速客户端。
可选地,所述应用控制装置还包括:第二注册模块,用于在接收所述加速客户端发送的应用程序指令之前,向所述远程过程调用端口注册所述加速服务端所支持的应用程序标识,确定应用程序标识集,其中,所述应用程序标识集中应用程序标识用于所述加速服务器与网络文件系统对接,以调用所述网络文件系统中的数据。
可选地,所述应用控制装置还包括:第三接收模块,用于在接收所述加速客户端发送的应用程序指令之前,接收指令执行查询请求;查询模块,用于基于所述指令执行查询请求,查询当前执行应用进程的目标操作的状态,得到指令执行进度;返回模块,用于将所述指令执行进度对应的执行进度标识返回至所述加速客户端。
根据本发明实施例的另一方面,还提供了一种基于网络文件系统的应用控制系统,包括:应用加速客户端,执行上述任意一项所述的基于网络文件系统的应用控制方法;应用加速服务端,执行上述任意一项所述的基于网络文件系统的应用控制方法;网络文件系统,通过TCP/IP网络分别与所述应用加速客户端和所述应用加速服务端连接,用于提供共享文件数据。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的基于网络文件系统的应用控制方法。
本发明实施例中,在处理应用请求时,先接收应用查询请求,然后基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令,将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果,最后接收加速服务器返回的应用进程执行结果。在该实施例中,可以通过加速将接收到的应用程序指令发送至加速服务器,利用加速服务器处理该程序指令,将应用处理逻辑从客户端转移到服务器,从而能节省客户端的资源,且由于网络文件系统一般与服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟,从而解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术一种可选的基于网络文件系统的应用服务系统的示意图;
图2是现有技术中另一种可选的基于网络文件系统的应用服务示意图;
图3是根据本发明实施例的一种可选的基于网络文件系统的应用控制方法的流程图;
图4是根据本发明实施例的一种可选的基于网络文件系统的应用服务的示意图;
图5是根据本发明实施例的另一种可选的基于网络文件系统的应用控制方法的流程图;
图6是根据本发明实施例的一种可选的基于网络文件系统的应用控制装置的示意图;
图7是根据本发明实施例的另一种可选的基于网络文件系统的应用控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或者名词做出解释:
NFS,Network Filesystem,网络文件系统,本地客户端可以远端访问,以读写NFS上的文件数据。
RPC,Remote Procedure Call,远程过程调用。
本发明实施例的提供的应用控制方法和装置,不改变现有组网,将应用处理逻辑从客户端转移到服务端进行处理,从而能节省客户端的资源,使用强大的服务器侧的资源,同时,因为通过服务器来处理应用逻辑,由于网络文件系统一般与服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体IO性能。
根据本发明实施例,提供了一种基于网络文件系统的应用控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供的一种基于网络文件系统的应用控制方法,应用于加速客户端,加速客户端通过远程过程调用端口与加速服务器连接。
图3是根据本发明实施例的一种可选的基于网络文件系统的应用控制方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,接收应用查询请求,其中,应用查询请求是用户应用程序发送的;
步骤S304,基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令;
步骤S306,将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;
步骤S308,接收加速服务器返回的应用进程执行结果。
通过上述步骤,可以在处理应用请求时,先接收应用查询请求,然后基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令,将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果,最后接收加速服务器返回的应用进程执行结果。在该实施例中,可以通过加速将接收到的应用程序指令发送至加速服务器,利用加速服务器处理该程序指令,将应用处理逻辑从客户端转移到服务器,从而能节省客户端的资源,且由于网络文件系统一般与服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟,从而解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
本发明实施例引入了加速客户端和加速服务端,。为用户程序提供应用接口,用来加速读写IO,从而提高性能。
图4是根据本发明实施例的一种可选的基于网络文件系统的应用服务的示意图,如图4所示,该应用服务中通过远程过程调用端口RPC实现客户端与服务器侧的连接,加速客户端可以接收用户应用程序的应用查询请求和应用处理逻辑、应用程序指令,然后将需要客户端运行的应用处理逻辑、应用程序指令发送给加速服务器侧处理,通过加速服务器访问NFS服务器,以处理相关程序,执行目标操作,并将执行结果发送给加速客户端。
在加速客户端和加速服务器工作之前,两侧需要分别部署支持的RPC命令,并注册支持的应用程序。
下面对本发明涉及的网络文件系统-NFS的原理进行说明。
NFS是依赖于RPC(Remote Procedure Call)完成读写命令和控制命令的封装,然后再通过TCP或者UDP网络发送到NFS服务端进行处理的。
在一个完整的网络数据封包里,可以封装NFS协议报文,RPC在报文里面封装NFS命令时,会使用程序号、版本号、过程号、过程参数等字段存储NFS协议的相关信息。例如,一个NFS V3协议的写命令,其程序号定义为100003,版本号定义为3,过程号定义为7,具体的写入的数据则在过程参数里面进行描述。
通过RPC命令集,NFS可以完整的实现读,写和各种控制命令,以完成更高级的文件操作接口。
本发明实施例,可以通过在RPC里面增加新的程序号,来为应用程序提供更高级的逻辑处理接口。假如有一个编译源码的应用程序,需要编译几百个源码文件。现有技术是:对这几百个源码文件,读取每个源文件-解析源文件-编译源文件,这样会涉及到多次NFS交互过程。而本发明实施例的实施方案是:将编译动作本身通过加速客户端传递到加速服务器,通过加速服务器执行该次编译过程,所有的文件读取以及编译过程不需要在应用程序自己的客户端上进行,而是由加速服务器代为执行,从而能够加速编译过程。
下面结合上述各步骤和图4详细说明本发明。
步骤S302,接收应用查询请求,其中,应用查询请求是用户应用程序发送的。
可选的,接收应用查询请求包括:向用户应用程序提供预设调用接口;通过预设调用接口,接收应用查询请求,其中,应用查询请求使用预设字段查询加速客户端支持的应用程序和加速客户端支持的应用操作。
本发明实施例使用的预设字段可以为Linux下的ioctl命令字,通过ioctl命令字让用户应用程序来调用。
比如,应用程序可以这样调用
fd=open(“AAC模块”);
ioctl(fd,“LIST”,prog_capa[]);
ioctl(fd,“GET”,prog_name);
ioctl(fd,“SET”,prog_name,para)
即,用户应用程序先打开加速客户端,然后使用ioctl命令字来查询加速客户端支持的应用程序能力集,即能支持哪些应用程序,也可以具体查询目标应用程序是否可以被支持。
其中,上述示例编码中,参数fd是应用程序通过open操作打开加速客户端后得到的句柄,后续在ioctl里面被传递进来作为加速客户端的标识。LIST操作用来获取所有加速客户端支持的应用操作。prog_cap用来保存加速客户端具体所支持的操作,GET命令用来查询目标应用程序是否被加速客户端支持,SET操作则是具体调用应用,prog_name和para表示具体调用应用的名称和参数,比如对于编译程序来说,para可以传入具体的文件名。
因此,一次编译过程可以简单的调用
ioctl(fd,“SET”,“gcc”,“gcc_vers=4.7,filelist=file1,file2”)。
步骤S304,基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令。
步骤S306,将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果。
另一种可选的,将应用程序指令发送至加速服务器包括:基于应用程序指令,在远程过程调用端口增加多个网络文件字段,为应用程序提供逻辑处理接口;利用增加后的多个字段信息,将应用程序指令发送至加速服务器。
可选的,多个网络文件字段包括下述至少之一:程序号、版本号、过程号、过程参数。
步骤S308,接收加速服务器返回的应用进程执行结果。
在本发明实施例中,应用控制方法还包括:获取加速客户端支持的所有应用程序;确定加速客户端支持的每个应用程序的应用程序字段标识,其中,应用程序字段标识至少包括:过程号;向远程过程调用端口注册应用程序标识。
对于注册过程来说,RPC程序号表示加速客户端的标识,如注册为一个固定的数字200001,版本号是加速客户端的版本号,如设置当前版本为1.0,过程号即要支持的应用程序名,如可以注册标准的linux命令集,例如命令集注册为:
gcc=1;make=2;ld=3;等等。
本申请注册的过程号只是示例的几个程序名称,在具体实施时可以注册标准的linux命令集,以提供更多的应用处理。
在过程参数里面,本发明实施例设置过程所需要的参数,如对于gcc命令,可以设置对应的版本号,需要的文件名等参数。
加速客户端可以通过ioctl命令与应用程序交互,提供高级用户接口,简化应用程序的逻辑处理。
另一种可选的,应用控制方法还包括:发送指令执行查询请求至加速服务器,其中,加速服务器根据指令执行查询请求查询当前执行应用进程的目标操作的状态,得到指令执行进度,每个指令执行进度对应有执行进度标识,指令执行查询请求携带有网络文件查询字段;接收加速服务器返回的执行进度标识。
即对于有些命令,其执行时间比较长,需要设计一种查询命令,来查询之前命令的执行情况(查询进度),例如,设置过程号为probe=100,过程参数=“xid,prog”,即用来探测之前发出的命令执行情况,由加速服务器返回完成的进度。
加速客户端可以通过probe查询接口对加速服务器进行查询进度信息,以便于通知应用程序获取状态信息,以提供更为友好的用户接口。
通过上述实施例,可以有效的将应用程序的具体处理命令从客户端转移到服务器进行处理,加速客户端负责与用户应用程序进行交互,接收客户请求,加速服务器负责在服务端执行应用程序所需要的操作。
下面从加速服务器侧来说明本发明实施例。
图5是根据本发明实施例的另一种可选的基于网络文件系统的应用控制方法的流程图,应用于加速服务端,加速服务端通过远程过程调用端口与加速客户端连接,如图5所示,该应用控制方法包括:
步骤S501,接收加速客户端发送的应用程序指令;
步骤S503,解析应用程序指令,得到待调用的应用进程和应用进程所需执行的目标操作;
步骤S505,基于应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;
步骤S507,将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端。
在加速服务器命令执行完成后,还要对执行结果进行封装,比如执行是否成功,如果不成功,需要有具体的错误信息返回。
通过上述步骤,可以在处理应用请求时,先接收加速客户端发送的应用程序指令,解析应用程序指令,得到待调用的应用进程和应用进程所需执行的目标操作,基于应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果,将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端,将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端。在该实施例中,可以通过加速服务器处理接收到应用程序指令,将应用程序指令对应的处理逻辑从客户端转移到服务器,从而能节省客户端的资源,且由于加速服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟,从而解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
本发明使用加速服务器上的应用接口进行处理,可以将处理逻辑下移,这样可以进一步节省客户端的CPU和内存资源,有效提升性能。
可选的,在接收加速客户端发送的应用程序指令之前,应用控制方法还包括:向远程过程调用端口注册加速服务端所支持的应用程序标识,确定应用程序标识集,其中,应用程序标识集中应用程序标识用于加速服务器与网络文件系统对接,以调用网络文件系统中的数据。
与加速客户端类似,对于加速服务器,首先需要注册支持的命令集到RPC命令上,这样当收到加速客户端传递过来的命令后,才可以正确的提取出来。
另一种可选的,在接收加速客户端发送的应用程序指令之前,应用控制方法还包括:接收指令执行查询请求;基于指令执行查询请求,查询当前执行应用进程的目标操作的状态,得到指令执行进度;将指令执行进度对应的执行进度标识返回至加速客户端。
本发明实施例中,可以调用本地的应用进行具体应用处理,如收到gcc编译命令后,调用本地的gcc命令来对源文件进行编译。具体的,需要首先检查gcc版本号,传递过来的文件是否存在,如果都满足条件,则在本地开始编译,等执行成功后,返回成功响应,如果有失败,则返回失败原因。在处理过程中还需要回复加速客户端可能传递过来的查询进度信息。
本发明实施例,在内部可以设置加速服务器与NFS服务器对接,以简化实现复杂度,能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟。
图6是根据本发明实施例的一种可选的基于网络文件系统的应用控制装置的示意图,应用于加速客户端,加速客户端通过远程过程调用端口与加速服务器连接,该应用控制装置包括:第一接收单元61、第一确定单元63、第一发送单元65、第二接收单元67,其中,
第一接收单元61,用于接收应用查询请求,其中,应用查询请求是用户应用程序发送的;
第一确定单元63,用于基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令;
第一发送单元65,用于将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;
第二接收单元67,用于接收加速服务器返回的应用进程执行结果。
上述基于网络文件系统的应用控制装置,可以在处理应用请求时,先通过第一接收单元61接收应用查询请求,然后通过第一确定单元63基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令,通过第一发送单元65将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果,最后通过第二接收单元67接收加速服务器返回的应用进程执行结果。在该实施例中,可以通过加速将接收到的应用程序指令发送至加速服务器,利用加速服务器处理该程序指令,将应用处理逻辑从客户端转移到服务器,从而能节省客户端的资源,且由于网络文件系统一般与服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟,从而解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
可选的,第一接收单元包括:第一提供模块,用于向用户应用程序提供预设调用接口;第一接收模块,用于通过预设调用接口,接收应用查询请求,其中,应用查询请求使用预设字段查询加速客户端支持的应用程序和加速客户端支持的应用操作。
另一种可选的,第一发送单元包括:第一增加模块,用于基于应用程序指令,在远程过程调用端口增加多个网络文件字段,为应用程序提供逻辑处理接口;第一发送模块,用于利用增加后的多个字段信息,将应用程序指令发送至加速服务器。
在本发明实施例中,多个网络文件字段包括下述至少之一:程序号、版本号、过程号、过程参数。
可选的,应用控制装置还包括:第一获取模块,用于获取加速客户端支持的所有应用程序;第一确定模块,用于确定加速客户端支持的每个应用程序的应用程序字段标识,其中,应用程序字段标识至少包括:过程号;第一注册模块,用于向远程过程调用端口注册应用程序标识。
可选的,应用控制装置还包括:第二发送模块,用于发送指令执行查询请求至加速服务器,其中,加速服务器根据指令执行查询请求查询当前执行应用进程的目标操作的状态,得到指令执行进度,每个指令执行进度对应有执行进度标识,指令执行查询请求携带有网络文件查询字段;第二接收模块,用于接收加速服务器返回的执行进度标识。
图7是根据本发明实施例的另一种可选的基于网络文件系统的应用控制装置的示意图,应用于加速服务端,加速服务端通过远程过程调用端口与加速客户端连接,如图7所示,该应用控制装置包括:第三接收单元72、解析单元74、调用单元76、传输单元78,其中,
第三接收单元72,用于接收加速客户端发送的应用程序指令;
解析单元74,用于解析应用程序指令,得到待调用的应用进程和应用进程所需执行的目标操作;
调用单元76,用于基于应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;
传输单元78,用于将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端。
上述基于网络文件系统的应用控制装置,可以在处理应用请求时,先通过第三接收单元72先接收加速客户端发送的应用程序指令,通过解析单元74解析应用程序指令,得到待调用的应用进程和应用进程所需执行的目标操作,通过调用单元76基于应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果,通过传输单元78将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端,将应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至加速客户端。在该实施例中,可以通过加速服务器处理接收到应用程序指令,将应用程序指令对应的处理逻辑从客户端转移到服务器,从而能节省客户端的资源,且由于加速服务器侧较近,因此能够缩短访问磁盘的IO路径,能够有效的提升整体读写性能,缩短读写延迟,从而解决相关技术中网络文件系统的应用服务使用客户端进行文件读写密集时,容易出现性能瓶颈,造成读写延迟较高的技术问题。
可选的,应用控制装置还包括:第二注册模块,用于在接收加速客户端发送的应用程序指令之前,向远程过程调用端口注册加速服务端所支持的应用程序标识,确定应用程序标识集,其中,应用程序标识集中应用程序标识用于加速服务器与网络文件系统对接,以调用网络文件系统中的数据。
另一种可选的,应用控制装置还包括:第三接收模块,用于在接收加速客户端发送的应用程序指令之前,接收指令执行查询请求;查询模块,用于基于指令执行查询请求,查询当前执行应用进程的目标操作的状态,得到指令执行进度;返回模块,用于将指令执行进度对应的执行进度标识返回至加速客户端。
根据本发明实施例的另一方面,还提供了一种基于网络文件系统的应用控制系统,包括:应用加速客户端,执行上述任意一项的基于网络文件系统的应用控制方法;应用加速服务端,执行上述任意一项的基于网络文件系统的应用控制方法;网络文件系统,通过TCP/IP网络分别与应用加速客户端和应用加速服务端连接,用于提供共享文件数据。
本发明实施例引入了应用加速客户端AAC(Application Accelerate Client)和应用加速服务端AAS(Application Accelerate server)组件装置,为用户程序提供应用接口,用来加速读写IO,从而提高性能。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于网络文件系统的应用控制方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收应用查询请求,其中,应用查询请求是用户应用程序发送的;基于应用查询请求,确定加速客户端支持的所有应用程序,得到应用程序指令;将应用程序指令发送至加速服务器,并利用加速服务器执行应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;接收加速服务器返回的应用进程执行结果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种基于网络文件系统的应用控制方法,其特征在于,应用于加速客户端,所述加速客户端通过远程过程调用端口与加速服务器连接,包括:
接收应用查询请求,其中,所述应用查询请求是用户应用程序发送的;
基于所述应用查询请求,确定所述加速客户端支持的所有应用程序,得到应用程序指令;
将应用程序指令发送至所述加速服务器,并利用所述加速服务器执行所述应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;
接收所述加速服务器返回的应用进程执行结果。
2.根据权利要求1所述的应用控制方法,其特征在于,接收应用查询请求包括:
向所述用户应用程序提供预设调用接口;
通过所述预设调用接口,接收应用查询请求,其中,所述应用查询请求使用预设字段查询所述加速客户端支持的应用程序和所述加速客户端支持的应用操作。
3.根据权利要求1所述的应用控制方法,其特征在于,将应用程序指令发送至所述加速服务器包括:
基于所述应用程序指令,在远程过程调用端口增加多个网络文件字段,为应用程序提供逻辑处理接口;
利用增加后的多个字段信息,将应用程序指令发送至所述加速服务器。
4.根据权利要求3所述的应用控制方法,其特征在于,所述多个网络文件字段包括下述至少之一:程序号、版本号、过程号、过程参数。
5.根据权利要求3所述的应用控制方法,其特征在于,所述应用控制方法还包括:
获取所述加速客户端支持的所有应用程序;
确定所述加速客户端支持的每个所述应用程序的应用程序字段标识,其中,所述应用程序字段标识至少包括:过程号;
向所述远程过程调用端口注册所述应用程序标识。
6.根据权利要求1所述的应用控制方法,其特征在于,所述应用控制方法还包括:
发送指令执行查询请求至所述加速服务器,其中,所述加速服务器根据指令执行查询请求查询当前执行应用进程的目标操作的状态,得到指令执行进度,每个所述指令执行进度对应有执行进度标识,所述指令执行查询请求携带有网络文件查询字段;
接收所述加速服务器返回的执行进度标识。
7.一种基于网络文件系统的应用控制方法,其特征在于,应用于加速服务端,所述加速服务端通过远程过程调用端口与加速客户端连接,包括:
接收所述加速客户端发送的应用程序指令;
解析所述应用程序指令,得到待调用的应用进程和所述应用进程所需执行的目标操作;
基于所述应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;
将所述应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至所述加速客户端。
8.根据权利要求7所述的应用控制方法,其特征在于,在接收所述加速客户端发送的应用程序指令之前,所述应用控制方法还包括:
向所述远程过程调用端口注册所述加速服务端所支持的应用程序标识,确定应用程序标识集,其中,所述应用程序标识集中应用程序标识用于所述加速服务器与网络文件系统对接,以调用所述网络文件系统中的数据。
9.根据权利要求7所述的应用控制方法,其特征在于,在接收所述加速客户端发送的应用程序指令之前,所述应用控制方法还包括:
接收指令执行查询请求;
基于所述指令执行查询请求,查询当前执行应用进程的目标操作的状态,得到指令执行进度;
将所述指令执行进度对应的执行进度标识返回至所述加速客户端。
10.一种基于网络文件系统的应用控制装置,其特征在于,应用于加速客户端,所述加速客户端通过远程过程调用端口与加速服务器连接,该应用控制装置包括:
第一接收单元,用于接收应用查询请求,其中,所述应用查询请求是用户应用程序发送的;
第一确定单元,用于基于所述应用查询请求,确定所述加速客户端支持的所有应用程序,得到应用程序指令;
第一发送单元,用于将应用程序指令发送至所述加速服务器,并利用所述加速服务器执行所述应用程序指令对应的应用进程的目标操作,调用网络文件系统中的数据,得到应用进程执行结果;
第二接收单元,用于接收所述加速服务器返回的应用进程执行结果。
11.一种基于网络文件系统的应用控制装置,其特征在于,应用于加速服务端,所述加速服务端通过远程过程调用端口与加速客户端连接,该应用控制装置包括:
第三接收单元,用于接收所述加速客户端发送的应用程序指令;
解析单元,用于解析所述应用程序指令,得到待调用的应用进程和所述应用进程所需执行的目标操作;
调用单元,用于基于所述应用进程所需执行的目标操作,调用网络文件系统中的应用数据,得到应用进程执行结果;
传输单元,用于将所述应用进程执行结果进行封装,并将封装后的应用进程执行结果传输至所述加速客户端。
12.一种基于网络文件系统的应用控制系统,其特征在于,包括:
应用加速客户端,执行权利要求1至6中任意一项所述的基于网络文件系统的应用控制方法;
应用加速服务端,执行权利要求7至9中任意一项所述的基于网络文件系统的应用控制方法;
网络文件系统,通过TCP/IP网络分别与所述应用加速客户端和所述应用加速服务端连接,用于提供共享文件数据。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9中任意一项所述的基于网络文件系统的应用控制方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010513980.0A CN111698239A (zh) | 2020-06-08 | 2020-06-08 | 基于网络文件系统的应用控制方法及装置、系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010513980.0A CN111698239A (zh) | 2020-06-08 | 2020-06-08 | 基于网络文件系统的应用控制方法及装置、系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111698239A true CN111698239A (zh) | 2020-09-22 |
Family
ID=72479838
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010513980.0A Pending CN111698239A (zh) | 2020-06-08 | 2020-06-08 | 基于网络文件系统的应用控制方法及装置、系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111698239A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115567499A (zh) * | 2021-07-02 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 应用程序加速方法、装置、电子设备及存储介质 |
| CN119336715A (zh) * | 2024-12-20 | 2025-01-21 | 北京时代亿信科技股份有限公司 | 网络文件系统中删除操作的处理方法及电子设备 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150199373A1 (en) * | 2014-01-15 | 2015-07-16 | Osr Open Systems Resources, Inc. | Methods and systems for data storage |
| CN105812321A (zh) * | 2014-12-30 | 2016-07-27 | 沈阳高精数控智能技术股份有限公司 | 一种基于用户信息管理文件资源的网络文件系统和处理方法 |
| CN107250998A (zh) * | 2015-02-17 | 2017-10-13 | 亚马逊技术股份有限公司 | 包括i/o转向引擎的片上系统 |
| CN108028833A (zh) * | 2015-12-30 | 2018-05-11 | 华为技术有限公司 | 一种nas数据访问的方法、系统及相关设备 |
| CN108509437A (zh) * | 2017-02-24 | 2018-09-07 | 南京烽火星空通信发展有限公司 | 一种ElasticSearch查询加速方法 |
| CN109783438A (zh) * | 2018-12-05 | 2019-05-21 | 南京华讯方舟通信设备有限公司 | 基于librados的分布式NFS系统及其构建方法 |
| CN110865989A (zh) * | 2019-11-22 | 2020-03-06 | 浪潮电子信息产业股份有限公司 | 一种大规模计算集群的业务处理方法 |
-
2020
- 2020-06-08 CN CN202010513980.0A patent/CN111698239A/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150199373A1 (en) * | 2014-01-15 | 2015-07-16 | Osr Open Systems Resources, Inc. | Methods and systems for data storage |
| CN105812321A (zh) * | 2014-12-30 | 2016-07-27 | 沈阳高精数控智能技术股份有限公司 | 一种基于用户信息管理文件资源的网络文件系统和处理方法 |
| CN107250998A (zh) * | 2015-02-17 | 2017-10-13 | 亚马逊技术股份有限公司 | 包括i/o转向引擎的片上系统 |
| CN108028833A (zh) * | 2015-12-30 | 2018-05-11 | 华为技术有限公司 | 一种nas数据访问的方法、系统及相关设备 |
| CN108509437A (zh) * | 2017-02-24 | 2018-09-07 | 南京烽火星空通信发展有限公司 | 一种ElasticSearch查询加速方法 |
| CN109783438A (zh) * | 2018-12-05 | 2019-05-21 | 南京华讯方舟通信设备有限公司 | 基于librados的分布式NFS系统及其构建方法 |
| CN110865989A (zh) * | 2019-11-22 | 2020-03-06 | 浪潮电子信息产业股份有限公司 | 一种大规模计算集群的业务处理方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115567499A (zh) * | 2021-07-02 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 应用程序加速方法、装置、电子设备及存储介质 |
| CN115567499B (zh) * | 2021-07-02 | 2025-04-25 | 腾讯科技(深圳)有限公司 | 应用程序加速方法、装置、电子设备及存储介质 |
| CN119336715A (zh) * | 2024-12-20 | 2025-01-21 | 北京时代亿信科技股份有限公司 | 网络文件系统中删除操作的处理方法及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240396984A1 (en) | Data transmission method and apparatus, device, and storage medium | |
| WO2017020722A1 (zh) | 基于虚拟机的数据传输方法、装置及系统 | |
| US6195688B1 (en) | Computer system, program product and method of communicating internetworking data over a master-slave communication link | |
| US20130031236A1 (en) | Method and System for Platform Level Data Model for Indications Based Event Control and Data Transfer | |
| WO2022032984A1 (zh) | 一种mqtt协议仿真方法及仿真设备 | |
| WO2019019864A1 (zh) | 嵌入式自助终端的通信系统、方法及装置 | |
| CN105389120A (zh) | 支持通过活动消息的rma api | |
| CN117997833A (zh) | 数据转发系统及其控制方法 | |
| CN111698239A (zh) | 基于网络文件系统的应用控制方法及装置、系统 | |
| CN111277600A (zh) | 数据传输方法及装置 | |
| CN115801770A (zh) | 一种基于全用户态quic协议的大文件传输方法 | |
| CN102724183A (zh) | 一种车载gps设备协议转换软网关 | |
| JPH07117929B2 (ja) | 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法 | |
| WO2013120325A1 (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
| CN116708597B (zh) | 一种数据处理方法及装置 | |
| US8917595B2 (en) | Method and system for a distributed platform solution for supporting CIM over web services based management | |
| CN102739806A (zh) | 基于dsp/bios操作系统的lxi仪器的vxi-11网络自动发现方法 | |
| KR100900963B1 (ko) | 네트워크 프로토콜 패킷 전송을 위한 하드웨어 장치 및 그방법 | |
| CN115225652A (zh) | 边缘服务平台的确定方法及系统、电子设备、存储介质 | |
| CN118740899A (zh) | 虚拟调试通讯方法、装置、设备及存储介质 | |
| CN113905357B (zh) | 基于WiFi直连的数据迁移方法、装置、设备及存储介质 | |
| JP2001147868A (ja) | 制御機器遠隔送受信システム | |
| US7139832B2 (en) | Data transfer and intermission between parent and child process | |
| JP2008541605A (ja) | 埋め込み型システムのための高速データ処理・通信方法及び装置 | |
| CN115580666A (zh) | 面向内容访问的ip-ndn互通方法、系统、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information |
Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing Applicant after: Beijing Xingchen Tianhe Technology Co.,Ltd. Address before: 100097 room 806-1, block B, zone 2, Jinyuan times shopping center, indigo factory, Haidian District, Beijing Applicant before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd. |
|
| CB02 | Change of applicant information | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200922 |
|
| RJ01 | Rejection of invention patent application after publication |