掌桥专利:专业的专利平台
掌桥专利
首页

一种碎片化数据冗余备份的方法及装置

文献发布时间:2024-04-18 19:58:53


一种碎片化数据冗余备份的方法及装置

技术领域

本公开涉及互联网技术领域,具体涉及通信、物联网技术领域,尤其涉及一种碎片化数据冗余备份的方法及装置。

背景技术

本公开在通信领域、物联网技术领域,是基于碎片化数据通信方法上衍生的。在碎片化数据通信的过程中,由于将数据帧分割为多个碎片块,在碎片块传输的发送时会产生部分信息数据(碎片块)被干扰,误码等行为。尤其是在分割多个碎片块后,单独的碎片块虽然相对于一整个数据帧的传输效率更高,但是多个碎片块所共同面临的传输失误率也会增加。

在碎片化数据传输独有的优势,其可以对多个碎片进行随机乱序发送,但是往往会由于多种因素导致碎片块在传输的过程中降低其可靠性。例如由于信息数据(碎片块)的不完整性、传输时间的不同、传输方式的差异(主要是转发等传输行为)、传输途径的多样性等,均会增加碎片化数据在传输过程中出错率,进一步影响了数据帧传输的可靠性。

综上所述,在当前的数据传输的过程中,为实现对数据帧的高效可靠的传输,需要利用一种数据冗余备份的方法,以保证在数据帧传输的过程中减少其因碎片化传输方法造成的失误,进一步提高数据帧在传输过程中的可靠性。

发明内容

针对现有技术的不足,本公开在在碎片化数据通信的过程中,由于将数据帧分割为多个碎片块,在碎片块传输时会增加信息数据的传输出错率。因此,本公开旨在提供一种碎片化数据冗余备份的方法和装置,

为了实现上述目的,本公开的第一方面提供了一种碎片化数据冗余备份的方法,应用于碎片数据通信方法中,所述方法包括:将待传输数据帧分割为多个碎片块,其中所述碎片块至少包括一个控制块和至少一个数据块;基于至少一种发送操作方式,将所述控制块和所述数据块在所述发送操作方式中进行至少一次发送处理,其中所述控制块的发送次数多于所述数据块的发送次数。

在一些实施例中,所述方法包括:在所述碎片块到达至接收节点后,对所述碎片块进行校验,并依据所述碎片块的类型进行存储,以及统计所述碎片块接收次数,其中所述接收节点为能够接收所述碎片块的通信节点;响应于所述控住块校验通过后,将所述控制块存储于控制块存储队列中;响应于所述数据块校验通过后,匹配与所述数据块来源于同一所述待传输数据帧的所述控制块,将所述数据块存储于所述控制块对应的数据块存储队列中。

在一些实施例中,所述方法还包括:获取所述碎片块的接收次数;响应于所述碎片块的接收次数到达最大接收阈值时,调节所述碎片块的发送强度和覆盖率,至少包括:通过设置所述控制块或所述数据块的最大发送次数,以调节所述碎片块的发送强度和覆盖率。

在一些实施例中,所述碎片块的发送操作方式至少包括:对所述碎片块通过不同通信信道进行发送处理;对所述碎片块通过不同发送端口进行发送处理;对所述碎片块通过不同通信节点进行转发处理。

在一些实施例中,所述对所述碎片块通过不同通信信道进行发送处理包括:监听所述通信信道的空闲资源,确定所述空闲资源中的空闲信道和/或空闲频点;根据所述空闲信道的可传输长度,匹配所述可传输长度的碎片块;在同一时间或不同时间区间内,依据所述空闲信道和/或所述空闲频点,对所述可传输长度的碎片块进行至少一次发送操作,包括:基于所述通信信道的空闲信道,对所述可传输长度的碎片块块通过不同的所述空闲信道进行至少一次发送处理;或基于所述通信信道的空闲信道和空闲频点,对所述可传输长度的碎片块块通过不同的所述空闲频点进行至少一次发送处理。

在一些实施例中,所述对所述碎片块通过不同发送端口进行发送处理,包括:获取所述通信节点的发送端口,其中所述发送端口包括:软件、硬件、物理、逻辑端口;响应于所述碎片块通过相同端口进行发送时,则将所述碎片块通过相同的全部或部分端口进行至少一个发送处理;响应于所述碎片块通过不同介质端口进行发送时,则将所述碎片块通过不同介质端口进行至少一个发送处理;响应于所述碎片块通过不同速率端口进行发送时,则将所述碎片块可以通过速率端口进行至少一个发送处理。

在一些实施例中,所述对所述碎片块通过不同通信节点进行转发处理,包括:确定所述至少一个参与转发的转发节点;响应于所述碎片块被转发节点接收后,对所述碎片块进行至少一次发送处理。

在一些实施例中,所述方法还包括:设置所述碎片块的最大接收阈值;获取所述转发节点中所述碎片块的接收次数;响应于所述碎片块的接收次数大于最大阈值时,则对所述碎片块停止发送处理。

在一些实施例中,所述方法还包括:获取所述碎片块的块识别码、数据内容、校验码等字节;根据数据信息的预设规则对所述碎片块的块识别码、数据内容、校验码等字节进行取值;根据转发节点的预设规则对所述转发节点进行取值;根据相同取值的所述碎片块通过相同取值的转发节点进行发送处理,以完成所述碎片块的多路径发送。

