一种应用数据同步的方法及装置
技术领域
本发明涉及电子技术领域,尤其涉及一种应用数据同步的方法及装置。
背景技术
随着电子技术的飞速发展,人们的生活和网络及各种功能各异的电子产品越加紧密的联系在一起,如今,针对不同用户的需求各种智能移动操作系统开始流行,如Android、iOS、WindowsPhone和FireFox等,不同操作系统的用户体验不尽相同,而且现有技术中可以将多种操作系统集成到同一终端上,使用该终端的用户可以根据需求在不同的操作系统间切换,从而使得用户能够在同一设备上体验不同操作系统。
另外,基于不同的操作系统各种丰富和方便人们生活的APP也层出不穷,这些APP能够满足用户学习,工作,生活中的不同需求,人们在使用APP的同时,自然就会产生一些应用数据,应用数据是指:应用在终端上运行时需要使用到的数据,该应用数据包括但不限于通讯录,短信,即时聊天工具的聊天记录,联系人记录,浏览器的书签,浏览历史记录等。这些APP可能在不同操作系统上都有,如Android的通讯录,WP的通讯录,那么用户在一个支持多系统的终端上使用APP时,因为不同的操作系统各自都是独立存在的,所以即使是针对同一用户的应用数据也需要针对不同的操作系统存储多份。存储应用数据的冗余,导致存储空间的浪费;另外,用户需要手动的反复存储同一应用数据,从而造成应用数据同步的操作过程复杂,不便于实现。
针对上述问题,现有技术提供一种解决方案具体为:将应用在各个操作系统的应用数据通过云端服务器的方式进行同步,如微信的聊天记录迁移,dropbox等云存储服务的应用数据同步;
但是上述现有技术存在的问题是:所有应用都需要使用专用的云服务器,同步过程(上传、下载)需要浪费比较多的时间,并且会造成用户体验不佳的问题。
发明内容
本发明实施例提供一种应用数据同步的方法及装置,用以解决现有技术中不同操作系统中安装相同功能的应用时,所有应用都需要使用专用的云服务器,同步过程(上传、下载)需要浪费比较多的时间,并且会造成用户体验不佳的问题。
第一方面,本发明提供一种应用数据同步的方法,该方法应用于终端中,所述终端安装有第一操作系统和第二操作系统,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能,所述方法包括:
当在所述第二操作系统中运行所述第二应用时,使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
所述第一应用数据和所述第二应用数据存储在所述终端中。
结合第一方面,在第一种可能的实现方式中,所述第一应用数据存储在所述终端的第一文件中,所述第二应用数据存储在所述终端的第二文件中,所述第一文件和所述第二文件为不同的文件。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二应用数据根据所述第一应用数据更新的过程,具体包括以下至少一个:
在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据;或者
在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
结合第一方面,在第三种可能的实现方式中,所述第一应用数据和所述第二应用数据存储在所述终端的数据共享文件中。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二应用数据根据所述第一应用数据更新的过程,包括:
在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
第二方面,本发明还提供一种终端,该终端安装有第一操作系统和第二操作系统,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能,所述终端包括:
更新模块,当在所述第二操作系统中运行所述第二应用时,用于使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
设置在所述终端内的存储模块,用于存储所述第一应用数据和所述第二应用数据。
结合第二方面,在第一种可能的实现方式中,存储模块还用于将所述第一应用数据存储到第一文件中,将所述第二应用数据存储到第二文件中,所述第一文件和所述第二文件为不同的文件。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述更新模块还用于在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据;或者在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
结合第二方面,在第三种可能的实现方式中,所述存储模块用于将所述第一应用数据和所述第二应用数据存储在数据共享文件中。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述更新模块还用于在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
第三方面,本发明还提供另外一种终端,该终端安装有第一操作系统和第二系统,并且该终端内设置有处理器和存储器:
该存储器中保存有所述第一操作系统和第二操作系统对应的系统数据,其中,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能;
所述处理器,用于调用所述系统数据对应运行所述第一操作系统或第二操作系统,当在所述第二操作系统中运行所述第二应用时,还使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
所述存储器,还用于存储所述第一应用数据和所述第二应用数据。
结合第三方面,在第一种可能的实现方式中,存储器还用于将所述第一应用数据存储到第一文件中,将所述第二应用数据存储到第二文件中,所述第一文件和所述第二文件为不同的文件。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器还用于在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据;或者在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
结合第三方面,在第三种可能的实现方式中,所述存储器还用于将所述第一应用数据和所述第二应用数据存储在数据共享文件中。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器还用于在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
本发明实提供的方案中,终端如果在两个系统中安装有相同的应用,则会检测任一系统应用是否有数据更新,如果有,则会将更新的数据同步到另外一个系统对应的应用中,从而使得不同系统间同一应用的数据的共享更加方便,耗时更短,解决了目前同一终端上多个系统间的数据共享需要使用专用的云服务器,同步过程(上传、下载)往往比较耗时,用户体验不佳的问题。
附图说明
图1为本发明实施例一提供的一种应用数据同步的方法的流程示意图;
图2为本发明实施例二提供方法所适用的终端结构示意图;
图3为本发明实施例二提供的一种应用数据同步的方法的流程示意图;
图4为为本发明实施例三提供方法所适用的终端结构示意图;
图5为本发明实施例三提供的一种应用数据同步的方法的流程示意图;
图6为本发明实施例四提供的一种终端的结构示意图;
图7为本发明实施例五提供的一种终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术的问题本发明提供一种应用数据同步的方法,该方法应用于终端中,所述终端安装有第一操作系统和第二操作系统,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能,所述方法包括:
当在所述第二操作系统中运行所述第二应用时,使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
所述第一应用数据和所述第二应用数据存储在所述终端中。
现有技术中,有些装有双系统的终端,很多时候都会在两个系统中装一些相同的应用,因为两个系统不能同时使用,而且两个系统数据格式不相同等原因,所以即使两个系统安装了相同的应用,这两个应用需要使用专用的云服务器,同步过程(上传、下载)共享数据,所以这样的设置会出现数据同步困难的问题。本发明实提供的方案中,终端如果在两个系统中安装有相同的应用,则会检测任一系统应用是否有数据更新,如果有,则会将更新的数据同步到另外一个系统对应的应用中,从而使得不同系统中同一应用的数据的共享更加方便,耗时更短。
为了更清楚详细的说明本发明提供的方案,下面结合说明书附图对本发明实施例作进一步详细描述。
实施例一
本发明实施例所提供的方案是通过终端内部共享的方式实现两个操作系统中应用数据共享,所以任一操作系统中需要数据共享的第一应用出现数据的更新,则可以将更新的数据共享到另一操作系统中(所述另一操作系统中安装有与所述第一应用相同功能的第二应用)。
另外,也可以是在所述另一操作系统启动并使用所述应用时候,如果发现所述任一操作系统有更新,则利用第一应用的更新数据对所述第二应用的数据进行更新。
如图1所示,基于上述两个系统进行数据更新的可实现方式,本发明实施例提供一种应用数据同步的方法,该方法应用于终端中,所述终端安装有第一操作系统和第二操作系统,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能;
在该实施例中,假设第一操作系统中的第一应用先进行了数据更新,终端需要将更新的数据同步到第二操作系统的第二应用,则具体的实现可以是:
步骤101,当在所述第一操作系统中运行的所述第一应用使用第一应用数据执行所述功能时,对第一应用数据进行更新;
在本发明实施例中,所述第一文件中为支持所述第一应用运行的数据库文件,并且对第一应用数据更新产生的更新数据也存储到所述第一文件中。例如,第一应用为通讯录,则所述第一文件为存储在终端中的通讯录数据库文件,所述第一应用数据则是用户输入的各通讯录项(例如:姓名、联系方式、地址等等)。
步骤102,所述终端将更新后的所述第一应用数据存储到所述第一文件;
步骤103,当在所述第二操作系统中运行所述第二应用时,使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的。
在本发明实施例中,因为终端通过本地操作实现数据的共享同步,所以不管是第一应用和第二应用原有的数据以及更新的数据都存储在终端的本地存储设备中。
在本发明实施例中,因为在第一操作系统下有针对第一应用的更新数据并且将更新数据存储到了第一文件中,所以当在第二操作系统中运行所述第二应用时,如果所述第二应用数据根据所述第一应用数据更新,则使得在第二操作系统中运行的第二应用能够共享到第一应用运行时候更新的数据。从而达到第二操作系统共享第一操作系统数据的有益效果。
因为本发明所提供的方法,要实现不同操作系统之间的数据共享,针对不同操作系统数据的存储方式,下面提供两种本发明方案的具体实现方法,具体包括:
实施例二、
针对第一种数据存储方式、两个操作系统的数据分别存储第一应用和第二应用对应的数据,即所述第一应用数据存储在所述终端的第一文件中,所述第二应用数据存储在所述终端的第二文件中,所述第一文件和所述第二文件为不同的文件。在该实施例中所述第一文件存储于所述终端的第一存储位置,所述第二文件存储在所述终端的第二存储位置,并且第一存储位置与第二存储位置不相同。则安装在第一操作系统中的第一应用的运行通过存储在第一位置的第一文件支持,第二应用的通过存储在第二位置的第二文件支持。则在该实施例中,文件和数据的更新具体实现可以是:
首先,因为第二文件与第一文件独立存储,如果以实施例一的方式为例,终端首先是使用第一操作系统第一应用生成了第一应用数据,并在终端上使用第一文件保存第一应用数据,则所述第二应用数据根据所述第一应用数据更新的具体实现可以包括下面方式:
一、在第二操作系统启动时,终端统一将第一操作系统使用第一应用时产生的数据一次性更新到第二文件,则所述第二应用数据根据所述第一应用数据更新,具体包括:
在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据。
在数据更新时的具体实现方式可以是:比较所述第一文件和所述第二文件的更新时间,确定所述第一文件的更新时间较晚,利用第一文件中存储的所述第一应用数据更新所述第二应用数据,并将更新后的所述第二应用数据存储到所述第二文件中。
具体的比较记录文件的更新时间的方法,可以是,获取记录两个存储应用数据的文件在终端上的存储位置,分别读取两个文件的更新时间,并进行比较;或者,通过存储配置文件中的更新时间记录直接对比两个存储应用数据的文件的更新时间;
例如在第一存储位置读取到第一文件,并确定所述第一操作系统中所述第一文件的更新时间为:2011-02-1215:43:00,在第二存储位置读取到所述第二文件,确定所述第二操作系统中所述第二文件的更新时间为:2011-02-1120:00:00,比较所述第一文件和所述第二文件的更新时间后,确定所述第一文件的更新时间较晚,即第一文件中保存有最新的应用数据,所以利用第一文件中保存的第一应用数据更新第二文件中保存的第二应用数据,则能够使得两个操作系统的中数据都保持最新。
所以对于终端来说,可以将第一文件中的第一应用数据格式化为所述第二操作系统的数据格式后,存储到所述第二文件中。
二、因为第一文件和第二文件的存储位置都是固定的,所以第一文件中存储的第一应用数据在更新时,可以是实时的将更新数据同步到第二操作系统,所以所述第二应用数据根据所述第一应用数据更新,的具体实现还可以是:
在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
在上述两种方式中,都需要使用第一应用数据更新第应用二数据,因为两个操作系统的数据格式以及更新数据的内容不相同,所以在本发明实施例中,可以通过以下方式对数据进行更新,具体包括:
因为操作系统的不同所以不同操作系统中运行的应用所对应的数据格式也会不相同,所以为了实现数据的同步更新,首先需要将待同步数据的格式进行同步,所以所述第二应用数据根据所述第一应用数据更新的更新实现包括:
确定所述第一应用数据和所述第二应用数据分别对应的第一数据格式和第二数据格式,检测所述第一数据格式与第二数据格式是否相同,如果不相同,则将所述第一应用数据格式转换为所述第二数据格式;
利用所述第二应用数据格式的第一数据更新所述第二应用数据。
另外,在数据格式统一之后,对于需要同步的数据本发明实施例可以采用增量添加方式或者是覆盖方式进行数据更新,则利用所述第二应用数据格式的第一应用数据更新所述第二应用数据的具体实现方式可以是:
利用所述第二数据格式的第一应用数据覆盖所述第二应用数据;或者
比较所述第二数据格式的第一应用数据和所述第二应用数据,确定所述第二数据格式的第一应用数据与所述第二应用数据之间的差异数据;利用所述差异数据调整所述第二应用数据。
考虑到两个操作系统中即使是实现同一功能的应用任然会存在数据格式不相同的问题,所以在上述数据同步更新方式中,在同步数据之前会对待同步的数据进行格式的统一转化,所以解决了具有不同数据格式的操作系统间数据无法直接同步的问题。
为了更清楚详细的说明本发明实施例所提供的上述方法的具体实现过程,以下利用图2所示的终端结构和图3所示的数据同步方法流程,对本发明实施例所提供的方法做进一步详细的说明,具体包括步骤:
由于系统中原生应用数据存储的位置,格式等信息已知,所以本发明实施例所提供的方案可以是在第一操作系统(例如:Android系统)和第二操作系统(例如:WP系统)中分别实现一个守护进程,Android系统启动时,挂载WP系统的存储区域,确定原生应用数据存储位置(及第一操作系统中第一应用数据的存储位置以及第二操作系统中第二应用数据的存储位置都可获取),并同步两个系统中的原生应用数据,在该实施例中如果具有同一功能的应用为通讯录,则守护进程主动监听通讯录,通话记录,短信等数据的变化;
守护进程使用存储配置文件来确定WP原生应用数据的存储位置,WP版本更新后,如果通讯录数据存储位置有变化,则更新配置文件;
则在上述应用环境中,实现本发明实施例所提供的一种应用数据同步的方法的流程,具体步骤包括(如图3所示):
步骤301,终端启动Android系统,挂载WP系统的存储区;
步骤302,守护进程启动后,读取存储配置文件,确定WP系统通讯录数据的位置(即第一应用数据的存储位置),并读取WP存储区中的WP通讯录数据(即第二应用数据的存储位置);
其中,所述存储配置文件存储有两个操作系统中相同功能应用的数据文件存储位置等相关信息。
步骤303,守护进程读取到Android通讯录数据,并对比Android通讯录数据和WP通讯录数据,将需要转换的数据进行格式转换后再替换较旧数据;
在该步骤中,替换较旧数据的具体方式是:检测Android通讯录数据和WP通讯录数据中那个通讯录的更新时间较晚,将更新较晚的数据作为新数据来替换较旧的数据。
步骤304,当接收到用户的操作,该操作是打开Android通讯录应用,修改(或者是添加)一个联系人信息并保存;
步骤305,守护进程监听到Android通讯录数据有变化。例如,新增了联系人;
步骤306、通过存储配置文件,更新WP存储区中WP通讯录数据。
通过上述步骤则可以实现本发明所需要达到的目的:实现两个操作系统的数据共享。因为本发明所提到的终端中安装有两个操作系统,所以在本实施例中,还进一步的详细介绍操作系统切换后的具体实现:
步骤307、在Android系统中选择切换到WP系统;
步骤308、设备重启,通过bootloader引导进入WP系统,挂载Android存储区;
步骤309、守护进程启动后,通过存储配置文件查找Android存储区中的Android通讯录数据;
步骤310、查找到WP通讯录数据,并对比Android和WP通讯录数据,用较新数据替换较旧数据;
步骤311、启动WP通讯录,加载通讯录数据。
在本发明实施例中,为了实现两个操作系统的数据同步,需要通过存储配置文件记录两个操作系统中各应用的相关信息,则所述存储配置文件记录的内容包括:
存储配置文件是用来记录Android系统以及WP系统中通讯录等应用数据的存储细节,如存储位置,存储格式,大小,文件系统等。由于设备制造商能够获取到设备的各个系统中系统应用的数据的存储位置,因此,可以将存储配置文件预置在设备中,一旦操作系统版本升级,数据存储位置变更,则可以通过OTA等方式进行更新。下面是一个存储配置文件的例子,具体实施时,可以参照此例,但此例并非为实施例一的限制,本领域技术人员可以采用其他手段进行扩展,如采用JSON格式等;
监控通讯录数据变化的方法:
Android中守护进程通过查找Android系统中packages.list文件中,应用程序数据存储位置,获取Android系统中通讯录数据的存储位置,并对其进行监控,可以使用Android系统中的inotify机制来实现,但不限制使用其他方式;
packages.list文件内容示例:
com.google.android.location 100570/data/data/com.google.android.location
com.northpark.pushups 100290/data/data/com.northpark.pushups
com.northpark.situps 100460/data/data/com.northpark.situps
com.DefiantDev.SkiSafari 100590/data/data/com.DefiantDev.SkiSafari
com.android.defcontainer 100360/data/data/com.android.defcontainer
在该packages.list文件内容示例中,每一行代表了一个数据共享应用的相关信息,例如:应用名称(com.google.android.location)、应用标识(10057)以及应用对应数据的存储位置(data/data/com.google.android.location)。
实施例三
针对第二种数据存储方式、将两个操作系统中需要共享数据的相同功能能应用所对应的数据存储到一个文件中,即所述第一应用数据和所述第二应用数据存储在所述终端的数据共享文件中。则在该实施例中,文件和应用数据的更新具体实现可以是:
所述第一文件由所述第一操作系统根据数据共享文件映射到所述第一操作系统的文件系统;当所述第一操作系统检测到所述第一应用程序将所述第一应用数据存储到所述第一文件的请求时,由所述第一操作系统将所述第一数据根据预设的格式存储到所述数据共享文件中;
因为应用程序所使用的是操作系统的文件系统中的数据文件,是由操作系统的驱动程序根据存储器上存储的数据共享文件映射到操作系统的文件系统的。所以所述第一文件由所述第一操作系统根据数据共享文件映射到所述第一操作系统的文件系统。
所述第二文件由所述第二操作系统根据所述数据共享文件映射到第二操作系统的文件系统。
因为在该实施例中,只需要存储一份数据共享文件即可,所以每个操作系统在运行安装的应用时,首先需要通过特定的驱动将存储的共享数据文件加载后才能进行使用,所以本发明实施例中,所述第二应用数据根据所述第一应用数据更新的过程,包括:
在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
为了让第一操作系统后续也能使用到第二操作系统更新形成的数据,使用第二文件执行所述功能,并更新第二应用数据后,该方法还包括:
当在所述第二操作系统中,检测到所述第二应用程序将所述第二应用数据存储到所述第二文件的请求时,将所述第二应用数据根据预设的格式存储到所述数据共享文件中。从而使得所述所述共享文件能够实时更新。
另外,为了实现第一操作系统和第二操作系统的数据兼容,所述将更新后的第二应用数据存储到所述数据共享文件之前还包括:将所述第二数据格式的第二应用数据转换为所述第一文件的数据格式;
进一步,为了减少数据冗余节约终端的存储资源,所述第二操作系统退出运行后,所述终端删除所述第二文件。
为了更清楚详细的说明本发明实施例所提供的上述方法的具体实现过程,以下利用图4所示的终端结构和图5所示的数据同步方法流程,对本发明实施例所提供的方法做进一步详细的说明,具体包括步骤:
所以本发明实施例所提供的方案可以是在第一操作系统(例如:Android系统)和第二操作系统(例如:WP系统),为了实现终端对所第一操作系统和第二操作系统中的数据监控,可以在Android系统和WP系统中分别增加一个驱动和中间层软件,将需要共享数据的应用在安装时向中间层注册,中间层软件将应用注册信息写入到共享存储区的存储配置文件中,中间层软件负责处理所有数据访问操作,并根据存储配置文件过滤,共享区驱动负责将所有已注册软件的数据共享文件映射到当前操作系统的文件系统中,以便已注册软件对应用数据进行访问;
切换到WP系统时,应用读取数据时,也通过中间层软件判断是否要从共享存储区读取数据,进而决定是否通过共享区驱动映射数据共享文件到WP系统的文件系统中,以便应用读写数据;
在该实施例中以Android系统和WP系统以及第一应用为Android QQ和第二应用为WP QQ为例,则对应的第一应用数据为Android QQ对应的数据,第二应用数据为WP QQ对应的数据,对本发明实施例所提供的方法进行说明,具体流程步骤包括(如图5所示);
步骤501、Android系统中安装QQ;
步骤502、QQ向中间件注册为需要共享数据的应用,提供应用自身的信息以及使用应用数据的验证信息等,验证信息用来保证WP系统中只有QQ能够使用所述应用数据;
步骤503、中间件记录QQ的注册请求,保存QQ的验证信息,并记录在存储配置文件中,存储在共享区中;
步骤504、运行QQ,产生聊天记录等信息;
步骤505、通过数据存储接口存储聊天记录;
步骤506、中间件根据存储配置文件识别出QQ需要将聊天记录存储到共享区,通过共享区驱动将共享存储区中QQ的数据共享文件映射到Android的文件系统中,QQ通过映射的文件存储聊天记录;
步骤507、切换至WP系统;
步骤508、安装QQ的WP版本;
步骤509、向中间件注册需要使用共享存储区(即数据共享文件);
步骤510、中间件通过存储配置文件查找共享存储区信息,对比WP QQ的验证信息,若验证通过,则记录WP QQ的注册信息,将WP QQ与存储QQ数据的共享区绑定;
步骤511、启动WP QQ,通过数据访问接口获取数据;
步骤512、中间件识别出WP QQ需要通过共享区访问数据,通过共享区驱动将共享存储区中QQ的数据共享文件映射到WP的文件系统中,WP QQ通过映射的文件读取应用数据;
步骤513、WP QQ读取到数据并加载,用户开始正常使用。
在上述实施例中,数据共享文件的映射,可以是在WP操作系统启动时进行,也可以是在获取到第WP QQ的访问请求时进行。
在本发明实施例中,终端的处理器在Android系统安装QQ时,根据QQ的注册请求,将QQ注册为需要共用数据的应用,并提取QQ的标识(可以是应用标识符),以及QQ的验证信息(用于保证QQ的数据不被其他应用访问),存储位置,并将这些信息记录到存储配置文件中,存储配置文件的形式可以如下:
上述配置文件的举例只是本实施例所提供的一种可实现方式,并不限定本发明实施例所提供的方法只能通过上述一种方式生成配置文件。
现有技术中,有些装有双系统的终端,很多时候都会在两个操作系统中装一些具有相同功能的应用,因为两个系统不能同时使用,而且两个系统数据格式不相同等原因,所以即使两个系统安装了相同功能的应用,这两个应用也不能通过本地同步方式实现数据共享,所以这样的设置会出现数据不同步的问题。本发明实提供的方案中,终端如果在两个系统中安装有相同的应用,则会检测任一系统应用是否有数据更新,如果有,则会将更新的数据同步到另外一个系统对应的应用中,从而使得不同系统间同一应用的数据的共享更加方便,耗时更短。
实施例四
如图6所示,本发明实施例提供一种终端600,该终端600安装有第一操作系统和第二系统,并且该终端600内设置有处理器601和存储器602,所述终端600包括:
该存储器602中保存有所述第一操作系统和第二操作系统对应的系统数据,其中,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能
处理器601,用于调用所述系统数据对应运行所述第一操作系统或第二操作系统,当在所述第二操作系统中运行所述第二应用时,还使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
所述存储器602,还用于存储所述第一应用数据和所述第二应用数据。
在本发明实施例中,因为在第一操作系统下有针对第一应用的更新数据并且将更新数据存储到了第一文件中,所以当在第二操作系统中运行所述第二应用时,如果所述第二应用数据根据所述第一应用数据更新,则使得在第二操作系统中运行的第二应用能够共享到第一应用运行时候更新的数据。从而达到第二操作系统共享第一操作系统数据的有益效果。
因为本发明所提供的方案,要实现不同操作系统之间的数据共享,针对不同操作系统数据的存储方式,下面提供两种本发明方案的具体实现方式,具体包括:
方式一、第一应用和第二应用对应的数据分别存储,存储器602还用于将所述第一应用数据存储到第一文件中,将所述第二应用数据存储到第二文件中,所述第一文件和所述第二文件为不同的文件。则在该实现方式中,文件和应用数据的更新具体实现可以是:
所述处理器601还用于通过以下两种方式实现第二应用数据根据所述第一应用数据更新:
在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据;或者
在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
方式二、将两个操作系统中需要共享数据的相同功能能应用所对应的数据存储到一个数据文件中,即第一操作系统和第二操作系统都调用数据共享文件中的数据支持第一应用和第二应用的运行。
则所述存储器602还用于将所述第一应用数据和所述第二应用数据存储在数据共享文件中。
则在该实施例中,文件和应用数据的更新具体实现可以是:
因为第二应用数据根据所述第一应用数据更新,所以所述处理器601还用于在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
实施例五
如图7所示,根据上述方法本发明提供另外一种终端700,该终端700安装有第一操作系统和第二操作系统,所述第一操作系统中安装了第一应用,所述第二操作系统中安装了第二应用,所述第一应用和所述第二应用实现了至少一个相同功能,其特征在于,所述终端700包括:
更新模块701,当在所述第二操作系统中运行所述第二应用时,用于使用第二应用数据执行所述功能,并更新所述第二应用数据,所述第二应用数据根据所述第一应用数据更新,所述第一应用数据是在所述第一操作系统中运行所述第一应用执行所述功能时更新的;
设置在所述终端内的存储模块702,用于存储所述第一应用数据和所述第二应用数据。
因为终端安装了两个操作系统,所以在存储两个操作系统的数据时,一般会采用两种存储方式,一是两个操作系统的数据分别独立存储;另外,因为两操作系统的数据会有很多重叠的部分,所以为了节约存储空间也可能设置两个操作系统共享某些文件中的数据;
一、针对两个操作系统的数据单独存储的数据存储方式、两个操作系统的数据分别存储第一应用和第二应用对应的数据,则所述存储模块702还用于将所述第一应用数据存储到第一文件中,将所述第二应用数据存储到第二文件中,所述第一文件和所述第二文件为不同的文件。
在该实施例中所述第一文件存储于所述终端的第一存储位置,所述第二文件存储在所述终端的第二存储位置,并且第一存储位置与第二存储位置不相同。则安装在第一操作系统中的第一应用的运行通过存储在第一位置的第一文件支持,第二应用的通过存储在第二位置的第二文件支持。
在该存储方式中,因为第一操作系统的数据和第二操作系统的数据是分别存储的,所以所述第二应用数据根据所述第一应用数据更新的时候,所述更新模块701,还用于在所述第二操作系统启动时,若确定所述第一文件的更新时间晚于所述第二文件的更新时间,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的第一应用数据更新所述第二文件中存储的第二应用数据;
或者在所述第一应用数据发生更新时,根据所述第一文件和所述第二文件的存储位置,使用所述第一文件中存储的更新后的第一应用数据更新所述第二文件中存储的第二应用数据。
二、针对两个操作系统共享数据文件的方式,则所述存储模块702用于将所述第一应用数据和所述第二应用数据存储在数据共享文件中。
因为第一应用和第二应用在两个操作系统生成的数据都存储到一个数据共享文件中,所以在第二应用数据根据所述第一应用数据更新时,所述更新模块701还用于在所述第一应用数据更新时,将所述更新后的第一应用数据存储到所述数据共享文件;将所述数据共享文件映射到所述第二操作系统后生成所述第二应用数据。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
现有技术中,有些装有双系统的终端,很多时候都会在两个系统中装一些相同的应用,因为两个系统不能同时使用,而且两个系统数据格式不相同等原因,所以即使两个系统安装了相同的应用,这两个应用也不能共享数据,所以这样的设置会出现数据不同步的问题。本发明实提供的方案中,终端如果在两个系统中安装有相同的应用,则会检测任一系统应用是否有数据更新,如果有,则会将更新的数据同步到另外一个系统对应的应用中,从而使得不同系统间同一应用的数据的共享更加方便,耗时更短。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。