Bitmap index updating method and device, computer equipment and storage medium

By constructing a timestamp-ordered bitmap chain structure, real-time dynamic updates of the bitmap index are achieved, solving the consistency and efficiency problems of traditional bitmap indexes under parallel operations, and improving the real-time performance and storage efficiency of data changes.

CN121858583APending Publication Date: 2026-04-14CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-24
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Traditional bitmap indexes cannot effectively support parallel operations in multi-condition query scenarios, leading to data conflicts and dirty reads, which affect data consistency and reliability. At the same time, update operations are time-consuming and resource-intensive, making it difficult to meet real-time requirements.

Method used

Construct a first bitmap chain and a second bitmap chain, each containing multiple bitmap versions linked in timestamp order. By obtaining the target timestamp and type of the data change operation, determine the target bitmap chain, and generate a new version based on timestamp matching for updating, thus achieving real-time dynamic updates.

Benefits of technology

It effectively solves the problem of high maintenance overhead of traditional bitmap indexes under frequent data changes, balances real-time performance and storage efficiency, ensures traceability of data change history, and improves system concurrency performance and query response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121858583A_ABST
    Figure CN121858583A_ABST
Patent Text Reader

Abstract

The invention relates to a bitmap index updating method and device, computer equipment and a storage medium. Comprising the following steps: constructing a first bitmap chain for a target bitmap index in a data table, and constructing a second bitmap chain for at least one index key value in the target bitmap index; in response to a data change operation for the index key value, obtaining a target timestamp and a data change type of the data change operation, and determining a target bitmap chain according to the data change type; determining a target bitmap version of which the timestamp is matched with the target timestamp from the timestamps of the plurality of bitmap versions included in the target bitmap chain, and executing data change operation on target bitmap data of the target bitmap version to generate a new bitmap version; and updating the target bitmap chain according to the new bitmap version so as to update the target bitmap index. It can be seen that the mechanism based on the bitmap chain and precise timestamp matching effectively solves the problem that a traditional bitmap index is high in maintenance overhead under frequent data change.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of cloud computing, and in particular to a bitmap index updating method, apparatus, computer device, and storage medium. Background Technology

[0002] Bitmap indexes have significant performance advantages in multi-condition query scenarios because they can quickly filter out rows that meet the conditions through bitwise logical operations between bitmap vectors. Furthermore, bitmap operations are highly compatible with the instruction set of modern computer hardware, resulting in extremely high execution efficiency.

[0003] In related technologies, the raw business data can first be preprocessed and analyzed to identify its data attributes and determine a reasonable mapping threshold for each data item to be indexed. Based on these data items and their thresholds, an intermediate-layer application data table is constructed. Finally, using this mapping threshold, the data in the application data table is classified or segmented, thereby creating an independent bitmap index for each category or segment. It is evident that the bitmap index structure in these technologies cannot effectively support parallel operations under an in-situ update mechanism. When multiple read / write requests access the same bit string simultaneously, data conflicts and dirty reads may occur, severely impacting data consistency and reliability. Summary of the Invention

[0004] In view of the above, embodiments of this disclosure provide a bitmap index update method, apparatus, computer device, and storage medium to solve the problems existing in the related art.

[0005] A first aspect of this disclosure provides a bitmap index update method, the method comprising: constructing a first bitmap chain for a target bitmap index in a data table, and constructing a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain includes a plurality of first bitmap versions linked in timestamp order, and the second bitmap chain includes a plurality of second bitmap versions linked in timestamp order; in response to a data change operation on an index key value, obtaining a target timestamp and a data change type of the data change operation, and determining a target bitmap chain according to the data change type, wherein the target bitmap chain includes at least one of a first bitmap chain and a second bitmap chain; determining a target bitmap version whose timestamp matches the target timestamp from the timestamps of the plurality of bitmap versions included in the target bitmap chain, and performing a data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; and updating the target bitmap chain according to the new bitmap version to update the target bitmap index.

[0006] A second aspect of this disclosure provides a bitmap index updating apparatus applied to the bitmap index updating method of the first aspect. The apparatus includes: a construction module, configured to construct a first bitmap chain for a target bitmap index in a data table, and to construct a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain includes a plurality of first bitmap versions linked in timestamp order, and the second bitmap chain includes a plurality of second bitmap versions linked in timestamp order; an acquisition module, configured to, in response to a data change operation on an index key value, acquire a target timestamp and a data change type of the data change operation, and determine a target bitmap chain based on the data change type, wherein the target bitmap chain includes at least one of a first bitmap chain and a second bitmap chain; a generation module, configured to, from the timestamps of the plurality of bitmap versions included in the target bitmap chain, determine a target bitmap version whose timestamp matches the target timestamp, and perform a data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; and an update module, configured to update the target bitmap chain according to the new bitmap version to update the target bitmap index.

[0007] A third aspect of this disclosure provides a computer device including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the bitmap index update method described above.

[0008] A fourth aspect of this disclosure provides a computer-readable storage medium having a computer program / operation instructions stored thereon, which, when executed by a processor, implement the steps of the bitmap index update method described above.

[0009] A fifth aspect of this disclosure provides a computer program product that, when executed by a processor, implements the steps of the bitmap index update method described above.

