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 low efficiency in obtaining the status information of the industrial control machine software is solved, real-time status update and efficient management are achieved.
Patent Information
- Application Number
- CN202410145103.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-08-01
AI Technical Summary
In the prior art, users need to view the industrial software status information of multiple industrial control machines one by one, which is inefficient and time-consuming and labor-consuming.
By establishing a long connection between the industrial control machine and the edge server, receiving and matching heartbeat information, generating change messages, and real-time update of software status information through message queue middleware and cloud servers, reducing on-site viewing needs.
It realizes efficient acquisition of software status information in industrial control machines, and users can obtain the latest status information in a timely manner through cloud servers, improving management efficiency.
Smart Images

Figure CN120407320A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of industrial Internet, and particularly relates to an information monitoring method, an edge server, an industrial control computer, a data center, and a system. Background Art
[0002] An industrial control computer (IPC) is an industrial control computer that uses a bus structure and is a general term for tools for detecting and controlling production processes, electromechanical equipment, and process equipment. The industrial control computer has important computer attributes and features, such as having a computer CPU, hard disk, memory, peripherals, and interfaces, and having an operating system, control network and protocol, computing power, and a friendly human-machine interface. The products and technologies in the industrial control industry are very special and belong to intermediate products, providing reliable, embedded, and intelligent industrial computers for other industries.
[0003] Various industrial software (APP) can usually be installed in the industrial control computer. As the industrial control computer is used, software status information such as the running status and version of the industrial software therein usually changes, and in order to facilitate the management of the industrial software in the industrial control computer, users usually need to know the software status information of the industrial software.
[0004] Currently, users often obtain the software status information of industrial software by viewing the industrial software in the industrial control computer on-site. However, there are usually multiple industrial control computers in a factory, which requires users to view each industrial control computer one by one, consuming a lot of time and manpower and having low efficiency. Summary of the Invention
[0005] This application provides an information monitoring method, an edge server, an industrial control computer, a data center, a system, a medium, and a program, which can improve the efficiency of obtaining software status information in an industrial control computer.
[0006] In a first aspect, this application provides an information monitoring method, including:
[0007] When a long connection is established with the industrial control computer, receiving heartbeat information sent by the industrial control computer, where the heartbeat information includes target device information of the industrial control computer and target software information of the target software, and the target software is any industrial software installed on the industrial control computer;
[0008] Matching the target device information and the target software information with software information records cached in the edge server to obtain a first matching result, and the software information records are generated based on historical heartbeat information received by the edge server;
[0009] When the first matching result meets the preset conditions, a first change message is generated, and the first change message is used to indicate the latest software status information of the target software;
[0010] 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.
[0011] In this way, the user can obtain the latest software status information of the target software in the industrial control computer through the cloud server in the data center without having to go to the site to check the industrial control computer, thereby improving the efficiency of obtaining the software status information in the industrial control computer.
[0012] As a possible implementation, the target device information includes the target device identifier of the industrial control computer, the target software information includes the target software name and the first software version of the target software, and the software information record includes a first information record, and the first information record is used to record the software version corresponding to the device identifier and the software name;
[0013] Match the target device information and the target software information with the software information record in the cache to obtain a first matching result, including:
[0014] Match the target device identifier and the target software name with the first information record to obtain a first sub-matching result;
[0015] When the first matching result meets the preset conditions, generate a first change message, including:
[0016] When the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, or the software version in the first information record that matches the target device identifier and the target software name is a second software version that is inconsistent with the first software version, generate a first version status change message, 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.
[0017] In this way, the data center can timely sense the change of the software version status of the target software to obtain the latest software version of the target software.
[0018] As a possible implementation, 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:
[0019] When the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, add a first piece of data to the first information record, and the first piece of data is used to indicate that the software version that matches the target device identifier and the target software name is the first software version;
[0020] When the software version that matches the target device identifier and the target software name in the first information record in the first sub-matching result is the second software version, change the software version status that matches the target device identifier and the target software name in the first information record to the first software version.
[0021] In this way, the latest software version status of the target software can be recorded in the first information record, and subsequent changes in the software version status of the target software can be accurately judged based on the first information record.
[0022] 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;
[0023] Match the target device information and the target software information with the software information records in the edge server cache to obtain a first matching result, including:
[0024] Match the target device identifier and the target software name with the second information record to obtain a second sub-matching result;
[0025] When the first matching result meets the preset conditions, generate a first change message, including:
[0026] When the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, or the software running status in the second information record that matches the target device identifier and the target software name is closed, generate a first software running status change message, and the first software running status change message is used to indicate that the latest running status of the target software is on.
[0027] In this way, the data center can be timely aware of the change in the software running status of the target software to obtain the latest software running status of the target software.
[0028] As a possible implementation, 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:
[0029] When the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, add a second piece of data to the second information record, and the second piece of data is used to indicate that the software running status that matches the target device identifier and the target software name is on;
[0030] When the software running status that matches the target device identifier and the target software name in the second information record indicates closed, change the software running status that matches the target device identifier and the target software name in the second information record to open.
[0031] In this way, the second information record can record the latest running status of the target software, and based on the second information record, the change situation of the running status of the target software can be accurately judged subsequently.
[0032] 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 open, the method further includes:
[0033] Determine the time when the heartbeat information was last received every preset period;
[0034] When the time interval between the time when the heartbeat information was last received and the current time is greater than the preset period, generate a second software running status change message, and change the software running status that matches the target device identifier and the target software name in the second information record to closed. The second software running status change message is used to indicate that the latest running status of the target software is closed;
[0035] Send the second software running status change message to the message queue middleware.
[0036] In this way, the data center can be made to perceive the shutdown of the target software in a timely manner.
[0037] As a possible implementation manner, the target device information includes the target device identifier of the industrial control computer. After receiving the heartbeat information sent by the industrial control computer, the method further includes:
[0038] Match the target device identifier with the device information records in the cache to obtain a second matching result. The device information records are generated based on the historical heartbeat information received by the edge server, and the device information records include the device running status that matches the device identifier;
[0039] When the second matching result indicates that there is no device running status that matches the target device identifier in the device information record, or the device running status that matches the target device identifier in the device information record is closed, generate a first device running status change message. The first device running status change message is used to indicate that the latest running status of the industrial control computer is open;
[0040] Send the first device running status change message to the message queue middleware.
[0041] In this way, the data center can be made to perceive the change of the device running status of the industrial control computer in a timely manner to obtain the latest running status of the industrial control computer.
[0042] 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:
[0043] In the case where the second matching result indicates that there is no device running state in the device information record that matches the target device identifier, a third piece of data is added to the device information record, and the third piece of data is used to indicate that the device running state corresponding to the target device identifier is on;
[0044] In the case where the second matching result indicates that the device running state in the device information record that matches the target device identifier is off, the device running state in the device information record that matches the target device identifier is changed to on.
[0045] In this way, the latest running state of the industrial control computer can be recorded in the device information record, and subsequent changes in the running state of the industrial control computer can be accurately judged based on the device information record.
[0046] As a possible implementation, in the case where the device running state corresponding to the target device identifier in the device information record is on, the method further includes:
[0047] Determine the time of the last received heartbeat message every preset period;
[0048] In the case where the time interval between the time of the last received heartbeat message and the current time is greater than the preset period, generate a second device running state change message, and change the device running state in the device information record that matches the target device identifier to off. The second device running state change message is used to indicate that the latest running state of the industrial control computer is off;
[0049] Send the second device running state change message to the message queue middleware.
[0050] In this way, the data center can be made to perceive the shutdown of the industrial control computer in a timely manner.
[0051] As a possible implementation, the method further includes:
[0052] Determine the frequency at which the industrial control computer sends heartbeat messages;
[0053] In the case where the determined frequency is greater than or equal to the frequency threshold, mask the heartbeat messages sent by the industrial control computer.
[0054] In this way, malicious attacks by the industrial control computer on the edge server can be reduced, and the security of the edge server can be improved.
[0055] In a second aspect, the present application provides an information monitoring method, including:
[0056] When establishing a long connection with the edge server, send heartbeat information to the edge server. The heartbeat information includes the target device information of the industrial control computer and the target software information of the target software. The target software is any industrial software installed on the industrial control computer;
[0057] Record the consecutive failure times of sending heartbeat information to the edge server;
[0058] When the consecutive failure times are greater than or equal to the times threshold, stop sending heartbeat information to the edge server.
[0059] In this way, the occupation of invalid network bandwidth and the output of abnormal logs can be reduced.
[0060] In a third aspect, the present application provides an information monitoring method, including:
[0061] Obtain the first change message sent by the edge server from the message queue middleware through the cloud server. The first change message is used to indicate the latest software status information of the target software. The target software is any industrial software installed in the industrial control computer;
[0062] Store the first change message in the database;
[0063] When the cloud server receives the first information acquisition request sent by the client, obtain the latest software status information of the target software from the database based on the first information acquisition request. The first information acquisition request is used to indicate obtaining the latest software status information of the target software;
[0064] Send the latest software status information to the client.
[0065] In this way, users can conveniently view the latest software status information of the target software through the client.
[0066] In a fourth aspect, the present application provides an edge server, including:
[0067] A receiving module, configured to receive the heartbeat information sent by the industrial control computer when a long connection is established with the industrial control computer. The heartbeat information includes the target device information of the industrial control computer and the target software information of the target software. The target software is any industrial software installed on the industrial control computer;
[0068] A matching module, configured to match the target device information and the target software information with the software information record in the cache of the edge server to obtain a first matching result;
[0069] A message generation module, configured to generate a first change message when the first matching result meets a preset condition. The first change message is used to indicate the latest software status information of the target software;
[0070] A sending module, configured to send a first change message to a message queue middleware, so that a data center can obtain the first change message from the message queue middleware through a cloud server.
[0071] In this way, the user can obtain the latest software status information of the target software in the industrial control computer through the cloud server in the data center, without having to go to the site to check the industrial control computer, thereby improving the efficiency of obtaining the software status information in the industrial control computer.
[0072] In a fifth aspect, the present application provides an industrial control computer, including:
[0073] A sending module, configured to send heartbeat information to an edge server when a long connection is established with the edge server. The heartbeat information includes target device information of the industrial control computer and target software information of the target software, where the target software is any industrial software installed on the industrial control computer;
[0074] A number recording module, configured to record the consecutive failure times of sending heartbeat information to the edge server;
[0075] A stopping module, configured to stop sending heartbeat information to the edge server when the consecutive failure times are greater than or equal to a number threshold.
[0076] In this way, the occupancy of invalid network bandwidth and the output of abnormal logs can be reduced.
[0077] In a sixth aspect, the present application provides a data center, including: a cloud server, and the cloud server includes:
[0078] A first obtaining module, configured to obtain a first change message sent by an edge server from a message queue middleware. 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 control computer;
[0079] A storage module, configured to store the first change message in a database;
[0080] A second obtaining module, configured to, when receiving a first information obtaining request sent by a client, obtain the latest software status information of the target software from the database based on the first information obtaining request. The first information obtaining request is used to indicate obtaining the latest software status information of the target software;
[0081] A sending module, configured to send the latest software status information to the client.
[0082] In this way, the user can conveniently view the latest software status information of the target software through the client.
[0083] In a seventh aspect, the present application provides an information monitoring system, including: an industrial control computer, an edge server, a message queue middleware, and a data center;
[0084] A long connection is established between the industrial control computer and the edge server;
[0085] The industrial control computer is used to send heartbeat information to the edge server. The heartbeat information includes the target device information of the industrial control computer and the target software information of the target software. The target software is any industrial software installed on the industrial control computer;
[0086] The edge server is used to receive the heartbeat information sent by the industrial control computer; match the target device information and the target software information with the software information records cached in the edge server to obtain a first matching result; generate a first change message when the first matching result meets the preset conditions. The first change message is used to indicate the latest software status information of the target software; send the first change message to the message queue middleware;
[0087] The message queue middleware is used to store the first change message;
[0088] The data center is used to obtain the first change message from the message queue middleware through the cloud server.
[0089] In this way, the user can obtain the latest software status information of the target software in the industrial control computer through the cloud server in the data center without going to the site to check the industrial control computer, thereby improving the efficiency of obtaining the software status information in the industrial control computer.
[0090] In an eighth aspect, the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the information monitoring method as described in the first aspect, the second aspect, or the third aspect is implemented.
[0091] 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 is caused to execute the information monitoring method as described in the first aspect, the second aspect, or the third aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0092] The features, advantages, and technical effects of the exemplary embodiments of the present application will be described below with reference to the drawings.
[0093] Figure 1 It is a schematic diagram of an information monitoring system according to an embodiment of the present application;
[0094] Figure 2 It is a schematic diagram of an information monitoring method according to an embodiment of the present application;
[0095] Figure 3 It is a schematic diagram of an information monitoring system according to an embodiment of the present application;
[0096] Figure 4Schematic diagram of an information monitoring method according to an embodiment of the present application;
[0097] Figure 5 Schematic diagram of an edge server according to an embodiment of the present application;
[0098] Figure 6 Schematic diagram of an industrial control computer according to an embodiment of the present application;
[0099] Figure 7 Schematic diagram of a data center according to an embodiment of the present application.
[0100] In the drawings, the drawings are not necessarily drawn to actual scale. Detailed implementation manners
[0101] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are some but not all of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the scope of protection of the present application.
[0102] See Figure 1 , which is a schematic diagram of an information monitoring system provided by an embodiment of the present application. As Figure 1 shown, the information monitoring system 100 may at least include: an industrial control computer 101, an edge server 102, a message queue middleware 103, and a data center 104.
[0103] In some embodiments of the present application, the industrial control computer 101 and the edge server 102 may belong to a first network, and the message queue middleware 103 and the data center 104 may belong to a second network different from the first network. For example, the industrial control computer 101 and the edge server 102 may belong to a factory base network, and the message queue middleware 103 and the data center 104 may belong to an office network. A long connection is established between the industrial control computer 101 and the edge server 102.
[0104] In this embodiment, a long connection means that multiple data packets can be continuously sent on one connection. By establishing a long connection between the industrial control computer 101 and the edge server 102, the connection and disconnection operations between the industrial control computer 101 and the edge server 102 can be reduced, thereby improving communication efficiency.
[0105] It should be noted that multiple industrial control computers 101 may be included in the system 100, and multiple industrial control computers 101 can all establish long connections with the edge server 102. In this embodiment, only one industrial control computer 101 is taken as an example for illustration.
[0106] In this embodiment, based on the system 100, an information monitoring method as shown in Figure 2 can be implemented. Refer to Figure 2 . The information monitoring method may include the following steps S21 - S27, which will be described below.
[0107] S21. The industrial control computer 101 sends heartbeat information to the edge server 102. The heartbeat information includes the target device information of the industrial control computer 101 and the target software information of the target software 1012. The target software 1012 is any industrial software installed on the industrial control computer 101.
[0108] In some embodiments of the present application, as shown in Figure 1 , the industrial control computer 101 can maintain a heartbeat with the edge server 102 through the long - connection service 1011 set therein, and continuously transmit heartbeat information to the edge server 102. Among them, the long - connection service 1011 is a monitoring process. The long - connection service 1011 can maintain a heartbeat with the edge server 102 through the TCP communication protocol that supports long - connection. The TCP communication protocol that supports long - connection may include, but is not limited to, protocols such as websocket.
[0109] In an example, taking the long - connection service 1011 maintaining a 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 control computer 101. The long - connection service 1011 obtains the target device information of the industrial control computer 101. The long - connection service 1011 encapsulates the target software information and the target device information based on the websocket protocol to obtain 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.
[0110] In some embodiments of the present application, the target software 1012 can send the target software information to the long - connection service 1011 when starting up, and send the target software information to the long - connection service 1011 once every first time period after starting up. Correspondingly, the long - connection service 1011 can send heartbeat information to the edge server 102 when starting up, and send heartbeat information to the edge server 102 once every first time period after starting up. The first time period can be set according to the actual situation. For example, it can be 5 seconds.
[0111] S22. The edge server 102 receives the heartbeat information sent by the industrial control computer 101.
[0112] S23. The edge server 102 matches the target device information and the target software information with the software information records cached in the edge server 102 to obtain a first matching result. The software information records are generated based on the historical heartbeat information received by the edge server 102.
[0113] S24. When the first matching result meets the preset conditions, the edge server 102 generates a first change message, which is used to indicate the latest software status information of the target software.
[0114] S25. The edge server 102 sends the first change message to the message queue middleware 103.
[0115] In some embodiments of the present application, when the edge server 102 receives the heartbeat information sent by the industrial control computer 101, it can match the target device information and the target software information in the heartbeat information with the software information records in the cache of the edge server 102 to obtain a first matching result. Among them, the software information records in the cache of the edge server 102 are generated based on the historical heartbeat information received by the edge server 102. The first matching result can be used to indicate whether there is information in the software information records that matches the target device information and the target software information, and when there is matching information, it is used to indicate the matching information. Based on this, it can be determined whether the software status information of the target software 1012 in the industrial control computer 101 has changed. When the first matching result meets the preset conditions, it can be determined that the software status of the target software 1012 has changed, and then a software status change event can be triggered. After triggering the software status change event, a first change message can be generated and sent to the message queue middleware 103. The first change message is used to indicate the latest software status information of the target software 1012. Among them, the preset condition is a condition set in advance that can judge whether the software status information of the target software 1012 has changed.
[0116] S26. The message queue middleware 103 stores the first change message.
[0117] In some embodiments of the present application, the edge server 102 can act as a producer of the message queue middleware 103 and can send messages to the message queue middleware 103. The message queue middleware 103 can be a Kafka message queue.
[0118] S27. The data center 104 obtains the first change message from the message queue middleware 103 through the cloud server 1041.
[0119] In some embodiments of the present application, such as Figure 1As shown, the data center 104 includes a cloud server 1041. As a consumer of the message queue middleware 103, the cloud server 1041 can obtain the messages stored in the message queue middleware 103.
[0120] In this way, based on the system 100, the user can obtain the latest software status information of the target software 1012 in the industrial control computer 101 through the cloud server 1041 in the data center 104, without having to go to the site to check the industrial control computer 101, thereby improving the efficiency of obtaining the software status information in the industrial control computer 101.
[0121] In some embodiments, the target device information may at least include the target device identifier of the industrial control computer 101, and the target software information may at least include the target software name and the first software version of the target software 1012. It can be understood that in addition to including the target device identifier, the target device information may also include other device information of the industrial control computer 101 according to the actual situation. For example, the target device information may also include the IP address of the industrial control computer 101, etc. Similarly, in addition to including 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 according to the actual situation. For example, the target software information may also include the software release time of the first software version, etc.
[0122] As an example, the target software information sent by the target software 1012 to the long connection service 1011 may include the information shown in Table 1 below:
[0123] Table 1
[0124] Field Type Description app_name string Software name app_version string Software version publish_time string Software release time
[0125] The target software 1012 may send the target software information to the long connection service 1011 in the following data format:
[0126]
[0127] As an example, the heartbeat information sent by the long connection service 1011 to the edge server 102 may include the information shown in Table 2 below:
[0128] Table 2
[0129] Field Type Description device_id string Device identifier (configured before client startup) ip string Device IP address app_list object_list Software information list
[0130] Among them, the device identifier is the device identifier of the industrial control 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 control computer 101, and the software information list includes the target software information sent by all the target software 1012 in the industrial control computer 101.
[0131] The long connection service 1011 can send heartbeat information to the edge server 102 in the following data format:
[0132]
[0133]
[0134] Among them, both app1 and app2 are target software 1012 in the industrial control computer 101.
[0135] After the edge server 102 receives the heartbeat information sent by the industrial control computer 101 through the long connection service 1011, it can parse the heartbeat information to obtain information such as the target device identifier, target software name, and first software version included therein, and match the parsed information with the software information records in the cache.
[0136] The software information records in the cache of the edge server 102 include first information records, and the first information records are used to record the software versions corresponding to the device identifier and software name. Based on this, the edge server 102 matches the target device information and target software information with the software information records in the cache to obtain a first matching result, which may include:
[0137] Match the target device identifier and target software name with the first information record to obtain a first sub-matching result.
[0138] In some embodiments of the present application, the first information record may be a data table recording structured data. Each piece of structured data in the first information record may be composed of an index item and an index value corresponding to the index item. Among them, the index item may be a field jointly composed of the device identifier and the software name, such as device_id + app_name, and the index value may be the software version jointly corresponding to the device identifier and the software name. Based on this, when matching the target device identifier and target software name with the first information record, the target device identifier and target software name may be combined into a first index item, and an index value matching the first index item may be found from the first information record, and then the first sub-matching result may be obtained.
[0139] Correspondingly, when the first matching result meets the preset conditions, the edge server 102 generates a first change message, which may include:
[0140] When the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and target software name, or the software version in the first information record that matches the target device identifier and target software name is a second software version that is inconsistent with the first software version, a first version change message is generated, and 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.
[0141] In some embodiments of the present application, when the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, it indicates that the target software 1012 in the industrial control computer 101 is a newly started software. Since the industrial control computer 101 has not started the target software 1012 before, at this time, 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, 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.
[0142] In some embodiments of the present application, when the first sub-matching result indicates that there is a second software version in the first information record that matches the target device identifier and the target software name, it indicates that the target software 1012 in the industrial control computer 101 is a 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, from the second software version status to the first software version. Therefore, the edge server 102 can trigger a software version status change event at this time, generate a first version status change message, 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.
[0143] Correspondingly, after generating the first version status change message, the edge server 102 sends the first version status change message to the message queue middleware 103 as the first change message.
[0144] In this way, the data center 104 can be made to perceive the software version status change of the target software 1012 in a timely manner to obtain the latest software version of the target software 1012.
[0145] As an example, the first version status change message may include the information shown in Table 3 below:
[0146] Table 3
[0147] Field Type Description device_id string Device identifier app_name string Software name app_version string Software version publish_time string Software release time
[0148] The edge server 102 can send the first version status change message to the message queue middleware 103 in the following data format:
[0149]
[0150]
[0151] In addition, in some embodiments of the present application, if the second software version is the same as the first software version, it can be considered that the software version status of the target software 1012 has not changed. At this time, the edge server 102 does not need to send the first version status change message to the message queue middleware 103.
[0152] In some embodiments, in order for the edge server 102 to accurately determine whether the software version status of the target software 1012 has changed based on the first information record in the future, after the edge server 102 matches the target device identifier and the target software name with the first information record to obtain a first sub-match result, the following steps may also be executed:
[0153] In the case where the first sub-match result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, a first piece of data is added to the first information record, and the first piece of data is used to indicate that the software version that matches the target device identifier and the target software name is the first software version;
[0154] In the case where the first sub-match result indicates that the software version in the first information record that matches the target device identifier and the target software name is the second software version, the software version status of the software version in the first information record that matches the target device identifier and the target software name is changed to the first software version.
[0155] 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 in the future.
[0156] In some embodiments, the software information record in the cache of the edge server 102 may further include 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. Based on this, when the edge server 102 matches 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 match result, it may further include:
[0157] Match the target device identifier and the target software name with the first information record to obtain a second sub-match result.
[0158] In some embodiments of the present application, similar to the first information record, the second information record can also be a data table recording structured data. Each piece of structured data in the second information record can be composed of an index item and an index value corresponding to the index item. The index item can be a field jointly composed of a device identifier and a software name, such as device_id + app_name. The index value can be the software running status jointly corresponding to the device identifier and the software name, such as status. The software running status can 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 can be combined into a second index item, and the index value matching the second index item can be found from the second information record, thereby obtaining a second sub-matching result.
[0159] Correspondingly, when the first matching result meets the preset conditions, the edge server 102 generates a first change message, which may include:
[0160] When the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, or the software running status in the second information record that matches the target device identifier and the target software name is off, 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.
[0161] In some embodiments of the present application, when the target software 1012 is in the on state, the edge server 102 can receive heartbeat information containing the target software information of the target software 1012. 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 status of the target software 1012 is the on state. At this time, if the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, it means that the target software 1012 in the industrial control computer 101 is a newly started software, and the industrial control computer 101 has not started the target software 1012 before. Therefore, at this time, it can be considered that the running status of the target software 1012 has changed from off to on. Therefore, the edge server 102 can trigger a software running status change event, thereby generating 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 is on.
[0162] In some embodiments of the present application, when the second sub-matching result indicates that there is a software running status in the second information record that matches the target device identifier and the target software name, it indicates that the target software 1012 in the industrial control computer 101 is a software that has been started. If the matched software running status is closed, it indicates that the running status of the target software 1012 has changed at this time, 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, which is used to indicate that the latest running status of the target software 1012 is open.
[0163] Correspondingly, after generating the first software running status change message, the edge server 102 sends the first software running status change message to the message queue middleware 103 as the first change message.
[0164] In this way, the data center 104 can be timely aware of the change in the software running status of the target software 1012 to obtain the latest software running status of the target software 1012.
[0165] As an example, the first software running status change message may include the information shown in Table 4 below:
[0166] Table 4
[0167] Field Type Description device_id string Device identifier app_name string Software name status string Software running status: ON
[0168] The edge server 102 can send the first software running status change message to the message queue middleware 103 in the following data format:
[0170] {
[0171] “device_id”:“43553440”,
[0172] “app_name”:“app1”,
[0173] “status”:“ON”
[0174] },
[0176] In addition, in some embodiments of the present application, if the second sub-matching result indicates that there is a software running status in the second information record that matches the target device identifier and the target software name, and the software running status is open, 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.
[0177] In some embodiments, in order for the edge server 102 to subsequently accurately determine whether the target software 1012 has a change in the running state based on the second information record, after the edge server 102 matches the target device identifier and the target software name with the second information record and obtains the second sub-matching result, the following steps may be further executed:
[0178] In the case where the second sub-matching result indicates that there is no software running state in the second information record that matches the target device identifier and the target software name, a second piece of data is added to the second information record, and the second piece of data is used to indicate that the software running state that matches the target device identifier and the target software name is on;
[0179] In the case where the second sub-matching result indicates that the software running state in the second information record that matches the target device identifier and the target software name is off, the software running state in the second information record that matches the target device identifier and the target software name is changed to on;
[0180] In this way, the latest running state of the target software 1012 can be recorded in the second information record, and subsequently, the change situation of the running state of the target software 1012 can be accurately determined based on the second information record.
[0181] In some embodiments, in the case where the software running state corresponding to the target device identifier and the target software name in the second information record is on, the edge server 102 may further execute the following steps:
[0182] Determine the time when the heartbeat information was received last time at every preset period;
[0183] In the case where the time interval between the time when the heartbeat information was received last time and the current time is greater than the preset period, a second software running state change message is generated, and the software running state in the second information record that matches the target device identifier and the target software name is changed to off. The second software running state change message is used to indicate that the latest running state of the target software is off;
[0184] Send the second software running state change message to the message queue middleware.
[0185] In some embodiments of the present application, the edge server 102 may scan the cache at preset intervals to determine whether the time since the last update of the heartbeat information is greater than the preset period. If it is greater than the preset period, it indicates that the target software 1012 has stopped running at this time. Therefore, the edge server 102 considers that the running state of the target software 1012 has changed from on to off at this time, thereby triggering a software running state change event and generating a second software running state change message. The second software running state change message is used to indicate that the latest running state of the target software 1012 is off, and the second software running state change message is sent to the message queue middleware. Among them, the preset period can be set according to actual needs, for example, it can be 30 seconds.
[0186] In this way, the data center 104 can be timely aware of the shutdown of the target software 1012.
[0187] As an example, the second software running state change message may include the information shown in Table 5 below:
[0188] Table 5
[0189] Field Type Description device_id string Device identifier app_name string Software name status string Software running status: OFF
[0190] The edge server 102 may send the second software running state change message to the message queue middleware 103 in the following data format:
[0191]
[0192] In addition, in the case where the time interval between the time of receiving the heartbeat information last time and the current time is greater than the preset period, by changing the software running state in the second information record that matches the target device identifier and the target software name to off, it is convenient to subsequently accurately judge the software running state change situation of the target software 1012 based on the second information record.
[0193] In some embodiments, in order to enable the data center 104 to sense the running state change of the industrial control computer 101 for the purpose of controlling the industrial control computer 101, when the target device information includes the target device identifier of the industrial control computer, after the edge server 102 receives the heartbeat information sent by the industrial control computer 101, the following steps may also be performed:
[0194] Match the target device identifier with the device information record in the cache to obtain a second matching result. 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 running state that matches the device identifier.
[0195] When there is no device operating status in the second matching result indicating device information record that matches the target device identifier, or when the device operating status in the device information record that matches the target device identifier is closed, 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 control computer 101 is on;
[0196] Send the first device operating status change message to the message queue middleware 103.
[0197] In some embodiments of the present application, similar to the first information record, the device information record can also be a data table recording structured data. In the device information record, each piece of structured data can be composed of an index item and an index value corresponding to the index item. Among them, the index item can be the 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 the third index item to find the index value that matches the third index item from the device information record, and then the second matching result can be obtained.
[0198] In some embodiments of the present application, when the industrial control computer 101 is in the on state, the edge server 102 can receive the heartbeat information including the target device information of the industrial control computer 101. Therefore, when the edge server 102 receives the heartbeat information including the target device information of the industrial control computer 101, it can determine that the operating status of the industrial control computer 101 is on. At this time, if the second matching result indicates that there is no device operating status in the device information record that matches the target device identifier, it means that the industrial control computer 101 is a newly registered device. Therefore, at this time, it can be considered that the operating status of the industrial control computer 101 has changed from off to on. Therefore, the edge server 102 can trigger a device operating status change event, thereby generating a first device operating status change message, and the first device operating status change message is used to indicate that the latest operating status of the target software is on.
[0199] In some embodiments of the present application, when the second matching result indicates that there is a device operating status in the device information record that matches the target device identifier, it means that the industrial control computer 101 is a registered device. If the matching device operating status is off, it means that the operating status of the industrial control computer 101 has changed at this time, from off to on. Therefore, the edge server 102 can trigger a device operating status change event at this time, generate a first device operating status change message, and the first device operating status change message is used to indicate that the latest operating status of the industrial control computer 101 is on.
[0200] Accordingly, after generating the first device operating status change message, the edge server 102 sends the first device operating status change message to the message queue middleware 103.
[0201] In this way, the data center 104 can be made to promptly perceive the change in the device operating status of the industrial control computer 101 to obtain the latest operating status of the industrial control computer 101.
[0202] As an example, the first device operating status change message may include the information shown in Table 6 below:
[0203] Table 6
[0204] Field Type Description device_id string Device identifier ip string Device IP address status string Device running status: ON
[0205] The edge server 102 may send the first device operating status change message to the message queue middleware 103 in the following data format:
[0206]
[0207] In addition, in some embodiments of the present application, if the second matching result indicates that there is a device operating status in the device information record that matches the target device identifier and the device operating status is on, it can be considered that the industrial control computer 101 has not undergone a change in the 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.
[0208] In some embodiments, in order to enable the edge server 102 to subsequently accurately determine whether the industrial control computer 101 has undergone a change in the operating status based on the device information record, after obtaining the second matching result by matching the target device identifier with the device information record in the cache, the edge server 102 may further perform the following steps:
[0209] In the case where the second matching result indicates that there is no device operating status in the device information record that matches the target device identifier, a third piece of data is added to the device information record, and the third piece of data is used to indicate that the device operating status corresponding to the target device identifier is on;
[0210] In the case where the second matching result indicates that the device operating status in the device information record that matches the target device identifier is off, the device operating status in the device information record that matches the target device identifier is changed to on.
[0211] In this way, the latest operating status of the industrial control computer 101 can be recorded in the device information record, and subsequently, based on the device information record, the change in the operating status of the industrial control computer 101 can be accurately determined.
[0212] 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:
[0213] Determine the time of the last received heartbeat message at each preset interval;
[0214] When the time interval between the time of the last received heartbeat message and the current time is greater than the preset interval, generate a second device operation status change message, and change the device operation status matching the target device identifier in the device information record to off. The second device operation status change message is used to indicate that the latest operation status of the industrial control computer is off;
[0215] Send the second device operation status change message to the message queue middleware.
[0216] In some embodiments of the present application, the edge server 102 may scan the cache at each preset interval to determine whether the time since the last update of the heartbeat message is greater than the preset interval. If it is greater than the preset interval, it means that the industrial control computer 101 has stopped running at this time. Therefore, the edge server 102 believes that the operation status of the industrial control computer 101 has changed from on to off at this time, thereby triggering a device operation status change event, generating a second device operation status change message. The second device operation status change message is used to indicate that the latest operation status of the industrial control computer 101 is off, and send the second device operation status change message to the message queue middleware. Among them, the preset interval can be set according to actual needs, for example, it can be 30 seconds.
[0217] In this way, the data center 104 can be timely aware of the shutdown of the industrial control computer 101.
[0218] In some embodiments, in order to reduce malicious attacks of the industrial control 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:
[0219] Determine the frequency of the heartbeat message sent by the industrial control computer 101;
[0220] When it is determined that the frequency is greater than or equal to the frequency threshold, block the heartbeat message sent by the industrial control computer 101.
[0221] Among them, the frequency threshold can be set according to actual needs.
[0222] In some embodiments of the present application, a blacklist may be provided in the edge server 102. If the frequency of the industrial computer 101 with the same IP address sending heartbeat information to the edge server 102 is greater than the frequency threshold, it can be determined that the industrial computer 101 is abnormal and there may be an attack behavior. Temporarily add it to the blacklist to block the heartbeat message sent by the industrial computer 101.
[0223] In addition, in some embodiments of the present application, when the edge server 102 blocks the heartbeat information sent by the industrial computer 101, it can also send a message indicating that the industrial computer 101 is added to the blacklist to the message queue middleware 103. In this way, the data center 104 can obtain this message from the message queue middleware 103, and then perceive the abnormal situation of the industrial computer 101. Further, it can notify the system administrator to process it in time.
[0224] In this way, the malicious attack of the industrial computer 101 on the edge server 102 can be reduced, and the security of the edge server 102 can be improved.
[0225] In some embodiments, in addition to sending heartbeat information to the edge server 102, the industrial computer 101 can also perform the following steps:
[0226] Record the consecutive failure times of sending heartbeat information to the edge server;
[0227] When the consecutive failure times are greater than or equal to the number threshold, stop sending heartbeat information to the edge server.
[0228] In some embodiments of the present application, the industrial computer 101 can record the consecutive failure times of 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 it fails to send continuously for N times, it can be determined that there may be a network problem or the service is down. At this time, pause sending the heartbeat message to the edge server 102, where N is the number threshold set according to the actual situation.
[0229] In this way, the occupation of invalid network bandwidth and the output of abnormal logs can be reduced.
[0230] In addition, in some embodiments of the present application, after a failure such as a network problem or the service being down is resolved, the system administrator can notify the industrial computer 101 to start sending heartbeat messages to the edge server 102 again.
[0231] In some embodiments, such as Figure 3As shown, the data center 104 may further include a database 1042, and the system 100 may further include a client 105 that belongs to the same network as the data center 104 and the message queue middleware 103. The client 105 may display a web front-end interface, and the web front-end interface may be used to view the device status information of the industrial control computer 101 and the software status information of the industrial software in the industrial control computer 101.
[0232] Correspondingly, as Figure 4 shown, the information monitoring method may further include the following steps S28 - S213:
[0233] S28. The data center 104 stores the first change message in the database 1042 through the cloud server 1041.
[0234] S29. The client 105 receives the first input from the user.
[0235] In some embodiments of the present application, the first input may be an input by the user to the 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.
[0236] 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 indicate acquiring the latest software status information of the target software 1012.
[0237] S211. The data center 104 acquires the latest software status information of the target software 1012 from the database 1042 based on the first information acquisition request through the cloud server 1041.
[0238] S212. The data center 104 sends the latest software status information to the client 105 through the cloud server 1041.
[0239] S213. The client 105 displays the latest software status information.
[0240] In some embodiments of the present application, the client 105 may display the latest software status information of the target software 1012 through the web front-end interface.
[0241] In this way, the user can conveniently view the latest software status information of the target software 1012 through the client 105.
[0242] In some embodiments, the data center 104 can also obtain a second change message from the message queue middleware 103 through the cloud server 1041 and store the second change message in the database 1042. Correspondingly, the client 105 can also receive a second input from the user; based on the second input, the client 105 sends a second information acquisition request to the cloud server 1041 of the data center 104. The second information acquisition request is used to indicate the acquisition of the latest operating status information of the industrial control computer 101. Among them, the second input can be an input by the user to the web front-end interface in the client 105, and the second input is used to view the latest operating status information of the industrial control 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 control computer 101 from the database 1042 based on the second information acquisition request, and send the latest operating status information of the industrial control computer 101 to the client 105. After receiving the latest operating status information of the industrial control computer 101 sent by the cloud server 1041, the client 105 can display the latest operating status information of the industrial control computer 101. Similarly, the client 105 can display the latest operating status information of the industrial control computer 101 through the web front-end interface.
[0243] In this way, the user can conveniently view the latest operating status information of the industrial control computer 101 through the client 105.
[0244] See Figure 5 , which is a schematic diagram of an edge server provided by an embodiment of the present application. As Figure 5 shown, the edge server 102 may include the following modules:
[0245] A receiving module 1021, configured to receive the heartbeat information sent by the industrial control computer 101 when a long connection is established with the industrial control computer 101. The heartbeat information includes the target device information of the industrial control computer 101 and the target software information of the target software 1012. The target software 1012 is any industrial software installed on the industrial control computer;
[0246] A matching module 1022, configured to match the target device information and the target software information with the software information records cached in the edge server 102 to obtain a first matching result;
[0247] A message generation module 1023, configured to generate a first change message when the first matching result meets a preset condition. The first change message is used to indicate the latest software status information of the target software;
[0248] A sending module 1024, 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.
[0249] In this way, the edge server 102 can transfer the latest software status information of the target software 1012 in the industrial control computer 101 to the message queue middleware 103, 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.
[0250] The edge server 102 provided by the embodiments of the present application can implement Figure 2 、 ; and Figure 4 each process implemented by the edge server 102 in the method embodiments. To avoid repetition, it will not be elaborated here.
[0251] See Figure 6 , which is a schematic diagram of an industrial control computer provided by the embodiments of the present application. As Figure 6 shown, the industrial control computer 101 can include the following modules:
[0252] A sending module 10111, configured 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 control computer 101 and the target software information of the target software 1012, and the target software 1012 is any industrial software installed on the industrial control computer 101;
[0253] A times recording module 1, configured to record the consecutive failure times of sending heartbeat information to the edge server 102;
[0254] A stopping module 10113, configured to stop sending heartbeat information to the edge server 102 when the consecutive failure times are greater than or equal to the times threshold.
[0255] In some embodiments of the present application, the sending module 10111, the times recording module 10112, and the stopping module 10113 can be integrated in the long connection service 1011 set in the industrial control computer 101.
[0256] In this way, the industrial control computer 101 can send heartbeat information including the target device information and the target software information to the edge server 102, and at the same time, it can reduce the occupation of invalid network bandwidth and the output of abnormal logs.
[0257] The industrial control computer 101 provided by the embodiments of the present application can implement Figure 6 and Figure 2 each process implemented by the industrial control computer 101 in the method embodiments. To avoid repetition, it will not be elaborated here.
[0258] See Figure 4 , which is a schematic diagram of a data center provided by the embodiments of the present application. AsFigure 7 As shown in the figure, the data center 104 includes a cloud server 1041, and the cloud server 1041 may include the following modules:
[0259] A first acquisition module 10411, configured to acquire a first change message sent by the edge server 102 from the message queue middleware 103, where the first change message is used to indicate the latest software status information of the target software 1012, and the target software 1012 is any industrial software installed in the industrial control computer 101;
[0260] A storage module 10412, configured to store the first change message into the database 1042;
[0261] A second acquisition module 10413, configured to, when 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 indicate acquiring the latest software status information of the target software;
[0262] A sending module 10414, configured to send the latest software status information of the target software to the client 105.
[0263] In this way, the user can conveniently acquire 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 control computer 101.
[0264] The data center 104 provided by the embodiment of the present application can implement Figure 7 and Figure 2 Figure 4 each process implemented by the data center 104 in the method embodiment. To avoid repetition, it will not be elaborated here.
[0265] Although the present application has been described with reference to the preferred embodiments, various improvements can be made to it and components therein can be replaced with equivalents without departing from the scope of the present application. In particular, as long as there is no structural conflict, the various technical features mentioned in each embodiment can be combined in any manner. The present application is not limited to the specific embodiments disclosed in the text, but includes all technical solutions falling within the scope of the claims.
Claims
1. An information monitoring method, characterized in that, Including: When a long connection is established with the industrial control computer, receiving heartbeat information sent by the industrial control computer, where the heartbeat information includes target device information of the industrial control computer and target software information of the target software, and the target software is any industrial software installed on the industrial control computer; Matching the target device information and the target software information with software information records cached in the edge server to obtain a first matching result, where the software information records are generated based on historical heartbeat information received by the edge server; When the first matching result meets a preset condition, generating a first change message, where the first change message is used to indicate the latest software status information of the target software; Sending 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.
2. The method according to claim 1, wherein The target device information includes the target device identifier of the industrial control computer, the target software information includes the target software name and the 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 the 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 records 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 of the first change message when the first matching result meets a preset condition includes: When the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, or the software version in the first information record that matches the target device identifier and the target software name is a second software version that is inconsistent with the first software version, generating a first version status change message, where 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 the matching of 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: When the first sub-matching result indicates that there is no software version in the first information record that matches the target device identifier and the target software name, adding a first piece of data to the first information record, where the first piece of data is used to indicate that the software version that matches 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 in the first information record that matches the target device identifier and the target software name is the second software version, changing the software version status in the first information record that matches the target device identifier and the target software name to the first software version.
4. The method according to claim 2, characterized in that The software information record further includes a second information record for recording the software running status 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 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; When the first matching result meets the preset condition, generating a first change message includes: When the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, or the software running status in the second information record that matches the target device identifier and the target software name is closed, generating a first software running status change message for indicating that the latest running status of the target software is on.
5. The method according to claim 4, characterized in that, After obtaining the second sub-matching result by matching the target device identifier and the target software name with the second information record, the method further includes: When the second sub-matching result indicates that there is no software running status in the second information record that matches the target device identifier and the target software name, adding a second piece of data to the second information record for indicating that the software running status matching the target device identifier and the target software name is on; When the second sub-matching result indicates that the software running status in the second information record that matches the target device identifier and the target software name is closed, changing the software running status in the second information record that matches the target device identifier and the target software name to on.
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 on, the method further includes: Determining the time when the heartbeat information was last received every preset period; When the time interval between the time when the heartbeat information was last received and the current time is greater than the preset period, generating a second software running status change message and changing the software running status in the second information record that matches the target device identifier and the target software name to off, where the second software running status change message is used to indicate that the latest running status of the target software is off; Sending the second software running status change message to the message queue middleware.
7. The method according to any one of claims 1-6, characterized in that, The target device information includes the target device identifier of the industrial control computer. After receiving the heartbeat information sent by the industrial control computer, the method further includes: Matching the target device identifier with the device information record in the cache, where the device information record is generated based on the historical heartbeat information received by the edge server and includes the device running status matching the device identifier; When the second matching result indicates that there is no device operating state matching the target device identifier in the device information record, or the device operating state matching the target device identifier in the device information record is closed, a first device operating state change message is generated, and the first device operating state change message is used to indicate that the latest operating state of the industrial control computer is on; Send the first device operating state 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: When the second matching result indicates that there is no device operating state matching the target device identifier in the device information record, a third piece of data is added to the device information record, and the third piece of data is used to indicate that the device operating state corresponding to the target device identifier is on; When the second matching result indicates that the device operating state matching the target device identifier in the device information record is closed, change the device operating state matching the target device identifier in the device information record to on.
9. The method according to claim 8, wherein When the device operating state 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 received last time at every preset period; When the time interval between the time when the heartbeat information was received last time and the current time is greater than the preset period, generate a second device operating state change message, and change the device operating state matching the target device identifier in the device information record to off. The second device operating state change message is used to indicate that the latest operating state of the industrial control computer is off; Send the second device operating state change message to the message queue middleware.
10. The method according to any one of claims 1-6, characterized in that The method further includes: Determine the frequency at which the industrial control computer sends the heartbeat information; When it is determined that the frequency is greater than or equal to the frequency threshold, block the heartbeat information sent by the industrial control computer.
11. An information monitoring method, characterized in that, Includes: When establishing a long connection with the edge server, send heartbeat information to the edge server. The heartbeat information includes the target device information of the industrial control computer and the target software information of the target software. The target software is any industrial software installed on the industrial control computer; Record the consecutive failure times of sending the heartbeat information to the edge server; When the consecutive failure times are greater than or equal to the times threshold, stop sending the heartbeat information to the edge server.
12. An information monitoring method, characterized in that, Includes: Obtain a first change message sent by the edge server from the message queue middleware through the cloud server. The first change message is used to indicate the latest software state information of the target software. The target software is any industrial software installed in the industrial control computer; Store the first change message in the database; When the cloud server receives a first information acquisition request sent by a client, obtain 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 indicate obtaining the latest software status information of the target software; Send the latest software status information to the client.
13. An edge server, characterized in that, It includes: A receiving module, configured to receive heartbeat information sent by the industrial control computer when a long connection is established with the industrial control computer. The heartbeat information includes target device information of the industrial control computer and target software information of the target software, where the target software is any industrial software installed on the industrial control computer; A matching module, configured to match the target device information and the target software information with software information records cached in the edge server to obtain a first matching result; A message generation module, configured to generate a first change message when the first matching result meets a preset condition, where the first change message is used to indicate the latest software status information of the target software; A sending module, configured 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.
14. An industrial control computer, characterized in that, It includes: A sending module, configured to send heartbeat information to the edge server when a long connection is established with the edge server. The heartbeat information includes target device information of the industrial control computer and target software information of the target software, where the target software is any industrial software installed on the industrial control computer; A count recording module, configured to record the consecutive failure count of sending the heartbeat information to the edge server; A stopping module, configured to stop sending the heartbeat information to the edge server when the consecutive failure count is greater than or equal to a count threshold.
15. A data center, characterized in that, It includes: A cloud server, where the cloud server includes: A first acquisition module, 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, and the target software is any industrial software installed in the industrial control computer; A storage module, configured to store the first change message in the database; A second acquisition module, configured to obtain the latest software status information of the target software from the database based on the first information acquisition request when receiving a first information acquisition request sent by the client, where the first information acquisition request is used to indicate obtaining the latest software status information of the target software; A sending module, configured to send the latest software status information to the client.
16. An information monitoring system, characterized in that, It includes: An industrial control computer, an edge server, a message queue middleware, and a data center; A long connection is established between the industrial control computer and the edge server; The industrial control computer is configured to send heartbeat information to the edge server, where the heartbeat information includes target device information of the industrial control computer and target software information of the target software, and the target software is any industrial software installed on the industrial control computer; The edge server is used to receive the heartbeat information sent by the industrial control computer; match the target device information and the target software information with the software information records cached in the edge server to obtain a first matching result; When the first matching result meets the preset conditions, generate a first change message, where the first change message is used to indicate the latest software status information of the target software; send 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 used to obtain the first change message from the message queue middleware through the cloud server.
17. A computer-readable storage medium, characterized in that, Computer program instructions are stored on the computer-readable storage medium, and when the computer program instructions are executed by a processor, they implement the information monitoring method described in any one of claims 1-10, 11 or 12.
18. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device is caused to execute the information monitoring method described in any one of claims 1-10, 11 or 12.