A multi-threaded data processing method and apparatus

By employing a multi-threaded processing method in bank self-service equipment, the card reading process is parallelized, solving the problem of excessive time consumption caused by single-threaded processing and improving the customer experience.

CN118314665BActive Publication Date: 2026-03-13CHINA CONSTRUCTION BANK +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-09
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing bank self-service equipment uses single-threaded processing during card reading, resulting in excessively long processing times and impacting customer experience.

Method used

A multi-threaded processing method is adopted, which separates the card reading thread and the timing control thread to handle card reading and customer operations, thereby achieving parallelization of the card reading process.

Benefits of technology

It shortens card reading time, improves the processing efficiency of self-service equipment, and enhances the customer's operating experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118314665B_ABST
    Figure CN118314665B_ABST
Patent Text Reader

Abstract

This invention discloses a multi-threaded data processing method and apparatus, relating to the field of data processing technology. One specific implementation of the method includes: responding to a customer placing a bank card at the card reader position, invoking a multi-threaded card reading system; reading the bank card number data through the card reading threads, while simultaneously displaying preset information through a timing control thread; after receiving confirmation of the preset information from the customer, determining whether the card number data transmitted by the card reading threads has been received; if the card number data has been received, invoking the PIN pad instructions to receive the plaintext PIN entered by the customer; converting the plaintext PIN into ciphertext using the card number data and preset key data, and transmitting it to the server for verification; and then performing corresponding operations based on the verification result. This implementation changes the traditional single-threaded card reading mode by setting up a multi-threaded approach, separating the card reading process from the customer's operation, and reading the card in parallel, thus accelerating the card reading speed and saving customer waiting time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to a data processing method and apparatus based on multithreading. Background Technology

[0002] Self-service equipment refers to devices used by customers at banks to conduct banking transactions by inserting cards. Currently, after a customer inserts their card, bank self-service equipment typically requires waiting for the card to be read before proceeding to the next step. A typical card insertion and reading process is as follows: 1) Customer inserts bank card; 2) Bank card data is read; 3) Risk warning; 4) Customer is prompted to enter their PIN; 5) PIN verification grants access to the function. Because the card reading process is usually handled synchronously in a single thread, customers have to wait, which is time-consuming and negatively impacts customer experience. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a data processing method and apparatus based on multi-threading, which can at least solve the problem of excessive time consumption caused by single-threaded card reading in the prior art.

[0004] To achieve the above objectives, according to one aspect of the present invention, a multi-threaded data processing method is provided, comprising:

[0005] In response to a customer placing their bank card in the card reader, the card reader multi-thread set is retrieved; this set includes the card reader thread and the timing control thread.

[0006] The card reader thread reads the bank card number data, and the timing control thread displays preset information. After receiving the customer's confirmation of the preset information, it determines whether the card number data transmitted by the card reader thread has been received.

[0007] Upon receiving the card number data, the system retrieves the PIN pad instructions to receive the plaintext PIN entered by the customer. Using the card number data and preset key data, the plaintext PIN is converted into ciphertext and transmitted to the server for verification. Based on the verification result, the system then performs the corresponding operation.

[0008] Optionally, the method further includes: while receiving the plaintext password input by the customer, performing chip application data reading and local authentication operations through a card reading thread.

[0009] Optionally, if the verification result is successful, the method further includes:

[0010] The system receives the selection of deposit options, reads the host authentication data of the bank card through the card reading thread, and opens the cash inlet through the timing control thread to receive the deposit from the customer and store it in the buffer area, triggers the cash verification operation for the deposit, obtains the deposit information and displays it.

[0011] After receiving confirmation from the customer regarding the deposit information, determine whether host authentication data transmitted by the card reader thread has been received. If host authentication data has been received, initiate a deposit transaction request to the server based on the deposit information.

[0012] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. Simultaneously, the customer's deposit is transferred from the buffer area to the cash box of the self-service device.

[0013] Optionally, if the verification result is successful, the method further includes:

[0014] The system receives the selection operation of the withdrawal option, reads the host authentication data of the bank card through the card reading thread, and displays the withdrawal interface through the timing control thread to receive the withdrawal amount entered by the customer and determine whether the host authentication data transmitted by the card reading thread has been received.

[0015] Upon receiving host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount.

