CN109274720A - 一种传输数据的方法和系统 - Google Patents
一种传输数据的方法和系统 Download PDFInfo
- Publication number
- CN109274720A CN109274720A CN201810973838.7A CN201810973838A CN109274720A CN 109274720 A CN109274720 A CN 109274720A CN 201810973838 A CN201810973838 A CN 201810973838A CN 109274720 A CN109274720 A CN 109274720A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- server
- data block
- character string
- 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
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种传输数据的方法和系统,属于数据传输技术领域。所述方法包括:发送服务器将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串;所述发送服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串;所述发送服务器向接收服务器发送包含所述目标字符串的目标数据;所述接收服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。采用本发明,可以有效缓解数据传输的压力,减小了数据传输的网络传输资源的消耗和成本。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种传输数据的方法和系统。
背景技术
通过广域网传输数据时,发送服务器可以接收其服务区域内所有用户设备发送的数据,然后将数据分别传输至各目的设备所在区域内的接收服务器,之后由接收服务器将数据转发至各目的设备。
考虑到网络中的热点数据会被众多用户访问和传输,而同一个用户可能会反复访问、获取、分发相同或类似的数据,故而发送服务器和接收服务器之间往往会传输大量的冗余数据。发送服务器在向接收服务器发送数据前,一般会按照预设的压缩规则对数据进行压缩处理。接收服务器在接收到压缩后的数据后,可以按照预设的解压缩规则对压缩后的数据进行还原,从而可以减少数据传输时的数据量。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
数据的压缩比因数据的类型而异,其中文本数据的压缩比最大,各种网页数据、办公文件数据的压缩比其次,而多媒体数据和已压缩的数据基本无法进行压缩,故而,数据压缩往往无法有效缓解数据传输的压力,数据传输的网络传输资源的消耗较大、成本较高。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种传输数据的方法和系统。所述技术方案如下:
第一方面,提供了一种传输数据的方法,所述方法包括:
发送服务器将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串;
所述发送服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串;
所述发送服务器向接收服务器发送包含所述目标字符串的目标数据;
所述接收服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。
可选的,所述发送服务器将目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,包括:
发送服务器使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;
所述发送服务器筛选符合预设取值条件的目标哈希值,并根据所述目标哈希值确定所述目标数据的内容切割点;
所述发送服务器根据所述内容切割点将所述目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
可选的,所述发送服务器向接收服务器发送包含所述目标字符串的目标数据,包括:
所述发送服务器在TCP选项中记录所述目标数据的字符串替换信息,并通过所述TCP协议向接收服务器发送包含所述目标字符串的目标数据。
可选的,所述方法还包括:
所述发送/接收服务器周期性向缓存分析服务器发送数据替换记录,所述数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;
所述缓存分析服务器根据每个所述字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度;
所述缓存分析服务器向所述发送服务器和所述接收服务器发送所述所有字符串的缓存比贡献度;
所述发送服务器和所述接收服务器根据所述缓存比贡献度在所述数据块和字符串的对应关系表中删除预设数目个对应关系项。
可选的,所述缓存分析服务器通过Apache Hadoop框架下的HDFS存储所述数据替换记录,并基于使用Apache Spark框架确定所述所有字符串的缓存比贡献度。
可选的,所述发送服务器向接收服务器发送包含所述目标字符串的目标数据之后,还包括:
所述发送服务器将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中;
所述接收服务器在接收到所述目标数据后,将所述目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串;
所述接收服务器将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中。
可选的,所述发送服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串,包括:
所述发送服务器筛选所述目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;
所述发送服务器根据所述对应关系表确定所述目标数据块对应的目标字符串,并将所述目标数据中的目标数据块替换为所述目标字符串。
第二方面,提供了一种传输数据的系统,所述系统包括发送服务器和接收服务器,其中:
所述发送服务器,用于将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串,向所述接收服务器发送包含所述目标字符串的目标数据;
所述接收服务器,用于根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。
可选的,所述发送服务器,具体用于:
使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;
筛选符合预设取值条件的目标哈希值,并根据所述目标哈希值确定所述目标数据的内容切割点;
根据所述内容切割点将所述目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
可选的,所述发送服务器,具体用于:
在TCP选项中记录所述目标数据的字符串替换信息,并通过所述TCP协议向接收服务器发送包含所述目标字符串的目标数据。
可选的,所述系统还包括缓存分析服务器,其中:
所述发送/接收服务器,还用于周期性向所述缓存分析服务器发送数据替换记录,所述数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;
所述缓存分析服务器,用于根据每个所述字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度,向所述发送服务器和所述接收服务器发送所述所有字符串的缓存比贡献度;
所述发送服务器和所述接收服务器,还用于根据所述缓存比贡献度在所述数据块和字符串的对应关系表中删除预设数目个对应关系项。
可选的,所述缓存分析服务器通过Apache Hadoop框架下的HDFS存储所述数据替换记录,并基于使用Apache Spark框架确定所述所有字符串的缓存比贡献度。
可选的,所述发送服务器,还用于在向所述接收服务器发送包含所述目标字符串的目标数据之后,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中;
所述接收服务器,还用于在接收到所述目标数据后,将所述目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中。
可选的,所述发送服务器,具体用于:
筛选所述目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;
根据所述对应关系表确定所述目标数据块对应的目标字符串,并将所述目标数据中的目标数据块替换为所述目标字符串。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,发送服务器将目标数据切分为多个数据块,并基于预设规则确定多个数据块中的每个数据块对应的字符串;发送服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标数据块替换为目标字符串;发送服务器向接收服务器发送包含目标字符串的目标数据;接收服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标字符串还原为目标数据块。这样,发送端先通过预先存储的数据量较小的字符串替换掉数据中数据量较大的数据块,再对数据进行传输,传输完成后由接收端对数据中的字符串进行还原,可以降低需要传输的数据量,有效缓解数据传输的压力,减小了数据传输的网络传输资源的消耗和成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种传输数据的场景框架示意图;
图2是本发明实施例提供的一种传输数据的方法流程图;
图3是本发明实施例提供的一种数据传输集群的网络框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种传输数据的方法,该方法可以由发送服务器和接收服务器共同实现,其中,发送服务器和接收服务器可以是具备数据收发功能的服务器,且可以是数据传输集群中的任意传输节点。数据传输集群可以包含多个传输节点,每个传输节点均可以支持其服务区域内的用户设备与其它传输节点的服务区域内的用户设备之间的数据传输,也即不同服务区域内用户设备需要通过至少一台发送服务器和接收服务器来进行数据传输,具体的场景框架可以参考图1。可以理解,发送服务器在不同的数据传输流程中可以扮演接收服务器的角色,同理,接收服务器也在不同的数据传输流程中,扮演发送服务器的角色。上述发送服务器和接收服务器均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的传输数据的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,发送服务器将待发送的目标数据切分为多个数据块,并基于预设规则确定多个数据块中的每个数据块对应的字符串。
在实施中,当用户想要通过用户设备与其他网络设备进行数据交互时,可以操控用户设备向其所属服务区域内的发送服务器发送目标数据。发送服务器在接收到上述目标数据后,可以先将目标数据切分为多个数据块,然后基于预设规则将切分得到的每个数据块对应转换为字符串。值得一提的是,发送服务器在接收到目标数据后,可以先判断本实施例所公开的传输数据的方法是否适用于本次接收到的目标数据,如果是,则可以触发步骤201,否则可以确定相应的接收服务器,并将目标数据直接转发给接收服务器。例如,发送服务器可以判断目标数据指向的接收服务器是否为预设的接收服务器,或者目标数据是否为SYN包,或者目标数据是否为重传包,或者目标数据的数据大小是否大于预设阈值等。
可选的,发送服务器可以按数据内容对目标数据进行切分,并将各数据块的MD5值确定为对应的字符串,相应的,步骤201的处理可以如下:发送服务器使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;发送服务器筛选符合预设取值条件的目标哈希值,并根据目标哈希值确定目标数据的内容切割点;发送服务器根据内容切割点将目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
在实施中,发送服务器在获取到目标数据后,可以使用Rabin-Karp指纹算法对目标数据按字节计算哈希值,然后可以在计算出的所有哈希值中筛选出满足预设取值条件的目标哈希值。之后,发送服务器可以确定各目标哈希值所对应的数据内容,并基于这些数据内容确定目标数据的内容切割点。这样,发送服务器可以根据确定出的内容切割点对目标数据进行划分,从而得到多个数据块。最后,发送服务器可以基于MD5算法计算出每个数据块的数字签名,即将数字签名作为每个数据块的字符串。可以理解,采用Rabin-Karp指纹算法按数据内容对目标数据进行切割,使得切割得到的数据块由数据内容确定而非字节位置确定,部分数据内容发生变化时(如部分字节重复或者缺失等),不会影响到大部分数据块的划分以及数字签名的计算。
步骤202,发送服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标数据块替换为目标字符串。
在实施中,发送服务器中可以预先存储有数据块和字符串的对应关系表,该对应关系表中记录有大量数据块的数据内容,以及按照预设规则(与步骤201中的预设规则一致)由数据块对应确定出的字符串。这样,发送服务器在确定了目标数据中每个数据块对应的字符串后,可以根据上述对应关系表,将目标数据中的部分数据块(即目标数据块)替换为其对应的字符串(即目标字符串)。
可选的,步骤202中基于对应关系表替换数据块的处理具体可以如下:发送服务器筛选目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;发送服务器根据对应关系表确定目标数据块对应的目标字符串,并将目标数据中的目标数据块替换为目标字符串。
在实施中,在对目标数据中的数据块进行替换的过程中,发送服务器可以在预先存储的数据块和字符串的对应关系表中逐一查找目标数据的数据块,从而筛选出目标数据包含的、且在上述对应关系表中存在对应关系项的目标数据块。之后,发送服务器可以确定上述对应关系表中目标数据块对应的目标字符串,然后将目标数据中的目标数据块替换为目标字符串。而对于目标数据包含的、但不存在对应关系项的数据块,可以不进行替换处理,保留原数据块的数据内容。
步骤203,发送服务器向接收服务器发送包含目标字符串的目标数据。
在实施中,发送服务器在对目标数据中的目标数据块完成了替换处理之后,可以确定目标数据指向的接收服务器,然后向接收服务器发送包含有目标字符串的目标数据。
可选的,发送服务器在TCP选项中记录目标数据的字符串替换信息,并通过TCP协议向接收服务器发送包含目标字符串的目标数据。
在实施中,发送服务器在对目标数据进行字符串替换后,可以通过自定义TCP选项的格式,在TCP选项中记录目标数据的字符串替换信息。具体来说,TCP选项的第一个字段kind(占用1个字节)用于说明选项的类型,可以用来表明已进行了字符串替换,第二个字段length(占用1个字节)指定该选项的总长度,第三个字段info用于指示目标数据中字符串所在位置。进而,发送服务器可以将包含目标字符串的目标数据添加为TCP负载,通过TCP协议将其发送给接收服务器。
步骤204,接收服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标字符串还原为目标数据块。
在实施中,同发送服务器,接收服务器中也可以预先存储有数据块和字符串的对应关系表,且该对应关系表与发送服务器存储的对应关系表保持一致。这样,接收服务器在接收到发送服务器发来的包含目标字符串的目标数据后,可以通过其预先存储的对应关系表,将目标数据中的目标字符串还原为目标数据块,从而可以得到完整的目标数据。进而,接收服务器可以将完整的目标数据提供给相应的目的设备。可以理解,从数据传输集群的角度来看,所有数据传输节点均可以存储有相同的数据块和字符串的对应关系表,基于对应关系表任意两个数据传输节点均可以实现本实施例公开的传输数据的方法。
进一步的,基于上述TCP选项记录字符串替换信息的处理,步骤204中,接收服务器可以在获取到上述目标数据后,先通过TCP选项的kind字段判断该目标数据是否已经进行了字符串替换,然后再通过TCP选项的info字段确定每个目标字符串的位置,从而可以通过数据块和字符串的对应关系表将目标字符串还原为目标数据块。
需要说明的是,如果接收服务器在确定了目标数据中的目标字符串后,发现本地预先存储的对应关系表中不存在目标字符串的对应关系项,则可以对目标数据进行丢包处理,并向发送服务器反馈数据接收失败消息。
可选的,发送服务器和接收服务器可以周期性地验证各自存储的数据块和字符串的对应关系表的一致性,具体可以通过传输对应关系表的属性信息来验证,此处对应关系表的属性信息可以包括对应关系项的数目、对应关系表的更新时间、对应关系表的大小、对应关系表的指定内容等。
可选的,数据传输集群中还可以设置有用于整理数据块和字符串的对应关系表的缓存分析服务器,网络框架可以如图3所示,缓存分析服务器可以与数据传输集群中的所有数据传输节点(包括上下文中所述的发送服务器和接收服务器)相连,缓存分析服务器的工作流程具体可以如下:发送/接收服务器周期性向缓存分析服务器发送数据替换记录,数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;缓存分析服务器根据每个字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度;缓存分析服务器向发送服务器和接收服务器发送所有字符串的缓存比贡献度;发送服务器和接收服务器根据缓存比贡献度在数据块和字符串的对应关系表中删除预设数目个对应关系项。
在实施中,发送服务器可以周期性向缓存分析服务器发送数据替换记录,该数据替换记录中可以包含当前周期内已发送数据中的字符串及对应的数据块大小,即完成了替换处理的字符串和相应的数据块大小。当然,数据替换记录也可以由接收服务器发送给缓存分析服务器,数据替换记录中包含的即为当前周期内已接收数据中的字符串及对应的数据块大小。缓存分析服务器接收到上述数据替换记录之后,可以统计数据替换记录中每个字符串的出现次数,同时确定每个字符串的基本缓存比,此处,基本缓存比为字符串大小和对应的数据块大小之比。之后,缓存分析服务器可以根据每个字符串的出现次数及基本缓存比确定每个字符串的缓存比贡献度,其中,出现次数越高、基本缓存比越小,字符串的缓存比贡献度越高。接下来,缓存分析服务器可以向发送服务器和接收服务器发送所有字符串的缓存比贡献度。进而,发送服务器和接收服务器在获取到所有字符串的缓存比贡献度之后,可以根据缓存比贡献度对对应关系表中的所有字符串进行排序,并删除预设数目个缓存比贡献度最低的对应关系项。
需要说明的是,从数据传输集群的角度来看,数据传输集群中每个数据传输节点均可以周期性向缓存分析服务器发送本节点的数据替换记录,而缓存分析服务器可以基于所有的数据替换记录来确定所有字符串的缓存比贡献度。另外,每个数据传输节点既可以是发送服务器,也可以是接收服务器,故而,所有数据传输节点提交的数据替换记录中需要均包含已发送数据中的字符串及对应数据块大小,或者均包含已接收数据中的字符串及对应数据块大小,以避免重复统计字符串的出现次数。
可选的,缓存分析服务器通过Apache Hadoop框架下的HDFS存储数据替换记录,并基于使用Apache Spark框架确定所有字符串的缓存比贡献度。
可选的,发送服务器和接收服务器可以基于每次交互的数据内容来更新数据块和字符串的对应关系表,相应的处理可以如下:发送服务器将确定出的多个数据块中的每个数据块及其对应的字符串添加至数据块和字符串的对应关系表中;接收服务器在接收到目标数据后,将目标数据切分为多个数据块,并基于预设规则确定多个数据块中的每个数据块对应的字符串;接收服务器将确定出的多个数据块中的每个数据块及其对应的字符串添加至数据块和字符串的对应关系表中。
在实施中,发送服务器在向接收服务器发送目标数据后,可以将确定出的目标数据中的每个数据块及其对应的字符串添加到本地存储的数据块和字符串的对应关系表中。而接收服务器在接收到上述目标数据后,可以同样将目标数据切分为多个数据块,然后基于预设规则确定出多个数据块中每个数据块对应的字符串,进而可以将数据块及其对应的字符串添加至本地的数据快和字符串的对应关系表中。这样,发送服务器和接收服务器可以通过目标数据,对各自存储的对应关系表进行同样的更新处理。可以理解,发送服务器和接收服务器对目标数据的数据块切分方式和字符串确定规则均需保证一致。
本发明实施例中,发送服务器将目标数据切分为多个数据块,并基于预设规则确定多个数据块中的每个数据块对应的字符串;发送服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标数据块替换为目标字符串;发送服务器向接收服务器发送包含目标字符串的目标数据;接收服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标字符串还原为目标数据块。这样,发送端先通过预先存储的数据量较小的字符串替换掉数据中数据量较大的数据块,再对数据进行传输,传输完成后由接收端对数据中的字符串进行还原,可以降低需要传输的数据量,有效缓解数据传输的压力,减小了数据传输的网络传输资源的消耗和成本。
基于相同的技术构思,本发明实施例还提供了一种传输数据的系统,所述系统包括发送服务器和接收服务器,其中:
所述发送服务器,用于将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串,向所述接收服务器发送包含所述目标字符串的目标数据;
所述接收服务器,用于根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。
可选的,所述发送服务器,具体用于:
使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;
筛选符合预设取值条件的目标哈希值,并根据所述目标哈希值确定所述目标数据的内容切割点;
根据所述内容切割点将所述目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
可选的,所述发送服务器,具体用于:
在TCP选项中记录所述目标数据的字符串替换信息,并通过所述TCP协议向接收服务器发送包含所述目标字符串的目标数据。
可选的,所述系统还包括缓存分析服务器,其中:
所述发送/接收服务器,还用于周期性向所述缓存分析服务器发送数据替换记录,所述数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;
所述缓存分析服务器,用于根据每个所述字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度,向所述发送服务器和所述接收服务器发送所述所有字符串的缓存比贡献度;
所述发送服务器和所述接收服务器,还用于根据所述缓存比贡献度在所述数据块和字符串的对应关系表中删除预设数目个对应关系项。
可选的,所述缓存分析服务器通过Apache Hadoop框架下的HDFS存储所述数据替换记录,并基于使用Apache Spark框架确定所述所有字符串的缓存比贡献度。
可选的,所述发送服务器,还用于在向所述接收服务器发送包含所述目标字符串的目标数据之后,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中;
所述接收服务器,还用于在接收到所述目标数据后,将所述目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中。
可选的,所述发送服务器,具体用于:
筛选所述目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;
根据所述对应关系表确定所述目标数据块对应的目标字符串,并将所述目标数据中的目标数据块替换为所述目标字符串。
本发明实施例中,发送服务器将目标数据切分为多个数据块,并基于预设规则确定多个数据块中的每个数据块对应的字符串;发送服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标数据块替换为目标字符串;发送服务器向接收服务器发送包含目标字符串的目标数据;接收服务器根据预先存储的数据块和字符串的对应关系表,将目标数据中的目标字符串还原为目标数据块。这样,发送端先通过预先存储的数据量较小的字符串替换掉数据中数据量较大的数据块,再对数据进行传输,传输完成后由接收端对数据中的字符串进行还原,可以降低需要传输的数据量,有效缓解数据传输的压力,减小了数据传输的网络传输资源的消耗和成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种传输数据的方法,其特征在于,所述方法包括:
发送服务器将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串;
所述发送服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串;
所述发送服务器向接收服务器发送包含所述目标字符串的目标数据;
所述接收服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。
2.根据权利要求1所述的方法,其特征在于,所述发送服务器将目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,包括:
发送服务器使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;
所述发送服务器筛选符合预设取值条件的目标哈希值,并根据所述目标哈希值确定所述目标数据的内容切割点;
所述发送服务器根据所述内容切割点将所述目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
3.根据权利要求1所述的方法,其特征在于,所述发送服务器向接收服务器发送包含所述目标字符串的目标数据,包括:
所述发送服务器在TCP选项中记录所述目标数据的字符串替换信息,并通过所述TCP协议向接收服务器发送包含所述目标字符串的目标数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述发送/接收服务器周期性向缓存分析服务器发送数据替换记录,所述数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;
所述缓存分析服务器根据每个所述字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度;
所述缓存分析服务器向所述发送服务器和所述接收服务器发送所述所有字符串的缓存比贡献度;
所述发送服务器和所述接收服务器根据所述缓存比贡献度在所述数据块和字符串的对应关系表删除预设数目个对应关系项。
5.根据权利要求4所述的方法,其特征在于,所述缓存分析服务器通过Apache Hadoop框架下的HDFS存储所述数据替换记录,并基于使用Apache Spark框架确定所述所有字符串的缓存比贡献度。
6.根据权利要求1所述的方法,其特征在于,所述发送服务器向接收服务器发送包含所述目标字符串的目标数据之后,还包括:
所述发送服务器将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中;
所述接收服务器在接收到所述目标数据后,将所述目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串;
所述接收服务器将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中。
7.根据权利要求1所述的方法,其特征在于,所述发送服务器根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串,包括:
所述发送服务器筛选所述目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;
所述发送服务器根据所述对应关系表确定所述目标数据块对应的目标字符串,并将所述目标数据中的目标数据块替换为所述目标字符串。
8.一种传输数据的系统,其特征在于,所述系统包括发送服务器和接收服务器,其中:
所述发送服务器,用于将待发送的目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标数据块替换为目标字符串,向所述接收服务器发送包含所述目标字符串的目标数据;
所述接收服务器,用于根据预先存储的数据块和字符串的对应关系表,将所述目标数据中的目标字符串还原为目标数据块。
9.根据权利要求8所述的系统,其特征在于,所述发送服务器,具体用于:
使用Rabin-Karp指纹算法对目标数据按字节计算哈希值;
筛选符合预设取值条件的目标哈希值,并根据所述目标哈希值确定所述目标数据的内容切割点;
根据所述内容切割点将所述目标数据切分为多个数据块,并基于MD5算法计算每个数据块的数字签名。
10.根据权利要求8所述的系统,其特征在于,所述发送服务器,具体用于:
在TCP选项中记录所述目标数据的字符串替换信息,并通过所述TCP协议向接收服务器发送包含所述目标字符串的目标数据。
11.根据权利要求8所述的系统,其特征在于,所述系统还包括缓存分析服务器,其中:
所述发送/接收服务器,还用于周期性向所述缓存分析服务器发送数据替换记录,所述数据替换记录包含当前周期内已发送/接收数据中的字符串及对应的数据块大小;
所述缓存分析服务器,用于根据每个所述字符串的大小、对应的数据块大小和出现次数,确定所有字符串的缓存比贡献度,向所述发送服务器和所述接收服务器发送所述所有字符串的缓存比贡献度;
所述发送服务器和所述接收服务器,还用于根据所述缓存比贡献度在所述数据块和字符串的对应关系表中删除预设数目个对应关系项。
12.根据权利要求11所述的系统,其特征在于,所述缓存分析服务器通过ApacheHadoop框架下的HDFS存储所述数据替换记录,并基于使用Apache Spark框架确定所述所有字符串的缓存比贡献度。
13.根据权利要求8所述的系统,其特征在于,所述发送服务器,还用于在向所述接收服务器发送包含所述目标字符串的目标数据之后,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中;
所述接收服务器,还用于在接收到所述目标数据后,将所述目标数据切分为多个数据块,并基于预设规则确定所述多个数据块中的每个数据块对应的字符串,将确定出的所述多个数据块中的每个数据块及其对应的字符串添加至所述数据块和字符串的对应关系表中。
14.根据权利要求8所述的系统,其特征在于,所述发送服务器,具体用于:
筛选所述目标数据包含的、且在预先存储的数据块和字符串的对应关系表中存在对应关系项的目标数据块;
根据所述对应关系表确定所述目标数据块对应的目标字符串,并将所述目标数据中的目标数据块替换为所述目标字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973838.7A CN109274720B (zh) | 2018-08-24 | 2018-08-24 | 一种传输数据的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810973838.7A CN109274720B (zh) | 2018-08-24 | 2018-08-24 | 一种传输数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109274720A true CN109274720A (zh) | 2019-01-25 |
CN109274720B CN109274720B (zh) | 2022-04-22 |
Family
ID=65154093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810973838.7A Active CN109274720B (zh) | 2018-08-24 | 2018-08-24 | 一种传输数据的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274720B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109616058A (zh) * | 2019-01-31 | 2019-04-12 | 京东方科技集团股份有限公司 | 数据传输方法及装置、液晶显示装置 |
CN112019358A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 网络配置方法、装置、设备和系统 |
CN115065732A (zh) * | 2022-06-08 | 2022-09-16 | 珠海格力电器股份有限公司 | 数据传输方法、装置、电子设置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557399A (zh) * | 2009-05-20 | 2009-10-14 | 深圳市汇海科技开发有限公司 | 一种xmpp协议传输数据压缩与解压缩方法 |
CN103279462A (zh) * | 2013-05-28 | 2013-09-04 | 浙江大学 | 一种适用于北斗短报文民用协议的数据编码/解码方法 |
CN103795490A (zh) * | 2012-10-30 | 2014-05-14 | 深圳中兴网信科技有限公司 | 一种数据传输加速的方法及系统 |
CN106649859A (zh) * | 2016-12-30 | 2017-05-10 | 中国移动通信集团江苏有限公司 | 用于对基于字符串的文件进行压缩的方法和装置 |
-
2018
- 2018-08-24 CN CN201810973838.7A patent/CN109274720B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557399A (zh) * | 2009-05-20 | 2009-10-14 | 深圳市汇海科技开发有限公司 | 一种xmpp协议传输数据压缩与解压缩方法 |
CN103795490A (zh) * | 2012-10-30 | 2014-05-14 | 深圳中兴网信科技有限公司 | 一种数据传输加速的方法及系统 |
CN103279462A (zh) * | 2013-05-28 | 2013-09-04 | 浙江大学 | 一种适用于北斗短报文民用协议的数据编码/解码方法 |
CN106649859A (zh) * | 2016-12-30 | 2017-05-10 | 中国移动通信集团江苏有限公司 | 用于对基于字符串的文件进行压缩的方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109616058A (zh) * | 2019-01-31 | 2019-04-12 | 京东方科技集团股份有限公司 | 数据传输方法及装置、液晶显示装置 |
CN112019358A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 网络配置方法、装置、设备和系统 |
CN115065732A (zh) * | 2022-06-08 | 2022-09-16 | 珠海格力电器股份有限公司 | 数据传输方法、装置、电子设置及存储介质 |
CN115065732B (zh) * | 2022-06-08 | 2023-08-11 | 珠海格力电器股份有限公司 | 数据传输方法、装置、电子设置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109274720B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8068512B2 (en) | Efficient utilization of cache servers in mobile communication system | |
US20180278711A1 (en) | Content Engine for Mobile Communications Systems | |
EP2704402B1 (en) | Method and node for distributing electronic content in a content distribution network | |
US7925615B1 (en) | Reducing duplication of files on a network | |
US8261339B2 (en) | Dynamic network tunnel endpoint selection | |
JP4098610B2 (ja) | アクセス中継装置 | |
US9866441B2 (en) | Multiplexing and congestion control | |
CN110580256B (zh) | 一种识别应用标识的方法、设备及系统 | |
CN106953795A (zh) | 配置多网卡的方法及装置 | |
CN109274720A (zh) | 一种传输数据的方法和系统 | |
US20150370723A1 (en) | System, Apparatus and Method for Prioritizing the Storage of Content Based on a Threat Index | |
US20050203971A1 (en) | Selecting data for synchronization | |
US6954801B1 (en) | Method and system for reducing data volume transferred over a wireless communications network | |
CN103001964B (zh) | 一种局域网环境下的缓存加速方法 | |
MXPA04012488A (es) | Aplicacion de servicios de sesion basados en flujos de paquetes. | |
CN104348849A (zh) | 即时通讯键-值数据下发方法、服务器、客户端及系统 | |
CN106612284A (zh) | 一种流数据的传输方法和装置 | |
CN103888539B (zh) | P2p缓存的引导方法、装置及p2p缓存系统 | |
EP3174334B1 (en) | Apparatus and method for data delivery in delay-tolerant network (dtn) | |
CN108769252B (zh) | 一种基于请求内容关联性的icn网络预缓存方法 | |
CN105009520B (zh) | 用于在通信网络中传送内容的方法及其装置 | |
CN102857547B (zh) | 分布式缓存的方法及设备 | |
KR102376496B1 (ko) | 서비스 스트림 분산 포워딩 시스템 및 그 방법 | |
US20080137654A1 (en) | Method of managing signaling message in path-based signaled paths to mpls-enabled core network | |
Mashhadi et al. | Proactive caching for hybrid urban mobile networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |