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

文档序号:9579097阅读:来源:国知局
信息中包含的设备标识,查询预先设置的设备标识与设备驱动升级包的映射关系集,得到所述设备信息中包含的设备标识映射的设备驱动升级包库;
[0099]B02,依据所述设备信息中包含的设备驱动当前的安装包版本信息,查询得到的所述设备驱动升级包库,如果所述设备驱动升级包库中包含有比所述设备驱动当前的安装包版本信息更高版本的设备驱动升级包,获取最高版本的设备驱动升级包;如果没有,不作处理。
[0100]本步骤中,云端接收包含设备信息的升级请求,如果存在有与升级请求中携带的版本信息更高的设备驱动升级包,则将最高版本的设备驱动升级包携带在升级请求响应中,如果没有,向设备驱动升级脚本引擎返回空的升级请求响应,从而使得客户端不对相应的设备进行升级处理。
[0101]本发明实施例中,对于包含有多个设备信息的升级请求,升级请求响应中可以携带有相应的多个有最新版本的设备驱动升级包。
[0102]作为一可选实施例,在所述接收云端返回的设备驱动升级包之后,安装所述云端返回的设备驱动升级包之前,该方法还可以进一步包括:
[0103]B11,解析所述接收云端返回的设备驱动升级包,获取设备驱动升级包以及第一摘要信息;
[0104]B12,利用消息摘要算法第五版(MD5,Message-DigestAlgorithm 5)算法,对获取的设备驱动升级包进行运算,生成第二摘要信息;
[0105]B13,如果第一摘要信息与第二摘要信息相同,执行安装所述云端返回的设备驱动升级包的步骤,如果第一摘要信息与第二摘要信息不相同,从云端重新下载。
[0106]本发明实施例中,作为一可选实施例,接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包包括:
[0107]B11,在所述设备驱动升级窗口接收设备驱动升级包,解析所述设备驱动升级包;
[0108]本步骤中,在设备驱动升级脚本引擎以设备管理器窗口为父窗口创建的设备驱动升级窗口进行设备驱动接收及升级安装,可以无需改动现有的设备管理器窗口功能。
[0109]B12,分离解析的设备驱动升级包中的驱动升级参数文件与逻辑操作文件,解析分离的驱动升级参数文件得到设备驱动参数,将得到的所述设备驱动参数保存在内存中,解析逻辑操作文件,并利用变量代替所述逻辑操作文件中涉及的设备驱动参数,得到逻辑操作程序;
[0110]本步骤中,作为一可选实施例,可以按照解析得到的驱动参数的先后顺序,依次保存在内存中。
[0111]B13,将所述内存中的所述设备驱动参数一次性写入驱动分区以进行设备驱动升级;
[0112]B14,启动重启程序,触发所述逻辑操作程序调用所述驱动分区中的所述设备驱动参数以完成设备驱动升级。
[0113]本发明实施例中,通过预先将驱动设备驱动升级包的驱动代码中的逻辑操作部分和设备驱动参数部分分离,其中,逻辑操作部分在编译时使用变量代替设备驱动参数部分;设备驱动升级时,只需要升级到新的设备驱动参数,重启时,逻辑操作部分调用该新的设备驱动参数即可完成升级包安装。可以有效节约客户端的存储空间,同时可避免客户端设备驱动升级失败导致客户端无法工作的情况。
[0114]由上述可见,本发明实施例的设备驱动升级方法,通过在设备管理器中注入预先设置的设备驱动升级脚本;监测到打开所述设备管理器的操作指令,获取所述设备管理器中的设备信息,向预先设置的云端发送;接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的。这样,利用注入的设备驱动升级脚本监测设备管理器,从而在设备管理器打开时,自动从云端下载设备驱动升级包进行安装,无需用户采用手动方式查找设备以及手动进行设备驱动升级,大大降低了升级设备驱动的工作量,有效缩短了升级所需的时间,提升了设备驱动升级的效率;进一步地,由于采用设备驱动自动升级方式,可以有效降低设备驱动升级的成本,以及,避免升级设备驱动中的操作出错,提升驱动设备升级的成功率。
[0115]图3为本发明实施例设备驱动升级装置结构示意图。参见图3,该装置包括:注入模块、监测模块以及升级模块,其中,
[0116]注入模块,用于在设备管理器中注入预先设置的设备驱动升级脚本;
[0117]本发明实施例中,技术开发人员可以对设备驱动升级脚本的功能,即实现的逻辑进行扩展以及完善,并使用脚本语言将需实现的逻辑写入脚本,生成设备驱动升级脚本。
[0118]监测模块,用于在监测到打开所述设备管理器的操作指令后,获取所述设备管理器中的设备信息,向预先设置的云端发送;
[0119]本发明实施例中,获取的设备信息可以是一个或多个设备信息。作为一可选实施例,设备信息为设备标识,设备标识可以是设备的出厂序列号,也可以是设备的媒体接入控制地址等。
[0120]作为另一可选实施例,设备信息中还可以进一步包括:设备驱动的版本信息。
[0121]升级模块,用于接收云端返回的设备驱动升级包,安装所述云端返回的设备驱动升级包,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的。
[0122]本发明实施例中,所述云端返回的设备驱动升级包是云端依据所述接收的设备信息,通过查询预先设置的设备信息与设备驱动升级包的映射关系获取的包括:
[0123]依据所述接收的设备信息中包含的设备标识,查询预先设置的设备标识与设备驱动升级包的映射关系集,得到所述设备信息中包含的设备标识映射的设备驱动升级包库;
[0124]依据所述设备信息中包含的设备驱动当前的安装包版本信息,查询得到的所述设备驱动升级包库,如果所述设备驱动升级包库中包含有比所述设备驱动当前的安装包版本信息更高版本的设备驱动升级包,获取最高版本的设备驱动升级包;如果没有,不作处理。
[0125]作为一可选实施例,图4为本发明实施例的注入模块结构示意图。参见图4,该注入模块包括:注入单元、更新下载单元以及更新单元,其中,
[0126]注入单元,用于在设备管理器中注入预先设置的设备驱动升级脚本引擎;
[0127]更新下载单元,用于在Windows操作系统启动后,触发所述设备驱动升级脚本引擎从预先设置的云端下载最新版本的设备驱动升级脚本并更新存储的设备驱动升级脚本;
[0128]本发明实施例中,作为一可选实施例,更新下载单元包括:启动监测子单元、更新请求子单元以及更新下载子单元,其中,
[0129]启动监测子单元,用于在监测到Windows操作系统启动后,通知更新请求子单元;
[0130]更新请求子单元,用于触发所述设备驱动升级脚本引擎获取当前存储的设备驱动升级脚本的版本信息,携带在更新请求中,向云端发送;
[0131]更新下载子单元,用于接收云端依据所述更新请求中的版本信息返回的更新请求响应,如果所述更新请求响应中携带有设备驱动升级脚本,更新存储的设备驱动升级脚本,如果没有,不作处理。
[0132]更新单元,用于将更新的设备驱动升级脚本注入脚本语言解释器,以使脚本语言解释器对注入的设备驱动升级脚本进行语义解析后执行所述设备驱动升级脚本,监测打开所述设备管理器的操作。
[0133]本发明实施例中,作为一可选实施例,监测模块包括:注册单元、设备驱动升级窗口创建单元以及设备信息发送单元(图中未示出),其中,
[0134]注册单元,用于触发设备驱动升级脚本引擎执行所述设备驱动升级脚本,注册监听所述设备管理器打开、Windows操作系统创建设备管理器窗口时的回调函数;
[0135]设备驱动升级窗口创建单元,用于接收所述回调函数的通知,以所述设备管理器窗口为父窗口创建设备驱动升级窗口,所述通知是所述回调函数监测到所述Windows操作系统创建设备管理器窗口后,向所述设备驱动升级脚本引擎发送的;
[0136]设备信息发送单元,用于获取所述设备管理器中的设备信息,向预先设置的云端发送。
[0137]本发明实施例中,作为一可选实施例,升级模块包括:解析单元、分离处理单元、写入单元以及重启单元(图中未示出),其中,
[0138]解析单元,用于在所述设备驱动升级窗口接收设备驱动升级包,解析所述设备驱动升级包;
[0139]分离处理单元,用于分离解析的设备驱动升级包中的驱动升级参数文件与逻辑操作文件,解析分离的驱动升级参数文件得到设备驱动参数,将得到的所述设备驱动参数保存在内存中,解析逻辑操作文件,并利用变量代替所述逻辑操作文件中涉及的设备驱动参数,得到逻辑操作程序;
[0140]写入单元,用于将所述内存中的所述设备驱动参数一次性写入驱动分区以进行设备驱动升级;
[0141]重启单元,用于启动重启程序,触发所述逻辑操作程序调用所述驱动分区中的所述设备驱动参数以完成设备驱动升级。
[0142]本发明实施例中,作为另一可选实施例,升级模块还可以进一步包括:第一摘要信息获取单元、第二摘要信息生成单元以及摘要信息匹配单元,其中,
[0143]第一摘要信息获取单元,用于解析所述接收云端返回的设备驱动升级包,获取设备驱动升级包以及第一摘要信息;
[0144]第二摘要信息生成单元,用于利用消息摘要算法第五版算法,对
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1