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

一种水平运输车辆无线通讯异常的处理方法

文献发布时间:2024-04-18 20:02:40


一种水平运输车辆无线通讯异常的处理方法

技术领域

本发明属于集装箱码头技术领域,具体地说,是涉及一种水平运输车辆无线通讯异常的处理方法。

背景技术

目前,越来越多的集装箱码头逐步向自动化码头转型,自动化码头除了要投入大量的智能设备外,还需加强智能控制系统的研发,用户通过智能控制系统加强对智能设备的管控,在保证系统任务准确下发到设备的同时,更要通过系统保障设备的安全,因此需要提高系统与设备之间无线通讯的可靠性。

以往码头操作系统与水平运输车辆的通讯采用单线程阻塞模型,一条线程在某一时刻只能处理一个任务,即此线程在某一时刻要么进行UDP数据报的读任务,要么进行指令的16进制解析或者进行TCP任务的发送,因此,当线程的某一处任务因故障无法完成时,会造成UDP数据报内容累积而无法处理,从而导致系统也无法实时获取水平运输车辆的心跳,当超出系统设置的心跳时间范围后,系统便失去与水平运输车辆的通讯,导致车辆的安全无法得到保障。

发明内容

为解决设备与系统无线通讯时经常发生的故障问题,本发明旨在提供一种水平运输车辆无线通讯异常的处理方法,水平运输车辆单机的信息通过用户数据报协议(UDP)反馈给系统,系统与水平运输车辆单机的任务传输通过传输控制协议(TCP)完成,任务处理发生异常问题时,根据车辆的状态、路况、信号强度等因素,动态调整UDP数据报和TCP数据报的发送频率,也即改变UDP数据报和TCP数据报的传输量,能够避免过时数据的积压,在保证无线通讯的可靠性和实时性的同时,起到提高通讯效率和灵活性的技术效果。

本发明采用以下技术方案予以实现:

提出一种水平运输车辆无线通讯异常的处理方法,包括:

码头操作系统通过UDP协议请求水平运输车辆的单机心跳和实时信息;通过TCP协议与水平运输车辆建立任务传输通道;

在任务处理过程无异常时,以第一频率请求UDP数据报,以第二频率传输TCP数据报;其中,第一频率高于第二频率;

在任务处理过程发生异常时,将UDP数据报的请求频率从第一频率降至第三频率,将TCP数据报的传输频率从第二频率提高至第四频率;其中,第四频率高于第三频率。

在本发明一些实施例中,所述第三频率和所述第四频率根据水平运输车辆的车辆状态、路况和/或信号强度调整。

在本发明一些实施例中,所述方法还包括在UDP数据报和TCP数据报中加入BCH码的步骤,则通过修正编码多项式来纠正错误的步骤包括:

设c(x)=s(x)Q(x)+e(x);其中,c(x)为接收消息,s(x)为发送的正确消息,Q(x)=p(x)p

当传输中出现错误时,接收消息表示为c(x)=s(x)Q(x)+e(x)+e1(x)+e2(x)+……+e(2t-1)(x);

采用1+x^(2t-1)mod(p(x))计算p

采用c(x^(2t-1))mod(p(x))计算余项;

根据余项不为零的数量确定传输错误出现的段数。

在本发明一些实施例中,所述方法还包括接收消息错误定位的步骤,包括:

计算(y-e(x))(y-e1(x))……(y-e(2t-1)(x))=0的根;

根据不为零的根对应的t值定位错误位置;

将错误位置的码反转再除以Q(x)得到正确的接收消息。

在本发明一些实施例中,所述方法还包括:

将每一辆水平运输车辆的UDP数据报分发到相应队列保存,并设置队列长度;

通过TCP协议从水平运输车辆的队列中获取任务事件按序处理,当处理出现异常时,每一辆水平运输车辆的UDP数据报仍旧分发到相应的队列中。

在本发明一些实施例中,所述方法还包括:

为每辆水平运输车辆建立单独的UDP数据报发送通道,并注册事件到选择器;

选择器监测满足注册事件的UDP数据报发送通道,将从UDP数据报发送通道获取的数据存放至对应的队列中;

解析UDP数据报得到请求事件,将任务通过TCP数据报发送给相应的水平运输车辆;

当水平运输车辆反馈TCP数据报的时间超出设定时间时,选择器重新从其对应的队列中获取最新数据;

当水平运输车辆反馈TCP数据报的时间未超出设定时间时,水平运输车辆执行任务。

在本发明一些实施例中,所述方法还包括:

根据通讯评价指标确定第一频率和第二频率;所述通讯评价指标包括延迟、丢包率和吞吐量。

与现有技术相比,本发明的优点和积极效果是:本发明提出的水平运输车辆无线通讯异常的处理方法中,通过UDP协议将单机的心跳和实时信息反馈至系统,UDP协议不用于在水平运输车辆与系统之间建立连接,可以尽快完成数据的传输;系统对水平运输车辆之间任务的传输通过TCP协议进行,TCP协议系统与水平运输车辆之间建立可靠连接,确保水平运输车辆接收到系统下发的任务并反馈给系统;当任务处理过程中某一环节发生异常导致进程无法顺利进行下去时,根据车辆的状态、路况、信号强度等因素,动态调整UDP数据报和TCP数据报的传输频率,保证系统不会因丢失车辆的心跳而与车辆失去通讯,保障系统与水平运输车辆之间通讯正常。

结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明提出的水平运输车辆无线通讯异常的处理方法的步骤示意;

图2为本发明给出的BCH码纠错时干扰项和余项的对应关系示意;

图3为本发明给出的水平运输车辆无线通讯过程示意。

需要说明的是,这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对实施例中的技术方案进行清楚、完整的描述,以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明提出的水平运输车辆无线通讯异常的处理方法,如图1所示,包括如下步骤:

S1:码头操作系统通过UDP协议请求水平运输车辆的单机心跳和实时信息,通过TCP协议与水平运输车辆建立任务传输通道。

本发明中,通过UDP协议将单机的心跳和实时信息反馈至码头操作系统,但UDP协议不用于水平运输车辆与系统之间建立连接,因此可以尽快完成数据的传输,满足系统对水平运输车辆实时情况的掌握,便于对水平运输车辆的安全保障。码头操作系统与水平运输车辆之间任务的传输通过TCP协议进行,通过TCP协议系统与水平运输车辆之间建立三次握手的可靠连接,能够确保水平运输车辆接收到系统下发的任务,并反馈给系统。

步骤S2:在任务处理过程无异常时,以第一频率请求UDP数据报,以第二频率传输TCP数据报。

当水平运输车辆的状态正常,路况畅通,信号强度高时,UDP数据报的传输按照第一频率进行,例如以1秒发送一次的频率进行,TCP数据报的传输频率则按照第二频率进行,例如以3秒发送一次的频率进行。这是因为UDP具有高效、实时、无连接的特点,适合传输水平运输车辆单机的信息反馈,而TCP具有可靠、有序、面向连接的特点,适合传输系统与水平运输车辆单机的任务指令。在这种情况下,通讯异常的概率较低,因此可以优先使用UDP来提高通讯效率和实时性。

步骤S3:在任务处理过程发生异常时,将UDP数据报的请求频率从第一频率降至第三频率,将TCP数据报的传输频率从第二频率提高至第四频率。

当任务处理过程中某一环节发生故障导致进程无法顺利进行下去时,例如通道堵塞,例如数据报解析异常等,将UDP数据报的传输频率和TCP数据报的传输频率根据车辆的状态、路况、信号强度等因素实施动态调整,降低UDP数据报的传输频率,例如从1秒一次降低到3秒一次,提高TCP数据报的传输频率,例如从3秒一次提高到1秒1次,保证系统不会因丢失车辆的心跳而与车辆失去通讯,保障系统与水平运输车辆之间的通讯正常。这是因为,在这种情况下通讯异常的概率较高,可能导致数据报的丢失、延迟、乱序等问题。因此,需要使用TCP协议来保证通讯的可靠性和有序性,避免出现错误或冲突的情况就,同时,TCP协议还可以通过拥塞控制和流量控制来适应网络状况的变化,提高通讯的稳定性。

