一种高速通行链路传输质量检测方法、装置和系统与流程

文档序号:19483952发布日期:2019-12-21 03:37阅读:150来源:国知局
一种高速通行链路传输质量检测方法、装置和系统与流程

本发明实施例涉及计算机通信技术领域,特别是涉及一种高速通信链路传输质量检测方法、装置、系统和计算机可读存储介质。



背景技术:

现在主流复杂的互联系统中,对数据的传输和处理基本都采用分层协议。能够把实际物理通道的操作(包括错误检测、通道的复位、流量控制等等)与网络链路的管理、同一节点下不同应用对于数据的处理等等操作隔离开来,既能保证各层设计的独立、可移植性、兼容性和并行设计,又能依据需求对于数据进行更好的并行化处理,提高效率。尽管各种协议对于数据处理层次的划分可能有所差别,但是对于物理层而言,数据校验和重传机制是必须有的。在实际数据传输中,高速通信链路很容易因为环境的干扰出现一定程度的误码率,物理的通信链路质量越好,误码率越低,小概率的误码完全可以通过一次或数次的数据重传解决,但是如果出现某条通信链路的不可自动修复的损坏,数据重传将失去作用。

现有技术掉链的流程通常是,先对同一数据传输通道的链路进行分组(极端情况下可能每条链路一个组,但在链路较多的时候为了降低复杂度,可能是若干条链路分为一组),每组有单独的控制,当出现反复的重传次数达到设定的阈值,会对链路进行分组的数据传输的检测,然后将检测出问题的链路组屏蔽(如果每组都有问题,则无法解决),使用剩下的链路组继续传输数据,这样带宽也会降低。

现有技术存在两个问题,一个问题是“出现长时间重传问题后开始检测”这一机制,设定固定的重传次数阈值变得很关键,阈值太大,当链路确实出现问题时,会浪费很多时间在等待重传次数到达阈值;阈值太小,则可能把环境干扰造成的偶发性的误码识别为链路故障,从而浪费更多时间用于检测和判断问题,无论哪种情况,浪费的时间往往都是数据正在密集传输的时间。另一个问题是“检测问题”这一步骤,需要将数据传输完全暂停之后进行,而且需要的时间和链路分组的粒度密切相关,也就是说,为了更准确地检测出问题链路,尽可能少地屏蔽正常链路,就需要更多的检测时间,也就是让数据传输等待的时间越久。

鉴于此,如何提供一种解决上述技术问题的高速通信链路传输质量检测方法、装置、系统和计算机可读存储介质成为本领域技术人员需要解决的问题。



技术实现要素:

本发明实施例的目的是提供一种高速通信链路传输质量检测方法、装置、系统和计算机可读存储介质,在使用过程中不会影响有效数据传输,能够减少在对链路传输质量进行检测过程中给数据传输效率带来的影响。

为解决上述技术问题,本发明实施例提供了一种高速通信链路传输质量检测方法,包括:

检测当前组链路是否处于空闲状态,若是,则对所述当前组链路中的各条链路进行状态检测;

依据与每条所述链路分别对应的检测结果确定出各条所述链路各自的状态类型。

可选的,所述检测当前组链路是否处于空闲状态的过程为:

判断所述当前组链路接收到的数据是否为第一空闲序列,若是,则所述当前组链路处于空闲状态。

可选的,所述对所述当前组链路中的各条链路进行状态检测的过程为:

按照预设顺序从数据库中预存的各组检测数据中获取当前检测数据;

采用所述当前检测数据对所述当前组链路中的各条链路进行状态检测;

记录与所述当前检测数据对应的各条所述链路各自的检测结果;

判断当前检测次数是否达到预设检测次数,若是,则结束检测,若否,则获取下一个检测数据,并将下一个检测数据作为所述当前检测数据返回执行所述采用所述当前检测数据对所述当前组链路中的各条链路进行状态检测的步骤。

可选的,所述记录与所述当前检测数据对应的各条所述链路各自的检测结果的过程为:

根据与所述当前检测数据对应的各条所述链路各自的检测结果,对与每个所述链路各自对应的状态寄存器上相应的值进行修改,以采用所述状态寄存器记录相应链路在所述当前检测数据检测下的检测结果。

可选的,所述依据与每条所述链路分别对应的检测结果确定出各条所述链路各自的状态类型的过程为:

若所述链路的各个检测结果均为正确,则所述链路的状态类型为正常;

若所述链路的各个检测结果均为错误,则所述链路的状态类型为无效;

若所述链路的各个检测结果中最新检测结果为正确、最新n个检测结果中至少一个检测结果为错误,则所述链路的状态类型为较好;

若所述链路的各个检测结果中最新检测结果为错误、最新n个检测结果中至少一个检测结果为正确,则所述链路的状态类型为较差;所述n为所述预设检测次数。

可选的,还包括:

依据待传输数据的重传次数选择相应状态类型的链路对所述待传输数据进行传输。

可选的,所述依据待传输数据的重传次数选择相应状态类型的链路对所述待传输数据进行传输的过程为:

当所述待传输数据的重传次数为0时,采用状态类型为正常、较好和较差的各个链路对所述待传输数据进行传输;

当所述待传输数据的重传次数大于1且小于预设值时,采用状态类型为正常和较好的各个链路对所述待传输数据进行传输;

当所述待传输数据的重传次数大于所述预设值时,采用状态类型为正常的各个链路对所述待传输数据进行传输。

本发明实施例还相应的提供了一种高速通信链路传输质量检测装置,包括:

第一检测模块,用于检测当前组链路是否处于空闲状态,若是,则触发第二检测模块;

所述第二检测模块,用于对所述当前组链路中的各条链路进行状态检测;

确定模块,用于依据与每条所述链路分别对应的检测结果确定出各条所述链路各自的状态类型。

本发明实施例还提供了一种高速通信链路传输质量检测系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述所述高速通信链路传输质量检测方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述高速通信链路传输质量检测方法的步骤。

本发明实施例提供了一种高速通行链路传输质量检测方法、装置、系统及计算机可读存储介质,包括:检测当前组链路是否处于空闲状态,若是,则对当前组链路中的各条链路进行状态检测;依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型。可见,本实施例中是在当前组链路处于空闲状态时对相应的各个链路进行状态检测的,并且得到与每条链路各自对应的检测结果,根据各个检测结果就能够确定出相应链路的状态类型;本申请在使用过程中不会影响有效数据传输,能够减少在对链路传输质量进行检测过程中给数据传输效率带来的影响。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种高速通信链路传输质量检测方法的流程示意图;

图2为本发明实施例提供的一种高速通信链路传输质量检测装置的结构示意图。

具体实施方式

本发明实施例提供了一种高速通信链路传输质量检测方法、装置、系统和计算机可读存储介质,在使用过程中不会影响有效数据传输,能够减少在对链路传输质量进行检测过程中给数据传输效率带来的影响。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参照图1,图1为本发明实施例提供的一种高速通信链路传输质量检测方法的流程示意图。该方法包括:

s110:检测当前组链路是否处于空闲状态,若是,则进入下一步;

需要说明的是,本实施例中可以通过对每组链路是否处于空闲状态进行检测,若当前的这一组链路(也即当前组链路)处于空闲状态,则进入下一步对该当前组链路的质量进行状态检测。具体的,可以在当前组链路接收到第一空闲序列时,确定出该当前组链路处于空闲状态,当然,还可以在当前组链路接收到第二空闲序列时确定出当前组链路结束空闲状态,之后进行有效数据的传输。

s120:对当前组链路中的各条链路进行状态检测;

具体的,可以通过本实施例中可以在检测到当前组链路接收到第一空闲序列后,通过数据库中预先存储的检测数据对当前组链路中的各条链路进行状态检测,其中,当前组链路的发送端和接收端可以共享数据库,并且为了提高检测准确率,发送端可以从数据库中获取检测数据,并将该检测数据的原始数据和按位取反后的数据依次通过该当前组链路发送至其接收端,接收端在接收到这两组数据后根据数据库中所存储的该检测数据对接收到的这两组数据进行验证,以确定各条链路的检测结果,具体可以通过多个检测数据对当前组链路进行多轮检测。

进一步的,上述s120中对当前组链路中的各条链路进行状态检测的过程,具体可以为:

按照预设顺序从数据库中预存的各组检测数据中获取当前检测数据;

采用当前检测数据对当前组链路中的各条链路进行状态检测;

记录与当前检测数据对应的各条链路各自的检测结果;

判断当前检测次数是否达到预设检测次数,若是,则结束检测,若否,则获取下一个检测数据,并将下一个检测数据作为当前检测数据返回执行采用当前检测数据对当前组链路中的各条链路进行状态检测的步骤。

