Object query method, device, server and storage medium

By assigning objects to the corresponding object sets of feature combinations and using Boolean search methods or attribute bitmaps, the problem of inefficient object query is solved, and a fast query of objects that meet the conditions is achieved.

CN114117192BActive Publication Date: 2025-08-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010877617.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-27
Publication Date
2025-08-12
Estimated Expiration
2040-08-27

AI Technical Summary

Technical Problem

When there are many objects stored in the database, the object query efficiency is low, and the prior art requires traversing various objects in the database, which makes it take longer.

Method used

Classify multiple objects into the corresponding object sets of different feature combinations, so that objects in the same object set conform to the object feature combination relationship within the same feature combination, and quickly determine objects that meet the query conditions by constructing a Boolean search term or attribute bitmap.

Benefits of technology

You can quickly determine objects that meet the query conditions without traversing all objects, improving the efficiency of object query.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114117192B_ABST
    Figure CN114117192B_ABST
Patent Text Reader

Abstract

This application discloses an object query method, device, server, and storage medium. The method is applied to a query server storing multiple objects, which are classified into object sets corresponding to multiple different feature combinations. The feature combinations include a combination relationship of at least one object feature, and at least one object feature associated with the objects in the object set conforms to the combination relationship of at least one object feature in the feature combination corresponding to the object set. Accordingly, after obtaining a query condition, the method determines, from the multiple feature combinations, at least one target feature combination that matches at least one target object feature in the query condition, and obtains objects in the object set corresponding to the at least one target feature combination. The solution of the present application can improve the query efficiency of object queries.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data query processing, and in particular to an object query method, device, server, and storage medium. Background Art

[0002] In scenarios such as information recommendation and content search, object queries are involved. For example, based on the user's query requirements, matching applications are recommended to the user, or based on the user's search keywords, matching data results are searched.

[0003] During an object query, the query server typically searches through all objects in the database based on the query criteria to find the objects that meet the query criteria. However, if the database contains a large number of objects, searching through each object sequentially will inevitably take a long time, resulting in low object query efficiency. Summary of the Invention

[0004] In view of this, the present application provides an object query method, device, server and storage medium to improve the query efficiency of object query.

[0005] To achieve the above objectives, this application provides the following technical solutions:

[0006] In one aspect, the present application provides an object query method, applied to a query server, wherein the query server stores a plurality of objects, each of which is associated with at least one object feature; wherein the plurality of objects are classified into object sets corresponding to a plurality of different feature combinations, each of which includes a combination relationship of at least one object feature, and the at least one object feature associated with each object in the object set conforms to a combination relationship of at least one object feature in the feature combination corresponding to the object set, the method comprising:

[0007] Obtaining a query condition, wherein the query condition includes: at least one target object feature satisfied by the object to be queried;

[0008] Determining at least one target feature combination that matches the at least one target object feature from the plurality of feature combinations;

[0009] Querying for objects in an object set corresponding to the at least one target feature combination.

[0010] In a possible implementation, the feature combination is a Boolean logical relationship between at least one object feature;

[0011] Determining at least one target feature combination that matches the at least one target object feature from the multiple feature combinations includes:

[0012] Constructing a Boolean search formula based on the at least one target object feature, wherein the Boolean search formula is used to represent the at least one target object feature that the object to be queried needs to satisfy;

[0013] At least one target feature combination that meets the Boolean search expression is determined from the multiple feature combinations.

[0014] In another possible implementation, the object stored in the query server is further associated with at least one user attribute, and the user attribute associated with the object is a user attribute possessed by a user matching the object;

[0015] The query condition also includes: at least one target user attribute associated with the object to be queried;

[0016] After the objects in the object set corresponding to the at least one target feature combination are found out through querying, the method further includes:

[0017] At least one target object associated with the at least one target user attribute is determined from an object set corresponding to the at least one target feature combination.

[0018] In another possible implementation, the query server stores an attribute bitmap of the object, where the attribute bitmap of the object is used to represent at least one user attribute associated with the object; wherein each element in the attribute bitmap of the object represents a user attribute, and a first value of the element indicates that the object has the user attribute represented by the element, and a second value of the element indicates that the object does not have the user attribute represented by the element;

[0019] The determining, from the object set corresponding to the at least one target feature combination, at least one target object associated with the at least one target attribute information comprises:

[0020] Constructing a target attribute bitmap of the object to be queried according to the at least one target user attribute;

[0021] At least one target object whose attribute bitmap matches the target attribute bitmap is determined from the object set corresponding to the at least one target feature combination.

[0022] In yet another aspect, the present application further provides an object query device, applied to a query server, wherein the query server stores a plurality of objects, each of which is associated with at least one object feature; wherein the plurality of objects are classified into object sets corresponding to a plurality of different feature combinations, the feature combinations including a combination relationship of at least one object feature, and the at least one object feature associated with the objects in the object set all conforms to a combination relationship of at least one object feature in the feature combination corresponding to the object set, the device comprising:

[0023] A condition obtaining unit, configured to obtain a query condition, wherein the query condition includes: at least one target object feature satisfied by the object to be queried;

