A message transmission method, device, electronic device and storage medium

By setting up message queue sharing components in software development, multiple environments share a set of message queues, solving the problems of waste of resources, high operation and maintenance complexity and cost in traditional methods, and improving the efficiency of message transmission.

CN118885315BActive Publication Date: 2024-12-24GUANGZHOU SEEWORLD TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411366726.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2024-12-24
Estimated Expiration
2044-09-29

AI Technical Summary

Technical Problem

In modern software development, traditional methods deploy separate message queue instances for each environment, resulting in waste of resources, high operation and maintenance complexity, high cost, and complex environmental isolation management.

Method used

By setting up message queue sharing components in each service project, using personal identification and enterprise attribute data to generate a shared message queue, multiple environments share a set of message queues, reducing the number of message queues and improving transmission efficiency.

Benefits of technology

Reduces waste of resources, reduces operation and maintenance complexity and cost, simplifies environmental isolation management, and improves the efficiency of message transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118885315B_ABST
    Figure CN118885315B_ABST
Patent Text Reader

Abstract

The present application provides a method, device, electronic device and storage medium for message transmission, the method comprising: by setting a message queue sharing component in a service project, in combination with a service identifier, services in different environments can be stored and transmitted in the same shared message queue. The number of message queues created is reduced, resources are saved, and transmission efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of message transmission, and in particular to a method, device, electronic device and storage medium for message transmission. Background Art

[0002] In modern software development, message queues are an important technology for achieving asynchronous communication between systems. They can decouple system components, smooth traffic peaks, and provide reliable message delivery. However, as the business of enterprises grows, the requirements of different environments such as development, testing, pre-production, and production become more and more complex, and each environment requires a complete set of message queue services. The traditional approach is to deploy a separate message queue instance for each environment, which brings the following problems:

[0003] Waste of resources: Deploying a message queue service separately for each environment means that additional computing resources, storage resources, and network resources are required. In many cases, these resources are not fully utilized, resulting in resource waste. Complex operation and maintenance: Managing multiple sets of message queue instances requires a lot of human resources. Operation and maintenance personnel need to ensure the high availability, performance optimization, and security of each instance, which increases the complexity of operation and maintenance. High cost: More servers and resources mean higher hardware and maintenance costs, especially in cloud services. Under the pay-as-you-go model, independent deployment of different environments will significantly increase costs. Environmental isolation: In order to ensure the isolation and security of each environment, traditional methods require strict access control and network isolation configuration, which increases the complexity of management. Summary of the invention

[0004] In view of this, the purpose of the present application is to provide a message transmission method, device, electronic device and storage medium to overcome the problems in the prior art.

[0005] In a first aspect, an embodiment of the present application provides a method for message transmission, the method comprising:

[0006] Performing component detection on each service project, if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project;

[0007] In response to each first operator service start operation, obtain the first operator's personal identification; perform identity authentication based on the first operator's personal identification, and when the first operator passes the identity authentication, control the message queue sharing component to start multiple selected services in the service project; wherein the first operator is a staff member of the target enterprise and is located in a different working environment;

[0008] Acquire personal attribute data of the first operator, and determine the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; acquire enterprise attribute data of the target enterprise where the first operator is located, and generate a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise;

[0009] Calculating the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; comparing the candidate semantic similarity with a preset similarity threshold, and determining a target semantic similarity from the candidate semantic similarities; using the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator;

[0010] Generate a common message queue, control the message queue sharing component to respond to a message sending operation, and store the selected message generated during the execution of the selected service together with the service identifier corresponding to the selected service into the common message queue;

[0011] The message queue sharing component is controlled to respond to the message receiving operation, and according to the use service identifier, the target message corresponding to the target service is determined from the common message queue, so that the target service receives and consumes the corresponding target message.

[0012] In some technical solutions of the present application, the above method further includes:

[0013] Perform component detection on each service project, and if the service project contains other shared components except the message queue shared component, determine the first migration difficulty between the other shared components and the message queue shared component by comparing the other shared components with the message queue shared component;

[0014] Determine the second migration difficulty of the other shared components and the message queue shared components by analyzing the other shared components and the message queue shared components in other dimensions; the other dimensions include dimensions other than the similarity between the other shared components and the message queue shared components;

[0015] Determine a candidate shared component from the other shared components according to the first migration difficulty and the second migration difficulty; and obtain a backup shared component by copying the candidate shared component;

[0016] The message queue sharing component is obtained by modifying the backup sharing component.

[0017] In some technical solutions of the present application, the personal identification of the first operator is obtained by:

[0018] Obtaining an employee code of the first operator; the employee code is a plurality of types of characters arranged in sequence;

[0019] Splitting the employee code to obtain a sequence code and a character code; wherein the character code includes sub-codes of each character type;

[0020] The sequence code is encrypted in a first encryption mode to obtain an encrypted first sub-identifier; the sub-codes of each character type are encrypted in a second encryption mode to obtain an encrypted second sub-identifier;

[0021] The first sub-identity and the second sub-identity are fused and encrypted to obtain the fused and encrypted personal identification of the first operator.

[0022] In some technical solutions of the present application, the above method authenticates the personal identification of the first operator in the following manner:

[0023] Splitting and decrypting the personal identification of the first operator to obtain a split and decrypted first sub-identity and a second sub-identity;

[0024] Decrypting the first sub-identifier using a first decryption method to obtain a decrypted sequence code; decrypting the second sub-identifier using a second decryption method to obtain a decrypted sub-code of each character type;

[0025] Restore the employee code of the first operator according to the correspondence between the subcodes of each character type and the sequence code;

[0026] If the employee code of the first operator is the same as the preset employee code, the identity authentication of the first operator is passed.

[0027] In some technical solutions of the present application, the above method determines the personnel attribute corresponding to the first operator by the following method, including:

[0028] Recording the work process of the first operator within a preset time period to obtain historical operation data of the first operator; analyzing the current work progress and position of the first operator to obtain current work data of the first operator; using the historical operation data and the current work data as personal attribute data of the first operator;

[0029] Use different prediction models to predict the historical operation data and the current work data respectively, to obtain a first sub-attribute and a second sub-attribute of the first operator; wherein the first sub-attribute is predicted based on the historical operation data, and the second sub-attribute is predicted based on the current work data;

[0030] According to the actual working situation of the first operator, matching corresponding weights to the first sub-attribute and the second sub-attribute;

[0031] The personnel attribute of the first operator is calculated according to the first sub-attribute, the second sub-attribute and the corresponding weight.

[0032] In some technical solutions of the present application, the above-mentioned service identifier includes a type identifier; the shared message queue includes a message subqueue;

[0033] The generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service in the common message queue, comprises:

[0034] Generate a common message queue, and store the candidate message generated during the execution of the candidate service together with the service identifier corresponding to the candidate service in the common message queue;

[0035] By analyzing the type identifiers of the selected services, the number of types of the type identifiers is determined, and a corresponding number of message sub-queues are generated in the common message queue;

[0036] According to the type identifier of the to-be-selected service, the to-be-selected messages generated by the to-be-selected service with the same type identifier are stored in the same message subqueue.

[0037] In some technical solutions of the present application, the above-mentioned use service identification also includes an environmental identification;

[0038] The controlling the message queue sharing component to respond to the message receiving operation and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message, including:

[0039] By comparing the type identifier of the target service with the type identifiers of the selected messages in each of the message subqueues in the common message queue, a target message queue of the target service is determined from the plurality of message subqueues;

[0040] By comparing the environment identifier of the target service with the environment identifiers of each of the candidate messages in the target message queue, the target message of the target service is determined from the target message queue.

[0041] In a second aspect, an embodiment of the present application provides a message transmission device, the device comprising:

[0042] A detection module, used for performing component detection on each service project, and if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project;

[0043] a response module, configured to obtain a personal identification of each first operator in response to a service start-up operation of each first operator; perform identity authentication based on the personal identification of the first operator, and when the first operator passes the identity authentication, control the message queue sharing component to start a plurality of selected services in the service project; wherein the first operator is a staff member of a target enterprise and is located in a different working environment;

[0044] a determination module, configured to obtain personal attribute data of the first operator, determine the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; obtain the enterprise attribute data of the target enterprise where the first operator is located, and generate a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise;

[0045] A calculation module, used to calculate the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; and compare the candidate semantic similarity with a preset similarity threshold, and determine a target semantic similarity from the candidate semantic similarities; and use the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator;

[0046] A generating module, used for generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service into the common message queue;

[0047] The control module is used to control the message queue sharing component to respond to the message receiving operation, and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message.

[0048] The technical solution provided by the embodiments of the present application may have the following beneficial effects:

[0049] The method of the present application includes performing component detection on each service project, and if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project; in response to each first operator service startup operation, obtaining the personal identification of the first operator; performing identity authentication based on the personal identification of the first operator, and when the first operator passes the identity authentication, controlling the message queue sharing component to start multiple selected services in the service project; wherein the first operator is a staff member of the target enterprise and is located in a different working environment; obtaining the personal attribute data of the first operator, and determining the personnel attributes corresponding to the personal attribute data of the first operator based on the personal attribute data of the first operator; obtaining the enterprise attribute data of the target enterprise where the first operator is located, and determining the personnel attributes corresponding to the personal attribute data of the first operator based on the enterprise attributes of the target enterprise The method comprises the following steps: analyzing the property data to generate a candidate service identifier of the target enterprise; calculating the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; comparing the candidate semantic similarity with a preset similarity threshold, and determining a target semantic similarity from the candidate semantic similarities; using the target service identifier corresponding to the target semantic similarity as the usage service identifier of the candidate service started by the first operator; generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the candidate message generated during the execution of the candidate service together with the usage service identifier corresponding to the candidate service in the common message queue; controlling the message queue sharing component to respond to a message receiving operation, and determining the target message corresponding to the target service from the common message queue according to the usage service identifier, so that the target service receives and consumes the corresponding target message.

[0050] The embodiment of the present application reduces the number of message queues to be created, saves resources, and improves transmission efficiency by adopting a shared message queue approach.

[0051] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0053] Figure 1 A schematic diagram showing a flow chart of a message transmission method provided in an embodiment of the present application;

[0054] Figure 2 A schematic diagram of a message queue provided in an embodiment of the present application is shown;

[0055] Figure 3 A schematic diagram of a message transmission device provided in an embodiment of the present application is shown;

[0056] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0057] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of order, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart under the guidance of the content of the present application, or remove one or more operations from the flowchart.

[0058] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0059] It should be noted that the term "comprising" will be used in the embodiments of the present application to indicate the existence of the features declared thereafter, but does not exclude the addition of other features.

