Matching method

By using the directed graph formed by multi-forktree combination during user configuration, the problem of inefficiency in traditional rule matching technology is solved, efficient option combination matching and path consistency are achieved, and the accuracy of the configuration process is ensured.

CN120335667APending Publication Date: 2025-07-18LENOVO (BEIJING) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510525932.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-24
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

When traditional rule matching technology faces complex option combinations and huge rule sets, matching efficiency is difficult to guarantee, especially in the process of user configuration.

Method used

A directed graph formed based on multi-forktree combination is adopted to display suboptions that comply with preset rules by generating target instructions. The node relationship of directed graph restricts the combination of option to exclude invalid paths, and ensure path consistency and rule consistency between options.

Benefits of technology

It improves the matching efficiency and interaction accuracy of the configuration process, avoids the generation of invalid combinations, and ensures the rules consistency of the configuration process and the correctness of the operation guidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120335667A_ABST
    Figure CN120335667A_ABST
Patent Text Reader

Abstract

The invention provides a matching method which comprises the steps that in response to an operation behavior of a user on options in a target application, a target instruction is generated, and the target instruction is used for indicating at least part of target options forming a target individual; based on the target instruction, displaying at least one first sub-option corresponding to the target option and conforming to a preset rule, the first sub-option being at least part of all sub-options of the target option; wherein the preset rule is a directed graph formed by combining multi-way trees generated on the basis of each preset strategy, and each option corresponds to at least one node in the directed graph.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and more particularly, to a matching method. Background Art

[0002] With the continuous growth of users' personalized needs, configuration combination systems based on rule engines are widely used in various application scenarios, such as product configuration, business process design, and permission management. Although traditional rule matching technologies already have certain logical expression and reasoning capabilities in practical applications, when faced with complex option combinations and large rule sets, it is difficult to guarantee the matching efficiency when the number of rules increases sharply. Summary of the Invention

[0003] In view of this, the present disclosure provides a matching method, device, electronic device, medium, and program product.

[0004] One aspect of the present disclosure provides a matching method, including: generating a target instruction in response to a user's operation behavior on options in a target application, the target instruction being used to indicate at least some target options in a target individual; based on the target instruction, displaying at least one first sub-option corresponding to the target option and meeting a preset rule, the first sub-option being at least some of all sub-options of the target option; wherein the preset rule is a directed graph formed by a multi-tree combination generated based on respective preset strategies, and each option corresponds to at least one node in the directed graph.

[0005] According to an embodiment of the present disclosure, the sub-options corresponding to the target option further include second sub-options, and the parent node of any node corresponding to the second sub-option in the directed graph is different from the node corresponding to the target option.

[0006] According to an embodiment of the present disclosure, displaying at least one first sub-option corresponding to the target option and meeting the preset rule includes: determining a target node corresponding to the target option in the directed graph; obtaining descendant nodes corresponding to each target node; and displaying the options corresponding to each descendant node as the first sub-options of the target option.

[0007] According to an embodiment of the present disclosure, displaying at least one first sub-option corresponding to the target option and meeting the preset rule includes: matching at least one target information from pre-stored cache information according to the target option, the target information at least characterizing a target feature of the target option; determining at least one target node corresponding to the target option in the directed graph according to the target information; determining at least one first sub-option according to the child nodes of each target node; and displaying each first sub-option.

[0008] According to an embodiment of the present disclosure, the target feature at least includes the selected quantity of the target option, and the matching method further includes: generating a first warning message in response to the number of target options not satisfying a preset quantity rule with the selected quantity.

[0009] According to an embodiment of the present disclosure, the matching method further includes: determining at least one target node corresponding to the target option in the directed graph; obtaining the feature information represented by each target node and the feature information corresponding to the child nodes of the target node; and updating the stored cache information according to the feature information.

[0010] According to an embodiment of the present disclosure, the generation process of the directed graph includes: obtaining a preset policy set, where the policy set includes at least one policy, and the policy represents the association relationship between multiple options; generating a multi-way tree corresponding to each policy, where the nodes of the multi-way tree at least represent the feature information of the options, and the path from the root node to the leaf node of the multi-way tree represents the policy; and merging each multi-way tree to obtain the directed graph.

[0011] According to an embodiment of the present disclosure, generating a multi-way tree corresponding to each policy includes: generating a plurality of nodes according to the policy, where the nodes represent the feature information of the corresponding options in the policy; determining the priority of each node according to each feature information; merging the nodes with the same priority into the same node; and connecting each node into a multi-way tree according to the priority order and rules, where the priority corresponding to the child node in the multi-way tree is lower than the priority corresponding to the parent node.

[0012] According to an embodiment of the present disclosure, the matching method further includes: in response to the target option indicated by the instruction not being a sub-option of the first option, determining a first target node of the first option in the directed graph and a second target node of the target option in the directed graph; determining at least one intermediate node between the first target node and the second target node; and generating a second warning message according to the feature information represented by the intermediate node.

[0013] According to an embodiment of the present disclosure, the matching method further includes: displaying at least one second option corresponding to the intermediate node according to the feature information represented by the intermediate node.

[0014] Another aspect of the present disclosure provides a matching device, including: a first generation module, configured to generate a target instruction in response to a user's operation behavior on an option in a target application, where the target instruction is used to indicate at least some target options in a target individual; and a first display module, configured to display at least one first sub-option corresponding to the target option and meeting a preset rule based on the target instruction, where the first sub-option is at least some of all sub-options of the target option; where the preset rule is a directed graph formed by combining multi-way trees respectively generated based on each preset policy, and each option corresponds to at least one node in the directed graph.

[0015] Another aspect of the present disclosure provides an electronic device, including: at least one processor; and a memory connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the matching method of any one of the foregoing embodiments.

[0016] Another aspect of the present disclosure provides a computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the matching method according to any one of the foregoing embodiments.

[0017] Another aspect of the present disclosure provides a computer program product, including a computer program / instructions, characterized in that when the computer program / instructions are executed by a processor, operations of the matching method of any one of the foregoing embodiments are implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Through the following description of the embodiments of the present disclosure with reference to the drawings, the above and other objects, features and advantages of the present disclosure will become clearer. In the drawings:

[0019] Figure 1 Schematically shows a usage scenario diagram corresponding to the matching method according to an embodiment of the present disclosure;

[0020] Figure 2 Schematically shows a flowchart of the matching method according to an embodiment of the present disclosure;

[0021] Figure 3 Schematically shows a user operation process diagram according to an embodiment of the present disclosure;

[0022] Figure 4 Schematically shows a directed graph in the matching method according to an embodiment of the present disclosure;

[0023] Figure 5 Schematically shows a flowchart of displaying a first sub-option in the matching method according to an embodiment of the present disclosure;

[0024] Figure 6 Schematically shows another flowchart of displaying a first sub-option in the matching method according to an embodiment of the present disclosure;

[0025] Figure 7 Schematically shows another flowchart of the matching method according to an embodiment of the present disclosure;

[0026] Figure 8 Schematically shows a flowchart of updating cache information in the matching method according to an embodiment of the present disclosure;

