Cloud desktop service detection method, cloud desktop system, device, equipment and medium

By introducing test clients and dial-test mechanisms into the cloud desktop system, quickly detect and output alarms, and automatically eliminate faulty components, the business interruption problem caused by network failure of cloud desktop products is solved, and the stability and availability of the system are improved.

CN119232615APending Publication Date: 2024-12-31NEW H3C CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411375779.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In a complex network environment, cloud desktop products cannot use functions due to network failures, and troubleshooting problems is laborious and time-consuming, resulting in business interruption and economic losses. How to quickly locate and discover problems in advance has become an important issue.

Method used

By introducing test clients into the cloud desktop system, using the load balancing server and gateway proxy nodes to send authorization and connection requests to the management nodes, setting the timeout time to output alarm information, and performing dial-test and heartbeat detection, automatically eliminating faulty components and reminding Operation and maintenance personnel shall promptly investigate problems.

Benefits of technology

Minimize business interruption time, improve product stability and availability, and avoid the impact of cloud desktop product failure on user usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232615A_ABST
    Figure CN119232615A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of network product detection, and discloses a cloud desktop service detection method, a cloud desktop system, a device, equipment and a medium, and the method comprises the steps: controlling a test client to send a cloud desktop authorization request to a management node; controlling the test client to output first alarm information under the condition that the test client does not receive the authorization information returned by the management node within the first time interval; otherwise, controlling the test client to send a cloud desktop connection request to the management node; controlling the test client to output second alarm information under the condition that the test client does not receive the cloud desktop connection information within a second time interval; otherwise, controlling the test client to connect the cloud desktop based on the cloud desktop connection information; and outputting third alarm information under the condition of indicating that the test client fails to connect the cloud desktop. The cloud desktop service interruption time can be reduced to the maximum extent, the product stability and availability are improved, and the influence of cloud desktop product faults on user use is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of network product detection, and in particular to a cloud desktop service detection method, a cloud desktop system, a device, equipment and a medium. Background Art

[0002] In some environments with complex network components and large scale, cloud desktop products with many components and large architectures may occasionally become unusable due to network failures. When problems occur, they need to be reproduced, packets captured, system logs checked, and manually restored or circumvented, which makes troubleshooting laborious and time-consuming, and may also cause long-term business interruptions and even certain economic losses. Therefore, how to quickly locate or even discover problems in advance in such usage scenarios has become a very important issue. For example, in a certain project, users access the cloud desktop through at least 7 devices, almost all of which are public network access. In addition to the devices required to be deployed by the product itself, the entire access link also includes DNAT (full name Destination Network Address Translation, commonly used in firewalls), SDN (Software Defined Network, full name Software Defined Network, is a new type of network innovation architecture and an implementation method of network virtualization. Its core technology OpenFlow separates the control plane and data plane of network devices, thereby realizing flexible control of network traffic, making the network more intelligent, and providing a good platform for innovation of core networks and applications), SNAT (Source Address Translation, full name Source Network Address Translation, is when the intranet address is accessed externally, the intranet IP address initiating the access is converted to a specified IP address (specific services and corresponding ports or port ranges can be specified), which can enable hosts using reserved IP addresses in the intranet to access external networks, that is, multiple hosts in the intranet can access external networks through a valid public IP address) and other devices or services. Any problem in any link may affect user use and may even cause failures at the entire resource pool level. All users will not be able to use the cloud desktop product for office teaching and other businesses. Summary of the invention

[0003] In view of this, the present invention provides a cloud desktop service detection method, a cloud desktop system, an apparatus, a device and a medium to solve the problem that cloud desktop product failures affect user use.

[0004] In a first aspect, the present invention provides a cloud desktop service detection method, which is applied to a cloud desktop system, wherein the cloud desktop system includes a client, a load balancing server, a gateway proxy node, a management node, and a cloud desktop, and the method includes:

[0005] Control the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0006] Controlling the test client to output first alarm information when the test client fails to receive the authorization information returned by the management node within a first time interval;

[0007] Controlling the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node when receiving the authorization information returned by the management node within the first time interval, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server;

[0008] Controlling the test client to output second alarm information when the test client fails to receive the cloud desktop connection information within a second time interval;

[0009] Controlling the test client to connect to the cloud desktop based on the cloud desktop connection information when receiving the cloud desktop connection information sent by the management node within the second time interval;

[0010] Instructing the test client to output third alarm information when the connection to the cloud desktop fails.

[0011] In an optional implementation, the cloud desktop service detection method further includes:

[0012] If the test client does not receive the authorization information returned by the management node within the first time interval or does not receive the cloud desktop connection information within the second time interval, control the gateway proxy node to dial the management node and / or the access controller corresponding to the management node;

[0013] If the gateway proxy node fails to dial the management node, the load balancing server is controlled to remove the gateway proxy node where the dialing test fails;

[0014] If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

[0015] In an optional implementation, the cloud desktop service detection method further includes:

[0016] If the test client fails to connect to the cloud desktop, controlling the gateway proxy node to dial the service node and / or the access controller corresponding to the service node;

[0017] If the gateway proxy node fails to dial the service node, controlling the load balancing server to remove the gateway proxy node that fails to dial the service node;

[0018] If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

[0019] In an optional implementation, the cloud desktop service detection method further includes:

[0020] Control the service node to perform public network dialing test on the cloud desktop;

[0021] The management node is controlled to output corresponding fifth alarm information when the public network dial test fails.

[0022] In an optional implementation, the cloud desktop service detection method further includes:

[0023] Control the service node to periodically send heartbeat messages of the cloud desktop to the management node;

[0024] The management node is controlled to output sixth alarm information when the heartbeat message is not received within a preset heartbeat period.

[0025] In an optional implementation, the cloud desktop service detection method further includes:

[0026] Controlling the management node to detect a service status of a service component, wherein the service component includes at least one of an access controller, a management service running in the management node, a virtualization layer, and a middleware;

[0027] The management node is controlled to restart the service component when a service abnormality of the service component is detected.

[0028] In a second aspect, the present invention provides a cloud desktop system, the cloud desktop system comprising a test client, a load balancing server, a gateway proxy node, a management node and a cloud desktop;

[0029] The test client sends a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0030] When the test client fails to receive the authorization information returned by the management node within the first time interval, outputting the first alarm information;

[0031] When the test client receives the authorization information returned by the management node within the first time interval, the test client sends a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node;

[0032] The management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server;

[0033] When the test client fails to receive the cloud desktop connection information within the second time interval, outputting a second alarm message;

[0034] When the test client receives the cloud desktop connection information sent by the management node within the second time interval, connecting to the cloud desktop based on the cloud desktop connection information;

[0035] When the test client fails to connect to the cloud desktop, a third alarm message is output.

[0036] In a third aspect, the present invention provides a cloud desktop service testing device, which is applied to a cloud desktop system, wherein the cloud desktop system includes a client, a load balancing server, a gateway proxy node, a management node, and a cloud desktop, and the device includes:

[0037] A first control module, used to control the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0038] A second control module, configured to control the test client to output a first alarm message when the test client fails to receive the authorization information returned by the management node within a first time interval;

[0039] A third control module is used to control the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node when receiving the authorization information returned by the management node within the first time interval, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server;

[0040] A fourth control module, configured to control the test client to output a second alarm message when the test client fails to receive the cloud desktop connection information within a second time interval;

[0041] A fifth control module, configured to control the test client to connect to the cloud desktop based on the cloud desktop connection information when the test client receives the cloud desktop connection information sent by the management node within a second time interval;

[0042] The indication module is used to output a third alarm message when the test client fails to connect to the cloud desktop.

[0043] In a fourth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the cloud desktop service testing method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0044] In a fifth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the cloud desktop service testing method of the first aspect or any corresponding embodiment thereof.

[0045] In a sixth aspect, the present invention provides a computer program product, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the cloud desktop service testing method of the first aspect or any corresponding embodiment thereof.

[0046] The cloud desktop service detection method, cloud desktop system, device, equipment and medium provided in the embodiments of the present invention monitor the health of the cloud desktop system by testing the client dialing test, discover problems in the user access link, and then remind the operation and maintenance personnel to promptly investigate and solve the problems through alarms, thereby minimizing business interruption time, improving product stability and availability, and avoiding the impact of cloud desktop product failures on user use. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0048] Figure 1 It is a schematic diagram of the architecture of a cloud desktop system to which the cloud desktop service detection method provided in an embodiment of the present invention is applicable;

[0049] Figure 2 is a flow chart of a cloud desktop service detection method according to an embodiment of the present invention;

[0050] Figure 3 is a schematic diagram of a client dialing test timing according to an embodiment of the present invention;

[0051] Figure 4 is a schematic diagram of a timeout period set according to an embodiment of the present invention;

[0052] Figure 5 is a schematic diagram of cloud desktop service detection according to an embodiment of the present invention;

[0053] Figure 6 is a structural block diagram of a cloud desktop service detection device according to an embodiment of the present invention;

[0054] Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0055] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0056] like Figure 1 The architecture diagram of the cloud desktop system shown is a long-link multi-component system to which the cloud desktop service detection method provided by the embodiment of the present invention can be applied. To access the cloud desktop, users need to go through DNAT devices, load balancing servers, SDN devices, gateway proxy nodes (also called gateway proxy servers), access controllers, management nodes (also called management servers), etc.

[0057] According to an embodiment of the present invention, an embodiment of a cloud desktop service detection method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of executable computer instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0058] In this embodiment, a cloud desktop service detection method is provided. Figure 2 is a flow chart of a cloud desktop service detection method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0059] Step S201, controlling the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0060] Specifically, see Figure 3 In the client dial test timing diagram shown, the test client (ie, the client) applies for virtual desktop (ie, cloud desktop) authorization from the management node through the load balancing server and the gateway proxy node.

[0061] Step S202: Control the test client to output first alarm information when the test client fails to receive the authorization information returned by the management node within a first time interval.

[0062] like Figure 3 As shown in Figure 1, under normal circumstances, if the management node receives a cloud desktop authorization request from a test client, it should search and return the authorization information to respond to the test client's request. If the test client does not receive the authorization information within a certain period of time, it means that there is a problem with the link between the test client and the management node. Therefore, an alarm message needs to be output.

[0063] The first time interval is a period of time after the cloud desktop authorization request is sent, which may also be referred to as a timeout period. Figure 4 Schematic diagram of the timeout period set according to an embodiment of the present invention. Figure 4 As shown, the first time interval can be 80 seconds after sending the cloud desktop authorization request, or it can be 50 seconds after sending the cloud desktop authorization request, 60 seconds after sending the cloud desktop authorization request, 70 seconds after sending the cloud desktop authorization request, 90 seconds after sending the cloud desktop authorization request, etc., which can be set according to actual needs.

[0064] The embodiment of the present invention optimizes the timeout setting of the client dial test so that the client dial test can obtain the result in time and does not occupy the thread resources all the time.

[0065] Specifically, here, the first alarm information may be output when the test client sends a cloud desktop authorization request once and does not receive the authorization information returned by the management node within the first time interval. In order to avoid misjudgment, the first alarm information may also be output when the test client repeatedly sends a cloud desktop authorization request multiple times (may be 5 times, 4 times, 6 times, etc.) and does not receive the authorization information returned by the management node within the first time interval.

[0066] Step S203, when the test client receives the authorization information returned by the management node within the first time interval, controls the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server.

[0067] Step S204: Control the test client to output second alarm information when the test client fails to receive the cloud desktop connection information within a second time interval.

[0068] like Figure 3As shown, under normal circumstances, after receiving the authorization information returned by the management node, the test client will apply to the management node for connecting to the cloud desktop. After receiving the application, the management node will start the cloud desktop and return the address, port number and other cloud desktop connection information of the business node to be connected. If the test client sends a cloud desktop connection request and fails to receive the cloud desktop connection information within a certain period of time, it means that there is a problem with the link between the test client and the management node. Therefore, it is necessary to output an alarm message.

[0069] The second time interval is a period of time after the cloud desktop connection request is sent, which can also be called a timeout period. The second time interval can be 80 seconds after the cloud desktop connection request is sent, 50 seconds after the cloud desktop connection request is sent, 60 seconds after the cloud desktop connection request is sent, 70 seconds after the cloud desktop connection request is sent, 90 seconds after the cloud desktop connection request is sent, etc. The lengths of the first time interval and the second time interval can be equal or unequal.

[0070] Specifically, here, the second alarm information may be output when the test client sends a cloud desktop connection request once and does not receive the cloud desktop connection information returned by the management node within the second time interval. In order to avoid misjudgment, the second alarm information may also be output when the test client repeatedly sends a cloud desktop connection request multiple times and does not receive the authorization information returned by the management node within the second time interval.

[0071] Step S205 , controlling the test client to connect to the cloud desktop based on the cloud desktop connection information when receiving the cloud desktop connection information sent by the management node within the second time interval.

[0072] like Figure 3 As shown, after receiving the cloud desktop connection information returned by the management node, the test client first detects whether the address and port number of the service node are valid, and then uses the address and port number to establish a connection to connect to the cloud desktop.

[0073] Step S206, instructing the test client to output a third alarm message when the connection to the cloud desktop fails.

[0074] Specifically, here, the third warning information may be output when the test client fails to connect to the cloud desktop once. In order to avoid misjudgment, the third warning information may also be output when the test client fails to connect to the cloud desktop repeatedly for multiple times.