[0060] In modern software development, message queues are an important technology for achieving asynchronous communication between systems. They can decouple system components, smooth traffic peaks, and provide reliable message delivery. However, as the business of enterprises grows, the requirements of different environments such as development, testing, pre-production, and production become more and more complex, and each environment requires a complete set of message queue services. The traditional approach is to deploy a separate message queue instance for each environment, which brings the following problems:

[0061] Waste of resources: Deploying a message queue service separately for each environment means that additional computing resources, storage resources, and network resources are required. In many cases, these resources are not fully utilized, resulting in resource waste. Complex operation and maintenance: Managing multiple sets of message queue instances requires a lot of human resources. Operation and maintenance personnel need to ensure the high availability, performance optimization, and security of each instance, which increases the complexity of operation and maintenance. High cost: More servers and resources mean higher hardware and maintenance costs, especially in cloud services. Under the pay-as-you-go model, independent deployment of different environments will significantly increase costs. Environmental isolation: In order to ensure the isolation and security of each environment, traditional methods require strict access control and network isolation configuration, which increases the complexity of management.

[0062] Based on this, the embodiments of the present application provide a method, device, electronic device and storage medium for message transmission, which achieves the goal of multiple environments sharing a set of message queues by setting identifiers, which is described below through embodiments.

[0063] Figure 1 A schematic flow chart of a message transmission method provided in an embodiment of the present application is shown, wherein the method includes steps S101-S106; specifically:

[0064] S101, performing component detection on each service project, and if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project;

[0065] S102, in response to each first operator service start operation, obtaining the first operator's personal identification; performing identity authentication based on the first operator's personal identification, and when the first operator passes the identity authentication, controlling the message queue sharing component to start multiple selected services in the service project; wherein the first operator is a staff member of the target enterprise and is located in a different working environment;

[0066] S103, obtaining personal attribute data of the first operator, and determining the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; obtaining enterprise attribute data of the target enterprise where the first operator is located, and generating a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise;

[0067] S104, calculating the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; and comparing the candidate semantic similarity with a preset similarity threshold, and determining a target semantic similarity from the candidate semantic similarities; and using the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator;

[0068] S105, generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the candidate message generated during the execution of the candidate service together with the use service identifier corresponding to the candidate service into the common message queue;

[0069] S106: Control the message queue sharing component to respond to the message receiving operation, and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message.

[0070] Some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.

[0071] The embodiment of the present application provides a method for message transmission, and the premise for its implementation is that each service project must include a message queue sharing component. The message queue sharing component includes a producer proxy component, a consumer proxy component, and a configuration management component. The method for message transmission in the embodiment of the present application is implemented by the coordinated use of the producer proxy component, the consumer proxy component, and the configuration management component. The message here mainly includes a message body and a message header. The message queue sharing component in the embodiment of the present application is mainly a processing process for the service header: the configuration management component generates a service identifier, the producer proxy component stores the service identifier in the message body, and the consumer proxy component parses the service identifier in the message body.

[0072] Before message transmission, the embodiment of the present application needs to perform component detection on each service project, where the service project is to perform message transmission. By performing component detection on the service project, a detection result is obtained. The detection result here includes two situations: the service project contains a message queue sharing component and the service project does not contain a message queue sharing component. For the situation where the service project already contains a message queue sharing component, subsequent processing operations can be performed on the service project. For the situation where the service project does not contain a message queue sharing component, it is necessary to first configure the message queue sharing component in the service project.

[0073] When configuring a message queue shared component in a service project, in order to improve configuration efficiency, the embodiment of the present application first considers whether the service project contains other shared components that can be migrated or modified into a message queue shared component. If there are other shared components that are relatively easy to modify into a message queue shared component, the message queue shared component is obtained by migrating and modifying the other shared components. When there are no other shared components that can be migrated or modified into a message queue shared component in the service project, the message queue shared component is configured from scratch for the service project.

[0074] When determining other shared components, the embodiments of the present application mainly consider the migration difficulty under different dimensions, specifically including the first migration difficulty and the second migration difficulty. Among them, the first migration difficulty is obtained by calculating the similarity between other shared components and the message queue shared component; the second migration difficulty is obtained by dimensions other than similarity. Other dimensions here include factors such as migration time, material consumption, and manpower. The comprehensive migration difficulty is obtained by adding the first migration difficulty and the second difficulty. Then, based on the comprehensive migration difficulty, select the candidate shared components whose comprehensive migration difficulty is less than the preset difficulty threshold from other shared components. If there are multiple candidate shared components, the candidate shared component with the lowest comprehensive migration difficulty can be selected. In order to ensure the original function of the candidate shared component, the embodiment of the present application obtains a backup shared component by copying the candidate shared component. The message queue shared component is obtained by modifying the backup shared component.

[0075] After configuring the message queue sharing component for each service project, the first operator can perform the service startup operation. In order to ensure the security of data transmission and avoid accidental touch operations by other operators. In the embodiment of the present application, after the first operator performs the service startup operation, it is necessary to authenticate the first operator. After the first operator passes the identity authentication, the message queue sharing component is controlled to start multiple selected services in the service project.

[0076] When authenticating the first operator, the embodiment of the present application is mainly based on the personal identification of the first operator. In actual enterprises, the personal identification of employees is generally represented by employee codes. Employee codes generally contain multiple types of characters, which are then arranged in a certain order. For example, character types include uppercase letters, lowercase letters, and numbers. Specifically, Zhang San’s employee code is M3No01 (level 3 manager numbered 01), etc. After obtaining the employee code of the first operator, in order to ensure data security, the embodiment of the present application adopts a method of encrypting the employee code to obtain the personal identification.

