CN115129506A - 一种数据传输的系统、方法以及网络设备 - Google Patents

一种数据传输的系统、方法以及网络设备 Download PDF

Info

Publication number
CN115129506A
CN115129506A CN202110313585.2A CN202110313585A CN115129506A CN 115129506 A CN115129506 A CN 115129506A CN 202110313585 A CN202110313585 A CN 202110313585A CN 115129506 A CN115129506 A CN 115129506A
Authority
CN
China
Prior art keywords
data
storage space
acquired
redundant
module
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
Application number
CN202110313585.2A
Other languages
English (en)
Inventor
卢胜文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110313585.2A priority Critical patent/CN115129506A/zh
Priority to PCT/CN2021/139428 priority patent/WO2022199155A1/zh
Publication of CN115129506A publication Critical patent/CN115129506A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)

Abstract

公开了一种数据传输系统,该系统包括:网络设备和主机。网络设备,用于从主机获取第一存储空间内的数据。网络设备,还用于对获取的第一存储空间内的数据进行冗余计算,生成冗余数据,并保存冗余数据到网络设备。网络设备,还用于从主机再次获取第一存储空间内的数据,并发送冗余数据和再次获取的第一存储空间内的数据。通过该技术方案可以不用将获取的数据和冗余数据都保存到网络设备中,而是只用保存冗余数据到网络设备中,从而提升系统冗余备份方案中网络设备内存资源的使用效率,节约了内存资源。

Description

