一种实现软件更新的方法及装置制造方法及图纸

技术编号:2918998 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种实现软件更新的方法,包括:通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备,计算机通过所建立的外部虚拟设备,向所述设备下载进行更新的升级软件,设备接收到进行更新的升级软件后,完成自动更新。此外,本发明专利技术还公开了一种实现软件更新的装置,包括:虚拟设备处理单元和存储单元。本发明专利技术所提供的方法及装置,能够降低开发成本,并提高用户体验。

【技术实现步骤摘要】

本专利技术涉及软件更新技术,尤其涉及一种实现软件更新的方法及装置
技术介绍
在计算机的外围设备(打印机、扫描仪等)以及需要通过计算机进行软件更新的其它设备,如照相机以及便携式媒体播放器(MP3、MP4等)等设备中,通常存储有完成该设备各项功能的软件系统。随着技术的发展以及应用的需要,这些存储在设备内部的软件系统通常需要进行更新,以使设备所具有的功能更丰富,性能更完善。目前,软件开发商在提供更新软件时,为了使用户能够独立对设备进行软件更新,所编制的更新软件除了包括对原始软件系统进行更新的升级软件本身以外,还需要包括指导用户进行更新的与用户交互的计算机界面软件,并需要建立该计算机界面软件与进行更新的软件本身的连接关系,该连接关系通常基于私有的客户端协议。用户在将设备与计算机连接后,使用更新软件对设备进行软件更新时,需要首先在计算机上运行更新软件,并看懂所运行的更新软件中计算机界面软件的提示内容,根据提示内容执行相应操作,更新软件根据用户操作将进行更新的升级软件复制到设备中,设备接收到进行更新的升级软件后,对设备中的原始软件系统进行自动更新。可见,现有技术中在进行设备软件更新时,软件开发商需要额外编制一套计算机界面软件,并且基于私有客户端协议的软件实现困难,可维护性差。对于用户来说,用户还需要学会怎样使用该计算机界面软件,然后才能完成设备软件的更新。因此,现有技术中的设备软件更新过程不仅增加了开发成本,而且降低了用户体验。
技术实现思路
有鉴于此,本专利技术一方面提供一种实现软件更新的方法,另一方面提供一种实现软件更新的装置,以便降低开发成本,并提高用户体验。本专利技术所提供的实现软件更新的方法,包括A、通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备;B、计算机通过所建立的外部虚拟设备,向所述设备下载进行更新的升级软件,设备接收到进行更新的升级软件后,完成自动更新。其中,所述进行更新的升级软件为按照将程序代码和程序数据分开存放的原则进行打包形成的升级软件包。其中,所述按照将程序代码和程序数据分开存储的原则进行打包为将程序代码和程序数据分别放入不同的文件中,并将程序代码的文件标识为读入内存的文件。其中,更新完成后,该方法进一步包括运行更新后的软件时,将程序代码的文件读入内存中,根据程序代码的运行需求调用内存外存储的程序数据。其中,所述外部虚拟设备包括用于表示外部虚拟设备信息的虚拟区域分配表,且虚拟区域分配表不占用实际的存储空间,所述虚拟区域分配表用于设备在与计算机进行通信时,当计算机通过标准协议读取设备的虚拟区域分配文件系统信息时,直接将虚拟区域分配表中的缺省信息提供给计算机。其中,所述虚拟区域分配表设置在所述设备的引导系统BOOT内。其中,所述虚拟区域分配表的缺省信息包括文件系统类型和用户定义的存储空间大小。其中,所述用户定义的存储空间大小为根据存放升级软件的大小确定的存储空间大小,或设备本身实际所允许的存储空间大小。其中,步骤A和步骤B之间进一步包括将设备与计算机连接,在计算机中产生代表设备的外部虚拟设备标识; 则步骤B中所述通过外部虚拟设备,向设备下载进行更新的升级软件具体包括用户将进行更新的升级软件向所显示的外部虚拟设备标识中进行复制;计算机按照标准协议向设备中下载数据,设备将来自计算机的数据中的升级软件数据写入设备内部的存储空间。较佳地,所述设备包括正常工作模式和更新模式;则所述将设备与计算机连接之前,进一步包括将设备切换到更新模式。其中,该方法进一步包括设备对来自计算机的数据中的控制命令数据进行虚拟处理。较佳地,所述设备将升级软件数据写入设备内部的存储空间之前,进一步包括对升级软件数据进行校验,若校验成功,则执行所述将升级软件数据写入设备内部的存储空间的操作;若校验失败,则结束更新流程较佳地,该方法进一步包括根据更新的结果,所述设备通过所述虚拟区域分配表将所述更新结果反馈给所述计算机,并在计算机中的外部虚拟设备标识内产生表示升级软件更新成功与否的文件名。其中,所述外部虚拟设备为虚拟U盘。本专利技术所提供的实现软件更新的装置,包括虚拟设备处理单元和存储单元,其中,虚拟设备处理单元,用于通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备,并通过所建立的外部虚拟设备接收进行更新的升级软件,将所接收的升级软件发送给存储单元;存储单元,用于存储虚拟设备处理单元发送过来的所述升级软件,完成自动更新。其中,所述虚拟设备处理单元包括虚拟设备建立模块和数据信息处理模块,其中,虚拟设备建立模块,用于通过建立虚拟区域分配表,将设备设置为计算机基于该标准协议可识别的外部虚拟设备,通过所建立的外部虚拟设备接收来自计算机的数据,将所接收的计算机数据发送给数据信息处理模块;数据信息处理模块,用于对所接收的计算机数据进行分析,若计算机数据为升级软件数据,则将升级软件数据发送给存储单元;若计算机数据为控制命令数据,则对该控制命令数据进行虚拟处理。较佳地,所述数据信息处理模块进一步用于根据所接收的升级软件数据,对升级软件进行校验,若校验成功,则执行所述将升级软件数据发送给存储单元的操作;若校验失败,则结束更新操作。较佳地,该装置进一步包括升级软件运行单元,用于运行更新后的升级软件,将升级软件中程序代码的文件读入内存中,根据程序代码的运行需求调用内存外存储的程序数据。从上述方案可以看出,本专利技术通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备,并通过所建立的外部虚拟设备,将进行更新的升级软件下载到设备中,由设备接收到进行更新的升级软件后,完成自动更新。从而使得软件开发商无需提供计算机界面软件,而只需把进行更新的升级软件本身提供给用户即可,不仅降低了开发商的成本,而且减少了因为计算机界面软件存在bug造成的风险。并且由于用户也无需再去学习如何使用计算机界面软件,而只需按照普通拷贝文件的处理方式,将该升级软件直接拖到外部虚拟设备标识中进行复制即可。因此,也提高了用户的体验。此外,由于无需提供配套计算机界面软件,从而使得在进行更新之前,无需在计算机上安装该计算机界面程序,可使用任何一台基于标准协议可识别该设备的计算机,完成更新操作。并且,由于采用不占用内存的虚拟区域分配表,使得虚拟区域分配表可以设置在现有的BOOT内,利用BOOT作为引导系统,而无需调用设备的主程序,使软件更新的过程不依赖于设备的主程序,简化了更新过程。最后,本专利技术中由于将升级软件按照将程序代码和程序数据分开存放的原则进行打包,并且更新后运行时将程序代码的文件读入内存中,根据程序代码的运行需求调用内存外存储的程序数据。从而降低了程序代码运行的空间,节约了成本。附图说明图1为本专利技术实现软件更新方法的示例性流程图;图2为本专利技术实现软件更新装置的示例性结构图;图3为本专利技术具体实施例中实现软件更新方法的流程图;图4为本专利技术具体实施例中一种升级软件的打包示意图;图5为本专利技术具体实施例中实现软件更新装置的结构图。具体实施例方式本专利技术的基本思想是通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备,计算机通过所建立的外部虚拟设备,向设备中下载进行更新的升级软件,设备接收到进行更新的升级软件本文档来自技高网...

【技术保护点】
一种实现软件更新的方法,其特征在于,该方法包括:A、通过建立虚拟区域分配表,将设备设置为计算机基于标准协议可识别的外部虚拟设备;B、计算机通过所建立的外部虚拟设备,向所述设备下载进行更新的升级软件,设备接收到进行更新的升级软 件后,完成自动更新。

【技术特征摘要】

【专利技术属性】
技术研发人员:张华刘勇谭帅
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1