CN113608846A - Data checking method, device and equipment of process stack - Google Patents

Data checking method, device and equipment of process stack Download PDF

Info

Publication number
CN113608846A
CN113608846A CN202110819429.3A CN202110819429A CN113608846A CN 113608846 A CN113608846 A CN 113608846A CN 202110819429 A CN202110819429 A CN 202110819429A CN 113608846 A CN113608846 A CN 113608846A
Authority
CN
China
Prior art keywords
data
stack
processor
target data
checking
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.)
Pending
Application number
CN202110819429.3A
Other languages
Chinese (zh)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110819429.3A priority Critical patent/CN113608846A/en
Publication of CN113608846A publication Critical patent/CN113608846A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the application provides a method, a device and equipment for data inspection of a process stack, wherein the method for data inspection can comprise the following steps: acquiring a data checking request; determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation; determining a processor corresponding to at least one process stack set; and utilizing the processor to perform data inspection operation on the process stack in the process stack set to obtain a data inspection result. The technical scheme provided by the application effectively realizes that a plurality of processors in the system can carry out data inspection operation on the process stacks in a plurality of process stack sets in parallel, and the implementation mode is simple and reliable, the time complexity is low, when the number of the processes to be processed and the number of the target data are more, the downtime advantage of the data inspection operation is more obvious, and the quality and the efficiency of the data inspection method are further improved.

Description

Data checking method, device and equipment of process stack
Technical Field
The present application relates to the field of data processing technologies, and in particular, to a method, an apparatus, and a device for checking data of a process stack.
Background
In the process of operating system application, the stack security check mechanism has important significance for keeping consistency and accuracy of data processing. The traditional stack security check mechanism is: the method comprises the steps of checking the code address of a function calling stack frame of each thread in a shutdown state, if the code address of the function calling stack frame of each thread appears in any code segment interval of a replaced function, indicating that the replaced function is executed by the thread, the stack is unsafe at the moment, and if data replacement or updating operation is directly carried out, the situation that data semantics are not uniform easily occurs, and even a system is down can occur.
Disclosure of Invention
The embodiment of the application provides a method, a device and equipment for data inspection of a process stack, which can realize that a plurality of processors can perform data inspection operation on the process stack in a plurality of process stack sets in parallel, and improve the quality and efficiency of the data inspection operation.
In a first aspect, an embodiment of the present application provides a method for checking data of a process stack, including:
acquiring a data checking request;
determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation;
determining a processor corresponding to the at least one process stack set;
and utilizing the processor to perform data checking operation on the process stacks in the process stack set to obtain a data checking result.
In a second aspect, an embodiment of the present application provides a data checking apparatus for a process stack, including:
the first acquisition module is used for acquiring a data inspection request;
a first determining module, configured to determine at least one process stack set based on the data inspection request, where the process stack set includes at least one process stack that needs to perform data inspection operation;
the first determining module is further configured to determine a processor corresponding to the at least one process stack set;
and the first processing module is used for carrying out data checking operation on the process stacks in the process stack set by using the processor to obtain a data checking result.
In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor; wherein the memory is configured to store one or more computer instructions, and when executed by the processor, the one or more computer instructions implement the method for data checking of a process stack according to the first aspect.
In a fourth aspect, an embodiment of the present invention provides a computer storage medium, which is used for storing a computer program, and the computer program enables a computer to implement the method for checking data of a process stack shown in the first aspect when executed.
In a fifth aspect, an embodiment of the present invention provides a method for checking data of a process stack, where the method includes:
acquiring at least one target data for implementing a data inspection operation;
determining the number of processors for performing data checking operations on all process stacks;
dividing the at least one target data based on the number of processors to obtain a target data set;
and utilizing the processor to perform data checking operation on the target data and all process stacks included in the target data set to obtain a data checking result.
In a sixth aspect, an embodiment of the present invention provides a data checking apparatus for a process stack, including:
the second acquisition module is used for acquiring at least one target data for realizing the data inspection operation;
the second determining module is used for determining the number of processors for performing data checking operation on all process stacks;
a second dividing module, configured to divide the at least one target data based on the number of processors to obtain a target data set;
and the second processing module is used for carrying out data checking operation on the target data and all the process stacks in the target data set by using the processor to obtain a data checking result.
In a seventh aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor; wherein the memory is configured to store one or more computer instructions, and the one or more computer instructions, when executed by the processor, implement the data checking method for a process stack according to the fifth aspect.
In an eighth aspect, an embodiment of the present invention provides a computer storage medium, which is used for storing a computer program, and the computer program enables a computer to implement the data checking method for a process stack shown in the fifth aspect when executed.
In a ninth aspect, an embodiment of the present invention provides a method for checking data of a process stack, where the method includes:
acquiring a data checking request;
determining at least one data inspection task based on the data inspection request, wherein the data inspection task comprises at least one of the following: a process stack set and a target data set;
determining a processor corresponding to the data inspection task;
and carrying out data inspection operation on the data inspection task by utilizing the processor to obtain a data inspection result.
In a tenth aspect, an embodiment of the present invention provides a data checking apparatus for a process stack, including:
the third acquisition module is used for acquiring a data inspection request;
a third determining module, configured to determine at least one data inspection task based on the data inspection request, where the data inspection task includes at least one of: a process stack set and a target data set;
the third determining module is used for determining a processor corresponding to the data checking task;
and the third processing module is used for carrying out data inspection operation on the data inspection task by utilizing the processor to obtain a data inspection result.
In an eleventh aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor; wherein the memory is configured to store one or more computer instructions, and the one or more computer instructions, when executed by the processor, implement the data checking method for a process stack according to the ninth aspect.
In a twelfth aspect, an embodiment of the present invention provides a computer storage medium, which is used for storing a computer program, and the computer program enables a computer to implement the data checking method for a process stack shown in the ninth aspect when executed.
The technical scheme provided by the embodiment of the application determines at least one process stack set through the obtained data checking request, determining a processor corresponding to at least one process stack set, then utilizing the processor to carry out data check operation on the process stack in the process stack set, therefore, the data checking operation of the process stacks in the process stack sets can be performed by a plurality of processors in the system in parallel, and, the implementation mode is simple and reliable, the time complexity is lower, when the number of processes needing to be processed and the number of target data in the process stack are more, the more significant the downtime advantage of the data inspection operation, specifically, the downtime required by the implementation is less than that required by the existing implementation, thereby improving the quality and efficiency of the data inspection operation and ensuring the practicability of the method.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 is a schematic view of a scenario of a data checking method for a process stack according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a process stack performing a data check operation on a process stack in the process stack set by using a processor to obtain a data check result according to an embodiment of the present application;
fig. 4 is a schematic flowchart of another data checking method for a process stack according to an embodiment of the present application;
fig. 5 is a schematic flowchart of a process stack performing a data check operation on a process stack in the process stack set by using the processor to obtain a sub-check result corresponding to the processor according to the embodiment of the present application;
fig. 6 is a first schematic diagram illustrating a data checking operation performed on the stack frame address and the at least one target data by using a processor according to an embodiment of the present application;
fig. 7 is a second schematic diagram illustrating a data check operation performed on the stack frame address and the at least one target data by using a processor according to an embodiment of the present application;
fig. 8 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application;
fig. 9 is a first schematic flowchart of a process of determining, in the at least one target data, target data to be checked corresponding to the stack frame address by using a binary search algorithm according to an embodiment of the present application;
fig. 10 is a schematic flowchart of a second process for determining, in the at least one target data, target data to be checked corresponding to the stack frame address by using a binary search algorithm according to an embodiment of the present application;
fig. 11 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application;
fig. 12 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application;
fig. 13 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application;
FIG. 14 is a schematic address diagram of a plurality of objective functions provided in an embodiment of the present application;
fig. 15 is a schematic structural diagram of a data checking apparatus of a process stack according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of an electronic device corresponding to the data checking apparatus of the process stack shown in fig. 15;
fig. 17 is a schematic structural diagram of another data checking apparatus of a process stack according to an embodiment of the present application;
fig. 18 is a schematic structural diagram of an electronic device corresponding to the data checking apparatus of the process stack shown in fig. 17;
fig. 19 is a schematic structural diagram of a data checking apparatus of a process stack according to an embodiment of the present application;
fig. 20 is a schematic structural diagram of an electronic device corresponding to the data checking apparatus of the process stack shown in fig. 19.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the examples of this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, and "a" and "an" typically include at least two, but do not exclude the presence of at least one.
It should be understood that the term "and/or" as used herein is merely one type of association that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It is also noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such good or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a commodity or system that includes the element.
In addition, the sequence of steps in each method embodiment described below is only an example and is not strictly limited.
In order to facilitate those skilled in the art to understand the technical solutions provided in the embodiments of the present application, the following description is provided for the related technologies: in the operating process of the operating system, a user can perform data replacement or data upgrading operation on an operating system kernel according to application requirements. Taking the Linux operating system as an example, since the operating system kernel includes a plurality of processor CPUs, when performing a data replacement or data upgrade operation, a process stack being executed by a certain CPU may include data that needs to be performed with the data replacement or data upgrade operation, for example: the Linux system kernel comprises: the method comprises a first CPU and a second CPU, wherein a process stack executed by the first CPU comprises an objective function, a process stack executed by the second CPU does not comprise the objective function, at the moment, if data inspection operation is not carried out but data replacement or data upgrading operation is directly carried out, data in the process stack executed by the first CPU is the objective function before the data replacement operation, and at the moment, if the first CPU and the second CPU simultaneously run the objective function, the two CPUs obtain different data processing results.
In addition, if the target function for performing the data replacement operation or the data upgrade operation has a sleep node, when the CPU executes the sleep node of the target function, the sleep node of the target function may be skipped first, and other data processing operations may be executed; if data checking operation is not performed, after data updating operation or data optimization operator is performed, the situation that the address field corresponding to the target function cannot be found easily occurs, so that the CPU cannot perform normal data processing operation, and the system is prone to being down.
As can be seen from the above, the data checking operation of the process stack has very important significance. In the conventional technology, a data checking method of a process stack comprises the following steps: utilizing a kernel shutdown mechanism 'stop _ machine' to enable a CPU to traverse stack frames of all threads, wherein the kernel shutdown mechanism can enable all CPUs to enter a shutdown running state, then executing corresponding data based on a data checking request, specifically, comparing whether a function executing in a process stack is a replaced target function one by one in the shutdown state, namely, checking whether the data executing in the process stack is in a code segment interval of any replaced function, and if the data is in the code segment interval of the replaced function, indicating that a process is executing the replaced function, wherein the stack is unsafe at the moment and cannot perform data replacement or data optimization operation. If the data does not appear in the code segment interval of the replaced function, the process does not execute the replaced function, and the stack is safe at the moment and can carry out data replacement or data optimization operation.
Although the method realizes the safety check operation of the process stack, the realization mode is heavy, the time complexity is high, the more the number of threads and the number of target functions are, the longer the downtime required by the system is; the above implementation has limitations because the stall may cause data processing tasks of all process stacks to be suspended.
In addition, another lightweight stack security inspection mode is provided in the conventional technology, the inspection mode is a static stack security inspection mode, and specifically, a process stack needing to be subjected to stack security inspection operation is primarily screened in a manual analysis mode, so that part of the process stack needing to be subjected to stack security operation is effectively screened out when a kernel is compiled, and data processing amount and time complexity are effectively reduced.
In order to solve the above technical problem, this embodiment provides a method, an apparatus, and a device for checking data of a process stack, where an execution main body of the method may be a data processing apparatus of the process stack, and the data processing apparatus of the process stack may be communicatively connected to a client, and fig. 1 is referred to:
the client may be any computing device with certain data transmission capability, and the basic structure of the client may include: at least one processor. The number of processors depends on the configuration and type of client. The client may also include a Memory, which may be volatile, such as RAM, or non-volatile, such as Read-Only Memory (ROM), flash Memory, etc., or may include both types. The memory typically stores an Operating System (OS), one or more application programs, and may also store program data and the like. In addition to the processing unit and the memory, the client includes some basic configurations, such as a network card chip, an IO bus, a display component, and some peripheral devices. Alternatively, some peripheral devices may include, for example, a keyboard, a mouse, a stylus, a printer, and the like. Other peripheral devices are well known in the art and will not be described in detail herein. Alternatively, the client may be a pc (personal computer) terminal, a handheld terminal (e.g., a smart phone, a tablet computer), or the like.
A data processing apparatus of a process stack refers to a device that can provide a data processing service of the process stack in a network virtual environment, and generally refers to an apparatus that performs information planning and data processing operations of the process stack by using a network. In terms of physical implementation, the data processing apparatus of the process stack may be any device capable of providing computing services, responding to service requests, and performing processing, for example: can be cluster servers, regular servers, cloud hosts, virtual centers, and the like. The data processing device of the process stack mainly comprises a processor, a hard disk, a memory, a system bus and the like, and is similar to a general computer framework.
In the above embodiment, the client may be in network connection with the data processing apparatus of the process stack, and the network connection may be a wireless or wired network connection. If the client is in communication connection with the data processing device of the process stack, the network format of the mobile network may be any one of 2G (gsm), 2.5G (gprs), 3G (WCDMA, TD-SCDMA, CDMA2000, UTMS), 4G (LTE), 4G + (LTE +), WiMax, 5G, and the like.
In this embodiment of the present application, a client may obtain a data check request, and specifically, this embodiment does not limit a specific implementation manner of obtaining the data check request by the client, for example: the client is provided with an interactive interface, the execution operation input by the user is obtained through the interactive interface, and the data inspection request is obtained through the execution operation; or, a specific interface may be provided on the client, and the data inspection request may be acquired through the specific interface, so that the client may stably acquire the data inspection request. After the data check request is acquired, the data check request may be uploaded to a data check apparatus of the process stack, so that the data check apparatus may perform data analysis processing on the uploaded data check request.
The data checking device of the process stack is configured to receive a data checking request uploaded by a client, and then, the data checking device may analyze the data checking request, specifically, at least one process stack set may be determined first, where the process stack set may include at least one process stack that needs to perform a data checking operation. After at least one process stack set is determined, a processor corresponding to the at least one process stack set is then determined, it can be understood that different process stack sets may correspond to different processors, and then the processor may perform a data check operation on the process stacks in the process stack set, so that a data check result may be obtained, and the data check operation of the process stack is effectively implemented.
The technical solution provided by this embodiment determines at least one process stack set according to the obtained data check request, determining a processor corresponding to at least one process stack set, then utilizing the processor to carry out data check operation on the process stack in the process stack set, therefore, the data checking operation of the process stacks in the process stack sets can be performed by a plurality of processors in the system in parallel, and, the implementation mode is simple and reliable, the time complexity is lower, when the number of processes needing to be processed and the number of target data in the process stack are more, the more significant the downtime advantage of the data inspection operation, specifically, the downtime required by the implementation is less than that required by the existing implementation, thereby improving the quality and efficiency of the data inspection operation and ensuring the practicability of the method.
The following describes a method, an apparatus, and a device for data checking of a process stack provided in various embodiments of the present application in detail through an exemplary application scenario.
Fig. 2 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present disclosure; referring to fig. 2, the embodiment provides a data checking method of a process stack, where an execution subject of the method may be a data processing apparatus of the process stack, and it is understood that the data processing apparatus of the process stack may be implemented as software, or a combination of software and hardware. Specifically, the data checking method of the process stack may include:
step S201: a data check request is obtained.
Step S202: and determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation.
Step S203: and determining a processor corresponding to at least one process stack set.
Step S204: and utilizing the processor to perform data inspection operation on the process stack in the process stack set to obtain a data inspection result.
The above steps are explained in detail below:
step S201: a data check request is obtained.
In the running process of the operating system (such as a Windows system, a Linux system, etc.), data check operation can be performed on the operating system kernel (such as a Windows kernel, a Linux kernel, etc.) periodically or aperiodically, and the data check operation can realize data optimization, data update, etc. on at least part of data of the operating system kernel. When the data checking operation is performed on the kernel of the operating system regularly, the data checking request can be automatically generated based on a set period; when the data checking operation is performed on the operating system kernel aperiodically, the data checking request may be generated based on design requirements or application requirements of a user, in some examples, an interactive interface may be provided on the data processing apparatus of the process stack, and the user may input an execution operation on the interactive interface, so that the data processing apparatus may directly obtain the data checking request based on the execution operation. In still other examples, the data processing apparatus of the process stack may be communicatively connected with a client, a user may input an execution operation on the client, the client may generate a data check request based on the execution operation, and after the client acquires the data check request, the data check request may be sent to the data processing apparatus of the process stack, thereby ensuring that the data processing apparatus can stably acquire the data check request.
Of course, the specific obtaining manner of the data checking request is not limited to the implementation manner described above, and those skilled in the art may also use other manners to obtain the data checking request, as long as the accuracy and reliability of obtaining the data checking request can be ensured, which is not described herein again.
Step S202: and determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation.
After acquiring the data checking request, at least one process stack set may be determined based on the data checking request, and it may be understood that each process stack set includes at least one process stack that needs to perform a data checking operation. In some examples, in order to ensure the quality and efficiency of the data checking operation, any two process stack sets in the obtained at least one process stack set may include the same number of process stacks. At this time, in this embodiment, determining at least one process stack set based on the data check request may include: acquiring all process stacks in the kernel based on the data checking request; determining the number of processors for performing data checking operations on a process stack; and uniformly dividing all process stacks based on the number of the processors to obtain at least one process stack set, wherein the number of the process stack sets is the same as the number of the processors.
Specifically, after the data check request is obtained, all process stacks that need to perform the data check operation in the kernel may be determined based on the data check request, and at different times, the number of the process stacks included in the kernel of the operating system may be the same or different, for example: at time T1, the number of process stacks included in the operating system kernel is Q1, and at time T2, the number of process stacks included in the operating system kernel is Q2, Q1 may be equal to Q2, or Q1 may be equal to Q2. When a data check request is obtained, it indicates that the kernel of the operating system needs to perform a data check operation at this time, and in order to implement the data check operation, the number of processors used for performing the data check operation on the process stack may be determined.
After the number of processors is obtained, all process stacks may be uniformly divided based on the number of processors, so that at least one process stack set may be obtained, where the obtained number of process stack sets is the same as the number of processors. For example, after the data check request is obtained, it may be determined that the number of all process stacks is 128 based on the data check request, and if it is determined that the number of processors is 8, the number of all process stacks may be uniformly divided based on the number of processors, so that 8 process stack sets may be obtained, at this time, each process stack set includes 128/8 ═ 16 processes, and uniform division operation on all process stacks that need to perform the data check operation is effectively achieved, which is beneficial to implement that a plurality of processors perform the data check operation on the process stack sets in parallel, and further improves quality and efficiency of the data check operation.
It should be noted that, the execution sequence between the step "acquiring all process stacks in the kernel based on the data check request" and the step "determining the number of processors for performing the data check operation on the process stacks" is not limited to the execution sequence described above, and those skilled in the art may also adjust according to a specific application scenario or design requirements, and the step "determining the number of processors for performing the data check operation on the process stacks" may be performed before the step "acquiring all process stacks in the kernel based on the data check request", or the step "determining the number of processors for performing the data check operation on the process stacks" may be performed simultaneously with the step "acquiring all process stacks in the kernel based on the data check request", and details are not repeated herein.
Step S203: and determining a processor corresponding to at least one process stack set.
After obtaining at least one process stack set, in order to improve quality and efficiency of data checking operations, it may be determined that at least one process stack set corresponds to a respective processor, specifically, since any two processors configured in the same operating system have the same data processing capability and the number of the processors is the same as the number of the process stack sets, different processors may be directly configured for different process stack sets, so that different process stack sets may correspond to different processors, which is beneficial to implementing that a plurality of processors may perform data checking operations on respective corresponding process stack sets in parallel.
Step S204: and utilizing the processor to perform data inspection operation on the process stack in the process stack set to obtain a data inspection result.
After the processor is configured for each process stack set, the processor may be used to perform a data checking operation on the process stacks in the process stack set, so that a data checking result may be obtained. In some examples, in order to ensure stable and reliable operation of the data checking operation, the data checking operation may be performed when the kernel operation state is a shutdown state, where performing the data checking operation on the process stack in the process stack set by using the processor in this embodiment may include: acquiring a kernel running state; and when the running state of the kernel is a halt state, the processor is utilized to carry out data check operation on the process stack in the process stack set.
Specifically, when the operating system runs, the kernel of the operating system may have different running states, that is, a normal running state, a shutdown state, and the like, and when data checking operation is required, in order to ensure quality and efficiency of the data checking operation, the running state of the kernel may be obtained, in some examples, the running state of the kernel may be obtained by a preset state machine, when an identifier of the state machine is 1, the running state of the kernel may be determined to be the normal running state, and when the identifier of the state machine is 0, the running state of the kernel may be determined to be the shutdown state. Of course, those skilled in the art may also use other manners to obtain the kernel operating state, as long as the accuracy and reliability of obtaining the kernel operating state can be ensured.
After the kernel running state is obtained, the kernel running state can be analyzed and identified, and when the kernel running state is in a shutdown state, because the kernel running environment is suitable for data checking operation, the processor can be used for performing data checking operation on the process stack in the process stack set. When the kernel running state is a normal running state, because the kernel running environment is not suitable for data checking operation, the data checking operation of the process stack in the process stack set by using the processor is forbidden at the moment, so that the stability and the reliability of the data checking operation are effectively ensured.
In still other examples, after obtaining the data inspection result, the method in this embodiment may include: when the data checking result is in a success state, allowing the data updating operation based on the data checking request; and when the data checking result is in a failure state, forbidding the data updating operation based on the data checking request.
The data checking result may include a success state or a failure state, and when the data checking result is the success state, it indicates that the process stacks being processed in all the processors do not include target data that needs to be updated or optimized, that is, the data updating operation or the data optimizing operation is performed safely, and further the data updating operation is allowed to be performed based on the data checking request. When the data checking result is in a failure state, it indicates that the process stack being processed in the processor in the kernel of the operating system includes target data that needs to be updated or optimized, that is, the data updating operation or the data optimizing operation is not safe, and further the data updating operation based on the data checking request is prohibited, so that the stability and reliability of the data updating operation are effectively ensured.
In the data inspection method for a process stack provided in this embodiment, at least one process stack set is determined according to an obtained data inspection request, and a processor corresponding to the at least one process stack set is determined, and then a data inspection operation is performed on a process stack in the process stack set by using the processor, so that it is effectively achieved that a plurality of processors in a system can perform the data inspection operation on the process stack in the plurality of process stack sets in parallel, and the implementation method is simple and reliable, and has a low time complexity, and when the number of processes to be processed and the number of target data in the process stack are larger, the advantage of the downtime of the data inspection operation is more significant, specifically, the downtime required by the implementation method is less than that required by the existing implementation method, thereby improving the quality and efficiency of the data inspection operation, and ensuring the practicability of the method, is beneficial to the popularization and the application of the market.
Fig. 3 is a schematic flowchart of a process stack executing a data check operation on a process stack in a process stack set by using a processor to obtain a data check result according to an embodiment of the present application; referring to fig. 3, this embodiment provides an implementation manner of performing a data check operation on a process stack in a process stack set, and specifically, performing a data check operation on a process stack in a process stack set by using a processor in this embodiment, and obtaining a data check result may include:
step S301: and utilizing the processor to perform data checking operation on the process stack in the process stack set to obtain a sub-checking result of the processor.
Step S302: based on all the sub-inspection results, a data inspection result is obtained.
After determining at least one process stack set and the processor corresponding to each process stack set, the processor may perform a data check operation on the process stack in the corresponding process stack set, and after the data check operation is completed on each processor, a sub-check result may be generated, where the sub-check result may include any one of the following: the check is successful and the check fails. It is understood that the data checking operations performed by different processors are independent of each other, and therefore, the sub-check results corresponding to different processors are independent of each other.
After the sub-inspection results of all the processors are acquired, analysis processing may be performed based on all the sub-inspection results to obtain data inspection results. In some examples, obtaining the data inspection result based on all of the sub-inspection results may include: when all the sub-inspection results are successful, determining that the data inspection result is in a successful state; and when any sub-inspection result is inspection failure, determining that the data inspection result is in a failure state.
Specifically, after all the sub-inspection results are obtained, all the sub-inspection results may be analyzed, and when all the sub-inspection results are successfully inspected, it indicates that the process stack executed by the processor does not include target data that needs to be subjected to data optimization or data update operation, so that it may be determined that the data inspection results are in a successful state. When any one of the sub-inspection results is in inspection failure, it indicates that there is target data which needs to be subjected to data optimization or data update operation in a process stack run by a processor, and thus it can be determined that the data inspection result is in a failure state.
In this embodiment, the processor is used to perform data checking operation on the process stack in the process stack set to obtain the sub-checking result of the processor, and then the data checking result is obtained based on all the sub-checking results.
Fig. 4 is a schematic flowchart of another data checking method for a process stack according to an embodiment of the present application; on the basis of the above embodiment, referring to fig. 4, before obtaining the data inspection result based on all the sub-inspection results, the method in this embodiment may further include:
step S401: configuration requests corresponding to all processors are obtained.
Step S402: any processor in all processors is configured as a main processor based on the configuration request, and the main processor is used for acquiring the sub-inspection results obtained by other processors.
After the data checking operation is performed on the process stacks in the process stack set by using the processor to obtain the sub-checking results of the processor, in order to conveniently count all the sub-checking results, a main processor may be designated in all the processors, so that the main processor counts the sub-checking results obtained by other processors. Specifically, configuration requests corresponding to all processors may be acquired, where the configuration requests are used to implement configuration operations of the main processor, and after the configuration requests are acquired, any one of all processors may be configured as the main processor based on the configuration requests, in some examples, a first processor of all processors may be used as the main processor, and of course, other processors may also be determined as the main processor, as long as the configuration operations of the main processor can be implemented, which is not described herein again.
For example, the operating system kernel includes 6 processors, which are respectively a processor a, a processor B, a processor C, a processor D, a processor E, and a processor F, after acquiring the configuration request, the processor a may be determined as a main processor based on the configuration request, at this time, the processor a is in communication connection with other processors, so that sub-inspection results of other processors may be obtained, that is, the processor a may acquire the sub-inspection result B of the processor B, the sub-inspection result C of the processor C, the sub-inspection result D of the processor D, the sub-inspection result E of the processor E, and the sub-inspection result F of the processor F. Thereafter, the sub-inspection results of all the processors can be obtained by accessing the processor a, so that the data inspection result can be obtained based on all the sub-inspection results.
In this embodiment, the configuration requests corresponding to all the processors are acquired, and then any one of the processors is configured as the main processor based on the configuration requests, so that the configuration operation of the main processor is effectively realized, the sub-inspection results obtained by other processors are conveniently acquired based on the main processor, the analysis processing of all the sub-inspection results is favorably realized, the data inspection result is obtained, and the stability and reliability of the method are further improved.
Fig. 5 is a schematic flowchart of a process stack performing a data check operation on a process stack in a process stack set by using a processor to obtain a sub-check result corresponding to the processor according to an embodiment of the present application; on the basis of the foregoing embodiment, referring to fig. 5, this embodiment provides an implementation manner of performing a data checking operation on a process stack in a process stack set, and specifically, in this embodiment, performing the data checking operation on the process stack in the process stack set by using a processor, and obtaining a sub-checking result corresponding to the processor may include:
step S501: at least one target data corresponding to the data inspection request is acquired.
Step S502: and determining the stack frame address corresponding to each process stack in the process stack set.
Step S503: and carrying out data check operation on the stack frame address and at least one target data by using the processor to obtain a sub-check result of the processor.
After the data check request is acquired, the data check request may be analyzed to acquire at least one target data corresponding to the data check request. In some examples, a mapping relationship exists between the data inspection request and the target data, and at least one target data corresponding to the data inspection request can be determined through the mapping relationship between the data inspection request and the target data, and the target data can include an objective function which needs to be subjected to a data updating operation or a data optimizing operation.
In addition, in order to implement the data checking operation, a stack frame address corresponding to each process stack in the process stack set may be determined, and specifically, the stack frame address corresponding to each process stack may be acquired through a stack crawling interface. It should be noted that the execution sequence between the step "acquiring at least one target data corresponding to the data checking request" and the step "determining the stack frame address corresponding to each process stack in the process stack set" is not limited to the above-described execution sequence, and those skilled in the art may also adjust according to a specific application scenario or design requirement, for example: the step of "determining a stack frame address corresponding to each process stack in the process stack set" may be performed before the step of "obtaining at least one target data corresponding to the data check request", or the step of "determining a stack frame address corresponding to each process stack in the process stack set" may be performed simultaneously with the step of "obtaining at least one target data corresponding to the data check request", which is not described herein again.
After acquiring the at least one target data and the stack frame address, a data checking operation may be performed on the stack frame address and the at least one target data by the processor, so that a sub-checking result of the processor may be obtained. In some examples, performing, with the processor, a data check operation on the stack frame address and the at least one target data, and obtaining a sub-check result of the processor may include: determining address information and a data range corresponding to at least one target data; determining target data to be inspected corresponding to a stack frame address in at least one target data by utilizing a binary search algorithm, wherein the distance between the address information of the target data to be inspected and the stack frame address is smaller than the distance between the address information of other target data and the stack frame address; detecting whether the stack frame address is located in a data range corresponding to target data to be detected or not by using a processor; a sub-inspection result corresponding to the processor is determined based on the detection result.
Specifically, after at least one piece of target data is acquired, the target data may be analyzed to determine address information and a data range corresponding to the at least one piece of target data, where it should be noted that there is no intersection between the address information and the data range corresponding to any two pieces of target data. After the address information and the data range corresponding to the target data are acquired, the stack frame address corresponding to each process stack in the process stack set and the address information and the data range corresponding to the determined at least one target data can be analyzed and matched, that is, the stack frame address and the address ranges corresponding to the plurality of target data are analyzed and matched. In order to improve the quality and efficiency of data analysis and matching, the target data to be inspected corresponding to the stack frame address can be determined by utilizing a binary search algorithm, wherein the distance between the address information of the target data to be inspected and the stack frame address is smaller than the distance between the address information of other target data and the stack frame address.
After the target data to be inspected is acquired, whether the stack frame address is located in the data range corresponding to the target data to be inspected can be detected by using the processor, and after a detection result between the target data to be inspected and the stack frame address is acquired, a sub-inspection result corresponding to the processor can be determined based on the detection result. In some examples, determining the sub-inspection result corresponding to the processor based on the detection result may include: when the stack frame address is located in a data range corresponding to target data to be checked, determining that the sub-checking result is checking failure; and when the stack frame address is not located in the data range corresponding to the target data to be checked, determining that the sub-checking result is successful.
Specifically, when the stack frame address is located in the data range corresponding to the target data to be checked, it indicates that the process stack being processed by the processor at this time includes the target data to be checked that needs to perform data updating operation or data optimization operation, and thus it can be determined that the sub-check result of the processor is a check failure. When the stack frame address is not located in the data range corresponding to the target data to be checked, it indicates that the process stack being processed by the processor at this time does not include the target data to be checked, which needs to perform data updating operation or data optimization operation, and thus the sub-check result of the processor can be determined as the check success.
For example, the at least one target data obtained by the data check request may include: the target data 1, the target data 2, the target data 3 and the target data 4, wherein the address information and the data range corresponding to the target data 1 are [ d1, d2], the address information and the data range corresponding to the target data 2 are [ d3, d4], the address information and the data range corresponding to the target data 3 are [ d5, d6], and the address information and the data range corresponding to the target data 4 are [ d7, d8 ]. The address information and the data range between the target data are not intersected.
After at least one target data is obtained, a stack frame address corresponding to each process stack in the process stack set can be determined, as shown in fig. 6, when a stack frame address corresponding to a process stack in the process stack set is D ', target data to be inspected corresponding to the stack frame address can be determined based on the stack frame address D' and a binary search algorithm, the target data to be inspected is the target data closest to the stack frame address, and the target data to be inspected corresponding to the stack frame address can be determined to be target data 2 by comparing the stack frame address with address information and data ranges corresponding to each target data. As shown in fig. 7, when a stack frame address corresponding to a process stack in the process stack set is D ″, target data to be inspected corresponding to the stack frame address may be determined based on the stack frame address D ″ and a binary search algorithm, where the target data to be inspected is target data closest to the stack frame address, and the target data to be inspected corresponding to the stack frame address may be determined to be target data 4 by comparing the stack frame address with address information and data ranges corresponding to the target data.
After the target data 2 is taken as the target data to be checked, the processor may be used to detect whether the stack frame address is located in the data range corresponding to the determined target data 2, and then the sub-check result corresponding to the processor may be determined based on the detection result, as shown in fig. 6, when the stack frame address is detected to be located in the data range corresponding to the target data 2, the sub-check result corresponding to the processor is determined to be a check failure based on the detection result; correspondingly, after the target data 4 is taken as the target data to be checked, the processor may be used to detect whether the stack frame address is located in the data range corresponding to the determined target data 4, and then the sub-check result corresponding to the processor may be determined based on the detection result, as shown in fig. 7, when the stack frame address is detected not to be located in the data range corresponding to the target data 4, the sub-check result corresponding to the processor is determined as a check success based on the detection result.
In this embodiment, by obtaining at least one target data corresponding to the data check request, then determining a stack frame address corresponding to each process stack in the process stack set, and performing a data check operation on the stack frame address and the at least one target data by using the processor, accuracy and reliability of obtaining a sub-check result of the processor are effectively ensured.
Fig. 8 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application; on the basis of the foregoing embodiment, referring to fig. 8, after acquiring at least one target data corresponding to the data checking request, the method in this embodiment may further include:
step S801: the number of processors used to perform data checking operations on the process stack is determined.
Step S802: at least one target data is divided based on the number of processors, and a target data set corresponding to the processors is obtained.
Step S803: and carrying out data check operation on the target data and the stack frame address included in the target data set by using the processor to obtain a sub-check result of the processor.
In order to further improve the quality and efficiency of the data checking operation when the data checking operation is performed, after at least one target data corresponding to the data checking request is acquired, the number of processors used for performing the data checking operation on the process stack may be determined, and then the at least one target data may be divided based on the obtained number of processors, so that a target data set corresponding to the processors may be obtained. After the target data set and the stack frame address are acquired, a data checking operation may be performed on the target data and the stack frame address included in the target data set by using the processor, so that a sub-checking result of the processor may be obtained.
For example, after at least one target data corresponding to the data checking request is obtained, the number of processors used for performing the data checking operation on the process stack may be determined, assuming that the number of target data is 200, and when the number of processors used for performing the data checking operation on the process stack is 64, the at least one target data may be divided based on the number of processors to obtain target data sets corresponding to the processors, where each target data set may include 3 to 4 target data, and then the processors may perform the data checking operation on the target data and the stack frame address included in the respective corresponding target data sets, and at this time, each processor CPU only needs to check 3 to 4 target data, which effectively implements the dividing operation of the data checking task from the dimension of the target data, the quality and efficiency of the data inspection operation is improved.
In this embodiment, the number of processors used for performing data inspection operation on the process stack is determined, then at least one target data is divided based on the number of processors to obtain a target data set corresponding to the processors, and the processors are used for performing data inspection operation on the target data and the stack frame address included in the target data set to obtain sub-inspection results of the processors, so that the division operation of data inspection tasks from the dimension of the target data is effectively realized, and the quality and the efficiency of analysis processing on the sub-inspection results are improved.
In some examples, after determining address information corresponding to each of the at least one target data, the method in this embodiment may further include: the at least one target data is sorted based on the address information.
In order to ensure the accuracy and reliability of the target data to be checked corresponding to the stack frame address determined by using the binary search algorithm, after the address information corresponding to each of the at least one target data is determined, the at least one target data may be sorted based on the address information, specifically, the at least one target data may be sorted in a descending manner by the address information, or the at least one target data may be sorted in a descending manner by the address information.
Based on the above statements, referring to fig. 9, the present embodiment provides an implementation manner for determining target data to be checked corresponding to a stack frame address by using a binary search algorithm, and specifically, in at least one target data, determining target data to be checked corresponding to a stack frame address by using a binary search algorithm in the present embodiment may include:
step S901: and acquiring a first address corresponding to at least one target datum.
Step S902: and in at least one target data, determining the target data of which the first address is smaller than the stack frame address and the distance between the first address and the stack frame address is smaller than the distance between the first address and the stack frame address of other target data as the target data to be checked.
After the at least one target data is acquired, the at least one target data may be analyzed, so that a first address corresponding to the at least one target data may be acquired, and after the first address corresponding to the at least one target data is acquired, in the at least one target data, the target data whose first address is smaller than the stack frame address and whose distance between the first address and the stack frame address is smaller than the distance between the first address and the stack frame address of other target data may be determined as the target data to be checked.
For example, referring to FIG. 6, the target data includes target data 1, target data 2, target data 3 and target data 4, the first address corresponding to the target data 1 is d1, the first address corresponding to the target data 2 is d3, the first address corresponding to the target data 3 is d5, and the first address corresponding to the target data is d 7.
When the stack frame address is D ', the stack frame address may be analyzed and compared with the first address corresponding to the target data, specifically, the first address smaller than the stack frame address, including D1 and D3, may be obtained first, and then the information of the distance between the determined first address and the stack frame address, that is, the distance M1 between D1 and D ', and the distance M2 between D2 and D ' may be obtained. The above M2 is smaller than M1, which indicates that the target data 2 corresponding to the distance M1 is determined as the target data to be checked, thereby ensuring the accuracy and reliability of obtaining the target data to be checked.
In this embodiment, by obtaining a first address corresponding to at least one target data, and then determining, in the at least one target data, a target data whose first address is smaller than a stack frame address and whose distance between the first address and the stack frame address is smaller than distances between first addresses and stack frame addresses of other target data as the target data to be checked, it is effectively achieved that target data to be checked, which is closest to the stack frame address, can be found based on the first address, and then whether the stack frame address falls within a code interval corresponding to the closest target data to be checked is compared, so as to implement a data checking operation.
Fig. 10 is a schematic flowchart of a second process for determining target data to be checked corresponding to a stack frame address by using a binary search algorithm in at least one target data according to an embodiment of the present application; on the basis of the foregoing embodiment, referring to fig. 10, in this embodiment, another implementation manner for determining target data to be checked corresponding to a stack frame address is provided, and in this embodiment, in at least one target data, determining the target data to be checked corresponding to the stack frame address by using a binary search algorithm may include:
step S1001: and acquiring a final address corresponding to the target data.
Step S1002: and in at least one target data, determining the target data of which the end address is greater than the stack frame address and the distance between the end address and the stack frame address is less than the distance between the end address and the stack frame address of other target data as the target data to be checked.
After the target data is acquired, the last address corresponding to the target data can be acquired, specifically, the last address can be determined based on the first address of the target data and the data length of the target data, and in the acquisition of the last address corresponding to the target data, the target data of which the last address is larger than the stack frame address and the distance between the last address and the stack frame address is smaller than the distance between the last address of other target data and the stack frame address can be determined as the target data to be inspected in at least one target data, so that the accurate reliability of the acquisition of the target data to be inspected can be effectively realized.
For example, referring to FIG. 6, the target data includes target data 1, target data 2, target data 3 and target data 4, the target data 1 corresponds to the end address d2, the target data 2 corresponds to the end address d4, the target data 3 corresponds to the end address d6, and the target data corresponds to the end address d 8.
When the stack frame address is D', the stack frame address may be analyzed and compared with the last address corresponding to the target data, and specifically, the last address larger than the stack frame address may be obtained first, including: d4, D6 and D8, and then obtaining the information of the distances between the determined last address and the stack frame address, namely the distance M11 between D4 and D ', the distance M12 between D6 and D ', and the distance M13 between D8 and D ', respectively. The above M11< M12< M13 indicates that the target data 2 corresponding to M11 is determined as target data to be checked, thereby ensuring the accuracy and reliability of obtaining the target data to be checked.
In this embodiment, by obtaining the last address corresponding to the target data, in at least one target data, the target data of which the last address is greater than the stack frame address and the distance between the last address and the stack frame address is less than the distance between the last address and the stack frame address of other target data is determined as the target data to be checked, so that the target data to be checked, which is closest to the stack frame address, can be effectively found based on the last address, and then, whether the stack frame address falls within a code interval corresponding to the closest target data to be checked is compared, so as to implement the data checking operation.
Fig. 11 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application; referring to fig. 11, the embodiment provides a further data checking method for a process stack, where an execution subject of the method may be a data processing apparatus of the process stack, and it is understood that the data processing apparatus of the process stack may be implemented as software, or a combination of software and hardware. Specifically, the data checking method of the process stack may include:
step S1101: at least one target data for implementing a data inspection operation is obtained.
When data checking operation is required, at least one target data for implementing the data checking operation may be obtained, for the target data, different data checking operations may correspond to the same amount of target data or different amounts of target data, and a person skilled in the art may configure the amount of the target data according to a specific application requirement or design requirement.
In addition, the embodiment does not limit the specific implementation manner for acquiring at least one target data, for example: the at least one target data may be stored in a preset area, and the at least one target data may be acquired by accessing the preset area. Alternatively, the at least one target data may be a data checking device sent by the client to the process stack, so that the data checking device can stably acquire the at least one target data. Of course, a person skilled in the art may also use other manners to obtain the at least one target data for implementing the data checking operation, as long as the accuracy and reliability of obtaining the at least one target data can be ensured, which is not described herein again.
Step S1102: the number of processors used to perform data checking operations on all process stacks is determined.
In order to implement the data checking operation, the number of processors for performing the data checking operation on the process stack may be determined, and it is understood that different operating systems may correspond to different processors, and the processors included in the same operating system have the same processing capability.
In addition, for the data checking apparatus of the process stack, when the data checking apparatus runs a certain operating system, the data checking apparatus may be configured with a plurality of processors, and it is understood that different data checking apparatuses may correspond to different numbers of processors, for example: data checking apparatus 1 may correspond to 32 processors, data checking apparatus 2 may correspond to 64 processors, data checking apparatus 3 may correspond to 128 processors, and so on.
In addition, the embodiment does not limit a specific implementation manner for determining the number of processors for performing data checking operations on all process stacks, and a person skilled in the art performs setting according to a specific application scenario or design requirement, for example: processor configuration information may be preconfigured in the data checking device and the number of processors may then be determined based on the processor configuration information. Of course, those skilled in the art may also determine the number of processors in other manners, as long as the number of processors can be determined accurately and reliably, which is not described herein again.
Step S1103: at least one target data set is obtained by dividing the target data based on the number of processors.
In order to enable a plurality of processors to perform data checking operations in parallel, after acquiring the number of processors and at least one target data, the at least one target data may be divided based on the number of processors, so that a target data set may be obtained, in some examples, the number of obtained target data sets is the same as the number of processors.
For example, when the number of processors is 64, and the number of at least one target data is 200, the at least one target data may be divided into 64 target data sets based on the number of processors, and each target data set may include about 3 to 4 target data that need to be subjected to a data checking operation.
Step S1104: and utilizing the processor to perform data checking operation on the target data and all process stacks included in the target data set to obtain a data checking result.
After the target data sets are obtained, the processor corresponding to each target data set may be determined, it may be understood that different target data sets may correspond to different processors, and then the processors may be used to perform data checking operations on the target data and all the process stacks included in the respective corresponding target data sets, so that a data checking result may be obtained.
In the data inspection method for a process stack provided in this embodiment, at least one target data for implementing a data inspection operation is obtained, the number of processors for performing the data inspection operation on all process stacks is determined, and the at least one target data is divided based on the number of processors to obtain a target data set, and then the target data and all process stacks included in the target data set are subjected to the data inspection operation by the processors to obtain a data inspection result, so that the data inspection operation on the target data and all process stacks included in the target data set can be performed in parallel by a plurality of processors, and the implementation manner is simple and reliable, the time complexity is low, and when the number of processes to be processed and the number of target data in a process stack are large, the downtime advantage of the data inspection operation is more significant, the quality and the efficiency of the data inspection operation are improved, the practicability and the application range of the data inspection operation are further guaranteed, and the popularization and the application of the market are facilitated.
Fig. 12 is a schematic flowchart of a data checking method for a process stack according to an embodiment of the present application; referring to fig. 12, the embodiment provides a further data checking method for a process stack, where an execution subject of the method may be a data processing apparatus of the process stack, and it is understood that the data processing apparatus of the process stack may be implemented as software, or a combination of software and hardware. Specifically, the data checking method of the process stack may include:
step S1201: a data check request is obtained.
In the running process of the operating system (such as a Windows system, a Linux system, etc.), data check operation can be performed on the operating system kernel (such as a Windows kernel, a Linux kernel, etc.) periodically or aperiodically, and the data check operation can realize data optimization, data update, etc. on at least part of data of the operating system kernel. When the data checking operation is performed on the kernel of the operating system regularly, the data checking request can be automatically generated based on a set period; when the data checking operation is performed on the operating system kernel aperiodically, the data checking request may be generated based on design requirements or application requirements of a user, in some examples, an interactive interface may be provided on the data processing apparatus of the process stack, and the user may input an execution operation on the interactive interface, so that the data processing apparatus may directly obtain the data checking request based on the execution operation. In still other examples, the data processing apparatus of the process stack may be communicatively connected with a client, a user may input an execution operation on the client, the client may generate a data check request based on the execution operation, and after the client acquires the data check request, the data check request may be sent to the data processing apparatus of the process stack, thereby ensuring that the data processing apparatus can stably acquire the data check request.
Of course, the specific obtaining manner of the data checking request is not limited to the implementation manner described above, and those skilled in the art may also use other manners to obtain the data checking request, as long as the accuracy and reliability of obtaining the data checking request can be ensured, which is not described herein again.
Step S1202: determining at least one data inspection task based on the data inspection request, wherein the data inspection task comprises at least one of the following: a process stack set and a target data set.
After the data inspection request is acquired, at least one data inspection task may be determined based on the data inspection request, wherein the data inspection task may include at least one of: a process stack set and a target data set. In some examples, at least one process stack set may be determined based on the data checking request, and the process stack set may include at least one process stack that needs to perform the data checking operation. The implementation manner and implementation effect of determining at least one process stack set based on the data check request in this embodiment are similar to the implementation manner and implementation effect of step S202 in the foregoing embodiment, and reference may be specifically made to the above statements, and details are not described here again.
In still other examples, at least one target data set may be determined based on the data inspection request, and at this time, at least one target data required for the data inspection operation may be included in the target data set. The implementation manner and implementation effect of determining at least one target data set based on the data check request in this embodiment are similar to the implementation manner and implementation effect of steps S1101-S1103 in the foregoing embodiment, and reference may be specifically made to the above statements, and details are not repeated here.
In other examples, at least one process stack set and at least one target data set may be determined based on the data checking request, at this time, at least one process stack that needs to perform the data checking operation may be included in the process stack set, and at least one target data that needs to perform the data checking operation may be included in the target data set. It may be understood that a specific implementation manner of determining at least one process stack set in this embodiment is similar to a specific implementation manner of determining at least one process stack set in the foregoing embodiment, and a specific implementation manner of determining at least one target data set in this embodiment is similar to a specific implementation manner of determining at least one target data set in the foregoing embodiment, which may specifically refer to the above statements and is not described herein again.
Step S1203: a processor corresponding to the data inspection task is determined.
After the at least one data inspection task is acquired, in order to improve the quality and efficiency of the data inspection operation, the processors corresponding to the at least one data inspection task may be determined, specifically, since any two processors configured in the same operating system have the same data processing capability and the number of the processors is the same as the number of the data inspection tasks, different processors may be directly configured for different data inspection tasks, so that different data inspection tasks may correspond to different processors, which is beneficial to the realization that a plurality of processors may perform the data inspection operation on the data inspection tasks corresponding to the respective processors in parallel.
Step S1204: and carrying out data inspection operation on the data inspection task by using the processor to obtain a data inspection result.
After the processor is configured for each data check task, the processor may be used to perform a data check operation on the process stack or the target data corresponding to the data check task, so that a data check result may be obtained. In some examples, in order to ensure stable reliability of the operation of the data checking operation, the data checking operation may be performed when the core operation state is a shutdown state, in this case, performing the data checking operation on the data checking task by using the processor in this embodiment, and obtaining the data checking result may include: acquiring a kernel running state; and when the running state of the kernel is the shutdown state, performing data checking operation on the data checking task by using the processor.
In still other examples, after obtaining the data inspection result, the method in this embodiment may include: when the data checking result is in a success state, allowing the data updating operation based on the data checking request; and when the data checking result is in a failure state, forbidding the data updating operation based on the data checking request.
The data checking result may include a success state or a failure state, and when the data checking result is the success state, it indicates that the process stacks being processed in all the processors do not include target data that needs to be updated or optimized, that is, the data updating operation or the data optimizing operation is performed safely, and further the data updating operation is allowed to be performed based on the data checking request. When the data checking result is in a failure state, it indicates that the process stack being processed in the processor in the kernel of the operating system includes target data that needs to be updated or optimized, that is, the data updating operation or the data optimizing operation is not safe, and further the data updating operation based on the data checking request is prohibited, so that the stability and reliability of the data updating operation are effectively ensured.
In the data inspection method of the process stack provided by this embodiment, the data inspection request is obtained, at least one data inspection task is determined based on the data inspection request, the processor corresponding to the data inspection task is determined, and then the data inspection operation is performed on the data inspection task by using the processor, so as to obtain the data inspection result, thereby effectively realizing that a plurality of processors can perform the data inspection operation on the data inspection task in parallel.
In specific application, referring to fig. 13 to fig. 14, an execution main body of the data checking method for a process stack according to the present application embodiment may be a data checking apparatus for a process stack, where the data checking apparatus may be disposed in a data processing system, and specifically, when the data checking apparatus for a process stack executes the data checking method, the following steps may be included;
step 1: and initializing operation of the system/module and acquiring a data checking request.
Step 2: at least one objective function for implementing the data inspection operation is determined based on the data inspection request.
And step 3: the address and range of at least one target function is determined and the target functions are address ordered before entering a shutdown state.
Specifically, the address and the range of at least one objective function are determined by an address obtaining function "get", where code intervals of the objective functions are not intersected, as shown in fig. 14, the objective function includes an objective function 1, an objective function 2, an objective function 3, and an objective function 4, that is, there is no intersection between address information of any two objective functions, and after the respective corresponding addresses and ranges of the objective functions are obtained, the objective functions may be sorted, for example: the sorted target functions are respectively a target function 3, a target function 2, a target function 4 and a target function 1 from high to low.
And 4, step 4: and calling a shutdown operation instruction, and controlling the system to shutdown and operate based on the shutdown operation instruction.
Specifically, in order to ensure the stable reliability of the data checking operation, the stop operation instruction "stop _ machine function" may be called and the stop operation may be executed based on the "stop _ machine function" described above.
And 5: after the system enters a halt state, all process stacks in the system are subjected to uniform division operation to obtain a plurality of process stack sets, and each process stack set can comprise a plurality of process stacks.
Step 6: acquiring a processor CPU included in the system, configuring a CPU for each process stack set, and performing data check operation on the process stacks included in the process stack sets corresponding to the CPU.
For each CPU, the CPU may view each stack frame of a process stack included in the process stack combination, and specifically, may obtain, through a stack crawling interface, a stack frame corresponding to each process stack in the process stack set.
After acquiring the address and the range of the stack frame and at least one target function corresponding to each process stack, finding the nearest target function with the first address smaller than the stack frame address by using a binary search algorithm, then comparing whether the stack frame address falls in a code interval of the target function, and if so, failing the check; if not, the check is successful.
In addition, in order to ensure the safety and reliability of the operation of the data checking operation, for a plurality of CPUs included in the system, one of the CPUs may be selected as a main CPU, and the main CPU performs the data checking operation on the process stack and the target function included in the corresponding process stack set at this time to obtain a data checking result, and the main CPU may be in communication connection with other CPUs and obtain analysis and checking results of the other CPUs, so that the data checking results of all the CPUs can be obtained by the main CPU. And when the data checking results of all the CPUs are successful, determining that the data checking results are successful, otherwise, determining that the data checking results fail.
And 7: when the result of the data checking operation is successful, allowing the data updating operation based on the data checking request; if the result of the data check operation is a failure yes, the data update operation based on the data check request is prohibited.
The data inspection method provided in this application embodiment has a low time complexity, where assuming that the number of CPUs is C, the number of process stacks is T, the average stack depth is D, and the number of replaced objective functions is N, the time complexity in the existing implementation is O (T × D × N), and the time complexity of the implementation in this embodiment is O (T/C × D log N), for example, the average time in the prior art is 63ms, and the average time of the implementation is 5.6ms, so that multiple processors can perform data inspection operations on multiple data inspection tasks in parallel, and the quality and efficiency of the data inspection operations are improved, and the implementation is simple, The method has the advantages that the reliability is realized, the time complexity is low, the more the process quantity and the target function quantity which need to be processed in the data inspection task are, the shorter the downtime required by the data inspection system of the process stack is, the practicability and the application range of the data inspection operation are further ensured, and the popularization and the application of the market are facilitated.
Fig. 15 is a schematic structural diagram of a data checking apparatus of a process stack according to an embodiment of the present application; referring to fig. 15, this embodiment provides a data checking apparatus of a process stack, where the data checking apparatus may perform the data checking method of the process stack shown in fig. 2, and specifically, the data checking apparatus of the process stack may include:
a first obtaining module 11, configured to obtain a data checking request;
a first determining module 12, configured to determine at least one process stack set based on the data checking request, where the process stack set includes at least one process stack that needs to perform data checking operation;
the first determining module 12 is further configured to determine a processor corresponding to at least one process stack set;
the first processing module 13 is configured to perform a data check operation on the process stack in the process stack set by using the processor, and obtain a data check result.
In some examples, when the first determining module 12 determines the at least one set of process stacks based on the data inspection request, the first determining module 12 is configured to perform: acquiring all process stacks in the kernel based on the data checking request; determining the number of processors for performing data checking operations on a process stack; and uniformly dividing all process stacks based on the number of the processors to obtain at least one process stack set, wherein the number of the process stack sets is the same as the number of the processors.
In some examples, when the first processing module 13 performs a data checking operation on a process stack in the process stack set by using a processor, the first processing module 13 is configured to perform: acquiring a kernel running state; and when the running state of the kernel is a halt state, the processor is utilized to carry out data check operation on the process stack in the process stack set.
In some examples, when the first processing module 13 performs a data checking operation on a process stack in the process stack set by using a processor, and obtains a data checking result, the first processing module 13 is configured to perform: utilizing the processor to perform data inspection operation on the process stack in the process stack set to obtain a sub-inspection result of the processor; based on all the sub-inspection results, a data inspection result is obtained.
In some examples, before obtaining the data checking result based on all the sub-checking results, the first obtaining module 11 and the first processing module 13 in this embodiment are configured to perform the following steps:
a first obtaining module 11, configured to obtain configuration requests corresponding to all processors;
and the first processing module 13 is configured to configure any one of all the processors as a main processor based on the configuration request, and the main processor is configured to obtain the sub-inspection results obtained by the other processors.
In some examples, when the first processing module 13 obtains the data checking result based on all the sub-checking results, the first processing module 13 is configured to perform: when all the sub-inspection results are successful, determining that the data inspection result is in a successful state; and when any sub-inspection result is inspection failure, determining that the data inspection result is in a failure state.
In some examples, when the first processing module 13 performs a data checking operation on a process stack in the process stack set by using a processor to obtain a sub-checking result corresponding to the processor, the first processing module 13 is configured to perform: acquiring at least one target data corresponding to the data inspection request; determining a stack frame address corresponding to each process stack in a process stack set; and carrying out data check operation on the stack frame address and at least one target data by using the processor to obtain a sub-check result of the processor.
In some examples, after acquiring the at least one target data corresponding to the data checking request, the first determining module 12 and the first processing module 13 in the embodiment are configured to perform the following steps:
a first determining module 12, configured to determine the number of processors for performing a data checking operation on a process stack;
a first processing module 13, configured to divide at least one target data based on the number of processors, to obtain a target data set corresponding to the processors; and carrying out data check operation on the target data and the stack frame address included in the target data set by using the processor to obtain a sub-check result of the processor.
In some examples, when the first processing module 13 performs a data check operation on the stack frame address and the at least one target data by using the processor to obtain a sub-check result of the processor, the first processing module 13 is configured to perform: determining address information and a data range corresponding to at least one target data; determining target data to be inspected corresponding to a stack frame address in at least one target data by utilizing a binary search algorithm, wherein the distance between the address information of the target data to be inspected and the stack frame address is smaller than the distance between the address information of other target data and the stack frame address; detecting whether the stack frame address is located in a data range corresponding to target data to be detected or not by using a processor; a sub-inspection result corresponding to the processor is determined based on the detection result.
In some examples, after determining the address information corresponding to each of the at least one target data, the first processing module 13 in this embodiment is configured to perform: the at least one target data is sorted based on the address information.
In some examples, when the first processing module 13 determines the target data to be checked corresponding to the stack frame address by using a binary search algorithm in the at least one target data, the first processing module 13 is configured to perform the steps of obtaining a first address corresponding to the at least one target data; and in at least one target data, determining the target data of which the first address is smaller than the stack frame address and the distance between the first address and the stack frame address is smaller than the distance between the first address and the stack frame address of other target data as the target data to be checked.
In some examples, when the first processing module 13 determines the sub-inspection result corresponding to the processor based on the detection result, the first processing module 13 is configured to perform: when the stack frame address is located in a data range corresponding to target data to be checked, determining that the sub-checking result is checking failure; and when the stack frame address is not located in the data range corresponding to the target data to be checked, determining that the sub-checking result is successful.
In some examples, after obtaining the data checking result, the first processing module 13 in this embodiment is configured to perform: when the data checking result is in a success state, allowing the data updating operation based on the data checking request; and when the data checking result is in a failure state, forbidding the data updating operation based on the data checking request.
The apparatus shown in fig. 15 can perform the method of the embodiments shown in fig. 1-10 and 13-14, and the detailed description of this embodiment can refer to the related descriptions of the embodiments shown in fig. 1-10 and 13-14. The implementation process and technical effect of the technical solution are described in the embodiments shown in fig. 1-10 and fig. 13-14, and are not described herein again.
In one possible design, the structure of the data checking apparatus of the process stack shown in fig. 15 may be implemented as an electronic device, which may be a mobile phone, a tablet computer, a server, or other devices. As shown in fig. 16, the electronic device may include: a first processor 21 and a first memory 22. Wherein, the first memory 22 is used for storing a program of a corresponding electronic device to execute the data checking method of the process stack provided in the embodiments shown in fig. 1-10 and fig. 13-14, and the first processor 21 is configured to execute the program stored in the first memory 22.
The program comprises one or more computer instructions, wherein the one or more computer instructions, when executed by the first processor 21, are capable of performing the steps of: acquiring a data checking request; determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation; determining a processor corresponding to at least one process stack set; and utilizing the processor to perform data inspection operation on the process stack in the process stack set to obtain a data inspection result.
Further, the first processor 21 is also used to execute all or part of the steps in the embodiments shown in fig. 1-10 and 13-14.
The electronic device may further include a first communication interface 23 for communicating with other devices or a communication network.
In addition, the embodiment of the present invention provides a computer storage medium for storing computer software instructions for an electronic device, which includes a program for executing the data checking method of the process stack in the method embodiments shown in fig. 1 to 10 and 13 to 14.
Fig. 17 is a schematic structural diagram of another data checking apparatus of a process stack according to an embodiment of the present application; referring to fig. 17, this embodiment provides another data checking apparatus for a process stack, where the data checking apparatus may perform the method for checking data of a process stack shown in fig. 11, and specifically, the data checking apparatus for a process stack may include:
a second obtaining module 31, configured to obtain at least one target data for implementing a data checking operation;
a second determining module 32, configured to determine the number of processors for performing data checking operations on all process stacks;
a second dividing module 33, configured to divide at least one target data based on the number of processors to obtain a target data set;
and the second processing module 34 is configured to perform, by using the processor, a data check operation on the target data and all process stacks included in the target data set, so as to obtain a data check result.
The apparatus shown in fig. 17 can perform the method of the embodiments shown in fig. 11 and fig. 13-14, and the related descriptions of the embodiments shown in fig. 11 and fig. 13-14 can be referred to for the parts of this embodiment not described in detail. The implementation process and technical effect of the technical solution are described in the embodiments shown in fig. 11 and fig. 13 to fig. 14, and are not described herein again.
In one possible design, the structure of the data checking apparatus of the process stack shown in fig. 17 may be implemented as an electronic device, which may be a mobile phone, a tablet computer, a server, or other devices. As shown in fig. 18, the electronic device may include: a second processor 41 and a second memory 42. Wherein, the second memory 42 is used for storing a program of the corresponding electronic device for executing the data checking method of the process stack provided in the embodiments shown in fig. 11 and fig. 13-14, and the second processor 41 is configured to execute the program stored in the second memory 42.
The program comprises one or more computer instructions, wherein the one or more computer instructions, when executed by the second processor 41, are capable of performing the steps of: acquiring at least one target data for implementing a data inspection operation; determining the number of processors for performing data checking operations on all process stacks; dividing at least one target data based on the number of processors to obtain a target data set; and utilizing the processor to perform data checking operation on the target data and all process stacks included in the target data set to obtain a data checking result.
Further, the second processor 41 is also used to execute all or part of the steps in the embodiments shown in fig. 11, 13-14.
The electronic device may further include a second communication interface 43 for communicating with other devices or a communication network.
In addition, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for an electronic device, which includes a program for executing the data checking method of the process stack in the method embodiments shown in fig. 11, 13 to 14.
Fig. 19 is a schematic structural diagram of a data checking apparatus of a process stack according to an embodiment of the present application; referring to fig. 19, this embodiment provides still another data checking apparatus for a process stack, where the data checking apparatus may perform the method for checking data of a process stack shown in fig. 12, and specifically, the data checking apparatus for a process stack may include:
a third obtaining module 51, configured to obtain a data checking request;
a third determining module 52, configured to determine at least one data checking task based on the data checking request, where the data checking task includes at least one of: a process stack set and a target data set;
a third determination module 52 for determining a processor corresponding to the data inspection task;
and the third processing module 53 is configured to perform a data check operation on the data check task by using the processor, so as to obtain a data check result.
The apparatus shown in fig. 19 can perform the method of the embodiment shown in fig. 12-14, and the related description of the embodiment shown in fig. 12-14 can be referred to for the part not described in detail in this embodiment. The implementation process and technical effect of the technical solution are described in the embodiments shown in fig. 12 to 14, and are not described herein again.
In one possible design, the structure of the data checking apparatus of the process stack shown in fig. 19 may be implemented as an electronic device, which may be a mobile phone, a tablet computer, a server, or other devices. As shown in fig. 20, the electronic device may include: a third processor 61 and a third memory 62. Wherein the third memory 62 is used for storing a program for executing the data checking method of the process stack provided in the embodiment shown in fig. 12-14, and the third processor 61 is configured for executing the program stored in the third memory 62.
The program comprises one or more computer instructions, wherein the one or more computer instructions, when executed by the third processor 61, are capable of performing the steps of: acquiring a data checking request; determining at least one data inspection task based on the data inspection request, wherein the data inspection task comprises at least one of the following: a process stack set and a target data set; determining a processor corresponding to the data inspection task; and carrying out data inspection operation on the data inspection task by using the processor to obtain a data inspection result.
Further, the third processor 61 is also used for executing all or part of the steps in the embodiments shown in fig. 12-14.
The electronic device may further include a third communication interface 63 for communicating with other devices or a communication network.
In addition, an embodiment of the present invention provides a computer storage medium for storing computer software instructions for an electronic device, which includes a program for executing the data checking method of the process stack in the method embodiments shown in fig. 12 to 14.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by adding a necessary general hardware platform, and of course, can also be implemented by a combination of hardware and software. With this understanding in mind, the above-described technical solutions and/or portions thereof that contribute to the prior art may be embodied in the form of a computer program product, which may be embodied on one or more computer-usable storage media having computer-usable program code embodied therein (including but not limited to disk storage, CD-ROM, optical storage, etc.).
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (14)

1. A data checking method of a process stack comprises the following steps:
acquiring a data checking request;
determining at least one process stack set based on the data checking request, wherein the process stack set comprises at least one process stack needing data checking operation;
determining a processor corresponding to the at least one process stack set;
and utilizing the processor to perform data checking operation on the process stacks in the process stack set to obtain a data checking result.
2. The method of claim 1, determining at least one set of process stacks based on the data inspection request, comprising:
acquiring all process stacks in a kernel based on the data checking request;
determining the number of processors for performing data checking operations on a process stack;
and performing uniform division operation on all process stacks based on the number of the processors to obtain at least one process stack set, wherein the number of the process stack sets is the same as the number of the processors.
3. The method of claim 1, performing, with the processor, a data checking operation on a process stack in the set of process stacks, comprising:
acquiring a kernel running state;
and when the kernel running state is a shutdown state, performing data checking operation on the process stack in the process stack set by using the processor.
4. The method of claim 1, performing, by a processor, a data checking operation on a process stack in the set of process stacks to obtain a data checking result, comprising:
utilizing the processor to perform data checking operation on the process stacks in the process stack set to obtain a sub-checking result of the processor;
and obtaining the data inspection result based on all the sub-inspection results.
5. The method of claim 4, before obtaining the data inspection results based on all sub-inspection results, the method further comprising:
acquiring configuration requests corresponding to all processors;
and configuring any processor in all processors as a main processor based on the configuration request, wherein the main processor is used for acquiring the sub-inspection results obtained by other processors.
6. The method of claim 4, obtaining the data inspection results based on all sub-inspection results, comprising:
when all the sub-inspection results are successful, determining that the data inspection result is in a successful state;
and when any sub-inspection result is inspection failure, determining that the data inspection result is in a failure state.
7. The method of claim 4, performing, by the processor, a data checking operation on a process stack in the set of process stacks to obtain a sub-checking result corresponding to the processor, comprising:
acquiring at least one target data corresponding to the data inspection request;
determining a stack frame address corresponding to each process stack in the process stack set;
and utilizing a processor to carry out data check operation on the stack frame address and the at least one target data to obtain a sub-check result of the processor.
8. The method of claim 7, after obtaining at least one target data corresponding to the data inspection request, the method further comprising:
determining the number of processors for performing data checking operations on a process stack;
dividing the at least one target data based on the number of processors to obtain a target data set corresponding to the processors;
and utilizing the processor to carry out data inspection operation on the target data and the stack frame address included in the target data set, and obtaining a sub-inspection result of the processor.
9. The method of claim 7, performing a data check operation on the stack frame address and the at least one target data using a processor to obtain a sub-check result of the processor, comprising:
determining address information and a data range corresponding to the at least one target data;
determining target data to be checked corresponding to the stack frame address in the at least one target data by utilizing a binary search algorithm, wherein the distance between the address information of the target data to be checked and the stack frame address is smaller than the distance between the address information of other target data and the stack frame address;
detecting whether the stack frame address is located in a data range corresponding to target data to be detected or not by using the processor;
determining a sub-inspection result corresponding to the processor based on the detection result.
10. The method of claim 9, determining target data to be inspected corresponding to the stack frame address using a binary search algorithm in the at least one target data, comprising:
acquiring a first address corresponding to the at least one target data;
and in the at least one target data, determining the target data of which the first address is smaller than the stack frame address and the distance between the first address and the stack frame address is smaller than the distance between the first address and the stack frame address of other target data as the target data to be checked.
11. The method of claim 9, determining a sub-inspection result corresponding to the processor based on the detection result, comprising:
when the stack frame address is located in a data range corresponding to target data to be checked, determining that the sub-checking result is checking failure;
and when the stack frame address is not located in the data range corresponding to the target data to be checked, determining that the sub-checking result is successful.
12. The method of claim 1, after obtaining data inspection results, the method further comprising:
when the data checking result is in a success state, allowing data updating operation based on the data checking request;
and when the data checking result is in a failure state, prohibiting data updating operation based on the data checking request.
13. A data checking method of a process stack comprises the following steps:
acquiring at least one target data for implementing a data inspection operation;
determining the number of processors for performing data checking operations on all process stacks;
dividing the at least one target data based on the number of processors to obtain a target data set;
and utilizing the processor to perform data checking operation on the target data and all process stacks included in the target data set to obtain a data checking result.
14. An electronic device, comprising: a memory, a processor; wherein the memory is configured to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement a method of data inspection of a process stack as recited in any of claims 1-12.
CN202110819429.3A 2021-07-20 2021-07-20 Data checking method, device and equipment of process stack Pending CN113608846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110819429.3A CN113608846A (en) 2021-07-20 2021-07-20 Data checking method, device and equipment of process stack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110819429.3A CN113608846A (en) 2021-07-20 2021-07-20 Data checking method, device and equipment of process stack

Publications (1)

Publication Number Publication Date
CN113608846A true CN113608846A (en) 2021-11-05

Family

ID=78304862

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110819429.3A Pending CN113608846A (en) 2021-07-20 2021-07-20 Data checking method, device and equipment of process stack

Country Status (1)

Country Link
CN (1) CN113608846A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799763A (en) * 2009-02-10 2010-08-11 华为技术有限公司 Method, device and system for patching kernel on line
CN102073529A (en) * 2011-01-30 2011-05-25 华为技术有限公司 Method and computer system for upgrading super kernel component
US20130024428A1 (en) * 2011-07-20 2013-01-24 Symantec Corporation Method and system for a fast full style system check using multithreaded read ahead
CN105528231A (en) * 2016-01-21 2016-04-27 华中科技大学 Intermediate auxiliary function-based method and intermediate auxiliary function-based system for dynamically updating software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799763A (en) * 2009-02-10 2010-08-11 华为技术有限公司 Method, device and system for patching kernel on line
CN102073529A (en) * 2011-01-30 2011-05-25 华为技术有限公司 Method and computer system for upgrading super kernel component
US20130024428A1 (en) * 2011-07-20 2013-01-24 Symantec Corporation Method and system for a fast full style system check using multithreaded read ahead
CN105528231A (en) * 2016-01-21 2016-04-27 华中科技大学 Intermediate auxiliary function-based method and intermediate auxiliary function-based system for dynamically updating software

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨友三: "《集体智慧》", 31 May 2020, 陕西科学技术出版社, pages: 79 - 83 *
韦鹏程等: "《Python编程基础与应用》", 31 January 2020, 浙江科学技术出版社, pages: 148 - 155 *

Similar Documents

Publication Publication Date Title
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
EP3364623B1 (en) Method for automatically deploying application, and cloud management node
US11061984B2 (en) Grid-based geofence data indexing
US10210054B1 (en) Backup optimization in hybrid storage environment
US20170262216A1 (en) Dynamic storage tiering based on predicted workloads
US11665064B2 (en) Utilizing machine learning to reduce cloud instances in a cloud computing environment
CN113312361B (en) Track query method, device, equipment, storage medium and computer program product
US20230054683A1 (en) Correspondence of external operations to containers and mutation events
CN115525631A (en) Database data migration method, device, equipment and storage medium
US20220138023A1 (en) Managing alert messages for applications and access permissions
CN110928941B (en) Data fragment extraction method and device
US11561843B2 (en) Automated performance tuning using workload profiling in a distributed computing environment
US20210240368A1 (en) Automatically Determining Sizing Configurations for Storage Components Using Machine Learning Techniques
CN113608846A (en) Data checking method, device and equipment of process stack
US9298487B2 (en) Managing virtual machine images in a distributed computing environment
US11477293B2 (en) Optimize migration of cloud native applications in a mutli-cloud environment
US11188249B2 (en) Storage alteration monitoring
US10114844B2 (en) Readiness checker for content object movement
CN109902067B (en) File processing method and device, storage medium and computer equipment
US11157309B2 (en) Operating cluster computer system with coupling facility
WO2021096346A1 (en) A computer-implemented system for management of container logs and its method thereof
US10102376B2 (en) Implementing locale management on PaaS: locale replacement risk analysis
CN113312360B (en) Index establishing method, device, equipment, storage medium and computer program product
US11940880B2 (en) Folder scan system and method for incremental backup
US20230244542A1 (en) System and method for automatically identifying application groups in container deployment environments

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