[0010] The above-described at least one technical solution adopted in the embodiments of this disclosure can achieve the following beneficial effects: by constructing a first bitmap chain for the target bitmap index in the data table, and constructing a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain contains a plurality of first bitmap versions linked in timestamp order, and the second bitmap chain contains a plurality of second bitmap versions linked in timestamp order; in response to a data change operation for the index key value, obtaining the target timestamp and data change type of the data change operation, and determining the target bitmap chain according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain; determining the target bitmap version whose timestamp matches the target timestamp from the timestamps of the plurality of bitmap versions included in the target bitmap chain, and performing a data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; updating the target bitmap chain according to the new bitmap version to update the target bitmap index. As can be seen, the embodiments of this disclosure can achieve real-time dynamic updates of the bitmap index by selecting the target bitmap chain based on the change type and performing the change operation based on the target timestamp matching the bitmap version in the target bitmap chain to generate a new version during data change operations. This mechanism based on bitmap chain and precise timestamp matching effectively solves the problem of high maintenance overhead of traditional bitmap indexes under frequent data changes, balances the real-time performance and storage efficiency of bitmap index maintenance, and ensures the traceability of data change history through the versioned chain structure. Attached Figure Description

[0011] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the disclosure and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.

[0012] Figure 1 This is a schematic diagram illustrating a bitmap index update process according to an embodiment of the present disclosure; Figure 2 This is a schematic diagram of the structure of a pointer set provided in one embodiment of the present disclosure; Figure 3 This is a schematic diagram illustrating a conflict problem in concurrent write operations according to an embodiment of the present disclosure; Figure 4 A schematic diagram illustrating an embodiment of this disclosure with an access lock; Figure 5 This is a schematic diagram of a bitmap index updating device provided in an embodiment of the present disclosure; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure; Figure 7 This is a schematic diagram of the structure of a computer system provided in an embodiment of the present disclosure; Figure 8 A schematic diagram of a computer program product provided according to an embodiment of this disclosure. Detailed Implementation

[0013] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0014] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0015] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., used in this disclosure are only used to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0016] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0017] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0018] Bitmap indexes are a mature indexing technology in the database field. Their basic structure is as follows: for each possible index key value of a column in a data table, the system maintains an independent bitmap vector. Each bit of the bitmap vector corresponds to a row in the data table, indicating whether that row contains the corresponding index key value. This design gives bitmap indexes significant advantages in terms of storage space usage, multi-index key value combination queries (especially logical AND / OR operations), and handling queries containing null values. However, when the cardinality of index key values ​​(i.e., the number of different values) is high, the number of bitmaps that need to be maintained increases dramatically, leading to increased storage and management costs. Furthermore, updating the data table (such as inserting, deleting, or modifying) often requires synchronously updating one or more bitmaps, which incurs significant maintenance overhead and impacts the overall write performance of the system.

[0019] The core principle of bitmap indexing is to create an independent bitmap vector for each possible value of a specific attribute in a data table. Each bit in the vector corresponds sequentially to a row of data in the table. If a row of data has the attribute value, the corresponding bit is set to "1"; otherwise, it is set to "0". For example, for a table containing 8 records, two bitmap vectors can be created for the "gender" attribute: a male vector "00010101" and a female vector "11101010". In the male vector, the 4th bit is "1", indicating that the 4th record is male; the 5th bit is "0", indicating that the 5th record is not male.

[0020] In related technologies, the main approach to more efficiently constructing and utilizing bitmap indexes for querying is as follows: First, preprocess and analyze the original business data to identify its data attributes (such as numerical range and distribution characteristics), and determine a reasonable mapping threshold for each data item to be indexed. Based on these data items and their thresholds, construct an intermediate-layer application data table. Finally, using this mapping threshold, classify or segment the data in the application data table, and then create an independent bitmap index for each category or segment. The bitmap index constructed in this way can more accurately match the actual distribution of data and query patterns, thereby significantly improving the efficiency of data retrieval and query response speed in the context of large data volumes.

[0021] The above scheme still uses the standard bitmap index structure and relies on the in-situ update mechanism, which has two obvious shortcomings: First, the bitmap index structure in the related technology cannot effectively support parallel operations under the in-situ update mechanism. When multiple read and write requests access the same bit string at the same time, data conflicts and dirty reads may occur, which seriously affect data consistency and reliability. Second, since bitmap indexes are usually designed for large-scale data construction, involving the generation and maintenance of a large number of bit strings, the reconstruction process of bitmap indexes is time-consuming and resource-intensive. It can often only be executed during the system's idle period, resulting in update lag, which makes it difficult to meet the application scenarios with high real-time requirements.

[0022] In summary, bitmap indexes offer significant performance advantages in multi-condition query scenarios because they can quickly filter rows that meet the criteria through bitwise logical operations between bitmap vectors. Furthermore, bitmap operations are highly compatible with the instruction sets of modern computer hardware, resulting in extremely high execution efficiency. However, bitmap indexing technology in related technologies has significant drawbacks when facing mixed read and write loads: First, its update mechanism typically requires serial execution, meaning only one thread is allowed to read and write to the index structure at a time, severely limiting the system's concurrent processing capabilities. Second, since bitmap indexes are often used in massive data environments, their bitmap vectors are usually compressed for storage. Update operations involve multiple time-consuming steps such as decoding, modification, and re-encoding, and a single update often requires modifying multiple bitmap vectors, leading to a significant increase in update latency and making it difficult to meet the timeliness requirements of real-time data analysis scenarios.

