一种信息更新方法及装置


公开号 : CN 103957238 A
专利申请号 : CN 201410135680
申请人 : 北京金山网络科技有限公司
【摘要】
本发明提供了一种信息更新方法及装置,包括:确定本地存储的信息与云端存储的信息是否一致,其中,云端存储的信息是供各应用程序共享的信息,本地存储的信息是系统在沙盒机制中为应用程序创建的供该应用程序使用的信息。在不一致时,与云端进行信息更新以使本地存储的信息与云端存储的信息一致。 本发明提供的技术方案克服了沙盒机制下每个应用程序只能读取系统为其创建的信息,各应用程序之间的信息不能共享的问题。

【技术领域】

[0001] 本发明涉及信息处理技术领域,尤其涉及一种信息更新方法及装置。

【背景技术】

[0002] iOS系统采取沙盒机制,即iOS系统应用程序只能在为该程序创建的文件系统中读取写入文件,不可以去访问其他文件系统,而这样的文件系统就是沙盒,所有的非代码文件都要保存在此,例如图像,声音,配置文件,文本文件等。

[0003] 更为形象地讲,就是每个应用程序都有自己的存储空间,其不能翻过自己的围墙去访问别的程序的存储空间的内容,而程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。

[0004] 默认情况下,每个沙盒含有3个文件夹!Documents, Library / Caches和tmp。因为沙盒机制,应用程序只能在几个目录下读写文件,其中建议将程序中建立的或在程序中浏览到的文件数据保存在Documents目录下,iTunes备份和恢复的时候会包括此目录;Library文件夹存储程序的默认设置或其它状态信息;Library / Caches文件夹存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用程序退出删除;tmp文件夹提供一个即时创建临时文件的地方。

[0005] 基于上述的iOS系统沙盒机制,iOS系统为每个应用程序都提供了存储内容的空间,因此各个应用程序可以将其特有的信息存储起来,例如设置信息,用户的个人信息等。

[0006] 现有技术的不足在于,iOS系统中各个应用程序都是孤立的,即使它们来自同一开发商,对于一些公用信息,也因沙盒机制而无法在iOS系统上实现跨应用程序共享,只能由用户一次次重新设置或者填写。


【发明内容】

[0007] 本发明针对上述问题,提出了一种信息更新方法及装置,用以实现在沙盒机制各应用程序的信息共享。

[0008] 本发明提供了一种信息更新方法,其包括:

[0009] 确定本地存储的信息与云端存储的信息是否一致,其中,所述云端存储的信息是供各应用程序共享的信息,所述本地存储的信息是系统在沙盒机制中为应用程序创建的供该应用程序使用的信息;

[0010] 在不一致时,与云端进行信息更新以使本地存储的信息与云端存储的信息一致。

[0011] 本发明还提供了一种信息更新装置,其包括:

[0012] 确定模块,用于确定本地存储的信息与云端存储的信息是否一致,其中,所述云端存储的信息是供各应用程序共享的信息,所述本地存储的信息是系统在沙盒机制中为应用程序创建的供该应用程序使用的信息;

[0013] 更新模块,用于在不一致时,与云端进行信息更新以使本地存储的信息与云端存储的信息一致。[0014] 由于在沙盒机制下,每个应用程序只能读取系统为其创建的信息,使得各应用程序之间的信息不能共享,而在本发明实施例提供的技术方案中,云端存储的信息是可以供各应用程序共享的信息,在通过信息更新保证了本地存储的每个应用程序的信息与云端存储的信息一致后,使得用户在任意一个应用程序下进行信息更新后,该更新的信息通过云端的共享机制使得其他应用程序也能更新该更新后的信息,这样,其他应用程序再在沙盒机制下读取信息时,实质上读取的是该更新后的信息,即使该信息不是在这些应用程序中进行的更新。也即,本发明实施例提供的技术方案事实上克服了沙盒机制下每个应用程序只能读取系统为其创建的信息,各应用程序之间的信息不能共享的问题。


【附图说明】

[0015] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

[0016] 图1为本发明实施例中信息更新方法实施流程示意图;

[0017] 图2为本发明实施例中iOS系统跨应用共享信息实施流程示意图;

[0018] 图3为本发明实施例中iOS系统信息更新实施流程示意图;

[0019] 图4为本发明实施例中信息更新装置结构示意图。





【具体实施方式】

[0020] 为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。

[0021] 图1为信息更新方法实施流程示意图,如图所示,可以包括如下步骤:

[0022] 步骤101、确定本地存储的信息与云端存储的信息是否一致,其中,所述云端存储的信息是供各应用程序共享的信息,所述本地存储的信息是系统在沙盒机制中为应用程序创建的供该应用程序使用的信息;

[0023] 步骤102、在不一致时,与云端进行信息更新以使本地存储的信息与云端存储的信

息一致。

[0024] 为了更好地理解本发明技术方案的实施,下面以iOS系统为例进行说明。

[0025] 需要说明的是,实施中,只要应用程序能够与云端存储的信息进行交互更新,即可克服沙盒机制下每个应用程序只能读取系统为其创建的信息,各应用程序之间的信息不能共享的问题。本领域技术人员容易理解,由于与具体的操作系统无关,因此其实施并不仅限于只能在iOS系统实施。

[0026] 实施中,为了提高安全性,在应用程序与云端进行信息更新时,还可以进一步包括:发起认证,在应用程序认证通过后与云端进行信息更新。

[0027] 云端存储是利用服务器提供的可编程接口,让应用通过简易的认证,就可以从云端读写数据了。具体实施中,参考的认证方式是OAUTH协议,该方式下,直接使用私密的访问令牌去获取权限。OAUTH协议为用户信息的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息,如用户名与密码,即第三方无需使用用户的用户名与密码就可以中请获得该用户信息的授权,可有效保证用户信息的安全。因此,实施中,在发起认证时,可以通过密钥以及设备标识符进行认证。

[0028] 实施中,由于是在iOS系统下进行认证,因此设备标识符可以采用UDID(UniqueDevice Identifier,设备的唯一设备标识符)或 IDFA(Identifier for Advertising,广告标识符)。

[0029] 为更好地理解本发明实施例提供的技术方案,下面以实例进行说明。

[0030] 图2为iOS系统跨应用共享信息实施流程示意图,如图所示,可以包括:

[0031] 步骤201:为iOS系统中共享信息的应用程序设置并分配相同的用于共享信息的密钥;

[0032] 通常iOS系统中有多个应用程序,其中会有几个应用程序中会用到相同的信息,比如天气类的应用程序会用到定位信息,其他社交类等应用程序也会用到定位信息,实施中可以使天气类应用程序和社交类应用程序共享定位信息,在开发该类有共享信息的应用程序时,就为其分配共享密钥,并将该共享密钥写进该类应用程序中,例如,为上述应用应用程序设置并分配它们共享该定位信息的密钥,密钥相同,如设置为,“Secret”等。

[0033] 步骤202:应用程序从iOS系统获取设备的UDID或IDFA ;

[0034] 实施中,UDID是i0S7.0之前的系统中,为应用程序开发商提供的设备的唯一设备标识符,每一台iOS系统终端都会有这样一个唯一的标识,且是固定不变的,主要用于供移动广告商或游戏网络运营商等通过UDID来识别不同的iOS系统终端,并对该终端用户的活动进行跟踪。而在i0S7.0中,禁用了 UDID,取而代之的是IDFA,二者的目的和作用几乎是相同,不同点在于,IDFA在用户关闭追踪开关的时候,其值会发生改变,不能再标识当前设备,后续用户再次开启追踪开关时会获得一个新的标识符。但如果用户不主动改变相关系统设置,IDFA会保持不变并且唯一标识该设备。不论终端的IDFA值是否改变,同一个iOS系统终端上的IDFA值是唯一的,即该iOS系统终端上的所有应用程序通过iOS系统获得的IDFA的值都是相同的。

[0035] 实施中,在应用程序通过iOS系统获取UDID或IDFA时,可以通过iOS系统提供的接口获取,例如:

[0036]通过[[UIDevice currentDevice]unique Identifier]接口获取 UDID ;

[0037]通过[[ASIdentifierManager shareManager] advert isingldent if ier]接 口获取IDFA。

[0038] 步骤203:应用程序通过相同的共享密钥和已获得的UDID或IDFA访问云端其他应用程序共享的信息;

[0039] 图3为iOS系统信息更新实施流程示意图,如图所示,共享信息的应用程序持有相同的密钥,通过相同的密钥+UDID / IDFA作为从云端访问共享信息的认证参数,如图3所示,iOS系统终端上有应用程序A、应用程序B、应用程序C,其中,设置应用程序A和应用程序B可以共享信息,而应用程序C不能与应用程序A和应用程序B共享信息,则为应用程序A和应用程序B设置并分配的密钥” Secret”不能被应用程序C识别,同样为应用程序C设置并分配的密钥” alpha”也不能被应用程序A和应用程序B所识别,即应用程序C通过其密钥+UDID / IDFA不能访问应用程序A和应用程序B的云端信息,而应用程序A和应用程序B可以通过可相互识别的相同密钥+UDID / IDFA从云端相互访问对方用来共享的信息。

[0040] 步骤204:对信息进行更新处理。

[0041] 以图3为例,应用程序A通过和应用程序B相同的共享密钥”secret”+UDID / IDFA可以获取应用程序B的信息,应用程序A可以对其信息进行相应的更新处理,如应用程序A更新应用程序B中的定位信息,则应用程序A的信息更新,会从云端通过更新获得的应用程序B中的定位信息实现。

[0042] 实施中,可以如下:应用程序将云端的共享信息更新时间与应用本地信息的更新时间进行对比,依据两者更新时间的比较结果,对共享的信息进行更新或不更新处理,具体可以是,若云端共享的信息更新时间晚于本地信息的更新时间,则以云端的信息更新应用本地信息;若云端的信息更新时间晚于本地信息的更新时间,则保留本地信息。

[0043] 若云端共享的信息更新时间早于本地信息的更新时间,则将本地信息上传至云端,供其他应用程序共享。如图3所示,若应用程序A从云端共享应用程序B中的定位信息,会进一步判断云端应用程序B更新的定位信息更新时间是否晚于应用程序A本地的定位信息更新时间,若是,则用从云端获取定位信息后对应用程序A本地的定位信息进行更新,否贝U,放弃从云端读取应用程序B的定位信息,保留应用程序A本地当前的定位信息不变或重新设置。判断若从云端获取的应用程序B的定位信息早于应用程序A本地定位信息的更新时间,则将应用程序A本地定位信息上传至云端,供其他应用程序共享。

[0044] 实施中,应用程序在进行对比时,可以为本地信息记录更新时间戳,对云端共享的信息记录更新时间戳,通过时间戳对比来确定先后关系。

[0045] 实施中,当云端共享的信息为空时,初始信息可以通过应用程序本地初始化来设置,如图3所示,若应用程序A从云端获取应用程序B的信息为空时,则对应用程序A进行初始化设置,并可将应用程序A的初始化设置后的信息上传至云端,供应用程序B获取。

[0046] 基于同一发明构思,本发明实施例中还提供了一种信息更新装置,由于该设备解决问题的原理与一种信息更新方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。

[0047] 图4为信息更新装置结构示意图,如图4所示,本发明的实施例提供了一种信息更新装置,其包括:

[0048] 确定模块401,用于确定本地存储的信息与云端存储的信息是否一致,其中,所述云端存储的信息是供各应用程序共享的信息,所述本地存储的信息是系统在沙盒机制中为应用程序创建的供该应用程序使用的信息。

[0049] 更新模块402,用于在不一致时,与云端进行信息更新以使本地存储的信息与云端存储的信息一致。

[0050] 实施中,本发明的实施例提供的一种信息更新装置,进一步包括:认证模块403,用于在应用程序与云端进行信息更新时,发起认证,在应用程序认证通过后与云端进行信息更新。

[0051] 实施中,本发明的实施例提供的一种信息更新装置,认证模块403进一步用于在发起认证时,通过密钥以及设备标识符进行认证。

[0052] 实施中,本发明的实施例提供的一种信息更新装置,确定模块401进一步用于确定由iOS系统在沙盒机制中为应用程序创建的供该应用程序使用的本地存储的信息与云端存储的信息是否一致。

[0053] 实施中,本发明的实施例提供的一种信息更新装置,认证模块403进一步用于在发起认证时,通过密钥以及作为设备标识符的UDID或IDFA进行认证。

[0054] 由上述实施例可见,为了在现有采用沙盒机制的iOS系统中实现跨多个应用进行信息共享,本发明实施例提供的技术方案,通过为iOS系统中的共享信息的应用应用程序设置并分配相同的共享密钥,以及iOS系统的UDID或IDFA,这样,各个应用程序都可以通过共享密钥和UDID或IDFA更新云端的共享信息,继而能够在系统分配的各自的环境下对这些信息进行使用,实质上实现了共享信息的目的,克服了 iOS系统对各个应用程序之间信息共享的限制,简化了用户的操作,有效改善了用户的使用体验。

[0055] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD — ROM、光学存储器等)上实施的计算机程序产品的形式。

[0056] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

[0057] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

[0058] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

[0059] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

[0060] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值