地震勘探是地球物理和油气勘探的主要方法之一(Adam et al., 1985;钟铁等,2017).随着地震勘探向着深度和复杂度方向发展,地震勘探系统的工作面积越来越大,地球物理勘探数据分析也对地震数据质量的要求越来越高,这要求数据在采集和传输过程中有较高的精度和可靠性,数据采集精度和数据传输错误引入的数据噪声直接影响后续的数据处理和解释工作(田雅男等,2015).
大型地震勘探系统存在着数据传输距离远,检波器节点多,采用多节点串联方式的数据传输系统等特点.在这些大型传感器阵列上,采用分布式读出电子学系统,每个串联的节点既要有数据采集的功能,还有数据逐级传输的功能.对于地球物理实验中海量的数据采集和数据传输而言,系统的稳定性和数据的可靠性是至关重要的,影响到后续的数据分析.因此在大型地震勘探仪器数据传输系统中,实现实验数据的高速可靠传输是系统设计的一个难点.
目前地震勘探仪器中通常使用的远程高速传输方式有RS-485、以太网及基于LVDS的SerDes技术(马毅超, 2011).高速长距离数据传输可基于长程以太网技术实现,在实验室条件下200 m CAT-6类双绞线上100 Mbps数据传输测试具有不错的稳定性和可靠性(Shang et al., 2010; Zhang et al., 2009; Zhang and Guo, 2010).陆上地震勘探早期使用的RS-485传输方式可以实现在220 m双绞线上20 Mbit/s的低误码率数据传输(Ding et al., 2009).当前使用较多的是百兆、千兆以太网及无线传输相结合的通信方式,有较为成熟的以太网传输协议,包括有差错控制、流程控制等(谢明璞, 2009; Xie et al., 2011; Savazzi et al., 2013).海上地震勘探应用比较成熟的是基于LVDS的SerDes技术,支持多缆的实时海上地震勘探数据记录系统已被实现,该数据获取系统通过LVDS技术实现了高速长距离数据传输(Cao et al., 2011, 2012; Song et al., 2012a, 2012b, 2013; Yao et al., 2010; Zhang et al., 2013).
作为一个数据传输系统,基于地震勘探的应用背景和恶劣的野外施工环境研究传输协议中的差错控制、提高系统可靠性是非常关键的工作.前面介绍的海洋和陆地地震勘探系统中的数据传输多使用通用的以太网TCP/IP协议或者使用自定义数据传输协议.TCP/IP协议可靠性高但是需要复杂的系统设计,大多数自定义数据传输协议实现简单,设计冗余少,可靠性不足.因此我们还需要研究出新的方案来实现数据的可靠稳定传输.目前国内外在这方面的研究比较少,本文的研究重点就在于此,构建一种应用于地震勘探系统的高可靠数据传输协议.
实际施工过程中,地震勘探系统有其特殊的工作环境.在实际工作环境中拖缆的不理想状态使得数据传输相对于实验室条件下变得不可靠.不可靠因素包括作用在缆上的强大拉力、扭力以及施工人员的不规范操作,这些均会造成拖缆中连接处的损坏或接触不良.连接处的传输错误是传输不可靠性的主要原因,此处的误码率比通信中要求的要高.具体的说,数据帧中的每一个字节都有可能在传输过程中发生错误.数据帧包括通道数据和决定数据存储地址的控制字符,如果这些字符被改变,数据帧的结构就被破坏.错误最终会反映到服务器软件存储的地震数据中.首先通道数据数值可能改变或者存储到错误的地址上,其次被改变数据帧有可能会打乱数据传输的秩序并影响系统的工作流程.
针对地球物理勘探中地震勘探系统的特点,我们提出了一种高可靠数据传输协议,既能提高整个数据获取系统的稳定性,同时又能提高物理实验数据可靠性.传输协议针对数据传输硬件层产生的误码造成的数据传输错误采用了充分的检测和处理,使得任何传输错误不会影响到系统的正常运行,并结合DAQ实现数据存储的容错机制,有效提高了系统稳定性和物理实验数据的可靠性,提升了地球物理勘探实验的工作效率.
1 高可靠数据传输协议框架和处理算法大型地震勘探系统的数据采集和传输结构如图 1所示,整个数据采集传输阵列由多条缆并列组成,单条缆由固定长度的缆段连接而成,缆段中按照一定距离排列数据采集单元,在缆段的连接处使用数据传输单元完成数据逐级上传,多条缆的数据最后汇总到服务器做存储和分析,高可靠数据传输协议主要就是在数据传输单元中实现.
数据传输协议的高可靠性主要通过检错、纠错、故障定位和容错存储等系统性协同算法实现,我们基于数据传输物理层的传输错误源点,抽象出影响数据传输及系统正常运行的几种错误模式,并在协议中提前补偿以解决传输错误引起的各种稳定性和数据质量问题.
协议中数据帧如表 1所示,数据帧由帧头、帧尾、数据段、校验位和错误标记位组成,帧头、帧尾组成数据帧边界.传输节点通过边界识别数据帧并往下传递或解析,数据段存储探测器阵列节点的有效实验数据,其中也包括对应节点的编号,错误标记位标记数据帧传输过程中发生错误的情况,DAQ系统获取所有节点数据并完成数据存储和分析.当硬件层传输错误发生时,数据帧中任何一个字节,包括帧头、帧尾都有可能发生改变.可抽象成以下四种错误模式: (1)帧头Head出错, 传输包接收模块检测不到数据帧开始,该数据帧丢失; (2)头尾之间的有效数据出错; (3)帧尾End出错, 当前数据帧可能会与下一个相邻的数据帧组合成为一个超出固定长度的数据帧; (4)头尾之间的有效数据被误成帧尾, 则该数据帧提前结束.后两种错误模式会导致接收数据帧时帧格式出错,长度不对.如果不做任何处理,数据传输将被阻塞在此处.我们采用的策略是传输包接收数据帧时对长度进行计数,达到固定长度后即使没有检测到帧尾字符也结束数据接收状态.如果帧尾字符提前检测到,则把它看成数据帧结尾并标记错误信息.传输包发送出去的数据帧在校验位和长度上重新规范化以避免下一级重复检测错误.
图 2所示为数据传输协议中对传输错误的处理算法和流程,处理算法从检测帧头开始.一旦检测到帧头,我们认定一个数据帧达到.从此时开始,我们检测帧头并对接收到的字节数计数判断是否计满数据帧的固定长度L.在此之前接收到的字节作为数据帧的有效数据被存储在传输包的存储单元.当检测到帧头且此时长度计数为L, 则数据帧正常,模块继续检测下一帧数据.如果检测到传输错误,检测下一帧之前先进行错误标记部分Error Mark.
当发生后两种帧长度相关的错误时,End字符会在帧长度计满L之前或之后出现.处理流程中检测到End字符而接收到的数据帧长度还没有达到L,接收模块判断这种情况为错误并在数据帧的设定位置标记,其他的错误也如此标记.另一种错误就是接收到的帧长度先到L然后再检测到End,这种情况也被标记.同时因数据内容出错而检测到CRC校验错误的数据帧也应该被标记.在数据帧发送模块,无论之前接收到的是什么样的数据帧,发送出去的都处理成固定长度L的帧结构.发送数据之前,更新数据帧中的CRC校验码以防止错误在下一级传输包被重复检测.
综上所述,四种错误模式在处理算法中均能被有效检测并做纠错处理.各采集节点的数据会被储存在正确的地址而出错的数据也不会影响到正确的数据.同时数据传输中产生的错误也不会中止数据传输系统的工作流程.
作为高可靠传输协议中系统协同的一项,故障定位算法可以统计传输错误发生的信息并监控定位传输节点上各连接处或者系统的故障情况.有两种信息可以统计:error information为发生错误信息;lost information为数据帧丢失信息.Error information显示了数据帧在传输过程中不同连接处发生错误的数据帧计数统计,Lost information表示每个传输包数据帧丢失的情况.如图 3所示为上述两种统计信息如何在DAQ中获取.
Count Error Info模块统计每个传输包在接收到数据帧时检测的传输错误计数.每当一个数据帧到达,我们检测其Error Info字节.如果该字节的最高位为“1”,则模块中对应该传输包的计数加1,对应传输包的编号可以从Error Info字节的低7位获取.
Count Frame Lost Info模块统计每一个传输包的数据帧在上传过程中发生过错误的数据帧计数.这个计数反映了拖缆上的传输包本地产生的数据帧在上传到船上系统的过程中发生过传输错误的数据帧计数.计数方式与Count Error Info中的方法刚好相反,我们预先设定一个需要接收到的数据帧计数,每检测到一个传输包的数据帧,该传输包对应计数减1.在进入模块之前丢弃检测到错误标记的数据帧,所有数据帧接收完毕后,不为0的计数就是该传输包丢失或者发生其他错误的数据帧数.
图 4显示了统计错误信息的意义.假设传输包(RU)k产生一个数据帧,该数据帧开始往上逐级传输.我们假设在数据帧传输路径中存在两个故障的连接处或电缆,在图中以红色箭头标记,其他位置传输正常.
首先考虑一种严重的情况,故障点有很高的误码率,经过此处的数据帧绝大部分都出现传输错误.这种错误对系统的工作产生了非常大的影响,物理实验没法正常进行,这种情况下及时定位故障点并检修非常必要.当传输包m接收到前面产生的数据帧并检测到错误后,该数据帧Error Info字节最高位标记为“1”,而低7位标记为“m”.传输包m到n+1之间没有发生传输错误,则Error Info字节内容保持不变.当数据帧传输到n处,再次发生了传输错误,此时Error Info字节内容更新.最后数据帧的错误信息定位在“n”,因此前面的错误信息统计的是最靠近DAQ处故障点的位置信息及出错计数.
另一种情况是两个故障点处误码率较低,假设两处的误码率分别为p和q.这种情况不足以影响系统正常工作,对实验数据分析的影响有限.当传输包m接收到数据帧时,检测到错误并标记的概率为p,当传输包n接收到数据帧时,检测到传输错误的概率为q.当数据帧最终到达DAQ时该数据帧错误标记为n,m及无错误标记的概率分别为q,p-pq,1-(q+p-pq).如果没有其他故障点,则最终的概率分布如上所述.最后统计的错误信息反映的就是每段电缆或连接点处错误发生的概率.
作为带容错设计的高可靠传输协议,有必要讨论该协议对传输效率的影响和可靠性.衡量数字通信系统可靠性的指标可使用信号在传输过程中出错的概率来表述,即用差错率来衡量,差错率越大,表明系统可靠性越差.容错设计在数据传输的可靠性能提升上是具有明显作用的,在协议层上利用循环冗余码实现有效的检错,基于物理实验的数据获取实时性考虑,没有采取重传策略,而是结合具体施工环境使用了误码定位和统计的措施提高了排除故障效率.因为增加了校验位和错误标记位信息,传输协议的效率有一定降低,但同时协议中对帧长度错误的处理避免了传输过程紊乱的情况,协议层的设计在系统角度上降低了数据传输的差错率,提高了系统可靠性.
2 高可靠传输协议具体实现基于高可靠传输协议中的检错、纠错、故障定位和容错存储的算法,我们设计实现了满足需求的传输数据帧以及数据存储方法.首先数据帧中的通道数据必须有其独一无二的地址.如图 5所示记录下来的通道数据组成一个三维的数据阵列,XY轴描述检波器阵列,Z轴描述了单个检波器记录的数据波形.
数据帧中关于通道数据存储地址的字节保证了检波器的数据存储在正确的位置.其中Pkgnum表示传输包编号,Sampnum表示采样点编号.系统的存储模块并没有二维的结构,通道数据的位置可以转换成存储器中的地址信息,再进行相应的存储.地址的计算公式如下:存储地址=(Pkgnum-1)*每个传输包的有效数据字节数+(传输包中通道的编号-1)*每个通道的有效数据字节数+Sampnum.每个传输包的有效数据字节数和每个通道的有效数据字节数都与采样率、采样时间及每个传输包的通道数成正相关.
数据帧格式定义如表 2所示,包括Head, End以及中间的有效数据.Head、End字节定义了数据帧的边界,在我们的设计中使用K28.6、K28.7字符作为数据帧头尾标记.这两个字符为8B/10B中的控制字符,控制字符的10B编码不会与中间的有效数据发生冲突,传输包接收数据时通过边界识别数据帧.
为了避免错误数据帧影响其他正常数据,我们在汇总收集数据帧时检验出错误数据帧并丢弃.CRC校验码用于检验数据帧内容是否因传输错误发生变化,Error info字节记录传输错误信息.如果传输包检测到有传输错误时,Error info字节的最高位置为1,低7位置为当前检测到错误的传输包包号.每当传输错误被检测到后,该字节就被更新一次,所以在统计错误信息时结果显示的是故障连接点及其发生错误次数.
图 6显示通道数据如何存储在正确的地址以及实现数据帧错误发生后对其他正常通道数据不产生影响.通过CRC校验或者帧长度检测机制识别的传输错误发生后,该数据帧被丢弃.因此存储在储存系统中的数据都是没有发生过错误的数据,错误数据帧不会影响正常传输的数据帧.错误数据帧中通道数据对应的存储空间数值置为0.这样的处理对后续地震数据分析影响不大.通道数据存储地址可以从数据帧中提取,对应前文提到的数据帧结构,Pkgnum(=n)为传输包编号,Sampnum(=k)为采样点号, 反映时间信息.Chnum_in_pkg(=m)表示数据帧中不同通道数据对应的位置信息,与探测器分布位置有关.假设一个传输包包含N字节存储空间,单通道包含M字节存储空间.传输包编号为n,数据帧中通道编号为m,采样点号为k的通道数据存储地址为(n-1)*N+(m-1)*M+k.
基于高可靠数据传输协议的实现,我们在多节点数据采集和数据传输系统中做充分测试和验证,测试结构如图 7所示.
Head RU和End RU节点正常工作, ErrsimTrams对接收到的数据帧加入随机错误,并上传.这里产生的随机错误包含了第1节介绍的四种错误.DAU仿真部分产生采集数据,系统工作流程由DAQ部分控制.Head RU、End RU节点的编号为01、02,ErrsimTrans部分不参与编号.除了Type, Pkgnum, Error Info及CRC这些特殊字符,通道数据填“0”.
测试过程中每个DAUs产生1000个数据帧,ErrsimTrams错误仿真模块利用伪随机数,对End RU的数据帧产生100个传输错误,其中帧内容出错的概率为50%,帧变长出错的概率为20%,帧变短出错的概率为20%,丢帧出错的概率为10%.容错协议检错、标错及DAQ数据和错误统计的结果如表 3所示.
测试过程中,整个数据传输没有因为传输过程中的帧结构被破坏而出现系统紊乱、数据存储错位、正常数据帧丢失等传输错误可能引起的情况,同时DAQ对传输错误的统计结果与实际情况一致,可以定位到具体的故障点,达到高可靠传输协议中各算法设计的预期目标.
基于仿真结果,我们将可靠传输协议集成和适配到中海油“海亮”系统中,并做了系统测试,实验结果显示传输系统对多种传输错误模式识别、纠正以及错误信息统计的上报都达到预期效果,如图 8所示,帧内错误、帧尾丢失、帧头丢失、帧内数据误成帧尾四种错误均在实际系统中正确识别和统计,并在最后的数据存储中做容错处理.同时在长时间压力测试中表现稳定,具体测试结果如图 9所示,持续运行8小时400次采集表现稳定,系统未出现因传输错误导致的中断.
本文提出了一种用于大型地球物理勘探实验中多节点数据传输系统的高可靠数据传输协议设计,应用于实际系统并得到充分测试.对于几种传输错误模式的合适处理策略都保证了系统中数据传输的容错性和系统的可靠性.协议针对数据传输硬件层产生的误码造成的数据传输错误采用了充分的检测和处理,使得任何传输错误不会影响到系统的正常运行,并结合DAQ实现数据存储容错机制,有效提高了系统稳定性和物理实验数据的可靠性,提升了大型地球物理实验的工作效率.我们把这种高可靠传输协议结合自定义的数据传输物理层和链路层应用到了大面积地震勘探的数据传输系统中,测试得到的地震勘探的数据的可靠性和稳定性都得到了很大提高,这对于其他大型地球物理实验同样具有很大意义.
Adam V, Urbina M, Suarez R E. 1985. Telemetric seismic data-acquisition system. IEEE Transactions on Instrumentation and Measurement, 34(1): 81-84. |
Cao P, Song K Z, Yang J F, et al. 2011. Design of a large remote seismic exploration data acquisition system, with the architecture of a distributed storage area network. Journal of Geophysics and Engineering, 8(1): 27-34. DOI:10.1088/1742-2132/8/1/005 |
Cao P, Song K Z, Yang J F, et al. 2012. A real-time data transmission method based on Linux for physical experimental readout systems.//2012 18th IEEE-NPSS Real Time Conference. Berkeley, CA, USA: IEEE. https://www.sciencedirect.com/science/article/pii/S0920379612003286
|
Ding T H, Li C, Wang P, et al. 2009. RS-485 bus-based high-speed data/power transmission method available for seismic exploration instrument. Journal of Tsinghua University (Science and Technology), 49(5): 688-691. |
Ma Y C. 2011. Study on high-speed reliable data transmission for oil seismic exploration[Ph. D. thesis] (in Chinese). Hefei: University of Science and Technology of China.
|
Savazzi S, Spagnolini U, Goratti L, et al. 2013. Ultra-wide band sensor networks in oil and gas explorations. IEEE Communications Magazine, 51(4): 150-160. DOI:10.1109/MCOM.2013.6495774 |
Shang L F, Cao P, Song K Z, et al. 2010. Design of long-distance and high-speed data transmission system based on long range Ethernet technique.//2010Second ⅡTA International Conference on Geoscience and Remote Sensing. Qingdao, China: IEEE, 544-547. https://ieeexplore.ieee.org/document/5602913
|
Song K Z, Cao G P, Yang J F, et al. 2012a. A high-precision synchronous sampling approach for large-scale distributed wire sensor networks in seismic data acquisition systems. Instrumentation Science & Technology, 40(6): 567-579. |
Song K Z, Cao P, Yang J F, et al. 2012b. A high-speed transmission method for large-scale marine seismic prospecting systems. Journal of Geophysics and Engineering, 9(6): 737-748. DOI:10.1088/1742-2132/9/6/737 |
Song K Z, Cao P, Yang J F, et al. 2013. A two-stage distributed architecture for DAQ in thousand-channel physics experiments. IEEE Transactions on Nuclear Science, 60(5): 3678-3682. DOI:10.1109/TNS.2013.2280154 |
Tian Y N, Li Y, Lin H B, et al. 2015. Application of GNMF wavelet spectral unmixing in seismic noise suppression. Chinese Journal of Geophysics (in Chinese), 58(12): 4568-4575. DOI:10.6038/cjg20151219 |
Xie M P. 2009. Key technologies of large scale seismic survey system design[Ph. D. thesis] (in Chinese).Hefei: University of Science and Technology of China.
|
Xie M P, Wu J, Kong Y, et al. 2011. Implementation of asymmetrydata transmission channels in a cascaded network based on Ethernet PHY. Journal of Jilin University (Engineering and Technology Edition), 41(1): 209-213. |
Yao L, Cao P, Song K Z, et al. 2010. A software design based on distributed architecture for seismic exploration system.//2010 Second ⅡTA International Conference on Geoscience and Remote Sensing. Qingdao, China: IEEE. https://www.infona.pl/resource/bwmeta1.element.ieee-art-000005602687
|
Zhang H X, Guo H F. 2010. Design of long distance transmission based on LVDS bus.//2010 3rd International Conference on Advanced Computer Theory and Engineering. Chengdu, China: IEEE, V5-104-V5-107. https://ieeexplore.ieee.org/document/5579266
|
Zhang Q S, Deng M, Guo J, et al. 2013. Development of a new seismic-data acquisition station based on system-on-a-programmable-chip technology. Annals of Geophysics, 56(3): R0329. DOI:10.4401/ag-6309 |
Zhang S F, Zhang K L, Cao P, et al. 2009. Design and realization of remote synchronous data transmission system based on distributed architecture of serial concurrent bus.//2009 9th International Conference on Electronic Measurement & Instruments. Beijing, China: IEEE. https://www.researchgate.net/publication/224597753_Design_and_realization_of_remote_synchronous_data_transmission_system_based_on_distributed_architecture_of_serial_concurrent_bus
|
Zhong T, Li Y, Yang B J, et al. 2017. Statistical features of the random noise in land seismic prospecting. Chinese Journal of Geophysics (in Chinese), 60(2): 655-664. DOI:10.6038/cjg20170219 |
马毅超. 2011.大规模陆上地震仪器中高速可靠数据传输方法的研究[博士论文].合肥: 中国科学技术大学. http://cdmd.cnki.com.cn/Article/CDMD-10358-1011125097.htm
|
田雅男, 李月, 林红波, 等. 2015. GNMF小波谱分离在地震勘探噪声压制中的应用. 地球物理学报, 58(12): 4568-4575. DOI:10.6038/cjg20151219 |
谢明璞. 2009.大规模陆上地震仪器结构设计的关键技术[博士论文].合肥: 中国科学技术大学. http://cdmd.cnki.com.cn/Article/CDMD-10358-2009111192.htm
|
谢明璞, 武杰, 孔阳, 等. 2011. 基于以太网物理层传输芯片的级联型传感器网络的非对称数据传输通道实现. 吉林大学学报(工学版), 41(1): 209-213. |
钟铁, 李月, 杨宝俊, 等. 2017. 陆地地震勘探随机噪声统计特性. 地球物理学报, 60(2): 655-664. DOI:10.6038/cjg20170219 |