[0075] In addition, after the cloud desktop successfully connects to the test client, the cloud desktop will report the heartbeat to the management node.

[0076] In an embodiment of the present invention, the test client applies to connect to the cloud desktop (also referred to as a virtual desktop) to test the availability of the management node, the load balancing server, the gateway proxy node, the access controller, the virtualization layer, the middleware, the business node and the cloud desktop.

[0077] The output alarm information mentioned above may be to send an alarm email to the administrator, or to output an alarm sound using the speaker of the device where the client is located, or to display an alarm image using the display of the device where the client is located, and the alarm image may be static or dynamic. Of course, the alarm method may also be other methods, which are not limited here.

[0078] Specifically, the test client can be a general user client, but the account used for logging in can be an account for testing. The storage space associated with the client can store the test account, so that the client can use the test account to automatically log in and connect to the cloud desktop according to the pre-set timing, that is, perform client dialing test (dialing test: a detection method for determining whether the service is healthy or not, such as using HTTP / SSH / TCP / Ping, etc.).

[0079] The client dial test can poll the load balancing server, the gateway proxy node, the access controller, the virtualization layer, the middleware, the service node and the cloud desktop, etc. Figure 5 As shown in the figure, this end-to-end dial test can better simulate the actual user usage scenario and is easier to find problems. If the dial test is OK, it can ensure that there will be no problems with the user's use. The client dial test will use the HTTP protocol, TCP protocol, and desktop connection protocol. A successful dial test means that there is no problem with the entire link from the client to the bottom layer.

[0080] Also, see Figure 4 The timeout setting diagram shown in the figure controls the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node, and also includes a physical link connection process. The test client starts to calculate the timeout time from the initiation of the physical link connection. If the test client fails to establish a physical link with the management node, the load balancing server, the gateway proxy node, the access controller and / or the service node within the timeout time, a fourth alarm message is output. The timeout time can be 10 seconds, or 8 seconds, 9 seconds, 11 seconds, etc., and can be set according to actual needs.

[0081] The cloud desktop service detection method provided in the embodiment of the present invention monitors the health of the cloud desktop system by testing the client dialing test, discovers problems in the user access link, and then reminds the operation and maintenance personnel through alarms to promptly troubleshoot and solve the problems, thereby minimizing business interruption time, improving product stability and availability, and avoiding the impact of cloud desktop product failures on user use.

[0082] In some optional specific implementations, the cloud desktop service detection method provided by the embodiment of the present invention further includes:

[0083] If the test client does not receive the authorization information returned by the management node within the first time interval or does not receive the cloud desktop connection information within the second time interval, control the gateway proxy node to dial the management node and / or the access controller corresponding to the management node;

[0084] If the gateway proxy node fails to dial the management node, the load balancing server is controlled to remove the gateway proxy node where the dialing test fails;

[0085] If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

[0086] Since the system automatically selects a normal access controller to access the management node, in the embodiment of the present invention, the gateway proxy node will perform dial tests on the access controller corresponding to each management node in turn, and remove the access controller that fails the dial test from the proxy configuration.

[0087] In addition, when the gateway proxy node fails to dial the management node, and when the gateway proxy node fails to dial the access controller, alarm information can be output.

[0088] Similarly, since the system will automatically select a normal access controller to access the management node, even if the test client successfully connects to the cloud desktop, it can control each gateway proxy node to dial the management node separately. If the dial test fails, the load balancing server will be controlled to remove the gateway proxy node that failed the dial test.

[0089] In the embodiment of the present invention, the gateway proxy node can periodically dial to the management node to detect the availability of the gateway proxy node to the management node, specifically to detect network connectivity. When the dial test fails due to reasons such as route loss, the management node can issue an alarm, and the load balancing server can remove the abnormal gateway proxy node from the load balancing system, and the client request will no longer pass through this gateway proxy node.

[0090] Specifically, Figure 5As shown, the specific method of the gateway proxy node dialing to the management node is:

[0091] The gateway proxy node calls the network interface of the management node; the network interface may be an HTTP interface;

[0092] If an exception occurs when the gateway proxy node calls the network interface of the management node, it is determined that the gateway proxy node has failed to dial the management node; or, if an exception occurs when the gateway proxy node calls the network interface of the management node and the exception persists for a preset time, it is determined that the gateway proxy node has failed to dial the management node. The preset time can be set according to actual needs, and the preset time mentioned below is also the same. Different preset time can be equal or different.

[0093] The embodiment of the present invention describes that the gateway proxy node can report the heartbeat to the management node by periodically calling the network interface of the management node. Here, in order to prevent misjudgment, it can be determined that the network interface of the management node called by the gateway proxy node is abnormal after interrupting three heartbeat intervals, triggering an alarm. In addition, if the heartbeat abnormality of the gateway proxy node continues for a preset period of time, the gateway proxy node is isolated. Specifically, the management node determines whether the heartbeat of the gateway proxy node is abnormal, and counts the duration of the heartbeat abnormality, and then determines whether the gateway proxy node should be isolated. Then the load balancing server periodically calls the management service in the management node to query whether the gateway proxy node should be isolated. If it is found that the gateway proxy node should be isolated, the gateway proxy node is removed.

[0094] In some other optional specific implementations, the cloud desktop service detection method provided by the embodiment of the present invention further includes:

[0095] If the test client fails to connect to the cloud desktop, controlling the gateway proxy node to dial the service node and / or the access controller corresponding to the service node;

[0096] If the gateway proxy node fails to dial the service node, controlling the load balancing server to remove the gateway proxy node that fails to dial the service node;

[0097] If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

[0098] Since the system automatically selects a normal access controller to access the service node, in the embodiment of the present invention, the gateway proxy node will perform dial tests on the access controller corresponding to each service node in turn, and remove the access controller that fails the dial test from the proxy configuration.

[0099] In addition, when the gateway proxy node fails to dial the service node, and when the gateway proxy node fails to dial the access controller, alarm information can be output.

[0100] Similarly, since the system will automatically select a normal access controller to access the business node, even if the test client successfully connects to the cloud desktop, it can control each gateway proxy node to dial the business node separately. If the dial test fails, the load balancing server will be controlled to remove the gateway proxy node that failed the dial test.

[0101] In the embodiment of the present invention, the gateway proxy node can periodically dial to the service node to detect the availability of the gateway proxy node to the service node, specifically to detect network connectivity. When the dial test fails due to reasons such as route loss, the management node can issue an alarm, and the load balancing server can remove the abnormal gateway proxy node from the load balancing system, and the client request will no longer pass through this gateway proxy node.

[0102] Specifically, in the above embodiments, please refer to Figure 4 When the gateway proxy node dials the management node, service node or access controller, if it does not receive the response information from the other end (management node, service node or access controller) after the timeout period after sending the dialing request, it will retry. If the response information is still not received on time after multiple retries, it is determined that the gateway proxy node has failed to dial the other end.

[0103] Specifically, Figure 5 As shown, the specific method of the gateway proxy node dialing to the service node is:

[0104] Step 1: The gateway proxy node obtains a target service node in each service cluster of the same network from the management node. In the embodiment of the present invention, the service nodes in the same service cluster are generally in the same network. If they belong to different networks, a target service node needs to be obtained respectively. The target service node is one of the service nodes, and the service node is a service node running a virtual machine.

[0105] Step 2: The gateway proxy node dials the preset network port of the target service node. Specifically, the TCP protocol can be used to dial the preset network port of the target service node, and the predicted network port is configurable.

[0106] Step 3: If the gateway proxy node dials to the preset network port of the target service node and an exception occurs, it is determined that the gateway proxy node dialing test has failed; or, if the gateway proxy node dials to the preset network port of the target service node and an exception occurs, and the exception lasts for a preset time, it is determined that the gateway proxy node dialing test has failed. If the gateway proxy node dials to the preset network port of the target service node and an exception occurs, it means that the network from the gateway proxy node to the service node is not accessible.

[0107] In an embodiment of the present invention, when the gateway proxy node detects that an abnormality occurs in the preset network port of the target business node, the management node can output corresponding alarm information. Then, when the gateway proxy node detects that an abnormality occurs in the preset network port of the target business node, and the abnormality lasts for a preset period of time, the gateway proxy node is isolated. Specifically, the management node determines whether the network connectivity of the gateway proxy node to all business clusters is abnormal, and counts the duration of the network connectivity abnormality, and then determines whether the gateway proxy node should be isolated. The load balancing server then periodically calls the management service in the management node to query whether the gateway proxy node should be isolated. If the query finds that the gateway proxy node should be isolated, the gateway proxy node is removed.

[0108] In addition, in an embodiment of the present invention, when an abnormality occurs when the gateway proxy node dials the preset network port of the target service node, it can be determined that the gateway proxy node dialing test fails. In other embodiments, when the gateway proxy node can normally report the dialing test result to the management node, and the network from the management node to the target service node is normal, but an abnormality occurs when the gateway proxy node dials the preset network port of the target service node, it can be determined that the gateway proxy node dialing test fails.