[0016] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. This then triggers the disbursement of cash from the cash box of the self-service device to the cash dispensing slot.

[0017] Optionally, if the verification result is successful, the method further includes:

[0018] The system receives the selection operation of the transfer option, reads the host authentication data of the bank card through the card reading thread, and displays the transfer interface through the timing control thread to receive the transfer amount and recipient account entered by the customer, and determines whether the host authentication data transmitted by the card reading thread has been received.

[0019] Upon receiving host authentication data, a transfer transaction request is initiated to the server based on the transfer amount and the recipient's account, causing the server to transfer the transfer amount from the bank card to the recipient's account.

[0020] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process.

[0021] Optionally, the bank card can be a chip bank card.

[0022] Optionally, reading the bank card number data via the card reader thread includes:

[0023] The card reader thread sends an application identifier to the chip to establish a communication link with the application corresponding to the application identifier in the chip, initiates a card reading command, receives the card number data returned by the application, and simulates the card number data in the data format of a magnetic stripe card.

[0024] To achieve the above objectives, according to another aspect of the present invention, a multi-threaded data processing apparatus is provided, comprising:

[0025] The response module is used to respond to the customer's operation of placing the bank card in the card reader position and to call the card reader multi-thread set; wherein, the card reader multi-thread set includes the card reader thread and the timing control thread;

[0026] The card reader module is used to read the card number data of the bank card through the card reader thread;

[0027] The operation module is used to display preset information through a timing control thread. After receiving confirmation of the preset information from the customer, it determines whether the card number data transmitted by the card reading thread has been received.

[0028] Upon receiving the card number data, the system retrieves the PIN pad instructions to receive the plaintext PIN entered by the customer. Using the card number data and preset key data, the plaintext PIN is converted into ciphertext and transmitted to the server for verification. Based on the verification result, the system then performs the corresponding operation.

[0029] Optionally, the operation module is further configured to: while receiving the plaintext password input by the customer, perform chip application data reading and local authentication operations through the card reading thread.

[0030] Optionally, the response module is also configured to receive a selection operation for the deposit option;

[0031] The card reader module is also used to read the host authentication data of the bank card through the card reader thread;

[0032] The operation module is also used to open the cash inlet through a timing control thread to receive the deposits put in by the customer and store them in the buffer area, trigger the cash verification operation of the deposit, obtain the deposit information and display it.

[0033] After receiving confirmation from the customer regarding the deposit information, determine whether host authentication data transmitted by the card reader thread has been received. If host authentication data has been received, initiate a deposit transaction request to the server based on the deposit information.

[0034] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. Simultaneously, the customer's deposit is transferred from the buffer area to the cash box of the self-service device.

[0035] Optionally, the response module is further configured to receive a selection operation for the withdrawal option;

[0036] The card reader module is also used to read the host authentication data of the bank card through the card reader thread;

[0037] The operation module is also used to display the withdrawal interface through the timing control thread to receive the withdrawal amount entered by the customer and to determine whether the host authentication data transmitted by the card reading thread has been received.

[0038] Upon receiving host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount.

[0039] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. This then triggers the disbursement of cash from the cash box of the self-service device to the cash dispensing slot.

[0040] Optionally, the response module is further configured to receive a selection operation for the transfer option;

[0041] The card reader module is also used to read the host authentication data of the bank card through the card reader thread;

[0042] The operation module is also used to simultaneously display the transfer interface through the timing control thread to receive the transfer amount and recipient account entered by the customer, and to determine whether the host authentication data transmitted by the card reading thread has been received.

[0043] Upon receiving host authentication data, a transfer transaction request is initiated to the server based on the transfer amount and the recipient's account, causing the server to transfer the transfer amount from the bank card to the recipient's account.

[0044] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process.

[0045] Optionally, the bank card can be a chip bank card.

[0046] Optionally, the card reader module is used to send an application identifier to the chip through a card reader thread to establish a communication link with the application program corresponding to the application identifier in the chip, initiate a card reader command, receive card number data returned by the application program, and simulate the card number data as the data format of a magnetic stripe card.

[0047] To achieve the above objectives, according to another aspect of the present invention, a multi-threaded data processing electronic device is provided.

[0048] The electronic device of this invention includes: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement any of the multi-threaded data processing methods described above.

[0049] To achieve the above objectives, according to another aspect of the present invention, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the multi-threaded data processing methods described above.

[0050] To achieve the above objectives, according to another aspect of the present invention, a computing program product is provided. One computing program product of the present invention includes a computer program, which, when executed by a processor, implements the multi-threaded data processing method provided in the present invention.

[0051] According to the solution provided by the present invention, one embodiment of the above invention has the following advantages or beneficial effects: changing the traditional single-threaded card reading mode, setting a multi-threaded mode, separating the card reading process from the customer operation, thereby reading the card in parallel, speeding up the card reading speed, and saving the customer's waiting time.

[0052] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description

[0053] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein:

[0054] Figure 1 This is a schematic diagram of the main flow of a multi-threaded data processing method according to an embodiment of the present invention;

[0055] Figure 2 This is a schematic diagram illustrating the operation of the card reading thread and the timing control thread;

[0056] Figure 3 This is a flowchart illustrating an optional multi-threaded data processing method according to an embodiment of the present invention.

[0057] Figure 4 This is a flowchart illustrating another optional multi-threaded data processing method according to an embodiment of the present invention;

[0058] Figure 5 This is a flowchart illustrating another optional multi-threaded data processing method according to an embodiment of the present invention;

[0059] Figure 6This is a schematic diagram of the main modules of a multi-threaded data processing device according to an embodiment of the present invention;

[0060] Figure 7 This is an exemplary system architecture diagram in which embodiments of the present invention can be applied;

[0061] Figure 8 This is a schematic diagram of the structure of a computer system suitable for implementing the embodiments of the present invention, such as a mobile device or server. Detailed Implementation

[0062] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0063] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The collection, analysis, use, transmission, and storage of user personal information involved in the technical solutions of the present invention all comply with relevant laws and regulations, are used for legal and reasonable purposes, and are not shared, disclosed, or sold outside of these legal uses, and are subject to supervision and management by regulatory authorities. Necessary measures should be taken to prevent unauthorized access to such personal information data, ensure that personnel authorized to access personal information data comply with relevant laws and regulations, and ensure the security of user personal information.

[0064] Once this user's personal information data is no longer needed, the risk should be minimized by restricting or even prohibiting data collection and / or deleting the data. Where applicable, including in certain relevant applications, user privacy should be protected by de-identifying the data, such as by removing specific identifiers (e.g., date of birth), controlling the amount or specificity of the stored data (e.g., collecting location data at the city level rather than the specific address level), controlling how the data is stored, and / or other de-identification methods.

[0065] See Figure 1 The diagram shows the main flowchart of a multi-threaded data processing method provided by an embodiment of the present invention, which includes the following steps:

[0066] S101: In response to the customer placing their bank card in the card reader position, retrieve the card reader multi-thread set; wherein, the card reader multi-thread set includes the card reader thread and the timing control thread;

[0067] S102: Read the bank card number data through the card reading thread, and display the preset information through the timing control thread. After receiving the customer's confirmation operation on the preset information, determine whether the card number data transmitted by the card reading thread has been received.

[0068] S103: Upon receiving the card number data, retrieve the PIN pad instructions to receive the plaintext PIN entered by the customer. Using the card number data and preset key data, convert the plaintext PIN into ciphertext and transmit it to the server for verification. Then, perform the corresponding operation based on the verification result.

[0069] In the above embodiments, for steps S101 to S103, after the customer inserts or places their bank card, during the transaction process, depending on the nature of the self-service device, the customer usually needs to read risk warnings, enter a password, or select a service language. This invention employs a multi-threaded approach, continuing the bank card reading operation in the card reading thread (thread 1) and placing the customer's operations in the timing control thread (thread 2). This solution utilizes a multi-threaded method to change the traditional processing mode of self-service device business processes, making full use of the idle time of the CPU and peripherals while waiting for customer operations, thereby shortening the transaction processing time.

[0070] This solution primarily considers chip-based bank cards. The card reading process when inserting a chip card into a self-service machine generally involves: selecting the chip's AID (Application Identifier), reading the equivalent magnetic stripe number (EMB), reading the chip's application data, and local authentication. The customer's actions at this stage include reading and confirming the risk warning and entering the PIN. Therefore, this can be divided into two threads for operation. Figure 2 These two threads can exchange data at any time. While thread 1 starts reading the card, thread 2 displays a risk warning (such as "Please confirm the door is closed" or "Please confirm there is no one else around") and asks the customer to read and confirm it. After thread 1 completes the equivalent magnetic stripe reading and obtains the card number data, it passes it to thread 2, which then prompts the customer to enter the PIN (entering the PIN requires the card number data). If the card number data has not been read after the risk warning is confirmed, thread 2 waits.

