转储的概念与要求

Navigation:  功能明细 > 数据转储 > 数据转储(到关系数据库) >

转储的概念与要求

Previous pageReturn to chapter overviewNext page

 

关系数据库连接名称:

关系数据库连接名称由用户在添加关系数据库连接时自行指定,用于惟一识别该连接,因此不得与已有连接名同名。

关系数据库连接名不得为空,最大长度64字节。

 

关系数据库名、地址、端口号(MySQL,SQLServer):

请参阅关系数据库相关文档。

关系数据库名不得为空,最大长度64字节。

关系数据库地址不得为空,最大长度256字节。

关系数据库端口号:不得为空,如果使用默认端口号,输入-1;否则输入合法端口号,范围:[0, 65535]。

 

数据源名称(Oracle,DB2):

Oracle数据库的数据源,可从Oracle服务端的tnsnames.ora文件中获得。

DB2数据库的数据源,若为本地数据库,其为数据库名称;若为远程数据库,其为DB2数据库编目到客户端所用的别名。

数据源名称不可为空,最大长度64字节。

 

关系数据库用户名:

系统管理平台配置转储,需要对关系数据库表进行创建、修改、删除操作;转储服务执行时,需要向关系数据库中插入记录;脚本转储时可能也需要对关系数据库表进行创建、修改、删除操作(视脚本中具体执行的SQL语句而定)。在配置关系数据库连接时,需要使用具有足够权限的关系数据库用户名。

关系数据库用户名不得为空,最大长度512字节。

 

关系数据库密码:

关系数据库密码最大长度256,可为空。

 

关系数据库表名:

转储服务要求关系数据库表名不得含有中文,不得含有空格,不得为空,最大长度256字节。

 

关系数据库字段:

关系数据库字段名不得包含中文,不得包含空格,不得为空,最大长度256字节。为字符型时,允许输入最多十位数字。

 

表映射:

我们使用表映射这一名词来表示转储规则与关系数据库中的表的对应关系,其保存了转储数据类型、存储数据方式等信息。

表别名(表映射名)不得为空,最大长度256字节。

 

规则名:

我们使用规则名来代表一个转储规则。规则名不得为空,最大长度63字节。

 

记录起始时间:

要转储的记录的时间戳的最小值(包含该时间),对应于非报警点的时间戳和报警点的开始时间。记录起始时间不得小于“1970/01/01 00:00:00”,不得大于“2038/01/19 03:14:06”。

 

记录间隔时间:

要转储的插值记录的插值间隔,即间隔多长时间取一条插值数据,不得大于8760时59分59秒。

 

记录结束时间:

要转储的记录的时间戳的最大值(包含该时间),对应于非报警点的时间戳和报警点的开始时间。记录结束时间不得小于“1970/01/01 00:00:00”,不得大于“2038/01/19 03:14:06”。

 

执行起始时间:

转储定时任务(转储规则)首次执行的时间。执行起始时间不得小于“1970/01/01 00:00:00”,不得大于“2038/01/19 03:14:06”。

 

执行间隔时间:

转储定时任务调度周期,即最短间隔多久再次执行该转换任务,不得大于8760时59分59秒。

 

窄表、宽表:

iHyperDB中的数据分为普通点记录、统计点记录、计算点记录、报警点记录,存储这些记录需要特定的关系数据库表。我们将关系数据库中的表分为两种类型:窄表和宽表。

窄表:该表的一行数据只包含一个Tag点的一条记录。

宽表:该表的一行数据包含一条或一条以上Tag点记录。

宽表转储支持多个表映射关联到同一张数据库表。

对于普通点记录、统计点记录和计算点记录,其既可以以窄表方式存储于关系数据库,也可以以宽表方式存储于关系数据库。

存储为窄表时,数据方式如下图:

images_DataDump_5

 

存储为宽表时,数据方式如下图:

images_DataDump_6

 

对于报警点记录,其只能以窄表方式存储于关系数据库中。数据方式如下图:

images_DataDump_7

 

普通点、计算点、统计点记录字段设置:

客户端添加表映射--创建表时,点击添加推荐字段,可以获取系统推荐的字段。

 

1. 存储方式为窄表

我们将这些类别的Tag点的记录的项目分为两个部分,基本项为必须转储的信息;可选项为用户自行决定是否转储的信息。

具体限制如下表:

 

名称

占用空间

表字段类型要求

说明

客户端配置限制

基本项

Tag点名

char[128]

最大长度不小于128的字符型

若报警点名中存在中文,需要支持中文的关系数据库,此时建议为“

最大长度不小于384(3*128)的字符型”

最大长度不小于128的字符型

 

时间戳

HDTime(nSec,nMsec)

