CN116701274B - 一种热插拔硬盘数据传输系统及方法 - Google Patents
一种热插拔硬盘数据传输系统及方法 Download PDFInfo
- Publication number
- CN116701274B CN116701274B CN202310921541.7A CN202310921541A CN116701274B CN 116701274 B CN116701274 B CN 116701274B CN 202310921541 A CN202310921541 A CN 202310921541A CN 116701274 B CN116701274 B CN 116701274B
- Authority
- CN
- China
- Prior art keywords
- data block
- hard disk
- transmission
- current data
- check code
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012795 verification Methods 0.000 claims abstract description 18
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 238000013524 data verification Methods 0.000 claims description 7
- 238000011084 recovery Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 5
- 239000000284 extract Substances 0.000 abstract description 3
- 230000007547 defect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
本发明涉及数据传输技术领域,提出了一种热插拔硬盘数据传输系统及方法,该系统包括:主体传输发送模块和硬盘传输接收模块,主体传输发送模块根据主体对比队列和硬盘对比队列中的校验码,判断发送主体的待传输数据中的当前数据块是否为未传输;若是,将当前数据块的校验码存入主体对比队列,并将校验码插入当前数据块传输至接收硬盘;若否,将待传输数据中的下一数据块作为当前数据块;硬盘传输接收模块在接收硬盘接收到数据块时,提取数据块中的校验码存入硬盘对比队列。本发明通过将校验计算与传输重叠操作,以校验码作为数据标识将待传输数据分为若干个数据块进行传输与校验,确保传输正确性的同时,解决了硬盘热插拔断点传输问题。
Description
技术领域
本发明涉及数据传输领域,尤其是一种热插拔硬盘数据传输系统及方法。
背景技术
硬盘热插拔技术是指在系统运行过程中,可以随时插入或拔出硬盘,而不会影响系统正常运行或导致数据丢失。在过去,由于硬盘无法热插拔,一旦需要更换硬盘,就必须关机才能进行操作,这给用户带来了很大的不便。而热插拔技术的出现解决了这一问题,使得用户可以在系统运行中,随时更换和升级硬盘,提高了硬件维护的效率和便捷性。同时,热插拔技术也有助于提高系统的可用性和可靠性。
现有硬盘热插拔技术大多都是为保护硬盘结构、内部数据以及主体系统,如USB、Thunderbolt、SATA等。这些技术在热插拔时会先中断数据的传输然后再断电。这一做法使得硬盘设备在分离主体(服务器或其他支持硬盘的设备)前处于非工作状态。这些技术虽然保护了硬盘设备及内部数据不被损坏,但在主体与硬盘存在频繁数据传输的场景下,现有技术会有明显的缺陷。比如在卫星信号监测任务中,信号监测设备每天都会接收大量的信号数据、由于算力和内置板载存储有限,且这些数据并不能及时分析,因此需要将信号数据从板载存储转移到硬盘中。这一过程中,硬盘与信号监测设备会持续处于数据传输状态,当发生硬盘断电或者是人为将硬盘拔出时,没有传输完成的数据将会损坏,即使重新将硬盘插入,为未完成数据也将从头传输,这无疑提高了时间成本。
发明内容
为解决上述现有技术问题,本发明提供一种热插拔硬盘数据传输系统及方法,旨在解决现有技术中硬盘热插拔的数据断点传输问题。
本发明的第一方面,提供了一种热插拔硬盘数据传输系统,其特征在于,包括:
主体传输发送模块;
硬盘传输接收模块;
其中,所述主体传输发送模块配置于发送主体,用于判断所述发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;
其中,所述硬盘传输接收模块配置于接收硬盘,用于在所述接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列;
其中,所述主体传输发送模块根据所述主体对比队列和所述硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输。
可选的,所述主体传输发送模块,包括:
校验码生成单元;
其中,所述校验码生成单元用于根据预设多项式,确定当前数据块和当前数据块的校验码;
其中,确定当前数据块和当前数据块的校验码,具体为:将预设多项式的各项系数作为多项式二进制码,对待传输数据以多项式二进制码为除数做除法,当商的位数等于预设位数时,将被除数作为当前数据块,将余数作为所述当前数据块的校验码。
可选的,所述主体传输发送模块,还包括:
传输判断单元;
其中,所述传输判断单元用于获取所述主体对比队列和所述硬盘对比队列中的校验码,取连续相同的校验码作为基准队列,将当前数据块的校验码与所述基准队列比较;若所述当前数据块的校验码存在于所述基准队列,则所述当前数据块已传输;若所述当前数据块的校验码未存在于所述基准队列,则所述当前数据块未传输。
可选的,所述主体传输发送模块,还包括:
校验码插入单元;
数据块切分单元;
其中,所述校验码插入单元用于在所述当前数据块的头部和尾部分别插入校验码;
其中,所述数据块切分单元用于对头部和尾部具有校验码的当前数据块进行切分,以使所述主体传输发送模块将切分后的当前数据块传输至所述接收硬盘。
可选的,所述校验码插入单元,还用于在所述当前数据块的尾部插入校验码之前,插入数量等于预设多项式最高次数的功能码。
可选的,所述硬盘传输接收模块,包括:
数据校验单元;
其中,所述数据校验单元用于对所述接收硬盘接收到的数据块进行校验;当校验成功时,将所述校验码存入硬盘对比队列;当校验失败时,向所述主体传输发送模块发送数据重传信号;
其中,对所述接收硬盘接收到的数据块进行校验,具体为:提取所述数据块中的校验码,以所述校验码作为除数对待传输数据中剩余数据块做除法;若余数为0,则检验成功;若余数不为0,则校验失败。
可选的,所述主体传输发送模块,还包括:
数据重传单元;
其中,所述数据重传单元用于在主体传输发送模块接收到数据重传信号时,将待传输数据中的当前数据块传输至所述接收硬盘。
可选的,所述主体传输发送模块,还包括:
当前数据块更新单元;
其中,所述当前数据块更新单元用于在将校验码存入硬盘对比队列后,将待传输数据中的下一数据块更新为当前数据块。
可选的,所述主体传输发送模块,还包括:
线程快照记录单元;
线程快照恢复单元;
其中,所述线程快照记录单元用于在所述发送主体未检测到所述接收硬盘时,记录判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程快照;
其中,所述线程快照恢复单元用于在所述发送主体重新检测到所述接收硬盘时,恢复判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程,并执行当前数据块的传输。
本发明的第二方面,提供了一种热插拔硬盘数据传输方法,包括:
判断发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;
在接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列;
其中,判断发送主体的待传输数据中的当前数据块是否为未传输步骤,具体为:根据所述主体对比队列和所述硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输。
本发明的有益效果在于:提出了一种热插拔硬盘数据传输系统及方法,通过将校验计算与传输重叠操作,以校验符作为数据标识将所传输数据分为若干数据块,弥补了现有技术在硬盘断电和拔出并重插后,数据需要从头重新传输的缺陷,并且在传输的过程中即可进行分块传输校验,确保传输的正确性,避免了现有技术中所有数据都传输完成后校验发现错误需要全部重新传输的情形。
附图说明
图1为本发明所提供的热插拔硬盘数据传输系统的结构示意图;
图2为本发明所提供的热插拔硬盘数据传输方法的流程示意图。
附图标记:
10-主体传输发送模块;20-硬盘传输接收模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
参照图1,图1为本发明实施例提供的一种热插拔硬盘数据传输系统的结构示意图。
如图1所示,一种热插拔硬盘数据传输系统,具有:主体传输发送模块10和硬盘传输接收模块20。
需要说明的是,所述主体传输发送模块10配置于发送主体,用于根据主体对比队列和硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;所述硬盘传输接收模块20配置于接收硬盘,用于在所述接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列。
其中,主体传输发送模块10从发送主体内置存储中读取数据,作为待传输数据,此时,由于不清楚所述待传输数据中的哪些数据是已传输数据,哪些数据是未传输数据,若从待传输数据的头部进行传输,可能导致数据重复传输。因此,首先根据主体对比队列和硬盘对比队列中的校验码,来判断发送主体的待传输数据中的当前数据块是否为未传输。在此之后,若当前数据块未传输,则将当前数据块的校验码存入主体对比队列,以对主体对比队列进行更新,便于后续数据块传输时执行是否传输的判断,同时,将校验码插入当前数据块并将所述当前数据块传输至接收硬盘,完成此次数据块发送过程。硬盘传输接收模块20从接收硬盘接收的数据块中提取数据块中的校验码,将该校验码存入硬盘对比队列,以对硬盘对比队列进行更新,便于后续数据块传输时执行是否传输的判断。
本实施例中,通过为待传输数据中的当前数据块生成校验码,利用在发送主体和接收硬盘分别设置的用于存储发送数据块的校验码的主体对比队列和用于存储接收数据块的校验码的硬盘对比队列,根据主题对比队列和硬盘对比队列中的校验码来判断当前数据块是否为已传输,在当前数据块未传输时执行数据块传输,在当前数据块已传输时将下一数据块作为当前数据块重新进行判断。由此,实现对发送主体中待传输数据进行传输时,仅传输未传输的数据块,弥补了现有技术在硬盘断电和拔出并重插后,数据需要从头重新传输的缺陷,提高了数据传输效率,降低了时间成本。
在优选的实施例中,主体传输发送模块10,包括:校验码生成单元。
需要说明的是,所述校验码生成单元用于根据预设多项式,确定当前数据块和当前数据块的校验码。其中,确定当前数据块和当前数据块的校验码,具体为:将预设多项式的各项系数作为多项式二进制码,对待传输数据以多项式二进制码为除数做除法,当商的位数等于预设位数时,将被除数作为当前数据块,将余数作为所述当前数据块的校验码。
在实际应用中,发送主体在进行待传输数据传输时,由于待传输数据通常为较大的数据文件,而为了实现硬盘的热插拔断点续传,需要将较大的数据文件切分为若干个数据块进行传输,由此,在数据传输出现硬盘断电或拔出时,可仅对未传输的数据块进行传输,实现断点续传。本实施例中,通过校验码生成单元基于预设的多项式在待传输数据中确定此次传输的当前数据块和对应的校验码。
具体而言,取预设多项式的各项系数作为多项式二进制码,对待传输数据以多项式二进制码为除数做除法;更进一步的,为了在对较大的数据文件进行切分时,获得数据量合理的数据块,以避免每个数据块被切分的太小导致整体数据传输效率低或每个数据被切分的太大导致数据断点续传时需要重复传输之前被打断传输的数据块所耗费时间较多等情况。因此,本实施例对每个数据块的数据量进行固定选取,通过对待传输数据以多项式二进制码为除数做除法所得的商的位数来选取固定数据量的数据块,当商的位数等于预设位数时,将被除数(即在待传输数据中当前选取的数据位)作为当前数据块;当商的位数小于预设位数时,增大被除数(即在待传输数据中选取更多的数据位)并重新判断商的位数是否等于预设位数。由此,通过预设位数的设置来对待传输数据中的每个数据块按数据量大小进行切分,提高数据整体传输和断点传输的效率。
另外,本实施例对待传输数据以多项式二进制码为除数做除法,将被除数作为当前数据块,将余数作为所述当前数据块的校验码。由此,生成的当前数据块和当前数据块的校验码具有其唯一性,实现在数据块切分的同时生成校验码,利用该校验码的唯一性能够帮助主体传输发送模块10判断对应的数据块是否已传输,实现发送主体与接收硬盘断点续传的传输判断。本实施例通过采用预设多项式和预设位数在确定当前数据块的同时,提供了用于支持断点续传的校验码的生成方案,无需再额外使用校验码生成算法,降低了热插拔硬盘数据传输算法的复杂度。
在优选的实施例中,主体传输发送模块10,还包括:传输判断单元。
需要说明的是,所述传输判断单元用于获取所述主体对比队列和所述硬盘对比队列中的校验码,取连续相同的校验码作为基准队列,将当前数据块的校验码与所述基准队列比较;若所述当前数据块的校验码存在于所述基准队列,则所述当前数据块已传输;若所述当前数据块的校验码未存在于所述基准队列,则所述当前数据块未传输。
本实施例中,主体传输发送模块10的传输判断单元用于判断待传输数据中的当前数据块是否为已传输。具体而言,传输判断单元首先将硬盘对比队列和主体对比队列中的值进行对比,取连续相同的值作为基准队列(初始时硬盘对比队列和主体对比队列都为空队列),通过将待传输数据中当前数据块的校验码与基准队列中的值进行比较,若所述当前数据块的校验码存在于所述基准队列,则所述当前数据块已传输,此时将下一数据块作为当前数据块重新进行判断,直到某一个当前数据块的校验码与基准队列中的值不同或者基准队列中的值都比较完时,获得未传输的当前数据块。
由此,通过硬盘对比队列和主体对比队列生成的具有已传输数据块的校验码的基准队列,与待传输数据中每个当前数据块的校验码进行比较,以此,确定前次进行待传输数据的传输时已传输的数据块,进而驱动未传输的数据块进行传输,弥补了现有技术在硬盘断电和拔出并重插后,数据需要从头重新传输的缺陷,提高了数据传输效率,降低了时间成本。
在优选的实施例中,主体传输发送模块10,还包括:校验码插入单元和数据块切分单元。
需要说明的是,所述校验码插入单元用于在所述当前数据块的头部和尾部分别插入校验码;所述数据块切分单元用于对头部和尾部具有校验码的当前数据块进行切分,以使所述主体传输发送模块10将切分后的当前数据块传输至所述接收硬盘。
本实施例中,在获得当前数据块和当前数据块对应的校验码后,将该校验码插入当前数据块,以使当前数据块在传输至接收硬盘时,将校验码一同发送至接收硬盘,便于接收硬盘对接收到的数据块进行记录,实现断点续传中对于已传输数据块和未传输数据快的区分。
具体而言,在进行校验码插入时,在当前数据块的头部和尾部分别插入校验码,头部的校验码作为数据块标识,尾部的校验码为余项补充项并作为数据块的一部分。在一些实施例中,所述校验码插入单元,还用于在所述当前数据块的尾部插入校验码之前,插入数量等于预设多项式最高次数的功能码。在实际应用中,功能码可以设置为预设多项式最高次数的“0”。
在此之后,数据块切分单元根据每个数据块的头部和尾部插入的校验码对待传输数据中的当前数据块进行切分,进而可通过主体传输发送模块10将切分后的具有校验码的当前数据块传输至接收硬盘。由此,实现当前数据块与当前数据块对应的校验码的传输。
在优选的实施例中,硬盘传输接收模块20,包括:数据校验单元。
需要说明的是,所述数据校验单元用于对所述接收硬盘接收到的数据块进行校验;当校验成功时,将所述校验码存入硬盘对比队列;当校验失败时,向所述主体传输发送模块10发送数据重传信号。
本实施例中,硬盘传输接收模块20的数据校验单元对接收硬盘接收到的数据块进行校验,在校验时,提取所述数据块中的校验码,以所述校验码作为除数对待传输数据中剩余数据块做除法;若余数为0,则检验成功;若余数不为0,则校验失败。
其中,接收硬盘在接收到发送主体传输的数据块时,可通过将数据块中的校验码提取出来,利用改校验码对接收到的数据块进行传输校验,确保传输的正确性,并在确定传输正确时,将校验码存入硬盘对比队列,否则,让发送主体重新发送该数据块。由此,在接收数据块时使用对应的校验码进行传输校验,避免了现有技术中所有数据都传输完成后校验发现错误需要全部重新传输的情形。
另外,在利用校验码进行传输校验时,由于校验码在主体传输发送模块10是利用预设多项式的各项系数构成的多项式二进制码作为除数,在待传输数据中选取对应位数的数据块作为被除数,两者相除的余数来获得,因此,在接收硬盘进行传输校验时,可利用该校验码与待传输数据中剩余数据块做除法,根据余数来判断当前接收到的数据块是否为发送主体当前传输的数据块,能够通过将校验计算与传输重叠操作,以校验码作为数据标识将所传输数据分为若干数据块,再利用校验码与剩余数据块进行传输校验,无需再额外使用校验码生成算法,通过一个校验码实现断点续传和数据校验两个步骤功能,降低了热插拔硬盘数据传输算法的复杂度。
在优选的实施例中,主体传输发送模块10,还包括:数据重传单元和当前数据块更新单元。
需要说明的是,所述数据重传单元用于在主体传输发送模块10接收到数据重传信号时,将待传输数据中的当前数据块传输至所述接收硬盘。所述当前数据块更新单元用于在将校验码存入硬盘对比队列后,将待传输数据中的下一数据块更新为当前数据块。
本实施例中,当硬盘传输接收模块20对接收到的数据块校验失败时,会向所述主体传输发送模块10发送数据重传信号,此时,主体传输发送模块10需要在接收到数据重传信号时,对当前数据块进行重新发送,直至硬盘传输接收模块20对该数据块校验成功。因此,为了保证主体传输发送模块10在对当前数据块进行发送时,需要在硬盘传输接收模块20接收到数据块并且数据校验成功时,才将待传输数据中的下一个数据块进行传输,主体传输发送模块10还设置有当前数据块更新单元,用于在硬盘传输接收模块20中将接收到的数据块的校验码存入硬盘对比队列(即数据块传输且数据校验成功)时,将待传输数据中的下一数据块更新为当前数据块,进而对下一数据块进行如上步骤的传输。
由此,通过在传输每个数据块时,利用校验码对硬盘传输接收模块20接收到的每个数据块进行传输校验,仅在校验成功才进行后续数据块的传输,在传输的过程中即可进行分块传输校验,确保传输的正确性,避免了现有技术中所有数据都传输完成后校验发现错误需要全部重新传输的情形。
在优选的实施例中,主体传输发送模块10,还包括:线程快照记录单元和线程快照恢复单元。
需要说明的是,所述线程快照记录单元用于在所述发送主体未检测到所述接收硬盘时,记录判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程快照;所述线程快照恢复单元用于在所述发送主体重新检测到所述接收硬盘时,恢复判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程,并执行当前数据块的传输。
本实施例中,在发送主体检测到接收硬盘断电或拔出时,通过主体传输发送模块10中的线程快照记录单元,记录判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程快照;在发送主体检测到接收硬盘上电或插回时,恢复判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程,以最后匹配的校验码为续传节点进行断点续传。
由此,本申请通过提出一种适用于存在频繁数据传输场景的热插拔硬盘数据传输系统,通过将校验计算与传输重叠操作,以校验符作为数据标识将所传输数据分为若干数据块,弥补了现有技术在硬盘断电和拔出并重插后,数据需要从头重新传输的缺陷,并且在传输的过程中即可进行分块传输校验,确保传输的正确性,避免了现有技术中所有数据都传输完成后校验发现错误需要全部重新传输的情形。
参照图2,图2为本发明实施例提供的一种热插拔硬盘数据传输方法的流程示意图。
如图2所示,一种热插拔硬盘数据传输方法,包括如下步骤:
S1:判断发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;
S2:在接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列;
其中,判断发送主体的待传输数据中的当前数据块是否为未传输步骤,具体为:根据所述主体对比队列和所述硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输。
本实施例中,将校验计算与传输重叠操作,以校验符作为数据标识将所传输数据分为若干数据块,弥补了现有技术在硬盘断电和拔出并重插后,数据需要从头重新传输的缺陷,并且在传输的过程中即可进行分块传输校验,确保传输的正确性,避免了现有技术中所有数据都传输完成后校验发现错误需要全部重新传输的情形。
本申请热插拔硬盘数据传输方法的具体实施方式与上述热插拔硬盘数据传输系统各实施例基本相同,在此不再赘述。
在本发明的实施例的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“中心”、“顶”、“底”、“顶部”、“底部”、“内”、“外”、“内侧”、“外侧”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。其中,“里侧”是指内部或围起来的区域或空间。“外围”是指某特定部件或特定区域的周围的区域。
在本发明的实施例的描述中,术语“第一”、“第二”、“第三”、“第四”仅用以描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“组装”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的实施例的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的实施例的描述中,需要理解的是,“-”和“~”表示的是两个数值之同的范围,并且该范围包括端点。例如:“A-B”表示大于或等于A,且小于或等于B的范围。“A~B”表示大于或等于A,且小于或等于B的范围。
在本发明的实施例的描述中,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (8)
1.一种热插拔硬盘数据传输系统,其特征在于,包括:
主体传输发送模块;
硬盘传输接收模块;
其中,所述主体传输发送模块配置于发送主体,用于判断所述发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;
其中,所述硬盘传输接收模块配置于接收硬盘,用于在所述接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列;
其中,所述主体传输发送模块根据所述主体对比队列和所述硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输;
其中,所述主体传输发送模块,包括:
校验码生成单元;
其中,所述校验码生成单元用于根据预设多项式,确定当前数据块和当前数据块的校验码;
其中,确定当前数据块和当前数据块的校验码,具体为:将预设多项式的各项系数作为多项式二进制码,对待传输数据以多项式二进制码为除数做除法,当商的位数等于预设位数时,将被除数作为当前数据块,将余数作为所述当前数据块的校验码;
其中,所述主体传输发送模块,还包括:
校验码插入单元;
数据块切分单元;
其中,所述校验码插入单元用于在所述当前数据块的头部和尾部分别插入校验码;
其中,所述数据块切分单元用于对头部和尾部具有校验码的当前数据块进行切分,以使所述主体传输发送模块将切分后的当前数据块传输至所述接收硬盘。
2.根据权利要求1所述的热插拔硬盘数据传输系统,其特征在于,所述主体传输发送模块,还包括:
传输判断单元;
其中,所述传输判断单元用于获取所述主体对比队列和所述硬盘对比队列中的校验码,取连续相同的校验码作为基准队列,将当前数据块的校验码与所述基准队列比较;
若所述当前数据块的校验码存在于所述基准队列,则所述当前数据块已传输;
若所述当前数据块的校验码未存在于所述基准队列,则所述当前数据块未传输。
3.根据权利要求1所述的热插拔硬盘数据传输系统,其特征在于,所述校验码插入单元,还用于在所述当前数据块的尾部插入校验码之前,插入数量等于预设多项式最高次数的功能码。
4.根据权利要求1所述的热插拔硬盘数据传输系统,其特征在于,所述硬盘传输接收模块,包括:
数据校验单元;
其中,所述数据校验单元用于对所述接收硬盘接收到的数据块进行校验;当校验成功时,将所述校验码存入硬盘对比队列;当校验失败时,向所述主体传输发送模块发送数据重传信号;
其中,对所述接收硬盘接收到的数据块进行校验,具体为:提取所述数据块中的校验码,以所述校验码作为除数对待传输数据中剩余数据块做除法;若余数为0,则检验成功;若余数不为0,则校验失败。
5.根据权利要求4所述的热插拔硬盘数据传输系统,其特征在于,所述主体传输发送模块,还包括:
数据重传单元;
其中,所述数据重传单元用于在主体传输发送模块接收到数据重传信号时,将待传输数据中的当前数据块传输至所述接收硬盘。
6.根据权利要求4所述的热插拔硬盘数据传输系统,其特征在于,所述主体传输发送模块,还包括:
当前数据块更新单元;
其中,所述当前数据块更新单元用于在将校验码存入硬盘对比队列后,将待传输数据中的下一数据块更新为当前数据块。
7.根据权利要求1所述的热插拔硬盘数据传输系统,其特征在于,所述主体传输发送模块,还包括:
线程快照记录单元;
线程快照恢复单元;
其中,所述线程快照记录单元用于在所述发送主体未检测到所述接收硬盘时,记录判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程快照;
其中,所述线程快照恢复单元用于在所述发送主体重新检测到所述接收硬盘时,恢复判断所述发送主体的待传输数据中的当前数据块是否为未传输的线程,并执行当前数据块的传输。
8.一种热插拔硬盘数据传输方法,其特征在于,包括:
判断发送主体的待传输数据中的当前数据块是否为未传输;若是,将所述当前数据块的校验码存入主体对比队列,并将所述校验码插入所述当前数据块传输至接收硬盘;若否,将所述待传输数据中的下一数据块作为当前数据块;
其中,根据预设多项式,确定当前数据块和当前数据块的校验码;
其中,确定当前数据块和当前数据块的校验码,具体包括:将预设多项式的各项系数作为多项式二进制码,对待传输数据以多项式二进制码为除数做除法,当商的位数等于预设位数时,将被除数作为当前数据块,将余数作为所述当前数据块的校验码;
其中,在所述当前数据块的头部和尾部分别插入校验码,对头部和尾部具有校验码的当前数据块进行切分,以使主体传输发送模块将切分后的当前数据块传输至所述接收硬盘;
在接收硬盘接收到数据块时,提取所述数据块中的校验码,并将所述校验码存入硬盘对比队列;
其中,判断发送主体的待传输数据中的当前数据块是否为未传输步骤,具体为:根据所述主体对比队列和所述硬盘对比队列中的校验码,判断所述发送主体的待传输数据中的当前数据块是否为未传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921541.7A CN116701274B (zh) | 2023-07-26 | 2023-07-26 | 一种热插拔硬盘数据传输系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921541.7A CN116701274B (zh) | 2023-07-26 | 2023-07-26 | 一种热插拔硬盘数据传输系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701274A CN116701274A (zh) | 2023-09-05 |
CN116701274B true CN116701274B (zh) | 2023-11-17 |
Family
ID=87825985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310921541.7A Active CN116701274B (zh) | 2023-07-26 | 2023-07-26 | 一种热插拔硬盘数据传输系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701274B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014123258A (ja) * | 2012-12-21 | 2014-07-03 | Hitachi Ltd | ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム |
CN103988189A (zh) * | 2011-12-08 | 2014-08-13 | 国际商业机器公司 | 检测在信息设备之间的数据传输的数据丢失的方法 |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
WO2017177926A1 (zh) * | 2016-04-13 | 2017-10-19 | 中兴通讯股份有限公司 | 一种数据传输处理方法和装置 |
CN109639745A (zh) * | 2019-02-27 | 2019-04-16 | 同济汽车设计研究院有限公司 | 一种断点续传的无人车航线数据传输系统及其方法 |
CN111478751A (zh) * | 2020-03-30 | 2020-07-31 | 百富计算机技术(深圳)有限公司 | 一种数据断点续传方法、装置及终端设备 |
CN112702065A (zh) * | 2020-12-18 | 2021-04-23 | 广东高云半导体科技股份有限公司 | Fpga码流数据校验方法及装置 |
CN114461444A (zh) * | 2021-12-03 | 2022-05-10 | 北京时代精衡航天科技有限公司 | 一种热插拔数据传输方法及装置 |
WO2022111277A1 (zh) * | 2020-11-25 | 2022-06-02 | 中兴通讯股份有限公司 | 热插拔设备信息传输方法、计算机设备和可读介质 |
CN115129509A (zh) * | 2022-06-30 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、介质 |
US11481270B1 (en) * | 2021-06-16 | 2022-10-25 | Ampere Computing Llc | Method and system for sequencing data checks in a packet |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873384B2 (en) * | 2010-11-01 | 2014-10-28 | Cisco Technology, Inc. | Bandwidth indication in RTS/CTS frames |
US10992467B2 (en) * | 2018-03-16 | 2021-04-27 | Colossio, Inc. | System and method for encrypting information with polynomial distributed strings |
TWI796564B (zh) * | 2020-05-12 | 2023-03-21 | 緯穎科技服務股份有限公司 | 電子裝置及其可熱插拔的儲存裝置 |
-
2023
- 2023-07-26 CN CN202310921541.7A patent/CN116701274B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103988189A (zh) * | 2011-12-08 | 2014-08-13 | 国际商业机器公司 | 检测在信息设备之间的数据传输的数据丢失的方法 |
JP2014123258A (ja) * | 2012-12-21 | 2014-07-03 | Hitachi Ltd | ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム |
CN104639294A (zh) * | 2015-02-10 | 2015-05-20 | 浪潮电子信息产业股份有限公司 | 一种改进的crc校验实现方法 |
WO2017177926A1 (zh) * | 2016-04-13 | 2017-10-19 | 中兴通讯股份有限公司 | 一种数据传输处理方法和装置 |
CN109639745A (zh) * | 2019-02-27 | 2019-04-16 | 同济汽车设计研究院有限公司 | 一种断点续传的无人车航线数据传输系统及其方法 |
CN111478751A (zh) * | 2020-03-30 | 2020-07-31 | 百富计算机技术(深圳)有限公司 | 一种数据断点续传方法、装置及终端设备 |
WO2022111277A1 (zh) * | 2020-11-25 | 2022-06-02 | 中兴通讯股份有限公司 | 热插拔设备信息传输方法、计算机设备和可读介质 |
CN112702065A (zh) * | 2020-12-18 | 2021-04-23 | 广东高云半导体科技股份有限公司 | Fpga码流数据校验方法及装置 |
US11481270B1 (en) * | 2021-06-16 | 2022-10-25 | Ampere Computing Llc | Method and system for sequencing data checks in a packet |
CN114461444A (zh) * | 2021-12-03 | 2022-05-10 | 北京时代精衡航天科技有限公司 | 一种热插拔数据传输方法及装置 |
CN115129509A (zh) * | 2022-06-30 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、装置、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116701274A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7889384B2 (en) | Method for more efficiently managing complex payloads in a point of sale system | |
CN101123485B (zh) | iSCSI报文处理方法和装置、错误恢复方法和装置 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN112631628A (zh) | 单片机升级方法、单片机、存储介质 | |
CN114710224A (zh) | 帧同步方法及装置、计算机可读介质、电子设备 | |
CN104184543A (zh) | 一种数据传输的方法、装置和系统 | |
CN105141685A (zh) | 文件读写系统及其元数据存储器和文件读写方法和装置 | |
CN110704257A (zh) | 固态硬盘及其质量监测方法、装置和计算机可读存储介质 | |
CN116701274B (zh) | 一种热插拔硬盘数据传输系统及方法 | |
CN109728879B (zh) | 串口突发接入应用层slip协议报文同步纠错方法 | |
CN106293621B (zh) | 一种固件升级方法及装置 | |
CN105159790B (zh) | 一种数据抢救方法及文件服务器 | |
CN116027986A (zh) | 一种数据存储校验方法、装置、设备及存储介质 | |
CN108243323B (zh) | 一种软件升级方法及装置 | |
CN115658404A (zh) | 一种测试方法及系统 | |
CN212572587U (zh) | Can总线数据采集器及can总线分析系统 | |
CN115129509A (zh) | 一种数据传输方法、装置、介质 | |
CN100561953C (zh) | 一种记录诊断数据的方法 | |
CN107239378B (zh) | 一种超时监测方法及系统 | |
US7310762B2 (en) | Detection of errors | |
US7904758B2 (en) | System, method and apparatus for tracing source of transmission error | |
US6915475B1 (en) | Data integrity management for data storage systems | |
CN111045873B (zh) | 一种pcie外接设备拔插稳定性的检测方法 | |
CN116980290B (zh) | 红外通讯升级方法、装置和电子设备 | |
CN101272218A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |