APP下载

基于指标模型的动态业务数据管理设计

2017-04-13刘颖

中文信息 2017年2期
关键词:指标

摘 要: 本文研究生产采集系统对种类繁多、零散的数据进行采集时,如何建立业务模型,使系统更易于扩展。通过数据点、模板、指标的方式,结合基础实体,建立动态业务数据模型,能够有效支撑生产系统对实时、无关联的数据采集和分析报表展现。

关键词:生产采集 零散数据 动态业务模型 数据点 指标

中图分类号:TP39 文献标识码:A 文章编号:1003-9082(2017)02-0004-02

一、概述

目前流行的关系数据模型设计中,经常采用实体-关系(E-R)模型,结合面向对象的思想,按照概念模型、物理模型的方法,建立相应的基础实体、业务数据字体和关系,并通过ORM工具建立实体类。这种方法在一般的信息系统设计时非常有用,因为这类系统的业务关联是非常明确的,比如订购,我们为其建立相应的客户、产品、订单、付款等实体和关系就可以了。

在一些生产监控、实时采集等系统中,由于采集的数据种类繁多且非常零散,某些数据就是一个实时的值,用于不同的业务场景分析,它们属于基础实体,但业务之间的相关性较弱,我们得为这些业务数据按类型分别建立实体,这些实体的结构非常相似,且有新的业务数据要管理时,就需要在数据库层面增加相应的实体表,系统不易于自动扩展。那么,我们考虑以动态列的方式来实现,会不会减少实体表的创建,系统也更容易扩展呢?即我们只建立一个业务数据实体表,该实体建立N个动态属性字段,每种业务数据占用一个字段,通过配置定义业务字段。这种方式在数据的采集和管理上都没有问题,但在数据的统计分析中,需要每个业务定义单独的查询语句,且DBMS对字段的数量也有相应的优化要求,如果业务数据类型过多,则要考虑分表管理。

那么,我们考虑将数据的存储由列转为行,是否可以有效解决这个问题呢?答案是肯定的,还需要做一些优化来提升系统性能,建立的业务数据字体表关联基础实体并定义分类,为值建立多个不同数据类型的字段,根据数据类型存储在不同的字段中,便于其中的关联值进行计算。我们把业务数据定义为数据点,把业务数据的运算和管理定义为指标,并在界面进行动态的展示,这种模型可称之为指标模型。

二、设计方案

采用指标模型来为动态、分散的业务数据建模的设计方案,主要解决以下业务需求:

o业务数据分散独立,基本都是类型和值,且各项数据采集或录入时间不一致。

o业务数据需要按照一定规则进行计算并呈现。

为此,我们可以为模型建立几个基本概念:数据点、数据点模板、指标。数据点即业务数据值,包含发生业务的时间、填写时间和数据点标识号。数据点模板即业务数据分类,通过数据点模板,可以灵活定义一类数据。指标是对数据点模板进行运算的公式定义和结果展现。

1.数据点模板

在数据点模板的定义中,即可关联实体的类型,也可为该模板定义可选的全局属性,全局属性可以指定值或值由数据点生成时选择,指定了值的数据点为全实例化模板,未指定全局属性值的模板为半实例化模板。如图1所示。

可以通过分组方式,为同一类的数据点模板建立引用关系,即半实例化模板可以关联多个实例化模板或半实例化模板,模板分组后,可以快速统计组下的所有数据点。我们定义石油管线的销售完成量数据点模板组如图2所示:

2.数据点

数据点为模板按时间的实例化,数据点依赖于模板和实体,在统计分析中可以通过实体维度、时间维度、数据点模板维度进行多种组合统计,数据点模板的修改记录历史。数据点可以在逻辑层生成,其业务流程如图3所示:

3.指标

指标用于数据的运算和呈现,其数据源为数据点模板,支持四则运算和指标嵌套,并封装为统一的接,通过标准的输入参数、输出提供给外部功能使用。

按照指标的运算方式,可分为数据点类和公式类。公式类指标支持数据点模板的运算,也支持公式类指标再次参与运算,参与运算的结果值都为数值型;选择后将相应的数据源使用别名F1、F2、F3……等命名,别名描述运算规则。

在指标定义时,首先选择具体数据源,系统自动对选择的源进行公式命名,如F1、F2、F3…,如果选择有自定义指标源,命名不允许重复。如图4,选择的指标中已定义了F1、F2、F3,新的指标只能从F4,F5开始。

指标的输入参数为所选择的所有源的参数的合集,同一实体的参数只能传入一个实例化值。指标的结果输出为一个聚合值,聚合类型包括Sum,Max,Min,Avg。

在指标管理中,需要提供预解析功能,将自定义的指标解析为数据点模板或原始记录,如图5所示:

F2为引用的指标,在预解析中,根据指标关联的数据点模板,将F2解析为多个数据点模板。

在指标取数中,可以先按数据点模板或原始记录进行统一取数,然后将取出的数据进行分发,再将分发的数据按照公式进行运算。

4.界面呈现

为了支持复杂的界面呈现方式,需要支持动态表单和静态表单。动态表单指管理人员可以直接通过系统功能配置的格式相对简单、部分数据根据实体动态生成的表单,如行可以根据实体类别动態变化,列固定的录入表单,动态表单支持单项录入、表格录入。静态表单指格式相对复杂,固定的表单。需要管理人员在HTML编辑器中进行页面设计,然后通过脚本控制加载固定格式的表单,在样式和控制上可以更加灵活。动态表单架构设计如图6所示:

表单子模板是将通用表单中具有可复用性的录入项、表格等元素预先定义和维护起来构成组成表单模板的子模板。当子模板发生变化时,所有引用到子模板的表单模板都会随着子模板的变化而变化。子模板可以是单个录入项、多个录入项的组合、单个表格、表格加录入项的组合等,按照表单的不同用途可以设计不同的子模板。

三、总结

指标模型能够有效的设计出可扩展性较强、业务较为复杂、性能要求较高的动态业务数据管理系统。

通过指标模型中对数据点模板、数据点、指标的设计,涵盖了数据从配置定义、存储和运算、展示三个层次的管理,对于复杂的业务,可通过模板组、指标嵌套运算的方式来支撑,提升系统的性能。

参考文献

[1]Joachim Rossberg Rickard Redler 著,卞军 周磊 译,《设计可扩展的.NET应用程序》,清华大学出版社,2005年07月

[2]刘希俭等 编著,《企业信息化实务指南》,石油工业出版社,2011年6月

作者简介:刘颖(1981.5-),女,汉族,四川资中人,讲师,研究方向:计算机应用。

猜你喜欢

指标
一类带临界指标的非自治Kirchhoff型方程非平凡解的存在性
学术期刊引证指标
学术期刊引证指标
最新引用指标
数字电视指标测量及日常维护处理
Double图的Kirchhoff指标
线损指标在线管理探索
制造强国的主要指标
沿海地区主要指标(2013年)
国民经济主要指标