[0077] When encrypting the employee code, the embodiment of the present application divides the employee code into two parts: sequential code and character code. The sequential code is used to record the order of arrangement of each character, and the character code is used to record the specific character content. The sequential code is encrypted in a first encryption method to obtain the encrypted first sub-identifier; the sub-code of each character type is encrypted in a second encryption method to obtain the encrypted second sub-identifier; the first sub-identifier and the second sub-identifier are fused and encrypted to obtain the personal identification of the first operator after fusion encryption. For Zhang San, the employee code is M3No01, and the sequential code is obtained by calculating the hash value of M, 3, No, 01, and the character code is obtained by converting M, 3, No, 01 into other characters through a preset mapping relationship. The personal identification is obtained by arranging the sequential code and the character code in a certain order.

[0078] On the contrary, the process of identity authentication for the first operator is to split and decrypt the personal identification of the first operator to obtain the first sub-identification and the second sub-identification after splitting and decryption; decrypt the first sub-identification using the first decryption method to obtain the decrypted sequential code; decrypt the second sub-identification using the second decryption method to obtain the decrypted sub-codes of each character type; restore the employee code of the first operator according to the correspondence between the sub-codes of each character type and the sequential code; if the employee code of the first operator is the same as the preset employee code, the identity authentication of the first operator is passed. The specific process corresponds to the above encryption process and will not be repeated here.

[0079] When the first operator passes the identity authentication, the first operator starts each selected service. In the actual development process, due to the differences in the division of labor or personal capabilities of the enterprise, different R&D personnel have different environmental requirements for the services they are in during the R&D process. For example, for backend personnel, the service may exist in the development environment, and for front-end personnel, the service may exist in the test environment. In order to distinguish services in different environments, the embodiment of the present application uses (uses) service identifiers for distinction.

[0080] After the first operator starts the service, the selected service executes the work. In the actual working environment, the first operator may be a front-end operator or a back-end operator, that is, when starting the service, the selected services started include services in different environments. For example, when the first operator is a front-end operator, the service started by the front-end operator is a service in the test environment. When the first operator is a back-end operator, the service started by the back-end operator is a service in the development environment. In the actual working process, there may be services in other environments, which are not listed here.

[0081] In order to enable services in different environments to transmit messages through the same message queue, considering the relevance between personnel and services, the embodiment of the present application obtains the personal attribute data of the first operator when the first operator performs a service startup operation. Then, the service identifier of the selected service is predicted based on the personal attribute data of the first operator to obtain the service identifier of the selected service.

[0082] Specifically, by inputting the personal attribute data of the first operator into a preset target prediction model, the personnel attributes of the first operator output by the target prediction model are obtained, and then based on the personnel attributes of the first operator, the service usage identifier of the selected service operated by the first operator is inferred. The personnel attributes here include testers, developers, etc. In other words, the embodiment of the present application infers the personal attributes of the operator by analyzing the personal attribute data of the first operator, and then determines the purpose of the operator operating the selected service (i.e., determining the service identifier of the selected service from the identifier to be selected). For example, by predicting the personnel attribute data of the first operator, it is obtained that the personnel attribute of the first operator is a tester. Then the test identifier is selected from the identifiers to be selected as the service usage identifier of the selected service.

[0083] In the embodiment of the present application, the personal attribute data of the first operator includes historical operation data and current work data. Specifically, the historical operation data is what operations the first operator performed in a certain period of time in history, and what services these operations are specifically applied to. The current work data here includes the position and work process data of the first operator, etc. After obtaining the historical operation data and current work data of the first operator, they are input into the above-mentioned target prediction model. The target prediction model includes a first prediction model, a second prediction model and a calibration model. The historical operation data is input into the first prediction model and the current work data is input into the second prediction model respectively, and the first sub-attribute of the first operator output by the first prediction model and the second sub-attribute of the first operator output by the second prediction model are obtained. In other words, the embodiment of the present application predicts a prediction result according to different data respectively, and then uses the two to calibrate each other in order to ensure the accuracy of the data. The result after the calibration of the first sub-attribute and the second sub-attribute is used as the personnel attribute of the first operator. In the specific prediction process, the first prediction model predicts based on the dimension of historical operation, and obtains the first sub-attribute corresponding to the current one by inferring the historical operation habits of the first operator. The second prediction model is based on the position of the first operator and the dimension of the work progress, considering the operation that the first operator should perform in the current situation, and then obtaining the second sub-attribute of the first operator. The embodiment of the present application only predicts in one way that there may be errors, so the embodiment of the present application adopts two prediction methods. Of course, in order to further ensure the accuracy of the data, after the personnel attribute of the first operator is predicted, it can also be displayed to the first operator, and after the first operator performs a confirmation operation, the use service identifier of the selected service is determined.

[0084] For example, employee Zhang San is a developer and has been in the development position for some time. Due to the differences in personnel in various positions, developers are waiting for testers to test after completing development. In order to ensure the delivery deadline, Zhang San is temporarily seconded to the testing position to assist in testing. At this time, if we only analyze Zhang San’s historical operation data, we will get that Zhang San’s first sub-attribute should be a developer. However, Zhang San is currently in a temporarily seconded testing position. At this time, we need to predict Zhang San’s current work data and get Zhang San’s second sub-attribute as a test attribute.

[0085] The calibration model obtains the personnel attribute of the first operator by calibrating and integrating the first sub-attribute and the second sub-attribute. The specific calibration process of the calibration model can be considered as the process of weighting the first sub-attribute and the second sub-attribute. By assigning different weights to the first sub-attribute and the second sub-attribute, the attribute with a larger weight is output as the personnel attribute of the first operator.

[0086] The weight here is determined according to the working environment of the first operator (which can be the company where he / she works). Specifically, the work saturation of each position is determined by analyzing the historical delivery projects of the working environment. Based on the work saturation of each position, the probability of each position being seconded is determined. The weight of the first operator is determined by the probability of being seconded here. For example, by recording the delivery personnel of each environment in the historical delivery project, and then comparing the position of each delivery personnel at the time of delivery with the initial position of each delivery personnel, the probability of being seconded is determined. When the probability of the first operator being seconded is high, the weight of the first sub-attribute is low. When the probability of the first operator being seconded is low, the weight of the first sub-attribute is high. The personnel attribute of the first operator is obtained by calculating the weights corresponding to the first sub-attribute and the second sub-attribute.

[0087] Before predicting the usage service identifier of the service to be selected, the embodiment of the present application needs to determine the service identifier to be selected. The service identifier to be selected here is obtained by analyzing the enterprise attribute data of the target enterprise. The enterprise attribute data here includes data such as business scope and product information. By analyzing the enterprise attribute data, the environment and service types included in the target enterprise are determined, and then the service identifier to be selected is generated. After obtaining the service identifier to be selected, the semantic similarity to be selected is calculated by calculating the personnel attributes of the first operator and each of the service identifiers to be selected; and comparing the semantic similarity to be selected with a preset similarity threshold, and determining the target semantic similarity from the semantic similarity to be selected; and using the target service identifier corresponding to the target semantic similarity as the usage service identifier of the service to be selected initiated by the first operator.

[0088] The service identifier used here includes the environment identifier. After obtaining the service identifiers of all the candidate services, a common message queue can be generated. After the second operator (the second operator here only refers to the person who performs the message sending operation, and can be the same person as the first operator or a different person) performs the message sending operation, the candidate messages generated by the candidate services in different environments during the execution process are stored in this common message queue. The message queue (Message Queue, MQ for short) here refers to a container for storing messages, which is essentially a queue for storing data. Services are capable of generating messages, and different services receive different messages for consumption. In other words, services transmit messages to each other through messages.

[0089] Further, the service identifier used here also includes a type identifier, in order to improve the efficiency of message transmission. When generating a common message queue, multiple message subqueues are also generated in the common message queue. According to the type identifier of the selected service, the selected messages generated by the selected service with the same type identifier are stored in the same message subqueue. For example, the number of type identifiers corresponding to ten selected services is five (A, B, C, D, E), of which two (A, B) are order types (including orders in different environments: A is in the first environment, B is in the second environment), and three are refund types (including refunds in different environments: C is in the third environment, D is in the first environment, and E is in the second environment). At this time, the number of common message queues generated is one, and the number of message subqueues included in the common message queue is two (for example, the generated message subqueues are L1 and L2). When storing messages, the common message queue is distinguished according to the type identifier. That is, the selected messages with the same type identifier are stored in the same message subqueue. Specifically, the selected messages corresponding to A and B are stored in L1, and the selected messages corresponding to C, D and E are stored in L2. In the prior art, for ten services to be selected, ten message queues need to be created, while in the embodiment of the present application, only one message queue needs to be created to complete message transmission, thereby reducing the number of message queues to be created.

[0090] After the storage of the selected messages is completed, there will be different services for receiving messages in actual work. At this time, the third operator (the third operator here only means the person who performs the message receiving operation, and it can be the same person as the first operator or the second operator, or it can be a different person) will perform the message receiving operation. In the embodiment of the present application, the service on which the third operator performs the message receiving operation is called the target service, and the message that the target service needs to receive is called the target message. The service identifier used in the embodiment of the present application includes an environment identifier (which can be a string when it is specifically implemented), so the target service can receive all messages in the same environment with it. In other words, messages in the same environment as the target service are called target messages. When receiving specifically, the environment identifier of the target service is compared with the environment identifier contained in each selected message in the shared message queue, and the message with the same service identifier as the target service is the target message. The target service will receive all target messages for consumption and complete the message delivery.

[0091] The service identifier includes the environment identifier. When the target service receives a message, it receives all messages in the same environment as the target service. In actual work, there are still different types of messages in the same environment. For example, order type, refund type, etc. In other words, when the target service receives the target message, if it only distinguishes the environment, the target service will receive multiple types of target messages, and some of these target messages may not be required by the target service. For example, if the target service is an order service, the target messages it receives may include not only order messages, but also refund messages, etc.

[0092] Furthermore, in order to make the target message more targeted, when receiving the message, it is necessary to compare the type identifier of each message subqueue with the type identifier of the target service, and use the message subqueue with the same type identifier as the target service as the target message queue of the target service. The target message queue also includes messages to be selected under different environments. At this time, the target service and each of the selected messages in the target message queue also include an environment identifier. The environment identifier in the target service is then compared with the environment identifiers of these selected messages, and the selected messages with the same environment identifier as the target service are used as the target messages of the target service. After determining the target message, the target service receives these target messages for consumption.

