System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据采集和处理,特别是涉及一种数据缓冲区的管理方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、数据采集和处理技术已经广泛应用于互联网信息技术、工业生产、科学技术研究及分布式领域,作用和地位越来越重要。现代科学技术各个领域都离不开最基础的数据采集和信息交换,数据采集系统已经在军事、航空航天设备、工业、交通、医疗等各行各业领域被广泛应用。
2、在实际工程应用中,不同类型信号的采样速率和传输速度及大小参数都需要根据实际使用的需求而定,特别是在一些需要对数据进行实时跟踪处理的应用场合,随着采集通道的数量的增多,数据采集系统对数据存储、处理功能需要用到的硬件资源配置要求也随之提高,硬件配置的冗余带来了成本的提升。
3、然而,实际应用当中并不是每一个数据采集通道都需要用到最高数量的数据缓冲资源,缓冲区的大小决定了数据传输的最小单元,缓冲区的数量决定了数据传输的有效性,缓冲区数量多,数据传输更可靠,但是也浪费存储空间,如果每个数据采集通道都分配固定大小和固定个数的缓冲区,那么为了应对最高要求的使用条件,硬件配置的要求就会极高,同样,在有限的硬件条件下,往往只能减少采集系统的最大数据采集通道数来处理,如何提升硬件资源的利用率是先进数据采集系统需要解决的首要问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够在有限的硬件条件下提升硬件资源的利用率从而提升数据采集效率的数据缓冲区的管理方法、装置、计算机设备、计算机可读存储介质和计算
2、一方面,本申请提供了一种数据缓冲区的管理方法,包括:
3、获取数据采集通道关联的缓冲区序列,所述缓冲区序列包括的多个缓冲区位于不同的连续地址空间内,不同数据采集通道的缓冲区序列中相同次序的缓冲区属于相同的连续地址空间;
4、接收到所述数据采集通道关联的写操作,确定所述数据采集通道的当前写缓冲区;
5、在所述当前写缓冲区已满的情况下,确定所述当前写缓冲区在所述缓冲区序列中的次序,并基于所述次序确定目标写缓冲区;
6、获取正在执行的读操作关联的读缓冲区,在所述读缓冲区与所述目标写缓冲区不重叠的情况下,确定所述目标写缓冲区的写地址;
7、向所述写地址写入所述写操作关联的采集数据。
8、在其中一个实施例中,所述基于所述次序确定目标写缓冲区,包括:
9、若所述次序表征所述当前写缓冲区为所述缓冲区序列的最后一个缓冲区,则将所述缓冲区序列的首个缓冲区确定为目标写缓冲区;
10、若所述次序表征所述当前写缓冲区为所述缓冲区序列的非最后一个缓冲区,则将所述缓冲区序列中所述次序的下一个次序所指示的缓冲区作为目标写缓冲区。
11、在其中一个实施例中,所述方法还包括:在所述当前写缓冲区未满的情况下,调整所述当前写缓冲区的偏移量;
12、对所述当前写缓冲区的起始地址,以及调整后的所述当前写缓冲区的偏移量进行求和,得到所述当前写缓冲区的写地址;
13、向所述写地址写入所述写操作关联的采集数据。
14、在其中一个实施例中,所述基于所述次序确定目标写缓冲区之后,所述方法还包括:
15、调整所述目标写缓冲区的偏移量;
16、所述确定所述目标写缓冲区的写地址,包括:
17、确定所述目标写缓冲区的目标起始地址;
18、对所述目标起始地址,以及调整后的所述目标写缓冲区的偏移量进行求和,得到所述目标写缓冲区的写地址。
19、在其中一个实施例中,所述获取数据采集通道关联的缓冲区序列,包括:
20、获取数据采集通道关联的缓存配置参数;
21、通过所述缓存配置参数,确定所述数据采集通道在多个连续地址空间内的缓冲区;
22、依据多个连续地址空间的顺序,对每个缓冲区排序,得到数据采集通道关联的缓冲区序列。
23、在其中一个实施例中,所述方法还包括:
24、获取所述数据采集通道的累计写缓冲区计数,以及所述数据采集通道的累计读缓冲区计数;
25、确定所述累计写缓冲区计数与所述累计读缓冲区计数之间的差值;
26、若所述差值小于等于所述数据采集通道关联的缓冲区的总数,则确定所述读缓冲区与目标写缓冲区不重叠。
27、另一方面,本申请还提供了一种数据缓冲区的管理装置,包括:
28、获取模块,用于获取数据采集通道关联的缓冲区序列,所述缓冲区序列包括的多个缓冲区位于不同的连续地址空间内,不同数据采集通道的缓冲区序列中相同次序的缓冲区属于相同的连续地址空间;
29、第一确定模块,用于接收到所述数据采集通道关联的写操作,确定所述数据采集通道的当前写缓冲区;
30、第二确定模块,用于在所述当前写缓冲区已满的情况下,确定所述当前写缓冲区在所述缓冲区序列中的次序,并基于所述次序确定目标写缓冲区;
31、第三确定模块,用于获取正在执行的读操作关联的读缓冲区,在所述读缓冲区与所述目标写缓冲区不重叠的情况下,确定所述目标写缓冲区的写地址;
32、写入模块,用于向所述写地址写入所述写操作关联的采集数据。
33、另一方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34、获取数据采集通道关联的缓冲区序列,所述缓冲区序列包括的多个缓冲区位于不同的连续地址空间内,不同数据采集通道的缓冲区序列中相同次序的缓冲区属于相同的连续地址空间;
35、接收到所述数据采集通道关联的写操作,确定所述数据采集通道的当前写缓冲区;
36、在所述当前写缓冲区已满的情况下,确定所述当前写缓冲区在所述缓冲区序列中的次序,并基于所述次序确定目标写缓冲区;
37、获取正在执行的读操作关联的读缓冲区,在所述读缓冲区与所述目标写缓冲区不重叠的情况下,确定所述目标写缓冲区的写地址;
38、向所述写地址写入所述写操作关联的采集数据。
39、另一方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
40、获取数据采集通道关联的缓冲区序列,所述缓冲区序列包括的多个缓冲区位于不同的连续地址空间内,不同数据采集通道的缓冲区序列中相同次序的缓冲区属于相同的连续地址空间;
41、接收到所述数据采集通道关联的写操作,确定所述数据采集通道的当前写缓冲区;
42、在所述当前写缓冲区已满的情况下,确定所述当前写缓冲区在所述缓冲区序列中的次序,并基于所述次序确定目标写缓冲区;
43、获取正在执行的读操作关联的读缓冲区,在所述读缓冲区与所述目标写缓冲区不重叠的情况下,确定所述目标写缓冲区的写地址;
44、向所述写地址写入所述写操本文档来自技高网...
【技术保护点】
1.一种数据缓冲区的管理方法,其特征在于,方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述次序确定目标写缓冲区,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述次序确定目标写缓冲区之后,所述方法还包括:
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述获取数据采集通道关联的缓冲区序列,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种数据缓冲区的管理装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时
...【技术特征摘要】
1.一种数据缓冲区的管理方法,其特征在于,方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述次序确定目标写缓冲区,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述次序确定目标写缓冲区之后,所述方法还包括:
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述获取数据采集通道关联的缓冲区序列,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
【专利技术属性】
技术研发人员:何世烈,陈义强,周振威,刘俊斌,俞鹏飞,孟苓辉,余陆斌,路国光,许洋东,
申请(专利权)人:中国电子产品可靠性与环境试验研究所工业和信息化部电子第五研究所中国赛宝实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。