一种不依赖操作系统更新软件数据的计算机系统及方法

文档序号:6648287阅读:160来源:国知局
专利名称:一种不依赖操作系统更新软件数据的计算机系统及方法
技术领域
本发明涉及计算机应用领域,特别是涉及一种不依赖于操作系统的更新软件数据的计算机系统及在该计算机系统上更新软件数据的方法。
背景技术
目前,计算机技术已经广泛的应用于人们社会生活的各个领域,已经成为人们社会生活不可或缺的一部分,人们对计算机的依赖越来越大,同时对计算机的管理、维护、自更新的需求也越来越高。不仅限于企业用户,个人计算机用户也希望能够简单方便的管理维护计算机,具备较高计算机管理能力。在众多的计算机管理问题中,人们最常遇到的技术问题是针对计算机的软件的管理和维护问题,而对于目前的主流操作系统(OSoperation system)-Windows系列操作系统和Unix/Linux操作系统来说,软件可以包括随机驱动程序、升级软件、BIOS image,随机手册,维护软件等等。而软件的维护和管理则是令人们比较头痛的一个问题。根据系统硬件的不同,操作系统还可能需要即时更新这些不同的软件,以保证这些软件保持最新和最有效的版本,而由于某些用户误操作或硬件异常情况,也可能导致现有软件被破坏,特别是在操作系统本身被破坏或需要升级安装时,可能需要原有软件的支持。
目前,提供系统常用的软件存储更新的方法主要有两种(1)出厂时提供随机软件的安装软盘或光盘,这样在需要使用软件时,用户可以插入光盘或软盘执行操作。
该方法的缺陷是存储载体易遗失。在需要随机光盘或软盘时,这些光盘或软盘往往已经难于找到。同时,其也不能应对软件的更新需求。在操作系统升级、硬件升级、或硬件驱动升级等系统状态变化的情况下,旧的软件可能将失去实际意义,用户可能需要新的高效率软件支持。但是该方法不支持软件的存储更新需求。
(2)另外一种方法是从网络下载软件更新程序。用户在需要安装或更新软件时,从供应商指定的网址下载所需的最新软件。该方法是目前常用的一种更新软件获取方法,但是该方法一般是在操作系统之上完成,其主要原因源于远程网络下载需要的网络支持功能,一般在操作系统之上才能够提供,而传统通用输入输出系统的基本功能不支持网络。
该方法的缺陷是需要具备网络功能的操作系统支持才能完成功能,在本机操作系统网络功能故障或应对操作系统重装的应用场景时,该方法不能适用。由此可见,该方法对运行环境要求较高,不能应对较为恶劣情况下的软件安装及使用要求。

发明内容
本发明的目的在于提供一种在EFI BIOS上实现不依赖操作系统更新软件数据的计算机系统及方法。其能够适用于各种复杂的需求情况,包括在操作系统尚未安装或者崩溃的时候也可以适用,只需利用计算机自身资源即可完成软件数据更新。
为达到上述目的,本发明提供了一种不依赖操作系统更新软件数据的计算机系统,包括硬件和软件,硬件中包括主板,中央处理器,内存,硬盘及外设,主板和中央处理器分别为支持EFI规范的主板和中央处理器,所述软件包括随机携带的软件,触发管理所述软件事件的EFI软件管理器触发模块,更新所述软件的EFI软件管理器模块以及将计算机系统连接到远程服务器的网络连接功能模块。
所述软件可以为计算机随机携带的公用软件,如驱动程序文件,联机手册文件,BIOS镜像文件,在线服务文件中的一个或者多个支持安全加密检验的EFI FV压缩文件。
所述的软件存储于BIOS ROM的剩余空间,或者主机板上的扩展BIOS,或者具有主保护区域硬盘,或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中。
所述的EFI软件管理器模块包括更新所述软件的软件更新模块和将软件拷贝到另外位置的软件文件拷贝模块。
同时,本发明还提供了一种不依赖操作系统更新软件数据的方法,包括下列步骤
步骤一计算机上电,在EFI BIOS自检完成后,运行EFI软件管理器触发模块(22),用户选择直接进入启动操作系统阶段;或者,启动进入EFI软件管理器(21);步骤二EFI软件管理器显示操作界面,启动网络连接功能模块,建立网络连接;步骤三启动软件更新模块,判断本地软件是否有可更新的版本,显示可更新文件列表,用户更新选择需要更新的文件,下载更新软件;步骤四关闭网络连接,结束本次更新,返回软件管理器。
上述方法中还可以包括下列步骤步骤a)预先设置整理需要随机存储的软件;步骤b)利用EFI的压缩功能,将需要存储于BIOS ROM的剩余空间,或者主机板上的扩展option ROM中的软件压缩形成独立的压缩文件;步骤c)将所述压缩文件打包形成独立的EFI FV文件,存储于BIOSROM的剩余空间,或者主机板上的扩展option ROM;步骤d)将其它的软件直接加密存储在具有保护区域硬盘,或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中。
所述更新软件可以是为自动更新进入该管理软件后,即主动判断指定的网络位置的软件有否更新,发现软件具备更新状况自动进行软件升级;所述更新软件为手动更新将显示当前具有升级版本的软件列表,用户手工选择需要更新的软件。
所述步骤二包括通过软件文件拷贝模块将存储在存储器中的软件拷贝到用户指定的存储载体上。
本发明的有益效果是本发明有效解决其它相关实现方法的弊端,实现计算机随机存储公用程序,而且存储位置安全可靠,并增加灵活的存储部署方式;其充分利用EFI扩展功能特性,提供EFI支持的软件动态更新功能,满足随机软件动态更新的高级应用需求;本发明的方法在EFI BIOS层面即可实现,特别适合于与操作系统独立的操作方法。本发明可以提供给系统非常好的可维护性能和易用性能,降低厂商维护成本,提供用户可用性,具有较高的实用价值。


图1是本发明的计算机系统软件架构图;图2是本发明的软件存储示意图;图3是本发明的软件数据更新流程图;图4是本发明的软件数据更新远程服务器工作流程图;图5是本发明的EFI软件管理器软件更新界面示意图;图6是本发明的EFI软件管理器文件拷贝界面示意图;图7是本发明支持的EFI BIOS存储布局图;图8是Fv_data的单独Firmware卷格式示意图;图9是对Fv_data卷的读访问操作流程图。
具体实施例方式
下面结合附图进一步详细说明本发明。
首先,为详细说明本发明,下面先说明EFI技术本发明将涉及可扩展固件接口(EFI)技术,可扩展固件接口(ExtensibleFirmware Interface,EFI)是1999年出现的用以取代沿用多年的基本输入输出系统(BIOS)的新一代接口程序,关于可扩展固件接口的介绍,详见UEFI论坛关于EFI技术的介绍http://www.UEFI.org。EFI介于硬件设备以及操作系统(比如Windows或者Linux)之间。与传统的BIOS不同,EFI使用全球最广泛的高级语言C语言进行编写,其提供了既具有传统BIOS的功能又有优于传统BIOS的扩展功能,在设计机制和架构上也有别于传统BIOS的实现,是下一代BIOS接口规范,这就意味着有更多的工程师可以参与EFI的开发工作,添加许多更有价值的功能。
EFI具备的基本功能为硬件平台初始化;支持启动操作系统;脱离操作系统的平台管理工具。
EFI的工作模式可以简单归纳为启动系统,标准固件平台初始化,接着从加载EFI驱动程序库以及及执行相关程序,在EFI系统启动菜单中选取所要进入的系统并向EFI提交启动引导代码,正常的话将进入系统,否则将中止启动服务并返回EFI系统启动菜单。工程师们可以按照不同的需要为EFI增加新的功能,诸如更加详细实用的诊断功能、自我配置程序、列出系统可能发生的故障等等。
如图1-9所示,本发明的不依赖操作系统更新软件数据的计算机系统,是在EFI BIOS上实现的,其包括硬件和软件,硬件包括主板,中央处理器(CPU),内存,硬盘及外设。
主板和CPU分别为支持EFI规范的主板和CPU。
如图1所示,所述软件包括EFI FIRMWARE层1,EFI应用层2和操作系统层3。
所述的EFI FIRMWARE层包括网络连接功能模块11。
所述的EFI应用层包括EFI软件管理器触发模块22,EFI软件管理器模块21。
EFI软件管理器触发模块22在EFI BIOS自检完成后,在Firmware启动过程中,在调用操作系统的引导程序之前,运行EFI软件管理器触发模块22,该模块将在显示器上给用户提示按下特定功能键(如F9)可以启动EFI软件管理器模块21,如果用户在T等待时间内按下特定功能键,将启动软件管理器模块21,否则将直接进入操作系统启动。
EFI软件管理器模块21是一个运行在EFI上管理模块,包括以下功能模块1)软件更新模块。利用EFI的网络连接功能支持通过网络更新下载需要的软件的功能,满足软件更新用户需求。其包括自动更新和手动更新两种方式a)自动更新是指进入该管理软件后,主动判断指定的网络位置的软件有否可更新软件,发现软件具备更新状况自动进行软件升级;b)手动更新将显示当前具有升级版本的软件列表,允许用户手工选择需要更新的软件。
2)软件文件拷贝模块。如图6所示,软件文件拷贝模块将存储在BIOSROM中或者其他存储位置的软件拷贝到用户指定的存储载体上,特别是在计算机重装操作系统时,可能需要将软件到软盘以备安装操作系统时使用,在计算机操作系统尚未安装无法进行文件拷贝的情况下,利用EFI BIOS运行环境可以为用户解决很大的困难。
该模块还支持除文件删除、修改以外的其他基本文件操作功能,如列表文件,修改文件属性,改名等。
网络连接功能模块11在EFI BIOS自检完成后,通过EFI FIRMWARE的网络协议EFI TCP/IP模块,连接到软件可以更新的远程服务器,对远程服务器进行访问和控制,通常是连接到国际互联网(Internet),通过软件厂商的国际互联网网址下载更新软件。
在本实施例中,所述软件还包括有计算机随机携带的公用软件等软件4。
如图2所示,在计算机出厂之前,或者在升级计算机的EFI BIOS7的过程中,可以把软件管理器模块21,软件管理器触发模块22与网络连接功能模块11与EFI BIOS的原有功能模块集成一起,同时将计算机随机携带的公用软件4封装,并使用BIOS ROM7的烧写工具把它们写入到BIOS ROM7中,或者主机板上的扩展OPTION ROM5中,或者直接采用文件拷贝的方法存储到本地安全存储部件,如具有保护区域(Host protected Area,HPA)的硬盘6、外置安全存储部件,如通过USB接口连接的具有访问控制功能的USB盘上。
下面结合的可随时更新软件数据的计算机系统进一步说明其底层身份认证方法1)存储计算机随机携带的公用软件等软件,包括随机驱动程序文件,联机手册文件,BIOS镜像文件(BIOS image),在线服务文件等各种软件,其包括以下步骤11)预先设置整理需要随机存储的随机公用软件;12)利用EFI的压缩功能,将需要存储于BIOS ROM的剩余空间,或者主机板上的扩展option ROM中的软件压缩形成独立的压缩文件;EFI shell中就带有压缩及解压缩命令,用户可以直接调用使用,生成压缩文件的后缀名不作限定,命令如下EfiCompress Infile OutfileEfiDecompress Infile Outfile
其核心是用一个固定的压缩及解压缩算法,将指定输入文件进行压缩,并输出到新的文件名中,其直接利用EFI压缩功能,不用再另行编写代码,增加附加存储空间。
13)将所述压缩文件打包形成独立的EFI FV文件,存储于BIOS ROM7的剩余空间,或者主机板上的扩展option ROM5;14)将其它的软件直接加密存储在具有保护区域硬盘6,或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中。
2)如图3所示,用户按下计算机的POWER ON按钮后,在EFI BIOS自检完成后,读写并运行EFI软件管理器触发模块22,在显示器上给用户提示按下特定功能键可以进入更新软件的信息,如果用户在T时间内不按下特定功能键,则直接进入启动操作系统阶段;否则,当用户按下特定功能键时,启动进入EFI软件管理器模块21;21)其中,对存储有EFI镜像文件和随机公用软件的读写包括如下过程211)将随机公用软件独立封装成标准格式的单独FV(FVFirmwareVolumn,相当于文件系统)文件,通过EFI提供的FV文件访问接口进行访问。
一个本发明支持的EFI BIOS的存储布局如图7所示,将公用软件独立封装成标准格式的单独FV文件Fv_data卷文件,增加的Fv_data卷文件存放在BIOS ROM的剩余空间内,其中的多个FV File子模块即为不同的公用软件数据文件。然后通过EFI提供的FV文件访问接口进行访问。
EFI提供的FV文件访问接口可以参照EFI Framework规范《IntelPlatform Innovation Framework for EFI Firmware Volume Specification》Version0.9 September 16,2003。
212)将公用软件独立封装成单独FV文件,然后通过EFI软件管理器21支持的接口进行访问。
图8是Fv_data的单独Firmware卷格式示意图。按照EFI规范定义,FV卷应该由多个文件Section组成,如图8,Fv_data卷由多个叶节点类型的Section(leaf Section)组成,每个Section有自己标准定义的Section Header,接下来的部分应该是Section data(例如可以是压缩的文件数据),本发明的格式将Section data通过“预定义的加密算法”进行了加密,并封装了文件头(例如但不局限于附加支持安全加密CRC校验文件头)。通过EFI标准FV写指令接口实现将预先合成的上述格式的FV_data文件写入BIOS ROM存储空间内。
本发明所提供的读写访问接口是在EFI BIOS的FVFirmware Volume标准访问接口上的扩充,其扩充接口为这些软件数据的访问提供了更优及更安全的访问。图8中“自定义Header”在标准FV文件定义中是不存在的,可以是通过加密算法计算的文件头数据.这样,只有本发明的方法提供的公用软件管理器才能识别该公用软件FV格式,其它的通用访问形式由于不识别其特殊文件头设计,不能有效访问,从而达到对特有部分的安全保护设计。
本发明所提供的对FV_data卷的读访问操作流程图9所示a)系统首先定位FV_data卷,即FV_data文件系统;b)获得FV_data卷的下一个文件;c)获取FVFile Section,得到File Section Data部分的数据;d)分析c)得到的File Section Data部分的数据,获得自定义文件表头;e)比较表头中存储的文件名,是否为要读取的文件如果不是,则返回步骤b);f)如果是,则读取该文件的加密文件数据部分;g)根据预定义的加解密算法解密文件数据,得到解密的文件数据。
由此可见,只有实现该接口的本专利EFI软件管理器21才知道其设计格式,可以有效访问到存储在EFI BIOS软件数据。其它通用接口无法访问。
3)EFI软件管理器显示软件更新操作界面,如图5所示,所述的文件包括驱动程序,联机手册文件,BIOS镜像文件(BIOS image),在线服务文件等各种软件。
31)用户选择远程更新文件功能时,启动网络连接功能模块11,网络连接功能模块11首先判断EFI是否已经加载网络协议,如果没有加载,就加载所需的网络协议,如果发现EFI已经加载网络协议,则不需要加载网络协议,建立网络连接。
较佳地,本实施例采用基于安全保障的网络功能优化定制处理EFI的网络功能只是支持了网络协议的基本功能,限定用户访问网址为所述软件下载网址位置,禁止访其它网址位置,保证不受其它网址的安全威胁,同时不支持不必要的网络端口访问功能,关闭其它不必要的网络连接途径。该方法即可以很好的满足应用需求,又可以有效杜绝其它网络安全漏洞,直接针对计算机供货商的售后服务策略,有效提升了产品品质;32)启动软件更新模块,判断本地软件是否有可更新的版本,显示可更新文件列表,用户更新选择需要更新的文件,下载更新软件;可更新文件列表如表1所示表1

33)关闭网络连接,结束本次更新,返回EFI软件管理器21;4)如图6所示,用户选择文件拷贝时,启动软件文件拷贝模块,弹出窗口可以选择拷贝的位置,例如软驱或者移动U盘,用户选择后进行拷贝操作。
5)结束运行EFI软件管理器,返回后重新启动计算机。
如图4所示,远程服务器可以按以下步骤工作1)远程服务器启动;2)等待客户端建立网络连接;3)如果有客户端连接请求,则和客户端建立网络连接;4)和客户端比较软件的版本是否一致;5)将比较结果传送给客户端;6)是否得到客户端更新请求;7)如果是,则进行远程更新,然后进行远程更新;否则,直接关闭本次网络连接,返回步骤2)等待下一次客户端建立网络连接请求。
本发明是一种实用性和适用性较强的软件动态存储更新及下载方法,是在EFI BIOS层面上扩展实现的方法,它无需任何硬件支持,和计算机绑定集成,适合于操作系统尚未安装或崩溃的应用环境,是一种实用性较好的发明方法。其提供稳定可靠的随机存储效果,无需任何光盘、软盘等外部存储载体,有效的保证了公用软件存储载体不易遗失的特点。采用与主机硬件绑定的部署方法,大大提升了主机整体品牌形象。无需操作系统支持的安全远程网络软件更新功能,充分利用EFI的网络功能,并对该网络功能进行优化定制处理,限制访问固定网络位置,并且不支持不必要的网络端口访问,使得该网络功能具备高于操作系统之上实现的安全性。对系统厂商而言,该发明可以有效提高系统的自维护性,增强系统的强壮性,作为一种系统维护有效手段,可以有效的减少上门维修的次数,降低售后服务成本。并可以直接针对计算机供货商的售后服务策略,有效提升了产品品质。
权利要求
1.一种不依赖操作系统更新软件数据的计算机系统,包括硬件和软件,硬件中包括主板,中央处理器,内存,硬盘及外设,主板和中央处理器分别为支持EFI规范的主板和中央处理器,所述软件包括软件(4),其特征在于所述软件还包括触发管理所述软件事件的EFI软件管理器触发模块(22);更新所述软件的EFI软件管理器模块(21);以及将计算机系统连接到远程服务器的网络连接功能模块(11)。
2.根据权利要求1所述的更新软件数据的计算机系统,其特征在于,所述软件为计算机随机携带的公用软件。
3.根据权利要求2所述的更新软件数据的计算机系统,其特征在于,所述的公用软件为驱动程序文件,联机手册文件,BIOS镜像文件,在线服务文件中的一个或者多个文件。
4.根据权利要求3所述的更新软件数据的计算机系统,其特征在于,所述软件可以是存储于BIOS ROM(7)的剩余空间或者主机板上的扩展OptionROM(5)里支持安全加密检验的EFI FV压缩文件,以及存储在保护区域硬盘(6)或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中的的加密文件。
5.根据权利要求4所述的更新软件数据计算机系统,其特征在于,所述的软件(4)存储于BIOS ROM(7)的剩余空间,或者主机板上的扩展OptionROM(5),或者具有保护区域硬盘(6),或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中。
6.根据权利要求5所述的更新软件数据的计算机系统,其特征在于,所述的EFI软件管理器模块(21)包括更新所述软件的软件更新模块和将软件拷贝到另外位置的软件文件拷贝模块。
7.一种不依赖操作系统更新软件数据的方法,其特征在于,包括下列步骤步骤一计算机上电,在EFI BIOS自检完成后,运行EFI软件管理器触发模块(22),用户选择直接进入启动操作系统阶段;或者,启动进入EFI软件管理器(21);步骤二EFI软件管理器(21)显示操作界面,启动网络连接功能模块(11),建立网络连接;步骤三启动软件更新模块,判断本地软件是否有可更新的版本,显示可更新文件列表,用户选择需要更新的文件,下载更新软件;步骤四关闭网络连接,结束本次更新,返回软件管理器(21)。
8.根据权利要求7所述的更新软件数据的方法,其特征在于,还包括下列步骤步骤a)预先设置整理需要随机存储的软件(4);步骤b)利用EFI的压缩功能,将需要存储于BIOS ROM(7)的剩余空间,或者主机板上的扩展option ROM中的软件(4)压缩形成独立的压缩文件;步骤c)将所述压缩文件打包形成独立的EFI FV文件,存储于BIOSROM(7)的剩余空间,或者主机板上的扩展option ROM(5);步骤d)将其它的软件直接加密存储在具有保护区域硬盘(6),或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中。
9.根据权利要求8所述的更新软件数据的方法,其特征在于,所述更新软件为自动更新进入该管理软件后,即主动判断指定的网络位置的软件有否更新,发现软件具备更新状况自动进行软件升级;
10.根据权利要求8所述的更新软件数据的方法,其特征在于,所述更新软件为手动更新将显示当前具有升级版本的软件列表,用户手工选择需要更新的软件。
11.根据权利要求9或10所述的更新软件数据的方法,其特征在于,所述步骤二包括通过软件文件拷贝模块将存储在存储器中的软件拷贝到用户指定的存储载体上。
12.根据权利要求10所述的更新软件数据的方法,其特征在于,所述步骤三包括以下步骤将存储于BIOS ROM(7)的剩余空间,或者主机板上的扩展option ROM(5)中的公用软件独立封装成附加支持安全加密检验的单独FV文件,通过EFI软件管理器(21)调用接口进行访问;直接加密存储在具有保护区域硬盘(6),或者通过USB接口连接的具有访问控制功能的USB盘中的一种或者多种存贮器中的公用软件也通过EFI软件管理器(21)调用接口进行访问。
全文摘要
一种不依赖操作系统更新软件数据的计算机系统及方法,包括硬件和软件,所述软件包括触发管理所述软件事件的EFI软件管理器触发模块(22),更新所述软件的EFI软件管理器模块(21)以及将计算机系统连接到远程服务器的网络连接功能模块(11)。用户开机并在EFI BIOS自检完成后,读写并运行EFI软件管理器触发模块(22),当用户按下功能键时,启动EFI软件管理器(21);EFI软件管理器(21)显示操作界面,通过网络连接功能模块(11)建立网络连接;启动软件更新模块判断本地软件是否更新,下载更新软件;关闭网络连接,返回软件管理器(21)。本发明能够适用于各种复杂的需求情况,只需利用计算机自身资源即可完成软件数据更新。
文档编号G06F9/445GK1936840SQ200510105390
公开日2007年3月28日 申请日期2005年9月23日 优先权日2005年9月23日
发明者张怡, 席振新, 周建, 田宏萍 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1