Nothing Special   »   [go: up one dir, main page]

CN113407043B - Data processing method, device, equipment and system - Google Patents

Data processing method, device, equipment and system Download PDF

Info

Publication number
CN113407043B
CN113407043B CN202110725315.2A CN202110725315A CN113407043B CN 113407043 B CN113407043 B CN 113407043B CN 202110725315 A CN202110725315 A CN 202110725315A CN 113407043 B CN113407043 B CN 113407043B
Authority
CN
China
Prior art keywords
mouse
output device
display
data
roaming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110725315.2A
Other languages
Chinese (zh)
Other versions
CN113407043A (en
Inventor
黄玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202110725315.2A priority Critical patent/CN113407043B/en
Publication of CN113407043A publication Critical patent/CN113407043A/en
Application granted granted Critical
Publication of CN113407043B publication Critical patent/CN113407043B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

The application provides a data processing method, a device, equipment and a system, relates to the technical field of data processing, and can solve the problem of low mouse response speed in the process of realizing remote operation of a distributed system. The method comprises the following steps: obtaining keyboard and mouse data; wherein the keymouse data includes keymouse event and roaming matrix positions; under the condition that the key mouse data are determined to be effective data, determining a first target position according to the roaming matrix position; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the effective data are used for indicating the data in the display which is connected with the first output device by the keyboard data; transmitting a first target position to an input device corresponding to a first output device; the first target location is used to determine the location of the mouse in the coordinate system of the server to which the input device is connected.

Description

Data processing method, device, equipment and system
Technical Field
The present application relates to the field of data processing technologies, and in particular, to a data processing method, apparatus, device, and system.
Background
Agents (KVM) typically include agent personnel, agent stations, and office appliances. The office appliance comprises a mouse, a keyboard and a display. The seat management system is a system based on a man-machine separation KVM technology, and aims to solve the work requirement of a certain working position and the cooperation requirement between different positions.
With the maturity of the technology of the seat management system, the distributed system becomes the most widely applied system of the control center at present. Because the distributed system can realize remote operation of a plurality of seat stations, the service flow is greatly simplified, and the service efficiency is improved.
However, in the process of realizing remote operation, the distributed system has the problem of network delay, so that the response speed of the mouse is slower.
Disclosure of Invention
The application provides a data processing method, a device, equipment and a system, which can solve the problem of slow mouse response speed in the process of realizing remote operation of a distributed system.
The application adopts the following technical scheme:
in a first aspect, the present application provides a data processing method, applied to a first output device in a distributed system; the first output device is connected with at least one other output device and at least one input device; an output device connected to a display; the method comprises the following steps: obtaining keyboard and mouse data; the mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of the mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat; under the condition that the key mouse data are determined to be effective data, determining a first target position according to the roaming matrix position; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the effective data are used for indicating the data in the display which is connected with the first output device by the keyboard data; transmitting a first target position to an input device corresponding to a first output device; the first target location is used to determine the location of the mouse in the coordinate system of the server to which the input device is connected.
Based on the first aspect, under the condition that the first output device determines that the mouse data is effective data, determining a first target position of a mouse in a display connected with the first output device according to the roaming matrix position, and then sending the first target position to an input device corresponding to a mouse event; the first target position is used for determining the position of the mouse in the server connected with the input device, so that the position of the mouse in the server connected with the input device can be rapidly determined according to the first target position, and the server can control the mouse to be displayed in the display connected with the first output device according to the position in the remote operation process of the distributed system, thereby being beneficial to improving the response speed of the mouse.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the obtaining of the keyboard and mouse data includes: if the first output device is a master control node, responding to mouse triggering operation, and collecting mouse data; and if the first output device is a non-master control node, receiving the keyboard and mouse data sent by the master control node.
Based on the optional mode, in the application, the main control node has the function of sending data to other output devices in the same seat besides the function of the output device, namely, has the output function; in addition, each agent in the distributed system comprises a master control node, so that one master control node can only send data to other output devices in the same agent, and the power consumption of equipment is reduced.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; if the first output device is a master control node, acquiring a pre-configured roaming matrix parameter; the roaming matrix parameters comprise the area position information of the roaming matrix, the area position information of each display and the address information of all the displays in the roaming matrix, wherein the roaming matrix is formed by all the displays in the same seat; and if the first output device is a non-master control node, receiving the roaming matrix parameters sent by the master control node.
Based on the optional mode, in the application, the main control node has the function of sending data to other output devices in the same seat besides the function of the output device, namely, has the output function; in addition, each agent in the distributed system comprises a master control node, so that one master control node can only send data to other output devices in the same agent, and the power consumption of equipment is reduced.
Optionally, determining the mouse data as valid data includes: and comparing the mouse data with the roaming matrix parameters to determine that the mouse data is effective data.
Optionally, determining the first target location according to the roaming matrix location includes: acquiring uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; the first target location is determined based on the relative location, the uniform resolution, and a screen resolution of a display coupled to the first output device.
Based on this alternative, in the case that the display connected to the first output device includes a plurality of windows, the relative position of the mouse in the display connected to the first output device is calculated by the roaming matrix position and the unified resolution, and then the first target position of the mouse, that is, the OSD coordinates of the mouse are determined according to the relative position, the unified resolution, and the screen resolution of the display connected to the first output device, and since the unified resolution is introduced when determining the first target position, data distortion of the coordinates of the mouse in the coordinate conversion process can be reduced.
Optionally, where the display connected to the first output device includes a plurality of windows, determining the first target location based on the roaming matrix location includes: acquiring uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; acquiring a first configuration parameter, wherein the first configuration parameter comprises the position of a mouse in a window and the regional position information of the window; and determining the first target position according to the relative position, the first configuration parameter and the unified resolution.
Based on this alternative mode, in the case that the display connected to the first output device includes a plurality of windows, the relative position of the mouse in the display connected to the first output device is calculated through the roaming matrix position and the unified resolution, and then the first target position of the mouse is determined according to the relative position, the first configuration parameter and the unified resolution, that is, the relative window coordinates of the mouse are determined, and since the unified resolution is introduced when the first target position is determined, the data distortion of the mouse coordinates in the coordinate conversion process can be reduced.
In a second aspect, a data processing method is provided, which is applied to an input device in a distributed system; the method comprises the following steps: receiving a first target position sent by a first output device; the first target position is used for indicating a position on a display interface of a display connected with the first output device; determining a second target position of the mouse in a coordinate system of a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter; the second configuration parameter is used for indicating the unified resolution of the display connected with the first output device; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; the third configuration parameter is used for indicating the screen resolution of the server connected with the input device; and sending the second target position to a server connected with the input device, so that the server controls the mouse to display on a display connected with the first output device according to the second target position.
Based on the second aspect, after the input device receives the first target position, that is, the input device receives the position of the mouse in the display connected with the first output device, the first target position is converted into the second target position, that is, the position of the mouse in the server connected with the input device is converted, and then the converted position is sent to the server connected with the input device, so that consistency of the position of the mouse in the display and the position of the mouse in the server is ensured, the server can control the mouse to display on the display connected with the first output device according to the second target position, and response speed of the mouse is improved.
In addition, the first target position introduces the uniform resolution of the display connected with the first output device in the conversion process, and the second target position also introduces the uniform resolution of the display connected with the first output device in the conversion process, so that the data distortion of the mouse coordinate can be reduced in the coordinate conversion process.
In a third aspect, a data processing apparatus is provided, which may implement the functions performed by the data processing apparatus in the first aspect or in a possible design of the first aspect, where the functions may be implemented by hardware executing corresponding software. The hardware or software comprises one or more modules corresponding to the functions. The data processing device comprises an acquisition module, a determination module and a receiving-transmitting module; specifically, the acquisition module is used for acquiring the data of the key mouse; the mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of the mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat; the determining module is used for determining a first target position according to the roaming matrix position under the condition that the key mouse data are determined to be effective data; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the effective data are used for indicating the data in the display which is connected with the first output device by the keyboard data; the receiving and transmitting module is used for transmitting the first target position to the input device corresponding to the first output device; the first target location is used to determine the location of the mouse in the coordinate system of the server to which the input device is connected.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the acquisition module is specifically used for responding to mouse triggering operation and acquiring keyboard and mouse data if the first output device is a main control node; and if the first output device is a non-master control node, receiving the keyboard and mouse data sent by the master control node.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the acquisition module is further used for acquiring a preset roaming matrix parameter if the first output device is a main control node; the roaming matrix parameters comprise the area position information of the roaming matrix, the area position information of each display and the address information of all the displays in the roaming matrix, wherein the roaming matrix is formed by all the displays in the same seat; and if the first output device is a non-master control node, receiving the roaming matrix parameters sent by the master control node.
Optionally, the determining module is specifically configured to compare the mouse data with the roaming matrix parameters to determine that the mouse data is valid data.
Optionally, the determining module is specifically configured to obtain a uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; the first target location is determined based on the relative location, the uniform resolution, and a screen resolution of a display coupled to the first output device.
Optionally, in the case that the display connected to the first output device includes a plurality of windows, the determining module is specifically configured to obtain a uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; acquiring a first configuration parameter, wherein the first configuration parameter comprises the position of a mouse in a window and the regional position information of the window; and determining the first target position according to the relative position, the first configuration parameter and the unified resolution.
In a fourth aspect, a data processing apparatus is provided, which may implement the functions performed by the data processing apparatus in the second aspect or in a possible design of the second aspect, where the functions may be implemented by hardware executing corresponding software. The hardware or software comprises one or more modules corresponding to the functions. The data processing device comprises an acquisition module, a determination module and a receiving-transmitting module; specifically, the transceiver module is configured to receive a first target position sent from the first output device; the first target position is used for indicating a position on a display interface of a display connected with the first output device; the determining module is used for determining a second target position of the mouse in a coordinate system of a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter; the second configuration parameter is used for indicating the unified resolution of the display connected with the first output device; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; the third configuration parameter is used for indicating the screen resolution of the server connected with the input device; the receiving and transmitting module is also used for transmitting a second target position to a server connected with the input device so that the server controls the mouse to display on a display connected with the first output device according to the second target position.
In a fifth aspect, an embodiment of the present application provides a distributed system, including: at least one output device, at least one input device; the at least one output device is connected with the at least one input device through a network switching device; an output device connected to a display; the output means is for performing the method as described in the first aspect or any one of the possible implementations of the first aspect; the input device is for performing the method as described in the second aspect.
In a sixth aspect, an embodiment of the present application provides a computer device, the electronic device including a memory and a processor. The memory is coupled to the processor. The memory is for storing computer program code, the computer program code comprising computer instructions. When executed by a processor, to cause a computer device to perform a method as described in the first aspect or any one of the possible implementations of the first aspect; alternatively, the method as described in the second aspect is performed.
A seventh aspect, the present application provides a computer readable storage medium comprising computer instructions which, when run on a computer device, cause the electronic device to perform a method as described in any one of the possible implementations of the first or second aspects; alternatively, the method as described in the second aspect is performed.
An eighth aspect, the present application provides a computer program product comprising computer instructions which, when run on an electronic device, cause the electronic device to perform the method according to the first aspect or any one of the possible implementations of the first aspect; alternatively, the method as described in the second aspect is performed.
It should be appreciated that any of the above-mentioned data processing apparatus, computer-readable storage medium, computer program product or chip, etc. may be applied to the corresponding method provided above, and thus, the advantages achieved by the above-mentioned data processing apparatus, computer-readable storage medium, computer-program product or chip may refer to the advantages of the corresponding method, and are not repeated herein.
These and other aspects of the application will be more readily apparent from the following description.
Drawings
Fig. 1 is a schematic structural diagram of a distributed system according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a computer device according to an embodiment of the present application;
FIG. 3 is a schematic flow chart of a data processing method according to an embodiment of the present application;
fig. 4a is a schematic structural diagram of a coordinate system formed by all displays in the same seat according to an embodiment of the present application;
Fig. 4b is a schematic structural diagram of a display in a unified coordinate system according to an embodiment of the present application;
FIG. 5 is a flowchart illustrating another data processing method according to an embodiment of the present application;
FIG. 6 is a flowchart of another data processing method according to an embodiment of the present application;
FIG. 7 is a flowchart of another data processing method according to an embodiment of the present application;
FIG. 8a is a flowchart illustrating another data processing method according to an embodiment of the present application;
FIG. 8b is a flowchart illustrating another data processing method according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a plurality of windows included in a display in a coordinate system according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a data processing apparatus according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present application.
Detailed Description
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms "first" and "second" and the like in the description and in the drawings are used for distinguishing between different objects or between different processes of the same object and not for describing a particular order of objects.
Furthermore, references to the terms "comprising" and "having" and any variations thereof in the description of the present application are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed but may optionally include other steps or elements not listed or inherent to such process, method, article, or apparatus.
It should be noted that, in the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more.
The application provides a data processing method, under the condition that the data of a mouse is judged to be effective data, a first target position of the mouse in a display connected with a first output device is determined according to the position of a roaming matrix, and then the first target position is sent to an input device corresponding to a mouse event; since the first target position is used for determining the position of the mouse in the server connected with the input device, the position of the mouse in the server connected with the input device can be rapidly determined according to the first target position, and therefore, in the remote operation process of the distributed system, the server can control the mouse to be displayed in the display connected with the first output device according to the position, and the response speed of the mouse can be improved.
Before describing the embodiment of the present application, an application scenario related to the embodiment of the present application is introduced. The embodiment of the application can be applied to an electric power center, a financial center, a broadcasting and television center, a command center, an emergency center, a data center, an operation center, a transaction center and the like.
Taking a command center as an example, the distributed system provides operators with joint agent stations, one for each operator. The seat station comprises a plurality of displays needed by an operator during working, and the operator can check, monitor and interact with a plurality of remote servers to complete service requirements only by one set of mouse equipment. In addition, the plurality of seat stations can cooperate with each other, so that the working efficiency of operators can be effectively improved.
The distributed system separates the human and the machine, can provide better working environment and operation experience, so that an operator can call any interface needing to be displayed to a front display only by clicking once, and can see other interfaces in the peripheral vision range.
Embodiments of the present application will be described in detail below with reference to the drawings attached to the specification.
The data processing method provided by the application can be applied to the distributed system shown in fig. 1. As shown in fig. 1, a schematic structural diagram of a distributed system to which the technical solution provided by the embodiment of the present application is applicable is shown. The distributed system comprises at least one output device 10, at least one input device 20. Wherein at least one output device 10 is connected to at least one input device 20 via a network switching apparatus 30. The distributed system further includes at least one display 40, and at least one server 50; an output device 10 is connected to a display 40 and an input device 20 is connected to a server 50. The distributed system is illustrated in fig. 1 as comprising three output devices 10, two input devices 20, three displays 40, two servers 50.
The output device 10 and the display 40, the input device 20 and the server 50, and the output device 10 and the network switching device 30, and the input device 20 and the network switching device 30 may all be interconnected and communicate through a network. In particular, the network may be a wired communication network, a wireless communication network, or a fiber optic cable, etc.
It should be noted that, the distributed system provided by the embodiment of the present application includes at least one agent station (i.e., an agent in the present application), each agent station includes a set of mouse devices (keyboard and mouse), and one set of mouse devices controls all displays in the agent station, i.e., one set of mouse devices can be switched in each display in the agent station.
Specifically, the same seat station comprises a plurality of displays, and each display is correspondingly connected with one output device. For each seat station, all output devices connected with a display included in the seat station comprise a main control node. The master control node has a function of transmitting data to other output devices corresponding to the same seat, in addition to the function of the output device, that is, has an output function.
In addition, in the same seat, the function of each output device is the same. On this basis, any one of a plurality of output devices corresponding to the same seat can be used as a main control node in the seat.
It will be appreciated that in embodiments of the present application, where the distributed system includes a plurality of agent stations, each agent station includes a master node. That is, the number of the master control nodes corresponds to the number of the agent stations, and the number of the agent stations included in the distributed system is the same as the number of the master control nodes included in the distributed system; in this way, the main control node in each agent station can multicast and forward data to other output devices in the agent station, so that repeated data transmission can be avoided, and power consumption of equipment can be reduced.
In one possible implementation, multiple displays on the same agent station may be combined in rows and columns into a matrix in which a set of mouse devices may roam. As an example, the matrix may be referred to as a roaming matrix.
Accordingly, in connection with the above embodiment, one agent station corresponds to one roaming matrix, and thus it can also be understood that one roaming matrix includes one master node. The master node in each roaming matrix may multicast forwarding data to other output devices in the roaming matrix.
Note that the roaming matrix may be expressed as a format of n×m. Where N represents the number of displays in the direction of the roaming matrix rows and M represents the number of displays in the direction of the roaming matrix columns. In the embodiment of the present application, the specific number of n×m is not limited, and is based on actual practice.
Referring to fig. 1, taking an example that a distributed system includes two agent stations, a distributed system provided by an embodiment of the present application is illustrated below.
As shown in fig. 1, the distributed system comprises an agent station 1 and an agent station 2; wherein the seat station 1 comprises a display 40 and an output device 10; the seating station 2 comprises a display 401 and a display 402, an output device 101 and an output device 102, and a set of mouse equipment.
In the seat station 2, the display 401 is correspondingly connected to the output device 101, the display 402 is correspondingly connected to the output device 102, and the mouse device is connected to the output device 102. The mouse device can be switched between the display 401 and the display 402 at will.
Illustratively, in the agent station 2, the display 401 and the display 402 form a roaming matrix, and the mouse device in the agent station 2 can roam in the roaming matrix, so that a set of mouse devices can control all the displays in the roaming matrix.
For example, in the seat station 2, any one of the output devices may be used as a master control node. For example, the output device 101 may form a master node in a roaming matrix for the display 401 and the display 402. For another example, the output device 102 may form a master node in a roaming matrix for the display 401 and the display 402. It should be noted that, in the distributed system provided in the embodiment of the present application, the at least one display 40 and the at least one server 50 are not in the same range. As shown in fig. 1, the input device 20 is connected to the server 50, and the output device 10, the display 40, and the mouse device are connected to each other; the output device 10, the display 40, and the mouse device may be referred to as a first portion, and the input device 20 and the server 50 may be referred to as a second portion, where the first portion and the second portion are connected through the network switching device 30, that is, the first portion and the second portion are transmitted through a network, so that the server 50 may remotely control the display 40 in a plurality of seat stations.
Specifically, the input device 20 is configured to obtain data information output by the terminal device, and encode the data information to obtain encoded data; the encoded data is then sent to the output device 10 via the network switching device 30.
It should be noted that, each input device 20 is correspondingly connected to a terminal device. Optionally, the terminal device may be a host computer, a server, and an image capturing device.
In the case that the terminal device is a computer host or a server, the data information may be video, data, a graph, data, or the like stored in the computer host or the server in advance. In the case where the terminal device is an image capturing device, the data information may be an image (e.g., a monitoring screen) captured by the image capturing device.
For example, as shown in fig. 1, the image pickup apparatus may be an IPC (IP camera). The webcam may be, for example, a camera, a snapshot camera, a video camera, or the like.
The network switching device 30 is used to implement the signal exchange between the input apparatus 20 and the output apparatus 10. Illustratively, the network switching device 30 may be a switch.
In one possible implementation, the network switching device 30 may be configured to convert the output signal of the input apparatus 20 into a signal that the output apparatus 10 may receive, so that the output apparatus 10 may obtain the output signal of the input apparatus 20 in real time. In another possible implementation, the network device may also be used to convert the output signal of the output apparatus 10 into a signal that the input apparatus 20 can receive, so that the input apparatus 20 can acquire the output signal of the output apparatus 10 in real time.
The output device 10 is configured to receive the encoded data transmitted from the input device 20, decode the encoded data to obtain decoded data, and then display the decoded data on the display 40 correspondingly connected to the output device 10.
The display 40 is used for displaying video, data, charts, data and the like stored by the server 50 at the remote side; alternatively, the display 40 is used to display an image acquired by the image acquisition device on the distal end side.
By way of example, the display may be a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED) display, or the like, to which embodiments of the application are not limited.
The basic hardware structures of the input device 10, the output device 20, the network switching device 30, and the server 50 are similar, and all include elements included in the computer device shown in fig. 2. The hardware configuration of the input device 10, the output device 20, the network switching device 30, and the server 50 will be described below using the computer device shown in fig. 2 as an example.
As shown in fig. 2, the computer device may include a processor 601, a memory 602, a communication interface 603, a bus 604. The processor 601, the memory 602, and the communication interface 603 may be connected by a bus 604.
Processor 601 is a control center of a computer device, and processor 101 may be one processor or a plurality of processing elements. For example, the processor 601 may be a general-purpose central processing unit (central processing unit, CPU), or may be another general-purpose processor. Wherein the general purpose processor may be a microprocessor or any conventional processor or the like.
As one embodiment, processor 601 includes one or more CPUs, such as CPU 0 and CPU 1 shown in fig. 2.
The memory 602 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory, RAM) or other type of dynamic storage device that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), magnetic disk storage or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
In a possible implementation, the memory 602 may exist separately from the processor 601, and the memory 602 may be connected to the processor 601 through the bus 604 for storing instructions or program codes. The processor 601, when calling and executing instructions or program code stored in the memory 602, is capable of implementing the data processing method provided in the following embodiments of the present application.
In another possible implementation, the memory 602 may also be integrated with the processor 601.
A communication interface 603 for connecting the computer arrangement to other devices via a communication network, which may be an ethernet, a radio access network (radio access network, RAN), a wireless local area network (wireless local area networks, WLAN), etc. The communication interface 603 may include a receiving unit for receiving data, and a transmitting unit for transmitting data.
Bus 604 may be an industry standard architecture (Industry Standard Architecture, ISA) bus, an external device interconnect (Peripheral Component Interconnect, PCI) bus, or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, among others. The bus may be classified as an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in fig. 2, but not only one bus or one type of bus.
It should be noted that the structure shown in fig. 2 does not constitute a limitation of the computer device, and the computer device may include more or less components than those shown in fig. 2, or may combine some components, or may be provided with different components.
It should be noted that the structure shown in fig. 2 does not constitute a limitation of the computer device, and the computer device may include more or less components than those shown in fig. 2, or may combine some components, or may be an arrangement of different components.
The data processing method provided by the embodiment of the application is described in detail below with reference to the accompanying drawings.
The data processing method provided by the embodiment of the application comprises the following two implementation modes:
implementation mode I: the first output device acquires the mouse data, and determines a first target position according to the roaming matrix position under the condition that the mouse data are determined to be effective data; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device, the first output device sends the first target position to an input device corresponding to a mouse event, and the first target position is used for determining the position of the mouse in a server connected with the input device.
The first output device is any one of all output devices connected to a display included in one seat station. In the above embodiments, the first output device may be a master node or a non-master node.
For example, if the first output device is a master control node, the first output device collects the mouse data and sends the mouse data to other output devices connected to the first output device. If the first output device is a non-master control node, that is, one of the other output devices connected with the first output device is a master control node, the first output device and the other output devices of the non-master control node all receive the mouse data sent by the master control node.
The master control node has not only all functions of the output device, but also a function of multicasting and forwarding data to other output devices. Specifically, the multicast forwarded data may be a roaming matrix parameter; or mouse data.
Implementation II: the input device receives a first target position sent by the first output device; the input device determines a second target position of the mouse on a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter, and the input device sends the second target position to the server connected with the input device so that the server controls the mouse to display on a display connected with the first output device according to the second target position.
The above implementation I will now be described.
Fig. 3 is a schematic flow chart of a data processing method according to an embodiment of the present application, as shown in fig. 3, where the data processing method is applied to a first output device in a distributed system; the data processing method comprises the following steps:
s70, the first output device acquires the keyboard and mouse data.
The mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of a mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat.
In some embodiments, the operation of the mouse on the display connected to the first output device may be a click operation of the mouse on the display; alternatively, the mouse may be operated to slide on the display.
It should be noted that, in actual implementation, when the display is turned on each time, the position of the mouse is not necessarily located at the middle position of the display screen, but a certain displacement is provided relative to the middle position, so the roaming matrix position acquired by the first output device is determined by the relative displacement of the mouse and the middle position of the display screen.
For example, the relative displacement amount of the mouse may be expressed as (X1, Y1), and the middle position of the display screen may be expressed as (X0, Y0), so the roaming matrix position is (x1+x0, y1+y0).
S71, under the condition that the mouse data are determined to be effective data, the first output device determines a first target position according to the roaming matrix position.
The first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device.
In some embodiments, the display interface may be a rectangular Menu of adjustment item information for display items popped up by a screen of the display after a user presses a Menu (Menu) key. Various working indexes (such as color, mode, geometric shape and the like) of the display can be adjusted through an on-screen display (OSD) adjustment mode. Therefore, the position of the mouse in the display interface of the display connected to the first output device (i.e., the first target position) may also be referred to as OSD mouse coordinates.
It should be noted that, the valid data of the mouse data means: the mouse data is data on a display connected to the first output device. Specifically, since the mouse data includes a mouse event and a roaming matrix position, when the mouse data is valid data, that is, the mouse event included in the mouse data is content displayed on a display connected to the first output device, the roaming matrix position is a position of the mouse on the display connected to the first output device.
It should be noted that, in the embodiment of the present application, "position" refers to the coordinates of the mouse in the two-dimensional coordinate system.
For example, as shown in fig. 4a, the same agent includes six displays, and the six displays are combined according to rows and columns to form a matrix, that is, a roaming matrix in the embodiment of the present application, where a mouse in the same agent can roam.
Referring to fig. 4a, a two-dimensional coordinate system is established with the upper left corner (e.g., point a) of the display 1 in the roaming matrix as an origin, with X axis parallel to the horizontal direction and Y axis perpendicular to the horizontal direction. On this basis, the roaming matrix position is the coordinates of the mouse in the two-dimensional coordinate system established in fig. 4a, and the first target position is the coordinates of the mouse in the display connected to the first output device.
Illustratively, the roaming matrix location is (2220 ).
In addition, it should be noted that, since the first target position is the coordinate of the mouse in the display connected to the first output device, the screen displayed on the display is composed of pixels, and when the resolutions of the different displays are different, the pixels that the mouse moves in the different displays are necessarily different, so that the coordinate conversion needs to be performed on the roaming matrix position to obtain the first target position.
In order to ensure that the movement speeds of the mouse in different displays are consistent when the screen resolutions of the displays are different, all the displays in the same seat can have uniform resolution (which can be called uniform resolution) by establishing a uniform coordinate system.
Wherein the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the virtual resolutions of different displays are the same.
Exemplary, as shown in fig. 4b, a unified coordinate system is provided in the present application, and the unified coordinate system is a two-dimensional coordinate system. In some embodiments, the unified resolution is a base resolution of the output of the display in a unified coordinate system. For example, assuming that the display 401 and the display 402 are included in the same agent, the screen resolution of the display 401 is (2520 ), and the screen resolution of the display 402 is (1920 ). It will be appreciated by those skilled in the art that the resolution of a display refers to the length and width of the display. In other words, the screen resolution of the display 401 refers to the actual length and width of the display 401, and the screen resolution of the display 402 refers to the actual length and width of the display 402.
It is readily understood that the uniform resolution of the display refers to the virtual length and width of the display, that is, the uniform resolution of the display is the length and width of the display in a uniform coordinate system. Referring to fig. 4b, the length and width of the display 401 in the unified coordinate system are (1920 ), respectively, and the unified resolution of the display 401 is (1920 ). The length and width of the display 402 in the unified coordinate system are (1920 ), respectively, and the unified resolution of the display 402 is (1920 ).
It should be noted that, in the present application, the coordinate system established according to the roaming matrix and the unified coordinate system are not the same coordinate system, i.e., the coordinate system established according to the roaming matrix and the unified coordinate system are different.
Based on the above, the roaming matrix position may be converted according to the unified resolution, the screen resolution and the roaming matrix position of the display connected to the first output device, so as to obtain the first target position.
In combination with the above embodiment, after the first output device determines the first target position, the first output device sends the first target position to the input device corresponding to the mouse event, where the first target position is used to determine the position of the mouse in the server connected to the input device, so that the server controls the mouse to display in the display connected to the first output device according to the position.
In some embodiments, the input device corresponding to the first output device may be determined based on content displayed on a display connected to the first output device. For example, the content displayed on the display connected to the first output device is a video, so that the storage address of the video can be determined according to the address information (for example, IP address) corresponding to the video, that is, the server corresponding to the video can be determined, and then the input device connected to the server can be determined. Then, after the first output device determines the first target position, the first target position can be sent to the input device corresponding to the first output device.
In summary, in the embodiment of the present application, when the first output device determines that the mouse data is valid data, a first target position of the mouse in a display connected to the first output device is determined according to the roaming matrix position, and then the first target position is sent to an input device corresponding to a mouse event; the first target position is used for determining the position of the mouse in the server connected with the input device, so that the position of the mouse in the server connected with the input device can be rapidly determined according to the first target position, and the server can control the mouse to be displayed in the display connected with the first output device according to the position in the remote operation process of the distributed system, thereby being beneficial to improving the response speed of the mouse.
Implementation II will now be described.
FIG. 5 is a schematic flow chart of another data processing method according to an embodiment of the present application, as shown in FIG. 5, the data processing method is applied to an input device in a distributed system; the data processing method comprises the following steps:
s80, the input device receives the first target position sent by the first output device.
The first target position is used for indicating the position of the mouse on a display connected with the first output device.
It will be appreciated that, in combination with the above embodiment, after the first output device determines the first target position, the first target position is sent to the input device corresponding to the first output device, so that the input device receives the first target position.
S81, the input device determines a second target position of a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter.
Wherein the second configuration parameter is used for indicating the unified resolution of the display connected with the first output device, and the third configuration parameter is used for indicating the screen resolution of the server connected with the input device.
Specifically, S81 may be implemented as: the input device performs coordinate conversion on the position of the mouse in the display connected with the first output device, and the position of the mouse in the server connected with the input device is obtained.
For example, assuming that the first target location is (104,0), the second configuration parameter is 1920×1920, the third configuration parameter is 3840×2160, the second target location is (104/1920×3840,0/1920×2160), i.e., the second target location is (208,0).
The input device sends the second target location to a server connected to the input device.
Correspondingly, the server receives the second target position sent by the input device, so that the server controls the mouse to display on a display connected with the first output device according to the second target position.
It will be appreciated that the server to which the input device is connected is a remote server to which the first output device is connected, and that the display may display all of the video, data, and personal data stored in the remote server.
When the remote server receives the second target position, the remote server can control the mouse to display on the display according to the second target position.
In summary, in the embodiment of the present application, after the input device receives the first target position, that is, the input device receives the position of the mouse in the display connected to the first output device, the first target position is converted into the second target position, that is, the position of the mouse in the server connected to the input device is converted, and then the converted position is sent to the server connected to the input device, so that consistency of the position of the mouse in the display and the position of the mouse in the server is ensured, so that the server can control the mouse to display on the display connected to the first output device according to the second target position, which is beneficial to improving the response speed of the mouse.
In addition, the first target position introduces the uniform resolution of the display connected with the first output device in the conversion process, and the second target position also introduces the uniform resolution of the display connected with the first output device in the conversion process, so that the data distortion of the mouse coordinate can be reduced in the coordinate conversion process.
In the above embodiment I, the first output device may be a master node or a non-master node, and the output device serving as the master node has an output function. In one possible design, the master node may be configured with the roaming matrix parameters, which the master node then sends to all output devices in the same roaming matrix. In another possible design, the master node obtains the mouse data and then multicasts the mouse data, i.e. the master node sends the mouse data to all output devices in the same roaming matrix.
Taking the first output device as an example of the master control node, optionally, referring to fig. 3, as shown in fig. 6, the process of obtaining the mouse data may include S701.
S701, the first output device responds to mouse triggering operation to acquire the mouse data.
The triggering operation may be any feasible operation such as a clicking operation, a double-clicking operation, a sliding operation, etc., and may be specifically determined according to practical requirements, which is not particularly limited in the embodiments of the present application.
For example, taking a trigger operation as an example of a click operation, the trigger operation may be a click of a display screen of the current display by a mouse.
Optionally, in combination with fig. 3, as shown in fig. 6, after the mouse data is acquired, the data processing method further includes S70a.
S70a, the first output device acquires the pre-configured roaming matrix parameters.
The roaming matrix parameters comprise the area position information of the roaming matrix, the area position information of each display and the address information of all the displays in the roaming matrix, wherein the roaming matrix comprises all the displays in the same agent.
It should be noted that, the area location information of the roaming matrix refers to the length and width of the roaming matrix; the area location information of the display refers to the length and width of the display. For example, in a coordinate system made up of all displays in the same agent, the length of the rover matrix may be referred to as the first coordinate of the rover matrix in the coordinate system, and the width of the rover matrix may be referred to as the second coordinate of the rover matrix in the coordinate system. Accordingly, the length of the display may be referred to as a first coordinate of the display in the coordinate system and the width of the display may be referred to as a second coordinate of the display in the coordinate system.
Illustratively, the first coordinate may be an X-axis coordinate and the second coordinate may be a Y-axis coordinate; or the first coordinate is a Y-axis coordinate, and the second coordinate is an X-axis coordinate, which is not limited in the embodiment of the present application.
In addition, the address information may be, for example, the IP address of the display in the roaming matrix.
For example, taking the roaming matrix as an example shown in fig. 4a, in the displays shown in the first row of the roaming matrix, the IP address of each display is sequentially 1, 2, and 3 from left to right; in the displays shown in the second row of the roaming matrix, the IP address of each display is 4, 5, 6 in order from left to right.
Taking the first coordinate as the X-axis coordinate and the second coordinate as the Y-axis coordinate as an example, referring to fig. 4a, the first coordinate of the roaming matrix (i.e., the width of the roaming matrix) is 5760, and the second coordinate of the roaming matrix (i.e., the height of the roaming matrix) is 3840. The first coordinate of the display 1 is 1920, and the second coordinate of the display 1 is 1920; the first coordinate of display 2 is 3840 and the second coordinate of display 2 is 1920; the first coordinate of the display 3 is 5760, and the second coordinate of the display 3 is 1920; the first coordinate of display 4 is 1920 and the second coordinate of display 4 is 3840; the first coordinate of the display 5 is 3840, and the second coordinate of the display 5 is 3840; the first coordinate of the display 6 is 5760 and the second coordinate of the display 6 is 3840.
Taking the first output device as a non-master node as an example, optionally, referring to fig. 3, as shown in fig. 7, the process of obtaining the mouse data may include S702.
S702, the first output device receives the mouse data sent by the master control node.
Specifically, S702 may be implemented as: the master control node obtains the mouse data and sends the mouse data to all the output devices in the roaming matrix so that the first output device obtains the mouse data.
It should be noted that, the above embodiments may be referred to for the illustration of the mouse data, and will not be described herein.
Optionally, in combination with fig. 3, as shown in fig. 7, after the mouse data is acquired, the data processing method further includes S70b.
And S70b, the first output device receives the roaming matrix parameters sent by the main control node.
Specifically, S70b may be implemented as: after the master control node configures the roaming matrix parameters, the master control node sends the roaming matrix parameters to all output devices in the roaming matrix, so that the first output device receives the roaming matrix parameters.
It should be noted that, for the description of the roaming matrix parameters, reference may be made to the description of the roaming matrix parameters in the above embodiments, which is not described herein in detail.
Optionally, the process of determining the mouse data as valid data may include: and comparing the mouse data with the roaming matrix parameters to determine that the mouse data is effective data.
Specifically, after each output device receives the mouse data sent by the master control node, the mouse data is compared with the roaming matrix parameters to determine that the mouse data is effective data.
Exemplary, comparing the roaming matrix position in the mouse data with the first coordinate and the second coordinate of the roaming matrix included in the roaming matrix parameter, and the first coordinate and the second coordinate of each display in the roaming matrix, and judging whether the roaming matrix position is in the display connected with the first output device, if yes, judging that the mouse data is valid data; if not, judging that the mouse data is invalid data.
Referring to fig. 4a, the roaming matrix position (2220 ) is taken as an example, and the roaming matrix position is compared with the roaming matrix parameters for each output device.
For example, for an output device connected to the display 1, the output device compares the roaming matrix position with the roaming matrix parameters, and as a result of the comparison, the roaming matrix position is not in the display 1, so that the output device determines that the mouse data is invalid, and discards the mouse data.
For another example, for the output device connected to the display 5, the output device compares the roaming matrix position with the roaming matrix parameters, and the comparison result is that the roaming matrix position is in the display 5, so that the output device determines that the mouse data is valid data, and correspondingly, the output device is the first output device in the embodiment of the present application.
Alternatively, in combination with any of the above embodiments, as shown in fig. 8a, the process of determining the first target position according to the roaming matrix position may include S711a-S713a.
S711a, the first output device acquires the uniform resolution of the display connected to the first output device.
It will be appreciated that the unified resolution is used to characterize the virtual resolution of the displays, and that the unified resolution of different displays is the same in the same agent. It should be noted that, for the illustration of the uniform resolution, reference may be made to the above embodiments, and the description thereof is omitted here.
S712a, the first output device determines the relative position of the mouse in the display connected with the first output device according to the roaming matrix position and the unified resolution.
The relative position refers to the coordinates of the origin coordinates of the mouse with respect to the display connected to the first output device, and may also be referred to as the relative coordinates of the display connected to the first output device.
Illustratively, referring to FIG. 5, the display connected to the first output device is exemplified as display 5, and the relative position is the coordinates of the mouse with respect to the upper left corner (e.g., point a) of display 5.
For example, assuming the roaming matrix position is (2220 ) and the uniform resolution is 1920 x 1920, the relative position is (2220-1920 ), i.e., (300, 300).
S713a, the first output device determines the first target position of the mouse in the display connected to the first output device according to the relative position, the unified resolution, and the screen resolution of the display connected to the first output device.
For example, in combination with the above embodiment, assuming that the relative position is (300 ), the uniform resolution is 1920×1920, and the screen resolution of the display connected to the first output device is 1920×1080, the first target position is (300/1920×1920, 300/1920×1080), that is, (300, 168.75).
In one possible implementation, if the first target location includes a non-integer, then the integer needs to be taken to determine the first target location.
Illustratively, the integer-taking principle may employ rounding. For example, when the first target position is (300, 168.75), the rounding up may be performed, and then the first target position is (300, 169).
In some embodiments, the first target location is a location in a display connected to the first output device, which may also be referred to as OSD (on screen display) mouse coordinates.
In summary, in the embodiment of the present application, the relative position of the mouse in the display connected to the first output device is calculated through the roaming matrix position and the unified resolution, and then the first target position is calculated according to the relative position, the unified resolution, and the screen resolution of the display connected to the first output device.
Alternatively, in the case where the display connected to the first output device includes a plurality of windows, in combination with any of the above embodiments, as shown in fig. 8b, the process of determining the first target position according to the roaming matrix position may include S711b-S714b.
It should be noted that, the display connected to the first output device includes a plurality of windows means: the display connected to the first output device comprises a plurality of display areas, each display area corresponding to a window, i.e. the plurality of windows are displayed in the same display.
In addition, in the case where the display connected to the first output device includes a plurality of windows, it may be that the content displayed by each window is transmitted by the same server, that is, the content displayed by each window is data stored by the same server; or the content displayed by each window is sent by a different server, that is, the content displayed by each window is data stored by a different server.
S711b, the first output device acquires the uniform resolution of the display connected to the first output device.
S712b, the first output device determines the relative position of the mouse in the display connected to the first output device according to the roaming matrix position and the unified resolution.
It should be noted that, for the illustration and the specific implementation in S711b-S712b, reference may be made to the illustration and the specific implementation in S711a-S712a, which are not described herein in detail.
S713b, the first output device acquires the first configuration parameter.
The first configuration parameters comprise the position of the mouse in the window and the area position information of the window.
As shown in fig. 9, a display connected to the first output device is taken as a display 5, and the display 5 includes four windows as an example; on this basis, a two-dimensional coordinate system is established by taking the coordinate of the upper left corner of the display 5 as the origin coordinate, taking the X axis as the horizontal direction and taking the Y axis as the vertical direction, and the position of the mouse in the window is the window coordinate of the mouse in the two-dimensional coordinate system established in FIG. 9.
The area position information of the window refers to the length and width of the window. For example, in a coordinate system as shown in fig. 9, the length of a window may be referred to as a first coordinate of the window in the coordinate system, and the width of the window may be referred to as a second coordinate of the window in the coordinate system.
S714b, the first output device determines, according to the relative position, the first configuration parameter, and the unified resolution, a first target position of the mouse in the display connected to the first output device.
For example, assuming that the relative position is (300 ), the position of the mouse in the window included in the first configuration parameter is (100, 300), the first coordinate and the second coordinate of the window included in the first configuration parameter are (1000, 800), and the uniform resolution is 1920×1920, the first target position is ((300-100)/1000×1920, (300-300)/800×1920), that is, the first target position is (104,0).
In some embodiments, where the display connected to the first output device includes a plurality of windows, the first target location may also be referred to as relative window coordinates.
In summary, in the embodiment of the present application, when the display connected to the first output device includes a plurality of windows, the relative position of the mouse in the display connected to the first output device is calculated through the roaming matrix position and the unified resolution, and then the first target position of the mouse is determined according to the relative position, the first configuration parameter and the unified resolution, that is, the relative window coordinates of the mouse are determined, and since the unified resolution is introduced when determining the first target position, the data distortion of the mouse coordinates in the coordinate conversion process can be reduced.
The scheme provided by the embodiment of the invention is introduced mainly from the interaction point of the devices. It will be appreciated that the data processing apparatus or the like, in order to achieve the above-described functions, comprises corresponding hardware structures and/or software modules for performing the respective functions. Those of skill in the art will readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The embodiment of the present invention may divide the functional modules of the determining device and the like according to the above-described method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated in one processing module. The integrated modules may be implemented in hardware or in software functional modules. It should be noted that, in the embodiment of the present invention, the division of the modules is schematic, which is merely a logic function division, and other division manners may be implemented in actual implementation.
In the case of dividing the respective functional modules into respective functions, fig. 10 is a schematic diagram of a data processing apparatus 300 according to an embodiment of the present application, for implementing the functions in the above method. The data processing apparatus 300 is applied to a first output apparatus in a distributed system; the first output device is connected with at least one other output device and at least one input device; an output device connected to a display; the distributed system includes at least one agent. The data processing apparatus 300 may comprise an acquisition module 301, a determination module 302 and a transceiving module 303.
Specifically, the obtaining module 301 is configured to obtain data of a mouse. The mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of the mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat. For example, as shown in connection with fig. 3, the acquisition module 301 may be used to perform S70.
A determining module 302, configured to determine a first target position according to the roaming matrix position when the key mouse data is determined to be valid data; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the valid data is used to indicate the data in the display to which the keyboard and mouse data is connected to the first output device. For example, as shown in connection with fig. 3, the determination module 302 may be used to perform S71.
A transceiver module 303, configured to send the first target position to an input device corresponding to the first output device; the first target location is used to determine the location of the mouse in the coordinate system of the server to which the input device is connected.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the obtaining module 301 is specifically configured to, if the first output device is a master control node, respond to a mouse triggering operation, and collect mouse data; and if the first output device is a non-master control node, receiving the keyboard and mouse data sent by the master control node. For example, as shown in connection with fig. 6 and 7, the acquisition module 301 may be used to perform S701-S702.
Optionally, the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the obtaining module 301 is further configured to obtain a preset roaming matrix parameter if the first output device is a master node; the roaming matrix parameters comprise the area position information of the roaming matrix, the area position information of each display and the address information of all the displays in the roaming matrix, wherein the roaming matrix is formed by all the displays in the same seat; and if the first output device is a non-master control node, receiving the roaming matrix parameters sent by the master control node. For example, as shown in connection with fig. 6 and 7, the acquisition module 301 may be used to perform S70a-S70b.
Optionally, the determining module 302 is specifically configured to compare the mouse data with the roaming matrix parameters to determine that the mouse data is valid data.
Optionally, the determining module 302 is specifically configured to obtain a uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; the first target location is determined based on the relative location, the uniform resolution, and a screen resolution of a display coupled to the first output device. For example, as shown in connection with FIG. 8a, the determination module 302 may be used to perform S711a-S713a.
Optionally, in the case that the display connected to the first output device includes a plurality of windows, the determining module 302 is specifically configured to obtain the uniform resolution; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution; acquiring a first configuration parameter, wherein the first configuration parameter comprises the position of a mouse in a window and the regional position information of the window; and determining the first target position according to the relative position, the first configuration parameter and the unified resolution. For example, as shown in connection with FIG. 8a, the determination module 302 may be used to perform S711b-S714b.
As shown in fig. 11, another data processing apparatus 400 according to an embodiment of the present application is applied to an input apparatus in a distributed system. The data processing apparatus may comprise a transceiver module 401 and a determination module 402.
Specifically, the transceiver module 401 is configured to receive a first target position sent from a first output device; the first target position is for indicating a position on a display interface of a display connected to the first output device. For example, as shown in connection with fig. 5, the transceiver module 401 may be used to perform S80.
A determining module 402, configured to determine a second target position of the mouse in a coordinate system of a server connected to the input device according to the first target position, the second configuration parameter, and the third configuration parameter; the second configuration parameter is used for indicating the unified resolution of the display connected with the first output device; the unified resolution is used to characterize the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; the third configuration parameter is used to indicate a screen resolution of a server connected to the input device. For example, as shown in connection with fig. 5, the determination module 402 may be used to perform S81.
The transceiver module 401 is further configured to send the second target position to a server connected to the input device, so that the server controls the mouse to display on a display connected to the first output device according to the second target position.
As described above, the data processing apparatus 300 and the data processing apparatus 400 provided in the embodiments of the present application may be used to implement the functions in the method implemented in the embodiments of the present application, and for convenience of explanation, only the portions relevant to the embodiments of the present application are shown, and specific technical details are not disclosed, please refer to the embodiments of the present application.
In actual implementation, the acquiring module 301, the determining module 302, and the transceiving module 303 may be implemented by the processor 101 shown in fig. 2 invoking the program code in the memory 102, and the specific execution process thereof may refer to the descriptions of the data processing method parts shown in fig. 3, fig. 6-fig. 8b, which are not repeated herein. In addition, the transceiver module 401 and the determining module 402 may be implemented by the processor 101 shown in fig. 2 calling the program code in the memory 102, and the specific execution process thereof may refer to the description of the data processing method part shown in fig. 5, which is not repeated herein.
Still further embodiments of the present application provide a computer readable storage medium, which may include a computer program, which when run on a computer causes the computer to perform the steps of the embodiments shown in fig. 3, 5-8 b described above.
Still further embodiments of the present application provide a computer program product comprising a computer program product for causing a computer to carry out the steps of the embodiments shown in fig. 3, 5-8 b described above when the computer program product is run on the computer.
From the foregoing description of the embodiments, it will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of functional modules is illustrated, and in practical application, the above-described functional allocation may be implemented by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to implement all or part of the functions described above.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts displayed as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of specific embodiments of the present application, and the scope of the present application is not limited thereto, but any changes or substitutions within the technical scope of the present application should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (11)

1. A data processing method, characterized by being applied to a first output device in a distributed system; the first output device is connected with at least one other output device and at least one input device; an output device connected to a display; the data processing method comprises the following steps:
obtaining keyboard and mouse data; the mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of a mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat;
under the condition that the key mouse data are determined to be effective data, determining a first target position according to the roaming matrix position; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the effective data is used for indicating that the keyboard and mouse data are data in a display connected with the first output device;
And sending the first target position to an input device corresponding to the first output device, wherein the first target position is used for determining the position of the mouse in a coordinate system of a server connected with the input device.
2. The data processing method of claim 1, wherein the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; the obtaining of the mouse data includes:
if the first output device is a main control node, responding to mouse triggering operation, and collecting the keyboard and mouse data;
and if the first output device is a non-master control node, receiving the keyboard and mouse data sent by the master control node.
3. The data processing method of claim 1, wherein the distributed system comprises at least one agent; each seat comprises a main control node, and the main control node is any one of all output devices connected with a display in the corresponding seat; after the mouse data is acquired, the data processing method further comprises the following steps:
If the first output device is a master control node, acquiring a pre-configured roaming matrix parameter; the roaming matrix parameters comprise the area position information of the roaming matrix formed by all the displays in the same seat, the area position information of each display and the address information of all the displays in the roaming matrix;
and if the first output device is a non-master control node, receiving the roaming matrix parameters sent by the master control node.
4. A data processing method according to claim 3, wherein said determining that the key mouse data is valid data comprises:
and comparing the keyboard and mouse data with the roaming matrix parameters to determine that the keyboard and mouse data are valid data.
5. The method according to any one of claims 1-4, wherein said determining a first target location from said roaming matrix location comprises:
acquiring uniform resolution; the unified resolution is used for representing the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same;
determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution;
The first target location is determined based on the relative location, the uniform resolution, and a screen resolution of a display coupled to the first output device.
6. The method according to any one of claims 1-4, wherein, in case the display connected to the first output device comprises a plurality of windows, the determining the first target position according to the roaming matrix position comprises:
acquiring uniform resolution; the unified resolution is used for representing the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same;
determining the relative position of the mouse in a display connected with the first output device according to the roaming matrix position and the unified resolution;
acquiring a first configuration parameter; the first configuration parameters comprise the position of the mouse in a window and the regional position information of the window;
and determining the first target position according to the relative position, the first configuration parameter and the uniform resolution.
7. A data processing method, characterized by being applied to an input device in a distributed system; the distributed system further includes a plurality of output devices; any one first output device of the plurality of output devices is connected with other output devices and the input device; an output device connected to a display; the data processing method comprises the following steps:
Receiving a first target position sent by a first output device; the first target position is used for indicating the position of a mouse on a display interface of a display connected with the first output device; the first target position is determined according to the roaming matrix position under the condition that the first output device acquires the mouse data and determines that the mouse data is valid data;
the mouse data comprises a mouse event and a roaming matrix position, the mouse event is used for indicating the operation of a mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all displays in the same work and rest; the effective data is used for indicating that the keyboard and mouse data are data in a display connected with the first output device;
determining a second target position of the mouse in a coordinate system of a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter; the second configuration parameter is used for indicating the unified resolution of a display connected with the first output device; the unified resolution is used for representing the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; the third configuration parameter is used for indicating the screen resolution of a server connected with the input device;
And sending the second target position to a server connected with the input device, so that the server controls a mouse to display on a display connected with the first output device according to the second target position.
8. A distributed system comprising at least one output device, at least one input device; the at least one output device is connected with the at least one input device through network switching equipment; one of the output devices is connected with one display;
the output means being for performing the data processing method according to any one of claims 1-6 and the input means being for performing the data processing method according to claim 7.
9. A data processing apparatus, characterized by a first output means for use in a distributed system; the first output device is connected with at least one other output device and at least one input device; an output device connected to a display; the distributed system includes at least one agent; comprising the following steps:
the acquisition module is used for acquiring the data of the key mouse; the mouse data comprises a mouse event and a roaming matrix position, wherein the mouse event is used for indicating the operation of a mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all the displays in the same seat;
The determining module is used for determining a first target position according to the roaming matrix position under the condition that the key mouse data are determined to be effective data; the first target position is used for indicating the position of the mouse in a display interface of a display connected with the first output device; the effective data is used for indicating that the keyboard and mouse data are data in a display connected with the first output device;
and the receiving and transmitting module is used for transmitting the first target position to an input device corresponding to the first output device, and the first target position is used for determining the position of the mouse in a coordinate system of a server connected with the input device.
10. A data processing apparatus, characterized by an input device for use in a distributed system; the distributed system further includes a plurality of output devices; any one first output device of the plurality of output devices is connected with other output devices and the input device; an output device connected to a display; the data processing apparatus includes:
the receiving and transmitting module is used for receiving the first target position sent by the first output device; the first target position is used for indicating the position of a mouse on a display interface of a display connected with the first output device; the first target position is determined according to the roaming matrix position under the condition that the first output device acquires the mouse data and determines that the mouse data is valid data;
The mouse data comprises a mouse event and a roaming matrix position, the mouse event is used for indicating the operation of a mouse on a display connected with the first output device, and the roaming matrix position is used for indicating the position of the mouse in a coordinate system formed by all displays in the same work and rest; the effective data is used for indicating that the keyboard and mouse data are data in a display connected with the first output device;
the determining module is used for determining a second target position of the mouse in a coordinate system of a server connected with the input device according to the first target position, the second configuration parameter and the third configuration parameter; the second configuration parameter is used for indicating the unified resolution of a display connected with the first output device; the unified resolution is used for representing the virtual resolution of the display; in the same seat, the unified resolutions of different displays are the same; the third configuration parameter is used for indicating the screen resolution of a server connected with the input device;
the receiving and transmitting module is further used for sending the second target position to a server connected with the input device, so that the server controls a mouse to display on a display connected with the first output device according to the second target position.
11. A computer device, comprising: one or more processors, and memory; the processor and the memory are coupled; the memory is used for storing computer program codes, and the computer program codes comprise computer instructions;
when the processor executes the computer instructions, to cause the computer device to perform the data processing method of any one of claims 1-6 or to perform the data processing method of claim 7.
CN202110725315.2A 2021-06-29 2021-06-29 Data processing method, device, equipment and system Active CN113407043B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110725315.2A CN113407043B (en) 2021-06-29 2021-06-29 Data processing method, device, equipment and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725315.2A CN113407043B (en) 2021-06-29 2021-06-29 Data processing method, device, equipment and system

Publications (2)

Publication Number Publication Date
CN113407043A CN113407043A (en) 2021-09-17
CN113407043B true CN113407043B (en) 2023-09-05

Family

ID=77680034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725315.2A Active CN113407043B (en) 2021-06-29 2021-06-29 Data processing method, device, equipment and system

Country Status (1)

Country Link
CN (1) CN113407043B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115827282B (en) * 2023-02-14 2023-05-19 北京铁力山科技股份有限公司 Mouse roaming method, device, equipment and storage medium

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063421A (en) * 1996-08-27 1998-03-06 Hitachi Ltd Coordinate input method for display, and display device
JP2009193471A (en) * 2008-02-15 2009-08-27 Osaka Univ Display controller, display processor, application server, display control method, display processing method, application execution method, control program and recording medium
CN103823613A (en) * 2014-02-27 2014-05-28 广东威创视讯科技股份有限公司 Method and device for operating distributed display system by using mouse
CN105955690A (en) * 2016-06-07 2016-09-21 武汉烽火众智数字技术有限责任公司 Multi-screen switching device and method of computer
CN107273076A (en) * 2017-05-08 2017-10-20 广州美凯信息技术股份有限公司 A kind of method for visualizing cooperation management of attending a banquet, apparatus and system
CN109002269A (en) * 2018-06-28 2018-12-14 威创集团股份有限公司 Method, client and the system of a kind of singly-bound mouse control multiple terminals
CN110531870A (en) * 2019-08-16 2019-12-03 北京小鸟科技股份有限公司 KVM attends a banquet management system and mouse picking method
CN111061381A (en) * 2018-10-16 2020-04-24 南京仁光电子科技有限公司 Screen global input control system and method
CN111078020A (en) * 2019-12-09 2020-04-28 北京小鸟科技股份有限公司 Multi-specification display screen layout system and method for KVM system and coordinate mapping method
CN111610868A (en) * 2020-04-13 2020-09-01 西安万像电子科技有限公司 Mouse data processing method and system
CN111708446A (en) * 2020-06-22 2020-09-25 重庆紫光华山智安科技有限公司 Mouse roaming method, system, electronic equipment and storage medium
CN112068749A (en) * 2020-08-21 2020-12-11 易思维(杭州)科技有限公司 System and method for centralized display and control of screens of multi-screen single-terminal equipment
CN112256140A (en) * 2020-10-21 2021-01-22 上海晨驭信息科技有限公司 Multi-keyboard mouse cooperative control system in distributed KVM seat system
CN112764643A (en) * 2020-12-31 2021-05-07 西安万像电子科技有限公司 Method, system, equipment and storage medium for remotely controlling multi-screen computer
CN213241103U (en) * 2020-10-21 2021-05-18 上海晨驭信息科技有限公司 Multi-keyboard mouse cooperative control device in distributed KVM (keyboard video mouse) seat system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070257883A1 (en) * 2006-05-05 2007-11-08 Aten International Co., Ltd. Cursor control system and method thereof
US20100083122A1 (en) * 2008-10-01 2010-04-01 International Business Machines Corporation Systems, methods and computer products for controlling multiple machines using a seamless user-interface to a multi-display
US9798436B2 (en) * 2010-07-08 2017-10-24 Red Hat Israel, Ltd. Remote computing with a low latency mouse mode

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063421A (en) * 1996-08-27 1998-03-06 Hitachi Ltd Coordinate input method for display, and display device
JP2009193471A (en) * 2008-02-15 2009-08-27 Osaka Univ Display controller, display processor, application server, display control method, display processing method, application execution method, control program and recording medium
CN103823613A (en) * 2014-02-27 2014-05-28 广东威创视讯科技股份有限公司 Method and device for operating distributed display system by using mouse
CN105955690A (en) * 2016-06-07 2016-09-21 武汉烽火众智数字技术有限责任公司 Multi-screen switching device and method of computer
CN107273076A (en) * 2017-05-08 2017-10-20 广州美凯信息技术股份有限公司 A kind of method for visualizing cooperation management of attending a banquet, apparatus and system
CN109002269A (en) * 2018-06-28 2018-12-14 威创集团股份有限公司 Method, client and the system of a kind of singly-bound mouse control multiple terminals
CN111061381A (en) * 2018-10-16 2020-04-24 南京仁光电子科技有限公司 Screen global input control system and method
CN110531870A (en) * 2019-08-16 2019-12-03 北京小鸟科技股份有限公司 KVM attends a banquet management system and mouse picking method
CN111078020A (en) * 2019-12-09 2020-04-28 北京小鸟科技股份有限公司 Multi-specification display screen layout system and method for KVM system and coordinate mapping method
CN111610868A (en) * 2020-04-13 2020-09-01 西安万像电子科技有限公司 Mouse data processing method and system
CN111708446A (en) * 2020-06-22 2020-09-25 重庆紫光华山智安科技有限公司 Mouse roaming method, system, electronic equipment and storage medium
CN112068749A (en) * 2020-08-21 2020-12-11 易思维(杭州)科技有限公司 System and method for centralized display and control of screens of multi-screen single-terminal equipment
CN112256140A (en) * 2020-10-21 2021-01-22 上海晨驭信息科技有限公司 Multi-keyboard mouse cooperative control system in distributed KVM seat system
CN213241103U (en) * 2020-10-21 2021-05-18 上海晨驭信息科技有限公司 Multi-keyboard mouse cooperative control device in distributed KVM (keyboard video mouse) seat system
CN112764643A (en) * 2020-12-31 2021-05-07 西安万像电子科技有限公司 Method, system, equipment and storage medium for remotely controlling multi-screen computer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KVM系统客户端软件设计;王琰;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 *

Also Published As

Publication number Publication date
CN113407043A (en) 2021-09-17

Similar Documents

Publication Publication Date Title
CN100504740C (en) Remote control method, device and computer switcher
CN105045548B (en) Wireless screen transmission method, expansion equipment and wireless screen transmission system
CN102883135B (en) Screen sharing and control method
CN102377686B (en) Message subscription system, method and device
US9026919B2 (en) Local port browser interface
US20090273561A1 (en) Device control system
CN104618473A (en) Virtual machine desktop display method and device
CN101751905B (en) Method and system for processing display data of splicing wall
CN103294438A (en) Transmission control method and system of virtual desktop images
EP2905945A1 (en) Inter-terminal image sharing method, terminal device and communication system
CN109002269B (en) Method, client and system for controlling multiple terminals by single-key mouse
CN105005471A (en) Method, device, server and system for modifying configuration parameters of BIOS
CA3098941C (en) Systems and methods for bandwidth reduction in video signal transmission
CN100397320C (en) KVM switching system and its mouse synchronizing method
CN104602008A (en) Video encoding method, device and system
CN113407043B (en) Data processing method, device, equipment and system
CN105183269A (en) Method for automatically identifying screen where cursor is located
CN114967952A (en) Cursor control method and device, storage medium and video processing equipment
CN212624021U (en) Switching system for multi-host multi-network shared display
CN108508799A (en) A kind of long-range control method
CN111190675A (en) Three-dimensional image transmission method and equipment based on Roc processor
CN108874347B (en) Positioning identifier control method and system
CN104571583A (en) Method and device for switching KVM (Keyboard Video Mouse)
CN111726706A (en) Mobile phone group control system with software combined with hardware equipment
CN113891441A (en) Network connection method and device and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant