Cross-platform data query method and device
By employing a cross-platform data query method based on encrypted behavior identifiers and dynamic matching patterns, the problems of low efficiency and privacy leakage in existing technologies are solved, achieving efficient and secure cross-platform data query.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-05
- Publication Date
- 2026-04-07
AI Technical Summary
Existing cross-platform data query methods are inefficient and pose a risk of data privacy leaks, making it difficult to meet real-time and security requirements.
User behavior is identified by encrypted behavior identifiers, and the matching mode is dynamically selected by decrypting the fields of the target list and the reference list to improve query efficiency. At the same time, the behavior identifiers are encrypted during transmission and storage to protect data privacy.
It significantly improves the matching success rate and query efficiency of cross-platform data queries, while achieving efficient execution under the premise of strictly protecting privacy data.
Smart Images

Figure CN121807898A_ABST
Abstract
Description
Technical Field
[0001] The embodiments in this specification belong to the field of data analysis technology, and in particular relate to a cross-platform data query method and apparatus. Background Technology
[0002] In many business scenarios, cross-platform data querying has become a crucial element supporting data-driven decision-making. Taking service recommendation and data mining as an example, to achieve accurate recommendations, it's necessary to integrate user behavior data recorded in the data warehouse platform with service information from the data analysis platform. This involves establishing connections through cross-platform queries, thereby enabling intelligent service discovery and recommendation. Similarly, in page origin and destination analysis scenarios, to reconstruct the complete user interaction path, end-to-end tracking of user behavior across different platforms is also required.
[0003] However, existing cross-platform data query methods generally face two major challenges: firstly, low query efficiency, making it difficult to meet the high real-time requirements of business operations; secondly, the risk of privacy leaks during data transfer across systems, posing a threat to data security. Therefore, building a cross-platform data query mechanism that balances efficiency and security has become an urgent technical problem to be solved. Summary of the Invention
[0004] The purpose of this invention is to provide a cross-platform data query method and apparatus to solve the problems of low query efficiency and data privacy leakage in the prior art.
[0005] The first aspect of this specification provides a cross-platform data query method, including:
[0006] Obtain the encrypted behavior identifier of the current user's behavior;
[0007] The encrypted behavior identifier is decrypted to obtain a target list, which contains the actual field values of multiple fields describing user behavior; the multiple fields include a behavior type field;
[0008] Decrypt multiple pre-stored encrypted behavior pattern identifiers to obtain multiple reference lists corresponding to each of the multiple encrypted behavior pattern identifiers; a single reference list contains reference field values of at least some of the multiple fields; the at least some fields include the behavior type field;
[0009] For the target list and any first reference list, a corresponding matching pattern is determined based on the actual field value and reference field value of the behavior type field contained therein, and field matching is performed on the remaining fields of the target list and the first reference list under the matching pattern.
[0010] If all other fields in the target list and the first reference list match, the target data associated with the first encrypted behavior pattern identifier corresponding to the first reference list is obtained.
[0011] The second aspect of this specification provides a cross-platform data query device, comprising:
[0012] The acquisition unit is used to acquire the encrypted behavior identifier of the current user's behavior;
[0013] The decryption unit is used to decrypt the encrypted behavior identifier to obtain a target list, which contains the actual field values of multiple fields describing user behavior; the multiple fields include a behavior type field.
[0014] The decryption unit is further configured to decrypt multiple pre-stored encrypted behavior pattern identifiers to obtain multiple reference lists corresponding to the multiple encrypted behavior pattern identifiers respectively; a single reference list contains reference field values of at least some of the multiple fields; the at least some fields include the behavior type field;
[0015] The matching unit is used to determine the corresponding matching mode for the target list and any first reference list based on the actual field value and reference field value of the behavior type field contained therein, and to perform field matching on the remaining fields of the target list and the first reference list under the matching mode.
[0016] The query unit is used to retrieve target data associated with the first encrypted behavior pattern identifier corresponding to the first reference list, provided that all other fields in the target list and the first reference list match.
[0017] A third aspect of this specification provides a computer-readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform the method described in the first aspect.
[0018] A fourth aspect of this specification provides a computing device including a memory and a processor, wherein the memory stores executable code, and the processor executes the executable code to implement the method described in the first aspect.
[0019] This specification provides a computer program product in a fifth aspect, including a computer program / instructions that, when executed by a processor, implement the steps of the method described in the first aspect.
[0020] The cross-platform data query method and apparatus provided in one or more embodiments of this specification obtain a target list and multiple reference lists by decrypting encrypted behavior identifiers and pre-stored encrypted behavior pattern identifiers, and determine a matching pattern based on the behavior types. Then, field matching operations are performed between the target list and the reference lists under this pattern. Finally, the target data associated with the reference lists that successfully match the target list is obtained. This solution dynamically selects the matching pattern by behavior type, significantly improving the matching success rate and query efficiency. Simultaneously, the encrypted transmission of behavior identifiers and the encrypted storage of behavior pattern identifiers enable efficient execution of cross-platform data queries while strictly protecting privacy data. Attached Figure Description
[0021] To more clearly illustrate the technical solutions of the embodiments in this specification, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic diagram illustrating an implementation scenario of one embodiment disclosed in this specification;
[0023] Figure 2 This diagram illustrates a method for generating encryption behavior identifiers in one example of this specification.
[0024] Figure 3 This diagram illustrates an interaction diagram of a cross-platform data query method according to an embodiment of this specification.
[0025] Figure 4 This diagram illustrates a matching method for a target list and a reference list in one example of this specification.
[0026] Figure 5 A schematic diagram of a cross-platform data query apparatus according to an embodiment of this specification is shown. Detailed Implementation
[0027] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0028] As mentioned earlier, cross-platform data querying is required, with cross-platform querying of correlated user behavior data being the most typical example. Currently, there are two main methods for cross-platform querying of correlated user behavior data:
[0029] The first approach uses a Super Position Model (SPM) to identify user behavior and then queries related data about that behavior across platforms based on the SPM. However, since third-party applications typically lack the ability to generate SPMs, this can lead to data fragmentation when identifying user behavior based on SPMs.
[0030] The second approach uses plaintext user access paths (Uniform Resource Locators, URLs) to identify user behavior and queries related data about user behavior across platforms based on the URLs. However, storing user access paths in plaintext poses a risk of privacy breaches.
[0031] The third method uses device fingerprinting to generate a globally unique identifier (UID) to identify user behavior and then uses the UID to query related data of user behavior across platforms. However, because device fingerprinting is easily restricted by browser privacy modes (such as Safari ITP), there may be situations where a UID cannot be generated, thus preventing the effective identification of all user behaviors.
[0032] To address this, this solution proposes using encrypted behavior identifiers to identify user behavior. These identifiers are obtained by encrypting a list of fields describing user behavior. During cross-platform data queries, the encrypted behavior identifiers and pre-stored encrypted behavior pattern identifiers are decrypted to obtain a target list and multiple reference lists. A matching pattern is then determined based on the behavior types within these lists. Following this pattern, field matching operations are performed between the target list and the reference lists. Finally, the target data associated with the reference lists that successfully match the target list is retrieved. This solution dynamically selects the matching pattern based on behavior type, significantly improving the matching success rate and query efficiency. Furthermore, the encrypted transmission and storage of behavior identifiers enable efficient cross-platform data queries while strictly protecting data privacy.
[0033] Figure 1 This is a schematic diagram illustrating an implementation scenario of one of the embodiments disclosed in this specification. Figure 1In this process, the data warehouse platform obtains SPM logs of current user behavior from the target platform's backend. Typically, all resources on the target platform's client (e.g., icons, images, text blocks, interactive elements, etc. on a page) are assigned a unique identifier based on the super-location model. When a resource is exposed to a user or clicked by the user, an SPM log is left. Therefore, the SPM log can reflect the user's browsing, clicking, and other behaviors on the client side.
[0034] In one example, the SPM log would include the following fields: User ID, URL, SPM, Timestamp, and App ID. The SPM consists of four hierarchical parts, such as SPM = 2014.128.4321.1. The first part indicates the platform or site, the second part indicates the page, the third part indicates the specific module within the page, and the fourth part indicates the control.
[0035] In practice, the content of the SPM varies depending on the type of user behavior. For example, when the user behavior is a page visit, the SPM only includes the first and second parts mentioned above. However, when the user behavior is a module click, the SPM includes all four parts mentioned above.
[0036] Afterwards, the data warehouse platform can extract the actual field value of at least one of the SPM fields, URL fields, and application identifier fields from the SPM logs, and generate an encrypted behavior identifier (oneid) for the current user behavior based on it.
[0037] After obtaining the aforementioned encrypted behavior identifiers, the data warehouse platform can provide them to the data analysis platform. The data analysis platform reads multiple pre-stored encrypted behavior pattern identifiers (oneidRef1, oneidRef2, ...) from its local storage. Each encrypted behavior pattern identifier is obtained by encrypting the reference field values of some fields in the SPM field, URL field, and application identifier field. It reflects the preset user behavior, and the encrypted behavior pattern identifier is associated with the service or other data.
[0038] The data analysis platform decrypts the received encrypted behavior identifiers and multiple pre-stored encrypted behavior pattern identifiers, and matches the decrypted target list (oneidList) with multiple reference lists (oneidRefList1, oneidRefList2, ...). Based on the matching results, it retrieves target data associated with the current user's behavior. For example, this target data could be service information.
[0039] The following section will explain the process of generating the aforementioned encrypted behavior identifier.
[0040] Figure 2 This document illustrates a method for generating encryption behavior identifiers in one example. Figure 2 In the process, the data warehouse platform first extracts the actual field values of the SPM field, URL field, and application identifier field from the SPM log of the current user behavior, and then determines the behavior type of the current user behavior based on the actual field value of the SPM field, that is, determines the actual field value of the behavior type field.
[0041] The actual field value of the behavior type field can include any of the following: page access type, module click type, single application access type, and group access type.
[0042] For example, if the actual value of the SPM field only contains the first and second parts mentioned above, the behavior type of the current user action is determined to be a page visit (page). However, if the actual value of the SPM field contains all four parts mentioned above, the behavior type of the current user action is determined to be a module click (click).
[0043] Next, the data warehouse platform generates a target list based on the extracted actual field values along with the actual field values of the behavior type field. Finally, based on a preset salt value (a fixed-length string) agreed upon with the data analysis platform, the target list is encrypted using an encryption algorithm to obtain an encrypted behavior identifier (oneid).
[0044] The aforementioned encryption algorithms may include, but are not limited to, the AES-CTR algorithm or the PBKDF2 algorithm.
[0045] Taking the AES-CTR algorithm as an example, a hash operation (e.g., SHA-256 hash) can be performed on a preset salt value to obtain a bit string of fixed length (e.g., 32 bytes). Then, the bit string can be split to derive the encryption key and initialization vector. Next, based on the encryption key and initialization vector, the AES algorithm is used to generate a keystream. Finally, the keystream is XORed with the aforementioned target list to obtain the encryption behavior identifier.
[0046] It should be understood that Figure 2 This is just an example; in practice, the behavior type of the current user behavior can also be determined in other ways.
[0047] In this scheme, the generation process of multiple encrypted behavior pattern identifiers is similar to the generation process of the encrypted behavior identifiers described above. Specifically, the data analysis platform determines the corresponding user behavior (i.e., preset user behavior) for a specific service, and then selects several fields from the SPM field, URL field, and application identifier field mentioned above, and configures corresponding field values (hereinafter referred to as reference field values) for these fields to reflect the preset user behavior. Next, the behavior type of the preset user behavior is used as the reference field value for the behavior type field, forming a reference list with the reference field values of the selected fields. Finally, based on the salt value mentioned above, the reference list is encrypted using an encryption algorithm to obtain an encrypted behavior pattern identifier.
[0048] Figure 3 This diagram illustrates an interaction diagram of a cross-platform data query method according to an embodiment of this specification, such as... Figure 3 As shown, the method may include the following steps:
[0049] Step S302: The data warehouse platform generates an encrypted behavior identifier for the current user's behavior.
[0050] Specifically, the data warehouse platform obtains SPM logs of current user behavior from the backend of the target platform or site (e.g., an e-commerce platform or a payment platform). These SPM logs include the actual values of the following fields: user identifier, URL, SPM, timestamp, and appid. The actual value of the SPM field consists of four hierarchical parts, such as SPM = 2014.128.4321.1. The first part indicates the platform or site, the second part indicates the page, the third part indicates the specific module within the page, and the fourth part indicates the control.
[0051] In practice, the actual value of the SPM field varies depending on the type of user behavior. For example, when the user behavior is a page visit (page), the actual value of the SPM field only includes the first and second parts mentioned above. However, when the user behavior is a module click (click), the actual value of the SPM field includes all four parts mentioned above. Therefore, this solution can determine the type of the current user behavior based on the actual value of the SPM field, that is, determine the actual value of the behavior type field.
[0052] Next, the data warehouse platform can extract the actual field values of at least one of the SPM fields, URL fields, and application identifier fields from the SPM logs, and form a target list based on the extracted actual field values along with the actual field values of the behavior type field. Finally, based on a preset salt value (a fixed-length string) agreed upon with the data analysis platform, the target list is encrypted using an encryption algorithm to obtain encrypted behavior identifiers.
[0053] The encryption algorithms mentioned here may include AES-CTR or PBKDF2, etc.
[0054] Taking the AES-CTR algorithm as an example, a hash operation (e.g., SHA-256 hash) can be performed on a preset salt value agreed upon with the data analysis platform to obtain a fixed-length (e.g., 32-byte) bit string. Then, the bit string can be split to derive the encryption key and initialization vector. Next, based on the encryption key and initialization vector, the AES algorithm is used to generate a keystream. Finally, the keystream is XORed with the aforementioned list of field values to obtain the encryption behavior identifier (oneid).
[0055] In step S304, the data warehouse platform provides the encrypted behavior identifier to the data analysis platform.
[0056] In step S306, the data analysis platform decrypts the encrypted behavior identifier to obtain a target list, which contains the actual field values of multiple fields describing user behavior, including the behavior type field.
[0057] Taking the AES-CTR encryption algorithm as an example, the data analysis platform's decryption of the encryption behavior identifier may include: performing a hash operation on the predetermined salt value to obtain a fixed-length bit string; splitting this fixed-length bit string to derive the encryption key and initialization vector; generating the target key stream using the AES algorithm based on the derived encryption key and initialization vector; and performing an XOR operation between the target key stream and the encryption behavior identifier to obtain the target list (oneidList).
[0058] Taking a target list containing multiple fields, including a behavior type field, an SPM field, a URL field, and an application identifier field, as an example, the target list can be represented as: oneidList = ['page', 'a32.b32', 'https: / / www.test.com', '423243']. Here, 'page' is the actual value of the behavior type field, 'a32.b32' is the actual value of the SPM field, 'https: / / www.test.com' is the actual value of the URL field, and '423243' is the actual value of the application identifier field.
[0059] It should be understood that this is only an illustrative example, and in practice, the target list may include more or fewer fields (e.g., only the behavior type field, SPM field, and URL field), which is not limited in this specification.
[0060] Step S308: Decrypt the pre-stored multiple encryption behavior pattern identifiers to obtain multiple reference lists corresponding to the multiple encryption behavior pattern identifiers.
[0061] In this scheme, the decryption method for multiple encrypted behavior pattern identifiers (oneidRef1, oneidRef2, ...) is similar to the decryption method for the aforementioned encrypted behavior identifiers, and will not be repeated here.
[0062] Each of the multiple reference lists (oneidRefList1, oneidRefList2, ...) obtained above includes reference field values for the behavior type field, as well as reference field values for at least one of the SPM field, URL field, and application identifier field. These reference field values can reflect the preset user behavior corresponding to a certain service.
[0063] The reference field values for the above behavior type fields can be any of the following: page access type, module click type, single application access type, and group access type, etc.
[0064] In one example, the above reference list can be represented as: oneidRefList = ['page', 'a32.b32', '423243']. Here, 'page' is the reference field value for the behavior type field (i.e., page access type), 'a32.b32' is the reference field value for the SPM field, and '423243' is the reference field value for the application identifier field. In another example, the above reference list can be represented as: oneidRefList = ['click', 'a32.b32.c1213e_N.d3232', '423243']. Here, 'click' is the reference field value for the behavior type field (i.e., module click type), 'a32.b32.c1213e_N.d3232' is the reference field value for the SPM field, and '423243' is the reference field value for the application identifier field. In practice, there can be multiple reference field values. In another example, the above reference list can be represented as: oneidRefList = ['single', '423243'], where 'single' is the reference field value for the behavior type field (i.e., single application access type), and '423243' is the reference field value for the application identifier field. In yet another example, the above reference list can be represented as: oneidRefList = ['group', '423243, 526256, 723321'], where 'group' is the reference field value for the behavior type field (i.e., multi-application access type), and '423243, 526256, 723321' are the three reference field values for the application identifier field, separated by commas.
[0065] It should be understood that in practice, step S308 can be executed first, followed by step S306, or steps S306 and S308 can be executed simultaneously. This specification does not limit this.
[0066] Step S310: For the target list and any reference list, determine the corresponding matching pattern based on the actual field value and reference field value of the behavior type field contained therein, and perform field matching on the remaining fields of the target list and the reference list under the matching pattern.
[0067] Figure 4 This diagram illustrates a matching method for a target list and a reference list in one example of this specification. Figure 4 First, the actual and reference field values of the behavior type fields contained in the target list and reference list are obtained. Then, if both the actual and reference field values are determined to be page access types, the corresponding matching mode is set to exact match. Under this exact match mode, the remaining fields in the target and reference lists are then matched.
[0068] In exact match mode, matching the remaining fields in the target list and reference list means determining whether the actual field value and reference field value of the same field in the target list and reference list are exactly equal. For example, determining whether the actual field value of the SPM field in the target list is exactly equal to the reference field value of the SPM field in the reference list.
[0069] For example, suppose the target list is: oneidList = ['page', 'a32.b32', 'https: / / www.test.com', '423243']; and the reference list is: oneidRefList = ['page', 'a32.b32', '423243'], meaning that both the actual and reference values of the behavior type field are for the page access type. Therefore, the actual and reference values of each of the remaining fields must be exactly equal. Since the reference and actual values of the SPM field, the application identifier field, and the URL field are all exactly equal, matching for this field is unnecessary, thus the target list matches the reference list.
[0070] In addition, Figure 4 In the process, if the actual field value and the reference field value of the behavior type field contained in the target list and the reference list are both module click types, the corresponding matching mode is determined to be fuzzy matching, and under this fuzzy matching mode, the remaining fields in the target list and the reference list are matched.
[0071] In the fuzzy matching mode, the field matching of the remaining fields in the target list and reference list includes, but is not limited to, using regular expressions for field matching and determining inclusion relationships.
[0072] Specifically, for the SPM field, the corresponding regular expression is obtained by replacing the target character (representing an element that does not belong to any block or position, such as "_N") in the reference field values of the SPM field in the reference list with wildcards. This regular expression is then used to match the actual field values of the SPM field in the target list. For the application identifier field, it is determined whether the actual field value of the application identifier field in the target list is contained within the reference field values of the application identifier field in the reference list.
[0073] For example, suppose the target list is: oneidList = ['click', 'a32.b32.c1213e_1.d3232', 'https: / / www.test.com', '423243'], and the reference list is: oneidRefList = ['click', 'a32.b32.c1213e_N.d3232', '423243']. That is, both the actual field value and the reference field value of the behavior type field are module click types, thus allowing regular expression matching and / or inclusion relationship determination.
[0074] Specifically, for the reference field value of the SPM field: "a32.b32.c1213e_N.d3232", after replacing the target character "_N" with a wildcard, we get the regular expression: "a32.b32.c1213e.*.d3232". Then, we use this regular expression to match the actual field value of the SPM field: 'a32.b32.c1213e_1.d3232', which is a successful match. Furthermore, since the reference field value of the application identifier field is exactly equal to the actual field value, and the reference field value of the URL field is empty, it is not necessary to match this field. Therefore, the target list matches the reference list.
[0075] It should be noted that this solution replaces the target character with a wildcard when the reference field value of the SPM field contains the target character, and then uses the resulting regular expression to match the actual field value of the SPM field, which can greatly improve the matching flexibility.
[0076] Finally, Figure 4 In the process, if the actual field value of the behavior type field contained in the target list is page access type, and the reference field value of the behavior type field contained in the reference list is single application access type or multi-application access type, the corresponding matching mode is determined to be exact match, and the remaining fields in the target list and reference list are matched under this exact match mode.
[0077] For example, suppose the target list is: oneidList = ['page', 'a32.b32', 'https: / / www.test.com', '423243'], and the reference list is: oneidRefList = ['single', ",", '423243']. Since the reference field values for the SPM and URL fields are empty, it is not necessary to match these two fields. Furthermore, the actual field value of the application identifier field is equal to the reference field value, thus the target list matches the reference list.
[0078] For example, suppose the target list is: oneidList = ['page', 'a32.b32', 'https: / / www.test.com', '423243'], and the reference list is: oneidRefList = ['group', ",", '423243, 526256, 723321']. Since the reference field values for the SPM and URL fields are empty, it is not necessary to match these two fields. Furthermore, the actual field value of the application identifier field is included in the reference field values of the application identifier field in the reference list, thus matching the target list with the reference list.
[0079] It should be understood that, except for the three situations mentioned above, all other situations are considered as a mismatch between the target list and the reference list. For example, if the actual value of the behavior type field in the target list is page access type, and the reference field value of the behavior type field in the reference list is module click type, then the target list and the reference list are directly determined to be mismatched. Or, if the actual value of the behavior type field in the target list is module click type, and the reference field value of the behavior type field in the reference list is single application access type or multi-application access type, then the target list and the reference list are directly determined to be mismatched.
[0080] Similarly, it can be determined whether the target list matches the other reference lists.
[0081] It should be noted that this solution determines the matching pattern based on the behavior types in the target list and the reference list, and then performs field matching on the two lists under the determined matching pattern. This can greatly improve the success rate of matching, thereby improving the efficiency of cross-platform data querying. Furthermore, the above list matching method allows for missing fields (e.g., the application identifier field may have an empty value), which greatly enhances the fault tolerance of this solution.
[0082] Step S312: If all other fields in the target list and the reference list match, obtain the target data associated with the target encryption behavior pattern identifier corresponding to the matching target reference list.
[0083] It should be noted that the multiple encrypted behavior pattern identifiers described in this solution are all associated with target data. This target data can be, for example, service information of the target service, or other associated data of user behavior.
[0084] Taking the SPM field reference field value as an example, which contains only two parts and these two parts indicate "Alipay" and "Healthcare" respectively, the target services mentioned above could be: "Online consultation and diagnosis services", "Appointment registration services", "Drug-related services", "Medical insurance and financial services", "Vaccine and physical examination services", etc.
[0085] It should also be noted that the cross-platform data query method described in this solution can be applied to service recommendation and mining scenarios, as well as page source and destination analysis scenarios. Taking the application to the service recommendation scenario as an example, the data analysis platform can send the service information of the queried target service to the client of the target platform, so that the client can recommend the target service to the user.
[0086] In summary, the cross-platform data query method provided in this specification significantly improves the matching success rate and query efficiency by dynamically selecting the matching mode based on behavior type. Furthermore, the encrypted transmission behavior identifier and encrypted storage behavior mode identifier enable efficient execution of cross-platform data queries while strictly protecting the data.
[0087] Corresponding to the cross-platform data query method described above, one embodiment of this specification also provides a cross-platform data query device, such as... Figure 5 As shown, the device may include:
[0088] The acquisition unit 502 is used to acquire the encrypted behavior identifier of the current user behavior.
[0089] The decryption unit 504 is used to decrypt the encrypted behavior identifier to obtain a target list, which contains the actual field values of multiple fields describing user behavior, including a behavior type field.
[0090] The decryption unit 504 is also used to decrypt multiple pre-stored encrypted behavior pattern identifiers to obtain multiple reference lists corresponding to the multiple encrypted behavior pattern identifiers. Each reference list contains reference field values of at least some of the multiple fields, and at least some of the fields include a behavior type field.
[0091] The matching unit 506 is used to determine the corresponding matching pattern for the target list and any first reference list based on the actual field value and reference field value of the behavior type field contained therein, and to perform field matching on the remaining fields in the target list and the first reference list under the matching pattern.
[0092] The query unit 508 is used to retrieve the target data associated with the first encrypted behavior pattern identifier corresponding to the first reference list, provided that all other fields in the target list and the first reference list match.
[0093] In one embodiment, the actual field value / reference field value of the behavior type field mentioned above includes any of the following:
[0094] Page access type, module click type, single application access type, and multi-application access type.
[0095] In one embodiment, the matching unit 506 is specifically used for:
[0096] If the actual field value and the reference field value of the behavior type field contained in the target list and the first reference list are both page access types, the corresponding matching mode is determined to be the exact matching mode, and the remaining fields in the target list and the first reference list are matched under this exact matching mode.
[0097] If the actual field value and the reference field value of the behavior type field contained in the target list and the first reference list are both module click types, the corresponding matching mode is determined to be the fuzzy matching mode, and the remaining fields in the target list and the first reference list are matched under this fuzzy matching mode.
[0098] In one embodiment, the remaining fields include a Super Location Model (SPM) field indicating the source of the user behavior; the matching unit 506 is also specifically used for:
[0099] Determine whether the actual field value of the SPM field in the target list is exactly equal to the reference field value of the SPM field in the first reference list;
[0100] By replacing the target character in the reference field value of the SPM field with a wildcard, the corresponding regular expression is obtained, and the regular expression is used to match the actual field value of the SPM field.
[0101] In one embodiment, the remaining fields include an application identifier field, and the number of reference field values for the application identifier field in the first reference list is at least one; the matching unit 506 is further specifically configured to:
[0102] Determine whether the actual field value of the application identifier field is included in the reference field values of the application identifier field.
[0103] In one embodiment, the matching unit 506 is specifically used for:
[0104] The actual field value of the behavior type field in the target list is page access type, and the reference field value of the behavior type field in the first reference list is single application access type or multi-application access type. The corresponding matching mode is determined to be exact match, and under this exact match mode, the remaining fields in the target list and the first reference list are matched.
[0105] In one embodiment, the aforementioned encryption behavior identifier is obtained by the data warehouse platform encrypting the actual field values of several fields based on an agreed target string using the AES-CTR algorithm;
[0106] Decryption unit 504 is specifically used for:
[0107] Perform a hash operation on the target string to obtain a bit string of fixed length;
[0108] The bit string is split to derive the encryption key and initialization vector;
[0109] Based on the encryption key and initialization vector, the target key stream is generated using the AES algorithm;
[0110] The target key stream is XORed with the encryption behavior identifier to obtain the target list.
[0111] In one embodiment, the target data mentioned above is the service information of the target service.
[0112] This specification provides a cross-platform data query device according to one embodiment, which can solve the problems of low query efficiency and data privacy leakage in the prior art.
[0113] According to another embodiment, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed in a computer, causes the computer to perform a combination Figure 3 The method described.
[0114] According to another embodiment, a computing device is also provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, it implements a combination... Figure 3 The method described.
[0115] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the medium or device embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0116] The steps of the methods or algorithms described in conjunction with the disclosure in this specification can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, external hard disk, CD-ROM, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Alternatively, the ASIC can reside in a server. Of course, the processor and storage medium can also exist as discrete components in the server.
[0117] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0118] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26k20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, ASICs, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0119] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or physical entities, or by products with certain functions. A typical implementation device is a server system. Of course, this application does not exclude the possibility that, with the future development of computer technology, the computer implementing the functions of the above embodiments can be, for example, a personal computer, a laptop computer, an in-vehicle human-machine interaction device, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0120] While one or more embodiments of this specification provide the operational steps of the methods described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive means. The order of steps listed in the embodiments is merely one possible order of execution among many steps and does not represent the only possible order. In actual device or end product execution, the methods shown in the embodiments or drawings may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even a distributed data processing environment). The terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitations, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes the elements is not excluded. For example, the use of terms such as "first," "second," etc., is to denote names and does not indicate any particular order.
[0121] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, when implementing one or more of these specifications, the functions of each module can be implemented in one or more software and / or hardware components, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.
[0122] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0123] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0124] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0125] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0126] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0127] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0128] Those skilled in the art will understand that one or more embodiments of this specification can be provided as a method, system, or computer program product. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0129] One or more embodiments of this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0130] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, system embodiments are basically similar to method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments. In the description of this specification, the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification and the features of different embodiments or examples.
[0131] The above description is merely an embodiment of one or more embodiments of this specification and is not intended to limit the scope of these embodiments. Various modifications and variations can be made to these embodiments by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims.
Claims
1. A cross-platform data query method, comprising: Obtain the encrypted behavior identifier of the current user's behavior; The encrypted behavior identifier is decrypted to obtain a target list, which contains the actual field values of multiple fields describing user behavior; The multiple fields include a behavior type field; Decrypt multiple pre-stored encryption behavior pattern identifiers to obtain multiple reference lists corresponding to each of the multiple encryption behavior pattern identifiers; A single reference list contains reference field values for at least a portion of the plurality of fields; the at least a portion of the fields includes the behavior type field; For the target list and any first reference list, a corresponding matching pattern is determined based on the actual field value and reference field value of the behavior type field contained therein, and field matching is performed on the remaining fields of the target list and the first reference list under the matching pattern. If all other fields in the target list and the first reference list match, the target data associated with the first encrypted behavior pattern identifier corresponding to the first reference list is obtained.
2. The method according to claim 1, wherein, The actual field value / reference field value of the behavior type field includes any of the following: Page access type, module click type, single application access type, and multi-application access type.
3. The method according to claim 2, wherein, The step of determining the corresponding matching pattern based on the actual field value and reference field value of the behavior type field contained therein, and performing field matching on the remaining fields in the target list and the first reference list under the matching pattern, includes: If the actual field value and the reference field value of the behavior type field contained in the target list and the first reference list are both the page access type, the corresponding matching mode is determined to be the exact matching mode, and the remaining fields in the target list and the first reference list are matched under the exact matching mode. If the actual field value and the reference field value of the behavior type field contained in the target list and the first reference list are both the click type of the module, the corresponding matching mode is determined to be the fuzzy matching mode, and the remaining fields in the target list and the first reference list are matched under the fuzzy matching mode.
4. The method according to claim 3, wherein, The remaining fields include the Super Location Model (SPM) field, which indicates the source of the user's behavior; In this exact matching mode, field matching is performed on the remaining fields of the target list and the first reference list, including: Determine whether the actual field value of the SPM field in the target list is exactly equal to the reference field value of the SPM field in the first reference list; In this fuzzy matching mode, field matching is performed on the remaining fields of the target list and the first reference list, including: The corresponding regular expression is obtained by replacing the target character in the reference field value of the SPM field with a wildcard; the regular expression is then used to match the actual field value of the SPM field.
5. The method according to claim 3, wherein, The remaining fields include an application identifier field, and the number of reference field values for the application identifier field in the first reference list is at least one; In this fuzzy matching mode, field matching is performed on the remaining fields of the target list and the first reference list, including: Determine whether the actual field value of the application identifier field is included in the reference field values of the application identifier field.
6. The method according to claim 3, wherein, The step of determining the corresponding matching pattern based on the actual field value and reference field value of the behavior type field contained therein, and performing field matching on the remaining fields of the target list and the first reference list under the matching pattern, further includes: The actual field value of the behavior type field included in the target list is the page access type, and the reference field value of the behavior type field included in the first reference list is the single application access type or the multi-application access type. The corresponding matching mode is determined to be exact match, and under the exact match mode, the remaining fields of the target list and the first reference list are matched.
7. The method according to claim 1, wherein, The method is executed through a data analysis platform. The encryption behavior identifier is obtained by the data warehouse platform encrypting the actual field values of the several fields based on an agreed target string using the AES-CTR algorithm. The decryption of the encrypted behavior identifier includes: Perform a hash operation on the target string to obtain a bit string of fixed length; The bit string is split to derive the encryption key and initialization vector; Based on the encryption key and initialization vector, the target key stream is generated using the AES algorithm; The target key stream is XORed with the encryption behavior identifier to obtain the target list.
8. The method according to claim 1, wherein, The target data refers to the service information of the target service.
9. A cross-platform data query device, comprising: The acquisition unit is used to acquire the encrypted behavior identifier of the current user's behavior; The decryption unit is used to decrypt the encrypted behavior identifier to obtain a target list, which contains the actual field values of multiple fields describing user behavior; the multiple fields include a behavior type field. The decryption unit is also used to decrypt multiple pre-stored encryption behavior pattern identifiers to obtain multiple reference lists corresponding to the multiple encryption behavior pattern identifiers respectively. A single reference list contains reference field values for at least a portion of the plurality of fields; the at least a portion of the fields includes the behavior type field; The matching unit is used to determine the corresponding matching mode for the target list and any first reference list based on the actual field value and reference field value of the behavior type field contained therein, and to perform field matching on the remaining fields of the target list and the first reference list under the matching mode. The query unit is used to retrieve target data associated with the first encrypted behavior pattern identifier corresponding to the first reference list, provided that all other fields in the target list and the first reference list match.
10. A computing device comprising a memory and a processor, wherein the memory stores executable code, and the processor, when executing the executable code, implements the method of any one of claims 1-8.