CN111698239A - Application control method, device and system based on network file system - Google Patents

Application control method, device and system based on network file system Download PDF

Info

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
application program
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
Application number
CN202010513980.0A
Other languages
Chinese (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.)
Xsky Beijing Data Technology Corp ltd
Original Assignee
Xsky Beijing Data Technology Corp ltd
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 Xsky Beijing Data Technology Corp ltd filed Critical Xsky Beijing Data Technology Corp ltd
Priority to CN202010513980.0A priority Critical patent/CN111698239A/en
Publication of CN111698239A publication Critical patent/CN111698239A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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

The invention discloses an application control method, device and system based on a network file system. Wherein, the method comprises the following steps: receiving an application query request, wherein the application query request is sent by a user application program; determining all application programs supported by an acceleration client based on the application query request to obtain an application program instruction; sending the application program instruction to an acceleration server, executing target operation of an application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result; and receiving an application process execution result returned by the acceleration server. The invention solves the technical problem that the reading and writing delay is higher because the performance bottleneck is easy to appear when the application service of the network file system uses the client side to perform intensive reading and writing of files in the related technology.

Description

Application control method, device and system based on network file system
Technical Field
The invention relates to the technical field of file control, in particular to an application control method, device and system based on a network file system.
Background
In the related art, the application service based on the network file system includes two technical solutions, the first one: although the technical scheme solves the problem of disk expansibility, the technical scheme has a great disadvantage that performance bottlenecks such as a typical read operation easily occur when read-write access of files is intensive, and IO starts from a user process, and passes through NFS client processing of a local machine, intermediate network processing, protocol processing to an NFS server side, and then local disk processing to an NFS server side, and the whole time delay becomes higher.
In the second technical scheme, on the basis of the service shown in fig. 1, a client cache is added to the NFS client for performing cache processing, so as to accelerate read-write access. Fig. 2 is a schematic diagram of another optional application service based on a network file system in the prior art, as shown in fig. 2, when writing, data is first written into a cache, and then the data is transmitted to an NFS server by a background through an NFS protocol, and when reading, if there is data in the cache, an application program can also directly return by hitting the existing data, and this technical scheme can partially solve the performance problem, but has a great disadvantage: that is, when multiple clients access simultaneously, for example, multiple NFS clients access the same NFS server, the problem of cache consistency needs to be considered, that is, how to ensure that multiple clients see consistent data, if multiple clients are required to access consistent data all the time, the cache of the NFS client needs to be disabled, and in addition, when the cache is read for the first time, because there is no data in the cache, the performance cannot be ensured under the condition that the cache cannot be hit.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
The embodiment of the invention provides an application control method, device and system based on a network file system, which at least solve the technical problem that performance bottleneck is easy to occur and read-write delay is high when an application service of the network file system in the related technology uses a client side to read and write files intensively.
According to an aspect of an embodiment of the present invention, an application control method based on a network file system is provided, which is applied to an acceleration client, where the acceleration client is connected to an acceleration server through a remote procedure call port, and includes: receiving an application query request, wherein the application query request is sent by a user application program; determining all application programs supported by the acceleration client based on the application query request to obtain an application program instruction; sending an application program instruction to the acceleration server, executing target operation of an application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result; and receiving an application process execution result returned by the acceleration server.
Optionally, receiving the application query request comprises: providing a preset calling interface for the user application program; and receiving an application query request through the preset calling interface, wherein the application query request queries the application programs supported by the acceleration client and the application operations supported by the acceleration client by using a preset field.
Optionally, sending the application program instructions to the acceleration server comprises: based on the application program instruction, adding a plurality of network file fields at a remote procedure call port to provide a logic processing interface for the application program; and sending the application program instruction to the acceleration server by utilizing the added information of the plurality of fields.
Optionally, the plurality of network file fields include at least one of: program number, version number, process parameter.
Optionally, the application control method further includes: acquiring all application programs supported by the acceleration client; determining an application field identification for each of the applications supported by the acceleration client, wherein the application field identifications include at least: a process number; registering the application identification with the remote procedure call port.
Optionally, the application control method further includes: sending an instruction execution query request to the acceleration server, wherein the acceleration server queries the state of target operation of a currently executed application process according to the instruction execution query request to obtain instruction execution schedules, each instruction execution schedule corresponds to an execution schedule identifier, and the instruction execution query request carries a network file query field; and receiving the execution progress identification returned by the acceleration server.
According to another aspect of the embodiments of the present invention, there is also provided an application control method based on a network file system, applied to an acceleration server, where the acceleration server is connected to an acceleration client through a remote procedure call port, and the method includes: receiving an application program instruction sent by the acceleration client; analyzing the application program instruction to obtain an application process to be called and a target operation required to be executed by the application process; calling application data in a network file system based on target operation required to be executed by the application process to obtain an application process execution result; and encapsulating the application process execution result, and transmitting the encapsulated application process execution result to the acceleration client.
Optionally, before receiving the application program instruction sent by the acceleration client, the application control method further includes: registering an application program identifier supported by the acceleration server to the remote procedure call port, and determining an application program identifier set, wherein the application program identifier in the application program identifier set is used for the acceleration server to interface with a network file system so as to call data in the network file system.
Optionally, before receiving the application program instruction sent by the acceleration client, the application control method further includes: receiving an instruction execution query request; based on the instruction execution query request, querying the state of the target operation of the currently executed application process to obtain an instruction execution progress; and returning an execution progress identifier corresponding to the instruction execution progress to the acceleration client.
According to another aspect of the embodiments of the present invention, there is also provided an application control apparatus based on a network file system, which is applied to an acceleration client, where the acceleration client is connected to an acceleration server through a remote procedure call port, and the application control apparatus includes: the device comprises a first receiving unit, a second receiving unit and a processing unit, wherein the first receiving unit is used for receiving an application query request, and the application query request is sent by a user application program; a first determining unit, configured to determine, based on the application query request, all application programs supported by the acceleration client, so as to obtain an application program instruction; the first sending unit is used for sending the application program instruction to the acceleration server, executing the target operation of the application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result; and the second receiving unit is used for receiving the application process execution result returned by the acceleration server.
Optionally, the first receiving unit includes: the first providing module is used for providing a preset calling interface for the user application program; a first receiving module, configured to receive an application query request through the preset call interface, where the application query request queries, using a preset field, an application program supported by the acceleration client and an application operation supported by the acceleration client.
Optionally, the first sending unit includes: the first adding module is used for adding a plurality of network file fields at the remote procedure call port based on the application program instruction and providing a logic processing interface for the application program; and the first sending module is used for sending the application program instruction to the acceleration server by utilizing the added information of the plurality of fields.
Optionally, the plurality of network file fields include at least one of: program number, version number, process parameter.
Optionally, the application control apparatus further includes: the first acquisition module is used for acquiring all application programs supported by the acceleration client; a first determining module, configured to determine an application field identifier of each of the applications supported by the acceleration client, where the application field identifier at least includes: a process number; a first registration module for registering the application identifier with the remote procedure call port.
Optionally, the application control apparatus further includes: the second sending module is used for sending an instruction execution query request to the acceleration server, wherein the acceleration server queries the state of the target operation of the currently executed application process according to the instruction execution query request to obtain instruction execution schedules, each instruction execution schedule corresponds to an execution schedule identifier, and the instruction execution query request carries a network file query field; and the second receiving module is used for receiving the execution progress identifier returned by the acceleration server.
According to another aspect of the embodiments of the present invention, there is also provided an application control apparatus based on a network file system, which is applied to an acceleration server, where the acceleration server is connected to an acceleration client through a remote procedure call port, and the application control apparatus includes: a third receiving unit, configured to receive an application program instruction sent by the acceleration client; the analysis unit is used for analyzing the application program instruction to obtain an application process to be called and a target operation required to be executed by the application process; the calling unit is used for calling application data in the network file system based on the target operation to be executed by the application process to obtain an application process execution result; and the transmission unit is used for packaging the application process execution result and transmitting the packaged application process execution result to the acceleration client.
Optionally, the application control apparatus further includes: and a second registration module, configured to, before receiving an application instruction sent by the acceleration client, register, to the remote procedure call port, an application identifier supported by the acceleration server, and determine an application identifier set, where the application identifier in the application identifier set is used for the acceleration server to interface with a network file system, so as to call data in the network file system.
Optionally, the application control apparatus further includes: the third receiving module is used for receiving an instruction execution query request before receiving the application program instruction sent by the acceleration client; the query module is used for querying the state of the target operation of the currently executed application process based on the instruction execution query request to obtain an instruction execution progress; and the return module is used for returning the execution progress identification corresponding to the instruction execution progress to the acceleration client.
According to another aspect of the embodiments of the present invention, there is also provided an application control system based on a network file system, including: the application acceleration client executes any one of the application control methods based on the network file system; the application acceleration server executes any one of the application control methods based on the network file system; and the network file system is respectively connected with the application acceleration client and the application acceleration server through a TCP/IP network and is used for providing shared file data.
According to another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium, where the computer-readable storage medium includes a stored computer program, and when the computer program runs, the apparatus where the computer-readable storage medium is located is controlled to execute any one of the above methods for controlling an application based on a network file system.
In the embodiment of the invention, when an application request is processed, the application query request is received, then all application programs supported by an acceleration client are determined based on the application query request, an application program instruction is obtained, the application program instruction is sent to an acceleration server, the acceleration server is utilized to execute the target operation of an application process corresponding to the application program instruction, data in a network file system is called, an application process execution result is obtained, and finally the application process execution result returned by the acceleration server is received. In the embodiment, the received application program instruction can be sent to the acceleration server by acceleration, the acceleration server is utilized to process the program instruction, and the application processing logic is transferred from the client to the server, so that the resources of the client can be saved, and because the network file system is generally close to the server side, the IO path for accessing the disk can be shortened, the overall read-write performance can be effectively improved, and the read-write delay is shortened, so that the technical problem that the performance bottleneck is easy to occur and the read-write delay is high when the application service of the network file system in the related technology uses the client to perform file read-write intensively is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
FIG. 1 is a schematic diagram of an alternative network file system based application service system of the prior art;
FIG. 2 is a schematic diagram of an alternative network file system based application service in the prior art;
FIG. 3 is a flowchart of an alternative network file system based application control method according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of an alternative network file system based application service according to an embodiment of the present invention;
FIG. 5 is a flow chart of an alternative network file system based application control method according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of an alternative network file system based application control apparatus according to an embodiment of the present invention;
fig. 7 is a schematic diagram of an alternative network file system based application control device according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
To facilitate understanding of the invention by those skilled in the art, some terms or nouns referred to in the embodiments of the invention are explained below:
NFS, Network file system, local client can access remotely to read and write file data on NFS.
RPC, Remote Procedure Call.
According to the application control method and device provided by the embodiment of the invention, the existing networking is not changed, and the application processing logic is transferred from the client to the server for processing, so that the resources of the client can be saved, the strong resources on the server side are used, and meanwhile, the application logic is processed through the server.
In accordance with an embodiment of the present invention, there is provided a network file system based application control method embodiment, it should be noted that the steps illustrated in the flowchart of the accompanying drawings may be performed in a computer system such as a set of computer executable instructions, and that while a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.
The application control method based on the network file system is applied to an acceleration client, and the acceleration client is connected with an acceleration server through a remote process call port.
Fig. 3 is a flowchart of an alternative network file system-based application control method according to an embodiment of the present invention, and as shown in fig. 3, the method includes the following steps:
step S302, receiving an application query request, wherein the application query request is sent by a user application program;
step S304, determining all application programs supported by the acceleration client based on the application query request to obtain an application program instruction;
step S306, sending the application program instruction to an acceleration server, executing the target operation of the application process corresponding to the application program instruction by using the acceleration server, and calling data in the network file system to obtain an application process execution result;
step S308, receiving the application process execution result returned by the acceleration server.
Through the steps, when the application request is processed, the application query request is received, then all application programs supported by the acceleration client are determined based on the application query request, an application program instruction is obtained, the application program instruction is sent to the acceleration server, the acceleration server is used for executing the target operation of the application process corresponding to the application program instruction, the data in the network file system are called, the application process execution result is obtained, and finally the application process execution result returned by the acceleration server is received. In the embodiment, the received application program instruction can be sent to the acceleration server by acceleration, the acceleration server is utilized to process the program instruction, and the application processing logic is transferred from the client to the server, so that the resources of the client can be saved, and because the network file system is generally close to the server side, the IO path for accessing the disk can be shortened, the overall read-write performance can be effectively improved, and the read-write delay is shortened, so that the technical problem that the performance bottleneck is easy to occur and the read-write delay is high when the application service of the network file system in the related technology uses the client to perform file read-write intensively is solved.
The embodiment of the invention introduces an acceleration client and an acceleration server. And an application interface is provided for a user program to accelerate reading and writing IO, so that the performance is improved.
Fig. 4 is a schematic diagram of an optional network file system-based application service according to an embodiment of the present invention, as shown in fig. 4, in the application service, connection between a client and a server side is implemented through a remote procedure call port RPC, an acceleration client may receive an application query request, application processing logic, and application program instructions of a user application program, then send the application processing logic and application program instructions that need to be run by the client to the acceleration server side for processing, access an NFS server through the acceleration server to process a relevant program, execute a target operation, and send an execution result to the acceleration client.
Before the acceleration client and the acceleration server work, the two sides need to deploy the supported RPC commands respectively and register the supported application programs.
The following is a description of the principles of the network file system-NFS to which the present invention relates.
The NFS relies on rpc (remote Procedure call) to complete the encapsulation of the read-write command and the control command, and then sends the read-write command and the control command to the NFS server through a TCP or UDP network for processing.
The NFS protocol message can be packaged in a complete network data packet, and when the RPC packages the NFS command in the message, the related information of the NFS protocol is stored by using fields such as a program number, a version number, a process parameter and the like. For example, a write command of the NFS V3 protocol has a program number defined as 100003, a version number defined as 3, and a process number defined as 7, and the specific written data is described in the process parameter.
Through the RPC command set, the NFS can completely realize read, write and various control commands to complete a higher-level file operation interface.
According to the embodiment of the invention, a higher-level logic processing interface can be provided for the application program by adding a new program number in the RPC. If there is one application that compiles source code, hundreds of source code files need to be compiled. The prior art is as follows: for these hundreds of source code files, reading each source file-parsing the source file-compiling the source file, which involves multiple NFS interaction processes. The implementation scheme of the embodiment of the invention is as follows: the compiling action is transmitted to the acceleration server through the acceleration client, the acceleration server executes the compiling process, all file reading and compiling processes do not need to be carried out on the client of the application program, the acceleration server executes the compiling process instead, and therefore the compiling process can be accelerated.
The present invention will be described in detail with reference to the above steps and FIG. 4.
Step S302, an application query request is received, wherein the application query request is sent by a user application program.
Optionally, receiving the application query request includes: providing a preset calling interface for a user application program; and receiving an application query request through a preset calling interface, wherein the application query request queries an application program supported by the acceleration client and accelerates an application operation supported by the client by using a preset field.
The preset field used in the embodiment of the invention can be an ioctl command word under Linux, and a user application program can be called through the ioctl command word.
For example, the application may be so called
fd — open ("AAC module");
ioctl(fd,“LIST”,prog_capa[]);
ioctl(fd,“GET”,prog_name);
ioctl(fd,“SET”,prog_name,para)
that is, the user application opens the acceleration client first, and then uses the ioctl command word to query the application capability set supported by the acceleration client, i.e. which applications can be supported, and may also specifically query whether the target application can be supported.
In the above example code, the parameter fd is a handle obtained after the application opens the acceleration client through open operation, and is subsequently transmitted in the ioctl as an identifier of the acceleration client. The LIST operation is used to obtain all application operations supported by the acceleration client. The prog _ cap is used for saving operations specifically supported by the acceleration client, the GET command is used for inquiring whether the target application program is supported by the acceleration client, the SET operation is a specific calling application, and the prog _ name and para represent names and parameters of the specific calling application, for example, for a compiler, the para can enter a specific file name.
Therefore, a compiling process can be simply called
ioctl(fd,“SET”,“gcc”,“gcc_vers=4.7,filelist=file1,file2”)。
Step S304, based on the application query request, determining all application programs supported by the acceleration client, and obtaining an application program instruction.
Step S306, the application program instruction is sent to the acceleration server, the acceleration server is used for executing the target operation of the application process corresponding to the application program instruction, and the data in the network file system is called to obtain the execution result of the application process.
Alternatively, sending the application program instructions to the acceleration server comprises: based on the application program instruction, adding a plurality of network file fields at the remote procedure call port to provide a logic processing interface for the application program; and sending the application program instruction to the acceleration server by utilizing the added information of the plurality of fields.
Optionally, the plurality of network file fields include at least one of: program number, version number, process parameter.
Step S308, receiving the application process execution result returned by the acceleration server.
In the embodiment of the present invention, the application control method further includes: acquiring all application programs supported by an acceleration client; determining an application field identification of each application supported by the acceleration client, wherein the application field identification at least comprises: a process number; an application identification is registered with the remote procedure call port.
For the registration process, the RPC program number indicates the identification of the acceleration client, such as a fixed number 200001, the version number is the version number of the acceleration client, such as setting the current version to 1.0, and the process number is the name of the application to be supported, such as the linux command set that can be registered as a standard, for example, the command set is registered as:
gcc is 1; make 2; ld is 3; and so on.
The registered process numbers are just a few program names of examples, and a standard linux command set can be registered in specific implementation so as to provide more application processing.
In the process parameters, the embodiment of the present invention sets parameters required by the process, for example, for the gcc command, parameters such as a corresponding version number and a required file name may be set.
The acceleration client can interact with the application program through ioctl commands, provide a high-level user interface, and simplify the logic processing of the application program.
Another optional method for application control further includes: sending an instruction execution query request to an acceleration server, wherein the acceleration server queries the state of target operation of a currently executed application process according to the instruction execution query request to obtain instruction execution progress, each instruction execution progress corresponds to an execution progress identifier, and the instruction execution query request carries a network file query field; and receiving the execution progress identification returned by the acceleration server.
That is, for some commands, the execution time is relatively long, and it is necessary to design a query command to query the execution condition (query progress) of the previous command, for example, the process number is set to be 100, and the process parameter is "xid, prog", that is, to detect the execution condition of the command issued before, and the acceleration server returns the completed progress.
The acceleration client can query the acceleration server for the progress information through the probe query interface so as to inform the application program of acquiring the state information, and a more friendly user interface is provided.
Through the embodiment, the specific processing command of the application program can be effectively transferred from the client to the server for processing, the acceleration client is responsible for interacting with the application program of the user and receiving the request of the client, and the acceleration server is responsible for executing the operation required by the application program at the server.
The following describes an embodiment of the present invention from the acceleration server side.
Fig. 5 is a flowchart of another alternative network file system-based application control method according to an embodiment of the present invention, which is applied to an acceleration server, where the acceleration server is connected to an acceleration client through a remote procedure call port, as shown in fig. 5, the application control method includes:
step S501, receiving an application program instruction sent by an acceleration client;
step S503, analyzing the application program instruction to obtain the application process to be called and the target operation to be executed by the application process;
step S505, based on the target operation to be executed by the application process, calling the application data in the network file system to obtain the execution result of the application process;
and step S507, packaging the application process execution result, and transmitting the packaged application process execution result to the acceleration client.
After the acceleration server commands are executed, the execution result is further encapsulated, for example, whether the execution is successful or not, and if the execution is unsuccessful, a specific error message needs to be returned.
Through the steps, when an application request is processed, an application program instruction sent by an acceleration client is received, the application program instruction is analyzed, an application process to be called and target operation required to be executed by the application process are obtained, application data in a network file system are called based on the target operation required to be executed by the application process, an application process execution result is obtained, the application process execution result is packaged, the packaged application process execution result is transmitted to the acceleration client, the application process execution result is packaged, and the packaged application process execution result is transmitted to the acceleration client. In the embodiment, the received application program instruction can be processed by the acceleration server, and the processing logic corresponding to the application program instruction is transferred from the client to the server, so that the resources of the client can be saved, and the acceleration server side is closer, so that the IO path for accessing the disk can be shortened, the overall read-write performance can be effectively improved, and the read-write delay is shortened, thereby solving the technical problem that the performance bottleneck is easy to occur and the read-write delay is higher when the application service of the network file system in the related technology uses the client to perform file read-write intensively.
The invention uses the application interface on the acceleration server to process, and can move down the processing logic, thereby further saving the CPU and memory resources of the client and effectively improving the performance.
Optionally, before receiving the application program instruction sent by the acceleration client, the application control method further includes: registering an application program identifier supported by an acceleration server to a remote procedure call port, and determining an application program identifier set, wherein the application program identifier in the application program identifier set is used for the acceleration server to be in butt joint with a network file system so as to call data in the network file system.
Similar to the acceleration client, for the acceleration server, it is first required to register the supported command set on the RPC command, so that the supported command set can be correctly extracted after receiving the command transmitted from the acceleration client.
Optionally, before receiving the application program instruction sent by the acceleration client, the application control method further includes: receiving an instruction execution query request; based on the instruction execution query request, querying the state of the target operation of the currently executed application process to obtain an instruction execution progress; and returning the execution progress identification corresponding to the instruction execution progress to the acceleration client.
In the embodiment of the invention, local application can be called to perform specific application processing, for example, after a gcc compiling command is received, a local gcc command is called to compile a source file. Specifically, the gcc version number needs to be checked first, whether the transferred files exist or not is checked, if the gcc version number and the transferred files both meet the condition, compiling is started locally, and after the execution is successful, a success response is returned, and if the gcc version number and the transferred files fail, a failure reason is returned. In the process, the query progress information which is possibly transmitted by the acceleration client needs to be replied.
According to the embodiment of the invention, the acceleration server can be arranged inside to be in butt joint with the NFS server, so that the realization complexity is simplified, the IO path for accessing the disk can be shortened, the whole read-write performance can be effectively improved, and the read-write delay can be shortened.
Fig. 6 is a schematic diagram of an alternative network file system-based application control apparatus, which is applied to an acceleration client connected to an acceleration server through a remote procedure call port, according to an embodiment of the present invention, and includes: a first receiving unit 61, a first determining unit 63, a first transmitting unit 65, a second receiving unit 67, wherein,
a first receiving unit 61, configured to receive an application query request, where the application query request is sent by a user application program;
a first determining unit 63, configured to determine, based on the application query request, all application programs supported by the acceleration client, so as to obtain an application program instruction;
the first sending unit 65 is configured to send the application program instruction to the acceleration server, and use the acceleration server to execute a target operation of an application process corresponding to the application program instruction, and call data in the network file system to obtain an application process execution result;
and the second receiving unit 67 is configured to receive an application process execution result returned by the acceleration server.
When processing an application request, the application control apparatus based on the network file system may receive the application query request through the first receiving unit 61, then determine, based on the application query request, all application programs supported by the acceleration client through the first determining unit 63 to obtain an application program instruction, send the application program instruction to the acceleration server through the first sending unit 65, execute a target operation of an application process corresponding to the application program instruction by using the acceleration server, call data in the network file system to obtain an application process execution result, and finally receive, through the second receiving unit 67, the application process execution result returned by the acceleration server. In the embodiment, the received application program instruction can be sent to the acceleration server by acceleration, the acceleration server is utilized to process the program instruction, and the application processing logic is transferred from the client to the server, so that the resources of the client can be saved, and because the network file system is generally close to the server side, the IO path for accessing the disk can be shortened, the overall read-write performance can be effectively improved, and the read-write delay is shortened, so that the technical problem that the performance bottleneck is easy to occur and the read-write delay is high when the application service of the network file system in the related technology uses the client to perform file read-write intensively is solved.
Optionally, the first receiving unit includes: the first providing module is used for providing a preset calling interface for the user application program; the first receiving module is used for receiving an application query request through a preset calling interface, wherein the application query request queries an application program supported by an acceleration client and application operation supported by the acceleration client by using a preset field.
Alternatively, the first sending unit includes: the first adding module is used for adding a plurality of network file fields at the remote procedure call port based on the application program instruction and providing a logic processing interface for the application program; and the first sending module is used for sending the application program instruction to the acceleration server by utilizing the added information of the plurality of fields.
In an embodiment of the present invention, the plurality of network file fields include at least one of: program number, version number, process parameter.
Optionally, the application control apparatus further includes: the first acquisition module is used for acquiring all application programs supported by the acceleration client; a first determining module, configured to determine an application field identifier of each application supported by the acceleration client, where the application field identifier at least includes: a process number; the first registration module is used for registering the application program identification to the remote procedure call port.
Optionally, the application control apparatus further includes: the second sending module is used for sending the instruction execution query request to the acceleration server, wherein the acceleration server queries the state of the target operation of the currently executed application process according to the instruction execution query request to obtain instruction execution schedules, each instruction execution schedule corresponds to an execution schedule identifier, and the instruction execution query request carries a network file query field; and the second receiving module is used for receiving the execution progress identifier returned by the acceleration server.
Fig. 7 is a schematic diagram of another alternative network file system-based application control apparatus according to an embodiment of the present invention, which is applied to an acceleration server, where the acceleration server is connected to an acceleration client through a remote procedure call port, as shown in fig. 7, the application control apparatus includes: a third receiving unit 72, a parsing unit 74, a calling unit 76, a transmitting unit 78, wherein,
a third receiving unit 72, configured to receive an application instruction sent by the acceleration client;
the analysis unit 74 is configured to analyze the application program instruction to obtain an application process to be invoked and a target operation that the application process needs to execute;
a calling unit 76, configured to call application data in the network file system based on a target operation that needs to be executed by the application process, so as to obtain an execution result of the application process;
the transmission unit 78 is configured to encapsulate the execution result of the application process, and transmit the encapsulated execution result of the application process to the acceleration client.
The application control device based on the network file system may receive an application program instruction sent by an acceleration client through the third receiving unit 72, analyze the application program instruction through the analyzing unit 74 to obtain an application process to be invoked and a target operation to be executed by the application process, invoke application data in the network file system through the invoking unit 76 based on the target operation to be executed by the application process to obtain an application process execution result, encapsulate the application process execution result through the transmitting unit 78, transmit the encapsulated application process execution result to the acceleration client, encapsulate the application process execution result, and transmit the encapsulated application process execution result to the acceleration client when processing an application request. In the embodiment, the received application program instruction can be processed by the acceleration server, and the processing logic corresponding to the application program instruction is transferred from the client to the server, so that the resources of the client can be saved, and the acceleration server side is closer, so that the IO path for accessing the disk can be shortened, the overall read-write performance can be effectively improved, and the read-write delay is shortened, thereby solving the technical problem that the performance bottleneck is easy to occur and the read-write delay is higher when the application service of the network file system in the related technology uses the client to perform file read-write intensively.
Optionally, the application control apparatus further includes: and the second registration module is used for registering an application program identifier supported by the acceleration server to the remote procedure call port and determining an application program identifier set before receiving the application program instruction sent by the acceleration client, wherein the application program identifier in the application program identifier set is used for the acceleration server to be in butt joint with the network file system so as to call data in the network file system.
Optionally, the application control apparatus further includes: the third receiving module is used for receiving the instruction execution query request before receiving the application program instruction sent by the acceleration client; the query module is used for querying the state of the target operation of the currently executed application process based on the instruction execution query request to obtain the instruction execution progress; and the return module is used for returning the execution progress identifier corresponding to the instruction execution progress to the acceleration client.
According to another aspect of the embodiments of the present invention, there is also provided an application control system based on a network file system, including: the application acceleration client executes any one of the application control methods based on the network file system; the application acceleration server executes any one of the application control methods based on the network file system; and the network file system is respectively connected with the application acceleration client and the application acceleration server through a TCP/IP network and is used for providing shared file data.
The embodiment of the invention introduces an application acceleration client AAC (application Accelerate client) and an application acceleration server AAS (application Accelerate server) component device, provides an application interface for a user program, and is used for accelerating reading and writing IO, thereby improving the performance.
According to another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium, where the computer-readable storage medium includes a stored computer program, and when the computer program runs, the apparatus where the computer-readable storage medium is located is controlled to execute any one of the above methods for controlling an application based on a network file system.
The present application further provides a computer program product adapted to perform a program for initializing the following method steps when executed on a data processing device: receiving an application query request, wherein the application query request is sent by a user application program; determining all application programs supported by an acceleration client based on the application query request to obtain an application program instruction; sending the application program instruction to an acceleration server, executing target operation of an application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result; and receiving an application process execution result returned by the acceleration server.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (13)

1. An application control method based on a network file system is applied to an acceleration client, the acceleration client is connected with an acceleration server through a remote procedure call port, and the method comprises the following steps:
receiving an application query request, wherein the application query request is sent by a user application program;
determining all application programs supported by the acceleration client based on the application query request to obtain an application program instruction;
sending an application program instruction to the acceleration server, executing target operation of an application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result;
and receiving an application process execution result returned by the acceleration server.
2. The application control method of claim 1, wherein receiving an application query request comprises:
providing a preset calling interface for the user application program;
and receiving an application query request through the preset calling interface, wherein the application query request queries the application programs supported by the acceleration client and the application operations supported by the acceleration client by using a preset field.
3. The application control method of claim 1, wherein sending application program instructions to the acceleration server comprises:
based on the application program instruction, adding a plurality of network file fields at a remote procedure call port to provide a logic processing interface for the application program;
and sending the application program instruction to the acceleration server by utilizing the added information of the plurality of fields.
4. The application control method of claim 3, wherein the plurality of network file fields comprise at least one of: program number, version number, process parameter.
5. The application control method according to claim 3, characterized in that the application control method further comprises:
acquiring all application programs supported by the acceleration client;
determining an application field identification for each of the applications supported by the acceleration client, wherein the application field identifications include at least: a process number;
registering the application identification with the remote procedure call port.
6. The application control method according to claim 1, characterized in that the application control method further comprises:
sending an instruction execution query request to the acceleration server, wherein the acceleration server queries the state of target operation of a currently executed application process according to the instruction execution query request to obtain instruction execution schedules, each instruction execution schedule corresponds to an execution schedule identifier, and the instruction execution query request carries a network file query field;
and receiving the execution progress identification returned by the acceleration server.
7. An application control method based on a network file system is characterized in that the application control method is applied to an acceleration server side, the acceleration server side is connected with an acceleration client side through a remote procedure call port, and the method comprises the following steps:
receiving an application program instruction sent by the acceleration client;
analyzing the application program instruction to obtain an application process to be called and a target operation required to be executed by the application process;
calling application data in a network file system based on target operation required to be executed by the application process to obtain an application process execution result;
and encapsulating the application process execution result, and transmitting the encapsulated application process execution result to the acceleration client.
8. The application control method according to claim 7, wherein before receiving the application program instruction sent by the acceleration client, the application control method further comprises:
registering an application program identifier supported by the acceleration server to the remote procedure call port, and determining an application program identifier set, wherein the application program identifier in the application program identifier set is used for the acceleration server to interface with a network file system so as to call data in the network file system.
9. The application control method according to claim 7, wherein before receiving the application program instruction sent by the acceleration client, the application control method further comprises:
receiving an instruction execution query request;
based on the instruction execution query request, querying the state of the target operation of the currently executed application process to obtain an instruction execution progress;
and returning an execution progress identifier corresponding to the instruction execution progress to the acceleration client.
10. An application control device based on a network file system is applied to an acceleration client, the acceleration client is connected with an acceleration server through a remote procedure call port, and the application control device comprises:
the device comprises a first receiving unit, a second receiving unit and a processing unit, wherein the first receiving unit is used for receiving an application query request, and the application query request is sent by a user application program;
a first determining unit, configured to determine, based on the application query request, all application programs supported by the acceleration client, so as to obtain an application program instruction;
the first sending unit is used for sending the application program instruction to the acceleration server, executing the target operation of the application process corresponding to the application program instruction by using the acceleration server, and calling data in a network file system to obtain an application process execution result;
and the second receiving unit is used for receiving the application process execution result returned by the acceleration server.
11. An application control device based on a network file system is applied to an acceleration server, the acceleration server is connected with an acceleration client through a remote procedure call port, and the application control device comprises:
a third receiving unit, configured to receive an application program instruction sent by the acceleration client;
the analysis unit is used for analyzing the application program instruction to obtain an application process to be called and a target operation required to be executed by the application process;
the calling unit is used for calling application data in the network file system based on the target operation to be executed by the application process to obtain an application process execution result;
and the transmission unit is used for packaging the application process execution result and transmitting the packaged application process execution result to the acceleration client.
12. An application control system based on a network file system, comprising:
an application acceleration client executing the network file system-based application control method of any one of claims 1 to 6;
an application acceleration server for executing the network file system-based application control method according to any one of claims 7 to 9;
and the network file system is respectively connected with the application acceleration client and the application acceleration server through a TCP/IP network and is used for providing shared file data.
13. A computer-readable storage medium, comprising a stored computer program, wherein when the computer program runs, the computer-readable storage medium controls a device to execute the method for controlling the application based on the network file system according to any one of claims 1 to 9.
CN202010513980.0A 2020-06-08 2020-06-08 Application control method, device and system based on network file system Pending CN111698239A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010513980.0A CN111698239A (en) 2020-06-08 2020-06-08 Application control method, device and system based on network file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010513980.0A CN111698239A (en) 2020-06-08 2020-06-08 Application control method, device and system based on network file system