一种数据传输的系统、方法以及网络设备
技术领域
本申请涉及数据传输领域,尤其涉及网络数据传输。
背景技术
在分布式存储系统中,数据会被分散保存到多个存储节点,可以实现对数据的高速并发访问,获得高性能,也可以获得更好的可靠性。例如,为了保证数据可靠性,通常采用纠删码(Erasure Code,EC)计算的方式,对M个数据块进行EC计算,生成N个冗余的块。它们通常保存在不同的存储节点上,M个数据块中同时损坏不超过N个数据块,都能准确恢复数据,称之为M+N EC计算。
另外,为了保证数据的正确性,会引入数据完整性字段(Data Integrity Field,DIF)技术,对数据进行DIF校验,防止数据被篡改后引起安全问题。
现有技术方案中,数据先搬移到卸载卡的处理器上,进行EC计算,将该数据和EC计算结果保存到与处理器相连的内存中,然后发送到目的端。该方案带来的问题是增加了卸载卡的内存资源消耗。
发明内容
本申请提供了一种数据传输的系统、方法、网络设备以及计算机设备,用于提升系统冗余备份方案中网络设备内存资源的使用效率,节约了内存资源。
第一方面,本申请提供了一种数据传输系统,系统包括:网络设备和主机;
网络设备,用于从主机获取第一存储空间内的数据;
网络设备,还用于对获取的第一存储空间内的数据进行冗余计算,生成冗余数据,并保存冗余数据到网络设备;
网络设备,还用于从主机再次获取第一存储空间内的数据,并发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,在冗余计算完成之后,将冗余数据保存到网络设备中,而不用讲第一存储空间内的数据保存到网络设备中。因此可以大大降低网络设备的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备内存资源的使用效率。
一种可能的实现方式中,发送冗余数据和再次获取的第一存储空间内的数据包括:
网络设备对获取的第一存储空间内的数据进行数据校验,获得第一校验数据;
网络设备对再次获取的第一存储空间内的数据进行数据校验,获得第二校验数据;
当第一校验数据和第二校验数据相同的时候,网络设备发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,可以保证两次获取到的第一存储空间内的数据是一致的。保证了数据传输过程中的可靠性和安全性。
一种可能的实现方式中,数据校验,包括:数据完整性字段DIF校验和数据循环冗余码校验CRC。
一种可能的实现方式中,冗余计算,包括:纠错码EC计算。
一种可能的实现方式中,发送冗余数据和再次获取的第一存储空间内的数据,包括:根据冗余数据和再次获取的第一存储空间内的数据生成报文,发送报文。
一种可能的实现方式中,获取第一存储空间内的数据,包括:
通过直接内存访问DMA方式获取第一存储空间内的数据。
DMA方式,可以不消耗处理器的资源,而直接获取数据,提升了获取数据的效率。
第二方面,本申请提供了一种数据传输方法,方法包括:
获取第一存储空间内的数据;
对获取的第一存储空间内的数据进行冗余计算,生成冗余数据,并保存冗余数据;
从主机再次获取第一存储空间内的数据,并发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,在冗余计算完成之后,将冗余数据保存到网络设备中,而不用讲第一存储空间内的数据保存到网络设备中。因此可以大大降低网络设备的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备内存资源的使用效率。
一种可能的实现方式中,发送冗余数据和再次获取的第一存储空间内的数据包括:
对获取的第一存储空间内的数据进行数据校验,获得第一校验数据;
对再次获取的第一存储空间内的数据进行数据校验,获得第二校验数据;
当第一校验数据和第二校验数据相同的时候,发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,可以保证两次获取到的第一存储空间内的数据是一致的。保证了数据传输过程中的可靠性和安全性。
一种可能的实现方式中,数据校验,包括:数据完整性字段DIF校验和数据循环冗余码校验CRC。
一种可能的实现方式中,对获取的第一存储空间内的数据进行冗余计算,生成冗余数据,包括:对获取的第一存储空间内的数据进行纠错码EC计算,生成冗余数据。
一种可能的实现方式中,发送冗余数据和再次获取的第一存储空间内的数据,包括:根据冗余数据和再次获取的第一存储空间内的数据生成报文,发送报文。
一种可能的实现方式中,获取第一存储空间内的数据,包括:
通过直接内存访问DMA方式获取第一存储空间内的数据。
DMA方式,可以不消耗处理器的资源,而直接获取数据,提升了获取数据的效率。
第三方面,本申请提供了一种网络设备,网络设备包括:接收模块、冗余生成模块、存储模块和发送模块;
接收模块用于获取第一存储空间内的数据;
冗余生成模块用于对获取的第一存储空间内的数据进行冗余计算,生成冗余数据;
存储模块用于存储冗余数据;
接收模块还用于再次获取第一存储空间内的数据;
发送模块用于发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,在冗余计算完成之后,将冗余数据保存到网络设备中,而不用讲第一存储空间内的数据保存到网络设备中。因此可以大大降低网络设备的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备内存资源的使用效率。
一种可能的实现方式中,网络设备还包括:校验模块;
校验模块用于对获取的第一存储空间内的数据进行数据校验,获得第一校验数据;
校验模块还用于对再次获取的第一存储空间内的数据进行数据校验,获得第二校验数据;
当第一校验数据和第二校验数据相同的时候,发送模块发送冗余数据和再次获取的第一存储空间内的数据。
通过该技术方案,可以保证两次获取到的第一存储空间内的数据是一致的。保证了数据传输过程中的可靠性和安全性。
一种可能的实现方式中,网络设备还包括:校验检查模块;
校验检查模块用于检查第一校验数据和第二校验数据,将检查结果传递给发送模块。
一种可能的实现方式中,发送模块用于发送冗余数据和再次获取的第一存储空间内的数据,包括:发送模块根据冗余数据和再次获取的第一存储空间内的数据生成报文,发送报文。
第四方面,本申请提供了一种计算机设备,包括至少一个存储器、至少一个加速器和至少一个处理器,至少一个存储器,用于存储计算机指令;
当计算机设备执行计算机指令时,计算机设备执行上述权利要求第二方面中任一项的可能实现的方法。
附图说明
图1为本申请一实施例的应用场景示意图;
图2为本申请一实施例的流程步骤示意图;
图3为本申请另一实施例的流程步骤示意图;
图4为本申请一实施例的网络设备结构示意图;
图5为本申请另一实施例的网络设备结构示意图;
图6为本申请另一实施例的网络设备结构示意图;
图7为本申请一实施例的计算机设备的结构示意图。
具体实施方式
本申请提供了一种数据传输的系统、方法、网络设备以及计算机设备,可以用于提升系统冗余备份方案中网络设备内存资源的使用效率。
在本申请提供的一实施例中,图1描述了本申请的一种应用场景。本端系统100包括:一个主机101,一个网络设备103。本应用场景是将本端系统100中的主机内的原始数据,进行冗余计算,并将冗余数据和原始数据发送到对端系统105a、105b和105c,保证原始数据和冗余数据保存在对端系统105a、105b和105c中,从而达到数据冗余保存,抵抗数据丢失风险。
本端系统100中的网络设备103获取主机101的数据处理指令,该指令中包含了数据在主机101的相关存储空间。该存储空间的信息包括:数据的存储地址和该数据的长度。
网络设备103从主机101处,根据该存储空间第一次获取到该数据,第一次获取到的数据包括M个数据块。网络设备103根据第一次获取到的数据生成冗余数据,冗余数据包括N个数据块。当第一次获取到的数据和冗余数据的M+N个数据块中,在有任意不超过N个数据块无效的情况下,可以对主机中该存储空间对应存储的数据进行恢复,得到该数据,该数据中的数据信息不丢失。无效包括:损坏、被篡改或丢失。
可选的,冗余数据的数据量小于第一次获取到的数据的数据量。
可选的,N小于M,N和M是正整数。
可选的,冗余计算可以是EC计算。
可选的,该主机101可以是一个物理主机,也可以是一个包含多个虚拟机的主机。
可选的,该数据可以由分别存储在主机101的多个虚拟机对应的存储空间内的数据组成的数据。
网络设备103将冗余数据保存到网络设备103的内存中。然后根据该存储空间,再次从主机101处获取数据。将再次获取的数据和冗余数据,例如M+N个数据块,按照冗余备份要求,发送到对端系统105a、105b和105c。进一步说明,对端系统的数量不局限于图1中所示的3个对端系统。
可选的,从主机101获取数据的方式可以是直接内存访问(Direct MemoryAccess,DMA)的方式。
可选的,再次获取的数据和冗余数据可以分开,在不同时间段,发送到对端系统105a、105b和105c。也可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端系统105a、105b和105c,将第二次获取的数据和冗余数据同时间段发送到对端系统105a、105b和105c。
因为在此数据传输系统中,网络设备103只保存了冗余数据到网络设备103的内存中,而没有额外的将从主机101获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
进一步说明的是,虽然两次获取时候,使用的存储空间是一致的,但是因为获取数据的时间不一致,因此,从主机101第一次获取的数据和第二次获取的数据可能相同,也可能不相同。如果该存储空间对应的数据发生了变化,则第一次获取的数据和第二次获取的数据不相同,则会引起数据安全问题。为了防止出现第一次获取的数据和第二次获取的数据不相同的问题,可选的,本实施例引入如下数据校验的技术方案。
网络设备103对第一次获取的数据进行校验数据计算,获取第一校验数据。校验数据计算包括:对数据进行DIF校验,获取DIF校验数据;对数据进行循环冗余码校验(CyclicRedundancy check,CRC),获取CRC校验数据。当一个数据被修改的时候,该数据的校验数据也会跟随改变。当两个数据的校验数据相同的时候,则表明两个数据是相同的数据。网络设备103将第一校验数据进行保存在网络设备103的内存上。
同理,网络设备103对第二次获取的数据进行校验数据计算,获取第二校验数据。校验数据计算包括:对数据进行DIF校验,获取DIF校验数据;对数据进行循环冗余码校验(Cyclic Redundancy check,CRC),获取CRC校验数据。
网络设备103对第一校验数据和第二校验数据进行比较,判断两个校验数据是否一致,如上所述,如果第一校验数据和第二校验数据一致,则第一次获取的数据和第二次获取的数据是一致的,此时将第二次获取的数据和冗余数据发送到对端系统105a、105b和105c。
当网络设备103判断结果是第一次获取的数据和第二次获取的数据不一致的时候,证明主机101侧的数据源在两次获取期间已经不同,为了保证数据传输的可靠性和安全性,不发送第二次获取的数据到对端系统105a,105b或105c。
在此过程中,网络设备103会保存冗余数据和第一校验数据到网络设备103的内存中,而不用额外的保存第一次获取的数据或第二次获取的数据到网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
可选的,内存可以为其他种类的存储器,并不局限于传统的内存器。
在本申请提供的一实施例中,图2提供了一种数据传输的实施方法流程图。该实施方法流程对应上述图1中的数据传输系统的操作。
依据流程步骤S202:根据存储空间,从主机101处第一次获取数据,该第一次获取的数据包括M个数据块。
依据流程步骤S204:根据第一次获取到的数据生成冗余数据,冗余数据包括N个数据块。当第一次获取到的数据和冗余数据的M+N个数据块中,有任意不超过N个数据块无效的情况下,可以对主机中该存储空间对应存储的数据进行恢复,得到该数据,该数据中的数据信息不丢失。无效包括:损坏、被篡改或丢失。
可选的,冗余数据的数据量小于第一次获取到的数据的数据量。
可选的,N小于M,N和M是正整数。
可选的,冗余计算可以是EC计算。
可选的,该主机101可以是一个物理主机,也可以是一个包含多个虚拟机的主机。
可选的,该数据可以由分别存储在主机101的多个虚拟机对应的存储空间内的数据组成的数据。
依据流程步骤S206:保存冗余数据。
依据流程步骤S208:根据该存储空间第二次获取数据。可选的,可以将第二次获取到的数据进行缓存,等待发送到对端系统。
依据流程步骤S210:发送第二次获取到的数据和冗余数据。
可选的,获取数据的方式可以是DMA的方式。
可选的,再次获取的数据和冗余数据可以分开,在不同时间段,发送到对端系统。也可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端系统。将第二次获取的数据和冗余数据同时间段发送到对端系统。
因为在此数据传输方法中,只保存了冗余数据到网络设备103的内存中,而没有额外的将获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
进一步说明的是,虽然存储空间是一致的,但是因为获取数据的时间不一致,因此,第一次获取的数据和第二次获取的数据可能相同,也可能不相同。如果该存储空间对应的数据被修改了,则第一次获取的数据和第二次获取的数据不相同。数据被修改,则会引起数据安全问题。为了防止出现第一次获取的数据和第二次获取的数据不相同的问题,可选的,本实施例引入如下数据校验的技术方案。该实施例的方法流程示意图如图3所示。
依据流程步骤S302:根据存储空间,从主机101处第一次获取数据,该第一次获取的数据包括M个数据块。
依据流程步骤S303:根据第一次获取到的数据生成冗余数据,冗余数据包括N个数据块。当第一次获取到的数据和冗余数据的M+N个数据块中,有任意不超过N个数据块无效的情况下,可以对主机中该存储空间对应存储的数据进行恢复,得到该数据,该数据中的数据信息不丢失。无效包括:损坏、被篡改或丢失。
可选的,冗余数据的数据量小于第一次获取到的数据的数据量。
可选的,N小于M,N和M是正整数。
可选的,冗余计算可以是EC计算。
可选的,该主机101可以是一个物理主机,也可以是一个包含多个虚拟机的主机。
可选的,该数据可以由分别存储在主机101的多个虚拟机对应的存储空间内的数据组成的数据。
依据流程步骤S304:根据第一次获取的数据生成第一校验数据。对第一次获取的数据进行校验数据计算,校验数据计算包括:对数据进行DIF校验,获取DIF校验数据;对数据进行循环冗余码校验(Cyclic Redundancy check,CRC),获取CRC校验数据。当一个数据被修改的时候,该数据的校验数据也会跟随改变。当两个数据的校验数据相同的时候,表明两个数据是相同的数据。
依据流程步骤S306:保存冗余数据和第一校验数据。因为不用保存第一次获取到的数据,因此所需要的内存资源减少。通过该技术方案,可以提升内存资源的利用率,节约存储资源。进一步说明,校验数据的数据量较小,所需的内存资源在这里忽略不计。
依据流程步骤S308:根据该存储空间第二次获取数据。可选的,可以将第二次获取到的数据进行缓存,等待发送到对端系统。
依据流程步骤S310:根据第二次获取的数据生成第二校验数据。
依据流程步骤S312:对第一校验数据和第二校验数据进行比较,判断两个校验数据是否一致,如上所述,如果第一校验数据和第二校验数据一致,则第一次获取的数据和第二次获取的数据是一致的,跳转到流程步骤S316。当两个校验数据不一致的时候,则第一次获取的数据和第二次获取的数据是不一致的,跳转到步骤S314。
依据流程步骤S316:当判断结果是第一次获取的数据和第二次获取的数据一致,则可以判定第二次获取的数据在主机侧的数据源没有被修改,保证了数据传输的可靠性和安全性,此时可以将第二次获取的数据发送到对端。另外冗余数据也发送到对端。可选的第二次获取的数据和冗余数据可以分开,在不同时刻,发送到对端。可选的,可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端,将第二次获取的数据和冗余数据同时刻发送到对端。
可选的,获取数据的方式可以是DMA的方式。
依据流程步骤S314:当判断结果是第一校验数据和第二校验数据不一致的时候,证明主机侧的数据源被修改,为了保证数据传输的可靠性和安全性,不发送第二次获取的数据。
可选的,也不发送冗余数据。
可选的,冗余数据在一些情况下,例如和第二次获取的数据分开发送的场景下,可能已经发送到对端系统,对端系统可以放弃处理或删除已经接收的冗余数据。
通过该技术方案,首先,只保存了冗余数据到网络设备103的内存中,而没有额外的将获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。其次,还可以避免数据传输过程中数据因为被篡改,而导致的数据安全和可靠性方面的问题。
在本申请提供的一实施例中,图4描述了一个网络设备400的结构图。网络设备400可以执行图2中数据传输的实施方法。网络设备400包括:接收模块402、冗余生成模块406、存储模块408和发送模块410。
接收模块402用于接收数据,接收模块还可以称作输入模块,在本申请中不做限定。根据存储空间,从主机101处第一次获取数据,该第一次获取的数据包括M个数据块。
冗余生成模块406用于根据第一次获取到的数据生成冗余数据,冗余数据包括N个数据块。当第一次获取到的数据和冗余数据的M+N个数据块中,有任意不超过N个数据块无效的情况下,可以对主机中该存储空间对应存储的数据进行恢复,得到该数据,该数据中的数据信息不丢失。无效包括:损坏、被篡改或丢失。
可选的,冗余数据的数据量小于第一次获取到的数据的数据量。
可选的,N小于M,N和M是正整数。
可选的,冗余计算可以是EC计算。
可选的,该主机101可以是一个物理主机,也可以是一个包含多个虚拟机的主机。
可选的,该数据可以由分别存储在主机101的多个虚拟机对应的存储空间内的数据组成的数据。
存储模块408用于保存冗余数据。因为不用保存第一次获取到的数据,因此所需要的内存资源减少。通过该技术方案,可以提升内存资源的利用率,节约内存资源。存储模块包括内存和其他可以保存数据的存储设备。
接收模块402还用于根据该存储空间第二次获取数据。
发送模块410用于发送第二次获取到的数据和冗余数据到对端系统。
可选的,获取数据的方式可以是直接内存访问DMA的方式。
可选的,发送模块410还可以用于将第二次获取到的数据进行缓存,等待发送到对端系统。
可选的,再次获取的数据和冗余数据可以分开,在不同时间段,发送到对端系统。也可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端系统。将第二次获取的数据和冗余数据同时间段发送到对端系统。
进一步说明,第一次获取数据的目的是用于给冗余生成模块406,冗余生成模块利用第一次获取的数据进行冗余计算。而第二次获取数据的目的是用于给发送模块410,进行发送给对端系统,发送时间相较冗余计算时间短,因此选择分两次获取数据,而不是选择保存第一次获取的数据,浪费存储模块408的存储资源。通过DMA的方式从主机处第二次获取数据的技术方案更加高效。
因为只保存了冗余数据到网络设备103的内存中,而没有额外的将获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
进一步说明的是,虽然存储空间是一致的,但是因为获取数据的时间不一致,因此,第一次获取的数据和第二次获取的数据可能相同,也可能不相同。如果该存储空间对应的数据被修改了,则第二次获取的数据和第一次获取的数据不相同。为了防止出现第一次获取的数据和第二次获取的数据不相同的问题,本申请提供的另一实施例中,加入数据校验的技术方案,图5描述了另外一个网络设备500的结构图,包括:接收模块402、校验模块504、冗余生成模块406、存储模块408和发送模块510。和图4中网络设备400相比较,新增了校验模块504。
接收模块402和冗余生成模块406实现的功能和网络设备400中对应模块实现的功能相同,在此不做赘述。
校验模块504用于对第一次获取的数据进行数据校验计算,获取第一校验数据。校验数据计算包括:对数据进行DIF校验,获取DIF校验数据;对数据进行循环冗余码校验(Cyclic Redundancy check,CRC),获取CRC校验数据。当一个数据被修改的时候,该数据的校验数据也会跟随改变。当两个数据的校验数据相同的时候,则表明两个数据是相同的数据。
存储模块408用于保存冗余数据和第一校验数据。因为不用保存第一次获取到的数据,因此所需要的内存资源减少。通过该技术方案,可以提升内存资源的利用率,节约内存资源。存储模块包括内存和其他可以保存数据的存储设备。
校验模块504还用于对第二次获取的数据进行数据校验计算,获取第二校验数据。和获取第一校验数据方法相同,不做赘述。
发送模块510用于判断第一校验数据和第二校验数据是否一致。当第一校验数据和第二校验数据一致的时候,表明第一次获取的数据和第二次获取的数据一致,此时,将第二次获取的数据和冗余数据发送到对端。
可选的,获取数据的方式可以是直接内存访问DMA的方式。
可选的,发送模块510还可以用于将第二次获取到的数据进行缓存,等待发送到对端系统。
可选的,再次获取的数据和冗余数据可以分开,在不同时间段,发送到对端系统。也可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端系统。将第二次获取的数据和冗余数据同时间段发送到对端系统。
因为只保存了冗余数据到网络设备103的内存中,而没有额外的将获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
图6描述了另外一个网络设备600的结构图,包括:接收模块402、校验模块504、冗余生成模块406、存储模块408、发送模块410和校验检查模块612。
接收模块402、校验模块504、冗余生成模块406、存储模块408和发送模块410所实现的功能参考前文,不做赘述。
校验检查模块612用于判断第一校验数据和第二校验数据是否一致,并将判断结果发送给发送模块410。
发送模块610用于接收校验检查模块发过来的判断结果。判断第一校验数据和第二校验数据是否一致。当第一校验数据和第二校验数据一致的时候,表明第一次获取的数据和第二次获取的数据一致,此时,将第二次获取的数据和冗余数据发送到对端。
可选的,获取数据的方式可以是直接内存访问DMA的方式。
可选的,发送模块610还可以用于将第二次获取到的数据进行缓存,等待发送到对端系统。
可选的,发送模块610外还有单独的缓存模块用于缓存第二次获取到的数据进行缓存,等待送到对端系统。
可选的,再次获取的数据和冗余数据可以分开,在不同时间段,发送到对端系统。也可以根据冗余数据和第二次获取的数据,生成报文,将报文发送到对端系统。将第二次获取的数据和冗余数据同时间段发送到对端系统。
因为只保存了冗余数据到网络设备103的内存中,而没有额外的将获取的数据保存在网络设备103的内存中,因此,可以大大降低网络设备103的内存资源的消耗,节约了内存资源,提升了数据传输过程中网络设备103内存资源的使用效率。
在本申请的实施例中,当第一次获取的数据和第二次获取的数据不一致的时候,可以将冗余数据发送给对端,或者不将冗余数据发送给对端。两种技术方案均在本申请的保护范围内。另外说明,当数据来源于主机中的不同虚拟机的时候,如果从相关虚拟机两次获取的数据校验不同,并且发生多次,则隔离对应的虚拟机。
本申请实施例所描述的网络设备的硬件结构可以通过如图7所示的装置700来实现。如图7所示,装置700包括处理器702、存储器704、通信接口706、总线708和加速器712。其中,处理器702、存储器704和通信接口706通过总线708实现彼此之间的通信连接。其中,加速器712包括:人工智能(artificial intelligence,AI)芯片、现场可编程门阵列(fieldprogrammable gate array、FPGA)、图形处理器(Graphics Processing Unit,GPU)和神经网络处理单元(neural processing unit NPU)等。
处理器702和加速器712,用于执行对应的相关程序代码,以实现本申请实施例所提供的技术方案。处理器702可以采用通用的中央处理器,微处理器,专用集成电路,或者一个或多个集成电路,用于执行相关程序代码,以实现本申请实施例所提供的技术方案。
存储器704可以是只读存储器,静态存储设备,动态存储设备或者随机存取存储器。在通过软件或者固件来实现本申请实施例提供的技术方案时,用于实现本申请实施例提供的技术方案的程序代码保存在存储器704中,并由处理器702和加速器712来执行。存储器704可以与处理器702和加速器712集成在一起或集成在处理器702和加速器712的内部,也可以是独立于处理器702和加速器712的一个或多个存储单元。
通信接口706使用例如但不限于收发器一类的收发装置,来实现装置700与其他设备或通信网络之间的通信。
总线708可包括一个线路或多个线路,在装置700各个部件(例如处理器702、加速器712、存储器704和通信接口706)之间传送信息。
应注意,尽管图7所示的计装置700仅仅示出了处理器702、加速器712、存储器704、通信接口706以及总线708,但是在具体实现过程中,本领域的技术人员应当明白,装置700还包含实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当明白,装置700还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,装置700也可仅仅包含实现本申请实施例所必须的器件,而不必包含图7中所示的全部器件。
图7所示的硬件结构以及上述描述适用于本申请实施例所提供的网络设备,适用于执行本申请实施例所提供的数据传输方法。其中加速器712在运行相关程序代码的时候可以实现本申请实施例中包括接收模块、校验模块、冗余生成模块、校验检查模块和发送模块的功能。存储器704可以实现上述实施例中存储模块的功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的部分步骤。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离权利要求的范围。

