Message channel diagnosis method and device

By comparing channel number values ​​in the communication architecture of the automotive electronic control unit, the problem of difficult to diagnose data packet reuse is solved, effectively identifying and analyzing the situation of channel reuse is realized, and the stability of the system is improved. Reliability and saves storage space.

CN119110003AActive Publication Date: 2024-12-10WEICHAI POWER CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411263430.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2024-12-10
Estimated Expiration
2044-09-10

AI Technical Summary

Technical Problem

In the complex communication architecture of the automotive electronic control unit (ECU), it is difficult to effectively diagnose the multiplexing of data packets on multiple communication channels, resulting in communication conflicts and abnormal conditions, affecting the stability and reliability of the vehicle system.

Method used

By comparing the channel number value between the message set to be checked and the target message set, accumulating the number of matches, and recording the channel number value and message number value at the first match, to achieve the diagnosis of the situation where the channel is multiplexed and Reverse traceability while saving storage space.

Benefits of technology

Effectively identify and record the situation where the channel is reused, analyze the degree of reuse, ensure diagnosis and reverse traceability of all situations, improve the stability and reliability of the system, and reduce the use of storage space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119110003A_ABST
    Figure CN119110003A_ABST
Patent Text Reader

Abstract

The invention discloses a message channel diagnosis method and device, and the method comprises the steps: selecting an unchecked message from a to-be-checked message set as a current to-be-checked message at a first time interval, and reading a channel number value matched with the current to-be-checked message; for the channel number value matched with the current to-be-checked message, selecting an uncompared target message from the target message set every second duration, and reading the channel number value matched with the target message; the first duration is not less than the duration required for completing the comparison of all messages in the target message set; comparing whether the channel number values matched with the target message and the current to-be-checked message are matched or not; if yes, accumulating the matching times; when the comparison of all messages in the target message set is completed, marking the current to-be-checked message as a to-be-checked message; and when the matching frequency is equal to 1, recording the channel number value as a target channel number value, a message number value of the target message and a message number value of the current to-be-checked message.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of automotive electronic control technology, and in particular to a message channel diagnosis method and device. Background Art

[0002] In the complex communication architecture of current automotive electronic control units (ECUs), data messages sent by the ECU can be configured on up to three independent communication channels at the same time. This design significantly enhances the system's scalability and redundancy, providing a strong guarantee for the stability and reliability of automotive electronic systems. However, at the same time, it also brings challenges that cannot be ignored.

[0003] Specifically, since each communication channel may face competitive use from multiple messages, when these messages are inconsistent in terms of sending cycle, data content or activation conditions, a series of communication conflicts and abnormal conditions may be triggered. These conditions include but are not limited to direct conflicts between messages, timing confusion caused by periodic inconsistencies, data confusion caused by concurrent transmission, and even temporary or complete interruption of the entire communication link, posing a potential threat to the normal operation of the vehicle system.

[0004] In view of this, it becomes particularly important and urgent to diagnose and trace back the multiplexing of ECU data messages on the communication channel (that is, to clarify which specific messages share a certain communication channel). Summary of the invention

[0005] In view of the above problems, the present application provides a message channel diagnosis method and device to achieve the purpose of diagnosing all situations where the channel is multiplexed and performing reverse tracing diagnosis while saving storage space. The specific scheme is as follows:

[0006] The first aspect of the present application provides a message channel diagnosis method, comprising:

[0007] At every first time period, select an unchecked message in the message set to be checked as the current message to be checked, and read the channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked;

[0008] For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message; the target message set includes: all messages in the initial message set except the current message to be checked and the messages that have been checked as messages to be checked before; the first time length is not less than the time length required to complete the comparison of all messages in the target message set;

[0009] Compare the channel number values ​​of the target message and the current message to be checked to see if they match;

[0010] If there is a match, the number of matches is accumulated;

[0011] When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked;

[0012] When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked.

[0013] In a possible implementation, the message channel diagnosis method further includes:

[0014] Define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array, and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2 = T1 × (M-num1);

[0015] At every first time period, selecting an unchecked message in the set of messages to be checked as the current message to be checked, and reading the channel number value matched by the current message to be checked, including:

[0016] Every T2, select an unchecked value in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1;

[0017] For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message, including:

[0018] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M;

[0019] Comparing whether the channel number value matched between the target message and the current message to be checked matches, including:

[0020] Compare whether the values ​​of A2 and B are equal;

[0021] If there is a match, the number of matches is accumulated, including:

[0022] If they are equal, the num2 is increased by 1;

[0023] When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked, including:

[0024] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0025] When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked, including:

[0026] If num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array.

[0027] In a possible implementation, the message channel diagnosis method further includes:

[0028] Define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array, and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps, and T2 = T1 × (M-num1);

[0029] At every first time period, selecting an unchecked message in the set of messages to be checked as the current message to be checked, and reading the channel number value matched by the current message to be checked, including:

[0030] Every T2, select an unchecked value in the first range and assign it to m1, use the message corresponding to m1 as the message number value of the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes J to M and 1 to J-2;

[0031] For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message, including:

[0032] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1;

[0033] Comparing whether the channel number value matched between the target message and the current message to be checked matches, including:

[0034] Compare whether the values ​​of A2 and B are equal;

[0035] If there is a match, the number of matches is accumulated, including:

[0036] If they are equal, the num2 is increased by 1;

[0037] When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked, including:

[0038] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0039] When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked, including:

[0040] If num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array.

[0041] In a possible implementation, the message channel diagnosis method further includes:

[0042] multiplexing the M and the T1;

[0043] Define at least one of variables A1 and ByteT1 and a variable F, wherein the variable F is initialized to 1;

