CN100418312C - 数字数据传输检错方法及系统 - Google Patents
数字数据传输检错方法及系统 Download PDFInfo
- Publication number
- CN100418312C CN100418312C CNB2005100807331A CN200510080733A CN100418312C CN 100418312 C CN100418312 C CN 100418312C CN B2005100807331 A CNB2005100807331 A CN B2005100807331A CN 200510080733 A CN200510080733 A CN 200510080733A CN 100418312 C CN100418312 C CN 100418312C
- Authority
- CN
- China
- Prior art keywords
- digital data
- verification
- transmitting terminal
- terminal verification
- receiver
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明是一种数字数据传输检错方法及系统,该系统至少包括:发送端处理单元和接收端处理单元,搭配到数字数据来源装置和数字数据接收装置,提供数字数据传输检错功能;本发明采用一种改良型的校验和数据传输检错算法,其中是将校验和从某个固定值开始进行累加,且在该累加过程中依次将原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为校验和,本发明可在原始数字数据流中字节发生顺序错误的状况下,仍可检测出错误状况,使得接收端更可靠地确认接收到的传输数字数据流是否正确。
Description
技术领域
本发明是关于一种计算机信息技术,特别是关于一种数字数据传输检错方法及系统,应用在数字数据来源装置(例如网络服务器)和数字数据接收装置(例如网络工作站),该数字数据接收装置可确认该数字数据来源装置传送来的传输数字数据流是否发生传输错误。
背景技术
校验和(checksum)是计算机信息系统常用的一种数字数据传输检错方法,数据接收端用来确认数据发送端传送来的数字数据流(例如文件或数据包)是否发生传输错误导致接收错误的数据。若发生传输错误状况,则数据接收端即会回传传输错误信息到数据传输端,令数据传输端重新传送原先的数字数据流。
目前计算机信息领域采用的校验和计算方法包括许多不同方式运算法,其中最简单的一种方法是直接求得数字数据流中所有字节值的总和,也就是首先由发送端将要传送的原始数字数据流中所有字节(例如8位的字节、16位的码字或32位的双码字)的值进行累加程序,得到发送端的校验和,并将此发送端校验和连同该原始数字数据流一同传送出去;接着在接收端接收到传输数字数据流时,对该接收到的传输数字数据流再进行完全相同的累加程序,得到接收端校验和。理论上,若传输无误,则该接收端校验和应等于发送端校验和;反之若发生传输错误状况,则接收端校验和不等于发送端校验和。因此接收端只要检查计算得到的接收端校验和,是否等于该接收到的传输数字数据流中附带的发送端校验和,即可判别该接收到的传输数字数据流是否有传输错误。
然而实际应用上,上述校验和数据传输检错方法的一项缺点在于,在某些特殊的情况下无法检测出该接收到的传输数字数据流是否发生传输错误状况。例如,假设有一原始数字数据流包括3个8位的字节{[12][23][45]},但该原始数字数据流在传输过程中因发生错误状况被错置成{[23][12][45]};在这种情况下,发送端得到的校验和是12+23+45=7A(注:16进制的累加运算),接收端得到的校验和也同样是23+12+45=7A。由于二者完全相等,因此即会使得接收端将该接收到的传输数字数据流误判为完全正确。
发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种改良型的数字数据传输检错方法及系统,数据接收端能够更可靠地确认从数据发送端传送来的传输数字数据流是否发生传输错误。
本发明的数字数据传输检错方法及系统是应用在数据发送端及数据接收端,其中,该数据发送端是数字数据来源装置(如网络服务器),数据接收端则为数字数据接收装置(如网络工作站),该数字数据接收装置可确认该数字数据来源装置传送来的传输数字数据流是否有发生传输错误。
本发明的数字数据传输检错方法至少包括以下步骤:在该数据发送端,对原始数字数据流进行校验和计算程序,求得发送端校验和;其中是将该发送端校验和从某个固定值开始进行累加,且在该累加过程中依次将该原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为发送端校验和;在该数据发送端,将求得的发送端校验和附加到该原始数字数据流;在该数据发送端,将该发送端校验和附带地连同该原始数字数据流一同传送到该数据接收端;在该数据接收端,接收该数据发送端传送来的传输数字数据流和发送端校验和;在该数据接收端,对该传输数字数据流进行接收端校验和计算程序,求得接收端校验和;其中该接收端校验和计算程序与该数据发送端执行的发送端校验和计算程序完全相同;以及在该数据接收端,将该接收端校验和与该数据接收端接收到的发送端校验和进行对比;若不相符,则发出传输错误信息。
本发明的数字数据传输检错系统至少包括:(A)发送端处理单元;以及(B)接收端处理单元;其中该发送端处理单元搭载到该数字数据来源装置,其内部结构至少包括:(A1)发送端校验和计算模块,对原始数字数据流进行校验和计算程序,求得发送端校验和;其中是将该发送端校验和从某个固定值开始进行累加,且在该累加过程中依次将该原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终所得的累加值作为发送端校验和;(A2)校验和附加模块,将该发送端校验和计算模块求得的发送端校验和附加到该原始数字数据流;以及(A3)发送模块,将该校验和附加模块输出的原始数字数据流和发送端校验和一同传送到该数字数据接收装置;且其中该接收端处理单元搭载到该数字数据接收装置,且其内部结构至少包括:(B1)接收模块,接收该发送端处理单元中的发送模块传送来的传输数字数据流和发送端校验和;(B2)接收端校验和计算模块,对该接收模块接收到的传输数字数据流进行接收端校验和计算程序,求得接收端校验和;其中该接收端校验和计算程序与该发送端处理单元中的发送端校验和计算模块执行的发送端校验和计算程序完全相同;以及(B3)校验和对比模块,将该接收端校验和计算模块计算出的接收端校验和与该接收模块所接收到的发送端校验和对比;若不相符,则发出传输错误信息。
综上所述,本发明的数字数据传输检错方法及系统采用了一种改良型的校验和数据传输检错算法,将校验和从某一固定值(例如为0)开始进行累加程序,且在该累加过程中依次将原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为校验和。本发明可在原始数字数据流中字节发生顺序错误的状况下,仍可检测出错误状况,使得接收端更可靠地确认接收到的传输数字数据流是否正确。
附图说明
图1是本发明的数字数据传输检错系统的分布式应用结构示意图;以及
图2是本发明的数字数据传输检错系统中发送端处理单元和接收端处理单元的内部结构的对象导向组件模型。
具体实施方式
实施例
以下即配合附图,详细说明本发明的数字数据传输检错方法及系统的实施例。
图1是本发明的数字数据传输检错系统(如标号30所指虚线框包括的部分)的应用方式及其分布式的系统结构。如图所示,本发明的数字数据传输检错系统30实际应用上是以分散方式搭载到数字数据来源装置10和数字数据接收装置20,该数字数据接收装置20可确认该数字数据来源装置10传送来的原始数字数据流是否有发生传输错误。实际应用上,该数字数据来源装置10和该数字数据接收装置20可例如分别是网络服务器和网络工作站,或分别为计算机周边装置(例如硬盘机或光驱)和计算机平台等。
如图1所示,本发明的数字数据传输检错系统30的对象导向组件模型(object-oriented component model)至少包括2个分布式的单元:(A)发送端处理单元100;以及(B)接收端处理单元200;其中该发送端处理单元100是搭载到数字数据来源装置10,如图2所示,其内部结构至少包括:(A1)发送端校验和计算模块110;(A2)校验和附加模块120;以及(A3)发送模块130;该接收端处理单元200则是搭载到数字数据接收装置20,如图2所示,其内部结构至少包括:(B1)接收模块210;(B2)接收端校验和计算模块220;以及(B3)校验和对比模块230。
下面首先分别说明数字数据来源装置10上搭载的发送端处理单元100中各个模块的个别属性及功能。
发送端校验和计算模块110可对该数字数据来源装置10要传送到数字数据接收装置20的每一个数字数据流(以下称为原始数字数据流301),例如是文件或数据包,进行改良型的校验和计算程序,借此求得发送端校验和。此改良型的校验和计算程序的算法如下所示:
(S1)检测该原始数字数据流301中的字节总数和各个字节的值,并将字节总数值储存在变量CNT中,以及将各个字节的值分别储存在数组变量DATA(i)中,其中i=0to CNT-1;
(S2)令CHECKSUM=0;
(S3)FOR n=0 to CNT-1
CHECKSUM=(CHECKSUM XOR CNT)+DATA(n)。
其中步骤S(2)和S(3)即代表将字节的值从0开始累加,并在累加过程中依次将每一个字节的值附加上前一累加值与字节总数值CNT的异或(Exclusive OR,XOR)逻辑运算值。此累加程序最终的累加值即用来作为发送端校验和。
校验和附加模块120将上述发送端校验和计算模块110求得的发送端校验和附加在该原始数字数据流301中,该发送端校验和可附带地连同该原始数字数据流301一同传送给数字数据接收装置20。
发送模块130将上述校验和附加模块120输出的原始数字数据流301和发送端校验和一同传送给该数字数据接收装置20。此外,若发送模块130接收到数字数据接收装置20回传的传输错误信息,则可再重新执行一次发送程序。
下面接着说明数字数据接收装置20上搭载的接收端处理单元200中各个模块的个别属性及功能。
接收模块210可接收上述发送端处理单元100中的发送模块130传送来的各个数字数据流(以下称为传输数字数据流302)和附带的发送端校验和。由于传输过程中可能发生错误,因此传输数字数据流302可能并不完全相同于原始数字数据流301。
接收端校验和计算模块220可对上述接收模块210接收到的传输数字数据流302进行校验和计算程序,借此求得接收端校验和;其中该接收端校验和计算模块220采用的校验和计算程序与上述发送端处理单元100中的发送端校验和计算模块110执行的校验和计算程序完全相同。
校验和对比模块230可将上述接收端校验和计算模块220计算出的接收端校验和,与该接收模块210接收到的发送端校验和进行对比。若相符合,则代表传输正常,因此校验和对比模块230即响应地发出传输正常信息,令接收模块210响应地将接收到的传输数字数据流302传送给数字数据接收装置20进行处理;反之若不相符,即代表传输过程发生错误,因此校验和对比模块230即响应地发出传输错误信息,令该接收模块210将此传输错误信息回传给该发送端处理单元100中的发送模块130,令发送模块130重新执行一次发送程序。
以下即以实例说明本发明的数字数据传输检错系统30在实际应用时的运行方式。在此应用实例中,假设数字数据来源装置10要将原始数字数据流301传送给数字数据接收装置20,其中该原始数字数据流301例如包括3个8位的字节{[12][23][45]},该原始数字数据流301在传输过程中因发生错误被错置成{[23][12][45]}。
在实际传送之前,上述原始数字数据流301将首先由发送端校验和计算模块110对其进行发送端校验和计算程序,也就是上述步骤S(1)-S(3);其中在步骤(S1)中可得出CNT=3、DATA(0)=[12]、DATA(1)=[23]和DATA(2)=[45];接着在步骤(S2)中,令CHECKSUM1=0;在步骤(S3)中经由累加即可得CHECKSUM1=7F(注:16进制累加运算)。接着由校验和附加模块120将该发送端校验和计算模块110求得的发送端校验和CHECKSUM1=7F附加到该原始数字数据流301;并令发送模块130将该原始数字数据流301连同该发送端校验和CHECKSUM1=7F一同传送到该数字数据接收装置20。在此传输过程中,假设该原始数字数据流301因发生传输错误,使传输数字数据流302改变成{[23][12][45]}。
在接收端的该数字数据接收装置20,接收端处理单元200中的接收模块210接收该发送端处理单元100中发送模块130传送来的发生传输错误的数字数据流{[23][12][45]}和发送端校验和CHECKSUM1=7F;并将该错误的数字数据流{[23][12][45]}传送给接收端校验和计算模块220,进行接收端校验和计算程序;其中在步骤(S1)中可得CNT=3、DATA(0)=[23]、DATA(1)=[12]和DATA(2)=[45];在步骤(S3)中可得CHECKSUM2=79(注:16进制累加运算)。接着即由校验和对比模块230负责将该接收端校验和计算模块210计算出的接收端校验和CHECKSUM2=79,与该接收模块210接收到的发送端校验和CHECKSUM1=7F进行对比。由于结果不相符,因此校验和对比模块230响应地发出传输错误信息,令该接收模块210将此传输错误信息回传给该发送端处理单元100中的发送模块130,令该发送模块130重新执行一次发送程序。
反之,若上述原始数字数据流301在传输过程中未发生传输错误,接收模块210接收到正确的数字数据流{[12][23][45]},则该接收端校验和计算模块220计算出的接收端校验和同样地为CHECKSUM2=7F,使得校验和对比模块230执行的对比结果相符合,因此校验和对比模块230即响应地发出传输正常信息,令接收模块210响应地将其接收到的传输数字数据流302传送给数字数据接收装置20作处理。
本发明的数字数据传输检错方法至少包括以下步骤:首先,在该数据发送端,对原始数字数据流301进行校验和计算程序,借此求出发送端校验和;其中将该发送端校验和从某个固定值开始进行累加,且在该累加过程中依次将该原始数字数据流301中的每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为发送端校验和。
随后,在该数据发送端,将得到的发送端校验和附加到该原始数字数据流301中。
接着,在该数据发送端,将该发送端校验和附带地连同该原始数字数据流301一同传送到该数据接收端;在该数据接收端,接收该数据发送端传送来的传输数字数据流302和发送端校验和。
然后,在该数据接收端,对该传输数字数据流302进行接收端校验和计算程序,求得接收端校验和;其中该接收端校验和计算程序与该数据发送端执行的发送端校验和计算程序完全相同。
最后,在该数据接收端,将该接收端校验和与该数据接收端接收到的发送端校验和进行对比;若不相符,则发出传输错误信息。
总而言之,本发明提供了一种新颖的数字数据传输检错方法及系统,可搭配至数字数据来源装置和数字数据接收装置,提供数字数据传输检错功能;本发明采用了一种改良型的校验和数据传输检错算法,将校验和从某个固定值(例如0)开始进行累加程序,且在该累加过程中依次将数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为校验和。在数字数据流中字节发生顺序错误的状况下,本发明仍可检测出这种错误,使接收端能够更可靠地确认接收到的数字数据流是否正确,本发明因此比现有技术具有更佳的进步性及实用性。
Claims (6)
1. 一种数字数据传输检错方法,应用在数据发送端和数据接收端,提供数字数据传输检错功能,其特征在于,该数字数据传输检错方法至少包括:
在该数据发送端,对原始数字数据流进行校验和计算程序,求得发送端校验和;其中是将该发送端校验和从某个固定值开始进行累加,且在该累加过程中依次将该原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为发送端校验和;
在该数据发送端,将求得的发送端校验和附加到该原始数字数据流;
在该数据发送端,将该发送端校验和附带地连同该原始数字数据流一同传送到该数据接收端;
在该数据接收端,接收该数据发送端传送来的传输数字数据流和发送端校验和;
在该数据接收端,对该传输数字数据流进行接收端校验和计算程序,求得接收端校验和;其中该接收端校验和计算程序与该数据发送端执行的发送端校验和计算程序完全相同;以及
在该数据接收端,将该接收端校验和与该数据接收端接收到的发送端校验和进行对比;若不相符,则发出传输错误信息。
2. 如权利要求1所述的数字数据传输检错方法,其特征在于,该数据发送端和该数据接收端分别是网络服务器和网络工作站。
3. 如权利要求1所述的数字数据传输检错方法,其特征在于,该数据发送端和该数据接收端分别是计算机周边装置和计算机平台。
4. 一种数字数据传输检错系统,搭配到数字数据来源装置和数字数据接收装置,提供数字数据传输检错功能,其特征在于,此数字数据传输检错系统至少包括:发送端处理单元和接收端处理单元;
其中
该发送端处理单元搭载到该数字数据来源装置,其内部结构至少包括:
发送端校验和计算模块,可对原始数字数据流进行校验和计算程序,求得发送端校验和;其中是将该发送端校验和从某个固定值开始进行累加,且在该累加过程中依次将该原始数字数据流中每一个字节的值附加上前一累加值与字节总数值的异或逻辑运算值,并将最终得到的累加值作为发送端校验和;
校验和附加模块,将该发送端校验和计算模块求得的发送端校验和附加到该原始数字数据流;以及
发送模块,将该校验和附加模块输出的原始数字数据流和发送端校验和一同传送到该数字数据接收装置;
且其中该接收端处理单元搭载到该数字数据接收装置,其内部结构至少包括:
接收模块,接收该发送端处理单元中发送模块传送来的传输数字数据流和发送端校验和;
接收端校验和计算模块,对该接收模块接收到的传输数字数据流进行接收端校验和计算程序,求得接收端校验和;其中该接收端校验和计算程序与该发送端处理单元中的发送端校验和计算模块执行的发送端校验和计算程序完全相同;以及
校验和对比模块,将该接收端校验和计算模块计算出的接收端校验和,与该接收模块接收到的发送端校验和进行对比;若不相符,则发出传输错误信息。
5. 如权利要求4所述的数字数据传输检错系统,其特征在于,该数字数据来源装置和该数字数据接收装置分别是网络服务器和网络工作站。
6. 如权利要求4所述的数字数据传输检错系统,其特征在于,该数字数据来源装置和该数字数据接收装置分别是计算机周边装置和计算机平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100807331A CN100418312C (zh) | 2005-06-30 | 2005-06-30 | 数字数据传输检错方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100807331A CN100418312C (zh) | 2005-06-30 | 2005-06-30 | 数字数据传输检错方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889407A CN1889407A (zh) | 2007-01-03 |
CN100418312C true CN100418312C (zh) | 2008-09-10 |
Family
ID=37578668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100807331A Expired - Fee Related CN100418312C (zh) | 2005-06-30 | 2005-06-30 | 数字数据传输检错方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100418312C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494518B (zh) * | 2008-01-25 | 2011-12-21 | 车王电子股份有限公司 | 无线通讯的封包处理方法 |
CN108155971B (zh) * | 2017-12-26 | 2020-06-16 | 重庆金山医疗器械有限公司 | 数据传输处理方法及食管pH值检测系统数据传输装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926856A2 (en) * | 1997-12-27 | 1999-06-30 | Sony Corporation | Crosstalk suppression in a radio network |
JP2001053621A (ja) * | 1999-08-13 | 2001-02-23 | Nec Kofu Ltd | Crc生成部およびcrc計算装置 |
WO2003084078A1 (en) * | 2002-03-28 | 2003-10-09 | Adaptec, Inc. | Separable cyclic redundancy check |
CN1600003A (zh) * | 2001-11-30 | 2005-03-23 | 三星电子株式会社 | 在分组数据控制信道上发送和接收数据的装置和方法 |
CN1614567A (zh) * | 2003-11-06 | 2005-05-11 | 华为技术有限公司 | 一种id状态信号线的检测方法 |
-
2005
- 2005-06-30 CN CNB2005100807331A patent/CN100418312C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926856A2 (en) * | 1997-12-27 | 1999-06-30 | Sony Corporation | Crosstalk suppression in a radio network |
JP2001053621A (ja) * | 1999-08-13 | 2001-02-23 | Nec Kofu Ltd | Crc生成部およびcrc計算装置 |
CN1600003A (zh) * | 2001-11-30 | 2005-03-23 | 三星电子株式会社 | 在分组数据控制信道上发送和接收数据的装置和方法 |
WO2003084078A1 (en) * | 2002-03-28 | 2003-10-09 | Adaptec, Inc. | Separable cyclic redundancy check |
CN1614567A (zh) * | 2003-11-06 | 2005-05-11 | 华为技术有限公司 | 一种id状态信号线的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1889407A (zh) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7185262B2 (en) | Method and device for monitoring a data processing and transmission | |
US20120324312A1 (en) | Selective masking for error correction | |
CN107547574B (zh) | 一种基于通用协议的通信系统及方法 | |
CN100504796C (zh) | 存储系统中的强制端到端完整性检查的设备、系统和方法 | |
JPH0328094B2 (zh) | ||
US6601210B1 (en) | Data integrity verification in a switching network | |
US20070283229A1 (en) | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code | |
CN112612638A (zh) | 基于usb3.2协议16比特循环冗余校验的硬件实现方法 | |
CN114531289A (zh) | 基于人工智能的系统交互方法及相关设备 | |
CN100418312C (zh) | 数字数据传输检错方法及系统 | |
CN109753369B (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
CN111478751A (zh) | 一种数据断点续传方法、装置及终端设备 | |
CN107733568B (zh) | 基于fpga实现crc并行计算的方法及装置 | |
CN105871511B (zh) | 为组合数据帧提供联合纠错码的方法和设备和传感器系统 | |
CN104868973A (zh) | 数据完整性校验方法和系统 | |
Prasetiadi et al. | Faulty node detection in distributed systems using BCH code | |
CN116861493A (zh) | 一种校验码生成方法、处理器及电子设备 | |
US8429484B2 (en) | Digitized radar information redundancy method and system | |
WO2022227472A1 (zh) | 基于双通道和rssp-i的通信方法、装置、电子设备及存储介质 | |
US7424667B2 (en) | Digital data transmission error checking method and system | |
Santos et al. | Error detection method for the ARINC429 communication | |
CN111786842B (zh) | 数据处理方法及硬件在环测试系统 | |
CN112596944A (zh) | 基于usb3.0协议16比特循环冗余校验的硬件实现方法 | |
US20070283208A1 (en) | Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features | |
US6948110B2 (en) | Transmission data loss detection system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080910 Termination date: 20110630 |