历史数据分析,判断当前查询数据是否异常

just59277 2011-12-06 01:51:43
已知一台设备的历史运行数据,现要根据这些数据 判断当前查询数据是否异常 异常情况分以下几种:
1 数据突变:运行时发生异常导致数据突然变大 或者变下
2 开关机时间异常:设备启停时间一般在一个值上下波动 异常表现为提早关机 或关机延迟

数据中 有 设备 运行时间 运行数据 三个字段 设备关机时 运行数据为零

求解、、、、
...全文
342 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
just59277 2012-02-15
  • 打赏
  • 举报
回复
- -、说什么了 至于删回复?
烟波钓 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 just59277 的回复:]
引用 4 楼 sdl2005lyx 的回复:

看了你的需求,感觉思路有问题:
“1 数据突变:运行时发生异常导致数据突然变大 或者变下
2 开关机时间异常:设备启停时间一般在一个值上下波动 异常表现为提早关机 或关机延迟”

这两种异常,应该是在程序实时运行是产生,进行实时分析,同时给出“报警”!
历史数据,只是留下的“罪证”而已,数据浏览可以,不要在此数据上进行分析!

如……
[/Quote]我只能同情的说一句特别慢……
我的思路如下
1.把这些历史记录分批读到内存表中,完后遍历这个表,跟据具体的业务筛选条件 得出想要留下的记录信息(当然也可以存入另一张内存表)
2.完后对这些特殊的记录进行处理(为了速度,如果筛选条件不变的话,把这个经过的筛选的东西存档),
下次需要统计时,筛选条件没变的话,直接取新存档的东西,如果有变化,重新处理,重新存档
just59277 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sdl2005lyx 的回复:]

看了你的需求,感觉思路有问题:
“1 数据突变:运行时发生异常导致数据突然变大 或者变下
2 开关机时间异常:设备启停时间一般在一个值上下波动 异常表现为提早关机 或关机延迟”

这两种异常,应该是在程序实时运行是产生,进行实时分析,同时给出“报警”!
历史数据,只是留下的“罪证”而已,数据浏览可以,不要在此数据上进行分析!
[/Quote]
如果是现在就有这样的需求呢?
PaulyJiang 2011-12-08
  • 打赏
  • 举报
回复
在网上看看有什么样的解决办法,找出规律,就如分析同数学里面的找出一个函数来满足你当前的最多条件,
然后输入当前的条件得出当前的结果,即机器的运行情况

也是只能给出接近的结果,并不一定完全正确的
just59277 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 nicholas235 的回复:]

我想大体思路应该是这样的
1,先要找到“规则”就是说,哪些数据变化到什么程度才算是异常
2,这个规则从已有的数据中分析出来,比如:异常的运行数据 比正常的运行数据相差的百分比等
3,有了规则,就可以监控每一条新进来的实时数据,根据规则判断是否出现了异常
[/Quote]
嗯 是这样的 就是这个规则 我不知道该怎么找
nicholas235 2011-12-08
  • 打赏
  • 举报
回复
我想大体思路应该是这样的
1,先要找到“规则”就是说,哪些数据变化到什么程度才算是异常
2,这个规则从已有的数据中分析出来,比如:异常的运行数据 比正常的运行数据相差的百分比等
3,有了规则,就可以监控每一条新进来的实时数据,根据规则判断是否出现了异常

just59277 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yanbuodiao 的回复:]

引用 5 楼 just59277 的回复:
引用 4 楼 sdl2005lyx 的回复:

看了你的需求,感觉思路有问题:
“1 数据突变:运行时发生异常导致数据突然变大 或者变下
2 开关机时间异常:设备启停时间一般在一个值上下波动 异常表现为提早关机 或关机延迟”

这两种异常,应该是在程序实时运行是产生,进行实时分析,同时给出“报警”!
历史数据,只是留下的“罪证”而已,数……
[/Quote]

你这样说 感觉。。。问题是我不知道现在哪些数据是我想要留下的啊 我只能通过出现的频率 来判断数据 但是这个我又不知道怎么下手
sdl2005lyx 2011-12-07
  • 打赏
  • 举报
回复
看了你的需求,感觉思路有问题:
“1 数据突变:运行时发生异常导致数据突然变大 或者变下
2 开关机时间异常:设备启停时间一般在一个值上下波动 异常表现为提早关机 或关机延迟”

这两种异常,应该是在程序实时运行是产生,进行实时分析,同时给出“报警”!
历史数据,只是留下的“罪证”而已,数据浏览可以,不要在此数据上进行分析!
阿非 2011-12-06
  • 打赏
  • 举报
回复
取多少 这个就需要你设定了

然后取个平均值 在针对平均值设定个浮动值
just59277 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sandy945 的回复:]

就是文件读取,比对, 后续操作

那里有问题
[/Quote]

取历史数据 不可能只取一组,这样没什么可比性 取多组数据的话 存在开关机时间问题
如 每天制定的开机时间是9点 但是一般是9点左右(8:45到9:15)也算是正常
一天中 开关机次数 不固定
阿非 2011-12-06
  • 打赏
  • 举报
回复
就是文件读取,比对, 后续操作

那里有问题

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