CN106126256A - 一种驱动管理方法、装置及系统 - Google Patents

一种驱动管理方法、装置及系统 Download PDF

Info

Publication number
CN106126256A
CN106126256A CN201610510393.XA CN201610510393A CN106126256A CN 106126256 A CN106126256 A CN 106126256A CN 201610510393 A CN201610510393 A CN 201610510393A CN 106126256 A CN106126256 A CN 106126256A
Authority
CN
China
Prior art keywords
driving
hardware
information
environment information
drive environment
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.)
Granted
Application number
CN201610510393.XA
Other languages
English (en)
Other versions
CN106126256B (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.)
Uniontech Software Technology Co Ltd
Original Assignee
Wuhan 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 Wuhan Technology Co Ltd filed Critical Wuhan Technology Co Ltd
Priority to CN201610510393.XA priority Critical patent/CN106126256B/zh
Publication of CN106126256A publication Critical patent/CN106126256A/zh
Application granted granted Critical
Publication of CN106126256B publication Critical patent/CN106126256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

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

Abstract

本发明公开了一种驱动管理方法,适于在运行Linux系统的计算设备中执行,包括:收集计算设备中所有硬件对应的驱动环境信息,所述驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息;将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动;将推荐的驱动安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上;若推荐的驱动运行正常,则将预设磁盘文件合并写入原始文件系统,并删除该预设磁盘文件;若运行不正常,则重启计算设备后将该预设磁盘文件直接删除。

Description

一种驱动管理方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种驱动管理方法、装置及系统。
背景技术
随着计算机技术的不断发展,计算机的使用越来越频繁,已成为工作和日常生活中不可缺少的一部分。对计算机而言,需要通过安装合适的驱动来驱使硬件运转而保证计算机的正常运行。然而,在实际操作计算机的过程中,可能出现因其硬件设备的驱动未安装成功或兼容性不好等原因导致无法正常使用计算机,以致影响工作进度和个人生活。
发明内容
为此,本发明提供一种驱动管理方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种驱动管理方法,适于在运行Linux系统的计算设备中执行,计算设备与驱动管理服务器通信连接,驱动管理服务器包括驱动数据库,驱动数据库中存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息,该方法包括如下步骤:首先,收集计算设备中所有硬件对应的驱动环境信息,驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息;将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动;从驱动管理服务器下载推荐的驱动,从驱动管理服务器下载推荐的驱动,将其安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上;若推荐的驱动的运行状态正常,则将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除磁盘文件;若推荐的驱动的运行状态不正常,则重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。
可选地,在根据本发明的驱动管理方法中,还包括当推荐的驱动的运行状态正常时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。
可选地,在根据本发明的驱动管理方法中,驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
可选地,在根据本发明的驱动管理方法中,硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息。
可选地,在根据本发明的驱动管理方法中,软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。
可选地,在根据本发明的驱动管理方法中,驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动包括:根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息;将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息;将获取到的驱动环境信息所对应的驱动推荐给计算设备。
根据本发明的又一个方面,提供一种驱动管理装置,驻留在运行Linux系统的计算设备中,计算设备与驱动管理服务器通信连接,驱动管理服务器包括驱动数据库,驱动数据库中存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息,该装置包括收集模块、发送模块、下载模块、安装模块、第一处理模块和第二处理模块。其中,收集模块适于收集计算设备中所有硬件对应的驱动环境信息,驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息;发送模块适于将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动;下载模块适于从驱动管理服务器下载推荐的驱动;安装模块适于将推荐的驱动安装至OverlapFS的文件系统中的预设磁盘文件中,并将并将OverlapFS的文件系统叠加至原始文件系统上;第一处理模块适于当推荐的驱动的运行状态正常时,将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除磁盘文件;第二处理模块适于当推荐的驱动的运行状态不正常时,重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。
可选地,在根据本发明的驱动管理装置中,发送模块还适于当推荐的驱动的运行状态正常时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。
可选地,在根据本发明的驱动管理装置中,驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
可选地,在根据本发明的驱动管理装置中,硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息。
可选地,在根据本发明的驱动管理装置中,软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。
根据本发明的又一个方面,提供一种计算设备,包括根据本发明的驱动管理装置。
根据本发明的又一个方面,提供一种驱动管理服务器,与多个计算设备通信连接,该驱动管理服务器包括驱动数据库、接收模块、查找模块、匹配模块和推荐模块。其中,驱动数据库存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息;接收模块适于接收计算设备发送的待安装驱动的硬件对应的驱动环境信息;查找模块适于根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息;匹配模块适于将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息;推荐模块适于将获取到的驱动环境信息所对应的驱动推荐给计算设备。
可选地,在根据本发明的驱动管理服务器中,接收模块还适于当推荐的驱动的运行状态正常时,接收计算设备发送的已安装推荐的驱动的硬件对应的驱动环境信息。
可选地,在根据本发明的驱动管理服务器中,还包括更新模块,适于根据已安装推荐的驱动的硬件对应的驱动环境信息更新驱动数据库。
可选地,在根据本发明的驱动管理服务器中,驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
根据本发明的又一个方面,还提供一种驱动管理系统,包括多个根据本发明的计算设备和根据本发明的驱动管理服务器。
根据本发明的驱动管理的技术方案,将计算设备中待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动,将推荐的驱动下载后安装至OverlapFS的文件系统的预设磁盘文件中,将OverlapFS的文件系统叠加至原始文件系统上,根据上述驱动的运行状态来对OverlapFS的文件系统进行处理。上述技术方案中的驱动环境信息包括硬件的硬件信息、计算设备的软件信息和该硬件在该计算设备中的驱动版本信息,则在硬件信息匹配的前提下对软件信息进行匹配,提升了匹配的准确性。同时利用OverlapFS的文件系统,在Linux系统下实现了内核级技术对原始驱动备份,若推荐的驱动安装后运行异常则还原原始驱动,以避免影响计算设备正常使用的情况发生。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的驱动管理系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的结构框图;
图3示出了根据本发明一个实施例的驱动管理方法300的流程图;
图4示出了根据本发明一个实施例的驱动管理装置400的示意图;以及
图5示出了根据本发明一个实施例的驱动管理服务器600的示意图
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的驱动管理系统100的示意图。如图1所示,驱动管理系统100中包括两个运行Linux系统的计算设备,分别是计算设备200和计算设备500,一般为PC机,但不限于此,计算设备的数量也不限于两个。该系统100中还包括一个驱动管理服务器600,驱动管理服务器600包括驱动数据库(图中未示出),该驱动数据库中存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息。在本实施例中,驱动管理服务器600与计算设备200、计算设备500通过通信网络交换信息,该通信网络以分布式网络的形式实现。以下将以计算设备200为例进行说明。具体来说,计算设备200向驱动管理服务器600发送待安装驱动的硬件对应的驱动环境信息,而驱动管理服务器600根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动,计算设备200从驱动管理服务器600中下载推荐的驱动,将其安装至OverlapFS的文件系统中的预设磁盘文件中,并将该OverlapFS的文件系统叠加至原始文件系统上。若推荐的驱动的运行状态正常,计算设备200将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除所述磁盘文件;若推荐的驱动的运行状态不正常,则重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。通过本驱动管理系统100,一方面通过驱动环境信息的匹配提升了驱动推荐的可靠性,另一方面采用OverlapFS的文件系统实现驱动备份和还原功能,防止因推荐的驱动可能出现的运行不正常状态而导致计算设备无法使用的问题产生。
图2是示例计算设备200的框图。在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备200还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备200被配置为执行根据本发明的驱动管理方法。应用222包括根据本发明的驱动管理装置400。
图3示出了根据本发明一个实施例的驱动管理方法300的流程图。驱动管理方法300适于在计算设备(例如图2所示的计算设备200)中执行。
如图3所示,方法300始于步骤S 310。在步骤S310中,收集计算设备中所有硬件对应的驱动环境信息,驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息。其中,硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息,软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。在本实施例中,硬件对应的驱动环境信息是通过调用Linux系统下成熟的开发库和函数来获取的。以查看硬件的硬件信息为例,比如lshw工具可以查看主板上绝大部分外设信息。执行sudolshw命令输出的结果中,USB接口部分信息如下所示:
由上述信息可知,该计算设备有3个USB接口,其中1个与罗技的鼠标相连,鼠标信息中包括基本信息与拓展信息,其中基本信息包括产品名称USBReseiver[046D:C52F]、制造商Logitech[046D]和总线地址usb@3:1.2,而拓展信息包括固件版本22.00、驱动usbhid、最大电流98mA和传输速率12Mbit/s。
而计算设备的软件信息中,Xorg版本的相关信息与显卡、键盘、鼠标等硬件的关联性较大,Bluez版本的相关信息与蓝牙等硬件的关联性较大,Pulseaudio配置的相关信息则与声卡等硬件的关联性较大。对Xorg版本而言,与Xorg版本相关的信息包括Xserver版本、Gtk版本和OpenGL版本,以deepin系统这种Linux系统为例,通过dpkg命令查询Xorg版本的相关信息,执行命令dpkg-W-f=’${version}’xserver-xorg可查询Xserver版本,执行命令dpkg-W-f=’${version}’libgtk-3-0:amd64可查询Gtk版本,而执行命令glxinfo|grep"OpenGL version"可查询OpenGL版本。就各硬件在计算设备中的当前驱动版本信息而言,如果计算设备中尚未安装硬件对应的驱动,则当前驱动版本信息暂无,如果已安装,则可收集到硬件对应的当前驱动版本信息。
随后,进入步骤S320,将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动。其中,驱动数据库中预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。在本实施例中,开源驱动为开源软件仓库中已有的开源驱动程序,而闭源驱动是各个主流硬件品牌在其官网提供的闭源二进制驱动。以待安装驱动的硬件为网卡为例,在步骤S310中收集到网卡的硬件信息包括类型、速率和设备名称,其中网卡的类型为有线网卡,速率为1000Mb/s,设备名称为82567LM Gigabit Network Connection。网卡所在的计算设备的软件信息为内核版本的相关信息,包括内核版本K1和网络控制器版本N1。此时,计算设备中尚未安装网卡对应的驱动,因此当前驱动版本信息暂无。
在步骤S320中,驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动包括:根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息;将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息;将获取到的驱动环境信息所对应的驱动推荐给计算设备。其中,驱动数据库中存储有多条驱动管理信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息,通过查找该驱动管理信息中的硬件信息,可以获取与该硬件信息关联的软件信息和驱动版本信息。换言之,以驱动对应的硬件的硬件信息为主键,将适用该硬件的计算设备的软件信息和该驱动的驱动版本信息作为表项,将该表项与该主键的关联关系映射成关系列表并存储于驱动管理数据库中,从而实现了通过主键和关系列表来查找对应表项。在本实施例中,待安装驱动的硬件为网卡,该网卡的硬件信息为类型“有线网卡”、速率“1000Mb/s”和设备名称“82567LMGigabit Network Connection”,根据上述硬件信息在驱动数据库中查找与之对应的驱动环境信息,该查找到的驱动环境信息中的硬件信息与上述待安装驱动的网卡的硬件信息一致。上述所查找到的驱动环境信息有两条,第一条驱动环境信息中的软件信息包括内核版本K1和网络控制器版本N2,第二条驱动环境信息中的软件信息包括内核版本K1和网络控制器版本N3。以内核版本为一个维度,网络控制器版本为另一个维度,则软件信息的相似度可用如下公式计算:
相似度=内核版本相似度×内核版本权值+网络控制器版本相似度×网络控制器版本权值
其中,内核版本相似度及权值、网络控制器版本相似度及权值的取值区间为[0,1],且内核版本权值与网络控制器版本权值之和为1。
在本实施例中,所查找到的两条驱动环境信息中的内核版本与待安装驱动的网卡对应的驱动环境信息中的内核版本相同,因此两条驱动信息对应的内核版本相似度均为1。而第一条驱动环境信息对应的网络控制器版本相似度为0.8,第二条驱动环境信息对应的网络控制器版本相似度为0.7,而内核版本权值为0.6,网络控制器版本权值为0.4,以此为依据计算得出第一条驱动环境信息中软件信息的相似度为0.92,第二条驱动环境信息中软件信息的相似度为0.88。由上可知,第一条驱动环境信息中软件信息的相似度更高,因此获取该驱动环境信息所对应的驱动,得到该网卡驱动为e1000e,驱动版本信息为3.2.6-k。最后,将网卡驱动e1000e推荐给计算设备。
在步骤S330中,从驱动管理服务器下载推荐的驱动,将其安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上。在本实施例中,预先在OverlapFS的文件系统中建立预设磁盘文件,将网卡驱动e1000e下载完成后将其安装至该预设磁盘文件中,然后将OverlapFS的文件系统叠加至原始文件系统上。其中,OverlapFS的文件系统格式是可以叠加到原始文件系统之上的,而对原始文件系统没有任何修改,但是应用层看到的是叠加之后的文件系统。
在步骤S340中,若推荐的驱动的运行状态正常,则将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除所述磁盘文件。此时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。在本实施例中,计算设备中已安装推荐的驱动e1001e的网卡所对应的驱动环境信息中,硬件信息为类型“有线网卡”、速率“1000Mb/s”和设备名称“82567LM Gigabit NetworkConnection”,软件信息为内核版本K1和网络控制器版本N1,驱动版本信息为3.2.6-k。将上述驱动环境信息发送至驱动管理服务器后,在驱动数据库中,先将上述网卡的硬件信息设为新的主键,将该网卡的软件信息和驱动版本信息作为新的表项,将上述新的表项与新的主键的关联关系映射到驱动管理数据库中原有的关系列表中,从而实现了驱动数据库的更新。
在步骤S350中,若推荐的驱动的运行状态不正常,则重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。同时,重新收集已安装推荐的驱动的硬件对应的驱动环境信息中的更多的软件信息,这里更多的软件信息是指软件信息具有更多的维度。在本实施例中,内核版本和网络控制器版本即为网卡对应的驱动环境信息中的软件信息的两个维度信息,此时再次手机该软件信息,获得第三个维度信息为Bluez版本,则根据重新收集的网卡对应的驱动环境信息,继续执行步骤S320以获取新的推荐的驱动。
以上的驱动管理方法300,同样适于在计算设备500中执行。
需要说明的是,在实际处理过程中,可将步骤S310中收集的计算设备中所有硬件对应的驱动环境信息发送至驱动管理服务器以存储于驱动数据库中。此时,驱动数据库中除上述驱动环境信息外,还包括驱动管理服务器预先从开源驱动和闭源驱动中收集的驱动环境信息。而后在步骤S320中,发送将待安装驱动的硬件对应的驱动环境中的硬件信息至驱动管理服务器,从而驱动管理服务器根据上述硬件信息来进行后续的查找和匹配处理以向计算设备推荐驱动。
图4示出了根据本发明一个实施例的驱动管理装置400的示意图。如图4所示,该装置包括:收集模块410、发送模块420、下载模块430、安装模块440、第一处理模块450和第二处理模块460。
收集模块410适于收集计算设备中所有硬件对应的驱动环境信息,驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息。其中,硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息,软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。在本实施例中,硬件对应的驱动环境信息是通过调用Linux系统下成熟的开发库和函数来获取的。以查看硬件的硬件信息为例,比如lshw工具可以查看主板上绝大部分外设信息。而计算设备的软件信息中,Xorg版本的相关信息与显卡、键盘、鼠标等硬件的关联性较大,Bluez版本的相关信息与蓝牙等硬件的关联性较大,Pulseaudio配置的相关信息则与声卡等硬件的关联性较大。就各硬件在计算设备中的当前驱动版本信息而言,如果计算设备中尚未安装硬件对应的驱动,则当前驱动版本信息暂无,如果已安装,则可收集到硬件对应的当前驱动版本信息。
发送模块420适于将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动。其中,驱动数据库中预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。在本实施例中,开源驱动为开源软件仓库中已有的开源驱动程序,而闭源驱动是各个主流硬件品牌在其官网提供的闭源二进制驱动。以待安装驱动的硬件为网卡为例,在步骤S310中收集到网卡的硬件信息包括类型、速率和设备名称,其中网卡的类型为有线网卡,速率为1000Mb/s,设备名称为82567LM Gigabit Network Connection。网卡所在的计算设备的软件信息为内核版本的相关信息,包括内核版本K1和网络控制器版本N1。此时,计算设备中尚未安装网卡对应的驱动,因此当前驱动版本信息暂无。
下载模块430适于从驱动管理服务器下载推荐的驱动。在本实施例中,驱动管理服务器推荐的网卡驱动为e1001e,驱动版本信息为3.2.6-k。
安装模块440适于将推荐的驱动安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上。
第一处理模块450适于当推荐的驱动的运行状态正常时,将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除磁盘文件。第一处理模块450还适于当推荐的驱动的运行状态正常时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。
第二处理模块460适于当推荐的驱动的运行状态不正常时,重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。
图5示出了根据本发明一个实施例的驱动管理服务器600的示意图。如图5所示,该装置包括:驱动数据库610、接收模块620、查找模块630、匹配模块640和推荐模块650。驱动管理服务器600还包括更新模块(图中未示出),与驱动数据库610和接收模块620相连,适于根据已安装推荐的驱动的硬件对应的驱动环境信息更新驱动数据库。
驱动数据库610存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息。驱动数据库610预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
接收模块620适于接收计算设备发送的待安装驱动的硬件对应的驱动环境信息。接收模块620还适于当推荐的驱动的运行状态正常时,接收计算设备发送的已安装推荐的驱动的硬件对应的驱动环境信息。
查找模块630适于根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息。
匹配模块640适于将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息。
推荐模块650适于将获取到的驱动环境信息所对应的驱动推荐给计算设备。
关于驱动管理的具体步骤以及实施例,在基于图3的描述中已经详细公开,此处不再赘述。
对于计算机而言,需要通过安装合适的驱动来驱使硬件运转而保证计算机的正常运行。然而,在实际使用过程中,可能出现因其硬件设备的驱动未安装成功或兼容性不好等原因导致无法计算机无法正常运行。根据本发明实施例的驱动管理的技术方案,将计算设备中待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动,将推荐的驱动下载后安装至OverlapFS的文件系统的预设磁盘文件中,将OverlapFS的文件系统叠加至原始文件系统上,根据上述驱动的运行状态来对OverlapFS的文件系统进行处理。上述技术方案中的驱动环境信息包括硬件的硬件信息、计算设备的软件信息和该硬件在该计算设备中的驱动版本信息,则在硬件信息匹配的前提下对软件信息进行匹配,提升了匹配的准确性。同时利用OverlapFS的文件系统,在Linux系统下实现了内核级技术对原始驱动备份,若推荐的驱动安装后运行异常则还原原始驱动,以避免影响计算设备正常使用的情况发生。
B8.如B7所述的装置,所述发送模块还适于:
当推荐的驱动的运行状态正常时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。
B9.如B7或B8所述的装置,其中,所述驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
B10.如B7所述的装置,所述硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息。
B11.如B7所述的装置,所述软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。
C14.如C13所述的驱动管理服务器,所述接收模块还适于:
当推荐的驱动的运行状态正常时,接收计算设备发送的已安装推荐的驱动的硬件对应的驱动环境信息。
C15.如C14所述的驱动管理服务器,还包括更新模块,适于根据已安装推荐的驱动的硬件对应的驱动环境信息更新驱动数据库。
C16.如C13-15中任一项所述的驱动管理服务器,其中,所述驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种驱动管理方法,适于在运行Linux系统的计算设备中执行,所述计算设备与驱动管理服务器通信连接,所述驱动管理服务器包括驱动数据库,所述驱动数据库中存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息,所述方法包括:
收集计算设备中所有硬件对应的驱动环境信息,所述驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息;
将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动;
从驱动管理服务器下载推荐的驱动,将其安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上;
若推荐的驱动的运行状态正常,则将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除所述预设磁盘文件;
若推荐的驱动的运行状态不正常,则重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。
2.如权利要求1所述的方法,还包括:
当推荐的驱动的运行状态正常时,发送已安装推荐的驱动的硬件对应的驱动环境信息至驱动管理服务器,以供驱动管理服务器更新驱动数据库。
3.如权利要求1或2所述的方法,其中,所述驱动数据库预先存储有从开源驱动和闭源驱动中收集的驱动环境信息。
4.如权利要求1所述的方法,所述硬件信息包括CPU、内存、主板、显卡、声卡、网卡、硬盘、PCI外设和USB外设中至少一种的相关信息。
5.如权利要求1所述的方法,所述软件信息包括内核版本、Xorg版本、Bluez版本和Pulseaudio配置中至少一种的相关信息。
6.如权利要求1-5中任一项所述的方法,所述驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动包括:
根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息;
将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息;
将获取到的驱动环境信息所对应的驱动推荐给计算设备。
7.一种驱动管理装置,驻留在运行Linux系统的计算设备中,所述计算设备与驱动管理服务器通信连接,所述驱动管理服务器包括驱动数据库,所述驱动数据库中存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息,所述装置包括:
收集模块,适于收集计算设备中所有硬件对应的驱动环境信息,所述驱动环境信息包括各硬件的硬件信息、该计算设备的软件信息和该硬件在该计算设备中的当前驱动版本信息;
发送模块,适于将待安装驱动的硬件对应的驱动环境信息发送至驱动管理服务器,指示驱动管理服务器根据该驱动环境信息与驱动数据库中存储的驱动环境信息进行匹配来推荐驱动;
下载模块,适于从驱动管理服务器下载推荐的驱动;
安装模块,适于将推荐的驱动安装至OverlapFS的文件系统中的预设磁盘文件中,并将OverlapFS的文件系统叠加至原始文件系统上;
第一处理模块,适于当推荐的驱动的运行状态正常时,将OverlapFS的文件系统中的预设磁盘文件合并写入原始文件系统,并删除所述磁盘文件;
第二处理模块,适于当推荐的驱动的运行状态不正常时,重启计算设备后将OverlapFS的文件系统中的预设磁盘文件直接删除。
8.一种计算设备,包括如权利要求7所述的驱动管理装置。
9.一种驱动管理服务器,与多个计算设备通信连接,所述驱动管理服务器包括:
驱动数据库,存储有多条驱动环境信息,每条驱动环境信息包括驱动对应的硬件的硬件信息、适用该硬件的计算设备的软件信息和该驱动的驱动版本信息;
接收模块,适于接收计算设备发送的待安装驱动的硬件对应的驱动环境信息;
查找模块,适于根据待安装驱动的硬件对应的驱动环境信息中的硬件信息,在驱动数据库中查找对应的一条或多条驱动环境信息;
匹配模块,适于将待安装驱动的硬件对应的驱动环境信息与所查找到的一条或多条驱动环境信息进行匹配,获取其中软件信息相似度最高的一条驱动环境信息;
推荐模块,适于将获取到的驱动环境信息所对应的驱动推荐给计算设备。
10.一种驱动管理系统,包括:
多个如权利要求8所述的计算设备;和
如权利要求9所述的驱动管理服务器。
CN201610510393.XA 2016-07-01 2016-07-01 一种驱动管理方法、装置及系统 Active CN106126256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610510393.XA CN106126256B (zh) 2016-07-01 2016-07-01 一种驱动管理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610510393.XA CN106126256B (zh) 2016-07-01 2016-07-01 一种驱动管理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106126256A true CN106126256A (zh) 2016-11-16
CN106126256B CN106126256B (zh) 2019-11-12

Family

ID=57468942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610510393.XA Active CN106126256B (zh) 2016-07-01 2016-07-01 一种驱动管理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106126256B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254800A (zh) * 2018-09-30 2019-01-22 联想(北京)有限公司 一种设备信息处理方法、电子设备及服务器
CN109814932A (zh) * 2019-01-03 2019-05-28 武汉深之度科技有限公司 显卡驱动安装方法、计算设备
CN112148316A (zh) * 2020-09-29 2020-12-29 联想(北京)有限公司 一种信息处理方法及信息处理装置
CN112988250A (zh) * 2021-03-26 2021-06-18 山东英信计算机技术有限公司 多主板usb服务配置方法、系统、终端及存储介质
CN113225374A (zh) * 2021-03-23 2021-08-06 北京交大思源信息技术有限公司 自动售检票设备模块软件标准化方法、装置、介质和设备
CN113254035A (zh) * 2021-06-29 2021-08-13 武汉深之度科技有限公司 一种驱动程序安装方法、计算设备及存储介质
WO2022099961A1 (zh) * 2020-11-13 2022-05-19 麒麟软件有限公司 操作系统中多gpu驱动兼容方法
CN115098177A (zh) * 2022-08-25 2022-09-23 中科方德软件有限公司 一种显卡驱动切换方法、装置和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959560B1 (ko) * 2008-02-13 2010-05-27 (주)비엑스엠 저장매체를 통한 드라이버 설치시스템 및 설치방법
CN101944043A (zh) * 2010-09-27 2011-01-12 公安部第三研究所 Windows平台下Linux虚拟机磁盘文件访问方法
CN104750706A (zh) * 2013-12-26 2015-07-01 贝壳网际(北京)安全技术有限公司 驱动程序信息的提供方法、装置和系统
CN104932926A (zh) * 2015-07-09 2015-09-23 上海联彤网络通讯技术有限公司 智能操作系统平台中实现设备与驱动动态匹配的系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959560B1 (ko) * 2008-02-13 2010-05-27 (주)비엑스엠 저장매체를 통한 드라이버 설치시스템 및 설치방법
CN101944043A (zh) * 2010-09-27 2011-01-12 公安部第三研究所 Windows平台下Linux虚拟机磁盘文件访问方法
CN104750706A (zh) * 2013-12-26 2015-07-01 贝壳网际(北京)安全技术有限公司 驱动程序信息的提供方法、装置和系统
CN104932926A (zh) * 2015-07-09 2015-09-23 上海联彤网络通讯技术有限公司 智能操作系统平台中实现设备与驱动动态匹配的系统及方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254800A (zh) * 2018-09-30 2019-01-22 联想(北京)有限公司 一种设备信息处理方法、电子设备及服务器
CN109254800B (zh) * 2018-09-30 2021-11-16 联想(北京)有限公司 一种设备信息处理方法、电子设备及服务器
CN109814932A (zh) * 2019-01-03 2019-05-28 武汉深之度科技有限公司 显卡驱动安装方法、计算设备
CN112148316A (zh) * 2020-09-29 2020-12-29 联想(北京)有限公司 一种信息处理方法及信息处理装置
CN112148316B (zh) * 2020-09-29 2022-04-22 联想(北京)有限公司 一种信息处理方法及信息处理装置
WO2022099961A1 (zh) * 2020-11-13 2022-05-19 麒麟软件有限公司 操作系统中多gpu驱动兼容方法
CN113225374A (zh) * 2021-03-23 2021-08-06 北京交大思源信息技术有限公司 自动售检票设备模块软件标准化方法、装置、介质和设备
CN112988250A (zh) * 2021-03-26 2021-06-18 山东英信计算机技术有限公司 多主板usb服务配置方法、系统、终端及存储介质
CN112988250B (zh) * 2021-03-26 2023-02-28 山东英信计算机技术有限公司 多主板usb服务配置方法、系统、终端及存储介质
CN113254035A (zh) * 2021-06-29 2021-08-13 武汉深之度科技有限公司 一种驱动程序安装方法、计算设备及存储介质
CN115098177A (zh) * 2022-08-25 2022-09-23 中科方德软件有限公司 一种显卡驱动切换方法、装置和可读存储介质
CN115098177B (zh) * 2022-08-25 2022-11-04 中科方德软件有限公司 一种显卡驱动切换方法、装置和可读存储介质

Also Published As

Publication number Publication date
CN106126256B (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN106126256A (zh) 一种驱动管理方法、装置及系统
US11651084B2 (en) Methods and systems for determining software risk scores
CN107464162B (zh) 商品关联方法、装置及计算机可读存储介质
WO2021114918A1 (zh) 完整性校验方法、装置、终端设备及验证服务器
US10395041B1 (en) Methods and systems for reducing false positive findings
CN108038112B (zh) 文件处理方法、移动终端及计算机可读存储介质
CN104318259A (zh) 一种识别目标图片的设备、方法以及计算设备
CN110875850A (zh) 一种固件升级方法、系统、可读存储介质及终端设备
US20150242470A1 (en) Systems and methods for recommending software applications
CN110244963B (zh) 数据更新方法、装置及终端设备
WO2014102456A1 (en) Method and apparatus for secure advertising
US11960880B2 (en) Systems and methods for remediation of software configuration
CN112947981A (zh) 应用程序资源更新方法、装置、终端设备及服务器
CN108170595A (zh) 一种转储文件生成方法及数据探针的安装和卸载方法
US20170168796A1 (en) Method and electronic apparatus for transferring application program from pc to mobile apparatus
US10216941B2 (en) Method of distributing application with security features and method of operating the application
CN107679222B (zh) 图片处理方法、移动终端及计算机可读存储介质
CN106775835B (zh) 获取升级文件的方法、服务器及终端
CN107330058A (zh) 应用搜索方法、移动终端及计算机可读存储介质
CN112015459A (zh) 一种镜像文件的升级方法、装置、终端及可读存储介质
CN107301236A (zh) 应用搜索方法、移动终端、服务器及计算机可读存储介质
CN107609119B (zh) 文件处理方法、移动终端及计算机可读存储介质
CN106034150A (zh) 应用程序动态推送方法、装置及系统
CN111737040B (zh) 程序代码修复方法及装置
US12026277B2 (en) Electronic device for managing personal information and method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200417

Address after: 102600 18 / F, building 12, courtyard 10, KEGU 1st Street, economic and Technological Development Zone, Daxing District, Beijing

Patentee after: Tongxin Software Technology Co., Ltd

Address before: 430070, Hubei East Lake Development Zone, East Industrial Park, Optics Valley Avenue, Wuhan financial background service center base construction project two, 2.5, B18, building 6, No. 1-4

Patentee before: WUHAN DEEPIN TECHNOLOGY Co.,Ltd.