[0044] Every T1, the F is incremented by one, and at least one of the following is performed:

[0045] Read the channel number value of the message matching corresponding to the F, and output the channel number value of the message matching corresponding to the F;

[0046] Read the content of the message corresponding to F, and output the content of the message corresponding to F.

[0047] In a possible implementation, the message channel diagnosis method further includes:

[0048] Reusing the M;

[0049] Define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F;

[0050] Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1;

[0051] Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

[0052] In another aspect of the present application, a message channel diagnostic device is provided, comprising:

[0053] A first processing module is used to select an unchecked message from the message set to be checked as a current message to be checked at a first time length, and read a channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked;

[0054] The second processing module is used for:

[0055] For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message; the target message set includes: all messages in the initial message set except the current message to be checked and the messages that have been checked as messages to be checked before; the first time length is not less than the time length required to complete the comparison of all messages in the target message set;

[0056] Compare the channel number values ​​of the target message and the current message to be checked to see if they match;

[0057] If there is a match, the number of matches is accumulated;

[0058] When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked;

[0059] A recording module is used to record the channel number value as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked when the number of matches is equal to 1.

[0060] In a possible implementation, the message channel diagnosis device further includes:

[0061] The first definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1);

[0062] The first processing module is specifically used to: select an unchecked value in the first range and assign it to m1 every T2, use the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1;

[0063] The second processing module selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, specifically including:

[0064] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M;

[0065] The process of the second processing module comparing whether the channel number value matched between the target message and the current message to be checked matches specifically includes:

[0066] Compare whether the values ​​of A2 and B are equal;

[0067] If the second processing module matches, the process of accumulating the number of matches specifically includes:

[0068] If they are equal, the num2 is increased by 1;

[0069] When the second processing module completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked specifically includes:

[0070] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0071] The recording module is specifically used to assign the value of B to C if num2 is equal to 1, and associate m1 and m2 and store them in the array.

[0072] In a possible implementation, the message channel diagnosis device further includes:

[0073] The second definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps and T2=T1×(M-num1);

[0074] The first processing module is specifically used to select an unchecked value in the first range and assign it to m1 every T2, use the message corresponding to m1 as the message number value of the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes J to M and 1 to J-2;

[0075] The second processing module selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, specifically including:

[0076] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1;

[0077] The process of the second processing module comparing whether the channel number value matched between the target message and the current message to be checked matches specifically includes:

[0078] The process of the second processing module comparing whether the values ​​of A2 and B are equal specifically includes:

[0079] If the second processing module matches, the process of accumulating the number of matches specifically includes:

[0080] If they are equal, the num2 is increased by 1;

[0081] When the second processing module completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked specifically includes:

[0082] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0083] The recording module is specifically used to assign the value of B to C if num2 is equal to 1, and associate m1 and m2 and store them in the array.

[0084] In a possible implementation, the message channel diagnosis device further includes:

[0085] The third processing module is used for:

[0086] multiplexing the M and the T1;

[0087] Define at least one of variables A1 and ByteT1 and a variable F, wherein the variable F is initialized to 1;

[0088] Every T1, the F is incremented by one, and at least one of the following is performed:

[0089] Read the channel number value of the message matching corresponding to the F, and output the channel number value of the message matching corresponding to the F;

[0090] Read the content of the message corresponding to F, and output the content of the message corresponding to F.

[0091] In a possible implementation, the message channel diagnosis device further includes:

[0092] The fourth processing module is used for:

[0093] Reusing the M;

[0094] Define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F;

[0095] Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1;

[0096] Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

[0097] In the present application, a message is selected from an initial message set as the current message to be checked, the initial message set includes a plurality of messages arranged in order, a message set to be checked is determined from the initial message set based on the current message to be checked, the channel number value matched by the current message to be checked is read, an uncompared message is selected from the target message set, and the channel number value matched by the uncompared message and the current message to be checked is compared to see if they match, if the match is successful and it is the first time to encounter the channel number value (that is, when the number of matches is 1), the channel number value is recorded as the target channel number value, and the message number value of the matching message is recorded, and at the same time, the number of matches is accumulated. If the match is successful but not the first time, only the number of matches is accumulated, and the new target channel number value and message number value are not recorded. Regardless of whether it matches or not, the next uncompared message is selected from the target message set for comparison until all messages have participated in the comparison. After completing a round of comparison, the first message in the message set to be checked that is not used as a message to be checked after the current message to be checked is set as a new message to be checked. Repeat the process from reading the channel number value to completing all message comparisons until each message in the message set to be checked is selected as a message to be checked at least once. In the above process, only the channel number value and the corresponding message number that are matched for the first time are recorded, which can effectively save storage space.

[0098] In addition, the accumulated number of matches, the recorded target channel number values, and the message number values ​​can be used to analyze which channels are reused and the degree of reuse. If the accumulated number of matches is equal to the number of recorded message number values, it indicates that only one channel (i.e., the target channel number value) is reused. If the number of matches is greater than the number of recorded message number values, it may mean that multiple channels are reused, and further inspection is required to ensure that all situations in which channels are reused are diagnosed and reverse traced. BRIEF DESCRIPTION OF THE DRAWINGS

[0099] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0100] Figure 1 A flow chart of a message channel diagnosis method provided in Example 1 of the present application;

[0101] Figure 2 A flow chart of a message channel diagnosis method provided in Example 2 of the present application;

[0102] Figure 3 A flow chart of a message channel diagnosis method provided in Example 3 of the present application;

[0103] Figure 4 A schematic diagram of the structure of a message channel diagnostic device provided in this application. DETAILED DESCRIPTION

[0104] The following describes the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation method section of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0105] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0106] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0107] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0108] Reference Figure 1 , is a flow chart of a message channel diagnosis method provided in Example 1 of the present application, such as Figure 1As shown, the method may include but is not limited to the following steps:

[0109] Step S101, every first time period, select an unchecked message in the message set to be checked as the current message to be checked, and read the channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked.

[0110] In this embodiment, a message can be selected from the initial message set as the starting message to be checked as needed, and no limitation is made here. For example, the first message can be selected from the initial message set as the starting message to be checked, such as, the initial message set includes 10 messages arranged in order, namely message 1, message 2, message 3, message 4, message 5, message 6, message 7, message 8, message 9 and message 10, then message 1 can be selected as the starting message to be checked. Alternatively, a non-first message can be selected from the initial message set as the starting message to be checked, such as, the initial message set includes 10 messages arranged in order, namely message 1, message 2, message 3, message 4, message 5, message 6, message 7, message 8, message 9 and message 10, then message 4 can be selected as the starting message to be checked.

[0111] If message 1 is selected as the starting message to be checked, messages 2-9 can be used as the message set to be checked. Alternatively, if message 4 is selected as the starting message to be checked, messages 5-10 and messages 1-2 can be used as the starting message range.

[0112] The channel number value matched by the current message to be checked can identify the channel selected by the current message to be checked.

[0113] Step S102: for the channel number value matched by the current message to be checked, select an uncompared target message in the target message set every second time period, and read the channel number value matched by the target message.

[0114] The target message set may include: all messages in the initial message set except the current message to be checked and messages that have been checked as messages to be checked before.

[0115] The first duration is not less than the duration required to complete the comparison of all messages in the target message set.

[0116] Still taking the initial message set of step S101 as an example, step S102 is described. For example, if message 1 is selected as the starting message to be checked, and the current message to be checked is message 1, the target message set may include: messages 2-10. Alternatively, if message 1 is selected as the starting message to be checked, when the current message to be checked is updated to message 2, the target message set may include: messages 3-10. Alternatively, if message 4 is selected as the starting message to be checked, and the current message to be checked is message 4, the target message set may include: messages 5-10 and messages 1-3. Alternatively, if message 4 is selected as the starting message to be checked, when the current message to be checked is updated to message 5, the target message set may include: messages 6-10 and messages 1-3.

[0117] Step S103: compare the channel number values ​​of the target message and the current message to be checked to see if they match.

[0118] If yes, execute step S104.

[0119] Step S104: Accumulate the number of matches.

[0120] Step S105: When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked.

[0121] Still taking the initial message set of step S101 as an example, step S105 is explained. For example, if message 1 is selected as the current message to be checked, and the current message to be checked is message 1 (i.e., after message 1 is selected as the current message to be checked, the current message to be checked has not been updated), then the target message set includes: messages 2-10. When the messages in messages 2-10 are all compared with the channel number values ​​matching the current message to be checked (i.e., message 1), message 1 is marked as having been checked as a message to be checked. After the first time interval, message 2 is reselected as the current message to be checked. Since message 1 is marked as having been checked as a message to be checked, based on the mark, it can be determined that the target message set includes: messages 3-10, i.e., all messages in messages 1-10 except the current message to be checked (i.e., message 2) and the message that has been checked as a message to be checked (i.e., message 1).

[0122] Step S106: When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked.

[0123] Still taking the initial message set of step S101 as an example, steps S102-S106 are explained. For example, if message 1 is selected as the starting message to be checked, messages 2-9 can be used as the message set to be checked. At time a1, message 1 is selected as the current message to be checked in the message set to be checked, and the channel number value matched by the current message to be checked is read as x1.

[0124] For the current message to be checked, select message 2 from the target message set (i.e., messages 2-10), read the channel number value x2 matched by message 2, and the channel number value matched by message 2 does not match x1; select message 3 from the target message set (i.e., messages 2-10), read the channel number value x2 matched by message 3, and the channel number value x2 matched by message 3 does not match x1; select message 4 from the target message set (i.e., messages 2-10), read the channel number value x3 matched by message 4, and the channel number value x3 matched by message 4 does not match x1; select message 5 from the target message set (i.e., messages 2-10), read the channel number value x3 matched by message 5, and the channel number value x3 matched by message 5 does not match x1; select message 6 from the target message set (i.e., messages 2-10), read the message 6 matches the channel number value x4, and the channel number values ​​x4 and x1 matched by message 6 do not match; select message 7 from the target message set (i.e., messages 2-10), read the channel number value x5 matched by message 7, and the channel number values ​​x5 and x1 matched by message 7 do not match; select message 8 from the target message set (i.e., messages 2-10), read the channel number value x6 matched by message 8, and the channel number values ​​x6 and x1 matched by message 8 do not match; select message 9 from the target message set (i.e., messages 2-10), read the channel number value x7 matched by message 9, and the channel number values ​​x7 and x1 matched by message 9 do not match; select message 10 from the target message set (i.e., messages 2-10), read the channel number value x8 matched by message 10, and the channel number value x8 and x1 matched by message 10 do not match.

[0125] At time a2 (the interval between time a2 and time a1 is the first duration), select message 2 from the set of messages to be checked as the current message to be checked, read the channel number value x2 matched by the current message to be checked (i.e., message 2), select message 3 from the target message set (i.e., messages 3-10), read the channel number value x2 matched by message 3, the channel number value x2 matched by message 3 matches x1 and is the first match, record the channel number value x2 as the target channel number value and record the message number values ​​of message 2 and message 3; select message 4 from the target message set (i.e., messages 3-10), read the channel number value x3 matched by message 4, the channel number value x3 matched by message 4 does not match x2; select message 5 from the target message set (i.e., messages 3-10), read the channel number value x3 matched by message 5, the channel number value x3 matched by message 5 does not match x2; Select message 6 from the target message set (i.e., messages 3-10), read the channel number value x4 matched by message 6, and the channel number values ​​x4 matched by message 6 do not match x2; select message 7 from the target message set (i.e., messages 3-10), read the channel number value x5 matched by message 7, and the channel number values ​​x5 matched by message 7 do not match x2; select message 8 from the target message set (i.e., messages 3-10), read the channel number value x6 matched by message 8, and the channel number values ​​x6 matched by message 8 do not match x2; select message 9 from the target message set (i.e., messages 3-10), read the channel number value x7 matched by message 9, and the channel number values ​​x7 matched by message 9 do not match x2; select message 10 from the target message set (i.e., messages 3-10), read the channel number value x8 matched by message 10, and the channel number values ​​x8 matched by message 10 do not match x2.

[0126] At time a3 (the interval between time a3 and time a2 is the first time length), select message 3 from the set of messages to be checked as the current message to be checked, read the channel number value x2 matched by the current message to be checked (i.e., message 3), select message 4 from the target message set (i.e., messages 4-10), read the channel number value x3 matched by message 4, and the channel number value x3 matched by message 4 does not match x2; ...; select message 10 from the target message set (i.e., messages 4-10), read the channel number value x8 matched by message 10, and the channel number value x8 matched by message 10 does not match x2.

[0127] At time a4 (the interval between time a4 and time a3 is the first time length), select message 4 from the set of messages to be checked as the current message to be checked, read the channel number value x3 matched by the current message to be checked (i.e., message 4), select message 5 from the target message set (i.e., messages 5-10), read the channel number value x3 matched by message 5, the channel number value x3 matched by message 5 matches the channel number value x3 matched by the new message to be checked and it is not the first match, then the channel number value x3 and the corresponding message number value will not be recorded; …; select message 10 from the target message set (i.e., messages 5-10), read the channel number value x8 matched by message 10, the channel number value x8 matched by message 10 does not match x3.

[0128] In this embodiment, by recording the channel number value as the target channel number value, the message number value of the target message and the message number value of the current message to be checked, it can be determined which messages share the channel identified by the recorded target channel number value.

[0129] In this embodiment, every first time length, a message that has not been checked is selected from the message set to be checked as the current message to be checked, and the channel number value matched by the current message to be checked is read. For the channel number value matched by the current message to be checked, every second time length, a target message that has not been compared is selected from the target message set, and the channel number value matched by the target message is read. The channel number value matched by the uncompared message and the channel number value matched by the current message to be checked are compared to see whether they match. If the match is successful and it is the first time to encounter the channel number value (that is, when the number of matches is 1), the channel number value is recorded as the target channel number value, and the message number value of the matching message is recorded, and the number of matches is accumulated. If the match is successful but not the first time, only the number of matches is accumulated, and the new target channel number value and message number value are not recorded. Regardless of whether it matches or not, the next uncompared message is continuously selected from the target message set for comparison until all messages have participated in the comparison. After completing a round of comparison, a message that has not been checked can be reselected from the message set to be checked as the current message to be checked. Repeat the process from reading the channel number value to completing all message comparisons until each message in the message set to be checked is selected as a message to be checked at least once. In the above process, only the channel number value and the corresponding message number that are matched for the first time are recorded, which can effectively save storage space.

[0130] In addition, the accumulated number of matches, the recorded target channel number values, and the message number values ​​can be used to analyze which channels are reused and the degree of reuse. If the accumulated number of matches is equal to the number of recorded message number values, it indicates that only one channel (i.e., the target channel number value) is reused. If the number of matches is greater than the number of recorded message number values, it may mean that multiple channels are reused, and further inspection is required to ensure that all situations in which channels are reused are diagnosed and reverse traced.

[0131] As another optional embodiment of the present application, refer to Figure 2 , is a flow chart of a message channel diagnosis method provided in Example 2 of the present application. This embodiment is mainly an implementation method of the message channel diagnosis method provided in Example 1, such as Figure 2 As shown, the message channel diagnosis method may include but is not limited to the following steps:

[0132] Step S201, define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1).

[0133] The value of J is the message number value of the starting message to be checked selected from the initial message set.

[0134] Step S202, every T2, select an unchecked value in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1.

[0135] Step S202 is an implementation of step S101 in Example 1.

[0136] Step S203, for B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M.

[0137] Step S203 is an implementation of step S102 in Example 1.

[0138] Step S204: Compare whether the values ​​of A2 and B are equal.

[0139] If yes, execute step S205.

[0140] Step S204 is an implementation of step S103 in Example 1.

[0141] Step S205: num2 is increased by 1.

[0142] Step S205 is an implementation of step S104 in Example 1.

[0143] Step S206: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1.

[0144] Step S206 is an implementation of step S105 in Example 1.

[0145] Step S207: If num2 is equal to 1, assign the value of B to C, and associate m1 with m2 and store them in the array.

[0146] Step S207 is an implementation of step S106 in Example 1.

[0147] In this embodiment, the first range includes: J to M-1, and it can be seen that when J is fixed, the first range remains unchanged. As num1 is accumulated, the second range will change.

[0148] Although num2 will be accumulated when the values ​​of A2 and B are equal, only when num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array, C is the target channel number value, and the array and C are associated and stored.

[0149] In this embodiment, the small cycle process may include: steps S203-S206.

[0150] The large cycle process may include: steps S202-S207.

[0151] The duration of a small cycle process can be recorded as a small period d, and the duration of a large cycle process can be recorded as a large period D.

[0152] Now, an example is given to illustrate the large cycle process and the small cycle process. For example, the initial message set includes 10 messages arranged in order, namely message 1, message 2, message 3, message 4, message 5, message 6, message 7, message 8, message 9 and message 10. Accordingly, the first range is 1-9. The initial value of the second range is 2-10, and the initial value of T2 is 9T1.

[0153] At time 0, select 1 in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked as x1, and assign x1 to B;

[0154] At time 0, select 2 in the second range (ie, 2-10) and assign it to m2. Assign the channel number value x2 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0155] At time T1, select 3 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x2 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0156] At time 2T1, select 4 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x3 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0157] At time 3T1, select 5 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x3 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0158] At time 4T1, select 6 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x4 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0159] At time 5T1, select 7 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x5 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0160] At time 6T1, select 8 in the second range (ie, 2-10) and assign it to m2. Then assign the channel number x6 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0161] At time 7T1, 9 is selected from the second range (ie, 2-10) and assigned to m2. The channel number value x7 that matches the message corresponding to m2 is assigned to A2. The values ​​of A2 and B are compared and found to be unequal.

[0162] At time 8T1, 10 is selected from the second range (ie, 2-10) and assigned to m2. The channel number value x8 that matches the message corresponding to m2 is assigned to A2. The values ​​of A2 and B are compared and found to be unequal.

[0163] That is, after the channel number value matched by message 10 is compared with the value of B, the duration is 9T1 (i.e., a small cycle d), and a small cycle is completed. Moreover, at this time, T2 is reached. At the first T2 moment, 2 is selected in the first range and assigned to m1, and the message corresponding to m1 is used as the current message to be checked. The channel number value matched by the current message to be checked is read as x2, and x2 is assigned to B; and so on, at the eighth T2 moment, 9 is selected in the first range and assigned to m1, and the message corresponding to m1 is used as the current message to be checked. The channel number value matched by the current message to be checked is read as x7, and x7 is assigned to B, and a new small cycle process is started. When the small cycle process ends, the large cycle process also ends. The duration of the large cycle process is the first T2+the second T2+the third T2+…+the eighth T2 (i.e., a large cycle D). Any two of the first T2 to the eighth T2 are different.

[0164] In this embodiment, by defining variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1), it is beneficial to save the storage space of the ECU, and can provide a more flexible processing algorithm space for development, so that the computing time is saved. For example, the inner loop process and the outer loop process can reduce the number of comparisons, save computing time, and improve the efficiency of diagnosis.

[0165] num2's computational monitoring provides a more intuitive means of evaluating the degree of channel reuse.

[0166] The definition and monitoring of num1 can help locate abnormal messages more conveniently. Based on num1, num2 and A2INCA oscilloscope monitoring, multiple multiplexed channels can be located at once.

[0167] In addition, the automatic reverse query function can be realized by defining the range of the large and small cycles D and d1 and triggering the calculation algorithm of num2. Combined with variable J, accurate and personalized reverse query requirements can also be realized (to cope with the situation where only a single reuse is solved in large-scale reuse).

[0168] As another optional embodiment of the present application, refer to Figure 3 , is a flow chart of a message channel diagnosis method provided in Example 3 of the present application, such as Figure 3 As shown, the method may include but is not limited to the following steps:

[0169] Step S301, define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps and T2=T1×(M-num1).

[0170] The value of J is the message number value of the mth message (i.e., the starting message to be checked) selected from the initial message set. m is greater than 1 and less than M.

[0171] Step S302, every T2, select an unchecked value in the first range and assign it to m1, use the message corresponding to m1 as the message number value of the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes J to M and 1 to J-2.

[0172] Step S302 is an implementation of step S101 in Example 1.

[0173] Step S303, for B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1.

[0174] Step S303 is an implementation of step S102 in Example 1.

[0175] Step S304: Compare whether the values ​​of A2 and B are equal.

[0176] If yes, execute step S305.

[0177] Step S304 is an implementation of step S103 in Example 1.

[0178] Step S305: num2 is increased by 1.

[0179] Step S305 is an implementation of step S104 in Example 1.

[0180] Step S306: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1.

[0181] Step S306 is an implementation of step S105 in Example 1.

[0182] Step S307: If num2 is equal to 1, assign the value of B to C, and associate m1 with m2 and store them in the array.

[0183] Step S307 is an implementation of step S106 in Example 1.

[0184] In this embodiment, when J is fixed, the first range remains unchanged. As num1 is accumulated, the second range will change.

[0185] Although num2 will be accumulated when the values ​​of A2 and B are equal, only when num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array, C is the target channel number value, and the array and C are associated and stored.

[0186] In this embodiment, the small cycle process may include: steps S303-S306.

[0187] The large cycle process may include: steps S302-S307.

[0188] The duration of a small cycle process can be recorded as a small period d, and the duration of a large cycle process can be recorded as a large period D.

[0189] Now, an example is given to illustrate the large cycle process and the small cycle process. For example, the initial message set includes 10 messages arranged in order, namely message 1, message 2, message 3, message 4, message 5, message 6, message 7, message 8, message 9 and message 10. J is initialized to 4. Accordingly, the first range includes 4-10 and 1-2. The initial values ​​of the second range are 5-10 and 1-3, and the initial value of T2 is 9T1.

[0190] At time 0, select 4 in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value x3 that matches the current message to be checked, and assign x3 to B;

[0191] At time 0, select 5 in the second range (i.e., 5-10 and 1-3) and assign it to m2. Assign the channel number value x3 of the message matching corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are equal. This is the first match, and the target channel number value x3 and the message number values ​​5 and 4 can be recorded.

[0192] At time T1, select 6 in the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x4 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0193] At time 2T1, select 7 from the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x5 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0194] At time 3T1, select 8 from the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x6 that matches the message corresponding to m2 to A2. Compare the values ​​of A2 and B, and they are not equal.

[0195] At time 4T1, select 9 from the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x7 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0196] At time 5T1, select 10 from the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x8 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0197] At time 6T1, select 1 in the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x1 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0198] At time 7T1, select 2 in the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x2 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0199] At time 8T1, select 3 in the second range (ie, 5-10 and 1-3) and assign it to m2. Then assign the channel number x3 that matches the message corresponding to m2 to A2. Then compare the values ​​of A2 and B, and they are not equal.

[0200] That is, after the channel number value matched by message 3 is compared with the value of B, the duration used is 9T1 (i.e., a small cycle d), and an inner loop is completed. Moreover, at this time, T2 is reached. At the first T2 moment, 5 is selected in the first range and assigned to m1, and the message corresponding to m1 is used as the current message to be checked. The channel number value matched by the current message to be checked is read as x3, and x3 is assigned to B; and so on, at the eighth T2 moment, 2 is selected in the first range and assigned to m1, and the message corresponding to m1 is used as the current message to be checked. The channel number value matched by the current message to be checked is read as x2, and x2 is assigned to B, and a new small loop process is started. When the small loop process ends, the large loop process also ends. The duration of the large loop process is the first T2+the second T2+the third T2+…+the eighth T2 (i.e., a large cycle D). Any two of the first T2 to the eighth T2 are different.

[0201] In this embodiment, by defining variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1), it is beneficial to save the storage space of the ECU, and can provide a more flexible processing algorithm space for development, so that the computing time is saved. For example, the inner loop process and the outer loop process can reduce the number of comparisons, save computing time, and improve the efficiency of diagnosis.

[0202] num2's computational monitoring provides a more intuitive means of evaluating the degree of channel reuse.

[0203] The definition and monitoring of num1 can help locate abnormal messages more conveniently. Based on num1, num2 and A2INCA oscilloscope monitoring, multiple multiplexed channels can be located at once.

[0204] In addition, the automatic reverse query function can be realized by defining the range of the large and small cycles D and d1 and triggering the calculation algorithm of num2. Combined with variable J, accurate and personalized reverse query requirements can also be realized (to cope with the situation where only a single reuse is solved in large-scale reuse).

[0205] As another optional embodiment of the present application, a message channel diagnosis method provided in Embodiment 4 of the present application may include but is not limited to the following steps:

[0206] Step S401, define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1).

[0207] Step S402, every T2, select an unchecked value in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1.

[0208] Step S403, for B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M.

[0209] Step S404: Compare whether the values ​​of A2 and B are equal.

[0210] If yes, execute step S405.

[0211] Step S405: num2 is increased by 1.

[0212] Step S406: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1.

[0213] Step S407: If num2 is equal to 1, assign the value of B to C, and associate m1 with m2 and store them in the array.

[0214] The detailed process of steps S401-S407 can refer to the relevant introduction of steps S201-S207 in Example 2, which will not be repeated here.

[0215] Step S408: multiplex the M and the T1.

[0216] Step S409: define at least one of variables A1 and ByteT1 and a variable F, and initialize the variable F to 1.

[0217] Step S410: every T1, increase F by one, and perform at least one of the following:

[0218] Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1;

[0219] Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

[0220] The value of F does not exceed the M.

[0221] In this embodiment, by adding one to F every T1, F becomes a dynamically increasing index. Relying on the dynamic index F, data can be extracted in order, and there is no need to store a large amount of original message data in the monitoring system, thereby saving a large amount of storage space. This makes it possible to effectively monitor the values ​​of large batches of messages even in a resource-constrained environment.

[0222] When a service problem occurs or maintenance is required, by viewing or analyzing variable A1 (channel number value) and / or ByteT1 (message content), the specific message or channel where the problem occurred can be quickly located, greatly simplifying the troubleshooting and diagnosis process.

[0223] In this embodiment, steps S408-S410 may also be performed after step S307 in embodiment 3.

[0224] As another optional embodiment of the present application, a message channel diagnosis method provided in Embodiment 5 of the present application may include but is not limited to the following steps:

[0225] Step S501, define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1).

[0226] Step S502, every T2, select an unchecked value in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1.

[0227] Step S503, for B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M.

[0228] Step S504: Compare whether the values ​​of A2 and B are equal.

[0229] If yes, execute step S505.

[0230] Step S505: num2 is increased by 1.

[0231] Step S506: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1.

[0232] Step S507: If num2 is equal to 1, assign the value of B to C, and associate m1 with m2 and store them in the array.

[0233] The detailed process of steps S501-S507 can refer to the relevant introduction of steps S201-S207 in Example 2, which will not be repeated here.

[0234] Step S508: reuse the M.

[0235] Step S509: define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F.

[0236] In this embodiment, a value can be selected from 1 to M and assigned to the variable F as needed, and no limitation is made here.

[0237] Step S510: read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1.

[0238] Step S511, read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

[0239] In this embodiment, by defining at least one of variables A1 and ByteT1 and variable F, and assigning a value from 1 to M to the variable F, the channel number and content of any message can be quickly located and obtained, and the need to check or traverse all messages one by one to find a specific message can be avoided, thereby saving a lot of monitoring space and processing time.

[0240] This indexing mechanism makes data access more efficient and flexible, and is particularly suitable for application scenarios that require frequent reverse lookups of the correspondence between messages and channels, such as network communications and data processing systems.

[0241] Next, the message channel diagnostic device provided in the present application is introduced. The message channel diagnostic device introduced below and the message channel diagnostic method introduced above can be referenced to each other.

[0242] Reference Figure 4 The message channel diagnosis device includes: a first processing module 100, a second processing module 200 and a third processing module 300.

[0243] The first processing module 100 is used to select an unchecked message from the message set to be checked as the current message to be checked at a first time length, and read the channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked;

[0244] The second processing module 200 is used for:

[0245] For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message; the target message set includes: all messages in the initial message set except the current message to be checked and the messages that have been checked as messages to be checked before; the first time length is not less than the time length required to complete the comparison of all messages in the target message set;

[0246] Compare the channel number values ​​of the target message and the current message to be checked to see if they match;

[0247] If there is a match, the number of matches is accumulated;

[0248] When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked;

[0249] The recording module 300 is used to record the channel number value as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked when the number of matches is equal to 1.

[0250] The message channel diagnostic device may further include:

[0251] The first definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1);

[0252] The first processing module 100 may be specifically configured to: select an unchecked value in the first range and assign it to m1 every T2, use the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1;

[0253] The second processing module 200 selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, which may specifically include:

[0254] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M;

[0255] The process of the second processing module 200 comparing whether the channel number value matched between the target message and the current message to be checked matches may specifically include:

[0256] Compare whether the values ​​of A2 and B are equal;

[0257] If the second processing module 200 matches, the process of accumulating the number of matches may specifically include:

[0258] If they are equal, the num2 is increased by 1;

[0259] When the second processing module 200 completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked may specifically include:

[0260] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0261] The recording module 300 may be specifically configured to assign the value of B to C if num2 is equal to 1, and associate m1 with m2 and store them in the array.

[0262] The message channel diagnostic device may further include:

[0263] The second definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps and T2=T1×(M-num1);

[0264] The first processing module 100 may be specifically configured to select an unchecked value within the first range and assign it to m1 every T2, use the message corresponding to m1 as the message number value of the message to be checked, read the channel number value matched by the message to be checked and assign it to B; the first range includes J to M and 1 to J-2;

[0265] The second processing module 200 selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, which may specifically include:

[0266] For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1;

[0267] The process of the second processing module 200 comparing whether the channel number value matched between the target message and the current message to be checked matches may specifically include:

[0268] The process of the second processing module 200 comparing whether the values ​​of A2 and B are equal may specifically include:

[0269] If the second processing module 200 matches, the process of accumulating the number of matches may specifically include:

[0270] If they are equal, the num2 is increased by 1;

[0271] When the second processing module 200 completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked may specifically include:

[0272] When the comparison of all values ​​in the second range is completed, the num1 is increased by 1;

[0273] The recording module 300 may be specifically configured to assign the value of B to C if num2 is equal to 1, and associate m1 with m2 and store them in the array.

[0274] The message channel diagnostic device may further include:

[0275] The third processing module is used for:

[0276] multiplexing the M and the T1;

[0277] Define at least one of variables A1 and ByteT1 and a variable F, wherein the variable F is initialized to 1;

[0278] Every T1, the F is incremented by one, and at least one of the following is performed:

[0279] Read the channel number value of the message matching corresponding to the F, and output the channel number value of the message matching corresponding to the F;

[0280] Read the content of the message corresponding to F, and output the content of the message corresponding to F.

[0281] The message channel diagnostic device may further include:

[0282] The fourth processing module is used for:

[0283] Reusing the M;

[0284] Define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F;

[0285] Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1;

[0286] Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

[0287] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.

[0288] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0289] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0290] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.

Claims

1. A message channel diagnosis method, characterized in that: include: At every first time period, select an unchecked message in the message set to be checked as the current message to be checked, and read the channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked; For the channel number value matched by the current message to be checked, every second time period, select an uncompared target message in the target message set, and read the channel number value matched by the target message; The target message set includes: all messages in the initial message set except the current message to be checked and the messages that have been checked as messages to be checked before; the first time length is not less than the time length required to complete the comparison of all messages in the target message set; Compare the channel number values ​​of the target message and the current message to be checked to see if they match; If there is a match, the number of matches is accumulated; When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked; When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked.

2. The message channel diagnosis method according to claim 1, characterized in that: The message channel diagnosis method also includes: Define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array, and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2 = T1 × (M-num1); At every first time period, selecting an unchecked message in the set of messages to be checked as the current message to be checked, and reading the channel number value matched by the current message to be checked, including: Every T2, select an unchecked value in the first range and assign it to m1, take the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1; For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message, including: For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M; Comparing whether the channel number value matched between the target message and the current message to be checked matches, including: Compare whether the values ​​of A2 and B are equal; If there is a match, the number of matches is accumulated, including: If they are equal, the num2 is increased by 1; When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked, including: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1; When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked, including: If num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array.

3. The message channel diagnosis method according to claim 1, characterized in that: The message channel diagnosis method also includes: Define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array, and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps, and T2 = T1 × (M-num1); At every first time period, selecting an unchecked message in the set of messages to be checked as the current message to be checked, and reading the channel number value matched by the current message to be checked, including: Every T2, select an unchecked value in the first range and assign it to m1, use the message corresponding to m1 as the message number value of the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes J to M and 1 to J-2; For the channel number value matched by the current message to be checked, every second time length, select an uncompared target message in the target message set, and read the channel number value matched by the target message, including: For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1; Comparing whether the channel number value matched between the target message and the current message to be checked matches, including: Compare whether the values ​​of A2 and B are equal; If there is a match, the number of matches is accumulated, including: If they are equal, the num2 is increased by 1; When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked, including: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1; When the number of matches is equal to 1, the channel number value is recorded as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked, including: If num2 is equal to 1, the value of B is assigned to C, and m1 and m2 are associated and stored in the array.