可以理解的是,数据库中可以预先存储多个检测数据,并且按照预设顺序进行排列,从而可以在对当前组链路进行检测时,从数据库中按照预设顺序依次获取相应的检测数据,对于当前检测数据可以将其由当前组链路的发送端通过该当前组链路传输至接收端,具体可以按照上述提供的方法依次发送两组数据,一组是当前检测数据的原始数据,一组是将当前检测数据按位取反后的数据,然后当前组链路的接收端接收到相应的数据信息后,根据数据库中该当前检测数据对接收到的两组数据进行验证,并记录本次检测完成后该当前组链路中与每条链路各自对应的检测结果,并且在记录完成后判断当前检测次数是否达到了预设检测次数(例如n次),若达到了,则结束检测,每条链路对应n个检测结果,若没有达到则继续获取下一个检测数据进行下一轮检测,直至完成n轮检测。

更进一步的,上述记录与当前检测数据对应的各条链路各自的检测结果的过程具体可以为:

根据与当前检测数据对应的各条链路各自的检测结果,对与每个链路各自对应的状态寄存器上相应的值进行修改,以采用状态寄存器记录相应链路在当前检测数据检测下的检测结果。

需要说明的是,本实施例中可以预先为每条链路分配一个状态寄存器,并且在每轮检测完成后,根据该轮检测中每条链路的检测结果对每条链路的状态寄存器中相应的值进行修改,其中,状态寄存器可以为n位状态寄存器,每轮检测完成后,就对状态寄存器中相应的位进行修改。

具体的,例如n为10,也即可以对当前组链路中的各条链路进行10轮检测,并且预先为每条链路分配一个10位的状态寄存器,这样可以记录10轮的测试结果。对于状态寄存器的每一位,可以用“1”代表测试正确,用“0”代表错误,每条链路的状态寄存器默认的初始值可以设置为全“1”,并且每轮测试结束后,有了新的检测结果时,则对每条链路对应的状态寄存器进行右移,然后将新的检测结果放入最高位。例如,某条链路初始为11_1111_1111,新一轮检测结果为错误,则变为01_1111_1111,下一轮检测结果为正确,则变为10_1111_1111,依次类推,实现通过状态寄存器来记录相应链路的n轮检测的检测结果。

s130:依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型。

具体的,在确定出每条链路的各个检测结果后,可以根据各个检测结果来进一步确定相应链路最终的状态类型,其中状态类型的不同表示不同的质量程度,例如,本实施例中可以将链路的状态类型分为四类,分别为“正常”、“较好”、“较差”和“异常”,以便后续在进行有效数据传输时采用不同状态类型的链路对有效数据进行传输。

进一步的,上述s130中依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型的过程,具体可以为:

若链路的各个检测结果均为正确,则链路的状态类型为正常;

若链路的各个检测结果均为错误,则链路的状态类型为无效;

若链路的各个检测结果中最新检测结果为正确、最新n个检测结果中至少一个检测结果为错误,则链路的状态类型为较好;

若链路的各个检测结果中最新检测结果为错误、最新n个检测结果中至少一个检测结果为正确,则链路的状态类型为较差;n为预设检测次数。

具体的,对于每一条链路均采用上述方法确定其状态类型,也即当与链路对应的状态寄存器上各位的值均为1时,则表示该链路在各轮检测中的检测结果均为正确,该链路的状态类型为正常,没有出现质量问题;当与链路对应的状态寄存器上各位的值均为0时,则表示该链路在各轮检测中的检测结果均为错误,该链路的状态类型为无效,也即该链路完全故障。

另外,在实际应用中由于不同轮次的检测结果反映的质量的可参考价值是不同的,越靠近当前时间,也即轮次越大的结果用于判断链路质量的参考价值应该越高,例如,两条链路进行了四轮测试,第一条前两次正确,后两次错误,第二条前两次错误,后两次正确,进行比较的话第二条链路质量应该应该更好。所以,本实施例中可以当链路的各个检测结果中最新检测结果为正确、最新n个检测结果中至少一个检测结果为错误,则认为链路的状态类型为较好;当链路的各个检测结果中最新检测结果为错误、最新n个检测结果中至少一个检测结果为正确,则链路的状态类型为较差。具体的,可以根据实际需要设置一个阈值,比如为2n-1(2n-1表示n位的2进制数,最高位是1,其他位全为0),大于2n-1且小于2n-1(2n-1表示n位的2进制数全为1)说明链路质量较好(实际对应的就是最近n轮检测的检测结果中至少有一次错误,但是最新一轮的检测结果是正确);小于2n-1且大于0,则表示链路的质量较差,也即状态类型为较差。其中,本实施例中的阈值是可以根据实际需要进行调整,比如如果将该阈值提高为2n-1+2n-2,则说明判断质量较好的标准为最新两轮的测试结果都是正确。

