CN107341026B - Method and device for controlling driver - Google Patents

Method and device for controlling driver Download PDF

Info

Publication number
CN107341026B
CN107341026B CN201610287332.1A CN201610287332A CN107341026B CN 107341026 B CN107341026 B CN 107341026B CN 201610287332 A CN201610287332 A CN 201610287332A CN 107341026 B CN107341026 B CN 107341026B
Authority
CN
China
Prior art keywords
driver
state information
running state
driving program
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610287332.1A
Other languages
Chinese (zh)
Other versions
CN107341026A (en
Inventor
黄家隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610287332.1A priority Critical patent/CN107341026B/en
Priority to PCT/CN2017/079858 priority patent/WO2017190575A1/en
Publication of CN107341026A publication Critical patent/CN107341026A/en
Application granted granted Critical
Publication of CN107341026B publication Critical patent/CN107341026B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application provides a method and a device for controlling a driver, wherein the method comprises the following steps: acquiring running state information corresponding to a driving program; when the running state information is determined to be first identification information representing the previous running abnormity of the driver, current system information of an operating system is obtained, and the current system information is reported to a network side; and receiving the drive program control information issued by the network side. The technical scheme provided by the application improves the stability of the driving program and improves the stability of the operating system.

Description

Method and device for controlling driver
Technical Field
The present invention relates to computer technologies, and in particular, to a method and an apparatus for controlling a driver.
Background
A plurality of application software, such as application software based on virus killing, computer housekeeping application software, and mobile phone assistant application software, are usually installed in an intelligent electronic device, such as a computer, an intelligent mobile phone, and a tablet computer. The driver of the application software is a special type of program, and part of the drivers usually play an important role in the operating system of the intelligent electronic device, and for example, the driver of the application software can be operated in the intelligent electronic device all the time as the basic function service of the operating system, and for example, the driver of the application software plays a core role in the information security system of the intelligent electronic device because of having the highest access right of the operating system.
The inventor finds that, in the process of implementing the present application, a stability problem of a driver of application software may cause an abnormality in the running process, the driver of the application software running abnormally may often affect normal running of an operating system, sometimes even cause a crash of the operating system (for example, cause a blue screen phenomenon of the operating system), and the driver of the application software may still be started after the operating system is restarted due to the crash of the system.
Disclosure of Invention
The application aims to provide a method and a device for controlling a driver.
According to an aspect of the present application, a method for controlling a driver is provided, and the method mainly includes the steps of: acquiring running state information corresponding to a driver of predetermined application software under the condition that the driver needs to be started; when the running state information is determined to be first identification information representing the previous running abnormity of the driver, obtaining current system information of an operating system, and reporting the current system information to a network side; and executing corresponding operation according to the drive program control information issued by the network side.
According to another aspect of the present application, there is also provided a control apparatus of a driver, and the apparatus mainly includes: the system comprises an acquisition state information module, a display module and a display module, wherein the acquisition state information module is used for acquiring running state information corresponding to a driving program of preset application software under the condition that the driving program needs to be started; the first control module is used for acquiring the current system information of the operating system and reporting the current system information to a network side when the operating state information is determined to be the first identification information representing the previous abnormal operation of the driving program; and the operation execution module is used for executing corresponding operation according to the drive program control information issued by the network side.
Compared with the prior art, the method has the following advantages in each embodiment: judging whether the previous operation of the driver is abnormal or not according to the value of the operating state information of the driver; according to the method and the device, when the driver is judged to be abnormal in the previous operation, the current system information of the operating system is collected and reported to the network side, and the starting operation of the driver is not executed under the condition that the control information of the driver issued by the network side is not received, so that the starting of the driver is in a fusing state, and the phenomenon that the abnormal driver is still continuously started after the operating system is restarted due to system crash is avoided; the network side can analyze whether the driver of the user side has problems and what kind of problems exist according to the reported front system information, and the network side can determine what kind of driver control information is issued to the user side according to the analysis result, so that the application can execute corresponding operation according to the driver control information issued by the network side to realize normal starting of the driver, and the application avoids the adverse effect of the driver with unstable factors on the stability of the operating system; therefore, the technical scheme provided by the application improves the stability of the driver of the application software and improves the stability of the operating system.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
fig. 1 is a flowchart of a method for controlling a driver according to a first embodiment of the present application;
FIG. 2 is a flowchart of a method for controlling a driver according to a second embodiment of the present application;
fig. 3 is a first structural diagram of a control device of a driver according to a third embodiment of the present application;
fig. 4 is a schematic structural diagram of a module for acquiring status information according to a third embodiment of the present application;
fig. 5 is a second schematic structural diagram of a control device of a driver according to a third embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more apparent, embodiments of the present application will be described in detail below with reference to the accompanying drawings.
Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flow diagrams of the present application describe the operations as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
The server in this embodiment includes, but is not limited to, a single network server, a server group composed of a plurality of network servers, or a Cloud Computing (Cloud Computing) based Cloud composed of a large number of computers or network servers, wherein the Cloud Computing is one of distributed Computing and is a super virtual computer composed of a group of loosely coupled computers. The server can access the network and perform information interaction operation with other devices in the network. The network to which the server can access includes, but is not limited to, the internet, a wide area network, a metropolitan area network, a local area network, a VPN network, and the like.
It should be noted that the server, the network, and the like are only examples, and other existing or future servers or networks may be included in the scope of the present application, if applicable, and are included by reference.
The embodiments of the methods discussed in the following description, some of which are illustrated by flow diagrams, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a storage medium. The processor(s) may perform the necessary tasks.
Specific structural and functional details disclosed herein are merely representative and are presented for purposes of describing example embodiments of the present application, however, the present application may be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element may be termed a second element, and, similarly, a second element may be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements (e.g., "between" as opposed to "directly between", "adjacent" as opposed to "directly adjacent", etc.) should be interpreted in a similar manner.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that, in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may, in fact, be executed substantially concurrently, or the figures may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Description of technical terms:
a driver is a special type of program that enables a predetermined module (e.g., application software) to function properly.
The first identification information is used for representing the previous operation exception of the driver.
The second identification information is used for representing that the driving program operates normally in the previous time.
The abnormal operation refers to an abnormal phenomenon in the operation process, such as abnormal exit and the like.
The network side corresponds to the user side, and the network side may be specifically a server located in the network, or the like.
System information generally refers to information generated by an operating system during runtime.
The technical solution of the present application is further described in detail below with reference to the accompanying drawings.
Embodiment one, control method of the driver.
Fig. 1 is a flowchart of a control method of the driver according to the present embodiment. In fig. 1, the method of this embodiment mainly includes: step S100, step S110, step S120, and step S130. The driver in this embodiment is generally a driver of application software, and for application software that needs to be started with the start of the operating system of the intelligent electronic device, the method of this embodiment may be run in a system service (that is, an execution subject of the method of this embodiment may be the system service). The application software in this embodiment may be application software based on virus killing, computer housekeeping application software, mobile phone assistant application software, and the like. The intelligent electronic device in this embodiment may be a computer, an intelligent mobile phone, a tablet computer, or the like, and the operating system of the intelligent electronic device may be a WINDOWS operating system.
The steps included in the method of the present embodiment are described below.
And S100, acquiring running state information corresponding to the driving program.
As an example, in the present embodiment, when a driver (e.g., a predetermined application software) needs to be started, the running state information corresponding to the driver may be acquired. The predetermined application software in this embodiment is application software that needs to be controlled to start a driver, and the predetermined application software in this embodiment is third-party application software, such as application software based on virus killing installed in the intelligent electronic device, computer housekeeping application software, and mobile phone assistant application software. The number of the predetermined application software in the present embodiment may be one or more. The embodiment does not limit the concrete expression form and the number of the predetermined application software. The following describes each step in the present application in detail, taking a driver as an example of a driver of predetermined application software.
As an example, in the case that the driver of the predetermined application software in this embodiment is a driver that needs to be started along with the start of the operating system, the method of this embodiment may be implemented by a system service, that is, the method of this embodiment sets a system service in advance for the application software that needs to be controlled to start the driver, and may create the system service through a CreateService interface, for example. In general, the system service in this embodiment may correspond to one or more drivers, that is, the embodiment may set one system service for a driver of one application software or a plurality of drivers of the application software. Of course, this embodiment does not exclude the possibility of setting a system service for each driver of the application software.
As an example, in the present embodiment, when a driver of predetermined application software needs to be started, the following specific steps may be performed: under the condition that the system service is started along with the starting of the operating system, namely the system service is started along with the starting of the operating system, the running state information corresponding to the driving program is acquired in the embodiment; in addition, in the embodiment, when the driver of the predetermined application software needs to be started, specifically, when the driver is successfully installed according to the control of the driver by the network side, that is, when the driver is successfully installed according to the control of the driver by the network side, the operation state information corresponding to the driver may be acquired in the embodiment.
As an example, the operation state information corresponding to the driver in this embodiment is used to indicate a previous operation state of the driver, and the previous operation state may be specifically a previous operation abnormality or a previous operation normality, that is, the operation state information corresponding to the driver may indicate the previous operation abnormality of the driver or the previous operation normality of the driver; the previous abnormal operation may be specifically a previous abnormal exit, and the previous normal operation may be specifically a previous normal exit. Under the condition that a plurality of drivers need to be started, each driver in the embodiment usually corresponds to respective running state information, that is, the drivers and the running state information are in one-to-one correspondence; of course, each driver in this embodiment may also correspond to the same operating state information, that is, the driver and the operating state information are in a many-to-one correspondence relationship.
As an example, the running state information in this embodiment may specifically be a flag bit, for example, the running state information may be implemented by using a bit, and the running state information corresponding to the driver may be preset in a registry of an operating system of the intelligent electronic device, or may be preset in a disk (e.g., a hard disk) of the intelligent electronic device.
As an example, in this embodiment, the running state information corresponding to the driver is set for each running of the driver, so that the running state information corresponding to the driver can be acquired in the next starting process of the driver, and the driver is controlled to be started according to the running state information. In a specific example, in a case that a driver of a predetermined application is started, the embodiment sets the running state information corresponding to the driver as first identification information (for example, sets a corresponding flag bit to 1) representing the previous running exception of the driver; for another specific example, in a case that the driver of the predetermined application software needs to be closed, the embodiment sets the running state information corresponding to the driver as the second identification information (for example, sets the corresponding flag bit to 0) indicating that the driver runs normally last time, and closes the driver of the predetermined application software. In a case that the method of this embodiment is operated in a system service, the driver that needs to close the predetermined application software may specifically be that the system service is closed along with the closing of the operating system, that is, in a process that the system service is closed along with the closing of the operating system, the operation state information corresponding to the driver is set as second identification information that represents that the driver operates normally in the previous time. In addition, in the case that the method of this embodiment is run in the system service, in this embodiment, when the system service is initially started, the running state information corresponding to the driver of the predetermined application software is initialized to the second identification information representing that the driver operates normally last time, for example, after the system service is set and the driver is installed for the application software that needs to be controlled to start the driver, the system service is started for the first time after the setting is completed, and the system service initializes the running state information corresponding to the driver of the predetermined application software to the second identification information representing that the driver operates normally last time.
And S110, acquiring the current system information of the operating system when the running state information is determined to be the first identification information representing the previous running abnormity of the driver.
As an example, the embodiment determines the operation state information obtained in the above step, and if the determination result is that the operation state information corresponding to the driver is second identification information (e.g. 0) representing that the driver operates normally last time, the embodiment may directly perform an operation of starting the driver of the predetermined application software, and set the operation state information corresponding to the driver as first identification information (e.g. 1) representing that the driver operates abnormally last time; if the operation state information corresponding to the driver is the first identification information (for example, 1) representing the previous operation abnormality of the driver, the present embodiment does not directly execute the operation of starting the driver of the predetermined application software, but obtains the current system information of the operating system.
In this embodiment, when the running state information corresponding to the driver is the first identification information, it is determined that the previous running state of the driver is abnormal, and in this embodiment, the operation of starting the driver is not performed before the previous running state of the driver is determined to be abnormal and the driver control information issued by the network side is not received.
As an example, the current system information of the operating system acquired in this embodiment generally includes memory information of the intelligent electronic device, such as system crash information stored in a memory of the intelligent electronic device; in the case that the hardware environment of the method of this embodiment is an intelligent electronic device based on a WINDOWS operating system, because the WINDOWS operating system actively generates a Dump file containing memory information and locally stores the Dump file when the system crashes and a blue screen phenomenon occurs, and the WINDOWS operating system provides an interface for acquiring the Dump file, this embodiment may acquire the Dump file based on the interface provided by the WINDOWS operating system, and use the Dump file as the current system information of the operating system. The embodiment does not limit the specific implementation manner of obtaining the current system information of the operating system. And S120, reporting the current system information to a network side.
As an example, the present embodiment reports the acquired current system information to a corresponding server on the network side, and waits for the driver control information issued by the network side.
As an example, in this embodiment, a driver start control request may be formed according to a preset server address and acquired current system information, and the driver start control request including the current system information may be sent to the network side through a network connection manner such as WIFI or a mobile data network. The embodiment does not limit the specific content included in the driver activation control request. In addition, in this embodiment, when reporting the system information to the network side, the driver identifier information may be reported to the network side together with the system information, and the driver identifier information may include: application name and driver version information, etc.
And S130, receiving the drive program control information issued by the network side.
As an example, the driver control information issued by the network side of this embodiment is mainly used to enable the user side to normally start the driver of the predetermined application software. The driver control information sent by the network side is formed by the network side according to the current system information of the operating system received by the network side, namely the network side can judge whether the driver of the preset application software of the user side has a problem or not by analyzing the current system information received by the network side, if the judgment result is that the driver of the user side has a problem, the network side can locally acquire the driver of the preset application software (such as the driver of the latest version after the problem is corrected) and form the driver control information containing the updated driver notice and the driver package, and send the driver control information to the user side reporting the current system information, and if the judgment result is that the driver of the user side has no problem, the network side forms the driver control information containing the normal driver notice, and the driver control information is issued to the user side reporting the current system information.
As an example, the network side of this embodiment may analyze the current system information by using a manual analysis or an automatic analysis technique, for example, the network side searches the current system information to determine whether the current system information includes a predetermined description, if the determination result is that the predetermined description exists, it is determined that the driver of the predetermined application software of the user side has a problem, a new driver package needs to be issued, and the user side is notified to execute an operation of starting the driver after installing the driver package, and if the determination result is that the predetermined description does not exist, it is determined that the driver of the predetermined application software of the user side does not have a problem, and it is only required to notify the user side of executing the operation of starting the driver without issuing the new driver package to the user side. The embodiment does not limit the specific implementation manner of analyzing the current system information by the network side and the specific representation form of the driver control information issued by the network side.
As an example, in a case where the received driver control information sent by the network side includes an updated driver notification and a driver package, the present embodiment should execute a corresponding driver installation operation according to the updated driver notification, so as to update the local original driver of the intelligent electronic device by using the driver package sent by the network side, and the present embodiment should further set the running state information corresponding to the driver as the second identification information indicating that the driver runs normally last time, so that after the driver installation operation is completed and the step S100 is returned, the method of the present embodiment can continue to execute the driver startup operation, that is, after the driver installation operation is executed according to the updated driver notification, since the successful installation of the driver satisfies the condition that the driver of the predetermined application software needs to be started in the step S100, therefore, the method of this embodiment returns to step S100, and when step S100 and step S110 are sequentially executed, because the acquired running state information corresponding to the driver is the second identification information that indicates that the driver is running normally last time, this embodiment may enable the driver after successful installation to be started.
As an example, when the received driver control information sent by the network side includes a normal driver notification, this embodiment should execute a start operation of the driver (for example, call the driver through a corresponding interface, etc.) according to the normal driver notification, so that the driver is started, and this embodiment should further set the running state information corresponding to the driver as the first identification information (for example, 1) representing the previous running exception of the driver.
Embodiment two, control method of the driver.
The present embodiment is implemented based on system services to control a driver, and in a case that the driver is a driver of predetermined application software, the flow of the method of the present embodiment is as shown in fig. 2.
In fig. 2, S200, a system service is started, for example, the system service is started along with the start of the operating system, and for example, after a driver of a predetermined application software (for example, a driver of an application software based on virus killing) is successfully installed and the system service is successfully set for the driver, the system service is started.
S210, judging whether the system service is started for the first time, if the system service is started for the first time, going to step S211, and if the system service is not started for the first time, going to step S220.
S211, setting the running state information corresponding to the driver of the preset application software as second identification information representing that the driver runs normally in the previous time, and going to step S220.
S220, acquiring the running state information corresponding to the driver of the preset application software, and going to step S230.
And S230, judging the running state information to determine whether the running state information is first identification information representing the previous abnormal running of the driver or second identification information representing the previous normal running of the driver, and if the running state information is the first identification information, going to step S240, and if the running state information is the second identification information, going to step S270.
S240, starting a fusing start mechanism of the driver, that is, performing an operation of acquiring current system information of the operating system without executing an operation of starting the driver, and performing an operation of reporting the acquired current system information to a server on the network side, then waiting for driver control information issued by the server, and when receiving the driver control information issued by the server, going to step S250, and when not receiving the driver control information issued by the server, continuing to be in a waiting state.
In addition, the step can also report the driver identification information containing the preset application software name and the driver version information to the server at the network side, so as to be beneficial to the analysis of the server on whether the driver has problems.
S250, identifying and judging the driver control information sent by the server on the network side, and going to step S260 when determining that the driver control information sent by the server includes the update driver notification and the driver package, or going to step S270 when determining that the driver control information sent by the server includes the normal driver notification.
S260, executing a driver installation operation according to the driver package issued by the server, and after the driver is successfully installed (at this time, the driver is not started), setting the running state information corresponding to the driver as the second identification information, and then returning to step S220.
S270, executing the starting operation of the driver, setting the running state information corresponding to the driver as first identification information, and going to the step S280 when the system service needs to be closed.
And S280, when the system service needs to be closed, setting the running state information corresponding to the driver as second identification information.
And the third embodiment is a control device of a driving program.
The driver in this embodiment is generally a driver of application software, and for application software that needs to be started with the start of the operating system of the intelligent electronic device, the apparatus in this embodiment may be disposed in a system service (that is, the apparatus in this embodiment is in the form of the system service). The application software in this embodiment may be application software based on virus killing, computer housekeeping application software, mobile phone assistant application software, and the like. The intelligent electronic device to which the apparatus of this embodiment is applied may be a computer, an intelligent mobile phone, or a tablet computer, and the operating system of the intelligent electronic device may be a WINDOWS operating system.
Fig. 3 is a schematic diagram of a control device of a driver according to the present embodiment. In fig. 3, the apparatus of the present embodiment mainly includes: the device comprises a status information acquiring module 300, a first control module 310, a reporting module 320 and a receiving module 330.
The module 300 for obtaining status information is mainly used for obtaining the running status information corresponding to the driver; and the module 300 for obtaining status information can obtain the running status information corresponding to the driver when the driver (such as the predetermined application software) needs to be started. The obtain status information module 300 may include: either or both of the first acquisition submodule 301 and the second acquisition submodule 302 (shown in fig. 4); the first obtaining submodule 301 is mainly used for obtaining running state information corresponding to a driver under the condition that the system service is started along with the start of the operating system; the second obtaining sub-module 302 is mainly configured to determine that a driver of the predetermined application software needs to be started when the driver is successfully installed, and obtain the running state information corresponding to the driver.
The first control module 310 is mainly configured to obtain current system information of the operating system when it is determined that the operation state information obtained by the state information obtaining module 300 is the first identification information representing the previous operation exception of the driver.
The reporting module 320 is mainly configured to report the current system information to a network side.
The receiving module 330 is mainly used for receiving the driver control information issued by the network side.
In addition, the apparatus of this embodiment may further optionally include: any one or more of the initialization module 340, the second control module 350, the third control module 360, the first operation execution module 370, and the second operation execution module 380 (shown in FIG. 5); the initialization module 340 is mainly used for initializing the running state information corresponding to the driver of the predetermined application software into second identification information representing that the driver runs normally in the previous time under the condition that the system service is started for the first time; the second control module 350 is mainly configured to start the driver of the predetermined application software when it is determined that the running state information is second identification information that characterizes that the driver runs normally last time, and set the running state information as first identification information that characterizes that the driver runs abnormally last time; the third control module 360 is mainly configured to set the running state information corresponding to the driver as second identification information representing that the driver runs normally last time when the driver of the predetermined application software is closed; the first operation execution module 370 is mainly used for executing the driver installation operation according to the driver package under the condition that the driver control information issued by the network side includes the driver update notification and the driver package, and setting the running state information as the second identification information representing that the driver runs normally last time; the second operation executing module 380 is mainly configured to execute the start operation of the driver when the driver control information sent by the network side includes the driver normal notification, and set the running state information as the first identification information representing the previous running exception of the driver.
Next, each module included in the apparatus of the present embodiment will be described by taking a driver as an example of a driver of predetermined application software.
As an example, the predetermined application software in this embodiment is application software that needs to perform driver startup control, and the predetermined application software in this embodiment is third-party application software, such as application software based on virus killing installed in the intelligent electronic device, computer housekeeping application software, and mobile phone assistant application software. The number of the predetermined application software in the present embodiment may be one or more. The embodiment does not limit the concrete expression form and the number of the predetermined application software.
As an example, in the present embodiment, when the driver of the predetermined application software is a driver that needs to be started along with the start of the operating system, the apparatus of the present embodiment may be implemented by a system service, that is, the present embodiment sets a system service in advance for the application software that needs to be controlled to start the driver, for example, the system service may be created through a CreateService interface. In general, the system service in this embodiment may correspond to one or more drivers, that is, the embodiment may set one system service for a driver of one application software or a plurality of drivers of the application software. Of course, this embodiment does not exclude the possibility of setting a system service for each driver of the application software.
As an example, in this embodiment, when a driver of a predetermined application software needs to be started, it may specifically be that the system service is started along with the start of the operating system, that is, after the system service is started along with the start of the operating system, the obtaining state information module 300 (for example, the first obtaining sub-module 301) obtains the running state information corresponding to the driver; in addition, in the embodiment, when the driver of the predetermined application software needs to be started, specifically, when the driver is successfully installed according to the control of the driver by the network side, that is, when the driver is successfully installed according to the control of the driver by the network side, the obtaining state information module 300 (for example, the second obtaining sub-module 302) obtains the operation state information corresponding to the driver.
As an example, the operation state information corresponding to the driver acquired by the state information acquiring module 300 is used to indicate a previous operation state of the driver, and the previous operation state may be generally specific to a previous operation abnormality or a previous operation normality, that is, the operation state information corresponding to the driver may indicate the previous operation abnormality of the driver or the previous operation normality of the driver; the previous abnormal operation may be specifically a previous abnormal exit, and the previous normal operation may be specifically a previous normal exit.
In the case that the device of this embodiment needs to perform start control on a plurality of drivers, each driver in this embodiment usually corresponds to its own operating state information, that is, there is a one-to-one correspondence between the driver and the operating state information; of course, each driver in this embodiment may also correspond to the same operating state information, that is, the driver and the operating state information are in a many-to-one correspondence relationship.
As an example, the operation state information acquired by the acquiring state information module 300 may specifically be a flag bit, for example, the operation state information may be implemented by using a bit, and the operation state information corresponding to the driver may be preset in a registry of an operating system of the intelligent electronic device, or may be preset in a disk (e.g., a hard disk) of the intelligent electronic device.
As an example, the apparatus of this embodiment sets the running state information corresponding to the driver for each running of the driver, so that the obtaining state information module 300 can obtain the running state information corresponding to the driver in the next starting process of the driver, and the apparatus of this embodiment can perform corresponding starting control on the driver according to the running state information. In a specific example, in a case that a driver of a predetermined application is started, the apparatus (e.g., the second control module 350) of this embodiment sets the running state information corresponding to the driver to the first identification information (e.g., sets the corresponding flag bit to 1) representing the previous running abnormality of the driver; for another specific example, in a case that the driver of the predetermined application software needs to be closed, the apparatus (for example, the third control module 360) of this embodiment sets the running state information corresponding to the driver to the second identification information (for example, sets the corresponding flag bit to 0) indicating that the driver runs normally last time, and closes the driver of the predetermined application software.
In a case that the device of this embodiment is disposed in a system service, the driver that needs to close the predetermined application software may specifically be that the system service is closed along with the closing of the operating system, that is, in a process that the system service is closed along with the closing of the operating system, the third control module 360 sets the running state information corresponding to the driver as the second identification information that represents that the driver runs normally in the previous time. In addition, in the case that the apparatus of this embodiment is set in a system service, the initialization module 340 may initialize the running state information corresponding to the driver of the predetermined application software to second identification information representing that the driver operates normally in the previous time when the system service is started for the first time, for example, after the system service is set and the driver is installed for the application software that needs to be controlled to start the driver, the system service is started for the first time after the setting is completed, and the initialization module 340 in the system service initializes the running state information corresponding to the driver of the predetermined application software to the second identification information representing that the driver operates normally in the previous time.
As an example, the first control module 310 determines the running state information acquired by the acquiring state information module 300, and if the determination result is that the running state information corresponding to the driver is second identification information (e.g. 0) representing that the driver runs normally last time, the second control module 350 may directly perform an operation of starting the driver of the predetermined application software, and set the running state information corresponding to the driver as first identification information (e.g. 1) representing that the driver runs abnormally last time; if the operation state information corresponding to the driver is the first identification information (e.g. 1) representing the previous operation abnormality of the driver, the device of this embodiment does not directly execute the operation of starting the driver of the predetermined application software, but the first control module 310 obtains the current system information of the operating system, and the reporting module 320 reports the obtained current system information to the corresponding server on the network side and waits for the driver control information issued by the network side.
Since the first control module 310 determines that the previous running state of the driver is abnormal when the running state information corresponding to the driver is the first identification information, and the device of this embodiment does not execute the operation of starting the driver before determining that the previous running state of the driver is abnormal and before the receiving module 330 does not receive the driver control information issued by the network side, the device of this embodiment substantially executes the start fusing operation of the driver for the driver with the abnormal previous running state, so as to avoid the phenomenon that the driver of the abnormal predetermined application software is still continuously started after the operating system is restarted due to a system crash.
As an example, the first control module 310 may form a driver start control request according to a preset server address and the obtained current system information, and the reporting module 320 sends the driver start control request including the current system information to the network side through a network connection manner such as WIFI or a mobile data network. The embodiment does not limit the specific content of the driver start control request formed by the first control module 310.
As an example, the current system information of the operating system acquired by the first control module 310 generally includes memory information of the intelligent electronic device, such as system crash information stored in a memory of the intelligent electronic device; in the case that the hardware environment of the apparatus of this embodiment is an intelligent electronic device based on the WINDOWS operating system, because the WINDOWS operating system actively generates a Dump file including memory information and locally stores the Dump file when the system crashes and a blue screen phenomenon occurs, and the WINDOWS operating system provides an interface for acquiring the Dump file, the first control module 310 may acquire the Dump file based on the interface provided by the WINDOWS operating system and use the Dump file as current system information of the operating system. The embodiment does not limit the specific implementation manner of the first control module 310 for acquiring the current system information of the operating system. In addition, when reporting the system information to the network side, the reporting module 320 may report the driver identifier information and the system information to the network side together, and the driver identifier information may include: application name and driver version information, etc.
As an example, the driver control information sent by the receiving module 330 in this embodiment is mainly used to enable the user side to normally start the driver of the predetermined application software, and the driver control information sent by the network side is formed by the network side according to the current system information of the operating system received by the network side, that is, the network side can determine whether the driver of the predetermined application software of the user side has a problem by analyzing the current system information received by the network side, and if the determination result is that the driver of the user side has a problem, the network side can locally obtain the driver of the predetermined application software (for example, the driver of the latest version after correcting the problem) and form the driver control information including the updated driver notification and the driver package, and send the driver control information to the user side reporting the current system information, and if the judgment result shows that the driver of the user side has no problem, the network side forms driver control information containing normal notification of the driver and sends the driver control information to the user side reporting the current system information.
As an example, the network side of this embodiment may analyze the current system information by using a manual analysis or an automatic analysis technique, for example, the network side searches the current system information to determine whether the current system information includes a predetermined description, if the determination result is that the predetermined description exists, it is determined that the driver of the predetermined application software of the user side has a problem, a new driver package needs to be issued, and the user side is notified to execute an operation of starting the driver after installing the driver package, and if the determination result is that the predetermined description does not exist, it is determined that the driver of the predetermined application software of the user side does not have a problem, and it is only required to notify the user side of executing the operation of starting the driver without issuing the new driver package to the user side. The embodiment does not limit the specific implementation manner of analyzing the current system information by the network side and the specific representation form of the driver control information issued by the network side.
As an example, in the case that the receiving module 330 of this embodiment receives the driver control information sent by the network side and includes the update driver notification and the driver package, the first operation executing module 370 should execute the corresponding driver installation operation according to the update driver notification, so as to update the local original driver of the intelligent electronic device by using the driver package sent by the network side, and the first operation executing module 370 should further set the running state information corresponding to the driver as the second identification information representing that the driver runs normally last time, so that after the driver installation operation is completed, the apparatus of this embodiment may continue to execute the driver starting operation, that is, after the driver installation operation is executed according to the update driver notification, because the successful installation of the driver satisfies the requirement of the obtaining state information module 300 for starting the driver of the predetermined application software, the first operation executing module 370 performs the driver installation operation according to the update driver notification Therefore, the obtaining status information module 300 of this embodiment continues to perform the operation of obtaining the operating status information corresponding to the driver, and since the operating status information corresponding to the driver obtained by the obtaining status information module 300 is the second identification information that indicates that the driver operates normally last time, the apparatus (e.g., the second control module 350) of this embodiment may enable the driver after being successfully installed to be started.
As an example, in the device of this embodiment, when the received driver control information sent by the network side includes a normal notification of the driver, the second operation executing module 380) should execute a start operation of the driver according to the normal notification of the driver (for example, call the driver through a corresponding interface, etc.) so as to start the driver, and the second operation executing module 380 should further set the running state information corresponding to the driver as the first identification information (for example, 1) representing the previous running exception of the driver.
It should be noted that a part of the present application can be applied as a computer program product, for example, a computer program instruction, which when executed by an intelligent electronic device (such as a computer or a server, etc.), can invoke or provide the method and/or technical solution according to the present application through the operation of the intelligent electronic device. Program instructions invoking the methods of the present application may be stored on a fixed or removable recording medium and/or transmitted via a data stream in a broadcast or other signal bearing medium and/or stored within a working memory of an intelligent electronic device operating according to the program instructions. An embodiment according to the present application comprises an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to perform a method and/or a solution according to the aforementioned embodiments of the present application.
It will be evident to those skilled in the art that the application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means or modules recited in the apparatus claims may also be implemented by one unit or means or module through software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (16)

1. A method for controlling a driver, wherein the method comprises the following steps:
acquiring running state information corresponding to a driving program;
when the running state information is determined to be first identification information representing the previous running abnormity of the driver, current system information of the operating system is obtained;
reporting the current system information to a network side, wherein the current system information is used for the network side to form drive program control information, and the method comprises the following steps:
if the judgment result shows that the driver of the user side has no problem, the network side forms driver control information containing normal notification of the driver and sends the driver control information to the user side reporting the current system information;
if the driver of the preset application software on the user side is determined to have a problem, a new driver package needs to be issued, and the user side is informed to execute the operation of starting the driver after the driver package is installed;
receiving drive program control information issued by a network side;
the step of acquiring the running state information corresponding to the driver includes:
acquiring running state information corresponding to a driver under the condition that the driver needs to be started;
under the condition that the drive program control information sent by the network side comprises an updated drive program notice and a drive program package, executing drive program installation operation according to the drive program package, and setting the running state information as second identification information for representing the previous normal running of the drive program;
and under the condition that the control information of the drive program issued by the network side comprises a normal notification of the drive program, executing the starting operation of the drive program, and setting the running state information as first identification information for representing the previous running abnormity of the drive program.
2. The method of claim 1, wherein the method operates in a system service; and the step of acquiring the running state information corresponding to the driver under the condition that the driver needs to be started comprises the following steps:
and acquiring the running state information corresponding to the driving program under the condition that the system service is started along with the starting of the operating system.
3. The method of claim 2, wherein the method further comprises:
and initializing the running state information corresponding to the driving program into second identification information representing that the driving program runs normally in the previous time under the condition that the system service is started for the first time.
4. The method of claim 1, wherein the method further comprises:
and under the condition that the running state information is determined to be second identification information representing that the driver runs normally last time, starting the driver, and setting the running state information as first identification information representing that the driver runs abnormally last time.
5. The method of claim 1, wherein the method further comprises:
and under the condition of closing the driving program, setting the running state information corresponding to the driving program as second identification information representing that the driving program runs normally last time.
6. The method of claim 5, wherein the method operates in a system service; and the step of setting the running state information corresponding to the driver as second identification information representing that the driver runs normally last time under the condition of closing the driver comprises the following steps:
and in the process that the system service is closed along with the closing of the operating system, closing the driving program, and setting the running state information corresponding to the driving program as second identification information representing the normal running of the driving program at the previous time.
7. The method of any of claims 1 to 6, wherein the step of obtaining current system information of an operating system comprises:
the Dump file is acquired based on an interface provided by an operating system.
8. The method according to claim 1, wherein the step of acquiring the running state information corresponding to the driver when the driver needs to be started comprises:
and determining that the driver needs to be started when the driver is successfully installed, and acquiring running state information corresponding to the driver.
9. An apparatus for controlling the start of a driver for application software, wherein the apparatus comprises:
the acquisition state information module is used for acquiring the running state information corresponding to the driving program;
the first control module is used for acquiring the current system information of the operating system when the operating state information is determined to be first identification information representing the previous abnormal operation of the driver;
a reporting module, configured to report the current system information to a network side, where the reporting module includes:
if the judgment result shows that the driver of the user side has no problem, the network side forms driver control information containing normal notification of the driver and sends the driver control information to the user side reporting the current system information;
if the driver of the preset application software on the user side is determined to have a problem, a new driver package needs to be issued, and the user side is informed to execute the operation of starting the driver after the driver package is installed;
the receiving module is used for receiving the drive program control information issued by the network side;
the state information acquiring module is specifically used for acquiring running state information corresponding to a driver under the condition that the driver needs to be started;
the first operation execution module is used for executing the installation operation of the driving program according to the driving program package under the condition that the driving program control information issued by the network side comprises an updated driving program notice and the driving program package, and setting the running state information as second identification information for representing the normal previous running of the driving program;
and the second operation execution module is used for executing the starting operation of the driving program under the condition that the driving program control information sent by the network side comprises the normal notification of the driving program, and setting the running state information as first identification information for representing the previous running abnormity of the driving program.
10. The apparatus of claim 9, wherein the apparatus is disposed in a system service; and the module for acquiring the state information comprises:
and the first acquisition submodule is used for acquiring the running state information corresponding to the driving program under the condition that the system service is started along with the starting of the operating system.
11. The apparatus of claim 10, wherein the apparatus further comprises:
and the initialization module is used for initializing the running state information corresponding to the driver into second identification information representing that the driver runs normally in the previous time under the condition that the system service is started for the first time.
12. The apparatus of claim 9, wherein the apparatus further comprises:
and the second control module is used for starting the driving program under the condition that the running state information is determined to be second identification information representing that the driving program runs normally last time, and setting the running state information as first identification information representing that the driving program runs abnormally last time.
13. The apparatus of claim 9, wherein the apparatus further comprises:
and the third control module is used for setting the running state information corresponding to the driving program as second identification information representing that the driving program runs normally in the previous time under the condition of closing the driving program.
14. The apparatus of claim 13, wherein the apparatus is disposed in a system service; and the third control module is specifically configured to, in a process that the system service is closed along with the closing of the operating system, close the driver, and set the running state information corresponding to the driver as second identification information that represents that the driver is running normally in the previous time.
15. The apparatus of any one of claims 9 to 14, wherein the first control module is specifically configured to obtain the Dump file based on an interface provided by an operating system.
16. The apparatus of claim 9, wherein the means for obtaining status information comprises:
and the second obtaining submodule is used for determining that the driver needs to be started when the driver is successfully installed, and obtaining the running state information corresponding to the driver.
CN201610287332.1A 2016-05-03 2016-05-03 Method and device for controlling driver Active CN107341026B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610287332.1A CN107341026B (en) 2016-05-03 2016-05-03 Method and device for controlling driver
PCT/CN2017/079858 WO2017190575A1 (en) 2016-05-03 2017-04-10 Driver control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610287332.1A CN107341026B (en) 2016-05-03 2016-05-03 Method and device for controlling driver

Publications (2)

Publication Number Publication Date
CN107341026A CN107341026A (en) 2017-11-10
CN107341026B true CN107341026B (en) 2020-08-04

Family

ID=60202732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610287332.1A Active CN107341026B (en) 2016-05-03 2016-05-03 Method and device for controlling driver

Country Status (2)

Country Link
CN (1) CN107341026B (en)
WO (1) WO2017190575A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228259A (en) * 2017-12-28 2018-06-29 珠海市君天电子科技有限公司 Installation method, server, client and the electronic equipment of hardware driving
CN108874454B (en) * 2018-06-27 2021-12-17 郑州云海信息技术有限公司 Adaptive starting method and device of target driver

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073519A (en) * 2010-12-31 2011-05-25 青岛海信宽带多媒体技术有限公司 Software updating method
CN103902338A (en) * 2014-03-21 2014-07-02 珠海市君天电子科技有限公司 Drive loading method, drive processing method, client side, server and system
CN105045617A (en) * 2015-07-03 2015-11-11 Tcl集团股份有限公司 Application recovery method and system for Android system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187452A (en) * 1996-12-27 1998-07-21 F F C:Kk Abnormal sign detection system for program
CN101354677B (en) * 2008-09-11 2014-12-03 青岛海信移动通信技术股份有限公司 Method for detecting and restoring application program running state and restoring device thereof
US8996916B2 (en) * 2011-08-16 2015-03-31 Future Dial, Inc. System and method for identifying problems via a monitoring application that repetitively records multiple separate consecutive files listing launched or installed applications
CN102880488B (en) * 2012-09-12 2017-09-01 北京奇虎科技有限公司 Driver restorative procedure, equipment and system
CN104461847B (en) * 2014-12-03 2018-02-23 北京国双科技有限公司 Data processor detection method and device
CN105354131A (en) * 2015-12-11 2016-02-24 北京慧眼智行科技有限公司 Monitoring method for running of service program and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073519A (en) * 2010-12-31 2011-05-25 青岛海信宽带多媒体技术有限公司 Software updating method
CN103902338A (en) * 2014-03-21 2014-07-02 珠海市君天电子科技有限公司 Drive loading method, drive processing method, client side, server and system
CN105045617A (en) * 2015-07-03 2015-11-11 Tcl集团股份有限公司 Application recovery method and system for Android system

