欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 端对端网络的数据传输方法、系统及计算机可读存储介质独创技术22925字

端对端网络的数据传输方法、系统及计算机可读存储介质

2021-03-19 15:56:17

端对端网络的数据传输方法、系统及计算机可读存储介质

  技术领域

  本发明涉及区块链技术领域,尤其涉及一种端对端网络的数据传输方法、系统以及计算机可读存储介质。

  背景技术

  在相关技术中,存在如下技术:

  1、P2P对等网络技术

  P2P网络即对等网络/对等计算机网络:是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。

  “Peer”在英语里有“对等者、伙伴、对端”的意义。

  因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”。学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:

  网络的参与者共享他们所拥有的一部分硬件资源,例如打印机;或者硬件资源的处理能力、存储能力、网络连接能力等,这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。

  2、数据压缩技术

  多媒体数据之所以能够压缩,是因为视频、图像、声音这些媒体具有很大的压缩力。以目前常用的位图格式的图像存储方式为例,在这种形式的图像数据中,像素与像素之间无论在行方向还是在列方向都具有很大的相关性,因而整体上数据的冗余度很大;在允许一定限度失真的前提下,能对图像数据进行很大程度的压缩。

  首先,数据中间常存在一些多余成分,既冗余度。如在一份计算机文件中,某些符号会重复出现、某些符号比其他符号出现得更频繁、某些字符总是在各数据块中可预见的位置上出现等,这些冗余部分便可在数据编码中除去或减少。冗余度压缩是一个可逆过程,因此叫做无失真压缩,或称保持型编码。

  其次,数据中间尤其是相邻的数据之间,常存在着相关性。如图片中常常有色彩均匀的背影,电视信号的相邻两帧之间可能只有少量的变化影物是不同的,声音信号有时具有一定的规律性和周期性等等。因此,有可能利用某些变换来尽可能地去掉这些相关性。但这种变换有时会带来不可恢复的损失和误差,因此叫做不可逆压缩,或称有失真编码、摘压缩等。

  此外,人们在欣赏音像节目时,由于耳、目对信号的时间变化和幅度变化的感受能力都有一定的极限,如人眼对影视节目有视觉暂留效应,人眼或人耳对低于某一极限的幅度变化已无法感知等,故可将信号中这部分感觉不出的分量压缩掉或“掩蔽掉”。这种压缩方法同样是一种不可逆压缩。

  对于数据压缩技术而言,最基本的要求就是要尽量降低数字化的在码事,同时仍保持一定的信号质量。不难想象,数据压缩的方法应该是很多的,但本质上不外乎上述完全可逆的冗余度压缩和实际上不可逆的嫡压缩两类。冗余度压缩常用于磁盘文件、数据通信和气象卫星云图等不允许在压缩过程中有丝毫损失的场合中,但它的压缩比通常只有几倍,远远不能满足数字视听应用的要求。在实际的数字视听设备中,差不多都采用压缩比更高但实际有损的嫡压缩技术。

  只要作为最终用户的人觉察不出或能够容忍这些失真,就允许对数字音像信号进一步压缩以换取更高的编码效率。摘压缩主要有特征抽取和量化两种方法,指纹的模式识别是前者的典型例子,后者则是一种更通用的摘压缩技术。

  3、数据传输技术

  随着近年来SOA(面向服务技术架构)的兴起,越来越多的应用系统开始进行分布式的设计和部署。系统由原来单一的技术架构变成面向服务的多系统架构。原来在一个系统之间可以完成的业务流程,通过多系统的之间多次交互来实现。应用系统之间数据传输有三个要素:传输方式,传输协议,数据格式。

  Socket方式是最简单的交互方式。是典型才c/s交互模式。一台客户机,一台服务器。服务器提供服务,通过ip地址和端口进行服务访问。而客户机通过连接服务器指定的端口进行消息交互。其中传输协议可以是tcp/UDP协议。而服务器和约定了请求报文格式和响应报文格式。如图1所示:

  目前我们常用的http调用,java远程调用,webserivces都是采用的这种方式,只不过不同的就是传输协议以及报文格式。

  这种方式的优点是:

  1易于编程,目前java提供了多种框架,屏蔽了底层通信细节以及数据传输转换细节。

  2容易控制权限。通过传输层协议https,加密传输的数据,使得安全性提高

  3通用性比较强,无论客户端是.net架构,java,python都是可以的。尤其是webservice规范,使得服务变得通用

  而这种方式的缺点是:

  当传输数据量比较大的时候,严重占用网络带宽,可能导致连接超时。使得在数据量交互的时候,服务变的很不可靠。

  因此,有必要提供一种新的端对端网络的数据传输方法、系统以及计算机可读存储介质,以解决上述技术问题。

  发明内容

  本发明的主要目的在于提供一种端对端网络数据传输方法,旨在解决相关技术中,数据传输占用带宽过大,时间耗时过长的技术问题。

  为实现上述目的,本发明提供一种端对端网络的数据传输方法,包括如下步骤:

  获取原始数据,并将所述原始数据序列化为初次二进制数据;

  统计分析所述初次二进制数据的数字出现规律,并生成反应所述数字出现规律的映射字码表;

  将所述映射字码表转化为二次二进制数据,以对外传输。

  优选地,所述将所述映射字码表转化为二次二进制数据的步骤,具体包括如下步骤:

  将所述映射字码表转化为二进制数据本体;

  当所述映射字码表转化为二进制数据本体时,生成相应的文件哈希值,其中,所述二进制数据本体与所述文件哈希值组成所述二次二进制数据。

  优选地,所述将所述映射字码表转化为二次二进制数据的步骤之后,还包括如下步骤:

  根据所述二次二进制数据的类型,采用对应的压缩算法对所述二次二进制数据进行压缩处理;

  建立端对端的通信通道后,将压缩处理后的所述二次二进制数据对外传输。

  优选地,所述建立端对端的通信通道后,将压缩处理后的所述二次二进制数据对外传输的步骤之后,还包括如下步骤:

  接收压缩处理后的所述二次二进制数据,并将所述二次二进制数据逆向还原为接收结果数据。

  优选地,所述接收压缩处理后的所述二次二进制数据,并将所述二次二进制数据逆向还原为接收结果数据的步骤,具体包括如下步骤:

  将所述二进制数据本体逆向还原为所述映射字码表;

  将所述映射字码表逆向还原为所述初次二进制数据;

  将所述初次二进制数据逆向还原为接收结果数据。

  优选地,还包括如下步骤:

  当将所述二进制数据本体逆向还原为所述映射字码表时,生成校验哈希值。

  优选地,包括如下步骤:

  获取所述校验哈希值与所述文件哈希值,并判断二者是否一致;

  当所述校验哈希值与所述文件哈希值一致时;

  判断所述接收结果数据为完整的所述原始数据。

  为解决上述技术问题,本发明还提供一种端对端网络的数据传输系统,包括:存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被所述处理器执行时实现所述的端对端网络的数据传输方法的步骤。

  为解决上述技术问题,本发明还提供计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的端对端网络的数据传输方法的步骤。

  本发明提供的端对端网络的数据传输方法;获取原始数据,并将所述原始数据序列化为初次二进制数据;统计分析所述初次二进制数据的数字出现规律,并生成反应所述数字出现规律的映射字码表;将所述映射字码表转化为二次二进制数据,以对外传输。

  通过利用本地终端设备的计算能力,对原始数据进行数据压缩式的传输,降低了数据的空间容量,使得数据传输占用带宽变小,并降低传输时间。

  进一步的,根据所述二次二进制数据的类型,采用对应的压缩算法对所述二次二进制数据进行压缩处理;建立端对端的通信通道后,将压缩处理后的所述二次二进制数据对外传输。

  对要传输的进行数据特征提取和压缩,数据压缩过程需要利用本地终端设备的计算能力,根据不同数据类型,压缩比可达30%-50%,达到了加快点对点直接数据传输速度的效果,最终解决了在一个P2P网络中,终端之间通过socket连接方式传输数据占用带宽过大,时间耗时长的技术问题。

  用终端计算能力解决数据网络传输的耗时。这个方案可以大大增加P2P网络中资源的统一协调,在计算资源冗余时加以利用,同时增加网络传输速度和效率。

  用组合算法的方式完成数据传输。分别采用数据特征提取,根据数据类型自动选择压缩算法,根据安全环境自动选择传输协议,数据逆向复原这几个步骤完成一次数据传输。传输效率要比传统单一的socket方式快50%左右。

  附图说明

  图1为现有技术中数据传输的交互架构图;

  图2为本发明提供的端对端网络的数据传输方法的第一实施例的工作流程图;

  图3为图1所示的步骤S30的工作流程图;

  图4为本发明提供的端对端网络的数据传输方法的第二实施例的工作流程图;

  图5为本发明提供的端对端网络的数据传输方法的第三实施例的工作流程图;

  图6为本发明提供的端对端网络的数据传输方法的第四实施例的工作流程图;

  图7为本发明提供的端对端网络的数据传输系统的架构图。

  本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

  具体实施方式

  应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

  请参阅图2,为实现上述目的,本发明的第一实施例中,端对端网络的数据传输方法包括如下步骤:

  S10,获取原始数据,并将所述原始数据序列化为初次二进制数据;

  本实施例中,所述原始数据可以是图片数据、音频数据、视频数据等;例如,将某一种数据序列化为初次二进制数据,该初次二进制数据为1100011110001010111。。。;该初次二进制数据的长度可以为1024位。

  S20,统计分析所述初次二进制数据的数字出现规律,并生成反应所述数字出现规律的映射字码表;

  具体的,统计分析所述初次二进制数据1100011110001010111。。。。(长度1024位)中数字0和1出现的规律,在数据序列化形成二进制数据的过程中可以建立一个映射表来记录二进制数据的位置关系。

  例如,对上述字节就可以描述为1_2,6_4,13_1,15_1,17_3。。。。;该映射字码表可理解为从位置1开始,连续出现2次1,从位置6开始,连续出现4次1,以此类推,到最后是位置17,连续出现3次1,其它位置均补充0。按照此原理可以充分利用CPU多核多线程的计算特性,将N多个类似的字节片段并行计算,并将最终结果进行拼接,形成一份完整的字节码位置映射表。

  S30,将所述映射字码表转化为二次二进制数据,以对外传输。

  本实施例中,将映射字码表1_2,6_4,13_1,15_1,17_3。。。转换为另一种二进制数据,例如10101111100011110001010111。。。(长度512位),具体的长度要根据映射表的复杂度而定,映射表的复杂度取决于原始数据的文件类型,如果在二进制数据中重复片段较多的,更有利于文件整体的缩小。

  可以理解,将所述原始数据序列化为初次二进制数据,生成反应所述数字出现规律的映射字码表,以及将所述映射字码表转化为二次二进制数据均可以通过预设的转化函数实现,该类函数为现有技术范畴,在此不再过多赘述。

  可以理解,通过用户端完成所述步骤S10和所述步骤S20,当将所述二次二进制数据对外传输时,会将所述二次二进制数据自所述用户端传输至所述服务端。

  在端对端网络中,任意两个终端设备之间,可以根据实际情况切换为用户端或服务端。

  请参阅图3,具体的,所述步骤S30,具体包括如下步骤:

  S301,将所述映射字码表转化为二进制数据本体;

  S302,当所述映射字码表转化为二进制数据本体时,生成相应的文件哈希值,其中,所述二进制数据本体与所述文件哈希值组成所述二次二进制数据。

  具体的,文件哈希值为,文件被序列化的同时使用的任意算法会把文件用一串字符表示(可以是64位或128位),它和文件的大小、类型、时间等等有关。当一个文件被完整传输,接收方也可以通过类似的算法,得到相同的哈希值,但凡文件被损坏后者变动过,那么接收方再次计算的哈希值就不一样了。

  本实施提供的端对端网络的数据传输方法,通过利用本地终端设备的计算能力,对原始数据进行数据压缩式的传输,降低了数据的空间容量,使得数据传输占用带宽变小,并减少传输耗费时间。

  第二实施例

  请参阅图4,基于本发明的第一实施提供的端对端网络的数据传输方法100,本发明的第二实施例提供另一种端对端网络的数据传输方法200,该方法的所述步骤S10~S30与第一实施例相同,在此不再一一赘述,其不同之处在于:

  所述步骤S30之后,还包括如下步骤:

  S40,根据所述二次二进制数据的类型,采用对应的压缩算法对所述二次二进制数据进行压缩处理;

  具体的,数据压缩的主要目的在于,进一步的减少数据传输或者转移过程中的数据容量。

  根据不同的文件类型可以选择LZW压缩、霍夫曼压缩、游程编码(RLC)压缩。可以根据不同的文件类型自动选择不同的压缩算法。

  其中LZW压缩是一种无损压缩,应用于gif图片。适用于数据中存在大量重固子串的情况。

  哈夫曼编码使用预先二进制描述来替换每个符号,长度由特殊符号出现的频率决定。

  常见的符号需要很少的位来表示,而不常见的符号需要很多位来表示。哈夫曼算法在改变任何符号二进制编码引起少量密集表现方面是最佳的。但并不处理符号的顺序和重复或序号的序列。

  游程编码又称“运行长度编码”或“行程编码”,是一种无损压缩编码,JPEG图片压缩就用此方法,很多栅格数据压缩也是采用这种方法。

  S50,建立端对端的通信通道后,将压缩处理后的所述二次二进制数据对外传输。

  两个终端之间建立socket通信通道。需要经历以下步骤:

  1.创建ServerSocket和Socket;

  2.打开连接到Socket的输入/输出流;

  3.按照协议对Socket进行读/写操作;

  4.关闭输入输出流、关闭Socket。

  对于服务器端而言:

  1.创建ServerSocket对象,绑定监听端口;

  2.通过accept()方法监听客户端请求;

  3.连接建立后,通过输入流读取客户端发送的请求信息;

  4.通过输出流向客户端发送相应的信息;

  5.关闭相关资源。

  对于客户端而言:

  1.创建Socket对象,指明需要连接的服务器的地址和端口号;

  2.连接建立后,通过输出流想服务器端发送请求信息;

  3.通过输入流获取服务。

  两个终端之间通过TCP/UDP的方式进行传输数据。

  对要传输的进行数据特征提取和压缩,数据压缩过程需要利用本地终端设备的计算能力,根据不同数据类型,压缩比可达30%-50%,达到了加快点对点直接数据传输速度的效果,最终解决了在一个P2P网络中,终端之间通过socket连接方式传输数据占用带宽过大,时间耗时长的技术问题。

  第三实施例

  请参阅图5,基于本发明的第二实施提供的端对端网络的数据传输方法200,本发明的第三实施例提供另一种端对端网络的数据传输方法300,该方法的所述步骤S10~S50与第一实施例相同,在此不再一一赘述,其不同之处在于:

  所述步骤S50之后,还包括如下步骤:

  S60,接收压缩处理后的所述二次二进制数据,并将所述二次二进制数据逆向还原为接收结果数据。

  第四实施例

  请参阅图6,基于本发明的第三实施提供的端对端网络的数据传输方法300,本发明的第四实施例提供另一种端对端网络的数据传输方法400,该方法的所述步骤S10~S50与第一实施例相同,在此不再一一赘述,其不同之处在于:

  所述步骤S60具体包括如下步骤:

  S601,将所述二进制数据本体逆向还原为所述映射字码表;

  S602,将所述映射字码表逆向还原为所述初次二进制数据;

  S603,将所述初次二进制数据逆向还原为接收结果数据。

  优选地,还包括如下步骤:

  S70,当将所述二进制数据本体逆向还原为所述映射字码表时,生成校验哈希值。

  S80,获取所述校验哈希值与所述文件哈希值,并判断二者是否一致;

  S90,当所述校验哈希值与所述文件哈希值一致时,判断所述接收结果数据为完整的所述原始数据。

  根据数据映射表,利用自身设备的计算能力进行多线程分工,按照逆向算法进行数据还原,还原完毕后进行文件哈希值校验。最终验证接受方收到完整的数据。

  本发明还提供一种端对端网络的数据传输系统。

  请参阅图7,端对端网络的数据传输系统,包括:存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述计算机程序被所述处理器执行时实现所述的端对端网络的数据传输方法的步骤。

  该端对端网络的数据传输方法的具体步骤参照上述实施例,由于本端对端网络的数据传输系统采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。

  本发明还提供一种计算机可读存储介质。

  本发明还提供计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的端对端网络的数据传输方法的步骤。

  该端对端网络的数据传输方法的具体步骤参照上述实施例,由于本计算机可读存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备进入本发明各个实施例所述的方法。

  在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第X实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料、方法步骤或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

  需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

  上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

  以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

《端对端网络的数据传输方法、系统及计算机可读存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)