Service request processing method and device, electronic equipment and medium

By introducing domain name management services in the distributed storage system, selecting the optimal service processing node based on client identification for request forwarding, the problem that the distributed storage system cannot connect to multiple data centers at the same time is solved, and load balancing and disaster recovery capabilities are improved in multi-site scenarios.

CN119766832AActive Publication Date: 2025-04-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411875604.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-04
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

The current distributed storage system cannot connect to multiple data centers at the same time, resulting in the inability to support load balancing between sites in multi-site usage scenarios. When one site fails, the user's business cannot automatically and quickly switch to another node.

Method used

Through the domain name management service, the service request sent by the client through the domain name is received, the target forwarding rules are determined based on the client identification, and the optimal service processing node in multiple data centers is selected for the request forwarding.

Benefits of technology

It realizes load balancing of multiple data centers in multi-site scenarios, ensuring that services automatically switch to other available data centers when one data center fails, and improves business processing capabilities, read and write performance and disaster recovery capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119766832A_ABST
    Figure CN119766832A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of distributed systems, in particular to a service request processing method and device, electronic equipment and a medium. In the application, after a domain name management service receives an external request, an optimal target service processing node can be determined from a plurality of service processing nodes included in a plurality of data centers; and then the request is forwarded to the target service processing node, so that the target service processing node analyzes and responds to the request. A client only needs to send a service request through a domain name, and a domain name management service can select an optimal service processing node from a plurality of service processing nodes corresponding to a plurality of data centers included in the distributed object storage system, so that the optimal service processing node can be selected when one or more data centers are busy or fail. And the service request can be directly forwarded to service processing nodes of other available data centers, so that the service processing capability, the read-write performance and the disaster recovery capability in a multi-site scene are greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of distributed systems, and mainly to a service request processing method, device, electronic equipment and medium. Background Art

[0002] In the current distributed object storage system, data synchronization between multiple sites (data centers) can be achieved. Specifically, objects uploaded at one site can be automatically synchronized to other sites. Information such as users and buckets created at the primary site can be automatically synchronized to other sites to ensure that metadata at each site is consistent. When data changes in any data center, all other data centers will monitor the change and perform the same operation, thereby ensuring that data in all data centers is exactly the same. Objects can be downloaded at any site to achieve the effect of remote disaster recovery.

[0003] When users access the object storage system, they can initiate various operation requests to the storage system through the RestAPI interface. After receiving the client's request, the storage system will respond to the corresponding request. Users can send requests to the RestAPI interface of the object storage by IP or domain name. Among them, when sending requests by IP, the request will only be sent to the node where the IP is located. Once the node fails, the service will be inaccessible. Requests sent by domain name will be resolved by domain name, and after resolution, they will be sent to one of the several nodes managed by the domain name.

[0004] In the current distributed storage system, whether through IP or domain name, it can only connect to one data center, and cannot connect to multiple data centers at the same time. In multi-site usage scenarios, it cannot support load balancing between sites. If a site fails, the user's business cannot be automatically and quickly switched to another node. The business can only be continued by modifying the user's business side configuration and connecting the business to another site. The operation is relatively complicated, and the switching configuration process will cause business interruption. This is unacceptable in some usage scenarios, especially in financial services, where there is a great demand for seamless automatic switching of services.

[0005] This shows that a new service request processing method is urgently needed. Summary of the invention

[0006] One of the purposes of this application is to propose a service request processing method to solve or at least partially solve the problems in the related art. The second purpose of this application is to provide a service request processing device, the third purpose of this application is to provide an electronic device, and the fourth purpose of this application is to provide a medium.

[0007] In order to achieve the above purpose, the technical solution of this application is as follows:

[0008] A method for processing a service request is applied to a domain name management service in a distributed object storage system, wherein the distributed object storage system includes multiple data centers, and one data center includes one or more service processing nodes. The method includes:

[0009] Receive a first service request sent by a client through a domain name, where the first service request carries a client identifier;

[0010] Determine a target forwarding rule based on the client identifier;

[0011] Determine a target business processing node from multiple business processing nodes included in multiple data centers based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, wherein the forwarding rule configuration parameters of the business processing node include: location information of the business processing node, network configuration information of the business processing node and forwarding priority information of the business processing node;

[0012] Assembling the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request;

[0013] The second service request is sent to the target service processing node.

[0014] Optionally, the method further comprises:

[0015] Creating a domain name for receiving the first service request;

[0016] Configure the IP address information of the service processing nodes of one or more data centers for the domain name, as well as the forwarding rule configuration parameters of each service processing node;

[0017] A forwarding rule is configured for the domain name, wherein the forwarding rule includes one or more of the following: a distance priority rule, a network priority rule, a specified priority rule, and a load balancing rule.

[0018] Optionally, the method further comprises:

[0019] Receiving a rule configuration request sent by a client via a domain name; the rule configuration request carries one or more forwarding rule identifiers;

[0020] Associating the client identifier of the client with the forwarding rule corresponding to the forwarding rule identifier in the rule configuration request, and saving to obtain an association table;

[0021] Determining a target forwarding rule based on the client identifier includes:

[0022] The association table is queried based on the client identifier, and the forwarding rule associated with the client is determined as the target forwarding rule.

[0023] Optionally, the target forwarding rule is a distance priority rule, and based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each service processing node, determining a target service processing node from multiple service processing nodes included in multiple data centers includes:

[0024] Determine a service processing node for the domain name configuration;

[0025] Determine the location information of each service processing node in the service processing node configured by the domain name;

[0026] Determining location information of the client;

[0027] Based on the location information of the client and the location information of each service processing node, a service processing node closest to the client is determined as a target service processing node.

[0028] Optionally, the target forwarding rule is a network priority rule, and based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each service processing node, determining a target service processing node from multiple service processing nodes included in multiple data centers includes:

[0029] Determine a service processing node for the domain name configuration;

[0030] Determine network configuration information of each service processing node in the service processing node configured by the domain name;

[0031] The service processing node with the best network configuration is determined as the target service processing node.

[0032] Optionally, the target forwarding rule is a specified priority rule, and based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, a target business processing node is determined from multiple business processing nodes included in multiple data centers, including:

[0033] Determine a service processing node for the domain name configuration;

[0034] Determining a designated priority of each service processing node in the service processing nodes configured for the domain name;

[0035] The service processing node with the highest designated priority is determined as the target service processing node.

[0036] Optionally, the target forwarding rule is a load balancing rule, and based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, determining the target business processing node from multiple business processing nodes included in multiple data centers includes:

[0037] Determine a service processing node for the domain name configuration;

[0038] Querying the load information of each service processing node in the service processing nodes configured for the domain name, wherein the load information represents the real-time service request processing volume of the service processing node and / or the real-time response duration of the service processing node;

[0039] Based on the load information of each business processing node configured in the domain name, the business processing node with the smallest load is determined from the business processing nodes configured in the domain name as the target business processing node, and the business processing node with the smallest load is the business processing node with the least real-time business request processing volume and / or the shortest real-time response time of the business processing node.

[0040] A service request processing device, the device is applied to a domain name management service in a distributed object storage system, the distributed object storage system includes multiple data centers, one data center includes one or more service processing nodes, the device includes:

[0041] A service request receiving module, configured to receive a first service request sent by a client via a domain name, wherein the first service request carries a client identifier;

[0042] A target forwarding rule determination module, used to determine a target forwarding rule based on the client identifier;

[0043] a forwarding IP selection module, configured to determine a target service processing node from a plurality of service processing nodes included in a plurality of data centers based on the domain name, the target forwarding rule, and forwarding rule configuration parameters of each service processing node, wherein the forwarding rule configuration parameters of the service processing node include: location information of the service processing node, network configuration information of the service processing node, and forwarding priority information of the service processing node;

[0044] A domain name resolution forwarding module is used to assemble the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request; and send the second service request to the target service processing node.

[0045] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned service request processing method when executing the computer program.

[0046] A non-volatile storage medium stores a computer program, which implements the above-mentioned service request processing method when executed by a processor.

[0047] Beneficial effects of this application:

[0048] In this application, after receiving an external request, the domain name management service can determine the optimal target business processing node from the multiple business processing nodes included in the multiple data centers according to the target forwarding rule corresponding to the client identifier, and use the IP address of the target business processing node as the forwarding IP address, and then forward the request to the corresponding target business processing node, so that the target business processing node can parse and respond to the request after receiving the request. In this application, the client only needs to send a business request through the domain name, and the domain name management service can select the optimal business processing node from the multiple business processing nodes corresponding to the multiple data centers included in the distributed object storage system, so that when one or more data centers are busy or fail, the business request can also be directly forwarded to the business processing nodes of other available data centers, which greatly improves the business processing capabilities, read and write performance, and disaster recovery capabilities in multi-site scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0050] Figure 1 is a flow chart of a method for processing a business request in an embodiment of the present application;

[0051] Figure 2 It is a logical diagram of the domain name forwarding rule configuration process in the service request processing method described in one embodiment of the present application;

[0052] Figure 3 It is a logical schematic diagram of the service request processing method described in one embodiment of the present application;

[0053] Figure 4 It is a schematic diagram of the framework of the service request processing device described in one embodiment of the present application.

[0054] Among them, 400 is a service request processing device, 401 is a service request receiving module, 402 is a target forwarding rule determination module, 403 is a forwarding IP selection module, and 404 is a domain name resolution forwarding module. DETAILED DESCRIPTION

[0055] The exemplary embodiments of the present application will be described in more detail below in conjunction with the accompanying drawings in the embodiments of the present application. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to enable the scope of the present application to be fully conveyed to those skilled in the art.

[0056] In one embodiment of the present application, referring to Figure 1 , Figure 1 FIG. 1 is a flow chart of a method for processing a service request in an embodiment of the present application. Figure 1 As shown, the method comprises the following steps:

[0057] S101, receiving a first service request sent by a client via a domain name, where the first service request carries a client identifier.

[0058] S102: Determine a target forwarding rule based on the client identifier.

[0059] S103: Determine a target service processing node from a plurality of service processing nodes included in a plurality of data centers based on the domain name, the target forwarding rule, and forwarding rule configuration parameters of each service processing node.

[0060] The forwarding rule configuration parameters of the service processing node include: location information of the service processing node, network configuration information of the service processing node, and forwarding priority information of the service processing node.

[0061] S104: Assemble the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request.

[0062] S105: Send the second service request to a target service processing node.

[0063] In the present application, the method is applied to a domain name management service in a distributed object storage system, wherein the distributed object storage system includes multiple data centers, and one data center includes one or more business processing nodes.

[0064] In this application, a distributed object storage system refers to a distributed storage system for unstructured data objects.

[0065] In this application, a data center (also called a site) is a storage system, also called a storage cluster, and each data center is configured with its own storage gateway and storage pool. A data center can have multiple object storage gateway instances.

[0066] In this application, the domain name management service can be configured in any data center, specifically in the primary data center.

[0067] In the present application, the domain name management service can also be independently configured on an electronic device, and the electronic device is communicatively connected to each data center in the distributed object storage system.

[0068] In this application, multiple data centers in a distributed object storage system can form a multi-site synchronization cluster, and metadata and data between sites will be automatically synchronized.

[0069] In this application, a domain name refers to an identifier on the Internet that is used to identify and locate a computer, server, or network service on the Internet. It is the part after "http: / / www." in a URL. For example, in the URL www.example.com, example.com is the domain name. The main function of a domain name is to map a human-readable string to an IP address on the Internet so that people can use a more memorable domain name to access a website.

[0070] In this application, the domain name management service can manage domain names and configure forwarding rules corresponding to the client, and forward business requests sent to the domain name management service according to the set forwarding rules, so as to achieve load balancing or preferential forwarding of multiple business processing nodes in multiple data centers in multi-site scenarios, thereby realizing the multi-site multi-active function of the distributed object storage system.

[0071] In the present application, in step S101, the client sends a first service request to a domain name management service via a domain name. The domain name is pre-configured by the domain name management service. By resolving the domain name, one or more service processing nodes in each data center can be obtained.

[0072] In the present application, in step S102, the domain name management service can determine the target forwarding rule corresponding to the client currently sending the first service request based on the client identifier. In the present application, different clients can be configured with different forwarding rules to meet the actual needs of the client.

[0073] In the present application, in step S103, multiple business processing nodes configured for the domain name and forwarding rule configuration parameters of each business processing node can be determined according to the domain name, and the target forwarding rule can be used to determine the optimal business processing node that meets the target forwarding rule as the target processing node.

[0074] In the present application, the target forwarding rule may be one or more of a distance priority rule, a network priority rule, a specified priority rule, and a load balancing rule.

[0075] In the present application, the domain name management service can determine its priority under the target forwarding rule based on the forwarding rule configuration parameters of the business processing node (location information of the business processing node, network configuration information of the business processing node, and forwarding priority information of the business processing node).

[0076] For example, for the distance priority rule, the distance between the service processing node and the client can be determined according to the location information of the service processing node and the location information of the client, thereby determining the priority of each service processing node based on the distance.

[0077] In the present application, in step S104, the domain name management service can assemble the first business request according to the determined IP address information of the target business processing node, change the request source to the source address of the client, and determine the target address as the IP address information of the target business processing node. Thus, the second business request assembled in step S105 is forwarded to the optimal IP address so that the target business processing node processes the business request, such as uploading or downloading objects. After completing the processing of the business request, the target business processing node can directly return a response to the client based on the source address of the client. In the present application, the IP address information of the business processing node can be a physical IP or a virtual IP.

[0078] In this application, through the domain name management service, business requests can be sent to the optimal business processing nodes in multiple data centers for processing, so that when a data center fails, the business requests can be automatically switched to another data center according to certain rules, without the user's awareness. This not only avoids the tedious operation of manual business switching, but also avoids business interruptions caused by manual business switching. Not only can business load balancing be performed in multiple sites, but the optimal business processing cluster and processing node can also be selected according to the set rules, which greatly improves the business processing capabilities, read and write performance and disaster recovery capabilities in multi-site scenarios, brings customers a good user experience, and enriches the functions of object storage.

[0079] In one embodiment of the present application, based on the above embodiment, the method further includes the following steps:

[0080] S201: Create a domain name for receiving the first service request.

[0081] S202: configure the IP address information of the service processing nodes of one or more data centers and the forwarding rule configuration parameters of each service processing node for the domain name.

[0082] S203, configuring a forwarding rule for the domain name, wherein the forwarding rule includes one or more of the following: a distance priority rule, a network priority rule, a specified priority rule, and a load balancing rule.

[0083] Based on the above steps S201 to S203, the domain name configured by the domain name management service can be added, deleted, modified and checked.

[0084] Reference Figure 2 , which shows a schematic diagram of the domain name forwarding rule configuration process in this application. In this application, you can first create a domain name and configure the forwarding IP information. In this application, the forwarding IP information includes the IP address information of the business processing node, and the forwarding rule configuration parameters of each business processing node, such as: IP address, IP node distance, interface network configuration, priority, etc. Further configure the forwarding rules of the domain name. After the configuration is completed, the domain name & configured policy information is persisted to complete the configuration of the domain name forwarding rules.

[0085] Specifically, in this application, different domain names can be created for different service requests, and multiple corresponding service processing nodes can be configured for each domain name. In this application, multiple service processing nodes configured for the same domain name refer to nodes in each data center that accept and process the same service.

[0086] In this application, different forwarding rules can also be configured for each domain name according to the actual needs of different services targeted by each domain name. For example, a network priority rule can be configured for services with higher network bandwidth requirements.

[0087] In the present application, when a business processing node changes, the domain name configuration corresponding to the business processing node can also be modified through the domain name management service. Specifically, the business processing nodes configured by the domain name can be added or deleted, and the forwarding rule configuration parameters of the business processing nodes configured by the domain name can also be modified.

[0088] In the present application, since the domain name management service configures the IP address information of multiple business processing nodes in one or more data centers and the forwarding rule configuration parameters of each business processing node for each domain name, the domain name management service can receive business requests sent by the client through the domain name and determine the optimal business processing node for processing the business request from multiple data centers.

[0089] In the present application, in step S203, multiple forwarding rules can be configured for the domain name so that the client can choose according to its own needs. Among them, the load balancing rule can be used as the default forwarding rule. When the client does not select any forwarding rule, the service request sent by the client is processed based on the forwarding rule.

[0090] In the present application, the algorithm logic of the distance priority rule may be: determining the priority of each service processing node for the current service request according to the distance between the service processing node and the client. The algorithm logic of the network priority rule may be: determining the priority of each service processing node for the current service request according to the network configuration of the service processing node. The algorithm logic of the designated priority rule may be: determining the priority according to the service processing priority pre-specified by each service processing node. The algorithm logic of the load balancing rule may be: determining the priority of each service processing node according to the actual load situation of each service processing node.

[0091] In one embodiment of the present application, based on the above embodiment, the method further includes the following steps:

[0092] S1, receiving a rule configuration request sent by a client via a domain name; the rule configuration request carries one or more forwarding rule identifiers.

[0093] S2, associating the client identifier of the client with the forwarding rule corresponding to the forwarding rule identifier in the rule configuration request, and saving to obtain an association table.

[0094] In this embodiment, the step S102 specifically includes: querying the association table based on the client identifier, and determining the forwarding rule associated with the client as the target forwarding rule.

[0095] In this application, users can determine forwarding rules according to their own needs, and send rule configuration requests to the domain name management service through the client based on the domain name, and the domain name management service receives and records the forwarding rules selected by each client. After receiving the service request sent by the client, the forwarding rule pre-selected by the client is determined based on the client's identifier.

[0096] In one embodiment of the present application, based on the above embodiment, when the target forwarding rule determined in step S102 is a distance priority rule, step S103 includes:

[0097] S1031A, determine the service processing node configured for the domain name.

[0098] S1032A: Determine the location information of each service processing node in the service processing nodes configured by the domain name.

[0099] S1033A, determine the location information of the client.

[0100] S1034A: Based on the location information of the client and the location information of each service processing node, determine the service processing node closest to the client as the target service processing node.

[0101] In the present application, after receiving a first service request sent by a client via a domain name, multiple service processing nodes configured for the domain name can be obtained based on the domain name resolution, and the multiple service processing nodes may include: service processing nodes of multiple data centers.

[0102] In the present application, the location information of the client can be determined based on the client identifier carried in the first service request, and the location information of each service processing node can be determined based on the forwarding rule configuration parameters of each of the multiple service processing nodes configured by the domain name. Then, the distance between each service processing node and the client can be calculated, and the service processing node closest to the client is used as the target service processing node.

[0103] In one embodiment of the present application, based on the above embodiment, when the target forwarding rule determined in step S102 is a network priority rule, step S103 includes:

[0104] S1031B: Determine a service processing node for the domain name configuration.

[0105] S1032B: Determine network configuration information of each service processing node in the service processing node configured with the domain name.

[0106] S1033B: determine the service processing node with the best network configuration as the target service processing node.

[0107] In the present application, after receiving a first service request sent by a client via a domain name, multiple service processing nodes configured for the domain name can be obtained based on the domain name resolution, and the multiple service processing nodes may include: service processing nodes of multiple data centers.

[0108] In the present application, the network configuration information of each service processing node can be determined based on the forwarding rule configuration parameters of each of the multiple service processing nodes configured by the domain name, and the service processing node with the nearest network configuration information can be used as the target service processing node.

[0109] In one embodiment of the present application, based on the above embodiment, when the target forwarding rule determined in step S102 is a specified priority rule, step S103 includes:

[0110] S1031C: Determine a service processing node for the domain name configuration.

[0111] S1032C: Determine a designated priority of each service processing node in the service processing nodes configured for the domain name.

[0112] S1033C: Determine the service processing node with the highest designated priority as the target service processing node.

[0113] In the present application, after receiving a first service request sent by a client via a domain name, multiple service processing nodes configured for the domain name can be obtained based on the domain name resolution, and the multiple service processing nodes may include: service processing nodes of multiple data centers.

[0114] In the present application, the designated priority of each service processing node can be determined based on the forwarding priority information in the forwarding rule configuration parameters of each of the multiple service processing nodes configured in the domain name, and the service processing node with the highest designated priority can be used as the target service processing node.

[0115] In one embodiment of the present application, based on the above embodiment, when the target forwarding rule determined in step S102 is a load balancing rule, step S103 includes:

[0116] S1031D: Determine the service processing node configured for the domain name.

[0117] S1032D: query the load information of each service processing node in the service processing nodes configured by the domain name, wherein the load information represents the real-time service request processing volume of the service processing node and / or the real-time response duration of the service processing node.

[0118] S1033D, based on the load information of each business processing node configured in the domain name, determine the business processing node with the smallest load from the business processing nodes configured in the domain name as the target business processing node, and the business processing node with the smallest load is the business processing node with the least real-time business request processing volume and / or the shortest real-time response time of the business processing node.

[0119] In the present application, after receiving a first service request sent by a client via a domain name, multiple service processing nodes configured for the domain name can be obtained based on the domain name resolution, and the multiple service processing nodes may include: service processing nodes of multiple data centers.

[0120] In this application, the domain name management service can query the load information of each business processing node. The load information can be the real-time business request processing volume of each business processing node, or the real-time response time of each business processing node. The real-time business request processing volume and the real-time response time can also be considered at the same time to send the business request to the business processing node with the smallest load. The balanced distribution of business requests is completed to maximize the processing efficiency of the entire distributed object storage system.

[0121] For example, when the business processing nodes configured for domain name A are nodes a, b, and c, the real-time business request processing volume and real-time response time of the three nodes can be queried respectively. If a node has the smallest real-time business request processing volume and the smallest real-time response time, the node is selected as the optimal node. When the minimum real-time business request processing volume and the minimum real-time response time are two different nodes, the optimal node can be determined according to a pre-set load balancing algorithm. For example, when the pre-set load balancing algorithm is to give priority to the node with the smallest real-time response time, the node with the smallest real-time response time is selected as the optimal node.

[0122] In the present application, the domain name management service may also send each received service request to each service processing node in sequence, so that each service processing node processes the service request in turn, thereby achieving balanced distribution of the service requests.

[0123] For ease of understanding, an embodiment is also provided in this application. Figure 3 , Figure 3 This is a logical diagram of the service request processing method described in the embodiment of the present application, such as Figure 3 As shown, the method includes:

[0124] Step 1: Receive a first service request sent by a client via a domain name.

[0125] Step 2: Determine the target forwarding rule based on the client identifier.

[0126] Step 3: determine whether the target forwarding rule is a distance priority rule. If yes, determine the service processing node closest to the client as the target service processing node, and go to step 7. If no, go to step 4.

[0127] Step 4: determine whether the target forwarding rule is a network priority rule. If yes, determine the service processing node with the best network configuration as the target service processing node, and go to step 7. If no, go to step 5.

