Recall processing method and device, electronic equipment and computer readable storage medium
By constructing an AND-OR-NOT merge tree using an inverted index and AND-OR-NOT expressions, and utilizing minimum merge subtree traversal, the problem of efficiently and quickly retrieving live rooms with recall conditions from a large number of live rooms is solved, achieving efficient recall and resource saving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING ZITIAO NETWORK TECH CO LTD
- Filing Date
- 2022-02-16
- Publication Date
- 2026-07-07
AI Technical Summary
Efficiently and quickly retrieving live streams that meet the recall criteria from a large number of live streams has become a major challenge in the industry. Existing technologies, when the number of live streams is large and the recall set is small, will traverse many useless live streams, resulting in longer recall times and wasted time and resources.
An inverted index and AND/OR/NOT expressions are used to construct a target AND/OR/NOT merge tree. By traversing the minimum merge subtree, the target live streaming rooms to be recalled are determined. By utilizing the special merging rules of the AND/OR/NOT merge tree, a full traversal is avoided, thus improving recall efficiency.
It enables efficient and rapid retrieval of live streams that need to be recalled from a large number of live streams, reducing useless traversal and improving recall speed and resource utilization.
Smart Images

Figure CN116647708B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of retrieval, and more particularly to a method, apparatus, electronic device, and computer-readable storage medium for recall processing. Background Technology
[0002] With the development of big data technology, there is an increasing amount of data content on smart terminals. When a lot of data content is published, much of it goes unread, resulting in a useless accumulation of data content and putting pressure on the content provider's servers. At this point, it is necessary to filter and retrieve the published data to remove the useless content.
[0003] Currently, in the live streaming industry, a large number of users have applied for numerous live streaming rooms. When it's necessary to regulate some of these rooms, it's crucial to find those that meet the recall criteria from the entire pool of live streaming rooms. However, the sheer number of live streaming rooms and the overly simplistic sorting methods lead to traversing many useless rooms when the number is large and the recall set is small. This results in prolonged recall times and a waste of time and resources. Therefore, efficiently and quickly identifying the live streaming rooms that need to be recalled from a large pool has become a major challenge for the industry. Summary of the Invention
[0004] To address the aforementioned technical problems, this disclosure aims to efficiently and quickly retrieve the live streams requiring recall from the entire pool of live streams. The purpose of this disclosure is to provide a recall processing method, apparatus, electronic device, and computer-readable storage medium.
[0005] According to a first aspect of this disclosure, embodiments of this disclosure provide a recall processing method, including:
[0006] Determine the AND, OR, and NOT expressions based on the input information;
[0007] Build an inverted index based on the information set of the live streaming rooms to be recalled;
[0008] The target AND-OR-NOT merge tree is determined based on the inverted index and the AND-OR-NOT expression.
[0009] Determine the minimum merge subtree based on the target AND or non-merge tree;
[0010] Traverse the minimum merge subtree to determine the target live streaming room to be recalled.
[0011] Furthermore, the step of establishing an inverted index based on the information set of the live streaming rooms to be recalled includes:
[0012] Obtain the live room attribute identifier, room information, actions, and live room type from the information set of the live rooms to be recalled;
[0013] An inverted index is created based on the attribute identifiers of the live streaming rooms to be recalled, forming an information set of live streaming rooms.
[0014] Furthermore, the inverted index includes multiple inverted chains;
[0015] Determining the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression includes:
[0016] The AND-OR-NOT expression is transformed to obtain an initial AND-OR-NOT merge tree;
[0017] Connect the multiple inverted chains corresponding to the inverted index to the leaf nodes of the initial AND-OR-NOMUM tree to obtain the target AND-OR-NOMUM tree.
[0018] Furthermore, determining the minimum merge subtree based on the target AND / OR non-merge tree includes:
[0019] Determine the zipper length of the inverted zipper connecting each leaf node of the target AND / OR non-merge tree;
[0020] For each parent node of the target AND / OR non-merge tree, the length of each parent node is determined according to the type of each parent node and the zipper length of the subtree corresponding to each parent node.
[0021] The minimum merge subtree is determined based on the length of the parent node of each parent node.
[0022] Furthermore, the minimum merge subtree is determined based on the length of each parent node, including:
[0023] For each of the multiple parent nodes directly connected to the root node of the target AND or non-merge tree, the subtree with the shortest parent node length among the multiple subtrees corresponding to each parent node is determined as the minimum merge tree corresponding to each parent node.
[0024] Furthermore, calculating the length of the parent node based on its type includes:
[0025] If the parent node is an AND node, the length of the shortest subtree zipper in each subtree containing the parent node is determined as the length of the parent node; if the parent node is an OR node, the sum of the zipper lengths of each subtree containing the parent node is determined as the length of the parent node; if the parent node is a NOT node, the length of the zipper corresponding to the left subtree containing the parent node is determined as the length of the parent node.
[0026] Furthermore, determining the target live streaming room to be recalled based on the minimum merge subtree includes:
[0027] The maximum mergeable node is determined based on the type of each parent node of the minimum merge subtree and the weight information of the live broadcast room corresponding to each parent node.
[0028] The target live streaming room to be recalled is determined based on the largest mergeable node.
[0029] Furthermore, determining the largest mergeable node in the minimum merge subtree based on the type of the parent node and the weight value of the live stream includes:
[0030] If the parent node is an AND node, determine the parent node with the largest live room weight among the parent nodes currently at the cursor position of each minimum merge subtree as the maximum mergeable node;
[0031] If the parent node is an OR node, determine the parent node corresponding to the smallest live room weight among the parent nodes currently at the cursor indication position of each minimum merge subtree as the maximum mergeable node;
[0032] If the parent node is a non-node, then among the parent nodes currently at the cursor-indicated position in each of the minimum mergeable subtrees, the parent node corresponding to the left subtree is determined as the maximum mergeable node.
[0033] Furthermore, determining the target live streaming room to be recalled based on the maximum mergeable node includes:
[0034] Based on the maximum mergeable node, traverse each subtree corresponding to each parent node starting from the root node of the target AND-OR non-mergeable tree;
[0035] For each parent node, if the parent node is an AND node and all subtrees corresponding to the parent node contain the maximum mergeable node, then return the live stream room that meets the conditions for recall; otherwise, return a recall failure.
[0036] If the parent node is an OR node, and one of the subtrees of the parent node contains the maximum mergeable node, then return the target live room to be recalled that meets the conditions; otherwise, return a recall failure.
[0037] If the parent node is not a node, and the right subtree of the parent node's subtree does not contain the maximum mergeable node, then return the target live room that meets the conditions for recall; otherwise, return a recall failure.
[0038] Secondly, another embodiment of this disclosure provides a recall processing apparatus, including:
[0039] The expression determination module is used to determine AND, OR, and NOT expressions based on input information;
[0040] The index building module is used to build an inverted index based on the information set of the live broadcast rooms to be recalled;
[0041] The target merge tree determination module is used to determine the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression.
[0042] The minimum merge subtree determination module is used to determine the minimum merge subtree based on the target AND / OR non-merge tree;
[0043] The target live streaming room determination module is used to traverse the minimum merge subtree to determine the target live streaming room to be recalled.
[0044] Thirdly, another embodiment of this disclosure provides an electronic device, including:
[0045] Memory, used to store computer-readable instructions; and
[0046] A processor for executing the computer-readable instructions, causing the electronic device to implement the method described in any one of the first aspects above.
[0047] Fourthly, another embodiment of this disclosure provides a non-transitory computer-readable storage medium for storing computer-readable instructions that, when executed by a computer, cause the computer to perform the method described in any one of the first aspects above.
[0048] Fifthly, another embodiment of this disclosure provides a computer program including instructions that, when run on a computer, cause the computer to perform the recall processing method described in any one of the first aspects above.
[0049] This disclosure provides a recall processing method, apparatus, electronic device, and computer-readable storage medium. The method includes: determining an AND-OR-NOT expression based on input information; establishing an inverted index based on the information set of live streams to be recalled; determining a target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression; determining a minimum merge subtree based on the target AND-OR-NOT merge tree; and traversing the minimum merge subtree to determine the target live streams to be recalled. According to this recall processing method, the input is expressed as an AND-OR-NOT expression, and then the expression is transformed into an AND-OR-NOT merge tree. Through special merging rules of the merge tree, the final result can be obtained without traversing the entire linked list, enabling efficient and rapid retrieval of live streams that meet the recall conditions.
[0050] The above description is merely an overview of the technical solution disclosed herein. In order to better understand the technical means of this disclosure and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0051] Figure 1 This is a schematic flowchart of a recall processing method provided in an embodiment of the present disclosure;
[0052] Figure 2 This is an example diagram of a constructed AND / OR non-merge tree provided in an embodiment of this disclosure;
[0053] Figure 3 A schematic diagram of the node length provided for an embodiment of this disclosure;
[0054] Figure 4 This is a schematic diagram of the node length of an OR node provided in an embodiment of this disclosure;
[0055] Figure 5 A schematic diagram of the node length of a non-node provided in an embodiment of this disclosure;
[0056] Figure 6 A schematic diagram of the maximum mergeable nodes provided in an embodiment of this disclosure;
[0057] Figure 7 A schematic diagram of the maximum mergeable nodes of an OR node provided in an embodiment of this disclosure;
[0058] Figure 8 A schematic diagram of the maximum mergeable non-node node provided in an embodiment of this disclosure;
[0059] Figure 9 A schematic diagram of a recall processing apparatus provided in another embodiment of this disclosure;
[0060] Figure 10 A schematic diagram of the structure of an electronic device provided in another embodiment of this disclosure. Detailed Implementation
[0061] To more clearly describe the technical content of this disclosure, the following description is provided in conjunction with specific embodiments.
[0062] The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0063] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0064] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0065] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0066] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0067] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0068] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. The disclosed embodiments are described in detail below with reference to the accompanying drawings.
[0069] In this field, if it is necessary to recall live streams that adhere to specific rules, there are generally two solutions:
[0070] 1. Search for eligible live streams from the entire pool of live streams. This approach, when the number of live streams increases while the recall set is small, will traverse many useless live streams, leading to a longer recall time.
[0071] 2. Retrieve data by building an inverted index. However, when merging the index, the retrieval time is long because it requires traversing each chain one by one.
[0072] This disclosure provides a recall processing method and apparatus for accelerating live stream link merging and parsing complex logic. The solution involves expressing the input as an AND-OR-NOT expression, then transforming the expression into an AND-OR-NOT merge tree. By applying specific merging rules to the tree, the final result can be obtained without traversing the entire linked list.
[0073] Figure 1This is a flowchart illustrating the recall processing method provided in this embodiment. The recall processing method provided in this embodiment can be executed by a recall processing device. This device can be implemented as software, or as a combination of software and hardware. The device can be integrated into an electronic device and implemented through the electronic device's processor. Figure 1 As shown, the method includes the following steps:
[0074] Step S101: Determine the AND, OR, and NOT expressions based on the input information.
[0075] In this disclosure, input information includes, for example, information entered during recall, specifically characters and formats. The input information is entered according to a defined expression. In this disclosure, the defined expression is an AND, OR, NOT expression, and the defined input information is a combination of AND, OR, NOT, and / or tag. Specifically, the defined input information is a combination of tag and the symbols &, |, -, and / or (). Here, & represents AND, | represents OR, and - represents NOT.
[0076] For example: ((t8|c8)&c2)|(t3-c5)|((c5-c88)&t18).
[0077] The input information can be the input information corresponding to the recall (also called recall input information or recall information), that is, the input information used for recall. When recalling a live broadcast room, the input information is the input information used to recall the live broadcast room. The AND, OR, and NOT expression is the AND, OR, and NOT expression corresponding to the input information, that is, the AND, OR, and NOT expression obtained by performing AND, OR, and NOT conversion on the input information. For example, if it is necessary to recall live broadcast rooms that started broadcasting today and had a broadcast duration of more than 2 hours, then the AND, OR, and NOT expression corresponding to the input information is "started broadcasting today & broadcast duration of more than 2 hours".
[0078] Tags, which can be called "categories" or "tags," are a public way to categorize live stream information. You can add one or more tags to each post, and then you can see all posts on BlogBus that use the same tag.
[0079] Step S102: Establish an inverted index based on the information set of the live streams to be recalled. The information set of the live streams to be recalled is the set of information on the live streams to be recalled corresponding to the input information. Using this method, the target live stream to be recalled can be efficiently determined from the information set of the live streams to be recalled based on the input information and the information set of the live streams to be recalled.
[0080] In step S102, the live room attribute identifiers are obtained from the information set of the live rooms to be recalled, and an inverted index of the information set of the live rooms to be recalled is established based on the live room attribute identifiers. This information set includes live room information such as live tag, room information, actions, and type. The inverted index originates from the practical application of finding records based on attribute values. Each entry in this index table includes an attribute value and the address of each record with that attribute value, where the attribute value includes an attribute identifier. Because the attribute value is not determined by the record, but by the attribute identifier, the location of the record is determined, hence the name inverted index. A file with an inverted index is called an inverted index file.
[0081] An inverted index, also known as a reverse index, is used in the search engine indexes disclosed herein. Compared to index structures such as "signature files" and "suffix trees," the inverted index is the best way to implement the mapping relationship between live streams and documents and is the most efficient index structure.
[0082] Building an index is equivalent to creating an inverted index from a forward index. When processing web pages, the resulting index table is based on the web page as the primary key. Once the index is built, an inverted index should be obtained. The specific process is as follows:
[0083] In this embodiment of the disclosure, the process of establishing a reverse index for the live streaming room information database is described as follows:
[0084] 1) Obtain the identifier attributes from the live stream information;
[0085] 2) The live stream information is deduplicated using a hash algorithm;
[0086] 3) Generate an inverted list of the deduplicated live room information according to the aforementioned identifier attributes.
[0087] The inverted index is simply the document ID (DocID) of the live stream; it does not contain other information (such as word frequency, live stream location, etc.). This is the inverted index in this publication. This inverted index function can be used for small datasets, such as indexing a few thousand documents.
[0088] Step S103: Determine the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression.
[0089] In step S103, the inverted index includes multiple inverted chains; determining the target AND / OR / NOT merge tree based on the inverted index and the AND / OR / NOT expression includes: transforming the AND / OR / NOT expression to obtain an initial AND / OR / NOT merge tree; and connecting the multiple inverted chains corresponding to the inverted index to the leaf nodes of the initial AND / OR / NOT merge tree to obtain the target AND / OR / NOT merge tree. The initial AND / OR / NOT merge tree can be obtained through the transformation of the AND / OR / NOT expression, and it can include multiple leaf nodes. The multiple inverted chains corresponding to the inverted index can be connected to the multiple leaf nodes of the initial AND / OR / NOT merge tree respectively, thereby obtaining the target AND / OR / NOT merge tree. The specific method of transforming the AND / OR / NOT expression to obtain the initial AND / OR / NOT merge tree, and the inverted index of the information set of the live room to be recalled based on the live room attribute identifier, and the connection between the two are not limited here. In the field of logical data storage and retrieval, given n numbers, q queries. Each time, the k-th number after sorting within the specified interval (x, y) is calculated. Considering the large range of n, for example, 10^5, and the range of m, 5 * 10^4, conventional search methods will inevitably time out. Therefore, we consider using a tree structure to store each interval (partitioning and searching using a segment tree approach to improve efficiency). In general, we use merge sort on the array and then store this merge sort process using a segment tree (called the merge tree), forming the merge tree. For each query, we use binary search to enumerate the numbers from 1 to n to check if it is the k-th number in the interval. We don't need to worry about a situation where we enumerate to m, and m satisfies the condition that there are k-1 numbers smaller than it in the interval, but m is not a value in this interval. This problem can be well avoided during the binary search process. Here, m, n, k, and q are natural numbers.
[0090] Combination Figure 2 The diagram illustrates a constructed AND-OR-NOT merge tree example. In this step, the input AND-OR-NOT expression is transformed into the AND-OR-NOT merge tree shown in the diagram. In the diagram, the root node is the | (OR) node, and the first parent nodes of its three subtree branches are the & (AND) node, the - (NOT) node, and the & (AND) node, respectively. Taking the left & (AND) node as an example, its parent node is the & (AND) node. The right subtree has a shorter chain, with only one leaf node, map[c2], which stores multiple live stream information. The right subtree has a longer chain, with a second parent node, the | (OR) node, corresponding to two leaf nodes, map[t8] and map[c8], each storing multiple live stream information.
[0091] Step S104: Determine the minimum merge subtree based on the target AND / OR non-merge tree.
[0092] In step S104, determining the minimum merge subtree based on the target AND / OR non-merge tree includes: determining the zipper length of the inverted zipper connecting each leaf node of the target AND / OR non-merge tree; determining the length of each parent node for each parent node of the target AND / OR non-merge tree according to the type of each parent node and the zipper length of the subtree corresponding to each parent node, wherein the zipper length of the subtree is determined based on the zipper length of the inverted zipper; and determining the minimum merge subtree based on the length of the parent node of each parent node. Alternatively, the length of each parent node can also be determined based on the type of each parent node and the zipper length of the inverted zipper corresponding to each parent node.
[0093] In one embodiment, the length of each parent node is determined based on the type of each parent node and the zipper length of the subtree corresponding to each parent node, including: if the parent node is an AND node, the shortest child node length among all the child nodes corresponding to the parent node is taken as the parent node length; if the parent node is an OR node, the sum of the lengths of all the child nodes corresponding to the parent node is taken as the parent node length; if the parent node is a NOT node, the length of the child node of the left subtree corresponding to the parent node is taken as the parent node length. Wherein, when the child node is a leaf node, the child node length is determined based on the length of the inverted zipper connected to the child node, with different zippers corresponding to different subtrees (the zipper length corresponding to the subtree is also called the subtree length). That is, the length of a leaf node can be determined based on the length of its corresponding inverted zipper, and the length of the parent node, i.e., the length of the subtree corresponding to the parent node, can be determined based on the length of the corresponding inverted zipper and the type of the parent node.
[0094] In this system, leaf nodes are directly connected to each inverted chain of the inverted index, and the length of a leaf node can be determined based on the length of the inverted chain connected to it. For parent nodes, each parent node can also correspond to multiple different subtrees. In this case, a subtree can include the inverted chain corresponding to the parent node and one or more nodes connecting the inverted chain to the parent node. The subtree chain is a chain consisting of the inverted chain and the one or more nodes. If the parent node is an AND node, the length of the chain of the shortest subtree in the parent node's subtrees is determined as the parent node length. If the parent node is an OR node, the sum of the chain lengths of the corresponding subtrees in the parent node's subtrees is determined as the parent node length. If the parent node is a NOT node, the length of the chain corresponding to the left subtree of the parent node is determined as the parent node length. In this disclosure, each leaf node can correspond to an inverted zipper (the inverted zipper corresponding to each leaf node is the inverted zipper connected to this leaf node), and each parent node can correspond to multiple subtrees (the subtree corresponding to each parent node is the subtree in which this parent node is located). For example, two subtrees can be called the left and right subtrees. In addition, the inverted zipper corresponding to each parent node can be the inverted zipper included in the subtree in which this parent node is located, that is, the inverted zipper included in the zipper of the subtree in which the parent node is located.
[0095] Different merging processes result in different total merging costs. The subtree with the lowest merging cost is denoted as the minimum merged subtree, which is the subtree corresponding to the lowest total merging cost. The node length of this minimum merged subtree is the zipper length of the minimum merged subtree. In this disclosure, the traversal method is from bottom to top, starting with the leaf nodes to count the zipper length. The zipper length of the leaf nodes is known, while the zipper length of the parent nodes needs to be determined based on different cases:
[0096] If the parent node is an '&' node, such as Figure 3 As shown, the shorter length of the subtree zipper is taken as the length of the parent node; in the figure, the shorter length of the subtree zipper to the left of the parent node is 7, which is taken as the length of the parent node.
[0097] If the parent node is a | node, such as Figure 4 As shown, the sum of the lengths of all subtree zippers is taken as the length of the parent node; in the figure, the sum of the shorter length of the zipper of the left subtree of the parent node (7) and the shorter length of the zipper of the right subtree (1000) is taken as the length of the parent node.
[0098] If the parent node is a - node, such as Figure 5 As shown, the length of the left subtree is taken as the length of the parent node; in the figure, the shorter length of the left subtree of the parent node is 7, which is taken as the length of the parent node.
[0099] Specifically, determining the minimum merge subtree based on the target AND / OR non-merge tree includes: counting the zipper length from the leaf node to the parent node from bottom to top; and calculating the length of the parent node according to the type of the parent node.
[0100] The step of calculating the length of the parent node based on its type includes: determining the type of the parent node; if the parent node is an AND node, determining the zipper length of the shortest subtree in each subtree containing the parent node as the length of the parent node; if the parent node is an OR node, determining the sum of the zipper lengths of each subtree in each subtree containing the parent node as the length of the parent node; if the parent node is a NOT node, determining the zipper length of the left subtree containing the parent node as the length of the parent node.
[0101] Step S105: Traverse the minimum merge subtree to determine the target live streaming room to be recalled.
[0102] In step S105, the target live streaming room to be recalled is determined based on the minimum merge subtree, including:
[0103] The maximum mergeable node is determined based on the type of each parent node in the minimum mergeable subtree and the weight information of the live room corresponding to each parent node; and the target live room to be recalled is determined based on the maximum mergeable node.
[0104] In one embodiment, determining the maximum mergeable node in the minimum merge subtree based on the type of the parent node and the live stream weight value includes: if the parent node is an AND node, determining the parent node corresponding to the maximum live stream weight among the parent nodes currently being traversed in each minimum merge subtree as the maximum mergeable node; if the parent node is an OR node, determining the parent node corresponding to the minimum live stream weight among the parent nodes currently being traversed in each minimum merge subtree as the maximum mergeable node; if the parent node is a NOT node, determining the parent node corresponding to the left subtree among the parent nodes currently being traversed in each minimum merge subtree as the maximum mergeable node.
[0105] In one embodiment, determining the target live streaming room to be recalled based on the maximum mergeable node includes: traversing each subtree corresponding to each parent node starting from the root node of the target AND / OR non-mergeable tree based on the maximum mergeable node; and for each parent node, if the parent node is an AND node, and all subtrees corresponding to the parent node contain the maximum mergeable node, then the live streaming room that meets the condition for recall is returned; otherwise, recall failure is returned; if the parent node is an OR node, and one of the subtrees of the parent node contains the maximum mergeable node, then the target live streaming room that meets the condition is returned upwards; otherwise, recall failure is returned; if the parent node is a NOT node, and the right subtree of the parent node's subtree does not contain the maximum mergeable node, then the target live streaming room that meets the condition is returned upwards; otherwise, recall failure is returned.
[0106] In one embodiment, the weight information is the weight value of the live stream, and the live stream weight value is used to build an inverted index. In this case, traversing the minimum merge subtree to determine the target live stream to be recalled includes:
[0107] Sub-step S1051: On the minimum merged subtree, starting from the leaf node, count the weight values of the live streaming rooms in the linked list (zippered list) of the subtree.
[0108] Sub-step S1052: Determine the maximum mergeable node based on the type of the parent node on the minimum merge subtree and the weight value of the live broadcast room;
[0109] Sub-step S1053: Determine the live streaming rooms that need to be recalled in the merge tree based on the largest mergeable node.
[0110] The weight value of a live streaming room can be obtained from business information. For example, the weight value of a live streaming room can be determined based on the start time of each live streaming room. The later the start time, the greater the weight value of the live streaming room.
[0111] In substep S105, the weight values of the live streaming rooms on the linked list of the subtree in the minimum merged subtree are counted in order, starting from the leaf node.
[0112] In step S1051, after determining the minimum merge subtree, this disclosure starts by calculating the weight values of the live streaming rooms in the linked list of the subtree, beginning with the leaf nodes. The method is to calculate the weights of the live streaming rooms at the next position of the current cursor in the linked list of the subtree, starting from the leaf nodes, in a bottom-up order. Specifically, at each leaf node, the weights of the live streaming rooms are sorted from largest to smallest.
[0113] Specifically, the step of calculating the weight values of the live streaming rooms on the linked list in the minimum merge subtree, starting from the leaf nodes, includes: on the minimum merge subtree, calculating the weight values of the live streaming rooms at the next position of the current cursor (the current cursor position, also known as the current cursor indication position, and the node currently at the cursor indication position is the node currently in the traversal state) in the linked list of the subtree in a bottom-up order starting from the leaf nodes.
[0114] Sub-step S1052: Determine the maximum mergeable node based on the type of the parent node on the minimum merge subtree and the weight value of the live room.
[0115] In substep S1052, after determining the minimum mergeable subtree and calculating the weight values of the live stream rooms on the linked list of the subtree, the maximum mergeable node is retrieved in the minimum mergeable subtree. By finding the maximum mergeable node in the subtree of the merge tree, and based on the specific logical structure of the merge tree, the live stream rooms can be retrieved efficiently and in a structured manner, reducing the length of the retrieval chain.
[0116] The maximum mergeable node of the parent node in the subtree is determined by several cases:
[0117] If the parent node is an '&' node, such as Figure 6 As shown, the live stream with the smaller subtree weight is returned as the largest mergeable node. The weight of the left leaf node on the left is 1, which is taken as the weight of the largest mergeable node of the parent node. Because the & node requires that both subtrees must meet the requirements, and the weight of the largest mergeable node of a subtree is already 1, there is no need to look up the live streams with weights between 1 and 9.
[0118] If the parent node is a | node, such as Figure 7 As shown, the live stream room with the larger subtree weight is selected as the largest mergeable node. The weight of the leaf node on the right side of the diagram, 9, is used as the weight of the largest mergeable node of the parent node. This is because the "|" node requires that only one of the two subtrees meets the requirement, and the largest mergeable node weight of a subtree is 9. There may also be live stream rooms with weights between 1 and 9.
[0119] If the parent node is a - node, such as Figure 8 As shown, the node returned from the left subtree is taken as the largest mergeable node, and the weight of the right leaf node (1) is taken as the weight of the parent node's largest mergeable node. Because of the "-" node, the node following it represents the node to be filtered, so the left subtree, i.e., the preceding node, is used as the reference.
[0120] Specifically, determining the maximum mergeable node based on the type of the parent node in the minimum merge subtree and the weight value of the live stream includes: determining the type of the parent node in the minimum merge subtree; and determining the maximum mergeable node in the minimum merge subtree based on the type of the parent node and the weight value of the live stream.
[0121] The step of determining the maximum mergeable node on the minimum merge subtree based on the type of the parent node and the weight value of the live stream includes: if the parent node is an AND node, returning the live stream with the smaller weight in the subtree of the parent node as the maximum mergeable node; if the parent node is an OR node, returning the live stream with the larger weight in the subtree of the parent node as the maximum mergeable node; if the parent node is a NOT node, returning the maximum mergeable node corresponding to the left subtree of the parent node.
[0122] Furthermore, if the parent node is a NOT node, returning the largest mergeable node corresponding to the left subtree of the parent node includes: further determining the parent node type of the left subtree of the parent node; if the parent node is an AND node, returning the live stream room with the smaller weight in the subtree of the parent node as the largest mergeable node of the NOT node; if the parent node is an OR node, returning the live stream room with the larger weight in the subtree of the parent node as the largest mergeable node of the NOT node; if the parent node is a NOT node, continuing to loop and return the largest mergeable node corresponding to the left subtree of the NOT node until the parent node is no longer a NOT node.
[0123] Sub-step S1053: Retrieve the live streaming rooms that need to be recalled from the merge tree based on the largest mergeable node.
[0124] In step S1053, this disclosure uses the maximum mergeable node to determine all branches of the merge tree. Note that if it's an '&' node, after a subtree fails, failure is returned directly upwards. If it's a '-' node, the right subtree contains the maximum mergeable node, and failure is returned upwards. If a node meets the requirements in the entire subtree, for example... Figure 1 In the results, live stream room 1021 is a node that meets the requirements. These nodes are then extracted and stored in the results.
[0125] Specifically, the step of retrieving the live stream rooms that need to be recalled in the merge tree based on the maximum mergeable node includes: determining each subtree of the parent node in the AND / OR / NOT merge tree by retrieving the maximum mergeable node; if the parent node is an AND node, and the maximum mergeable node exists in all subtrees of the parent node, then return the live stream rooms that meet the conditions for recall, otherwise return the retrieval failure; if the parent node is an OR node, and the maximum mergeable node exists in one of the subtrees of the parent node, then return the live stream rooms that meet the conditions for recall, otherwise return the retrieval failure; if the parent node is a NOT node, and the maximum mergeable node does not exist in the right subtree of the parent node's subtree, then return the live stream rooms that meet the conditions for recall, otherwise return the retrieval failure.
[0126] In addition, in this embodiment of the disclosure, the cursor for each linked list traversal needs to be recorded. This way, the merged result can be obtained by traversing only the minimum merged subtree, without having to traverse all linked lists.
[0127] Figure 9 A schematic diagram of a recall processing apparatus according to another embodiment of this disclosure is shown. The apparatus includes: an expression determination module 901, an index building module 902, a target merge tree determination module 903, a minimum merge subtree determination module 904, and a target live streaming room determination module 905. Wherein:
[0128] The expression determination module 901 determines AND, OR, and NOT expressions based on the input information.
[0129] The index building module 902 is used to build an inverted index based on the information set of the live broadcast rooms to be recalled.
[0130] The target merge tree determination module 903 is used to determine the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression.
[0131] In this disclosure, a tree structure is considered to store each interval (dividing and searching according to the segment tree construction method to improve efficiency). In general, the array is sorted using merge sort, and the merge sort process is stored in a segment tree (called a merge tree), forming a merge tree. In this disclosure, for AND, OR, and NOT expressions, the nodes of the AND, OR, and NOT expression are merged to form an AND, OR, and NOT merge tree. First, the specified input information is expressed as an AND, OR, and NOT expression, where the specified input information is a combination of AND, OR, NOT, and / or tag. Specifically, the specified input information can only be a combination of tag and the symbols &, |, -, and / or (). Here, & represents AND, | represents OR, and - represents NOT.
[0132] This module transforms the input AND, OR, and NOT expressions into an AND, OR, and NOT merge tree as shown in the figure. Specifically, it is used to: zip-chain the AND, OR, and NOT expressions; form an AND, OR, and NOT merge tree using the AND, OR, and NOT expressions as nodes; and use the zip-chain length of the subtrees of the AND, OR, and NOT merge tree as the length of the AND, OR, and NOT nodes.
[0133] The minimum merge subtree determination module 904 is used to determine the minimum merge subtree based on the target AND / OR non-merge tree.
[0134] This module is used to: count the zipper length from bottom to top, starting with the leaf nodes. The zipper length of the leaf nodes is known, while the length of the parent node needs to be determined depending on the situation:
[0135] If the parent node is an '&' node, such as Figure 3 As shown, the shorter length of the subtree zipper is taken as the length of the parent node; in the figure, the shorter length of the subtree zipper to the left of the parent node is 7, which is taken as the length of the parent node.
[0136] If the parent node is a | node, such as Figure 4 As shown, the sum of the zipper lengths of all subtrees is taken as the length of the parent node; in the figure, the sum of the shorter zipper length of the left subtree (7) and the shorter zipper length of the right subtree (1000) of the parent node (1007) is taken as the length of the parent node.
[0137] If the parent node is a - node, such as Figure 5 As shown, the length of the left subtree is taken as the length of the parent node; in the figure, the shorter length of the left subtree of the parent node is 7, which is taken as the length of the parent node.
[0138] Specifically, the module is used to: count the zipper length from bottom to top from the leaf node to the parent node; and calculate the length of the parent node according to the type of the parent node.
[0139] The step of calculating the length of the parent node based on its type includes: determining the type of the parent node; if the parent node is an AND node, determining the zipper length of the shortest subtree in the subtrees containing the parent node as the length of the parent node; if the parent node is an OR node, determining the sum of the zipper lengths of the corresponding subtrees in the subtrees containing the parent node as the length of the parent node; if the parent node is a NOT node, determining the inverted zipper length of the left subtree containing the parent node as the length of the parent node.
[0140] The target live room determination module 905 is used to traverse the minimum merge subtree to determine the target live room to be recalled.
[0141] The target live streaming room determination module 905 specifically includes:
[0142] The weight submodule 9051 is used to count the weight values of the live streaming rooms in the linked list of the subtree in the minimum merged subtree, starting from the leaf node;
[0143] The determination submodule 9052 is used to determine the maximum mergeable node based on the type of the parent node on the minimum merge subtree and the duplication value of the live room;
[0144] The retrieval submodule 9053 is used to determine the live streaming rooms that need to be recalled in the merge tree based on the maximum mergeable node.
[0145] The weight submodule 9051 is used to count the weight values of the live streaming rooms in the linked list of the subtree in the minimum merged subtree, starting from the leaf node.
[0146] In this disclosure, after determining the minimum merge subtree, the weight values of the live streaming rooms in the linked list of the subtree are calculated starting from the leaf nodes. This module is used to: on the minimum merge subtree, calculate the weight of the live streaming room at the next position of the current cursor in the linked list of the subtree in a bottom-up order, starting from the leaf nodes. Specifically, at each leaf node, the weights of the live streaming rooms are sorted in descending order.
[0147] This module is specifically used to: on the minimum merge subtree, count the weight value of the live room at the next position of the current cursor in the linked list of the subtree in order from bottom to top, starting from the leaf node.
[0148] The determining submodule 9052 is used to determine the maximum mergeable node based on the type of the parent node on the minimum merge subtree and the weight value of the live broadcast room.
[0149] This module is used to: determine the minimum mergeable subtree, and after calculating the weight values of the live streams in the linked lists of the subtree, retrieve the maximum mergeable node in the minimum mergeable subtree. By finding the maximum mergeable point in the subtree of the merge tree, and based on the specific logical structure of the merge tree, it can efficiently and structurally retrieve live streams, reducing the length of the retrieval chain.
[0150] This module is specifically used to: determine the type of the parent node on the minimum merge subtree; and determine the maximum mergeable node on the minimum merge subtree based on the type of the parent node and the weight value of the live room.
[0151] The step of determining the maximum mergeable node on the minimum merge subtree based on the type of the parent node and the weight value of the live stream includes: if the parent node is an AND node, returning the live stream with the smaller weight in the subtree of the parent node as the maximum mergeable node; if the parent node is an OR node, returning the live stream with the larger weight in the subtree of the parent node as the maximum mergeable node; if the parent node is a NOT node, returning the maximum mergeable node corresponding to the left subtree of the parent node.
[0152] Furthermore, if the parent node is a NOT node, returning the largest mergeable node corresponding to the left subtree of the parent node includes: further determining the parent node type of the left subtree of the parent node; if the parent node is an AND node, returning the live stream room with the smaller weight in the subtree of the parent node as the largest mergeable node of the NOT node; if the parent node is an OR node, returning the live stream room with the larger weight in the subtree of the parent node as the largest mergeable node of the NOT node; if the parent node is a NOT node, continuing to loop and return the largest mergeable node corresponding to the left subtree of the NOT node until the parent node is no longer a NOT node.
[0153] The retrieval submodule 9053 is used to retrieve the live streaming rooms that need to be recalled in the merge tree based on the maximum mergeable node.
[0154] In this disclosure, the maximum mergeable node is used to determine all branches of the merge tree. Note that if it's an '&' node, after a subtree fails, failure is returned directly upwards. If it's a '-' node, the maximum mergeable node exists in the right subtree, and failure is returned upwards. If a node meets the requirements in the entire subtree, for example... Figure 1 In the results, live stream room 1021 is a node that meets the requirements. These nodes are then extracted and stored in the results.
[0155] This module is specifically used for: retrieving and determining each subtree of the parent node in the AND, OR, and NOT merge tree based on the maximum mergeable node; if the parent node is an AND node, and all subtrees of the parent node contain the maximum mergeable node, then return the live stream rooms that meet the conditions for recall; otherwise, return a failure to recall. If the parent node is an OR node, and one of the subtrees of the parent node contains the maximum mergeable node, then return the live stream rooms that meet the conditions for recall; otherwise, return a failure to recall. If the parent node is a NOT node, and the right subtree of the parent node's subtree does not contain the maximum mergeable node, then return the live stream rooms that meet the conditions for recall; otherwise, return a failure to recall.
[0156] In addition, in this embodiment of the disclosure, the cursor for each linked list traversal needs to be recorded. This way, the merged result can be obtained by traversing only the minimum merged subtree, without having to traverse all linked lists.
[0157] Figure 9 The device shown can perform Figure 1 For the methods shown in the embodiments, the parts not described in detail in this embodiment can be referred to the following: Figure 1 The relevant descriptions of the illustrated embodiments are provided below. For the execution process and technical effects of this technical solution, please refer to [link / reference]. Figure 1 The descriptions in the illustrated embodiments will not be repeated here.
[0158] The following is for reference. Figure 10 A schematic diagram of the structure of an electronic device 1000 suitable for implementing another embodiment of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0159] like Figure 10 As shown, the electronic device 1000 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1008 into a random access memory (RAM) 1003. The RAM 1003 also stores various programs and data required for the operation of the electronic device 1000. The processing unit 1001, ROM 1002, and RAM 1003 are interconnected via a communication line 1004. An input / output (I / O) interface 1005 is also connected to the communication line 1004.
[0160] Typically, the following devices can be connected to the I / O interface 1005: input devices 1006 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 1007 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1008 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows electronic device 1000 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 1000 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0161] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 1009, or installed from storage device 1008, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of embodiments of this disclosure.
[0162] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0163] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0164] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0165] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the interaction method described in the above embodiments.
[0166] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0167] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two connected blocks may actually be executed substantially in parallel, or they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0168] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0169] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0170] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0171] According to one or more embodiments of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform any of the methods described in the first aspect above.
[0172] According to one or more embodiments of the present disclosure, a non-transitory computer-readable storage medium is provided, characterized in that the non-transitory computer-readable storage medium stores computer instructions for causing a computer to perform any of the methods described in the first aspect above.
[0173] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
Claims
1. A recall processing method, characterized in that, include: Determine the AND, OR, and NOT expression based on the input information; Build an inverted index based on the information set of the live streaming rooms to be recalled; The target AND-OR-NOT merge tree is determined based on the inverted index and the AND-OR-NOT expression. Determine the minimum merge subtree based on the target AND or non-merge tree; The target live streaming room to be recalled is determined by traversing the minimum mergeable subtree; the target live streaming room to be recalled is determined based on the maximum mergeable node. The maximum mergeable node is determined based on the type of each parent node of the minimum mergeable subtree and the weight information of the live broadcast room corresponding to each parent node.
2. The method according to claim 1, characterized in that, The step of building an inverted index based on the information set of the live streaming rooms to be recalled includes: Obtain the live room attribute identifier from the information set of the live rooms to be recalled; An inverted index is created based on the attribute identifiers of the live streaming rooms to be recalled, forming an information set of live streaming rooms.
3. The method according to claim 1 or 2, characterized in that, The inverted index includes multiple inverted chains; Determining the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression includes: The AND-OR-NOT expression is transformed to obtain an initial AND-OR-NOT merge tree; Connect the multiple inverted chains corresponding to the inverted index to the leaf nodes of the initial AND-OR-NOMUM tree to obtain the target AND-OR-NOMUM tree.
4. The method according to claim 1, characterized in that, Determining the minimum merge subtree based on the target AND / OR non-merge tree includes: Determine the zipper length of the inverted zipper connecting each leaf node of the target AND / OR non-merge tree; For each parent node of the target AND / OR non-merge tree, the length of each parent node is determined according to the type of each parent node and the zipper length of the subtree corresponding to each parent node. The zipper length of the subtree is determined according to the zipper length of the inverted zipper. The minimum merge subtree is determined based on the length of the parent node of each parent node.
5. The method according to claim 4, characterized in that, The minimum merge subtree is determined based on the length of each parent node, including: For each of the multiple parent nodes directly connected to the root node of the target AND or non-merge tree, the subtree with the shortest parent node length among the multiple subtrees corresponding to each parent node is determined as the minimum merge tree corresponding to each parent node.
6. The method according to claim 4, characterized in that, The length of each parent node is determined based on its type and the chain length of its corresponding subtree, including: If the parent node is an AND node, the zipper length of the shortest subtree in the subtree containing the parent node is determined as the length of the parent node; if the parent node is an OR node, the sum of the zipper lengths of the corresponding subtrees in the subtree containing the parent node is determined as the length of the parent node; if the parent node is a NOT node, the zipper length of the left subtree containing the parent node is determined as the length of the parent node.
7. The method according to claim 1, characterized in that, The step of determining the largest mergeable node in the minimum merge subtree based on the type of the parent node and the weight value of the live stream includes: If the parent node is an AND node, determine the parent node with the largest live room weight among the parent nodes currently in the traversal state of each minimum merge subtree as the maximum mergeable node; If the parent node is an OR node, determine the parent node with the smallest live room weight among the parent nodes currently in the traversal state of each minimum merge subtree as the maximum mergeable node. If the parent node is not a node, then among the parent nodes currently in the traversal state of each minimum merge subtree, the parent node corresponding to the left subtree is determined as the maximum mergeable node.
8. The method according to claim 1, characterized in that, The process of determining the target live streaming room to be recalled based on the maximum mergeable node includes: Based on the maximum mergeable node, traverse each subtree corresponding to each parent node starting from the root node of the target AND-OR non-mergeable tree; For each parent node, if the parent node is an AND node and all subtrees corresponding to the parent node contain the maximum mergeable node, then return the live stream room that meets the conditions for recall; otherwise, return a recall failure. If the parent node is an OR node, and one of the subtrees of the parent node contains the maximum mergeable node, then return the target live room to be recalled that meets the conditions; otherwise, return a recall failure. If the parent node is not a node, and the right subtree of the parent node's subtree does not contain the maximum mergeable node, then return the target live room that meets the conditions for recall; otherwise, return a recall failure.
9. A recall processing device, characterized in that, include: The expression determination module is used to determine AND, OR, and NOT expressions based on input information; The index building module is used to build an inverted index based on the information set of the live broadcast rooms to be recalled; The target merge tree determination module is used to determine the target AND-OR-NOT merge tree based on the inverted index and the AND-OR-NOT expression. The minimum merge subtree determination module is used to determine the minimum merge subtree based on the target AND / OR non-merge tree; The target live streaming room determination module is used to traverse the minimum merge subtree to determine the target live streaming room to be recalled; the target live streaming room to be recalled is determined based on the maximum mergeable node; The maximum mergeable node is determined based on the type of each parent node of the minimum mergeable subtree and the weight information of the live broadcast room corresponding to each parent node.
10. An electronic device, comprising: Memory, used to store computer-readable instructions; as well as A processor for executing the computer-readable instructions, causing the electronic device to perform the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a program that, when executed, enables the implementation of the method as described in any one of claims 1 to 8.
12. A computer program product comprising instructions that, when executed on a computer, cause the computer to perform the recall processing method according to any one of claims 1 to 8.