网络应用的客户端、和用于客户端的资源加载方法技术

技术编号:14058190 阅读:98 留言:0更新日期:2016-11-27 10:47
本发明专利技术公开了一种网络应用的客户端和用于客户端的资源加载方法。该网络应用的客户端包括应用程序和下载器。其中,下载器被配置为:在接收到来自应用程序的任意一个进程的针对任意一个资源文件的信息获取请求时,判断该资源文件是否已经被完整下载到客户端所安装在的用户终端上;以及如果资源文件已经被完整下载到用户终端上,则向进程发送资源文件的位置信息,如果资源文件尚未被完整下载到用户终端上,则从伺服端下载资源文件并在资源文件被完整下载到用户终端后向进程发送资源文件的位置信息。本发明专利技术可以提升客户端的稳定性和下载速度,同时可以保证良好的用户体验。

【技术实现步骤摘要】

本专利技术涉及计算机领域,更具体地涉及一种网络应用的客户端、和用于客户端的资源加载方法
技术介绍
通常,诸如网络游戏、即时通信工具、信息发布平台之类的网络应用包括用于运行在用户终端上的客户端(即,客户端程序)和用于运行在服务器上的伺服端(即,服务器程序)两部分。为了使用网络应用,用户需要首先将网络应用的客户端下载并安装到用户终端上,然后通过网络应用的客户端与网络应用的伺服端进行交互来使用网络应用。随着网络应用的内容越来越多,网络应用的客户端包含的数据量不可避免地越来越大,因而下载网络应用的客户端所需要的时间也越来越长,这会造成用户对于网络应用的使用上的不便,从而导致网络应用的用户流失。为了节省下载网络应用的客户端所需要的时间,一些网络应用采用了微客户端技术。微客户端技术的核心思想在于资源分离和按需下载,并且其具体实现包括:在设计网络应用的客户端时只将最初使用网络应用时必需的程序文件和一些不能动态加载的资源文件包括在网络应用的客户端中,然后在用户使用网络应用的过程中根据实际需求逐步下载其他资源文件。目前的微客户端技术主要采用以下两种资源请求/加载方案:1)基于单独文件的资源请求/加载方案;和2)基于场景的资源请求/加载方案。但是,上述两种资源请求/加载方案存在以下缺陷:1)基于单独文件的资源请求/加载方案适用于浏览器型客户端和用于安装在诸如智能手机、平板电脑之类的移动设备上的轻量级客户端,但并不适合用于安装在诸如台式电脑、笔记本电脑之类的计算机终端上的大型客户端,因为计算机终
端上的大型客户端需要的系统资源极高,而计算机终端大多数情况都是机械硬盘,随机访问性能极差;2)基于场景的资源请求/加载方案虽然适合用于安装计算机终端上的大型客户端,但是用户的使用体验较差,因为每次进入新场景用户都要等待很长时间。
技术实现思路
鉴于以上所述的一个或多个问题,本专利技术提供了一种新颖的网络应用的客户端和用于客户端的资源加载方法。根据本专利技术实施例的网络应用的客户端,包括应用程序和下载器。其中,下载器被配置为:在接收到来自应用程序的任意一个进程的针对任意一个资源文件的信息获取请求时,判断该资源文件是否已经被完整下载到客户端所安装在的用户终端上;以及如果资源文件已经被完整下载到用户终端上,则向进程发送资源文件的位置信息,如果资源文件尚未被完整下载到用户终端上,则从伺服端下载资源文件并在资源文件被完整下载到用户终端后向进程发送资源文件的位置信息。根据本专利技术实施例的用于客户端的资源加载方法,该客户端包括应用程序和下载器,该资源加载方法包括:应用程序的任意一个进程向下载器发送针对任意一个资源文件的信息获取请求;下载器判断资源文件是否已经被完整下载到客户端所安装在的用户终端上,如果资源文件已经被完整下载到用户终端上,则向进程发送资源文件的位置信息,如果资源文件尚未被完整下载到用户终端上,则从伺服端下载资源文件并在资源文件被完整下载到用户终端后向进程发送资源文件的位置信息;以及进程根据资源文件的位置信息读取资源文件。本专利技术可以提升客户端的稳定性和下载速度,同时可以保证良好的用户体验。因此,本专利技术可以使通过客户端进入网络应用的新用户流失率降低,从而更好地起到导入新用户的作用。附图说明从下面结合附图对本专利技术的具体实施方式的描述中可以更好地理解本
专利技术,其中:图1是示出包括根据本专利技术实施例的客户端的网络应用的框图;图2是示出根据本专利技术实施例的共享内存的结构示意图;图3是示出根据本专利技术实施例的客户端应用程序的任意一个进程实现的资源加载过程的流程图;图4是示出根据本专利技术实施例的文件包的结构示意图;图5是示出根据本专利技术实施例的下载器实现的对于信息获取请求的响应过程的流程图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本专利技术的全面理解。但是,对于本领域技术人员来说很明显的是,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术的更好的理解。本专利技术决不限于下面所提出的任何具体配置和算法,而是在不脱离本专利技术的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本专利技术造成不必要的模糊。下面结合附图详细描述根据本专利技术实施例的网络应用的客户端和用于客户端的资源加载方法。图1是示出包括根据本专利技术实施例的客户端的网络应用100的框图。如图1所示,网络应用100包括客户端112和伺服端104,其中客户端112包括下载器102和客户端应用程序的进程106、108和110。在其它实施例中,客户端可以包括客户端应用程序的更多或更少的进程。伺服端104被网络应用的所有用户共享,并且被配置为存储客户端应用程序、客户端应用程序开始运行时必需的但是不能动态加载的资源文件、以及可以由客户端112在客户端应用程序的运行过程中动态下载的资源文件,以及在接收到来自客户端112的针对一个或多个资源文件的文件下载请求时向客户端112提供这些资源文件的下载。下载器102是客户端112的中心,客户端应用程序的进程106、108和110经由下载器102与伺服端104通信。具体地,下载器102被配置为在接收到来自客户端应用程序的任意一个进程(例如,进程106)的针对任意一个资源文件(例如,资源文件F-1)的信息获取请求的情况下,判断资源文件F-1是否已经被完整下载到客户端112所安装在的用户终端上;如果是,则直接向客户端应用程序的进程106发送资源文件F-1的位置信息,否则先从伺服端104下载资源文件F-1并且在资源文件F-1被完整下载到客户端112所安装在的用户终端并被写入相应文件包后向客户端应用程序的进程106发送资源文件F-1的位置信息。客户端应用程序的进程106在接收到下载器102发送的包含资源文件F-1的位置信息的信息获取响应后,将从资源文件F-1的位置信息所指示的位置读取资源文件F-1。在本实施例中,下载器102发送给客户端应用程序的进程106的信息获取响应除了包括资源文件F-1的位置信息以外,还可以包括资源文件F-1的大小信息、加密方式信息、以及压缩方式信息中的一种或多种信息。这样,客户端应用程序的进程106可以根据来自下载器102的信息获取响应中的上述信息,正确读取资源文件F-1并对资源文件F-1进行解密和解压缩。在本实施例中,如果客户端应用程序的进程106在发送信息获取请求之后的预定时间内没有接收到来自下载器102的信息获取响应或者接收到的信息获取响应中不包含资源文件F-1的位置信息、加密方式信息、或者压缩方式信息(从而导致客户端应用程序的进程106无法读取或者无法使用资源文件F-1),则客户端应用程序的进程106将从客户端112所安装在的用户终端上的特定位置读取替代资源文件临时使用,直到接收到资源文件F-1的所有相关信息为止或者直到不再需要资源文件F-1为止。在本实施例中,在客户端应用程序的进程106、108和110中的第一个启动的进程(例如,进程108)被启动时,客户端112首先判断下载器102和客户端应用程序的版本是否是最新的,如果不是则本文档来自技高网
...
网络应用的客户端、和用于客户端的资源加载方法

