实时修改方案

 1.BasicState 流式计算如果修改为并行计算,最后结果要做整合的。这也没啥。创建4个参数对象传递

,线程之后根据参数整合成一个。

     
     2. 数据三级存储,1级内存 2级sqllite 3级sql
      
       1级内存只存重要数据。2级现在不做,数据多存在内存中。 3级sql

       必须顺序执行的,所有的都通过内存LIST做存储。2000条*20K 40000K 40MB


     3. 所有的Dictionary不再依赖定时插入,而是存入Dictionary内存

        我可以建立14个Dictionary Dictionary<sucode, package>。这样搜索和插入会非常快。   
        建立14个线程,每个执行1个lsccode的执行。
        Dictionary可以直接在内存修改。
        Dictionary的修改可以建立委托,构造SQL语句。
        定时器通过整合的多条SQL语句批量执行。如果批量失败则回滚并单个循环执行。

     4.查询实时数据
        
        实时数据只保留半小时的。
        查询实时数据因为本质上计算较小速度较快,而查询多次拖慢,所以改成1次查询全部数据。
        这里整合成1次数据计算类。

     5.30秒执行1次其他告警,因为顺序的问题,不好做线程和并行。
 
        于是修改成按照14个线程执行,分别循环自己的sucode,去里面抽取所有告警并排序,按照告警处

理重要性顺序执行。
        SQL也可以统一提交执行。

     6.稽核计算状态回滚和前进要注意

        回滚(发电告警、市电恢复告警)的做法最简单的计算做成直接提取历史点并滚回,所有诊断不做

处理。
        复杂方式可以进一步考虑。
        自动前进: 数据算(发电、发电停止)。

     7.由稽核状态带来的未结束。没有24小时
         稽核状态带来的未结束,需要根据1小时结束规则。超过1小时油机停止,则认为数据自动结束标记

为3,通过12小时判断,如果已经结束12小时则不必要再拿来计算。
         

你可能感兴趣的:(实时修改方案)