Also Published As

Publication number Publication date
CN107341026A (en) 2017-11-10
WO2017190575A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
EP1668509B1 (en) Method and apparatus for monitoring and resetting a co-processor
JP5579650B2 (en) Apparatus and method for executing monitored process
US10885200B2 (en) Detecting security risks related to a software component
CN109565448B (en) Method, medium, computing unit and system for resolving link failure
CN108287769B (en) Information processing method and device
EP3522449A1 (en) Service state transition method and device
CN112596757A (en) Method and device for upgrading agent component of cloud desktop virtual machine and storage medium
US11849003B2 (en) Persisting an HTTP connection between application components
CN110609755A (en) Message processing method, device, equipment and medium for cross-block chain node
CN107341026B (en) Method and device for controlling driver
US20060206855A1 (en) System and method for conflict identification and resolution
CN111737088B (en) Log acquisition method and device, electronic equipment and medium
US9292401B2 (en) Systems and methods for determining desktop readiness using interactive measures
WO2020096845A1 (en) Performing actions opportunistically in connection with reboot events in a cloud computing system
CN115934390A (en) Method and system for processing application program crash and device for running application program
CN103473081A (en) Operant method after system updating of terminal and terminal
CN115220861A (en) Virtual client management method, apparatus, medium, and device
US8843665B2 (en) Operating system state communication
WO2015183772A1 (en) Management of headless hardware in data center
CN113377491B (en) Drive data processing method, drive data processing device, electronic equipment and computer storage medium
US9723167B2 (en) Managing the activation of an application in an information processing apparatus on which a plurality of applications operate
US20230315497A1 (en) Waiting period determination using an agent
US20240020103A1 (en) Parallelizing data processing unit provisioning
US11966280B2 (en) Methods and apparatus for datacenter monitoring
CN107643897B (en) Method and device for updating back-end driver

Legal Events

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