移动电话的软件更新方法及其系统的制作方法

文档序号:6426093阅读:138来源:国知局
专利名称:移动电话的软件更新方法及其系统的制作方法
技术领域
本发明涉及一种更新移动电话的软件的方法与系统,特别是涉及一种于更新软件的过程中利用数据版本的比较来适当地更新移动电话的数据的方法及其系统。
背景技术
移动电话在生产、研发、维修,或是客户服务的过程中,移动电话制造商通常需要藉由更新移动电话内部所存储的软件,以增加或改良移动电话的功能。一般而言,上述软件包含有程序代码部分与数据部分。已知软件更新的处理方式是让移动电话加载所要的程序代码来取代旧有的程序代码,至于数据部分的处理,已知技术则是让移动电话加载新的数据以覆写旧有的所有数据。然而,所谓新的数据通常为空白(例如填满一预定逻辑值”1”或”0”),而并未纪录有任何有效信息,因此即使是与程序代码更新完全无关的旧有数据,也跟着被不当地清除。
换言之,在多数情况下,原先留存于移动电话内大部分的旧有数据事实上是与程序代码更新无关的,亦即这些数据可适用于新版的程序代码,例如,移动电话内各个电路零件的设定参数,以及使用者于先前输入移动电话的设定值与电话簿数据。以移动电话内各个电路零件的设定参数为例,由于每个电路零件可能由不同的供应厂商供应,且即使是同一厂商供应的零件或许也会因为制程等等因素而存在些微差异,所以于移动电话出厂前需耗费大量时间来校准与调整出可让各个电路零件正常运作的合适参数。此外,对于使用者先前输入移动电话的设定值(例如操作接口的语系)与电话簿数据来说,若要重新输入的话,势必也会耗去使用者不少时间。因此,若上述旧有数据与程序代码的更新操作无关的话,那么它们就应该被保留而不会被不当地删除。事实上,只有少部分的旧有数据是必须要以适当方式处理(删除或是更改)以适应程序代码的更新,然而,目前已知更新移动电话的软件的操作是将移动电话中的所有旧数据舍弃,并以记录着默认值的新数据来加以取代,因此已知技术会造成使用者于使用移动电话时的不便。

发明内容
因此本发明的主要目的之一是提供一种于更新软件的过程中,利用数据版本的比较来适当地更新移动电话的数据的方法及其系统,以解决上述问题。
本发明的一个方面是提供一种更新软件的方法,该方法应用于一电子装置,用来更新该电子装置中的一软件,该软件包含有一第一程序代码与一第一数据群组,该第一程序代码具有一相对应的第一程序代码版本号码,而该第一数据群组具有一相对应的第一数据群组版本号码。该方法包含有提供一第二程序代码,其具有一相对应的第二程序代码版本号码;当该第一程序代码版本号码不同于该第二程序代码版本号码时,使用该第二程序代码取代该第一程序代码;以及根据更新后的第一程序代码的第一程序代码版本号码,决定是否更新该第一数据群组。
此外,本发明的另一方面是提供一种软件更新系统,应用于一电子装置,用来更新该电子装置中的一软件,该软件包含有一第一程序代码与一第一数据群组,该第一程序代码具有一相对应的第一程序代码版本号码,而该第一数据群组具有一相对应的第一数据群组版本号码。软件更新系统包含有一第二程序代码,其具有一相对应的第二程序代码版本号码;以及一更新模块,用以比较该第一程序代码版本号码与该第二程序代码版本号码,若比较结果为不同,则使用该第二程序代码取代该第一程序代码,以及根据更新后的第一程序代码的第一程序代码版本号码,决定是否更新该第一数据群组。
本发明的更新软件的方法及其系统可以确保与软件更新无关的数据不会被不当地删除,因此可以避免后续重新设定数据而耗费大量时间,例如移动电话便不必重新校准与调整以设定可让各个电路零件正常运作的合适参数,以及使用者亦无需重新输入移动电话的设定值与亲友电话数据。


