Message integration system

By designing the message management, transmission and tracking module of the message integration system, the problem of insufficient message middleware selection, transmission mode and link tracking functions in traditional systems is solved, and higher performance and reliability are achieved.

CN119652859APending Publication Date: 2025-03-18GE CHUANG DONGZHI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411798624.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

Traditional message integration systems have limitations in design and implementation, and cannot fully meet the needs of modern distributed systems, such as the lack of flexible message middleware selection, a single message transmission mode and a lack of message link tracking capabilities, resulting in limited system flexibility and scalability.

Method used

A message integration system is designed, including a message management module, a message transmission module and a message tracking module. The message management module selects message middleware through configuration files, the message transmission module supports synchronous and asynchronous message transmission, and the message tracking module performs message link tracking based on the message identification.

Benefits of technology

By introducing configuration file selection message middleware, providing synchronous and asynchronous message sending modes, and link tracking functions based on message identification, the performance and reliability of the message integration system are comprehensively improved, solving the problem of insufficient flexibility and scalability in traditional systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652859A_ABST
    Figure CN119652859A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a message integration system, and relates to the technical field of information, the message integration system comprises a message management module, a message tracking module and a message transmission module, the message management module is used for selecting message middleware to be adopted through configuration information in a configuration file; the message transmission module carries out synchronous message sending or asynchronous message sending through the message middleware; and the message tracking module tracks the message link based on the message identifier carried in the message. Therefore, the problems of flexibility and traceability in the message transmission process are effectively solved, and the overall performance and reliability of the system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of information technology, and in particular to a message integration system. Background Art

[0002] In the current distributed system environment, message integration systems play a vital role. Traditional message integration systems often have some limitations in design and implementation, and fail to fully meet the needs of modern distributed systems. For example, in terms of message management, traditional message integration systems usually can only support a single message middleware, or require manual configuration and switching of middleware, which greatly limits the flexibility and scalability of the system. In terms of message transmission, traditional message integration systems often can only provide a single mode of synchronous or asynchronous message sending, and lack the ability to flexibly switch according to actual needs.

[0003] Therefore, how to improve the overall performance of the message integration system is a problem that needs to be solved at present. Summary of the invention

[0004] The embodiment of the present disclosure provides a message integration system, which aims to solve one of the technical problems in the related art at least to a certain extent.

[0005] In a first aspect, an embodiment of the present disclosure provides a message integration system, including:

[0006] Message management module, message tracking module, and message transmission module, wherein:

[0007] The message management module is used to select the message middleware to be adopted through the configuration information in the configuration file;

[0008] The message transmission module sends synchronous messages or asynchronous messages through the message middleware;

[0009] The message tracking module performs message link tracking based on the message identifier carried in the message message.

[0010] Optionally, the message tracking module includes: a message marking unit, a message storage unit and a query unit, wherein:

[0011] The message marking unit is used to: generate a message identifier corresponding to each message, and mark the corresponding message based on the message identifier;

[0012] The message storage unit is used to: store the marked message in the message tracking database;

[0013] The query unit is used to display corresponding target information according to the target message identifier input by the user, and the target information includes a message packet corresponding to the target message identifier and a transmission link of the message.

[0014] Optionally, the message transmission module includes an asynchronous sending unit, wherein the asynchronous sending unit is specifically used to:

[0015] Encapsulate the original data to obtain a standard message;

[0016] Based on the message middleware, the standard message is sent to the consumer for parsing.

[0017] Optionally, the message transmission module includes a synchronous sending unit, wherein the synchronous sending unit is specifically used to:

[0018] Encapsulate the original data to obtain a standard message;

[0019] Sending the standard message to the consumer for parsing based on the message middleware;

[0020] Get the response message returned by the consumer.

[0021] Optionally, the message management module further includes: a topic management unit and a consumer management unit,

[0022] The topic management unit is used to monitor the status of each topic, and view, create, modify or delete the topic;

[0023] The consumer management unit is used to monitor the status of consumers and control the online and offline of consumers.

[0024] The consumer management unit is also used to: based on the message middleware, verify the message request header to obtain the message that meets the preset filtering conditions.

[0025] Optionally, the message integration system further includes a message cache module, which includes: a cache unit and a message clearing unit, wherein:

[0026] The cache unit is used to: store the cached message in a Redis distributed database based on a message identifier corresponding to the cached message;

[0027] The message clearing unit is used to determine whether the cache time of the cached message is greater than a specified time, and if it is greater than the specified time, clear the cached message.

[0028] Optionally, the message integration system further includes a message transaction module, wherein the message transaction module is used to:

[0029] Based on the producer sending a first message associated with any transaction to the consumer;

[0030] Determining a consumption result corresponding to the first message based on a response message of the consumer to the first message;

[0031] When the consumption result is a consumption failure, sending the first message to the consumer again based on the producer;

[0032] When the consumption result is successful, the sending of the first message is terminated.

[0033] Optionally, the message integration system further includes a conversion module, wherein the conversion module is used to:

[0034] Based on the message protocol and content converter, the format of the message content sent by the consumer and / or producer is converted, or the message protocol is converted.

[0035] Optionally, the message integration system further includes a message routing module, wherein the message routing module is used to:

[0036] Based on pre-configured rules and attribute information of the message, the message is forwarded to the corresponding consumer.

[0037] Optionally, the message integration system provides a software development kit SDK in the message middleware, and the SDK supports multiple development languages.

[0038] Among them, the JAVA language version of the SDK adopts the SpringBoot development framework and Maven to manage projects; the Go language version of the SDK adopts Go Module to manage projects.

[0039] In summary, the message integration system of the embodiment of the present disclosure comprehensively improves the performance and reliability of the message integration system by introducing configuration files to select message middleware, providing synchronous and asynchronous message sending modes, and link tracking based on message identifiers.

[0040] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the technical solutions in the present disclosure, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without paying any creative work.

[0042] Figure 1is a schematic diagram of a message integration system provided according to an embodiment of the present disclosure;

[0043] Figure 2 A flowchart for reading a configuration file;

[0044] Figure 3 A schematic diagram of an asynchronous message sending unit;

[0045] Figure 4 The present invention is a schematic diagram of a synchronous message sending unit. DETAILED DESCRIPTION

[0046] Some embodiments of the present disclosure will be described in detail here, and examples thereof are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. Various changes, modifications and equivalents of the methods, devices and / or systems described herein will become apparent after understanding the present disclosure. For example, the order of operations described herein is merely an example and is not limited to those orders set forth herein, but can be changed as becomes apparent after understanding the present disclosure, except for operations that must be performed in a specific order. In addition, for clarity and brevity, descriptions of features known in the art may be omitted.

[0047] As the semiconductor chip manufacturing process becomes more and more complex, more and more computer integrated manufacturing system (CIM) software, such as manufacturing execution systems, equipment automation systems, fault detection and classification systems, yield management systems, statistical process control systems, etc., are needed to assist in chip production and manufacturing. However, these business systems often come from different suppliers, each of which will formulate its own technical standards. Different systems will use different communication protocols, message middleware, etc. This will make it difficult to integrate system software from different suppliers with each other, and bring a lot of workload and difficulty in operation and maintenance management after the system is launched. Therefore, enterprises need to establish a set of message integration standards between different systems. However, after enterprises select a specific message middleware, each supplier will call the native SDK provided by this message middleware to integrate messages with other systems when developing the corresponding software. The following problems will occur when using this method:

[0048] 1. If the message middleware is replaced later, all software systems need to be redeveloped, which will cost huge R&D costs;

[0049] 2. There is no message link tracking function. If an error occurs in any link, it will take a lot of time to locate the problem.

[0050] 3. It does not support message synchronization requests. The design architecture of message middleware is often asynchronous communication. For scenarios that require synchronous response results, an additional message channel is required to obtain them, which increases the complexity of R&D.

[0051] 4. Transactions are not supported, resulting in inconsistent business data;

[0052] 5. Does not support message format conversion, resulting in additional workload for parsing messages from heterogeneous systems;

[0053] 6. Message caching is not supported.

[0054] To this end, the embodiments of the present disclosure propose a message integration system for solving at least one of the above-mentioned technical problems to a certain extent.

[0055] The embodiments described in some embodiments of the present disclosure below do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0056] Figure 1 A message integration system is provided according to an embodiment of the present disclosure, comprising:

[0057] Message management module, message tracking module, and message transmission module, wherein:

[0058] The message management module is used to select the message middleware to be adopted through the configuration information in the configuration file;

[0059] The message transmission module sends messages synchronously or asynchronously through the message middleware;

[0060] The message tracking module performs message link tracking based on the message identifier carried in the message packet.

[0061] Optionally, in the embodiment of the present disclosure, the message integration system supports message middleware including pulsar, RocketMQ, IBM MQ, RabbitMQ, Kafka, TIBCO RV, etc., which are not limited here.

[0062] As a possible implementation method, the message management module can determine which message middleware to use based on the configuration information of the configuration file. If it is necessary to support the change of the message middleware, only the configuration file needs to be changed to achieve the seamless replacement of the message middleware.

[0063] It is understandable that this design makes it possible to change the message middleware by simply modifying the relevant settings in the configuration file without making extensive modifications or recompiling the application code, thus achieving the goal of seamlessly replacing the message middleware.

[0064] Specifically, the message management module can first read and parse the configuration file to obtain key information such as the message middleware type, connection parameters (such as host name, port number, user name, password, etc.), queue or topic name, etc. Then, according to the configuration information in the configuration file, the message management module can instantiate an adapter (or client) corresponding to the specified message middleware. These adapters follow a unified interface or abstract class to ensure that they can be seamlessly integrated with other parts of the message management module. Through the adapter, the message management module can interact with the message middleware to achieve message sending and receiving. These operations can be encapsulated in an easy-to-use API so that the application code can easily call them. The message management module also needs to have a complete error handling and logging mechanism so that problems can be discovered and solved in time when problems are encountered during message sending or receiving. In order to realize the function of replacing the message middleware without feeling, the message management module also needs to be able to detect changes in the configuration file and reload the configuration when necessary. For example, monitor changes in the configuration file (for example, through a file system event listener) or regularly check the update timestamp of the configuration file when the application starts.

[0065] like Figure 2 As shown, Figure 2 This is a flowchart for reading a configuration file. The server can first read the configuration file, then determine the type of the message middleware, then initialize the connection, and then produce or consume based on the message middleware.

[0066] Optionally, the message tracking module includes: a message marking unit, a message storage unit and a query unit, wherein:

[0067] The message marking unit is used to: generate a message identifier corresponding to each message, and mark the corresponding message based on the message identifier;

[0068] The message storage unit is used to: store the marked message in the message tracking database;

[0069] The query unit is used to display the corresponding target information according to the target message identifier input by the user. The target information includes the message packet corresponding to the target message identifier and the transmission link of the message.

[0070] It is understandable that the message tracking module helps to ensure the reliability and traceability of messages in distributed systems and microservice architectures. The message tracking module can include a message marking unit, a message storage unit, and a query unit to ensure that each message can be accurately tracked and located in a complex message delivery system.

[0071] Among them, the message marking unit can generate a message identifier: a globally unique identifier (Trace ID) is generated for each produced message, and a UUID (Universally Unique Identifier) ​​is usually used to ensure uniqueness. Then, the generated Trace ID can be embedded in the message message so that the message can be easily identified and tracked in subsequent processing and storage.

[0072] Specifically, the producer produces a message. The message marking unit generates a Trace ID for the message. The Trace ID is added to the message body to form a complete message body with tracing information.

[0073] The message storage unit can store the marked message packets, and store the marked message packets in a special message tracking database for subsequent query and analysis.

[0074] Specifically, the message message may be first received from the message marking unit, and then the message message may be stored in a message tracking database Clickhouse, which is suitable for processing a large amount of message data.

[0075] Specifically, the query unit can allow users to query message packets and their transmission links based on a specific Trace ID and display a complete link diagram and message packets. Through page query, users can view the complete transmission path of each message, including detailed information such as which nodes the message is processed and the transmission timestamp. For example, the user enters the target Trace ID through the query interface. The query unit searches the Clickhouse database for message packets that match the Trace ID. The transmission link information of the message is extracted from the database. The query results are displayed to the user, including the message packet and the complete link diagram.

[0076] It is understandable that the Trace ID generated by UUID ensures the uniqueness of each message in the system, which is convenient for tracking and positioning. Using Clickhouse database as the storage backend ensures the fast storage and query of a large amount of message data. Through the page query function, users can intuitively view the transmission link and message content of the message, which is convenient for the rapid location and resolution of the problem.

[0077] Optionally, in a message integration system, synchronous and asynchronous message sending are two message delivery modes, which are suitable for different application scenarios.

[0078] Optionally, the message transmission module includes an asynchronous sending unit, wherein the asynchronous sending unit is specifically used for:

[0079] Encapsulate the original data to obtain a standard message;

[0080] Based on the message middleware, standard messages are sent to consumers for parsing.

[0081] like Figure 3 As shown, Figure 3 The figure is a schematic diagram of an asynchronous message sending unit. The producer on the left can first prepare the original data, then encapsulate it into a standard message, and then send the standard message. The producer sends the standard message to the consumer for parsing through the message middleware.

[0082] After receiving the standard message sent by the producer, the consumer can parse the standard message and then present the original data.

[0083] As an example, in the embodiment of the present disclosure, the message message format sent by the message integration system can be unified into the JSON format, and the message structure is divided into two parts: a message header and a message body.

[0084] Optionally, the message transmission module includes a synchronous sending unit, wherein the synchronous sending unit is specifically used for:

[0085] Encapsulate the original data to obtain a standard message;

[0086] Send standard messages to consumers for parsing based on message middleware;

[0087] Get the response message returned by the consumer.

[0088] like Figure 4 As shown, Figure 4 The figure is a schematic diagram of a synchronous message sending unit. The producer on the left can first prepare the original data, then encapsulate it into a standard message, and then send the standard message. The producer sends the standard message to the consumer for parsing through the message middleware.

[0089] After receiving the standard message sent by the producer, the consumer can parse the standard message and then present the original data. Then the consumer can prepare a response message, encapsulate it, called a standard message, and then send the standard message. Among them, the consumer then sends the standard message to the producer for parsing through the message middleware. The producer can parse the standard message to obtain a response message and present the response data.

[0090] In the disclosed embodiment, the message integration system may expose an asynchronous message sending API for use by the integrated client, or may expose a synchronous message sending API for use by the integrated client, which is not limited here.

[0091] Optionally, the message management module further includes: a topic management unit and a consumer management unit.

[0092] The topic management unit is used to: monitor the status of each topic, and view, create, modify or delete the topic;

[0093] The consumer management unit is used to monitor the status of consumers and control the online and offline of consumers.

[0094] The consumer management unit is also used to: based on the message middleware, verify the message request header to obtain the message that meets the preset filtering conditions.

[0095] It should be noted that the message management module is an important part of the message integration system, which can monitor and manage key elements in the message integration system, such as topics and consumers. The message management module can include a topic management unit and a consumer management unit, as well as other management units, such as a permission management unit, a traffic management unit, a health check unit, and a system cluster monitoring unit, which are not limited here.

[0096] The topic management unit can monitor and manage each topic in the message integration system. For example, it can regularly query or subscribe to the status information provided by the message middleware to obtain the running status of each topic in real time, such as the number of messages, the number of consumers, etc., which are not limited here.

[0097] Alternatively, the message management module may also provide a user interface or an API interface, allowing the administrator to view information of existing topics, create new topics, modify properties of existing topics, and delete topics that are no longer needed, which is not limited here.

[0098] The consumer management unit can monitor and manage consumers in the message integration system. For example, the consumer status interface provided by the message middleware can be used to obtain the consumer's operating status in real time, such as consumption progress, consumption speed, etc., which is not limited here.

[0099] In addition, the consumer management unit can also provide a user interface or API interface, allowing administrators to force consumers to go online or offline as needed to ensure the stable operation of the system.

[0100] Optionally, the consumer management unit can also filter messages according to preset filter conditions by parsing the information in the message request header to ensure that only messages that meet the preset filter conditions are delivered to consumers, which helps to reduce unnecessary message processing and resource consumption.

[0101] Optionally, the filter condition format can conform to standard SQL syntax, which can achieve on-demand consumption and reduce the load and complexity of the system.

[0102] Optionally, the message management module may further include:

[0103] The authority management unit is used to assign authority to users and roles in the message integration system to ensure that only users with corresponding authority can perform specific operations.

[0104] The traffic management unit is used to monitor and manage the traffic in the message integration system to ensure the load balance and stable performance of the system.

[0105] The health check unit is used to regularly check the health of the message middleware and dependent services to promptly detect and handle potential problems.

[0106] The system cluster monitoring unit is used to monitor the system cluster of the message middleware, including node status, resource usage, etc., to ensure the reliability and stability of the system.

[0107] Optionally, the message management module can also implement visual management by calling the SDK provided by the message middleware. For example, a user interface can be provided to display and manage various information of the message integration system, allowing administrators to perform various management operations through the user interface, such as viewing and modifying topics, monitoring and managing consumers, etc. This visual management method helps to improve management efficiency, reduce operational difficulty, and make the management of the message integration system more intuitive and convenient.

