一种基于NBT硬件的通信方法技术

技术编号:14894461 阅读:77 留言:0更新日期:2017-03-29 09:47
本发明专利技术公开了一种基于NBT硬件的通信方法,包括:与NBT硬件模块连接的第一节点将第一节点欲传输到与NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的NBT硬件模块对第二节点映射的NBT窗口的数据结构,判断NBT窗口是否可以传递所有的消息分片;若否,则将消息分片放入等待队列,等待发送,若是,则将消息分片封装为消息包后进行发送;修改NBT窗口的剩余空闲下标和数量,进入等待确认的队列;第二节点的接收端的接收线程定时查看NBT窗口的空闲下标,查看是否有新的消息包;若有,则将新的消息包取回后,进行对应的解析。通过对第二节点映射的NBT窗口,将传输的数据消息进行消息分片,通过查看NBT窗口的空闲下标获得消息包,取出并解析。

【技术实现步骤摘要】

本专利技术涉及计算机系统软件设计
,特别是涉及一种基于NBT硬件的通信方法。
技术介绍
随着传统存储系统的发展,对于多控制器的互联的通信的带宽性能要求也越来越高,PCIe也伴随着协议的改进而发展起来,PCIe的NTB也渐渐成为多控制器之间通信的新的手段,由于NTB是一种新的硬件通信设备,而软件层次为了更加好的协调上层应用和硬件使用,需要实现一种通信方法,来完成通信任务,实现多控制器之间的通信。
技术实现思路
本专利技术的目的是提供一种基于NBT硬件的通信方法,实现了多控制器之间的通信。为解决上述技术问题,本专利技术实施例提供了一种基于NBT硬件的通信方法,包括:与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则将所述消息分片放入等待队列,等待发送,若是,则将所述消息分片封装为消息包后进行发送;修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的消息包;若有,则将所述新的消息包取回后,进行对应的解析。其中,所述与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片,还包括:所述第一节点预先对所述NBT窗口进行均匀分割。其中,所述与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片,包括:判断所述消息数据的大小是否大于所述均匀分割的NBT映射窗口的分割粒度;若是,则对所述消息数据进行分片。其中,所述均匀分割的NBT映射窗口的分割粒度为4KB。其中,所述NBT窗口的存储空间为2GB或4GB。其中,所述消息包包括序列号、版本号、标志位、回复序列号、负载数据长度、负载数据和校验数据。所述将所述消息分片封装为消息包后进行发送,还包括:判断所述消息包是否为首次发送;若是,则所述消息包的所述回复序列号上写首次发送标记符号。其中,所述消息包的所述回复序列号上写首次发送标记符号,为所述消息包的所述回复序列号上写0。其中,在所述将所述新的消息包取回后,进行对应的解析之后,还包括:将待确认的序列号放到待确认发送的数组中;判断是否有消息传递到所述第一节点;若是,则直接将序列号放入到返回消息包中,若否,则在预定的等待时间后自动生成确认消息包发送到所述第一节点。其中,所述将所述新的消息包取回后,进行对应的解析,包括:判断所述消息包是否为确认消息或携带了确认号的消息;若是,则将相应的待确认的消息取出并返回到所述第二节点的上层应用单元之后,修改所述待确认的消息对应占用的所述NBT窗口的首下标。本专利技术实施例提供的基于NBT硬件的通信方法与现有技术相比较,具有以下优点:本专利技术实施例提供的基于NBT硬件的通信方法,包括:与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则将所述消息分片放入等待队列,等待发送,若是,则将所述消息分片封装为消息包后进行发送;修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的消息包;若有,则将所述新的消息包取回后,进行对应的解析。所述基于NBT硬件的通信方法,通过对第二节点映射的NBT窗口,将传输的数据消息进行消息分片,然后在NBT窗口可以传递所有的所述消息分片后,将消息分片封装为消息包后进行发送。修改NBT窗口的剩余空闲下标和数量,进入等待确认的队列。第二节点的接收端的接收线程通过定时查看所述NBT窗口的空闲下标,判断是否有新的消息包。在判断有新的消息包之后将新的消息包取回,并进行对应的解析。这样就实现了与NBT硬件模块的第一节点和第二节点之间的通信。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于NBT硬件的通信方法的一种具体实施方式的步骤流程示意图。具体实施方式正如
技术介绍
部分所述,由于NTB是一种新的硬件通信设备,而软件层次为了更加好的协调上层应用和硬件使用,需要实现一种通信方法,来完成通信任务,实现多控制器之间的通信。基于此,本专利技术实施例提供了一种基于NBT硬件的通信方法,包括:与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则将所述消息分片放入等待队列,等待发送,若是,则将所述消息分片封装为消息包后进行发送;修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的消息包;若有,则将所述新的消息包取回后,进行对应的解析。综上所述,本专利技术实施例提供的基于NBT硬件的通信方法,通过对第二节点映射的NBT窗口,将传输的数据消息进行消息分片,然后在NBT窗口可以传递所有的所述消息分片后,将消息分片封装为消息包后进行发送。修改NBT窗口的剩余空闲下标和数量,进入等待确认的队列。第二节点的接收端的接收线程通过定时查看所述NBT窗口的空闲下标,判断是否有新的消息包。在判断有新的消息包之后将新的消息包取回,并进行对应的解析。这样就实现了与NBT硬件模块的第一节点和第二节点之间的通信。为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本专利技术。但是本专利技术能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广。因此本专利技术不受下面公开的具体实施的限制。请参考图1,图1为本专利技术实施例提供的基于NBT硬件的通信方法的一种具体实施方式的步骤流程示意图。在一种具体实施方式中,所述基于NBT硬件的通信方法,包括:步骤1,与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;步骤2,根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则步骤3,将所述消息分片放入等待队列,等待发送,若是,则步骤4,将所述消息分片封装为消息包后进行发送;步骤5,修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;步骤6,所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的本文档来自技高网
...

【技术保护点】
一种基于NBT硬件的通信方法,其特征在于,包括:与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则将所述消息分片放入等待队列,等待发送,若是,则将所述消息分片封装为消息包后进行发送;修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的消息包;若有,则将所述新的消息包取回后,进行对应的解析。

【技术特征摘要】
1.一种基于NBT硬件的通信方法,其特征在于,包括:与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片;根据当前的所述NBT硬件模块对所述第二节点映射的NBT窗口的数据结构,判断所述NBT窗口是否可以传递所有的所述消息分片;若否,则将所述消息分片放入等待队列,等待发送,若是,则将所述消息分片封装为消息包后进行发送;修改所述NBT窗口的剩余空闲下标和数量,进入等待确认的队列;所述第二节点的接收端的接收线程定时查看所述NBT窗口的空闲下标,查看是否有新的消息包;若有,则将所述新的消息包取回后,进行对应的解析。2.如权利要求1所述的基于NBT硬件的通信方法,其特征在于,所述与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片,还包括:所述第一节点预先对所述NBT窗口进行均匀分割。3.如权利要求2所述的基于NBT硬件的通信方法,其特征在于,所述与NBT硬件模块连接的第一节点将所述第一节点欲传输到与所述NBT硬件模块连接的第二节点的数据消息分为至少一个消息分片,包括:判断所述消息数据的大小是否大于所述均匀分割的NBT映射窗口的分割粒度;若是,则对所述消息数据进行分片。4.如权利要求3所述的基于NBT硬件的通信方法,其特征在于,所述均匀分割的NBT映射窗口...

【专利技术属性】
技术研发人员:张仁峰闫永刚卓保特
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1