[0024] a combination determining unit, configured to determine, from the plurality of feature combinations, at least one target feature combination that matches the at least one target object feature;

[0025] The first object query unit is configured to query objects in an object set corresponding to the at least one target feature combination.

[0026] In another aspect, the present application further provides a server, comprising a memory and a processor;

[0027] Wherein, the memory is used to store programs;

[0028] The processor is used to execute the program, and when the program is executed, it is specifically used to implement any one of the object query methods described above.

[0029] On the other hand, the present application also provides a storage medium for storing a program, which, when executed, is used to implement the object query method as described in any one of the above.

[0030] As can be seen from the above, the query server in this application classifies multiple objects into object sets corresponding to multiple different feature combinations, so that all objects in the same object set meet the combination relationship of at least one object feature within the same feature combination. On this basis, after obtaining the query conditions, the query server can determine the feature combination that matches the at least one target object feature satisfied by the query object in the query conditions. The object set corresponding to the matched feature combination includes objects that meet the at least one target object feature. Therefore, the object that meets the query conditions can be determined relatively quickly without traversing all objects, thereby improving the efficiency of object query. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0032] Figure 1 A schematic diagram of the composition architecture of a scenario to which this application is applicable is shown;

[0033] Figure 2 A flow chart of an embodiment of the object query method provided by the present application is shown;

[0034] Figure 3 A flow chart showing another embodiment of the object query method provided by the present application is shown;

[0035] Figure 4 A schematic diagram of the process interaction of the object query method provided by this application is shown;

[0036] Figure 5 A schematic diagram showing the composition structure of an embodiment of an object query device of the present application is shown;

[0037] Figure 6 A schematic diagram of the composition structure of a server of the present application is shown. DETAILED DESCRIPTION

[0038] The solution of the present application is applicable to querying a server for an object, so as to more efficiently query objects that meet the query conditions.

[0039] For ease of understanding, the scenarios to which the solution of this application is applicable are first introduced. Figure 1 As shown, it shows a schematic diagram of the composition architecture of a scenario to which this application is applicable.

[0040] Depend on Figure 1 It can be seen that this scenario at least includes a query server 101 and a user terminal 102 .

[0041] The user terminal 102 is used to send a query request to the query server 101 .

[0042] The query server is used to obtain query conditions based on the query request of the user terminal, determine at least one object that meets the query conditions, and return the queried object to the user terminal.

[0043] In this application, the query server can store multiple selectable objects. The query server can persistently store multiple objects. Optionally, to improve data storage security, the scenario also includes a database 103. Accordingly, the query server can periodically synchronize data with the database, obtain multiple objects stored in the database, and cache them in the query server's memory.

[0044] It is understandable that the types of objects available for search may vary in different application scenarios. For example, in a multimedia recommendation scenario, multimedia that meets the query criteria may be recommended. In another example, in a game application search scenario, the objects available for search may be different game applications.

[0045] There are several ways for the query server to obtain query conditions:

[0046] For example, in one possible implementation, the query server may directly obtain the query request from the user terminal and determine the query condition based at least on the query parameters carried in the query request from the user terminal. For example, the query condition may be determined based solely on the query parameters carried in the query request from the user terminal, or in combination with the query parameters and user attributes of the user of the user terminal.

[0047] In another possible implementation, the scenario of the present application may further include a front-end server 104, which is connected to the user terminal, and the user terminal sends a query request to the front-end server, and the front-end server determines the query conditions based on the query request.

[0048] Among them, this application does not limit the specific process of the query server or front-end server determining the query conditions based on the query request.

[0049] It should be noted that in Figure 1 The scenario described above uses the example of determining query conditions based on a query request sent by a user terminal. However, it is understood that in some information recommendation scenarios, even if the user terminal does not send a query request, object queries may still be required. In such cases, the query server can generate query conditions based on actual needs. Therefore, this application does not limit the specific method or specific source of the query conditions obtained by the query server.

[0050] It is understood that each of the multiple objects stored by the query server is associated with at least one object characteristic. Object characteristics of an object are characteristics related to the object itself. These characteristics may include the object type to which the object belongs and the object attributes of the object. The object type represents the type of object, and the object attributes of the object are the attributes possessed by the object. For example, if the object is multimedia, the object type may be classified as video, audio, or image, and the object attributes may include the multimedia name, the content characteristics of the multimedia, and the amount of multimedia data.

[0051] In this application, in order to efficiently retrieve objects that meet the query criteria, multiple objects in the query server are grouped into object sets corresponding to multiple different feature combinations. There is a one-to-one correspondence between a feature combination and an object set, and a feature combination includes a combination of at least one object feature. At least one object feature associated with an object in an object set satisfies the combination of at least one object feature in the feature combination corresponding to the object set. An object can belong to one or more object sets corresponding to feature combinations.

[0052] The combination relationship of at least one object feature may be a combination of at least one object feature according to different logical relationships. Accordingly, the combination relationship of the at least one object feature may represent the logical condition satisfied by the at least one object feature.

