Method, device and computer program product for managing messages in an application system
By determining the association relationship between messages and objects in the application system and finding related messages based on type dependencies, the message management problem is solved, clear message presentation and efficient processing are achieved, and the stability and performance of the system are ensured.
Patent Information
- Application Number
- CN202010212131.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-24
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2040-03-24
AI Technical Summary
During the operation of the application system, it is difficult for administrators and users to process a large number of messages in a timely manner, and it is difficult to clearly present the association between messages, resulting in the possibility of missing important messages.
By determining the association relationship between messages and related objects in the application system, obtaining the type of related object based on the type dependency, and finding the messages related to them in the message, the association displays these messages so as to clearly present the association between messages. .
Effectively manage and present messages in the application system, improve the visualization and processing efficiency of messages, ensure that administrators and users can handle emergency messages in a timely manner, especially alert messages, reduce the overhead of processing resources, and improve system performance.
Smart Images

Figure CN113448809B_ABST
Abstract
Description
Technical Field
[0001] Implementations of the present disclosure relate to management of application systems, and more particularly, to methods, devices, and computer program products for managing messages in application systems. Background Art
[0002] With the development of computer technology, a variety of application systems have emerged. A large number of messages may be generated during the operation of the application system in order to provide information about the status of the application system to the administrator and / or user of the application system. For example, a message about the workload of the application system can be provided. For another example, when some components in the application system fail, a message about the failure can be provided. As the application system runs, the administrator and / or user will be faced with a large number of messages, and some important messages may not be processed in time. At this time, how to manage the messages in the application system in a more effective way and present the messages in a more easy-to-view way has become a research hotspot. Summary of the invention
[0003] Therefore, it is expected to develop and implement a technical solution for managing messages in an application system in a more effective manner. It is expected that the technical solution can be compatible with existing application systems and present messages in a more effective manner by modifying various configurations of existing application systems.
[0004] According to a first aspect of the present disclosure, a method for managing messages in an application system is provided. The application system includes multiple objects, and one of the multiple objects has an object type among multiple object types. In the method, among the multiple objects, a first object associated with a first message among multiple messages in the application system is determined, and the first message is generated based on the first object. Based on a type dependency relationship between a group of object types among the multiple object types, a second object type having a dependency relationship with the first object type of the first object is obtained. Among the multiple messages, a second message generated based on a second object of the second object type is searched. The first message and the second message are displayed in association.
[0005] According to a second aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions causing the device to execute an action for managing messages in an application system when executed by the at least one processor, the application system comprising a plurality of objects, one of the plurality of objects having an object type among a plurality of object types. The action comprises: among the plurality of objects, determining a first object associated with a first message among a plurality of messages in the application system, the first message being generated based on the first object; based on a type dependency relationship between a group of object types among the plurality of object types, obtaining a second object type having a dependency relationship with the first object type of the first object; among the plurality of messages, searching for a second message generated based on a second object of the second object type; and displaying the first message and the second message in association.
[0006] According to a third aspect of the present disclosure, there is provided a computer program product, which is tangibly stored on a non-transitory computer-readable medium and comprises machine-executable instructions for executing the method according to the first aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The features, advantages and other aspects of various implementations of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings, which illustrate several implementations of the present disclosure in an exemplary and non-limiting manner. In the accompanying drawings:
[0008] Figure 1A A block diagram schematically shows an interface for displaying messages in an application system according to a technical solution;
[0009] Figure 1B A block diagram schematically shows an interface for displaying messages in an application system according to an exemplary implementation of the present disclosure;
[0010] Figure 2 A block diagram schematically shows a message process for managing an application system according to an exemplary implementation of the present disclosure;
[0011] Figure 3 A flowchart of a method for managing messages in an application system according to an exemplary implementation of the present disclosure is schematically shown;
[0012] Figure 4 A block diagram schematically illustrates type dependency according to an exemplary implementation of the present disclosure;
[0013] Figure 5 A block diagram schematically illustrates a data structure of a message library according to an exemplary implementation of the present disclosure;
[0014] Figure 6 A block diagram schematically shows an interface for displaying messages in a tree structure according to an exemplary implementation of the present disclosure;
[0015] Figure 7 A block diagram schematically illustrates a message manager according to an exemplary implementation of the present disclosure; and
[0016] Figure 8 A block diagram of a device for managing messages in an application system according to an exemplary implementation of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0017] The preferred implementations of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred implementations of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the implementations set forth herein. On the contrary, these implementations are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0018] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example implementation" and "an implementation" mean "at least one example implementation". The term "another implementation" means "at least one additional implementation". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0019] See first Figure 1A The application environment of the exemplary implementation of the present disclosure is described. Figure 1A A block diagram 100A schematically shows an interface 110A for displaying messages in an application system according to a technical solution. For the sake of convenience of description, a storage system will be described as an example of an application system in the context of the present disclosure. First, the working environment of the storage system is summarized. The storage system may include multiple storage devices, the storage devices may be located in a resource pool, and the storage space in the storage devices may be divided into multiple storage blocks for storing data. Furthermore, a snapshot may be made for the data in the storage block to generate a snapshot of the block. For another example, replication may be performed for the data in the storage block to form a replication session.
[0020] At this point, the objects in the storage system may include multiple types: any one of a storage device, a resource pool, a data block, a snapshot, and a replication session. It will be understood that since the storage system includes a large number of storage devices and performs complex operations, the storage system may include a large number of objects of multiple types. During the operation of the storage system, a large number of messages may be generated. A plurality of messages may be displayed in a tile structure 120A in the interface 110A. Since a plurality of messages are displayed in parallel, it is difficult for the administrator and / or user of the application system to distinguish the urgency of the messages, and the administrator and / or user of the application system may have to read the messages one by one in order to determine the status of each object in the application system. It will be understood that there may be an association relationship between a plurality of messages and each message may have a different urgency. Figure 1A The displayed manner shown makes it difficult for an administrator and / or user to determine the relevance between multiple messages and some important messages may be missed.
[0021] In order to at least partially solve one or more of the above problems and other potential problems, the exemplary implementation of the present disclosure proposes a technical solution for managing messages in an application system. Specifically, Figure 1B A block diagram 100B schematically shows an interface 110B for displaying messages in an application system according to an exemplary implementation of the present disclosure. Figure 1B The interface 110B shown shows multiple messages. The multiple messages can be displayed in the association relationship 120B. By using the exemplary implementation of the present disclosure, the messages with association relationships among the multiple messages can be clearly provided, thereby presenting the multiple messages in a clearer and more effective manner.
[0022] In the following, see first Figure 2 An overview of exemplary implementations of the present disclosure is described. Figure 2 A block diagram 200 is schematically shown of a message process for managing an application system according to an exemplary implementation of the present disclosure. Figure 2 As shown, for a first message 210 among multiple messages 240, a first object 212 associated with the first message 210 can be determined, where the first message 210 is generated based on the first object 210. In the storage system, the first message 212 can be message A reporting that a certain storage block has failed, in which case the first object 212 is the failed storage block B, and the first object type 214 of the first object 212 is "storage block".
[0023] Based on the type dependency 230 (in which the dependency between multiple object types is stored), the second object type 224 having a dependency relationship with the first object type 214 of the first object 212 can be determined. It will be understood that since the storage block comes from a storage resource pool in the storage system, the second object type 224 can be a resource pool. Next, the second message 220 generated based on the second object 222 of the second object type 224 is searched in the plurality of messages 240. Assuming that the storage block B comes from the resource pool C, the second object 222 is the resource pool C at this time, and the second message 220 is the message D reporting that the resource pool C has a fault. In the case where the first message 210 and the second message 220 have been determined, the first message 210 and the second message 220 (i.e., the message A and the message D) can be displayed in association.
[0024] In the following, we will refer to Figure 3 More details of exemplary implementations according to the present disclosure are described. Figure 3 A flowchart of a method 300 for managing messages in an application system according to an exemplary implementation of the present disclosure is schematically shown. At block 310, a first object 212 associated with a first message 210 in a plurality of messages 240 in the application system is determined among a plurality of objects, and the first message 210 is generated based on the first object 212. In an exemplary implementation according to the present disclosure, a message-object translator may be established to determine an object associated with a message, and may also determine a message associated with an object.
[0025] A message list can be used in the application system to record multiple messages 240. Administrators and / or users can view and process messages. The message list may include a message identifier, message content, and a status of whether the message has been processed. Using the exemplary implementation of the present disclosure, different operations can be performed based on the status of the message. It will be understood that different operations can be performed based on whether the message has been processed. First, the case where the first message is an unprocessed message is described. According to the exemplary implementation of the present disclosure, the method described below can be performed based on the "status" in the message list and only on unprocessed messages. It will be understood that if the message has been processed, it means that the administrator and / or user has read the message content and taken corresponding measures. At this time, executing method 300 only for unprocessed messages can avoid the overhead of useless processing resources, thereby improving the performance of the application system.
[0026] According to an exemplary implementation of the present disclosure, the plurality of messages may include an alarm message. It will be understood that there may be multiple types of messages in the application system, for example, a status message reporting the running status of the application system, and an alarm message reporting a potential failure of the application system. Since the alarm message must be processed first, the method 300 is used to process the alarm message, and the association relationship between the various alarm messages in the application system can be clearly displayed, so that the administrator and / or user can eliminate the failure as soon as possible.
[0027] At block 320, based on the type dependency relationship 230 between a set of object types in the plurality of object types, a second object type 224 having a dependency relationship with the first object type 214 of the first object 210 is obtained. Figure 4 Describes the type dependency 230 in more detail. Figure 4 A block diagram 400 of type dependencies according to an exemplary implementation of the present disclosure is schematically shown, wherein the direction of the arrows indicates the dependencies between the various types. Storage block 430 comes from resource pool 420, and thus storage block 430 may depend on resource pool 420. Storage space in resource pool 420 is formed by storage space in storage device 410, and thus resource pool 420 may depend on storage device 410.
[0028] Assuming that the first object type 214 of the first object 210 is a "storage block", the second object type 224 having a dependency relationship with the first object type 214 of the first object 210 may be a "resource pool 420". Assuming that the first object type 214 is a "resource pool", the second object type 224 may be a "storage device 410". In the initial stage of the execution of the method 300, the type dependency 230 may only include dependencies between certain predefined types. As the method 300 is executed, more dependencies may be continuously added to the type dependency 230.
[0029] According to an exemplary implementation of the present disclosure, type dependencies may be stored in a file in XML format or other data structures. For example, the XML file may initially include only Figure 4 The solid lines in the figure show some of the dependencies.
[0030] Table 1 Example of type dependency
[0031]
[0032] For example, the statement in Table 1 <object name="storageblock”> <parent> Pool< / parent> < / object> Indicates that storage block 430 depends on resource pool 420. Statements in Table 1 <object name="pool”> <parent> StorageDevice< / parent> < / object>Indicates that the resource pool 420 depends on the storage device 410. The xml file can be loaded into the cache. At this time, if the first message type 214 is "storage block" and / or "resource pool", the second object type 224 can be determined based on the dependency relationship. If the first object type 214 is "snapshot", since the snapshot type does not belong to the set of object types shown in solid lines (i.e., not in the cache), the snapshot type can be added to the cache.
[0033] As method 300 runs, more and more new types will be added to the cache. Each newly added type can be processed one by one to find the dependency relationship between the newly added type and the original type (or other new types). For example, a snapshot in the storage system fails, and the type of the first message 210 is "snapshot". Since the "snapshot" type is not included in the cache, the "snapshot" type can be added to the cache. Further, the dependency relationship between the "snapshot" and other types of objects can be determined. In the storage system, the operation of making a snapshot is performed on storage block 0 in the storage system, so the generated snapshot can depend on the storage block. For example, Figure 4 As shown, a snapshot 440 shown in a dotted box may be added to the type dependency 230 , and the snapshot 440 may be pointed to the storage block 430 .
[0034] Similarly, the copy operation is also performed on the storage block in the storage system, so the copy session 442 can depend on the storage block 430. The copy session 442 shown in the dotted box can be added to the type dependency 230, and the copy session 442 is pointed to the storage block 430. Using the exemplary implementation of the present disclosure, the type dependency 230 can be continuously updated based on the newly discovered types. In this way, the content of the type dependency 230 can be continuously enriched, thereby covering all types in the application system as much as possible. According to the exemplary implementation of the present disclosure, the updated type dependency in the cache can be written to an xml file to store the dependency.
[0035] return Figure 3, at box 330, in multiple messages 240, search for a second message 220 generated by a second object 222 based on a second object type 224. According to an exemplary implementation of the present disclosure, the second object 222 corresponding to the first object 212 can be determined based on the second object type 224. Continuing with the above example, assuming that the first object 212 is data block 001, the second object type 224 is "resource pool". A group of target objects of type "resource pool" in the storage system can be determined: resource pool 001, resource pool 002, ... and resource pool n. Assuming that data block 001 comes from resource pool 001, resource pool 001 can be determined as the second object 222 corresponding to data block 001. Then, a message generated based on resource pool 001 can be searched in multiple messages. In other words, the message generated for the resource pool 001 can be used as the second message 220.
[0036] At box 340, the first message 210 and the second message 220 are displayed in association. According to an exemplary implementation of the present disclosure, the first message 210 and the second message 220 can be displayed in association in a separate list. For example, the two messages can be displayed according to the generation time of the first message 210 and the second message 220. Alternatively and / or additionally, the two messages can be displayed according to the dependency relationship. For example, the second message 220 can be marked as the parent message of the first message 210, and in the hierarchical structure, the second message 220 is displayed as the father node of the first message 210.
[0037] It will be understood that although only two messages with an associated relationship are schematically shown above. According to the exemplary implementation of the present disclosure, there may be more messages with an associated relationship. Using the exemplary implementation of the present disclosure, two or more messages with a dependent relationship can be clearly displayed so that the administrator and / or user can grasp the status of the application system as soon as possible.
[0038] According to an exemplary implementation of the present disclosure, the second message can be marked as the parent message of the first message. Further, the second message can be displayed as the parent node of the first message. By adopting a hierarchical approach, the dependency relationship between multiple messages can be presented more clearly, thereby facilitating further operations of administrators and / or users.
[0039] It will be understood that, although the above only schematically describes the details of processing the first message 210. According to an exemplary implementation of the present disclosure, each message in the plurality of messages 240 may be processed according to the method 300 described above. According to an exemplary implementation of the present disclosure, the method 300 may be executed in an iterative manner. For example, after finding the second message 220, the method 300 may also be executed for the second message 220 so as to find other messages on which the second message 220 depends.
[0040] According to an exemplary implementation of the present disclosure, the second message 220 may be identified as a parent message of the first message 210 , and further, a message library may be provided to store dependencies of messages that have been processed. Figure 5 A block diagram 500 schematically shows a data structure of a message library according to an exemplary implementation of the present disclosure. Figure 5 As shown, the first column represents the identifier of the message that has been processed, the second column represents the message content, and the third column represents the parent message of the message. According to an exemplary implementation of the present disclosure, the message library can be empty initially, and the processed first message 210 and the second message 220 can be gradually added to the message library.
[0041] Specifically, the first message "MESSAGE001" among the multiple messages 240 can be processed to obtain the parent message "MESSAGE002" of "MESSAGE001". At this time, "MESSAGE001" and "MESSAGE002" can be added to the message library respectively, and the "parent message" of the entry 510 where "MESSAGE001" is located is set to "MESSAGE002". The method 300 can also be continued to be executed for "MESSAGE002" to obtain the parent message "MESSAGE003" of the message. "MESSAGE003" can be added to the message library, and the "parent message" of the entry 520 where "MESSAGE002" is located is set to "MESSAGE003". "MESSAGE003" can continue to be processed. Assuming that the parent message is not found, the "parent message" of the entry 530 where "MESSAGE003" is located can be set to empty.
[0042] Each message in the plurality of messages 240 can be traversed in a similar manner, and the processed messages can be added to the message library one by one. According to the exemplary implementation of the present disclosure, the plurality of messages can also be first added to the message library, and the content of the third column can be updated as the method 300 proceeds. Using the exemplary implementation of the present disclosure, as the application system runs, new messages generated by the application system can be continuously processed. In this way, the association relationship between the various messages in the application system can be found in real time, so that the administrator and / or user can grasp the status of the application system in real time and perform corresponding operations.
[0043] According to an exemplary implementation of the present disclosure, each message can be displayed based on the message library. Specifically, each message in the message library can be displayed in a tree structure. Figure 6 A block diagram 600 schematically shows an interface for displaying messages in a tree structure according to an exemplary implementation of the present disclosure. Figure 6 It shows that based on Figure 5 The tree structure generated by the message library is shown. The message library defines that "MESSAGE003" is the parent message of "MESSAGE002", so node 610 is shown as the parent node of node 612. The message library defines that "MESSAGE002" is the parent message of "MESSAGE001" and "MESSAGE004", so node 612 is shown as the parent node of nodes 614 and 616. The message library defines that "MESSAGE005" has no parent node, so node 620 is shown separately.
[0044] By using the exemplary implementation of the present disclosure, multiple messages with dependencies can be clearly shown. Administrators and / or users can open or collapse multiple associated messages by clicking on nodes at each level of the tree structure. In this way, a large number of messages in the application system can be displayed in a simpler and faster way.
[0045] According to the exemplary implementation of the present disclosure, the administrator and / or user can view and process the displayed messages in real time. If a message has been processed, it means that the problem indicated by the message has been eliminated. At this time, the parent node of the message can be marked as empty and the message is no longer displayed. Further, it is also possible to search for a message with the message as the parent among multiple messages. Specifically, assuming that the message indicating that a resource pool has failed has been processed, the failure of the storage block in the resource pool has been eliminated accordingly, and thus the parent of the message indicating the failure of the storage block in the resource pool can be marked as empty. Using the exemplary implementation of the present disclosure, the association relationship between the processed message and other unprocessed messages can be automatically removed. In this way, messages displayed according to the latest association relationship can be presented to the administrator and / or user.
[0046] See above for Figures 2 to 6 The various steps of method 300 are described, and a message manager may be deployed in an application system to execute the functions of method 300 described above. Figure 7 The block diagram 700 schematically shows a message manager 720 according to an exemplary implementation of the present disclosure. The message manager 720 may include: a data access adapter 730, a message-object translator 732, a dependency crawler 734, a dependency cache 736, and a tree structure generator 738.
[0047] Specifically, the data access adapter 730 can be used to access multiple messages 240. Alternatively and / or additionally, the data access adapter 730 can be used to access type dependencies 230. The message-object translator 732 can be used to determine for which object a message is generated. Alternatively and / or additionally, the message-object translator 732 can be used to determine the message generated for a certain object. The dependency crawler 734 can be used to gradually find the dependencies between the types of various objects in the application system. The dependency cache 736 can be used to store type dependencies 230. Alternatively and / or additionally, the dependency cache 736 can be further used to store the dependencies newly found by the dependency crawler 734. The tree structure generator 738 can be used to generate a tree structure for display based on the dependencies in the message library 730 so as to be displayed in the display interface 710.
[0048] It will be understood that the above describes a method for managing messages in a storage system using a storage system as a specific example of an application system. According to an exemplary implementation of the present disclosure, the application system may also include other types of systems. For example, the application system may also include a switch system, in which case the multiple objects in the switch system may include any of the following: a network interface controller, a port, a local area network, an IP address configuration, and the like. At this time, the type dependency may include that both the local area network and the IP address depend on the port, and the port may depend on the network interface controller. Messages in a network system may be managed in a manner similar to that described above. According to an exemplary implementation of the present disclosure, the application system may also include other systems such as a network system.
[0049] See above for Figures 2 to 7 An example of a method according to the present disclosure is described in detail, and the implementation of the corresponding device will be described below. According to an exemplary implementation of the present disclosure, a device for managing messages in an application system is provided. The application system includes multiple objects, and one of the multiple objects has an object type among multiple object types. The device includes: a determination module, configured to determine a first object associated with a first message among multiple messages in the application system among multiple objects, and the first message is generated based on the first object; an acquisition module, configured to acquire a second object type having a dependency relationship with the first object type of the first object based on a type dependency relationship between a group of object types among multiple object types; a search module, configured to search for a second message generated based on a second object of a second object type in multiple messages; and a display module, configured to display the first message and the second message in association. According to an exemplary implementation of the present disclosure, the device may further include a corresponding module for executing each step in method 300.
[0050] Figure 8A block diagram of a device 800 for managing messages in a storage system according to an exemplary implementation of the present disclosure is schematically shown. As shown, the device 800 includes a general processing unit (CPU) 801, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 802 or computer program instructions loaded from a storage unit 808 into a random access memory (RAM) 803. In RAM 803, various programs and data required for the operation of the device 800 can also be stored. CPU 801, ROM 802, and RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0051] A number of components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0052] The various processes and processing described above, such as method 300, can be performed by processing unit 801. For example, in some implementations, method 300 can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 808. In some implementations, part or all of the computer program can be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by CPU 801, one or more steps of method 300 described above can be performed. Alternatively, in other implementations, CPU 801 can also be configured in any other suitable manner to implement the above process / method.
[0053] According to an exemplary implementation of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions causing the device to perform an action for managing messages in an application system when executed by the at least one processor, the application system comprising a plurality of objects, one of the plurality of objects having an object type among a plurality of object types. The action comprises: among the plurality of objects, determining a first object associated with a first message among a plurality of messages in the application system, the first message being generated based on the first object; based on a type dependency relationship between a group of object types among the plurality of object types, obtaining a second object type having a dependency relationship with the first object type of the first object; among the plurality of messages, searching for a second message generated based on a second object of the second object type; and displaying the first message and the second message in association.
[0054] According to an exemplary implementation of the present disclosure, searching for a second message generated based on a second object of a second object type in multiple messages includes: determining a second object corresponding to the first object according to the second object type; and searching for the second message generated based on the second object in multiple messages.
[0055] According to an exemplary implementation of the present disclosure, displaying the first message and the second message in association includes: marking the second message as a parent message of the first message; and displaying the second message as a parent node of the first message in a hierarchical structure.
[0056] According to an exemplary implementation of the present disclosure, the action further includes: adding the first message and the second message to a message library; and displaying the first message and the second message based on the message library.
[0057] According to an exemplary implementation of the present disclosure, the hierarchical structure includes a tree structure, and the action further includes: displaying each message in the message library in the tree structure.
[0058] According to an exemplary implementation of the present disclosure, the action further includes: based on determining that the first message has been processed, searching for a third message in multiple messages, the first message being a parent message of the third message; and marking the third message as processed.
[0059] According to an exemplary implementation of the present disclosure, the action further includes: inserting the first message into the message library based on determining that the first object type does not belong to a group of object types; and setting the parent message of the first message to null.
[0060] According to an exemplary implementation of the present disclosure, the action further includes: updating the type dependency relationship based on the type dependency relationship between the first object type and a group of object types.
[0061] According to an exemplary implementation of the present disclosure, the first message is an unprocessed message among the multiple messages.
[0062] According to an exemplary implementation of the present disclosure, the application system includes a storage system, and the plurality of messages includes an alarm message.
[0063] According to an exemplary implementation of the present disclosure, a computer program product is provided, which is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions for executing a method according to the present disclosure.
[0064] According to an exemplary implementation of the present disclosure, a computer-readable medium is provided. The computer-readable medium stores machine-executable instructions, and when the machine-executable instructions are executed by at least one processor, the at least one processor implements the method according to the present disclosure.
[0065] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.
[0066] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0067] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0068] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some implementations, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.
[0069] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0070] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0071] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0072] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0073] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the marketplace, or to enable other persons of ordinary skill in the art to understand the implementations disclosed herein.
Claims
1. A method for managing messages in an application system, the application system comprising a plurality of objects, one of the plurality of objects having an object type among a plurality of object types, the method include: Determine, among the plurality of objects, a first object associated with a first message among a plurality of messages in the application system, the first message being generated based on the first object; Based on a type dependency relationship between a group of object types among the plurality of object types, acquiring a second object type having a dependency relationship with a first object type of the first object; searching, among the plurality of messages, for a second message generated based on a second object of the second object type, the second object corresponding to the first object being determined according to the second object type; and The first message and the second message are displayed in association.
2. The method according to claim 1, wherein the first message and the second message are displayed in association include: Marking the second message as a parent message of the first message; as well as In the hierarchical structure, the second message is displayed as a parent node of the first message.
3. The method according to claim 2, further comprising: include: adding the first message and the second message to a message library; as well as The first message and the second message are displayed based on the message library.
4. The method according to claim 3, wherein the hierarchical structure comprises a tree structure, the method further comprising: include: The individual messages in the message library are displayed in the tree structure.
5. The method according to claim 2, further comprising: include: Based on determining that the first message has been processed, Searching for a third message in the multiple messages, wherein the first message is a parent message of the third message; as well as The third message is marked as processed.
6. The method according to claim 1, further comprising: include: inserting the first message into a message repository based on determining that the first object type does not belong to the group of object types; as well as The parent message of the first message is set to null.
7. The method according to claim 6, further comprising: include: Based on the type dependency relationship between the first object type and the group of object types, the type dependency relationship is updated. The method of claim 1 , wherein the first message is an unprocessed message among the plurality of messages.
9. The method of claim 1, wherein the application system comprises a storage system, and the plurality of messages comprises alarm messages.
10. An electronic device, include: at least one processor; as well as a memory coupled to the at least one processor, the memory having instructions stored therein, wherein when the instructions are executed by the at least one processor, the device executes an action for managing messages in an application system in an application system, wherein the application system includes a plurality of objects, and an object in the plurality of objects has an object type in a plurality of object types, wherein the action includes: Determine, among the plurality of objects, a first object associated with a first message among a plurality of messages in the application system, the first message being generated based on the first object; Based on a type dependency relationship between a group of object types among the plurality of object types, acquiring a second object type having a dependency relationship with a first object type of the first object; searching, among the plurality of messages, for a second message generated based on a second object of the second object type, the second object corresponding to the first object being determined according to the second object type; and The first message and the second message are displayed in association.
11. The device according to claim 10, wherein the first message and the second message are displayed in association include: Marking the second message as a parent message of the first message; as well as In the hierarchical structure, the second message is displayed as a parent node of the first message.
12. The apparatus of claim 11, wherein the action further include: adding the first message and the second message to a message library; as well as The first message and the second message are displayed based on the message library.
13. The apparatus of claim 12, wherein the hierarchical structure comprises a tree structure, wherein the actions further include: The individual messages in the message library are displayed in the tree structure.
14. The apparatus of claim 11, wherein the action further include: Based on determining that the first message has been processed, Searching for a third message in the multiple messages, wherein the first message is a parent message of the third message; as well as The third message is marked as processed.
15. The apparatus of claim 10, wherein the action further include: inserting the first message into a message repository based on determining that the first object type does not belong to the group of object types; as well as The parent message of the first message is set to null.
16. The apparatus of claim 15, wherein the action further include: Based on the type dependency relationship between the first object type and the group of object types, the type dependency relationship is updated. The apparatus of claim 10 , wherein the first message is an unprocessed message of the plurality of messages.
18. A computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions for performing the method according to any one of claims 1-9.