针对车辆通讯过程中可能会出现的丢包、信息错误等不稳定问题,本发明将BCH码技术结合入水平运输车辆的通讯过程中,能够有效解决通讯不稳定的问题。例如,当使用最高次为4的本源多项式时,每次可纠正5bit的信息,也就是说每5bit的信息出现误码时,均可以被BCH码发现并纠正。

在有限域中多项式可表示成二进制bit流的形式,二进制多项式加法和二进制的按位异或等同(二进制流所受的干扰可用加法表示),多项式乘法及其逆运算能够实现多项式的恢复,本原多项式能保证逆运算结果具有唯一性。这些特征非常适合用来构建秘密共享协议。

假设正确的消息是s(x),将其乘上一个编码多项式p(x),得到s(x)p(x)再将其发送过去。发送过程中受到的干扰、造成的失真可以表示为e(x),于是多项式被加上错误多项式e(x),而接收者接收的消息为c(x),可得:

c(x)=s(x)p(x)+e(x);

接收者事先和发送者约定好p(x),收到信息后让c(x)除以p(x),如果余项是0,即没有e(x),没有受到干扰,那么商就是s(x),就是正确的消息。如果余项不是零,商就变成了s(x)+e(x)/p(x),无法将真正的消息分离出来。

上述方法有个前提,那就是在s(x)+e(x)/p(x)中,p(x)必须是不可约的本原多项式(primitive polynomials),这样才能让e(x)不被除尽,接收者才能意识到有干扰的存在。

例如,在GF(2^4)上,有本原多项式p(x)=x^2+x+1。假设s(x)是1001,而编码多项式p(x)是1101,则s(x)p(x)=1100101。若收到了干扰e(x)=0000010,则接受到1100111,并且e(x)和所得余项一一对应,通过余项结果可找到对应的e(x),如图2所示。

既然一个本原多项式可以纠正一个错误,那么可以通过修正编码多项式来纠正多处错误:c(x)=s(x)Q(x)+e(x);令其中Q(x)=p(x)p

如果要设计一个可以纠正两个错误的编码多项式,就让Q(x)=p(x)p

对于p(x)=x^4+x+1,有(x^12+x^9+x^6)=1+x^3(mod p(x)),所以(x^12+x^9+x^6+x^3+1)=0(mod p(x))。用x代替x^3,可得:

p

以有三处错误的BCH码为例,设发送的消息s(x)为11010,本原多项式为p(x)=x^4+x+1,那么Q(x)=p(x)p

p

则Q(x)=p(x)p

表示成二进制是11101100101,再乘上消息s(x)就是c(x)=100001110110010。

如果传输过程中产生了错误e(x),那么c(x)应当表示为:

c(x)=s(x)p(x)p

如果接收者收到的c(x)出现了两处错误,c(x)值为101000110110010。那么接收者需要计算:

c(x)mod p(x)=x^13+x^10+x^9+x^7+x^6+x^2+1=x;

c(x^3)mod p(x)=x^39+x^30+x^27+x^21+x^18+x^6+1=x^13;

c(x^5)mod p(x)=x^65+x^50+x^45+x^35+x^30+x^10+1=0;

可见,前两项余项不为0,而第三项为0。说明接收者收到的信息有两处错误。若是想要找出具体的错误位置,就需要用到错误定位多项式(error locator polynomial):

(y-e(x))(y-e1(x))(y-e2(x))=0;

由于第三项e2(x)可以视作为0,因此只需要找到这个函数的两个根,即e(x)和e1(x)。设:

z_1=e(x)+e1(x)+e2(x);

z_2=e(x)^2+e1(x)^2+e2(x)^2;

z_3=e(x)^3+e1(x)^3+e2(x)^3;

此时有:

(y-e(x))(y-1e(x))(y-e2(x))=y^3-(e(x)+e1(x)+e2(x))y^2+(e(x)e1(x)+e(x)e1(x)+e1(x)e2(x))y-e(x)e1(x)e2(x)=0;

另有:

e(x)+e1(x)+e2(x)+z_1=0;

e(x)e1(x)e2(x)+(e(x)e1(x)+e(x)e2(x)+e1(x)e2(x))z_1+(e(x)+e1(x)+e2(x))z_2+z_3=0;

e(x)e1(x)e2(x)z_2+(e(x)e1(x)+e(x)e2(x)+e1(x)e2(x))z_3+(e(x)+e1(x)+e2(x))z_4+z_5=0;

可得:

e(x)+e1(x)+e1(x)=x;

e(x)e1(x)+e(x)e2(x)+e1(x)e2(x)=x^7;

e(x)e1(x)e2(x)=0。

代入(y-e(x))(y-e1(x))(y-e2(x))=0中可得:

^^

y_1=x 2;y_2=x 5;y_3=0。

即错误一在第三位,错误二在第六位,没有第三个错误。于是将101000110110010的第三位和第六位反转得100001110110010,再除11101100101就得到了信息m(x)=11010。

当水平运输车辆的状态和路况介于上述两种情况之间时,UDP数据报的传输频率和TCP数据报的传输频率根据信号强度进行相应的调整。信号强度越高,UDP数据报比例越高;信号强度越低,TCP数据报比例越高。这样可以在保证通讯的可靠性和实时性的同时,也能提高通讯的效率和灵活性。

在实际应用中,系统先根据车辆的状况、路况、信号强度等因素,以及通讯效果的评价指标,例如延迟、丢包率、吞吐量等,输出一个最优的UDP和TCP的传输频率,将数据分发与数据处理分开,将读取到的每辆车的UDP数据报分发到相应水平运输车辆的队列中保存,并设置水平运输车辆的队列长度为1,避免因过时数据的积压造成通讯断开。通过TCP协议从水平运输车辆的队列中获取任务事件按流程依次处理,当数据处理过程中因某一步而无法进行时,通过选择器读取到每辆车的UDP数据报仍可分发到相应的队中,从而保障不丢失水平运输车辆在码头操作系统中的心跳,避免过时数据的积压,使系统与水平运输车辆之间的无线通讯得到可靠保障,从而通过系统层面保障车辆的安全。

基于上述本发明提出的水平运输车辆无线通信异常的处理方法,码头操作系统的作业控制如图3所示,包括:

S31:根据码头所有水平运输车辆的状态、路况、信号强度等数据,以及诸如延迟、丢包率、吞吐量等的通讯效果的评价指标,输出一个最优的UDP和TCP数据报的传输频率,并根据各自的传输频率进行通讯。

可以理解的是,输出的最优的UDP和TCP数据报的传输频率,为根据本发明上述提出的水平运输车辆通讯异常的处理方法计算得到并实时更新的。

S32:每辆水平运输车辆建立单独的UDP通道,并注册事件到选择器中。

S33:每辆水平运输车辆通过UDP通道向系统发送水平运输车辆的心跳级实时信息。

S34:监听程序监听系统接收到水平运输车辆发送的UDP数据报,在查出设定时间未接收到UDP数据报时,主动向水平运输车辆发送请求反馈UPD数据报的请求。

S35:选择器实时监测是否有满足注册事件的UDP通道,从满足注册事件的UDP通道中获取数据,并将这些数据存放至位于内存的相应队列中。

S36:更新内存中每辆水平运输车辆相应队列中保存的数据。

S37:解析各水平运输车辆的请求事件。

S38:通过TCP协议发送任务到相应的水平运输车辆。

S39:水平运输车辆单机向系统反馈收到TCP发送的任务。

S40:监听程序监听系统收到水平运输车辆单机反馈TCP的时间是否超出设定阈值,若超出,则重新从内存中水平运输车辆的队列中获取最新的数据。

S41:水平运输车辆执行系统下发的相关任务。

应该指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

技术分类

06120116587971