[0023] To address the aforementioned issues, this embodiment provides a bitmap index update method. This method involves constructing a first bitmap chain for a target bitmap index in a data table and a second bitmap chain for at least one index key value in the target bitmap index. The first bitmap chain contains multiple first bitmap versions linked in timestamp order, and the second bitmap chain contains multiple second bitmap versions linked in timestamp order. In response to a data change operation on an index key value, the method obtains the target timestamp and data change type of the data change operation and determines the target bitmap chain based on the data change type. The target bitmap chain includes at least one of the first and second bitmap chains. From the timestamps of the multiple bitmap versions included in the target bitmap chain, the method determines the target bitmap version whose timestamp matches the target timestamp and performs a data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version. Finally, the method updates the target bitmap chain based on the new bitmap version to update the target bitmap index. As can be seen, the embodiments of this disclosure can achieve real-time dynamic updates of the bitmap index by selecting the target bitmap chain based on the change type and performing the change operation based on the bitmap version in the target timestamp matching chain during data change operations. This mechanism based on version chain and precise timestamp matching effectively solves the problem of high maintenance overhead of traditional bitmap indexes under frequent data changes, takes into account both the real-time performance of index maintenance and storage efficiency, and ensures the traceability of data change history through the versioned chain structure.

[0024] The bitmap index update method provided in this disclosure can be executed by a terminal or by a chip applied to the terminal.

[0025] For example, the aforementioned terminals may include one or more of the following: mobile phones, tablets, wearable devices, in-vehicle devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, handheld computers (PDAs), and wearable devices based on augmented reality (AR) and / or virtual reality (VR) technologies. They may also include, but are not limited to, remote control devices, wearable devices, streetlights, home appliances, and other smart terminals. This disclosure does not impose specific limitations on these aspects.

[0026] Figure 1 This is a schematic diagram illustrating a bitmap index update process according to an embodiment of this disclosure. Figure 1 As shown, the bitmap index update method includes: S101, construct a first bitmap chain for the target bitmap index in the data table, and construct a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain contains multiple first bitmap versions linked in timestamp order, and the second bitmap chain contains multiple second bitmap versions linked in timestamp order.

[0027] In some embodiments, the first bitmap chain can be an effective bitmap chain (EB chain) used to record the deletion status of each row of data, and the second bitmap chain can be a bitmap chain of index key values ​​(VB chain) used to record the row-level distribution of index key values. The EB chain contains multiple first bitmap versions (EB versions) linked in timestamp order. Each EB version is a bitmap vector, and each bitmap vector indicates whether the corresponding row of data was marked as deleted under the timestamp of that EB bitmap version. Similarly, the VB chain contains multiple second bitmap versions (VB versions) linked in timestamp order. Each VB version is also a bitmap vector, indicating whether the corresponding row has the index key value under the timestamp of that bitmap version.

[0028] Figure 2 This is a schematic diagram illustrating the structure of a pointer set according to an embodiment of this disclosure. Figure 2 As shown, firstly, the system maintains global control variables for the entire index structure, including a global timestamp (TIMESTAMP), a global total number of data rows (numRows), a global lock (global_lk), a bitmap lock array (bitmap_lk[n]), and a set of pointers (bitmap) pointing to the bitmap chains corresponding to each index key value. For the target bitmap index in the data table, a first bitmap chain (i.e., the EB chain) is constructed, and a second bitmap chain (i.e., the VB chain) is constructed for at least one index key value in the target bitmap index (such as the "male" key value in the "gender" attribute). Each bitmap chain consists of multiple sets of pointers (bitmap) linked in reverse chronological order by pointers (next); the bitmap structure contains three fields: timestamp (TS), used to identify the version number of the structure; pointer (next), pointing to the next earlier version of the bitmap in the same bitmap chain; and bitvector, pointing to the memory area storing the specific bitstring data. In this system, each bitmap version in the first and second bitmap chains is kept synchronized with its timestamp through the TS field, so that read and write operations can locate the same version in each chain based on the unified timestamp, thereby realizing parallel bitmap index access based on multi-version concurrency control.

[0029] As can be seen, the embodiments of this application construct two independent and version-synchronized first bitmap chains (such as the EB chain) and second bitmap chains (such as the VB chain) for the target bitmap index, realizing efficient parallel access and real-time update capabilities of the bitmap index under multi-version concurrency control. Specifically, the dual-chain structure decouples the data deletion status from the distribution of index key values, allowing read operations to synchronously obtain consistent versions from the two chains based on a unified timestamp and perform logical operations without blocking concurrent write operations; write operations update by generating a new version and inserting it into the corresponding chain head, avoiding the reconstruction of the entire index structure and global locking. In this way, not only is the throughput bottleneck and high update latency caused by serial execution in traditional bitmap indexes under mixed read and write scenarios effectively solved, but the query response speed and system concurrency performance in large-scale real-time data analysis are also significantly improved, while ensuring the ACID properties of data operations and the traceability of historical versions. Here, ACID properties are the four core properties that a database management system must satisfy to ensure correct and reliable execution, namely Atomicity, Consistency, Isolation, and Durability.

[0030] S102, in response to a data change operation for an index key value, obtain the target timestamp and data change type of the data change operation, and determine the target bitmap chain according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain.

[0031] In some embodiments, when a data change operation is detected targeting the index key value of the department attribute, such as adding a new record for R&D personnel, the transaction manager assigns a unique and incrementing target timestamp to the operation. This timestamp is typically generated by atomically incrementing a global monotonic counter, for example, assigning TS=1005. Based on this, this timestamp (TS=1005) can be used as the global version identifier for this change operation, ensuring that in subsequent access and modification of multi-version bitmap chains (including the EB chain and VB chain), all related operations are located and matched to the corresponding bitmap version based on this target timestamp, thereby maintaining the consistency of cross-chain data in logical time and providing an accurate time reference for multi-bitmap version concurrency control.

[0032] Specifically, upon receiving a specific data change instruction, such as a request to change the index key value of "Gold Member" in the "User Level" attribute, the instruction is first parsed to determine the specific data change type. Based on this change type, the target bitmap chain to be operated on is precisely determined. The specific determination rules are as follows: If the change type is an insertion operation, such as adding a new Gold Member user, then both the first bitmap chain and the corresponding second bitmap chain need to be processed simultaneously; if the change type is a deletion operation, such as deleting a Gold Member user, then only the first bitmap chain needs to be processed to mark the corresponding row as logically deleted; if the change type is an update operation, such as changing a user from "Silver Member" to "Gold Member," then the first bitmap chain needs to be processed, and both the old second bitmap chain corresponding to the original index key value and the new second bitmap chain corresponding to the new index key value are included in the target scope. Therefore, after clarifying the target bitmap chain set according to these rules, the corresponding version is located in each target chain by combining the global target timestamp allocated for the operation, and the subsequent bitmap data modification and version chain update process is executed.

[0033] In this way, by decoupling data change operations into targeted processing of the first bitmap chain and a specific second bitmap chain, fine-grained management and performance optimization of bitmap index updates are achieved. Specifically, embodiments of this disclosure can dynamically select the target bitmap chain based on the change type, accessing the relevant chain structure only when necessary, avoiding full chain traversal and invalid operations, and significantly reducing the scope of concurrent conflicts and computational overhead; at the same time, combined with a global timestamp version synchronization mechanism, the consistency of multi-chain data in logical time is ensured. This not only effectively solves the problems of high update redundancy and intense lock contention in traditional bitmap indexes under mixed loads, but also significantly improves the operational efficiency and system throughput in high-frequency data change scenarios. Furthermore, by minimizing necessary chain modifications, the lightweight and real-time nature of the index is maintained, providing efficient index update support for real-time analysis of large-scale data.

[0034] S103: From the timestamps of multiple bitmap versions included in the target bitmap chain, determine the target bitmap version whose timestamp matches the target timestamp, and perform a data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version.

[0035] In some embodiments, after performing a data insertion operation on the index key value of "product category" and obtaining the target timestamp TS=1020, the determined target bitmap chain can be traversed backwards from the head of each chain to find the nearest bitmap version with a timestamp less than TS=1020. For example, if versions TS=1019, TS=1015, and TS=1010 exist sequentially in the second bitmap chain, then TS=1019 is determined to be the matching target bitmap version. Subsequently, based on the bitmap data of this version, the bits corresponding to the newly added data row can be updated from 0 to 1 to generate new bitmap data and create a new version node (TS=1020), which is then inserted at the head of the corresponding chain. Here, the nearest neighbor can be adjacent.

[0036] This avoids the overhead of traditional bitmap indexes having to decode the entire bitmap vector and rebuild it entirely. Instead, it generates a new version by making only minimal modifications to the target version, significantly reducing the I / O and computational costs of update operations. At the same time, timestamp-based version matching ensures data consistency across multiple chains, allowing read and write operations to be executed in parallel based on clear historical version snapshots. This effectively improves update efficiency and system responsiveness in high-concurrency scenarios while maintaining the query performance advantages of bitmap indexes.

[0037] S104, Update the target bitmap chain according to the new bitmap version to update the target bitmap index.

[0038] In some embodiments, after generating a new bitmap version representing the target timestamp TS=1020, the new bitmap version can be inserted at the head of the corresponding target bitmap chain. Specifically, for the VB chain, the next pointer of the new node points to the VB chain head version (TS=1019), and the chain head pointer is updated to point to the new node; for the EB chain, the same operation is performed synchronously.

[0039] As can be seen, this embodiment achieves real-time, non-blocking updates to the target bitmap index by atomically inserting the new version node at the head of the target chain. This allows for modification only of the pointer structure of the version chain, without requiring reorganization or rewriting of the entire target bitmap index, resulting in extremely low update overhead. Simultaneously, the chain structure naturally maintains a complete historical version sequence, enabling concurrent read operations to continue accessing older version snapshots, completely resolving read-write conflicts. This update mechanism not only significantly improves the throughput and response speed of the target bitmap index in high-frequency data change scenarios but also provides complete data version tracing capabilities, enhancing the flexibility and reliability of data analysis.

[0040] In some embodiments, determining the target bitmap chain based on the data change type includes: when the data change operation is an insert operation, determining the first bitmap chain and the second bitmap chain as the target bitmap chain; when the data change operation is a delete operation, determining the first bitmap chain as the target bitmap chain; and when the data change operation is an update operation, determining the first bitmap chain and the second bitmap chain as the target bitmap chain.

[0041] Specifically, for the insertion operation, the core process is to update the value of the new data row to the target bitmap index and maintain the global state synchronously. The specific steps are as follows: First, locate the VB chain that needs to be updated based on the input parameters, such as the index key value "R&D Department"; then, based on the current target timestamp (TS), traverse the VB chain and EB chain simultaneously, find the nearest bitmap version with a timestamp less than TS, and record them as the historical versions VBold and EBold.

[0042] Subsequently, the bitmap data of VBold and EBold are copied to obtain VB copy and EB copy, and these copies are added to a temporary memory space. Here, the EB copy is modified in the temporary memory space by setting the bit corresponding to the new data row to 1, indicating that the data row has taken effect and has not been deleted, thus generating a new version EBnew. Simultaneously, the VB copy is modified by setting the bit corresponding to the same new row to 1, indicating that the data row has the specific index key value "R&D Department", thus generating a new version VBnew. Then, VBnew and EBnew are inserted as new version nodes at the head of their respective bitmap chains, and a timestamp consistent with the current target timestamp is assigned to them. Finally, the total number of global data rows (numRows) is incremented atomically to complete the insertion operation.

