CN117389842B - Program flow monitoring system and method - Google Patents

Program flow monitoring system and method Download PDF

Info

Publication number
CN117389842B
CN117389842B CN202311700963.8A CN202311700963A CN117389842B CN 117389842 B CN117389842 B CN 117389842B CN 202311700963 A CN202311700963 A CN 202311700963A CN 117389842 B CN117389842 B CN 117389842B
Authority
CN
China
Prior art keywords
monitoring
address
instruction
characteristic value
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311700963.8A
Other languages
Chinese (zh)
Other versions
CN117389842A (en
Inventor
芦蓉
王庆林
黄钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ziguang Xinneng Technology Co Ltd
Original Assignee
Beijing Ziguang Xinneng Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Ziguang Xinneng Technology Co Ltd filed Critical Beijing Ziguang Xinneng Technology Co Ltd
Priority to CN202311700963.8A priority Critical patent/CN117389842B/en
Publication of CN117389842A publication Critical patent/CN117389842A/en
Application granted granted Critical
Publication of CN117389842B publication Critical patent/CN117389842B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application provides a program flow monitoring system and a method, which relate to the technical field of computer programs, wherein a monitoring unit acquires a first instruction currently executed from a processor; and if the first instruction is a jump instruction, acquiring a first address of the jump of the first instruction and a value of a current first register group. If the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table of the storage unit, and determining the value of the first target register according to the value of the first register group. And calculating a first characteristic value corresponding to the value of the first target register through a characteristic value calculation unit, further matching the first characteristic value with the characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation. In this way, the API is not inserted in the monitored program code position, and the influence on the program code is reduced.

Description

Program flow monitoring system and method
Technical Field
The present disclosure relates to the field of computer programs, and in particular, to a program flow monitoring system and method.
Background
Modern motor vehicles have complex electronic systems, with various electronic control units being interconnected by buses. This increases the risk of electromagnetic interference and accidental failure. Automobiles involve human life safety and any electronic system malfunction that may lead to danger needs to be prevented as much as possible. The international standard for functional safety ISO 26262 places clear demands on the safety of automotive electronics, including program flow monitoring. The program flow monitoring is utilized to timely find out the abnormality of the code execution flow, so that the reliability and the safety of the functional safety related system can be greatly improved.
The technology commonly used at present is to realize flow monitoring through software. The user inserts specific APIs at key locations of the program code that need to be monitored, which will check whether the program is executed in a predefined order. However, this adds additional function call overhead, which has a certain impact on the real-time performance of the task.
Disclosure of Invention
In view of this, the embodiments of the present application provide a program flow monitoring system and method, which aim to avoid inserting an API at the monitored location of the program code, thereby causing additional function call overhead and affecting the real-time performance of the program operation.
In a first aspect, the present application provides a program flow monitoring system for monitoring a program running in a processor, the system including a storage unit, a feature value calculation unit, and a monitoring unit; the storage unit is respectively in communication connection with the storage unit, the characteristic value calculation unit and the processor;
the storage unit is used for storing a monitoring table, the monitoring table is preset with at least one monitoring address and monitoring information corresponding to each monitoring address, the monitoring address is a destination address of a jump instruction to be monitored by the program, and the monitoring information comprises a target register, at least one characteristic value and monitoring operation corresponding to each characteristic value;
the monitoring unit is used for acquiring a first instruction currently executed from the processor; if the first instruction is a jump instruction, acquiring a first address of the first instruction jump and a value of a current first register group from the processor; if the first address is found out from the monitoring address of the monitoring table of the storage unit, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register; inputting the value of the first target register into the characteristic value calculation unit to obtain a first characteristic value fed back by the characteristic value calculation unit; and determining a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table of the storage unit, and executing the monitoring operation.
Optionally, the monitoring unit is further configured to end monitoring when the monitoring operation is determined to be ended.
Optionally, the monitoring unit is in communication connection with the alarm processing unit, and is configured to send an alarm signal to the alarm processing unit when the determined monitoring operation is early warning, so that the alarm processing unit sends an alarm.
Optionally, the monitoring unit is further configured to execute the monitoring operation when determining that the monitoring operation jumps to the second address of the monitoring table, where the monitoring operation includes:
acquiring an end address corresponding to the second address and a second target register from a monitoring table of the storage unit, wherein each monitoring address in the monitoring table also corresponds to the end address;
acquiring a second instruction which is currently executed and an address where the second instruction is located from the processor;
if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address, acquiring the value of a current second register group from the processor; determining the value of the second target register according to the value of the second register group, and sending the value of the second target register to the characteristic value calculating unit so as to obtain a second characteristic value fed back by the characteristic value calculating unit; matching the second characteristic value with a characteristic value corresponding to a second address in the monitoring table, determining a monitoring operation corresponding to the second characteristic value and executing the monitoring operation; the second register set includes the second target register; if the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of obtaining the second instruction currently executed and the address where the second instruction is located from the processor and the subsequent steps; if the second instruction is not a jump instruction, if the address where the second instruction is located is the end address, sending an alarm signal to an alarm processing unit and ending monitoring, and if the address where the second instruction is located is not the end address, continuing to execute the steps of obtaining the second instruction which is currently executed and the address where the second instruction is located from the processor and the follow-up steps.
Optionally, the monitoring table includes at least one monitoring address, each monitoring address is provided with a plurality of monitoring information columns in a row, and the monitoring information columns include an end address column, a target register column, a characteristic value and a monitoring operation column;
setting an end address corresponding to each monitoring address in the end address column, wherein the end address is one of addresses except for a destination address skipped by the instruction in the process from the instruction corresponding to the monitoring address to the monitoring end;
the target register column comprises a target register corresponding to each monitoring address, and the target register is a register which generates data update or stores when an instruction corresponding to the monitoring address is executed;
the characteristic value and monitoring operation column comprises at least one characteristic value set corresponding to each monitoring address and monitoring operation corresponding to each characteristic value, the at least one characteristic value comprises a default characteristic value, and the default characteristic value is used for processing the characteristic value fed back by the characteristic value calculation unit according to the default characteristic value when the corresponding characteristic value is not found in the corresponding monitoring address row.
Optionally, the eigenvalue calculation unit adopts a cyclic redundancy check algorithm or a hash algorithm.
In a second aspect, the present application provides a program flow monitoring method, the method including:
acquiring a first instruction which is currently executed;
if the first instruction is a jump instruction, acquiring a first address of the jump of the first instruction and a value of a current first register group;
if the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register;
and calculating a first characteristic value corresponding to the value of the first target register, matching the first characteristic value with the characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation.
Optionally, if the monitoring operation is finished, the performing the monitoring operation includes finishing monitoring;
or, if the monitoring operation is early warning, the executing the monitoring operation comprises sending out an alarm signal and ending the monitoring;
or, if the monitoring operation is to jump to the second address of the monitoring table, the executing the monitoring operation includes:
Acquiring an ending address and a second target register corresponding to the second address in the monitoring table;
acquiring a second instruction which is currently executed and an address where the second instruction is located;
if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address, acquiring the value of the current second register set; determining a value of the second target register according to the value of the second register group, wherein the second register group comprises the second target register; calculating a second characteristic value corresponding to the value of the second target register, matching the second characteristic value with the characteristic value corresponding to the second address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation;
if the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of obtaining the second instruction which is currently executed and the address where the second instruction is located and the subsequent steps;
if the second instruction is not a jump instruction, sending an alarm signal and ending monitoring if the address of the second instruction is the ending address, and continuously executing the steps of obtaining the second instruction which is currently executed and the address of the second instruction and the follow-up steps if the address of the second instruction is not the ending address.
Optionally, the end address is one of addresses corresponding to all programs from the second instruction to the monitoring end, except the second address.
Optionally, the matching the first feature value with a feature value corresponding to the first address in the monitoring table, and determining a corresponding monitoring operation includes:
searching a characteristic value corresponding to the first address from the monitoring table;
if the first characteristic value exists in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table;
if the first characteristic value does not exist in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to a default characteristic value of the first address from the monitoring table; the monitoring table comprises a plurality of monitoring addresses, each monitoring address corresponds to at least one characteristic value, each characteristic value corresponding to the monitoring address comprises a default characteristic value, and each characteristic value corresponds to one monitoring operation.
The embodiment of the application provides a program flow monitoring system and a program flow monitoring method, wherein a system monitoring unit acquires a first instruction currently executed from a processor; and if the first instruction is a jump instruction, acquiring a first address of the jump of the first instruction and a value of a current first register group. If the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table of the storage unit, and determining the value of the first target register according to the value of the first register group. And calculating a first characteristic value corresponding to the value of the first target register through a characteristic value calculation unit, further matching the first characteristic value with the characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation. According to the value of the first register group obtained when executing the first instruction and the first target register corresponding to the first address in the monitoring table, a first characteristic value is determined, and the monitoring operation to be executed is determined by matching the first characteristic value with the characteristic value in the monitoring table. The API is not inserted in the monitored position of the program code, so that the influence on a monitored object (namely the program code) is reduced, and the additional function call overhead and the influence on the real-time performance of the program operation are reduced when the monitored object runs.
Drawings
In order to more clearly illustrate the present embodiments or the technical solutions in the prior art, the drawings that are required for the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic structural diagram of a program flow monitoring system according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a monitoring table according to an embodiment of the present application;
fig. 3 is a flow chart of a program flow monitoring method according to an embodiment of the present application;
fig. 4 is an application flow diagram of a program flow monitoring method according to an embodiment of the present application;
fig. 5 is a schematic diagram of function parameter transfer according to an embodiment of the present application.
Detailed Description
The technology commonly used at present is to realize flow monitoring through software. The user inserts specific APIs at key locations of the code that need to be monitored, which will check whether the program is executing in a predefined order. However, this adds additional function call overhead, which has a certain impact on the real-time performance of the task. Furthermore, if the monitoring scheme is to be changed (e.g., the monitored location is increased), the task time characteristics of the entire system may be affected, requiring re-evaluation.
Based on the above problems, the present application provides a program flow monitoring system and method, by obtaining a first instruction currently executed; and if the first instruction is a jump instruction, acquiring a first address of the jump of the first instruction and a value of a current first register group. If the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register. And calculating a first characteristic value corresponding to the value of the first target register, matching the first characteristic value with the characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation. And searching whether a destination address of the first instruction jump exists in the monitoring table, if so, determining that the current instruction is the instruction to be monitored, and determining the key point to be monitored without a program modification method such as inserting an API (application program interface). Further, by acquiring the value of the first register group (which may be the value corresponding to all registers included in the processor) when executing the first instruction, then according to the first target register (which may be the register storing the data update or storage of the first instruction execution process) corresponding to the first address in the monitor table. The value of the first target register is determined from the values of the first register set. The first characteristic value (which may be a reduction of the values of the first target register to one characteristic value) is calculated from the value of the first target register, the monitoring operation indicated by the first characteristic value is determined and executed.
Specifically, the monitoring operation may be no abnormality, and the monitoring is ended; the early warning can be performed when the abnormality exists, and the early warning can be performed when other instructions needing to be monitored are continuously skipped under the first instruction. And processing according to the monitoring operation corresponding to the corresponding characteristic value in the monitoring table, and correspondingly executing the subsequent steps only by setting the corresponding monitoring operation in the monitoring table.
Therefore, the API is not inserted in the monitored position of the program code, the influence on the monitored object (namely the program code) is reduced, and the additional cost of function call and the influence on the real-time performance of the program operation are reduced.
First, the hardware structure implemented in the embodiment of the present application may include a monitoring unit, a storage unit, and a feature value calculating unit, where the monitoring unit is connected to a processor and may be used to communicate with the processor that executes a monitoring object (program code) to obtain a currently executed instruction. The monitoring unit can be realized by adopting devices such as a CPU, a digital signal processor DSP, an application specific integrated circuit ASIC or a field programmable gate array FPGA.
The storage unit is a nonvolatile memory and is used for storing the monitoring table.
The characteristic value calculating unit may run a Cyclic redundancy check algorithm (Cyclic RedundancyCheck, CRC) or a HASH algorithm, etc. for calculating the value of at least one target register input by the monitoring unit into a characteristic value. The characteristic value calculating unit can be realized by adopting a CPU, a digital signal processor DSP, an application specific integrated circuit ASIC, a field programmable gate array FPGA and other devices.
It will be apparent that the described embodiments are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
Referring to fig. 1, a schematic diagram of a program flow monitoring system 100 for monitoring a program running in a processor 104, includes: a storage unit 101, a feature value calculation unit 102, and a monitoring unit 103; the storage unit 103 is communicatively connected to the storage unit 101, the characteristic value calculation unit 102, and the processor 104, respectively.
The program executed by the processor 104 is a program that needs to perform flow monitoring. The processor may be, for example, a central processing unit CPU, but may be any other processor capable of running a program.
The storage unit is used for storing a monitoring table, the monitoring table is preset with at least one monitoring address and monitoring information corresponding to each monitoring address, the monitoring address is a destination address of a jump instruction to be monitored by the program, and the monitoring information comprises a target register, at least one characteristic value and monitoring operation corresponding to each characteristic value.
The storage unit may be a nonvolatile memory capable of storing a monitoring table, for example.
The monitoring unit 103 is in communication connection with the processor 104, and is used for acquiring a first instruction currently executed from the processor 104; if the first instruction is a jump instruction, the first address of the first instruction jump and the value of the current first register file 1041 are obtained from the processor 104.
For example, referring to fig. 1, the values of the first register set 1041 may include a Value1 of register 1 and a Value2 … of register 2.
The monitoring unit may be implemented by a CPU, a digital signal processor DSP, an application specific integrated circuit ASIC, or a field programmable gate array FPGA, for example.
The monitoring unit 103 is communicatively connected to the storage unit 101, and configured to obtain a preset monitoring table from the storage unit 101, and if the first address is found from the monitoring address of the monitoring table of the storage unit, determine a first target register corresponding to the first address from the monitoring table, and determine a value of the first target register according to a value of the first register set, where the first register set includes the first target register.
Specifically, the first target register corresponding to the first address in the monitoring table includes at least one first target register.
The characteristic value calculating unit may be implemented by a CPU, a digital signal processor DSP, an application specific integrated circuit ASIC, or a field programmable gate array FPGA, for example.
The monitoring unit 103 is communicatively connected to the eigenvalue calculation unit 102, and is configured to input the value of the first target register into the eigenvalue calculation unit 102 to obtain a first eigenvalue fed back by the eigenvalue calculation unit 102.
In a possible implementation manner, the eigenvalue calculation unit 102 is configured to calculate, by using a cyclic redundancy check algorithm CRC or a HASH algorithm HASH, the value of the at least one first target register input by the monitoring unit to obtain a first eigenvalue, and feed back the first eigenvalue to the monitoring unit.
The monitoring unit 103 is further configured to determine a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table of the storage unit 101, and execute the monitoring operation.
According to the system, whether the address to be monitored of the monitoring table is determined by the preset monitoring table in the storage unit and the currently executed instruction and the address corresponding to the instruction are obtained by the monitoring unit, and further, when the address is the monitoring address, the monitoring operation to be executed is determined by calculating the characteristic value corresponding to the value of the target register according to the characteristic value calculating unit. Therefore, program monitoring is realized without inserting an API (application program interface) at the position of the monitored program code, the influence on a monitored object (namely the program code) is reduced, and the additional cost of function call and the influence on the real-time performance of program operation are also reduced when the monitored object runs.
Based on the above system, the structure of the above monitoring table may be referred to as a schematic structural diagram of a monitoring table shown in fig. 2.
The monitoring table comprises at least one monitoring address, wherein each monitoring address is provided with a plurality of monitoring information columns in a row, and each monitoring information column comprises an end address column, a target register column, a characteristic value and a monitoring operation column;
the ending address column comprises an ending address corresponding to each monitoring address, and the ending address is one of addresses except for a destination address of the instruction jump in the process from the instruction corresponding to the monitoring address to the monitoring ending.
For example, referring to fig. 2, taking Address0 as the first Address as an example, the value of the end Address column of the row where Address0 is located is AddrEnd0.
The target register column comprises a target register corresponding to each monitoring address, and the target register is a register which generates data update or stores when an instruction corresponding to the monitoring address executes.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the target register column corresponds to register 1 and register 3, that is, after the first instruction is executed to jump to the first Address, the value of the first register group obtained from the register group of the processor is obtained, then register 1 and register 3 are determined from the first register group, and the value of register 1 and the value of register 3 are used for calculating the first eigenvalue by the eigenvalue calculation unit.
The characteristic value and monitoring operation column comprises at least one characteristic value set corresponding to each monitoring address and monitoring operation corresponding to each characteristic value, the at least one characteristic value comprises a default characteristic value, and the default characteristic value is used for processing the characteristic value fed back by the characteristic value calculation unit according to the default characteristic value when the corresponding characteristic value is not found in the corresponding monitoring address row.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the feature value corresponds to the monitoring operation column, the feature value 0 corresponds to the monitoring operation to jump to the monitoring Address1 of the monitoring table, the feature value 1 corresponds to the monitoring operation to jump to the monitoring Address2 of the monitoring table, and the feature value defaults to the corresponding monitoring operation to end. Assuming that the first characteristic value is 0, the monitoring operation jumps to the monitoring Address1 of the monitoring table. If the first characteristic value is 2, when the corresponding characteristic value is not found in the monitoring Address line 1, the corresponding monitoring operation is finished by processing with the default characteristic value.
Further, the monitoring operations described above may include ending, alerting, and jumping to other monitoring address rows in the monitoring table.
In a possible implementation, the monitoring unit 103 is further configured to end monitoring when it is determined that the monitoring operation is ended.
In another possible implementation, the monitoring unit 103 is communicatively connected to the alarm processing unit 105, and is configured to send an alarm signal to the alarm processing unit when the determined monitoring operation is an early warning, so that the alarm processing unit issues an alarm.
By way of example, the alarm processing unit 105 may be a display screen for presenting anomalies or other devices capable of providing indications of anomalies.
In yet another possible implementation manner, the monitoring unit 103 is further configured to perform the monitoring operation when determining that the monitoring operation jumps to the second address of the monitoring table, where the monitoring operation includes:
the monitoring unit 103 is in communication connection with the storage unit 101, and obtains an end address and a second target register corresponding to the second address in the monitoring table.
The monitoring unit 103 is in communication connection with the processor 104, and obtains a second instruction currently executed and an address where the second instruction is located from the processor.
The monitoring unit 103 is further configured to obtain a value of a current second register set from the processor if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address; determining the value of the second target register according to the value of the second register group, and sending the value of the second target register to the characteristic value calculating unit so as to obtain a second characteristic value returned by the characteristic value calculating unit 102; matching the second characteristic value with a characteristic value corresponding to a second address in the monitoring table, determining a monitoring operation corresponding to the second characteristic value and executing the monitoring operation; the second register set includes the second target register. If the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of obtaining the second instruction currently executed and the address where the second instruction is located from the processor and the subsequent steps.
In a possible implementation manner, the eigenvalue calculation unit 102 may be further configured to calculate, using a cyclic redundancy check algorithm CRC or a HASH algorithm HASH, the value of the at least one second target register input by the monitoring unit to obtain a second eigenvalue, and feed back the second eigenvalue to the monitoring unit.
Specifically, when the acquired second instruction is a jump instruction, the destination address of executing the jump of the second instruction is continuously acquired, the destination address of the jump of the second instruction is further judged, whether the destination address of the jump of the second instruction is the second address is firstly judged, if the destination address of the jump of the second instruction is the second address, the current monitoring stage of the second instruction is described, the value of a register group is acquired from a processor, the corresponding characteristic value is further calculated, and the corresponding monitoring operation is determined. If the address of the second instruction is not the second address, the new instruction and the address of the instruction are acquired from the processor again.
The monitoring unit 103 is further configured to send an alarm signal to the alarm processing unit 105 and end monitoring if the address where the second instruction is located is not the end address if the address where the second instruction is located is not the jump instruction, and continuously execute the step of obtaining the second instruction currently executed and the address where the second instruction is located from the processor and the subsequent steps if the address where the second instruction is located is not the end address.
Illustratively, the end address is one of addresses corresponding to all programs from the second instruction to the monitoring end, except the second address.
Specifically, when the monitoring unit 103 determines that the second instruction is not a jump instruction, it further determines whether the address where the second instruction is located is an end address, and since the end address should be an address that will occur only after the second address where the second instruction jumps, and if the second address is not determined here, it directly reaches the end address, it indicates that an abnormality occurs, and therefore, an alarm signal is sent to the alarm processing unit 105 to prompt the staff to perform the inspection. If normal jump occurs to the address to be monitored, the subsequent monitoring can be continued. Therefore, the current monitored program can be monitored by combining the monitoring table, the monitored program does not need to be modified, and the monitored program can normally run at the original time sequence. When the monitoring position needs to be increased, the monitoring address of the corresponding monitoring instruction jump and the characteristic value corresponding to the instruction and the monitoring operation corresponding to the characteristic value can be increased in the corresponding monitoring table. The monitoring program does not need to be modified to increase the monitored location.
The foregoing provides some specific implementations of a program flow monitoring system for the embodiments of the present application, and based on this, the present application further provides a corresponding method. The apparatus provided in the embodiments of the present application will be described from the viewpoint of a method.
Fig. 3 is a flow chart of a program flow monitoring method provided in an embodiment of the present application, referring to fig. 3, and a program flow monitoring method for monitoring a program flow includes:
s301, acquiring a first instruction which is currently executed.
In a possible implementation, the program is run in a central processing unit CPU, but may of course also be run in other processors. Illustratively, a communication connection is established with a processor running the program to obtain a first instruction for current execution.
S302, if the first instruction is a jump instruction, a first address of the jump of the first instruction and a value of a current first register set are obtained.
Specifically, the first instruction is a jump instruction, and the value of the first register group included in the current processor is used for calculating the characteristic value subsequently, wherein the jump instruction is obtained from the processor running the program and executed to the first address.
S303, if the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register.
The monitoring table is pre-stored in a nonvolatile memory, and key points for planning monitoring are stored in the monitoring table, so that at least one monitoring address is set, and each monitoring address corresponds to at least one identifier of a first target register.
The first destination register identifier is used for indicating the first destination register, and the value of the first destination register is searched correspondingly from the values of the first register set acquired in step S302, where the first destination register is a register in the first destination register set. Since the first register set may be formed by all registers in the CPU, but executing the first instruction may only result in a partial register update or store in the first register set, the monitor table may indicate at least one first target register corresponding to the first instruction in which the data update or store occurred. When the subsequent characteristic value is calculated, only the value of the first target register is needed to be considered, so that the calculated amount is reduced.
S304, calculating a first characteristic value corresponding to the value of the first target register, matching the first characteristic value with a characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation, and executing the monitoring operation.
For example, referring to fig. 2, a target register column, a feature value and a monitoring operation column are correspondingly set in a row where each monitoring address is located in the monitoring table, where in the feature value and the monitoring operation column, each row where each monitoring address is located may correspond to a preset plurality of feature values, and each feature value corresponds to one monitoring operation.
For example, a CRC, HASH, or other algorithm may be used to calculate a first characteristic value corresponding to the value of the first destination register.
And determining the monitoring operation to be executed by matching the first characteristic value with the characteristic value of the row of the first address in the monitoring table. For example, the monitoring operation may include ending monitoring, early warning or jumping to another monitoring address line, where jumping to another monitoring address line refers to jumping to another instruction to be monitored in the program executed by the first instruction, and of course, other monitoring operations may also be set.
In the embodiment of the present application, there are a plurality of possible implementations of the monitoring operation in step S304 described in fig. 1, and the following description will be given. It should be noted that the implementations presented in the following description are only exemplary and not representative of all implementations of the embodiments of the present application.
According to the above steps S301 to S304, in the monitoring process of the program flow, the key point to be monitored can be determined through the monitoring table, the value of the first target register is calculated to form the first feature value, the first feature value is matched with the feature value in the monitoring table, and the monitoring operation corresponding to the matched feature value is determined, so as to determine the execution condition of the first instruction. The API is not inserted in the monitored position of the program code, so that the influence on a monitored object (namely the program code) is reduced, and the additional function call overhead and the influence on the real-time performance of the program operation are reduced when the monitored object runs.
In one possible implementation, the monitoring operation is ended, and the performing the monitoring operation includes ending monitoring.
For example, referring to fig. 2, taking the first Address as Address1 as an example, the corresponding first destination register is register 1. And determining the value of the register 1 from the values of the first register group, if the first characteristic value is 0 according to the value of the register 1, determining that the monitoring operation corresponding to the first characteristic value 0 is finished from the row where the first Address1 is located, and ending the monitoring without abnormality.
In another possible implementation, the monitoring operation is early warning, and the performing the monitoring operation includes sending an alarm signal and ending monitoring.
In yet another possible implementation, the monitoring operation is to jump to a second address of the monitoring table.
The performing the monitoring operation includes:
a1, acquiring an end address corresponding to the second address in the monitoring table and a second target register.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the corresponding first target registers are register 1 and register 3. The value of the register 1 and the value of the register 3 are determined from the values of the first register group, and if the first characteristic value is 0 according to the values of the register 1 and the value of the register 3, the monitoring operation corresponding to the first characteristic value of 0 in the row where the first Address0 of the monitoring table shown in fig. 2 is located is skipped to the monitoring Address of Address1. Further, it can be determined from the monitor table shown in fig. 2 that the end Address corresponding to the line where the monitor Address1 is located is AddrEnd1 and the second target register is register 1.
A2, acquiring the address of the second instruction which is currently executed.
A3, if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address, acquiring the value of a current second register group; determining a value of the second target register according to the value of the second register group, wherein the second register group comprises the second target register; and calculating a second characteristic value corresponding to the value of the second target register, matching the second characteristic value with the characteristic value corresponding to the second address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation.
Specifically, the second characteristic value corresponding to the value of the second target register may be calculated by a cyclic redundancy check algorithm CRC, a hash algorithm, or the like.
And A4, if the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of acquiring the currently executed second instruction and the address where the second instruction is located and the subsequent steps.
Specifically, when the obtained second instruction is a jump instruction, the destination address for executing the jump of the second instruction is continuously obtained, the destination address of the jump of the second instruction is further judged, whether the destination address of the jump of the second instruction is the second address is firstly judged, if the destination address of the jump of the second instruction is the second address, the current monitoring stage of the second instruction is indicated, the step A3 is executed, and if the address of the jump of the second instruction is not the second address, the step A4 is continuously executed.
A5, if the second instruction is not a jump instruction, sending an alarm signal and ending monitoring if the address of the second instruction is the ending address, and if the address of the second instruction is not the ending address, continuing to execute the steps of obtaining the currently executed second instruction and the address of the second instruction and the follow-up steps.
In one possible implementation, the end address is one of the addresses corresponding to all programs except the second address in a stage between the second instruction and the monitoring operation being ended.
According to the above steps A1-A5, when a jump to another monitored instruction occurs during the operation of the first instruction, the other monitored instruction may be judged based on the corresponding jump monitoring address and the corresponding end address in the monitoring table, if the monitoring address corresponding to the jump instruction reaches the end address directly, the abnormality is indicated, and if the normal jump to the monitored address occurs, the subsequent monitoring may be continued. Therefore, the current monitored program can be monitored by combining the monitoring table, the monitored program does not need to be modified, and the monitored program can normally run at the original time sequence. When the monitoring position needs to be increased, the monitoring address of the corresponding monitoring instruction jump and the characteristic value corresponding to the instruction and the monitoring operation corresponding to the characteristic value can be increased in the corresponding monitoring table. The monitoring program does not need to be modified to increase the monitored location.
Based on the above embodiment, in step S304, the first feature value is matched with the feature value corresponding to the first address in the monitoring table, and the corresponding monitoring operation is determined, which may be specifically implemented as:
B1, searching a characteristic value corresponding to the first address from the monitoring table.
Referring to fig. 2, each row of the monitoring table where the monitoring address (first address) is located may correspond to at least one feature value, and each feature value has a corresponding monitoring operation.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the feature value corresponding to Address0 includes 0, 1 and default.
And B2, if the first characteristic value exists in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table.
Each monitoring address in the monitoring table corresponds to at least one characteristic value, and each characteristic value corresponds to one monitoring operation. And calculating a first characteristic value through the value of the first target register, and determining the monitoring operation according to the first characteristic value and the characteristic value of the line where the first address (the current monitoring address) is searched in the monitoring table.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the corresponding first target registers are register 1 and register 3. The value of the register 1 and the value of the register 3 are determined from the values of the first register group, and if the first characteristic value is 0 according to the values of the register 1 and the value of the register 3, the monitoring operation corresponding to the first characteristic value of 0 in the row where the first Address0 of the monitoring table shown in fig. 2 is located is skipped to the monitoring Address of Address1.
B3, if the first characteristic value does not exist in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to a default characteristic value of the first address from the monitoring table; the monitoring table comprises a plurality of monitoring addresses, each monitoring address corresponds to at least one characteristic value, each characteristic value corresponding to the monitoring address comprises a default characteristic value, and each characteristic value corresponds to one monitoring operation.
For example, referring to fig. 2, taking the first Address as Address0 as an example, the corresponding first target registers are register 1 and register 3. The value of the register 1 and the value of the register 3 are determined from the values of the first register group, if the first characteristic value is 2 according to the values of the register 1 and the values of the register 3, the corresponding monitoring operation is finished, namely the monitoring is finished according to the default characteristic value if the characteristic value with the characteristic value of 2 does not exist in the row of the first Address0 of the monitoring table shown in fig. 2.
In the step A4, the second characteristic value is matched with the characteristic value corresponding to the second address in the monitoring table, and the implementation method for determining the corresponding monitoring operation is the same as that of the steps B1-B3.
The program flow monitoring method provided by the embodiment of the application is introduced above, and an exemplary description is made below of the program flow monitoring method in combination with a specific application scenario.
Referring to fig. 4, an application flow diagram of a program flow monitoring method, another program flow monitoring method specifically includes:
s401, acquiring an instruction currently executed by the CPU, and judging whether the instruction is a jump instruction.
S402, if the instruction is a jump instruction, recording an Address of the jump of the instruction and values Value1 and Value2 … of a register group (comprising each register or a designated part of registers in the CPU) in the CPU at the moment; if not, the step S401 is continued.
S403, searching the Address from a monitoring Address column of a pre-stored monitoring table, and if the Address does not exist, continuing to execute the step S401. If the Address exists, step S404 is executed according to the monitor Address as the current Address.
S404, determining a target register executed in a target register column of a row where the current address is located from the monitoring table, determining a value of the target register from the values of the register group (the register group comprises the target register), and calculating a characteristic value I corresponding to the value of the target register.
S405, searching a first characteristic value in a characteristic value and a monitoring operation column of a row of a current address of the monitoring table, if the first characteristic value exists, executing the monitoring operation corresponding to the first characteristic value, and if the first characteristic value does not exist, executing the monitoring operation corresponding to a default characteristic value.
S406, if the monitoring operation is finished, finishing the operation; if the monitoring operation is alarm, sending an alarm signal to an alarm processing unit and ending the monitoring; if the monitoring operation is to jump to the monitoring address line of the monitoring table, the monitoring address line and the ending address line are read.
S407, acquiring an instruction currently executed by the CPU and an address where the instruction is located.
S408, if the instruction is a jump instruction, determining whether the destination address of the jump is an Address M, if the destination address is the Address M, acquiring the value of the CPU register set at the moment, executing the step S404 according to the monitoring address Address M as the current address, and if the destination address is not the Address M, continuing to execute the step S407.
S409, if the instruction is not a jump instruction, determining whether the address where the instruction is located is addrEndM, if so, sending an alarm signal to an alarm processing unit and ending monitoring; if not, the process proceeds to step S407.
Programs are composed of many functions. Each function performs a different process, i.e. performs a different operation along a different execution path, according to its input parameters, and outputs a corresponding return value. Thus, for a function to determine execution logic, the value of its input parameter substantially determines its internal execution flow. The parameters and return values of the function are typically passed through registers. Before the function is executed, the caller of the function will put the parameters needed by the function into registers (as in fig. 5, the caller will put the parameters x1, x2 into the register set), and then enter the function through a jump instruction (see execution func1 in fig. 5). When the called function is executed, the return value y is put into the register, so that the return value y is returned to the caller (the caller removes the result y from the register set), and the function parameter transfer schematic diagram shown in fig. 5 can be seen, so that the current operation execution condition can be determined through the value in the register set.
The embodiment of the application also provides corresponding electronic equipment and a computer storage medium, which are used for realizing the scheme provided by the embodiment of the application.
The electronic device comprises a processor and a memory, wherein the memory is used for storing instructions or codes, and the processor is used for executing the instructions or codes so as to enable the device to execute the program flow monitoring method.
The computer storage medium stores code, and when the code is executed, a device executing the code implements a program flow monitoring method according to any embodiment of the present application.
The "first" and "second" in the names of "first", "second" (where present) and the like in the embodiments of the present application are used for name identification only, and do not represent the first and second in sequence.
From the above description of embodiments, it will be apparent to those skilled in the art that all or part of the steps of the above described example methods may be implemented in software plus general hardware platforms. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which may be stored in a storage medium, such as a read-only memory (ROM)/RAM, a magnetic disk, an optical disk, or the like, including several instructions for causing a computer device (which may be a personal computer, a server, or a network communication device such as a router) to perform the methods described in the embodiments or some parts of the embodiments of the present application.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
The foregoing is merely exemplary embodiments of the present application and is not intended to limit the scope of the present application.

Claims (9)

1. A program flow monitoring system for monitoring a program running in a processor, characterized in that the system comprises a storage unit, a characteristic value calculation unit and a monitoring unit; the storage unit is respectively in communication connection with the storage unit, the characteristic value calculation unit and the processor;
the storage unit is used for storing a monitoring table, the monitoring table is preset with at least one monitoring address and monitoring information corresponding to each monitoring address, the monitoring address is a destination address of a jump instruction to be monitored by the program, and the monitoring information comprises a target register, at least one characteristic value and monitoring operation corresponding to each characteristic value;
The monitoring unit is used for acquiring a first instruction currently executed from the processor; if the first instruction is a jump instruction, acquiring a first address of the first instruction jump and a value of a current first register group from the processor; if the first address is found out from the monitoring address of the monitoring table of the storage unit, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register; inputting the value of the first target register into the characteristic value calculation unit to obtain a first characteristic value fed back by the characteristic value calculation unit; and determining a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table of the storage unit, and executing the monitoring operation.
2. The system of claim 1, wherein the monitoring unit is further configured to end monitoring upon determining that the monitoring operation is ended.
3. The system of claim 1, wherein the monitoring unit is communicatively coupled to the alarm processing unit for sending an alarm signal to the alarm processing unit for the alarm processing unit to alert when the determined monitoring operation is an alarm.
4. The system of claim 1, wherein the monitoring unit is further configured to perform the monitoring operation upon determining that the monitoring operation jumps to a second address of a monitoring table, comprising:
acquiring an end address corresponding to the second address and a second target register from a monitoring table of the storage unit, wherein each monitoring address in the monitoring table also corresponds to the end address;
acquiring a second instruction which is currently executed and an address where the second instruction is located from the processor;
if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address, acquiring the value of a current second register group from the processor; determining the value of the second target register according to the value of the second register group, and sending the value of the second target register to the characteristic value calculating unit so as to obtain a second characteristic value fed back by the characteristic value calculating unit; matching the second characteristic value with a characteristic value corresponding to a second address in the monitoring table, determining a monitoring operation corresponding to the second characteristic value and executing the monitoring operation; the second register set includes the second target register; if the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of obtaining the second instruction currently executed and the address where the second instruction is located from the processor and the subsequent steps; if the second instruction is not a jump instruction, if the address where the second instruction is located is the end address, sending an alarm signal to an alarm processing unit and ending monitoring, and if the address where the second instruction is located is not the end address, continuing to execute the steps of obtaining the second instruction which is currently executed and the address where the second instruction is located from the processor and the follow-up steps.
5. The system of any of claims 1-4, wherein the monitor table includes at least one monitor address, each monitor address having a plurality of monitor information columns disposed in a row, the monitor information columns including an end address column, a destination register column, and a characteristic value and monitor operation column;
setting an end address corresponding to each monitoring address in the end address column, wherein the end address is one of addresses except for a destination address skipped by the instruction in the process from the instruction corresponding to the monitoring address to the monitoring end;
the target register column comprises a target register corresponding to each monitoring address, and the target register is a register which generates data update or stores when an instruction corresponding to the monitoring address is executed;
the characteristic value and monitoring operation column comprises at least one characteristic value set corresponding to each monitoring address and monitoring operation corresponding to each characteristic value, the at least one characteristic value comprises a default characteristic value, and the default characteristic value is used for processing the characteristic value fed back by the characteristic value calculation unit according to the default characteristic value when the corresponding characteristic value is not found in the corresponding monitoring address row.
6. The system according to claim 1, wherein the eigenvalue calculation unit is configured to calculate the value of at least one target register input by the monitoring unit by using a cyclic redundancy check algorithm or a hash algorithm to obtain an eigenvalue, and feed back the eigenvalue to the monitoring unit.
7. A program flow monitoring method, the method comprising:
acquiring a first instruction which is currently executed;
if the first instruction is a jump instruction, acquiring a first address of the jump of the first instruction and a value of a current first register group;
if the first address exists in the monitoring address of the preset monitoring table, determining a first target register corresponding to the first address from the monitoring table, and determining the value of the first target register according to the value of the first register group, wherein the first register group comprises the first target register;
calculating a first characteristic value corresponding to the value of the first target register, matching the first characteristic value with a characteristic value corresponding to the first address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation;
the matching the first characteristic value with the characteristic value corresponding to the first address in the monitoring table, and determining the corresponding monitoring operation includes:
Searching a characteristic value corresponding to the first address from the monitoring table;
if the first characteristic value exists in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to the first characteristic value of the first address from the monitoring table;
if the first characteristic value does not exist in the characteristic value corresponding to the first address, determining a monitoring operation corresponding to a default characteristic value of the first address from the monitoring table; the monitoring table comprises a plurality of monitoring addresses, each monitoring address corresponds to at least one characteristic value, each characteristic value corresponding to the monitoring address comprises a default characteristic value, and each characteristic value corresponds to one monitoring operation.
8. The method of claim 7, wherein the monitoring operation is complete, and wherein the performing the monitoring operation comprises ending monitoring;
or, if the monitoring operation is early warning, the executing the monitoring operation comprises sending out an alarm signal and ending the monitoring;
or, if the monitoring operation is to jump to the second address of the monitoring table, the executing the monitoring operation includes:
acquiring an ending address and a second target register corresponding to the second address in the monitoring table;
Acquiring a second instruction which is currently executed and an address where the second instruction is located;
if the second instruction is a jump instruction and the address of the jump of the second instruction is a second address, acquiring the value of the current second register set; determining a value of the second target register according to the value of the second register group, wherein the second register group comprises the second target register; calculating a second characteristic value corresponding to the value of the second target register, matching the second characteristic value with the characteristic value corresponding to the second address in the monitoring table, determining a corresponding monitoring operation and executing the monitoring operation;
if the second instruction is a jump instruction and the address of the jump of the second instruction is not the second address, continuing to execute the step of obtaining the second instruction which is currently executed and the address where the second instruction is located and the subsequent steps;
if the second instruction is not a jump instruction, sending an alarm signal and ending monitoring if the address of the second instruction is the ending address, and continuously executing the steps of obtaining the second instruction which is currently executed and the address of the second instruction and the follow-up steps if the address of the second instruction is not the ending address.
9. The method of claim 8, wherein the end address is one of addresses corresponding to all programs from the second instruction to the end of monitoring, except the second address.
CN202311700963.8A 2023-12-12 2023-12-12 Program flow monitoring system and method Active CN117389842B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311700963.8A CN117389842B (en) 2023-12-12 2023-12-12 Program flow monitoring system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311700963.8A CN117389842B (en) 2023-12-12 2023-12-12 Program flow monitoring system and method

Publications (2)

Publication Number Publication Date
CN117389842A CN117389842A (en) 2024-01-12
CN117389842B true CN117389842B (en) 2024-03-19

Family

ID=89465266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311700963.8A Active CN117389842B (en) 2023-12-12 2023-12-12 Program flow monitoring system and method

Country Status (1)

Country Link
CN (1) CN117389842B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104695A1 (en) * 2017-11-30 2019-06-06 深圳市大疆创新科技有限公司 Arithmetic device for neural network, chip, equipment and related method
CN116150021A (en) * 2023-02-24 2023-05-23 统信软件技术有限公司 Program running track tracking method, program running track comparing method, program running track tracking device and computing equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104695A1 (en) * 2017-11-30 2019-06-06 深圳市大疆创新科技有限公司 Arithmetic device for neural network, chip, equipment and related method
CN116150021A (en) * 2023-02-24 2023-05-23 统信软件技术有限公司 Program running track tracking method, program running track comparing method, program running track tracking device and computing equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于优先级动态二进制翻译寄存器分配算法;戴涛;单征;卢帅兵;石强;潭捷;;浙江大学学报(工学版);20160715(第07期);全文 *
嵌入式程序的故障行为分析;张丹青;江建慧;陈林博;;计算机应用;20130101(第01期);全文 *

Also Published As

Publication number Publication date
CN117389842A (en) 2024-01-12

Similar Documents

Publication Publication Date Title
KR102151326B1 (en) Data processing method and device
CN109871670B (en) Method for operating and monitoring industrial equipment to be controlled and operator system
CN109849935B (en) Security control method, device and storage medium
JP2014507710A (en) Processing device, trace unit, and diagnostic device
CN110987493A (en) Equipment abnormality detection method and device, storage medium and electronic equipment
CN111679968A (en) Interface calling abnormity detection method and device, computer equipment and storage medium
CN111211929A (en) Fault positioning method, fault positioning device, control equipment and intelligent equipment
CN107992322B (en) DSP code self-updating method for radar signal processor
CN117389842B (en) Program flow monitoring system and method
CN110362416B (en) Page component loading method and device, electronic equipment and storage medium
CN107967192B (en) System crash processing method and device for intelligent terminal
CN114416284A (en) Distributed operating system control method, apparatus, device, medium, and program product
KR20150096478A (en) Programmable controller, programmable controller system, and execute error information creation method
CN111352610A (en) Interface return value modification method and device, electronic equipment and storage medium
CN109041058B (en) WIFI hotspot connection method and device
CN111131198B (en) Updating method and device for network security policy configuration
CN114625106A (en) Vehicle diagnosis method and device, electronic equipment and storage medium
CN111475400A (en) Verification method of service platform and related equipment
CN111813872A (en) Fault troubleshooting model generation method, device and equipment
CN113297149A (en) Method and device for monitoring data processing request
CN117729063B (en) Device access method, device, equipment and storage medium of industrial Internet of things
CN110752950A (en) Update detection method and device for cloud resource pool and terminal equipment
US8626395B2 (en) Method for processing data in an influencing device
CN112131582A (en) SELinux rule generation method and device and electronic equipment
CN111124397A (en) Control logic multiplexing method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant