User tracking method, apparatus, device, storage medium, and computer program product
By receiving and storing user data on the blockchain server side, leveraging the encryption and immutability of blockchain, and combining device public keys and software coding to construct a storage structure, the privacy threats posed by cookie technology are resolved, achieving secure protection of user information and behavioral analysis.
Patent Information
- Application Number
- CN202410245050.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-03-04
AI Technical Summary
In existing technologies, cookie technology poses security and privacy threats during the collection of user information. It may be maliciously used, leading to the leakage of user information and the infringement of privacy.
By receiving data reported by users on the blockchain server side, and utilizing the encryption and immutability characteristics of blockchain, dynamic data is updated to the blockchain storage structure. The main chain, side chain and auxiliary storage structure are constructed by combining device public keys and software code for data storage and analysis.
It achieves secure protection of user information and ensures privacy, while also enabling tracking and content recommendation based on user behavior, thus avoiding the privacy threats posed by cookie technology.
Smart Images

Figure CN118802279B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of blockchain, and in particular to a user tracking method and device, equipment, a storage medium and a computer program product. BACKGROUND
[0002] Network service providers collect user information when users access related network services, so as to better understand the needs and behavior habits of users, provide more personalized and customized services, and improve user experience.
[0003] At present, network service providers usually use Cookie technology to collect and store network user browsing information. However, Cookie may infringe on the privacy of users, because it records the online behavior of users and may be used by websites or third parties to analyze the preferences, interests, habits, etc. of users, so as to make personalized recommendations or advertisements. Cookie may also be maliciously used, such as forging user identity, stealing user information, spreading viruses, etc. Therefore, using Cookie technology to collect user information may constitute a threat to the security and privacy of user information. SUMMARY
[0004] The main purpose of the present application is to provide a user tracking method, device, equipment, storage medium and computer program product, which aims to solve the problem that using Cookie technology to collect user information at present may constitute a threat to the security and privacy of user information.
[0005] To achieve the above-mentioned purpose, the present application provides a user tracking method, which is applied to a blockchain server end, and the method comprises the following steps:
[0006] Receiving data reported by a user end, wherein the data reported by the user end comprises fixed data and dynamic data;
[0007] Updating the dynamic data into a blockchain storage structure based on the fixed data.
[0008] Optionally, the blockchain storage structure comprises at least one of a main chain, a side chain and an auxiliary storage structure, the fixed data comprises a device public key and a software code, the device public key is generated based on the network card address of the user end device, and the step of updating the dynamic data into the blockchain storage structure based on the fixed data comprises:
[0009] Constructing and / or updating the main chain based on the device public key;
[0010] Constructing and / or updating the side chain based on the software code;
[0011] The auxiliary storage structure is constructed and / or updated through a two-dimensional matrix and / or a list, and the dynamic data is updated into the auxiliary storage structure.
[0012] Optionally, the step of constructing and / or updating the main chain based on the device public key comprises:
[0013] determining whether the device public key exists in the main chain of the blockchain node;
[0014] If not, a main chain block is newly created with the device public key as the core, and side chain construction is performed in the newly created main chain block.
[0015] If yes, side chain block construction is performed in the main chain block of the device public key.
[0016] The step of constructing and / or updating the side chain based on the software code comprises:
[0017] determining whether the software number exists in the side chain of the main chain block;
[0018] If not, a side chain block is constructed with the software number as the core, and auxiliary storage structure construction is performed in the newly created side chain block.
[0019] If yes, auxiliary storage structure construction is performed in the side chain block.
[0020] The step of constructing and / or updating the auxiliary storage structure through a two-dimensional matrix and / or a list, and updating the dynamic data into the auxiliary storage structure comprises:
[0021] determining whether a two-dimensional matrix and / or a list exist in the auxiliary storage structure;
[0022] If not, the two-dimensional matrix and / or the list are constructed.
[0023] The data reported by the user end is field parsed and mapped, and the field parsed and mapped data is stored into the two-dimensional matrix and / or the list.
[0024] Optionally, the step of constructing and / or updating the auxiliary storage structure through a two-dimensional matrix and / or a list, and updating the dynamic data into the auxiliary storage structure comprises:
[0025] The newly added main chain block information, side chain block information, and auxiliary storage structure information are packaged into a new block.
[0026] The new block is consensused through a consensus algorithm.
[0027] determining whether consensus is completed.
[0028] If not, data rollback is performed on the main chain, the side chain and the auxiliary storage structure;
[0029] If yes, data alignment is performed on each node in the blockchain based on the new block.
[0030] Optionally, the auxiliary storage structure comprises a short-term data storage structure, an intermediate-term data storage structure and a long-term data storage structure, and the step of constructing and / or updating the auxiliary storage structure by means of a two-dimensional matrix and / or a list and updating the dynamic data into the auxiliary storage structure comprises:
[0031] constructing and / or updating the short-term data storage structure by means of the two-dimensional matrix and / or the list and updating the dynamic data into the short-term data storage structure;
[0032] the step of constructing and / or updating the auxiliary storage structure by means of a two-dimensional matrix and / or a list and updating the dynamic data into the auxiliary storage structure comprises:
[0033] when the current time reaches a preset intermediate-term data compression time, data in the short-term data storage structure is summarized into the intermediate-term data storage structure, and data in the short-term data storage structure is deleted;
[0034] when the current time reaches a preset long-term data compression time, data in the intermediate-term data storage structure is summarized into the long-term data storage structure, and data in the intermediate-term data storage structure is deleted.
[0035] Optionally, the step of receiving data reported by the user end comprises:
[0036] receiving a joining application of each software manufacturer;
[0037] auditing the joining application;
[0038] if the auditing is passed, sending a blockchain node account and a software manufacturer code to the corresponding software manufacturer.
[0039] Embodiments of the present application also propose a user tracking device, which is applied to a blockchain server end, and the device comprises:
[0040] a data receiving module for receiving data reported by a user end, wherein the data reported by the user end comprises fixed data and dynamic data;
[0041] a data updating module for updating the dynamic data into a blockchain storage structure based on the fixed data.
[0042] The embodiment of the present application also provides an apparatus, which comprises a memory, a processor, and a user tracking program stored in the memory and executable on the processor, and the user tracking program is executed by the processor to implement the user tracking method.
[0043] The embodiment of the present application also provides a computer readable storage medium, which stores a user tracking program, and the user tracking program is executed by a processor to implement the user tracking method.
[0044] The embodiment of the present application also provides a computer program product, which comprises a user tracking program, and the user tracking program is executed by a processor to implement the steps of the user tracking method.
[0045] The user tracking method, device, apparatus, storage medium and computer program product provided by the embodiment of the present application receive data reported by a user terminal, the data reported by the user terminal comprises fixed data and dynamic data, and the dynamic data is updated into a block chain storage structure based on the fixed data. The embodiment of the present application updates the dynamic data into the block chain storage structure, and the block chain has the characteristics of encryption and tamper resistance, so that the security and privacy of user information can be fully guaranteed. Moreover, based on the fixed data, the data stored in the block chain can be divided, the user privacy data can be protected, and the user behavior can be tracked, analyzed and recommended based on the fixed data. BRIEF DESCRIPTION OF DRAWINGS
[0046] Figure 1 It is a functional module schematic diagram of the apparatus to which the user tracking device of the present application belongs;
[0047] Figure 2 It is a system design diagram of the user tracking method of the present application;
[0048] Figure 3 It is a schematic diagram of deploying a block chain terminal tool by each software in the embodiment of the present application;
[0049] Figure 4 It is a schematic diagram of deploying a block chain terminal tool by each software in the embodiment of the present application;
[0050] Figure 5 It is a schematic diagram of calling a block chain terminal tool deployed in a terminal operating system by each software in the embodiment of the present application;
[0051] Figure 6 It is a flow schematic diagram of the first exemplary embodiment of the user tracking method of the present application;
[0052] Figure 7Flowchart of a second exemplary embodiment of the user tracking method of the present application;
[0053] Figure 8 Schematic diagram of the intelligent contract chaining in the embodiment of the present application;
[0054] Figure 9 Flowchart of a third exemplary embodiment of the user tracking method of the present application;
[0055] Figure 10 Flowchart of a fourth exemplary embodiment of the user tracking method of the present application;
[0056] Figure 11 Flowchart of a fifth exemplary embodiment of the user tracking method of the present application;
[0057] Figure 12 Schematic diagram of the storage structure of the blockchain node in the embodiment of the present application;
[0058] Figure 13 Flowchart of a fifth exemplary embodiment of the user tracking method of the present application;
[0059] Figure 14 Flowchart of a fifth exemplary embodiment of the user tracking method of the present application;
[0060] Figure 15 Flowchart of a fifth exemplary embodiment of the user tracking method of the present application.
[0061] The implementation, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION
[0062] It should be understood that the specific embodiments described herein are merely intended to explain the present application and are not intended to limit the present application.
[0063] The main solution of the embodiment of the present application is: receiving the data reported by the user end, the data reported by the user end including fixed data and dynamic data; based on the fixed data, updating the dynamic data into the blockchain storage structure. The embodiment of the present application updates the dynamic data into the blockchain storage structure, because the blockchain has the characteristics of encryption and tamper resistance, so as to give full protection to the security and privacy of user information. And based on the fixed data, the data stored in the blockchain can be divided, which can protect the user privacy data, and at the same time, the fixed data can be used to track, analyze and recommend content based on user behavior.
[0064] Technical terms involved in the embodiment of the present application:
[0065] Cookie: Cookie is a kind of website to identify the user identity, session tracking and stored in the user's local terminal data (usually encrypted).
[0066] The role of Cookie is as follows:
[0067] 1) Save the user's login state, such as user name, password, web page, time and other information.
[0068] 2) Save the user's personalized settings, such as theme, font, language, etc.
[0069] 3) Save the user's shopping cart information, such as product name, quantity, price, etc.
[0070] 4) Save the user's browsing history, such as search keywords, clicked links, etc.
[0071] Universal ID scheme: that is, through the ID to replace the cookie to realize the identification and tracking of users. Commonly used as ID are email address, mobile device advertising identifier, login account, browser-based identifier, etc.
[0072] Privacy sandbox: Privacy sandbox is a technology launched by Google, which aims to let users manage their interests and group them into different cohorts based on similar browsing patterns. In this way, advertisers can target a certain group rather than an individual, thus protecting the user's personal identity and data.
[0073] Consensus algorithm: The consensus algorithm of blockchain refers to the algorithm used in distributed systems to ensure that all nodes agree on the data of the blockchain.
[0074] In the context of the widespread use of Cookie technology by network service providers, network platforms use Cookie technology to collect and store network user browsing information, which poses a threat to the security and privacy of personal information.
[0075] Among them, Cookie may infringe on the privacy of users, as it records users' online behavior and may be used by websites or third parties to analyze users' preferences, interests, habits, etc., thus making personalized recommendations or advertisements. Cookie may also be misused, such as forging user identity, stealing user information, spreading viruses, etc.
[0076] In order to protect themselves from Cookie privacy infringement, users can only take some measures such as the following:
[0077] 1) Regularly clean up cookies in the browser to avoid expired or useless cookies occupying space or leaking information.
[0078] 2) Use the private mode or incognito mode of the browser, so that the browser will not save any cookies or other data.
[0079] 3) Use the settings or plugins of the browser to manage cookies, you can choose to reject or delete the cookies of some websites or third parties, or only accept the cookies of websites you trust.
[0080] 4) Use some professional software or tools to clean up or block cookies, such as CCleaner, AdBlock, etc.
[0081] These processing methods are inconvenient, and if you delay the operation later, your privacy will be exposed.
[0082] With the introduction of a series of laws and regulations on data security and privacy protection for individuals and the state, such as the Personal Information Protection Law, the Data Security Law, and the National Security Law, more users are aware of the infringement of their personal information and resort to legal means.
[0083] Therefore, many companies have begun to abandon cookies and explore more technical ways to infringe on user privacy while effectively maintaining and developing the recommendation business to generate revenue.
[0084] Existing technologies include universal ID schemes, privacy sandboxes, and queue targeting, but each of these technologies has its own problems:
[0085] 1) Universal ID scheme: First, the various universal ID schemes based on the ad ID technology cannot interoperate, and the independent identification system causes barriers between the various schemes, which results in a small coverage of the population for a single universal ID scheme, which cannot meet the needs of marketers.
[0086] Second, due to the competitive relationship between technology providers, it is almost impossible to have a so-called unified standard between various universal ID schemes, even if this happens, it still cannot solve the problem of large-scale advertising activities in a global context. In the eyes of an international brand, it is not willing to choose such a universal ID scheme that is pieced together and at the same time sign agreements with multiple technology providers to cover a small part of the population.
[0087] Assuming that in the most ideal case, the interoperability problem is solved, the universal ID scheme will not ultimately be successful because the vast majority of users choose to reject online tracking. In addition to the lack of cooperation from consumers, issuers also do not believe that sharing user data is in their best interests. In addition, the private relay feature on Apple Safari browser will encrypt the user's IP address, in which case identity matching will not be possible, which will cause some universal ID schemes to fail.
[0088] 2) Privacy Sandbox: On the technical side, implementing a privacy sandbox also requires a lot of research and testing. Currently, Google has released some related API and measurement, and plans to start migrating 1% of Chrome users to the privacy sandbox in early 2024 and disable third-party cookies for them.
[0089] 3) Queue orientation: This solution also needs to solve many technical problems and challenges, such as how to ensure that the group algorithm does not leak personal information, how to prevent fraud and abuse, how to ensure the effectiveness of advertising and revenue, and so on.
[0090] Therefore, the embodiment of the present application proposes a solution, by updating the data reported by the user end to the blockchain storage structure, due to the encryption and tamper-proofing characteristics of the blockchain, the security and privacy of user information can be fully protected. And based on the device public key and software code, the data stored in the blockchain can be divided, while protecting the user's private data, it can also track, analyze and content recommendation based on user behavior through device public key and software code.
[0091] Specifically, referring to Figure 1 , Figure 1 is a functional module schematic diagram of the device to which the user tracking device belongs. The user tracking device can be a device independent of the device and capable of data processing, which can be carried on the device in the form of hardware or software. The device can be a mobile terminal with data processing function such as mobile phone, tablet computer, etc., but also can be a fixed device or server with data processing function.
[0092] In this embodiment, the device to which the user tracking device belongs at least includes an output module 110, a processor 120, a memory 130 and a communication module 140.
[0093] The memory 130 stores an operating system and a user tracking program; the output module 110 can be a display screen and the like. The communication module 140 can include a WIFI module and a Bluetooth module and the like, and communicates with external devices or servers through the communication module 140.
[0094] The user tracking program in the memory 130 is executed by the processor to implement the following steps:
[0095] Receiving data reported by the user end, the data reported by the user end includes fixed data and dynamic data;
[0096] Based on the fixed data, the dynamic data is updated to the blockchain storage structure.
[0097] Further, the user tracking program in the memory 130 is executed by the processor to implement the following steps:
[0098] constructing and / or updating the main chain based on the device public key;
[0099] constructing and / or updating the side chain based on the software code;
[0100] constructing and / or updating the auxiliary storage structure through a two-dimensional matrix and / or a list, and updating the dynamic data into the auxiliary storage structure.
[0101] Further, the user tracking program in the memory 130, when executed by the processor, also implements the following steps:
[0102] determining whether the device public key exists in the main chain of the blockchain node;
[0103] If not, a main chain block is newly created with the device public key as the core, and a side chain is constructed in the newly created main chain block;
[0104] If yes, a side chain block is constructed in the main chain block of the device public key;
[0105] determining whether the software number exists in the side chain of the main chain block;
[0106] If not, a side chain block is constructed with the software number as the core, and an auxiliary storage structure is constructed in the newly created side chain block;
[0107] If yes, an auxiliary storage structure is constructed in the side chain block;
[0108] determining whether a two-dimensional matrix and / or a list exist in the auxiliary storage structure;
[0109] If not, the two-dimensional matrix and / or the list are constructed;
[0110] performing field analysis and mapping on the data reported by the user end, and storing the field analyzed and mapped data into the two-dimensional matrix and / or the list.
[0111] Further, the user tracking program in the memory 130, when executed by the processor, also implements the following steps:
[0112] packaging the newly added main chain block information, side chain block information and auxiliary storage structure information into a new block;
[0113] performing consensus on the new block through a consensus algorithm;
[0114] determining whether the consensus is completed;
[0115] If not, data rollback is performed on the main chain, the side chain and the auxiliary storage structure;
[0116] If yes, data alignment is performed for each node in the blockchain based on the new block.
[0117] Further, the user tracking program in the memory 130, when executed by the processor, also implements the following steps:
[0118] The short-term data storage structure is constructed and / or updated based on the two-dimensional matrix and / or list, and the dynamic data is updated into the short-term data storage structure;
[0119] When the current time reaches the preset medium-term data compression time, the data in the short-term data storage structure is summarized into the medium-term data storage structure, and the data in the short-term data storage structure is deleted;
[0120] When the current time reaches the preset long-term data compression time, the data in the medium-term data storage structure is summarized into the long-term data storage structure, and the data in the medium-term data storage structure is deleted.
[0121] Further, the user tracking program in the memory 130, when executed by the processor, also implements the following steps:
[0122] Receiving the application for joining of each software manufacturer;
[0123] Reviewing the application for joining;
[0124] If the review is passed, the blockchain node account and the software manufacturer code are sent to the corresponding software manufacturer.
[0125] The embodiment of the present application receives the data reported by the user end, and the data reported by the user end includes fixed data and dynamic data. The dynamic data is updated into the blockchain storage structure based on the fixed data. The dynamic data is updated into the blockchain storage structure, and the blockchain has the characteristics of encryption and tamper resistance, so that the security and privacy of user information can be fully protected. Moreover, based on the fixed data, the data stored in the blockchain can be divided, and the user privacy data can be protected while the user behavior is tracked, analyzed and content recommended based on the fixed data.
[0126] Based on the above device architecture but not limited to the above architecture, the method embodiment of the present application is proposed.
[0127] The execution subject of the embodiment method can be a user tracking device, which can be a device independent of the equipment and capable of data processing, which can be carried on the equipment in the form of hardware or software. The equipment can be a user tracking system. The present embodiment takes the user tracking system as an example.
[0128] Reference Figure 2 , Figure 2 The system design diagram of the user tracking method of the application.
[0129] The system is composed of three parts, namely the user end, the blockchain server end and the software manufacturer end.
[0130] After the software manufacturer 1-N joins the blockchain at the software manufacturer end, a unique code, i.e. the software manufacturer code, can be obtained, which is used to track the user's use behavior of the software.
[0131] The software manufacturer end can obtain the use data of different users of the software and the use situation of the same user to different software in the blockchain based on the software manufacturer code at any time, so as to make appropriate strategies for user analysis and push relevant recommended content to the user side.
[0132] The chain type in the blockchain server end can be determined according to actual needs, including but not limited to consortium chain, private chain, public chain and hybrid chain, which is exemplified by consortium chain in this application.
[0133] The blockchain server end includes multiple blockchain nodes and consortium chain management nodes, and the multiple blockchain nodes and the consortium chain management nodes communicate with each other. Taking blockchain nodes 1, 2, N-1 and N as examples, the blockchain nodes 1, 2, N-1 and N communicate with each other and with the consortium chain management node.
[0134] The blockchain server end can be used for on-chain of various software of software suppliers, behavior data on-chain of users using software, smart contract on-chain, data query service for software suppliers, etc.
[0135] The user end covers all types of user terminals, such as computer end, mobile phone end (including H5, applet and APP), tablet computer end, etc.
[0136] The software that joins the consortium chain will get the software side blockchain terminal tool provided by the consortium, which is used to identify the number of the program in the consortium chain.
[0137] The blockchain terminal tool takes the device network card address of the user end as the initial key seed to generate a pair of key pairs (so the key pairs generated by multiple software of the same device are consistent, i.e. one key pair can be used to track the use behavior of all software of the device in the consortium chain).
[0138] The user uses the behavior of all software of the device in the consortium chain, which is reported to the blockchain system by the public key as the primary key.
[0139] The process of the user tracking system is as follows:
[0140] Assemble the alliance chain. Each software manufacturer applies to join the alliance chain, and if the alliance chain is approved, the alliance chain node related account, the blockchain terminal tool and the software manufacturer public and private key are allocated to each software manufacturer, so that the software manufacturer deploys the blockchain terminal tool in the corresponding software based on the alliance chain node related account. Among them, the software manufacturer who joins the alliance chain has obtained the code of the blockchain terminal tool (the code is related to the end, and the implementation language is not limited to js applied to PC end / mobile H5 end / mobile applet end / pad H5 end / pad applet end, etc., Android or Flutter suitable for Android devices, C / C++ / Swift / Flutter language suitable for iOS devices, and the blockchain terminal tool written in each programming language is attached to the related software in the form of SDK).
[0141] After the user obtains the related website, applet or installation program (corresponding to the APP program installation package for Android and iOS devices), the software is installed (if necessary) and opened, and the blockchain terminal tool can be activated.
[0142] It should be noted that from the perspective of the blockchain terminal tool, there are many ways to install the blockchain terminal tool to the user end, and the following will be illustrated by three ways.
[0143] Referring to Figure 3 , Figure 3 is a schematic diagram of each software deploying the blockchain terminal tool in the embodiment of the application.
[0144] As Figure 3 shown, the website of PC computer end, H5 or applet of mobile phone end or pad end, and mobile phone APP are locally deployed according to the respective paths with the website or applet opened by the user.
[0145] Referring to Figure 4 , Figure 4 is a schematic diagram of each software deploying the blockchain terminal tool in the embodiment of the application.
[0146] As Figure 4 shown, the website of PC computer end, H5 or applet of mobile phone end or pad end, and mobile phone APP are locally deployed according to the respective paths with the website or applet opened by the user.
[0147] Referring to Figure 5 , Figure 5 is a schematic diagram of each software deploying the blockchain terminal tool in the embodiment of the application.
[0148] As Figure 5As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0149] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0150] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0151] Referring to Figure 6 , Figure 6 FIG. 1 is a flowchart of an exemplary embodiment of a user tracking method according to the present application. The user tracking method comprises:
[0152] In step S40, data reported by a user terminal is received, wherein the data reported by the user terminal comprises fixed data and dynamic data.
[0153] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0154] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0155] That is, the data reported by the user terminal is composed of fixed data and dynamic data.
[0156] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0157] As shown, when the software manufacturer of the operating system of the device also joins the alliance chain, the operating system itself is built-in with a blockchain terminal tool, and the software installed or opened on the terminal can call the blockchain terminal tool built-in the operating system.
[0158] It should be noted that the software code is a number for distinguishing the uniqueness of the software in the alliance chain, and the number generation rule is not limited to being generated based on the device public key mentioned above.
[0159] It should be noted that if the deployment mode of the blockchain terminal tool is to deploy through the built-in blockchain terminal tool of the operating system itself, that is, the deployment mode shown in the figure, the blockchain terminal tool deployed in the operating system will report the software usage information installed in the system to the chain in the alliance chain. Figure 5
[0160] In addition, the user terminal can report data according to a preset reporting strategy.
[0161] Among them, in the reporting strategy, whether it is a single software usage behavior report or a plurality of usage behavior reports, the reporting strategy that can be selected includes but is not limited to:
[0162] ①Report once for one usage record. Advantages: timely reporting, disadvantages: high reporting frequency, which may affect the heating and power consumption of the mobile phone;
[0163] ②Multiple usage records are reported in batches. Advantages: controllable reporting frequency, disadvantages: reporting is not timely, which may have a slight impact on subsequent user analysis (i.e. in the scenario where the latest batch data is not uploaded when obtaining data).
[0164] ③Combination of single reporting and batch reporting, that is, when the usage behavior data is small, single reporting is used to ensure the timeliness of data chaining; when the usage behavior data is large, batch reporting is used to control the reporting frequency, save mobile phone power consumption, and control mobile phone heating.
[0165] Step S50, updating the dynamic data to the blockchain storage structure based on the fixed data.
[0166] Among them, based on the device public key and the software code, a storage structure can be constructed in the blockchain through a preset storage structure construction rule, so that the data reported by the user terminal can be stored in order. And when the software manufacturer needs to obtain the corresponding data, it can also be more convenient and orderly to obtain the data from the blockchain storage structure based on the device public key and the software code.
[0167] Among them, as an implementation, a two-dimensional array can be constructed to store data.
[0168] Among them, the device public key and the software code can be used as the row number and the column number of the two-dimensional array to locate the corresponding element in the two-dimensional array, and the corresponding element in the two-dimensional array is associated with the stored data.
[0169] Among them, as another implementation, a main chain + side chain + auxiliary storage structure can be used as the storage structure of the alliance chain.
[0170] Among them, the main chain can be constructed based on the device public key; on the main chain, the side chain is constructed based on the software code; and on the side chain, the auxiliary storage structure is constructed to store data.
[0171] The embodiment updates the dynamic data into the blockchain storage structure based on the fixed data. The embodiment updates the dynamic data into the blockchain storage structure, and due to the encryption and non-tamperability of the blockchain, the security and privacy of user information can be fully guaranteed. Moreover, based on the fixed data, the data stored in the blockchain can be divided, the user privacy data is protected, and tracking, analysis and content recommendation based on user behavior can be performed based on the fixed data. Moreover, the embodiment generates a pair of keys based on the preset blockchain terminal tool and the terminal device network card address as an initial key seed, so that the key pairs generated by multiple software of the same device are consistent, and one key pair can be used to track the software use behavior of the device in the alliance chain.
[0172] Referring to Figure 7 , Figure 7 is a flowchart of a second exemplary embodiment of the user tracking method of the present application.
[0173] Based on the above Figure 6 embodiment, the blockchain storage structure includes at least one of a main chain, a side chain and an auxiliary storage structure, the fixed data includes a device public key and a software code, the device public key is generated based on the network card address of the user terminal device, and the step S50 of updating the dynamic data into the blockchain storage structure based on the fixed data includes:
[0174] Step S51, constructing and / or updating the main chain based on the device public key.
[0175] Among them, the device public key and the software code can be obtained by parsing the data reported by the user.
[0176] Then, it is judged whether the device public key exists in the main chain of the blockchain node.
[0177] If it exists, the main chain is updated, that is, the main chain block where the device public key is located is found in the main chain, and the side chain block is constructed in the main chain block where the device public key is located.
[0178] If it does not exist, the main chain is constructed, that is, a new main chain block is newly built with the device public key as the core, and side chain construction is performed in the newly built main chain block.
[0179] Step S52, constructing and / or updating the side chain based on the software code.
[0180] Among them, it can be judged whether the software code exists in the side chain associated with the main chain block.
[0181] If yes, update the side chain, that is, construct the auxiliary storage structure in the side chain block.
[0182] If no, construct the side chain, that is, construct the side chain block with the software number as the core, and construct the auxiliary storage structure in the newly constructed side chain block.
[0183] In step S53, the auxiliary storage structure is constructed and / or updated by a two-dimensional matrix and / or a list, and the dynamic data is updated into the auxiliary storage structure.
[0184] Wherein, it can be judged whether the two-dimensional matrix and / or the list exist in the side chain.
[0185] If yes, update the auxiliary storage structure, that is, field analysis and mapping are performed on the data reported by the user terminal, and the field analysis and mapping data is stored in the two-dimensional matrix and / or the list.
[0186] If no, construct the auxiliary storage structure, that is, construct the two-dimensional matrix and / or the list, and then perform field analysis and mapping on the data reported by the user terminal, and store the field analysis and mapping data in the newly constructed two-dimensional matrix and / or the list.
[0187] Wherein, before constructing the main chain based on the device public key, the smart contract can also be published to the main chain, and then the main chain is constructed based on the device public key.
[0188] Referring to Figure 8 , Figure 8 It is a schematic diagram of the smart contract in the implementation of the application.
[0189] It can be known that the block of the first smart contract is linked to the genesis block.
[0190] Wherein, the smart contract mainly includes a data rule area and a function area, which are used for data compression.
[0191] The following describes the process of editing the smart contract.
[0192] Wherein, the data rule area mainly writes the rules of data compression time and method, which are used to guide the data compression service after the smart contract is started.
[0193] In the content recommendation, advertisement recommendation and other scenarios described in this paper, the user preference feature has the characteristics of short time and variability, so the data compression time set in the data rule area is relatively short, such as 1 month, 2 weeks, 1 week.
[0194] Wherein, the function area defines the data compression algorithm. Its core calculation logic is:
[0195] <1> Obtain the current time;
[0196] <2> Determine whether the time in <1> meets the data compression time of the data rule area, if not, end the execution of the smart contract, if yes, proceed with data compression.
[0197] When the smart contract is completed, the alliance chain administrator issues it to the alliance chain through the alliance node management platform.
[0198] The smart contract is received by a node (for example, node A) of the alliance chain, packaged into a smart contract block, and published to the alliance chain.
[0199] After each node in the alliance chain obtains the smart contract block, it performs consensus on the smart contract block through a consensus algorithm, and after the consensus is completed, the smart contract is published to the main chain.
[0200] In combination with the smart contract, the implementation process of the present scheme is described again:
[0201] 1. The software of various user terminals (covering all types of user terminal devices, such as computer terminals, mobile terminals (including H5, small programs, and APPs), tablet computer terminals, etc.) that join the alliance chain obtains a unique code in the blockchain.
[0202] 2. After downloading and installing the software on the terminal, the software generates a pair of keys based on the preset blockchain terminal tool using the terminal device network card address as the initial key seed (so that the key pairs generated by multiple software on the same device are consistent, and one key pair can be used to track the use behavior of all software on the device in the alliance chain).
[0203] 3. The behavior of the user using all software on the device in the alliance chain is reported to the blockchain system using the public key as the primary key.
[0204] 4. The blockchain server receives the user reported data and performs chain storage, and analyzes the behavior of the user represented by the public key through the smart contract, and supports data query services of various software manufacturers that join the alliance chain.
[0205] 5. With the accumulation of data, to reduce storage costs and space occupation, the chain compresses the user data through the smart contract, thereby reducing storage costs and space occupation.
[0206] The embodiments of the present application realize data compression and deletion through the smart contract, saving data storage costs and space.
[0207] Referring to Figure 9 , Figure 9 The flowchart of the third exemplary embodiment of the user tracking method of the present application.
[0208] Based on the aboveFigure 7 In the embodiment shown, the step S51 comprises constructing and / or updating the main chain based on the device public key.
[0209] The step S511 comprises judging whether the device public key exists in the main chain of the blockchain node.
[0210] The step S512 comprises, if not, newly constructing a main chain block with the device public key as the core and constructing a side chain in the newly constructed main chain block.
[0211] The step S513 comprises, if yes, constructing a side chain block in the main chain block of the device public key.
[0212] The data is reported to a node A of the alliance chain through a blockchain terminal tool, the node A packs the data into a block, and publishes the block to the alliance chain. After consensus by a consensus algorithm in the alliance chain, each node of the alliance chain saves the data in a local device.
[0213] When the node of the alliance chain receives the data uploaded by the user end, if the device public key corresponding to the data does not exist in the alliance chain, a main chain block is newly constructed with the device public key as the core, and if the device public key corresponding to the data exists in the alliance chain, a side chain is constructed.
[0214] Referring to Figure 10 , Figure 10 FIG. 4 is a flowchart of a fourth exemplary embodiment of the user tracking method.
[0215] Based on the above Figure 7 In the embodiment shown, the step S52 comprises constructing and / or updating the side chain based on the software code.
[0216] The step S521 comprises judging whether the software number exists in the side chain of the main chain block.
[0217] The step S522 comprises, if not, constructing a side chain block with the software number as the core and constructing an auxiliary storage structure in the newly constructed side chain block.
[0218] The step S523 comprises, if yes, constructing an auxiliary storage structure in the side chain block.
[0219] The data is continuously analyzed to obtain one or more software numbers in the data. If the software number does not exist in the side chain, one or more side chain blocks are sequentially constructed with the software number as the core. If the software number exists in the side chain, an auxiliary storage structure is continuously constructed.
[0220] Referring to Figure 11 , Figure 11 FIG. 5 is a flowchart of a fifth exemplary embodiment of the user tracking method.
[0221] Based on the above Figure 7 As shown in the embodiment, the step S53, constructing and / or updating the auxiliary storage structure by two-dimensional matrix and / or list and updating the dynamic data into the auxiliary storage structure includes:
[0222] Step S531, judge whether there is a two-dimensional matrix and / or list in the auxiliary storage structure.
[0223] Step S532, if not, then construct the two-dimensional matrix and / or list.
[0224] Step S533, field analysis and mapping of the data reported by the user terminal are carried out, and the data after field analysis and mapping are stored in the two-dimensional matrix and / or list.
[0225] Wherein, if the two-dimensional matrix and / or list does not exist, the two-dimensional matrix and / or list is constructed; if it exists, the data is field analyzed and mapped according to the two-dimensional matrix and / or list data storage structure, and stored in the two-dimensional matrix and / or list.
[0226] Wherein, as an embodiment, the multi-level time division storage structure can be constructed by two-dimensional matrix and / or list.
[0227] Referring to Figure 12 , Figure 12 The storage structure of the blockchain node in the embodiment of the application is shown in the figure.
[0228] By Figure 12 It can be seen that in the main chain, the smart contract is connected to the genesis block, and the device public keys 1, 2, 3……M are connected in turn.
[0229] In the main chain block recording the device public key 1, the software numbers 1, 2……N are connected in turn as a side chain.
[0230] In the side chain block recording the software number N, it is mapped to the auxiliary storage structure through the Key value.
[0231] By Figure 12 It can be seen that the auxiliary storage structure is divided into a week summary two-dimensional matrix, a day summary two-dimensional matrix and a daily use list List according to multi-level time division.
[0232] Among them, the first row of the week summary two-dimensional matrix and the day summary two-dimensional matrix records the user's actions, such as: click, collect, delete, browse, comment, like, share; the second row records the number of times of user action execution; the third row records the execution object / content of user action.
[0233] The List of Daily Use records the actions performed on content at a certain time on that day. For example: Action ZZ1 was performed on content YY1 at time XX1, Action ZZ2 was performed on content YY2 at time XX2, and Action ZZ3 was performed on content YY3 at time XX3.
[0234] The embodiments of the present invention construct a blockchain data storage structure through a main chain, side chains, and auxiliary storage space, which can improve the scalability of data storage and ensure that the data does not interfere with each other, thus guaranteeing data security and flexibility.
[0235] Reference Figure 13 , Figure 13 This is a flowchart illustrating a fifth exemplary embodiment of the user tracking method of the present invention.
[0236] Based on the above Figure 7 In the illustrated embodiment, step S53, after constructing and / or updating the auxiliary storage structure using a two-dimensional matrix and / or list, and updating the dynamic data to the auxiliary storage structure, includes:
[0237] Step S54: Package the newly added main chain block information, side chain block information, and auxiliary storage structure information into a new block.
[0238] This can be achieved by packaging the latest block information of the main chain, the sidechain block information attached to the corresponding device public key block, and the MD5 value of the auxiliary storage structure information into a block and publishing it to the consortium blockchain.
[0239] Step S55: Consensus is reached on the newly added block using a consensus algorithm.
[0240] Among them, the consensus algorithm can confirm the validity and legality of newly added blocks, and ensure that all participating nodes reach a consensus on the consistency of blockchain data.
[0241] Step S56: Determine whether consensus has been reached.
[0242] In the process of confirming the consensus on adding a new block, the data status of each node in the network is compared to check whether all nodes have reached a consensus on adding a new block.
[0243] Step S57: If not, perform data rollback on the main chain, the side chain, and the auxiliary storage structure.
[0244] In cases where consensus cannot be reached, it is necessary to roll back the data in the main chain, side chain, and auxiliary storage structure to restore it to its previous state in order to avoid data inconsistency or the introduction of errors.
[0245] Step S58: If so, then based on the newly added block, perform data alignment on each node in the blockchain.
[0246] Once the consensus is completed, the data of each node in the entire blockchain network is adjusted and updated according to the content of the new block, so that the data state of each node is consistent with the latest blockchain state. This helps to maintain the consistency and integrity of the entire blockchain network.
[0247] The embodiment of the application performs consensus on data, and in the case that the consensus fails to be completed, needs to perform a rollback operation on the data in the main chain, the side chain and the auxiliary storage structure to restore to the previous state, so as to avoid inconsistent or erroneous data introduction. If the consensus is completed, the data of each node in the entire blockchain network is adjusted and updated according to the content of the new block, so that the data state of each node is consistent with the latest blockchain state. This helps to maintain the consistency and integrity of the entire blockchain network.
[0248] Reference Figure 14 , Figure 14 The flowchart of the fifth exemplary embodiment of the user tracking method of the application is shown.
[0249] Based on the above Figure 7 The auxiliary storage structure includes a short-term data storage structure, an intermediate-term data storage structure and a long-term data storage structure. In step S53, the auxiliary storage structure is constructed and / or updated by a two-dimensional matrix and / or a list, and the dynamic data is updated into the auxiliary storage structure, including:
[0250] In step S534, the short-term data storage structure is constructed and / or updated by the two-dimensional matrix and / or the list, and the dynamic data is updated into the short-term data storage structure.
[0251] The auxiliary storage structure can be divided into a short-term data storage structure, an intermediate-term data storage structure and a long-term data storage structure according to the length of the storage time.
[0252] The long-term data storage structure is a two-dimensional matrix aggregated by week, and stores statistical and aggregated information of various types of usage behaviors of the software corresponding to the software number within one week and before the week.
[0253] The intermediate-term data storage structure is a two-dimensional matrix aggregated by day, and stores statistical and aggregated information of various types of usage behaviors of the software corresponding to the software number within one week.
[0254] The short-term data storage structure is a list aggregated by the current day, and stores list information of various types of usage behaviors of the software corresponding to the software number within the current day.
[0255] It is known that, when storing data, the data is first stored in a short-term data storage structure.
[0256] The step S53 includes the following steps:
[0257] Step S59, when the current time reaches the preset intermediate data compression time, the data in the short-term data storage structure is summarized to the intermediate data storage structure, and the data in the short-term data storage structure is deleted.
[0258] Step S519, when the current time reaches the preset long-term data compression time, the data in the intermediate data storage structure is summarized to the long-term data storage structure, and the data in the intermediate data storage structure is deleted.
[0259] Wherein, when the time reaches the data compression time specified in the data rule area of the smart contract, the data of the intermediate data storage structure and the long-term data storage structure is summarized respectively at the scene every day at dawn and every week at dawn.
[0260] That is, when the current time is 0:0:0 every day, the data of the previous day (i.e. the short-term data storage structure, i.e. the list data) is summarized to the intermediate data storage structure, and the list of the previous day is deleted.
[0261] That is, when the current time is 0:0:0 on the first day of each week, in addition to the data merging in the intermediate data storage structure, the data in the intermediate data storage structure is also merged into the long-term data storage structure, and the content of the intermediate data storage structure is emptied, so as to continue to summarize the data of each day in the subsequent week.
[0262] Wherein, after data compression, data deletion is performed, thereby reserving space for subsequent data storage.
[0263] It should be noted that the data compression and deletion in the alliance chain are triggered by the smart contract.
[0264] When deleting data, there is another scenario, that is, when the blockchain terminal tool in the device terminal has not reported data within the time range agreed by the smart contract, it means that the device has deleted the software (including the blockchain terminal tool) and there is no software installation and running on the device for chain, or the device is no longer applicable.
[0265] Therefore, at this time, the user loses the value of data analysis to the software manufacturer.
[0266] At this time, each node of the blockchain triggers the smart contract to delete the side chain + auxiliary storage structure data of the block corresponding to the software number, and adds a termination type side chain block in the device public key block corresponding to the main chain, which identifies that the device corresponding to the public key is temporarily not used.
[0267] Subsequently, when the device is activated, the software deployment and installation or access are re-chained, and the termination type side chain block is deleted.
[0268] The embodiment of the application can release the space of the short-term storage structure by periodically migrating data from the short-term storage structure with high frequency access to the medium-term and long-term storage structures, avoid insufficient storage space caused by excessive data accumulation, and better manage the life cycle of data, reasonably divide the storage location according to the access frequency and importance of data, and facilitate data retrieval and backup.
[0269] Reference Figure 15 , Figure 15 The flowchart of the fifth exemplary embodiment of the user tracking method of the application is shown.
[0270] Based on the above Figure 6 The step S40 of receiving the data reported by the user end includes the following steps before the step S40:
[0271] Step S10, receiving the application for joining of each software manufacturer.
[0272] Step S20, auditing the application.
[0273] Step S30, if the audit is passed, sending the blockchain node account and the software manufacturer code to the corresponding software manufacturer.
[0274] The process of establishing the alliance chain is as follows:
[0275] ① Each software manufacturer applies to join the alliance chain;
[0276] ② The blockchain alliance audits the application in ①, if the audit is not passed, the step is ended; if the audit is passed, go to ③;
[0277] ③ The alliance chain administrator allocates the blockchain node account, software manufacturer code and public and private key for the software manufacturer who passes the audit in the alliance node management platform;
[0278] ④ The software manufacturer newly joined in the alliance adds the code of the blockchain terminal tool to the software according to the account in ③, and the software can have the ability to provide data on-chain read and write after being deployed to the user end.
[0279] In addition, in order to analyze the behavior of the user side and recommend content, the software manufacturer needs to obtain user information from the blockchain. As described above, the application effectively hides and protects user privacy.
[0280] The software supplier can obtain the use behavior of different users for the software from the main side chain and the corresponding auxiliary storage mechanism, or obtain the use behavior of a user for all software in the alliance chain, and then recommend content or even advertising materials to the user side according to the respective user portrait technology, user analysis technology and recommendation technology.
[0281] If the software manufacturer wants to obtain the user's daily behavior data, the short-term data storage structure is used to obtain the data.
[0282] If the software manufacturer wants to obtain the user's behavior data within a week, the medium-term data storage structure is used to obtain the data.
[0283] If the software manufacturer wants to obtain the user's behavior data in the past (outside a week), the long-term data storage structure is used to obtain the data, so as to track the user's interest migration.
[0284] The embodiment of the application realizes tracking, reporting, storage and use of software use behavior through a blockchain terminal tool, and can realize user behavior tracking, analysis and recommendation through similar cookies and the like when protecting user privacy data. In addition, the application has strong universality and wide application scope. Global software manufacturers can build one or more scenarios of the application to realize sharing of data that does not contain user privacy but can effectively realize user behavior tracking and recommendation among members in the scenario.
[0285] In addition, the embodiment of the application further provides a user tracking device, which is applied to a blockchain server end and includes:
[0286] A data receiving module is configured to receive data reported by a user end, wherein the data reported by the user end includes fixed data and dynamic data.
[0287] A data updating module is configured to update the dynamic data to a blockchain storage structure based on the fixed data.
[0288] The principle and implementation process of the embodiment for realizing user tracking are described above, and will not be described here.
[0289] In addition, the embodiment of the application further provides a device including a memory, a processor and a user tracking program stored in the memory and executable on the processor. When the user tracking program is executed by the processor, the steps of the user tracking method described above are realized.
[0290] Since the user tracking program is executed by the processor, all the technical solutions of all the foregoing embodiments are adopted, and at least all the beneficial effects brought by all the technical solutions of all the foregoing embodiments are achieved, which will not be repeated here.
[0291] In addition, the embodiments of the present application also propose a computer readable storage medium, the computer readable storage medium stores a user tracking program, and the user tracking program is executed by the processor to realize the steps of the user tracking method as described above.
[0292] Since the user tracking program is executed by the processor, all the technical solutions of all the foregoing embodiments are adopted, and at least all the beneficial effects brought by all the technical solutions of all the foregoing embodiments are achieved, which will not be repeated here.
[0293] In addition, the embodiments of the present application also propose a computer program product, including a user tracking program, the user tracking program is executed by the processor to realize the steps of the user tracking method as described above.
[0294] The computer program product embodiment of the present application is basically the same as the above-mentioned user tracking method embodiments, which will not be repeated here.
[0295] The embodiment receives the data reported by the user end, the data reported by the user end includes fixed data and dynamic data, and updates the dynamic data to the block chain storage structure based on the fixed data. The embodiment of the present application updates the dynamic data to the block chain storage structure, and the block chain has the characteristics of encryption and tamper resistance, so that the security and privacy of user information can be fully protected. Moreover, based on the fixed data, the data stored in the block chain can be divided, the user privacy data can be protected, and the user behavior can be tracked, analyzed and content recommended based on the fixed data.
[0296] It should be noted that in this paper, the term "includes", "contains" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or method including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or method. Without more limitations, the element defined by the statement "includes a" does not exclude the presence of another identical element in the process, method, article or method including the element.
[0297] The above-mentioned serial numbers of the embodiments of the present application are only for description, not representing the advantages and disadvantages of the embodiments.
[0298] Those skilled in the art can clearly understand the above-mentioned embodiment method can be realized by means of software and the necessary general hardware platform, of course, also can be through hardware, but in many cases the former is the better embodiment. Based on such understanding, the technical solutions of the present application essentially or say the part of the contribution to the prior art can be embodied in the form of software products, the computer software product is stored in the above-mentioned storage medium (such as ROM / RAM, magnetic disc, optical disc), including a number of instructions to make a terminal device (may be a mobile phone, computer, server, controlled terminal, or network equipment, etc.) executes the method of each embodiment of the present application.
[0299] The above is only the preferred embodiment of the present application, not therefore limit the patent scope of the present application, any equivalent structure or equivalent flow transformation made by using the content of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A user tracking method, characterized in that, The method is applied to a blockchain server and includes the following steps: Receive data reported by the user terminal, wherein the data reported by the user terminal includes fixed data and dynamic data; Based on the fixed data, the dynamic data is updated in the blockchain storage structure; The blockchain storage structure includes at least one of a main chain, a side chain, and an auxiliary storage structure. The fixed data includes a device public key and software code. The device public key is generated based on the network card address of the user terminal device. The step of updating the dynamic data to the blockchain storage structure based on the fixed data includes: The main chain is constructed and / or updated based on the device's public key; The sidechain is constructed and / or updated based on the software coding; The auxiliary storage structure is constructed and / or updated using a two-dimensional matrix and / or list, and the dynamic data is updated to the auxiliary storage structure. The steps of building and / or updating the main chain based on the device public key include: Determine whether the device's public key exists in the main chain of the blockchain node; If not, a new main chain block is created with the device public key as the core, and side chains are built in the newly created main chain block; If so, then sidechain blocks are constructed in the main chain block of the device public key; The steps of building and / or updating the sidechain based on software coding include: Determine whether the software ID exists in the sidechain of the main chain block; If not, then a sidechain block is constructed with the software number as the core, and an auxiliary storage structure is constructed in the newly created sidechain block; If so, then the auxiliary storage structure is constructed in the sidechain block; The step of constructing and / or updating the auxiliary storage structure using a two-dimensional matrix and / or list, and updating the dynamic data to the auxiliary storage structure includes: Determine whether a two-dimensional matrix and / or list exists in the auxiliary storage structure; If not, then construct the two-dimensional matrix and / or list; The data reported by the user terminal is parsed and mapped, and the parsed and mapped data is stored in the two-dimensional matrix and / or list.
2. The method according to claim 1, characterized in that, The step of constructing and / or updating the auxiliary storage structure using a two-dimensional matrix and / or list, and updating the dynamic data to the auxiliary storage structure, includes: The newly added main chain block information, side chain block information, and auxiliary storage structure information are packaged into a new block; The newly added block is reached through a consensus algorithm. Determine whether a consensus has been reached; If not, then perform a data rollback on the main chain, the side chain, and the auxiliary storage structure; If so, then based on the newly added block, data alignment is performed on each node in the blockchain.
3. The method according to claim 1, characterized in that, The auxiliary storage structure includes a short-term data storage structure, a medium-term data storage structure, and a long-term data storage structure. The step of constructing and / or updating the auxiliary storage structure using a two-dimensional matrix and / or a list, and updating the dynamic data to the auxiliary storage structure, includes: The short-term data storage structure is constructed and / or updated using the two-dimensional matrix and / or list, and the dynamic data is updated to the short-term data storage structure. The step of constructing and / or updating the auxiliary storage structure using a two-dimensional matrix and / or list, and updating the dynamic data to the auxiliary storage structure, includes: When the current time reaches the preset intermediate data compression time, the data in the short-term data storage structure is aggregated into the intermediate data storage structure, and the data in the short-term data storage structure is deleted. When the current time reaches the preset long-term data compression time, the data in the intermediate data storage structure is aggregated into the long-term data storage structure, and the data in the intermediate data storage structure is deleted.
4. The method according to claim 1, characterized in that, Prior to the step of receiving data reported by the user terminal, the following steps are included: We accept applications from software manufacturers to join us. The application to join will be reviewed; If the review is approved, the blockchain node account and software manufacturer code will be sent to the corresponding software manufacturer.
5. A user tracking device, characterized in that, The device is used on a blockchain server and includes: The data receiving module is used to receive data reported by the user terminal, which includes fixed data and dynamic data. The data update module is used to update the dynamic data to the blockchain storage structure based on the fixed data; The blockchain storage structure includes at least one of a main chain, a side chain, and an auxiliary storage structure. The fixed data includes a device public key and software code. The device public key is generated based on the network card address of the user terminal device. The data update module is also used to construct and / or update the main chain based on the device public key; construct and / or update the side chain based on the software code; construct and / or update the auxiliary storage structure through a two-dimensional matrix and / or list; and update the dynamic data to the auxiliary storage structure. The data update module is also used to determine whether the device public key exists in the main chain of the blockchain node; if not, a new main chain block is created with the device public key as the core, and a side chain is built in the newly created main chain block; if yes, a side chain block is built in the main chain block of the device public key. The data update module is also used to determine whether the software ID exists in the side chain of the main chain block; if not, a side chain block is constructed with the software ID as the core, and an auxiliary storage structure is constructed in the newly created side chain block; if yes, an auxiliary storage structure is constructed in the side chain block. The data update module is also used to determine whether a two-dimensional matrix and / or list exists in the auxiliary storage structure; if not, the two-dimensional matrix and / or list is constructed; the data reported by the user terminal is parsed and mapped, and the parsed and mapped data is stored in the two-dimensional matrix and / or list.
6. A user tracking device, characterized in that, The user tracking device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the user tracking method as described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the user tracking method as described in any one of claims 1-4.
8. A computer program product, characterized in that, The computer program product includes a user tracking program that, when executed by a processor, implements the steps of the user tracking method as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Blockchain-based data traceability and strong encryption method, device, medium and system
CN108449336A
Privacy computing user supervision system based on block chain technology
CN115396168A