【技术保护点】
一种用于客户端的资源加载方法,所述客户端包括应用程序和下载器,所述资源加载方法包括:所述应用程序的任意一个进程向所述下载器发送针对任意一个资源文件的信息获取请求;所述下载器判断所述资源文件是否已经被完整下载到所述客户端所安装在的用户终端上,如果所述资源文件已经被完整下载到所述用户终端上,则向所述进程发送所述资源文件的位置信息,如果所述资源文件尚未被完整下载到所述用户终端上,则从伺服端下载所述资源文件并在所述资源文件被完整下载到所述用户终端后向所述进程发送所述资源文件的位置信息;以及所述进程根据所述资源文件的位置信息读取所述资源文件。

【技术特征摘要】
1.一种用于客户端的资源加载方法,所述客户端包括应用程序和下载器,所述资源加载方法包括:所述应用程序的任意一个进程向所述下载器发送针对任意一个资源文件的信息获取请求;所述下载器判断所述资源文件是否已经被完整下载到所述客户端所安装在的用户终端上,如果所述资源文件已经被完整下载到所述用户终端上,则向所述进程发送所述资源文件的位置信息,如果所述资源文件尚未被完整下载到所述用户终端上,则从伺服端下载所述资源文件并在所述资源文件被完整下载到所述用户终端后向所述进程发送所述资源文件的位置信息;以及所述进程根据所述资源文件的位置信息读取所述资源文件。2.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,所述下载器在向所述进程发送所述资源文件的位置信息的同时,还向所述进程发送所述资源文件的以下信息中的一种或多种信息:大小信息、加密方式信息、以及压缩方式信息。3.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,所述下载器在启动时读取已经存在于所述用户终端中的、与所述客户端相关的每个资源文件的以下信息中的一种或多种信息:位置信息、大小信息、完整性信息、加密方式信息、以及压缩方式信息。4.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,当所述下载器接收到分别针对多个资源文件的多个信息获取请求时,所述下载器将所述多个信息获取请求加入第一队列中并依次对所述多个信息获取请求进行响应,和/或当所述下载器下载所述多个资源文件时,所述下载器将分别针对所述多个资源文件的多个文件下载请求加入第二队列中并依次下载所述多个资源文件,和/或当所述下载器将所述多个资源文件写入相应的文件包时,所述下载器将所述多个资源文件加入第三队列中并依次将所述多个资源文件写入相应的文件包中。5.根据权利要求4所述的用于客户端的资源加载方法,其特征在于,所述下载器根据所述多个资源文件的优先级信息和位置信息中的至少一者,将所述多个信息获取请求加入所述第一队列中、和/或将所述多个文件下载请求加入所述第二队列、和/或将所述多个资源文件加入所述第三队列。6.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,所述进程根据以下各项中的一项或多项确定所述资源文件的优先级:所述资源文件的类型、所述资源文件的复用程度、以及所述资源文件的重要性,并且所述进程在向所述下载器发送针对所述资源文件的所述信息获取请求时,将所述资源文件的优先级通知给所述下载器。7.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,当所述进程在向所述下载器发送分别针对多个资源文件的多个信息获取请求时,所述进程将所述多个信息获取请求加入第四队列中并依次向所述下载器发送所述多个信息获取请求。8.根据权利要求1所述的用于客户端的资源加载方法,其特征在于,当所述进程读取多个资源文件时,所述进程将分别针对所述多个资源文件的多个文件读取请求加入第五队列中,并且依次利用所述多个文件读取...

【专利技术属性】
技术研发人员:赵岩李世龙
申请(专利权)人:北京畅游天下网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1