CN104767606B - 数据同步装置及方法 - Google Patents
数据同步装置及方法 Download PDFInfo
- Publication number
- CN104767606B CN104767606B CN201510120811.XA CN201510120811A CN104767606B CN 104767606 B CN104767606 B CN 104767606B CN 201510120811 A CN201510120811 A CN 201510120811A CN 104767606 B CN104767606 B CN 104767606B
- Authority
- CN
- China
- Prior art keywords
- credit value
- value
- threshold
- credit
- synchronization
- 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.)
- Active
Links
Abstract
本发明公开了一种数据同步装置及方法,属于计算机技术领域。所述方法包括:当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文;检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值;当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据同步装置及方法。
背景技术
在网络中,当发送节点向接收节点发送数据报文的速率大于接收节点处理数据报文的速率时,网络将会产生拥挤甚至死锁。为了防止网络出现拥挤或死锁,人们通常采用基于信用的流量控制方案,控制发送节点向接收节点发送数据报文的速率。
在实际应用过程中,发送节点与接收节点之间的连接设置有信用值,且发送节点仅在该连接的信用值大于0时,才可以向接收节点发送数据报文,该信用值与接收节点中缓冲区的缓存空间数量有关。当接收节点向缓冲区中提交新的缓存空间时,接收节点侧的主机对保存的信用值进行维护,将该连接对应的信用值加1;当接收节点通过远程直接数据存取(英文:Remote Direct Memory Access;简称:RDMA)接口适配器接收到发送节点发送的数据报文时,则需要消耗缓冲区中的缓存空间,RDMA接口适配器将保存的信用值减1,并将减1后的信用值通过应答报文发送至发送节点。发送节点根据该应答报文即知悉该连接当前的信用值,并根据当前的信用值确定是否可以继续发送数据报文,从而实现控制发送节点发送数据报文的速率。
当RDMA接口适配器中保存的信用值被减至0时,RDMA接口适配器通过外设部件互连快速通道(英文:Peripheral Component Interconnect Express;简称:PCIE)获取主机中维护的最新的信用值,并进行保存,同时向发送节点发送最新的信用值。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于RDMA接口适配器只有在信用值为0时,才会通过PCIE从主机中获取最新的信用值,且获取最新的信用值需要较长时间,导致获取最新的信用值期间,发送节点不能继续向接收节点发送数据报文,造成数据报文的传输中断。
发明内容
为了解决背景技术中RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题,本发明实施例提供了一种数据同步装置及方法。所述技术方案如下:
第一方面,提供了一种数据同步装置,所述装置包括:
接收模块,用于当接收到发送节点发送的数据报文时,将与所述发送节点对应的第一信用值减1,并向所述发送节点发送携带有所述第一信用值的应答报文;
检测模块,用于检测所述RDMA接口适配器维护的所述第一信用值是否小于当前门限级别对应的同步阈值,所述同步阈值大于0;
同步模块,用于当所述第一信用值小于所述同步阈值时,通过外设部件互连快速通道PCIE同步主机中维护的第二信用值。
在第一方面的第一种可能的实施方式中,所述RDMA接口适配器中设置有至少一个门限级别,所述门限级别与所述同步阈值呈负相关关系。
在第一方面的第二种可能的实施方式中,所述装置,还包括:
获取模块,用于获取与所述同步阈值对应的调整范围值;
计算模块,用于根据所述第二信用值与所述同步阈值计算信用值增量;
调整模块,用于根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述调整模块,包括:
第一检测单元,用于检测所述信用值增量是否小于所述调整范围值的下限;
第一调整单元,用于当所述信用值增量小于所述调整范围值的下限时,在所述当前门限级别基础上下调预设级数。
结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,所述调整模块,包括:
第二检测单元,用于检测所述信用值增量是否大于所述调整范围值的上限;
第二调整单元,用于当所述信用值增量大于所述调整范围值的上限时,在所述当前门限级别基础上上调预设级数。
结合第一方面的第二种可能的实施方式,在第一方面的第五种可能的实施方式中,所述调整模块,包括:
第三调整单元,用于当所述信用值增量大于所述调整范围值的下限,且小于所述调整范围值的上限时,保持所述当前门限级别。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式、第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述装置,还包括:
发送模块,用于向所述发送节点发送携带有所述第二信用值的更新报文,所述更新报文用于告知所述发送节点对应连接的最新信用值。
第二方面,提供了一种数据同步方法,所述方法包括:
当接收到发送节点发送的数据报文时,将与所述发送节点对应的第一信用值减1,并向所述发送节点发送携带有所述第一信用值的应答报文;
检测所述RDMA接口适配器维护的所述第一信用值是否小于当前门限级别对应的同步阈值,所述同步阈值大于0;
当所述第一信用值小于所述同步阈值时,通过外设部件互连快速通道PCIE同步主机中维护的第二信用值。
在第二方面的第一种可能的实施方式中,所述RDMA接口适配器中设置有至少一个门限级别,所述门限级别与所述同步阈值呈负相关关系。
在第二方面的第二种可能的实施方式中,所述方法,还包括:
获取与所述同步阈值对应的调整范围值;
根据所述第二信用值与所述同步阈值计算信用值增量;
根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
检测所述信用值增量是否小于所述调整范围值的下限;
当所述信用值增量小于所述调整范围值的下限时,在所述当前门限级别基础上下调预设级数。
结合第二方面的第二种可能的实施方式,在第二方面的第四种可能的实施方式中,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
检测所述信用值增量是否大于所述调整范围值的上限;
当所述信用值增量大于所述调整范围值的上限时,在所述当前门限基础上上调预设级数。
结合第二方面的第二种可能的实施方式,在第二方面的第五种可能的实施方式中,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
当所述信用值增量大于所述调整范围值的下限,且小于所述调整范围值的上限时,保持所述当前门限级别。
结合第二方面、第二方面的第一种可能的实施方式、第二方面的第二种可能的实施方式、第二方面的第三种可能的实施方式、第二方面的第四种可能的实施方式或第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述方法,还包括:
向所述发送节点发送携带有所述第二信用值的更新报文,所述更新报文用于告知所述发送节点对应连接的最新信用值。
本发明实施例提供的技术方案带来的有益效果是:
通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的数据同步装置的结构方框图;
图2是本发明另一实施例提供的数据同步装置的结构方框图;
图3是本发明一个实施例提供的RDMA接口适配器的框图;
图4是本发明一个实施例提供的数据同步方法的方法流程图;
图5A是本发明另一实施例提供的数据同步方法的方法流程图;
图5B是本发明另一实施例提供的数据同步方法的方法流程图;
图6A是本发明一个实施例提供的数据同步方法提供的应用场景的示意图;
图6B是本发明一个实施例提供的信用控制器的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了方便理解,首先对本发明实施例中出现的一些名词进行解释:
信用值:用于标识接收节点中缓冲区的缓存空间数量。每个发送节点与接收节点之间的连接对应一个信用值,该信用值时刻发生变化,当发送节点向接收节点发送一个数据报文时,占用接收节点中的一个缓存空间,该连接对应的信用值减1,且发送节点仅在对应连接的信用值大于0时,才可以向接收节点发送数据报文。
负相关关系:指两个变量的变化方向相反,即一个变量增大时,对应的另一个变量减小;一个变量减小时,对应的另一个变量增大,两者呈线性相关或非线性相关。
请参考图1,其示出了本发明一个实施例提供的数据同步装置的结构方框图,该数据同步装置,包括:
接收模块110,用于当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文。
RDMA接口适配器中设置有至少一个门限级别,门限级别与同步阈值呈负相关关系。
检测模块120,用于检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,该同步阈值大于0。
同步模块130,用于当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值。
综上所述,本实施例提供的数据同步装置,通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
请参考图2,其示出了本发明另一实施例提供的数据同步装置的结构方框图,该数据同步装置,包括:
接收模块210,用于当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文。
RDMA接口适配器中设置有至少一个门限级别,门限级别与同步阈值呈负相关关系。
检测模块220,用于检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,该同步阈值大于0。
同步模块230,用于当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值。
可选地,该装置,还包括:
获取模块240,用于获取与同步阈值对应的调整范围值;
计算模块250,用于根据第二信用值与同步阈值计算信用值增量;
调整模块260,用于根据信用值增量与调整范围值,调整RDMA接口适配器中的门限级别。
可选地,调整模块260,包括:
第一检测单元261,用于检测信用值增量是否小于调整范围值的下限;
第一调整单元262,用于当信用值增量小于调整范围值的下限时,在当前门限级别基础上下调预设级数。
可选地,调整模块260,包括:
第二检测单元263,用于检测信用值增量是否大于调整范围值的上限;
第二调整单元264,用于当信用值增量大于调整范围值的上限时,在当前门限级别基础上上调预设级数。
可选地,调整模块260,包括:
第三调整单元265,用于当信用值增量大于调整范围值的下限,且小于调整范围值的上限时,保持当前门限级别。
可选地,该装置,还包括:
发送模块270,用于向发送节点发送携带有第二信用值的更新报文,GAI更新报文用于告知发送节点对应连接的最新信用值。
综上所述,本实施例提供的数据同步装置,通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
本实施例还通过在RDMA接口适配器中设置有至少一个门限级别,并根据同步得到的第二信用值与当前门限级别对应的同步阈值,实时调整门限级别,从而实现信用值同步频率的实施更新,保证了当前门限级别符合当前连接消耗信用值以及接收节点提交缓存空间的速率。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量小于调整范围值的下限时,下调门限级别,从而降低RDMA接口适配器同步主机中第二信用值的频率,减少对PCIE的占用率,释放PCIE的带宽。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量大于调整范围值的上限时,上调门限级别,从而提高RDMA接口适配器同步主机中第二信用值的频率中,使得RDMA接口适配器中维护的第一信用值能够维持在一个较高数值,保证了发送节点有足够的信用值可以使用。
请参考图3,其示出了本发明一个实施例提供的RDMA接口适配器的框图。该RDMA接口适配器300可以包括:控制芯片310和存储器320,其中,控制芯片310和存储器320电性相连。
控制芯片310,用于当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文。
控制芯片310,用于检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,该同步阈值大于0。
RDMA接口适配器中设置有至少一个门限级别,门限级别与同步阈值呈负相关关系。
控制芯片310,用于当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值到存储器320中。
具体的,RDMA接口适配器在调整门限级别时,控制芯片310,还用于获取与同步阈值对应的调整范围值;
控制芯片310,还用于根据第二信用值与同步阈值计算信用值增量;
控制芯片310,还用于根据信用值增量与调整范围值,调整RDMA接口适配器中的门限级别。
具体的,RDMA接口适配器在根据信用值增量与调整范围值调整门限级别时,控制芯片310,还用于检测信用值增量是否小于调整范围值的下限;
控制芯片310,还用于当信用值增量小于调整范围值的下限时,在当前门限级别基础上下调预设级数。
控制芯片310,还用于检测信用值增量是否大于调整范围值的上限;
控制芯片310,还用于当信用值增量大于调整范围值的上限时,在当前门限级别基础上上调预设级数。
控制芯片310,还用于当信用值增量大于调整范围值的下限,且小于调整范围值的上限时,保持当前门限级别。
具体的,RDMA接口适配器在调整同步完信用值后,控制芯片310,还用于当信用值增量大于调整范围值的下限,且小于调整范围值的上限时,保持当前门限级别。
综上所述,本实施例提供的数据同步装置,通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
本实施例还通过在RDMA接口适配器中设置有至少一个门限级别,并根据同步得到的第二信用值与当前门限级别对应的同步阈值,实时调整门限级别,从而实现信用值同步频率的实施更新,保证了当前门限级别符合当前连接消耗信用值以及接收节点提交缓存空间的速率。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量小于调整范围值的下限时,下调门限级别,从而降低RDMA接口适配器同步主机中第二信用值的频率,减少对PCIE的占用率,释放PCIE的带宽。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量大于调整范围值的上限时,上调门限级别,从而提高RDMA接口适配器同步主机中第二信用值的频率中,使得RDMA接口适配器中维护的第一信用值能够维持在一个较高数值,保证了发送节点有足够的信用值可以使用。
请参考图4,其示出了本发明一个实施例提供的数据同步方法的方法流程图,该方法可用于RDMA接口适配器中的信用控制器中,该数据同步方法,包括:
步骤401,当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文。
RDMA接口适配器中设置有至少一个门限级别,门限级别与同步阈值呈负相关关系。
步骤402,检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,同步阈值大于0。
步骤403,当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值。
综上所述,本实施例提供的数据同步方法,通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
为了使RDMA接口适配器同步信用值的速率符合接收节点提交缓存空间以及发送节点消耗信用值的速率,RDMA接口适配器中可以设置有多个门限级别,各个门限级别对应的同步阈值不同。RDMA接口适配器可以根据每次同步后信用值的增量,对门限级别进行调整,从而改变RDMA接口适配器同步信用值的速率。下面采用一个实施例进行说明。
请参考图5A,其示出了本发明另一实施例提供的数据同步方法的方法流程图,该方法可用于RDMA接口适配器中的信用控制器中,该数据同步方法,包括:
步骤501,当接收到发送节点发送的数据报文时,将与发送节点对应的第一信用值减1,并向发送节点发送携带有第一信用值的应答报文。
接收节点中设置有包含多个缓存空间的缓冲区,该缓冲区用于缓存发送节点发送的数据报文。当发送节点与接收节点之间建立连接时,接收节点侧主机会根据缓冲区中的缓存空间数量生成初始信用值,RDMA接口适配器也会备份一份初始信用值,作为RDMA接口适配器维护的第一信用值,并向发送节点发送携带有该第一信用值的信用报文。发送节点接收到该信用报文后,获取其中携带的第一信用值,即知悉该连接当前的信用值,并开始向接收节点发送数据报文。
发送节点发送的数据报文经过接收节点侧的RDMA接口适配器,从而到达接收节点。RDMA接口适配器接收到发送节点发送的一个数据报文,即知悉需要消耗接收节点中的一个缓存空间,对应的,需要将RDMA接口适配器中维护的第一信用值减1,即将该连接对应的信用值减1。
为了使发送节点知悉该连接的实时信用值,RDMA接口适配器将减1后的第一信用值添加到应答报文,并发送至发送节点。发送节点接收到该应答报文后,即可知悉该连接的实时信用值。
需要说明的是,由于接收节点可能同时与多个发送节点建立连接,对应的,RDMA接口适配器中需要保存多个信用值。为了方便对保存的信用值进行维护,RDMA接口适配器可以对发送节点的信息进行哈希操作后进行存储,并根据对应连接的使用频率进行排序。且RDMA适配器中保存的信用值数量有限,当接收节点建立新的连接时,RDMA接口适配器可以对使用频率最低的连接进行替换。
步骤502,检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,同步阈值大于0。
为了使RDMA接口适配器同步信用值的速率符合接收节点提交缓存空间以及发送节点消耗信用值的速率,RDMA接口适配器中设置有至少一个门限级别,且门限级别与同步阈值呈负相关关系,该门限级别与同步阈值的对应关系可以示例性的如表一所示。
表一
门限级别 | 同步阈值 |
一级 | 500 |
二级 | 350 |
三级 | 200 |
四级 | 50 |
其中,门限级别与同步阈值可以呈线性相关也可以非线性相关,本发明并不对此进行限定。
对于RDMA接口适配器中门限级别与同步阈值的设置方法,可以预先通过软件进行配置,并在RDMA接口适配器电初始化时配置到RDMA接口适配器中,本发明并不对此进行限定。
RDMA接口适配器每次将第一信用值减1后,都需要检测第一信用值是否小于当前门限级别对应的同步阈值。
比如,当前门限级别为一级,对应的同步阈值为500,RDMA接口适配器则需要在每次减1操作后,检测维护的第一信用值是否小于500。
需要说明的是,为了保证在RDMA接口适配器初次同步信用值期间,发送节点有足够的缓存空间可以使用,RDMA接口适配器通常将初始门限级别设置为一级,对应的同步阈值最大,从而确保发送节点有足够的缓存空间可以使用。
步骤503,当第一信用值小于同步阈值时,通过PCIE同步主机中维护的第二信用值。
RDMA接口适配器检测到第一信用值小于当前门限级别对应的同步阈值时,即通过PCIE从主机中同步第二信用值,其中,该第二信用值由主机进行维护。
接收节点在接收数据报文消耗缓存空间的同时,还会不断向缓冲区中提交新的缓存空间,对应的,主机在维护第二信用值时,当接收数据报文消耗缓存空间时,主机将第二信用值减1;当向缓冲区中提交新的缓存空间时,主机将第二信用值加1。显而易见的,主机侧维护的第二信用值与接收节点中实际的缓存空间数量一致;而由于RDMA接口适配器仅在接收到数据报文时对第一信用值减1,所以RDMA接口适配器中维护的第一信用值仅能表现发送节点消耗信用值的速率,并不能表示接收节点中实际的缓存空间数量。所以,RDMA接口适配器检测到第一信用值小于当前门限级别对应的同步阈值时,将同步主机侧维护的第二信用值,即获取此时接收节点中实际的缓存空间数量。
步骤504,获取与同步阈值对应的调整范围值。
通过上述步骤,RDMA接口适配器即可同步得到主机侧维护的第二信用值,且由于RDMA接口适配器维护的第一信用值不为0,在同步信用值的过程中,发送节点仍旧可以向接收节点发送数据报文,避免了数据报文的传输中断。
RDMA接口适配器中还保存有同步阈值对应的调整范围值,该调整范围值用于标识RDMA接口适配器同步信用值后信用值增量的范围。其中,调整范围值与同步阈值的对应关系可以示例性的如表二所示。
表二
同步阈值 | 调整范围值 |
500 | 80~250 |
350 | 60~230 |
200 | 40~210 |
50 | 20~190 |
其中,不同同步阈值对应的调整范围值可以相同,也可以不同,本发明并不对此进行限定。
RDMA接口适配器获取同步阈值后,可以在表二所示的对应关系表中,查找到对应的调整范围值。
需要说明的是,该调整范围值也可以是用于标识同步得到的第二信用值的范围区间,本发明并不对此构成进行限定。
步骤505,根据第二信用值与同步阈值计算信用值增量。
为了检测RDMA接口适配器同步信用值后,信用值增量是否在同步阈值对应调整范围值内,RDMA接口适配器根据第二信用值与当前的同步阈值计算信用值增量。
比如,RDMA接口适配器当前门限级别为一级,对应的同步阈值为500,当检测到维护的第一信用值小于500时,RDMA接口适配器通过PCIE获取从主机同步第二信用值为600,计算得到信用值增量即为100。
步骤506,根据信用值增量与调整范围值,调整RDMA接口适配器中的门限级别。
RDMA接口适配器根据计算得到的信用值增量和调整范围值,调整RDMA接口适配器的门限级别,从而使RDMA接口适配器的同步信用值速率与接收节点提交缓存空间以及发送节点消耗信用值的速率相符。
如图5B所示,步骤506可以包括下面三种可能的实施方式:
在第一种可能的实施方式中:
步骤506a,检测信用值增量是否小于调整范围值的下限。
当信用值增量越大时,表示接收节点提交新的缓存空间的速率越快;相对的,当信用值增量越小时,表示接收节点提交新的缓存空间的速率越慢。
RDMA接口适配器检测信用值增量是否小于调整范围值的下限,当信用值增量小于调整范围值的下限时,即认为接收节点提交新的缓存空间的速率较慢,执行步骤506b。
步骤506b,当信用值增量小于调整范围值的下限时,在当前门限级别基础上下调预设级数。
接收节点提交新的缓存空间的速率越慢,RDMA接口适配器同步得到的第二信用值与第一信用值也越接近,而且频繁的同步会占用PCIE大量带宽。所以为了使接收节点提交新的缓存空间的速率较慢时,RDMA接口适配器不会频繁占用PCIE的带宽进行信用值同步,RDMA接口适配器可以在当前门限级别基础上下调预设级数,即降低同步阈值,从而降低RDMA接口适配器同步主机侧信用值的频率,释放PCIE的带宽。其中,该预设级数通常为一级,即在当前门限级别的基础上下调一级。
比如,当前门限级别为一级,对应的同步阈值为500,对应的调整范围值为80~250,RDMA接口适配器从主机同步得到第二信用值为550,并计算得到信用值增量为50。由于该信用值增量小于调整范围值的下限80,RDMA接口适配器在当前门限级别的基础上下调一级,将门限级别设置为二级。
在第二种可能的实施方式中:
步骤506c,检测信用值增量是否大于调整范围值的上限。
与上述步骤506a相似的,RDMA接口适配器检测信用值增量是否大于调整范围值的上限,当信用值增量大于调整范围值的上限时,即认为接收节点提交新的缓存空间的速率较快,执行步骤506d。
步骤506d,当信用值增量大于调整范围值的上限时,在当前门限级别基础上上调预设级数。
信用值增量越大,即表示接收节点提交新的缓存空间的速率越快,RDMA接口适配器可以通过提高当前门限级别,从而提高信用值同步速率,并保持该连接的信用值维持在一个较高数值,保证了发送节点能够以较快的报文发送速率向接收节点发送数据报文。
比如,当前门限级别为二级,对应的同步阈值为350,对应的调整范围值为60~230,RDMA接口适配器从主机同步得到第二信用值为590,并计算得到信用值增量为240。由于该信用值增量大于调整范围值的上限230,RDMA接口适配器在当前门限级别的基础上上调一级,将门限级别设置为一级。
在第三种可能的实施方式中:
步骤506e,当信用值增量大于调整范围值的下限,且小于调整范围值的上限时,保持当前门限级别。
当信用值增在调整范围值之内时,RDMA接口适配器即认为当前的信用值同步速率符合接收节点提交缓存空间以及发送节点消耗信用值的速率,保持当前门限级别。
步骤507,向发送节点发送携带有第二信用值的更新报文,更新报文用于告知发送节点对应连接的最新信用值。
通过上述步骤,RDMA接口适配器同步得到主机侧维护的第二信用值,并调整了信用值同步的速率。
RDMA接口适配器将同步得到的第二信用值添加到更新报文中,并发送至发送节点,发送节点即可根据接收到的更新报文,知悉该连接的最新信用值。
综上所述,本实施例提供的数据同步方法,通过检测RDMA接口适配器维护的第一信用值是否小于当前门限级别对应的同步阈值,并在第一信用值小于该同步阈值时,同步主机中维护的第二信用值;解决了RDMA接口适配器通过PCIE从主机中获取最新的信用值时,数据报文的传输中断的问题;达到了RDMA接口适配器在同步最新的信用值的过程中,发送节点仍旧能够发送数据报文,防止数据报文传输中断的效果。
本实施例还通过在RDMA接口适配器中设置有至少一个门限级别,并根据同步得到的第二信用值与当前门限级别对应的同步阈值,实时调整门限级别,从而实现信用值同步频率的实施更新,保证了当前门限级别符合当前连接消耗信用值以及接收节点提交缓存空间的速率。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量小于调整范围值的下限时,下调门限级别,从而降低RDMA接口适配器同步主机中第二信用值的频率,减少对PCIE的占用率,释放PCIE的带宽。
本实施例还通过根据同步得到的第二信用值和当前门限级别对应的同步阈值计算信用值增量,并将该信用值增量与同步阈值对应的调整范围值进行比较,当信用值增量大于调整范围值的上限时,上调门限级别,从而提高RDMA接口适配器同步主机中第二信用值的频率中,使得RDMA接口适配器中维护的第一信用值能够维持在一个较高数值,保证了发送节点有足够的信用值可以使用。
如图6A所示,在一种可能的应用场景中,接收节点侧包括主机610、RDMA接口适配器620以及PCIE630。其中,RDMA接口适配器620通过PCIE630同步主机610中维护的信用值,且RDMA接口适配器620中包含一个信用控制器,用于执行上述数据同步方法。
作为一种可能的实施方式,如图6B所示,该信用控制器还可以包括信用存储器621、信用同步检测器622和总线接口623。
信用存储器621用于存储从主机610中同步得到的信用值、门限级别以及与门限级别对应的同步阈值和调整范围值。
信用同步检测器622用于检测信用存储器621中维护的信用值是否小于当前门限级别对应的同步阈值,并在信用存储器621中维护的信用值小于当前门限级别对应的同步阈值时,同步主机610维护的信用值,并保存至信用存储器621。
该信用同步检测器622还用于根据从主机610同步得到的信用值和同步阈值计算信用值增量,并根据该信用值增量和同步阈值对应的调整范围值对门限级别进行调整。
总线接口623用于与外设部件互连(英文:Peripheral Component Interconnect;简称:PCI)接口640进行对接,并通过PCIE630同步主机610中维护的信用值,并保存到信用存储器621中。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据同步装置,其特征在于,用于远程直接数据存取RDMA接口适配器中的信用控制器,所述装置包括:
接收模块,用于当接收到发送节点发送的数据报文时,将与所述发送节点对应的第一信用值减1,并向所述发送节点发送携带有所述第一信用值的应答报文;
检测模块,用于检测所述RDMA接口适配器维护的所述第一信用值是否小于当前门限级别对应的同步阈值,所述同步阈值大于0;
同步模块,用于当所述第一信用值小于所述同步阈值时,通过外设部件互连快速通道PCIE同步主机中维护的第二信用值;
获取模块,用于获取与所述同步阈值对应的调整范围值;
计算模块,用于根据所述第二信用值与所述同步阈值计算信用值增量;
调整模块,用于根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的门限级别。
2.根据权利要求1所述的装置,其特征在于,所述RDMA接口适配器中设置有至少两个门限级别,所述门限级别与所述同步阈值呈负相关关系。
3.根据权利要求2所述的装置,其特征在于,所述调整模块,包括:
第一检测单元,用于检测所述信用值增量是否小于所述调整范围值的下限;
第一调整单元,用于当所述信用值增量小于所述调整范围值的下限时,在所述当前门限级别基础上下调预设级数。
4.根据权利要求2所述的装置,其特征在于,所述调整模块,包括:
第二检测单元,用于检测所述信用值增量是否大于所述调整范围值的上限;
第二调整单元,用于当所述信用值增量大于所述调整范围值的上限时,在所述当前门限级别基础上上调预设级数。
5.根据权利要求2所述的装置,其特征在于,所述调整模块,包括:
第三调整单元,用于当所述信用值增量大于所述调整范围值的下限,且小于所述调整范围值的上限时,保持所述当前门限级别。
6.根据权利要求1至5任一所述的装置,其特征在于,所述装置,还包括:
发送模块,用于向所述发送节点发送携带有所述第二信用值的更新报文,所述更新报文用于告知所述发送节点对应连接的最新信用值。
7.一种数据同步方法,其特征在于,用于远程直接数据存取RDMA接口适配器中的信用控制器,所述方法包括:
当接收到发送节点发送的数据报文时,将与所述发送节点对应的第一信用值减1,并向所述发送节点发送携带有所述第一信用值的应答报文;
检测所述RDMA接口适配器维护的所述第一信用值是否小于当前门限级别对应的同步阈值,所述同步阈值大于0;
当所述第一信用值小于所述同步阈值时,通过外设部件互连快速通道PCIE同步主机中维护的第二信用值;
获取与所述同步阈值对应的调整范围值;
根据所述第二信用值与所述同步阈值计算信用值增量;
根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的门限级别。
8.根据权利要求7所述的方法,其特征在于,所述RDMA接口适配器中设置有至少两个门限级别,所述门限级别与所述同步阈值呈负相关关系。
9.根据权利要求8所述的方法,其特征在于,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
检测所述信用值增量是否小于所述调整范围值的下限;
当所述信用值增量小于所述调整范围值的下限时,在所述当前门限级别基础上下调预设级数。
10.根据权利要求8所述的方法,其特征在于,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
检测所述信用值增量是否大于所述调整范围值的上限;
当所述信用值增量大于所述调整范围值的上限时,在所述当前门限级别基础上上调预设级数。
11.根据权利要求8所述的方法,其特征在于,所述根据所述信用值增量与所述调整范围值,调整所述RDMA接口适配器中的所述门限级别,包括:
当所述信用值增量大于所述调整范围值的下限,且小于所述调整范围值的上限时,保持所述当前门限级别。
12.根据权利要求7至11任一所述的方法,其特征在于,所述方法,还包括:
向所述发送节点发送携带有所述第二信用值的更新报文,所述更新报文用于告知所述发送节点对应连接的最新信用值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120811.XA CN104767606B (zh) | 2015-03-19 | 2015-03-19 | 数据同步装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120811.XA CN104767606B (zh) | 2015-03-19 | 2015-03-19 | 数据同步装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104767606A CN104767606A (zh) | 2015-07-08 |
CN104767606B true CN104767606B (zh) | 2018-10-19 |
Family
ID=53649241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510120811.XA Active CN104767606B (zh) | 2015-03-19 | 2015-03-19 | 数据同步装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104767606B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634902B (zh) * | 2018-12-19 | 2020-08-25 | 锐捷网络股份有限公司 | 一种适用于pcie总线的数据传输方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101044717A (zh) * | 2004-10-22 | 2007-09-26 | 思科技术公司 | 以太网上的光纤信道 |
CN102594708A (zh) * | 2012-03-22 | 2012-07-18 | 北京星网锐捷网络技术有限公司 | 流量控制方法及装置、线卡及分布式网络设备 |
CN103150278A (zh) * | 2013-03-05 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于pio和dma混合的网络接口卡描述符提交方法 |
CN103428099A (zh) * | 2013-08-21 | 2013-12-04 | 中国人民解放军国防科学技术大学 | 一种通用多核网络处理器流量控制的方法 |
CN103440202A (zh) * | 2013-08-07 | 2013-12-11 | 华为技术有限公司 | 一种基于rdma的通信方法、系统及通信设备 |
CN104040524A (zh) * | 2012-01-10 | 2014-09-10 | 英特尔公司 | 用于存储服务器的流量控制机制 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818745B2 (en) * | 2003-09-29 | 2010-10-19 | International Business Machines Corporation | Dynamic transaction control within a host transaction processing system |
US8510582B2 (en) * | 2010-07-21 | 2013-08-13 | Advanced Micro Devices, Inc. | Managing current and power in a computing system |
US9378179B2 (en) * | 2012-11-21 | 2016-06-28 | International Business Machines Corporation | RDMA-optimized high-performance distributed cache |
US8982703B2 (en) * | 2012-12-18 | 2015-03-17 | Mellanox Technologies Ltd. | Routing support for lossless data traffic |
-
2015
- 2015-03-19 CN CN201510120811.XA patent/CN104767606B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101044717A (zh) * | 2004-10-22 | 2007-09-26 | 思科技术公司 | 以太网上的光纤信道 |
CN104040524A (zh) * | 2012-01-10 | 2014-09-10 | 英特尔公司 | 用于存储服务器的流量控制机制 |
CN102594708A (zh) * | 2012-03-22 | 2012-07-18 | 北京星网锐捷网络技术有限公司 | 流量控制方法及装置、线卡及分布式网络设备 |
CN103150278A (zh) * | 2013-03-05 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于pio和dma混合的网络接口卡描述符提交方法 |
CN103440202A (zh) * | 2013-08-07 | 2013-12-11 | 华为技术有限公司 | 一种基于rdma的通信方法、系统及通信设备 |
CN103428099A (zh) * | 2013-08-21 | 2013-12-04 | 中国人民解放军国防科学技术大学 | 一种通用多核网络处理器流量控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104767606A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106658049B (zh) | 一种视频播放缓冲方法及系统 | |
EP4270201A3 (en) | Memory controller management techniques | |
CN111008075B (zh) | 一种负载均衡系统、方法、装置、设备及介质 | |
CN104408048B (zh) | 一种缓冲式云存储数据同步的方法和装置 | |
CN102594921A (zh) | 基于内容分发网络的同步文件的访问方法和系统 | |
BR112016006657A2 (pt) | tranferência de controle de um equipamento de usuário de prioridade alta que opera próximo a uma borda de célula | |
EP2674862A1 (en) | Method and device for adjusting memories of virtual machines | |
US8593471B2 (en) | Memory access method and access controller for a memory | |
CN104767606B (zh) | 数据同步装置及方法 | |
CN106547504A (zh) | 流畅度评估方法及装置 | |
CN103346978A (zh) | 一种虚拟机网络带宽公平性和稳定性保障方法 | |
EP2320300A2 (en) | Apparatus and method for scaling dynamic bus clock | |
CN105094977B (zh) | 基于域名调整应用程序占用内存的方法及装置 | |
CN104361496A (zh) | 媒体对象展示的控制方法、装置及媒体对象展示系统 | |
CN109800079B (zh) | 医保系统中的节点调整方法及相关装置 | |
CN111665928A (zh) | 伺服器系统、伺服器装置及伺服器装置的功耗管理方法 | |
CN107707270B (zh) | 一种蓝牙信号增益方法、装置及终端设备 | |
CN113676531B (zh) | 电商流量削峰方法、装置、电子设备及可读存储介质 | |
CN105391758B (zh) | 一种局域网中资源分配的方法和装置 | |
CN103096023B (zh) | 位率控制装置及其方法 | |
DE102021131290A1 (de) | Verfahren zur optimierung drahtloser kommunikation durch dynamische steuerung der anstiegsgeschwindigkeit eines drahtgebundenen kommunikationskanals | |
CN104484376B (zh) | 实时显示数据的方法及装置 | |
CN109660670B (zh) | 自动背光调节方法及系统、终端设备、存储介质 | |
CN106776034A (zh) | 一种任务批处理计算方法、主站计算机及系统 | |
CN102158416A (zh) | 一种基于内存分配的报文处理方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211223 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |