发明内容
本发明提出了指标计算可视化配置方法,用于指标计算的快速配置以及性能提升。可视化配置由基础数据模型管理、基础数据项配置管理、指标计算配置管理、引擎四组件相互协作完成指标计算的可视化配置、计算性能提升。
指标计算可视化配置方法包括可视化指标计算配置和指标计算。
可视化指标计算配置的包括:
(1)业务模型建模
负责把物理数据结构映射成业务对象模型,屏蔽物理存储结构的复杂性,方便后续的可视化配置工作。
(2)基础数据项建模
负责基础数据项的可视化配置,基础数据项是指标计算的原子元素,直接从业务模型通过一定的算法得到,由于基础数据项比较多,要强调批量操作和操作便利性。
(3)指标计算建模
负责以可视化方式配置指标计算的业务逻辑。
视化指标计算配置完成后,便可以进行指标计算。
具体地,本发明一种用于指标计算的可视化配置方法技术方案如下:
一种用于指标计算的可视化配置方法,包括以下步骤,
S01,业务对象建模:将业务对象分为设备、运行管理业务、日常事务管理业务,按照所述业务对象分类创建业务对象模型,建立业务对象属性和物理存储结构的映射关系;
业务对象包括设备、运行管理业务、日常事务管理业务,业务对象的管理通过基础数据模型管理、关联管理、代码表管理、模型批量导入、数据预览、代码转换管理实现。
基础数据模型管理实现对基础数据模型的新建、删除、属性编辑维护等功能。基础数据模型管理依托模型树,实现按照业务分组,并具有延迟加载特性。
关联是反映模型之间的隶属或引用关系,实现关联的新建、删除、编辑维护功能。
代码表是一类特殊的数据模型,被基础数据模型引用,实现对代码的统一管理。
模型批量导入功能实现从物理数据模型到业务模型的批量导入。批量导入数据模型的同时,会把该模型相关的关联一并导入。
数据预览实现基础数据模型数据的实时预览,预览时可以查看数据是否是模型对应的数据,属性是否错位,属性是否有缺失等。
代码转换实现基础数据模型对代码引用关系的自动转换。可以在代码表中定义代码转换后的显示名称用哪个属性。可以在数据预览时查看代码转换是否正确。
S02,基础数据项建模:将所述步骤S01创建的业务对象模型在FLEX环境中可视化方式选择所述业务对象的属性,将所述对象通过操作符连接起来,形成基础数据项的计算链路,所述计算链路为基础数据项计算模型;
S03,指标计算建模:将指标计算逻辑分解成基础数据项、加权系数和运算符,在FLEX环境中,依据指标计算逻辑,拖拽、连接步骤S02建立的基础数据项,对基础数据项配置加权值和运算符,形成指标计算逻辑的拓扑图模型,所述拓扑图模型以XML文件的形式保存在磁盘上;
S04,指标计算:首先获取步骤S03图形界面中配置生成的拓扑模型XML文本,对所述进行拓扑模型XML文本合法性验证:
计算过程验证通过后,计算引擎读取XML文本中的各类节点(基础数据项、运算符、加权值),通过连接线节点中所存储的起止点信息获取到各类节点间的连接关系,得到一个完整描述计算过程的多分叉的树型结构模型,即XML文本中的各类节点分别与多叉树的结点或连线一一对应;
计算引擎使用递归遍历算法,以树根结点为起点逐层查找或计算所述树型结构模型直至延伸至所述树型结构模型的所有叶子结点,根据计算条件的设定,选择直接从数据库中获取叶子结点的数据值或者调用基础数据项计算过程,算得各叶子结点数据;
利用基础数据项的数值和操作符所描述的算法逐层计算向根结点推进,最终算得树根结点上的指标值。
步骤S04基础数据项计算过程包括以下步骤:
计算引擎解析基础数据项模型XML文件,解析出业务对象对应的物理存储结构、基础数据项计算采用的算法、约束条件,依据基础数据项计算模型解析结果,把业务对象数据从物理存储提取到内存中,然后依次计算每一个基础数据项。
步骤S04所述进行拓扑模型XML文本合法性验证具体包括:
(1)每个运算符允许输入个数判断,最大多少,最小多少。例如:除号、减号都是只能有两个输入;
(2)除号的输入一个设定为除数一个设定为被除数,如果一个已设定为除数,另一个再设定为除数,需给出出错提示;
(3)基础数据项、固定系数无输入项;
(4)指标/子指标最多只有一个输入,没有输入也是可以的;
(5)多输出检测,一个节点只能有一个输出,多了需报错;此处节点与计算引擎将读取XML文本中的各类节点(基础数据项、运算符、加权值)中的节点的表示意义相同;
(6)孤立节点或节点组判定,主要针对连线没有接上而看似接好,或在没有配置完成的情况下执行,不允许孤立节点或者孤立节点组存在;
(7)不能有线条缺起始或终止节点的;
(8)环路检测。不应该有环路,仅树形结构。至少不能指向自己;
(9)固定系数输入判断,所见即为真实数据,首先要是数字,其次如果是百分数也要能转化为小数;
(10)如果连接线有一端没有和其它任何节点连接,不能通过验证。
基础数据项为指标计算的最小单位,所述基础数据项包括业务对象的属性、维度和运算符。
设备包括一次设备、二次设备;所述运行管理业务包括缺陷、检修、试验;所述日常事务管理业务包括发电计划、技改大修、运行日志、月度例会。
建立业务对象属性和物理存储结构的映射关系为一对多或者一对一的映射关系。
与现有技术相比,本发明包括以下有益效果:
1、本发明把一个指标计算逻辑分解成基础数据项、加权值、运算符(运算符包括常见的各种运算如加减乘除、最大、最小、平均、均方差等)、连接关系,并把这些要素通过FLEX技术拖拽、连接,形成指标计算逻辑的拓扑图模型,拓扑图模型以文件的形式保存在磁盘上。运行时,指标计算引擎解析拓扑图模型,解析出指标计算逻辑关系,并执行运算,因此本发明把并行计算、内存计算、可视化指标计算模型配置等技术的有机融合在一起,发挥并行计算的集群并行和内存计算的高效等优点。
2、本发明以可视化方式配置指标计算的基础数据项,指标计算过程,逻辑清晰,修改方便,配置简单。
3、本发明将指标计算逻辑分解成基础数据项、加权系数和运算符,这样由于基础数据项计算逻辑是独立的计算过程,故基础数据项可以实现并行计算,提高计算效率。以往的实现算法由于把多个基础数据项的计算都集中在一个存储过程或sql语句中,导致计算效率比较低。
4、基础数据项计算过程:计算引擎解析基础数据项模型XML文件,解析出业务对象对应的物理存储结构、基础数据项计算采用的算法、约束条件,依据基础数据项计算模型解析结果,把业务对象数据从物理存储提取到内存中,然后依次计算每一个基础数据项,这样,基础数据可以存储在不同的物理存储中,存储和提取效率高,指标计算响应快,计算效率高。
5、本发明是一种通用的指标计算方法,能够实现电力业务系统中各种指标的计算,实用性强。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细描述。
本发明提出了一种用于信息系统指标计算可视化配置方法,其流程见图1,包括业务对象建模、基础数据项建模、指标计算建模和指标计算。
一种用于指标计算的可视化配置方法,包括以下步骤,
S01,业务对象建模:将业务对象分为设备、运行管理业务、日常事务管理业务,按照所述业务对象分类创建业务对象模型,建立业务对象属性和物理存储结构的映射关系;
业务对象包括设备、运行管理业务、日常事务管理业务,业务对象的管理通过基础数据模型管理、关联管理、代码表管理、模型批量导入、数据预览、代码转换管理实现。
基础数据模型管理实现对基础数据模型的新建、删除、属性编辑维护等功能。基础数据模型管理依托模型树,实现按照业务分组,并具有延迟加载特性。
关联是反映模型之间的隶属或引用关系,实现关联的新建、删除、编辑维护功能。
代码表是一类特殊的数据模型,被基础数据模型引用,实现对代码的统一管理。
模型批量导入功能实现从物理数据模型到业务模型的批量导入。批量导入数据模型的同时,会把该模型相关的关联一并导入。
数据预览实现基础数据模型数据的实时预览,预览时可以查看数据是否是模型对应的数据,属性是否错位,属性是否有缺失等。
代码转换实现基础数据模型对代码引用关系的自动转换。可以在代码表中定义代码转换后的显示名称用哪个属性。可以在数据预览时查看代码转换是否正确。
S02,基础数据项建模:将所述步骤S01创建的业务对象模型在FLEX环境中可视化方式选择所述业务对象的属性,将所述对象通过操作符连接起来,形成基础数据项的计算链路,所述计算链路为基础数据项计算模型;
基础数据项计算模型的管理通过业务对象模型管理;
基础数据项来自于基础数据模型,并为每个基础数据项添加算法及过滤条件,用连接线把这些元素连接起来,形成一个基础数据项的计算链路。
基础数据项=业务属性+维度+运算符;
如图4所示,本实施例输电回路可用系数的指标计算的基础数据项建模示例如下:
三个基础数据项分别为:统计期间回路总小时数、调度停运小时数、停运小时数。
在FLEX环境中,首先从模型树上选择需要的基础数据模型,并拖拽到基础数据项配置界面,弹出窗口,可以选择属性。所选择的属性将作为基础数据项的一个计算因子。
操作符支持sum,count等常见运算。通过操作符扩展功能,可以扩展更复杂的操作符。复杂的运算逻辑写在操作符脚本中。
S03,指标计算建模:将指标计算逻辑分解成基础数据项、加权系数和运算符,在FLEX环境中,依据指标计算逻辑,拖拽、连接步骤S02建立的基础数据项,对基础数据项配置加权值和运算符,形成指标计算逻辑的拓扑图模型,所述拓扑图模型以XML文件的形式保存在磁盘上;
在指标计算建模界面,引入基础数据项,添加操作符,并把基础数据项、操作符这些元素用连接线连接起来,形成指标计算逻辑的拓扑图模型。支持批量连接基础数据项到操作符。在用连接线连接操作符时是位置相关,如减号操作符,减数和被减数需要连接在操作符不同的位置上。
指标计算配置界面设置可视化的操作功能,可以把一个子指标所连接的下级元素隐藏,只显示子指标节点,便于全局查看指标计算逻辑是否正确。指标计算配置过程中可以自动布局。配置完毕支持自动检查是否有连接线缺失。
建立的可视化的输电回路可用系数的指标计算模型如图4所示,三个基础数据项:统计期间回路总小时数、调度停运小时数、停运小时数通过加权值、运算符连接,可视化展示指标计算模型,其中统计期间回路总小时数、调度停运小时数、停运小时数三个基础数据项的计算通过业务对象模型在FLEX环境中可视化方式选择所述业务对象的属性,将对象通过操作符连接起来,形成基础数据项的计算链路。
指标计算的核心技术是把一个指标计算逻辑分解成基础数据项、加权值、运算符(运算符包括常见的各种运算如加减乘除、最大、最小、平均、均方差等)、连接关系,并把这些要素通过FLEX技术拖拽、连接,形成指标计算逻辑的拓扑图模型,拓扑图模型以文件的形式保存在磁盘上。运行时,指标计算引擎解析拓扑图模型,解析出指标计算逻辑关系,并执行运算。
S04,指标计算:首先获取步骤S03图形界面中配置生成的拓扑模型XML文本,对所述进行拓扑模型XML文本合法性验证:
计算过程验证通过后,计算引擎读取XML文本中的各类节点(基础数据项、运算符、加权值),通过连接线节点中所存储的起止点信息获取到各类节点间的连接关系,得到一个完整描述计算过程的多分叉的树型结构模型,即XML文本中的各类节点分别与多叉树的结点或连线一一对应;
计算引擎使用递归遍历算法,以树根结点为起点逐层查找或计算所述树型结构模型直至延伸至所述树型结构模型的所有叶子结点,根据计算条件的设定,选择直接从数据库中获取叶子结点的数据值或者调用基础数据项计算过程,算得各叶子结点数据;
利用基础数据项的数值和操作符所描述的算法逐层计算向根结点推进,最终算得树根结点上的指标值。
指标计算负责解析指标计算模型和解析基础数据项计算模型,根据连接线方向和操作符定义,分别计算基础数据项和中间指标,最终计算出目标指标。
由于基础数据项计算逻辑是独立的计算过程,故基础数据项可以实现并行计算,提高计算效率。以往的实现算法由于把多个基础数据项的计算都集中在一个存储过程或sql语句中,导致计算效率比较低。
步骤S04基础数据项计算过程包括以下步骤:
计算引擎解析基础数据项模型XML文件,解析出业务对象对应的物理存储结构、基础数据项计算采用的算法、约束条件,依据基础数据项计算模型解析结果,把业务对象数据从物理存储提取到内存中,然后依次计算每一个基础数据项。
步骤S04所述进行拓扑模型XML文本合法性验证具体包括:
(1)每个运算符允许输入个数判断,最大多少,最小多少。例如:除号、减号都是只能有两个输入;
(2)除号的输入一个设定为除数一个设定为被除数,如果一个已设定为除数,另一个再设定为除数,需给出出错提示;
(3)基础数据项、固定系数无输入项;
(4)指标/子指标最多只有一个输入,没有输入也是可以的;
(5)多输出检测,一个节点只能有一个输出,多了需报错;与计算引擎将读取XML文本中的各类节点(基础数据项、运算符、加权值)中的节点的表示意义相同;
(6)孤立节点或节点组判定,主要针对连线没有接上而看似接好,或在没有配置完成的情况下执行;(是否允许孤立节点或者孤立节点组存在?)
(7)不能有线条缺起始或终止节点的;
(8)环路检测。不应该有环路,仅树形结构。至少不能指向自己;
(9)固定系数输入判断,所见即为真实数据,首先要是数字,其次如果是百分数也要能转化为小数;
(10)如果连接线有一端没有和其它任何节点连接,不能通过验证。
基础数据项为指标计算的最小单位,所述基础数据项包括业务对象的属性、维度和运算符。
设备包括一次设备、二次设备;所述运行管理业务包括缺陷、检修、试验;所述日常事务管理业务包括发电计划、技改大修、运行日志、月度例会。
建立业务对象属性和物理存储结构的映射关系为一对多或者一对一的映射关系。
本发明在上述方法基础上提供一套用于指标计算的可视化配置系统,该系统框架图见图3。
(1)指标计算引擎和基础数据项计算引擎是核心组件,由模型解析、模型缓存、计算引擎、数据服务等功能组成。
模型解析负责把模型文件解析成指标模型对象和基础数据项模型对象,对象之间存在交互,实现模型定义的业务逻辑。
模型缓存负责把解析后的模型进行缓存,下次指标计算时,不需要重复解析模型。模型缓存具有基于版本的模型同步功能,一旦发现模型有变化,将清除缓存的模型,重新进行解析。
计算引擎负责把模型对象串接起来,通过对象之间的交互,实现指标的计算。
数据服务负责把计算结果保存的数据库或导出到其他接口。
(2)组件管理负责管理操作符。操作符是对算法的封装,提供了常用操作符,如加、减、乘、除、sum、count等。系统提供对操作符的扩展机制。
(3)基础数据项管理负责基础数据项的可视化配置,基础数据项是指标计算的原子元素,直接从业务模型通过一定的算法得到,由于基础数据项比较多,要强调批量操作和操作便利性。
(4)指标管理负责以可视化方式配置指标计算的业务逻辑。指标计算由基础数据项和各种操作符以及连接线(有方向性)构成。
在本系统中任务执行过程见图2所示,主要包括以下步骤:
开始指标计算,判断是否使用已有基础数据项计算,如果使用已有基础数据项计算,转5;
解析输入的执行条件(约束条件);
根据待计算的指标编号,查找基础数据项模型并解析模型;
根据模型解析结果,利用并行计算,计算每个基础数据项,并把计算结果保存到数据库中,同时在内存中缓存一份;
解析指标计算模型;
根据模型解析结果,把基础数据项按照一定算法计算出中间指标值,逐层计算,最终算出指标。
本系统由业务模型管理、基础数据项配置管理、指标计算模型配置管理、指标计算引擎等组件相互协作完成任务。
本发明所述方法及装置的其他具体技术详细描述需参阅本发明上述说明中相应部分的描述,不再累述。
本领域内的技术人员可以对本发明进行改动或变型的设计但不脱离本发明的思想和范围。因此,如果本发明的这些修改和变型属于本发明权利要求及其等同的技术范围之内,则本发明也意图包含这些改动和变型在内。