目标:实现数据的变频存储。
情形:在机器正常运行的情况下采样10条存储一条,在机器发生故障的情形下,将发生故障的前后5条共10条数据存储起来。设想:将得到的采样数据先从上至下压入堆栈中。并与此时判断第五条数据是否存在故障,如存在故障。则将此堆栈中的数据(10条)存入文件存储队列中,如无故障,则继续进行,另用计数器判断当堆栈记录了10条数据并都无故障时,将第10条存入存储队列中。重复进行,并另用一线程实现定时将存储队列中的数据存入文件中并清空存储队列。问题:连续故障及间隔故障发生时,如何处理?如存,则含有重复数据,如清空堆栈,则可能丢失数据。
情形:在机器正常运行的情况下采样10条存储一条,在机器发生故障的情形下,将发生故障的前后5条共10条数据存储起来。设想:将得到的采样数据先从上至下压入堆栈中。并与此时判断第五条数据是否存在故障,如存在故障。则将此堆栈中的数据(10条)存入文件存储队列中,如无故障,则继续进行,另用计数器判断当堆栈记录了10条数据并都无故障时,将第10条存入存储队列中。重复进行,并另用一线程实现定时将存储队列中的数据存入文件中并清空存储队列。问题:连续故障及间隔故障发生时,如何处理?如存,则含有重复数据,如清空堆栈,则可能丢失数据。
解决方案 »
- C#中进程的暂停和继续
- 一个怪问题
- 关于VS2010中的ReportViewer的一些问题 急!
- 一个打开新窗口的问题
- 我想问一下~ 从工具栏里拖一个dataset和自己写的dataset有没有什么不同
- vs2008的msdn帮助中没有office开发方面的类库,在微软的网站上找了半天也没找到下载的地方,谁能提供一个msdn中office开发文档的链接,其中应有microsoft.office.tools.word命名空间和类库。
- 与ComboBox有关的问题,有点复杂
- 如何做到禁止打印?
- 求助,c#中怎么样把form上的控件值传递给报表中的控件
- 求:C#简单编写计算器代码
- 为什么我的VS2005在保存文件时,经常提示“未能完成操作。拒绝访问。”?
- 获取网页转向的地址
是如此的,但现在的问题是,如果栈中第五条异常,全队复制。但此时栈中第三条也有故障怎么办?以第三条为中,前后五条的记录如何取?(间隔异常!)
另连续故障时亦不好处理。
数据|是否有问题|是否存储
....|Y/N |Y/N1.
问题数据查找循环:如果当前条[是否有问题=Y]将当前条\前4条\后5条[是否存储设为Y]
2.
正常采样循环:指针每下移9次,将当前条[是否存储设为Y]3.入库将所有[是否存储=Y]的入库,清队
能写一个函数嘛?
把你的数据结构帖出来我直接改来得快 .主要是数据结构中增加一项,"标记" ,类型为bool就可以然后就是你的故障处理代码中,加入栈内数据的状态检查就可以,别的都一样.