Publications (1)

Publication Number Publication Date
CN111698239A true CN111698239A (en) 2020-09-22

Family

ID=72479838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010513980.0A Pending CN111698239A (en) 2020-06-08 2020-06-08 Application control method, device and system based on network file system

Country Status (1)

Country Link
CN (1) CN111698239A (en)

Citations (7)

* Cited by examiner, † Cited by third party
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 (en) * 2014-12-30 2016-07-27 沈阳高精数控智能技术股份有限公司 Network file system based on user information management file resource and processing method
CN107250998A (en) * 2015-02-17 2017-10-13 亚马逊技术股份有限公司 The on-chip system of engine is turned to including I/O
CN108028833A (en) * 2015-12-30 2018-05-11 华为技术有限公司 A kind of method, system and the relevant device of NAS data accesses
CN108509437A (en) * 2017-02-24 2018-09-07 南京烽火星空通信发展有限公司 A kind of ElasticSearch inquiries accelerated method
CN109783438A (en) * 2018-12-05 2019-05-21 南京华讯方舟通信设备有限公司 Distributed NFS system and its construction method based on librados
CN110865989A (en) * 2019-11-22 2020-03-06 浪潮电子信息产业股份有限公司 Business processing method for large-scale computing cluster

Patent Citations (7)

* Cited by examiner, † Cited by third party
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 (en) * 2014-12-30 2016-07-27 沈阳高精数控智能技术股份有限公司 Network file system based on user information management file resource and processing method
CN107250998A (en) * 2015-02-17 2017-10-13 亚马逊技术股份有限公司 The on-chip system of engine is turned to including I/O
CN108028833A (en) * 2015-12-30 2018-05-11 华为技术有限公司 A kind of method, system and the relevant device of NAS data accesses
CN108509437A (en) * 2017-02-24 2018-09-07 南京烽火星空通信发展有限公司 A kind of ElasticSearch inquiries accelerated method
CN109783438A (en) * 2018-12-05 2019-05-21 南京华讯方舟通信设备有限公司 Distributed NFS system and its construction method based on librados
CN110865989A (en) * 2019-11-22 2020-03-06 浪潮电子信息产业股份有限公司 Business processing method for large-scale computing cluster

