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 PDF

Info

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
Application number
CN201910478045.2A
Other languages
Chinese (zh)
Other versions
CN110297680B (en
Inventor
陈小芬
何耀
林旭
游乔贝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201910478045.2A priority Critical patent/CN110297680B/en
Publication of CN110297680A publication Critical patent/CN110297680A/en
Application granted granted Critical
Publication of CN110297680B publication Critical patent/CN110297680B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits 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/32358Circuits 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/32363Circuits 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth 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

A kind of method and device of transfer of virtual desktop picture
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.
CN201910478045.2A 2019-06-03 2019-06-03 Method and device for transmitting virtual desktop image Active CN110297680B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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