A data acquisition method, device, equipment, storage medium and program product

By adding probes to the database encapsulation program and utilizing a preset temporary storage area and message middleware to achieve data collection, the problem of high-cost data collection in existing technologies is solved, and low-cost and efficient data transmission is achieved.

CN117131056BActive Publication Date: 2026-07-07CHINA CONSTRUCTION BANK +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA CONSTRUCTION BANK
Filing Date
2023-10-08
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

In existing technologies, banking systems acquire changing data through data collection tools provided by database vendors, resulting in high procurement costs and making it impossible to achieve low-cost data collection.

Method used

Add a probe to the database encapsulation program to obtain changed data at the application level and store it in a preset temporary storage area. Then, use a message middleware to directly transmit it to the second database, avoiding storage through the first database.

Benefits of technology

It reduced data collection costs, saved storage resources in the primary database, and enabled data synchronization and operational status analysis between different business systems of the bank.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117131056B_ABST
    Figure CN117131056B_ABST
Patent Text Reader

Abstract

The application discloses a data collection method, device and equipment, a storage medium and a program product, and is suitable for the technical field of data processing, and is used for reducing the data collection cost. The method comprises the following steps: adding a probe in a database packaging program, the database packaging program being a program for performing a packaging operation on data in a database; when an application calls the database packaging program to perform a packaging operation on data in a first database, obtaining changed data generated by the current call through the probe, and storing the changed data in a preset temporary storage area; and sending the data in the preset temporary storage area to a second database. Through the probe adding mode at the application level, the database changed data is obtained, the data collection tool is not depended on, and the data collection cost is reduced.
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 acquisition method, apparatus, device, storage medium, and program product. Background Technology

[0002] Currently, core banking systems typically require real-time collection of dynamic data from databases, such as assets, customer numbers, and transaction volumes. This data collection enables data synchronization between different banking business systems and facilitates analysis of recent operational performance.

[0003] However, in existing technologies, most of the changing data in databases is obtained by purchasing data acquisition tools provided by database vendors. Specifically, users can use these tools to retrieve changing data from the underlying database, such as obtaining real-time changes from database log messages, to achieve data collection. However, this method of data collection is highly dependent on and subject to the database vendor, often requiring users to incur significant procurement costs.

[0004] In summary, there is an urgent need for a data collection method to reduce data collection costs. Summary of the Invention

[0005] This invention provides a data acquisition method, apparatus, device, storage medium, and program product to reduce data acquisition costs.

[0006] The technical solution provided by this invention is as follows:

[0007] In a first aspect, the present invention provides a data acquisition method, comprising:

[0008] First, a probe is added to the database encapsulation program, which is a program that performs encapsulation operations on data in the database. Then, when the application calls the database encapsulation program to perform encapsulation operations on data in the first database, the probe is used to obtain the changed data generated by this call and store the changed data in a preset temporary storage area. Finally, the data in the preset temporary storage area is sent to the second database.

[0009] In the above design, when the application calls the database encapsulation program, a probe can be added to the database encapsulation program to detect changes in the database. This method achieves data collection by using a probe program at the application level, which reduces the collection cost compared to existing solutions that require purchasing database collection tools.

[0010] In one possible design, the changed data is stored in a preset temporary storage area, including storing the changed data in the database update information area within the preset temporary storage area.

[0011] In the above design, by configuring a data update information area in the preset temporary storage area and using it as a transfer medium between the application layer and the second database, the changed data generated at the application layer can be directly transferred to the second database without going through the storage of the first database, thereby helping to save the storage resources of the first database.

[0012] In one possible design, the default temporary storage area may also include one or more of the following: application partition number information area, routing index information area, and dependent contract information area.

[0013] In the above design, the preset temporary storage area is further divided into three main categories according to function. At this point, the preset temporary storage area includes a database update information area, an application partition number information area, a routing index information area, and a dependency contract information area. Dividing the preset temporary storage area into four categories according to function facilitates data management and allows staff to selectively retrieve the required data types.

[0014] In one possible design, the application partition number information area is used to store data generated when the application calls the application partition number registration component; the route index information area is used to store data generated when the application calls the route index registration component; and the dependency contract information area is used to store data generated when the application calls the dependency contract registration component.

[0015] In the above design, the application calls different components when performing different functions, thus generating diverse data, which staff can collect additionally.

[0016] In one possible design, after storing the changed data in a preset temporary storage area and before sending the data in the preset temporary storage area to the second database, the method further includes: obtaining the commit timestamp of the first database; performing the commit operation of the first database; and packaging the data in the preset temporary storage area into a preset message.

[0017] In the above design, the data in the pre-set temporary storage area is a pre-set message, which does not need to be stored in the first database, thus saving the resources of the first database.

[0018] In one possible design, after packaging the data in the preset temporary storage area into a preset message, the process includes: sending the preset message to the second database through a message middleware.

[0019] In the above design, by introducing a message middleware to transmit data between the preset temporary storage area and the second database, the preset message reaches the second database, realizing the collection of changing data. This can be used to realize data synchronization between different business systems of the bank, and also to analyze recent operating conditions.

[0020] In one possible design, if it is determined that the data in the preset temporary storage area has failed to be sent, the data in the preset temporary storage area will be stored in the first database.

[0021] In the above design, when data transmission in the preset buffer fails due to certain reasons (such as network failure), the unsuccessfully transmitted data can be saved by storing the data in the preset buffer to the first database, ensuring data integrity and facilitating subsequent retransmission.

[0022] In one possible design, after sending the data in the preset buffer, the management and statistics fields of the preset buffer are initialized.

[0023] In the above design, after sending the data in the preset temporary storage area, the management and statistics fields of the preset temporary storage area will be initialized. Staff do not need to manually clear the data in the preset temporary storage area, which facilitates subsequent reuse.

[0024] Secondly, the present invention provides a data acquisition device, the device comprising:

[0025] The detection module is used to add probes to the database encapsulation program, which is a program that performs encapsulation operations on the data in the database.

[0026] The processing module is used to obtain the changed data generated by the application's call to the database encapsulation program to encapsulate the data in the first database, and store the changed data in a preset temporary storage area.

[0027] The transceiver module is used to send data from the preset temporary storage area to the second database.

[0028] In one possible design, the processing module is specifically used to store the changed data in the database update information area, which is located in a preset temporary storage area.

[0029] In further possible designs, the default temporary storage area may also include one or more of the following: application partition number information area, routing index information area, and dependent contract information area.

[0030] In one possible design, after storing the changed data in a preset temporary storage area and before sending the data in the preset temporary storage area to the second database, the processing module is also used to: obtain the commit timestamp of the first database; execute the commit operation of the first database; and package the data in the preset temporary storage area into a preset message.

[0031] In a further possible design, the send / receive module is specifically used to send preset messages to the second database via a message middleware.

[0032] In one possible design, the transceiver module is also used to: if it is determined that the data in the preset temporary storage area has failed to be sent, store the data in the preset temporary storage area into the first database.

[0033] Thirdly, the present invention also provides a computer device, including at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the data acquisition method as described in the first aspect or any of the designs in the first aspect.

[0034] Fourthly, the present invention also provides a computer-readable storage medium storing a computer program executable by a computing device, which, when run on the computing device, causes the computing device to perform the data acquisition method described in the first aspect or any of the designs in the first aspect.

[0035] Fifthly, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the data acquisition method in the first aspect or any of the designs in the first aspect.

[0036] These aspects (i.e., the first to fifth aspects) or other aspects of the present invention will become more apparent from the following description. Attached Figure Description

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

[0038] Figure 1 This is a flowchart illustrating a data acquisition method provided in an embodiment of the present invention;

[0039] Figure 2 A flowchart illustrating a data transmission method within a preset temporary storage area provided in an embodiment of the present invention;

[0040] Figure 3 This is a schematic diagram of an online transaction data transmission process provided in an embodiment of the present invention;

[0041] Figure 4 A schematic diagram of an online transaction data transmission process provided for existing technology;

[0042] Figure 5 This is a schematic diagram of a batch data transmission process provided in an embodiment of the present invention;

[0043] Figure 6 A schematic diagram of a batch data transmission process provided by existing technology;