[0071] The AID is used to identify the application program in a smart card or chip card. During the selection process, the system sends a specific AID to the chip to select the application to communicate with, ensuring communication with the correct application in the bank card chip. The card reader thread then initiates a card reading command, requesting the return of relevant data, including the card number. Equivalent magnetic stripe card format refers to simulating the information on the IC card chip into the data format of a magnetic stripe card, enabling the reading of chip card information without a chip reader, for compatibility with traditional magnetic stripe applications.

[0072] Reading chip application data refers to retrieving data stored by a specific application from a chip using specific protocols and instructions. This data could include personal identification information, financial transaction records, etc. Local authentication refers to the authentication process performed on a local system or device, rather than over a network or remote server. This authentication method is typically used to ensure system security and prevent unauthorized access.

[0073] In addition, this solution requires the customer to enter a plaintext password, which needs to be converted into ciphertext using the card number data and preset key data before being transmitted to the server for verification. This might involve decrypting the card number data and verifying whether the plaintext password matches. If they match, the normal process continues, such as displaying the card operation interface. However, if they don't match, a message should be displayed informing the customer that the password is incorrect and they need to re-enter it.

[0074] The method provided in the above embodiments is relatively time-consuming in the card reading process. It does not make significant modifications to the card reading process, but simply separates the customer operation part and creates a new timing control thread to perform card reading in a multi-threaded manner. Since the customer needs card number data to enter the password, this solution sets up a data interaction mechanism between the timing control thread and the card reading thread to change the traditional card reading mode of self-service equipment, thereby shortening the business processing time and saving customer waiting time.

[0075] See Figure 3 The diagram illustrates an optional multi-threaded data processing method according to an embodiment of the present invention, comprising the following steps:

[0076] S301: Receives the selection operation for deposit options, reads the host authentication data of the bank card through the card reading thread, and opens the cash inlet through the timing control thread to receive the deposit put in by the customer and store it in the buffer area, triggers the cash verification operation for the deposit, obtains the deposit information and displays it.

[0077] S302: After receiving the customer's confirmation of the deposit information, determine whether host authentication data transmitted by the card reader thread has been received. If host authentication data has been received, initiate a deposit transaction request to the server based on the deposit information.

[0078] S303: Upon receiving the transaction success information from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. At the same time, the customer's deposit is transferred from the buffer area to the cash box of the self-service device.

[0079] In the above implementation, for steps S301 to S303, the same as the card reading process, the customer also needs to read the card during the deposit process. The card reading (reading chip verification data) + deposit pre-check during the deposit process can also be carried out in parallel with the customer's cash deposit.

[0080] Once the server verifies the customer's entered password, thread 1 begins reading the bank card's Authorization Request Cryptogram (ARQC) data. Simultaneously, thread 2 opens the deposit slot, allowing the customer to insert their deposit. Thread 2 then stores the deposit in a buffer to verify the customer's deposit, such as its authenticity and amount, thus determining the deposit amount, for example, 1000 yuan. ARQC refers to encrypted data used to verify the integrity and authenticity of transaction data, typically sent by the terminal to the bank's server to request transaction authorization.

[0081] Thread 2 displays the deposit information and waits for customer confirmation. It first checks if it has received the ARQC sent by Thread 1. If the ARQC data has not been fully read after customer confirmation, Thread 2 waits. If the ARQC data is received, it initiates a deposit transaction request to the server based on the deposit information. The server updates the remaining balance of the bank card based on this deposit information, for example, changing it from 1000 yuan to 2000 yuan, and generates a transaction record, recording the transaction change time, ATM number, and other information.

[0082] Upon receiving the transaction success message from the server, Thread 2, through Thread 1, sends Authorization Response Cryptogram (ARPC) data to the bank card, enabling the bank card to complete the chip authentication process. ARPC is encrypted data returned by the bank server to verify the integrity and authenticity of the authorization response. Both ARQC and ARPC play crucial roles in payment transactions, ensuring their security and reliability. Simultaneously, Thread 2 needs to deposit the customer's deposit from the buffer area into the cash box of the self-service machine.

[0083] The method provided in the above embodiments ensures a fast and efficient deposit transaction process, allowing customers to complete deposit operations and receive confirmation promptly, thus improving the customer experience. The use of host authentication data, confirmation data, and chip authentication processes ensures the accuracy and reliability of the transactions. This automated, multi-threaded design improves the processing efficiency of self-service equipment, reduces customer waiting time, and enhances customer satisfaction.

[0084] See Figure 4 The diagram illustrates another optional multi-threaded data processing method according to an embodiment of the present invention, comprising the following steps:

[0085] S401: Receives the selection operation of the withdrawal option, reads the host authentication data of the bank card through the card reading thread, and displays the withdrawal interface through the timing control thread to receive the withdrawal amount entered by the customer and determine whether the host authentication data transmitted by the card reading thread has been received.

[0086] S402: Upon receiving host authentication data, initiate a withdrawal transaction request to the server based on the withdrawal amount;

[0087] S403: Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process, and then triggering the disbursement of cash from the cash box of the self-service device to the cash dispensing slot.

[0088] In the above embodiments, for steps S401 to S403, the same as the card reading process, the customer also needs to read the card during the withdrawal process. The card reading (reading chip verification data) during the withdrawal process can also be performed in parallel with the customer entering the withdrawal amount.

[0089] Once the server verifies the customer's entered password, thread 1 begins reading the bank card's Authorization Request Cryptogram (ARQC) data. Simultaneously, thread 2 displays the withdrawal interface to receive the withdrawal amount entered by the customer, such as 1000 yuan. Unlike the deposit process, after receiving the withdrawal amount entered by the customer, thread 2 first checks whether it has received the ARQC data transmitted by thread 1. If not, it continues to wait.

[0090] After receiving the ARQC data from Thread 1, Thread 2 initiates a withdrawal transaction request to the server based on the withdrawal amount. The server then determines if the bank card balance is greater than or equal to the withdrawal amount. For example, if the withdrawal is 1000 yuan but the bank card balance is only 800 yuan, the transaction cannot be executed. However, if the bank card balance is 1200 yuan, the transaction can be executed, and information such as the transaction process and the ATM number where the transaction occurred is recorded. After receiving a successful transaction message from the server, Thread 2, through Thread 1, initiates a host confirmation data ARPC to the bank card, enabling the bank card to complete the chip authentication process. Then, 1000 yuan is disbursed from the ATM's cash box to the cash dispensing slot.

[0091] The method provided in the above embodiments ensures a fast and efficient withdrawal transaction process, allowing customers to complete withdrawals and receive confirmation promptly, thus improving the customer experience. Through host authentication data, confirmation data, and chip authentication, the security of the withdrawal transaction is ensured, preventing transaction errors or disputes. The aforementioned automated multi-threaded design improves the processing efficiency of self-service equipment, reduces customer waiting time, and enhances customer satisfaction.

[0092] See Figure 5 The diagram illustrates another optional multi-threaded data processing method according to an embodiment of the present invention, comprising the following steps:

[0093] S501: Receives the selection operation of the transfer option, reads the host authentication data of the bank card through the card reading thread, and displays the transfer interface through the timing control thread to receive the transfer amount and recipient account entered by the customer, and determines whether the host authentication data transmitted by the card reading thread has been received.

[0094] S502: Upon receiving host authentication data, based on the transfer amount and the recipient's account, initiate a transfer transaction request to the server, causing the server to transfer the transfer amount from the bank card to the recipient's account;

[0095] S503: Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process.

[0096] In the above embodiments, steps S501 to S503 are similar to the card reading process. Customers also need to read cards during transfers, such as when making payments, which is essentially a transfer. The card reading (reading chip verification data) during the transfer process can also be performed concurrently with the customer's transfer operation.

[0097] Once the server verifies the customer's entered password, Thread 1 begins reading the bank card's Authorization Request Cryptogram (ARQC) data. Simultaneously, Thread 2 displays the transfer interface to receive the transfer amount and recipient account information entered by the customer, such as a withdrawal of 1000 yuan and recipient account number XXXXXXXXXX. Similar to the withdrawal process, after receiving the customer's entered transfer amount and recipient account information, Thread 2 first checks whether it has received the ARQC data transmitted by Thread 1. If not, it continues to wait.

[0098] After receiving the ARQC data from Thread 1, Thread 2 initiates a transfer transaction request to the server based on the transfer amount and the recipient's account. The server then determines if the bank card balance is greater than or equal to the transfer amount. For example, if the transfer is 1000 yuan but the bank card balance is only 800 yuan, the transaction cannot be executed; however, if the bank card balance is 1200 yuan, the transaction can be executed. The server also checks if the recipient's account exists. If it does, the transfer is executed, and the transaction process and the number of the self-service device where the transaction occurred are recorded. After receiving a successful transaction notification from the server, Thread 2, through Thread 1, initiates a host confirmation data ARPC to the bank card, enabling the bank card to complete the chip authentication process.

[0099] The method provided in the above embodiments ensures a fast and efficient transfer operation, allowing customers to quickly complete transfer requests and receive real-time transaction feedback, thus improving the customer experience. Through host authentication data, confirmation data, and chip authentication processes, the security of transfer transactions is ensured, preventing information leakage and fraud. The aforementioned automated multi-threaded design can improve the processing efficiency of self-service equipment, reduce customer waiting time, and enhance customer satisfaction.

[0100] See Figure 6 The diagram shows the main modules of a multi-threaded data processing device 600 provided in an embodiment of the present invention, including:

[0101] The response module 601 is used to respond to the customer's operation of placing the bank card in the card reader position and to call the card reader multi-thread set; wherein, the card reader multi-thread set includes the card reader thread and the timing control thread;

[0102] The card reader module 602 is used to read the card number data of the bank card through the card reader thread;

[0103] The operation module 603 is used to display preset information through the timing control thread, and after receiving the customer's confirmation operation on the preset information, it determines whether the card number data transmitted by the card reading thread has been received.

[0104] Upon receiving the card number data, the system retrieves the PIN pad instructions to receive the plaintext PIN entered by the customer. Using the card number data and preset key data, the plaintext PIN is converted into ciphertext and transmitted to the server for verification. Based on the verification result, the system then performs the corresponding operation.

[0105] In the apparatus of this invention, the operation module 603 is further configured to:

[0106] While receiving the plaintext password entered by the customer, the card reading thread performs chip application data reading and local authentication operations.

[0107] In the apparatus of the present invention, the response module 601 is further configured to receive a selection operation for a deposit option;

[0108] The card reader module 602 is also used to read the host authentication data of the bank card through the card reader thread;

[0109] The operation module 603 is also used to open the cash inlet through a timing control thread to receive the deposits put in by the customer and store them in the buffer area, trigger the cash verification operation of the deposit, obtain the deposit information and display it.

[0110] After receiving confirmation from the customer regarding the deposit information, determine whether host authentication data transmitted by the card reader thread has been received. If host authentication data has been received, initiate a deposit transaction request to the server based on the deposit information.

[0111] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. Simultaneously, the customer's deposit is transferred from the buffer area to the cash box of the self-service device.

[0112] In the device of the present invention, the response module 601 is further configured to receive a selection operation for the withdrawal option;

[0113] The card reader module 602 is also used to read the host authentication data of the bank card through the card reader thread;

[0114] The operation module 603 is also used to display the withdrawal interface through the timing control thread, to receive the withdrawal amount entered by the customer, and to determine whether the host authentication data transmitted by the card reading thread has been received.

[0115] Upon receiving host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount.

[0116] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process. This then triggers the disbursement of cash from the cash box of the self-service device to the cash dispensing slot.

[0117] In the device of the present invention, the response module 601 is further configured to receive a selection operation for the transfer option;

[0118] The card reader module 602 is also used to read the host authentication data of the bank card through the card reader thread;

[0119] The operation module 603 is also used to simultaneously display the transfer interface through the timing control thread to receive the transfer amount and recipient account entered by the customer, and to determine whether the host authentication data transmitted by the card reading thread has been received.

[0120] Upon receiving host authentication data, a transfer transaction request is initiated to the server based on the transfer amount and the recipient's account, causing the server to transfer the transfer amount from the bank card to the recipient's account.

[0121] Upon receiving a successful transaction message from the server, the card reader thread is invoked to send host confirmation data to the bank card, enabling the bank card to complete the chip authentication process.

