CN110297680A - A kind of method and device of transfer of virtual desktop picture - Google Patents
A kind of method and device of transfer of virtual desktop picture Download PDFInfo
- Publication number
- CN110297680A CN110297680A CN201910478045.2A CN201910478045A CN110297680A CN 110297680 A CN110297680 A CN 110297680A CN 201910478045 A CN201910478045 A CN 201910478045A CN 110297680 A CN110297680 A CN 110297680A
- Authority
- CN
- China
- Prior art keywords
- cryptographic hash
- piecemeal
- caching
- block
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32358—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
- H04N1/32363—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter at the transmitter or at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The application provides a kind of method and device of transfer of virtual desktop picture, for reducing the bandwidth demand of transfer of virtual desktop picture.This method comprises: dividing virtual desktop image to be transmitted to obtain multiple piecemeals;Judge each piecemeal in multiple piecemeals cryptographic Hash whether with Hash values match in caching, if matching if be determined as hit block, be otherwise miss block;According to the cryptographic Hash of any row in the miss block, the caching is inquired;If inquiring cryptographic Hash identical with the cryptographic Hash of any row in the miss block in the caching, the position of the cryptographic Hash of any row and any row in the virtual desktop image is sent to client.This method passes through the first cryptographic Hash for searching piecemeal in the buffer, capable cryptographic Hash is searched again, according to the lookup mode by face to line, is mutually agreed with user operation habits, the probability for inquiring the data of virtual desktop image in the buffer can be improved, realize that the deduplication of piecemeal and row is sent.
Description
Technical field
This application involves field of communication technology more particularly to a kind of method and devices of transfer of virtual desktop picture.
Background technique
Desktop virtualization architecture (Virtual Desktop 1nfrastructure, VDI) is current desktop cloud solution
Certainly in scheme mainstream framework and deployment way, the thought of VDI is that desktop is stored in data center by virtualization technology, eventually
End subscriber accesses desktop by virtual desktop control protocol, can obtain complete computer usage experience.In VDI framework,
Virtual desktop picture contents data amount is big, very high to bandwidth requirement.
The mode of the virtual desktop image transmitted in the prior art is fixed block transmission mode.Fixed block transmission mode
Thought be the piecemeal that every virtual desktop image is divided into fixed size, then whether be stored with this point in query caching
The cryptographic Hash of block.The cryptographic Hash for only sending piecemeal if having the cryptographic Hash of the piecemeal in caching and position to client, by
Client is copied from caching obtains the block data, restores piecemeal.If not having the piecemeal in caching, which is sent
To client, is decoded by client and obtain piecemeal.
Although this method can reduce server transport amount to a certain extent, bandwidth demand is reduced.But if divide
Block is larger, and the probability for inquiring the cryptographic Hash of piecemeal in the buffer is lower, that is to say, that is directly sent from server to client
Piecemeal can be relatively more, also require that biggish bandwidth is just able to satisfy the demand of transfer of virtual desktop picture.
Summary of the invention
The embodiment of the present application provides a kind of method and device of transfer of virtual desktop picture, for reducing transfer of virtual desktop
The bandwidth demand of image.
In a first aspect, providing a kind of method of transfer of virtual desktop picture, comprising:
It divides virtual desktop image to be transmitted to obtain multiple piecemeals;
Judge each piecemeal in multiple piecemeals cryptographic Hash whether with Hash values match in caching, if matching if be determined as
Block is hit, is otherwise miss block;
According to the cryptographic Hash of any row in the miss block, the caching is inquired;
If cryptographic Hash identical with the cryptographic Hash of any row in the miss block is inquired in the caching, by institute
It states the position of the cryptographic Hash and any row of any row in the virtual desktop image and is sent to client.
In the embodiment of the present application, virtual desktop image is divided, inquires the cryptographic Hash of piecemeal in the buffer, if
The cryptographic Hash of piecemeal is not inquired, then inquires the cryptographic Hash of every a line in the piecemeal, user moves, drags or roll behaviour
In the case of work, virtual desktop image is generally comparable to previous frame virtual desktop image changes locally, the embodiment of the present application
It is middle mutually to agree with by the way of by face (piecemeal) to line (row) with user's use habit, it is virtual that inquiry in the buffer can be improved
The probability of the data of desktop picture, avoid piecemeal and row repetition send, compared with the existing technology in directly adopt piecemeal progress
The mode of processing, the mode in the embodiment of the present application can be realized piecemeal and the deduplication of row is sent, and reduce transfer of virtual table
The bandwidth demand of face image.
In a kind of possible embodiment, in the cryptographic Hash according to any row in the miss block, the caching is inquired
Later, comprising:
If cryptographic Hash identical with any row in the miss block is not inquired in the caching, according to
In miss block in any row any pixel unit cryptographic Hash, inquire the caching;
If inquired in the caching with any pixel unit in any row in the miss block, will be described any
The position of pixel unit cryptographic Hash and any pixel unit in the virtual desktop image is sent to client;
If not inquiring in the miss block any pixel unit in any row in the caching, described will appoint
One pixel unit is compressed, and the compressed any pixel unit is sent to client, so that the client solution
The compressed any pixel unit is pressed, and caches the compressed any pixel unit after decompression.
In the embodiment of the present application, if not inquiring the cryptographic Hash of current line in the buffer, server is being cached
The middle cryptographic Hash for continuing to inquire each pixel unit in the current line, by the way of by line (row) to point (pixel unit),
The probability for inquiring the data of virtual desktop image in the buffer is further increased, realizes going for piecemeal, row and pixel unit
It repeats to send, further decreases the bandwidth demand of transfer of virtual desktop picture.
In a kind of possible embodiment, according in the miss block in any row any pixel unit Hash
Value, is inquired before the caching, comprising:
Determine that any row belongs to character block in the miss block.
In the embodiment of the present application, when determining that current line belongs to character block in miss block, server is looked into the buffer again
The cryptographic Hash for asking each pixel unit in the current line, when current line belongs to character block, the redundant sub-pixels that character block includes are believed
It ceasing more, that is to say, that the probability for inquiring the cryptographic Hash of pixel unit for belonging to character block in the buffer is relatively large, thus
The probability for inquiring the data of virtual desktop image in the buffer is further increased, utmostly piecemeal, row and picture are realized in Shangdi
The deduplication of plain unit is sent, and further decreases the bandwidth demand of transfer of virtual desktop picture.
In a kind of possible embodiment, by any pixel unit cryptographic Hash and in the virtual desktop image
Position be sent to before client, comprising:
Determine the pixel value that any pixel unit in any row in the miss block is inquired in the caching.
The size of pixel unit is smaller, it is possible that the situation that the cryptographic Hash of two different pixels units is identical, this Shen
It please further determine that in caching whether include the pixel in embodiment, after the cryptographic Hash for finding pixel unit in the buffer
The pixel value of unit guarantees the accuracy of pixel unit matched.
In a kind of possible embodiment, in the cryptographic Hash according to any row in the miss block, the caching is inquired
Later, comprising:
If not inquiring the identical cryptographic Hash of any row in the miss block in the caching, and the miss
Any row belongs to image block in block, and any row in the miss block is compressed;
The compressed miss block any row is sent to the client, so that the client decompresses the pressure
Miss block any row after contracting, and cache the compressed miss block any row after decompression.
In the embodiment of the present application, if it is determined that current line belongs to image block, due to image block include Pixel Information more
More, the probability for inquiring the cryptographic Hash of pixel unit for belonging to image block in the buffer is relatively small, when determining the current line category
When image block, current line compression directly can be sent to client, in the case where realizing that deduplication is sent as far as possible, subtracted
It is few to inquire the number for belonging to the pixel unit of image block in the buffer in server, save the time of transfer of virtual desktop picture.
In a kind of possible embodiment, judge each piecemeal in multiple piecemeals cryptographic Hash whether with cryptographic Hash in caching
Matching, comprising:
If the Hash values match in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal, it is determined that with it is described any
The partly overlapping piecemeal of piecemeal is hit block;
If the cryptographic Hash in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal mismatches, judge and described
One piecemeal there are the cryptographic Hash of partly overlapping piecemeal whether with the Hash values match in the caching;
If with any piecemeal, there are the cryptographic Hash in the cryptographic Hash of partly overlapping piecemeal and the caching to mismatch,
Then determining and any piecemeal is miss block there are partly overlapping piecemeal;
If the total number of the miss block in the neighborhood of any piecemeal is greater than preset value, looked into the caching
Whether ask has and the identical cryptographic Hash of cryptographic Hash of corresponding piecemeal on fixed position preset in the virtual desktop image.
In the embodiment of the present application, if finding the cryptographic Hash of current block in the buffer, without being further continued for determining and work as
The cryptographic Hash of the preceding piecemeal with overlapping, can reduce the calculation amount during transfer of virtual desktop picture, and can subtract relatively
The number of few server query caching, improves search efficiency.If there is no the number of the piecemeal of hit super in virtual desktop image
When crossing preset value, indicate that the probability for inquiring the data in virtual desktop image in the buffer is relatively low, then server is direct
The cryptographic Hash for inquiring piecemeal on fixed position, reduces and inquires the number of piecemeal in the buffer in server, and it is empty to save transmission
The time of quasi- desktop picture.
In a kind of possible embodiment, divide virtual desktop image to be transmitted to obtain multiple piecemeals, comprising:
Determine the image feature value of the virtual desktop image;
According to the image feature value of the virtual desktop image, to the virtual desktop image according to Pixel Dimensions not of the same race
It is divided to obtain multiple piecemeals;Wherein, the image feature value of each piecemeal is within a preset range in the multiple piecemeal.
In the embodiment of the present application, server carries out piecemeal to virtual desktop image according to image feature value, guarantees each point
The image feature value of block within a preset range, so that the data volume size that each piecemeal includes is close, is conducive to improve transmission
When each piecemeal, the flow of consumption is relatively uniform.
Second aspect provides a kind of device of transfer of virtual desktop picture, comprising:
Processing module for dividing virtual desktop image to be transmitted to obtain multiple piecemeals, and judges multiple piecemeals
In each piecemeal cryptographic Hash whether with Hash values match in caching, if matching if be determined as hit block, be otherwise miss
Block, and according to the cryptographic Hash of any row in the miss block, inquire the caching;
Sending module, if identical with the cryptographic Hash of any row in the miss block for being inquired in the caching
The position of the cryptographic Hash of any row and any row in the virtual desktop image is then sent to client by cryptographic Hash
End.
In a kind of possible embodiment, the processing module is also used to according to any row in the miss block
Cryptographic Hash is inquired after the caching, if not inquiring in the caching identical with any row in the miss block
Cryptographic Hash, then according in the miss block in any row any pixel unit cryptographic Hash, inquire the caching;
The sending module, if being also used to inquire in the caching and any picture in any row in the miss block
Plain unit, the then position by any pixel unit cryptographic Hash and any pixel unit in the virtual desktop image
It is sent to client;
The sending module, if being also used to not inquire in the caching any in any row in the miss block
Pixel unit then compresses any pixel unit, and the compressed any pixel unit is sent to client
End, so that the client decompresses the compressed any pixel unit, and by compressed any picture after decompression
The caching is written in plain unit.
In a kind of possible embodiment, the processing module is also used to:
According in the miss block in any row any pixel unit cryptographic Hash, inquire before the caching, really
Any row belongs to character block in the fixed miss block.
In a kind of possible embodiment, the processing module is also used to:
By any pixel unit cryptographic Hash and the position in the virtual desktop image be sent to client it
Before, determine the pixel value that any pixel unit in any row in the miss block is inquired in the caching.
In a kind of possible embodiment, the processing module is also used to according to any row in the miss block
Cryptographic Hash is inquired after the caching, if not inquiring the identical Kazakhstan of any row in the miss block in the caching
Uncommon value, and any row belongs to image block in the miss block, and any row in the miss block is compressed;
The sending module is also used to the compressed miss block any row being sent to the client, so that
The client decompresses the compressed miss block any row, and caches the compressed miss block after decompression and appoint
A line.
In a kind of possible embodiment, the processing module is specifically used for:
If the Hash values match in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal, it is determined that with it is described any
The partly overlapping piecemeal of piecemeal is hit block;
If the cryptographic Hash in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal mismatches, judge and described
One piecemeal there are the cryptographic Hash of partly overlapping piecemeal whether with the Hash values match in the caching;
If with any piecemeal, there are the cryptographic Hash in the cryptographic Hash of partly overlapping piecemeal and the caching to mismatch,
Then determining and any piecemeal is miss block there are partly overlapping piecemeal;
If the total number of the miss block in the neighborhood of any piecemeal is greater than preset value, looked into the caching
Whether ask has and the identical cryptographic Hash of cryptographic Hash of corresponding piecemeal on fixed position preset in the virtual desktop image.
In a kind of possible embodiment, the processing module is specifically used for:
Determine the image feature value of the virtual desktop image;
According to the image feature value of the virtual desktop image, to the virtual desktop image according to Pixel Dimensions not of the same race
It is divided to obtain multiple piecemeals;Wherein, the image feature value of each piecemeal is within a preset range in the multiple piecemeal.
The third aspect provides a kind of device of transfer of virtual desktop picture, comprising:
At least one processor, and
The memory being connect at least one described processor communication;
Wherein, the memory is stored with the instruction that can be executed by least one described processor, described at least one
It manages device and is realized as described in any one of first aspect and any possible embodiment by executing the instruction of the memory storage
Method.
Fourth aspect, provides a kind of computer readable storage medium, and the computer-readable recording medium storage has calculating
Machine instruction, when the computer instruction is run on computers, so that computer executes such as first aspect and any possible
Method described in any one of embodiment.
Detailed description of the invention
Fig. 1 is a kind of schematic diagram of a scenario of the method for transfer of virtual desktop picture provided by the embodiments of the present application;
Fig. 2 is a kind of flow chart of the method for transfer of virtual desktop picture provided by the embodiments of the present application;
Fig. 3 is the schematic diagram of blocking process in a kind of processing virtual desktop image provided by the embodiments of the present application;
Fig. 4 is a kind of flow chart of the device of transfer of virtual desktop picture provided by the embodiments of the present application;
Fig. 5 is a kind of flow chart of the device of transfer of virtual desktop picture provided by the embodiments of the present application.
Specific embodiment
In order to better understand technical solution provided by the embodiments of the present application, below in conjunction with Figure of description and specifically
Embodiment be described in detail.
For the bandwidth of transfer of virtual desktop picture consumption, the embodiment of the present application provides a kind of transfer of virtual desktop picture
Method is below introduced the application scenarios that this method is related to.
Fig. 1 is please referred to, includes terminal device 11 and server 12 in scene shown in FIG. 1, is equipped in terminal device 11
Client, terminal device 11 is corresponding with user, i.e., user can carry out corresponding operation on the terminal device.Client can be with
The software application being mounted in terminal device is also possible to be embedded in the small routine etc. in other application software.Terminal device
11 be, for example, personal computer etc..Server 12 can be individual server, be also possible to server cluster.
Specifically, terminal device 11 establishes Remote desk process by client and server 12, client receives user
Corresponding operating, server 12 are handled to obtain corresponding virtual desktop image depending on the user's operation, and to virtual desktop figure
As carry out piecemeal processing, and in the buffer inquire piecemeal cryptographic Hash, caching can be it is independent relative to client, and with visitor
In same local area network, caching is also possible to a part of client at family end.Server 12 is determined according to corresponding query result
Which information of each piecemeal is sent, for client after the corresponding information for receiving each piecemeal, recovery obtains virtual desktop figure
Picture.
On the basis of application scenarios shown in Fig. 1, below with reference to the flow diagram of Fig. 2, in the embodiment of the present application
The method of transfer of virtual desktop picture be illustrated.This method is executed by the server 12 in Fig. 1.
Server 12 first carries out step 201 before transmitting current virtual desktop image to be transmitted, i.e., will be to be transmitted
Virtual desktop image divides to obtain multiple piecemeals.
Specifically, previous frame virtual desktop image and current virtual desktop image to be transmitted can in Remote desk process
The identical region in part can be had, therefore, in order to reduce the virtual desktop image directly transmitted to the greatest extent, server 12 can will be empty
Quasi- desktop picture is divided into multiple piecemeals.
Division mode one:
Virtual desktop image is divided into the identical piecemeal of multiple sizes according to fixed size by server 12.
Division mode two:
Server 12 divides virtual desktop image to obtain multiple points according to the image feature value of virtual desktop image
Block.
Specifically, server 12 can calculate the characteristics of image of each pixel in virtual desktop image according to preset algorithm
Value, preset algorithm are edge algorithms or gradient algorithm etc., image feature value such as image texture value, image pixel value or image wheel
Exterior feature value etc..
Server 12 determines in virtual desktop image each point according to the image feature value distribution situation of virtual desktop image
The size of block.Server 12 can be stored with preset range in advance, when dividing multiple piecemeals, guarantee the characteristics of image of each piecemeal
Within a preset range, dividing can guarantee that the image feature value of each piecemeal is close in this way to value, and avoiding some piecemeal includes
Data volume it is excessive, cause to transmit the piecemeal and the case where Caton occur.
In a kind of possible embodiment, several Pixel Dimensions can be prestored in server 12, according to several pictures prestored
Virtual desktop image is divided into according to these types of Pixel Dimensions more by the image feature value of plain size and virtual desktop image
A piecemeal.The embodiment of the present application in the case where guaranteeing situation similar in data volume that each piecemeal includes as far as possible, additionally it is possible to reduce service
The calculation amount of device 12.Pixel Dimensions can be understood as specified area size, such as 300*300.
For example, being prestored in server there are three types of Pixel Dimensions, server divides virtual desktop figure according to three kinds of Pixel Dimensions
Picture, when with the first partition of the scale virtual desktop image, the image feature value of obtained piecemeal is less than the minimum of preset range
Value, then to be greater than second of partition of the scale virtual desktop image of the first scale, the image feature value of obtained piecemeal is located at
In preset range, then a piecemeal is obtained, and so on, virtual desktop image is divided, multiple piecemeals are obtained.
In one embodiment, for server 12 when dividing virtual desktop image, including at least in multiple piecemeals has weight
Two folded piecemeals.
Specifically, due to often moving in client, dragging in user and scroll operation, in these cases,
Virtual desktop image is usually that regional area changes, and server 12 is when dividing virtual desktop image, if every two point
There is overlapping between block, so that partitioned mode and the operation of user mutually agree with, and then improve and inquire piecemeal in the buffer
The probability of cryptographic Hash.Wherein, there is overlapping to refer to that there are identical pixel regions between two piecemeals, it is not identical to this herein
The size of pixel region is limited.In general, two piecemeals being completely coincident will not be divided, therefore in general there is weight
Two folded piecemeals all partly overlap, i.e. there are the identical regions in part between two piecemeals.
For example, please join Fig. 3, virtual desktop image is divided into A, B, C as shown in figure a, by virtual desktop image, D, E five
Piecemeal (as shown in the b in Fig. 3), can see by b in Fig. 3 and overlaps between piecemeal B and piecemeal C, piecemeal D and piecemeal C
Between have partly overlap.
In a kind of possible embodiment, server 12 is dividing multiple piecemeals simultaneously, or after the multiple piecemeals of division,
It can determine the position of each piecemeal in multiple piecemeals.The specific representation of the position can there are many, such as number, text
Deng not being defined herein to the specific representation of position.
After server executes step 201, execute step 202, that is, judge in multiple piecemeals the cryptographic Hash of each piecemeal with
Whether the cryptographic Hash in caching matches.If the Hash values match in multiple piecemeals in the cryptographic Hash and caching of current piecemeal,
It is transferred to step 203, if the cryptographic Hash in multiple piecemeals in the cryptographic Hash and caching of current piecemeal mismatches, is transferred to step
205.First step 202 is illustrated below.
Specifically, prestoring the Hash of the piecemeal of every frame image in the processed virtual desktop image in front in caching
Value and corresponding piecemeal can also include piecemeal in processed virtual desktop image in the caching in the embodiment of the present application
The cryptographic Hash of middle corresponding line, the cryptographic Hash of respective pixel unit, respective pixel unit in processed virtual desktop image
Pixel value and corresponding sub-block data content, the data content of corresponding line and the data content of respective pixel unit
Deng.After current virtual desktop image to be transmitted is divided into multiple piecemeals by server 12, each piecemeal is inquired in the buffer
Cryptographic Hash.
As one embodiment, if caching storing data is excessive, the memory capacity of occupancy may be larger, in caching if
Storing data is very few, and the probability that may cause the Hash values match in the cryptographic Hash and caching of piecemeal is lower, the embodiment of the present application
In, the data of the virtual desktop image of -12 frame of 8 frame can be prestored in caching.
Server 12 is matched in the buffer there are many kinds of the matching order of the cryptographic Hash of each piecemeal, is carried out example below and is said
It is bright.
Mode one:
The cryptographic Hash of each piecemeal can be first calculated separately out, then successively matches each point according to preset order in the buffer
The cryptographic Hash of block.
Mode two:
Server 12 is according to the matching result of current piecemeal, it is determined whether calculates with current piecemeal with Chong Die piecemeal
Cryptographic Hash.If server 12 determines that the cryptographic Hash in the cryptographic Hash and caching of current piecemeal matches, no longer calculates and work as
Preceding piecemeal has the cryptographic Hash of the piecemeal of overlapping.If server 12 determines the cryptographic Hash in the cryptographic Hash and caching of current piecemeal
Mismatch, then need to calculate the cryptographic Hash that there is Chong Die piecemeal with current piecemeal, and determination with current piecemeal with Chong Die
The cryptographic Hash of piecemeal whether with cache match.
Specifically, server 12 first calculates the cryptographic Hash of current piecemeal, in the cryptographic Hash and caching for determining current piecemeal
Cryptographic Hash match, server 12 determining with current piecemeal is hit block with Chong Die piecemeal, and server 12 is no longer counted
The cryptographic Hash that there is overlap partition with current piecemeal is calculated, and no longer needs to search in the buffer with current piecemeal with Chong Die point
The cryptographic Hash of block.
It need to be into if server 12 determines that the cryptographic Hash in the cryptographic Hash and caching of current piecemeal mismatches, if server 12
One step is determining have with current piecemeal Chong Die piecemeal whether with the Hash values match in caching, if with current piecemeal with weighing
Hash values match in folded piecemeal and caching, it is determined that with current piecemeal there is Chong Die piecemeal to belong to hit block.If with
There is current piecemeal the cryptographic Hash in the piecemeal and caching of overlapping to mismatch, it is determined that have Chong Die piecemeal category with current piecemeal
In miss block.
If server 12 determines that the total number of the miss block in the neighborhood of current piecemeal is greater than preset value, indicate current
The probability that virtual desktop image inquires the cryptographic Hash of corresponding sub-block in the buffer is smaller, therefore in order to reduce the nothing of server 12
The number of query caching is imitated, the number of invalid query caching can be understood as the Kazakhstan that server 12 inquires corresponding sub-block in the buffer
Uncommon value, but there is no find in the buffer to the cryptographic Hash of piecemeal.If total of the miss block in the neighborhood of current piecemeal
Number be greater than preset value, at this time server 12 judge the piecemeal in virtual desktop image on preset fixed position cryptographic Hash whether
With the Hash values match in caching, that is to say, that server 12 inquires the cryptographic Hash of the piecemeal on fixed position in the buffer, no
Inquire the cryptographic Hash of other piecemeals in the buffer again.The neighborhood of current piecemeal can be understood as in virtual desktop image, to work as
Region centered on preceding piecemeal, within the scope of pre-determined distance.Wherein, preset value can be preset by server 12, or
It is set by user.
Continue by taking Fig. 3 as an example, server 12 calculates the cryptographic Hash of piecemeal B, inquires in the buffer identical with piecemeal B
Cryptographic Hash, at this point, server 12 is then not necessarily to calculate the cryptographic Hash of piecemeal C.
Continue by taking Fig. 3 as an example, preset value 1, if cryptographic Hash identical with piecemeal B is not found in the buffer, and
The cryptographic Hash of piecemeal C is not found in the buffer yet, then the determination of server 12 inquires the virtual desktop image in the buffer
The probability of the cryptographic Hash of middle piecemeal is lower, then server 12 can inquire piecemeal A on fixed position, piecemeal E in the buffer
Cryptographic Hash, server 12 no longer inquire the cryptographic Hash of other piecemeals in the buffer, reduce the inquiry times of server 12.
In mode two, according to the matching result of current piecemeal, the determining matching shape with current piecemeal with overlap partition
Condition can reduce the calculation amount for calculating piecemeal cryptographic Hash, and the opposite number for reducing query caching relatively, improve transfer of virtual table
The efficiency of face image.And if the quantity of miss block is excessive in the neighborhood of current piecemeal, then it represents that the virtual desktop image goes out
The probability for now hitting block is lower, need to only match at this time to the piecemeal on fixed positions several in virtual desktop image with caching
, the invalid matching times of server 12 can be reduced relatively.
It should be noted that current piecemeal herein can be understood as the piecemeal that server 12 is presently processing, it is more
Any piecemeal in a piecemeal can be seen as current piecemeal when server 12 is handled.
In the case that cryptographic Hash of the server 12 in the cryptographic Hash and caching of the current piecemeal of determination matches, step is executed
203, that is, determine current piecemeal for hit block, hit block can be understood as before server 12 be transmitted across the current piecemeal to
Client.
After the current piecemeal of determination is hit block, server 12 executes step 204, will hit the cryptographic Hash and the life of block
The middle piece of position in virtual desktop image is sent to client.The cryptographic Hash of hit block is for indexing the hit block in caching.
The hit block restores the virtual desktop image for the client later period in the position of virtual desktop image.
It is current can to obtain this after the cryptographic Hash and position for receiving hit block in the buffer according to cryptographic Hash for client
Piecemeal, and according to position, determine the current piecemeal in the position of virtual desktop image.
In the embodiment of the present application, if it is determined that when Hash values match in the cryptographic Hash and caching of current piecemeal, server
The cryptographic Hash of the current piecemeal and position can be sent to client by 12, no longer need to sending piecemeal into client, relatively
The data volume of transmission is reduced, the demand to bandwidth is reduced.
With continued reference to Fig. 3, if server 12 inquires the cryptographic Hash of piecemeal A in the buffer, indicate client before
Received mistake piecemeal identical with piecemeal A, then server 12 is by the cryptographic Hash of piecemeal A and the position in current virtual desktop picture
It sets and is sent to client.
Server 12 executes step in the unmatched situation of cryptographic Hash in the cryptographic Hash and caching of the current piecemeal of determination
205, that is, determine that current piecemeal is miss block, miss block can indicate not receiving current piecemeal before client.
After the current piecemeal of determination is miss block, server 12 executes step 206, i.e., according to current in miss block
Capable cryptographic Hash, query caching.If server 12 in the buffer in query missed block current line cryptographic Hash, server
It is transferred to step 207.If server 12 does not inquire the cryptographic Hash of current line in miss block in the buffer, server turns
Enter in step 208.
Wherein, current line refers to a line in miss block that server 12 is presently processing, and server 12 is being handled
When any a line in current block, which can be seen as current line.A line in miss block can be understood as not ordering
Width is single pixel, length region identical with the length of miss block in middle piece.
Specifically, user moves, drags, scroll operation when, the general changes locally of virtual desktop image, at this time
The cryptographic Hash of current piecemeal is not found in the buffer, but before server 12 or may be transmitted across in current piecemeal
Local data, therefore, in order to reduce 12 traffic volume of server, server 12 continues current in query missed block in the buffer
Capable cryptographic Hash.
For example, please continue to refer to Fig. 3, if server 12 determines the cryptographic Hash for not inquiring piecemeal D in the buffer, clothes
Piecemeal D is divided into multiple rows (D1, D2, D3 and D4 in c in Fig. 3) by business device 12, and server 12 calculates each in piecemeal D
Capable cryptographic Hash, and the cryptographic Hash of every a line is searched in the buffer.
As previously discussed, server 12 is inquired in the buffer in miss block in the case where the cryptographic Hash of current line, clothes
Business device executes step 207, i.e., the cryptographic Hash of current line and position in miss block is sent to client.
If indicating client specifically, server 12 inquires the cryptographic Hash of current line in miss block in the buffer
Current line in miss block was received before, and in this case, server 12 can be by the cryptographic Hash of miss block current line
It is sent to client with position of the current line in virtual desktop image, client is according to the cryptographic Hash of the current line from caching
The current line is obtained, and is gone to determine position of the current line in current virtual desktop picture according to position.
Continue by taking Fig. 3 as an example, if server 12 inquires the cryptographic Hash of D1 row in piecemeal D, server in the buffer
The cryptographic Hash of D1 row and position can be sent to client by 12.
As previously discussed, if server 12 does not inquire the cryptographic Hash of current line in miss block in the buffer, clothes
Business device executes step 208, determines current behavior character block or image block in miss block.If it is determined that current in miss block
Behavior image block, then server 12 is transferred to step 209.If it is determined that current behavior character block in miss block, then server 12
It is transferred to step 210.
Wherein, the characteristics of image that character block can be understood as current line in miss block more meets character image feature, and one
As for include white background and text in character block, therefore in character block each pixel character features distributional difference it is larger.Figure
As block distribution comparatively uniformly continuous, thus in image block each pixel characteristics of image distribution relative different it is small.Below
The mode of current behavior character block or image block in miss block is illustrated.
The first:
In step 201 above, after dividing to obtain multiple piecemeals according to image feature value, each piecemeal is being obtained
After image feature value, it can determine that each piecemeal belongs to character block or image block according to image feature value.
Specifically, being distributed if image feature value is more biased towards in character features, it is determined that the current piecemeal is character block.Such as
Fruit image feature value is more biased towards to be distributed in characteristics of image, it is determined that the current piecemeal is image block, if the current piecemeal is text
Block, it is determined that every a line in the current piecemeal belongs to character block, if the current piecemeal is image block, it is determined that current
Every a line in piecemeal belongs to image block.
The first discussed above determines in the mode of current behavior character block or image block that server is determining respectively
It while the image feature value of a piecemeal, determines that each piecemeal belongs to character block or image block, opposite can reduce server
12 treating capacity.
Second:
Server 12 obtains the image feature value of current line in miss block, if in miss block according to preset algorithm
The image feature value of current line is more biased towards the feature distribution in figure, it is determined that the current behavior character block, if image feature value
It is more biased towards and is distributed in characteristics of image, it is determined that the current behavior image block.
Since the Pixel Information that image block includes is complex, consuming memory space is relatively large, so if to belonging to
The current line of image block is divided again, on the one hand can be expended more memory space, on the other hand be inquired and work as in the buffer
The probability of forward cryptographic Hash is also little.Therefore, in the embodiment of the present application, if it is determined that current line belongs to after image block, clothes
Business device 12 executes step 209, i.e., compresses current line in miss block, current line in compressed miss block is sent
Client is sent to client, and by the cryptographic Hash of compressed miss block current line, and by compressed miss
In the cryptographic Hash write-in caching of block current line.
Client is after obtaining compressed miss block current line, to unziping it, after being decompressed not
Block current line is hit, and caching is written into the miss block current line after decompression.
Wherein, the corresponding caching of client and the corresponding caching of server 12 can be same, be also possible to difference.Together
One refers to that data are stored in together, what client and server 12 can be accessed and was written.It is hereinbefore with client
Hold access caching and server 12 access caching be it is same for be illustrated.
When the corresponding caching of client and the corresponding caching of server 12 are not same, the corresponding caching of server 12
In be stored with the cryptographic Hash of corresponding sub-block, the cryptographic Hash of corresponding line and the cryptographic Hash of respective pixel unit.Client is corresponding
The cryptographic Hash of corresponding sub-block, the cryptographic Hash of corresponding line, the cryptographic Hash and corresponding sub-block of respective pixel unit are stored in caching
Data content, the data content of corresponding line and the data content of respective pixel unit.
Wherein, compression belongs in the miss block of image block there are many modes of current line, in order to reduce bandwidth consumption clothes
The compression algorithm that business device 12 can be damaged using image is compressed.
In the second way, server 12 can determine the image feature value of current line, the image based on current line again
Characteristic value judges that current line is character block or image block again, can obtain more accurate judging result in this way.
Wherein, the redundant sub-pixels information that character block includes is more, that is to say, that inquires belong to character block in the buffer
The probability of miss block current line is larger, therefore, in the embodiment of the present application, if it is determined that current behavior character block, server
12 execute steps 210, i.e., according in miss block in current line current pixel unit cryptographic Hash, query caching.
Specifically, server 12 is if it is determined that current behavior character block, server 12 calculate the Hash of current pixel unit
Value, and the cryptographic Hash of the current pixel unit is inquired in the buffer.
Wherein, pixel unit can be is made of one or more pixels, and the size of pixel unit is less than the big of current line
It is small.Current pixel unit is the pixel unit that server 12 is presently processing.Server 12 is in processing miss block current line
In any one pixel unit when, which can be seen as current pixel unit.
For example, continuing by taking Fig. 3 as an example, server 12 does not find the cryptographic Hash of D2 row in the buffer, at this point, server
12 can be divided into D2 row multiple pixel units (D2-1, D2-2 and D2-3 as shown in d in Fig. 3), then look into the buffer
Ask the cryptographic Hash of D2-1, D2-2 and D2-3.
If inquiring the cryptographic Hash of current pixel unit in the buffer, server 12 executes step 211, it can will work as
The cryptographic Hash of preceding pixel unit and position are sent to client.
Client obtains from caching according to cryptographic Hash and deserves after the cryptographic Hash and position for receiving current pixel unit
Preceding pixel unit, and according to the position of current pixel unit, determine position of the current pixel unit in virtual desktop image.
In the case where the cryptographic Hash for inquiring current pixel unit in the buffer, it is possible that following two situation, under
Illustrated respectively in face of two kinds of situations:
A kind of situation:
The cryptographic Hash of the pixel unit is the Hash values match with some pixel unit of current piecemeal, it can be understood as when
There are two identical pixel units in preceding piecemeal, and in this case, it is inclined that the position of current pixel unit specifically includes pixel
Shifting and pixel unit length.
Wherein, pixel-shift refers to the distance of initial pixel pixel initial position into the pixel unit of current block, as
It includes how many a pixels that plain element length, which can be understood as pixel unit,.
Another situation:
The cryptographic Hash of the pixel unit is the Hash values match with some pixel unit in caching in non-present piecemeal.?
In this case, position specifically includes piecemeal mark, pixel-shift and pixel unit length.Due to the Hash of the pixel unit
Value is not to match with the cryptographic Hash of the pixel unit of current piecemeal, and therefore, server 12 also needs that the piecemeal of piecemeal will be corresponded to
Mark is sent to client, so that client can accurately obtain current pixel unit from caching.
In a kind of possible embodiment, since the size of pixel unit is smaller, it is possible that two different pixels
The case where corresponding cryptographic Hash of unit is overlapped.In this case, if server 12 has and the pixel list in determining caching
After the matched cryptographic Hash of member, cryptographic Hash and position are sent to client, client may be obtained according to the cryptographic Hash
To mistake pixel unit, therefore, in order to avoid cryptographic Hash is identical, cause client obtain mistake pixel unit the case where,
In the embodiment of the present application in server 12 before executing step 211, the current pixel unit can be inquired by determining in caching
Pixel value.
Specifically, being also stored with the pixel value of pixel unit in former frame virtual desktop images in caching, server 12 exists
After the cryptographic Hash for inquiring current pixel unit in caching, it is also necessary to which whether further determine that has and current pixel list in caching
The identical pixel value of pixel value of member, if there is, it is determined that received mistake is identical as the current pixel unit before client
Pixel unit, server executes step 211 again.
The cryptographic Hash of current pixel unit is not inquired in the buffer, or is not inquired in the buffer and current picture
The identical pixel value of the pixel value of plain unit, then server 12 executes step 212, i.e. compression current pixel unit, and will compression
Current pixel unit afterwards is sent to client, and the cryptographic Hash of compressed current pixel unit is sent to client.Visitor
After family end receives compressed current pixel unit, decompression obtains current pixel unit, and by the current pixel after the decompression
In unit write-in caching.
Wherein, the current pixel unit that compression belongs to character block can use text class encryption algorithm.Text class coding is calculated
Method such as LZ series dictionary algorithm (LZ Series Dictionary Algorithms), stroke class algorithm and entropy coding etc., this
Text does not limit the concrete type of compression algorithm.
As one embodiment, server 12 can not execute step 208 and step 209.
Specifically, it is character block or image block that server 12, which does not need to determine miss block current line, directly basis is not ordered
The cryptographic Hash of current pixel unit, query caching in middle piece of current line, if inquired in miss block current line in the buffer
The cryptographic Hash of current pixel unit and position are sent to client by the cryptographic Hash of current pixel unit.
If the cryptographic Hash of current pixel unit in miss block current line is not inquired in the buffer, to current pixel
Unit is compressed, and the cryptographic Hash of compressed current pixel unit and the compressed current pixel unit is sent to
Client.
As one embodiment, situation shown in the step 203- step 204 in Fig. 2, shown in step 208- step 209
Situation shown in situation, step 208- step 211, situation shown in step 208- step 212 are optional four kinds of situations.
Based on same inventive concept, the embodiment of the present application provides a kind of device of transfer of virtual desktop picture, the device
It is equivalent to the server 12 discussed above, referring to figure 4., which includes processing module 401 and sending module 402, in which:
Processing module 401 for dividing virtual desktop image to be transmitted to obtain multiple piecemeals, and judges multiple points
In block the cryptographic Hash of each piecemeal whether with Hash values match in caching, be determined as hitting block if matching, otherwise not order
Middle piece, and according to the cryptographic Hash of any row in miss block, query caching;
Sending module 402, if for inquiring Hash identical with the cryptographic Hash of any row in miss block in the buffer
Value, then be sent to client for the position of the cryptographic Hash of any row and any row in virtual desktop image.
In a kind of possible embodiment, processing module 401 is also used in the Hash according to any row in miss block
It is worth, after query caching, if the identical cryptographic Hash of any row in miss block is not inquired in the buffer, according to miss
In block in any row any pixel unit cryptographic Hash, query caching;
Sending module 402, if be also used to inquire in the buffer with any pixel unit in any row in miss block,
Any pixel unit cryptographic Hash and the position in virtual desktop image are sent to client;
Sending module 402, if being also used to not inquire in miss block any pixel unit in any row in the buffer,
Then any pixel unit is compressed, and compressed any pixel unit is sent to client, so that the client
The compressed any pixel unit is decompressed, and caches the compressed any pixel unit after decompression.
In a kind of possible embodiment, processing module 401 is also used to:
According in miss block in any row any pixel unit cryptographic Hash, before query caching, determine miss
Any row belongs to character block in block.
In a kind of possible embodiment, processing module 401 is also used to:
By any pixel unit cryptographic Hash and before the position in virtual desktop image is sent to client, determine
The pixel value of any pixel unit in any row in miss block is inquired in caching.
In a kind of possible embodiment, processing module 401 is also used in the Hash according to any row in miss block
It is worth, after query caching, if not inquiring the identical cryptographic Hash of any row in miss block in the buffer, and in miss block
Any row belongs to image block, and any row in miss block is compressed;
Sending module 402 is also used to compressed miss block any row being sent to client, so that the client
The compressed miss block any row is decompressed, and caches the compressed miss block any row after decompression.
In a kind of possible embodiment, processing module 401 is specifically used for:
If the Hash values match in multiple piecemeals in the cryptographic Hash and caching of any piecemeal, it is determined that with any piecemeal part
The piecemeal of overlapping is hit block;
If the cryptographic Hash in multiple piecemeals in the cryptographic Hash and caching of any piecemeal mismatches, judgement is deposited with any piecemeal
Partly overlapping piecemeal cryptographic Hash whether with the Hash values match in caching;
If determining and appointing there are the cryptographic Hash mismatch in the cryptographic Hash and caching of partly overlapping piecemeal with any piecemeal
One piecemeal is miss block there are partly overlapping piecemeal;
Whether if the total number of the miss block in the neighborhood of any piecemeal is greater than preset value, inquire has in the buffer
With the identical cryptographic Hash of cryptographic Hash of corresponding piecemeal on fixed position preset in virtual desktop image.
In a kind of possible embodiment, processing module 401 is specifically used for:
Determine the image feature value of virtual desktop image;
According to the image feature value of virtual desktop image, virtual desktop image is divided according to Pixel Dimensions not of the same race
Obtain multiple piecemeals;Wherein, the image feature value of each piecemeal is within a preset range in multiple piecemeals.
Based on same inventive concept, the embodiment of the present application provides a kind of device of transfer of virtual desktop picture, the device
It is equivalent to the server 12 discussed above, referring to figure 5., which includes processor 501 and memory 502, in which:
Memory 502 is stored with the instruction that can be executed by processor 501, and processor 501 is stored by executing memory 502
Instruction realize such as the method in Fig. 2.
As one embodiment, the processing module 401 in Fig. 4 can be realized by the processor 501 in Fig. 5.
It should be noted that be in Fig. 5 by taking a processor 501 as an example, but do not limit actually processor 501
Number.
Based on same inventive concept, the embodiment of the present application provides a kind of computer readable storage medium, computer-readable
Storage medium is stored with computer instruction, when computer instruction is run on computers, so that computer is executed as in Fig. 2
Method.
It should be understood by those skilled in the art that, embodiments herein can provide as method, system or computer program
Product.Therefore, complete hardware embodiment, complete software embodiment or reality combining software and hardware aspects can be used in the application
Apply the form of example.Moreover, it wherein includes the computer of computer usable program code that the application, which can be used in one or more,
The computer program implemented in usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) produces
The form of product.
The application is referring to method, the process of equipment (system) and computer program product according to the embodiment of the present application
Figure and/or block diagram describe.It should be understood that every one stream in flowchart and/or the block diagram can be realized by computer program instructions
The combination of process and/or box in journey and/or box and flowchart and/or the block diagram.It can provide these computer programs
Instruct the processor of general purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices to produce
A raw machine, so that being generated by the instruction that computer or the processor of other programmable data processing devices execute for real
The device for the function of being specified in present one or more flows of the flowchart and/or one or more blocks of the block diagram.
These computer program instructions, which may also be stored in, is able to guide computer or other programmable data processing devices with spy
Determine in the computer-readable memory that mode works, so that it includes referring to that instruction stored in the computer readable memory, which generates,
Enable the manufacture of device, the command device realize in one box of one or more flows of the flowchart and/or block diagram or
The function of being specified in multiple boxes.
These computer program instructions also can be loaded onto a computer or other programmable data processing device, so that counting
Series of operation steps are executed on calculation machine or other programmable devices to generate computer implemented processing, thus in computer or
The instruction executed on other programmable devices is provided for realizing in one or more flows of the flowchart and/or block diagram one
The step of function of being specified in a box or multiple boxes.
Although the preferred embodiment of the application has been described, it is created once a person skilled in the art knows basic
Property concept, then additional changes and modifications can be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as
It selects embodiment and falls into all change and modification of the application range.
Obviously, those skilled in the art can carry out various modification and variations without departing from the essence of the application to the application
Mind and range.In this way, if these modifications and variations of the application belong to the range of the claim of this application and its equivalent technologies
Within, then the application is also intended to include these modifications and variations.
Claims (16)
1. a kind of method of transfer of virtual desktop picture characterized by comprising
It divides virtual desktop image to be transmitted to obtain multiple piecemeals;
Judge each piecemeal in multiple piecemeals cryptographic Hash whether with Hash values match in caching, if matching if be determined as hitting
Otherwise block is miss block;
According to the cryptographic Hash of any row in the miss block, the caching is inquired;
If inquiring cryptographic Hash identical with the cryptographic Hash of any row in the miss block in the caching, described will appoint
The position of the cryptographic Hash of a line and any row in the virtual desktop image is sent to client.
2. the method as described in claim 1, which is characterized in that in the cryptographic Hash according to any row in the miss block, look into
After asking the caching, comprising:
If not inquiring cryptographic Hash identical with any row in the miss block in the caching, do not ordered according to described
In middle piece in any row any pixel unit cryptographic Hash, inquire the caching;
If inquired in the caching with any pixel unit in any row in the miss block, by any pixel
The position of unit cryptographic Hash and any pixel unit in the virtual desktop image is sent to client;
If any pixel unit in any row is not inquired in the miss block in the caching, by any picture
Plain unit is compressed, and the compressed any pixel unit is sent to client, so that the client decompresses institute
Compressed any pixel unit is stated, and caches the compressed any pixel unit after decompression.
3. method according to claim 2, which is characterized in that according to any pixel list in any row in the miss block
The cryptographic Hash of member, is inquired before the caching, comprising:
Determine that any row belongs to character block in the miss block.
4. method as claimed in claim 3, which is characterized in that by any pixel unit cryptographic Hash and described virtual
Position in desktop picture is sent to before client, comprising:
Determine the pixel value that any pixel unit in any row in the miss block is inquired in the caching.
5. the method as described in claim 1, which is characterized in that in the cryptographic Hash according to any row in the miss block, look into
After asking the caching, comprising:
If not inquiring the identical cryptographic Hash of any row in the miss block in the caching, and in the miss block
Any row belongs to image block, and any row in the miss block is compressed;
The compressed miss block any row is sent to the client, so that after the client decompresses the compression
Miss block any row, and cache decompression after the compressed miss block any row.
6. method a method as claimed in any one of claims 1 to 5, which is characterized in that judging the cryptographic Hash of each piecemeal in multiple piecemeals is
Hash values match in no and caching, comprising:
If the Hash values match in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal, it is determined that with any piecemeal
Partly overlapping piecemeal is hit block;
If the cryptographic Hash in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal mismatches, judge and described any point
Block there are the cryptographic Hash of partly overlapping piecemeal whether with the Hash values match in the caching;
If with any piecemeal, there are the cryptographic Hash mismatches in the cryptographic Hash of partly overlapping piecemeal and the caching, really
Fixed and any piecemeal is miss block there are partly overlapping piecemeal;
If the total number of the miss block in the neighborhood of any piecemeal is greater than preset value, inquiry is in the caching
It is no to have and the identical cryptographic Hash of cryptographic Hash of corresponding piecemeal on fixed position preset in the virtual desktop image.
7. method a method as claimed in any one of claims 1 to 5, which is characterized in that divide to obtain by virtual desktop image to be transmitted more
A piecemeal, comprising:
Determine the image feature value of the virtual desktop image;
According to the image feature value of the virtual desktop image, the virtual desktop image is carried out according to Pixel Dimensions not of the same race
Division obtains multiple piecemeals;Wherein, the image feature value of each piecemeal is within a preset range in the multiple piecemeal.
8. a kind of device of transfer of virtual desktop picture characterized by comprising
Processing module for dividing virtual desktop image to be transmitted to obtain multiple piecemeals, and judges every in multiple piecemeals
The cryptographic Hash of a piecemeal whether with Hash values match in caching, if matching if be determined as hit block, be otherwise miss block, with
And the cryptographic Hash according to any row in the miss block, inquire the caching;
Sending module, if for inquiring Hash identical with the cryptographic Hash of any row in the miss block in the caching
Value, then be sent to client for the position of the cryptographic Hash of any row and any row in the virtual desktop image.
9. device as claimed in claim 8, which is characterized in that
The processing module is also used to inquire after the caching in the cryptographic Hash according to any row in the miss block, if
Cryptographic Hash identical with any row in the miss block is not inquired in the caching, then according in the miss block
The cryptographic Hash of any pixel unit in any row, inquires the caching;
The sending module, if being also used to inquire in the caching and any pixel list in any row in the miss block
Member, then the position by any pixel unit cryptographic Hash and any pixel unit in the virtual desktop image is sent
To client;
The sending module, if being also used to not inquire in the miss block any pixel in any row in the caching
Unit then compresses any pixel unit, and the compressed any pixel unit is sent to client, with
So that the client is decompressed the compressed any pixel unit, and caches the compressed any pixel after decompression
Unit.
10. device as claimed in claim 9, which is characterized in that the processing module is also used to:
According in the miss block in any row any pixel unit cryptographic Hash, inquire before the caching, determine institute
It states any row in miss block and belongs to character block.
11. device as claimed in claim 10, which is characterized in that the processing module is also used to:
By any pixel unit cryptographic Hash and before the position in the virtual desktop image is sent to client, really
It is scheduled on the pixel value that any pixel unit in any row in the miss block is inquired in the caching.
12. device as claimed in claim 8, which is characterized in that
The processing module is also used to inquire after the caching in the cryptographic Hash according to any row in the miss block, if
The identical cryptographic Hash of any row in the miss block, and any row in the miss block are not inquired in the caching
Belong to image block, any row in the miss block is compressed;
The sending module is also used to the compressed miss block any row being sent to the client, so that described
Client decompresses the compressed miss block any row, and the compressed miss block cached after decompression is any
Row.
13. the device as described in claim 8-12 is any, which is characterized in that the processing module is specifically used for:
If the Hash values match in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal, it is determined that with any piecemeal
Partly overlapping piecemeal is hit block;
If the cryptographic Hash in the multiple piecemeal in the cryptographic Hash and caching of any piecemeal mismatches, judge and described any point
Block there are the cryptographic Hash of partly overlapping piecemeal whether with the Hash values match in the caching;
If with any piecemeal, there are the cryptographic Hash mismatches in the cryptographic Hash of partly overlapping piecemeal and the caching, really
Fixed and any piecemeal is miss block there are partly overlapping piecemeal;
If the total number of the miss block in the neighborhood of any piecemeal is greater than preset value, inquiry is in the caching
It is no to have and the identical cryptographic Hash of cryptographic Hash of corresponding piecemeal on fixed position preset in the virtual desktop image.
14. the device as described in claim 8-12 is any, which is characterized in that the processing module is specifically used for:
Determine the image feature value of the virtual desktop image;
According to the image feature value of the virtual desktop image, the virtual desktop image is carried out according to Pixel Dimensions not of the same race
Division obtains multiple piecemeals;Wherein, the image feature value of each piecemeal is within a preset range in the multiple piecemeal.
15. a kind of device of transfer of virtual desktop picture characterized by comprising
At least one processor, and
The memory being connect at least one described processor communication;
Wherein, the memory is stored with the instruction that can be executed by least one described processor, at least one described processor
Such as method of any of claims 1-7 is realized in instruction by executing the memory storage.
16. a kind of computer readable storage medium, which is characterized in that the computer-readable recording medium storage has computer to refer to
It enables, when the computer instruction is run on computers, so that computer is executed as of any of claims 1-7
Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478045.2A CN110297680B (en) | 2019-06-03 | 2019-06-03 | Method and device for transmitting virtual desktop image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478045.2A CN110297680B (en) | 2019-06-03 | 2019-06-03 | Method and device for transmitting virtual desktop image |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297680A true CN110297680A (en) | 2019-10-01 |
CN110297680B CN110297680B (en) | 2023-02-17 |
Family
ID=68027502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478045.2A Active CN110297680B (en) | 2019-06-03 | 2019-06-03 | Method and device for transmitting virtual desktop image |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297680B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111951275A (en) * | 2020-07-27 | 2020-11-17 | 新华三大数据技术有限公司 | Image transmission method and device |
CN113055540A (en) * | 2019-12-26 | 2021-06-29 | 深信服科技股份有限公司 | Image transmission method, server, system and computer readable storage medium |
CN113255488A (en) * | 2021-05-13 | 2021-08-13 | 广州繁星互娱信息科技有限公司 | Anchor searching method and device, computer equipment and storage medium |
CN113365065A (en) * | 2021-06-09 | 2021-09-07 | 湖南大学 | Lossless video coding method and decoding method for RPA robot screen recording |
CN113515229A (en) * | 2020-04-09 | 2021-10-19 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for storing data |
CN114422807A (en) * | 2022-03-28 | 2022-04-29 | 麒麟软件有限公司 | Transmission optimization method based on Spice protocol |
CN114637870A (en) * | 2022-03-14 | 2022-06-17 | 重庆大学 | Image data processing method, device, equipment and storage medium |
CN117591225A (en) * | 2023-12-05 | 2024-02-23 | 太极计算机股份有限公司 | Optimization method and system for rolling dragging window in cloud desktop |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140369413A1 (en) * | 2013-06-18 | 2014-12-18 | Vmware, Inc. | Systems and methods for compressing video data using image block matching |
CN104469395A (en) * | 2014-12-12 | 2015-03-25 | 华为技术有限公司 | Image transmission method and device |
CN106534859A (en) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | Image transmission method and device based on SPICE protocol |
CN107145340A (en) * | 2017-03-22 | 2017-09-08 | 深信服科技股份有限公司 | Virtual desktop image transfer method and device |
CN108153573A (en) * | 2017-12-26 | 2018-06-12 | 合肥中科云巢科技有限公司 | Cloud desktop picture update method and virtual machine |
-
2019
- 2019-06-03 CN CN201910478045.2A patent/CN110297680B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140369413A1 (en) * | 2013-06-18 | 2014-12-18 | Vmware, Inc. | Systems and methods for compressing video data using image block matching |
CN104469395A (en) * | 2014-12-12 | 2015-03-25 | 华为技术有限公司 | Image transmission method and device |
CN106534859A (en) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | Image transmission method and device based on SPICE protocol |
CN107145340A (en) * | 2017-03-22 | 2017-09-08 | 深信服科技股份有限公司 | Virtual desktop image transfer method and device |
CN108153573A (en) * | 2017-12-26 | 2018-06-12 | 合肥中科云巢科技有限公司 | Cloud desktop picture update method and virtual machine |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055540B (en) * | 2019-12-26 | 2023-07-14 | 深信服科技股份有限公司 | Image transmission method, server, system and computer readable storage medium |
CN113055540A (en) * | 2019-12-26 | 2021-06-29 | 深信服科技股份有限公司 | Image transmission method, server, system and computer readable storage medium |
CN113515229A (en) * | 2020-04-09 | 2021-10-19 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for storing data |
CN113515229B (en) * | 2020-04-09 | 2024-04-09 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for storing data |
CN111951275A (en) * | 2020-07-27 | 2020-11-17 | 新华三大数据技术有限公司 | Image transmission method and device |
CN113255488A (en) * | 2021-05-13 | 2021-08-13 | 广州繁星互娱信息科技有限公司 | Anchor searching method and device, computer equipment and storage medium |
CN113365065A (en) * | 2021-06-09 | 2021-09-07 | 湖南大学 | Lossless video coding method and decoding method for RPA robot screen recording |
CN113365065B (en) * | 2021-06-09 | 2024-04-26 | 湖南大学 | Lossless video coding method and decoding method for RPA robot screen recording |
CN114637870A (en) * | 2022-03-14 | 2022-06-17 | 重庆大学 | Image data processing method, device, equipment and storage medium |
CN114422807B (en) * | 2022-03-28 | 2022-10-21 | 麒麟软件有限公司 | Transmission optimization method based on Spice protocol |
CN114422807A (en) * | 2022-03-28 | 2022-04-29 | 麒麟软件有限公司 | Transmission optimization method based on Spice protocol |
CN117591225A (en) * | 2023-12-05 | 2024-02-23 | 太极计算机股份有限公司 | Optimization method and system for rolling dragging window in cloud desktop |
CN117591225B (en) * | 2023-12-05 | 2024-06-11 | 太极计算机股份有限公司 | Optimization method and system for rolling dragging window in cloud desktop |
Also Published As
Publication number | Publication date |
---|---|
CN110297680B (en) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297680A (en) | A kind of method and device of transfer of virtual desktop picture | |
US9569742B2 (en) | Reducing costs related to use of networks based on pricing heterogeneity | |
US9860316B2 (en) | Routing network traffic based on social information | |
JP4336583B2 (en) | How to send objects between server and client terminal | |
CN114861911B (en) | Deep learning model training method, device, system, equipment and medium | |
CN111338806B (en) | Service control method and device | |
CN110703980A (en) | File transmission method and device | |
CN110166541B (en) | Rendering method based on block chain, related equipment and system | |
CN108074210B (en) | Object acquisition system and method for cloud rendering | |
CN108345643A (en) | A kind of data processing method and device | |
CN113368492A (en) | Rendering method and device | |
CN115880133B (en) | Graphics processing unit and terminal device | |
JPH1027165A (en) | Distributed information service system | |
CN107181774B (en) | Data movement between distributed data centers | |
CN111951275A (en) | Image transmission method and device | |
US9324177B2 (en) | Generation of intermediate images for texture compression | |
CN109302449A (en) | Method for writing data, method for reading data, device and server | |
JP2013105204A (en) | Image display system | |
CN105727556B (en) | A kind of method of Image Rendering, relevant device and system | |
CN109076110B (en) | Image transmission method, image transmission device and storage medium | |
CN110958212A (en) | Data compression method, data decompression method, device and equipment | |
WO2024021470A1 (en) | Cross-region data scheduling method and apparatus, device, and storage medium | |
CN109981755A (en) | Image-recognizing method, device and electronic equipment | |
CN104378396A (en) | Data management device and method | |
Hasper et al. | Remote execution vs. simplification for mobile real-time computer vision |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |