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

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

Info

Publication number
CN102368250A
CN102368250A CN2011102891098A CN201110289109A CN102368250A CN 102368250 A CN102368250 A CN 102368250A CN 2011102891098 A CN2011102891098 A CN 2011102891098A CN 201110289109 A CN201110289109 A CN 201110289109A CN 102368250 A CN102368250 A CN 102368250A
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
CN2011102891098A
Other languages
English (en)
Other versions
CN102368250B (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 CN 201110289109 priority Critical patent/CN102368250B/zh
Publication of CN102368250A publication Critical patent/CN102368250A/zh
Priority to PCT/CN2012/081855 priority patent/WO2013044774A1/zh
Priority to US14/347,630 priority patent/US20140237133A1/en
Application granted granted Critical
Publication of CN102368250B publication Critical patent/CN102368250B/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内核浏览器进程返回下载状态信息。
优选的是,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
优选的是,所述方法,还包括:
所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
优选的是,所述在IE内核浏览器进程中注册通信协议的步骤为,使用IInternetSession接口的RegisterNameSpace方法,在IE内核浏览器进程中注册通信协议,所述通信协议包括http协议、https协议、mailto协议和FTP协议。
优选的是,所述执行相应的页面下载操作的步骤包括:
获取所述页面下载请求对应的文件大小信息;
判断所述文件大小信息是否超过预设的文件大小阈值;
若是,则采用多线程下载的方式执行相应页面的下载操作;
否则,采用单线程下载的方式执行相应页面的下载操作。
优选的是,在下载进程将所述页面下载请求添加至预先生成的下载任务列表中的步骤之前,还包括:
下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中;
若是,则从缓存中提取该文件;若否,则开始执行所述下载进程将页面下载请求添加至预先生成的下载任务列表中的步骤。
优选的是,所述方法,还包括:
将下载的文件写入缓存中。
优选的是,在从缓存中提取文件的步骤之前,还包括:
查询该文件写入缓存的时间是否超过预设期限,若是,则开始执行所述下载进程将页面下载请求添加至预先生成的下载任务列表中的步骤;若否,则执行从从缓存中提取相应文件的步骤。
本申请实施例还提供了一种IE内核浏览器的页面下载控制系统,包括:
启动模块,用于启动IE内核浏览器进程,并启动预置的下载进程;
协议注册模块,用于在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
请求传送模块,用于在IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
任务添加模块,用于由下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
排序模块,用于获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
下载执行模块,用于依次处理所述下载任务列表中的页面下载请求,执行相应的页面下载操作;
状态汇报模块,用于在所述页面下载过程中向IE内核浏览器进程返回下载状态信息。
优选的是,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,所述页面下载请求对应的页面资源类型通过读取所述扩展名信息获取。
优选的是,所述的系统,还包括:
内核操作模块,用于由所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
优选的是,所述下载执行模块包括:
文件大小获取子模块,用于获取所述页面下载请求对应的文件大小信息;
文件大小判断子模块,用于判断所述文件大小信息是否超过预设的文件大小阈值,若是,则调用多线程下载子模块;否则,调用单线程下载子模块;
多线程下载子模块,用于采用多线程下载的方式执行相应页面的下载操作;
单线程下载子模块,用于采用单线程下载的方式执行相应页面的下载操作。
优选的是,所述的系统,还包括:
缓存判断模块,用于由下载进程根据所述页面下载请求判断相应的文件是否被预先写入缓存中,若是,则触发缓存提取模块;若否,则触发任务添加模块;
缓存提取模块,用于从缓存中提取该文件。
优选的是,所述的系统,还包括:
缓存写入模块,用于将下载的文件写入缓存中。
优选的是,所述的系统,还包括:
缓存超期判断模块,用于查询该文件写入缓存的时间是否超过预设期限,若是,则调用所述任务添加模块;若否,则调用所述缓存提取模块。
与现有技术相比,本申请具有以下优点:
本申请使用IE的协议管理扩展接口,来将IE内核浏览器的全部下载都自己接管,从而使嵌入IE内核浏览器的外壳程序,能够自行控制浏览器内核的下载,并将下载后的数据送回IE内核,让其继续执行解析、执行、渲染的工作。由于下载行为不发生在浏览器进程,当下载遇到问题程序崩溃时,浏览器进程不会随之崩溃,可以重新启动一个下载进程继续下载。因而,本申请可以有效控制IE内核浏览器的页面下载过程,以提高页面下载的效率和稳定性。
再者,本申请通过采用资源排序、多线程下载和缓存读写的下载优化方案,能提升下载速度和页面展现速度,充分发挥用户的带宽,提高资源利用率。
附图说明
图1是本申请的一种IE内核浏览器的页面下载控制方法实施例1的步骤流程图;
图2是本申请的一种IE内核浏览器的页面下载控制方法实施例2的步骤流程图;
图3是是本申请的一种IE内核浏览器的页面下载控制系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的核心构思在于,使嵌入IE内核浏览器的外壳程序,能够自行控制浏览器内核的下载,并将下载后的数据送回IE内核,让其继续执行解析、执行、渲染的工作。
参考图1,示出了本申请的一种IE内核浏览器的页面下载控制方法实施例1的步骤流程图,具体可以包括以下步骤:
步骤101、启动IE内核浏览器进程,并启动预置的下载进程;
在本申请实施例中,所述IE内核浏览器进程是指采用IE(InternetExplorer)浏览器内核的浏览器进程。现有技术中,浏览器内核负责对页面进行下载、解析、执行、渲染,而在本实施例中,IE浏览器内核仅用于完成解析、执行、渲染的操作,下载的操作由预置的下载进程完成。
公知的是,进程是一个正在执行的程序,即计算机中正在运行的程序实例;其可以分配给处理器并作为一个实体由处理器执行。从用户角度来看,浏览器进程可以理解为在任务管理器内所启动的浏览器代表的进程。
所述下载进程可以理解为IE内核浏览器的另外一个进程,是一个专门用于下载操作的进程。即所述下载进程专门用于下载,而不做其他操作。作为本申请实施例具体实现的一种示例,所述下载进程内部可以使用WinHTTP(WinHTTP的全称是Microsoft Windows HTTP Services,它提供给开发者一个HTTP客户端应用程序接口,通过这种API借助HTTP协议给其他的HTTP服务器发送请求)实现一个下载器,和一个下载管理器。即所述下载进程中可以包括一个下载管理器和一些下载器,其中,所述下载管理器可以用于按照预设的下载规则控制页面下载,例如对下载资源的请求进行排序、优化等;下载器则可以用于实现具体的下载操作,并通过下载管理器向IE内核浏览器进程报告下载情况,即下载状态信息。在实际中,这个下载进程就像一个服务,启动后随时等待被调用。
在本申请实施例中,所述IE内核浏览器进程启动时,所述下载进程也会启动,或者说,所述IE内核浏览器进程启动则会触发所述下载进程启动,以保证页面在浏览器中的正常展现。
步骤102、在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
在具体实现中,所述在IE内核浏览器进程中注册通信协议的步骤可以为,使用IInternetSession接口的RegisterNameSpace方法,在IE内核浏览器进程中注册通信协议,所述通信协议可以包括http协议、https协议、mailto协议和FTP协议等。
具体而言,IInternetSession接口的RegisterNameSpace方法,要求了一个固定格式的接口,使用这个方法在IE内核浏览器进程中注册通信协议之后,则所有采用相应通信协议的页面下载请求,都会传送到预设的外壳程序接口,即当发生任何采用相应通信协议(如http、https协议、mailto协议、FTP协议)的页面下载请求时,IE内核会通知或调用预设的外壳程序接口。
步骤103、当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
步骤104、下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
步骤105、获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
在实际中,所述页面下载请求中包括URL信息,所述URL信息中包括扩展名信息,在这种情况下,所述页面下载请求对应的页面资源类型可以通过读取所述扩展名信息获取。
步骤106、依次处理所述下载任务列表中的页面下载请求,执行相应的页面下载操作;
步骤107、在所述页面下载过程中向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下载请求时,触发下载进程执行下载,在由下载器正式下载之前,下载管理器会对下载请求对应的资源进行排序。
在实际应用中,可以优先下载文本类型的文件(如html、css、js等类型的文件),将多媒体类型的文件(如图片、flash等大资源的文件)靠后下载,因为网页的展现并不依赖于它们。下载进程中的下载管理器内会有一个下载任务列表,根据优先级,可以确定将新增加的下载任务放到这个表中的那个位置。比如,html、css、js这些文本类型的文件都是网页打开时必须的,所以可以放入这个表的前面。其他的图片、flash等多媒体类型的文件则放入表尾。下载器会从表头中不停的取任务来开始下载。这样就实现了资源排序。
在实际中,每一个页面下载请求都对应一个下载任务,每个下载任务资源类型是一种。
例如,假设在浏览器中访问http://www.360.cn/,IE内核会产生5个下载请求,请求的内容/类型/顺序如下:
http://www.360.cn/index.htm;
http://www.360.cn/360safe.css;
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。
在本申请的另一种优选实施例中,所述步骤106中,执行相应的页面下载操作的步骤具体可以包括以下子步骤:
子步骤S21、获取所述页面下载请求对应的文件大小信息;
子步骤S22、判断所述文件大小信息是否超过预设的文件大小阈值;若是,则执行子步骤S23;若否,则执行子步骤S24;
子步骤S23、采用多线程下载的方式执行相应页面的下载操作;
子步骤S24、采用单线程下载的方式执行相应页面的下载操作。
线程可以理解为下载的通道,单线程下载就是针对一个文件开启一个下载通道,多线程下载就是针对一个文件同时开启多个下载通道,具体而言,多线程下载其实就是同时向服务器请求单一文件的不同部分。
本优选实施例主要涉及通过针对超过预设阈值的大文件进行多线程下载的下载优化方案,是在下载进程控制下载的过程中实现的,也就是说,当浏览器进程接收到IE下载请求时,触发下载进程执行下载,在由下载器正式下载的时候,下载管理器会判断当前文件大小是否超过预设阈值,若是,则控制下载器采用多线程下载的方式对当前页面下载请求对应的文件进行下载。
在具体实现中,仅需向服务器通信一次,如发送一个标准的http请求,即可获取到文件大小,以及,是否支持多线程下载等信息。通过诸如flash,图片等多媒体类型的文件会比较大,针对实际需求,可以设置文件大小阈值,比如1M,当超过1M,则启动多线程下载。
参考图2,示出了本申请的一种IE内核浏览器的页面下载控制方法实施例2的步骤流程图,具体可以包括以下步骤:
步骤201、启动IE内核浏览器进程,同时启动预置的下载进程;
步骤202、在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
步骤203、当所述IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
步骤204、下载进程根据所述页面下载请求判断所请求的文件是否已被预先写入缓存中,若是,则执行步骤205;否则,开始执行步骤207;
步骤205、查询该文件写入缓存的时间是否超过预设期限,若否,则执行步骤206;若是,则开始执行步骤207;
步骤206、从缓存中提取该文件;
步骤207、下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
步骤208、获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
步骤209、依次处理所述下载任务列表中的页面下载请求,执行相应的页面下载操作;
步骤210、将下载的文件写入缓存中。
步骤211、在所述页面下载过程中向IE内核浏览器进程返回下载状态信息;
本实施例主要涉及缓存读写的下载优化方案,是在下载进程控制下载的过程中实现的,也就是说,当浏览器进程接收到IE下载请求时,触发下载进程执行下载,在由下载器正式下载前,下载管理器会判断判断是从缓存读取还是实时下载,在由下载器正式下载后,将下载后的数据写入缓存。
在具体应用中,可以根据实际需求来决定某文件是否写入缓存、某文件已经缓存了是否可以直接使用等等。例如,如果某文件在本地缓存中刚刚进行过更新,则几分钟内可以完全不去服务器通信,直接读取本地缓存中的文件即可。或如,用浏览器访问http://www.360.cn/index.htm,先查看此文件是否在缓存中,如果没有则先下载然后放入缓存。如果有,则可以完全不必去服务器通信,直接使用,这样就加速了访问速度。
本实施例在实际中更为优选的做法是,不在每次IE启动时执行向服务器请求相应的缓存是否过期的操作的,而是让用户先使用缓存访问。在访问过后,再进行缓存的检查和更新。当然,这里的策略也可以参考所使用的缓存最后是什么时间更新的。如果刚刚更新不久,比如仅有几分钟或几个小时,就可以先使用缓存再检查。但如果缓存是几天以前的,则也可以在启动时就进行缓存检查,以避免用户到过旧的内容。
在具体实现中,本申请实施例还可以包括如下步骤:
步骤212、所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
当下载进程完成下载操作后,将下载后的数据送回IE内核,由IE内核继续执行解析、执行、渲染的工作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
参考图3,示出了本申请的一种IE内核浏览器的页面下载控制系统实施例的结构框图,具体可以包括如下模块:
启动模块301,用于启动IE内核浏览器进程,同时启动预置的下载进程;
协议注册模块302,用于在所述IE内核浏览器进程中注册通信协议,等待基于相应通信协议的页面下载请求;
请求传送模块303,用于在IE内核浏览器进程收到页面下载请求时,将所述页面下载请求发送给下载进程;
任务添加模块304,用于由下载进程将所述页面下载请求添加至预先生成的下载任务列表中;
排序模块305,用于获取所述页面下载请求对应的页面资源类型,在所述下载任务列表中,按照所述页面资源类型对页面下载请求进行排序;
下载执行模块306,用于依次处理所述下载任务列表中的页面下载请求,执行相应的页面下载操作;
状态汇报模块307,用于在所述页面下载过程中向IE内核浏览器进程返回下载状态信息。
在具体实现中,所述页面下载请求中可以包括URL信息,所述URL信息中包括扩展名信息,在这种情况下,所述页面下载请求对应的页面资源类型可以通过读取所述扩展名信息获取。
在本申请的一种优选实施例中,所述的系统还可以包括如下模块:
内核操作模块,用于由所述IE内核浏览器进程依据所述下载状态信息,对下载的页面数据进行解析、执行、和/或渲染的操作。
为提高下载速度,作为本申请实施例一种具体应用的示例,所述下载执行模块具体可以包括以下子模块:
文件大小获取子模块,用于获取所述页面下载请求对应的文件大小信息;
文件大小判断子模块,用于判断所述文件大小信息是否超过预设的文件大小阈值,若是,则调用多线程下载子模块;否则,调用单线程下载子模块;
多线程下载子模块,用于采用多线程下载的方式执行相应页面的下载操作;
单线程下载子模块,用于采用单线程下载的方式执行相应页面的下载操作。
为更进一步提高文件下载的效率,所述系统实施例还可以包括如下模块:
缓存判断模块,用于由下载进程根据所述页面下载请求判断相应的文件是否被预先写入缓存中,若是,则触发缓存提取模块;若否,则触发任务添加模块;
缓存提取模块,用于从缓存中提取该文件。
对于新下载的文件,在本申请实施例中还可以通过缓存写入模块将下载的文件写入缓存中。
在具体实现中,所述系统实施例还可以包括:
缓存超期判断模块,用于查询该文件写入缓存的时间是否超过预设期限,若是,则调用所述任务添加模块;若否,则调用所述缓存提取模块。
本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本申请所提供的一种IE内核浏览器的页面下载控制方法和一种IE内核浏览器的页面下载控制系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

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

Priority Applications (3)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN102368250A true CN102368250A (zh) 2012-03-07
CN102368250B CN102368250B (zh) 2013-04-24

Family

ID=45760815

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN102368250B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102368248A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN102984275A (zh) * 2012-12-14 2013-03-20 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN103024044A (zh) * 2012-12-14 2013-04-03 北京奇虎科技有限公司 网页下载方法及装置
CN103685381A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN104104645A (zh) * 2013-04-01 2014-10-15 北京畅游天下网络技术有限公司 一种跨平台资源管理方法和系统
CN111988389A (zh) * 2020-08-13 2020-11-24 暨南大学 一种基于http/3协议的服务器端的请求调度机制

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532698A (zh) * 2003-03-24 2004-09-29 在壳层浏览器中的可扩展对象预览器
CN101246503A (zh) * 2008-03-17 2008-08-20 腾讯科技(深圳)有限公司 一种降低中央处理器占用率的系统和方法
CN101645084A (zh) * 2009-04-23 2010-02-10 中国科学院声学研究所 一种嵌入式浏览器对动态数据的处理方法
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532698A (zh) * 2003-03-24 2004-09-29 在壳层浏览器中的可扩展对象预览器
CN101246503A (zh) * 2008-03-17 2008-08-20 腾讯科技(深圳)有限公司 一种降低中央处理器占用率的系统和方法
CN101645084A (zh) * 2009-04-23 2010-02-10 中国科学院声学研究所 一种嵌入式浏览器对动态数据的处理方法
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李善杰: "基于windows平台构建OPAC检索机的研究与发现", 《现代图书情报技术》 *
黄志宇等: "利用COM技术向浏览器中添加快捷菜单项", 《电脑编程技巧与维护》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102368248A (zh) * 2011-09-26 2012-03-07 奇智软件(北京)有限公司 一种ie内核浏览器的页面下载控制方法和系统
CN103685381A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN103685381B (zh) * 2012-09-12 2015-07-15 腾讯科技(深圳)有限公司 一种网页资源下载方法、系统和装置
CN102984275A (zh) * 2012-12-14 2013-03-20 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN103024044A (zh) * 2012-12-14 2013-04-03 北京奇虎科技有限公司 网页下载方法及装置
CN103024044B (zh) * 2012-12-14 2016-07-06 北京奇虎科技有限公司 网页下载方法及装置
CN102984275B (zh) * 2012-12-14 2016-09-21 北京奇虎科技有限公司 进行网页下载的方法及浏览器
CN104104645A (zh) * 2013-04-01 2014-10-15 北京畅游天下网络技术有限公司 一种跨平台资源管理方法和系统
CN104104645B (zh) * 2013-04-01 2017-08-25 北京畅游天下网络技术有限公司 一种跨平台资源管理方法和系统
CN111988389A (zh) * 2020-08-13 2020-11-24 暨南大学 一种基于http/3协议的服务器端的请求调度机制
CN111988389B (zh) * 2020-08-13 2023-03-24 暨南大学 一种基于http/3协议的服务器端的请求调度机制

Also Published As

Publication number Publication date
CN102368250B (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
CN102368213B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102368249B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102368248B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102368250B (zh) 一种ie内核浏览器的页面下载控制方法和系统
CN102375882B (zh) 一种快速访问网页的方法、装置及一种浏览器
CA2842737C (en) Web browsing enhanced by cloud computing
US9235451B2 (en) Browser kernel switching method
JP4398462B2 (ja) ウェブ・デバイスにおけるhtmlページの提示を改善するための方法およびシステム
CN106776761B (zh) 一种移动浏览器渲染网页的方法及装置
CN101147145B (zh) 基于嵌入式web的管理方法
CN102104636B (zh) 域名系统查找延迟减少
US20140143647A1 (en) Method for improving browser cache by reducing duplicate stored content
US20170199850A1 (en) Method and system to decrease page load time by leveraging network latency
CN101945135A (zh) 一种widget系统的升级方法及系统
WO2013112285A1 (en) Methods for transforming requests for web content and devices thereof
WO2012171391A1 (zh) 一种访问网络资源的优化方法、网页浏览器和终端
CN108021594B (zh) 一种网页展示方法、装置及系统
JP2012501498A (ja) ウェブサイトについての代替ユーザエクスペリエンスを発見する方法
KR100749845B1 (ko) 모바일 액티브 페이지 기능을 제공하는 이동 단말 및 그의무선 인터넷 서비스 제공 방법
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
CN112672187B (zh) 页面生成方法、装置、计算机设备及可读存储介质
CN109992326A (zh) 一种数据访问方法以及相应的终端
CN111857695A (zh) 软件项目处理方法、装置、设备及存储介质
AU2012327879B2 (en) Data interchange system
CN103838839A (zh) 一种ie内核浏览器的页面下载控制方法和系统

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

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.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20220210

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.

TR01 Transfer of patent right