发明名称 一种在趋势曲线系统中实现高效数据缓存的方法
摘要 一种在趋势曲线系统中实现高效数据缓存的方法,涉及一种在趋势曲线分析系统中实现快速流畅图形化显示的方法。本发明使用一定的内存空间来优化存储数据,充分利用现有的数据(既包括原始数据,也包括处理后的显示数据),从而大大降低数据请求频率以及由此带来的数据获取和数据传输所产生的系统开销。该方法的核心是对数据进行优化存储,实质就是对内存区域的管理和操作。将获取到的原始数据进行优化存储,在后续需要数据时优先从存储区中读取,大大减少了从外部重复获取数据的概率,显著缩短了趋势曲线显示时的响应时间。
申请公布号 CN103645873B 申请公布日期 2016.08.03
申请号 CN201310659182.9 申请日期 2013.12.06
申请人 北京首钢自动化信息技术有限公司 发明人 彭会军;周月杰;蒋学军;李亮举;李彦斌
分类号 G06F3/14(2006.01)I 主分类号 G06F3/14(2006.01)I
代理机构 北京华谊知识产权代理有限公司 11207 代理人 刘建民
主权项 一种在趋势曲线系统中实现高效数据缓存的方法,其特征在于:外部服务器中保存全部原始数据,当需要对趋势曲线进行显示过程中,由存储区向外部服务器请求需要显示的数据;存储区开辟:将数据缓存分为源数据存储区和显示存储区,源数据存储区用于缓存从外部获取到的、未经任何处理的原始数据;显示存储区用于缓存从源数据存储区读取并经过相应处理的数据,这些数据用于直接显示;源数据存储区大小根据显示器的分辨率、最大压缩比和支持显示画面的拖动页面数计算得到,具体的计算方法是:源数据存储区大小=最大压缩比*最大压缩情况下可拖动的页面数*一个页面的像素值;显示存储区只需要考虑显示器的分辨率和支持拖动操作的连续页面切换,显示存储区=可拖动的页面数*一个页面的像素值;源数据存储区和显示存储区均有自己的头索引和尾索引,源数据存储区的头尾索引是当前源数据循环数组的边界,显示存储区的头尾索引是当前显示数据循环数组中需要显示到屏幕的数据的边界;源数据存储区和显示存储区分别有一组指针,用于关联源数据存储区和显示存储区,分别是左指针对和右指针对;左指针对用于定位远时点,一个指向显示存储区远时点侧已加载数的索引,另一个指向对应的源数据存储区远时点侧的已加载数的索引;右指针对用于定位近时点,一个指向显示存储区近时点侧已加载数的索引,另一个指向对应的源数据存储区近时点侧的已加载数的索引;首次显示过程中,根据显示要求,从外部服务器获取需要显示的数据后,将数据存入源数据存储区,同时调整源数据存储区的头尾索引,然后根据当前曲线显示的要求,将源数据存储区的数据经过处理以后加载到显示存储区,所述的经过处理是指显示的X轴坐标计算,以及数据压缩情况下的压缩计算;调整显示存储区的头尾索引以及左右指针对,将头尾索引分别指向显示存储区已加载数据的头尾位置;如果进行曲线拖动,首先检查显示存储区是否有足够的数据,如有足够数据,将显示存储区的头尾索引调整到需要显示的两端边界点,否则需要从源数据存储区加载数据,调整左右指针对,将需要显示的数据范围写入显示存储区,如果源数据存储区数据不足,则需要从外部服务器读取数据;如果对曲线进行缩放处理,则需要重置显示存储区的数据,再从源数据存储区加载数据,当源数据存储区数据不足时,需要从外部服务器读取数据,然后再次补充加载数据到显示存储区;当移除曲线时,存储区所使用的内存数据将被释放;所述的最大压缩比是对趋势曲线图形进行压缩处理时,最多可由多少个源数据点处理得到一个显示数据点;所述的可拖动页面数是存储区所能容纳的总数据量/当前显示画面对应的数据量;所述的远时点是距离当前时间最远的数据点,所述的近时点是距离当前时间最近的数据点。
地址 100041 北京市石景山区石门路一号