CN115695326A - 数据帧传输方法、装置、计算机设备和存储介质 - Google Patents
数据帧传输方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115695326A CN115695326A CN202211207624.1A CN202211207624A CN115695326A CN 115695326 A CN115695326 A CN 115695326A CN 202211207624 A CN202211207624 A CN 202211207624A CN 115695326 A CN115695326 A CN 115695326A
- Authority
- CN
- China
- Prior art keywords
- frame
- response frame
- data
- transmission
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请涉及一种数据帧传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:轮询控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一传输通道中的数据帧进行处理,得到目标数据;若传输通道中存在应答帧,则将应答帧添加至预设的延时队列中;在本次轮询全部的传输通道完成之后,对延时队列中的应答帧进行处理,指示结束应答帧对应的数据帧传输任务。采用本方法,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
Description
技术领域
本申请涉及存储技术领域,特别是涉及一种数据帧传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
SAS(Serial Attached SCSI,串行SCSI(Small Computer System Interface,小型计算机系统接口)技术)控制器是连接服务器与SAS设备(SAS设备包括SAS磁盘或SAS扩展器)的装置。SAS控制器的作用是控制SAS命令的执行。
在SAS命令的执行过程中,需要SAS控制器与SAS设备间进行多次帧形式的交互。具体的,基于SAS传输协议要求,SAS控制器向SAS设备发送命令帧,SAS设备响应于该命令帧中封装的命令,先将对应的数据封装为多个数据帧发送给SAS控制器,等待全部的数据帧发送完成后,SAS设备再向SAS控制器发送一个应答帧,以告知SAS控制器该次命令完成的结果。
然而,由于SAS控制器包含多条传输通道,若应答帧缓存至在先的传输通道中,则SAS控制器先查询到应答帧之后,会导致部分数据帧的处理顺序在应答帧之后,实质上若SAS控制器先对应答帧进行处理,则直接结束该次数据帧传输过程,后续未查询到的数据帧中的数据则会丢失,数据帧传输任务失败。因此,为了保证数据帧与应答帧之间的处理顺序,亟需一种SAS控制器与SAS设备间数据帧的保序传输方法。
发明内容
基于此,有必要针对上述技术问题,提供一种数据帧传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据帧传输方法。所述方法包括:
轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
采用本方法,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
在其中一个实施例中,所述轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中每一所述传输通道中的数据帧进行处理,得到目标数据,包括:
根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;
当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。
本实施例中,基于预设的轮询机制对全部传输通道中的数据帧进行处理,得到目标数据,使得在全部传输通道的数据帧处理完成之后,再进行应答帧处理,保证了数据帧与应答帧间的处理顺序。
在其中一个实施例中,所述将所述应答帧添加至预设的延时队列中,包括:
根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
根据所述多个目标字段,构建命令字结构;
将所述命令字结构存储至预设的延时队列中。
本实施例中,通过提取应答帧中的目标字段,构建命令字结构,将命令字结构代替应答帧存储至延时队列中,既保留了应答帧的功能,又减少了延时队列中的存储资源的消耗。
在其中一个实施例中,所述对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务,包括:
获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;
根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;
对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输任务。
本实施例中,通过对延时队列中的应答帧进行处理,结束应答帧对应的数据帧传输任务,实现完整的数据传输。
在其中一个实施例中,所述轮询所述控制器与SAS串行连接设备间的各传输通道之前,所述方法还包括:
向SAS设备发送命令帧,所述命令帧中封装有针对目标任务的命令;
接收所述SAS设备响应于所述命令帧发送的多个SAS帧,根据预设的负载策略将所述多个SAS帧,存储至多个传输通道的收帧缓冲区。
第二方面,本申请还提供了一种数据帧传输装置。所述装置应用于控制器,所述装置包括:
轮询模块,用于轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
第一处理模块,用于若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
第二处理模块,用于在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
采用本装置,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
上述数据帧传输方法、装置、计算机设备、存储介质和计算机程序产品,轮询各传输通道,针对轮询过程中每一所述传输通道中的数据帧进行处理,得到目标数据;若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;在轮询完成全部的所述传输通道之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。采用本方法,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
附图说明
图1为一个实施例中数据帧传输方法的应用环境图;
图2为一个实施例中数据帧传输方法的流程示意图;
图3为一个实施例中数据帧的处理步骤的流程示意图;
图4为一个实施例中将应答帧放入延迟队列步骤的流程示意图;
图5为一个实施例中应答帧的结构示意图;
图6为一个实施例中应答帧的处理步骤的流程示意图;
图7为一个实施例中触发数据帧传输步骤的流程示意图;
图8为一个实施例中数据帧传输方法的示例的流程示意图;
图9为一个实施例中数据帧传输装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据帧传输方法,可以应用于如图1所示的应用环境中,具体为图1应用环境中的控制器中。控制器102可以是HBA(Hose Bus Adapter,主机总线适配卡)、RAID(Redundant Array of Independent Disks,磁盘阵列)芯片的基础模块,HBA、RAID是集成在服务器主板上的芯片。因此,服务器中的控制器与SAS串行连接小型计算机系统接口设备(简称SAS设备)间通过多条传输通道与SAS设备104进行通信。具体的,SAS设备104响应于控制器102发送的命令帧,向控制器102发送数据帧,该数据帧依据发送顺序依次缓存至控制器102与SAS设备104间的多条传输通道内。控制器102轮询各传输通道,针对轮询过程中查询到的每一传输通道中的数据帧进行处理,得到数据帧中携带的目标数据。若传输通道中存在应答帧,则控制器102将应答帧添加至预设的延时队列中。在本次轮询全部的传输通道完成之后,对缓存至延时队列中的全部应答帧进行处理,针对得到的应答帧中的信息指示结束应答帧对应的数据帧传输任务。其中,本申请实施例中的控制器102可以但不限于为SAS控制器,该SAS控制器即为与SAS设备间通过SAS协议进行消息帧传输的控制器。SAS设备104可以但不限于为SAS磁盘设备或者SAS扩展器,本申请实施例不做限定。
在一个实施例中,如图2所示,提供了一种数据帧传输方法,以该方法应用于图1中的控制器(例如,SAS控制器)为例进行说明,包括以下步骤:
步骤202,轮询控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中每一传输通道中的数据帧进行处理,得到目标数据。
在实施中,控制器与SAS串行连接小型计算机系统接口设备(简称为SAS设备)间存在多条传输通道,多条传输通道是连接控制器与SAS设备的物理连接,传输通道通过多对能收发信号的差分信号线构成的,一个传输通道(channel)可以认为是其中的一对差分信号线,能实现一路数据的收发。控制器需要与SAS设备进行数据传输时,控制器向SAS设备发送数据请求的命令帧,SAS设备响应于该命令帧,向控制器发送数据帧。其中,该数据帧中携带目标数据。然后,控制器中的与SAS设备连接的多条传输通道,依次接收并缓存数据帧,然后,通过查询多条传输通道中的对数据帧,完成对数据帧的传输。因此,控制器轮询多条传输通道,针对轮询过程中每一传输通道中的数据帧进行处理,得到数据帧中的目标数据。
步骤204,若传输通道中存在应答帧,则将应答帧添加至预设的延时队列中。
在实施中,若轮询过程中,查询到当前传输通道中存在应答帧,为了保证该应答帧对应的数据帧传输任务中帧的接收顺序为:数据帧在前,应答帧在后,控制器先将查询到的应答帧缓存至预设的延时队列中。
步骤206,在本次轮询完成全部的传输通道之后,对延时队列中的应答帧进行处理,指示结束应答帧对应的数据帧传输任务。
在实施中,在轮询完成全部的传输通道之后,控制器对延时队列中的应答帧进行处理,基于应答帧中包含的应答信息控制结束该应答帧对应的数据帧传输任务。具体地,由于数据帧与应答帧的发送顺序就是数据帧在前,应答帧在后,因此,数据帧和应答帧接收顺序混乱的原因也仅仅是多条传输通道的查询顺序与数据帧接收顺序不同造成的,因此,当轮询完成全部的传输通道时,表征此时多条传输通道中没有未处理的数据帧,这样,再对应答帧进行处理,必然保证应答帧的查询顺序在数据帧之后,从而解决应答帧与数据帧乱序的问题。
上述数据帧传输方法中,轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。采用本方法,通过设置延时队列,将存在传输通道中的应答帧缓存至延时队列中,在轮询传输通道的过程中,对各传输通道中全部的数据帧处理完成之后,再对应答帧进行处理,保证了数据帧在前,应答帧在后的顺序,避免了数据帧传输过程中的数据帧丢失。
在一个实施例中,如图3所示,步骤102的具体处理过程包括:
步骤302,根据预设的各传输通道的查询顺序,依次查询控制器与SAS设备各传输通道中的收帧缓冲区。
在实施中,多条传输通道预设有传输通道的查询顺序,例如,针对N条传输通道,传输通道编号分别为从0至N-1,预设的传输通道的查询顺序可以为基于传输通道的传输编号由小到大的顺序,即0到N-1,依次对多条传输通道进行查询。并且在传输通道中预设有收帧缓冲区,该收帧缓冲区用于对接收到的数据帧或者应答帧进行缓存。这样,控制器根据预设的各传输通道的查询顺序,依次查询控制器与SAS设备各传输通道中的收帧缓冲区。
步骤304,当传输通道的收帧缓冲区中包含数据帧时,对传输通道的收帧缓冲区中的数据帧进行处理,得到目标数据。
在实施中,当传输通道的收帧缓冲区中包含的是数据帧时,控制器获取该数据帧,对数据帧进行解析处理,得到数据帧中封装的目标数据。例如,在当查询至N-2编号的传输通道时,该N-2编号的传输通道的收帧缓冲区中存储的全部是数据帧,控制器读取该收帧缓冲区中的数据帧,并进行解析处理,得到目标数据,然后,继续查询下一遍号传输通道的收帧缓冲区。
本实施例中,基于预设的轮询机制对全部传输通道中的数据帧进行处理,得到目标数据,使得在全部传输通道的数据帧处理完成之后,再进行应答帧处理,保证了数据帧与应答帧间的处理顺序。
在一个实施例中,为了节约延时队列中的存储空间,在将应答帧存储至延时队列中时,可以对应答帧进行处理,生成应答帧对应命令字结构,然后,仅将命令字结构存储至延时队列中,具体的,如图4所示,步骤104的具体处理过程包括:
步骤402,根据预设的应答帧提取策略,提取应答帧中的多个目标字段。
在实施中,基于预设的传输协议规定的结构,应答帧由多个关键字段和非关键字段组成,控制器根据预设的应答帧提取策略,提取该应答帧结构中的多个目标字段,即关键字段。具体的,以传输协议为SAS协议下的应答帧为例,如图5所示,图5为从应答帧中提取关键字段的示意图,其中,SAS应答帧中包含的目标字段包括:Status(状态码)、responseCode(应答码)、dataPres(数据出现码)。
步骤404,根据多个目标字段以及应答帧携带的命令编号,构建命令字结构。
在实施中,控制器根据提取到的多个目标字段,按照预设的拼接顺序,构建命令字结构(也称为命令字),并将应答帧中携带的编号(也称为命令编号)添加至命令字结构上,作为命令字结构的头部。该编号用于表征该应答帧与数据帧传输任务的对应关系。
步骤406,将命令字结构存储至预设的延时队列中。
在实施中,控制器将生成的命令字结构存储至预设的延时队列中,直至本次传输通道轮询结束,再对延时队列中的应答帧的命令字结构进行处理。
本实施例中延时队列的作用是缓存应答帧的命令字结构,以保证对应答帧的异步延时处理,因此,只要保证延时队列中存储的对象是一个可以缓存的数据的结构,方便读取数据即可。故不需要使用复杂的数据结构和存取算法,可选的,应答帧对应的命令字结构具体可以为基于软件的数组、栈、链表等结构,也可以通过一个专门的硬件存储器实现应答帧命令字结构,本申请实施例不做限定。
本实施例中,通过提取应答帧中的目标字段,构建命令字结构,将命令字结构代替应答帧存储至延时队列中,既保留了应答帧的功能,又减少了延时队列中的存储资源的消耗。
在一个实施例中,在对多条传输通道中的数据帧处理结束之后,再对延时队列中的应答帧或者命令字结构进行处理,具体地,如图6所示,步骤106的具体处理过程包括以下步骤:
步骤602,获取延时队列中的应答帧。
其中,应答帧携带有命令编号
在实施中,在对多条传输通道进行轮询时,由于控制器与SAS设备间的数据帧传输任务可以是并发处理的,因此,延时队列中可能已存储了多个应答帧,每一应答帧携带有一个命令编号,用于表征一次数据传输任务。控制器获取延时队列中的应答帧,以对应答帧进行处理。
可选的,若存延时队列中存储的均为应答帧的命令字结构,则控制器获取延时队列中的命令字结构。
步骤604,根据命令编号,将应答帧与数据帧进行匹配,确定应答帧对应的数据帧传输任务。
在实施中,SAS设备在向控制器发送数据帧时,也会为每一数据帧添加编号,但是由于控制器与SAS设备之间是有线连接,控制器无法直接根据数据帧携带的编号判断数据帧是否接收完全,只能被动接收数据帧,进而,再通过应答帧确定数据帧传输任务完成。因此,针对每一数据帧传输任务,数据帧与应答帧间都携带有相同类型的命令编号,以确定对应同一数据帧传输任务。控制器根据应答帧携带的命令编号,在轮询多条传输通道得到的多个数据帧中,进行应答帧与数据帧的匹配,即将相同类型的命令编号的数据帧和应答帧确定为同一数据帧传输任务。
步骤606,对应答帧进行解析,并基于应答帧中解析出的应答信息,控制结束数据帧传输任务。
在实施中,控制器对应答帧进行解析,并基于从应答帧中解析出的应答信息,控制结束数据帧传输任务。
本实施例中,通过对延时队列中的应答帧进行异步解析处理,保证了数据帧与应答帧间的处理顺序,进而,基于在应答帧中解析得到的应答信息,结束该应答帧对应的数据帧传输任务。
在一个实施例中,在SAS设备向控制器发送数据帧之前,控制器需要先发起数据请求,触发数据帧传输流程,具体地,如图7所示,在步骤102之前,该数据帧传输方法还包括:
步骤702,向SAS设备发送命令帧。
其中,命令帧中封装有针对目标任务的命令。
在实施中,控制器向SAS设备发送命令帧,该命令帧中封装有目标任务的命令指令,通过该命令指令可以控制SAS设备向控制器发送包含该目标任务的目标数据的数据帧。
步骤704,接收SAS设备响应于命令帧发送的多个SAS帧,根据预设的负载策略将多个SAS帧,存储至多个传输通道的收帧缓冲区。
在实施中,控制器接收SAS设备响应于命令帧发送的多个SAS帧,其中SAS帧中包含数据帧和应答帧。然后,控制器根据预设的负载策略,依次将多个SAS帧存储至多个传输通道的收帧缓冲区。
本实施例中,通过控制器向SAS设备发送SAS帧,SAS帧中包含数据帧和应答帧,触发控制器与SAS设备间的数据帧传输过程,通过控制器中的传输通道接收传输的SAS帧,再结合延时队列,实现对SAS帧的异步处理过程。
在一个实施例中,如图8所示,提供了一种数据帧传输的具体示例,该示例包括以下步骤:
步骤801,依次轮询控制器端口中的每个SAS传输通道的收帧缓冲区。
步骤802,若查询到的传输通道中接收到的是数据帧,则控制器直接对接收到的数据帧处理。
步骤803,若查询到的传输通道中接收到的是应答帧,则控制器从应答帧中提取关键字段,构造命令字结构,将命令字结构写入延时队列。
步骤804,若全部的传输通道已经轮询完成,则依次从延时队列取出所有命令字结构,控制器根据命令字结构中的信息处理应答帧,结束该应答帧对应的数据帧传输任务。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据帧传输方法的数据帧传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据帧传输装置实施例中的具体限定可以参见上文中对于数据帧传输方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据帧传输装置900,包括:轮询模块910、第一处理模块920和第二处理模块930,其中:
轮询模块910,用于轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
第一处理模块920,用于若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
第二处理模块930,用于在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
在其中一个实施例中,轮询模块910具体用于根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;
当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。
在其中一个实施例中,第一处理模块920用于根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
根据所述多个目标字段,构建命令字结构;
将所述命令字结构存储至预设的延时队列中。
在其中一个实施例中,第二处理模块930具体用于获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;
根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;
对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输任务。
在其中一个实施例中,该装置900还包括:
发送模块,用于向SAS设备发送命令帧,所述命令帧中封装有针对目标任务的命令;
接收模块,用于接收所述SAS设备响应于所述命令帧发送的多个SAS帧,根据预设的负载策略将所述多个SAS帧,存储至多个传输通道的收帧缓冲区。
上述数据帧传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据帧传输方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
轮询所述控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;
当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
根据所述多个目标字段,构建命令字结构;
将所述命令字结构存储至预设的延时队列中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;
根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;
对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输任务。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向SAS设备发送命令帧,所述命令帧中封装有针对目标任务的命令;
接收所述SAS设备响应于所述命令帧发送的多个SAS帧,根据预设的负载策略将所述多个SAS帧,存储至多个传输通道的收帧缓冲区。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据帧传输方法,其特征在于,所述方法应用于控制器,所述方法包括:
轮询所述控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
2.根据权利要求1所述的方法,其特征在于,所述轮询所述控制器与SAS串行连接小型计算机系统接口设备间的各传输通道,针对轮询过程中每一所述传输通道中的数据帧进行处理,得到目标数据,包括:
根据预设的各所述传输通道的查询顺序,依次查询所述控制器与SAS串行连接设备各传输通道中的收帧缓冲区;
当所述传输通道的收帧缓冲区中包含数据帧时,对所述传输通道的所述收帧缓冲区中的数据帧进行处理,得到目标数据。
3.根据权利要求1所述的方法,其特征在于,所述将所述应答帧添加至预设的延时队列中,包括:
根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
根据所述多个目标字段,构建命令字结构;
将所述命令字结构存储至预设的延时队列中。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务,包括:
获取所述延时队列中的所述应答帧;所述应答帧携带有命令编号;
根据所述命令编号,将所述应答帧与所述数据帧进行匹配,确定所述应答帧对应的数据帧传输任务;
对所述应答帧进行解析,并基于所述应答帧中解析出的应答信息,控制结束所述数据帧传输任务。
5.根据权利要求1所述的方法,其特征在于,所述轮询所述控制器与SAS串行连接设备间的各传输通道之前,所述方法还包括:
向SAS设备发送命令帧,所述命令帧中封装有针对目标任务的命令;
接收所述SAS设备响应于所述命令帧发送的多个SAS帧,根据预设的负载策略将所述多个SAS帧,存储至多个传输通道的收帧缓冲区。
6.一种数据帧传输装置,其特征在于,所述装置应用于控制器,所述装置包括:
轮询模块,用于轮询所述控制器与SAS串行连接设备间的各传输通道,针对轮询过程中查询到的每一所述传输通道中的数据帧进行处理,得到目标数据;
第一处理模块,用于若所述传输通道中存在应答帧,则将所述应答帧添加至预设的延时队列中;
第二处理模块,用于在本次轮询全部的所述传输通道完成之后,对所述延时队列中的所述应答帧进行处理,指示结束所述应答帧对应的数据帧传输任务。
7.根据权利要求6所述的装置,其特征在于,所述第一处理模块具体用于根据预设的应答帧提取策略,提取所述应答帧中的多个目标字段;
根据所述多个目标字段,构建命令字结构;
将所述命令字结构存储至预设的延时队列中。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211207624.1A CN115695326A (zh) | 2022-09-30 | 2022-09-30 | 数据帧传输方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211207624.1A CN115695326A (zh) | 2022-09-30 | 2022-09-30 | 数据帧传输方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695326A true CN115695326A (zh) | 2023-02-03 |
Family
ID=85064710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211207624.1A Pending CN115695326A (zh) | 2022-09-30 | 2022-09-30 | 数据帧传输方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695326A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115855028A (zh) * | 2023-02-22 | 2023-03-28 | 广州导远电子科技有限公司 | 导航数据解析方法、装置、电子设备和存储介质 |
-
2022
- 2022-09-30 CN CN202211207624.1A patent/CN115695326A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115855028A (zh) * | 2023-02-22 | 2023-03-28 | 广州导远电子科技有限公司 | 导航数据解析方法、装置、电子设备和存储介质 |
CN115855028B (zh) * | 2023-02-22 | 2023-11-03 | 广州导远电子科技有限公司 | 导航数据解析方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116746B2 (en) | Data storage method and network interface card | |
US20180284993A1 (en) | Performing data operations in a storage area network | |
CN114201421B (zh) | 一种数据流处理方法、存储控制节点及可读存储介质 | |
US20230105771A1 (en) | Network adapter and data processing method of network adapter | |
CN113596010B (zh) | 一种数据处理方法、装置、节点设备及计算机存储介质 | |
CN113014662A (zh) | 数据处理方法及基于NVMe-oF协议的存储系统 | |
US11023825B2 (en) | Platform as a service cloud server and machine learning data processing method thereof | |
CN115695326A (zh) | 数据帧传输方法、装置、计算机设备和存储介质 | |
WO2017147794A1 (zh) | 差异数据备份的方法和设备 | |
CN112148350A (zh) | 作品远程版本管理方法、电子设备以及计算机存储介质 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN115982072A (zh) | 信息通信方法、装置、计算机设备和存储介质 | |
CN113238856B (zh) | 一种基于rdma的内存管理方法及装置 | |
CN111555950B (zh) | 报文处理方法、装置、服务器和存储介质 | |
US11314813B2 (en) | Apparatus for guaranteeing integrity of state database in blockchain-based environment and method thereof | |
CN116737069A (zh) | 数据传输方法、装置、系统和计算机设备 | |
US10212036B2 (en) | Performance testing method, performance testing apparatus performing the same and storage medium storing the same | |
CN115981956A (zh) | Spdk服务进程监控方法、装置、设备、存储介质和程序产品 | |
CN116225314A (zh) | 数据写入方法、装置、计算机设备和存储介质 | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
US8417858B2 (en) | System and method for enabling multiple processors to share multiple SAS wide ports | |
CN112114757B (zh) | 对象存储系统中的存储方法及系统、计算设备和介质 | |
CN115242813A (zh) | 一种文件访问方法、网卡以及计算设备 | |
CN103067419A (zh) | 一种分布式文件系统及在该系统中控制文件存储的方法 | |
US11526495B2 (en) | Method and apparatus for processing write-ahead log |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |