一种更新数据的方法和装置的制作方法

文档序号:6561717阅读:124来源:国知局
专利名称:一种更新数据的方法和装置的制作方法
技术领域
本发明涉及通信技术领域,具体涉及一种更新数据的方法和装置。
背景技术
随着手机、机顶盒等终端的智能化水平的不断提高,手机和机顶盒等终端的功能也越来越强。终端的功能由以前出厂时的固定设置转变为用户可以根据自身的需求进行调整。如针对系统中存在的缺陷,用户可以通过网络下载新的软件包来升级终端;也可以通过生产厂商提供给用户使用的具备特定功能的软件包,在不改变终端系统硬件配置的情况下动态扩展系统的功能。
用户在网络中下载新的应用软件来升级终端,由于终端的升级通常是对终端的系统的一个特定部分进行升级,而不是升级整个系统,因此终端的系统被细分为不同的功能分区。升级终端系统中的某个功能分区时,只对该功能分区进行数据传输,不会对其它分区的数据造成影响。系统可分为启动加载区、开机动画区、系统内核区及系统缺省设置区等功能分区。
现有的终端在生产时,为终端的系统分配好一个固定大小的可用空间,并为系统区中的各个功能分区分配好独立并固定的可用空间。考虑到以后系统升级和功能扩展的需要,分配给各功能分区的可用空间的大小一般都比实际需要的可用空间要大。因此,现有技术主要存在以下两个缺点1、系统各功能分区分配的可用空间相对固定,但是终端对将来的系统升级和功能扩展所需的可用空间的大小并不明确,导致各个功能分区的可用空间的大小分配不准确,不能很好地满足升级需求。
2、分配给各功能分区的可用空间的大小一般都比实际需要的可用空间要大,都预留有供升级使用的可用空间,但这导致了可用空间的使用率不高。

发明内容
本发明要解决的技术问题是提供一种更新数据的方法和装置,该方法及装置可以满足分区对可用空间的需求,提高升级成功率。
为解决上述技术问题,本发明提供如下技术方案一种更新数据的方法,包括判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若能够容纳所需更新的数据,则对需要更新数据的分区进行数据更新;若不能够容纳所需更新的数据,则扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;并对需要更新数据的分区进行数据更新。
可选地,所述扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据的过程包括判断需要更新数据的分区的可用空间与其相邻的分区的可用空间之和是否能够容纳所需更新的数据;如果是,则缩小所述相邻的分区的可用空间,扩大需要更新数据的分区的可用空间到能容纳所需更新的数据。
可选地,所述缩小所述相邻的分区的可用空间,扩大需要更新数据的分区的可用空间到能容纳所需更新的数据的过程包括判断需要更新数据的分区的可用空间与其前相邻分区的可用空间之和能否容纳所需更新的数据;如果能容纳所需更新的数据,则缩小所述需要更新的数据的分区前相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;如果不能容纳所需更新的数据,则判断需要更新数据的分区的可用空间与其后相邻的区的可用空间之和是否能容纳所需更新的数据;如果是,则缩小该需要更新数据的分区的其后相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;如果否,则将需要更新数据的分区之前相邻的分区的可用空间全部分配给所述需要更新数据的分区,并缩小需要更新数据分区后相邻分区的可用空间来扩大所述需要更新数据的分区的可用空间到能容纳所需更新的数据。
可选地,判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据之前,进一步包括获取升级策略文件;比较升级策略文件和当前系统信息确定需要更新数据的分区。
可选地,所述系统信息包括分区信息表;所述扩大需要更新的分区的可用空间到能容纳所需更新的数据之后进一步包括记录所述扩大后的分区的分区信息到分区信息表。
可选地,所述升级策略文件包括所需更新的数据需要占用的空间;所述判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据包括比较当前需要更新数据的分区的可用空间与所需更新的数据需要占用的空间;若所述数据所需占用的空间不大于所述可用空间则判断所述可用空间不能够容纳所需更新的数据;若所述数据所需占用的空间大于所述可用空间,则判断所述可用空间不能容纳所需更新的数据。
可选地,所述对需要更新数据的分区进行数据更新包括将需要更新数据的分区记录到需要更新数据的分区的列表中;按照所述需要更新数据的分区的列表,下载需要更新的数据到对应的分区。
本发明提供的一种更新数据的装置,包括判断单元,分区空间调整单元和数据更新单元;判断单元,用于判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若能够容纳所需更新的数据,则通知数据更新单元对需要更新的分区进行数据更新;若不能容纳所需更新的数据,则通知分区调整单元调整分区;分区调整单元,用于扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;当调整完成后通知数据更新单元对需要更新的分区进行数据更新;数据更新单元,用于对需要更新的分区进行数据更新。
可选地,所述数据更新单元包括记录单元,用于将需要更新数据的分区记录到需要更新数据的分区的列表中;下载单元,按照所述需要更新数据的分区的列表,下载需要更新的数据到对应的分区。
可选地,所述装置还包括获取单元,用于获取升级策略文件;更新分区选择单元,比较升级策略文件和终端本地的信息确定需要更新数据的分区。
由以上技术方案可以看出,本发明具有以下优点本发明通过判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;当不能够容纳所需更新的数据,则扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;并对所述需要更新数据的分区进行数据更新,解决了现有技术中,当需要更新数据的分区可用空间无法容纳所需更新的数据时,导致升级失败的问题,在分区更新数据时,既满足了分区对可用空间的需求,提高了升级成功的比率,同时又提高了分区可用空间的使用率,节省更多的存储空间。


图1是本发明实施例一更新数据的方法的的流程图;图2是本发明实施例二更新数据的方法的的流程图;图3是是本发明缩小相邻分区空间扩大更新数据分区空间的流程图;图4(a)~(c)是举例对本发明进行分区调整前后的分区图;图5是本发明实施例三更新数据的装置的结构图;图6是本发明实施例四更新数据的装置的结构图。
具体实施例方式
本发明提供一种更新数据的方法及装置,应用与通信技术领域,其基本思想是是在需要更新数据的分区的可用空间不够时,扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据,在调整后的对该需要更新数据的分区进行数据更新。这样在分区更新数据时,既满足了分区对可用空间的需求提高了升级成功的比率,同时又提高了分区可用空间的使用率,节省更多的存储空间。
下面对本发明提供的一种更新数据的方法及装置进行详细描述。
实施例一,一种更新数据的方法,流程图如图2所述,包括步骤101,判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据,若是,则转向步骤103,若否,则转向步骤102,步骤102,扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;并转向所述对所述需要更新数据的分区进行数据更新的步骤。
步骤103,对需要更新数据的分区进行数据更新。
本发明提供的实施例一通过在需要更新数据的分区的可用空间不够时,扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据,在调整后的对该需要更新数据的分区进行数据更新。解决了现有技术中,当需要更新数据的分区可用空间无法容纳所需更新的数据时,导致升级失败的问题,在分区更新数据时,既满足了分区对可用空间的需求提高了升级成功的比率,同时又提高了分区可用空间的使用率,节省更多的存储空间。
实施例二,一种更新数据的方法,流程图如图2所示,包括
步骤201,获取升级策略文件。
其中,升级策略文件可以是服务器端提供的,还可以是终端通过其他渠道获得的升级策略文件。包含待升级软件的版本号,允许升级的硬件版本号,允许升级的软件版本号,所需更新的数据需要占用的空间,允许升级软件所属领域等内容。
步骤202,比较升级策略文件和当前系统信息确定需要更新数据的分区。
其中,当前系统信息包含终端的硬件版本号、终端的软件版本号以及分区信息表,所述分区信息表包括当前系统各个分区的信息,如分区号,分区大小,各个分区的起止物理位置,各分区内存放软件数据的版本等信息。
确定需要升级的分区可以通过,查找升级策略文件中的待升级软件版本对应的终端上旧的软件存储的分区确定需要更新数据的分区,可以理解的是,步骤终端获取服务器提供的升级策略文件,并确定需要升级的分区,还可以采取其他现有的方式进行确定,具体的确定方法不构成对本发明的限制。
步骤203,终端判断需要更新数据的的分区的可用空间是否能容纳所需更新的数据,如果该需要更新数据的分区的可用空间不能容纳所需的更新的数据,则进入步骤204;如果该需要更新数据的分区的可用空间能容纳所需的更新的数据,则进入步骤210。
具体的判断方法为比较当前需要更新数据的分区的可用空间与所需更新的数据需要占用的空间;若所述数据所需占用的空间不大于所述可用空间则判断所述可用空间不能够容纳所需更新的数据。
步骤204,判断需要更新数据的分区的可用空间与其相邻的分区的可用空间之和是否能够容纳所需更新的数据;如果是,则转向步骤205;如果否,则转向步骤206。
步骤205,则缩小所述相邻的分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据。
请一并参阅图3,是本发明缩小相邻分区的可用空间来扩大该需要更新数据分区可用空间到能容纳所需更新的数据的流程图,包括步骤301,判断需要更新数据的分区的可用空间与其前相邻分区的可用空间之和是否能容纳所需更新的数据;如果是,则转向步骤302;如果否,则转向步骤303。
步骤302,缩小所述需要更新的数据的分区前相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;步骤303,判断需要更新数据的分区的可用空间与其后相邻的区的可用空间之和是否能容纳所需更新的数据;如果是,则转向步骤304;如果否,则转向步骤305。
步骤304,缩小该需要更新数据的分区的其后相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据。
本发明中,具体的分区调整方式,按照可以采用的存储介质的不同,如半导体存储器或磁介质存储器等,可以采用对应不同现有方式实现。并且所述步骤301与步骤304的判断步骤并无绝对顺序,本实施例强调的是,可以通过缩小相邻分区的方式扩大需要更新数据分区的可用空间,具体的判断顺序不构成本发明的限制。
步骤305,将需要更新数据的分区之前相邻的分区的可用空间全部分配给所述需要更新数据的分区,并缩小需要更新数据分区后相邻分区的可用空间来扩大所述需要更新数据的分区的可用空间到能容纳所需更新的数据。
可以理解的是,本步骤还可以是,先将需要更新数据的分区之后相邻分区的可用空间全部分配给所述需要更新数据的分区,然后再缩小需要更新数据的分区之前相邻的分区的可用空间来扩大所述需要更新数据的分区的可用空间到能容纳所需更新的数据。
步骤206,判断需要更新数据的分区与所述连续相邻的分区的可用空间之和是否能够容纳所需更新的数据;如果是,则继续步骤208;如果否,则转向步骤207。所述判断相邻分区的数量由少至多增加,本实施例中,所述连续相邻分区的数量初始值为2。
步骤207,增加判断的相邻分区的数量,并转向步骤206。
步骤208,缩小所述连续相邻的分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据。
209,记录所述扩大后分区的分区信息到分区信息表,所述分区信息包括分区的容量,起始物理地址等信息。
本发明对更改分区后,对应修改分区表,更新的分区表,有便于用户对分区的管理和监视。
步骤210,对需要更新数据的分区进行数据更新。
对需要更新数据的分区进行数据更新具体包括将需要更新数据的分区信息记录到需要更新数据的分区的列表中。
按照所述需要更新数据的分区的列表,下载需要更新的数据到对应的分区进行数据更新。
一并参阅图4(a)~(c)是举例对本发明进行分区调整前后的分区图,下面对本发明进行分区调整举例描述。图中各个存储区,斜线部分为已经存储的数据的空间,空白部分为可用空间。
本例中,图4(a)是未调整前的分区图;包括A、B、C、D、E五个分区,各个分区采用物理方式划分,并且各个分区的数据顺序存储。现在,需要对分区C进行数据更新,而分区C的可用空间无法容纳更新的数据。
请参与图4(b),是缩小分区B的可用空间来扩大分区C的可用空间的分区图若分区C和分区B的可用空间的和可以容纳需要更新的数据,则通过缩小分区B的可用空间扩大分区C的可用空间以实现分区C的数据更新。因为分区B未存储数据的空白区域与分区C相邻,对于本次对分区B和分区C的调整,只要调整分区C与分区B的边界即可完成。
请参阅图4(C)是缩小分区D的可用空间来扩大分区C的可用空间的分区图,若分区C和分区B的可用空间的和不能容纳需要更新的数据,而分区C和分区D的可用空间的和可以容纳需要更新的数据,则通过缩小分区B的可用空间来扩大分区C的可用空间以实现分区C的数据更新,但是,由图中可以看出,因为分区D与分区C中相邻的为数据存储区域,终端需要将分区D中的数据后移,以给分区C腾出空间进行扩展。
而实际上进行分区内的数据移动,大多数的终端都不支持,因此,对于不支持进行分区内数据移动的终端,,因为无法在分区内进行数据移动,缩小空间后分区已经有部分数据丢失,则需要将涉及数据移动的分区重新进行数据更新,即在调整分区大小后,将丢失数据的分区的分区信息加入的需要更新数据的分区列表中,重新进行数据更新。
本发明实施例二与实施例一的区别在于,本发明在扩大需要更新数据的分区的可用空间到能容纳所需数据的过程中,按照与需要更新数据的分区连续相邻的分区的数量由少至多的顺序,顺次判断需要更新数据的分区与所述连续相邻的分区的可用空间之和能否容纳所需更新的数据;直至所述需要更新数据分区与连续相邻的分区的可用空间之和可以容纳所需更新的数据,则缩小所述连续相邻的分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据。做到了对分区进行的调整时的最小化调整,使扩大需要更新数据分区可用空间的操作对其他分区的影响最小。
实施例三,一种更新数据的装置,装置结构图如图5所示,包括获取单元100、更新分区选择单元200、判断单元300、分区空间调整单元400和数据更新单元500。
获取单元100,用于获取升级策略文件;更新分区选择单元200,用于比较升级策略文件和当前系统信息确定需要更新数据的分区。
判断单元300,用于判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若是,则通知数据更新单元500对需要更新的分区进行数据更新;若否,则通知分区调整单元400调整所述需要更新数据的分区的容量;分区调整单元400,用于扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;当调整完成后通知数据更新单元500对需要更新的分区进行数据更新;数据更新单元500,用于对需要更新的分区进行数据更新。
实施例四,一种更新数据的装置,装置结构图如图6所示,包括获取单元100、更新分区选择单元200、判断单元300、分区空间调整单元400和数据更新单元500;所述数据更新单元包括记录单元510,下载单元520。
获取单元100,用于获取升级策略文件;
更新分区选择单元200,用于比较升级策略文件和当前系统信息确定需要更新数据的分区。
判断单元300,用于判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若是,则通知记录单元510将需要更新数据的分区记录到需要更新数据的分区的列表中;若否,则通知分区调整单元400,扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;当调整完成后,通知记录单元510将需要更新数据的分区记录到需要更新数据的分区的列表中。
所述数据更新单元500包括记录单元510,用于将需要更新数据的分区记录到需要更新数据的分区的列表中;下载单元520,用于按照所述记录单元510记录的需要更新数据的分区的列表,下载更新的数据到对应的需要更新数据的分区。
以上对本发明所提供的一种更新数据的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种更新数据的方法,其特征在于,包括判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若能够容纳所需更新的数据,则对需要更新数据的分区进行数据更新;若不能够容纳所需更新的数据,则扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;并对需要更新数据的分区进行数据更新。
2.如权利要求1所述的更新数据的方法,其特征在于,所述扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据的过程包括判断需要更新数据的分区的可用空间与其相邻的分区的可用空间之和是否能够容纳所需更新的数据;如果是,则缩小所述相邻的分区的可用空间,扩大需要更新数据的分区的可用空间到能容纳所需更新的数据。
3.如权利要求2所述的更新数据的方法,其特征在于,所述缩小所述相邻的分区的可用空间,扩大需要更新数据的分区的可用空间到能容纳所需更新的数据的过程包括判断需要更新数据的分区的可用空间与其前相邻分区的可用空间之和能否容纳所需更新的数据;如果能容纳所需更新的数据,则缩小所述需要更新的数据的分区前相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;如果不能容纳所需更新的数据,则判断需要更新数据的分区的可用空间与其后相邻的区的可用空间之和是否能容纳所需更新的数据;如果是,则缩小该需要更新数据的分区的其后相邻分区的可用空间来扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;如果否,则将需要更新数据的分区之前相邻的分区的可用空间全部分配给所述需要更新数据的分区,并缩小需要更新数据分区后相邻分区的可用空间来扩大所述需要更新数据的分区的可用空间到能容纳所需更新的数据。
4.如权利要求1至3任意一项所述的更新数据的方法,其特征在于,判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据之前,进一步包括获取升级策略文件;比较升级策略文件和当前系统信息确定需要更新数据的分区。
5.如权利要求4所述的更新数据的方法,其特征在于,所述系统信息包括分区信息表;所述扩大需要更新的分区的可用空间到能容纳所需更新的数据之后进一步包括记录所述扩大后的分区的分区信息到分区信息表。
6.如权利要求4所述的更新数据的方法,其特征在于,所述升级策略文件包括所需更新的数据需要占用的空间;所述判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据包括比较当前需要更新数据的分区的可用空间与所需更新的数据需要占用的空间;若所述数据所需占用的空间不大于所述可用空间则判断所述可用空间不能够容纳所需更新的数据;若所述数据所需占用的空间大于所述可用空间,则判断所述可用空间不能容纳所需更新的数据。
7.如权利要求1至3任意一项所述的更新数据的方法,其特征在于,所述对需要更新数据的分区进行数据更新包括将需要更新数据的分区记录到需要更新数据的分区的列表中;按照所述需要更新数据的分区的列表,下载需要更新的数据到对应的分区。
8.一种更新数据的装置,其特征在于,包括判断单元,分区空间调整单元和数据更新单元;判断单元,用于判断需要更新数据的分区的可用空间是否能够容纳所需更新的数据;若能够容纳所需更新的数据,则通知数据更新单元对需要更新的分区进行数据更新;若不能容纳所需更新的数据,则通知分区调整单元调整分区;分区调整单元,用于扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据;当调整完成后通知数据更新单元对需要更新的分区进行数据更新;数据更新单元,用于对需要更新的分区进行数据更新。
9.如权利要求8所述的更新数据的装置,其特征在于,所述数据更新单元包括记录单元,用于将需要更新数据的分区记录到需要更新数据的分区的列表中;下载单元,按照所述需要更新数据的分区的列表,下载需要更新的数据到对应的分区。
10.如权利要求9所述的更新数据的装置,其特征在于,所述装置还包括获取单元,用于获取升级策略文件;更新分区选择单元,比较升级策略文件和终端本地的信息确定需要更新数据的分区。
全文摘要
本发明公开了一种更新数据的方法及装置,其基本思想是在需要更新数据的分区的可用空间不够时,扩大该需要更新数据的分区的可用空间到能容纳所需更新的数据,并对需要更新数据的分区进行数据更新。这样在分区更新数据时,既满足了分区对可用空间的需求提高了升级成功的比率,同时又提高了分区可用空间的使用率,节省更多的存储空间。
文档编号G06F17/30GK1932779SQ20061012781
公开日2007年3月21日 申请日期2006年9月20日 优先权日2006年9月20日
发明者王纪会 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1