Claims (17)

1.一种数据传输系统,其特征在于,所述系统包括:网络设备和主机;
所述网络设备,用于从所述主机获取第一存储空间内的数据;
所述网络设备,还用于对获取的所述第一存储空间内的数据进行冗余计算,生成冗余数据,并保存所述冗余数据到所述网络设备;
所述网络设备,还用于从所述主机再次获取所述第一存储空间内的数据,并发送所述冗余数据和再次获取的所述第一存储空间内的数据。
2.根据权利要求1所述的数据传输系统,其特征在于,发送所述冗余数据和再次获取的所述第一存储空间内的数据包括:
所述网络设备对所述获取的所述第一存储空间内的数据进行数据校验,获得第一校验数据;
所述网络设备对所述再次获取的所述第一存储空间内的数据进行数据校验,获得第二校验数据;
当所述第一校验数据和所述第二校验数据相同的时候,所述网络设备发送所述冗余数据和所述再次获取的所述第一存储空间内的数据。
3.根据权利要求2所述的数据传输系统,其特征在于,
所述数据校验,包括:数据完整性字段DIF校验和数据循环冗余码校验CRC。
4.根据权利要求1-3任一所述数据传输系统,其特征在于,所述冗余计算,包括:纠错码EC计算。
5.根据权利要求1-4任一所述数据传输系统,其特征在于,所述发送所述冗余数据和再次获取的所述第一存储空间内的数据,包括:根据所述冗余数据和再次获取的所述第一存储空间内的数据生成报文,发送所述报文。
6.根据权利要求1-5任一所述数据传输系统,其特征在于,所述获取第一存储空间内的数据,包括:
通过直接内存访问DMA方式获取所述第一存储空间内的数据。
7.一种数据传输方法,其特征在于,所述方法包括:
获取第一存储空间内的数据;
对获取的所述第一存储空间内的数据进行冗余计算,生成冗余数据,并保存所述冗余数据;
从所述主机再次获取所述第一存储空间内的数据,并发送所述冗余数据和再次获取的所述第一存储空间内的数据。
8.根据权利要求7所述的数据传输方法,其特征在于,发送所述冗余数据和再次获取的所述第一存储空间内的数据包括:
对所述获取的所述第一存储空间内的数据进行数据校验,获得第一校验数据;
对所述再次获取的所述第一存储空间内的数据进行数据校验,获得第二校验数据;
当所述第一校验数据和所述第二校验数据相同的时候,发送所述冗余数据和所述再次获取的所述第一存储空间内的数据。
9.根据权利要求8所述的数据传输方法,其特征在于,
所述数据校验,包括:数据完整性字段DIF校验和数据循环冗余码校验CRC。
10.根据权利要求7-9任一所述的数据传输方法,其特征在于,所述对获取的所述第一存储空间内的数据进行冗余计算,生成冗余数据,包括:对所述获取的所述第一存储空间内的数据进行纠错码EC计算,生成所述冗余数据。
11.根据权利要求6-10任一所述的数据传输方法,其特征在于,所述发送所述冗余数据和再次获取的所述第一存储空间内的数据,包括:根据所述冗余数据和再次获取的所述第一存储空间内的数据生成报文,发送所述报文。
12.根据权利要求6-11任一所述的数据传输方法,其特征在于,所述获取第一存储空间内的数据,包括:
通过直接内存访问DMA方式获取所述第一存储空间内的数据。
13.一种网络设备,其特征在于,所述网络设备包括:接收模块、冗余生成模块、存储模块和发送模块;
所述接收模块用于获取第一存储空间内的数据;
所述冗余生成模块用于对获取的所述第一存储空间内的数据进行冗余计算,生成冗余数据;
所述存储模块用于存储所述冗余数据;
所述接收模块还用于再次获取所述第一存储空间内的数据;
所述发送模块用于发送所述冗余数据和再次获取的所述第一存储空间内的数据。
14.根据权利要求13所述的网络设备,其特征在于,所述网络设备还包括:校验模块;
所述校验模块用于对所述获取的所述第一存储空间内的数据进行数据校验,获得第一校验数据;
所述校验模块还用于对所述再次获取的所述第一存储空间内的数据进行数据校验,获得第二校验数据;
当所述第一校验数据和所述第二校验数据相同的时候,所述发送模块发送所述冗余数据和所述再次获取的所述第一存储空间内的数据。
15.根据权利要求12-14任一所述的网络设备,其特征在于,所述网络设备还包括:校验检查模块;
所述校验检查模块用于检查所述第一校验数据和第二校验数据,将所述检查结果传递给所述发送模块。
16.根据权利要求13-15任一所述的网络设备,其特征在于,所述发送模块用于发送所述冗余数据和再次获取的所述第一存储空间内的数据,包括:所述发送模块根据所述冗余数据和再次获取的所述第一存储空间内的数据生成报文,发送所述报文。
17.一种计算机设备,其特征在于,包括至少一个存储器、至少一个加速器和至少一个处理器,所述至少一个存储器,用于存储计算机指令;
当所述计算机设备执行所述计算机指令时,所述计算机设备执行上述权利要求7至12中任一项所述的方法。
CN202110313585.2A 2021-03-24 2021-03-24 一种数据传输的系统、方法以及网络设备 Pending CN115129506A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110313585.2A CN115129506A (zh) 2021-03-24 2021-03-24 一种数据传输的系统、方法以及网络设备
PCT/CN2021/139428 WO2022199155A1 (zh) 2021-03-24 2021-12-18 一种数据传输的系统、方法以及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110313585.2A CN115129506A (zh) 2021-03-24 2021-03-24 一种数据传输的系统、方法以及网络设备

Publications (1)

Publication Number Publication Date
CN115129506A true CN115129506A (zh) 2022-09-30

Family

ID=83374714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110313585.2A Pending CN115129506A (zh) 2021-03-24 2021-03-24 一种数据传输的系统、方法以及网络设备

Country Status (2)

Country Link
CN (1) CN115129506A (zh)
WO (1) WO2022199155A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102937967B (zh) * 2012-10-11 2018-02-27 南京中兴新软件有限责任公司 数据冗余实现方法及装置
CN103699494B (zh) * 2013-12-06 2017-03-15 北京奇虎科技有限公司 一种数据存储方法、数据存储设备和分布式存储系统
US9900643B2 (en) * 2014-10-10 2018-02-20 At&T Intellectual Property I, L.P. Method and apparatus for transmitting media content
CN105869309A (zh) * 2016-03-24 2016-08-17 广州广电运通信息科技有限公司 驱动模块内存数据监测方法及装置
CN109857710B (zh) * 2019-01-04 2023-10-27 平安科技(深圳)有限公司 文件存储方法及终端设备

Also Published As

Publication number Publication date
WO2022199155A1 (zh) 2022-09-29

Similar Documents

Publication Publication Date Title
US11830001B2 (en) Blockchain consensus method, accounting node and node
CN103164523A (zh) 数据一致性检查方法、装置及系统
CN108334419B (zh) 一种数据恢复的方法和装置
CN111274252A (zh) 一种区块链的数据上链方法、装置、存储介质和服务器
CN110019873B (zh) 人脸数据处理方法、装置及设备
CN104216835A (zh) 一种实现内存融合的方法及装置
CN112558875A (zh) 数据校验方法、装置、电子设备及存储介质
CN110989934B (zh) 区块链节点数据存储方法、区块链系统及区块链节点
CN109710502B (zh) 日志传输方法、装置及存储介质
CN111338688A (zh) 数据长效缓存方法、装置、计算机系统及可读存储介质
CN110874284B (zh) 数据处理的方法和装置
CN112835885A (zh) 一种分布式表格存储的处理方法、装置及系统
CN111247516A (zh) 一种电路结构、系统级芯片SoC、处理数据的方法
CN112486848A (zh) 一种测试数据的生成方法、装置、芯片及存储介质
CN110297926B (zh) 星载图像处理装置在轨配置方法
CN115129506A (zh) 一种数据传输的系统、方法以及网络设备
CN111125168A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113676314B (zh) 量子密钥管理方法、比对方法、输出方法、装置及系统
CN111625199B (zh) 提升固态硬盘数据通路可靠性的方法、装置、计算机设备及存储介质
CN111459819B (zh) 软件测试方法及装置、电子设备、计算机可读介质
CN111049877B (zh) 一种大数据对外输出方法、装置及数据开放平台
CN111193648B (zh) 降低can总线负载的数据发送方法、终端设备及存储介质
CN113268395A (zh) 业务数据的处理方法、处理装置及终端
CN111984202A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN113010103A (zh) 数据存储方法、装置、相关设备及存储介质

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