的原理与系统结构

第二节原理

一. IndustrialSQL Server 的原理与系统结构

1. 什么是IndustrialSQL Server

IndustrialSQL Server 是Wonderware公司用于储存工厂和过程数据的开放的关系型数据库管理系统。IndustrialSQL Server以高分辨率采集并存储过程数据,并把实时和历史数据与配置、事件、统计及相关生产数据集成在一起提供给桌面客户程序。并且,IndustrialSQL Server把Microsoft SQL Server的开放性、灵活性等强大功能和一个实时系统的高速数据采集和高效的数据压缩算法结合在一起。它把SQL作为后台服务器和前台客户程序的标准接口保证了以往工业软件所没有的开放性和灵活性--把办公室和工厂现场真正地连接在一起。

作为一个数据库服务器,IndustrialSQL Server是Microsoft SQL Server的扩展,它提供了高速存储快速产生的大量数据,并把它们存储在相对较小的存储空间的方法。它还扩展了结构化查询语言(SQL)来有效查询串行数据。

2. 问题的由来

在许多领域,关系型数据库已经解决了集成来自各种不同数据源的数据的问题。而且,关系型数据库系统所采用的SQL语言已经成为事实上的“超级”工业标准,关系型数据库已经成为数据库应用中非常成熟的数据库载荷平台。SQL的强大功能和灵活性远比来自与工厂环境的专用接口更加强大,有效。它已经成为数据库和中间软件商集成组件和信息的工具,为工厂环境提供了一个强大的选择。

但是,在工厂环境中,传统的关系型数据库还不是十分理想。因为一个典型的工业环境拥有数以千万计的以不同的速率不断变化的模拟量和开关量,用传统数据库的话,几个月就需要存储几百个GB的数据,一个典型的商用系统无法处理工业应用所需要的如此大量的数据。而且,对传统数据库来说,工厂产生数据的速度远远超出它所能处理的能力。一个具有10000个变量的工厂,如果平均每2秒种变化一

次的话,每秒钟就会产生5000个数据,要完整地记录历史数据,每秒钟就要有5000行数据插入到数据库中!象Oracle,SQL Server这样的传统数据库的处理速度无法满足这样的要求。

3. IndustrialSQL Server

IndustrialSQL Server 完美地解决了以上两个问题,它由以下几个部分组成:

(1) 高速数据采集

由于采用了专门优化设计的算法来采集和存储模拟量和开关量,在相同的硬件条件下,IndustrialSQL Server的性能超过所有的传统关系型数据库,使把高速产生的数据存储到关系型数据库成为可能。

Wonderware 用众多的I/O Server来连接超过750种控制和数据采集设备。在最新的FactorySuite 2000中,Wonderware 所有的I/O Server都支持一个叫做SuiteLink 的新的协议,使用SuiteLink,每一个通过I/O Server采集的数据都包含了时间和品质标签,并具有跟高的数据采集速率。

Server可以直接存储来自于I/O Server的快速产生的数据,用I/O IndustrialSQL

Server直接连接了大量的数据源.

(2)节省存储空间

IndustrialSQL Server存储数据所需要的存储空间只是传统关系型数据库存储相同数据所需存储空间的零头。它真正所需要的磁盘空间取决于工厂的大小和状态以及需要保存历史数据的时间长度。作为一个参考,一个具有4000个数据的工厂,扫描速率从数秒到数分钟,存储两个月历史数据所需的磁盘空间小于2GB。如果传统关系型数据库也能存储同样数量数据的话,IndustrialSQL Server只需要它的大概2%。

IndustrialSQL Server所采用的动态压缩算法是一个“零数据丢失”算法,保证了数据的高分辨率和高质量。

(3)时间域SQL

SQL语言不支持在时间上连续的数据。具体的说,它无法控制数据的分辨率,也无法向客户程序主动提供数据。

IndustrialSQL Server扩展了Transact-SQL语言,使它可以控制数据的分辨率,并能主动更新数据。还在服务器上提供与时间相关的功能,如变化速率和完整的过程算法。

(4) 事件系统

IndustrialSQL Server具有强大的可组态的事件检测和响应能力。事件可以是从一个批次的完成、换班到工厂开工等的所有事件。IndustrialSQL Server 能检测到所有这些事件,并根据不通的事件启动相应的动作。一个阶段的工作完成后,可以把该阶段的最终数据自动写入批次记录表中,换班可以触发建立一张班报表,一个马达的启动,可以有一个电子邮件自动发送给设备维护人员,诸如此类的工作,都可以经由IndustrialSQL Server的事件功能来实现。

一个典型的生产报表包含了概要和总计等数据。IndustrialSQL Server可以被设置为周期性地自动更新平均值、总和、最大值、最小值等概要和统计数据。

(5)内嵌的Microsoft SQL Server

大量的工厂数据具有和一般业务数据同样的特性,如组态和概要数据。IndustrialSQL Server用内嵌的Microsoft SQL Server来管理这些数据。

