CN107733839B - 数据传输方法和系统 - Google Patents

数据传输方法和系统 Download PDF

Info

Publication number
CN107733839B
CN107733839B CN201610658254.1A CN201610658254A CN107733839B CN 107733839 B CN107733839 B CN 107733839B CN 201610658254 A CN201610658254 A CN 201610658254A CN 107733839 B CN107733839 B CN 107733839B
Authority
CN
China
Prior art keywords
data
topic name
sender
attribute information
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.)
Active
Application number
CN201610658254.1A
Other languages
English (en)
Other versions
CN107733839A (zh
Inventor
夏黎明
王海峰
冯靖超
王全
曲宁
陈卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610658254.1A priority Critical patent/CN107733839B/zh
Publication of CN107733839A publication Critical patent/CN107733839A/zh
Application granted granted Critical
Publication of CN107733839B publication Critical patent/CN107733839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了数据传输方法和系统。该方法的一具体实施方式包括:数据发送方接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字。实现了数据发送方与数据接收方均采用主动探测的方式确定数据发送方与数据接收方之间的通信方式,一方面,简化了设置进程间通信方式的操作,另一方面,数据发送方与数据接收方均可自动确定出正确的通信方式,提升系统的稳定性。

Description

数据传输方法和系统
技术领域
本申请涉及计算机领域,具体涉及数据传输领域,尤其涉及数据传输方法和系统。
背景技术
在系统(例如自动驾驶控制系统)的运行过程中,进程之间采用合理的数据传输方式是确保系统的稳定性和安全性的关键。目前,通常采用的方式为:按照预先配置的进程之间的数据传输方式,逐一添加到白名单中,在进程启动后,根据白名单选择数据传输方式。
然而,当采用上述方式选择数据传输方式时,一方面,在诸如自动驾驶控制系统中,需要针对各个进程之前的交互需求,均需分别在白名单中进行配置传输方式,并且随着进程之前的交互需求的变化,需要再次在白名单中进行配置,白名单的维护开销较大。另一方面,在白名单配置错误的情况下,会造成各个进程之前的数据传输的故障,从而影响到系统的稳定性和安全性。
发明内容
本申请提供了数据传输方法和系统,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了数据传输方法,该方法包括:数据发送方接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字。
第二方面,本申请提供了数据传输方法,该方法包括:传输控制方确定对应于同一话题名称的数据发送方与数据接收方,话题名称指示数据发送方与数据接收方之间待传输的数据的类型;向数据发送方和数据接收方发送探测信息,以使数据发送方和数据接收方基于探测信息,从预设数据传输方式中确定出数据发送方与数据接收方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字,探测信息包括:话题名称、数据发送方或数据接收方的属性信息,属性信息包括:IP地址。
第三方面,本申请提供了数据传输方法,该方法包括:数据接收方接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据发送方的属性信息,属性信息包括:IP地址;判断数据发送方的属性信息是否与数据接收方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字。
第四方面,本申请提供了数据传输系统,该数据传输包括:数据发送方,用于接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,数据传输方式包括:共享内存、套接字;传输控制方,用于确定对应于同一话题名称的数据发送方与数据接收方,话题名称指示数据发送方与数据接收方之间待传输的数据的类型;向数据发送方和数据接收方发送探测信息,探测信息包括:话题名称、数据发送方或数据接收方的属性信息,属性信息包括:IP地址;数据接收方,用于接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据发送方的属性信息,属性信息包括:IP地址;判断数据发送方的属性信息是否与数据接收方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字。
本申请提供的数据传输方法和系统,通过数据发送方接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,以利用确定出的数据传输方式与数据接收方传输话题名称对应的数据。实现了数据发送方与数据接收方均采用主动探测的方式确定数据发送方与数据接收方之间的通信方式,一方面,简化了设置进程间通信方式的操作,另一方面,数据发送方与数据接收方均可自动确定出正确的通信方式,提升系统的稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了可以应用于本申请的数据传输方法或系统的示例性系统架构;
图2示出了根据本申请的数据传输方法的一个实施例的流程图;
图3示出了根据本申请的数据传输方法的另一个实施例的流程图;
图4示出了根据本申请的数据传输方法的再一个实施例的流程图;
图5示出了根据本申请的数据传输方法的一个示例性原理图;
图6示出了根据本申请的数据传输系统的一个实施例的结构示意图;
图7示出了适于用来实现本申请实施例的数据传输系统的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据传输方法或系统的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括:数据发送方101、传输控制方102、数据接收方103。数据发送方101、数据接收方103可以为运行于同一系统中的进程。例如,数据发送方101、数据接收方103可以为运行在自动驾驶汽车控制系统的进程。数据发送方101、数据接收方103也可以为运行于不同系统中的进程。例如,数据发送方101为运行在自动驾驶汽车控制系统的进程,数据接收方103运行在云端的服务器上。
传输控制方102可以建立数据发送方101和数据接收方103的对应关系。传输控制方102可以接收具有对应关系的数据发送方101、数据接收方103发送的属性信息例如IP地址,将接收到的属性信息发送至具有对应关系的数据发送方101、数据接收方103。具有对应关系的数据发送方101和数据接收方103可以根据传输控制方102发送的属性信息,确定传输方式。
请参考图2,其示出了根据本申请的数据传输方法的一个实施例的流程200。需要说明的是,本申请实施例所提供的数据传输方法可以由图1中的数据发送方101执行。该方法包括以下步骤:
步骤201,数据发送方接收传输控制方发送的探测信息。
在本实施例中,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址。
在本实施例中,数据发送方可以为数据发送进程,数据接收方可以为数据接收进程,传输控制方可以为主进程。
在本实施例中,当数据发送方与数据接收方之间需要传输话题名称对应的数据时,数据发送方可以接收到传输控制方发送的探测信息。
以数据发送方与数据接收方为数据发送进程和数据接收进程、传输控制方为预先创建的主进程为例,数据发送进程可以用于通过摄像头采集自动驾驶汽车当前行驶在的道路上的路况图像,数据接收进程可以用于对路况图像进行分析识别障碍物。可以将数据发送进程与数据接收进程之间的待传输的数据的类型即路况图像称之为话题名称。
当数据发送进程与数据接收进程需要传输路况图像时,例如,数据接收进程通知主进程需要路况图像识别障碍物时,数据发送进程可以接收到主进程发送的探测信息。
步骤202,判断数据接收方的属性信息是否与数据发送方的属性信息匹配。
在本实施例中,数据发送方在通过步骤201接收传输控制方发送的探测信息之后,可以通过判断探测信息中的数据接收方的属性信息与数据发送方的属性信息是否匹配,从而确定数据发送方与数据接收方是否在同一机器上。
以数据发送方与数据接收方为数据发送进程和数据接收进程、传输控制方为自动驾驶控制系统中预先创建的主进程,属性信息为IP地址为例,可以判断数据接收进程的属性信息与数据发送进程的属性信息是否匹配。例如,可以判断数据接收进程的IP地址与数据发送进程的IP地址是否匹配即是否相同。从而确定数据发送进程与数据接收进程是否在同一机器上。
在本实施例中,数据发送进程和数据接收进程的IP地址可以是指执行数据发送进程和数据接收进程对应的代码的机器对应的网卡的IP地址。机器可以是指执行数据发送进程和数据接收进程对应的代码的服务器或执行数据发送进程和数据接收进程对应的代码的处理器,例如自动驾驶控制系统中的处理器。
在本实施例中,当数据发送进程和数据接收进程为自动驾驶系统中的进程时,自动驾驶控制系统可以包含多个子系统,例如,利用传感器对环境进行感知的环境感知子系统、通过对激光点云和相机数据进行分析确定行车策略的行车决策子系统。每一个子系统可以包含多个数据发送进程和数据接收进程,每一个子系统可以分别配置有处理器和网卡,每一个网卡对应一个IP地址。执行数据发送进程和数据接收进程对应的代码的机器可以是指发送进程和数据接收进程所属的子系统中的处理器,即该子系统中用于执行发送进程和数据接收进程对应的代码的处理器。数据发送进程和数据接收进程的IP地址可以是指该子系统中的网卡的IP地址。
在本实施例中,当数据发送进程和数据接收进程为自动驾驶系统中的进程时,自动驾驶控制系统可以包含多个子系统。每一个子系统也可以共用一个处理器和网卡,此时,数据发送进程和数据接收进程对应于同一IP地址。
应理解,上述以属性信息为IP地址为例仅是示例性的说明判断数据发送方和数据接收方根据是否在同一机器上,在本申请中,数据发送方和数据接收方的属性信息不限于IP地址,任何可以区分数据发送方和数据接收方是否在同一机器上例如数据发送方和数据接收方是否在自动驾驶系统的同一子系统中的信息均可作为属性信息。当属性信息为多个时,可以在当数据发送方的数据接收当的所有属性信息均相同时,确定数据发送方的属性信息与数据接收方的属性信息匹配。
步骤203,根据判断结果,确定数据传输方式。
在本实施例中,预设数据传输方式:共享内存、套接字。可以根据通过步骤202判断出的数据接收方的属性信息与数据发送方的属性信息是否匹配的判断结果,确定数据发送方与数据接收方是否在同一机器上。然后,可以根据判断结果,确定与数据接收方传输话题名称对应的数据的数据的传输方式。
在本实施例的一些可选的实现方式中,根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式包括:当数据接收方的属性信息与数据发送方的属性信息匹配时,将共享内存确定为数据传输方式;当数据接收方的属性信息与数据发送方的属性信息匹配不匹配时,将套接字确定为数据传输方式。
在本实施例中,当数据发送方判断出数据发送方的属性信息与数据接收方的属性信息匹配时,例如,当属性信息为多个,数据发送方的每一个属性信息与数据接收方的每一个属性信息均相同时,可以确定数据接收方与数据发送方之前采用共享内存传输话题名称对应的数据。
当数据发送方判断出数据发送方的属性信息与数据接收方的属性信息不匹配时,例如,当属性信息为多个,数据发送方与数据接收方存在至少一个不相同的属性信息时,可以确定数据接收方与数据发送方之前采用套接字传输话题名称对应的数据。
以数据发送方与数据接收方为数据发送进程和数据接收进程,数据发送进程和数据接收进程的属性信息为IP地址为例,当数据发送进程判断出数据接收进程的IP地址与数据发送进程的IP地址匹配时,例如,当数据发送进程和数据接收进程运行在同一自动驾驶控制系统的子系统中时,数据接收进程的IP地址与数据发送进程的IP地址均为该子系统中配置的网卡的IP地址时,可以确定数据发送进程与数据接收进程对应于同一子系统中的处理器,可以确定数据发送进程和数据接收进程采用共享内存方式传输话题名称对应的数据。
当数据发送进程判断出数据接收进程的IP地址与数据发送进程的IP地址不匹配时,可以确定数据发送进程和数据接收进程在不同的机器上。例如,数据发送进程和数据接收进程运行在不同的自动驾驶控制系统的子系统中或数据发送进程和数据接收进程分别运行在自动驾驶控制系统和服务器中,数据发送进程和数据接收进程对应于不同的IP地址。可以数据发送进程和数据接收进程可以采用套接字方式传输数据。
应理解,上述以属性信息为IP地址为例仅是示例性的说明数据发送方和数据接收方根据是否在同一机器上,确定数据发送方和数据接收方之前传输话题名称对应的数据的数据传输方式。在本申请中,数据发送方和数据接收方的属性信息不限于IP地址,任何可以区分数据发送方和数据接收方是否在同一机器上的信息均可作为属性信息。
在本实施例的一些可选的实现方式中,在数据发送方接收传输控制方发送的探测信息之前,还包括:向传输控制方发送发布请求,发布请求包括:数据发送方的标识、话题名称,以使传输控制方建立数据发送方的标识与话题名称的对应关系。
在本实施例的一些可选的实现方式中,探测信息基于传输控制方接收到数据发送方发送的订阅请求而生成,订阅请求包括:数据接收方的标识、话题名称。
在本实施例中,在数据发送方通过步骤201接收传输控制方发送的探测信息之前,数据发送方可以发布话题名称,数据接收方可以订阅数据发送进程发布的话题名称。数据发送方在向传输控制方发送发布请求的同时,可以将数据发送方的属性信息例如数据发送方的IP地址发送至传输控制方。数据接收方在向传输控制方发送订阅请求的同时,可以将数据接收方的属性信息例如数据接收方的IP地址发送至传输控制方。
当数据发送进程需要发布话题名称时,由传输控制方接收数据发送进程发送的发布请求,该发布请求中包含数据发送方的话题名称。传输控制方可以将数据发送方的标识与话题名称对应存储,从而完成话题名称的发布。
当数据接收方需要该话题名称对应的类型的数据时,可以向传输控制方发送包含该话题名称的订阅请求,传输控制方可以根据订阅请求中的话题名称,确定数据接收进程需要该话题名称对应的类型的数据。传输控制方可以将数据接收进程的标识与该话题名称对应存储,从而完成该话题名称的订阅,建立发布该话题名称的数据发送方与订阅该话题名称的数据接收方的对应关系。传输控制方可以根据话题名称、预先接收到的数据接收方的属性信息例如数据接收方的IP地址,生成发送给数据发送方的包含话题名称、数据接收方的属性信息的探测信息。
以数据发送方与数据接收方为数据发送进程和数据接收进程,传输控制方为预先创建的主进程为例,数据发送进程可以用于通过摄像头采集自动驾驶汽车当前行驶在的道路上的路况图像,数据接收进程可以用于对路况图像进行分析识别障碍物。话题名称为数据发送进程与数据接收进程之间的待传输数据的类型即路况图像。
数据发送进程可以预先向主进程发送发布请求,发布该话题名称,同时,数据发送进程可以向主进程发送数据发送进程的属性信息例如数据发送进程的IP地址,数据接收进程的IP地址可以是指自动驾驶控制系统的子系统中的网卡的IP地址或服务器上的网卡的IP地址。
当数据接收进程需要该话题名称对应的数据即路况图像时,数据接收进程可以向主进程发送订阅请求,订阅该话题名称。此时,主进程可以生成包含话题名称、数据接收进程的属性信息的探测信息,数据发送进程可以接收到主进程发送的该探测信息。
在本实施例的一些可选的实现方式中,数据传输方式为共享内存;以及在根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式之后,还包括:响应于接收到传输控制方发送的数据传输指令,将待传输的话题名称对应的数据写入话题名称对应的共享内存中,数据传输指令基于传输控制方接收到数据接收方发送的订阅请求而生成,订阅请求包括:数据接收方的标识、话题名称。
在本实施例中,当数据接收方订阅话题名称时,数据发送方在通过步骤203根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式之后,可以接收到传输控制方发送的数据传输指令。
当接收到传输控制方发送的数据传输指令之后,数据发送方可以根据确定出的数据传输方式,向话题名称对应的共享内存或套接字中写入话题名称对应的数据。
在本实施例中,数据发送方可以根据话题名称,预先创建话题名称对应的共享内存。例如,在linux操作系统中,数据发送方可以调用linux操作系统提供的创建共享内存的接口创建共享内存。同时,可以在共享内存中存储话题名称。从而,可以将话题名称与共享内存的标识对应存储,每一个话题名称可以对应一个共享内存。
当数据发送方确定出的数据传输方式为共享内存时,数据发送方可以根据传输指令中的话题名称,查找出话题名称对应的共享内存。然后,可以将话题名称对应的数据写入话题名称对应的共享内存。
请参考图3,其示出了根据本申请的数据传输方法的另一个实施例的流程图。需要说明的是,本申请实施例所提供的数据传输方法可以由图1中的传输控制方102执行。该方法包括以下步骤:
步骤301,传输控制方确定对应于同一话题名称的数据发送方与数据接收方。
在本实施例中,话题名称指示数据发送方与数据接收方之间待传输的数据的类型。
以数据发送方与数据接收方为数据发送进程和数据接收进程为例,数据发送进程可以用于通过摄像头采集自动驾驶汽车当前行驶在的道路上的路况图像,数据接收进程可以用于对路况图像进行分析识别障碍物。可以将数据发送进程与数据接收进程之间的待传输数据的类型即路况图像称之为话题名称。
在本实施例中,传输控制方可以建立话题名称与数据发送方、数据接收方的对应关系。从而,当数据发送方和数据接收方需要传输话题名称对应的数据时,传输控制方可以确定对应于同一话题名称的数据发送方与数据接收方。
在本实施例的一些可选的实现方式中,还包括:接收数据发送方发送的发布请求,发布请求包括:数据发送方的标识、话题名称;建立数据发送方的标识与话题名称的对应关系。
在本实施例的一些可选的实现方式中,传输控制方在向数据发送方发送探测信息之前,还包括:接收数据接收方发送的订阅请求,订阅请求包括:数据接收方的标识、话题名称;建立数据接收方的标识和话题名称的对应关系;生成探测信息。
在本实施例中,数据发送方与数据接收方在传输话题名称对应的数据之前,即数据发送方
数据发送方可以发布话题名称,数据接收方可以订阅数据发送方发布的话题名称。当数据发送方需要发布话题名称时,由传输控制方接收数据发送方发送的发布请求,该发布请求中包含数据发送方的话题名称。传输控制方可以将数据发送方的标识与话题名称对应存储,从而完成话题名称的发布。
当数据接收方需要该话题名称对应的类型的数据时,可以向传输控制方发送包含该话题名称的订阅请求,传输控制方可以根据订阅请求中的话题名称,确定数据接收方需要该话题名称对应的类型的数据。传输控制方可以将数据接收方的标识与该话题名称对应存储,从而完成该话题名称的订阅。
在本实施例中,数据发送方和数据接收方在向传输控制方发送发布请求或订阅请求时,可以同时向传输控制方发送数据发送方和数据接收方的属性信息例如IP地址。
传输控制方可以建立发布该话题名称的数据发送方与订阅该话题名称的数据接收方的对应关系。然后,传输控制方可以分别生成发送给数据发送方和数据接收方的探测信息。探测信息中的属性信息例如IP地址可以为数据发送方和数据接收方在发布话题名称和订阅话题名称时发送给传输控制方的。
传输控制方可以建立发布话题名称的数据发送方与订阅该话题的数据接收方的对应关系。从而,当数据接收方订阅该话题时,可以确定数据接收方需要与数据发送方传输数据,此时,传输控制方可以分别向发布话题的数据发送方和订阅该话题的数据传输方发送探测信息,使得数据发送方和数据接收方均可以根据探测信息,确定传输方式。
在本实施例的一些可选的实现方式中,还包括:接收数据接收方发送的取消订阅请求,取消订阅请求包括:数据接收方的标识、话题名称;解除数据接收方和话题名称的对应关系;生成指示数据接收方和话题名称的对应关系已解除的通知信息;将通知信息发送给数据发送方。
在本实施例中,当数据接收方不再需要话题名称对应的数据时,传输控制方可以接收到数据发送方发送的取消订阅请求。取消订阅请求包括:数据接收方的标识、话题名称。传输控制方可以解除数据接收方和话题名称的对应关系。然后,可以生成指示数据接收方和话题名称的对应关系已解除的通知信息;将通知信息发送给数据发送方。从而,当数据发送方接收到该通知信息时,可以根据该通知信息确定数据接收方和话题名称的对应关系已解除,可以进行相应地操作。例如,当数据发送方与数据接收方采用套接字进行通信时,数据发送方可以关闭与数据接收方传输话题名称对应的数据的套接字。
步骤302,向数据发送方和数据接收方发送探测信息。
在本实施例中,当数据发送方和数据接收方需要传输话题名称对应的数据时,例如,数据接收方订阅数据发送方发布的话题名称时,传输控制方在通过步骤301确定对应于该话题名称的数据发送方与数据接收方之后,可以向数据发送方和数据接收方同时发送探测信息。探测信息包括:话题名称、数据发送方或数据接收方的属性信息,属性信息包括:IP地址。从而使得数据发送方和数据接收方可以根据探测信息确定数据发送方和数据接收方之前传输话题名称对应的数据的数据传输方式,即确定数据发送方和数据方之间通过共享内存或套接字传输话题名称对应的数据。
请参考图4,其示出了根据本申请的数据传输方法的另一个实施例的流程图。需要说明的是,本申请实施例所提供的数据传输方法可以由图1中的数据接收方103执行。该方法包括以下步骤:
步骤401,数据接收方接收传输控制方发送的探测信息。
在本实施例中,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据发送方的属性信息,属性信息包括:IP地址。
在本实施例中,数据发送方可以为数据发送进程,数据接收方可以为数据接收进程、传输控制方可以为预先创建的主进程。以数据发送方与数据接收方为数据发送进程和数据接收进程为例,数据发送进程可以用于通过摄像头采集自动驾驶汽车当前行驶在的道路上的路况图像,数据接收进程可以用于对路况图像进行分析识别障碍物。可以将数据发送进程与数据接收进程之间的待传输数据的类型即路况图像称之为话题名称。
在本实施例中,当数据接收方与数据发送方之间需要传输数据时,数据发送方可以接收到传输控制方发送的探测信息。
以数据发送方与数据接收方为数据发送进程和数据接收进程,传输控制方为预先创建的主进程为例,数据发送进程可以提供采集到的路况图像,数据接收进程需要接收数据发送进程采集到的路况图像进行分析识别障碍物。当数据发送进程与数据接收进程需要传输路况图像时,数据接收进程可以首先接收到主进程发送的探测信息。
步骤402,判断数据发送方的属性信息是否与数据接收方的属性信息匹配。
在本实施例中,数据发送方在通过步骤401接收传输控制方发送的探测信息之后,可以判断探测信息中的数据发送方的属性信息与数据接收方的属性信息是否匹配。判断探测信息中的数据发送方的属性信息与数据接收方的属性信息是否匹配可以相当于判断数据发送方与数据接收方是否在同一机器上。
在本实施例中,数据发送进程和数据接收进程的IP地址可以是指执行数据发送进程和数据接收进程对应的代码的机器对应的网卡的IP地址。机器可以是指执行数据发送进程和数据接收进程对应的代码的服务器或执行数据发送进程和数据接收进程对应的代码的处理器,例如自动驾驶控制系统中的处理器。
以数据发送进程和数据接收进程为自动驾驶系统中的进程为例,自动驾驶控制系统可以包含多个子系统,例如,利用传感器对环境进行感知的环境感知子系统、通过对激光点云和相机数据进行分析确定行车策略的行车决策子系统。每一个子系统可以包含多个数据发送进程和数据接收进程,每一个子系统可以分别配置有独立的处理器和网卡,每一个网卡可以对应一个IP地址。每一个子系统也可以共用一个处理器和网卡,此时,数据发送进程和数据接收进程对应于同一IP地址。
执行数据发送进程和数据接收进程对应的代码的机器可以是指发送进程和数据接收进程所属的子系统中的处理器,即该子系统中用于执行发送进程和数据接收进程对应的代码的处理器。数据发送进程和数据接收进程的IP地址可以是指该子系统中的网卡的IP地址。此外,
以数据发送进程和数据接收进程分别为自动驾驶系统中的进程和服务器中的进程为例,数据发送进程的IP地址可以是指执行数据发送进程对应的代码的处理器所在的自动驾驶系统的子系统的网卡的IP地址,数据接收进程的IP地址可以是指数据接收进程所在的服务器的网卡的IP地址。
应理解,上述以属性信息为IP地址为例仅是示例性的说明判断数据发送方和数据接收方根据是否在同一机器上,在本申请中,数据发送方和数据接收方的属性信息不限于IP地址,任何可以区分数据发送方和数据接收方是否在同一机器上的信息均可作为属性信息。当属性信息为多个时,数据发送方的属性信息与数据接收方的属性信息匹配可以是指数据发送方的数据接收当的每一个属性信息均相同。
步骤403,根据判断结果,确定数据传输方式。
在本实施例中,预设数据传输方式包括:共享内存、套接字。可以根据数据接收方的属性信息是否与数据发送方的属性信息匹配,得到判断结果,即数据发送方与数据接收方是否在同一机器上。然后,可以根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式。
在本实施例的一些可选的实现方式中,根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式包括:当数据发送方的属性信息与数据接收方的属性信息匹配时,将共享内存确定为数据传输方式;当数据发送方的属性信息与数据接收方的属性信息不匹配时,将套接字确定为数据传输方式。
在本实施例中,当数据接收方判断出数据发送方的属性信息与数据接收方的属性信息匹配时,例如,当属性信息为多个,数据发送方的每一个属性信息与数据接收方的每一个属性信息均相同时,可以确定数据接收方与数据发送方之前采用共享内存传输话题名称对应的数据。
当数据接收方判断出数据发送方的属性信息与数据接收方的属性信息不匹配时,例如,当属性信息为多个,数据发送方与数据接收方存在至少一个不相同的属性信息时,可以确定数据接收方与数据发送方之前采用套接字传输话题名称对应的数据。
以数据发送方与数据接收方为数据发送进程和数据接收进程,属性信息为IP地址为例,当数据发送进程判断出数据接收进程IP地址与数据接收进程的IP地址匹配时,例如,当数据发送进程和数据接收进程运行在同一自动驾驶控制系统的子系统中时,数据发送进程和数据接收进程的IP地址可以是指该子系统中的网卡的IP地址。此时,数据接收进程可以确定出数据发送进程和数据接收进程可以采用共享内存方式进行传输数据。
当数据发送进程判断出数据接收进程的IP地址与数据接收进程的IP地址不匹配时,例如,数据发送进程和数据接收进程运行在不同的自动驾驶控制系统的子系统中或数据发送进程和数据接收进程分别运行在自动驾驶控制系统和服务器中,数据发送进程和数据接收进程对应于不同的IP地址。此时,数据接收进程可以确定出数据发送进程和数据接收进程可以采用套接字方式进行传输数据。
应理解,上述以属性信息为IP地址为例仅是示例性的说明数据发送方和数据接收方根据是否在同一机器上,确定数据发送方和数据接收方之前传输话题名称对应的数据的数据传输方式。在本申请中,数据发送方和数据接收方的属性信息不限于IP地址,任何可以区分数据发送方和数据接收方是否在同一机器上的信息均可作为属性信息。
在本实施例的一些可选的实现方式中,在数据接收方接收传输控制方发送的探测信息之前,还包括:向传输控制方发送订阅请求,订阅请求包括:数据接收方的标识、话题名称,以使传输控制方建立数据接收方的标识与话题名称的对应关系。
在本实施例中,在数据接收方需要与数据发送方传输数据时,在数据接收方通过步骤401接收传输控制方发送的探测信息之前,可以首先向传输控制方发送订阅请求,订阅话题名称。订阅请求中包含数据接收方的标识、话题名称,从而,传输控制方建立数据接收方的标识与话题名称的对应关系。同时,数据发送方向传输控制方发送订阅请求的同时,可以将数据接收方的属性信息例如数据接收方的IP地址发送至传输控制方。传输控制方可以根据话题名称、预先接收到的数据发送方的属性信息例如数据发送方的IP地址,生成发送给数据接收方的包含话题名称、数据接收方的属性信息的探测信息。
在本实施例的一些可选的实现方式中,还包括:向传输控制方发送取消订阅请求,取消订阅请求包括:数据接收方的标识、话题名称。
在本实施例中,当数据接收方不再需要话题名称对应的数据时,可以向传输控制方发送取消订阅请求,取消订阅请求包括:数据接收方的标识、话题名称。
在本实施例的一些可选的实现方式中,数据传输方式为共享内存;以及在根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式之后,还包括:从话题名称对应的共享内存中读取待传输的话题名称对应的数据。
在本实施例中,在通过步骤403根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式之后,当数据传输方式为共享内存时,数据接收方可以从话题名称对应的共享内存中读取待传输的话题名称对应的数据。该共享内存可以为数据发送方预先根据传输请求中的话题名称,创建话题名称对应的共享内存,共享内存中可以存储有话题名称。数据接收方可以根据话题名称,查找出话题名称对应的共享内存。
在本实施例的一些可选的实现方式中,数据传输方式为套接字;以及在根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式之后,还包括:创建用于传输话题名称对应的数据的数据接收方套接字;利用数据接收方套接字向数据发送方发送套接字连接请求,以使数据发送方创建用于传输话题名称对应的数据的数据发送方套接字。
在本实施例中,在通过步骤403根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式之后,当确定出的数据传输方式为套接字时,数据接收方可以创建用于传输话题名称对应的数据的数据接收方套接字。可以利用数据接收方套接字向数据发送方发送套接字连接请求,从而,使得数据发送方利用监听套接字接收该套接字连接请求,创建用于传输话题名称对应的数据的数据发送方套接字。数据发送方与数据接收方之间可以利用数据发送方套接字和数据接收方套接字传输话题名称对应的数据。
请参考图5,其示出了根据本申请的数据传输方法的一个示例性原理图。
在图5中,示出了主进程、数据发送进程、数据接收进程1、数据接收进程2。
数据发送进程、数据接收进程1、主进程可以为自动驾驶控制系统中的进程。自动驾驶控制系统可以包含多个子系统,例如,利用传感器对环境进行感知的环境感知子系统、通过对激光点云和相机数据进行分析确定行车策略的行车决策子系统。
数据发送进程、数据接收进程1可以运行在同一自动驾驶控制系统的子系统中,该子系统可以配置有独立的处理器、网卡等设备。数据接收进程2可以为服务器中的进程。
数据发送进程可以向主进程发送发布请求发布话题名称,数据接收进程1、数据接收进程2可以向主进程发送订阅请求订阅话题名称。
数据发送进程可以用于通过摄像头采集自动驾驶汽车当前行驶在的道路上的路况图像,数据接收进程1可以用于对路况图像进行分析识别障碍物。数据接收进程2可以用于对根据路况图像建立高精地图。话题名称为数据发送进程与数据接收进程1、数据接收进程2之间的待传输数据的类型即路况图像。数据发送进程可以发布该话题名称,当数据接收进程1、数据接收进程2摄像头采集的路况图像时,可以向主进程发送订阅该话题名称。
主进程在接收数据接收进程1、数据接收进程2发送的订阅请求之后,可以建立起发布话题名称的数据发送程序和订阅话题名称的数据接收进程1、数据接收进程2的对应关系。主进程可以分别向数据发送进程、数据接收进程1、数据接收进程2发送探测信息,探测信息中包含话题名称、数据接收进程1或数据接收进程2的属性信息例如数据接收进程1或数据接收进程2的IP地址。
主进程发送给数据发送程序的探测信息为数据接收进程1的标识和数据接收进程1的属性信息例如IP地址、数据接收进程2的标识和数据接收进程2的属性信息例如IP地址。数据接收进程1的IP地址可以是指执行数据接收进程1对应的代码的处理器所在的自动驾驶控制系统中的子系统的网卡的IP地址。数据接收进程2的IP地址可以是指数据接收进程所在的服务器上的网卡的IP地址。
以属性信息为IP地址为例,主进程发送给数据接收进程1的探测信息包含数据发送进程的标识和数据发送进程的IP地址,主进程发送给数据接收进程2的探测信息包含数据发送进程的标识和数据发送进程的IP地址。
数据发送进程可以根据主进程发送的包含数据接收进程1或数据接收进程2的属性信息的探测信息,确定与数据接收进程1、数据接收进程2的数据传输方式。数据接收进程1可以根据主进程发送的包含数据发送进程的属性信息的探测信息,确定与数据发送进程的数据传输方式。数据接收进程2可以根据主进程发送的包含数据发送进程的属性信息的探测信息,确定与数据发送进程的数据传输方式。
数据发送进程、数据接收进程1运行在同一自动驾驶控制系统的子系统中,对应于相同的IP地址。数据发送进程可以判断出数据发送进程的IP地址与数据接收进程1的IP地址匹配,确定数据发送进程与数据接收进程1在同一机器上,数据发送进程可以确定数据发送进程和数据接收进程1采用共享内存传输话题名称对应的数据。数据发送进程可以预先创建话题名称路况图像对应的共享内存,在共享内存中存储话题名称。可以预先在自动驾驶控制系统中的存储空间中预先申请一块存储区域用于存储各个话题名称对应的共享内存。数据发送进程可以将话题名称对应的数据写入到话题名称对应的共享内存中。
数据发送进程运行在自动驾驶控制系统的子系统中,数据接收进程2为服务器中的进程,对应于不同的IP地址。数据发送进程可以判断出数据发送进程的IP地址与数据接收进程2的IP地址不匹配,确定数据发送进程与数据接收进程2不在同一机器上,数据发送进程可以确定数据发送进程与数据接收进程2采用套接字传输话题名称对应的数据。
数据接收进程1可以判断出数据接收进程1的IP地址与数据发送进程的IP地址匹配,确定数据发送进程与数据接收进程1在同一机器上,数据接收进程1可以确定数据接收进程1与数据发送进程采用共享内存传输数据。数据接收进程1可以根据话题名称,遍历每一个共享内存中存储的话题名称,从而查找出话题名称对应的共享内存。然后,数据接收进程1从查找出话题名称对应的共享内存中读取数据发送进程写入的话题名称对应的数据。
数据接收进程2可以判断出数据接收进程2的IP地址与数据发送进程的IP地址不匹配,确定数据发送进程与数据接收进程2不在同一机器上,数据接收进程2可以确定数据接收进程2与数据发送进程采用套接字传输话题名称对应的数据。数据接收进程2可以创建用于传输话题名称对应的数据的数据接收方套接字,利用数据接收方套接字向数据发送进程发送套接字连接请求。数据发送进程在利用监听套接字接收套接字连接请求之后,可以创建用于传输话题名称对应的数据的数据发送方套接字。数据发送进程与数据接收进程2利用数据发送方套接字、数据接收方套接字传输话题名称对应的数据。
当数据接收进程1、数据接收进程2暂时不需要话题名称对应的数据时,可以向主进程发送取消订阅请求。主进程在接收取消订阅请求之后,可以向数据发送进程发送通知信息。通知信息中包含数据接收进程的标识。以数据接收进程2向主进程发送取消订阅请求为例,当数据发送进程接收到取消订阅请求时,可以关闭与数据接收进程2的数据接收方套接字传输数据的数据发送方套接字。
请参考图6,作为对上述各图所示方法的实现,本申请提供了一种数据传输系统的一个实施例。
如图6所示,本实施例的数据传输系统600包括:数据发送方601,传输控制方602,数据接收方603。其中,数据发送方601用于接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据接收方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字;传输控制方602用于确定对应于同一话题名称的数据发送方与数据接收方,话题名称指示数据发送方与数据接收方之间待传输的数据的类型;向数据发送方和数据接收方发送探测信息,探测信息包括:话题名称、数据发送方或数据接收方的属性信息,属性信息包括:IP地址;数据接收方603用于接收传输控制方发送的探测信息,探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、数据发送方的属性信息,属性信息包括:IP地址;判断数据发送方的属性信息是否与数据接收方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与数据发送方传输话题名称对应的数据的数据传输方式,预设数据传输方式包括:共享内存、套接字。
在本实施例的一些可选的实现方式中,数据发送方601还用于:当数据接收方的属性信息与数据发送方的属性信息匹配时,将共享内存确定为数据传输方式;当数据接收方的属性信息与数据发送方的属性信息不匹配时,将套接字确定为数据传输方式;数据接收方603还用于:当数据发送方的属性信息与数据接收方的属性信息匹配时,将共享内存确定为数据传输方式;当数据发送方的属性信息与数据接收方的属性信息不匹配时,将套接字确定为数据传输方式。
在本实施例的一些可选的实现方式中,数据发送方601还用于:在接收传输控制方发送的探测信息之前,向传输控制方发送发布请求,发布请求包括:数据发送方的标识、话题名称;传输控制方还用于:接收数据发送方发送的发布请求,发布请求包括:数据发送方的标识、话题名称;建立数据发送方的标识与话题名称的对应关系;数据接收方603还用于:向传输控制方发送订阅请求或取消订阅请求,订阅请求或取消订阅请求包括:数据接收方的标识、话题名称。
在本实施例的一些可选的实现方式中,数据发送方601还用于:当数据传输方式为共享内存时,将待传输的话题名称对应的数据写入话题名称对应的共享内存中;数据接收方603还用于:当数据传输方式为共享内存时,从话题名称对应的共享内存中读取待传输的话题名称对应的数据;当数据传输方式为套接字时,创建用于传输话题名称对应的数据的数据接收方套接字;利用数据接收方套接字向数据发送方发送套接字连接请求,以使数据发送方创建用于传输话题名称对应的数据的数据发送方套接字。
图7示出了适于用来实现本申请实施例的数据传输系统的计算机系统的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述设备中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:数据发送方接收传输控制方发送的探测信息,所述探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、所述数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与所述数据接收方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终方中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (20)

1.一种数据传输方法,其特征在于,应用于数据发送方,所述方法包括:
接收传输控制方发送的探测信息,所述探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、所述数据接收方的属性信息,属性信息包括:IP地址;
判断数据接收方的属性信息是否与数据发送方的属性信息匹配;
根据判断结果,从预设数据传输方式中确定出与所述数据接收方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字。
2.根据权利要求1所述的方法,其特征在于,所述根据判断结果,从预设数据传输方式中确定出与所述数据接收方传输所述话题名称对应的数据的数据传输方式包括:
当数据接收方的属性信息与数据发送方的属性信息匹配时,将共享内存确定为所述数据传输方式;
当数据接收方的属性信息与数据发送方的属性信息不匹配时,将套接字确定为所述数据传输方式。
3.根据权利要求2所述的方法,其特征在于,在数据发送方接收传输控制方发送的探测信息之前,所述方法还包括:
向传输控制方发送发布请求,所述发布请求包括:数据发送方的标识、所述话题名称,以使传输控制方建立所述数据发送方的标识与所述话题名称的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述探测信息基于传输控制方接收到所述数据发送方发送的订阅请求而生成,所述订阅请求包括:数据接收方的标识、所述话题名称。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收传输控制方发送的通知信息,所述通知信息基于传输控制方接收到所述数据接收方发送的取消订阅请求而生成,所述取消订阅请求包括:数据接收方的标识、所述话题名称。
6.根据权利要求5所述的方法,其特征在于,所述数据传输方式为共享内存;以及
在根据判断结果,从预设数据传输方式中确定出与所述数据接收方传输所述话题名称对应的数据的数据传输方式之后,所述方法还包括:
将待传输的所述话题名称对应的数据写入所述话题名称对应的共享内存中。
7.一种数据传输方法,其特征在于,所述方法包括:
传输控制方确定对应于同一话题名称的数据发送方与数据接收方,所述话题名称指示数据发送方与数据接收方之间待传输的数据的类型;
向所述数据发送方和数据接收方发送探测信息,以使数据发送方和数据接收方基于所述探测信息,从预设数据传输方式中确定出所述数据发送方与所述数据接收方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字,所述探测信息包括:所述话题名称、所述数据发送方或数据接收方的属性信息,属性信息包括:IP地址。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述数据发送方发送的发布请求,所述发布请求包括:数据发送方的标识、所述话题名称;
建立所述数据发送方的标识与所述话题名称的对应关系。
9.根据权利要求8所述的方法,其特征在于,在向数据发送方发送探测信息之前,所述方法还包括:
接收所述数据接收方发送的订阅请求,所述订阅请求包括:数据接收方的标识、所述话题名称;
建立所述数据接收方的标识和所述话题名称的对应关系;
生成所述探测信息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收数据接收方发送的取消订阅请求,所述取消订阅请求包括:数据接收方的标识、所述话题名称;
解除所述数据接收方和所述话题名称的对应关系;
生成指示所述数据接收方和所述话题名称的对应关系已解除的通知信息;
将所述通知信息发送给所述数据发送方。
11.一种数据传输方法,其特征在于,应用于数据接收方,所述方法包括:
接收传输控制方发送的探测信息,所述探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、所述数据发送方的属性信息,属性信息包括:IP地址;
判断所述数据发送方的属性信息是否与数据接收方的属性信息匹配;
根据判断结果,从预设数据传输方式中确定出与所述数据发送方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字。
12.根据权利要求11所述的方法,其特征在于,所述根据判断结果,从预设数据传输方式中确定出与所述数据发送方传输所述话题名称对应的数据的数据传输方式包括:
当数据发送方的属性信息与数据接收方的属性信息匹配时,将共享内存确定为所述数据传输方式;
当数据发送方的属性信息与数据接收方的属性信息不匹配时,将套接字确定为所述数据传输方式。
13.根据权利要求12所述的方法,其特征在于,在数据接收方接收传输控制方发送的探测信息之前,所述方法还包括:
向传输控制方发送订阅请求,所述订阅请求包括:数据接收方的标识、所述话题名称,以使传输控制方建立所述数据接收方的标识与所述话题名称的对应关系。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
向传输控制方发送取消订阅请求,所述取消订阅请求包括:数据接收方的标识、所述话题名称。
15.根据权利要求14所述的方法,其特征在于,所述数据传输方式为共享内存;以及
在根据判断结果,从预设数据传输方式中确定出与所述数据发送方传输所述话题名称对应的数据的数据传输方式之后,所述方法还包括:
从所述话题名称对应的共享内存中读取待传输的所述话题名称对应的数据。
16.根据权利要求14所述的方法,其特征在于,所述数据传输方式为套接字;以及
在根据判断结果,从预设数据传输方式中确定出与所述数据发送方传输所述话题名称对应的数据的数据传输方式之后,所述方法还包括:
创建用于传输所述话题名称对应的数据的数据接收方套接字;
利用所述数据接收方套接字向数据发送方发送套接字连接请求,以使数据发送方创建用于传输所述话题名称对应的数据的数据发送方套接字。
17.一种数据传输系统,其特征在于,所述数据传输系统包括:
数据发送方,用于接收传输控制方发送的探测信息,所述探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、所述数据接收方的属性信息,属性信息包括:IP地址;判断数据接收方的属性信息是否与数据发送方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与所述数据接收方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字;
传输控制方,用于确定对应于同一话题名称的数据发送方与数据接收方,所述话题名称指示数据发送方与数据接收方之间待传输的数据的类型;向所述数据发送方和数据接收方发送探测信息,所述探测信息包括:所述话题名称、所述数据发送方或数据接收方的属性信息,属性信息包括:IP地址;
数据接收方,用于接收传输控制方发送的探测信息,所述探测信息包括:指示数据发送方与数据接收方之间待传输的数据的类型的话题名称、所述数据发送方的属性信息,属性信息包括:IP地址;判断所述数据发送方的属性信息是否与数据接收方的属性信息匹配;根据判断结果,从预设数据传输方式中确定出与所述数据发送方传输所述话题名称对应的数据的数据传输方式,所述预设数据传输方式包括:共享内存、套接字。
18.根据权利要求17所述的数据传输系统,其特征在于,数据发送方还用于:当数据接收方的属性信息与数据发送方的属性信息匹配时,将共享内存确定为所述数据传输方式;当数据接收方的属性信息与数据发送方的属性信息不匹配时,将套接字确定为所述数据传输方式;数据接收方还用于:当数据发送方的属性信息与数据接收方的属性信息匹配时,将共享内存确定为所述数据传输方式;当数据发送方的属性信息与数据接收方的属性信息不匹配时,将套接字确定为所述数据传输方式。
19.根据权利要求18所述的数据传输系统,其特征在于,数据发送方还用于:在接收传输控制方发送的探测信息之前,向传输控制方发送发布请求,所述发布请求包括:数据发送方的标识、所述话题名称;传输控制方还用于:接收所述数据发送方发送的发布请求,所述发布请求包括:数据发送方的标识、所述话题名称;建立所述数据发送方的标识与所述话题名称的对应关系;数据接收方还用于:向传输控制方发送订阅请求或取消订阅请求,所述订阅请求或取消订阅请求包括:数据接收方的标识、所述话题名称。
20.根据权利要求19所述的数据传输系统,其特征在于,数据发送方还用于:当数据传输方式为共享内存时,将待传输的所述话题名称对应的数据写入所述话题名称对应的共享内存中;数据接收方还用于:当数据传输方式为共享内存时,从所述话题名称对应的共享内存中读取待传输的所述话题名称对应的数据;当所述数据传输方式为套接字时,创建用于传输所述话题名称对应的数据的数据接收方套接字;利用所述数据接收方套接字向数据发送方发送套接字连接请求,以使数据发送方创建用于传输所述话题名称对应的数据的数据发送方套接字。
CN201610658254.1A 2016-08-11 2016-08-11 数据传输方法和系统 Active CN107733839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610658254.1A CN107733839B (zh) 2016-08-11 2016-08-11 数据传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610658254.1A CN107733839B (zh) 2016-08-11 2016-08-11 数据传输方法和系统

Publications (2)

Publication Number Publication Date
CN107733839A CN107733839A (zh) 2018-02-23
CN107733839B true CN107733839B (zh) 2021-06-01

Family

ID=61200512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610658254.1A Active CN107733839B (zh) 2016-08-11 2016-08-11 数据传输方法和系统

Country Status (1)

Country Link
CN (1) CN107733839B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399229A (zh) * 2018-04-25 2019-11-01 清华大学 进程间的通信方法、装置、系统、介质及终端
CN108881155A (zh) * 2018-04-25 2018-11-23 郑州易通众联电子科技有限公司 数据传输方法及数据传输装置
CN108600011B (zh) * 2018-04-26 2020-01-24 百度在线网络技术(北京)有限公司 通信网络数据传输的方法、装置、存储介质及终端设备
CN109151033B (zh) * 2018-08-30 2022-02-22 百度在线网络技术(北京)有限公司 基于分布式系统的通信方法、装置、电子设备及存储介质
CN109194736B (zh) 2018-08-30 2021-04-27 百度在线网络技术(北京)有限公司 消息去重方法、装置、电子设备、介质和无人车
CN109040310A (zh) * 2018-09-14 2018-12-18 郑州云海信息技术有限公司 一种数据传输方法及系统
CN111988557B (zh) * 2019-05-22 2022-09-13 上汽通用汽车有限公司 车载视频传输方法和车载视频传输系统
CN112486037B (zh) * 2020-12-09 2023-08-18 友道科技有限公司 Cbtc仿真系统中列车和区域控制器的通信匹配方法、系统
CN115333807B (zh) * 2022-07-29 2023-04-07 北京联讯星烨科技有限公司 一种实现跨场景的数据安全交互方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977195A (zh) * 2010-10-29 2011-02-16 西安交通大学 一种基于共享内存机制虚拟机域间通信协议的实现方法
CN103455380A (zh) * 2012-06-05 2013-12-18 上海斐讯数据通信技术有限公司 多进程通信系统及其建立和通信方法
CN103731504A (zh) * 2014-01-16 2014-04-16 国网山东省电力公司青岛供电公司 配电网领域dds通信方法
CN105610981A (zh) * 2016-02-29 2016-05-25 湖南高至科技有限公司 快速作战信息流转平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135556A1 (en) * 2001-12-14 2003-07-17 International Business Machines Corporation Selection of communication strategies for message brokers or publish/subscribe communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977195A (zh) * 2010-10-29 2011-02-16 西安交通大学 一种基于共享内存机制虚拟机域间通信协议的实现方法
CN103455380A (zh) * 2012-06-05 2013-12-18 上海斐讯数据通信技术有限公司 多进程通信系统及其建立和通信方法
CN103731504A (zh) * 2014-01-16 2014-04-16 国网山东省电力公司青岛供电公司 配电网领域dds通信方法
CN105610981A (zh) * 2016-02-29 2016-05-25 湖南高至科技有限公司 快速作战信息流转平台

Also Published As

Publication number Publication date
CN107733839A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN107733839B (zh) 数据传输方法和系统
US10152277B2 (en) Data transmission method and system
US10212236B2 (en) Information transmitting method and apparatus in robot operating system
CN109857577B (zh) 访问控制方法、装置、介质及电子设备
US9596225B2 (en) Out-of-vehicle device interface apparatus and method for protecting in-vehicle network
CN109150662B (zh) 消息传输方法、分布式系统、设备、介质和无人车
CN112769876B (zh) 一种设备通道信息获取方法、装置、设备和介质
WO2020147390A1 (zh) 车辆控制方法和装置
CN109286684B (zh) 一种通信连接的处理方法、装置、代理服务器及存储介质
CN114363334A (zh) 云系统及云桌面虚拟机的网络配置方法、装置及设备
CN109547564B (zh) 远程数据获取方法、装置、设备及计算机可读存储介质
US9463803B2 (en) Method and apparatus for uniform access of onboard devices
JP2019174999A5 (ja) 印刷システム、画像形成装置およびその制御方法、及びプログラム
CN109309583B (zh) 基于分布式系统的信息获取方法、装置、电子设备和介质
CN109697097B (zh) 数据处理方法及系统
US8380938B2 (en) Providing shared access to data storage resources across cluster computing environment boundaries
CN115052003B (zh) 数据同步方法、相关装置和介质
CN112732661B (zh) 定位信息共享方法、装置、电子设备及存储介质
GB2579338A (en) Operating a controller for a vehicle
US11782702B2 (en) Generation of code for a system
US9330030B2 (en) Bridge decoder for a vehicle infotainment system
CN112235173B (zh) 通信控制方法、装置、终端设备及存储介质
CN111212399B (zh) 数据传输方法、装置、计算机存储介质及电子设备
CN116744260A (zh) 一种车辆跨屏信息的通信方法、系统、介质和电子设备
CN112788570A (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