一种设备驱动升级方法、装置及电子设备的制造方法

文档序号:9579097阅读:502来源:国知局
一种设备驱动升级方法、装置及电子设备的制造方法
【技术领域】
[0001]本发明涉及驱动升级技术,尤其涉及一种设备驱动升级方法、装置及电子设备。
【背景技术】
[0002]Windows设备管理器是Windows操作系统内置的管理工具,用于管理计算机上的设备,Windows设备管理器通过安装和更新设备的驱动,维护设备在计算机中的正常运行。例如,使用Windows设备管理器确定计算机上的硬件是否正常工作,查看和更改设备属性、安装和更新设备驱动、配置设备设置和卸载设备。
[0003]由于设备的不断更新,为了降低计算机的成本,可以通过对计算机中的设备进行设备驱动升级来使得设备具有更加丰富和强大的功能,因而,设备驱动升级是Windows设备管理器的一项主要功能,现有技术中,Windows设备管理器在更新(升级)设备驱动时,需要相关技术人员或用户通过手动方式查找到需要升级的设备,然后,启动需升级设备的驱动升级,从而从设备驱动服务器上下载新版本的设备驱动以进行更新。
[0004]为了满足用户不断增长的业务需求以及个性化需求,计算机中安装的设备也越来越多,使得采用手动方式查找设备以及升级设备驱动的工作量也越来越大,升级所需的时间也越来越长;且由于手动方式,容易导致升级设备驱动的操作的出错,使得设备驱动升级的效率较低,设备驱动升级的成本也随着设备数量的迅速增加而不断升高。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种设备驱动升级方法、装置及电子设备,提升设备驱动升级效率。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供一种设备驱动升级方法,包括:
[0008]在设备管理器中注入预先设置的设备驱动升级脚本;
[0009]监测到打开所述设备管理器的操作指令,获取所述设备管理器中的设备信息,向预先设置的云端发送;
[0010]接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的。
[0011]优选地,所述在设备管理器中注入预先设置的设备驱动升级脚本包括:
[0012]在设备管理器中注入预先设置的设备驱动升级脚本引擎;
[0013]在Windows操作系统启动后,触发所述设备驱动升级脚本引擎从预先设置的云端下载最新版本的设备驱动升级脚本并更新存储的设备驱动升级脚本;
[0014]将更新的设备驱动升级脚本注入脚本语言解释器,以使脚本语言解释器对注入的设备驱动升级脚本进行语义解析后执行所述设备驱动升级脚本,监测打开所述设备管理器的操作。
[0015]优选地,所述触发所述设备驱动升级脚本引擎从预先设置的云端下载最新版本的设备驱动升级脚本并更新存储的设备驱动升级脚本包括:
[0016]所述设备驱动升级脚本引擎获取当前存储的设备驱动升级脚本的版本信息,携带在更新请求中,向云端发送;
[0017]接收云端依据所述更新请求中的版本信息返回的更新请求响应,如果所述更新请求响应中携带有设备驱动升级脚本,更新存储的设备驱动升级脚本,如果没有,不作处理。
[0018]优选地,所述监测到打开所述设备管理器的操作指令包括:
[0019]设备驱动升级脚本引擎执行所述设备驱动升级脚本,注册监听所述设备管理器打开、Windows操作系统创建设备管理器窗口时的回调函数;
[0020]接收所述回调函数的通知,以所述设备管理器窗口为父窗口创建设备驱动升级窗口,所述通知是所述回调函数监测到所述Windows操作系统创建设备管理器窗口后,向所述设备驱动升级脚本引擎发送的。
[0021]优选地,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的包括:
[0022]依据所述接收的设备信息中包含的设备标识,查询预先设置的设备标识与设备驱动升级包的映射关系集,得到所述设备信息中包含的设备标识映射的设备驱动升级包库;
[0023]依据所述设备信息中包含的设备驱动当前的安装包版本信息,查询得到的所述设备驱动升级包库,如果所述设备驱动升级包库中包含有比所述设备驱动当前的安装包版本信息更高版本的设备驱动升级包,获取最高版本的设备驱动升级包;如果没有,不作处理。
[0024]优选地,在所述接收云端返回的设备驱动升级包之后,安装所述云端返回的设备驱动升级包之前,所述方法进一步包括:
[0025]解析所述接收云端返回的设备驱动升级包,获取设备驱动升级包以及第一摘要信息;
[0026]利用消息摘要算法第五版算法,对获取的设备驱动升级包进行运算,生成第二摘要信息;
[0027]如果第一摘要信息与第二摘要信息相同,执行安装所述云端返回的设备驱动升级包的步骤,如果第一摘要信息与第二摘要信息不相同,从云端重新下载。
[0028]优选地,所述接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包包括:
[0029]在所述设备驱动升级窗口接收设备驱动升级包,解析所述设备驱动升级包;
[0030]分离解析的设备驱动升级包中的驱动升级参数文件与逻辑操作文件,解析分离的驱动升级参数文件得到设备驱动参数,将得到的所述设备驱动参数保存在内存中,解析逻辑操作文件,并利用变量代替所述逻辑操作文件中涉及的设备驱动参数,得到逻辑操作程序;
[0031]将所述内存中的所述设备驱动参数一次性写入驱动分区以进行设备驱动升级;
[0032]启动重启程序,触发所述逻辑操作程序调用所述驱动分区中的所述设备驱动参数以完成设备驱动升级。
[0033]第二方面,本发明实施例提供一种设备驱动升级装置,包括:注入模块、监测模块以及升级模块,其中,
[0034]注入模块,用于在设备管理器中注入预先设置的设备驱动升级脚本;
[0035]监测模块,用于在监测到打开所述设备管理器的操作指令后,获取所述设备管理器中的设备信息,向预先设置的云端发送;
[0036]升级模块,用于接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的。
[0037]优选地,所述注入模块包括:注入单元、更新下载单元以及更新单元,其中,
[0038]注入单元,用于在设备管理器中注入预先设置的设备驱动升级脚本引擎;
[0039]更新下载单元,用于在Windows操作系统启动后,触发所述设备驱动升级脚本引擎从预先设置的云端下载最新版本的设备驱动升级脚本并更新存储的设备驱动升级脚本;
[0040]更新单元,用于将更新的设备驱动升级脚本注入脚本语言解释器,以使脚本语言解释器对注入的设备驱动升级脚本进行语义解析后执行所述设备驱动升级脚本,监测打开所述设备管理器的操作。
[0041]优选地,所述更新下载单元包括:启动监测子单元、更新请求子单元以及更新下载子单元,其中,
[0042]启动监测子单元,用于在监测到Windows操作系统启动后,通知更新请求子单元;
[0043]更新请求子单元,用于触发所述设备驱动升级脚本引擎获取当前存储的设备驱动升级脚本的版本信息,携带在更新请求中,向云端发送;
[0044]更新下载子单元,用于接收云端依据所述更新请求中的版本信息返回的更新请求响应,如果所述更新请求响应中携带有设备驱动升级脚本,更新存储的设备驱动升级脚本,如果没有,不作处理。
[0045]优选地,所述监测模块包括:注册单元、设备驱动升级窗口创建单元以及设备信息发送单元,其中,
[0046]注册单元,用于触发设备驱动升级脚本引擎执行所述设备驱动升级脚本,注册监听所述设备管理器打开、Windows操作系统创建设备管理器窗口时的回调函数;
[0047]设备驱动升级窗口创建单元,用于接收所述回调函数的通知,以所述设备管理器窗口为父窗口创建设备驱动升级窗口,所述通知是所述回调函数监测到所述Windows操作系统创建设备管理器窗口后,向所述设备驱动升级脚本引擎发送的;
[0048]设备信息发送单元,用于获取所述设备管理器中的设备信息,向预先设置的云端发送。
[0049]优选地,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的包括:
[0050]依据所述接收的设备信息中包含的设备标识,查询预先设置的设备标识与设备驱动升级包的映射关系集,得到所述设备信息中包含的设备标识映射的设备驱动升级包库;
[0051]依据所述设备信息中包含的设备驱动当前的安装包版本信息,查询得到的所述设备驱动升级包库,如果所述设备驱动升级包库中包含有比所述设备驱动当前的安装包版本信息更高版本的设备驱动升级包,获取最高版本的设备驱动升级包;如果没有,不作处理。
[0052]优选地,所述升级模块包括:解析单元、分离处理单元、写入单元以及重启单元,其中,
[0053]解析单元,用于在所述设备驱动升级窗口接收设备驱动升级包,解析所述设备驱动升级
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1