HDPubServer是基于iHD实时数据库扩展的数据传输服务。主要用于将iHD实时数据库中的数据发送到iPlat-dm模块,HDPubServer运行于iHD实时数据库服务端。HDPubServer具备接受注册、推送和查询等功能,配合主备iHD服务器,支持主备服务,供iPlat-dm模块选择调动。同时在主/备iHD服务器上运行的HDPubServer服务,dm可自动进行连接和切换。一个iPlat-dm模块可配置多个HDPubServer连接。
●环境要求
服务端支持操作系统:Windows、Linux;
网络连接:RJ-45以太网传输速率100Mbps以上,推荐1Gbps及以上。服务器需对外开放端口5674。
●HDPubServer端配置
HDPubServer配置文件位于iHyperDB的【config】目录下,配置文件名:HDPubServer.xml,文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<HDPubServer version="1.0">
<HostAddr IP="127.0.0.1" port="5673" /> //连接IHD地址和端口
<BackupAddr IP="" port="" />
<ThreadNum thread_number="3" /> //处理线程数
<PublishFreq refresh_time="50"/> //推送频率(单位:毫秒)
<CheckHeartbeatsFreq check_time = "1000"/> //心跳查询间隔(单位:毫秒)
<ClientHeartbeatsInterval heartbeats_interval = "180" /> //客户端断开时间限制(单位:秒)
<UpdateTagInterval update_interval = "60000" /> //线程更新tag频率(单位:毫秒)
<LogMonitor tag_id = "12" /> //推送打印,跟踪tag ID
<PackageSize package_size = "4193304" /> //发送包大小限制(单位:byte)
<ServiceUrl url = "http://10.25.10.32:8080/iplat/service/S_BI_OP_10" /> //追踪调用链日志上传接口
<RequestTimeout request_timeout = "5" /> //IHD请求超时时间
<Login user = "" password = "" /> //连接IHD用户名密码
<Encoding transfer_encoding = "2" /> //pubserver编码配置
<Reregister reregister_time="60000" /> //重新注册检测周期
<FullPush full_push="1" /> //全量推送
<Port port="5674" /> //HDPubServer 端口
</HDPubServer>
配置文件参数说明:
HostAddr:iHD主机参数;
❖IP:主机地址,按实填写;
❖port:主机端口,按实填写,缺省“5673”;
BackAddr:iHD备机参数;
❖IP:备机地址,如有则填;
❖port:备机端口,如有则填;
ThreadNum:
❖thread_number:程序线程数;
PublishFreq:
❖refresh_time:推送频率,单位ms;
CheckHeartbeatsFreq:
❖check_time:心跳检测频率,单位ms;
ClientHeartbeatsInterval:
❖heartbeats_interval:心跳间隔,单位s;
UpdateTagInterval:
❖update_interval:tag点刷新频率,单位ms;
LogMonitor:
❖tag_id:用于帮助查找分析故障用,定位任意一个ihd实时数据库中的非系统点,均可。
编码配置Encoding中1代表ihd中数据编码是gbk,2代表ihd中数据编码是utf-8,默认是utf-8目前PubServer只支持这两种编码。IHD存储所有数据的编码格式需要一致,编码配置和存储格式也要一致,否则iPlat显示时会出现乱码。全量推送配置中0代表值变化推送,1代表全量推送,默认是值变化推送。 |
●iPlat-dm端配置
正式使用HDPubServer之前,需在iPlat-dm端进行对应配置。配置页面:iplat-dm/web/BIDH01,地址和端口需要与HDPubServer所部署的参数对应。
当一个iPlat-dm模块需要配置多个HDPubServer的节点时,类似上图黄色高亮部分(地址参数项)内可填写多个IP地址。注意填写规范:不同节点地址间用半角分号“;”分隔。
●功能明细
HDPubServer接受iPlat-dm模块的请求,并反馈信息。支持如下功能:
❖注册、推送:HDPubServer接受iPlat-dm模块的注册,根据iPlat-dm模块提供的信号点表推送tag数据(逢变则传);
❖历史记录查询:根据iPlat-dm模块提供的查询条件,可以查询过去一段时间的历史记录或插值历史记录;
❖批量同步读:支持批量查询tag点;
❖条件查询:支持根据iPlat-dm模块提供的查询条件,查询返回tag点及其数值。
❖Tag点详情信息查询:支持查询点值量程、质量、时间戳等信息,具体支持的域如下:
默认不填 当前值vtq
timestamp 时间戳
quality 质量
A_DESC 描述
F_EGU_LOW 最小值
F_EGU_SPAN 量程
A_EGU_LBL 工程单位
A_CV 当前值vtq 与默认不填一样
F_CV 当前值vtq 与默认不填一样
A_TIMESTAMP 时间戳 与timestamp一样
F_TIMESTAMP 时间戳 与timestamp一样
A_QUALITY 质量 与quality一样
F_QUALITY 质量 返回实际质量数值
相关iPlat-dm模块的使用及配置,请查阅iPlat-dm模块手册。
●启动和关闭
启动HDPubServer之前,请确认config目录下有配置文件HDPubServer.xml。
❖windows系统下启动/关闭
使用数据节点服务管理工具,勾选HDPubServer,并点选启动/停止按钮;或直接在文件资源管理器中双击HDPubServer.exe启动,在该进程窗口按“q”键退出。
❖linux系统下启动/关闭
linux系统下,运行启动脚本hdstart启动,运行停止脚本hdstop停止。