CN112749175A - Transaction processing method and device, electronic device and medium - Google Patents

Transaction processing method and device, electronic device and medium Download PDF

Info

Publication number
CN112749175A
CN112749175A CN201911051855.6A CN201911051855A CN112749175A CN 112749175 A CN112749175 A CN 112749175A CN 201911051855 A CN201911051855 A CN 201911051855A CN 112749175 A CN112749175 A CN 112749175A
Authority
CN
China
Prior art keywords
machine room
transaction
database
mapping relation
transaction information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911051855.6A
Other languages
Chinese (zh)
Other versions
CN112749175B (en
Inventor
曹冰
李仲夷
张驰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetsUnion Clearing Corp
Original Assignee
NetsUnion Clearing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NetsUnion Clearing Corp filed Critical NetsUnion Clearing Corp
Priority to CN201911051855.6A priority Critical patent/CN112749175B/en
Publication of CN112749175A publication Critical patent/CN112749175A/en
Application granted granted Critical
Publication of CN112749175B publication Critical patent/CN112749175B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present disclosure provides a transaction processing method, comprising: receiving a transaction request message, wherein the transaction request message carries transaction information; responding to the transaction request message, and executing the following operations: according to a preset routing rule, a first machine room for processing the transaction is predetermined; writing the mapping relation between the transaction information and the first computer room into the first database and the second database and returning a corresponding operation result; and determining a second machine room for processing the transaction according to the operation result. The present disclosure also provides a transaction processing apparatus, an electronic device, and a computer-readable storage medium.

Description

Transaction processing method and device, electronic device and medium
Technical Field
The present disclosure relates to a transaction processing method, a transaction processing method apparatus, an electronic device, and a computer-readable storage medium.
Background
The internet connection business belongs to the network payment business with higher capital risk, and an important function of system design is transaction weight prevention. The payment mechanism complies with the transaction serial number rule, performs export idempotent protection, and ensures the correctness and uniqueness of the transaction serial number sent to the internet platform. And the networking platform performs entry idempotent, so that the transaction serial number conforming to the rules is prevented from being duplicated.
Disclosure of Invention
One aspect of the present disclosure provides a transaction processing method, including: receiving a transaction request message, wherein the transaction request message carries transaction information; responding to the transaction request message, and executing the following operations: according to a preset routing rule, a first machine room for processing the transaction is predetermined; writing the mapping relation between the transaction information and the first computer room into a first database and a second database and returning a corresponding operation result; and determining a second machine room for processing the transaction according to the operation result.
Optionally, the determining, according to the operation result, a second machine room for processing the transaction includes at least one of: if the operation result represents that the first database and the second database are written successfully, determining that the second machine room is the predetermined first machine room; and if the operation result represents that one of the first database and the second database is successfully written and the other database is abnormal, determining that the second computer room is also the predetermined first computer room.
Optionally, the transaction information includes a transaction serial number, the transaction serial number includes a machine room identification bit, and a machine room identifier is written on the machine room identification bit; the determining, according to the operation result, a second machine room for processing the transaction includes: if the operation result indicates that the first database and the second database are both written abnormally, determining whether the first machine room is the machine room characterized by the machine room identifier; and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
Optionally, the method further comprises: and writing the mapping relation into the database which is written abnormally at present.
Optionally, the determining, according to the operation result, a second machine room for processing the transaction includes: if the operation result represents that one of the first database and the second database fails to write and the other database succeeds in writing or is abnormal in writing, inquiring the database which fails to write currently and returning an inquiry result; and if the query result represents that the mapping relation between the transaction information and other computer rooms exists in the database which fails to be written currently, taking the other computer rooms as the second computer rooms.
Optionally, the method further comprises: and writing the mapping relation between the transaction information and the other machine rooms into a database which is successfully written or abnormally written at present.
Optionally, the transaction information includes a transaction serial number, the transaction serial number includes a machine room identification bit, and a machine room identifier is written on the machine room identification bit; the method further comprises the following steps: if the query result represents that the mapping relation between the transaction information and the other machine rooms does not exist in the database with the current write failure, determining whether the first machine room is the machine room represented by the machine room identifier; and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
Optionally, the determining, according to the operation result, a second machine room for processing the transaction includes: if the operation result represents that the first database and the second database are failed to be written, inquiring the first database and the second database and returning a corresponding inquiry result; and determining the second machine room according to the query result.
Optionally, the determining the second machine room according to the query result includes: if the query result represents that a first mapping relation between the transaction information and other machine rooms already exists in the first database and a second mapping relation between the transaction information and other machine rooms already exists in the second database, determining whether the first mapping relation is consistent with the second mapping relation; and if the first mapping relation is determined to be consistent with the second mapping relation, taking the other machine rooms as the second machine room.
Optionally, the method further comprises: and if the first mapping relation is determined to be inconsistent with the second mapping relation, rejecting the transaction.
Optionally, the transaction information includes a transaction serial number, the transaction serial number includes a machine room identification bit, and a machine room identifier is written on the machine room identification bit; the determining the second machine room according to the query result includes: if the query result represents that the mapping relation between the transaction information and other machine rooms does not exist in the first database and the second database, determining whether the first machine room is the machine room represented by the machine room identifier; and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
Optionally, the method further comprises: and complementing the mapping relation between the transaction information and the first computer room to a database which is failed to be written currently.
Optionally, the method further comprises: and if the first machine room is determined not to be the machine room represented by the machine room identifier, rejecting the transaction.
Optionally, the determining the second machine room according to the query result includes: and if the query result represents that the mapping relationship between the transaction information and other machine rooms exists in one of the first database and the second database and the mapping relationship between the transaction information and other machine rooms does not exist in the other one of the first database and the second database, determining that the second machine room is a third machine room, wherein the third machine room is a machine room which is mapped with the transaction information in the existing mapping relationship.
Optionally, the method further comprises: and supplementing a first mapping relation to a database without the mapping relation between the transaction information and other machine rooms, wherein the first mapping relation is the mapping relation between the transaction information and the third machine room.
Optionally, before writing the mapping relationship between the transaction information and the first machine room to the first database and the second database and returning the corresponding operation result, the method further includes: determining whether the mapping relationship needs to be written to the first database and the second database.
Optionally, the method further comprises: and performing expiration time control on the mapping relation in the first database and the second database.
Optionally, the transaction information comprises an identifier of the payment authority; and the method further comprises, during writing the mapping relationship to the first database and the second database: compression control is performed on the identifier of the payment authority.
Optionally, the transaction information includes a transaction serial number; and the method also comprises the step of setting the state of the transaction serial number according to the operation result, wherein the state comprises one or more of the following states: a first processing state; a non-first-time processing state; and an uncertain state.
Another aspect of the present disclosure provides a transaction processing apparatus including: the receiving module is used for receiving a transaction request message, and the transaction request message carries transaction information; a response module, configured to, in response to the transaction request packet, perform the following operations: according to a preset routing rule, a first machine room for processing the transaction is predetermined; writing the mapping relation between the transaction information and the first computer room into a first database and a second database and returning a corresponding operation result; and determining a second machine room for processing the transaction according to the operation result.
Another aspect of the present disclosure provides an electronic device including: one or more processors; and memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the methods of embodiments of the present disclosure.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed, implement the method of embodiments of the present disclosure.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method of an embodiment of the disclosure when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario of a transaction processing method and apparatus according to an embodiment of the present disclosure;
FIG. 2 schematically shows a flow diagram of a transaction processing method according to an embodiment of the present disclosure;
FIG. 3A schematically illustrates a diagram of dual redis write success according to an embodiment of the present disclosure;
FIG. 3B is a schematic diagram that schematically illustrates one redis write successful another redis write exception, in accordance with another embodiment of the present disclosure;
FIG. 3C schematically illustrates a diagram of a dual redis write exception according to another embodiment of the present disclosure;
FIG. 3D schematically illustrates a diagram of one redis write failure and another redis write success, according to another embodiment of the present disclosure;
FIG. 3E schematically illustrates a schematic diagram of one redis write failure and another redis write exception, according to another embodiment of the present disclosure;
FIG. 3F schematically illustrates a diagram of a dual redis write failure according to another embodiment of the present disclosure;
FIG. 4 schematically shows a block diagram of a transaction processing device according to an embodiment of the present disclosure; and
fig. 5 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
Embodiments of the present disclosure provide a transaction processing method and a transaction processing apparatus to which the method can be applied. The method may include, for example, receiving a transaction request packet, where the transaction request packet carries transaction information, and then, in response to the transaction request packet, performing the following operations: the method comprises the steps of firstly, predetermining a first machine room used for processing the transaction according to a preset routing rule, then writing a mapping relation between the transaction information and the first machine room into a first database and a second database, returning a corresponding operation result, and further determining a second machine room used for processing the transaction according to the returned operation result, wherein the second machine room can be the first machine room specifically according to the returned operation result, and can also be other machine rooms different from the first machine room.
Fig. 1 schematically shows an application scenario of a transaction processing method and apparatus according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, it is assumed that, for the internet platform, corresponding machine rooms are provided in beijing, shanghai, and shenzhen, respectively. For example, the machine rooms 10 and 11 are provided in beijing, the machine rooms 20 and 21 are provided in shanghai, and the machine rooms 30 and 31 are provided in shenzhen. In this application scenario, the networking platform may support routing across the machine rooms, but it is necessary to ensure that data of local same cities (such as the machine rooms 10 and 11) are consistent, and to implement idempotent protection for each transaction, i.e., each transaction serial number.
The technical scheme provided by the embodiment of the disclosure can be used for achieving the purpose. In addition, in order to realize the anti-duplication of the transaction, the embodiment of the disclosure adopts a strategy that local city-wide double-write redis is introduced to the routing service at the front of the channel to realize idempotent control, and the anti-duplication control can be efficiently and stably realized only if the data of the local city-wide double-write keeps consistent.
The present disclosure will be described in detail below with reference to specific embodiments and with reference to the attached drawings.
Fig. 2 schematically shows a flow chart of a transaction processing method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S210 to S240, in which:
in operation S210, a transaction request message is received, where the transaction request message carries transaction information, and the following operations S220 to S240 are performed in response to the transaction request message.
In the embodiment of the present disclosure, the transaction information may include, but is not limited to, a transaction serial number of the current transaction and an identifier of a transaction payment mechanism, for example.
Further, in the embodiment of the present disclosure, one transaction serial number may include, for example, 32 bits, where the first 8 bits are year, month and day bits, such as 20190827, the first 2 bits of the last 6 bits are machine room identification bits, such as 10, which represents the machine room 10, the last 4 bits of the last 6 bits are machine room control bits, and the middle 18 bits are random bits, which is used to ensure that the transaction serial number is unique on the current day.
Referring back to fig. 1, in the embodiment of the present disclosure, specifically, a channel front may be provided for each machine room, for performing operations S210 to S240.
In operation S220, a first machine room for processing the transaction is predetermined according to a preset routing rule.
It should be noted that, in the embodiment of the present disclosure, the routing rule may be specifically set according to actual needs. For example, the machine room may be routed according to the category of the transaction payment mechanism (for example, it may be specified that all transactions of the payment treasures are processed by using the same machine room), or may be routed according to the category of the transaction payment mechanism (for example, it may be specified that all transactions of the quick payment type are processed by using the same machine room), or may be routed according to the category of the transaction payment mechanism and the state of the machine room (for example, whether the machine room is faulty or overloaded or not), or may be routed according to the category of the transaction payment mechanism and the state of the machine room (for example, whether the machine room is faulty or.
For operation S220, for example, if the received transaction request message from the payer is received, the machine room for processing the transaction may be predetermined as a specific machine room, such as the machine room 10 in beijing, according to the routing rule.
In operation S230, the mapping relationship between the transaction information and the first computer room is written into the first database and the second database, and a corresponding operation result is returned.
It should be noted that, in the embodiment of the present disclosure, the first database and the second database may be two different redis databases.
For operation S230, the mapping relationship may be written to the two databases every time a transaction request message is received.
It should be noted that, in the embodiment of the present disclosure, for any database described above, if a mapping relationship is successfully written, it is characterized that there is no mapping relationship related to the transaction information in the mapping relationship before in the database. Conversely, if a mapping fails to be written, it is a representation that there may already be some mapping in the database that is related to the transaction information in that mapping. And if one mapping relation causes abnormal writing due to network jitter and the like, the representation is uncertain whether a certain mapping relation related to the transaction information in the mapping relation exists in the database before.
Based on this, for the above-mentioned write operation, the returned operation result may include: a successful write of both databases, a failed write of both databases, an abnormal write of both databases, a failed write of one database and a successful write of the other database, a failed write of one database and an abnormal write of the other database, a successful write of one database and an abnormal write of the other database.
In operation S240, a second machine room for processing the transaction is determined according to the operation result.
It should be noted that, in the embodiment of the present disclosure, the first machine room is a machine room predetermined according to the routing rule and used for processing the transaction, and the second machine room is a machine room finally determined according to the operation result and used for processing the transaction. The second machine room may be the first machine room, that is, the predetermined machine room is the machine room for finally processing the transaction. The second machine room may not be the first machine room, that is, the predetermined machine room is not the machine room for finally processing the transaction. This situation may be determined, for example, whether the local machine room (i.e., the machine room indicated by the marker in the transaction serial number) is the same machine room as the first machine room predetermined by the routing rule, wherein if so, the local machine room is regarded as the second machine room, otherwise, the second machine room is empty, the transaction is rejected, and so on.
It should be noted that the detailed steps for determining the second machine room according to different operation results will be described in the following embodiments, and are not described herein again.
Through the embodiment of the disclosure, for the transaction of the request of crossing the machine room, the transaction aiming at the same transaction serial number can be ensured to be processed in the same machine room, so that the consistency of transaction data is ensured, and the idempotent protection can be realized for each transaction serial number. Namely, the embodiment of the disclosure improves the availability of storage and the idempotency of service through a double-write mechanism.
The method shown in fig. 2 is further described with reference to fig. 3A-3F in conjunction with specific embodiments.
As an alternative embodiment, the operation S240 may determine, according to the operation result, the second machine room for processing the transaction, for example, include at least one of the following.
(1) And if the operation result indicates that the first database and the second database are successfully written, determining that the second computer room is the predetermined first computer room.
Fig. 3A schematically illustrates a schematic diagram of dual redis write success according to an embodiment of the present disclosure.
As shown in FIG. 3A, for the same mapping relationship, both redis databases write successfully. In this case, the transaction is processed based on the routing result.
By the embodiment of the disclosure, for the condition that the double-redis writing is successful, routing of the same machine room and cross machine rooms can be supported.
Furthermore, as described above, if a mapping is successfully written into a database, it is characterized that there has not been any mapping in the database that is related to the transaction information in the mapping. Further, if one mapping relation is successfully written in both the two databases, it is characterized that any mapping relation related to the transaction information in the mapping relation does not exist in the two databases before, and it is further characterized that the transaction serial number used in the transaction is the serial number appearing for the first time.
(2) And if the operation result indicates that one of the first database and the second database is successfully written and the other database is abnormal, determining that the second computer room is also the predetermined first computer room.
FIG. 3B schematically shows a diagram of one redis write successful another redis write exception, according to another embodiment of the present disclosure.
As shown in FIG. 3B, for the same mapping relation, one of the two redis databases is successfully written into the redis database, and the other redis database is abnormally written into the redis database. In this case, the transaction is processed based on the routing result.
It should be understood that, in the embodiment of the present disclosure, the routing result is the first machine room predetermined according to the routing rule.
Through the embodiment of the disclosure, if any one of the redis abnormal during dual-redis writing, only the same machine room routing is supported, and the cross-machine room routing is not supported.
In addition, as described above, if a mapping relationship is written abnormally in a database due to network jitter, etc., the characterization is uncertain whether a mapping relationship related to the transaction information in the mapping relationship exists in the database before. In addition, in the embodiment of the present disclosure, since the mapping relationship is successfully written in another database, that is, although there is a redis access exception, there is no idempotent, it cannot be determined whether the transaction serial number used in the transaction is the serial number that appears for the first time, and in this case, the transaction serial number may be set to be in an uncertain state, so as to facilitate subsequent processing of the transaction, and improve performance of transaction processing.
In addition, in the embodiment of the present disclosure, although an access exception occurs in one redis database, the transaction is processed according to the routing result, that is, the transaction is processed normally. In this case, in order to prevent similar situations from occurring when processing subsequent transaction requests, a data complementing operation may be performed on the redis database with an access exception, so as to complement the corresponding mapping relationship into the redis database.
Further, in embodiments of the present disclosure, the complement data operation is an overlay insert operation. It should be noted that, in the embodiment of the present disclosure, whether to perform the overlay insertion operation may be determined according to a condition. Specifically, if one redis database accesses an exception when writing a mapping relationship, but the present transaction is normally processed, an overwrite insertion operation is performed.
As an alternative embodiment, the transaction information may include, for example, a transaction serial number, which may include, for example, a machine room identification bit on which a machine room identifier is written. The determining, in operation S240, the second machine room for processing the transaction according to the operation result may include: and if the operation result indicates that the first database and the second database are both written abnormally, further determining whether the first machine room is the machine room characterized by the machine room identifier, and if the first machine room is determined to be the machine room characterized by the machine room identifier, taking the machine room characterized by the machine room identifier as the machine room for processing the transaction.
FIG. 3C schematically illustrates a diagram of a dual redis write exception, according to another embodiment of the present disclosure.
As shown in fig. 3C, in the embodiment of the present disclosure, for the case that both the dual redis databases are written with an exception, whether the transaction is processed normally depends on whether the routing result is consistent with the local computer. If the two are consistent, the routing result is used, namely the first machine room processes the transaction (namely the transaction is processed normally), otherwise, the transaction is rejected.
Further, as an alternative embodiment, the method may further include, for example, overwriting the mapping relation to the database to which the current writing exception is made.
Specifically, it may be determined whether the current transaction is processed normally when overwriting data, wherein if the determination result indicates that the current transaction is processed normally, an overwriting insertion operation is performed to overwrite the corresponding data.
In addition, in the embodiment of the disclosure, a compensation criterion can be set to alarm all rejected transactions.
As an alternative embodiment, the operation S240 of determining the second machine room for processing the transaction according to the operation result may include: and if the operation result indicates that one of the first database and the second database fails to write and the other database succeeds to write or is abnormally written, inquiring the database which fails to write currently and returning an inquiry result, and if the inquiry result indicates that the mapping relationship between the transaction information and other machine rooms exists in the database which fails to write currently, taking the other machine rooms as the second machine rooms.
FIG. 3D schematically shows a diagram of one redis write failure and another redis write success, according to another embodiment of the present disclosure.
FIG. 3E schematically illustrates a schematic diagram of one redis write failure and another redis write exception, according to another embodiment of the present disclosure.
As shown in fig. 3D and fig. 3E, for the case that one writing fails and the other writing succeeds or is abnormally written in the dual redis database, whether the transaction is normally processed depends on the query result of the redis database with writing failure. If the mapping relation between the current transaction information and other machine rooms is found in the database through query, the query result, namely other machine rooms, is used for processing the transaction (namely the transaction is processed normally). For example, for the transaction request of this time, the transaction information of this time is mapped with the machine room 10 through the routing rule and then written into the dual redis database, if one of the two writes fails, the other writes succeeds, and the query finds that a mapping relationship between the transaction information of this time and the machine room 20 already exists in the redis database in which the writing fails, and at this time, the machine room 20 is taken as the machine room finally used for processing this time of transaction.
In addition, as described above, if a mapping fails to be written into a database, it is characterized that there may be some mapping in the database that is related to the transaction information in the mapping. In addition, in the embodiment of the present disclosure, because the mapping relation fails to be written in another database, that is, an idempotent occurs when one database executes a write operation, it is determined that the transaction serial number used in the transaction is not the serial number that occurs for the first time, and in this case, the transaction serial number may be set to a non-first-occurring state, so as to facilitate subsequent processing of the transaction, and improve performance of transaction processing.
As an optional embodiment, the method may further include, for example, writing a mapping relationship between the transaction information and the other computer room to a database in which the current writing is successful or abnormal.
For example, if a mapping relationship between the transaction information related to the transaction and the machine room 20 already exists in the write-failed redis database, the mapping relationship between the transaction information and the machine room 20 may be rewritten in the write-successful or write-abnormal redis database.
Specifically, it may be determined whether the current transaction is processed normally when overwriting data, wherein if the determination result indicates that the current transaction is processed normally, an overwriting insertion operation is performed to overwrite the corresponding data.
As an alternative embodiment, the transaction information may include, for example, a transaction serial number, which may include, for example, a machine room identification bit on which a machine room identifier is written. The method may further include, for example: if the query result represents that the mapping relation between the transaction information and other machine rooms does not exist in the database with the current write failure, determining whether the first machine room is the machine room represented by the machine room identifier, and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
Specifically, in the embodiment of the present disclosure, for the redis database in which writing fails and there is no other mapping relation related to the transaction information of the current transaction, whether the current transaction is processed normally depends on whether the routing result is consistent with the local computer. If the two are consistent, the routing result is used, namely the first machine room processes the transaction (namely the transaction is processed normally), otherwise, the transaction is rejected.
Furthermore, in the disclosed embodiments, a situation of rejecting queries may also occur for a redis database that fails to be written. For the scene of refusing to inquire, an alarm mechanism can be set to alarm.
As an alternative embodiment, the operation S240 of determining the second machine room for processing the transaction according to the operation result may include: and if the operation result indicates that the first database and the second database are failed to be written, inquiring the first database and the second database, returning a corresponding inquiry result, and determining the second machine room according to the inquiry result.
FIG. 3F schematically illustrates a diagram of a dual redis write failure according to another embodiment of the disclosure.
As shown in fig. 3F, for the case that all writes in the dual redis database fail, whether the transaction is processed normally depends on the query result for the dual redis database. It should be noted that, in the embodiment of the present disclosure, the query result includes, but is not limited to, that a corresponding and consistent mapping relationship can be found in the dual redis databases, that a corresponding and inconsistent mapping relationship can be found in the dual redis databases, that a corresponding mapping relationship can be found in one of the redis databases and a corresponding mapping relationship cannot be found in the other redis database, that one or both of the redis databases reject the query request, and the like.
It should be noted that, the detailed steps of determining, for a specific query result, a machine room finally used for processing the transaction will be described in the following embodiments, and will not be described herein again.
As an optional embodiment, determining the second computer room according to the query result may include, for example: if the query result represents that a first mapping relation between the transaction information and other computer rooms already exists in the first database and a second mapping relation between the transaction information and other computer rooms already exists in the second database, determining whether the first mapping relation is consistent with the second mapping relation, and if the first mapping relation is determined to be consistent with the second mapping relation, taking the other computer rooms as the second computer rooms.
For example, for the transaction request, if both of the dual redis databases fail to write, and the query finds that there is already a mapping relationship between the transaction information about the transaction and the machine room 20 in both of the redis databases that have failed to write, the machine room 20 is taken as the machine room that is finally used for processing the transaction.
Further, as an optional embodiment, the method may further include, for example, overwriting a mapping relationship between the transaction information and the first machine room to a database in which the current writing fails.
For example, for the above example, the mapping relationship between the transaction information of the transaction and the machine room 20 may be rewritten into the redis databases in which the two writing failures occur. In particular, an overwrite insertion operation may be employed for data overwriting.
As an alternative embodiment, the method may further include, for example, rejecting the transaction if it is determined that the first mapping is inconsistent with the second mapping.
For example, for the transaction request of this time, if both the dual redis databases fail to write, and it is found through query that one of the redis databases already has a mapping relationship between the transaction information about the transaction and the machine room 20, and the other redis database already has a mapping relationship between the transaction information about the transaction and the machine room 30, it is obvious that the two mapping relationships are not consistent, and in this case, the transaction is rejected.
As an alternative embodiment, the transaction information may include, for example, a transaction serial number, which may include, for example, a machine room identification bit on which a machine room identifier is written. Determining the second computer room according to the query result may include, for example: if the query result represents that the mapping relation between the transaction information and other machine rooms does not exist in the first database and the second database, determining whether the first machine room is the machine room represented by the machine room identifier, and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
For example, for the transaction request, if both of the dual redis databases fail to write, and the query finds that there is no mapping relationship between the transaction information of the transaction and any machine room in both of the redis databases that have failed to write, it may be further determined whether the routing result is consistent with the machine room, for example. If the transaction is consistent with the transaction request, the machine room is used for processing the transaction.
Further, as an optional embodiment, the method may further include, for example, complementing the mapping relationship between the transaction information of the transaction and the local computer room to a database in which the current writing fails.
As an alternative embodiment, the method may further include, for example, rejecting the transaction if it is determined that the first machine room is not the machine room characterized by the machine room identifier.
That is, in the embodiment of the present disclosure, if the routing result is inconsistent with the own house, the transaction is rejected. For example, if the routing result is the machine room 10 and the machine room is the machine room 20, the transaction is rejected.
As an alternative embodiment, determining the second computer room according to the query result may include, for example: and if the query result represents that the mapping relationship between the transaction information and other machine rooms exists in one of the first database and the second database and the mapping relationship between the transaction information and other machine rooms does not exist in the other one of the first database and the second database, determining that the second machine room is a third machine room, wherein the third machine room is a machine room which is mapped with the transaction information in the existing mapping relationship.
For example, for the transaction request, if the dual redis databases are all failed to write, and it is found through query that a mapping relationship between the transaction information about the transaction and the machine room 20 already exists in one of the redis databases, and a mapping relationship between the transaction information about the transaction and any machine room does not exist in the other redis database, the machine room 20 is used to process the transaction.
Further, as an optional embodiment, the method may further include, for example: and supplementing a first mapping relation to a database without the mapping relation between the transaction information and other machine rooms, wherein the first mapping relation is the mapping relation between the transaction information and the third machine room.
For example, for the transaction request of this time, if both of the dual redis databases fail to write, and it is found through query that a mapping relationship between the transaction information about this time transaction and the machine room 20 already exists in one of the redis databases, and a mapping relationship between the transaction information about this time transaction and any machine room does not exist in the other redis database, in this case, the mapping relationship between the transaction information about this time transaction and the machine room 20 may be written in the other redis database complementarily. Specifically, data overwriting can be performed by an overwrite insertion operation.
As an alternative embodiment, the method may further include, for example: before writing the mapping relation between the transaction information and the first computer room into the first database and the second database and returning the corresponding operation result, determining whether the mapping relation needs to be written into the first database and the second database.
In the embodiment of the present disclosure, since the query-type transaction request generally does not bring the risk of funds, the probability that the non-query-type transaction request brings the risk of funds is relatively high. Therefore, when the message of the query transaction request is received, the related operation of the same-city double-write mechanism can not be executed, and the query operation can be directly executed in response to the request message. And when receiving a message of a non-inquiry transaction request, executing the related operation of the same-city double-writing mechanism, determining whether to process the transaction according to the operation result, and determining a machine room for processing the transaction under the condition of determining to process the transaction.
As an alternative embodiment, the method may further include performing expiration time control on the mapping relationship between the first database and the second database.
For example, for a contract-type and a quick-pay-type transaction, the expiration time of the relevant mapping relationship may be set to 25 hours; for refund type transactions, the expiration time of the relevant mapping relationship may be set to 3 days; for payment type transactions, the expiration time of the relevant mapping may be set to 4 days, and so on.
In the embodiment of the disclosure, the storage capacity of the redis database can be improved by performing expiration time control on the relevant mapping relation written in the redis database.
As an alternative embodiment, the transaction information may include, for example, an identifier of the payment authority. The method may further include, for example, in writing the mapping relationship to the first database and the second database: compression control is performed on the identifier of the payment authority.
In particular, the compression control can be performed on the identifier of the payment institution whose market is large. For example, if the pay bank and the WeChat pay are large, the identifier of the pay bank may be set to 0 and the identifier of the WeChat may be set to 1 for compression.
In the embodiment of the present disclosure, by performing compression control on the identifier of the payment mechanism when the relevant mapping relationship is written in the redis database, the storage capacity of the redis database can also be improved.
Fig. 4 schematically shows a block diagram of a transaction processing device according to an embodiment of the present disclosure.
As shown in fig. 4, the transaction processing device 400 includes a receiving module 401 and a response module 402. The transaction processing device 400 may perform the methods described above with reference to the method embodiments, in part, fig. 2, 3A-3F, to implement transaction processing.
Specifically, the receiving module 401 is configured to receive a transaction request packet, where the transaction request packet carries transaction information.
The response module 402 is configured to, in response to the transaction request message, perform the following operations: the method comprises the steps of determining a first machine room used for processing the transaction according to a preset routing rule, writing a mapping relation between the transaction information and the first machine room into a first database and a second database, returning a corresponding operation result, and determining a second machine room used for processing the transaction according to the operation result.
It should be noted that, the apparatus embodiment and the method embodiment are the same or similar in terms of technical problems to be solved, technical means to be used, technical effects to be achieved, and the like, and are not described herein again.
Any of the modules according to embodiments of the present disclosure, or at least part of the functionality of any of them, may be implemented in one module. Any one or more of the modules according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules according to the embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging the circuit, or in any one of three implementations, or in any suitable combination of any of the software, hardware, and firmware. Alternatively, one or more of the modules according to embodiments of the disclosure may be implemented at least partly as computer program modules which, when executed, may perform corresponding functions.
For example, any number of the receiving module 401 and the responding module 402 may be combined and implemented in one module, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the receiving module 401 and the responding module 402 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware by any other reasonable manner of integrating or packaging a circuit, or in any one of three implementations of software, hardware, and firmware, or in a suitable combination of any of them. Alternatively, at least one of the receiving module 401 and the responding module 402 may be at least partly implemented as a computer program module, which when executed may perform a corresponding function.
Fig. 5 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, the electronic device 500 includes a processor 510, a computer-readable storage medium 520. The electronic device 500 may perform a method according to an embodiment of the present disclosure.
In particular, processor 510 may include, for example, a general purpose microprocessor, an instruction set processor and/or related chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), and/or the like. The processor 510 may also include on-board memory for caching purposes. Processor 510 may be a single processing unit or a plurality of processing units for performing different actions of a method flow according to embodiments of the disclosure.
Computer-readable storage media 520, for example, may be non-volatile computer-readable storage media, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 520 may include a computer program 521, which computer program 521 may include code/computer-executable instructions that, when executed by the processor 510, cause the processor 510 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 521 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 521 may include one or more program modules, including for example 521A, modules 521B, … …. It should be noted that the division and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, and when these program modules are executed by the processor 510, the processor 510 may execute the method according to the embodiment of the present disclosure or any variation thereof.
According to an embodiment of the present disclosure, at least one of the receiving module 401 and the responding module 402 may be implemented as a computer program module described with reference to fig. 5, which, when executed by the processor 510, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (22)

1. A transaction processing method, comprising:
receiving a transaction request message, wherein the transaction request message carries transaction information;
responding to the transaction request message, and executing the following operations:
according to a preset routing rule, a first machine room for processing the transaction is predetermined;
writing the mapping relation between the transaction information and the first computer room into a first database and a second database and returning a corresponding operation result; and
and determining a second machine room for processing the transaction according to the operation result.
2. The method of claim 1, wherein said determining a second machine room for processing the transaction based on the operation result comprises at least one of:
if the operation result represents that the first database and the second database are written successfully, determining that the second machine room is the predetermined first machine room;
and if the operation result represents that one of the first database and the second database is successfully written and the other database is abnormal, determining that the second computer room is also the predetermined first computer room.
3. The method of claim 1, wherein,
the transaction information comprises a transaction serial number, the transaction serial number comprises a machine room identification position, and a machine room identifier is written on the machine room identification position;
the determining, according to the operation result, a second machine room for processing the transaction includes:
if the operation result indicates that the first database and the second database are both written abnormally, determining whether the first machine room is the machine room characterized by the machine room identifier; and
and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
4. The method of claim 2 or 3, further comprising:
and writing the mapping relation into the database which is written abnormally at present.
5. The method of claim 1, wherein the determining a second machine room for processing the transaction according to the operation result comprises:
if the operation result represents that one of the first database and the second database fails to write and the other database succeeds in writing or is abnormal in writing, inquiring the database which fails to write currently and returning an inquiry result; and
and if the query result represents that the mapping relation between the transaction information and other computer rooms exists in the database which is failed to be written currently, taking the other computer rooms as the second computer rooms.
6. The method of claim 5, further comprising:
and writing the mapping relation between the transaction information and the other machine rooms into a database which is successfully written or abnormally written at present.
7. The method of claim 5, wherein,
the transaction information comprises a transaction serial number, the transaction serial number comprises a machine room identification position, and a machine room identifier is written on the machine room identification position;
the method further comprises the following steps: if the query result represents that the mapping relation between the transaction information and the other machine rooms does not exist in the database with the current write failure, determining whether the first machine room is the machine room represented by the machine room identifier; and
and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
8. The method of claim 1, wherein the determining a second machine room for processing the transaction according to the operation result comprises:
if the operation result represents that the first database and the second database are failed to be written, inquiring the first database and the second database and returning a corresponding inquiry result; and
and determining the second machine room according to the query result.
9. The method of claim 8, wherein the determining the second room from the query result comprises:
if the query result represents that a first mapping relation between the transaction information and other machine rooms already exists in the first database and a second mapping relation between the transaction information and other machine rooms already exists in the second database, determining whether the first mapping relation is consistent with the second mapping relation; and
and if the first mapping relation is consistent with the second mapping relation, taking the other machine rooms as the second machine room.
10. The method of claim 9, further comprising:
and if the first mapping relation is determined to be inconsistent with the second mapping relation, rejecting the transaction.
11. The method of claim 8, wherein,
the transaction information comprises a transaction serial number, the transaction serial number comprises a machine room identification position, and a machine room identifier is written on the machine room identification position;
the determining the second machine room according to the query result includes:
if the query result represents that the mapping relation between the transaction information and other machine rooms does not exist in the first database and the second database, determining whether the first machine room is the machine room represented by the machine room identifier; and
and if the first machine room is determined to be the machine room represented by the machine room identifier, taking the machine room represented by the machine room identifier as the machine room for processing the transaction.
12. The method of claim 11, further comprising:
and complementing the mapping relation between the transaction information and the first computer room to a database which is failed to be written currently.
13. The method of any of claims 3, 7, or 11, further comprising:
and if the first machine room is determined not to be the machine room represented by the machine room identifier, rejecting the transaction.
14. The method of claim 8, wherein the determining the second room from the query result comprises:
if the query result represents that the mapping relationship between the transaction information and other machine rooms exists in one of the first database and the second database and the mapping relationship between the transaction information and other machine rooms does not exist in the other database, determining that the second machine room is a third machine room,
and the third machine room is a machine room which is mapped with the transaction information in the existing mapping relation.
15. The method of claim 14, further comprising:
and complementing the first mapping relation into a database without mapping relation between the transaction information and other machine rooms, wherein,
the first mapping relation is a mapping relation between the transaction information and the third machine room.
16. The method of claim 1, wherein prior to writing the mapping between the transaction information and the first machine room to the first database and the second database and returning the corresponding operation results, the method further comprises:
determining whether the mapping relationship needs to be written to the first database and the second database.
17. The method of claim 1, further comprising:
and performing expiration time control on the mapping relation in the first database and the second database.
18. The method of claim 1, wherein,
the transaction information includes an identifier of a payment institution; and
the method further comprises, during writing the mapping relationship to the first database and the second database:
compression control is performed on the identifier of the payment authority.
19. The method of claim 1, wherein,
the transaction information comprises a transaction serial number; and
the method further comprises the step of setting the state of the transaction serial number according to the operation result, wherein the state comprises one or more of the following states:
a first processing state;
a non-first-time processing state; and
the state is not determined.
20. A transaction processing device comprising:
the receiving module is used for receiving a transaction request message, and the transaction request message carries transaction information;
a response module, configured to, in response to the transaction request packet, perform the following operations:
according to a preset routing rule, a first machine room for processing the transaction is predetermined;
writing the mapping relation between the transaction information and the first computer room into a first database and a second database and returning a corresponding operation result; and
and determining a second machine room for processing the transaction according to the operation result.
21. An electronic device, comprising:
one or more processors; and
a memory for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-19.
22. A computer-readable storage medium storing computer-executable instructions for implementing the method of any one of claims 1 to 19 when executed.
CN201911051855.6A 2019-10-30 2019-10-30 Transaction processing method and device, electronic equipment and medium Active CN112749175B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911051855.6A CN112749175B (en) 2019-10-30 2019-10-30 Transaction processing method and device, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911051855.6A CN112749175B (en) 2019-10-30 2019-10-30 Transaction processing method and device, electronic equipment and medium

Publications (2)

Publication Number Publication Date
CN112749175A true CN112749175A (en) 2021-05-04
CN112749175B CN112749175B (en) 2023-10-03

Family

ID=75641353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911051855.6A Active CN112749175B (en) 2019-10-30 2019-10-30 Transaction processing method and device, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN112749175B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191901A (en) * 2021-05-17 2021-07-30 中国建设银行股份有限公司 Transaction service processing method, device, equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133591A1 (en) * 2001-03-16 2004-07-08 Iti, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US20130066948A1 (en) * 2011-09-09 2013-03-14 Oracle International Corporation Idempotence for database transactions
US20160203484A1 (en) * 2015-01-12 2016-07-14 Mastercard International Incorporated Method and system for retry processing of controlled payment transactions
WO2017084442A1 (en) * 2015-11-20 2017-05-26 华为技术有限公司 Mobile payment method and apparatus
CN109063027A (en) * 2018-07-16 2018-12-21 阿里巴巴集团控股有限公司 A kind of method and device for business processing
CN109493217A (en) * 2018-10-16 2019-03-19 翟红鹰 Prevent method, system, equipment and the computer readable storage medium for repeating to pay
CN110060161A (en) * 2019-03-28 2019-07-26 众安信息技术服务有限公司 It trades anti-heavy client service implementation method and serviced component for block chain
US20190236592A1 (en) * 2018-01-26 2019-08-01 Mastercard International Incorporated Computer system and computer-implemented method for secure e-commerce
CN110264648A (en) * 2019-05-10 2019-09-20 杭州米雅信息科技有限公司 Data processing method and device, automatic teller machine and data processing system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040133591A1 (en) * 2001-03-16 2004-07-08 Iti, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US20130066948A1 (en) * 2011-09-09 2013-03-14 Oracle International Corporation Idempotence for database transactions
US20160203484A1 (en) * 2015-01-12 2016-07-14 Mastercard International Incorporated Method and system for retry processing of controlled payment transactions
WO2017084442A1 (en) * 2015-11-20 2017-05-26 华为技术有限公司 Mobile payment method and apparatus
US20190236592A1 (en) * 2018-01-26 2019-08-01 Mastercard International Incorporated Computer system and computer-implemented method for secure e-commerce
CN109063027A (en) * 2018-07-16 2018-12-21 阿里巴巴集团控股有限公司 A kind of method and device for business processing
CN109493217A (en) * 2018-10-16 2019-03-19 翟红鹰 Prevent method, system, equipment and the computer readable storage medium for repeating to pay
CN110060161A (en) * 2019-03-28 2019-07-26 众安信息技术服务有限公司 It trades anti-heavy client service implementation method and serviced component for block chain
CN110264648A (en) * 2019-05-10 2019-09-20 杭州米雅信息科技有限公司 Data processing method and device, automatic teller machine and data processing system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张亚华: "互联网金融产品交易平台的设计与实现", 《信息科技》, no. 09 *
程超等: "基于支付场景下的微服务改造与性能优化", Retrieved from the Internet <URL:https://www.infoq.cn/article/W_DCLXJ282WDp92hUoqw> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191901A (en) * 2021-05-17 2021-07-30 中国建设银行股份有限公司 Transaction service processing method, device, equipment and storage medium
CN113191901B (en) * 2021-05-17 2024-04-26 中国建设银行股份有限公司 Transaction service processing method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN112749175B (en) 2023-10-03

Similar Documents

Publication Publication Date Title
EP3812993A1 (en) Method and apparatus for constructing merkle trees, and method and apparatus for simplified payment verification
EP3816922A1 (en) Blockchain-based transaction processing method and apparatus, and electronic device
US9251233B2 (en) Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation
US9417972B2 (en) Cascade ordering
US20210184837A1 (en) Methods and apparatuses for reading blockchain data
CA3121919A1 (en) System and method for augmenting database applications with blockchain technology
US20210158310A1 (en) Blockchain-based transaction processing methods and apparatuses and electronic devices
US20210158340A1 (en) Methods and apparatuses for concealing transaction written to blockchain
US9235348B2 (en) System, and methods for initializing a memory system
CN109710695B (en) Transaction request validity identification and initiation method, device, equipment and medium
CN111880956B (en) Data synchronization method and device
US20130124813A1 (en) Methods and systems for formatting storage volumes
CN113806143B (en) Remote disaster recovery method, system and electronic equipment
CN110795447A (en) Data processing method, data processing system, electronic device, and medium
CN111861472A (en) Service monitoring processing method and device
US8595430B2 (en) Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes
US10896096B2 (en) Temporal logical transactions
CN112749175A (en) Transaction processing method and device, electronic device and medium
US10120598B2 (en) Validation of write data subsequent to destaging to auxiliary storage for completion of peer to peer remote copy
US20150186294A1 (en) Systems and methods for managing read-only memory
CN113660172B (en) Flow control method and device
CN113485930A (en) Business process verification method, device, computer system and readable storage medium
US11775395B2 (en) Withdrawing a point-in-time snapshot copy operation within a data consistency application
JP6989147B2 (en) Cryptocurrency trading method and system
CN114237983A (en) Data backup method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant