[发明专利]数据传输方法和装置有效
申请号: | 201711464345.2 | 申请日: | 2017-12-28 |
公开(公告)号: | CN108111523B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 黄戬骅 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/18 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据传输 方法 装置 | ||
本发明公开了一种数据传输方法和装置。该方法包括:确定待发送的数据;基于待发送的数据构建数据报文,其中,数据报文中携带有目标接收端的物理地址以及用于标识目标进程的标识信息;将数据报文发送至位于同一局域网内的各个网卡中。通过本发明,达到了提高数据传输效率的效果。
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据传输方法和装置。
背景技术
在分布式服务集群中,分布在各个物理机上的各进程间的对象之间需要实时通过相互通信和交换信息进行协作,高效的消息传输机制是构建实时服务的基础,比如在分布式游戏服务器中某玩家在世界上聊天,服务器需要将该玩家对象的消息实时广播到所有其他进程上的玩家对象上去,通常的实现方式是使用互联网协议族(如TCP/IP等)实现。
这种方式通用简单但是也有其不足,互联网协议族为了屏蔽底层网络环境差异,每次数据传输需要在收发两端添加额外的(IP层和传输层协议封装和解释)处理开销,发明人发现,同一服务集群中的机器往往部署在同一机房同一以太网环境中,同一以太网中的机器可以使用硬件地址利用以太网卡实现更高速和高效的通信,但基于互联网协议族技术的应用忽略了这些特性,因为因特网协议依赖于自身协议使用IP地址和端口进行消息路由和分发,就好比如明知道邻居家就在对面,却非要每次都要电信局帮忙接通电话线路进行通信一样,明显不如直接走到对门直接面对面通信来得高效,却还得承受通信费用的额外开销,通信质量还受限于电信运营商的服务质量。
目前主流的网络数据传输方法是使用TCP/IP或UDP/IP等互联网协议族进行数据传输,这种方法使用的是操作系统内建的互联网协议族支持进行网络通信和数据传输。这种方法的好处是通用性强,简单易用,因为TCP、UDP和IP协议的实现都由操作系统提供,包括协议解释,网络封包解包和多路复用等。
但是使用TCP/IP或UDP/IP通信的方法也有以下的缺点:
1、互联网协议栈实现有额外的内核开销,会降低应用层数据传输的速度,图1是相关技术的典型的TCP/IP协议栈示意图,如图1所示,操作系统内负责协议栈的封包解包,每个数据包的收和发都会经过协议栈中每一层协议的解释,会有额外的计算开销。
2、传输数据有协议栈中各层协议的报文头部冗余,会降低数据传输的效率,图2是相关技术中的TCP/IP协议栈中各层协议封包示意图,如图2所示,以IPv4和TCP/UDP为例,IP报头长度最小为20字节(无选项),TCP/UDP报头长度分别为20/8字节,因此使用TCP/IP的最大传输效率为:
其中,Max Ether Payload For TCP/IP表示在传输TCP/IP数据包时单个以太帧的最大有效负载,不包括以太帧报文头部和尾部及TCP/IP报文头部信息;Ether Frame Size表示单个以太帧大小,包括所有头部信息。
3、传输效率和行为受操作系统和互联网协议栈实现约束,如TCP会有主动避让和流量控制等机制会对传输速度和效率造成较大的影响。
针对相关技术中同一服务集群中的设备间通过TCP/IP协议进行数据传输时效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据传输方法和装置,以解决同一服务集群中的设备间通过TCP/IP协议进行数据传输时效率低的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据传输方法,该方法包括:确定待发送的数据;基于所述待发送的数据构建数据报文,其中,所述数据报文中携带有目标接收端的物理地址以及用于标识目标进程的标识信息;将所述数据报文发送至位于同一局域网内的各个网卡中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711464345.2/2.html,转载请声明来源钻瓜专利网。