Installation method and system for driver, and electronic device, storage medium and program product

WO2026200007A1PCT designated stage Publication Date: 2026-10-01CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/138984
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-26
Filing Date
2025-12-01
Publication Date
2026-10-01

Smart Images

  • Figure CN2025138984_01102026_PF_FP_ABST
    Figure CN2025138984_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure relate to the technical field of computers. Provided are an installation method and system for a driver, and an electronic device, a storage medium and a program product. The method comprises: on the basis of an access message regarding an external device, determining a target location where a driver for the external device is stored, wherein the access message is sent by a client upon detecting the access of the external device to the client; sending, to the client, prompt information determined on the basis of the target location, wherein the prompt information is used for prompting whether to install the driver on a remote server; and when an installation instruction from the client has been received, acquiring the driver from the target location and installing same, wherein the installation instruction is acquired on the basis of the prompt information. The technical solution in the embodiments of the present disclosure improves the installation efficiency of a driver.
Need to check novelty before this filing date? Find Prior Art

Description

Driver installation methods, systems, electronic devices, storage media, and program products

[0001] This disclosure claims priority to Chinese Patent Application No. 202510369983.4, filed on March 26, 2025, entitled "Installation Method, System, Electronic Device, Storage Medium and Program Product of Driver", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to the field of computer technology, and in particular to a driver installation method, system, electronic device, storage medium, and program product. Background Technology

[0003] During remote access, such as when accessing a cloud computer, users often encounter numerous external devices requiring driver installation, such as printers and scanners, to perform printing and scanning tasks. Currently, installing these external device drivers requires users to first download the driver and then manually follow a series of specific steps according to the installation manual. Driver installation is cumbersome and time-consuming, resulting in low efficiency. Summary of the Invention

[0004] This disclosure provides a driver installation method, system, electronic device, storage medium, and program product to alleviate or solve one or more technical problems existing in the prior art.

[0005] In a first aspect, embodiments of this disclosure provide a method for installing a driver, the method comprising:

[0006] Based on the access message from the external device, determine the target location for storing the driver for the external device. The access message is sent by the client when it detects that the external device has accessed the client. Send a prompt message determined based on the target location to the client. The prompt message is used to prompt whether to install the driver on the remote server. If an installation instruction is received from the client, retrieve the driver from the target location and install the driver. The installation instruction is obtained based on the prompt message.

[0007] Secondly, embodiments of this disclosure provide a driver installation method, the method comprising: upon detecting the access of an external device, sending access information of the external device to a remote server, the access information being used by the remote server to determine prompt information, the prompt information being used to prompt whether to install the driver for the external device on the remote server; displaying the prompt information from the remote server, and sending an installation instruction obtained based on the prompt information to the remote server, the installation instruction being used to instruct the installation of the driver on the remote server.

[0008] Thirdly, embodiments of this disclosure provide a driver installation system, the system comprising: a client and a remote server; the client being configured to, upon detecting the access of an external device, send access information of the external device to the remote server; display a prompt message sent by the remote server, and send an installation instruction obtained based on the prompt message to the remote server; the prompt message being used to prompt whether to install the driver for the external device on the remote server; the remote server being configured to, based on the access information, determine a target location for storing the driver for the external device; send the prompt message determined based on the target location to the client; and, upon receiving the installation instruction sent by the client, obtain the driver from the target location and install the driver.

[0009] Fourthly, embodiments of this disclosure provide an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method of any one of the embodiments of this disclosure when executing the computer program.

[0010] Fifthly, embodiments of this disclosure provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method of any one of the embodiments of this disclosure.

[0011] Sixthly, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the method of any one of the embodiments of this disclosure.

[0012] In this embodiment, when the client detects the access information of an external device, it proactively sends the access information to the remote server. This allows the remote server to determine the target location where the driver for the external device is stored based on the access information. Upon receiving the installation instruction, the server retrieves the driver from the target location and installs it. This achieves automated driver installation without requiring the user to manually complete a series of complex installation steps, thus reducing the complexity and time required for driver installation and improving installation efficiency.

[0013] The above description is only an overview of the technical solution of this disclosure. In order to better understand the technical means of this disclosure, it can be implemented according to the contents of the specification. In order to make the above and other objects, features and advantages of this disclosure more obvious and understandable, specific embodiments of this disclosure are given below. Attached Figure Description

[0014] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments according to this disclosure and should not be construed as limiting the scope of this disclosure.

[0015] Figure 1 illustrates a scenario diagram of a driver installation method according to an embodiment of this disclosure;

[0016] Figure 2 shows a first flowchart of a driver installation method according to an embodiment of the present disclosure;

[0017] Figure 3 shows a schematic diagram of the driver installation method according to an embodiment of the present disclosure;

[0018] Figure 4 shows a second flowchart of a driver installation method according to an embodiment of the present disclosure;

[0019] Figure 5 shows a schematic diagram of a first type of module of the driver installation apparatus according to an embodiment of the present disclosure;

[0020] Figure 6 shows a second type of module schematic diagram of the driver installation device according to an embodiment of the present disclosure;

[0021] Figure 7A shows a first schematic diagram of the components of a driver installation system according to an embodiment of the present disclosure;

[0022] Figure 7B shows a second schematic diagram of the driver installation system according to an embodiment of the present disclosure;

[0023] Figure 8 shows a block diagram of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0024] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this disclosure. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0025] To facilitate understanding of the technical solutions of the embodiments of this disclosure, the related technologies of the embodiments of this disclosure are described below. The following related technologies are optional solutions and can be combined with the technical solutions of the embodiments of this disclosure in any way, and all of them fall within the protection scope of the embodiments of this disclosure.

[0026] The following terms will be used in the following text:

[0027] Cloud PC: A virtualized desktop service based on cloud computing technology. It migrates traditional computer hardware and software resources to cloud data centers, allowing users to access and use these resources remotely via the Internet, just like using a local computer.

[0028] Driver: A special type of software between computer hardware and the operating system that allows the operating system to communicate and interact with hardware devices.

[0029] Redirection: A technique that forwards the functionality and data of a local device to a remote environment, allowing users to seamlessly use locally connected external devices in a remote desktop (such as a cloud desktop).

[0030] In cloud-based enterprise and home office environments, there are often many external devices that require driver installation, such as printers, scanners, and card readers. Currently, users need to follow a series of specific steps to install the corresponding drivers before using these external devices. On the one hand, driver installation is cumbersome and time-consuming, resulting in low efficiency. On the other hand, compatibility issues between different operating systems and external devices frequently occur. The diverse operating system environments require different versions of drivers for each environment, which complicates driver maintenance and upgrades. Furthermore, in highly mobile work environments, such as business travel or mobile work scenarios, users have an increasing need for quick access to external devices, and traditional driver installation methods are insufficient to meet these needs.

[0031] Based on this, this disclosure provides a driver installation method, system, electronic device, storage medium, and program product, aiming to improve driver installation efficiency. Figure 1 is a schematic diagram of a driver installation scenario provided by an embodiment of this disclosure. As shown in Figure 1, the scenario includes a client and a remote server. The client can be a terminal device or a server. The terminal device can be a mobile phone, tablet computer, desktop computer, laptop, smart wearable device, smart home device, in-vehicle terminal, self-developed terminal (i.e., a user-developed terminal device), etc. The server can be a physical server or a cloud server. The remote server can be a physical server or a cloud server. Figure 1 illustrates this illustrative example with a desktop computer as the client and a physical server as the remote server.

[0032] A remote application can be installed on the client to access a remote server. This remote application can be a standalone application (App), a mini-program embedded in other applications, or a web application. The client can have a display screen. This display screen is configured to show the client's user interface (UI) and provide an interface for interaction and information exchange between the client and the user. The UI involved in this disclosure can be configured as a medium interface for user operation and client interaction. As an interaction interface with the user, the UI can convert the client's computer language into a form that the user can accept and recognize, including displayed images, text, buttons, etc. A common form of UI is a graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the client's screen. Controls can include visual interface elements such as icons, buttons, menus, tabs, and text boxes. The control can be implemented as a visual functional interface for the client. When the control receives a corresponding trigger operation from the user, the corresponding functional interface of the client receives the corresponding processing instruction, thereby enabling the client to respond to the processing instruction and perform functional processing. For example, each user action (such as clicking, double-clicking, editing, etc.) sends a corresponding instruction to the client through the corresponding GUI control, thereby triggering the client to execute relevant processing and update the GUI based on the processing result.

[0033] The client can maintain device access detection policies and prompt message handling policies. The detection policy instructs the sending of external device access information to the remote server upon detection. The handling policy instructs the display of prompt messages received from the remote server and the sending of installation instructions obtained based on those messages to the remote server.

[0034] The remote server can provide remote access services, automatic driver matching services for external devices, and automatic installation services. The remote server can maintain driver matching and installation policies for external devices. The matching policy instructs the server to determine the target location for storing the external device driver based on the access information received from the client. The installation policy instructs the server to determine the prompt information based on the target location and send it to the client, and to retrieve the driver from the target location and automatically install it upon receiving an installation command from the client.

[0035] The client and the remote server can communicate via a network, which can be a wireless network or a wired network, etc.

[0036] It should be noted that the application scenarios or examples provided in this disclosure are for ease of understanding, and this disclosure does not specifically limit the application of the technical solutions. Furthermore, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. The collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0037] The technical solutions of this disclosure and how they solve the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0038] Figure 2 shows a flowchart of a driver installation method according to an embodiment of the present disclosure. The method in Figure 2 can be executed by the remote server in Figure 1. As shown in Figure 2, the method may include steps S201, S202, and S203.

[0039] Step S201: Determine the target location for storing the driver of the external device based on the access message of the external device. The access message is sent by the client when it detects that the external device has been connected to the client.

[0040] Step S202: Send the prompt information determined based on the target location to the client. The prompt information is used to ask whether to install the driver on the remote server.

[0041] Step S203: Upon receiving an installation instruction from the client, retrieve the driver from the target location and install the driver. The installation instruction is obtained based on the prompt information.

[0042] The driver installation method provided in this disclosure can be applied to remote access scenarios. It is understood that the remote server can provide different remote services depending on the client. As an example, if the client is configured with a cloud computer application, the remote server can provide cloud computer services, meaning the user can use the cloud computer application on the client to access the cloud computer on the remote server. As another example, if the client is configured with a cloud service control platform, the remote server can provide cloud image services, meaning the user can use the cloud service control platform on the client to access the cloud image on the remote server. As yet another example, if the client is configured with a remote office application, the remote server can provide remote office services, meaning the user can use the remote office application on the client to access the remote office services on the remote server for remote work. The remote access scenarios disclosed in this disclosure will not be listed in detail here; they can be configured as needed in practical applications. For ease of understanding, the following explanation uses accessing a cloud computer as an example.

[0043] In some implementations, as shown in Figure 3, the storage device stores N drivers, denoted as Driver 1, Driver 2, ..., Driver N. The client can be any operating system among Windows, Mac, Android, and iOS, or a self-developed terminal. The client can be configured with a peripheral detection service and a redirection application (i.e., redirection client), while the remote server can be configured with a redirection service (i.e., redirection server) corresponding to the redirection application. The peripheral detection service uses the automatic discovery and identification protocol corresponding to each external device to automatically detect the access of external devices and their device attributes. The redirection application and the redirection service exchange data related to the external devices to use the external devices accessed by the client on the remote server. That is, during the client's access to the remote server, if an external device is detected by the peripheral detection service, the client obtains the device attributes of the external device and transmits them to the redirection application. In response to receiving the device attributes of the external device, the redirection application sends the access information of the external device, including its device attributes, to the redirection service on the remote server. When the redirection service receives access information from an external device, it determines the target location for storing the device's driver and sends a prompt message based on that location to the redirection application. The redirection application displays this prompt message to the user, asking if they want to install the external device driver on the remote server. If it receives an installation command from the user, it sends the command to the redirection service. Based on the received installation command, the redirection service retrieves the driver from the target location and automatically installs it on the remote server. Device attributes may include device identifier, device name, device brand, and device model.

