Business message delivery method, device, readable storage medium and electronic device

By analyzing and building a tree-shaped data structure, the call order of the sub-business system and the delivery of messages is solved, the problem of lack of flexible delivery strategies in the existing technology is solved, efficient and flexible message delivery is achieved, and the repeated business development and system risks are reduced.

CN114356608BActive Publication Date: 2025-08-12北京理房通支付科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210009921.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-05
Publication Date
2025-08-12
Estimated Expiration
2042-01-05

AI Technical Summary

Technical Problem

The existing message delivery system mainly relies on the business system itself, the timeout/exception retry mechanism, and only supports message delivery at single addresses or batch addresses of the same level. It lacks flexible delivery strategies, resulting in repeated business development and maintenance and system security risks.

Method used

Provide a business message delivery method, by receiving business call messages, analyzing sub-service call policy information, building a tree-shaped data structure, determining the call order, and delivering messages to the sub-service system based on the policy, setting the call failure conditions to monitor and adjust the policy.

Benefits of technology

It improves the strategic nature of message delivery, and can flexibly configure call strategies according to different business needs, reduce duplicate development and maintenance, and reduce system security risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356608B_ABST
    Figure CN114356608B_ABST
Patent Text Reader

Abstract

The disclosed embodiments disclose a method, apparatus, computer-readable storage medium, and electronic device for delivering a business message, wherein the method comprises: receiving a business call message sent by a business message generating system; parsing the business call message to obtain sub-business call policy information; determining, based on the sub-business call policy information, a call order of sub-business systems in a sub-business system set to be called; and delivering the sub-business call message to the sub-business system in the sub-business system set based on the call order. The disclosed embodiments enhance the strategic nature of message delivery and can flexibly implement calling sub-business systems according to various strategies by configuring call policy information, thereby meeting various message delivery strategies required by the business, helping to reduce repeated business development and maintenance and converge system security risks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a method and device for delivering a business message, a computer-readable storage medium, and an electronic device. Background Art

[0002] A message delivery system typically includes a publisher that sends messages, subscribers that receive messages, and a messaging middleware that receives messages from publishers and delivers them to subscribers. The messaging middleware can deliver messages to subscribers in response to messages received from publishers.

[0003] Currently, most message delivery relies on the business system itself, adopts a timeout / exception retry mechanism, and only supports message delivery to a single address or batch addresses of the same level. Summary of the Invention

[0004] Embodiments of the present disclosure provide a service message delivery method, apparatus, computer-readable storage medium, and electronic device.

[0005] An embodiment of the present disclosure provides a business message delivery method, which includes: receiving a business call message sent by a business message generating system; parsing the business call message to obtain sub-business call policy information; determining the calling order of sub-business systems in a sub-business system set to be called based on the sub-business call policy information; and delivering the sub-business call message to the sub-business system in the sub-business system set based on the calling order.

[0006] In some embodiments, parsing the service call message to obtain sub-service call policy information includes: determining call type information based on the service call message; and obtaining sub-service call policy information corresponding to the call type information.

[0007] In some embodiments, based on the sub-business call policy information, the calling order of the sub-business systems in the sub-business system set to be called is determined, including: based on the sub-business call policy information, constructing a tree data structure with the message generating system as the root node and the sub-business systems in the sub-business system set as child nodes; based on the call type information, determining the access order of each child node from the tree data structure as the calling order of the sub-business systems in the sub-business system set.

[0008] In some embodiments, based on the call type information, the access order of each child node is determined from the tree data structure as the calling order of the sub-business systems in the sub-business system set, including: in response to determining that the call type information indicates that the access order is a breadth order, according to the order of the hierarchies included in the tree data structure and the arrangement order of the child nodes in the hierarchy, determining the calling order of the sub-business systems corresponding to each child node.

[0009] In some embodiments, based on the call type information, the access order of each child node is determined from the tree data structure as the calling order of the sub-business systems in the sub-business system set, including: in response to determining that the call type information indicates that the access order is a depth order, according to the order of the child nodes included in each complete path in the tree data structure, the calling order of the sub-business systems corresponding to each child node is determined.

[0010] In some embodiments, based on the calling order, a sub-business call message is delivered to a sub-business system in a sub-business system concentration, including: determining whether the current process of calling the sub-business system by delivering the sub-business call message meets the preset call failure condition; if the call failure condition is met, generating call failure information.

[0011] In some embodiments, determining whether the current process of calling a sub-business system by delivering a sub-business call message meets a preset call failure condition includes: determining whether the current process of calling the sub-business system has timed out based on the preset timeout durations corresponding to the sub-business systems in the sub-business system set; executing a re-call operation in response to a timeout in the current process of calling the sub-business system; determining that the call failure condition is met in response to the number of times the re-call operation is executed being greater than a preset number.

[0012] According to another aspect of an embodiment of the present disclosure, a business message delivery device is provided, which includes: a receiving module for receiving a business call message sent by a business message generating system; a parsing module for parsing the business call message to obtain sub-business call policy information; a determination module for determining the calling order of sub-business systems in a sub-business system set to be called based on the sub-business call policy information; and a delivery module for delivering the sub-business call message to the sub-business system in the sub-business system set based on the calling order.

[0013] According to another aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, which stores a computer program, and the computer program is used to execute the above-mentioned service message delivery method.

[0014] According to another aspect of an embodiment of the present disclosure, an electronic device is provided, which includes: a processor; a memory for storing processor-executable instructions; and a processor for reading executable instructions from the memory and executing the instructions to implement the above-mentioned service message delivery method.

[0015] According to another aspect of an embodiment of the present disclosure, a computer program product is provided, including a computer program / instruction, which implements the steps of the above-mentioned service message delivery method when the computer program / instruction is executed by a processor.

[0016] Based on the business message delivery method, device, computer-readable storage medium, electronic device and computer program product provided in the above embodiments of the present disclosure, by receiving the business call message sent by the business message generating system, parsing the business call message, obtaining sub-business call policy information, and then determining the call order of each sub-business system based on the sub-business call policy information, and finally delivering the sub-business call message to the sub-business system in the sub-business system concentration based on the call order, it is realized that based on the sub-business call policy information, a certain business system calls the sub-business system in the sub-business system concentration according to a certain strategy during operation, which greatly improves the strategic nature of message delivery. It can flexibly configure the call policy information to call the sub-business system according to various strategies, meet various message delivery strategies required by business, help reduce repeated business development and maintenance, and converge system security risks.

[0017] The technical solution of the present disclosure is further described in detail below through the accompanying drawings and examples. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above and other purposes, features, and advantages of the present disclosure will become more apparent through a more detailed description of the embodiments of the present disclosure in conjunction with the accompanying drawings. The accompanying drawings are intended to provide a further understanding of the embodiments of the present disclosure and constitute a part of the specification. Together with the embodiments of the present disclosure, they are used to explain the present disclosure and are not intended to limit the present disclosure. In the drawings, the same reference numerals generally represent the same components or steps.

[0019] Figure 1 is a system diagram to which the present disclosure is applicable.

[0020] Figure 2 It is a flow chart of a business message delivery method provided by an exemplary embodiment of the present disclosure.

[0021] Figure 3 It is a flow chart of a business message delivery method provided by another exemplary embodiment of the present disclosure.

[0022] Figure 4 It is a flow chart of a business message delivery method provided by another exemplary embodiment of the present disclosure.

[0023] Figure 5 It is a schematic diagram of a tree diagram of an embodiment of the present disclosure.

[0024] Figure 6 It is a structural diagram of a business message delivery device provided by an exemplary embodiment of the present disclosure.

[0025] Figure 7 It is a structural diagram of a business message delivery device provided by another exemplary embodiment of the present disclosure.

[0026] Figure 8 is a structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] Below, the exemplary embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments of the present disclosure, and it should be understood that the present disclosure is not limited to the exemplary embodiments described herein.

[0028] It should be noted that the relative arrangement of components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.

[0029] Those skilled in the art will understand that the terms "first" and "second" in the embodiments of the present disclosure are only used to distinguish different steps, devices or modules, and do not represent any specific technical meanings, nor do they indicate a necessary logical order between them.

[0030] It should also be understood that in the embodiments of the present disclosure, “a plurality of” may refer to two or more than two, and “at least one” may refer to one, two, or more than two.

[0031] It should also be understood that any component, data or structure mentioned in the embodiments of the present disclosure can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.

[0032] In addition, the term "and / or" in this disclosure is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this disclosure generally indicates that the related objects are in an "or" relationship.

[0033] It should also be understood that the description of the various embodiments in this disclosure focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced with each other. For the sake of brevity, they will not be described one by one.

[0034] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0035] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0036] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0037] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0038] The embodiments of the present disclosure can be applied to electronic devices such as terminal devices, computer systems, and servers, and can operate in conjunction with numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known terminal devices, computing systems, environments, and / or configurations suitable for use with electronic devices such as terminal devices, computer systems, and servers include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, network personal computers, minicomputer systems, mainframe computer systems, and distributed cloud computing technology environments including any of the above systems, among others.

[0039] Electronic devices such as terminal devices, computer systems, and servers can be described in the general context of computer system-executable instructions (such as program modules) executed by a computer system. Generally, program modules can include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. Computer systems / servers can be implemented in a distributed cloud computing environment, where tasks are performed by remote processing devices linked via a communication network. In a distributed cloud computing environment, program modules can be located on local or remote computing system storage media, including storage devices.

