Entity object circle selection method, query method, device, server and medium
By obtaining object selection configuration information, determining the selection type and performing bitmap indexing operations, the problems of low efficiency and low accuracy in entity object selection are solved, and efficient and accurate selection results are achieved.
Patent Information
- Application Number
- CN202310981994.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-04
- Publication Date
- 2025-10-14
- Estimated Expiration
- 2043-08-04
AI Technical Summary
In massive Internet data, the selection of entity objects is inefficient and inaccurate, especially when there are many numbers and types of tags.
By acquiring the object selection configuration information, determining whether the selection type is an offline type or a real-time type, and performing a bitmap index operation in a corresponding storage medium based on the type, a bitmap set is generated to determine the selection result.
The selection process has been optimized to reduce complexity and improve selection efficiency and accuracy, especially when there are a large number of tags and types.
Smart Images

Figure CN116910337B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method for selecting an entity object, a method for querying an entity object, a device for selecting an entity object, a device for querying an entity object, a server, and a storage medium. Background Art
[0002] At present, the accuracy of the entity objects selected from massive Internet data directly determines the success or failure of the operational activities targeting the entity objects.
[0003] Typically, entity objects are labeled and their labels are used as selection criteria to identify the required entity objects for operational activities. However, when there are many entity object labels and a large number of different types, the selection process can be slow and inaccurate. Summary of the Invention
[0004] Based on this, it is necessary to provide a method for selecting an entity object, a method for querying an entity object, a device for selecting an entity object, a device for querying an entity object, a server, a computer-readable storage medium and a computer program product to address the above technical problems.
[0005] In a first aspect, the present application provides a method for selecting an entity object. The method comprises:
[0006] Obtaining object selection configuration information; the object selection configuration information is configuration information for group selection of multiple physical objects, the configuration information is obtained based on at least one preset object description information, the object description information is used to describe offline tag data or real-time tag data of the physical objects;
[0007] Determining, based on the at least one object description information, a selection type for group selection of the plurality of physical objects; the selection type including an offline type matching the offline tag data or a real-time type matching the real-time tag data;
[0008] When the selection type is the offline type, performing a bitmap indexing operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and determining a first selection result for the plurality of entity objects based on the first bitmap set; the bitmap data in the first bitmap set is used to store a list of object numbers of the entity objects having the offline tag data;
[0009] When the selection type is the real-time type, a bitmap index operation is performed on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and a second selection result for the multiple entity objects is determined based on the second bitmap set; the bitmap data in the second bitmap set is used to store an object number list of the entity objects having the real-time tag data.
[0010] In one embodiment, before obtaining the object selection configuration information, the method further includes:
[0011] Obtaining tag metadata corresponding to the multiple entity objects;
[0012] Generate tag data corresponding to each of the entity objects based on the at least one object description information and the tag metadata; the tag data is composed of a tag name and a tag value, and the amount of tag data for each of the entity objects matches the at least one object description information;
[0013] In a case where the tag data belongs to the offline tag data, corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set;
[0014] Based on the object numbers of the entity objects in each of the entity object sets, first bitmap data is generated, and the first bitmap data is stored in the first storage medium.
[0015] In one embodiment, after generating label data corresponding to each of the entity objects based on the at least one object description information and the label metadata, the method further includes:
[0016] Based on a preset aggregation function, the real-time tag data is aggregated in the tag data of each entity object to obtain a real-time tag data set; the aggregation function is used to aggregate the real-time tag data with the most recently updated tag value;
[0017] In the real-time tag data set, determining the object number of each entity object corresponding to each real-time tag data;
[0018] Performing remainder processing on each of the object numbers to obtain a remainder of each of the object numbers;
[0019] Aggregating corresponding entity objects having the same remainder to obtain corresponding sets of multiple entity objects;
[0020] The tag name and tag value of the real-time tag data corresponding to each of the entity object sets are stored in a plurality of tag buffers of a preset real-time tag table to obtain a pre-processed real-time tag table;
[0021] The number of the multiple tag buffers matches the number of the multiple entity object sets.
[0022] In one embodiment, after generating label data corresponding to each of the entity objects based on the at least one object description information and the label metadata, the method further includes:
[0023] In the pre-processed real-time tag table, the corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set;
[0024] Based on the object numbers of the entity objects in each of the entity object sets, second bitmap data is generated, and the second bitmap data is stored in the second storage medium.
[0025] In one embodiment, determining the selection type for group selection of the multiple physical objects based on the at least one object description information includes:
[0026] If the real-time tag data does not exist in the at least one tag data corresponding to the at least one object description information, determining that the circled type is an offline type;
[0027] If the real-time tag data exists in the at least one tag data corresponding to the at least one object description information, the circled type is determined to be a real-time type.
[0028] In one embodiment, the object selection configuration information includes at least one corresponding constraint condition configured for the at least one object description information;
[0029] The performing a bitmap index operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set includes:
[0030] In the first storage medium, first bitmap data satisfying each of the constraints is indexed respectively to obtain the first bitmap set;
[0031] The performing a bitmap index operation on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set includes:
[0032] In the second storage medium, the second bitmap data satisfying each of the constraint conditions are respectively indexed to obtain the second bitmap set.
[0033] In one embodiment, determining a first selection result for the plurality of physical objects based on the first bitmap set includes:
[0034] determining a target entity object based on an intersection of entity objects between the object number lists of each of the first bitmap data, and taking the target entity object as the first selection result;
[0035] The determining a second selection result for the plurality of physical objects based on the second bitmap set includes:
[0036] Based on the intersection of entity objects between the object number lists of each second bitmap data, a target entity object is determined, and the target entity object is used as the second selection result.
[0037] In a second aspect, the present application provides a method for querying entity objects. The method comprises:
[0038] Obtaining a first type of bitmap set and a circle selection result corresponding to the first type of bitmap set; the first type of bitmap and the circle selection result are both obtained based on a circle selection method for an entity object;
[0039] Determining, in the first storage medium and / or the second storage medium, a second type of bitmap set different from the bitmap data in the first type of bitmap set;
[0040] Based on the circled selection result, performing an AND operation on the first type bitmap set and the second type bitmap set to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set; the object number list is a list of entity object numbers represented by the circled selection result;
[0041] The distribution query result of the entity object is represented based on the label name and label value of each bitmap data in the third type bitmap set.
[0042] In a third aspect, the present application provides a method for querying entity objects. The method comprises:
[0043] Obtaining an object number of a target entity object and object selection configuration information of a target selection object; wherein the object selection configuration information is obtained based on a selection method of the entity object;
[0044] Determining a storage medium for storing bitmap data corresponding to the target circled object based on the circled type of the target circled object; and converting the constraint conditions included in the object circled configuration information into corresponding executable code;
[0045] Indexing tag data for the target entity object in the storage medium;
[0046] inputting the label data of the target entity object into the executable code running to determine whether the label data satisfies the constraint condition through the executable code to obtain a corresponding query result;
[0047] wherein, in the case that the label data does not satisfy the constraint condition, the query result represents that the target entity object does not belong to the target circle selection object;
[0048] in the case that the label data satisfies the constraint condition, the query result represents that the target entity object belongs to the target circle selection object
[0049] In a fourth aspect, the present application also provides a circle selection device for entity objects. The device comprises:
[0050] an information acquisition unit configured to perform acquisition of object circle selection configuration information; the object circle selection configuration information is configuration information for group circle selection of a plurality of entity objects, and the configuration information is obtained based on at least one preset object description information, which is used to describe offline label data or real-time label data of an entity object;
[0051] a circle selection type unit configured to perform determination of a circle selection type for group circle selection of the plurality of entity objects based on the at least one object description information; the circle selection type includes an offline type matched to the offline label data or a real-time type matched to the real-time label data;
[0052] a first circle selection unit configured to perform, in the case that the circle selection type is the offline type, bitmap indexing operation on a first storage medium based on the object circle selection configuration information to obtain a corresponding first bitmap set, and determine a first circle selection result for the plurality of entity objects based on the first bitmap set; bitmap data in the first bitmap set is used to store an object number list of an entity object having the offline label data;
[0053] a second circle selection unit configured to perform, in the case that the circle selection type is the real-time type, bitmap indexing operation on a second storage medium based on the object circle selection configuration information to obtain a corresponding second bitmap set, and determine a second circle selection result for the plurality of entity objects based on the second bitmap set; bitmap data in the second bitmap set is used to store an object number list of an entity object having the real-time label data.
[0054] In a fifth aspect, the present application also provides a query device for entity objects. The device comprises:
[0055] The first type of bitmap unit is configured to perform obtaining a first type of bitmap set and a circle selection result corresponding to the first type of bitmap set; the first type of bitmap and the circle selection result are both obtained based on a circle selection method of an entity object;
[0056] The second type of bitmap unit is configured to perform determining, in a first storage medium and / or a second storage medium, a second type of bitmap set that is distinguished from each bitmap data in the first type of bitmap set;
[0057] The third type of bitmap unit is configured to perform performing an AND operation on the first type of bitmap set and the second type of bitmap set based on the circle selection result, to determine a third type of bitmap set in the second type of bitmap set that has a same object number list as the first type of bitmap set; the object number list is an entity object number list represented by the circle selection result;
[0058] The query result unit is configured to perform representing a distribution query result of the entity object based on a label name and a label value of each bitmap data in the third type of bitmap set.
[0059] In a sixth aspect, the present application further provides an entity object query device. The device comprises:
[0060] The information acquisition unit is configured to perform obtaining an object number of a target entity object and object circle selection configuration information of a target circle selection object; the object circle selection configuration information is obtained based on a circle selection method of an entity object;
[0061] The storage medium unit is configured to perform determining, based on a circle selection type of the target circle selection object, a storage medium for storing an object number list corresponding to the target circle selection object;
[0062] The code conversion unit is configured to perform converting a constraint condition included in the object circle selection configuration information into a corresponding executable code;
[0063] The label query unit is configured to perform indexing out a target object number list about the target entity object in the storage medium;
[0064] The query result unit is configured to perform determining, based on the target object number list, label data to which the target entity object belongs; and inputting the label data of the target entity object into the executable code to run, to determine, by the executable code, whether the label data satisfies the constraint condition, to obtain a corresponding query result
[0065] In a case where the label data does not satisfy the constraint condition, the query result represents that the target entity object does not belong to the target circle selection object;
[0066] In a case where the label data satisfies the constraint condition, the query result represents that the target entity object belongs to the target circle selection object.
[0067] In a seventh aspect, the present application also provides a server, comprising:
[0068] a processor;
[0069] a memory for storing executable instructions of the processor;
[0070] The processor is configured to execute the executable instructions to implement the circle selection method of the entity object or the query method of the entity object.
[0071] In an eighth aspect, the present application also provides a computer readable storage medium. The computer readable storage medium comprises program data, and when the program data is executed by a processor of a server, the server can execute the circle selection method of the entity object or the query method of the entity object.
[0072] In a ninth aspect, the present application also provides a computer program product. The computer program product comprises program instructions, and when the program instructions are executed by a processor of a server, the server can execute the circle selection method of the entity object or the query method of the entity object.
[0073] The above-mentioned entity object selection method, entity object query method, entity object selection device, entity object query device, server, computer-readable storage medium and computer program product first obtain object selection configuration information; wherein the object selection configuration information is configuration information for group selection of multiple entity objects, and the configuration information is obtained based on at least one preset object description information, and the object description information is used to describe the offline tag data or real-time tag data of the entity object; then, based on the at least one object description information, a selection type for group selection of the multiple entity objects is determined; wherein the selection type includes an offline type that matches the offline tag data or a real-time type that matches the real-time tag data; finally Then, in the case where the selection type is an offline type, a bitmap indexing operation is performed on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and a first selection result for multiple entity objects is determined based on the first bitmap set; wherein, the bitmap data in the first bitmap set is used to store an object number list of entity objects with offline tag data; or, in the case where the selection type is a real-time type, a bitmap indexing operation is performed on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and a second selection result for multiple entity objects is determined based on the second bitmap set; wherein, the bitmap data in the second bitmap set is used to store an object number list of entity objects with real-time tag data. In this way, on the one hand, different from the existing technology, this solution first obtains object selection configuration information for multiple entity objects, and then determines the type of selection to be performed on the entity objects based on the object selection configuration information, so as to index the bitmap data corresponding to the label data of the entity objects from the corresponding storage medium, and finally obtain the selection result by using the bitmap data, thereby optimizing the process of selecting entity objects, reducing the complexity of selecting entity objects and improving the efficiency of selecting entity objects; on the other hand, the type of object selection to be performed is determined to be offline type or real-time type based on the object description information in the object selection configuration information, so as to index the bitmap data corresponding to the offline label data or real-time label data from the corresponding storage medium in the case of offline type or real-time type, and finally obtain the selection result by using the bitmap data, thereby effectively improving the accuracy and effectiveness of selecting entity objects when the number and type of labels of entity objects are large.
[0074] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute an improper limitation of the present disclosure.
[0076] Figure 1 This is a diagram showing an application environment of a method for selecting an entity object according to an exemplary embodiment.
[0077] Figure 2 The figure is a flowchart of a method for selecting an entity object according to an exemplary embodiment.
[0078] Figure 3 The figure is a flowchart showing a step of storing bitmap data into a storage medium according to an exemplary embodiment.
[0079] Figure 4 The figure is a flowchart of a method for querying an entity object according to an exemplary embodiment.
[0080] Figure 5 The module diagram of a query method for an entity object is shown according to an exemplary embodiment.
[0081] Figure 6 The figure is a flowchart of another entity object query method according to an exemplary embodiment.
[0082] Figure 7 It is a module diagram showing another entity object query method according to an exemplary embodiment.
[0083] Figure 8 The figure is a flowchart of a method for selecting an entity object according to another exemplary embodiment.
[0084] Figure 9 It is a module diagram of a method for selecting an entity object according to another exemplary embodiment.
[0085] Figure 10 The present invention is a block diagram of a device for selecting a physical object according to an exemplary embodiment.
[0086] Figure 11 The figure is a block diagram of a device for querying an entity object according to an exemplary embodiment.
[0087] Figure 12 The figure is a block diagram of another device for querying an entity object according to an exemplary embodiment.
[0088] Figure 13 The figure is a block diagram of a server for selecting and querying entity objects according to an exemplary embodiment. DETAILED DESCRIPTION
[0089] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.
[0090] The entity object circle selection method or the entity object query method provided by the embodiments of the present application can be applied to an application environment as shown in Figure 1 . The terminal 102 communicates with the server 104 through a network. The data storage system can store data required to be processed by the server 104. The data storage system can be integrated on the server 104, or placed on a cloud or other network server. The terminal 102 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle device, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc. The server 104 can be implemented by an independent server or a server cluster composed of multiple servers.
[0091] In some embodiments, with reference to Figure 1 , first, the server 104 acquires object circle selection configuration information; the object circle selection configuration information is configuration information for group circle selection of multiple entity objects, and the configuration information is configured based on at least one preset object description information; the object description information is used to describe offline label data or real-time label data of the entity object; then, the server 104 determines a circle selection type for group circle selection of the multiple entity objects based on the at least one object description information; the circle selection type includes an offline type matched to the offline label data or a real-time type matched to the real-time label data; finally, in a case where the circle selection type is the offline type, the server 104 performs a bitmap indexing operation on a first storage medium based on the object circle selection configuration information, obtains a corresponding first bitmap set, and determines a first circle selection result for the multiple entity objects based on the first bitmap set; the bitmap data in the first bitmap set is used to store an object number list of the entity object having the offline label data; or in a case where the circle selection type is the real-time type, the server 104 performs a bitmap indexing operation on a second storage medium based on the object circle selection configuration information, obtains a corresponding second bitmap set, and determines a second circle selection result for the multiple entity objects based on the second bitmap set; the bitmap data in the second bitmap set is used to store an object number list of the entity object having the real-time label data.
[0092] In one embodiment, as shown in Figure 2 , an entity object circle selection method is provided. Taking the server in Figure 1 as an example, the method includes the following steps:
[0093] Step S11: Obtain object circle selection configuration information.
[0094] The object circle selection configuration information is configuration information for group circle selection of the plurality of entity objects.
[0095] In some embodiments, the configuration information is configured based on preset object description information, and the object description information is used to describe offline label data or real-time label data of the entity objects.
[0096] The object description information is a domain specific language (DSL), which includes offline type domain specific language and real-time type domain specific language, i.e., the offline type domain specific language is used to describe offline label data of the entity objects, and the real-time type domain specific language is used to describe real-time label data of the entity objects.
[0097] As an example, the object description information includes offline type gender (such as male, female, and unknown gender), offline type age (such as 0-40 years old), offline type province (such as Guangdong Province, Shaanxi Province, and Shanxi Province), real-time type past 7-day recharge amount (such as 100 yuan and 10,000 yuan), real-time type past 7-day tipping amount (such as 100 yuan and 10,000 yuan), and the like.
[0098] In some embodiments, the object circle selection configuration information includes at least one constraint condition configured for at least one object description information.
[0099] As an example, certain object circle selection configuration information is configured by the four object description information of “province”, “age”, “past 7-day recharge amount”, and “past 7-day tipping amount”, and the constraint condition for “province” is “Guangdong Province”, the constraint condition for “age” is “18 to 30 years old”, the constraint condition for “past 7-day recharge amount” is “greater than 1000”, and the constraint condition for “past 7-day tipping amount” is “greater than 1000”, so that the object circle selection configuration information can be represented as circle selection of the “Guangdong Province” population whose age is between 18 and 30 years old, whose “past 7-day recharge amount” is greater than 1000, and whose “past 7-day tipping amount” is greater than 1000.
[0100] Step S12: Determine a circle selection type for group circle selection of the plurality of entity objects based on at least one object description information.
[0101] In some embodiments, the circle selection type includes offline type matching offline label data or real-time type matching real-time label data.
[0102] In an embodiment, the server determines the circle selection type of the group circle selection, including: if there is no real-time label data in the at least one label data corresponding to the at least one object description information, determining that the circle selection type is an offline type.
[0103] Specifically, if the object circle selection configuration information is configured by the domain-specific languages all belonging to the offline type, the label data corresponding to the domain-specific languages all belong to the offline label data, so that the circle selection type corresponding to the object circle selection configuration information is determined to be the offline type.
[0104] In an embodiment, the server determines the circle selection type of the group circle selection, including: if there is real-time label data in the at least one label data corresponding to the at least one object description information, determining that the circle selection type is a real-time type.
[0105] Specifically, if the object circle selection configuration information is configured by at least one domain-specific language of the real-time type, there is at least one label data in the label data corresponding to the domain-specific language, so that the circle selection type corresponding to the object circle selection configuration information is determined to be the real-time type.
[0106] Step S13: in the case where the circle selection type is the offline type, performing a bitmap indexing operation on the first storage medium based on the object circle selection configuration information to obtain a corresponding first bitmap set, and determining a first circle selection result for the plurality of entity objects based on the first bitmap set.
[0107] Among the bitmap data in the first bitmap set, the bitmap data is used to store an object number list of an entity object having offline label data.
[0108] As an example, the first bitmap set includes bitmap data A1 and bitmap data A2. Among them, the object number list stored by the bitmap data A1 includes the object number X1 of the first entity object having the offline label data [S0, P0] and the object number X2 of the second entity object also having the offline label data [S0, P0]; the object number list stored by the bitmap data A2 includes the object number X3 of the third entity object having the offline label data [S1, P1] and the object number X4 of the fourth entity object also having the offline label data [S1, P1]. Among them, S0 is the label name of the first offline label data, P0 is the label value of the first offline label data, S1 is the label name of the second offline label data, and P1 is the label value of the second offline label data.
[0109] In some embodiments, the process of obtaining the corresponding first bitmap set by the server includes: respectively indexing the first bitmap data satisfying each constraint condition in the first storage medium to obtain the first bitmap set.
[0110] The first storage medium is a database for storing bitmap data corresponding to offline label data.
[0111] For example, if the constraint condition of the object circle selection configuration information includes "Guangdong Province" as the province and "20-22 years old" as the age, the server indexes four first bitmap data corresponding to offline label data [province, Guangdong Province], [age, 20], [age, 21], and [age, 22] in the first storage medium to obtain a first bitmap set.
[0112] In some embodiments, the process of determining the first circle selection result by the server includes: determining a target entity object based on the intersection of the object number lists of the first bitmap data about the entity object, and taking the target entity object as the first circle selection result.
[0113] For example, the object number list stored in the first bitmap data corresponding to [province, Guangdong Province] includes 30 object numbers X1-X30; the object number list stored in the first bitmap data corresponding to [age, 20] includes 15 object numbers X15-X30; the object number list stored in the first bitmap data corresponding to [age, 21] includes 20 object numbers X20-X40; and the object number list stored in the first bitmap data corresponding to [age, 22] includes 10 object numbers X28-X38; thus, the intersection of the above four object number lists about the entity object is three entity objects with object numbers X28-X30, i.e., the first entity object with object number X28, the second entity object with object number X29, and the third entity object with object number X30 are taken as the target entity objects, and the three entity objects are taken as the first circle selection result.
[0114] Step S14: In the case where the circle selection type is the real-time type, performing a bitmap indexing operation on the second storage medium based on the object circle selection configuration information to obtain a corresponding second bitmap set, and determining a second circle selection result for a plurality of entity objects based on the second bitmap set.
[0115] The bitmap data in the second bitmap set is used to store an object number list of an entity object with real-time label data.
[0116] As an example, the second bitmap set includes bitmap data A3 and bitmap data A4. The object number list stored in bitmap data A3 includes object number X5 of a fifth entity object having real-time tag data [S2, P2] and object number X6 of a sixth entity object also having real-time tag data [S2, P2]. The object number list stored in bitmap data A3 includes object number X7 of a seventh entity object having real-time tag data [S3, P3] and object number X8 of an eighth entity object also having real-time tag data [S3, P3]. S2 is the tag name of the third real-time tag data, P2 is the tag value of the third real-time tag data, and S3 is the tag name of the fourth real-time tag data, and P3 is the tag value of the fourth real-time tag data.
[0117] In some embodiments, the process of the server obtaining the corresponding second bitmap set includes: respectively indexing the second bitmap data that meets each constraint condition in the second storage medium to obtain the second bitmap set.
[0118] The second storage medium is a database for storing bitmap data for real-time tag data.
[0119] As an example, the constraint conditions of the configuration information of a certain object selection include the reward amount in the past 7 days being "100" and the recharge amount in the past 7 days being "200". The server then indexes two second bitmap data corresponding to the real-time label data of [reward amount in the past 7 days, 100] and [recharge amount in the past 7 days, 200] in the second storage medium to obtain a second bitmap set.
[0120] In some embodiments, the process of the server determining the second selection result includes: determining a target entity object based on an intersection of entity objects between object number lists of each second bitmap data, and using the target entity object as the second selection result.
[0121] As an example, the object number list stored in the second bitmap data for [amount of reward in the past 7 days, 100] includes 10 object numbers X1-X10; the object number list stored in the second bitmap data for [amount of recharge in the past 7 days, 200] includes 10 object numbers X7-X17; thus, the intersection of entity objects between the above two object number lists is four entity objects with object numbers X7-X10, that is, the fourth entity object with object number X7, the fifth entity object with object number X8, the sixth entity object with object number X9 and the seventh entity object with object number X10 are taken as target entity objects, and these four entity objects are taken as the second selection results.
[0122] In other embodiments, when the selection type is a real-time type, the server can simultaneously perform bitmap indexing operations on the first storage medium and the second storage medium based on the object selection configuration information to obtain a corresponding third bitmap set, and determine a third selection result for multiple entity objects based on the third bitmap set.
[0123] The bitmap data in the third bitmap set includes both an object number list for storing entity objects with real-time tag data and an object number list for storing entity objects with offline tag data.
[0124] In some embodiments, the process of the server obtaining the corresponding third bitmap set includes: respectively indexing the third bitmap data satisfying each constraint condition in the first storage medium and the second storage medium to obtain the third bitmap set.
[0125] Furthermore, the process of the server determining the third selection result includes: determining a target entity object based on an intersection of entity objects between object number lists of each third bitmap data, and using the target entity object as the third selection result.
[0126] In the above-mentioned entity object selection process, the server first obtains object selection configuration information; wherein, the object selection configuration information is configuration information for group selection of multiple entity objects, and the configuration information is obtained based on at least one preset object description information configuration, and the object description information is used to describe the offline tag data or real-time tag data of the entity object; then, based on the at least one object description information, the server determines the selection type for group selection of multiple entity objects; wherein the selection type includes an offline type that matches the offline tag data or a real-time type that matches the real-time tag data; finally, in the case where the selection type is an offline type, the server determines the selection type based on the object selection configuration information. The first storage medium is subjected to a bitmap indexing operation based on the object selection configuration information to obtain a corresponding first bitmap set, and a first selection result for the multiple entity objects is determined based on the first bitmap set; wherein the bitmap data in the first bitmap set is used to store an object number list of the entity objects with offline tag data; or, in the case where the selection type is a real-time type, a bitmap indexing operation is performed on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and a second selection result for the multiple entity objects is determined based on the second bitmap set; wherein the bitmap data in the second bitmap set is used to store an object number list of the entity objects with real-time tag data. In this way, on the one hand, different from the existing technology, this solution first obtains object selection configuration information for multiple entity objects, and then determines the type of selection to be performed on the entity objects based on the object selection configuration information, so as to index the bitmap data corresponding to the label data of the entity objects from the corresponding storage medium, and finally obtain the selection result by using the bitmap data, thereby optimizing the process of selecting entity objects, reducing the complexity of selecting entity objects and improving the efficiency of selecting entity objects; on the other hand, the type of object selection to be performed is determined to be offline type or real-time type based on the object description information in the object selection configuration information, so as to index the bitmap data corresponding to the offline label data or real-time label data from the corresponding storage medium in the case of offline type or real-time type, and finally obtain the selection result by using the bitmap data, thereby effectively improving the accuracy and effectiveness of selecting entity objects when the number and type of labels of entity objects are large.
[0127] Those skilled in the art will appreciate that the disclosed methods in the specific embodiments described above may be implemented in more specific ways. For example, the above-described embodiment in which the server determines the selection type for group selection of multiple physical objects based on at least one object description information is merely illustrative.
[0128] Exemplarily, the server determines a first selection result for multiple entity objects based on a first bitmap set; or, the server determines a second selection result for multiple entity objects based on a second bitmap set, and so on. This is merely a collection method, and there may be other division methods in actual implementation. For example, the first bitmap set in the first storage medium and the second bitmap set in the second storage medium can be combined or collected into another system, or some features can be ignored or not executed.
[0129] In an exemplary embodiment, see Figure 3 , Figure 3 This is a flow chart of an embodiment of storing bitmap data into a storage medium in this application. Before step S11, before the server obtains the object selection configuration information, the following method can also be performed:
[0130] Step a1: Obtain tag metadata corresponding to multiple entity objects.
[0131] The tag metadata can include some offline data of the entity object. For example, when the entity object is a crowd user, the tag metadata can include the crowd user's gender, age, province, etc.; when the entity object is a virtual entity (such as a game character or virtual anchor), the tag metadata can include the virtual entity's type, creation time, account level, etc.
[0132] The tag metadata can also include some real-time data of the entity object. For example, when the entity object is a user, the tag metadata can include the user's single recharge amount, single consumption amount, etc.; when the entity object is a virtual entity (such as a game character, virtual anchor, etc.), the tag metadata can include the virtual entity's login time, login duration, game character or virtual anchor's equipment / costume, etc.
[0133] Step a2: Generate label data corresponding to each entity object based on at least one object description information and label metadata.
[0134] The tag data is composed of a tag name and a tag value, and the amount of tag data of each entity object matches at least one object description information.
[0135] Since the tag metadata includes offline data or real-time data, the tag data generated by the server includes offline tag data or real-time tag data.
[0136] As an example, the corresponding object description information in the object selection configuration information includes two types: "age" and "recharge amount in the past 7 days". Among them, the server generates a label data S1 [A1, 0] based on the tag metadata "male" and the object description information including "age", wherein A1 is the label name of the label data S1, which represents "gender", 0 is the label value of the label data S1, which represents male, and the label data S1 is offline label data. In addition, the server generates a label data S2 [A2, 1000] based on the tag metadata "single recharge amount" and the object description information including "recharge amount in the past 7 days", wherein A2 is the label name of the label data S2, which represents "the recharge amount of the user in the past 7 days", 1000 is the label value of the label data S2, which represents the size of the recharge amount of the user in the past 7 days, and the label data S2 is real-time label data.
[0137] Furthermore, in the case that the tag data is offline tag data, the server performs the following steps a3 to a4 to store the bitmap data corresponding to the offline tag data into a storage medium.
[0138] Step a3: Aggregate the corresponding entity objects with the same tag name and tag value to obtain at least one corresponding entity object set.
[0139] Step a4: generating first bitmap data based on the object numbers of the entity objects in each entity object set, and storing the first bitmap data in a first storage medium.
[0140] Among them, bitmap data is a data structure that stores data bit by bit. It is used to convert label data into the form of [label, label value] of a list of entity object numbers for storage. That is, a bitmap data can express a list of entity object numbers with the same label attributes (i.e., offline attributes / real-time attributes), label names (such as gender, age) and label values (such as the label value of male is 0, the label value of female is 1, and the label value of unknown gender is 2).
[0141] For example, the first bitmap data S1 stores label data (A1, 0) for the object number list X1, wherein A1 represents the label name "gender", 0 represents male, and X1 represents the object number list having the same male gender.
[0142] For another example, the first bitmap data S2 stores label data (A2, 33) for the object number list X2, wherein A2 represents the label name "age", 33 represents the age, and X2 represents the object number list with the same age of 33.
[0143] Furthermore, in the case that the tag data is real-time tag data, the server executes the following steps a5 to a6 to store the bitmap data corresponding to the real-time tag data into a storage medium.
[0144] Step a5: In the pre-processed real-time tag table, entity objects corresponding to the same tag name and tag value are aggregated to obtain at least one corresponding entity object set.
[0145] In one embodiment, the real-time tag table is a data storage table pre-created by the server for storing real-time tag data.
[0146] The server pre-generates a real-time tag table, which can be executed based on the following steps:
[0147] Step 1: Based on a preset aggregation function, aggregate the real-time tag data in the tag data of each entity object to obtain a real-time tag data set.
[0148] Since an entity object can have multiple real-time tag data values for the same tag name, this aggregation function is used to aggregate the real-time tag data with the most recently updated tag value. For example, if the real-time tag data "Reward Amount in the Past 7 Days" for multiple entity objects has different tag values from the day before yesterday, yesterday, and today, to ensure the real-time nature of the real-time tag data, the server aggregates the "Reward Amount in the Past 7 Days" for multiple entity objects today to obtain the real-time tag data set.
[0149] Step 2: In the real-time tag data set, determine the object number of each entity object corresponding to each real-time tag data.
[0150] Step 3: Perform remainder processing on each object number to obtain the remainder of each object number.
[0151] Step 4: Aggregate the corresponding entity objects with the same remainder to obtain a corresponding set of multiple entity objects.
[0152] The server modulo the object number of each entity object based on a preset function to obtain a corresponding remainder, and aggregates entity objects with the same remainder.
[0153] As an example, if the remainder of the entity objects numbered 1-5 is taken as "0", the remainder of the entity objects numbered 6-9 is taken as "1", and the remainder of the entity objects numbered 10-15 is taken as "2", then the server aggregates the entity objects numbered 1-5 into a first entity object set, aggregates the entity objects numbered 6-9 into a second entity object set, and aggregates the entity objects numbered 10-15 into a third entity object set.
[0154] Step 5: The tag name and tag value of the real-time tag data corresponding to each entity object set are stored in multiple tag buffers of a preset real-time tag table to obtain a pre-processed real-time tag table.
[0155] The number of the multiple tag buffers matches the number of the multiple entity object sets. For example, if the number of entity object sets aggregated in step 4 is 8, then 8 tag buffers are pre-allocated in the real-time tag table, and the tag name and tag value corresponding to each entity object set are stored in its corresponding tag buffer.
[0156] Step a6: generating second bitmap data based on the object numbers of the entity objects in each entity object set, and storing the second bitmap data in a second storage medium.
[0157] Entity objects with the same tag name and tag value are aggregated to obtain at least one corresponding entity object set.
[0158] As an example, for the entity object set obtained in step a5, which is entity object A1, entity object A2, and entity object A3 with the same label data (A3, 1500), the server arranges the object numbers of entity object A1, entity object A2, and entity object A3 to obtain an object number list to generate second bitmap data for the label data (A3, 1500).
[0159] In one embodiment, Figure 4 and Figure 5 As shown, Figure 4 A flowchart of a query method for an entity object is provided. Figure 5 A module diagram of a query method for an entity object is provided. Figure 1 The following steps are used as an example to illustrate the server in the example:
[0160] Step S21: Obtain a first type of bitmap set and a circle selection result corresponding to the first type of bitmap set.
[0161] The first type of bitmap set and the circle selection result are both obtained based on the circle selection method for the entity object in the above embodiment, which will not be described in detail here.
[0162] In one embodiment, the first type of bitmap set may be the first bitmap set correspondingly stored in the first storage medium in the above embodiment, and the corresponding selection result may be a list of user numbers selected for the offline population.
[0163] In other embodiments, the first type of bitmap set may also be the second bitmap set correspondingly stored in the second storage medium in the above embodiment, and the corresponding selection result is a list of user numbers selected for the real-time crowd.
[0164] Among them, the list of user numbers circled for the offline crowd and / or the list of user numbers circled for the real-time crowd can represent the distribution of the circled objects with corresponding label data, that is, when the entity object is a crowd user, the selection results corresponding to the first type of bitmap set represent the distribution of the crowd users with corresponding label data.
[0165] Step S22: Determine, in the first storage medium and / or the second storage medium, a second type of bitmap set that is different from the bitmap data in the first type of bitmap set.
[0166] As an example, bitmap data X1, bitmap data X2, bitmap data X3, and bitmap data X4 are stored in the first storage medium; bitmap data X5, bitmap data X6, bitmap data X7, and bitmap data X8 are stored in the second storage medium. The first type of bitmap set includes bitmap data X1 and bitmap data X2 in the first storage medium. The second type of bitmap set, which is different from the first type of bitmap set, can include two types of bitmap data X3 and bitmap data X4, or four types of bitmap data X3, bitmap data X4, bitmap data X5, bitmap data X6, bitmap data X7, and bitmap data X8. The first storage medium and the second storage medium can be stored in the data warehouse Clickhouse respectively.
[0167] Step S23: Based on the circled result, perform an AND operation on the first type bitmap set and the second type bitmap set to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set.
[0168] The object number list is a number list of the entity objects represented by the circled result.
[0169] As an example, a first-category bitmap set includes bitmap data X1 and bitmap data X2, and a second-category bitmap set includes bitmap data X3, bitmap data X4, bitmap data X3, bitmap data X4, bitmap data X5, bitmap data X6, bitmap data X7, and bitmap data X8. The circled selection result corresponding to the first-category bitmap set represents object number x1, object number x2, and object number x3 that are simultaneously included between bitmap data X1 and bitmap data X2. The server then performs an AND operation on the first-category bitmap set and the second-category bitmap set to determine object number x1, object number x2, and object number x3 that are also simultaneously included between bitmap data X7 and bitmap data X8 in the second-category bitmap set, and combines bitmap data X7 and bitmap data X8 into a third-category bitmap set.
[0170] Step S24: representing the distribution query result of the entity object based on the label name and label value of each bitmap data in the third type bitmap set.
[0171] In one embodiment, the server queries the distribution of the selected object corresponding to the selected result in other label data based on each bitmap data in the third type bitmap set. Specifically, steps S22 and S23 above perform a label distribution query on the selected object, and step S24 determines the label distribution query result for the selected object. The other label data is label data that is different from the bitmap data in the first type bitmap set.
[0172] As an example, the first type of bitmap set stores bitmap data about [age, 20] and [province, Guangdong Province], and the selection result represents the selected users X1 and X2 who meet both the labels [age, 20] and [province, Guangdong Province]; and the third type of bitmap set corresponding to the first type of bitmap set stores bitmap data about [education level, bachelor's degree] and [amount of consumption in the past 7 days, 1000], so that the distribution query result represents that the distribution of the selected users X1 and X2 in other label data is [education level, bachelor's degree] and [amount of consumption in the past 7 days, 1000].
[0173] In one embodiment, Figure 6 and Figure 7 As shown, Figure 6 A flowchart of another entity object query method is provided. Figure 7 Provides a module diagram of another entity object query method, which is applied to Figure 1 The following steps are used as an example to illustrate the server in the example:
[0174] Step S31 : obtaining the object number of the target entity object and the object selection configuration information of the target selected object.
[0175] The server obtains the object selection configuration information, that is, obtains the object selection rules applied when selecting the target object. The object selection configuration information is obtained based on the entity object selection method in the above embodiment, which will not be described in detail here.
[0176] In one embodiment, the target entity object is an entity object to be confirmed as belonging to the target circled object.
[0177] Step S32: Based on the selection type of the target selected object, determine a storage medium for storing the object number list corresponding to the target selected object.
[0178] Specifically, the server parses the object selection configuration information (i.e., object selection rules) through a preset parser to determine the selection type for the target selection object. The method for determining the selection type is similar to the embodiment in step S12 above and will not be described in detail here.
[0179] In some embodiments, the storage medium for storing the object number list corresponding to the target selected object may be an HBase database or a Redis database, wherein the object number list may be stored based on key-value pair data in a key-value format.
[0180] As an example, the bitmap data P1 stores the object number list X1 about the label data (gender, male), and the bitmap data P1 is stored in the data warehouse Clickhouse. The server converts the bitmap data P1 into key-value pair data Q1, and stores the key-value pair data Q1 in the HBase database or Redis database. Among them, the key-value pair data Q1 is used to store the object number list X1 of the label data (gender, male) in the key-value form of (|sex|: 1001|1|, 1003|1|, 1015|1|, 1036|1|). Among them, "|sex|" represents the name of the label data, namely "gender", "1001, 1003, 1015, 1036" represent the object number list X1, and "|1|" is the label value of the label data, namely "male".
[0181] Among them, when the circle selection type is the offline circle selection type, the server stores the first bitmap data belonging to multiple entity objects into the first storage medium (that is, the storage area for offline tags in the data warehouse Clickhouse) based on the above step a4, and then converts each first bitmap data into first key-value pair data in key-value form, and then stores the first key-value pair data in real time into the Redis database for temporary storage, and finally stores the first key-value pair data into the HBase database for long-term storage at regular intervals.
[0182] Among them, when the selection type is a real-time selection type, the server stores the second bitmap data belonging to multiple entity objects in the second storage medium (that is, the storage area for real-time tags in the data warehouse Clickhouse) based on the above step a6, and then converts each second bitmap data into second key-value pair data in key-value form, and then stores the second key-value pair data in real time in the Redis database for temporary storage, and finally stores the second key-value pair data in the HBase database for long-term storage at regular intervals.
[0183] Step S33: converting the constraint conditions included in the object selection configuration information into corresponding executable codes.
[0184] As an example, the constraints included in the object selection configuration information include: "recharge amount in the past 7 days" is greater than 1,000, "reward amount in the past 7 days" is greater than 1,000, and "age" is between 18 and 30 years old, so that the server converts the three constraints into corresponding executable codes in turn.
[0185] Step S34: indexing a target object number list related to the target entity object in the storage medium.
[0186] In one embodiment, when the circled type is an offline type, the server inputs the object number of the target entity object into a preset offline object query, so as to query a target object number list of label data corresponding to the offline type of the target entity object stored in the storage medium by calling the offline object query.
[0187] For example, a storage medium stores offline tag data in object ID lists including: list S1 (|sex|: 1001|1|, 1003|1|, 1015|1|, 1036|1|), list S2 (|age|: 1002|18|, 1003|18|, 1019|18|, 1040|18|, 1045|18|), and list S3 (|Area|: 1001|0|, 1006|0|, 1008|0|, 1030|0|, 1035|0|). List S1 represents a list of object IDs whose gender is male, list S2 represents a list of object IDs whose age is 18, and list S3 represents a list of object IDs whose location is Guangdong Province. Among them, the object number of the target entity object is "1001". The offline object query device searches in list S1, list S2 and list S3 and finds that the object number "1001" exists in list S1 and list S3. Then, the target object number list about the target entity object "1001" is indexed in the storage medium, namely list S1 and list S3.
[0188] In one embodiment, when the circled type is a real-time type, the server inputs the object number of the target entity object into a preset real-time object query device, so as to query a target object number list of the label data corresponding to the real-time type of the target entity object stored in the storage medium by calling the real-time object query device.
[0189] For example, a storage medium stores object number lists of real-time tag data, including list S4 (|Level|: 1003|100|, 1006|100|, 1015|100|, 1026|100|), list S5 (|Balance|: 1002|1000|, 1003|1000|, 1019|1000|, 1030|1000|, 1045|1000|), and list S6 (|Recharge|: 1001|0|, 1006|0|, 1008|0|, 1030|0|, 1033|0|). List S4 represents an object number list for an account with a level of 100, list S5 represents an object number list for an account with a balance of 1000, and list S6 represents an object number list for a recharge value of 0. Among them, the object number of the target entity object is "1003". The real-time object query finds out that the object number "1003" exists in list S4 and list S5 by querying in list S4, list S5 and list S6, and then indexes the target object number list about the target entity object "1003" in the storage medium, which is list S4 and list S5.
[0190] Among them, since the key-value pair data (including the first key-value pair data and the second key-value pair data) of each entity object has been stored in the Redis database and the HBase database, the offline object queryer / real-time object queryer first queries the target object number list for the target entity object in the Redis database, and when the target object number list for the target entity object does not exist in the Redis database, the offline object queryer / real-time object queryer queries the target object number list for the target entity object in the HBase database.
[0191] Step S35: Based on the target object number list, determine the label data belonging to the target entity object; and input the label data belonging to the target entity object into the executable code to run, so as to determine whether the label data meets the constraint conditions through the executable code to obtain the corresponding query result.
[0192] Specifically, the server first determines the label data (including label name and label value) belonging to each target object number list based on the target object number list in key-value format corresponding to the target entity object; then, through executable code, the label value of each label data is matched with the constraint conditions corresponding to the label name to determine whether the label value of each label data satisfies the constraint conditions and obtain the corresponding query result.
[0193] If the label data does not satisfy the constraint condition, the query result indicates that the target entity object does not belong to the target selected object. If the label data satisfies the constraint condition, the query result indicates that the target entity object belongs to the target selected object.
[0194] As an example, the target object number list for target entity object A1 includes a key-value list S1 (|sex|: 1001|1|, 1003|1|, 1015|1|, 1036|1|) and a list S3 (|Area|: 1001|0|, 1006|0|, 1008|0|, 1030|0|, 1035|0|). The server first determines the tag data of target entity object A1 as tag 1 (A1, 1) and tag 2 (A2, 0) based on list S1 and list S2. Among them, "A1" represents the tag name of tag 1 as "gender", "1" is the tag value of tag 1 and represents "male"; "A2" represents the tag name of tag 2 as "region", and "0" is the tag value of tag 2 and represents "Guangdong Province".
[0195] Furthermore, in the first scenario, the constraints included in the object selection configuration information include: "Recharge amount in the past 7 days" greater than 1000, "Reward amount in the past 7 days" greater than 1000, and "Age" between 18 and 30. The server pre-converts these three constraints into corresponding executable code. The server then inputs the tag value "1" for tag 1 and the tag value "0" for tag 2 into the executable code for computation, resulting in a first query result indicating that both tags 1 and 2 do not satisfy the constraints. This first query result indicates that target entity object A1 does not belong to the selected target objects.
[0196] In the second scenario, the constraints included in the object selection configuration information include: "Gender" being "Male" or "Unknown," and "Region" being "Guangdong Province," "Beijing," "Shanghai," or "Shandong Province." The server pre-converts these two constraints into corresponding executable code. The server then inputs the tag value "1" for Label 1 and the tag value "0" for Label 2 into the executable code for computation, resulting in a second query result in which both Label 1 and Label 2 satisfy the constraints. This second query result indicates that target entity object A1 belongs to the target selected object.
[0197] In order to more clearly illustrate the method for selecting an entity object provided by the embodiment of the present disclosure, the following describes the method for selecting an entity object in detail using a specific embodiment. Figure 8 and Figure 9 , Figure 8 FIG. 1 is a flow chart of a method for selecting an entity object according to another exemplary embodiment.Figure 9 This is a module diagram illustrating a method for selecting an entity object according to another exemplary embodiment. The method for selecting an entity object is used in a server and specifically includes the following contents:
[0198] Step S41: Obtain tag metadata of crowd users.
[0199] Among them, the tag metadata includes the gender, age, province, single recharge, single consumption, single gift and other information of the user.
[0200] Step S42: construct multiple domain-specific languages based on the tag metadata of the crowd users.
[0201] The Domain Specific Language (DSL) includes offline DSL and real-time DSL.
[0202] Among them, domain-specific language is a descriptive language with specific domain characteristics, including offline type gender (such as male, female, and unknown gender), offline type age (such as 0-40 years old), offline type province (such as Guangdong Province, Shaanxi Province, Shanxi Province, etc.), real-time type recharge amount in the past 7 days (such as 100 yuan, 10,000 yuan), real-time type reward amount in the past 7 days (such as 100 yuan, 10,000 yuan), etc.
[0203] Step S43: constructing a crowd selection rule based on the domain-specific language; and generating label data corresponding to the domain-specific language for each user based on the label metadata of each user.
[0204] As an example, the selection rule for a certain group of people is expressed as: (province (offline) == Guangdong Province and age (offline) > = 18 and age (offline) < = 30 and (recharge amount in the past 7 days (real-time) > 1000 or reward amount in the past 7 days (real-time) > 1000).
[0205] Among them, the above-mentioned crowd selection rule is used to select the "Guangdong Province" population between the ages of 18 and 30 whose "recharge amount in the past 7 days" is greater than 1,000 and "reward amount in the past 7 days" is greater than 1,000.
[0206] The tag data includes offline tag data and real-time tag data.
[0207] For example, the label data for user A includes label 1: [gender, male], label 2: [age, 25], label 3: [province, unknown], label 4: [recharge amount in the past 7 days, 590 yuan], and label 5: [reward amount in the past 7 days, 480 yuan].
[0208] Step S44: Store each user's offline tag data and real-time tag data in the data warehouse Clickhouse in the form of Bitmap.
[0209] Among them, Bitmap is a data structure stored in bits.
[0210] Among them, Bitmap is used to convert tag data into the form of [tag, tag value] for a certain user for storage. That is, a Bitmap can express a list of user IDs with the same tag attributes (i.e., offline attributes / real-time attributes), tag names (such as gender, age), and tag values (such as the tag value of male is 0, the tag value of female is 1, and the tag value of unknown gender is 2).
[0211] For example, the first Bitmap stores label data (A1, 0) for the user list X1, wherein A1 represents the label name "gender", 0 represents male, and X1 represents a list of user IDs with the same gender of male.
[0212] For example, the second Bitmap stores label data (A2, 33) for the user list X2, wherein A2 represents the label name "age", 33 represents the age, and X2 represents a list of user IDs with the same age of 33.
[0213] For example, the third Bitmap stores label data (A3, 1500) for user list X3, where A3 represents the label name "reward amount in the past 7 days", 1500 represents the amount, and X3 represents a list of user IDs with the same reward amount of 1500 in the past 7 days.
[0214] The storage process for real-time tag data includes the following steps:
[0215] ① Use the Aggregating MergeTree engine to create a real-time tag table in the ClickHouse data warehouse.
[0216] The fields defined in the real-time tag table include user ID, tag name, tag value, generation time of tag data, etc.
[0217] ② Use the anyLast aggregation function in the Simple Aggregate Function (data type storage aggregation function) to aggregate the real-time tag data of each user type.
[0218] Among them, the anyLast aggregation function is used to aggregate the last updated label data corresponding to each user into label data in the corresponding domain-specific language.
[0219] ③. Perform remainder processing on each user's ID value to determine the remainder position of each user's ID value.
[0220] The server modulo the ID value of each user based on a preset function to obtain the corresponding remainder to determine the remainder position of the ID value of each user.
[0221] As an example, if the remainder of the user's ID value X1 is "0", it is determined that the ID value X1 is in the first remainder zone; if the remainder of the user's ID value X2 is "1", it is determined that the ID value X2 is in the second remainder zone; if the remainder of the user's ID value X3 is "2", it is determined that the ID value X3 is in the third remainder zone.
[0222] ④ Based on the remainder zone of each user's ID value, the real-time tag table is divided into multiple real-time tag zones that match the number of remainder zones.
[0223] In one embodiment, a total of 8 remainder positions are determined based on the user's ID value (in other embodiments, other numbers of remainder positions can also be determined based on actual needs), and the implementation label table is correspondingly divided into 8 real-time label areas, and each real-time label area matches the remainder position where the user's ID value is located.
[0224] It is understandable that the number of the real-time label areas to be divided can be controlled by controlling the number of remainder bits of the remainder, thereby limiting the storage capacity of the real-time label area.
[0225] ⑤. According to the real-time tag area matched by each user, the aggregated tag data of each user is written into the real-time tag table respectively.
[0226] For example, if the ID value X1 of the first user is in the first remainder zone and the first remainder zone matches the first real-time label zone, the label data of the first user is written into the first real-time label zone of the real-time label table; if the ID value X2 of the second user is in the second remainder zone and the second remainder zone matches the second real-time label zone, the label data of the second user is written into the second real-time label zone of the real-time label table; if the ID value X3 of the third user is in the third remainder zone and the third remainder zone matches the third real-time label zone, the label data of the third user is written into the third real-time label zone of the real-time label table.
[0227] ⑥. Regularly optimize each real-time label area of the real-time label table in turn to obtain the optimized real-time label table.
[0228] Among them, the optimize process is used to automatically merge the tag data in the real-time tag table and delete expired data to reduce the storage space of the data in the real-time tag table and optimize the subsequent query speed.
[0229] ⑦. Aggregate the processed tag data in the real-time tag table in the form of Bitmap to create a real-time tag view table.
[0230] Among them, the tag data of crowd users is stored in the real-time tag view table in the form of Bitmap.
[0231] Step S45: Obtaining a crowd selection rule, and parsing the crowd selection rule based on a parser to obtain a parsed crowd selection rule.
[0232] The parsed crowd selection rules are based on SQL (Structured Query Language) to represent various domain-specific languages included in the crowd selection rules.
[0233] Among them, SQL language is a structured query language, which is a standard computer language for accessing and processing databases.
[0234] Step S46: Based on the parsed crowd selection rule, determine the selection type of the crowd selection rule.
[0235] Among them, the circle selection type includes off-circuit circle selection type and real-time circle selection type.
[0236] Among them, the offline circle selection type means that the domain-specific language in the crowd selection rule determined by the parser only includes offline types.
[0237] The real-time selection type is the domain-specific language in the crowd selection rule determined by the parser, including both offline type and real-time type.
[0238] Step S47a: when the selection type of the crowd selection rule is the offline crowd selection type, the offline crowd selection executor is called to perform offline crowd selection on the crowd user.
[0239] Among them, the offline crowd selection executor first creates an offline scheduling task based on the parsed crowd selection rules, and then executes the offline scheduling task regularly according to the preset period.
[0240] The process of executing offline scheduling tasks is as follows: user indexing is performed on the data warehouse Clickhouse based on the parsed crowd selection rules to obtain user index results, and the user account corresponding to the user index results is used as the crowd selection result.
[0241] The user indexing process is as follows: based on the parsed crowd selection rules, the Bitmap used to store offline type label data in the data warehouse Clickhouse is read to determine the user ID list corresponding to the Bitmap that meets the parsed crowd selection rules, and the user ID list is used as the user indexing result.
[0242] Step S47b: When the selection type of the crowd selection rule is a real-time selection type, the real-time crowd selection executor is called to perform real-time crowd selection on the crowd users.
[0243] Among them, the real-time crowd selection executor first creates a real-time scheduling task based on the parsed crowd selection rules, and then executes the real-time scheduling task regularly according to the preset period.
[0244] The process of executing the real-time scheduling task is as follows: based on the parsed crowd selection rules, the real-time tag view table in the data warehouse Clickhouse is indexed to obtain the user index result, and the user account corresponding to the user index result is used as the crowd selection result.
[0245] The user indexing process is as follows: based on the parsed crowd selection rules, the Bitmap used to store real-time type tag data in the real-time tag view table is read to determine the user ID list corresponding to the Bitmap that meets the parsed crowd selection rules, and the user ID list is used as the user indexing result.
[0246] The above method, on the one hand, is different from the existing technology. This solution first obtains object selection configuration information for multiple entity objects, and then determines the type of selection to be performed on the entity objects based on the object selection configuration information, so as to index bitmap data corresponding to the label data of the entity objects from the corresponding storage medium, and finally obtains the selection result by using the bitmap data, thereby optimizing the process of selecting entity objects, reducing the complexity of selecting entity objects, and improving the efficiency of selecting entity objects; on the other hand, the type of object selection to be performed is determined to be offline type or real-time type based on the object description information in the object selection configuration information, so as to index bitmap data corresponding to offline label data or real-time label data from the corresponding storage medium in the case of offline type or real-time type, and finally obtains the selection result by using the bitmap data, thereby effectively improving the accuracy and effectiveness of selecting entity objects when the number and type of labels of entity objects are large.
[0247] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0248] Based on the same inventive concept, embodiments of the present application further provide a device for selecting an entity object for implementing the aforementioned method for selecting an entity object, and a device for querying an entity object for implementing the method for querying an entity object. The implementation solutions provided by these corresponding devices are similar to those described in the aforementioned methods. Therefore, the specific limitations of one or more device embodiments provided below can be found in the aforementioned definitions of the method for identifying user information and the method for interacting with multiple users, and will not be repeated here.
[0249] In one embodiment, Figure 10 As shown, a device 10 for selecting a physical object is provided, comprising: an information acquisition unit 11, a selection type unit 12, a first selection unit 13, and a second selection unit 14, wherein:
[0250] The information acquisition unit 11 is configured to acquire object selection configuration information; the object selection configuration information is configuration information for group selection of multiple physical objects, and the configuration information is obtained based on at least one preset object description information, and the object description information is used to describe offline tag data or real-time tag data of the physical objects;
[0251] The selection type unit 12 is configured to determine a selection type for group selection of the plurality of physical objects based on the at least one object description information; the selection type includes an offline type that matches the offline tag data or a real-time type that matches the real-time tag data;
[0252] The first selection unit 13 is configured to, when the selection type is the offline type, perform a bitmap indexing operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and determine a first selection result for the plurality of entity objects based on the first bitmap set; the bitmap data in the first bitmap set is used to store a list of object numbers of the entity objects having the offline tag data;
[0253] The second selection unit 14 is configured to, when the selection type is the real-time type, perform a bitmap indexing operation on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and determine a second selection result for the multiple entity objects based on the second bitmap set; the bitmap data in the second bitmap set is used to store a list of object numbers of the entity objects having the real-time tag data.
[0254] In some embodiments, before obtaining the object selection configuration information, the method further includes:
[0255] Obtaining tag metadata corresponding to the multiple entity objects;
[0256] Generate tag data corresponding to each of the entity objects based on the at least one object description information and the tag metadata; the tag data is composed of a tag name and a tag value, and the amount of tag data for each of the entity objects matches the at least one object description information;
[0257] In a case where the tag data belongs to the offline tag data, corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set;
[0258] Based on the object numbers of the entity objects in each of the entity object sets, first bitmap data is generated, and the first bitmap data is stored in the first storage medium.
[0259] In some embodiments, after generating label data corresponding to each of the physical objects based on the at least one object description information and the label metadata, the method further includes:
[0260] Based on a preset aggregation function, the real-time tag data is aggregated in the tag data of each entity object to obtain a real-time tag data set; the aggregation function is used to aggregate the real-time tag data with the most recently updated tag value;
[0261] In the real-time tag data set, determining the object number of each entity object corresponding to each real-time tag data;
[0262] Performing remainder processing on each of the object numbers to obtain a remainder of each of the object numbers;
[0263] Aggregating corresponding entity objects having the same remainder to obtain corresponding sets of multiple entity objects;
[0264] The tag name and tag value of the real-time tag data corresponding to each of the entity object sets are stored in a plurality of tag buffers of a preset real-time tag table to obtain a pre-processed real-time tag table;
[0265] The number of the multiple tag buffers matches the number of the multiple entity object sets.
[0266] In some embodiments, after generating label data corresponding to each of the physical objects based on the at least one object description information and the label metadata, the method further includes:
[0267] In the pre-processed real-time tag table, the corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set;
[0268] Based on the object numbers of the entity objects in each of the entity object sets, second bitmap data is generated, and the second bitmap data is stored in the second storage medium.
[0269] In some embodiments, determining a selection type for group-selecting the plurality of physical objects based on the at least one object description information includes:
[0270] If the real-time tag data does not exist in the at least one tag data corresponding to the at least one object description information, determining that the circled type is an offline type;
[0271] If the real-time tag data exists in the at least one tag data corresponding to the at least one object description information, the circled type is determined to be a real-time type.
[0272] In some embodiments, the object selection configuration information includes at least one corresponding constraint condition configured for the at least one object description information;
[0273] The performing a bitmap index operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set includes:
[0274] In the first storage medium, first bitmap data satisfying each of the constraints is indexed respectively to obtain the first bitmap set;
[0275] The performing a bitmap index operation on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set includes:
[0276] In the second storage medium, the second bitmap data satisfying each of the constraint conditions are respectively indexed to obtain the second bitmap set.
[0277] In some embodiments, determining a first selection result for the plurality of physical objects based on the first bitmap set includes:
[0278] determining a target entity object based on an intersection of entity objects between the object number lists of each of the first bitmap data, and taking the target entity object as the first selection result;
[0279] The determining a second selection result for the plurality of physical objects based on the second bitmap set includes:
[0280] Based on the intersection of entity objects between the object number lists of each second bitmap data, a target entity object is determined, and the target entity object is used as the second selection result.
[0281] In one embodiment, Figure 11 As shown, a query device 20 for an entity object is provided, comprising: a first type bitmap unit 21, a second type bitmap unit 22, a third type bitmap unit 23 and a query result unit 24, wherein:
[0282] The first type bitmap unit 21 is configured to obtain a first type bitmap set and a circle selection result corresponding to the first type bitmap set; the first type bitmap and the circle selection result are both obtained based on a circle selection method for a physical object;
[0283] The second type bitmap unit 22 is configured to determine, in the first storage medium and / or the second storage medium, a second type bitmap set that is different from the bitmap data in the first type bitmap set;
[0284] The third type bitmap unit 23 is configured to perform an AND operation on the first type bitmap set and the second type bitmap set based on the circled selection result, so as to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set; the object number list is a list of entity object numbers represented by the circled selection result;
[0285] The query result unit 24 is configured to execute a distribution query result representing the entity object based on the tag name and tag value of each bitmap data in the third type bitmap set.
[0286] In one embodiment, Figure 12As shown, a query device 30 for an entity object is provided, comprising: an information acquisition unit 31, a storage medium unit 32, a code conversion unit 33, a label query unit 34 and a query result unit 35, wherein:
[0287] The information acquisition unit 31 is configured to acquire the object number of the target entity object and the object selection configuration information of the target selection object; the object selection configuration information is obtained based on the selection method of the entity object;
[0288] The storage medium unit 32 is configured to determine a storage medium for storing a list of object numbers corresponding to the target selected object based on the selection type of the target selected object;
[0289] A code conversion unit 33 is configured to convert the constraint conditions included in the object selection configuration information into corresponding executable codes;
[0290] The tag query unit 34 is configured to execute the indexing of a target object number list related to the target entity object in the storage medium;
[0291] The query result unit 35 is configured to determine the tag data of the target entity object based on the target object number list; and input the tag data of the target entity object into the executable code for execution, so as to determine whether the tag data satisfies the constraint condition through the executable code, thereby obtaining a corresponding query result;
[0292] Wherein, when the label data does not satisfy the constraint condition, the query result indicates that the target entity object does not belong to the target selected object;
[0293] When the label data satisfies the constraint condition, the query result indicates that the target entity object belongs to the target selected object.
[0294] Each module in the aforementioned entity object selection device and entity object query device may be implemented in whole or in part via software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in the form of hardware, or may be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0295] In one embodiment, a server is provided, whose internal structure diagram can be as follows: Figure 13As shown. The server includes a processor, a memory, and a network interface connected via a system bus. The processor of the server is used to provide computing and control capabilities. The memory of the server includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the server is used to store various data. The network interface of the server is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, it implements a method for selecting an entity object or a method for querying an entity object.
[0296] Those skilled in the art will understand that Figure 13 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the server and electronic device to which the solution of the present application is applied. The specific server and electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0297] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0298] Obtaining object selection configuration information; the object selection configuration information is configuration information for group selection of multiple physical objects, the configuration information is obtained based on at least one preset object description information, the object description information is used to describe offline tag data or real-time tag data of the physical objects;
[0299] Determining, based on the at least one object description information, a selection type for group selection of the plurality of physical objects; the selection type including an offline type matching the offline tag data or a real-time type matching the real-time tag data;
[0300] When the selection type is the offline type, performing a bitmap indexing operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and determining a first selection result for the plurality of entity objects based on the first bitmap set; the bitmap data in the first bitmap set is used to store a list of object numbers of the entity objects having the offline tag data;
[0301] When the selection type is the real-time type, a bitmap index operation is performed on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and a second selection result for the multiple entity objects is determined based on the second bitmap set; the bitmap data in the second bitmap set is used to store an object number list of the entity objects having the real-time tag data.
[0302] In another embodiment, another computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0303] Obtaining a first type of bitmap set and a circle selection result corresponding to the first type of bitmap set; the first type of bitmap and the circle selection result are both obtained based on a circle selection method for an entity object;
[0304] Determining, in the first storage medium and / or the second storage medium, a second type of bitmap set different from the bitmap data in the first type of bitmap set;
[0305] Based on the circled selection result, performing an AND operation on the first type bitmap set and the second type bitmap set to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set; the object number list is a list of entity object numbers represented by the circled selection result;
[0306] The distribution query result of the entity object is represented based on the label name and label value of each bitmap data in the third type bitmap set.
[0307] In another embodiment, another computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0308] Obtaining an object number of a target entity object and object selection configuration information of a target selection object; wherein the object selection configuration information is obtained based on a selection method of the entity object;
[0309] Determining a storage medium for storing bitmap data corresponding to the target circled object based on the circled type of the target circled object; and converting the constraint conditions included in the object circled configuration information into corresponding executable code;
[0310] Indexing tag data for the target entity object in the storage medium;
[0311] Inputting the label data of the target entity object into the executable code for execution, so as to determine whether the label data satisfies the constraint condition through the executable code, and obtain a corresponding query result;
[0312] wherein, in a case where the label data does not satisfy the constraint condition, the query result represents that the target entity object does not belong to the target circle selected object;
[0313] in a case where the label data satisfies the constraint condition, the query result represents that the target entity object belongs to the target circle selected object.
[0314] In one embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the above-mentioned circle selection method of an entity object, or the query method of an entity object.
[0315] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties.
[0316] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric memory (Ferroelectric Random Access Memory, FRAM), phase change memory (Phase Change Memory, PCM), graphene memory, etc. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.
[0317] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.
[0318] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of protection of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A method for selecting an entity object, characterized in that: The method comprises: Obtaining object selection configuration information; the object selection configuration information is configuration information for group selection of multiple physical objects, the configuration information is obtained based on at least one preset object description information, the object description information is used to describe offline tag data or real-time tag data of the physical objects; Determining, based on the at least one object description information, a selection type for group selection of the plurality of physical objects; the selection type including an offline type matching the offline tag data or a real-time type matching the real-time tag data; When the selection type is the offline type, performing a bitmap indexing operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and determining a first selection result for the plurality of entity objects based on the first bitmap set; the bitmap data in the first bitmap set is used to store a list of object numbers of the entity objects having the offline tag data; When the selection type is the real-time type, a bitmap index operation is performed on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and a second selection result for the multiple entity objects is determined based on the second bitmap set; the bitmap data in the second bitmap set is used to store an object number list of the entity objects having the real-time tag data.
2. The method according to claim 1, characterized in that Before obtaining the object selection configuration information, the method further includes: Obtaining tag metadata corresponding to the multiple entity objects; Generate tag data corresponding to each of the entity objects based on the at least one object description information and the tag metadata; the tag data is composed of a tag name and a tag value, and the amount of tag data for each of the entity objects matches the at least one object description information; In a case where the tag data belongs to the offline tag data, corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set; Based on the object numbers of the entity objects in each of the entity object sets, first bitmap data is generated, and the first bitmap data is stored in the first storage medium.
3. The method according to claim 2, characterized in that After generating label data corresponding to each of the entity objects based on the at least one object description information and the label metadata, the method further includes: Based on a preset aggregation function, the real-time tag data is aggregated in the tag data of each entity object to obtain a real-time tag data set; the aggregation function is used to aggregate the real-time tag data with the most recently updated tag value; In the real-time tag data set, determining the object number of each entity object corresponding to each real-time tag data; Performing remainder processing on each of the object numbers to obtain a remainder of each of the object numbers; Aggregating corresponding entity objects having the same remainder to obtain corresponding sets of multiple entity objects; The tag name and tag value of the real-time tag data corresponding to each of the entity object sets are stored in a plurality of tag buffers of a preset real-time tag table to obtain a pre-processed real-time tag table; The number of the multiple tag buffers matches the number of the multiple entity object sets.
4. The method according to claim 3, characterized in that After generating label data corresponding to each of the entity objects based on the at least one object description information and the label metadata, the method further includes: In the pre-processed real-time tag table, the corresponding entity objects having the same tag name and the tag value are aggregated to obtain at least one corresponding entity object set; Based on the object numbers of the entity objects in each of the entity object sets, second bitmap data is generated, and the second bitmap data is stored in the second storage medium.
5. The method according to claim 1, wherein The determining, based on the at least one object description information, a selection type for group-selecting the plurality of physical objects includes: If the real-time tag data does not exist in the at least one tag data corresponding to the at least one object description information, determining that the circled type is an offline type; If the real-time tag data exists in the at least one tag data corresponding to the at least one object description information, the circled type is determined to be a real-time type.
6. The method according to claim 1, characterized in that The object selection configuration information includes at least one corresponding constraint condition configured for the at least one object description information; The performing a bitmap index operation on the first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set includes: In the first storage medium, first bitmap data satisfying each of the constraints is indexed respectively to obtain the first bitmap set; The performing a bitmap index operation on the second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set includes: In the second storage medium, the second bitmap data satisfying each of the constraint conditions are respectively indexed to obtain the second bitmap set.
7. The method according to claim 6, characterized in that The determining a first selection result for the plurality of physical objects based on the first bitmap set includes: determining a target entity object based on an intersection of entity objects between the object number lists of each of the first bitmap data, and taking the target entity object as the first selection result; The determining a second selection result for the plurality of physical objects based on the second bitmap set includes: Based on the intersection of entity objects between the object number lists of each second bitmap data, a target entity object is determined, and the target entity object is used as the second selection result.
8. A query method for entity objects, characterized in that: The method comprises: Obtaining a first type bitmap set and a circle selection result corresponding to the first type bitmap set; the first type bitmap and the circle selection result are both obtained based on any one of the methods of claims 1-7; Determining, in the first storage medium and / or the second storage medium, a second type of bitmap set different from the bitmap data in the first type of bitmap set; Based on the circled selection result, performing an AND operation on the first type bitmap set and the second type bitmap set to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set; the object number list is a list of entity object numbers represented by the circled selection result; The distribution query result of the entity object is represented based on the label name and label value of each bitmap data in the third type bitmap set.
9. A query method for entity objects, characterized in that: The method comprises: Acquire an object number of a target entity object and object selection configuration information of a target selected object; the object selection configuration information is obtained based on any one of the methods of claims 1-7; Determining, based on the selection type of the target selected object, a storage medium for storing a list of object numbers corresponding to the target selected object; and converting the constraint conditions included in the object selection configuration information into corresponding executable code; Indexing a target object number list related to the target entity object in the storage medium; Determining the tag data of the target entity object based on the target object number list; and inputting the tag data of the target entity object into the executable code for execution, so as to determine whether the tag data satisfies the constraint condition through the executable code, and obtain a corresponding query result; Wherein, when the label data does not satisfy the constraint condition, the query result indicates that the target entity object does not belong to the target selected object; When the label data satisfies the constraint condition, the query result indicates that the target entity object belongs to the target selected object.
10. A device for selecting a physical object, characterized in that: include: An information acquisition unit is configured to acquire object selection configuration information; The object selection configuration information is configuration information for group selection of multiple physical objects, and the configuration information is obtained based on at least one preset object description information, and the object description information is used to describe offline tag data or real-time tag data of the physical objects; a circle selection type unit, configured to determine a circle selection type for group selection of the plurality of physical objects based on the at least one object description information; The circled type includes an offline type that matches the offline tag data or a real-time type that matches the real-time tag data; a first selection unit configured to, when the selection type is the offline type, perform a bitmap indexing operation on a first storage medium based on the object selection configuration information to obtain a corresponding first bitmap set, and determine a first selection result for the plurality of physical objects based on the first bitmap set; The bitmap data in the first bitmap set is used to store a list of object numbers of entity objects having the offline tag data; a second selection unit configured to, when the selection type is the real-time type, perform a bitmap indexing operation on a second storage medium based on the object selection configuration information to obtain a corresponding second bitmap set, and determine a second selection result for the plurality of physical objects based on the second bitmap set; The bitmap data in the second bitmap set is used to store a list of object numbers of entity objects having the real-time tag data.
11. A query device for an entity object, characterized in that: include: The first type bitmap unit is configured to obtain a first type bitmap set and a circle selection result corresponding to the first type bitmap set; The first type of bitmap and the circle selection result are both obtained based on any one of the methods described in claims 1-7; The second type bitmap unit is configured to determine, in the first storage medium and / or the second storage medium, a second type bitmap set that is different from the bitmap data in the first type bitmap set; The third type bitmap unit is configured to perform an AND operation on the first type bitmap set and the second type bitmap set based on the circled selection result, so as to determine a third type bitmap set in the second type bitmap set that has the same object number list as the first type bitmap set; the object number list is a list of entity object numbers represented by the circled selection result; The query result unit is configured to execute a distribution query result representing the entity object based on the tag name and tag value of each bitmap data in the third type bitmap set.
12. A query device for an entity object, characterized in that: include: An information acquisition unit is configured to acquire an object number of a target entity object and object selection configuration information of a target selection object; The object selection configuration information is obtained based on any one of the methods described in claims 1 to 7; a storage medium unit configured to determine, based on the selection type of the target selected object, a storage medium for storing a list of object numbers corresponding to the target selected object; a code conversion unit configured to convert the constraint conditions included in the object selection configuration information into corresponding executable codes; a tag query unit, configured to index a target object number list related to the target entity object in the storage medium; A query result unit is configured to determine the tag data to which the target entity object belongs based on the target object number list; and inputting the label data of the target entity object into the executable code for execution, so as to determine whether the label data satisfies the constraint condition through the executable code, and obtain a corresponding query result; Wherein, when the label data does not satisfy the constraint condition, the query result indicates that the target entity object does not belong to the target selected object; When the label data satisfies the constraint condition, the query result indicates that the target entity object belongs to the target selected object.
13. A server, characterized in that: include: processor; a memory for storing executable instructions for the processor; The processor is configured to execute the executable instructions to implement the entity object selection method according to any one of claims 1 to 7 and the entity object query method according to claim 8 or 9.
14. A computer-readable storage medium comprising program data, characterized in that: When the program data is executed by a processor of a server, the server is enabled to execute the method for selecting an entity object according to any one of claims 1 to 7 or the method for querying an entity object according to claim 8 or 9.
Citation Information
Patent Citations
Target crowd circling method and device, equipment and storage medium
CN114022188A
Crowd selection method and device, electronic equipment and storage medium
CN114741414A