[0108] Optionally, the message integration system further includes a message cache module, which includes: a cache unit and a message clearing unit, wherein:

[0109] The cache unit is used to: store the cached message in the Redis distributed database based on the message identifier corresponding to the cached message;

[0110] The message clearing unit is used to determine whether the cache time of the cached message is greater than the specified time, and if so, clear the cached message.

[0111] Optionally, in the message integration system, the cache unit can use the Jedis tool to cache messages in Redis and rely on Redis's cache TTL (Time To Live) mechanism to manage the expiration time of the message.

[0112] Among them, Jedis is a Java client of Redis, which provides a rich API to operate Redis. In the project, you can introduce Jedis dependencies through build tools such as Maven or Gradle. When using Jedis, you can first create a Jedis object and specify the host name, port number and password of the Redis service. Then, you can use the API provided by Jedis to perform message cache operations, such as set, get, expire, etc.

[0113] In the disclosed embodiments, the message integration system may adopt the Redis Cluster mode, which can provide an efficient and reliable way to deploy Redis clusters, and is particularly suitable for message integration systems that require high concurrency, high performance, and high availability.

[0114] Redis Cluster adopts a decentralized multi-master and multi-slave architecture. Each node (whether it is a master node or a slave node) stores data, but the data read and write operations are mainly handled by the master node, and the slave nodes are mainly used for data backup and fault recovery. Redis Cluster distributes data to multiple nodes through a sharding mechanism, so that each node only processes a part of the data, thereby improving the efficiency of data processing.

[0115] In addition, the Client SDK package is one of the core modules of this message integration system, which is responsible for providing interfaces and functions for interacting with RedisCluster. The Client SDK provides a simple and easy-to-use API interface, allowing developers to easily interact with Redis Cluster without having to deeply understand the internal mechanism of Redis Cluster.

[0116] In the embodiment of the present disclosure, the key of the message is designed as a message identifier, which is hereinafter referred to as Trace ID. Among them, Trace ID is a unique identifier used to identify a request in distributed tracing and has global uniqueness. Optionally, using a message identifier can easily track and query messages related to a specific request.

[0117] Among them, the cache unit can use the set command of Jedis to store messages in Redis, and can serialize or deserialize the messages as needed to maintain the integrity of the data during storage and reading.

[0118] The message clearing unit can use the expire command of Jedis to set the expiration time for the message. The expiration time can be configured according to actual needs, such as a few minutes, a few hours, or a few days. When the cache time of the cached message reaches the specified time, Redis will automatically delete the message to avoid memory overflow caused by too many messages.

[0119] Optionally, if you need to update the TTL of a message before it expires, you can use the expire command of Jedis to reset the expiration time. Optionally, the message integration system can expose an API for the user to call, and the API can obtain the corresponding message content based on the TraceID. In the implementation of the API, use the get command of Jedis to query the message content from Redis based on the Trace ID and return it to the user.

[0120] It should be noted that using the Jedis tool to cache messages in Redis and relying on the Redis cache TTL mechanism to manage the expiration time of messages can achieve efficient and reliable message caching, efficient message caching and querying, and avoid problems such as memory overflow.

[0121] Optionally, the message integration system further includes a message transaction module, which is used to:

[0122] Based on the producer sending a first message associated with any transaction to the consumer;

[0123] Determine a consumption result corresponding to the first message based on a response message of the consumer to the first message;

[0124] When the consumption result is a consumption failure, the producer sends the first message to the consumer again;

[0125] When the consumption result is that the consumption is successful, the sending of the first message is terminated.

[0126] The first message may be a related message associated with any transaction. It is understandable that there may be multiple transaction messages for a transaction. The first message may be any transaction message associated with any transaction, which is not limited here.

[0127] After receiving the first message, the consumer may return a response message corresponding to the first message to the producer. The consumption result may be the result of whether the first message is consumed successfully, which may include two types: successful consumption or failed consumption, which is not limited here. The consumption result may be obtained based on the response message, that is, the consumption result of the first message may be included in the response information of the first message.

[0128] If the consumption result is a consumption failure, the producer may continue to send the first message to the consumer until a response message to the first message indicates that the consumption result is a consumption success, and the producer may stop sending the first message.

[0129] It can be understood that, as a result, the message integration system can ensure strong consistency between messages and business data, and avoid a series of problems caused by inconsistent business data in distributed systems.

[0130] Optionally, the message integration system further includes a conversion module, which is used to:

