A method and device for quickly screening new users
Through the file computing solution, the high-cost new user identification problem in the existing technology is solved, and low-cost new user identification of hundreds of millions of users is achieved, reducing the operating costs of advertisers.
Patent Information
- Application Number
- CN202211364792.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-02
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2042-11-02
AI Technical Summary
Existing technologies require the deployment of multiple database servers with powerful computing power when identifying new users, which increases advertisers' costs and requires large operation and maintenance resources.
The solution is based on file computing and supplemented by database storage. By obtaining the advertising identifier of the advertiser user, the directory is divided according to the user type, and the first n digits are extracted and stored in the corresponding file for comparison to identify new users.
A single server can be used to identify hundreds of millions of new users, reducing advertisers' server, development, and operation costs and meeting the needs of Internet products.
Smart Images

Figure CN115796953B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of new user de-duplication, and in particular to a method and device for quickly de-duplicating new users. BACKGROUND
[0002] Currently, Internet companies are facing the problem of finding partners online to promote new users. The partners responsible for promotion require the advertiser to provide two functions: one is whether the new users pulled by the partners are new users of the advertiser, and the other is whether the users promoted by the partners have become new users of the advertiser within a certain time after the promotion is completed, so as to settle accounts according to users.
[0003] In the prior art, a database is used for storage and calculation. Since the result of whether the partners are new users needs to be provided in real time, when the advertiser has billions of users, in order to achieve real-time performance, multiple database servers with strong computing power need to be deployed, or a method of dividing the database and table is adopted. Although the server resources are reduced to a certain extent, the opening and operation and maintenance resources are greatly increased, which greatly increases the cost of the advertiser. SUMMARY
[0004] The present disclosure provides a method and device for quickly de-duplicating new users.
[0005] According to a first aspect of the present disclosure, a method for quickly de-duplicating new users is provided. The method comprises:
[0006] obtaining an advertisement identifier of a user accumulated by an advertiser;
[0007] storing the advertisement identifier of the user accumulated by the advertiser in a corresponding directory according to a user type, extracting the first n bits of the advertisement identifier of the user accumulated by the advertiser, and storing the first n bits in a corresponding file under the corresponding directory, wherein n is a positive integer greater than or equal to 1;
[0008] when an advertisement identifier of a new user is pushed, extracting the first n bits of the advertisement identifier of the new user, and searching a corresponding file under a corresponding directory according to the first n bits of the advertisement identifier of the new user;
[0009] comparing the advertisement identifier of the new user with the advertisement identifier of the user accumulated by the advertiser in the file; if the comparison result is the same, returning an old user; if the comparison result is different, returning a new user.
[0010] According to any possible implementation of the above-mentioned aspect, a further implementation is provided, wherein the method further comprises, before the step of obtaining the advertisement identifier of the user accumulated by the advertiser:
[0011] distinguishing the user type according to the advertisement identifier;
[0012] According to the user type, a corresponding directory is established;
[0013] Under the directory, a corresponding file is established.
[0014] As the above-mentioned aspect and any possible implementation, further provides an implementation, the above-mentioned under the directory, the establishment of a corresponding file, comprising:
[0015] Under the directory, a file name is generated according to the combination of the first n digits, and a corresponding file is established.
[0016] As the above-mentioned aspect and any possible implementation, further provides an implementation,
[0017] The file is arranged in ascending order of file name.
[0018] As the above-mentioned aspect and any possible implementation, further provides an implementation, the advertisement identifier in the file is arranged in ascending order.
[0019] According to the second aspect of the present disclosure, a new user's quick duplicate removal device is provided. The device comprises:
[0020] The acquisition module is used to acquire the advertisement identifier of the user accumulated by the advertiser;
[0021] The extraction module is used to divide the advertisement identifier of the user accumulated by the advertiser into a corresponding directory according to the user type, extract the first n digits of the advertisement identifier accumulated by the advertiser, and store them in a corresponding file under the corresponding directory, wherein n is a positive integer greater than or equal to 1;
[0022] The search module is used to extract the first n digits of the advertisement identifier of the new user when the advertisement identifier of the new user is pushed, and search the corresponding file under the corresponding directory according to the first n digits of the advertisement identifier of the new user.
[0023] The comparison module is used to compare the advertisement identifier of the new user with the advertisement identifier of the advertiser accumulated in the file; if the comparison result is the same, the old user is returned; if the comparison result is different, the new user is returned.
[0024] As the above-mentioned aspect and any possible implementation, further provides an implementation, the acquisition module is further used to distinguish the user type according to the advertisement identifier; a corresponding directory is established according to the user type; a corresponding file is established under the directory.
[0025] According to the aspect and any possible implementation manner described above, further provided is an implementation manner, the extraction module is used for classifying the accumulated user advertisement identifiers of the advertisement owner into corresponding directories according to user types, extracting the first n bits of the accumulated advertisement identifiers of the advertisement owner, arranging the advertisement identifiers in ascending order, and storing the advertisement identifiers into corresponding files in the corresponding directories, wherein n is a positive integer greater than or equal to 1.
[0026] According to a third aspect of the present disclosure, an electronic device is provided. The electronic device comprises a memory and a processor, the memory has a computer program stored thereon, and the processor implements the method described above when executing the program.
[0027] According to a fourth aspect of the present disclosure, a computer readable storage medium is provided, and the computer readable storage medium has a computer program stored thereon, and the program is executed by a processor to implement the method according to the first aspect and / or the second aspect of the present disclosure.
[0028] The technical solution provided by the embodiments of the present application can have the following beneficial effects:
[0029] The scheme of mainly using file calculation and supplementally using database storage is adopted, one server is used to complete the new user judgment and retrieval demand of the advertisement owner with an order of hundreds of millions of users, the server cost, development cost and operation and maintenance cost of the advertisement owner are reduced, the demand of the advertisement owner of the current Internet product is met, and the technical solution has good economic significance and social significance.
[0030] It should be understood that the content described in the summary section is not intended to limit the key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent through the following description. BRIEF DESCRIPTION OF DRAWINGS
[0031] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent by describing in detail the following embodiments with reference to the attached drawings. The accompanying drawings are used to better understand the present disclosure and do not limit the present disclosure. In the drawings, the same or similar reference numerals refer to the same or similar elements, and:
[0032] Figure 1 A flow chart of a new user rapid deduplication method according to an embodiment of the present disclosure is shown;
[0033] Figure 2 A block diagram of a new user rapid deduplication device according to an embodiment of the present disclosure is shown;
[0034] Figure 3 A block diagram of an exemplary electronic device capable of implementing the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0035] The technical solutions and advantages of the embodiments of the present disclosure will be more apparent, which will be described clearly and completely below with reference to the drawings of the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present disclosure.
[0036] In addition, the term "and / or" herein is only used to describe the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent three cases of A alone, A and B together, and B alone. In addition, the character " / " herein generally represents an "or" relationship between the front and rear associated objects.
[0037] In the present disclosure, an intelligent power peak judgment and distribution method is provided to provide accurate data for the field of intelligent power distribution.
[0038] Figure 1 A flowchart of a new user rapid deduplication method 100 according to an embodiment of the present disclosure is shown.
[0039] As shown in Figure 1 The new user rapid deduplication method includes:
[0040] S101: Obtain the advertisement identifiers of users accumulated by an advertiser;
[0041] S102: According to the user type, the advertisement identifiers of users accumulated by the advertiser are divided into corresponding directories, the first n bits of the advertisement identifiers accumulated by the advertiser are extracted, and stored in the corresponding files under the corresponding directories, wherein n is a positive integer greater than or equal to 1;
[0042] S103: When a new user's advertisement identifier is pushed, the first n bits of the new user's advertisement identifier are extracted, and the corresponding file under the corresponding directory is searched according to the first n bits of the new user's advertisement identifier;
[0043] S104: Compare the new user's advertisement identifier with the advertisement identifiers accumulated by the advertiser in the file; if the comparison result is the same, return the old user; if the comparison result is different, return the new user.
[0044] In some embodiments, before obtaining the advertisement identifiers of users accumulated by the advertiser, the method further includes:
[0045] According to the advertisement identifier, the user type is distinguished;
[0046] According to the user type, the corresponding directory is established;
[0047] Under the directory, the corresponding file is established.
[0048] In some embodiments, the establishing the corresponding file under the directory comprises:
[0049] Under the directory, the file name is generated according to the combination of the first n digits, and the corresponding file is established.
[0050] In some embodiments, the files are arranged in order of file name from small to large.
[0051] In some embodiments, the advertisement identifiers in the file are arranged in order from small to large.
[0052] In some embodiments, the advertiser distinguishes the existing users before launching the advertisement. For Apple users, the advertisement identifier idfa provided by Apple is a 32-bit hexadecimal number. For Android users, there are two types. One is imie, which is a 15-17-bit hexadecimal number. The other is oaid, which is a 64-bit hexadecimal number.
[0053] In some embodiments, a server with a centos system is used to establish different directories for different types of users. For example, the directory idfa is established for Apple users, and the directories imie and oaid are established for Android users. Each directory is used to retrieve different users. Under the directory, the file name is generated according to the combination of the first 4 digits, and the corresponding file is established. There are 65536 files from 0000, 0001, 0002 to FFFF. The method of using 4 digits to establish files is more efficient than the method of using 3 digits, 5 digits, or the method of establishing the first two digits as a folder and the last 3 digits as a directory. If the user has only ten million users, the first 3 digits are used to establish the file. However, the retrieval efficiency of 3 digits and 4 digits is not much different.
[0054] In some embodiments, the files are arranged in order of file name from small to large, reducing the retrieval time.
[0055] In some embodiments, the advertisement mark identifiers of the users accumulated by the advertisers are divided into different categories according to the user types, the first four digits of the advertisement mark identifiers are extracted and put into corresponding files, the idfa of all the apple users of the advertisers are divided into 65536 files, the manufacturer randomly allocates numbers, when the users have sufficient quantity, the number of users allocated to each file is almost the same, each file has 10,000 users, that is, after deduplication, the total number of users is more than 600 million, the system speed is still stable, and the demand of most Internet companies is met. A machine with two Xeon E5-2620 v3 2.40GHz cpus and 128G memory can return whether 1000 users of an advertiser can be promoted at the same time within 2 seconds.
[0056] After the users of the advertisers are allocated, the advertisement mark identifiers in each file are still sorted from small to large, which can greatly improve the retrieval efficiency.
[0057] In some embodiments, when the advertiser pushes the advertisement mark identifier of a new user, the first four digits of the advertisement mark identifier of the new user are taken out, the corresponding file is found, and the advertisement mark identifier of the new user is compared with the advertisement mark identifiers of several hundred or several thousand users of the advertiser in the file. If the comparison result is the same, the old user is returned, and if the comparison result is different, the new user is returned.
[0058] In some embodiments, the new users pushed by the advertiser are recorded separately, and the old users and the new users are identified. The maximum number is one million.
[0059] According to the embodiments of the present disclosure, the following technical effects are achieved:
[0060] The scheme of mainly using file calculation and supplementarily using database storage is adopted, one server is used to complete the new user judgment and retrieval demand of advertisers with a user base of one hundred million, the server cost, development cost and operation and maintenance cost of the advertiser are reduced, the demand of the advertisers of the current Internet product is met, and there is good economic significance and social significance.
[0061] It should be noted that, for the foregoing method embodiments, in order to simply describe, they are all expressed as a series of action combinations, but those skilled in the art should know that the present disclosure is not limited by the action sequence described, because according to the present disclosure, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.
[0062] The above is the introduction of the method embodiment, and the scheme described in the present disclosure will be further described through the device embodiment.
[0063] Figure 2A block diagram of a new user's quick deduplication device 200 is shown according to an embodiment of the present disclosure.
[0064] As shown in the figure, the device 200 comprises: Figure 2
[0065] An acquisition module 201 is configured to acquire an advertisement identifier of a user accumulated by an advertisement principal;
[0066] An extraction module 202 is configured to divide the advertisement identifier of the user accumulated by the advertisement principal into corresponding directories according to a user type, extract the first n bits of the advertisement identifier accumulated by the advertisement principal, and store the first n bits into a corresponding file under the corresponding directory, where n is a positive integer greater than or equal to 1.
[0067] A search module 203 is configured to extract the first n bits of an advertisement identifier of a new user when the advertisement identifier of the new user is pushed, and search a corresponding file under a corresponding directory according to the first n bits of the advertisement identifier of the new user.
[0068] A comparison module 204 is configured to compare the advertisement identifier of the new user with the advertisement identifier of the user accumulated by the advertisement principal in the file. If the comparison result is the same, an old user is returned. If the comparison result is different, a new user is returned.
[0069] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the described modules can refer to the corresponding process in the foregoing method embodiments, which will not be described herein.
[0070] In the technical solution of the present disclosure, the acquisition, storage and application of user personal information comply with relevant laws and regulations and do not violate public order and good customs.
[0071] According to the embodiments of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium and a computer program product.
[0072] Figure 3 A schematic block diagram of an electronic device 300 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present disclosure described and / or claimed in this document.
[0073] The electronic device 300 includes a computing unit 301 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 302 or a computer program loaded into a random access memory (RAM) 303 from a storage unit 308. In the RAM 303, various programs and data required for the operation of the device 300 can also be stored. The computing unit 301, the ROM 302, and the RAM 303 are connected to each other through a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.
[0074] A plurality of components in the electronic device 300 are connected to the I / O interface 305, including an input unit 306, such as a keyboard, a mouse, and the like, an output unit 307, such as various types of displays, a speaker, and the like, a storage unit 308, such as a magnetic disk, an optical disk, and the like, and a communication unit 309, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 309 allows the device 300 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0075] The computing unit 301 can be various general and / or special-purpose processing components having processing and computing capabilities. Some examples of the computing unit 301 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 appropriate processor, controller, microcontroller, and the like. The computing unit 301 performs various methods and processes described above, such as the method 100. For example, in some embodiments, the method 100 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 308. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 300 via the ROM 302 and / or the communication unit 309. When the computer program is loaded into the RAM 303 and executed by the computing unit 301, one or more steps of the method 300 described above can be performed. Alternatively, in other embodiments, the computing unit 301 can be configured to perform the method 300 by any other appropriate means, such as by means of firmware.
[0076] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a load programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0077] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, or entirely on a remote machine or server.
[0078] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0079] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; 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 acoustic, speech, or tactile input.
[0080] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0081] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0082] It should be understood that various forms of flow shown above can be used, with steps reordered, added, or removed. For example, the steps recited in the present disclosure can be performed in parallel, in series, or in a different order, without limitation, as long as the desired results of the technology disclosed in the present disclosure are achieved.
[0083] The specific embodiments described above are not intended to limit the scope of the present disclosure. Those skilled in the art will understand that various modifications, combinations, sub-combinations, and alternatives can be made to the specific embodiments without departing from the spirit and principles of the present disclosure. Any further modifications, equivalent substitutions, improvements, and the like, either alone or in some combination or sub-combination, are intended to be included within the scope of the present disclosure.
Claims
1. A method for quickly eliminating duplicates for new users, comprising: Obtain the advertising identifiers of users accumulated by advertisers; sorting the advertising identifiers of users accumulated by the advertiser into corresponding directories according to user types, extracting the first n digits of the advertising identifiers accumulated by the advertiser, and storing them in corresponding files under the corresponding directories, where n is a positive integer greater than or equal to 1; When a new user's advertising identifier is pushed, extract the first n digits of the new user's advertising identifier and search for the corresponding file in the corresponding directory based on the first n digits of the new user's advertising identifier; The advertising identifier of the new user is compared with the advertising identifiers accumulated by the advertiser in the file; if the comparison results are the same, the old user is returned; if the comparison results are different, the new user is returned.
2. The method according to claim 1, characterized in that Before obtaining the advertising identifiers of users accumulated by advertisers, the method further includes: Differentiate user types based on advertising identifiers; Establish a corresponding directory according to the user type; Create corresponding files in the directory.
3. The method according to claim 2, characterized in that In the directory, create corresponding files, including: In the directory, a file name is generated according to the combination of the first n digits, and a corresponding file is created.
4. The method according to claim 3, characterized in that The files are arranged in ascending order of file names.
5. The method according to claim 1, wherein The advertisement identifiers in the file are arranged in ascending order.
6. A device for quickly removing duplicates for new users, comprising: An acquisition module, used to obtain the advertising identifiers of users accumulated by advertisers; an extraction module, configured to sort the advertising identifiers of users accumulated by the advertiser into corresponding directories according to user types, extract the first n digits of the advertising identifiers accumulated by the advertiser, and store them in corresponding files under the corresponding directories, where n is a positive integer greater than or equal to 1; A search module is used to extract the first n digits of the advertisement identifier of a new user when the advertisement identifier of the new user is pushed, and search for the corresponding file in the corresponding directory according to the first n digits of the advertisement identifier of the new user; The comparison module is used to compare the advertisement identifier of the new user with the advertisement identifiers accumulated by the advertiser in the file; if the comparison results are the same, the old user is returned; if the comparison results are different, the new user is returned.
7. The device according to claim 6, characterized in that The acquisition module is further configured to distinguish user types according to the advertisement identifier; establish a corresponding directory according to the user type; and establish a corresponding file under the directory.
8. The device according to claim 6, characterized in that The extraction module is used to classify the advertising identifiers of users accumulated by the advertiser into corresponding directories according to user type, extract the first n digits of the advertising identifiers accumulated by the advertiser, arrange the advertising identifiers in ascending order, and store them in corresponding files under the corresponding directories, where n is a positive integer greater than or equal to 1.
9. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 5.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method for storing mass data
CN102779166A
Location-based service system and method
CN102915503A