基于可配置表达式流水线的建筑能源计算方法及系统与流程

摘要: 本发明涉及建筑能源数据处理,尤其涉及一种基于可配置表达式流水线的建筑能源计算方法及系统。背景技术:1、建筑能源诊断是指通过对建筑物的历史能源消耗数据(电力、燃气...
基于可配置表达式流水线的建筑能源计算方法及系统与流程

本发明涉及建筑能源数据处理,尤其涉及一种基于可配置表达式流水线的建筑能源计算方法及系统。

背景技术:

1、建筑能源诊断是指通过对建筑物的历史能源消耗数据(电力、燃气、水、蒸汽、热量等)进行分析,评估建筑物的能源使用效率,并生成节能改造方案建议的过程。在建筑能源诊断系统中,涉及大量数值计算,包括但不限于:

2、改造后节能量与节费率计算(改造前后费用对比、节能率百分比)

3、初投资估算(设备费、配套费、自控费、打井费等汇总)

4、投资回收期计算(初投资 / 年节费量)

5、设备容量评估(机组台数、电容量 kva、扩容需求判断)

6、现有技术的缺陷和不足:

7、缺陷一:计算公式硬编码在源代码中,变更成本高、周期长。

8、缺陷二:不同建筑场景的公式分支通过 if/else 处理,代码复杂度指数级增长。缺陷三:以drools为代表的规则引擎,计算无顺序保证、无中间结果共享、分支处理能力弱。缺陷四:轻量级表达式求值引擎缺乏流水线编排能力,aviator、qlexpress 等轻量级表达式引擎仅提供单个表达式的求值功能。不具备流水线按顺序执行、不支持执行过程的步骤追踪与审计。

技术实现思路

1、因此,本发明的目的在于提供一种基于可配置表达式流水线的建筑能源计算方法及系统,能够实现建筑能源计算公式的灵活配置、有序执行、条件分支处理、分段混合编排及热加载,解决现有技术中公式硬编码变更周期长、多维度分支组合导致代码复杂度指数级增长以及跨子系统计算框架无法复用等问题。

2、为了实现上述目的,本发明的一种基于可配置表达式流水线的建筑能源计算系统,包括自下而上设计的:

3、公式配置持久化层,用于存储三表数据模型,所述三表数据模型包括:

4、环境变量表,用于注册计算过程中涉及的变量元数据;流水线定义表,以系统编码和计算目标编码作为联合唯一标识,定义每一条计算目标流水线的路由信息;流水线步骤表,用于定义每条流水线的执行指令清单,所述执行指令清单通过步骤顺序号确定各步骤的执行先后次序、通过条件表达式判定当前步骤是否执行、通过主表达式定义当前步骤的求值逻辑、通过输出变量编码确定求值结果的写入目标,供流水线引擎按配置有序执行;

5、建筑诊断数据层,用于存储诊断业务数据供诊断测算编排层调用,所述诊断业务数据至少包括建筑物的多年能耗时序数据、系统形式与设备参数、城市折标煤系数、能源单价及暖通设计指标;

6、表达式求值层,用于提供所述有序步骤表达式与条件表达式编译与运行时求值接口,并将求值结果规范化为基础类型;

7、公式流水线引擎层,将所述三表数据模型加载为内存注册表,并以系统编码和计算目标编码为路由键;执行步骤顺序、条件判断及共享环境变量的覆盖写入;

8、诊断测算编排层,用于从所述建筑诊断数据层读取诊断业务数据,根据环境变量表将所述诊断业务数据映射为共享环境变量中的叶子变量取值并注入所述共享环境变量,然后按建筑能源计算的业务顺序调用所述公式流水线引擎层的一个或多个计算目标流水线;所述业务顺序依次包括:基于所述多年能耗时序数据执行分项基线拆分、构造改造前后理想运行态并计算差分指标、以及耦合工程约束计算经济性指标;

9、报告输出层,从所述共享环境变量中读取最终计算结果,并生成建筑能源计算报告。

10、进一步,所述表达式求值层提供数值型求值接口和布尔型求值接口;所述数值型求值接口用于对主表达式进行编译求值并将结果规范化为浮点数,所述布尔型求值接口用于对条件表达式进行编译求值并将结果规范化为布尔值;所述表达式求值层还包含编译缓存模块,用于缓存已编译的表达式;以及类型规范化模块,用于将整数转换为浮点数、将数值转换为布尔值,并对变量引用基于共享环境变量进行取值替换。

11、进一步,所述共享环境变量的覆盖写入通过以下条件互斥机制实现:

12、所述流水线步骤表中多个步骤允许具有相同的输出变量编码,各步骤分别附带互斥的条件表达式;

13、所述公式流水线引擎层按步骤顺序依次对各步骤的条件表达式进行求值,条件为真则执行该步骤的主表达式,并将求值结果写入所述共享环境变量中该输出变量编码对应的键名,条件为假则跳过该步骤;

14、当条件为真的步骤具有相同输出变量编码时,后执行的步骤的求值结果覆盖前序步骤写入的同一变量键的值,所述共享环境变量中最终仅保留按步骤顺序最后执行的有效写入结果。

15、进一步,所述公式流水线引擎层还包括原子热加载模块,所述原子热加载模块配置为:

16、暴露重载接口,供运维人员在系统运行期间触发公式配置的热加载;

17、在接收到重载指令时,获取全局互斥锁,防止并发重载操作;

18、从所述公式配置持久化层查询所有已启用的三表数据模型记录,在内存中构建临时注册表;对所述临时注册表进行完整性校验,校验通过后,以原子操作将全局默认注册表指针替换为所述临时注册表,使新到达的计算请求使用新配置,已在进行中的计算请求继续使用旧注册表直至完成;校验不通过时,拒绝本次重载,保留原有注册表不变,并返回错误信息;

19、整个重载过程中系统无需重启,运行中的计算业务不中断。

20、进一步,所述公式流水线引擎层还支持切片执行模式,所述切片执行模式配置为:

21、在流水线步骤表定义中预设一个或多个切片边界,所述切片边界位于指定步骤顺序号之后;

22、当流水线执行至所述切片边界时,所述引擎层暂停执行,将当前共享环境变量的完整状态返回至所述诊断测算编排层;

23、所述诊断测算编排层在切片边界处对所述共享环境变量执行无法以纯表达式表达的过程性逻辑,所述过程性逻辑至少包括:对计算结果进行工程取整、对设备台数进行向上取整、对中间变量进行人工修正、根据外部规则改写条件标志位;

24、所述诊断测算编排层完成上述改写后,将修改后的共享环境变量回传至所述公式流水线引擎层;

25、所述引擎层接收回传的共享环境变量,从所述切片边界的下一个步骤开始继续执行后续步骤,实现配置化算术链与过程性代码的混合编排。

26、进一步,所述诊断测算编排层执行的分项基线拆分与差分指标计算具体包括:

27、选取基准年并构造虚拟年,将建筑总表能耗按供冷季、供热季及其他用能边界进行归集,拆分得到包括供冷分项基线、供热分项基线、办公电分项基线;

28、按照预设方案计算改造后理想运行态;

29、将所得各分项基线与所述改造后理想运行态进行差分,计算差分指标;

30、调用公式流水线引擎层通过条件互斥覆盖写入步骤,依据展示口径在加权节能率、冷侧节能率、热侧节能率三种展示口径中互斥地选取一种作为最终展示结果。

31、进一步,所述诊断测算编排层,在计算耦合工程约束计算经济性指标时,包括:在计算冷热源子系统的初投资之前,判断目标系统形式是否为水源热泵或地源热泵,若是,则先调用打井成本流水线,将打井总成本写入共享环境变量,若非水源/地源热泵,则将打井总成本置为0;

32、执行初投资计算目标流水线,所述初投资计算目标流水线包含多个具有相同输出变量编码的互斥步骤:

33、当机组类型为空气源热泵时按台数计价,当机组类型为非空气源热泵时按负荷计价,当主机年限超过预设阈值时,该步骤的主表达式还包含泵成本项;其中,设备费用由互斥步骤计算得到:

34、与现有变压器容量进行比较,若需用配电容量值大于现有变压器容量,则判定需要配电扩容,并将扩容成本计入总投资;

35、执行回收期计算流水线,将总初始投资除以年节费得到回收期;

36、冷热源、生活热水、给水、照明、光伏子系统分别对应不同的系统编码,各子系统分别调用对应系统编码的计算目标流水线,由报告输出层按照回收期阈值和扩容标志生成推荐方案。

37、进一步,所述互斥步骤具体包括:1)无条件执行,计算设备及配套费用;

