本发明专利技术的实施例公开一种下载网络流数据的方法及装置。下载网络流数据的方法包括:电子设备与网络服务器建立网络连接,从网络服务器读取待下载的网络流数据并缓存至预先设置的缓存区中;判断缓冲区中缓存的网络流数据大小是否小于预先设置的网络流数据阈值;如果小于所述网络流数据阈值,继续从网络服务器读取网络流数据并写入到所述缓冲区中,直至缓冲区中写入的网络流数据大于所述网络流数据阈值,将缓冲区中缓存的网络流数据写入本地文件。应用本发明专利技术,可以有效降低操作系统资源消耗、提升网络流数据下载速度。
【技术实现步骤摘要】
【专利摘要】本专利技术的实施例公开一种下载网络流数据的方法及装置。下载网络流数据的方法包括:电子设备与网络服务器建立网络连接,从网络服务器读取待下载的网络流数据并缓存至预先设置的缓存区中;判断缓冲区中缓存的网络流数据大小是否小于预先设置的网络流数据阈值;如果小于所述网络流数据阈值,继续从网络服务器读取网络流数据并写入到所述缓冲区中,直至缓冲区中写入的网络流数据大于所述网络流数据阈值,将缓冲区中缓存的网络流数据写入本地文件。应用本专利技术,可以有效降低操作系统资源消耗、提升网络流数据下载速度。【专利说明】—种下载网络流数据的方法及装置
本专利技术涉及数据下载技术,尤其涉及一种下载网络流数据的方法及装置。
技术介绍
随着通信技术,尤其是移动3G、4G通信技术的发展,电子设备,例如,移动电话、个人数字助理、掌上电脑以及台式机电脑的功能越来越强大,电子设备通过采用开放式的操作系统,可装载相应的应用程序来实现相应的应用功能,成为集通话、短信、网络接入、影视娱乐、网络即时通信、网银支付、网络游戏、地图导航为一体的综合性终端设备,是用户生活、工作、休闲、娱乐的重要载体。由于电子设备上运行的应用功能(应用程序)数量越来越多,因而,如何快速地从相关运营商或网络服务器下载相关应用功能对应的应用软件或其它网络流数据,成为运营商和用户关注的技术焦点。对于用户来说,电子设备提供的数据下载速度越高,越能提升用户的应用体验;而对于运营商来说,提升电子设备的下载速度,可以留存以及吸引更多的用户,有利于提升市场应用分发的份额,从而提升运营商的盈利。 目前的电子设备,以基于安卓(Android)操作系统平台的电子设备进行下载为例,采用超文本传输协议(HTTP, Hypertext Transfer Protocol)下载,在电子设备与网络服务器建立连接之后,从网络服务器获取所需下载的网络流数据,并将网络服务器传输的网络流数据存放到电子设备本地中预先设置的固定大小的缓冲(Buffer)区中,然后,实时将缓冲区中存放的网络流数据写入电子设备预先指定的本地文件中,从而完成一次输入/输出(1/0,Input/Output)操作。其中,网络流也称之为应用程序编程接口(API,Applicatl/0n Programming Interface),是一些预先定义的函数,目的是提供应用程序与开发人员基于应用软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节;BufTer指的是Java里面的缓冲区,是特定基本类型元素的线性有限序列,通过适当通道的1/0操作,可以将网络流数据传输到缓冲区,以及将网络流数据从缓冲区传出;1/0操作是指计算机在运行时,CPU、寄存器、内存、外围设备协同一起工作,包括寄存器、内存和外围设备的通信,例如,读文件,是将磁盘文件中的网络流数据(数据)读到内存,写文件则是将数据从内存中读出并写入到磁盘文件中。此外,1/0操作还还包括一些套接字(socket)函数的操作,是内存和网卡之间的数据通信。对于电子设备来说,1/0操作速度较慢,耗时较多。 由上述可见,现有的电子设备下载网络流数据的方法,采用HTTP下载方式,通过I/o操作,从网络服务器获取所需下载的网络流数据,并存放到电子设备的缓冲区中,然后,实时将缓冲区中中存放的网络流数据写入电子设备的本地文件中。而实际应用中,由于网络连接的不稳定性,使得一次从网络服务器获取(读取)的网络流数据可能不能将缓冲区存放满,有时,甚至不足缓冲区的十分之一,而对于缓冲区不满的网络流数据,也需要实时进行一次本地文件的I/o操作,以将缓冲区中存放的网络流数据写入到本地文件,并在执行完该I/o操作后,才能继续从网络服务器读取网络流数据执行下一次1/0操作。这样,缓冲区中很少的一点网络流数据,需要进行一次本地文件的I/o操作,由于1/0操作速度较慢,耗时较多,使得网络流数据下载速度不高,并消耗了较多的操作系统资源,降低了操作系统性能。
技术实现思路
有鉴于此,本专利技术实施例提供一种下载网络流数据的方法及装置,能够有效降低操作系统资源消耗、提升网络流数据下载速度。 为达到上述目的,本专利技术的实施例采用如下技术方案: —方面,本专利技术实施例提供一种下载网络流数据的方法,包括: 电子设备与网络服务器建立网络连接,从网络服务器读取待下载的网络流数据,并缓存至预先设置的缓存区中; 判断缓冲区中缓存的网络流数据大小是否小于预先设置的网络流数据阈值; 如果小于所述网络流数据阈值,继续从网络服务器读取网络流数据并写入到所述缓冲区中,直至缓冲区中写入的网络流数据大于所述网络流数据阈值; 将缓冲区中缓存的网络流数据写入本地文件。 本专利技术实施例提供的下载网络流数据的方法,通过对缓冲区中缓存的网络流数据大小进行限制,从而控制写入本地文件中网络流数据的写入频率。当一次读取的网络流数据较少时,不产生将缓存的网络流数据写入本地文件中的I/o操作,继续读取网络流数据,从而减少I/o操作,能够有效降低操作系统资源消耗、提升网络流数据下载速度。 另一方面,本专利技术实施例提供一种下载网络流数据的装置,包括:下载模块、判断模块以及文件写入模块,其中, 下载模块,用于与网络服务器建立网络连接,从网络服务器读取待下载的网络流数据并缓存至预先设置的缓存区中; 判断模块,用于判断缓冲区中缓存的网络流数据大小是否小于预先设置的网络流数据阈值,在缓冲区中缓存的网络流数据大小小于预先设置的网络流数据阈值的情况下,通知下载模块继续从网络服务器读取网络流数据并写入到所述缓冲区中,直至缓冲区中写入的网络流数据大于所述网络流数据阈值,通知文件写入模块; 文件写入模块,用于将缓冲区中缓存的网络流数据写入本地文件。 本专利技术实施例提供的下载网络流数据的装置,下载模块读取待下载的网络流数据并缓存,判断模块通过检测缓存的网络流数据大小是否小于网络流数据阈值,如果小于,则暂缓将缓冲区中的网络流数据写入电子设备的本地文件中,而是通知下载模块继续从网络服务器读取网络流数据,如果不小于,才通知文件写入模块将缓存的数据写入本地文件,无需实时进行本地文件的I/o操作,降低了网络流数据下载所需的I/O操作次数,能够有效降低操作系统资源消耗、提升网络流数据下载速度。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。 图1为本专利技术实施例下载网络流数据的方法流程示意图; 图2为本专利技术实施例下载网络流数据的方法具体流程示意图; 图3为本专利技术实施例下载网络流数据的装置结构示意图。 【具体实施方式】 下面结合附图对本专利技术实施例进行详细描述。 应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。 图1为本专利技术实施例下载网络流数据的方法流程示意图。参见本文档来自技高网...
【技术保护点】
一种下载网络流数据的方法,其特征在于,该方法包括:电子设备与网络服务器建立网络连接,从网络服务器读取待下载的网络流数据,并缓存至预先设置的缓存区中;判断缓冲区中缓存的网络流数据大小是否小于预先设置的网络流数据阈值;如果小于所述网络流数据阈值,继续从网络服务器读取网络流数据并写入到所述缓冲区中,直至缓冲区中写入的网络流数据大于所述网络流数据阈值;将缓冲区中缓存的网络流数据写入本地文件。
【技术特征摘要】
【专利技术属性】
技术研发人员:徐初标,
申请(专利权)人:广州金山网络科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。