CN103731424A - 一种网络数据的传输方法、装置及系统 - Google Patents
一种网络数据的传输方法、装置及系统 Download PDFInfo
- Publication number
- CN103731424A CN103731424A CN201310744226.8A CN201310744226A CN103731424A CN 103731424 A CN103731424 A CN 103731424A CN 201310744226 A CN201310744226 A CN 201310744226A CN 103731424 A CN103731424 A CN 103731424A
- Authority
- CN
- China
- Prior art keywords
- network request
- data
- template
- client
- request template
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
- H04L41/048—Network management architectures or arrangements comprising network management agents or mobile agents therefor mobile agents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种网络数据的传输方法、装置及系统,该方法包括:获取客户端生成的网络请求;对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息,所述标识信息用于为所述服务器确定所述网络请求模板,所述网络请求模板、所述差异数据和所述位置信息用于为所述服务器还原出所述网络请求。本发明提供的方案在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度。
Description
技术领域
本发明涉及网络通信技术领域,更具体的说,涉及网络数据的传输方法、装置及系统。
背景技术
目前,在网络传输过程中,在客户端与服务器建立传输层的连接后,客户端可以向服务器发起网络请求;如果服务器接收到客户端发送的网络请求,服务器会向客户端反馈与该网络请求相对应的信息。
在客户端向服务器发送的每一个网络请求中,通常都会包含一些固定的信息,例如User Agent(用户代理)和Accept等字段。在不同的网络请求中,有时这些固定的信息是完全相同的内容。由于客户端向服务器发送的网络请求中包含了很多重复性内容,这样不仅浪费客户端的数据流量,而且,延长了客户端向服务器发送网络请求的时间,从而降低了客户端联网的速度。
因此,如何提高客户端联网的速度,成为目前亟需解决的技术问题。
发明内容
本发明实施例提供一种网络数据的传输方法、装置及系统,以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度。
本发明实施例是这样实现的:
一种网络数据的传输方法,包括:
获取客户端生成的网络请求;
对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;
向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息,所述标识信息用于为所述服务器确定所述网络请求模板,所述网络请求模板、所述差异数据和所述位置信息用于为所述服务器还原出所述网络请求。
优选地,所述获取客户端生成的网络请求之后,所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据之前,还包括:
判断所述网络请求与所述网络请求模板是否完全相同;
当所述网络请求与所述网络请求模板完全相同时,向所述服务器发送所述网络请求模板的标识信息;
当所述网络请求与所述网络请求模板不完全相同时,执行所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据的步骤。
优选地,所述获取客户端生成的网络请求之后,所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据之前,还包括:
计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量,所述模板组中包括多个网络请求模板;
在所述模板组中选择所述数据量最小的网络请求模板。
优选地,所述获取客户端生成的网络请求之后,所述计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量之前,还包括:
删除所述模板组中存储时间超过预设时间的网络请求模板。
优选地,所述向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息之后,还包括:
判断是否接收到所述服务器发送的重传指令;
当接收到所述服务器发送的重传指令时,向所述服务器发送所述网络请求。
优选地,所述标识信息为利用预设算法对所述网络请求模板中的数据进行计算得到的;
所述获取客户端生成的网络请求之后,还包括:
利用所述预设算法计算所述网络请求中的数据得到验证码;
向所述服务器发送所述验证码。
一种网络数据的传输方法,包括:
接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,所述位置信息为所述客户端根据所述差异数据和相同数据在所述网络请求模板中的位置信息确定的,所述差异数据和所述相同数据为所述客户端通过对比网络请求与所述网络请求模板得到的,所述网络请求为所述客户端生成的;
确定所述标识信息对应的所述网络请求模板;
根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
优选地,在所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息之前,还包括:
判断接收到的所述客户端发送的数据是否只含有所述网络请求模板的标识信息;
当接收到的所述客户端发送的数据只含有所述网络请求模板的标识信息时,确定所述标识信息对应的所述网络请求模板,并将所述网络请求模板作为所述网络请求;
当接收到的所述客户端发送的数据不只含有所述网络请求模板的标识信息时,继续执行所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息的步骤。
优选地,所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息之后,所述确定所述标识信息对应的所述网络请求模板之前,还包括:
判断是否查找到与所述标识信息对应的所述网络请求模板;
当查找到与所述标识信息对应的所述网络请求模板时,继续执行所述确定所述标识信息对应的所述网络请求模板的步骤;
当没有查找到与所述标识信息对应的所述网络请求模板时,向所述客户端发送重传指令。
优选地,所述根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求之后,还包括:
接收所述客户端发送的验证码,所述验证码是所述客户端利用预设算法对所述网络请求中的数据计算得到的;
利用所述预设算法计算所述还原出的网络请求中的数据得到信息码;
判断所述验证码与所述信息码是否相同;
当所述验证码与所述信息码相同时,显示所述还原出的网络请求是正确的;
当所述验证码与所述信息码不同时,向所述客户端发送重传指令。
一种网络数据的传输装置,包括:
获取模块,用于获取客户端生成的网络请求;
对比模块,用于对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块,用于确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;
第一发送模块,用于向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息,所述标识信息用于为所述服务器确定所述网络请求模板,所述网络请求模板、所述差异数据和所述位置信息用于为所述服务器还原出所述网络请求。
优选地,还包括:
第一判断模块,用于判断所述网络请求与所述网络请求模板是否完全相同;
第一执行模块,用于在所述网络请求与所述网络请求模板完全相同时,向所述服务器发送所述网络请求模板的标识信息;在所述网络请求与所述网络请求模板不完全相同时,执行所述对比模块。
优选地,还包括:
第一计算模块,用于计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量,所述模板组中包括多个网络请求模板;
选择模块,用于在所述模板组中选择所述数据量最小的网络请求模板。
优选地,还包括:
删除模块,用于删除所述模板组中存储时间超过预设时间的网络请求模板。
优选地,还包括:
第二判断模块,用于判断是否接收到所述服务器发送的重传指令;
第二执行模块,用于在接收到所述服务器发送的重传指令时,向所述服务器发送所述网络请求。
优选地,还包括:
第二计算模块,用于利用所述预设算法计算所述网络请求中的数据得到验证码;
第二发送模块,用于向所述服务器发送所述验证码。
一种网络数据的传输装置,包括:
第一接收模块,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,所述位置信息为所述客户端根据所述差异数据和相同数据在所述网络请求模板中的位置信息确定的,所述差异数据和所述相同数据为所述客户端通过对比网络请求与所述网络请求模板得到的,所述网络请求为所述客户端生成的;
确定模块,用于确定所述标识信息对应的所述网络请求模板;
还原模块,用于根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
优选地,还包括:
第一判断模块,用于判断接收到的所述客户端发送的数据是否只含有所述网络请求模板的标识信息;
第一执行模块,用于在接收到的所述客户端发送的数据只含有所述网络请求模板的标识信息时,确定所述标识信息对应的所述网络请求模板,并将所述网络请求模板作为所述网络请求;在接收到的所述客户端发送的数据不只含有所述网络请求模板的标识信息时,继续执行所述第一接收模块。
优选地,还包括:
第二判断模块,用于判断是否查找到与所述标识信息对应的所述网络请求模板;
第二执行模块,用于在查找到与所述标识信息对应的所述网络请求模板时,继续执行所述确定模块;在没有查找到与所述标识信息对应的所述网络请求模板时,向所述客户端发送重传指令。
优选地,还包括:
第二接收模块,用于接收所述客户端发送的验证码,所述验证码是所述客户端利用预设算法对所述网络请求中的数据计算得到的;
计算模块,用于利用所述预设算法计算所述还原出的网络请求中的数据得到信息码;
第三判断模块,用于判断所述验证码与所述信息码是否相同;
第三执行模块,用于在所述验证码与所述信息码相同时,显示所述还原出的网络请求是正确的;在所述验证码与所述信息码不同时,向所述客户端发送重传指令。
一种网络数据的传输系统,包括客户端和服务器;
所述客户端,用于获取客户端生成的网络请求;对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息;
所述服务器,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;确定所述标识信息对应的所述网络请求模板;根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
与现有技术相比,本实施例提供的技术方案具有以下优点和特点:
在本发明提供的方案中,客户端向服务器发送的数据包括网络请求模板的标识信息、差异数据和位置信息,由于客户端向服务器发送的数据不包括网络请求与网络请求模板的相同数据,所以减少了很多重复性内容,从而减少了网络数据的传输;而且,服务器在接收到客户端发送的数据后,能够利用网络请求模板、差异数据和位置信息还原出网络请求,从而保证网络数据传输的正确性。因此,本发明提供的方案在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络数据的传输方法的流程图;
图2为本发明实施例提供的另一种网络数据的传输方法的流程图;
图3为本发明实施例提供的又一种网络数据的传输方法的流程图;
图4为本发明实施例提供的又一种网络数据的传输方法的流程图;
图5为本发明实施例提供的又一种网络数据的传输方法的流程图;
图6为本发明实施例提供的又一种网络数据的传输方法的流程图;
图7为本发明实施例提供的又一种网络数据的传输方法的流程图;
图8为本发明实施例提供的又一种网络数据的传输方法的流程图;
图9为本发明实施例提供的一种网络数据的传输装置的模块示意图;
图10为本发明实施例提供的另一种网络数据的传输装置的模块示意图;
图11为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图12为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图13为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图14为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图15为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图16为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图17为本发明实施例提供的又一种网络数据的传输装置的模块示意图;
图18为本发明实施例提供的一种网络数据的传输系统的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种网络数据的传输方法、装置及系统,由于上述网络数据的传输方法、装置及系统的具体实现存在多种方式,下面通过具体实施例进行详细说明:
实施例一
请参见图1所示,图1所示的为一种网络数据的传输方法,该方法应用于客户端,本实施例提供的方法可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该方法包括:
步骤S101、获取客户端生成的网络请求;
其中,网络请求指的是客户端与服务器之间的网络请求,例如,HTTP(Hypertexttransfer protocol,超文本转移协议)请求头,当然也可以是其他的请求。由于每个网络请求中均包含大量的重复性数据,所以客户端始终在向服务器发送大量重复性数据。
下面展示一个网络请求实例。为了节省篇幅,仅展示该网络请求的部分数据,例如,客户端第一次向服务器发送的网络请求如下:
“Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host:baidu.com”
客户端第二次向服务器发送的网络请求如下:
“Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host:163.com”
通过上述两个网络请求的内容可以了解到,Accept字段的内容完全相同,Host字段的内容不同。在实际的场景中,会存在大量的重复性字段,所以本发明要解决的问题是如何不传输这些重复性的字段,还能够表达原有网络请求的含义,从而减少网络请求的内容。
步骤S102、对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
其中,客户端会存储有多个之前发送过的网络请求,并将这些预先存储的网络请求作为网络请求模板。在客户端新产生一个网络请求以后,需要将该网络请求与预先存储的网络请求模板进行比较,从而得到差异数据和相同数据。差异数据指的是网络请求相对于网络请求模板增加的部分,相同数据指的是网络请求与网络请求模板相同的部分。
步骤S103、确定差异数据和相同数据在网络请求模板中的位置信息;
其中,在得到差异数据和相同数据以后,还要确定差异数据和相同数据在网络请求模板中的位置信息。位置信息的作用是,利用位置信息可以在网络请求模板中找到相同数据,利用位置信息还可以确定差异数据应该放置在网络请求模板中的什么位置上,所以利用位置信息、差异数据和网络请求模板可以还原出网络请求。
在步骤S102和步骤S103的过程中,可以利用一种算法来实现,例如,通过可逆向的二进制diff(命令比较文本文件)算法来对网络请求和网络请求模板进行差异性运算,通过上述算法最终可以得到差异数据和位置信息。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等,都可以实现对网络请求和网络请求模板进行差异性运算。最后将计算出来的差异数据和位置信息作为真正传输的部分,由于差异数据中已经没有了网络请求与网络请求模板之间相同的部分,因此差异数据的大小会远远小于原始的网络请求的大小。
步骤S104、向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
其中,将网络请求模板的标识信息、差异数据和位置信息发送给服务器,以便于服务器利用网络请求模板、差异数据和位置信息还原出网络请求。网络请求模板的标识信息指的是网络请求模板的唯一标识符,可以用几位的字符表示,例如,某一个网络请求模板的标识信息具体为BZ1001,当然,网络请求模板的标识信息的编码方式有很多种,在此不再一一赘述。
另外,标识信息可以为利用预设算法对网络请求模板中的数据进行计算得到的,例如,利用MD5(Message-Digest Algorithm 5,信息-摘要算法5)算法或hashkey算法对网络请求模板中的数据计算,得到一个唯一的8字节id值,并用该id值来代表一份网络请求模板。为了验证客户端向服务器发送的数据是否正确,可以利用MD5算法或hashkey算法计算网络请求中的数据得到验证码,并向服务器发送该验证码;待服务器接收到该验证码以后,服务器会利用MD5算法或hashkey算法对还原出来的网络请求的数据进行计算,得到信息码,服务器再比较验证码和信息码是否相同,如果相同,说明传输的数据没有错误,如果不同,那么说明传输的数据存在错误。
在图1所示的实施例中,客户端向服务器发送的数据包括网络请求模板的标识信息、差异数据和位置信息,由于客户端向服务器发送的数据不包括网络请求与网络请求模板的相同数据,所以减少了很多重复性内容,从而减少了网络数据的传输;而且,服务器在接收到客户端发送的数据后,能够利用网络请求模板、差异数据和位置信息还原出网络请求,从而保证网络数据传输的正确性。因此,本发明提供的方案在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度。
下面通过一个具体的例子来说明本发明实施例的方案:
假设网络请求如下:
“Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host:baidu.com”
网络请求模板如下:
“Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host:163.com”
下面通过可逆向的二进制diff算法来对网络请求和网络请求模板进行差异性运算,首先,对比网络请求与预先存储的网络请求模板得到差异数据和相同数据,然后,确定差异数据和相同数据在网络请求模板中的位置信息,从而得到如下数据:
(0,70,0)
(0,5,b)aidu(8,4,0)
上述括号内的元素指代的是网络请求和网络请求模板中相同数据的位置信息,括号之间的内容指代差异数据,由于括号之间的位置即为差异数据的位置信息。关于括号内数据的具体含义为(开始位置,读取长度,结束符),例如,(0,70,0)中第一个“0”代表开始位置,即从网络请求模板第一行的第一位字符“A”开始;(0,70,0)中的“70”代表读取长度,即从网络请求模板的第一个字符“A”开始,读取70个字符,到网络请求模板的第一行结束;(0,70,0)中第二个“0”代表结束符,由于第一行已经结束,所以用“0”代表空。
在(0,5,b)中,第一位“0”指代网络请求模板第二行的开始位置为“H”,在对比网络请求和网络请求模板的过程中,发现第二行连续5个字符完全相同,从第六个字符开始不同,且网络请求的第六个字符为“b”,所以将网络请求的前六个字符用(0,5,b)来表示。在对比网络请求第二行的第七个字符与网络请求模板第二行的第七个字符时,发现不同,并将网络请求第二行的第七个字符与网络请求模板第二行的第七个字符以后的字符继续比较,确定没有与其相同的数据,从而定义网络请求第二行的第七个字符“a”为差异数据。由此方法可知,差异数据还包括“idu”。在确定完差异数据以后,发现网络请求第二行的第十一个字符至第十四个字符“.com”与网络请求模板第二行的第九个字符至第十二个字符“.com”相同,所以得到(8,4,0)。
因此,通过可逆向的二进制diff算法可以对网络请求和网络请求模板进行差异性运算,从而得到差异数据和位置信息,而且,该diff算法是可逆向的,利用网络请求模板、差异数据和位置信息还能够反向得到网络数据,从而适合与本发明实施例要解决的问题,即将网络请求与网络请求模板中相同的部分删除,仅传输网络请求模板的标识信息、差异数据和位置信息,以减少传输网络请求的数据的传输量。
实施例二
请参见图2所示,图2所示的为另一种网络数据的传输方法,该方法应用于客户端,本实施例提供的方法可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该方法包括:
步骤S201、获取客户端生成的网络请求;
其中,网络请求指的是客户端与服务器之间的网络请求,例如,HTTP(Hypertexttransfer protocol,超文本转移协议)请求头,当然也可以是其他的请求。由于每个网络请求中均包含大量的重复性数据,所以客户端始终在向服务器发送大量重复性数据。
步骤S202、判断网络请求与网络请求模板是否完全相同,如果是,则执行步骤S203,否则,执行步骤S204;
其中,由于客户端新生成的网络请求有可能与预先存储的网络请求模板是完全相同的,如果完全相同,那么客户端仅需要将该网络请求模板的标识信息发送给服务器,从而减少了客户端向服务器发送的数据量,缩短了客户端向服务器发送网络请求的时间。
步骤S203、向服务器发送网络请求模板的标识信息;
步骤S204、对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
其中,客户端会存储有多个之前发送过的网络请求,并将这些预先存储的网络请求作为网络请求模板。在客户端新产生一个网络请求以后,需要将该网络请求与预先存储的网络请求模板进行比较,从而得到差异数据和相同数据。差异数据指的是网络请求相对于网络请求模板增加的部分,相同数据指的是网络请求与网络请求模板相同的部分。
步骤S205、确定差异数据和相同数据在网络请求模板中的位置信息;
其中,在得到差异数据和相同数据以后,还要确定差异数据和相同数据在网络请求模板中的位置信息。位置信息的作用是,利用位置信息可以在网络请求模板中找到相同数据,利用位置信息还可以确定差异数据应该放置在网络请求模板中的什么位置上,所以利用位置信息、差异数据和网络请求模板可以还原出网络请求。
在步骤S204和步骤S205的过程中,可以利用一种算法来实现,例如,通过可逆向的二进制diff算法来对网络请求和网络请求模板进行差异性运算,通过上述算法最终可以得到差异数据和位置信息。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等,都可以实现对网络请求和网络请求模板进行差异性运算。最后将计算出来的差异数据和位置信息作为真正传输的部分,由于差异数据中已经没有了网络请求与网络请求模板之间相同的部分,因此差异数据的大小会远远小于原始的网络请求的大小。
步骤S206、向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
其中,将网络请求模板的标识信息、差异数据和位置信息发送给服务器,以便于服务器利用网络请求模板、差异数据和位置信息还原出网络请求。网络请求模板的标识信息指的是网络请求模板的唯一标识符,可以用几位的字符表示,例如,某一个网络请求模板的标识信息具体为BZ1001,当然,网络请求模板的标识信息的编码方式有很多种,在此不再一一赘述。
在图2所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,还能够判断客户端新生成的网络请求有可能与预先存储的网络请求模板是完全相同的,如果完全相同,那么客户端仅需要将该网络请求模板的标识信息发送给服务器,从而在更大的程度上减少了客户端向服务器发送的数据量,缩短了客户端向服务器发送网络请求的时间;另外,服务器也无需做任何的计算还原的操作。
实施例三
请参见图3所示,图3所示的为又一种网络数据的传输方法,该方法应用于客户端,本实施例提供的方法可以减少客户端向服务器发送数据的传输量,该方法包括:
步骤S301、获取客户端生成的网络请求;
其中,网络请求指的是客户端与服务器之间的网络请求,例如,HTTP(Hypertexttransfer protocol,超文本转移协议)请求头,当然也可以是其他的请求。由于每个网络请求中均包含大量的重复性数据,所以客户端始终在向服务器发送大量重复性数据。
步骤S302、删除模板组中存储时间超过预设时间的网络请求模板;
其中,模板组中包括多个网络请求模板,由于客户端和服务器的资源都是有限的,不能够无限缓存数据,所以需要定期删除模板组中一定量的网络请求模板。预设时间为用户可以自行设定的一个时间段。
步骤S303、计算网络请求与模板组中每个网络请求模板的差异数据的数据量;
其中,差异数据是客户端向服务器必须传输的数据,所以差异数据越小,客户端向服务器需要发送的数据量就越小,所以计算出网络请求与模板组中每个网络请求模板的差异数据的数据量,并选择出数据量最小的网络请求模板,从而可以减少客户端向服务器发送数据的传输量。
步骤S304、在模板组中选择数据量最小的网络请求模板。
步骤S305、对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
其中,客户端会存储有多个之前发送过的网络请求,并将这些预先存储的网络请求作为网络请求模板。在客户端新产生一个网络请求以后,需要将该网络请求与预先存储的网络请求模板进行比较,从而得到差异数据和相同数据。差异数据指的是网络请求相对于网络请求模板增加的部分,相同数据指的是网络请求与网络请求模板相同的部分。
步骤S306、确定差异数据和相同数据在网络请求模板中的位置信息;
其中,在得到差异数据和相同数据以后,还要确定差异数据和相同数据在网络请求模板中的位置信息。位置信息的作用是,利用位置信息可以在网络请求模板中找到相同数据,利用位置信息还可以确定差异数据应该放置在网络请求模板中的什么位置上,所以利用位置信息、差异数据和网络请求模板可以还原出网络请求。
在步骤S305和步骤S306的过程中,可以利用一种算法来实现,例如,通过可逆向的二进制diff算法来对网络请求和网络请求模板进行差异性运算,通过上述算法最终可以得到差异数据和位置信息。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等,都可以实现对网络请求和网络请求模板进行差异性运算。最后将计算出来的差异数据和位置信息作为真正传输的部分,由于差异数据中已经没有了网络请求与网络请求模板之间相同的部分,因此差异数据的大小会远远小于原始的网络请求的大小。
步骤S307、向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
其中,将网络请求模板的标识信息、差异数据和位置信息发送给服务器,以便于服务器利用网络请求模板、差异数据和位置信息还原出网络请求。网络请求模板的标识信息指的是网络请求模板的唯一标识符,可以用几位的字符表示,例如,某一个网络请求模板的标识信息具体为BZ1001,当然,网络请求模板的标识信息的编码方式有很多种,在此不再一一赘述。
在图3所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,还能够减少客户端向服务器发送数据的传输量。
实施例四
请参见图4所示,图4所示的为又一种网络数据的传输方法,该方法应用于客户端,本实施例提供的方法可以在传输的数据出现丢失、乱码等情况下,重新发送完整的网络请求,该方法包括:
步骤S401、获取客户端生成的网络请求;
其中,网络请求指的是客户端与服务器之间的网络请求,例如,HTTP(Hypertexttransfer protocol,超文本转移协议)请求头,当然也可以是其他的请求。由于每个网络请求中均包含大量的重复性数据,所以客户端始终在向服务器发送大量重复性数据。
步骤S402、对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
其中,客户端会存储有多个之前发送过的网络请求,并将这些预先存储的网络请求作为网络请求模板。在客户端新产生一个网络请求以后,需要将该网络请求与预先存储的网络请求模板进行比较,从而得到差异数据和相同数据。差异数据指的是网络请求相对于网络请求模板增加的部分,相同数据指的是网络请求与网络请求模板相同的部分。
步骤S403、确定差异数据和相同数据在网络请求模板中的位置信息;
其中,在得到差异数据和相同数据以后,还要确定差异数据和相同数据在网络请求模板中的位置信息。位置信息的作用是,利用位置信息可以在网络请求模板中找到相同数据,利用位置信息还可以确定差异数据应该放置在网络请求模板中的什么位置上,所以利用位置信息、差异数据和网络请求模板可以还原出网络请求。
在步骤S402和步骤S403的过程中,可以利用一种算法来实现,例如,通过可逆向的二进制diff算法来对网络请求和网络请求模板进行差异性运算,通过上述算法最终可以得到差异数据和位置信息。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等,都可以实现对网络请求和网络请求模板进行差异性运算。最后将计算出来的差异数据和位置信息作为真正传输的部分,由于差异数据中已经没有了网络请求与网络请求模板之间相同的部分,因此差异数据的大小会远远小于原始的网络请求的大小。
步骤S404、向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
其中,将网络请求模板的标识信息、差异数据和位置信息发送给服务器,以便于服务器利用网络请求模板、差异数据和位置信息还原出网络请求。网络请求模板的标识信息指的是网络请求模板的唯一标识符,可以用几位的字符表示,例如,某一个网络请求模板的标识信息具体为BZ1001,当然,网络请求模板的标识信息的编码方式有很多种,在此不再一一赘述。
步骤S405、判断是否接收到所述服务器发送的重传指令,若是,则执行步骤S406;
其中,在客户端向服务器发送数据的过程中,有各种可能性导致客户端向服务器发送的数据出现丢失、乱码等情况,所以在这种情况下,服务器通常会向客户端发送重传指令,所以客户端一旦接收到服务器发送的重传指令,那么就向服务器发送客户端生成的完整的网络请求。
步骤S406、向所述服务器发送所述网络请求。
在图4所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,还能够在传输的数据出现丢失、乱码等情况下,重新发送完整的网络请求。
实施例五
请参见图5所示,图5所示的为又一种网络数据的传输方法,该方法应用于服务器,本实施例提供的方法可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该方法包括:
步骤S501、接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;
其中,网络请求模板的标识信息、差异数据和位置信息是由客户端发送来的。位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的。
步骤S502、确定标识信息对应的网络请求模板;
其中,服务器会存储有多个之前接收过的网络请求,并将这些预先存储的网络请求作为网络请求模板。服务器端预先存储网络请求模板与标识信息的对应关系,每个标识信息均对应有唯一的网络请求模板,所以在获取到标识信息后,能够通过标识信息查找到对应的网络请求模板。
步骤S503、根据网络请求模板、差异数据和位置信息还原出网络请求。
其中,通过可逆向的二进制diff算法根据网络请求模板、差异数据和位置信息还原出网络请求。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等。但是,服务器使用的算法必须要与客户端使用的算法一致,从而保证服务器可进行逆向运算。
在图5所示的实施例中,客户端向服务器发送的数据包括网络请求模板的标识信息、差异数据和位置信息,由于客户端向服务器发送的数据不包括网络请求与网络请求模板的相同数据,所以减少了很多重复性内容,从而减少了网络数据的传输;而且,服务器在接收到客户端发送的数据后,能够利用网络请求模板、差异数据和位置信息还原出网络请求,从而保证网络数据传输的正确性。因此,本发明提供的方案在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度。
实施例六
请参见图6所示,图6所示的为又一种网络数据的传输方法,该方法应用于服务器,本实施例提供的方法在接收到只含有网络请求模板的标识信息的情况下,只需要找到与该标识信息对应的网络请求模板,并将该网络请求模板作为网络请求即可,从而极大的缩短了服务器接收客户端发送数据的时间,该方法包括:
步骤S601、判断接收到客户端发送的数据是否只含有网络请求模板的标识信息,若是,则执行步骤S602,否则,执行步骤S603;
其中,如果接收到客户端发送的数据只含有网络请求模板的标识信息,说明在客户端已经找到了与网络请求完全相同的网络请求模板,所以客户端才会只发送网络请求模板的标识信息,服务器只需要找到与该标识信息对应的网络请求模板,并将该网络请求模板作为网络请求即可,从而极大的缩短了服务器接收客户端发送数据的时间。
步骤S602、确定标识信息对应的网络请求模板,并将网络请求模板作为网络请求;
步骤S603、接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;
其中,网络请求模板的标识信息、差异数据和位置信息是由客户端发送来的。位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的。
步骤S604、确定标识信息对应的网络请求模板;
其中,服务器会存储有多个之前接收过的网络请求,并将这些预先存储的网络请求作为网络请求模板。服务器端预先存储网络请求模板与标识信息的对应关系,每个标识信息均对应有唯一的网络请求模板,所以在获取到标识信息后,能够通过标识信息查找到对应的网络请求模板。
步骤S605、根据网络请求模板、差异数据和位置信息还原出网络请求。
其中,通过可逆向的二进制diff算法根据网络请求模板、差异数据和位置信息还原出网络请求。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等。但是,服务器使用的算法必须要与客户端使用的算法一致,从而保证服务器可进行逆向运算。
在图6所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,在接收到只含有网络请求模板的标识信息的情况下,只需要找到与该标识信息对应的网络请求模板,并将该网络请求模板作为网络请求即可,从而极大的缩短了服务器接收客户端发送数据的时间;另外,服务器也无需做任何的计算还原的操作。
实施例七
请参见图7所示,图7所示的为又一种网络数据的传输方法,该方法应用于服务器,本实施例提供的方法在服务器未查找到与标识信息对应的网络请求模板的情况下,要求客户端重新发送完整的网络数据,以避免传输过程中再次出现错误,该方法包括:
步骤S701、接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;
其中,网络请求模板的标识信息、差异数据和位置信息是由客户端发送来的。位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的。
步骤S702、判断是否查找到与标识信息对应的网络请求模板,若是,执行步骤S704,否则,执行步骤S703;
其中,服务器在没有查找到与标识信息对应的网络请求模板存在几种情况,第一种情况,服务器尚未存储该标识信息及该网络请求模板;第二种情况,在客户端向服务器发送该标识信息的过程中,出现了标识信息丢失部分数据的情况等等。无论属于哪种情况,都需要向客户端发送重传指令。
步骤S703、向客户端发送重传指令;
其中,重传指令指的是要求客户端发送生成的完整的网络请求,避免传输过程中再次出现错误。
步骤S704、确定标识信息对应的网络请求模板;
其中,服务器会存储有多个之前接收过的网络请求,并将这些预先存储的网络请求作为网络请求模板。服务器端预先存储网络请求模板与标识信息的对应关系,每个标识信息均对应有唯一的网络请求模板,所以在获取到标识信息后,能够通过标识信息查找到对应的网络请求模板。
步骤S705、根据网络请求模板、差异数据和位置信息还原出网络请求。
其中,通过可逆向的二进制diff算法根据网络请求模板、差异数据和位置信息还原出网络请求。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等。但是,服务器使用的算法必须要与客户端使用的算法一致,从而保证服务器可进行逆向运算。
在图7所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,在服务器未查找到与标识信息对应的网络请求模板的情况下,要求客户端重新发送完整的网络数据,以避免传输过程中再次出现错误。
实施例八
请参见图8所示,图8所示的为又一种网络数据的传输方法,该方法应用于服务器,本实施例提供的方法可以验证客户端向服务器发送的数据是否正确,如果不正确,那么说明传输的数据存在错误,再要求客户端重新发送完整的网络请求,该方法包括:
步骤S801、接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;
其中,网络请求模板的标识信息、差异数据和位置信息是由客户端发送来的。位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的。
步骤S802、确定标识信息对应的网络请求模板;
其中,服务器会存储有多个之前接收过的网络请求,并将这些预先存储的网络请求作为网络请求模板。服务器端预先存储网络请求模板与标识信息的对应关系,每个标识信息均对应有唯一的网络请求模板,所以在获取到标识信息后,能够通过标识信息查找到对应的网络请求模板。
步骤S803、根据网络请求模板、差异数据和位置信息还原出网络请求。
其中,通过可逆向的二进制diff算法根据网络请求模板、差异数据和位置信息还原出网络请求。当然,还可以采用其他的方法来实现,例如,开源的xdelta算法,google的vcdecoder算法,开源diffutils算法等等。但是,服务器使用的算法必须要与客户端使用的算法一致,从而保证服务器可进行逆向运算。
步骤S804、接收客户端发送的验证码,验证码是客户端利用预设算法对网络请求中的数据计算得到的;
其中,为了验证客户端向服务器发送的数据是否正确,服务器会接收到客户端利用MD5算法或hashkey算法计算网络请求中的数据得到验证码;在服务器接收到该验证码以后,服务器会利用MD5算法或hashkey算法对还原出来的网络请求的数据进行计算,得到信息码,服务器再比较验证码和信息码是否相同,如果相同,说明传输的数据没有错误,如果不同,那么说明传输的数据存在错误,再要求客户端重新发送完整的网络请求。
步骤S805、利用预设算法计算还原出的网络请求中的数据得到信息码;
步骤S806、判断验证码与信息码是否相同,若是,则执行步骤S807,否则,执行步骤S808;
步骤S807、显示还原出的网络请求是正确的;
步骤S808、向客户端发送重传指令。
在图8所示的实施例中,本发明提供的方案不仅可以在保证网络数据传输正确的基础上,减少客户端向服务器发送网络请求的时间,提高客户端联网的速度;而且,还可以验证客户端向服务器发送的数据是否正确,如果不正确,那么说明传输的数据存在错误,再要求客户端重新发送完整的网络请求。
实施例九
请参见图9所示,图9所示的为一种网络数据的传输装置,本实施例提供的装置可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该装置包括:
获取模块11,用于获取客户端生成的网络请求;
对比模块12,用于对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块13,用于确定差异数据和相同数据在网络请求模板中的位置信息;
第一发送模块14,用于向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
在图9所示的实施例中,本实施例提供的传输装置的功能与实施例一实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例一中的内容,在此不再一一赘述。
实施例十
请参见图10所示,图10所示的为另一种网络数据的传输装置,本实施例提供的装置可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该装置包括:
获取模块21,用于获取客户端生成的网络请求;
第一判断模块22,用于判断网络请求与网络请求模板是否完全相同;
第一执行模块23,用于在网络请求与网络请求模板完全相同时,向服务器发送网络请求模板的标识信息;在网络请求与网络请求模板不完全相同时,执行对比模块24。
对比模块24,用于对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块25,用于确定差异数据和相同数据在网络请求模板中的位置信息;
第一发送模块26,用于向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
在图10所示的实施例中,本实施例提供的传输装置的功能与实施例二实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例二中的内容,在此不再一一赘述。
实施例十一
请参见图11所示,图11所示的为又一种网络数据的传输装置,本实施例提供的装置可以减少客户端向服务器发送数据的传输量,该装置包括:
获取模块31,用于获取客户端生成的网络请求;
删除模块32,用于删除模板组中存储时间超过预设时间的网络请求模板;
第一计算模块33,用于计算网络请求与模板组中每个网络请求模板的差异数据的数据量;
选择模块34,用于在模板组中选择数据量最小的网络请求模板;
对比模块35,用于对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块36,用于确定差异数据和相同数据在网络请求模板中的位置信息;
第一发送模块37,用于向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
在图11所示的实施例中,本实施例提供的传输装置的功能与实施例三实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例三中的内容,在此不再一一赘述。
实施例十二
请参见图12所示,图12所示的为又一种网络数据的传输装置,本实施例提供的装置可以在传输的数据出现丢失、乱码等情况下,重新发送完整的网络请求,该装置包括:
获取模块41,用于获取客户端生成的网络请求;
对比模块42,用于对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块43,用于确定差异数据和相同数据在网络请求模板中的位置信息;
第一发送模块44,用于向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
第二判断模块45,用于判断是否接收到服务器发送的重传指令;
第二执行模块46,用于在接收到服务器发送的重传指令时,向服务器发送网络请求。
在图12所示的实施例中,本实施例提供的传输装置的功能与实施例四实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例四中的内容,在此不再一一赘述。
实施例十三
请参见图13所示,图13所示的为又一种网络数据的传输装置,本实施例提供的装置可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该装置包括:
获取模块51,用于获取客户端生成的网络请求;
对比模块52,用于对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块53,用于确定差异数据和相同数据在网络请求模板中的位置信息;
第一发送模块54,用于向服务器发送网络请求模板的标识信息、差异数据和位置信息,标识信息用于为服务器确定网络请求模板,网络请求模板、差异数据和位置信息用于为服务器还原出网络请求。
第二计算模块55,用于利用预设算法计算网络请求中的数据得到验证码;
第二发送模块56,用于向服务器发送验证码。
在图13所示的实施例中,本实施例提供的传输装置的功能与实施例一实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例一中的内容,在此不再一一赘述。
实施例十四
请参见图14所示,图14所示的为又一种网络数据的传输装置,本实施例提供的装置可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该装置包括:
第一接收模块61,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的;
确定模块62,用于确定标识信息对应的网络请求模板;
还原模块63,用于根据网络请求模板、差异数据和位置信息还原出网络请求。
在图14所示的实施例中,本实施例提供的传输装置的功能与实施例五实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例五中的内容,在此不再一一赘述。
实施例十五
请参见图15所示,图15所示的为又一种网络数据的传输装置,本实施例提供的装置在接收到只含有网络请求模板的标识信息的情况下,只需要找到与该标识信息对应的网络请求模板,并将该网络请求模板作为网络请求即可,从而极大的缩短了服务器接收客户端发送数据的时间,该装置包括:
第一判断模块71,用于判断接收到的客户端发送的数据是否只含有网络请求模板的标识信息;
第一执行模块72,用于在接收到的客户端发送的数据只含有网络请求模板的标识信息时,确定标识信息对应的网络请求模板,并将网络请求模板作为网络请求;在接收到的客户端发送的数据不只含有网络请求模板的标识信息时,继续执行第一接收模块;
第一接收模块73,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的;
确定模块74,用于确定标识信息对应的网络请求模板;
还原模块75,用于根据网络请求模板、差异数据和位置信息还原出网络请求。
在图15所示的实施例中,本实施例提供的传输装置的功能与实施例六实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例六中的内容,在此不再一一赘述。
实施例十六
请参见图16所示,图16所示的为又一种网络数据的传输装置,本实施例提供的装置在服务器未查找到与标识信息对应的网络请求模板的情况下,要求客户端重新发送完整的网络数据,以避免传输过程中再次出现错误,该装置包括:
第一接收模块81,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的;
第二判断模块82,用于判断是否查找到与标识信息对应的网络请求模板;
第二执行模块83,用于在查找到与标识信息对应的网络请求模板时,继续执行确定模块84;在没有查找到与标识信息对应的网络请求模板时,向客户端发送重传指令;
确定模块84,用于确定标识信息对应的网络请求模板;
还原模块85,用于根据网络请求模板、差异数据和位置信息还原出网络请求。
在图16所示的实施例中,本实施例提供的传输装置的功能与实施例七实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例七中的内容,在此不再一一赘述。
实施例十七
请参见图17所示,图17所示的为又一种网络数据的传输装置,本实施例提供的装置可以验证客户端向服务器发送的数据是否正确,如果不正确,那么说明传输的数据存在错误,再要求客户端重新发送完整的网络请求,该装置包括:
第一接收模块91,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,位置信息为客户端根据差异数据和相同数据在网络请求模板中的位置信息确定的,差异数据和相同数据为客户端通过对比网络请求与网络请求模板得到的,网络请求为客户端生成的;
确定模块92,用于确定标识信息对应的网络请求模板;
还原模块93,用于根据网络请求模板、差异数据和位置信息还原出网络请求;
第二接收模块94,用于接收客户端发送的验证码,验证码是客户端利用预设算法对网络请求中的数据计算得到的;
计算模块95,用于利用预设算法计算还原出的网络请求中的数据得到信息码;
第三判断模块96,用于判断验证码与信息码是否相同;
第三执行模块97,用于在验证码与信息码相同时,显示还原出的网络请求是正确的;在验证码与信息码不同时,向客户端发送重传指令。
在图17所示的实施例中,本实施例提供的传输装置的功能与实施例八实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例八中的内容,在此不再一一赘述。
实施例十八
请参见图18所示,图18所示的为一种网络数据的传输系统,本实施例提供的装置可以避免浪费客户端的数据流量,减少客户端向服务器发送网络请求的时间,从而提高客户端联网的速度,该系统包括客户端1和服务器2;其中,
客户端1,用于获取客户端生成的网络请求;对比网络请求与预先存储的网络请求模板得到差异数据和相同数据;确定差异数据和相同数据在网络请求模板中的位置信息;向服务器发送网络请求模板的标识信息、差异数据和位置信息;
服务器2,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;确定标识信息对应的网络请求模板;根据网络请求模板、差异数据和位置信息还原出网络请求。
在图18所示的实施例中,本实施例提供的传输系统的功能分别与实施例一和实施例五实现的功能相对应,所以关于本实施例各个模块的功能可参见实施例一和实施例五实现中的内容,在此不再一一赘述。
需要说明的是,图1至图18所示的实施例只是本发明所介绍的优选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (21)
1.一种网络数据的传输方法,其特征在于,包括:
获取客户端生成的网络请求;
对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;
向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息,所述标识信息用于为所述服务器确定所述网络请求模板,所述网络请求模板、所述差异数据和所述位置信息用于为所述服务器还原出所述网络请求。
2.根据权利要求1所述的网络数据的传输方法,其特征在于,所述获取客户端生成的网络请求之后,所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据之前,还包括:
判断所述网络请求与所述网络请求模板是否完全相同;
当所述网络请求与所述网络请求模板完全相同时,向所述服务器发送所述网络请求模板的标识信息;
当所述网络请求与所述网络请求模板不完全相同时,执行所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据的步骤。
3.根据权利要求1所述的网络数据的传输方法,其特征在于,所述获取客户端生成的网络请求之后,所述对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据之前,还包括:
计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量,所述模板组中包括多个网络请求模板;
在所述模板组中选择所述数据量最小的网络请求模板。
4.根据权利要求3所述的网络数据的传输方法,其特征在于,所述获取客户端生成的网络请求之后,所述计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量之前,还包括:
删除所述模板组中存储时间超过预设时间的网络请求模板。
5.根据权利要求1所述的网络数据的传输方法,其特征在于,所述向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息之后,还包括:
判断是否接收到所述服务器发送的重传指令;
当接收到所述服务器发送的重传指令时,向所述服务器发送所述网络请求。
6.根据权利要求1所述的网络数据的传输方法,其特征在于,所述标识信息为利用预设算法对所述网络请求模板中的数据进行计算得到的;
所述获取客户端生成的网络请求之后,还包括:
利用所述预设算法计算所述网络请求中的数据得到验证码;
向所述服务器发送所述验证码。
7.一种网络数据的传输方法,其特征在于,包括:
接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,所述位置信息为所述客户端根据所述差异数据和相同数据在所述网络请求模板中的位置信息确定的,所述差异数据和所述相同数据为所述客户端通过对比网络请求与所述网络请求模板得到的,所述网络请求为所述客户端生成的;
确定所述标识信息对应的所述网络请求模板;
根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
8.根据权利要求7所述的网络数据的传输方法,其特征在于,在所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息之前,还包括:
判断接收到的所述客户端发送的数据是否只含有所述网络请求模板的标识信息;
当接收到的所述客户端发送的数据只含有所述网络请求模板的标识信息时,确定所述标识信息对应的所述网络请求模板,并将所述网络请求模板作为所述网络请求;
当接收到的所述客户端发送的数据不只含有所述网络请求模板的标识信息时,继续执行所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息的步骤。
9.根据权利要求7所述的网络数据的传输方法,其特征在于,所述接收客户端发送的网络请求模板的标识信息、差异数据和位置信息之后,所述确定所述标识信息对应的所述网络请求模板之前,还包括:
判断是否查找到与所述标识信息对应的所述网络请求模板;
当查找到与所述标识信息对应的所述网络请求模板时,继续执行所述确定所述标识信息对应的所述网络请求模板的步骤;
当没有查找到与所述标识信息对应的所述网络请求模板时,向所述客户端发送重传指令。
10.根据权利要求7所述的网络数据的传输方法,其特征在于,所述根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求之后,还包括:
接收所述客户端发送的验证码,所述验证码是所述客户端利用预设算法对所述网络请求中的数据计算得到的;
利用所述预设算法计算所述还原出的网络请求中的数据得到信息码;
判断所述验证码与所述信息码是否相同;
当所述验证码与所述信息码相同时,显示所述还原出的网络请求是正确的;
当所述验证码与所述信息码不同时,向所述客户端发送重传指令。
11.一种网络数据的传输装置,其特征在于,包括:
获取模块,用于获取客户端生成的网络请求;
对比模块,用于对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;
确定模块,用于确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;
第一发送模块,用于向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息,所述标识信息用于为所述服务器确定所述网络请求模板,所述网络请求模板、所述差异数据和所述位置信息用于为所述服务器还原出所述网络请求。
12.根据权利要求11所述的网络数据的传输装置,其特征在于,还包括:
第一判断模块,用于判断所述网络请求与所述网络请求模板是否完全相同;
第一执行模块,用于在所述网络请求与所述网络请求模板完全相同时,向所述服务器发送所述网络请求模板的标识信息;在所述网络请求与所述网络请求模板不完全相同时,执行所述对比模块。
13.根据权利要求11所述的网络数据的传输装置,其特征在于,还包括:
第一计算模块,用于计算所述网络请求与模板组中每个网络请求模板的差异数据的数据量,所述模板组中包括多个网络请求模板;
选择模块,用于在所述模板组中选择所述数据量最小的网络请求模板。
14.根据权利要求13所述的网络数据的传输装置,其特征在于,还包括:
删除模块,用于删除所述模板组中存储时间超过预设时间的网络请求模板。
15.根据权利要求11所述的网络数据的传输装置,其特征在于,还包括:
第二判断模块,用于判断是否接收到所述服务器发送的重传指令;
第二执行模块,用于在接收到所述服务器发送的重传指令时,向所述服务器发送所述网络请求。
16.根据权利要求11所述的网络数据的传输装置,其特征在于,还包括:
第二计算模块,用于利用所述预设算法计算所述网络请求中的数据得到验证码;
第二发送模块,用于向所述服务器发送所述验证码。
17.一种网络数据的传输装置,其特征在于,包括:
第一接收模块,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息,所述位置信息为所述客户端根据所述差异数据和相同数据在所述网络请求模板中的位置信息确定的,所述差异数据和所述相同数据为所述客户端通过对比网络请求与所述网络请求模板得到的,所述网络请求为所述客户端生成的;
确定模块,用于确定所述标识信息对应的所述网络请求模板;
还原模块,用于根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
18.根据权利要求17所述的网络数据的传输装置,其特征在于,还包括:
第一判断模块,用于判断接收到的所述客户端发送的数据是否只含有所述网络请求模板的标识信息;
第一执行模块,用于在接收到的所述客户端发送的数据只含有所述网络请求模板的标识信息时,确定所述标识信息对应的所述网络请求模板,并将所述网络请求模板作为所述网络请求;在接收到的所述客户端发送的数据不只含有所述网络请求模板的标识信息时,继续执行所述第一接收模块。
19.根据权利要求17所述的网络数据的传输装置,其特征在于,还包括:
第二判断模块,用于判断是否查找到与所述标识信息对应的所述网络请求模板;
第二执行模块,用于在查找到与所述标识信息对应的所述网络请求模板时,继续执行所述确定模块;在没有查找到与所述标识信息对应的所述网络请求模板时,向所述客户端发送重传指令。
20.根据权利要求17所述的网络数据的传输方法,其特征在于,还包括:
第二接收模块,用于接收所述客户端发送的验证码,所述验证码是所述客户端利用预设算法对所述网络请求中的数据计算得到的;
计算模块,用于利用所述预设算法计算所述还原出的网络请求中的数据得到信息码;
第三判断模块,用于判断所述验证码与所述信息码是否相同;
第三执行模块,用于在所述验证码与所述信息码相同时,显示所述还原出的网络请求是正确的;在所述验证码与所述信息码不同时,向所述客户端发送重传指令。
21.一种网络数据的传输系统,其特征在于,包括客户端和服务器;
所述客户端,用于获取客户端生成的网络请求;对比所述网络请求与预先存储的网络请求模板得到差异数据和相同数据;确定所述差异数据和所述相同数据在所述网络请求模板中的位置信息;向服务器发送所述网络请求模板的标识信息、所述差异数据和所述位置信息;
所述服务器,用于接收客户端发送的网络请求模板的标识信息、差异数据和位置信息;确定所述标识信息对应的所述网络请求模板;根据所述网络请求模板、所述差异数据和所述位置信息还原出所述网络请求。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744226.8A CN103731424B (zh) | 2013-12-30 | 2013-12-30 | 一种网络数据的传输方法、装置及系统 |
PCT/CN2014/078716 WO2015100932A1 (zh) | 2013-12-30 | 2014-05-28 | 一种网络数据的传输方法、装置及系统 |
US15/187,526 US10122803B2 (en) | 2013-12-30 | 2016-06-20 | Network data transmission method, device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310744226.8A CN103731424B (zh) | 2013-12-30 | 2013-12-30 | 一种网络数据的传输方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103731424A true CN103731424A (zh) | 2014-04-16 |
CN103731424B CN103731424B (zh) | 2017-09-15 |
Family
ID=50455351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310744226.8A Active CN103731424B (zh) | 2013-12-30 | 2013-12-30 | 一种网络数据的传输方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10122803B2 (zh) |
CN (1) | CN103731424B (zh) |
WO (1) | WO2015100932A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015100932A1 (zh) * | 2013-12-30 | 2015-07-09 | 优视科技有限公司 | 一种网络数据的传输方法、装置及系统 |
CN114640880A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 账号登录控制方法、装置及介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6455541B2 (ja) * | 2017-03-30 | 2019-01-23 | 日本電気株式会社 | 通信システム |
CN110292775B (zh) * | 2019-07-01 | 2023-03-24 | 网易(杭州)网络有限公司 | 获取差异数据的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4115060B2 (ja) * | 2000-02-02 | 2008-07-09 | 株式会社日立製作所 | 情報処理システムのデータ復旧方法及びディスクサブシステム |
US7657573B1 (en) * | 2003-03-31 | 2010-02-02 | Invensys | Method and data structure for exchanging data |
US7831968B1 (en) * | 2005-12-30 | 2010-11-09 | United Services Automobile Association (Usaa) | Method and system for restoring software |
US20080046433A1 (en) * | 2006-08-16 | 2008-02-21 | Microsoft Corporation | Role template objects for network account lifecycle management |
CN101237419A (zh) * | 2008-03-07 | 2008-08-06 | 北京航管科技有限公司 | 航空电信网空地通信中的报头压缩方法 |
US8503305B2 (en) * | 2008-06-03 | 2013-08-06 | Tejas Israel Ltd | Automatic signaling method and device for telecommunication services |
CN102118293B (zh) * | 2009-12-30 | 2015-04-29 | 上海可鲁系统软件有限公司 | 一种通讯报文压缩存储方法 |
CN102118792B (zh) * | 2009-12-31 | 2015-01-21 | 华为技术有限公司 | 一种传输数据包的方法及装置 |
CN102006295A (zh) * | 2010-11-26 | 2011-04-06 | 重庆金美通信有限责任公司 | 基于atm承载ip语音的数据压缩方法 |
CN102739703A (zh) * | 2011-04-02 | 2012-10-17 | 中兴通讯股份有限公司 | 一种对等网络中数据迁移的方法及系统 |
CN102761861A (zh) * | 2011-04-27 | 2012-10-31 | 中国移动通信集团广东有限公司 | 信息的更新方法、服务器以及信息的更新系统 |
CN102946551B (zh) * | 2012-10-18 | 2015-06-10 | 中兴通讯股份有限公司 | 一种实现iptv业务的融合设备、系统和方法 |
CN103731424B (zh) * | 2013-12-30 | 2017-09-15 | 优视科技有限公司 | 一种网络数据的传输方法、装置及系统 |
-
2013
- 2013-12-30 CN CN201310744226.8A patent/CN103731424B/zh active Active
-
2014
- 2014-05-28 WO PCT/CN2014/078716 patent/WO2015100932A1/zh active Application Filing
-
2016
- 2016-06-20 US US15/187,526 patent/US10122803B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015100932A1 (zh) * | 2013-12-30 | 2015-07-09 | 优视科技有限公司 | 一种网络数据的传输方法、装置及系统 |
US10122803B2 (en) | 2013-12-30 | 2018-11-06 | Uc Mobile Co., Ltd. | Network data transmission method, device and system |
CN114640880A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 账号登录控制方法、装置及介质 |
CN114640880B (zh) * | 2020-11-30 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 账号登录控制方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015100932A1 (zh) | 2015-07-09 |
US20160301763A1 (en) | 2016-10-13 |
CN103731424B (zh) | 2017-09-15 |
US10122803B2 (en) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3014451B1 (en) | Locally generated simple erasure codes | |
US10116746B2 (en) | Data storage method and network interface card | |
CN107203541A (zh) | 页面加载方法及其页面加载装置 | |
CN104917586A (zh) | 传输数据的校验方法、装置及系统 | |
CN103731424A (zh) | 一种网络数据的传输方法、装置及系统 | |
CN111858146B (zh) | 用于恢复数据的方法、设备和计算机程序产品 | |
CN102098330A (zh) | 基于json数据格式的异步传输方法、装置及系统 | |
CN112380464B (zh) | 一种短链接生成方法以及相关设备 | |
JP7177122B2 (ja) | 車両情報検証方法、装置、機器及び媒体 | |
CN104255011A (zh) | 云计算安全数据存储 | |
CN105528325A (zh) | 一种标准spi协议高速传输的保护方法及系统 | |
CN105045790A (zh) | 图数据搜索系统、方法和设备 | |
CN112817602A (zh) | 一种json格式数据发送、接收方法、设备及介质 | |
CN105897689B (zh) | 嵌入式系统及其方法 | |
CN105554081A (zh) | 一种文件差量的传输方法以及装置 | |
CN104079623A (zh) | 多级云存储同步控制方法及系统 | |
CN104518968A (zh) | 一种报文处理的方法和透明代理服务器 | |
CN114780519A (zh) | 基于can通讯的dbc文件生成方法、装置、设备及介质 | |
CN104052774A (zh) | 一种数据传输方法及系统 | |
CN103646015B (zh) | 发送、接收以及传输xml报文的方法和系统 | |
CN103746843A (zh) | 一种用于处理rpc命令的方法与设备 | |
CN116643896A (zh) | 进程间数据交互方法、系统、电子设备及存储介质 | |
CN104363269A (zh) | 一种通过fc链路传输、接收nas数据的方法及装置 | |
CN113485951B (zh) | 一种基于fpga的dma读操作实现方法、fpga设备以及通信系统 | |
CN115129509A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200421 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Alibaba (China) Co.,Ltd. Address before: 100080, room 16, building 10-20, Building 29, Haidian District, Suzhou Street, Beijing Patentee before: UC MOBILE Ltd. |