一种数据采集方法、装置、设备及存储介质与流程

文档序号:31621902发布日期:2022-09-23 23:32阅读:38来源:国知局
1.本技术涉及电子控制
技术领域
:,具体涉及一种数据采集方法、装置、设备及存储介质。
背景技术
::2.在汽车电子控制系统的开发过程中,xcp协议(universalcalibrationprotocol,通用测量与标定协议)被广泛应用。xcp协议设计了一种基于daq(同步数据传输)的周期性数据采集机制,每隔daq模块的采集周期,对daq模块中的待采集数据采集完成后得到的采集数据,会暂存在daq模块对应的数据缓存区内等待发送到上位机。如果数据缓存区内的采集数据还来不及被发送而新的采集数据又不断存储到数据缓存区时,缓存区就会出现饱和导致新的采集数据无法被暂存从而被丢弃,这就是daq过载现象。3.目前,各个daq模块的数据缓存区大小固定且不能自适应调整,导致实际测量过程中出现采集周期短的daq模块的缓存区容易饱和而过载,而采样周期长的daq模块的缓存区资源大量浪费的矛盾情况,因此,需要提供更加可靠的数据采集方法。技术实现要素:4.本技术提供了一种数据采集方法、装置、设备及存储介质,可以提升缓存区域的利用率,有效缓解目标采集数据高速传输时缓存区域的过载问题,从而提升数据采集方法的可靠性和实时性。5.本技术技术方案如下:6.一方面,提供了一种数据采集方法,所述方法包括:7.获取多个数据采集模块对应的模块数据容量和数据采集周期;8.根据预设采集缓存区域的预设数据容量、所述模块数据容量和所述数据采集周期,对所述多个数据采集模块进行缓存分配,确定所述多个数据采集模块各自对应的缓存区域;9.当所述多个数据采集模块各自对应的关联事件被触发时,根据所述多个数据采集模块中的数据采集信息,分别对所述关联事件中的待采集数据进行数据采集,得到所述多个数据采集模块对应的目标采集数据;10.将所述目标采集数据存储到所述多个数据采集模块各自对应的缓存区域。11.另一方面,提供了一种数据采集装置,所述装置包括:12.获取模块,用于获取多个数据采集模块对应的模块数据容量和数据采集周期;13.缓存分配模块,用于根据预设采集缓存区域的预设数据容量、所述模块数据容量和所述数据采集周期,对所述多个数据采集模块进行缓存分配,确定所述多个数据采集模块各自对应的缓存区域;14.数据采集模块,用于当所述多个数据采集模块各自对应的关联事件被触发时,根据所述多个数据采集模块中的数据采集信息,分别对所述关联事件中的待采集数据进行数据采集,得到所述多个数据采集模块对应的目标采集数据;15.数据存储模块,用于将所述目标采集数据存储到所述多个数据采集模块各自对应的缓存区域。16.另一方面,提供了一种数据采集设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的数据采集方法。17.另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的数据采集方法。18.本技术提供的数据采集方法、装置、设备及存储介质,具有如下技术效果:19.利用本技术提供的技术方案,通过获取多个数据采集模块对应的模块数据容量和数据采集周期;然后,根据预设采集缓存区域的预设数据容量、所述模块数据容量和所述数据采集周期,对所述多个数据采集模块进行缓存分配,确定所述多个数据采集模块各自对应的缓存区域;接着,当所述多个数据采集模块各自对应的关联事件被触发时,根据所述多个数据采集模块中的数据采集信息,分别对所述关联事件中的待采集数据进行数据采集,得到所述多个数据采集模块对应的目标采集数据;最后,将所述目标采集数据存储到所述多个数据采集模块各自对应的缓存区域,通过自适应调整数据采集模块的缓存区域的容量,能够提升缓存区域的利用率,有效缓解目标采集数据高速传输时缓存区域的过载问题,从而提升数据采集方法的可靠性和实时性。附图说明20.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。21.图1是本技术实施例提供的一种数据采集方法的流程示意图;22.图2是本技术实施例提供的一种根据预设采集缓存区域的预设数据容量、模块数据容量和数据采集周期,对多个数据采集模块进行缓存分配,确定多个数据采集模块各自对应的缓存区域的流程示意图;23.图3是本技术实施例提供的一种基于预设采集缓存区域的当前数据容量,确定当前遍历到的数据采集模块的第二分配比例信息的流程示意图;24.图4是本技术实施例提供的另一种基于预设采集缓存区域的当前数据容量,确定当前遍历到的数据采集模块的第二分配比例信息的流程示意图;25.图5是本技术实施例提供的另一种数据采集方法的流程示意图;26.图6是本技术实施例提供的一种基于释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域的流程示意图;27.图7是本技术实施例提供的另一种基于释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域的流程示意图;28.图8是本技术实施例提供的一种数据采集装置示意图。具体实施方式29.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。30.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。31.以下介绍本技术实施例提供的一种数据采集方法,图1为本技术实施例提供的一种数据采集方法的流程示意图。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的,如图1所示,上述方法可以包括:32.s101,获取多个数据采集模块对应的模块数据容量和数据采集周期。33.在实际应用中,车载终端接收上位机发送的数据采集模块设置指令,上述数据采集模块设置指令携带有多个数据采集模块对应的模块数据容量和数据采集周期,车载终端响应于数据采集模块设置指令,基于多个数据采集模块对应的模块数据容量和数据采集周期,设置多个数据采集模块。34.在一个具体的实施例中,数据采集模块可以为daq数据采集机制下的daq模块,每个数据采集模块可以包括至少一个odt(objectdescriptortable,对象描述表),每个odt可以记录数据采集信息,其中,数据采集信息可以包括:多个待采集数据对应的数据地址和数据长度。具体的,可以基于数据采集模块中odt的数量来度量数据采集模块的模块数据容量,例如,在某一数据采集模块包括2个odt的情况下,该数据采集模块的模块数据容量可以为:2个odt。35.s103,根据预设采集缓存区域的预设数据容量、模块数据容量和数据采集周期,对多个数据采集模块进行缓存分配,确定多个数据采集模块各自对应的缓存区域。36.在本说明书实施例中,预设采集缓存区域可以用于存储对多个数据采集模块对应关联事件中的待采集数据分别进行数据采集后得到的目标采集数据。在实际应用中,可以对预设采集缓存区域进行区域分配,从而确定每一数据采集模块对应的缓存区域,每一数据采集模块对应的缓存区域可以用于存储每一数据采集模块对应的目标采集数据。37.具体的,在daq数据采集机制下,预设采集缓存区域可以包括有多个缓存odt,将该多个缓存odt分配给多个数据采集模块,从而确定每一数据采集模块对应的至少一个缓存odt。38.在本说明书实施例中,如图2所示,上述根据预设采集缓存区域的预设数据容量、模块数据容量和数据采集周期,对多个数据采集模块进行缓存分配,确定多个数据采集模块各自对应的缓存区域可以包括:39.s201,基于预设数据容量与多个数据采集模块的模块数据容量之和,确定第一分配比例信息。40.具体的,第一分配比例信息可以用于衡量预设数据容量与多个数据采集模块的模块数据容量之和的比例情况。考虑到实际应用中将一个odt所包含的数据包装为一帧报文进行发送,因此,第一分配比例信息一般取预设数据容量与多个数据采集模块的模块数据容量之和的比值的整数值,舍弃小数部分。41.s203,在第一分配比例信息满足预设条件的情况下,基于数据采集周期的升序顺序,遍历多个数据采集模块。42.在一个具体的实施例中,预设条件可以为第一分配比例信息大于等于1。具体的,在第一分配比例信息大于等于1的情况下,预设数据容量大于等于多个数据采集模块的模块数据容量之和,可以进行缓存分配;在第一分配比例信息小于1的情况下,预设数据容量小于多个数据采集模块的模块数据容量之和,即预设采集缓存区域无法容纳对多个数据采集模块的任一次关联事件中的待采集数据进行采集后得到的目标采集数据,因此,车载终端报错,停止数据采集。43.s205,基于预设采集缓存区域的当前数据容量,确定当前遍历到的数据采集模块的第二分配比例信息,当前数据容量为预设数据容量与第一数据采集模块的缓存区域容量之和的差值,第一数据采集模块为多个数据采集模块中在当前遍历到的数据采集模块之前遍历的数据采集模块。44.具体的,第二分配比例信息可以为对应数据采集模块的缓存分配倍率,一般地,第二分配比例信息可以为整数。45.s207,基于第二分配比例信息和当前遍历到的数据采集模块的模块数据容量,确定当前遍历到的数据采集模块的缓存区域。46.具体的,根据第二分配比例信息和当前遍历到的数据采集模块的模块数据容量之积,确定当前遍历到的数据采集模块的缓存区域的缓存容量。47.由以上实施例可见,根据数据采集周期的升序顺序和模块数据容量,依次对多个数据采集模块进行缓存分配,提升缓存分配的灵活性和缓存区域的利用率。48.在一个可选的实施例中,如图3所示,上述基于预设采集缓存区域的当前数据容量,确定当前遍历到的数据采集模块的第二分配比例信息可以包括:49.s301,基于第三分配比例信息和当前遍历到的数据采集模块的模块数据容量,确定当前遍历到的数据采集模块的初始缓存容量,第三分配比例信息为第一分配比例信息与第一预设比例调整信息之和。50.具体的,第一预设比例调整信息可以对第一分配比例信息进行调整,得到第三分配比例信息。在实际应用中,第一预设比例调整信息可以根据实际应用中的第一分配比例信息进行设置,一般的,第一预设比例调整信息为整数,可选的,第一预设比例调整信息可以为1。51.具体的,根据第三分配比例信息和当前遍历到的数据采集模块的模块数据容量之积,确定当前遍历到的数据采集模块的初始缓存容量。52.s303,在当前数据容量与初始缓存容量之差大于等于第二数据采集模块的模块数据容量之和的情况下,将第三分配比例信息作为第二分配比例信息,第二数据采集模块为多个数据采集模块中的未遍历数据采集模块。53.具体的,当前数据容量与初始缓存容量之差大于等于未遍历数据采集模块的模块数据容量之和,即在以第三分配比例信息完成当前遍历到的数据采集模块的缓存分配之后,预设采集缓存区域的剩余数据容量能够容纳未遍历数据采集模块的目标采集数据,因此,将第三分配比例信息作为当前遍历到的数据采集模块的第二分配比例信息。54.在另一个可选的实施例中,如图4所示,在上述基于第三分配比例信息和当前遍历到的数据采集模块的模块数据容量,确定当前遍历到的数据采集模块的初始缓存容量之后,上述方法还可以包括:55.s305,在当前数据容量与初始缓存容量之差小于第二数据采集模块的模块数据容量之和的情况下,将第一分配比例信息作为第二分配比例信息。56.具体的,当前数据容量与初始缓存容量之差小于未遍历数据采集模块的模块数据容量之和,即在以第三分配比例信息完成当前遍历到的数据采集模块的缓存分配之后,预设采集缓存区域的剩余数据容量不能容纳未遍历数据采集模块的目标采集数据,因此,不对第一分配比例信息进行调整,直接将第一分配比例信息作为当前遍历到的数据采集模块的第二分配比例信息。57.以预设采集缓存区域的预设数据容量为16个odt为例,四个数据采集模块对应的模块数据容量和数据采集周期如下表所示:58.标识信息数据采集周期模块数据容量数据采集模块010ms2个odt数据采集模块120ms4个odt数据采集模块250ms3个odt数据采集模块3100ms2个odt59.首先,确定第一分配比例信息为16/(2+4+3+2)=16/11=1。60.根据数据采集周期的升序顺序,第一个遍历数据采集模块0,故先为数据采集模块0分配缓存区域。以第一预设比例调整信息为1为例,数据采集模块0的第三分配比例信息为1+1=2,则数据采集模块0的初始缓存容量为(1+1)×2=4个odt。因为当前数据容量与初始缓存容量之差为12个odt,大于未遍历数据采集模块的模块数据容量之和,即4+3+2=9个odt,因此,将第三分配比例信息2作为数据采集模块0的第二分配比例信息,数据采集模块0的缓存区域的缓存容量为2×2=4个odt。61.接着,遍历数据采集模块1,为数据采集模块1分配缓存区域。数据采集模块1的第三分配比例信息为2,初始缓存容量为(1+1)×4=8个odt。此时当前数据容量为16-4=12个odt,当前数据容量与初始缓存容量之差为4个odt,小于未遍历数据采集模块的模块数据容量之和,即3+2=5个odt,因此,将第一分配比例信息1作为数据采集模块1的第二分配比例信息,数据采集模块1的缓存区域的缓存容量为1×4=4个odt。62.以此类推,最终四个数据采集模块的缓存区域的分配情况如下表所示:[0063][0064]由以上实施例可见,综合考虑当前遍历到的数据采集模块的缓存分配和未遍历数据采集模块的缓存分配,提升缓存分配的合理性和普适性,从而提升缓存区域的利用率。[0065]s105,当多个数据采集模块各自对应的关联事件被触发时,根据多个数据采集模块中的数据采集信息,分别对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据。[0066]在一个具体的实施例中,数据采集信息可以包括:待采集数据对应的数据长度和数据地址,上述根据多个数据采集模块中的数据采集信息,分别对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据可以包括:[0067]根据多个数据采集模块中待采集数据对应的数据长度和数据地址,分别对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据。[0068]在一个具体的实施例中,在上述根据多个数据采集模块中待采集数据对应的数据长度和数据地址,分别对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据之前,上述方法还可以包括:[0069]1)接收上位机发送的数据采集请求,数据采集请求携带有待采集数据对应的数据长度、数据地址和数据采集周期;[0070]2)响应于数据采集请求,将待采集数据对应的数据长度和数据地址分别添加到与待采集数据的数据采集周期对应的数据采集模块中;[0071]3)基于多个数据采集模块中待采集数据对应的数据长度和数据地址,分别确定多个数据采集模块各自对应的关联事件。[0072]具体的,每一数据采集模块的关联事件每隔对应数据采集周期发生一次,可选的实施例中,多个数据采集周期相同的数据采集模块可以与同一关联事件对应。[0073]s107,将目标采集数据存储到多个数据采集模块各自对应的缓存区域。[0074]在一个具体的实施例中,在上述将目标采集数据存储到多个数据采集模块各自对应的缓存区域之后,上述方法还可以包括:将缓存区域中的目标采集数据分别发送到上位机。[0075]由以上实施例可见,响应于每隔数据采集周期发生的关联事件,根据多个数据采集模块中待采集数据对应的数据长度和数据地址,对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据,将目标采集数据存储到对应的缓存区域,并发送到上位机,提升数据采集的实时性和可靠性。[0076]在一个具体的实施例中,在第三数据采集模块的缓存区域的过载次数超过预设阈值的情况下,第三数据采集模块为多个数据采集模块中任一数据采集模块,如图5所示,上述方法还可以包括:[0077]s109,获取预设采集缓存区域的释放缓存容量,释放缓存容量为预设数据容量与多个数据采集模块的缓存区域容量之和的差值。[0078]s111,基于释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域。[0079]具体的,上述预设阈值可以结合实际应用中数据缓存模块的过载情况和缓存调整需求进行预先设置。[0080]具体的,第二预设比例调整信息,可以用于对第二分配比例信息进行调整,从而更新数据采集模块的缓存区域。可选的,第二预设比例调整信息可以与上述第一预设比例调整信息为同一数值,也可以结合实际应用中第三数据采集模块的缓存区域的过载情况对第二预设比例调整信息单独进行设置,一般的,第二预设比例调整信息为整数。[0081]由以上实施例可见,当存在数据采集模块的缓存区域的过载次数超过预设阈值时,基于预设采集缓存区域的释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域,提升缓存区域更新的灵活性和合理性,有效缓解缓存区域的过载问题。[0082]在一个可选的实施例中,如图6所示,上述基于释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域可以包括:[0083]s601,基于第三数据采集模块的模块数据容量与第二预设比例调整信息,确定第三数据采集模块的缓存调整容量。[0084]具体的,基于第三数据采集模块的模块数据容量与第二预设比例调整信息之积,确定第三数据采集模块的缓存调整容量。[0085]s603,在第三数据采集模块的缓存调整容量小于等于释放缓存容量的情况下,基于第三数据采集模块的缓存调整容量,增加第三数据采集模块的缓存区域的数据容量,得到第三数据采集模块的目标缓存容量。[0086]s605,基于第三数据采集模块的目标缓存容量,对第三数据采集模块的缓存区域进行更新,得到第三数据采集模块的更新缓存区域。[0087]具体的,在第三数据采集模块的缓存调整容量小于等于释放缓存容量的情况下,预设采集缓存区域的释放缓存容量能够满足第三数据采集模块的缓存调整需求,因此,基于第三数据采集模块的缓存调整容量,增加第三数据采集模块的缓存区域的数据容量,从而对第三数据采集模块的缓存区域进行更新。[0088]在另一个可选的实施例中,在第三数据采集模块的缓存调整容量大于释放缓存容量的情况下,预设采集缓存区域的释放缓存容量不能够满足第三数据采集模块的缓存调整需求,因此,通过调整未出现过载的数据采集模块的缓存区域,释放更多的缓存容量来对第三数据采集模块的缓存区域进行更新。具体的,如图7所示,在上述基于第三数据采集模块的模块数据容量与第二预设比例调整信息,确定第三数据采集模块的缓存调整容量之后,上述方法还可以包括:[0089]s607,在第三数据采集模块的缓存调整容量大于释放缓存容量的情况下,基于数据采集周期的降序顺序,对多个数据采集模块中未出现过载的数据采集模块进行排序,得到目标数据采集模块。[0090]s609,基于目标数据采集模块中第一个数据采集模块的模块数据容量与第二预设比例调整信息,确定第一个数据采集模块的缓存调整容量。[0091]具体的,基于第一个数据采集模块的模块数据容量与第二预设比例调整信息之积,确定第一个数据采集模块的缓存调整容量。[0092]s611,基于第一个数据采集模块的缓存调整容量,减少第一个数据采集模块的缓存区域的数据容量,得到第一个数据采集模块的目标缓存容量。[0093]s613,基于第一个数据采集模块的目标缓存容量,对第一个数据采集模块的缓存区域进行更新,得到第一个数据采集模块的更新缓存区域。[0094]s615,基于第一个数据采集模块的缓存调整容量,更新释放缓存容量,得到更新后的释放缓存容量。[0095]s617,基于第一个数据采集模块,更新目标数据采集模块,得到更新后的目标数据采集模块。[0096]s619,基于更新后的目标数据采集模块,重复执行基于数据采集周期的降序顺序,对多个数据采集模块中未出现过载的数据采集模块进行排序,得到目标数据采集模块至基于第一个数据采集模块的缓存调整容量,更新释放缓存容量,得到更新后的释放缓存容量的容量更新步骤,直至第三数据采集模块的缓存调整容量小于等于当前释放缓存容量。[0097]s621,基于第三数据采集模块的缓存调整容量,增加第三数据采集模块的缓存区域的数据容量,得到第三数据采集模块的目标缓存容量。[0098]s623,基于第三数据采集模块的目标缓存容量,对第三数据采集模块的缓存区域进行更新,得到第三数据采集模块的更新缓存区域。[0099]具体的,基于数据采集周期的降序顺序,对多个数据采集模块中未出现过载的数据采集模块依次进行缓存容量调整,直至当前释放缓存容量能够满足第三数据采集模块的缓存容量调整需求。[0100]由以上实施例可见,在预设采集缓存区域的释放缓存容量能够满足过载数据采集模块的缓存调整需求的情况下,直接增加过载数据采集模块的缓存容量;在预设采集缓存区域的释放缓存容量不能够满足过载数据采集模块的缓存调整需求的情况下,通过调整未出现过载的数据采集模块的缓存区域,释放更多的缓存容量以满足过载数据采集模块的缓存调整需求,能够合理分配缓存资源,提升缓存更新的灵活性和缓存区域的利用率,从而有效缓解缓存区域的过载问题。[0101]由以上说明书实施例提供的技术方案可见,一方面,通过获取多个数据采集模块对应的模块数据容量和数据采集周期,根据数据采集周期的升序顺序和模块数据容量,遍历多个数据采集模块,综合考虑当前遍历到的数据采集模块的缓存分配和未遍历数据采集模块的缓存分配,提升缓存分配的灵活性和普适性,从而提升缓存区域的利用率;另一方面,当存在数据采集模块的缓存区域的过载次数超过预设阈值时,在预设采集缓存区域的释放缓存容量能够满足过载数据采集模块的缓存调整需求的情况下,直接增加过载数据采集模块的缓存容量;在预设采集缓存区域的释放缓存容量不能够满足过载数据采集模块的缓存调整需求的情况下,通过调整未出现过载的数据采集模块的缓存区域,释放更多的缓存容量以满足过载数据采集模块的缓存调整需求,能够合理分配缓存资源,提升缓存更新的灵活性和缓存区域的利用率,从而有效缓解缓存区域的过载问题;另一方面,响应于每隔数据采集周期发生的关联事件,根据多个数据采集模块中待采集数据对应的数据长度和数据地址,对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据,将目标采集数据存储到对应的缓存区域,并发送到上位机,提升数据采集的实时性和可靠性。[0102]本技术实施例提供了一种数据采集装置,如图8所示,上述装置可以包括:[0103]获取模块810,用于获取多个数据采集模块对应的模块数据容量和数据采集周期;[0104]缓存分配模块820,用于根据预设采集缓存区域的预设数据容量、模块数据容量和数据采集周期,对多个数据采集模块进行缓存分配,确定多个数据采集模块各自对应的缓存区域;[0105]数据采集模块830,用于当多个数据采集模块各自对应的关联事件被触发时,根据多个数据采集模块中的数据采集信息,分别对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据;[0106]数据存储模块840,用于将目标采集数据存储到多个数据采集模块各自对应的缓存区域。[0107]在本说明书实施例中,上述缓存分配模块820可以包括:[0108]第一分配比例信息单元,用于基于预设数据容量与多个数据采集模块的模块数据容量之和,确定第一分配比例信息;[0109]遍历单元,用于在第一分配比例信息满足预设条件的情况下,基于数据采集周期的升序顺序,遍历多个数据采集模块;[0110]第二分配比例信息单元,用于基于预设采集缓存区域的当前数据容量,确定当前遍历到的数据采集模块的第二分配比例信息,当前数据容量为预设数据容量与第一数据采集模块的缓存区域容量之和的差值,第一数据采集模块为多个数据采集模块中在当前遍历到的数据采集模块之前遍历的数据采集模块;[0111]缓存区域确定单元,用于基于第二分配比例信息和当前遍历到的数据采集模块的模块数据容量,确定当前遍历到的数据采集模块的缓存区域。[0112]在一个可选的实施例中,上述第二分配比例信息单元可以包括:[0113]初始缓存容量确定单元,用于基于第三分配比例信息和当前遍历到的数据采集模块的模块数据容量,确定当前遍历到的数据采集模块的初始缓存容量,第三分配比例信息为第一分配比例信息与第一预设比例调整信息之和;[0114]第一分配比例确定单元,用于在当前数据容量与初始缓存容量之差大于等于第二数据采集模块的模块数据容量之和的情况下,将第三分配比例信息作为第二分配比例信息,第二数据采集模块为多个数据采集模块中的未遍历数据采集模块。[0115]在另一个可选的实施例中,上述第二分配比例信息单元还可以包括:[0116]第二分配比例确定单元,用于在当前数据容量与初始缓存容量之差小于第二数据采集模块的模块数据容量之和的情况下,将第一分配比例信息作为第二分配比例信息。[0117]在一个具体的实施例中,上述装置还可以包括:[0118]目标采集数据发送模块,用于将缓存区域中的目标采集数据分别发送到上位机。[0119]在一个具体的实施例中,在第三数据采集模块的缓存区域的过载次数超过预设阈值的情况下,第三数据采集模块为多个数据采集模块中任一数据采集模块,上述装置还可以包括:[0120]释放缓存容量获取模块,用于获取预设采集缓存区域的释放缓存容量,释放缓存容量为预设数据容量与多个数据采集模块的缓存区域容量之和的差值;[0121]缓存区域更新模块,用于基于释放缓存容量和第二预设比例调整信息,更新多个数据采集模块的缓存区域。[0122]在一个可选的实施例中,上述缓存区域更新模块可以包括:[0123]第一缓存调整容量确定单元,用于基于第三数据采集模块的模块数据容量与第二预设比例调整信息,确定第三数据采集模块的缓存调整容量;[0124]第一目标缓存容量单元,用于在第三数据采集模块的缓存调整容量小于等于释放缓存容量的情况下,基于第三数据采集模块的缓存调整容量,增加第三数据采集模块的缓存区域的数据容量,得到第三数据采集模块的目标缓存容量;[0125]第一更新缓存区域单元,用于基于第三数据采集模块的目标缓存容量,对第三数据采集模块的缓存区域进行更新,得到第三数据采集模块的更新缓存区域。[0126]在另一个可选的实施例中,上述缓存区域更新模块还可以包括:[0127]目标数据采集模块单元,用于在第三数据采集模块的缓存调整容量大于释放缓存容量的情况下,基于数据采集周期的降序顺序,对多个数据采集模块中未出现过载的数据采集模块进行排序,得到目标数据采集模块;[0128]第二缓存调整容量确定单元,用于基于目标数据采集模块中第一个数据采集模块的模块数据容量与第二预设比例调整信息,确定第一个数据采集模块的缓存调整容量;[0129]第二目标缓存容量单元,用于基于第一个数据采集模块的缓存调整容量,减少第一个数据采集模块的缓存区域的数据容量,得到第一个数据采集模块的目标缓存容量;[0130]第二更新缓存区域单元,用于基于第一个数据采集模块的目标缓存容量,对第一个数据采集模块的缓存区域进行更新,得到第一个数据采集模块的更新缓存区域;[0131]释放缓存容量更新单元,用于基于第一个数据采集模块的缓存调整容量,更新释放缓存容量,得到更新后的释放缓存容量;[0132]目标数据采集模块更新单元,用于基于第一个数据采集模块,更新目标数据采集模块,得到更新后的目标数据采集模块;[0133]重复执行单元,用于基于更新后的目标数据采集模块,重复执行基于数据采集周期的降序顺序,对多个数据采集模块中未出现过载的数据采集模块进行排序,得到目标数据采集模块至基于第一个数据采集模块的缓存调整容量,更新释放缓存容量,得到更新后的释放缓存容量的容量更新步骤,直至第三数据采集模块的缓存调整容量小于等于当前释放缓存容量;[0134]第三目标缓存容量单元,用于基于第三数据采集模块的缓存调整容量,增加第三数据采集模块的缓存区域的数据容量,得到第三数据采集模块的目标缓存容量;[0135]第三更新缓存区域单元,用于基于第三数据采集模块的目标缓存容量,对第三数据采集模块的缓存区域进行更新,得到第三数据采集模块的更新缓存区域。[0136]需要说明的是,所述装置实施例中的装置与方法实施例基于同样的发明构思。[0137]本技术实施例提供了一种数据采集设备,该数据采集设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的数据采集方法。[0138]存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据上述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。[0139]本技术实施例所提供的方法实施例可以在车载终端或者类似的运算装置中执行,即上述数据采集设备可以包括车载终端或者类似的运算装置。[0140]本技术实施例还提供了一种存储介质,上述存储介质可设置于数据采集设备之中以保存用于实现方法实施例中一种的数据采集方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的数据采集方法。[0141]可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。[0142]由上述本技术提供数据采集方法、装置、设备或存储介质的实施例可见,利用本说明书实施例提供的技术方案,一方面,通过获取多个数据采集模块对应的模块数据容量和数据采集周期,根据数据采集周期的升序顺序和模块数据容量,遍历多个数据采集模块,综合考虑当前遍历到的数据采集模块的缓存分配和未遍历数据采集模块的缓存分配,提升缓存分配的灵活性和普适性,从而提升缓存区域的利用率;另一方面,当存在数据采集模块的缓存区域的过载次数超过预设阈值时,在预设采集缓存区域的释放缓存容量能够满足过载数据采集模块的缓存调整需求的情况下,直接增加过载数据采集模块的缓存容量;在预设采集缓存区域的释放缓存容量不能够满足过载数据采集模块的缓存调整需求的情况下,通过调整未出现过载的数据采集模块的缓存区域,释放更多的缓存容量以满足过载数据采集模块的缓存调整需求,能够合理分配缓存资源,提升缓存更新的灵活性和缓存区域的利用率,从而有效缓解缓存区域的过载问题;另一方面,响应于每隔数据采集周期发生的关联事件,根据多个数据采集模块中待采集数据对应的数据长度和数据地址,对关联事件中的待采集数据进行数据采集,得到多个数据采集模块对应的目标采集数据,将目标采集数据存储到对应的缓存区域,并发送到上位机,提升数据采集的实时性和可靠性。[0143]需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。[0144]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0145]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0146]以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1