图1为本发明软件更新系统的功能方块图。
图2为图1所示的软件更新系统执行软件更新操作的第一阶段的流程图。
图3为图1所示的软件更新系统执行软件更新操作的第二阶段的流程图。
附图符号说明10软件更新系统 11 微处理器13、14存储单元 15 更新模块20移动电话具体实施方式
请参阅图1,图1为本发明软件更新系统10的功能方块图。软件更新系统10应用于一电子装置,于本实施例中,该电子装置为一移动电话20。移动电话20包含有一微处理器11与一存储单元13,微处理器11电连接于存储单元13,而存储单元13则存储有一软件S,所以,本发明软件更新系统10即是用来更新电子装置20中的软件S。软件S包含有一第一程序代码C1与一第一数据群组DG1,其中第一程序代码C1具有一相对应的第一程序代码版本号码CN1,而第一数据群组DG1具有一相对应的第一数据群组版本号码DGN1。软件更新系统10还包含有一第二程序代码C2、一第二数据群组DG2与一更新模决15,其中第二程序代码C2具有一相对应的第二程序代码版本号码CN2,以及第二数据群组DG2具有一相对应的第二数据群组版本号码DGN2。第二程序代码C2、第二程序代码版本号码CN2、第二数据群组DG2与第二数据群组版本号码DGN2皆存储于一存储单元14内,而存储单元14位于移动电话20外部,本实施例中,微处理器11可藉由网络通讯或是实体电路连接至存储单元14以存取存储单元14内的数据。第一数据群组DG1包含多个第一数据D1,而每一第一数据D1具有相对应的一第一数据代码DC1与一第一数据版本号码DN1,而第二数据群组DG2包含多笔第二数据D2,其中每一第二数据DN2具有相对应的一第二数据版本号码DN2与一第二数据代码DC2。于本实施例中,第一数据群组DG1中有N个第一数据D1,以及第二数据群组DG2有N个第二数据D2,此外,第一程序代码C1与第二程序代码C2皆为执行文件。
更新模块15存储于存储单元13内,用以比较第一程序代码版本号码CN1与第二程序代码版本号码CN2,所以,若比较结果显示两者不同,则使用第二程序代码C2来取代第一程序代码C1。接下来,当移动电话20重新开机时,更新模块15比较更新后的第一程序代码版本号码CN1与第一数据群组版本号码DGN1。若比较结果显示两者不同,则使用第二数据群组DG2来更新第一数据群组DG1。
当更新模块15使用第二程序代码C2来取代第一程序代码C1时,更新模块15更新一更新数据表DT,而当移动电话20重新开机时,更新模块15根据更新数据表DT来对第一数据群组DG1进行更新。
更新数据表DT存放于存储单元13中。更新数据表DT具有多个更新字段DTF,其中每一更新字段DTF对应于一第一数据D1,且其包含有多个子字段Fa、Fb,其中子字段Fa记录对应第一数据D1的第一数据代码DC1,而子字段Fb纪录对应第一数据D1的第一数据版本号码DN1。当更新模块15使用第二程序代码C2来取代第一程序代码C1时,更新模块15根据第二程序代码C2所适用的数据版本来更新更新数据表DT。换言之,若原本适用于第一程序代码C1的某一笔第一数据D1并无法适用于第二程序代码C2,那么在后续更新数据的过程中,更新模块15就必须利用对应该笔第一数据D1的第二数据D2来取代该笔第一数据D1,以适用于第二程序代码C2。由于该笔第一数据D1不适用于第二程序代码C2,因此该笔第一数据D1的第一数据版本号码DN1不同于其所对应的第二数据D2的第二数据版本号码DN2。
因此,在更新模块15使用第二程序代码C2来取代第一程序代码C1的过程中,如果原本的第一数据D1并不适用于第二程序代码C2,更新模块15就会更新上述的更新数据表DT中对应于第一数据D1的第一数据版本号码DN1,此时,第一数据D1的第一数据版本号码DN1被其所对应的第二数据D2的第二数据版本号码DN2所取代。
尚须说明的是,数据群组(例如第一数据群组DG1或第二数据群组DG2)可用来纪录移动电话20的操作接口的设定值、液晶屏幕(LCD)的亮度设定值、电池设定值、射频(RF)设定值或是使用者输入至移动电话20的信息等等。以上所述的每一种设定值都是用一个或一组参数来纪录,也就是本实施例中第一数据群组DG1的一个或多个第一数据D1。
请参阅图1、图2与图3。本实施例中,软件更新的操作包含有两个阶段(第一阶段与第二阶段),图2为图1所示的软件更新系统10执行软件更新操作的第一阶段的流程图,图3为图1所示的软件更新系统10执行软件更新操作的第二阶段的流程图。第一阶段包含有下列步骤步骤200开始;步骤201比较第二程序代码版本号码CN2与第一程序代码版本号码CN1的值是否相同;若是,进行至步骤204;否则,进行至步骤202;步骤202用第二程序代码C2取代第一程序代码C1,并用第二程序代码版本号码CN2取代第一程序代码版本号码CN1;步骤203更新更新数据表DT;以及步骤204结束。
第二阶段包含有下列步骤步骤206启动移动电话20;步骤208比较更新后的第一程序代码的第一程序代码版本号码CN1与第一数据群组版本号码DGN1的值是否相同;若是,进行至步骤220;若否,进行至步骤210;步骤210以更新后的更新数据表DT中的一更新后的更新字段DTF为一目标更新字段DTF;步骤212比较目标更新字段DTF所记录的第一数据版本号码DN1与第一数据群组DG1中相对应的第一数据D1的第一数据版本号码DN1是否相同;若比较结果为不相同,则执行步骤214;若比较结果为相同,则执行步骤218;步骤214使用第二数据群组DG2中相对应的第二数据D2来取代第一数据群组DG1中相对应的第一数据D1,且使用第二数据版本号码DN2来取代第一数据版本号码DN1;步骤216判断目前的目标更新字段DTF是否为更新数据表DT中最后一笔更新字段DTF;若是,进行至步骤220;若否,进行至步骤218;步骤218将下一个更新字段DTF设定为目标更新字段DTF,之后进行至步骤212;以及步骤220结束。
软件更新系统10执行软件更新操作的详细说明如下。在第一阶段中,首先,更新模块15比较第二程序代码版本号码CN2与第一程序代码版本号码CN1的值是否相同(步骤201),若比较结果显示两者相同,即结束软件更新的操作,因为该比较结果表示第二程序代码C2即为第一程序代码C1,因此不需执行软件S的更新;然而,若比较结果显示两者不同,更新模块15便使用第二程序代码C2来取代第一程序代码C1,以及使用第二程序代码版本号码CN2取代第一程序代码版本号码CN1,所以,最后存储在存储单元13内的数据便为第二程序代码C2与第二程序代码版本号码CN2,其为更新后的第一程序代码C1与第一程序代码版本号码CN1(步骤202)。之后,更新模块15根据更新后的第一程序代码C1,即第二程序代码C2,所适用的数据版本来更新更新数据表DT(步骤203)。
尚须说明的是,如果在第一阶段中,第二程序代码版本号码CN2相同于第一程序代码版本号码CN1,那么软件更新系统10就不会执行第一程序代码C1的更新。因此,在第二阶段中,第一程序代码版本号码CN1与第一数据群组版本号码DGN1的比较结果是相同的,而软件更新系统10就会结束第二阶段。
接着,当移动电话20重新启动时,软件更新系统10执行软件更新操作的第二阶段(步骤206)。更新模块15比较第二程序代码版本号码CN2与第一数据群组版本号码DGN1的值是否相同(步骤208),若比较结果显示两者相同,即结束软件更新的操作;另一方面,若比较结果显示两者不同,则表示第一程序代码C1已被取代为第二程序代码C2,而第一数据群组DG1中的某些第一数据D1必须更新为第二数据D2,即第一数据群组DG1必须更新为第二数据群组DG2,以适用于第二程序代码C2。因此,更新模块15以更新后的更新数据表DT中的一更新后的更新字段DTF为一目标更新字段DTF(步骤210),之后,比较目标更新字段DTF所记录的第一数据版本号码DN1与第一数据群组DG1中相对应的第一数据D1的第一数据版本号码DN1是否相同(步骤212),若比较结果为不相同,则更新模块15使用第二数据群组DG2中相对应的第二数据D2来取代第一数据群组DG1中相对应的第一数据D1,且使用第二数据版本号码DN2来取代第一数据版本号码DN1(步骤214);若于步骤212中的比较结果为相同,则执行步骤218(步骤218的内容将详述于后)。
执行完步骤214之后,判断目前的目标更新字段DTF是否为更新数据表DT中最后一笔更新字段DTF(步骤216),若是,则结束软件更新的操作;若否,执行步骤218,将下一个更新字段DTF设定为目标更新字段DTF,执行完步骤218后须执行步骤212。
本发明软件更新系统与其操作方法主要是应用于移动通信单元(例如一移动电话)上,以使移动电话的固件更新不会造成使用者使用移动电话上的不便,然而,本发明软件更新系统与其操作方法并未限制于上述应用范围。
相较于已知技术,本发明软件更新系统与其操作方法可以确保与软件更新无关的数据不会被不当地删除,因此可以避免后续重新设定数据而耗费大量时间,例如移动电话便不必重新校准与调整以设定可让各个电路零件正常运作的合适参数,以及使用者亦无需重新输入移动电话的设定值与亲友电话数据。
以上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种更新软件的方法,应用于一电子装置,用来更新该电子装置中的一软件,该软件包含有一第一程序代码与一第一数据群组,该第一程序代码具有一相对应的第一程序代码版本号码,而该第一数据群组具有一相对应的第一数据群组版本号码,该方法包含有提供一第二程序代码,其具有一相对应的第二程序代码版本号码;当该第一程序代码版本号码不同于该第二程序代码版本号码时,使用该第二程序代码取代该第一程序代码;以及根据该更新后的第一程序代码版本号码,决定是否更新该第一数据群组。
2.如权利要求1所述的方法,其还包含有提供一第二数据群组,其具有一相对应的第二数据群组版本号码;当该更新后的第一程序代码版本号码不同于该第一数据群组版本号码时,使用该第二数据群组更新该第一数据群组。
3.如权利要求2所述的方法,其中该第一数据群组包含多笔第一数据,每一该第一数据具有相对应的一第一数据代码与一第一数据版本号码,而该第二数据群组包含多笔第二数据,每一该第二数据具有相对应的一第二数据代码与一第二数据版本号码;该电子装置包含一更新数据表,具有多个更新字段,每一该更新字段对应于一第一数据,用来记录该第一数据的第一数据代码与第一数据版本号码;其中,每一该第一数据对应于一第二数据;在使用该第二程序代码取代该第一程序代码的步骤中,该方法还包含有更新该更新数据表中的至少一个更新字段,以改变该更新字段所记录的第一数据版本号码。
4.如权利要求3所述的方法,其中在使用该第二数据群组更新该第一数据群组的步骤中,该方法根据该更新后的更新数据表来使用该第二数据群组更新该第一数据群组。
5.如权利要求4所述的方法,其中在使用该第二数据群组更新该第一数据群组的步骤中,还包含比较该更新数据表的更新字段所记录的第一数据版本号码与该第一数据群组中相对应的第一数据的第一数据版本号码;当比较结果为不相同时,使用该第二数据群组中相对应的第二数据来取代该第一数据群组中相对应的第一数据。
6.如权利要求1所述的方法,其中该电子装置是一移动通信单元。
7.一种软件更新系统,应用于一电子装置,用来更新该电子装置中的一软件,该软件包含有一第一程序代码与一第一数据群组,该第一程序代码具有一相对应的第一程序代码版本号码,而该第一数据群组具有一相对应的第一数据群组版本号码,该软件更新系统包含有一第二程序代码,其具有一相对应的第二程序代码版本号码;以及一更新模块,用以比较该第一程序代码版本号码与该第二程序代码版本号码,若比较结果为不同,则使用该第二程序代码取代该第一程序代码,以及根据该更新后的第一程序代码版本号码,决定是否更新该第一数据群组。
8.如权利要求7所述的软件更新系统,其还包含有一第二数据群组,其具有一相对应的第二数据群组版本号码;其中当该更新后的第一程序代码版本号码不同于该第一数据群组版本号码时,该更新模块使用该第二数据群组更新该第一数据群组。
9.如权利要求8所述的软件更新系统,其中该第一程序代码、该第一程序代码版本号码、该第一数据群组与该第一数据群组版本号码存储于一第一存储单元;以及该第二程序代码、该第二程序代码版本号码、该第二数据群组与该第二数据群组版本号码存储于一第二存储单元。
10.如权利要求8所述的软件更新系统,其中该第一数据群组包含多笔第一数据,每一该第一数据系具有相对应的一第一数据代码与一第一数据版本号码,而该第二数据群组包含多笔第二数据,每一该第二数据具有相对应的一第二数据代码与一第二数据版本号码;该电子装置包含一更新数据表,具有多个更新字段,每一该更新字段对应于一第一数据,用来记录该第一数据的第一数据代码与第一数据版本号码;其中,每一该第一数据系对应于一第二数据;在该更新模块使用该第二程序代码取代该第一程序代码时,该更新模块更新该更新数据表中的至少一个更新字段,以改变该更新字段所记录的第一数据版本号码。
11.如权利要求10所述的软件更新系统,其中在该更新模块使用该第二数据群组更新该第一数据群组时,该更新模块根据该经过更新后的更新数据表来使用该第二数据群组更新该第一数据群组。
12.如权利要求11所述的软件更新系统,其中在该更新模块使用该第二数据群组更新该第一数据群组时,还包含该更新模块比较该更新数据表的更新字段所记录的第一数据版本号码与该第一数据群组中相对应的第一数据的第一数据版本号码;当比较结果为不相同时,使用该第二数据群组中相对应的第二数据来取代该第一数据群组中相对应的第一数据。
13.如权利要求7所述的软件更新系统,其中该电子装置是一移动通信单元。
全文摘要
本发明提供一种更新移动电话的软件的方法与系统,该软件包含有一第一程序代码与一第一数据群组,该第一程序代码具有一相对应的第一程序代码版本号码,而该第一数据群组具有一相对应的第一数据群组版本号码,该方法包含有提供一第二程序代码,其具有一相对应的第二程序代码版本号码;当该第一程序代码版本号码不同于该第二程序代码版本号码时,使用该第二程序代码取代该第一程序代码;以及根据更新后的第一程序代码的第一程序代码版本号码,决定是否更新该第一数据群组。
文档编号G06F9/44GK1749956SQ20041007524
公开日2006年3月22日 申请日期2004年9月13日 优先权日2004年9月13日
发明者吕理森, 杨裕全 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1