数据帧传输方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:36603524 阅读:19 留言:0更新日期:2023-02-04 18:21
本申请涉及一种数据帧传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:轮询控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一传输通道中的数据帧进行处理,得到目标数据;若传输通道中存在应答帧,则将应答帧添加至预设的延时队列中;在本次轮询全部的传输通道完成之后,对延时队列中的应答帧进行处理,指示结束应答帧对应的数据帧传输任务。采用本方法,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。据帧传输过程中的数据帧丢失。据帧传输过程中的数据帧丢失。

【技术实现步骤摘要】
数据帧传输方法、装置、计算机设备和存储介质


[0001]本申请涉及存储
,特别是涉及一种数据帧传输方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]SAS(Serial Attached SCSI,串行SCSI(Small Computer System Interface,小型计算机系统接口)技术)控制器是连接服务器与SAS设备(SAS设备包括SAS磁盘或SAS扩展器)的装置。SAS控制器的作用是控制SAS命令的执行。
[0003]在SAS命令的执行过程中,需要SAS控制器与SAS设备间进行多次帧形式的交互。具体的,基于SAS传输协议要求,SAS控制器向SAS设备发送命令帧,SAS设备响应于该命令帧中封装的命令,先将对应的数据封装为多个数据帧发送给SAS控制器,等待全部的数据帧发送完成后,SAS设备再向SAS控制器发送一个应答帧,以告知SAS控制器该次命令完成的结果。
[0004]然而,由于SAS控制器包含多条传输通道,若应答帧缓存至在先的传输通道中,则SAS控制器先查询到应答帧之后,会导致部分数据帧的处理顺序在应答帧之后,实质上若SAS控制器先对应答帧进行处理,则直接结束该次数据帧传输过程,后续未查询到的数据帧中的数据则会丢失,数据帧传输任务失败。因此,为了保证数据帧与应答帧之间的处理顺序,亟需一种SAS控制器与SAS设备间数据帧的保序传输方法。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种数据帧传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种数据帧传输方法。所述方法包括:
[0007]轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
[0008]若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
[0009]在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
[0010]采用本方法,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
[0011]在其中一个实施例中,所述轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中每一所述传输通道中的数据帧进行处理,得到目标数据,包括:
[0012]根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;
[0013]当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。
[0014]本实施例中,基于预设的轮询机制对全部传输通道中的数据帧进行处理,得到目标数据,使得在全部传输通道的数据帧处理完成之后,再进行应答帧处理,保证了数据帧与应答帧间的处理顺序。
[0015]在其中一个实施例中,所述将所述应答帧添加至预设的延时队列中,包括:
[0016]根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
[0017]根据所述多个目标字段,构建命令字结构;
[0018]将所述命令字结构存储至预设的延时队列中。
[0019]本实施例中,通过提取应答帧中的目标字段,构建命令字结构,将命令字结构代替应答帧存储至延时队列中,既保留了应答帧的功能,又减少了延时队列中的存储资源的消耗。
[0020]在其中一个实施例中,所述对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务,包括:
[0021]获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;
[0022]根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;
[0023]对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输任务。
[0024]本实施例中,通过对延时队列中的应答帧进行处理,结束应答帧对应的数据帧传输任务,实现完整的数据传输。
[0025]在其中一个实施例中,所述轮询所述控制器与SAS串行连接设备间的各传输通道之前,所述方法还包括:
[0026]向SAS设备发送命令帧,所述命令帧中封装有针对目标任务的命令;
[0027]接收所述SAS设备响应于所述命令帧发送的多个SAS帧,根据预设的负载策略将所述多个SAS帧,存储至多个传输通道的收帧缓冲区。
[0028]第二方面,本申请还提供了一种数据帧传输装置。所述装置应用于控制器,所述装置包括:
[0029]轮询模块,用于轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
[0030]第一处理模块,用于若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
[0031]第二处理模块,用于在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
[0032]采用本装置,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
[0033]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0034]轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
[0035]若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
[0036]在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
[0037]通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
[0038]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0039]轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
[0040]若所述传输通道中存在应答帧,则将所述应答帧添加至预设的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据帧传输方法,其特征在于,所述方法应用于控制器,所述方法包括:轮询所述控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。2.根据权利要求1所述的方法,其特征在于,所述轮询所述控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中每一所述传输通道中的数据帧进行处理,得到目标数据,包括:根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。3.根据权利要求1所述的方法,其特征在于,所述将所述应答帧添加至预设的延时队列中,包括:根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;根据所述多个目标字段,构建命令字结构;将所述命令字结构存储至预设的延时队列中。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务,包括:获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输...

【专利技术属性】
技术研发人员:刘朝辉徐晓亮邓瑶李向荣贾如彬
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1