WO2017190575A1 - 驱动程序的控制方法及装置 - Google Patents

驱动程序的控制方法及装置 Download PDF

Info

Publication number
WO2017190575A1
WO2017190575A1 PCT/CN2017/079858 CN2017079858W WO2017190575A1 WO 2017190575 A1 WO2017190575 A1 WO 2017190575A1 CN 2017079858 W CN2017079858 W CN 2017079858W WO 2017190575 A1 WO2017190575 A1 WO 2017190575A1
Authority
WO
WIPO (PCT)
Prior art keywords
driver
information
running
state information
information corresponding
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.)
Ceased
Application number
PCT/CN2017/079858
Other languages
English (en)
French (fr)
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
Publication of WO2017190575A1 publication Critical patent/WO2017190575A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Definitions

  • the present application relates to computer technology, and in particular, to a control method of a driver and a control device for the driver.
  • Intelligent applications such as computers, smart mobile phones, and tablets often install multiple applications, such as virus-based application software, computer housekeeping applications, and mobile assistant applications.
  • the driver of the application software is a special type of program. Some drivers usually play a very important role in the operating system of the intelligent electronic device. For example, the driver of the application software can be used as the basic function service of the operating system. From start to finish, it runs in intelligent electronic devices, and the driver of some application software plays a central role in the information security system of intelligent electronic devices because of the highest access rights of the operating system.
  • the inventor found that the stability problem of the driver of the application software may cause an abnormality in the running process, and the driver of the application software running abnormally often affects the normal operation of the operating system, sometimes even Will cause the operating system to crash (such as causing the operating system to appear blue screen, etc.), and the operating system will continue to start the application software driver after the system crashes and restarts. If the application software driver still has an abnormality, it will not only Problems with the driver are not resolved and can have a serious impact on the stability of the operating system.
  • the purpose of the application is to provide a control method and apparatus for a driver.
  • a method for controlling a driver mainly includes the following steps: acquiring a driver that needs to start a predetermined application software The running status information corresponding to the driver; determining the running status information as the first identification information indicating that the driver is abnormal in the previous operation, acquiring the current system information of the operating system, and reporting the current system information to the network side The corresponding operation is performed according to the driver control information sent by the network side.
  • a control device for a driver is further provided, and the device mainly includes: an acquisition status information module, configured to acquire the driver when a driver of a predetermined application software needs to be started. Corresponding running state information; the first control module is configured to: after determining that the running state information is the first identification information that is used to represent the previous running abnormality of the driver, acquire current system information of the operating system, and report the information to the network side The current system information is used by the operation execution module to perform corresponding operations according to the driver control information sent by the network side.
  • the following embodiments have the following advantages: determining whether there is an abnormality in the previous running of the driver according to the value of the running state information of the driver; the present application determines the driver before the driver When there is an abnormality in the operation, the current system information of the operating system is collected and reported to the network side, and if the driver control information sent by the network side is not received, the startup operation of the driver is not executed, thereby enabling the driver. The startup of the program is in a blown state, which prevents the operating system from continuing to start the abnormal driver after the system crashes. Because the network side can analyze whether the user-side driver is based on the pre-reported system information.
  • the network side can determine what kind of driver control information is sent to the user side according to the analysis result. Therefore, the present application can perform corresponding operations according to the driver control information sent by the network side to implement The driver starts normally, so this application avoids saving Adverse effects of instability driver on the stability of the operating system produced; thus the present application provides technical solutions to improve the stability of the driver software applications and increases the stability of the operating system.
  • FIG. 1 is a flowchart of a method for controlling a driver according to Embodiment 1 of the present application
  • FIG. 2 is a flowchart of a method for controlling a driver according to Embodiment 2 of the present application
  • FIG. 3 is a first schematic structural diagram of a control device for a driver according to Embodiment 3 of the present application;
  • FIG. 4 is a schematic structural diagram of an acquisition status information module according to Embodiment 3 of the present application.
  • FIG. 5 is a second schematic structural diagram of a control device for a driver according to Embodiment 3 of the present application.
  • 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 composed of a large number of computers or network servers based on cloud computing, wherein the cloud computing is distributed computing.
  • a super virtual computer consisting of a group of loosely coupled computers.
  • the server can access the network and perform information interaction with other devices in the network.
  • the network that 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.
  • server the network, and the like are merely examples, and other existing or future possible servers or networks, as applicable to the present application, are also included in the protection of the present application. Enclosed and included here by reference.
  • the methods discussed later may be implemented in the form of hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof.
  • the program code or code segments to carry out the necessary tasks can be stored in a machine or computer readable medium, such as a storage medium.
  • the processor(s) can perform the necessary tasks.
  • a driver is a special type of program that allows a predetermined module, such as an application, to work properly.
  • the first identification information is used to characterize the driver's previous operational exception.
  • the second identification information is used to characterize that the driver was operating normally the previous time.
  • An abnormal operation refers to an abnormal phenomenon during the running, such as not exiting normally.
  • the network side corresponds to the user side, and the network side may be specifically a server located in the network.
  • System information usually refers to information generated by the operating system during its operation.
  • Embodiment 1 The control method of the driver.
  • FIG. 1 is a flow chart of a control method of a driver in the embodiment.
  • the method of this embodiment mainly includes: step S100, step S110, step S120, and step S130.
  • the driver in this embodiment is usually a driver of the application software, and the method of the embodiment can be run in the system service for the application software that needs to be started with the startup of the operating system of the intelligent electronic device (ie, the embodiment)
  • the execution body of the method may be a system service. Since the system service is started with the startup of the operating system, the method of the embodiment is executed after the system service is started.
  • the application software in this embodiment may be a virus-based killing application software, a computer housekeeping application software, and a mobile phone assistant application software.
  • the smart electronic device in this embodiment may be a computer, a smart mobile phone or a tablet computer, and the operation of the intelligent electronic device
  • the system can be a WINDOWS operating system.
  • the operating state information corresponding to the driver may be acquired if a driver (such as a predetermined application software) needs to be started.
  • the predetermined application software in this embodiment is an application software that needs to perform driver startup control
  • the predetermined application software in this embodiment is a third-party application software, such as a virus-based killing application software installed in the smart electronic device.
  • Computer butler application software and mobile assistant application software The number of predetermined application softwares in this embodiment may be one or more. This embodiment does not limit the specific form and quantity of the predetermined application software. The steps in the present application will be described in detail below by taking the driver as a driver for the predetermined application software as an example.
  • the method of the embodiment can be implemented by a system service, that is, the embodiment.
  • the system service is set in advance for the application software that needs to perform the driver startup control, for example, the system service can be created through the CreateService interface.
  • the system service in this embodiment may correspond to one or more drivers, that is, the embodiment may set a system service for a driver of one application software or a driver of multiple application software.
  • this embodiment does not exclude the possibility of separately setting a system service for each application software driver.
  • the driver that needs to start the predetermined application software in this embodiment it may be specifically: in the case that the system service is started with the startup of the operating system, that is, the system service in the embodiment is After the startup of the operating system is started, the running status information corresponding to the driver is obtained.
  • the driver in the case of the driver that needs to start the predetermined application software in this embodiment, the driver may be specifically in accordance with the network side. In the case where the driver is successfully installed and controlled, that is, the embodiment succeeds in controlling the driver according to the network side. When the driver is installed, the running status information corresponding to the driver is obtained.
  • the running state information corresponding to the driver in this embodiment is used to indicate the previous running state of the driver, and the previous running state may be specifically the previous running abnormality or the previous running normal, that is, the corresponding driver.
  • the running status information indicates that the previous running abnormality of the driver or the previous running of the driver is normal; the previous running abnormality may be specifically the previous non-normal exit, and the previous running normal may be specifically the previous normal exit.
  • each driver in the embodiment generally has its own running state information, that is, a one-to-one correspondence between the driver and the running state information;
  • Each driver in this embodiment may also correspond to the same running state information, that is, a one-to-one correspondence between the driver and the running state information.
  • the running state information in this embodiment may be specifically a flag bit, such as one bit can be used to implement running state information, and the running state information corresponding to the driver may be preset in an operating system of the smart electronic device. In the registry, it can also be pre-set in a disk (such as a hard disk) of a smart electronic device.
  • the running state information corresponding to the driver is set for each operation of the driver, so that the running state information corresponding to the driver can be obtained in the next startup process of the driver, and The driver is controlled to start based on the running status information.
  • the embodiment sets the running state information corresponding to the driver to the first identification information that represents the previous abnormal operation of the driver (eg, the corresponding flag bit) The setting is 1); another specific example, in the case that the driver of the predetermined application software needs to be closed, the embodiment sets the running state information corresponding to the driver to the second identification information that indicates that the driver has been running normally before ( If the corresponding flag is set to 0), the driver of the predetermined application software is closed.
  • the foregoing driver that needs to close the predetermined application software may be specifically closed for the system service to be closed with the operating system, that is, the embodiment is During the process of shutting down the system service with the shutdown of the operating system, the running status information corresponding to the driver is set to the second identification information indicating that the driver has been running normally.
  • the embodiment may initialize the running state information corresponding to the driver of the predetermined application software to represent the driver before the system service is started for the first time. The normal second identification information is run.
  • the system service is started for the first time after the setting is completed, and the system service will be the driver of the predetermined application software.
  • the running status information corresponding to the program is initialized to the second identification information that characterizes the previous running of the driver.
  • the embodiment determines the running state information obtained in the foregoing step, and if the result of the determination is that the running state information corresponding to the driver is the second identifier information (such as 0) indicating that the driver is running normally before,
  • the embodiment may directly execute the operation of starting the driver of the predetermined application software, and set the running state information corresponding to the driver to the first identification information (such as 1) that represents the previous abnormal operation of the driver; and if the judgment result is
  • the running status information corresponding to the driver is the first identification information (such as 1) that is used to represent the previous running abnormality of the driver, and the embodiment does not directly perform the operation of starting the driver of the predetermined application software, but acquires the operating system. Current system information.
  • the embodiment when the running status information corresponding to the driver is the first identification information, it is determined that the previous running state of the driver is abnormal, and the embodiment determines that the previous running state of the driver is abnormal and is not received. Before the driver control information sent by the network side, the operation of starting the driver is not performed. Therefore, the embodiment essentially performs the startup fuse operation of the driver for the driver of the previous running state abnormality to avoid the operation. After the system crashes and restarts, the system continues to start the driver of the abnormally scheduled application software.
  • the current system information of the operating system that is obtained by the embodiment generally includes the memory information of the smart electronic device, such as the system crash information stored in the memory of the smart electronic device.
  • the hardware environment of the method in this embodiment is In the case of intelligent electronic devices based on the WINDOWS operating system, since the WINDOWS operating system will cause a blue screen phenomenon when the system crashes, the Dump file containing the memory information is actively generated and stored locally, and the WINDOWS operating system provides the Dump file. Therefore, in this embodiment, the Dump file can be obtained based on the interface provided by the WINDOWS operating system, and the Dump file is used as the current system information of the operating system. This embodiment does not limit the specific implementation manner of acquiring current system information of the operating system. S120: Report current system information to the network side.
  • the present embodiment reports the current system information acquired by the corresponding server on the network side, and waits for the driver control information sent by the network side.
  • the embodiment may form a driver startup control request according to the preset server address and the acquired current system information, and send the driver including the current system information to the network side through a network connection manner such as WIFI or a mobile data network. Start a control request.
  • a network connection manner such as WIFI or a mobile data network.
  • the driver identification information may be reported to the network side together with the system information, and the driver identification information may include: an application software name and driver version information.
  • S130 Receive driver control information sent by the network side.
  • the driver control information sent by the network side of the 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, that is, the network side can determine the user side reservation by analyzing the current system information received by the network side. Whether there is a problem with the driver of the application software.
  • the network side can obtain the driver of the predetermined application software locally (for example, the correction question) The latest version of the driver after the problem), and form the driver control information including the update driver notification and the driver package, and the user side to report the current system information to issue the driver control information, and if the judgment result is If there is no problem with the driver on the user side, the network side forms driver control information including the normal notification of the driver, and the user side that reports the current system information issues the driver control information.
  • the network side of the embodiment may analyze the current system information by using a manual analysis or an automated analysis technology, for example, the network side searches in the current system information to determine whether the current system information includes a predetermined description, if If the result of the determination is that there is a predetermined description, it is determined that there is a problem with the driver of the predetermined application software on the user side, and a new driver package needs to be issued, and the user side is notified to perform the operation of starting the driver after installing the driver package.
  • a manual analysis or an automated analysis technology for example, the network side searches in the current system information to determine whether the current system information includes a predetermined description, if If the result of the determination is that there is a predetermined description, it is determined that there is a problem with the driver of the predetermined application software on the user side, and a new driver package needs to be issued, and the user side is notified to perform the operation of starting the driver after installing the driver package.
  • the driver of the predetermined application software on the user side does not have a problem, and it is not necessary to send a new driver package to the user side, and only the user side is notified to perform the operation of starting the driver.
  • the specific implementation manner of analyzing the current system information on the network side and the specific expression form of the driver control information sent by the network side are not limited in this embodiment.
  • the embodiment should perform the corresponding driver installation operation according to the update driver notification to utilize the network.
  • the driver package sent by the side updates the original driver of the smart electronic device, and the operating state information corresponding to the driver should be set to the second identifier information indicating that the driver is running normally before, so as to facilitate
  • the method of the embodiment can continue to perform the startup operation of the driver, that is, after the driver installation operation is performed according to the update driver notification, the present embodiment
  • the successful installation of the driver satisfies the condition that the driver of the predetermined application software needs to be started in the above step S100.
  • the method of the present embodiment returns to step S100, and when steps S100 and S110 are sequentially executed,
  • the running status information corresponding to the obtained driver is the second identification information indicating that the driver has been running normally. Therefore, in this embodiment, the successfully installed driver can be started.
  • the embodiment should normally notify the execution of the driver according to the driver (such as calling the driver through the corresponding interface). And so on, so that the driver is started, and the embodiment should also set the running state information corresponding to the driver to the first identification information (such as 1) that characterizes the previous abnormal operation of the driver.
  • the first identification information such as 1
  • Embodiment 2 Control method of the driver.
  • the embodiment is based on the system service to implement the control of the driver, and in the case that the driver is a driver of the predetermined application software, the method flow of the embodiment is as shown in FIG. 2 .
  • step S210 Determine whether the system service is started for the first time. If the system service is started for the first time, go to step S211. If the system service is not started for the first time, go to step S220.
  • step S211 Set the running state information corresponding to the driver of the predetermined application software to the second identifier information indicating that the driver is running normally before, and the process goes to step S220.
  • step S220 Acquire running state information corresponding to the driver of the predetermined application software, and go to step S230.
  • step S230 Determine the running status information, to determine whether the running status information is first identifier information that is used to represent the previous running abnormality of the driver, or second identifier information that is normal to the previous running of the driver, and if the first identifier information is Then, the process goes to step S240, and if it is the second identification information, the process goes to step S270.
  • step S240 turning on the fuse start mechanism of the driver, that is, not starting the driver Operation, but performing an operation of acquiring current system information of the operating system, and performing an operation of reporting the acquired current system information to the server on the network side, and then waiting for the driver control information delivered by the server, and receiving the server under the server
  • the process goes to step S250, and if the driver control information sent by the server is not received, the message is continuously waited.
  • this step can also report the driver identification information including the predetermined application software name and the driver version information to the server on the network side, so as to facilitate the analysis of whether the server has a problem with the driver.
  • step S250 Identify and determine the driver control information sent by the server on the network side.
  • the driver control information sent by the server includes the update driver notification and the driver package, go to step S260, and determine the server.
  • the issued driver control information includes the driver normal notification, the process goes to step S270.
  • step S260 Perform a driver installation operation according to the driver package delivered by the server, and set the running status information corresponding to the driver to the second identifier information after the driver is successfully installed (the driver is not started). Then, the process returns to step S220.
  • step S270 Perform a startup operation of the driver, and set operation state information corresponding to the driver to the first identification information, and when it is necessary to shut down the system service, go to step S280.
  • Embodiment 3 Control device of the driver.
  • the driver in this embodiment is usually a driver of the application software, and the device in this embodiment can be set in the system service for the application software that needs to be started up with the startup of the operating system of the smart electronic device (ie, the embodiment)
  • the device is in the form of a system service. Since the system service is started up with the startup of the operating system, each module in the device of the present embodiment can perform its respective operations after the system service is started.
  • Application software in this embodiment It can be a virus-based application software, a computer housekeeping application, and a mobile assistant application.
  • the smart electronic device to which the device of this embodiment is applied may be a computer, a smart mobile phone or a tablet computer, and the operating system of the smart electronic device may be a WINDOWS operating system.
  • FIG. 3 is a schematic diagram of a control device of the driver of the embodiment.
  • the apparatus of this embodiment mainly includes: an acquisition status information module 300, a first control module 310, a reporting module 320, and a receiving module 330.
  • the obtaining status information module 300 is used to obtain the running status information corresponding to the driver; and the acquiring status information module 300 may obtain the running status information corresponding to the driver if the driver (such as a predetermined application software) needs to be started.
  • the acquisition status information module 300 may include any one or two of the first acquisition submodule 301 and the second acquisition submodule 302 (shown in FIG. 4); wherein the first acquisition submodule 301 is mainly used in the system.
  • the second obtaining sub-module 302 is mainly used to determine that the driver that needs to start the predetermined application software is obtained when the driver is successfully installed.
  • the running status information corresponding to the driver is used to obtain the running status information corresponding to the driver.
  • the first control module 310 is configured to determine the current state information of the operating system by determining the running state information acquired by the acquiring state information module 300 as the first identification information indicating that the driver is abnormal in the previous operation.
  • the reporting module 320 is configured to report the current system information to the network side.
  • the receiving module 330 is configured to receive driver control information sent by the network side.
  • the apparatus of this embodiment may further 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.
  • the initialization module 340 is mainly used to initialize the running state information corresponding to the driver of the predetermined application software to the second time that the driver is running normally before the system service is first started.
  • Identification letter The second control module 350 is configured to start the driver of the predetermined application software and set the running status information to the operation state information to determine that the driver is running the second second identification information.
  • the first operation execution module 370 is configured to perform the driver installation according to the driver package, where the first operation execution module 370 is mainly used for the driver control information delivered by the network side, including the update driver notification and the driver package. Operation, and setting the running status information to the second identification information that is used to indicate that the driver is running normally; the second operation executing module 380 is mainly used for the case where the driver control information sent by the network side includes the normal notification of the driver. Next, perform the driver startup operation, and run the status letter First identification information provided for the characterization misbehaving previous driver.
  • each module included in the apparatus of the present embodiment will be described separately by taking a driver as a driver of a predetermined application software as an example.
  • the predetermined application software in this embodiment is an application software that needs to perform driver startup control
  • the predetermined application software in this embodiment is a third-party application software, such as a virus-based killing installation installed in the smart electronic device.
  • Application software, computer housekeeping application software, and mobile assistant application software are examples of predetermined application software.
  • the number of predetermined application softwares in this embodiment may be one or more. This embodiment does not limit the specific form and quantity of the predetermined application software.
  • the device of the embodiment can be implemented by a system service, that is, the embodiment.
  • the system service is set in advance for the application software that needs to perform the driver startup control, for example, the system service can be created through the CreateService interface.
  • the system service in this embodiment may correspond to one or more drivers, that is, the embodiment may be directed to a driver of one application software or multiple application software drivers.
  • the program sets up a system service.
  • this embodiment does not exclude the possibility of separately setting a system service for each application software driver.
  • the state information module 300 is acquired (such as the first The obtaining sub-module 301) obtains the running state information corresponding to the driver after the system service is started with the startup of the operating system; in addition, in the case of the driver that needs to start the predetermined application software in this embodiment, Specifically, in the case where the driver is successfully installed according to the control of the driver on the network side, the acquisition status information module 300 (such as the second acquisition submodule 302) successfully installs the driver according to the control of the driver on the network side. In the case of the program, the running status information corresponding to the driver is obtained.
  • the running state information corresponding to the driver acquired by the acquiring state information module 300 is used to indicate the previous running state of the driver, and the previous running state may be specifically the previous running abnormality or the previous running normal, that is, the driving.
  • the running status information corresponding to the program may indicate that the previous running abnormality of the driver or the previous running of the driver is normal; the previous running abnormality may be specifically the previous non-normal exit, and the previous running may be specific to the previous time. Exit normally.
  • each driver in the embodiment generally has its own running state information, that is, a one-to-one relationship between the driver and the running state information.
  • each driver in this embodiment may also correspond to the same running state information, that is, a one-to-one correspondence between the driver and the running state information.
  • the running state information acquired by the acquiring state information module 300 may be specifically a flag bit, such as one bit can be used to implement running state information, and the running state information corresponding to the driver may be preset to the smart electronic device.
  • the registry of the operating system can also be pre-set in the disk (such as a hard disk) of the smart electronic device.
  • the device of the embodiment sets the running state information corresponding to the driver for each operation of the driver, so that the acquiring state information module 300 can obtain the driver during the next startup of the driver.
  • the running status information corresponding to the program, and the apparatus of the embodiment can perform corresponding start control on the driver according to the running status information.
  • the device of the embodiment (such as the second control module 350) sets the operation state information corresponding to the driver to the first time that the driver is abnormally operated.
  • An identification information (such as setting the corresponding flag bit to 1); another specific example, in the case where it is necessary to turn off the driver of the predetermined application software, the device of the embodiment (such as the third control module 360) will drive the driver
  • the corresponding running status information is set to represent the second identification information that the driver has been running normally (such as setting the corresponding flag bit to 0), and the driver of the predetermined application software is closed.
  • the above-mentioned driver that needs to close the predetermined application software may be specifically closed for the system service to be shut down with the operating system, that is, the device of the embodiment is in the system service with the operating system.
  • the third control module 360 sets the running state information corresponding to the driver to the second identifier information indicating that the driver has been operating normally.
  • the initialization module 340 may initialize the operation state information corresponding to the driver of the predetermined application software to represent the driver before the system service is started for the first time. The normal second identification information is run.
  • the system service is started for the first time after the setting is completed, and the initialization module 340 in the system service is scheduled.
  • the running status information corresponding to the driver of the application software is initialized to the second identification information that characterizes the previous running of the driver.
  • the first control module 310 determines the running state information acquired by the acquiring state information module 300, and if the result of the determination is that the running state information corresponding to the driver is the second identifier information that indicates that the driver is running normally before (for example, 0), then the second control module 350
  • the operation of starting the driver of the predetermined application software may be directly performed, and the running state information corresponding to the driver is set to the first identification information (such as 1) that represents the previous abnormal operation of the driver; and if the determination result is the driving
  • the running status information corresponding to the program is the first identification information (such as 1) that is used to represent the previous running abnormality of the driver, and the apparatus of the embodiment does not directly perform the operation of starting the driver of the predetermined application software, but is performed by the first
  • the control module 310 acquires the current system information of the operating system, and reports the current system information acquired by the reporting module 320 to the corresponding server on the network side, and waits for the driver control information sent by the network side.
  • the first control module 310 determines that the previous running state of the driver is abnormal, and the device of the embodiment determines that the previous running state of the driver is abnormal and that the operating state information corresponding to the driver is the first identification information.
  • the receiving module 330 does not receive the driver control information sent by the network side, the operation of starting the driver is not performed. Therefore, the device of the embodiment substantially executes the driver for the driver of the previous running state abnormality.
  • the boot fuse operation prevents the operating system from continuing to boot the driver of the abnormally scheduled application software after the system crashes and restarts.
  • the first control module 310 may form a driver startup control request according to the preset server address and the acquired current system information, and send the report to the network side through the network connection manner such as WIFI or mobile data network by the reporting module 320.
  • the driver of the current system information initiates a control request.
  • This embodiment does not limit the specific content included in the driver startup control request formed by the first control module 310.
  • the current system information of the operating system acquired by the first control module 310 generally includes memory information of the smart electronic device, such as system crash information stored in the memory of the smart electronic device, etc.; hardware in which the device of the embodiment is located
  • memory information of the smart electronic device such as system crash information stored in the memory of the smart electronic device, etc.
  • the WINDOWS operating system will actively generate a Dump file containing memory information when the system crashes, and locally store it, and the WINDOWS operating system provides the acquisition.
  • Dump file interface therefore, the first control module The 310 can obtain 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 reporting module 320 may report the driver identification information to the network side together with the system information, and the driver identification information may include: an application software name, driver version information, and the like.
  • the driver control information sent by the network side received by the receiving module 330 of the 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 the network.
  • the side is formed according to the current system information of the operating system that it receives, that is, the network side analyzes the current system information received by the network side, and can determine whether there is a problem with the driver of the predetermined application software on the user side, if the result is determined. If there is a problem with the driver on the user side, the network side can obtain the driver of the predetermined application software locally (such as the latest version of the driver after the problem is fixed), and form a driver including the update driver notification and the driver package.
  • the program control information is sent to the user side that reports the current system information, and if the result of the determination is that there is no problem with the driver on the user side, the network side forms driver control information including the normal notification of the driver. And report the user side of the current system information The driver control information sent.
  • the network side of the embodiment may analyze the current system information by using a manual analysis or an automated analysis technology, for example, the network side searches in the current system information to determine whether the current system information includes a predetermined description, if If the result of the determination is that there is a predetermined description, it is determined that there is a problem with the driver of the predetermined application software on the user side, and a new driver package needs to be issued, and the user side is notified to perform the operation of starting the driver after installing the driver package.
  • a manual analysis or an automated analysis technology for example, the network side searches in the current system information to determine whether the current system information includes a predetermined description, if If the result of the determination is that there is a predetermined description, it is determined that there is a problem with the driver of the predetermined application software on the user side, and a new driver package needs to be issued, and the user side is notified to perform the operation of starting the driver after installing the driver package.
  • the driver of the predetermined application software on the user side does not have a problem, and it is not necessary to send a new driver package to the user side, and only the user side is notified to perform the operation of starting the driver.
  • This embodiment does not limit the network side to the current system. The specific implementation of the analysis of the information and the specific expression of the driver control information sent by the network side.
  • the first operation executing module 370 should perform the notification according to the update driver.
  • Corresponding driver installation operation to update the original driver of the intelligent electronic device by using the driver package delivered by the network side, and the first operation execution module 370 should also set the operation state information corresponding to the driver to the characterization driver.
  • the program first runs the normal second identification information, so that the device of the embodiment can continue to perform the startup operation of the driver after the installation operation of the driver is completed, that is, the first operation execution module 370 is driven according to the update.
  • the acquisition state information module 300 of the present embodiment continues to perform the acquisition.
  • the operating status information corresponding to the driver The device of the present embodiment (such as the second control module 350) can be successful because the running state information corresponding to the driver obtained by the acquiring state information module 300 is the second identifier information indicating that the driver is running normally.
  • the installed driver is started.
  • the second operation execution module 380 should normally notify the execution start operation of the driver according to the driver. (such as calling a driver through a corresponding interface, etc.), so that the driver is started, and the second operation execution module 380 should also set the running state information corresponding to the driver to the first identifier that represents the previous running abnormality of the driver. Information (such as 1).
  • a part of the application can be applied as a computer program product, such as a computer program instruction, when it is executed by an intelligent electronic device (such as a computer or a server, etc.), the operation of the intelligent electronic device can be invoked or provided according to the operation.
  • an intelligent electronic device such as a computer or a server, etc.
  • the program instructions for invoking the method of the present application may be stored in a fixed or removable recording medium, and/or transmitted by a data stream in a broadcast or other signal bearing medium, and/or stored in a
  • the program instructions run in the working memory of the intelligent electronic device.
  • an embodiment in accordance with the present application includes a device including a memory for storing computer program instructions and a processor for executing program instructions, wherein when the computer program instructions are executed by the processor, triggering
  • the apparatus operates based on the aforementioned methods and/or technical solutions in accordance with various embodiments of the present application.

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

一种驱动程序的控制方法及装置,其中的方法包括:在需要启动预定应用软件的驱动程序的情况下,获取驱动程序对应的运行状态信息(S100);在确定出所述运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息(S110),向网络侧上报所述当前系统信息(S120);接收网络侧下发的驱动程序控制信息(S130)。上述技术方案提高了驱动程序的稳定性,并提高了操作系统的稳定性。

Description

驱动程序的控制方法及装置 技术领域
本申请涉及计算机技术,尤其涉及一种驱动程序的控制方法以及驱动程序的控制装置。
背景技术
计算机、智能移动电话以及平板电脑等智能电子设备中通常会安装多个应用软件,如基于病毒查杀的应用软件、电脑管家应用软件以及手机助手应用软件等。应用软件的驱动程序是一种特殊类型的程序,部分驱动程序通常会在智能电子设备的操作系统中扮演着十分重要的角色,如有的应用软件的驱动程序作为操作系统的基础功能服务而可以自始至终的一直运行在智能电子设备中,再如有的应用软件的驱动程序由于拥有操作系统的最高访问权限而在智能电子设备的信息安全系统中发挥着核心作用。
发明人在实现本申请过程中发现,应用软件的驱动程序的稳定性问题会导致其在运行过程中出现异常,运行异常的应用软件的驱动程序往往会对操作系统的正常运行产生影响,有时甚至会导致操作系统崩溃(如导致操作系统出现蓝屏现象等),且操作系统在系统崩溃而重新启动后,通常仍然会继续启动应用软件的驱动程序,如果应用软件的驱动程序仍然存在异常,则不但驱动程序存在的问题得不到解决,还会对操作系统的稳定性产生严重影响。
发明内容
本申请的目的是提供一种驱动程序的控制方法及装置。
根据本申请的一个方面,提供了一种驱动程序的控制方法,且该方法主要包括以下步骤:在需要启动预定应用软件的驱动程序的情况下,获取 所述驱动程序对应的运行状态信息;在确定出所述运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息,并向网络侧上报所述当前系统信息;根据网络侧下发的驱动程序控制信息执行相应操作。
根据本申请的另一个方面,还提供了一种驱动程序的控制装置,且该装置主要包括:获取状态信息模块,用于在需要启动预定应用软件的驱动程序的情况下,获取所述驱动程序对应的运行状态信息;第一控制模块,用于在确定出所述运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息,并向网络侧上报所述当前系统信息;操作执行模块,用于根据网络侧下发的驱动程序控制信息执行相应操作。
与现有技术相比,本申请各个实施例中体现了以下优点:根据驱动程序的运行状态信息的取值判断出该驱动程序前次运行是否存在异常;本申请通过在判断出驱动程序前次运行存在异常时,搜集操作系统的当前系统信息并向网络侧上报,且在没有接收到网络侧下发的驱动程序控制信息的情况下,不会执行该驱动程序的启动操作,从而使该驱动程序的启动处于熔断状态,避免了操作系统在系统崩溃而重新启动后,仍然会继续启动存在异常的驱动程序的现象;由于网络侧可以根据当上报的前系统信息分析出用户侧的驱动程序是否存在问题以及存在怎样的问题,且网络侧可以根据其分析结果决定向用户侧下发怎样的驱动程序控制信息,因此,本申请可以根据网络侧下发的驱动程序控制信息执行相应的操作以实现驱动程序的正常启动,从而本申请避免了存在不稳定因素的驱动程序对操作系统的稳定性所产生的不良影响;从而本申请提供的技术方案提高了应用软件的驱动程序的稳定性,并提高了操作系统的稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例一的驱动程序的控制方法流程图;
图2为本申请实施例二的驱动程序的控制方法流程图;
图3为本申请实施例三的驱动程序的控制装置的第一结构示意图;
图4为本申请实施例三的获取状态信息模块的结构示意图;
图5为本申请实施例三的驱动程序的控制装置的第二结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施例作详细描述。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然本申请的流程图将各项操作描述成顺序的处理,但是,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本实施例中的服务器包括但不限于单个网络服务器、多个网络服务器组成的服务器组或者基于云计算(Cloud Computing)的由大量计算机或者网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述服务器可以接入网络并与网络中的其他设备进行信息交互操作。其中,所述服务器所能够接入的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述服务器以及网络等仅为举例,其他现有的或今后可能出现的服务器或者网络如可适用于本申请,也应包含在本申请保护范 围以内,并以引用方式包含于此。
后面描述所讨论的方法(其中一些通过流程图示出)实施例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合的形式来实施。当用软件、固件、中间件或者微代码来实施时,用以实施必要任务的程序代码或者代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的,但是,本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或者“耦合”到另一个单元时,其可以直接连接或者耦合到所述另一个单元,也可以存在中间单元。与此相对的,当一个单元被称为“直接连接”或者“直接耦合”到另一个单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如,“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例,而不是意图限制示例性实施例。除非上下文中明确地另有所指,否则,这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定了所陈述的特征、整数、步骤、操作、单元 和/或组件的存在,而不排除存在或者添加一个或更多的其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换的实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
技术术语说明:
驱动程序是一种可以使预定模块(如应用软件)正常工作的特殊类型的程序。
第一标识信息用于表征驱动程序前次运行异常。
第二标识信息用于表征驱动程序前次运行正常。
运行异常是指在运行过程中出现异常现象,如未正常退出等。
网络侧与用户侧相对应,网络侧可以具体为位于网络中的服务器等。
系统信息通常是指操作系统在运行过程中产生的信息。
下面结合附图对本申请的技术方案作进一步详细描述。
实施例一、驱动程序的控制方法。
图1为本实施例的驱动程序的控制方法流程图。在图1中,本实施例的方法主要包括:步骤S100、步骤S110、步骤S120以及步骤S130。本实施例中的驱动程序通常为应用软件的驱动程序,针对需要随智能电子设备的操作系统的启动而启动的应用软件而言,本实施例的方法可以运行于系统服务中(即本实施例的方法的执行主体可以为系统服务),由于系统服务是随着操作系统的启动而启动的,因此,本实施例的方法会在系统服务启动后而得以执行。本实施例中的应用软件可以为基于病毒查杀的应用软件、电脑管家应用软件以及手机助手应用软件等。本实施例中的智能电子设备可以为计算机、智能移动电话或者平板电脑等,且智能电子设备的操 作系统可以为WINDOWS操作系统。
下面对本实施例的方法所包含的各步骤分别进行说明。
S100、获取驱动程序对应的运行状态信息。
作为示例,本实施例可以在需要启动驱动程序(如预定应用软件)的情况下,获取该驱动程序对应的运行状态信息。本实施例中的预定应用软件为需要进行驱动程序启动控制的应用软件,且本实施例中的预定应用软件为第三方应用软件,如安装于智能电子设备中的基于病毒查杀的应用软件、电脑管家应用软件以及手机助手应用软件等。本实施例中的预定应用软件的数量可以为一个或者多个。本实施例不限制预定应用软件的具体表现形式以及数量。下面以驱动程序为预定应用软件的驱动程序为例,对本申请中的各步骤进行详细说明。
作为示例,在本实施例中的预定应用软件的驱动程序为需要随着操作系统的启动而随之启动的驱动程序的情况下,本实施例的方法可以通过系统服务来实现,即本实施例预先针对需要进行驱动程序启动控制的应用软件设置有系统服务,如可以通过CreateService接口来创建该系统服务。通常情况下,本实施例中的系统服务可以对应一个或者多个驱动程序,也就是说,本实施例可以针对一个应用软件的驱动程序或者多个应用软件的驱动程序设置一个系统服务。当然,本实施例也不排除为每一个应用软件的驱动程序分别设置一个系统服务的可能性。
作为示例,本实施例中的在需要启动预定应用软件的驱动程序的情况下可以具体为:在系统服务随着操作系统的启动而随之启动的情况下,即本实施例在系统服务随着操作系统的启动而随之启动后,获取驱动程序对应的运行状态信息;另外,本实施例中的在需要启动预定应用软件的驱动程序的情况下也可以具体为在根据网络侧对驱动程序的控制而成功安装了驱动程序的情况下,即本实施例在根据网络侧对驱动程序的控制而成功 安装了驱动程序的情况下,获取驱动程序对应的运行状态信息。
作为示例,本实施例中的驱动程序对应的运行状态信息用于表示驱动程序的前次运行状态,且前次运行状态通常可以具体为前次运行异常或者前次运行正常,即驱动程序对应的运行状态信息可以表示出驱动程序前次运行异常或者驱动程序前次运行正常;其中的前次运行异常可以具体为前次未正常退出,且其中的前次运行正常可以具体为前次正常退出。在需要对多个驱动程序进行启动控制的情况下,本实施例中的各驱动程序通常分别对应有各自的运行状态信息,即驱动程序与运行状态信息之间是一对一的对应关系;当然,本实施例中的各驱动程序也可以对应同一个运行状态信息,即驱动程序与运行状态信息之间是多对一的对应关系。
作为示例,本实施例中的运行状态信息可以具体为一个标志位,如可以利用一比特位来实现运行状态信息,且驱动程序对应的运行状态信息可以被预先设置于智能电子设备的操作系统的注册表中,也可以预先被设置于智能电子设备的磁盘(如硬盘)中。
作为示例,本实施例会针对驱动程序的每次运行均会设置驱动程序对应的运行状态信息,以便于可以在该驱动程序的下一次启动过程中,获取到该驱动程序对应的运行状态信息,并根据该运行状态信息对驱动程序进行启动控制。一个具体的例子,在预定应用软件的驱动程序被启动的情况下,本实施例将驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如将相应的标志位设置为1);另一个具体的例子,在需要关闭预定应用软件的驱动程序的情况下,本实施例将驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息(如将相应的标志位设置为0),并关闭该预定应用软件的驱动程序。在本实施例的方法运行于系统服务中的情况下,上述需要关闭预定应用软件的驱动程序可以具体为系统服务随操作系统的关闭而关闭,即本实施例在 系统服务随操作系统的关闭而随之关闭的过程中,将驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。另外,在本实施例的方法运行于系统服务中的情况下,本实施例可以在该系统服务初次启动的情况下,将预定应用软件的驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息,如在针对需要进行驱动程序启动控制的应用软件设置了系统服务并安装了驱动程序后,该系统服务在设置完成后首次启动,该系统服务将预定应用软件的驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息。
S110、在确定出运行状态信息为表征驱动程序前次运行异常的第一标识信息,则获取操作系统的当前系统信息。
作为示例,本实施例对上述步骤获取到的运行状态信息进行判断,如果判断结果为该驱动程序对应的运行状态信息为表征驱动程序前次运行正常的第二标识信息(如0),则本实施例可以直接执行启动该预定应用软件的驱动程序的操作,并将该驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如1);而如果判断结果为该驱动程序对应的运行状态信息为表征驱动程序前次运行异常的第一标识信息(如1),则本实施例不会直接执行启动该预定应用软件的驱动程序的操作,而是获取操作系统的当前系统信息。
由于本实施例在驱动程序对应的运行状态信息为第一标识信息时,确定出驱动程序的前次运行状态异常,且本实施例在确定出驱动程序的前次运行状态异常且在未接收到网络侧下发的驱动程序控制信息之前,不会执行启动驱动程序的操作,因此,本实施例实质上是针对前次运行状态异常的驱动程序执行了驱动程序的启动熔断操作,以避免发生操作系统在系统崩溃而重新启动后,仍然继续启动存在异常的预定应用软件的驱动程序的现象。
作为示例,本实施例获取到的操作系统的当前系统信息通常包括智能电子设备的内存信息,如智能电子设备的内存中存储的系统崩溃信息等;在本实施例的方法所处的硬件环境为基于WINDOWS操作系统的智能电子设备的情况下,由于WINDOWS操作系统会在系统崩溃而出现蓝屏现象时,主动的生成包含有内存信息的Dump文件,并本地存储,且WINDOWS操作系统提供了获取Dump文件的接口,因此,本实施例可以基于WINDOWS操作系统提供的接口来获取Dump文件,并将该Dump文件作为操作系统的当前系统信息。本实施例不限制获取操作系统的当前系统信息的具体实现方式。S120、向网络侧上报当前系统信息。
作为示例,本实施例向网络侧的相应服务器上报其获取到的当前系统信息,且等待网络侧下发的驱动程序控制信息。
作为示例,本实施例可以根据预先设置的服务器地址以及获取到的当前系统信息形成驱动程序启动控制请求,并通过WIFI或者移动数据网络等网络连接方式向网络侧发送包含有当前系统信息的驱动程序启动控制请求。本实施例不限制驱动程序启动控制请求所包含的具体内容。另外,本实施例在向网络侧上报系统信息时,可以将驱动程序标识信息与系统信息一起上报给网络侧,且该驱动程序标识信息可以包括:应用软件名称以及驱动程序版本信息等。
S130、接收网络侧下发的驱动程序控制信息。
作为示例,本实施例的网络侧下发的驱动程序控制信息主要用于使用户侧能够正常启动预定应用软件的驱动程序。网络侧下发的驱动程序控制信息是网络侧根据其接收到的操作系统的当前系统信息而形成的,即网络侧通过对其接收到的当前系统信息进行分析,可以以判断出用户侧的预定应用软件的驱动程序是否存在问题,如果判断结果为用户侧的驱动程序存在问题,则网络侧可以从本地获取该预定应用软件的驱动程序(如修正问 题后的最新版本的驱动程序),并形成包含有更新驱动程序通知以及驱动程序包的驱动程序控制信息,并向上报当前系统信息的用户侧下发该驱动程序控制信息,而如果判断结果为用户侧的驱动程序没有存在问题,则网络侧形成包含有驱动程序正常通知的驱动程序控制信息,并向上报当前系统信息的用户侧下发该驱动程序控制信息。
作为示例,本实施例的网络侧可以利用人工分析或者自动化分析技术等方式对当前系统信息进行分析,如网络侧在当前系统信息中进行查找,以判断当前系统信息中是否包含有预定描述,如果判断结果为存在预定描述,则确定出用户侧的预定应用软件的驱动程序存在问题,需要下发新的驱动程序包,并通知用户侧在安装该驱动程序包后再执行启动驱动程序的操作,而如果判断结果为不存在预定描述,则确定出用户侧的预定应用软件的驱动程序并不存在问题,不需要向用户侧下发新的驱动程序包,仅通知用户侧执行启动驱动程序的操作即可。本实施例不限制网络侧对当前系统信息进行分析的具体实现方式以及网络侧下发的驱动程序控制信息的具体表现形式。
作为示例,在接收到网络侧下发的驱动程序控制信息包含有更新驱动程序通知以及驱动程序包的情况下,本实施例应根据该更新驱动程序通知执行相应的驱动程序安装操作,以利用网络侧下发的驱动程序包更新智能电子设备本地原有的驱动程序,且本实施例还应将该驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息,以便于在完成驱动程序的安装操作并返回到步骤S100后,本实施例的方法可以继续执行驱动程序的启动操作,也就是说,本实施例在根据更新驱动程序通知执行了驱动程序安装操作后,由于驱动程序的成功安装满足了上述步骤S100中的需要启动预定应用软件的驱动程序这一条件,因此,本实施例的方法返回到步骤S100,并在顺序执行了步骤S100和步骤S110时,由于获 取到的驱动程序对应的运行状态信息为表征驱动程序前次运行正常的第二标识信息,因此,本实施例可以使成功安装后的驱动程序被启动。
作为示例,在接收到网络侧下发的驱动程序控制信息包含有驱动程序正常通知的情况下,本实施例应根据该驱动程序正常通知执行驱动程序的启动操作(如通过相应的接口调用驱动程序等操作),以使驱动程序被启动,且本实施例还应将驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如1)。
实施例二、驱动程序的控制方法。
本实施例是基于系统服务来实现驱动程序的控制的,且在驱动程序为预定应用软件的驱动程序的情况下,本实施例的方法流程如图2所示。
图2中,S200、系统服务启动,如该系统服务随着操作系统的启动而随之启动,再如在成功安装预定应用软件的驱动程序(如基于病毒查杀的应用软件的驱动程序),并针对该驱动程序成功设置了系统服务后,该系统服务启动。
S210、判断该系统服务是否为首次启动,如果系统服务为首次启动,则到步骤S211,如果系统服务不是首次启动,则到步骤S220。
S211、将该预定应用软件的驱动程序对应的运行状态信息设置为表征该驱动程序前次运行正常的第二标识信息,到步骤S220。
S220、获取该预定应用软件的驱动程序对应的运行状态信息,到步骤S230。
S230、判断该运行状态信息,以确定该运行状态信息是表征该驱动程序前次运行异常的第一标识信息,还是表征该驱动程序前次运行正常的第二标识信息,如果是第一标识信息,则到步骤S240,如果是第二标识信息,则到步骤S270。
S240、开启该驱动程序的熔断启动机制,即不执行启动该驱动程序的 操作,而是执行获取操作系统的当前系统信息的操作,并执行向网络侧的服务器上报获取到的当前系统信息的操作,然后,等待服务器下发的驱动程序控制信息,且在接收到服务器下发的驱动程序控制信息时,到步骤S250,而在没有接收到服务器下发的驱动程序控制信息的情况下,会持续处于等待状态。
另外,本步骤还可以向网络侧的服务器上报包含有预定应用软件名称以及驱动程序版本信息的驱动程序标识信息,以有利于服务器对驱动程序是否存在问题的分析。
S250、对网络侧的服务器下发的驱动程序控制信息进行识别判断,在确定出服务器下发的驱动程序控制信息包含有更新驱动程序通知以及驱动程序包时,到步骤S260,而在确定出服务器下发的驱动程序控制信息包含有驱动程序正常通知时,到步骤S270。
S260、根据服务器下发的驱动程序包执行驱动程序安装操作,并在该驱动程序成功安装(此时驱动程序并未被启动)后,将该驱动程序对应的运行状态信息设置为第二标识信息,然后,返回到步骤S220。
S270、执行驱动程序的启动操作,并将该驱动程序对应的运行状态信息设置为第一标识信息,且在需要关闭系统服务时,到步骤S280。
S280、在需要关闭系统服务时,将该驱动程序对应的运行状态信息设置为第二标识信息。
实施例三、驱动程序的控制装置。
本实施例中的驱动程序通常为应用软件的驱动程序,针对需要随智能电子设备的操作系统的启动而启动的应用软件而言,本实施例的装置可以设置于系统服务中(即本实施例的装置表现为系统服务的形式),由于系统服务是随着操作系统的启动而启动的,因此,本实施例的装置中的各模块会在系统服务启动后而得以执行其各自的操作。本实施例中的应用软件 可以为基于病毒查杀的应用软件、电脑管家应用软件以及手机助手应用软件等。本实施例的装置所适用的智能电子设备可以为计算机、智能移动电话或者平板电脑等,且智能电子设备的操作系统可以为WINDOWS操作系统。
图3为本实施例的驱动程序的控制装置示意图。在图3中,本实施例的装置主要包括:获取状态信息模块300、第一控制模块310、上报模块320以及接收模块330。
上述获取状态信息模块300主要用于获取驱动程序对应的运行状态信息;且该获取状态信息模块300可以在需要启动驱动程序(如预定应用软件)的情况下,获取该驱动程序对应的运行状态信息。该获取状态信息模块300可以包括:第一获取子模块301和第二获取子模块302(如图4所示)中的任意一个或者两个;其中的第一获取子模块301主要用于在系统服务随操作系统的启动而启动的情况下,获取驱动程序对应的运行状态信息;其中的第二获取子模块302主要用于在驱动程序成功安装时确定出需要启动预定应用软件的驱动程序,获取该驱动程序对应的运行状态信息。
上述第一控制模块310主要用于在确定出获取状态信息模块300获取的运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息.
上述上报模块320主要用于向网络侧上报该当前系统信息。
上述接收模块330主要用于接收网络侧下发的驱动程序控制信息。
另外,本实施例的装置还可以可选的包括:初始化模块340、第二控制模块350、第三控制模块360、第一操作执行模块370以及第二操作执行模块380中的任意一个或者多个(如图5所示);且其中的初始化模块340主要用于在系统服务初次启动的情况下,将预定应用软件的驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信 息;其中的第二控制模块350主要用于在确定出运行状态信息为表征驱动程序前次运行正常的第二标识信息的情况下,启动预定应用软件的驱动程序,并将运行状态信息设置为表征驱动程序前次运行异常的第一标识信息;其中的第三控制模块360主要用于在关闭预定应用软件的驱动程序的情况下,将驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息;其中的第一操作执行模块370主要用于在网络侧下发的驱动程序控制信息包括更新驱动程序通知以及驱动程序包的情况下,根据驱动程序包执行驱动程序安装操作,并将运行状态信息设置为表征驱动程序前次运行正常的第二标识信息;其中的第二操作执行模块380主要用于在网络侧下发的驱动程序控制信息包括驱动程序正常通知的情况下,执行驱动程序的启动操作,并将运行状态信息设置为表征驱动程序前次运行异常的第一标识信息。
下面以驱动程序为预定应用软件的驱动程序为例,对本实施例的装置所包含的各模块分别进行说明。
作为示例,本实施例中的预定应用软件为需要进行驱动程序启动控制的应用软件,且本实施例中的预定应用软件为第三方应用软件,如安装于智能电子设备中的基于病毒查杀的应用软件、电脑管家应用软件以及手机助手应用软件等。本实施例中的预定应用软件的数量可以为一个或者多个。本实施例不限制预定应用软件的具体表现形式以及数量。
作为示例,在本实施例中的预定应用软件的驱动程序为需要随着操作系统的启动而随之启动的驱动程序的情况下,本实施例的装置可以通过系统服务来实现,即本实施例预先针对需要进行驱动程序启动控制的应用软件设置有系统服务,如可以通过CreateService接口来创建该系统服务。通常情况下,本实施例中的系统服务可以对应一个或者多个驱动程序,也就是说,本实施例可以针对一个应用软件的驱动程序或者多个应用软件的驱 动程序设置一个系统服务。当然,本实施例也不排除为每一个应用软件的驱动程序分别设置一个系统服务的可能性。
作为示例,本实施例中的在需要启动预定应用软件的驱动程序的情况下可以具体为在系统服务随着操作系统的启动而随之启动的情况下,即获取状态信息模块300(如第一获取子模块301)在系统服务随着操作系统的启动而随之启动后,获取驱动程序对应的运行状态信息;另外,本实施例中的在需要启动预定应用软件的驱动程序的情况下也可以具体为在根据网络侧对驱动程序的控制而成功安装了驱动程序的情况下,即获取状态信息模块300(如第二获取子模块302)在根据网络侧对驱动程序的控制而成功安装了驱动程序的情况下,获取驱动程序对应的运行状态信息。
作为示例,获取状态信息模块300获取到的驱动程序对应的运行状态信息用于表示驱动程序的前次运行状态,且前次运行状态通常可以具体为前次运行异常或者前次运行正常,即驱动程序对应的运行状态信息可以表示出驱动程序前次运行异常或者驱动程序前次运行正常;其中的前次运行异常可以具体为前次未正常退出,且其中的前次运行正常可以具体为前次正常退出。
在本实施例的装置需要对多个驱动程序进行启动控制的情况下,本实施例中的各驱动程序通常分别对应有各自的运行状态信息,即驱动程序与运行状态信息之间是一对一的对应关系;当然,本实施例中的各驱动程序也可以对应同一个运行状态信息,即驱动程序与运行状态信息之间是多对一的对应关系。
作为示例,获取状态信息模块300获取到的运行状态信息可以具体为一个标志位,如可以利用一比特位来实现运行状态信息,且驱动程序对应的运行状态信息可以被预先设置于智能电子设备的操作系统的注册表中,也可以预先被设置于智能电子设备的磁盘(如硬盘)中。
作为示例,本实施例的装置针对驱动程序的每次运行均会设置驱动程序对应的运行状态信息,以便于可以在该驱动程序的下一次启动过程中,获取状态信息模块300可以获取到该驱动程序对应的运行状态信息,并使本实施例的装置可以根据该运行状态信息对驱动程序进行相应的启动控制。一个具体的例子,在预定应用软件的驱动程序被启动的情况下,本实施例的装置(如第二控制模块350)将驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如将相应的标志位设置为1);另一个具体的例子,在需要关闭预定应用软件的驱动程序的情况下,本实施例的装置(如第三控制模块360)将驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息(如将相应的标志位设置为0),并关闭该预定应用软件的驱动程序。
在本实施例的装置设置于系统服务中的情况下,上述需要关闭预定应用软件的驱动程序可以具体为系统服务随操作系统的关闭而关闭,即本实施例的装置在系统服务随操作系统的关闭而随之关闭的过程中,第三控制模块360将驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。另外,在本实施例的装置设置于系统服务中的情况下,初始化模块340可以在该系统服务初次启动的情况下,将预定应用软件的驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息,如在针对需要进行驱动程序启动控制的应用软件设置了系统服务并安装了驱动程序后,该系统服务在设置完成后首次启动,系统服务中的初始化模块340将预定应用软件的驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息。
作为示例,第一控制模块310对获取状态信息模块300获取到的运行状态信息进行判断,如果判断结果为该驱动程序对应的运行状态信息为表征驱动程序前次运行正常的第二标识信息(如0),则第二控制模块350 可以直接执行启动该预定应用软件的驱动程序的操作,并将该驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如1);而如果判断结果为该驱动程序对应的运行状态信息为表征驱动程序前次运行异常的第一标识信息(如1),则本实施例的装置不会直接执行启动该预定应用软件的驱动程序的操作,而是由第一控制模块310获取操作系统的当前系统信息,并由上报模块320向网络侧的相应服务器上报其获取到的当前系统信息,且等待网络侧下发的驱动程序控制信息。
由于在驱动程序对应的运行状态信息为第一标识信息时,第一控制模块310确定出驱动程序的前次运行状态异常,且本实施例的装置在确定出驱动程序的前次运行状态异常且在接收模块330未接收到网络侧下发的驱动程序控制信息之前,不会执行启动驱动程序的操作,因此,本实施例的装置实质上是针对前次运行状态异常的驱动程序执行了驱动程序的启动熔断操作,以避免发生操作系统在系统崩溃而重新启动后,仍然继续启动存在异常的预定应用软件的驱动程序的现象。
作为示例,第一控制模块310可以根据预先设置的服务器地址以及获取到的当前系统信息形成驱动程序启动控制请求,并由上报模块320通过WIFI或者移动数据网络等网络连接方式向网络侧发送包含有当前系统信息的驱动程序启动控制请求。本实施例不限制第一控制模块310所形成的驱动程序启动控制请求所包含的具体内容。
作为示例,第一控制模块310获取到的操作系统的当前系统信息通常包括智能电子设备的内存信息,如智能电子设备的内存中存储的系统崩溃信息等;在本实施例的装置所处的硬件环境为基于WINDOWS操作系统的智能电子设备的情况下,由于WINDOWS操作系统会在系统崩溃而出现蓝屏现象时,主动的生成包含有内存信息的Dump文件,并本地存储,且WINDOWS操作系统提供了获取Dump文件的接口,因此,第一控制模块 310可以基于WINDOWS操作系统提供的接口来获取Dump文件,并将该Dump文件作为操作系统的当前系统信息。本实施例不限制第一控制模块310获取操作系统的当前系统信息的具体实现方式。另外,上报模块320在向网络侧上报系统信息时,可以将驱动程序标识信息与系统信息一起上报给网络侧,且该驱动程序标识信息可以包括:应用软件名称以及驱动程序版本信息等。
作为示例,本实施例的接收模块330接收到的网络侧下发的驱动程序控制信息主要用于使用户侧能够正常启动预定应用软件的驱动程序,且网络侧下发的驱动程序控制信息是网络侧根据其接收到的操作系统的当前系统信息而形成的,即网络侧通过对其接收到的当前系统信息进行分析,可以判断出用户侧的预定应用软件的驱动程序是否存在问题,如果判断结果为用户侧的驱动程序存在问题,则网络侧可以从本地获取该预定应用软件的驱动程序(如修正问题后的最新版本的驱动程序),并形成包含有更新驱动程序通知以及驱动程序包的驱动程序控制信息,并向上报当前系统信息的用户侧下发该驱动程序控制信息,而如果判断结果为用户侧的驱动程序没有存在问题,则网络侧形成包含有驱动程序正常通知的驱动程序控制信息,并向上报当前系统信息的用户侧下发该驱动程序控制信息。
作为示例,本实施例的网络侧可以利用人工分析或者自动化分析技术等方式对当前系统信息进行分析,如网络侧在当前系统信息中进行查找,以判断当前系统信息中是否包含有预定描述,如果判断结果为存在预定描述,则确定出用户侧的预定应用软件的驱动程序存在问题,需要下发新的驱动程序包,并通知用户侧在安装该驱动程序包后再执行启动驱动程序的操作,而如果判断结果为不存在预定描述,则确定出用户侧的预定应用软件的驱动程序并不存在问题,不需要向用户侧下发新的驱动程序包,仅通知用户侧执行启动驱动程序的操作即可。本实施例不限制网络侧对当前系 统信息进行分析的具体实现方式以及网络侧下发的驱动程序控制信息的具体表现形式。
作为示例,本实施例的接收模块330在接收到网络侧下发的驱动程序控制信息包含有更新驱动程序通知以及驱动程序包的情况下,第一操作执行模块370应根据该更新驱动程序通知执行相应的驱动程序安装操作,以利用网络侧下发的驱动程序包更新智能电子设备本地原有的驱动程序,且第一操作执行模块370还应将该驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息,以便于在完成驱动程序的安装操作后,本实施例的装置可以继续执行驱动程序的启动操作,也就是说,第一操作执行模块370在根据更新驱动程序通知执行了驱动程序安装操作后,由于驱动程序的成功安装满足了获取状态信息模块300的需要启动预定应用软件的驱动程序这一条件,因此,本实施例的获取状态信息模块300继续执行获取该驱动程序对应的运行状态信息的操作,由于获取状态信息模块300获取到的驱动程序对应的运行状态信息为表征驱动程序前次运行正常的第二标识信息,因此,本实施例的装置(如第二控制模块350)可以使成功安装后的驱动程序被启动。
作为示例,本实施例的装置在接收到网络侧下发的驱动程序控制信息包含有驱动程序正常通知的情况下,第二操作执行模块380)应根据该驱动程序正常通知执行驱动程序的启动操作(如通过相应的接口调用驱动程序等操作),以使驱动程序被启动,且第二操作执行模块380还应将驱动程序对应的运行状态信息设置为表征驱动程序前次运行异常的第一标识信息(如1)。
需要注意的是,本申请的一部分可以被应用为计算机程序产品,例如计算机程序指令,当其被智能电子设备(如计算机或者服务器等)执行时,通过该智能电子设备的操作可以调用或者提供根据本申请的方法和/或技 术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或者其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的智能电子设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请并不局限于上述示范性实施例的细节,而且在不背离本申请的精神或者基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将本申请的实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或者装置或者模块也可以由一个单元或者装置或者模块通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (22)

  1. 一种驱动程序的控制方法,其中,且所述方法包括以下步骤:
    获取驱动程序对应的运行状态信息;
    在确定出所述运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息;
    向网络侧上报所述当前系统信息,所述当前系统信息用于网络侧形成驱动程序控制信息;
    接收网络侧下发的驱动程序控制信息。
  2. 根据权利要求1所述的方法,其中,所述获取驱动程序对应的运行状态信息的步骤包括:
    在需要启动驱动程序的情况下,获取所述驱动程序对应的运行状态信息。
  3. 根据权利要求2所述的方法,其中,所述方法运行于系统服务中;且所述在需要启动驱动程序的情况下,获取所述驱动程序对应的运行状态信息的步骤包括:
    在所述系统服务随操作系统的启动而启动的情况下,获取所述驱动程序对应的运行状态信息。
  4. 根据权利要求3所述的方法,其中,所述方法还包括:
    在所述系统服务初次启动的情况下,将所述驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息。
  5. 根据权利要求1所述的方法,其中,所述方法还包括:
    在确定出所述运行状态信息为表征驱动程序前次运行正常的第二标识信息的情况下,启动所述驱动程序,并将所述运行状态信息设置为表征驱动程序前次运行异常的第一标识信息。
  6. 根据权利要求1所述的方法,其中,所述方法还包括:
    在关闭所述驱动程序的情况下,将所述驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  7. 根据权利要求6所述的方法,其中,所述方法运行于系统服务中;且所述在关闭所述驱动程序的情况下,将所述驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息的步骤包括:
    在所述系统服务随操作系统的关闭而关闭的过程中,关闭所述驱动程序,并将所述驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  8. 根据权利要求1至7中任一权利要求所述的方法,其中,所述获取操作系统的当前系统信息的步骤包括:
    基于操作系统提供的接口获取Dump文件。
  9. 根据权利要求2至7中任一权利要求所述的方法,其中,所述方法还包括:
    在网络侧下发的驱动程序控制信息包括更新驱动程序通知以及驱动程序包的情况下,根据所述驱动程序包执行驱动程序安装操作,并将所述运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  10. 根据权利要求9所述的方法,其中,所述在需要启动驱动程序的情况下,获取所述驱动程序对应的运行状态信息的步骤包括:
    在所述驱动程序成功安装时确定出需要启动驱动程序,获取所述驱动程序对应的运行状态信息。
  11. 根据权利要求1至7中任一权利要求所述的方法,其中,所述接方法的步骤还包括:
    在网络侧下发的驱动程序控制信息包括驱动程序正常通知的情况下,执行所述驱动程序的启动操作,并将所述运行状态信息设置为表征驱动程序前次运行异常的第一标识信息。
  12. 一种应用软件的驱动程序的启动控制装置,其中,所述装置包括:
    获取状态信息模块,用于获取驱动程序对应的运行状态信息;
    第一控制模块,用于在确定出所述运行状态信息为表征驱动程序前次运行异常的第一标识信息,获取操作系统的当前系统信息;
    上报模块,用于向网络侧上报所述当前系统信息;
    接收模块,用于接收网络侧下发的驱动程序控制信息。
  13. 根据权利要求12所述的装置,其中,所述获取状态信息模块具体用于,在需要启动驱动程序的情况下,获取所述驱动程序对应的运行状态信息。
  14. 根据权利要求13所述的装置,其中,所述装置设置于系统服务中;且所述获取状态信息模块包括:
    第一获取子模块,用于在所述系统服务随操作系统的启动而启动的情况下,获取所述驱动程序对应的运行状态信息。
  15. 根据权利要求14所述的装置,其中,所述装置还包括:
    初始化模块,用于在所述系统服务初次启动的情况下,将所述驱动程序对应的运行状态信息初始化为表征驱动程序前次运行正常的第二标识信息。
  16. 根据权利要求12所述的装置,其中,所述装置还包括:
    第二控制模块,用于在确定出所述运行状态信息为表征驱动程序前次运行正常的第二标识信息的情况下,启动所述驱动程序,并将所述运行状态信息设置为表征驱动程序前次运行异常的第一标识信息。
  17. 根据权利要求12所述的装置,其中,所述装置还包括:
    第三控制模块,用于在关闭所述驱动程序的情况下,将所述驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  18. 根据权利要求17所述的装置,其中,所述装置设置于系统服务 中;且所述第三控制模块具体用于,在所述系统服务随操作系统的关闭而关闭的过程中,关闭所述驱动程序,并将所述驱动程序对应的运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  19. 根据权利要求12至18中任一权利要求所述的装置,其中,所述第一控制模块具体用于,基于操作系统提供的接口获取Dump文件。
  20. 根据权利要求13至18中任一权利要求所述的装置,其中,所述装置还包括:
    第一操作执行模块,用于在网络侧下发的驱动程序控制信息包括更新驱动程序通知以及驱动程序包的情况下,根据所述驱动程序包执行驱动程序安装操作,并将所述运行状态信息设置为表征驱动程序前次运行正常的第二标识信息。
  21. 根据权利要求20所述的装置,其中,所述获取状态信息模块包括:
    第二获取子模块,用于在所述驱动程序成功安装时确定出需要启动驱动程序,获取所述驱动程序对应的运行状态信息。
  22. 根据权利要求12至18中任一权利要求所述的装置,其中,所述装置还包括:
    第二操作执行模块,用于在网络侧下发的驱动程序控制信息包括驱动程序正常通知的情况下,执行所述驱动程序的启动操作,并将所述运行状态信息设置为表征驱动程序前次运行异常的第一标识信息。
PCT/CN2017/079858 2016-05-03 2017-04-10 驱动程序的控制方法及装置 Ceased WO2017190575A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610287332.1A CN107341026B (zh) 2016-05-03 2016-05-03 驱动程序的控制方法及装置
CN201610287332.1 2016-05-03

Publications (1)

Publication Number Publication Date
WO2017190575A1 true WO2017190575A1 (zh) 2017-11-09

Family

ID=60202732

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/079858 Ceased WO2017190575A1 (zh) 2016-05-03 2017-04-10 驱动程序的控制方法及装置

Country Status (2)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228259A (zh) * 2017-12-28 2018-06-29 珠海市君天电子科技有限公司 硬件驱动的安装方法、服务器、客户端及电子设备
CN108874454B (zh) * 2018-06-27 2021-12-17 郑州云海信息技术有限公司 一种目标驱动程序的自适应启动方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187452A (ja) * 1996-12-27 1998-07-21 F F C:Kk プロセスの異常兆候検出システム
CN101354677A (zh) * 2008-09-11 2009-01-28 青岛海信移动通信技术股份有限公司 一种应用程序运行状态的检测方法、恢复方法及装置
CN102880488A (zh) * 2012-09-12 2013-01-16 北京奇虎科技有限公司 驱动程序修复方法、设备和系统
CN104461847A (zh) * 2014-12-03 2015-03-25 北京国双科技有限公司 数据处理程序检测方法及装置
CN105354131A (zh) * 2015-12-11 2016-02-24 北京慧眼智行科技有限公司 一种服务程序运行的监控方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073519B (zh) * 2010-12-31 2014-03-19 青岛海信宽带多媒体技术有限公司 一种软件更新方法
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
CN103902338B (zh) * 2014-03-21 2017-08-04 珠海市君天电子科技有限公司 一种驱动加载及处理方法、客户端、服务器及系统
CN105045617B (zh) * 2015-07-03 2019-11-12 Tcl集团股份有限公司 一种Android系统的应用恢复方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187452A (ja) * 1996-12-27 1998-07-21 F F C:Kk プロセスの異常兆候検出システム
CN101354677A (zh) * 2008-09-11 2009-01-28 青岛海信移动通信技术股份有限公司 一种应用程序运行状态的检测方法、恢复方法及装置
CN102880488A (zh) * 2012-09-12 2013-01-16 北京奇虎科技有限公司 驱动程序修复方法、设备和系统
CN104461847A (zh) * 2014-12-03 2015-03-25 北京国双科技有限公司 数据处理程序检测方法及装置
CN105354131A (zh) * 2015-12-11 2016-02-24 北京慧眼智行科技有限公司 一种服务程序运行的监控方法及装置

Also Published As

Publication number Publication date
CN107341026A (zh) 2017-11-10
CN107341026B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US7293169B1 (en) Methods and systems for remotely updating the firmware of multiple computers over a distributed network
US11301280B2 (en) System and method for managing a monitoring agent in an operating system of a virtual computing instance
US7873957B2 (en) Minimizing user disruption during modification operations
US20180232225A1 (en) Applying update to snapshots of virtual machine
US9785426B2 (en) Methods and apparatus to manage application updates in a cloud environment
JP5579650B2 (ja) 監視対象プロセスを実行する装置及び方法
US20120042195A1 (en) Managing operating system deployment failure
JP6089064B2 (ja) ソフトウェア・コンポーネントを更新するための方法、コンピュータ・システムおよびメモリ装置
WO2020096845A1 (en) Performing actions opportunistically in connection with reboot events in a cloud computing system
US10802916B2 (en) System and method to enable rapid recovery of an operating system image of an information handling system after a malicious attack
US9268662B2 (en) Method and system for a high availability framework
CN111475172B (zh) 一种裸机部署方法及装置
US8453013B1 (en) System-hang recovery mechanisms for distributed systems
JP2011103093A (ja) 高速で起動するコンピュータ
US7392149B2 (en) Automatic software testing
US8495637B2 (en) Apparatus and method for temporarily freeing up resources in a computer
US11520648B2 (en) Firmware emulated watchdog timer controlled using native CPU operations
WO2017190575A1 (zh) 驱动程序的控制方法及装置
WO2018037292A1 (en) Non-process identifier based service manager
US11429166B2 (en) System and method for managing device updates
US20150350340A1 (en) Management of headless hardware in data center
US20240020103A1 (en) Parallelizing data processing unit provisioning
US8843665B2 (en) Operating system state communication
CN115220861A (zh) 虚拟客户机管理方法、装置、介质和设备
US12524256B2 (en) Generating installation images based upon DPU-specific capabilities

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17792402

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17792402

Country of ref document: EP

Kind code of ref document: A1