CN112995095B - 数据处理方法、装置及计算机可读存储介质 - Google Patents
数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112995095B CN112995095B CN201911281040.7A CN201911281040A CN112995095B CN 112995095 B CN112995095 B CN 112995095B CN 201911281040 A CN201911281040 A CN 201911281040A CN 112995095 B CN112995095 B CN 112995095B
- Authority
- CN
- China
- Prior art keywords
- data
- identification
- sender
- receiver
- target
- 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
Images
Classifications
-
- 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/164—Adaptation or special uses of UDP protocol
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开提供了一种数据处理方法、装置及计算机可读存储介质,涉及无人车技术领域。其中的数据处理方法包括:数据发送方向本地网络的预设端口广播第一发现消息,第一发现消息包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;数据接收方向本地网络的预设端口广播第二发现消息,第二发现消息包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;本地网络监听预设端口,保存第一发现消息及第二发现消息。本公开能够提高无人车通信***的稳定性,并节省无人车通信***的资源消耗。
Description
技术领域
本公开涉及无人车技术领域,特别涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
传统的无人车的通信***采用ROS(Robotics Operating System,机器人操作***)。ROS是基于服务端-客户端(master-client)网络结构的UDP(User DatagramProtocol,用户数据报协议)通信。
Master节点掌控了所有相关的发布与订阅信息,所有的消息需要用过master节点进行传输。所以一旦master节点异常,无人车的线上通信***会停止运行,导致无人车的通信***的稳定性较差。
同时,由于UDP以实时性、高效率为主,不会检查传输的数据是否发送成功,因此ROS***无法保证通信消息能够被成功接收。这导致使用ROS的无人车内的通信会存在丢包的问题。
此外,ROS***基于UDP,在同一台及其内的通信全部通过UDP进行网络通信,会消耗大量的***资源。
采用多个master节点的解决方案,需要无人车的线上通信***同时维护多个master节点。一旦当前master节点异常,立刻用一个备份的master节点替换。这种解决方案的缺点是,由于master节点本身消耗大量的***资源,同时维护多个master节点会导致消耗的***资源过大。
发明内容
本公开解决的一个技术问题是,如何本公开能够提高无人车通信***的稳定性,并节省无人车通信***的资源消耗。
根据本公开实施例的一个方面,提供了一种数据处理方法,包括:数据发送方向本地网络的预设端口广播第一发现消息,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;数据接收方向本地网络的预设端口广播第二发现消息,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;其中,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点;本地网络监听预设端口,并保存第一发现消息及第二发现消息。
在一些实施例中,数据处理方法还包括:数据发送方获取数据发送器,数据发送器包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口;数据接收方获取数据接收器;数据接收方在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
在一些实施例中,数据处理方法还包括:数据发送方将目标数据以及数据发送方的主题标识输入数据发送器;数据发送器利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的网络地址及进程标识,并获取数据发送方的网络地址及进程标识;数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器;数据接收器将数据发送方的主题标识发送至通知中心;通知中心利用数据发送方的主题标识,触发订阅了目标数据的数据接收方的回调函数,以对数据接收器中的目标数据进行处理。
在一些实施例中,数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识相同的情况下,数据发送器的进程内数据发送接口将目标数据以及数据发送方的主题标识发送至当前进程的数据接收器。
在一些实施例中,数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识不同的情况下,数据发送器的进程间数据发送接口将目标数据以及数据发送方的主题标识写入动态分配的内存块,并向本地网络发送内存块的地址;数据接收方接收内存块的地址,读取内存块以获得目标数据以及数据发送方的主题标识;数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器包括:数据接收方验证数据接收方的主题标识中包含数据发送方的主题标识之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据发送器向本地网络发送内存块的地址时,还发送内存块的校验码;数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器包括:数据接收方接收内存块的校验码,并利用内存块的校验码对内存块中的数据进行验证;数据接收方在验证成功之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址不同情况下,数据发送器的机器间数据发送接口将目标数据以及数据发送方的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器还包括:数据发送器利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的远程过程调用服务器端口地址;数据发送器利用订阅了目标数据的数据接收方的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
根据本公开实施例的另一个方面,提供了一种数据处理装置,包括:数据发送方,被配置为:向本地网络的预设端口广播第一发现消息,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;数据接收方,被配置为:向本地网络的预设端口广播第二发现消息,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;其中,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点;本地网络,被配置为监听预设端口,并保存第一发现消息及第二发现消息。
在一些实施例中,数据处理装置还包括数据发送器、数据接收器、通知中心;数据发送方还被配置为:获取数据发送器,数据发送器包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口;数据接收方还被配置为:获取数据接收器;在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
在一些实施例中,数据发送方还被配置为:获取数据发送器,并将目标数据以及数据发送方的主题标识输入数据发送器;数据发送器被配置为:利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的网络地址及进程标识,并获取数据发送方的网络地址及进程标识;根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器;数据接收器被配置为:将数据发送方的主题标识发送至通知中心;通知中心被配置为:利用数据发送方的主题标识,触发订阅了目标数据的数据接收方的回调函数,以对数据接收器中的目标数据进行处理。
在一些实施例中,数据发送器被配置为:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识相同的情况下,数据发送器的进程内数据发送接口将目标数据以及数据发送方的主题标识发送至当前进程的数据接收器。
在一些实施例中,数据发送器被配置为:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识不同的情况下,数据发送器的进程间数据发送接口将目标数据以及数据发送方的主题标识写入动态分配的内存块,并向本地网络发送内存块的地址;数据接收方还被配置为:接收内存块的地址,读取内存块以获得目标数据以及数据发送方的主题标识;将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据接收方被配置为:验证数据接收方的主题标识中包含数据发送方的主题标识之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据发送器被配置为:向本地网络发送内存块的地址时,还发送内存块的校验码;数据接收方被配置为:接收内存块的校验码,并利用内存块的校验码对内存块中的数据进行验证;在验证成功之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据处理装置还包括远程过程调用服务器;数据发送器被配置为:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址不同情况下,数据发送器的机器间数据发送接口将目标数据以及数据发送方的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据发送器还被配置为:利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的远程过程调用服务器端口地址;利用订阅了目标数据的数据接收方的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
根据本公开实施例的又一个方面,提供了又一种数据处理装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的数据处理方法。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的数据处理方法。
本公开能够提高无人车通信***的稳定性,并节省无人车通信***的资源消耗。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了各个机器的连接关系示意图。
图2示出了进程的消息流程示意图。
图3示出了本公开一些实施例的数据处理方法的流程示意图。
图4示出了本公开另一些实施例的数据处理方法的流程示意图。
图5示出了本公开一些实施例的数据处理装置的结构示意图。
图6示出了本公开另一些实施例的数据处理装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
为解决上述问题,本公开提供了一种智能分布式通信***。该智能分布式通信***运行在各个机器上每个机器上运行一个或多个进程,每个进程中包含一个或多个节点。本领域技术人员应理解,同一进程的所有线程共享进程的内存,不同进程的内存相互独立。
图1示出了各个机器的连接关系示意图。如图1所示,机器1与机器2之间具有网络连接;机器1的网络地址为192.168.1.1,机器1上运行进程A和进程B;机器2的网络地址为192.168.1.2,机器2上运行进程C和进程D。图2示出了进程的消息流程示意图。如图2所示,进程A存在多个节点,每个节点中存在多个数据发送方和数据接收方。每个数据发送方对应一个主题,每个数据接收方对应一个或多个主题。不同主题的消息可能具有相同或不同的消息类型。假设主题1为相机,主题2为图形化界面,那么对应主题1、主题2的消息类型均为图片,该消息类型与消息发送器一一对应。消息发送器包含进程内消息发送接口、进程间消息发送接口、机器间消息发送接口。进程内消息发送接口与消息接收器信号连接,进程间消息发送接口与内存分配器信号连接,机器间消息发送接口与远程过程调用客户端信号连接。远程过程调用客户端可以向本地网络发送消息,远程过程调用服务器可以从本地网络接收消息,并发送至消息接收器。消息接收器与通知中心信号连接,通知中心与消息接收方信号连接。从图中可以看出,本公开提供的智能分布式通信***中不存在Master节点。
下面结合图3描述本公开数据处理方法的一些实施例,以介绍智能分布式通信***的数据订阅过程。
图3示出了本公开一些实施例的数据处理方法的流程示意图。如图3所示,本实施例包括步骤S301~步骤S303。
在步骤S301中,数据发送方向本地网络的预设端口M广播第一发现消息。
其中,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识。
在步骤S302中,数据接收方向本地网络的预设端口M广播第二发现消息。
其中,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识。
本领域技术人员应理解,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点。数据发送方广播第一发现消息以及数据接收方广播第二发现消息时可以采用RTPS(Real Time Publish Subscribe Protocol,实时发布订阅协议)。
在步骤S303中,本地网络监听预设端口M,并保存第一发现消息及第二发现消息。
由于可能存在多个数据发送方及多个数据接收方,因此本地网络可能收到多条第一发现消息及多条第二发现消息。本地网络将会保存所有监听到的这些发现消息。
本实施例能够自主发现数据发送方以及数据接收方,并实现了数据接收方对数据发送方的数据订阅。本实施例不再采用UDP协议,能够提高无人车通信***的稳定性,并节省无人车通信***的资源消耗。
在一些实施例中,数据处理方法还包括步骤S304~步骤S306。
在步骤S304中,数据发送方获取数据发送器。
如果不存在数据发送器,数据发送方可以创建数据发送器。数据发送器包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口。
在步骤S305中,数据接收方获取数据接收器。
如果不存在数据接收器,数据发送方可以创建数据接收器。
在步骤S306中,数据接收方在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
通知中心可以通过哈希表存储注册的回调函数。注册成功后,通知中心存有数据接收方的主题标识及数据接收方的回调函数之间的键值关系,其中键为数据接收方的主题标识的哈希值,值为数据接收方的回调函数的指针数组。
本实施例实现了数据发送器及数据接收器的获取工作,并实现了在通知中心注册回调函数,以便后续数据接收器接收到订阅的数据后令通知中心触发回调函数,从而对订阅的数据进行处理。
下面结合图4描述本公开数据处理方法的另一些实施例,以介绍智能分布式通信***的数据传输过程。
图4示出了本公开另一些实施例的数据处理方法的流程示意图。如图4所示,本实施例包括步骤S401~步骤S405。
在步骤S401中,数据发送方将目标数据以及数据发送方的主题标识输入数据发送器。
例如,数据发送方可以调用数据发送器transmitter<T>,并传入要发送的数据Tdata。
在步骤S402中,数据发送器利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的网络地址及进程标识,并获取数据发送方的网络地址及进程标识。
在步骤S403中,数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器。
transmitter<T>可以根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,判断具体调用进程内通信,进程间通信还是机器间通信。因此步骤S403具体可以分为三种情况。
情况一:进程内通信
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识相同的情况下,数据发送器的进程内数据发送接口可以调用当前进程的数据接收器receiver<T>,将目标数据以及数据发送方的主题标识发送至当前进程的数据接收器receiver<T>。
情况二:进程间通信
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识不同的情况下,数据发送器可以通过数据发送器的进程间数据发送接口,主动分配一段合适大小的内存块,将目标数据以及数据发送方的主题标识写入动态分配的内存块,并向本地网络发送内存块的地址等相关信息。数据接收方接收内存块的地址,读取内存块以获得目标数据以及数据发送方的主题标识,并将目标数据以及数据发送方的主题标识发送至数据接收器。
在一些实施例中,数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器之前,可以对目标数据以及数据发送方的主题标识进行验证,并在验证成功后将目标数据以及数据发送方的主题标识发送至数据接收器。
例如,数据接收方可以验证数据接收方的主题标识中包含数据发送方的主题标识之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
再比如,数据发送器向本地网络发送内存块的地址时,还发送内存块的校验码。数据接收方可以接收内存块的校验码,并利用内存块的校验码对内存块中的数据进行验证。数据接收方在验证成功之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
情况三:机器间通信
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址不同情况下,数据发送器的机器间数据发送接口通过远程过程调用将数据发送给对应的机器地址。具体来说,数据发送器的机器间数据发送接口将目标数据以及数据发送方的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方的主题标识发送至数据接收器。
其中,数据发送器可以利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的远程过程调用服务器端口地址。数据发送器进一步利用订阅了目标数据的数据接收方的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
在步骤S404中,数据接收器将数据发送方的主题标识发送至通知中心。
在步骤S405中,通知中心利用数据发送方的主题标识,触发订阅了目标数据的数据接收方的回调函数,以对数据接收器中的目标数据进行处理。
例如,通知中心利用数据发送方的主题标识,查找相同的接收方的主题标识,从而触发该相同的接收方的主题标识对应的回调函数。
本实施例提供了智能分布式通信***的数据传输过程,能够根据实际情况自动选择相对应的通信方式,从而提高了无人车通信***的稳定性,并节省了无人车通信***的资源消耗。
本公开中的数据流过程可以使用REST架构和socket分别与远端服务器和硬件层通信。本公开中的智能分布式通信***还可以使用了REST架构、远程过程调用提供对外API服务。同时,本公开还可以设置多种功能性模块,以实现自主发现运行节点是否异常。具体包括:
(1)守护模块,用于在节点死亡时自动重启该节点;
(2)安全模块,用于在运行时持续扫描各个程序模块,并在异常事件发生时自动上报远端服务器,在遇到紧急情况时主动对无人车采取刹车操作;
(3)对外服务模块,自带基本的***应用程序接口,用于向远端用户提供分布式***拓扑图服务及仿真时间服务。
下面结合图5描述本公开数据处理装置的一些实施例。
图5示出了本公开一些实施例的数据处理装置的结构示意图。如图5所示,本实施例中的数据处理装置50包括:
数据发送方501,被配置为:向本地网络的预设端口广播第一发现消息,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;数据接收方502,被配置为:向本地网络的预设端口广播第二发现消息,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;其中,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点;本地网络503,被配置为监听预设端口,并保存第一发现消息及第二发现消息。
在一些实施例中,数据处理装置50还包括数据发送器504、数据接收器505、通知中心506;数据发送方501还被配置为:获取数据发送器504,数据发送器504包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口;数据接收方501还被配置为:获取数据接收器505;在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
在一些实施例中,数据发送方501还被配置为:获取数据发送器504,并将目标数据以及数据发送方501的主题标识输入数据发送器504;数据发送器504被配置为:利用数据发送方501的主题标识查询本地网络503,以获取订阅了目标数据的数据接收方502的网络地址及进程标识,并获取数据发送方501的网络地址及进程标识;根据订阅了目标数据的数据接收方502的网络地址及进程标识、数据发送方501的网络地址及进程标识,将目标数据以及数据发送方501的主题标识发送至数据接收器505;数据接收器505被配置为:将数据发送方501的主题标识发送至通知中心506;通知中心506被配置为:利用数据发送方501的主题标识,触发订阅了目标数据的数据接收方502的回调函数,以对数据接收器505中的目标数据进行处理。
在一些实施例中,数据发送器504被配置为:在订阅了目标数据的数据接收方502的网络地址与数据发送方501的网络地址相同、订阅了目标数据的数据接收方502的进程标识与数据发送方501的进程标识相同的情况下,数据发送器504的进程内数据发送接口将目标数据以及数据发送方501的主题标识发送至当前进程的数据接收器505。
在一些实施例中,数据发送器504被配置为:在订阅了目标数据的数据接收方502的网络地址与数据发送方501的网络地址相同、订阅了目标数据的数据接收方502的进程标识与数据发送方501的进程标识不同的情况下,数据发送器504的进程间数据发送接口将目标数据以及数据发送方501的主题标识写入动态分配的内存块,并向本地网络503发送内存块的地址;数据接收方502还被配置为:接收内存块的地址,读取内存块以获得目标数据以及数据发送方501的主题标识;将目标数据以及数据发送方501的主题标识发送至数据接收器505。
在一些实施例中,数据接收方502被配置为:验证数据接收方502的主题标识中包含数据发送方501的主题标识之后,将目标数据以及数据发送方501的主题标识发送至数据接收器505。
在一些实施例中,数据发送器504被配置为:向本地网络503发送内存块的地址时,还发送内存块的校验码;数据接收方502被配置为:接收内存块的校验码,并利用内存块的校验码对内存块中的数据进行验证;在验证成功之后,将目标数据以及数据发送方501的主题标识发送至数据接收器505。
在一些实施例中,数据处理装置50还包括远程过程调用服务器;数据发送器504被配置为:在订阅了目标数据的数据接收方502的网络地址与数据发送方501的网络地址不同情况下,数据发送器504的机器间数据发送接口将目标数据以及数据发送方501的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方501的主题标识发送至数据接收器505。
在一些实施例中,数据发送器504还被配置为:利用数据发送方501的主题标识查询本地网络503,以获取订阅了目标数据的数据接收方502的远程过程调用服务器端口地址;利用订阅了目标数据的数据接收方502的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
本实施例能够根据实际情况自动选择相对应的通信方式,从而提高了无人车通信***的稳定性,并节省了无人车通信***的资源消耗。
下面结合图6描述本公开数据处理装置的另一些实施例。
图6示出了本公开另一些实施例的数据处理装置的结构示意图。如图6所示,该实施例的数据处理装置60包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行前述任意一些实施例中的数据处理方法。
其中,存储器610例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)以及其他程序等。
数据处理装置60还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630、640、650以及存储器610和处理器620之间例如可以通过总线660连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的数据处理方法。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (18)
1.一种数据处理方法,包括:
数据发送方向本地网络的预设端口广播第一发现消息,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;
数据接收方向本地网络的所述预设端口广播第二发现消息,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;其中,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点;
本地网络监听所述预设端口,并保存所述第一发现消息及所述第二发现消息;
数据发送方将目标数据以及数据发送方的主题标识输入数据发送器,其中,不同的数据发送器对应不同的数据类型;
数据发送器利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的网络地址及进程标识,并获取数据发送方的网络地址及进程标识;
数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器;
数据接收器将数据发送方的主题标识发送至通知中心;
通知中心利用数据发送方的主题标识,触发订阅了目标数据的数据接收方的回调函数,以对数据接收器中的目标数据进行处理。
2.如权利要求1中的数据处理方法,还包括:
数据发送方获取数据发送器,数据发送器包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口;
数据接收方获取数据接收器;
数据接收方在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
3.如权利要求1所述的数据处理方法,其中,所述数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识相同的情况下,数据发送器的进程内数据发送接口将目标数据以及数据发送方的主题标识发送至当前进程的数据接收器。
4.如权利要求1所述的数据处理方法,其中,所述数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识不同的情况下,数据发送器的进程间数据发送接口将目标数据以及数据发送方的主题标识写入动态分配的内存块,并向本地网络发送所述内存块的地址;
数据接收方接收所述内存块的地址,读取所述内存块以获得目标数据以及数据发送方的主题标识;
数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器。
5.如权利要求4所述的数据处理方法,其中,所述数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器包括:
数据接收方验证数据接收方的主题标识中包含数据发送方的主题标识之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
6.如权利要求4所述的数据处理方法,其中,数据发送器向本地网络发送所述内存块的地址时,还发送所述内存块的校验码;
所述数据接收方将目标数据以及数据发送方的主题标识发送至数据接收器包括:
数据接收方接收所述内存块的校验码,并利用所述内存块的校验码对所述内存块中的数据进行验证;
数据接收方在验证成功之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
7.如权利要求1所述的数据处理方法,其中,所述数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器包括:
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址不同情况下,数据发送器的机器间数据发送接口将目标数据以及数据发送方的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方的主题标识发送至数据接收器。
8.如权利要求7所述的数据处理方法,其中,所述数据发送器根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器还包括:
数据发送器利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的远程过程调用服务器端口地址;
数据发送器利用订阅了目标数据的数据接收方的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
9.一种数据处理装置,包括:
数据发送方,被配置为:向本地网络的预设端口广播第一发现消息,第一发现消息中包括数据发送方的标识、数据发送方的网络地址、数据发送方的进程标识以及数据发送方的主题标识;
数据接收方,被配置为:向本地网络的所述预设端口广播第二发现消息,第二发现消息中包括数据接收方的标识、数据接收方的网络地址、数据接收方的远程过程调用服务器端口地址、数据接收方的进程标识以及数据接收方的主题标识;其中,数据发送方及数据发送方位于分布式无人车通信***的相同节点或不同节点;
本地网络,被配置为监听所述预设端口,并保存所述第一发现消息及所述第二发现消息;
其中,所述数据处理装置还包括数据发送器、数据接收器、通知中心,其中,不同的数据发送器对应不同的数据类型;
数据发送方还被配置为:获取数据发送器,并将目标数据以及数据发送方的主题标识输入数据发送器;
数据发送器被配置为:利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的网络地址及进程标识,并获取数据发送方的网络地址及进程标识;根据订阅了目标数据的数据接收方的网络地址及进程标识、数据发送方的网络地址及进程标识,将目标数据以及数据发送方的主题标识发送至数据接收器;
数据接收器被配置为:将数据发送方的主题标识发送至通知中心;
所述通知中心被配置为:利用数据发送方的主题标识,触发订阅了目标数据的数据接收方的回调函数,以对数据接收器中的目标数据进行处理。
10.如权利要求9中的数据处理装置,其中,
数据发送方还被配置为:获取数据发送器,数据发送器包括进程内数据发送接口、进程间数据发送接口以及机器间数据发送接口;
数据接收方还被配置为:获取数据接收器;在通知中心注册数据接收方的主题标识及数据接收方的回调函数。
11.如权利要求9所述的数据处理装置,其中,所述数据发送器被配置为:
在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识相同的情况下,数据发送器的进程内数据发送接口将目标数据以及数据发送方的主题标识发送至当前进程的数据接收器。
12.如权利要求9所述的数据处理装置,其中,所述数据发送器被配置为:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址相同、订阅了目标数据的数据接收方的进程标识与数据发送方的进程标识不同的情况下,数据发送器的进程间数据发送接口将目标数据以及数据发送方的主题标识写入动态分配的内存块,并向本地网络发送所述内存块的地址;
数据接收方还被配置为:接收所述内存块的地址,读取所述内存块以获得目标数据以及数据发送方的主题标识;将目标数据以及数据发送方的主题标识发送至数据接收器。
13.如权利要求12所述的数据处理装置,其中,数据接收方被配置为:验证数据接收方的主题标识中包含数据发送方的主题标识之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
14.如权利要求12所述的数据处理装置,其中,数据发送器被配置为:向本地网络发送所述内存块的地址时,还发送所述内存块的校验码;
数据接收方被配置为:接收所述内存块的校验码,并利用所述内存块的校验码对所述内存块中的数据进行验证;在验证成功之后,将目标数据以及数据发送方的主题标识发送至数据接收器。
15.如权利要求9所述的数据处理装置,还包括远程过程调用服务器;
所述数据发送器被配置为:在订阅了目标数据的数据接收方的网络地址与数据发送方的网络地址不同情况下,数据发送器的机器间数据发送接口将目标数据以及数据发送方的主题标识通过远程过程调用客户端发送至远程过程调用服务器;远程过程调用服务器将目标数据以及数据发送方的主题标识发送至数据接收器。
16.如权利要求15所述的数据处理装置,其中,所述数据发送器还被配置为:利用数据发送方的主题标识查询本地网络,以获取订阅了目标数据的数据接收方的远程过程调用服务器端口地址;利用订阅了目标数据的数据接收方的远程过程调用服务器端口地址及网络地址,确定远程过程调用服务器的地址。
17.一种数据处理装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至8中任一项所述的数据处理方法。
18.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现如权利要求1至8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281040.7A CN112995095B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281040.7A CN112995095B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995095A CN112995095A (zh) | 2021-06-18 |
CN112995095B true CN112995095B (zh) | 2023-05-30 |
Family
ID=76332474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281040.7A Active CN112995095B (zh) | 2019-12-13 | 2019-12-13 | 数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995095B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11469890B2 (en) * | 2020-02-06 | 2022-10-11 | Google Llc | Derived keys for connectionless network protocols |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8761008B2 (en) * | 2009-10-29 | 2014-06-24 | The Boeing Company | System, apparatus, and method for communication in a tactical network |
CN103455380A (zh) * | 2012-06-05 | 2013-12-18 | 上海斐讯数据通信技术有限公司 | 多进程通信***及其建立和通信方法 |
CN108847988B (zh) * | 2018-06-29 | 2019-09-17 | 百度在线网络技术(北京)有限公司 | 动态拓扑维护方法、装置及设备 |
CN109194736B (zh) * | 2018-08-30 | 2021-04-27 | 百度在线网络技术(北京)有限公司 | 消息去重方法、装置、电子设备、介质和无人车 |
CN109151033B (zh) * | 2018-08-30 | 2022-02-22 | 百度在线网络技术(北京)有限公司 | 基于分布式***的通信方法、装置、电子设备及存储介质 |
CN109743142A (zh) * | 2018-09-30 | 2019-05-10 | 比亚迪股份有限公司 | 消息通信方法及装置 |
-
2019
- 2019-12-13 CN CN201911281040.7A patent/CN112995095B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112995095A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110611691B (zh) | 一种消息推送方法、***及存储介质 | |
CN109246220B (zh) | 一种消息推送***及方法 | |
CN107517438B (zh) | 请求分享蓝牙设备的方法及电子设备、计算机存储介质 | |
CN111800443B (zh) | 数据处理***和方法、装置以及电子设备 | |
US11108837B2 (en) | Media downlink transmission control method and related device | |
CN108847976B (zh) | 配网控制方法、移动终端、设备及计算机可读存储介质 | |
CN110740460A (zh) | 一种设备的入网方法、装置、网络设备及存储介质 | |
WO2021232197A1 (zh) | 设备状态监控方法、装置、设备及存储介质 | |
CN110808948B (zh) | 远程过程调用方法、装置及*** | |
CN111263338B (zh) | 蓝牙Mesh网络的配网方法与相关配网设备及*** | |
CN105991412A (zh) | 消息推送方法及装置 | |
CN113196721B (zh) | 物联网设备的发现方法、装置及终端设备 | |
CN110912805B (zh) | 消息读取状态的同步方法、终端、服务端及*** | |
CN105812079A (zh) | 一种应急广播状态上报、接收方法及装置 | |
CN112995095B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN114585026A (zh) | 频点切换方法、终端、基站和存储介质 | |
CN114884805B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN113992740B (zh) | 一种基于自主可控的中间件及数据传输方法 | |
CN113660121B (zh) | 基于分布式***的信息管理方法、装置及计算机存储介质 | |
CN112328417B (zh) | 一种嵌入式多程序通讯方法和*** | |
CN107548025B (zh) | 一种位置信息共享方法和核心网 | |
CN111132311B (zh) | 基站监控方法、装置、电子设备和存储介质 | |
CN114189384B (zh) | 业务处理方法、装置、设备及存储介质 | |
KR20200003555A (ko) | M2m 시스템에서 통지 실패시 통지 메시지를 처리하는 방법 및 장치 | |
CN111416861B (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 |