在企业级应用中非常重要的概要和事件数据的复制功能,数据库登录、用户组、数据库访问权限等的管理都可以用Microsoft SQL Server的Enterprise Manager 很容易地做到。系统设置数据及其修改历史保存在SQL表中,在一个工厂的生存周期中,变量被不断的增加和删除,描述和工程量范围也不断的改变,修改历史确保了设置数据和系统返回的历史数据相匹配。

(6)系统需求

IndustrialSQL Server

硬件/ 软件 最小需求 推荐配置

Pentium 450+ Mhz

CPU Pentium 166

Mhz

RAM 64 MB 128+ MB 如果使用了其他的FactorySuite

软件或变量数很大.

硬盘 2 GB 取决于变量数的多少以及所需要保留历史

数据的时间长度 – 大一点会更好 操作系统 MS Windows NT V4.0 with Service Pack 5 或更高

MS Windows 2000 Server 或更高

网络协议 TCP/IP – 必须安装网卡.

打印机 ASCII/PostScript 可切换

表8-1系统需求

4. IndustrialSQL Server 的工作原理

首先,IndustrialSQL Server内置了Microsoft SQL Server 7.0,客户应用程序可以用OLE-DB通过Microsoft SQL Server来访问存储在IndustrialSQL Server 的实时和历史数据。而且,它直接使用MS SQL Server来存放配置、事件、概要等非实时数据;进行数据库登录、用户组、数据库访问权限等的管理以及和商用数据库系统的互连等。

Microsoft SQL Server 是一个开发的关系型数据库管理系统(RDBMS),RDBMS 把数据存放在许多相互联系(关系)的表中,用多个有关系的表来存放和访问数据比用单个大的表来存放和访问数据要快得多。

在IndustrialSQL Server中,MS SQL Server是一个数据仓库,它处理来自客户程序的数据访问请求,并保证了数据的准确性,一致性和安全性。它具有许多高级的数据库功能,如自动数据恢复,动态备份,故障恢复等,来确保提供可靠、一

致的数据。MS SQL Server提供了一套功能强大,易于使用的管理工具,它还直接和Windows NT的性能监视程序、事件记录、事件查看器集成来监视网上的数据库服务器。IndustrialSQL Server使用MS SQL Server提供的所有功能。

下面,我们简单的介绍一下如何使用和管理MS SQL Server:

(1) 启动Microsoft SQL Server

MS SQL Server使用一个叫做SQL Service Manager的工具来启动,如下图所示:

图8-1 SQL Service Manager

(2) Enterprise Manager

MS SQL Server使用Enterprise Manager来管理和配置数据库,它可以被形象地叫做数据库的“面板”,我们可以使用Enterprise Manager来管理以下功能: 服务器数据库和设备

? 备份 ? 恢复 ? 登录 ? 启动 ? 停止

? 建立

? 删除

? 扩展

? 收缩 (非设备) 表 8-2功能分类

在IndustrialSQL Server中,我们主要关注Holding和Runtime两个数据库,Holding用于存放中间临时数据,Runtime用来存放分开的,格式化的的实时和历史数据。下图为Enterprise Manager中Runtime数据库的结构:

图8-2 Enterprise Manager中Runtime数据库的结构

数据库管理员可以使用Enterprise Manager来处理以下事务:

(a) 登录服务器

(b) 备份管理

(c) 数据库管理

(d) 设备管理

(e) 登录和权限管理

(f) 复制管理

(g) 表、视图、存储过程、触发器、索引、规则、缺省和用户定义数据管理

(h) 计划任务

(i) 在一个服务器或多个服务器之间拖放各种对象

(j) 建立SQL脚本

(3) 注册表编辑器(Registry Editor)

我们还可以使用注册表编辑器来设置MS SQL Server的一些重要参数,注册表编辑器如下图所示:

图8-3注册表编辑器

我们可以用注册表编辑器查看/修改IndustrialSQL Server和MS SQL Server 连结参数。

要使服务器和客户程序能够很好地通信,我们必须为他们建立一条通信链路。服务器使用”ListenOn”参数定义网络类型和访问标志,它定义了服务器从网络的什么地方来“听”客户程序的请求信息。就好象服务器有一部电话机一样。服务器把电话号码(由网络类型和访问标志组成)告诉所有需要访问它的客户程序,然后服务器就等着客户程序来电。当然,服务器可以拥有不止一条线路,它可以同时从不同的网络类型和访问标志“听”客户程序的请求信息。

为了能和服务器通信,客户程序使用“ConnectTo”参数,它定义了每个服务器的网络类型、节点标志和访问标志。“ConnectTo”参数就好象和各个服务器通信的“电话簿”。

通常情况下,SQL Server 的网络连接如下图所示(以命名管道为例):

Client Computer

Microsoft SQL Server

ListenOn value: \\.\pipe\sql\query ConnectTo value: \\.\pipe\sql\query

图8-4 SQL Server 的网络连接

MS SQL Server的ListenOn注册表参数保存在以下键中: HKEY_LOCAL_MACHINE

\SOFTWARE

\Microsoft

\MSSQLServer

\MSSQLServer

\ListenOn

客户应用程序的ConnectTo注册表参数保存以下键中: HKEY_LOCAL_MACHINE

\SOFTWARE

\Microsoft

\MSSQLServer

\Client

\ConnectTo

(4) SQL Server:一个功能强大的RDBMS(关系型数据库管理系统)

RDBMS把信息存放在不同的但相互联系的许多表中,通过给表中的每一条记录指定一个唯一的“键”,表中的每一个记录都可以通过一个键值来引用。

SQL Server是一个基于LAN或WAN的关系型数据库管理系统。它主要用于处理在线事物处理(OLTP)环境下的任务密集的大容量数据,但它缺乏用于报告和执行信息系统所需的指令。所以,在本质上,SQL Server是一个数据仓库,它在保证数据的准确性,一致性和安全性的同时,主要用来处理来自客户程序的数据访问请求。

SQL Server采用开放式的编程接口,是完全支持Windows NT的对称多处理架构的数据库管理系统。它的核心是一个在广泛的硬件平台上提供了优化性能的完全的快速32位引擎。这个架构使它具有优越的性能/价格比。

此外,SQL Server还具有许多强大的数据库功能,如:自动数据恢复、动态备份、容错等,保证了数据的可靠性和一致性。基于Windows NT操作系统,在功能强大的Intel或RISC服务器平台下,SQL Server支持多达几百个用户。作为Windows NT的一个子系统,SQL Server继承了和Windows NT同样的可扩展性能。

下面我们再来看一下,IndustrialSQL Server是如何与MS SQL Server相结合,是如何工作的:

(5) 网络连接

我们先来看一下IndustrialSQL Server和MS SQL Server及客户程序的网络连接。安装完IndustrialSQL Server 7.1后,网络连接就自动配置好了。如果使用缺省的命名管道,不需要任何额外的配置工作就可以运行IndustrialSQL Server及其客户程序了。

连接安装完IndustrialSQL Server后,客户程序就可以直接连接到MS SQL Server,也可以连接到IndustrialSQL Server,由IndustrialSQL Server和MS SQL Server建立一个连接。客户程序连接到MS SQL Server的缺省管道名为:\\.\pipe\sql\query,连接到IndustrialSQL Server的缺省管道名为:\\.\pipe\wwsql。这样,由于我们给MS SQL Server和IndustrialSQL Server配置了不同的ListenOn参数,客户程序可以独立地连接到这两个服务器,如下图所示:

C lient C o m pute r Serv er Co m puter

IndustrialSQ L Serv er L istenO n v alue:

Co nnectTo v alue:

图8-5 客户程序在两个服务器之间的连接

Microsoft SQL Server 在以下注册表键中设置”ListenOn”参数:

HKEY_LOCAL_MACHINE

\SOFTWARE

\Microsoft

\MSSQLServer \MSSQLServer

这个键值决定了MS SQL Server 从何处”听”客户程序的连接请求. MS SQL

Server 名字就是装了MS SQL Server 的计算机的名字。

IndustrialSQL Server 在以下注册表键中设置”ListenOn”参数:

HKEY_LOCAL_MACHINE

\SOFTWARE

\Microsoft

\MSSQLServer \InSQL

这个键值决定了IndustrialSQL Server 从何处”听”客户程序的连结请求。

IndustrialSQL Server 的安装程序会自动建立一个映射到连接\\.\pipe\wwsql 的服

务器别名”InSQL ”,您可以登录到这个别名来连接IndustrialSQL Server。

(6) OLE-DB

IndustrialSQL Server 7.1支持最新的OLE-DB技术,它提供了一个OLE-DB Provider,作为连结服务器(Linked Server)与MS SQL Server相连结。客户程序只要连结到MS SQL Server,就可以用OLE-DB的方法,通过连结服务器(Linked Server)来访问存储在IndustrialSQL Server里的数据。

我们可以用MS SQL Server的Enterprise Manager来查看连结服务器,如下图所示:

图8-6 查看连结服务器

(7) ODS

客户程序也可以直接连结到IndustrialSQL Server,即直接连结到\\.\pipe\wwsql。这样,客户程序就可以直接访问IndustrialSQL Server中数据了。如果客户程序要访问MS SQL Server中的数据,IndustrialSQL Server会自动把对MS SQL Server的访问请求交给MS SQL Server,由MS SQL Server处理后再返回数据给IndustrislSQL Server,再由IndustrialSQL Server对数据重新整理后返回给客户程序。

(8)系统结构

IndustrialSQL Server的系统结构及客户程序的访问流程,如下图所示:

图8-7 IndustrialSQL Server的系统结构及客户程序的访问流程

相关文档
最新文档