Similar Documents

Publication Publication Date Title
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US8667119B2 (en) System and method for re-generating packet load for load test
CN105912455B (en) Business executes method and server
CN112714047B (en) Industrial control protocol flow based test method, device, equipment and storage medium
CN111831538B (en) Debugging method, device and storage medium
US8819286B2 (en) Methods, systems, and apparatus for processing messaging data sets using structured data sets
CN103580942B (en) A kind of simulative serial port method of testing and device
US20050286435A1 (en) Remote management system
US8745489B2 (en) Shell input/output segregation
CN114328217A (en) Application testing method, device, equipment, medium and computer program product
CN114584582A (en) In-vehicle message processing method and device, vehicle-mounted terminal and storage medium
CN113726762A (en) Internet of things equipment protocol analysis method based on configuration file
US20020174193A1 (en) Split client-server software development architecture
KR20070052641A (en) Robot server, content providing system and method comprising the same
CN111698239A (en) Application control method, device and system based on network file system
EP1989633B1 (en) Shell sessions
CN115473810B (en) Double-end synchronous script hot updating method and device
CN112181670B (en) Inter-process communication method and device and Linux equipment
CN112394912B (en) Robot application data dynamic extraction method based on ROS (reactive oxygen species) calculation graph
CN113867990A (en) Channel control method of battery detection equipment
CN108769087B (en) Development method of interactive system and server
US7702764B1 (en) System and method for testing network protocols
CN117478570B (en) Equipment testing method and device based on containerization technology and storage medium
CN110266762A (en) Data uploading method, system, device and storage medium
CN115617370B (en) Data refreshing method and device, electronic equipment and storage medium

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
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.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200922