[0044] Figure 7This is a schematic diagram of the structure of a data acquisition device provided in an embodiment of the present invention;

[0045] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this invention, and not all embodiments.

[0047] Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are also within the scope of protection of the present invention.

[0048] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this invention all comply with the relevant provisions of national laws and regulations, and will not be elaborated further thereafter.

[0049] As described in the background section, in current banking systems, staff mainly collect data from database logs using data collection tools. This method incurs procurement costs and cannot achieve low-cost data collection.

[0050] In view of this, the present invention provides a data acquisition method to achieve low-cost data acquisition.

[0051] Figure 1 This is a flowchart illustrating a data acquisition method provided in an embodiment of the present invention, as shown below. Figure 1 As shown, the method mainly includes the following steps:

[0052] Step 101: Add a probe to the database encapsulation program, which is a program that performs encapsulation operations on data in the database.

[0053] Optionally, when it's necessary to encapsulate data from the database, staff can first access the application, then select the content to be encapsulated on the management interface and click the submit button. After receiving the request from the staff, the application can call the database encapsulation program and extract the relevant data from the database into memory, performing the data encapsulation operation in memory.

[0054] Furthermore, optionally, a probe can be added to the database encapsulation program. This can be understood as the probe program being embedded in the database encapsulation program. Whenever the database encapsulation program is called, the probe program will detect the data flowing through during this call.

[0055] Step 102: When the application calls the database encapsulation program to encapsulate data in the first database, the probe is used to obtain the changed data generated by this call, and the changed data is stored in a preset temporary storage area.

[0056] Optionally, the probe's operation can include two phases: a crawling phase and an analysis phase. In the crawling phase, the probe crawls the data it encounters and stores the crawled data in memory or on disk. In the analysis phase, the probe performs operations such as decoding, reassembling, and filtering on the crawled data to extract useful information.

[0057] Optionally, after the application calls the database encapsulation program, the program first writes the data from the first database into memory, and then performs the encapsulation operation on the first database. The encapsulation operation can be understood as packaging the data in the first database for transmission across different devices over a network.

[0058] Furthermore, when the application calls the database encapsulation program to encapsulate the first database, the probe detects the call, then captures the existing data in the first database, and can compare the captured existing data with the historical data list of the first database to obtain the changed data of this call. After that, the changed data can be stored in the database update information area in the preset temporary storage area.

[0059] It should be noted that the default temporary storage area can be understood as a dedicated area pre-configured in memory, specifically used to store various types of information generated by the application, so as to facilitate unified management of various types of data generated at the application level.

[0060] In the above design, by configuring a data update information area in the preset temporary storage area and using it as a transfer medium between the application layer and the second database, the changed data generated at the application layer can be directly transferred to the second database without going through the storage of the first database, thereby helping to save the storage resources of the first database.

[0061] In one possible implementation, the default temporary storage area may include, in addition to the database update information area, one or more of the following: application partition number information area, routing index information area, and dependency contract information area.

[0062] In one possible design, the application partition number information area is used to store data generated when the application calls the application partition number registration component; the route index information area is used to store data generated when the application calls the route index registration component; and the dependency contract information area is used to store data generated when the application calls the dependency contract registration component.

[0063] In the above design, the application calls different components when performing different functions, thus generating diverse data, which staff can collect additionally.

[0064] Furthermore, the database update information area is used to store business information, such as account information, customer information, and transaction information. The application partition number information area is used to store region codes. The routing index information area is used to store the data directory. The dependency contract information area is used to store legal agreements.

[0065] It is important to note that business information is stored in the first database. Data generated by business changes needs to be collected using a probe program and then stored in a preset temporary storage area. Data in the application partition number information area, routing index information area, and dependency contract information area are automatically generated when the application calls the corresponding internal components, and this data is stored by the application in the preset temporary storage area.

[0066] For example, taking the account opening service as an example, the entire service execution process mainly includes the following steps:

[0067] Step 1: When opening a new account or contract for a customer, the application sends an account opening request to the account opening component in the platform. The account opening request includes the customer's name, company name, address, etc.

[0068] Step 2: After receiving the account opening request, the account opening component will open a new account or a new contract for this request, and then call the application partition number to register the component;

[0069] Step 3: The application partition number registration component can obtain the application partition number of the new account or new contract and store it in the application partition number information area in the preset temporary storage area.

[0070] Step four: Using a similar method, route index and dependency contract information will also be collected and stored in the route index information area and dependency contract information area, respectively.

[0071] Furthermore, optionally, for applications that have developed their own database operation programs, they can also call the platform's change data registration component to store the change data generated during the development process in the database update information area within the preset temporary storage area.

[0072] In the above design, the preset temporary storage area is further divided into three main categories according to function. At this point, the preset temporary storage area includes a database update information area, an application partition number information area, a routing index information area, and a dependency contract information area. Dividing the preset temporary storage area into four categories according to function facilitates data management and allows staff to selectively retrieve the required data types.

[0073] Step 103: Send the data in the preset temporary storage area to the second database.

[0074] Optional, please refer to Figure 2 The diagram illustrates a data transmission method within a preset temporary storage area according to an embodiment of the present invention. The method includes the following steps:

[0075] Step 201: Obtain the commit timestamp of the first database.

[0076] Optionally, the platform first sends a timestamp request to the first database and obtains the submission timestamp returned by the first database. Here, a timestamp can be understood as a way of recording time, used to record the specific time when data was sent within the preset temporary storage area.

[0077] Step 202: Perform the commit operation for the first database.

[0078] Optionally, the platform may execute the commit operation for the first database after receiving the commit timestamp of the first database.

[0079] Step 203: Package the data in the preset temporary storage area into a preset message.

[0080] Optionally, the default temporary storage area contains various files, such as text files and database files. The platform can use compression software to package the files in the default temporary storage area to obtain a default message in zip format.

[0081] In the above design, the data in the pre-set temporary storage area is a pre-set message, which does not need to be stored in the first database, thus saving the resources of the first database.

[0082] Step 204: Call the message middleware to send the preset message to the second database.

[0083] Optionally, message middleware is a supporting software system that provides synchronous or asynchronous, reliable message transmission for application systems in a network environment, based on queue and message passing technologies. Message middleware transmission modes are divided into "point-to-point" and "publish / subscribe" modes.

[0084] In the "point-to-point" pattern, the producer sends messages to a specific message queue, and the message queue only passes the message to one consumer for processing. The producer and consumer have a one-to-one relationship, and this pattern enables simple asynchronous communication and task allocation.

[0085] In the publish / subscribe pattern, producers publish messages to a topic, and consumers can subscribe to that topic and receive messages from it. The message queue broadcasts messages to all consumers subscribed to the topic, meaning a message can be processed by multiple consumers simultaneously.

[0086] It should be noted that this invention uses a "point-to-point" mode to transmit data, with the producer being the sender containing the first database and the consumer being the receiver containing the second database.

[0087] In the above design, by introducing a message middleware to transmit data between the preset temporary storage area and the second database, the preset message reaches the second database, realizing the collection of changing data. This can be used to realize data synchronization between different business systems of the bank, and also to analyze recent operating conditions.

[0088] Furthermore, optionally, after determining that the preset message has failed to be sent, the application can store the preset message in the first database and wait for the next transmission. This allows the preset message to be saved even if transmission fails, ensuring the integrity of the data within the preset message and facilitating subsequent retransmission.

[0089] Furthermore, optionally, after sending the data in the preset buffer, the management and statistics fields of the preset buffer are initialized.

[0090] In the above design, after sending the data in the preset temporary storage area, the management and statistics fields of the preset temporary storage area will be initialized. Staff do not need to manually clear the data in the preset temporary storage area, which facilitates subsequent reuse.

[0091] The preceding content introduced the specific implementation process of the data acquisition method. The following two specific examples illustrate the application scenarios of this data acquisition method.

[0092] Application Scenario 1

[0093] Application scenario one corresponds to the online transaction scenario. Online transactions refer to transactions initiated at the counter or through self-service devices and accessed through various channels during both working days and non-working days. These transactions are of a single type and require fast response times. Examples include counter deposits and withdrawals, ATM deposits and withdrawals, online banking transfers, loans, and balance inquiries.

[0094] Please see Figure 3 This is a schematic diagram of an online transaction data transmission process provided by an embodiment of the present invention. The scenario mainly includes a configuration stage and a transmission stage:

[0095] Configuration phase

[0096] During the configuration phase, a preset temporary storage area can be pre-configured. There is a one-to-one correspondence between programs (components) and information areas. For example, after a program (component) is called, the program (component) will store the generated information in the corresponding information area while performing the corresponding function.

[0097] Transmission phase

[0098] During the transmission phase, when the application determines that it needs to perform a submit operation in an online transaction scenario, the platform first obtains the timestamp of the first database, then executes the first database submit operation, and simultaneously sends a response message to the compression software. After receiving the response message, the compression software packages the various data stored in the preset temporary storage area into a preset message, and sends the preset message to the second database through a message broker. If the preset message is stored in the second database, the data in the preset temporary storage area is cleared; if the preset message fails to be sent (i.e., fails to be stored in the second database), the data in the preset temporary storage area is stored in another database, such as the first database, awaiting the next transmission. Finally, the transaction is returned.

[0099] To illustrate the relationship between the online transaction process described in this invention and existing online transaction processes, please refer to [link / reference needed]. Figure 4 This diagram illustrates the data transmission process for online transactions, as provided by existing technologies. Before a transaction successfully concludes, existing online transactions involve database commit and response message sending. (Comparison) Figure 3 and Figure 4 As can be seen, the online transaction process shown in this invention has the following main advantages over the online transaction process in the prior art: In the prior art, after submitting the operation to the first database, a response message is sent only after a certain interval. In contrast, this invention sends the response message simultaneously with the submission of the operation to the first database, and the response message has already been returned. Therefore, subsequent processing does not affect the response time of external transactions and has almost no impact on the caller.

[0100] Optionally, if an online transaction is rolled back, the management and statistics fields of the staging area will be initialized so that they can be reused after the rollback.

[0101] Taking a specific banking business scenario as an example, suppose a customer makes a deposit at a bank's terminal, generating deposit-related change data, such as the customer's balance and historical transaction records. In this case, the application is deposit software, the platform is the terminal, the first database is the terminal database, and the second database is the bank's main database. The entire transmission process of the customer's change data mainly includes the following steps:

[0102] Step 1: The terminal places the customer's changed data into a preset temporary storage area in memory;

[0103] Step 2: The terminal obtains the submission timestamp from its own database;

[0104] Step 3: The terminal performs a database commit operation and sends a response message to the internal compression software;

[0105] Step four: After receiving the response message, the compression software inside the terminal packages the customer's changed data into a preset message.

[0106] Step 5: The terminal sends a preset message to the main database via a message middleware. If the sending fails, the customer's changed data is temporarily stored in the terminal's database, waiting for the next sending.

[0107] Step six: End the transaction and the terminal interface will roll back to the initial screen.

[0108] Application Scenario 2

[0109] The application scenario corresponds to the batch processing scenario. Batch transactions can be further divided into daytime (online) batch processing and post-online batch processing. The main purpose is to improve the response time of online transactions, reduce the workload of tellers, reduce transactions that compete for resources during peak periods, and generate a general ledger for overall reconciliation.

[0110] Daytime (online) batch processing includes tasks such as receiving payments and processing receipts for intermediary services (various collection and payment procedures); post-online batch processing typically involves a set of programs running in the background at night. Examples include clearing and settlement of internal and external business, automatic rollover of maturing fixed-term savings, account interest calculation and settlement, automatic deduction of loan payments on the due date, reconciliation of total and branch balances, and the generation of reports required for statistics and management.

[0111] Please see Figure 5 This is a schematic diagram of a batch data transmission process provided by an embodiment of the present invention. The scenario mainly includes a configuration stage and a transmission stage:

[0112] Configuration phase

[0113] During the configuration phase, a preset temporary storage area can be pre-configured. There is a one-to-one correspondence between programs (components) and information areas. For example, after a program (component) is called, the program (component) will store the generated information in the corresponding information area while performing the corresponding function.

[0114] Transmission phase

[0115] During the transmission phase, when the application determines that a batch processing submission operation needs to be performed, the platform first obtains the timestamp of the first database, then executes the first database submission operation. Afterwards, staff use compression software to package the various data stored in the preset temporary storage area into preset messages, which are then sent to the second database via a message broker. If the preset message is stored in the second database, the data in the preset temporary storage area is cleared; if the preset message fails to be sent (i.e., fails to be stored in the second database), the data in the preset temporary storage area is stored in another database, such as the first database, awaiting the next transmission.

[0116] To illustrate the relationship between the online transaction process described in this invention and existing online transaction processes, please refer to [link / reference needed]. Figure 6This diagram illustrates a batch data transmission process in existing technologies. Existing batch processing performs a database commit operation before reaching the required number of database commits or before successfully terminating the batch process. In existing technologies, the platform lacks a pre-defined buffer, thus eliminating the need to obtain the first database timestamp and send data from the pre-defined buffer.

[0117] Optionally, a batch job may make multiple database commits. Regardless of whether the database commit is successful or fails, the management and statistics fields of the temporary storage area will be initialized for later reuse.

[0118] For example, taking a specific banking business context as an example, combined with Figure 5 When a bank handles payroll processing for a company, staff process the transactions uniformly within a specified timeframe. When employee salaries are paid in bulk, corresponding data changes are generated, such as company and employee balances and historical transaction records. In this case, the application is payment software, the platform is the terminal, the first database is the terminal database, and the second database is the bank's main database. The data transmission process for company accounts and employee changes is as follows:

[0119] Step 1: The terminal places the company and employee change data into a preset temporary storage area in memory;

[0120] Step 2: The terminal obtains the submission timestamp from its own database;

[0121] Step 3: The terminal executes the database commit operation;

[0122] Step four: The staff starts the compression software and packages the data in the preset temporary storage area into preset messages;

[0123] Step 5: The terminal sends a preset message to the main database via a message middleware. If the sending fails, the company and employee change data are temporarily stored in the terminal's database, waiting for the next sending.

[0124] Based on the same technical concept, embodiments of the present invention provide a data acquisition device, such as... Figure 7 As shown, the device includes:

[0125] The detection module 701 is used to add probes to the database encapsulation program, which is a program that performs encapsulation operations on data in the database.

[0126] Processing module 702 is used to obtain the changed data generated by the current call through a probe when the application calls the database encapsulation program to encapsulate the data in the first database, and to store the changed data in a preset temporary storage area.

[0127] The transceiver module 703 is used to send data in the preset temporary storage area to the second database.

[0128] In one possible implementation, the processing module 702 is specifically used to: store the changed data in the database update information area, wherein the database update information area is located in a preset temporary storage area.

[0129] In further possible implementations, the preset temporary storage area may also include one or more of the following: application partition number information area, routing index information area, and dependent contract information area.

[0130] In a further possible implementation, the application partition number information area is used to store the data generated by the application when calling the application partition number registration component; the route index information area is used to store the data generated by the application when calling the route index registration component; and the dependency contract information area is used to store the data generated by the application when calling the dependency contract registration component.

[0131] In one possible implementation, after storing the changed data in the preset temporary storage area and before sending the data in the preset temporary storage area to the second database, the processing module 702 is further configured to: obtain the submission timestamp of the first database, perform the submission operation of the first database, and package the data in the preset temporary storage area into a preset message.

[0132] In a further possible implementation, the send / receive module 703 is specifically used to send a preset message to the second database through a message middleware.

[0133] In one possible implementation, the transceiver module 703 is configured to: if it is determined that the data in the preset temporary storage area has failed to be sent, store the data in the preset temporary storage area into the first database.

[0134] In one possible implementation, the transceiver module 703 is also used to: perform initialization operations on the management and statistics fields of the preset temporary storage area after sending the data in the preset temporary storage area.

[0135] In summary, this embodiment of the invention obtains database change data by adding probes at the application level. During operation, the application also generates other diverse data, such as the application partition number, routing index, and dependency contract information in this embodiment, which staff can collect additionally. Furthermore, the change data collection process does not rely on database collection tools, reducing data collection costs.

[0136] Based on the same technical concept, embodiments of the present invention provide a computer device, such as... Figure 8 As shown, it includes at least one processor 801 and a memory 802 connected to at least one processor. In this embodiment of the invention, the specific connection medium between the processor 801 and the memory 802 is not limited. Figure 7 Taking the connection between the processor 801 and the memory 802 via a bus as an example, the bus can be divided into address bus, data bus, control bus, etc.

[0137] In this embodiment of the invention, the memory 802 stores instructions that can be executed by at least one processor 801. By executing the instructions stored in the memory 802, at least one processor 801 can perform the steps included in the aforementioned data acquisition method.

[0138] The processor 801 is the control center of the computer device. It can connect to various parts of the terminal device using various interfaces and lines, and performs data processing by running or executing instructions stored in the memory 802 and calling data stored in the memory 802. Optionally, the processor 801 may include one or more processing units. The processor 801 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 801. In some embodiments, the processor 801 and the memory 802 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.

[0139] The processor 801 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0140] Memory 802, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 802 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. Memory 802 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In embodiments of the present invention, memory 802 may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0141] Based on the same technical concept, embodiments of the present invention provide a computer-readable storage medium storing a computer program executable by a computer device, which, when run on the computer device, causes the computer device to perform the steps of a data acquisition method.

[0142] Based on the same technical concept, embodiments of the present invention provide a computer program product, including a computer program that, when executed by a processor, implements a method for data acquisition of the computer device.

[0143] Those skilled in the art will understand that embodiments of the present invention can be provided as methods or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

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

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

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

[0147] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0148] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A data acquisition method, characterized in that, The method includes: Add a probe to the database encapsulation program, which is a program that performs encapsulation operations on data in the database; When the application calls the database encapsulation program to encapsulate data in the first database, the probe obtains the changed data generated by this call and stores the changed data in a preset temporary storage area. The step of storing the changed data in a preset temporary storage area includes: storing the changed data in the database update information area within the preset temporary storage area; The preset temporary storage area also includes one or more of the following: application partition number information area, routing index information area, and dependency contract information area. The application partition number information area is used to store data generated by the application when calling the application partition number registration component. The routing index information area is used to store data generated by the application when calling the routing index registration component. The dependency contract information area is used to store data generated by the application when calling the dependency contract registration component. The data in the preset temporary storage area is sent to the second database.

2. The method as described in claim 1, characterized in that, After storing the changed data in a preset temporary storage area and before sending the data in the preset temporary storage area to the second database, the process also includes: Obtain the commit timestamp of the first database; Execute the commit operation for the first database; The data in the preset temporary storage area is packaged into a preset message.

3. The method as described in claim 2, characterized in that, After packaging the data in the preset temporary storage area into a preset message, the process also includes: The message middleware is invoked to send the preset message to the second database.

4. The method as described in claim 1, characterized in that, The method further includes: If it is determined that the data in the preset temporary storage area failed to be sent, the data in the preset temporary storage area will be stored in the first database.

5. The method as described in claim 1, characterized in that, The method further includes: After sending the data in the preset temporary storage area, the management and statistics fields of the preset temporary storage area are initialized.

6. A data acquisition device, characterized in that, The device includes: The detection module is used to add probes to the database encapsulation program, which is a program that performs encapsulation operations on data in the database. The processing module is used to obtain the changed data generated by the current call through the probe when the application calls the database encapsulation program to encapsulate the data in the first database, and to store the changed data in a preset temporary storage area. The processing module is used to store the changed data in the database update information area within the preset temporary storage area when storing the changed data in the preset temporary storage area; The preset temporary storage area also includes one or more of the following: application partition number information area, routing index information area, and dependency contract information area. The application partition number information area is used to store data generated by the application when calling the application partition number registration component. The routing index information area is used to store data generated by the application when calling the routing index registration component. The dependency contract information area is used to store data generated by the application when calling the dependency contract registration component. The transceiver module is used to send the data in the preset temporary storage area to the second database.

7. A computing device, characterized in that, It includes at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program that, when executed by the processing unit, causes the processing unit to perform the method described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, It stores a computer program executable by a computing device, which, when run on the computing device, causes the computing device to perform the method described in any one of claims 1 to 5.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.