[0053] For example, in one possible case, the combination relationship of at least one object feature may be a merger of at least one object feature. Accordingly, the object set of the feature combination is a set consisting of objects that simultaneously meet the at least one object feature.

[0054] In another possible scenario, the combination relationship of at least one object feature may be a Boolean logic relationship between at least one object feature. A Boolean logic relationship is a logical relationship formed by connecting different object features using Boolean logic symbols. Boolean logic symbols may include logical AND, logical NOT, and logical OR.

[0055] For example, the Boolean logic relationship between object feature 1, object feature 2, and object feature 3 can be: (object feature 1 or object feature 2) and (not object feature 3). Accordingly, every object in the object set corresponding to the feature combination having this Boolean logic relationship has either object feature 1 or object feature 2, but not object feature 3.

[0056] In particular, when a feature combination includes only one object feature, the Boolean logic relationship corresponding to the feature combination can be considered as the object feature itself.

[0057] Of course, the above is an example of using Boolean logic to represent the logical relationship between the object features in the feature combination. If the logical relationship between the object features in the feature combination is represented by other forms, it is also applicable to this embodiment.

[0058] It is understandable that, when all object features associated with multiple objects are determined, the query server may enumerate possible combination relationships between all object features, thereby obtaining multiple feature combinations including different combination relationships.

[0059] Correspondingly, for each object, if the object feature associated with the object conforms to the combination relationship of each object feature in a certain feature combination, that is, the combination relationship of each object feature in a certain feature combination can include at least one object feature associated with the object, in this case, the object can be added to the object set corresponding to the combination feature.

[0060] For example, assume that feature combination 1 is a combination relationship that includes object feature 1 and object feature 2 at the same time, feature combination 2 is a combination relationship that includes object feature 1, object feature 2 and object feature 3 at the same time, and feature combination 3 is a combination relationship that includes object feature 1 and object feature 2 but does not include object feature 3.

[0061] If an object is associated with object feature 1, object feature 2, and object feature 3, it means that the object belongs to the objects with object features 1, object feature 2, and object feature 3. Therefore, the object meets the combination relationship between the object features in feature combination 1. At the same time, because the object has object features 1 and 2, it also meets the corresponding combination relationship of feature combination 2. However, the object does not meet the combination relationship of the object features in feature combination 3. Based on this, the object can be added to the object set of feature combination 1 and the object set of feature combination 2.

[0062] It should be noted that in Figure 2 The query server is taken as an independent server for illustration. However, it is understandable that in actual applications, the query server of this application can be considered as any node in a server cluster or a cloud platform system.

[0063] For example, a cloud platform, also known as a cloud computing platform, is a network platform built on cloud technology. Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing.

[0064] The object query method in this application can be executed by a cloud platform, and accordingly, the query server can be a node in the cloud platform. Cloud computing based on the cloud platform can further improve the query efficiency of the query server.

[0065] Cloud computing is a computing model that distributes computing tasks across a resource pool consisting of a large number of computers, enabling various application systems to access computing power, storage space, and information services as needed. The network that provides these resources is called the "cloud." To users, these resources appear infinitely scalable and can be accessed at any time, used on demand, expanded at any time, and paid for on a per-use basis.

[0066] In view of the above commonalities, the object query method of this application is introduced below with reference to a flowchart.

[0067] like Figure 2As shown, it shows a flow chart of another embodiment of an object query method of the present application. This embodiment can be applied to a query server. As can be seen from the previous introduction, the query server stores multiple objects, each object is associated with at least one object feature, and the multiple objects are classified into object sets corresponding to multiple different feature combinations, the feature combination includes a combination relationship of at least one object feature, and the at least one object feature associated with the objects in the object set conforms to the combination relationship of at least one object feature in the feature combination corresponding to the object set.

[0068] The method of this embodiment includes:

[0069] S201, obtaining query conditions.

[0070] The query condition includes: at least one target object feature satisfied by the object to be queried. For ease of distinction, the object feature carried in the query condition and used to characterize the object to be queried is referred to as the target object feature.

[0071] Similar to the object features mentioned above, the target object features may be feature information of the object to be queried. For example, the target object features may at least include the object type and object attributes of the object to be queried.

[0072] The method for the query server to obtain the query conditions can be found in the previous introduction.

[0073] S202: Determine at least one target feature combination that matches the at least one target object feature from the multiple feature combinations.

[0074] If at least one target feature object belongs to a combination relationship of at least one object feature in the feature combination, then the feature combination matches the at least one target object feature. Therefore, the at least one target object feature belongs to a combination relationship of at least one object feature in the target feature combination.

[0075] For example, at least one target object feature includes object feature 1, object feature 2, and object feature 3. If the feature combination has a combination relationship of object feature 1 and object feature 2 at the same time, it means that the at least one target object feature belongs to the combination relationship corresponding to the feature combination. Therefore, the feature combination is a target feature combination.

[0076] In an optional manner, if the feature combination in the query server is a Boolean logical relationship between at least one object feature, a Boolean retrieval formula can be constructed based on at least one target object feature that the query object needs to satisfy, and the Boolean retrieval formula is used to represent the at least one target object feature that the object to be queried needs to satisfy.

[0077] For example, if the query object satisfies at least one target object feature: object feature A or object feature B, the Boolean search formula can be: (object feature A) or (object feature B). For another example, if the query object satisfies at least one target object feature: object feature A, not object feature B, the Boolean search formula can be: (object feature A) and (not object feature B).

[0078] Correspondingly, after constructing the Boolean search formula for representing the at least one target object feature that needs to be satisfied by the object to be queried, at least one target feature combination that meets the Boolean search formula can be determined among multiple feature combinations, that is, the Boolean logical relationship of the target feature combination matches the Boolean logical relationship corresponding to the Boolean search formula.

[0079] Using the above example, if the Boolean search expression is (object feature A) or (object feature B), then the Boolean logical relationship corresponding to the feature combination matched by this Boolean search expression can be (object feature A) or (object feature B). Alternatively, if the Boolean logical relationship of the feature combination is object feature A, since this Boolean logical relationship can include the Boolean logical relationship corresponding to the Boolean search expression (object feature A) or (object feature B), this feature combination can also be determined as the target feature combination.

[0080] It is understandable that when the object characteristics of the object association include the object type of the object and at least one object attribute of the object, the at least one target object characteristic in the query condition of the present application also includes the target object type and at least one target object attribute of the target object.

[0081] S203: Query the objects in the object set corresponding to the at least one target feature combination.

[0082] It is understandable that after locating the target feature combination, the object set corresponding to the target feature combination can be directly queried from the query server, and the objects in the object set are the objects that meet the query conditions.

[0083] It can be understood that if the query conditions are generated based on the query parameters sent by the user terminal, after querying the objects that meet the query conditions, this application can also return the queried objects to the user terminal to display the information of each object queried by the query server on the user terminal.

[0084] Optionally, in the present application, each object in the query server may be assigned an importance level, such as a weight or priority level. Accordingly, after the objects in the object set are found, the found objects may be ranked based on their importance levels. If the query condition is sent by a user terminal, the ranked objects may be returned to the user terminal.

[0085] As can be seen, in this application, multiple objects within the query server are classified into object sets corresponding to multiple different feature combinations, so that objects within the same object set all meet the combination relationship of at least one object feature within the same feature combination. On this basis, after obtaining the query conditions, the query server can determine the feature combination that matches the at least one target object feature satisfied by the query object in the query conditions. The object set corresponding to the matched feature combination includes objects that meet the at least one target object feature. This allows the server to quickly determine objects that meet the query conditions without having to traverse all objects, thereby improving the efficiency of object queries.

[0086] It can be understood that in order to reduce the amount of data maintenance on the query server, the present application can persistently store multiple objects in the database, and the multiple objects stored on the query server can be synchronized from the database to the query server. For example, the query server can synchronize data with the database periodically or irregularly so that the multiple objects stored in the query server are synchronized with the objects stored in the database.

[0087] Accordingly, when the object synchronization conditions are met, multiple objects in the query server can be synchronized based on the objects stored in the database. Then, according to at least one object feature associated with the synchronized multiple objects, the synchronized multiple objects are classified into object sets corresponding to multiple different feature combinations.

[0088] The object synchronization condition may be that the object synchronization time is reached according to a set synchronization period, or that a data synchronization instruction is detected, and the like.

[0089] At the same time, in order to further improve query efficiency, the query server can store multiple objects in memory.

[0090] It is understood that the attribute information associated with an object may include attribute information of other dimensions in addition to its own characteristic attributes. Optionally, in this application, the object stored in the query server is also associated with at least one user attribute. The user attribute associated with the object is the user attribute possessed by the user to whom the object is applicable.

[0091] For example, taking game applications as an example, users of different age groups and different regions may be interested in different game applications. Therefore, the user attributes associated with the game application are the user attributes such as the age group and region of the users matched by the game application.

[0092] Accordingly, the query conditions obtained by the query server also include: at least one target user attribute associated with the object to be queried. Based on this, after determining the object set corresponding to the at least one target feature combination, at least one target object associated with the at least one target attribute information may be determined from the object set corresponding to the at least one target feature combination, thereby filtering out objects in the queried object set that do not meet the target user attribute.

[0093] There are many specific ways to filter objects that do not meet the target user attributes from the queried object set. Optionally, in order to improve filtering efficiency, the present application can filter objects in the object set based on a bitmap filtering method.

[0094] like Figure 3 FIG2 shows a flow chart of another embodiment of an object query method of the present application. The method of this embodiment is applied to a query server, where multiple objects are grouped into object sets corresponding to different feature combinations, as described above. In this embodiment, the query server also stores an object attribute bitmap, which is used to represent at least one user attribute associated with the object.

[0095] The method of this embodiment may include:

[0096] S301, obtaining query conditions.

[0097] The query condition includes: at least one target object characteristic satisfied by the object to be queried and at least one target user attribute associated with the object to be queried.

[0098] The user attributes associated with the object are the user attributes of the user to which the object applies.