还需要说明的是,本实施例中还可以为每组链路设置一个数量寄存器,用于记录每种状态类型的链路的数量。另外,本实施例中还可以在需要进行有效数据传输时从当前组链路的发送端发送第二空闲序列,当前组链路的接收端在接收到该第二空闲序列后,可以知道检测结束,并且之后接收到的数据为有效数据,也即,在接收端接收到第二空闲序列后,不论是否达到预设监测次数均结束检测,以便进行有效数据的传输,保证数据传输效率和带宽。

进一步的,该方法还包括:

依据待传输数据的重传次数选择相应状态类型的链路对待传输数据进行传输。

需要说明的是,为了更好的利用各个状态类型不同的链路,以进一步保证数据传输的效率,可以根据待传输数据的重传次数来选择相应的状态类型的链路对该待传输数据进行传输,其中,在对数据进行传输时记录每个数据的重传次数,每个待传输数据的初始重传次数均为0,若一次没有传输成功,则在当前重传次数上加一,从而更新与其对应的重传次数。

具体的,上述依据待传输数据的重传次数选择相应状态类型的链路对待传输数据进行传输的过程为:

当待传输数据的重传次数为0时,采用状态类型为正常、较好和较差的各个链路对待传输数据进行传输;

当待传输数据的重传次数大于1且小于预设值时,采用状态类型为正常和较好的各个链路对待传输数据进行传输;

当待传输数据的重传次数大于预设值时,采用状态类型为正常的各个链路对待传输数据进行传输。

需要说明的是,本实施例中在重传对于当前数据传输影响不大或者当前重传较少时,可以保留更多不同状态类型(也即质量等级)的链路用于后续数据的传输,具体的,对于重传次数为0的待传输数据可以采用正常、较好和较差的各个链路对其进行传输,对于重传次数较大(例如大于1小于5)时,则可以采用采用正常和较好的各个链路对其进行传输,对于重传次数很大(例如大于5)的待传输数据,可以采用正常的链路对其进行传输,从而保证数据的传输质量和传输效率。

本发明实施例提供了一种高速通行链路传输质量检测方法,包括:检测当前组链路是否处于空闲状态,若是,则对当前组链路中的各条链路进行状态检测;依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型。可见,本实施例中是在当前组链路处于空闲状态时对相应的各个链路进行状态检测的,并且得到与每条链路各自对应的检测结果,根据各个检测结果就能够确定出相应链路的状态类型;本申请在使用过程中不会影响有效数据传输,能够减少在对链路传输质量进行检测过程中给数据传输效率带来的影响。

在上述实施例的基础上,本发明实施例还相应的提供了一种高速通信链路传输质量检测装置,具体请参照图2,该装置包括:

第一检测模块21,用于检测当前组链路是否处于空闲状态,若是,则触发第二检测模块;

第二检测模块22,用于对当前组链路中的各条链路进行状态检测;

确定模块23,用于依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型。

进一步的,第一检测模块21具体用于:

判断当前组链路接收到的数据是否为第一空闲序列,若是,则当前组链路处于空闲状态。

更进一步的,第一检测模块21包括:

获取单元,用于按照预设顺序从数据库中预存的各组检测数据中获取当前检测数据;

检测单元,用于采用当前检测数据对当前组链路中的各条链路进行状态检测;

记录单元,用于记录与当前检测数据对应的各条链路各自的检测结果;

判断单元,用于判断当前检测次数是否达到预设检测次数,若是,则结束检测,若否,则触发获取单元,以便获取下一个检测数据,并将下一个检测数据作为当前检测数据返回执行采用当前检测数据对当前组链路中的各条链路进行状态检测的步骤。

需要说明的是,本实施例中所提供的高速通信链路传输质量检测装置具有上述实施例中所提供的高速通信链路传输质量检测方法相同的有益效果,并且对于本实施例中所涉及到的高速通信链路传输质量检测方法的具体介绍请参照上述实施例,本申请在此不再赘述。

在上述实施例的基础上,本发明实施例还提供了一种高速通信链路传输质量检测系统,该系统包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述高速通信链路传输质量检测方法的步骤。

例如,本实施例中的处理器用于实现检测当前组链路是否处于空闲状态,若是,则对当前组链路中的各条链路进行状态检测;依据与每条链路分别对应的检测结果确定出各条链路各自的状态类型。

在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述高速通信链路传输质量检测方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1