CN102368213A - 一种ie内核浏览器的页面下载控制方法和系统 - Google Patents

一种ie内核浏览器的页面下载控制方法和系统 Download PDF

Info

Publication number
CN102368213A
CN102368213A CN2011102891079A CN201110289107A CN102368213A CN 102368213 A CN102368213 A CN 102368213A CN 2011102891079 A CN2011102891079 A CN 2011102891079A CN 201110289107 A CN201110289107 A CN 201110289107A CN 102368213 A CN102368213 A CN 102368213A
Authority
CN
China
Prior art keywords
page
download
downloading
download request
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011102891079A
Other languages
English (en)
Other versions
CN102368213B (zh
Inventor
刘鸿威
唐曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qizhi Business Consulting Co ltd
Beijing Qihoo Technology Co Ltd
Original Assignee
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qizhi Software Beijing Co Ltd filed Critical Qizhi Software Beijing Co Ltd
Priority to CN201110289107.9A priority Critical patent/CN102368213B/zh
Publication of CN102368213A publication Critical patent/CN102368213A/zh
Priority to US14/347,630 priority patent/US20140237133A1/en
Priority to PCT/CN2012/081855 priority patent/WO2013044774A1/zh
Application granted granted Critical
Publication of CN102368213B publication Critical patent/CN102368213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种IE内核浏览器的页面下载控制方法和系统。本申请提供的方法包括:启动IE内核浏览器进程,并启动预置的下载进程;在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;下载进程获取所述页面下载请求对应的文件大小信息;当所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;下载进程在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。本申请可以有效控制IE内核浏览器的页面下载过程,提高页面下载的效率和稳定性。

Description

一种IE内核浏览器的页面下载控制方法和系统
技术领域
本申请涉及浏览器的技术领域,特别是涉及一种IE内核浏览器的页面下载控制方法和一种IE内核浏览器的页面下载控制系统。
背景技术
浏览器最重要的部分是“Rendering Engine”,可大概译为“解释引擎”,一般习惯将之称为“浏览器内核”。浏览器内核负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。所以,通常所谓的浏览器内核也就是对页面进行下载、解析、执行、渲染的引擎,该引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
目前市场上流行的浏览器,按实现方式大体可以分为两种:
第一种,浏览器的开发者既进行浏览器内核的开发,也进行浏览器产品的开发。如:chrome浏览器、firefox浏览器、Safari浏览器、InternetExplore浏览器等。
第二种,浏览器的开发者,仅进行浏览器产品的开发,使用其他浏览器厂商实现的内核。将内核嵌入到自己浏览器内来使用。如:360安全浏览器、遨游浏览器、世界之窗浏览器、搜狗浏览器等。这种浏览器通常采用Internet Explorer浏览器内核,通常被称之为“IE内核浏览器”。
目前市场上所有的IE内核浏览器,仅是直接使用系统提供的WebBrowser组件实现。具体的使用方法是,首先用OleCreate API(应用程序接口)创建WebBrowser组件,获取组件创建的窗口,将其嵌入到浏览器的窗口内。然后调用该WebBrowser组件提供的接口,让它访问网址。在整个访问过程中,由WebBrowser组件自己的代码来进行网页的下载、解析、执行、渲染。外壳程序仅需接收组件返回的通知,变更相应界面内容。
IE内核为了让开发者使用起来非常简单,所以暴露的接口非常有限,一般只提供访问网页、停止、刷新、后退等基本接口,仅能对页面进行简单的控制,如访问某网址、刷新、停止、后退等。对于很多内部情况,浏览器开发者毫不知情、无法控制。尤其是无法控制页面下载过程,从而影响页面下载的效率和稳定性。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够有效控制IE内核浏览器的页面下载过程,以提高页面下载的效率和稳定性。
发明内容
本申请所要解决的技术问题是提供一种IE内核浏览器的页面下载控制方法,用以有效控制IE内核浏览器的页面下载过程,提高页面下载的效率和稳定性。
相应地,本申请还提供了一种IE内核浏览器的页面下载控制系统,用以保证上述方法在实际中的应用。
本申请提供了一种IE内核浏览器的页面下载控制方法,包括:
启动IE内核浏览器进程,并启动预置的下载进程;
在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
下载进程获取所述页面下载请求对应的文件大小信息;
当所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
下载进程在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
优选的是,所述的方法,还包括:
当所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
优选的是、所述的方法,其特征在于,还包括:
所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
优选的是,所述在IE内核浏览器进程中注册通信协议的步骤为,使用IInternetSession接口的RegisterNameSpace方法,在IE内核浏览器进程中注册通信协议,所述通信协议包括http协议、https协议、mailto协议和FTP协议。
优选的是,在下载进程获取所述页面下载请求对应的文件大小信息的步骤之前,还包括:
下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
依次处理所述下载任务列表中的页面下载请求。
优选的是,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
优选的是,在下载进程获取所述页面下载请求对应的文件大小信息的步骤之前,还包括:
下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则从缓存中提取该文件;若否,则开始执行获取所述页面下载请求对应的文件大小信息的步骤。
优选的是,所述的方法还包括:
将下载的文件写入缓存。
优选的是,所述的方法还包括:
在从缓存中提取文件进行下载的步骤之前,查询该文件写入缓存的时间是否超过预设期限,若是,则开始执行获取所述页面下载请求对应的文件大小信息的步骤;否则,执行从缓存中提取文件的步骤。
本申请还提供了一种IE内核浏览器的页面下载控制系统,包括:
启动模块,用于启动IE内核浏览器进程,并启动预置的下载进程;
协议注册模块,用于在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
请求传送模块,用于在IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
文件大小获取模块,用于由下载进程获取所述页面下载请求对应的文件大小信息;
多线程下载模块,用于在所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
状态汇报模块,用于在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
优选的是,所述的系统还包括:
单线程下载模块,用于在所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
优选的是,所述的系统还包括:
内核操作模块,用于由所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
优选的是,所述的系统还包括:
任务添加模块,用于由下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
排序模块,用于获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
下载执行模块,用于依次处理所述下载任务列表中的页面下载请求,调用所述文件大小获取模块。
优选的是,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
优选的是,所述的系统还包括:
缓存判断模块,用于由下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则触发缓存提取模块;若否,则触发文件大小获取模块;
缓存提取模块,用于从缓存中提取该文件。
优选的是,所述的系统还包括:
缓存写入模块,用于将下载的文件写入缓存。
优选的是,所述的系统还包括:
缓存超期判断模块,用于查询该文件写入缓存的时间是否超过预设期限,若是,则调用文件大小获取模块,若否,则调用所述缓存提取模块。
与现有技术相比,本申请具有以下优点:
本申请使用IE的协议管理扩展接口,来将IE内核浏览器的全部下载都自己接管,从而使嵌入IE内核浏览器的外壳程序,能够自行控制浏览器内核的下载,并将下载后的数据送回IE内核,让其继续执行解析、执行、渲染的工作。由于下载行为不发生在浏览器进程,当下载遇到问题程序崩溃时,浏览器进程不会随之崩溃。可以重新启动一个下载进程继续下载。因而,本申请可以有效控制IE内核浏览器的页面下载过程,以提高页面下载的效率和稳定性。
再者,本申请通过采用多线程下载、资源排序和缓存读写的下载优化方案,能提升下载速度和页面展现速度,充分发挥用户的带宽,提高资源利用率。
附图说明
图1是本申请的一种IE内核浏览器的页面下载控制方法实施例1的步骤流程图;
图2是本申请的一种IE内核浏览器的页面下载控制方法实施例2的步骤流程图;
图3是本申请的一种IE内核浏览器的页面下载控制方法实施例3的步骤流程图;
图4是本申请的一种IE内核浏览器的页面下载控制系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的核心构思在于,使嵌入IE内核浏览器的外壳程序,能够自行控制浏览器内核的下载,并将下载后的数据送回IE内核,让其继续执行解析、执行、渲染的工作。
参考图1,示出了本申请的一种IE内核浏览器的页面下载控制方法实施例1的步骤流程图,具体可以包括以下步骤:
步骤101、启动IE内核浏览器进程,并启动预置的下载进程;
在本申请实施例中,所述IE内核浏览器进程是指采用IE(InternetExplorer)浏览器内核的浏览器进程。现有技术中,浏览器内核负责对页面进行下载、解析、执行、渲染,而在本实施例中,IE浏览器内核仅用于完成解析、执行、渲染的操作,下载的操作由预置的下载进程完成。
公知的是,进程是一个正在执行的程序,即计算机中正在运行的程序实例;其可以分配给处理器并作为一个实体由处理器执行。从用户角度来看,浏览器进程可以理解为在任务管理器内所启动的浏览器代表的进程,
所述下载进程可以理解为IE内核浏览器的另外一个进程,是一个专门用于下载操作的进程。即所述下载进程专门用于下载,而不做其他操作。作为本申请实施例具体实现的一种示例,所述下载进程内部可以使用WinHTTP(WinHTTP的全称是Microsoft Windows HTTP Services,它提供给开发者一个HTTP客户端应用程序接口(API),通过这种API借助HTTP协议给其他的HTTP服务器发送请求.)实现一个下载器,和一个下载管理器。即所述下载进程中包括一个下载管理器和一些下载器。所述下载管理器用于按照预设的下载规则控制页面下载,例如对下载资源的请求进行排序、优化等;下载器则用于实现具体的下载操作,并通过下载管理器向IE内核浏览器进程报告下载情况,即下载状态信息。在实际中,这个下载进程就像一个服务,启动后随时等待被调用。
在本申请实施例中,所述IE内核浏览器进程启动时,所述下载进程也会启动,以保证页面在浏览器中的正常展现。
步骤102、在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
在具体实现中,所述在IE内核浏览器进程中注册通信协议的步骤可以为,使用IInternetSession接口的RegisterNameSpace方法,在IE内核浏览器进程中注册通信协议,所述通信协议可以包括http协议、https协议、mailto协议和FTP协议。
具体而言,IInternetSession接口的RegisterNameSpace方法,要求了一个固定格式的接口,使用这个方法在IE内核浏览器进程中注册通信协议之后,则所有采用相应通信协议的页面下载请求,都会传送到预设的外壳程序接口,即当发生任何采用相应通信协议(如http、https协议)的页面下载请求时,IE内核会通知或调用预设的外壳程序接口。
步骤103、当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
步骤104、下载进程获取所述页面下载请求对应的文件大小信息;
步骤105、当所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
步骤106、下载进程在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
在本申请的一种优选实施例中,还可以包括如下步骤:
当所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
在具体实现中,当IE内核调用在通信协议注册过程中提供的IInternetProtocol接口的Start方法时,通过跨进程通信,将页面下载请求发送到下载进程,并返回操作符E_PENDING,通知IE内核操作正在执行中。当下载到数据后,下载进程会通知到发起下载的IE内核浏览器进程,IE内核浏览器进程调用IE内核提供的IInternetProtocolSink接口的相关方法,通知IE内核下载进度、下载到的数据等下载状态信息。
更具体而言,跨进程通信,是指将一个进程的请求转到另一个进程,在本实施例中即指将IE内核浏览器进程的页面下载请求转到下载进程,并在下载过程中,实时向IE内核报告下载进度和下载数据等下载状态信息。跨进程通信可以使用windows消息机制,并配合内核对象进行数据传输。例如,在IE浏览器进程中注册了http协议后,一旦有基于http协议的页面下载请求就会送到预设的浏览器外壳程序中。当IE内核调用所述外壳程序的时候,会将这个页面下载请求的相关信息都传递过来,外壳程序会将这些信息打包(放到一个数据块中,数据块中主要包括url、refresh、cookie等),然后通过Windows系统提供的标准管道通信,将此数据块发送到下载进程。下载过程中向浏览器进程发送的Windows消息,主要是告诉浏览器当前下载的进度。
简而言之,跨进程通信是双方的,首先,IE内核浏览器进程收到页面下载请求后,会通过跨进程通信,告诉下载进程那些文件需要下载。另一方面,当下载请求执行过程中,下载进程会向IE内核浏览器进程发送消息,通知其下载进度、下载数据等下载状态信息。
本申请实施例主要涉及通过针对超过预设阈值的大文件进行多线程下载的下载优化方案,是在下载进程控制下载的过程中实现的,也就是说,当浏览器进程接收到IE下载请求时,触发下载进程执行下载,在由下载器正式下载的时候,下载管理器会判断当前文件大小是否超过预设阈值,若是,则控制下载器采用多线程下载的方式对当前页面下载请求对应的文件进行下载。
线程可以理解为下载的通道,单线程下载就是针对一个文件开启一个下载通道,多线程下载就是针对一个文件同时开启多个下载通道,具体而言,多线程下载其实就是同时向服务器请求单一文件的不同部分。
在具体实现中,仅需向服务器通信一次,如发送一个标准的http请求,即可获取到文件大小,以及,是否支持多线程下载等信息。通过诸如flash,图片等多媒体类型的文件会比较大,针对实际需求,可以设置文件大小阈值,比如1M,当超过1M,则启动多线程下载。
在具体实现中,本申请实施例还可以包括如下步骤:
步骤107、所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
当下载进程完成下载操作后,将下载后的数据送回IE内核,由IE内核继续执行解析、执行、渲染的工作。
参考图2,示出了本申请的一种IE内核浏览器的页面下载控制方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201、启动IE内核浏览器进程,并启动预置的下载进程;
步骤202、在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
步骤203、当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
步骤204、下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
步骤205、获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
在实际中,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,在这种情况下,所述页面下载请求对应的页面资源类型可以通过读取所述扩展名信息获取。
步骤206、依次处理所述下载任务列表中的页面下载请求;
步骤207、获取所述页面下载请求对应的文件大小信息;
步骤208、判断所述文件大小信息是否超过预设的文件大小阈值,若是,则执行步骤209;否则,执行步骤210;
步骤209、采用多线程下载的方式执行相应页面的下载操作;转步骤211;
步骤210、采用单线程下载的方式执行相应页面的下载操作;转步骤211;
步骤211、在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
本实施例主要涉及通过多线程下载和资源排序进行下载优化的方案,是在下载进程控制下载的过程中实现的,也就是说,当浏览器进程接收到IE下载请求时,触发下载进程执行下载,在由下载器正式下载之前,下载管理器会对下载请求对应的资源进行排序,判断当前文件大小是否超过预设阈值,若是,则控制下载器采用多线程下载的方式对当前页面下载请求对应的文件进行下载。
在实际应用中,可以优先下载文本类型的文件(如html、css、js等类型的文件),将多媒体类型的文件(如图片、flash等大资源的文件)靠后下载,因为网页的展现并不依赖于它们。下载进程中的下载管理器内会有一个下载任务列表,根据优先级,可以确定将新增加的下载任务放到这个表中的那个位置。比如,html、ess、js这些文本类型的文件都是网页打开时必须的,所以可以放入这个表的前面。其他的图片、flash等多媒体类型的文件则放入表尾。下载器会从表头中不停的取任务来开始下载。这样就实现了资源排序。
在实际中,每一个页面下载请求都对应一个下载任务,每个下载任务资源类型是一种。
例如,假设在浏览器中访问http://www.360.cn/,IE内核会产生5个下载请求,请求的内容/类型/顺序如下:
http://www.360.cn/index.htm;
http://www.360.cn/360safe.ess;
http://www.360.cn/product.swf;
http://www.360.cn/360safe.png;
http://www.360.cn/frame.htm。
按照与IE下载请求产生一致的顺序,将上述页面下载请求从IE内核浏览器进程发送到下载进程。
假设现在下载进程内的下载任务列表为空。当我们收到http://www.360.cn/index.htm的页面下载请求时,因为表是空的,则直接放入队列内。如表1所示,当前的下载任务列表中只有一个请求。
表1:
  index.htm
接下来收到http://www.360.cn/360safe.css的页面下载请求,通过其扩展名可以得知这是一个文本文件,与htm是一样的级别,于是直接放到下载任务列表中第一个表项的后面位置。如表2所示,当前的下载任务列表中的请求排序情况是:
表2:
  index.htm
  360safe.css
继续收到http://www.360.cn/product.swf的页面下载请求,通过其扩展名可以得知其是一个flash文件,由于此种类型的文件最大,于是放入表的最末位置。
如表3所示,当前的下载任务列表中的请求排序情况是:
表3:
  index.htm
  360safe.css
  product.swf
继续收到http://www.360.cn/360safe.png的页面下载请求,通过其扩展名可以得知其是一个图片文件,由于此种类型文件的大小大于文本文件但小于flash类型的文件,于是将其插入到文本类型与flash类型的中间。如表4所示,当前的下载任务列表中的请求排序情况是:
表4:
  index.htm
  360safe.css
  360safe.png
  product.swf
继续收到http://www.360.cn/frame.htm的请求,通过其扩展名可以得知其是一个htm文件,于是将其插入到所有文本类型的后面位置。
如表5所示,当前的下载任务列表中的请求排序情况是:
表5:
  index.htm
  360safe.css
  frame.htm
  360safe.png
  product.swf
这样就生成了下载任务列表。这个下载任务列表与原始请求顺序是不同的,按照这个下载任务列表进行下载,会优先下载文本,保证文字尽快显示,接下来显示图片,最后才轮到比较大的flash。
当处理到所述下载任务列表中的较大文件时,如最后的product.swf文件,判断其大小是否超过预设阈值,如为1M,若是,则启动多线程下载。多线程下载实质上就是针对一个文件同时开启多个下载通道,具体而言,多线程下载其实就是同时向服务器请求单一文件的不同部分。
参考图3,示出了本申请的一种IE内核浏览器的页面下载控制方法实施例3的步骤流程图,具体可以包括如下步骤:
步骤301、启动IE内核浏览器进程,并启动预置的下载进程;
步骤302、在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
步骤303、当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
步骤304、根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则执行步骤305;若否,则开始执行步骤307;
步骤305、查询该文件写入缓存的时间是否超过预设期限,若是,则开始执行步骤307;否则,执行步骤306;
步骤306、从缓存中提取该文件;
步骤307、获取所述页面下载请求对应的文件大小信息;
步骤308、判断所述文件大小信息是否超过预设的文件大小阈值,若是,则执行步骤309;否则,执行步骤310;
步骤309、采用多线程下载的方式执行相应页面的下载操作;转步骤311;
步骤310、采用单线程下载的方式执行相应页面的下载操作;转步骤311;
步骤311、在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息,并将下载的文件写入缓存,
本实施例主要涉及多线程下载和缓存读写的下载优化方案,是在下载进程控制下载的过程中实现的,也就是说,当浏览器进程接收到IE下载请求时,触发下载进程执行下载,在由下载器正式下载前,下载管理器会判断判断是从缓存读取还是实时下载,并判断当前文件大小是否超过预设阈值,若是,则控制下载器采用多线程下载的方式对当前页面下载请求对应的文件进行下载。在由下载器正式下载后,将下载后的数据写入缓存。
在具体应用中,可以根据实际需求来决定某文件是否写入缓存、某文件已经缓存了是否可以直接使用等等。例如,如果某文件在本地缓存中刚刚进行过更新,则几分钟内可以完全不去服务器通信,直接读取本地缓存中的文件即可。或如,用浏览器访问http://www.360.cn/index.htm,先查看此文件是否在缓存中,如果没有则先下载然后放入缓存。如果有,则可以完全不必去服务器通信,直接使用,这样就加速了访问速度。
本实施例在实际中更为优选的做法是,不在每次IE启动时执行向服务器请求相应的缓存是否过期的操作的,而是让用户先使用缓存访问。在访问过后,再进行缓存的检查和更新。当然,这里的策略也可以参考所使用的缓存最后是什么时间更新的。如果刚刚更新不久,比如仅有几分钟或几个小时,就可以先使用缓存再检查。但如果缓存是几天以前的,则也可以在启动时就进行缓存检查,以避免用户到过旧的内容。
本领域技术人员易于想到的是,上述方法实施例1、方法实施例2和方法实施例3所采用下载优化方案还可以组合应用,本申请对此无需加以限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参考图4,示出了本申请的一种IE内核浏览器的页面下载控制系统实施例的结构框图,具体可以包括如下模块:
启动模块401,用于启动IE内核浏览器进程,并启动预置的下载进程;
协议注册模块402,用于在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
请求传送模块403,用于在IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
文件大小获取模块404,用于由下载进程获取所述页面下载请求对应的文件大小信息;
多线程下载模块405,用于在所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
状态汇报模块406,用于在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
在本申请的一种优选实施例中,所述系统实施例还可以包括:
单线程下载模块,用于在所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
在具体实现中,所述系统实施例还可以包括:
内核操作模块,用于由所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
在本申请的一种优选实施例中,所述系统实施例还可以包括:
任务添加模块,用于由下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
排序模块,用于获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
下载执行模块,用于依次处理所述下载任务列表中的页面下载请求,调用所述文件大小获取模块。
优选的是,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
在本申请的一种优选实施例中,所述系统实施例还可以包括:
缓存判断模块,用于由下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则触发缓存提取模块;若否,则触发文件大小获取模块;
缓存提取模块,用于从缓存中提取该文件。
缓存写入模块,用于将下载的文件写入缓存。
更为优选的是,所述系统实施例还可以包括:
缓存超期判断模块,用于查询该文件写入缓存的时间是否超过预设期限,若是,则调用文件大小获取模块,若否,则调用所述缓存提取模块。
本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本申请所提供的一种IE内核浏览器的页面下载控制方法和一种IE内核浏览器的页面下载控制系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (17)

1.一种IE内核浏览器的页面下载控制方法,其特征在于,包括:
启动IE内核浏览器进程,并启动预置的下载进程;
在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
下载进程获取所述页面下载请求对应的文件大小信息;
当所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
下载进程在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
3.如权利要求1或2所述的方法,其特征在于,还包括:
所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
4.如权利要求1或2所述的方法,其特征在于,所述在IE内核浏览器进程中注册通信协议的步骤为,使用IInternetSession接口的RegisterNameSpace方法,在IE内核浏览器进程中注册通信协议,所述通信协议包括http协议、https协议、mailto协议和FTP协议。
5.如权利要求1或2所述的方法,其特征在于,在下载进程获取所述页面下载请求对应的文件大小信息的步骤之前,还包括:
下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
依次处理所述下载任务列表中的页面下载请求。
6.如权利要求5所述的方法,其特征在于,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
7.如权利要求1或2所述的方法,其特征在于,在下载进程获取所述页面下载请求对应的文件大小信息的步骤之前,还包括:
下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则从缓存中提取该文件;若否,则开始执行获取所述页面下载请求对应的文件大小信息的步骤。
8.如权利要求7所述的方法,其特征在于,还包括:
将下载的文件写入缓存。
9.如权利要求8所述的方法,其特征在于,还包括:
在从缓存中提取文件进行下载的步骤之前,查询该文件写入缓存的时间是否超过预设期限,若是,则开始执行获取所述页面下载请求对应的文件大小信息的步骤;否则,执行从缓存中提取文件的步骤。
10.一种IE内核浏览器的页面下载控制系统,其特征在于,包括:
启动模块,用于启动IE内核浏览器进程,并启动预置的下载进程;
协议注册模块,用于在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
请求传送模块,用于在IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
文件大小获取模块,用于由下载进程获取所述页面下载请求对应的文件大小信息;
多线程下载模块,用于在所述文件大小信息超过预设的文件大小阈值时,采用多线程下载的方式执行相应页面的下载操作;
状态汇报模块,用于在所述页面下载操作过程中向IE内核浏览器进程返回下载状态信息。
11.如权利要求10所述的系统,其特征在于,还包括:
单线程下载模块,用于在所述文件大小信息未超过预设的文件大小阈值时,采用单线程下载的方式执行相应页面的下载操作。
12.如权利要求10或11所述的系统,其特征在于,还包括:
内核操作模块,用于由所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
13.如权利要求10或11所述的系统,其特征在于,还包括:
任务添加模块,用于由下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
排序模块,用于获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
下载执行模块,用于依次处理所述下载任务列表中的页面下载请求,调用所述文件大小获取模块。
14.如权利要求13所述的系统,其特征在于,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
15.如权利要求13或14所述的系统,其特征在于,还包括:
缓存判断模块,用于由下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则触发缓存提取模块;若否,则触发文件大小获取模块;
缓存提取模块,用于从缓存中提取该文件。
16.如权利要求15所述的系统,其特征在于,还包括:
缓存写入模块,用于将下载的文件写入缓存。
17.如权利要求16所述的系统,其特征在于,还包括:
缓存超期判断模块,用于查询该文件写入缓存的时间是否超过预设期限,若是,则调用文件大小获取模块,若否,则调用所述缓存提取模块。
CN201110289107.9A 2011-09-26 2011-09-26 一种ie内核浏览器的页面下载控制方法和系统 Active CN102368213B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110289107.9A CN102368213B (zh) 2011-09-26 2011-09-26 一种ie内核浏览器的页面下载控制方法和系统
US14/347,630 US20140237133A1 (en) 2011-09-26 2012-09-24 Page download control method, system and program for ie core browser
PCT/CN2012/081855 WO2013044774A1 (zh) 2011-09-26 2012-09-24 一种ie内核浏览器的页面下载控制方法、系统以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110289107.9A CN102368213B (zh) 2011-09-26 2011-09-26 一种ie内核浏览器的页面下载控制方法和系统

Publications (2)

Publication Number Publication Date
CN102368213A true CN102368213A (zh) 2012-03-07
CN102368213B CN102368213B (zh) 2014-08-13

Family

ID=45760778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110289107.9A Active CN102368213B (zh) 2011-09-26 2011-09-26 一种ie内核浏览器的页面下载控制方法和系统

Country Status (1)

Country Link
CN (1) CN102368213B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984275A (zh) * 2012-12-14 2013-03-20 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN102982113A (zh) * 2012-11-08 2013-03-20 山东大学 一种针对Android系统的基于内容分组的浏览器页面加载方法
CN103237049A (zh) * 2013-03-18 2013-08-07 北京易华录信息技术股份有限公司 一种文件传输方法及装置
CN103391326A (zh) * 2013-08-01 2013-11-13 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103488480A (zh) * 2013-09-09 2014-01-01 百度在线网络技术(北京)有限公司 一种页面显示方法及系统
CN103685381A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN104102674A (zh) * 2013-04-12 2014-10-15 腾讯科技(深圳)有限公司 信息下载控制方法及装置
CN104580307A (zh) * 2013-10-21 2015-04-29 南京中兴新软件有限责任公司 文件上传校验方法及装置
CN105159756A (zh) * 2014-05-26 2015-12-16 联想(北京)有限公司 信息处理方法和信息处理设备
CN105404517A (zh) * 2015-11-27 2016-03-16 北京奇虎科技有限公司 一种浏览器和浏览器实现方法
CN102982113B (zh) * 2012-11-08 2016-11-30 山东大学 一种针对Android系统的基于内容分组的浏览器页面加载方法
CN107895389A (zh) * 2017-11-30 2018-04-10 广东欧珀移动通信有限公司 一种图片显示方法、装置、移动终端及存储介质
WO2018196459A1 (zh) * 2017-04-26 2018-11-01 平安科技(深圳)有限公司 一种下载请求处理方法、装置、处理设备及介质
CN109361712A (zh) * 2018-12-17 2019-02-19 北京天融信网络安全技术有限公司 一种信息处理方法及信息处理装置
CN109496418A (zh) * 2018-05-31 2019-03-19 优视科技新加坡有限公司 文件下载方法、装置及设备/终端/服务器
CN112463866A (zh) * 2020-11-25 2021-03-09 上海中通吉网络技术有限公司 一种快递行业数据导出方法、系统、计算机及存储介质
CN112491508A (zh) * 2020-11-24 2021-03-12 广州技象科技有限公司 基于传输进程自适应的数据传输方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744452B1 (en) * 2000-05-04 2004-06-01 International Business Machines Corporation Indicator to show that a cached web page is being displayed
CN101226525A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及系统
CN101645905A (zh) * 2009-08-31 2010-02-10 深圳市茁壮网络股份有限公司 数据下载方法和数据上传方法及浏览器
CN101710327A (zh) * 2009-12-04 2010-05-19 深圳创维数字技术股份有限公司 一种嵌入式浏览器本地临时文件的缓存方法
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
CN101964974A (zh) * 2010-10-13 2011-02-02 中兴通讯股份有限公司 数据下载方法及移动终端
CN102158853A (zh) * 2011-05-23 2011-08-17 广州市动景计算机科技有限公司 用于移动通讯设备终端浏览器的下载管理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744452B1 (en) * 2000-05-04 2004-06-01 International Business Machines Corporation Indicator to show that a cached web page is being displayed
CN101226525A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及系统
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
CN101645905A (zh) * 2009-08-31 2010-02-10 深圳市茁壮网络股份有限公司 数据下载方法和数据上传方法及浏览器
CN101710327A (zh) * 2009-12-04 2010-05-19 深圳创维数字技术股份有限公司 一种嵌入式浏览器本地临时文件的缓存方法
CN101964974A (zh) * 2010-10-13 2011-02-02 中兴通讯股份有限公司 数据下载方法及移动终端
CN102158853A (zh) * 2011-05-23 2011-08-17 广州市动景计算机科技有限公司 用于移动通讯设备终端浏览器的下载管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
翟伟画: "《PC机上基于IE内核的网页浏览器开发》", 《CNKI优秀硕士学位论文全文数据库》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685381B (zh) * 2012-09-12 2015-07-15 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN103685381A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN102982113A (zh) * 2012-11-08 2013-03-20 山东大学 一种针对Android系统的基于内容分组的浏览器页面加载方法
CN102982113B (zh) * 2012-11-08 2016-11-30 山东大学 一种针对Android系统的基于内容分组的浏览器页面加载方法
CN102984275B (zh) * 2012-12-14 2016-09-21 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN102984275A (zh) * 2012-12-14 2013-03-20 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN103237049A (zh) * 2013-03-18 2013-08-07 北京易华录信息技术股份有限公司 一种文件传输方法及装置
CN104102674A (zh) * 2013-04-12 2014-10-15 腾讯科技(深圳)有限公司 信息下载控制方法及装置
CN104102674B (zh) * 2013-04-12 2019-02-26 腾讯科技(深圳)有限公司 信息下载控制方法及装置
CN103391326B (zh) * 2013-08-01 2017-11-07 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103391326A (zh) * 2013-08-01 2013-11-13 贝壳网际(北京)安全技术有限公司 基于浏览器的文件下载方法、系统及客户端
CN103488480A (zh) * 2013-09-09 2014-01-01 百度在线网络技术(北京)有限公司 一种页面显示方法及系统
CN104580307A (zh) * 2013-10-21 2015-04-29 南京中兴新软件有限责任公司 文件上传校验方法及装置
CN105159756B (zh) * 2014-05-26 2019-11-26 联想(北京)有限公司 信息处理方法和信息处理设备
CN105159756A (zh) * 2014-05-26 2015-12-16 联想(北京)有限公司 信息处理方法和信息处理设备
CN105404517B (zh) * 2015-11-27 2018-09-28 北京奇虎科技有限公司 一种浏览器和浏览器实现方法
CN105404517A (zh) * 2015-11-27 2016-03-16 北京奇虎科技有限公司 一种浏览器和浏览器实现方法
WO2018196459A1 (zh) * 2017-04-26 2018-11-01 平安科技(深圳)有限公司 一种下载请求处理方法、装置、处理设备及介质
CN107895389A (zh) * 2017-11-30 2018-04-10 广东欧珀移动通信有限公司 一种图片显示方法、装置、移动终端及存储介质
CN109496418A (zh) * 2018-05-31 2019-03-19 优视科技新加坡有限公司 文件下载方法、装置及设备/终端/服务器
CN109496418B (zh) * 2018-05-31 2021-10-08 杭州橙云科技创新服务有限公司 文件下载方法、装置及设备/终端/服务器
CN109361712A (zh) * 2018-12-17 2019-02-19 北京天融信网络安全技术有限公司 一种信息处理方法及信息处理装置
CN109361712B (zh) * 2018-12-17 2021-08-24 北京天融信网络安全技术有限公司 一种信息处理方法及信息处理装置
CN112491508A (zh) * 2020-11-24 2021-03-12 广州技象科技有限公司 基于传输进程自适应的数据传输方法及装置
CN112463866A (zh) * 2020-11-25 2021-03-09 上海中通吉网络技术有限公司 一种快递行业数据导出方法、系统、计算机及存储介质

Also Published As

Publication number Publication date
CN102368213B (zh) 2014-08-13

Similar Documents

Publication Publication Date Title
CN102368213B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102368249B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102368248B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CA2842737C (en) Web browsing enhanced by cloud computing
CN102368250B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN101147145B (zh) 基于嵌入式web的管理方法
CN102104636B (zh) 域名系统查找延迟减少
US9235451B2 (en) Browser kernel switching method
CN102567516B (zh) 脚本加载方法及装置
US9317620B2 (en) Server device
JP2009514045A (ja) ウェブ・デバイスにおけるhtmlページの提示を改善するための方法およびシステム
JP2012501498A (ja) ウェブサイトについての代替ユーザエクスペリエンスを発見する方法
WO2008113917A3 (fr) Procede permettant de simuler le fonctionnement d'un dispositif ayant une architecture et un processeur determines a l'aide d'un autre dispositif connecte a un reseau informatique
CN108021594B (zh) 一种网页展示方法、装置及系统
AU2016101498A4 (en) Data Interchange System
CN109992326A (zh) 一种数据访问方法以及相应的终端
CN112672187A (zh) 页面生成方法、装置及计算机设备
CN103838839A (zh) 一种ie内核浏览器的页面下载控制方法和系统
US20140237133A1 (en) Page download control method, system and program for ie core browser
US8402367B1 (en) Smart reload pages
CN103838838A (zh) Ie内核处理页面的方法和基于浏览器的页面下载方法
CN111443906B (zh) 一种应用的访问方法和装置
KR100925644B1 (ko) 오브젝트 전송 시스템 및 그 제어방법
WO2015084977A1 (en) Requesting service
NZ625325B2 (en) Data interchange system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100015 rooms 301-306, 2 / F and 3 / F, block B, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee after: Beijing Qizhi Business Consulting Co.,Ltd.

Address before: 100016 East unit, 4th floor, Zhaowei building, 14 Jiuxianqiao Road, Chaoyang District, Beijing

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220228

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100015 rooms 301-306, 2 / F and 3 / F, block B, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing

Patentee before: Beijing Qizhi Business Consulting Co.,Ltd.