我在做一个实时监控系统,需要接收大量数据,实时显示的同时要存储,还可以随时查看历史的数据,我的问题有两个:
1、用什么存储?我在做实验的时候用的是文本文档,但是由于数据很多,不方便查看,类似工程上面主要用什么存储?是否要用到数据库?如果是,ADO还是ODBC或者别的,希望做过的给点建议
2、历史数据的查看以曲线图的形式显示数据的变化趋势,如何实现任意数据的查看,比如可以选择一个月的数据,也可以选择一年的数据同时显示在一个绘图区,由于数据太多,是否要用到什么算法优化或者取舍数据?如何绘制历史曲线由于以前没有学过数据库,如果能有类似的程序更加感谢,希望老大以及各位高手给点建议,,谢谢大家
1、用什么存储?我在做实验的时候用的是文本文档,但是由于数据很多,不方便查看,类似工程上面主要用什么存储?是否要用到数据库?如果是,ADO还是ODBC或者别的,希望做过的给点建议
2、历史数据的查看以曲线图的形式显示数据的变化趋势,如何实现任意数据的查看,比如可以选择一个月的数据,也可以选择一年的数据同时显示在一个绘图区,由于数据太多,是否要用到什么算法优化或者取舍数据?如何绘制历史曲线由于以前没有学过数据库,如果能有类似的程序更加感谢,希望老大以及各位高手给点建议,,谢谢大家
本地文件方式需要考虑数据量有多大的问题,可以使用MapFile来处理,效率上没有问题
对于数据进行采样、优化,比如如果用整形可以搞定的就不要使用浮点或字串,使用定长结构数据...多个文件、文件夹存储数据,文件系统本身也是一个tree结构,查询也不会有太大问题
根据你数据量的大小来选择备份周期,如果使用Access,注意别让Access文件太大;2, 要做历史数据的曲线图,尤其是像半年、一年以上的大数据量聚合,最好是单独做一个数据仓库,定时ETL数据到数据仓库,建一个Cube,再做几张曲线图的报表,查询起来效率会高很多,这个可以使用SQL Server的BI模块,不需要使用任何VC++的知识,跟算法也无关了,关键在于你的数据仓库架构和Cube的维度设计;
你在报表上的需求比较简单,自己查一下这方面的资料,应该不难;
日期维度也仅仅是年、月,如果需要更细粒度的数据,也可以加入日层次;
根据你数据量的大小来选择备份周期,如果使用Access,注意别让Access文件太大;2, 要做历史数据的曲线图,尤其是像半年、一年以上的大数据量聚合,最好是单独做一个数据仓库,定时ETL数据到数据仓库,建一个Cube,再做几张曲线图的报表,查询起来效率会高很多,这个可以使用SQL Server的BI模块,不需要使用任何VC++的知识,跟算法也无关了,关键在于你的数据仓库架构和Cube的维度设计;
你在报表上的需求比较简单,自己查一下这方面的资料,应该不难;
日期维度也仅仅是年、月,如果需要更细粒度的数据,也可以加入日层次;
如果是一天24小时不间断的接收数据,可以存到sqlite里,一天存一个文件,这样便于查询。