[0044] In some implementations, the prompt message can vary depending on the target location, and a first correspondence between multiple storage locations and the prompt message can be pre-defined. Accordingly, after determining the target location from these multiple storage locations, the prompt message corresponding to the target location can be retrieved from the first correspondence and sent to the client. The specific content of the prompt message can be set as needed in practical applications.

[0045] External devices can be printers, scanners, copiers, projectors, USB (Universal Serial Bus) devices, card readers, audio devices (such as headphones, microphones, etc.), etc., and no specific limitations are made in this disclosure.

[0046] In the driver installation method provided in this embodiment, when the client detects the access information of an external device, it actively sends the access information to the remote server. This allows the remote server to determine the target location where the driver for the external device is stored based on the access information. Upon receiving the installation instruction, the server retrieves the driver from the target location and installs it. This achieves automated driver installation without requiring the user to manually complete a series of complex installation steps, thus reducing the complexity and time required for driver installation and improving installation efficiency.

[0047] Considering that in practical applications, before an external device connects to the client, the user may have already downloaded the corresponding driver from the driver server and saved it on the client, obtaining and installing the driver from the client at this time can avoid the time-consuming process of matching the driver, thereby improving the installation efficiency of the driver. Based on this, in some implementations, when the client detects the connection of an external device, it can also simultaneously check whether the client has stored the driver for the external device based on the device attributes of the external device, determine the storage indication information based on the detection result, and generate an access message based on the storage indication information and device attributes. That is, the access message includes the storage indication information and device attributes. In addition, in order to achieve automated matching and automated installation of drivers, in some implementations, as shown in Figure 3, the drivers for multiple external devices currently used in the market (e.g., N drivers, where N is an integer greater than 1) can be stored in a storage device in advance. The multiple external devices currently used in the market can come from different brands, different manufacturers, etc. Accordingly, determining the target location for storing the driver for the external device based on the access message of the external device in step S201 can include:

[0048] If the storage indication information indicates that the client stores the driver for an external device, the client is determined as the target location; if the storage indication information indicates that the client does not store the driver and the device attributes meet the query conditions, the target location is queried from the server storing the device and / or the driver, and the query conditions include having query permissions.

[0049] Specifically, the content of the storage indication information can be pre-defined. When the storage indication information is the first data, it indicates that the client has stored the driver for the external device; when the storage indication information is the second data, it indicates that the client has not stored the driver for the external device. Accordingly, when the remote server receives an access message from an external device, it can first determine whether the client is the target location based on the storage indication information. If the client is not the target location, it can query the target location from the server of the storage device and / or the driver.

[0050] Determining whether a client is the target location based on stored indication information may include: determining the data type of the stored indication information; if the data type is a first type of data, determining that the client is the target location; if the data type is a second type of data, determining that the client is not the target location. For example, the first type of data is 01, and the second type of data is 00.

[0051] Therefore, the system first determines whether the client has the driver based on the storage indication information. If the driver is present on the client, it can be retrieved directly from the client, avoiding the time-consuming process of driver matching and thus improving driver installation efficiency. If the driver is not present on the client, the system can automatically query the target location from the storage device and the driver server, retrieve the driver from the target location, and install it, achieving automated driver installation.

[0052] Furthermore, the above-mentioned querying of the target location from the storage device and / or driver server may include: determining whether the driver corresponding to the device attribute is found in the storage device; if the driver corresponding to the device attribute is found in the storage device, determining the storage device as the target location; if the driver is not found in the storage device, determining the driver server as the target location.

[0053] In some implementations, the storage device may maintain a second correspondence between the identifiers of multiple stored drivers and the device attributes of the corresponding external devices. Accordingly, if the remote server determines that the client does not store the driver for the external device, it may send a query request to the storage device and receive the query result from the storage device. If the query result indicates that the driver for the external device has been found, the storage device is determined as the target location; if the query result indicates that the driver for the external device has not been found, the driver's server is determined as the target location. The query request includes the device attributes of the external device and instructs the storage device to check in the second correspondence whether there is an identifier for a driver corresponding to the attribute information of the external device. The driver's server may be the server of the driver developer or the server of the external device manufacturer. This server is used to store drivers for at least one external device developed by the corresponding developer or drivers for at least one external device generated by the corresponding manufacturer.

[0054] In some implementations, the storage device can also provide a query interface to a remote server. Accordingly, if the remote server determines that the client does not store the driver for the external device, it can call this query interface and query the second mapping maintained by the storage device to see if there is an identifier for a driver corresponding to the attribute information of the external device, thus obtaining a query result. If the query result indicates that an identifier for a driver corresponding to the attribute information of the external device has been found, the storage device is determined as the target location; if the query result indicates that no identifier for a driver corresponding to the attribute information of the external device has been found, the driver's server is determined as the target location.

[0055] Furthermore, to ensure users can confidently input installation commands, in some implementations, the aforementioned prompt information can vary depending on the target location. For example, when the target location is a client, the prompt information may include a query statement such as "A driver for external device A has been detected on your device but is not installed. Do you want to automatically install the driver?", a confirmation control, and a cancellation control, allowing the user to input the installation command by operating the confirmation control. When the target location is a storage device, the prompt information may include a query statement such as "A driver for external device A has not been detected on your device. Do you want to automatically install the driver?", a confirmation control, and a cancellation control, allowing the user to input the installation command by operating the confirmation control. When the target location is a driver server, the prompt information may include a query statement such as "A driver for external device A has not been detected on your device. Do you want to automatically download and install the driver?", a confirmation control, and a cancellation control, allowing the user to input the installation command by operating the confirmation control.

[0056] It should be noted that the aforementioned prompts can also be fixed, that is, not different depending on the target location, and this disclosure does not make specific limitations on this.

[0057] Because storage devices contain drivers for multiple external devices manufactured by different companies, while driver servers often only store a limited number of drivers from the respective developers or manufacturers, performing a matching operation based on device attributes within the storage device first increases the probability of a successful match, thus improving the speed of determining the target location.

[0058] Considering that in practical applications, some drivers may become unusable due to various factors (such as carrying viruses), or the device attributes in the access information may not be in a standard format, making matching impossible or increasing the difficulty of matching. Therefore, to improve driver effectiveness, in some implementations, as shown in Figure 3, multiple external device drivers can be managed through a management device. This includes managing the device attributes of each driver stored in the storage device (exemplarily, maintaining a second correspondence between driver identifiers and device attributes), the source of each driver (exemplarily, maintaining a third correspondence between driver identifiers and source information), which drivers are in an available state (exemplarily, maintaining a list of valid drivers, which may include the device identifier of the external device corresponding to the valid driver), and which drivers are in an unavailable state (exemplarily, maintaining a list of invalid drivers, which may include the device identifier of the external device corresponding to the invalid driver), etc. Correspondingly, when the storage indication information indicates that the client has not stored the driver for the external device, the method may further include: determining whether the device attributes of the external device have query permissions.

[0059] Specifically, determining whether the device attributes of an external device have query permissions can include: determining whether the device identifier contained in the device attributes of the external device is included in the set of valid device identifiers, wherein the device identifiers in the set of valid device identifiers are the device identifiers of external devices with query permissions, and the set of valid device identifiers comes from the management device; if the device identifier is included in the set of valid device identifiers and the standard attribute corresponding to the device attribute is obtained, then the device attribute is determined to meet the query conditions, wherein the standard attribute is an attribute in a standard format.

[0060] In some implementations, when the storage indication information indicates that the client does not store the driver, the remote server can obtain a set of valid identifiers from the management device. Accordingly, determining whether the device identifiers contained in the device attributes of the external device are included in the set of valid device identifiers may include: sending a request to the management device to obtain the set of valid device identifiers, and receiving the set of valid device identifiers sent by the management device. Furthermore, the device identifiers contained in the device attributes of the external device are compared with each device identifier in the set of valid device identifiers; if a matching device identifier is found, it is determined that the device identifier of the external device is included in the set of valid device identifiers.

[0061] In other implementations, a set of valid device identifiers can be preset in the management device. When the management device determines that the update conditions for the set of valid device identifiers are met, it updates the set of valid device identifiers and sends the updated set of valid device identifiers to the remote server. Accordingly, the above-mentioned determination of whether the device identifiers contained in the device attributes of the external device are included in the set of valid device identifiers may include: comparing the device identifiers contained in the device attributes of the external device with each device identifier in its own stored set of valid device identifiers; if there is a matching device identifier, then it is determined that the device identifier of the external device is included in the set of valid device identifiers. For example, the update condition may be obtaining a new valid device identifier.

[0062] The set of valid device identifiers can be the aforementioned list of valid drivers, or it can be extracted from the list of valid drivers. This disclosure does not specifically limit the form of the set of valid device identifiers.

[0063] It's understandable that if the set of valid device identifiers includes the device identifier of the external device, it indicates that the driver corresponding to that device identifier is available, and subsequent related operations can be performed. Therefore, by first determining whether the device identifier is included in the set of valid device identifiers, some unnecessary operations can be avoided, improving driver installation efficiency.

[0064] Furthermore, considering that external devices with clear brands and legitimate production processes typically have device attributes in a standard format conforming to industry standards, in practical applications, there may be external devices without clear brands or produced by OEM manufacturers through unofficial channels. In such cases, the device attributes in the access information are often in a non-standard format. To ensure successful driver installation in this situation, in some implementations, the administrator can pre-process the data to determine the standard attributes corresponding to each non-standard attribute, obtaining a set of correction information. This set of correction information is then preset in the management device. Specifically, the set of correction information includes the device identifier of at least one external device and standard attributes in a standard format, which are obtained by correcting the non-standard attributes of at least one external device. Correspondingly, when the device identifier is included in the valid device identifier set, the method can further include: obtaining the standard attributes corresponding to the device attributes of the external device.

[0065] Specifically, it is determined whether the device identifier of the external device is included in the calibration information set, which comes from the management device. If the device identifier of the external device is included in the calibration information set, the standard attribute corresponding to the device identifier in the calibration information set is determined as the standard attribute corresponding to the device attribute. If the device identifier of the external device is not included in the calibration information set, the device attribute in the access information is determined as the standard attribute.

[0066] In some implementations, the remote server can obtain a calibration information set from the management device. Accordingly, determining whether the device identifier of the external device is included in the calibration information set may include: sending a request to the management device to obtain the calibration information set, and receiving the calibration information set sent by the management device in response to the request. Furthermore, the device identifier of the external device is compared with each device identifier in the calibration information set. If a matching device identifier is found, the device attribute in the access information is determined to be a non-standard attribute, and the standard attribute corresponding to the matching device identifier in the calibration information set is determined as the standard attribute corresponding to the device attribute in the access information. If no matching device identifier is found, the device attribute in the access information is determined to be a standard attribute.

[0067] In other methods, the management device can update the calibration information set when it determines that the update conditions for the calibration information set are met, and send the updated calibration information set to a remote server, which then saves the updated calibration information set. Correspondingly, the above-mentioned determination of whether the device identifier of the external device is included in the calibration information set can include: comparing the device identifier of the external device with each device identifier in the saved calibration information set; if a matching device identifier exists, the device attribute in the access information is determined to be a non-standard attribute, and the standard attribute corresponding to the matching device identifier in the saved calibration information set is determined as the standard attribute corresponding to the device attribute in the access information. If no matching device identifier exists, the device attribute in the access information is determined to be a standard attribute.

[0068] It should be noted that the aforementioned determination of whether the driver corresponding to the device attribute is found in the storage device can be the driver corresponding to the standard attribute of the device attribute.

[0069] Therefore, by obtaining the standard attributes corresponding to the device attributes of external devices based on the set of calibration information, the target location can be quickly and accurately queried based on the standard attributes, avoiding risks such as driver installation failure due to incorrect device attribute format.

[0070] In some implementations, the method of obtaining the driver varies depending on the target location. Specifically, obtaining the driver from the target location in step S203 may include:

[0071] When the target location is a storage device, a driver retrieval request is sent to the storage device, and the driver is received from the storage device in response to the driver retrieval request. The driver retrieval request includes the device attributes of the external device. The driver retrieval request is used to trigger the storage device to query the driver corresponding to the device attributes and send the driver.

[0072] In the case where the target location is the driver server, a download request is sent to the management device, and the driver is received from the management device. The download request includes device attributes and is used to trigger the management device to download the driver corresponding to the device attributes from the server and send the driver.

[0073] When the target location is the client, receive the driver uploaded by the client.

[0074] When the storage device receives a driver retrieval request, it retrieves the device attributes from the request and compares them with the device attributes in the second correspondence. If a matching device attribute is found, the driver corresponding to the matching device attribute is sent to the remote server.

[0075] In some implementations, when the management device receives a download request, it queries the corresponding download link based on the device attributes in the download request, downloads the driver from the storage location corresponding to the download link on the server, and sends the downloaded driver to the remote server. In this case, the management device queries the download link on a webpage based on the device attributes. In other implementations, the management device may also display a download prompt message to instruct the administrator to download the driver from the driver's server, and send the downloaded driver to the remote server upon detecting that the download is complete.

[0076] Furthermore, after the management device obtains the downloaded driver based on the download request, it can add a security identifier to the driver, upload the driver with the added security identifier to the storage device, and save the mapping between the external device's device attributes and the driver's identifier in a second mapping relationship. The security identifier can be a device attribute or information determined based on the device attribute. For example, if the device attributes include the device brand, and that device brand has a fixed identifier, that fixed identifier can also be used as the security identifier.

[0077] In some implementations, the multiple drivers stored in the storage device can be further divided into multiple driver sets, which may include public sets and private sets. Public sets can have automatic installation permissions granted to all users; for example, public sets may include drivers for external devices manufactured by major manufacturers widely used in the market. There can be multiple private sets, and each private set can only have automatic installation permissions granted to a subset of users. For example, a private set can be allocated to a self-developed team to store drivers for various external devices (such as a self-developed USB device) developed by the team, and this private set can have automatic installation permissions granted to the team or its employees. Correspondingly, uploading drivers to the storage device can include: the storage device can also determine the set type corresponding to the downloaded driver based on the device brand in the device attributes, and upload the downloaded driver to the set corresponding to the set type. Specifically, it can determine whether the preset multiple device brands include the device brand in the device attributes. If so, the set type corresponding to the downloaded driver is determined to be a public set, and the downloaded driver is uploaded to the public set in the storage device. If not included, the system determines that the set type corresponding to the downloaded driver is a private set, and checks whether a private set corresponding to the device brand exists in the storage device. If it exists, the downloaded driver is uploaded to the corresponding private set in the storage device. If it does not exist, a private set creation request is sent to the storage device, and upon receiving a creation success message from the storage device, the downloaded driver is uploaded to the created private set.

[0078] Furthermore, considering that drivers in private collections may have needs for more users, in some implementations, when the management device determines that any driver in any private collection meets the transfer conditions to the public collection, that driver can be transferred from that private collection to the public collection. The transfer conditions could be receiving a transfer request from the administrator, or the driver's automatic installation count exceeding a threshold.

[0079] Understandably, when a driver is transferred from a private set to a public set, it indicates that the driver's availability and security are both high. Therefore, by managing drivers hierarchically and transferring them from private to public sets when the transfer conditions are met, both efficient management and secure driver installation are ensured.

[0080] It should be noted that, when the target location is a server containing the driver, if the remote server is pre-configured with download permissions to download the driver from the server, the remote server can also query the corresponding download link based on the device attributes in the download request, and download the driver from the storage location on the server corresponding to the download link.

[0081] Therefore, by using different acquisition methods depending on the target location, it is possible to quickly obtain accurate and effective drivers.

[0082] Furthermore, when the target location is the client, considering that in practical applications, the storage device may not contain the driver for the external device, in order to facilitate the automatic installation of the driver later, in some embodiments, the method may also include: adding a security identifier to the driver when it is determined that the storage device does not contain the driver for the external device, the security identifier being related to the device attributes; uploading the driver with the added security identifier to the storage device; and sending the driver upload information to the management device.