[0099] S302: Determine at least one target feature combination that matches the at least one target object feature from the multiple feature combinations.

[0100] S303: Query the objects in the object set corresponding to the at least one target feature combination.

[0101] For the above steps S301 to S303 , reference may be made to the relevant introduction of any of the previous embodiments, and will not be repeated here.

[0102] S304: Construct a target attribute bitmap of the object to be queried according to the at least one target user attribute.

[0103] As previously mentioned, an object's attribute bitmap is used to represent at least one user attribute associated with the object. Specifically, each element in the object's attribute bitmap represents a user attribute. A first value for an element indicates that the object has the user attribute represented by that element, while a second value for the element indicates that the object does not have the user attribute represented by that element.

[0104] For example, the first value may be 1, and the second value may be 0.

[0105] For example, assuming there are nine user attributes, listed as User Attribute 1 through User Attribute 9, the attribute bitmap can include nine elements, each representing one of these nine user attributes. For example, if the user attributes associated with an object include User Attribute 1 and User Attribute 3, the values of the elements representing User Attribute 1 and User Attribute 3 in the attribute bitmap for that user are 1, while the values of all other elements in the attribute bitmap are zero.

[0106] Accordingly, after obtaining at least one target user attribute of the user to be queried, a target attribute bitmap can be constructed based on the user attributes represented by different elements in the attribute bitmap and the at least one target user attribute. In the target attribute bitmap, each element representing the at least one target user attribute takes a first value, while the values of other elements other than the element corresponding to the at least one target user attribute take a second value.

[0107] For example, suppose the attribute bitmap contains six elements. The first element indicates male, the second element indicates female, the third element indicates a bachelor's degree, the fourth element indicates a master's degree, the fifth element indicates a doctorate, and the sixth element indicates a college degree. If the target user attributes for the user to be queried include female and a master's degree, the second and fourth elements of the constructed target attribute bitmap will have a value of 1, while the remaining elements will have a value of 0.

[0108] S305: Determine, from the object set corresponding to the at least one target feature combination, at least one target object whose attribute bitmap matches the target attribute bitmap.

[0109] For example, if two attribute bitmaps are identical, or if the similarity exceeds a set threshold, the two attribute bitmaps can be considered matched. The similarity between attribute bitmaps can be calculated in a variety of ways, including based on the number of identical elements in the attribute bitmaps, or in other ways, without limitation.

[0110] It is understandable that if the attribute bitmap of an object in the object set matches the target attribute bitmap, it means that the object meets the query condition, and therefore, the object can be considered as the target object to be queried.

[0111] S306: Sort the at least one target object based on the importance level of the at least one target object.

[0112] The importance level can be preset as needed, for example, in the form of a weight or priority of the object.

[0113] It is understandable that sorting target objects that meet the conditions based on importance levels can make objects that are more important or more desirable to be recommended be ranked higher, thereby achieving better object recommendation effects.

[0114] Similar to the previous embodiment, after the ranking of the at least one target object is determined, the ranking of the at least one target object may also be sent to the user terminal.

[0115] It should be noted that, in this embodiment, sorting the target objects is an optional method. In actual applications, step S306 may not be performed as needed.

[0116] In order to facilitate understanding of the solution of the embodiment of the present application, the real-time solution of the present application is introduced below from the perspective of process interaction. At the same time, in this embodiment, the application scenario of the server of the software download application recommending game gift packages to users is comprehensively explained.

[0117] like Figure 4 , which outputs a process interaction diagram of an object query method of the present application. The method in this embodiment may include:

[0118] S401 : When a synchronization condition is met, the query server obtains a plurality of objects stored in the database and saves the objects into the memory of the query server, so that the plurality of objects stored in the memory of the query server are synchronized with the plurality of objects stored in the database.

[0119] Among them, in the game gift package recommendation scenario, the database can be a database that stores game gift packages or identification information of game gift packages.

[0120] S402: The query server classifies the synchronized objects into object sets corresponding to a plurality of different Boolean logical relationships according to at least one object feature associated with each of the synchronized objects.

[0121] Each Boolean logic relationship is a logic relationship constructed using Boolean logic symbols and at least one object feature. Therefore, each Boolean logic relationship represents a combination relationship of at least one object feature.

[0122] Each object set corresponds to a Boolean logic relationship, and at least one object feature associated with any object in the object set belongs to the object feature that can be determined based on the Boolean logic relationship corresponding to the object set.

[0123] The corresponding relationships between the multiple Boolean logical relationships and the object sets are also stored in the memory of the query server.

[0124] It is understandable that, since the ranges of object features determined by different Boolean logical relationships may overlap, an object may be classified into multiple object sets.

[0125] It should be noted that the order of steps S401 and S402 is not limited to Figure 4 As shown, in actual applications, these two steps can be performed as long as the object synchronization conditions are met.

[0126] S403: The user terminal sends a query request to the query server.

[0127] The query request may include query parameters for representing the object to be queried, such as keywords of the object to be queried.