[0122] In the device of this invention, the bank card is a chip bank card.

[0123] In the device of this invention, the card reading module is used to send an application identifier to the chip through a card reading thread to establish a communication link with the application program corresponding to the application identifier in the chip, initiate a card reading command, receive card number data returned by the application program, and simulate the card number data as the data format of a magnetic stripe card.

[0124] Furthermore, the specific implementation details of the device described in the embodiments of the present invention have been described in detail in the above-described method, so the details will not be repeated here.

[0125] Figure 7 An exemplary system architecture 700 to which embodiments of the present invention can be applied is shown, including terminal devices 701, 702, 703, network 704, and server 705 (this is merely an example).

[0126] Terminal devices 701, 702, and 703 can be various electronic devices with displays and support for web browsing, and have various communication client applications installed. Users can use terminal devices 701, 702, and 703 to interact with server 705 through network 704 to receive or send messages, etc.

[0127] Network 704 is a medium used to provide a communication link between terminal devices 701, 702, 703 and server 705. Network 704 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0128] Server 705 can be a server that provides various services. It should be noted that the methods provided in the embodiments of the present invention are generally executed by server 705, and correspondingly, the devices are generally set in server 705.

[0129] It should be understood that Figure 7 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0130] The following is for reference. Figure 8 It shows a schematic diagram of the structure of a computer system 800 suitable for implementing a terminal device of the present invention. Figure 8 The terminal device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.

[0131] like Figure 8As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 802 or programs loaded from storage section 808 into random access memory (RAM) 803. The RAM 803 also stores various programs and data required for the operation of the system 800. The CPU 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0132] The following components are connected to I / O interface 805: an input section 806 including a keyboard, mouse, etc.; an output section 807 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to I / O interface 805 as needed. A removable medium 811, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 810 as needed so that computer programs read from it can be installed into storage section 808 as needed.

[0133] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 809, and / or installed from removable medium 811. When the computer program is executed by central processing unit (CPU) 801, it performs the functions defined above in the system of this invention.

[0134] It should be noted that the computer-readable medium shown in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0135] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0136] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor; for example, a processor may be described as including a response module, a card reader module, and an operation module. The names of these modules do not necessarily limit the module itself; for example, the operation module may also be described as a "client operation module."

[0137] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs that, when executed by the device, cause the device to perform any of the multithreaded data processing methods described above.

[0138] The computer program product of the present invention includes a computer program that, when executed by a processor, implements the multi-threaded data processing method in the embodiments of the present invention.

[0139] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A data processing method based on multithreading, characterized in that, The method comprises: In response to the customer placing the bank card into the card reading position, a card reading multi-thread set is called; wherein the card reading multi-thread set comprises a card reading thread and a timing control thread; The card number data of the bank card is read by the card reading thread, and preset information is displayed by the timing control thread; after receiving the confirmation operation of the customer on the preset information, it is judged whether the card number data transmitted by the card reading thread is received; In the case of receiving the card number data, the password keyboard instruction is called to receive the plaintext password input by the customer, the plaintext password is converted into ciphertext by the card number data and the preset key data, and the ciphertext is transmitted to the server for verification processing, and then corresponding operation is performed according to the verification result.

2. The method of claim 1, wherein, The method further comprises: While receiving the plaintext password input by the customer, the card reading thread is used to read the chip application data and perform local authentication operation.

3. The method of claim 1, wherein, In the case of successful verification result, the method further comprises: Receiving the selection operation on the deposit option, reading the host authentication data of the bank card by the card reading thread, and opening the cash inlet by the timing control thread to receive the deposit put in by the customer and store it in the cache area, triggering the banknote verification operation of the deposit, obtaining the deposit information and displaying it; After receiving the customer's confirmation operation on the deposit information, it is judged whether the host authentication data transmitted by the card reading thread is received, and in the case of receiving the host authentication data, a deposit transaction request is initiated to the server based on the deposit information; In the case of receiving the transaction success information returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process, and the customer deposit is stored from the cache area to the cash box of the self-service equipment.

4. The method of claim 1, wherein, In the case of successful verification result, the method further comprises: Receiving the selection operation on the withdrawal option, reading the host authentication data of the bank card by the card reading thread, and displaying the withdrawal interface by the timing control thread to receive the withdrawal amount input by the customer, and judging whether the host authentication data transmitted by the card reading thread is received; In the case of receiving the host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount; In the case of receiving the transaction success message returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process, and then triggers the withdrawal from the cash box of the self-service equipment to the cash outlet.

5. The method of claim 1, wherein, In the case of successful verification result, the method further comprises: Receiving the selection operation on the transfer option, reading the host authentication data of the bank card by the card reading thread, and displaying the transfer interface by the timing control thread to receive the transfer amount and the receiver account number input by the customer, and judging whether the host authentication data transmitted by the card reading thread is received; In the case of receiving the host authentication data, a transfer transaction request is initiated to the server based on the transfer amount and the receiver account number, so that the server transfers the transfer amount from the bank card to the receiver account number; In the case of receiving the transaction success message returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process.

6. The method according to any one of claims 1-5, characterized in that, The bank card is a chip bank card.

7. The method of claim 6, wherein, The card number data of the bank card is read by the card reading thread, comprising: The application identifier is sent to the chip by the card reading thread to establish a communication link with an application program corresponding to the application identifier in the chip, a card reading instruction is initiated, card number data returned by the application program is received, and the card number data is simulated into a data format of a magnetic stripe card.

8. A data processing apparatus based on multithreading, characterized by The application comprises: The response module is configured to, in response to the customer placing the bank card into the card reading position, call the card reading multi-thread set; the card reading multi-thread set comprises a card reading thread and a timing control thread; The card reading module is configured to read the card number data of the bank card by the card reading thread; The operation module is configured to display preset information by the timing control thread, and determine whether the card number data transmitted by the card reading thread is received after receiving the confirmation operation of the customer on the preset information; In the case of receiving the card number data, the password keyboard instruction is called to receive the plaintext password input by the customer, the plaintext password is converted into ciphertext by the card number data and the preset key data, and the ciphertext is transmitted to the server for verification processing, and then corresponding operations are performed according to the verification result.

9. The apparatus of claim 8, wherein, The response module is further configured to receive a selection operation on a deposit option. The card reading module is further configured to read host authentication data of the bank card by the card reading thread. The operation module is further configured to open the cash inlet by the timing control thread to receive the deposit put in by the customer and store it in the cache area, trigger the banknote verification operation on the deposit, obtain the deposit information of this time and display it; after receiving the confirmation operation of the customer on the deposit information of this time, it is determined whether the host authentication data transmitted by the card reading thread is received, and in the case of receiving the host authentication data, a deposit transaction request is initiated to the server based on the deposit information of this time; In the case of receiving the transaction success information returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process, and at the same time, the customer deposit is stored from the cache area to the cash box of the self-service equipment. The response module is further configured to receive a selection operation on a deposit option.

10. The apparatus of claim 8, wherein, The card reading module is further configured to read host authentication data of the bank card by the card reading thread. The operation module is further configured to display a withdrawal interface by the timing control thread to receive the withdrawal amount input by the customer, and determine whether the host authentication data transmitted by the card reading thread is received; In the case of receiving the host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount; In the case of receiving the transaction success information returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process, and at the same time, the customer deposit is stored from the cache area to the cash box of the self-service equipment. The response module is further configured to receive a selection operation on a deposit option.

11. The apparatus of claim 8, wherein, The card reading module is further configured to read host authentication data of the bank card by the card reading thread. The operation module is further configured to display a withdrawal interface by the timing control thread to receive the withdrawal amount input by the customer, and determine whether the host authentication data transmitted by the card reading thread is received; In the case of receiving the host authentication data, a withdrawal transaction request is initiated to the server based on the withdrawal amount; ​ In the case of receiving the transaction success message returned by the server, the card reading thread is called to send the host confirmation data to the bank card, so that the bank card completes the chip authentication process.

12. An electronic device, comprising: comprising: one or more processors; a memory device for storing one or more programs, when the one or more programs are executed by the one or more processors, the one or more processors implement the method as claimed in any one of claims 1-7.

13. A computer readable medium having stored thereon a computer program, characterized in that The program is executed by the processor to implement the method as claimed in any one of claims 1-7.

14. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the method as claimed in any one of claims 1-7.

Citation Information

Patent Citations

  • A self-recovery method and a device when the information of the ID card is read abnormally

    CN109255265A

  • Self-service equipment data processing method, device and system

    CN110942567A