[0083] Specifically, the storage device can determine whether the driver corresponding to the device attributes of the external device is found in the storage device. If not found, it is determined that the driver for the external device is not stored in the storage device, and a security identifier is generated based on the device attributes and relevant client information. A security identifier is added to the driver, and the collection type corresponding to the external device driver is determined. The driver with the added security identifier is uploaded to the collection corresponding to the collection type in the storage device, and the driver upload information is sent to the management device. The relevant client information can include the client identifier, user information of the user to whom the client belongs (e.g., user name, user's company, etc.). The security identifier can be set as needed in practical applications; for example, the security identifier is a watermark.

[0084] Determining the set type corresponding to the driver of the external device can be achieved by sending a set type query request to the management device, which includes device attributes, and receiving the set type sent by the management device. The security identifier can be a device attribute or information determined based on the device attribute. For example, if the device attribute includes a device brand, and that device brand has a fixed identifier, that fixed identifier can also be used as the security identifier.

[0085] It should be noted that the process of determining whether the storage device has found the driver corresponding to the device attributes of the external device, and the process of the management device determining the collection type based on the device attributes in the collection type query request, can be found in the previous descriptions. The repetitions will not be repeated here.

[0086] Furthermore, as shown in Figure 3, a driver maintenance service (i.e., driver maintenance server) can be configured in the remote server. Accordingly, the remote server can add security identifiers to the driver program through the driver maintenance service, upload the driver program with added security identifiers to the storage device, and send the driver program upload information to the management device.

[0087] Therefore, when the driver is stored on the client and not on the storage device, uploading the driver with the added security identifier to the storage device not only facilitates the subsequent retrieval of the driver from the storage device for automated driver installation, but also allows the identification of the driver's source and other information based on the security identifier, which is beneficial for the management device to monitor and manage it.

[0088] Furthermore, taking the cloud desktop access scenario as an example, as shown in Figure 3, after installing the driver on the remote server, a virtual external device (e.g., a virtual printer) is configured on the remote server. This virtual external device has a mapping relationship with the external device (e.g., a physical printer) connected to the client, so that when the user accesses the cloud desktop on the remote server, they can submit a task (e.g., a print task) to the virtual external device, and the remote server will send the task to the client to complete the corresponding task (e.g., print the task through the physical printer) through the external device connected to the client. It can be understood that in the cloud desktop access scenario, the remote server, storage device, and management device can all be cloud servers.

[0089] Furthermore, taking an external device as a network printer as an example, one approach in related technologies is to set up a driver proxy service. This driver proxy service is configured with drivers for multiple printers, and during access to the cloud desktop, the print job is sent to this driver proxy service. The driver proxy service then forwards the print job to the network printer through the client, thus completing the corresponding printing task. That is, no driver installation is required on the client or the remote server throughout the entire process. However, in this method, if the driver proxy service does not have the network printer driver, the printing task cannot be executed, requiring contact with maintenance personnel. Furthermore, it does not support printers other than network printers, and the client and printer must be on the same local area network, thus presenting numerous limitations. In contrast, in this disclosure, the driver is uploaded once and can be used multiple times anywhere, without any restrictions on network, region, or device type of the external device, achieving a plug-and-play effect for external devices.

[0090] Figure 4 shows a flowchart of a driver installation method according to an embodiment of the present disclosure. The method in Figure 4 can be executed by the client in Figure 1. As shown in Figure 4, the method may include steps S401 and S402.

[0091] Step S401: When an external device is detected to be connected, the access information of the external device is sent to the remote server. The access information is used by the remote server to confirm the prompt information, which prompts whether to install the driver of the external device on the remote server.

[0092] Step S402: Display a prompt message from the remote server and send the installation instructions obtained based on the prompt message to the remote server. The installation instructions are used to instruct the installation of the driver on the remote server.

[0093] The specific implementation process of steps S401 and S402 can be found in the relevant description above, and the repeated parts will not be repeated here.

[0094] In the method provided in this disclosure, when the client detects the access information of an external device, it actively sends the access information to the remote server. This allows the remote server to determine the target location where the driver for the external device is stored based on the access information. Upon receiving the installation instruction, the remote server retrieves the driver from the target location and installs it. This achieves automated driver installation without requiring the user to manually complete a series of complex installation steps, thus reducing the complexity and time required for driver installation and improving installation efficiency.

[0095] In some implementations, after receiving installation instructions, the method further includes uploading the driver to a remote server, with the driver stored on the client.

[0096] Specifically, when the driver is stored on the client, the prompt message may include a question such as "A driver for external device A has been detected on your device but is not installed. Do you want to install the driver automatically?", a selection box for the driver upload protocol, a confirmation button, and a cancel button. When the user selects the driver upload protocol and confirms, they enter the installation command. After receiving the installation command, the client uploads the driver to the remote server.

[0097] Furthermore, as shown in Figure 3, the client can be configured with a driver maintenance service (i.e., driver maintenance client). Accordingly, the client can upload the driver to the remote server through this driver maintenance service.

[0098] Therefore, by uploading the driver to the remote server, the remote server no longer needs to perform driver query operations, but can directly install the driver uploaded by the client, thus improving the driver installation efficiency.

[0099] Corresponding to the application scenarios and methods provided in the embodiments of this disclosure, the embodiments of this disclosure also provide a driver installation device, which can be applied to the remote server shown in FIG1. ​​As shown in FIG5, the device includes:

[0100] The first determining module 501 is used to determine the target location for storing the driver of the external device based on the access message of the external device, wherein the access message is sent by the client when the client detects that the external device has accessed the client.

[0101] The sending module 502 is used to send a prompt message determined according to the target location to the client, the prompt message being used to prompt whether to install the driver on the remote server.

[0102] Installation module 503 is used to obtain the driver from the target location and install the driver upon receiving an installation instruction from the client, wherein the installation instruction is obtained based on the prompt information.

[0103] In some implementations, the access message includes storage indication information of the driver and device attributes of the external device, and the first determining module 501 is specifically used for:

[0104] If the storage indication information indicates that the driver is stored in the client, the client is determined to be the target location.

[0105] If the storage indication information indicates that the driver is not stored in the client and the device attributes meet the query conditions, the target location is queried from the storage device and / or the server of the driver, wherein the storage device stores the driver for at least one external device, and the query conditions include having query permissions.

[0106] In some embodiments, the first determining module 501 is further specifically used for:

[0107] Determine whether the driver corresponding to the device attribute can be found in the storage device.

[0108] If the driver is found in the storage device, the storage device is determined to be the target location.

[0109] If the driver is not found in the storage device, the server of the driver is determined to be the target location.

[0110] In some implementations, the device attributes include a device identifier of the external device, and the apparatus further includes, where the storage indication information indicates that the driver is not stored in the client:

[0111] The second determining module is used to determine whether the device identifier is included in the set of valid device identifiers, wherein the device identifiers in the set of valid device identifiers are device identifiers of external devices with query permissions, and the set of valid device identifiers comes from the management device; if the device identifier is included in the set of valid device identifiers and the standard attribute corresponding to the device attribute is obtained, the module determines that the device attribute meets the query conditions, wherein the standard attribute is an attribute in a standard format.

[0112] In some implementations, when the device identifier is included in the set of valid device identifiers, the second determining module is further configured to:

[0113] Determine whether the device identifier of the external device is included in the calibration information set, the calibration information set including the device identifier and standard attributes of at least one external device, the calibration information set being derived from the management device.

[0114] If the device identifier of the external device is included in the calibration information set, the standard attribute corresponding to the device identifier of the external device in the calibration information set shall be determined as the standard attribute corresponding to the device attribute.

[0115] If the device identifier of the external device is not included in the calibration information set, the device attribute in the access information will be determined as the standard attribute.

[0116] In some implementations, the acquisition module 502 is specifically used for:

[0117] If the target location is a storage device, a driver retrieval request is sent to the storage device, and the driver is received from the storage device in response to the driver retrieval request. The driver retrieval request includes the device attributes, and the driver retrieval request is used to trigger the storage device to query the driver corresponding to the device attributes and send the driver.

[0118] In the case where the target location is the server of the driver, a download request is sent to the management device, and the driver is received from the management device. The download request includes the device attributes, and the download request is used to trigger the management device to download the driver corresponding to the device attributes from the server and send the driver.

[0119] If the target location is the client, the driver uploaded by the client is received.

[0120] In some embodiments, when the target location is the client, the device further includes:

[0121] The upload module is used to add a security identifier to the driver when the driver is not stored in the storage device, the security identifier being related to the device attributes; upload the driver with the added security identifier to the storage device; and send the upload information of the driver to the management device.

[0122] The functions of each module in the apparatus of this embodiment can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0123] Corresponding to the application scenarios and methods provided in the embodiments of this disclosure, the embodiments of this disclosure also provide a driver installation device, which can be applied to the client shown in FIG1. ​​As shown in FIG6, the device includes:

[0124] The sending module 601 is used to send access information of the external device to a remote server when an external device is detected to be connected. The access information is used by the remote server to determine the prompt information, and the prompt information is used to prompt whether to install the driver of the external device on the remote server.

[0125] The display module 602 is used to display the prompt information from the remote server.

[0126] The sending module 601 is further configured to send the installation instructions obtained based on the prompt information to the remote server, the installation instructions being used to instruct the installation of the driver on the remote server.

[0127] In some embodiments, the driver is stored in the client, and the device further includes:

[0128] The upload module is used to upload the driver to the remote server after receiving the installation instructions.

[0129] The functions of each module in the apparatus of this disclosure embodiment can be found in the corresponding descriptions of the methods described above, and they possess corresponding beneficial effects, which will not be repeated here. Furthermore, the apparatus embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate. The components illustrated as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this disclosure solution according to actual needs.

[0130] Corresponding to the application scenarios and methods provided in the embodiments of this disclosure, the embodiments of this disclosure also provide a driver installation system, as shown in FIG7A, which includes: a client 701 and a remote server 702;

[0131] The client 701 is configured to send access information of the external device to the remote server 702 when an external device is detected to be connected; display the prompt information sent by the remote server 702; and send the installation instructions obtained based on the prompt information to the remote server 702; the prompt information is used to prompt whether to install the driver of the external device in the remote server 702.

[0132] The remote server 702 is used to determine the target location for storing the driver for the external device based on the access information; send the prompt information determined based on the target location to the client 701; and, upon receiving the installation instruction sent by the client 701, retrieve the driver from the target location and install the driver.

[0133] In some implementations, the access information includes storage indication information of the driver and device attributes of the external device, as shown in FIG7B. The system also includes a storage device 703.

[0134] The storage device 703 is used to store the driver for at least one external device;

[0135] The remote server 702 is further configured to query the target location from the storage device 703 and / or the server of the driver when the storage indication information indicates that the driver is not stored in the client 701 and the device attributes meet the query conditions, wherein the query conditions include having query permissions.

[0136] In some embodiments, as shown in FIG7B, the system further includes a management device 704;

[0137] The management device 704 is used to manage multiple external devices, and when it receives a download request sent by the remote server 702, it downloads the driver corresponding to the device attribute from the server according to the download request, and sends the driver to the remote server 702.

[0138] The remote server 702 is used to send the download request to the management device 704 when the target location is the server, and to receive the driver sent by the management device 704.

[0139] In some implementations, the remote server 702 is further configured to add a security identifier to the driver when the target location is the client 701 and the driver is not stored in the storage device 703, upload the driver with the added security identifier to the storage device 703, and send the upload information of the driver to the management device 702, wherein the security identifier is related to the device attributes.

[0140] The functions of each entity in the driver installation system provided in this embodiment can be found in the corresponding descriptions in the above methods, and they have corresponding beneficial effects, which will not be repeated here.

[0141] Figure 8 is a block diagram of an electronic device used to implement embodiments of the present disclosure. As shown in Figure 8, the electronic device includes a memory 801 and a processor 802. The memory 801 stores a computer program that can run on the processor 802. When the processor 802 executes the computer program, it implements the methods in the above embodiments. The number of memories 801 and processors 802 can be one or more. In a specific implementation, the electronic device may also include a communication interface 803 for communicating with external devices and performing data exchange and transmission.

[0142] In practical implementation, if the memory 801, processor 802, and communication interface 803 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be categorized as an address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in Figure 8, but this does not indicate that there is only one bus or one type of bus.

[0143] Optionally, in a specific implementation, if the memory 801, the processor 802, and the communication interface 803 are integrated on a single chip, then the memory 801, the processor 802, and the communication interface 803 can communicate with each other through an internal interface.

[0144] This disclosure provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods provided in this disclosure.

[0145] This disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the methods provided in this disclosure.

[0146] This disclosure also provides a chip including a processor for calling and executing instructions stored in a memory, causing a communication device on which the chip is installed to perform the methods provided in this disclosure.

[0147] This disclosure also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in the application embodiment.

[0148] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.

[0149] Further, optionally, the aforementioned memory may include read-only memory and random access memory. The memory may be volatile memory or non-volatile memory, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available. Examples include Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0150] In the above embodiments, implementation can be achieved, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to this disclosure are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0151] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this disclosure. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.

[0152] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means two or more, unless otherwise explicitly specified.

[0153] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this disclosure includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.

[0154] The logic and / or steps described in the flowchart or otherwise herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0155] It should be understood that various parts of this disclosure can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.

[0156] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.

[0157] The above description is merely an exemplary embodiment of this disclosure, but the scope of protection of this disclosure is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope described in this disclosure, and these should all be included within the scope of protection of this disclosure. Therefore, the scope of protection of this disclosure should be determined by the scope of the claims.

Claims

1. A method for installing a driver, characterized in that, The method includes: Based on the access message from the external device, determine the target location for storing the driver for the external device. The access message is sent by the client when it detects that the external device has been connected to the client. A prompt message determined based on the target location will be sent to the client, and the prompt message will be used to prompt whether to install the driver on the remote server; Upon receiving an installation instruction from the client, the driver is retrieved from the target location and installed, the installation instruction being obtained based on the prompt information.

2. The method according to claim 1, characterized in that, The access message includes storage indication information of the driver and device attributes of the external device. Determining the target location for storing the driver of the external device based on the access message includes: If the storage indication information indicates that the driver is stored in the client, then the client is determined to be the target location; If the storage indication information indicates that the driver is not stored in the client and the device attributes meet the query conditions, the target location is queried from the storage device and / or the server of the driver, wherein the storage device stores the driver for at least one external device, and the query conditions include having query permissions.

3. The method according to claim 2, characterized in that, The step of querying the target location from the storage device and / or the driver's server includes: Determine whether the driver corresponding to the device attribute is found from the storage device; If the driver is found in the storage device, the storage device is determined to be the target location; If the driver is not found in the storage device, the server of the driver is determined to be the target location.

4. The method of claim 2, wherein, The device attributes include the device identifier of the external device. If the storage indication information indicates that the driver is not stored in the client, the method further includes: Determine whether the device identifier is included in the set of valid device identifiers, wherein the device identifiers in the set of valid device identifiers are the device identifiers of external devices with query permissions, and the set of valid device identifiers comes from the management device; If the device identifier is included in the set of valid device identifiers and the standard attribute corresponding to the device attribute is obtained, it is determined that the device attribute satisfies the query conditions, and the standard attribute is an attribute in a standard format.

5. The method according to claim 4, characterized in that, If the device identifier is included in the set of valid device identifiers, the method further includes: Determine whether the device identifier of the external device is included in the calibration information set, the calibration information set including the device identifier and standard attributes of at least one external device, the calibration information set coming from the management device; If the device identifier of the external device is included in the calibration information set, the standard attribute corresponding to the device identifier of the external device in the calibration information set shall be determined as the standard attribute corresponding to the device attribute. If the device identifier of the external device is not included in the calibration information set, the device attribute in the access information will be determined as the standard attribute.

6. The method according to any one of claims 2-5, characterized in that, The step of obtaining the driver from the target location includes: If the target location is a storage device, a driver retrieval request is sent to the storage device, and the driver is received from the storage device in response to the driver retrieval request. The driver retrieval request includes the device attributes, and the driver retrieval request is used to trigger the storage device to query the driver corresponding to the device attributes and send the driver. In the case where the target location is the server of the driver, a download request is sent to the management device, and the driver is received from the management device. The download request includes the device attributes, and the download request is used to trigger the management device to download the driver corresponding to the device attributes from the server and send the driver. If the target location is the client, the driver uploaded by the client is received.

7. The method according to claim 6, characterized in that, When the target location is the client, the method further includes: If the driver is not stored in the storage device, a security identifier is added to the driver, the security identifier being related to the device attributes; The driver with the added security identifier is uploaded to the storage device, and the upload information of the driver is sent to the management device.

8. A method of installing a driver, characterized by, The method includes: Upon detecting the connection of an external device, the system sends the connection information of the external device to the remote server. The connection information is used by the remote server to determine and prompt information, which prompts whether to install the driver for the external device on the remote server. The system displays the prompt information from the remote server and sends the installation instructions obtained based on the prompt information to the remote server. The installation instructions are used to instruct the installation of the driver on the remote server.

9. The method of claim 8, wherein, The driver is stored in the client. After obtaining the installation instructions, the method further includes: The driver is uploaded to the remote server.

10. A driver installation system, characterized in that, The system includes: a client and a remote server; The client is configured to send access information of the external device to the remote server when an external device is detected; display a prompt message sent by the remote server; and send an installation instruction obtained based on the prompt message to the remote server; the prompt message is used to prompt whether to install the driver for the external device on the remote server. The remote server is configured to determine the target location for storing the driver for the external device based on the access information; send the prompt information determined based on the target location to the client; and, upon receiving the installation instruction sent by the client, retrieve the driver from the target location and install the driver.

11. The system according to claim 10, characterized in that, The access information includes the storage indication information of the driver and the device attributes of the external device; the system also includes a storage device. The storage device is used to store the driver for at least one external device; The remote server is further configured to query the target location from the storage device and / or the driver's server when the storage indication information indicates that the driver is not stored in the client and the device attributes meet the query conditions, wherein the query conditions include having query permissions.

12. The system according to claim 11, characterized in that, The system also includes management equipment; The management device is used to manage multiple external devices, and when it receives a download request sent by the remote server, it downloads the driver corresponding to the device attribute from the server according to the download request, and sends the driver to the remote server. The remote server is configured to send the download request to the management device and receive the driver program sent by the management device when the target location is the server.

13. The system according to claim 11, characterized in that, The remote server is further configured to, when the target location is the client and the driver is not stored in the storage device, add a security identifier to the driver, upload the driver with the added security identifier to the storage device, and send the upload information of the driver to the management device, wherein the security identifier is related to the device attributes.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1 to 9.

15. A computer-readable storage medium storing a computer program therein, which, when executed by a processor, implements the method of any one of claims 1 to 9.

16. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 9.