一种实现客户端浏览器的方法和客户端浏览器的制作方法

文档序号:7865098阅读:248来源:国知局
专利名称:一种实现客户端浏览器的方法和客户端浏览器的制作方法
技术领域
本发明涉及通讯领域,特别是涉及一种实现客户端浏览器的方法和客户端浏览器。
背景技术
在现有技术中,移动浏览器主要分成两种客户端内核浏览器和云端内核浏览器。其中,客户端内核浏览器是指客户端嵌入浏览器的内核,直接向网站发送请求,不通过任何代理服务器。客户端内核浏览器为浏览器/服务器结构(BiOwser/Server,简称为B/S)结构,客户端直接通过超文本传输协议(HyperText Transfer Protocol,简称为HTTP)协议向网站发起请求,并在接收到响应后先进行HTTP协议的解析,然后再进行超文本标记语言 (Hypertext Markup Language,简称为HTML)的解析及子资源下载,生成Dom Tree并渲染,最终显示在移动终端上。由于客户端与网页服务器之间交互采用HTTP协议,会导致交互数据量大、耗流量、传输时间长、以及响应时间慢等问题。云端内核浏览器为客户端/代理服务器(Client/Server,简称为C/S)架构,是客户端向云端服务器发送请求,由云端服务器访问网页,在获取页面后在服务器端进行解析和渲染计算,然后通过某种协议将渲染的结果发送给客户端,客户端根据结果显示在终端上,所有客户端的交互操作都是在服务器的协助下完成的。具体包括两种处理方式处理方式一在C/S架构下,客户端向网页发送页面请求,在获取子资源时向代理服务器发送请求,由代理服务器将对子资源进行一些处理。这种模式下的代理服务器仅对静态页面和图像、CSS和JS等子资源进行缓存和压缩处理,由具备完整WAP/WWW解析能力的手机客户端完成排版和屏幕绘制。该种处理方式会导致了客户端计算量大以及耗电量大的问题。处理方式二 在C/S架构下,客户端向代理服务器发起请求,由代理服务器向网页索取资源,然后在代理服务器上进行解析DOM Tree,并根据客户端上传的字体信息进行排版(也可以由服务器默认某字体进行排版),并对子资源进行相应的处理,包括压缩和缓存,最终将排版好的各个控件以位置,宽高加内容的方式发送给客户端,由客户端根据这些信息将内容最终显示在客户端浏览器上。该种处理方式由于各种终端上的客户端要求的字体、排版各有不同,差异性大,代理服务器处理起来繁琐,数据处理负担高,因此会导致客户端渲染效果差(例如,原始页面的效果丢失,部分动态脚本效果支持差等)、交互操作支持较差、以及安全性较低等问题。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种实现客户端浏览器的方法和客户端浏览器。本发明提供一种实现客户端浏览器的方法,包括接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到服务器端返回的启动成功响应后,启动客户端浏览器;接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息,其中,启动请求中携带有客户端浏览器的用户标识。可选地,接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或 执行服务器端返回的操作结果信息进一步包括获取用户对客户端浏览器输入的文字信息;将文字信息和输入文字信息的输入焦点位置信息发送到服务器端;客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息;客户端浏览器向用户提示信息输入失败;或者,根据响应消息中携带的需要更新的显示内容信息进行显示。可选地,接收用户对客户端浏览器输入的信息,将信息和/或输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息进一步包括获取用户对客户端浏览器进行滚屏操作的偏移量;将偏移量发送到服务器端;客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据偏移量计算出页面偏移量后得到客户端浏览器需要更新的显示内容信息;客户端浏览器根据响应消息中携带的需要更新的显示内容信息进行显示。可选地,接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息进一步包括获取用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息;将输入焦点位置信息发送到服务器端;客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的客户端浏览器的显示内容信息;客户端浏览器向用户提示浏览器事件操作失败,或者,根据响应消息中携带的显示内容信息进行显示。可选地,浏览器事件操作包括新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;网页事件操作包括对网页上的连接、图片、或按钮的操作。可选地,显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。可选地,上述方法进一步包括将组成显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在客户端浏览器中;在下次需要对显示内容进行显示时,将组成显示内容的各块显示数据所对应的key值和哈希值发送到服务器端;根据服务器端返回的信息确认显示内容是否存在更新,如果不存在更新,则直接根据显示内容信息进行显示,如果存在更新,获取服务器端返回的最新显示数据、以及相应的key值和哈希值,根据最新显示数据、以及相应的key值和哈希对显示内容信息进行更新,并根据更新后的显示内容信息进行显示。可选地,将信息和输入焦点位置信息发送到服务器端进一步包括在网络环境值大于或等于预先设置的网络环境优秀阈值时,采用实时传输方式将信息和输入信息的输入焦点位置信息发送到服务器端;在网络环境值小于预先设置的网络环境优秀阈值时,采用定时上传和/或定量上传的方式将信息和输入信息的输入焦点位置信息发送到服务器端。
可选地,接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息进一步包括获取用户需要上传到网页的数据,并将数据上传到服务器端,通过服务器端上传到相应的网页服务器;从服务器端下载需要从网页下载的数据,其中,数据由服务器端从相应的网页服务器下载。本发明还提供了一种客户端浏览器,包括启动模块,适于接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到服务器端返回的启动成功响应后,启动客户端浏览器,其中,启动请求中携带有客户端浏览器的用户标识;处理模块,适于接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息。可选地,处理模块进一步适于获取用户对客户端浏览器输入的文字信息;将文字信息和输入文字信息的输入焦点位置信息发送到服务器端;接收服务器端反馈的响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息;向用户提示信息输入失败,或者,根据响应消息中携带的需要更新的显示内容信息进行显示。 可选地,处理模块进一步适于获取用户对客户端浏览器进行滚屏操作的偏移量;将偏移量发送到服务器端;接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据偏移量计算出页面偏移量后得到客户端浏览器需要更新的显示内容信息;根据响应消息中携带的需要更新的显示内容信息进行显示。可选地,处理模块进一步适于获取用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息;将输入焦点位置信息发送到服务器端;接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的客户端浏览器的显示内容信息;向用户提示浏览器事件操作失败,或者,根据响应消息中携带的显示内容信息进行显示。可选地,浏览器事件操作包括新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;网页事件操作包括对网页上的连接、图片、或按钮的操作。可选地,显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。可选地,客户端浏览器进一步包括缓存模块,适于将组成显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在客户端浏览器中;处理模块进一步适于在下次需要对显示内容进行显示时,将组成显示内容的各块显示数据所对应的key值和哈希值发送到服务器端;根据服务器端返回的信息确认显示内容是否存在更新,如果不存在更新,则直接根据显示内容信息进行显示,如果存在更新,获取服务器端返回的最新显示数据、以及相应的key值和哈希值,根据最新显示数据、以及相应的key值和哈希对显示内容信息进行更新,并根据更新后的显示内容信息进行显示。可选地,处理模块进一步适于在网络环境值大于或等于预先设置的网络环境优秀阈值时,采用实时传输方式将信息和输入信息的输入焦点位置信息发送到服务器端;在网络环境值小于预先设置的网络环境优秀阈值时,采用定时上传和/或定量上传的方式将信息和输入信息的输入焦点位置信息发送到服务器端。
可选地,处理模块进一步适于获取用户需要上传到网页的数据,并将数据上传到服务器端,通过服务器端上传到相应的网页服务器;从服务器端下载需要从网页下载的数据,其中,数据由服务器端从相应的网页服务器下载。本发明有益效果如下借助于本发明实施例的技术方案,在客户端浏览器请求服务器端启动相应的浏览器后,将用户操作发送到服务器端,随后接收服务器端的浏览器根据用户操作进行相应处理的处理结果,并根据该处理结果进行显示,本发明能够有效降低客户端侧的数据处理负担,在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,减轻了对用户终端软硬件的配置要求,给用户提供了很好的上网环境,保证用户的上网安全。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I是本发明一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图;图2是本发明一个实施例的实现客户端浏览器的方法的流程图;图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一;图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二 ;图5是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图;图6是本发明一个实施例的服务器端分割页面的示意图;图7是本发明一个实施例的客户端浏览器显示的内容块的示意图;图8是本发明一个实施例的客户端浏览器的结构示意图;图9是本发明一个实施例的服务器端远程控制客户端浏览器的示意图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为了解决现有技术中云端内核浏览器存在的客户端渲染效果差、以及交互操作支持较差的问题,本发明提供了一种客户端浏览器实现方法及客户端浏览器,图I是本发明一个实施例的服务器端显示页面和客户端浏览器显示页面的示意图,图9是本发明一个实施例的服务器端远程控制客户端浏览器的示意图,如图1、9所示,本发明实施例采用远程桌面技术来实现C/S架构下的浏览器(包括移动浏览器和PC浏览器等),客户端相当于一个远程桌面控件,通过远程桌面技术来控制服务器(优选地,可以是云端服务器)上的实际浏览器程序或进程。服务器根据客户端的具体情况(例如,分辨率、以及用户代理(UserAgent,简称为UA),UA中包括用户的手机信息,例如手机型号等)启动不同的浏览器,用户通过操作客户端来远程控制服务器上对应的浏览器,进行各种操作,包括输入URL,点击链接、滚屏等,而服务器端的浏览器在接收到用户的操作后进行相应的处理,并将处理的结果以特定的压缩格式返回给客户端。此外,用户在浏览页面时,可能会在一个页面通过上下滚屏来阅读网页,或者后退到某个已经阅读过的页面,这时,如果不使用缓存技术,就会再次进行显示数据的传输,无论是在响应速度还是在流量消耗上都会有很大影响,因此,本发明实施例采用了客户端缓存技术来缓解和解决这个问题。目前的网站和上网的人群日益增长,在互联网给人们带来方便的同时,也有些网站通过各种方式 损害用户的权益,从而获取个人利益。本发明实施例的技术方案为了提高了浏览器的安全性,在用户访问不安全网址时,服务器将根据安全策略,对不同的威胁用户安全的问题做不同的处理,使用户在无需了解任何相关知识的前提下能够安全上网。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。根据本发明的实施例,提供了一种客户端浏览器实现方法,图2是本发明一个实施例的实现客户端浏览器的方法的流程图,如图2所示,根据本发明实施例的实现客户端浏览器的方法包括如下处理步骤201,接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到服务器端返回的启动成功响应后,启动客户端浏览器;在本发明实施例中,客户端浏览器可以为移动客户端浏览器,也可以为PC客户端浏览器,上述服务器端可以为云端服务器。在步骤201中,在接收启动客户端浏览器的触发指令后,客户端浏览器需要向服务器端发送启动请求,此时,服务器端接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向客户端浏览器发送启动成功响应;客户端浏览器在接收到服务器端返回的启动成功响应后,启动客户端浏览器并显示初始页面。优选地,在本发明实施例中,启动请求中还可以携带有客户端浏览器的用户标识。服务器端可以根据上述用户标识将用户数据(包括浏览器收藏夹数据、和/或浏览历史数据)存储在数据库中,并根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。步骤202,接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息。在步骤202中,客户端浏览器需要接收用户对客户端浏览器输入的信息,其中,用户对客户端浏览器输入的信息包括用户对客户端浏览器输入的文字信息、用户对客户端浏览器进行滚屏操作的偏移量、或者用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息等。服务器端获取客户端浏览器发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到客户端浏览器。随后,客户端浏览器显示和/或执行服务器端返回的操作结果信息。下面对用户对客户端浏览器进行各种操作时的处理过程进行详细说明。图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图一,图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理示意图二,如图3和图4所示,根据本发明实施例的客户端浏览器与服务器端的交互包括如下几种操作一、输入客户端浏览器获取用户对客户端浏览器输入的文字信息(例如,用户通过输入URL 来访问对应的网页,通过输入用户名密码登陆网站,或者输入某些信息来进行页面搜索等,这些都是用户通过输入来完成的),并将文字信息和输入文字信息的输入焦点位置信息发送到服务器端(也就是说,当用户输入字符时,客户端将输入信息于当前输入焦点的位置一起传输给服务器端);在服务器端进行处理后,客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息;客户端浏览器向用户提示信息输入失败;或者,根据响应消息中携带的需要更新的显示内容信息进行显示。二、滚屏操作在用户浏览网页时,屏幕无法显示全部内容,就需要对页面进行滚屏操作。当用户滚屏时,客户端浏览器获取用户对客户端浏览器进行滚屏操作的偏移量,并将偏移量发送到服务器端;在服务器端进行处理后,客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据偏移量计算出页面偏移量后得到客户端浏览器需要更新的显示内容信息;客户端浏览器根据响应消息中携带的需要更新的显示内容信息进行显
/Jn ο三、事件在本发明实施例中,事件分为两种浏览器事件和网页事件,其中,浏览器事件指客户端与服务器端浏览器的交互事件,包括新建标签页、关闭标签页、切换标签页、管理收藏夹、撤销操作等,这些事件通过用户在客户端点击浏览器显示的按键或菜单完成,客户端浏览器将点击的位置信息上传给服务器端,由服务器端浏览器完成后续处理。网页事件指客户端通过服务器端浏览器与网页之间的交互事件。用户在浏览网页时,会点击上面不同的链接、图片、按键等控件,客户端浏览器根据用户点击的位置、时间等信息传输给服务器端,并根据服务器端的响应做出相应的处理。具体地,客户端浏览器需要获取用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息,并将输入焦点位置信息发送到服务器端;在服务器端进行处理后,客户端浏览器接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的客户端浏览器的显示内容信息;客户端浏览器向用户提示浏览器事件操作失败,或者,根据响应消息中携带的显示内容信息进行显示。四、下载和上传在实际应用中,用户会通过浏览网页进行下载或上传文件操作。在上传数据时,客户端浏览器获取用户需要上传到网页的数据,并将数据上传到服务器端,通过服务器端上传到相应的网页服务器;在下载数据时,客户端浏览器从服务器端下载需要从网页下载的数据,其中,数据由服务器端从相应的网页服务器下载。具体地,在实际应用中,客户端浏览器会通过FTP或私有协议与服务器端进行交互。如果是下载操作,客户端浏览器在文件被下载到服务器端后将文件下载到本地;如果是上传操作,客户端浏览器先将文件上传的服务器端,由服务器端最终上传到网站上。图5是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图,如图5所示,在本发明实施例中,考虑到网络流量的实际,在本发明实施例中,在网络环境值大于或等于预先设置的网络环境优秀阈值时,客户端浏览器可以选择采用实时传输方式将信息和输入信息的输入焦点位置信息发送到服务器端;在网络环境值小于预先设置的网络环境优秀阈值时,客户端浏览器可以选择采用定时上传和/或定量上传的方式将信息和输入信息的输入焦点位置信息发送到服务器端。也就是说,用户输入信息时,当网络环境良好时,可以采用实时传输方式,每输入一个字符就上传一个,每次更新都会触发请求操作;当网络环境恶劣时,采用定时上传或者 定量上传,定时上传时设置有一个超时时间,超过一定时间就进行一次上传,而定量上传就是当输入到指定个数的字符时进行一次上传,这两种上传可以配合使用。用户在上传或下载文件时,可以进行gzip或其它算法的数据压缩,使传输的数据尽可能小,从而即减少了流量又提供了速度,在服务器端和客户端浏览器都有对应的压缩和解压缩功能,保证文件只是在传输过程中是压缩形式,而体现在客户端浏览器或网站时是非压缩原有格式。五、关闭浏览器用户在浏览完成后会关闭客户端浏览器。当用户关闭客户端时,会向服务器端发送一个关闭请求,待返回响应后,客户端浏览器完成相应的操作。在实际应用中,用户在浏览网站时,有时会输入个人信息用以登陆、支付等操作,这就出现了安全问题。在本发明实施例中,为了保证客户端浏览器的安全,客户端浏览器可以通过数据加密传输的方法来保证用户的隐私数据不被第三方截获或识别出来,具体地,在用户通过客户端向服务器端提交个人数据时,采用一定的加密算法,使第三方即使在截获用户数据时也无法破解用户信息。在本发明实施例中,客户端浏览器还可以采用缓存技术,客户端浏览器缓存是为了解决用户浏览已浏览过页面或部分的响应问题。当客户端新请求一个页面时,由服务器端将这个页面分割成小块,将分割后的小块进行标记key,并计算出该块数据的HASH值hash_value,key和hash_value与该块的数据一并发送给客户端。客户端在接收到数据后,将数据进行缓存,当下次再浏览该块页面时,只需将key和hash_Value传送给服务器端以判断该块数据是否依然有效,即判断该块页面与当前服务器端对应页面块(key)对应的数据(通过hash_Value)是否相同,来决定是否需要重传数据。如果某块有变化,则只需要传输变化的那块数据。其中,key值由URL、横向起始位置和纵向起始位置组成。也就是说,在本发明实施例中,上述显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。客户端浏览器将组成显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在本地;在下次需要对显示内容进行显示时,客户端浏览器将组成显示内容的各块显示数据所对应的key值和哈希值发送到服务器端;客户端浏览器根据服务器端返回的信息确认显示内容是否存在更新,如果不存在更新,则直接根据显示内容信息进行显示,如果存在更新,获取服务器端返回的最新显示数据、以及相应的key值和哈希值,根据最新显示数据、以及相应的key值和哈希对显示内容信息进行更新,并根据更新后的显示内容信息进行显示。图6是本发明一个实施例的服务器端分割页面的示意图,图7是本发明一个实施例的客户端浏览器显示的内容块的示意图,如图6和图7所示,图6表示了服务器端对网页所做的页面分割处理,并根据url、偏移位置等信息计算出每个块的key和hash_valUe值;图7表示了客户端浏览器当前浏览该页面所覆盖的块www. test. com. cn_0_0、www. test,com. cn_0_240到www. test. com. cn_240_640,客户端浏览器将这些块的数据以块为单位进行缓存。当用户再次浏览当前区域的内容时,只需要将覆盖的块的key和hash_Value值传给服务器端,由服务器判断是否需要对某些块的数据进行重传。综上所述,本发明实施例的技术方案在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,给用户提供了很好的上网环境,保证用户的上网安全。根据本发明的实施例,提供了一种客户端浏览器,图8是本发明一个实施例的客户端浏览器的结构示意图,如图8所示,根据本发明实施例的客户端浏览器包括启动模块80以及处理模块82,以下对本发明实施例的各个模块进行详细的说明。启动模块80,适于接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到服务器端返回的启动成功响应后,启动客户端浏览器;在本发明实施例中,客户端浏览器可以为移动客户端浏览器,也可以为PC客户端浏览器,上述服务器端可以为云端服务器。启动模块80在接收启动客户端浏览器的触发指令后,启动模块80需要向服务器端发送启动请求,此时,服务器端接收客户端浏览器发送的启动请求,在服务器端启动一个与客户端浏览器相对应的服务器端浏览器,并向启动模块80发送启动成功响应;启动模块80在接收到服务器端返回的启动成功响应后,启动客户端浏览器并显示初始页面。优选地,在本发明实施例中,启动请求中还可以携带有客户端浏览器的用户标识。服务器端可以根据上述用户标识将用户数据(包括浏览器收藏夹数据、和/或浏览历史数据)存储在数据库中,并根据客户端浏览器发送的用户操作更新数据库中相应的用户数据。处理模块82,适于接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息。处理模块82需要接收用户对客户端浏览器输入的信息,其中,用户对客户端浏览器输入的信息包括用户对客户端浏览器输入的文字信息、用户对客户端浏览器进行滚屏操作的偏移量、或者用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息等。服务器端获取处理模块82发送的用户对客户端浏览器输入的信息和输入焦点位置信息,根据信息和输入焦点位置信息对服务器端浏览器执行相应处理,并将操作结果信息发送到处理模块82。随后,处理模块82显示和/或执行服务器端返回的操作结果信息。下面对用户对客户端浏览器进行各种操作时处理模块82的处理过程进行详细说明。
图3是本发明一个实施例的客户端浏览器与服务器端进行交互的处理流程图一,图4是本发明一个实施例的客户端浏览器与服务器端进行交互的处理流程图二,如图3和图4所示,根据本发明实施例的客户端浏览器与服务器端的交互包括如下几种操作一、输入处理模块82获取用户对客户端浏览器输入的文字信息(例如,用户通过输入URL来访问对应的网页,通过输入用户名密码登陆网站,或者输入某些信息来进行页面搜索等,这些都是用户通过输入来完成的),并将文字信息和输入文字信息的输入焦点位置信息发送到服务器端(也就是说,当用户输入字符时,客户端将输入信息于当前输入焦点的位置一起传输给服务器端);在服务器端进行处理后,处理模块82接收服务器端反馈的响应信息,其中,响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的客户端浏览器需要更新的显示内容信息;处理模块82向用户提示信息输入失败;或者,根据响应消息中携带的需要更新的显示内容信息进行显示。
二、滚屏操作用户在浏览网页时,屏幕无法显示全部内容,就需要对页面进行滚屏操作。当用户滚屏时,处理模块82获取用户对客户端浏览器进行滚屏操作的偏移量,并将偏移量发送到服务器端;在服务器端进行处理后,处理模块82接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据偏移量计算出页面偏移量后得到客户端浏览器需要更新的显示内容信息;处理模块82根据响应消息中携带的需要更新的显示内容信息进行显示。三、事件在本发明实施例中,事件分为两种浏览器事件和网页事件,其中,浏览器事件指客户端与服务器端浏览器的交互事件,包括新建标签页、关闭标签页、切换标签页、管理收藏夹、撤销操作等,这些事件通过用户在客户端点击浏览器显示的按键或菜单完成,处理模块82将点击的位置信息上传给服务器端,由服务器端浏览器完成后续处理。网页事件指客户端通过服务器端浏览器与网页之间的交互事件。用户在浏览网页时,会点击上面不同的链接、图片、按键等控件,处理模块82根据用户点击的位置、时间等信息传输给服务器端,并根据服务器端的响应做出相应的处理。具体地,处理模块82需要获取用户对客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息,并将输入焦点位置信息发送到服务器端;在服务器端进行处理后,处理模块82接收服务器端反馈的响应信息,其中,响应信息中携带有服务器端根据浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的客户端浏览器的显示内容信息;处理模块82向用户提示浏览器事件操作失败,或者,根据响应消息中携带的显示内容信息进行显示。四、下载和上传在实际应用中,用户会通过浏览网页进行下载或上传文件操作。在上传数据时,处理模块82获取用户需要上传到网页的数据,并将数据上传到服务器端,通过服务器端上传到相应的网页服务器;在下载数据时,处理模块82从服务器端下载需要从网页下载的数据,其中,数据由服务器端从相应的网页服务器下载。具体地,在实际应用中,处理模块82会通过FTP或私有协议与服务器端进行交互。如果是下载操作,处理模块82在文件被下载到服务器端后将文件下载到本地;如果是上传操作,处理模块82先将文件上传的服务器端,由服务器端最终上传到网站上。图5是本发明一个实施例的上传下载时进行数据压缩和解压缩的示意图,如图5所示,在本发明实施例中,考虑到网络流量的实际,在本发明实施例中,在网络环境值大于或等于预先设置的网络环境优秀阈值时,处理模块82可以选择采用实时传输方式将信息和输入信息的输入焦点位置信息发送到服务器端;在网络环境值小于预先设置的网络环境优秀阈值时,处理模块82可以选择采用定时上传和/或定量上传的方式将信息和输入信息的输入焦点位置信息发送到服务器端。也就是说,用户输入信息时,当网络环境良好时,处理模块82可以采用实时传输方式,每输入一个字符就上传一个,每次更新都会触发请求操作;当网络环境恶劣时,处理模块82可以采用定时上传或者定量上传,定时上传时设置有一个超时时间,超过一定时间 就进行一次上传,而定量上传就是当输入到指定个数的字符时进行一次上传,这两种上传可以配合使用。在用户上传或下载文件时,处理模块82可以进行gzip或其它算法的数据压缩,使传输的数据尽可能小,从而即减少了流量又提供了速度,在服务器端和客户端浏览器都有对应的压缩和解压缩功能,保证文件只是在传输过程中是压缩形式,而体现在客户端浏览器或网站时是非压缩原有格式。五、关闭浏览器用户在浏览完成后会关闭客户端浏览器。当用户关闭客户端时,处理模块82会向服务器端发送一个关闭请求,待返回响应后,处理模块82完成相应的操作。在实际应用中,用户在浏览网站时,有时会输入个人信息用以登陆、支付等操作,这就出现了安全问题。在本发明实施例中,为了保证客户端浏览器的安全,客户端浏览器可以通过数据加密传输的方法来保证用户的隐私数据不被第三方截获或识别出来,具体地,在用户通过客户端向服务器端提交个人数据时,采用一定的加密算法,使第三方即使在截获用户数据时也无法破解用户信息。在本发明实施例中,客户端浏览器还可以采用缓存技术,客户端浏览器缓存是为了解决用户浏览已浏览过页面或部分的响应问题。当客户端新请求一个页面时,由服务器端将这个页面分割成小块,将分割后的小块进行标记key,并计算出该块数据的HASH值hash_value,key和hash_value与该块的数据一并发送给客户端。客户端在接收到数据后,将数据进行缓存,当下次再浏览该块页面时,只需将key和hash_Value传送给服务器端以判断该块数据是否依然有效,即判断该块页面与当前服务器端对应页面块(key)对应的数据(通过hash_Value)是否相同,来决定是否需要重传数据。如果某块有变化,则只需要传输变化的那块数据。其中,key值由URL、横向起始位置和纵向起始位置组成。也就是说,在本发明实施例中,上述显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。客户端浏览器的缓存模块将组成显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在本地;处理模块82在下次需要对显示内容进行显示时,客户端浏览器将组成显示内容的各块显示数据所对应的key值和哈希值发送到服务器端;客户端浏览器根据服务器端返回的信息确认显示内容是否存在更新,如果不存在更新,则直接根据显示内容信息进行显示,如果存在更新,获取服务器端返回的最新显示数据、以及相应的key值和哈希值,根据最新显示数据、以及相应的key值和哈希对显示内容信息进行更新,并根据更新后的显示内容信息进行显示。图6是本发明一个实施例的服务器端分割页面的示意图,图7是本发明一个实施例的客户端浏览器显示的内容块的示意图,如图6和图7所示,图6表示了服务器端对网页所做的页面分割处 理,并根据url、偏移位置等信息计算出每个块的key和hash_valUe值;图7表示了客户端浏览器当前浏览该页面所覆盖的块www. test. com. cn_0_0、www. test,com. cn_0_240到www. test. com. cn_240_640,客户端浏览器将这些块的数据以块为单位进行缓存。当用户再次浏览当前区域的内容时,只需要将覆盖的块的key和hash_Value值传给服务器端,由服务器判断是否需要对某些块的数据进行重传。综上所述,本发明实施例的技术方案在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,给用户提供了很好的上网环境,保证用户的上网安全。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的客户端浏览器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种实现客户端浏览器的方法,包括 接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到所述服务器端返回的启动成功响应后,启动所述客户端浏览器; 接收用户对所述客户端浏览器输入的信息,将所述信息和输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息; 其中,所述启动请求中携带有所述客户端浏览器的用户标识。
2.如权利要求I所述的方法,其特征在于,接收用户对所述客户端浏览器输入的信息,将所述信息和输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息进一步包括 获取用户对所述客户端浏览器输入的文字信息; 将所述文字信息和输入所述文字信息的输入焦点位置信息发送到所述服务器端; 所述客户端浏览器接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息; 所述客户端浏览器向用户提示信息输入失败;或者,根据所述响应消息中携带的需要更新的显示内容信息进行显示。
3.如权利要求I或2所述的方法,其特征在于,接收用户对所述客户端浏览器输入的信息,将所述信息和/或输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息进一步包括 获取用户对所述客户端浏览器进行滚屏操作的偏移量; 将所述偏移量发送到所述服务器端; 所述客户端浏览器接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有所述服务器端根据所述偏移量计算出页面偏移量后得到所述客户端浏览器需要更新的显示内容信息; 所述客户端浏览器根据所述响应消息中携带的需要更新的显示内容信息进行显示。
4.如权利要求I至3中任一项所述的方法,其特征在于,接收用户对所述客户端浏览器输入的信息,将所述信息和输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息进一步包括 获取用户对所述客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息; 将所述输入焦点位置信息发送到所述服务器端; 所述客户端浏览器接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有所述服务器端根据所述浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的所述客户端浏览器的显示内容信息; 所述客户端浏览器向用户提示浏览器事件操作失败,或者,根据所述响应消息中携带的所述显示内容信息进行显示。
5.如权利要求I至4中任一项所述的方法,其特征在于, 所述浏览器事件操作包括新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作;所述网页事件操作包括对网页上的连接、图片、或按钮的操作。
6.如权利要求I至5中任一项所述的方法,其特征在于,所述显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
7.如权利要求I至6中任一项所述的方法,其特征在于,所述方法进一步包括 将组成所述显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在所述客户端浏览器中; 在下次需要对所述显示内容进行显示时,将组成所述显示内容的各块显示数据所对应的key值和哈希值发送到所述服务器端; 根据所述服务器端返回的信息确认所述显示内容是否存在更新,如果不存在更新,则直接根据所述显示内容信息进行显示,如果存在更新,获取所述服务器端返回的最新显示数据、以及相应的key值和哈希值,根据所述最新显示数据、以及相应的key值和哈希对所述显示内容信息进行更新,并根据更新后的所述显示内容信息进行显示。
8.如权利要求I至7中任一项所述的方法,其特征在于,将所述信息和输入焦点位置信息发送到所述服务器端进一步包括 在网络环境值大于或等于预先设置的网络环境优秀阈值时,采用实时传输方式将所述信息和输入所述信息的输入焦点位置信息发送到所述服务器端; 在网络环境值小于预先设置的网络环境优秀阈值时,采用定时上传和/或定量上传的方式将所述信息和输入所述信息的输入焦点位置信息发送到所述服务器端。
9.如权利要求I至8中任一项所述的方法,其特征在于,接收用户对所述客户端浏览器输入的信息,将所述信息和输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息进一步包括 获取用户需要上传到网页的数据,并将所述数据上传到所述服务器端,通过所述服务器端上传到相应的网页服务器; 从所述服务器端下载需要从网页下载的数据,其中,所述数据由所述服务器端从相应的网页服务器下载。
10.一种客户端浏览器,包括 启动模块,适于接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到所述服务器端返回的启动成功响应后,启动所述客户端浏览器,其中,所述启动请求中携带有所述客户端浏览器的用户标识; 处理模块,适于接收用户对所述客户端浏览器输入的信息,将所述信息和输入焦点位置信息发送到所述服务器端,显示和/或执行所述服务器端返回的操作结果信息。
11.如权利要求10或者11所述的客户端浏览器,其特征在于,所述处理模块进一步适于: 获取用户对所述客户端浏览器输入的文字信息; 将所述文字信息和输入所述文字信息的输入焦点位置信息发送到所述服务器端; 接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有输入成功或失败的信息、以及在输入文字信息成功时携带的所述客户端浏览器需要更新的显示内容信息; 向用户提示信息输入失败,或者,根据所述响应消息中携带的需要更新的显示内容信息进行显示。
12.如权利要求10至11中任一项所述的客户端浏览器,其特征在于,所述处理模块进一步适于 获取用户对所述客户端浏览器进行滚屏操作的偏移量; 将所述偏移量发送到所述服务器端; 接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有所述服务器端根据所述偏移量计算出页面偏移量后得到所述客户端浏览器需要更新的显示内容信息; 根据所述响应消息中携带的需要更新的显示内容信息进行显示。
13.如权利要求10至12中任一项所述的客户端浏览器,其特征在于,所述处理模块进一步适于 获取用户对所述客户端浏览器进行浏览器事件操作或网页事件操作的输入焦点位置信息; 将所述输入焦点位置信息发送到所述服务器端; 接收所述服务器端反馈的响应信息,其中,所述响应信息中携带有所述服务器端根据所述浏览器事件操作或网页事件操作处理成功或失败的信息、以及在浏览器事件操作或网页事件操作成功时携带的所述客户端浏览器的显示内容信息; 向用户提示浏览器事件操作失败,或者,根据所述响应消息中携带的所述显示内容信息进行显示。
14.如权利要求10至13中任一项所述的客户端浏览器,其特征在于,所述浏览器事件操作包括新建标签页、关闭标签页、切换标签页、管理收藏夹、或撤销操作; 所述网页事件操作包括对网页上的连接、图片、或按钮的操作。
15.如权利要求10至14中任一项所述的客户端浏览器,其特征在于,所述显示内容信息包括将显示内容进行分块后的一块或多块显示数据、与各块显示数据对应的key值、以及与各块显示数据对应的哈希值。
16.如权利要求10至15中任一项所述的客户端浏览器,其特征在于, 所述客户端浏览器进一步包括 缓存模块,适于将组成所述显示内容的各块显示数据、相应的key值、以及相应的哈希值缓存在所述客户端浏览器中; 所述处理模块进一步适于在下次需要对所述显示内容进行显示时,将组成所述显示内容的各块显示数据所对应的key值和哈希值发送到所述服务器端;根据所述服务器端返回的信息确认所述显示内容是否存在更新,如果不存在更新,则直接根据所述显示内容信息进行显示,如果存在更新,获取所述服务器端返回的最新显示数据、以及相应的key值和哈希值,根据所述最新显示数据、以及相应的key值和哈希对所述显示内容信息进行更新,并根据更新后的所述显示内容信息进行显示。
17.如权利要求10至16中任一项所述的客户端浏览器,其特征在于,所述处理模块进一步适于 在网络环境值大于或等于预先设置的网络环境优秀阈值时,采用实时传输方式将所述信息和输入所述信息的输入焦点位置信息发送到所述服务器端; 在网络环境值小于预先设置的网络环境优秀阈值时,采用定时上传和/或定量上传的方式将所述信息和输入所述信息的输入焦点位置信息发送到所述服务器端。
18.如权利要求10至17中任一项所述的客户端浏览器,其特征在于,所述处理模块进一步适于 获取用户需要上传到网页的数据,并将所述数据上传到所述服务器端,通过所述服务器端上传到相应的网页服务器; 从所述服务器端下载需要从网页下载的数据,其中,所述数据由所述服务器端从相应的网页服务器下载。
全文摘要
本发明公开了一种实现客户端浏览器的方法和客户端浏览器。该客户端浏览器包括启动模块,适于接收启动客户端浏览器的触发指令,向服务器端发送启动请求,并在接收到服务器端返回的启动成功响应后,启动客户端浏览器,其中,启动请求中携带有客户端浏览器的用户标识;处理模块,适于接收用户对客户端浏览器输入的信息,将信息和输入焦点位置信息发送到服务器端,显示和/或执行服务器端返回的操作结果信息。借助于本发明的技术方案,能够有效降低客户端侧的数据处理负担,在响应速度快,流量消耗少的情况下,还能保证很好的渲染效果,同时支持所有的用户操作,减轻了对用户终端软硬件的配置要求,给用户提供了很好的上网环境,保证用户的上网安全。
文档编号H04L29/08GK102932469SQ20121044734
公开日2013年2月13日 申请日期2012年11月9日 优先权日2012年11月9日
发明者马金韬 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1