38、2)设置条件表达式为打井总成本≤0,执行时将总初始投资写为不计打井成本;

39、3)设置条件表达式为打井总成本>0,执行时将总初始投资写为计入打井成本。

40、本发明还提供一种基于可配置表达式流水线的建筑能源计算方法,基于上述的建筑能源计算系统实施,包括以下步骤:

41、步骤s1:构建并持久化三表数据模型,所述三表数据模型包括环境变量表、流水线定义表和流水线步骤表;所述环境变量表用于注册计算过程中涉及的变量元数据;所述流水线定义表用于以系统编码和计算目标编码作为联合唯一标识定义每一条计算目标流水线的路由信息;所述流水线步骤表用于定义每条流水线的执行指令清单,所述执行指令清单通过步骤顺序号确定各步骤的执行先后次序、通过条件表达式判定当前步骤是否执行、通过主表达式定义当前步骤的求值逻辑、通过输出变量编码确定求值结果的写入目标;

42、步骤s2:将所述三表数据模型加载为内存注册表,并以系统编码和计算目标编码为路由键建立索引;

43、步骤s3:读取目标建筑物的诊断业务数据,根据所述环境变量表将所述诊断业务数据映射为共享环境变量中的叶子变量取值并注入所述共享环境变量,然后按建筑能源计算的业务顺序执行流水线调用;所述业务顺序依次包括:基于多年能耗时序数据执行分项基线拆分、构造改造前后理想运行态并计算差分指标、以及耦合工程约束计算经济性指标;

44、步骤s4:接收系统编码和计算目标编码的调用,按路由键从所述内存注册表中查找对应的执行指令清单,按步骤顺序号依次执行:对当前步骤的条件表达式进行求值,若条件为假则跳过当前步骤;若条件为真或无条件表达式,则对当前步骤的主表达式进行求值,将求值结果通过所述输出变量编码写入所述共享环境变量中对应的键名,其中,允许后执行的步骤覆盖前序步骤向同一键名写入的值;

45、步骤s5:重复调用不同系统编码和计算目标编码对应的流水线,完成分项基线拆分、改造前后理想运行态差分、以及耦合工程约束计算经济性指标;

46、步骤s6:从所述共享环境变量中读取最终计算结果,输出建筑能源计算报告。

47、本技术公开的基于可配置表达式流水线的建筑能源计算方法及系统,相比于现有技术,至少具有以下优点:通过三表数据模型将计算公式与程序代码完全解耦,配合原子热加载机制使公式变更周期从数周缩短至分钟级且无需重启服务,变更即时生效且不中断在途计算。其次,条件互斥覆盖写入机制将传统深层if/else指数级分支嵌套转化为流水线步骤表中的线性配置行,分支复杂度的增长表现为表行数线性增加,显著提升了系统的可维护性与可测试性。再次,有序流水线执行器严格保证步骤执行顺序与中间结果的共享传递,弥补了通用规则引擎和单表达式求值引擎在编排能力上的不足。

48、本技术在进行建筑能源计算建立了总表→分项基线→改造差分的统一可比口径,使节能率与节费率指标可复现、可解释。打井、扩容、机组选型等工程约束进入同一测算会话,诊断结论兼顾节能收益与实施成本。多子系统共用同一引擎与指标体系,避免口径分裂,确保测算一致性。