CN102799636B - 移动终端显示网页的方法及系统 - Google Patents
移动终端显示网页的方法及系统 Download PDFInfo
- Publication number
- CN102799636B CN102799636B CN201210215845.3A CN201210215845A CN102799636B CN 102799636 B CN102799636 B CN 102799636B CN 201210215845 A CN201210215845 A CN 201210215845A CN 102799636 B CN102799636 B CN 102799636B
- Authority
- CN
- China
- Prior art keywords
- user
- web page
- request
- client
- agency service
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了移动终端显示网页的方法及系统,其中,所述方法包括:客户端将用户访问指定网页的请求发送给代理服务端;代理服务端向所述指定网页的网页服务器获取该指定网页的网页资源,对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体,将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;所述客户端对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示。通过本发明,能够降低使用移动终端设备访问网页时对移动终端设备性能的需求,即使移动终端处理设备没有页面渲染排版的内核或者提供页面引擎的API,也能够实现网页的显示。
Description
技术领域
本发明涉及移动终端浏览器技术领域,特别是涉及移动终端显示网页的方法及系统。
背景技术
随着互联网技术的迅猛发展和普及,人们对互联网的依赖程度变得越来越高,从互联网获得信息资讯已成为人们主要的信息来源方式,而浏览器则是人们获得网络信息的主要工具。浏览器是用来从网站获取网页内容的工具软件。它必须具备解析网页上的各种元素的能力,元素包括:HTML(HypertextMarkupLanguage,超文本标记语言)、XML(ExtensibleMarkupLanguage,可扩展标记语言)、Javascript、CSS(CascadingStyleSheet,级联样式表)等。解析完成之后,要进行页面各个元素的定位计算及排版,然后,浏览器再进行页面的绘制,最终页面上的各种元素才会显示在用户面前。
现有技术中,在基于服务端渲染排版的模式实现移动终端上的网页浏览时,一般是根据客户端访问网页的请求,代理服务端过滤出WWW页面(也即适于在PC机上显示的网页),将这部分不适合在手机等移动终端设备上直接显示的页面转化成适合在手机上显示的WAP页面,例如,将WWW页面中包含的CSS、JS脚本等去掉,再返回给客户端,然后由带排版渲染内核的客户端将页面处理之后,再在客户端显示页面内容。
这种现有技术中,由于客户端不需要再处理CSS、JS脚本等内容,因此,对客户端的处理能力要求较低,能够实现在移动终端设备上浏览网页。但是,这种实现方式至少具有以下缺点:
该技术会让影响用户打开页面的速度,因为代理服务端返回给客户端的是HTML文本格式,客户端需要解析HTML页面,然后渲染、排版、绘制页面,这些工作都要由运行在移动终端设备上的客户端来完成,而客户端的处理能力会受限于移动终端设备硬件的处理能力,因此,处理速度上会受到影响。另外,该技术依赖于客户端要有页面渲染排版的内核,如果移动终端设备上没有提供页面引擎的API(ApplicationProgrammingInterface,应用程序编程接口),则无法在移动终端设备上实现网页的展现。
发明内容
本发明提供了移动终端显示网页的方法及系统,能够降低使用移动终端设备访问网页时对移动终端设备性能的需求,即使移动终端处理设备没有页面渲染排版的内核或者提供页面引擎的API,也能够实现网页的显示。
本发明提供了如下方案:
一种移动终端显示网页的方法,包括:
客户端将用户访问指定网页的请求发送给代理服务端;
代理服务端向所述指定网页的网页服务器获取该指定网页的网页资源,对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体,将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
所述客户端对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示。
可选的,所述对所述网页资源进行处理得到待构造网页数据具体包括:
对所述网页资源进行压缩、解析和/或定位计算,得到待构造网页数据。
可选的,还包括:
所述代理服务端在对所述网页资源进行处理时,从所述网页资源中提取控件信息,并对各个控件进行编号后,将各个控件的编号转换为二进制数据发送给所述客户端;
所述客户端接收到用户对页面上的控件进行操作的事件时,将被操作控件的编号以及用户输入内容发送到所述代理服务端;
所述代理服务端根据所述被操作控件的编号以及用户输入内容进行处理,获得处理结果,将所述处理结果转换为二进制数据返回给客户端;
所述客户端根据接收到的二进制数据绘制所述处理结果。
可选的,代理服务器中预先启动至少两个进程,每个进程中创建至少两个处理单元,在同一台代理服务器接收到多个用户访问网页的请求时,还包括:
根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程;
在所述分配的进程中为用户的当前请求分配处理单元,以便通过所述分配的处理单元处理用户的当前请求。
可选的,将同一用户的不同请求分配给同一进程。
可选的,所述根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程,包括:
根据用户的属性信息判断当前请求是否为新用户的请求;
如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。
可选的,所述根据用户的属性信息判断当前请求是否为新用户的请求包括:
获取所述当前请求对应的用户的属性信息;
如果当前请求对应的用户的属性信息未出现在所述历史分配记录中,则所述当前请求为新用户的请求;其中,所述历史分配记录用于记录在历史处理过程中,用户请求对应的用户的属性信息与分配给该用户请求的进程之间的对应关系。
可选的,所述历史分配记录中还记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系;
所述在分配的进程中为所述请求分配处理单元,包括:
将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求。
一种显示网页的系统,包括客户端及代理服务端:
所述客户端包括:
请求发送模块,用于将用户访问指定网页的请求发送给代理服务端;
所述代理服务端:
网页资源获取模块,用于向所述指定网页的网页服务器获取该指定网页的网页资源;
网页资源处理模块,用于对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体;
转换模块,用于将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
所述客户端还包括:
绘制模块,用于对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示。
可选的,所述网页资源处理模块具体用于:对所述网页资源进行压缩、解析和/或定位计算,得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体。
可选的,所述代理服务端的网页资源处理模块还用于,从所述网页资源中提取控件信息,并对各个控件进行编号,所述转换模块还用于将各个控件的编号转换成二进制数据发送给所述客户端;
所述客户端还包括:
操作事件相关信息发送模块,用于接收到用户对页面上的控件进行操作的事件时,将被操作控件的编号以及用户输入内容发送到所述代理服务端;
所述代理服务端还包括:
动态内容处理模块,用于根据所述被操作控件的编号以及用户输入内容进行处理,获得处理结果;
动态内容处理结果转换单元,用于将所述处理结果转换为二进制数据返回给客户端;
所述客户端还包括:
动态内容绘制模块,用于根据接收到的二进制数据绘制所述处理结果。
可选的,代理服务器中预先启动至少两个进程,每个进程中创建至少两个处理单元,在同一台代理服务器接收到多个用户访问网页的请求时,所述代理服务端还包括:
进程分配模块,用于根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程;
处理单元分配模块,用于在所述分配的进程中为用户的当前请求分配处理单元,以便通过所述分配的处理单元处理用户的当前请求。
可选的,所述进程分配模块将同一用户的不同请求分配给同一进程。
可选的,所述进程分配模块包括:
判断子模块,用于根据用户的属性信息判断当前请求是否为新用户的请求;
分配子模块,用于如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。
可选的,所述判断子模块包括:
用户信息获取子模块,用于获取所述当前请求对应的用户的属性信息;
查询子模块,用于如果当前请求对应的用户的属性信息未出现在所述历史分配记录中,则所述当前请求为新用户的请求;其中,所述历史分配记录用于记录在历史处理过程中,用户请求对应的用户的属性信息与分配给该用户请求的进程之间的对应关系。
可选的,所述历史分配记录中还记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系;
所述处理单元分配模块具体用于:
将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过本发明,在代理服务端需要进行网页资源的处理操作,通过这一系列的操作,将网页转化为更加适合移动终端设备显示的页面,并将渲染排版后的结构体以二进制数据的形式发送至移动终端设备,由移动终端设备进行解析后,直接进行绘制即可。由此,降低了使用移动终端设备访问网页时对移动终端设备性能的需求,以及移动终端处理网页资源时的计算量,使得客户端更轻量级,代理服务端更重量级,并且即使移动终端处理设备没有页面渲染排版的内核或者提供页面引擎的API,也能够实现网页的显示。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法的流程图;
图2是本发明实施例提供的系统的示意图;
图3是本发明实施例提供的另一系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供的移动终端显示网页的方法包括以下步骤:
S101:客户端将用户访问指定网页的请求发送给代理服务端;
本发明实施例中的客户端及代理服务端可以看做是浏览器的两个组成部分,其中客户端程序运行在移动终端设备中,代理服务端运行在云端的服务器(该服务器并不是提供具体页面内容的web服务器)中,两者相互配合实现网页的显示。在具体实现时,用户会启动客户端进行网页浏览,当用户需要访问某网页时,可以点击该网页的链接,或者在浏览器客户端的地址栏中输入网页的网址,然后按下回车或者进入按钮,就可以发出访问该网页的请求,客户端在接收到用户访问网页的请求之后,并不是直接发送给用于提供网页内容资源的web服务器,而是会首先发送给代理服务端,由代理服务端与web服务器进行交互,获取网页资源。
S102:代理服务端向所述指定网页的网页服务器获取该指定网页的网页资源,对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体,将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
这里对网页资源进行的处理可以包括对网页资源的压缩、解析和/或定位计算等,总之是在代理服务端对网页进行渲染排版。
S103:所述客户端对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示。
本发明实施例是在基于代理服务器的网页渲染排版技术基础上进行的改进,前提仍然是将耗时且费资源的操作封装在服务端,由服务端进行需要大量计算作业的操作。但在本发明实施例中,相对于现有技术而言,使得客户端更轻量级,代理服务端更重量级,在代理服务端需要进行网页资源压缩、页面的解析、定位以及渲染排版等工作,通过这一系列的操作,将网页转化为更加适合移动终端设备显示的页面,并将渲染排版后的结构体以二进制数据的形式发送至移动终端设备,由移动终端设备进行解析后,按照与代理服务器端之间的自有协议直接进行绘制即可。由此,降低了使用移动终端设备访问网页时对移动终端设备性能的需求,以及移动终端处理网页资源时的计算量,即使移动终端处理设备没有页面渲染排版的内核或者提供页面引擎的API,也能够实现网页的显示。
另一方面,在现有技术中,代理服务端在对页面资源进行压缩时,一般都会将其中包含的CSS及JS脚本去掉,以降低客户端的工作量。但是这样一来,就使得页面中包含的一些动态显示效果无法显示出来。例如,某网页中采用JS的方式提供了多个搜索引擎入口,其中一个是默认的,在正常情况下,用户可以选择任何一个搜索引擎进行搜索,得到相应的搜索结果。但是,在移动终端中浏览时,由于去掉了JS等动态效果,用户实际在选择某搜索引擎入口进行搜索时,得到的搜索结果可能仍然是默认的搜索引擎的结果。或者,某网页利用JS设计为多个标签共享一个内容展现区域,正常情况下,当用户移动鼠标切换标签时,内容展现区域中的内容会随之切换为切换后的标签对应的内容;但是,同样由于去掉了JS等动态效果,会使得切换标签后,内容展现区域的内容也没有随之发生变化,等等。
但是在本发明实施例中,由于对网页所有的渲染排版等操作都是在代理服务端来完成的,因此,就可以不必再去掉CSS内容,这样,使得网页中仍然能够保留CSS的效果。而对于需要运行JS脚本来实现的动态内容,本发明实施例也可以提供相应的支持,以便实现交互操作。
具体实现时,由于JS动态效果通常都是与页面中的控件相关的,因此,代理服务端在获取到页面资源之后,可以首先从中提取出控件信息,然后对各个控件进行编号,再将各个控件的编号发送给客户端。这样,客户端在完成页面的绘制、将页面显示给用户之后,当用户在对页面中的某控件进行操作时,客户端就可以捕获到用户操作产生的事件,然后将该被操作控件的编号以及用户输入的相关内容一起发送到代理服务端。代理服务端在接收到被操作控件编号及用户输入内容之后,就可以在代理服务端运行相应的JS脚本,获取到处理结果,然后返回给客户端进行绘制及显示即可。
例如,如果网页中包含有登录表单,则在用户填写了用户名及登录密码并点击了“登录”按钮之后,客户端就可以将表单的编号以及用户填写的用户名、密码等信息提交到代理服务端,然后代理服务端运行对应的JS脚本,将用户名及密码提交给web服务器,由web服务器进行验证,如果登录成功,会将登录成功的界面信息返回给代理服务端,代理服务端重新进行解析、渲染排版等处理之后,仍然可以将渲染排版后的结构体转换为客户端能够解析的二进制数据,然后由客户端直接对二进制数据进行解析及绘制,并最终将登录成功的界面显示给用户,以此实现用户与web服务器之间的动态交互过程。可见,在本发明实施例中,不仅能够进一步降低对移动终端设备的要求,还可以尽可能地保留网页中的动态交互内容,提升网页的显示效果。
当然,在实际应用中,随着移动终端设备的多元化和普及程度的提高,使用移动终端访问网页服务器的用户数量高速增长,这就对传统的基于服务器渲染排版的技术提出了新的要求,比如在同一时间段内,如果大量的用户请求并发,可能会降低代理服务端的响应速度,代理服务端的作业出现延时甚至是部分资源停止响应,结果反而降低了浏览器的响应速度。
为了避免上述情况的发生,本发明实施例还提供了相应的解决方案,在此方案中,可以在代理服务端中预先启动多个进程,并在每个进程中启动多个处理单元;这些处理单元的作用相当于普通浏览器(相对于C/S架构浏览器)中的窗口(例如用户在点击某链接时,普通的网页浏览器会创建一个窗口,最终将页面显示在该窗口中),但也不完全等同。具体而言,这种处理单元可以对用户访问网页的请求进行处理,例如,包括将请求发送到网页服务器,然后对接收到的网页数据进行解析、渲染、排版等一系列操作,但不同之处在于,由于这种处理单元位于代理服务器端,因此并不需要具有显示界面;而真正的显示界面是由用户计算机上安装的客户端来创建的,因此,这种处理单元需要将网页数据的处理结果通过一些私有的协议发送给客户端,由客户端进行绘制并显示在用户界面上。
换言之,本发明实施例中启动的处理单元,与传统的C/S架构下用于处理用户请求的处理单元的作用相同,但创建的时机不同;在传统的C/S架构下,一般是在接收到用户请求之后,再进行处理单元的创建,这样相当于创建窗口的耗时也成为用户可感知的网页处理时间的一部分;虽然一般而言创建窗口是很快的,但是在大用户量并发的情况下,仍然可能会导致整体处理时间的延长。而在本发明实施例中,处理单元是预先创建好的,当接收到用户请求之后,只需要将用户请求按照一定的策略分配到指定的处理单元即可,而不需要每接收到一个用户请求时再分别创建处理单元,因此可以从整体上提高响应速度,从一定程度上缩短用户可感知的处理时间。
另外,由于具体的处理单元是需要在一定的进程中创建的,而一个进程中允许创建多个处理单元,这样可以使得在一个进程中处理多个用户请求,因此,在本发明实施例中,采用了这种在进程中创建多个处理单元的方式。同时,一个进程中允许创建的处理单元数目毕竟也是有限的,如果一台代理服务器上仅启动一个进程,则能够容纳的用户请求数量仍然会比较有限;另一方面,代理服务器一般会采用多核技术,也就是说一台代理服务器具有多个内核,不同的进程在不同的内核上可以同时运行,这样可以大大提高处理速度。因此,在本发明实施例中,还采用了在同一台代理服务器上创建多个进程的方式,这样,可以提高单台代理服务器可容纳的用户请求数量,同时充分利用代理服务器的多核的资源。当然,代理服务器上的进程也是先于用户请求启动的。
具体实现时,由于代理服务器端由于已经预先启动了多个进程,因此,在接收到用户请求之后,就可以根据用户的属性信息以及各个进程的状态信息,将用户的当前请求分配到其中一个进程中。当然,具体能够对用户请求进行处理的是处理单元,而一个进程中还创建了多个处理单元,因此,还需要将当前请求分配到一个具体的处理单元中进行处理。在给一个请求分配了处理单元之后,该处理单元就可以对请求进行解析,然后构造网页访问请求到网页服务器,以获取网页资源,在获取到网页资源之后就可以进行解析、渲染、排版等处理,之后转换成二进制数据返回给客户端,供客户端进行绘制及网页的显示。
具体在根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程及处理单元时,可以有多种方式,例如,直接将当前请求分配到空闲处理单元最多的进程中,然后在该进程中任选一个空闲的处理窗口等等。或者,在本发明实施例中,为了保证资源的重复利用,可以尽量将同一用户的不同请求分配到同一进程中,这样可以进一步节省处理时间。例如,有些网站(如某些购物网站等)需要用户的账户及密码等登录信息,一般情况下,用户在访问同一网站下的不同网页时,只登录一次即可,例如,用户在某网站的首页上登录之后,在访问该网站的所有网页时,登录信息都是有效的。但在本发明实施例中,由于同一台代理服务器上会处理多个用户的请求,要实现这种效果,其前提是这些网页对应的处理单元在同一进程中。这是因为,当在某进程中处理用户的首次登陆请求后,可以在浏览器的Cookie中进行保存一些信息,例如,在网站中的登录信息,后续当同一用户访问同一网站中的其他网页时,就可以从Cookie中取出保存的这些信息,从而保证登录状态的连续性。或者,Cookie中还可以保存用户访问过的网页的数据信息等,针对用户访问过的一个网页,当再次发起访问时,可以直接根据保存的信息返回给用户,而不必再重新向网页服务器发起请求,等等。这种Cookie会进行持久化存储,但是如果是同一进程的不同处理单元或者不同的进程处理“已经有历史记录”的请求时,需要从持久化存储获取一次信息,这样不如直接由历史处理单元处理时高效。因此,在本发明实施例中,为了实现前述目的,在为用户请求分配进程时,可以尽量将同一用户的请求分配到同一进程,甚至还可以尽量分配到同一处理单元。为了该目的,具体实现时,可以首先判断当请请求是否为新用户的请求,然后根据判断的结果向当前请求进行进程的分配。
具体的,为了尽量将同一用户的请求分配到同一进程,甚至还可以尽量分配到同一处理单元,可以根据用户的属性信息判断当前请求是否为新用户的请求,如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。为了能够判断当前请求是否为新用户的请求,可以在历史处理的过程中,在为用户请求分配进程的同时,还可以记录下用户请求对应的用户属性信息与为该请求分配的进程之间的对应关系,这样,在代理服务器端就可以维护一个历史分配列表,在该列表中记录了为各个用户分配的进程分别是哪个。当接收到一个当前请求时,同样可以先获取到该请求对应的用户属性信息,然后判断该用户属性信息是否出现在历史分配列表中,如果是,则证明该用户之前访问过其他的网页,也就是说,该当前请求不是一个新用户的请求;否则,如果未出现在历史分配列表中,则证明当前请求是一个新用户的请求。
需要说明的是,历史分配记录中记录的数据并不是永久性的,而是要在一定时间后删除,例如,对于某一条记录,自生成之时起经过一段预置的时间之后,就可以将其从历史分配记录中删除。也就是说,同一个用户的请求对应着一个大的会话(session),该会话建立之后,即使中间插入了其他用户的请求,也不会中断,但是该会话的存续仍然存在超时时间,当接收了一个用户的某请求之后,如果很长一段时间之后都没有再收到该用户的请求,则证明用户目前可能不再需要访问其他的网页,相应的,该会话也就可以结束。可见,这里所谓的“新用户”并不是新入网的用户,或者新安装了该C/S架构的浏览器的用户等等,而是指在一定时间段内是否有过访问请求的用户。
在具体实现时,用户属性信息可以由浏览器客户端的ID来表示。在实际应用中,在安装浏览器客户端时,会带有唯一标识该浏览器客户端的ID,客户端在向服务器发送用户的访问请求时,会携带该ID,因此,就可以通过该ID来区分不同的用户。当然,如果用户注册过浏览器账户,并且当前处于登录状态,则也可以根据用户的登录信息来获取用户属性信息,或者,还可以将用户的IP地址作为用户属性信息,等等。关于各个进程的状态信息可以包括进程包括的空闲处理单元的数目等等。
另外,历史分配记录中还可以记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系,这样,在分配的进程中为所述请求分配处理单元时,可以将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求,从而使得同一用户的请求尽可能由同一个处理单元来处理。
需要说明的是,在一个处理单元完成了对一个请求的处理之后,该处理单元并不会关闭,而是将处理该请求时申请的资源(包括与网页服务器建立连接时的链接资源、用于对各种资源进行缓存的存储资源、计算资源等等)释放掉,然后等待其他请求的到来,以此周而复始。当然,为了达到前述同一用户的不同请求能够复用一些资源的目的,处理单元可以不必释放页面请求的结果。
总之,通过上述处理,不仅能够增加代理服务器的吞吐量,还可以尽可能保证同一用户在访问中的连续性,从而进一步提高处理及响应速度。
与本发明实施例提供的一种移动终端显示网页的方法相对应,本发明实施例还提供了一种移动终端显示网页的系统,参见图2,该系统包括客户端201及代理服务端202,其中,
客户端201包括:
请求发送模块2011,用于将用户访问指定网页的请求发送给代理服务端;
代理服务端202:
网页资源获取模块2021,用于向所述指定网页的网页服务器获取该指定网页的网页资源;
网页资源处理模块2022,用于对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体;
转换模块2023,用于将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
客户端201还包括:
绘制模块2012,用于对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示。
其中,网页资源处理模块2022具体可以用于:对所述网页资源进行压缩、解析和/或定位计算,得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体。
具体实现时,参见图3,代理服务端202网页资源处理模块2022还可以用于从所述网页资源中提取控件信息,并对各个控件进行编号,转换模块2023还用于将各个控件的编号转换成二进制数据发送给所述客户端;
客户端201还可以包括:
操作事件相关信息发送模块2013,用于接收到用户对页面上的控件进行操作的事件时,将被操作控件的编号以及用户输入内容发送到所述代理服务端;
代理服务端202还包括:
动态内容处理模块2024,用于根据所述被操作控件的编号以及用户输入内容进行处理,获得处理结果;
动态内容处理结果转换单元2025,用于将所述处理结果转换为二进制数据返回给客户端;
客户端201还包括:
动态内容绘制模块2014,用于根据接收到的二进制数据绘制所述处理结果。
在实际应用中,为了提高响应速度,代理服务器中可以预先启动至少两个进程,每个进程中创建至少两个处理单元,在同一台代理服务器接收到多个用户访问网页的请求时,代理服务端202还可以包括:
进程分配模块,用于根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程;
处理单元分配模块,用于在所述分配的进程中为用户的当前请求分配处理单元,以便通过所述分配的处理单元处理用户的当前请求。
其中,所述进程分配模块将同一用户的不同请求分配给同一进程。
其中,所述进程分配模块可以包括:
判断子模块,用于根据用户的属性信息判断当前请求是否为新用户的请求;
分配子模块,用于如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。
所述判断子模块包括:
用户信息获取子模块,用于获取所述当前请求对应的用户的属性信息;
查询子模块,用于如果当前请求对应的用户的属性信息未出现在所述历史分配记录中,则所述当前请求为新用户的请求;其中,所述历史分配记录用于记录在历史处理过程中,用户请求对应的用户的属性信息与分配给该用户请求的进程之间的对应关系。
所述历史分配记录中还记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系;
所述处理单元分配模块具体用于:
将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求。
总之,在代理服务端需要进行网页资源压缩、页面的解析、定位以及渲染排版等工作,通过这一系列的操作,将网页转化为更加适合移动终端设备显示的页面,并将渲染排版后的结构体以二进制数据的形式发送至移动终端设备,由移动终端设备进行解析后,直接进行绘制即可。由此,降低了使用移动终端设备访问网页时对移动终端设备性能的需求,以及移动终端处理网页资源时的计算量,使得客户端更轻量级,代理服务端更重量级,并且即使移动终端处理设备没有页面渲染排版的内核或者提供页面引擎的API,也能够实现网页的显示。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明所提供的移动终端显示网页的方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种移动终端显示网页的方法,其特征在于,包括:
客户端将用户访问指定网页的请求发送给代理服务端;
代理服务端向所述指定网页的网页服务器获取该指定网页的网页资源,对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体,将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
所述客户端对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示;
所述方法还包括:
所述代理服务端在对所述网页资源进行处理时,从所述网页资源中提取控件信息,并对各个控件进行编号后,将各个控件的编号转换为二进制数据发送给所述客户端;
所述客户端接收到用户对页面上的控件进行操作的事件时,将被操作控件的编号以及用户输入内容发送到所述代理服务端;
所述代理服务端根据所述被操作控件的编号以及用户输入内容进行处理,获得处理结果,将所述处理结果转换为二进制数据返回给客户端;
所述客户端根据接收到的二进制数据绘制所述处理结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述网页资源进行处理得到待构造网页数据具体包括:
对所述网页资源进行压缩、解析和/或定位计算,得到待构造网页数据。
3.根据权利要求1至2任一项所述的方法,其特征在于,代理服务端中预先启动至少两个进程,每个进程中创建至少两个处理单元,在同一台代理服务端接收到多个用户访问网页的请求时,还包括:
根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程;
在所述分配的进程中为用户的当前请求分配处理单元,以便通过所述分配的处理单元处理用户的当前请求。
4.根据权利要求3所述的方法,其特征在于,将同一用户的不同请求分配给同一进程。
5.根据权利要求3所述的方法,其特征在于,所述根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程,包括:
根据用户的属性信息判断当前请求是否为新用户的请求;
如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。
6.根据权利要求5所述的方法,其特征在于,所述根据用户的属性信息判断当前请求是否为新用户的请求包括:
获取所述当前请求对应的用户的属性信息;
如果当前请求对应的用户的属性信息未出现在所述历史分配记录中,则所述当前请求为新用户的请求;其中,所述历史分配记录用于记录在历史处理过程中,用户请求对应的用户的属性信息与分配给该用户请求的进程之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述历史分配记录中还记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系;
所述在分配的进程中为所述请求分配处理单元,包括:
将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求。
8.一种显示网页的系统,包括客户端及代理服务端,其特征在于:
所述客户端包括:
请求发送模块,用于将用户访问指定网页的请求发送给代理服务端;
所述代理服务端包括:
网页资源获取模块,用于向所述指定网页的网页服务器获取该指定网页的网页资源;
网页资源处理模块,用于对所述网页资源进行处理得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体;
转换模块,用于将所述渲染排版后形成的结构体转换为二进制数据后,返回给所述客户端;
所述客户端还包括:
绘制模块,用于对接收到的所述二进制数据进行解析,根据解析的结果进行页面内容的绘制,以便将绘制后的网页进行显示;
所述代理服务端的网页资源处理模块还用于,从所述网页资源中提取控件信息,并对各个控件进行编号,所述转换模块还用于将各个控件的编号转换成二进制数据发送给所述客户端;
所述客户端还包括:
操作事件相关信息发送模块,用于接收到用户对页面上的控件进行操作的事件时,将被操作控件的编号以及用户输入内容发送到所述代理服务端;
所述代理服务端还包括:
动态内容处理模块,用于根据所述被操作控件的编号以及用户输入内容进行处理,获得处理结果;
动态内容处理结果转换单元,用于将所述处理结果转换为二进制数据返回给客户端;
所述客户端还包括:
动态内容绘制模块,用于根据接收到的二进制数据绘制所述处理结果。
9.根据权利要求8所述的系统,其特征在于,所述网页资源处理模块具体用于:对所述网页资源进行压缩、解析和/或定位计算,得到待构造网页数据,并将所述待构造网页数据经渲染排版后形成结构体。
10.根据权利要求8至9任一项所述的系统,其特征在于,代理服务端中预先启动至少两个进程,每个进程中创建至少两个处理单元,在同一台代理服务端接收到多个用户访问网页的请求时,所述代理服务端还包括:
进程分配模块,用于根据用户的属性信息以及各个进程的状态信息,为用户的当前请求分配进程;
处理单元分配模块,用于在所述分配的进程中为用户的当前请求分配处理单元,以便通过所述分配的处理单元处理用户的当前请求。
11.根据权利要求10所述的系统,其特征在于,所述进程分配模块将同一用户的不同请求分配给同一进程。
12.根据权利要求10所述的系统,其特征在于,所述进程分配模块包括:
判断子模块,用于根据用户的属性信息判断当前请求是否为新用户的请求;
分配子模块,用于如果不是新用户的请求,则根据该用户的分配历史以及各个进程的状态信息为当前请求分配进程。
13.根据权利要求12所述的系统,其特征在于,所述判断子模块包括:
用户信息获取子模块,用于获取所述当前请求对应的用户的属性信息;
查询子模块,用于如果当前请求对应的用户的属性信息未出现在所述历史分配记录中,则所述当前请求为新用户的请求;其中,所述历史分配记录用于记录在历史处理过程中,用户请求对应的用户的属性信息与分配给该用户请求的进程之间的对应关系。
14.根据权利要求13所述的系统,其特征在于,所述历史分配记录中还记录有用户请求对应的用户的属性信息与分配给请求的处理单元之间的对应关系;
所述处理单元分配模块具体用于:
将历史分配记录中该用户的属性信息对应的处理单元分配给当前请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210215845.3A CN102799636B (zh) | 2012-06-26 | 2012-06-26 | 移动终端显示网页的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210215845.3A CN102799636B (zh) | 2012-06-26 | 2012-06-26 | 移动终端显示网页的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799636A CN102799636A (zh) | 2012-11-28 |
CN102799636B true CN102799636B (zh) | 2015-11-25 |
Family
ID=47198746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210215845.3A Expired - Fee Related CN102799636B (zh) | 2012-06-26 | 2012-06-26 | 移动终端显示网页的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799636B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708173B (zh) * | 2012-05-02 | 2014-08-13 | 北京奇虎科技有限公司 | 处理用户访问网页的请求的方法及系统 |
CN103944942B (zh) * | 2013-01-22 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 一种多web环境的数据访问方法和装置 |
CN103309563B (zh) * | 2013-06-28 | 2016-04-20 | 贝壳网际(北京)安全技术有限公司 | 已显示页面的切换方法及装置 |
CN104426985B (zh) * | 2013-09-06 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 显示网页的方法、装置及系统 |
CN103513987A (zh) * | 2013-09-18 | 2014-01-15 | 小米科技有限责任公司 | 一种浏览器网页的渲染处理方法、装置及终端设备 |
CN104572931B (zh) * | 2014-12-29 | 2016-06-22 | 北京奇虎科技有限公司 | 一种确定pc网页与移动网页自适应关系的系统及方法 |
CN104504100B (zh) * | 2014-12-29 | 2017-10-13 | 北京奇虎科技有限公司 | 一种确定pc网页与移动网页自适应关系的系统及方法 |
CN106843661A (zh) * | 2015-12-07 | 2017-06-13 | 深圳创锐思科技有限公司 | 一种信息交互的方法、电子设备及控制终端 |
CN106021431A (zh) * | 2016-05-12 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种页面展示方法和装置 |
CN107592236A (zh) * | 2016-07-07 | 2018-01-16 | 北京奇虎科技有限公司 | 一种推广信息相关的业务数据的监控方法和装置 |
CN106325876B (zh) * | 2016-08-29 | 2019-07-26 | 中山市天启智能科技有限公司 | 一种在线图形化编程及控制嵌入式设备的方法、系统 |
CN110609677A (zh) * | 2018-06-15 | 2019-12-24 | 搜游网络科技(北京)有限公司 | 一种基于WebGL的图形绘制方法、装置及系统 |
CN108984175B (zh) * | 2018-07-12 | 2021-11-16 | 积成电子股份有限公司 | 适用于移动设备的面向对象的电网svg单线图展示方法 |
CN109474680B (zh) * | 2018-11-02 | 2019-11-12 | 中国搜索信息科技股份有限公司 | 一种基于反向代理的移动设备属性检测方法 |
CN111490997B (zh) * | 2019-01-25 | 2023-05-12 | 北京京东尚科信息技术有限公司 | 任务处理方法、代理系统、服务系统和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178739A (zh) * | 2007-11-30 | 2008-05-14 | 四川长虹电器股份有限公司 | 嵌入式浏览系统及网页浏览方法 |
CN101202748A (zh) * | 2007-11-27 | 2008-06-18 | 优视动景(北京)技术服务有限公司 | 一种微浏览器浏览网页的方法及微浏览器 |
CN101587490A (zh) * | 2009-07-01 | 2009-11-25 | 优视动景(北京)技术服务有限公司 | 一种网页重排版处理方法和代理服务器 |
CN101833586A (zh) * | 2010-05-26 | 2010-09-15 | 卓望数码技术(深圳)有限公司 | 一种html小屏幕自适应排版方法及排版服务器 |
WO2012051944A1 (zh) * | 2010-10-21 | 2012-04-26 | 优视科技有限公司 | 用于对网页图片内容进行段落重排的方法及装置 |
CN102708173A (zh) * | 2012-05-02 | 2012-10-03 | 奇智软件(北京)有限公司 | 处理用户访问网页的请求的方法及系统 |
-
2012
- 2012-06-26 CN CN201210215845.3A patent/CN102799636B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202748A (zh) * | 2007-11-27 | 2008-06-18 | 优视动景(北京)技术服务有限公司 | 一种微浏览器浏览网页的方法及微浏览器 |
CN101178739A (zh) * | 2007-11-30 | 2008-05-14 | 四川长虹电器股份有限公司 | 嵌入式浏览系统及网页浏览方法 |
CN101587490A (zh) * | 2009-07-01 | 2009-11-25 | 优视动景(北京)技术服务有限公司 | 一种网页重排版处理方法和代理服务器 |
CN101833586A (zh) * | 2010-05-26 | 2010-09-15 | 卓望数码技术(深圳)有限公司 | 一种html小屏幕自适应排版方法及排版服务器 |
WO2012051944A1 (zh) * | 2010-10-21 | 2012-04-26 | 优视科技有限公司 | 用于对网页图片内容进行段落重排的方法及装置 |
CN102708173A (zh) * | 2012-05-02 | 2012-10-03 | 奇智软件(北京)有限公司 | 处理用户访问网页的请求的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102799636A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799636B (zh) | 移动终端显示网页的方法及系统 | |
CN103218434B (zh) | 一种加载静态资源的方法和装置 | |
CN102708173B (zh) | 处理用户访问网页的请求的方法及系统 | |
CN102624920B (zh) | 一种通过代理服务器进行访问的方法及装置 | |
CN102594813B (zh) | 多账号登录方法及装置 | |
CN103365695B (zh) | 加快子资源加载速度的方法和装置 | |
EP2845121B1 (en) | Method and system that streams real-time, processed data from remote processor-controlled appliances | |
CN100562873C (zh) | 获取网页中网页元素的系统及方法 | |
US10318987B2 (en) | Managing cookie data | |
US20090024737A1 (en) | Website monitoring and cookie setting | |
CN104426985B (zh) | 显示网页的方法、装置及系统 | |
WO2014059183A2 (en) | Methods and automated systems for testing, optimization, and analysis that preserve continuity in identities and status of users who access remote information from different contexts | |
CN109428877B (zh) | 一种用于通过用户设备访问业务系统的方法和装置 | |
CN111177672A (zh) | 一种页面访问控制方法、装置和电子设备 | |
CN113676563B (zh) | 内容分发网络服务的调度方法、装置、设备及存储介质 | |
CN108629032A (zh) | 一种基于延时加载的页面快速响应方法及装置 | |
Shroff et al. | Critical rendering path optimizations to reduce the web page loading time | |
CN112182445A (zh) | 一种优化客户端页面性能的方法和装置 | |
CN109522501A (zh) | 页面内容管理方法及其装置 | |
CN105095220B (zh) | 一种浏览器实现方法、终端和虚拟化代理装置 | |
CN113946399A (zh) | 一种空间数据加载方法及装置 | |
CN105653526A (zh) | 页面访问方法和装置 | |
US11431634B2 (en) | Client device and resource manager load sharing | |
CN106557584A (zh) | 一种网址收藏方法及装置 | |
CN104967698A (zh) | 一种爬取网络数据的方法和装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151125 |