发明内容
本发明实施例的目的在于提供一种驱动备份方法、装置及驱动还原方法、装置,提高硬件驱动备份的准确率。
为了实现上述目的,本发明实施例提供了一种驱动备份方法,包括:
获取操作系统中存储的第一硬件设备的原始驱动文件集合;
判断所述原始驱动文件集合是否能正确驱动所述第一硬件设备,获取判断结果;
在所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备时,与服务器交互,从服务器获取文件,并利用获取的文件生成并保存能够正确驱动所述第一硬件设备的驱动文件备份集合。
上述的驱动备份方法,其中,判断所述原始驱动文件集合是否能正确驱动所述第一硬件设备,获取判断结果具体包括:
获取所述原始驱动文件集合的第一文件信息;
判断所述原始驱动文件集合的第一文件信息与第二文件信息是否一致,获取所述判断结果;
所述第二文件信息为预先记录的能正确驱动所述第一硬件设备的驱动文件集合的文件信息,在所述第一文件信息和第二文件信息一致时,所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备,否则所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备。
上述的驱动备份方法,其中,判断所述原始驱动文件集合是否能正确驱动所述第一硬件设备,获取一判断结果具体包括:
根据所述原始驱动文件集合的文件内容计算一第一校验码;
判断所述第一校验码与第二校验码是否一致,获取所述判断结果;
所述第二校验码为预先根据能正确驱动所述第一硬件设备的驱动文件集合的文件内容计算得到的校验码;在所述第一校验码和第二校验码一致时,所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备,否则所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备。
上述的驱动备份方法,其中,判断所述原始驱动文件集合是否能正确驱动所述第一硬件设备,获取一判断结果具体包括:
获取所述原始驱动文件集合的第一文件信息;
判断所述原始驱动文件集合的第一文件信息与第二文件信息是否一致,如果不一致,则得到指示所述原始驱动文件集合能正确驱动所述第一硬件设备的判断结果,否则根据所述原始驱动文件集合的文件内容计算第一校验码;
判断所述第一校验码与第二校验码是否一致,如果不一致,得到指示所述原始驱动文件集合不能正确驱动所述第一硬件设备的判断结果,否则得到指示所述原始驱动文件集合能正确驱动所述第一硬件设备的判断结果;
所述第二文件信息为预先记录的能正确驱动所述第一硬件设备的驱动文件集合的文件信息,所述第二校验码为预先根据能正确驱动所述第一硬件设备的驱动文件集合的文件内容计算得到的校验码。
上述的驱动备份方法,其中,所述与服务器交互,从服务器获取文件,并利用获取的文件生成并保存能够正确驱动所述第一硬件设备的驱动文件备份集合具体包括:
向服务器发送所述第一硬件设备的硬件描述信息及环境信息;
接收服务器根据硬件描述信息及环境信息从数据库中选择并发送的设备驱动安装包;
根据所述设备驱动安装包生成并保存所述第一硬件设备的驱动文件备份。
上述的驱动备份方法,其中,所述与服务器交互,从服务器获取文件,并利用获取的文件生成并保存能够正确驱动所述第一硬件设备的驱动文件备份集合具体包括:
向服务器发送所述第一硬件设备的硬件描述信息以及环境信息;
接收服务器从预先保存的所述第一硬件设备的所有驱动文件集合中,根据所述环境信息选择的驱动文件集合中的文件的文件列表以及文件校验信息;
根据原始驱动文件集合中的文件的文件校验信息以及所述服务器返回的文件校验消息,确定所述文件列表中需要下载的文件;
从所述服务器下载确定需要下载的文件;
利用下载的文件更新所述原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
上述的驱动备份方法,其中,还包括:
在所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备时,判断是否存在版本高于原始驱动文件集合对应的第一版本的驱动;
在存在版本高于原始驱动文件集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动所述第一硬件设备,且版本高于第一版本的驱动文件集合进行备份;
在不存在版本高于原始驱动文件集合对应的第一版本的驱动,直接将原始驱动文件集合作为驱动文件备份集合保存。
为了实现上述目的,本发明实施例提供了一种驱动备份装置,包括:
获取模块,用于获取操作系统中存储的第一硬件设备的原始驱动文件集合;
判断模块,用于判断所述原始驱动文件集合是否能正确驱动所述第一硬件设备,获取一判断结果;
第一备份处理模块,用于在所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备时,与服务器交互,从服务器获取文件,并利用获取的文件生成并保存能够正确驱动所述第一硬件设备的驱动文件备份集合。
上述的驱动备份装置,其中,所述判断模块具体包括:
第一获取单元,用于获取所述原始驱动文件集合的第一文件信息;
第一判断单元,用于判断所述原始驱动文件集合的第一文件信息与第二文件信息是否一致,获取所述判断结果;
所述第二文件信息为预先记录的能正确驱动所述第一硬件设备的驱动文件集合的文件信息,在所述第一文件信息和第二文件信息一致时,所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备,否则所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备。
上述的驱动备份装置,其中,所述判断模块具体包括:
第二获取单元,用于根据所述原始驱动文件集合的文件内容计算一第一校验码;
第二判断单元,用于判断所述第一校验码与第二校验码是否一致,获取所述判断结果;
所述第二校验码为预先根据能正确驱动所述第一硬件设备的驱动文件集合的文件内容计算得到的校验码;在所述第一校验码和第二校验码一致时,所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备,否则所述判断结果指示所述原始驱动文件集合不能正确驱动所述第一硬件设备。
上述的驱动备份装置,其中,所述判断模块具体包括:
第一获取单元,用于获取所述原始驱动文件集合的第一文件信息;
第一处理单元,用于判断所述原始驱动文件集合的第一文件信息与第二文件信息是否一致,如果不一致,则得到指示所述原始驱动文件集合能正确驱动所述第一硬件设备的判断结果,否则根据所述原始驱动文件集合的文件内容计算一第一校验码;
第二处理单元,用于判断所述第一校验码与第二校验码是否一致,如果不一致,得到指示所述原始驱动文件集合不能正确驱动所述第一硬件设备的判断结果,否则得到指示所述原始驱动文件集合能正确驱动所述第一硬件设备的判断结果;
所述第二文件信息为预先记录的能正确驱动所述第一硬件设备的驱动文件集合的文件信息,所述第二校验码为预先根据能正确驱动所述第一硬件设备的驱动文件集合的文件内容计算得到的校验码。
上述的驱动备份装置,其中,所述第一备份处理模块具体包括:
发送单元,用于向服务器发送所述第一硬件设备的硬件描述信息及环境信息;
第一接收单元,用于接收服务器根据硬件描述信息及环境信息从数据库中选择并发送的设备驱动安装包;
第一备份处理单元,用于根据所述设备驱动安装包生成并保存所述第一硬件设备的驱动文件备份。
上述的驱动备份装置,其中,所述第一备份处理模块具体包括:
发送单元,用于向服务器发送所述第一硬件设备的硬件描述信息以及环境信息;
第二接收单元,用于接收服务器从预先保存的所述第一硬件设备的所有驱动文件集合中,根据所述环境信息选择的驱动文件集合中的文件的文件列表以及文件校验信息;
确定单元,用于根据原始驱动文件集合中的文件的文件校验信息以及所述服务器返回的文件校验消息,确定所述文件列表中需要下载的文件;
下载单元,用于从所述服务器下载确定需要下载的文件;
第二备份处理单元,用于利用下载的文件更新所述原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
上述的驱动备份装置,其中,还包括:
版本判断模块,用于在所述判断结果指示所述原始驱动文件集合能正确驱动所述第一硬件设备时,判断是否存在版本高于原始驱动文件集合对应的第一版本的驱动;
第二备份处理模块,用于在存在版本高于原始驱动文件集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动所述第一硬件设备,且版本高于第一版本的驱动文件集合进行备份;
第三备份处理模块,用于在不存在版本高于原始驱动文件集合对应的第一版本的驱动,直接将原始驱动文件集合作为驱动文件备份集合保存。
为了实现上述目的,本发明实施例提供了一种驱动还原方法,包括:
获取步骤,获取利用上述任意驱动备份方法得到的驱动文件备份集合;
还原步骤,利用所述驱动文件备份集合进行驱动还原。
上述的驱动还原方法,其中,所述获取步骤和所述还原步骤之间还包括:
判断是否存在版本高于驱动文件备份集合对应的第一版本的驱动;
在存在版本高于驱动文件备份集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动所述第一硬件设备,且版本高于第一版本的驱动文件集合进行驱动还原,否则进入所述还原步骤。
为了实现上述目的,本发明实施例提供了一种驱动还原装置,包括:
获取模块,用于获取利用任意驱动备份装置得到的驱动文件备份集合;
第一还原模块,用于利用所述驱动文件备份集合进行驱动还原。
上述的驱动还原装置,其中,还包括:
版本判断模块,用于判断是否存在版本高于驱动文件备份集合对应的第一版本的驱动;
第二还原模块,用于在存在版本高于驱动文件备份集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动所述第一硬件设备,且版本高于第一版本的驱动文件集合进行驱动还原,否则触发所述第一还原模块。
本发明实施例具有以下有益效果:
在本发明的具体实施例中,得到操作系统中存储的原始驱动文件集合后,并不是直接将其作为备份进行保存,而是进一步判断该原始驱动文件集合是否能正确驱动所述第一硬件设备,如果无法正确驱动所述第一硬件设备,则与一服务器交互,从服务器获取一个或多个文件,并利用从服务器获取的文件生成并保存能够正确驱动所述第一硬件设备的驱动文件备份集合,实现驱动的正确备份,同时也使得备份的驱动文件集合在后续使用时能够保证硬件的正常工作,提高了硬件驱动备份的正确率。
具体实施方式
本发明实施例的驱动备份方法、装置及驱动还原方法、装置中,在驱动备份过程中根据操作系统中硬件的运行状况来决定该硬件的驱动的备份方式,提高硬件驱动备份的正确率。
本发明实施例的驱动备份方法如图1所示,包括:
步骤11,获取操作系统中存储的待备份驱动的第一硬件设备的原始驱动文件集合;
步骤12,判断原始驱动文件集合是否能正确驱动第一硬件设备,获取一判断结果;
步骤13,在判断结果指示原始驱动文件集合不能正确驱动第一硬件设备时,与服务器交互,并利用从服务器得到的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份集合。
在本发明的具体实施例中,得到操作系统中存储的原始驱动文件集合后,并不是直接将其作为备份进行保存,而是进一步判断该原始驱动文件集合是否能正确驱动第一硬件设备,如果无法正确驱动第一硬件设备,则与一服务器交互,从服务器获取一个或多个文件,并利用从服务器获取的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份集合,实现驱动的正确备份,同时也使得备份的驱动文件集合在后续使用时能够保证硬件的正常工作。
在本发明的具体实施例中,首先需要获取操作系统中存储的待备份驱动的第一硬件设备的原始驱动文件集合,下面对获取方式详细说明如下。
在Windows7操作系统下,设备管理器中记录了所有的硬件设备,而每一个硬件设备都有其属性信息,在属性信息中包括驱动程序项目,在驱动程序项目下有一驱动程序详细信息的子项目,该子项目记录有该硬件设备的组成驱动文件集合的所有驱动程序文件的保存位置。
基于以上的描述可以发现,在操作系统中都记录了硬件设备的驱动程序文件的保存位置,因此,在本发明的具体实施例中,即可通过上述的方式得到驱动程序文件的保存位置,进而获取硬件设备的原始驱动文件集合。
在获取硬件设备的原始驱动文件集合之后,与现有技术不同的是,本发明的具体实施例中,并不会直接保存备份该原始驱动文件集合,而是判断原始驱动文件集合是否能正确驱动第一硬件设备,并根据判断结果决定后续如何备份。
在本发明的具体实施例中,根据原始驱动文件集合判断是否能正确驱动第一硬件设备可以采用多种方式来实现,分别说明如下。
<方式一>
众所周知,在硬件设备的驱动安装包安装完成之后,就会在操作系统的预定位置生成对应的文件,以实现对硬件设备的驱动,这些文件的数量、类型、名称等都是确定的,因此,可以预先记录硬件设备正常工作时,操作系统中的驱动文件的文件信息,然后比较原始驱动文件集合的文件信息与预先记录的文件信息的一致性,在二者一致时,可以认为原始驱动文件集合正确驱动第一硬件设备,否则应该认为原始驱动文件集合无法正确驱动第一硬件设备。
因此,在实现方式一中,判断原始驱动文件集合是否能正确驱动第一硬件设备,获取一判断结果具体包括:
获取原始驱动文件集合的第一文件信息;
判断原始驱动文件集合的第一文件信息与第二文件信息是否一致,获取判断结果;
在本发明具体实施例中,驱动文件集合的文件信息是指如下信息中的一个或多个:
驱动文件集合中的文件数量;
驱动文件集合中的文件的位置;
驱动文件集合中的文件的大小信息;
驱动文件集合中的文件的名称等。
当然,文件信息的种类越多,则判断结果越准确。
同时应当理解的是,上述的文件信息仅仅是举例说明,本发明实施例中的文件信息并不限于以上的举例。
第二文件信息为预先记录的能正确驱动第一硬件设备的驱动文件集合的文件信息,在第一文件信息和第二文件信息一致时,判断结果指示原始驱动文件集合能正确驱动第一硬件设备,否则判断结果指示原始驱动文件集合不能正确驱动第一硬件设备。
如当原始驱动文件集合缺少一个或多个文件时,此时必然无法正确驱动硬件设备,则此时文件数量信息不正确,则可以判断出原始驱动文件集合不能正确驱动第一硬件设备;
又如原始驱动文件集合中包括一个A文件,位于INF、System以及System32之外的文件夹,虽然文件数量、文件名称等正确,但该文件的位置不正确,则原始驱动文件集合由于其位置错误,因此也不能正确驱动第一硬件设备;
<方式二>
在方式一中,文件信息是不同于文件内容的一些表面特征信息,可以判断出绝大部分的原始驱动文件集合无法正确驱动第一硬件设备的情况,相对于现有技术,可以降低驱动程序备份的出错率。
但是,当原始驱动文件集合中的某一个文件中的某一个非常小的部分被更改,也会导致原始驱动文件集合不能正确驱动第一硬件设备,但此时文件信息都相同,文件也不缺少、名称也正确、文件大小、位置也对,因此上述的文件信息比较方式并不准确判断,但该不准确判断是相对而言,其相对于现有技术而言,还是能够发现部分的驱动错误的情况,因此相对现有技术是能够提高驱动程序备份的准确率的。
但为了进一步提高驱动程序备份的正确率,本发明的具体实施例中,在实现方式二中,判断原始驱动文件集合是否能正确驱动第一硬件设备,获取一判断结果具体包括:
根据原始驱动文件集合的文件内容计算一第一校验码;
判断第一校验码与第二校验码是否一致,获取判断结果;
第二校验码为预先根据能正确驱动第一硬件设备的驱动文件集合的文件内容计算得到的校验码;在第一校验码和第二校验码一致时,判断结果指示原始驱动文件集合能正确驱动第一硬件设备,否则判断结果指示原始驱动文件集合不能正确驱动第一硬件设备。
<方式三>
在方式二中,每次都需要计算一校验码,这个过程可能需要耗费一定的时间,但有可能该计算最后发现二者是一致的,因此为了如何减小校验码计算带来的计算资源的消费,而又保证判断准确性,在本发明的具体实施例中,提供了方式三,其结合方式一和方式二来实现,在实现方式三中,判断原始驱动文件集合是否能正确驱动第一硬件设备,获取一判断结果具体包括:
获取原始驱动文件集合的第一文件信息;
判断原始驱动文件集合的第一文件信息与第二文件信息是否一致,如果不一致,则得到指示原始驱动文件集合能正确驱动第一硬件设备的判断结果,否则进入下一步骤;
根据原始驱动文件集合的文件内容计算一第一校验码;
判断第一校验码与第二校验码是否一致,如果不一致,得到指示原始驱动文件集合不能正确驱动第一硬件设备的判断结果,否则得到指示原始驱动文件集合能正确驱动第一硬件设备的判断结果;
第二文件信息为预先记录的能正确驱动第一硬件设备的驱动文件集合的文件信息,第二校验码为预先根据能正确驱动第一硬件设备的驱动文件集合的文件内容计算得到的校验码。
上述的方式三中,预先通过文件信息这种计算资源消耗较小的方式来进行初步判断,只有在初步判断无法判断出的时候才选择校验码验证方式,相对于方式二而言,既降低了校验码计算带来的计算资源的消费,而又保证了判断准确性。
<方式四>
上述的3种方式都是通过原始驱动文件集合和预先记录的能正确驱动第一硬件设备的驱动文件集合来判断原始驱动文件集合是否能够正确驱动第一硬件设备,但应当理解的是,本发明实施例也可以直接从操作系统的设备管理器中记录的信息来判断原始驱动文件集合是否能够正确驱动第一硬件设备,以Windows7操作系统举例说明如下。
在Windows7操作系统下,设备管理器中记录了所有的硬件设备,而每一个硬件设备都有其属性信息,在属性信息中包括驱动程序项目,在驱动程序项目下有一“常规”的子项目,该子项目就记录有该硬件设备是否工作正常的状态。当然,硬件设备工作不正常有可能是硬件本身的原因,也可能是驱动的原因,但是,只要在硬件设备工作不正常时就判断原始驱动文件集合不能够正确驱动第一硬件设备,并从服务器来获取文件得到能够正确驱动第一硬件设备的驱动文件集合,也可以降低由于驱动问题带来的备份错误率。
通过上述的方式得到指示原始驱动文件集合是否能正确驱动第一硬件设备的判断结果之后,如果原始驱动文件集合不能正确驱动第一硬件设备,则需要与服务器交互,并利用从服务器得到的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份集合,在本发明的具体实施例子中也可以利用多种方式来实现,具体说明如下。
<方式一>
在方式一中,采用比较直接的方式,直接从服务器下载对应的设备驱动的安装包,并通过该安装包直接生成并保存能够正确驱动第一硬件设备的驱动文件备份。
这种情况下,与服务器交互,并利用从服务器得到的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份具体包括:
向服务器发送第一硬件设备的硬件描述信息及环境信息;
接收服务器根据硬件描述信息及环境信息从数据库中选择并发送的设备驱动安装包;
根据设备驱动安装包生成并保存第一硬件设备的驱动文件备份。
对于硬件描述信息,可以从设备管理器得到,在此不详细描述。
硬件设备的驱动安装包不但与设备自身相关,还与操作系统环境等其他因素相关,如操作系统的信息(操作系统版本,语言,32位或者64位)、设备的OEM方式也有关,比如台式机,笔记本可能也会提供不同的驱动,在此不一一列举,只需要将当前操作系统中影响驱动安装包选择的所有因素都作为环境信息发送到服务器端即可,服务器即可选择正确的驱动安装包。安装包可以是完整的驱动程序安装包,也可以是不完整的文件,以适应不同的网络传输环境来提高效率,服务器也可以根据用户端提供的文件信息等数据,自动生成适合不同硬软件环境的安装包来不断完善和更新服务器中现有的安装包数据库,实现服务器端智能的维护和管理。
<方式二>
在方式一中,由于需要下载第一硬件设备的设备驱动安装包,随着硬件设备功能的越来越强大,设备驱动安装包也越来越大,如目前显卡的驱动安装包少则几十兆,多则达到上百兆,在用户网络带宽有限的情况下下载如此大的驱动安装包需要耗费大量的时间,为了降低下载时间,本发明实施例还提供了第二种方式。
之前已经提到,操作系统中已经存储了原始驱动文件集合,而如果原始驱动安装包正确的情况下,原始驱动文件集合无法正确驱动第一硬件设备的原因最大的可能是在使用过程中文件被删除或者文件被修改等原因,因此,对于这种情况下,只需要找到被删除或者被修改的文件,使用正确的文件来补充或替换原始驱动文件集合中的文件即可得到能够正确驱动第一硬件设备的驱动文件备份。
这种情况下,与服务器交互,并利用从服务器得到的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份具体包括:
向服务器发送第一硬件设备的硬件描述信息以及环境信息;
接收服务器从预先保存的第一硬件设备的所有驱动文件集合中,根据环境信息选择的驱动文件集合中的文件的文件列表以及文件校验信息;
根据原始驱动文件集合中的文件的文件校验信息以及服务器返回的文件校验消息,确定文件列表中需要下载的文件;
从服务器下载确定需要下载的文件;
利用下载的文件更新原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
在本发明的具体实施例中,服务器预先保存该第一硬件设备所有的对应于不同环境的驱动文件集合,服务器在接收到第一硬件设备的硬件描述信息以及环境信息之后即可从硬件设备的驱动文件集合中确定对应的驱动文件集合,并将该驱动文件集合中的文件列表以及校验信息一起返回客户端,客户端根据原始驱动文件集合中的文件的校验码,与服务器返回的校验信息比较即可确定原始驱动文件集合中缺少的文件以及被修改的文件,这种情况下,客户端即可向服务器端请求这些文件,并拷贝到原始驱动文件集合中,实现文件的补充或替换,进而得到能够正确驱动第一硬件设备的驱动文件备份集合。
这种方式下,仅仅需要从服务器端下载那些被破坏或者删除的文件,而不需要下载整个设备驱动安装包,大大减小了数据的下载量,节约了备份时间。
<方式三>
在方式二中,通过与服务器交互来确定需要下载的文件,但本发明具体实施例中也可以是由客户端来确定,这种方式下与服务器交互,并利用从服务器得到的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份具体包括:
根据原始驱动文件集合的文件内容计算一第一校验码;
根据第一校验码与第二校验码来确定需要下载的文件;
从服务器下载确定需要下载的文件;
利用下载的文件更新原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
这种方式下,将确定需要下载的文件直接放在客户端来执行,减少了客户端和服务器端的交互。
当然,上述的方式三和方式四中,如果服务器中没有保存合适的驱动文件集合,则需要与方式一结合,接收服务器根据硬件描述信息及环境信息从数据库中选择并发送的设备驱动安装包,并根据设备驱动安装包生成并保存第一硬件设备的驱动文件备份。
下面结合图2,对本发明一种具体的实现驱动备份的方法说明如下,其包括:
步骤21,获取操作系统中待备份驱动的第一硬件设备的原始驱动文件集合;
步骤22,获取原始驱动文件集合的第一文件信息,并判断原始驱动文件集合的第一文件信息与第二文件信息是否一致,如果是进入步骤23,否则进入步骤25;第二文件信息为预先记录的能正确驱动第一硬件设备的驱动文件集合的文件信息;
步骤23,根据原始驱动文件集合的文件内容计算第一校验码,判断第一校验码与第二校验码是否一致,如果不一致,进入步骤24,否则进入步骤29;
步骤24,向服务器发送第一硬件设备的硬件描述信息以及环境信息;
步骤25,接收服务器从预先保存的第一硬件设备的所有驱动文件集合中,根据环境信息选择的驱动文件集合中的文件的文件列表以及文件校验信息;
步骤26,根据原始驱动文件集合中文件的文件校验信息以及服务器返回的文件校验消息,确定文件列表中需要下载的文件;
步骤27,从服务器下载确定需要下载的文件;
步骤28,利用下载的文件更新原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
步骤29,直接将原始驱动文件集合作为驱动文件备份集合保存。
当然,之前已经提到,对于某一些上市不久的硬件设备而言,厂商会不断发布新的驱动来解决之前驱动的问题,或者进一步提高硬件设备的性能,在这种情况下,本发明实施例中,在驱动备份时,还包括:
在判断结果指示原始驱动文件集合能正确驱动第一硬件设备时,判断是否存在版本高于原始驱动文件集合对应的第一版本的驱动;
在存在版本高于原始驱动文件集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动第一硬件设备,且版本高于第一版本的驱动文件集合进行备份;
在不存在版本高于原始驱动文件集合对应的第一版本的驱动,直接将原始驱动文件集合作为驱动文件备份集合保存。
本发明实施例的驱动备份装置如图3所示,包括:
获取模块,用于获取操作系统中存储的第一硬件设备的原始驱动文件集合;
判断模块,用于判断原始驱动文件集合是否能正确驱动第一硬件设备,获取一判断结果;
第一备份处理模块,用于在判断结果指示原始驱动文件集合不能正确驱动第一硬件设备时,与服务器交互,从服务器获取文件,并利用获取的文件生成并保存能够正确驱动第一硬件设备的驱动文件备份集合。
该驱动备份装置中,判断模块可以通过文件信息和/或校验信息来判断,判断模块可以通过文件信息来判断时具体包括:
第一获取单元,用于获取原始驱动文件集合的第一文件信息;
第一判断单元,用于判断原始驱动文件集合的第一文件信息与第二文件信息是否一致,获取判断结果;
第二文件信息为预先记录的能正确驱动第一硬件设备的驱动文件集合的文件信息,在第一文件信息和第二文件信息一致时,判断结果指示原始驱动文件集合能正确驱动第一硬件设备,否则判断结果指示原始驱动文件集合不能正确驱动第一硬件设备。
判断模块通过校验信息来判断时,具体包括:
第二获取单元,用于根据原始驱动文件集合的文件内容计算一第一校验码;
第二判断单元,用于判断第一校验码与第二校验码是否一致,获取判断结果;
第二校验码为预先根据能正确驱动第一硬件设备的驱动文件集合的文件内容计算得到的校验码;在第一校验码和第二校验码一致时,判断结果指示原始驱动文件集合能正确驱动第一硬件设备,否则判断结果指示原始驱动文件集合不能正确驱动第一硬件设备。
判断模块通过文件信息和校验信息来判断时具体包括:
第一获取单元,用于获取原始驱动文件集合的第一文件信息;
第一处理单元,用于判断原始驱动文件集合的第一文件信息与第二文件信息是否一致,如果不一致,则得到指示原始驱动文件集合能正确驱动第一硬件设备的判断结果,否则根据原始驱动文件集合的文件内容计算一第一校验码;
第二处理单元,用于判断第一校验码与第二校验码是否一致,如果不一致,得到指示原始驱动文件集合不能正确驱动第一硬件设备的判断结果,否则得到指示原始驱动文件集合能正确驱动第一硬件设备的判断结果;
第二文件信息为预先记录的能正确驱动第一硬件设备的驱动文件集合的文件信息,第二校验码为预先根据能正确驱动第一硬件设备的驱动文件集合的文件内容计算得到的校验码。
而第一备份处理模块可以通过直接备份驱动安装包的方式或者备份驱动文件的凡是来实现,备份驱动安装包的方式下具体包括:
发送单元,用于向服务器发送第一硬件设备的硬件描述信息及环境信息;
第一接收单元,用于接收服务器根据硬件描述信息及环境信息从数据库中选择并发送的设备驱动安装包;
第一备份处理单元,用于根据设备驱动安装包生成并保存第一硬件设备的驱动文件备份。
备份驱动文件的方式下第一备份处理模块具体包括:
发送单元,用于向服务器发送第一硬件设备的硬件描述信息以及环境信息;
第二接收单元,用于接收服务器从预先保存的第一硬件设备的所有驱动文件集合中,根据环境信息选择的驱动文件集合中的文件的文件列表以及文件校验信息;
确定单元,用于根据原始驱动文件集合中的文件的文件校验信息以及服务器返回的文件校验消息,确定文件列表中需要下载的文件;
下载单元,用于从服务器下载确定需要下载的文件;
第二备份处理单元,用于利用下载的文件更新原始驱动文件集合,并将更新后的驱动文件集合作为驱动文件备份保存。
当然,考虑到最新版本的问题,上述装置还包括:
版本判断模块,用于在判断结果指示原始驱动文件集合能正确驱动第一硬件设备时,判断是否存在版本高于原始驱动文件集合对应的第一版本的驱动;
第二备份处理模块,用于在存在版本高于原始驱动文件集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动第一硬件设备,且版本高于第一版本的驱动文件集合进行备份;
第三备份处理模块,用于在不存在版本高于原始驱动文件集合对应的第一版本的驱动,直接将原始驱动文件集合作为驱动文件备份集合保存。
本发明实施例还提供一种驱动还原方法,包括:
获取步骤,获取上述的任意驱动备份方法得到的驱动文件备份集合;
还原步骤,利用驱动文件备份集合进行驱动还原。
获取步骤和还原步骤之间还包括:
判断是否存在版本高于驱动文件备份集合对应的第一版本的驱动;
在存在版本高于驱动文件备份集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动第一硬件设备,且版本高于第一版本的驱动文件集合进行驱动还原,否则进入还原步骤。
本发明实施例还提供一种驱动还原装置,包括:
获取模块,用于获取上述任意的驱动备份装置得到的驱动文件备份集合;
第一还原模块,用于利用驱动文件备份集合进行驱动还原。
上述的驱动还原装置,其中,还包括:
版本判断模块,用于判断是否存在版本高于驱动文件备份集合对应的第一版本的驱动;
第二还原模块,用于在存在版本高于驱动文件备份集合对应的第一版本的驱动,与服务器交互,从服务器获取能够正确驱动第一硬件设备,且版本高于第一版本的驱动文件集合进行驱动还原,否则触发第一还原模块。
下面进一步以一个实际的例子对本申请的一个完整的驱动备份和还原过程进行说明。如图4所示,其中的备份过程中,当检测到用户指示自动备份开始后,客户端首先枚举当前系统设备列表,确定需要进行驱动备份的所有硬件设备列表。
在确定需要进行驱动备份的所有硬件设备列表,对其中的每一个硬件设备都进行当前驱动完整性的判断,判断驱动是否完整,是否可以进行备份。
当驱动完整可以进行备份时,则通过解释Inf文件来备份驱动。
INF文件是设备信息文件,是硬件设备制造商发布其驱动程序推出的一种文件格式,是Windows操作系统下用来描述设备或文件等数据信息的文件。其中,INF文件中的SourceDiskFiles节记录了驱动程序文件列表及被安装的位置,通过解析该文件即可定为驱动程序文件列表及其存储位置。
当驱动不完整无法进行备份时,则通过从服务器下载驱动安装包或者文件来实现。
如图5所示,备份过程结束之后,在某一个时刻,当检测到用户指示自动还原驱动开始后,客户端通过设置syspref.ini或者注册表的方式,让操作系统自动安装驱动。
操作系统会调用备份的驱动来实现驱动的自动恢复。
当然,在本发明的具体实施例中,该服务器是一个云服务器,该云服务器统一由服务提供商假设,与客户端之间通过移动网络或有线网络连接。
在服务器端预先保存有硬件针对不同操作系统、不同安装环境下的驱动程序安装包和/或驱动文件集合,根据不同的用户需求或者网络传输环境为用户提供驱动程序安装包或驱动文件集合中的文件。
同时,云服务器还能够根据客户端提交的数据来为用户智能选择下载量最小或驱动版本最新的数据,来满足用户需求。
同时,云服务器在某一次服务过程中发现服务器端没有合适的驱动程序安装包或驱动文件集合时,也会利用一定的策略从硬件官方网站来获取合适的驱动程序安装包或驱动文件集合,来完善服务器中的驱动相关数据,使得处理下一次类似问题时能够为用户提供服务,实现服务器端智能的维护和管理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。