一种解决综合能源系统数据循环计算的方法、系统及设备与流程

文档序号:31714766发布日期:2022-10-04 21:20阅读:174来源:国知局
一种解决综合能源系统数据循环计算的方法、系统及设备与流程

1.本技术涉及数据循环计算技术领域,尤其涉及一种解决综合能源系统数据循环计算的方法、系统及设备。


背景技术:

2.综合能源系统主要是整合区域内风、光、储、充、冷、热、照明等多能系统,应用5g、电力物联等信息化技术,实现虚拟电厂、需求响应等典型价值场景。
3.现阶段,综合能源系统中数据的主要循环计算过程为:数据经物联前置服务采集,然后进行数据格式化,通过消息中间件kafka发送,大数据服务flink消费topic为cimdata数据,由于前端配置公式相互依赖会存在循环计算,即上一次的计算结果是下一次的输入值,所以会将计算结果回写cimdata,最后将计算结果写到主题,然后同步至时序数据库中。
4.但是,现有技术若进行公式拆分会导致配置工作量呈几何级增加,同时配置公式存在错误依赖情况下,仍可能导致循环计算;若不进行拆分,在前端配置公式存在相互依赖,没有设置终止条件来跳出循环,大数据服务会循环计算,新旧数据叠加,数据越来越大,导致内存泄漏,进而使程序运行不稳定,最终内存溢出无法正常工作。


技术实现要素:

5.针对现有技术的上述不足,本发明提供一种解决综合能源系统数据循环计算的方法、系统及设备,以解决上述技术问题。
6.第一方面,本技术提供了一种解决综合能源系统数据循环计算的方法,方法包括:s1、通过预设消息中间件发送消息数据至预设大数据服务方法;其中,消息数据至少包括:若干计算数据、第一消息主题、循环次数和公式编号;s2、根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果;将计算结果返回至预设消息中间件,且主题设置为第二消息主题;s3、当存在缓存结果或若干计算数据中的最小循环次数等于预设最大循环次数时,跳出循环;否则,将最小循环次数+1,并将计算结果回写至预设消息中间件,且主题设置为第一消息主题;s4、重复s2-s3,直至跳出循环。
7.进一步地,根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果,具体包括:根据计算数据和公式编号,预设大数据服务方法确定缓存中是否存在对应的缓存结果;直接获得缓存结果,或经过时间窗口处理消息数据,计算获得计算结果。
8.进一步地,方法还包括:通过预设大数据服务方法将计算数据和公式编号与计算结果之间的对应关系缓存至双序列数据集合,以便于集合中的计算结果作为缓存结果直接调用。
9.进一步地,方法还包括:通过预设大数据服务方法创建双序列数据集合;其中,双序列数据集合包含公式编号和计算集合,且计算集合由计算数据和计算结果组成。
10.第二方面,本技术提供了一种解决综合能源系统数据循环计算的系统,系统包括:
发送模块,用于通过预设消息中间件发送消息数据至预设大数据服务方法;其中,消息数据至少包括:若干计算数据、第一消息主题、循环次数和公式编号;返回模块,用于根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果;将计算结果返回至预设消息中间件,且主题设置为第二消息主题;还用于当存在缓存结果或若干计算数据中的最小循环次数等于预设最大循环次数时,跳出循环;否则,将最小循环次数+1,并将计算结果回写至预设消息中间件,且主题设置为第一消息主题;重复模块,用于重复运行返回模块,直至全部计算数据跳出循环。
11.进一步地,返回模块还包括计算单元;计算单元,用于根据计算数据和公式编号,预设大数据服务方法确定缓存中是否存在对应的缓存结果;直接获得缓存结果,或经过时间窗口处理消息数据,计算获得计算结果。
12.进一步地,返回模块还包括缓存单元;缓存单元,用于通过预设大数据服务方法将计算数据和公式编号与计算结果之间的对应关系缓存至双序列数据集合,以便于集合中的计算结果作为缓存结果直接调用。
13.第三方面,本技术提供了一种解决综合能源系统数据循环计算的设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种解决综合能源系统数据循环计算的方法。
14.本领域技术人员能够理解的是,本发明至少具有如下有益效果:引入formulaid和calcount,通过判断是否命中缓存和计算最大次数作为终止条件来跳出循环计算,无需物联前置服务采集更多数据来解决循环计算问题,针对耦合系统复杂依赖关系有很好的兼容,同时可通过最大循环次数有效规避错误输入导致数据循环计算的发生。
附图说明
15.下面参照附图来描述本公开的部分实施例,附图中:图1是本技术实施例提供的一种解决综合能源系统数据循环计算的方法流程图。
16.图2是本技术实施例提供的一种解决综合能源系统数据循环计算的系统内部结构示意图。
17.图3是本技术实施例提供的一种解决综合能源系统数据循环计算的设备内部结构示意图。
具体实施方式
18.本领域技术人员应当理解的是,下文所描述的实施例仅仅是本公开的优选实施例,并不表示本公开仅能通过该优选实施例实现,该优选实施例仅仅是用于解释本公开的技术原理,并非用于限制本公开的保护范围。基于本公开提供的优选实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实施例,仍应落入到本公开的保护范围之内。
19.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
20.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
21.本技术实施例还提供了一种解决综合能源系统数据循环计算的方法,如图1所示,本技术实施例提供的方法,主要包括以下步骤:s1、通过预设消息中间件发送消息数据至预设大数据服务方法。
22.需要说明的是,消息数据至少包括:若干计算数据、第一消息主题、循环次数和公式编号;其中,第一消息主题和公式编号的具体内容可由本领域技术人员根据实际情况确定,初始循环次数默认为0。预设消息中间件可以为kafka中间件,预设大数据服务方法可以为flink。
23.作为示例地,消息中间件kafka向大数据服务flink发送消息数据;其中,所述消息数据中包含cimdata(第一消息主题)、calcount(循环次数)和formulaid(公式编号)。
24.s2、根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果;将计算结果返回至预设消息中间件,且主题设置为第二消息主题。
25.其中,“根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果”,具体可以为:根据计算数据和公式编号,预设大数据服务方法确定缓存中是否存在对应的缓存结果;直接获得缓存结果,或经过时间窗口处理消息数据,计算获得计算结果。
26.在计算获得计算结果后,本技术还可以将计算结果缓存,以便于下次遇到相同的数据和公式编号时,能够直接提取缓存结果(缓存的计算结果)跳出循环,避免重复计算。具体地,通过预设大数据服务方法将计算数据和公式编号与计算结果之间的对应关系缓存至双序列数据集合,以便于集合中的计算结果作为缓存结果直接调用。其中,双序列数据集合包含公式编号和计算集合,且计算集合由计算数据和计算结果组成。其中,通过预设大数据服务方法创建双序列数据集合可以具体为:大数据服务flink根据formulaid建立缓存map《formulaid,list《cimdata》》,这里的list《cimdata》用于存储计算数据和计算结果。
27.s3、当存在缓存结果或若干计算数据中的最小循环次数等于预设最大循环次数时,跳出循环;否则,将最小循环次数+1,并将计算结果回写至预设消息中间件,且主题设置为第一消息主题。
28.本步骤可以具体为:若公式编号对应的list《cimdata》包含缓存的计算结果,则跳出循环;若不包含缓存的计算结果,则进行回写计算结果至中间件kafka操作,且计算结果的主题设置为第一消息主题;比较若干计算数据中的最小循环次数和预设最大循环次数,若相等则跳出循环,不再进行计算结果回写至数据中间件kafka操作;最小循环次数小于最大循环次数,则最小循环次数进行加1操作;将计算结果写入中间件kafka,主题为第一消息主题。
29.s4、重复s2-s3,直至跳出循环。
30.除此之外,图2为本技术实施例提供的一种解决综合能源系统数据循环计算的系统。如图2所示,本技术实施例提供的系统,主要包括:发送模块210,用于通过预设消息中间件发送消息数据至预设大数据服务方法;其中,消息数据至少包括:若干计算数据、第一消息主题、循环次数和公式编号;
返回模块220,用于根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果;将计算结果返回至预设消息中间件,且主题设置为第二消息主题;还用于当存在缓存结果或若干计算数据中的最小循环次数等于预设最大循环次数时,跳出循环;否则,将最小循环次数+1,并将计算结果回写至预设消息中间件,且主题设置为第一消息主题;其中,计算结果的获取过程可以为:返回模块220的计算单元221根据计算数据和公式编号,预设大数据服务方法确定缓存中是否存在对应的缓存结果;直接获得缓存结果,或经过时间窗口处理消息数据,计算获得计算结果。
31.其中,缓存结果的获取过程可以为:返回模块220的缓存单元222;通过预设大数据服务方法将计算数据和公式编号与计算结果之间的对应关系缓存至双序列数据集合,以便于集合中的计算结果作为缓存结果直接调用。
32.重复模块230,用于重复运行返回模块,直至全部计算数据跳出循环。
33.除此之外,本技术实施例还提供了一种解决综合能源系统数据循环计算的设备,如图3所示,其上存储有可执行指令,在该可执行指令被执行时,实现如上述的一种解决综合能源系统数据循环计算的方法。具体地,服务器端通过总线向存储器发送执行指令,当存储器接收到执行指令时,通过总线向处理器发送执行信号,以激活处理器。
34.需要说明的是,处理器用于通过预设消息中间件发送消息数据至预设大数据服务方法;其中,消息数据至少包括:若干计算数据、第一消息主题、循环次数和公式编号;根据消息数据中的计算数据和公式编号,预设大数据服务方法确定对应的计算结果或缓存结果;将计算结果返回至预设消息中间件,且主题设置为第二消息主题;当存在缓存结果或若干计算数据中的最小循环次数等于预设最大循环次数时,跳出循环;否则,将最小循环次数+1,并将计算结果回写至预设消息中间件,且主题设置为第一消息主题;重复上述步骤,直至跳出循环。
35.至此,已经结合前文的多个实施例描述了本公开的技术方案,但是,本领域技术人员容易理解的是,本公开的保护范围并不仅限于这些具体实施例。在不偏离本公开技术原理的前提下,本领域技术人员可以对上述各个实施例中的技术方案进行拆分和组合,也可以对相关技术特征做出等同的更改或替换,凡在本公开的技术构思和/或技术原理之内所做的任何更改、等同替换、改进等都将落入本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1