在一些实施例中,在所述控制块和所述数据块中,所述数据块头或所述控制块头均至少包括:块识别码;在所述碎片块到达目的地点后,获取任一所述碎片块的块识别码;响应于所述块识别码为1-n的数值时,则确定所述碎片块的类型为所述数据块;响应于所述识别码为大于n的数值时,则确定所述碎片块的类型为所述控制块。

在本公开的第二方面提供了一种碎片化数据冗余备份的装置,所述装置应用于第一方面中任一种碎片化数据冗余备份的方法,该装置至少包括:分割单元,被配置为将待传输数据帧分割为多个碎片块,其中所述碎片块至少包括一个控制块和至少一个数据块;发送单元,被配置为基于至少一种发送操作方式,将所述控制块和所述数据块在所述发送操作方式中进行至少一次发送,其中所述控制块的发送次数多于所述数据块的发送次数。

在本公开的第三方面提供了一种通信设备,包括:用于存储处理器可执行指令的存储器;处理器,与所述存储器连接;其中,所述处理器被配置为执行第一方面任意可能实现的方法。

在本公开的第四方面提供了一种通信设备,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行如第一方面任意可能实现的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过本公开的方法,基于对碎片块数据进行传输的过程中,在对碎片块数据进行发送或转发时,通过多种方式对碎片块进行重复发送,以保证碎片块在不局限于时间和路径的传输过程中提高碎片块传输的可靠性。

附图说明

以下将结合附图和优选实施例来对本公开进行进一步详细描述,但是本领域技术人员将领会的是,这些附图仅是出于解释优选实施例的目的而绘制的,并且因此不应当作为对本公开范围的限制。

图1是根据一示例性实施例示出的碎片块格式的示意图;

图2是根据一示例性实施例示出的控制块格式和数据块格式的示意图;

图3是根据一示例性实施例示出的控制头组合方式的示意图;

图4是根据一示例性实施例示出的控制头(A类)的示意图;

图5是根据一示例性实施例示出的数据块头的示意图;

图6是根据一示例性实施例示出的一种碎片化数据冗余备份的方法的流程示意图;

图7是根据一示例性实施例示出的数据块字节的示意图;

图8是根据一示例性实施例示出的数据块字节的示意图;

图9是本公开实施例提供的一种通信装置的结构示意图;

图10是本公开实施例提供的一种通信设备的结构示意图。

具体实施方式

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

在本公开中,主要是基于在对碎片化数据通信方法中产生的问题,提供的一种碎片化数据冗余备份的方法和装置。

那么在本公开中,一种碎片化数据通信的方法,其主要是将待传输的每一个数据帧在传输前按照一定规则进行碎片化分割,将该数据帧分割至少一个带有数据信息的碎片块,进行碎片化传输,传输到目的地后再进行数据帧的拼接还原。

如图1所示的碎片块格式示意图,每一个待传输数据帧可以被分割为一个控制块和至少一个数据块,其中该数据块可以为若干个长度相同或不同的数据块。为了描述方便,将数据帧分割成的控制块和数据块统称为碎片块。

在该方法的网络通信的过程中,控制块用于记录和传输数据帧的摘要信息和特征信息;数据块用于记录和待传输数据帧的数据内容。

如图2所示的控制块格式和数据块格式的示意图,该方法中的控制块包含控制块头、数据帧摘要信息、控制块校验码;数据块包含数据块头、数据内容、数据块校验码。

其中,该方法控制块中的数据帧摘要信息用于表征整个被分割的数据帧的特征和唯一性。该数据帧摘要信息可以是数据帧的源地址、目的地址、源端口、目的端口、数据命令、数据类型、数据帧序号、数据帧时间、数据帧长度、数据帧识别码、数据帧被分割的数据块总数、数据块中数据内容的长度等各种表征数据帧的特征信息的单个、和/或其任意组合,以及各种数据帧特征信息的压缩、扩展、加密、校验、哈希等各种数据变换的和/或其任意组合。

其中,该方法控制块中的控制块校验码用于对控制块的控制块头部信息和数据帧摘要信息进行完整性正确性校验。

进一步的,在该方法中,如图3所示的控制头组合方式的示意图,控制块头部由如下几种组合方式:

A类、块识别码+分割特征码;

B类、块识别码+传输控制识别码;

C类、块识别码+分割特征码+传输控制识别码。

这里为了进一步的保证数据帧识别码(控制块校验码)能够唯一表征待通信传输的数据帧的唯一性。该方法的待传输数据帧在进行碎片化分割时,在控制块头部(A类)插入分割特征码,该分割特征码用于表征数据帧在进行碎片化分割时的特性信息。如图4所示的控制头部(A类)的示意图,该分割特征码包含碎片化分割的通信节点信息、碎片化分割的时间信息的和/或组合。

其中,分割节点标识,即通信节点信息,用于表征通信网络中该通信节点的唯一性,可以为通信节点ID、通信节点通信地址、IP地址、MAC地址等。为了方便描述该方法将碎片化分割的通信节点信息简称为分割节点标识。

其中,碎片化分割时间用于唯一表征数据帧进行碎片化分割的时刻,该时间的精度可以根据系统资源开销、通信可靠性要求、允许的重复率要求、数据帧分割传输的频繁程度选择秒级、毫秒级、微妙级、甚至纳秒级时间精度。为了方便描述该方法将碎片化分割的时间信息简称为碎片化分割时间。

为了进一步的保证数据帧识别码(控制块校验码)能够唯一表征待通信传输的数据帧的唯一性,通信网络中的所有通信节点均采用相同的时间精度。进一步的通信网络中的所有通信节点均采用相同的同步时间记录分割时间。

其中,如图3所示的控制头组合方式的示意图,控制块头的传输控制识别码用于标识被分割后的控制块与若干数据块的传输方式。其传输方式可任意包含顺序传输、乱序传输、冗余传输、冗余类型、是否加密、加密类型、是否跳频通信、是否扩频通信、碎片块发送间隔、碎片块传输优先级、碎片块传输可靠等级、碎片块传输的信道序号等。

在该方法中的传输控制识别码的碎片块传输优先级用于表示该数据帧碎片块的传输优先级别。待传输数据帧被分割后,高优先级别数据帧的控制块和数据块优先传输,低优先级别数据帧的控制块和数据块延后传输。

基于该方法的乱序传输特性,高优先级的碎片块随时可以优先于低优先级的碎片块的传输,因此不存在高优先级抢占了低优先级数据帧碎片块的通信资源而导致低优先级碎片块传输失败丢失的问题。因此,通过该方法的方法既保证了高优先级碎片块的传输效率降低了传输延迟,又保证了低优先级数据传输的可靠性。

该方法的传输控制识别码的碎片块传输可靠性级别用于表示该数据帧允许丢帧、误码的容忍度。待传输数据帧被分割后,高可靠性级别的控制块和数据块的转发机制采用多次发送冗余、多节点冗余、多路径冗余的方式进行,保证数据帧不丢帧不误码,低可靠性级别的控制块和数据块的转发机制采用普通方式或少冗余的方式进行。

进一步如图2所示的控制块格式和数据块格式的示意图,该方法中数据块包含数据块头、数据内容、数据块校验码。

其中数据内容为被分割的数据帧的数据,数据块中不包含数据内容的长度。

其中,该方法数据块中的数据块校验码用于对数据块的数据块头部信息和数据内容信息进行完整性正确性校验。

其中数据块校验码的校验方法在控制块的数据帧摘要信息中记录。

如图5所示的数据块头的示意图,其中,该方法的数据块头包含块识别码和数据帧识别码。

在本公开中,控制块校验码包含在控制块中,一方面用于对控制块进行校验;同时由于控制块中包含了数据帧的各种摘要信息,如数据帧的长度、数据帧识别码、数据帧源目的地址端口、数据帧的各种特征信息、摘要信息的和、或组合,因此另一方面控制块校验码还可以标识识别数据帧的唯一性和同源性。进一步的,控制块校验码等同于数据帧识别码,均可以用来标识碎片块属于那一个数据帧。

控制块中还可以包含数据帧分割时的时间时刻信息、分割的设备信息等,相同的数据帧在不同的设备上分割、不同时刻分割时,控制块计算出的校验码也不相同,因此可以保证数据帧分割的位置、时刻的唯一性。

数据块中的块头,包含数据帧识别码(即控制块校验码),通过它来将分割的同源的碎片块拼接起来。例如,当一个待传输数据帧进行数据碎片化传输时,具体为如下步骤:

步骤1:数据帧在分割前,先提取表征数据帧特征的关键信息(如长度、地址、端口等)和/或计算数据帧的摘要信息(如数据帧识别码、MD5码等),然后将这些关键信息和摘要信息填入到控制块中,第三步(可选)在控制块中填入分割设备信息(如设备ID等)、和/或分割的时刻信息,随后再进行控制块的校验计算,得到控制块校验码,即数据帧识别码。

步骤2:得到控制块校验码后,将该控制块校验码填写到每个分割后的数据块中,用于同源数据块的识别和匹配,以及后续的拼接。

目标节点

在该方法中,块识别码可以用于识别某个分割块时控制块还是数据块以及第几个数据块。

在该方法的描述中数据帧识别码即为控制块校验码,用于表征待通信传输的数据帧的唯一性。具有相同数据帧识别码(即控制块校验码)的数据块属于同一个被分割的数据帧。该方法利用该数据帧识别码(即控制块校验码)进行数据帧的识别、传输、拼接。

基于上述数据碎片化的组成结构的基础上,已经详细定义了控制块和数据块的组成和作用,并进一步在碎片化数据进行传输时,可以利用控制块和数据块进行高效传输。

在本公开中的第一方面,提供了一种碎片化数据冗余备份的方法,在一些实施例中,如图6,一种碎片化数据冗余备份的方法,包括:

S610:将待传输数据帧分割为多个碎片块,其中所述碎片块至少包括一个控制块和至少一个数据块;

S620:基于至少一种发送操作方式,将所述控制块和所述数据块在所述发送操作方式中进行至少一次发送处理,其中所述控制块的发送次数多于所述数据块的发送次数;

在本公开中基于所述碎片块的发送操作方式,对所述碎片块可以进行一种发送操作方式或结合多种发送操作方式的重复发送处理,其中所述重复发送处理为对所述碎片块进行至少一次发送处理。

将数据帧分割的碎片块在发送时重复发送多次,其中本公开的控制块的发送次数多于数据块的发送次数,优选的控制块至少发送两次,数据块至少发送一次。

为了提高碎片化数据通信的效率可靠性,在本公开在且仅在数据帧的源节点进行数据帧分割后,将控制块先于数据块进行发送,且控制块的发送次数多于数据块发送次数,让数据帧的控制块在通信网络中优先传输,进一步还需要利用冗余发送次数提升控制块的传输可靠性,保证后续数据块传输时,能够方便的查找到控制块及存储空间。在本公开中默认定义数据帧源节点的数据块发送次数为一次,控制块发送次数比数据块次数多一次,即控制块发送次数为两次。

在本公开中,通信节点需要根据控制块的相关信息对数据块进行解析,以及共同完成碎片块的拼接还原处理。但是由于数据帧只分割我一个控制块,因此为保证控制块的更低的传输失误率,设置控制块的发送次数多于所述数据块的发送次数。本公开是基于碎片化数据通信方法的通信网络中,采用将碎片块冗余备份的方法,并结合多种发送操作方式下的冗余备份方法,实现数据帧的高可靠性传输。

因此,可以保证在碎片块进行传输时,可以通过至少一种发送操作方式下冗余备份方法的结合,提升数据帧的传输的可靠性。在一些实施例中,所述方法包括:在所述碎片块到达至接收节点后,对所述碎片块进行校验,并依据所述碎片块的类型进行存储,以及统计所述碎片块接收次数,其中所述接收节点为能够接收所述碎片块的通信节点;

响应于所述控住块校验通过后,将所述控制块存储于控制块存储队列中;

响应于所述数据块校验通过后,匹配与所述数据块来源于同一所述待传输数据帧的所述控制块,将所述数据块存储于所述控制块对应的数据块存储队列中。

在本公开所涉及的通信节点处,针对每个被分割的数据帧都包含有一个收发统计模块A,该收发统计模块A包含:

1、碎片块发送标志队列TxFg,用于记录每个碎片块是否被发送。

2、碎片块接收标志队列RxFg,用于记录每个碎片块是否被接收。

在本公开中,默认的TxFg、RxFg被初始化为0。

在本公开中,通信节点将碎片块发送出去后,将对应的碎片块发送标志置1。一旦碎片块发送标志队列全部为1时,则表示该数据帧的全部碎片块被发送出去。

在本公开中,通信节点接收到经过校验正确的碎片块后,将对应的碎片块接收标志置1。一旦碎片块接收标志队列全部为1时,则表示该数据帧的全部碎片块被接收到,数据帧的碎片块接收完整。

基于收发统计模块A进一步的在本公开的数据帧源节点在进行分割时,每分割出一个碎片块就将收发统计模块A的碎片接收标志队列置1,数据帧被分割完毕后,相对应的碎片块接收标志全部为1。

基于收发统计模块A进一步的在本公开将控制块发送标志采用0-n进行记录,以记录数据帧控制块在前述的提高控制块发送强度的发送次数。

基于收发统计模块A进一步的在本公开的收发统计模块包含两个计数:(命名为:收发统计模块B):

1、数据帧发送计数TxCnt,用于记录数据帧被发送的次数,每发一次数据帧,计数+1。

2、数据帧接收计数RxCnt,用于记录数据帧被接收的次数,每收到一次数据帧,计数+1。

进一步的,数据帧发送计数/数据帧接收计数的+1计数方式分为:

1、非完整性计数:不考虑碎片块的发送、接收的完整性,只要进行了碎片块发送、接收则将数据帧发送计数、数据帧接收计数+1。

2、完整性计数:只有当数据帧的碎片块完整的发送出去、完整的接收到才进行+1计数。

基于收发统计模块A进一步的本发明不同通信节点对收发计数方式的优选为:

1、数据帧源节点进行碎片块发送时,优选采用完整性发送计数方式进行数据帧发送计数。

2、数据块转发节点进行碎片块发送时,优选采用非完整性发送计数方式进行数据帧发送计数。

3、数据块接收节点进行碎片块接收时,优选采用非完整性接收计数方式进行数据帧接收计数。

4、数据帧目的节点进行碎片块接收时,优选采用完整性接收计数方式进行数据帧接收计数。

基于收发统计模块A进一步的本发明的收发统计模块包含碎片块发送时间、接收时间:(命名为:收发统计模块C)

1、数据帧发送时间TxTime,用于记录数据帧碎片块发送的时刻。

2、数据帧接收时间RxTime,用于记录数据帧碎片块接收的时刻。

进一步的数据帧发送时间/数据帧接收时间的记录方式分为:

1、起始时刻记录:该方式是指在数据帧控制块发送、接收时记录时间。

2、结束时刻记录:该方式是指在数据帧最后一个数据块发送、接收时记录时间。

基于收发统计模块A进一步的本发明的收发统计模块包含两种发送、接收标志队列:(命名为:收发统计模块D):

1、碎片块汇总发送标志队列TxFg_Sum,在数据帧碎片块多次发送过程中,用于记录每个碎片块是否被发送过。

2、碎片块当前发送标志队列TxFg_Cur,在数帧碎片块每一次的发送过程中,用于记录每个碎片块是否被发送。

3、碎片块汇总接收标志队列RxFg_Sum,在数据帧碎片块多次接收过程中,用于记录每个碎片块是否被接收过;

4、碎片块当前接收标志队列RxFg_Cur,在数据帧碎片块每一次接收过程中,用于记录每个碎片块是否被接收。

