CN112114848A - Drive updating method, device, system, electronic equipment and storage medium - Google Patents

Drive updating method, device, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN112114848A
CN112114848A CN202010953996.3A CN202010953996A CN112114848A CN 112114848 A CN112114848 A CN 112114848A CN 202010953996 A CN202010953996 A CN 202010953996A CN 112114848 A CN112114848 A CN 112114848A
Authority
CN
China
Prior art keywords
drive
target
version
driver
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010953996.3A
Other languages
Chinese (zh)
Inventor
尹雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010953996.3A priority Critical patent/CN112114848A/en
Publication of CN112114848A publication Critical patent/CN112114848A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

The disclosure relates to a drive updating method, device, system, electronic equipment and storage medium. The drive update method includes: acquiring a target drive version from a configuration center; the target drive version can be dynamically configured through the configuration center; detecting whether a current driving version corresponding to a driving object is the same as a target driving version; if the current drive version is different from the target drive version, shielding the drive object through a shielding control center; and acquiring a target drive file corresponding to the target drive version from the drive file center, updating the current drive by adopting the target drive file, and updating the current drive into the target drive corresponding to the target drive version. The whole drive updating process of the method does not need manual participation, can automatically shield the drive object, timely completes drive updating, shortens the drive updating period, improves the drive updating efficiency, further improves the resource utilization rate, and avoids resource waste.

Description

Drive updating method, device, system, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, a system, an electronic device, and a storage medium for driver update.
Background
With the continued development of computer and internet technologies, container technology has emerged, and is becoming more prevalent as an enterprise infrastructure. The K8s (kubernets) is an open-source container cluster management system, and can implement automatic deployment, automatic expansion and contraction, maintenance and the like of a container cluster. The server is deployed in a large scale in the cluster to execute the machine learning task, so that a common solution for solving the computational power arrangement problem in the artificial intelligence scene by all large Internet companies is formed. When a related task is executed by a cluster, in order to ensure normal performance of the operation performance, the driver in the cluster needs to be updated frequently. In a conventional drive updating method, it is usually required to observe whether a current drive version is the same as a drive version to be updated, and if not, a drive updating process is manually executed.
However, when the cluster size is large, in the conventional drive updating method, the drive updating process is manually executed, so that the drive updating period is long, the efficiency is low, the resource utilization rate is affected, and the resource waste is caused.
Disclosure of Invention
The present disclosure provides a method, an apparatus, a system, an electronic device, and a storage medium for updating a drive, so as to at least solve the problems of long drive update period and low efficiency in the related art. The technical scheme of the disclosure is as follows:
according to a first aspect of embodiments of the present disclosure, there is provided a drive update method including:
acquiring a target drive version from a configuration center; wherein the target-driven version can be dynamically configured through the configuration center;
detecting whether the current driving version corresponding to the driving object is the same as the target driving version;
if the current drive version is different from the target drive version, shielding the drive object through a shielding control center;
and acquiring a target drive file corresponding to the target drive version from a drive file center, updating the current drive by adopting the target drive file, and updating the current drive into the target drive corresponding to the target drive version.
In an exemplary embodiment, if the current driving version is not the same as the target driving version, masking the driving object, which includes:
and if the current drive version is the same as the target drive version, returning to the step of acquiring the target drive version from the configuration center after first preset time.
In an exemplary embodiment, the obtaining the target driver file corresponding to the target driver version from the driver file center previously includes:
acquiring a drive installation package;
compiling the driver installation package to obtain a driver file;
and storing the drive file to the drive file center.
In an exemplary embodiment, the updating the current drive by using the target drive file, and updating the current drive to a target drive corresponding to the target drive version includes:
detecting whether the driving object has a task to be executed;
if yes, returning to the step of detecting whether the driving object has a task needing to be executed or not after second preset time;
and if the target driver does not exist, updating the current driver by adopting the target driver file, and updating the current driver into the target driver.
In an exemplary embodiment, if the target driver does not exist, updating the current driver by using the target driver file, and updating the current driver to the target driver includes:
if not, the cluster service and the container service are closed through the shielding control center, the current drive is updated by adopting the target drive file, and the current drive is updated to be the target drive.
In an exemplary embodiment, if the target driver file does not exist, the method further includes the steps of closing cluster services and container services through the shielding control center, updating the current driver by using the target driver file, and updating the current driver to the target driver, and then:
and starting the cluster service and the container service through the shielding control center, and removing the shielding of the driving object.
According to a second aspect of the embodiments of the present disclosure, there is provided a drive update apparatus including:
a target drive version acquisition unit configured to perform acquisition of a target drive version from a configuration center; wherein the target-driven version can be dynamically configured through the configuration center;
a driving version detection unit configured to perform detection of whether a current driving version corresponding to a driving object is the same as the target driving version;
a driving object shielding unit configured to shield the driving object through a shielding control center if the current driving version is not the same as the target driving version;
and the drive updating unit is configured to execute the steps of acquiring a target drive file corresponding to the target drive version from a drive file center, updating the current drive by adopting the target drive file, and updating the current drive to the target drive corresponding to the target drive version.
In an exemplary embodiment, the drive update apparatus further includes a drive version update unit configured to perform:
and if the current drive version is the same as the target drive version, returning to the step of acquiring the target drive version from the configuration center after first preset time.
In an exemplary embodiment, the drive update unit is further configured to perform:
acquiring a drive installation package;
compiling the driver installation package to obtain a driver file;
and storing the drive file to the drive file center.
In an exemplary embodiment, the drive update unit is further configured to perform:
detecting whether the driving object has a task to be executed;
if yes, returning to the step of detecting whether the driving object has a task needing to be executed or not after second preset time;
and if the target driver does not exist, updating the current driver by adopting the target driver file, and updating the current driver into the target driver.
In an exemplary embodiment, the drive update unit is further configured to perform:
if not, the cluster service and the container service are closed through the shielding control center, the current drive is updated by adopting the target drive file, and the current drive is updated to be the target drive.
In an exemplary embodiment, the drive update apparatus further includes a mask release unit configured to perform:
and starting the cluster service and the container service through the shielding control center, and removing the shielding of the driving object.
According to a third aspect of the embodiments of the present disclosure, there is provided a drive update system including:
the configuration center is used for storing the target driving version, and the target driving version in the configuration center can be dynamically configured;
the drive file center is used for storing drive files, and the drive files are used for generating corresponding drive programs;
the client is used for acquiring a target drive version from the configuration center, detecting whether a current drive version corresponding to the drive object is the same as the target drive version or not, and if the current drive version is not the same as the target drive version, sending a shielding control instruction to the shielding control center;
the shielding control center responds to the shielding control instruction, shields the driving object and sends a shielding control result to the client;
and the client acquires a target drive file corresponding to the target drive version from the drive file center according to the shielding control result, updates the current drive by adopting the target drive file, and updates the current drive to the target drive corresponding to the target drive version.
In an exemplary embodiment, the client is further configured to perform:
and if the current drive version is the same as the target drive version, acquiring the target drive version from the configuration center after a first preset time.
In an exemplary embodiment, the driver file center is further configured to:
acquiring a drive installation package;
compiling the driver installation package to obtain the driver file;
and storing the drive file to the drive file center.
In an exemplary embodiment, the client acquires a target drive file corresponding to the target drive version from the drive file center according to the shielding control result, and detects whether the drive object has a task to be executed;
if yes, re-detecting whether the driving object has a task to be executed or not after a second preset time;
and if the target driver does not exist, updating the current driver by adopting the target driver file, and updating the current driver into the target driver.
In an exemplary embodiment, the client is further configured to perform:
if not, the cluster service and the container service are closed through the shielding control center, the current drive is updated by adopting the target drive file, and the current drive is updated to be the target drive.
In an exemplary embodiment, after updating the current driver to the target driver, the client sends a driver update completion instruction to the shield control center;
and the shielding control center responds to the drive updating completion instruction, starts the cluster service and the container service and removes shielding of the drive object.
According to a fourth aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the drive update method described in any of the embodiments of the first aspect above.
According to a fifth aspect of embodiments of the present disclosure, there is provided a storage medium, wherein instructions that, when executed by a processor of an electronic device, enable the electronic device to perform the drive update method described in any one of the above first aspects.
According to a sixth aspect of embodiments of the present disclosure, there is provided a computer program product, the program product comprising a computer program, the computer program being stored in a readable storage medium, from which at least one processor of a device reads and executes the computer program, so that the device performs the driver update method described in any one of the embodiments of the first aspect.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
the method comprises the steps of obtaining a target drive version from a configuration center capable of dynamically configuring the target drive version, detecting whether a current drive version corresponding to a drive object is the same as the target drive version, shielding the drive object through a shielding control center under the condition that the current drive version is not the same as the target drive version, obtaining a target drive file corresponding to the target drive version from a drive file center, updating the current drive corresponding to the drive object by adopting the target drive file, and updating the current drive to the target drive corresponding to the target drive version. The whole drive updating process does not need manual participation, under the condition that the current drive version is inconsistent with the target drive version, the drive object can be shielded, the target drive file corresponding to the target drive version is obtained from the center of the drive file in time, and the drive updating is completed by adopting the target drive file, so that unnecessary time delay caused by manual participation is reduced, the drive updating period is shortened, the drive updating efficiency is improved, the resource utilization rate is further improved, and resource waste is avoided.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
FIG. 1 is a diagram illustrating an application environment for a method for driving an update, according to an exemplary embodiment.
FIG. 2 is a flow chart illustrating a method of driving an update according to an exemplary embodiment.
Fig. 3 is a flowchart illustrating one possible implementation of step S400 according to an example embodiment.
FIG. 4 is a flow chart illustrating a method of driving an update, according to a particular illustrative embodiment.
Fig. 5 is a block diagram illustrating a drive update apparatus according to an exemplary embodiment.
FIG. 6 is a block diagram illustrating a drive update system according to an exemplary embodiment.
FIG. 7 is a block diagram illustrating an electronic device for driving an update in accordance with an exemplary embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
The driving updating method provided by the present disclosure can be applied to the application environment shown in fig. 1. Wherein the terminal 110 interacts with the interface server 120. The terminal 110 (drive automatic upgrade client) acquires a target drive version from a configuration center capable of dynamically configuring the target drive version through the server 120, detects whether a current drive version corresponding to the drive object is the same as the target drive version, shields the drive object through the shield control center under the condition that the current drive version is not the same as the target drive version, acquires a target drive file corresponding to the target drive version from the drive file center, updates the current drive corresponding to the drive object by using the target drive file, and updates the current drive to the target drive corresponding to the target drive version. The terminal 110 may be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, and the server 120 may be implemented by an independent server or a server cluster formed by a plurality of servers. The Server 120 further includes a driver package compiling center 121 that compiles driver packages of respective versions, a driver file center (file Server) 122, a configuration center 123, and a mute control center (interface Server, K8s API Server) 124.
Fig. 2 is a flowchart of a driving update method according to an exemplary embodiment, and as shown in fig. 2, the method is described as applied to the terminal in fig. 1, and specifically includes the following steps:
in step S100, a target drive version is acquired from a configuration center; the target driving version can be dynamically configured through the configuration center.
In step S200, it is detected whether the current driving version corresponding to the driving object is the same as the target driving version.
In step S300, if the current driving version is not the same as the target driving version, the driving object is masked by the masking control center.
In step S400, a target drive file corresponding to the target drive version is acquired from the drive file center, and the current drive corresponding to the drive object is updated by using the target drive file, so that the current drive is updated to the target drive corresponding to the target drive version.
The driving object refers to a server, a terminal device, a processor or a module corresponding to the driving program. The current drive version refers to the version of the drive program corresponding to the drive object, and the target drive version refers to the version stored in the configuration center and to which the drive program in the drive object needs to be updated. The drive file center is a set formed by at least one drive file, and one drive version corresponds to one drive file. The driver file is a file obtained by compiling the driver installation package, and the driver file can be used for updating the driver.
Specifically, a target drive version is acquired from a configuration center capable of dynamically configuring the target drive version, after a current drive version and a target drive version corresponding to a drive object are acquired, whether the current drive version and the target drive version corresponding to the drive object are the same is detected, if the current drive version and the target drive version are different, it is indicated that a drive program corresponding to the drive object needs to be updated or the drive program corresponding to the drive object is being updated, at this time, the drive object needs to be shielded by a shielding control center, so that the drive object is not called any more, a new task is not allocated to the drive object, and meanwhile, a task scheduling system can work normally. And after the driving object is shielded, acquiring a target driving file corresponding to the target driving version from the driving file center, updating the current driving corresponding to the driving object by adopting the target driving file, and updating the current driving into the target driving corresponding to the target driving version.
In the drive updating method, a target drive version is obtained from a configuration center capable of dynamically configuring the target drive version, whether a current drive version corresponding to a drive object is the same as the target drive version is detected, the drive object is shielded through a shielding control center under the condition that the current drive version is not the same as the target drive version, a target drive file corresponding to the target drive version is obtained from a drive file center, the target drive file is adopted to update the current drive corresponding to the drive object, and the current drive is updated to the target drive corresponding to the target drive version. The whole drive updating process does not need manual participation, under the condition that the current drive version is inconsistent with the target drive version, the drive object can be shielded, the target drive file corresponding to the target drive version is acquired from the center of the drive file in time, the drive updating is completed by adopting the target drive file, unnecessary time delay caused by manual participation is reduced, the drive updating period is shortened, the drive updating efficiency is improved, the resource utilization rate is further improved, and resource waste is avoided.
In an exemplary embodiment, one possible implementation of step S200 is a method, which includes:
and if the current drive version is the same as the target drive version, returning to execute the step of obtaining the target drive version from the configuration center after the first preset time.
The first preset time is a preset time span, the first preset time may be 3 minutes, 5 minutes, 10 minutes, a week or a month, and the specific first preset time is determined according to an actual requirement, and the first preset time is not specifically limited herein.
Specifically, under the condition that the current drive version is the same as the target drive version, the target drive version is obtained from the configuration center at intervals of a first preset time (for example, 5 minutes), and whether the current drive version is consistent with the target drive version is detected once, until the current drive version is detected to be different from the target drive version, the drive object is shielded by the shielding control center, a target drive file corresponding to the target drive version is obtained from the drive file center, the target drive file is adopted to update the current drive corresponding to the current drive version, and the current drive is updated to the target drive corresponding to the target drive version. Thus, over a period of iterations, all drivers in a cluster or container may be updated to the specified target driver version.
In the above exemplary embodiment, when the current driving version is the same as the target driving version, the target driving version may be obtained from the configuration center at intervals of a first preset time, and whether the current driving version is the same as the target driving version is detected once, until it is detected that the current driving version is different from the target driving version, the driving is updated. Therefore, after a period of iteration, all the drivers in one cluster or one container can be updated to the specified target driver version, so that the updating efficiency of the drivers is improved, the resource utilization rate is further improved, and the resource waste is avoided.
In an exemplary embodiment, the method for acquiring the drive file center includes:
acquiring a drive installation package; compiling the driver installation package to obtain a driver file; and storing the drive installation file to a drive file center.
Specifically, when the device or server that needs to perform the drive update is a GPU server, the GPU server is described by taking the K8s cluster as an example for deployment and management. Among them, the k8s GPU cluster usually uses the GPU card of NVIDIA as the main computing resource, and when executing the task related to deep learning, the GP of NVIDIA needs to use the CUDA (computer Unified Device architecture) library as the basis of the deep learning framework, and the new CUDA library usually needs the support of higher version GPU hardware driver to improve the software operation performance. Therefore, after each generation of CUDA library is released, the corresponding GPU driving version needs to be updated to meet the use requirement of the user on the new version CUDA.
The default execution of the driver updating process is an imaging installation interface, manual operation is needed, and compiling needs to be carried out in advance when automatic driver installation is to be achieved. Meanwhile, one K8s GPU cluster may contain various types of GPU cards, and the driving versions of the different types of GPU cards are also continuously iterated. Therefore, a driver installation package (GPU driver installation program) downloaded from the NVIDIA official network needs to be compiled in advance, and a corresponding driver file center is formed for subsequent calling, and the specific acquisition mode of the driver file center includes: the method comprises the steps of obtaining an RPM (revolutions Per minute) installation package of a linux kernel of heads in a cluster server, downloading a driver installation package of each series of GPU cards of the latest version in an NVIDIA official network, decompressing the driver installation package of the GPU cards, entering a kernel directory of the installation package, compiling a driver module matched with the kernel version, classifying according to the types of the GPU cards and the driver versions to obtain different types of driver files, and forming corresponding driver file centers by the different types of driver files. Meanwhile, in order to enable the compiled drive file to be automatically pulled by a terminal or a client corresponding to the drive update, a file server can be constructed for storing an available drive file center, for example, an apache software system can be used for building an http server for storing related drive module files.
In the above exemplary embodiment, by compiling the driver installation package in advance, a driver file center which is convenient for obtaining the driver file may be provided for driver update, so that when the driver is updated, the target driver file corresponding to the target driver version may be obtained from the driver file center, and the target driver file is adopted to update the current driver, so as to update the current driver to the target driver. The process can directly update the driver according to the target driver file, avoids the step of compiling the driver installation package every time of updating, can save compiling time, shortens the updating period of the driver, and improves the updating efficiency of the driver.
In an exemplary embodiment, as shown in fig. 3, which is a flow chart of an implementation of step S400, the method includes the following steps:
in step S410, it is detected whether or not there is a task that needs to be executed by the driving object.
If the driver object exists, the step returns to the step of detecting whether the driver object has a task to be executed after the second preset time in step S420.
In step S430, if the target driver does not exist, the current driver is updated by using the target driver file, and the current driver is updated to the target driver.
The second preset time is a preset time span, the second preset time may be 3 minutes, 5 minutes, 10 minutes, a week or a month, and the specific second preset time is determined according to an actual requirement, and the second preset time is not specifically limited herein.
Specifically, when the drive is updated, whether a task needing to be executed exists in the drive object is detected every second preset time (for example, 5 minutes), if yes, after waiting for the second preset time, whether the task needing to be executed exists in the drive object is continuously detected, and until the task needing to be executed does not exist in the drive object, the current drive is updated by using the target drive file, and the current drive is updated to the target drive.
Optionally, if the driver object does not have a task to be executed, the cluster service and the container service may be further closed by the shielding control center, and the current driver is updated by using the target driver file, so that the current driver is updated to the target driver.
Wherein the cluster service is a container cluster management system, such as a K8s cluster service. The container service is an application container engine, which enables developers to pack corresponding applications and dependency packages into a portable image and then distribute the portable image to any popular Linux or Windows machine, and also can realize virtualization, such as a Docker service.
Specifically, if there is no task to be executed in the driver object and the driver in the driver object needs to be updated, the cluster service and the container service may be closed through the shielding control center, so as to ensure that the cluster service and the container service are stopped during the driver update process, avoid process conflict, prevent the driver update process from being interrupted during the driver update process, and avoid failure of the driver update. And after the cluster service and the container service are closed, updating the current drive by adopting the target drive file, and updating the current drive into the target drive.
Optionally, the cluster service and the container service are started through the shielding control center, and the shielding of the driving object is released.
For example, after the driver update is successful, the cluster service and the container service need to be started through the shielding control center, and the shielding of the driver object is released, so that a new task can be scheduled to the driver object with the successful driver update. For example, a client-go component provided by K8s may be used to encapsulate a K8s API, implement a custom K8S API Server, and call a mask and unmask interface in the API Server to implement automated mask and unmask machine operations.
In the above exemplary embodiment, every second preset time, whether the task to be executed exists in the driving object is detected, and when the task to be executed does not exist in the driving object, the current driving can be updated in time, so that unnecessary time delay is reduced, the driving update period is shortened, and the driving update efficiency is improved. Meanwhile, the process of the drive updating can be kept alive by closing the cluster service and the container service, the cluster service and the container service are started in time after the drive updating is completed, the shielding of a drive object is removed in time, and the stability of the drive updating can be effectively improved.
In an exemplary embodiment, one possible implementation of step S100 is as follows:
and acquiring a target driving version from a preset configuration center, wherein the target driving version of the configuration center can be dynamically configured. The configuration center stores target drive version information for updating the drive, and the target drive version can be dynamically configured. The configuration file can be stored in an http server set up by an apache software system.
Specifically, a target drive version in the configuration center is configured according to a specific drive updating requirement, and the target drive version is acquired from a preset configuration center for comparison of subsequent drive versions, and drive updating is performed according to a drive version comparison result.
In the above exemplary embodiment, the target drive version is obtained from the dynamically configurable configuration center, and while a data basis is provided for subsequent drive version update, the target drive version in the corresponding configuration center may be configured according to specific requirements, so as to achieve the purpose of updating the drive version according to the specific requirements.
Fig. 4 is a flowchart illustrating a driving update method according to a specific exemplary embodiment, and as shown in fig. 4, the driving update method specifically includes:
the description is given by taking a driving object as a GPU server, a cluster service as K8s and a container service as a Docker, and the implementation of the driving update comprises the following modules: the system comprises a GPU driver package compiling center, a file Server, a configuration center, a K8S API Server and a driver automatic updating client.
Firstly, a GPU driver package provided by an NVIDIA official website is compiled so as to realize the automatic installation of the GPU driver in the following process. And uploading the drive files corresponding to the compiled drive packages of the versions to a file server so that the drive automatic update client can automatically pull the drive files. The judgment logic of the automatic update client is integrated into a main program of the drive automatic update client, a drive version to be updated is obtained through the configuration center module, and automatic shielding and shielding removal of a drive object in the cluster are realized through the calling of the K8s API Server. Meanwhile, the automatic updating client guarantees the stability of the client through components such as process keep-alive, start-stop control and log segmentation.
The automatic update client needs to be deployed on all servers that need to perform drive update, and is configured to boot from start, and specific execution logic is shown in fig. 5. The detection routine is executed every 5 minutes to determine whether the GPU-driven version (current-driven version) is the specified version (target-driven version) in the configuration center. After a period of iteration, the machine that can be updated by driving is updated.
When the judgment logic is executed in a polling mode, the automatic updating client side uses the super software to keep the progress alive, and updating failure caused by the fact that the updating progress is accidentally closed is prevented; the method comprises the following steps of cutting log records by using a native tool carried by linux, and preventing the normal operation of a system from being influenced by overlarge log files; and realizing the start-stop control of the updated client by managing the start process of the client. So as to effectively increase the stability and robustness of the design.
In the above exemplary embodiment, through the compilation of the GPU driver package, the cooperation of the file Server, the configuration center, the K8S API Server, the driver automatic update client, and the like, the update of the GPU driver based on the K8s cluster can be completed automatically without any human involvement, and the efficiency of the GPU driver update is improved to a great extent.
It should be understood that although the various steps in the flow charts of fig. 2-4 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-4 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
Fig. 5 is a block diagram illustrating a drive update apparatus according to an exemplary embodiment. Referring to fig. 5, the drive update apparatus includes a target drive version obtaining unit 501, a drive version detecting unit 502, a drive object shielding unit 503, and a drive update unit 504, and specifically includes:
a target drive version acquisition unit 501 configured to perform acquisition of a target drive version from a configuration center; the target drive version can be dynamically configured through the configuration center;
a driving version detection unit 502 configured to perform detection of whether a current driving version corresponding to a driving object is the same as a target driving version;
a driving object shielding unit 503 configured to perform shielding of the driving object through the shielding control center if the current driving version is not the same as the target driving version;
and a drive updating unit 504 configured to execute acquiring a target drive file corresponding to the target drive version from the drive file center, update the current drive with the target drive file, and update the current drive to the target drive corresponding to the target drive version.
In an exemplary embodiment, the drive update apparatus further includes a drive version update unit configured to perform: and if the current drive version is the same as the target drive version, returning to execute the step of obtaining the target drive version from the configuration center after the first preset time.
In an exemplary embodiment, the drive update unit 504 is further configured to perform: acquiring a drive installation package; compiling the driver installation package to obtain a driver file; and storing the drive file to a drive file center.
In an exemplary embodiment, the drive update unit 504 is further configured to perform: detecting whether a task needing to be executed exists in a driving object; if yes, returning to the step of detecting whether the driving object has a task to be executed after second preset time; and if the current drive does not exist, updating the current drive by adopting the target drive file, and updating the current drive into the target drive.
In an exemplary embodiment, the drive update unit 504 is further configured to perform: if not, the cluster service and the container service are closed through the shielding control center, the current drive is updated by adopting the target drive file, and the current drive is updated to be the target drive.
In an exemplary embodiment, the drive update apparatus further includes a mask release unit configured to perform: and starting cluster service and container service through the shielding control center, and removing shielding of the driving object.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
FIG. 6 is a block diagram illustrating a drive update system according to an exemplary embodiment, which, as shown in FIG. 6, includes a configuration center, a drive file center, a client, and a shield control center:
the configuration center is used for storing the target drive version, and the target drive version in the configuration center can be dynamically configured;
the drive file center is used for storing drive files, and the drive files are used for generating corresponding drive programs;
the client is used for acquiring a target drive version from the configuration center, detecting whether a current drive version corresponding to a drive object is the same as the target drive version or not, and if the current drive version is not the same as the target drive version, sending a shielding control instruction to the shielding control center;
the shielding control center responds to the shielding control instruction, shields the driving object and sends a shielding control result to the client;
and the client acquires a target drive file corresponding to the target drive version from the drive file center according to the shielding control result, updates the current drive by adopting the target drive file, and updates the current drive to the target drive corresponding to the target drive version.
The driving object refers to a server, a terminal device, a processor or a module corresponding to the driving program. The current drive version refers to the version of the drive program corresponding to the drive object, and the target drive version refers to the version stored in the configuration center and to which the drive program in the drive object needs to be updated. The drive file center is a set formed by at least one drive file, and one drive version corresponds to one drive file. The driver file is a file obtained by compiling the driver installation package, and the driver file can be used for updating the driver.
Specifically, a client of the drive update system acquires a target drive version from a configuration center capable of dynamically configuring the target drive version, detects whether the current drive version corresponding to the drive object is the same as the target drive version after the current drive version corresponding to the drive object is acquired, and if the current drive version is not the same as the target drive version, it indicates that a drive program corresponding to the drive object needs to be updated or the drive program corresponding to the drive object is being updated, and at this time, the drive object needs to be shielded by a shielding control center, so that the drive object is not called any more, thereby ensuring that no new task is allocated to the drive object, and simultaneously enabling the task scheduling system to work normally. The client generates a shielding control instruction and sends the shielding control instruction to a shielding control center, the shielding control center shields the driving object in response to the shielding control instruction and sends a shielding control result to the client, the client acquires a target driving file corresponding to a target driving version from a driving file center according to the shielding control result, updates the current driving corresponding to the driving object by adopting the target driving file, and updates the current driving to the target driving corresponding to the target driving version.
In the drive updating system, the client acquires from the drive file center according to the shielding control result, detects whether the current drive version corresponding to the drive object is the same as the target drive version, sends a shielding control instruction to the shielding control center under the condition that the current drive version is not the same as the target drive version, shields the drive object in response to the shielding control instruction by the shielding control center, and sends the shielding control result to the client, and the client acquires the target drive file corresponding to the target drive version from the drive file center according to the shielding control result, updates the current drive corresponding to the drive object by adopting the target drive file, and updates the current drive to the target drive corresponding to the target drive version. The whole drive updating process of the drive updating system does not need manual participation, under the condition that the current drive version is inconsistent with the target drive version, the shielding of the drive object can be realized, the target drive file corresponding to the target drive version is obtained from the drive file center in time, the drive updating is completed by adopting the target drive file, unnecessary time delay caused by manual participation is reduced, the drive updating period is shortened, the drive updating efficiency is improved, the resource utilization rate is further improved, and resource waste is avoided.
FIG. 7 is a block diagram illustrating an electronic device 700 for driving an update, according to an example embodiment. For example, the device 700 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a gaming console, a tablet device, a medical device, an exercise device, a personal digital assistant, and so forth.
Referring to fig. 7, device 700 may include one or more of the following components: a processing component 702, a memory 704, a power component 706, a multimedia component 708, an audio component 710, an input/output (I/O) interface 712, a sensor component 714, and a communication component 716.
The processing component 702 generally controls the overall operation of the device 700, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 702 may include one or more processors 720 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 702 may include one or more modules that facilitate interaction between the processing component 702 and other components. For example, the processing component 702 may include a multimedia module to facilitate interaction between the multimedia component 708 and the processing component 702.
The memory 704 is configured to store various types of data to support operation at the device 700. Examples of such data include instructions for any application or method operating on device 700, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 704 may be implemented by any type or combination of volatile or non-volatile storage devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 706 provides power to the various components of the device 700. The power components 706 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 700.
The multimedia component 708 includes a screen that provides an output interface between the device 700 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 708 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the device 700 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 710 is configured to output and/or input audio signals. For example, the audio component 710 includes a Microphone (MIC) configured to receive external audio signals when the device 700 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may further be stored in the memory 704 or transmitted via the communication component 716. In some embodiments, audio component 710 also includes a speaker for outputting audio signals.
The I/O interface 712 provides an interface between the processing component 702 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 714 includes one or more sensors for providing status assessment of various aspects of the device 700. For example, the sensor assembly 714 may detect an open/closed state of the device 700, the relative positioning of components, such as a display and keypad of the device 700, the sensor assembly 714 may also detect a change in the position of the device 700 or a component of the device 700, the presence or absence of user contact with the device 700, orientation or acceleration/deceleration of the device 700, and a change in the temperature of the device 700. The sensor assembly 714 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 714 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 714 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 716 is configured to facilitate wired or wireless communication between the device 700 and other devices. The device 700 may access a wireless network based on a communication standard, such as WiFi, an operator network (such as 2G, 3G, 4G, or 5G), or a combination thereof. In an exemplary embodiment, the communication component 716 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 716 further includes a Near Field Communication (NFC) module to facilitate short-range communications.
In an exemplary embodiment, the device 700 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer readable storage medium comprising instructions, such as the memory 704 comprising instructions, executable by the processor 720 of the device 700 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, a computer program product is also provided, the program product comprising a computer program stored in a readable storage medium, from which at least one processor of a device reads and executes the computer program, causing the device to perform the above-mentioned method.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A drive update method, comprising:
acquiring a target drive version from a configuration center; wherein the target-driven version can be dynamically configured through the configuration center;
detecting whether the current driving version corresponding to the driving object is the same as the target driving version;
if the current drive version is different from the target drive version, shielding the drive object through a shielding control center;
and acquiring a target drive file corresponding to the target drive version from a drive file center, updating the current drive by adopting the target drive file, and updating the current drive into the target drive corresponding to the target drive version.
2. The method according to claim 1, wherein the masking the driving object if the current driving version is not the same as the target driving version, comprises:
and if the current drive version is the same as the target drive version, returning to the step of acquiring the target drive version from the configuration center after first preset time.
3. The drive updating method according to claim 1, wherein the obtaining of the target drive file corresponding to the target drive version from the drive file center previously comprises:
acquiring a drive installation package;
compiling the driver installation package to obtain a driver file;
and storing the drive file to the drive file center.
4. The method for updating the driver according to claim 1, wherein the updating the current driver by using the target driver file to update the current driver to the target driver corresponding to the target driver version includes:
detecting whether the driving object has a task to be executed;
if yes, returning to the step of detecting whether the driving object has a task needing to be executed or not after second preset time;
and if the target driver does not exist, updating the current driver by adopting the target driver file, and updating the current driver into the target driver.
5. The method for updating the driver according to claim 4, wherein if the driver does not exist, updating the current driver with the target driver file, and updating the current driver to the target driver includes:
if not, the cluster service and the container service are closed through the shielding control center, the current drive is updated by adopting the target drive file, and the current drive is updated to be the target drive.
6. The method for updating driver according to claim 5, wherein if the driver does not exist, the cluster service and the container service are closed through the shield control center, the current driver is updated by using the target driver file, and the current driver is updated to the target driver, and then the method comprises:
and starting the cluster service and the container service through the shielding control center, and removing the shielding of the driving object.
7. A drive renewing apparatus, comprising:
a target drive version acquisition unit configured to perform acquisition of a target drive version from a configuration center; wherein the target-driven version can be dynamically configured through the configuration center;
a driving version detection unit configured to perform detection of whether a current driving version corresponding to a driving object is the same as the target driving version;
a driving object shielding unit configured to shield the driving object through a shielding control center if the current driving version is not the same as the target driving version;
and the drive updating unit is configured to execute the steps of acquiring a target drive file corresponding to the target drive version from a drive file center, updating the current drive by adopting the target drive file, and updating the current drive to the target drive corresponding to the target drive version.
8. A drive update system, comprising:
the configuration center is used for storing the target driving version, and the target driving version in the configuration center can be dynamically configured;
the drive file center is used for storing drive files, and the drive files are used for generating corresponding drive programs;
the client is used for acquiring a target drive version from the configuration center, detecting whether a current drive version corresponding to the drive object is the same as the target drive version or not, and if the current drive version is not the same as the target drive version, sending a shielding control instruction to the shielding control center;
the shielding control center responds to the shielding control instruction, shields the driving object and sends a shielding control result to the client;
and the client acquires a target drive file corresponding to the target drive version from the drive file center according to the shielding control result, updates the current drive by adopting the target drive file, and updates the current drive to the target drive corresponding to the target drive version.
9. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the drive update method of any one of claims 1 to 6.
10. A storage medium in which instructions, when executed by a processor of an electronic device, enable the electronic device to perform the drive update method of any one of claims 1 to 6.
CN202010953996.3A 2020-09-11 2020-09-11 Drive updating method, device, system, electronic equipment and storage medium Pending CN112114848A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010953996.3A CN112114848A (en) 2020-09-11 2020-09-11 Drive updating method, device, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010953996.3A CN112114848A (en) 2020-09-11 2020-09-11 Drive updating method, device, system, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112114848A true CN112114848A (en) 2020-12-22

Family

ID=73801944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010953996.3A Pending CN112114848A (en) 2020-09-11 2020-09-11 Drive updating method, device, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112114848A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626095A (en) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 Switching method and switching system of configuration center, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289499A1 (en) * 2010-05-19 2011-11-24 Microsoft Corporation Techniques to automatically update software applications
CN105528231A (en) * 2016-01-21 2016-04-27 华中科技大学 Intermediate auxiliary function-based method and intermediate auxiliary function-based system for dynamically updating software
CN107357613A (en) * 2017-06-28 2017-11-17 广州酷狗计算机科技有限公司 Using update method, device and computer-readable recording medium
CN108021378A (en) * 2016-11-03 2018-05-11 阿里巴巴集团控股有限公司 Upgrade-system, the upgrade method based on virtual machine and device
CN108874426A (en) * 2018-06-28 2018-11-23 武汉斗鱼网络科技有限公司 Application program updating method and device and readable storage medium
CN110187908A (en) * 2019-05-30 2019-08-30 苏州浪潮智能科技有限公司 A kind of method and system that GPU driver automatically updates
CN110489138A (en) * 2019-07-02 2019-11-22 招联消费金融有限公司 A kind of application update method, device and storage medium
CN111427601A (en) * 2020-03-23 2020-07-17 深圳忆联信息系统有限公司 Method and device for automatically upgrading BIOS in batches, computer equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289499A1 (en) * 2010-05-19 2011-11-24 Microsoft Corporation Techniques to automatically update software applications
CN105528231A (en) * 2016-01-21 2016-04-27 华中科技大学 Intermediate auxiliary function-based method and intermediate auxiliary function-based system for dynamically updating software
CN108021378A (en) * 2016-11-03 2018-05-11 阿里巴巴集团控股有限公司 Upgrade-system, the upgrade method based on virtual machine and device
CN107357613A (en) * 2017-06-28 2017-11-17 广州酷狗计算机科技有限公司 Using update method, device and computer-readable recording medium
CN108874426A (en) * 2018-06-28 2018-11-23 武汉斗鱼网络科技有限公司 Application program updating method and device and readable storage medium
CN110187908A (en) * 2019-05-30 2019-08-30 苏州浪潮智能科技有限公司 A kind of method and system that GPU driver automatically updates
CN110489138A (en) * 2019-07-02 2019-11-22 招联消费金融有限公司 A kind of application update method, device and storage medium
CN111427601A (en) * 2020-03-23 2020-07-17 深圳忆联信息系统有限公司 Method and device for automatically upgrading BIOS in batches, computer equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626095A (en) * 2021-06-29 2021-11-09 欧电云信息科技(江苏)有限公司 Switching method and switching system of configuration center, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN107967141B (en) Operating system upgrading method and device and terminal
CN105955765B (en) Application preloading method and device
RU2647625C2 (en) Application program running method and device
JP6189000B2 (en) Application installation package processing method, apparatus, program, and recording medium
US9870239B2 (en) Method and device for running application program
CN109308241B (en) Method and device for monitoring starting process of application program, terminal equipment and storage medium
CN112506553A (en) Method and device for upgrading data plane container of service grid and electronic equipment
EP3327565A1 (en) Method and equipment for running a file
CN112114848A (en) Drive updating method, device, system, electronic equipment and storage medium
CN104866349A (en) Application updating method and device
CN114528037B (en) Application starting method and device, electronic equipment and storage medium
US11269699B2 (en) Method and device for processing an application
CN114546436A (en) Micro front-end service updating method and device, electronic equipment and storage medium
CN109933357B (en) Application program upgrading method and device
CN108427568B (en) User interface updating method and device
CN112181406A (en) Rendering engine sharing method and device
CN111597106A (en) Point burying management method and device
CN114860242A (en) Compiling method, compiling device and storage medium
CN112083981A (en) Method and device for creating page view component
CN111767063A (en) Resource updating method, device and equipment for application program
CN112698884A (en) Program starting method, device, system, equipment and storage medium
CN112506628B (en) Agent program management method, device, computer equipment and storage medium
CN114416218B (en) Data processing method and device, electronic equipment and storage medium
CN110311968B (en) Method and device for loading file in streaming mode and intelligent equipment
CN112256274A (en) Application program processing method and device and storage medium

Legal Events

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