Information monitoring method, edge server, industrial personal computer, data center, and system
By establishing a long connection between the industrial control machine and the edge server, receiving and matching heartbeat information, and generating change messages, the problem of inefficient viewing of the industrial control machine software status information in the prior art is solved, real-time monitoring and efficient acquisition of the industrial control machine software status are achieved.
Patent Information
- Application Number
- PCT/CN2024/131804
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-01
- Filing Date
- 2024-11-13
- Publication Date
- 2025-08-07
AI Technical Summary
In the prior art, users need to view multiple industrial control machines one by one to obtain software status information of industrial software, which is inefficient and time-consuming and labor-consuming.
By establishing a long connection between the industrial control machine and the edge server, receiving heartbeat information and matching with the software information records in the edge server cache, generating a change message, and passing it to the data center through message queue middleware, real-time monitoring and updating of the industrial control machine software status is achieved.
You can obtain the latest software status information of the target software without having to check the industrial control machine on site, which improves the acquisition efficiency and reduces labor and time costs.
Smart Images

Figure CN2024131804_07082025_PF_FP_ABST
Abstract
Description
Information monitoring method, edge server, industrial computer, data center and system
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application No. 202410145103.0 filed on February 1, 2024, entitled “Information Monitoring Method, Edge Server, Industrial Computer, Data Center and System,” and the entire contents of that application are incorporated herein by reference. Technical Field
[0003] The present application belongs to the field of industrial Internet technology, and in particular relates to an information monitoring method, an edge server, an industrial computer, a data center and a system. Background Art
[0004] An industrial personal computer (IPC), or industrial control computer, is a general term for tools that use a bus structure to inspect and control production processes, electromechanical equipment, and process equipment. IPCs possess important computer attributes and characteristics, such as a computer CPU, hard disk, memory, peripherals, and interfaces, as well as an operating system, control network and protocols, computing power, and a user-friendly human-computer interface. The products and technologies of the industrial control industry are very special and are considered intermediate products, providing reliable, embedded, and intelligent industrial computers for other industries.
[0005] Industrial computers can usually be installed with various industrial software (applications, apps). As the industrial computers are used, the software status information, such as the running status and version, of the industrial software usually changes. In order to facilitate the management of the industrial software in the industrial computers, users usually need to know the software status information of the industrial software.
[0006] Currently, users often obtain software status information by checking the industrial software on industrial computers (IPCs) on-site. However, factories often have multiple IPCs, requiring users to check each one individually, which is time-consuming and labor-intensive, resulting in low efficiency.
[0007] Summary of the Invention
[0008] The present application provides an information monitoring method, an edge server, an industrial computer, a data center, a system, a medium, and a program, which can improve the efficiency of obtaining software status information in the industrial computer.
[0009] In a first aspect, the present application provides an information monitoring method, comprising:
[0010] When a long connection is established with the industrial computer, the heartbeat information sent by the industrial computer is received. The heartbeat information includes the target device information of the industrial computer and the target software information of the target software. The target software is any industrial software installed on the industrial computer.
[0011] matching the target device information and the target software information with a software information record in a cache of the edge server to obtain a first matching result, where the software information record is generated based on historical heartbeat information received by the edge server;
[0012] If the first matching result meets the preset condition, generating a first change message, the first change message is used to indicate the latest software status information of the target software;
[0013] The first change message is sent to the message queue middleware, so that the data center can obtain the first change message from the message queue middleware through the cloud server.
[0014] In this way, users can obtain the latest software status information of the target software in the industrial computer through the cloud server in the data center without having to go to the site to check the industrial computer, thereby improving the efficiency of obtaining software status information in the industrial computer.
[0015] As a possible implementation, the target device information includes a target device identifier of the industrial computer, the target software information includes a target software name and a first software version of the target software, and the software information record includes a first information record, where the first information record is used to record a software version corresponding to the device identifier and the software name;
[0016] Matching the target device information and the target software information with the software information record in the cache to obtain a first matching result includes:
[0017] Matching the target device identifier and the target software name with the first information record to obtain a first sub-matching result;
[0018] When the first matching result satisfies a preset condition, generating a first change message includes:
[0019] When the first sub-matching result indicates that there is no software version matching the target device identifier and the target software name in the first information record, or the software version matching the target device identifier and the target software name in the first information record is a second software version inconsistent with the first software version, a first version status change message is generated. The first version status change message is used to indicate that the latest software version of the target software is the first software version.
[0020] In this way, the data center can promptly perceive the software version status changes of the target software and obtain the latest software version of the target software.
[0021] As a possible implementation manner, after matching the target device identifier and the target software name with the first information record to obtain a first sub-matching result, the method further includes:
[0022] If the first sub-matching result indicates that no software version matching the target device identifier and the target software name exists in the first information record, a first piece of data is added to the first information record, where the first data is used to indicate that the software version matching the target device identifier and the target software name is the first software version;
[0023] When the first sub-matching result indicates that the software version matching the target device identifier and the target software name in the first information record is the second software version, the software version status matching the target device identifier and the target software name in the first information record is changed to the first software version.
[0024] In this way, the latest software version status of the target software can be recorded in the first information record, and the software version status change of the target software can be accurately determined based on the first information record.
[0025] As a possible implementation, the software information record further includes a second information record, and the second information record is used to record the software running status corresponding to the device identifier and the software name;
[0026] Matching the target device information and the target software information with the software information record in the edge server cache to obtain a first matching result, including:
[0027] Matching the target device identifier and the target software name with the second information record to obtain a second sub-matching result;
[0028] When the first matching result satisfies a preset condition, generating a first change message includes:
[0029] When the second sub-matching result indicates that there is no software running status matching the target device identifier and the target software name in the second information record, or the software running status matching the target device identifier and the target software name in the second information record is closed, a first software running status change message is generated. The first software running status change message is used to indicate that the latest running status of the target software is on.
[0030] In this way, the data center can promptly perceive the changes in the software running status of the target software and obtain the latest software running status of the target software.
[0031] As a possible implementation manner, after matching the target device identifier and the target software name with the second information record to obtain a second sub-matching result, the method further includes:
[0032] If the second sub-matching result indicates that there is no software running status matching the target device identifier and the target software name in the second information record, adding a second data item to the second information record, the second data item being used to indicate that the software running status matching the target device identifier and the target software name is enabled;
[0033] When the second sub-matching result indicates that the running status of the software matching the target device identifier and the target software name in the second information record is off, the running status of the software matching the target device identifier and the target software name in the second information record is changed to on.
[0034] In this way, the second information record can record the latest running status of the target software, and the running status change of the target software can be accurately determined based on the second information record.
[0035] As a possible implementation manner, when the software running status corresponding to the target device identifier and the target software name in the second information record is enabled, the method further includes:
[0036] The time when the heartbeat information was last received is determined every preset period;
[0037] If the time interval between the last time the heartbeat information was received and the current time is greater than a preset period, a second software running state change message is generated, and the running state of the software matching the target device identifier and the target software name in the second information record is changed to closed, and the second software running state change message is used to indicate that the latest running state of the target software is closed;
[0038] Send a second software running state change message to the message queue middleware.
[0039] In this way, the data center can promptly detect the shutdown of the target software.
[0040] As a possible implementation manner, the target device information includes a target device identifier of the industrial computer. After receiving the heartbeat information sent by the industrial computer, the method further includes:
[0041] Matching the target device identifier with a device information record in the cache to obtain a second matching result, where the device information record is generated based on historical heartbeat information received by the edge server, and the device information record includes a device operating status that matches the device identifier;
[0042] If the second matching result indicates that there is no device operating status matching the target device identifier in the device information record, or the device operating status matching the target device identifier in the device information record is off, a first device operating status change message is generated, where the first device operating status change message is used to indicate that the latest operating status of the industrial computer is on.
[0043] Send a first device operation status change message to the message queue middleware.
[0044] In this way, the data center can promptly perceive changes in the operating status of the industrial computer and obtain the latest operating status of the industrial computer.
[0045] As a possible implementation, after matching the target device identifier with the device information record in the cache to obtain a second matching result, the method further includes:
[0046] If the second matching result indicates that there is no device operating state matching the target device identifier in the device information record, a third data item is added to the device information record, where the third data item is used to indicate that the device operating state corresponding to the target device identifier is on.
[0047] When the second matching result indicates that the running status of the device matching the target device identifier in the device information record is off, the running status of the device matching the target device identifier in the device information record is changed to on.
[0048] In this way, the latest operating status of the industrial computer can be recorded in the device information record, and the subsequent operating status changes of the industrial computer can be accurately judged based on the device information record.
[0049] As a possible implementation, when the device operating status corresponding to the target device identifier in the device information record is on, the method further includes:
[0050] The time when the heartbeat information was last received is determined every preset period;
[0051] If the time interval between the last time the heartbeat information was received and the current time is greater than a preset period, a second device operation status change message is generated, and the operation status of the device matching the target device identifier in the device information record is changed to shutdown. The second device operation status change message is used to indicate that the latest operation status of the industrial computer is shutdown.
[0052] Send a second device operation status change message to the message queue middleware.
[0053] In this way, the data center can promptly detect the shutdown of the industrial computer.
[0054] As a possible implementation method, the method further includes:
[0055] Determine the frequency at which the industrial computer sends heartbeat information;
[0056] When it is determined that the frequency is greater than or equal to the frequency threshold, the heartbeat information sent by the industrial computer is shielded.
[0057] In this way, malicious attacks from industrial computers on edge servers can be reduced, and the security of edge servers can be improved.
[0058] In a second aspect, the present application provides an information monitoring method, comprising:
[0059] When a persistent connection is established with the edge server, a heartbeat message is sent to the edge server. The heartbeat message includes the target device information of the industrial computer and the target software information of the target software. The target software is any industrial software installed on the industrial computer.
[0060] Record the number of consecutive failures in sending heartbeat information to the edge server;
[0061] When the number of consecutive failures is greater than or equal to the threshold, the heartbeat information is stopped from being sent to the edge server.
[0062] This can reduce invalid network bandwidth usage and the output of abnormal logs.
[0063] In a third aspect, the present application provides an information monitoring method, comprising:
[0064] Obtaining, through the cloud server, a first change message sent by the edge server from the message queue middleware, where the first change message is used to indicate the latest software status information of the target software, where the target software is any industrial software installed in the industrial computer;
[0065] Storing the first change message in a database;
[0066] When the cloud server receives the first information acquisition request sent by the client, the cloud server acquires the latest software status information of the target software from the database based on the first information acquisition request, where the first information acquisition request is used to instruct the acquisition of the latest software status information of the target software;
[0067] Send the latest software status information to the client.
[0068] In this way, users can easily view the latest software status information of the target software through the client.
[0069] In a fourth aspect, the present application provides an edge server, comprising:
[0070] The receiving module is used to receive the heartbeat information sent by the industrial computer when a long connection is established with the industrial computer. The heartbeat information includes the target device information of the industrial computer and the target software information of the target software. The target software is any industrial software installed on the industrial computer.
[0071] a matching module, configured to match the target device information and the target software information with the software information record in the edge server cache to obtain a first matching result;
[0072] A message generating module, configured to generate a first change message when the first matching result satisfies a preset condition, the first change message being used to indicate the latest software status information of the target software;
[0073] The sending module is used to send the first change message to the message queue middleware, so that the data center can obtain the first change message from the message queue middleware through the cloud server.
[0074] In this way, users can obtain the latest software status information of the target software in the industrial computer through the cloud server in the data center without having to go to the site to check the industrial computer, thereby improving the efficiency of obtaining software status information in the industrial computer.
[0075] In a fifth aspect, the present application provides an industrial computer, comprising:
[0076] The sending module is used to send heartbeat information to the edge server when a long connection is established with the edge server. The heartbeat information includes the target device information of the industrial computer and the target software information of the target software. The target software is any industrial software installed on the industrial computer;
[0077] The number of recording modules is used to record the number of consecutive failures in sending heartbeat information to the edge server;
[0078] The stop module is used to stop sending heartbeat information to the edge server when the number of consecutive failures is greater than or equal to the number threshold.
[0079] This can reduce invalid network bandwidth usage and the output of abnormal logs.
[0080] In a sixth aspect, the present application provides a data center, including: a cloud server, the cloud server including:
[0081] A first acquisition module is configured to acquire a first change message sent by the edge server from the message queue middleware, where the first change message is used to indicate the latest software status information of the target software, where the target software is any industrial software installed in the industrial computer;
[0082] A storage module, configured to store the first change message in a database;
[0083] A second acquisition module is configured to, upon receiving a first information acquisition request sent by a client, acquire the latest software status information of the target software from a database based on the first information acquisition request, wherein the first information acquisition request is used to instruct acquisition of the latest software status information of the target software;
[0084] The sending module is used to send the latest software status information to the client.
[0085] In this way, users can easily view the latest software status information of the target software through the client.
[0086] In a seventh aspect, the present application provides an information monitoring system, comprising: an industrial computer, an edge server, a message queue middleware, and a data center;
[0087] A long connection is established between the industrial computer and the edge server;
[0088] The industrial computer is used to send heartbeat information to the edge server. The heartbeat information includes the target device information of the industrial computer and the target software information of the target software. The target software is any industrial software installed on the industrial computer.
[0089] The edge server is configured to receive heartbeat information sent by the industrial computer; match target device information and target software information with software information records in the edge server cache to obtain a first matching result; if the first matching result satisfies a preset condition, generate a first change message, the first change message being configured to indicate the latest software status information of the target software; and send the first change message to the message queue middleware;
[0090] The message queue middleware is used to store the first change message;
[0091] The data center is configured to obtain the first change message from the message queue middleware through the cloud server.
[0092] In this way, users can obtain the latest software status information of the target software in the industrial computer through the cloud server in the data center without having to go to the site to check the industrial computer, thereby improving the efficiency of obtaining software status information in the industrial computer.
[0093] In an eighth aspect, the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the information monitoring method of the first aspect, the second aspect or the third aspect is implemented.
[0094] In a ninth aspect, the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the information monitoring method of the first aspect, the second aspect, or the third aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0095] The features, advantages and technical effects of exemplary embodiments of the present application will be described below with reference to the accompanying drawings.
[0096] FIG1 is a schematic diagram of an information monitoring system according to an embodiment of the present application;
[0097] FIG2 is a schematic diagram of an information monitoring method according to an embodiment of the present application;
[0098] FIG3 is a schematic diagram of an information monitoring system according to an embodiment of the present application;
[0099] FIG4 is a schematic diagram of an information monitoring method according to an embodiment of the present application;
[0100] FIG5 is a schematic diagram of an edge server according to an embodiment of the present application;
[0101] FIG6 is a schematic diagram of an industrial computer according to an embodiment of the present application;
[0102] FIG7 is a schematic diagram of a data center according to an embodiment of the present application.
[0103] In the accompanying drawings, the drawings are not necessarily drawn to scale. DETAILED DESCRIPTION
[0104] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0105] Refer to Figure 1, which is a schematic diagram of an information monitoring system provided in an embodiment of the present application. As shown in Figure 1, the information monitoring system 100 may include at least: an industrial computer 101, an edge server 102, a message queue middleware 103 and a data center 104.
[0106] In some embodiments of the present application, the industrial computer 101 and edge server 102 may belong to a first network, while the message queue middleware 103 and data center 104 may belong to a second network different from the first network. For example, the industrial computer 101 and edge server 102 may belong to a factory base network, while the message queue middleware 103 and data center 104 may belong to an office network. A persistent connection is established between the industrial computer 101 and edge server 102.
[0107] In this embodiment, a long connection means that multiple data packets can be sent continuously on a connection. By establishing a long connection between the industrial computer 101 and the edge server 102, the connection and disconnection operations between the industrial computer 101 and the edge server 102 can be reduced, thereby improving communication efficiency.
[0108] It should be noted that the system 100 may include multiple industrial computers 101, and all of the multiple industrial computers 101 may establish a long connection with the edge server 102. In this embodiment, only one industrial computer 101 is used as an example for description.
[0109] In this embodiment, the information monitoring method shown in FIG. 2 can be implemented based on the system 100. Referring to FIG. 2 , the information monitoring method can include the following steps S21 - S27 , which are described below.
[0110] S21 . The industrial computer 101 sends a heartbeat message to the edge server 102 . The heartbeat message includes the target device information of the industrial computer 101 and the target software information of the target software 1012 . The target software 1012 is any industrial software installed on the industrial computer 101 .
[0111] In some embodiments of the present application, as shown in FIG1 , the industrial computer 101 can maintain heartbeats with the edge server 102 through a persistent connection service 1011 provided therein, and continuously transmit heartbeat information to the edge server 102. The persistent connection service 1011 is a monitoring process, and the persistent connection service 1011 can maintain heartbeats with the edge server 102 through a TCP communication protocol that supports persistent connections. The TCP communication protocol that supports persistent connections may include, but is not limited to, protocols such as WebSocket.
[0112] In an example, taking the long connection service 1011 maintaining heartbeat with the edge server 102 through websocket as an example, the target software 1012 can send the target software information to the long connection service 1011 through the local socket of the industrial computer 101, and the long connection service 1011 obtains the target device information of the industrial computer 101. The long connection service 1011 encapsulates the target software information and the target device information based on the websocket protocol to obtain the heartbeat information containing the target software information and the target device information, and sends the heartbeat information to the edge server 102 through the websocket protocol.
[0113] In some embodiments of the present application, the target software 1012 may send target software information to the persistent connection service 1011 upon startup, and send the target software information to the persistent connection service 1011 once every first time interval after startup. Correspondingly, the persistent connection service 1011 may send heartbeat information to the edge server 102 upon startup, and send the heartbeat information to the edge server 102 once every first time interval after startup. The first time interval may be set according to actual conditions, for example, 5 seconds.
[0114] S22 . The edge server 102 receives the heartbeat information sent by the industrial computer 101 .
[0115] S23 . The edge server 102 matches the target device information and the target software information with the software information record in the edge server 102 cache to obtain a first matching result. The software information record is generated based on the historical heartbeat information received by the edge server 102 .
[0116] S24. When the first matching result satisfies a preset condition, the edge server 102 generates a first change message, where the first change message is used to indicate the latest software status information of the target software.
[0117] S25 . The edge server 102 sends a first change message to the message queue middleware 103 .
[0118] In some embodiments of the present application, upon receiving a heartbeat message from the industrial computer 101, the edge server 102 may match the target device information and target software information in the heartbeat message with the software information records in the cache in the edge server 102, thereby obtaining a first matching result. The software information records in the edge server 102 cache are generated based on historical heartbeat messages received by the edge server 102. The first matching result may indicate whether there is information in the software information record that matches the target device information and target software information, and, if so, may indicate the matched information. Based on this, the first matching result may be used to determine whether the software status information of the target software 1012 in the industrial computer 101 has changed. If the first matching result meets a preset condition, it may be determined that the software status of the target software 1012 has changed, thereby triggering a software status change event. Upon triggering the software status change event, a first change message may be generated and sent to the message queue middleware 103. The first change message indicates the latest software status information of the target software 1012. The preset condition is a pre-set condition that can determine whether the software status information of the target software 1012 has changed.
[0119] S26. The message queue middleware 103 stores the first change message.
[0120] In some embodiments of the present application, the edge server 102 may serve as a producer of the message queue middleware 103 and may send messages to the message queue middleware 103. The message queue middleware 103 may be a Kafka message queue.
[0121] S27 . The data center 104 obtains the first change message from the message queue middleware 103 through the cloud server 1041 .
[0122] In some embodiments of the present application, as shown in FIG1 , the data center 104 includes a cloud server 1041 . The cloud server 1041 , as a consumer of the message queue middleware 103 , can obtain messages stored in the message queue middleware 103 .
[0123] In this way, based on system 100, users can obtain the latest software status information of the target software 1012 in the industrial computer 101 through the cloud server 1041 in the data center 104, without having to go to the site to check the industrial computer 101, thereby improving the efficiency of obtaining software status information in the industrial computer 101.
[0124] In some embodiments, the target device information may include at least a target device identifier of the industrial computer 101, and the target software information may include at least a target software name and a first software version of the target software 1012. It is understood that, in addition to the target device identifier, the target device information may also include other device information of the industrial computer 101, depending on actual circumstances. For example, the target device information may also include the IP address of the industrial computer 101. Similarly, in addition to the target software name and the first software version of the target software 1012, the target software information may also include other information of the target software 1012, depending on actual circumstances. For example, the target software information may also include the software release time of the first software version.
[0125] As an example, the target software information sent by the target software 1012 to the persistent connection service 1011 may include the information shown in Table 1 below:
[0126] Table 1
[0127] The target software 1012 may send the target software information to the persistent connection service 1011 in the following data format:
[0128] As an example, the heartbeat information sent by the persistent connection service 1011 to the edge server 102 may include the following information:
[0129] Table 2
[0130] Among them, the device identifier is the device identifier of the industrial computer 101, that is, the target device identifier, which can be configured before the long connection service 1011 is started. The device IP address is the IP address of the industrial computer 101, and the software information list includes the target software information sent by all target software 1012 in the industrial computer 101.
[0131] The persistent connection service 1011 may send the heartbeat information to the edge server 102 in the following data format:
[0132] Wherein, app1 and app2 are both target software 1012 in the industrial computer 101 .
[0133] After the edge server 102 receives the heartbeat information sent by the industrial computer 101 through the long connection service 1011, it can parse the heartbeat information to obtain the target device identification, target software name, first software version and other information contained therein, and match the parsed information with the software information record in the cache.
[0134] The software information records in the cache of edge server 102 include a first information record, which is used to record the software version corresponding to the device identifier and the software name. Based on this, edge server 102 matches the target device information and target software information with the software information records in the cache, and obtains a first matching result, which may include:
[0135] The target device identifier and the target software name are matched with the first information record to obtain a first sub-matching result.
[0136] In some embodiments of the present application, the first information record may be a data table recording structured data, and each structured data in the first information record may be composed of an index item and an index value corresponding to the index item, wherein the index item may be a field composed of a device identifier and a software name, such as device_id+app_name, and the index value may be a software version corresponding to the device identifier and the software name. Based on this, when matching the target device identifier and the target software name with the first information record, the target device identifier and the target software name may be formed into a first index item, and the index value matching the first index item may be searched from the first information record to obtain a first sub-matching result.
[0137] Accordingly, when the first matching result satisfies the preset condition, the edge server 102 generates a first change message, which may include:
[0138] When the first sub-matching result indicates that there is no software version matching the target device identifier and the target software name in the first information record, or the software version matching the target device identifier and the target software name in the first information record is a second software version inconsistent with the first software version, a first version change message is generated. The first version status change message is used to indicate that the latest software version of the target software 1012 is the first software version.
[0139] In some embodiments of the present application, when the first sub-matching result indicates that there is no software version matching the target device identifier and the target software name in the first information record, it means that the target software 1012 in the industrial computer 101 is a newly started software. Because the industrial computer 101 has not started the target software 1012 before, it can be considered that the software version of the target software 1012 has changed from none to the first software version. Therefore, the edge server 102 can trigger a software version status change event at this time, thereby generating a first version status change message. The first version status change message is used to indicate that the latest software version of the target software is the first software version.
[0140] In some embodiments of the present application, when the first sub-matching result indicates that there is a second software version matching the target device identifier and the target software name in the first information record, it indicates that the target software 1012 in the industrial computer 101 is software that has been started. If the second software version is inconsistent with the first software version, it indicates that the software version of the target software 1012 has changed, and the state has changed from the second software version to the first software version. Therefore, the edge server 102 can trigger a software version state change event at this time and generate a first version state change message. The first version state change message is used to indicate that the latest software version of the target software is the first software version.
[0141] Correspondingly, after generating the first version status change message, the edge server 102 sends the first version status change message as the first change message to the message queue middleware 103 .
[0142] In this way, the data center 104 can timely perceive the software version status change of the target software 1012 and obtain the latest software version of the target software 1012.
[0143] As an example, the first version status change message may include the information shown in Table 3 below:
[0144] Table 3
[0145] The edge server 102 may send the first version status change message to the message queue middleware 103 in the following data format:
[0146] In addition, in some embodiments of the present application, if the second software version is consistent with the first software version, it can be considered that the target software 1012 has not undergone a software version status change. At this time, the edge server 102 does not need to send a first version status change message to the message queue middleware 103.
[0147] In some embodiments, in order for the edge server 102 to subsequently accurately determine whether the target software 1012 has undergone a software version status change based on the first information record, the edge server 102 may further perform the following steps after matching the target device identifier and the target software name with the first information record and obtaining a first sub-matching result:
[0148] If the first sub-matching result indicates that no software version matching the target device identifier and the target software name exists in the first information record, a first piece of data is added to the first information record, where the first data is used to indicate that the software version matching the target device identifier and the target software name is the first software version;
[0149] When the first sub-matching result indicates that the software version matching the target device identifier and the target software name in the first information record is the second software version, the software version status matching the target device identifier and the target software name in the first information record is changed to the first software version.
[0150] In this way, the latest software version status of the target software 1012 can be recorded in the first information record, and the software version status change of the target software 1012 can be accurately determined based on the first information record.
[0151] In some embodiments, the software information record in the edge server 102 cache may further include a second information record, where the second information record is used to record the software running status corresponding to the device identifier and the software name. Based on this, the edge server 102 matches the target device information and the target software information with the software information record in the edge server 102 cache to obtain a first matching result, which may also include:
[0152] The target device identifier and the target software name are matched with the first information record to obtain a second sub-matching result.
[0153] In some embodiments of the present application, similar to the first information record, the second information record may also be a data table recording structured data. In the second information record, each structured data item may be composed of an index item and an index value corresponding to the index item, wherein the index item may be a field composed of a device identifier and a software name, such as device_id+app_name, and the index value may be the software running status corresponding to the device identifier and the software name, such as status. The software running status may be divided into two states: on and off. Status = ON indicates that the software running status is on, and status = OFF indicates that the software running status is off. Based on this, when matching the target device identifier and the target software name with the second information record, the target device identifier and the target software name may be combined into a second index item, and the index value matching the second index item may be searched from the second information record to obtain a second sub-matching result.
[0154] Accordingly, when the first matching result satisfies the preset condition, the edge server 102 generates a first change message, which may include:
[0155] When the second sub-matching result indicates that there is no software running status matching the target device identifier and the target software name in the second information record, or the software running status matching the target device identifier and the target software name in the second information record is closed, a first software running status change message is generated. The first software running status change message is used to indicate that the latest running status of the target software 1012 is on.
[0156] In some embodiments of the present application, the edge server 102 can only receive the heartbeat information containing the target software information of the target software 1012 when the target software 1012 is in the turned-on state. Therefore, when the edge server 102 receives the heartbeat information containing the target software information of the target software 1012, it can determine that the running state of the target software 1012 is the turned-on state. At this time, if the second sub-matching result indicates that there is no software running state matching the target device identifier and the target software name in the second information record, it means that the target software 1012 in the industrial computer 101 is a newly started software, and the industrial computer 101 has not started the target software 1012 before. Therefore, it can be considered that the running state of the target software 1012 has changed from closed to opened. Therefore, the edge server 102 can trigger a software running state change event, thereby generating a first software running state change message. The first software running state change message is used to indicate that the latest running state of the target software is opened.
[0157] In some embodiments of the present application, when the second sub-matching result indicates that there is a software running status that matches the target device identifier and the target software name in the second information record, it means that the target software 1012 in the industrial computer 101 is software that has been started. If the matched software running status is closed, it means that the running status of the target software 1012 has changed from closed to open. Therefore, the edge server 102 can trigger a software running status change event at this time and generate a first software running status change message. The first software running status change message is used to indicate that the latest running status of the target software 1012 is open.
[0158] Correspondingly, after generating the first software running state change message, the edge server 102 sends the first software running state change message as the first change message to the message queue middleware 103 .
[0159] In this way, the data center 104 can timely perceive the changes in the software running status of the target software 1012 and obtain the latest software running status of the target software 1012.
[0160] As an example, the first software running state change message may include the information shown in Table 4 below:
[0161] Table 4
[0162] The edge server 102 may send the first software running state change message to the message queue middleware 103 in the following data format:
[0163] In addition, in some embodiments of the present application, if the second sub-matching result indicates that there is a software running status that matches the target device identifier and the target software name in the second information record, and the software running status is on, it can be considered that the target software 1012 has not undergone a software running status change. At this time, the edge server 102 does not need to send the first software running status change message to the message queue middleware 103.
[0164] In some embodiments, in order for the edge server 102 to subsequently accurately determine whether the target software 1012 has a running state change based on the second information record, the edge server 102 matches the target device identifier and the target software name with the second information record. After obtaining the second sub-matching result, the edge server 102 may further perform the following steps:
[0165] If the second sub-matching result indicates that there is no software running status matching the target device identifier and the target software name in the second information record, adding a second data item to the second information record, the second data item being used to indicate that the software running status matching the target device identifier and the target software name is enabled;
[0166] When the second sub-matching result indicates that the running status of the software matching the target device identifier and the target software name in the second information record is off, the running status of the software matching the target device identifier and the target software name in the second information record is changed to on.
[0167] In this way, the latest running status of the target software 1012 can be recorded in the second information record, and the running status change of the target software 1012 can be accurately determined based on the second information record.
[0168] In some embodiments, when the software running status corresponding to the target device identifier and the target software name in the second information record is enabled, the edge server 102 may further perform the following steps:
[0169] The time when the heartbeat information was last received is determined every preset period;
[0170] If the time interval between the last time the heartbeat information was received and the current time is greater than a preset period, a second software running state change message is generated, and the running state of the software matching the target device identifier and the target software name in the second information record is changed to closed, and the second software running state change message is used to indicate that the latest running state of the target software is closed;
[0171] Send a second software running state change message to the message queue middleware.
[0172] In some embodiments of the present application, the edge server 102 may scan the cache once every preset period to determine whether the time between the last update of the heartbeat information and the current time is greater than the preset period. If it is greater than the preset period, it indicates that the target software 1012 has stopped running. Therefore, the edge server 102 now believes that the running state of the target software 1012 has changed from on to off, thereby triggering a software running state change event, generating a second software running state change message, and the second software running state change message is used to indicate that the latest running state of the target software 1012 is off, and sending the second software running state change message to the message queue middleware. The preset period can be set according to actual needs, for example, it can be 30 seconds.
[0173] In this way, the data center 104 can promptly sense the shutdown of the target software 1012 .
[0174] As an example, the second software running state change message may include the information shown in Table 5 below:
[0175] Table 5
[0176] The edge server 102 may send the second software running state change message to the message queue middleware 103 in the following data format:
[0177] In addition, when the time interval between the last time the heartbeat information was received and the current time is greater than the preset period, by changing the software running status that matches the target device identifier and the target software name in the second information record to closed, it is convenient to accurately judge the software running status change of the target software 1012 based on the second information record.
[0178] In some embodiments, in order to enable the data center 104 to sense changes in the operating status of the industrial computer 101 so as to manage and control the industrial computer 101, when the target device information includes the target device identifier of the industrial computer, the edge server 102 may further perform the following steps after receiving the heartbeat information sent by the industrial computer 101:
[0179] Matching the target device identifier with the device information record in the cache to obtain a second matching result, where the device information record is generated based on the historical heartbeat information received by the edge server 102, and the device information record includes the device operating status that matches the device identifier;
[0180] If the second matching result indicates that there is no device operating status matching the target device identifier in the device information record, or the device operating status matching the target device identifier in the device information record is off, a first device operating status change message is generated, and the first device operating status change message is used to indicate that the latest operating status of the industrial computer 101 is on.
[0181] Send a first device operation status change message to the message queue middleware 103.
[0182] In some embodiments of the present application, similar to the first information record, the device information record can also be a data table containing structured data. Each piece of structured data in the device information record can be composed of an index item and an index value corresponding to the index item, where the index item can be a device identifier, such as device_id, and the index value can be the device operating status corresponding to the device identifier, such as status. The device operating status can be divided into two states: on and off. Status = ON indicates that the device operating status is on, and status = OFF indicates that the device operating status is off. Based on this, when matching the target device identifier with the device information record, the target device identifier can be used as a third index item, and the index value matching the third index item is searched from the device information record to obtain a second matching result.
[0183] In some embodiments of the present application, the edge server 102 can only receive the heartbeat information containing the target device information of the industrial computer 101 when the industrial computer 101 is in the turned-on state. Therefore, when the edge server 102 receives the heartbeat information containing the target device information of the industrial computer 101, it can determine that the running state of the industrial computer 101 is the turned-on state. At this time, if the second matching result indicates that there is no device running state matching the target device identifier in the device information record, it means that the industrial computer 101 is a newly registered device, so at this time it can be considered that the running state of the industrial computer 101 has changed from off to on. Therefore, the edge server 102 can trigger the device running state change event, thereby generating a first device running state change message. The first device running state change message is used to indicate that the latest running state of the target software is on.
[0184] In some embodiments of the present application, when the second matching result indicates that there is a device operating status that matches the target device identifier in the device information record, it indicates that the industrial computer 101 is a registered device. If the matched device operating status is off, it indicates that the operating status of the industrial computer 101 has changed from off to on. Therefore, the edge server 102 can trigger a device operating status change event at this time and generate a first device operating status change message. The first device operating status change message is used to indicate that the latest operating status of the industrial computer 101 is on.
[0185] Correspondingly, after generating the first device operation status change message, the edge server 102 sends the first device operation status change message to the message queue middleware 103 .
[0186] In this way, the data center 104 can timely sense the change in the device operating status of the industrial computer 101 and obtain the latest operating status of the industrial computer 101.
[0187] As an example, the first device operating state change message may include the information shown in Table 6 below:
[0188] Table 6
[0189] The edge server 102 may send the first device operation status change message to the message queue middleware 103 in the following data format:
[0190] In addition, in some embodiments of the present application, if the second matching result indicates that there is a device operating status that matches the target device identifier in the device information record, and the device operating status is on, it can be considered that the industrial computer 101 has not changed its operating status. At this time, the edge server 102 does not need to send the first device operating status change message to the message queue middleware 103.
[0191] In some embodiments, in order for the edge server 102 to subsequently accurately determine whether the operating status of the industrial computer 101 has changed based on the device information record, the edge server 102 matches the target device identifier with the device information record in the cache. After obtaining the second matching result, the following steps may be performed:
[0192] If the second matching result indicates that there is no device operating state matching the target device identifier in the device information record, a third data item is added to the device information record, where the third data item is used to indicate that the device operating state corresponding to the target device identifier is on.
[0193] When the second matching result indicates that the running status of the device matching the target device identifier in the device information record is off, the running status of the device matching the target device identifier in the device information record is changed to on.
[0194] In this way, the latest operating status of the industrial computer 101 can be recorded in the device information record, and the operating status change of the industrial computer 101 can be accurately determined based on the device information record.
[0195] In some embodiments, when the device operation status corresponding to the target device identifier in the device information record is on, the edge server 102 may further perform the following steps:
[0196] The time when the heartbeat information was last received is determined every preset period;
[0197] If the time interval between the last time the heartbeat information was received and the current time is greater than a preset period, a second device operation status change message is generated, and the operation status of the device matching the target device identifier in the device information record is changed to shutdown. The second device operation status change message is used to indicate that the latest operation status of the industrial computer is shutdown.
[0198] Send a second device operation status change message to the message queue middleware.
[0199] In some embodiments of the present application, the edge server 102 may scan the cache once every preset period to determine whether the time between the last update of the heartbeat information and the current time is greater than the preset period. If it is greater than the preset period, it indicates that the industrial computer 101 has stopped running. Therefore, the edge server 102 now believes that the operating state of the industrial computer 101 has changed from on to off, thereby triggering a device operating state change event and generating a second device operating state change message. The second device operating state change message is used to indicate that the latest operating state of the industrial computer 101 is off, and the second device operating state change message is sent to the message queue middleware. The preset period can be set according to actual needs, for example, it can be 30 seconds.
[0200] In this way, the data center 104 can promptly sense the shutdown of the industrial computer 101 .
[0201] In some embodiments, in order to reduce malicious attacks from the industrial computer 101 on the edge server 102 and improve the security of the edge server 102, the edge server 102 may further perform the following steps:
[0202] Determine the frequency at which the industrial computer 101 sends heartbeat information;
[0203] When it is determined that the frequency is greater than or equal to the frequency threshold, the heartbeat information sent by the industrial computer 101 is shielded.
[0204] The frequency threshold can be set according to actual needs.
[0205] In some embodiments of the present application, a blacklist may be provided in the edge server 102. If the frequency at which the industrial computer 101 with the same IP address sends heartbeat information to the edge server 102 is greater than a frequency threshold, it may be determined that the industrial computer 101 is abnormal and may be involved in an attack, and the industrial computer 101 may be temporarily added to the blacklist to block the heartbeat message sent by the industrial computer 101.
[0206] In addition, in some embodiments of the present application, the edge server 102 can also send a message indicating that the industrial computer 101 is added to the blacklist to the message queue middleware 103 while shielding the heartbeat information sent by the industrial computer 101. In this way, the data center 104 can obtain the message from the message queue middleware 103, and then perceive that there is an abnormality in the industrial computer 101, and further notify the system administrator to handle it in time.
[0207] In this way, malicious attacks from the industrial computer 101 to the edge server 102 can be reduced, thereby improving the security of the edge server 102.
[0208] In some embodiments, in addition to sending heartbeat information to the edge server 102, the industrial computer 101 may also perform the following steps:
[0209] Record the number of consecutive failures in sending heartbeat information to the edge server;
[0210] When the number of consecutive failures is greater than or equal to the threshold, the heartbeat information is stopped from being sent to the edge server.
[0211] In some embodiments of the present application, the industrial computer 101 can record the number of consecutive failures in sending heartbeat information to the edge server through the long connection service 1011 set therein. When the long connection service 1011 sends a heartbeat message to the edge server 102, if the sending fails N times in a row, it can be determined that a network problem or service downtime may occur, and the sending of heartbeat messages to the edge server 102 is suspended at this time, where N is a number threshold set according to actual conditions.
[0212] This can reduce invalid network bandwidth usage and the output of abnormal logs.
[0213] In addition, in some embodiments of the present application, after a network problem or service downtime is resolved, the system administrator may notify the industrial computer 101 to restart sending heartbeat messages to the edge server 102 .
[0214] In some embodiments, as shown in Figure 3, the data center 104 may also include a database 1042, and the system 100 may also include a client 105 that belongs to the same network as the data center 104 and the message queue middleware 103, wherein the client 105 can display a web front-end interface, which can be used to view the device status information of the industrial computer 101 and the software status information of the industrial software in the industrial computer 101.
[0215] Accordingly, as shown in FIG4 , the information monitoring method may further include the following steps S28-S213:
[0216] S28. The data center 104 stores the first change message in the database 1042 via the cloud server 1041.
[0217] S29. The client 105 receives the first input from the user.
[0218] In some embodiments of the present application, the first input may be an input by a user to a web front-end interface in the client 105 , and the first input is used to view the latest software status information of the target software 1012 .
[0219] S210 . The client 105 sends a first information acquisition request to the cloud server 1041 of the data center 104 based on the first input. The first information acquisition request is used to instruct acquisition of the latest software status information of the target software 1012 .
[0220] S211 . The data center 104 obtains the latest software status information of the target software 1012 from the database 1042 through the cloud server 1041 based on the first information acquisition request.
[0221] S212 . The data center 104 sends the latest software status information to the client 105 via the cloud server 1041 .
[0222] S213. The client 105 displays the latest software status information.
[0223] In some embodiments of the present application, the client 105 may display the latest software status information of the target software 1012 through a web front-end interface.
[0224] In this way, the user can conveniently view the latest software status information of the target software 1012 through the client 105 .
[0225] In some embodiments, the data center 104 may also obtain a second change message from the message queue middleware 103 via the cloud server 1041 and store the second change message in the database 1042. Accordingly, the client 105 may also receive a second input from the user and, based on the second input, send a second information acquisition request to the cloud server 1041 of the data center 104. The second information acquisition request is used to instruct the acquisition of the latest operating status information of the industrial computer 101. The second input may be input by the user into the web front-end interface of the client 105, and the second input is used to view the latest operating status information of the industrial computer 101. When the cloud server 1041 receives the second information acquisition request sent by the client 105, it can obtain the latest operating status information of the industrial computer 101 from the database 1042 based on the second information acquisition request, and send the latest operating status information of the industrial computer 101 to the client 105. After the client 105 receives the latest operating status information of the industrial computer 101 sent by the cloud server 1041, it can display the latest operating status information of the industrial computer 101. Similarly, the client 105 can display the latest operating status information of the industrial computer 101 through the web front-end interface.
[0226] In this way, the user can conveniently view the latest operating status information of the industrial computer 101 through the client 105 .
[0227] Referring to FIG5 , which is a schematic diagram of an edge server provided in an embodiment of the present application, as shown in FIG5 , the edge server 102 may include the following modules:
[0228] The receiving module 1021 is used to receive heartbeat information sent by the industrial computer 101 when a long connection is established between the industrial computer 101 and the industrial computer 101. The heartbeat information includes target device information of the industrial computer 101 and target software information of the target software 1012. The target software 1012 is any industrial software installed on the industrial computer.
[0229] A matching module 1022 is configured to match the target device information and the target software information with the software information record in the cache of the edge server 102 to obtain a first matching result;
[0230] A message generating module 1023 is configured to generate a first change message when the first matching result satisfies a preset condition, the first change message being used to indicate the latest software status information of the target software;
[0231] The sending module 1024 is configured to send the first change message to the message queue middleware 103 , so that the data center 104 can obtain the first change message from the message queue middleware 103 through the cloud server 1041 .
[0232] In this way, the latest software status information of the target software 1012 in the industrial computer 101 can be transmitted to the message queue middleware 103 through the edge server 102, so that the user can obtain the latest software status information of the target software 1012 through the cloud server 1041 in the data center 104, thereby improving the efficiency of obtaining the latest software status information of the target software 1012.
[0233] The edge server 102 provided in the embodiment of the present application can implement each process implemented by the edge server 102 in the method embodiments of Figures 2, 4 and 6. To avoid repetition, they are not described here.
[0234] Referring to FIG6 , which is a schematic diagram of an industrial computer provided in an embodiment of the present application, as shown in FIG6 , the industrial computer 101 may include the following modules:
[0235] The sending module 10111 is used to send heartbeat information to the edge server 102 when a long connection is established with the edge server 102. The heartbeat information includes the target device information of the industrial computer 101 and the target software information of the target software 1012. The target software 1012 is any industrial software installed on the industrial computer 101.
[0236] The number recording module 10112 is used to record the number of consecutive failures in sending heartbeat information to the edge server 102;
[0237] The stopping module 10113 is configured to stop sending heartbeat information to the edge server 102 when the number of consecutive failures is greater than or equal to a threshold number.
[0238] In some embodiments of the present application, the sending module 10111 , the number recording module 10112 and the stopping module 10113 may be integrated into the persistent connection service 1011 provided in the industrial computer 101 .
[0239] In this way, the industrial computer 101 can send heartbeat information including target device information and target software information to the edge server 102, and can reduce invalid network bandwidth usage and output of abnormal logs.
[0240] The industrial computer 101 provided in the embodiment of the present application can implement each process implemented by the industrial computer 101 in the method embodiments of Figures 2 and 4. To avoid repetition, they are not described here.
[0241] 7 is a schematic diagram of a data center provided in an embodiment of the present application. As shown in FIG7 , the data center 104 includes a cloud server 1041. The cloud server 1041 may include the following modules:
[0242] A first acquisition module 10411 is configured to acquire a first change message sent by the edge server 102 from the message queue middleware 103 , where the first change message indicates the latest software status information of the target software 1012 , which is any industrial software installed in the industrial computer 101 ;
[0243] The storage module 10412 is configured to store the first change message in the database 1042;
[0244] The second acquisition module 10413 is configured to, upon receiving a first information acquisition request sent by the client 105 , acquire the latest software status information of the target software from the database 1042 based on the first information acquisition request, where the first information acquisition request is used to instruct acquisition of the latest software status information of the target software;
[0245] The sending module 10414 is configured to send the latest software status information of the target software to the client 105 .
[0246] In this way, the user can easily obtain the latest software status information of the target software through the data center 104 without having to go to the site to check the industrial computer 101.
[0247] The data center 104 provided in the embodiment of the present application can implement each process implemented by the data center 104 in the method embodiments of Figures 2 and 4. To avoid repetition, they are not described here.
[0248] Although the present application has been described with reference to preferred embodiments, various modifications may be made thereto and components may be replaced with equivalents without departing from the scope of the present application. In particular, the various technical features described in the various embodiments may be combined in any manner as long as there are no structural conflicts. The present application is not limited to the specific embodiments disclosed herein, but includes all technical solutions within the scope of the claims.
Claims
1. An information monitoring method, comprising: When a long connection is established with an industrial computer, receiving heartbeat information sent by the industrial computer, the heartbeat information including target device information of the industrial computer and target software information of the target software, the target software being any industrial software installed on the industrial computer; Matching the target device information and the target software information with a software information record in an edge server cache to obtain a first matching result, the software information record being generated based on historical heartbeat information received by the edge server; If the first matching result satisfies a preset condition, generating a first change message, wherein the first change message is used to indicate the latest software status information of the target software; The first change message is sent to the message queue middleware, so that the data center can obtain the first change message from the message queue middleware through the cloud server.
2. The method according to claim 1, wherein The target device information includes a target device identifier of the industrial computer, the target software information includes a target software name and a first software version of the target software, and the software information record includes a first information record, the first information record being used to record a software version corresponding to the device identifier and the software name; The matching of the target device information and the target software information with the software information record in the cache to obtain a first matching result includes: Matching the target device identifier and the target software name with the first information record to obtain a first sub-matching result; The generating a first change message when the first matching result satisfies a preset condition includes: The first sub-matching result indicates that there is no software version matching the target device identifier and the target software name in the first information record, or there is no software version matching the target device identifier and the target software name in the first information record. When the software version matching the target device identifier and the target software name is a second software version inconsistent with the first software version, a first version status change message is generated, and the first version status change message is used to indicate that the latest software version of the target software is the first software version.
3. The method according to claim 2, wherein: After matching the target device identifier and the target software name with the first information record to obtain a first sub-matching result, the method further includes: If the first sub-matching result indicates that no software version matching the target device identifier and the target software name exists in the first information record, adding a first piece of data to the first information record, where the first data is used to indicate that the software version matching the target device identifier and the target software name is the first software version; When the first sub-matching result indicates that the software version matching the target device identifier and the target software name in the first information record is the second software version, the status of the software version matching the target device identifier and the target software name in the first information record is changed to the first software version.
4. The method according to claim 2, wherein: The software information record further includes a second information record, wherein the second information record is used to record the software running status corresponding to the device identification and the software name; The step of matching the target device information and the target software information with the software information record in the edge server cache to obtain a first matching result includes: Matching the target device identifier and the target software name with the second information record to obtain a second sub-matching result; The generating a first change message when the first matching result satisfies a preset condition includes: The second sub-matching result indicates that the second information record does not contain the target device. When the software running status that matches the target device identifier and the target software name is closed, or the software running status that matches the target device identifier and the target software name in the second information record is closed, a first software running status change message is generated, and the first software running status change message is used to indicate that the latest running status of the target software is on.
5. The method according to claim 4, wherein After matching the target device identifier and the target software name with the second information record to obtain a second sub-matching result, the method further includes: If the second sub-matching result indicates that the software running status that matches the target device identifier and the target software name does not exist in the second information record, adding a second data item to the second information record, where the second data item is used to indicate that the software running status that matches the target device identifier and the target software name is enabled; When the second sub-matching result indicates that the running status of the software matching the target device identifier and the target software name in the second information record is closed, the running status of the software matching the target device identifier and the target software name in the second information record is changed to open.
6. The method according to claim 5, wherein: When the software running status corresponding to the target device identifier and the target software name in the second information record is enabled, the method further includes: Determine the time when the heartbeat information was last received at every preset period; If the time interval between the last time the heartbeat information was received and the current time is greater than the preset period, generating a second software running state change message, and changing the running state of the software matching the target device identifier and the target software name in the second information record to closed, the second software running state change message being used to indicate that the latest running state of the target software is closed; Send the second software running state change message to the message queue middleware.
7. The method according to any one of claims 1 to 6, wherein: The target device information includes a target device identifier of the industrial computer. After receiving the heartbeat information sent by the industrial computer, the method further includes: matching the target device identifier with a device information record in the cache to obtain a second matching result, wherein the device information record is generated based on historical heartbeat information received by the edge server, and the device information record includes a device operating status that matches the device identifier; If the second matching result indicates that there is no device operating status matching the target device identifier in the device information record, or the device operating status matching the target device identifier in the device information record is off, generating a first device operating status change message, the first device operating status change message being used to indicate that the latest operating status of the industrial computer is on; Sending the first device operation status change message to the message queue middleware.
8. The method according to claim 7, wherein: After matching the target device identifier with the device information record in the cache to obtain a second matching result, the method further includes: If the second matching result indicates that there is no device operating state matching the target device identifier in the device information record, adding a third data to the device information record, the third data being used to indicate that the device operating state corresponding to the target device identifier is on; When the second matching result indicates that the running status of the device matching the target device identifier in the device information record is off, the running status of the device matching the target device identifier in the device information record is changed to on.
9. The method according to claim 8, wherein When the device operation status corresponding to the target device identifier in the device information record is on, the method further includes: Determine the time when the heartbeat information was last received at every preset period; The time interval between the last time the heartbeat information was received and the current time is greater than the generating a second device operation status change message within a preset period, and changing the operation status of the device matching the target device identifier in the device information record to off, wherein the second device operation status change message is used to indicate that the latest operation status of the industrial computer is off; Send a second device operation status change message to the message queue middleware.
10. The method according to any one of claims 1 to 6, wherein: The method further comprises: Determining the frequency at which the industrial computer sends the heartbeat information; When it is determined that the frequency is greater than or equal to a frequency threshold, the heartbeat information sent by the industrial computer is shielded.
11. The method according to claim 10, wherein: The method further comprises: In the case of shielding the heartbeat information sent by the industrial computer, a message for instructing to add the industrial computer to a blacklist is sent to the message queue middleware.
12. An information monitoring method, comprising: When a long connection is established with the edge server, a heartbeat message is sent to the edge server, wherein the heartbeat message includes target device information of the industrial computer and target software information of the target software, where the target software is any industrial software installed on the industrial computer; Record the number of consecutive failures in sending the heartbeat information to the edge server; When the number of consecutive failures is greater than or equal to a threshold, the sending of the heartbeat information to the edge server is stopped.
13. An information monitoring method, comprising: Obtaining, through the cloud server, from the message queue middleware, a first change message sent by the edge server, where the first change message is used to indicate the latest software status information of the target software, where the target software is any industrial software installed in the industrial computer; Storing the first change message in a database; When the cloud server receives the first information acquisition request sent by the client, the latest software of the target software is acquired from the database based on the first information acquisition request. Status information, wherein the first information acquisition request is used to instruct acquisition of the latest software status information of the target software; The latest software status information is sent to the client.
14. The method according to claim 13, wherein The method further comprises: Obtaining, by the cloud server, from the message queue middleware, a second change message sent by the edge server, where the second change message is used to indicate the latest operating status information of the industrial computer; storing the second change message in the database; When the cloud server receives a second information acquisition request sent by the client, acquiring the latest software status information of the industrial computer from the database based on the second information acquisition request, where the second information acquisition request is used to instruct acquisition of the latest operating status information of the industrial computer; Send the latest running status information to the client.
15. An edge server, comprising: A receiving module, configured to receive heartbeat information sent by the industrial computer when a long connection is established with the industrial computer, wherein the heartbeat information includes target device information of the industrial computer and target software information of the target software, wherein the target software is any industrial software installed on the industrial computer; a matching module, configured to match the target device information and the target software information with the software information record in the edge server cache to obtain a first matching result; a message generating module, configured to generate a first change message when the first matching result satisfies a preset condition, wherein the first change message is used to indicate the latest software status information of the target software; The sending module is used to send the first change message to the message queue middleware, so that the data center can obtain the first change message from the message queue middleware through the cloud server.
16. An industrial computer, comprising: A sending module is configured to send heartbeat information to the edge server when a long connection is established with the edge server, wherein the heartbeat information includes target device information of the industrial computer and target software information of the target software, where the target software is any industrial software installed on the industrial computer; A times recording module, used to record the number of consecutive failures in sending the heartbeat information to the edge server 7; The stopping module is configured to stop sending the heartbeat information to the edge server when the number of consecutive failures is greater than or equal to a number threshold.
17. A data center, comprising: A cloud server, the cloud server comprising: A first acquisition module is configured to acquire, from the message queue middleware, a first change message sent by the edge server, wherein the first change message is used to indicate the latest software status information of the target software, where the target software is any industrial software installed in the industrial computer; A storage module, configured to store the first change message in a database; a second acquisition module configured to, upon receiving a first information acquisition request sent by a client, acquire the latest software status information of the target software from the database based on the first information acquisition request, wherein the first information acquisition request is used to instruct acquisition of the latest software status information of the target software; A sending module is used to send the latest software status information to the client.
18. An information monitoring system comprising: Industrial computers, edge servers, message queue middleware, and data centers; A long connection is established between the industrial computer and the edge server; The industrial computer is used to send heartbeat information to the edge server, wherein the heartbeat information includes target device information of the industrial computer and target software information of the target software, and the target software is any industrial software installed on the industrial computer; The edge server is used to receive the heartbeat information sent by the industrial computer; match the target device information and the target software information with the software information record in the edge server cache to obtain a first matching result; If the first matching result satisfies a preset condition, generating a first change message, the first change message being used to indicate the latest software status information of the target software; and sending the first change message to the message queue middleware; The message queue middleware is used to store the first change message; The data center is configured to obtain the first change message from the message queue middleware through a cloud server.
19. A computer-readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the information monitoring method according to any one of claims 1-11, 12, or 13-14.
20. A computer program product, wherein when instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the information monitoring method according to any one of claims 1-11, 12 or 13-14.
Citation Information
Patent Citations
Distributed software upgrade system and method
CN103248669A
Method for monitoring working state of industrial personal computer in cloud storage system
CN103516811A
Offline detection method and device
CN106817428A
Fault self-recovery method for industrial control application program based on heartbeat detection
CN108255646A
Version information query method and device
CN108965366A