Method and system for processing node setting conflict and vehicle
By identifying and handling potential conflict nodes, applying scope rules and mutually exclusive rules, the problem of node settings conflicts in user-defined scenario mode is solved, improving the security of scenario mode and ensuring user driving safety.
Patent Information
- Application Number
- CN202411122227.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-15
- Publication Date
- 2024-12-13
AI Technical Summary
In user-defined scenario mode, the existing technology cannot detect node settings conflicts in time, resulting in a reduction in the security of the custom scenario mode and affecting the user's driving safety.
By identifying potential conflict nodes, applying specific rule processing, including scope rules and mutual exclusion rules, node merging or prompting for conflicts, ensuring compatibility and logical correctness of node settings.
It realizes conflict detection when the user customizes the scene mode, improves the safety of the scene mode, and ensures the safety of the users' driving safety.
Smart Images

Figure CN119128874A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of vehicle technology, and in particular to a method, system, electronic device, storage medium and vehicle for processing node setting conflicts. Background Art
[0002] At present, the customized scene mode of the car computer provides users with great freedom. Users can set their own personalized scene mode according to their preferences and actual conditions, which has become an important function of the smart cockpit.
[0003] Customized scene mode opens some capabilities of the car computer to users as atomic conditions and capabilities. For example, being in P gear, locking the door, etc. can be provided to users as atomic trigger conditions; opening the window, turning on the front air conditioner, etc. can be provided to users as an atomic capability. Users can freely combine trigger conditions and atomic capabilities to achieve that when a set of trigger conditions are met, the car computer starts the corresponding set of atomic capabilities. You can also manually start the corresponding set of atomic capabilities at any time by clicking directly.
[0004] Customized scene mode allows users to freely combine the functions of the vehicle computer by defining the atomic conditions and capabilities of the vehicle computer, providing users with immediate freedom. However, it also inevitably brings problems. Users are not very familiar with the underlying capabilities of each atomic node. If there is a conflict in the atomic capabilities combined by the user, how to adjudicate? For the single scene mode, assuming that the capabilities selected by the user meet all the conditions, the conflict scenarios may be as follows:
[0005] The user sets the same atomic node or execution node multiple times. For example, the user sets a window opening of 10%, and then sets a window opening of 10%, which is repeated.
[0006] There are conflicts within multiple condition nodes. These conditions cannot be met at the same time. There are two situations:
[0007] Single condition node conflict: the user sets multiple values for the same condition, such as setting the temperature inside the car to be greater than 30 degrees Celsius and also setting the temperature inside the car to be less than 20 degrees Celsius;
[0008] Multiple conditional nodes conflict, for example, the user sets the execution time from 9:00 to 10:00 and also sets the execution time at 8:05.
[0009] Multiple conflicts occur when users set a single execution node. For example, if a user sets the main driving door to be opened and closed, the car will open the door first and then close it, which is obviously unreasonable.
[0010] The condition node conflicts with the execution node. For example, the user sets the condition to be in N gear, but sets an execution node to open the door, and the prerequisite of this execution node is to be in P gear. When the N gear condition is triggered, the execution node needs to be executed, but it is found that the prerequisite is not met. In the end, this custom scene will never be executed.
[0011] Therefore, the present application provides a method for handling node setting conflicts to solve the above technical problems. Summary of the invention
[0012] The purpose of the present invention is to provide a method, system, electronic device, storage medium and vehicle for processing node setting conflicts, so as to solve the technical problem in the prior art that when a user is formulating a custom scene mode, conflict detection cannot be performed in time, resulting in reduced security of the custom scene mode and affecting the user's driving safety.
[0013] In order to solve the above technical problem, the present invention provides a method for processing node setting conflicts, comprising:
[0014] In response to a received request to add a new node, traverse the list of nodes that have been added to identify whether there is a potential conflicting node, wherein the potential conflicting node includes a node of the same type as the new node;
[0015] In response to the identified potential conflicting nodes, applying specific rules to process to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type;
[0016] Based on the processed potential conflicting nodes, performing multi-condition node grouping conflict processing, including grouping the conditional nodes according to logic or function, so that nodes in the same group are not repeatedly set;
[0017] Based on the grouped potential conflicting nodes, compatibility verification of the conditional nodes and the execution nodes is performed, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
[0018] In some specific embodiments, in response to receiving a request to add a new node, traversing the list of added nodes to identify whether there is a potential conflicting node, wherein the potential conflicting node includes a node of the same type as the new node, further comprising:
[0019] Extracting relevant attributes of the new node, including node ID, type, range value, and preconditions;
[0020] Traverse all existing nodes in the node list, and extract corresponding attributes for each of the nodes;
[0021] The attributes of the new node are compared with the attributes of the existing nodes to identify whether the potential conflicting node exists and mark it accordingly.
[0022] In some specific embodiments, in response to the identified potential conflicting nodes, specific rules are applied for processing to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type, and further include:
[0023] Based on the conflict type, for range type nodes, apply the ScopeRule rule to determine whether multiple setting values can be merged into a valid range;
[0024] When merging is possible, prompt and suggest the user to merge;
[0025] When merging is not possible, the user is prompted that the value cannot be set;
[0026] Based on the collision type, for nodes of mutually exclusive value types, determining whether the value to be added is the same as the existing value;
[0027] If they are the same, a conflict is indicated.
[0028] In some specific embodiments, based on the processed potential conflicting nodes, multi-condition node grouping conflict processing is performed, including grouping the conditional nodes according to logic or function so that the nodes in the same group are not repeatedly set, further comprising:
[0029] Group conditional nodes according to logic or function, including time range and event type;
[0030] Intra-group conflict check, including when adding a new conditional node, checking whether the new conditional node belongs to the same group as the existing nodes, and determining whether there is a conflict;
[0031] When a conflict occurs, conflict information is displayed and the user is advised to select a node to configure or modify the node settings to avoid the conflict.
[0032] In some specific embodiments, based on the grouped potential conflicting nodes, performing compatibility verification between the conditional nodes and the execution nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly, further includes:
[0033] When adding a new execution node, check whether the new execution node ID is the same as the added execution node. If the IDs are the same, prompt the user that there is a conflict.
[0034] When the IDs are different, extracting the precondition information of the new execution node;
[0035] Traverse the added conditional node list to check whether the precondition of the new execution node conflicts with the existing conditional node;
[0036] When there is a conflict, the user is prompted that the addition failed;
[0037] When there is no conflict, the new execution node is added.
[0038] In some of the specific embodiments, the step of providing feedback information to the user is also included, including notification of successful node addition, conflict prompts, and suggested methods for resolving conflicts.
[0039] Based on the same concept, the present invention also provides a system for processing node setting conflicts, comprising:
[0040] A conflict node identification module, configured to, in response to a received request to add a new node, traverse the list of nodes that have been added, and identify whether there is a potential conflict node, wherein the potential conflict node includes a node of the same type as the new node;
[0041] A specific rule processing module is configured to, in response to the identified potential conflicting nodes, apply specific rules for processing to determine whether to add the new node or perform a merge setting, wherein the specific rule includes applying a corresponding range rule or a mutual exclusion rule according to the conflict type;
[0042] A grouping conflict processing module, configured to perform multi-condition node grouping conflict processing based on the processed potential conflicting nodes, including grouping the conditional nodes by logic or function so that nodes in the same group are not repeatedly set;
[0043] The compatibility verification module is configured to perform compatibility verification of the conditional nodes and execution nodes based on the grouped potential conflicting nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
[0044] Based on the same concept, the present invention also provides an electronic device, comprising: a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of a method for processing node setting conflicts.
[0045] Based on the same concept, the present invention also provides a computer-readable storage medium storing a computer program executable by an electronic device. When the computer program runs on the electronic device, the electronic device executes the steps of the method for processing node setting conflicts.
[0046] Based on the same concept, the present invention further provides a vehicle, wherein the vehicle is provided with the system for processing node setting conflicts as described above.
[0047] Compared with the prior art, the invention has the following beneficial effects:
[0048] The present invention discloses a method, system, electronic device, storage medium and vehicle for processing node setting conflicts. When a user customizes a scene mode, conflict detection can be performed in a timely manner, thereby improving the security of the defined scene mode and ensuring the user's driving safety. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 It is a flowchart of a method for processing node setting conflicts in some specific embodiments of the present invention;
[0050] Figure 2 It is a schematic diagram of a conditional node conflict detection process in some applications of a method for processing node setting conflicts of the present invention;
[0051] Figure 3 It is a schematic diagram of a node conflict detection process of a method for processing node setting conflicts in some applications of the present invention;
[0052] Figure 4 It is a schematic diagram of the structure of a system for processing node setting conflicts in some specific embodiments of the present invention;
[0053] Figure 5 It is a schematic diagram of the structure of an electronic device in some specific embodiments of the present invention. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0055] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings, and "multiple" generally includes at least two.
[0056] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0057] It should be understood that although the terms first, second, third, etc. may be used to describe in the embodiments of the present application, these descriptions should not be limited to these terms. These terms are only used to distinguish the descriptions. For example, without departing from the scope of the embodiments of the present application, the first may also be referred to as the second, and similarly, the second may also be referred to as the first.
[0058] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
[0059] It should also be noted that the term "includes", "comprising" or any other variation thereof is intended to cover non-exclusive inclusion, so that a commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprising a ..." do not exclude the existence of other identical elements in the commodity or device including the elements.
[0060] It should be particularly noted that any symbols and / or numbers in the specification that are not marked in the accompanying drawings are not drawing marks.
[0061] Reference Figure 1 , a method for handling node setting conflicts, comprising:
[0062] S101, in response to a received request to add a new node, traverse a list of added nodes to identify whether there is a potential conflicting node, wherein the potential conflicting node includes a node of the same type as the new node;
[0063] It is understandable that a request to add a new node is received from a user. The request contains all relevant information of the new node, such as node ID, type, range value, preconditions, etc. A list of added nodes is maintained, which records all existing node information. After receiving the request to add a new node, this list is traversed to check whether there are existing nodes that conflict with the new node. During the traversal process, potential conflicting nodes are identified based on properties such as the type of the new node. Specifically, nodes of the same type as the new node are checked. If nodes of the same type are found, the specific properties of these nodes (such as range values, preconditions, etc.) are further analyzed to determine whether they constitute a potential conflict.
[0064] For example, there are two types of nodes: temperature sensor nodes and humidity sensor nodes. Now the user requests to add a new temperature sensor node, whose temperature measurement range is 20℃ to 40℃. Traversing the list of added nodes, it is found that there is already a temperature sensor node, whose temperature measurement range is 35℃ to 50℃. Since the two nodes are of the same type and the range values partially overlap (35℃ to 40℃), they are considered potential conflicting nodes.
[0065] In some of the applications, in response to receiving a request to add a new node, the list of added nodes is traversed to identify whether there are potential conflicting nodes, including nodes of the same type as the new node, and relevant attributes of the new node are extracted, including node ID, type, range value and preconditions; all existing nodes in the node list are traversed, and corresponding attributes are extracted for each node; the attributes of the new node are compared with the attributes of the existing nodes to identify whether there are potential conflicting nodes, and are marked accordingly.
[0066] It is understandable that when a request to add a new node is received, relevant attributes of the new node are extracted, including but not limited to the node ID, type, range value, and preconditions.
[0067] For example, a user requests to add a new temperature sensor node, whose related properties are as follows:
[0068] Node ID: TSN001;
[0069] Type: Temperature sensor;
[0070] Range value: The temperature measurement range is 20℃ to 50℃;
[0071] Precondition: None;
[0072] Compare the properties of the new node with the properties of the existing nodes to identify potential conflicts.
[0073] For example, during the traversal process, it is found that there is already a temperature sensor node with the following properties:
[0074] Node ID: TSN002;
[0075] Type: Temperature sensor;
[0076] Range value: The temperature measurement range is 35℃ to 60℃;
[0077] Precondition: None;
[0078] The comparison results show that the two nodes are of the same type and have a partial overlap in their range values (35°C to 50°C). Therefore, the two nodes are considered as potential conflicting nodes.
[0079] In addition to type and range values, other properties can be compared, such as preconditions. If the preconditions of the new node conflict with the operating conditions of an existing node (for example, the new node needs to run under certain conditions, and the existing node does not work properly under these conditions), this is also considered a potential conflict.
[0080] For the identified potential conflict nodes, mark them accordingly. This mark can be a more detailed description of the conflict (such as "range value overlap", "precondition conflict", etc.).
[0081] S102, in response to the identified potential conflicting nodes, applying specific rules for processing to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type;
[0082] It is understandable that for the identified potential conflict nodes, the specific type of the conflict is further analyzed, including but not limited to range value conflict, type conflict, precondition conflict, etc.
[0083] According to the conflict type, the preset specific rules are applied to handle it. The specific rules include but are not limited to scope rules and mutual exclusion rules.
[0084] Range rules: When the conflict type is a range value conflict, you can apply range rules to try to merge range values or adjust ranges to avoid overlap. For example, if the temperature measurement range of the new node is 20℃ to 50℃, and the range of the existing node is 35℃ to 60℃, the range of the new node can be automatically adjusted to 20℃ to 34℃ to avoid overlapping with the range of the existing node.
[0085] For example, a user requests to add a new humidity sensor node with a humidity measurement range of 40%RH to 80%RH. It is identified that there is already a humidity sensor node with a range of 50%RH to 90%RH. Based on the range rule, the new node's range can be automatically adjusted to 40%RH to 49%RH, thus avoiding range overlap and allowing both nodes to exist at the same time.
[0086] Mutual exclusion rules: When the conflict type is a type conflict or a precondition conflict, and these conflicts cannot be resolved by simple scope adjustments, mutual exclusion rules can be applied. Mutual exclusion rules involve deleting existing nodes (if they are less important or replaceable), refusing to add new nodes, or requiring users to manually resolve conflicts.
[0087] For example, if the new node is a device that needs to exclusively occupy a port, and the port is already occupied by another existing node, and the two nodes cannot share the port (i.e., there is a mutual exclusion relationship), the addition of the new node can be rejected and an error message can be displayed to the user, indicating that the port is already occupied. Alternatively, if it is detected that the new node and the existing node are logically mutually exclusive (such as the two cannot be active at the same time), the user can be prompted to manually resolve the conflict, such as by modifying the configuration of the new node or adjusting the operating logic of the system.
[0088] In some of the applications, in response to the identification of potential conflicting nodes, specific rules are applied for processing to determine whether to add a new node or merge settings. The specific rules include applying corresponding scope rules or mutually exclusive rules according to the conflict type. Based on the conflict type, for nodes of range type, ScopeRule rules are applied to determine whether multiple setting values can be merged into a valid range; when mergeable, the user is prompted and advised to merge; when mergeable, the user is prompted that the value cannot be set; based on the conflict type, for nodes of mutually exclusive value type, whether the value to be added is the same as the existing value is determined; if the same, a conflict prompt is given.
[0089] It is understandable that when receiving and processing a request to add a new node, the conflict type associated with the new node is identified. The conflict type mainly includes range type conflict and mutually exclusive value type conflict.
[0090] For range type nodes:
[0091] Apply ScopeRule rules: When the conflict type is range type, apply ScopeRule rules to determine whether the setting value range of the new node and the setting value range of the existing node can be merged into a valid range.
[0092] Merge suggestion: If multiple setting values can be merged into a valid range according to the ScopeRule rule, the user is prompted and suggested to merge. The merge operation can be completed automatically, or the merged range can be displayed to the user for confirmation.
[0093] Conflict prompt: If the merge cannot be performed (for example, the ranges do not overlap at all or the merged range is invalid), the user is prompted that the value cannot be set and the reason is explained.
[0094] For example, a user requests to add a new temperature sensor node with a temperature measurement range of 30°C to 45°C. It is identified that there is already a temperature sensor node with a range of 40°C to 55°C. After applying the ScopeRule rule, it is determined that the two ranges partially overlap and can be merged into a continuous range (30°C to 55°C). Therefore, the user is prompted and suggested to merge the temperature measurement ranges of the two nodes into a new range.
[0095] For nodes of mutually exclusive value types:
[0096] Determine the value to be added: When the conflict type is a mutually exclusive value type, determine whether the attribute value of the new node to be added is the same as the attribute value of the existing node or is in a mutually exclusive relationship.
[0097] Conflict prompt: If the value to be added is the same as or mutually exclusive with the existing value, the user will be prompted that there is a conflict and the addition of the new node will be blocked or the user will be required to modify the attribute value of the new node.
[0098] S103, based on the processed potential conflicting nodes, performing multi-condition node grouping conflict processing, including grouping the conditional nodes according to logic or function, so that nodes in the same group are not repeatedly set;
[0099] It is understandable that when receiving and processing a request to add or modify a node, potential conflicting nodes are identified and processed according to preset rules, including adjusting node properties, deleting conflicting nodes, or prompting the user to manually resolve the conflict.
[0100] Conditional node analysis:
[0101] Further analyze the processed nodes to understand their logical relationships and functional requirements, including node types, trigger conditions, execution actions, and other information.
[0102] Multi-condition node grouping:
[0103] Grouping principle: Divide the conditional nodes into different groups according to the logical relationship and functional requirements of the nodes. The grouping principle is based on factors such as the common attributes of the nodes, the similarity of the triggering conditions, and the relevance of the executed actions.
[0104] Avoid duplicate settings: During the grouping process, avoid duplicate settings between nodes within the same group.
[0105] Group conflict handling:
[0106] For grouped nodes, check whether there are potential conflicts within the group. If conflicts are found, handle them according to the preset conflict resolution strategy, including reallocating nodes to different groups, adjusting node configuration parameters, disabling or deleting conflicting nodes, etc.
[0107] Verification and feedback:
[0108] After completing the group conflict processing, the grouping results are verified to ensure that nodes in the same group are not set repeatedly and there are no conflicts between groups.
[0109] After verification, the processing results will be fed back to the user, including displaying the grouped node list, providing configuration suggestions, or notifying the user to perform subsequent operations.
[0110] In some of these applications, based on the processed potential conflicting nodes, multi-conditional node grouping conflict processing is performed, including grouping the conditional nodes by logic or function so that the nodes in the same group are not set repeatedly, grouping the conditional nodes according to logic or function, including time range and event type; intra-group conflict check, including when adding a new conditional node, checking whether the new conditional node belongs to the same group of an existing node and determining whether there is a conflict; when a conflict occurs, displaying conflict information and suggesting that the user select a node for configuration or modify the node settings to avoid the conflict.
[0111] It is understandable that the conditional nodes are effectively organized through logic or functional characteristics, and potential conflicts are automatically checked when new nodes are added to improve the stability of the system and the convenience of user operations.
[0112] S104, based on the grouped potential conflicting nodes, performing compatibility verification of the conditional nodes and the execution nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
[0113] In some of these applications, based on the grouped potential conflicting nodes, the compatibility verification of the conditional nodes and the execution nodes is performed, including verifying whether the preconditions of the execution nodes conflict with the existing conditional nodes, so that the execution logic is executed correctly. When adding a new execution node, check whether the new execution node ID is the same as the added execution node. When the IDs are the same, prompt the user that there is a conflict; when the IDs are different, extract the precondition information of the new execution node; traverse the list of added conditional nodes to check whether the preconditions of the new execution node conflict with the existing conditional nodes; when there is a conflict, prompt the user that the addition failed; when there is no conflict, add the new execution node.
[0114] It is understandable that when trying to add a new execution node, check whether its ID is the same as the existing execution node ID. If it is found that the ID of the new execution node is the same as the ID of the added execution node, a conflict prompt message is displayed to the user through the user interface (UI), for example: "The execution node ID is repeated, please re-enter." For new execution nodes with different IDs, parse and extract their precondition information. Traverse all the added and grouped condition node lists and prepare for compatibility verification. For each precondition of the new execution node, check whether there is an added condition node that fully matches or logically conflicts with it. The matching criteria include overlapping time ranges, identical or mutually exclusive logic of event types, etc. If it is found that a precondition of the new execution node conflicts with an existing condition node (such as overlapping time ranges but contradictory actions), it is determined that the compatibility verification fails. If the compatibility verification fails, the conflict information is displayed to the user through the UI, and the user is prompted that the addition failed, and modification suggestions are given. If the compatibility verification passes, that is, there is no conflict, the new execution node is allowed to be added, and it is associated with the corresponding precondition and the existing condition node to ensure the correct execution of the execution logic.
[0115] In some of these applications, steps are also included to provide feedback information to the user, including notification of successful node addition, conflict prompts, and suggested methods to resolve the conflicts.
[0116] It is understandable that after the node is successfully added, the user will be prompted with the message "The node has been successfully added and the node name. If a conflict is detected during the adding process (such as IP address conflict, node name duplication, etc.), the user will be prompted with the conflict type, such as "IP address conflict: IP address [specific IP] has been occupied by other nodes, please change the IP address and try again" or "Node name duplication: Node name [specific name] already exists, please use a different node name". Specific resolution suggestions are provided for different types of conflicts. For example, for IP address conflicts, users are advised to "check existing nodes in the network and select an unoccupied IP address to add"; for node name duplications, users are advised to "change the node name to a unique name and try adding it again".
[0117] Combine the following Figure 2 and Figure 3 The following describes some embodiments of the method for processing node setting conflicts of the present invention in some applications:
[0118] like Figure 2 and Figure 3 As shown, this embodiment can expose risks in advance and avoid conflicts, thereby improving the safety of customized scene modes and the safety of the vehicle computer, and ensuring the safety of users' travel.
[0119] For the same atomic node or execution node, the user can set it multiple times. If there are identical nodes, only one of them can be selected because the two conditions completely overlap. The user is prohibited from setting it repeatedly.
[0120] Single condition node conflict, users set multiple values for the same condition and classify each node;
[0121] Divide time points, values, enumerations, etc. into conditional nodes that can only have a single value. Because the values set for these nodes are mutually exclusive, only one can be set. Therefore, if there are nodes with the same ID, it is necessary to remind the user to select only one.
[0122] Divide the time range, distance range, etc. into the condition node range of the range value. These conditions can be set to two and merged into one range. The following ScopeRule range rule judgment is required to take the intersection part:
[0123] If the node value is set to be greater than num1 and greater than num2 at the same time, the larger value of num1 and num2 is taken;
[0124] If the node value is set to be less than num1 and less than num2 at the same time, the smaller value of num1 and num2 is taken;
[0125] If both greater than and less than are set, determine the value num1 that the node is less than and the value num2 that the node is greater than. If num1 > num2, setting is allowed; if num1 < num2, the user is prohibited from setting;
[0126] If a range is set simultaneously, one node value is set to be greater than num1 and less than num2, and one node value is set to be greater than num3 and less than num4. Then, the value can be greater than num3 and less than num2 or greater than num1 and less than num4.
[0127] For multi-condition node conflicts, group each node. Conflicts within a group are not allowed. Divide time ranges, time points, sunrise, sunset, etc. into TimeGroup. It is not possible to set both a time range and a time point. Therefore, nodes within a group cannot appear simultaneously. When nodes within the same group are set, prompt the user to select only one of them.
[0128] For single execution node user setting conflicts, when a user sets multiple values for the same execution node, the values set by these nodes are mutually exclusive. Only one can be set, and the user is prohibited from adding.
[0129] For conflicts between conditional nodes and execution nodes, this conflict situation refers to the conflict between the preconditions of the execution node and the conditional nodes. Each time a new execution node is added, compare its preconditions with the already set conditional nodes. If the ids are the same and the values are different, it means that when the conditional node is triggered to execute, the preconditions of the execution node will necessarily not be met. Then, prohibit the user from adding this execution node.
[0130] Every time a user wants to add a conditional node node, traverse the already added node list. For each already added node node_n, perform the following judgments according to the process:
[0131] 1. If node and node_n belong to the same group, remind the user that there is a conflict and only one node can be selected. If they do not belong to the same group, proceed to judgment 2;
[0132] 2. Determine the type of node_n. If it is a range type node, proceed to judgment 3. If it is an only type node, proceed to judgment 4;
[0133] 3. Use scopeRule to determine whether they can be merged into one combination. If so, prompt the user and give suggestions for merging. If not, prompt the user that setting is not possible;
[0134] 4. Determine whether the node ids of node and node_n are the same. If they are the same, remind the user that there is a conflict and only one node can be selected. If they are different, proceed to judgment 5;
[0135] 5. Determine whether it is the last node in list. If not, continue to determine the next node in list. If it is the last node, it is successfully added.
[0136] Each time the user wants to add an execution node node, traverse the added execution node list, and for each added node node_n, perform the following judgments according to the process:
[0137] 1. Determine whether the IDs of node and noe_n are the same. If they are the same, remind the user that there is a conflict and only one node can be selected. If they do not belong to the same group, perform 2 judgments;
[0138] 2. Is it the last node in list? If not, continue to perform judgment 1 on the next node in list. If it is the last node in list, perform judgment 3.
[0139] 3. Traverse the conditional nodes to determine whether there is a conditional node with the same precondition as the node. If so, prompt the user that the addition failed. If not, the addition is successful.
[0140] This embodiment is described below in conjunction with application scenarios:
[0141] Assume that the user has built a scene mode A, the condition nodes are: N gear, 8:00-9:00, and the execution nodes are: turn on the air conditioner, turn on the fragrance;
[0142] At this time, the user adds a new condition node 10:00 and needs to compare it with the existing conditions to determine whether it can be added successfully.
[0143] For nodes in file N that do not belong to the same group but to different node types, continue traversing the next node;
[0144] 8:00-9:00, belongs to the same group, time group, which is a conflict condition, prompting the user that there is a conflict and only one node can be selected;
[0145] The user then adds a conditional node P file and traverses the conditional nodes:
[0146] For nodes N gears, they do not belong to the same group, but belong to the same node type on ly, and are both gear nodes, so the node ids are the same and there is a conflict. The user is prompted that there is a conflict and can only select one node;
[0147] The user adds a new execution node, the driver's seat is adjusted to 80% (precondition: P gear), and traverses the execution nodes:
[0148] For turning on the air conditioner, the id is different, it is not the last node, and the traversal continues to the next node;
[0149] For opening the fragrance, the id is different and it is the last execution node. After traversing the condition list, it is found that the N file conflicts with its precondition, and the user is prompted that the addition failed.
[0150] In the above embodiments, possible situations are classified and different solutions are customized:
[0151] The same node is set multiple times; single condition node conflict, by classifying the nodes, grouping to determine the conflict, and propose intra-group conflicts and single node conflicts;
[0152] Multiple conflicts occur when a user sets a single execution node; the preconditions of the execution node conflict with the condition nodes.
[0153] The responsibility chain judges conflicts. Once a conflict occurs, the addition fails until all conflicts are judged and successfully added.
[0154] For the method steps disclosed in the above embodiments, the method steps are described as a series of action combinations for the purpose of simple description, but those skilled in the art should know that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0155] like Figure 4 As shown, the present invention also provides a system for processing node setting conflicts, including:
[0156] The conflict node identification module 201 is configured to, in response to a received request to add a new node, traverse the list of nodes that have been added and identify whether there is a potential conflict node, wherein the potential conflict node includes a node of the same type as the new node;
[0157] A specific rule processing module 202 is configured to, in response to the identified potential conflicting nodes, apply specific rules to process them to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type;
[0158] The grouping conflict processing module 203 is configured to perform multi-condition node grouping conflict processing based on the processed potential conflicting nodes, including grouping the conditional nodes according to logic or function so that nodes in the same group are not repeatedly set;
[0159] The compatibility verification module 204 is configured to perform compatibility verification of the conditional nodes and execution nodes based on the grouped potential conflicting nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
[0160] It is worth noting that although only some basic functional modules are disclosed in the embodiments of the present invention, it does not mean that the composition of the present system is limited to the above basic functional modules. On the contrary, what the present embodiment wants to express is that on the basis of the above basic functional modules, those skilled in the art can arbitrarily add one or more functional modules in combination with the prior art to form an infinite number of embodiments or technical solutions. In other words, the present system is open rather than closed. Just because the present embodiment only discloses individual basic functional modules, it cannot be considered that the protection scope of the claims of the present invention is limited to the disclosed basic functional modules. At the same time, for the convenience of description, the above devices are described in terms of functions and are described separately in various units and modules. Of course, when implementing the present invention, the functions of each unit and module can be implemented in the same or one or more software and / or hardware.
[0161] like Figure 5 As shown, the present invention also provides an electronic device, comprising: a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of the method for processing node setting conflicts.
[0162] Figure 5 Schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Figure 5 The electronic device provided in the embodiment of the present invention includes: one or more processors 710 and a storage device 720; the processor 710 in the electronic device may be one or more, Figure 5 A processor 710 is taken as an example; the storage device 720 is used to store one or more programs; the one or more programs are executed by the one or more processors 710, so that the one or more processors 710 implement the method for processing node setting conflicts as described in any one of the embodiments of the present invention.
[0163] The electronic device may further include: an input device 730 and an output device 740 .
[0164] The processor 710, storage device 720, input device 730 and output device 740 in the electronic device can be connected via a bus or other means. Figure 5 The example of connecting through bus is taken in the following.
[0165] The storage device 720 in the electronic device is a computer-readable storage medium that can be used to store one or more programs, which can be software programs, computer executable programs, and modules, such as program instructions / modules corresponding to the method for processing node setting conflicts provided in the embodiments of the present invention. The processor 710 executes various functional applications and data processing of the electronic device by running the software programs, instructions, and modules stored in the storage device 720, that is, the method for processing node setting conflicts in the above method embodiment is implemented.
[0166] The storage device 720 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the storage device 720 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the storage device 720 may further include a memory remotely arranged relative to the processor 710, and these remote memories may be connected to the device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0167] The input device 730 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the electronic device. The output device 740 may include a display device such as a display screen.
[0168] The present invention also provides a computer-readable storage medium storing a computer program executable by an electronic device, and when the computer program runs on the electronic device, the electronic device executes the steps of the method for processing node setting conflicts.
[0169] Specifically, the computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present embodiment, the computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.
[0170] The present invention also provides a vehicle, wherein the vehicle is provided with the system for processing node setting conflicts as described above.
[0171] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for handling node setting conflicts, It is characterized in that include: In response to a received request to add a new node, traverse the list of nodes that have been added to identify whether there is a potential conflicting node, wherein the potential conflicting node includes a node of the same type as the new node; In response to the identified potential conflicting nodes, applying specific rules to process to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type; Based on the processed potential conflicting nodes, performing multi-condition node grouping conflict processing, including grouping the conditional nodes according to logic or function, so that nodes in the same group are not repeatedly set; Based on the grouped potential conflicting nodes, compatibility verification of the conditional nodes and the execution nodes is performed, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
2. The method for processing node setting conflicts according to claim 1, It is characterized in that In response to a received request to add a new node, traverse the list of nodes that have been added to identify whether there is a potential conflicting node, wherein the potential conflicting node includes a node of the same type as the new node, further comprising: Extracting relevant attributes of the new node, including node ID, type, range value, and preconditions; Traverse all existing nodes in the node list, and extract corresponding attributes for each of the nodes; The attributes of the new node are compared with the attributes of the existing nodes to identify whether the potential conflicting node exists and mark it accordingly.
3. The method for processing node setting conflicts according to claim 1, It is characterized in that In response to the identified potential conflicting nodes, specific rules are applied for processing to determine whether to add the new node or perform a merge setting, wherein the specific rules include applying corresponding range rules or mutual exclusion rules according to the conflict type, and further include: Based on the conflict type, for range type nodes, apply the ScopeRule rule to determine whether multiple setting values can be merged into a valid range; When merging is possible, prompt and suggest the user to merge; When merging is not possible, the user is prompted that the value cannot be set; Based on the collision type, for nodes of mutually exclusive value types, determining whether the value to be added is the same as the existing value; If they are the same, a conflict is indicated.
4. The method for processing node setting conflicts according to claim 1, It is characterized in that Based on the processed potential conflicting nodes, performing multi-condition node grouping conflict processing includes grouping the conditional nodes according to logic or function so that nodes in the same group are not repeatedly set, and further includes: Group conditional nodes according to logic or function, including time range and event type; Intra-group conflict check, including when adding a new conditional node, checking whether the new conditional node belongs to the same group as the existing nodes, and determining whether there is a conflict; When a conflict occurs, conflict information is displayed and the user is advised to select a node to configure or modify the node settings to avoid the conflict.
5. The method for processing node setting conflicts according to claim 1, It is characterized in that Based on the grouped potential conflicting nodes, performing compatibility verification between the conditional nodes and the execution nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional nodes, so that the execution logic is executed correctly, further comprising: When adding a new execution node, check whether the new execution node ID is the same as the added execution node. If the IDs are the same, prompt the user that there is a conflict. When the IDs are different, extracting the precondition information of the new execution node; Traverse the added conditional node list to check whether the precondition of the new execution node conflicts with the existing conditional node; When there is a conflict, the user is prompted that the addition failed; When there is no conflict, the new execution node is added.
6. The method for processing node setting conflicts according to claim 1, It is characterized in that The method also includes steps for providing feedback information to the user, including notification of successful node addition, conflict prompts, and suggested methods for resolving the conflicts.
7. A system for handling node setting conflicts, It is characterized in that include: A conflict node identification module, configured to, in response to a received request to add a new node, traverse the list of nodes that have been added, and identify whether there is a potential conflict node, wherein the potential conflict node includes a node of the same type as the new node; A specific rule processing module is configured to, in response to the identified potential conflicting nodes, apply specific rules for processing to determine whether to add the new node or perform a merge setting, wherein the specific rule includes applying a corresponding range rule or a mutual exclusion rule according to the conflict type; A grouping conflict processing module, configured to perform multi-condition node grouping conflict processing based on the processed potential conflicting nodes, including grouping the conditional nodes by logic or function so that nodes in the same group are not repeatedly set; The compatibility verification module is configured to perform compatibility verification of the conditional nodes and execution nodes based on the grouped potential conflicting nodes, including verifying whether the precondition of the execution node conflicts with the existing conditional node, so that the execution logic is executed correctly.
8. An electronic device, It is characterized in that include: A processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the steps of the method described in any one of claims 1 to 6.
9. A computer-readable storage medium, It is characterized in that It stores a computer program executable by an electronic device, and when the computer program runs on the electronic device, the electronic device executes the steps of the method described in any one of claims 1 to 6.
10. A vehicle, It is characterized in that The vehicle is provided with the system for handling node setting conflicts according to claim 7.