在本公开中,默认的TxFg_Sum、TxFg_Cur、RxFg_Sum、RxFg_Cur被初始化为0。

通信节点将碎片块发送出去后,将对应的碎片块发送标志置1。一旦碎片块发送标志队列全部为1时,则表示该数据帧的全部碎片块被发送出去。

通信节点接收到经过校验正确的碎片块后,将对应的碎片块接收标志置1;一旦碎片块接收标志队列全部为1时,则表示该数据帧的全部碎片块被接收到,数据帧的碎片块接收完整。

在本公开的一实施例中,TxFg_Sum仅在第一次发送控制块前初始化为0,后续每发送一个碎片块将对应发送标志置1。

TxFg_Cur在每次发送控制块前初始化为0,用于记录每一次的碎片块的发送。

RxFg_Sum仅在第一次收到控制块时初始化为0,后续每收到一个碎片块将对应接收标志置1。

RxFg_Cur在每次接收控制块是初始化为0,用于记录每一次的碎片块的接收。

进一步的本公开的收发统计模块中的碎片块发送标志队列、碎片块接收标志队列、碎片块汇总发送标志队列、碎片块汇当前送标志队列、碎片块汇总接收标志队列、碎片块当前接收标志队列除了可以采用0和1的来记录碎片块是否发送、接收,还可以采用0-n的计数来记录碎片块的发送、接收次数。

在一些实施例中,所述方法还包括:获取所述碎片块被接收的接收次数;

响应于所述碎片块的接收次数到达最大接收阈值时,调节所述碎片块的发送强度和覆盖率,包括:通过设置所述控制块或所述数据块的最大发送次数,以调节所述碎片块的发送强度和覆盖率。

在本公开中,当所述接收次数达到所述最大接收阈值后,则按照预设设置降低所述最大发送阈值,或增大所述发送次数,以调节碎片块的发送强度和覆盖率。

进一步的本公开的具有一个碎片块最大发送次数Tx_Max,用于调节碎片块的发送强度和覆盖率。在高可靠通信过程中,可以将每个碎片块发送多次,通信节点在进行碎片块发送时当发送次数达到最大发送次数时,则停止该碎片块发送,继续发送下一个碎片块。

进一步的本公开的碎片块最大发送次数包含控制块最大发送次数、数据块最大发送次数,分别用于调节控制块和数据块的发送强度。

在另一实施例中,在高可靠要求的通信网络中,为了保证碎片块在通信网络中的传输效率和传输可靠性,本公开在进行控制块发送时,提高控制块发送强度和网络覆盖率,以增加被其它通信节点、更多通信节点接收,避免干扰误码导致控制块接收丢失。本公开中涉及到的几种提高控制块发送强度和网络覆盖率的方法:

1、增加控制块的发送次数,以减少被干扰丢失的概率。如每个控制块发送两次或者多次。

2、控制块发送后,延迟一定时间(如1-10ms)后再发送数据块,以确保接控制块被接收通信节点及时接收。

3、多端口网络通信节点,每个端口都发送至少1次控制块。本公开所述的多端口为指网络通信节点用于通信的多个软硬件、物理逻辑的通信接口、模组、芯片、板卡等。

4、通信节点在发送控制块时,增大发射器件的发射功率,以增加控制块传输的覆盖率。

5、通信节点在发送控制块时,降低发送速率,以提升接收端的信噪比,提升控制块被接收通信节点可靠接收和覆盖的比率。

在本公开中利用上述提高控制块发送强度和网络覆盖率的方法的和/或组合,以实现数据帧的控制块可靠、高效、快速的到达每个接收通信节点,以便于接收通信节点对后续数据块的识别和分类处理。

进一步的,在可靠性要求不高的通信网络中,与上述方法相对应,可以降低控制块的发送强度。

在一些实施例中,所述碎片块的发送操作方式至少包括:

对所述碎片块通过不同通信信道进行发送处理;

对所述碎片块通过不同发送端口进行发送处理;

对所述碎片块通过不同通信节点进行转发处理。

在本公开中,碎片块冗余备份的方法包含:碎片化数据冗余备份方法、信道冗余备份方法、端口冗余备份方法、节点冗余备份方法、路径冗余备份方法、及其上述方法的任意组合。

本公开的冗余方法任意组合是基于前述的不同碎片块、不同信道、不同端口、不同转发节点、不同中继路径、不同时间因素、以及碎片块的不同数据取值进行任意组合,实现碎片块的多次重复中继转发,可以非常灵活的保证数据帧的碎片块到达目的地。

在此实施例中,对所述碎片块通过不同通信信道进行发送处理包括:

监听所述通信信道的空闲资源,确定所述空闲资源中的空闲信道和/或空闲频点;

根据所述空闲信道的可传输长度,匹配所述可传输长度的碎片块;

在同一时间或不同时间区间内,依据所述空闲信道和/或所述空闲频点,对所述可传输长度的碎片块进行至少一次发送操作,包括:

基于所述通信信道的空闲信道,对所述可传输长度的碎片块块通过不同的所述空闲信道进行至少一次发送处理;或

基于所述通信信道的空闲信道和空闲频点,对所述可传输长度的碎片块块通过不同的所述空闲频点进行至少一次发送处理。

在确定通信信道有相对应的空闲资源后,确定与信道资源长度相匹配的碎片块。本公开的信道的空闲资源至少包括空闲信道和空闲频点。

因此,这里一个空闲信道可以匹配多个合适的碎片块,或者是一个碎片块可以用通过不同适宜的信道进行传输。进一步的,在不同的碎片块传输的时间差异上,本公开可以将碎片块通过不同的通信信道、通信频道同时或分时发送至少一次,以实现信道冗余通信。

例如,利用不同信道、频点将每个碎片同时发送1次为碎片实时扩频;分时发送一次为碎片分时扩频;同时发送多次为碎片实时扩频冗余;分时发送1次为碎片分时扩频冗余。

例如,利用不同的信道、不同的频点将不同的碎片块在相同或不同的时间发送一次或者多次,可以实现任意的冗余通信组合。

在本公开中,还可以通过不同的信道、不同的频点在不同空闲时间内进行至少一次发送处理。

在另一实施例中,对所述碎片块通过不同发送端口进行发送处理,包括:

获取所述通信节点的发送端口,其中所述发送端口包括:软件、硬件、物理、逻辑端口;

响应于所述碎片块通过相同端口进行发送时,则将所述碎片块通过相同或部分的全部端口进行至少一个发送处理;响应于所述碎片块通过不同介质端口进行发送时,则将所述碎片块通过不同介质端口进行至少一个发送处理;响应于所述碎片块通过不同速率端口进行发送时,则将所述碎片块可以通过速率端口进行至少一个发送处理。

在本公开中,碎片块通过不同的通信端口进行发送,这里的通信端口包括通信软件、硬件、物理、逻辑端口。

利用不同的端口将不同的碎片块在相同或不同的时间发送1次或者多次,可以实现任意的冗余通信组合。因此,在本公开中将碎片块通过不同的通信软件、硬件、物理、逻辑端口同时或分时发送至少1次,以实现端口冗余通信。

本公开的端口冗余还包含相同端口冗余、不同介质端口冗余、不同速率端口冗余。在多个相同端口通信设备中,可以将每个碎片块通过全部端口、或者部分端口发送出去一次或者多次。

在不同介质端口通信设备中,也可以将每个碎片块通过不同的端口发送出去1次或多次。

在不同速率端口通信设备中,可以在速率高的端口发送更多次数碎片块或者发送更多数量的碎片块,在速率低的端口发送更少次数碎片块或者发送更少数量碎片。

本公开优选的每个通信端口均需将数据帧的控制块发送1次,数据块可以分配给多个端口分担发送。

在另一实施例中,对所述碎片块通过不同通信节点进行转发处理,包括:

确定至少一个所述参与转发的转发节点;

响应于所述碎片块被转发节点接收后,对所述碎片块进行至少一次发送处理。

该方法还包括基于在所述碎片块全部达到所述目标节点前,还可以通过所述通信网路中的数据块接收节点,相互转发或补发接收到的所述数据块;将全部的所述数据块同步至所述目标节点。

本公开的发送通信节点包含数据帧发送通信节点、数据块中继转发通信节点。

其中,数据帧发送通信节点为通信网络数据帧的源节点,数据帧在该节点进行碎片化分割并进行通信网络的发送传输,简称数据帧源节点。

其中,数据中继转发通信节点为通信网络对数据帧的碎片块进行中继转发的通信节点,简称数据块转发节点。

本公开的接收通信节点包含数据块接收通信节点、数据帧目的通信节点。

其中,数据块接收通信节点通过通信网络接收数据帧的碎片块,并进行碎片块的存储、过滤、统计记录,简称数据块接收节点。

其中,数据帧目的通信节点为数据帧传输的目的地,通过对数据帧摘要信息中目的地址的提取和比对,数据帧的全部碎片块到达该节点并校验正确后进行数据帧的碎片化的拼接,将拼接完整的数据帧进行二次的数据校验,二次数据校验正确则将该拼接的数据帧返回给用户层,简称数据帧目的节点,也就是本公开所述的目标节点。

因此可以在本公开的通信网络中,多个通信节点参与数据帧碎片块的中继转发,每个参与中继转发的节点都会将接收到得碎片块再次转发一次,不参与中继转发的节点将不转发碎片块。

在此实施例中。所述方法还包括:

设置所述碎片块的最大接收阈值;

获取所述转发节点对所述碎片块的接收次数;

响应于所述碎片块的接收次数大于最大阈值时,则对所述碎片块停止发送处理。

进一步的参与中继转发的节点会根据每个碎片块的接收统计次数,当接收统计次数超过设定的最大阈值时,对该碎片块将不进行中继转发。

在前述所涉及的发送过程中,无论是对将碎片块进行发送或转发,均是可以根据设置的条件将碎片块通过不同信道、端口、节点一次性全部发送或转发出去,也可以由多个不同信道、端口、节点分布式的发送不同碎片块。

在此实施例的基础上,所述方法还包括:

获取所述碎片块的块识别码、数据内容、校验码等字节;

根据数据信息的预设规则对所述碎片块的块识别码、数据内容、校验码等字节进行取值;

根据转发节点的预设规则对所述转发节点进行取值;

根据相同取值的所述碎片块通过相同取值的转发节点进行发送处理,以完成所述碎片块的多路径发送。

基于节点冗余方法,根据每个碎片块的不同的块识别码、数据内容、校验码等各字段、各字节的取值,选择不同的节点参与碎片块的中继转发。

本公开将碎片块的块识别码、数据内容、校验码等各字段、各字节的取值采用固定计算规则进行取值,并采用固定计算规则确定参与中继转发的节点,由此针对每个碎片块的取值将是固定的、参与中继转发的节点规则也是固定的,因此不同的碎片块将由多个固定的节点进行中继转发,由此形成固定的中继转发路径,在此基础上,选择多个冗余固定节点参与中继转发,则将会保证每个碎片块通过多个冗余的路径中继传输到目的地。

基于上述的块识别码、数据内容、校验码等各字段、各字节的取值和参与中继节点的选择方法,在计算过程中加入时间因素,由此计算出得取值和参与中继的转发节点将会随着计算时间的变化而变化,因此会实现碎片块通过多个不固定的冗余的路径中继传输到目的地。

在一些实施例中,该碎片化数据通信的方法包括:

确认一个所述待传输数据帧;

将所述待传输数据帧按照预设规则进行碎片化分割,形成预设格式的碎片块,其中所述碎片块包括:一个控制块和至少一个数据块;

将所述碎片块通过通信网络进行传输,至目标节点后对所述碎片块进行拼接还原。

在本公开中,每个待传输数据帧在进入通信网络之前均需要进行数据的碎片化分割。在数据源节点进行分割后,再通过通信网络进行传输。

本公开将待传输的每一个数据帧在传输前按照一定规则进行碎片化分割,将该数据帧分割至少一个带有数据信息的碎片块,进行碎片化传输,传输到目的地后再进行数据帧的拼接还原。

在本公开中,每一个待传输数据帧会被分割为一个控制块和至少一个数据块。在此实施例中,该数据块可以为若干个长度相同或不同的数据块。通过本公开对数据帧进行分割,分割后所形成的碎片块以特定的格式形成各个部分,可以高效的在网络通信中传输。且由于各个碎片块的特定格式和标记,可以在碎片块完整传输后拼接还原成初始的数据帧。

因此,通过本公开对数据帧进行分割,可以实现数据帧在网络通信的过程中,抗干扰能力强、传输效率高,并且碎片化数据可在通信过程中进行乱序传输。

在一些实施例中,所述预设格式的碎片块包括:

所述控制块以控制块头、数据帧摘要信息、控制块校验码的形式设置,用于记录和传输所述待传输数据帧的摘要信息和特征信息;

所述数据块以数据块头、数据内容、数据块校验码的形式设置,用于记录和传输所述待传输数据帧的数据内容,且所述数据块可以为长度相同或不同的数据块。

参考前述针对控制块和数据块的详细介绍可知,该控制块包含控制块头、数据帧摘要信息、控制块校验码,用于记录和传输所述待传输数据帧的摘要信息和特征信息;该数据块包括数据块头、数据内容、数据块校验码,用于记录和传输所述待传输数据帧的数据内容。

其中,数据帧摘要信息用于表征整个被分割的数据帧的特征和唯一性。

其中,控制块校验码用于对控制块的控制块头部信息和数据帧摘要信息进行完整性正确性校验。这里的控制块校验码即为数据帧识别码,是能够唯一表征待通信传输的数据帧的唯一性。

其中,数据内容为被分割的数据帧的数据,数据块中不包含数据内容的长度。

其中,数据块校验码用于对数据块的数据块头部信息和数据内容信息进行完整性正确性校验。

在本公开中,控制块校验码对控制块头部和数据帧摘要信息进行了校验计算,能够唯一表征数据帧的数据帧摘要信息,而数据帧摘要信息又能够唯一表征整个数据帧的唯一性,因此控制块校验码能够唯一表征待通信传输的数据帧的唯一性。本公开将控制块校验码命名为数据帧识别码,在整个碎片化传输过程中,利用该数据帧识别码(控制块校验码)可以识别每个数据块是来源于哪一个数据帧。

在本公开中,采用控制块校验码作为数据块的数据帧识别码,由于控制块校验码唯一表征了数据帧的唯一性,可以极其方便的进行分割数据块的拼接还原。同时还可以通过数据帧识别码(即控制块校验码)反向查找控制块中的数据帧摘要信息,提取数据帧中的各项传输信息,可以极其方便的进行传输方法、传输路径的选择。

本公开利用一个极短的缩减的控制块校验码(数据帧识别码)表征了一个较长的数据帧摘要信息和数据的唯一性,不用在每个数据块中重复包含数据帧特征信息,极大的提高了通信效率。本公开的数据块校验码可以对整个数据块进行完整性正确性校验验证,由于数据帧分割和拼接前后有数据的校验计算,加之数据块的数据长度较短,以及有数据帧识别码(控制块校验码)对数据块进行识别,数据块相对于较长的数据帧出现重复冲突的概率要小很多很多,因此本公开的数据块校验码可以采用较短的校验长度。

并且本公开的碎片化数据通信方法利用数据帧校验、数据帧长度校验、数据块的数据帧识别码校验、数据块校验码等多重嵌套冗余的校验机制,保证了数据帧在网络通信中能够绝对可靠的进行传输,出现误码的概率几乎为0。

在一些实施例中,该方法还包括:所述将所述碎片块通过通信网络进行传输时,以已分割的碎片块的形式进行独立传输;

其中;在传输过程中,不对所述碎片块进行修改或拼接;

