CN106817386B - Data processing method and system for remote service under multiple sessions - Google Patents

Data processing method and system for remote service under multiple sessions Download PDF

Info

Publication number
CN106817386B
CN106817386B CN201510854163.0A CN201510854163A CN106817386B CN 106817386 B CN106817386 B CN 106817386B CN 201510854163 A CN201510854163 A CN 201510854163A CN 106817386 B CN106817386 B CN 106817386B
Authority
CN
China
Prior art keywords
compressed
data
check value
session
cache
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.)
Active
Application number
CN201510854163.0A
Other languages
Chinese (zh)
Other versions
CN106817386A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510854163.0A priority Critical patent/CN106817386B/en
Priority to PCT/CN2016/099588 priority patent/WO2017088571A1/en
Publication of CN106817386A publication Critical patent/CN106817386A/en
Application granted granted Critical
Publication of CN106817386B publication Critical patent/CN106817386B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A data processing method and system for remote service under multiple sessions are provided to improve the performance of a server. In some possible embodiments of the invention, the method comprises: acquiring data to be compressed of the application in the first session; calculating a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application.

Description

Data processing method and system for remote service under multiple sessions
Technical Field
The invention relates to the technical field of communication, in particular to a data processing method and a data processing system for remote services under multiple sessions.
Background
Currently, Windows (Windows) system-based multi-session Remote desktop services (also known as Remote desktop services, RDS for short) or application virtualization has become very popular. In a remote desktop service or an application virtualization service, a remote related image is generally processed by a compression algorithm to save bandwidth, the compression process is a main consumption of a server side, and the general compression algorithm includes: lossless compression algorithms such as zlib, lossy compression algorithms such as jpeg, video-like compression algorithms such as h.264, etc.
Practice finds that, because a plurality of sessions exist at the server side, each session is processing the compression-related tasks, data in different sessions may be repeated, and the compression tasks are performing repeated calculation, which results in relatively low performance at the server side.
Disclosure of Invention
The embodiment of the invention provides a data processing method and a data processing system for remote services under multiple sessions, which are used for improving the performance of a server.
The first aspect of the present invention provides a data processing method for a remote service under multiple sessions, where a cache management device and multiple sessions run in a server providing the remote service, a first session is any session in the multiple sessions, the multiple sessions can access the cache management device, and the cache management device includes a compressed data cache mapping module; the method comprises the following steps: acquiring data to be compressed of the application in the first session; calculating a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application.
In the technical scheme, a cache management device comprising a compressed data cache mapping module is operated on a server for providing remote service, a plurality of sessions operated on the server can access the cache management device, when a certain session needs to compress data, the server firstly queries the compressed data cache mapping module by using a check value of the data to be compressed, and if corresponding compressed data exists, the compressed data is directly obtained without compression; if the corresponding compressed data does not exist, the compressed data is compressed, and the obtained compressed data is stored in the compressed data cache mapping module for other sessions to access, so that the same data only needs to be compressed once, duplicate removal calculation is realized, the situation that a plurality of sessions in the server repeatedly perform the same compressed calculation processing is avoided, and the performance of the server end is improved.
In a first possible implementation manner, the querying, according to the check value of the data to be compressed, whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module includes: inquiring whether compressed data corresponding to the compressed data of the compression type exists in the compressed data cache mapping module or not according to the compression type required by the application in the first session and the check value of the compressed data; the compressing the data to be compressed comprises: and compressing the data to be compressed according to the compression type. By performing operations such as query and compression according to the compression type, a more refined processing mode can be realized, and the specific requirements of the application can be further met.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner, the cache management device is code-driven, the obtaining step may be performed by the first session, and other steps may be performed by the code-driven.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a third possible implementation manner, the cache management device is code-driven, the obtaining step and the calculating step may be performed by the first session, and other steps may be performed by the code-driven.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a fourth possible implementation manner, the cache management device is an encoding driver, the storing step may be performed by the encoding driver, and other steps may be performed by the first session.
In the above several implementation manners, which operations are performed in the session and which operations are performed in the cache management device may be configured according to specific situations, so as to meet more flexible actual requirements. For example, the benefit of calculating the check value inside the session is: the applied logic may already utilize the check value, such as the CRC value, calculation of the picture waiting for compression data, which may reduce the resource overhead.
The second aspect of the present invention provides a data processing system for remote services under multiple sessions, where a cache management device and multiple sessions run in a server for providing remote services, a first session is any session in the multiple sessions, and the multiple sessions can access the cache management device, where the cache management device includes a compressed data cache mapping module; the system comprises: an obtaining module, configured to obtain data to be compressed of an application in the first session; the processing module is used for calculating a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application.
In a first possible implementation manner, the processing module is further configured to: inquiring whether compressed data corresponding to the compressed data of the compression type exists in the compressed data cache mapping module or not according to the compression type required by the application in the first session and the check value of the compressed data; and compressing the data to be compressed according to the compression type. The operation such as query and compression is carried out according to the compression type, so that a more refined processing mode is realized, and the application requirement is further met.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner, the cache management device is a coded driver, the obtaining module is deployed in the first session, and the processing module is deployed in the coded driver.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a third possible implementation manner, the cache management device is a coded driver, and the obtaining module is deployed in the first session; the processing module comprises: the computing unit can be in the first session, and the querying unit and the encoding unit can be deployed in the encoding driver.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a fourth possible implementation manner, the cache management device is a cache driver, the obtaining module is deployed in the first session, and the processing module includes: the device comprises a computing unit, a query unit, an encoding unit and a storage unit, wherein the computing unit, the query unit and the encoding unit can be deployed in the first session, and the storage unit can be deployed in the encoding driver.
In the above several implementation manners, which units are configured in the session and which operations are performed may be configured according to specific situations, and which units are configured in the cache management device and which operations are performed, so as to meet more flexible actual requirements. For example, the benefit of calculating the check value inside the session is: the applied logic may already utilize the check value, such as the CRC value, calculation of the picture waiting for compression data, which may reduce the resource overhead.
A third aspect of the invention provides a computer device comprising a processor, a memory, a bus; the memory is used for storing a program, the processor is connected with the memory through the bus, and when the computer device runs, the processor executes the program stored in the memory, so that the computer device executes the data processing method of the remote service under the multi-session according to the first aspect of the invention.
As can be seen from the above, in some feasible embodiments of the present invention, a plurality of sessions share one cache management device, and compressed data applied in each session is stored in the cache management device for sharing by each session, so that the same data only needs to be compressed once to satisfy the use of a plurality of sessions, thereby implementing deduplication calculation, avoiding that a plurality of sessions in a server repeatedly perform the same compression calculation processing, and improving the performance of the server.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the embodiments and the drawings used in the description of the prior art, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
FIG. 1 is a system architecture for a remote desktop/remote application service implementation under Windows multisession;
FIG. 2 is a system architecture diagram of a server in one embodiment of the invention;
fig. 3 is a flowchart illustrating a data processing method for a remote service under multiple sessions according to an embodiment of the present invention;
FIG. 4 is a system architecture diagram of a server in accordance with an exemplary embodiment of the present invention;
FIG. 5 is a system architecture diagram of a server according to a second exemplary embodiment of the present invention;
FIG. 6 is a system architecture diagram of a server in a third example of the present invention;
FIG. 7 is a block diagram of a data processing system for remote services under multiple sessions according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a computer device according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," "third," and the like in the description and in the claims, and in the above-described drawings, are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
The technical scheme of the embodiment of the invention is applied to the server for providing the remote service, and the server can be a server based on a Windows system, a server based on a Linux system or a server based on other systems. The remote service includes a remote desktop service and a remote application service, for example, a Windows server, which may provide the remote desktop service using RDS function or may provide the remote application service using application virtualization function.
The technical principle of the remote desktop service is that a plurality of sessions are run on a server, a user can remotely log in one of the sessions on a client, and an application program is run on the server. The server transmits the graphical user interface to the client, which transmits the user's input back to the server. When the remote desktop service is used, the whole desktop environment of the server can be provided for the user, or only a single application program and data can be provided for the user. From the user's perspective, these applications are seamlessly integrated-the interface, feel, and behavior are not different from the native program.
The technical principle of application virtualization is to isolate the human-computer interaction logic of an application program from the computational logic. When a user accesses an application virtualized by a server, the user computer only needs to transmit the human-computer interaction logic to the server side, the server side sets an independent session space for the user, the computing logic of the application program runs in the session space, the changed human-computer interaction logic is transmitted to the client side and is displayed on corresponding equipment of the client side, and therefore the user can obtain the same access feeling as that of running a local application program.
As shown in fig. 1, a system architecture related to Display (Display) of a Server (Server) in a process of implementing a remote desktop/remote application service under Windows multiple sessions is simply shown, where a Windows Server runs multiple sessions (sessions), which are respectively represented by Session 1 and Session 2. Session may run a plurality of applications, represented by applications 1, 2, 3, etc.
In order to avoid that multiple sessions in a server repeatedly perform the same compression calculation processing and improve the performance of a server side, embodiments of the present invention provide a data processing method and system for remote services under multiple sessions. The following are detailed descriptions of the respective embodiments.
(example one)
The first embodiment of the invention provides a data processing method of remote services under multiple sessions, which is used for providing a server of the remote services, wherein the remote services comprise at least one of remote desktop services and remote application services.
As shown in fig. 2, is a system architecture diagram of a server. The server runs a cache management device and a plurality of sessions (sessions), wherein the sessions comprise a first Session, the first Session is any one of the sessions, the plurality of sessions can access the cache management device, and the cache management device comprises a compressed data cache mapping module. The compressed data cache mapping module stores compressed data, and each session can call the cache management device to access the compressed data cache mapping module. Wherein each session may be provided to a user who may remotely log into a server-provided session at a client machine to operate an application in the server session as a local application. It should be noted that the compressed data stored in the compressed data cache mapping module is compressed data corresponding to data to be compressed of the application with multiple sessions.
Referring to fig. 3, a data processing method for a remote service under multiple sessions according to an embodiment of the present invention may include:
301. and acquiring the data to be compressed of the application in the first session, and calculating the check value of the data to be compressed.
In response to the remote operation of the user, when an application in the first session needs to perform data compression, in the embodiment of the present invention, the server does not directly compress the data to be compressed any more, but calculates the check value of the data to be compressed. The check value is used as a unique identifier of the data to be compressed, and is used for identifying the data to be compressed and identifying the compressed data obtained after the data to be compressed is compressed.
Since there are multiple compression algorithms, one compressed data may have a plurality of compressed data of different compression types, and therefore, the check value of one data to be compressed may correspond to the compressed data of the plurality of different compression types of the data to be compressed. Optionally, if an application that needs data compression in the first session has a requirement for a compression type, the server in this step further obtains the compression type required by the application in the first session, such as lossless algorithm compression, e.g., zlib, lossy algorithm compression, e.g., jpeg, and video-type compression algorithm compression, e.g., h.264.
In some embodiments, the check value may specifically adopt a Cyclic Redundancy Check (CRC) value. CRC is one of the most commonly used error checking codes in the field of data communications. In other embodiments, other types of check values may be used. The specific type of check value is not limited herein as long as it can be used for uniquely identifying the data to be compressed.
It should be noted that, in this document, the data to be compressed may be data in various formats such as images, videos, texts, and the like, and mainly image data.
302. And inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed.
In the embodiment of the invention, the compressed data generated by each session in the server is uniformly stored in the compressed data cache mapping module. When an application in the first session needs data compression, it is likely that corresponding compressed data (compressed by other sessions) already exists in the compressed data cache mapping module. In this step, after the check value of the to-be-compressed data applied in the first session is obtained through calculation, the check value is used to query in a compressed data cache mapping module so as to query whether compressed data corresponding to the to-be-compressed data already exists.
The compressed data cache mapping module generally needs to store the compressed data and the corresponding check value, that is, not only the check value and the compressed data but also the corresponding relationship between the check value and the compressed data. In some embodiments, the compressed data cache mapping module may exist in the form of a mapping table. The cache management means may manage the mapping table. Referring to table 1 below, a diagram of a mapping table is shown.
TABLE 1
Check value Compressed data
001 Data A
010 Data B
The polling operation of this step may be performed by the cache management apparatus, for example. A session is typically not allowed to directly access a common memory space, such as the mapping table, due to the need to maintain independence between sessions. However, a plurality of sessions can access the cache management apparatus, and the cache management apparatus performs an access operation on the mapping table. For a Windows server, the cache management device may be implemented by one driver, for a Linux server, the cache management device may be implemented by one driver, or may be implemented by one user mode process, or may be implemented by another user mode process, and the specific implementation manner of the cache management device is not limited herein.
Optionally, if an application that needs to perform data compression in the first session has a requirement on a compression type, in this step, it may be specifically queried, according to the compression type required by the application in the first session and the check value of the data to be compressed, whether compressed data of the compression type and corresponding to the data to be compressed exists in the compressed data cache mapping module.
In some embodiments, the cache management apparatus may include a plurality of compressed data cache mapping modules, where each compressed data cache mapping module is configured to store compressed data of one compression type, for example, as shown in fig. 2, a compressed data cache mapping module 1 and a compressed data cache mapping module 2 are respectively configured to store compressed data of different compression types.
303. And if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application.
When the query result is present, it indicates that the compressed data corresponding to the data to be compressed is queried in the compressed data cache mapping module, so that the data to be compressed in the first session may not be compressed any more, but the queried compressed data corresponding to the data to be compressed is directly returned to the application in the first session. Thus, duplicate compression calculations between sessions are avoided.
304. If the query result is that the data to be compressed does not exist, the data to be compressed is compressed to obtain compressed data corresponding to the data to be compressed, the check value of the data to be compressed and the compressed data corresponding to the data to be compressed are stored in the compressed data cache mapping module, and the compressed data corresponding to the obtained data to be compressed are returned to the application.
When the query result is that the query result does not exist, it indicates that there is no corresponding compressed data in the compressed data cache mapping module, and then the server compresses the data to be compressed in the first session, and performs two kinds of processing on the obtained compressed data, on one hand, the obtained compressed data corresponding to the data to be compressed is returned to the application in the first session, and on the other hand, the check value of the data to be compressed and the compressed data corresponding to the data to be compressed are stored in the compressed data cache mapping module, so that when the compressed data is needed in other subsequent sessions, the data can be directly obtained from the compressed data cache mapping module without repeating the compression calculation.
Optionally, if the application that needs to perform data compression in the first session has a requirement on the compression type, in this step, when the server compresses the data to be compressed in the first session, the data to be compressed needs to be compressed according to the compression type.
The step of storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module may specifically be: and storing the check value of the data to be compressed, the compressed data of the data to be compressed and the corresponding relation between the check value and the compressed data into the compressed data cache mapping module.
It can be understood that the above-described scheme of the embodiment of the present invention may be specifically implemented in, for example, a Windows server, a Linux server, or an Android (Android) server.
As can be seen from the above, in the technical solution, a cache management device including a compressed data cache mapping module is operated on a server for providing a remote service, a plurality of sessions operated on the server can access the cache management device, when a certain session needs to compress data, the server first queries the compressed data cache mapping module by using a check value of the data to be compressed, and if corresponding compressed data already exists, the compressed data is directly obtained without compression processing; if the corresponding compressed data does not exist, the compressed data is compressed, and the obtained compressed data is stored in the compressed data cache mapping module for other sessions to access, so that the same data only needs to be compressed once, duplicate removal calculation is realized, the situation that a plurality of sessions in the server repeatedly perform the same compressed calculation processing is avoided, and the performance of the server end is improved.
In order to better understand the technical solutions provided by the embodiments of the present invention, the technical solutions of the embodiments of the present invention are described below by taking the implementation modes in specific scenarios as examples.
Scene example one,
Referring to fig. 4, taking a Server as a Windows Server as an example, fig. 4 shows a multi-session system architecture and a data processing flow of the Windows Server. The Windows Server runs a plurality of sessions such as session 1 and session 2, and also runs a cache management device, which is specifically an encoding Driver (Encode Driver). The plurality of sessions includes a first session (e.g., session 1) that is any one of the plurality of sessions. The plurality of sessions can access the coding driver, and the coding driver comprises a Compressed data cache mapping module (Compressed cache map), which is called cache mapping module for short, and Compressed data (Compressed data) is stored in the cache mapping module. Optionally, the cache mapping module may include one or more, and when the cache mapping module includes a plurality of cache mapping modules, different cache mapping modules may be used to store compressed data of different compression types.
Each session may run a Remote Display module (Remote Display Model) for enabling interaction with the client, and the human-computer interaction logic performed by the user at the client is transferred to the Remote Display module in the session, and the Remote Display module executes the corresponding computation logic.
The method of the embodiment of the invention can be completed by the cooperation of the remote display module and the coding driver. Wherein the content of the first and second substances,
the remote display module in the first session acquires data to be compressed of the application in the first session;
the coding driver calculates the check value of the data to be compressed according to the check value of the data to be compressed, and inquires whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; if the query result is that the data to be compressed does not exist, the data to be compressed is compressed to obtain compressed data corresponding to the data to be compressed, the check value of the data to be compressed and the compressed data corresponding to the data to be compressed are stored in the compressed data cache mapping module, and the compressed data corresponding to the obtained data to be compressed are returned to the application.
As shown in fig. 4, the specific process of the data processing method is as follows:
1. an interface function is called in the remote display module in the first session to compress the compressed data (typically image data). The Interface function is, for example, an API (Application Programming Interface). An API is a predefined function that aims to provide applications and developers the ability to access a set of routines based on certain software or hardware, without having to access source code or understand the details of internal working mechanisms. The encoding driver may be called, for example, through a Compression interface function (Compression API).
2. The interface function is actually called into the code Driver (the code Driver may be a Windows Driver that can be accessed by multiple sessions).
3. In the encoding drive, the data to be compressed is calculated with a CRC value (or other check value indicating uniqueness), and whether compressed data corresponding to the data to be compressed already exists is queried from the compressed data cache mapping module through the CRC value. It should be noted that, the Compression Cache Map stores the CRC value of the data to be compressed and the corresponding compressed data, and since there may be multiple Compression algorithms during Compression, multiple Compression Cache maps may be used to Cache compressed data obtained by different Compression algorithms, or one CRC in one Compression Cache Map may be used to correspond to multiple compressed data of different Compression types, and in fact, developers may easily implement different data structures.
There are two flow branches depending on whether the corresponding compressed data is queried.
Branch 1, inquiring that there is corresponding compressed data, then executing the following steps:
4. and if the query result is that the compressed data corresponding to the data to be compressed exists, the coding driver acquires the queried compressed data from the compressed data cache mapping module.
5. The coding driver directly returns the inquired compressed data to the interface function called by the remote display module, and returns the compressed data to the application in the first session through the interface function.
And branch 2, if the query result shows that no corresponding compressed data exists, executing the following steps:
4and if the query result indicates that the compressed data corresponding to the data to be compressed does not exist, the coding driver compresses the data to be compressed to obtain the compressed data.
5And the coding driver stores the check value with the compressed data and the obtained compressed data into the compressed data cache mapping module. The compressed data cache mapping module has a certain size limited by resources, and optionally, if the stored data exceeds a certain upper limit, a certain algorithm, such as a "most recently used" algorithm, may be used to delete old data and store new data.
6And the coding driver acquires compressed data obtained by compression.
7And returning the obtained compressed data to an interface function called by the remote display module, and returning the compressed data to the application in the first session through the interface function.
It should be noted that, for Windows Server, the above mentioned Encode Driver is currently most suitable to be implemented by a Driver in a Windows kernel state, because the Driver can accept multiple session accesses, but actually it is also possible to be implemented as a user-state process, and the cache management apparatus can also be implemented by commonly used shared memory and global pipeline communication technologies.
Example two,
Referring to fig. 5, taking a Server as a Windows Server as an example, fig. 5 shows another multi-session system architecture and data processing flow of the Windows Server.
Unlike the first scenario, the step of calculating the check value is executed from the encoding driver in the first scenario, and is changed to be executed in a session. Namely:
the remote display module in the first session acquires data to be compressed of the application in the first session and calculates a check value of the data to be compressed;
the coding driver inquires whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; if the query result is that the data to be compressed does not exist, the coding driver compresses the data to be compressed to obtain compressed data corresponding to the data to be compressed, stores the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returns the obtained compressed data corresponding to the data to be compressed to the application.
It can be seen that in the present scenario example, the position of calculating the check value, for example, the CRC value, is moved to before the interface function is called, that is, the check calculation is completed in the application logic of the first session, not in the encoding driver. For other operations, it is completely the same as the first scenario, please refer to the description in the first scenario, and detailed description is omitted here.
The advantage of the scenario for calculating the check value in the application logic is as follows: the applied logic may already perform CRC value calculation on the picture, just to utilize, which may reduce resource overhead.
Example III,
Referring to fig. 6, taking a Server as a Windows Server as an example, fig. 6 shows another multi-session system architecture and data processing flow of the Windows Server. The difference between the system architecture and the scenario example one is that in the scenario example, the Cache management device is specifically a Cache Driver (Cache Driver), and other parts are the same as the scenario example one, and are not described herein again.
The difference between the data processing flow and the scenario example one is as follows: and calculating a check value, inquiring compressed data, performing data compression and the like, and moving to a session for performing the operations. Specifically, the method comprises the following steps:
the remote display module in the first session acquires data to be compressed of the application in the first session and calculates a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, acquiring the queried compressed data corresponding to the data to be compressed from the cache driver, and returning the queried compressed data corresponding to the data to be compressed to the application; if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, and returning the compressed data corresponding to the obtained data to be compressed to the application;
and the cache driver stores the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module.
As shown in fig. 6, the specific process of the data processing method is as follows:
1. an interface function such as a compression interface function (compression api) is called in the remote display module in the first session, and a CRC value of data to be compressed is calculated so as to compress the compressed data (typically, image data).
2. The Compression API call queries whether an interface function (Check data exist API) exists for the data.
3. The Check data exist API calls a cache driver.
4. And the Check data exist API inquires whether compressed data corresponding to the CRC value already exists in a cache-driven compressed data cache mapping module according to the CRC value of the data to be compressed.
There are two flow branches depending on whether the corresponding compressed data is queried.
Branch 1, inquiring that there is corresponding compressed data, then executing the following steps:
5. if the query result is present, the Check data exist API calls the Get data API (Get data interface function).
6. And calling the cache drive by the Get data API, and obtaining the inquired compressed data from the cache drive.
7. The Get data API returns the obtained compressed data to the compression interface function, and returns the compressed data to the application in the first session through the compression interface function.
And branch 2, if the query result shows that no corresponding compressed data exists, executing the following steps:
3and if the query result is that no corresponding compressed data exists, the Check data exist API instructs a data coding (Encode data) module in the remote display module to compress the data to be compressed to obtain the compressed data.
4And the Check data exist API calls the Set data API (Set data interface function).
5And the Set data API stores the compressed data obtained by compression into a compressed data cache mapping module.
6And the Encode data module returns the compressed data obtained by compression to the compression interface function, and returns the compressed data to the application in the first session through the compression interface function.
Compared with the first scenario, in the first scenario, the logic part for querying whether the compressed data exists, the logic part in the compression process, and the like are transplanted outside the encoder driver, that is, more things need to be done in the application, but the flexibility is higher, and the encoder driver becomes a cache driver.
In summary, the method of the embodiment of the present invention is further described with several scenario examples.
It should be noted that the present invention may have various implementation schemes, but the overall idea is to recalculate resource consumption in a similar Cache (Cache) manner. The storage of the Cache can be a pure memory, or an SSD can be added to be used as a secondary Cache, and the distributed storage can also help the Cache greatly. This approach should work well for a single business scenario, and the application virtualization is originally for dealing with such a scenario, such as video education (almost all people looking), especially real-time remote education for multiple online users, where the picture content may be much the same.
(example two) in order to better implement the above-mentioned solution of the embodiment of the present invention, the following also provides a related apparatus for implementing the above-mentioned solution cooperatively.
Referring to fig. 7, an embodiment of the present invention provides a data processing system for remote services under multiple sessions, where a cache management device and multiple sessions run in a server for providing remote services, a first session is any session in the multiple sessions, and the multiple sessions can access the cache management device, where the cache management device includes a compressed data cache mapping module; the system may include:
an obtaining module 701, configured to obtain data to be compressed of an application in the first session;
a processing module 702, configured to calculate a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application.
In some embodiments of the present invention, the processing module 702 is further configured to: inquiring whether compressed data corresponding to the compressed data of the compression type exists in the compressed data cache mapping module or not according to the compression type required by the application in the first session and the check value of the compressed data; and compressing the data to be compressed according to the compression type.
In some embodiments of the present invention, the cache management apparatus is specifically a code driver, and the obtaining module 701 is disposed in the first session; the processing module 702 is deployed in the encoded driver; referring to fig. 4, the processing module 702 may include:
the calculating unit is used for calculating a check value of the data to be compressed;
the query unit is used for querying whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application;
the encoding unit is used for compressing the data to be compressed if the query result is that the data to be compressed does not exist, so as to obtain compressed data corresponding to the data to be compressed;
the query unit is further configured to, if the query result is that the check value of the data to be compressed and the compressed data corresponding to the data to be compressed do not exist, store the check value of the data to be compressed and the compressed data corresponding to the data to be compressed in the compressed data cache mapping module, and return the compressed data corresponding to the data to be compressed to the application.
In some embodiments of the present invention, the cache management apparatus is specifically a code driver, and the obtaining module 701 is disposed in the first session; referring to fig. 5, the processing module 702 may include:
the calculation unit is deployed in the first session and used for calculating a check value of the data to be compressed;
the query unit is deployed in the coding driver and used for querying whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application;
the coding unit is deployed in the coding driver and used for compressing the data to be compressed if the query result is that the data to be compressed does not exist, so that compressed data corresponding to the data to be compressed is obtained;
the query unit is further configured to, if the query result is that the check value of the data to be compressed and the compressed data corresponding to the data to be compressed do not exist, store the check value of the data to be compressed and the compressed data corresponding to the data to be compressed in the compressed data cache mapping module, and return the compressed data corresponding to the data to be compressed to the application.
In some embodiments of the present invention, the cache management apparatus is specifically a cache driver, and the obtaining module 701 is deployed in the first session; referring to fig. 6, the processing module 702 may include:
the calculation unit is deployed in the first session and used for calculating a check value of the data to be compressed;
the query unit is deployed in the first session and used for querying whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, acquiring the queried compressed data corresponding to the data to be compressed from the cache driver, and returning the queried compressed data corresponding to the data to be compressed to the application;
the encoding unit is deployed in the first session and used for compressing the data to be compressed if the query result is that the data to be compressed does not exist, so that compressed data corresponding to the data to be compressed is obtained;
the storage unit is deployed in the cache drive and used for storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module;
and the query unit is further configured to return the compressed data corresponding to the data to be compressed to the application if the query result is that the compressed data does not exist.
It can be understood that the functions of each functional module of the data processing system according to the embodiment of the present invention may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description in the foregoing method embodiment, which is not described herein again.
As can be seen from the above, in some possible embodiments of the present invention, a cache management device including a compressed data cache mapping module is run on a server for providing a remote service, a plurality of sessions can access the cache management device, when a certain session needs to compress data, the server first queries the compressed data cache mapping module by using a check value of the data to be compressed, and if corresponding compressed data already exists, the compressed data is directly obtained without compression processing; if the corresponding compressed data does not exist, the compressed data is compressed, and the obtained compressed data is stored in the compressed data cache mapping module for other sessions to access, so that the same data only needs to be compressed once, duplicate removal calculation is realized, the situation that a plurality of sessions in the server repeatedly perform the same compressed calculation processing is avoided, and the performance of the server end is improved.
(example III)
Referring to fig. 8, an embodiment of the present invention further provides a computer apparatus 800, which may include:
a processor 801, a memory 803, a bus 804;
the memory 803 is used for storing a program 805, the processor 801 is connected to the memory 803 through the bus 804, and when the computer device 800 runs, the processor 801 executes the program 805 stored in the memory 810, so that the computer device 800 executes the data processing method of the remote desktop or remote application service under multiple sessions according to the above method embodiment.
The computer device 800 may further include a communication interface 802, where the communication interface 802 is configured to receive and transmit data.
The bus 804 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into one or more of an address bus, a data bus, and a control bus. For ease of illustration, only one thick line is shown in FIG. 8, but this is not intended to represent only one bus or type of bus.
The memory 803 is used to store executable program code, including computer operating instructions. The memory 803 may include a high-speed ram (ramdom Access memory) memory. Optionally, the memory 803 may further include a non-volatile memory (non-volatile memory). The memory 803 may comprise disk storage, for example.
The processor 801 may be a Central Processing Unit (CPU), or the processor 801 may be an Application Specific Integrated Circuit (ASIC), or the processor 801 may be one or more Integrated circuits configured to implement an embodiment of the invention.
As can be seen from the above, in some possible implementations of the present invention, a computer device is provided, which can implement the data processing method for a remote desktop or remote application service under multiple sessions provided by the above method embodiment, and achieve the technical effects of the method embodiment.
(example four)
Embodiments of the present invention also provide a computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer device comprising one or more processors, cause the computer device to perform a data processing method for a remote desktop or remote application service under multiple sessions as provided by the above method embodiments.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to the related descriptions of other embodiments.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above detailed description is provided for the data processing method and system of remote service under multiple sessions provided by the embodiment of the present invention, and a specific example is applied in the present document to explain the principle and the implementation of the present invention, and the description of the above embodiment is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (9)

1. A data processing method of remote service under multiple sessions is characterized in that a cache management device and multiple sessions run in a server for providing remote service, a first session is any one of the multiple sessions, the multiple sessions can access the cache management device, and the cache management device comprises a compressed data cache mapping module; the method comprises the following steps:
acquiring data to be compressed of the application in the first session;
calculating a check value of the data to be compressed;
inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed;
if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application;
if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing a check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application;
the querying whether the compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed includes:
inquiring whether compressed data corresponding to the compressed data of the compression type exists in the compressed data cache mapping module or not according to the compression type required by the application in the first session and the check value of the compressed data;
the compressing the data to be compressed comprises:
and compressing the data to be compressed according to the compression type.
2. The method of claim 1, wherein the cache management device is code driven, the method comprising:
the first session acquires data to be compressed of an application in the first session;
the coding driver calculates a check value of the data to be compressed, and inquires whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application.
3. The method of claim 1, wherein the cache management device is code driven, the method comprising:
the first session acquires data to be compressed of the application in the first session, and a check value of the data to be compressed is calculated;
the coding driver inquires whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; and if the query result is that the data to be compressed does not exist, the coding driver compresses the data to be compressed to obtain compressed data corresponding to the data to be compressed, stores the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returns the compressed data corresponding to the data to be compressed to the application.
4. The method of claim 1, wherein the cache management device is a cache driver, the method comprising:
the first session acquires data to be compressed of the application in the first session, and a check value of the data to be compressed is calculated; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, acquiring the queried compressed data corresponding to the data to be compressed from the cache driver, and returning the queried compressed data corresponding to the data to be compressed to the application; if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, and returning the compressed data corresponding to the data to be compressed to the application;
and the cache driver stores the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module.
5. A data processing system of remote service under multiple sessions is characterized in that a cache management device and multiple sessions run in a server for providing remote service, a first session is any one of the multiple sessions, the multiple sessions can access the cache management device, and the cache management device comprises a compressed data cache mapping module; the system comprises:
an obtaining module, configured to obtain data to be compressed of an application in the first session;
the processing module is used for calculating a check value of the data to be compressed; inquiring whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application; if the query result is that the data to be compressed does not exist, compressing the data to be compressed to obtain compressed data corresponding to the data to be compressed, storing a check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module, and returning the compressed data corresponding to the data to be compressed to the application;
the processing module is further configured to: inquiring whether compressed data corresponding to the compressed data of the compression type exists in the compressed data cache mapping module or not according to the compression type required by the application in the first session and the check value of the compressed data; and compressing the data to be compressed according to the compression type.
6. The system of claim 5, wherein the cache management device is a code driver, the obtaining module is deployed in the first session, and the processing module is deployed in the code driver.
7. The system of claim 5, wherein the cache management device is a code driver, and the obtaining module is deployed in the first session; the processing module comprises:
the calculation unit is deployed in the first session and used for calculating a check value of the data to be compressed;
the query unit is deployed in the coding driver and used for querying whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, returning the queried compressed data corresponding to the data to be compressed to the application;
the coding unit is deployed in the coding driver and used for compressing the data to be compressed if the query result is that the data to be compressed does not exist, so that compressed data corresponding to the data to be compressed is obtained;
the query unit is further configured to, if the query result is that the check value of the data to be compressed and the compressed data corresponding to the data to be compressed do not exist, store the check value of the data to be compressed and the compressed data corresponding to the data to be compressed in the compressed data cache mapping module, and return the compressed data corresponding to the data to be compressed to the application.
8. The system according to claim 5, wherein the cache management device is a cache driver, the obtaining module is deployed in the first session, and the processing module includes:
the calculation unit is deployed in the first session and used for calculating a check value of the data to be compressed;
the query unit is deployed in the first session and used for querying whether compressed data corresponding to the data to be compressed exists in the compressed data cache mapping module according to the check value of the data to be compressed; if the query result is yes, acquiring the queried compressed data corresponding to the data to be compressed from the cache driver, and returning the queried compressed data corresponding to the data to be compressed to the application;
the encoding unit is deployed in the first session and used for compressing the data to be compressed if the query result is that the data to be compressed does not exist, so that compressed data corresponding to the data to be compressed is obtained;
the storage unit is deployed in the cache drive and used for storing the check value of the data to be compressed and the compressed data corresponding to the data to be compressed into the compressed data cache mapping module;
and the query unit is further configured to return the compressed data corresponding to the data to be compressed to the application if the query result is that the compressed data does not exist.
9. A computer device, comprising a processor, a memory, a bus; the memory is used for storing a program, the processor is connected with the memory through the bus, and when the computer device runs, the processor executes the program stored in the memory to enable the computer device to execute the method according to any one of claims 1-4.
CN201510854163.0A 2015-11-27 2015-11-27 Data processing method and system for remote service under multiple sessions Active CN106817386B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510854163.0A CN106817386B (en) 2015-11-27 2015-11-27 Data processing method and system for remote service under multiple sessions
PCT/CN2016/099588 WO2017088571A1 (en) 2015-11-27 2016-09-21 Method and system for processing data of remote service for multiple sessions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510854163.0A CN106817386B (en) 2015-11-27 2015-11-27 Data processing method and system for remote service under multiple sessions

Publications (2)

Publication Number Publication Date
CN106817386A CN106817386A (en) 2017-06-09
CN106817386B true CN106817386B (en) 2020-03-10

Family

ID=58763000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510854163.0A Active CN106817386B (en) 2015-11-27 2015-11-27 Data processing method and system for remote service under multiple sessions

Country Status (2)

Country Link
CN (1) CN106817386B (en)
WO (1) WO2017088571A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320372A (en) * 2008-05-22 2008-12-10 上海爱数软件有限公司 Compression method for repeated data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966424B2 (en) * 2004-03-15 2011-06-21 Microsoft Corporation Data compression
CN101047711B (en) * 2006-04-27 2010-08-18 华为技术有限公司 Method for IP message transmitting, bargaining bandwidth saving ability and saving network bandwidth
US8392497B2 (en) * 2009-11-25 2013-03-05 Framehawk, LLC Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
US9135154B2 (en) * 2010-03-02 2015-09-15 Microsoft Technology Licensing, Llc Algorithm execution output cache
US8442494B2 (en) * 2011-02-18 2013-05-14 Mitel Networks Corporation System for updating presentations on mobile devices and methods thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320372A (en) * 2008-05-22 2008-12-10 上海爱数软件有限公司 Compression method for repeated data

Also Published As

Publication number Publication date
WO2017088571A1 (en) 2017-06-01
CN106817386A (en) 2017-06-09

Similar Documents

Publication Publication Date Title
US10977062B2 (en) System for starting virtual machine using mirror image file stored in units of a distributed block storage system mapped to units of a logical volume
CN111857550B (en) Method, apparatus and computer readable medium for data deduplication
CN109918018B (en) Data storage method and storage equipment
WO2018223786A1 (en) Cloud desktop system, and image sequence compression and encoding method, and medium therefor
CN110297680B (en) Method and device for transmitting virtual desktop image
US9921986B2 (en) Suspend and resume in a time shared coprocessor
US20200169382A1 (en) Encrypted and Compressed Data Transmission with Padding
US9836248B2 (en) In-memory data compression complementary to host data compression
US10715623B2 (en) Caching for data store clients using expiration times
CN108234659B (en) Data processing method, device and system
CN105207975A (en) Data transmission method and data transmission system for USB image equipment under VDI architecture
CN114116635A (en) Parallel decompression of compressed data streams
CN114039973A (en) File transmission method, device and storage medium
CN113163198B (en) Image compression method, decompression method, device, equipment and storage medium
WO2015021753A1 (en) Data compression method, computer system and device
CN113138969A (en) Data transmission method and device, electronic equipment and computer readable storage medium
CN106817386B (en) Data processing method and system for remote service under multiple sessions
CN108494700B (en) Cross-link data transmission method and device, computer equipment and storage medium
CN111405293B (en) Video transmission method and device
US10609368B2 (en) Multiple image storage compression tree
CN109190039B (en) Method and device for determining similar objects and computer readable storage medium
CN108347451B (en) Picture processing system, method and device
US10168909B1 (en) Compression hardware acceleration
US20190258728A1 (en) Footers for compressed objects
CN116743589B (en) Cloud host migration method and device and electronic equipment

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220214

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.