[0043] For insertion operations, such as deleting the employee record with employee number 1001, the core process is as follows: First, based on the target timestamp of the current transaction (e.g., TS=1010), the EB chain is traversed to locate the latest valid version with a timestamp less than TS, denoted as EBold. Then, the bitmap data of EBold is copied to a temporary memory space to obtain an EB copy, which is then added to the temporary memory space. Within the temporary memory space, the bits of the data row to be deleted in this EB copy can be modified from 1 to 0 to mark the row as logically deleted, thus generating a new version EBnew. Next, EBnew is inserted as a new node at the head of the EB chain and assigned a timestamp consistent with the current target timestamp, TS=1010. Finally, the total number of global data rows (numRows) is decremented by 1 through an atomic operation, completing the deletion operation.

[0044] For update operations, deletion can be performed first, followed by insertion; see the specific descriptions of deletion and insertion operations above. As can be seen, this embodiment can assign a globally monotonically increasing timestamp as a version base for each change operation, ensuring logical consistency between multiple version chains. Based on different operation types such as insertion, deletion, and update, the bitmap chain to be processed is dynamically selected, avoiding unnecessary access to unrelated chains and effectively reducing the scope of concurrency conflicts and operational overhead. Simultaneously, at the execution level, insertion and deletion operations achieve non-blocking multi-version updates of data by executing an atomic process of "reading the old version - copying the modification - inserting the new version" on the EB chain and the corresponding VB chain, respectively. Combined with the atomic maintenance of the global row count, the consistency between the index state and the data table is guaranteed. This not only significantly reduces the update latency and lock contention of traditional bitmap indexes under mixed loads but also improves the throughput and responsiveness of the system in high-concurrency real-time analysis scenarios, while fully preserving the ACID properties of the data and the ability to trace historical versions.

[0045] In some embodiments, performing a data modification operation on the target bitmap data of the target bitmap version to generate a new bitmap version further includes: acquiring an access lock for the target bitmap version; performing a data modification operation on the target bitmap data of the target bitmap version to generate a new bitmap version while the access lock is locked; and unlocking the access lock after the data modification operation is completed.

[0046] Figure 3 This diagram illustrates a conflict problem in concurrent write operations according to an embodiment of this disclosure. Figure 3 As shown, consider the scenario where two concurrent operations, Operation 1 and Operation 2, arrive at the system simultaneously. Assume Operation 1 corresponds to an insert operation targeting the index key value of "R&D Department" within the "Department" attribute, and Operation 2 corresponds to a delete operation targeting the index key value of "Marketing Department." Based on this, both concurrent operations need to perform the following key steps: First, both Operation 1 and Operation 2 need to obtain and increment a global timestamp to generate their unique transaction version identifier; subsequently, both need to create and insert a node with the new bitmap version in the EB chain to reflect the state change of the data row.

[0047] like Figure 3 As shown, without synchronization control, two types of conflicts will occur: First, such as Figure 3 As shown on the left, operations 1 and 2 might simultaneously read the current value of the global timestamp, such as 100, and each calculate 100+1=101, causing them to incorrectly obtain the same timestamp 101. This would violate the uniqueness of the bitmap version and the order of transactions, thus violating isolation. Second, as... Figure 3As shown on the right, operations 3 and 4 may modify the EB chain simultaneously: if operations 1 and 2 each create new version nodes EBnew1 and EBnew2 and attempt to insert them into the EB chain almost simultaneously, then, because the modification of the EB chain head pointer is non-atomic, it may cause one of the new bitmap versions to be lost or the chain structure to break. For example, the final chain head may only point to EBnew2, while EBnew1 is not linked, resulting in data loss and seriously undermining atomicity and consistency.

[0048] In some embodiments, the system independently sets a fine-grained access lock (such as a read-write lock) for each second bitmap chain (VB chain) and each first bitmap chain (EB chain). Thus, when a change operation needs to be performed on a specific bitmap chain, the access lock corresponding to that bitmap chain must first be acquired, and the data modification and chain head insertion operations must be completed under the protection of the access lock before releasing the access lock. By refining the granularity of the lock to a single bitmap chain, different operations can concurrently modify bitmap chains corresponding to different index key values, greatly improving the system's parallel processing capability. Simultaneously, since the access locks for each bitmap chain are independent, performance bottlenecks caused by locking the entire index structure are effectively avoided. While ensuring data consistency and transaction isolation, the update throughput and overall response speed of the bitmap index in high-concurrency scenarios are significantly improved.

[0049] Figure 4 This is a schematic diagram illustrating an embodiment of the present disclosure that includes an access lock. Figure 4 As shown, when performing data modification operations to generate a new bitmap version, the following synchronization control steps are also included: First, an access lock for the target bitmap version is acquired, which is a fine-grained read-write lock set for the bitmap chain corresponding to the target bitmap version; then, while holding and closing (i.e., locking) the access lock, the specific modification operation is performed on the target bitmap data to generate the new bitmap version; after the data modification operation is completed and the new version node is ready, the access lock is opened (i.e., released). This ensures that modification operations on the same bitmap chain can be executed serially in a concurrent environment, thereby avoiding data inconsistency or pointer errors caused by multiple threads modifying the chain structure simultaneously, effectively maintaining the integrity of the bitmap index and the isolation of transactions.

