实时数据库管理系统技术要求
投标方提供的产品,其技术水平和质量标准应满足本规范书的具体要求。评标过程中,招标方专家将基于技术部分评分规则,对投标方所提供技术方案的完整性、先进性、合理性、详细程度等进行打分。
1功能要求
投标方提供的管理软件需要满足基本功能和访问接口要求,需要提供方便易用的管理客户端,服务端至少需要提供设备测点信息管理服务、快照数据管理服务、历史数据管理服务、实时计算服务,并且管理软件有完善的安全管理功能。
1.1基本功能
| 功能模块 |
功能要求 |
| 标签点 |
系统能按照标签点的形式收集、处理和存储电厂控制系统或者其它系统产生的时间序列数据、手工数据、或者其它外部应用数据,并为这些数据提供管理平台和应用的接口 |
| 数据记录 |
数据记录包含:数据时间戳、数据值、数据状态 |
| 镜像功能 |
可以配置, 支持一个镜像目标,以点名为标准;支持TCP,用于服务器冗余,支持断线缓存。支持跨网闸数据镜像和传输能力。支持全量镜像和部分测点镜像。 |
| 迁移 |
支持数据库部分数据文件和数据点配置信息直接拷贝使用(规模相同) |
| 日志 |
数据库支持系统日志,日志内容应包括数据库系统运行中的操作信息、维护修改记录、警告信息、错误信息等 |
| 统计接口 |
支持数据统计功能,至少包括最大值、最小值、算术平均值、加权平均值和累积值 |
| 订阅 |
需提供动态订阅的接口,包括订阅/取消接口。订阅客户端数目由授权控制,订阅数据点数量可通过数据库参数配置。 |
| 数据读写 |
支持标签点任意时间历史数据的查询、写入、删除 对任一标签点的历史数据插入和实时数据写入应可同时进行 支持指定间隔时间与指定记录个数的数据查询 |
| SQL |
支持类SQL语言进行标签点和数据的查询、修改、写入 |
| 数据缓存 |
提供缓存读写API,可完成数据断线缓存和断点续传功能。 |
| 实时数据导出 |
提供实时数据导出到kafka的功能(windows)。 |
1.2管理客户端
| 功能模块 |
功能要求 |
| 首页信息 |
显示用户协议授权信息、当前服务端版本信息以及快速入门信息 |
| 标签点属性配置 |
标签点属性显示与配置 |
| 表、标签点管理 |
表、标签点增、删、改、查 |
| 历史查询 |
标签点的存储值、插值、统计值查询 |
| 存档文件管理 |
创建、入列、解列、重建索引、备份、移动、转换索引类型、整理等。 |
| 用户管理 |
对用户进行增、删、改操作管理 |
| 系统资源监控 |
查看本地系统磁盘空间使用率及CPU使用率 |
| 文件菜单 |
退出客户端登录、关闭客户端窗口 |
| 应用程序外观设置 |
选择不同的显示风格,显示企业管理器的外观。 |
| 工具栏停靠窗口设置 |
显示或隐藏导航试图、状态栏、属性器设置工具栏等 |
| 连接 |
查看服务端与客户端连接状态 |
| 可以添加扩展标签点类型 |
标签点类型有:基本标签点、采集标签点、计算标签点、采集计算标签点 |
| 新增自定义数据类型 |
用户可以根据需求由数据库中的16种内置类型自由组合成自定义数据类型。 |
| 标签点回收站 |
在打开列表中被删除的标签点存放的位置,可以通过标签点回收站,恢复被删除的标签点,被恢复的标签点其在存档文件中对应的历史值还有效。 |
| 历史计算 |
计算标签点可以对历史数据进行重算或补算 |
| 连接管理 |
远程监控所有连接服务端的客户端进程 |
| 信任连接 |
信任连接客户端配置管理 |
| 黑名单 |
相对信任连接而言,限制客户端用户连接服务器 |
| 日志 |
系统提供多种日志检索方式进行查询系统日志 |
| 历史绘图 |
根据时间间隔等设置可显示一个或多个标签点的历史值曲线图 |
| 实时绘图 |
根据设置可显示一个或多个标签点的实时值曲线图 |
| 后台任务 |
当用户操作涉及的历史服务、方程式服务、标签点信息服务相关进度及操作结果的监视 |
| 文本/二进制数据查看 |
查看String、Blob、自定义数据类型的值 |
| 状态栏 |
显示服务器时间、客户端时间以及当前登录用户信息 |
| 系统参数设置 |
主要针对系统实时或历史值的读、写、存储等调优配置进行设置 |
| 存档文件属性设置 |
显示存档文件基本信息和对其额定大小、文件自动增长大小等进行设置 |
| 断面查询 |
针对标签点断面查看标签点的历史值 |
| SQL查询 |
通过连接数据源,用SQL查询分析器查询标签点的值 |
| 统计分析 |
查看并展示历史曲线、实时曲线和计算点拓扑图 |
| 性能监视 |
用来监视数据库服务器的性能参数,包括CPU、内存、磁盘、IO及数据库相关服务信息 |
| API监视 |
监视连接到数据库的所有客户端每次调用API的信息,可通过设置列、筛选字段等查看信息 |
| 标签点视图 |
用户根据应用需求,把不同表里面的标签点放在一个标签点视图里面,视图是对标签点进行了自定义的分组,同一个标签点可以出现在不同的视图里 |
| 标签点扩展属性设置 |
标签点基本属性显示修改和扩展属性设置等 |
| 批量导入、导出标签点 |
通过批量导入、导出,对当前打开的表快速创建、修改、删除标签点(注:只能在当前打开的表中进行批量操作) |
| 批量修改标签点属性 |
根据表或选定的标签点快速、便捷的批量修改其属性 (注:标签点只读属性除外) |
| 复杂查询 |
标签点历史值可带条件的进行复杂查询 |
| 错误查找 |
根据系统提示的错误码查找对应的错误信息 |
| 连接池大小 |
客户端占用服务端网络连接资源大小 |
| 超时锁定值 |
设置会话断开连接功能,默认情况下设置为30分钟; 设置为0可关闭该功能 |
| 选择列 |
设置显示打开表的标签点属性列 |
1.3测点信息管理服务
| 功能模块 |
功能要求 |
| 标签点名称 |
标签点名称支持中文名称和中文描述,特殊字符支持(./\除外) |
| 时间戳精度 |
时间戳支持毫秒级,可以单点配置采集时间戳精度 |
| 质量码 |
支持质量码扩展,预定义部分质量值,并保留0~512为数据库预留质量值,>512为用户自定义质量值 |
| 数据类型 |
float32、int32、bool、uint8、int8、char、uint16、int16、uint32、int64、float16、float64、coor、string、blob、datetime |
| 属性 |
标签点的属性至少包含以下内容:名称、描述、数据源、工程单位、数据类型、量程范围、压缩百分比等 |
| 在线修改 |
系统支持在线单点/批量新增、删除标签点(ID由数据库生成,不可修改,不回收),修改标签点属性(数据类型不可修改) |
| 系统点 |
系统点应包括:服务器的CPU使用率、内存占用率,服务程序的CPU使用率、内存占用率、IO读写,服务程序内部模块的关键检测或运维指标等 |
| 特殊数据类型镜像能力 |
String、blob、自定义类型等需支持镜像功能 |
1.4快照数据管理服务
负责更新并存储测点的实时值、质量和时间戳,对数据进行例外过滤和压缩过滤,同时提供对实时数据访问的服务。
| 功能模块 |
功能要求 |
| 快照结构 |
支持更新并存储测点的实时值、质量和时间戳 |
| 例外压缩 |
支持对数据进行例外过滤和压缩过滤 |
| 压缩算法 |
采用旋转门压缩机制,对每个测点均可配置其压缩方法,共包括:不压缩、仅旋转门压缩 |
| 持久化 |
提供数据定时存盘备份的自动功能,做持久化存储备份,启动时自动读入上次存档,以提供掉电恢复等灾难恢复能力 |
1.5历史数据管理服务
负责更新和存储测点的历史值、质量和时间戳,提供高效可靠的历史数据访问和存储服务。
| 功能模块 |
功能要求 |
| 备份 |
具有备份及自动备份功能 能够自动备份被修改的历史数据存档文件(例如被追加历史数据) |
| 空间利用 |
应具备存储空间占满时的处理机制,保证数据库的正常运行(可根据配置覆盖最旧的数据) |
| 多路径存储 |
存档文件可指定多个存储路径,可在线增加存储路径,具有容量扩容功能。 |
| 文件管理 |
能够批量新建历史数据文件,能够批量追加、移除已有历史数据文件 |
| 时间分区 |
保证历史数据存档文件的开始时间和结束时间互斥。即相邻两个数据文件,时间上“一定”不重叠。 |
1.6实时计算服务
实时计算服务应支持基本的算术逻辑运算、基本的数值比较、基本的数值函数及内建函数,可以向数值函数中嵌套数值函数,也可以嵌套内建函数,还可以嵌套一个表达式。
支持的运算符号及优先级如下:
| 运算符 |
含义 |
优先级 |
| and |
逻辑与 |
1 |
| or |
逻辑或 |
1 |
| && |
逻辑与 |
1 |
| || |
逻辑或 |
1 |
| xor |
逻辑异或 |
1 |
| <= |
小于等于 |
2 |
| >= |
大于等于 |
2 |
| != |
不等于 |
2 |
| == |
等于 |
2 |
| > |
大于 |
2 |
| < |
小于 |
2 |
| + |
算术加 |
3 |
| - |
算术减 |
3 |
| * |
算术乘 |
4 |
| / |
算术除 |
4 |
| % |
算术求余 |
4 |
| ^ |
幂 |
5 |
支持的常用常用数学函数如下表所示:
| 数值函数 |
语法 |
含义 |
| sin |
sin(arg) |
求正弦值 |
| asin |
asin(arg) |
求反正弦值 |
| sinh |
sinh(arg) |
求正弦双曲线值 |
| asinh |
asinh(arg) |
求反正弦双曲线值 |
| cos |
cos(arg) |
求余弦值 |
| acos |
acos(arg) |
求反余弦值 |
| cosh |
cosh(arg) |
求余弦双曲线值 |
| acosh |
acosh(arg) |
求反余弦双曲线值 |
| tan |
tan(arg) |
求正切值 |
| atan |
atan(arg) |
求反正切值 |
| tanh |
tanh(arg) |
求正切双曲线值 |
| atanh |
atanh(arg) |
求反正切双曲线值 |
| log |
log(arg) |
求以自然对数 e 为底的对数 |
| log2 |
log2(arg) |
求以 2 为底的对数 |
| log10 |
log10(arg) |
求以 10 为底的对数 |
| ln |
ln(arg) |
同 log |
| exp |
exp(arg) |
求以自然对数 e 为底的指数 |
| sqrt |
sqrt(arg) |
求平方根 |
| sign |
sign(arg) |
求符号位 |
| abs |
abs(arg) |
求绝对值 |
| rint |
rint(arg) |
四舍五入 |
| min |
min(arg1,arg2,…,argN) |
求最小值 |
| max |
max(arg1,arg2,…,argN) |
求最大值 |
| sum |
sum(arg1,arg2,…,argN) |
求算术和 |
| avg |
avg(arg1,arg2,…,argN) |
求算术平均值 |
支持的内建函数如下表所示:
| 内建函数 |
语法 |
含义 |
| bit |
bit('table.tag',n) |
求标签点当前快照值的某一位, 其中 n 的取值范围为 [0,32) |
| value |
value('table.tag') |
求标签点当前快照的数值 |
| quality |
quality('table.tag') |
求标签点当前快照的质量码 |
| stamp |
stamp('table.tag') |
求标签点当前快照的时间戳 |
| hisvalue |
hisvalue('table.tag', "histime") |
求标签点某个时刻的历史值 |
| total |
total('table.tag',"starttime","endtime",mode) |
求标签点某个时间段的历史统计值 |
1.7安全管理功能
| 功能模块 |
功能要求 |
| 用户登录验证 |
支持超级管理员登录、支持系统管理员登录、支持普通用户登录,包括只读用户、数据写入用户、表管理员; 禁用用户不能登录,提示系统管理员解锁信息 |
| 用户登录次数验证 |
用户输入密码错误5次后,要求被锁定 |
| 用户被解锁 |
超级管理员修改“启用”后,普通用户能被解锁 |
| 密钥显示检查 |
登录密码输入显示为密文“.” |
| 连接池大小设置 |
登录成功,查看连接管理界面中,用户连接数为设置个数。 |
| 连接超时设置 |
检查网络状态不好的情况下,超过连接超时设置后,则会退到当前登录界面 |
| 用户管理 |
超级管理员\系统管理员能够创建用户、删除用户、修改用户密码、修改用户权限、修改用户登录状态 |
| 连接管理 |
超出超时断开时间后,支持连接自动断开 支持手动断开连接 支持查看登录用户的信息 |
| 黑名单设置 |
支持将设置的IP加到黑名单列表中 支持将选择的IP从黑名单中删除 |
2、非功能要求
2.1性能需求
投标方提供的软件产品需满足但不限于以下性能指标,并提供相应指标的测试报告,具体要求如下:
| 产品性能 |
性能要求 |
约束条件 |
|
| 性能需求 |
单节点管理标签容量无限制; 并发用户数不小于1000; 实时写入性能:不少于500万条记录/秒; 历史补写性能:不少于100万条记录/秒; 查询性能:不少于200万条记录/秒; 实时计算:不少于20万次/秒; 单测点1天历史原始数据查询时间:<0.3秒 2000测点历史时刻数据查询时间:<0.03秒 数据压缩性能:30:1~60:1 镜像通道打开时数据库读写性能表现:无影响 计算服务开启时数据库读写性能表现:计算服务单独进程,和数据服务互不影响。 |
历史数据查询的数据环境:500万测点、每测点采集周期1秒 服务器: CPU 4核心、32G内存(10万测点) CPU 16核心、256G内存(500万测点)
|
|
2.2部署方式
投标方提供的软件产品需支持多种部署方式,考虑到不同的应用场景,具体要求如下:
| 部署方式 |
部署方式要求 |
| 部署方式 |
在windows环境中,需要提供软件安装包; |
| 高可用部署 |
支持window集群软件、Rose HA集群管理软件 |
2.3系统扩展性
支持二次开发的功能扩展,满足大并发、低延迟、高可用的技术要求。
支持统一的数据访问接口,包含通用API及ODBC接口等,API应支持C/C++、C#、JAVA等主流开发语言,提供支持Restful风格的WebAPI。主要包括但不限于以下功能:
- 执行与客户端服务器相关的创建、连接、断开、重连、超时等功能;
- 与用户相关的账户创建、修改、黑名单、白名单、日志等模块的操作;
- 对数据表、标签点、存档文件的CRUD操作;
- 对实时快照数据和历史归档数据的CRUD操作;
- 对标签点的断面查询、统计值、复杂查询、趋势查询等操作;
- 获取预处理模式操作数据和执行SQL结果集;
- 对标签点快照变化、属性变化进行订阅;
- 获取错误信息和其它相关信息。
2.4系统易用性
要求界面操作简洁方便,具备良好的人性化设计,操作效率高,可通过客户端直接编辑访问。整体界面简洁美观,颜色视觉舒服,操作顺畅、方便。
2.5系统兼容性
该软件需具备良好的兼容性,要求如下:
| 系统类别 |
系统版本 |
| Windows |
Windows Server 2008/R2、2012/R2、2016 (x64) Windows 7、8、8.1、10 (x64) |
2.6系统安全性
该软件需具备良好的安全性,具体要求如下:
| 安全性 |
安全性要求 |
|
| 系统安全性 |
招标方的各项安全管理要求 满足招标方产品安全规范要求 应保证信息的安全性,即保证此系统中的信息能够安全存储,并有良好的数据备份和快速恢复方案 保证系统能够正常运行不被破坏 |
|