最大长度不小于23的字符串

精确到毫秒的时间记录,格式为”YYYY-MM-DD HH:MM:SS MMM”

最大长度不小于23的字符型

 

数据值

int8

兼容32位整型的数值型或最大长度不小于12的字符型

用户保证字段类型正确

未限制

 

 

int16

兼容32位整型的数值型或最大长度不小于12的字符型

用户保证字段类型正确

未限制

 

 

int32

兼容32位整型的数值型或最大长度不小于12的字符型

用户保证字段类型正确

未限制

 

 

float32

双精度浮点型或最大长度不小于40的字符型

用户保证字段类型正确

未限制

 

 

float64

双精度浮点型或最大长度不小于40的字符型

用户保证字段类型正确

未限制

 

 

digital

同int8

用户保证字段类型正确

未限制

 

 

string

最大长度不小于1000的字符型

用户保证字段类型正确

未限制

可选项

数据质量

uint16

Uint16整型、浮点型或最大长度不小于5的字符型

 

Uint16整型、浮点型或最大长度不小于5的字符型

 

2. 存储方式为宽表

由于不同记录的时间戳不同,存储为宽表时需要取Tag点的插值记录。关系数据库表的字段必须和Tag点进行对应。具体说来,如果转储一个Tag点的数据值,则必须有字段符合该Tag点数据值的要求。存储为宽表时,记录信息中Tag点名、时间戳、数据值、数据质量的字段类型限制与存储为窄表时相同。

 

               注: 时间戳字段测试支持下列字段.

oracle :timestamp

sqlserver: datetime

mysql: datetime

postgresql: timestamp without time zone

db2:timestamp

 

报警点记录字段设置:

如果转储报警点记录到关系数据库中,则只能转储为窄表。我们将报警点记录的项目分为两个部分,基本项为必须转储的信息;可选项为用户自行决定是否转储的信息。

 

具体限制如下表:

 

名称

占用空间

表字段类型要求

说明

客户端配置限制

基本项

报警点名

char[128]

最大长度不小于128的字符型

若报警点名中存在中文,需要支持中文的关系数据库,此时建议为“

最大长度不小于384(3*128)的字符串”

最大长度不小于128的字符型

 

开始时间

HDTime(nSec,nMsec)

最大长度不小于23的字符型

精确到毫秒的时间记录,格式为”YYYY-MM-DD HH:MM:SS MMM”

最大长度不小于23的字符型

可选项

结束时间

HDTime(nSec,nMsec)

最大长度不小于23的字符型

精确到毫秒的时间记录,格式为”YYYY-MM-DD HH:MM:SS MMM”

最大长度不小于23的字符型

 

报警优先级

uint8

整型或最大长度不小于3的字符型

 

整型或最大长度不小于3的字符型

 

源值

char[1000]

视被监视Tag点的数据值而定

用户保证字段类型正确。建议为“最大长度不小于1000的字符型”

未限制

 

报警条件

char[128]

最大长度不小于128的字符型

 

最大长度不小于128的字符型

 

是否确认

uint8

整型或最大长度不小于3的字符型

 

整型或最大长度不小于3的字符型

 

报警类型

uint8

整型或最大长度不小于3的字符型

 

整型或最大长度不小于3的字符型

 

源点名

char[128]

最大长度不小于128的字符型

若源点名中存在中文,需要支持中文的关系数据库,此时建议为“

最大长度不小于384(3*128)的字符串”

最大长度不小于128的字符型

 

是否恢复

uint8

整型或最大长度不小于3的字符型

 

整型或最大长度不小于3的字符型

 

确认类型

uint8

整型或最大长度不小于3的字符型

 

整型或最大长度不小于3的字符型

 

确认时间

HDTime(nSec,nMsec)

最大长度不小于23的字符型

精确到毫秒的时间记录,格式为”YYYY-MM-DD HH:MM:SS MMM”

最大长度不小于23的字符型

 

确认者

char[32]

最大长度不小于32的字符型

若确认者名称中存在中文,需要支持中文的关系数据库,此时建议为“

最大长度不小于384(3*128)的字符型”

最大长度不小于32的字符型

 

注释

char[1000]

最大长度不小于256的字符型

若注释中存在中文,需要支持中文的关系数据库,此时建议为“

最大长度不小于768(3*256)的字符型”

最大长度不小于256的字符型

 

注释时间

HDTime(nSec,nMsec)

最大长度不小于23的字符型

精确到毫秒的时间记录,格式为”YYYY-MM-DD HH:MM:SS MMM”

最大长度不小于23的字符型

 

注释者

char[32]

最大长度不小于32的字符型

 

最大长度不小于32的字符型