油井设备机械化数据信息平台的建设
高彦卿
南阳理工学院
油井设备机械化数据信息平台(SSIS)所设计的电子数据库(ETL)从形式上来讲是一个个类似工作流的程序包,SSIS具有可视化的开发工具,它基于一种工作流的思想,主要分为控制流和数据流。控制流主要是做整个ETL过程的流程,而数据流则是对ETL业务也就是转换的完成,是ETL处理的核心部分。油井设备机械化信息平台的一个重要特点就是,它不是针对某一个类型的BI解决方案或者是某一个具体的项目,而是一种具有BI基本特性功能完善的ETL产品,只要通过一些配置改造,可以简单地扩展到其他的BI系统上。
油井设备;机械化;数据信息;平台设计
油井设备机械化数据信息平台平台有几个非常特别的优点。
(1)SSIS与微软的其他开发组件密切相关,而且秉承了微软软件开发工具一贯的特点,就是良好的可视化开发界面[1]。但其本质还是XML文件,所以容量也非常小,容易安装部署。
(2)改良脚本中分别有控制流和数据流的脚本,可以用C#编写,可以访问.NET Framework,并且还能通过脚本任务执行更加复杂的动作。这是能够让电子数据库完成复杂任务和利用已有的.NET资源的最佳途径,它也是自己编写部件代替系统的最佳途径。
(3)对SSIS数据流缓冲器进行了改良。附加异步数据流组件将会很方便地在SSIS运行过程中提高性能,设计人员可以排除杂乱的性能设计。
由于SSIS有以上特点,ETL系统的主要工作就是通过自己编写C#脚本来设计数据处理部件,完成强大的功能[2]。这是建立在SSIS程序包,特别是数据流自身可以进行非常好的线程安排和调用机制的基础上才能完成的。
2.1SQL Server数据信息支撑平台设计
这里所说的SQL Server是狭义的,特指SQL Server数据库。本系统中用到的SQL Server,主要用作对油井设备机械化数据信息平台进行搭建和维护。对于多维数据库的设计,也不同于传统的关系型数据库,除了要满足多维数据库基本的多维度的分析要求,更要和SSIS、SSAS(系统安全性分析系统)合作,通过ETL将数据加载进入SSIS,最终建立多维数据集,进行多维分析。
SQL Server在商业智能(BI)解决方案中起着承上启下的作用。本系统BI解决方案中,会用到油井设备机械化数据信息平台的建模方式,在SQL Server中建立多个事实表和维度表组成的多维油井设备机械化数据信息平台模型。另外,SQL Server的存储过程也会在建立ETL过程中大量的使用,SSIS包本身也将包含在SQL Server的Job中运行。这些过程其实是SQL Server的普通功能,只是在多维设计这个基础之上。
仪器的流量分为工况流量和刻度流量,工况流量即设备在使用环境下的实际流量,刻度流量,即标准状态下的流量,有些仪器的刻度状态是(0 ℃,101.325kPa),有些设备的刻度状态为(20 ℃,101.325kPa),也有些其他特殊的状态,具体以被检设备为准。在测量重复性和稳定性时我们要读取的数值为检定点的工况流量,但在测量示值误差时我们则需要读取刻度状态下的流量。采样器的流量计上有些显示的是工况流量,有些显示的是刻度状态下的流量,如果为工况流量,像安装浮子流量计的采样器,这时我们必须对流量示值加以换算,在气路压力为0kPa情况下测量的流量,具体过程按公式(1)进行计算。
2.2 数据流信息LPC模型算法设计
时间维度箭头是单向的,表示事实数据中只能引用这些维度,而不能反作用这些维度。时间维度信息比较固定,没有经常变动的主数据文件,比如一个企业的财年信息一般是不会变的。可以在系统建立初始化的时候加载到油井设备机械化数据信息平台中。如果事实数据匹配不到时间维度,就认为主数据是有问题的[3]。特别是从信息系统抽取数据的时候,系统会用变量的方式传递抽取的时间,这个时间对设计是很重要的。用LPC分析参数实现波形最小均方误差意义下的最佳估计。
机械化数据信息平台在平稳信息流下也能运用,但是要叠代估计模型参数;而强大信息流情况下误差大,计算量也大。
2.3 机械化数据信息平台维度设计
国家维度和零售类型维度是单向的,同时他们也会影响商品和油井设备机械化数据信息平台维度,也就是说,不同国家的油井设备机械化数据信息平台可能使用相同编号,这就组成了维度层次上的一个雪花型的关系。
商品和油井设备机械化数据信息平台维度是普通的维度,它们可以和事实数据相互影响。也就是说,当事实数据加载的过程中,映射不到相对应的维度信息,事实数据是可以去维度中自动生成初始化的主数据,保证逻辑键的正确,然后再等待真正事实数据到了以后对初始化数据进行更新[4]。对于这两个维度,无论是主数据或者事实数据,维度信息都在其数据列中。
维度设计中对主数据的操作包括以下几步:
(1)主数据导入。运行在中心机上,导入主数据(也就是一些所有用户通用的数据,在BI中也可以称维度信息),并把导入的过程记录到特定信息中,对数据进行一些清理和排错。
(2)主数据计算。运行在中心机上,将导入中心SSIS数据进行一些计算和业务逻辑的处理,以便满足用户特定的要求。
(3)主数据同步。主数据运行在中心机和扩展机之间,根据安装信息,利用同步技术,将于扩展机相关的数据分布同步到不同的扩展机种。因为中心机中存储的是一个混合的主数据,而每一个扩展机制需要拿到自己的数据便可,所以这个同步是一个有选择的同步。记录好同步信息。
多维数据集建立在扩展机上。也就是说,对于用户而言,是不会知道中心机的存在,所以扩展机也是一个用户的导向。从技术上来讲,无论是中心机或者扩展机,在真正的物理服务器上都是以油井设备机械化数据信息平台、多维数据集、电子数据库程序等存在的。
依据油井机械设备用户的需求,通常把一个扩展机分配给一个单独的供应商和零售商的多维数据集,这样的计算最纯粹,没有干扰。而中心机上往往存在着多个供应商和多个零售商的主数据。通过ETL系统中的主数据同步功能,可以把中心机上对应于特定扩展机的主数据同步到扩展机上。这说明了一个重要的概念:主数据的同步过程永远都在中心机上,同样事实数据的同步过程永远都在扩展机上,而扩展机上所需要的主数据是通过主数据同步这个功能实现的[5]。这样中心机和扩展机及相互独立,又相互配合,保证了中心机和扩展机的独立工作和相互配合。
正是通过这种中心机和扩展机的相互配合,在逻辑上和物理上都形成了分布式的结构。
油井设备机械化信息平台的一个重要特点就是,它不是针对某一个类型的BI解决方案或者是某一个具体的项目,而是一种具有BI基本特性功能完善的ETL产品,只要通过一些配置改造,可以简单地扩展到其他的BI系统上,此时,配置文件就是控制ETL系统运行的唯一接口。从长远来讲,
配置文件系统也将变成用户使用ETL的核心和高级控制的方法。这种配置文件驱动主程序的方法其实已经将配置文件升华成为了一种元数据编程的工具,而不是简单的只是为了程序做一些配置。本ETL系统所用的配置文件,基于XML,严格遵守XML的标准,从文档结构上看,一个配置文件可以随意扩展。由于ETL系统本身不能识别平面文件的格式和合法性,更不知道平面文件中的哪一列是油井设备机械化数据信息平台键,每一列怎么跟油井设备机械化数据信息平台中的列对应,这些都是由配置文件来处理的。
[1]吴勇军.利用Winsock编程实现局域网上所有IP包的捕获和分析[J].电脑编程技巧与维护,2003(10):18-19.
[2]朱正强,吴介一,孔竞飞,等.基于VRML—Java的虚拟现实技术在可视化装配中的应用[J].东南大学学报:自然科学版,2002(1):27-28.
[3]刘艳霞.JFreeChart在JSP开发中的应用心得[J].工程地质计算机应用,2005(1):30-31.
[4]郑啸,魏仰苏.一种新的面向协议测试的包捕获结构[J].华中科技大学学报:自然科学版,2004(7):36-37.
[5]李雪莹,刘宝旭,许榕生.基于Win Pcap的网络监控系统性能优化[J].计算机工程,2004(1):38-39.
(栏目主持 杨 军)
10.3969/j.issn.1006-6896.2014.3.014