Super online banking incoming account service processing method, device and equipment and storage medium
By canceling the automatic receipt of batch payment services and adopting the current limiting strategy of the token bucket algorithm, the super online banking system avoids system crashes when processing batch payment services, improving stability and business processing capabilities.
Patent Information
- Application Number
- CN202411704853.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-03-28
AI Technical Summary
In the super online banking system, when the banking system handles batch payment services, due to insufficient performance, it is impossible to process multiple incoming transactions at the same time, which easily leads to system crashes and business failures.
By canceling automatic receipts for batch payment services and using the current limiting algorithm to perform receipts on multiple businesses one by one, limiting the number of services processed in parallel in the banking system. Specifically, using the token bucket algorithm, a child thread is established to process unprocessed businesses one by one, and the token is returned after the child thread is executed.
It effectively reduces the banking system crash caused by excessive batch payment services, avoids system crash caused by excessive parallel processing of services, and improves the stability and business processing capabilities of the system.
Smart Images

Figure CN119722266A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of banking information technology, and in particular to a method, device, equipment and storage medium for processing incoming account services of a super online banking. Background Art
[0002] Super Internet Banking is the "online payment inter-bank clearing system". It is an Internet banking port used to connect to the head offices of various commercial banks. It is an important part of the second-generation payment system. The system can realize real-time inter-bank transfers and inter-bank account inquiries.
[0003] In the Super Online Banking System, the bank system will receive incoming transactions from other bank systems. After receiving an incoming transaction from another bank, the bank system will try to record the incoming transaction and then automatically send a receipt to the bank that sent the incoming transaction.
[0004] However, when processing batch payment services, the bank system will receive multiple incoming transactions in a short period of time (for example, 50 transactions / second, 100 transactions / second, or 150 transactions / second, etc.). Some bank systems have poor performance and cannot process multiple incoming transactions at the same time. These bank systems are prone to system crashes when processing batch payment services, which in turn leads to a large number of business failures. Summary of the invention
[0005] The present disclosure provides a method, device, equipment and storage medium for processing incoming account services of super online banking, which can reduce the bank system crash caused by batch payment. The technical solution at least includes the following solutions: In a first aspect, a method for processing incoming business of a super online banking is provided, comprising: a banking system obtains a first message sent by an incoming bank, the first message is used to indicate a first incoming business, and the incoming bank is a bank other than the bank where the banking system is located; based on the first message, a business type of the first incoming business is determined; in the case where the business type of the first incoming business is batch payment, an automatic receipt of the first incoming business is canceled; and a current limiting algorithm is used to issue receipts for multiple businesses in the first incoming business one by one.
[0006] Optionally, the maximum number of businesses sent in parallel by the batch payment is a first threshold, the maximum number of businesses processed in parallel by the bank system is a second threshold, the maximum number of businesses processed in parallel by the current limiting algorithm is a third threshold, the first threshold is greater than the second threshold, and the second threshold is greater than the third threshold.
[0007] Optionally, the current limiting algorithm is a token bucket algorithm, and the current limiting algorithm is used to issue receipts for multiple transactions in the first incoming transaction one by one, including: when there are tokens in the token bucket and there are unprocessed transactions among the multiple transactions, based on the tokens in the token bucket and the unprocessed transactions, multiple sub-threads are established, each sub-thread corresponds to a token, and any sub-thread is used to generate a receipt for one of the unprocessed transactions; after any sub-thread is executed, the token corresponding to the sub-thread is returned to the token bucket.
[0008] Optionally, based on the existence of tokens in the token bucket and the unprocessed business, multiple sub-threads are established, including: step s1, adding an optimistic lock to the first sub-thread, the first sub-thread is any sub-thread among the multiple sub-threads; step s2, judging whether the first mark of the first business is valid, if the first mark of the first business is valid, executing step s3, if the first mark of the first business is invalid, executing step s7, the first business is any of the unprocessed businesses; step s3, executing a trial accounting step for the first business, updating the trial accounting result of the first business, and setting the first mark of the first business to invalid; step s4, organizing the first Step s5, determine whether the receipt of the first service is sent successfully. If the receipt of the first service is sent successfully, execute step s6. If the receipt of the first service fails to be sent, add 1 to the number of receipts of the first service and execute step s2. Step s6, set the state of the first service to the terminal state and exit the loop. Step s7, determine whether the number of receipts of the first service is greater than 1. If the number of receipts of the first service is greater than 1, execute step s8. If the number of receipts of the first service is less than or equal to 1, execute step s4. Step s8, set the state of the first service to the abnormal terminal state and exit the loop.
[0009] In the second aspect, a super online banking incoming account business processing device is also provided, including: a message acquisition module, used for a banking system to acquire a first message sent by an incoming account bank, the first message is used to indicate a first incoming account business, and the incoming account bank is a bank other than the bank where the banking system is located; a business type determination module, used to determine the business type of the first incoming account business based on the first message; a cancellation module, used to cancel the automatic receipt of the first incoming account business when the business type of the first incoming account business is batch payment; a current limiting module, used to use a current limiting algorithm to issue receipts for multiple businesses in the first incoming account business one by one.
[0010] Optionally, the current limiting algorithm is a token bucket algorithm, and the current limiting module is also used to establish multiple sub-threads based on the existence of tokens in the token bucket and the unprocessed transactions when there are tokens in the token bucket and there are unprocessed transactions among the multiple transactions. Each sub-thread corresponds to a token, and any sub-thread is used to generate a receipt for an unprocessed transaction; after any sub-thread is executed, the token corresponding to the sub-thread is returned to the token bucket.
[0011] Optionally, the current limiting module is also used for: step s1, adding an optimistic lock to the first sub-thread, the first sub-thread being any sub-thread among the multiple sub-threads; step s2, judging whether the first mark of the first business is valid, if the first mark of the first business is valid, executing step s3, if the first mark of the first business is invalid, executing step s7, the first business being any of the unprocessed businesses; step s3, executing a trial accounting step for the first business, updating the trial accounting result of the first business, and setting the first mark of the first business to invalid; step s4, organizing a receipt message for the first business and sending the Receipt of the first service; step s5, determine whether the receipt of the first service is sent successfully. If the receipt of the first service is sent successfully, execute step s6. If the receipt of the first service fails to be sent, add 1 to the number of receipts of the first service and execute step s2; step s6, set the state of the first service to the terminal state and exit the loop; step s7, determine whether the number of receipts of the first service is greater than 1. If the number of receipts of the first service is greater than 1, execute step s8. If the number of receipts of the first service is less than or equal to 1, execute step s4; step s8, set the state of the first service to the abnormal terminal state and exit the loop.
[0012] In a third aspect, a computer device is also provided, including: a memory and a processor, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor, thereby executing the super online banking incoming account service processing method described in the above embodiment.
[0013] In a fourth aspect, a computer-readable storage medium is also provided, in which at least one computer program is stored, and the at least one computer program is loaded and executed by a processor, so as to execute the super online banking incoming account service processing method described in the above embodiment.
[0014] In a fifth aspect, a computer program product is provided, comprising a computer program / instruction, wherein when the computer program / instruction is executed by a processor, the method described in the first aspect is implemented.
[0015] The beneficial effects brought by the technical solution provided by the embodiments of the present disclosure include at least: In the disclosed embodiment, by canceling the automatic receipt of the first incoming business when the business type of the first incoming business is batch payment, the situation where the bank system crashes due to an excessive number of businesses in the batch payment can be reduced; by adopting a current limiting algorithm to issue receipts for multiple businesses in the first incoming business one by one, the number of businesses that the bank system can process in parallel can be effectively limited, thereby avoiding the bank system crash caused by processing too many businesses in parallel. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0017] Figure 1 A flowchart of a method for processing a super online banking incoming account service provided by an exemplary embodiment of the present disclosure is shown; Figure 2 A flowchart of a method for processing a super online banking incoming account service provided by another exemplary embodiment of the present disclosure is shown; Figure 3 It is a flowchart of the token bucket algorithm; Figure 4 It is a flowchart of the child thread; Figure 5 A schematic diagram of the structure of a super online banking incoming account service processing device provided by an exemplary embodiment of the present disclosure is shown; Figure 6 It is a schematic diagram of the structure of a computer device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0018] Unless otherwise defined, the technical or scientific terms used herein shall have the usual meanings understood by persons of ordinary skill in the field to which the present disclosure belongs. The words "first", "second", "third" and similar words used in the patent application specification and claims of the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, words such as "one" or "one" do not indicate a quantitative limitation, but rather indicate the presence of at least one. Words such as "include" or "comprise" and similar words mean that the elements or objects appearing before "include" or "comprises" cover the elements or objects listed after "include" or "comprises" and their equivalents, and do not exclude other elements or objects.
[0019] In order to make the objectives, technical solutions and advantages of the present disclosure more clear, the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings.
[0020] Figure 1 A flowchart of a method for processing a super online banking incoming account service provided by an exemplary embodiment of the present disclosure is shown, and the method can be executed by a computer device. Figure 1 , the method comprising: In step 101, the banking system obtains a first message sent by a receiving bank.
[0021] The first message is used to indicate a first incoming account service, and the incoming account bank is a bank other than the bank where the banking system is located.
[0022] In the super online banking, before sending business data, each bank needs to send a specified message to indicate the business type to which the business data to be sent later belongs. There is a corresponding relationship between the message and the business type, which is fixed and can be pre-stored in the memory.
[0023] During implementation, the bank system may monitor the message sent from the bank through MQ (Message Queue) and obtain the first message through PMTS (Payment Message Transmission System).
[0024] In step 102, based on the first message, the service type of the first incoming service is determined.
[0025] By querying the correspondence between the message and the service type, the service type of the first incoming service may be determined.
[0026] In step 103, when the service type of the first incoming service is batch payment, the automatic receipt of the first incoming service is cancelled.
[0027] Exemplarily, the business type of the first incoming account business is batch payment, which is represented as C215-batch payment in the online banking credit business in the message format standard of the online payment inter-bank clearing system.
[0028] Usually, after receiving an incoming transaction from another bank, the bank system will automatically acknowledge the incoming transaction. Automatic acknowledgement includes: conducting a trial accounting for the transaction (usually to verify whether the transaction complies with the regulations), and after the trial accounting is successful, sending a receipt message to the incoming bank that sent the incoming transaction.
[0029] In the case where the first incoming account service is a batch payment service, the bank system will receive multiple incoming account services in a short period of time (for example, 50 transactions / second, 100 transactions / second, or 150 transactions / second, etc.). Here, the sending rate of the incoming account services is fixed, and the upper limit of the number of services that the bank system can process in parallel per second is also fixed.
[0030] Optionally, the maximum number of transactions sent in parallel for batch payment is a first threshold, the maximum number of transactions processed in parallel by the bank system is a second threshold, and the first threshold is greater than the second threshold.
[0031] The method in the disclosed embodiment is applicable to the case where the first threshold is greater than the second threshold. For example, the second threshold is 30 transactions / second, while the first threshold is 50 transactions / second, which has exceeded the upper limit of the bank system that can be processed in parallel within 1 second. In this case, if the bank system uses conventional methods to process batch payment services, the bank system will crash due to the excessive number of services received at the same time.
[0032] Therefore, in the embodiment of the present disclosure, for batch payment in this case, the bank system does not adopt the conventional processing method (that is, automatic receipt), but cancels the automatic receipt of the batch payment and executes step 104, thereby avoiding the situation where the number of parallel processing transactions of the bank exceeds the upper limit of the number of transactions that the bank system can process in parallel per second.
[0033] In step 104, a flow limiting algorithm is used to issue receipts one by one for multiple transactions in the first incoming transaction.
[0034] The use of a current limiting algorithm to issue receipts for multiple transactions in batch payment can reduce the number of transactions processed by the banking system at the same time and reduce the possibility of banking system crashes due to excessive parallel processing of transactions.
[0035] Optionally, the maximum number of businesses that the current limiting algorithm processes in parallel is a third threshold, and the second threshold is greater than the third threshold. The function of the current limiting algorithm is to reduce the number of businesses that the bank processes at the same time, so the maximum number of businesses that the current limiting algorithm processes in parallel needs to be less than the maximum number of businesses that the bank system processes in parallel.
[0036] Here, the receipt one by one means sending a receipt message to the bank for each of the multiple transactions in the first incoming transaction and making a receipt. The receipt message is, for example, ibps.102.001.01.
[0037] In the disclosed embodiment, by canceling the automatic receipt of the first incoming business when the business type of the first incoming business is batch payment, the situation where the bank system crashes due to an excessive number of businesses in the batch payment can be reduced; by adopting a current limiting algorithm to issue receipts for multiple businesses in the first incoming business one by one, the number of businesses that the bank system can process in parallel can be effectively limited, thereby avoiding the bank system crash caused by processing too many businesses in parallel.
[0038] Figure 2 A flowchart of a method for processing a super online banking incoming account service provided by another exemplary embodiment of the present disclosure is shown, and the method can be executed by a computer device. Figure 2 , the method comprising: In step 201, the banking system obtains a first message sent by a receiving bank.
[0039] In step 202, based on the first message, the service type of the first incoming service is determined.
[0040] In step 203, when the service type of the first incoming service is batch payment, the automatic receipt of the first incoming service is cancelled.
[0041] The relevant contents of steps 201-203 refer to the aforementioned steps 101-103, and detailed description is omitted here.
[0042] In step 204, a flow limiting algorithm is used to issue receipts one by one for multiple transactions in the first incoming transaction.
[0043] Optionally, the current limiting algorithm is a token bucket algorithm. In this case, step 204 includes the following steps ab. Figure 3 This is a flowchart of the token bucket algorithm. Figure 4 This is a flowchart of the child thread. Figure 3 and Figure 4 Steps ab are described.
[0044] Step a: when there are tokens in the token bucket and there are unprocessed transactions among the multiple transactions, multiple sub-threads are established based on the tokens in the token bucket and the unprocessed transactions.
[0045] Each sub-thread corresponds to a token, and any sub-thread is used to generate a receipt for an unprocessed transaction.
[0046] Before using the token bucket algorithm, it is necessary to pre-set the size of the token bucket, that is, to set the maximum number of tokens in the token bucket. The maximum number is the third threshold in step 104 .
[0047] When executing step 204, first determine whether there is any unprocessed business among the multiple businesses of the first incoming business. If there is no unprocessed business, it means that the multiple businesses of the first incoming business have been processed, and there is no need to establish a sub-thread, and exit the current process. If there is at least one unprocessed business, determine whether there is still a token in the token bucket. If there is a token, a token can be successfully obtained to establish a sub-thread (for example, a first sub-thread) for the first business. The sub-thread is used to process the first business, and the first business is one of the at least one unprocessed business. If there is no token, continue to wait until there is a token in the token bucket.
[0048] In the case where the first sub-thread is used to process the first service, the process of the first sub-thread includes the following x steps: The first sub-thread is any sub-thread among the established multiple sub-threads. When executing the first business, it includes a trial accounting step and a receipt step. The trial accounting step is used to perform a trial accounting for the first business. The trial accounting is not a real accounting, but is used to determine whether a certain business can be processed by the banking system. If the trial accounting succeeds, it means that the banking system can process the business, and if the trial accounting fails, it means that the banking system cannot process the business.
[0049] Step s1, adding an optimistic lock to the first child thread.
[0050] Optimistic locking is used to ensure that the processing of the first child thread will not be interfered with by other threads.
[0051] Step s2, determining whether the first mark of the first service is valid.
[0052] The first mark is used to indicate whether the first business has executed the trial accounting step. When the first mark is valid, it means that the first business has not executed the trial accounting step; when the first mark is invalid, it means that the first business has executed the trial accounting step.
[0053] If the first mark is valid, step s3 is executed, and if the first mark is invalid, step s7 is executed.
[0054] In the initial state, the first mark of the first business in step s2 is in a valid state. Only when the first business has executed the trial accounting step and the number of receipts of the receipt message of the first business is greater than 0 (that is, the receipt message has been sent once and failed), the first mark of the first business in step s2 will be invalid.
[0055] Step s3, performing a trial accounting step on the first service, updating the trial accounting result of the first service, and setting the first mark of the first service to invalid.
[0056] The step of performing trial accounting for the first service includes: determining whether the first service has timed out, if the first service has timed out, not performing trial accounting for the first service, and updating the trial accounting result of the first service to trial accounting failure.
[0057] If the first service has not timed out, trial accounting is performed on the first service, and a trial accounting result of the first service is updated, where the trial accounting result includes success or failure.
[0058] The timeout here is determined based on the time for executing the trial accounting step in the bank system and the time threshold for the receipt of batch payment services specified by the People's Bank of China. The time for executing the trial accounting step in the bank system is represented by A, and the time threshold for the receipt of batch payment services specified by the People's Bank of China is represented by B. The timeout time is BA, that is, if the first service is executed after t time from the receipt of the first incoming service, and t is greater than BA, it means that the first service has timed out. If t is less than or equal to BA, it means that the first service has not timed out.
[0059] After the trial accounting result of the first service is updated, the first mark of the first service needs to be set to invalid, and then step s4 can be executed.
[0060] Step s4, organize the receipt message of the first service and send the receipt of the first service.
[0061] Step s5, determining whether the receipt of the first service is sent successfully.
[0062] If the receipt of the first service is sent successfully, execute step s6. If the receipt of the first service fails to be sent, add 1 to the number of receipts of the first service (the number of receipts of the first service is initially recorded as 0), and then jump to execute step s2.
[0063] Step s6, setting the state of the first service to a final state and exiting the loop.
[0064] The final state indicates that the receipt task of the first service is completed normally. After step s6 is completed, the loop can be exited and step b is executed to return the token obtained by the first service from the token bucket.
[0065] Step s7, determining whether the number of receipts for the first service is greater than 1.
[0066] If the number of receipts for the first service is less than or equal to 1, jump to step s4 to retry sending the receipt for the first service; if the number of receipts for the first service is greater than 1, execute step s8.
[0067] In the case where the first service fails to send a receipt for the first time, the number of receipts for the first service is 1, and then the process jumps to step s2, and then jumps from step s2 to step s7; at this time, since 1 is less than or equal to 2, the process jumps to step s4 to retry sending the receipt for the first service.
[0068] When the number of receipts for the first business is greater than 1, it means that the first business has failed to send receipts twice (for example, an abnormality in communication with the receiving bank may cause the failure to send the receipt message), then the receipt for the first business will be stopped. If the receipt for the first business is not received for a long time, the receiving bank will actively cancel the first business.
[0069] Step s8, setting the state of the first service to an abnormal final state, and exiting the loop.
[0070] The abnormal final state indicates that the first service is executed, but there is an abnormality (for example, receipt sending fails). After executing step s8, the loop can be exited, and then step b is executed to return the token obtained by the first service from the token bucket.
[0071] Step b: After any child thread is executed, return the token corresponding to the child thread to the token bucket.
[0072] By cyclically executing the above steps ab, a subthread can be established for each transaction in the first incoming transaction, so that receipts can be issued one by one for multiple transactions in the first incoming transaction.
[0073] In step 205, when the service type of the first incoming service is not batch payment, an automatic receipt is issued for the service in the first incoming service.
[0074] Before executing step 205, it is necessary to perform bank registration operations such as registering the mainstream water meter, registering the payment flow water meter, and trial accounting for the first incoming account service.
[0075] The following are device embodiments of the present application. For details not described in detail in the device embodiments, reference may be made to the above method embodiments.
[0076] Figure 5 A schematic diagram of the structure of a super online banking incoming account service processing device provided by an exemplary embodiment of the present disclosure is shown. Figure 5 The super online banking incoming account service processing device 500 includes: a message acquisition module 501, a service type determination module 502, a cancellation module 503 and a current limiting module 504. The message acquisition module 501 is used for the banking system to acquire a first message sent by an incoming bank, where the first message is used to indicate a first incoming business, and the incoming bank is a bank other than the bank where the banking system is located.
[0077] The service type determination module 502 is used to determine the service type of the first incoming service based on the first message.
[0078] The canceling module 503 is used to cancel the automatic receipt of the first incoming account service when the service type of the first incoming account service is batch payment.
[0079] The current limiting module 504 is used to use a current limiting algorithm to issue receipts one by one for multiple transactions in the first incoming transaction.
[0080] Optionally, the current limiting algorithm is a token bucket algorithm, and the current limiting module 504 is also used to establish multiple sub-threads based on the existence of tokens in the token bucket and the unprocessed transactions among multiple transactions. Each sub-thread corresponds to a token, and any sub-thread is used to generate a receipt for an unprocessed transaction; after any sub-thread is executed, the token corresponding to the sub-thread is returned to the token bucket.
[0081] Optionally, the current limiting module 504 is further used for: step s1, adding an optimistic lock to the first sub-thread, the first sub-thread being any sub-thread among the multiple sub-threads; step s2, judging whether the first mark of the first business is valid, if the first mark of the first business is valid, executing step s3, if the first mark of the first business is invalid, executing step s7, the first business being any unprocessed business; step s3, executing a trial accounting step for the first business, updating the trial accounting result of the first business, and setting the first mark of the first business to invalid; step s4, organizing a receipt message for the first business and sending the receipt message to the first business. receipt of the first service; step s5, determine whether the receipt of the first service is sent successfully. If the receipt of the first service is sent successfully, execute step s6. If the receipt of the first service fails to be sent, add 1 to the number of receipts of the first service and execute step s2; step s6, set the state of the first service to the terminal state and exit the loop; step s7, determine whether the number of receipts of the first service is greater than 1. If the number of receipts of the first service is greater than 1, execute step s8. If the number of receipts of the first service is less than or equal to 1, execute step s4; step s8, set the state of the first service to the abnormal terminal state and exit the loop.
[0082] It should be noted that: when the super online banking incoming account service processing device provided in the above embodiment performs super online banking incoming account service processing, only the division of the above functional modules is used as an example. In actual application, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the super online banking incoming account service processing device provided in the above embodiment and the super online banking incoming account service processing method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0083] The division of modules in the embodiments of the present disclosure is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional module in each embodiment of the present disclosure may be integrated into a processor, or may exist physically separately, or two or more modules may be integrated into one module. The above-mentioned integrated modules may be implemented in the form of hardware or in the form of software functional modules.
[0084] If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present disclosure is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a terminal device (which can be a personal computer, mobile phone, or communication device, etc.) or a processor (processor) to execute all or part of the steps of the method of each embodiment of the present disclosure. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0085] Figure 6 Schematic diagram of the structure of the computer device provided by the embodiment of the present disclosure. Figure 6 As shown, the computer device 600 includes: a processor 601 and a memory 602 .
[0086] The processor 601 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 601 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 601 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 601 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 601 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0087] The memory 602 may include one or more computer-readable storage media, which may be non-transitory. The memory 602 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 602 is used to store at least one instruction, which is used to be executed by the processor 601 to implement the super online banking account incoming service processing method provided in the embodiments of the present disclosure.
[0088] Those skilled in the art will understand that Figure 6 The structure shown in the figure does not constitute a limitation on the computer device 600, and the computer device 600 may include more or less components than those shown in the figure, or combine some components, or adopt a different arrangement of components.
[0089] The embodiments of the present disclosure also provide a non-temporary computer-readable storage medium. When the instructions in the storage medium are executed by the processor of a computer device, the computer device can execute the super online banking incoming account service processing method provided in the embodiments of the present disclosure.
[0090] The embodiments of the present disclosure also provide a computer program product, including a computer program / instruction, which, when executed by a processor, implements the super online banking incoming account service processing method provided in the embodiments of the present disclosure.
[0091] The above description is only an optional embodiment of the present disclosure and is not intended to limit the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for processing incoming account services of a super online banking, characterized in that: The method comprises: The bank system obtains a first message sent by a bank that receives a payment, wherein the first message is used to indicate a first incoming business, and the incoming bank is a bank other than the bank where the bank system is located; Determining a service type of the first incoming service based on the first message; In the case where the service type of the first incoming account service is batch payment, canceling the automatic receipt of the first incoming account service; A current limiting algorithm is used to issue receipts for multiple transactions in the first incoming transaction one by one.
2. The method according to claim 1, characterized in that: The maximum number of businesses that can be sent in parallel for batch payment is the first threshold, the maximum number of businesses that can be processed in parallel by the bank system is the second threshold, and the maximum number of businesses that can be processed in parallel by the current limiting algorithm is the third threshold. The first threshold is greater than the second threshold, and the second threshold is greater than the third threshold.
3. The method according to claim 1 or 2, characterized in that: The current limiting algorithm is a token bucket algorithm, and the current limiting algorithm is used to acknowledge receipts for multiple transactions in the first incoming transaction one by one, including: In the case where there are tokens in the token bucket and there are unprocessed transactions among the multiple transactions, based on the tokens in the token bucket and the unprocessed transactions, multiple sub-threads are established, each sub-thread corresponds to a token, and any of the sub-threads is used to generate a receipt for one of the unprocessed transactions; After any of the sub-threads is executed, the token corresponding to the sub-thread is returned to the token bucket.
4. The method according to claim 3, characterized in that The establishing of multiple sub-threads based on the existence of tokens in the token bucket and the unprocessed business includes: Step s1, adding an optimistic lock to a first sub-thread, where the first sub-thread is any sub-thread among the multiple sub-threads; Step s2, determining whether the first mark of the first service is valid, if the first mark of the first service is valid, executing step s3, if the first mark of the first service is invalid, executing step s7, the first service is any of the unprocessed services; Step s3, performing a trial accounting step on the first service, updating a trial accounting result of the first service, and setting the first flag of the first service to invalid; Step s4, organizing a receipt message for the first service and sending a receipt for the first service; Step s5, determining whether the receipt of the first service is sent successfully, if the receipt of the first service is sent successfully, executing step s6, if the receipt of the first service fails to be sent, adding 1 to the number of receipts of the first service, and executing step s2; Step s6, setting the state of the first service to a final state and exiting the loop; Step s7, determining whether the number of receipts for the first service is greater than 1, if the number of receipts for the first service is greater than 1, executing step s8, if the number of receipts for the first service is less than or equal to 1, executing step s4; Step s8, setting the state of the first service to an abnormal final state, and exiting the loop.
5. A super online banking account incoming service device, characterized in that: The device comprises: A message acquisition module, used for the banking system to acquire a first message sent by an incoming bank, wherein the first message is used to indicate a first incoming business, and the incoming bank is a bank other than the bank where the banking system is located; A service type determination module, configured to determine the service type of the first incoming service based on the first message; a cancellation module, configured to cancel the automatic receipt of the first incoming account service when the service type of the first incoming account service is batch payment; The current limiting module is used to use a current limiting algorithm to issue receipts one by one for multiple transactions in the first incoming transaction.
6. The device according to claim 5, characterized in that The current limiting algorithm is a token bucket algorithm. The current limiting module is further used to establish multiple sub-threads based on the existence of tokens in the token bucket and the unprocessed business when there are tokens in the token bucket and there are unprocessed business among the multiple business transactions. Each sub-thread corresponds to one token, and any of the sub-threads is used to generate a receipt for one of the unprocessed business transactions. After any of the sub-threads is executed, the token corresponding to the sub-thread is returned to the token bucket.
7. The device according to claim 6, characterized in that The current limiting module is also used for: Step s1, adding an optimistic lock to a first sub-thread, where the first sub-thread is any sub-thread among the multiple sub-threads; Step s2, determining whether the first mark of the first service is valid, if the first mark of the first service is valid, executing step s3, if the first mark of the first service is invalid, executing step s7, the first service is any of the unprocessed services; Step s3, performing a trial accounting step on the first service, updating a trial accounting result of the first service, and setting the first flag of the first service to invalid; Step s4, organizing a receipt message for the first service and sending a receipt for the first service; Step s5, determining whether the receipt of the first service is sent successfully, if the receipt of the first service is sent successfully, executing step s6, if the receipt of the first service fails to be sent, adding 1 to the number of receipts of the first service, and executing step s2; Step s6, setting the state of the first service to a final state and exiting the loop; Step s7, determining whether the number of receipts for the first service is greater than 1, if the number of receipts for the first service is greater than 1, executing step s8, if the number of receipts for the first service is less than or equal to 1, executing step s4; Step s8, setting the state of the first service to an abnormal final state, and exiting the loop.
8. A computer device, characterized in that: The computer device comprises: a memory and a processor, wherein at least one computer program is stored in the memory, and the at least one computer program is loaded and executed by the processor to implement the method according to any one of claims 1 to 4.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer program, and the at least one computer program is loaded and executed by a processor to implement the method according to any one of claims 1 to 4.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 4 is implemented.