WO2023066183A1 - Data processing method and apparatus, device, and storage medium - Google Patents

Data processing method and apparatus, device, and storage medium Download PDF

Info

Publication number
WO2023066183A1
WO2023066183A1 PCT/CN2022/125605 CN2022125605W WO2023066183A1 WO 2023066183 A1 WO2023066183 A1 WO 2023066183A1 CN 2022125605 W CN2022125605 W CN 2022125605W WO 2023066183 A1 WO2023066183 A1 WO 2023066183A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
control
identifier
control event
target
Prior art date
Application number
PCT/CN2022/125605
Other languages
French (fr)
Chinese (zh)
Inventor
黄勇
刘俊云
胡特
张纪金
Original Assignee
北京百度网讯科技有限公司
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 北京百度网讯科技有限公司 filed Critical 北京百度网讯科技有限公司
Publication of WO2023066183A1 publication Critical patent/WO2023066183A1/en

Links

Images

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

Definitions

  • the present disclosure relates to the field of computer technology, and to the field of cloud computing technology, for example, to a data processing method, device, device, and storage medium in a cloud desktop scenario.
  • Cloud desktop also known as desktop virtualization or cloud computer
  • Cloud desktop is a new model to replace traditional computers.
  • Cloud desktop uses virtual technology to virtualize various physical devices (such as computer hosts), so that the utilization rate of resources is effectively improved.
  • the disclosure provides a data processing method, device, equipment and storage medium.
  • a data processing method including:
  • control event is converted to obtain the target event
  • the target event is transmitted to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  • a data processing device including:
  • the event acquisition module is configured to acquire the control event sent by the external terminal
  • the event conversion module is configured to convert the control event according to the event identification of the control event to obtain the target event;
  • the event transmission module is configured to transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  • an electronic device including:
  • the memory stores instructions executable by at least one processor, and the instructions are executed by at least one processor, so that at least one processor can execute the above data processing method.
  • a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the above data processing method.
  • a computer program product including a computer program, when the computer program is executed by a processor, the above data processing method is implemented.
  • FIG. 1A is a flowchart of a data processing method provided by an embodiment of the present disclosure
  • FIG. 1B is a schematic structural diagram of a cloud desktop container provided by an embodiment of the present disclosure.
  • FIG. 2 is a flow chart of another data processing method provided by an embodiment of the present disclosure.
  • Fig. 3 is a flowchart of another data processing method provided by an embodiment of the present disclosure.
  • Fig. 4 is a schematic diagram of a cloud desktop system construction method provided by an embodiment of the present disclosure.
  • Fig. 5 is a flowchart of another data processing method provided by an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a data processing device provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of an event conversion module provided by an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of another data processing device provided by an embodiment of the present disclosure.
  • FIG. 9 is a block diagram of an electronic device of an embodiment of the present disclosure.
  • the cloud desktop technology in the embodiments of the present disclosure is implemented based on containers.
  • the electronic devices that provide cloud desktop services in the embodiments of the present disclosure are designed with low power consumption and high density in a rack-mounted server chassis with a set thickness.
  • Integrated multi-way system chip System on Chip, SOC
  • each way SOC has independent processors, memory, and storage, and based on this hardware, at least one available container is deployed on each way SOC, and in the available container Virtualize cloud desktop instances and provide cloud desktop resources.
  • the cloud desktop container involved in this embodiment is an available container of a virtualizable cloud desktop instance.
  • FIG. 1A is a flowchart of a data processing method provided by an embodiment of the present disclosure
  • FIG. 1B is a schematic structural diagram of a cloud desktop container provided by an embodiment of the present disclosure.
  • the embodiments of the present disclosure are applicable to the case of data processing when the cloud desktop technology is implemented based on the container, and are especially applicable to the case of processing the control event sent by the external terminal.
  • the method can be executed by a data processing device, which can be implemented in the form of software and/or hardware, and can be integrated into an electronic device that provides cloud desktop services, such as information that can be integrated into a cloud desktop container deployed in an electronic device streaming service.
  • the information flow service can be deployed in the cloud desktop container, and is an intermediate service established to realize the interaction between the external terminal and the desktop system. For example, it may include real-time control flow services for processing control flow data, and video streaming services for processing audio and video data.
  • the information flow service deployed therein is a real-time control flow service.
  • the running system of the cloud desktop that is, the desktop system
  • the desktop system is configured with at least one virtual module that can respond to the target event sent by the real-time control flow service, such as virtual mouse, virtual Keyboard, and system setting module, etc.
  • This embodiment can be executed by the real-time control flow service in the cloud desktop container shown in FIG. 1B .
  • the data processing method provided in this embodiment may include:
  • the external terminal is an electronic device capable of forwarding control events or generating control events.
  • it may be any device other than an electronic device providing cloud desktop services, such as a thin client.
  • the control event is generated by the external terminal according to the user's operation on the external control device (such as mouse, keyboard, display screen or cloud desktop client, etc.).
  • the external terminal may determine the event identifier, control operation and event parameters corresponding to the operation according to the user's operation on the external control device, and generate a control event according to the event identifier, control operation and event parameters.
  • the control events may include: mouse control events, keyboard control events, display screen control events, and setting events.
  • the external terminal after the external terminal generates the control event, it needs to send the control event to the electronic device of the cloud desktop server.
  • the real-time control flow service in the cloud desktop container deployed in the electronic device will obtain the control event.
  • the event identifier of the control event may be an identifier representing the type of the control event, for example, the same event identifier may be set for control events triggered by the same type of external control device. For example, all control events generated by the user operating the mouse have the same event ID.
  • the event identifier may be an identifier of the external control device operated by the user, such as the name or number of the external device. It may also be a unique identifier sequentially generated for each type of control event according to preset rules.
  • control event is generated by the external terminal according to its custom format, the versatility is poor, and the desktop system in the cloud desktop container cannot directly respond to the control event, so this embodiment requires the information flow service in the cloud desktop container , that is, the real-time control flow service to convert the control event sent by the external terminal into an event in a format supported by the desktop system, that is, the target event.
  • target events in this embodiment may include: mouse events, keyboard events, display events, and setting events.
  • the event identifier corresponding to the obtained control event may be determined first, for example, the obtained control event is analyzed, and the corresponding event identifier of the control event is directly obtained from the analysis result.
  • An event identifier; the event identifier corresponding to the obtained control event may also be determined according to the analysis result and the association relationship between the locally recorded control event and the event identifier.
  • the conversion logic corresponding to the control event is determined according to the preset relationship between the event identifier and the conversion logic, that is, the conversion logic between the format of the control event generated by the external terminal and the event format supported by the desktop system . And invoke the conversion logic to convert the control event to obtain the target event.
  • the real-time stream control service of this embodiment includes a custom adaptation layer.
  • the custom adaptation layer is a custom device adaptation layer, and the custom device adaptation layer is used to perform conversion operations on control events to obtain target events, such as mouse events, keyboard events, or setting events, etc. .
  • the real-time control flow service converts the control event to obtain the target event
  • the desktop system will first determine the virtual module that responds to the event according to the received target event, and transmit the target event to its corresponding virtual module, so that the virtual module to respond to target events. For example, as shown in FIG. 1B , if the target event is a mouse event, the desktop system will transmit the mouse event to the virtual mouse module, so that the virtual mouse module can respond to the mouse event. If the target event is a keyboard event module, the desktop system will transmit the keyboard event to the virtual keyboard module so that the virtual keyboard module can respond to the keyboard event; if the target event is a setting event, the desktop system will transmit the setting event to A system setting module, so that the system setting module responds to the setting event.
  • the information flow service in the cloud desktop container obtains the control event, converts it into a target event according to the event identifier of the control event, and then transmits it to the cloud
  • the desktop system of the desktop container responds to the target event.
  • the cloud desktop container when there are many control events acquired by the cloud desktop container, when performing the operation of transmitting the target event to the desktop system in the cloud desktop container, it may also include: adding the target event to the corresponding event identifier In the event queue of the event queue, the target event in the event queue is transmitted to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  • a dedicated event queue may be set for a target event corresponding to at least one event identifier.
  • each event identifier may correspond to an event queue.
  • the target event is first added to the event queue corresponding to the event ID of the target event.
  • multiple event queues can be used to parallelly The target events contained in each queue are transmitted to the desktop system of the cloud desktop container.
  • the target event in each event queue can be transmitted in parallel to the virtual module in the desktop system that responds to the target event through multiple event queues. For example, as shown in FIG.
  • the mouse event is added to the mouse event queue, and then the mouse event in the mouse event queue is transmitted to the virtual mouse module in the desktop system, and the virtual mouse module responds to the mouse event.
  • the advantage of such setting in this embodiment is that when the cloud desktop container acquires many control events, the efficiency and accuracy of the cloud desktop container responding to the control events are improved.
  • Fig. 2 is a flow chart of another data processing method provided by the embodiment of the present disclosure.
  • this embodiment discusses how to "convert the control event according to the event identifier of the control event to obtain the target event" Explain.
  • the data processing method provided in this embodiment may include:
  • the external terminal when the external terminal generates the control event, it can first obtain the event attribute information required to generate the control event, such as the event identifier, control operation and event parameters, and then use the attribute information according to its own After the defined format (such as event identifier-control operation-event parameter) is combined and coded (such as binary code), the control event is obtained, and then the generated control event is sent to the cloud desktop container. At this time, the control event sent by the external terminal acquired in this embodiment is a coded result, not the original text of the required data.
  • the event attribute information required to generate the control event such as the event identifier, control operation and event parameters
  • coded such as binary code
  • the conversion logic of the control event may be a processing logic for converting the control event in a custom format generated by the external terminal into an event format supported by the desktop system.
  • the electronic device providing the cloud desktop service may pre-store associations between event identifiers of different external terminals and conversion logic.
  • the conversion logic associated with the event identifier determined in S202 may be searched from the locally stored association relationship between the event identifier of the external terminal and the conversion logic, as the conversion logic of the received control event.
  • the electronic device may also communicate with other external devices (the external device may be an external terminal that sends a control event, or may not The external terminal that controls the event, which is not limited in this embodiment) interacts to obtain the conversion logic associated with the event identifier determined in S202 as the conversion logic of the received control event.
  • the external device may be an external terminal that sends a control event, or may not The external terminal that controls the event, which is not limited in this embodiment
  • the conversion logic determined in S203 may be invoked to generate the target event.
  • the information flow service in the cloud desktop container obtains the control event, decodes the control event, and determines the conversion corresponding to the control event according to the decoding result logic, and based on the conversion logic and decoding results, a target event is generated and transmitted to the desktop system of the cloud desktop container, and the desktop system responds to the target event.
  • the event of interaction between the cloud desktop container and the external terminal is encoded data, not the original text of the data, which is not easy to be cracked, which improves the security of the control event.
  • the encoded event can also minimize the amount of data transmission. Waste of resources is avoided.
  • Fig. 3 is a flowchart of another data processing method provided by an embodiment of the present disclosure.
  • this embodiment discusses how to "convert the control event according to the event identifier of the control event to obtain the target event" Explain.
  • the data processing method provided in this embodiment may include:
  • the attribute information of the control event may be relevant information characterizing the attribute of the control event, for example, may include: event identifier, control operation, event parameter, and so on.
  • the control operation is the user's operation on the external control device.
  • the control operation can be operations such as left click, right click, and pulley; when the external control device is a keyboard, the control operation can be It is the operation of tapping different keys on the keyboard.
  • Event parameters can include parameter values corresponding to different events, parameter length, and event generation time.
  • the information flow service in this embodiment needs to identify whether the attribute information of the received control event is Valid, for control events with valid attribute information, operations such as subsequent event conversion are performed; for control events with invalid attribute information, operations such as subsequent event conversion are not performed.
  • identifying that the attribute information of the control event is valid may include at least one of the following: identifying that the event identifier of the control event is a valid identifier; identifying that the control operation of the control event is a valid operation supported by the event identifier; An event parameter was identified for a control event that fits within the valid parameter range.
  • electronic devices supporting cloud desktop services can store preset valid event identifiers, valid operations supported by each type of event identifier, and valid parameter ranges (such as valid parameter value ranges, valid parameter length ranges and at least one of the effective event periods), correspondingly, the information flow service in the cloud desktop container, that is, the real-time flow control service, can be based on at least one of the above-mentioned effective information stored locally and the attribute information of the acquired control event. Identify the validity of captured control events. In this embodiment, the validity of the control event is verified through various types of attribute information, which improves the security and flexibility of the validity verification process.
  • the information flow service in the cloud desktop container obtains the control event, and when it is recognized that the attribute information of the control event is valid, according to the control event
  • the event identification is converted into a target event, it is transmitted to the desktop system of the cloud desktop container, and the desktop system responds to the target event.
  • the cloud desktop container in this solution does not respond directly after receiving the control event, but first recognizes its validity and then responds, which improves the security and accuracy of event response.
  • FIG. 4 is a schematic diagram of a cloud desktop system construction method provided by an embodiment of the present disclosure.
  • the cloud desktop system of the embodiment of the present disclosure is built in an advanced reduced instruction set processor (Advanced Reduced Instruction Set Computer Machines, ARM) chip server, the server includes: a central processing unit (Central Processing Unit, CPU) , Mali graphics processor (Graphics Processing Unit, GPU) and network interface controller (Network Interface Controller, NIC).
  • the operating system of the server is a Linux operating system, such as an ubuntu operating system. Before using this operating system, you need to set Linux system parameters, such as namespace parameters (namespace), container parameters (cgroup), file system service parameters (overlayfs), mount file parameters (autofs), and bridge parameters (bridge), etc.
  • namespace parameters namespace
  • container parameters cgroup
  • file system service parameters overlayfs
  • mount file parameters autofs
  • bridge bridge
  • a container manager may be deployed in the ARM chip of the server, and the container manager is used to dynamically manage the deployment of the cloud desktop container in the ARM chip.
  • the number of containers deployed in the ARM chip server can be increased or decreased according to the running cloud desktop instances and the available resources of the current ARM chip server.
  • the cloud desktop container runtime that is, the operating environment of the cloud desktop
  • the information flow service that is, the video streaming push service and the real-time control streaming service
  • the desktop system are deployed.
  • Third-party applications can be installed and run on the desktop system.
  • the container manager can be used to dynamically deploy the cloud desktop container in the ARM chip server, and the number of cloud desktop containers can be adjusted according to actual usage requirements. The way of running the cloud desktop system improves the resource utilization of the server.
  • Fig. 5 is a flowchart of another data processing method provided by an embodiment of the present disclosure. Based on the cloud desktop system shown in FIG. 4 , this embodiment provides an example of a container-based data processing method for cloud desktop technology. As shown in Figure 5, the data processing method provided in this embodiment may include:
  • the real-time control flow service obtains a control event sent by an external terminal.
  • the real-time control flow service converts the control event according to the event identifier of the control event to obtain the target event.
  • the real-time control flow service transmits the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  • the video stream pushing service processes the collected audio and video data through the RAM configured on the local device.
  • the video streaming push service is a service for pushing audio and video data (ie, audio data and/or video data) to external devices.
  • processing the collected audio and video data may include: transcoding processing and encoding processing.
  • the video streaming streaming service of this embodiment is based on the Mali GPU that comes with the ARM to process the collected audio and video data.
  • the video streaming streaming service will collect audio data and/or video data currently to be displayed on the cloud desktop from the resource storage area of the cloud desktop service in real time during the running of the cloud desktop. Affected by factors such as data compression, transmission bandwidth, and playback format, it is usually necessary to transcode and encode video data (such as H264 video stream encoding) by the video streaming service using the Mali GPU that comes with ARM in the target container.
  • operation to obtain a video code stream perform operations such as encoding audio data to obtain an audio code stream, and then transmit the coded video code stream and/or audio code stream to an external terminal, such as a thin client.
  • the external terminal decodes and transcodes the video code stream to obtain video data, which is displayed on the display device; decodes the audio code stream to obtain audio data, which is output through the sound output device.
  • the embodiments of the present disclosure can perform hardware encoding and decoding based on the Mali GPU that comes with the ARM, and perform rendering and output of audio and video data, which greatly utilizes the hardware characteristics of the GPU, reduces desktop response delay, and reduces CPU resource consumption.
  • the utilization rate of resources is improved, and the resource overhead for realizing cloud desktop is reduced.
  • the present disclosure also provides an optional embodiment of an execution device for realizing the above data processing method.
  • a data processing apparatus 600 shown in FIG. 6 it is configured in an electronic device that provides a cloud desktop service, for example, it may be configured in an information flow service in a cloud desktop container deployed in the electronic device.
  • the apparatus 600 includes: an event acquisition module 601 , an event conversion module 602 and an event transmission module 603 .
  • the event acquiring module 601 is set to acquire the control event sent by the external terminal; the event conversion module 602 is set to convert the control event according to the event identification of the control event to obtain the target event; the event transmission module 603 is set to convert the target event The event is transmitted to the desktop system in the cloud desktop container so that the desktop system can respond to the target event.
  • the information flow service in the cloud desktop container obtains the control event, converts it into a target event according to the event identifier of the control event, and then transmits it to the cloud desktop
  • the desktop system of the container responds to the target event.
  • the event conversion module 602 is set to:
  • the control event is decoded, and the event ID of the control event is obtained from the decoding result; the conversion logic of the control event is determined according to the event ID; and the target event is generated according to the decoding result and the conversion logic.
  • the event conversion module 602 includes:
  • the validity identification unit 701 is configured to identify whether the attribute information of the control event is valid; the event conversion unit 702 is configured to convert the control event according to the event identifier of the control event if the attribute information of the control event is identified as valid.
  • the validity identification unit 701 is configured to perform at least one of the following:
  • the event identification of the identified control event is a valid identification; the control operation of the identified control event is a valid operation supported by the event identification; the event parameter of the identified control event conforms to the valid parameter range.
  • the event transmission module 603 is set to:
  • the above-mentioned data processing device 600 further includes:
  • the video stream processing module 604 is configured to process the collected audio and video data through the advanced simplified instruction set processor configured on the local device.
  • the above-mentioned products can execute the method provided by any embodiment of the present disclosure, and have corresponding functional modules and effects for executing the method.
  • the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
  • FIG. 9 shows a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present disclosure.
  • Electronic device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers.
  • Electronic device 700 may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the electronic device 700 includes a computing unit 701, which can be loaded into a random access memory (Random Access Memory, RAM) according to a computer program stored in a read-only memory (Read-Only Memory, ROM) 702 or from a storage unit 708. ) 703 to perform various appropriate actions and processes. In the RAM 703, various programs and data necessary for the electronic device 700 to perform operations can also be stored.
  • the computing unit 701, ROM 702, and RAM 703 are connected to each other through a bus 704.
  • An input/output (Input/Output, I/O) interface 705 is also connected to the bus 704 .
  • the I/O interface 705 includes: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, an optical disk etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, and the like.
  • the communication unit 709 allows the electronic device 700 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
  • Computing unit 701 may be various general and/or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a CPU, a graphics processing unit (Graphics Processing Unit, GPU), a variety of dedicated artificial intelligence (Artificial Intelligence, AI) computing chips, a variety of computing units that run machine learning model algorithms, digital Signal processor (Digital Signal Processing, DSP), and any suitable processor, controller, microcontroller, etc.
  • the GPU in this embodiment is the Mali GPU that comes with the ARM chip.
  • the calculation unit 701 executes various methods and processes described above, such as data processing methods.
  • the data processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708 .
  • part or all of the computer program can be loaded and/or installed on the electronic device 700 via the ROM 702 and/or the communication unit 709.
  • the computing unit 701 may be configured to execute the data processing method in any other suitable manner (for example, by means of firmware).
  • Various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor that can is a special-purpose or general-purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • a programmable processor that can is a special-purpose or general-purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented.
  • the program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing.
  • machine-readable storage media examples include one or more wire-based electrical connections, portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM, or Flash memory) ), fiber optics, Compact Disc Read-Only Memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
  • wire-based electrical connections portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM, or Flash memory)
  • fiber optics Compact Disc Read-Only Memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
  • CD-ROM Compact Disc Read-Only Memory
  • the systems and techniques described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display ( Liquid Crystal Display (LCD) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which a user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT) or a liquid crystal display ( Liquid Crystal Display (LCD) monitor
  • a keyboard and pointing device e.g., a mouse or trackball
  • Other types of devices may also be configured to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be in any form (including Acoustic input, speech input or, tactile input) to receive input from the user.
  • the systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system.
  • the components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WideArea Network, WAN), blockchain networks, and the Internet.
  • a computer system may include clients and servers.
  • Clients and servers are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other.
  • the server can be a cloud server, also known as cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the problems existing in traditional physical host and virtual private server (Virtual Private Server, VPS) services.
  • VPS Virtual Private Server
  • the defects of difficult management and weak business expansion can also be a server of a distributed system, or a server combined with a blockchain.
  • Artificial intelligence is a discipline that studies how to make computers simulate some human thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), both at the hardware level and at the software level.
  • Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, and machine learning/depth Learning technology, big data processing technology, knowledge map technology and other major directions.
  • Cloud computing refers to access to elastic and scalable shared physical or virtual resource pools through the network.
  • Resources can include servers, operating systems, networks, software, applications, and storage devices, etc., and can be on-demand and self-service.
  • a technical system that deploys and manages resources in a unique way. Through cloud computing technology, it can provide efficient and powerful data processing capabilities for artificial intelligence, blockchain and other technical applications and model training.
  • Steps can be reordered, added, or removed using the various forms of flow shown above.
  • steps described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present application discloses a data processing method and apparatus, a device, and a storage medium. The data processing method comprises: obtaining a control event sent by an external terminal; converting the control event according to the event identifier of the control event to obtain a target event; and transmitting the target event to a desktop system in a cloud desktop container, so that the desktop system responds to the target event.

Description

数据处理方法、装置、设备以及存储介质Data processing method, device, device and storage medium
本申请要求在2021年10月19日提交中国专利局、申请号为202111215063.5的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application claims priority to a Chinese patent application with application number 202111215063.5 filed with the China Patent Office on October 19, 2021, the entire contents of which are incorporated herein by reference.
技术领域technical field
本公开涉及计算机技术领域,涉及云计算技术领域,例如涉及云桌面场景下的数据处理方法、装置、设备以及存储介质。The present disclosure relates to the field of computer technology, and to the field of cloud computing technology, for example, to a data processing method, device, device, and storage medium in a cloud desktop scenario.
背景技术Background technique
随着计算机技术的发展,云桌面技术逐渐兴起,云桌面又称桌面虚拟化或云电脑,是替代传统电脑的一种新模式。云桌面利用虚拟技术,对多种物理设备(如电脑主机)进行虚拟化处理,从而使资源的利用率得到有效提升。With the development of computer technology, cloud desktop technology is gradually emerging. Cloud desktop, also known as desktop virtualization or cloud computer, is a new model to replace traditional computers. Cloud desktop uses virtual technology to virtualize various physical devices (such as computer hosts), so that the utilization rate of resources is effectively improved.
发明内容Contents of the invention
本公开提供了一种数据处理方法、装置、设备以及存储介质。The disclosure provides a data processing method, device, equipment and storage medium.
根据本公开的一方面,提供了一种数据处理方法,包括:According to an aspect of the present disclosure, a data processing method is provided, including:
获取外部终端发送的控制事件;Obtain the control event sent by the external terminal;
根据控制事件的事件标识,对控制事件进行转换,得到目标事件;According to the event identification of the control event, the control event is converted to obtain the target event;
将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。The target event is transmitted to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
根据本公开的另一方面,还提供了一种数据处理装置,包括:According to another aspect of the present disclosure, a data processing device is also provided, including:
事件获取模块,设置为获取外部终端发送的控制事件;The event acquisition module is configured to acquire the control event sent by the external terminal;
事件转换模块,设置为根据控制事件的事件标识,对控制事件进行转换,得到目标事件;The event conversion module is configured to convert the control event according to the event identification of the control event to obtain the target event;
事件传输模块,设置为将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。The event transmission module is configured to transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
根据本公开的另一方面,还提供了一种电子设备,包括:According to another aspect of the present disclosure, an electronic device is also provided, including:
至少一个处理器;以及at least one processor; and
与至少一个处理器通信连接的存储器;其中,memory communicatively coupled to at least one processor; wherein,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的数据处理方法。The memory stores instructions executable by at least one processor, and the instructions are executed by at least one processor, so that at least one processor can execute the above data processing method.
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述的数据处理方法。According to another aspect of the present disclosure, there is also provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the above data processing method.
根据本公开的另一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的数据处理方法。According to another aspect of the present disclosure, there is also provided a computer program product, including a computer program, when the computer program is executed by a processor, the above data processing method is implemented.
附图说明Description of drawings
图1A是本公开实施例提供的一种数据处理方法的流程图;FIG. 1A is a flowchart of a data processing method provided by an embodiment of the present disclosure;
图1B是本公开实施例提供的一种云桌面容器的结构示意图;FIG. 1B is a schematic structural diagram of a cloud desktop container provided by an embodiment of the present disclosure;
图2是本公开实施例提供的另一种数据处理方法的流程图;FIG. 2 is a flow chart of another data processing method provided by an embodiment of the present disclosure;
图3是本公开实施例提供的另一种数据处理方法的流程图;Fig. 3 is a flowchart of another data processing method provided by an embodiment of the present disclosure;
图4是本公开实施例提供的一种云桌面系统搭建方式的示意图;Fig. 4 is a schematic diagram of a cloud desktop system construction method provided by an embodiment of the present disclosure;
图5是本公开实施例提供的另一种数据处理方法的流程图;Fig. 5 is a flowchart of another data processing method provided by an embodiment of the present disclosure;
图6是本公开实施例提供的一种数据处理装置的结构示意图;FIG. 6 is a schematic structural diagram of a data processing device provided by an embodiment of the present disclosure;
图7是本公开实施例提供的一种事件转换模块的结构示意图;FIG. 7 is a schematic structural diagram of an event conversion module provided by an embodiment of the present disclosure;
图8是本公开实施例提供的另一种数据处理装置的结构示意图;FIG. 8 is a schematic structural diagram of another data processing device provided by an embodiment of the present disclosure;
图9是本公开实施例的电子设备的框图。FIG. 9 is a block diagram of an electronic device of an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的多种细节以助于理解,应当将它们认为仅仅是示范性的。为了清楚和简明,以下的描述中省略了对公知功能和结构以及与下述实施例相关性低的功能和结构的描述。Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and they should be regarded as exemplary only. For clarity and conciseness, descriptions of well-known functions and constructions and functions and constructions that are less relevant to the embodiments described below are omitted from the following description.
本公开实施例中的云桌面技术是基于容器实现的,本公开实施例中提供云桌面服务的电子设备以低功耗、高密度为设计原则,在一个设定厚度的机架式服务器机箱内集成多路系统芯片(System on Chip,SOC),每路SOC拥有独立的处理器、内存、以及存储,并在此硬件基础上,每路SOC上部署有至少一个可用容器,并在可用容器中虚拟化云桌面实例,提供云桌面资源。本实施例中所涉及的云桌面容器即为可虚拟化云桌面实例的可用容器。The cloud desktop technology in the embodiments of the present disclosure is implemented based on containers. The electronic devices that provide cloud desktop services in the embodiments of the present disclosure are designed with low power consumption and high density in a rack-mounted server chassis with a set thickness. Integrated multi-way system chip (System on Chip, SOC), each way SOC has independent processors, memory, and storage, and based on this hardware, at least one available container is deployed on each way SOC, and in the available container Virtualize cloud desktop instances and provide cloud desktop resources. The cloud desktop container involved in this embodiment is an available container of a virtualizable cloud desktop instance.
图1A是本公开实施例提供的一种数据处理方法的流程图,图1B是本公开实施例提供的一种云桌面容器的结构示意图。本公开实施例适用于基于容器实现云桌面技术时,进行数据处理的情况,尤其适用于对外部终端发送的控制事件进行处理的情况。该方法可以由数据处理装置来执行,该装置可以采用软件 和/或硬件的方式实现,并可集成于提供云桌面服务的电子设备中,例如可集成于电子设备中部署的云桌面容器的信息流服务中。FIG. 1A is a flowchart of a data processing method provided by an embodiment of the present disclosure, and FIG. 1B is a schematic structural diagram of a cloud desktop container provided by an embodiment of the present disclosure. The embodiments of the present disclosure are applicable to the case of data processing when the cloud desktop technology is implemented based on the container, and are especially applicable to the case of processing the control event sent by the external terminal. The method can be executed by a data processing device, which can be implemented in the form of software and/or hardware, and can be integrated into an electronic device that provides cloud desktop services, such as information that can be integrated into a cloud desktop container deployed in an electronic device streaming service.
信息流服务可以是云桌面容器中部署的,为实现外部终端和桌面系统交互而建立的中间服务。例如,可以包括用于处理控制流数据的实时控制流服务,以及用于处理音视频数据的视频流推流服务。参见图1B所示的云桌面容器,其中部署的信息流服务为实时控制流服务。可选的,在云桌面容器中,还部署有云桌面的运行系统,即桌面系统,该桌面系统中配置有至少一个可响应实时控制流服务发送的目标事件的虚拟模块,例如虚拟鼠标、虚拟键盘,以及系统设置模块等。The information flow service can be deployed in the cloud desktop container, and is an intermediate service established to realize the interaction between the external terminal and the desktop system. For example, it may include real-time control flow services for processing control flow data, and video streaming services for processing audio and video data. Referring to the cloud desktop container shown in FIG. 1B , the information flow service deployed therein is a real-time control flow service. Optionally, in the cloud desktop container, the running system of the cloud desktop, that is, the desktop system, is also deployed. The desktop system is configured with at least one virtual module that can respond to the target event sent by the real-time control flow service, such as virtual mouse, virtual Keyboard, and system setting module, etc.
本实施例可以由图1B所示的云桌面容器中的实时控制流服务执行。如图1A-1B所示,本实施例提供的数据处理方法可以包括:This embodiment can be executed by the real-time control flow service in the cloud desktop container shown in FIG. 1B . As shown in Figures 1A-1B, the data processing method provided in this embodiment may include:
S101,获取外部终端发送的控制事件。S101. Obtain a control event sent by an external terminal.
外部终端为具有转发控制事件或生成控制事件功能的电子设备。例如可以是除提供云桌面服务的电子设备之外的任意设备,如瘦客户机。The external terminal is an electronic device capable of forwarding control events or generating control events. For example, it may be any device other than an electronic device providing cloud desktop services, such as a thin client.
控制事件为外部终端根据用户在外部控制设备(如鼠标、键盘、显示屏或云桌面客户端等)上的操作生成的。例如,可以是外部终端根据用户在外部控制设备上的操作,确定该操作对应的事件标识、控制操作和事件参数,并根据事件标识、控制操作和事件参数,生成控制事件。控制事件可以包括:鼠标控制事件、键盘控制事件、显示屏控制事件以及设置事件等。The control event is generated by the external terminal according to the user's operation on the external control device (such as mouse, keyboard, display screen or cloud desktop client, etc.). For example, the external terminal may determine the event identifier, control operation and event parameters corresponding to the operation according to the user's operation on the external control device, and generate a control event according to the event identifier, control operation and event parameters. The control events may include: mouse control events, keyboard control events, display screen control events, and setting events.
可选的,在本实施例中,外部终端生成控制事件后,需要将控制事件发送至云桌面服务器的电子设备。一实施例中,该电子设备中部署的云桌面容器中的实时控制流服务会获取该控制事件。Optionally, in this embodiment, after the external terminal generates the control event, it needs to send the control event to the electronic device of the cloud desktop server. In an embodiment, the real-time control flow service in the cloud desktop container deployed in the electronic device will obtain the control event.
S102,根据控制事件的事件标识,对控制事件进行转换,得到目标事件。S102. Convert the control event according to the event identifier of the control event to obtain a target event.
控制事件的事件标识可以是表征控制事件种类的标识,例如,可以为同一种外部控制设备触发的控制事件设置相同的事件标识。例如,所有因用户操作鼠标而生成的控制事件具有相同的事件标识。该事件标识可以是用户操作的外部控制设备的标识,如外部设备的名称或编号等。还可以是按照预设规则,依次为每种类的控制事件生成的唯一性标识。The event identifier of the control event may be an identifier representing the type of the control event, for example, the same event identifier may be set for control events triggered by the same type of external control device. For example, all control events generated by the user operating the mouse have the same event ID. The event identifier may be an identifier of the external control device operated by the user, such as the name or number of the external device. It may also be a unique identifier sequentially generated for each type of control event according to preset rules.
可选的,由于控制事件是外部终端按照其自定义格式生成的,通用性较差,云桌面容器中的桌面系统无法直接响应该控制事件,所以本实施例需要云桌面容器中的信息流服务,即实时控制流服务来对外部终端发送的控制事件进行转换,转换成桌面系统所支持格式的事件,即目标事件。可选的,本实施例的目标事件按照外部控制设备的种类进行划分时,可以包括:鼠标事件、键盘事件、 显示器事件以及设置事件等。Optionally, because the control event is generated by the external terminal according to its custom format, the versatility is poor, and the desktop system in the cloud desktop container cannot directly respond to the control event, so this embodiment requires the information flow service in the cloud desktop container , that is, the real-time control flow service to convert the control event sent by the external terminal into an event in a format supported by the desktop system, that is, the target event. Optionally, when the target events in this embodiment are classified according to the types of external control devices, they may include: mouse events, keyboard events, display events, and setting events.
本实施例在根据控制事件的事件标识,对控制事件进行转换时,可以先确定获取的控制事件对应的事件标识,例如,解析获取的控制事件,并从解析结果中直接获取该控制事件对应的事件标识;还可以根据解析结果和本地记录的控制事件与事件标识的关联关系,确定获取的控制事件对应的事件标识等。确定出事件标识后,再根据预先设置的事件标识与转换逻辑间的关联关系,确定该控制事件对应的转换逻辑,即外部终端生成控制事件的格式与桌面系统所支持的事件格式间的转换逻辑。并调用该转换逻辑,对该控制事件进行转换,得到目标事件。In this embodiment, when the control event is converted according to the event identifier of the control event, the event identifier corresponding to the obtained control event may be determined first, for example, the obtained control event is analyzed, and the corresponding event identifier of the control event is directly obtained from the analysis result. An event identifier; the event identifier corresponding to the obtained control event may also be determined according to the analysis result and the association relationship between the locally recorded control event and the event identifier. After the event identifier is determined, the conversion logic corresponding to the control event is determined according to the preset relationship between the event identifier and the conversion logic, that is, the conversion logic between the format of the control event generated by the external terminal and the event format supported by the desktop system . And invoke the conversion logic to convert the control event to obtain the target event.
示例性的,如图1B所示,本实施例的实时流控制服务包含自定义适配层。一实施例中,自定义适配层为自定义设备适配层,该自定义设备适配层用于执行对控制事件进行转换的操作,得到目标事件,如鼠标事件、键盘事件或设置事件等。Exemplarily, as shown in FIG. 1B , the real-time stream control service of this embodiment includes a custom adaptation layer. In one embodiment, the custom adaptation layer is a custom device adaptation layer, and the custom device adaptation layer is used to perform conversion operations on control events to obtain target events, such as mouse events, keyboard events, or setting events, etc. .
S103,将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。S103. Transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
可选的,云桌面容器中的信息流服务,即实时控制流服务对控制事件转换得到目标事件后,将目标事件传输至云桌面容器的桌面系统。由桌面系统来响应该目标事件。Optionally, after the information flow service in the cloud desktop container, that is, the real-time control flow service converts the control event to obtain the target event, it transmits the target event to the desktop system of the cloud desktop container. It is up to the desktop system to respond to the target event.
示例性的,实时流控制服务将目标事件传输至桌面系统后,桌面系统会根据接收到的目标事件,先确定响应该事件的虚拟模块,将目标事件传送至其对应的虚拟模块,以使虚拟模块来响应目标事件。例如,如图1B所示,若目标事件为鼠标事件,则桌面系统会将该鼠标事件传输至虚拟鼠标模块,以使虚拟鼠标模块来响应该鼠标事件。若目标事件为键盘事件模块,则桌面系统会将该键盘事件传输至虚拟键盘模块,以使虚拟键盘模块来响应该键盘事件;若目标事件为设置事件,则桌面系统会将该设置事件传输至系统设置模块,以使系统设置模块来响应该设置事件。Exemplarily, after the real-time flow control service transmits the target event to the desktop system, the desktop system will first determine the virtual module that responds to the event according to the received target event, and transmit the target event to its corresponding virtual module, so that the virtual module to respond to target events. For example, as shown in FIG. 1B , if the target event is a mouse event, the desktop system will transmit the mouse event to the virtual mouse module, so that the virtual mouse module can respond to the mouse event. If the target event is a keyboard event module, the desktop system will transmit the keyboard event to the virtual keyboard module so that the virtual keyboard module can respond to the keyboard event; if the target event is a setting event, the desktop system will transmit the setting event to A system setting module, so that the system setting module responds to the setting event.
本公开实施例的方案中,外部终端向云桌面容器发送控制事件后,由云桌面容器中的信息流服务获取该控制事件,并根据控制事件的事件标识将其转换为目标事件后传输至云桌面容器的桌面系统,由桌面系统来响应该目标事件。本方案解决了基于容器实现云桌面技术时,云桌面容器中的桌面系统无法直接处理外部终端发送的控制事件的问题,为基于容器实现云桌面技术提供了新的解决方案。In the solution of the embodiment of the present disclosure, after the external terminal sends a control event to the cloud desktop container, the information flow service in the cloud desktop container obtains the control event, converts it into a target event according to the event identifier of the control event, and then transmits it to the cloud The desktop system of the desktop container responds to the target event. This solution solves the problem that the desktop system in the cloud desktop container cannot directly process control events sent by external terminals when implementing cloud desktop technology based on containers, and provides a new solution for implementing cloud desktop technology based on containers.
可选的,本实施例在云桌面容器获取的控制事件较多的情况下,执行将目 标事件传输至云桌面容器中的桌面系统的操作时,还可以包括:将目标事件添加到事件标识对应的事件队列中,将事件队列中的目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。Optionally, in this embodiment, when there are many control events acquired by the cloud desktop container, when performing the operation of transmitting the target event to the desktop system in the cloud desktop container, it may also include: adding the target event to the corresponding event identifier In the event queue of the event queue, the target event in the event queue is transmitted to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
本实施例可以为至少一种事件标识对应的目标事件设置一个专用的事件队列。例如,可以是每种事件标识对应一个事件队列。在对控制事件转换得到目标事件后,将目标事件先添加到该目标事件的事件标识对应的事件队列中,在向云桌面容器的桌面系统传输目标事件时,可以是通过多个事件队列并行将每个队列中包含的目标事件传输至云桌面容器的桌面系统。例如,可以通过多个事件队列并行将每个事件队列中的目标事件传输至桌面系统中响应该目标事件的虚拟模块。例如,如图1B所示,将鼠标事件添加到鼠标事件队列中,进而将鼠标事件队列中的鼠标事件传输至桌面系统中的虚拟鼠标模块,由虚拟鼠标模块来响应该鼠标事件。本实施例这样设置的好处是,在云桌面容器获取的控制事件较多时,提高了云桌面容器响应控制事件的效率和精准性。In this embodiment, a dedicated event queue may be set for a target event corresponding to at least one event identifier. For example, each event identifier may correspond to an event queue. After the target event is converted from the control event, the target event is first added to the event queue corresponding to the event ID of the target event. When transmitting the target event to the desktop system of the cloud desktop container, multiple event queues can be used to parallelly The target events contained in each queue are transmitted to the desktop system of the cloud desktop container. For example, the target event in each event queue can be transmitted in parallel to the virtual module in the desktop system that responds to the target event through multiple event queues. For example, as shown in FIG. 1B, the mouse event is added to the mouse event queue, and then the mouse event in the mouse event queue is transmitted to the virtual mouse module in the desktop system, and the virtual mouse module responds to the mouse event. The advantage of such setting in this embodiment is that when the cloud desktop container acquires many control events, the efficiency and accuracy of the cloud desktop container responding to the control events are improved.
图2是本公开实施例提供的另一种数据处理方法的流程图,本实施例在上述实施例的基础上,对如何“根据控制事件的事件标识,对控制事件进行转换,得到目标事件”进行解释说明。如图2所示,本实施例提供的数据处理方法可以包括:Fig. 2 is a flow chart of another data processing method provided by the embodiment of the present disclosure. On the basis of the above embodiments, this embodiment discusses how to "convert the control event according to the event identifier of the control event to obtain the target event" Explain. As shown in Figure 2, the data processing method provided in this embodiment may include:
S201,获取外部终端发送的控制事件。S201. Acquire a control event sent by an external terminal.
S202,对控制事件进行解码,并从解码结果中获取控制事件的事件标识。S202. Decode the control event, and acquire an event identifier of the control event from the decoding result.
可选的,为了保证控制事件的安全性,外部终端在生成控制事件时,可以先获取生成控制事件所需的事件属性信息,如事件标识、控制操作和事件参数,然后将该属性信息按照自定义格式(如事件标识-控制操作-事件参数)进行组合和编码(如二进制编码)后,得到控制事件,进而将生成的控制事件发送至云桌面容器。此时,本实施例获取的外部终端发送的控制事件为编码后的结果,并非所需数据原文。所以本实施例中需要按照外部终端编码控制事件相对应的解码规则,对接收到的控制事件进行解码处理,得到解码结果,即按照自定格式组合成的控制事件的属性信息,进而对解码结果进行解析,从中提取出控制事件对应的事件标识。Optionally, in order to ensure the security of the control event, when the external terminal generates the control event, it can first obtain the event attribute information required to generate the control event, such as the event identifier, control operation and event parameters, and then use the attribute information according to its own After the defined format (such as event identifier-control operation-event parameter) is combined and coded (such as binary code), the control event is obtained, and then the generated control event is sent to the cloud desktop container. At this time, the control event sent by the external terminal acquired in this embodiment is a coded result, not the original text of the required data. Therefore, in this embodiment, it is necessary to decode the received control event according to the decoding rule corresponding to the external terminal coded control event, and obtain the decoding result, that is, the attribute information of the control event combined according to a self-defined format, and then decode the decoding result Perform parsing to extract the event ID corresponding to the control event.
S203,根据事件标识,确定控制事件的转换逻辑。S203. Determine the conversion logic of the control event according to the event identifier.
控制事件的转换逻辑可以是将外部终端生成的自定义格式的控制事件转换为桌面系统所支持的事件格式的处理逻辑。The conversion logic of the control event may be a processing logic for converting the control event in a custom format generated by the external terminal into an event format supported by the desktop system.
可选的,本实施例可以在提供云桌面服务的电子设备中预先存储有不同外 部终端的事件标识与转换逻辑之间的关联关系。此时可以从本地存储的外部终端的事件标识与转换逻辑之间的关联关系中,查找S202中确定出的事件标识关联的转换逻辑,作为接收到的控制事件的转换逻辑。Optionally, in this embodiment, the electronic device providing the cloud desktop service may pre-store associations between event identifiers of different external terminals and conversion logic. At this time, the conversion logic associated with the event identifier determined in S202 may be searched from the locally stored association relationship between the event identifier of the external terminal and the conversion logic, as the conversion logic of the received control event.
可选的,若电子设备本地没有存储事件标识与转换逻辑之间的关联关系,此时该电子设备还可以通过与其他外部设备(该外部设备可以是发送控制事件的外部终端,也可以不是发送控制事件的外部终端,本实施例对此不进行限定)进行交互,以获取S202中确定出的事件标识关联的转换逻辑,作为接收到的控制事件的转换逻辑。Optionally, if the electronic device does not locally store the association between the event identifier and the conversion logic, the electronic device may also communicate with other external devices (the external device may be an external terminal that sends a control event, or may not The external terminal that controls the event, which is not limited in this embodiment) interacts to obtain the conversion logic associated with the event identifier determined in S202 as the conversion logic of the received control event.
S204,根据解码结果和转换逻辑,生成目标事件。S204. Generate a target event according to the decoding result and conversion logic.
本实施例可以基于S202中解码控制事件得到的解码结果,调用S203中确定的转换逻辑,生成目标事件。In this embodiment, based on the decoding result obtained by decoding the control event in S202, the conversion logic determined in S203 may be invoked to generate the target event.
S205,将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。S205. Transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
本公开实施例的方案,外部终端向云桌面容器发送控制事件后,由云桌面容器中的信息流服务获取该控制事件,并对该控制事件解码,根据解码结果确定该控制事件所对应的转换逻辑,并基于转换逻辑和解码结果,生成目标事件,传输至云桌面容器的桌面系统,由桌面系统来响应该目标事件。本方案中云桌面容器与外部终端交互的事件是编码后的数据,并非数据原文,不易被破解,提高了控制事件的安全性,另外,编码后的事件还可以最大化的减少数据传输量,避免了资源的浪费。According to the solution of the embodiment of the present disclosure, after the external terminal sends a control event to the cloud desktop container, the information flow service in the cloud desktop container obtains the control event, decodes the control event, and determines the conversion corresponding to the control event according to the decoding result logic, and based on the conversion logic and decoding results, a target event is generated and transmitted to the desktop system of the cloud desktop container, and the desktop system responds to the target event. In this solution, the event of interaction between the cloud desktop container and the external terminal is encoded data, not the original text of the data, which is not easy to be cracked, which improves the security of the control event. In addition, the encoded event can also minimize the amount of data transmission. Waste of resources is avoided.
图3是本公开实施例提供的另一种数据处理方法的流程图,本实施例在上述实施例的基础上,对如何“根据控制事件的事件标识,对控制事件进行转换,得到目标事件”进行解释说明。如图3所示,本实施例提供的数据处理方法可以包括:Fig. 3 is a flowchart of another data processing method provided by an embodiment of the present disclosure. On the basis of the above embodiments, this embodiment discusses how to "convert the control event according to the event identifier of the control event to obtain the target event" Explain. As shown in Figure 3, the data processing method provided in this embodiment may include:
S301,获取外部终端发送的控制事件。S301. Obtain a control event sent by an external terminal.
S302,在识别到控制事件的属性信息有效的情况下,根据控制事件的事件标识,对控制事件进行转换,得到目标事件。S302. When it is recognized that the attribute information of the control event is valid, convert the control event according to the event identifier of the control event to obtain a target event.
控制事件的属性信息可以是表征控制事件属性的相关信息,例如,可以包括:事件标识、控制操作和事件参数等。其中,控制操作为用户在外部控制设备上的操作,例如,外部控制设备为鼠标时,该控制操作可以是左击、右击、以及滑轮等操作;外部控制设备为键盘时,该控制操作可以是敲击键盘上不同按键的操作。事件参数可以包括不同事件对应的参数值、参数长度以及事件生 成时间等。The attribute information of the control event may be relevant information characterizing the attribute of the control event, for example, may include: event identifier, control operation, event parameter, and so on. Wherein, the control operation is the user's operation on the external control device. For example, when the external control device is a mouse, the control operation can be operations such as left click, right click, and pulley; when the external control device is a keyboard, the control operation can be It is the operation of tapping different keys on the keyboard. Event parameters can include parameter values corresponding to different events, parameter length, and event generation time.
可选的,为了保证云桌面容器处理的控制事件的安全性和精准性,本实施例的信息流服务在对接收到的控制事件进行处理前,需要先识别接收到的控制事件的属性信息是否有效,对于属性信息有效的控制事件,再执行后续事件转换等操作;对于属性信息无效的控制事件,不再对其执行后续事件转换等操作。Optionally, in order to ensure the security and accuracy of the control event processed by the cloud desktop container, the information flow service in this embodiment needs to identify whether the attribute information of the received control event is Valid, for control events with valid attribute information, operations such as subsequent event conversion are performed; for control events with invalid attribute information, operations such as subsequent event conversion are not performed.
可选的,本实施例识别到控制事件的属性信息有效可以包括下述至少一项:识别到控制事件的事件标识为有效标识;识别到控制事件的控制操作为事件标识所支持的有效操作;识别到控制事件的事件参数符合有效参数范围。本实施例可以在支持云桌面服务的电子设备中存储有预先设置的有效的事件标识、每种类事件标识所支持的有效操作,以及有效的参数范围(如有效参数值范围、有效参数长度范围和有效事件时段中的至少一个),相应的,云桌面容器中的信息流服务,即实时流控制服务可以根据本地存储的上述有效信息中的至少一项,以及获取的控制事件的属性信息,来识别获取的控制事件的有效性。本实施例通过多种不同种类的属性信息来验证控制事件的有效性,提高了有效性验证过程的安全性和灵活性。Optionally, in this embodiment, identifying that the attribute information of the control event is valid may include at least one of the following: identifying that the event identifier of the control event is a valid identifier; identifying that the control operation of the control event is a valid operation supported by the event identifier; An event parameter was identified for a control event that fits within the valid parameter range. In this embodiment, electronic devices supporting cloud desktop services can store preset valid event identifiers, valid operations supported by each type of event identifier, and valid parameter ranges (such as valid parameter value ranges, valid parameter length ranges and at least one of the effective event periods), correspondingly, the information flow service in the cloud desktop container, that is, the real-time flow control service, can be based on at least one of the above-mentioned effective information stored locally and the attribute information of the acquired control event. Identify the validity of captured control events. In this embodiment, the validity of the control event is verified through various types of attribute information, which improves the security and flexibility of the validity verification process.
S303,将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。S303. Transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
本公开实施例的方案,外部终端向云桌面容器发送控制事件后,由云桌面容器中的信息流服务获取该控制事件,在识别到该控制事件的属性信息有效的情况下,根据控制事件的事件标识将其转换为目标事件后传输至云桌面容器的桌面系统,由桌面系统来响应该目标事件。本方案中的云桌面容器在接收到控制事件后,并非直接响应,而是先识别其有效性后再响应,提高了事件响应的安全性和准确性。According to the solution of the embodiment of the present disclosure, after the external terminal sends a control event to the cloud desktop container, the information flow service in the cloud desktop container obtains the control event, and when it is recognized that the attribute information of the control event is valid, according to the control event After the event identification is converted into a target event, it is transmitted to the desktop system of the cloud desktop container, and the desktop system responds to the target event. The cloud desktop container in this solution does not respond directly after receiving the control event, but first recognizes its validity and then responds, which improves the security and accuracy of event response.
图4是本公开实施例提供的一种云桌面系统搭建方式的示意图。如图4所示,本公开实施例的云桌面系统搭建在高级精简指令集处理器(Advanced Reduced Instruction Set Computer Machines,ARM)芯片服务器中,该服务器包括:中央处理单元(Central Processing Unit,CPU)、Mali图形处理器(Graphics Processing Unit,GPU)和网络接口控制器(Network Interface Controller,NIC)。该服务器的操作系统是Linux操作系统,例如ubuntu操作系统。使用该操作系统前,需要设置Linux系统参数,如命名空间参数(namespace)、容器参数(cgroup)、文件系统服务参数(overlayfs)、挂载文件参数(autofs)和网桥参数(bridge)等。本实施例可以在该服务器的ARM芯片中部署容器管理器,该容器管理器用于动态管理ARM芯片中云桌面容器的部署情况。例如,可以根 据需要运行的云桌面实例,以及当前ARM芯片服务器的可用资源,增加或减少ARM芯片服务器中部署的容器数量。本实施例的一个云桌面容器中,部署了云桌面容器运行时(即云桌面的运行环境)、信息流服务(即视频流推流服务和实时控制流服务)、桌面系统。该桌面系统中可以安装并运行第三方应用。本公开实施例可以通过容器管理器在ARM芯片服务器中进行云桌面容器的动态部署,能够根据实际使用需求调整云桌面容器的数量,相较于相关技术中通过在物理机上启动固定数量的虚拟机运行云桌面系统的方式,提高了对服务器的资源利用率。FIG. 4 is a schematic diagram of a cloud desktop system construction method provided by an embodiment of the present disclosure. As shown in Figure 4, the cloud desktop system of the embodiment of the present disclosure is built in an advanced reduced instruction set processor (Advanced Reduced Instruction Set Computer Machines, ARM) chip server, the server includes: a central processing unit (Central Processing Unit, CPU) , Mali graphics processor (Graphics Processing Unit, GPU) and network interface controller (Network Interface Controller, NIC). The operating system of the server is a Linux operating system, such as an ubuntu operating system. Before using this operating system, you need to set Linux system parameters, such as namespace parameters (namespace), container parameters (cgroup), file system service parameters (overlayfs), mount file parameters (autofs), and bridge parameters (bridge), etc. In this embodiment, a container manager may be deployed in the ARM chip of the server, and the container manager is used to dynamically manage the deployment of the cloud desktop container in the ARM chip. For example, the number of containers deployed in the ARM chip server can be increased or decreased according to the running cloud desktop instances and the available resources of the current ARM chip server. In a cloud desktop container in this embodiment, the cloud desktop container runtime (that is, the operating environment of the cloud desktop), the information flow service (that is, the video streaming push service and the real-time control streaming service), and the desktop system are deployed. Third-party applications can be installed and run on the desktop system. In the embodiment of the present disclosure, the container manager can be used to dynamically deploy the cloud desktop container in the ARM chip server, and the number of cloud desktop containers can be adjusted according to actual usage requirements. The way of running the cloud desktop system improves the resource utilization of the server.
图5是本公开实施例提供的另一种数据处理方法的流程图。本实施例在图4示出的云桌面系统的基础上,给出的一种基于容器实现云桌面技术的数据处理方法的实例。如图5所示,本实施例提供的数据处理方法可以包括:Fig. 5 is a flowchart of another data processing method provided by an embodiment of the present disclosure. Based on the cloud desktop system shown in FIG. 4 , this embodiment provides an example of a container-based data processing method for cloud desktop technology. As shown in Figure 5, the data processing method provided in this embodiment may include:
S501,实时控制流服务获取外部终端发送的控制事件。S501. The real-time control flow service obtains a control event sent by an external terminal.
S502,实时控制流服务根据控制事件的事件标识,对控制事件进行转换,得到目标事件。S502. The real-time control flow service converts the control event according to the event identifier of the control event to obtain the target event.
S503,实时控制流服务将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。S503, the real-time control flow service transmits the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
S504,视频流推流服务通过本地设备所配置的RAM对采集的音视频数据进行处理。S504, the video stream pushing service processes the collected audio and video data through the RAM configured on the local device.
视频流推流服务是用于向外部设备推送音视频数据(即音频数据和/或视频数据)的服务。本实施例中,对采集的音视频数据进行处理可以包括:转码处理和编码处理。且本实施例的视频流推流服务是基于ARM自带的Mali GPU对采集的音视频数据进行处理。The video streaming push service is a service for pushing audio and video data (ie, audio data and/or video data) to external devices. In this embodiment, processing the collected audio and video data may include: transcoding processing and encoding processing. And the video streaming streaming service of this embodiment is based on the Mali GPU that comes with the ARM to process the collected audio and video data.
视频流推流服务会在云桌面运行过程中,实时从云桌面服务的资源存储区采集云桌面当前待显示的音频数据和/或视频数据。受数据压缩、传输带宽和播放格式等因素的影响,通常需要在目标容器中,由视频流推流服务采用ARM自带的Mali GPU对视频数据进行转码、编码(如H264视频流编码)等操作,得到视频码流;对音频数据进行编码等操作,得到音频码流,然后将编后的视频码流和/或音频码流传输至外部终端,如瘦客户机端。外部终端接收到视频数据之后,对视频码流进行解码、转码等操作,得到视频数据,通过显示装置加以展示;对音频码流进行解码等操作,得到音频数据,通过声音输出装置加以输出。The video streaming streaming service will collect audio data and/or video data currently to be displayed on the cloud desktop from the resource storage area of the cloud desktop service in real time during the running of the cloud desktop. Affected by factors such as data compression, transmission bandwidth, and playback format, it is usually necessary to transcode and encode video data (such as H264 video stream encoding) by the video streaming service using the Mali GPU that comes with ARM in the target container. operation to obtain a video code stream; perform operations such as encoding audio data to obtain an audio code stream, and then transmit the coded video code stream and/or audio code stream to an external terminal, such as a thin client. After receiving the video data, the external terminal decodes and transcodes the video code stream to obtain video data, which is displayed on the display device; decodes the audio code stream to obtain audio data, which is output through the sound output device.
由于依赖CPU进行软解码的方式对硬件资源消耗过大,针对计算资源极其 珍贵的云桌面应用场景,很可能导致桌面传输图像卡顿,直接影响到操作方的使用体验。本公开实施例可以基于ARM自带的Mali GPU进行硬件编解码,进行音视频数据的渲染输出,极大发挥了GPU的硬件特性,降低了桌面响应时延,降低了CPU资源消耗。提高了资源的利用率,降低了实现云桌面的资源开销。Due to the excessive consumption of hardware resources by relying on the CPU for soft decoding, for cloud desktop application scenarios where computing resources are extremely precious, it is likely to cause desktop image transmission freezes, which directly affects the user experience of the operator. The embodiments of the present disclosure can perform hardware encoding and decoding based on the Mali GPU that comes with the ARM, and perform rendering and output of audio and video data, which greatly utilizes the hardware characteristics of the GPU, reduces desktop response delay, and reduces CPU resource consumption. The utilization rate of resources is improved, and the resource overhead for realizing cloud desktop is reduced.
在上述技术方案的基础上,本公开还提供了一种实现上述数据处理方法的执行装置的可选实施例。参见图6所示的一种数据处理装置600,配置于提供云桌面服务的电子设备中,例如可配置于电子设备中部署的云桌面容器中的信息流服务中。该装置600包括:事件获取模块601、事件转换模块602和事件传输模块603。其中,事件获取模块601,设置为获取外部终端发送的控制事件;事件转换模块602,设置为根据控制事件的事件标识,对控制事件进行转换,得到目标事件;事件传输模块603,设置为将目标事件传输至云桌面容器中的桌面系统,以使桌面系统响应目标事件。On the basis of the above technical solution, the present disclosure also provides an optional embodiment of an execution device for realizing the above data processing method. Referring to a data processing apparatus 600 shown in FIG. 6 , it is configured in an electronic device that provides a cloud desktop service, for example, it may be configured in an information flow service in a cloud desktop container deployed in the electronic device. The apparatus 600 includes: an event acquisition module 601 , an event conversion module 602 and an event transmission module 603 . Wherein, the event acquiring module 601 is set to acquire the control event sent by the external terminal; the event conversion module 602 is set to convert the control event according to the event identification of the control event to obtain the target event; the event transmission module 603 is set to convert the target event The event is transmitted to the desktop system in the cloud desktop container so that the desktop system can respond to the target event.
本公开实施例的方案,外部终端向云桌面容器发送控制事件后,由云桌面容器中的信息流服务获取该控制事件,并根据控制事件的事件标识将其转换为目标事件后传输至云桌面容器的桌面系统,由桌面系统来响应该目标事件。本方案解决了基于容器实现云桌面技术时,云桌面容器中的桌面系统无法直接处理外部终端发送的控制事件的问题,为基于容器实现云桌面技术提供了新的解决方案。According to the solution of the embodiment of the present disclosure, after the external terminal sends a control event to the cloud desktop container, the information flow service in the cloud desktop container obtains the control event, converts it into a target event according to the event identifier of the control event, and then transmits it to the cloud desktop The desktop system of the container responds to the target event. This solution solves the problem that the desktop system in the cloud desktop container cannot directly process control events sent by external terminals when implementing cloud desktop technology based on containers, and provides a new solution for implementing cloud desktop technology based on containers.
一实施例中,事件转换模块602设置为:In one embodiment, the event conversion module 602 is set to:
对控制事件进行解码,并从解码结果中获取控制事件的事件标识;根据事件标识,确定控制事件的转换逻辑;根据解码结果和转换逻辑,生成目标事件。The control event is decoded, and the event ID of the control event is obtained from the decoding result; the conversion logic of the control event is determined according to the event ID; and the target event is generated according to the decoding result and the conversion logic.
一实施例中,如图7所示,事件转换模块602包括:In one embodiment, as shown in FIG. 7, the event conversion module 602 includes:
有效性识别单元701,设置为识别控制事件的属性信息是否有效;事件转换单元702,设置为在识别到控制事件的属性信息有效的情况下,根据控制事件的事件标识,对控制事件进行转换。The validity identification unit 701 is configured to identify whether the attribute information of the control event is valid; the event conversion unit 702 is configured to convert the control event according to the event identifier of the control event if the attribute information of the control event is identified as valid.
一实施例中,有效性识别单元701设置为执行如下至少一项:In an embodiment, the validity identification unit 701 is configured to perform at least one of the following:
识别到控制事件的事件标识为有效标识;识别到控制事件的控制操作为事件标识所支持的有效操作;识别到控制事件的事件参数符合有效参数范围。The event identification of the identified control event is a valid identification; the control operation of the identified control event is a valid operation supported by the event identification; the event parameter of the identified control event conforms to the valid parameter range.
一实施例中,事件传输模块603设置为:In one embodiment, the event transmission module 603 is set to:
将目标事件添加到事件标识对应的事件队列中;将事件队列中的目标事件传输至云桌面容器中的桌面系统。Add the target event to the event queue corresponding to the event ID; transmit the target event in the event queue to the desktop system in the cloud desktop container.
一实施例中,如图8所示,上述数据处理装置600,还包括:In one embodiment, as shown in FIG. 8, the above-mentioned data processing device 600 further includes:
视频流处理模块604,设置为通过本地设备所配置的高级精简指令集处理器对采集的音视频数据进行处理。The video stream processing module 604 is configured to process the collected audio and video data through the advanced simplified instruction set processor configured on the local device.
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和效果。The above-mentioned products can execute the method provided by any embodiment of the present disclosure, and have corresponding functional modules and effects for executing the method.
本公开的技术方案中,所涉及的控制事件和音视频数据等的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。In the technical solution of the present disclosure, the acquisition, storage and application of control events and audio and video data involved are in compliance with relevant laws and regulations, and do not violate public order and good customs.
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
图9示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备700旨在表示多种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备700还可以表示多种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。FIG. 9 shows a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present disclosure. Electronic device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Electronic device 700 may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
如图9所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RandomAccess Memory,RAM)703中的计算机程序,来执行多种适当的动作和处理。在RAM 703中,还可存储电子设备700执行操作所需的多种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。As shown in FIG. 9 , the electronic device 700 includes a computing unit 701, which can be loaded into a random access memory (Random Access Memory, RAM) according to a computer program stored in a read-only memory (Read-Only Memory, ROM) 702 or from a storage unit 708. ) 703 to perform various appropriate actions and processes. In the RAM 703, various programs and data necessary for the electronic device 700 to perform operations can also be stored. The computing unit 701, ROM 702, and RAM 703 are connected to each other through a bus 704. An input/output (Input/Output, I/O) interface 705 is also connected to the bus 704 .
电子设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如多种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许电子设备700通过诸如因特网的计算机网络和/或多种电信网络与其他设备交换信息/数据。Multiple components in the electronic device 700 are connected to the I/O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a magnetic disk, an optical disk etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 709 allows the electronic device 700 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks.
计算单元701可以是多种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于CPU、图形处理单元(Graphics Processing Unit,GPU)、多种专用的人工智能(Artificial Intelligence,AI)计算芯片、多种运行机器学习模型算法的计算单元、数字信号处理器(Digital Signal Processing,DSP)、以及任何适当的处理器、控制器、微控制器等。本实施例 的GPU为ARM芯片自带的Mali GPU。计算单元701执行上文所描述的多个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到电子设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。 Computing unit 701 may be various general and/or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a CPU, a graphics processing unit (Graphics Processing Unit, GPU), a variety of dedicated artificial intelligence (Artificial Intelligence, AI) computing chips, a variety of computing units that run machine learning model algorithms, digital Signal processor (Digital Signal Processing, DSP), and any suitable processor, controller, microcontroller, etc. The GPU in this embodiment is the Mali GPU that comes with the ARM chip. The calculation unit 701 executes various methods and processes described above, such as data processing methods. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708 . In some embodiments, part or all of the computer program can be loaded and/or installed on the electronic device 700 via the ROM 702 and/or the communication unit 709. When the computer program is loaded into RAM 703 and executed by computing unit 701, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to execute the data processing method in any other suitable manner (for example, by means of firmware).
本文中以上描述的系统和技术的多种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(Field Programmable GateArray,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Parts,ASSP)、SOC、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。多种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and technologies described above in this paper can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (Field Programmable GateArray, FPGA), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), dedicated Standard products (Application Specific Standard Parts, ASSP), SOC, complex programmable logic device (Complex Programmable Logic Device, CPLD), computer hardware, firmware, software, and/or their combination. Various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor that can is a special-purpose or general-purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program codes for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (Erasable Programmable Read-Only Memory, EPROM, or Flash memory) ), fiber optics, Compact Disc Read-Only Memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:设置为向用户显示信息的显示装置(例如,阴极射线管(Cathode Ray Tube,CRT)或者液晶显示器(Liquid Crystal Display,LCD)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以设置为提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display ( Liquid Crystal Display (LCD) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which a user can provide input to the computer. Other types of devices may also be configured to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be in any form (including Acoustic input, speech input or, tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(WideArea Network,WAN)、区块链网络和互联网。The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Network (LAN), Wide Area Network (WideArea Network, WAN), blockchain networks, and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(Virtual Private Server,VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the problems existing in traditional physical host and virtual private server (Virtual Private Server, VPS) services. The defects of difficult management and weak business expansion. The server can also be a server of a distributed system, or a server combined with a blockchain.
人工智能是研究使计算机来模拟人的一些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。Artificial intelligence is a discipline that studies how to make computers simulate some human thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), both at the hardware level and at the software level. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, and machine learning/depth Learning technology, big data processing technology, knowledge map technology and other major directions.
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据 处理能力。Cloud computing (cloud computing) refers to access to elastic and scalable shared physical or virtual resource pools through the network. Resources can include servers, operating systems, networks, software, applications, and storage devices, etc., and can be on-demand and self-service. A technical system that deploys and manages resources in a unique way. Through cloud computing technology, it can provide efficient and powerful data processing capabilities for artificial intelligence, blockchain and other technical applications and model training.
可以使用上面所示的多种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的多个步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。Steps can be reordered, added, or removed using the various forms of flow shown above. For example, multiple steps described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.

Claims (16)

  1. 一种数据处理方法,包括:A data processing method, comprising:
    获取外部终端发送的控制事件;Obtain the control event sent by the external terminal;
    根据所述控制事件的事件标识,对所述控制事件进行转换,得到目标事件;converting the control event according to the event identifier of the control event to obtain a target event;
    将所述目标事件传输至云桌面容器中的桌面系统,以使所述桌面系统响应所述目标事件。The target event is transmitted to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  2. 根据权利要求1所述的方法,其中,所述根据所述控制事件的事件标识,对所述控制事件进行转换,得到目标事件,包括:The method according to claim 1, wherein said converting said control event according to the event identifier of said control event to obtain a target event comprises:
    对所述控制事件进行解码,并从解码结果中获取所述控制事件的事件标识;Decoding the control event, and obtaining the event identifier of the control event from the decoding result;
    根据所述事件标识,确定所述控制事件的转换逻辑;Determine the conversion logic of the control event according to the event identifier;
    根据所述解码结果和所述转换逻辑,生成所述目标事件。The target event is generated according to the decoding result and the conversion logic.
  3. 根据权利要求1或2所述的方法,其中,所述根据所述控制事件的事件标识,对所述控制事件进行转换,包括:The method according to claim 1 or 2, wherein converting the control event according to the event identifier of the control event comprises:
    在识别到所述控制事件的属性信息有效的情况下,根据所述控制事件的事件标识,对所述控制事件进行转换。If it is recognized that the attribute information of the control event is valid, the control event is converted according to the event identifier of the control event.
  4. 根据权利要求3所述的方法,其中,所述识别到所述控制事件的属性信息有效,包括下述至少一项:The method according to claim 3, wherein the attribute information identifying the control event is valid, comprising at least one of the following:
    识别到所述控制事件的事件标识为有效标识;The event identifier identifying the control event is a valid identifier;
    识别到所述控制事件的控制操作为所述事件标识所支持的有效操作;It is recognized that the control operation of the control event is a valid operation supported by the event identifier;
    识别到所述控制事件的事件参数符合有效参数范围。It is identified that the event parameter of the control event conforms to a valid parameter range.
  5. 根据权利要求1-4任一项所述的方法,其中,将所述目标事件传输至云桌面容器中的桌面系统,包括:The method according to any one of claims 1-4, wherein transmitting the target event to the desktop system in the cloud desktop container comprises:
    将所述目标事件添加到所述事件标识对应的事件队列中;adding the target event to an event queue corresponding to the event identifier;
    将所述事件队列中的目标事件传输至所述云桌面容器中的桌面系统。Transmitting the target event in the event queue to the desktop system in the cloud desktop container.
  6. 根据权利要求1所述的方法,还包括:The method according to claim 1, further comprising:
    通过本地设备所配置的高级精简指令集处理器对采集的音视频数据进行处理。The collected audio and video data is processed through the advanced simplified instruction set processor configured on the local device.
  7. 一种数据处理装置,包括:A data processing device, comprising:
    事件获取模块,设置为获取外部终端发送的控制事件;The event acquisition module is configured to acquire the control event sent by the external terminal;
    事件转换模块,设置为根据所述控制事件的事件标识,对所述控制事件进 行转换,得到目标事件;The event conversion module is configured to convert the control event according to the event identifier of the control event to obtain the target event;
    事件传输模块,设置为将所述目标事件传输至云桌面容器中的桌面系统,以使所述桌面系统响应所述目标事件。The event transmission module is configured to transmit the target event to the desktop system in the cloud desktop container, so that the desktop system responds to the target event.
  8. 根据权利要求7所述的装置,其中,所述事件转换模块设置为:The device according to claim 7, wherein the event conversion module is set to:
    对所述控制事件进行解码,并从解码结果中获取所述控制事件的事件标识;Decoding the control event, and obtaining the event identifier of the control event from the decoding result;
    根据所述事件标识,确定所述控制事件的转换逻辑;Determine the conversion logic of the control event according to the event identifier;
    根据所述解码结果和所述转换逻辑,生成所述目标事件。The target event is generated according to the decoding result and the conversion logic.
  9. 根据权利要求7或8所述的装置,其中,所述事件转换模块包括:The device according to claim 7 or 8, wherein the event conversion module comprises:
    有效性识别单元,设置为识别所述控制事件的属性信息是否有效;a validity identification unit configured to identify whether the attribute information of the control event is valid;
    事件转换单元,设置为在识别到所述控制事件的属性信息有效的情况下,根据所述控制事件的事件标识,对所述控制事件进行转换。The event conversion unit is configured to convert the control event according to the event identifier of the control event when it is recognized that the attribute information of the control event is valid.
  10. 根据权利要求9所述的装置,其中,所述有效性识别单元设置为执行如下至少一项:The device according to claim 9, wherein the validity identifying unit is configured to perform at least one of the following:
    识别到所述控制事件的事件标识为有效标识;The event identifier identifying the control event is a valid identifier;
    识别到所述控制事件的控制操作为所述事件标识所支持的有效操作;It is recognized that the control operation of the control event is a valid operation supported by the event identifier;
    识别到所述控制事件的事件参数符合有效参数范围。It is identified that the event parameter of the control event conforms to a valid parameter range.
  11. 根据权利要求7-10任一项所述的装置,其中,所述事件传输模块设置为:The device according to any one of claims 7-10, wherein the event transmission module is configured to:
    将所述目标事件添加到所述事件标识对应的事件队列中;adding the target event to an event queue corresponding to the event identifier;
    将所述事件队列中的目标事件传输至所述云桌面容器中的桌面系统。Transmitting the target event in the event queue to the desktop system in the cloud desktop container.
  12. 根据权利要求7所述的装置,还包括:The apparatus of claim 7, further comprising:
    视频流处理模块,设置为通过本地设备所配置的高级精简指令集处理器对采集的音视频数据进行处理。The video stream processing module is configured to process the collected audio and video data through the advanced simplified instruction set processor configured on the local device.
  13. 一种电子设备,包括:An electronic device comprising:
    至少一个处理器;以及at least one processor; and
    与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的数据处理方法。The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can perform any one of claims 1-6. data processing method.
  14. 根据权利要求13所述的电子设备,其中,The electronic device according to claim 13, wherein,
    所述至少一个处理器为高级精简指令集处理器。The at least one processor is an advanced reduced instruction set processor.
  15. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的数据处理方法。A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the data processing method according to any one of claims 1-6.
  16. 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的数据处理方法。A computer program product comprising a computer program which, when executed by a processor, implements the data processing method according to any one of claims 1-6.
PCT/CN2022/125605 2021-10-19 2022-10-17 Data processing method and apparatus, device, and storage medium WO2023066183A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111215063.5 2021-10-19
CN202111215063.5A CN113961289A (en) 2021-10-19 2021-10-19 Data processing method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2023066183A1 true WO2023066183A1 (en) 2023-04-27

Family

ID=79465155

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/125605 WO2023066183A1 (en) 2021-10-19 2022-10-17 Data processing method and apparatus, device, and storage medium

Country Status (2)

Country Link
CN (1) CN113961289A (en)
WO (1) WO2023066183A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961289A (en) * 2021-10-19 2022-01-21 北京百度网讯科技有限公司 Data processing method, device, equipment and storage medium
CN114710323A (en) * 2022-03-16 2022-07-05 苏州木星科技有限公司 Cloud desktop device based on block chain and data processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113528A1 (en) * 2013-10-21 2015-04-23 Electronics And Telecommunications Research Institute Virtual desktop service apparatus and method
WO2015078020A1 (en) * 2013-11-30 2015-06-04 华为技术有限公司 Gesture operation conversion method and apparatus
CN110174946A (en) * 2019-05-16 2019-08-27 上海达龙信息科技有限公司 Mouse action analogy method, simulation system, storage medium and electronic equipment
CN110891084A (en) * 2019-11-08 2020-03-17 深圳市华科智能有限公司 Thin client remote desktop control system based on autonomous HVDP protocol
CN113961289A (en) * 2021-10-19 2022-01-21 北京百度网讯科技有限公司 Data processing method, device, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109395372B (en) * 2018-12-07 2021-02-26 上海达龙信息科技有限公司 Method, system and electronic equipment for realizing remote control of computer game by gamepad
CN113395304A (en) * 2020-03-12 2021-09-14 阿里巴巴集团控股有限公司 Information pushing method and system, client, storage medium and computing terminal
CN112156450A (en) * 2020-08-20 2021-01-01 福建升腾资讯有限公司 Game handle redirection method and system applied to cloud desktop
CN113489805B (en) * 2021-07-21 2023-07-04 深圳市创凯智能股份有限公司 Butt joint method, device, equipment and storage medium of cloud desktop system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150113528A1 (en) * 2013-10-21 2015-04-23 Electronics And Telecommunications Research Institute Virtual desktop service apparatus and method
WO2015078020A1 (en) * 2013-11-30 2015-06-04 华为技术有限公司 Gesture operation conversion method and apparatus
CN110174946A (en) * 2019-05-16 2019-08-27 上海达龙信息科技有限公司 Mouse action analogy method, simulation system, storage medium and electronic equipment
CN110891084A (en) * 2019-11-08 2020-03-17 深圳市华科智能有限公司 Thin client remote desktop control system based on autonomous HVDP protocol
CN113961289A (en) * 2021-10-19 2022-01-21 北京百度网讯科技有限公司 Data processing method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN113961289A (en) 2022-01-21

Similar Documents

Publication Publication Date Title
WO2023066183A1 (en) Data processing method and apparatus, device, and storage medium
US9025898B2 (en) Dynamically selecting compression method for graphics remoting
US8856385B1 (en) Image display method and apparatus
US11470336B2 (en) Method for transcoding video and related electronic device
WO2023103390A1 (en) Task processing method, task processing apparatus, electronic device and storage medium
KR102589876B1 (en) Method and apparatus for step-assisted workflow
WO2023093016A1 (en) Cloud code development system, method, and apparatus, device, and storage medium
KR102601576B1 (en) Method and apparatus for step-assisted workflow
CN111816190A (en) Voice interaction method and device for upper computer and lower computer
US20220279242A1 (en) Method and Apparatus for Processing Information, Electronic Device and Computer Readable Medium
CN110807111A (en) Three-dimensional graph processing method and device, storage medium and electronic equipment
US9460481B2 (en) Systems and methods for processing desktop graphics for remote display
CN114245175A (en) Video transcoding method and device, electronic equipment and storage medium
CN114217996A (en) Sound mixing method and device
CN114071190A (en) Cloud application video stream processing method, related device and computer program product
CN113724398A (en) Augmented reality method, apparatus, device and storage medium
JP2023510450A (en) Applet page rendering method, apparatus, electronic device and storage medium
KR20230029502A (en) Edge computing network, data transmission method, device, electronic equipment and storage medium
JP2022133474A (en) Text recognition method, apparatus, electronic device, storage medium, and computer program
CN113760431B (en) Application control method and device, electronic equipment and readable storage medium
EP4075425A2 (en) Speech processing method and apparatus, device, storage medium and program
US11902346B2 (en) Method and apparatus for processing streaming media service, electronic device, and storage medium
CN114741198B (en) Video stream processing method and device, electronic equipment and computer readable medium
CN112671970B (en) Control method and control device for mobile equipment and cloud mobile phone, electronic equipment, mobile equipment, cloud server and medium
CN114461502A (en) Model monitoring method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22882789

Country of ref document: EP

Kind code of ref document: A1