4. The message channel diagnosis method according to claim 2 or 3, characterized in that: The message channel diagnosis method also includes: multiplexing the M and the T1; Define at least one of variables A1 and ByteT1 and a variable F, wherein the variable F is initialized to 1; Every T1, the F is incremented by one, and at least one of the following is performed: Read the channel number value of the message matching corresponding to the F, and output the channel number value of the message matching corresponding to the F; Read the content of the message corresponding to F, and output the content of the message corresponding to F.

5. The message channel diagnosis method according to claim 2 or 3, characterized in that: The message channel diagnosis method also includes: Reusing the M; Define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F; Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1; Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

6. A message channel diagnostic device, characterized in that: include: A first processing module is used to select an unchecked message from the message set to be checked as a current message to be checked at a first time length, and read a channel number value matched by the current message to be checked; the message set to be checked is determined based on the initial message set and the starting message to be checked; The second processing module is used for: For the channel number value matched by the current message to be checked, every second time period, select an uncompared target message in the target message set, and read the channel number value matched by the target message; The target message set includes: all messages in the initial message set except the current message to be checked and the messages that have been checked as messages to be checked before; the first time length is not less than the time length required to complete the comparison of all messages in the target message set; Compare the channel number values ​​of the target message and the current message to be checked to see if they match; If there is a match, the number of matches is accumulated; When the comparison of all messages in the target message set is completed, the current message to be checked is marked as having been checked as a message to be checked; A recording module is used to record the channel number value as the target channel number value, the message number value of the target message, and the message number value of the current message to be checked when the number of matches is equal to 1.

7. The message channel diagnostic device according to claim 6, characterized in that: The message channel diagnostic device also includes: The first definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to 1, T1 and T2 are time steps and T2=T1×(M-num1); The first processing module is specifically used to: select an unchecked value in the first range and assign it to m1 every T2, use the message corresponding to m1 as the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes: J to M-1; The second processing module selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, specifically including: For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M; The process of the second processing module comparing whether the channel number value matched between the target message and the current message to be checked matches specifically includes: Compare whether the values ​​of A2 and B are equal; If the second processing module matches, the process of accumulating the number of matches specifically includes: If they are equal, the num2 is increased by 1; When the second processing module completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked specifically includes: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1; The recording module is specifically used to assign the value of B to C if num2 is equal to 1, and associate m1 and m2 and store them in the array.

8. The message channel diagnostic device according to claim 6, characterized in that: The message channel diagnostic device also includes: The second definition module is used to define variables J, num1, T1, T2, A2, B, m1, m2, num2, C, array and M, where M is the number of messages in the initial message set, num1 is initialized to 1, num2 is initialized to 0, J is initialized to a value between 2 and M, T1 and T2 are time steps and T2=T1×(M-num1); The first processing module is specifically used to select an unchecked value in the first range and assign it to m1 every T2, use the message corresponding to m1 as the message number value of the current message to be checked, read the channel number value matched by the current message to be checked and assign it to B; the first range includes J to M and 1 to J-2; The second processing module selects an uncompared target message from the target message set every second time period for the channel number value matched by the current message to be checked, and reads the channel number value matched by the target message, specifically including: For B, every T1, select an uncompared value in the second range and assign it to m2, read the channel number value of the message matching corresponding to m2 and assign it to A2; the second range includes: num1+J to M and 1 to J-1; The process of the second processing module comparing whether the channel number value matched between the target message and the current message to be checked matches specifically includes: The process of the second processing module comparing whether the values ​​of A2 and B are equal specifically includes: If the second processing module matches, the process of accumulating the number of matches specifically includes: If they are equal, the num2 is increased by 1; When the second processing module completes the comparison of all messages in the target message set, the process of marking the current message to be checked as a message to be checked specifically includes: When the comparison of all values ​​in the second range is completed, the num1 is increased by 1; The recording module is specifically used to assign the value of B to C if num2 is equal to 1, and associate m1 and m2 and store them in the array.

9. The message channel diagnostic device according to claim 7 or 8, characterized in that: The message channel diagnostic device also includes: The third processing module is used for: multiplexing the M and the T1; Define at least one of variables A1 and ByteT1 and a variable F, wherein the variable F is initialized to 1; Every T1, the F is incremented by one, and at least one of the following is performed: Read the channel number value of the message matching corresponding to the F, and output the channel number value of the message matching corresponding to the F; Read the content of the message corresponding to F, and output the content of the message corresponding to F.

10. The message channel diagnostic device according to claim 7 or 8, characterized in that: The message channel diagnostic device also includes: The fourth processing module is used for: Reusing the M; Define at least one of variables A1 and ByteT1 and a variable F, and assign a value from 1 to M to the variable F; Read the channel number value of the message matching corresponding to F, and assign the channel number value of the message matching corresponding to F to A1; Read the content of the message corresponding to F, and assign the content of the message corresponding to F to ByteT1.

Citation Information

Patent Citations

  • Message forwarding method and device

    CN115225620A

  • Method and device for determining fault of message transmission path

    CN115913910A

  • Service channel diagnosis method, device and equipment and readable storage medium

    CN116723132A

  • Method of Controlling a Communication System in a Motor Vehicle

    US20110009151A1

  • Multi-channel diagnosis method and apparatus, and vehicle

    WO2024139282A1