一种基于透明计算的智能终端软件更新方法

文档序号:9667168阅读:279来源:国知局
一种基于透明计算的智能终端软件更新方法
【技术领域】
[0001]本发明涉及一种操作系统及软件的更新方法,尤其涉及一种基于透明计算的智能终端操作系统及软件的更新方法。
【背景技术】
[0002]智能终端因其体积小巧,功能多样,应用也越来越广泛,其应用日益深入用户的日常生活。同时,智能终端的操作系统及应用软件的更新换代速度也越来越快,用户为了获得新的应用功能,或者获得更好的用户体验,需要随时根据智能终端的操作系统及应用软件的版本更新情况,及时下载更新操作系统或应用软件。在现有技术中,智能终端的操作系统或应用软件更新过程一般需要经过从服务端下载完整更新升级包,再将该更新升级包部署至本地存储器,从而更新本地存储器中的操作系统或应用软件。现有的升级更新模式,存在更新升级时间长,并且需要占用大量存储空间的缺点。
[0003]透明计算是一种用户无需感知计算机操作系统、中间件、应用程序和通信网络的具体所在,只需根据自己的需求,通过网络从所使用的各种终端设备(包括固定、移动、以及家庭中的各类终端设备)中选择并使用相应服务(例如计算、电话、电视、上网和娱乐等)的计算模式。
[0004]基于透明计算的软件执行模式,将软件(操作系统视为一类特殊软件)划分为程序段和外部资源,其中程序段又包括只读部分和读写部分。如图1所示,基于透明计算的智能终端的软件部署结构包括底层的底层驱动和超级系统(Meta OS),以及运行在超级系统上的操作系统,该操作系统为一个实例操作系统,以及运行在实例操作系统上的应用软件。基于透明计算的智能终端,本地存储器中不存储软件,而是在用户需要运行软件时,直接从服务端下载软件的程序段并加载至内存中运行,即可实现软件的启动运行,在软件的运行过程中,根据软件对外部资源的需求,按需从服务端下载外部资源,供软件调用。由于闪存的读取速度与内存的读取速度相当,智能终端只将该程序的读写部分存储在内存中,而将程序的只读部分存储在闪存中,只读的外部资源也存储在闪存中,在程序运行中直接从闪存中读取需要数据,这种策略一方面降低了程序在运行过程中对内存存储容量的需求,另一方面也保证了程序能够流畅运行。并且,由于闪存具备长期存储数据的特征,因此,闪存中存储的程序只读部分和外部资源在程序运行时无需每次都从服务端下载,可直接从闪存中读取,降低了智能终端与服务端的通信频率,提高了智能终端的程序运行效率。但这也导致了需要根据服务端对操作系统或应用软件的升级情况,操作系统视为一种特殊的软件,对智能终端闪存中所存储的程序只读部分进行同步升级的问题。

【发明内容】

