The present disclosure relates to the communications field, and in particular, to a VDI (Virtual Desktop Infrastructure) file transfer method and apparatus.
VDI aims to bring excellent responsiveness and customized user experience to intelligent distributed computing, and provide management and security advantages based on a server mode. It provides centralized management for an entire desktop image.
File transfer between a client and a server is performed through a VDI file transfer channel. In the prior art, the WAN (Wide Area Network) is optimized. When a file is transferred through the VDI file transfer channel, a VDI file transfer data flow is mixed up with various VDI messages. In addition, content of these VDI messages may be changeable. As a result, a large amount of DRE (Data Redundancy Elimination) is caused. A redundant entry cannot be reused. This results in a low compressibility in a VDI file transfer process.
The present disclosure provides a VDI file transfer method and apparatus that can improve compressibility in a VDI file transfer process.
In a first aspect of the present disclosure, a VDI file transfer method is provided, where the method includes receiving VDI messages, where the VDI messages at least include a VDI file transfer message, separating the VDI file transfer message from the VDI messages, parsing the separated VDI file transfer message, obtaining a data portion of the VDI file transfer message, and compressing the data portion and sending a VDI file transfer message that includes compressed data, where the compressed data is derived from the data portion.
In a second aspect of the present disclosure, a VDI file transfer method is provided, where the method includes receiving a VDI file transfer message that includes compressed data, where the compressed data is derived from a data portion separated from the VDI file transfer message, parsing the received VDI file transfer message, obtaining the compressed data, decompressing the compressed data to obtain decompressed data, and sending a VDI file transfer message that includes the decompressed data.
In a third aspect of the present disclosure, a VDI file transfer apparatus is provided, where the apparatus includes a receiving unit, configured to receive VDI messages, where the VDI messages at least include a VDI file transfer message, a processing unit, configured to separate the VDI file transfer message from the VDI messages received by the receiving unit, where the processing unit is further configured to parse the separated VDI file transfer message to obtain a data portion of the VDI file transfer message, a data redundancy elimination DRE unit, configured to compress the data portion of the VDI file transfer message, where the data portion is obtained by the processing unit, and a sending unit, configured to send a VDI file transfer message that includes data compressed by the DRE unit, where the compressed data is derived from the data portion.
In a fourth aspect of the present disclosure, a virtual desktop infrastructure VDI file transfer apparatus is provided, where the apparatus includes a receiving unit, configured to receive a VDI file transfer message that includes compressed data, where the compressed data is derived from a data portion separated from the VDI file transfer message, a processing unit, configured to parse the VDI file transfer message received by the receiving unit to obtain the compressed data, a data redundancy elimination DRE unit, configured to decompress the compressed data obtained by the processing unit to obtain decompressed data, and a sending unit, configured to send a VDI file transfer message that includes the data decompressed by the DRE unit.
According to the VDI file transfer method and apparatus that are provided in the present disclosure, a VDI file transfer message is separated from a VDI message, a data portion is separated from the VDI file transfer message, and the data portion is compressed and sent. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
The following clearly describes the technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present disclosure. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
Referring to
11. Receive VDI messages, where the VDI messages at least include a VDI file transfer message.
The VDI file transfer message may include a write request message and a read response message.
In this embodiment of the present disclosure, the VDI message may include various kinds of messages. In addition to the VDI file transfer message, it may further include, for example, a cache message, a bitmap update message, and the like.
12. Separate the VDI file transfer message from the received VDI message.
In this embodiment of the present disclosure, the VDI file transfer message may be separated from the VDI messages in various manners. For example, one manner for separating the VDI file transfer message from the VDI messages may be acquiring a VDI file transfer channel number, and separating the VDI file transfer message from the VDI messages according to the acquired VDI file transfer channel number.
Specifically, after the VDI file transfer channel number is acquired, all VDI file transfer messages may be incorporated into a VDI file transfer channel that corresponds to the VDI file transfer channel number. In this way, only VDI file transfer messages rather than other VDI messages exist on the VDI file transfer channel.
For example, the acquiring a VDI file transfer channel number may specifically be acquiring a VDI negotiation message, where the VDI negotiation message includes the VDI file transfer channel number, and acquiring the VDI file transfer channel number according to the VDI negotiation message.
In this embodiment of the present disclosure, the VDI file transfer channel number may be acquired by using a VDI negotiation message, where the VDI negotiation message may be acquired when a client exchanges information with a server. Specifically, before a VDI file is transferred, the client exchanges information with the server to obtain necessary information for VDI file transfer. In this process, the client sends the VDI negotiation message to the server. Therefore, a router arranged between the client and the server can acquire the VDI file transfer channel number by receiving the VDI negotiation message sent by the client.
13. Parse the separated VDI file transfer message.
After separating the VDI file transfer message from the VDI messages, the router parses the separated VDI file transfer message. A data header portion of the separated VDI file transfer message may be separated from a data portion of the separated VDI file transfer message through parsing.
14. Obtain a data portion of the VDI file transfer message.
After separating the data header portion of the separated VDI file transfer message from the data portion of the separated VDI file transfer message through parsing, the router obtains the data portion of the VDI file transfer message.
When the VDI file transfer message specifically is a write request message and/or a read response message, a data header portion of the write request message and/or the read response message is separated from a data portion of the write request message and/or the read response message, respectively.
15. Compress the data portion and send a VDI file transfer message that includes compressed data, where the compressed data is derived from the data portion.
After obtaining the data portion of the VDI file transfer message, the router compresses the data portion of the VDI file transfer message and transmits the compressed data and a message header portion of the VDI file transfer message to a peer router.
In this embodiment of the present disclosure, the “peer router” refers to a router on the other end of communications. For example, a peer router of a router near a client side is a router near a server side; and a peer router of a router near the server side is a router near the client side.
According to the VDI file transfer method provided in the present disclosure, a VDI file transfer message is separated from a VDI message, a data portion is separated from the VDI file transfer message, and the data portion is compressed and sent. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
Referring to
21. Receive a VDI file transfer message that includes compressed data, where the compressed data is derived from a data portion separated from the VDI file transfer message.
In this embodiment of the present disclosure, the compressed data is borne in the VDI file transfer message.
The VDI file transfer message may include a write request message and a read response message.
22. Parse the received VDI file transfer message.
After receiving the VDI file transfer message that includes the compressed data, the peer router may separate the compressed data from the VDI file transfer message by parsing the VDI file transfer message that includes the compressed data.
23. Obtain the compressed data.
24. Decompress the compressed data to obtain decompressed data.
25. Send a VDI file transfer message that includes the decompressed data.
After decompressing the compressed data, the peer router, in combination with a message header of the received VDI file transfer message, encapsulates the decompressed data and the message header into a VDI file transfer message, and sends the VDI file transfer message that includes the decompressed data.
When the compressed data comes from a client side, the encapsulated VDI file transfer message is sent to a server; and when the compressed data comes from a server side, the encapsulated VDI file transfer message is sent to a client.
According to the VDI file transfer method provided in the present disclosure, a VDI file transfer message is separated from a VDI message, a data portion is separated from the VDI file transfer message, and the data portion is compressed and sent. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
For a better understanding of the present disclosure, specific embodiments are used as examples in the following to further describe the present disclosure. It should also be noted that, embodiments described in the following are merely a part of the embodiments of the present disclosure. A person skilled in the art may easily conceive other embodiments based on the content in the present disclosure. These embodiments shall fall within the scope of the present disclosure.
A client sends a VDI negotiation message to a server (for example, a server on a desktop cloud data center), where the VDI negotiation message includes a VDI file transfer channel number.
A router 1 and a router 2 that are arranged between the client and the server acquire the VDI file transfer channel number by receiving the VDI negotiation message sent by the client.
The router 1 receives a VDI message sent by the server, where the VDI message at least includes a VDI file transfer message.
The router 1 separates the VDI file transfer message from the VDI messages according to the acquired VDI file transfer channel number. As shown in
The router 1 parses the first VDI file transfer message and the second VDI file transfer message, so as to separate the data 1 and the data 2 from these two VDI file transfer messages, respectively.
The router 1 uses a DRE engine to compress the separated data 1 and data 2 into data 3, encapsulates the compressed data 3 and message headers of the VDI file transfer messages into a third VDI file transfer message, and sends the third VDI file transfer message to the router 2.
The router 2 receives the third VDI file transfer message that includes the data 3 and is sent by the router 1; and the router 2 parses the third VDI file transfer message to obtain the compressed data 3.
The router 2 uses the DRE engine to decompress the data 3 to obtain decompressed data 4 and data 5, where the decompressed data 4 may be the same as or different from the data 1 or the data 2, and the decompressed data 5 may be the same as or different from the data 1 or the data 2. This is not limited in the present disclosure.
The router 2 encapsulates the data 4, the data 5, and a message header of the third VDI file transfer message into different VDI file transfer messages (that is, a fourth VDI file transfer message and a fifth VDI file transfer message), respectively, and sends the encapsulated VDI file transfer messages to the client.
It should be noted that, VDI file transfer from the server to the client has been described above, and the process of VDI file transfer from the client to the server is similar to that of the description above. No further details are provided herein.
According to the VDI file transfer method provided in the present disclosure, a VDI file transfer message is separated from a VDI message, a data portion is separated from the VDI file transfer message, and the data portion is compressed and sent. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
The receiving unit 41 is configured to receive VDI messages, where the VDI messages at least include a VDI file transfer message.
The processing unit 42 is configured to separate the VDI file transfer message from the VDI messages received by the receiving unit 41.
The processing unit 42 is further configured to parse the separated VDI file transfer message to obtain a data portion of the VDI file transfer message.
The DRE unit 43 is configured to compress the data portion of the VDI file transfer message, where the data portion is obtained by the processing unit 42.
The sending unit 44 is configured to send a VDI file transfer message that includes data compressed by the DRE unit 43, where the compressed data is derived from the data portion.
The VDI file transfer apparatus provided in the present disclosure separates a VDI file transfer message from a VDI message, separates a data portion from the VDI file transfer message, and compresses the data portion and sends it. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
In an embodiment, optionally, the processing unit 42 may include an acquiring module, configured to acquire a VDI file transfer channel number, where the acquiring module may be specifically configured to acquire a VDI negotiation message, where the VDI negotiation message includes the VDI file transfer channel number, and acquire the VDI file transfer channel number according to the VDI negotiation message, and a separating module, configured to separate the VDI file transfer message from the VDI messages according to the VDI file transfer channel number acquired by the acquiring module.
In an embodiment, the VDI file transfer message may include a write request message and a read response message.
The receiving unit 51 is configured to receive a VDI file transfer message that includes compressed data, where the compressed data is derived from a data portion separated from the VDI file transfer message.
The processing unit 52 is configured to parse the VDI file transfer message received by the receiving unit 51 to obtain the compressed data.
The DRE unit 53 is configured to decompress the compressed data obtained by the processing unit 52 to obtain decompressed data.
The sending unit 53 is configured to send a VDI file transfer message that includes the data decompressed by the DRE unit 53.
The VDI file transfer message includes a write request message and a read response message.
The VDI file transfer apparatus provided in the present disclosure separates a VDI file transfer message from a VDI message, separates a data portion from the VDI file transfer message, and compresses the data portion and sends it. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
It should be noted that, the VDI file transfer apparatus may be a router or a switch, and certainly may be another network device that is capable of implementing the preceding functions. This is not limited in the present disclosure.
It should be noted that, in the preceding VDI file transfer apparatus, all included units are divided only according to functions and logic, but the present disclosure is not limited to the preceding division as long as corresponding functions can be implemented. In addition, specific names of functional units are used to distinguish each other only, but not used to limit the protection scope of the present disclosure.
A person of ordinary skill in the art may understand that all or a part of the steps of the methods in the embodiments may be implemented by a program instructing relevant hardware. The program may be stored in a computer readable storage medium. The storage medium may be a read-only memory, a magnetic disk, an optical disk, or the like.
The processor 610, the communications interface 620, and the memory 630 communicate with each other through the bus 640.
The communications interface 620 is configured to communicate with an external network element, such as a router, a user equipment, or a server.
The processor 610 is configured to execute a program 632.
Specifically, the program 632 may include a program code, where the program code includes a computer operation instruction.
The processor 610 may be a central processing unit CPU, an application specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement this embodiment of the present disclosure.
The memory 630 is configured to store the program 632. The memory 630 may include a high-speed RAM memory and may further include a non-volatile memory (non-volatile memory), for example, at least one disk memory. The program 632 may specifically include a receiving unit 41, a processing unit 42, a DRE unit 43, and a sending unit 44.
The receiving unit 41 is configured to receive VDI messages, where the VDI messages at least include a VDI file transfer message.
The processing unit 42 is configured to separate the VDI file transfer message from the VDI messages received by the receiving unit 41.
The processing unit 42 is further configured to parse the separated VDI file transfer message to obtain a data portion of the VDI file transfer message.
The DRE unit 43 is configured to compress the data portion of the VDI file transfer message, where the data portion is obtained by the processing unit 42.
The sending unit 44 is configured to send a VDI file transfer message that includes data compressed by the DRE unit 43, where the compressed data is derived from the data portion.
In an embodiment, optionally, the processing unit 42 may include an acquiring module, configured to acquire a VDI file transfer channel number, where the acquiring module may be specifically configured to acquire a VDI negotiation message, where the VDI negotiation message includes the VDI file transfer channel number, and acquire the VDI file transfer channel number according to the VDI negotiation message, and a separating module, configured to separate the VDI file transfer message from the VDI messages according to the VDI file transfer channel number acquired by the acquiring module.
In an embodiment, the VDI file transfer message may include a write request message and a read response message.
It should be noted that, the specific implementation of each unit of the program 632 is the same as that of a corresponding unit in the embodiment illustrated in
The VDI file transfer apparatus provided in the present disclosure separates a VDI file transfer message from a VDI message, separates a data portion from the VDI file transfer message, and compresses the data portion and sends it. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
The processor 710, the communications interface 720, and the memory 730 communicate with each other through the bus 740.
The communications interface 720 is configured to communicate with an external network element, such as a router, a user equipment, or a server.
The processor 710 is configured to execute a program 732.
Specifically, the program 732 may include a program code, where the program code includes a computer operation instruction.
The processor 710 may be a central processing unit CPU, an application specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement this embodiment of the present disclosure.
The memory 730 is configured to store the program 732. The memory 730 may include a high-speed RAM memory and may further include a non-volatile memory, for example, at least one disk memory. The program 732 may specifically include a receiving unit 51, a processing unit 52, a DRE unit 53, and a sending unit 54.
The receiving unit 51 is configured to receive a VDI file transfer message that includes compressed data, where the compressed data is derived from a data portion separated from the VDI file transfer message.
The processing unit 52 is configured to parse the VDI file transfer message received by the receiving unit 51 to obtain the compressed data.
The DRE unit 53 is configured to decompress the compressed data obtained by the processing unit 52 to obtain decompressed data.
The sending unit 53 is configured to send a VDI file transfer message that includes the data decompressed by the DRE unit 53.
The VDI file transfer message includes a write request message and a read response message.
It should be noted that, the specific implementation of each unit of the program 732 is the same as that of a corresponding unit in the embodiment illustrated in
The VDI file transfer apparatus provided in the present disclosure separates a VDI file transfer message from a VDI message, separates a data portion from the VDI file transfer message, and compresses the data portion and sends it. This ensures that what is compressed is content of the data portion in the VDI file transfer message. During data compressing, neither other VDI messages nor a data header of the VDI file transfer message exists. Therefore, a high compressibility can be achieved in a VDI file transfer process.
The foregoing descriptions are merely specific embodiments of the present disclosure, but are not intended to limit the protection scope of the present disclosure. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present disclosure shall fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.
This application is a continuation of International Application No. PCT/CN2012/083625, filed on Oct. 26, 2012, which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2012/083625 | Oct 2012 | US |
Child | 14333227 | US |