A service distribution system under a distributed architecture

By differentiating routing element types in a distributed architecture and employing a method of calculating primary routing elements through local client caching and obtaining non-primary routing elements through a global routing component, the problems of high global routing pressure and low efficiency in service type differentiation are solved, achieving efficient service address acquisition and system scalability.

CN119232733BActive Publication Date: 2025-11-11CHINA EVERBRIGHT BANK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411158134.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2025-11-11
Estimated Expiration
2044-08-22

AI Technical Summary

Technical Problem

In existing technologies, under a distributed architecture, it is impossible to effectively distinguish the types of routing elements, resulting in high global routing pressure. Furthermore, service type differentiation requires a routing request with the routing elements to be completed, which affects response efficiency and system scalability.

Method used

The business allocation system adopts a distributed architecture. Through the client's unitized components, service filtering components, and route forwarding components, it distinguishes the types of routing elements. The main routing elements are cached and calculated locally, while non-main routing elements obtain unit information through the global routing component, thereby achieving fast response and efficient service address acquisition.

Benefits of technology

It improves response efficiency and system scalability in a distributed architecture, reduces global routing pressure, and supports multi-active deployment and efficient completion of transaction requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232733B_ABST
    Figure CN119232733B_ABST
Patent Text Reader

Abstract

The embodiment of the present specification relates to the technical field of data processing, in particular to a business distribution system under a distributed architecture.The scheme obtains the request message sent by the user, judges the target service and sends it to the service filtering component; the service filtering component filters out the request message of the unit service of the target service, determines the routing element information, and then judges whether the routing element information in the request message is the main routing element, realizes the targeted processing of different routing elements, thereby improving the reliability of judging unit information in the client. Then, according to the unit number algorithm, the routing element is calculated, and the unit information corresponding to the request message can also be obtained, and the request message is sent to the corresponding unit in the service end for processing according to the unit information, realizing a complete set of unit global routing system, while taking into account the corresponding efficiency, scalability and ease of use.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments in this specification relate to the field of data processing technology, and in particular to a business allocation system under a distributed architecture. Background Technology

[0002] To improve system availability, large-scale distributed systems in enterprises commonly adopt a unitized architecture for system design and deployment, which separates data storage. Therefore, issues that need to be considered after unitized decomposition include: how to support different routing elements in various business scenarios; how to efficiently obtain service addresses in a single request; cross-unit routing and forwarding; intra-unit service convergence; priority for services within the local Availability Zone (AZ); and how to efficiently support expansion and migration of data from hot units.

[0003] Currently, operations such as storing, querying, and maintaining routing unit information are handled by adding a global routing component. A unitized component is added for routing requests and service filtering. Requests are forwarded to the target service via the underlying communication component to complete the service request and obtain the return result. Simultaneously, a Redis cache is being considered on the global routing side to cache frequently used information, reducing the time spent querying the database for unit information based on routing elements. However, the existing technology does not effectively distinguish routing element types. Routing element types such as customer number, account number, and ID number all require a request to the global routing system for processing. In practice, for routing elements of the customer number type, the necessary information can be cached locally, and processing can be done directly locally, reducing the pressure on the global routing system and improving response efficiency. Furthermore, service types, including unitized services and public services, can only be distinguished through the global routing system, requiring a single routing request with the routing element for differentiation. In practice, service determination can be pre-processed through configuration, eliminating the need to request the global routing system.

[0004] There is an urgent need for a complete global routing system that can achieve efficient, scalable, and user-configurable modular global routing for core financial systems. Summary of the Invention

[0005] To address the issue that existing technologies can only differentiate service types through global routing, requiring a single routing request with routing elements, this specification provides a distributed architecture-based service allocation system. This system can perform different processing based on different routing elements to determine the information of the processing unit. Under this unitized architecture, the target service address can be obtained efficiently and quickly, better supporting multi-active system deployment, completing transaction requests, and improving system scalability and reliability. The specific technical solutions of this specification's embodiments are as follows:

[0006] On the one hand, the embodiments of this specification provide a service allocation system under a distributed architecture, the system including: a client and a server.

[0007] The client includes a unitized component, a service filtering component, and a routing and forwarding component;

[0008] The unitized component obtains the request message sent by the user, determines the target service of the request message, and sends it to the service filtering component;

[0009] The service filtering component obtains the routing element information corresponding to the request message of the target service being a unitized service based on the local cache information, and determines whether the routing element information is a main routing element.

[0010] If the routing element information is a primary routing element, then the unit information corresponding to the request message is calculated based on the primary routing element according to the preset unit number algorithm.

[0011] If the routing element information is a non-primary routing element, then the non-primary routing element is sent to the global routing component on the server to obtain the unit information corresponding to the request message;

[0012] The routing and forwarding component sends the request message to the corresponding unit in the server for processing based on the unit information.

[0013] Furthermore, determining the target service of the request message and sending it to the service filtering component further includes,

[0014] Obtain the routing element information and service name of the request message based on the request message;

[0015] Based on the client's relevant routing configuration, the routing element information, and the service name, determine whether the target service of the request message is a unitized service.

[0016] Furthermore, determining whether the target service of the request message is a unitized service further includes,

[0017] If the target service of the request message is a unitized service, then the request message is sent to the service filtering component;

[0018] If the target service of the request message is a non-unitized service, the request message will be sent to the non-unitized service component in the server for processing.

[0019] Furthermore, if the routing element information includes the main routing element,

[0020] The local cache information also includes unit change information;

[0021] Query the main routing elements based on the unit change information;

[0022] If the main routing element is not found in the unit change information, the unit information corresponding to the request message is calculated based on the preset unit number algorithm.

[0023] If the primary routing element is found in the unit change information, the request message is sent to the server, which then determines the unit information corresponding to the request message.

[0024] Furthermore, the service filtering component also includes,

[0025] The unit change information includes unit lock table information, gray unit level information, and unit migration information;

[0026] The server updates the unit change information according to the preset maintenance change plan and sends it to the service filtering component.

[0027] Furthermore, if the routing element information is a non-primary routing element, it may further include:

[0028] The global routing component is used for matching to obtain the global routing elements associated with the non-primary routing elements;

[0029] The unit information corresponding to the request message is obtained by calculating the global routing elements according to the preset unit number algorithm;

[0030] If the global routing elements do not include the non-primary routing elements, an error will be reported.

[0031] Furthermore, the routing and forwarding component also includes,

[0032] The unit list in the server is filtered according to the unit information to obtain a unit in the unit list that matches the unit information;

[0033] A processing unit is selected based on preset conditions, and the request message is sent to the processing unit for processing.

[0034] On the other hand, embodiments of this specification also provide a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the system described above.

[0035] On the other hand, embodiments of this specification also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the system described above.

[0036] Finally, this specification also provides a computer program product, which includes a computer program that, when executed by a processor, implements the system described above.

[0037] This specification provides a system capable of accurate service allocation in a distributed architecture. The service allocation system in this solution includes a client-side unitization component, a service filtering component, and a routing forwarding component. The unitization component receives user request messages, determines their target service, and forwards them to the service filtering component. The service filtering component filters out request messages whose target service is a unitized service, determines their routing element information, and then determines whether the routing element information in the request message is a primary routing element. This allows for differentiation of routing elements by type, improving the reliability of unit information determination on the client side. If the routing element information is a pre-set primary routing element, the unit information corresponding to the request message can be calculated based on a preset unit number algorithm. If the routing element information is a non-primary routing element, it needs to be sent to the server-side global routing component to obtain the unit information corresponding to the request message. The system supports adding new routing element types and table name information to the global routing component, enabling rapid response with zero-code modification of existing routing elements. Finally, the routing and forwarding component sends the request message to the corresponding unit in the server for processing based on the unit information, thus realizing a complete unitized global routing system while taking into account efficiency, scalability and ease of use. Attached Figure Description

[0038] To more clearly illustrate the technical solutions in the embodiments of this specification or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0039] Figure 1 The diagram shown is a schematic representation of an implementation system for a service allocation system under a distributed architecture, as described in this specification.

[0040] Figure 2 The diagram shown is a schematic representation of the result of a service allocation system under a distributed architecture in an embodiment of this specification.

[0041] Figure 3 The diagram shown is a flowchart illustrating the process of determining the target service of the request message in an embodiment of this specification.

[0042] Figure 4The diagram shown is a flowchart illustrating the process of determining whether the target service of the request message is a unitized service in an embodiment of this specification.

[0043] Figure 5 The diagram shown is a flowchart illustrating the process of querying the unit information corresponding to the request message in an embodiment of this specification.

[0044] Figure 6 The diagram shown is a flowchart illustrating the process of obtaining the global routing elements associated with the non-primary routing elements in an embodiment of this specification.

[0045] Figure 7 The diagram shown is a flowchart illustrating the filtering process of the unit list in the server in an embodiment of this specification.

[0046] Figure 8 The diagram shown is a structural schematic of the computer device in an embodiment of this specification.

[0047] [Explanation of Figure Markers]:

[0048] 101. Client;

[0049] 1011. Unitized components;

[0050] 1012. Service filtering component;

[0051] 1013. Routing and forwarding component;

[0052] 102. Server-side;

[0053] 1021. Global routing component;

[0054] 802. Computer equipment;

[0055] 804. Processing equipment;

[0056] 806. Storage resources;

[0057] 808. Drive system;

[0058] 810. Input / Output Module;

[0059] 812. Input devices;

[0060] 814. Output devices;

[0061] 816. Presentation equipment;

[0062] 818. Graphical User Interface;

[0063] 820. Network interface;

[0064] 822. Communication link;

[0065] 824. Communication bus. Detailed Implementation

[0066] The technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the embodiments of this specification, and not all embodiments. Based on the embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of the embodiments of this specification.

[0067] It should be noted that the terms "first," "second," etc., in the description, claims, and accompanying drawings of the embodiments herein are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, apparatus, product, or device that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0068] It should be noted that the acquisition, storage, use, and processing of data in the technical solutions of the embodiments of this specification all comply with the relevant provisions of national laws and regulations.

[0069] It should be noted that in the embodiments of this specification, certain software, components, models and other existing solutions in the industry may be mentioned. These should be regarded as exemplary and are only intended to illustrate the feasibility of implementing the technical solution of this application. However, they do not mean that the applicant has used or necessarily used the solution.

[0070] like Figure 1 The diagram illustrates an implementation system for a salary calculation result verification method based on a clustering algorithm, as described in this specification. The system includes a client 101 and a server 102. The client 101 and server 102 can communicate via a network, which may include a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, or a combination thereof, and be connected to a website, user equipment (e.g., computing devices), and a backend system. Optionally, the server 102 may be a node in a cloud computing system, or each server may be a separate cloud computing system, comprising multiple computers interconnected by a network and operating as a distributed processing system.

[0071] Client 101 obtains the request message sent by the user, calculates the unit information corresponding to the request message, and then sends it to server 102. Server 102 sends the request message directly to the corresponding unit for processing based on the unit information.

[0072] In addition, it should be noted that, Figure 1 The examples shown are merely one application environment provided by the embodiments in this specification. In practical applications, other application environments may also be included, and this specification does not impose any limitations.

[0073] To address the problems existing in the prior art, this specification provides a service allocation system under a distributed architecture, and

[0074] Figure 2 The diagram illustrates a service allocation system under a distributed architecture, as shown in an embodiment of this specification. The diagram depicts the operation of the service allocation system under a distributed architecture. The order of steps listed in the embodiment is merely one possible execution order among many and does not represent the only possible order. In actual system or device products, the methods shown in the embodiments or accompanying drawings can be executed sequentially or in parallel.

[0075] Specific examples Figure 2 As shown, the system includes: a client 101 and a server 102.

[0076] The client 101 includes a unitization component 1011, a service filtering component 1012, and a routing and forwarding component 1013;

[0077] The unitization component 1011 obtains the request message sent by the user, determines the target service of the request message, and sends it to the service filtering component 1012.

[0078] The service filtering component 1012 obtains the routing element information corresponding to the request message for the target service being a unitized service, and determines whether the routing element information is a primary routing element.

[0079] If the routing element information is a primary routing element, then the unit information corresponding to the request message is calculated based on the primary routing element according to the preset unit number algorithm.

[0080] If the routing element information is a non-primary routing element, the non-primary routing element is sent to the global routing component 1021 to obtain the global routing element, and the unit information corresponding to the request message is calculated based on the unit number algorithm.

[0081] The routing and forwarding component 1013 sends the request message to the corresponding unit in the server 102 for processing according to the unit information.

[0082] This specification provides a system capable of accurate service allocation in a distributed architecture. The service allocation system in this solution includes a client-side unitization component, a service filtering component, and a routing forwarding component. The unitization component receives user request messages, determines their target service, and forwards them to the service filtering component. The service filtering component filters out request messages whose target service is a unitized service, determines their routing element information, and then determines whether the routing element information in the request message is a primary routing element. This allows for differentiation of routing elements by type, improving the reliability of unit information determination on the client side. If the routing element information is a pre-set primary routing element, the unit information corresponding to the request message can be calculated based on a preset unit number algorithm. If the routing element information is a non-primary routing element, it needs to be sent to the server-side global routing component to obtain the unit information corresponding to the request message. The system supports adding new routing element types and table name information to the global routing component, enabling rapid response with zero-code modification of existing routing elements. Finally, the routing and forwarding component sends the request message to the corresponding unit in the server for processing based on the unit information, thus realizing a complete unitized global routing system while taking into account efficiency, scalability and ease of use.

[0083] In the embodiments of this specification, to address the problem that existing designs cannot effectively distinguish routing element types, and that all routing element types such as customer number, account number, and ID number are processed through global routing requests, leading to high server load, a method is adopted to determine the information of the processing unit by processing different routing elements differently. This allows routing elements of the customer number type to cache the required information locally and then be processed directly locally, reducing the load on global routing and improving response efficiency. Simultaneously, the unitized architecture enables efficient and rapid retrieval of the target service address, better supports multi-active system deployment, completes transaction requests, and improves system scalability and reliability.

[0084] According to one embodiment of this specification, in order to determine whether the target service of a request message is a unitized service, the request message can be directly sent to the required unit, such as... Figure 3 As shown, determining the target service of the request message and sending it to the service filtering component further includes,

[0085] Step 301: Obtain the routing element information and service name of the request message based on the request message;

[0086] Step 302: Determine whether the target service of the request message is a unitized service based on the relevant routing configuration of the client, the routing element information, and the service name.

[0087] In the embodiments described in this specification, the unitization component 1011 is deployed on the client 101 that initiates the request. It is primarily responsible for parsing client-related routing configurations, obtaining routing elements and specific values, filtering service types, obtaining unit information for global routing requests, and filtering services by unit after obtaining the unit information. When client 101 sends a server request, the unitization component 1011 intercepts the request and determines whether it is a request for a non-unit service based on the configuration and the intercepted service name. If so, it filters the target service instance using the configured AZ (Data Center) information and sends the request to the server instance. Specifically, it determines whether the target service is a unitized service by judging whether it has a unit tag. The client uses these unit tags to filter the service list and obtain the required target service.

[0088] According to one embodiment of this specification, in order to determine whether the target service of a request message is a unitized service, thereby avoiding cross-service overhead, such as... Figure 4 As shown, determining whether the target service of the request message is a unitized service further includes,

[0089] Step 401: If the target service of the request message is a unitized service, then send the request message to the service filtering component;

[0090] Step 402: If the target service of the request message is a non-unitized service, then the request message is sent to the non-unitized service component in the server for processing.

[0091] In the embodiments of this specification, by distinguishing different routing element types, for primary routing elements such as customer numbers, the unit number can be calculated directly at the initiating end. For non-primary routing elements, a request message is assembled to request global routing to obtain unit information. For customer number types, the overhead of requesting global routing can be shortened. Specifically, when each request message type is initially sent to the server, its unit, AZ (Availability Zone), and other information are stored. Furthermore, the unit, AZ, and other information corresponding to each request type are stored in the routing forwarding component. After obtaining the unit information and corresponding AZ information of the request message, the routing forwarding component filters all instances of that service in the registry center to determine whether the target service of the request message is a unitized service, thereby reducing cross-AZ (data center) network overhead.

[0092] According to one embodiment of this specification, in order to prevent new transactions from occurring during data migration, such as Figure 5As shown, the service filtering component also includes,

[0093] The local cache information also includes unit change information;

[0094] Step 501: Query the main routing element based on the unit change information;

[0095] Step 502: If the main routing element is not found in the unit change information, the unit information corresponding to the request message is calculated based on the preset unit number algorithm.

[0096] Step 503: If the main routing element is found in the unit change information, the request message is sent to the server, and the server determines the unit information corresponding to the request message.

[0097] In the embodiments of this specification, the local cache information includes two caches. First, after obtaining the unit information, it is stored in a map cache through the routing element. If the same routing element appears in subsequent processes during this transaction, the unit information in the cache will be used directly. The cache is cleared after the transaction ends. Second, before performing unitization calculation, it is necessary to determine whether there is locking, unit migration, gray-scale testing, etc. This determination is made by querying the cache for the existence of the three types of data through the main routing element, i.e., the customer number. If it is in the process of migrating hot unit data, the user of the migrating unit will be locked during the migration to prevent new transactions from occurring during the data migration. After the data migration is completed, the data is unlocked and new online transactions can continue to be received. Therefore, the service filtering component stores unit change information, including designing a statistical table of routing registration information for each unit, scanning and statistics periodically. When new routing information is registered, the unit number is first calculated according to the algorithm, and the statistical table of each unit information is queried to confirm whether the unit is a hot unit. If not, the calculated unit number is returned. If it is, a non-hot unit is obtained from the unit information statistical table, and the customer number and unit information are registered in the migration unit table for subsequent queries.

[0098] Specifically, the service filtering component also includes,

[0099] The unit change information includes unit lock table information, gray unit level information, and unit migration information;

[0100] The server updates the unit change information according to the preset maintenance change plan and sends it to the service filtering component.

[0101] For example, if the request is for a unitized service, the routing element information corresponding to the request is first obtained, and it is determined whether it is the main routing element. If it is, the unit lock table information, gray unit information, and migration unit information in the local cache are queried. If the main routing element is not found in these information, the main routing element is calculated according to the unit number calculation algorithm, and the final unit information is returned.

[0102] According to one embodiment of this specification, in order to enable the allocation of request messages on the client side, such as Figure 6 As shown, if the routing element information is a non-primary routing element, it further includes:

[0103] Step 601: Perform matching in the global routing component to obtain the global routing elements associated with the non-primary routing elements;

[0104] Step 602: Calculate the unit information corresponding to the request message by performing calculations on the global routing elements according to the preset unit number algorithm;

[0105] Step 603: If the global routing elements do not include the non-primary routing elements, an error is reported. In another embodiment of this specification, for the global routing component, different types of routing elements are distinguished. Taking a financial scenario as an example, the customer number is selected as the primary routing element, and account number, ID number, and bill number are selected as non-primary routing elements. Non-primary routing elements can be dynamically expanded and added according to the actual business scenario, but all non-primary routing elements must be associated with primary routing elements. The final unit information needs to be obtained by modulo calculation of the primary routing element. For non-primary routing elements, the unit information needs to be obtained by modulo calculation of the associated primary routing element and then stored in the association table for subsequent queries. Specifically, for routing query transactions, if the customer number (primary routing element) is used, a direct query can be performed. If it is confirmed that the unit corresponding to the request does not belong to the unit lock table information, gray unit information, or migration unit information, the unit information can be obtained directly by modulo calculation of the number of units. If a non-primary routing element is used, the routing element association table needs to be queried to obtain the associated global route and unit change information, and then the unit information query can be performed. If a non-primary route element cannot be found in the route element association table, it indicates that the information is incorrect or the customer does not exist. Therefore, an error notification will be sent for manual processing.

[0106] According to one embodiment of this specification, such as Figure 7 As shown, the routing and forwarding component also includes,

[0107] Step 701: Filter the unit list in the server according to the unit information, and obtain at least one unit in the unit list that matches the unit information;

[0108] Step 702: Select a processing unit according to preset conditions and send the request message to the processing unit for processing.

[0109] In another embodiment of this specification, the server's local database stores and maintains parameter data. When the data changes, it notifies the configuration center of the parameter change. After receiving the configuration center's change notification, the client calls the parameter query interface to retrieve the changed parameter information from the server, parses it locally, puts it into the cache, and generates preset conditions based on the parameter information. This ensures that the client can query local memory when using data and can send request messages to the appropriate processing unit for processing, thereby improving the efficiency of request processing.

[0110] In the embodiments of this specification, a global routing system is designed under a complete unitized mechanism, supporting multiple routing elements and distinguishing routing element types. For primary routing elements such as client number, the client directly calculates the routing information, while other routing elements access the global routing system to obtain routing information. Service type determination is achieved through pre-configuration, avoiding unnecessary network access, improving query efficiency, and reducing global routing pressure. Furthermore, through the routing service forwarding component, unnecessary cross-unit network overhead is avoided, and service degradation and priority access within the local AZ (data center) are supported.

[0111] like Figure 8 The diagram shown is a structural schematic of a computer device according to an embodiment of this specification. The computer device in the embodiment of this specification can run the methods of the embodiment of this specification.

[0112] Computer device 802 may include one or more processing devices 804, such as one or more central processing units (CPUs), each of which may implement one or more hardware threads. Computer device 802 may also include any storage resource 806 for storing information of any kind, such as code, settings, data, etc. Non-limitingly, for example, storage resource 806 may include any combination of one or more of the following: any type of RAM, any type of ROM, flash memory devices, hard disks, optical disks, etc. More generally, any storage resource can use any technology to store information.

[0113] Furthermore, any storage resource can provide volatile or non-volatile retention of information.

[0114] Furthermore, any storage resource can represent a fixed or removable component of the computer device 802. In one case, when the processing device 804 executes associated instructions stored in any storage resource or combination of storage resources, the computer device 802 can perform any operation of the associated instructions. The computer device 802 also includes one or more drive systems 808 for interacting with any storage resource, such as a hard disk drive system, an optical disk drive system, etc.

[0115] Computer device 802 may also include an input / output module 810 (I / O) for receiving various inputs (via input device 812) and providing various outputs (via output device 814). A specific output mechanism may include a presentation device 816 and an associated graphical user interface 818 (GUI). In other embodiments, the input / output module 810 (I / O), input device 812, and output device 814 may be omitted, and the device may function solely as a computer device within a network. Computer device 802 may also include one or more network interfaces 820 for exchanging data with other devices via one or more communication links 822. One or more communication buses 824 couple the components described above together.

[0116] Communication link 822 can be implemented in any way, such as via a local area network, a wide area network (e.g., the Internet), a point-to-point connection, or any combination thereof. Communication link 822 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., governed by any protocol or combination of protocols.

[0117] This specification also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.

[0118] This specification also provides computer-readable instructions, wherein when a processor executes the instructions, the program therein causes the processor to perform the above-described method.

[0119] It should be understood that in the various embodiments of this specification, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this specification.

[0120] It should also be understood that, in the embodiments of this specification, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the embodiments of this specification, the character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0121] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this specification can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of the embodiments in this specification.

[0122] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0123] In the embodiments provided in this specification, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be indirect couplings or communication connections through some interfaces, devices, or units, or they may be electrical, mechanical, or other forms of connection.

[0124] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments described in this specification, depending on actual needs.

[0125] Furthermore, the functional units in the various embodiments of this specification can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0126] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this specification, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this specification. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0127] This specification describes the principles and implementation methods of the embodiments using specific examples. The above descriptions of the embodiments are only for the purpose of helping to understand the methods and core ideas of the embodiments in this specification. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the embodiments in this specification. Therefore, the content of this specification should not be construed as a limitation on the embodiments in this specification.

Claims

1. A service allocation system under a distributed architecture, characterized in that, The system includes: a client and a server. The client includes a unitized component, a service filtering component, and a routing and forwarding component; The unitized component obtains the request message sent by the user, determines the target service of the request message, and sends it to the service filtering component; The service filtering component obtains the routing element information corresponding to the request message of the target service being a unitized service based on the local cache information, and determines whether the routing element information is a main routing element. If the routing element information is a primary routing element, then the unit information corresponding to the request message is calculated based on the primary routing element according to the preset unit number algorithm. If the routing element information is a non-primary routing element, then the non-primary routing element is sent to the global routing component on the server to obtain the unit information corresponding to the request message; The primary routing element is the element whose unit number can be calculated directly at the initiating end; the non-primary routing element is the element that is dynamically expanded and added according to the actual business scenario, and is obtained by modulo calculation of the primary routing element. The routing and forwarding component sends the request message to the corresponding unit in the server for processing based on the unit information.

2. The service allocation system under a distributed architecture according to claim 1, characterized in that, Determining the target service of the request message and sending it to the service filtering component further includes, Obtain the routing element information and service name of the request message based on the request message; Based on the client's relevant routing configuration, the routing element information, and the service name, determine whether the target service of the request message is a unitized service.

3. The service allocation system under a distributed architecture according to claim 2, characterized in that, Determining whether the target service of the request message is a unitized service further includes, If the target service of the request message is a unitized service, then the request message is sent to the service filtering component; If the target service of the request message is a non-unitized service, the request message will be sent to the non-unitized service component in the server for processing.

4. The service allocation system under a distributed architecture according to claim 1, characterized in that, If the routing element information is a primary routing element, it also includes... The local cache information also includes unit change information; Query the main routing elements based on the unit change information; If the main routing element is not found in the unit change information, the unit information corresponding to the request message is calculated based on the preset unit number algorithm. If the primary routing element is found in the unit change information, the request message is sent to the server, which then determines the unit information corresponding to the request message.

5. The service allocation system under a distributed architecture according to claim 4, characterized in that, The service filtering component also includes The unit change information includes unit lock table information, gray unit level information, and unit migration information; The server updates the unit change information according to the preset maintenance change plan and sends it to the service filtering component.

6. The service allocation system under a distributed architecture according to claim 1, characterized in that, If the routing element information is a non-primary routing element, it further includes... The global routing component is used for matching to obtain the global routing elements associated with the non-primary routing elements; The unit information corresponding to the request message is obtained by calculating the global routing elements according to the preset unit number algorithm; If the global routing elements do not include the non-primary routing elements, an error will be reported.

7. The service allocation system under a distributed architecture according to claim 1, characterized in that, The routing and forwarding component also includes, The unit list in the server is filtered according to the unit information to obtain a unit in the unit list that matches the unit information; A processing unit is selected based on preset conditions, and the request message is sent to the processing unit for processing.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, When the processor executes the computer program, it implements the system according to any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the system of any one of claims 1 to 7.

10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the system of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, device and equipment for realizing customizable unitized routing component

    CN115118767A

  • Generating a minimum-cost circulation topology in a microservice mesh network

    US20210135973A1