差分数据传输的方法、装置及系统的制作方法_2

文档序号:9915003阅读:来源:国知局
差分请求端发送的数据请求信息,差分响应端通过解析该数据请求信息,得到该数据请求信息的类型,并依据该数据请求信息的类型分别进行数据处理,当该数据请求信息为差分请求时,差分响应端通过解析该差分请求的报文头,判断该差分请求是否携带预设标识,当判断结果为是时(即,差分请求携带有预设标识的情况下),通过中间服务器向差分请求端返回第一数据响应信息;当判断结果为否时(即,差分请求未携带有预设标识的情况下),通过中间服务器向差分请求端返回第二数据响应信息;并且,当该数据请求信息为非差分请求时,差分响应端将依据非差分请求返回非差分响应。在本申请实施例提供的差分数据传输的方法中,图3是根据本发明实施例的一种差分数据传输的方法的流程示意图,如图3所示,还可以包括:差分响应端接收由中间服务器转发的由差分请求端发送的数据请求信息,区别于相关技术,本申请实施例中的中间服务器通过差分处理模块的关闭,仅执行转发差分请求端发送的数据请求信息的角色,以使得解决了相关技术中由于中间服务器对数据请求信息,延长了响应时间的问题。其中,差分响应端通过中间服务器接收差分请求端发送的数据请求信息可以为本申请实施例的优选实施方式。
[0040]这里差分响应端通过判断该差分请求是否携带预设标识,判断该差分请求端是否有基准缓存,且依据该预设标识可以查询获取差分请求端的基准缓存是否与差分响应端的基准缓存版本一致,当版本一致时,差分响应端通过实时缓存和基准缓存计算得到差异部分,并通过反馈差异部分至差分请求端(即,返回第一数据响应信息),以使得差分请求端依据该差异部分,通过与基准缓存进行计算得到实时缓存;
[0041]但是当该差分请求未携带该预设标识或该预设标识与差分响应端的预设标识不一致时,差分响应端将该差分请求端视为无基准缓存或基准缓存版本不一致,进而通过差分响应端的基准缓存和实时缓存得到两者之间的差异部分,从而在反馈第二数据响应信息时,将实时缓存和差异部分返回至差分请求端(即,返回第二数据响应信息),以使得差分请求端依据该实时缓存和差异部分计算得到基准缓存。
[0042]本申请实施例提供的差分数据传输的方法基于HTTP响应的差分解码指的是根据差异部分和基准缓存重新计算出实时缓存,从而可以得到上述在具备实时缓存和差异部分的情况下,通过运算可以得到基准缓存,或,实时缓存与基准缓存通过计算比较得到差异部分。
[0043]需要说明的是,本申请实施例提供的差分数据传输的方法在解决由于差分请求端的基准缓存版本不一,导致差分响应端需要存储多份不同版本的基准缓存,从而浪费有限的缓存空间的问题的过程中,基于在差分请求端和差分响应端只保存一份基准缓存。差分请求端通过HTTP协议的请求头If-None-Match(即,步骤S106中的预设标识)指示差分响应端该差分请求端的基准缓存的版本。如果差分请求端和差分响应端的基准缓存不一致,差分响应端会通过第二数据响应信息告诉差分请求端需要同步基准缓存。这样能保证CDN网络中所有的节点都使用相同版本的基准缓存,从而实现了提升数据处理效率的技术效果。
[0044]此外,本申请实施例提供的步骤S202中在中间服务器的差分处理模块开关关闭的情况下,通过设置差分处理模块开关,打开开关意味着开启差分编码和差分解码功能,关闭开关意味着是中间服务器,进行差分响应的透明传输。RFC3229通过设置226状态码不在中间服务器进行缓存。但是会有可能存在具备差分解码的中间服务器试图对其进行差分解码,那么真正的差分请求服务器就不能得到226差异部分。所以这里差分处理模块开关解决了这个问题,即,通过关闭差分处理模块开关,中间服务器的透明传输,避免了具备差分解码的中间服务器试图对其进行差分解码,从而导致整个数据处理过程中响应时间长的问题。
[0045]本发明实施例提供的差分数据传输的方法中,通过在中间服务器的差分处理模块开关关闭的情况下,差分响应端接收数据请求信息;差分响应端解析数据请求信息,得到数据请求信息的类别,其中,数据请求信息的类别包括:差分请求和非差分请求;当数据请求信息为差分请求时,差分响应端判断差分请求是否携带预设标识;在判断结果为是的情况下,差分响应端返回第一数据响应信息,第一数据响应信息用于指示基准缓存和实时缓存的差异部分;在判断结果为否的情况下,差分响应端返回第二数据响应信息,第二数据响应信息用于指示实时缓存和实时缓存与基准缓存的差异部分。达到了节约有限的缓存空间的目的,从而实现了提升数据处理效率的技术效果,进而解决了由于相关技术中差分请求段的基准缓存版本不一,导致差分响应端需要存储多份不同版本的基准缓存,从而浪费有限的缓存空间的技术问题。
[0046]可选地,步骤S204中差分响应端解析数据请求信息,得到数据请求信息的类别包括:
[0047]Stepl,差分响应端判断数据请求信息中的数据帧格式是否携带第一标识;
[0048]Step2,在判断结果为是的情况下,数据请求信息为差分请求;
[0049]Step3,在判断结果为否的情况下,数据请求信息为非差分请求;
[0050]其中,第一标识为超文本传输协议数据帧中的报文头信息。
[0051]具体的,结合步骤S204中的Stepl至Step3,步骤S204提供了辨析数据请求信息类型的方法,当差分响应端接收中间服务器转发的数据请求信息时,通过解析该数据请求信息中的数据帧格式,并判断该数据帧格式是否携带第一标识,当携带有该第一标识时,判断该数据请求为差分请求;相反,即,在该数据帧格式中若没有携带该第一标识,则判断该数据请求为非差分请求。
[0052]这里本申请实施例中提供的第一标识可以为HTTP数据帧中的一个A-頂标识,当差分响应端解析数据请求信息时,通过判断该数据请求信息中的数据帧格式是否携带A-頂标识判断该数据请求信息的类型。
[0053]本申请实施例提供的第一标识仅以A-1M标识为例进行说明,以实现本发明实施例提供的差分数据传输的方法为准,具体不做限定。
[0054]可选地,预设标识,用于指示差分请求是否为有基准缓存的差分请求。
[0055]这里本申请实施例以RFC3229规定设置一个预设标识,即,If-None-Match头为例,当差分请求携带该If-None-Match头时,表明该差分请求对应的差分请求端为有基准缓存的差分请求端,反之,即,当差分请求未携带该If-None-Match头时,表明该差分请求对应的差分请求端为无基准缓存的差分请求端,或,该If-None-Match头无法在差分响应端得到对应匹配时,将判断该差分请求对应的差分请求端为无基准缓存的差分请求端。
[0056]可选地,步骤S208中差分响应端返回第一数据响应信息包括:
[0057]Stepl,差分响应端获取实时缓存;
[0058]Step2,差分响应端依据判断结果,得到差分请求为有基准缓存差分请求;
[0059]Step3,差分响应端判断预设标识是否与预先存储的标识相同;
[0000]Step4,当预设标识与预先存储的标识相同时,差分响应端将预选存储的基准缓存和实时缓存进行计算,得到差异部分;
[0061] Step5,差分响应端将差异部分和第一响应标识符封装至第一数据响应信息,第一响应标示符用于指示第一数据响应信息为有基准缓存的差分响应;
[0062I Step6,差分响应端返回第一数据响应信息;
[0063]Step7,当预设标识与预先存储的标识不同时,差分响应端返回第二数据响应信息。
[0064]具体的,由步骤S202至步骤S210可知,差分响应端通过中间服务器进行数据交互为本申请实施例的一个优选方案,其中,图4是根据本发明实施例的有基准缓存的差分数据传输的方法的流程示意图,如图4所示,基于上述,当差分响应端判断该差分请求携带有预设标识时,差分响应端,通过基准缓存和最新实时缓存的比较和计算,得到两者的差异部分,进而通过封装该差异部分至第一数据响应信息,并由中间服务器将该第一数据响应信息返回至差分请求端。这里第一响应标识符用于指示该第一数据响应信息为有基准缓存的差分响应,状态码可以设置为226。
[0065]这里为解决差分请求端存在多个版本基准缓存的问题,本申请实施例设置差分请求端和差分响应端只保存一份基准缓存,当差分响应端判断差分请求中的预设标识是否与差分响应端存储的标识是否相同是,在判断结果为相同的情况下,认证该差分请求对应的差分请求端与该差分响应端的基准缓存版本一致;反之,即,在判断结果为不同的情况下,认证该差分请求对应的差分请求端与该差分响应端的基准缓存版本不一致,这样差分响应端将依据自身基准缓存和实时缓存计算比较得到差异部分,并将该差异部分和实时缓存进行封装,封装为第二数据响应信息通过中间服务器返回差分请求端。
[0066]结合图4所示,这里基于有基准缓存,处理差分请求的流程:首先,差分请求端在有基准缓存的情况下,发送差分请求;其次,中间服务器对差分请求不做任何处理;第三,差分响应端收到中间服务器的差分请求,通过基准缓存和最新实时缓存的比较和计算,得到两者的差异部分;第四,差分响应端响应差异部分,状态码是226;第五,中间服务端对收到的差分响应,不解码处理也不缓存;第六,差分请求端收到中间服务器转发的差分响应;最后,差分请求端根据差异和基准缓存,计算生成实时缓存。
[0067]可选地,步骤S210中差分响应端返回第二数据响应信息包括:
[0068]Stepl,差分响应端获取实时缓存;
[0069]Step2,差分响应端将预选存储的基准缓存和实时缓存进行计算,得到差异部分;
[0070]Step3,差分响应端将实时缓存、差异部分和第二响应标识符封装至第二数据响应信息,第二响应标识符用于指示第二数据响应信息为无基准缓存的差分响应;
[0071]Step4,差分响应端返回第二数据响应信息。
[0072]具体的,图5是根据本发明实施例的无基准缓存的差分数据传输的方法的流程示意图,如图5所示,基于上述,当差分响应端判断该差分请求未携带有预设标识时,差分响应端,通过基准缓存和实时缓存的比较和计算,得到两者的差异部分,进而通过封装该实时缓存和差异部分至第二数据响应信息,并由中间服务器将该第二数据响应信息返回至差分请求端。这里第二响应标识符用于指示该第二数据响应信息为差分响应,状态码可以设置为200。
[0073]此外,该预设标识无法在差分响应端得到对应匹配时,将判断该差分请求对应的差分请求端为无基准缓存的差分请求端,将执行上述步骤210中的Stepl至Step4。
[0074]当差分请求端没有基准缓存,它发出首次差分请求就没有带If-None-Match头,RFC3
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1