发明内容
本公开实施例至少提供一种文件共享方法、装置、计算机设备以及存储介质。
第一方面,本公开实施例提供了一种文件共享方法,应用于终端设备,所述方法包括:
响应于针对目标应用的文件下载触发事件,获取所述目标应用的待下载的应用文件对应的文件配置信息;
基于所述文件配置信息、以及所述终端设备中的至少一个候选共享文件,从所述至少一个候选共享文件中,确定与所述应用文件相同的目标共享文件;
基于所述目标共享文件,获取本地文件;
其中,所述本地文件用于代替所述应用文件。
在一种可选的实施方式中,在所述目标共享文件为内部存储中的文件时,所述基于所述目标共享文件,获取本地文件,包括:
在所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述在所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件,包括:
在确定所述终端设备保存有所述目标共享文件对应的软链接文件、并且所述软链接文件处于有效状态时,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述在所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件,包括:
在确定所述终端设备未保存所述目标共享文件对应的软链接文件时,生成所述目标共享文件对应的软链接文件,将生成的所述软链接文件作为本地文件;
或者,在确定所述终端设备保存有所述目标共享文件对应的软链接文件、并且所述软链接文件处于失效状态时,生成所述目标共享文件对应的软链接文件,将生成的所述软链接文件作为本地文件。
在一种可选的实施方式中,在所述目标共享文件为外部存储中的文件时,所述基于所述目标共享文件,获取本地文件,包括:
在所述终端设备中获取所述目标共享文件的复制文件,将所述复制文件作为本地文件。
在一种可选的实施方式中,所述文件配置信息包括所述应用文件的唯一性信息,通过以下步骤在所述至少一个候选共享文件中确定与所述应用文件相同的目标共享文件:
从所述文件配置信息中确定出所述应用文件的唯一性信息;
基于所述应用文件的唯一性信息和所述至少一个候选共享文件中每个候选共享文件的唯一性信息,在所述至少一个候选共享文件中确定出对应的唯一性信息与所述应用文件的唯一性信息相同的目标共享文件。
在一种可选的实施方式中,所述方法还包括:
基于所述文件配置信息、以及所述终端设备中的至少一个候选共享文件,确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件,从所述服务器处下载所述应用文件。
在一种可选的实施方式中,所述文件配置信息包括所述应用文件的唯一性信息,通过以下步骤确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件:
从所述文件配置信息中确定出所述应用文件的唯一性信息;
基于所述应用文件的唯一性信息和所述至少一个候选共享文件中每个候选共享文件的唯一性信息,确定所述应用文件的唯一性信息与所述至少一个候选共享文件中各候选共享文件的唯一性信息均不相同时,确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件。
在一种可选的实施方式中,在所述从所述服务器处下载所述应用文件之后,所述方法还包括:
在所述应用文件为内部存储中的文件时,获取所述应用文件对应的软链接文件,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述方法还包括:
响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件对应的软链接文件处于异常状态时,修复处于异常状态的软链接文件;
或者,响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件不具备对应的软链接文件时,删除该候选共享文件。
在一种可选的实施方式中,所述至少一个候选共享文件包括所述目标应用所关联的至少一个第一本地应用的文件,其中,所述第一本地应用是与所述目标应用具有相同的文件的应用。
第二方面,本公开实施例提供了一种终端设备,所述终端设备包括:
信息获取模块,用于响应于针对目标应用的文件下载触发事件,获取所述目标应用的待下载的应用文件对应的文件配置信息;
目标确定模块,用于基于所述文件配置信息、以及所述终端设备中的至少一个候选共享文件,从所述至少一个候选共享文件中,确定与所述应用文件相同的目标共享文件;
文件获取模块,用于基于所述目标共享文件,获取本地文件;
其中,所述本地文件用于代替所述应用文件。
在一种可选的实施方式中,在所述目标共享文件为内部存储中的文件时,所述文件获取模块在用于基于所述目标共享文件,获取本地文件时,具体用于:
从所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述文件获取模块在用于从所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件时,具体用于:
在确定所述终端设备保存有所述目标共享文件对应的软链接文件、并且所述软链接文件处于有效状态时,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述文件获取模块在用于从所述终端设备中获取所述目标共享文件对应的软链接文件,将所述软链接文件作为本地文件时,具体用于:
在确定所述终端设备未保存所述目标共享文件对应的软链接文件时,生成所述目标共享文件对应的软链接文件,将生成的所述软链接文件作为本地文件;
或者,在确定所述终端设备保存有所述目标共享文件对应的软链接文件、并且所述软链接文件处于失效状态时,生成所述目标共享文件对应的软链接文件,将生成的所述软链接文件作为本地文件。
在一种可选的实施方式中,在所述目标共享文件为外部存储中的文件时,所述文件获取模块在用于基于所述目标共享文件,获取本地文件时,具体用于:
在所述终端设备中获取所述目标共享文件的复制文件,将所述复制文件作为本地文件。
在一种可选的实施方式中,所述文件配置信息包括所述应用文件的唯一性信息,目标确定模块用于通过以下步骤在所述至少一个候选共享文件中确定与所述应用文件相同的目标共享文件:
从所述文件配置信息中确定出所述应用文件的唯一性信息;
基于所述应用文件的唯一性信息和所述至少一个候选共享文件中每个候选共享文件的唯一性信息,在所述至少一个候选共享文件中确定出对应的唯一性信息与所述应用文件的唯一性信息相同的目标共享文件。
在一种可选的实施方式中,所述终端设备还包括文件下载模块,所述文件下载模块用于:
基于所述文件配置信息、以及所述终端设备中的至少一个候选共享文件,确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件,从所述服务器处下载所述应用文件。
在一种可选的实施方式中,所述文件配置信息包括所述应用文件的唯一性信息,所述文件下载模块用于通过以下步骤确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件:
从所述文件配置信息中确定出所述应用文件的唯一性信息;
基于所述应用文件的唯一性信息和所述至少一个候选共享文件中每个候选共享文件的唯一性信息,确定所述应用文件的唯一性信息与所述至少一个候选共享文件中各候选共享文件的唯一性信息均不相同时,确定所述至少一个候选共享文件中不存在与所述应用文件相同目标共享文件。
在一种可选的实施方式中,所述文件获取模块还用于:
在所述应用文件为内部存储中的文件时,获取所述应用文件对应的软链接文件,将所述软链接文件作为本地文件。
在一种可选的实施方式中,所述终端设备还包括文件维护模块,所述文件维护模块用于:
响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件对应的软链接文件处于异常状态时,修复处于异常状态的软链接文件;
或者,响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件不具备对应的软链接文件时,删除该候选共享文件。
在一种可选的实施方式中,所述至少一个候选共享文件包括所述目标应用所关联的至少一个第一本地应用的文件,其中,所述第一本地应用是与所述目标应用具有相同的文件的应用。
第三方面,本公开实施例提供了一种计算机设备,计算机设备包括处理器、存储器和总线;所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器运行时执行上述第一方面,或第一方面中任一种可能的文件共享方法的步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的文件共享方法的步骤。
本公开实施例提供的文件共享方法、装置、计算机设备以及存储介质,在下载应用的应用文件之前,可以在终端设备的至少一个候选共享文件中确定与应用文件相同的目标共享文件时,通过目标共享文件来获取用于代替应用文件的本地文件,这就可以省略应用文件的下载过程,既可以提高目标应用的下载速度、节约下载流量,又可以有效地降低设备下载到重复文件的概率,避免设备的存储空间的被重复的资源占用,有助于提高设备的运行速度。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,安装包是一个应用的可自行解压缩文件的集合,其中包括应用安装的所有文件,下载并运行安装包可以将对应的应用所有文件释放到硬盘上,以完成应用的安装过程。
现有技术在下载一个应用的安装包时,通常将完整的安装包下载到设备中。在一些情况下,设备在下载新的安装包之前已预先存储有应用的部分文件,因此下载完整的安装包会导致文件重复,造成资源浪费。
基于上述研究,本公开提供了一种文件共享方法,在下载应用的应用文件之前,可以在终端设备的至少一个候选共享文件中确定与应用文件相同的目标共享文件时,通过目标共享文件来获取用于代替应用文件的本地文件,这就可以省略应用文件的下载过程,既可以提高目标应用的下载速度、节约下载流量,又可以有效地降低设备下载到重复文件的概率,避免设备的存储空间的被重复的资源占用,有助于提高设备的运行速度。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种文件共享方法进行详细介绍,本公开实施例所提供的文件共享方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端设备、终端设备、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该文件共享方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为终端设备为例,对本公开实施例提供的文件共享方法加以说明。参见图1和图2,图1为本公开实施例提供的一种文件共享方法的流程图,图2为本公开实施例提供的另一种文件共享方法的流程图,如图1所示,方法包括步骤S110~S130,其中:
S110:响应于针对目标应用的文件下载触发事件,获取所述目标应用的待下载的应用文件对应的文件配置信息。
目标应用可以是独立运行的应用程序,也可以是基于宿主应用运行的应用程序(如小程序)。具体来说,目标应用可以是游戏应用、购物应用、视频应用和聊天应用等,但不限于此。用户可以在诸如应用商店、浏览器或宿主应用等应用程序中搜索到期望下载的目标应用。当然,应用商店、浏览器或宿主应用等应用程序也可以主动推荐目标应用,从而引导用户对目标应用进行下载。
文件下载触发事件包括接收到用户针对目标应用的文件下载操作,在这种情况下,终端设备可以在接收到用户针对目标应用的文件下载操作时,向服务器发送针对目标应用对应的文件配置信息的获取请求,服务器根据获取请求向终端设备发送与目标应用的应用文件对应的文件配置信息。
对于基于宿主应用运行的目标应用,文件下载触发事件可以包括用户在宿主应用中针对目标应用的启动操作,在这种情况下,终端设备可以在运行宿主应用的过程中,接收到用户在宿主应用中针对目标应用的启动操作时,向服务器发送针对目标应用对应的文件配置信息的获取请求,服务器根据获取请求向终端设备发送与目标应用的应用文件对应的文件配置信息。
S120:基于文件配置信息、以及终端设备中的至少一个候选共享文件,从至少一个候选共享文件中,确定与应用文件相同的目标共享文件。在步骤S120之后,可以执行步骤S130。
文件配置信息可以包括能够指示目标应用的应用文件的特征的信息,至少一个候选共享文件可以包括目标应用所关联的至少一个第一本地应用的文件。这里,第一本地应用可以是与目标应用共同具有至少一个文件的应用,其中,第一本地应用预先安装在终端设备中,因此终端设备存储有第一本地应用的文件。例如,多个游戏应用可以基于同一个宿主应用运行,这多个游戏应用可以具有相同的文件,该相同的文件可以作为多个游戏应用的通用文件。以基于Unity引擎的游戏应用为例,不同游戏应用对应的引擎的可执行文件可以是相同的,因此该引擎的可执行文件可以作为多个游戏应用的通用文件。
目标应用可以是上述多个游戏应用中的其中一个目标游戏应用,第一本地应用可以是多个游戏应用中除了目标游戏应用外的至少一个其他游戏应用,至少一个其他游戏应用预先安装在终端设备中。
终端设备可以基于应用文件对应的文件配置信息,确定目标应用的应用文件是否与至少一个候选共享文件中的某一个候选共享文件相同。可以理解,当应用文件与一个候选共享文件相同时,可以将与该应用文件相同的候选文件定义为目标共享文件。
在本公开实施例中,文件配置信息包括应用文件的唯一性信息,其中,唯一性信息可以是应用文件的消息摘要,例如,唯一性信息可以是应用文件的MD5(Message DigestAlgorithm 5,消息摘要算法第五版)值。终端设备可以从文件配置信息中确定出应用文件的唯一性信息;基于应用文件的唯一性信息和至少一个候选共享文件中每个候选共享文件的唯一性信息,在至少一个候选共享文件中确定出对应的唯一性信息与应用文件的唯一性信息相同的目标共享文件。可以理解,当应用文件的唯一性信息和一个候选共享文件的唯一性信息相同时,可以将该候选共享文件确定为目标共享文件。
S130:基于目标共享文件,获取本地文件。
在确定出目标共享文件之后,可以基于目标共享文件获取的本地文件,以本地文件来代替目标应用的应用文件,这样就不需要在服务器中下载目标应用的应用文件,从而既可以提升目标应用的下载速度,又可以节约下载流量。
在本公开实施例中,各候选共享文件的存储位置类型可能是不同的,例如,至少一个候选共享文件可以包括内部存储中的文件,也可包括外部存储中的文件。在此需要说明的是,终端设备的内部存储和外部存储不是在物理上区分的,而是在逻辑上区分的。具体来说,内部存储是指终端设备的私有目录,可以理解为给“开发者”使用的、较为隐私的目录,部分文件必须放在内部存储中才能被***识别并运行,内部存储通常是linux***文件格式,有严格的权限管理,同时支持软链接。外部存储通常用于用户数据的存储目录,该目录通常为了方便用户使用,可以理解为给“用户”用的目录。外部存储中文件的文件格式支持被windows读取,并且外部存储通常不支持软连接。
不同的存储位置类型的目标共享文件,所对应的本地文件的获取方式是不同的。下面对分别对内部存储中目标共享文件和外部存储中目标共享文件所对应的本地文件的获取方式进行介绍。
在目标共享文件为内部存储中的文件时,可以在终端设备中获取目标共享文件对应的软链接文件,将软链接文件作为本地文件。在此需要说明的是,软链接又叫符号链接,软链接文件包含了源文件(即目标共享文件)的路径名,软链接文件类似于源文件的快捷方式,通过访问软链接文件就能访问到源文件。
对于内部存储中的目标共享文件,可以检测终端设备是否保存有目标共享文件对应的软链接文件、以及软链接文件是否有效,根据检测结果来采用相应的方式获取软链接文件。
在本公开实施例中,终端设备存储有候选共享文件与对应的软链接文件的第一映射关系信息。具体地,对于属于内部存储中的候选共享文件,候选共享文件被下载到终端设备之后,可以以候选共享文件的唯一性信息对候选共享文件进行命名,并创建候选共享文件的软连接文件,基于候选共享文件的唯一性信息来建立候选共享文件与对应的软链接文件的第一映射关系信息,使得候选共享文件的唯一性信息与对应的软链接文件以key-value的形式存储在终端设备中。对于内部存储中的目标共享文件,可以获取目标共享文件对应的第一映射关系信息,基于第一映射关系信息来检测终端设备是否保存有目标共享文件对应的软链接文件、以及软链接文件是否有效。
在确定终端设备保存有目标共享文件对应的软链接文件、并且软链接文件处于有效状态时,将软链接文件作为本地文件。
在确定终端设备保存有目标共享文件对应的软链接文件、并且软链接文件处于失效状态时,生成目标共享文件对应的软链接文件,将生成的软链接文件作为本地文件。
在确定终端设备未保存目标共享文件对应的软链接文件时,生成目标共享文件对应的软链接文件,将生成的软链接文件作为本地文件。
在本公开实施例中,在目标共享文件为外部存储中的文件时,可以在终端设备中获取目标共享文件的复制文件,将复制文件作为本地文件。
具体地,对于属于外部存储中的候选共享文件,候选共享文件被下载到终端设备之后,可以以候选共享文件的唯一性信息对候选共享文件进行命名,并建立候选共享文件的唯一性信息与候选共享文件的文件路径的第二映射关系信息。在确定出目标共享文件之后,可以基于第二映射关系信息从终端设备中定位目标共享文件,并复制目标共享文件以得到复制文件,将复制文件作为本地文件。通过复制目标共享文件来获取用于代替应用文件的本地文件,可以省略应用文件的下载过程,节约下载流量。
在此需要说明的是,如图2所示,在步骤S110之后,可以执行步骤S120和步骤S140中的其中一个步骤。
S140:基于文件配置信息、以及终端设备中的至少一个候选共享文件,确定至少一个候选共享文件中不存在与应用文件相同目标共享文件,从服务器处下载应用文件。
如前文所述,文件配置信息可以包括能够指示目标应用的应用文件的特征的信息。关于候选共享文件的描述参考步骤S120中的描述,此处不再赘述。终端设备可以基于应用文件对应的文件配置信息,确定目标应用的应用文件是否与至少一个候选共享文件中的某一个候选共享文件相同。可以理解,当应用文件与各个候选共享文件均不相同时,可以确定至少一个候选共享文件中不存在与应用文件相同目标共享文件。
在本公开实施例中,文件配置信息包括应用文件的唯一性信息,终端设备可以从文件配置信息中确定出应用文件的唯一性信息;基于应用文件的唯一性信息和至少一个候选共享文件中每个候选共享文件的唯一性信息,确定应用文件的唯一性信息与至少一个候选共享文件中各候选共享文件的唯一性信息均不相同时,确定至少一个候选共享文件中不存在与应用文件相同目标共享文件。具体来说,当应用文件的唯一性信息与各个候选共享文件的唯一性信息均不相同时,确定至少一个候选共享文件中不存在与应用文件相同目标共享文件。
应当理解,应用文件按照存储位置类型可以分为内部存储中的文件,和外部存储中的文件。在本公开实施例中,在步骤S140之后,如果下载的应用文件为内部存储中的文件,可以获取应用文件对应的软链接文件,将软链接文件作为本地文件。可以理解,步骤S140所下载的应用文件可以作为其他应用的候选共享文件,该应用文件对应的软链接文件可以作为其他应用的在终端设备的本地文件。因此,如果下载的应用文件为内部存储中的文件,那么可以在获取到应用文件对应的软链接文件之后,基于应用文件的唯一性信息来建立应用文件与对应的软链接文件的第一映射关系信息,并将第一映射关系信息保存在终端设备;如果下载的应用文件为外部存储中的文件,那么可以以候选共享文件的唯一性信息对候选共享文件进行命名,并建立候选共享文件的唯一性信息与候选共享文件的文件路径的第二映射关系信息,将第一映射关系信息保存在终端设备。
可以理解,在步骤S130或步骤S140结束之后,可以针对目标应用的下一个应用文件,重新执行步骤S110。
在本公开实施例中,对于内部存储中的每个候选共享文件,终端设备可以响应于文件维护触发事件,对候选共享文件以及候选共享文件对应的软链接文件进行维护。文件下载触发事件可以包括终端设备接收到用户的文件维护启动操作,终端设备在接收到用户的文件维护启动操作时,可以对候选共享文件以及候选共享文件对应的软链接文件进行维护。文件下载触发事件也可以包括终端设备确定当前时刻为预设维护时间,例如,可以预设设置每24小时进行一次文件维护,终端设备确定上次维护时间到当前时间达到24小时,可以对候选共享文件以及候选共享文件对应的软链接文件进行维护。
具体来说,对于内部存储中的每个候选共享文件,终端设备可以响应于文件维护触发事件,在确定该候选共享文件对应的软链接文件处于异常状态时,修复处于异常状态的软链接文件;或者在确定该候选共享文件不具备对应的软链接文件时,删除该候选共享文件。
如前文所述,终端设备存储有候选共享文件与对应的软链接文件的第一映射关系信息。可选地,终端设备可以响应于文件维护触发事件,遍历各个第一映射关系信息,针对每个第一映射关系信息,确定该第一映射关系信息所对应的候选共享文件是否具备软链接文件;在确定该候选共享文件不具备对应的软链接文件时,删除该候选共享文件,在确定该候选共享文件具备对应的软链接文件时,确定该候选共享文件对应的软链接文件是否处于异常状态,若确定该候选共享文件对应的软链接文件处于异常状态时,则修复处于异常状态的软链接文件。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与上述文件共享方法对应的终端设备,由于本公开实施例中的终端设备解决问题的原理与本公开实施例上述的文件共享方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3和图4,图3为公开实施例提供的一种终端设备的示意图之一,图4为公开实施例提供的一种终端设备的示意图之二,图5为公开实施例提供的一种终端设备的示意图之三。如图3所示,终端设备包括信息获取模块310、目标确定模块320和文件获取模块330。
信息获取模块310用于响应于针对目标应用的文件下载触发事件,获取所述目标应用的待下载的应用文件对应的文件配置信息。
目标确定模块320用于基于文件配置信息、以及终端设备中的至少一个候选共享文件,从至少一个候选共享文件中,确定与应用文件相同的目标共享文件。
文件获取模块330用于基于目标共享文件,获取本地文件。
其中,本地文件用于代替应用文件。
本公开提供的终端设备,在下载应用的应用文件之前,可以在终端设备的至少一个候选共享文件中确定与应用文件相同的目标共享文件时,通过目标共享文件来获取用于代替应用文件的本地文件,这就可以省略应用文件的下载过程,既可以提高目标应用的下载速度、节约下载流量,又可以有效地降低设备下载到重复文件的概率,避免设备的存储空间的被重复的资源占用,有助于提高设备的运行速度。在一种可选的实施方式中,在目标共享文件为内部存储中的文件时,文件获取模块330在用于基于目标共享文件,获取本地文件时,具体用于:
从终端设备中获取目标共享文件对应的软链接文件,将软链接文件作为本地文件。
在一种可选的实施方式中,文件获取模块330在用于从终端设备中获取目标共享文件对应的软链接文件,将软链接文件作为本地文件时,具体用于:
在确定终端设备保存有目标共享文件对应的软链接文件、并且软链接文件处于有效状态时,将软链接文件作为本地文件。
在一种可选的实施方式中,文件获取模块330在用于从终端设备中获取目标共享文件对应的软链接文件,将软链接文件作为本地文件时,具体用于:
在确定终端设备未保存目标共享文件对应的软链接文件时,生成目标共享文件对应的软链接文件,将生成的软链接文件作为本地文件;
或者,在确定终端设备保存有目标共享文件对应的软链接文件、并且软链接文件处于失效状态时,生成目标共享文件对应的软链接文件,将生成的软链接文件作为本地文件。
在一种可选的实施方式中,在目标共享文件为外部存储中的文件时,文件获取模块330在用于基于目标共享文件,获取本地文件时,具体用于:
在终端设备中获取目标共享文件的复制文件,将复制文件作为本地文件。
在一种可选的实施方式中,文件配置信息包括应用文件的唯一性信息,目标确定模块320用于通过以下步骤在至少一个候选共享文件中确定与应用文件相同的目标共享文件:
从文件配置信息中确定出应用文件的唯一性信息;
基于应用文件的唯一性信息和至少一个候选共享文件中每个候选共享文件的唯一性信息,在至少一个候选共享文件中确定出对应的唯一性信息与应用文件的唯一性信息相同的目标共享文件。
在一种可选的实施方式中,如图4所示,终端设备还包括文件下载模块340,文件下载模块340用于:
基于文件配置信息、以及终端设备中的至少一个候选共享文件,确定至少一个候选共享文件中不存在与应用文件相同目标共享文件,从服务器处下载应用文件。
在一种可选的实施方式中,文件配置信息包括应用文件的唯一性信息,文件下载模块340用于通过以下步骤确定至少一个候选共享文件中不存在与应用文件相同目标共享文件:
从文件配置信息中确定出应用文件的唯一性信息;
基于应用文件的唯一性信息和至少一个候选共享文件中每个候选共享文件的唯一性信息,确定应用文件的唯一性信息与至少一个候选共享文件中各候选共享文件的唯一性信息均不相同时,确定至少一个候选共享文件中不存在与应用文件相同目标共享文件。
在一种可选的实施方式中,文件获取模块330还用于:
在应用文件为内部存储中的文件时,获取应用文件对应的软链接文件,将软链接文件作为本地文件。
在一种可选的实施方式中,如图5所示,终端设备还包括文件维护模块350,文件维护模块350用于:
响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件对应的软链接文件处于异常状态时,修复处于异常状态的软链接文件;
或者,响应于文件维护触发事件,对于内部存储中的每个候选共享文件,在确定该候选共享文件不具备对应的软链接文件时,删除该候选共享文件。
在一种可选的实施方式中,至少一个候选共享文件包括目标应用所关联的至少一个第一本地应用的文件,其中,第一本地应用是与目标应用具有相同的文件的应用。
关于终端设备中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图6所示,为本公开实施例提供的计算机设备的结构示意图,计算机设备包括处理器610、存储器620和总线630。存储器620用于存储执行指令,包括内存621和外部存储器622。这里的内存621也称内存储器,用于暂时存放处理器610中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器610通过内存621与外部存储器622进行数据交换。当计算机设备运行时,处理器610与存储器620之间通过总线630通信,使得处理器610执行以下指令:
响应于针对目标应用的文件下载触发事件,获取所述目标应用的待下载的应用文件对应的文件配置信息;
基于文件配置信息、以及终端设备中的至少一个候选共享文件,从至少一个候选共享文件中,确定与应用文件相同的目标共享文件;
基于目标共享文件,获取本地文件;
其中,本地文件用于代替应用文件。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的文件共享方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的文件共享方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。