请教数据存储方案
工业串口数据采集,共有十几个传感器,要求每个传感器每秒钟采集数据不低于10组。
串口通讯的每个数据包32字节,可以容纳5组数据+1个时间戳。
完毕后要绘制出综合的波形图,就是十几个传感器的波形绘制在同一个图表中,或者绘制在若干个的图表中,横轴是时间,都是根据需求而定了;也可以根据时间来查某个点的相关数据。因此不同数据之间必须根据时间戳能够识别相互之间的关联关系。
寻求个数据的存储方案,要求能够快速索引,快速查找,时序还原。
大型数据库方案不采纳,原因是若采用大型数据库方案,意味着每个客户端都要装数据库,SQL Express也不采纳。
Access也不采纳,不过Access如果当索引的话可以考虑。
比较想用文件方式存储了,例如二进制、XML等等。麻烦往这方面努力下。
------解决方案--------------------用工业实时数据库。
------解决方案--------------------如果你的数据不超过4G,那么使用 Sql Server Compact 就可以了。
------解决方案--------------------用XML吧,能快速索引,快速查
------解决方案--------------------如果你的意思是不想用别人开发的数据库、而是想自己创建一个结构可以序列化和反序列化存储的话,可以直接序列化你的类名存储,不过这样就不能混淆了。或者自己定义一个值类型存储顺序。另外要建比较快速高校的结构可以用 AVL树,红黑树,B树,B+树来存储,我最近也在学这个,还有些问题没搞清楚啊,欢迎探讨
------解决方案--------------------文件存储,然后根据差异去纪录到数据库。这样是不是可以。
------解决方案--------------------用Oracle吧,那个最稳定了,你用Web API开放Oracle的数据接口,那样只要有个服务器即可,所有客户端只要可以上网就能做数据对接,无需安装任何软件。
------解决方案--------------------这要看你的检索条件了,如果只是根据时间检索,可以采用二进制存储。每隔一段时间,如1分钟,存储一个文件。检索的时候先把文件读入道内存中,然后以时间戳为索引进行查找。关键是读入道内存中的数据格式,可以使用key,value的存储格式
------解决方案--------------------可以用 sqlite