[0040] Application Overview

[0041] Currently, most business message delivery methods mainly use delay queues or some message middleware to achieve inter-system message delivery. However, the support for delivery strategies is relatively simple. For example, MQ (Message Queue) only supports custom delays and first-level batch push, and RabbitMq (a message-oriented middleware) requires plug-ins to implement inter-system message delivery.

[0042] The business message delivery method provided by the embodiments of this disclosure is independent of the business system, has no specific business attributes, and can be deployed independently. It mainly solves problems such as how to strategically deliver business system messages in a step-by-step manner, repeatedly develop and maintain functions, and achieve high availability and high concurrency.

[0043] Exemplary Systems

[0044] Figure 1 An exemplary system architecture 100 is shown to which the service message delivery method or service message delivery apparatus according to an embodiment of the present disclosure can be applied.

[0045] like Figure 1 As shown, system architecture 100 may include a business message generating system 101, a network 102, a message sending engine system 103, and a sub-business system set 104. Network 102 is used to provide a medium for communication links between message generating system 101, message sending engine system 103, and sub-business system set 104. Network 102 may include various connection types, such as wired or wireless communication links or fiber optic cables.

[0046] The business message generation system 101 is used to generate business call messages according to business needs, and send the business call messages to the message sending engine system 103 through message queues, http (Hyper Text Transfer Protocol), https (Hyper Text Transfer Protocol over Secure Socket Layer), etc. The message sending engine system 103 is used to parse the business call messages and call sub-business systems from the sub-business system set 104 based on the sub-business call policy information obtained after parsing. The calling method is to send sub-business call messages to the sub-business systems in the sub-business system set. The sub-business system set 104 includes multiple sub-business systems, such as Figure 1 As shown, the sub-business system set 104 includes n sub-business systems. Each sub-business system can be set in the same electronic device (such as a server) or in different electronic devices.

[0047] The service message generation system 101, the message sending engine system 103, and the sub-service system set 104 can be respectively installed in different electronic devices, or any two or more components of the system architecture can be installed in the same electronic device. For example, the service message generation system 101 and the sub-service system set 104 can be installed in the same server or server cluster, and the message sending engine system 103 can be installed in another server.

[0048] It should be noted that the business message delivery method provided in the embodiments of the present disclosure is generally executed by the message sending engine system 103, and accordingly, the business message delivery device is generally set in the message sending engine system 103.

[0049] It should be understood that Figure 1 The number of business message generating systems 101, networks 102, message sending engine systems 103, and sub-business system sets 104 is merely illustrative. Any number of business message generating systems 101, networks 102, message sending engine systems 103, and sub-business system sets 104 may be provided as needed.

[0050] Exemplary Methods

[0051] Figure 2 This is a flow chart of a service message delivery method provided by an exemplary embodiment of the present disclosure. This embodiment can be applied to electronic devices (such as Figure 1 On the electronic device of the message sending engine system 103 as shown in FIG. Figure 2 As shown, the method includes the following steps:

[0052] Step 201: Receive a service call message sent by a service message generating system.

[0053] In this embodiment, the electronic device can receive Figure 1 The business call message sent by the business message generating system 101 is shown. The business call message is used to indicate that the business message generating system currently needs to call other sub-business systems to complete the corresponding business process. As an example, the business message generating system provides support for the user's order operation. If the user does not pay within ten minutes after placing the order, the order will be automatically closed and a closing notice will be sent at the same time. The closing notice is the business call message. A certain sub-business system is responsible for the increase or decrease in the number of inventory items. The above-mentioned electronic device needs to send a sub-business call message indicating the closing notice to the sub-business system, so that the sub-business system will restore the number of items corresponding to the order that has been reduced to the number before the order was placed.

[0054] For another example, System A (the service message generation system) is responsible for registering merchant basic information, System B (the sub-service system) is responsible for opening merchant accounts, and System C (the sub-service system) is responsible for configuring merchant rates. Once a merchant is successfully registered, System A must simultaneously notify Systems B and C to activate the account and configure the basic rate. Therefore, System A sends a service call message to the aforementioned electronic device indicating the merchant's successful registration. The aforementioned electronic device then sends sub-service call messages to Systems B and C, respectively, to enable Systems B and C to open the account and configure the basic rate.

[0055] Step 202: parse the service call message to obtain sub-service call policy information.

[0056] In this embodiment, the electronic device can parse the service call message to obtain the sub-service call policy information. Figure 1 The sub-business system set 104 shown in FIG. 1 shows the set of sub-business systems to be called, as well as the order in which each sub-business system is called. The sub-business calling policy information represents a pre-set policy for calling each sub-business system. This policy can be configured as needed, for example, to call sub-business systems sequentially according to their hierarchical order, or to prioritize calling sub-business systems across multiple hierarchies arranged in a chain.

[0057] As an example of how this step is performed, a table representing the correspondence between service invocation messages and sub-service invocation policy information may be pre-stored in the electronic device, and the electronic device extracts the corresponding sub-service invocation policy information based on the received service invocation message.

[0058] Optionally, the electronic device can determine the sub-service call policy information corresponding to the service call message from a preset database. The database stores the relationship between each sub-service system when calling the sub-service system. For example, the database may include a table for representing the relationship between the service call message and the sub-service system, from which the name of the sub-service system corresponding to the service call message and the relationship between the sub-service systems can be found. The above-mentioned database can be set locally on the electronic device, or in another device that is communicatively connected to the electronic device. The user can pre-configure the above-mentioned sub-service call policy information in the database.

[0059] Step 203: Determine the calling order of the sub-business systems in the sub-business system set to be called based on the sub-business calling policy information.

[0060] In this embodiment, the electronic device can determine the order in which the sub-service systems in the sub-service system set to be called are called based on the sub-service calling policy information. As an example, the sub-service calling policy information includes the numbers of the sub-service systems to be called and the order in which the numbers are arranged. The order in which the sub-service systems are called can be determined based on the order in which the sub-service systems are arranged.

[0061] Step 204: Deliver the sub-business calling message to the sub-business system in the sub-business system set based on the calling sequence.

[0062] In this embodiment, the electronic device can deliver a sub-business call message to a sub-business system in the sub-business system set based on the calling order. The sub-business call message indicates that the corresponding sub-business system needs to be called to execute the corresponding business process. Typically, after executing the corresponding business process, the called sub-business system can send the execution result back to the electronic device, which then calls the next sub-business system; or the execution result can be sent directly to the next sub-business system.

[0063] The method provided by the above-mentioned embodiments of the present disclosure receives a business call message sent by a business message generating system, parses the business call message, obtains sub-business call policy information, and then determines the call order of each sub-business system based on the sub-business call policy information. Finally, based on the call order, the sub-business call message is delivered to the sub-business system in the sub-business system concentration. This realizes the calling of a sub-business system in the sub-business system concentration according to a certain strategy based on the sub-business call policy information during operation by a certain business system, greatly improving the strategic nature of message delivery. It can flexibly configure the calling policy information to call the sub-business system according to various strategies, meet various message delivery strategies required by the business, and help reduce repeated business development and maintenance and converge the security risks of the system.

[0064] In some optional implementations, step 204 may be performed as follows:

[0065] First, it is determined whether the current process of calling the sub-business system by delivering the sub-business call message meets the preset call failure condition.

[0066] The information indicating the call failure condition may be pre-set in the electronic device, and the electronic device may monitor the execution status of the currently called sub-business system in real time to determine whether the execution status meets the call failure condition.

[0067] As an example, the failure condition may include that the call result returned by the currently called sub-business system is not received within a preset time period.

[0068] Then, if the call failure condition is met, a call failure message is generated.

[0069] The call failure information may be in various forms, such as text, symbols, images, sounds, etc. Typically, the electronic device may output the call failure information, such as displaying it on a display included in the electronic device, or sending the call failure information to another electronic device (such as a user terminal).

[0070] Optionally, the electronic device may stop calling the above sub-service system set after determining that the call has failed. Alternatively, the electronic device may skip the sub-service system that has failed to be called and continue calling other sub-service systems.

[0071] This implementation method generates call failure information by setting call failure conditions when the call to the sub-business system fails, so that the user can be informed of the situation of calling the sub-business system in a timely manner, which is conducive to timely adjustment of the strategy for calling the above sub-business system set.

[0072] In some optional implementations, the electronic device may determine whether the current process of calling the sub-service system by delivering the sub-service call message meets the preset call failure condition according to the following steps:

[0073] First, based on the preset timeout durations corresponding to the sub-business systems in the sub-business system set, it is determined whether a timeout occurs in the current process of calling the sub-business system.

[0074] Specifically, if after sending a sub-business call message to the currently called sub-business system, the call result returned by the sub-business system is not received after the preset timeout period (for example, 10 seconds), or if after the preset timeout period, information indicating that the call failed is returned by the sub-business system, it is determined whether the process of currently calling the sub-business system has timed out.

[0075] In response to a timeout in the process of currently calling the sub-business system, a re-calling operation is performed.

[0076] Specifically, a sub-service calling message may be sent to the currently called sub-service system for re-calling.

[0077] In response to the number of times the recall operation is performed being greater than a preset number, it is determined that a recall failure condition is met.

[0078] The retry interval between two retry operations can be set arbitrarily, such as 1 second, 1 minute, 10 minutes, etc. If the number of executions of the retry operation exceeds the preset number, the retry fails.

[0079] It should be noted that the information indicating the call failure condition, such as the preset timeout period, the preset number of times the call operation is performed, the retry interval, etc., can be stored in the electronic device or in another device connected to the electronic device. The electronic device can obtain this information indicating the call failure condition to complete the monitoring of the sub-business system call.

[0080] This implementation method can restore the call as much as possible in the event of a possible call failure by setting conditions such as the timeout duration and the maximum number of retries, thereby improving the success rate of the call strategy execution.

[0081] Further references Figure 3 , which shows a flow chart of another embodiment of a service message delivery method. Figure 3 As shown in the above Figure 2 Based on the illustrated embodiment, step 202 may include the following steps:

[0082] Step 2021: Determine the call type information based on the service call message.

[0083] The call type information is used to identify the principles and classifications followed in the order in which the sub-service systems are called. For example, the order represented by the call type information may include a breadth order and a depth order. Please refer to the following embodiments for details. Typically, a service call message may include the call type information, and the electronic device may extract the call type information from the service call message.

[0084] Step 2022: Obtain sub-service calling policy information corresponding to the calling type information.

[0085] Different call type information corresponds to different call orders. For example, when the call type information is the number 0, it indicates a breadth order, and when the call type information is the number 1, it indicates a depth order. Different call orders are represented by different sub-service call policy information. As an example, for a service call message, at least one table can be set in the database to store different sub-service call policy information. The electronic device can obtain the sub-service call policy information corresponding to the call type information from the database. The correspondence between the call type information and the sub-service call policy information can be pre-set by pre-configuring the database.

[0086] Figure 3 The method provided in the corresponding embodiment determines the call type information and obtains the sub-business call policy information corresponding to the call type information, thereby implementing different call policies for the sub-business system according to different call type information and improving the flexibility of business calls.

[0087] In some optional implementations, based on Figure 3 Corresponding embodiments, such as Figure 4 As shown, step 203 can be performed as follows:

[0088] Step 2031: Based on the sub-business calling policy information, a tree data structure is constructed with the message generating system as the root node and the sub-business systems in the sub-business system set as child nodes.

[0089] The relationships between child nodes in a tree data structure can be represented by lines. Figure 5 The figure shows a tree diagram corresponding to the tree data structure. Each circle represents a node. Node A is the root node, representing the message generating system. Nodes B, C, D, E, and F are child nodes, representing sub-business systems. Arrows indicate the dependencies between sub-business system calls. For example, arrows from node B pointing to nodes E and F indicate that the sub-business system corresponding to node B must be executed before the sub-business systems corresponding to E and F, respectively.

[0090] Step 2032: Based on the call type information, determine the access order of each sub-node from the tree data structure as the call order of the sub-business systems in the sub-business system set.

[0091] Different call type information corresponds to different access orders. For example, when the call type information is 0, it indicates a breadth order, and when the call type information is 1, it indicates a depth order.

[0092] This implementation method constructs a tree data structure and determines the access order of sub-nodes according to the call type information, thereby effectively utilizing the intuitive and easy-to-construct characteristics of the tree data structure, which helps to more conveniently and accurately execute different call strategies for each sub-business system.

[0093] In some optional implementations, step 2032 may include:

[0094] In response to determining that the call type information indicates that the access order is breadth order, the call order of the sub-business systems corresponding to each sub-node is determined according to the order of the levels included in the tree data structure and the arrangement order of the sub-nodes in the levels.

[0095] Breadth order means that when accessing child nodes, all child nodes in the same level are visited first. Figure 5 As shown, the first level includes subnodes B, C, and D, and the second level includes subnodes E and F. When the access order is breadth order, the subnodes in the first and second levels are accessed in sequence, that is, in the order of BCDEF, the corresponding sub-business systems are called in sequence.

[0096] Generally, the sub-service calling strategy information corresponding to the breadth order is shown in Table 1 below:

[0097] Table 1

[0098] Node number Business system name Child nodes Parent Node Call type information 01 System B 01 -1 0 02 System C 02 -1 0 03 System D 03 -1 0 04 System E 04 01 0 05 System F 05 01 0

[0099] In Table 1, the node numbered -1 represents the root node, i.e. Figure 5 For node A shown in the figure, the call type information is 0, indicating that the current access order is breadth order. The corresponding business system numbers in the child node column and the parent node column represent the parent-child relationship of the business system numbers. Because the call type information is 0, the access order of the child nodes can be set in the tree data structure, that is, the access order is BCDEF.

[0100] In some optional implementations, step 2032 may include:

[0101] In response to determining that the call type information indicates that the access order is depth order, the call order of the sub-business systems corresponding to the sub-nodes is determined according to the arrangement order of the complete paths in the tree data structure.

[0102] Depth order means that when visiting child nodes, priority is given to visiting all child nodes in the same complete path. A complete path is the path that starts from the root node and passes through the most child nodes. For example, in Figure 5 In the tree diagram shown, starting from root node A, the line that passes through the most child nodes in the direction indicated by the arrows forms a complete path. For example, ABE is a complete path, so nodes on this complete path are called first. ABF is another complete path, but because A and B have already been called, F is called after E. AC and AD are complete paths, so C and D are called after F. In other words, the corresponding sub-business systems are called in the order of BEF, C, and D.

[0103] Generally, the sub-service call strategy information corresponding to the depth order is shown in Table 2 below:

[0104] Table 2

[0105] Node number Business system name Child nodes Parent Node Call type information 01 System B 01 -1 1 02 System C 02 -1 1 03 System D 03 -1 1 04 System E 04 01 1 05 System F 05 01 1

[0106] In Table 2, the call type information is 1, indicating that the current access order is depth order. Since the call type information is 1, the access order of the child nodes can be set in the tree data structure, that is, the access order is BEFCD.

[0107] The above two optional implementation methods provide two different sub-business system calling strategies. The two calling strategies can be applied to different business scenarios, further improving the strategic nature of sub-business system calling and enriching the applicable scenarios of business message delivery methods.

[0108] Exemplary devices

[0109] Figure 6 This is a schematic diagram of the structure of a service message delivery device provided by an exemplary embodiment of the present disclosure. This embodiment can be applied to electronic devices, such as Figure 6 As shown, the business message delivery device includes: a receiving module 601, which is used to receive a business call message sent by a business message generating system; a parsing module 602, which is used to parse the business call message and obtain sub-business call policy information; a determination module 603, which is used to determine the calling order of the sub-business systems in the sub-business system set to be called based on the sub-business call policy information; and a delivery module 604, which is used to deliver the sub-business call message to the sub-business system in the sub-business system set based on the calling order.

[0110] In this embodiment, the receiving module 601 can receive Figure 1 The business call message sent by the business message generating system 101 is shown. The business call message is used to indicate that the business message generating system currently needs to call other sub-business systems to complete the corresponding business process. As an example, the business message generating system provides support for the user's order operation. If the user does not pay within ten minutes after placing the order, the order will be automatically closed and a closing notice will be sent at the same time. The closing notice is the business call message. A certain sub-business system is responsible for the increase or decrease in the number of inventory items. The above-mentioned device needs to send a sub-business call message indicating the closing notice to the sub-business system, so that the sub-business system will restore the number of items corresponding to the order that has been reduced to the number before the order was placed.

[0111] In this embodiment, the parsing module 602 can parse the service call message to obtain the sub-service call policy information. Figure 1 The sub-business system set 104 shown in FIG. 1 shows the set of sub-business systems to be called, as well as the order in which each sub-business system is called. The sub-business calling policy information represents a pre-set policy for calling each sub-business system. This policy can be configured as needed, for example, to call sub-business systems sequentially according to their hierarchical order, or to prioritize calling sub-business systems across multiple hierarchies arranged in a chain.

[0112] As an example, a table representing the correspondence between service invocation messages and sub-service invocation policy information may be pre-stored in the electronic device, and the parsing module 602 extracts the corresponding sub-service invocation policy information according to the received service invocation message.

[0113] In this embodiment, the determination module 603 can determine the order in which the sub-business systems in the set of sub-business systems to be called are called based on the sub-business calling policy information. As an example, the sub-business calling policy information includes the numbers of the sub-business systems to be called and the order in which the numbers are arranged. The order in which the sub-business systems are called can be determined based on the order in which the numbers are arranged.

[0114] In this embodiment, the delivery module 604 can deliver a sub-business call message to a sub-business system in the sub-business system set based on the call order. The sub-business call message indicates that the corresponding sub-business system needs to be called to execute the corresponding business process. Typically, after executing the corresponding business process, the called sub-business system can send the execution result back to the electronic device, which then calls the next sub-business system; or the execution result can be sent directly to the next sub-business system.

[0115] Reference Figure 7 , Figure 7It is a structural diagram of a business message delivery device provided by another exemplary embodiment of the present disclosure.

[0116] In some optional implementations, the parsing module 602 includes: a first determining unit 6021, configured to determine call type information based on the service call message; and an acquiring unit 6022, configured to acquire sub-service call policy information corresponding to the call type information.

[0117] In some optional implementations, the determination module 603 includes: a construction unit 6031, which is used to construct a tree data structure with the message generating system as the root node and the sub-business systems in the sub-business system set as child nodes based on the sub-business call policy information; and a second determination unit 6032, which is used to determine the access order of each child node from the tree data structure as the calling order of the sub-business systems in the sub-business system set based on the call type information.

[0118] In some optional implementations, the second determination unit 6032 is further used to: in response to determining that the call type information indicates that the access order is a breadth order, determine the calling order of the sub-business systems corresponding to each sub-node according to the order of the levels included in the tree data structure and the arrangement order of the sub-nodes in the levels.

[0119] In some optional implementations, the second determination unit 6032 is further used to: in response to determining that the call type information indicates that the access order is depth order, determine the calling order of the sub-business systems corresponding to each sub-node according to the order of the sub-nodes included in each complete path in the tree data structure.

[0120] In some optional implementations, the delivery module 604 includes: a third determination unit 6041, used to determine whether the current process of calling the sub-business system by delivering the sub-business call message meets the preset call failure condition; a generation unit 6042, used to generate call failure information if the call failure condition is met.

[0121] In some optional implementations, the third determination unit 6041 includes: a first determination sub-unit 60411, used to determine whether the current process of calling the sub-business system has timed out based on the preset timeout periods corresponding to the sub-business systems in the sub-business system set; an execution sub-unit 60412, used to perform a re-call operation in response to a timeout in the current process of calling the sub-business system; and a second determination sub-unit 60413, used to determine that the call failure condition is met in response to the number of times the re-call operation is performed being greater than a preset number.

[0122] The business message delivery device provided by the above-mentioned embodiment of the present disclosure receives the business call message sent by the business message generating system, parses the business call message, obtains the sub-business call policy information, and then determines the call order of each sub-business system based on the sub-business call policy information. Finally, based on the call order, the sub-business call message is delivered to the sub-business system in the sub-business system concentration. It realizes the call policy information based on the sub-business call policy, and calls the sub-business system in the sub-business system concentration according to a certain strategy during operation of a certain business system, which greatly improves the strategic nature of message delivery. It can flexibly configure the call policy information to call the sub-business system according to various strategies, meet various message delivery strategies required by the business, and help reduce repeated business development and maintenance and converge the security risks of the system.

[0123] Exemplary electronic devices

[0124] Below, reference Figure 8 To describe the electronic device according to the embodiment of the present disclosure. The electronic device may be as follows Figure 1 Any one or both of the terminal device 101 and the server 103 shown, or a stand-alone device independent of them, can communicate with the terminal device 101 and the server 103 to receive the collected input signals from them.

[0125] Figure 8 A block diagram of an electronic device according to an embodiment of the present disclosure is illustrated.

[0126] like Figure 8 As shown, electronic device 800 includes one or more processors 801 and memory 802 .

[0127] The processor 801 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 800 to perform desired functions.

[0128] The memory 802 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on a computer-readable storage medium, and the processor 801 may execute the program instructions to implement the service message delivery method of each embodiment of the present disclosure above and / or other desired functions. Various contents such as service call messages, sub-service call policy information, etc. may also be stored in the computer-readable storage medium.

[0129] In one example, the electronic device 800 may further include an input device 803 and an output device 804 , and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).

[0130] For example, when the electronic device is the terminal device 101 or the server 103, the input device 803 may be a device such as a mouse or a keyboard for inputting instructions, programs, etc. When the electronic device is a standalone device, the input device 803 may be a communication network connector for receiving input instructions, programs, etc. from the terminal device 101 and the server 103.

[0131] The output device 804 can output various information to the outside, including sub-service call messages, call failure information, etc. The output device 804 can include, for example, a display, a speaker, a printer, a communication network and its connected remote output devices, etc.

[0132] Of course, to simplify, Figure 8 Only some of the components related to the present disclosure in the electronic device 800 are shown, and components such as buses, input / output interfaces, etc. are omitted. In addition, the electronic device 800 may further include any other appropriate components according to specific application scenarios.

[0133] Exemplary computer program products and computer-readable storage media

[0134] In addition to the above-mentioned methods and devices, an embodiment of the present disclosure may also be a computer program product, which includes a computer program / instruction, which, when executed by a processor, enables the processor to execute the steps of the business message delivery method according to various embodiments of the present disclosure described in the above-mentioned "Exemplary Method" section of this specification.

[0135] The computer program product may be written in any combination of one or more programming languages to implement the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, and conventional procedural programming languages such as C or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0136] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps of the business message delivery method according to various embodiments of the present disclosure described in the above "Exemplary Method" section of this specification.

[0137] The computer-readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, include but is not limited to a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0138] Exemplary computer programs

[0139] An embodiment of the present disclosure also provides a computer program product, including a computer program / instruction. When the computer program / instruction is executed by a processor, the service message delivery method in any possible implementation manner described above can be implemented.

[0140] The computer program product may be implemented in hardware, software, or a combination thereof. In one embodiment, the computer program product is implemented as a computer storage medium. In another embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).

[0141] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.

[0142] Each embodiment in this specification is described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. References to the same or similar parts between the various embodiments are sufficient. For system embodiments, since they largely correspond to method embodiments, their description is relatively simple. For relevant parts, references to the description of the method embodiments are sufficient.

[0143] The block diagrams of the devices, devices, equipment, and systems involved in this disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "include," "comprise," "have," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.

[0144] The methods and apparatus of the present disclosure may be implemented in many ways. For example, the methods and apparatus of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless otherwise specified. In addition, in some embodiments, the present disclosure may also be implemented as programs recorded in a recording medium, which include machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers recording media that store programs for executing the methods according to the present disclosure.

[0145] It should also be noted that in the apparatus, device, and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.

[0146] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0147] The above description has been provided for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.

Claims

1. A business message delivery method, applied to a message sending engine system, comprising: Receive the service call message sent by the service message generating system; Parsing the service call message to obtain sub-service call policy information, wherein the sub-service call policy information is a pre-set policy for calling each sub-service system, and is used to determine the sub-service system set to be called from the sub-service system set and the calling order of each sub-service system in the sub-service system set; Determining a calling order of sub-business systems in the sub-business system set to be called based on the sub-business calling policy information; Based on the calling order, delivering the sub-business calling message to the sub-business system in the sub-business system set; The parsing of the service call message to obtain sub-service call policy information includes: Determining call type information based on the service call message, wherein the call type information is used to characterize the principle classification followed by the order of calling the sub-service systems when calling the sub-service systems; Based on the correspondence between the call type information and the sub-service call policy information pre-configured in a database, the sub-service call policy information corresponding to the call type information is acquired.

2. The method according to claim 1, wherein The determining the calling order of the sub-business systems in the sub-business system set to be called based on the sub-business calling policy information includes: Based on the sub-business call policy information, construct a tree data structure with the message generating system as a root node and the sub-business systems in the sub-business system set as child nodes; Based on the call type information, the access order of each sub-node is determined from the tree data structure as the call order of the sub-business systems in the sub-business system set.

3. The method according to claim 2, wherein: The step of determining, based on the call type information, the access order of each sub-node from the tree data structure as the calling order of the sub-business systems in the sub-business system set includes: In response to determining that the call type information indicates that the access order is breadth order, the call order of the sub-business systems corresponding to each sub-node is determined according to the order of the levels included in the tree data structure and the arrangement order of the sub-nodes in the levels.

4. The method according to claim 2, wherein: The step of determining, based on the call type information, the access order of each sub-node from the tree data structure as the calling order of the sub-business systems in the sub-business system set includes: In response to determining that the call type information indicates that the access order is depth order, the call order of the sub-business systems corresponding to the sub-nodes is determined according to the order of the sub-nodes respectively included in each complete path in the tree data structure.

5. The method according to claim 1, wherein The delivering the sub-business call message to the sub-business system in the sub-business system set based on the call order includes: Determine whether the current process of calling the sub-business system by delivering the sub-business call message meets the preset call failure condition; If the call failure condition is met, a call failure message is generated.

6. The method according to claim 5, wherein: The determining whether the current process of calling the sub-service system by delivering the sub-service call message meets the preset call failure condition includes: Determining whether a timeout occurs in a current process of calling a sub-business system based on preset timeout durations corresponding to the sub-business systems in the sub-business system set; In response to a timeout in the process of currently calling the sub-business system, executing a re-call operation; In response to the number of times the recall operation is performed being greater than a preset number, it is determined that the recall failure condition is met.

7. A service message delivery device, the device being applied to a message sending engine system, the device comprising: A receiving module, configured to receive a service call message sent by a service message generating system; a parsing module, configured to parse the service call message to obtain sub-service call policy information, wherein the sub-service call policy information is a pre-set policy for calling each sub-service system, and is configured to determine the set of sub-service systems to be called from the set of sub-service systems and the order in which the sub-service systems in the set of sub-service systems are called; The parsing module includes: a first determining unit for determining call type information based on the service call message, wherein the call type information is used to characterize the principle classification followed by the order of calling the sub-service systems when calling the sub-service systems; an acquiring unit for acquiring the sub-service call policy information corresponding to the call type information based on the correspondence between the call type information and the sub-service call policy information pre-configured in the database; a determination module, configured to determine a calling order of sub-business systems in a set of sub-business systems to be called based on the sub-business calling policy information; The delivery module is used to deliver the sub-business call message to the sub-business system in the sub-business system set based on the call sequence.

8. A computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 6.

9. A computer program product comprising a computer program / instructions, wherein when the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Service transferring method, system and unit

    CN101035110A

  • Method and system for processing mass data

    CN102214236A