[0050] In some embodiments, a global variable lock can also be set for the entire global variable. In this way, the access lock is configured separately for each first bitmap chain and the second bitmap chain to protect operations such as version insertion and pointer modification of a single bitmap chain, and to avoid structural breakage or version loss caused by multiple threads modifying the same chain at the same time. The global variable lock is configured independently to protect the atomic updates of global variables such as global timestamp (TIMESTAMP) and global data total number of rows (numRows), and to prevent the inconsistency of values ​​when multiple threads modify global variables concurrently. Through the cooperation of the two-level lock, the independence of single-chain operations is guaranteed and the consistency of the global state is maintained, and the concurrency control logic of the two-stage locking technology is fully implemented.

[0051] For example, when two threads perform insertion operations simultaneously, such as thread A needing to modify the VB and EB chains corresponding to the "R&D Department," it first acquires access locks on these VB and EB chains to ensure that no other threads interfere with the structure of these two chains during the process of copying the old version, generating the new version, and inserting it at the head of the chain, thus preventing chain pointer breakage or loss of the new version. Simultaneously, thread A needs to increment the total number of global data rows (numRows) and acquire a new global timestamp (TIMESTAMP). At this point, it requests a global variable lock, completing the atomic update under lock protection to prevent issues like numRows counting errors or timestamp duplication with thread B, which is also performing insertion operations. Meanwhile, when thread B modifies the VB and EB chains corresponding to the "Marketing Department," access to different bitmap chains is independent, so it can acquire the lock normally. It only waits for thread A to release the global variable lock when accessing global variables. Through the coordination of these two levels of locks, parallel execution of modifications to different chains is achieved while ensuring the consistency of the global state, fully implementing the concurrency control logic of the two-stage locks.

[0052] In some embodiments, determining a target bitmap version whose timestamp matches a target timestamp from the timestamps of multiple bitmap versions included in the target bitmap chain includes: determining the time difference between the timestamp of each of the multiple bitmap versions and the target timestamp; and determining the bitmap version with the smallest time difference as the target bitmap version.

[0053] In some embodiments, a time difference minimization matching strategy can be adopted when determining the target bitmap version. This involves calculating the absolute time difference between the timestamp of each bitmap version and the target timestamp of the current operation for multiple bitmap versions arranged in reverse timestamp order within the target bitmap chain. The bitmap version with the smallest calculated time difference is then determined as the target bitmap version. For example, if the target timestamp is TS=1020, and versions TS=1019, TS=1015, and TS=1010 exist in the chain, the calculated time differences are 1, 5, and 10, respectively. Therefore, version TS=1019 is determined as the matching target bitmap version. This time difference minimization matching strategy efficiently and accurately locates the target bitmap version closest to the target timestamp from the bitmap chain, ensuring high consistency and real-time performance of the data snapshots obtained during read operations.

[0054] In some embodiments, updating the target bitmap chain according to the new bitmap version to update the target bitmap index includes: adding a new bitmap version to the target bitmap chain according to the target timestamp in timestamp order to update the target bitmap index.

[0055] In some embodiments, the process of updating the target bitmap chain according to the new bitmap version is as follows: After generating the new bitmap version, the new version node can be inserted into the head of the corresponding target bitmap chain in descending order of timestamps. Specifically, for a new bitmap version VBnew with a target timestamp TS=1020, the next pointer of VBnew can be pointed to the current bitmap chain, and then the chain head pointer can be updated to point to VBnew, thereby completing the version addition in the VB chain based on the timestamp order.

[0056] By strictly inserting new bitmap versions at the head of the chain according to timestamp order, real-time updates of the bitmap index can be achieved with extremely low overhead, while naturally maintaining the ordered nature of the version history. This chained update mechanism avoids reorganizing or rewriting the entire bitmap vector, significantly reducing I / O and computational costs; furthermore, the head insertion operation ensures that the latest version is always accessed first, optimizing read operation performance. This design, while ensuring the correctness of multi-version concurrency control, provides high-throughput, low-latency index maintenance capabilities for high-frequency data update scenarios, significantly improving the overall performance of the system under real-time analysis loads.

[0057] In some embodiments, in response to a data read operation for an index key value, a read timestamp associated with the data read operation is obtained; a first target bitmap version whose timestamp matches the read timestamp is determined from a first bitmap chain based on the read timestamp; a second target bitmap version whose timestamp matches the read timestamp is determined from a second bitmap chain based on the read timestamp; and a read result for the data read operation is generated based on the bitmap data of the first target bitmap version and the second target bitmap version.

[0058] In some embodiments, when a data read request is received, such as querying all employees of the "R&D Department" at a certain historical time (e.g., TS=1010), the read timestamp associated with the read operation (i.e., TS=1010) can be obtained first. Then, based on this read timestamp, the first bitmap chain is traversed to determine the one with the smallest time difference, TS=1008, as the first target bitmap version. Simultaneously, the second bitmap chain corresponding to the "R&D Department" is determined to have timestamps less than TS=1009, as the second target bitmap version. Finally, a bitwise AND operation is performed on the bitmap data of these first and second target bitmap versions. All bits that are "1" in the resulting bitmap identify all "R&D Department" employee records that were not deleted at TS=1010. This bitmap represents the read result for the data read operation.

[0059] In this way, by separating the version positioning of the first and second bitmap chains and obtaining consistent historical snapshots based on the read timestamps, high-performance non-blocking read operations under multi-version concurrency control are achieved. This mechanism allows read operations to directly access historical version data without acquiring any write locks, completely avoiding read-write conflicts and write starvation issues, thereby greatly improving the system's concurrent throughput and response speed under read-intensive or mixed loads. Simultaneously, the query method based on bitmap AND operations inherits the native performance advantages of bitmap indexes in multi-condition filtering, ensuring high efficiency even when performing complex queries on large-scale data, providing strong index support for real-time data analysis.

[0060] Thus, by constructing a first bitmap chain for the target bitmap index in the data table and a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain contains multiple first bitmap versions linked in timestamp order and the second bitmap chain contains multiple second bitmap versions linked in timestamp order; in response to a data change operation on the index key value, the target timestamp and data change type of the data change operation are obtained, and the target bitmap chain is determined according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain; from the timestamps of the multiple bitmap versions included in the target bitmap chain, the target bitmap version whose timestamp matches the target timestamp is determined, and a data change operation is performed on the target bitmap data of the target bitmap version to generate a new bitmap version; the target bitmap chain is updated according to the new bitmap version to update the target bitmap index. As can be seen, the embodiments of this disclosure can achieve real-time dynamic updates of the bitmap index by selecting the target bitmap chain based on the change type and performing the change operation based on the target timestamp matching the bitmap version in the target bitmap chain to generate a new version during data change operations. This mechanism based on bitmap chain and precise timestamp matching effectively solves the problem of high maintenance overhead of traditional bitmap indexes under frequent data changes, balances the real-time performance and storage efficiency of bitmap index maintenance, and ensures the traceability of data change history through the versioned chain structure.

[0061] The foregoing primarily describes the solutions provided by the embodiments of this disclosure from the perspective of the server. It is understood that, in order to implement the above functions, the server includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this disclosure can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.

[0062] This disclosure embodiment can divide the server into functional units according to the above method example. For example, it can divide each function into separate functional modules, or it can integrate two or more functions into one management module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this disclosure embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0063] In the case of dividing each functional module according to its corresponding functions, an exemplary embodiment of this disclosure provides a bitmap index update device, which can be a server or a chip applied to a server. Figure 5 This is a schematic diagram of a bitmap index updating device provided in one embodiment of the present disclosure. Figure 5 As shown, the bitmap index update device 500 includes: The construction module 501 is used to construct a first bitmap chain for a target bitmap index in a data table, and to construct a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain contains multiple first bitmap versions linked in timestamp order, and the second bitmap chain contains multiple second bitmap versions linked in timestamp order. The acquisition module 502 is configured to, in response to a data change operation for the index key value, acquire the target timestamp and data change type of the data change operation, and determine the target bitmap chain according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain; The generation module 503 is used to determine, from the timestamps of multiple bitmap versions included in the target bitmap chain, a target bitmap version whose timestamp matches the target timestamp, and to perform the data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; The update module 504 is used to update the target bitmap chain according to the new bitmap version, so as to update the target bitmap index.

[0064] In an optional embodiment, the acquisition module 502 is further configured to determine the first bitmap chain and the second bitmap chain as the target bitmap chain when the data change operation is an insertion operation; determine the first bitmap chain as the target bitmap chain when the data change operation is a deletion operation; and determine the first bitmap chain and the second bitmap chain as the target bitmap chain when the data change operation is an update operation.

[0065] In an alternative embodiment, the generation module 503 is further configured to acquire an access lock for the target bitmap version; while the access lock is locked, perform the data modification operation on the target bitmap data of the target bitmap version to generate the new bitmap version; and after the data modification operation is completed, unlock the access lock.

[0066] In an alternative approach, the generation module 503 is further configured to determine the time difference between the timestamp of each of the plurality of bitmap versions and the target timestamp; and to determine the bitmap version with the smallest time difference as the target bitmap version.

[0067] In an alternative approach, the update module 504 is further configured to add the new bitmap version to the target bitmap chain according to the target timestamp in timestamp order, so as to update the target bitmap index.

[0068] In an alternative embodiment, the bitmap index update device 500 further includes a reading module 505, which, in response to a data read operation for the index key value, obtains a read timestamp associated with the data read operation; determines a first target bitmap version from the first bitmap chain whose timestamp matches the read timestamp based on the read timestamp; determines a second target bitmap version from the second bitmap chain whose timestamp matches the read timestamp based on the read timestamp; and generates a read result for the data read operation based on the bitmap data of the first target bitmap version and the second target bitmap version.

[0069] This disclosure also provides an electronic device, including: at least one processor; a memory for storing at least one processor-executable instruction; wherein the at least one processor is used to execute the instruction to implement the steps of the method disclosed in this disclosure.

[0070] Figure 6 This is a schematic diagram of the structure of an electronic device provided according to an embodiment of the present disclosure. Figure 6 As shown, the electronic device 600 includes at least one processor 601 and a memory 602 coupled to the processor 601. The processor 601 can perform the corresponding steps in the methods disclosed in the embodiments of this disclosure.

[0071] The processor 601 described above can also be referred to as a Central Processing Unit (CPU), which can be an integrated circuit chip with signal processing capabilities. Each step in the method disclosed in this embodiment can be implemented by the integrated logic circuitry in the processor 601 or by software instructions. The processor 601 can be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this embodiment can be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules can be located in the memory 602, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The processor 601 reads information from the memory 602 and, in conjunction with its hardware, completes the steps of the method described above.

[0072] Furthermore, various operations / processes according to this disclosure, implemented via software and / or firmware, can be transmitted from a storage medium or network to a computer system with a dedicated hardware architecture, for example, Figure 7 The computer system 700 shown is equipped with the programs that constitute the software. When various programs are installed, the computer system is able to perform various functions, including functions such as those mentioned above. Figure 7 This is a schematic diagram of the structure of a computer system provided in an embodiment of the present disclosure.

[0073] Computer system 700 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0074] like Figure 7As shown, the computer system 700 includes a computing unit 701, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of the computer system 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0075] Multiple components in the computer system 700 are connected to the I / O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 can be any type of device capable of inputting information into the computer system 700. The input unit 706 can receive input numerical or character information and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 707 can be any type of device capable of presenting information and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. The storage unit 708 may include, but is not limited to, a hard disk and an optical disk. The communication unit 709 allows the computer system 700 to exchange information / data with other devices via a network such as the Internet, and may include, but is not limited to, a modem, network card, infrared communication device, wireless communication transceiver, and / or chipset, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0076] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above. For example, in some embodiments, the methods disclosed in this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on an electronic device via ROM 702 and / or communication unit 709. In some embodiments, the computing unit 701 can be configured to perform the methods disclosed in this disclosure by any other suitable means (e.g., by means of firmware).

[0077] This disclosure also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the methods disclosed in this disclosure.

[0078] The computer-readable storage medium in this disclosure can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The aforementioned computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specifically, the aforementioned computer-readable storage medium may include electrical connections based on 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 devices, magnetic storage devices, or any suitable combination of the foregoing.

[0079] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0080] Figure 8 This is a schematic diagram of a computer program product provided according to an embodiment of the present disclosure. Figure 8 As shown, the computer program product 800 includes a computer program 801, which, when executed by a processor, implements the methods disclosed in the embodiments of this disclosure.

[0081] In embodiments of this disclosure, computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or it can be connected to an external computer.

[0082] 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 this disclosure. 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 the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can 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.

[0083] The modules, components, or units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules, components, or units do not necessarily constitute a limitation on the module, component, or unit itself.

[0084] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that can be used include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0085] The above description is merely an illustration of some embodiments of this disclosure and the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0086] While specific embodiments of this disclosure have been described in detail by way of example, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.

Claims

1. A bitmap index update method, characterized in that, include: A first bitmap chain is constructed for a target bitmap index in a data table, and a second bitmap chain is constructed for at least one index key value in the target bitmap index, wherein the first bitmap chain contains multiple first bitmap versions linked in timestamp order, and the second bitmap chain contains multiple second bitmap versions linked in timestamp order. In response to a data change operation on the index key value, the target timestamp and data change type of the data change operation are obtained, and a target bitmap chain is determined according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain; From the timestamps of multiple bitmap versions included in the target bitmap chain, determine the target bitmap version whose timestamp matches the target timestamp, and perform the data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; The target bitmap chain is updated according to the new bitmap version to update the target bitmap index.

2. The method according to claim 1, characterized in that, Determining the target bitmap chain based on the data change type includes: When the data change operation is an insertion operation, the first bitmap chain and the second bitmap chain are determined to be the target bitmap chain; When the data change operation is a deletion operation, the first bitmap chain is determined to be the target bitmap chain; When the data change operation is an update operation, the first bitmap chain and the second bitmap chain are determined as target bitmap chains.

3. The method according to claim 1, characterized in that, The method of performing the data modification operation on the target bitmap data of the target bitmap version to generate a new bitmap version further includes: Obtain the access lock for the target bitmap version; When the access lock is locked, the data modification operation is performed on the target bitmap data of the target bitmap version to generate the new bitmap version; After the data change operation is completed, the access lock is opened.

4. The method according to claim 1, characterized in that, The step of determining the target bitmap version whose timestamp matches the target timestamp from the timestamps of multiple bitmap versions included in the target bitmap chain includes: Determine the time difference between the timestamp of each of the multiple bitmap versions and the target timestamp; The bitmap version with the smallest time difference is determined as the target bitmap version.

5. The method according to claim 1, characterized in that, The step of updating the target bitmap chain according to the new bitmap version to update the target bitmap index includes: According to the timestamp order, the new bitmap version is added to the target bitmap chain based on the target timestamp to update the target bitmap index.

6. The method according to claim 1, characterized in that, The method further includes: In response to a data read operation for the index key value, obtain the read timestamp associated with the data read operation; Based on the read timestamp, determine the first target bitmap version from the first bitmap chain whose timestamp matches the read timestamp; Based on the read timestamp, a second target bitmap version whose timestamp matches the read timestamp is determined from the second bitmap chain; Based on the bitmap data of the first target bitmap version and the second target bitmap version, a read result is generated for the data read operation.

7. A bitmap index updating device, characterized in that, include: A building module is configured to build a first bitmap chain for a target bitmap index in a data table and to build a second bitmap chain for at least one index key value in the target bitmap index, wherein the first bitmap chain contains multiple first bitmap versions linked in timestamp order and the second bitmap chain contains multiple second bitmap versions linked in timestamp order. The acquisition module is configured to, in response to a data change operation on the index key value, acquire the target timestamp and data change type of the data change operation, and determine the target bitmap chain according to the data change type, wherein the target bitmap chain includes at least one of the first bitmap chain and the second bitmap chain; The generation module is used to determine the target bitmap version whose timestamp matches the target timestamp from the timestamps of multiple bitmap versions included in the target bitmap chain, and to perform the data change operation on the target bitmap data of the target bitmap version to generate a new bitmap version; An update module is used to update the target bitmap chain according to the new bitmap version, so as to update the target bitmap index.

8. A computer device, comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 6.

10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 6.