Device identity generation method and apparatus
By obtaining multiple device codes on the client and generating a unique device identifier using the server's duplicate device code library, the problem of non-unique device identifiers is solved, improving the accuracy of data statistics and services.
Patent Information
- Application Number
- CN202510540590.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2045-04-25
AI Technical Summary
In existing technologies, device identifiers may not be unique, making it difficult for service providers to accurately identify different clients, which affects the accuracy of data statistics and services.
By obtaining multiple device codes locally on the client, generating a code query request and sending it to the server, the target device code is determined using a preset duplicate device code library, and a unique target device identifier is generated.
Improve the speed and accuracy of deduplication of device codes, ensure the uniqueness of target device identification, and improve the accuracy of data statistics and services.
Smart Images

Figure CN120509059B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of identification coding of equipment, product electronic coding, and Internet of Things coding, and in particular to a device identification generation method and device, a computer device, a computer readable storage medium, and a computer program product. BACKGROUND
[0002] A service provider uses a device identification to identify a client using a service provided by the service provider. The device identification can be used to solve data statistics and service precision problems. The device identification can be generated based on various device IDs of the client, such as an IMEI, an Android ID, a MAC address, and the like. However, such a device identification can not be unique, which can result in the same device identification being generated for different clients, so that the service provider cannot accurately identify different clients.
[0003] It should be noted that the above content is not necessarily prior art, and is not used to limit the patent protection scope of the present application. SUMMARY
[0004] Embodiments of the present application provide a device identification generation method and device, a computer device, a computer readable storage medium, and a computer program product to solve or alleviate one or more technical problems presented above.
[0005] One aspect of embodiments of the present application provides a device identification generation method, which includes:
[0006] In response to installing the target application, obtaining a plurality of device encodings from the client locally, the encoding types of the plurality of device encodings being all different;
[0007] Generating an encoding query request according to the plurality of device encodings;
[0008] Sending the encoding query request to a server, so that the server determines and returns a target device encoding from the plurality of device encodings according to a preset repeated device encoding library; wherein the preset repeated device encoding library includes a plurality of repeated device encodings, and the target device encoding is an encoding that does not belong to the plurality of repeated device encodings;
[0009] In the case where the target device encoding is received, generating a target device identification for identifying the client according to the target device encoding.
[0010] Optionally, generating an encoding query request according to the plurality of device encodings includes:
[0011] receiving a repeated device code file sent by the server, wherein the repeated device code file comprises a plurality of high repeated device codes, and the high repeated device code is a repeated device code whose repetition number exceeds a predetermined threshold;
[0012] determining one or more first device codes from the plurality of device codes according to the repeated device code file, wherein the first device code is different from the plurality of high repeated device codes;
[0013] generating the code query request according to the one or more first device codes
[0014] Optionally, generating the code query request according to the plurality of device codes comprises:
[0015] obtaining a plurality of high repeated device codes from the installation package of the target application, wherein the high repeated device code is a repeated device code whose repetition number exceeds a predetermined threshold;
[0016] determining one or more second device codes from the plurality of device codes according to the repeated device code file, wherein the second device code is different from the plurality of high repeated device codes;
[0017] generating the code query request according to the one or more second device codes.
[0018] Optionally, the preset repeated device code library is obtained according to the following operations:
[0019] obtaining a plurality of daily active user logs, wherein each daily active user log corresponds to a plurality of different code types of to-be-checked repeated device codes and a to-be-checked repeated device identifier;
[0020] determining a plurality of different to-be-checked repeated code-identifier pairs according to the plurality of daily active user logs;
[0021] determining a plurality of repeated device codes according to the plurality of to-be-checked repeated code-identifier pairs and the corresponding plurality of daily active user logs, wherein each repeated device code corresponds to a plurality of different to-be-checked repeated code-identifier pairs;
[0022] obtaining the preset repeated device code library according to the plurality of repeated device codes.
[0023] Optionally, the method further comprises:
[0024] generating an identifier query request according to the target device identifier at a preset time interval;
[0025] sending the identifier query request to the server, so that the server returns a to-be-checked result according to a preset repeated device identifier library;
[0026] In a case where the duplicate checking result is a duplicate, the target device identifier is regenerated.
[0027] Optionally, the preset duplicate device identifier library is obtained according to the following operation:
[0028] A plurality of daily active user logs are obtained, each of the daily active user logs corresponding to a plurality of different types of to-be-checked duplicate device encodings and a to-be-checked duplicate device identifier;
[0029] According to the plurality of daily active user logs, a plurality of to-be-checked duplicate encoding-identifier pairs are determined, each of the to-be-checked duplicate encoding-identifier pairs being different from each other;
[0030] According to the plurality of to-be-checked duplicate encoding-identifier pairs and the corresponding plurality of daily active user logs, a plurality of duplicate device identifiers are determined, each of the duplicate device identifiers corresponding to a plurality of different to-be-checked duplicate encoding-identifier pairs, and the plurality of different to-be-checked duplicate encoding-identifier pairs having the same encoding type of the plurality of to-be-checked duplicate device encodings;
[0031] According to the plurality of duplicate device identifiers, the preset duplicate device encoding library is obtained.
[0032] Optionally, the method further comprises:
[0033] In a case where the target device encoding is not received, the target device identifier is generated according to the plurality of device encodings according to a preset identifier generation rule.
[0034] Another aspect of the embodiment of the present application provides a device identifier generation apparatus, the apparatus comprising:
[0035] An obtaining module is configured to obtain a plurality of device encodings from the client locally in response to installation of the target application, the plurality of device encodings having different encoding types;
[0036] A first generation module is configured to generate an encoding query request according to the plurality of device encodings;
[0037] A sending module is configured to send the encoding query request to a server, so that the server determines and returns a target device encoding from the plurality of device encodings according to a preset duplicate device encoding library; wherein the preset duplicate device encoding library comprises a plurality of duplicate device encodings, and the target device encoding is an encoding not belonging to the plurality of duplicate device encodings.
[0038] A second generation module is configured to generate a target device identifier for identifying the client according to the target device encoding in a case where the target device encoding is received.
[0039] Another aspect of the embodiment of the present application provides a computer device, comprising:
[0040] at least one processor; and
[0041] a memory communicatively connected to the at least one processor;
[0042] 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 method as described above.
[0043] Another aspect of the embodiments of the present application provides a computer readable storage medium, the computer readable storage medium storing computer instructions, the computer instructions being executed by a processor to implement the method as described above.
[0044] Another aspect of the embodiments of the present application provides a computer program product, comprising a computer program, the computer program being executed by a processor to implement the method as described above.
[0045] The embodiments of the present application adopt the technical solutions described above and can include the following advantages: the target device code without duplication is obtained by querying the server to generate the target device identification. The big data query capability of the server can improve the speed and accuracy of the device code deduplication, thereby helping to ensure the uniqueness of the target device identification and improve the efficiency of the device identification generation, and further enabling the service provider to provide more accurate data statistics and data services. BRIEF DESCRIPTION OF DRAWINGS
[0046] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain exemplary implementations of the application. The illustrated embodiments are merely examples and do not limit the scope of the claims. In all the drawings, like reference numerals refer to like parts throughout the various figures. The drawings are in simplified form and are not to precise scale. Not all elements of an embodiment are necessary for a full understanding of the application, and the inclusion of an element in one embodiment does not preclude its absence in another embodiment or the possibility of its addition.
[0047] Figure 1 An operating environment diagram of a device identification generation method according to Embodiment One of the present application is schematically shown;
[0048] Figure 2 A flowchart of the device identification generation method according to Embodiment One of the present application is schematically shown;
[0049] Figure 3 A flowchart of a sub-step in step S202 is schematically shown; Figure 2
[0050] A flowchart of another sub-step in step S202 is schematically shown; Figure 4 Figure 2
[0051] Figure 5 Fig. 2 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0052] Figure 6 Fig. 3 shows another flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0053] Figure 7 Fig. 4 shows another flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0054] Figure 8 Fig. 5 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0055] Figure 9 Fig. 6 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0056] Figure 10 Fig. 7 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0057] Figure 11 Fig. 8 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0058] Figure 12 Fig. 9 shows a flowchart of the method for generating a device identifier according to an embodiment of the present application;
[0059] Figure 13 Fig. 10 shows a block diagram of the device identifier generation apparatus according to an embodiment of the present application; and
[0060] Figure 14 Fig. 11 shows a hardware architecture diagram of the computer device according to an embodiment of the present application. DETAILED DESCRIPTION
[0061] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and should not be used to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.
[0062] It should be noted that the descriptions involving "first", "second", etc. in the embodiments of the present application are only for the purpose of description, and cannot be understood as indicating or implying the relative importance of the indicated technical features or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In addition, the technical solutions of various embodiments can be combined with each other, but it must be based on the realization of ordinary skilled in the art, when the combination of technical solutions appears contradictory or cannot be realized, it should be considered that the combination of technical solutions does not exist, nor within the scope of protection claimed by the present application.
[0063] In the description of the present application, it should be understood that the numerical reference before the step does not indicate the order of execution of the steps before and after, but only for the convenience of describing the present application and distinguishing each step, therefore it cannot be understood as a limitation of the present application.
[0064] First, the terms involved in the present application are explained:
[0065] IMEI: International Mobile Equipment Identity, is a unique identification code assigned to mobile devices, used to identify mobile terminal equipment.
[0066] DrmID: is a unique code used to identify devices in the Digital Rights Management (DRM) system. It is part of the MediaDrm class and is part of the digital audio copyright framework, which is used to track and protect the unique device ID required for copyright.
[0067] MAC address (Media Access Control Address): is the unique identifier of network device interface. MAC address is a 48-bit (6-byte) number assigned by network device manufacturer, used to uniquely identify devices in the network.
[0068] Android ID: a kind of identifier generated by Android system to identify devices, generated when the device is started for the first time, after the device is reset (such as factory reset), the Android ID may change.
[0069] UUID (Universally Unique Identifier): is a standard algorithm for generating unique identifiers in distributed systems, composed of a group of numbers, letters and hyphens.
[0070] Hash algorithm: is an algorithm that converts input data of arbitrary length into fixed length output, and the output is called hash value or hash value.
[0071] Environmental perception sensor: is a device that can perceive and measure various physical quantities, chemical quantities or biological quantities, etc. Information in the surrounding environment, and convert it into an electrical signal or other readable form. Including light sensitive sensor (perceiving light intensity), temperature sensor (measuring environmental temperature), humidity sensor (detecting air humidity), barometric pressure sensor (measuring atmospheric pressure), sonar sensor (perceiving distance and obstacles) and the like.
[0072] CRC check code (Cyclic Redundancy Check Code): It is a coding technique used to detect data errors in data transmission and storage. The principle is to regard the data as a very long binary number, select a pre-defined generator polynomial, and remove the data with the generator polynomial by modulo 2 division operation, and the remainder is the CRC check code.
[0073] Software package: refers to packaging software programs and their related files, data and configuration information, etc. Into an independent, distributable and installable unit. Including the executable files, library files, configuration files, help documents, resource files of the software, and scripts or tools for installing, uninstalling and managing the software.
[0074] Daily active user log: is a record document recording the behavior and related operation information of a daily active user on an application or platform. Including the basic identity data of the user (such as account, device ID, etc.), key behavior records (such as page browsing time, clicked buttons, participated activities, etc.), and operation time, network type and other detailed information.
[0075] Secondly, in order to facilitate the understanding of the technical solutions provided by the person skilled in the art, the related technology is explained as follows: generating a unique device identifier for a mobile phone APP is a key technology for Internet companies to realize data statistics and precise service. The scheme for generating the device identifier includes generating the device identifier according to the combination of the hardware identifier and the hash algorithm, and dynamically selecting the hardware identifier according to the priority to generate the device identifier and storing it in the local cache.
[0076] The present inventors found that due to the device identifier generation scheme, in order to ensure stability, all are generated based on device IDs (such as DrmID, IMEI, MAC, Android ID, UUID, etc. ID), but the device ID itself has a certain repetition probability, which causes the device identifier generated based on the device ID also has a certain repetition probability, so that one device identifier may correspond to multiple real devices, affecting the accuracy of providing data statistics and services for the client.
[0077] To this end, the embodiments of the present application provide a device identification generation technical solution. In the technical solution, (1) the daily active user log is used to accurately identify different real devices, so as to effectively filter out the repeated device codes and repeated device identifications that are repeatedly used for different real devices; (2) through the application of the server query and the big data technology of the preset repeated device code library, the speed and accuracy of determining the target device code can be improved, so that the efficiency and effect of device identification deduplication can be improved. See the following.
[0078] Finally, for the convenience of understanding, an exemplary operating environment is provided below.
[0079] As shown in Figure 1 , the operating environment diagram includes: a server 2, and clients (4A, 4B, …, 4N).
[0080] The server 2 can connect the clients (4A, 4B, …, 4N) through a network.
[0081] The server 2 can be a single server, a server cluster, or a cloud computing service center.
[0082] The server 2 can provide the clients with software services related to target applications, device code query services, device identification query services, etc.
[0083] The server 2 can be located in a data center such as a single site, or distributed in different geographical locations (for example, in multiple sites). The server 2 can provide services via a network. The network includes various network devices such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, and / or the like. The network can include physical links such as coaxial cable links, twisted-pair cable links, fiber-optic links, combinations thereof, and / or the like, or wireless links such as cellular links, satellite links, Wi-Fi links, and / or the like.
[0084] The clients (4A, 4B, …, 4N) can be configured to access the content and services of the server 2. The clients (4A, 4B, …, 4N) can include electronic devices carrying or externally connected display panels such as mobile devices, tablet devices, laptop computers, workstations, virtual reality devices, game devices, digital streaming media devices, vehicle terminals, smart televisions, set-top boxes, and / or the like, and can also include virtualized computing instances. The virtualized computing instance can include a virtual machine, such as an emulation of a computer system, an operating system, a server, and / or the like. The computing device can load the virtual machine based on a virtual image and / or other data defining specific software (e.g., an operating system, a dedicated application, a server) for emulation. Different virtual machines can be loaded and / or terminated on one or more computing devices as the demand for different types of processing services changes.
[0085] The clients (4A, 4B,..., 4N) can be associated with one or more users. A single user can also use one or more of the clients (4A, 4B,..., 4N) to access the server 2. The clients (4A, 4B,..., 4N) can travel to various locations and use different networks to access the server 2.
[0086] The clients (4A, 4B,..., 4N) can include an interface. The interface can include a touchpad, a touchscreen, a mouse, a keyboard, or other sensory elements. For example, the input elements can be configured to receive user instructions that can cause the clients (4A, 4B,..., 4N) to perform various operations, such as software installation operations, etc.
[0087] It is noted that the above devices are exemplary, and the number and types of devices can be adjusted in different scenarios or according to different needs.
[0088] The following describes the technical solutions of the present application by taking the client 4A as the execution subject through a plurality of embodiments. It should be understood that these embodiments can be implemented in a variety of different forms and should not be interpreted as being limited to the embodiments set forth herein.
[0089] Embodiment One
[0090] Figure 2 A flowchart of a device identification generation method according to Embodiment One of the present application is schematically shown.
[0091] As shown in Figure 2 the device identification generation method can include steps S200-S206, wherein:
[0092] Step S200, in response to installation of a target application, obtaining a plurality of device codes from the client locally, the coding types of the plurality of device codes being all different.
[0093] Step S202, generating a coding query request according to the plurality of device codes.
[0094] Step S204, sending the coding query request to a server, so that the server determines and returns a target device code from the plurality of device codes according to a preset repeated device code library; wherein the preset repeated device code library includes a plurality of repeated device codes, and the target device code is not a code belonging to the plurality of repeated device codes.
[0095] Step S206, in the case where the target device code is received, generating a target device identification for identifying the client according to the target device code.
[0096] The device identification generation method provided by the embodiment can obtain a non-repeated target device code from a server to generate a target device identification. The large data query capability of the server can improve the de-duplication speed and accuracy of the device code, thereby helping to ensure the uniqueness of the target device identification and improve the efficiency of device identification generation, and further enabling a software service provider to provide more accurate data statistics and data services.
[0097] The following will be described in detail in combination with Figure 2 The steps S200-S206 and optional other steps will be described in detail.
[0098] Step S200 In response to installation of the target application, a plurality of device codes are obtained from the client locally, and the code types of the plurality of device codes are all different.
[0099] The client can be a "new device" that has not installed the target application. When the new device installs the target application for the first time, it is identified as "installing the target application". The client can also be an "old device" that has installed the target application. When the old device re-installs the target application after uninstalling, or updates the old version of the target application, etc., it is also identified as "installing the target application".
[0100] The device code can be a DrmID, an IMEI, a MAC, an Android ID, a UUID, or a hardware or software code of the client. In some embodiments, the device code can also be an environment-related code generated by the client according to environmental data collected by an environmental perception sensor (such as a barometer, a hygrometer, a light sensor, etc.) using a specific algorithm (such as a hash algorithm) when installing the target application.
[0101] In the case of obtaining user authorization, the device code can also be a behavior pattern code generated by the client through an acceleration sensor, a gyroscope, etc. to collect user operation behaviors (such as shaking the device, rotating the device, etc.) of the device within a short time before and after installation.
[0102] In some embodiments, when the client is a test environment or a virtual client in an emulator, the device code can also be a device code with real characteristics simulated by the client through a virtual device code generator.
[0103] Step S202 An encoding query request is generated according to the plurality of device codes.
[0104] In some embodiments, the obtained device codes can be preliminarily screened by an intelligent screening algorithm or the like before the generation of the encoded query request, so as to eliminate some codes with obvious problems (such as high repetition rate, easy to be tampered, etc.). One or more device codes with higher priority can be selected according to a pre-configured priority rule (such as a priority rule set according to the reliability of the device code, etc.) to generate the encoded query request.
[0105] In some embodiments, the device codes can be encrypted when the encoded query request is generated. In addition, the plurality of device codes can be sorted according to a predetermined coding order, so as to ensure that the server can more efficiently perform matching and retrieval when processing the encoded query request.
[0106] In some embodiments, the encoded query request can further include verification information (such as CRC check code, hash value, geographical location information of the device, network connection information, etc.) or time stamp, etc., so as to enhance the accuracy and credibility of the encoded query request.
[0107] In some embodiments, for the "old device" such as the client that is uninstalled and then reinstalled, the encoded query request can further include the historical record information of the client obtained from the local cache of the client, such as the change history of the device identification, the use frequency of the client, etc., so that the server can determine the target device code by comprehensively considering the historical and current device code of the client.
[0108] As described above, the obtained device codes can be preliminarily screened before the generation of the encoded query request. Several exemplary screening methods are provided below.
[0109] Method one, in an optional embodiment, as shown in Figure 3 Step S202 includes:
[0110] S300, receiving the repeated device code file sent by the server; wherein the repeated device code file includes a plurality of high-repetition device codes, and the high-repetition device code is a repeated device code with a repetition number exceeding a predetermined threshold.
[0111] S302, determining one or more first device codes from the plurality of device codes according to the repeated device code file, the first device code being different from the plurality of high-repetition device codes.
[0112] S304, generating the encoded query request according to one or more first device codes.
[0113] In some embodiments, the repeated device code file can be obtained by the client from the server by actively initiating a request when the target application is installed. The repeated device code file can also be sent to the client by the server according to a predetermined time period.
[0114] In some embodiments, the repeated device encodings in the repeated device encoding file can be determined by the server according to logs and the like reported by multiple clients. The repeated device encoding file can further include information such as the repetition number or repetition probability corresponding to each high-repetition device encoding.
[0115] In some embodiments, the repeated device encoding file can further include device features such as high-probability device models and high-probability operating system versions associated with each high-repetition device encoding. When determining the first device encoding, the client can further compare the device features of the client itself with the device features associated with the high-repetition device encodings, and select a device encoding with non-repeated encoding content and large differences in device features as the first device encoding.
[0116] In some embodiments, the client can further generate the target device identifier directly according to the first device encoding after determining the first device encoding.
[0117] In this embodiment, multiple device encodings are screened according to the high-repetition device encodings sent by the server. The first device encoding with a small repetition probability is screened to generate the encoding query request, which can simplify the data information in the encoding query request, reduce the workload of the server for encoding comparison, and thus improve the efficiency of the encoding query.
[0118] Method two, in optional embodiments, as shown in Figure 4 , step S202 includes:
[0119] S400, obtaining multiple high-repetition device encodings from the software package of the target application, the high-repetition device encodings being repeated device encodings with a repetition number exceeding a predetermined threshold.
[0120] S402, determining one or more second device encodings from the multiple device encodings according to the repeated device encoding file, the second device encodings being different from the multiple high-repetition device encodings.
[0121] S404, generating the encoding query request according to the one or more second device encodings.
[0122] In some embodiments, the software package can be an installation package or an update package, and the client can obtain the high-repetition device encodings from the installation package or the update package when installing or updating the target application. The software package can also be a function package, and the client can obtain the high-repetition device encodings from the function package when downloading a specific function module.
[0123] In some embodiments, the high-repetition device code can be encrypted and stored in the software package, and the client can parse or request from the server for the decryption algorithm and key to decrypt when installing the target application. The high-repetition device code can also be compressed and stored in the software package, or stored in different locations or modules of the software package.
[0124] The remaining storage and use details of the high-repetition device code, as well as the technical details in the determination process of the second device code, can refer to Method One, which will not be repeated here.
[0125] In this embodiment, the second device code used to generate the encoded query request is determined according to the high-repetition device code in the software package. The high-repetition device code is stored in the software package, which can improve the speed of determining the second device code and generating the encoded query request, thereby improving the efficiency of the device identification deduplication process.
[0126] Step S204 , send the encoded query request to the server, so that the server determines and returns the target device code from the plurality of device codes according to a preset repetition device code library; wherein the preset repetition device code library includes a plurality of repetition device codes, and the target device code is not a code in the plurality of repetition device codes.
[0127] In some embodiments, the server can verify the client through digital certificate, token verification, etc. after receiving the encoded query request of the client.
[0128] In some embodiments, the preset repetition device code library can be obtained by the server analyzing and processing device data such as client access logs (including device code, device type, operating system version, geographic location, etc.) collected by the server. The server can also perform denoising and correction on the collected device data, and generate the preset repetition device code library using the processed device data.
[0129] In other embodiments, the preset repetition device code library can also be a third-party database authorized in advance. The preset repetition device code library can also include abnormal data actively reported by users or clients, etc.
[0130] In this embodiment, the server returns the non-repetition target device code by querying the preset repetition device code library. Through the server query and the application of big data technology in the preset repetition device code library, the speed and accuracy of determining the target device code can be improved, thereby improving the efficiency and effectiveness of the device identification deduplication.
[0131] As mentioned earlier, there are many ways to obtain the preset repetition device code library. The following provides an exemplary obtaining method. As mentioned earlier, there are many ways to obtain the preset repetition device code library. The following provides an exemplary obtaining method.
[0132] In optional embodiments, as shown in Figure 5 The preset repeated device code library is obtained according to the following operations:
[0133] S500, a plurality of daily active user logs are obtained, each of the daily active user logs corresponding to a plurality of different encoding types of to-be-checked duplicate device codes and a to-be-checked duplicate device identifier.
[0134] S502, a plurality of different to-be-checked duplicate code-identifier pairs are determined according to the plurality of daily active user logs.
[0135] S504, a plurality of repeated device codes are determined according to the plurality of to-be-checked duplicate code-identifier pairs and the corresponding plurality of daily active user logs, each of the repeated device codes corresponding to a plurality of different to-be-checked duplicate code-identifier pairs.
[0136] S506, the preset repeated device code library is obtained according to the plurality of repeated device codes.
[0137] The daily active user logs can include user login logs, operation logs, etc. After obtaining the daily active user logs, the obtained log data can be preprocessed, such as data cleaning, denoising, format unification, etc. In other embodiments, device performance logs, network connection logs, etc. can also be integrated to obtain more comprehensive and complete device code and device identifier data.
[0138] The different encoding types of to-be-checked duplicate device codes can include DrmID, IMEI, MAC, Android ID, UUID, etc. Each to-be-checked duplicate code-identifier pair can include a to-be-checked duplicate device code and a to-be-checked duplicate device identifier. The encoding types of the to-be-checked duplicate device codes in the plurality of to-be-checked duplicate code-identifier pairs generated by a daily active user log are all different.
[0139] For a plurality of to-be-checked duplicate code-identifier pairs containing the same to-be-checked duplicate device code, it can be determined whether the daily active user logs corresponding to each to-be-checked duplicate code-identifier pair are from different real devices according to the information in the daily active user logs. If they are from different real devices, it can be determined that they are repeated device codes. For example, according to the plurality of to-be-checked duplicate code-identifier pairs and the corresponding plurality of daily active user logs, a plurality of repeated device codes can be determined, which can include:
[0140] A first to-be-checked duplicate code-identifier pair and a second to-be-checked duplicate code-identifier pair with the same to-be-checked duplicate device code are determined from the plurality of to-be-checked duplicate code-identifier pairs;
[0141] According to the first to-be-checked duplicate encoding-identifier pair, a plurality of first behavior information feature vectors (such as active time information, active geographic location information, etc.) and a plurality of first client information feature vectors (such as client hardware information, client software information, etc.) are determined according to the corresponding daily active user log; and
[0142] According to the second to-be-checked duplicate encoding-identifier pair, a plurality of second behavior information feature vectors and a plurality of second client information feature vectors are determined according to the corresponding daily active user log;
[0143] According to the plurality of first behavior information feature vectors and the plurality of second behavior information feature vectors, a plurality of behavior information conflict vectors are determined; and
[0144] According to the plurality of first client information feature vectors and the plurality of second client information feature vectors, a plurality of client information conflict vectors are determined;
[0145] According to the plurality of behavior information conflict vectors, the plurality of client information conflict vectors, and a preconfigured conflict vector weight array, a conflict score of the first to-be-checked duplicate encoding-identifier pair and the second to-be-checked duplicate encoding-identifier pair is determined.
[0146] In the case where the conflict score is not lower than a preset conflict threshold, the to-be-checked duplicate device encoding in the first to-be-checked duplicate encoding-identifier pair and the second to-be-checked duplicate encoding-identifier pair is determined as a duplicate device encoding.
[0147] In this embodiment, a plurality of duplicate device encodings are determined according to the daily active user log to construct a preset duplicate device encoding library. By using the daily active user log, different real devices can be accurately identified, so that duplicate device encodings used for different real devices can be effectively filtered out, and the integrity and comprehensiveness of the preset duplicate device encoding library can be improved.
[0148] Figure 8 A flowchart for constructing a preset duplicate device encoding library (and a preset duplicate device identifier library introduced later) according to the device identifier generation method of the embodiment of the present application is shown in the figure. Figure 8 In the embodiment, the server can construct a plurality of device ID-Buvid relationship pairs (i.e., to-be-checked duplicate encoding-identifier pairs) according to the collected DAU log (i.e., daily active user log), and construct a duplicate device ID library (i.e., a preset duplicate device encoding library) according to the duplication (one device ID corresponding to a plurality of Buvids or one Buvid corresponding to two or more same type device IDs) and a plurality of conflict situations (such as active time conflict, geographic location conflict, hardware information conflict, and software information conflict, etc.) in the pairs.
[0149] Step S206 In the case where the target device encoding is received, a target device identifier for identifying the client is generated according to the target device encoding.
[0150] The received target device encodings can be one or more. In some embodiments, the target device identification can be generated according to the target device encoding with the highest priority among the target device encodings according to a preconfigured priority. In other embodiments, when there are multiple target device encodings, the multiple target device encodings can also be combined to obtain the target device identification according to a pre-set or dynamically generated weight array.
[0151] In some embodiments, the target device identification can also include timestamp or version number information. After the target device identification is generated, the client can also report the generated target device identification to the server through a daily active user log or the like.
[0152] In some embodiments, the client can also dynamically adjust the generation logic and content of the target device identification according to software state or hardware state changes, etc. For example, when it is detected that the geographic location of the client has changed across cities, or the client has performed a major operation such as system upgrade, the generation of the target device identification is triggered to ensure that the target device identification can accurately reflect the current situation of the client.
[0153] In the present embodiment, the target device identification is generated according to the non-duplicate target device encodings. The target device encodings after deduplication can reduce the probability of duplicate target device identification generation, which helps to ensure the uniqueness of the target device identification and thus improve the identification effect of the target device identification.
[0154] It has been mentioned above that after the target device identification is generated, the client can also adjust the content of the target device identification. An exemplary adjustment method is introduced below.
[0155] In optional embodiments, as shown in Figure 6 the method further includes:
[0156] S600, generating an identification query request according to the target device identification according to a pre-set time interval.
[0157] S602, sending the identification query request to the server to make the server return a duplicate checking result according to a pre-set duplicate device identification library.
[0158] S604, in the case where the duplicate checking result is a duplicate, re-generating a target device identification.
[0159] In some embodiments, the preset time interval can be a fixed value, such as 12 hours, one day, one week, etc. In other embodiments, the preset time interval can also be dynamically set according to the activity, usage frequency, device type, and other factors of the device. For example, for device models that have a higher number of repeated device identification occurrences or a higher probability, a shorter preset time interval can be set.
[0160] In some embodiments, the preset repeated device identification library can be obtained by a server analyzing and processing device data collected from client access logs (including device codes, device types, operating system versions, geographic locations, etc.). The server can also perform denoising and correction on the collected device data, and generate the preset repeated device identification library using the processed device data.
[0161] In some embodiments, the target device identification can be regenerated using the method described above. Depending on the actual situation, other available methods can also be used to generate the target device identification.
[0162] After regenerating the target device identification, the client can also report the new target device identification to the server through daily active user logs and other methods.
[0163] In this embodiment, the client actively determines whether the target device identification is repeated to the server. After actively confirming the repetition, a new target device identification is regenerated, which can detect the generated target device identification of the inventory client, identify and remove the repeated device identification in the inventory client, thereby helping to ensure the uniqueness of the target device identification and improving the efficiency and effectiveness of device identification deduplication.
[0164] As mentioned above, there are multiple ways to obtain the preset repeated device identification library. An exemplary method is provided below.
[0165] In an optional embodiment, as shown in Figure 7 The preset repeated device identification library is obtained according to the following operations:
[0166] S700, obtaining a plurality of daily active user logs, each of the daily active user logs corresponding to a plurality of different types of device codes to be checked and a device identification to be checked;
[0167] S702, determining a plurality of code-identification pairs to be checked according to the plurality of daily active user logs, each of the code-identification pairs to be checked being different;
[0168] S704, determining a plurality of duplicate device identifiers according to the plurality of pairs of to-be-verified duplicate encoding-identifier and the plurality of daily active user logs corresponding thereto; wherein each of the duplicate device identifiers corresponds to a plurality of different pairs of to-be-verified duplicate encoding-identifier, and the plurality of different pairs of to-be-verified duplicate encoding-identifier have the same encoding type of to-be-verified duplicate device encoding;
[0169] S706, obtaining the preset duplicate device encoding library according to the plurality of duplicate device identifiers.
[0170] In some embodiments, the daily active user logs can include login logs, operation logs, and the like of the user. After obtaining the daily active user logs, the obtained log data can also be preprocessed, such as data cleaning, denoising, format unification, and the like. In other embodiments, device performance logs, network connection logs, and the like can also be integrated to obtain more comprehensive and complete device encoding and device identifier data.
[0171] In some embodiments, the to-be-verified duplicate device encodings of different encoding types can include DrmID, IMEI, MAC, Android ID, UUID, and the like device software or hardware encodings. Each pair of to-be-verified duplicate encoding-identifier can include one to-be-verified duplicate device encoding and one to-be-verified duplicate device identifier, and the to-be-verified duplicate device encodings in the plurality of pairs of to-be-verified duplicate encoding-identifier generated by one daily active user log are all different in encoding type.
[0172] In some embodiments, for a plurality of pairs of to-be-verified duplicate encoding-identifier containing the same to-be-verified duplicate device identifier and having the same encoding type of to-be-verified duplicate device encoding, it can be determined according to the information in the daily active user logs corresponding to each pair of to-be-verified duplicate encoding-identifier whether these daily active user logs are from different real devices. If they are from different real devices, it can be determined as duplicate device identifiers.
[0173] For example, determining a plurality of duplicate device identifiers according to the plurality of pairs of to-be-verified duplicate encoding-identifier and the plurality of daily active user logs corresponding thereto can include:
[0174] determining a first pair of to-be-verified duplicate encoding-identifier and a second pair of to-be-verified duplicate encoding-identifier from the plurality of pairs of to-be-verified duplicate encoding-identifier, which have the same to-be-verified duplicate device identifier and the same encoding type of to-be-verified duplicate device encoding;
[0175] determining a plurality of first behavior information feature vectors (such as active time information, active geographic location information, and the like) and a plurality of first client information feature vectors (such as client hardware information, client software information, and the like) according to the daily active user logs corresponding to the first pair of to-be-verified duplicate encoding-identifier; and
[0176] According to the second to-be-checked duplicate encoding-identification pair, a plurality of second behavior information feature vectors and a plurality of second client information feature vectors are determined from the corresponding daily active user log;
[0177] According to the plurality of first behavior information feature vectors and the plurality of second behavior information feature vectors, a plurality of behavior information conflict vectors are determined.
[0178] According to the plurality of first client information feature vectors and the plurality of second client information feature vectors, a plurality of client information conflict vectors are determined.
[0179] According to the plurality of behavior information conflict vectors, the plurality of client information conflict vectors, and a preconfigured conflict vector weight array, a conflict score of the first to-be-checked duplicate encoding-identification pair and the second to-be-checked duplicate encoding-identification pair is determined.
[0180] In the case where the conflict score is not lower than a preset conflict threshold, a device identification to be checked in the first to-be-checked duplicate encoding-identification pair and the second to-be-checked duplicate encoding-identification pair is determined as a duplicate device identification.
[0181] In the embodiment, a plurality of duplicate device identifications are determined from the daily active user log to construct a duplicate device identification library. By extracting and processing data from the daily active user log, duplicate device identification recognition based on actual use cases can be achieved, improving the accuracy and practicality of the recognition. At the same time, systematic data processing and analysis using the duplicate device identification library improves the quality and efficiency of device identification management, which helps to achieve more accurate data statistics and user services.
[0182] As mentioned earlier, the client will generate a target device identification according to the target device encoding when receiving the target device encoding. In actual use, the client may not be able to receive the target device encoding due to network fluctuations and other reasons, at which time the client can also generate the target device encoding through other available methods. The following provides an exemplary generation method.
[0183] In an optional embodiment, the method further comprises: in the case where the target device encoding is not received, generating the target device identification according to a plurality of the device encodings according to a preset identification generation rule.
[0184] In some embodiments, the preset identification generation rule can be to generate the target device identification according to a plurality of device encodings through a specific algorithm (such as a hash algorithm, etc.). The preset identification generation rule can also include learning the feature patterns (such as hardware information, software information, user behavior, etc.) of the client using a machine learning model, and generating the target device identification in combination with the learned feature patterns and a plurality of device encodings.
[0185] In some embodiments, the preset identification generation rule can further comprise generating the target device identification according to the multiple device encodings and a timestamp or a random number, etc.
[0186] After generating the target device identification, the client can further report the generated target device identification to the server through a daily active user log, etc.
[0187] In this embodiment, the target device identification is generated according to the multiple device encodings. In this way, the information content in the target device identification can be improved when the repetitiveness of the device encoding is not determined, thereby helping to reduce the repetition probability of the target device identification and improve the effect of device identification deduplication.
[0188] In order to make the present application easier to understand, the following will combine Figures 9~12 An exemplary application is provided. Among them:
[0189] S11, the server obtains multiple daily active user logs from all active clients;
[0190] S12, the server detects real devices for the case that one device ID (i.e. device encoding) corresponds to 2 or more Buvids (i.e. device identifications) or one Buvid corresponds to 2 or more device IDs of the same type in the multiple daily active user logs;
[0191] S13, the server determines multiple repeated device IDs (i.e. repeated device encodings) and repeated Buvids (i.e. repeated device identifications) through detection, and performs data filling to obtain a repeated device ID library (i.e. a preset repeated device encoding library) and a repeated Buvid library (i.e. a preset repeated device identification library);
[0192] S14, a client O newly installs a certain video software B (i.e. a target application);
[0193] S15, the client O receives a repeated device encoding file sent by the server, and determines that the DrmID, IMEI, MAC, Android ID, UUID, etc. of the device are not device IDs with high repetition probability according to the repeated device encoding file and multiple high-repetition device encodings in the software package of the video software B;
[0194] S16, the client O initiates an encoding query request to the server according to the DrmID, IMEI, MAC, Android ID, UUID, etc. of the device;
[0195] S17, the server queries the repeated device ID library to obtain that the IMEI, MAC and Android ID (i.e. target device encoding) of the client O are not repeated with the encodings in the repeated device ID library, and returns the query result to the client O;
[0196] S18, the client O generates a Buvid of the client O: 000001 (i.e., a target device identifier) according to the IMEI, the MAC and the Android ID through a hash algorithm;
[0197] S19, the client O queries whether duplication occurs according to the Buvid: 000001 generated in S18 after one week;
[0198] S20, the server queries that the Buvid: 000001 of the client O has occurred duplication and informs the client O;
[0199] S21, the client O generates a new Buvid: 000002.
[0200] Embodiment Two
[0201] Figure 13 A block diagram of a device identifier generation apparatus according to Embodiment Two of the present application is shown schematically, which can be divided into one or more program modules, the one or more program modules are stored in a storage medium and executed by one or more processors to complete the embodiments of the present application. The program modules referred to in the embodiments of the present application are a series of computer program instruction segments capable of completing a specific function, and the functions of the program modules in the embodiments will be described in detail below. As shown in the figure, the apparatus 1000 can include an acquisition module 1100, a first generation module 1200, a sending module 1300, a second generation module 1400, wherein: Figure 13
[0202] The acquisition module 1100 is configured to acquire a plurality of device encodings from the client locally in response to installing the target application, and the encoding types of the plurality of device encodings are all different;
[0203] The first generation module 1200 is configured to generate an encoding query request according to the plurality of device encodings;
[0204] The sending module 1300 is configured to send the encoding query request to a server, so that the server determines and returns a target device encoding from the plurality of device encodings according to a preset duplicate device encoding library; wherein the preset duplicate device encoding library includes a plurality of duplicate device encodings, and the target device encoding is an encoding not belonging to the plurality of duplicate device encodings;
[0205] The second generation module 1400 is configured to generate a target device identifier for identifying the client according to the target device encoding in the case of receiving the target device encoding.
[0206] As an optional embodiment, the first generation module 1200 is further configured to:
[0207] The server receives a duplicate device code file; wherein the duplicate device code file includes multiple high-repetition device codes, and the high-repetition device codes are duplicate device codes whose repetition count exceeds a predetermined threshold.
[0208] Based on the repeated device code file, one or more first device codes are determined from the plurality of device codes, wherein the first device codes are different from all of the plurality of highly repeated device codes;
[0209] The encoding query request is generated based on one or more of the first device encodings.
[0210] As an optional embodiment, the first generation module 1200 is further configured to:
[0211] Obtain multiple highly repeated device codes from the installation package of the target application, wherein the highly repeated device codes are repeated device codes whose repetition count exceeds a predetermined threshold;
[0212] Based on the repeating device code file, one or more second device codes are determined from a plurality of device codes, wherein the second device codes are different from all of the plurality of highly repeating device codes;
[0213] The encoding query request is generated based on one or more of the second device encodings.
[0214] As an optional embodiment, the device 1000 further includes a repeating device code library acquisition module, used for:
[0215] Obtain multiple daily active user logs, each of which corresponds to multiple different encoding types of device codes to be checked and one device identifier to be checked;
[0216] Based on multiple daily active user logs, several different deduplication code-identifier pairs were identified.
[0217] Based on the multiple deduplication code-identifier pairs to be checked and the corresponding multiple daily active user logs, multiple duplicate device codes are determined, and each duplicate device code corresponds to multiple different deduplication code-identifier pairs to be checked.
[0218] The preset repetitive device code library is obtained based on the multiple repetitive device codes.
[0219] As an optional embodiment, the device 1000 further includes a target device identifier update module:
[0220] Generate an identifier query request based on the target device identifier at preset time intervals;
[0221] sending the identification query request to the server, so that the server returns a duplicate checking result according to a preset duplicate device identification library;
[0222] in the case that the duplicate checking result is a duplicate, re-generating a target device identification.
[0223] As an optional embodiment, the apparatus 1000 further comprises a duplicate device identification library obtaining module, configured to:
[0224] obtain a plurality of daily active user logs, each of the daily active user logs corresponding to a plurality of different types of to-be-checked duplicate device encodings and a to-be-checked duplicate device identification;
[0225] determine a plurality of to-be-checked duplicate encoding-identification pairs according to the plurality of daily active user logs, each of the to-be-checked duplicate encoding-identification pairs being different from each other;
[0226] determine a plurality of duplicate device identifications according to the plurality of to-be-checked duplicate encoding-identification pairs and the corresponding plurality of daily active user logs, each of the duplicate device identifications corresponding to a plurality of different to-be-checked duplicate encoding-identification pairs, and the plurality of to-be-checked duplicate device encodings in the plurality of different to-be-checked duplicate encoding-identification pairs being of the same encoding type;
[0227] obtain the preset duplicate device encoding library according to the plurality of duplicate device identifications.
[0228] As an optional embodiment, the apparatus 1000 further comprises a third generating module, configured to:
[0229] in the case that the target device encoding is not received, generating the target device identification according to the plurality of device encodings according to a preset identification generation rule.
[0230] Embodiment three
[0231] Figure 14 A hardware architecture schematic diagram of a computer device 10000 suitable for implementing a device identification generation method according to Embodiment three of the present application is schematically shown. In some embodiments, the computer device 10000 can be a terminal device such as a smart phone, a wearable device, a tablet computer, a personal computer, a vehicle-mounted terminal, a game console, a virtual device, a workbench, a digital assistant, a set-top box, a robot, etc. In other embodiments, the computer device 10000 can be a rack-mounted server, a blade server, a tower server, or a cabinet server (including a standalone server, or a server cluster composed of multiple servers), etc. As shown in the figure, the computer device 10000 comprises but is not limited to a memory 10010, a processor 10020, and a network interface 10030 which are communicatively linked through a system bus. Among them: Figure 14
[0232] The memory 10010 includes at least one type of computer-readable storage media, such as a flash memory, a hard disk, a multimedia card (e.g., SD or DX memory), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, and the like. In some embodiments, the memory 10010 can be an internal memory module of the computer device 10000, such as a hard disk or a memory of the computer device 10000. In other embodiments, the memory 10010 can also be an external memory device of the computer device 10000, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. Of course, the memory 10010 can include both an internal memory module and an external memory device of the computer device 10000. In this embodiment, the memory 10010 is generally used to store an operating system and various application programs installed in the computer device 10000, such as program codes of the device identification generation method, and the like. In addition, the memory 10010 can also be used to temporarily store various data that have been output or will be output.
[0233] The processor 10020 can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other chips in some embodiments. The processor 10020 is generally used to control the overall operation of the computer device 10000, such as performing control and processing related to data interaction or communication of the computer device 10000, and the like. In this embodiment, the processor 10020 is used to run program codes or process data stored in the memory 10010.
[0234] The network interface 10030 can include a wireless network interface or a wired network interface, and is generally used to establish a communication link between the computer device 10000 and other computer devices. For example, the network interface 10030 is used to connect the computer device 10000 with an external terminal through a network, establish a data transmission channel and a communication link between the computer device 10000 and the external terminal, and the like. The network can be an Intranet, the Internet, a Global System of Mobile communication (GSM), a Wideband Code Division Multiple Access (WCDMA), a 4G network, a 5G network, Bluetooth, Wi-Fi, and the like wireless or wired network.
[0235] It should be noted that, Figure 14 Only the computer device with components 10010-10030 is shown, but it should be understood that all the shown components are not required to be implemented, and more or fewer components can be alternatively implemented.
[0236] In this embodiment, the device identification generation method stored in the memory 10010 can also be divided into one or more program modules and executed by one or more processors (such as the processor 10020) to complete the embodiments of the present application.
[0237] Embodiment Four
[0238] The embodiments of the present application also provide a computer readable storage medium, and the computer readable storage medium has a computer program stored thereon, wherein the computer program is executed by a processor to implement the steps of the device identification generation method in the embodiments.
[0239] In this embodiment, the computer readable storage medium includes a flash memory, a hard disk, a multimedia card, a card type memory (for example, an SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a programmable read only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the computer readable storage medium can be an internal storage unit of the computer device, for example, a hard disk or a memory of the computer device. In other embodiments, the computer readable storage medium can also be an external storage device of the computer device, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Of course, the computer readable storage medium can also include both the internal storage unit and the external storage device of the computer device. In this embodiment, the computer readable storage medium is usually used to store an operating system and various application software installed on the computer device, for example, program codes of the device identification generation method in the embodiments, etc. In addition, the computer readable storage medium can also be used to temporarily store various data that have been output or will be output.
[0240] Embodiment five
[0241] The embodiments of the present application further provide a computer program product, comprising a computer program which, when executed by a processor, implements the method in the above embodiments.
[0242] Obviously, those skilled in the art should understand that each module or each step of the above-mentioned embodiments of the present application can be implemented by a general computer device, which can be concentrated on a single computer device or distributed on a network composed of multiple computer devices, and optionally, each module or each step can be implemented by program codes executable by a computer device, so that each module or each step can be stored in a storage device and executed by a computer device, and in some cases, the steps shown or described can be executed in an order different from that shown here, or each module or each step can be manufactured into an individual integrated circuit module, or multiple modules or steps can be manufactured into a single integrated circuit module. Therefore, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0243] It should be noted that the above is only the preferred embodiment of the present application, and does not limit the patent protection scope of the present application, and any equivalent structure or equivalent process transformation using the content of the specification and drawings of the present application, or direct or indirect application in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A device identification generation method characterized by comprising: The method for a client comprises: In response to installing a target application, obtaining a plurality of device encodings locally from the client, the plurality of device encodings being of different encoding types; Generating an encoding query request according to the plurality of device encodings; Sending the encoding query request to a server, so that the server determines and returns a target device encoding from the plurality of device encodings according to a preset repeated device encoding library; wherein the preset repeated device encoding library comprises a plurality of repeated device encodings, and the target device encoding is not included in the plurality of repeated device encodings; In the case where the target device encoding is received, generating a target device identifier for identifying the client according to the target device encoding; Wherein, generating an encoding query request according to the plurality of device encodings comprises: Receiving a repeated device encoding file sent by the server; wherein the repeated device encoding file comprises a plurality of high-repeated device encodings, and the high-repeated device encoding is a repeated device encoding with a number of repetitions exceeding a predetermined threshold; Determining one or more first device encodings from the plurality of device encodings according to the repeated device encoding file, the first device encodings being different from the plurality of high-repeated device encodings; Generating the encoding query request according to one or more of the first device encodings.
2. The method of claim 1, wherein, Generating an encoding query request according to the plurality of device encodings comprises: Obtaining a plurality of high-repeated device encodings from an installation package of the target application, the high-repeated device encoding being a repeated device encoding with a number of repetitions exceeding a predetermined threshold; Determining one or more second device encodings from the plurality of device encodings according to the repeated device encoding file, the second device encodings being different from the plurality of high-repeated device encodings; Generating the encoding query request according to one or more of the second device encodings.
3. The method of claim 1, wherein, The preset repeated device encoding library is obtained according to the following operations: Obtaining a plurality of daily active user logs, each of the daily active user logs corresponding to a plurality of different encoding type device encodings to be checked for duplication and a device identifier to be checked for duplication; Determining a plurality of different device encoding-identifier pairs to be checked for duplication according to the plurality of daily active user logs; Determining a plurality of repeated device encodings according to the plurality of device encoding-identifier pairs to be checked for duplication and the corresponding plurality of daily active user logs, each of the repeated device encodings corresponding to a plurality of different device encoding-identifier pairs to be checked for duplication; Obtaining the preset repeated device encoding library according to the plurality of repeated device encodings.
4. The method of claim 1, wherein, The method further comprises: Generating an identifier query request according to the target device identifier at a preset time interval; Sending the identifier query request to the server, so that the server returns a duplication checking result according to a preset repeated device identifier library; In the case where the duplication checking result is repeated, re-generating a target device identifier.
5. The method of claim 4, wherein, The preset repeated device identifier library is obtained according to the following operations: Obtaining a plurality of daily active user logs, each of the daily active user logs corresponding to a plurality of different encoding type device encodings to be checked for duplication and a device identifier to be checked for duplication; Determining a plurality of device encoding-identifier pairs to be checked for duplication according to the plurality of daily active user logs, each of the device encoding-identifier pairs to be checked for duplication being different from each other; According to the multiple to-be-checked duplicate encoding-identifier pairs and the corresponding multiple pieces of daily active user logs, multiple duplicate device identifiers are determined, wherein each of the duplicate device identifiers corresponds to multiple different to-be-checked duplicate encoding-identifier pairs, and encoding types of multiple to-be-checked duplicate device encodings in the multiple different to-be-checked duplicate encoding-identifier pairs are same. According to the multiple duplicate device identifiers, the preset duplicate device identifier library is obtained.
6. The method of claim 1, wherein, The method further includes: In a case where the target device identifier is not received, the target device identifier is generated according to the multiple device encodings according to a preset identifier generation rule.
7. An apparatus identification generating device characterized by comprising: The apparatus for the client includes: An obtaining module, configured to obtain multiple device encodings from the client locally in response to installation of a target application, and encoding types of the multiple device encodings are all different; A first generating module, configured to generate an encoding query request according to the multiple device encodings; A sending module, configured to send the encoding query request to a server, so that the server determines and returns a target device encoding from the multiple device encodings according to a preset duplicate device encoding library; wherein the preset duplicate device encoding library includes multiple duplicate device encodings, and the target device encoding is an encoding that does not belong to the multiple duplicate device encodings; A second generating module, configured to generate a target device identifier for identifying the client according to the target device encoding in a case where the target device encoding is received; The first generating module is further configured to: receive a duplicate device encoding file sent by the server; wherein the duplicate device encoding file includes multiple high duplicate device encodings, and the high duplicate device encoding is a duplicate device encoding with a number of repetitions exceeding a predetermined threshold; determine one or more first device encodings from the multiple device encodings according to the duplicate device encoding file, and the first device encodings are all different from the multiple high duplicate device encodings; generate the encoding query request according to the one or more first device encodings.
8. A computer device, characterized by include: at least one processor; and a memory connected to the at least one processor in communication; wherein: the memory stores instructions executable 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 of any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, and the computer instructions are executed by the processor to implement the method of any one of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Method and device for generating equipment unique identification code and storage medium
CN112784318A