发明内容
鉴于上述,本发明提出了一种页面传输方法、装置及系统,能提升页面数据压缩效果,从而更好减少传输耗时和节省流量。
根据本发明的一个方面,提供了一种页面传输方法,包括:服务器接收客户端发送的页面请求;解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识;根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板;将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据;将所述增量数据作为页面应答数据传输给客户端。
进一步的,还包括:根据所述页面请求不含有所述模板标识确定客户端未提供历史浏览页面模板后,将根据页面请求获取的页面数据作为页面应答数据传输给客户端。
进一步的,还包括:在得到增量数据之后,将所述增量数据和所述模板ID按照预定格式一起封装后,作为页面应答数据传输给客户端。
进一步的,还包括:在得到增量数据之后,将所述增量数据、所述模板ID和用于表示应答数据是否为增量压缩数据的第二标识,按照预定格式一起封装后,作为页面应答数据传输给客户端;由所述客户端在接收所述页面应答数据后,根据其中含有所述第二标识,进行增量解压缩运算得到增量数据,再根据所述解压到的增量数据还原页面。
进一步的,还包括:在得到增量数据之后,判断增量压缩运算的增量压缩率是否低于第一设定阈值,若是,再将所述增量数据作为页面应答数据,若否,则将根据页面请求获取的页面数据作为页面应答数据。
进一步的,服务器中预先缓存页面模板的过程包括:服务器在初始接收到客户端的第二页面请求后,根据所述第二页面请求含有表示客户端支持增量压缩的第三标识,且根据第二页面请求获取的页面数据的大小大于第二设定阈值,确定所述获取的页面数据作为历史浏览页面模板,计算所述获取的页面数据的模板标识;以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
进一步的,还包括:所述将获取的页面数据作为历史浏览页面模板保存到缓存队列后,将获取的页面数据作为应答数据发送给客户端;由所述客户端在接收到所述服务器返回的含有获取的页面数据的应答数据后,若客户端支持增量压缩方式,则客户端计算应答数据中的页面数据的模板标识;以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
进一步的,所述计算所述获取的页面数据的模板标识包括:对所述获取的页面数据进行MD5运算,再取设定个字符进行base64转码,将转码得到得到字符作为模板标识。
根据本发明的另一个方面,提供一种页面传输装置,包括:接收单元,用于接收客户端发送的页面请求;解析判断单元,用于解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识;模板查找单元,用于根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板;增量处理单元,用于将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据;发送单元,用于将所述增量数据作为页面应答数据传输给客户端。
进一步的,装置还包括:封装处理单元,用于在所述增量处理单元得到增量数据之后,将所述增量数据和所述模板ID按照预定格式一起封装,或者,将所述增量数据、所述模板ID和用于表示应答数据是否为增量压缩数据的第二标识,按照预定格式一起封装;所述发送单元将所述封装处理单元封装后的应答数据传输给客户端。
进一步的,装置还包括:压缩比较单元,用于在所述增量处理单元得到增量数据之后,判断增量压缩运算的增量压缩率是否低于第一设定阈值;若是,所述发送单元再将所述增量数据作为页面应答数据,若否,则所述发送单元将根据页面请求获取的页面数据作为页面应答数据。
进一步的,装置还包括:模板缓存单元,用于在初始接收到客户端的第二页面请求后,根据所述第二页面请求含有表示客户端支持增量压缩的第三标识,且根据第二页面请求获取的页面数据的大小大于第二设定阈值,确定所述获取的页面数据作为历史浏览页面模板,计算所述获取的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
根据本发明的另一个方面,提供一种页面传输系统,包括服务器和客户端:所述服务器,用于接收客户端发送的页面请求,解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识,根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板,将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据,将所述增量数据作为页面应答数据传输给客户端;所述客户端,用于向所述服务器发送页面请求,接收所述服务器返回的页面应答数据。
进一步的,系统还包括:所述服务器在得到增量数据之后,将所述增量数据和所述模板ID按照预定格式一起封装;或者,将所述增量数据、所述模板ID和用于表示应答数据是否为增量压缩数据的第二标识,按照预定格式一起封装;再将封装后的应答数据传输给客户端。
进一步的,系统还包括:所述服务器按照以下方式预先缓存页面模板:在初始接收到客户端的第二页面请求后,根据所述第二页面请求含有表示客户端支持增量压缩的第三标识,且根据第二页面请求获取的页面数据的大小大于第二设定阈值,确定所述获取的页面数据作为历史浏览页面模板,计算所述获取的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
进一步的,系统还包括:所述客户端按照以下方式预先缓存页面模板:客户端在接收到所述服务器返回的含有获取的页面数据的应答数据后,若客户端支持增量压缩方式,则客户端计算应答数据中的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
利用上述技术方案,本发明本发明预先在服务器和客户端存储了历史浏览页面模板,服务器在判断出客户端发送的页面请求中含有预先约定格式的模板标识后,根据模板标识找到对应的页面模板,就可以将根据页面请求获取的页面数据与查找到的页面模板进行增量压缩运算,得到增量数据,那么传输给客户端的就是数据量很小的数据,就可以通过提升页面数据压缩效果,从而更好减少传输耗时和节省流量。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
本发明提供一种页面传输方法,能提升页面数据压缩效果,从而更好减少传输耗时和节省流量。
本发明主要是基于单用户浏览历史情况下改进页面传输方法,节省网页流量,对于某些场景特别是例如低速网络的场景或者页面数据较大的场景,效果较好。
本发明为了提升页面数据压缩效果,利用了SDCH机制,并进行了改进。
在介绍本发明方案前,先对SDCH进行简单介绍。
在标准的web服务中,SDCH(Shared Dictionary Com
pression over HTTP)是一种基于字典进行HTTP数据压缩机制,是一种与HTTP/1.1兼容的扩展,它通过在客户端和服务器之间共享字典来支持对HTTP响应数据的压缩。SDCH的一种应用场景是:某个web站点的所有页面都使用同一页面模板T,每个页面上的差异数据非常少,假定每个页面的相似度接近90%,那么通过使用SDCH机制,服务器先下发页面模板T给客户端作为字典D,当客户端访问服务器的某一页面时,就可以使用增量压缩算法方式来应答该页面基于页面模板T的增量数据,从而达到减少传输数据流量的目的。增量压缩算法与自身压缩算法的主要区别在于增量压缩算法中的压缩字典是可变的,可指定的。增量压缩的计算:对于给定的数据大小S,其增量压缩数据大小为Z,则增量压缩率为:Z / S * 100%。增量压缩率越小,则压缩效果越好。自身压缩的计算:使用通用的压缩算法对给定的数据B进行压缩,例如gzip、7zip,实际的实现是基于压缩算法内置的字典(相对固定)对数据进行压缩处理。对于给定的数据大小S,其增量压缩数据大小为Z,则增量压缩率为:Z / S * 100%。增量压缩率越小,则压缩效果越好。
本发明方案具有一定的应用基础及场景,可以结合单用户浏览历史的页面来使用SDCH机制,在自身压缩机制之外提供了一种新的节省流量的方式以供用户选择。本发明基于历史浏栏页面的增量压缩方式相比较现有的SDCH机制,并不需要额外传输模板(字典),因为模板的约定是基于服务器和客户端历史传输过的页面进行自动约定的。本发明所说的模板,是指服务器与客户端之间传输过的可作为增量压缩字典的原始页面数据。
下面将参照附图描述本发明的各个实施例。
图1是本发明的页面传输方法第一流程图。
如图1所示,包括步骤:
步骤101、服务器接收客户端发送的页面请求;
步骤102、解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识;
步骤103、根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板;
步骤104、将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据;
步骤105、将所述增量数据作为页面应答数据传输给客户端。
可以发现,本发明预先在服务器和客户端存储了历史浏览页面模板,服务器在判断出客户端发送的页面请求中含有预先约定格式的模板标识后,根据模板标识找到对应的页面模板,就可以将根据页面请求获取的页面数据与查找到的页面模板进行增量压缩运算,得到增量数据,那么传输给客户端的就是数据量很小的数据,就可以通过提升页面数据压缩效果,从而更好减少传输耗时和节省流量。
图2是本发明方法中关于模板的标识和保存的处理过程示意图。
如图2所示,包括步骤:
步骤201:服务器接收和处理客户端发起的页面请求。
本发明中,服务器与客户端约定由客户端通过自定义的协议字段来标识客户端是否支持增量压缩方式。为描述的方便,用于标识客户端是否支持增量压缩方式的标识称为标识A。另外,还可以约定定义其他协议字段作为其他标识。
需说明的是,关于标识A,可以认为含有该标识A就表示支持,也可以根据协议字段中的标识A的取值判断,例如为1表示支持,为0表示不支持,或者相反的含义。本发明对此不加以限定,只强调定义标识用于进行识别作用。
客户端发起的页面请求中含有标识客户端是否支持增量压缩方式的标识A。服务器接收客户端发起的页面请求,解析页面请求,可以得到页面请求中含有的各个字段,包括标识A。
步骤202:判断客户端是否支持增量压缩方式,如支持转步骤203,如不支持则转步骤205。
服务器根据步骤201中的解析结果判断客户端是否支持增量压缩方式。该步骤以含有该标识A就表示支持为例说明。服务器如果发现解析得到的客户端的页面请求中含有标识A,认为客户端是否支持增量压缩方式,否则不支持。另外,也可以是根据标识A的取值判断是否支持增量压缩。
需说明的是,本发明服务器还可以基于客户端不同的接入点,决定是否使用增量压缩方式。例如对于带宽较大不关注流量的wifi接入点,服务器可以禁止增量压缩机制,即认为不支持增量压缩。
步骤203:判断页面原始大小是否大于设定的服务器保存模板的大小阈值file_size_threshold,如大于转步骤204,如不大于转步骤205。
服务器根据客户端的请求获取对应的页面,再计算该页面的原始大小,然后再判断页面原始大小是否大于模板的设定阈值。计算该页面的原始大小可以采用现有方法进行,本发明不加以限定。阈值file_size_threshold一般根据经验值确定。
本发明中,服务器会有选择的保存模板,主要是基于页面大小来控制。因为对于在一定大小(如设定阈值)以下的页面,使用增量压缩方式的效果不一定明显。因此考虑对于大于设定阈值的才使用增量压缩方式。
步骤204:计算该页面的模板标识(模板ID),结合页面地址域名,以“域名+模板ID”为关键字保存到进程内的缓存队列中。
本发明会在服务器和客户端之间对于传输过的页面进行约定标识,通过约定标识可以解决服务器和客户端约定增量压缩模板(即增量压缩字典)的问题。即,本发明基于历史浏栏页面的增量压缩方式相比较现有的SDCH机制,并不需要额外传输模板(字典),因为模板的约定是基于服务器和客户端历史传输过的页面进行自动约定的。本发明约定的这种标识是有效的,该标识同时在服务器和客户端之间保存并且可引用。
具体的,本发明是通过模板ID作为约定标识,约定服务器与客户端两者之间传输过的原始页面数据可以作为增量压缩模板。
计算模板ID的过程为:通过对原始页面数据进行MD5运算,取设定个字符例如前6个字符再进行base64转码为8个字符后进行标识(全局唯一标识)。值得说明的是,服务器和客户端需用同一种base64编码方式。
对于一个给定的原始页面,如以”www.abc.com/def/ghi.html”为例:服务器计算得到原始页面的模板ID为fr4D9oEv后,以“域名模板ID”的方式作为关键字key把页面数据记录到进程内部的缓存队列,本例为“www.abc.comfr4D9oEv”。该缓存队列基于LRU(Least Recently Used,最近最少使用)算法进行淘汰。本发明是在有限的缓存队列中,基于缓存数据使用频率最少为原则进行数据淘汰。
需说明的是,服务器还可以调整进程内模板的缓存队列到外部继续进行存储,这样可以减少由于服务器的重启导致模板丢失从而影响增量压缩率的问题。
步骤205:服务器使用自身压缩方式对页面原始数据进行压缩,并发送给客户端作为应答。进入步骤206。
该步骤中,服务器可以采用现有的自身压缩方式对页面原始数据进行压缩,以减少数据大小。
步骤206:客户端接收到服务器发送的原始数据,如果客户端自身不支持增量压缩方式,转步骤208,如果支持增量压缩方式,进入步骤207。
步骤207:客户端计算该页面的模板ID,结合页面地址域名,以“域名+模板ID”为关键字,保存模板ID及页面数据到历史浏览页面模板的缓存队列中。进入步骤208。
客户端接收到该原始页面后,按照步骤204中描述的同样的规则计算其模板ID,将模板ID及页面数据保存到历史浏览页面模板的缓存队列中。但该缓存队列结合页面地址域名,以“域名+模板ID”为关键字保存到缓存队列中。本例的页面地址为“www.abc.com/def/ghi.html”,记录的缓存数据包括模板ID(fr4D9oEv)及页面原始数据。客户端保存模板ID和模板数据后,后续可以向服务器提供候选模板ID供选择。
该步骤中客户端计算得到的模板ID与服务器计算得到的模板ID是相同的,模板ID结果都为fr4D9oEv。
客户端保存模板的策略较简单,不需要像服务器那样按照设定阈值进行比较,如果支持增量压缩方式时,无论大小,都进行保存。
步骤208:客户端解析页面并进行展现。
客户端按现有的处理方式,将接收的页面原始数据进行解析,然后展现。
图3是本发明页面传输方法的第二流程示意图。
该图是描述客户端保存有模板ID并在向服务器发起的页面请求提供了候选模板ID的处理情况,处理流程包括:
步骤301:服务器接收和处理客户端的页面请求。
客户端发起的页面请求中含有表示客户端是否支持增量压缩方式的标识A和已保存模板的模板ID。服务器接收客户端发起的页面请求,解析页面请求,可以得到页面请求中含有的标识A和模板ID。
客户端发起新的页面请求时,如果客户端的模板缓存队列中有模板数据,客户端可基于最优路径匹配的原则来选取可能合适的模板ID,将候选的模板ID携带在页面请求中,上传给服务器。
关于最优路径匹配算法在客户端的实现,举例说明。
假定在客户端的历史浏览页面模板的缓存队列中有以下几个模板信息:
www.abc.com/def/ghi.html 模板ID - fr4D9oEv
www.abc.com/def1/jkl.html 模板ID - 5TyUp07R
www.abc.com/def/mno.html 模板ID - E3Ws6jGy
www.abc.com/def2/pqr.html 模板ID - D6ToU4Tc
www.123.com/def/stu.html 模板ID - 9wQ2hVfs
当客户端请求www.abc.com/def/123.html的页面时,排除文件名称“123”后发现www.abc.com/def/ghi.html和www.abc.com/def/mno.html的路径最为相似(都为www.abc.com/def/),而www.abc.com/def/ghi.html的浏览时间是最新的,因此选择www.abc.com/def/ghi.html对应的模板ID - fr4D9oEv作为增量压缩的候选模板ID,上传到服务器。即,如果同时有多个路径匹配的模板时,客户端则选取最近浏览过的页面模板作为候选模板。如果排除文件名称后发现只有一个路径最匹配,则选择该路径对应的模板ID。
步骤302:判断客户端是否提供了历史浏览页面模板,是则进入步骤303,否则转步骤307。
服务器根据客户端发起的页面请求中是否含有模板ID,判断是否提供了历史浏览页面模板。如果含有模板ID,表示提供了历史浏览页面模板。
步骤303:服务器在进程内的模板缓存队列查找模板ID对应的历史浏览页面模板,如果查找到进入步骤304,否则转步骤307。
步骤304:服务器将请求所对应的该次页面的原始数据基于该查找到的历史浏览页面模板进行增量压缩运算。进入步骤305。
服务器根据客户端的页面请求,获得请求所对应的页面的原始数据。服务器再将该次页面的原始数据基于该查找到的历史浏览页面模板进行增量压缩运算。
增量压缩运算具体为:将该次页面的原始数据与查找到的历史浏览页面模板进行差异比较,找到差异数据作为增量数据,再进行压缩。
可以选取第三方open vcdiff的增量压缩算法作为使用算法。使用该种算法,对于给定的大小在100KB左右的文件集合,文件两两之间的增量压缩耗时大致在20ms以下,而增量数据还原(解压)耗时大致在10ms以下。需要说明的是,也可以选取其他的增量压缩算法。
步骤305:判断增量压缩率是否低于设定的阈值zip_ratio,如果是,进入步骤306,否则转步骤307。
本发明的服务器,是对于增量压缩的效果进行策略判断,以决定是否使用增量压缩数据。该步骤中以增量压缩率作为压缩效果为例进行策略判断。增量压缩率越小,则压缩效果越好。
本发明预先设定一个增量压缩率阈值zip_ratio,该阈值取经验值。如果增量压缩率低于设定的阈值,认为增量压缩效果较好,反之认为增量压缩效果不好。
步骤306:将模板ID及增量数据封装作为应答数据,转步骤308。
因为增量压缩率低于设定的阈值,增量压缩效果较好,因此可以考虑使用增量数据。服务器将模板ID及增量数据,按照约定的格式进行封装作为应答数据。本发明对于约定格式不加以限定,只要客户端和服务器约定的格式都可以。
步骤307:将页面原始数据作为应答数据。进入步骤308。
因为增量压缩率高于或等于设定的阈值,增量压缩效果不太好,因此考虑不使用增量数据,而使用原页面数据。服务器将页面原始数据作为应答数据。
步骤308:将应答数据返回给客户端。
该步骤将应答数据发给客户端时,在应答数据的协议字段中含有标识应答数据是否为增量压缩数据的标识B。
关于标识B,可以认为含有该标识B就表示为增量压缩数据,也可以根据协议字段中的标识B的取值判断,例如为1表示支持,为0表示不支持,或者相反的含义。本发明对此不加以限定,只强调定义标识用于进行识别作用。
步骤309:客户端判断应答数据是否为增量压缩数据,如果是则进入步骤310,否则转步骤311。
客户端根据应答数据是否含有标识B,判断应答数据是否为增量压缩数据。如果含有标识B,表示应答数据为增量压缩数据。另外,也可以是根据标识B的取值判断是否为增量压缩数据。
步骤310:客户端基于模板ID对应的模板,使用增量解压缩算法进行解压,还原为原始的页面数据。进入步骤311。
客户端根据应答数据中的模板ID,找到对应的模板,使用同样的增量压缩算法进行解压,还原为原始的页面数据。
步骤311:客户端解析页面数据并进行展现。
客户端按现有的处理方式,将页面原始数据进行解析,然后展现。
可以发现,利用本发明提出的方法,能提升页面数据压缩效果,从而更好减少传输耗时和节省流量。具体,如果页面数据大小为100KB,按照现有技术的压缩处理方法,需传输的页面数据减小为35KB左右,如果是在2G网络传输,那么传输耗时大概1.1秒左右,而应用本发明的增量压缩处理方式后,需传输的页面数据减少为20KB左右,传输耗时大概0.6秒左右。可以发现,本发明方法比现有技术实现了更好的效果,达到很好的节省流量效果。
进一步举例说明,用户在浏览页面时通常有一定的连续性,即访问同一站点的统一路径下的页面,比如连续访问新浪新闻频道的不同内容页面。而大部分站点对于页面都会使用同一套或者相近的页面模板通过填充数据生成页面,彼此之间的页面相似度比较高。延伸来看,对于客户端连续访问过同一站点同一路径下的两个相似度极高的页面A及A’,本发明的服务器和客户端约定以页面A作为字典,在传输页面A’时采用增量压缩的方式,那么实际传输的增量数据的流量就极少。特别的,如果页面A和页面A’是同一个页面的先后刷新,增量数据将会接近于0(前提是该页面的动态生成数据极少)。
上述详细介绍了本发明的方法流程,相应的,本发明相提供一种页面传输装置和系统。该装置为服务器。
如图4所示,是本发明服务器的第一结构示意图。
服务器包括:接收单元401、解析判断单元402、模板查找单元403、增量处理单元404、发送单元405。
接收单元401,用于接收客户端发送的页面请求;
解析判断单元402,用于解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识;
模板查找单元403,用于根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板;
增量处理单元404,用于将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据;
发送单元405,用于将所述增量数据作为页面应答数据传输给客户端。
如图5所示,是本发明服务器的第二结构示意图。
进一步的,服务器在具有图4所示结构的基础上,还包括:封装处理单元406。
封装处理单元406,用于在所述增量处理单元404得到增量数据之后,将所述增量数据和所述模板ID按照预定格式一起封装,或者,
将所述增量数据、所述模板ID和用于表示应答数据是否为增量压缩数据的第二标识,按照预定格式一起封装;
所述发送单元405将所述封装处理单元406封装后的应答数据传输给客户端。
进一步的,服务器还包括:压缩比较单元407。
压缩比较单元407,用于在所述增量处理单元404得到增量数据之后,判断增量压缩运算的增量压缩率是否低于第一设定阈值;
若是,所述发送单元405再将所述增量数据作为页面应答数据,若否,则所述发送单元405将根据页面请求获取的页面数据作为页面应答数据。
进一步的,服务器还包括:模板缓存单元408。
模板缓存单元408,用于在初始接收到客户端的第二页面请求后,根据所述第二页面请求含有表示客户端支持增量压缩的第三标识,且根据第二页面请求获取的页面数据的大小大于第二设定阈值,确定所述获取的页面数据作为历史浏览页面模板,计算所述获取的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
本发明还相应提供一种系统。图6是本发明的系统的结构示意图。
页面传输系统包括服务器601和客户端602。服务器601具有图4或图5所示的结构,此处不再详述。所述客户端602可以设置在移动终端中。
所述服务器601,用于接收客户端发送的页面请求,解析所述页面请求,根据解析结果判断出所述页面请求是否含有用于表示客户端提供历史浏览页面模板的模板标识,根据所述页面请求含有所述模板标识确定客户端提供了历史浏览页面模板后,按照所述模板标识查找服务器中预先缓存的对应的页面模板,将根据页面请求获取的页面数据与所述查找到的页面模板进行增量压缩运算,得到增量数据,将所述增量数据作为页面应答数据传输给客户端;
所述客户端602,用于向所述服务器发送页面请求,接收所述服务器返回的页面应答数据。
所述服务器601在得到增量数据之后,将所述增量数据和所述模板ID按照预定格式一起封装;或者,将所述增量数据、所述模板ID和用于表示应答数据是否为增量压缩数据的第二标识,按照预定格式一起封装;再将封装后的应答数据传输给客户端。
所述服务器601按照以下方式预先缓存页面模板:在初始接收到客户端的第二页面请求后,根据所述第二页面请求含有表示客户端支持增量压缩的第三标识,且根据第二页面请求获取的页面数据的大小大于第二设定阈值,确定所述获取的页面数据作为历史浏览页面模板,计算所述获取的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
所述客户端602按照以下方式预先缓存页面模板:客户端在接收到所述服务器返回的含有获取的页面数据的应答数据后,若客户端支持增量压缩方式,则客户端计算应答数据中的页面数据的模板标识,以所述计算得到的模板标识和页面数据的域名为关键字,将获取的页面数据作为历史浏览页面模板保存到缓存队列。
上述各装置各模块的具体交互过程,参见前面方法流程的描述,此处不再赘述。
此外,典型地,本发明所述的移动终端可为各种具有蓝牙功能的手持终端设备,例如具有蓝牙功能的手机、个人数字助理(PDA)。
此外,根据本发明的方法还可以被实现为由移动终端中的处理器(比如CPU)执行的计算机程序,并且存储在移动终端的存储器中。在该计算机程序被处理器执行时,执行本发明的方法中限定的上述功能。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。