[0027] Figure 9 Schematically shows a generation process diagram of a directed graph in the matching method according to an embodiment of the present disclosure;

[0028] Figure 10 Schematically shows a flowchart of generating a multi - fork tree in a matching method according to an embodiment of the present disclosure;

[0029] Figure 11 Schematically shows a process diagram of generating a directed graph according to an embodiment of the present disclosure;

[0030] Figure 12 Schematically shows another flowchart of the matching method according to an embodiment of the present disclosure;

[0031] Figure 13 Schematically shows a scenario diagram of abnormal user operations according to an embodiment of the present disclosure;

[0032] Figure 14 Schematically shows a flowchart of correcting user configuration in a matching method according to an embodiment of the present disclosure;

[0033] Figure 15 Schematically shows a block diagram of a matching device according to an embodiment of the present disclosure; and

[0034] Figure 16 Schematically shows a block diagram of an electronic device suitable for implementing the method described above according to an embodiment of the present disclosure. Detailed implementation manners

[0035] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well - known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present disclosure.

[0036] The terms used herein are merely for describing specific embodiments and are not intended to limit the present disclosure. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0037] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0038] In the case of using expressions such as "at least one of A, B, and C, etc.", generally, it should be interpreted according to the meaning that those skilled in the art usually understand this expression (for example, "a system having at least one of A, B, and C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).

[0039] In the embodiments of the present disclosure, in aspects such as the collection, update, analysis, processing, use, transmission, provision, disclosure, storage, etc. of the involved data (for example, including but not limited to user personal information), they all comply with the provisions of relevant laws and regulations, are used for legal purposes, and do not violate public order and good customs. In particular, necessary measures are taken for user personal information to prevent illegal access to user personal information data and to safeguard user personal information security, network security, and national security.

[0040] The embodiments of the present disclosure provide a matching method, including: in response to a user's operation behavior on an option in a target application, generating a target instruction, where the target instruction is used to indicate at least some target options in a target individual; based on the target instruction, displaying at least one first sub-option that conforms to a preset rule corresponding to the target option, and the first sub-option is at least part of all sub-options of the target option; where the preset rule is a directed graph formed by a multi-fork tree combination generated based on respective preset policies, and each option corresponds to at least one node in the directed graph.

[0041] Figure 1 Schematically shows a usage scenario diagram corresponding to the matching method according to the embodiments of the present disclosure.

[0042] As Figure 1 shown, in this embodiment, the user sequentially completes option selection through multiple drop-down boxes in a graphical interface. For example, the drop-down boxes include three configuration items: CPU, MEMORY, and HDD. When the system operates on each drop-down box of the user, based on the option information selected by the user currently and the preset rule, it dynamically calculates and displays legal candidate values for subsequent options.

[0043] Specifically, for example, when the user selects "CPU1" as the processor of the current configuration in the first drop-down box, immediately determine the memory options compatible with "CPU1" according to the preset rule, and only display "8G" and "16G" in the second drop-down box, excluding options that do not match the current path such as "4G" or "32G". When the user further selects "8G" memory, only the legal hard disk configuration options corresponding to the path of "CPU1" and "8G" (such as "1T" and "2T") will be presented in the third drop-down box "HDD", and the options corresponding to the remaining paths will no longer be displayed or selected, thus avoiding the generation of invalid combinations.

[0044] Figure 2 Schematically shows a flowchart of a matching method according to an embodiment of the present disclosure.

[0045] As Figure 2 shown, the matching method may at least include operations S210 to S220.

[0046] In operation S210, in response to a user's operation behavior on an option in a target application, a target instruction is generated, and the target instruction is used to indicate at least some of the target options that make up a target individual.

[0047] The target application may be a configuration system, such as an interactive user interface for assembling a computer or a server, where the user selects hardware components through a drop-down box or similar controls to build a configuration that meets preset rules. The target application may also be, for example, a product configuration platform, a service composition system, etc.

[0048] The operation behavior includes, but is not limited to, the user's interaction with the option in the target application by clicking, selecting, modifying, or inputting, etc. For example, selecting a specific central processing unit (CPU) model in a drop-down box.

[0049] The target instruction is structured information generated in response to the above operation behavior, and is used to identify the user's configuration intention in a specific dimension (such as CPU, memory, hard disk). The target instruction at least includes the identifier of one or more target options selected by the user, so as to indicate the user's selection content. For example, it identifies that the user has selected "CPU = i7 8700K". The target instruction may also include context information. The context information may be, for example, the sequence and order of option selections that the user has completed in the target application. Specifically, for example, the context information is that the user may have selected a specific rack type or motherboard model before selecting "CPU = i7 8700K".

[0050] The target option may be a specific configuration item selected by the user in the operation behavior, such as a specific CPU model, memory capacity, or hard disk type. For example, "CPU1", "8G memory", or "1T hard disk" selected by the user through a drop-down box, or, "CPU1", "8G memory", etc. input manually.

[0051] The target individual is the logical combination of all options involved in the current configuration process. For example, an assembled server, which includes a specific combination of components such as a CPU, memory, and storage device.

[0052] The target application maintains an option set. After receiving the user's selection behavior regarding options in a specific dimension, a structured instruction is constructed based on the corresponding interactive input content to drive subsequent graph structure matching and sub-options. For example, the option set includes all configuration items available for the user to select, such as CPU options {i7 8700K, i5 8400}, memory options {8G, 16G}, and hard disk options {1T, 2T}. When the user selects "CPU = i7 8700K" in the UI, the target application generates a target instruction, which includes the identifier of "CPU = i7 8700K" and relevant context information.

[0053] In operation S220, based on the target instruction, at least one first sub-option that conforms to a preset rule corresponding to the target option is displayed. The first sub-option is at least part of all sub-options of the target option.

[0054] All sub-options may refer to the entire set of candidate values that can theoretically serve as subsequent configuration dimensions for the current target option. For example, in the memory dimension, it may include "4G", "8G", "16G", "32G", etc. The first sub-option can be a legal option among all sub-options that satisfies a preset rule with respect to the target option. This legality is judged based on the rule definition corresponding to the target option selected by the user in the system. All candidate values are screened through the preset rule to eliminate invalid options that do not meet the conditions.

[0055] According to an embodiment of the present disclosure, the preset rule is a directed graph formed by a combination of multi-way trees generated based on respective preset strategies, and each option corresponds to at least one node in the directed graph.

[0056] The preset strategy is used to define the association relationship between different configuration dimensions. For example, "if the CPU is i7 8700K, then the memory can be 8G or 16G". A multi-way tree with a clear path can be constructed according to each strategy, where each path from the root to the leaf represents a legal configuration link. The multi-way trees generated by multiple strategies are merged to form a unified, hierarchical directed acyclic graph for representing the complete configuration space.

[0057] In this directed graph structure, each user-selectable configuration option can correspond to one or more nodes in the graph. For example, "i7 8700K" may be mapped to nodes such as "i7 processor" node and "6-core CPU" node at the same time. By identifying these nodes and their subsequent paths, the legal range of the user's next configuration to be selected is restricted.

[0058] In operation S220, based on the graph nodes associated with the target option indicated by the target instruction, all candidate options corresponding to its successor nodes are identified, and the options that conform to the path rules are presented to the user as the first sub-options. Other candidate values that are not on this path or have been determined to be mutually exclusive by the path pruning logic will not be presented, thus ensuring that the user can only continue to make selections based on the current valid path and avoiding the generation of invalid combinations.

[0059] Figure 3 Schematically shows a user operation process diagram according to an embodiment of the present disclosure.

[0060] As Figure 3 , when the user selects "CPU = i7 8700K", multiple nodes associated with it in the graph structure are identified, and then all valid memory nodes connected downward by these nodes are located. If the path in the graph only connects to the "8G" and "16G" memory nodes, these two capacities are displayed as the first sub-options in the memory drop-down box. Subsequently, if the user then selects "8G", the legal hard disk options corresponding to the combination of "i7 8700K + 8G", such as "1T", will be searched for along the graph structure path and presented in the hard disk drop-down box. All other branch paths are automatically determined to be invalid after each selection. For example, "4G" and "32G" are considered invalid, not displayed in the memory dimension, and no longer participate in subsequent matching calculations, greatly improving the matching efficiency and interaction accuracy.

[0061] According to an embodiment of the present disclosure, the sub-options corresponding to the target option further include second sub-options. The parent node of any node corresponding to the second sub-option in the directed graph is different from the node corresponding to the target option. The second sub-options refer to those options that, although belonging to the same configuration dimension and theoretically can be subsequent selection items, in the graph structure, the upper path (i.e., the parent node) of the node corresponding to them is inconsistent with the node path corresponding to the current target option, and thus do not constitute legal candidate items in the current configuration path. Specifically, the target option usually corresponds to one or more nodes in the graph, and the node and its sub-path are regarded as the currently effective path; if a sub-option is also a legal selected value in this dimension in the graph, but the node corresponding to it belongs to another path, that is, the parent node of this node does not form a parent-child relationship with any node corresponding to the target option, then this sub-option is regarded as a second sub-option and should not be included in the display result of the current step.

[0062] For example, if the user currently selects "CPU = i7 8700K", this option may correspond to the "Six-core processor" node. In the current graph structure, the child nodes connected under the "Six-core processor" node may be "Memory = 8G" and "Memory = 16G", and these two options are thus displayed as the first sub-options. If another path in the graph is "Eight-core processor" → "Memory = 32G", then although "Memory = 32G" is also a valid option in the memory dimension, since its parent node is the "Eight-core processor" node, which is different from the current path's "Six-core processor" node, "32G" memory thus constitutes a second sub-option in this context and should not be displayed in this round of configuration.

[0063] According to the embodiments of the present disclosure, the matching method provided by the present disclosure can, based on the difference in the parent-child structure of the nodes in the graph, clarify the path range in which the current option context takes effect, exclude all sub-options that do not satisfy path consistency, implement path mutual exclusion control between option dimensions, prevent the user from selecting configuration content incompatible with the current path, and thus ensure the rule consistency of the entire configuration process and the correctness of the operation guidance.

[0064] Figure 4 Schematically shows a directed graph in the matching method according to the embodiments of the present disclosure.

[0065] As Figure 4 shown, this graph is formed by merging multiple rule trees, and each rule tree represents a specific preset policy. The root node of each tree represents an option (such as CPU), and starting from the root node and following the branch nodes to reach the leaf node represents a legal configuration path. The merging of different policy trees forms a unified directed graph.

[0066] The nodes in the graph represent specific option configurations. For example, the option "i7 8700K" corresponds to nodes such as the "i7 8700K" node, the "Six-core processor" node, and the "High-frequency CPU" node. Each option may correspond to multiple different nodes in the graph. The child nodes of each node represent the configurations compatible with it. For example, the child nodes of the node "Six-core processor" may include "Memory = 8G" and "Memory = 16G".

[0067] Each path from the root node to the leaf node represents a legal configuration combination. In the graph, the relationship between the parent node and the child node of a node determines the dependence between different options. For example, "Memory = 32G" will only be displayed under the path of the "Eight-core processor" node, and when the "Six-core processor" node has been selected, the "Memory = 32G" node will not be displayed.

[0068] On the "hexacore processor" path, the legal child nodes of the memory option may be "8G memory" and "16G memory", that is, these two memory options are regarded as the first sub-options under the "hexacore processor" node. On another path, "octacore processor" may lead to "32G memory" as the only legal sub-option.

[0069] When the user selects "CPU = i7 8700K" as the target option, first locate the node related to "i7 8700K" in the figure. Assume that this option corresponds to the "hexacore processor" node and the "high-frequency CPU" node in the figure. Under the "hexacore processor" path, continue to search for the child nodes compatible with this node, such as "memory = 8G" and "memory = 16G". These child nodes are the "first sub-options", and they are displayed as candidate values in the "memory" dropdown box. However, on another path, "memory = 32G" under the "octacore processor" node, as the second sub-option, will be excluded because its parent node is different from the "hexacore processor" node and will not appear in the memory selection box. This is because this path belongs to another configuration path, and the user has selected the "hexacore processor", so the invalid path is automatically disabled through the graph structure.

[0070] Figure 5 Schematically shows a flowchart of displaying the first sub-option in the matching method according to an embodiment of the present disclosure.

[0071] As Figure 5 shown, based on the foregoing embodiment, S220 may include operations S510~S530.

[0072] In operation S510, determine the target node corresponding to the target option in the directed graph. After receiving the target option selected by the user, based on the directed graph structure, perform a matching search on all nodes in the graph to find the entire set of nodes associated with this target option as the target node. Since an option may have multiple semantic attributes, a one-to-many mapping relationship needs to be supported. The judgment basis of the node may include the feature label of the option, the context category or dimension information, etc. It is also possible to preferentially adopt a path heuristic localization strategy to limit the search space based on the selected path to improve the matching efficiency.

[0073] For example, when the user selects "i7 8700K" in the CPU dropdown box, locate all the nodes associated with "i7 8700K" in the figure, such as the "hexacore processor" node, the "high-frequency CPU" node, etc., as the current target node set.

[0074] In operation S520, obtain the descendant nodes corresponding to each target node. After identifying the target node, according to the connectivity relationship of the nodes in the graph structure, obtain all the direct successor nodes starting from this target node. This operation is used to identify the available configuration candidates in the next dimension under the current path, reflecting the dependence of the configuration. The descendant nodes here are limited to the lower-level nodes of the current target path, and do not include the nodes that are not connected although they belong to the target dimension in other mutually exclusive paths.

[0075] For example, if the target node is the "six-core processor" node, then search for its connected lower-level nodes, such as the "memory = 8G" node and the "memory = 16G" node. If there is another path where the "eight-core processor" node is connected to the "memory = 32G" node at the same time, then the "memory = 32G" node is not regarded as a descendant node of the target node because it is in another path.

[0076] In operation S530, display the options corresponding to each descendant node as the first sub-options of the target option.

[0077] Specifically, extract the options represented by each obtained descendant node and display them as the first sub-options of the current target option. These options only come from the lower-level nodes of the currently selected path, with path consistency and rule legality, which can ensure the effectiveness of the final combination. By excluding the non-connected options (i.e., the second sub-options) in other paths from the display, path pruning and interaction simplification are achieved.

[0078] For example, if the current target node is "six-core processor", the options corresponding to "memory = 8G" and "memory = 16G" below it are presented as the first sub-options in the memory drop-down box. Although "memory = 32G" is a candidate option for this dimension, it will not be displayed in this context because it is only a descendant of the "eight-core processor" path.

[0079] Figure 6 Another flowchart showing the display of the first sub-options in the matching method according to an embodiment of the present disclosure is schematically shown.

[0080] As Figure 6 shown, on the basis of the foregoing embodiment, S220 may include operations S610 to S640.

[0081] In operation S610, according to the target option, match at least one target information from the pre-stored cache information, and the target information at least characterizes the target feature of the target option.

[0082] The pre-stored cache information can be a data structure pre-loaded or dynamically maintained by the system, used to cache the mapping relationships between various options (such as specific objects like CPU, memory, etc.) and their characteristic attributes, facilitating quick response to user input without having to perform a full-scale search in the original rule set every time. The cache information can be divided into a first-level cache and a second-level cache. The first-level cache can represent the identification information of the object (such as the specific name of the option), and the second-level cache can represent the category, function, or label characteristics of the object, such as "i7 processor", "8 cores", "mid-to-high-end product", etc.

[0083] The target information can be a series of structured content extracted from the cache information and associated with the target option, which may include option name, category label, performance description, compatibility level, etc., and is used for subsequent semantic matching with the information nodes in the directed graph.

[0084] The target feature can refer to an attribute item that can represent the characteristic meaning of the target option, used to identify one or more nodes in the graph that the option may correspond to, including but not limited to dimensions such as model name, number of cores, number of threads, price level, usage scenario classification, etc.

[0085] For example, when the user selects "CPU = i7 8700K", the target information of this CPU will be matched. The first-level cache is "i7 8700K", and the second-level cache includes labels such as "i7 processor", "six-core processor", "high-frequency CPU", "mid-range price", etc.

[0086] In operation S620, based on the target information, determine at least one target node corresponding to the target option in the directed graph. Compare the multiple feature labels in the above target information with the nodes in the directed graph, and find the set of nodes in the graph structure that match these labels as the target nodes. Since the nodes in the graph are usually organized by policy semantics or feature information rather than specific object names, factors such as feature matching degree and context path constraints can be comprehensively considered to determine which nodes should be included as the starting point or intermediate point of the current configuration path.

[0087] For example, if there are "six-core processor" nodes and "high-frequency CPU" nodes in the graph, the feature values "six cores" and "high frequency" extracted from the target information can be matched with the node labels in the graph, so as to locate the target nodes as "six-core processor" and "high-frequency CPU".

[0088] In operation S630, at least one first sub-option is determined according to the child nodes of each target node. After identifying the target node, the method continues to search the graph structure for the child nodes directly connected to the node, and extracts the options corresponding to these child nodes as the first sub-options. Since the current matching method is based on the mapping logic of feature-node-path, it inherits the semantic path attribute of the target node, ensuring that it is a subsequent option under a legal combination path.

[0089] For example, if the target node is the "hexacore processor" node, and its child nodes are "memory = 8G" and "memory = 16G" respectively, then these two are the first sub-options that conform to the current path. If "memory = 32G" belongs to the downstream node of another target node "octacore processor", it will not be selected as the first sub-option in this calculation.

[0090] In operation S640, each first sub-option is displayed. The identified first sub-options are dynamically presented as subsequent configurable content in the interface, such as updating the candidate entries in the "memory" drop-down box.

[0091] Figure 7 Another flowchart of the matching method according to an embodiment of the present disclosure is schematically shown.

[0092] According to an embodiment of the present disclosure, the target feature at least includes the selected quantity of the target option. As Figure 7 shown, on the basis of the foregoing embodiment, the matching method may further include operation S710.

[0093] In operation S710, in response to the number of target options not satisfying the preset quantity rule with the selected quantity, a first warning message is generated.

[0094] The target feature at least includes the selected quantity of the target option. The selected quantity refers to the number of target options that have been selected by the user in the current configuration context, and can be dynamically obtained based on the user operation log, real-time interaction record or cache status. This quantity is compared with the set preset quantity rule to determine whether it exceeds the limit or does not meet the requirements.

[0095] Specifically, a quantity cache structure can be maintained to record the available total quantity, the allocated quantity and the remaining capacity information of various target options. When the user makes a batch selection for a certain type of resource (such as a hard disk, a memory module, etc.), the selected quantity is statistically calculated in real time, and this value is compared with the preset rule. If the current selection behavior violates the rule, a quantity constraint warning is triggered.

[0096] For example, when configuring a server, the user attempts to add three hard drives to it. The maximum number of slots for this server model is four, and two hard drives have already been occupied by other module configurations. According to the quantity cache, there are only two remaining hard drive slots. The current selection exceeds the limit, so a first warning message is generated, prompting the user "The hard drive selection exceeds the remaining slots. Please reconfigure." Another example is that in RAID mode, the system requires selecting hard drives in pairs. If the user only selects one hard drive, an alarm will also be triggered due to not meeting the preset quantity rule.

[0097] Figure 8 Schematically shows a flowchart of updating cache information in the matching method according to an embodiment of the present disclosure.

[0098] As Figure 8 shown, based on the foregoing embodiment, the matching method may further include operations S810 to S830.

[0099] In operation S810, determine at least one target node corresponding to the target option in the directed graph. Operation S810 is similar to S510 and will not be elaborated here.

[0100] In operation S820, obtain the feature information represented by each target node, as well as the feature information corresponding to the child nodes of the target node.

[0101] Extract the label information of the target node itself as the first-layer feature information, which reflects the core semantics of the current option, such as "eight cores", "mid-range product", "suitable for graphics processing", etc. At the same time, further analyze the child nodes of this node, and extract potential path association features from these successor nodes to form the second-layer feature information. Based on the semantic content represented by the first-layer feature information and the second-layer feature information, the mapping relationship between the "possible nodes" and the option can be reflected to the greatest extent. Through this double-layer feature extraction mechanism, a triple semantic mapping of "option-node-path" can be established more accurately, and semantic-level cache association can be completed without explicitly enumerating all rules.

[0102] In operation S830, update the stored cache information according to the feature information. Update the pre-stored cache information according to the semantic content represented by the first-layer feature information and the second-layer feature information. For example, add new cache content to enable the target option to establish a fast matching relationship with the graph nodes involved in its potential path in the cache.

[0103] The update method can be incremental update, that is, only the options and their path nodes involved in the current user operation are dynamically supplemented each time, without generating the cache information of all paths or all options in full volume. This method supports "lazy construction" according to user behavior, significantly reducing the memory consumption of initial cache loading, and at the same time supporting the hit acceleration of subsequent high-frequency paths. The cache content can also be configured with an invalidation policy, such as regular cleaning according to time, usage frequency, or graph node version number, to keep the cache lightweight and fresh.

[0104] According to the embodiments of the present disclosure, by dynamically updating the cache content during the process of the user configuring options, it is avoided that each time it is necessary to judge the relationship between the options and the path nodes through complex graph traversal or semantic comparison, thereby greatly improving the matching speed and system response performance. In the actual configuration scenarios where the user accesses frequently or the path concentration is relatively high, the cache hit rate will increase with use, further compressing the consumption of system computing resources.

[0105] Figure 9 Schematically shows the generation process diagram of the directed graph in the matching method according to the embodiments of the present disclosure.

[0106] Such as Figure 9 shown, on the basis of the foregoing embodiments, the generation process of the directed graph may include operations S910~S930.

[0107] In operation S910, obtain a preset policy set, the policy set includes at least one policy, and the policy represents the association relationship between multiple options.

[0108] The policy set can be a set of configuration logics pre-configured by the system or sorted out through expert rules, used to constrain the compatibility or dependency relationship between multiple options. Each policy is usually an ordered configuration path, defining the conditional and result relationship between specific options, such as "CPU is i7 → Memory is 16G → Hard disk is 1T", indicating the legal combination under this path.

[0109] The policy can be expressed in a structured rule statement, DSL configuration language, or JSON structure definition format, with readability and parsability, facilitating its automatic conversion into tree structure nodes. It supports importing the policy set from multiple sources, including: manual rule configuration, pattern extraction based on historical configuration behavior, or automatic learning through rule mining algorithms.

[0110] For example, a certain policy S1 is defined as: if "CPU = i7 8700K", then "Memory = 8G" or "Memory = 16G", and "Hard disk = 1T"; another policy S2 is defined as "CPU = i9 series" → "Memory = 32G" → "Hard disk = 2T".

[0111] In operation S920, a multi-way tree corresponding to each policy is generated. The nodes of the multi-way tree at least represent the feature information of the options, and the path from the root node to the leaf node of the multi-way tree represents the policy.

[0112] The multi-way tree can be used to represent the hierarchical dependency relationship of each configuration dimension in a single policy. Each node of the multi-way tree is used to describe the feature information of a certain option. This feature information can be the semantic label of the option (such as "high-performance processor", "16G memory"), classification information (such as "mid-range price segment"), or directly the option identifier itself (such as "i7 8700K"). One policy corresponds to one multi-way tree, and the path from the root to the leaf is the complete configuration link.

[0113] For example, policy S1 is transformed into a multi-way tree with its root node being "i7 8700K", and two child nodes "8G memory" and "16G memory" are connected below it. Each of the two memory nodes is connected to "1T hard disk" as the leaf node. The root node of the tree structure of another policy S2 is "i9 10900K", the intermediate node is "32G memory", and the leaf node is "2T hard disk".

[0114] In operation S930, the multi-way trees are merged to obtain a directed graph. The structure merging process is performed on all the multi-way trees to generate a unified directed acyclic graph. This merging process realizes node merging by identifying nodes with the same semantics or similar labels in different trees and reusing them. For example, if the "16G memory" node appears in multiple trees, only one node is retained and connected to the corresponding multiple upper-level nodes, thereby eliminating redundancy and compressing the structure.

[0115] Figure 10 The flowchart of generating a multi-way tree in the matching method according to an embodiment of the present disclosure is schematically shown.

[0116] As Figure 10 shown, based on the foregoing embodiment, S920 may include operations S1010 to S1040.

[0117] In operation S1010, according to the policy, a plurality of nodes are generated, and the nodes represent the feature information of the corresponding options in the policy. For example, the option set included in the policy is read, and the corresponding nodes are constructed based on the semantic feature information of each option (such as model, functional attribute, level classification, etc.). The nodes can not only correspond to specific product instances (such as "i7-8700K"), but also correspond to their general semantics (such as "octa-core processor", "mid-range CPU"). Each policy semantically represents a combination path from high-dimensional features to low-dimensional features, and the generation order of the nodes reflects this semantic hierarchy.

[0118] In operation S1020, determine the priority of each node according to the respective feature information. Assign priorities to the nodes according to the feature types represented by the nodes. For example, the CPU usually has the highest priority, followed by memory, hard disk, power supply, etc.

[0119] In operation S1030, merge the nodes with the same priority into the same node. For the nodes with the same priority and consistent semantics in multiple policies, aggregate them into a single logical node to achieve semantic merging. The "consistent semantics" here can be judged by means of node labels, feature fingerprints, synonym sets, etc. For example, "Intel i7" and "i7 series CPU" can be recognized as synonymous nodes and merged. This merging process avoids redundant paths in the multi-way tree, improving the graph structure compressibility and path reuse efficiency.

[0120] In operation S1040, connect each node into a multi-way tree according to the priority order and rules, where the priority corresponding to the child node in the multi-way tree is lower than that corresponding to the parent node. Construct the node connection structure sequentially from top to bottom according to the priority order of the nodes. Each parent node connects to its child nodes at the next lower priority level, forming a policy link from general to specific. This connection process not only maintains the original order relationship of the policies but also supports path reuse, that is, if two policies are the same in the first two levels of nodes and only differ in the third level, the first two levels of paths will be reused, and only new branches will be added to the different nodes.

[0121] For example, for example, policy A is "octa-core CPU" → "16G memory" → "power supply 1", and policy B is "octa-core CPU" → "16G memory" → "power supply 2". The first two nodes are reused, and only different nodes are branched at the third level, reflecting the multi-way tree path merging mechanism.

[0122] It should be noted that node reuse and path reuse need to be carried out in the direction from the root node to the leaf node for the child nodes under the same parent node. When the parent nodes are different, the nodes with the same content are not reused.

[0123] Figure 11 Schematically shows a process diagram of generating a directed graph according to an embodiment of the present disclosure.

[0124] As Figure 11As shown in the figure, assume there are 6 policies: S1 to S6. Among them, the policy of S1 stipulates that when the CPU is i7, the Memory is 16G or 8G. The policy of S2 stipulates that when the memory is 8G, the hard disk is 1T. S3 stipulates an i7 processor with 16G of memory and a 512G hard disk. The policy of S4 stipulates an i7 processor with 32G of memory and a 2T hard disk. The policy of S5 stipulates an i5 processor with 16G of memory and a 1T hard disk. The policy of S6 stipulates an i7 processor with 16G of memory and a 2T hard disk. Thus, the following policy set is formed:

[0125] {

[0126] S1: CPU = i7 → Memory = 16G or 8G

[0127] S2: Memory = 8G → HDD = 512G

[0128] S3: CPU = i7 → Memory = 16G → HDD = 1T

[0129] S4: CPU = i7 → Memory = 32G → HDD = 2T

[0130] S5: CPU = i5 → Memory = 16G → HDD = 1T

[0131] S6: CPU = i7 → Memory = 16G → HDD = 2T

[0132] }

[0133] The root node of the multi-way tree corresponding to S1 is "i7", followed by two child nodes "16G memory" and "8G memory". The root node of the multi-way tree corresponding to S2 is "8G memory", followed by "HDD = 512G". The root node of the multi-way tree corresponding to S3 is "i7", followed by "16G memory", and then connected to "HDD = 1T". The root node of the multi-way tree corresponding to S4 is "i7", followed by "32G memory", and then connected to "HDD = 2T". The root node of the multi-way tree corresponding to S5 is "i5", followed by "16G memory", and then connected to "HDD = 1T". The root node of the multi-way tree corresponding to S6 is "i7", followed by "16G memory", and then connected to "HDD = 2T".

[0134] Taking CPU→Memory→HDD as the priority order, all nodes in the "CPU" dimension (such as "i5", "i7") are in the first layer of the graph and serve as high-priority nodes; the "memory" node is in the second layer, and the "hard disk" node is in the third layer. In terms of node reuse, for example, "16G memory" appears as an intermediate node in multiple policies. Merge this node, keep only one copy, and point its parent node to the unified entry. In terms of path reuse, policies S1 and S6 are exactly the same on the path "i7 → 16G memory". Reuse this path and only fork at the end hard disk node, pointing to "HDD = 1T" and "HDD = 2T" respectively. And so on, the multi-way trees corresponding to S1~S6 are merged into a directed graph.

[0135] According to an embodiment of the present disclosure, the process of generating a directed graph may further include: sorting the child nodes of each node in the directed graph according to a preset sorting condition. To improve the efficiency of node matching in the directed graph, especially when performing a large number of configuration matches, the child nodes of each node will be sorted. By sorting the child nodes of the node, the binary search method can be used for fast matching. The time complexity of the traditional sequential search is O(n), while through the sorted binary search, the time complexity can be reduced to O(log n), significantly improving the search efficiency. Especially when there are many configuration options, it can greatly reduce the response time of the system.

[0136] Figure 12 Another flowchart of the matching method according to an embodiment of the present disclosure is schematically shown. Figure 13 A scenario diagram of abnormal user operations according to an embodiment of the present disclosure is schematically shown.

[0137] In the case of taking CPU→Memory→HDD as the priority order, the user should first select the CPU, then the Memory, and then the HDD. However, in actual usage scenarios, there are often abnormal situations such as Figure 13 shown, that is, the user first selects the CPU and then skips the drop-down box of the memory and directly selects the HDD. At this time, the content of the memory will fail to match.

[0138] As Figure 12 shown, on the basis of the foregoing embodiment, the matching method may further include operations S1210~S1230.

[0139] In operation S1210, in response to the target option indicated by the instruction not being a sub-option of the first option, determine the first target node of the first option in the directed graph and the second target node of the target option in the directed graph.

[0140] The first option can be the latest option after the user has performed the corresponding operation. When receiving the operation of the user configuring a certain target option, if it is found that the target option is not a direct child node of the first option in the directed graph, it is determined as a non-linear jump selection, that is, the intermediate configuration steps are skipped. At this time, locate the first target node of the first option in the graph and the second target node of the target option in the graph according to the existing cache or graph structure.

[0141] For example, the normal path is "CPU = i7" → "Memory = 16G" → "HDD = 1T", but after the user selects the CPU as "i7 8700K" and does not select Memory, and directly configures the HDD as "1T hard disk", there is no direct edge connection between the "i7" node and the "1T hard disk" node in the graph.

[0142] In operation S1220, determine at least one intermediate node between the first target node and the second target node. Analyze the legal path from the first target node to the second target node through a graph path search algorithm (such as shortest path search, all reachable path backtracking, etc.), and identify the intermediate nodes involved in the path interruption position. For example, if there is a "16G memory" node in the path from "i7" to "1T hard disk", it is the intermediate node that the current user has not filled in but expects. This intermediate node reflects the missing part of the configuration.

[0143] In operation S1230, generate a second warning message according to the characteristic information represented by the intermediate node. Extract the characteristic information of the intermediate node, including the configuration dimension represented by the node (such as memory), the set of expected values (such as supporting "16G" or "8G"), and the logical constraint relationship with the parent / child nodes, as the basic content for constructing the warning message. The second warning message can be in the form of structured prompts or natural language output. For example: "The current hard disk configuration lacks the necessary memory configuration item. Please select Memory first (recommended value: 16G)".

[0144] On the one hand, it is possible to verify the legality of the option selected by the user after "jumping selection" by whether there is an intermediate node, and it is also possible to generate a reasonable warning message according to the content represented by the intermediate node to prompt the user.

[0145] Figure 14 Schematically shows a flowchart of correcting a user configuration in a matching method according to an embodiment of the present disclosure.

[0146] As Figure 14 shown, on the basis of the foregoing embodiment, the matching method may further include operation S1410.

[0147] In operation S1410, at least one second option corresponding to the intermediate node is displayed according to the characteristic information represented by the intermediate node. Based on the path between the first option and the target option, possible intermediate nodes are deduced, and candidate second options are displayed based on the characteristic information of the intermediate nodes. At this time, by analyzing the connection relationships and constraint conditions in the graph, one or more legal choices are automatically presented to the user to guide the user to continue the configuration. For example, if the user skips the memory configuration, possible memory options (such as "16G", "8G") will be automatically displayed based on "CPU = i7" to help the user complete the configuration quickly.

[0148] According to an embodiment of the present disclosure, operation S1410 may be to display the second option in response to the options corresponding to each of the intermediate nodes being the same second option. If, in all paths, the option corresponding to the intermediate node is unique (i.e., there are no multiple options), the unique option will be automatically inferred and displayed to correct the user's configuration. At this time, the user does not need to select the second option, and this necessary configuration item will be automatically filled for the user. For example, if it is found that the "CPU = i7" node can only be legally paired with "16G of memory", then "16G of memory" will be automatically filled as the memory configuration item to prevent the user from missing this selection.

[0149] According to an embodiment of the present disclosure, the matching method further includes: updating the cache information in response to a modification operation by the user on a selected option.

[0150] When the user makes a configuration correction and there is a significant factual change in the user configuration (for example, the user modifies a key option in the configuration, such as the CPU type, memory specification, etc.), the cache needs to be updated according to the latest selection. The cache is used to store the mapping relationship between user selections and graph nodes. When there are significant changes in the configuration options, the labels and paths stored in the original cache may no longer be applicable to the new configuration options. For example, if the user switches from "i7 8700k" to "i5 12400F", the cache originally associated with "i7 8700k" (such as CPU name, performance labels, etc.) will no longer be accurate, and the cache must be updated to ensure the correctness of the labels and the consistency of the paths.

[0151] The purpose of updating the cache is to ensure that correct decisions can be made based on the latest selections when performing path matching. If the cache is not updated, outdated labels and paths may continue to be used, resulting in incorrect recommendations, path selections, or configuration errors.

[0152] Specifically, for example, if the user switches from "i7 8700k" to "i5 12400F", only the object name of "i5 12400F" in the first-level cache (such as "i5 12400F") and the relevant attributes in the second-level cache (such as "6-core processor", "mid-low performance", etc.) need to be updated, without the need to update all the cache entries related to "i7". In this way, it can be ensured that the update of the cache does not affect other unchanged configuration items, such as the hard disk or memory. This local update strategy ensures the performance optimization of the system, avoids invalid global cache refreshes, and reduces the waste of computing resources. For the unchanged configuration items (such as memory and hard disk, etc.), the original cache is retained to reduce the overhead of recalculation.

[0153] Figure 15 A block diagram of a matching device according to an embodiment of the present disclosure is schematically shown.

[0154] As Figure 15 shown, the matching device 1500 may include a first generation module 1510 and a first display module 1520.

[0155] The first generation module 1510 is configured to generate a target instruction in response to a user's operation behavior on an option in a target application, where the target instruction is used to indicate at least some target options in a target individual. In some embodiments, the first generation module 1510 may be configured to perform the operation S210 in the above-mentioned matching method, which will not be elaborated here.

[0156] The first display module 1520 is configured to display at least one first sub-option corresponding to the target option that conforms to a preset rule based on the target instruction, where the first sub-option is at least some of all the sub-options of the target option, and the preset rule is a directed graph formed by a multi-way tree combination generated based on respective preset policies, and each option corresponds to at least one node in the directed graph.. In some embodiments, the first display module 1520 may be configured to perform the operation S220 in the above-mentioned matching method, which will not be elaborated here.

[0157] According to an embodiment of the present disclosure, the first display module may include a first determination module, a first acquisition module, and a second display module.

[0158] The first determination module is configured to determine a target node corresponding to the target option in the directed graph. In some embodiments, the first determination module may be configured to perform the operation S510 in the above-mentioned matching method, which will not be elaborated here.

[0159] The first acquisition module is configured to acquire descendant nodes corresponding to each target node. In some embodiments, the first acquisition module may be configured to perform the operation S520 in the above-mentioned matching method, which will not be elaborated here.

[0160] The second display module is used to display the options corresponding to each descendant node as the first sub-options of the target option. In some embodiments, the second display module can be used to perform operation S530 in the above matching method, which will not be elaborated here.

[0161] According to an embodiment of the present disclosure, the first display module may include a first matching module, a second determination module, a third determination module, and a third display module.

[0162] The first matching module is used to match at least one target information from the pre-stored cache information according to the target option, and the target information at least characterizes the target features of the target option. In some embodiments, the first matching module can be used to perform operation S610 in the above matching method, which will not be elaborated here.

[0163] The second determination module is used to determine at least one target node corresponding to the target option in the directed graph according to the target information. In some embodiments, the second determination module can be used to perform operation S620 in the above matching method, which will not be elaborated here.

[0164] The third determination module is used to determine at least one first sub-option according to the child nodes of each target node. In some embodiments, the third determination module can be used to perform operation S630 in the above matching method, which will not be elaborated here.

[0165] The third display module is used to display each first sub-option. In some embodiments, the third display module can be used to perform operation S640 in the above matching method, which will not be elaborated here.

[0166] According to an embodiment of the present disclosure, the matching device may further include a first warning module.

[0167] The first warning module is used to generate a first warning message in response to the number of target options not satisfying the preset quantity rule with the selected quantity. In some embodiments, the first warning module can be used to perform operation S710 in the above matching method, which will not be elaborated here.

[0168] According to an embodiment of the present disclosure, the matching device may further include a fifth determination module, a fourth acquisition module, and a first update module.

[0169] The fifth determination module is used to determine at least one target node corresponding to the target option in the directed graph. In some embodiments, the fifth determination module can be used to perform operation S810 in the above matching method, which will not be elaborated here.

[0170] The fourth acquisition module is used to acquire the feature information represented by each target node and the feature information corresponding to the child nodes of the target node. In some embodiments, the fourth acquisition module may be used to perform operation S820 in the above matching method, which will not be elaborated here.

[0171] The first update module is used to update the stored cache information according to the feature information. In some embodiments, the first update module may be used to perform operation S830 in the above matching method, which will not be elaborated here.

[0172] According to an embodiment of the present disclosure, there is also provided a directed graph generation device, which may include a fifth acquisition module, a third generation module, and a merging module.

[0173] The fifth acquisition module is used to acquire a preset policy set, and the policy set includes at least one policy, and the policy represents the association relationship between multiple options. In some embodiments, the fifth acquisition module may be used to perform operation S910 in the above matching method, which will not be elaborated here.

[0174] The third generation module is used to generate a multi-way tree corresponding to each policy. The nodes of the multi-way tree at least represent the feature information of the options, and the path from the root node to the leaf node of the multi-way tree represents the policy. In some embodiments, the third generation module may be used to perform operation S920 in the above matching method, which will not be elaborated here.

[0175] The first merging module is used to merge each multi-way tree to obtain a directed graph. In some embodiments, the merging module may be used to perform operation S930 in the above matching method, which will not be elaborated here.

[0176] According to an embodiment of the present disclosure, the third generation module may include a fourth generation module, a sixth determination module, a second merging module, and a first connection module.

[0177] The fourth generation module is used to generate a plurality of nodes according to the policy, and the nodes represent the feature information of the corresponding options in the policy. In some embodiments, the fourth generation module may be used to perform operation S1010 in the above matching method, which will not be elaborated here.

[0178] The sixth determination module is used to determine the priority of the nodes according to each feature information. In some embodiments, the sixth determination module may be used to perform operation S1020 in the above matching method, which will not be elaborated here.

[0179] The second merging module is used to merge the nodes with the same priority into the same node. In some embodiments, the second merging module may be used to perform operation S1030 in the above matching method, which will not be elaborated here.

[0180] The first connection module is used to connect each node into a multi-way tree according to the priority order and rules, where the priority corresponding to a child node in the multi-way tree is lower than that corresponding to the parent node. In some embodiments, the first connection module may be used to perform operation S1040 in the above matching method, which will not be elaborated here.

[0181] According to an embodiment of the present disclosure, the matching device may further include a sixth determination module, a seventh determination module, and a second warning module.

[0182] The sixth determination module is used to determine a first target node of the first option and a second target node of the target option in the directed graph in response to that the target option indicated by the instruction is not a sub-option of the first option. In some embodiments, the sixth determination module may be used to perform operation S1210 in the above matching method, which will not be elaborated here.

[0183] The seventh determination module is used to determine at least one intermediate node between the first target node and the second target node. In some embodiments, the seventh determination module may be used to perform operation S1220 in the above matching method, which will not be elaborated here.

[0184] The second warning module is used to generate a second warning message according to the feature information represented by the intermediate node. In some embodiments, the second warning module may be used to perform operation S1230 in the above matching method, which will not be elaborated here.

[0185] According to an embodiment of the present disclosure, the matching device may further include a correction module.

[0186] The correction module is used to display at least one second option corresponding to the intermediate node according to the feature information represented by the intermediate node. In some embodiments, the correction module may be used to perform operation S1410 in the above matching method, which will not be elaborated here.

[0187] Any number of modules, sub-modules, units, and sub-units according to embodiments of the present disclosure, or at least part of the functions of any of them, can be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure can be split into multiple modules for implementation. Any one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by any other reasonable manner of integrating or packaging circuits, in hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding functions can be executed.

[0188] For example, any number of the first generation module 1510 and the first display module 1520 can be combined and implemented in one module / unit / sub-unit, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to embodiments of the present disclosure, at least one of the first generation module 1510 and the first display module 1520 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by any other reasonable manner of integrating or packaging circuits, etc., in hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, at least one of the first generation module 1510 and the first display module 1520 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding functions can be executed.

[0189] It should be noted that the data processing system part in the embodiments of the present disclosure corresponds to the data processing method part in the embodiments of the present disclosure. For the description of the data processing system part, please refer to the data processing method part specifically, and details will not be repeated here.

[0190] Figure 16 A block diagram of an electronic device suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. Figure 16The illustrated electronic device is merely an example and should not impose any limitations on the functions and usage scope of the embodiments of the present disclosure.

[0191] As Figure 16 shown, the electronic device 1600 according to an embodiment of the present disclosure includes a processor 1601, which may perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1602 or a program loaded from a storage section 1608 into a random access memory (RAM) 1603. The processor 1601 may include, for example, a general microprocessor (e.g., CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (e.g., an application specific integrated circuit (ASIC)), and so on. The processor 1601 may also include on-board memory for caching purposes. The processor 1601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0192] In the RAM 1603, various programs and data required for the operation of the electronic device 1600 are stored. The processor 1601, the ROM 1602, and the RAM 1603 are connected to each other via a bus 1604. The processor 1601 performs various operations of the method flow according to an embodiment of the present disclosure by executing the programs in the ROM 1602 and / or the RAM 1603. It should be noted that the programs may also be stored in one or more memories other than the ROM 1602 and the RAM 1603. The processor 1601 may also perform various operations of the method flow according to an embodiment of the present disclosure by executing the programs stored in the one or more memories.

[0193] According to an embodiment of the present disclosure, the electronic device 1600 may further include an input / output (I / O) interface 1605, and the input / output (I / O) interface 1605 is also connected to the bus 1604. The electronic device 1600 may further include one or more of the following components connected to the input / output (I / O) interface 1605: an input section 1606 including a keyboard, a mouse, etc.; an output section 1607 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1608 including a hard disk, etc.; and a communication section 1609 including a network interface card such as a LAN card, a modem, etc. The communication section 1609 performs communication processing via a network such as the Internet. A drive 1610 is also connected to the input / output (I / O) interface 1605 as needed. A removable medium 1611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1610 as needed so that a computer program read therefrom can be installed into the storage section 1608 as needed.

[0194] According to an embodiment of the present disclosure, the method flow according to the embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a computer-readable storage medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 1609, and / or installed from the removable medium 1611. When the computer program is executed by the processor 1601, the above functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0195] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiment; or may exist alone without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0196] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include but is not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device.

[0197] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the above-described ROM 1602 and / or RAM 1603 and / or one or more memories other than ROM 1602 and RAM 1603.

[0198] An embodiment of the present disclosure also includes a computer program product that includes a computer program, and the computer program includes program code for executing the method provided by the embodiment of the present disclosure. When the computer program product runs on an electronic device, the program code is used to cause the electronic device to implement the control method provided by the embodiment of the present disclosure.

[0199] When the computer program is executed by the processor 1601, the above functions defined in the system / apparatus of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the above-described systems, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0200] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and downloaded and installed through the communication section 1609, and / or installed from the removable medium 1611. The program code included in the computer program may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above. According to the embodiments of the present disclosure, the program code for executing the computer program provided by the embodiments of the present disclosure may be written in any combination of one or more programming languages. Specifically, these computing programs may be implemented using high-level procedures and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include but are not limited to, for example, Java, C++, Python, the "C" language, or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (for example, by using an Internet service provider to connect through the Internet).

[0201] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the above-mentioned module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart, may be implemented by a dedicated hardware-based system for performing the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions. Those skilled in the art can understand that the features described in the various embodiments of the present disclosure can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present disclosure.

[0202] The embodiments of the present disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments have been described separately above, this does not mean that the measures in each embodiment cannot be used advantageously in combination. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present disclosure.

Claims

1. A matching method, comprising: Generating a target instruction in response to a user's operation behavior on an option in a target application, the target instruction being used to indicate at least some target options in a target individual; Based on the target instruction, displaying at least one first sub-option that conforms to a preset rule corresponding to the target option, the first sub-option being at least some of all sub-options of the target option; Wherein, the preset rule is a directed graph formed by combining multi-way trees respectively generated based on respective preset policies, and each of the options corresponds to at least one node in the directed graph.

2. The method according to claim 1, wherein the sub-options corresponding to the target option further include second sub-options, and the parent node of any node corresponding to the second sub-option in the directed graph is different from the node corresponding to the target option.

3. The method according to claim 1 or 2, wherein the displaying at least one first sub-option that conforms to a preset rule in the target option includes: Determining a target node corresponding to the target option in the directed graph; Obtaining descendant nodes corresponding to each of the target nodes; Displaying the options corresponding to each of the descendant nodes as the first sub-options of the target option.

4. The method according to claim 1, wherein the displaying at least one first sub-option that conforms to a preset rule in the target option includes: Matching at least one target information from pre-stored cache information according to the target option, the target information at least characterizing the target features of the target option; Determining at least one target node corresponding to the target option in the directed graph according to the target information; Determining at least one of the first sub-options according to the child nodes of each of the target nodes; Displaying each of the first sub-options.

5. The method according to claim 4, wherein the target features at least include the selected quantity of the target option, and the method further includes: Generating a first warning message in response to the number of the target options not satisfying a preset quantity rule with the selected quantity.

6. The method according to claim 4, further comprising: Determining at least one target node corresponding to the target option in the directed graph; Obtaining the feature information represented by each of the target nodes, and the feature information corresponding to the child nodes of the target nodes; Updating the stored cache information according to the feature information.

7. The method according to claim 1, wherein the process of generating the directed graph includes: Obtaining a preset policy set, the policy set including at least one policy, the policy characterizing the association relationship between multiple options; Generating a multi-way tree corresponding to each of the policies, the nodes of the multi-way tree at least characterizing the feature information of the options, and the path from the root node to the leaf node of the multi-way tree characterizing the policy; Merging each of the multi-way trees to obtain the directed graph.

8. The method according to claim 6, wherein the generating a multi-way tree corresponding to each of the policies includes: Generating a plurality of nodes according to the policy, the nodes characterizing the feature information of the corresponding options in the policy; Determining the priority of the nodes according to each of the feature information; Merge the nodes with the same priority into the same node; Connect each of the nodes into a multi-way tree according to the priority order and the rules, wherein the priority corresponding to a child node in the multi-way tree is lower than the priority corresponding to its parent node.

9. The method according to claim 1, further comprising: In response to the target option indicated by the instruction not being a sub-option of the first option, determine a first target node of the first option in the directed graph and a second target node of the target option in the directed graph; Determine at least one intermediate node between the first target node and the second target node; Generate a second warning message according to the characteristic information represented by the intermediate node.

10. The method according to claim 1, further comprising: Display at least one second option corresponding to the intermediate node according to the characteristic information represented by the intermediate node.