[0131] Based on the message protocol and content converter, the format of the message content sent by the consumer and / or producer is converted, or the message protocol is converted.

[0132] It is understandable that as a result, producers and consumers do not need to follow consistent protocols or content formats when sending and receiving messages. This feature greatly improves the flexibility and compatibility of the system. The system's built-in message protocol and content converters can automatically convert received messages into any format and forward them based on the new format or protocol. Even if producers and consumers use different data formats or communication protocols, the system can ensure smooth message delivery. When passing messages between heterogeneous systems, there is no need to customize each system. When the system needs to be upgraded or migrated, the message format and protocol can be easily adjusted without modifying the existing producer or consumer code.

[0133] Optionally, the message integration system further includes a message routing module, and the message routing module is used to:

[0134] Based on pre-configured rules and message attribute information, the message is forwarded to the corresponding consumer.

[0135] It is understandable that users can flexibly configure message routing rules according to actual needs. These rules can be formulated based on the attribute information of the message (such as message type, priority, target consumer, etc.).

[0136] The message routing module will automatically forward messages to the corresponding consumers based on pre-configured rules and message attribute information. During this process, the system can also convert the message format as needed.

[0137] The message routing module is responsible for implementing the dynamic routing function of messages. It intelligently selects the target consumers of messages based on the rules configured by the user and the attribute information of the message. During the message forwarding process, if format conversion is required, the message routing module will call the message protocol and content converter to complete this task.

[0138] Optionally, the message integration system message middleware provides a software development kit SDK, which supports multiple development languages.

[0139] Among them, the JAVA language version of the SDK adopts the SpringBoot development framework and Maven to manage projects; the Go language version of the SDK adopts Go Module to manage projects.

[0140] In the disclosed embodiment, SDK (Software Development Kit) can support multiple programming languages ​​to meet the development requirements of different subsystems. For example, Java and Go are two supported programming languages, and SpringBoot and Go Module are used as development frameworks and dependency management tools for these two languages, respectively.

[0141] Among them, the Java SDK can provide Java developers with a set of necessary libraries and interfaces, so that they can easily interact with the message integration system.

[0142] Among them, SpringBoot is a popular development framework for Java, which has the characteristics of simple configuration, easy integration, and out-of-the-box use. It greatly simplifies the initial construction and development process of Spring applications, allowing developers to focus more on the implementation of business logic.

[0143] Maven is a dependency management tool for Java projects. It can automatically download and manage the libraries and plug-ins required for the project and handle the dependencies between them, which greatly simplifies the project building and deployment process.

[0144] In the disclosed embodiment, the Java SDK can use SpringBoot as a development framework and manage project dependencies through Maven, which allows each subsystem of the CIM to easily integrate the SDK into the project by simply adding Maven coordinates.

[0145] Among them, Go SDK provides Go developers with an interface and library collection for interacting with the message integration system. Go Module allows developers to define project dependencies and automatically download and manage these dependencies. Similar to Java SDK, Go SDK also uses Go Module to manage project dependencies. This allows developers using Go to easily integrate the SDK into their projects.

[0146] In the disclosed embodiment, the message integration system successfully meets the requirements of using multiple development languages ​​for each CIM subsystem by providing SDKs in Java and Go and supporting SpringBoot and Go Module as development frameworks and dependency management tools. This design not only improves the flexibility and scalability of the system, but also greatly simplifies the integration process of the subsystems.

[0147] The message integration system of the embodiment of the present disclosure comprehensively improves the performance and reliability of the message integration system by introducing configuration files to select message middleware, providing synchronous and asynchronous message sending modes, and link tracking based on message identifiers.

[0148] In the practical application of the embodiments of the present disclosure in relevant industries (such as the semiconductor industry), the difficulties that can be solved and the key problems that can be overcome can include at least one of the following:

[0149] 1. Rapid integration of third-party systems: The message integration system can provide standard interfaces to easily integrate and cooperate with third-party systems to jointly build a semiconductor industry ecosystem.

[0150] 2. Save system integration costs: It can support a variety of mainstream message middleware and reuse customers' existing message middleware, without the need to purchase additional message middleware and corresponding servers.

[0151] 3. Improve system integration efficiency: The message integration system can uniformly encapsulate the message middleware client and can seamlessly switch the message middleware without the need for additional development and testing costs. It can be coded in one place and run in multiple places, greatly improving the integration efficiency.

