CN109697767B - 数据处理方法、相关设备及计算机存储介质 - Google Patents
数据处理方法、相关设备及计算机存储介质 Download PDFInfo
- Publication number
- CN109697767B CN109697767B CN201811640497.8A CN201811640497A CN109697767B CN 109697767 B CN109697767 B CN 109697767B CN 201811640497 A CN201811640497 A CN 201811640497A CN 109697767 B CN109697767 B CN 109697767B
- Authority
- CN
- China
- Prior art keywords
- frame data
- sensor
- cache space
- data
- state
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 59
- 239000000872 buffer Substances 0.000 claims description 221
- 238000005070 sampling Methods 0.000 claims description 67
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 abstract description 15
- 230000007613 environmental effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了数据处理方法,应用于包括第一缓存空间,第一传感器和第二传感器在内的数据处理系统,该数据处理系统可用于自动驾驶领域,该方法包括:数据处理系统将所述第一传感器采集的第一数据写入所述第一缓存空间,将所述第二传感器采集的第二数据写入所述第一缓存空间,该第一数据和第二数据为第一帧数据,将所述第一缓存空间的状态标识设置为第一状态,用于指示完成对第一帧数据的写入操作。通过实施本发明实施例,能够解决现有技术方案中存在的数据存储流程复杂、耗时较长以及缓存空间利用率较低等问题。该方法可用于无人驾驶车辆处理摄像头、激光雷达等传感器所收集的环境信息。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及数据处理方法、相关设备及计算机存储介质。
背景技术
随着互联网技术的不断发展,海量数据引起人们的广泛关注。例如,在自动驾驶领域中,为实现自动驾驶车辆的安全行驶,自动驾驶车辆中安装有大量传感器,以此来采集车辆周围的环境信息,进而分析这些环境信息,避让环境中的其他车辆或行人等,实现车辆安全行驶。
然而,针对传感器采集的大量传感数据而言,如何实现它们的高效存储和管理是目前亟需解决的问题。
发明内容
本发明实施例公开了数据处理方法、相关设备及计算机存储介质,能够实现数据处理的高效性。
第一方面,本发明实施例公开提供了一种数据处理方法,所述方法应用于数据处理系统中,该系统包括第一缓存空间、处理器以及传感器集群,这里以传感器集群包括第一传感器和第二传感器为例。该方法包括:数据处理系统将第一传感器采集的第一数据以及第二传感器采集的第二数据均写入第一缓存空间,其中,第一数据和第二数据均为第一帧数据。在完成第一帧数据的存储后,数据处理系统可将第一缓存空间的状态标识设置为第一状态(该第一状态也可为新标签对应的缓存空间的状态),用于指示完成对所述第一帧数据的写入操作。进一步数据处理系统还可通过处理器根据第一状态从第一缓存空间读取第一帧数据,并对第一帧数据进行处理操作。
通过实施本发明实施例,能够解决现有技术中存在的数据存储流程复杂、耗时较长以及缓存空间利用率较低等问题,从而提升了数据处理的便捷性和实用性。
在第一方面的一种可能的实施方式中,数据处理系统通过处理器根据第一状态从第一缓存空间读取第一帧数据后,数据处理系统还可将第一缓存空间的状态标识设置为第二状态(该第二状态具体可为缓存空间的空状态,释放了读标签和缓存空间之间的对应关系)。该第二状态用于指示数据处理系统完成对第一帧数据的读取操作。
在第一方面的另一种可能的实施方式中,数据处理系统还包括第二缓存空间。数据处理系统将所述第一传感器采集的第一数据写入所述第一缓存空间之后,还将第一传感器采集的第三数据写入第二缓存空间。数据处理系统将所述第二传感器采集的第二数据写入所述第一缓存空间后,还可将第二传感器采集的第四数据写入第二缓存空间,并将第二缓存空间的状态标识设置为第一状态,其中,第三数据和第四数据属于第二帧数据。
在第一方面的另一种可能的实施方式中,数据处理系统还包括第三缓存空间。数据处理系统将第二传感器采集的第二数据写入第一缓存空间之后,数据处理系统还将第二缓存空间的状态标识设置为第三状态(具体可为写标签对应的缓存空间的状态),并将第三缓存空间的状态标识设置为第四状态(具体可为预写标签对应的缓存空间的状态)。
在第一方面的另一种可能的实施方式中,数据处理系统具体可根据第三状态将第四数据写入第二缓存空间。
在第一方面的另一种可能的实施方式中,数据处理系统根据第三状态将第四数据写入第二缓存空间之后,数据处理系统将第二缓存空间的状态标识从第三状态修改为第一状态。
在第一方面的另一种可能的实施方式中,数据处理系统将第一传感器采集的第三数据写入第二缓存空间后,数据处理系统还可根据第四状态将第一传感器采集的第五数据写入第三缓存空间,第五数据属于第三帧数据。
在第一方面的另一种可能的实施方式中,数据处理系统将第三缓存空间的状态标识设置为第四状态前,数据处理系统还可根据第二状态查找第三缓存空间,以将将第三缓存空间的状态标识从第二状态修改为第四状态。
第二方面,本发明实施例提出另一种数据处理方法,应用于包括缓存空间和传感器的数据处理系统,所述数据处理系统用于将传感器采集的帧数据存储至所述缓存空间中,所述方法包括:数据处理系统接收读数据请求,该读数据请求用于请求读取状态标识为第一状态所对应的缓存空间中存储的最新帧数据,该第一状态用于指示数据处理系统当前完成所述将所述传感器采集的帧数据存储至所述缓存空间中,该第一状态对应的缓存空间中存储的帧数据为当前缓存的最新的帧数据。相应地,数据处理系统响应该读数据请求,将所述缓存空间的状态标识从所述第一状态修改为第五状态(具体可为读标签对应的缓存空间的状态),并根据所述第五状态读取所述缓存空间中存储的帧数据。
在第二方面的一种可能的实施方式中,所述第一状态为所述数据处理系统完成所述将所述传感器采集的帧数据存储至所述缓存空间中后,设置的所述缓存空间的状态标识。数据处理系统在接收所述读数据请求时,若所述数据处理系统当前未完成所述将所述传感器采集的帧数据存储至所述缓存空间中,则等待完成所述将所述传感器采集的帧数据存储至所述缓存空间中,以将所述缓存空间的状态标识设置为所述第一状态。相应地,数据处理系统可响应所述读数据请求,将所述缓存空间的状态标识从所述第一状态修改为第五状态,并根据所述第五状态读取所述缓存空间中存储的帧数据。
在第二方面的另一种可能的实施方式中,数据处理系统在接收所述数据读请求时,若所述第一状态对应的缓存空间有多个,且所述第一状态包括关于每个对应的缓存空间的时间信息,则从所述多个缓存空间中确定时间信息所指示的时间距离系统当前时间最近的时间信息所对应的缓存空间,从而读取所述缓存空间中存储的帧数据;其中,所述时间信息用于指示完成将所述传感器采集的帧数据存储至所述时间信息对应的缓存空间中的时间。
第三方面,本发明实施例提供了一种数据处理装置,所述装置包括用于执行如上第一方面或第一方面中任意可能的实施方式中所描述的方法的功能模块或单元。或者,所述装置包括用于执行如上第二方面或第二方面中任意可能的实施方式中所描述的方法的功能模块或单元。
第四方面,本发明实施例提供了一种计算设备,包括:处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法;或者,执行上述第二方面或第二方面的任意可能的实施方式中所描述的方法。例如,通信接口用于接收传感器集群中任意传感器采集的帧数据等等。
第五方面,本发明实施例提供了一种数据处理系统,包括第一缓存空间、处理器、第一传感器和第二传感器,其中,
所述第一传感器用于将所述第一传感器采集的第一数据写入所述第一缓存空间,
所述第二传感器用于将所述第二传感器采集的第二数据写入所述第一缓存空间,其中,所述第一数据和所述第二数据属于第一帧数据;
所述处理器用于将所述第一缓存空间的状态标识设置为第一状态,用于指示完成对所述第一帧数据的写入操作;
所述处理器还用于根据所述第一状态从所述第一缓存空间读取所述第一帧数据,并对所述第一帧数据进行处理操作。
关于本发明实施例中未阐述或未示出的内容具体可参见前述第一方面或第二方面所述方法实施例中的相关阐述,这里不再赘述。
第六方面,提供了一种计算机非瞬态(non-transitory)存储介质,所述计算机非瞬态存储介质存储了用于数据处理的程序代码。所述程序代码包括用于执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法的指令;或者,所述程序代码包括用于执行上述第二方面或第二方面的任意可能的实施方式中所描述的方法的指令。
第七方面,提供了一种芯片产品,该芯片产品用以执行上述第一方面或第一方面的任意可能的实施方式中的方法;或者,用以执行上述第二方面或第二方面的任意可能的实施方式中的方法。
本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种数据处理系统的结构示意图。
图2是本发明实施例提供的一种同步采样的示意图。
图3是本发明实施例提供的一种异步采样的示意图。
图4是本发明实施例提供的一种数据处理方法的流程示意图。
图5是本发明实施例提供的一种传感器探测的场景示意图。
图6是本发明实施例提供的另一种异步采样的示意图。
图7是本发明实施例提供的一种数据存储的示意图。
图8是本发明实施例提供的另一种数据处理方法的流程示意图。
图9A-图9C是本发明实施例提供的几种数据处理的示意图。
图10是本发明实施例提供的一种数据处理装置的结构示意图。
图11是本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
申请人在提出本申请的过程中发现:为实现大量传感数据的存储和管理,现有技术提出基于时间的数据管理方法。具体的,计算设备将每个传感器在不同时间采集的传感数据分别存储至对应的缓存空间中,其中,每个传感器采集的传感数据携带有采样时间。相应地,计算设备可将同一时间不同传感器(也可称传感器集群)采集的传感数据统一上传至管理平台(例如服务器)存储。便于管理平台根据实际需求读取某一时间传感器集群采集的传感数据,进而对读取的传感数据进行处理。
然而在实践中发现,为实现传感数据的存储,计算设备需预先为不同传感器分配不同的缓存空间。且为保证数据存储的稳定性,缓存空间的数量较多,这将导致缓存空间的利用率较低。此外,上述方案中针对同一传感器采集的传感数据需进行两次存储,且管理平台侧还需根据时间来选取传感器集群在该时间采集的传感数据进行处理,处理流程繁琐、不便捷,耗时较长。
为解决上述问题,本发明实施例提出一种数据处理方法以及该方法适用的网络框架和相关设备。请参见图1,是本发明实施例提供的一种数据处理系统的网络框架示意图。如图1所示的数据处理系统包括计算设备300和传感器集群308,该计算设备300包括:缓存模块(buffer unit)302、调度器(scheduler)304以及处理模块306。其中,
缓存模块302由若干个缓存空间组成,每个缓存空间用于存储帧数据集合。该帧数据集合为传感器集群308中每个传感器采集的帧数据的集合。其中,每个传感器可采集获得多个帧数据,多个传感器(传感器集群)各自采集的同一帧数据,可形成一个帧数据集合。例如,计算设备可将传感器集群中任一传感器采集的首个数据称之为第一帧数据,将任一传感器采集的第二个数据称之为第二帧数据,依次类推,任一传感器采集的第n个数据称之为第n帧数据。相应地,计算设备可将传感器集群308各自采集的第一帧数据的集合,称之为第一帧数据集合;将传感器集群308各自采集的第二帧数据的集合,称之为第二帧数据集合,以此类推。
传感器集群308包括一个或多个传感器,该传感器集群308中包括的传感器具体可部署在计算设备300内部,也可部署在计算设备300外部,例如部署在除计算设备300之外的其他设备中。本发明图示以传感器集群308部署在计算设备300外部为例示出,并不构成限定。传感器集群308中包括的传感器的数量并不做限定,该传感器具体可包括但不限于温度传感器、气温传感器、全球定位系统(global positioning system,GPS)、惯性测量单元(inertial measurement unit,IMU)、雷达传感器、激光传感器、摄像传感器、加速度传感器以及其他用于感测数据的传感器件。
调度器304用于对操作标签和缓存模块302进行管理。例如为应用程序提供缓存模块302中当前缓存的最新帧数据、建立或解除操作标签和缓存模块302中的任一缓存空间之间的对应关系(也可称为关联关系或绑定关系)。这里的操作标签用于指示对缓存模块302或者缓存模块302中缓存的数据进行相应地操作处理,该操作处理包括但不限于写操作、读操作以及预写操作等等。本发明中涉及的操作标签包括但不限于写标签、预写标签、读标签以及新标签。例如,计算设备在初始化阶段中,调度器304可预先建立写标签和第一缓存空间之间的对应关系以及预写标签和第二缓存空间之间的对应关系,该第一缓存空间用于存储传感器集群308采集的第一帧数据集合,该第二缓存空间用于存储传感器集群308采集的第二帧数据集合。关于如何实现各种标签对应的操作处理以及操作标签和缓存空间之间的对应关系的建立或解除,具体将在本发明下文详述。
处理模块306用于接收传感器集群308中任意传感器采集的帧数据,并为该帧数据确定对应的缓存空间,以将该帧数据存储至该缓存空间中。
可理解的,传感器集群308中可包括多个传感器,多个传感器可采用异步或同步工作方式采集帧数据。然而在实际应用中,传感器集群308包括的多个传感器很难保证帧数据的同步采集。其中,同步工作方式是指多个传感器同时开始、同时结束帧数据的采集,也即是同步完成帧数据的采集。异步工作方式是指多个传感器开始以及结束帧数据的采集时间不相同,也即是异步完成帧数据的采集。
举例来说,如图2示出传感器集群中包括的8个传感器(S1~S8)同步采集帧数据的场景示意图。如图2中,8个传感器同步采集获得每个帧数据,图示中每个小矩形表示一个帧数据。如图中,8个传感器在t0时刻同步开始采集各自的第一帧数据,t1时刻完成第一帧数据的采集,同时进入第二帧数据的采集中。
在帧数据同步采集场景中,处理模块306需利用到写标签完成每个帧数据集合的存储。以第一帧数据集合为例,传感器集群308中的每个传感器同步开始以及完成第一帧数据的采集,处理模块306接收到传感器集群308中每个传感器发送的第一帧数据集合后,可为第一帧数据集合分配写标签,进而根据写标签的指示将第一帧数据集合存储至写标签对应的缓存空间中(例如第一缓存空间)。
在帧数据异步采集场景中,为保证帧数据存储的稳定性和可靠性,需保证传感器集群308中的每个传感器具有相同的采样周期(或采样频率),换句话说,每个传感器采集每个帧数据的采样时间相同。且传感器集群308中任意两个传感器针对同一帧数据的采样开始时间或采样结束时间相差不超过一个采样周期。以保证同一时间传感器集群308中任意两个传感器采集的帧数据均位于包括当前帧数据和下一帧数据在内的相邻两帧数据中。
处理模块306在存储传感器集群308采集的帧数据集合时,针对同一帧数据集合而言存储的结束时间取决于传感器集群308中最晚开始采集该同一帧数据的传感器。例如,传感器集群308中包括第一传感器和第二传感器,该第一传感器为传感器集群308中最早开始采集同一帧数据(例如第一帧数据)的传感器,第二传感器为传感器集群308中最晚开始采集同一帧数据(例如第一帧数据)的传感器。其中,传感器集群308中任一传感器采集每帧数据的时长可称之为一个采样周期。例如,以第二传感器开始采集第一帧数据为起始点,到第二传感器采集完第一帧数据结束,可称之为传感器集群308的第一个采样周期。相应地,第二传感器开始采集第二帧数据到采集完第二帧数据,可称之为传感器集群308的第二个采样周期。依次类推,计算设备可获得传感器集群308的每个采样周期,这里不再赘述。
相应地,处理模块306在实现数据存储的过程中,在初始化周期中传感器集群308中的传感器采集第一帧数据。相应地,处理模块306需利用写标签完成传感器集群308中传感器采集的第一帧数据。该初始化周期具体为传感器集群中最早采集帧数据的采样开始时间到传感器集群中最晚采集帧数据的采样开始时间之间的时间段。针对除初始化周期之外的任意采样周期(例如第一个或第二个采样周期)中传感器集群308采集的帧数据,处理模块306需利用写标签和预写标签完成传感器集群308采集的帧数据的存储。
举例来说,如图3示出传感器集群中的8个传感器(S1~S8)异步采集帧数据的场景示意图。如图3中,8个传感器各自采集每帧数据的开始时间以及结束时间互不相同。例如图示中,t0时刻除S4传感器之外的7个传感器已采集了各自传感器的第一帧数据中的部分数据,S4传感器还未开始(或正准备开始)采集S4传感器的第一帧数据。t1时刻除了S4传感器之外的其余7个传感器均完成了各自传感器的第一帧数据的采集,且已开始各自传感器的下一帧数据(这里即第二帧数据)的采集了。但此时,S4传感器仍在采集S4传感器的第一帧数据。
如图3,S3传感器为传感器集群中最早开始采集第一帧数据的传感器,S4传感器为传感器集群中最晚开始采集第一帧数据的传感器。以最晚开始采集第一帧数据的S4传感器为参考,计算设备将S4采集第一帧数据的时间段定义为第一个采样周期,将S4采集第二帧数据的时间段定义为第二个采样周期。将S3传感器采集第一帧数据的采样开始时间到S4传感器开始采集第一帧数据之间的时间段定义为初始化周期。例如图示中0-T0时段被定义为初始化周期,T0-T1时段第一个采样周期,T1-T2时段被定义为第二个采样周期。
相应地,处理模块306在初始化周期中接收到传感器集群308中任意传感器采集的第一帧数据时,处理模块306可为第一帧数据分配写标签,进而根据该写标签的指示,将传感器集群308中任意传感器采集的第一帧数据存储至写标签对应的缓存空间(例如第一缓存空间)中。
在除初始化周期外的任一个采样周期中,处理模块306均涉及写标签和预写标签的调度和确定。以图3所示的第一个采样周期为例。在第一个采样周期中,处理模块306在某个时间(例如第一时间)可完成上一帧数据集合(这里即第一帧数据集合)的存储,调度器304可解除写标签和用于存储第一帧数据集合的第一缓存空间之间的对应关系以及解除预写标签和用于存储第二帧数据集合的第二缓存空间之间的对应关系,建立写标签和第二缓存空间之间的对应关系。换句话说,针对第二缓存空间而言,在第一时间时会由原先对应的预写标签替换为写标签,发生对应关系的更改。在对应关系更改之前,处理模块306可接收到传感器集群308中采样时间较早的部分传感器采集的第二帧数据,此时可为该第二帧数据分配预写标签,以将该第二帧数据存储至预写标签对应的第二缓存空间中。在对应关系更改后,处理模块306同样会接收到传感器集群308中采样时间较晚的部分传感器采集的第二帧数据,此时处理模块306仍然将后续接收的第二帧数据存储至第二缓存空间,直至完成传感器集群308中每个传感器采集的第二帧数据集合的存储。以实现将传感器集群308采集的同一帧数据集合存储至同一缓存空间。
例如图3例子中,在初始化周期(例如图示0-T0时段)中处理模块306接收到传感器集群(8个传感器)中任意传感器采集的第一帧数据时,可确定该第一帧数据对应的操作标签为写标签,以将该第一帧数据写入至写标签对应的第一缓存空间中。在第一个采样周期(例如图示T0-T1时段)中,图示中传感器集群中的部分传感器开始仍然继续采集第一帧数据,且早于S4传感器采集帧数据的其余7个传感器在第二个采样周期中会进入第二帧数据的采集。换句话说,第二个采样周期中除S4传感器之外的7个传感器均涉及第一帧数据和第二帧数据的采集和存储。仅S4传感器涉及第一帧数据的采集和存储。
相应地,处理模块306接收到传感器集群在第二个采样周期中采集的第一帧数据时,该处理模块306继续将该第一帧数据存储至写标签对应的第一缓存空间中。当处理模块306接收到传感器集群在第一个采样周期中采集的第二帧数据时,该处理模块306为第二帧数据分配预写标签,进而将接收的第二帧数据存储至预写标签对应的第二缓存空间中。T1时刻,处理模块306将完成传感器集群采集的第一帧数据集合的存储,此时可调用调度器304解除写标签和第一缓存空间的对应关系以及解除预写标签和第二缓存空间之间的对应关系,建立写标签和第二缓存空间之间的对应关系。可选地,还可建立预写标签和第三缓存空间之间的对应关系,该第三缓存空间用于存储传感器集群中每个传感器采集的第三帧数据。
在T1时刻发生了操作标签和缓存空间之间对应关系的变更,此时处理模块306接收到传感器集群中任意传感器采集的第二帧数据时,可将接收的第二帧数据继续存储至第二缓存空间,以保证传感器集群采集的同一帧数据存储至同一缓存空间。其中,图示中针对S4传感器而言,处理模块306单独存储S4传感器采集的帧数据时,仅需利用到写标签,每次可将S4采集的每帧数据写入至写标签对应的缓存空间存储。例如图示中T1时刻发生对应关系变更时,处理模块306此时接收到S4传感器采集的第二帧数据时,可确定该第二帧数据的操作标签为写标签,进而可将S4传感器采集的第二帧数据写入至写标签对应的第二缓存空间中存储。
在一种示例中,处理模块306具体可包括处理器,处理模块306在接收到传感器集群308中任意传感器采集的帧数据,可将接收的帧数据存储至缓存模块302中相应地缓存空间。
在另一种示例中,处理模块306具体包括直接存储访问单元(direct memoryaccess unit,DMA),该直接存储访问单元DMA用于访问缓存模块302。具体的,处理模块306在接收到传感器集群308中的任意传感器采集的帧数据时,可通过DMA直接访问缓存模块302,以将传感器采集的帧数据存储在缓存模块302中相应地缓存空间内。关于如何实现帧数据的存储可参见前述实施例中的相关阐述,这里不再赘述。
本发明涉及的帧数据是指用于衡量单位大小的数据的数据单元。该帧数据包括但不限于文本数据、图像数据以及语音数据等等。例如,在图像应用场景中,帧数据是指影像动画中最小单位的图像画面,即一幅静止的画面。
本发明涉及的缓存空间具体可为计算设备部署的存储阵列中用于存储帧数据的存储空间,其可由一个或多个逻辑单元号(logical unit number,LUN)组成,或者一个或多个缓冲区(buffer)组成,本发明并不做限定。在实际应用中,缓存空间具体可以为同一块存储设备不同的区域,也可以是单独的缓存器等。本发明涉及的计算设备300具体可包括但不限于手机、平板电脑(tablet personal computer)、个人数字助理(personal digitalassistant,PDA)、移动上网装置(mobile internet device,MID)、可穿戴式设备(wearabledevice)、车载设备或者其他支持和网络通信的设备等。
基于前述实施例,下面介绍本发明实施例涉及的数据处理方法。请参见图4,是本发明实施例提供的一种数据处理方法的流程示意图。该方法应用于计算设备中,该计算设备与传感器集群连接,该传感器集群中的每个传感器具有相同的采样周期,且传感器集群中任意两个传感器在采集同一帧数据的采样开始时间(或采样结束时间)相差不超过一个采样周期。如图4所示的方法可包括如下实施步骤:
步骤S402、计算设备预先建立写标签和第一缓存空间之间的对应关系以及预写标签和第二缓存空间之间的对应关系,其中,第一缓存空间和第二缓存空间均用于缓存传感器集群采集的帧数据集合。
本发明中,计算设备中预先部署有若干个缓存空间,用于存储传感器集群采集的帧数据集合。该缓存空间的数据并不做限定,其具体可为一个或多个。本发明实施例中,计算设备中部署的缓存空间的数量通常大于或等于4,其原因在下文阐述。
其中,缓存空间具有状态标识,用来指示计算设备对该缓存空间的操作。对于状态标识,可以有多种实现方式,本发明不对此进行限定。例如,在一种实现方式中,缓存空间自身的属性信息中具有若干比特大小的状态位,根据该状态位取值的不同来表示缓存空间的不同状态。例如,缓存空间可用两比特的状态位来表示缓存空间的四种状态,例如00表示缓存空间的第一状态,01表示缓存空间的第二状态,10表示缓存空间的第三状态,11表示缓存空间的第四状态等等。可选地,缓存空间的状态标识还可有其他实现形式,例如特定字符串等等。其中,不同的状态标识表示缓存空间的不同状态。特别的,针对第二状态具体为系统自带的,或者系统自定义设置的一个专用标识来表示等等,本发明并不做限定。
在另一种实现方式中,计算设备中预设有多种标签,该标签可以与缓存空间建立对应(或连接)关系,通过建立对应关系的标签的种类来表示缓存空间的不同状态。例如,本发明中计算设备在完成每个帧数据集合的存储后,可通过建立新标签和缓存空间之间的对应关系,用来表示该缓存空间的第一状态,该第一状态用于指示计算设备完成帧数据集合的存储。计算设备在完成缓存空间中存储的帧数据集合的读取后,通过建立空标签和缓存空间之间的对应关系,用来表示缓存空间的第二状态,该第二状态用于指示计算设备完成帧数据集合的读取,解除了读标签和缓存空间之间的对应关系。可选地,计算设备还可通过建立写标签和缓存空间之间的对应关系,用来表示该缓存空间的第三状态,该第三状态用于指示将传感器采集的当前帧数据集合(例如第一帧数据集合)写入该第三状态对应的缓存空间中存储。计算设备通过建立预写标签和缓存空间之间的对应关系,用来表示该缓存空间的第四状态,该第四状态用于指示将传感器集合采集的下一帧数据集合(例如第二帧数据集合)写入该第四状态对应的缓存空间中存储。为了便于说明,本发明下文将采用标签与缓存空间建立对应关系的方案进行说明。
具体的,计算设备可根据系统配置或用户自定义配置,预先建立并保存写标签和第一缓存空间之间的对应关系,以及预写标签和第二缓存空间之间的对应关系。其中,写标签用于指示将传感器集群采集的第一帧数据集合存储至该写标签对应的第一缓存空间,预写标签用于指示将传感器集群采集的第二帧数据集合存储至该预写标签对应的第二缓存空间中。第一帧数据集合为传感器集群中每个传感器采集的第一帧数据的集合。第二帧数据集合为传感器集群中每个传感器采集的第二帧数据的集合。第二帧数据为传感器采集的第一帧数据的下一帧数据。相应地,第二帧数据集合为传感器集群采集的第一帧数据集合的下一帧数据的集合。
第一缓存空间和第二缓存空间可为计算设备中部署的任意两个缓存空间,它们互不相同。在实际应用中,以每个缓存空间为部署在计算设备的存储阵列中的逻辑单元LUN为例,第一缓存空间和第二缓存空间各自的LUN互不相同。例如,第二缓存空间的LUN可为第一缓存空间的LUN加1,即下一个LUN;也可为除第一缓存空间的LUN和LUN+1外的任一个LUN,本发明不做限定。
步骤S404、计算设备获取传感器集群采集的帧数据,该帧数据集合为传感器集群对预设感知范围内的环境进行探测获得的数据集合。
本发明中,每个帧数据集合中包括至少一个帧数据,该帧数据为通过传感器集群中的传感器对预设感知范围内的环境进行侦测采集的数据。该预设感知范围为系统自定义设置的,取决于传感器硬件自身。关于传感器集群具体可参见前述实施例中的相关介绍,这里不再赘述。以传感器为激光传感器为例,参见图5示出激光传感器实现数据采集的场景示意图。如图5中,该激光传感器的感知范围为以探测距离为100米、B为视角所覆盖的区域范围。
传感器集群中包括的传感器的数量并不做限定。通常,为保证数据采集的完整性,传感器集群中包括有多个传感器。例如,在自动驾驶领域为保证车辆行驶的安全性,车辆中部署有成千上万个传感器。该传感器的类型和种类本发明也不做限定,例如其可包括但不限于雷达传感器、激光传感器、惯性测量单元、速度传感器以及加速度传感器等。
具体实现中,计算设备可调用自身部署的传感器集群采集帧数据集合,或者通过网络获取其他设备通过传感器集群采集的帧数据集合。该帧数据集合的数量并不做限定。以n个帧数据集合为例,该n个帧数据集合具体可包括第一帧数据集合、第二帧数据集合、…第n-1帧数据集合以及第n帧数据集合。n为大于1的正整数,第n帧数据集合为传感器集群采集的第n-1帧数据集合的下一帧数据的集合。其中,每个帧数据集合中包括有传感器集群中每个传感器采集的一帧数据,这里以每个传感器采集n帧数据为例。每个传感器采集的n帧数据中均包括有第一帧数据、第二帧数据、…第n帧数据。本发明下文中以帧数据包括传感器采集的相邻两帧数据(具体可为第一帧数据和第二帧数据)为例,相应地帧数据集合包括传感器集群采集的第一帧数据集合和第二帧数据集合,进行相关内容的阐述。
步骤S406、计算设备将第一帧数据集合存储至第一缓存空间中。
步骤S408、计算设备将第二帧数据集合存储至第二缓存空间中。
步骤S410、计算设备读取第一帧数据集合,并对第一帧数据集合进行处理操作。
本发明中,计算设备需将传感器集群采集的同一帧数据集合存储至同一缓存空间中。以传感器集群采集的第一帧数据集合和第二帧数据集合为例,计算设备可将第一帧数据集合存储至第一缓存空间,将第二帧数据集合存储至第二缓存空间。
可理解的,为保证帧数据存储的稳定性,传感器集群中每个传感器需具备相同的采样频率或采样周期。且传感器集群中的任意两个传感器采集同一帧数据的采样开始时间(或采样结束时间)相差不超过一个采样周期。从而保证同一时间(例如第一时间)传感器集群中的任意两个传感器在异步工作模式下,采集获得的帧数据均在当前帧数据和下一帧数据之间波动。在首次数据采集过程中,该相邻两帧数据具体可为第一帧数据和第二帧数据。
在传感器集群异步采集帧数据的场景中,传感器集群中每个传感器针对同一帧数据的采样开始时间或采样结束时间可互不相同。相应地,计算设备在完成传感器集群采集的同一帧数据集合的存储时,取决于传感器集群中最晚开始采集该同一帧数据的传感器。当计算设备完成该最晚的传感器采集的同一帧数据的存储时,即可完成传感器集群采集的同一帧数据集合的存储。
在完成传感器集群采集的同一帧数据集合的存储后,计算设备可进行操作标签和缓存空间之间对应关系的变更,以进行下一帧数据集合的存储。本发明下面以同一帧数据为第一帧数据、传感器集群包括第一传感器和第二传感器在内的至少两个传感器为例,阐述帧数据集合的存储。其中,该第一传感器为传感器集群中最早开始采集该第一帧数据的传感器,第二传感器为传感器集群中最晚开始采集该第一帧数据的传感器。
具体的,计算设备在接收传感器集群中任一传感器采集的第一帧数据时,可根据写标签的指示将该第一帧数据存储至写标签对应的第一缓存空间中。以传感器集群包括第一传感器和第二传感器为例,计算设备具体将第二传感器将采集的第一帧数据写入写标签对应的第一缓存空间中以及将第一传感器采集的第一帧数据写入写标签对应的第一缓存空间中。可选地,计算设备在完成第二传感器采集的第一帧数据的存储后,计算设备可确定此时完成传感器集群中每个传感器采集的第一帧数据(即第一帧数据集合)的存储。
计算设备在完成第二传感器采集的第一帧数据的存储后,即在完成传感器集群采集的第一帧数据集合的存储后,计算设备可变更缓存空间和各标签之间的对应关系。例如,计算设备可解除写标签和第一缓存空间之间的对应关系并建立新标签和第一缓存空间之间的对应关系。该新标签用于指示新标签对应的缓存空间中存储的帧数据集合为计算设备当前缓存的最新的帧数据集合。计算设备还可解除预写标签和第二缓存空间之间的对应关系,建立写标签和第二缓存空间之间的对应关系,该第二缓存空间用于存储传感器集群采集的第二帧数据集合。当计算设备需要读取数据时,可以确定新标签对应的第一缓存空间,并解除新标签与第一缓存空间的对应关系,建立读标签与第一缓存空间的对应关系,并读取第一缓存空间中存储的第一帧数据集合,以对第一帧数据集合进行处理操作。当完成对第一缓存空间中的数据读取后,计算设备可解除读标签与第一缓存空间的对应关系。此时第一缓存空间不与标签建立对应关系,或者计算设备建立空标签和第一缓存空间之间的对应关系,即表示第一缓存空间的状态为空。
可选地,当计算设备完成第二传感器采集的第一帧数据的存储后,计算设备还可建立预写标签和第三缓存空间之间的对应关系,该第三缓存空间为系统自定义设置的,具体可为计算设备中除第一缓存空间和第二缓存空间中的任一缓存空间。该第三缓存空间具体用于存储传感器集群采集的第三帧数据集合,该第三帧数据集合具体包括传感器集合采集的第二帧数据集合的下一帧数据。
由于传感器集群在异步采集帧数据时,可能存在以下情况:同一时间(例如第一时间)第二传感器仍然在采集第一帧数据,第一传感器已开始采集第二帧数据。相应地,在第一时间计算设备接收到第二传感器采集的第一帧数据时,可根据写标签的指示将第二传感器采集的第一帧数据存储至写标签对应的第一缓存空间中。可选地,若此时计算设备还接收到第一传感器采集的第二帧数据时,同样可根据预写标签的指示将第一传感器采集的第二帧数据存储至预写标签对应的第二缓存空间中。
例如图3所示的例子,在T1时刻,传感器集群中的S4传感器仍在采集第一帧数据,除S4之外的其余7个传感器已进入第二帧数据的采集阶段。相应地,T1时刻计算设备接收到S4传感器采集的第一帧数据以及其余7个传感器采集的第二帧数据时,计算设备可根据写标签的指示将S4传感器采集的第一帧数据存储至写标签对应的第一缓存空间中,同时根据预写标签的指示将余下7个传感器各自采集的第二帧数据存储至预写标签对应的第二缓存空间中。
计算设备在实现传感器集群采集的第二帧数据集合的存储过程中,在发生对应关系变更之前已根据预写标签的指示,将传感器集群中部分传感器采集获得的第二帧数据存储至预写标签对应的第二缓存空间。在完成整个第一帧数据集合的存储后,计算设备会将预写标签和第二缓存空间之间的对应关系变更为写标签和第二缓存空间之间的对应关系,换句话说计算设备将第二缓存空间对应的预写标签变更为写标签。
相应地在对应关系变更后,计算设备接收到传感器集群中另一部分传感器采集的第二帧数据时,可直接将接收的第二帧数据继续存储至第二存储空间中,直至计算设备完成传感器集群采集的第二帧数据集合的存储。相应地,在计算设备在存储传感器集群采集第二帧数据集合时,如果计算设备接收到传感器集群中部分传感器(例如帧数据采集较早的传感器)采集的第三帧数据,则计算设备可根据预写标签的指示,将部分传感器采集的第三帧数据存储至预写标签对应的第三缓存空间中。
可选地,计算设备在完成第二帧数据集合的存储后,可解除写标签和第二缓存空间之间的对应关系并建立新标签和第二缓存空间之间的对应关系。计算设备还可解除预写标签和第三缓存空间之间的对应关系并建立写标签和第三缓存空间之间的对应关系,该第三缓存空间用于存储传感器集群采集的第三帧数据集合。可选地,计算设备还可建立预写标签和第四缓存空间之间的对应关系,该第四缓存空间用于存储传感器集群采集的第四帧数据集合。
在计算设备完成第二帧数据集合的存储后,计算设备可接收到传感器集群中另一部分(例如帧数据采集较晚的传感器)采集的第三帧数据,此时计算设备可将接收的第三帧数据直接存储至第三缓存空间。可理解的,计算设备后续存储帧数据采集较晚传感器采集的第三帧数据的过程中,帧数据采集较早的传感器已进入第四帧数据的采集。如果计算设备接收到传感器集群中帧数据较早的传感器采集的第四帧数据时,可根据预写标签的指示,将接收的第四帧数据写入至预写标签对应的第四缓存空间中。以此原理,计算设备可实现传感器集群采集的n个帧数据集合的存储,这里不再赘述。其中,关于对应关系的变更和传感器集群采集的帧数据集合的存储,具体可参见前述图1实施例中的相关阐述。
举例来说,如上图3示例中,计算设备接收到传感器集群采集的第一帧数据集合时,可根据写标签的指示,将第一帧数据集合存储至写标签对应的第一缓存空间中。在T0-T1时段中的某一时间计算设备在接收到传感器集群中任意传感器采集的第二帧数据时,计算设备可根据预写标签的指示,将第二帧数据写入至预写标签对应的第二缓存空间中。T1时刻计算设备可完成传感器集群采集的第一帧数据集合的存储,进一步计算设备可解除写标签和第一缓存空间之间的对应关系、解除预写标签和第二缓存空间之间的对应关系,建立写标签和第二缓存空间之间的对应关系。可选地,计算设备还可建立预写标签和第三缓存空间之间的对应关系,该第三缓存空间用于存储传感器集群采集的第三帧数据集合。
相应地,在T1时刻计算设备完成第一帧数据集合的存储后,计算设备接收到传感器集群中部分传感器(例如S1和S2)采集的第二帧数据,直接将接收的第二帧数据直接存储至第二缓存空间中。可选地,T1-T2期间计算设备若接收到传感器集群中任意传感器采集的第三帧数据(例如S3传感器),计算设备可根据预写标签的指示,将接收的第三帧数据存储至预写标签对应的第三缓存空间中。T2时刻计算设备在完成第二帧数据集合的存储后,可解除写标签和第二缓存空间之间的对应关系以及解除预写标签和第三缓存空间之间的对应关系,建立写标签和第三缓存空间之间的对应关系。可选地,计算设备还可建立预写标签和第四缓存空间之间的对应关系,该第四缓存空间用于存储传感器集群采集的第四帧数据集合。以此原理,计算设备可完成传感器集群采集的n个帧数据集合的存储。
在可选实施例中,传感器集群采集的第二帧数据集合中还可包括第二传感器采集的第二帧数据时,计算设备可将第二传感器采集的第二帧数据存储至第二缓存空间中。计算设备在完成第二传感器采集的第二帧数据的存储时,同样也完成传感器集群采集的第二帧数据集合的存储。可选地,计算设备可解除写标签和第二缓存空间之间的对应关系并建立写标签和第三缓存空间之间的对应关系等,具体可参考前述完成第一帧数据集合存储后对应关系的变更,这里不再赘述。
可选地,当计算设备在完成第二传感器采集的第二帧数据的存储时,若传感器集群采集的第一帧数据集合未被读取,为保证新帧数据集合读取的准确性,计算设备可解除第一缓存空间和新标签之间的对应关系,建立第二缓存空间和新标签之间的对应关系。从而保证计算设备中有一个新标签,便于后续计算设备准确地从该新标签对应的缓存空间中读取相应地帧数据集合。
在可选实施例中,传感器集群采集的第二帧数据集合中还可包括第二传感器采集的第二帧数据时,计算设备可将第二传感器采集的第二帧数据存储至第二缓存空间中。计算设备在完成第二传感器采集的第二帧数据的存储时,计算设备也完成传感器集群采集的第二帧数据集合的存储。可选地,当计算设备在完成第二传感器采集的第二帧数据的存储时,若传感器集群采集的第一帧数据集合未被读取,则计算设备可解除写标签和第二缓存空间之间的对应关系、建立新标签和第二缓存空间之间的对应关系。该新标签具有时间信息,该时间信息用于记录建立新标签和第二缓存空间之间的对应关系的时间,即是记录新标签和第二缓存空间之间的关联时间。便于后续计算设备根据各新标签对应指示的时间来读取新帧数据集合。
在可选实施例中,当计算设备中部署有不同采样周期(或采样频率)的传感器时,计算设备可根据这些传感器的采样周期进行分组,以获得多个分组传感器。其中,每个分组传感器中包括有具备相同采样周期的一个或多个传感器。本发明中,计算设备可将每个分组传感器作为一个传感器集群,进而采用本发明上述步骤S402-步骤S410的数据存储方案原理,实现每个传感器集群所采集的帧数据集合的存储,这里不再赘述。
下面以采样频率为例举例说明。请参见图6,示出三组传感器采集帧数据集合的场景示意图。如图6中,图示中三组传感器以及每组传感器中传感器的采样频率分别为:第一组传感器包括图示中的传感器S1~S3,且该第一组传感器中每个传感器的采样频率为30fps(帧每秒)。第二组传感器包括图示中的传感器S4~S6,且第二组传感器中每个传感器的采样频率为20fps(帧每秒)。第三组传感器包括图示中的传感器S7和S8,且第三组传感器中每个传感器的采样频率为10fps(帧每秒)。
如图7示出三组传感器采集的帧数据集合的存储示意图。如图7中,针对每组传感器而言,同一时间该组传感器中的任意两个传感器采集的帧数据均为当前帧数据或者下一帧数据。相应地,参考前述步骤S402~S410中的相关阐述,计算设备可将每组传感器(也可称传感器集群)采集的帧数据集合存储至计算设备中的缓存空间中。具体的,如图7所示,计算设备利用第一组缓存空间来存储第一组传感器(S1~S3)采集的帧数据集合。图示中,第一组缓存空间包括4个缓存空间,分别为buffer1-1~buffer1-4。在帧数据集合存储过程中,参考前述实施例中的相关阐述,例如计算设备可将第一组传感器(S1~S3)采集的第一帧数据集合缓存至buffer1-1中,该第一帧数据集合中包括有第一组传感器(S1~S3)中每个传感器各自采集的第一帧数据。计算设备可将第一组传感器采集的第二帧数据集合缓存至buffer1-2中,将第一组传感器采集的第三帧数据集合缓存至buffer1-3中,将第一组传感器(S1~S3)采集的第四帧数据集合缓存至buffer1-4中等等,这里不做赘述。
同样地,计算设备可利用第二组缓存空间来存储第二组传感器(S4~S6)采集的帧数据集合。图示中,第二组缓存空间包括4个缓存空间,分别为buffer2-1~buffer2-4。相应地计算设备可利用第三组缓存空间来存储第三组传感器(S7~S8)采集的帧数据集合,图示中第三组缓存空间同样以4个缓存空间为例,分别为buffer4-1~buffer4-4。关于如何实现每组传感器(即传感器集群)采集的帧数据集合的存储,具体可参见前述步骤S402-S410中的相关阐述,这里不再赘述。
可理解的,受限于计算设备中部署的缓存空间的数量,计算设备在实现帧数据集合的存储时可能涉及同一缓存空间中帧数据集合的覆盖写入存储的情况。例如以计算设备中部署的缓存空间(或者每组缓存空间中包括的缓存空间)的数量为m为例,m为系统自定义设置的正整数。当m小于待存储的帧数据集合的数量n(即m小于n)时,计算设备可对m个缓存空间中的部分或者全部缓存空间进行覆盖写入,以完成n个帧数据集合的存储。换句话说,计算设备中缓存空间的数量小于待存储的n个帧数据集合的数量时,m个缓存空间中的部分或者全部缓存空间可能会被多次覆盖写入帧数据集合,具体的,针对某个被覆盖写入的缓存空间而言,当前一次覆盖写入至该缓存空间中的帧数据集合会覆盖上一次该缓存空间中写入存储的帧数据集合。
举例来说,参考图7例子,以m=4(buffer1-1~buffer1-4,4个缓存空间)、n=6为例,4个缓存空间具体可为buffer1-1~buffer1-4,6个帧数据集合具体可为帧数据集合1~帧数据集合6。在帧数据集合存储过程中,由于缓存空间的数量m小于帧数据集合的数量n,则计算设备可多次利用n个缓存空间实现帧数据集合的存储,即对4个缓存空间进行重复写存储。例如在首轮存储中,参考上述步骤S402-S410中的相关阐述,计算设备可将传感器集群采集的帧数据集合1~帧数据集合4依次写入至buffer1-1~buffer1-4中存储。其中,buffer1-1存储帧数据集合1,buffer1-2存储帧数据集合2,buffer1-3存储帧数据集合3,buffer1-4存储帧数据集合4。
在完成传感器集群采集的帧数据集合4的存储后,由于4个buffer中都存储有帧数据集合。计算设备在存储余下的帧数据集合5和帧数据集合6时,会对buffer1-1~buffer1-4中的任两个buffer,这里假设为buffer1-1和buffer1-2进行覆盖存储。例如,计算设备可将帧数据集合5写入至buffer1-1中存储,此时会覆盖buffer1-1中原来存储的帧数据集合1。相应地,计算设备可将帧数据集合6写入至buffer1-2中存储,此时会覆盖buffer1-2中原来存储的帧数据集合2。
当m大于或等于n时,即是缓存空间的数量大于或等于待存储的帧数据集合的数量,计算设备可利用m个缓存空间中的n个缓存空间来实现单次帧数据集合的写入和存储。由于帧数据集合的数量小于缓存空间的数量,因此缓存空间不涉及帧数据集合覆盖写入或存储的问题。
同样地参考图7例子,以m=4、n=3为例,4个缓存空间具体可为buffer1-1~buffer1-4,6个帧数据集合具体可为帧数据集合1~帧数据集合3。在帧数据集合存储过程中,计算设备可利用4个缓存空间中的任意两个缓存空间,这里假设为buffer1-1和buffer1-2来实现帧数据集合的存储。具体的,参考前述步骤S402-S410中的相关阐述,计算设备可将传感器集群采集的帧数据集合1写入buffer1-1中存储,将传感器集群采集的帧数据集合2写入buffer1-2中存储。关于图7中涉及的帧数据集合的存储具体可参考前述步骤S402-S410阐述,本发明下文将举例进行详述,这里不做论述。
在可选实施例中,计算设备将帧数据集合存储至缓存空间后,还可根据实际需求从缓存空间中读取存储的帧数据集合。下面阐述帧数据集合读取涉及的相关实施例。
请参见图8,是本发明实施例提供的另一种数据处理方法的流程示意图。如图8所示的方法可包括如下实施步骤:
步骤S802、计算设备接收读数据请求,该读数据请求用于请求读取新标签对应的缓存空间中存储的最新帧数据集合,该新标签用于指示新标签对应的缓存空间中存储的帧数据集合为计算设备中当前缓存的最新的帧数据集合(下文简称为最新帧数据集合)。
步骤S804、计算设备响应该读数据请求,从新标签对应的缓存空间中读取最新帧数据集合。
本发明中,计算设备可根据系统自身需求,例如应用程序的数据获取需求,下发读数据请求。或者,计算设备可通过网络接收其他设备发送的读数据请求。该读数据请求用于请求读取新标签对应的缓存空间中存储的最新帧数据集合。相应地,计算设备获取读数据请求后,可响应该读数据请求,确定新标签对应的缓存空间,进而从该新标签对应的缓存空间中读取最新帧数据集合。具体的,计算设备在确定新标签对应的缓存空间后,可解除新标签和缓存空间之间的对应关系,将读标签和该缓存空间对应(即建立读标签和缓存空间之间的对应关系)。该读标签用于指示读取该读标签对应的缓存空间中存储的帧数据集合,这里即是原新标签对应的缓存空间中存储的最新帧数据集合。进而计算设备根据该读标签的指示,从读标签对应的缓存空间中读取最新帧数据集合。
可理解的,本发明上文图4所述实施例中,计算设备在根据写标签的指示将帧数据集合写入至写标签对应的缓存空间后,可解除写标签和该缓存空间之间的对应关系,建立新标签和该缓存空间之间的对应关系。便于后续计算设备直接根据该新标签,从该新标签对应的缓存空间中读取存储的最新帧数据集合。可见,计算设备对帧数据集合的存储速率(也可称写入速率)会影响帧数据集合的读取。具体存在以下几种实施情况或方式。
第一种,计算设备中缓存空间的帧数据集合的存储速率等于帧数据集合的读取速率。由于计算设备对帧数据集合的存储速率等于读速率,则计算设备将帧数据集合存储至相应地缓存空间后,计算设备即能接收到针对最新帧数据集合的读数据请求。可理解的,在计算设备将帧数据集合存储至相应地缓存空间后,计算设备可建立该缓存空间和新标签之间的对应关系。相应地计算设备在接收读数据请求后,可直接响应该读数据请求,从新标签对应的缓存空间中读取最新帧数据集合。
第二种,计算设备中缓存空间的帧数据集合的存储速率大于帧数据集合的读取速率。具体的,由于计算设备对帧数据集合的存储速率大于读速率,则计算设备已将多个帧数据集合存储至相应地缓存空间后,计算设备才接收到针对最新帧数据集合的读数据请求。此时,计算设备中可能存在一个或者多个新标签。
可理解的,当计算设备将每个帧数据集合存储到相应地缓存空间后,计算设备均可将该缓存空间和新标签对应(即建立缓存空间和新标签的对应关系),则此情况下计算设备中可能会存在多个新标签。其中,每个新标签具有时间信息,该时间信息用于指示记录建立缓存空间和新标签的对应关系时的时间(也可简称记录时间)。
或者,计算设备在存储任意两个相邻的帧数据集合时,参考前述图4实施例所述,计算设备在完成当前帧数据集合的存储后,需将用于存储当前帧数据集合的缓存空间和新标签对应,即建立新标签和用于存储当前帧数据集合的缓存空间之间的对应关系。如果计算设备中存储的上一帧数据集合并未被读取,由于计算设备在完成上一帧数据集合的存储后,同样建立有用于存储上一帧数据集合的缓存空间和新标签之间的对应关系。此时计算设备中存在两个新标签,为保证新数据读取的可靠性和便捷性,计算设备在完成当前帧数据集合的存储后,如果检测到上一帧数据集合并未被读取,则计算设备可解除用于存储上一帧数据集合的缓存空间和新标签之间的对应关系,以建立新标签和用于存储当前帧数据集合的缓存空间之间的对应关系。从而保证计算设备中仅有一个新标签,该新标签对应的缓存空间中存储有传感器集群采集的当前帧数据集合,即最新帧数据集合。
相应地,在计算设备接收到读数据请求时,如果计算设备中存在有一个新标签,则计算设备可响应该读数据请求,直接从该新标签对应的缓存空间中读取该缓存空间中存储的最新帧数据集合。反之,如果计算设备中存在有多个新标签,每个新标签具有时间信息,该时间信息用于指示记录建立新标签和缓存空间之间的对应关系的时间。则计算设备可响应该读数据请求,从多个新标签中选取出一个时间信息所指示的时间距离系统当前时间最近的新标签,进而从该选取的新标签所对应的缓存空间中读取最新帧数据集合。
举例来说,以传感器集群采集的帧数据集合包括第一帧数据集合和第二帧数据集合为例。参考前述步骤S402-S410中的相关阐述,计算设备将传感器采集的第一帧数据集合存储至第一缓存空间后,可建立新标签和第一缓存空间之间的对应关系,该新标签具有时间信息,该时间信息用于指示记录建立新标签和第一缓存空间之间的对应关系时的时间。同样地,计算设备将传感器采集的第二帧数据集合存储至第二缓存空间后,也可建立新标签和第二缓存空间之间的对应关系,该新标签具有时间信息,该时间信息用于指示记录建立新标签和第二缓存空间之间的对应关系时的时间。如果计算设备在完成传感器采集的第二帧数据集合的存储时,第一缓存空间中存储的第一帧数据集合并未被读取,则在计算设备完成第二帧数据集合的存储后,计算设备中存在两个新标签,且每个新标签均具有时间信息。
在计算设备完成第二帧数据集合的存储时,计算设备若接收到读数据请求,则计算设备可从两个新标签中选取一个时间信息所指示的时间距离系统当前时间最近的一个新标签,本例中即为第二缓存空间对应的新标签。进一步计算设备可从选取的新标签对应的缓存空间(这里即为第二缓存空间)中读取最新帧数据集合。
可选实施例中,本发明也可仅设计一个新标签。计算设备将传感器集群采集的每个帧数据集合存储至相应地缓存空间后,计算设备均可建立该新标签和该相应地缓存空间之间的对应关系。其中,新标签具有时间信息,该时间信息用于记录建立新标签和该相应地缓存空间之间的对应关系的时间。同样地,计算设备在接收到读数据请求后,计算设备中可能存在该新标签对应的多个时间信息,即计算设备完成了多个帧数据集合的存储。此时,计算设备可根据新标签对应的多个时间信息,确定时间信息所指示的时间距离系统当前时间最近的一个时间信息所对应的缓存空间。进一步计算设备可从该确定的缓存空间中读取最新帧数据集合。
例如在上个例子中,计算设备在将传感器采集的采集的第一帧数据集合存储至第一缓存空间后,可建立新标签和第一缓存空间之间的对应关系,该新标签具有第一时间信息,该第一时间信息用于指示建立新标签和第一缓存空间之间的对应关系的时间。同样地,在计算设备将传感器集群采集的第二帧数据集合存储至第二缓存空间后,同样可建立该新标签和第二缓存空间之间的对应关系。该新标签具有第二时间信息,该第二时间信息用于指示建立该新标签和第二缓存空间之间的对应关系。相应地在完成第二帧数据集合的存储时,如果计算设备接收到读数据请求,可确定新标签对应有两个时间信息,进一步从这两个时间信息中选取一个时间信息所指示的时间距离系统当前时间最近的时间信息,这里即为第二时间信息。进而计算设备可从确定的第二时间信息对应的(新标签所对应)的缓存空间中读取最新帧数据集合,这里即为第二缓存空间中存储的第二帧数据集合。
第三种,计算设备中缓存空间的帧数据集合的存储速率小于帧数据集合的读取速率。由于计算设备对帧数据集合的存储速率小于读速率,则计算设备在存储帧数据集合的过程中,计算设备就已接收到针对最新帧数据集合的读数据请求。由于计算设备接收读数据请求时,计算设备当前正在进行帧数据集合的存储,此时计算设备需等待完成帧数据集合的存储,以在完成帧数据集合的存储后才能建立用于存储该帧数据集合的缓存空间和新标签之间的对应关系。相应地,计算设备能从该新标签对应的缓存空间中读取最新帧数据集合。
可选地,在完成最新帧数据集合的读取后,计算设备可解除读标签和缓存空间之间的对应关系。便于下次读取帧数据集合时,重建读标签和另一缓存空间的对应关系,以从该另一缓存空间中读取相应地帧数据集合。
为更好地理解本发明实施例,本发明下文以一个例子进行详述。计算设备可获取传感器集群采集的帧数据集合,该帧数据集合包括有第一帧数据集合、第二帧数据集合…第n帧数据集合在内的n个帧数据集合。该传感器集群中包括有一个或多个传感器,每个传感器具有相同的采样周期,且传感器集群中任意两个传感器采集同一帧数据的采样开始时间(或采样结束时间)相差不超过一个采样周期。以保证任意两个传感器在异步采样时获得的帧数据均在当前帧数据或下一帧数据之间波动。
由于本发明实施例中涉及的操作标签包括有写标签(write,下文图示为W)、预写标签(pre-write,下文图示为PW)、读标签(read,下文图示为R)以及新标签(new,下文图示为N)在内的四种操作标签。为保证数据存储的稳定性,计算设备中部署的缓存空间的数量需大于或等于4。考虑到缓存空间的利用率,本发明下面以4个缓存空间为例,详述在计算设备中如何实现帧数据的存储和读取。其中,4个缓存空间分别为buffer1-buffer4。具体存在以下三种情况。
第一种情况,帧数据集合的存储速率等于读取速率。参见图9A示出一种基于缓存空间的帧数据的操作示意图。具体的,计算设备在开始进行帧数据集合的存储时,可获取系统预先创建的写标签和第一缓存空间之间的对应关系以及预写标签和第二缓存空间之间的对应关系。其中,该写标签用于指示将传感器集群采集的第一帧数据集合存储至该写标签对应的第一缓存空间中,该预写标签用于指示将传感器集群采集的第二帧数据集合存储至预写标签对应的第二缓存空间中。相应地,计算设备可以此确定出写标签对应的第一缓存空间和预写标签对应的第二缓存空间,本例中第一缓存空间可为图示中的buffer1,第二缓存空间可为图示中的buffer2。
如图9A中,t0时刻计算设备在获得传感器集群采集的第一帧数据集合后,可根据写标签的指示将第一帧数据集合写入至写标签对应的buffer1中存储。可理解的,传感器集群中包括的多个传感器很可能采用异步工作方式采集帧数据,这里即是同一时刻多个传感器中的部分传感器仍在采集第一帧数据,另一部分传感器已开始采集第二帧数据。此时,可根据写标签的指示,将传感器集群中部分传感器采集的第一帧数据存储至写标签对应的buffer1中。同时根据预写标签的指示,将另一部分传感器采集的第二帧数据存储至预写标签对应的buffer2中。
如图9A中,t1时刻计算设备可完成传感器集群采集的第一帧数据集合的存储。此时,计算设备可解除写标签和第一缓存空间(buffer1)之间的对应关系,建立buffer1和新标签的对应关系。可选地,计算设备还可解除预写标签和第二缓存空间(buffer2)之间的对应关系,建立写标签和buffer2之间的对应关系。计算设备还可建立预写标签和第三缓存空间(buffer3)之间的对应关系。其中,该新标签用于指示新标签对应的缓存空间中存储的帧数据集合为当前缓存的最新帧数据集合,便于后续计算设备依据该新标签读取最新帧数据集合。
如图9A中,t2时刻计算设备接收到读数据请求,该读数据请求用于请求读取新标签对应的缓存空间中存储的最新帧数据集合。相应地,计算设备可响应该读数据请求,确定新标签对应的buffer1,进而解除新标签和buffer1之间的对应关系,建立读标签和bufffer1之间的对应关系,以根据该读标签的指示,从读标签对应的buffer1中读取其存储的帧数据集合,即为最新帧数据集合。如图所示,t4时刻计算设备完成buffer1中的最新帧数据集合的读取,此时计算设备还可解除读标签和buffer1之间的对应关系,便于后续利用该读标签实现其他帧数据集合的读取。
在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备以此数据存储原理,将传感器集群后续采集的多个帧数据集合存储至各buffer中。例如,在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备在采集获得第二帧数据集合时,可根据写标签的指示,将传感器采集的第二帧数据集合存储至写标签对应的buffer2中。如果在计算设备存储传感器集群采集的第二帧数据集合的过程中,接收到传感器集群中部分传感器采集的第三帧数据时,计算设备还可根据预写标签的指示,将传感器集群中部分传感器采集的第三帧数据存储至预写标签对应的buffer3中。同样地如图9A所示,t3时刻计算设备可完成传感器集群采集的第二帧数据集合的存储。进一步计算设备可解除写标签和buffer2之间的对应关系,建立新标签和buffer2之间的对应关系。这里的新标签用于指示新标签对应的buffer2中存储的帧数据集合为计算设备中当前缓存的最新的帧数据集合(简称最新帧数据集合)。可选地,计算设备还可解除预写标签和buffer3之间的对应关系,建立写标签和buffer3之间的对应关系。这里的写标签用于指示将传感器集群采集的第三帧数据存储至写标签对应的buffer3中。可选地,计算设备还建立预写标签和buffer4之间的对应关系。这里的预写标签用于指示将传感器集群采集的第四帧数据集合存储至预写标签对应的buffer4中。
如图9A中,t4时刻计算设备完成buffer1中帧数据集合的读取后,可继续读取新标签对应的缓存空间(buffer2)中存储的帧数据集合(即最新帧数据集合)。具体的,计算设备确定新标签对应的buffer2后,可解除新标签和buffer2之间的对应关系,建立读标签和buffer2之间的对应关系,以根据读标签的指示从读标签对应的buffer2中读取buffer2中存储的最新帧数据集合。可选地,当计算设备完成buffer2中最新帧数据集合的读取后,计算设备可解除读标签和buffer2之间的对应关系,具体可参见前述读标签和buffer1之间的对应关系的相关阐述,这里不再赘述。
如图9A中,t3时刻计算设备完成传感器集群采集的第二帧数据集合的存储后,计算设备可接着缓存传感器集群采集的第三帧数据集合。具体的,在完成传感器集群采集的第二帧数据集合后,计算设备可根据写标签的指示,将传感器集群采集的第三帧数据集合存储至写标签对应的buffer3中。可选地,计算设备在存储第三帧数据集合的过程中,如果接收到传感器集群中部分传感器采集的第四帧数据,则计算设备还可根据预写标签的指示,将传感器集群中部分传感器采集的第四帧数据存储至预写标签对应的buffer4中。如图所示,t5时刻计算设备可完成传感器集群采集的第三帧数据集合的存储。此时,计算设备可解除写标签和buffer3之间的对应关系,建立新标签和buffer3之间的对应关系。这里的新标签用于指示新标签对应的buffer3中存储的帧数据集合为最新帧数据集合。可选地,计算设备还可解除预写标签和buffer4之间的对应关系,建立写标签和buffer4之间的对应关系。这里的写标签用于指示将传感器集群采集的第四帧数据集合存储至写标签对应的buffer4中。由于计算设备中共部署有4个buffer,为实现传感器集群采集的后续帧数据集合的存储,计算设备需对4个buffer进行多次覆盖存储。可选地,计算设备还可建立预写标签和buffer1之间的对应关系。这里的预写标签用于指示将传感器采集的第五帧数据集合存储至预写标签对应的buffer5中。以此原理,计算设备可完成传感器集群采集的n个帧数据集合的存储和读取,本发明不做限定。
第二种情况,帧数据集合的存储速率大于读取速率。请参见图9B示出的另一种基于缓存空间的帧数据集合的操作示意图。具体的,参见前述图9A所述实施例中的相关阐述,如图9B中t0时刻计算设备在获得传感器集群采集的第一帧数据集合后,可根据写标签的指示将第一帧数据集合写入至写标签对应的buffer1中存储。t1时刻计算设备可完成传感器集群采集的第一帧数据集合的存储。此时,计算设备可解除写标签和第一缓存空间(buffer1)之间的对应关系,建立buffer1和新标签的对应关系。可选地,计算设备还可解除预写标签和第二缓存空间(buffer2)之间的对应关系,建立写标签和buffer2之间的对应关系。计算设备还可建立预写标签和第三缓存空间(buffer3)之间的对应关系。其中,该新标签用于指示新标签对应的缓存空间中存储的帧数据集合为当前缓存的最新帧数据集合,便于后续计算设备依据该新标签读取最新帧数据集合。
如图9B中,t2时刻计算设备接收到读数据请求,以根据该读数据请求从新标签对应的缓存空间中读取最新帧数据集合。如图所示,t6时刻计算设备可完成buffer1中的最新帧数据集合的读取,此时计算设备还可解除读标签和buffer1之间的对应关系,便于后续利用该读标签实现其他帧数据集合的读取。
在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备以此数据存储原理,将传感器集群后续采集的多个帧数据集合存储至各buffer中。例如,在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备可根据写标签的指示,将传感器集群采集的第二帧数据集合存储至写标签对应的buffer2中。如图所示,t3时刻计算设备可完成传感器集群采集的第二帧数据集合的存储。在完成第二帧数据集合的存储后,计算设备可解除写标签和buffer2之间的对应关系,建立新标签和buffer2之间的对应关系。这里的新标签用于指示新标签对应的buffer2中存储的帧数据集合为计算设备中当前缓存的最新的帧数据集合。可选地,计算设备还可解除预写标签和buffer3之间的对应关系,建立写标签和buffer3之间的对应关系。这里的写标签用于指示将传感器集群采集的第三帧数据集合存储至写标签对应的buffer3中。可选地,计算设备还可建立预写标签和buffer4之间的对应关系。这里的预写标签用于指示将传感器采集的第四帧数据存储至预写标签对应的buffer4中。
相应地,在t3时刻计算设备完成传感器集群采集的第二帧数据集合的存储后,计算设备还可根据写标签的指示,将传感器集群采集的第三帧数据集合存储至写标签对应的buffer3中。如图所示,t4时刻计算设备可完成传感器集群采集的第三帧数据集合的存储。在计算设备完成第三帧数据集合的存储后,计算设备可解除写标签和buffer3之间的对应关系,建立新标签和buffer3之间的对应关系。这里的新标签用于指示新标签对应的buffer3中存储的帧数据集合为最新帧数据集合。在实际应用中,如图所示上述在实现帧数据集合存储的过程中,计算设备中已存在新标签和buffer2之间的对应关系(即buffer2对应的操作标签为新标签)。为保证最新帧数据集合读取的便捷性和可靠性,计算设备需保证仅有一个新标签,因此在建立新标签和buffer3之间的对应关系之前,计算设备还需解除新标签和buffer2之间的对应关系。进一步可选地,计算设备还可解除预写标签和buffer4之间的对应关系,建立写标签和buffer4之间的对应关系。这里的写标签用于指示将传感器集群采集的第四帧数据集合存储至写标签对应的buffer4中。
由于t4时刻计算设备正在读取buffer1中存储的新帧数据集合,此时buffer1正在被占用,不允许对buffer1进行帧数据集合的覆盖写。由于本例中计算设备中仅部署有4个buffer,因此在完成第三帧数据集合的存储后,计算设备还可建立预写标签和buffer2之间的对应关系。这里的预写标签用于指示将传感器采集的第五帧数据存储至该预写标签对应的buffer2中。可理解的,当计算设备中部署的buffer数量大于4时,在完成第三帧数据集合的存储后,计算设备还可建立预写标签和buffer5之间的对应关系,以将传感器集群采集的第五帧数据集合存储至该预写标签对应的buffer5中。
如图9B中,计算设备在t4时刻完成传感器集群采集的第三帧数据集合的存储后,可进一步根据写标签的指示,将传感器集群采集的第四帧数据集合存储至写标签对应的buffer4中。如图所示,t5时刻计算设备可完成传感器集群采集的第四帧数据集合的存储。此时,计算设备可解除写标签和buffer4之间的对应关系,建立新标签和buffer4之间的对应关系。这里的新标签用于指示新标签对应的buffer4中存储的帧数据集合为最新帧数据集合。同样地,为保证最新帧数据集合读取的便捷性和可靠性,计算设备在t5时刻完成第四帧数据集合的存储后,可先解除新标签和buffer3之间的对应关系,从而建立新标签和buffer4之间的对应关系,以保证计算设备中仅有一个新标签。可选地,计算设备还可解除预写标签和buffer2之间的对应关系,建立写标签和buffer2之间的对应关系。这里的写标签用于将传感器集群采集的第五帧数据集合存储至写标签对应的buffer2中。可选地,计算设备还可建立预写标签和buffer3之间的对应关系,这里的预写标签用于指示将传感器集群采集的第六帧数据集合存储至预写标签对应的buffer3中。
如图9B中,t6时刻计算设备可完成buffer1中最新帧数据集合的读取,计算设备仍可继续确定并读取计算设备中存在的新标签对应的buffer中存储的最新帧数据集合。例如图9B中,t6时刻计算设备在完成buffer1中最新帧数据集合的读取后,可继续确定计算设备中存在的新标签对应的buffer,本例即是buffer4。可理解的,当t6时刻计算设备中不存在新标签,此时计算设备可能正在进行帧数据集合的存储,需等待一段时间在计算设备完成帧数据集合的存储后,可检测并确定到新标签对应的buffer,具体可参见前述实施例中的相关阐述,这里不做论述。相应地,计算设备确定新标签对应的buffer4后,可读取buffer4中存储的最新帧数据集合。
如图9B中,在t5时刻计算设备完成传感器采集的第四帧数据集合的存储后,计算设备可继续根据写标签的指示,将传感器集群采集的第五帧数据集合存储至写标签对应的buffer2中。如图所示,t7时刻计算设备可完成传感器集群采集的第五帧数据集合的存储。此时,计算设备可解除写标签和buffer2之间的对应关系,解除预写标签和buffer3之间的对应关系,建立写标签和buffer3之间的对应关系。这里的写标签用于指示将传感器集群采集的第六帧数据集合存储至写标签对应的buffer3中。如图所示,由于t7时刻计算设备正在读取buffer4中存储的最新帧数据集合,此时buffer4正在被占用无法对其进行覆盖写操作。因此,计算设备可建立预写标签和buffer1之间的对应关系,这里的预写标签用于将传感器采集的第七帧数据集合存储至预写标签对应的buffer1中。以此原理,计算设备可完成传感器集群采集的n个帧数据集合的存储和读取,关于本发明实施例中未示出或未描述的内容,可具体参见前述图9A中的相关阐述,这里不再赘述。
第三种情况,帧数据集合的存储速率小于读取速率。请参见图9C示出另一种基于缓存空间的帧数据集合的操作示意图。参见前述图9A所述实施例中的相关阐述,如图9B中t0时刻计算设备在获得传感器集群采集的第一帧数据集合后,可根据写标签的指示将第一帧数据集合写入至写标签对应的buffer1中存储。t1时刻计算设备可完成传感器集群采集的第一帧数据集合的存储。此时,计算设备可解除写标签和第一缓存空间(buffer1)之间的对应关系,建立buffer1和新标签的对应关系。可选地,计算设备还可解除预写标签和第二缓存空间(buffer2)之间的对应关系,建立写标签和buffer2之间的对应关系。计算设备还可建立预写标签和第三缓存空间(buffer3)之间的对应关系。其中,该新标签用于指示新标签对应的缓存空间中存储的帧数据集合为当前缓存的最新帧数据集合,便于后续计算设备依据该新标签读取最新帧数据集合。
如图9B中,t2时刻计算设备接收到读数据请求,以根据该读数据请求从新标签对应的缓存空间中读取最新帧数据集合。如图所示,t3时刻计算设备可完成buffer1中的最新帧数据集合的读取,此时计算设备还可解除读标签和buffer1之间的对应关系,便于后续利用该读标签实现其他帧数据集合的读取。
在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备以此数据存储原理,将传感器集群后续连续采集的多个帧数据集合存储至各buffer中。例如,在t1时刻计算设备完成传感器集群采集的第一帧数据集合的存储后,计算设备可根据写标签的指示,将传感器集群采集的第二帧数据集合存储至写标签对应的buffer2中。如图所示,t4时刻计算设备可完成传感器集群采集的第二帧数据集合的存储。在完成第二帧数据集合的存储后,计算设备可解除写标签和buffer2之间的对应关系,建立新标签和buffer2之间的对应关系。这里的新标签用于指示新标签对应的buffer2中存储的帧数据集合为计算设备中当前缓存的最新的帧数据集合。可选地,计算设备还可解除预写标签和buffer3之间的对应关系,建立写标签和buffer3之间的对应关系。这里的写标签用于指示将传感器集群采集的第三帧数据集合存储至写标签对应的buffer3中。可选地,计算设备还可建立预写标签和buffer4之间的对应关系。这里的预写标签用于指示将传感器集群采集的第四帧数据集合存储至预写标签对应的buffer4中。
如图9C中,在t3时刻计算设备完成buffer1中最新帧数据集合的读取后,可继续确定并读取新标签对应的buffer中存储的最新帧数据集合。本例中,由于截止到t3时刻,计算设备当前仅完成传感器采集的第一帧数据集合的存储,正在进行传感器采集的第二帧数据集合的存储。因此,计算设备需等待传感器采集的第二帧数据集合的存储后,才能新建新标签和buffer2之间的对应关系,进而从新标签对应的buffer2中读取其存储的第二帧数据集合。如图9C所示,计算设备需等待到t4时刻完成传感器采集的第二帧数据集合的存储后,才能从新标签对应的buffer2中读取最新帧数据集合。以此原理,计算设备可完成传感器集群采集的n个帧数据集合的存储和读取,关于本发明实施例中未示出或未描述的内容,可具体参见前述图9A中的相关阐述,这里不再赘述。
通过实施本发明实施例,能够解决现有技术方案中存在的数据存储流程复杂、耗时较长以及缓存空间利用率较低等问题,从而提升了数据处理的便捷性和实用性。
结合上文图1-图9C所述实施例中的相关描述,下面介绍本发明适用的相关装置。请参见图10是本发明实施例提供的一种数据处理装置的结构示意图。该数据处理装置100包括:写入模块102、设置模块104以及处理模块106,其中,所述写入模块102,用于将所述第一传感器采集的第一数据写入所述第一缓存空间,将所述第二传感器采集的第二数据写入所述第一缓存空间,其中,所述第一数据和所述第二数据属于第一帧数据;
所述设置模块104,用于将所述第一缓存空间的状态标识设置为第一状态,用于指示完成对所述第一帧数据的写入操作;
所述处理模块106,用于根据所述第一状态从所述第一缓存空间读取所述第一帧数据,并对所述第一帧数据进行处理操作。
本发明中涉及的写入模块102、设置模块104以及处理模块106具体可为上文图1实施例中的处理模块306。换句话说,本发明中涉及的写入模块102、设置模块104以及处理模块106各自实现的功能步骤均可由图1实施例中的处理模块306实现。
在一些可能的实施例中,所述处理模块106用于根据所述第一状态从所述第一缓存空间读取所述第一帧数据之后,
所述设置模块106,还用于将所述第一缓存空间的状态标识设置为第二状态,用于指示完成对所述第一帧数据的读取操作。
在一些可能的实施例中,所述写入模块102用于将所述第一传感器采集的第一数据写入所述第一缓存空间之后,所述写入模块102还用于将所述第一传感器采集的第三数据写入所述第二缓存空间。所述写入模块102用于将所述第二传感器采集的第二数据写入所述第一缓存空间之后,所述写入模块102还用于将所述第二传感器采集的第四数据写入所述第二缓存空间;所述设置模块104还用于将所述第二缓存空间的状态标识设置为所述第一状态,其中,所述第三数据和所述第四数据属于第二帧数据。
在一些可能的实施例中,所述写入模块102用于将所述第二传感器采集的第二数据写入所述第一缓存空间之后,所述设置模块104还用于将所述第二缓存空间的状态标识设置为第三状态,并将所述第三缓存空间的状态标识设置为第四状态。
在一些可能的实施例中,所述写入模块102用于将所述第二传感器采集的第四数据写入所述第二缓存空间包括,所述写入模块102具体用于根据所述第三状态将所述第四数据写入所述第二缓存空间。
在一些可能的实施例中,所述写入模块102用于根据所述第三状态将所述第四数据写入所述第二缓存空间之后,所述设置模块104还用于将所述第二缓存空间的状态标识从所述第三状态修改为所述第一状态。
在一些可能的实施例中,所述写入模块102用于将所述第一传感器采集的第三数据写入所述第二缓存空间之后,所述写入模块102还用于根据所述第四状态将所述第一传感器采集的第五数据写入所述第三缓存空间,所述第五数据属于第三帧数据。
在一些可能的实施例中,所述装置还包括查找模块108,所述设置模块104用于将所述第三缓存空间的状态标识设置为第四状态之前,所述查找模块108还用于根据所述第二状态查找所述第三缓存空间;所述设置模块104具体用于将所述第三缓存空间的状态标识从所述第二状态修改为所述第四状态。
关于本发明中未示出或未描述的内容,可参见前述实施例中的相关阐述这里不做赘述。关于图10示出的数据处理装置在实际应用中可包括更多或更少的部件,图示仅为示例并不构成限定。图10中示出的各模块或各单元具体可通过软件或者硬件的方式实现,当其通过软件程序实现时,图示中的各模块或各单元均为软件模块。当其通过硬件实现时,图示中的各模块或各单元具体可通过专用集成电路(application-specific integratedcircuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合等,本发明并不做限定。
通过实施本发明实施例,能够解决现有技术方案中存在的数据存储流程复杂、耗时较长以及缓存空间利用率较低等问题,从而提升了数据处理的便捷性和实用性。
请参见图11,是本发明实施例提供的一计算设备的结构示意图。如图11所示的计算设备1100包括一个或多个处理器1101、通信接口1102以及存储器1103。其中,处理器1101、通信接口1102以及存储器1103可通过总线连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线1105连接为例。其中,该存储器1103用于存储指令,该处理器1101用于执行该存储器1103存储的指令。该存储器1103存储程序代码,且处理器1101可以调用存储器1103中存储的程序代码执行如上图4或图8所述方法实施例中提供的所有或部分实施步骤,这里不再赘述。
应理解的,处理器1101还可用于运行存储器1103中存储的相关程序代码以实现如下功能模块的功能。例如,该功能模块包括但不限于以下中的任意一个或多个功能的组合,例如图10中示出的写入模块、设置模块以及处理模块、图1示出的计算设备中包括的调度器以及处理模块306等所有或部分功能模块。换句话说,存储器1103中存储有一组程序代码,处理器1101可调用存储器1103中存储的程序代码以实现图10所示的计算设备中的所有或部分功能模块的功能,或者实现如上图4或图8所述方法实施例所描述的内容,这里不再赘述。
需要说明的,图11仅仅是本发明实施例的一种可能的实现方式,实际应用中,计算设备还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图1-图9C所述实施例中的相关阐述,这里不再赘述。
通过实施本发明实施例,能够解决现有技术方案中存在的数据存储流程复杂、耗时较长以及缓存空间利用率较低等问题,从而提升了数据处理的便捷性和实用性。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (18)
1.一种数据处理方法,其特征在于,应用于自动驾驶领域的数据处理系统中,所述数据处理系统包括传感装置集群、第一缓存空间和处理器,所述传感装置集群包括:第一传感器、第二传感器,所述第一传感器和所述第二传感器是所述传感装置集群中任意两个传感器,所述第一传感器和所述第二传感器允许采用异步工作方式采集帧数据,在异步工作方式场景中,所述第一传感器和所述第二传感器具有相同的采样周期,所述第一传感器和所述第二传感器对同一帧数据集的采样开始时间或采样结束时间相差不超过一个采样周期,对同一帧数据集合,存储的结束时间由所述传感装置集群中最晚开始采集该同一帧数据的传感器确定,所述方法包括:
将所述第一传感器采集的第一数据写入所述第一缓存空间;
将所述第二传感器采集的第二数据写入所述第一缓存空间,其中,所述第一数据和所述第二数据属于第一帧数据;
在所述传感装置集群中最晚开始采样的传感器完成所述第一帧数据采样时,将所述第一缓存空间的状态标识设置为第一状态,用于指示完成对所述第一帧数据的写入操作;
所述处理器根据所述第一状态从所述第一缓存空间读取所述第一帧数据,并对所述第一帧数据进行处理操作。
2.根据权利要求1所述的方法,其特征在于,所述处理器根据所述第一状态从所述第一缓存空间读取所述第一帧数据后,所述方法还包括:
将所述第一缓存空间的状态标识设置为第二状态,用于指示完成对所述第一帧数据的读取操作。
3.根据权利要求2所述的方法,其特征在于,所述数据处理系统还包括第二缓存空间;
将所述第一传感器采集的第一数据写入所述第一缓存空间后,所述方法还包括:
将所述第一传感器采集的第三数据写入所述第二缓存空间;
将所述第二传感器采集的第二数据写入所述第一缓存空间后,所述方法还包括:
将所述第二传感器采集的第四数据写入所述第二缓存空间,并将所述第二缓存空间的状态标识设置为所述第一状态,其中,所述第三数据和所述第四数据属于第二帧数据。
4.根据权利要求3所述的方法,其特征在于,所述数据处理系统还包括第三缓存空间;
将所述第二传感器采集的第二数据写入所述第一缓存空间后,所述方法还包括:
将所述第二缓存空间的状态标识设置为第三状态,并将所述第三缓存空间的状态标识设置为第四状态。
5.根据权利要求4所述的方法,其特征在于,所述将所述第二传感器采集的第四数据写入所述第二缓存空间包括:
根据所述第三状态将所述第四数据写入所述第二缓存空间。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第三状态将所述第四数据写入所述第二缓存空间之后,所述方法还包括:
将所述第二缓存空间的状态标识从所述第三状态修改为所述第一状态。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述将所述第一传感器采集的第三数据写入所述第二缓存空间后,所述方法还包括:
根据所述第四状态将所述第一传感器采集的第五数据写入所述第三缓存空间,所述第五数据属于第三帧数据。
8.根据权利要求7所述的方法,其特征在于,所述将所述第三缓存空间的状态标识设置为第四状态前,所述方法还包括:
根据所述第二状态查找所述第三缓存空间;
将所述第三缓存空间的状态标识设置为第四状态包括:
将所述第三缓存空间的状态标识从所述第二状态修改为所述第四状态。
9.一种数据处理装置,其特征在于,应用于自动驾驶领域,包括:
传感装置集群,所述传感装置集群包括:第一传感器、第二传感器,所述第一传感器和所述第二传感器是所述传感装置集群中任意两个传感器,所述第一传感器和所述第二传感器允许采用异步工作方式采集帧数据,在异步工作方式场景中,所述第一传感器和所述第二传感器具有相同的采样周期,所述第一传感器和所述第二传感器对同一帧数据集的采样开始时间或采样结束时间相差不超过一个采样周期,对同一帧数据集合,存储的结束时间由所述传感装置集群中最晚开始采集该同一帧数据的传感器确定;
写入模块,用于将所述第一传感器采集的第一数据写入第一缓存空间,将所述第二传感器采集的第二数据写入所述第一缓存空间,其中,所述第一数据和所述第二数据属于第一帧数据;
设置模块,用于在所述传感装置集群中最晚开始采样的传感器完成所述第一帧数据采样时,将所述第一缓存空间的状态标识设置为第一状态,用于指示完成对所述第一帧数据的写入操作;
处理模块,用于根据所述第一状态从所述第一缓存空间读取所述第一帧数据,并对所述第一帧数据进行处理操作。
10.根据权利要求9所述的装置,其特征在于,当所述处理模块用于根据所述第一状态从所述第一缓存空间读取所述第一帧数据之后,
所述设置模块,还用于将所述第一缓存空间的状态标识设置为第二状态,用于指示完成对所述第一帧数据的读取操作。
11.根据权利要求10所述的装置,其特征在于,还包括第二缓存空间,
当所述写入模块用于将第一传感器采集的第一数据写入第一缓存空间之后,
所述写入模块,还用于将所述第一传感器采集的第三数据写入所述第二缓存空间;
所述写入模块用于将第二传感器采集的第二数据写入所述第一缓存空间之后,
所述写入模块,还用于将所述第二传感器采集的第四数据写入所述第二缓存空间;
所述设置模块,还用于将所述第二缓存空间的状态标识设置为所述第一状态,其中,所述第三数据和所述第四数据属于第二帧数据。
12.根据权利要求11所述的装置,其特征在于,还包括第三缓存空间,
当所述写入模块用于将第二传感器采集的第二数据写入所述第一缓存空间之后,
所述设置模块,还用于将所述第二缓存空间的状态标识设置为第三状态,并将所述第三缓存空间的状态标识设置为第四状态。
13.根据权利要求12所述的装置,其特征在于,所述写入模块用于将所述第二传感器采集的第四数据写入所述第二缓存空间包括:
所述写入模块,用于根据所述第三状态将所述第四数据写入所述第二缓存空间。
14.根据权利要求13所述的装置,其特征在于,当所述写入模块用于根据所述第三状态将所述第四数据写入所述第二缓存空间之后,
所述设置模块,还用于将所述第二缓存空间的状态标识从所述第三状态修改为所述第一状态。
15.根据权利要求12至14任一项所述的装置,其特征在于,当所述写入模块用于将所述第一传感器采集的第三数据写入第二缓存空间之后,
所述写入模块,还用于根据所述第四状态将所述第一传感器采集的第五数据写入所述第三缓存空间,所述第五数据属于第三帧数据。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括查找模块,在所述设置模块用于将所述第三缓存空间的状态标识设置为第四状态之前,
所述查找模块,还用于根据所述第二状态查找所述第三缓存空间;
所述设置模块用于将所述第三缓存空间的状态标识设置为第四状态包括:
所述设置模块,用于将所述第三缓存空间的状态标识从所述第二状态修改为所述第四状态。
17.一种计算设备,其特征在于,包括处理器,存储器和通信接口;所述通信接口,用于接收和发送数据;所述存储器,用于存储指令;所述处理器,用于调用所述存储器中的指令,执行如上权利要求1至8任一项所述方法。
18.一种计算机非瞬态存储介质,所述计算机非瞬态存储介质存储有计算机程序,其特征在于,所述计算机程序被计算设备执行时实现如权利要求1至8任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640497.8A CN109697767B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、相关设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811640497.8A CN109697767B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、相关设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697767A CN109697767A (zh) | 2019-04-30 |
CN109697767B true CN109697767B (zh) | 2021-11-19 |
Family
ID=66233105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811640497.8A Active CN109697767B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、相关设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697767B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479355B (zh) * | 2020-04-17 | 2021-08-13 | 深圳爱克莱特科技股份有限公司 | 一种用于led播放系统的三缓存的帧保护方法及系统 |
CN111797044A (zh) * | 2020-05-25 | 2020-10-20 | 航天科工空间工程发展有限公司 | 一种异步串口通信系统数据延迟处理系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118776A (zh) * | 2007-08-21 | 2008-02-06 | 中国科学院计算技术研究所 | 实现音、视频数据同步的方法、系统及装置 |
CN102915281A (zh) * | 2012-09-12 | 2013-02-06 | 北京空间飞行器总体设计部 | 一种高可靠的航天器帧格式数据队列缓存系统及缓存方法 |
CN106775659A (zh) * | 2016-11-28 | 2017-05-31 | 四川航天系统工程研究所 | 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法 |
CN108632624A (zh) * | 2017-12-18 | 2018-10-09 | 百富计算机技术(深圳)有限公司 | 图像数据处理方法、装置、终端设备及可读存储介质 |
-
2018
- 2018-12-29 CN CN201811640497.8A patent/CN109697767B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118776A (zh) * | 2007-08-21 | 2008-02-06 | 中国科学院计算技术研究所 | 实现音、视频数据同步的方法、系统及装置 |
CN102915281A (zh) * | 2012-09-12 | 2013-02-06 | 北京空间飞行器总体设计部 | 一种高可靠的航天器帧格式数据队列缓存系统及缓存方法 |
CN106775659A (zh) * | 2016-11-28 | 2017-05-31 | 四川航天系统工程研究所 | 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法 |
CN108632624A (zh) * | 2017-12-18 | 2018-10-09 | 百富计算机技术(深圳)有限公司 | 图像数据处理方法、装置、终端设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109697767A (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102525502B1 (ko) | 자동운전 테스트 데이터 저장 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
US11212491B2 (en) | Data management of connected cars cameras for homeland security and smart cities | |
US20160034201A1 (en) | Managing de-duplication using estimated benefits | |
CN109190648B (zh) | 模拟环境生成方法、装置、移动终端及计算机可读取存储介质 | |
CN109697767B (zh) | 数据处理方法、相关设备及计算机存储介质 | |
US10970541B2 (en) | Geo-registering an aerial image by an object detection model using machine learning | |
CN109147091B (zh) | 无人车数据的处理方法、装置、设备和存储介质 | |
US20210374438A1 (en) | Validating object detection hardware and algorithms | |
JP2023038221A (ja) | データ収集方法およびデータ収集装置 | |
CN108986253B (zh) | 用于多线程并行处理的存储数据方法和装置 | |
CN110647600A (zh) | 三维地图的构建方法、装置、服务器及存储介质 | |
JP7088881B2 (ja) | インテリジェント路側ユニットの障害物提示方法、装置および機器 | |
CN107766476A (zh) | 基于楼块数据的众包数据处理方法、装置、设备及存储介质 | |
JP7144909B2 (ja) | 移動経路およびマップ・オブジェクトに基づく位置較正 | |
CN115061386B (zh) | 智能驾驶的自动化仿真测试系统及相关设备 | |
US20150347293A1 (en) | Method and apparatus for prevention of fragmentation of non-volatile memory for black box device | |
CN115578386A (zh) | 泊车图像生成方法、装置、电子设备及存储介质 | |
CN111856468A (zh) | 检测方法、装置、设备、系统及存储介质 | |
WO2019041271A1 (zh) | 处理图像的方法、集成电路、处理器、系统和可移动设备 | |
CN115002196A (zh) | 一种数据处理方法、装置、车端采集设备 | |
CN111488928B (zh) | 用于获取样本的方法及装置 | |
CN114556283B (zh) | 一种数据写入、一致性检查和读取的方法及装置 | |
CN114743395A (zh) | 一种信号灯检测方法、装置、设备及介质 | |
CN112307094B (zh) | 自动驾驶数据读取方法、装置、计算机设备及存储介质 | |
CN109272602B (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 |