更新迁移系统和方法与流程

文档序号:17850551发布日期:2019-06-11 22:09阅读:336来源:国知局
更新迁移系统和方法与流程

本申请要求2016年9月23日提交的第15/274,856号美国非临时申请的优先权,所述美国非临时申请的全文以引用方式并入本文中。



背景技术:

本文提供的背景描述是为了总体上呈现本公开的上下文的目的。在本背景技术部分中描述的程度上,当前署名的发明人的工作以及在提交时可能不另外作为现有技术的各方面描述,既不明确也不暗示地被承认为本公开的现有技术。

从操作系统到例如word处理器等程序,已对几代电子装置进行了升级应用。所述过程通常涉及移除和更换应用程序,且接着重新产生任何个性化数据,例如用户字典、书签等。在其它应用程序中,新版本应用程序可能能够读取并纳入先前版本应用程序所使用的个性化数据。然而,在跨若干代更新进行更新时,新安装的版本可能无法成功解决多代更新的个性化数据的差异。在某些情况下,在跨多个版本进行更新时,用户可能需要按顺序逐个版本进行更新,以完成到最新版本的更新。



技术实现要素:

用于跨未知数目的应用程序版本进行更新的方法可能使用评估当前版本与新版本之间的跨度的迁移应用程序,并且鉴于现有数据修改适合于所述新版本的个性化数据。在实施例中,所述迁移应用程序可以是指示旧字段和新字段与对象之间以及每个可能版本之间的差异的矩阵以及一组特定旧版本与新版本之间的新字段的初始值。在存储当前(旧)版本的个性化数据后,旧版本可能被删除,从而为迁移应用程序腾出空间。在更新个性化数据以满足新版本的要求后,可能会删除迁移应用程序,并且可能安装新版本。在安装后,新版本可能能够恢复更新后的个性化数据并且开始操作,而对用户具有极小或无影响。

附图说明

仅出于说明的目的,附图描绘优选实施例。本领域技术人员可以从下面的论述中容易地认识到,在不脱离本文描述的原理的情况下,可以采用在本文中示出的结构和方法的替代实施例。

图1是根据本公开的支持应用程序更新技术的系统的框图;

图2是示出在更新期间系统状态的框图;

图3是示出在更新延续期间系统状态的框图;

图4是示出在更新延续期间系统状态的框图;

图5是示出在更新延续期间系统状态的框图;

图6是示出在更新延续期间系统状态的框图;

图7是示出在更新延续期间系统状态的框图;

图8是示出在更新延续期间系统状态的框图;

图9是示出在更新结束时系统状态的框图;

图10为适于使用根据本公开的更新技术的替代系统的框图;

图11为示出安全元件中实例的框图;

图12为示出根据本公开的示例性应用程序服务的框图;

图13为示出离散迁移管理器的替代实施例;以及

图14是根据本公开的执行应用程序更新的方法的流程图。

具体实施方式

计算机应用程序经常从旧版本升级到新版本。在大多数情况下,更新从一个版本中连续应用到下一版本,通常通过在计算机的背景中运行的自动更新例程进行。存储特定于用户或应用程序实例(例如字典、首选项、系统特定设置等)的数据,以便更新后的应用程序可以根据新安装的应用程序的要求恢复和更新数据。然而,在许多当前装置中,无论是更新还是不更新通常取决于用户,而用户可能不会始终在更新可用时就安装更新。

例如,在移动电话、平板电脑、笔记本电脑或其它便携式装置中,用户在合适的环境(例如,墙壁电源和所需的时间)中可能只是不记得或没有兴趣执行更新。因此,应用程序的版本可能已错过了五个、六个或更多个微小更新以及一个或多个重大更新。在现有技术模型中,新安装的应用程序必须能够重建从应用程序的最早版本到当前版本的数据和数据格式改变。即使用于处理此个性化数据更新的代码仅使用一次,并且仅在应用程序开始操作以用于其预期用途之前,也是如此。在例如芯片卡或便携式电子装置(其中应用程序存储器非常宝贵)中的安全元件的有限存储器环境中,新版本应用程序可能不能包含用于过去版本的所有可能组合的“单次使用”更新代码。

图1到9示出了实施所公开的更新迁移系统和方法的装置100的各种状态。装置100可以是包含但不限于智能手机、平板电脑、笔记本电脑、便携式支付装置或台式计算机的数个计算平台中的任一个。装置100还可以是例如但不限于工业流程控制器、接触或非接触式访问控制卡以及接触或非接触式支付卡(芯片卡)的数个特殊用途装置中的任一个。当前公开内容特别适合于具有有限量的存储器用于应用程序存储的装置100。出于说明而非限制的目的,图1到9涉及智能电话、可穿戴装置或类似装置中的示例性实施例。

图1的装置100大体示出了操作平台102,其具有与作为原始或伴随装置的智能电话的操作相关的公知组件,包含可以是支持用户界面的触摸屏的显示器140、各种无线电平台142,包含蜂窝语音和数据、蓝牙、wi-fi、gps和近场通信(nfc)。操作平台102还可以包含其它组件,包含一个或多个摄像机144、温度和运动传感器146,以及用于执行应用程序的处理器150和存储器148。为清楚起见,这些元件不会在其余图示中重复。

操作平台102还可以包含受信任管理器104。在一个实施例中,受信任管理器104可以是例如在近场通信生态系统中使用的受信任服务管理器。在另一实施例中,受信任管理器104可以是与全球平台卡规范中定义的相同或类似的基于控制权限的方案。受信任管理器104可以负责与下述安全元件106的交互。在不使用安全元件106的其它实施例中,受信任管理器104可以只是由装置100的操作系统使用的更新进程。受信任管理器104可以负责用新版本的操作系统和包含近场通信接口管理的其它核心功能来更新装置102,以及其它事项。

装置100还可以包含安全元件106。安全元件106可以包含处理器152和一个或多个应用程序108、112、116。每个应用程序可以包含相应个性化数据110、114、118。这些应用程序中的每一个的个性化数据可以包含用户身份信息、发行方身份、最近支付历史、pin值、密钥材料等。每个应用程序108、112、116可以与支付领域以及访问控制、身份验证、交通运输等领域的不同发行方相关联。在下面论述的图示中,每个应用程序都将更新,但实际上任何应用程序都可以按照相同的流程单独更新。

在确定要执行更新之后,受信任管理器104可以将信号传达到应用程序108、112、116以开始更新进程。转向图2,应用程序108、112、116中的每一个可以在安全元件106的限制内导出或只是存储其相应个性化数据110、114、118,以使得没有个人信息因其被复制到安全元件106以外而处于危险之中。如图3所示,受信任管理器104可以删除应用程序108、112、116中的每一个。

如图4所示,包含迁移矩阵124的迁移应用程序122可以经由网络123从应用程序服务120下载,并且由安全元件106中的受信任管理器104安装。在实施例中,迁移矩阵124可以包含更新到当前版本的应用程序的每个前一版本的映射。预期在一些实施例中,可以在每个应用程序版本变得可用时为每个应用程序版本定制迁移应用程序122及其相关联的迁移矩阵124。在其它实施例中,每个应用程序可以具有单独的迁移应用程序。在此情况下,每个应用程序都会重复此处描述的步骤。在实施例中,迁移管理器122的唯一功能是将个性化数据110、114、118从旧版本更新到新版本。在其它实施例中,迁移管理器122

表1示出了应用程序108的迁移矩阵124的示例性部分,其示出了要在应用程序108的之前安装版本与要安装的新版本之间执行的改变或转换。请注意,未示出最近版本(版本3)与最新版本(版本4)之间的改变列表。在实施例中,这只是因为版本3与4之间没有版本改变。然而,在另一实施例中,迁移应用程序可以理解,版本4的软件能够识别和更新从最近版本(即版本3)的改变。因此,迁移应用程序122可能无需执行这些改变,并且可以移动到另一应用程序或只是报告必要的改变已完成,以使得受信任服务管理器104可以继续所述过程。

