按照时间顺序比较的大块数据存储方法讨论【C语言】
有时间顺序的较大块数据存储方法讨论
背景
在实时系统中,数据等周期更新,每次更新N个数据。每次采集数据后,重当前时刻向前推M2个时刻,统计(M2N)幅度信息。下面举例说明。
下图是有N个采样点,连续采集M个时刻,其中保留(M-M2+1)个时刻的数据。现在要求在数组A内,统计对每个采样点,在TM-M1到TM内(其中M2<M1<M),采样值大于阈值TH的点的个数。结果是一个1N的向量。存储与检索进行分析。
问题分析
从背景介绍中可知,数据十分庞大,同时需要实时处理,并且要求处理数据时间连续。因此,需要在尽可能短的时间内,完成数据统计。如果直接操作数据缓存,则当连续采样次数大于缓存的高度后,有两种处理方法:一是数据块需要循环存储,这需要对每一次判断大小前,需要判断指针是否越界,时间提高1倍以上;二是数据顺序存储,每一次采集数据前