其中,所述独立传输为所述碎片块的传输可以不受限于传输顺序和传输路径。

在本公开的碎片化数据传输方法中,当待传输数据帧被分割后进行传输时,直至到达目的地前均不进行数据帧的拼接,也不修改控制块和数据块的任何信息。直到被分割的数据帧的碎片块(即控制块和所有数据块)全部到达目的地,并且校验正确后,才进行数据帧的拼接和还原。

本公开的碎片化数据通信方法包含至少1个通信节点,通信节点将需要通信传输的数据帧在传输前按照上述规则进行碎片化分割后,首先通过控制块发送出去。由其它接收通信节点接收该控制块,然后再进行数据块的发送。

接收通信节点接收到控制块后,会进行控制块数据帧摘要信息的提取和控制块校验码(数据帧识别码)的提取,以便于后续数据块的识别和分类处理。

进一步的,在发送碎片块时,无需按照顺序发送控制块和数据块,可以随机的乱序发送数据帧的控制块和数据块;尤其适用于加密系统的碎片块的随机发送。因此,所述碎片块的传输可以不受限于传输顺序和传输路径,只需要在全部到达目的地,并且校验正确后,才进行数据帧的拼接和还原。

在一些实施例中,在所述控制块和所述数据块中,所述数据块头或所述控制块头均至少包括:块识别码;

在所述碎片块到达目的地点后,获取任一所述碎片块的块识别码;

响应于所述块识别码为1-n的数值时,则确定所述碎片块的类型为所述数据块;

响应于所述识别码为大于n的数值时,则确定所述碎片块的类型为所述控制块。

在这里块识别码取一个1至n的数值用于标识数据块类型以及数据块的编号,取值大于n的数值用于标识控制块类型。

例如,某一个实施例中,如图7所示的数据块字节的示意图,块识别码采用1个字节标识,取值1至128用于标识第1到第240个数据块,取值250(0xFA)用于标识控制块。如图7所示的数据块字节的示意图中,在一数据块长度为32字节时,块识别码最多可以标识240个数据块,数据帧识别码(即控制块校验码)采用CRC32进行校验,数据块校验码采用CRC16进行校验,数据内容长度为25字节。

因此,在此例中数据帧可以被分割为240个25字节长度的数据块,即本实施例中的碎片化分割通信方法最多可以传输240块×25字节=6000字节长度数据帧。本实施例中碎片化分割通信数据块传输效率为78%,最长6000字节长度的数据帧可以满足当前通信系统中的最大部分需求。

进一步的,若在需要进行更长数据帧的传输,则如图8所示数据块字节的示意图,可以增加块识别码的取值,或者增加分割的数据内容的长度。当块识别码采用2字节标识,取值1至50000最多可以标识5万个数据块,每个数据块数据内容长度为56字节,可以将数据帧分割为50000个56字节长度的数据块。即在本实施例中的碎片化分割通信方法最多可以传输50000块乘以56字节等于280万字节长度数据帧,本实施例的碎片化分割通信数据块传输效率为87.5%。

因此本公开的块识别码利用复用方法,即区分了碎片块的类型是控制块还是数据块,又能够识别数据块的序号,可以极大的节约通信开销。在本公开第二方面的一些实施例中,如图9所示的通信装置示意图,所述装置应用于上述第一方面任意可能实现的方法,所述装置包括:分割单元,被配置为将待传输数据帧分割为多个碎片块,其中所述碎片块至少包括一个控制块和至少一个数据块;被配置为基于至少一种发送操作方式,将所述控制块和所述数据块在所述发送操作方式中进行至少一次发送,其中所述控制块的发送次数多于所述数据块的发送次数;

在另一些实施例中,本装置的第二方面与第一方面所涉及的方法相对应,可以利用本装置第二方面的另一种实施例完成第一方面所涉及的方法。因此在此不再重复说明。

在本公开的第三方面提供了一种通信设备,包括:用于存储处理器可执行指令的存储器;处理器,与所述存储器连接;其中,所述处理器被配置为执行第一方面任意可能实现的方法。

在本公开的第四方面提供了一种通信设备,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行如第一方面任意可能实现的方法。

图10是根据一示例性实施例示出的一种通信设备600的框图。根据本公开实施例的方法或装置也可以借助于计算设备的架构来实现。如图10所示出了根据本公开实施例的示例性计算设备的架构的示意图。如图10所示,计算设备600可以包括总线601、一个或多个CPU 602、只读存储器(ROM)603、随机存取存储器(RAM)604、连接到网络的通信端口605、输入/输出组件606、硬盘607等。计算设备600中的存储设备,例如ROM603或硬盘607可以存储本公开提供的基于节点间数据共享的数据处理方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备600还可以包括用户界面608。当然,图10所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图10所示的计算设备中的一个或多个组件。

根据本公开的又一方面,还提供了一种计算机可读存储介质,所述计算机存储介质上存储有计算机可读指令。当所述计算机可读指令601由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的基于节点间数据共享的数据处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。

本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。

此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。

本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。

除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。

以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。

相关技术
  • 一种备份特性测试方法、装置、设备及存储介质
  • 一种数据备份方法及相关装置
  • 一种用于备份虚拟机的方法和装置
  • 一种数据冗余备份方法、装置、设备及介质
  • 一种数据冗余备份方法、装置、存储介质及电子设备
技术分类

06120116508366