表1

转向图5,迁移应用程序122可以分析每个已保存的数据文件110、114、118以确定其版本。分析可以通过数据本身的分析来实现,即通过观察数据的结构和格式,或在另一实施例中,只需在数据110、114、118中嵌入版本标识符。迁移应用程序122可以根据迁移矩阵对相应数据文件执行必要的更新。

在添加新数据记录的情况下,例如,如表1中相对于版本0到版本4所示,迁移应用程序122可能具有填充新产生的记录的默认值。新产生的数据版本126、128和130可以由迁移应用程序112生成并且存储。

在各种实施例中,数据迁移可以按较小的步骤进行。例如,在一个实施例中,通过迁移应用程序122恢复和更新数据可以是一个步骤。在本地生成新版本数据后,可以将存储更新后的数据作为单独步骤执行。在其它实施例中,迁移矩阵124可能只是无法为特定字段提供数据。在此情况下,在更新进程完成之后,可能需要至少部分地调配应用程序。

如本图示的图6所示,可以删除迁移应用程序122和旧版本数据110、114、118。此步骤可以由迁移应用程序122本身执行为其处理的最后步骤,或者可以由受信任管理器104执行。在实施例中,旧版本数据110、114、118可以保存在某处直到新版本应用程序安装操作之后,以便如果需要可以轻松完成到旧版本的回滚。个性化数据在大多数情况下都是相对较小的,因此保存两个版本可能不会大大减少存储器,以致妨碍安装新版本应用程序。

新版本应用程序132、134、136可以由受信任管理器104下载和安装,如图7所示。图8可以示出相应最近安装的版本恢复或导入其相关联数据,这些数据由于迁移应用程序而可能已经被构造并且填充以供使用。最后,如图9所示,可以删除更新后的个性化数据的副本,并且更新后的应用程序132、134和136处于操作状态。

图10示出了替代实施例,其示出正在更新的应用程序可以是装置100所使用的服务的一部分。具有个性化数据156的应用程序154可以与显示器140相关联,而应用程序162及其数据164可以与传感器146一起操作。应用程序158及其数据160可以是逐个应用程序更新的许多独立应用程序中的一个。尽管技术上在安全元件106外有更多空间可用,但每种装置100可能最终运行到新旧版本应用程序在更新期间不能同时驻留的存储器限制。在另一情况下,应用程序设计者可能不希望在每个版本中都具有多版本更新支持的包。更新管理器149可以使用此处描述的存储器保存技术来执行更新进程,而不会丢失用户数据、配置数据或两者,同时对宝贵存储器空间具有极小或无影响。更新管理器149可以与受信任管理器104相同或类似。

图11为示出安全元件106的另一实施例的框图,在此情况下,单个应用程序170可以支持具有不同用途的多个实例化,例如,咖啡店支付应用程序172和百货商店支付应用程序174。在此情况下,只更新了应用程序的单个副本,但可以由迁移应用程序122使用本文所述的过程来更新个性化数据的多个副本。在这种实施例中,在安装更新后的应用程序170之前,实例数据172和174可以被迁移应用程序122存储和更新。

图12为应用程序服务120的一个实施例的框图,示出对于应用程序180的特定版本,对应的迁移管理器应用程序182可为可用的。在本图示中,第四版本应用程序180和第五版本应用程序184两者可以具有对应的迁移应用程序182和186。这些迁移应用程序182、186可以具有支持先前版本中的任一者的升级的相应迁移矩阵。版本3的另一应用程序188也可以具有对应的迁移管理器,其中迁移矩阵用于先前版本中的每一个。

参考图13,论述执行更新的替代配置。在此实施例中,安装单独的迁移管理器122、192、196以单独处置每一相应个性化数据110、114、118的更新。在一个实施例中,可以并行地安装和执行单独的迁移管理器122、192、196中的每一个,而在另一实施例中,迁移管理器122、192、196可以按顺序执行。在又一实施例中,迁移管理器122、192、196中的每一个可以一次安装一个并且个别地执行,接着删除,如下文更详细地描述。通过其它迁移管理器组合来执行个性化数据更新也是可能的。

图14是执行更新迁移的方法200的流程图。在框202处,可以由受信任管理器104或其它更新管理器149来确定一个或多个应用程序需要更新。信号可以传达到应用程序108以存储其个性化数据110,以便更新可以继续。

在框206处,在已保存数据之后,可以删除当前已安装的应用程序,以便为迁移应用程序122腾出空间。在框208处,可以安装迁移应用程序122,且在框210处,可以确定应用程序108的前一版本。在一实施例中,迁移应用程序122可以分析所保存的数据110以确定源的版本。在另一实施例中,应用程序108的版本可以明确记录在所保存的数据110中。在又一实施例中,受信任管理器104可以读取版本信息,作为启动更新进程的一部分。

在框212处,在确定前一版本信息之后,可以使用迁移应用程序122的迁移矩阵124来确定更新动作过程。在框214处,迁移应用程序122可以根据应用程序的待安装版本的需要而生成更新后的个性化数据126。这可能包含重新格式化数据、删除或添加记录,以及为任何新记录填充默认值。

在框216处,可以删除迁移应用程序122以及(在一个实施例中)旧个性化数据110。数据的删除可能会以各种适当的方式发生。在一个实施例中,数据被写满以将其删除。在另一实施例中,移除存储器中数据的指针,使得处理器不再知道要删除的数据的位置,并最终将覆盖所述数据。如上所述,在需要回滚的情况下,可保存旧个性化数据110。

在框218处,可以使用通过删除迁移应用程序122而释放的存储器空间来安装新版本应用程序132。当更新后的数据126被恢复到新版本应用程序132并且应用程序可以使用所恢复的数据126执行时,可以在框220处完成所述过程。

上述技术可用于利用受限存储器操作或只是希望保守地使用存储器的任何电子装置100。在保存必要的应用程序数据之后,不是在应用程序132、154的每个版本中放置一整套更新工具,受信任管理器104或更新管理器149可以删除现有版本并使用所述存储空间来安装和运行针对每种可能的更新组合定制的自定义迁移应用程序。完成数据迁移后,更新管理器可以删除迁移应用程序,从而释放目标版本应用程序的空间。由于应用程序可能比迁移应用程序大得多,所需的总空间可能比原始安装的大小只大出已保存数据的大小和新应用程序的任何增加。由于新应用程序安装期间可能会保存旧数据和新数据两者,因此新应用程序未能安装或执行时可能会完成到前一版本的回滚。由于个性化数据不会传送到安全元件106之外,所以信息的隐私和安全在更新进程中受到保护,从而减少或消除了在安全环境中执行更新的需要。

使用迁移管理器可以让用户和应用程序设计者两者皆受益。应用程序设计者可以专注于应用程序开发,并将个性化数据的实际安装和更新的开销与单独应用程序相隔离,从而减轻对变量使用和命名约定的担忧。应用程序开发者也可能知道他们可能会使用完整的可用存储器空间,而不必基于升级代码的保存空间来制定设计决策,所述升级代码在正常操作期间从不执行且引入另一故障点。在没有向产品添加额外存储器的成本以简单地适应更新进程时,用户可以从较低的装置成本获益。用户还可以从能够执行更新,而无需删除照片以便释放存储器以适应升级来获益。

此外,仅出于说明的目的,图式描绘优选实施例。本领域技术人员将从下面的论述中容易地认识到,在不脱离本文描述的原理的情况下,可以采用在本文中示出的结构和方法的替代实施例。

在阅读本公开后,本领域技术人员将通过本文公开的原理理解本文中描述的系统和方法的额外替代结构设计和功能设计。因此,尽管已经说明和描述了具体实施例和应用,但应理解,所公开的实施例不限于在本文中公开的精确结构和组件。在不脱离任何所附权利要求书限定的精神和范围的情况下,可以对本文公开的系统和方法的布置、操作和细节做出各种修改、改变和改变,这对于本领域技术人员而言是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1