[0109] In summary, if the heartbeat from the gateway proxy node to the management node is abnormal, or the network connectivity to the business node is abnormal, it may be isolated. Generally, an alarm (here is a fault alarm) is issued first, and then isolation is performed after a period of time. In addition, when the gateway proxy node is isolated, the management node will output an isolation alarm.

[0110] The cloud desktop service detection method provided by the embodiment of the present invention also includes:

[0111] If the removed gateway proxy node dials the corresponding management node or the corresponding service node normally, the load balancing server is controlled to add back the removed gateway proxy node.

[0112] In the embodiment of the present invention, the gateway proxy node can periodically poll each access controller and dial TCP protocol messages to detect the TCP protocol connectivity between the gateway proxy node and the access controller. Failure of TCP message dialing test from the gateway to the access controller triggers an alarm and / or access controller fault isolation.

[0113] Specifically, after the TCP message dial test from the gateway to the access controller fails, that is, when the TCP message dial test is abnormal, the gateway automatically removes the abnormal access controller node from the proxy service list, and subsequent client requests will not go through the access controller node. When the dial test is normal, the access controller node is automatically added back.

[0114] In summary, the gateway proxy node regularly dials each node in the access controller cluster to obtain TCP protocol connectivity. When the dial test fails, the gateway proxy node removes the abnormal access controller node from the proxy configuration, and the client request will no longer pass through this access controller. It will automatically join the proxy configuration after the problem is resolved.

[0115] The cloud desktop service detection method provided by the embodiment of the present invention also includes:

[0116] Controlling the service node to perform public network dialing test on the cloud desktop;

[0117] The management node is controlled to output corresponding fifth alarm information when the public network dial test fails.

[0118] See also Figure 5 That is to say, when the cloud desktop fails to dial the preset URL of the public network, the management node outputs corresponding alarm information.

[0119] In the embodiment of the present invention, the cloud desktop periodically dials a preset URL of the public network, and when the dialing fails, the management node generates and outputs an alarm message.

[0120] The cloud desktop service detection method provided by the embodiment of the present invention also includes:

[0121] Control the service node to periodically send a heartbeat message of the cloud desktop to the management node;

[0122] The management node is controlled to output sixth alarm information when the heartbeat message is not received within a preset heartbeat period.

[0123] In other words, see Figure 5 , the management node receives the heartbeat message sent by the cloud desktop; if the management node does not receive the heartbeat message sent by the cloud desktop within a preset heartbeat cycle, it outputs corresponding alarm information.

[0124] In an embodiment of the present invention, the cloud desktop periodically sends TCP heartbeat messages to the management node. The management node caches the cloud desktop information and the last heartbeat time. When it is detected that the cloud desktop has not reported a heartbeat within two consecutive heartbeat cycles, the cloud desktop is determined to be abnormal and an alarm is generated.

[0125] The cloud desktop service detection method provided by the embodiment of the present invention also includes:

[0126] Controlling the management node to detect a service status of a service component, wherein the service component includes at least one of an access controller, a management service running in the management node, a virtualization layer, and a middleware;

[0127] The management node is controlled to restart the service component when a service abnormality of the service component is detected.

[0128] The above service component may also be the load balancing server or the gateway proxy node.

[0129] In addition, when a service abnormality of a service component is detected, corresponding alarm information can also be output.

[0130] Specifically, an independent monitoring service can be deployed to regularly dial the access controller, management node, virtualization layer, middleware, etc. to obtain the service status of the corresponding components, and automatically restart the service and trigger an alarm when the service stops abnormally or freezes (the service runs but the interface does not respond). Similarly, the gateway proxy node and load balancing server also have independent processes to monitor the status of the core service and automatically start the service.

[0131] In a specific embodiment, the service status monitoring and alarm of the service component are as shown in Table 1 below.

[0132] Table 1 Service status monitoring and alarm

[0133]

[0134]

[0135] In summary, the embodiments of the present invention can timely discover problems in the link for users to access the cloud desktop and provide alarm notifications to users through methods such as dialing and heartbeat (other components report their status to the management node at a fixed frequency, generally used to detect service status). It can also help operation and maintenance personnel to troubleshoot and solve problems by isolating faulty components and restarting the services of faulty components, thereby ensuring the normal operation of the business to the greatest extent.

[0136] In short, the embodiments of the present invention monitor the health of the cloud desktop system through dialing, heartbeat, alarm, isolation, and self-healing (automatic service recovery) to reduce business interruptions.

[0137] In addition, the embodiment of the present invention also optimizes the timeout setting between each component, so that the dial test, isolation and retry can take effect in time. The timeout setting from the client to the gateway proxy node, the gateway proxy node to the access controller, the access controller to the virtualization layer, and the middleware is as follows: Figure 4 As shown, when the timeout is reached, an error will be reported and the program will return immediately, without occupying thread resources all the time.

[0138] The cloud desktop service detection method provided by the embodiment of the present invention is also applicable to other long-link multi-component network products besides cloud desktops.

[0139] This embodiment provides a cloud desktop system, such as Figure 1 As shown, the cloud desktop system includes a test client, a load balancing server, a gateway proxy node, a management node and a cloud desktop;

[0140] The test client sends a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0141] When the test client fails to receive the authorization information returned by the management node within the first time interval, outputting the first alarm information;

[0142] When the test client receives the authorization information returned by the management node within the first time interval, the test client sends a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node;

[0143] The management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server;

[0144] When the test client fails to receive the cloud desktop connection information within the second time interval, outputting a second alarm message;

[0145] When the test client receives the cloud desktop connection information sent by the management node within the second time interval, connecting to the cloud desktop based on the cloud desktop connection information;

[0146] When the test client fails to connect to the cloud desktop, a third alarm message is output.

[0147] In this embodiment, a cloud desktop service detection device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0148] This embodiment provides a cloud desktop service detection device, such as Figure 6 As shown, it is applied to a cloud desktop system, which includes a client, a load balancing server, a gateway proxy node, a management node and a cloud desktop, including:

[0149] The first control module 601 is used to control the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node;

[0150] A second control module 602, configured to control the test client to output a first alarm message if the test client fails to receive the authorization information returned by the management node within a first time interval;

[0151] The third control module 603 is used to control the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node when receiving the authorization information returned by the management node within the first time interval, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server;

[0152] A fourth control module 604 is used to control the test client to output a second alarm message when the test client fails to receive the cloud desktop connection information within a second time interval;

[0153] A fifth control module 605, configured to control the test client to connect to the cloud desktop based on the cloud desktop connection information when the test client receives the cloud desktop connection information sent by the management node within the second time interval;

[0154] The indication module 606 is used to output a third alarm message when the test client fails to connect to the cloud desktop.

[0155] In some optional implementations, the cloud desktop service detection device further includes:

[0156] A sixth control module, configured to control the gateway proxy node to dial the management node and / or the access controller corresponding to the management node if the test client fails to receive the authorization information returned by the management node within the first time interval or fails to receive the cloud desktop connection information within the second time interval;

[0157] A seventh control module, configured to control the load balancing server to remove the gateway proxy node that has failed the dial test if the gateway proxy node fails to dial the management node;

[0158] An eighth control module is used to control the gateway agent to remove the access controller from the agent configuration if the gateway agent node fails to dial the access controller.

[0159] In some optional implementations, the cloud desktop service detection device further includes:

[0160] A ninth control module, configured to control the gateway proxy node to perform a dial test on the service node and / or the access controller corresponding to the service node if the test client fails to connect to the cloud desktop;

[0161] A tenth control module, configured to control the load balancing server to remove the gateway proxy node that fails in the dial test if the gateway proxy node fails in the dial test on the service node;

[0162] The eleventh control module is used to control the gateway agent to remove the access controller from the agent configuration if the gateway agent node fails to dial the access controller.

[0163] In some optional implementations, the cloud desktop service detection device further includes:

[0164] A twelfth control module, used to control the service node to perform public network dialing test on the cloud desktop;

[0165] The thirteenth control module is used to control the management node to output the corresponding fifth alarm information when the public network dial test fails.

[0166] In some optional implementations, the cloud desktop service detection device further includes:

[0167] A fourteenth control module, used to control the service node to periodically send a heartbeat message of the cloud desktop to the management node;

[0168] The fifteenth control module is used to control the management node to output the sixth alarm information when the management node fails to receive the heartbeat message within a preset heartbeat period.

[0169] In some optional implementations, the cloud desktop service detection device further includes:

[0170] A sixteenth control module, configured to control the management node to detect a service status of a service component, wherein the service component includes at least one of an access controller, a management service running in the management node, a virtualization layer, and a middleware;

[0171] A seventeenth control module is used to control the management node to restart the service component when a service abnormality of the service component is detected.

[0172] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0173] The cloud desktop service detection device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0174] The embodiment of the present invention also provides a computer device having the above Figure 6 The cloud desktop service detection device shown.

[0175] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 7 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.

[0176] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0177] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment. The different methods shown in the above different embodiments can be implemented by different computer devices, that is, the processors in different computer devices execute the instructions stored in the memory of the same computer device to implement the methods in different method embodiments. The computer device can be a client, a gateway proxy node server, a load balancing server, a server where the cloud service is located, etc.

[0178] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0179] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0180] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0181] The computer device may also include an input device and an output device. The processor 10, the memory 20, the input device and the output device may be connected via a bus or other means.

[0182] The input device can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0183] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0184] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0185] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A cloud desktop service detection method, characterized in that: Applied to a cloud desktop system, the cloud desktop system includes a client, a load balancing server, a gateway proxy node, a management node and a cloud desktop, and the method includes: Control the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node; Controlling the test client to output first alarm information when the test client fails to receive the authorization information returned by the management node within a first time interval; Controlling the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node when receiving the authorization information returned by the management node within the first time interval, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server; Controlling the test client to output second alarm information when the test client fails to receive the cloud desktop connection information within a second time interval; Controlling the test client to connect to the cloud desktop based on the cloud desktop connection information when receiving the cloud desktop connection information sent by the management node within the second time interval; Instructing the test client to output third alarm information when the connection to the cloud desktop fails.

2. The method according to claim 1, characterized in that Also includes: If the test client does not receive the authorization information returned by the management node within the first time interval or does not receive the cloud desktop connection information within the second time interval, control the gateway proxy node to dial the management node and / or the access controller corresponding to the management node; If the gateway proxy node fails to dial the management node, the load balancing server is controlled to remove the gateway proxy node where the dialing test fails; If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

3. The method according to claim 1, characterized in that Also includes: If the test client fails to connect to the cloud desktop, controlling the gateway proxy node to dial the service node and / or the access controller corresponding to the service node; If the gateway proxy node fails to dial the service node, controlling the load balancing server to remove the gateway proxy node that fails to dial the service node; If the gateway proxy node fails to dial the access controller, the gateway proxy is controlled to remove the access controller from the proxy configuration.

4. The method according to claim 1, characterized in that Also includes: Control the service node to perform public network dialing test on the cloud desktop; The management node is controlled to output corresponding fifth alarm information when the public network dial test fails.

5. The method according to claim 1, characterized in that Also includes: Control the service node to periodically send heartbeat messages of the cloud desktop to the management node; The management node is controlled to output sixth alarm information when the heartbeat message is not received within a preset heartbeat period.

6. The method according to claim 1, characterized in that Also includes: Controlling the management node to detect a service status of a service component, wherein the service component includes at least one of an access controller, a management service running in the management node, a virtualization layer, and a middleware; The management node is controlled to restart the service component when a service abnormality of the service component is detected.

7. A cloud desktop system, characterized in that: The cloud desktop system includes a test client, a load balancing server, a gateway proxy node, a management node and a cloud desktop; The test client sends a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node; When the test client fails to receive the authorization information returned by the management node within the first time interval, outputting the first alarm information; When the test client receives the authorization information returned by the management node within the first time interval, the test client sends a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node; The management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server; When the test client fails to receive the cloud desktop connection information within the second time interval, outputting a second alarm message; When the test client receives the cloud desktop connection information sent by the management node within the second time interval, connecting to the cloud desktop based on the cloud desktop connection information; When the test client fails to connect to the cloud desktop, a third alarm message is output.

8. A cloud desktop service testing device, characterized in that: Applied to a cloud desktop system, the cloud desktop system includes a client, a load balancing server, a gateway proxy node, a management node and a cloud desktop, and the device includes: A first control module, used to control the test client to send a cloud desktop authorization request to the management node through the load balancing server and the gateway proxy node; A second control module, configured to control the test client to output a first alarm message when the test client fails to receive the authorization information returned by the management node within a first time interval; A third control module is used to control the test client to send a cloud desktop connection request to the management node through the load balancing server and the gateway proxy node when receiving the authorization information returned by the management node within the first time interval, so that the management node starts the cloud desktop based on the cloud desktop connection request, and sends the cloud desktop connection information to the test client via the gateway proxy node and the load balancing server; A fourth control module, configured to control the test client to output a second alarm message when the test client fails to receive the cloud desktop connection information within a second time interval; A fifth control module, configured to control the test client to connect to the cloud desktop based on the cloud desktop connection information when the test client receives the cloud desktop connection information sent by the management node within a second time interval; The indication module is used to output a third alarm message when the test client fails to connect to the cloud desktop.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the cloud desktop service detection method according to any one of claims 1 to 8 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the cloud desktop service detection method according to any one of claims 1 to 8.