发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明提供一种云端服务器、应用软件的云同步方法和***,可同步终端中安装的应用软件,以实现该应用软件的共享。
一方面,本发明提供了一种应用软件的云同步方法,包括:
第一属性信息获取步骤:获取终端当前已安装的各应用软件的第一属性信息;
判断步骤:判断预先获取的各应用软件的第二属性信息与所述第一属性信息的差异;
同步处理步骤:根据第一属性信息与第二属性信息的差异,实现终端与云服务器的应用软件的同步。
另一方面,本发明提供了一种云端服务器,包括:
第一属性信息获取模块,用于获取终端当前已安装的各应用软件的第一属性信息;
判断模块,用于判断预先获取的各应用软件的第二属性信息与所述第一属性信息的差异;
同步处理模块,根据第一属性信息与第二属性信息的差异,实现终端与服务器的应用软件的同步。
又一方面,本发明还提供了一种应用软件的云同步***,包括上述云端服务器以及与该云端服务器通信连接的终端。
本发明提供的技术方案中,可获取终端当前已安装应用软件的属性信息,并判断该属性信息与云端已有应用软件的属性信息之间的差异,根据该差异进行应用软件的同步处理,可以实现多个终端之间共享应用软件,避免使用不同终端时,重复从网络下载软件、解压文件等操作,非常方便。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的设备的智能控制方法的流程图。如图1所示,该方法包括:
第一属性信息获取步骤S11:获取终端当前已安装的各应用软件的第一属性信息。该终端可为,例如便携式电脑、智能手机、pad、台式电脑等。该应用软件可为,例如安装在终端中的游戏软件、文字/图像/动画处理软件、业务管理软件、***优化软件、杀毒软件等。该应用软件的第一属性信息可包括程序包名称、版本号、发布日期、来源信息、大小信息等。
第一属性信息获取步骤S11中,具体可从终端的目标存储目录下读取终端当前已安装的各应用软件的第一属性信息。例如,在安卓***中,终端中已安装的应用软件的安装文件可在***目录/data/app下找到。本实施例中,“安装文件”可包括原始安装文件、补丁包、升级包等,其可包括对应的应用软件的第一属性信息。因此,只要访问该路径即可读取所有当前安装的应用软件的第一属性信息。通过这种方式,可快速找到已安装的应用软件以提高同步效率。
判断步骤S12:判断预先获取的各应用软件的第二属性信息与所述第一属性信息的差异。预先获取的各应用软件,是指在先已存储在云端的应用软件,包括在先从终端同步至云端的应用软件。该第二属性信息与第一属性信息的意义相同,区别仅在于,第一属性信息从终端获取,第二属性信息在云端获取。
同步处理步骤S13:根据第一属性信息与第二属性信息的差异,实现终端与云服务器的应用软件的同步。
具体地,在步骤S13中,可根据第一属性信息和第二属性信息之间的差异,判断终端中是否具有尚未上传的应用软件,如果是,向终端发出尚未上传的应用软件的可上传列表。
接收到该可上传列表后,终端用户可根据需要选择列表中的部分或全部应用软件进行同步上传。此时,在同步处理步骤中,接收终端发送的上传请求,并根据接收的上传请求从终端获取可上传列表中的部分或全部的应用软件的安装文件进行存储,例如,从终端获取并存储用户选择上传的应用软件的安装文件。
可选地,在步骤S13中,也可根据第一属性信息和第二属性信息之间的差异,判断是否具有应用软件可供终端下载,如果是,向终端发出可供下载的应用软件的可下载列表。
接收到该可下载列表后,终端用户可根据需要选择列表中的部分或全部应用软件进行同步下载。此时,在同步处理步骤中,接收终端发送的下载请求,并根据接收的下载请求将可下载列表中的部分或全部应用软件的安装文件发送至终端。
因此,不仅能够实现应用软件从终端到云端的同步,也能够实现云端到终端的同步,多个终端可以同步进行,例如,同时分别向第一终端和第二终端分别发送可上传列表和可下载列表,第一终端通过上传接口实现上传,第二终端通过下载接口实现下载,可实现快速共享。
通过向终端反馈可下载列表和可同步列表,可使终端用户能够及时了解当前的应用软件的同步情况,并且能使及时、方便地进行同步操作,避免误操作。
第二属性信息与第一属性信息之间的差异,具体可包括,例如,具有不同的程序包名称、版本号、发布日期、来源信息或大小信息等。步骤S13中,通过对第二属性信息与第一属性信息之间差异的解析,可判断终端中有哪些应用软件没有同步至云端,以及云端中有哪些应用软件没有同步至终端。上述同步,不仅包括对新的应用软件的存储,还可包括对已有应用软件的更新、升级等,例如将升级包、补丁包等进行同步上传或下载。
通过对应用软件的安装文件进行存储或更新,不仅能够在第一应用软件的类型不同于第二应用软件时对其进行同步,还可在第一应用软件作为已存储的第二应用软件的更新或升级版本的应用软件时,对第一应用软件进行同步。
可根据步骤S12中判断的差异,判断与该差异对应的应用软件是新的应用软件或者是已有的需要更新的应用软件。例如,在当终端和云端具有不同的安装包名称或者不同的来源信息的情况下,可判断该差异对应的应用软件为新的应用软件;在终端和云端于同一安装包下具有不同的升级包名称、不同的描述文件、不同的发布日期等的情况下,可判断该差异对应的应用软件为已有的需要更新的应用软件。
可选地,在步骤S11或步骤S13之前还包括:
验证步骤:验证终端的合法性。例如,通过输入账号密码的方式建立终端和云端之间的文件传输连接。
图2为本发明实施例2提供的一种云端服务器的框图。该云端服务器可执行上述实施例中的应用软件的云同步方法,如图2所示,该云端服务器包括:
第一属性信息获取模块21,用于获取终端当前已安装的各应用软件的第一属性信息。该第一属性信息获取模块21具体可从终端的目标存储目录下读取终端当前已安装的各应用软件的第一属性信息。
判断模块22,用于判断预先获取的各应用软件的第二属性信息与所述第一属性信息的差异。
同步处理模块23,用于根据第一属性信息与第二属性信息的差异,实现终端与服务器的应用软件的同步。
具体地,该同步处理模块23用于,根据第一属性信息和第二属性信息之间的差异,判断终端中是否具有尚未上传的应用软件,如果是,向终端发出尚未上传的应用软件的可上传列表。进一步,该同步处理模块还用于接收从终端发送的上传请求,并根据接收的上传请求从终端获取可上传列表中的部分或全部的应用软件的安装文件进行存储。
该同步处理模块23具体还可用于,根据第一属性信息和第二属性信息之间的差异,判断云端服务器中是否具有应用软件可供终端下载,如果是,向终端发出可供下载的应用软件的可下载列表,进一步该同步处理模块23还用于接收从终端发送的下载请求,并根据接收的下载请求将可下载列表中的部分或全部的应用软件的安装文件发送至终端。
可选地,本实施例中的云端服务器还包括:验证模块,用于验证终端的合法性。
图3为本发明实施例3提供的应用软件的云同步***,包括上述实施例中的云端服务器和与云端服务器连接的终端。上述连接,可包括应用软件安装文件的传输、云端服务器对终端的应用软件的属性信息的读取、向终端发送可上传列表和/或可下载列表、从终端接收同步请求等通信连接。
本发明上述实施例中的各技术方案,可获取终端当前已安装应用软件的属性信息,并获取该属性信息与云端已有应用软件的属性信息之间的差异,根据该差异进行应用软件的同步处理,可以实现多个终端之间共享应用软件,避免使用不同终端时,重复从网络下载软件、解压文件等操作,非常方便。
图4是本发明通过上述实施例实现应用软件云同步的一个示例图。
如图4所示,云端服务器对第一终端(如PAD 1-PAD 3)进行合法性验证后,通过在第一终端目标存储目录下获取第一终端当前已安装应用软件的属性信息,并向第一终端发送可上传列表,第一终端用户选择需要上传的应用软件的安装文件时,向云端服务器发送上传请求,云端服务器即从终端获取需要上传的应用文件的安装文件。
云端服务器对第二终端(如PAD N-1和PAD N)进行合法性验证后,通过在第二终端目标存储目录下获取第二终端当前已安装应用软件的属性信息,并向第二终端发送可下载列表,第二终端用户选择需要下载的应用软件的安装文件时,向云端服务器发送下载请求,云端服务器将需要下载的应用软件的安装文件发送至终端。
在本发明上述各实施例中,实施例的序号仅仅便于描述,不代表实施例的优劣。对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的装置和方法等实施例中,显然,各部件或各步骤是可以分解、组合和/或分解后重新组合的。这些分解和/或重新组合应视为本发明的等效方案。同时,在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
最后应说明的是:虽然以上已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。