[0128] For example, in a scenario where a software download application server recommends a game gift package to a user, the user terminal sends a query request for game gift packages to the query server corresponding to the software download application through the software download application. The query request indicates that the type of object to be queried is a game gift package. The query request may also include object characteristics such as game gift package keywords. Of course, the query request may also include user attributes of the user of the user terminal.

[0129] S404: The query server determines query conditions based on the query request.

[0130] For example, the query server determines the query conditions based on the keywords carried in the query request, user attribute information of the user corresponding to the user terminal sending the query request, and the like.

[0131] The query condition includes: at least one target object characteristic satisfied by the object to be queried and at least one target user attribute associated with the object to be queried.

[0132] For example, taking the game gift package recommendation scenario as an example, the query conditions may include the type of the object to be queried being a game gift package, attribute information such as the types that the game gift package meets, and at least one user attribute associated with the user corresponding to the user terminal.

[0133] In this embodiment, the query server determines the query conditions based on the query request as an example. However, it is understandable that the query server may obtain the query conditions in other ways, which is also applicable to this embodiment.

[0134] S405: The query server constructs a Boolean search formula based on the at least one target object feature.

[0135] The Boolean search formula is used to represent at least one target object feature that the object to be queried needs to satisfy.

[0136] S406: The query server determines, from the object sets corresponding to the multiple Boolean logical relationships, an object set corresponding to at least one target Boolean logical relationship that satisfies the Boolean search formula.

[0137] For example, taking game gift package recommendation as an example, the object set corresponding to each Boolean logical relationship includes at least one identifier of a game gift package.

[0138] S407: The query server constructs a target attribute bitmap of the object to be queried according to the at least one target user attribute.

[0139] S408: The query server determines, from the object set corresponding to the at least one target Boolean logical relationship, at least one target object whose attribute bitmap matches the target attribute bitmap.

[0140] S409: The query server ranks the at least one target object according to the importance level associated with the target object.

[0141] S410: The query server returns the sorted at least one target object to the user terminal, so that a list of the sorted at least one target object is displayed on the user terminal.

[0142] For example, still taking the game gift package recommendation as an example, after determining multiple game gift packages that meet the query conditions, the identifiers of the multiple game gift packages can be sorted in order to obtain a sorted list containing the identifiers of the multiple game gift packages, and the sorted list is returned to the user terminal, so that the user of the user terminal can see the information of the game gift packages arranged in the order returned by the query server.

[0143] Corresponding to an object query method of the present application, the present application also provides an object query device.

[0144] like Figure 5As shown, it shows a schematic diagram of the composition structure of an embodiment of an object query device of the present application. The device of this embodiment is applied to a query server, which stores multiple objects, each of which is associated with at least one object feature; wherein, the multiple objects are classified into object sets corresponding to multiple different feature combinations, the feature combination including a combination relationship of at least one object feature, and the at least one object feature associated with the objects in the object set all conforms to the combination relationship of at least one object feature in the feature combination corresponding to the object set. The device of this embodiment includes:

[0145] The condition obtaining unit 501 is configured to obtain a query condition, wherein the query condition includes: at least one target object feature satisfied by the object to be queried;

[0146] A combination determining unit 502 is configured to determine, from the plurality of feature combinations, at least one target feature combination that matches the at least one target object feature;

[0147] The first object query unit 503 is configured to query objects in the object set corresponding to the at least one target feature combination.

[0148] In a possible implementation, the feature combination stored in the query server is a Boolean logical relationship between at least one object feature;

[0149] The combination determination unit includes:

[0150] A Boolean construction unit, configured to construct a Boolean search formula based on the at least one target object feature, wherein the Boolean search formula is used to represent the at least one target object feature that the object to be queried needs to satisfy;

[0151] The combination matching unit is used to determine at least one target feature combination that meets the Boolean search formula among the multiple feature combinations.

[0152] In another possible implementation, the object stored in the query server is further associated with at least one user attribute, and the user attribute associated with the object is a user attribute possessed by a user matching the object;

[0153] The query condition obtained by the condition obtaining unit further includes: at least one target user attribute associated with the object to be queried;

[0154] The device also includes:

[0155] The second object query unit is configured to determine at least one target object associated with the at least one target user attribute from the object set corresponding to the at least one target feature combination after the first object query unit queries the objects in the object set corresponding to the at least one target feature combination.

[0156] In one possible implementation, the query server stores an attribute bitmap of the object, where the attribute bitmap of the object is used to represent at least one user attribute associated with the object; wherein each element in the attribute bitmap of the object represents a user attribute, and a first value of the element indicates that the object has the user attribute represented by the element, and a second value of the element indicates that the object does not have the user attribute represented by the element;

[0157] The second query unit includes:

[0158] A bitmap construction unit, configured to construct a target attribute bitmap of the object to be queried according to the at least one target user attribute;

[0159] The object filtering unit is configured to determine, from the object set corresponding to the at least one target feature combination, at least one target object whose attribute bitmap matches the target attribute bitmap.

[0160] In yet another possible implementation, the objects stored in the query server are further associated with importance levels;

[0161] The device also includes:

[0162] The object sorting unit is configured to sort the at least one target object based on an importance level of the at least one target object after the object filtering unit determines the at least one target object associated with the at least one target attribute information.

[0163] In yet another possible implementation, the query server stores the plurality of objects in a memory, and the plurality of objects are synchronized from a database to the query server;

[0164] The device also includes:

[0165] an object synchronization unit, configured to synchronize multiple objects in the memory of the query server based on the objects stored in the database when an object synchronization condition is met;

[0166] The relationship updating unit is configured to classify the synchronized multiple objects into object sets corresponding to multiple different feature combinations according to at least one object feature associated with the synchronized multiple objects.

[0167] Optionally, in the embodiment of the above apparatus, the query condition obtained by the condition obtaining unit is generated based on a query parameter sent by the user terminal;

[0168] The device further includes: an object returning unit, configured to send the queried object to the user terminal.

[0169] On the other hand, the present application also provides a server, which can be an independent server, a server in a server cluster, or a node in a cloud platform, etc. Figure 6 , which shows a schematic diagram of the composition architecture of the server provided by this application. Figure 6 In the embodiment, the server 600 may include: a processor 601 and a memory 602.

[0170] Optionally, the server may further include: a communication interface 603 , an input unit 604 , a display 605 , and a communication bus 606 .

[0171] The processor 601 , the memory 602 , the communication interface 603 , the input unit 604 and the display 605 all communicate with each other via the communication bus 606 .

[0172] In the embodiment of the present application, the processor 601 may be a central processing unit, an application specific integrated circuit, etc.

[0173] The processor may call the program stored in the memory 602. Specifically, the processor may execute the operations executed by the query server in the above embodiment.

[0174] The memory 602 is used to store one or more programs. The program may include program code, and the program code includes computer operation instructions. In the embodiment of the present application, the memory at least stores a program for implementing the object query method in any of the above embodiments.

[0175] In one possible implementation, the memory 602 may include a program storage area and a data storage area, wherein the program storage area can store an operating system, the programs mentioned above, and application programs required for functions such as image playback, etc.; the data storage area can store data created during the use of the server.

[0176] The communication interface 603 may be an interface of a communication module.

[0177] The present application may further include an input unit 604, which may include a touch sensing unit, a keyboard, and the like.

[0178] The display 605 includes a display panel, such as a touch display panel.

[0179] certainly, Figure 6 The server structure shown does not constitute a limitation on the server in the embodiment of the present application. In actual applications, the server may include Figure 6 More or fewer components than shown, or combinations of certain components.

[0180] On the other hand, the present application further provides a storage medium storing computer-executable instructions. When the computer-executable instructions are loaded and executed by a processor, the object query method in any of the above embodiments is implemented.

[0181] This application also provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations of the object query method or object query apparatus described above. The specific implementation process can be found in the description of the corresponding embodiments above and is not detailed here.

[0182] It should be noted that the information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0183] It should be noted that the various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Similarities between the various embodiments can be referred to in conjunction with each other. For device embodiments, since they are generally similar to method embodiments, their description is relatively simple, and for relevant details, reference can be made to the description of the method embodiments.

[0184] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.

[0185] The above description of the disclosed embodiments will enable one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention is not limited to the embodiments shown herein, but is to be construed in the widest manner consistent with the principles and novel features disclosed herein.

[0186] The above are only preferred embodiments of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. An object query method, characterized in that: The method is applied to a query server, wherein the query server stores a plurality of objects, each of the objects being associated with at least one object feature; wherein the plurality of objects are classified into object sets corresponding to a plurality of different feature combinations, the feature combinations being Boolean logical relationships between at least one object feature, and the at least one object feature associated with the objects in the object set all conforms to the combination relationship of at least one object feature in the feature combination corresponding to the object set, and the method comprises: Obtaining a query condition, wherein the query condition includes: at least one target object feature satisfied by the object to be queried; Determining, from the plurality of different feature combinations, at least one target feature combination that matches the at least one target object feature, wherein the at least one target object feature belongs to a combination relationship of at least one object feature in the target feature combination; Querying objects in the object set corresponding to the at least one target feature combination; When the query server stores the plurality of objects in a memory, and the plurality of objects are synchronized from a database to the query server, the method further includes: When an object synchronization condition is met, synchronizing multiple objects in the memory of the query server based on the objects stored in the database; According to at least one object feature associated with the synchronized multiple objects, the synchronized multiple objects are classified into object sets corresponding to multiple different feature combinations.

2. The method according to claim 1, characterized in that Determining at least one target feature combination that matches the at least one target object feature from the multiple different feature combinations includes: Constructing a Boolean search formula based on the at least one target object feature, wherein the Boolean search formula is used to represent the at least one target object feature that the object to be queried needs to satisfy; At least one target feature combination that meets the Boolean search expression is determined from the multiple feature combinations.

3. The method according to claim 1, characterized in that The object stored in the query server is further associated with at least one user attribute, where the user attribute associated with the object is a user attribute possessed by a user matching the object; The query condition also includes: at least one target user attribute associated with the object to be queried; After the objects in the object set corresponding to the at least one target feature combination are found out through querying, the method further includes: At least one target object associated with the at least one target user attribute is determined from an object set corresponding to the at least one target feature combination.

4. The method according to claim 3, characterized in that The query server stores an attribute bitmap of the object, wherein the attribute bitmap of the object is used to represent at least one user attribute associated with the object; wherein each element in the attribute bitmap of the object represents a user attribute, and a first value of the element indicates that the object has the user attribute represented by the element, and a second value of the element indicates that the object does not have the user attribute represented by the element; The determining, from the object set corresponding to the at least one target feature combination, at least one target object associated with the at least one target attribute information includes: Constructing a target attribute bitmap of the object to be queried according to the at least one target user attribute; At least one target object whose attribute bitmap matches the target attribute bitmap is determined from the object set corresponding to the at least one target feature combination.

5. The method according to claim 3, characterized in that The objects stored in the query server are also associated with importance levels; After determining at least one target object associated with the at least one target attribute information, the method further includes: The at least one target object is ranked based on an importance level of the at least one target object.

6. The method according to claim 1 or 3, characterized in that The query condition is generated based on the query parameters sent by the user terminal; The method further comprises: The queried object is sent to the user terminal.

7. An object query device, characterized in that: The device is applied to a query server, wherein the query server stores a plurality of objects, each of the objects being associated with at least one object feature; wherein the plurality of objects are classified into object sets corresponding to a plurality of different feature combinations, wherein the feature combination is a Boolean logical relationship between at least one object feature, wherein the feature combination includes a combination relationship of at least one object feature, and wherein the at least one object feature associated with the objects in the object set conforms to the combination relationship of at least one object feature in the feature combination corresponding to the object set, the device comprising: A condition obtaining unit, configured to obtain a query condition, wherein the query condition includes: at least one target object feature satisfied by the object to be queried; a combination determining unit, configured to determine, from the plurality of different feature combinations, at least one target feature combination that matches the at least one target object feature, wherein the at least one target object feature belongs to a combination relationship of at least one object feature in the target feature combination; A first object query unit, configured to query objects in an object set corresponding to the at least one target feature combination; When the query server stores the plurality of objects in a memory, and the plurality of objects are synchronized from a database to the query server, the apparatus further includes: an object synchronization unit, configured to synchronize multiple objects in the memory of the query server based on the objects stored in the database when an object synchronization condition is met; The relationship updating unit is configured to classify the synchronized multiple objects into object sets corresponding to multiple different feature combinations according to at least one object feature associated with the synchronized multiple objects.

8. The device according to claim 7, characterized in that The combination determining unit includes: A Boolean construction unit, configured to construct a Boolean search formula based on the at least one target object feature, wherein the Boolean search formula is used to represent the at least one target object feature that the object to be queried needs to satisfy; The combination matching unit is used to determine at least one target feature combination that meets the Boolean search formula among the multiple feature combinations.

9. The device according to claim 7, characterized in that The object stored in the query server is further associated with at least one user attribute, where the user attribute associated with the object is a user attribute possessed by a user matching the object; The query condition obtained by the condition obtaining unit further includes: at least one target user attribute associated with the object to be queried; The device further comprises: The second object query unit is configured to determine at least one target object associated with the at least one target user attribute from the object set corresponding to the at least one target feature combination after the first object query unit queries the objects in the object set corresponding to the at least one target feature combination.

10. The device according to claim 9, characterized in that The query server stores an attribute bitmap of the object, wherein the attribute bitmap of the object is used to represent at least one user attribute associated with the object; wherein each element in the attribute bitmap of the object represents a user attribute, and a first value of the element indicates that the object has the user attribute represented by the element, and a second value of the element indicates that the object does not have the user attribute represented by the element; The second query unit includes: A bitmap construction unit, configured to construct a target attribute bitmap of the object to be queried according to the at least one target user attribute; The object filtering unit is configured to determine, from the object set corresponding to the at least one target feature combination, at least one target object whose attribute bitmap matches the target attribute bitmap.

11. The device according to claim 9, characterized in that The objects stored in the query server are also associated with importance levels; The device further comprises: The object sorting unit is configured to sort the at least one target object based on an importance level of the at least one target object after the object filtering unit determines the at least one target object associated with the at least one target attribute information.

12. The device according to claim 7 or 11, characterized in that The query condition obtained by the condition obtaining unit is generated based on the query parameters sent by the user terminal; The device further includes: an object returning unit, configured to send the queried object to the user terminal.

13. A server, characterized in that: including memory and processor; Wherein, the memory is used to store programs; The processor is used to execute the program, and when the program is executed, it is specifically used to implement the object query method according to any one of claims 1 to 6.

14. A storage medium, characterized in that Used to store a program, which, when executed, is used to implement the object query method according to any one of claims 1 to 6.

15. A computer program product, characterized in that The computer program product includes instructions, and when the instructions are executed on a computer device, the computer device executes the object query method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data processing method and device and server

    CN108984626A

  • User query method and device

    CN111552715A