[0093] In order to ensure the security of data, the service identifier used in the embodiment of the present application also includes a key identifier. After the target service receives the selected message (primary message) of the same type and in the same environment as the target service from the corresponding target message queue, the embodiment of the present application uses the key identifier again to filter these preliminary messages. The filtering process here is to compare the secret key identifier of the target service with the secret key identifier of these preliminary messages. If the secret key identifier of the target service corresponds to the secret key identifier of the preliminary message, the preliminary message is used as the target message of the target service. If the secret key identifier of the target service does not have a corresponding relationship with the secret key identifier of the preliminary message, the preliminary message is not used as the target message of the target service. In other words, the embodiment of the present application not only screens out the preliminary messages of the same type and in the same environment as the target service, but also can further screen the preliminary messages. The preliminary messages are screened by whether the secret key can be decrypted. When the target service obtains a message that it can decrypt, it indicates that the target service can consume and use the message.

[0094] Furthermore, although through the above-mentioned multiple screening processes, there may still be multiple target messages here (the number of target messages is referred to as the first number). For this situation, in order to improve the message processing efficiency, the embodiment of the present application considers the processing capacity of the target service. If the processing capacity of the target service is strong (various resources meet the parallel processing of the second number of messages, and the first number is less than or equal to the second number), the target service can directly receive all the target messages at the same time. After receiving all the target messages, they are processed in parallel. If the first number is greater than the second number, that is, when the target service cannot process so many target messages at the same time, it is necessary to set the priority of the target message. Process them in order of priority.

[0095] When setting the priority, the present application is determined according to the encryption level of each primary message key identifier. In the embodiment of the present application, there is a corresponding relationship between the key identifier of the target service and the key identifier of the primary message. The comparison relationship here is that the key identifier of the target service can decrypt the key identifier of the primary message. When the key identifier of the primary message is generated, different encryption levels are set according to the needs of the actual business. Specifically, it can include one layer of encryption, two layers of encryption, etc., and the corresponding encryption level is higher in turn. The number of encryption layers here can be the number of specific encryption methods used, for example, one layer of encryption is encrypted using one encryption method, and two layers of encryption is encrypted using two encryption methods. The more encryption methods used, the higher the corresponding encryption level. The higher the encryption level, the higher the priority of the primary message key identifier. The target service will give priority to processing when receiving the primary message.

[0096] The message transmission method in the embodiment of the present application can be implemented according to Figure 2 Proceed as shown:

[0097] The message transmission system here includes four parts: message queue producer agent (hereinafter referred to as producer agent), message queue consumer agent (hereinafter referred to as consumer agent), configuration management module, and configuration file.

[0098] The configuration profile represents the configuration file of this project, including the configuration file placed directly inside the project and the configuration file read through the distributed configuration center. In the configuration file, the environment identifier is specified through a key-value pair such as "env:profile_a" to distinguish multiple different environments, where "env" represents the configuration item and "profile_a" represents the value of the configuration item, such as the environment identifier. The queue name in the configuration file can be specified either through the configuration file or in the code. The queue name is mainly used to show the changes made to the original message by the message queue sharing component during the message sending process.

[0099] The configuration management module is used to read the environment identifier in the configuration file and maintain it inside the component.

[0100] The producer agent is used to register the producer of the message queue and is responsible for sending messages to the message queue. After receiving a request to send a message, the message queue producer agent will add an environment identifier to the message header of the original message and deliver the message to the target queue in the message queue. The composition rule of the target queue name is {original queue name}_{environment identifier}, where "{original queue name}" can be specified through a configuration file or in the code; "_{environment identifier}" is appended by the producer agent and comes from the configuration file read by the configuration management module.

[0101] The consumer agent is used to register consumers of the message queue, bind the monitoring relationship of the queue, and is responsible for processing the messages of the monitoring queue. The consumer identifier is an important element in the message queue architecture, which is used as the basis for the message queue to push messages. For example, some types of messages require that all consumers with the same consumer identifier need to receive messages, while other types of messages require that consumers with the same consumer identifier have and only one consumer can receive messages. In the process of registering consumers in the embodiment of the present application, the final complete consumer identifier is composed of {original consumer identifier}_{environment identifier}, where "{original consumer identifier}" is the consumer identifier specified in the configuration file or code, and "_{environment identifier}" is appended by the consumer agent and comes from the configuration file read by the configuration management module. The binding relationship between consumers and queues is generally specified in the code or configuration file. In the embodiment of the present application, when the consumer and the queue establish a binding relationship, "_{environment identifier}" will be appended after the original queue name to correspond to the queue name when the producer pushes the message.

[0102] Figure 3 A schematic diagram of the structure of a message transmission device provided in an embodiment of the present application is shown, and the device includes:

[0103] A detection module, used for performing component detection on each service project, and if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project;

[0104] a response module, configured to obtain a personal identification of each first operator in response to a service start-up operation of each first operator; perform identity authentication based on the personal identification of the first operator, and when the first operator passes the identity authentication, control the message queue sharing component to start a plurality of selected services in the service project; wherein the first operator is a staff member of a target enterprise and is located in a different working environment;

[0105] a determination module, configured to obtain personal attribute data of the first operator, determine the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; obtain the enterprise attribute data of the target enterprise where the first operator is located, and generate a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise;

[0106] A calculation module, used to calculate the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; and compare the candidate semantic similarity with a preset similarity threshold, and determine a target semantic similarity from the candidate semantic similarities; and use the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator;

[0107] A generating module, used for generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service into the common message queue;

[0108] The control module is used to control the message queue sharing component to respond to the message receiving operation, and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message.

[0109] The device is also used to: perform component detection on each service project, and if the service project contains other shared components except the message queue shared component, determine the first migration difficulty between the other shared components and the message queue shared component by comparing the other shared components with the message queue shared component;

[0110] Determine the second migration difficulty of the other shared components and the message queue shared components by analyzing the other shared components and the message queue shared components in other dimensions; the other dimensions include dimensions other than the similarity between the other shared components and the message queue shared components;

[0111] Determine a candidate shared component from the other shared components according to the first migration difficulty and the second migration difficulty; and obtain a backup shared component by copying the candidate shared component;

[0112] The message queue sharing component is obtained by modifying the backup sharing component.

[0113] The personal identification of the first operator is obtained by:

[0114] Obtaining an employee code of the first operator; the employee code is a plurality of types of characters arranged in sequence;

[0115] Splitting the employee code to obtain a sequence code and a character code; wherein the character code includes sub-codes of each character type;

[0116] The sequence code is encrypted in a first encryption mode to obtain an encrypted first sub-identifier; the sub-codes of each character type are encrypted in a second encryption mode to obtain an encrypted second sub-identifier;

[0117] The first sub-identity and the second sub-identity are fused and encrypted to obtain the fused and encrypted personal identification of the first operator.

[0118] The personal identification of the first operator is authenticated by:

[0119] Splitting and decrypting the personal identification of the first operator to obtain a split and decrypted first sub-identity and a second sub-identity;

[0120] Decrypting the first sub-identifier using a first decryption method to obtain a decrypted sequence code; decrypting the second sub-identifier using a second decryption method to obtain a decrypted sub-code of each character type;

[0121] Restore the employee code of the first operator according to the correspondence between the subcodes of each character type and the sequence code;

[0122] If the employee code of the first operator is the same as the preset employee code, the identity authentication of the first operator is passed.

[0123] The personnel attribute corresponding to the first operator is determined by the following method, including:

[0124] Recording the work process of the first operator within a preset time period to obtain historical operation data of the first operator; analyzing the current work progress and position of the first operator to obtain current work data of the first operator; using the historical operation data and the current work data as personal attribute data of the first operator;

[0125] Use different prediction models to predict the historical operation data and the current work data respectively, to obtain a first sub-attribute and a second sub-attribute of the first operator; wherein the first sub-attribute is predicted based on the historical operation data, and the second sub-attribute is predicted based on the current work data;

[0126] According to the actual working situation of the first operator, matching corresponding weights to the first sub-attribute and the second sub-attribute;

[0127] The personnel attribute of the first operator is calculated according to the first sub-attribute, the second sub-attribute and the corresponding weight.

[0128] The service usage identifier includes a type identifier; the shared message queue includes a message subqueue;

[0129] The generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service in the common message queue, comprises:

[0130] Generate a common message queue, and store the candidate message generated during the execution of the candidate service together with the service identifier corresponding to the candidate service in the common message queue;

[0131] By analyzing the type identifiers of the selected services, the number of types of the type identifiers is determined, and a corresponding number of message sub-queues are generated in the common message queue;

[0132] According to the type identifier of the to-be-selected service, the to-be-selected messages generated by the to-be-selected service with the same type identifier are stored in the same message subqueue.

[0133] The usage service identification also includes an environment identification;

[0134] The controlling the message queue sharing component to respond to the message receiving operation and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message, including:

[0135] By comparing the type identifier of the target service with the type identifiers of the selected messages in each of the message subqueues in the common message queue, a target message queue of the target service is determined from the plurality of message subqueues;

[0136] By comparing the environment identifier of the target service with the environment identifiers of each of the candidate messages in the target message queue, the target message of the target service is determined from the target message queue.

[0137] like Figure 4 As shown, an embodiment of the present application provides an electronic device for executing the message transmission method in the present application, the device includes a memory, a processor, a bus, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the message transmission method when executing the computer program.

[0138] Specifically, the above-mentioned memory and processor may be general-purpose memory and processor, which are not specifically limited here. When the processor runs the computer program stored in the memory, the above-mentioned message transmission method can be executed.

[0139] Corresponding to the message transmission method in the present application, an embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned message transmission method are executed.

[0140] Specifically, the storage medium can be a general storage medium, such as a mobile disk, a hard disk, etc. When the computer program on the storage medium is executed, the above-mentioned message transmission method can be executed.

[0141] In the embodiments provided in the present application, it should be understood that the disclosed systems and methods can be implemented in other ways. The system embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of systems or units, which can be electrical, mechanical or other forms.

[0142] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, and may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0143] In addition, each functional unit in the embodiments provided in the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0144] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.

[0145] It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. In addition, the terms "first", "second", "third", etc. are only used to distinguish the description and are not to be understood as indicating or implying relative importance.

[0146] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application. They should all be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims

1. A message transmission method, characterized in that: The method comprises: Performing component detection on each service project, if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project; In response to each first operator service start operation, obtain the first operator's personal identification; perform identity authentication based on the first operator's personal identification, and when the first operator passes the identity authentication, control the message queue sharing component to start multiple selected services in the service project; wherein the first operator is a staff member of the target enterprise and is located in a different working environment; Acquire personal attribute data of the first operator, and determine the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; acquire enterprise attribute data of the target enterprise where the first operator is located, and generate a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise; Calculating the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; comparing the candidate semantic similarity with a preset similarity threshold, and determining a target semantic similarity from the candidate semantic similarities; using the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator; Generate a common message queue, control the message queue sharing component to respond to a message sending operation, and store the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service into the common message queue; Controlling the message queue sharing component to respond to a message receiving operation, and determining a target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message; The method further comprises: Perform component detection on each service project, and if the service project contains other shared components except the message queue shared component, determine the first migration difficulty between the other shared components and the message queue shared component by comparing the other shared components with the message queue shared component; Determine the second migration difficulty of the other shared components and the message queue shared components by analyzing the other shared components and the message queue shared components in other dimensions; the other dimensions include dimensions other than the similarity between the other shared components and the message queue shared components; Determine a candidate shared component from the other shared components according to the first migration difficulty and the second migration difficulty; and obtain a backup shared component by copying the candidate shared component; The message queue sharing component is obtained by modifying the backup sharing component; The service usage identifier includes a type identifier; the shared message queue includes a message subqueue; The generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service in the common message queue, comprises: Generate a common message queue, and store the candidate message generated during the execution of the candidate service together with the service identifier corresponding to the candidate service in the common message queue; By analyzing the type identifiers of the selected services, the number of types of the type identifiers is determined, and a corresponding number of message sub-queues are generated in the common message queue; According to the type identifier of the to-be-selected service, the to-be-selected messages generated by the to-be-selected service with the same type identifier are stored in the same message subqueue.

2. The method according to claim 1, characterized in that: The method obtains the personal identification of the first operator by: Obtaining an employee code of the first operator; the employee code is a plurality of types of characters arranged in sequence; Splitting the employee code to obtain a sequence code and a character code; wherein the character code includes sub-codes of each character type; The sequence code is encrypted in a first encryption mode to obtain an encrypted first sub-identifier; the sub-codes of each character type are encrypted in a second encryption mode to obtain an encrypted second sub-identifier; The first sub-identity and the second sub-identity are fused and encrypted to obtain the fused and encrypted personal identification of the first operator.

3. The method according to claim 1, characterized in that The method authenticates the personal identification of the first operator in the following manner: Splitting and decrypting the personal identification of the first operator to obtain a split and decrypted first sub-identity and a second sub-identity; Decrypting the first sub-identifier using a first decryption method to obtain a decrypted sequence code; Decrypting the second sub-identifier using a second decryption method to obtain decrypted sub-codes of each character type; Restore the employee code of the first operator according to the correspondence between the subcodes of each character type and the sequence code; If the employee code of the first operator is the same as the preset employee code, the identity authentication of the first operator is passed.

4. The method according to claim 1, characterized in that: The method determines the personnel attribute corresponding to the first operator by the following method, including: Recording the work process of the first operator within a preset time period to obtain historical operation data of the first operator; analyzing the current work progress and position of the first operator to obtain current work data of the first operator; using the historical operation data and the current work data as personal attribute data of the first operator; Use different prediction models to predict the historical operation data and the current work data respectively, to obtain a first sub-attribute and a second sub-attribute of the first operator; wherein the first sub-attribute is predicted based on the historical operation data, and the second sub-attribute is predicted based on the current work data; According to the actual working situation of the first operator, matching corresponding weights to the first sub-attribute and the second sub-attribute; The personnel attribute of the first operator is calculated according to the first sub-attribute, the second sub-attribute and the corresponding weight.

5. The method according to claim 1, characterized in that The usage service identifier also includes an environment identifier; The controlling the message queue sharing component to respond to the message receiving operation and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message, including: By comparing the type identifier of the target service with the type identifiers of the selected messages in each of the message subqueues in the common message queue, a target message queue of the target service is determined from the plurality of message subqueues; By comparing the environment identifier of the target service with the environment identifiers of each of the candidate messages in the target message queue, the target message of the target service is determined from the target message queue.

6. A message transmission device, used to implement the message transmission method according to any one of claims 1 to 5, characterized in that: The device comprises: A detection module, used for performing component detection on each service project, and if the service project does not include a message queue sharing component, in response to a component configuration operation, setting the message queue sharing component in the service project; a response module, configured to obtain a personal identification of each first operator in response to a service start-up operation of each first operator; perform identity authentication based on the personal identification of the first operator, and when the first operator passes the identity authentication, control the message queue sharing component to start a plurality of selected services in the service project; wherein the first operator is a staff member of a target enterprise and is located in a different working environment; a determination module, configured to obtain personal attribute data of the first operator, determine the personnel attribute corresponding to the personal attribute data of the first operator according to the personal attribute data of the first operator; obtain the enterprise attribute data of the target enterprise where the first operator is located, and generate a candidate service identifier of the target enterprise based on analyzing the enterprise attribute data of the target enterprise; A calculation module, used to calculate the candidate semantic similarity between the personnel attribute of the first operator and each of the candidate service identifiers; and compare the candidate semantic similarity with a preset similarity threshold, and determine a target semantic similarity from the candidate semantic similarities; and use the target service identifier corresponding to the target semantic similarity as the use service identifier of the candidate service started by the first operator; A generating module, used for generating a common message queue, controlling the message queue sharing component to respond to a message sending operation, and storing the selected message generated during the execution of the selected service together with the use service identifier corresponding to the selected service into the common message queue; The control module is used to control the message queue sharing component to respond to the message receiving operation, and determine the target message corresponding to the target service from the common message queue according to the use service identifier, so that the target service receives and consumes the corresponding target message.

7. An electronic device, characterized in that: include: A processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the message transmission method as described in any one of claims 1 to 5 are performed.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the message transmission method according to any one of claims 1 to 5 are executed.