[0152] 4. Support synchronous message sending: Some business scenarios require synchronous message sending, but many message middleware do not support synchronous message sending. The message integration system is secondary expanded based on the message middleware. In addition to supporting asynchronous message sending, it also supports synchronous message sending to meet the business scenarios of synchronous message sending.

[0153] 5. Support message transactions: In the same code snippet, the message integration system can belong to the same transaction as writing to the database, ensuring that sending messages and writing to the database either all succeed or all fail, ensuring data consistency and atomicity.

[0154] 6. Support message link tracking: The message integration system supports recording the message content and message attributes of each node in the entire message link, assisting R&D personnel to quickly troubleshoot and locate problems and improve R&D efficiency.

[0155] In summary, the disclosed embodiments can realize message transmission and data and protocol conversion between various CIM systems. A unified encapsulation message middleware client API is realized to overcome the phenomenon that the communication protocols between various CIM systems are messy and difficult to integrate, and the interactive messages between systems are too numerous to track. There is no need to change the code, only to change the configuration file, to support switching between different message middleware, support message link tracking function, support synchronous and asynchronous message sending, support message transactions, support message format conversion, and support message caching.

[0156] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.

[0157] To this end, the present disclosure provides a computer-readable storage medium, on which a computer program is stored. The computer program can be loaded by a processor to execute the message integration system provided by the present disclosure.

[0158] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.

[0159] The message integration system provided by the present invention is introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A message integration system, characterized in that: include: Message management module, message tracking module, and message transmission module, wherein: The message management module is used to select the message middleware to be adopted through the configuration information in the configuration file; The message transmission module sends synchronous messages or asynchronous messages through the message middleware; The message tracking module performs message link tracking based on the message identifier carried in the message message.

2. The system according to claim 1, characterized in that The message tracking module includes: a message marking unit, a message storage unit and a query unit, wherein: The message marking unit is used to: generate a message identifier corresponding to each message, and mark the corresponding message based on the message identifier; The message storage unit is used to: store the marked message in the message tracking database; The query unit is used to display corresponding target information according to the target message identifier input by the user, and the target information includes a message packet corresponding to the target message identifier and a transmission link of the message.

3. The system according to claim 1, characterized in that The message transmission module includes an asynchronous sending unit, wherein the asynchronous sending unit is specifically used for: Encapsulate the original data to obtain a standard message; Based on the message middleware, the standard message is sent to the consumer for parsing.

4. The system according to claim 1, characterized in that The message transmission module includes a synchronous sending unit, wherein the synchronous sending unit is specifically used for: Encapsulate the original data to obtain a standard message; Sending the standard message to the consumer for parsing based on the message middleware; Get the response message returned by the consumer.

5. The system according to claim 1, characterized in that The message management module also includes: a topic management unit and a consumer management unit. The topic management unit is used to monitor the status of each topic, and view, create, modify or delete the topic; The consumer management unit is used to monitor the status of consumers and control the online and offline of consumers. The consumer management unit is also used to: based on the message middleware, verify the message request header to obtain the message that meets the preset filtering conditions.

6. The system according to claim 1, characterized in that It also includes a message cache module, which includes: a cache unit and a message clearing unit, wherein: The cache unit is used to: store the cached message in a Redis distributed database based on a message identifier corresponding to the cached message; The message clearing unit is used to determine whether the cache time of the cached message is greater than a specified time, and if it is greater than the specified time, clear the cached message.

7. The system according to claim 1, characterized in that It also includes a message transaction module, which is used to: Based on the producer sending a first message associated with any transaction to the consumer; Determining a consumption result corresponding to the first message based on a response message of the consumer to the first message; When the consumption result is a consumption failure, sending the first message to the consumer again based on the producer; When the consumption result is successful, the sending of the first message is terminated.

8. The system according to claim 1, characterized in that It also includes a conversion module, wherein the conversion module is used to: Based on the message protocol and content converter, the format of the message content sent by the consumer and / or producer is converted, or the message protocol is converted.

9. The system according to claim 1, characterized in that It also includes a message routing module, wherein the message routing module is used to: Based on pre-configured rules and attribute information of the message, the message is forwarded to the corresponding consumer.

10. The system according to claim 1, characterized in that The message middleware is provided with a software development kit SDK, which supports multiple development languages. Among them, the JAVA language version of the SDK adopts the SpringBoot development framework and Maven to manage projects; the Go language version of the SDK adopts Go Module to manage projects.