Database updating method and device, equipment and medium
By comparing the feature-based screening criteria of population data in the database, duplicate data can be identified and updated, solving the problem of low efficiency in updating duplicate data in existing technologies and achieving more efficient data processing and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING BAIDU NETCOM SCI & TECH CO LTD
- Filing Date
- 2022-11-24
- Publication Date
- 2026-05-29
AI Technical Summary
In existing technologies, databases fail to effectively identify and process duplicate population data, resulting in low data update efficiency and the consumption of a large amount of data processing resources.
By comparing the data of the first and second groups based on user characteristic filtering conditions, duplicate data is identified, and updates are performed only on the target group data, thereby improving data update efficiency.
It improves the efficiency of database updates, reduces the consumption of hardware resources, and ensures the accuracy and efficiency of data updates.
Smart Images

Figure CN115905257B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more particularly to the field of database technology, specifically to a database updating method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] With the continuous development of database technology, database-based applications and services can be applied to various scenarios. User profile databases can include massive amounts of user profile data, and this data can be divided into different user groups to support personalized recommendations and other services.
[0003] The methods described in this section are not necessarily methods that had been previously conceived or adopted. Unless otherwise specified, no method described in this section should be assumed to be prior art simply because it is included in this section. Similarly, unless otherwise specified, the issues mentioned in this section should not be considered to be accepted in any prior art. Summary of the Invention
[0004] This disclosure provides a method, apparatus, electronic device, computer-readable storage medium, and computer program product for updating a database.
[0005] According to one aspect of this disclosure, a database update method is provided, comprising: acquiring first population data including a plurality of first user identifiers and second population data including a plurality of second user identifiers, wherein each population data in the first population data and the second population data is obtained by filtering the plurality of user identifiers based on corresponding user feature filtering conditions and user features corresponding to the plurality of user identifiers; determining whether the first population data and the second population data are duplicate data based on a first filtering condition corresponding to the first population data and a second filtering condition corresponding to the second population data; in response to determining that the first population data and the second population data are duplicate data, determining target population data from the first population data and the second population data; and in response to receiving an update request for either the first population data or the second population data, updating the target population data.
[0006] According to another aspect of this disclosure, a database updating apparatus is provided, comprising: an acquisition unit configured to acquire first population data including a plurality of first user identifiers and second population data including a plurality of second user identifiers, wherein each population data in the first population data and the second population data is obtained by filtering the plurality of user identifiers based on corresponding user feature filtering conditions and user features corresponding to the plurality of user identifiers; a first determination unit configured to determine whether the first population data and the second population data are duplicate data based on a first filtering condition corresponding to the first population data and a second filtering condition corresponding to the second population data; a second determination unit configured to determine target population data from the first population data and the second population data in response to determining that the first population data and the second population data are duplicate data; and an update unit configured to update the target population data in response to receiving an update request for either the first population data or the second population data.
[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the database update method described above.
[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the above-described database update method.
[0009] According to another aspect of this disclosure, a computer program product is provided, including a computer program, wherein the computer program, when executed by a processor, is capable of implementing the above-described database update method.
[0010] According to one or more embodiments of this disclosure, database update efficiency can be improved and processing resources can be saved.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0012] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0013] Figure 1 A schematic diagram of an exemplary system in which various methods described herein may be implemented, according to exemplary embodiments of the present disclosure;
[0014] Figure 2 A flowchart illustrating a database update method according to an exemplary embodiment of the present disclosure is shown;
[0015] Figure 3 A schematic diagram illustrating a data query process according to an exemplary embodiment of the present disclosure is shown;
[0016] Figure 4 A schematic diagram illustrating a data query process according to an exemplary embodiment of the present disclosure is shown;
[0017] Figure 5 A structural block diagram of a database updating apparatus according to an exemplary embodiment of the present disclosure is shown;
[0018] Figure 6 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation
[0019] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0020] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.
[0021] The terminology used in the description of the various examples described in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.
[0022] In related technologies, update operations are usually performed separately for multiple population data that already exist in the database. However, this fails to identify duplicate data, which may result in repeated data updates for duplicate population data. This is inefficient and consumes a lot of data processing resources.
[0023] Based on this, this disclosure provides a database update method that compares existing first and second population data based on the filtering conditions used when each population data was created to determine whether the two are duplicates. For duplicate data, updates are performed only on the target population data to improve data update efficiency and reduce resource consumption.
[0024] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.
[0025] Figure 1 A schematic diagram of an exemplary system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of this disclosure is shown. Reference Figure 1 The system 100 includes one or more client devices 101, 102, 103, 104, 105 and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105 and 106 can be configured to execute one or more applications.
[0026] In embodiments of this disclosure, server 120 may run one or more services or software applications that enable the execution of database update methods.
[0027] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, such as to users of client devices 101, 102, 103, 104, 105, and / or 106 under a Software as a Service (SaaS) model.
[0028] exist Figure 1 In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 can sequentially interact with server 120 using one or more client applications to utilize the services provided by these components. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, Figure 1This is an example of a system used to implement the various methods described herein, and is not intended to be limiting.
[0029] Users can use client devices 101, 102, 103, 104, 105, and / or 106 to send at least one of update requests and query requests. The client devices can provide an interface that allows users to interact with the client devices. The client devices can also output information to the user through this interface. Although... Figure 1 Only six client devices are described, but those skilled in the art will understand that this disclosure can support any number of client devices.
[0030] Client devices 101, 102, 103, 104, 105, and / or 106 may include various categories of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors, or other sensing devices. These computer devices can run various categories and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as Google Chrome OS); or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablets, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices can run a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications), short message service (SMS) applications, and can use various communication protocols.
[0031] Network 110 can be any type of network well known to those skilled in the art, and can use any of a variety of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.) to support data communication. By way of example only, one or more networks 110 can be a local area network (LAN), an Ethernet-based network, a token ring network, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.
[0032] Server 120 may include one or more general-purpose computers, special-purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0033] The computing unit in server 120 can run one or more operating systems, including any of the aforementioned operating systems and any commercially available server operating system. Server 120 can also run any of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0034] In some implementations, server 120 may include one or more applications to analyze and merge data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
[0035] In some implementations, server 120 can be a server for a distributed system or a server integrated with blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in the cloud computing service system, designed to address the shortcomings of traditional physical hosts and Virtual Private Server (VPS) services, such as high management difficulty and weak business scalability.
[0036] System 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. Databases 130 may reside in various locations. For example, a database used by server 120 may be local to server 120, or it may be located away from server 120 and may communicate with server 120 via a network-based or dedicated connection. Databases 130 may be of different categories. In some embodiments, the database used by server 120 may be, for example, a relational database. One or more of these databases may store, update, and retrieve data from and from the databases in response to commands.
[0037] In some embodiments, one or more of the databases 130 may also be used by an application to store application data. The databases used by the application may be different categories of databases, such as key-value stores, object stores, or regular stores supported by a file system.
[0038] Figure 1 The system 100 can be configured and operated in various ways to enable the application of the various methods and apparatus described in this disclosure.
[0039] Figure 2 A flowchart of a database update method 200 according to an exemplary embodiment of the present disclosure is shown, the database including multiple population data. Figure 2 As shown, method 200 includes:
[0040] Step S201: Obtain first group data including multiple first user identifiers and second group data including multiple second user identifiers, wherein each group data in the first group data and the second group data is obtained by filtering the multiple user identifiers based on corresponding user feature filtering conditions and user features corresponding to the multiple user identifiers;
[0041] Step S202: Based on the first filtering condition corresponding to the first population data and the second filtering condition corresponding to the second population data, determine whether the first population data and the second population data are duplicate data;
[0042] Step S203: In response to determining that the first population data and the second population data are duplicate data, determine the target population data from the first population data and the second population data; and
[0043] Step S204: In response to receiving an update request for either the first population data or the second population data, update the target population data.
[0044] Therefore, when existing population data in the database is obtained by filtering multiple user identifiers based on user characteristic filtering conditions and user characteristics corresponding to multiple user identifiers, comparisons can be made based on the corresponding filtering conditions for each population data to determine whether duplicate data exists. For duplicate data, target population data is identified and updates are performed only on the target population data to improve data update efficiency and reduce the hardware resource consumption during the data update process.
[0045] In some examples, step S202 may involve determining that the first population data and the second population data are duplicate data in response to determining that the first screening condition is the same as the second screening condition.
[0046] In some examples, it may be possible to obtain a larger amount of population data, such as obtaining third population data including multiple third user identifiers, and determining whether there is duplicate data in these three groups of population data based on the third filtering conditions corresponding to the third population data and the first and second filtering conditions.
[0047] In some examples, when the received update request indicates that the filtering criteria for any population data need to be changed, the above determination steps need to be repeated to determine whether there is duplicate data in the updated multiple population data.
[0048] According to some embodiments, the user characteristics corresponding to each user identifier are determined based on the user's historical behavior data corresponding to that user identifier. Therefore, it is possible to determine a user's characteristics based on their historical behavior data, with each group of user data corresponding to users with different behavioral characteristics, facilitating support for personalized recommendations, personalized marketing, and other user-specific services.
[0049] In some examples, method 200 can be applied to a user profile database of a mobility service platform, such as an autonomous driving user platform, where the user profile includes a user identifier and corresponding user characteristics. In this example, the characteristics can be determined based on the user's historical behavioral data on the mobility service platform, such as the frequency and duration of the user's use of the platform.
[0050] Furthermore, corresponding filtering conditions can be designed based on user characteristics to classify multiple user profiles into different groups of data based on different filtering conditions. Each group of data includes at least a user identifier and may further include user characteristics corresponding to the user identifier.
[0051] In some examples, method 200 can be applied to user profile databases on other platforms, such as video streaming websites and e-commerce platforms. Thus, user characteristics can be determined based on historical behavioral data from video streaming websites or e-commerce platforms, such as the duration of video viewing on video streaming websites or the amount spent on e-commerce platforms; this disclosure does not limit this approach.
[0052] According to some embodiments, the first population data and the second population data also include a valid duration, and in step S203, in response to determining that the first population data and the second population data are duplicate data, the population data with the longer valid duration among the first population data and the second population data is determined as the target population data. Therefore, the population data with the longest valid duration among the duplicate data can be used as the target population data, ensuring that the validity of the population data is not affected.
[0053] The applicant noted that in real-world applications, databases typically need to provide data update or query services to multiple requesters.
[0054] Based on this, according to some embodiments, the update request includes update permissions, and in step S204, in response to receiving an update request for either the first population data or the second population data, and in response to determining that the update permissions meet preset conditions, the target population data is updated. Thus, permission information can be used to manage requesters sharing the database, and the update permissions included in the update request can be verified to improve the security of data updates.
[0055] According to some embodiments, method 200 further includes: in response to determining that the first population data and the second population data are duplicate data, and in response to determining that the first population data is not the target population data, marking the first population data as associated with the target population data; and in response to receiving a query request for the first population data, performing a data query using the target population data associated with the first population data. Thus, by establishing an association between non-target population data and target population data, when a query request for non-target population data is received, it can be associated with the corresponding target population data to ensure accurate query results.
[0056] According to some embodiments, associating the first population data with the target population data includes: adding a pointer to the target population data to the first population data, wherein, in response to receiving a query request for the first population data, and in response to determining that the first population data contains a pointer to the target population data, a data query is performed using the target population data associated with the first population data. Thus, by adding pointers, the association between non-target population data and target population data in duplicate data can be established, achieving simple and accurate data querying.
[0057] In some examples, the association between the first population data and the target population data can also be indicated in other ways. For example, labels can be added to the first population data to indicate that it overlaps with other population data and to indicate the target population data with which it is associated.
[0058] In some examples, when an update request for the first population data is received, the aforementioned pointer can also be used to determine the target population data associated with it, and then update the target population data.
[0059] In some examples, the query request may include query permissions, and in response to receiving a query request for either the first population data or the second population data, and in response to determining that the query permissions meet preset conditions, a data query is performed using the target population data. Thus, by verifying permissions on the query requests sent by the requester, data security can be improved and user privacy protected.
[0060] In some examples, corresponding permission information can also be configured for population data. For instance, multiple population data can be divided into public population data and private population data. When a query request for public population data is received, there is no need to verify the query permissions included in the query request; the query data can be returned directly. When a query request for private population data is received, the above steps are required to verify the query permissions of the requester. This improves the convenience of population data permission management in the database.
[0061] In some examples, the population data may further include user characteristics corresponding to user identifiers, and these user characteristics may include sub-characteristics corresponding to multiple fields. In this case, the query permissions may further include sub-permissions corresponding to multiple fields. This allows for improved data security by verifying the sub-permissions corresponding to the fields when a query request for a specific field in the population data is received.
[0062] In some examples, the update or query permissions may be represented in the form of a security key, and each requester's key may also contain the requester's identity information. Therefore, in one example, an identity verification middleware could be used to validate the update or query requests sent by the requester, thereby improving data security.
[0063] Figure 3 A schematic diagram of a data query process according to an exemplary embodiment of this disclosure is shown. See also Figure 3 In this example, the database contains public population data, private population data A, and private population data B. It also includes identity verification middleware to validate the query permissions of requesters. Requester A and requester B respectively have query permissions for private population data A and private population data B. Requesters can retrieve the corresponding query data by sending a query request to the database. Private population data A can return data to requester A, private population data B can return data to requester B, and public population data can return data to all requesters.
[0064] Figure 4 A schematic diagram of a data query process according to an exemplary embodiment of this disclosure is shown. See also Figure 4 In this example, population data C, population data D, and population data E are duplicate data, and population data E is the population data with the longest effective duration. Therefore, population data E can be identified as the target population data. Pointers to population data E are added to population data C and population data D, so that when a data query request for any population data is received, the data query can be executed using population data E and the query results can be returned.
[0065] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0066] According to another aspect of this disclosure, a database updating apparatus is also provided. Figure 5 A structural block diagram of a database updating apparatus 500 according to an exemplary embodiment of the present disclosure is shown. Figure 5 As shown, the device 500 includes:
[0067] The acquisition unit 501 is configured to acquire first population data including multiple first user identifiers and second population data including multiple second user identifiers, wherein each population data in the first population data and the second population data is obtained by filtering the multiple user identifiers based on corresponding user feature filtering conditions and user features corresponding to the multiple user identifiers;
[0068] The first determining unit 502 is configured to determine whether the first population data and the second population data are duplicate data based on the first filtering condition corresponding to the first population data and the second filtering condition corresponding to the second population data.
[0069] The second determining unit 503 is configured to determine target population data from the first population data and the second population data in response to determining that the first population data and the second population data are duplicate data; and
[0070] The update unit 504 is configured to update the target population data in response to receiving an update request for either the first population data or the second population data.
[0071] According to some embodiments, the apparatus 500 further includes a marking unit configured to mark the first population data as associated with the target population data in response to determining that the first population data and the second population data are duplicate data and in response to determining that the first population data is not the target population data; and a query unit configured to perform a data query using the target population data associated with the first population data in response to receiving a query request for the first population data.
[0072] According to some embodiments, the marking unit is configured to add a pointer to the target population data to the first population data, and wherein the query unit is configured to perform a data query using the target population data associated with the first population data in response to receiving a query request for the first population data and in response to determining that the first population data contains a pointer to the target population data.
[0073] According to some embodiments, the first population data and the second population data also include a valid duration, and wherein the second determining unit is configured to determine the population data with the longer valid duration among the first population data and the second population data as the target population data in response to determining that the first population data and the second population data are duplicate data.
[0074] According to some embodiments, the user characteristics corresponding to each user identifier are determined based on the user's historical behavior data corresponding to that user identifier.
[0075] According to some embodiments, the update request includes update permission, and wherein the update unit is configured to update the target population data in response to receiving an update request for either the first population data or the second population data, and in response to determining that the update permission meets preset conditions.
[0076] The operation of units 501-504 of device 500 is similar to the operation of steps S201-S204 described above, and will not be repeated here.
[0077] According to another aspect of this disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the database update method described above.
[0078] According to another aspect of this disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to cause the computer to perform the above-described database update method.
[0079] According to another aspect of this disclosure, a computer program product is also provided, comprising a computer program, wherein the computer program, when executed by a processor, implements the above-described database update method.
[0080] refer to Figure 6 The present invention describes a structural block diagram of an electronic device 600 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device 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. The electronic device can 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.
[0081] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.
[0082] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, output unit 607, storage unit 608, and communication unit 609. Input unit 606 can be any type of device capable of inputting information to device 600. Input unit 606 can receive input numerical or character information and generate key signal inputs related to user settings and / or function control of the electronic device, and may include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 607 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. Storage unit 608 may include, but is not limited to, a hard disk and an optical disk. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.
[0083] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 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 601 performs the various methods and processes described above, such as the database update method. For example, in some embodiments, the database update method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the database update method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the database update method by any other suitable means (e.g., by means of firmware).
[0084] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0085] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0086] In the context of this disclosure, a machine-readable medium 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. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, 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.
[0087] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0088] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.
[0089] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0090] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0091] While embodiments or examples of this disclosure have been described with reference to the accompanying drawings, it should be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the invention is not limited by these embodiments or examples, but only by the granted claims and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, the steps may be performed in a different order than that described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as the technology evolves, many elements described herein can be replaced by equivalents that appear after this disclosure.
Claims
1. A method for updating a database, the database comprising multiple population data, the method comprising: Acquire first group data including multiple first user identifiers and second group data including multiple second user identifiers, wherein each group data in the first group data and the second group data is obtained by filtering the multiple user identifiers based on corresponding user feature filtering conditions and user features corresponding to the multiple user identifiers; In response to determining that the first screening condition corresponding to the first population data and the second screening condition corresponding to the second population data are the same, it is determined that the first population data and the second population data are duplicate data; In response to determining that the first population data and the second population data are duplicate data, one of the first population data and the second population data is determined to be the target population data; Associate the target population data with the first population data and the second population data that are not part of the target population data. In response to receiving a query request for population data in the first population data and the second population data that is not part of the target population data, the system uses association tagging information to determine the target population data and performs a data query using the target population data; and In response to receiving an update request for either the first population data or the second population data, the target population data is updated.
2. The method as described in claim 1, wherein, When the first population data is not the target population data, associating the first population data with the target population data includes: Add a pointer to the target population data to the first population data. Furthermore, in response to receiving a query request for the first population data, and in response to determining that the first population data contains a pointer to the target population data, a data query is performed using the target population data associated with the first population data.
3. The method as described in claim 1, wherein, The first and second population data also include the effective duration. Furthermore, in response to determining that the first population data and the second population data are duplicate data, the population data with the longer effective duration among the first population data and the second population data is determined as the target population data.
4. The method of claim 1, wherein, The user characteristics corresponding to each user identifier are determined based on the user's historical behavior data corresponding to that user identifier.
5. The method according to any one of claims 1-4, wherein, The update request includes update permissions. Furthermore, in response to receiving an update request for either the first population data or the second population data, and in response to determining that the update permission meets preset conditions, the target population data is updated.
6. A database updating apparatus, the database comprising multiple population data, the apparatus comprising: The acquisition unit is configured to acquire first population data including multiple first user identifiers and second population data including multiple second user identifiers, wherein each population data in the first population data and the second population data is obtained by filtering the multiple user identifiers based on corresponding user feature filtering conditions and user features corresponding to the multiple user identifiers; The first determining unit determines that the first population data and the second population data are duplicate data in response to determining that the first screening condition corresponding to the first population data and the second screening condition corresponding to the second population data are the same. The second determining unit is configured to determine one of the first population data and the second population data as target population data in response to determining that the first population data and the second population data are duplicate data; The tagging unit is configured to associate population data that is not part of the target population data in the first population data and the second population data with the target population data. The query unit is configured to, in response to receiving a query request for population data in the first population data and the second population data that is not part of the target population data, determine the target population data using association tagging information and perform a data query using the target population data; and The update unit is configured to update the target population data in response to receiving an update request for either the first population data or the second population data.
7. The apparatus of claim 6, wherein, When the first population data is not the target population data, the tagging unit is configured as follows: Add a pointer to the target population data to the first population data. Furthermore, the query unit is configured to perform a data query using the target population data associated with the first population data in response to receiving a query request for the first population data and in response to determining that the first population data contains a pointer to the target population data.
8. The apparatus of claim 6, wherein, The first and second population data also include the effective duration. Furthermore, the second determining unit is configured to, in response to determining that the first population data and the second population data are duplicate data, determine the population data with the longer effective duration among the first population data and the second population data as the target population data.
9. The apparatus of claim 6, wherein, The user characteristics corresponding to each user identifier are determined based on the user's historical behavior data corresponding to that user identifier.
10. The apparatus according to any one of claims 6-9, wherein, The update request includes update permissions. Furthermore, the update unit is configured to update the target population data in response to receiving an update request for either the first population data or the second population data, and in response to determining that the update permission meets preset conditions.
11. An electronic device, comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; in The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
12. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-5.
13. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method according to any one of claims 1-5.