CN111601285A - 通信方法、装置、***和计算机可读存储介质 - Google Patents
通信方法、装置、***和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111601285A CN111601285A CN202010423417.4A CN202010423417A CN111601285A CN 111601285 A CN111601285 A CN 111601285A CN 202010423417 A CN202010423417 A CN 202010423417A CN 111601285 A CN111601285 A CN 111601285A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- sent
- communication protocol
- communication
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 315
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000004806 packaging method and process Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 59
- 230000005540 biological transmission Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005065 mining Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1803—Stop-and-wait protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开涉及一种通信方法、装置、***和计算机可读存储介质,涉及通信技术领域。本公开的方法包括:根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;根据确定的通信协议对待发送数据进行封装,生成待发送报文;将待发送报文通过确定的发送端口发送到接收端;其中,接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种通信方法、装置、***和计算机可读存储介质。
背景技术
国内外的露天矿山地处偏远,环境恶劣,矿区运输车辆作业司机老龄化趋势明显,由运输司机疏忽导致的安全事故频出,未来矿区在生产安全、人员投入等方面的经济负担将日益增加,露天矿山无人化运输解决方案在矿区迫切需求和现代科技发展的推动下,开始崭露头角。
然而,露天矿山的作业管理特殊性和复杂性,导致露天矿山无人化运输***的实现面临诸多技术挑战,其中实时、可靠的海量数据通信,是实现***落地应用所面临的最基础的技术问题之一。
发明内容
发明人发现:无人车辆不仅需要与服务器进行通信,还需要与其他无人车辆进行通信,不同的数据的通信需求不同,如何实现高效的通信,使整个露天矿山无人化运输***正常高效运作,是目前需要解决的问题。
本公开所要解决的一个技术问题是:设计一种露天矿山无人化运输***中车辆的通信方法,提高通信效率。
根据本公开的一些实施例,提供的一种通信方法,其中,通信方法由车辆的通信装置执行,包括:根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;根据确定的通信协议对待发送数据进行封装,生成待发送报文;将待发送报文通过确定的发送端口发送到接收端;其中,接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
在一些实施例中,根据确定的通信协议对待发送数据进行封装包括:在待发送数据包括广播数据的情况下,采用预设信标帧结构对待发送数据进行封装,生成信标数据;将信标数据作为待发送报文的数据部分,并根据确定的通信协议对待发送数据进行封装;其中,预设信标帧结构包括:时间戳对应的第一字段、车辆的通信装置的IP地址对应的第二字段、车辆的信息对应的第三字段和广播数据对应的第四字段。
在一些实施例中,广播数据包括车辆的运行状态信息,车辆的运行状态信息包括:车辆的地理位置、速度、航向、载重、油量、故障信息中至少一项;车辆的信息包括:车辆的类型、标识、尺寸中至少一项。
在一些实施例中,通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP;根据确定的通信协议对待发送数据进行封装包括:在确定的通信协议为SUDP的情况下,确定待发送数据的消息序号;在UDP报文头的基础上增加消息序号、消息ID,并将待发送数据作为报文的数据部分进行封装。
在一些实施例中,将待发送报文通过确定的发送端口发送到接收端包括:识别待发送报文的消息序号;根据消息序号的顺序将待发送报文通过确定的发送端口发送到接收端。
在一些实施例中,该方法还包括:在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,接收接收端发送的应答消息;解析应答消息确定待发送报文已被接收。
在一些实施例中,该方法还包括:在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,开启重传计时器;在重传计时器停止的情况下,确定是否接收到接收端的应答消息;在接收到应答消息的情况下,解析应答消息确定待发送报文已被接收;在没有接收到应答消息的情况下,确定是否达到预设重传次数;在没有达到预设重传次数的情况下,重新发送待发送报文,并重新开启重传计时器;在达到预设重传次数的情况下,丢弃待发送数据。
在一些实施例中,应答消息采用SUDP封装,应答消息的报文头包括:消息ID、接收端IP地址和消息序号;消息ID和消息序号从接收端接收到的报文中获取;解析应答消息确定待发送报文已被接收包括:解析应答消息获取消息ID、接收端IP地址和消息序号;将获取的消息ID、接收端IP地址和消息序号与待发送报文中的消息ID、接收端地址和消息序号进行比对,在比对一致的情况下,确定待发送报文已被接收。
在一些实施例中,待发送数据存储在数据缓冲区;重新发送待发送报文包括:调用发送函数从数据缓冲区读取待发送数据,重新采用SUDP封装成待发送报文并发出;丢弃待发送数据包括:从数据缓冲区删除待发送数据。
在一些实施例中,该方法还包括:采用SUDP封装心跳报文;每隔预设时间将心跳报文发送至服务器。
在一些实施例中,根据待发送数据的类型和接收端的类型至少一项,确定通信协议包括:在待发送数据包括广播数据且接收端为服务器的情况下,确定通信协议为UDP或SUDP;或者,在待发送数据包括广播数据且接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在待发送数据的数据量大于预设数据量且接收端为服务器的情况下,确定通信协议为TCP。
在一些实施例中,根据待发送数据的类型和接收端的类型至少一项,确定通信协议包括:在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;其中,第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
在一些实施例中,该方法还包括:接收发送端发送的报文;根据报文的接收端口,确定封装报文的通信协议;根据封装报文的通信协议对报文解封装,获取报文中的数据。
根据本公开的另一些实施例,提供的一种通信装置,其中,通信装置设置于车辆上,包括:确定模块,用于根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;报文生成模块,用于根据确定的通信协议对待发送数据进行封装,生成待发送报文;发送模块,用于将待发送报文通过确定的发送端口发送到接收端;其中,接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
在一些实施例中,报文生成模块用于在待发送数据包括广播数据的情况下,采用预设信标帧结构对待发送数据进行封装,生成信标数据;将信标数据作为待发送报文的数据部分,并根据确定的通信协议对待发送数据进行封装;其中,预设信标帧结构包括:时间戳对应的第一字段、车辆的通信装置的IP地址对应的第二字段、车辆的信息对应的第三字段和广播数据对应的第四字段。
在一些实施例中,广播数据包括车辆的运行状态信息,车辆的运行状态信息包括:车辆的地理位置、速度、航向、载重、油量、故障信息中至少一项;车辆的信息包括:车辆的类型、标识、尺寸中至少一项。
在一些实施例中,通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP;报文生成模块用于在确定的通信协议为SUDP的情况下,确定待发送数据的消息序号;在UDP报文头的基础上增加消息序号、消息ID,并将待发送数据作为报文的数据部分进行封装。
在一些实施例中,发送模块用于识别待发送报文的消息序号;根据消息序号的顺序将待发送报文通过确定的发送端口发送到接收端。
在一些实施例中,该装置还包括:接收模块,用于在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,接收接收端发送的应答消息;解析应答消息确定待发送报文已被接收。
在一些实施例中,该装置还包括:接收模块,用于在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,开启重传计时器;在重传计时器停止的情况下,确定是否接收到接收端的应答消息;在接收到应答消息的情况下,解析应答消息确定待发送报文已被接收;在没有接收到应答消息的情况下,确定是否达到预设重传次数;在没有达到预设重传次数的情况下,触发发送模块重新发送待发送报文,并重新开启重传计时器;在达到预设重传次数的情况下,丢弃待发送数据。
在一些实施例中,应答消息采用SUDP封装,应答消息的报文头包括:消息ID、接收端IP地址和消息序号;消息ID和消息序号从接收端接收到的报文中获取;接收模块用于解析应答消息获取消息ID、接收端IP地址和消息序号;将获取的消息ID、接收端IP地址和消息序号与待发送报文中的消息ID、接收端地址和消息序号进行比对,在比对一致的情况下,确定待发送报文已被接收。
在一些实施例中,发送模块用于调用发送函数从数据缓冲区读取待发送数据,重新采用SUDP封装成待发送报文并发出;从数据缓冲区删除待发送数据。
在一些实施例中,报文生成模块还用于采用SUDP封装心跳报文;发送模块还用于每隔预设时间将心跳报文发送至服务器。
在一些实施例中,确定模块用于在待发送数据包括广播数据且接收端为服务器的情况下,确定通信协议为UDP或SUDP;或者,在待发送数据包括广播数据且接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在待发送数据的数据量大于预设数据量且接收端为服务器的情况下,确定通信协议为TCP。
在一些实施例中,确定模块用于在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;其中,第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
在一些实施例中,接收模块还用于接收发送端发送的报文;根据报文的接收端口,确定封装报文的通信协议;根据封装报文的通信协议对报文解封装,获取报文中的数据。
根据本公开的又一些实施例,提供的一种通信装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行如前述任意实施例的通信方法。
根据本公开的再一些实施例,提供的一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意实施例通信方法的步骤。
根据本公开的又一些实施例,提供的一种通信***,包括:前述任意实施例的通信装置;以及服务器,用于接收通信装置发送的报文;根据报文的接收端口,确定封装报文的通信协议;根据封装报文的通信协议对报文解封装,获取报文中的数据。
在一些实施例中,服务器用于根据待发送数据的类型确定通信协议和发送端口;根据确定的通信协议对待发送数据进行封装,生成待发送报文;将待发送报文通过确定的发送端口发送到通信装置;通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP。
在一些实施例中,在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;其中,第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
本公开车辆上设置通信装置,根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;对待发送数据采用确定的通信协议进行封装得到待发送报文并通过确定的发送端口将待发送报文发送出去。本公开的方法适用于露天矿山无人化运输***,车辆的通信装置可以针对不同的接收端和不同的待发送数据的类型采用不同的协议和端口进行发送,提高通信效率,使整个露天矿山无人化运输***正常高效运作。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的通信方法的流程示意图。
图2示出本公开的一些实施例的Beacon帧结构的示意图。
图3示出本公开的另一些实施例的通信方法的流程示意图。
图4示出本公开的又一些实施例的通信方法的流程示意图。
图5示出本公开的一些实施例的通信***的架构示意图。
图6示出本公开的一些实施例的通信装置的结构示意图。
图7示出本公开的另一些实施例的通信装置的结构示意图。
图8示出本公开的又一些实施例的通信装置的结构示意图。
图9示出本公开的一些实施例的通信***的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提出一种通信方法,下面结合图1进行描述。
图1为本公开通信方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~步骤S106,可以由车辆的通信装置执行,该通信装置可以设置于车辆的控制***,也可以是可拆卸的安装在车辆上的移动终端(例如,手机、平板电脑)等,不限于所举示例。
在步骤S102中,根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口。
通信协议例如包括:TCP(Transmission Control Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)、SUDP(Super User Datagram Protocol,超级用户数据报协议)。SUDP是本公开基于UDP改进的一种通信协议。SUDP在保留UDP机制的基础上增加了提高传输可靠性的机制,能够在保证低时延传输的基础上提高可靠性,后续将进行详细描述。TCP属于面向连接的协议,UDP和SUDP属于面向无连接的协议。通信协议库文件包括上述各种协议可以设置于车辆的通信装置的客户端***中,通过调用通信协议库文件的功能接口,可以封装并发送不同协议的报文发送到其他车辆或服务器,接收并解析其他车辆或服务器发送的不同协议的报文。
在一些实施例中,预设待发送数据的类型和接收端的类型至少一项与通信协议和发送端口的对应关系,即可以分别设置TCP、UDP、SUDP分别对应的待发送数据的类型和接收端的类型至少一项,从而根据该对应关系确定通信协议和发送端口。待发送数据的类型可以根据业务类型确定,例如,待发送数据的类型可以划分为车辆的运行状态信息等广播数据、远程升级数据的请求数据、地图数据的请求数据、报警或故障数据、车辆控制数据(例如进场、离场、急停)的响应数据等,不限于所举示例。不同的业务生成不同的待发送数据对应不同的通信协议。进一步,不同接收端对应的通信协议可以不同,例如,待发送数据的类型相同,接收端为服务器和其他车辆的通信装置两种情况下,通信协议不同。可以结合待发送数据的类型和接收端的类型两者确定通信协议和发送端口。
例如,在待发送数据包括广播数据且接收端为服务器的情况下,确定通信协议为UDP或SUDP;或者,在待发送数据包括广播数据且接收端为其他车辆的通信装置的情况下,确定通信协议为UDP。广播数据可以包括车辆的运行状态信息,接收端为服务器的情况下,对于广播数据的传输的可靠性要求更高,可以采用SUDP传输。或者,在待发送数据包括故障信息或报警信息等情况下,可以采用SUDP传输。故障信息或报警信息也可以包括在广播数据中,服务器向车辆的控制装置交互的车辆控制数据等可以采用SUDP。
或者,在接收端为其他车辆的通信装置的情况下,确定通信协议为UDP。车辆之间的通信以广播数据为主,可以都采用UDP协议,传输时延更低。或者,在待发送数据的数据量大于预设数据量且接收端为服务器的情况下,确定通信协议为TCP。通常情况下,车辆的通信装置发送的上行数据的数据量大于预设数据量的情况较少,服务器向车辆的通信装置发送的下行数据的数据量大于预设数据量的情况较多,例如远程升级、地图数据、更新设置等数据量大的数据的传输。因此,在服务器向车辆的通信装置发送数据的数据量大于预设数据量,确定通信协议为TCP。待发送数据为数据量大于预设数据量的数据的请求信息,确定通信协议为TCP。
基于不同通信协议的特点,可以设置不同通信协议对应的待发送数据的类型。TCP具有可靠性高,适用于大量数据传输,但是时延较高的特点。UDP具有时延低,但是可靠性低的特点。SUDP具有时延低且可靠性高,适用于少量数据传输的特点。因此,待发送数据的类型可以根据待发送数据的数据量、可靠性需求和时延需求中至少一项确定。例如,可以划分不同的可靠性等级和时延等级,配置预设数据量用于区分不同类型的待发送数据,不限于所举示例。
在一些实施例中,在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级的情况下,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
例如,远程升级数据的请求数据、地图数据的请求数据、更新设置的请求数据等的可靠性需求为第一可靠性等级,时延需求为第一时延等级;向服务器发送的车辆的运行状态信息,故障或报警信息,车辆控制数据的响应数据等的可靠性需求为第一可靠性等级,时延需求为第二时延等级;向其他车辆的通信装置发送的车辆的运行状态信息等的可靠性需求为第二可靠性等级,时延需求为第二时延等级。
实际应用过程中可以根据不同协议的特点,配置待发送数据的类型和接收端的类型与通信协议的对应关系,不限于所举示例。通信协议和发送端口可以采用一一对应的设置方式。
在步骤S104中,根据确定的通信协议对待发送数据进行封装,生成待发送报文。
TCP和UDP的封装方式属于现有技术,在此不再赘述。在一些实施例中,在确定的通信协议为SUDP的情况下,确定待发送数据的消息序号;在UDP报文头的基础上增加消息序号、消息ID,并将待发送数据作为报文的数据部分进行封装。可以对各条待发送数据按顺序确定序号。该消息序号还可以用于后续接收端确定是否收到并回复应答消息,后续将详细进行描述。
消息ID用于唯一标识一条待发送数据,例如,占用4个字节,消息序号例如占用4个字节,基于UDP协议报文头还可以包括源地址,目的地址,长度,校验值等。待发送数据作为待发送报文的数据(data)部分。
SUDP还可以具有功能可拓展性,SUDP数据帧结构支持任意类型任意长度的数据体添加SUDP报文头,通过SUDP通信通道进行发送,实现SUDP与待发送数据类型和长度无关,增加新的功能时仅需更改待发送数据,从而实现协议的通用性及可拓展性。
本公开还提供一种信标(Beacon)广播协议,用于封装待发送数据,封装后的待发送数据作为待发送报文中的数据部分。Beacon广播协议是基于UDP、SUDP协议实现的能够按照指定的通信数据帧结构周期性广播车辆实时数据和接收其它设备广播的实时数据的通信功能协议。
在一些实施例中,在待发送数据包括广播数据的情况下,采用预设信标帧结构对待发送数据进行封装,生成信标数据;将信标数据作为待发送报文的数据部分,并根据确定的通信协议对待发送数据进行封装;预设信标帧结构包括:时间戳对应的第一字段、车辆的通信装置的IP地址对应的第二字段、车辆的信息对应的第三字段和广播数据对应的第四字段。
广播数据例如包括车辆的运行状态信息,车辆的运行状态信息包括:车辆的地理位置、速度、航向、载重、油量、故障信息中至少一项;车辆的信息例如包括:车辆的类型、标识、尺寸中至少一项。如图2所示,预设Beacon帧结构包括时间戳(time),车辆的通信装置的IP地址(IP),车辆的信息(Machine_Info)和车辆的运行状态信息(states)。Beacon帧结构中可以包含各个接收端所需的信息,其中车辆的运行状态信息可以包含所有类型车辆可能产生的数据属性。接收端接收到之后只读取自己所需的信息。
Beacon广播协议适用于低时延、灵活、可拓展的数据传输。同时可以结合使用UDP和SUDP两种通信协议,UDP可以用于V2V(Vehicle To Vehicle,车到车)通信,向周围车辆实时广播车辆的运行状态信息,同时接收并解析其他车辆的运行状态信息。SUDP可以用于V2S(Vehicle To Server,车到服务器)通信,向服务器实时上报车辆的运行状态信息。通过UDP和SUDP数据传输均可以使用Beacon帧结构。
在车量上电后可以自动运行广播业务,获得IP地址后,采用Beacon帧结构对车辆运行状态信息进行封装,并采用UDP或SUDP封装成报文后,开始广播,并开启相应的端口接收其他设备的广播数据。
在步骤S106中,将待发送报文通过确定的发送端口发送到接收端。
在一些实施例中,识别待发送报文的消息序号;根据消息序号的顺序将待发送报文通过确定的发送端口发送到接收端。SUDP在UDP基础上增加顺序发送机制,保证数据顺序性。
上述实施例的方法,车辆上设置通信装置,根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;对待发送数据采用确定的通信协议进行封装得到待发送报文并通过确定的发送端口将待发送报文发送出去。上述实施例的方法适用于露天矿山无人化运输***,车辆的通信装置可以针对不同的接收端和不同的待发送数据的类型采用不同的协议和端口进行发送,提高通信效率,使整个露天矿山无人化运输***正常高效运作。
本公开的SUDP协议,除了基于UDP协议对报文头进行改进。增加接收端接收到SUDP报文的情况下发送应答消息的机制,保证数据传输的可靠性。在一些实施例中,在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,接收接收端发送的应答消息;解析应答消息确定待发送报文已被接收。
进一步,SUDP还可以在UDP基础上增加超时重传保证数据的可达性,下面结合图3进行描述。
图3为本公开通信方法另一些实施例的流程图。如图3所示,该实施例的方法包括:步骤S302~步骤S308。
在步骤S302中,在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,开启重传计时器。
在步骤S304中,在重传计时器停止的情况下,确定是否接收到接收端的应答消息。如果是,则执行步骤S305,否则执行步骤S306。
在步骤S305中,解析应答消息确定待发送报文已被接收。
在一些实施例中,应答消息采用SUDP封装,应答消息的报文头包括:消息ID、接收端IP地址和消息序号;消息ID和消息序号从接收端接收到的报文中获取。即接收端接收到报文后从报文中提取消息ID和消息序号生成应答消息。车辆的通信装置作为发送端解析应答消息获取消息ID、接收端IP地址和消息序号;将获取的消息ID、接收端IP地址和消息序号与待发送报文中的消息ID、接收端地址和消息序号进行比对,在比对一致的情况下,确定待发送报文已被接收。
在步骤S306中,确定是否达到预设重传次数,如果是,则执行步骤S307,否则执行步骤S308。
在步骤S307中,丢弃待发送数据。
在步骤S308中,重新发送待发送报文,并重新开启重传计时器。返回步骤S304重新开始执行。
在一些实施例中,待发送数据可以缓存在数据缓冲区,如果收到应答消息,则从数据缓冲区删除待发送数据。如果需要重新发送待发送报文,调用发送函数从数据缓冲区读取待发送数据,重新采用SUDP封装成待发送报文并发出;在达到预设重传次数的情况下,从数据缓冲区删除待发送数据。
在一些实施例中,SUDP还在UDP基础上增加心跳机制,通过建立心跳线程,以一定频率向服务端***发送心跳包数据,用来监测车辆的通信是否正常。例如,采用SUDP封装心跳报文;每隔预设时间将心跳报文发送至服务器。当心跳包发送失败时,自动触发连接状态反馈程序,上报该车辆断开的报警信息。报警信息如前述实施例可以通过SUDP封装后发送。
上述实施例描述了车辆的通信装置如何发送待发送数据的方法,下面结合图4描述车辆的通信装置如何接收其他车辆的通信装置或服务器发送的报文。
图4为本公开通信方法又一些实施例的流程图。如图4所示,该实施例的方法包括:步骤S402~步骤S406。
在步骤S402中,接收发送端发送的报文。
在步骤S404中,根据报文的接收端口,确定封装报文的通信协议。
由于不同的通信协议对应不同的接收端口,因此,可以根据接收端口确定通信协议。
在步骤S406中,根据封装报文的通信协议对报文解封装,获取报文中的数据。
基于各种通信协议的数据结构可以对报文进行相应的解析,获取其中携带的数据,在此不赘述
上述实施例描述了车辆的通信装置如何进行报文的收发,对于服务器与车辆的通信装置类似,服务器向车辆的通信装置发送的数据也可以采用TCP、UDP、SUDP等不同协议进行封装。例如,服务器根据待发送数据的类型,确定通信协议和发送端口;根据确定的通信协议对待发送数据进行封装,生成待发送报文;将待发送报文通过确定的发送端口发送到车辆的通信装置。由于服务器主要向车辆的通信装置发送报文,因此,服务器只要根据发送数据的类型确定通信协议和发送端口即可。
例如,在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
例如,可靠性需求较高,数据量较大的数据但是时延需求较低的数据可以根据TCP进行封装,例如,远程升级数据、地图数据、更新设置等。可靠性需求较高,时延需求较高(即时延低)的数据可以根据SUDP进行封装,例如,车辆控制数据(例如进场、离场、急停)的响应数据等。
服务器根据SUDP发送待发送数据的过程与车辆的通信装置类似,包括应答机制、重传机制、报文头的改进等,在此不再赘述。
本公开提供一种适用于露天矿山无人化运输***的通信方法,包括多种通信协议的选择和设计方法。多种通信协议包括TCP、UDP、SUDP、Beacon广播协议。根据不同业务对于数据交互实时性、可靠性、顺序性等的不同要求,选择不同的通信协议。低延时、高可靠性、较重要的数据传输业务,使用SUDP通信协议;低延时、可靠性要求不高的广播数据传输业务,使用UDP通信协议;大数据量、延时性要求不高、可靠性要求较高的数据传输业务,使用TCP通信协议;低时延、灵活、可拓展的数据传输业务,使用Beacon广播协议。SUDP在UDP的方式基础上,增加消息应答确认,保证数据传输的可靠性;增加超时重传、顺序发送机制,保证数据的可达性和顺序性;增加心跳机制,通过建立心跳线程,以一定频率向服务端***发送心跳包数据,用来监测车辆的通信是否正常。Beacon广播协议是针对不同通信对象提供UDP和SUDP两种通信协议并统一数据帧结构。这些通信协议可以被封装为库的形式安装部署在服务器、车辆的通信装置供各应用程序调用。
整个通信***包括多个车辆的通信装置和服务器,主要实现V2V、V2S、V2X(Vehicle to Everything,车与任何事物)的数据交互。在车辆的通信装置侧可以部署客户端***,在服务器侧可以部署服务端***。客户端***包含能够调用通信协议库文件的功能接口,可以封装并发送不同协议的报文发送到其他车辆或服务器,接收并解析其他车辆或服务器发送的不同协议的报文。服务端***包含能够调用通信协议库文件的功能接口,接收并解析车辆的通信装置发送的TCP、UDP、SUDP报文,封装并发送TCP、UDP、SUDP报文到远程车辆的通信装置。
如图5所示,客户端***可以建立各个通信协议的通信通道、对数据进行编码解码、对数据进行发送和接收。具体可以包含V2C程序、V2V程序、V2S程序。服务端可以包含V2S程序。
V2C通信程序运行在单独线程上,通过与车辆的下层控制***程序的数据接口获取下层***的消息;通过往下层数据接口写数据的方式与下层***进行数据传输。例如,向车辆的各个ROS(机器人***)节点订阅车辆的运行状态信息,ROS节点通过车辆的各种传感器采集车辆的运行状态信息后,发送到V2C通信程序,V2C通信程序接收车辆的ROS发送的车辆的运行状态信息,可以传输到V2V程序、V2S程序通过相应的发送接口发出。
V2V通信程序将V2C程序获取的下层***的消息按照Beacon帧格式进行编码,可以通过UDP通信通道广播到其他车辆的通信装置,同时获取其他车辆广播的数据,并解码存储,供其他程序应用。
V2S通信程序将V2C程序获取的下层***的消息按照Beacon帧格式进行编码,可以通过SUDP或UDP通信通道发送给服务端,同时接收服务端发送的数据,并解码存储。
服务端的V2S通信程序可以将车辆的控制指令封装成SUDP报文发送给车辆;将升级数据、地图数据等封装成TCP报文发送给车辆;接收车辆上报的数据,包含SUDP报文、Beacon广播数据等。通过统一的通信协议及数据帧格式进行数据交互,从而实现任意添加或减少车辆,而不影响原有***的通信功能。
本公开的露天矿山无人化运输***中作业车辆和服务器相应程序和服务正常上电启动,无人化运输***正式运行起来后,***间通过通信服务程序根据预定义的数据帧结构封装报文消息进行数据交互。解决车车通信、车与服务器通信的实时性、可靠性、稳定性和可扩展性要求,实现无人化运输***对海量数据的高效及时的收集、分析、处理和存储。保证露天矿山无人化运输***高效、稳定、可靠的运行,实现矿山无人化***的尽快落地应用。
通信网络可以包括但不局限于WIFI、4G、5G通信网络。以WIFI MESH(无线网格网络)为例,可以合理布局露天矿山路侧无线节点位置,安装相应MESH路由路侧节点设备。例如,寻找露天矿山最高点,安装MESH路由中心节点设备,在所有矿山作业车辆、服务车辆上安装MESH移动节点设备,共同组成一个能覆盖整个露天矿山的无线MESH网络。
本公开还提供一种通信装置,下面结合图6进行描述。
图6为本公开通信装置的一些实施例的结构图。如图6所示,该实施例的装置60可以设置于车辆上,包括:确定模块610,报文生成模块620,发送模块630。
确定模块610用于根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口。
在一些实施例中,确定模块610用于在待发送数据包括广播数据且接收端为服务器的情况下,确定通信协议为UDP或SUDP;或者,在待发送数据包括广播数据且接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;或者,在待发送数据的数据量大于预设数据量且接收端为服务器的情况下,确定通信协议为TCP。
在一些实施例中,确定模块610用于在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;其中,第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
报文生成模块620用于根据确定的通信协议对待发送数据进行封装,生成待发送报文。
在一些实施例中,报文生成模块620用于在待发送数据包括广播数据的情况下,采用预设信标帧结构对待发送数据进行封装,生成信标数据;将信标数据作为待发送报文的数据部分,并根据确定的通信协议对待发送数据进行封装;其中,预设信标帧结构包括:时间戳对应的第一字段、车辆的通信装置的IP地址对应的第二字段、车辆的信息对应的第三字段和广播数据对应的第四字段。
在一些实施例中,广播数据包括车辆的运行状态信息,车辆的运行状态信息包括:车辆的地理位置、速度、航向、载重、油量、故障信息中至少一项;车辆的信息包括:车辆的类型、标识、尺寸中至少一项。
在一些实施例中,通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP;报文生成模块620用于在确定的通信协议为SUDP的情况下,确定待发送数据的消息序号;在UDP报文头的基础上增加消息序号、消息ID,并将待发送数据作为报文的数据部分进行封装。
在一些实施例中,报文生成模块620还用于采用SUDP封装心跳报文;发送模块还用于每隔预设时间将心跳报文发送至服务器。
发送模块630用于将待发送报文通过确定的发送端口发送到接收端;其中,接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
在一些实施例中,发送模块630用于识别待发送报文的消息序号;根据消息序号的顺序将待发送报文通过确定的发送端口发送到接收端。
在一些实施例中,该装置60还包括:接收模块640,用于在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,接收接收端发送的应答消息;解析应答消息确定待发送报文已被接收。
在一些实施例中,接收模块640用于在确定的通信协议为SUDP的情况下,将待发送报文通过确定的发送端口发出之后,开启重传计时器;在重传计时器停止的情况下,确定是否接收到接收端的应答消息;在接收到应答消息的情况下,解析应答消息确定待发送报文已被接收;在没有接收到应答消息的情况下,确定是否达到预设重传次数;在没有达到预设重传次数的情况下,触发发送模块重新发送待发送报文,并重新开启重传计时器;在达到预设重传次数的情况下,丢弃待发送数据。
在一些实施例中,应答消息采用SUDP封装,应答消息的报文头包括:消息ID、接收端IP地址和消息序号;消息ID和消息序号从接收端接收到的报文中获取;接收模块640用于解析应答消息获取消息ID、接收端IP地址和消息序号;将获取的消息ID、接收端IP地址和消息序号与待发送报文中的消息ID、接收端地址和消息序号进行比对,在比对一致的情况下,确定待发送报文已被接收。
在一些实施例中,发送模块630用于调用发送函数从数据缓冲区读取待发送数据,重新采用SUDP封装成待发送报文并发出;从数据缓冲区删除待发送数据。
在一些实施例中,接收模块640还用于接收发送端发送的报文;根据报文的接收端口,确定封装报文的通信协议;根据封装报文的通信协议对报文解封装,获取报文中的数据。
本公开的实施例中的通信装置可由各种计算设备或计算机***来实现,下面结合图7以及图8进行描述。
图7为本公开通信装置的一些实施例的结构图。如图7所示,该实施例的装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行本公开中任意一些实施例中的通信方法。
其中,存储器710例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图8为本公开通信装置的另一些实施例的结构图。如图8所示,该实施例的装置80包括:存储器810以及处理器820,分别与存储器710以及处理器720类似。还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器810和处理器820之间例如可以通过总线860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口850为SD卡、U盘等外置存储设备提供连接接口。
本公开还提供一种通信***,下面结合图9进行描述。
图9为本公开通信***的一些实施例的结构图。如图9所示,该实施例的***9包括:前述任意实施例的通信装置60/70/80;以及服务器92。
服务器92用于接收通信装置60/70/80发送的报文;根据报文的接收端口,确定封装报文的通信协议;根据封装报文的通信协议对报文解封装,获取报文中的数据。
在一些实施例中,服务器92用于根据待发送数据的类型确定通信协议和发送端口;根据确定的通信协议对待发送数据进行封装,生成待发送报文;将待发送报文通过确定的发送端口发送到通信装置60/70/80;通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP。
在一些实施例中,在待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;在待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;在待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;其中,第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
服务器92可由各种计算设备或计算机***来实现,与前述实施例中通信装置70/80的实现方式相同或相似,在此不再赘述。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (25)
1.一种通信方法,其中,所述通信方法由车辆的通信装置执行,包括:
根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;
根据确定的通信协议对所述待发送数据进行封装,生成待发送报文;
将所述待发送报文通过确定的发送端口发送到所述接收端;
其中,所述接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
2.根据权利要求1所述的通信方法,其中,所述根据确定的通信协议对所述待发送数据进行封装包括:
在所述待发送数据包括广播数据的情况下,采用预设信标帧结构对所述待发送数据进行封装,生成信标数据;
将所述信标数据作为待发送报文的数据部分,并根据确定的通信协议对所述待发送数据进行封装;
其中,所述预设信标帧结构包括:时间戳对应的第一字段、所述车辆的通信装置的IP地址对应的第二字段、所述车辆的信息对应的第三字段和所述广播数据对应的第四字段。
3.根据权利要求2所述的通信方法,其中,
所述广播数据包括车辆的运行状态信息,所述车辆的运行状态信息包括:所述车辆的地理位置、速度、航向、载重、油量、故障信息中至少一项;
所述车辆的信息包括:所述车辆的类型、标识、尺寸中至少一项。
4.根据权利要求1所述的通信方法,其中,所述通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP;
所述根据确定的通信协议对所述待发送数据进行封装包括:
在确定的通信协议为SUDP的情况下,确定所述待发送数据的消息序号;
在UDP报文头的基础上增加所述消息序号、消息ID,并将所述待发送数据作为报文的数据部分进行封装。
5.根据权利要求4所述的通信方法,其中,所述将所述待发送报文通过确定的发送端口发送到接收端包括:
识别所述待发送报文的消息序号;
根据所述消息序号的顺序将所述待发送报文通过确定的发送端口发送到接收端。
6.根据权利要求4所述的通信方法,还包括:
在确定的通信协议为SUDP的情况下,将所述待发送报文通过确定的发送端口发出之后,接收所述接收端发送的应答消息;
解析所述应答消息确定所述待发送报文已被接收。
7.根据权利要求4所述的通信方法,还包括:
在确定的通信协议为SUDP的情况下,将所述待发送报文通过确定的发送端口发出之后,开启重传计时器;
在所述重传计时器停止的情况下,确定是否接收到所述接收端的应答消息;
在接收到所述应答消息的情况下,解析所述应答消息确定所述待发送报文已被接收;
在没有接收到所述应答消息的情况下,确定是否达到预设重传次数;
在没有达到预设重传次数的情况下,重新发送所述待发送报文,并重新开启所述重传计时器;
在达到预设重传次数的情况下,丢弃所述待发送数据。
8.根据权利要求6或7所述的通信方法,其中,
所述应答消息采用SUDP封装,所述应答消息的报文头包括:消息ID、所述接收端IP地址和消息序号;所述消息ID和所述消息序号从所述接收端接收到的报文中获取;
所述解析所述应答消息确定所述待发送报文已被接收包括:
解析所述应答消息获取消息ID、所述接收端IP地址和消息序号;
将获取的消息ID、所述接收端IP地址和消息序号与所述待发送报文中的消息ID、所述接收端地址和消息序号进行比对,在比对一致的情况下,确定所述待发送报文已被接收。
9.根据权利要求7所述的通信方法,其中,所述待发送数据存储在数据缓冲区;
所述重新发送所述待发送报文包括:
调用发送函数从所述数据缓冲区读取所述待发送数据,重新采用SUDP封装成待发送报文并发出;
所述丢弃所述待发送数据包括:
从所述数据缓冲区删除所述待发送数据。
10.根据权利要求4所述的通信方法,还包括:
采用所述SUDP封装心跳报文;
每隔预设时间将所述心跳报文发送至服务器。
11.根据权利要求4所述的通信方法,其中,所述根据待发送数据的类型和接收端的类型至少一项,确定通信协议包括:
在所述待发送数据包括广播数据且所述接收端为服务器的情况下,确定通信协议为UDP或SUDP;
或者,在所述待发送数据包括广播数据且所述接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;
或者,在所述接收端为其他车辆的通信装置的情况下,确定通信协议为UDP;
或者,在所述待发送数据的数据量大于预设数据量且所述接收端为服务器的情况下,确定通信协议为TCP。
12.根据权利要求1所述的通信方法,其中,所述根据待发送数据的类型和接收端的类型至少一项,确定通信协议包括:
在所述待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;
在所述待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;
在所述待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;
其中,所述第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
13.根据权利要求1所述的通信方法,还包括:
接收发送端发送的报文;
根据所述报文的接收端口,确定封装所述报文的通信协议;
根据所述封装所述报文的通信协议对所述报文解封装,获取所述报文中的数据。
14.一种通信装置,其中,所述通信装置设置于车辆上,包括:
确定模块,用于根据待发送数据的类型和接收端的类型至少一项,确定通信协议和发送端口;
报文生成模块,用于根据确定的通信协议对所述待发送数据进行封装,生成待发送报文;
发送模块,用于将所述待发送报文通过确定的发送端口发送到所述接收端;
其中,所述接收端的类型包括:其他车辆的通信装置和服务器中至少一项。
15.根据权利要求14所述的通信装置,其中,
所述报文生成模块用于在所述待发送数据包括广播数据的情况下,采用预设信标帧结构对所述待发送数据进行封装,生成信标数据;将所述信标数据作为待发送报文的数据部分,并根据确定的通信协议对所述待发送数据进行封装;
其中,所述预设信标帧结构包括:时间戳对应的第一字段、所述车辆的通信装置的IP地址对应的第二字段、所述车辆的信息对应的第三字段和所述广播数据对应的第四字段。
16.根据权利要求14所述的通信装置,其中,所述通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP;
所述报文生成模块用于在确定的通信协议为SUDP的情况下,确定所述待发送数据的消息序号;在UDP报文头的基础上增加所述消息序号、消息ID,并将所述待发送数据作为报文的数据部分进行封装。
17.根据权利要求16所述的通信装置,还包括:
接收模块,用于在确定的通信协议为SUDP的情况下,将所述待发送报文通过确定的发送端口发出之后,开启重传计时器;在所述重传计时器停止的情况下,确定是否接收到所述接收端的应答消息;在接收到所述应答消息的情况下,解析所述应答消息确定所述待发送报文已被接收;在没有接收到所述应答消息的情况下,确定是否达到预设重传次数;在没有达到预设重传次数的情况下,触发所述发送模块重新发送所述待发送报文,并重新开启所述重传计时器;在达到预设重传次数的情况下,丢弃所述待发送数据。
18.根据权利要求17所述的通信装置,其中,
所述应答消息采用SUDP封装,所述应答消息的报文头包括:消息ID、所述接收端IP地址和消息序号;所述消息ID和所述消息序号从所述接收端接收到的报文中获取;
所述接收模块用于解析所述应答消息获取消息ID、所述接收端IP地址和消息序号;将获取的消息ID、所述接收端IP地址和消息序号与所述待发送报文中的消息ID、所述接收端地址和消息序号进行比对,在比对一致的情况下,确定所述待发送报文已被接收。
19.根据权利要求16所述的通信装置,其中,
所述报文生成模块还用于采用所述SUDP封装心跳报文;
所述发送模块还用于每隔预设时间将所述心跳报文发送至服务器。
20.根据权利要求14所述的通信装置,其中,
所述接收模块还用于接收发送端发送的报文;根据所述报文的接收端口,确定封装所述报文的通信协议;根据所述封装所述报文的通信协议对所述报文解封装,获取所述报文中的数据。
21.一种通信装置,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-13任一项所述的通信方法。
22.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现权利要求1-13任一项所述方法的步骤。
23.一种通信***,包括:权利要求14-21任一项所述的通信装置;以及
服务器,用于接收所述通信装置发送的报文;根据所述报文的接收端口,确定封装所述报文的通信协议;根据所述封装所述报文的通信协议对所述报文解封装,获取所述报文中的数据。
24.根据权利要求23所述的通信***,其中,
所述服务器用于根据待发送数据的类型确定通信协议和发送端口;根据确定的通信协议对所述待发送数据进行封装,生成待发送报文;将所述待发送报文通过确定的发送端口发送到所述通信装置;
所述通信协议包括:传输控制协议TCP、用户数据报协议UDP、超级用户数据报协议SUDP。
25.根据权利要求24所述的通信***,其中,
在所述待发送数据的可靠性需求为第一可靠性等级,时延需求为第一时延等级,确定通信协议为TCP;
在所述待发送数据的可靠性需求为第二可靠性等级,时延需求为第二时延等级的情况下,确定通信协议为UDP;
在所述待发送数据的可靠性需求为第一可靠性等级,时延需求为第二时延等级,确定通信协议为SUDP;
其中,所述第一可靠性等级相对于第二可靠性等级对应的可靠性更高,第二时延等级相对于第一时延等级对应的时延更低。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010423417.4A CN111601285B (zh) | 2020-05-19 | 2020-05-19 | 通信方法、装置、***和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010423417.4A CN111601285B (zh) | 2020-05-19 | 2020-05-19 | 通信方法、装置、***和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111601285A true CN111601285A (zh) | 2020-08-28 |
CN111601285B CN111601285B (zh) | 2023-02-10 |
Family
ID=72191524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010423417.4A Active CN111601285B (zh) | 2020-05-19 | 2020-05-19 | 通信方法、装置、***和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111601285B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383619A (zh) * | 2020-11-13 | 2021-02-19 | 广联达科技股份有限公司 | 一种数据传输方法、***及电子设备 |
CN114567416A (zh) * | 2022-04-06 | 2022-05-31 | 西安羚控电子科技有限公司 | 基于tcp数据传输免校验方法及*** |
CN116388910A (zh) * | 2023-04-21 | 2023-07-04 | 广东保伦电子股份有限公司 | 一种广播***交互方法、终端、电子设备和存储介质 |
CN116520815A (zh) * | 2023-07-03 | 2023-08-01 | 合众新能源汽车股份有限公司 | 一种远程诊断方法、装置、计算机设备和存储介质 |
WO2024000214A1 (zh) * | 2022-06-29 | 2024-01-04 | 华为技术有限公司 | 车辆中的通信方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105519049A (zh) * | 2013-05-28 | 2016-04-20 | 华为技术有限公司 | 一种报文传输方法、装置及*** |
CN109218261A (zh) * | 2017-07-03 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及数据处理装置 |
CN109302372A (zh) * | 2017-07-24 | 2019-02-01 | 华为技术有限公司 | 一种通信方法、设备及存储介质 |
CN110868336A (zh) * | 2019-11-11 | 2020-03-06 | 北京明略软件***有限公司 | 数据管理方法、装置和计算机可读存储介质 |
-
2020
- 2020-05-19 CN CN202010423417.4A patent/CN111601285B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105519049A (zh) * | 2013-05-28 | 2016-04-20 | 华为技术有限公司 | 一种报文传输方法、装置及*** |
CN109218261A (zh) * | 2017-07-03 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及数据处理装置 |
CN109302372A (zh) * | 2017-07-24 | 2019-02-01 | 华为技术有限公司 | 一种通信方法、设备及存储介质 |
CN110868336A (zh) * | 2019-11-11 | 2020-03-06 | 北京明略软件***有限公司 | 数据管理方法、装置和计算机可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383619A (zh) * | 2020-11-13 | 2021-02-19 | 广联达科技股份有限公司 | 一种数据传输方法、***及电子设备 |
CN112383619B (zh) * | 2020-11-13 | 2024-05-17 | 广联达科技股份有限公司 | 一种数据传输方法、***及电子设备 |
CN114567416A (zh) * | 2022-04-06 | 2022-05-31 | 西安羚控电子科技有限公司 | 基于tcp数据传输免校验方法及*** |
CN114567416B (zh) * | 2022-04-06 | 2024-06-07 | 西安羚控电子科技有限公司 | 基于tcp数据传输免校验方法及*** |
WO2024000214A1 (zh) * | 2022-06-29 | 2024-01-04 | 华为技术有限公司 | 车辆中的通信方法及相关装置 |
CN116388910A (zh) * | 2023-04-21 | 2023-07-04 | 广东保伦电子股份有限公司 | 一种广播***交互方法、终端、电子设备和存储介质 |
CN116388910B (zh) * | 2023-04-21 | 2024-05-14 | 广东保伦电子股份有限公司 | 一种广播***交互方法、终端、电子设备和存储介质 |
CN116520815A (zh) * | 2023-07-03 | 2023-08-01 | 合众新能源汽车股份有限公司 | 一种远程诊断方法、装置、计算机设备和存储介质 |
CN116520815B (zh) * | 2023-07-03 | 2023-10-17 | 合众新能源汽车股份有限公司 | 一种远程诊断方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111601285B (zh) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111601285B (zh) | 通信方法、装置、***和计算机可读存储介质 | |
CN112769938B (zh) | 一种基于QUIC的Kubernetes云边通信***与方法 | |
US11032739B2 (en) | Dynamic header compression for constrained networks | |
EP3043530B1 (en) | Method and apparatus for implementing subscription notification | |
CN111050361B (zh) | 一种报文传送方法、装置及*** | |
CN110381467B (zh) | 一种车联网应急通信方法、装置及*** | |
CA2921075C (en) | System, method and apparatus for transmitting electrical quantity data based on beidou satellite communication | |
CN110471692B (zh) | 终端程序的空中升级方法、装置、设备及存储介质 | |
CN111683404A (zh) | 物联网终端的定位控制方法、装置及电子设备 | |
KR101714227B1 (ko) | 차량의 데이터 통신 방법 및 이를 위한 장치 | |
CN103002049A (zh) | 一种大数据量数据的网络传输*** | |
CN111435947A (zh) | 电子消息控制 | |
CN105100100A (zh) | 适用于分布式网络的udp传输方法和*** | |
EP3672189B1 (en) | Data transmission method, device and system | |
US10645184B2 (en) | Information transmission method, gateway, and controller | |
CN114360297A (zh) | 一种低空空域通用航空器的数据传输方法、*** | |
CN113396600B (zh) | 信息验证方法、装置、设备及存储介质 | |
CN101888343B (zh) | 一种业务数据的发送方法及*** | |
EP2477437B1 (en) | Method and device for operating and managing memory | |
CN114143729B (zh) | 用于与IoT设备进行数据收发的装置、方法及计算机可读存储介质 | |
CN114915555B (zh) | 网关驱动通信方法、装置、设备及存储介质 | |
CN114070806B (zh) | 一种基于可变消息格式数据链的无人机***及通信方法 | |
CN109600837B (zh) | ***信息的生成方法及装置 | |
KR20140121716A (ko) | 모바일 디바이스 운영체제의 통합 변환을 이용한 푸시서비스 제공 장치 및 방법 | |
CN114827188B (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 |