Zoom Pipeline Server 简要说明书

ZpServer 简要说明书	1

1 软硬件要求	1

2 首次部署服务器	1

2.1 安装MySQL服务	1

2.1.1 Windows XP/Server 2003/Vista	1

2.1.2 Windows7/Sever 2008以上	1

2.1.3 Ubuntu Linux	2

2.1.4 配置性能参数	2

2.1.5 导入数据库结构	3

2.2 部署服务器应用程序	1

2.2.1 启动服务程序	1

2.2.2 通用设置--添加端口	2

2.2.3 通用设置--线程池性能	2

2.2.4 通用设置--数据库连接	3

2.2.5 通用设置--集群参数	4

2.2.6 专有设置--zoomPipeline Server参数	6

2.2.7 最终配置	6

2.3 使用控制台执行初始化	1

2.3.1 第一次启动控制台	1

2.3.2 登录控制台	1

2.3.3 添加新的用户	2

2.3.4 添加新的停车场	2

2.3.5 添加新的网关客户端	3

2.3.6 为停车场关联用户	3

2.3.7 为网关客户端关联停车场	4

2.3.8 重新启动控制台	4

2.4 使用桩网关测试服务器	5

3 日常维护	5

3.1 查看传感器状态	6

3.2 查看日志	6

小贴士含义：

网络安全注意事项
关系到服务器功能的注意事项
技术参考链接和资料获取方法
小窍门

非常感谢使用本产品！本手册将帮助您迅速在新环境下部署并管理服务端。

软硬件要求

zoomPipeline Server服务需部署在x86架构通用计算机上，依照服务所承载的传感器规模的不同，可选取不同的配置，下述配置可供参考。

<100:	Intel Core-2 Duo 以上PC，2GB内存

<500:	Intel i-3 PC，4GB内存

<1000:	Intel i-7 工作站，8GB内存

<5000:	Intel E5 服务器，16GB内存，磁盘阵列/SSD

>10000:	Intel E5 集群，单节点16GB内存，磁盘阵列/SSD

服务要求的软件基础环境：

Windows XP, Vista, 7, 8	(32/64位)

Windows Server 2003, 2008(R2),2012	(32/64位)

Ubuntu Linux 12.04LTS以上	(32/64位)

zoomPipeline Server的服务器运行原理参见《后台服务开源框架原理手册》，遵循LGPL协议
选取固态硬盘(SSD)往往能够显著提升密集小数据读写的性能。调整服务器上MySQL服务的参数，以便发挥硬件的最佳性能
推荐采用操作系统 ：

Windows 7 x64

Ubuntu 16.04 x64

首次部署服务器

部署服务器应用程序

把服务程序依赖项拷贝到目标文件夹内。

*对基于MinGW32编译器编译的可执行包，请确保指向服务文件夹的全路径中不包含非拉丁文字（汉字、日文字符及全角数字、符号）

*在Ubuntu下，必须在图形界面下运行本程序。
可执行文件如下:

QTcpClientTest

用于做收发测试

FunctionalClientTest.exe

用于部署时测试功能而使用的桩网关（模拟）

ZoomPipeline_FuncSvr.exe

服务主程序

启动服务程序

双击ZoomPipeline_FuncSvr.exe可直接启动服务器界面，使用下面的命令行参数可自动启动服务或者指定不同的配置文件:

ZoomPipeline_FuncSvr [--autostart] [Ini filename]

1、使用默认参数配置文件自动启动服务

Start .\ZoomPipeline_FuncSvr.exe --autostart

效果其实等同于

Start .\ZoomPipeline_FuncSvr.exe --autostart .\ZoomPipeline_FuncSvr.exe.ini

2、使用配置文件.\CTRL.ini启动服务

Start .\ZoomPipeline_FuncSvr.exe --autostart .\CTRL.ini

启动后，界面如下图所示。

图 2‑3 启动状态的服务程序

通用设置--添加端口

初始状态下，打开“设置”选项卡，在“监听器”栏目中，设置监听端口。

图 2‑4 添加新的监听端口

名称：监听端口的名称，可以是中文。

地址：监听的地址，在多网卡时有用，一般留空即可

端口：监听的TCP端口

SSL连接: 指是不是使用SSL连接。尽管服务器是支持SSL协议的，但是目前停车场网关并不支持SSL协议。

点击按钮“添加” 即可添加一条监听端口。

在添加端口后，别忘了点击“保存” 按钮哦！
一个监听端口对应一个独立的监听线程，因此，添加多个监听端口，可以提高单进程的并发性能
通用设置--线程池性能

本服务器框架支持对传输线程（负责TCP传输）、处理线程（负责逻辑解析和处理）进行精细设置。

由于CPU的物理核心数是有限的，线程池的规模如果远远大于实际的物理核心数，会导致大量CPU资源浪费在线程上下文切换上，造成性能损失。

建议：传输线程、处理线程均等于CPU核心数。

图 2‑5 设置线程池规模

通用设置--数据库连接

在“数据库资源”选项卡，设置2.1.5节初始化的数据库参数。

图 2‑6 设置数据库连接

名称：数据库资源的名称, 如dbname

类型：QSqlite

主机地址:

主机端口：

数据库实例：文件名，/path/to/.../zpserver/DatabaseMod/smartlink_svr.sqlite

别忘了点击“保存” 按钮哦！
服务框架可以添加多个数据库资源。对应zoomPipeline Server服务器，可以把用户认证服务器和事件服务器分开，以分散压力。
通用设置--集群参数

服务器框架支持多个服务器进程组成集群。这种集群是没有中心的网状结构，适用于中等规模的并发响应。

集群的工作原理很简单。首先，若干台服务器通过高速局域网组成子网（内网），各自监听若干节点端口；而后，新的服务器选择集群内某台节点端口为入口，连接并加入集群；很显然，在最初阶段，集群内只有一台服务器；最终，新连接的服务器会和每个已有节点连接，形成星型网络。

为了管理集群服务网络，需要设置以下参数：

1、节点监听的地址、端口,为本地集群子网地址；

2、本节点唯一名称；

3、对服务器集群内其他节点发布的连接端口、地址（一些服务器可能位于不同的局域网内，存在NAT，从另一个局域网连接本节点的地址必须告知对方）；

4、对公网网关客户端发布的连接端口、地址。一般各个服务器上的内网端口会被映射到公网同一个IP的连续端口上去。

图 2‑7 zoomPipeline Server 集群结构

举个例子：

服务器高速光纤局域网网段为 10.129.XX.XX；

有些服务器以虚拟机(192.168.11.XX)+NAT(10.129.XX.XX)的方式在内网的子网中映射，因此，需要告诉别的服务器节点，如何连接到自己。

同时，对公网客户端来说，每个服务器的连接地址又不同了。很有可能也是通过NAT的方式，把数十个内网IP映射到一个外网出口的连续端口上去。这个策略的配置页面如下：

图 2‑8 集群设置界面

别忘了点击“保存” 按钮哦！

在首次运行的时候，需要手工指定集群入口的地址，否则在服务器自动启动时，不会发起加入集群的行动。具体方法：

修改文件ZoomPipeline_FuncSvr.exe.ini

添加或修改

[history]

clusterAddr=入口节点地址

clusterPort=入口节点端口

对拥有几十台服务器的集群，编辑配置文件并集中发布要比手工在GUI图形界面上设置方便的多哦！

专有设置--zoomPipeline Server参数

图 2‑9 zoomPipeline Server 专有参数

心跳检测最大保活时延：服务器会踢出在此时延内没有任何数据通信的客户端。

用户信息数据库连接资源名称
关键消息缓存数据库连接资源名称：填写在数据库连接设置中存在的数据库名称,如dbname

均衡门限：当本服务进程承担客户端个数超过本门限后，将在新客户端连接时建议其重定向到负荷较轻的服务器。这个值不能太小，太小后，将引起频繁的重定向。

别忘了点击“保存” 按钮哦！

最终配置

在所有设置全部完成后，重启服务器完成配置。服务器的正常状态如下图所示：

图 2‑10 服务器的正常状态

使用桩测试服务器

启动“FunctionalClientTest.exe”，运行桩网关程序。

图 2‑19 使用桩网关连接服务器测试

IP为2.2.2设置的服务器IP地址

端口为2.2.2设置的监听端口

设备序号为2.3.5节设置的序号

顺序单击“连接”、“注册”，和“登入”

连接失败，请检查服务器是不是在指定的端口监听

特别是做了NAT的网络，可能因为防火墙的问题导致连接失败。
注册、登入失败，请检查：

是否设置了正确的序列号

服务器的数据库是否连接正常
经过这个步骤，基本可确定服务器配置完毕。