一种基于地址映射多路复用的通信模型及方法

文档序号:7800759阅读:365来源:国知局
一种基于地址映射多路复用的通信模型及方法
【专利摘要】本发明涉及计算机系统及存储领域,特别涉及一种基于地址映射多路复用的通信模型及方法。且本发明的一种基于地址映射多路复用的通信模型及方法,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理,并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动,达到良好的扩展性。
【专利说明】一种基于地址映射多路复用的通信模型及方法
【技术领域】
[0001]本发明涉及计算机系统及存储领域,特别涉及一种基于地址映射多路复用的通信模型及方法。
【背景技术】
[0002]目前计算机之间最常见的通信协议有TCP/IP、NETBEU1、IPX/SPX等,其中TCP/IP协议应用广泛,TCP/IP是由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP、IP、UDP、ARP、ICMP等。TCP/IP凭借其实现成本低、在多平台间通信安全可靠以及可路由性等优势迅速发展,并成为Internet中的标准协议。目前,TCP/IP已经成为局域网中的首选协议。但TCP/IP协议适用于Internet复杂的网络传输环境,对于控制器之间端对端通信的环境,协议处理时过于复杂,传输性能与系统负载会受到影响。
[0003]NetBEUI (NetBIOS增强用户接口)协议由NetBIOS (网络基本输入输出系统)发展完善而来,不过由于其有限的网络节点支持(最多支持254个节点)和非路由性,使其仅适用于基于Windows操作系统的小型局域网中。
[0004]IPX/SPX (网际包交换/序列包交换)协议主要应用于基于NetWare操作系统的Novell局域网中。
[0005]当前计算机之间通信可以通过很多种通信协议来实现,但每种协议都有一定的局限性,或者适合复杂的通信环境,或者适合远距离传输、或者只基于windows等。
[0006]计算机之间的数据通信需求各式各样,对数据通信的需求也不都完全一样,如远程登录管理需要远距离传输,传输数据量不大,带宽要求不高,但要求通信延迟低、响应快。又如计算机集群之间数据备份、镜像等通信需求,传输数据量大,数据链路带宽要求高。这俩种通信方式不能使用同一种通信协议和通路。如果都要满足的话,需要配备俩条通信链路。这样会提升成本,并造成资源的浪费。

【发明内容】

[0007]为了解决现有技术的问题,本发明提供了一种基于地址映射多路复用的通信模型及方法,其可以同时满足不同的数据通信需求,使得不同的通信方式共同使用统一条数据链路。
[0008]本发明所采用的技术方案如下:
一种基于地址映射多路复用的通信模型,是将本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等,两端架构相同,都具有三层架构,分为应用层、传输层和物理层,通过地址映射,两个主机分别映射两个发送区与接收区,分别对应对端的接收区与发送区;通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输,其特征在于,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理;且硬件层只需要实现资源获取,就可以兼容多种硬件驱动。
[0009]应用层用于实现不同通信方式,并可以根据具体的通信需求,进行定制,所述的应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理。
[0010]传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。
[0011]物理层用于获取内存地址映射,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
[0012]一种基于地址映射多路复用的通信方法,包括以下步骤:
A、应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理;
B、传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中;
C、物理层获取内存地址映射,实现物理链路的资源申请、分配,并提交给传输层进行操作。
[0013]本发明的一种基于地址映射多路复用的通信模型及方法,其是兼顾性能的考虑,基于一条物理传输链路,高效的提供多种传输方式的方法;兼顾性能的考虑,是因为不同的通信请求具有不同的特点,如果只采用一种通信方式的话,无法全面满足系统的通信需求。
[0014]高效,采用独特的协议封装,基于内部总线直接内存地址映射,直接进行数据传输。
[0015]采用多种传输方式,是指提供高带宽和低延迟两种方式方式,并支持定制扩展。
[0016]本发明提供的技术方案带来的有益效果是:
本发明的一种基于地址映射多路复用的通信模型及方法,可以同时满足不同的数据通信需求,使得不同的通信方式共同使用统一条数据链路,其降低了成本,有效的减少了资源的浪费。
[0017]且本发明的创新点在于通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理,并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动,达到良好的扩展性。
【专利附图】

【附图说明】
[0018]图1为本发明的一种基于地址映射多路复用的通信模型及方法的通信结构框图; 图2本发明的一种基于地址映射多路复用的通信模型及方法的系统装置图。
【具体实施方式】
[0019]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0020]实施例一
本发明基于地址映射实现两主机之间数据访问,设计通信协议,实现两端系统之间数据通信。本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等。连接模式如图1。两端架构相同,都具有三层架构。分为应用层、传输层和物理层。通过地址映射,主机映射两个发送区与接收区,分别对应对端的接收区与发送区。通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输。本发明的创新点在于通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理。并且硬件层只需要实现资源获取,这样就可以兼容多种硬件驱动。达到良好的扩展性。
[0021]本通信模型架构如图1所示,分为应用层、传输层和物理层。其中应用层主要用于实现不同通信方式,如提供TCP/IP通信方式,应用层需要实现为虚拟网卡驱动,如提供高速通信方式;如应用层需要实现为高速通信接口,提供基于定制的内核API接口,实现数据高速传输。应用层还可以根据具体的通信需求,进行定制。应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头。转发至传输层进行处理。
[0022]传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。内存地址映射通过物理层获取,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
[0023]发送流程如下:
传输层接收到应用层转发的请求之后,将队列添加至请求队列中,如图2所示,分为三个环形队列,free_queue、pend_queue、done_queue。其中 free_queue 保存用于“自由” entry,应用层转发数据请求,从free_queue获取free_entry。假如没有free_entry,则返回上层应用重试,起到拥塞控制的作用。
[0024]获取到free_queue之后,将数据请求填充至entry,并将entry添加至pend_queue ο pend_queue作用为对数据请求进行排序,等候处理线程顺序写入内存映射发送区。
[0025]处理线程将entry从pend_qUeUe取下来,并执行数据传输,执行动作完毕之后,首先会发起中断,通知对端接收数据。并添加entry至done_queue,表明已完成传输。done_queue根据算法安排,等到对端响应接收之后,提交entry至应用层,表明传输完成。初始化entry,并添力口至 free_queue。
[0026]这样三条队列组成循环,完成数据请求的发送过程。
[0027]接收流程如下:
同样的,接收端接收模块也有三条环形队列:free_queue、pend_queue、done_queue。与发送流程类似。接收端中断触发数据接收线程之后。也是三个队列互相循环已完成数据接收。但方向变为由下层传递给上层。如图2所示。
[0028]中断响应接收时,从pend_queue中获取entry,将数据拷贝完成之后。添加至done_queue中,然后根据entry标志选择对应的应用层提交接收数据请求。并从free_queue中获取一个free_entry。应用层处理数据,提交至上层应用之后,再初始化entry。将entry添加至free_queue。完成接收数据的流程。
[0029]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于地址映射多路复用的通信模型,是将本地主机作为服务器端,远端主机作为客户端,服务器端和客户端地位相等,两端架构相同,都具有三层架构,分为应用层、传输层和物理层,通过地址映射,两个主机分别映射两个发送区与接收区,分别对应对端的接收区与发送区;通信模块将上层数据请求经过处理,写至发送区,对端通信模块从接收区收取实现数据单工传输,其特征在于,通过传输层的缓冲与封装,将不同的传输协议封装,统一传输、管理;且硬件层只需要实现资源获取,就可以兼容多种硬件驱动。
2.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的应用层用于实现不同通信方式,并可以根据具体的通信需求,进行定制,所述的应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理。
3.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中。
4.根据权利要求1所述的一种基于地址映射多路复用的通信方法,其特征在于,所述的物理层用于获取内存地址映射,物理层实现物理链路的资源申请、分配,并提交给传输层进行操作。
5.一种基于地址映射多路复用的通信方法,包括以下步骤: A、应用层通过将上层数据包请求进行拆分或者聚合,并添加特定的包头;转发至传输层进行处理; B、传输层接收到应用层数据请求之后,添加至传输队列中,经过传输层通信算法计算,按照权重优先级将数据请求写入至指定偏移的内存映射地址中; C、物理层获取内存地址映射,实现物理链路的资源申请、分配,并提交给传输层进行操作。
【文档编号】H04L29/06GK103905453SQ201410134121
【公开日】2014年7月2日 申请日期:2014年4月4日 优先权日:2014年4月4日
【发明者】王少锋, 吴庆民 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1