[0128] Step 5: determine whether the target forwarding rule is a specified priority rule. If yes, determine the service processing node with the highest specified priority as the target service processing node, and go to step 7. If no, go to step 6.

[0129] Step 6, determine whether the target forwarding rule is a load balancing rule, if yes, determine the service processing node with the smallest load as the target service processing node, and go to step 7. If no, determine that the client does not specify a target forwarding rule, use the load balancing rule as the target forwarding rule, and determine the service processing node with the smallest load as the target service processing node.

[0130] Step 7: Assemble the first service request to obtain a second service request, and send the second service request to the IP address corresponding to the target service processing node.

[0131] Step 8: Determine whether the transmission is successful. If the transmission fails, determine the next best service processing node according to the above steps.

[0132] In one embodiment of the present application, based on the above embodiment, in step S203, when multiple forwarding rules are configured for a domain name, the priority of each forwarding rule can also be configured, for example: the priority of the distance priority rule is greater than the network priority rule, which is greater than the specified priority rule, which is greater than the load balancing rule.

[0133] In actual application, the client may request to configure multiple forwarding rules in step S1, so that the domain name management service associates the identifier of the client with the multiple forwarding rule representations and saves them.

[0134] In the case of receiving the service request of the client, multiple target forwarding rules are determined. In this case, if there are multiple nodes that are optimal service processing nodes under the target forwarding rules, the node can be directly used as the target processing node. If the optimal service processing nodes corresponding to the multiple target forwarding rules are different nodes, the optimal service node corresponding to the forwarding rule with the highest priority can be used as the target processing node according to the priority of each forwarding rule. Correspondingly, in the case of failure to send the target processing node, the optimal service node corresponding to the next priority can be used as the target processing node according to the priority order of the forwarding rules.

[0135] For example, assume that the target forwarding rules corresponding to client 1 include: distance priority rule and load balancing rule, and the forwarding rule priority pre-configured by the domain name management service for domain name A is: distance priority rule is greater than load balancing rule, and the multiple business processing nodes configured for domain name A are node a, node b, and node c. Then, when the domain name management service receives the business request sent by client 1 through domain name A, it determines that the distances of node a, node b, and node c from client 1 are: node a is greater than node b, greater than node c, and the load information of each node is node a is greater than node b, greater than node c. Then, according to the forwarding rule priority, node a can be used as the target business processing node, and in the case of failure to send the business request to node a, node c can be used as the target business processing node. Therefore, in this application, the multiple forwarding rules selected by the client and the actual situation of each business processing node can be comprehensively considered to comprehensively determine the optimal business processing node, and further improve the business processing capability, read and write performance, and disaster recovery capability in multi-site scenarios.

[0136] In the present application, the domain name management service can also be used to monitor the monitoring indicators of multiple business processing nodes included in each data center during the domain name resolution process. Specifically, the monitoring indicators may include: the response time of the business processing node, the business processing success rate of the business processing node, the business traffic of the business processing node, the CPU utilization rate of the data center, the memory utilization rate, and the network bandwidth utilization rate.

[0137] In this application, monitoring the response time of each business processing node can evaluate the service performance of the business processing node. Monitoring the business processing success rate of each business processing node can detect the service reliability of the business processing node. Monitoring the CPU usage, memory usage, and network bandwidth usage of each data center can determine the load of each data center, and monitoring the traffic of each business processing node can identify abnormal traffic or potential attacks.

[0138] Specifically, a threshold value may be set for each monitoring indicator, and when a monitoring indicator exceeds the threshold value, it is determined that an abnormality is found.

[0139] In the present application, the monitoring indicators of multiple business processing nodes included in each data center are monitored separately to timely discover abnormal data centers so as to perform abnormal analysis and processing on them.

[0140] In this application, a real-time report of monitoring indicators of each business processing node included in each data center in the distributed object storage system can be generated to display the service status and performance indicators of each current business node. Thus, in the event of an abnormality in a data center, the real-time report can be provided to the technicians for abnormality analysis and processing.

[0141] In the present application, when it is determined that a data center has an abnormality, all business processing nodes of the data center can be regarded as abnormal. In the process of determining the target business processing node based on the client forwarding rules, all business network processing nodes included in the abnormal data center are not considered.

[0142] Furthermore, in the present application, it is also possible to determine whether the forwarding rule of the client is optimal based on the real-time data of the monitoring indicators of each business processing node. If the forwarding rule of the client does not conform to the actual situation of the business processing nodes of each data center, adjustment information about the forwarding rule can be generated to prompt the user to adjust the forwarding rule to optimize service performance and load balancing. For example: assuming that the forwarding rule selected by the user is distance priority, but the response time of the business processing node closest to the client is greater than the preset response time threshold, a prompt message can be sent to the client to prompt the client to select other forwarding rules (for example: network priority rule).

[0143] In one embodiment of the present application, referring to Figure 4 , Figure 4 FIG. 4 is a schematic diagram of the architecture of a service request processing device 400 in an embodiment of the present application. Figure 4 As shown, the device is applied to a domain name management service in a distributed object storage system, the distributed object storage system includes multiple data centers, one data center includes one or more business processing nodes, and the device includes:

[0144] A service request receiving module 401 is configured to receive a first service request sent by a client via a domain name, wherein the first service request carries a client identifier;

[0145] A target forwarding rule determination module 402, configured to determine a target forwarding rule based on the client identifier;

[0146] The forwarding IP selection module 403 is used to determine a target business processing node from multiple business processing nodes included in multiple data centers based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, wherein the forwarding rule configuration parameters of the business processing node include: location information of the business processing node, network configuration information of the business processing node and forwarding priority information of the business processing node;

[0147] The domain name resolution forwarding module 404 is used to assemble the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request; and send the second service request to the IP address corresponding to the target service processing node.

[0148] Optionally, the device further comprises:

[0149] A domain name and forwarding rule management module is used to create a domain name for receiving the first service request; configure the IP address information of the service processing nodes of one or more data centers and the forwarding rule configuration parameters of each service processing node for the domain name; configure forwarding rules for the domain name, wherein the forwarding rules include one or more of the following: distance priority rule, network priority rule, specified priority rule and load balancing rule.

[0150] Optionally, the device further comprises:

[0151] A configuration request receiving module, used to receive a rule configuration request sent by a client via a domain name; the rule configuration request carries one or more forwarding rule identifiers; associate the client identifier of the client with the forwarding rule corresponding to the forwarding rule identifier in the rule configuration request, and save to obtain an association table;

[0152] The target forwarding rule determination module 402 is specifically used to:

[0153] The association table is queried based on the client identifier, and the forwarding rule associated with the client is determined as the target forwarding rule.

[0154] Optionally, the target forwarding rule is a distance priority rule, and the forwarding IP selection module 403 is specifically used to:

[0155] Determine a service processing node for the domain name configuration;

[0156] Determine the location information of each service processing node in the service processing node configured by the domain name;

[0157] Determining location information of the client;

[0158] Based on the location information of the client and the location information of each service processing node, a service processing node closest to the client is determined as a target service processing node.

[0159] Optionally, the target forwarding rule is a network priority rule, and the forwarding IP selection module 403 is specifically used to:

[0160] Determine a service processing node for the domain name configuration;

[0161] Determine network configuration information of each service processing node in the service processing node configured by the domain name;

[0162] The service processing node with the best network configuration is determined as the target service processing node.

[0163] Optionally, the target forwarding rule is a specified priority rule, and the forwarding IP selection module 403 is specifically used to:

[0164] Determine a service processing node for the domain name configuration;

[0165] Determining a designated priority of each service processing node in the service processing nodes configured for the domain name;

[0166] The service processing node with the highest designated priority is determined as the target service processing node.

[0167] Optionally, the target forwarding rule is a load balancing rule, and the forwarding IP selection module 403 is specifically used to:

[0168] Determine a service processing node for the domain name configuration;

[0169] Querying the load information of each service processing node in the service processing nodes configured for the domain name, wherein the load information represents the real-time service request processing volume of the service processing node and / or the real-time response duration of the service processing node;

[0170] Based on the load information of each business processing node configured in the domain name, the business processing node with the smallest load is determined from the business processing nodes configured in the domain name as the target business processing node, and the business processing node with the smallest load is the business processing node with the least real-time business request processing volume and / or the shortest real-time response time of the business processing node.

[0171] In the present application, the description of the device embodiment is relatively short, and specific details can be referred to the above method embodiment, which will not be repeated here.

[0172] In one embodiment of the present application, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned service request processing method when executing the computer program.

[0173] In one embodiment of the present application, a non-volatile storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the service request processing method described in the above embodiment is implemented.

[0174] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0175] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0176] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0177] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0178] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0179] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0180] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0181] The above is a detailed introduction to a business request processing method, device, electronic device and medium provided. Specific examples are used in this article to illustrate the principles and embodiments of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific embodiments and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for processing a business request, characterized in that: The method is applied to a domain name management service in a distributed object storage system, wherein the distributed object storage system includes multiple data centers, and one data center includes one or more business processing nodes. The method includes: Receive a first service request sent by a client through a domain name, where the first service request carries a client identifier; Determine a target forwarding rule based on the client identifier; Determine a target business processing node from multiple business processing nodes included in multiple data centers based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, wherein the forwarding rule configuration parameters of the business processing node include: location information of the business processing node, network configuration information of the business processing node and forwarding priority information of the business processing node; Assembling the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request; The second service request is sent to the target service processing node.

2. The service request processing method according to claim 1, characterized in that: The method further comprises: Creating a domain name for receiving the first service request; Configure the IP address information of the service processing nodes of one or more data centers for the domain name, as well as the forwarding rule configuration parameters of each service processing node; A forwarding rule is configured for the domain name, wherein the forwarding rule includes one or more of the following: a distance priority rule, a network priority rule, a specified priority rule, and a load balancing rule.

3. The service request processing method according to claim 2, characterized in that: The method further comprises: Receiving a rule configuration request sent by a client via a domain name; the rule configuration request carries one or more forwarding rule identifiers; Associating the client identifier of the client with the forwarding rule corresponding to the forwarding rule identifier in the rule configuration request, and saving to obtain an association table; Determining a target forwarding rule based on the client identifier includes: The association table is queried based on the client identifier, and the forwarding rule associated with the client is determined as the target forwarding rule.

4. The service request processing method according to claim 1, characterized in that: The target forwarding rule is a distance priority rule, and based on the domain name, the target forwarding rule and the forwarding rule configuration parameters of each service processing node, a target service processing node is determined from multiple service processing nodes included in multiple data centers, including: Determine a service processing node for the domain name configuration; Determine the location information of each service processing node in the service processing node configured by the domain name; Determining location information of the client; Based on the location information of the client and the location information of each service processing node, a service processing node closest to the client is determined as a target service processing node.

5. The service request processing method according to claim 1, characterized in that: The target forwarding rule is a network priority rule, and based on the domain name, the target forwarding rule and the forwarding rule configuration parameters of each service processing node, a target service processing node is determined from multiple service processing nodes included in multiple data centers, including: Determine a service processing node for the domain name configuration; Determine network configuration information of each service processing node in the service processing node configured by the domain name; The service processing node with the best network configuration is determined as the target service processing node.

6. The service request processing method according to claim 1, characterized in that: The target forwarding rule is a specified priority rule, and based on the domain name, the target forwarding rule and the forwarding rule configuration parameters of each business processing node, a target business processing node is determined from multiple business processing nodes included in multiple data centers, including: Determine a service processing node for the domain name configuration; Determining a designated priority of each service processing node in the service processing nodes configured for the domain name; The service processing node with the highest designated priority is determined as the target service processing node.

7. The service request processing method according to claim 1, characterized in that: The target forwarding rule is a load balancing rule, and based on the domain name, the target forwarding rule and forwarding rule configuration parameters of each business processing node, a target business processing node is determined from multiple business processing nodes included in multiple data centers, including: Determine a service processing node for the domain name configuration; Querying the load information of each service processing node in the service processing nodes configured for the domain name, wherein the load information represents the real-time service request processing volume of the service processing node and / or the real-time response duration of the service processing node; Based on the load information of each business processing node configured in the domain name, the business processing node with the smallest load is determined from the business processing nodes configured in the domain name as the target business processing node, and the business processing node with the smallest load is the business processing node with the least real-time business request processing volume and / or the shortest real-time response time of the business processing node.

8. A service request processing device, characterized in that: The device is applied to a domain name management service in a distributed object storage system, wherein the distributed object storage system includes multiple data centers, and one data center includes one or more business processing nodes. The device includes: A service request receiving module, configured to receive a first service request sent by a client via a domain name, wherein the first service request carries a client identifier; A target forwarding rule determination module, used to determine a target forwarding rule based on the client identifier; a forwarding IP selection module, configured to determine a target service processing node from a plurality of service processing nodes included in a plurality of data centers based on the domain name, the target forwarding rule, and forwarding rule configuration parameters of each service processing node, wherein the forwarding rule configuration parameters of the service processing node include: location information of the service processing node, network configuration information of the service processing node, and forwarding priority information of the service processing node; A domain name resolution forwarding module is used to assemble the first service request based on the source address of the client and the IP address information of the target service processing node to obtain a second service request; and send the second service request to the target service processing node.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the service request processing method according to any one of claims 1 to 7 is implemented.

10. A non-volatile storage medium, characterized in that: A computer program is stored thereon, and when the program is executed by a processor, the service request processing method as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Server security defense method and system, communication equipment and storage medium

    CN112565318A

  • Data processing method and device, gateway and readable storage medium

    CN116939040A

  • Service request processing method and device, equipment and storage medium

    CN117555927A

  • Cloud network system, communication method, device, storage medium, and program product

    CN118488101A

  • Technologies for providing adaptive data access request routing in a distributed storage system

    US20190042133A1