CN111382729A - 一种从数据源采集数据的方法、主机和汽车 - Google Patents
一种从数据源采集数据的方法、主机和汽车 Download PDFInfo
- Publication number
- CN111382729A CN111382729A CN201811612700.0A CN201811612700A CN111382729A CN 111382729 A CN111382729 A CN 111382729A CN 201811612700 A CN201811612700 A CN 201811612700A CN 111382729 A CN111382729 A CN 111382729A
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- state
- bound
- receiving
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000027455 binding Effects 0.000 claims abstract description 23
- 230000000007 visual effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000007704 transition Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009870 specific binding Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种从数据源采集数据的方法、主机和汽车。所述方法包括:接收到从数据源接收数据的命令时,判断是否有对象预先与所述数据源绑定;若是,通过与数据源绑定的对象从数据源接收数据;若否,将预设的对象与数据源绑定;并通过数据源绑定的对象从数据源接收数据。能够提高从数据源采集数据时数据接收的实时性。
Description
技术领域
本申请涉及数据采集技术领域,特别涉及一种从数据源采集数据的方法、主机和汽车。
背景技术
在局域网环境下进行图像采集和机器视觉分析的应用中,一般通过以太网交换机将多台采集图像的数据源和一个主机互联起来。这类应用中,多路数据源同时采集图像数据,并将采集到的数据通过网络环境实时并发地发送给主机,并由主机做进一步的视觉分析工作。
发明内容
现有技术中主机从多路数据源采集数据的过程是:主机首先与数据源建立连接,然后持续接收数据,接收中断时,与数据源的连接也断开,需要接收时再重新与数据源建立连接,故数据接收的实时性差。
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种从数据源采集数据的方法、主机和汽车。
第一方面,本申请实施例提供一种从数据源采集数据的方法,包括:
接收到从数据源接收数据的命令时,判断是否有对象预先与所述数据源绑定;
若是,通过与所述数据源绑定的对象从所述数据源接收数据;
若否,将预设的对象与所述数据源绑定,并通过与所述数据源绑定的对象从所述数据源接收数据。
第二方面,本申请实施例提供一种主机,包括:图像采集处理器和视觉分析处理器;
所述图像采集处理器用于执行前述的从数据源采集数据的方法的各个步骤;
所述视觉分析处理器用于对所述图像采集处理器接收的数据进行视觉分析处理。
第三方面,本申请实施例提供一种汽车,包括:如前所述的主机和多路数据源;
所述主机连接各路所述数据源并从各路所述数据源并发采集数据。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述从数据源采集数据的方法。
本申请实施例提供的上述技术方案通过与数据源绑定的对象接收数据,不用每次都需要与数据源先连接再接收数据,提高了数据接收的实时性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的从数据源采集数据的方法的流程图;
图2为图1中步骤S13的具体实现流程图;
图3为本申请实施例一中对象对应的状态变迁流程图;
图4为本申请实施例二中所述从数据源接收数据的具体实现方法流程图;
图5为本申请实施例二中节点对应的状态变迁流程图;
图6为本申请实施例提供的主机的结构示意图;
图7为本申请实施例提供的汽车的网络连接示意图;
图8为本申请实施例提供的汽车的具体实现结构示意图;
图9为本申请实施例提供的汽车的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
发明概述
在局域网环境下进行图像采集和机器视觉分析的应用中,一般通过以太网交换机将多台采集图像的数据源和一个主机互联起来。这类应用中,多路数据源同时采集图像数据,并将采集到的数据通过网络环境实时并发地发送给主机,并由主机做进一步的视觉分析工作。
然而,现有技术中主机从多路数据源采集数据的过程是:主机首先与数据源建立连接,然后持续接收数据,接收中断时,与数据源的连接也断开,需要接收时再重新与数据源建立连接,故数据接收的实时性差。
为了解决现有技术中存在的数据接收实时性差的问题,本申请实施例提供一种从数据源采集数据的方法,该方法接收到从数据源接收数据的命令时,判断是否有对象预先与数据源绑定;若是,通过与数据源绑定的对象从数据源接收数据;若否,将预设的对象与数据源绑定;并通过数据源绑定的对象从数据源接收数据。该方法通过与数据源绑定的对象接收数据,不用每次都需要与数据源先连接再接收数据,提高了数据接收的实时性。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
应用场景总览
自动驾驶汽车的图像采集过程一般是在一个局域网的环境下,通过以太网交换机将多台摄像机和一个主机互联起来。多路摄像机同时采集图像数据,并将采集到的数据通过网络环境实时并发地发送给主机,并由主机做进一步的视觉分析工作。
自动驾驶汽车具有行驶环境复杂多变、行驶安全要求极高等特点,这些特点要求其摄像机必须采集高分辨率的图像,其主机必须有极高的视觉分析处理能力,并且其摄像机采集的图像传输至主机的过程需要实时、高速率和低丢包率。
如图8和图9所示,自动驾驶汽车的主机81与多路摄像机82通过以太网交换机83连接,主机81包括图像采集处理器811和视觉分析处理器812。其中,多路摄像机82同时采集图像数据,图像采集处理器811负责接收摄像机82采集到的图像数据,视觉分析处理器812对图像采集处理器811接收的图像进行视觉分析处理。
图像采集处理器811接收摄像机82采集的图像数据的过程采用本申请实施例提供的从数据源采集数据的方法。
需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
示例性方法
实施例一
本申请实施例一提供一种从数据源采集数据的方法,其流程如图1所示,包括如下步骤:
步骤S11:接收到的从数据源接收数据的命令时,判断是否有对象预先与数据源绑定。
其中,从数据源接收数据,可以是按照用户数据报协议(User DatagramProtocol,UDP)从数据源接收数据,也可以是按照其他的不要求分组顺序到达的数据传输协议。
上述对象可以是用来维护一路数据源,具体的,可以是通过包括多个对象的对象组对每个对象进行管理。以数据源为一台摄像机为例,对象的数量至少为摄像机的台数,用一个对象来维护网络中的一台摄像机,因此用户可以通过同时访问多个对象来实现并发地采集多台摄像机的图像数据。
每个对象不是固定的与一个数据源绑定,也不是暂停通过绑定的对象从数据源接收数据就解除对象与数据源的绑定。可以是,当接收到暂停从指定数据源接收数据的命令,暂停从述数据源接收数据,但依然保持数据源与对象的绑定;当接收到停止从指定数据源接收数据的命令,解除数据源和对象的绑定,清空与数据源绑定的对象。所以被解除了绑定且清空后的对象,还可以再与其他的数据源绑定。
故,接收到从数据源接收数据的命令后,首先要判断是否有对象预先与数据源绑定,若是,执行步骤S12;若否,执行步骤S13。
步骤S12:通过与数据源绑定的对象从数据源接收数据。
因为一个数据单元的数据往往比较大,例如数据单元为一帧图像数据时,通过一个消息来发送比较困难,因此数据源可以按照设定的规则将一个图像帧的数据分割为若干个数据分段,并为每个数据分段编号,最终每个数据分段形成一个对应的数据包,一次将一个数据包发送给接收端。
具体的,可以是,通过与数据源绑定的对象接收数据源发送的每个数据单元的各个数据分段对应的数据包,直至确定数据单元发送结束;判断数据单元的数据包是否有丢包;若是,生成丢包信息发送给相应的数据源;等待重新接收数据,直至确定数据单元的数据包没有丢包。
判断数据单元的数据包没有丢包后,上传数据单元的每个数据分段对应的数据包。
接收完一个数据单元的所有数据包后,判断数据单元的数据包是否有丢包,若是,重新接收丢包的数据包,直至判断没有丢包,能够保证接收的每一个数据单元没有丢包,保证了数据接收的完整性。
步骤S13:将预设的对象与数据源绑定,并通过与数据源绑定的对象从数据源接收数据。
可以是,遍历预先建立的包含多个对象的对象组,将遍历到的第一个闲置的对象,即没有与任一数据源绑定的对象与数据源绑定。然后通过与数据源绑定的对象从数据源接收数据。
具体绑定方式后续详细论述。
本实施例所述的从数据源采集数据的方法,要从数据源开始接收数据之前,判断是否有对象预先与数据源绑定,若是,则可以直接通过绑定的对象接收数据;若否,才需要先将预设的对象与数据源绑定,从而与预设的对象建立连接,由于无需每次都与数据源先连接再接收数据,提高了数据接收的实时性。
具体的,步骤S13中将预设的对象与数据源绑定,参照图2所示,可以通过下述步骤:
步骤S21:发送包含数据源的物理地址的广播消息。
发送包含数据源的物理地址(Media Access Control Address,MAC)的广播消息,同一网络内的所有数据源都能接收到该广播消息,但预先规定了只有物理地址与广播消息中的物理地址相匹配的数据源才能回应该广播消息。
故每路数据源接收到该广播消息后,将消息中的物理地址与自身的物理地址匹配,若匹配,则回应该消息;若不匹配,则忽略。
步骤S22:在预设的时间阈值内接收到所述数据源发送的所述广播消息的回应消息。
上述时间阈值可以是考虑多种影响因素综合设定,但最短应该涵盖数据源的上电启动时间。如果在预设的时间阈值内没有接收到回应消息,表明可能网络内没有对应的数据源,或者数据源的设备发生了故障,返回错误信息;否则,如果在预设的时间阈值内接收到了回应消息,返回回应消息的数据源正是所要绑定的数据源,该数据源此时已经被激活。
步骤S23:获取回应消息包含的数据源的参数信息和IP地址,填充到预设的对象的相应变量中。
当数据源为用于采集图像信息的数据源(例如数据源为一台摄像机)时,数据源的参数信息,可以包括数据源的至少一项下述信息:分辨率,帧率,图像格式和像素通道。
在一个可选的实施例中,可以是,获取回应消息包含的数据源的参数信息之后,上传数据源的参数信息。
在一个可选的实施例中,在从多路数据源并发采集数据的具体过程中,还可以,记录对象组中每个对象的当前状态,根据每个对象的状态,确定对象下一步可执行的操作和执行完下一步可执行操作后的下一状态;以及,在执行完下一步可执行操作后,将对象的状态更新为下一状态。
表1对象状态表
其中,对象各状态的含义及对应的下一步可执行操作和下一状态参见表1所示,对象的状态变迁流程,参见图3所示。上述对象的状态包括:关闭状态、等待状态、开始状态和停止状态。
关闭状态,表示对象还未与任一数据源绑定。关闭状态对应的对象下一步可执行的操作为:将对象与一个数据源绑定;开始执行将对象与一个数据源绑定操作之后,将对象的状态更新为等待状态。
等待状态,表示正在将对象与一个数据源进行绑定。等待状态对应的对象下一步可执行的操作为:通过对象从数据源接收数据;执行开启通过对象从数据源接收数据之后,将对象的状态更新为打开状态。
开始状态,表示正在通过对象从与对象绑定的数据源接收数据。开始状态对应的对象下一步可执行的操作为:停止通过对象从与对象绑定的数据源接收数据,执行停止通过对象从与对象绑定的数据源接收数据之后,将对象的状态更新为停止状态;或,开始状态对应的对象下一步可执行的操作为:解除对象和与对象绑定的数据源的绑定,执行解除对象和与对象绑定的数据源的绑定之后,将对象的状态更新为关闭状态。
停止状态,表示已经停止通过对象从与对象绑定的数据源接收数据。停止状态对应的对象下一步可执行的操作为:通过对象从与对象绑定的数据源接收数据,开始执行通过对象从与对象绑定的数据源接收数据之后,将对象的状态更新为开始状态;或,停止状态对应的对象下一步可执行的操作为:解除对象和与对象绑定的数据源的绑定,执行解除对象和与对象绑定的数据源的绑定之后,将对象的状态更新为关闭状态。
上述对象状态的变迁,还可以包括,当判断一个对象异常时,解除对象和与对象的绑定的数据源的绑定,将对象的状态更新为关闭状态。
可选的,上述当接收到暂停从指定数据源接收数据的命令,暂停从数据源接收数据后,将与数据源绑定的对象的状态更新为停止状态;当接收到停止从指定数据源接收数据的命令,解除数据源和与数据源绑定的对象的绑定,清空与数据源绑定的对象后,将与数据源绑定的对象的状态更新为关闭状态。
通过对象状态的管理,可以按照对象的状态判断是否可执行下一步操作,不会出现操作错误;同时可以对异常情况及时处理。
对应的,上述步骤S13中,将预设的对象与数据源绑定的过程,可以是,在预先建立的包含多个对象的对象组中查找到一个关闭状态为对象;将找到的关闭状态的对象与数据源绑定,并将对象的状态更新为等待状态。
对象组中的每一个对象与数据源不是一一对应的关系,当前闲置的对象及状态为关闭的对象都可以与数据源绑定,有利于资源的有效利用。
实施例二
本申请实施例二提供一种从数据源接收数据的具体实现方法,以接收图像数据为例,其流程如图4所示,包括如下步骤:
步骤S41:接收每个图像帧的每个数据分段对应的数据包,直至确定所述图像帧发送结束。
具体的,一个数据包,可以包括:所属的图像帧的ID号,所属的图像帧的数据包总个数,数据包的ID号,和数据包的数据。
上述确定图像帧发送结束,可以是收到图像帧数据结束的信息。
步骤S42:判断图像帧的数据包是否有丢包。
具体可以是,判断接收到的图像帧的数据包的个数是否不小于图像帧的数据包总个数;若否,确定图像帧的数据包没有丢包,图像帧的数据包接收结束,继续接收下一个图像帧的数据包;若是,确定图像帧的数据包有丢包,执行步骤S43。
步骤S43:生成丢包信息发送给相应的数据源;等待重新接收数据。
具体的,生成的丢包信息至少包括丢包的图像帧的ID号和丢包的每个数据包的ID号,还可以包括其他的信息,例如,丢包的数据包的个数。将丢包信息发送给数据源后,等待重新接收被丢包的数据包。确定接收完毕后,再次判断是否有丢包,直至确定没有丢包,继续接收下一个图像帧的数据包。循环执行步骤S41~步骤S43,直至接收到停止数据接收的指令,或是在预定的时间阈值内接收不到任一数据包。
在一个可选的实施例中,上述步骤S41中,接收每个图像帧的每个数据分段对应的数据包,还可以包括:针对每个图像帧,将接收到的图像帧的每个数据分段对应的数据包填充在预先建立的链表的一个节点中;对应的,当步骤S42判断图像帧的数据包没有丢包后,上传图像帧的每个数据分段对应的数据包;清空所述节点。
具体的,可以是,针对每个图像帧,将接收到的图像帧的每个数据分段对应的数据包填充在预先建立的链表的填充指针指向的节点中;对应的,判断图像帧的数据包没有丢包之后,将填充指针指向链表的下一个节点;对应的,上传图像帧的每个数据分段对应的数据包,包括:上传获取指针指向的节点中填充的图像帧的每个数据分段对应的数据包;清空所述节点之后,还包括:将获取指针指向链表的下一个节点。
在一个可选的实施例中,上述填充指针和获取指针的初始位置可以是与链表的头指针位置相同。具体的,头指针可以是指向链表的头节点,也可以是指向其他预先指定的节点。在数据接收的过程中,头指针的位置保持不变;头指针的作用是在数据接收的开始时,指示填充指针和获取指针的指向。
本实施例所述的数据接收方法,将一个图像帧的所有数据包缓存在一个节点中,便于管理缓存的数据;接收并上传完一个图像帧的数据后清空其存放的节点,有利于资源的有效利用,减轻缓存负荷。
将接收到的图像帧的每个数据包填充在预先建立的链表的填充指针指向的节点中;上传获取指针指向的节点中填充的图像帧的每个数据分段对应的数据包。通过填充指针和获取指针标记相应的可操作的节点位置,不会出现填充位置错误或上传错误,保证了数据的准确接收和上传。
在一个可选的实施例中,在数据接收的具体过程中,还可以记录链表的每个节点的当前状态,确定节点下一步可执行的操作,以及下一步可执行操作后的状态,并在执行对应操作后,将节点的状态更新至所述操作后的状态。
表2节点状态表
其中,节点各状态的含义及对应的下一步可执行操作和下一状态参见表2所示,节点的状态变迁流程,参见图5所示。上述节点的状态包括:空白状态、填充状态、准备状态和访问状态:
空白状态,表示节点还未被填充任一数据包。空白状态对应的节点下一步可执行的操作为:填充一个图像帧的一个数据分段对应的数据包;执行填充一个图像帧的一个数据分段对应的数据包操作之后,将节点的状态更新为填充状态。
填充状态,表示节点正在被填充一个图像帧的数据包且图像帧未填充完毕。填充状态对应的节点下一步可执行的操作为:等待上传填充的图像帧的数据包;执行等待上传填充的图像帧的数据包操作之后,将节点的状态更新为准备状态。
准备状态,表示节点正在等待上传填充的图像帧的数据包。准备状态对应的节点下一步可执行的操作为:上传填充的图像帧的数据包;执行上传填充的图像帧的数据包操作之后,将节点的状态更新为访问状态。
访问状态,表示节点正在上传填充的图像帧的数据包;访问状态对应的节点下一步可执行的操作为:清空节点;执行清空节点操作之后,将节点的状态更新为空白状态。
上述节点状态的变迁,还可以包括,当判断一个节点异常时,清空节点,将节点的状态更新为空白状态。
本实施例所述的数据接收方法,通过节点状态的管理,可以按照节点的状态判断是否可执行下一步操作,不会出现操作错误;同时可以对异常情况及时处理。
为了保证在一个节点中填充的数据包都是属于同一个图像帧的数据包,在一个可选的实施例中,可以是:
针对每个图像帧,将接收到的图像帧的每个数据分段对应的数据包填充在预先建立的链表的一个节点中之前,具体是在接收到图像帧的第一个数据包之后,将数据包填充到节点之前,将图像帧的ID号赋值给要填充的节点的ID号。
针对后面接收的上述图像帧的数据包,首先要比较数据包中图像帧的ID号与节点的ID号的大小关系,若数据包中图像帧的ID号小于节点的ID号,确定数据包属于所述图像帧的上一个图像帧,丢弃数据包;
若数据包中图像帧的ID号等于节点的ID号,确定数据包属于所述图像帧,将数据包填充在节点中;
若数据包中图像帧的ID号大于节点的ID号,确定数据包属于所述图像帧的下一个图像帧,此时,所述图像帧的数据包已经接收完毕,直接将数据包填充在所述节点的下一节点中。
上述将接收到的数据包填充到节点中之前,先判断数据包中图像帧的ID号与节点的ID号的大小关系,根据二者大小关系的不同做不同的处理,避免了将不是一个图像帧的数据包填充在同一个节点中,保证了最终上传的每个图像帧的所有数据包都是属于同一图像帧的。
示例性设备
基于本申请的发明构思,如图6所示,本申请实施例还提供一种主机61,包括:图像采集处理器611和视觉分析处理器612。
其中,图像采集处理器611用于执行本申请实施例提供的的从数据源采集数据的方法的各个步骤;视觉分析处理器612用于对图像采集处理器611接收的数据进行视觉分析处理。
基于本申请的发明构思,本申请实施例还提供一种汽车,其结构如图7所示,包括:主机71和多路数据源72;
主机71连接各路所述数据源72并从各路数据源72并发采集数据。
在一个可选的实施例中,如图8和图9所示,上述汽车可以是,包括:上述主机81和多台摄像机82;主机81与每台摄像机82之间通过交换机83连接。
可以是,主机81接收一台摄像机82发送的采集到的图像数据;也可以是,主机81从多台摄像机82并发采集图像数据。
主机81内可以设置有图像采集处理器811和视觉分析处理器812,图像采集处理器811用于执行本申请实施例提供的从数据源采集数据的方法的各个步骤;视觉分析处理器812用于对图像采集处理器811接收的数据进行视觉分析处理。
主机81从多台摄像机82并发采集图像数据时,可以是预先建立包含多个对象的对象组,每个对象用于维护一台摄像机。每当接收到从指定摄像机接收数据的命令时,判断是否有对象组中的某一对象预先与摄像机绑定;若是,通过与摄像机绑定的对象从摄像机接收数据;若否,将对象组中某一闲置的对象与指定摄像机绑定,并通过与摄像机绑定的对象从摄像机接收数据。主机81可以同一时间分别通过对象组中的不同的对象从不同的摄像机采集数据,实现从多路摄像机并发采集数据。
本申请实施例提供的汽车可以是利用自动驾驶技术实现的具有载人(如家用轿车、公共汽车等类型)、载货(如普通货车、厢式货车、封闭货车、罐式货车、平板货车、集装厢车、自卸货车、特殊结构货车等类型)或者特殊救援功能(如消防车、救护车等类型)的车辆。
基于本申请的发明思想,本申请实施例提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现本申请实施例提供的从数据源采集数据的方法。其中,该计算机可读的存储介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。在一些实施例中,该计算机可读的存储介质可以是:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本申请处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本申请单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (18)
1.一种从数据源采集数据的方法,其特征在于,包括:
接收到从数据源接收数据的命令时,判断是否有对象预先与所述数据源绑定;
若是,通过与所述数据源绑定的对象从所述数据源接收数据;
若否,将预设的对象与所述数据源绑定,并通过与所述数据源绑定的对象从所述数据源接收数据。
2.如权利要求1所述的方法,其特征在于,将预设的对象与所述数据源绑定,包括:
发送包含所述数据源的物理地址的广播消息;
当在预设的时间阈值内接收到所述数据源发送的所述广播消息的回应消息;
获取所述回应消息包含的所述数据源的参数信息和IP地址,填充到预设的对象的相应变量中。
3.如权利要2所述的方法,其特征在于,获取所述回应消息包含的所述数据源的参数信息之后,还包括:上传所述数据源的参数信息。
4.如权利要2所述的方法,其特征在于,所述数据源用于采集图像,则,所述数据源的参数信息包括至少一项下述信息:分辨率,帧率,图像格式,像素通道。
5.如权利要求1所述的方法,其特征在于,还包括:
记录每个对象的当前状态;
根据每个所述对象的状态,确定所述对象下一步可执行的操作和执行完所述操作后的下一状态;以及,
在执行完所述操作后,将所述对象的状态更新为所述下一状态。
6.如权利要求5所述的方法,其特征在于,所述状态包括下述一项或多项:关闭状态、等待状态、开始状态和停止状态;
所述关闭状态,表示所述对象还未与任一数据源绑定;
所述等待状态,表示正在将所述对象与一个数据源进行绑定;
所述开始状态,表示正在通过所述对象从与所述对象绑定的数据源接收数据;
所述停止状态,表示已经停止通过所述对象从与所述对象绑定的数据源接收数据。
7.如权利要求6所述的方法,其特征在于,根据每个所述对象的状态,确定所述对象下一步可执行的操作和执行完所述操作后的下一状态,包括:
所述对象的状态为关闭状态时,所述对象下一步可执行的操作为:将所述对象与一个数据源绑定,执行完所述操作后的下一状态为:等待状态;
所述对象的状态为等待状态时,所述对象下一步可执行的操作为:通过所述对象从与所述对象绑定的数据源接收数据,执行完所述操作后的下一状态为:开始状态;
所述对象的状态为开始状态时,所述对象下一步可执行的操作为:停止通过所述对象从与所述对象绑定的数据源接收数据,执行完所述操作后的下一状态为:停止状态;或,所述对象下一步可执行的操作为:解除所述对象和与所述对象绑定的数据源的绑定,执行完所述操作后的下一状态为:关闭状态;
所述对象的状态为停止状态时,所述对象下一步可执行的操作为:通过所述对象从与所述对象绑定的数据源接收数据,执行完所述操作后的下一状态为:开始状态;或,所述对象下一步可执行的操作为:解除所述对象和与所述对象绑定的数据源的绑定,执行完所述操作后的下一状态为:关闭状态。
8.如权利要求7所述的方法,其特征在于,还包括:
当判断一个对象异常时,解除所述对象和与所述对象的绑定的数据源的绑定,将所述对象的状态更新为关闭状态。
9.如权利要求7所述的方法,其特征在于,还包括:
当接收到暂停从指定数据源接收数据的命令,暂停从所述数据源接收数据;将与所述数据源绑定的对象的状态更新为停止状态;
当接收到停止从指定数据源接收数据的命令,解除所述数据源和与所述数据源绑定的对象的绑定;清空与所述数据源绑定的对象;将与所述数据源绑定的对象的状态更新为关闭状态。
10.如权利要求6~9任一所述的方法,其特征在于,将预设的对象与所述数据源绑定,包括:
在预先建立的包含多个对象的对象组中查找到一个关闭状态的对象;将所述对象与所述数据源绑定;将所述对象的状态更新为等待状态。
11.如权利要求1所述的方法,其特征在于,将预设的对象与所述数据源绑定,包括:遍历预先建立的包含多个对象的对象组,将遍历到的第一个没有与任一数据源绑定的对象与所述数据源绑定。
12.如权利要求1所述的方法,其特征在于,通过与所述数据源绑定的对象从所述数据源接收数据,包括:
通过与所述数据源绑定的对象接收所述数据源发送的每个数据单元的各个数据分段对应的数据包,直至确定所述数据单元发送结束;
判断所述数据单元的数据包是否有丢包;
若是,生成丢包信息发送给相应的数据源;等待重新接收数据。
13.如权利要12所述的方法,其特征在于,判断所述数据单元的数据包没有丢包后,还包括:上传所述数据单元的每个数据分段对应的数据包。
14.如权利要1所述的方法,其特征在于,通过与所述数据源绑定的对象从所述数据源接收数据,包括:
通过与所述数据源绑定的对象按照用户数据报协议UDP从所述数据源接收数据。
15.一种主机,其特征在于,包括:图像采集处理器和视觉分析处理器;
所述图像采集处理器用于执行权利要求1~14任一所述的从数据源采集数据的方法的各个步骤;
所述视觉分析处理器用于对所述图像采集处理器接收的数据进行视觉分析处理。
16.一种汽车,其特征在于,包括:如权利要求15所述的主机和多路数据源;
所述主机连接各路所述数据源并从各路所述数据源并发采集数据。
17.如权利要求16所述的汽车,其特征在于,每路所述数据源为一台摄像机;
所述主机与每台所述摄像机之间通过交换机连接。
18.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,当该指令被处理器执行时实现权利要求1~14任一所述的从数据源采集数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612700.0A CN111382729A (zh) | 2018-12-27 | 2018-12-27 | 一种从数据源采集数据的方法、主机和汽车 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612700.0A CN111382729A (zh) | 2018-12-27 | 2018-12-27 | 一种从数据源采集数据的方法、主机和汽车 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111382729A true CN111382729A (zh) | 2020-07-07 |
Family
ID=71216251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811612700.0A Pending CN111382729A (zh) | 2018-12-27 | 2018-12-27 | 一种从数据源采集数据的方法、主机和汽车 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382729A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094196A (zh) * | 2006-06-20 | 2007-12-26 | 腾讯科技(深圳)有限公司 | 传送文件的方法及系统 |
CN101223505A (zh) * | 2005-06-27 | 2008-07-16 | 微软公司 | 数据中心工作流 |
CN102629929A (zh) * | 2012-04-18 | 2012-08-08 | 华为技术有限公司 | 一种获取数据的方法、系统及装置 |
CN102724354A (zh) * | 2011-03-18 | 2012-10-10 | 微软公司 | 移动设备上的数据集合 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
US20160140184A1 (en) * | 2014-11-14 | 2016-05-19 | Klaus Deissner | Data source binding using an odata model |
CN105871950A (zh) * | 2015-01-21 | 2016-08-17 | 上海可鲁系统软件有限公司 | 一种工业物联网自动接入和数据授权的管理方法及系统 |
-
2018
- 2018-12-27 CN CN201811612700.0A patent/CN111382729A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223505A (zh) * | 2005-06-27 | 2008-07-16 | 微软公司 | 数据中心工作流 |
CN101094196A (zh) * | 2006-06-20 | 2007-12-26 | 腾讯科技(深圳)有限公司 | 传送文件的方法及系统 |
CN102724354A (zh) * | 2011-03-18 | 2012-10-10 | 微软公司 | 移动设备上的数据集合 |
CN102629929A (zh) * | 2012-04-18 | 2012-08-08 | 华为技术有限公司 | 一种获取数据的方法、系统及装置 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
US20160140184A1 (en) * | 2014-11-14 | 2016-05-19 | Klaus Deissner | Data source binding using an odata model |
CN105871950A (zh) * | 2015-01-21 | 2016-08-17 | 上海可鲁系统软件有限公司 | 一种工业物联网自动接入和数据授权的管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
赖松兆;: "基于Web Service的异构数据库的集成", 数字技术与应用, no. 11 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9973728B2 (en) | System and method for supporting selective backtracking data recording | |
CN109862084B (zh) | 地图数据更新方法、装置、系统及存储介质 | |
CN107733945B (zh) | 用于机器人操作系统的信息传输方法及装置 | |
US8510384B2 (en) | Multicast distribution system and method | |
JP2021007269A (ja) | ネットワークハブ、転送方法及び車載ネットワークシステム | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
JP6460688B2 (ja) | 運行管理システム | |
CN107888976B (zh) | 一种基于lvds信号线的程序升级装置及升级方法 | |
CN112616024A (zh) | Usb摄像头数据获取方法、装置、电子设备和存储介质 | |
US7269172B2 (en) | Method and device for managing transmit buffers | |
CN114598843A (zh) | 一种应用于大型汽车多路摄像头的图像处理系统及方法 | |
JP6115482B2 (ja) | 電子制御装置 | |
CN111385523B (zh) | 一种数据接收方法、图像处理设备和汽车 | |
CN111382729A (zh) | 一种从数据源采集数据的方法、主机和汽车 | |
IE20150106A1 (en) | File storage via physical block addresses | |
CN115195605A (zh) | 基于流媒体后视镜系统的数据处理方法、装置和车辆 | |
CN109565519B (zh) | 传输文件的方法和车辆 | |
CN113141415A (zh) | 车辆的远程驾驶系统、方法、电子设备及存储介质 | |
WO2019236299A1 (en) | System and method for accelerating remote data object access and/or consumption | |
JP2008113327A (ja) | ネットワークインターフェース装置 | |
WO2020250778A1 (ja) | 通信装置および通信方法、並びにプログラム | |
WO2017047657A1 (ja) | バッファ制御装置、通信ノード、及び中継装置 | |
CN110677466A (zh) | 应用程序的下载方法、装置、网关和存储介质 | |
US9794197B2 (en) | Method and apparatus for transmitting can frame | |
US20220321497A1 (en) | Communication device, communication method, and non-transitory computer-readable recording medium |
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 |