CN105573577B - Long-distance monitoring method, apparatus and system - Google Patents
Long-distance monitoring method, apparatus and system Download PDFInfo
- Publication number
- CN105573577B CN105573577B CN201410545962.5A CN201410545962A CN105573577B CN 105573577 B CN105573577 B CN 105573577B CN 201410545962 A CN201410545962 A CN 201410545962A CN 105573577 B CN105573577 B CN 105573577B
- Authority
- CN
- China
- Prior art keywords
- image
- data
- end client
- background server
- screenshot
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 211
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000006835 compression Effects 0.000 claims description 41
- 238000007906 compression Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Digital Computer Display Output (AREA)
Abstract
The invention discloses method, apparatus and system that one kind remotely monitors, wherein this method comprises: background server acquires the screenshot data of at least one front-end client, screenshot data are the image data for the image that front-end client is shown on local desktop;Background server saves the screenshot data of any one front-end client;And background server receive monitor terminal check instruction after, background server according to check instruction by the screenshot data-pushing of front-end client to monitor terminal so that the image that monitor terminal front monitoring front-end client is shown on local desktop.The present invention solves when remote monitoring function traditional in the prior art monitors multiple stage computers and to open multiple individual windows, switches the problem of consuming time is long and the resolution ratio of remote computer also can passively change leads to monitoring remote computer low efficiency.
Description
Technical Field
The invention relates to the field of computer internet, in particular to a remote monitoring method, a device and a system.
Background
In the field of computer internet, remote monitoring refers to a method for viewing and operating a remote computer through a network, and currently, most users use a remote desktop connection function of Windows to monitor the remote computer.
The existing Remote monitoring is a technology of remotely controlling another computer (a controlled end Host/a server end) by one computer (a master control end Remote/a client end) on a network, wherein the master control end computer only transmits instructions of a keyboard and a mouse to a Remote computer, and simultaneously, screen pictures of the controlled end computer are transmitted back through a communication line.
It should be noted here that the above-mentioned remote desktop connection function of Windows self-contained has the following two disadvantages:
1. a user can open an independent window when connecting one computer, and can open a plurality of windows when remotely connecting a plurality of computers, so that different windows need to be repeatedly switched when different remote computers are switched, and the operation is very inconvenient.
2. The resolution of the remotely monitored computer changes with the setting of the remote connection window, and when trying to display the remotely monitored computer desktop with a smaller resolution, the resolution of the remotely monitored computer is also changed.
Aiming at the problems that in the prior art, when a plurality of computers are monitored by the traditional remote monitoring function, a plurality of independent windows need to be opened, all remote computers cannot be monitored simultaneously, and the resolution ratio of the remote computers can be passively changed, so that the efficiency of monitoring the remote computers is low, an effective solution is not provided at present.
Disclosure of Invention
The invention mainly aims to provide a remote monitoring method to solve the problems that in the prior art, when a plurality of computers are monitored by a traditional remote monitoring function, a plurality of independent windows need to be opened, the switching takes long time, and the resolution ratio of the remote computer is passively changed, so that the efficiency of monitoring the remote computer is low.
To achieve the above object, according to an aspect of an embodiment of the present invention, there is provided a method of remote monitoring. The method comprises the following steps: the method comprises the steps that a background server collects screenshot data of at least one front-end client, wherein the screenshot data are image data of images displayed on a local desktop by the front-end client; the background server stores screenshot data of any one front-end client; and after the background server receives the viewing instruction of the monitoring terminal, the background server pushes the screenshot data of the front-end client to the monitoring terminal according to the viewing instruction, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client.
In order to achieve the above object, according to another aspect of the embodiments of the present invention, there is provided a device for remote monitoring. The device includes: the acquisition module is used for acquiring screenshot data of at least one front-end client, wherein the screenshot data is image data of an image displayed on a local desktop by the front-end client; the storage module is used for storing screenshot data of any one front-end client; and the monitoring module is used for pushing the screenshot data of the front-end client to the monitoring terminal according to the viewing instruction after receiving the viewing instruction of the monitoring terminal, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client.
In order to achieve the above object, according to another aspect of embodiments of the present invention, there is provided a system for remote monitoring, the system including: at least one front-end client; the system comprises a background server, a local desktop and a plurality of front-end clients, wherein the background server is used for establishing a communication relation with any one or more front-end clients and acquiring screenshot data of at least one front-end client, and the screenshot data is image data of an image displayed on the local desktop by the front-end client; and the monitoring terminal is in communication relation with the background server and is used for sending a viewing instruction to the background server and receiving screenshot data of the front-end client returned by the background server according to the viewing instruction, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client.
According to the embodiment of the invention, screenshot data of at least one front-end client is acquired through a background server, wherein the screenshot data is image data of an image displayed on a local desktop by the front-end client; the background server stores screenshot data of any one front-end client; and after the background server receives the checking instruction of the monitoring terminal, the background server pushes the screenshot data of the front-end client to the monitoring terminal according to the checking instruction, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client, and the problems that in the prior art, when a plurality of computers are monitored by the traditional remote monitoring function, a plurality of independent windows need to be opened, the switching time is long, and the resolution of the remote computer is passively changed, so that the efficiency of monitoring the remote computer is low are solved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the invention and not to limit the invention. In the drawings:
FIG. 1 is a schematic diagram of a system for remote monitoring according to one embodiment of the present invention;
FIG. 2 is a schematic diagram of a preferred remote monitoring system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a preferred remote monitoring system in accordance with one embodiment of the present invention;
FIG. 4 is a schematic diagram of a preferred remote monitoring system interaction in accordance with an embodiment of the present invention;
fig. 5 is a schematic diagram of a display interface of a monitoring terminal according to a first embodiment of the invention;
FIG. 6 is a schematic diagram of a display interface of a preferred monitor terminal according to one embodiment of the invention;
FIG. 7 is a flow chart of a method of remote monitoring according to a second embodiment of the invention; and
fig. 8 is a schematic structural diagram of a remote monitoring apparatus according to a third embodiment of the present invention.
Detailed Description
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present invention will be described in detail below with reference to the embodiments with reference to the attached drawings.
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged under appropriate circumstances in order to facilitate the description of the embodiments of the invention herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Example one
In its most basic configuration, fig. 1 is a schematic structural diagram of a remote monitoring system according to a first embodiment of the present invention. For descriptive purposes, the architecture portrayed is only one example of a suitable environment and is not intended to suggest any limitation as to the scope of use or functionality of the application. Neither should the computing system be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in FIG. 1.
An embodiment of the present invention provides a remote monitoring system, as shown in fig. 1, the system may include:
at least one front-end client 10.
The background server 20 establishes a communication relationship with any one or more front-end clients, and is configured to collect screenshot data of at least one front-end client, where the screenshot data is image data of an image displayed on a local desktop by the front-end client.
Specifically, with reference to fig. 2, a plurality of front-end clients associated with the background server may be provided, for example, as shown in fig. 2, the front-end clients may be a plurality of computer terminals such as a client 1 and a client 2, background server software and client software may be installed in the background server and the front-end clients, and the background server and the front-end clients may be connected in the same lan. It should be noted here that the background server and the front-end client use an asynchronous two-way communication mode, and use the dual http addressing protocol of the WCF to implement asynchronous communication, and it should be noted here that the present invention can perform asynchronous communication through 80 ports to avoid most firewall interception.
And the monitoring terminal 30 establishes a communication relationship with the background server, and is used for sending a viewing instruction to the background server and receiving screenshot data of the front-end client returned by the background server according to the viewing instruction, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client.
Specifically, as shown in fig. 2, the monitoring terminal may be connected to the backend server, a monitoring terminal user may send a viewing instruction to the backend server through the monitoring terminal, the backend server may execute the viewing instruction and push stored screenshot data of any one of the front-end clients to the monitoring terminal, the monitoring terminal may display the screenshot data, and the monitoring terminal user may monitor images displayed on a desktop by a plurality of computer terminals, such as the client 1 or the client 2, through the monitoring terminal, where it needs to be noted that local desktop images of the plurality of computer terminals may be displayed in a form of a plurality of small graphs in a window in a browser on the monitoring terminal, that is, a user may view desktop states of a plurality of clients simultaneously in a browser by using a plurality of small graphs, a certain client can also be checked and actually controlled in a single-graph mode, and the resolution of the local desktop of the front-end client is kept unchanged after the front-end client is monitored by the monitoring terminal.
It should be noted that the solution provided by the present application can be applied to a WCF framework-based browser-mode Windows system multi-screen remote monitoring method and system, and the above solution can simultaneously view desktop states of multiple computers in a small graph form in a browser, and can display a desktop of a certain computer as a full-screen mode, and can operate the remote computer in this mode. The system provides a new idea for the remote monitoring of the Windows system, can easily perform the remote monitoring of a plurality of computers by using the system, can also be used as an auxiliary system for automatic testing and performance testing, can improve the working efficiency and reduce the cost.
In the first embodiment of the present invention, the background server 20 sends the screenshot data of at least one front-end client 10 to the monitoring terminal 30, and the monitoring terminal 30 can view images of the desktops of a plurality of front-end clients 10, thereby solving the problems that a plurality of separate windows need to be opened when a plurality of computers are monitored by the conventional remote monitoring function in the prior art, simultaneous monitoring is not easy, and the efficiency of monitoring the remote computers is low due to the fact that the resolution of the remote computers is passively changed.
Optionally, the background server 20 is further configured to receive a registration request sent by the front-end client, and issue an image acquisition instruction to the front-end client when the front-end client successfully registers.
Specifically, the background server software in the background server may be started first, and then the client software in the plurality of front-end clients is started, and optionally, the user of the front-end client may register only by running the client software without performing other operations.
The front-end client 10 is further configured to periodically acquire an image displayed on the local desktop according to the image acquisition instruction, obtain at least one piece of screenshot data, and return the screenshot data to the backend server 20.
Specifically, the screenshot data may be image data of an image displayed on a local desktop by a front-end client, and preferably, the image capture instruction may include a predetermined period of image capture.
In an optional embodiment, the front-end client 10 may periodically acquire an image displayed on the local desktop according to the image acquisition instruction to obtain at least one piece of screenshot data, and this scheme may be implemented by the following scheme:
first, the front-end client 10 may intercept at least two images displayed on the local desktop according to the image capturing instruction and according to a predetermined period. In this step, the image capturing instruction may include a predetermined image capturing period, and preferably, the predetermined period may be 0.5s, that is, the front-end client intercepts the image of the local desktop once every 0.5 s.
Then, the front-end client 10 may obtain the image data of each image by analyzing each image.
Specifically, the front-end client may process the images by using an optimized image processing method to obtain image data of each image.
Finally, the front-end client 10 sequentially compares image data between adjacent images to obtain image difference data between the adjacent images, where the screenshot data may include: the image data of the first image and the image difference data between the adjacent images are captured.
For the above optional embodiment, the second embodiment of the present invention may provide the following example, which describes in detail the process of comparing any two images to obtain image difference data, which is implemented by the above optional embodiment:
first, the front-end client intercepts a first image of the local desktop at a first time, where the first image is a first image of any two images received by the front-end client.
Then, the first image is analyzed to generate image data of the first image.
At this time, the front-end client may capture a second image of the local desktop at a second time, where the first time and the second time are separated by a predetermined time length.
Next, the second image is analyzed to generate image data of the second image, where the second image is a second image of any two images received by the front-end client, and the reception time of the second image is later than the reception time of the first image.
Finally, comparing the image data of the first image with the image data of the second image to obtain image difference data between the first image and the second image.
It should be noted here that, since the method for obtaining pixels carried by the net platform is slow in operation, the comparison is performed by means of address pointers, and after the algorithm speed and the image transmission speed are balanced, the comparison is performed by a line-by-line comparison method. This may result in a larger range of results than is practical, but the algorithm is faster. Considering the operation of the intranet, the network transmission can be accepted for more than tens of k times.
The principle of obtaining image difference data of the first image and the second image by comparison is described in detail below with reference to fig. 3:
step (1): image data of two images of the first image and the second image are acquired.
Step (2): the length, width and pixel format of the two images are calculated and compared.
And (3): and respectively acquiring address pointers of the first image and the second image on a display interface.
And (4): values of four address pointers, up, down, left, and right, are initialized, where up is image high, left is image wide, right is 0, and down is 0.
And (5): analyzing the two images one by one from top to bottom and from left to right, and acquiring the pixels at the same positions of the two images, wherein if the pixels at the same positions of the two images are acquired, the step (6) is performed, and if the pixels at the same positions of the two images are not acquired, that is, the pixels are not the same, the step (5) is continuously and circularly performed until the pixels at the same positions of the two images are acquired.
And (6): it is determined whether the column of the current position is smaller than left.
And (7): in the case where the current position column is smaller than left, left is set to the column value of the current pixel, and then step (9) is performed.
In the case where the current position column is not smaller than the left side in step (8), step (9) is executed.
And (9): it is determined whether the current position column is larger than the right.
Step (10): if the current position column is larger than the right, the right is set to the column value of the current pixel, and step (12) is performed again.
Step (11): if the current position column is not larger than the right, step (12) is performed.
Step (12): and judging whether the current position line is smaller than the upper position line.
Step (13): if the current position line is smaller than the upper limit, the upper limit is set as the current pixel line value, and step (15) is executed again.
Step (14): if the current position row is not smaller than the upper position row, step (15) is directly performed.
Step (15): and judging whether the current position row is larger than the lower position row.
Step (16): if the current position row is larger than the current position row, the current pixel row is set to the lower position row, and step (18) is executed again.
Step (17): if the current position row is not larger than the current position row, step (18) is directly performed.
Step (18): taking the pixels at the same positions of the two images from bottom to top row by row from right to left, and it should be noted here that if the pixels in the two acquired images are the same, step (19) is entered, and if the pixels in the two acquired images are not the same, step (18) is executed in a loop until the pixels at the same positions of the two acquired images are the same.
Step (19): it is determined whether the current position column is larger than the right.
Step (20): if the current position column is larger than the right, the right is set to the current pixel column value, and the process is executed again (22)
Step (21): if the current position column is not larger than the right, step (22) is performed directly.
Step (22): and judging whether the current position row is larger than the lower position row.
Step (23): if the current position row is larger than the current position row, the current pixel row is set to the lower position row, and the process is executed again (25).
Step (24): if the current position row is larger than the current position row, step (25) is directly performed.
Step (25): and checking whether the upper, lower, left and right coordinates are rectangles or not.
Step (26): if the rectangular shape is adopted, the enclosed pattern is returned.
Step (27): if not, an empty rectangle is returned.
Based on the above optional embodiments, the following scheme may also be implemented after obtaining at least one of the above screenshot data: the front-end client sends the screenshot data to the background server, wherein the screenshot data comprises: image data of the first image and image difference data between the first image and the second image.
Specifically, the front-end client software can periodically acquire screenshots of the local desktop, process screenshot data by adopting an optimized image processing algorithm, compare the last image data of the image data domain, only keep different parts, compress and transmit the data, have very high data processing speed and very small transmitted data volume, and send the image data of the different parts to the background server, so that the whole image processing process is accelerated.
Optionally, the image capturing instruction may include: the method includes the following steps of presetting an image compression ratio value, wherein after each image is analyzed to obtain image data of each image, or after image data between adjacent images are sequentially compared to obtain image difference data between the adjacent images, the following two image compression schemes can be provided:
the first scheme is as follows:
the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server.
According to the scheme, compression is carried out before any two images are compared, and compressed image data are sent to the background server.
Scheme II:
the front-end client compresses the image data of the first captured image and the image difference data between adjacent images according to the image compression ratio respectively, and sends the compressed image data and the image difference data to the background server.
The second scheme realizes that the image difference data between the captured first image and the adjacent image are compressed according to the image compression ratio respectively, and the compressed image data is sent to the background server.
It should be noted here that, in an optional scheme provided by the present application, the monitoring terminal views the screenshot data in a multi-graph mode and/or a single-graph mode, and a user may view desktop states of all clients in a multi-graph mode in a browser, or view and actually control a certain client in a single-graph mode, specifically, for the viewing mode, an embodiment of the present invention may provide the following two schemes:
the first scheme is as follows: and under the condition that the monitoring terminal selects the multi-graph mode to view the screenshot data, the image compression ratio value sent by the background server is a first ratio value.
Specifically, the monitoring terminal user may select to view the desktop images of the front-end clients in a multi-graph manner in the browser, in this mode, because the desktop image of each front-end client is displayed in a small graph manner, the image data to be generated is small, the background server may send a first ratio value to the front-end client as a compression ratio, the front-end client may compress the image data according to the first ratio, optionally, the first ratio value may be 300 × 225, the compressed image may be 260K at maximum, and since only different portions are sent, the actual data is determined according to the size of the image before and after the image is changed.
Scheme II: and under the condition that the monitoring terminal selects the single-image mode to view the screenshot data, the image compression ratio value sent by the background server is the second ratio value.
Optionally, the monitoring terminal user may select to sequentially view the desktop images of the multiple front-end clients in a single-graph manner in the browser, in this mode, because the desktop image of each front-end client is displayed in a large-graph manner, the image data to be generated is large, the background server may issue a second ratio value to the front-end client as a compression ratio, the front-end client may compress the image data according to the second ratio, optionally, the second ratio value may be 1280 × 800, the compressed image may be 3M at most, and as only different parts are sent, the actual data is determined according to the size of the change of the last front and rear images.
It should be further noted that, in the process of switching between the multi-graph mode and the single-graph mode, each time the monitoring terminal 30 switches, the monitoring terminal controls the background server to issue a new image capturing instruction.
Specifically, when the monitoring terminal user views the desktop of the front-end client through the multi-graph mode or the single-graph mode, the size of the required image data is different, so that when the multi-graph mode and the single-graph mode are switched, the monitoring terminal can control the background server to issue a new image acquisition instruction, the new image acquisition instruction can also include a new image compression ratio, and the front-end client can also compress the image data according to the new image compression ratio.
It should be noted that, in the above optional embodiment provided by the present application, the background server may be accessed through a browser provided by the monitoring terminal, so as to implement monitoring of the data image of the front-end client acquired by the background server, specifically, after the user logs in the monitoring terminal, because the background server may acquire image data displayed on the desktops of one or more front-end clients at the same time, in the above example, the desktop states of all the clients may be simultaneously viewed in the browser of the monitoring terminal in a multi-graph manner, or the desktop of a certain computer may be selected to be viewed in a single-graph manner.
In an optional scheme, the viewing mode of the default browser is a multi-graph mode, in the multi-graph mode, each client desktop can be displayed in a small graph mode, so that image data is small, data of each picture is about 3KB, a user can set a transmission cycle of desktop image data acquired by any one or more front-end clients in a background server according to needs, that is, information of the transmission cycle is loaded in an image acquisition instruction and is sent to the front-end clients, different transmission frequencies can be adopted in different application environments, for example, considering the limitation of bandwidth, when the number of the front-end clients connected with the background server is large, the transmission cycle can be set to be large, and otherwise, the transmission cycle can be set to be small.
In another alternative, in the single-graph mode, the user may not only view the desktop state of any one front-end client computer in a full-screen manner, but also operate the remote computer using the browser of the monitoring terminal. In this mode, the server only obtains the desktop screenshot of the client, and since the image is large, the data of one picture can reach about 25KB, and the refresh rate is increased accordingly, a small transmission period can be set without limiting the network bandwidth, for example, the refresh period can reach 200 ms.
In a preferred embodiment provided by the present application, in the system embodiment provided by the embodiment of the present invention, the monitoring terminal may further be configured to record operation data generated when a user operates the screenshot data, and upload the operation data to the background server, where the operation data at least includes: keyboard operational data and mouse operational data.
Specifically, the monitoring terminal user may operate screenshot data sent by the backend server, that is, the monitoring terminal user may operate a desktop of the front end client to implement remote monitoring, in this embodiment, a function such as Win32API key _ event, mouse _ event, or the like may be used to implement a simulation operation on the desktop of the front end client, for example, when the monitoring terminal displays the desktop of the front end client, the monitoring terminal user may operate the desktop, for example, an operation of clicking or inputting on the desktop with a mouse or a keyboard generates operation data, and the monitoring terminal records the operation data. It should be noted here that the monitoring terminal user may also generate the operation data by means of a touch screen.
The background server is further configured to issue an operation instruction carrying the operation data to the front-end client.
The front-end client is also used for analyzing and displaying the received operation data and simulating the keyboard operation and/or the mouse operation of the monitoring terminal on the image displayed on the local desktop of the front-end client.
The following describes in detail the scheme of the first embodiment of the present application with reference to fig. 4 as follows:
A. software in all the front-end clients is registered to the background server, and the front-end client user can finish the registration only by running the front-end client software without other operations.
B. And the background server transmits an image acquisition period to the front-end client.
C. The front-end client can acquire local desktop images according to the image acquisition period and process image data according to an optimized image processing algorithm.
D. The front-end client can compare the image data collected successively to generate screenshot data, and the screenshot data can be: image data of an image displayed on a local desktop by a front-end client.
E. The front-end client can compress the processed screenshot data.
F. The front-end client can send the compressed screenshot data to the background server.
G. And the monitoring terminal sends a viewing instruction to the background server.
H. And the background server sends the stored screenshot data to the monitoring terminal.
I. The monitoring terminal receives the data and displays the data in the browser, as shown in fig. 5. Fig. 6 shows that the desktop of the front-end client is viewed in a multi-graph mode, and the monitoring terminal page can be selected to be viewed in a single-graph mode, as shown in fig. 6, it should be noted that when the user switches the viewing mode, the background server can be controlled to issue a new image acquisition cycle to the front-end client.
J. The monitoring terminal user can operate the screenshot data, namely operate the desktop of the front-end client, optionally, the operation data can be generated through a mouse or a keyboard, or the operation data can be generated in a touch manner, and the monitoring terminal records and sends the operation data.
K. And the background server sends an operation instruction with operation data to the front-end client.
And L, the front-end client analyzes the operation data and simulates the operation of a user so as to realize remote control.
Therefore, the invention can realize that the screenshot data of at least one front-end client is sent to the monitoring terminal through the background server, so that the monitoring terminal can look up the images of the desktops of a plurality of front-end clients, and solves the problems that in the prior art, when a plurality of computers are monitored by the traditional remote monitoring function, a plurality of independent windows need to be opened, the switching time is long, and the resolution of the remote computer is passively changed, so that the efficiency of monitoring the remote computer is low.
Example two
According to an embodiment of the present invention, there is also provided an embodiment of a method for implementing the above-described system embodiment. Fig. 7 is a flowchart of a remote monitoring method according to a second embodiment of the present invention. As shown in fig. 7, the method may include:
step S60, the background server collects screenshot data of at least one front-end client, where the screenshot data is image data of an image displayed on a local desktop by the front-end client.
Specifically, with reference to fig. 2, a plurality of front-end clients associated with the background server may be provided, for example, as shown in the figure, the front-end clients may be a plurality of computer terminals such as a client 1 and a client 2, background server software and client software may be installed in the background server and the front-end clients, and the background server and the front-end clients may be connected in the same lan. It should be noted here that the background server and the front-end client use an asynchronous two-way communication mode, and use the dual http addressing protocol of the WCF to implement asynchronous communication, and the invention to be further described here can perform asynchronous communication through 80 ports to avoid most firewall interception.
And step S62, the background server stores the screenshot data of any one front-end client.
Step S64, after the background server receives the checking instruction of the monitoring terminal, the background server pushes the screenshot data of the front-end client to the monitoring terminal according to the checking instruction, so that the monitoring terminal monitors the image displayed on the local desktop by the front-end client.
Specifically, with reference to fig. 2, the monitoring terminal may be connected to the background server, and a monitoring terminal user may send a viewing instruction to the background server through the monitoring terminal, the background server can execute the viewing instruction and push the stored screenshot data of any one of the front-end clients to the monitoring terminal, the monitoring terminal can display the screenshot data, a monitoring terminal user can monitor images displayed on a desktop by a plurality of computer terminals such as the client 1 or the client 2 through the monitoring terminal, it should be noted here that the above-mentioned local desktop images of a plurality of computer terminals can be displayed in the form of a plurality of small pictures in a window in a browser on the monitoring terminal, and, after the monitoring terminal monitors the front-end client, the resolution of the local desktop of the front-end client is also kept unchanged.
It should be noted that, the solution provided in the foregoing steps S60 to S64 of the present application may be applied to a method and a system for remote monitoring Windows system multiple screens in a browser mode based on a WCF framework, where the solution looks at desktop states of multiple computers in a small graph form in a browser at the same time, and can display a desktop of a certain computer in a full screen mode, and the remote computer can be operated in this mode. The system provides a new idea for the remote monitoring of the Windows system, can easily perform the remote monitoring of a plurality of computers by using the system, can also be used as an auxiliary system for automatic testing and performance testing, can improve the working efficiency and reduce the cost.
In the second embodiment of the present invention, the background server sends the screenshot data of at least one front-end client to the monitoring terminal, so that the monitoring terminal can view images of the desktops of a plurality of front-end clients, thereby solving the problems in the prior art that a plurality of separate windows need to be opened when a plurality of computers are monitored by the conventional remote monitoring function, simultaneous monitoring is not easy, and the efficiency of monitoring the remote computer is low due to the fact that the resolution of the remote computer is passively changed.
Optionally, in step S60, before the backend server collects screenshot data of at least one front-end client, the method provided in the embodiment of the present invention may further include:
step S601, the background server receives a registration request sent by the front-end client.
Specifically, the background server software in the background server may be started first, and then the client software in the plurality of front-end clients is started, and optionally, the user of the front-end client may register only by running the client software without performing other operations.
Step S603, the background server issues an image acquisition instruction to the front-end client when the front-end client successfully registers.
And step S605, the background server receives screenshot data returned by the front-end client, wherein the front-end client periodically collects images displayed on the local desktop according to the image collection instruction to obtain at least one screenshot data.
Specifically, the screenshot data may be image data of an image displayed on a local desktop by a front-end client, and preferably, the image capture instruction may include a predetermined period of image capture.
In an optional embodiment, in step S605, the front-end client may periodically acquire an image displayed on the local desktop according to the image acquisition instruction, and the step of obtaining at least one piece of screenshot data includes:
step S6051, capturing at least two images displayed on the local desktop according to the image capturing instruction and a predetermined period.
Specifically, the image capture instruction may include a predetermined image capture period, and preferably, the predetermined period may be 0.5s, that is, the front-end client intercepts the image of the local desktop once every 0.5 s.
In step S6053, each image is analyzed to obtain image data of each image.
Specifically, the front-end client may process the images by using an optimized image processing method to obtain image data of each image.
Step S6055, sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, where the screenshot data may include: the image data of the first image and the image difference data between the adjacent images are captured.
Optionally, the process of comparing any two images implemented in the above step S6051 to step S6055 to obtain image difference data according to the present invention may be described in detail by the following example:
in step S10, the front-end client intercepts a first image of the local desktop at a first time, where the first image is a first image of any two images received by the front-end client.
In step S30, the first image is analyzed to generate image data of the first image. And the front-end client intercepts a second image of the local desktop at a second moment, and the first moment and the second moment are separated by a preset time length.
In step S50, the second image is analyzed to generate image data of the second image, where the second image is the second image of any two images received by the front-end client, that is, the receiving time of the second image is later than the receiving time of the first image.
Step S70 compares the image data of the first image with the image data of the second image to obtain image difference data between the first image and the second image.
It should be noted here that, since the method for obtaining pixels carried by the net platform is slow in operation, the comparison is performed by means of address pointers, and after the algorithm speed and the image transmission speed are balanced, the comparison is performed by a line-by-line comparison method. This may result in a larger range of results than is practical, but the algorithm is faster. Considering the operation of the intranet, the network transmission can be accepted for more than tens of k times.
The principle of obtaining image difference data of the first image and the second image by comparison is described in detail below with reference to fig. 3:
step (1): image data of two images of the first image and the second image are acquired.
Step (2): the length, width and pixel format of the two images are calculated and compared.
And (3): and respectively acquiring address pointers of the first image and the second image on a display interface.
And (4): values of four address pointers, up, down, left, and right, are initialized, where up is image high, left is image wide, right is 0, and down is 0.
And (5): analyzing the two images one by one from top to bottom and from left to right, and acquiring the pixels at the same positions of the two images, wherein if the pixels at the same positions of the two images are acquired, the step (6) is performed, and if the pixels at the same positions of the two images are not acquired, that is, the pixels are not the same, the step (5) is continuously and circularly performed until the pixels at the same positions of the two images are acquired.
And (6): it is determined whether the column of the current position is smaller than left.
And (7): in the case where the current position column is smaller than left, left is set to the column value of the current pixel, and then step (9) is performed.
In the case where the current position column is not smaller than the left side in step (8), step (9) is executed.
And (9): it is determined whether the current position column is larger than the right.
Step (10): if the current position column is larger than the right, the right is set to the column value of the current pixel, and step (12) is performed again.
Step (11): if the current position column is not larger than the right, step (12) is performed.
Step (12): and judging whether the current position line is smaller than the upper position line.
Step (13): if the current position line is smaller than the upper limit, the upper limit is set as the current pixel line value, and step (15) is executed again.
Step (14): if the current position row is not smaller than the upper position row, step (15) is directly performed.
Step (15): and judging whether the current position row is larger than the lower position row.
Step (16): if the current position row is larger than the current position row, the current pixel row is set to the lower position row, and step (18) is executed again.
Step (17): if the current position row is not larger than the current position row, step (18) is directly performed.
Step (18): taking the pixels at the same positions of the two images from bottom to top row by row from right to left, and it should be noted here that if the pixels in the two acquired images are the same, step (19) is entered, and if the pixels in the two acquired images are not the same, step (18) is executed in a loop until the pixels at the same positions of the two acquired images are the same.
Step (19): it is determined whether the current position column is larger than the right.
Step (20): if the current position column is larger than the right, the right is set to the current pixel column value, and the process is executed again (22)
Step (21): if the current position column is not larger than the right, step (22) is performed directly.
Step (22): and judging whether the current position row is larger than the lower position row.
Step (23): if the current position row is larger than the current position row, the current pixel row is set to the lower position row, and the process is executed again (25).
Step (24): if the current position row is larger than the current position row, step (25) is directly performed.
Step (25): and checking whether the upper, lower, left and right coordinates are rectangles or not.
Step (26): if the rectangular shape is adopted, the enclosed pattern is returned.
Step (27): if not, an empty rectangle is returned.
In an alternative scheme provided by the present application, after obtaining at least one screenshot data, the method provided in the embodiment of the present invention further includes: the front-end client sends the screenshot data to a background server, wherein the screenshot data comprises: image data of the first image and image difference data between the first image and the second image.
Specifically, the front-end client software can periodically acquire screenshots of the local desktop, process screenshot data by adopting an optimized image processing algorithm, compare the last image data of the image data domain, only reserve different parts, and then send the image data of the different parts to the background server, so that the whole image processing process is accelerated.
Optionally, the image capturing instruction may include: the method includes the following steps that a preset image compression ratio value is obtained, wherein after each image is analyzed to obtain image data of each image, or after image data between adjacent images are sequentially compared to obtain image difference data between the adjacent images, the following two schemes for compressing the images can be provided:
the first scheme is as follows:
the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server.
According to the scheme, compression is carried out before any two images are compared, and compressed image data are sent to the background server.
Scheme II:
the front-end client compresses the image data of the first captured image and the image difference data between adjacent images according to the image compression ratio respectively, and sends the compressed image data and the image difference data to the background server.
The second scheme realizes that the image difference data between the captured first image and the adjacent image are compressed according to the image compression ratio respectively, and the compressed image data is sent to the background server.
It should be noted here that, in an optional scheme provided by the present application, the monitoring terminal may use a multi-graph mode and/or a single-graph mode to view screenshot data, and a user may use a multi-graph mode to view desktop states of all clients in a browser, or may use a single-graph mode to view and actually control a certain client, specifically, for the viewing mode, an embodiment of the present invention may provide the following two schemes:
the first scheme is as follows: and under the condition that the monitoring terminal selects the multi-graph mode to view the screenshot data, the image compression ratio value sent by the background server is a first ratio value.
Specifically, the monitoring terminal user may select to view the desktop images of the front-end clients in a multi-graph manner in the browser, in this mode, because the desktop image of each front-end client is displayed in a small graph manner, the image data to be generated is small, the background server may send a first ratio value to the front-end client as a compression ratio, the front-end client may compress the image data according to the first ratio, optionally, the first ratio value may be 300 × 225, the compressed image may be 260K at maximum, and since only different portions are sent, the actual data is determined according to the size of the image before and after the image is changed.
Scheme II: and under the condition that the monitoring terminal selects the single-image mode to view the screenshot data, the image compression ratio value sent by the background server is the second ratio value.
Optionally, the monitoring terminal user may select to sequentially view the desktop images of the multiple front-end clients in a single-graph manner in the browser, in this mode, because the desktop image of each front-end client is displayed in a large-graph manner, the image data to be generated is large, the background server may issue a second ratio value to the front-end client as a compression ratio, the front-end client may compress the image data according to the second ratio, optionally, the second ratio value may be 1280 × 800, the compressed image may be 3M at most, and as only different parts are sent, the actual data is determined according to the size of the change of the last front and rear images.
It should be further noted that, in the process of switching the monitoring terminal between the multi-graph mode and the single-graph mode, each time the monitoring terminal switches, the monitoring terminal controls the background server to issue a new image acquisition instruction.
Specifically, when the monitoring terminal user views the desktop of the front-end client through the multi-graph mode or the single-graph mode, the size of the required image data is different, so that when the multi-graph mode and the single-graph mode are switched, the monitoring terminal can control the background server to issue a new image acquisition instruction, the new image acquisition instruction can also include a new image compression ratio, and the front-end client can also compress the image data according to the new image compression ratio.
It should be noted that, in the above optional embodiment provided by the present application, the background server may be accessed through a browser provided by the monitoring terminal, so as to implement monitoring of the data image of the front-end client acquired by the background server, specifically, after the user logs in the monitoring terminal, because the background server may acquire image data displayed on the desktops of one or more front-end clients at the same time, in the above example, the desktop states of all the clients may be simultaneously viewed in the browser of the monitoring terminal in a multi-graph manner, or the desktop of a certain computer may be selected to be viewed in a single-graph manner.
In an optional scheme, the viewing mode of the default browser is a multi-graph mode, in the multi-graph mode, each client desktop can be displayed in a small graph mode, so that image data is small, data of each picture is about 3KB, a user can set a transmission cycle of desktop image data acquired by any one or more front-end clients in a background server according to needs, that is, information of the transmission cycle is loaded in an image acquisition instruction and is sent to the front-end clients, different transmission frequencies can be adopted in different application environments, for example, considering the limitation of bandwidth, when the number of the front-end clients connected with the background server is large, the transmission cycle can be set to be large, and otherwise, the transmission cycle can be set to be small.
In another alternative, in the single-graph mode, the user may not only view the desktop state of any one front-end client computer in a full-screen manner, but also operate the remote computer using the browser of the monitoring terminal. In this mode, the server only obtains the desktop screenshot of the client, and since the image is large, the data of one picture can reach about 25KB, and the refresh rate is increased accordingly, a small transmission period can be set without limiting the network bandwidth, for example, the refresh period can reach 200 ms.
In a preferred embodiment provided by the present invention, after the background server receives the viewing instruction of the monitoring terminal in step S605, the background server pushes the screenshot data of the front-end client to the monitoring terminal according to the viewing instruction, and the method provided in this embodiment of the present invention may further include:
and step S606, the monitoring terminal checks screenshot data.
Specifically, the monitoring terminal user in the above steps may view the desktops of the multiple front-end clients in a single-picture or multi-picture manner through the monitoring terminal.
Step S607, the monitoring terminal records operation data generated when the user operates the screenshot data, and the operation data at least includes: keyboard operational data and mouse operational data.
Specifically, the monitoring terminal user may operate screenshot data sent by the backend server, that is, the monitoring terminal user may operate a desktop of the front end client to implement remote monitoring, in this embodiment, a function such as Win32API key _ event, mouse _ event, or the like may be used to implement a simulation operation on the desktop of the front end client, for example, when the monitoring terminal displays the desktop of the front end client, the monitoring terminal user may operate the desktop, for example, an operation of clicking or inputting on the desktop with a mouse or a keyboard generates operation data, and the monitoring terminal records the operation data. It should be noted here that the monitoring terminal user may also generate the operation data by means of a touch screen.
Step S608, the monitoring terminal uploads the operation data to the background server.
And step S609, the background server issues the operation instruction carrying the operation data to the front-end client.
And S600, the front-end client analyzes and displays the received operation data, and simulates the keyboard operation and/or the mouse operation of the monitoring terminal on the image displayed on the local desktop of the front-end client.
The following describes in detail the scheme provided by the second embodiment of the present application with reference to fig. 4 as follows:
A. software in all the front-end clients is registered to the background server, and the front-end client user can finish the registration only by running the front-end client software without other operations.
B. And the background server transmits an image acquisition period to the front-end client.
C. The front-end client can acquire local desktop images according to the image acquisition period and process image data according to an optimized image processing algorithm.
D. The front-end client can compare the image data collected successively to generate screenshot data, and the screenshot data can be: image data of an image displayed on a local desktop by a front-end client.
E. The front-end client can compress the processed screenshot data.
F. The front-end client can send the compressed screenshot data to the background server.
G. And the monitoring terminal sends a viewing instruction to the background server.
H. And the background server sends the stored screenshot data to the monitoring terminal.
I. The monitoring terminal receives the data and displays the data in the browser, as shown in fig. 5. Fig. 5 shows that the desktop of the front-end client is viewed in a multi-graph mode, and the monitoring terminal page can be selected to be viewed in a single-graph mode, as shown in fig. 6, it should be noted that when the user switches the viewing mode, the background server can be controlled to issue a new image acquisition cycle to the front-end client.
J. The monitoring terminal user can operate the screenshot data, namely operate the desktop of the front-end client, optionally, the operation data can be generated through a mouse or a keyboard, or the operation data can be generated in a touch manner, and the monitoring terminal records and sends the operation data.
K. And the background server sends an operation instruction carrying the operation data to the front-end client.
And L, the front-end client analyzes the operation data and simulates the operation of a user so as to realize remote control.
Therefore, according to the scheme provided by the invention, the screenshot data of at least one front-end client is sent to the monitoring terminal through the background server, so that the monitoring terminal can view images of a plurality of front-end client desktop, and the problems that in the prior art, when a plurality of computers are monitored by a traditional remote monitoring function, a plurality of independent windows need to be opened, the switching time is long, and the resolution of the remote computer is passively changed, so that the efficiency of monitoring the remote computer is low are solved.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
EXAMPLE III
According to an embodiment of the present invention, there is also provided an apparatus embodiment for implementing the above system and method embodiments.
The remote monitoring device according to the third embodiment of the present invention may be configured to execute the remote monitoring method according to the second embodiment of the present invention, and the remote monitoring method according to the second embodiment of the present invention may also be executed by the remote monitoring device according to the third embodiment of the present invention.
Fig. 8 is a schematic structural diagram of a remote monitoring apparatus according to a third embodiment of the present invention. As shown in fig. 8, the apparatus may include:
the acquisition module 70 is configured to acquire screenshot data of at least one front-end client, where the screenshot data is image data of an image displayed on a local desktop by the front-end client.
Specifically, with reference to fig. 2, a plurality of front-end clients associated with the background server may be provided, for example, as shown in the figure, the front-end clients may be a plurality of computer terminals such as a client 1 and a client 2, background server software and client software may be installed in the background server and the front-end clients, and the background server and the front-end clients may be connected in the same lan. It should be noted here that the background server and the front-end client use an asynchronous two-way communication mode, and use the dual http addressing protocol of the WCF to implement asynchronous communication, and it should be noted here that the present invention can perform asynchronous communication through 80 ports to avoid most firewall interception.
And the storage module 72 is configured to store screenshot data of any one front-end client.
And the monitoring module 74 is configured to, after receiving a viewing instruction of the monitoring terminal, push screenshot data of the front-end client to the monitoring terminal according to the viewing instruction, so that the monitoring terminal monitors an image displayed on a local desktop by the front-end client.
Specifically, with reference to fig. 2, the monitoring terminal may be connected to the background server, and a monitoring terminal user may send a viewing instruction to the background server through the monitoring terminal, the background server can execute the viewing instruction and push the stored screenshot data of any one of the front-end clients to the monitoring terminal, the monitoring terminal can display the screenshot data, a monitoring terminal user can monitor images displayed on a desktop by a plurality of computer terminals such as the client 1 or the client 2 through the monitoring terminal, it should be noted here that the above-mentioned local desktop images of a plurality of computer terminals can be displayed in the form of a plurality of small pictures in a window in a browser on the monitoring terminal, and, after the monitoring terminal monitors the front-end client, the resolution of the local desktop of the front-end client is also kept unchanged.
It should be noted that the above-mentioned acquisition module 70, storage module 72 and monitoring module 74 correspond to steps S60 to S64 in the first embodiment, and the three modules are the same as the corresponding steps in the implementation example and application scenario, but are not limited to the disclosure in the first embodiment.
It should be noted that, in the second embodiment of the present application, the solutions provided in steps S60 to S64 may be applied to a method and a system for remote monitoring of Windows system multiple screens in a browser mode based on a WCF framework, where desktop states of multiple computers are simultaneously viewed in a form of a small graph in a browser, and a desktop of a certain computer may be displayed in a full screen mode, and the remote computer may be operated in this mode. The system provides a new idea for the remote monitoring of the Windows system, can easily perform the remote monitoring of a plurality of computers by using the system, can also be used as an auxiliary system for automatic testing and performance testing, can improve the working efficiency and reduce the cost.
In the third embodiment of the present invention, the background server sends the screenshot data of at least one front-end client to the monitoring terminal, so that the monitoring terminal can view images of the desktops of a plurality of front-end clients, thereby solving the problems that when a plurality of computers are monitored by using a conventional remote monitoring function in the prior art, a plurality of separate windows are not easily monitored simultaneously, and the resolution of the remote computer is passively changed, which results in low efficiency of monitoring the remote computer.
Optionally, the apparatus provided in the embodiment of the present invention may further include:
a receiving module 70, configured to receive the registration request sent by the front-end client.
Specifically, the background server software in the background server may be started first, and then the client software in the plurality of front-end clients is started, and optionally, the user of the front-end client may register only by running the client software without performing other operations.
The issuing module 72 is configured to issue an image acquisition instruction to the front-end client when the front-end client is successfully registered.
A receiving module 74, configured to receive the screenshot data returned by the front-end client, where the front-end client periodically acquires an image displayed on the local desktop according to the image acquisition instruction, so as to obtain at least one screenshot data.
Specifically, the screenshot data may be image data of an image displayed on a local desktop by a front-end client, and preferably, the image capture instruction may include a predetermined period of image capture.
In an optional embodiment, the front-end client periodically acquires an image on a local desktop according to the image acquisition instruction to obtain at least one piece of screenshot data, and the scheme may further be implemented by the following scheme:
firstly, the front-end client 10 may intercept at least two images displayed on the local desktop according to the image acquisition instruction and a predetermined period; then the front-end client can obtain the image data of each image by analyzing each image; finally, the front-end client compares image data between adjacent images in sequence to obtain image difference data between the adjacent images, where the screenshot data may include: the image data of the first image and the image difference data between the adjacent images are captured.
Optionally, the image capturing instruction may include: the method includes the following steps of presetting an image compression ratio value, wherein after each image is analyzed to obtain image data of each image, or after image data between adjacent images are sequentially compared to obtain image difference data between the adjacent images, the following two schemes for compressing the images can be provided:
the first scheme is as follows:
and the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server.
According to the scheme, compression is carried out before any two images are compared, and compressed image data are sent to the background server.
Scheme II:
and the front-end client compresses the image data of the intercepted first image and the image difference data between the adjacent images according to the image compression ratio respectively, and sends the compressed image data and the compressed image difference data to the background server.
The second scheme realizes that the image difference data between the captured first image and the adjacent image are compressed according to the image compression ratio respectively, and the compressed image data is sent to the background server.
It should be noted here that, in an optional scheme provided by the present application, the monitoring terminal views the screenshot data in a multi-graph mode and/or a single-graph mode, and a user may view desktop states of all clients in a multi-graph mode in a browser, or view and actually control a certain client in a single-graph mode, specifically, for the viewing mode, an embodiment of the present invention may provide the following two schemes:
the first scheme is as follows: and under the condition that the monitoring terminal selects the multi-graph mode to view the screenshot data, the image compression ratio value issued by the background server is a first ratio value.
Scheme II:
and under the condition that the monitoring terminal selects the single-image mode to view the screenshot data, the image compression ratio value issued by the background server is a second ratio value.
It should be further noted that, when the monitoring terminal switches between the multi-graph mode and the single-graph mode, each time the monitoring terminal switches, the monitoring terminal controls the background server to issue a new image acquisition instruction.
In a preferred embodiment provided by the present invention, after the backend server pushes the screenshot data of the front-end client to the monitoring terminal according to the viewing instruction, the scheme provided by the present invention may further include:
firstly, the monitoring terminal checks the screenshot data.
Then, the monitoring terminal may record operation data generated when the user operates the screenshot data, and in this step, the operation data at least includes: keyboard operational data and mouse operational data.
And then, the monitoring terminal uploads the operation data to the background server.
And then, the background server issues the operation instruction carrying the operation data to the front-end client.
And finally, the front-end client can analyze and display the received operation data and simulate the keyboard operation and/or the mouse operation of the monitoring terminal on the front-end client.
It should be noted here that, in the third example, the preferred embodiment is the same as the solution and application scenario implementation process provided in the first example and the second example, but is not limited to the solution provided in the first example.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the order of acts, as some steps may occur in other orders or concurrently in accordance with the invention. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required by the invention.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a mobile terminal, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (7)
1. A remote monitoring method, comprising:
the method comprises the steps that a background server collects screenshot data of at least one front-end client, wherein the screenshot data are image data of images displayed on a local desktop by the front-end client;
the background server stores screenshot data of any one front-end client; and
after the background server receives a viewing instruction of a monitoring terminal, the background server pushes screenshot data of the front-end client to the monitoring terminal according to the viewing instruction, so that the monitoring terminal monitors an image displayed on a local desktop by the front-end client;
before the background server collects screenshot data of at least one front-end client, the method further comprises the following steps:
the background server receives a registration request sent by the front-end client;
under the condition that the front-end client is successfully registered, the background server issues an image acquisition instruction to the front-end client;
the background server receives the screenshot data returned by the front-end client, wherein the front-end client periodically collects images displayed on the local desktop according to the image collection instruction to obtain at least one screenshot data;
wherein the image acquisition instruction comprises a predetermined period of image acquisition;
the front-end client periodically collects the images displayed on the local desktop according to the image collection instruction to obtain at least one screenshot data, and the screenshot data comprises the following steps:
intercepting at least two images displayed on the local desktop according to the image acquisition instruction according to a preset period;
analyzing each image to obtain image data of each image;
sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, wherein the screenshot data comprises: capturing image data of a first image and image difference data between the adjacent images;
wherein the image acquisition instructions comprise: a preset image compression ratio value, wherein after analyzing each image to obtain image data of each image, or after sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, the method further comprises:
the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server; or,
and the front-end client compresses the intercepted image data of the first image and the image difference data between the adjacent images according to the image compression ratio respectively, and sends the compressed image data and the image difference data to the background server.
2. The method according to claim 1, wherein the monitoring terminal adopts a multi-graph mode and/or a single-graph mode to view the screenshot data,
under the condition that the monitoring terminal selects the multi-graph mode to view the screenshot data, the image compression ratio value issued by the background server is a first ratio value;
and under the condition that the monitoring terminal selects the single-image mode to view the screenshot data, the image compression ratio value sent by the background server is a second ratio value.
3. The method according to claim 2, wherein in the process of switching between the multi-graph mode and the single-graph mode, the monitoring terminal controls the background server to issue a new image acquisition instruction each time switching is performed.
4. The method according to any one of claims 1 to 3, wherein after the backend server pushes screenshot data of the front-end client to the monitoring terminal according to a viewing instruction, the method further comprises:
the monitoring terminal checks the screenshot data;
the monitoring terminal records operation data generated when the user operates the screenshot data, and the operation data at least comprises: keyboard operational data and mouse operational data;
the monitoring terminal uploads the operation data to the background server;
the background server sends the operation instruction carrying the operation data to the front-end client;
and the front-end client analyzes and displays the received operation data, and simulates the keyboard operation and/or the mouse operation of the monitoring terminal on the image displayed on the local desktop of the front-end client.
5. A remote monitoring apparatus, comprising:
the system comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring screenshot data of at least one front-end client, and the screenshot data is image data of an image displayed on a local desktop by the front-end client;
the storage module is used for storing screenshot data of any one front-end client; and
the monitoring module is used for pushing screenshot data of the front-end client to the monitoring terminal according to a viewing instruction after receiving the viewing instruction of the monitoring terminal, so that the monitoring terminal monitors an image displayed on a local desktop by the front-end client;
the acquisition module, the storage module and the monitoring module are arranged in a background server;
the system also comprises a receiving module used for receiving the registration request sent by the front-end client;
the issuing module is used for issuing an image acquisition instruction to the front-end client under the condition that the front-end client is successfully registered;
the receiving module is used for receiving the screenshot data returned by the front-end client, wherein the front-end client periodically collects the images displayed on the local desktop according to the image collecting instruction to obtain at least one screenshot data;
wherein the image acquisition instruction comprises a predetermined period of image acquisition;
wherein the receiving module is further configured to: intercepting at least two images displayed on the local desktop according to the image acquisition instruction according to a preset period; analyzing each image to obtain image data of each image; sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, wherein the screenshot data comprises: capturing image data of a first image and image difference data between the adjacent images;
wherein the image acquisition instructions comprise: a preset image compression ratio value, the apparatus being further configured to: after analyzing each image to obtain image data of each image, or after sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server; or, the front-end client compresses the captured image data of the first image and the image difference data between the adjacent images according to the image compression ratio, and sends the compressed image data and image difference data to the background server.
6. A remote monitoring system, comprising:
at least one front-end client;
the system comprises a background server, a client side and a plurality of front-end clients, wherein the background server is used for establishing a communication relation with any one or more front-end clients and acquiring screenshot data of the at least one front-end client, and the screenshot data is image data of an image displayed on a local desktop by the front-end client; and
the monitoring terminal is in communication relation with the background server and is used for sending a viewing instruction to the background server and receiving screenshot data of the front-end client returned by the background server according to the viewing instruction, so that the monitoring terminal monitors an image displayed on a local desktop by the front-end client;
the background server is further used for receiving a registration request sent by the front-end client and issuing an image acquisition instruction to the front-end client under the condition that the front-end client is successfully registered;
the front-end client is further used for periodically acquiring images displayed on the local desktop according to the image acquisition instruction to obtain at least one screenshot data and returning the screenshot data to the background server;
wherein the image acquisition instruction comprises a predetermined period of image acquisition;
the front-end client periodically collects the images displayed on the local desktop according to the image collection instruction to obtain at least one screenshot data, and the screenshot data comprises the following steps:
intercepting at least two images displayed on the local desktop according to the image acquisition instruction according to a preset period;
analyzing each image to obtain image data of each image;
sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, wherein the screenshot data comprises: capturing image data of a first image and image difference data between the adjacent images;
wherein the image acquisition instructions comprise: a preset image compression ratio value, wherein after analyzing each image to obtain image data of each image, or after sequentially comparing image data between adjacent images to obtain image difference data between the adjacent images, the system is further configured to:
the front-end client compresses each image data according to the image compression ratio and sends the compressed image data to the background server; or,
and the front-end client compresses the intercepted image data of the first image and the image difference data between the adjacent images according to the image compression ratio respectively, and sends the compressed image data and the image difference data to the background server.
7. The system of claim 6, further comprising:
the monitoring terminal is further configured to record operation data generated when a user operates the screenshot data, and upload the operation data to the background server, where the operation data at least includes: keyboard operational data and mouse operational data;
the background server is also used for issuing an operation instruction carrying the operation data to the front-end client;
the front-end client is also used for analyzing and displaying the received operation data and simulating the keyboard operation and/or the mouse operation of the monitoring terminal on the image displayed on the local desktop of the front-end client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410545962.5A CN105573577B (en) | 2014-10-15 | 2014-10-15 | Long-distance monitoring method, apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410545962.5A CN105573577B (en) | 2014-10-15 | 2014-10-15 | Long-distance monitoring method, apparatus and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573577A CN105573577A (en) | 2016-05-11 |
CN105573577B true CN105573577B (en) | 2019-03-05 |
Family
ID=55883786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410545962.5A Active CN105573577B (en) | 2014-10-15 | 2014-10-15 | Long-distance monitoring method, apparatus and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573577B (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107770219A (en) * | 2016-08-19 | 2018-03-06 | 中兴通讯股份有限公司 | A kind of sharing method, gateway server and the system of form window |
CN108093068A (en) * | 2017-12-27 | 2018-05-29 | 浪潮金融信息技术有限公司 | Terminal monitoring method and device, computer storage media, terminal |
CN108174486A (en) * | 2018-01-05 | 2018-06-15 | 江苏恒鹏电气集团有限公司 | A kind of wake-up formula data monitoring method |
CN108347482B (en) * | 2018-02-06 | 2021-10-08 | 阿里巴巴(中国)有限公司 | Information acquisition method and device |
EP3598255B1 (en) * | 2018-07-17 | 2022-01-26 | Siemens Aktiengesellschaft | Arrangement with operator servers and with operator clients |
TWI693535B (en) * | 2019-03-11 | 2020-05-11 | 凌華科技股份有限公司 | Mouse cursor image detection comparison and feedback state judgment method |
CN110716779A (en) * | 2019-09-17 | 2020-01-21 | 武汉鼎森电子科技有限公司 | Remote monitoring method |
CN110971870B (en) * | 2019-10-25 | 2022-08-16 | 富盛科技股份有限公司 | Data processing method for image display |
CN111147928A (en) * | 2019-12-03 | 2020-05-12 | 西安万像电子科技有限公司 | Video processing method, server, terminal and system |
CN111049731B (en) * | 2019-12-05 | 2021-12-03 | 任子行网络技术股份有限公司 | Instant chat application monitoring method and system |
CN111757058A (en) * | 2020-06-18 | 2020-10-09 | 浪潮金融信息技术有限公司 | Method for monitoring non-existing equipment screen |
CN111784287B (en) * | 2020-06-28 | 2024-04-26 | 联想(北京)有限公司 | Information processing method and equipment for online education |
CN111984336A (en) * | 2020-07-08 | 2020-11-24 | 广东易达电子科技有限公司 | Personalized desktop setting method, device and medium |
CN114363315A (en) * | 2022-01-10 | 2022-04-15 | 京东方科技集团股份有限公司 | Method and system for monitoring playing of screen equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378400A (en) * | 2007-08-30 | 2009-03-04 | 国际商业机器公司 | Method, server and system for polymerizing desktop application and Web application |
CN101420610A (en) * | 2007-10-26 | 2009-04-29 | 闪联信息技术工程中心有限公司 | Method for displaying remote desktop content and apparatus thereof |
CN102473065A (en) * | 2010-04-13 | 2012-05-23 | 松下电器产业株式会社 | Screen shot display control apparatus, screen shot display control method, integrated circuit for screen shot display control, and server apparatus |
CN102571828A (en) * | 2010-12-07 | 2012-07-11 | 北大方正集团有限公司 | Webpage-based remote multimedia monitoring method and system |
EP1776825B1 (en) * | 2004-08-13 | 2012-12-19 | Citrix Systems, Inc. | A method for maintaining transaction integrity across multiple remote access servers |
CN103369492A (en) * | 2013-07-15 | 2013-10-23 | 张�林 | Remote service providing method and system based on smart mobile phone |
CN103581221A (en) * | 2012-07-24 | 2014-02-12 | 深圳中兴网信科技有限公司 | Method and device for monitoring operation of remote terminal |
-
2014
- 2014-10-15 CN CN201410545962.5A patent/CN105573577B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1776825B1 (en) * | 2004-08-13 | 2012-12-19 | Citrix Systems, Inc. | A method for maintaining transaction integrity across multiple remote access servers |
CN101378400A (en) * | 2007-08-30 | 2009-03-04 | 国际商业机器公司 | Method, server and system for polymerizing desktop application and Web application |
CN101420610A (en) * | 2007-10-26 | 2009-04-29 | 闪联信息技术工程中心有限公司 | Method for displaying remote desktop content and apparatus thereof |
CN102473065A (en) * | 2010-04-13 | 2012-05-23 | 松下电器产业株式会社 | Screen shot display control apparatus, screen shot display control method, integrated circuit for screen shot display control, and server apparatus |
CN102571828A (en) * | 2010-12-07 | 2012-07-11 | 北大方正集团有限公司 | Webpage-based remote multimedia monitoring method and system |
CN103581221A (en) * | 2012-07-24 | 2014-02-12 | 深圳中兴网信科技有限公司 | Method and device for monitoring operation of remote terminal |
CN103369492A (en) * | 2013-07-15 | 2013-10-23 | 张�林 | Remote service providing method and system based on smart mobile phone |
Also Published As
Publication number | Publication date |
---|---|
CN105573577A (en) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573577B (en) | Long-distance monitoring method, apparatus and system | |
CN108307021B (en) | Parallel following test equipment, cloud real machine and method for mobile terminal | |
US9049341B2 (en) | Method and apparatus for video resource management in video conference | |
CN104301687B (en) | Camera video processing method and relevant device applied to virtual desktop environment | |
CN100421625C (en) | Image storage and display system, its maintenance management system, and image storage and display method | |
CN108804302A (en) | A kind of remote test method, system and relevant device | |
CN110572591B (en) | KVM (keyboard, video and mouse) agent system signal source preview system and method | |
EP2643752A1 (en) | Method and apparatus for displaying a graphical user interface of a portable computation unit of an external display unit | |
US20130111001A1 (en) | System And Method For Creating And Communicating Freely Associated Collection To Share Information | |
CN112114928A (en) | Display page processing method and device | |
KR101652856B1 (en) | Apparatus for providing user interface screen based on control event in cctv | |
JP5695597B2 (en) | Screen display device and screen display system | |
CN107483729B (en) | Method and system for selecting captured image by multi-image display | |
CN107766024A (en) | A kind of PPT projection control methods and system based on combination | |
CN106155609A (en) | A kind of realize the method for Screen sharing, device and terminal | |
CN108037904B (en) | Visual data pushing method and system | |
CN103577426B (en) | For providing the method, apparatus and system of the additional application information that search is suggested | |
CN111045770A (en) | Method, first terminal, device and readable storage medium for remote exhibition | |
KR100792240B1 (en) | Multi vision materialization method and system for the same | |
CN108399058B (en) | Signal display control method and device | |
Namdeo et al. | Smart Automated Surveillance System using Raspberry Pi | |
US20200249902A1 (en) | Information processing system, information processing apparatus, and method of processing information | |
CN107666610A (en) | Desktop video content analysis method | |
CN106210665B (en) | Remote host control method and system based on video acquisition | |
CN114007022A (en) | Video source switching method and device and LED display screen control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |