A service processing method, device, apparatus and system

CN109635020BActive Publication Date: 2026-10-27ADVANCED NEW TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201811269229.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-10-29
Publication Date
2026-10-27
Estimated Expiration
2038-10-29

AI Technical Summary

Technical Problem

[0004]本说明书实施例的目的是提供一种业务的处理方法、装置、设备及系统,以提供一种异地容灾机制以应对如发生城市级灾难而导致相关服务不可用等问题

Benefits of technology

[0085]由以上本说明书实施例提供的技术方案可见,本说明书实施例可以应用于处于预定区域范围内的第一服务器,通过在接收到目标业务的业务请求时,基于该业务请求执行目标业务,并将该业务请求中包含的账户标识对应的目标账户信息发送给目标业务的第二服务器,以使第二服务器存储或更新目标账户信息,其中,第二服务器处于预定区域范围之外,这样,将属于预定区域范围内的第一服务器的业务请求对应的目标账户信息发送给预定区域范围之外的第二服务器存储,当预定区域范围内的服务器(如同城服务器)出现异常时,可以通过预定区域范围之外第二服务器(如异地服务器),基于相应的账户信息执行请求的目标业务,从而不会中断目标业务的执行,达到了异地容灾的目的,提高用户体验。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN109635020B_ABST
    Figure CN109635020B_ABST
Patent Text Reader

Abstract

The embodiment of the present specification discloses a kind of processing method, device, equipment and system of business, the method is applied to the first server in predetermined area range, the method includes: receiving the service request of target business, the account identifier is included in the service request;The target business is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target business, to make the second server store or update the target account information, wherein the second server is outside the predetermined area range.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a business processing method, apparatus, equipment and system. Background Technology

[0002] Disaster recovery capability is an essential capability of a core system. It needs to be able to switch functions or services when a certain function or business becomes unavailable in a certain area, and provide related services through the servers in another data center.

[0003] Currently, large financial companies and banks generally possess localized disaster recovery capabilities. This allows them to easily switch to another local data center when a server in one city becomes unavailable to provide a specific function or service. However, building off-site disaster recovery capabilities is equally crucial. In the event of a city-wide disaster causing a function or service to become unavailable (or unavailable) within a city, the ability to restore all or most of those services is essential. Therefore, off-site disaster recovery is necessary, and a mechanism is required to address service unavailability caused by city-wide disasters. Summary of the Invention

[0004] The purpose of the embodiments in this specification is to provide a business processing method, apparatus, equipment, and system to provide an off-site disaster recovery mechanism to deal with problems such as the unavailability of related services due to city-level disasters.

[0005] To solve the above-mentioned technical problems, the embodiments in this specification are implemented as follows:

[0006] This specification provides an embodiment of a service processing method applied to a first server located within a predetermined area. The method includes:

[0007] Receive a service request for the target service, wherein the service request includes an account identifier;

[0008] The target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0009] Optionally, executing the target service based on the service request includes:

[0010] The target service is executed based on the service request, and the execution result is obtained;

[0011] The system calls back the status information of the second server storing or updating the target account information, and determines whether the execution of the target business is successful based on the status information and the execution result. The status information includes whether the storage or update was successful, failed, or timed out.

[0012] Optionally, the step of executing the target service based on the service request and sending the target account information corresponding to the account identifier to the second server of the target service includes:

[0013] If the status information indicates storage or update failure or timeout, the target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service.

[0014] Optionally, the step of executing the target service based on the service request to obtain the execution result includes:

[0015] According to the business request, the third server of the target business is invoked to execute the target business and the execution result is obtained. The third server is another server other than the first server within the predetermined area.

[0016] Optionally, sending the target account information corresponding to the account identifier to the second server of the target service includes:

[0017] The target account information corresponding to the account identifier is sent to the second server of the target business via an asynchronous RPC interface.

[0018] This specification provides an embodiment of a service processing method applied to a second server located outside a predetermined area. The method includes:

[0019] The first server receives target account information sent by the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within the predetermined area.

[0020] If the redundant database does not contain the account information corresponding to the account identifier, then the target account information is stored in the redundant database;

[0021] If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database.

[0022] Optionally, the method further includes:

[0023] When the predetermined database synchronization period is reached, the data in the main database corresponding to the target business is synchronized with the data in the local backup database. The main database includes the account information corresponding to the account identifier.

[0024] Optionally, the method further includes:

[0025] When the first server malfunctions, the service request for the target service sent to the first server is obtained, and the service request includes the account identifier;

[0026] The account information corresponding to the account identifier is initialized based on the account identifier.

[0027] If the initialization process is successful, the target service is executed based on the service request.

[0028] Optionally, the initialization process of the account information corresponding to the account identifier based on the account identifier includes:

[0029] Based on the account identifier, check whether the redundant database and the backup database contain the account identifier;

[0030] If the redundant database contains the account identifier but the backup database does not, then the target account information corresponding to the account identifier in the redundant database is used as the initialization data, and the initialization process is determined to be successful.

[0031] Optionally, the method further includes:

[0032] If the redundant database does not contain the account identifier, but the backup database does contain the account identifier, then obtain the delay duration corresponding to the backup database;

[0033] If the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as initialization data, and the initialization process is determined to be successful.

[0034] Optionally, the method further includes:

[0035] If both the redundant database and the backup database contain the account identifier, then the first time when the redundant database stores the target account information and the second time when the backup database stores the account information corresponding to the account identifier are determined.

[0036] If the second time is before the first time, and the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as initialization data, and the initialization process is determined to be successful.

[0037] If the first time is before the second time, the target account information in the redundant database is used as initialization data, and the initialization process is determined to be successful.

[0038] This specification provides an embodiment of a business processing apparatus, the apparatus comprising:

[0039] The request receiving module is used to receive a service request for the target service, wherein the service request includes an account identifier;

[0040] The processing module is configured to execute the target service based on the service request and send the target account information corresponding to the account identifier to the second server of the target service, so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0041] Optionally, the processing module includes:

[0042] A business execution unit is used to execute the target business based on the business request and obtain the execution result;

[0043] The callback unit is used to call back the status information of the second server storing or updating the target account information, and to determine whether the execution of the target business is successful based on the status information and the execution result. The status information includes whether the storage or update was successful, failed, or timed out.

[0044] Optionally, the processing module is configured to execute the target service based on the service request if the status information indicates storage or update failure or timeout, and send the target account information corresponding to the account identifier to the second server of the target service.

[0045] Optionally, the service execution unit is configured to invoke a third server of the target service to execute the target service according to the service request and obtain an execution result, wherein the third server is another server within the predetermined area other than the first server.

[0046] Optionally, the processing module is configured to send the target account information corresponding to the account identifier to the second server of the target service via an asynchronous RPC interface.

[0047] This specification provides an embodiment of a business processing apparatus, the apparatus comprising:

[0048] The information receiving module is used to receive target account information sent by a first server of the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within the predetermined area.

[0049] The storage module is used to store the target account information in the redundant database if the redundant database does not contain the account information corresponding to the account identifier.

[0050] The update module is used to update the account information corresponding to the account identifier in the redundant database using the target account information if the redundant database contains account information corresponding to the account identifier.

[0051] Optionally, the device further includes:

[0052] The synchronization module is used to synchronize the data in the main database corresponding to the target business with the data in the local backup database when the predetermined database synchronization period is reached. The main database includes the account information corresponding to the account identifier.

[0053] Optionally, the device further includes:

[0054] The request acquisition module is used to acquire the business request of the target service sent to the first server when the first server is abnormal, and the business request includes the account identifier;

[0055] The first initialization module is used to initialize the account information corresponding to the account identifier based on the account identifier;

[0056] The business execution module is used to execute the target business based on the business request if the initialization process is successful.

[0057] Optionally, the first initialization module includes:

[0058] The search unit is used to search whether the account identifier is contained in the redundant database and the backup database based on the account identifier;

[0059] An initialization unit is configured to, if the redundant database contains the account identifier but the backup database does not contain the account identifier, use the target account information corresponding to the account identifier in the redundant database as initialization data and determine that the initialization process is successful.

[0060] Optionally, the device further includes:

[0061] The delay acquisition module is used to acquire the delay duration corresponding to the backup database if the redundant database does not contain the account identifier but the backup database does.

[0062] The second initialization module is used to use the account information corresponding to the account identifier in the backup database as initialization data if the delay duration corresponding to the backup database is within a predetermined delay threshold range, and to determine that the initialization process is successful.

[0063] Optionally, the device further includes:

[0064] The storage time determination module is used to determine, if both the redundant database and the backup database contain the account identifier, a first time when the redundant database stores the target account information and a second time when the backup database stores the account information corresponding to the account identifier.

[0065] The third initialization module is used to use the account information corresponding to the account identifier in the backup database as initialization data if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, and to determine that the initialization process is successful.

[0066] The fourth initialization module is used to use the target account information in the redundant database as initialization data if the first time is before the second time, and to determine that the initialization process is successful.

[0067] This specification provides an embodiment of a service processing device, which includes:

[0068] Processor; and

[0069] A memory configured to store computer-executable instructions, which, when executed, cause the processor to:

[0070] Receive a service request for the target service, wherein the service request includes an account identifier;

[0071] The target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0072] This specification provides an embodiment of a service processing device, which includes:

[0073] Processor; and

[0074] A memory configured to store computer-executable instructions, which, when executed, cause the processor to:

[0075] The first server receives target account information sent by the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within the predetermined area.

[0076] If the redundant database does not contain the account information corresponding to the account identifier, then the target account information is stored in the redundant database;

[0077] If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database.

[0078] This specification provides an embodiment of a service processing system, which includes at least one first server located within a predetermined area, at least one second server located outside the predetermined area, and a traffic control device, wherein;

[0079] The traffic control device is used to receive service requests from the target service. If the first server of the target service is normal, the device sends the service request to the first server. The service request includes an account identifier.

[0080] The first server is configured to execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server of the target service;

[0081] The second server is configured to store the target account information in the redundant database if the redundant database does not contain the account information corresponding to the account identifier; and to update the account information corresponding to the account identifier in the redundant database using the target account information if the redundant database contains the account information corresponding to the account identifier.

[0082] Optionally, the traffic control device is further configured to send the service request to the second server when the first server of the target service malfunctions.

[0083] The second server is further configured to initialize the account information corresponding to the account identifier based on the account identifier; if the initialization process is successful, the target service is executed based on the service request.

[0084] Optionally, the traffic control device is further configured to, when the first server of the target service malfunctions, select a second server from the second servers according to a predetermined selection rule, and send the service request to the selected second server.

[0085] As can be seen from the technical solutions provided in the embodiments of this specification above, the embodiments of this specification can be applied to a first server located within a predetermined area. When a service request for a target service is received, the target service is executed based on the service request, and the target account information corresponding to the account identifier contained in the service request is sent to a second server of the target service so that the second server can store or update the target account information. The second server is located outside the predetermined area. In this way, the target account information corresponding to the service request of the first server within the predetermined area is sent to the second server outside the predetermined area for storage. When the server within the predetermined area (such as a server in the same city) malfunctions, the target service requested can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), so as not to interrupt the execution of the target service, achieving the purpose of disaster recovery in different locations and improving the user experience. Attached Figure Description

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

[0087] Figure 1 This is an embodiment of a business processing method described in this specification;

[0088] Figure 2 This is a schematic diagram of the structure of a business processing system described in this specification;

[0089] Figure 3 This is an embodiment of another business processing method described in this specification;

[0090] Figure 4 This is yet another embodiment of a business processing method described in this specification;

[0091] Figure 5 This is an embodiment of a business processing apparatus described in this specification;

[0092] Figure 6 This is an embodiment of a business processing apparatus described in this specification;

[0093] Figure 7This is an embodiment of a business processing device described in this specification;

[0094] Figure 8 This is an embodiment of a business processing device described in this specification;

[0095] Figure 9 This is a schematic diagram of the structure of a processing system for another business function described in this specification. Detailed Implementation

[0096] This specification provides a method, apparatus, device, and system for processing business data.

[0097] To enable those skilled in the art to better understand the technical solutions in this specification, 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 this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.

[0098] Example 1

[0099] like Figure 1 As shown in the embodiments of this specification, a business processing method is provided. The execution entity of this method can be a first server located within a predetermined area, such as a server within a city. The first server can be an independent server or a server cluster composed of multiple servers. Furthermore, the first server can be a backend server of a website (such as an online shopping website or shopping application) or a server of a business (such as financial services). This method can provide an off-site disaster recovery mechanism to address issues such as service unavailability caused by a city-wide disaster. Specifically, the method may include the following steps:

[0100] In step S102, a service request for the target service is received, which includes an account identifier.

[0101] The target business can be any business, such as financial services like payment, transfer, top-up, or collection, or other services like website login or information modification. The account identifier can be the user's account name or code, such as the username or nickname set by the user, or the user's name, ID card number, social security card number, or bank card number. Different users can have different account identifiers.

[0102] In implementation, disaster recovery capability is an essential feature of any core system. It requires the ability to switch to another server in a different data center when a function or service becomes unavailable in a specific region. Specifically, disaster recovery refers to the means and capability to restore a function or service through backups or other methods when normal service is unavailable. Currently, large financial companies and banks generally possess localized disaster recovery capabilities. This allows for seamless switching between data centers within the same city when a server becomes unavailable for a particular function or service. The construction of off-site disaster recovery capabilities is also crucial. When a city-level disaster occurs, causing a certain function or service to be unavailable (or rendered unavailable) in a particular city, it is necessary to have the capability to restore all or most of those services. Therefore, city-level disaster recovery capabilities can be achieved through certain technical means. That is, when servers and databases in one city cannot provide a certain function or service, the service can be provided through servers in another city with minimal loss. Based on this, the construction of off-site disaster recovery capabilities is essential. To this end, this specification provides an off-site disaster recovery mechanism, which may include the following:

[0103] Technicians can develop corresponding applications based on a certain function or business, such as applications for payment. If a user needs to use the application to perform the corresponding business, the user can register through the registration mechanism provided by the application. Through registration, the user can submit their name, identification information (which may include ID card number, address, etc.), and can also set a username, nickname, and login account. The application's backend server can store the above registration information and generate the user's account information based on the above information. The user's account information may include an account identifier and other relevant information about the account (such as account balance information, linked information (such as linked bank card number and / or linked mobile phone number, etc.) and payment method, etc.).

[0104] When a user requests a service related to a specific business (i.e., the target business), they can launch the application installed on their terminal device. This application can retrieve data from its backend server, which can be selected from servers located near the user (typically servers within the same city). For example, the user's location (e.g., city) can be determined by the terminal device's IP address, and then a server in a data center within that region can be selected to provide the corresponding service. The homepage can include a service entry point for the target business the user requests. The user can log in using their account and access the target business page through this entry point. The target business can include multiple transactions. When a user needs to perform a specific transaction, they can click the link for that transaction on the target business page. The terminal device can obtain the user's account identifier (e.g., username, nickname, or name, ID number, or bank card number) and generate a service request for the target business, sending it to a first server within a predetermined area (e.g., a city or a pre-specified geographical area). The first server can then receive the service request.

[0105] In step S104, the target service is executed based on the aforementioned service request, and the target account information corresponding to the aforementioned account identifier is sent to the second server of the target service so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0106] The target account information can be the account information corresponding to the aforementioned account identifier. This target account information can include various types of information, such as the account identifier and other relevant account information, including account balance information, linked bank card information, linked mobile phone number, and payment method. The predetermined area range can be set according to actual circumstances. For example, the area range can be based on a city. Within the predetermined area range, it can be within a certain city, referred to as "same city." Conversely, outside the predetermined area range, it can be other cities (including one or more cities), referred to as "different locations." In practical applications, the division of the area range is not limited to the above-mentioned method based on a city; it can also be divided in various other ways. This specification does not limit this method. The second server can be a server that provides relevant services for the target business to the user. Furthermore, the second server and the first server are not located within the same predetermined area range. For example, the first server is a server in a data center in Shanghai, and the second server can be a server in a data center in Shenzhen, etc.

[0107] In implementation, such as Figure 2As shown, after receiving a business request for the target service, the first server can analyze the transaction targeted by the request, then initiate the transaction and execute the corresponding processing through its logic to perform the target service. For example, the business request might instruct the transfer of 100 yuan to user B. By analyzing the request, the first server can determine that the transaction is a transfer transaction. At this point, it can obtain the corresponding target account information through the account identifier, initiate the transfer transaction, and then, through the transaction's processing logic, transfer the money to user B's account using the target account information, thus achieving the goal of executing the target service. Simultaneously, the first server can also send the target account information corresponding to the account identifier to a remote second server for storage.

[0108] Since the account information of users who frequently use the first server is backed up to a second server in a different location, when all servers within the designated area (such as servers in the same city) experience an anomaly, business requests within the designated area can be switched to the second server in a different location. This allows users within the designated area to still access the target business normally, improving the user experience.

[0109] like Figure 3 As shown in the embodiments of this specification, a business processing method is provided. The execution entity of this method can be a second server located outside a predetermined area. The predetermined area can be within a certain city, and the area outside the predetermined area can be one or more other cities outside the city. The second server can be an independent server or a server cluster composed of multiple servers. Furthermore, the second server can be the backend server of a website (such as an online shopping website or shopping application) or a server of a certain business (such as financial business). This method can provide an off-site disaster recovery mechanism to cope with problems such as the unavailability of related services due to a city-level disaster. The method may specifically include the following steps:

[0110] In step S302, the first server of the target service receives the target account information sent by the first server. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within a predetermined area.

[0111] In implementation, a redundant data storage mechanism can be set up for a second server located outside the predetermined area corresponding to the first server. This redundant data storage mechanism can receive account information sent by the first server and store it in the designated storage area. To effectively implement the redundant data storage mechanism, a data redundancy module can be set up in the second server. This module can perform processes such as receiving account information sent by the first server and storing it in the designated storage area.

[0112] In step S304, if the redundant database does not contain the account information corresponding to the above account identifier, the target account information is stored in the redundant database.

[0113] The redundant database can be a database set up on a server in a different location (i.e., outside the predetermined area) to store account information of servers within the predetermined area. For servers outside the predetermined area, the data in the servers within the predetermined area is not frequently used.

[0114] In practice, after receiving the target account information, the second server can extract the account identifier contained in the target account information. Then, it can search the redundant database using the account identifier to determine whether the redundant database contains the account identifier and the account information corresponding to the account identifier. If the redundant database does not contain the account identifier or the account information corresponding to the account identifier, the target account information can be stored in the redundant database.

[0115] In step S306, if the redundant database contains account information corresponding to the aforementioned account identifier, the target account information is used to update the account information corresponding to that account identifier in the redundant database.

[0116] In implementation, after receiving the target account information, the second server can extract the account identifier contained in the target account information. Then, it can search the redundant database using the account identifier to determine whether the redundant database contains the account identifier and the corresponding account information. If the redundant database contains the account identifier and the corresponding account information, it can obtain the timestamp of the account information corresponding to the account identifier in the redundant database and the timestamp of the target account information. The two timestamps can be compared. If the timestamp of the target account information is closest to the current time, the target account information can be used to update and replace the account information corresponding to the account identifier in the redundant database. Otherwise, the target account information can be discarded.

[0117] Since the account information of users who frequently use the first server is backed up to a second server in a different location, and the user account information stored on the second server is often the most up-to-date, when all servers within the predetermined area (such as servers in the same city) experience an anomaly, business requests within the predetermined area can be switched to the second server in a different location. This allows users within the predetermined area to still access the target business normally, improving the user experience.

[0118] This specification provides a service processing method applicable to a first server located within a predetermined area. Upon receiving a service request for a target service, the method executes the target service based on the request and sends the target account information corresponding to the account identifier contained in the service request to a second server for the target service. This allows the second server to store or update the target account information. The second server is located outside the predetermined area. By sending the target account information corresponding to a service request from the first server within the predetermined area to the second server outside the predetermined area for storage, when a server within the predetermined area (such as a server in the same city) experiences an anomaly, the requested target service can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thus ensuring uninterrupted execution of the target service. This achieves disaster recovery capabilities and improves user experience.

[0119] Example 2

[0120] like Figure 4 As shown in the embodiments of this specification, a service processing method is provided. This method can be jointly executed by a first server located within a predetermined area and a second server located outside the predetermined area. The predetermined area can be within a city, etc., and the area outside the predetermined area can be one or more other cities outside the city. The first server can be a standalone server or a server cluster composed of multiple servers. Furthermore, the first server can be a backend server for a website (such as an online shopping website or shopping application) or a server for a specific service (such as financial services). The second server can also be a standalone server or a server cluster composed of multiple servers. Furthermore, the second server can also be a backend server for a website (such as an online shopping website or shopping application) or a server for a specific service (such as financial services). This method can provide a disaster recovery mechanism to address issues such as service unavailability caused by a city-wide disaster.

[0121] The first server and the second server can be servers providing the same business services, differing only in their geographical locations. The second server is a server located outside the predetermined geographical area. In practical applications, this area can be further divided into multiple regions. The second server can be a server within one of these regions, or it can be a server within multiple regions. For example, the first server might be located in Shanghai, and the second server could be located in Shenzhen, or the second server could include servers located in Shenzhen and Beijing, etc. Different first servers can be pre-configured with second servers in different geographical areas. When selecting a second server, it can be chosen according to predetermined selection rules (such as selection based on distance from the first server) or randomly. This method specifically includes the following steps:

[0122] In step S402, the first server receives a service request for the target service, which includes an account identifier.

[0123] In step S404, the first server sends the target account information corresponding to the aforementioned account identifier to the second server of the target business via an asynchronous RPC interface.

[0124] Among them, the asynchronous RPC (Remote Procedure Call) interface can be a service call method interface. The asynchronous RPC interface can call services through asynchronous threads without blocking the main processing flow, thereby achieving the purpose of reducing latency.

[0125] In implementation, an asynchronous processing mechanism can be configured for the first server. This can be achieved by setting up an asynchronous RPC module within the first server, which can then configure an asynchronous RPC interface. The first server can extract the account identifier from the received business request. Then, it can retrieve the target account information corresponding to that account identifier from the main database corresponding to the target business. The asynchronous RPC module can then send this target account information to a remote second server via the asynchronous RPC interface. This asynchronous approach ensures that the execution of the main processing flow (i.e., the processing procedure in step S406 below) is not affected, thereby achieving the goal of reducing latency.

[0126] In step S406, the first server executes the target service based on the aforementioned service request and obtains the execution result.

[0127] In practice, if the first server receiving the service request does not encounter any abnormalities, the first server will execute the target service based on the above service request and obtain the execution result. For the specific processing procedure, please refer to the relevant content of step S104 in the above embodiment, which will not be repeated here.

[0128] If the first server receiving the service request malfunctions, it can detect whether other servers within the predetermined area are functioning normally. If a normal server is detected within the predetermined area, the processing in step S406 above can be handled in the following way, specifically including the following: according to the above service request, the third server of the target service is called to execute the target service and obtain the execution result. The third server is any server other than the first server within the predetermined area.

[0129] In practice, the predetermined area typically includes multiple server rooms. For example, server rooms can be set up in multiple different locations within a city to achieve disaster recovery within the same city. Specifically, if the first server malfunctions, it can call the third server of the target service so that the third server can execute the target service according to the service request. The specific process of executing the target service according to the service request can be found in the relevant content of step S104 in the above embodiment, and will not be repeated here.

[0130] It should be noted that if the first server encounters an error before receiving the service request, traffic control devices such as gateways within the predetermined area can forward the service request sent to the first server to the third server. The third server then executes the target service based on the service request and obtains the corresponding execution result.

[0131] To ensure that the data of successful transactions stored in the main database can be written to the remote second server via the asynchronous RPC interface, the status information of the target account information can be processed by calling back to the second server to store or update the status information. For details, please refer to the processing of steps S408 and S410 below.

[0132] In step S408, the first server calls back the status information of the second server for storing or updating the target account information, and determines whether the execution of the target business is successful based on the status information and the execution result. The status information includes whether the storage or update was successful, failed, or timed out.

[0133] The timeout can be exceeding the predetermined duration, such as exceeding 3 minutes or 5 minutes.

[0134] In implementation, a callback cycle or duration can be preset. When the preset callback cycle or duration is reached, the status information of the second server storing or updating the target account information can be called back. This status information can include storage or update success, storage or update failure, and timeout. If the status information is "storage or update successful," it indicates that the second server has successfully stored or updated the target account information. At this point, the execution of the target business can be determined as successful, and the first server can continue to execute subsequent processing procedures. If the status information is "storage or update failure," it indicates that the second server failed to store or update the target account information. At this point, the execution of the target business can be determined as failed, thus ensuring the consistency of account information stored on the first and second servers. If the status information is "timeout," it indicates that the second server failed to store or update the target account information. At this point, the execution of the target business can be determined as failed.

[0135] In step S410, if the above status information indicates storage or update failure or timeout, the first server executes the target service based on the above service request and sends the target account information corresponding to the above account identifier to the second server of the target service.

[0136] In practice, based on the above, if the status information indicates that the storage or update has failed or timed out, it means that the second server has failed to store or update the target account information. At this time, it can be determined that the execution of the target service has failed. Then, the first server can roll back the process, that is, it can re-execute the above step S404 and the processing after step S404. That is, the first server executes the target service based on the above service request and sends the target account information corresponding to the above account identifier to the second server of the target service. For the specific processing procedure, please refer to the above relevant content, which will not be repeated here.

[0137] It should be noted that the processing of step S404 and the processing of steps S406 to S410 are described in sequence. In practical applications, the processing of step S404 and the processing of steps S406 to S410 can be executed simultaneously, or the processing of steps S406 to S410 can be executed first, and then step S404 can be executed. This specification embodiment does not limit the execution order of the above two parts.

[0138] In step S412, the second server receives the target account information sent by the first server of the target service.

[0139] In step S414, if the redundant database does not contain the account information corresponding to the aforementioned account identifier, the second server stores the target account information in the redundant database.

[0140] In step S416, if the redundant database contains account information corresponding to the aforementioned account identifier, the second server updates the account information corresponding to the account identifier in the redundant database using the target account information.

[0141] In step S418, when the predetermined database synchronization period is reached, the second server synchronizes the data in the main database corresponding to the target service with the data in the local backup database. The main database includes the account information corresponding to the aforementioned account identifier.

[0142] The database synchronization period can be set according to the actual situation, such as 1 second.

[0143] In implementation, a pre-defined database synchronization period can be set between the primary database and the backup database on the second server. When this synchronization period arrives, the primary database corresponding to the target service and the backup database can be synchronized to ensure data consistency between the backup and primary databases. Since the primary database stores data used and generated during the execution of the target service, it can store account information corresponding to the aforementioned account identifiers. Furthermore, considering that the backup database is only used for data backup, it can be set as a read-only database, preventing other users from modifying the data and ensuring user data security. In practical applications, this backup database can also be referred to as a read-only database, etc.

[0144] Through the above processing, both the redundant database and the backup database can store user account information. However, since the data synchronization process between the backup database and the primary database will generate a synchronization delay (usually at the millisecond level), the purpose of the redundant database can be to save the account information that cannot be synchronized to the backup database in time, thus ensuring the accuracy of user account information.

[0145] Traffic control devices (such as gateways) can be pre-configured. When a user sends a service request, the traffic control device can receive the service request and determine the area to which the service request belongs. If the service request is within a predetermined area, it can check whether the servers within the predetermined area are normal. If all servers within the predetermined area are abnormal, it can obtain a server outside the predetermined area (i.e., a second server) corresponding to the server within the predetermined area. Then, the traffic control device can forward the service request to the second server, thereby achieving the purpose of disaster recovery in a different location. For details, please refer to the processing steps S420 to S424 below.

[0146] In step S420, when the first server malfunctions, the second server obtains the service request for the target service sent to the first server, which includes an account identifier.

[0147] In step S422, the second server initializes the account information corresponding to the account identifier based on the aforementioned account identifier.

[0148] In implementation, since the second server needs to execute the target service, before executing the target service, it needs to determine the account information of the user requesting the target service. This account information can include not only the account identifier, but also the account balance, linked bank card information, linked mobile phone number, and default payment method. Therefore, the account information corresponding to the account identifier needs to be initialized. In practical applications, the initialization process can take many forms. In the case of the embodiment in this specification, the data source for initialization can be two: a redundant database and a backup database. Based on this, initialization can be performed using the account information in the redundant database, and / or using the account information in the backup database. If initialization cannot be performed using the redundant database or the backup database, it can be determined that the service request cannot be responded to. In this case, an initialization failure notification message can be sent to the corresponding user.

[0149] There are various ways to perform initialization using account information from redundant and / or backup databases. The following is one optional processing method, which may include the following steps one and two.

[0150] Step 1: Based on the account identifier mentioned above, check whether the redundant database and backup database contain the account identifier.

[0151] Step 2: If the redundant database contains the aforementioned account identifier, but the backup database does not, then the target account information corresponding to the account identifier in the redundant database is used as the initialization data, and the initialization process is confirmed to be successful.

[0152] In implementation, if only the redundant database contains the aforementioned account identifier, and the backup database has not yet synchronized this account identifier and its corresponding account information from the primary database, and since the data in the redundant database is stored or updated by the first server each time a business request is executed, the data in the redundant database should be up-to-date. In this case, the target account information corresponding to this account identifier in the redundant database can be used as initialization data so that the second server can subsequently execute the target business based on this initialization data. Simultaneously, the second server can confirm that the initialization process for the account information corresponding to this account identifier was successful.

[0153] If the account identifier does not meet the conditions in step two (i.e., the redundant database contains the account identifier, but the backup database does not), the second server can determine that it cannot respond to the service request. In this case, it can send an initialization failure notification message to the corresponding user. Alternatively, initialization can be performed in other ways, as detailed in steps one and two below.

[0154] Step 1: If the redundant database does not contain the aforementioned account identifier, but the backup database does, then obtain the latency corresponding to the backup database.

[0155] In practice, based on the above-mentioned content, there is a synchronization delay during the data synchronization process between the backup database and the primary database. Therefore, if the account identifier mentioned above is only included in the backup database, it is necessary to determine whether the data in the backup database has been synchronized to the latest version. Based on this, the corresponding delay duration of the backup database can be obtained.

[0156] Step 2: If the latency corresponding to the backup database is within the predetermined latency threshold range, then the account information corresponding to the account identifier in the backup database is used as the initialization data, and the above initialization process is confirmed to be successful.

[0157] The range of the delay threshold can be set according to the actual situation, and the embodiments in this specification do not limit it.

[0158] In implementation, a pre-defined latency threshold range can be set. If the latency duration corresponding to the backup database is not within the pre-defined latency threshold range, it indicates that the data in the backup database may not be synchronized to the latest version. In this case, the data in the backup database may not be the latest data, thus confirming that the initialization process has failed and that the account information corresponding to the account identifier is unaccountable. If the latency duration corresponding to the backup database is within the pre-defined latency threshold range, it indicates that the data in the backup database has been synchronized to the latest version. In this case, the data in the backup database is the latest data, and the second server can use the target account information corresponding to the account identifier in the backup database as initialization data so that the second server can subsequently execute target business based on this initialization data. Simultaneously, the second server can confirm that the initialization process for the account information corresponding to the account identifier was successful.

[0159] For situations other than those described above, if the second server determines that it cannot respond to the service request, it can send an initialization failure notification message to the relevant user. Alternatively, initialization can be performed in other ways, as detailed in steps one through three below.

[0160] Step 1: If both the redundant database and the backup database contain the aforementioned account identifier, then determine the first time when the target account information is stored in the redundant database, and the second time when the account information corresponding to the account identifier is stored in the backup database.

[0161] Step 2: If the second time is before the first time and the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as the initialization data, and the above initialization process is confirmed to be successful.

[0162] In implementation, for example, if the second time is 16:00:00 on October 25, 2018, and the first time is 10:39:00 on October 24, 2018, then it can be determined (on the timeline) that the second time is before the first time. At this point, it can be further determined whether the latency corresponding to the backup database is within the predetermined latency threshold range. If so, it indicates that the data in the backup database has been synchronized to the latest version. At this time, the data in the backup database is the latest data, and the second server can use the target account information corresponding to the account identifier in the backup database as initialization data so that the second server can subsequently execute target business based on this initialization data. At the same time, the second server can determine that the initialization processing of the account information corresponding to the account identifier was successful.

[0163] Step 3: If the first time is earlier than the second time, then use the target account information in the redundant database as the initialization data, and confirm that the above initialization process was successful.

[0164] In implementation, for example, if the second time is 16:00:00 on October 25, 2018, and the first time is 16:01:00 on October 25, 2018, then it can be determined (on the timeline) that the first time is before the second time. At this point, it can be confirmed that the data in the redundant database is up-to-date, and the target account information corresponding to that account identifier in the redundant database can be used as initialization data so that the second server can subsequently execute the target business based on this initialization data. Simultaneously, the second server can confirm that the initialization processing of the account information corresponding to that account identifier was successful.

[0165] In cases other than those mentioned above, if the second server determines that it cannot respond to the service request, it can send an initialization failure notification message to the corresponding user.

[0166] In step S424, if the above initialization process is successful, the second server executes the target service based on the above service request.

[0167] This specification provides a service processing method. A first server within a predetermined area, upon receiving a service request for a target service, executes the target service based on the request and sends the target account information corresponding to the account identifier contained in the service request to a second server of the target service. The second server is located outside the predetermined area. This method allows the target account information corresponding to service requests from the first server within the predetermined area to be stored on the second server outside the predetermined area. When a server within the predetermined area (such as a server in the same city) experiences an anomaly, the requested target service can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thus ensuring uninterrupted execution of the target service. This achieves disaster recovery capabilities and improves user experience.

[0168] Example 3

[0169] The above describes the service processing method provided in the embodiments of this specification. Based on the same idea, the embodiments of this specification also provide a service processing apparatus, such as... Figure 5 As shown.

[0170] The processing apparatus for this service includes: a request receiving module 501 and a processing module 502, wherein:

[0171] The request receiving module 501 is used to receive a service request for the target service, wherein the service request includes an account identifier;

[0172] Processing module 502 is used to execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server of the target service, so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0173] In this embodiment of the specification, the processing module 502 includes:

[0174] A business execution unit is used to execute the target business based on the business request and obtain the execution result;

[0175] The callback unit is used to call back the status information of the second server storing or updating the target account information, and to determine whether the execution of the target business is successful based on the status information and the execution result. The status information includes successful storage or update, failed storage or update, or timeout.

[0176] In this embodiment of the specification, the processing module 502 is used to execute the target service based on the service request if the status information indicates storage or update failure or timeout, and to send the target account information corresponding to the account identifier to the second server of the target service.

[0177] In this embodiment of the specification, the service execution unit is used to call a third server of the target service to execute the target service according to the service request and obtain the execution result, wherein the third server is another server other than the first server within the predetermined area.

[0178] In this embodiment of the specification, the processing module 502 is used to send the target account information corresponding to the account identifier to the second server of the target business through an asynchronous RPC interface.

[0179] This specification provides a service processing apparatus that, upon receiving a service request for a target service, executes the target service based on the service request and sends the target account information corresponding to the account identifier contained in the service request to a second server of the target service. This allows the second server to store or update the target account information. The second server is located outside a predetermined area. In this way, the target account information corresponding to a service request from a first server within the predetermined area is sent to the second server outside the predetermined area for storage. When a server within the predetermined area (such as a server in the same city) malfunctions, the requested target service can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thus ensuring uninterrupted execution of the target service. This achieves disaster recovery capabilities and improves user experience.

[0180] Example 4

[0181] The above describes the service processing method provided in the embodiments of this specification. Based on the same idea, the embodiments of this specification also provide a service processing apparatus, such as... Figure 6 As shown.

[0182] The processing device for this service includes: an information receiving module 601, a storage module 602, and an update module 603, wherein:

[0183] The information receiving module 601 is used to receive target account information sent by a first server of the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within the predetermined area.

[0184] Storage module 602 is used to store the target account information in the redundant database if the redundant database does not contain the account information corresponding to the account identifier;

[0185] The update module 603 is used to update the account information corresponding to the account identifier in the redundant database using the target account information if the redundant database contains account information corresponding to the account identifier.

[0186] In the embodiments described in this specification, the device further includes:

[0187] The synchronization module is used to synchronize the data in the main database corresponding to the target business with the data in the local backup database when the predetermined database synchronization period is reached. The main database includes the account information corresponding to the account identifier.

[0188] In the embodiments described in this specification, the device further includes:

[0189] The request acquisition module is used to acquire the business request of the target service sent to the first server when the first server is abnormal, and the business request includes the account identifier;

[0190] The first initialization module is used to initialize the account information corresponding to the account identifier based on the account identifier;

[0191] The business execution module is used to execute the target business based on the business request if the initialization process is successful.

[0192] In the embodiments of this specification, the first initialization module includes:

[0193] The search unit is used to search whether the account identifier is contained in the redundant database and the backup database based on the account identifier;

[0194] An initialization unit is configured to, if the redundant database contains the account identifier but the backup database does not contain the account identifier, use the target account information corresponding to the account identifier in the redundant database as initialization data and determine that the initialization process is successful.

[0195] In the embodiments described in this specification, the device further includes:

[0196] The delay acquisition module is used to acquire the delay duration corresponding to the backup database if the redundant database does not contain the account identifier but the backup database does.

[0197] The second initialization module is used to use the account information corresponding to the account identifier in the backup database as initialization data if the delay duration corresponding to the backup database is within a predetermined delay threshold range, and to determine that the initialization process is successful.

[0198] In the embodiments described in this specification, the device further includes:

[0199] The storage time determination module is used to determine, if both the redundant database and the backup database contain the account identifier, a first time when the redundant database stores the target account information and a second time when the backup database stores the account information corresponding to the account identifier.

[0200] The third initialization module is used to use the account information corresponding to the account identifier in the backup database as initialization data if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, and to determine that the initialization process is successful.

[0201] The fourth initialization module is used to use the target account information in the redundant database as initialization data if the first time is before the second time, and to determine that the initialization process is successful.

[0202] This specification provides a service processing apparatus. When a first server within a predetermined area receives a service request for a target service, it executes the target service based on the service request and sends the target account information corresponding to the account identifier contained in the service request to a second server of the target service. The second server is located outside the predetermined area. In this way, the target account information corresponding to the service request of the first server within the predetermined area is sent to the second server outside the predetermined area for storage. When the server within the predetermined area (such as a server in the same city) malfunctions, the target service requested can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thus ensuring that the execution of the target service is not interrupted. This achieves the purpose of disaster recovery and improves the user experience.

[0203] Example 5

[0204] The above describes the service processing apparatus provided in the embodiments of this specification. Based on the same concept, the embodiments of this specification also provide a service processing device, such as... Figure 7 As shown.

[0205] The processing device for the aforementioned service can be the first server provided in the above embodiments.

[0206] The processing device for a service can vary significantly due to differences in configuration or performance. It may include one or more processors 701 and memory 702, where one or more application programs or data may be stored. The memory 702 may be temporary or persistent storage. The application programs stored in the memory 702 may include one or more modules (not shown in the figures), each module including a series of computer-executable instructions for the processing device. Furthermore, the processor 701 may be configured to communicate with the memory 702 and execute the series of computer-executable instructions stored in the memory 702 on the processing device. The processing device may also include one or more power supplies 703, one or more wired or wireless network interfaces 704, one or more input / output interfaces 705, and one or more keyboards 706.

[0207] Specifically, in this embodiment, the service processing device includes a memory and one or more programs, wherein one or more programs are stored in the memory, and one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the service processing device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following:

[0208] Receive a service request for the target service, wherein the service request includes an account identifier;

[0209] The target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service so that the second server stores or updates the target account information, wherein the second server is located outside the predetermined area.

[0210] In the embodiments of this specification, executing the target service based on the service request includes:

[0211] The target service is executed based on the service request, and the execution result is obtained;

[0212] The system calls back the status information of the second server storing or updating the target account information, and determines whether the execution of the target business is successful based on the status information and the execution result. The status information includes whether the storage or update was successful, failed, or timed out.

[0213] In this embodiment of the specification, the step of executing the target service based on the service request and sending the target account information corresponding to the account identifier to the second server of the target service includes:

[0214] If the status information indicates storage or update failure or timeout, the target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service.

[0215] In the embodiments of this specification, the step of executing the target service based on the service request and obtaining the execution result includes:

[0216] According to the business request, the third server of the target business is invoked to execute the target business and the execution result is obtained. The third server is another server other than the first server within the predetermined area.

[0217] In this embodiment of the specification, sending the target account information corresponding to the account identifier to the second server of the target service includes:

[0218] The target account information corresponding to the account identifier is sent to the second server of the target business via an asynchronous RPC interface.

[0219] This specification provides a service processing device that, upon receiving a service request for a target service, executes the target service based on the request and sends the target account information corresponding to the account identifier contained in the service request to a second server of the target service. This allows the second server to store or update the target account information. The second server is located outside a predetermined area. Thus, by sending the target account information corresponding to a service request from a first server within the predetermined area to a second server outside the predetermined area for storage, when a server within the predetermined area (such as a server in the same city) experiences an anomaly, the requested target service can be executed based on the corresponding account information through a second server outside the predetermined area (such as a remote server), thereby ensuring uninterrupted execution of the target service. This achieves disaster recovery capabilities and improves user experience.

[0220] Example 6

[0221] Based on the same idea, embodiments of this specification also provide a service processing device, such as... Figure 8 As shown.

[0222] The processing device for the service can be the second server provided in the above embodiment. The first server and the second server in the above embodiment five can be servers that provide the same service, only the two servers are located in different regions.

[0223] The processing device for a service can vary significantly due to differences in configuration or performance. It may include one or more processors 801 and memory 802, where one or more application programs or data may be stored. The memory 802 may be temporary or persistent storage. The application programs stored in the memory 802 may include one or more modules (not shown in the figures), each module including a series of computer-executable instructions for the processing device. Furthermore, the processor 801 may be configured to communicate with the memory 802 and execute the series of computer-executable instructions stored in the memory 802 on the processing device. The processing device may also include one or more power supplies 803, one or more wired or wireless network interfaces 804, one or more input / output interfaces 805, and one or more keyboards 806.

[0224] Specifically, in this embodiment, the service processing device includes a memory and one or more programs, wherein one or more programs are stored in the memory, and one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the service processing device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following:

[0225] The first server receives target account information sent by the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within the predetermined area.

[0226] If the redundant database does not contain the account information corresponding to the account identifier, then the target account information is stored in the redundant database;

[0227] If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database.

[0228] The embodiments in this specification also include:

[0229] When the predetermined database synchronization period is reached, the data in the main database corresponding to the target business is synchronized with the data in the local backup database. The main database includes the account information corresponding to the account identifier.

[0230] The embodiments in this specification also include:

[0231] When the first server malfunctions, the service request for the target service sent to the first server is obtained, and the service request includes the account identifier;

[0232] The account information corresponding to the account identifier is initialized based on the account identifier.

[0233] If the initialization process is successful, the target service is executed based on the service request.

[0234] In this embodiment of the specification, the initialization process of the account information corresponding to the account identifier based on the account identifier includes:

[0235] Based on the account identifier, check whether the redundant database and the backup database contain the account identifier;

[0236] If the redundant database contains the account identifier but the backup database does not, then the target account information corresponding to the account identifier in the redundant database is used as the initialization data, and the initialization process is determined to be successful.

[0237] The embodiments in this specification also include:

[0238] If the redundant database does not contain the account identifier, but the backup database does contain the account identifier, then obtain the delay duration corresponding to the backup database;

[0239] If the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as initialization data, and the initialization process is determined to be successful.

[0240] The embodiments in this specification also include:

[0241] If both the redundant database and the backup database contain the account identifier, then the first time when the redundant database stores the target account information and the second time when the backup database stores the account information corresponding to the account identifier are determined.

[0242] If the second time is before the first time, and the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as initialization data, and the initialization process is determined to be successful.

[0243] If the first time is before the second time, the target account information in the redundant database is used as initialization data, and the initialization process is determined to be successful.

[0244] This specification provides a service processing device. A first server within a predetermined area executes a target service based on the service request received by the first server within the predetermined area, and sends the target account information corresponding to the account identifier contained in the service request to a second server of the target service. The second server stores or updates the target account information. The second server is located outside the predetermined area. In this way, the target account information corresponding to the service request of the first server within the predetermined area is sent to the second server outside the predetermined area for storage. When the server within the predetermined area (such as a server in the same city) malfunctions, the target service requested can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thereby ensuring that the execution of the target service is not interrupted. This achieves the purpose of disaster recovery and improves the user experience.

[0245] Example 7

[0246] Based on the same idea, embodiments of this specification also provide a business processing system, such as... Figure 9 As shown.

[0247] The service processing system includes at least one first server 902 located within a predetermined area, at least one second server 903 located outside the predetermined area, and a traffic control device 901, wherein the traffic control device 901 is communicatively connected to the first server 902 and the second server 903 respectively (e.g., via cable connection or via wireless network connection).

[0248] The traffic control device 901 is used to receive service requests from the target service. If the first server 902 of the target service is normal, the service request is sent to the first server 902. The service request includes an account identifier.

[0249] The first server 902 is used to execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server 903 of the target service;

[0250] The second server 903 is configured to store the target account information in the redundant database if the redundant database does not contain the account information corresponding to the account identifier; and to update the account information corresponding to the account identifier in the redundant database using the target account information if the redundant database contains the account information corresponding to the account identifier.

[0251] In this embodiment of the specification, the traffic control device 901 is further configured to send the service request to the second server 903 when the first server 902 of the target service malfunctions.

[0252] The second server 903 is further configured to initialize the account information corresponding to the account identifier based on the account identifier; if the initialization process is successful, the target service is executed based on the service request.

[0253] In this embodiment of the specification, the traffic control device 901 is further configured to select a second server 903 from the second servers 903 according to a predetermined selection rule when the first server 902 of the target service malfunctions, and send the service request to the selected second server 903.

[0254] The traffic control device 901 can be used for traffic control. For example, when a server within a certain area malfunctions, it forwards service requests from that area to other pre-defined servers outside that area that provide the corresponding service. The first server 902 and the second server 903 can be servers providing the same service, differing only in their geographical locations. The second server 903 is a server outside the predetermined geographical area. In practical applications, the area outside the predetermined geographical area can be divided into multiple different areas. The second server 903 can be a server within one of these areas, or it can be a server within multiple areas. For example, the first server 902 might be a server located in Shanghai, and the second server 903 could be a server located in Shenzhen, or the second server 903 could include servers located in Shenzhen and Beijing, etc. Different first servers 902 can be pre-configured with second servers 903 in different geographical areas. When selecting a second server 903, it can be selected using predetermined selection rules or randomly. The predetermined selection rules can be set according to actual conditions, such as selecting based on distance from the first server 902 or randomly, etc. This embodiment does not limit this.

[0255] In this embodiment of the specification, the first server 902 is further configured to execute the target service based on the service request and obtain the execution result; call back the status information of the second server 903 for storing or updating the target account information, and determine whether the execution of the target service is successful based on the status information and the execution result, wherein the status information includes successful storage or update, or failed storage or update, or timeout.

[0256] In this embodiment of the specification, the first server 902 is further configured to execute the target service based on the service request if the status information indicates storage or update failure or timeout, and send the target account information corresponding to the account identifier to the second server 903 of the target service.

[0257] In this embodiment of the specification, the first server 902 is further configured to call a third server of the target service to execute the target service according to the service request and obtain the execution result, wherein the third server is another server other than the first server 902 within the predetermined area.

[0258] In this embodiment of the specification, the first server 902 is further configured to send the target account information corresponding to the account identifier to the second server 903 of the target business via an asynchronous RPC interface.

[0259] The specific processing procedure of the first server 902 can be found in the relevant content of Embodiment 1 and Embodiment 2 above, and will not be repeated here.

[0260] In this embodiment of the specification, the second server 903 is further configured to synchronize the data in the main database corresponding to the target service with the data in the local backup database when a predetermined database synchronization period is reached, wherein the main database includes account information corresponding to the account identifier.

[0261] In this embodiment of the specification, the second server 903 is further configured to, when the first server 902 is abnormal, obtain a service request for the target service sent to the first server 902, the service request including the account identifier; perform initialization processing on the account information corresponding to the account identifier according to the account identifier; and if the initialization processing is successful, execute the target service based on the service request.

[0262] In this embodiment of the specification, the second server 903 is further configured to search whether the redundant database and the backup database contain the account identifier based on the account identifier; if the redundant database contains the account identifier and the backup database does not contain the account identifier, then the target account information corresponding to the account identifier in the redundant database is used as initialization data, and the initialization process is determined to be successful.

[0263] In this embodiment of the specification, the second server 903 is further configured to: if the redundant database does not contain the account identifier but the backup database contains the account identifier, then obtain the delay duration corresponding to the backup database; if the delay duration corresponding to the backup database is within a predetermined delay threshold range, then use the account information corresponding to the account identifier in the backup database as initialization data, and determine that the initialization process is successful.

[0264] In this embodiment of the specification, the second server 903 is further configured to: if both the redundant database and the backup database contain the account identifier, determine a first time when the redundant database stores the target account information and a second time when the backup database stores the account information corresponding to the account identifier; if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, use the account information corresponding to the account identifier in the backup database as initialization data and determine that the initialization process is successful; if the first time is before the second time, use the target account information in the redundant database as initialization data and determine that the initialization process is successful.

[0265] The specific processing procedure of the second server 903 can be found in the relevant content of Embodiment 1 and Embodiment 2 above, and will not be repeated here.

[0266] This specification provides a service processing system. When a first server within a predetermined area receives a service request for a target service, it executes the target service based on the request and sends the target account information corresponding to the account identifier contained in the service request to a second server outside the predetermined area. This allows the second server to store or update the target account information. The second server is located outside the predetermined area. By sending the target account information corresponding to a service request from the first server within the predetermined area to the second server outside the predetermined area for storage, when a server within the predetermined area (such as a server in the same city) malfunctions, the requested target service can be executed based on the corresponding account information through the second server outside the predetermined area (such as a remote server), thus ensuring uninterrupted execution of the target service. This achieves disaster recovery capabilities and improves user experience.

[0267] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0268] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using a hardware physical module. For example, a Programmable Logic Device (PLD) (e.g., a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program a digital system themselves to "integrate" it onto a PLD, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0269] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0270] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0271] For ease of description, the above apparatus is described by dividing it into various functional units. Of course, when implementing one or more embodiments of this specification, the functions of each unit can be implemented in one or more software and / or hardware.

[0272] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this specification may take 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 code.

[0273] The embodiments described herein are illustrated with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0274] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0275] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0276] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0277] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0278] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0279] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0280] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this specification may take 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 code.

[0281] One or more embodiments of this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0282] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0283] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A business processing method, applied to a first server located within a predetermined area, the first server being a server cluster consisting of multiple servers, the method comprising: Receive a service request for the target service, wherein the service request includes an account identifier, and the service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within the predetermined area and the first server is functioning normally; Based on the business request, the target business is executed, and the target account information corresponding to the account identifier is sent to the second server of the target business, so that the second server stores or updates the target account information in the redundant database. In the event of an anomaly of the first server, the second server performs initialization processing based on the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target business is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is a database in the second server used to store account information of servers belonging to the predetermined area. The second server is located outside the predetermined area. The second server is selected from the servers outside the predetermined area based on the distance between the servers outside the predetermined area and the first server. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

2. The method according to claim 1, wherein executing the target service based on the service request comprises: The target service is executed based on the service request, and the execution result is obtained; The system calls back the status information of the second server storing or updating the target account information, and determines whether the execution of the target business is successful based on the status information and the execution result. The status information includes whether the storage or update was successful, failed, or timed out.

3. The method according to claim 2, wherein executing the target service based on the service request and sending the target account information corresponding to the account identifier to the second server of the target service comprises: If the status information indicates storage or update failure or timeout, the target service is executed based on the service request, and the target account information corresponding to the account identifier is sent to the second server of the target service.

4. The method according to claim 2, wherein executing the target service based on the service request to obtain the execution result includes: According to the business request, the third server of the target business is invoked to execute the target business and obtain the execution result. The third server is another server within the predetermined area other than the first server.

5. The method according to claim 1, wherein sending the target account information corresponding to the account identifier to the second server of the target service comprises: The target account information corresponding to the account identifier is sent to the second server of the target business via an asynchronous RPC interface.

6. A method for processing a service, applied to a second server located outside a predetermined area, the method comprising: The system receives target account information sent by a first server for the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request for the target service. The first server is located within the predetermined area. The service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within the predetermined area and the first server is functioning normally. The second server is a server selected from the servers outside the predetermined area based on the distance between the first server and the server outside the predetermined area. The first server is a server cluster composed of multiple servers. If the redundant database does not contain the account information corresponding to the account identifier, then the target account information is stored in the redundant database; If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database; When the first server malfunctions, initialization processing is performed using the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target business is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is the database in the second server used to store account information of servers belonging to the predetermined area. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

7. The method according to claim 6, further comprising: When the predetermined database synchronization period is reached, the data in the main database corresponding to the target business is synchronized with the data in the local backup database. The main database includes the account information corresponding to the account identifier.

8. The method according to claim 7, further comprising: When the first server malfunctions, the service request for the target service sent to the first server is obtained, and the service request includes the account identifier; The account information corresponding to the account identifier is initialized based on the account identifier. If the initialization process is successful, the target service is executed based on the service request.

9. The method according to claim 8, wherein the initialization process of the account information corresponding to the account identifier based on the account identifier includes: Based on the account identifier, check whether the redundant database and the backup database contain the account identifier; If the redundant database contains the account identifier but the backup database does not, then the target account information corresponding to the account identifier in the redundant database is used as the initialization data, and the initialization process is determined to be successful.

10. The method according to claim 9, further comprising: If the redundant database does not contain the account identifier, but the backup database does contain the account identifier, then obtain the delay duration corresponding to the backup database; If the delay duration corresponding to the backup database is within the predetermined delay threshold range, then the account information corresponding to the account identifier in the backup database is used as initialization data, and the initialization process is determined to be successful.

11. A business processing apparatus, the apparatus comprising: The request receiving module is used to receive the service request of the target service. The service request includes an account identifier. The service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within a predetermined area and the first server is normal. The first server is a server cluster composed of multiple servers. The processing module is used to execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server of the target service, so that the second server stores or updates the target account information in the redundant database. In the event of an anomaly of the first server, the second server performs initialization processing based on the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target service is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is a database in the second server used to store account information of servers belonging to the predetermined area. The second server is located outside the predetermined area. The second server is selected from the servers outside the predetermined area based on the distance between the servers outside the predetermined area and the first server. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

12. The apparatus according to claim 11, wherein the processing module comprises: A business execution unit is used to execute the target business based on the business request and obtain the execution result; The callback unit is used to call back the status information of the second server storing or updating the target account information, and to determine whether the execution of the target business is successful based on the status information and the execution result. The status information includes successful storage or update, failed storage or update, or timeout.

13. The apparatus according to claim 12, wherein the processing module is configured to, if the status information indicates storage or update failure or timeout, execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server of the target service.

14. The apparatus according to claim 12, wherein the service execution unit is configured to, according to the service request, invoke a third server of the target service to execute the target service and obtain an execution result, wherein, The third server is any server other than the first server within the predetermined area.

15. The apparatus according to claim 11, wherein the processing module is configured to send the target account information corresponding to the account identifier to the second server of the target service via an asynchronous RPC interface.

16. A business processing apparatus, the apparatus comprising: The information receiving module is used to receive target account information sent by the first server of the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request of the target service. The first server is located within a predetermined area. The service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within the predetermined area and the first server is functioning normally. The second server is a server selected from the servers outside the predetermined area based on the distance between the first server and the server outside the predetermined area. The first server is a server cluster composed of multiple servers. The storage module is used to store the target account information in the redundant database if the redundant database does not contain the account information corresponding to the account identifier. An update module is used to update the account information corresponding to the account identifier in the redundant database using the target account information if the redundant database contains account information corresponding to the account identifier. The business processing module is used to perform initialization processing based on the account information in the redundant database or the account information in the backup database when the first server is abnormal, and to execute the target business if the initialization processing is successful. The backup database is a read-only database used for data backup, and the redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is a database in the second server used to store account information of servers belonging to the predetermined area. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

17. The apparatus of claim 16, further comprising: The synchronization module is used to synchronize the data in the main database corresponding to the target business with the data in the local backup database when the predetermined database synchronization period is reached. The main database includes the account information corresponding to the account identifier.

18. The apparatus of claim 17, further comprising: The request acquisition module is used to acquire the business request of the target service sent to the first server when the first server is abnormal, and the business request includes the account identifier; The first initialization module is used to initialize the account information corresponding to the account identifier based on the account identifier; The business execution module is used to execute the target business based on the business request if the initialization process is successful.

19. The apparatus according to claim 18, wherein the first initialization module comprises: The search unit is used to search whether the account identifier is contained in the redundant database and the backup database based on the account identifier; An initialization unit is configured to, if the redundant database contains the account identifier but the backup database does not contain the account identifier, use the target account information corresponding to the account identifier in the redundant database as initialization data and determine that the initialization process is successful.

20. The apparatus of claim 19, further comprising: The delay acquisition module is used to acquire the delay duration corresponding to the backup database if the redundant database does not contain the account identifier but the backup database does. The second initialization module is used to use the account information corresponding to the account identifier in the backup database as initialization data if the delay duration corresponding to the backup database is within a predetermined delay threshold range, and to determine that the initialization process is successful.

21. A service processing device, the service processing device comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to: Receive a service request for the target service. The service request includes an account identifier. The service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within a predetermined area and the first server is functioning normally. The first server is a server cluster composed of multiple servers. Based on the business request, the target business is executed, and the target account information corresponding to the account identifier is sent to the second server of the target business, so that the second server stores or updates the target account information in the redundant database. In the event of an anomaly of the first server, the second server performs initialization processing based on the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target business is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is a database in the second server used to store account information of servers belonging to the predetermined area. The second server is located outside the predetermined area. The second server is selected from the servers outside the predetermined area based on the distance between the servers outside the predetermined area and the first server. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

22. A service processing device, the service processing device comprising: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to: The system receives target account information sent by a first server for the target service. The target account information is information obtained and sent by the first server based on the account identifier contained in the service request when it receives the service request for the target service. The first server is located within a predetermined area. The service request is a request sent by the traffic control device to the first server when the area to which the service request belongs is within the predetermined area and the first server is functioning normally. The second server is a server selected from the servers outside the predetermined area based on the distance between the first server and the server outside the predetermined area. The first server is a server cluster composed of multiple servers. If the redundant database does not contain the account information corresponding to the account identifier, then the target account information is stored in the redundant database; If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database; When the first server malfunctions, initialization processing is performed using the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target business is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is the database in the second server used to store account information of servers belonging to the predetermined area. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

23. A service processing system, the service processing system comprising at least one first server located within a predetermined area, at least one second server located outside the predetermined area, and a traffic control device, wherein the first server is a server cluster composed of multiple servers, wherein: The traffic control device is used to receive service requests from the target service. If the first server of the target service is normal, the service request is sent to the first server. The service request includes an account identifier, and the area to which the service request belongs is within the predetermined area. The first server is configured to execute the target service based on the service request, and send the target account information corresponding to the account identifier to the second server of the target service; The second server is configured to store the target account information in the redundant database if the redundant database does not contain account information corresponding to the account identifier. If the redundant database contains account information corresponding to the account identifier, then the target account information is used to update the account information corresponding to the account identifier in the redundant database. The second server is a server selected from servers outside the predetermined area based on the distance between the first server and the server outside the predetermined area. When the first server malfunctions, initialization processing is performed using the account information in the redundant database or the account information in the backup database. If the initialization processing is successful, the target business is executed. The backup database is a read-only database used for data backup. The redundant database is used to store account information that has not been synchronized to the backup database. The redundant database is the database in the second server used to store account information of servers belonging to the predetermined area. If both the redundant database and the backup database contain the account identifier, then if the second time is before the first time and the delay duration corresponding to the backup database is within a predetermined delay threshold range, the initialization data is the account information corresponding to the account identifier in the backup database. If the first time is before the second time, the initialization data is the target account information in the redundant database. The first time is the time when the redundant database stores the target account information, and the second time is the time when the backup database stores the account information corresponding to the account identifier.

24. The system according to claim 23, wherein the traffic control device is further configured to send the service request to the second server when the first server of the target service malfunctions; The second server is further configured to initialize the account information corresponding to the account identifier based on the account identifier; if the initialization process is successful, the target service is executed based on the service request.

25. The system according to claim 24, wherein the traffic control device is further configured to, when the first server of the target service malfunctions, select a second server from the second servers according to a predetermined selection rule, and send the service request to the selected second server.

Citation Information

Patent Citations

  • Data synchronizing method and system

    CN105338093A