[0005]本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种简单、方便、对用户透明的基于透明计算的智能终端软件更新方法。
[0006]为解决上述技术问题,本发明提出的技术方案为:一种基于透明计算的智能终端软件更新方法,包括如下步骤:
51.智能终端获取软件的启动指令,判断本地闪存中是否存储有所述软件的只读部分,是则跳转到步骤S2,否则跳转到步骤S3 ;
52.所述智能终端向服务端询问所述软件是否有更新,是则更新闪存中所述软件的只读部分,并下载所述软件的读写部分,运行所述软件,完成所述软件的更新,否则直接调用闪存中的所述软件只读部分,并下载所述软件的读写部分,运行所述软件;
53.所述智能终端从服务端下载所述软件的只读部分和读写部分,并加载至本地存储器中,运行所述软件。
[0007]作为本发明的进一步改进,所述步骤S2中所述智能终端向服务端询问所述软件是否有更新的具体步骤包括:
S2.1.所述智能终端向服务端发送所述软件的软件名称和软件版本号;
S2.2.所述服务端根据所述软件名称获取存储在服务端的所述软件的程序包,并根据所述软件版本号判断所述软件是否有更新,并向智能终端返回判断结果。
[0008]作为本发明的进一步改进,还包括智能终端对外部资源更新的步骤S4,其具体步骤包括:
54.1.所述智能终端的操作系统或软件需要调用外部资源时,判断所述外部资源是否存储在本地闪存中,是则跳转到步骤S4.2 ;否则智能终端从服务端下载所述外部资源;
S4.2.所述智能终端向服务端询问所述外部资源是否有更新,是则从服务端下载所述外部资源,否则直接调用本地闪存中所存储的外部。
[0009]作为本发明的进一步改进,所述步骤S4.2中所述智能终端向服务端询问所述外部资源是否有更新的具体步骤包括:
S4.2.1.所述智能终端向服务端发送所述软件的软件名称和软件版本号;
54.2.2.所述服务端根据所述软件名称获取存储在服务端的所述软件的程序包,并根据所述软件版本号判断所述软件是否有更新,并向智能终端返回判断结果。
[0010]作为本发明的进一步改进,还包括智能终端对外围硬件设备驱动程序更新的步骤S5,其具体步骤包括:
55.1.所述智能终端需要启用某个外围硬件设备时,判断硬件设备的驱动程序是否存储在本地闪存中,是则跳转到步骤S5.2 ;否则智能终端从服务端下载所述驱动程序;
S5.2.所述智能终端向服务端询问所述驱动程序是否有更新,是则从服务端下载所述驱动程序,否则直接调用本地闪存中所存储的驱动程序。
[0011]作为本发明的进一步改进,所述步骤S5.2中所述智能终端向服务端询问所述驱动程序是否有更新的具体步骤包括:
S5.2.1.所述智能终端向服务端发送所述驱动程序的驱动名称和驱动版本号;
S5.2.2.所述服务端根据所述驱动名称获取存储在服务端的所述驱动程序的程序包,并根据所述驱动版本号判断所述驱动程序是否有更新,并向智能终端返回判断结果。
[0012]与现有技术相比,本发明的优点在于:本发明根据软件在运行过程中对软件代码、外部资源或驱动程序的使用需求,按需判断并更新当前需要更新的部分,整个更新过程对用户是透明的,具有算法简单、软件更新效率高等优点。
【附图说明】
[0013]图1为基于透明计算的智能终端软件部署结构示意图。
[0014]图2为本发明具体实施例的软件程序段更新流程示意图。
[0015]图3为本发明具体实施例的软件外部资源更新流程示意图。
[0016]图4为本发明具体实施例的外围设备驱动程序更新流程示意图。
【具体实施方式】
[0017]以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
[0018]如图2所示,本实施例一种基于透明计算的智能终端软件更新方法,包括如下步骤:S1.智能终端获取软件的启动指令,判断本地闪存中是否存储有软件的只读部分,是则跳转到步骤S2,否则跳转到步骤S3;S2.智能终端向服务端询问软件是否有更新,是则更新闪存中软件的只读部分,并下载软件的读写部分,运行该软件,完成软件的更新,否则直接调用闪存中的软件只读部分,并下载软件的读写部分,运行该软件;S3.智能终端从服务端下载软件的只读部分和读写部分,并加载至本地存储器中,运行该软件。在本实施例中,根据基于透明计算的智能终端软件运行特点,即软件程序段的只读部分存储在闪存中,软件程序段的读写部分存储在内存中,智能终端在加载完程序段后,即可启动运行软件,并在软件的运行过程中根据对外部资源的需求,动态的向服务端申请资源文件。在软件更新过程中,采用流式的更新方法,即首先只更新存储在闪存中的程序段的只读部分,程序段的读写部分直接从服务端下载并直接加载至内存中,启动运行该软件,并在软件的运行过程中,在软件提出外部资源需求时,再更新软件所需的外部资源。
[0019]在本实施例步骤S2中智能终端向服务端询问软件是否有更新的具体步骤包括:S2.1.智能终端向服务端发送软件的软件名称和软件版本号;S2.2
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1