← 返回列表

CTP二代期货系统部署指南

发布于 2026-07-17 · 阅读约 15 分钟

系统基础环境搭建

未特别说明, 则所有机器均配置

  1. db, trade1, trade2, config 安装 redhat 6.9

  2. 关闭开机启动项 和 selinux


chkconfig NetworkManager off
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

chkconfig NetworkManager off
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

重启生效


reboot

reboot

重启后检查 检查 selinux 是否关闭


getenforce

getenforce
  1. db 配置 /etc/hosts

172.0.0.10 db sjqh1

172.0.0.10 db sjqh1
  1. 根据 附录1 配置网络

    ‌vi /etc/sysconfig/network-scripts/ifcfg-eth{n}


DEVICE=eth{n}
HWADDR=XX:XX:XX:XX:XX:XX
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.0.0.10
NETMASK=255.255.255.0

DEVICE=eth{n}
HWADDR=XX:XX:XX:XX:XX:XX
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.0.0.10
NETMASK=255.255.255.0

配置完成重启网络


service network restart

service network restart
  1. 配置 yum 源

    连接光盘 💿 映像文件


mount /dev/cdrom /mnt
rm -rf /opt/redhat6
mkdir /opt/redhat6
cp -rp /mnt/* /opt/redhat6

cat > /etc/yum.repos.d/base.repo <<EOF
[redhat]
name=redhat
baseurl=file:///opt/redhat6
enabled=1
gpgcheck=0
EOF

yum clean all
yum makecache

mount /dev/cdrom /mnt
rm -rf /opt/redhat6
mkdir /opt/redhat6
cp -rp /mnt/* /opt/redhat6

cat > /etc/yum.repos.d/base.repo <<EOF
[redhat]
name=redhat
baseurl=file:///opt/redhat6
enabled=1
gpgcheck=0
EOF

yum clean all
yum makecache

安装工具, 依赖


yum install -y openssh-clients dos2unix unzip libaio

yum install -y openssh-clients dos2unix unzip libaio

数据库,柜台部署

安装 oracle 数据库

root 用户


# 创建组
groupadd oinstall
groupadd dba
groupadd oper

# 创建用户, 设置密码
useradd -g oinstall -G dba,oper -d /home/oracle oracle
echo 'oracle:oracle' | chpasswd

# 建目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u02/arch
mkdir -p /u02/software
mkdir -p /u02/dumpdp
mkdir -p /u02/sjqh

# 设置权限
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02

# 设置环境变量
cat > /home/oracle/.bash_profile <<"EOF"
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
export NLS_LANG=American_america.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin:.
EOF

# 系统参数配置
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
/sbin/sysctl -p

# 文件数和安全设置
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF

# 创建组
groupadd oinstall
groupadd dba
groupadd oper

# 创建用户, 设置密码
useradd -g oinstall -G dba,oper -d /home/oracle oracle
echo 'oracle:oracle' | chpasswd

# 建目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u02/arch
mkdir -p /u02/software
mkdir -p /u02/dumpdp
mkdir -p /u02/sjqh

# 设置权限
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02

# 设置环境变量
cat > /home/oracle/.bash_profile <<"EOF"
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
export NLS_LANG=American_america.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin:.
EOF

# 系统参数配置
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
/sbin/sysctl -p

# 文件数和安全设置
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF

上传 p10098816_112020_linux-x86-64_1of7.zip , p10098816_112020_linux-x86-64_2of7.zip

/u02/software


# 解压安装包
cd /u02/software
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

# 安装依赖
yum -y install binutils* compat-libstdc++* elfutils-libelf-* gcc* glibc-* glibc-devel-* glibc-headers* ksh* libaio* libgcc-* libstdc++-* make-* numactl-devel-* sysstat-*

# 确认依赖全部安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel | grep "not"


# 解压安装包
cd /u02/software
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

# 安装依赖
yum -y install binutils* compat-libstdc++* elfutils-libelf-* gcc* glibc-* glibc-devel-* glibc-headers* ksh* libaio* libgcc-* libstdc++-* make-* numactl-devel-* sysstat-*

# 确认依赖全部安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel | grep "not"

如果有缺少,手动安装缺少的依赖


# yum install -y ...

# yum install -y ...

oracle 用户

安装数据库


cd /u02/software/database; ./runInstaller

cd /u02/software/database; ./runInstaller

安装完成 root用户 执行脚本


/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh

创建数据库


dbca

dbca

配置 ORACLE_SID


echo "export ORACLE_SID=sjqh1" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile

echo "export ORACLE_SID=sjqh1" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile

配置监听


netca

netca

数据库配置 运行: sqlplus / as sysdba


-- 密码有效期设置为无限制
alter profile default limit password_life_time unlimited;
-- 错误密码尝试次数设置为无限制
alter profile default limit failed_login_attempts unlimited;
-- 关闭审计
alter system set audit_trail =false scope=spfile;
-- 忽略大小写
alter system set sec_case_sensitive_logon=false scope=spfile;
-- 增加临时表空间容量
alter tablespace temp add tempfile '/u01/app/oracle/oradata/sjqh1/temp02.dbf' size 5G autoextend on;
-- 增加UNDO表空间容量
alter tablespace undotbs1 add datafile '/u01/app/oracle/oradata/sjqh1/undotbs02.dbf' size 5G autoextend on;

-- 重启数据库
shutdown immediate
startup

-- 密码有效期设置为无限制
alter profile default limit password_life_time unlimited;
-- 错误密码尝试次数设置为无限制
alter profile default limit failed_login_attempts unlimited;
-- 关闭审计
alter system set audit_trail =false scope=spfile;
-- 忽略大小写
alter system set sec_case_sensitive_logon=false scope=spfile;
-- 增加临时表空间容量
alter tablespace temp add tempfile '/u01/app/oracle/oradata/sjqh1/temp02.dbf' size 5G autoextend on;
-- 增加UNDO表空间容量
alter tablespace undotbs1 add datafile '/u01/app/oracle/oradata/sjqh1/undotbs02.dbf' size 5G autoextend on;

-- 重启数据库
shutdown immediate
startup

数据库数据恢复

  1. 创建表空间

    PLSQL 登录 system 执行下面语句

    
    CREATE TABLESPACE TBS_SETTLE LOGGING DATAFILE '/u02/sjqh/TBS_SETTLE.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_SETTLEADMIN LOGGING DATAFILE '/u02/sjqh/TBS_SETTLEADMIN.dbf' SIZE 30720M;
    alter tablespace TBS_SETTLEADMIN add datafile '/u02/sjqh/TBS_SETTLEADMIN01.dbf' size 30720M;
    CREATE TABLESPACE TBS_TRADEADMIN LOGGING DATAFILE '/u02/sjqh/TBS_TRADEADMIN.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_EPAYMENT LOGGING DATAFILE '/u02/sjqh/TBS_EPAYMENT.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_EPAYMENT2 LOGGING DATAFILE '/u02/sjqh/TBS_EPAYMENT2.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_FBEXCHANGE2 LOGGING DATAFILE '/u02/sjqh/TBS_FBEXCHANGE2.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_STKADMIN LOGGING DATAFILE '/u02/sjqh/TBS_STKADMIN.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_RISK LOGGING DATAFILE '/u02/sjqh/TBS_RISK.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_MIGRATE LOGGING DATAFILE '/u02/sjqh/TBS_MIGRATE.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    commit;
    
    
    CREATE TABLESPACE TBS_SETTLE LOGGING DATAFILE '/u02/sjqh/TBS_SETTLE.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_SETTLEADMIN LOGGING DATAFILE '/u02/sjqh/TBS_SETTLEADMIN.dbf' SIZE 30720M;
    alter tablespace TBS_SETTLEADMIN add datafile '/u02/sjqh/TBS_SETTLEADMIN01.dbf' size 30720M;
    CREATE TABLESPACE TBS_TRADEADMIN LOGGING DATAFILE '/u02/sjqh/TBS_TRADEADMIN.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_EPAYMENT LOGGING DATAFILE '/u02/sjqh/TBS_EPAYMENT.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_EPAYMENT2 LOGGING DATAFILE '/u02/sjqh/TBS_EPAYMENT2.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_FBEXCHANGE2 LOGGING DATAFILE '/u02/sjqh/TBS_FBEXCHANGE2.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_STKADMIN LOGGING DATAFILE '/u02/sjqh/TBS_STKADMIN.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_RISK LOGGING DATAFILE '/u02/sjqh/TBS_RISK.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE TBS_MIGRATE LOGGING DATAFILE '/u02/sjqh/TBS_MIGRATE.dbf' SIZE 4096M AUTOEXTEND ON NEXT 4096M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
    commit;
    
  2. 上传备份文件到 /u02/dumpdp 并 解压, 修改 SID

  3. 上传 asptools/home/oracle 解压

  4. 修改 asptools/globalcfg/para.cfg 中 SID

  5. 进入 asptools/dataPumpTools/backupDBTools_full/shell

  6. 创建 dumpdir

    
    sqlplus / as sysdba
    
    -- 创建 dumpdir
    create or replace directory dumpdir as '/u02/dumpdp';
    
    
    sqlplus / as sysdba
    
    -- 创建 dumpdir
    create or replace directory dumpdir as '/u02/dumpdp';
    
  7. 执行 ./restore.sh 日期 (./restore.sh 20200214)

  8. 等待恢复完成

  9. PLSQL 使用 sys 用户执行

    
    grant execute on DBMS_LOCK to settleadmin;
    grant execute on DBMS_LOCK to fbexchange2;
    grant drop any table to settleadmin;
    
    
    grant execute on DBMS_LOCK to settleadmin;
    grant execute on DBMS_LOCK to fbexchange2;
    grant drop any table to settleadmin;
    
  10. 分别 使用 settleadminfbexchange2 用户登录 PLSQL 编译无效对象

柜台搭建

root 用户

  1. 上传 tomcat.tar.gz/home, 解压

  2. 配置环境变量

    
    cat > /root/.bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
    export JAVA_HOME=/home/tomcat/jdk1.7.0_60
    export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
    export LANG=zh_CN.GBK
    unset USERNAME
    EOF
    . /root/.bash_profile
    
    
    cat > /root/.bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
    export JAVA_HOME=/home/tomcat/jdk1.7.0_60
    export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
    export LANG=zh_CN.GBK
    unset USERNAME
    EOF
    . /root/.bash_profile
    
  3. 修改 /home/tomcat/apache-tomcat-6.0.43/conf/Catalina/localhost/java.xml 中 数据库配置

  4. 启动柜台 cd /home/tomcat/apache-tomcat-6.0.43/bin/ && ./startup.sh

交易系统部署

组件部署

  1. 创建用户 (每台机器)

    
    groupadd app
    useradd -g app trade
    echo 'trade:trade' | chpasswd
    useradd -g app risk
    echo 'risk:risk' | chpasswd
    chown -R trade:app /home/trade
    chmod -R 755 /home/trade
    chown -R risk:app /home/risk
    chmod -R 755 /home/risk
    
    
    groupadd app
    useradd -g app trade
    echo 'trade:trade' | chpasswd
    useradd -g app risk
    echo 'risk:risk' | chpasswd
    chown -R trade:app /home/trade
    chmod -R 755 /home/trade
    chown -R risk:app /home/risk
    chmod -R 755 /home/risk
    
  2. 配置 /etc/hosts (config 机)

    添加 附录2 中的记录

  3. 建立信任关系 (config 机)

    每步执行, 不能全部复制执行!!

    
    su - trade
    ssh-keygen -t rsa
    ssh-copy-id db
    ssh-copy-id config
    ssh-copy-id trade1
    ssh-copy-id trade2
    exit
    
    su - risk
    ssh-keygen -t rsa
    ssh-copy-id db
    ssh-copy-id config
    ssh-copy-id trade1
    ssh-copy-id trade2
    exit
    
    
    su - trade
    ssh-keygen -t rsa
    ssh-copy-id db
    ssh-copy-id config
    ssh-copy-id trade1
    ssh-copy-id trade2
    exit
    
    su - risk
    ssh-keygen -t rsa
    ssh-copy-id db
    ssh-copy-id config
    ssh-copy-id trade1
    ssh-copy-id trade2
    exit
    
  4. 配置 trade 用户的 .bash_profile

    config, db

    
    cat > .bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    export LANG=zh_CN.GBK
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    
    export APP_HOME=/home/trade
    PATH=$PATH:$HOME/shell:$HOME/asptools:./
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
    set -o vi
    
    alias sa="ssh-agent /bin/sh"
    alias ll="ls -l"
    
    unset USERNAME
    EOF
    . .bash_profile
    
    
    cat > .bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    export LANG=zh_CN.GBK
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    
    export APP_HOME=/home/trade
    PATH=$PATH:$HOME/shell:$HOME/asptools:./
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
    set -o vi
    
    alias sa="ssh-agent /bin/sh"
    alias ll="ls -l"
    
    unset USERNAME
    EOF
    . .bash_profile
    

    trade1, trade2

    
    cat > .bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    PATH=$PATH:$HOME/bin:.
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    EOF
    . .bash_profile
    
    
    cat > .bash_profile <<"EOF"
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    PATH=$PATH:$HOME/bin:.
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    EOF
    . .bash_profile
    
  5. 上传文件到 config/home/trade 目录

    • cfg.tar.gz
    • instantclient_11_1.tar.gz
    • shell.tar.gz
    • cpfront
  6. 解压上传的文件

  7. 创建目录, 整理目录

    
    mkdir tools
    mv instantclient_11_1 tools
    
    rm -rf *.gz
    
    
    mkdir tools
    mv instantclient_11_1 tools
    
    rm -rf *.gz
    

    整理后目录结构 如下:

    
    |-- cpfront
    |-- cfg
    |-- shell
    `-- tools
        `-- instantclient_11_1
    
    
    |-- cpfront
    |-- cfg
    |-- shell
    `-- tools
        `-- instantclient_11_1
    
  8. 检查组件版本, 如果不对, 自行修改 sh.cfgrun 下文件夹名称

    
    ls cfg/run
    cat shell/sh.cfg|grep CurrentVersion
    
    
    ls cfg/run
    cat shell/sh.cfg|grep CurrentVersion
    
  9. 配置 tnsnames.ora 中 数据库 地址SID

    
    cd tools/instantclient_11_1/
    mv tnsnames.ora_simple tnsnames.ora
    vi tnsnames.ora
    
    
    cd tools/instantclient_11_1/
    mv tnsnames.ora_simple tnsnames.ora
    vi tnsnames.ora
    
  10. 根据 附录3 修改 shell/list

  11. 根据 附录4 配置 cfg/config/DeployConfig.xml

    • Topics
      • 均配置 B1.1, B1.2 的 255 (172.17.1.255, 172.17.2.255)
    • Services
      • arb : configB2
      • tquery : trade1B1.1, trade2B1.2
      • frontftd : 0.0.0.0
      • mdftd : 0.0.0.0
      • tinit : configB1.3
      • hotline : trade1, trade2B2
      • ochannel : trade1, trade2B7
      • bchannel : trade1, trade2B7
      • cfmmchannel : trade1B7
      • ptopmd : 0.0.0.0
    • Databases
      • 修改 connectString 为 数据库 SID
  12. 复制 DeployConfig.xml

    
    cp DeployConfig.xml DeployConfig.dbmt_se.xml
    cp DeployConfig.xml DeployConfig.tkernel1.xml
    cp DeployConfig.xml DeployConfig.tkernel2.xml
    
    
    cp DeployConfig.xml DeployConfig.dbmt_se.xml
    cp DeployConfig.xml DeployConfig.tkernel1.xml
    cp DeployConfig.xml DeployConfig.tkernel2.xml
    
    • 修改 DeployConfig.dbmt_se.xml
      • frontftd 修改为 trade1, trade2B1.3
    • 修改 DeployConfig.tkernel1.xml
      • 删除 tresultB1.2 网段
    • 修改 DeployConfig.tkernel2.xml
      • 删除 tresultB1.1 网段
  13. 修改 kernel 组件 配置

    • 进入 组件包 目录 /home/trade/cfg/run/6.3.17_P6_20190920
    • vi tkernel/tkernel.ini
    • vi qkernel/qkernel.ini
    • vi okernel/okernel.ini
    • 修改 MemorySize=2048
  14. 分发组件 及 其他配置

    
    # -- 分发组件 --
    
    ecall.sh makebasepath
    cpiniall.sh
    cpall.sh
    cpobjall.sh
    
    # -- cpfront 配置报盘前置 --
    
    cat > cpfront <<EOF
    ssh front_se11  cp front_se11/bin/front_md_se front_se11/bin/front_se
    ssh front_se12  cp front_se12/bin/front_md_se front_se12/bin/front_se
    EOF
    
    chmod +x cpfront
    ./cpfront
    
    
    # -- 分发组件 --
    
    ecall.sh makebasepath
    cpiniall.sh
    cpall.sh
    cpobjall.sh
    
    # -- cpfront 配置报盘前置 --
    
    cat > cpfront <<EOF
    ssh front_se11  cp front_se11/bin/front_md_se front_se11/bin/front_se
    ssh front_se12  cp front_se12/bin/front_md_se front_se12/bin/front_se
    EOF
    
    chmod +x cpfront
    ./cpfront
    
    
    # -- perf 和 unldr 冒烟组件配置 --
    
    ssh tinit
    cd tinit
    mkdir perf
    
    
    
    # -- perf 和 unldr 冒烟组件配置 --
    
    ssh tinit
    cd tinit
    mkdir perf
    
    

    上传 unldrtinit 组件下, 解压, 修改 exportSync.shSID

冒烟测试

configtrade 用户


cd
cat > shell/list.my <<EOF
arb
compositor 1
compositor 2
tkernel 1
tkernel 2
qkernel 1
qkernel 2
okernel 1
offermanager 1
offermanager 2
front_se 1
front_se 2
front_se 11
front_se 12
tinit csv
EOF

cp shell/list shell/list.hf

cd
cat > shell/list.my <<EOF
arb
compositor 1
compositor 2
tkernel 1
tkernel 2
qkernel 1
qkernel 2
okernel 1
offermanager 1
offermanager 2
front_se 1
front_se 2
front_se 11
front_se 12
tinit csv
EOF

cp shell/list shell/list.hf

上传 冒烟脚本 sjqhtools/home/trade


cd ~/sjqhtools
chmod +x *

# 开始冒烟测试

./marketcheck.sh
# 确认输出 是下个交易日
./maoyan.sh
# 确认 为 15个进程
startall.sh
# 2000 输入密码 确认15个进程存活

cd ~/sjqhtools
chmod +x *

# 开始冒烟测试

./marketcheck.sh
# 确认输出 是下个交易日
./maoyan.sh
# 确认 为 15个进程
startall.sh
# 2000 输入密码 确认15个进程存活

windows 机器 使用 ticlient 初始化

IP 172.0.0.14 (tinit 组件 b1.3 网段地址) 端口 41315DeployConfig.xml 一致

  1. 登录(空密码登录)
  2. 状态查询(确认为下一交易日)
  3. 日初数据同步
  4. 显示两个 操作成功

showall.sh
# 查看 进程全部为 运行状态
./dumpcheck.sh
# 错误为 0
11stop.sh
./aftermaoyan.sh
# 查看为 42 个进程

showall.sh
# 查看 进程全部为 运行状态
./dumpcheck.sh
# 错误为 0
11stop.sh
./aftermaoyan.sh
# 查看为 42 个进程

风控系统部署

configrisk 用户

  1. 上传 cfg, shell/home/risk

  2. 修改环境变量

    
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
       . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    APP_HOME=/home/risk export APP_HOME
    PATH=$PATH:$HOME/shell:.:$HOME/asptools
    export PATH
    
    unset USERNAME
    
    LANG=zh_CN.GBK
    export LANG
    
    NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export NLS_LANG
    
    set -o vi
    
    alias sa="ssh-agent /bin/sh"
    alias ll="ls -l"
    
    export NLS_LANG=American_america.ZHS16GBK
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
    
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
       . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    APP_HOME=/home/risk export APP_HOME
    PATH=$PATH:$HOME/shell:.:$HOME/asptools
    export PATH
    
    unset USERNAME
    
    LANG=zh_CN.GBK
    export LANG
    
    NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export NLS_LANG
    
    set -o vi
    
    alias sa="ssh-agent /bin/sh"
    alias ll="ls -l"
    
    export NLS_LANG=American_america.ZHS16GBK
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1:./
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
  3. 修改 list

    
    riskarb
    riskcompositor 1
    riskfront 1
    riskengine 1
    riskgate  1
    
    riskfront 3
    riskdbwriter
    
    
    riskarb
    riskcompositor 1
    riskfront 1
    riskengine 1
    riskgate  1
    
    riskfront 3
    riskdbwriter
    
  4. 检查组件版本, 如果不对, 自行修改 sh.cfgrun 下文件夹名称

    
    ls cfg/run
    cat shell/sh.cfg|grep CurrentVersion
    
    
    ls cfg/run
    cat shell/sh.cfg|grep CurrentVersion
    
  5. 根据 附录5 配置 cfg/config/DeployConfig.xml

    • Topic
      • tseries, tresult, triskorder 配置 B1.1, B1.2 网段 255
      • 其他配置 风控网 255
    • Services
      • riskfrontftd 配置 0.0.0.0
      • localfrontsvr 不用配置
      • 其他配置 risk机 的 风控网 网段 IP
  6. ini文件配置

    配置 riskengine/riskengine.ini, 修改 MemorySize2048 配置 riskfront/riskfront.ini, 修改 MemorySize2048

  7. 组件分发

    
       cd ~/shell
       chmod +x *
    
       ecall.sh makebasepath
       cpobjall.sh
       cpiniall.sh
       cpall.sh
    
    
       cd ~/shell
       chmod +x *
    
       ecall.sh makebasepath
       cpobjall.sh
       cpiniall.sh
       cpall.sh
    

    分发完 注释 list 中 riskfront3riskdbwriter

    
    sed -i 's/riskfront 3/#riskfront 3/g' ~/shell/list
    sed -i 's/riskdbwriter/#riskdbwriter/g' ~/shell/list
    
    
    sed -i 's/riskfront 3/#riskfront 3/g' ~/shell/list
    sed -i 's/riskdbwriter/#riskdbwriter/g' ~/shell/list
    

riskrisk 用户 ( 本指南 configrisk 在同一台机器上)

  1. /home/risk 下 创建 tools, asptools 文件夹

  2. 上传 instantclient_10_2, instantclient_11_1, oprdispatchertools

  3. 上传 runriskdbwriter.sh, startriskfront3.shasptools

    赋予可执行权限

    
    chmod +x asptools/*
    
    
    chmod +x asptools/*
    
  4. 配置 instantclient_10_2instantclient_11_1tnsnames.ora

  5. 修改环境变量 , 同 config 机 .bash_profile 文件, 本指南是同一台机器, 不用配置

  6. 添加 定时任务, 00 17 * * 1-5 /home/risk/asptools/runriskdbwriter.sh

    
    cd
    crontab -e
    
    
    cd
    crontab -e
    
  7. 配置 oprdispatcher 工具

    1. 修改 brokeridsid
    2. 赋予 可执行权限
      
      cd ~/tools/oprdispatcher
      chmod +x *
      
      
      cd ~/tools/oprdispatcher
      chmod +x *
      

结算,开户工具部署

准备工作 (均在 trade 用户)

db

  1. 确认 数据库, 柜台, 交易组件 部署完成

  2. 确认 数据库 开启, 数据库监听 开启 , 柜台 开启

所有机器

  1. 创建文件夹

    
    cd
    mkdir data
    mkdir data/settlementfile
    mkdir data/settlementbill
    mkdir data/fundsettlementfile
    mkdir data/csrc
    mkdir -p tools/settlement_tools/
    
    
    cd
    mkdir data
    mkdir data/settlementfile
    mkdir data/settlementbill
    mkdir data/fundsettlementfile
    mkdir data/csrc
    mkdir -p tools/settlement_tools/
    

config

  1. 上传 instantclient_11_1.tar.gz~/tools 解压, 配置

    
    cd ~/tools
    tar zxf instantclient_11_1.tar.gz
    rm -rf instantclient_11_1.tar.gz
    cd instantclient_11_1
    cp tnsnames.ora_simple tnsnames.ora
    
    
    cd ~/tools
    tar zxf instantclient_11_1.tar.gz
    rm -rf instantclient_11_1.tar.gz
    cd instantclient_11_1
    cp tnsnames.ora_simple tnsnames.ora
    
  2. 配置数据库连接地址 为 dbB1.3 管理网 (172.0.0.10), 配置 SID (sjqh1)

    
    vi tnsnames.ora
    
    
    vi tnsnames.ora
    
  3. 上传 common, python~/tools/settlement_tools

    python 添加执行权限 , 配置 python 数据库连接

    
    cd
    chmod a+x ~/tools/settlement_tools/python/bin/*
    vi tools/settlement_tools/common/connman/connman.cfg
    
    
    cd
    chmod a+x ~/tools/settlement_tools/python/bin/*
    vi tools/settlement_tools/common/connman/connman.cfg
    
  4. 复制配置到其他机器

    
    cd
    
    scp -r tools/* db:/home/trade/tools
    scp -r tools/* trade1:/home/trade/tools
    scp -r tools/* trade2:/home/trade/tools
    
    scp -r shell db:/home/trade
    scp -r shell trade1:/home/trade
    scp -r shell trade2:/home/trade
    
    
    cd
    
    scp -r tools/* db:/home/trade/tools
    scp -r tools/* trade1:/home/trade/tools
    scp -r tools/* trade2:/home/trade/tools
    
    scp -r shell db:/home/trade
    scp -r shell trade1:/home/trade
    scp -r shell trade2:/home/trade
    

upload 工具 部署

dbtrade 用户

  1. 上传 upload 组件到 ~/tools/settlement_tools

  2. 转换 dos, 添加权限

    
    cd ~/tools/settlement_tools/upload
    dos2unix *.sh *.ctl *.ini
    chmod a+x *.sh
    chmod a+x upload
    chmod a+x loader
    chmod a+x dbfImport
    
    
    cd ~/tools/settlement_tools/upload
    dos2unix *.sh *.ctl *.ini
    chmod a+x *.sh
    chmod a+x upload
    chmod a+x loader
    chmod a+x dbfImport
    
  3. 配置文件

    修改数据库 SID

    
    vi ~/tools/settlement_tools/upload/upload.sh
    
    
    vi ~/tools/settlement_tools/upload/upload.sh
    

    配置定时任务, 添加 */1 * * * * cd /home/trade/tools/settlement_tools/upload && ./upload.sh >log/cron.log 2>&1

    
    crontab -e
    
    
    crontab -e
    
  4. 运行 cd ~/tools/settlement_tools/upload && ./upload.sh

    cat log/* 中 有 连接数据库:settleadmin/******@sjqh1成功。, 即 配置成功

backup_sett_data 工具 部署

dbtrade 用户

  1. 上传 backup_sett_data 组件到 ~/tools/settlement_tools

  2. 转换 dos, 添加权限

    
    cd ~/tools/settlement_tools/backup_sett_data
    dos2unix *.sh *.py *.template
    chmod a+x *.sh
    chmod a+x sqlunldr
    
    
    cd ~/tools/settlement_tools/backup_sett_data
    dos2unix *.sh *.py *.template
    chmod a+x *.sh
    chmod a+x sqlunldr
    
  3. 配置文件

    根据实际情况配置 (本指南默认不修改)

    如需 修改, 请保证 database 的 key 与 tools/settlement_tools/common/connman/connman.cfgconnections 的 key 对应

    
    vi ~/tools/settlement_tools/backup_sett_data/config.cfg
    
    
    vi ~/tools/settlement_tools/backup_sett_data/config.cfg
    
  4. 运行 cd ~/tools/settlement_tools/backup_sett_data && ./run.sh && ps -ef | grep main.py | grep -v grep

    显示 有进程 python main.py 即 配置成功

mainapi 工具 部署

trade1trade用户

  1. 上传 mainapi 组件到 ~/ (startmainapi.sh, cfmmc_api_20200220.tar.gz 两个文件)

  2. 转换 dos, 添加权限, 执行脚本

    
    cd
    chmod a+x startmainapi.sh
    tar zxf cfmmc_api_20200220.tar.gz
    rm -rf cfmmc_api_20200220.tar.gz
    cd ~/cfmmc_api
    dos2unix *.dtd *.ini
    chmod a+x *.sh
    chmod a+x mainapi
    
    ./ln.sh
    
    
    cd
    chmod a+x startmainapi.sh
    tar zxf cfmmc_api_20200220.tar.gz
    rm -rf cfmmc_api_20200220.tar.gz
    cd ~/cfmmc_api
    dos2unix *.dtd *.ini
    chmod a+x *.sh
    chmod a+x mainapi
    
    ./ln.sh
    
  3. 配置文件 main.ini,修改 监控中心地址数据库SID

    
    vi main.ini
    
    
    vi main.ini
    
  4. 配置文件 startmainapi.sh, 修改 经纪公司ID

    
    cd
    vi startmainapi.sh
    
    
    cd
    vi startmainapi.sh
    
  5. 运行 cd && ./startmainapi.sh

    运行 cat cfmmc_api/nohup.out

    查看 有 CFMMC Client Api 输出则成功

    如提示 cannot open shared object file

    
    su - root
    
    cp /usr/lib64/libcurl.so.4 /usr/lib64/libcurl.so.3
    
    exit
    
    
    su - root
    
    cp /usr/lib64/libcurl.so.4 /usr/lib64/libcurl.so.3
    
    exit
    

    然后再次运行 ./startmainapi.sh

genfile 工具 部署

configtrade 用户

  1. 上传 genfile 组件到 ~/tools/settlement_tools

  2. ssh websrv 查看是否连通, 否则在 /etc/hosts 中添加 172.0.0.10 websrvweb 的地址

  3. 转换 dos, 添加权限

    
    cd ~/tools/settlement_tools/genfile
    dos2unix *.sh *.ctl *.ini
    chmod a+x *.sh
    chmod a+x genfile
    chmod a+x sqlunldr
    
    
    cd ~/tools/settlement_tools/genfile
    dos2unix *.sh *.ctl *.ini
    chmod a+x *.sh
    chmod a+x genfile
    chmod a+x sqlunldr
    
  4. 配置文件

    修改数据库 SID

    
    vi ~/tools/settlement_tools/genfile/genfile.sh
    
    
    vi ~/tools/settlement_tools/genfile/genfile.sh
    

    配置定时任务, 添加 */1 * * * * cd /home/trade/tools/settlement_tools/genfile && ./genfile.sh >log/cron.log 2>&1

    
    crontab -e
    
    
    crontab -e
    
  5. 运行 cd ~/tools/settlement_tools/genfile && ./genfile.sh

    cat log/* 中 有 连接数据库成功, 即 配置成功

gencffexfile 工具 部署

configtrade用户

  1. 上传 gencffexfile 组件到 ~/tools/settlement_tools

  2. ssh websrv 查看是否连通, 否则在 /etc/hosts 中添加 172.0.0.10 websrvweb 的地址

  3. 转换 dos, 添加权限

    
    cd ~/tools/settlement_tools/gencffexfile
    dos2unix *.sh *.ini
    chmod a+x *.sh
    chmod a+x gencffexfile
    
    
    cd ~/tools/settlement_tools/gencffexfile
    dos2unix *.sh *.ini
    chmod a+x *.sh
    chmod a+x gencffexfile
    
  4. 配置文件

    修改 数据库SID

    
    vi gencffexfile.sh
    
    
    vi gencffexfile.sh
    

    配置定时任务, 添加 */1 * * * * cd /home/trade/tools/settlement_tools/gencffexfile && ./gencffexfile.sh >log/cron.log 2>&1

    
    crontab -e
    
    
    crontab -e
    
  5. 运行 cd ~/tools/settlement_tools/gencffexfile && ./gencffexfile.sh

    cat log/gencffexfile.log连接数据库成功, 即 配置成功

genclientfile 工具 部署

configtrade 用户

  1. 上传 genclientfile 组件到 ~/tools/settlement_tools

  2. 转换 dos, 添加权限

    
    cd ~/tools/settlement_tools/genclientfile
    dos2unix *.sh *.py *.cfg
    chmod a+x *.sh
    
    
    cd ~/tools/settlement_tools/genclientfile
    dos2unix *.sh *.py *.cfg
    chmod a+x *.sh
    
  3. 复制组件到其他机器, 以及创建目录

    
    scp -r ~/tools/settlement_tools/genclientfile/ db:/home/trade/tools/settlement_tools
    scp -r ~/tools/settlement_tools/genclientfile/ trade1:/home/trade/tools/settlement_tools
    scp -r ~/tools/settlement_tools/genclientfile/ trade2:/home/trade/tools/settlement_tools
    
    ssh trade1 "mkdir -p /home/trade/qkernel1/bin/SettlementInfo"
    ssh trade2 "mkdir -p /home/trade/qkernel2/bin/SettlementInfo"
    
    
    scp -r ~/tools/settlement_tools/genclientfile/ db:/home/trade/tools/settlement_tools
    scp -r ~/tools/settlement_tools/genclientfile/ trade1:/home/trade/tools/settlement_tools
    scp -r ~/tools/settlement_tools/genclientfile/ trade2:/home/trade/tools/settlement_tools
    
    ssh trade1 "mkdir -p /home/trade/qkernel1/bin/SettlementInfo"
    ssh trade2 "mkdir -p /home/trade/qkernel2/bin/SettlementInfo"
    
  4. 配置文件

    
    cd ~/tools/settlement_tools/genclientfile/
    
    
    cd ~/tools/settlement_tools/genclientfile/
    

    config

    
    vi genclient.cfg
    
    
    vi genclient.cfg
    

    参考配置

    
    [general]
    debug = true
    interval = 30
    
    [database]
    connect_name = aspctp2_settleadmin
    
    [qkernel]
    server=http://qkernel1:9000, http://qkernel2:9000
    
    [webserver]
    server=http://web1:9001
    
    
    [general]
    debug = true
    interval = 30
    
    [database]
    connect_name = aspctp2_settleadmin
    
    [qkernel]
    server=http://qkernel1:9000, http://qkernel2:9000
    
    [webserver]
    server=http://web1:9001
    

    db, trade1, trade2

    
    vi server.cfg
    
    
    vi server.cfg
    

    参考配置 db

    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = ./dest
    
    [server]
    listen_port = 9001
    
    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = ./dest
    
    [server]
    listen_port = 9001
    

    参考配置 trade1

    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = /home/trade/qkernel1/bin/SettlementInfo
    
    [server]
    listen_port = 9000
    
    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = /home/trade/qkernel1/bin/SettlementInfo
    
    [server]
    listen_port = 9000
    

    参考配置 trade2

    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = /home/trade/qkernel2/bin/SettlementInfo
    
    [server]
    listen_port = 9000
    
    
    [general]
    debug = true
    upload_path = ./temp
    dest_path = /home/trade/qkernel2/bin/SettlementInfo
    
    [server]
    listen_port = 9000
    

oprdispatcher 工具部署

需部署完 risk

  1. 上传 oprdispatcher.tar.gz/home/risk/tools/ 下, 并解压

  2. 转换 dos, 添加权限

    
    cd ~/tools/oprdispatcher
    dos2unix *.sh *.xml
    chmod a+x *.sh
    chmod a+x oprdispatcher
    
    
    cd ~/tools/oprdispatcher
    dos2unix *.sh *.xml
    chmod a+x *.sh
    chmod a+x oprdispatcher
    
  3. 配置 oprdispatcher.sh, 验证下列配置

    
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LANG=zh_CN.gbk
    export NLS_LANG="American_america.ZHS16GBK"
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
    
    export PATH=$PATH:~/tools/instantclient_11_1:.
    export LANG=zh_CN.gbk
    export NLS_LANG="American_america.ZHS16GBK"
    export LD_LIBRARY_PATH=~/tools/instantclient_11_1
    export TNS_ADMIN=~/tools/instantclient_11_1
    export OCI_PATH=~/tools/instantclient_11_1
    
  4. 配置 ~/oprdispatcher/config.xml, 修改 siddestbrokerid

    
    <?xml version="1.0"?>
    <groups>
       <group id="groupA" path="export/groupA">
          <source drid="3" type="flow">
          <database sid="sjqh1" username="operation" password="operation"/>
       </source>
       <dests>
          <destbrokerid="0195" sid="sjqh1" username="operation" password="operation"/>
       </dests>
       </group>
    </groups>
    
    
    
    <?xml version="1.0"?>
    <groups>
       <group id="groupA" path="export/groupA">
          <source drid="3" type="flow">
          <database sid="sjqh1" username="operation" password="operation"/>
       </source>
       <dests>
          <destbrokerid="0195" sid="sjqh1" username="operation" password="operation"/>
       </dests>
       </group>
    </groups>
    
    

附录

附录 1: 网络 IP 配置

机器名B1.1B1.2B1.3 管理B2 仲裁B7 报盘B8 风控
DB172.17.1.10172.17.2.10172.0.0.10---
trade1172.17.1.11172.17.2.11172.0.0.11172.17.3.11172.17.5.11172.17.7.11
trade2172.17.1.12172.17.2.12172.0.0.12172.17.3.12172.17.5.12172.17.7.12
arb+config172.17.1.14172.17.2.14172.0.0.14172.17.3.14-172.17.7.14

附录 2: /etc/hosts 配置


172.0.0.10 db web
172.0.0.11 trade1
172.0.0.12 trade2
172.0.0.14 config

172.0.0.10 web1 websrv ftpsrv

172.0.0.11 front_se1 front_se11
172.0.0.12 front_se2 front_se12
172.0.0.11 compositor1 tkernel1 qkernel1 okernel1
172.0.0.12 compositor2 tkernel2 qkernel2
172.0.0.11 offermanager1 shfeoffer1 shfemdserver1 cffexoffer1 ffexmdserver1 ineoffer1 inemdserver1 dceoffer1 dcemdserver1 zceoffer1 zcemdserver1
172.0.0.12 offermanager2 shfeoffer2 shfemdserver2 cffexoffer2 ffexmdserver2 ineoffer2 inemdserver2 dceoffer2 dcemdserver2 zceoffer2 zcemdserver2
172.0.0.11 cfmmcoffer1 cfmmcoffermanager1 mainapi sendfile bankmanager1
172.0.0.12 bankmanager2

172.0.0.14 tinit tmdb dbmt_se drmt sync_merge
172.0.0.14 arb genclientfile genfile
172.0.0.14 riskarb riskengine1 riskgate1 riskcompositor1 riskfront1 riskdbwriter riskdrmt1 oprdispatcher

172.0.0.10 db web
172.0.0.11 trade1
172.0.0.12 trade2
172.0.0.14 config

172.0.0.10 web1 websrv ftpsrv

172.0.0.11 front_se1 front_se11
172.0.0.12 front_se2 front_se12
172.0.0.11 compositor1 tkernel1 qkernel1 okernel1
172.0.0.12 compositor2 tkernel2 qkernel2
172.0.0.11 offermanager1 shfeoffer1 shfemdserver1 cffexoffer1 ffexmdserver1 ineoffer1 inemdserver1 dceoffer1 dcemdserver1 zceoffer1 zcemdserver1
172.0.0.12 offermanager2 shfeoffer2 shfemdserver2 cffexoffer2 ffexmdserver2 ineoffer2 inemdserver2 dceoffer2 dcemdserver2 zceoffer2 zcemdserver2
172.0.0.11 cfmmcoffer1 cfmmcoffermanager1 mainapi sendfile bankmanager1
172.0.0.12 bankmanager2

172.0.0.14 tinit tmdb dbmt_se drmt sync_merge
172.0.0.14 arb genclientfile genfile
172.0.0.14 riskarb riskengine1 riskgate1 riskcompositor1 riskfront1 riskdbwriter riskdrmt1 oprdispatcher

附录 3: list 配置


arb
compositor 1
compositor 2
tkernel 1
tkernel 2
qkernel 1
qkernel 2
okernel 1
offermanager 1
offermanager 2
front_se 1
front_se 2
front_se 11
front_se 12

#mdfront 1
#mdfront 2

#tradeagent 1
#tradeagent 2
#tcpagent 1
#tcpagent 2

tinit
dbmt_se
tmdb
drmt
#tinit csv


cfmmcoffermanager 1
cfmmcoffer 1 1 1
bankmanager 1
#cffexotcoffer
bankmanager 2

shfemdserver 1 SHFE 0052 0052c2c 1 1
shfemdserver 2 SHFE 0052 0052c2c 2 2
shfeoffer  1 SHFE 0052 0052c2c 1 1
shfeoffer  2 SHFE 0052 0052c11c 1 2

ffexmdserver 1 CFFEX 0310 031001 1 1
ffexmdserver 2 CFFEX 0310 031001 2 2
cffexoffer 1 CFFEX 0310 031001 1 1
cffexoffer 2 CFFEX 0310 031005 1 2

dcemdserver 1 DCE 0207 02072005 1 1
dcemdserver 2 DCE 0207 02072005 2 2
dceoffer 1 DCE 0207 02072005 1 1
dceoffer 2 DCE 0207 00002207 1 2

zcemdserver 1 CZCE 0092 00920090 1 1
zcemdserver 2 CZCE 0092 00920090 2 2
zceoffer 1 CZCE 0092 00920090 1 1
zceoffer 2 CZCE 0092 00920050 1 2

inemdserver 1 INE 8052 8052c03c 1 1
inemdserver 2 INE 8052 8052c03c 2 2
ineoffer 1 INE 8052 8052c03c 1 1
ineoffer 2 INE 8052 8052c05c 1 2


arb
compositor 1
compositor 2
tkernel 1
tkernel 2
qkernel 1
qkernel 2
okernel 1
offermanager 1
offermanager 2
front_se 1
front_se 2
front_se 11
front_se 12

#mdfront 1
#mdfront 2

#tradeagent 1
#tradeagent 2
#tcpagent 1
#tcpagent 2

tinit
dbmt_se
tmdb
drmt
#tinit csv


cfmmcoffermanager 1
cfmmcoffer 1 1 1
bankmanager 1
#cffexotcoffer
bankmanager 2

shfemdserver 1 SHFE 0052 0052c2c 1 1
shfemdserver 2 SHFE 0052 0052c2c 2 2
shfeoffer  1 SHFE 0052 0052c2c 1 1
shfeoffer  2 SHFE 0052 0052c11c 1 2

ffexmdserver 1 CFFEX 0310 031001 1 1
ffexmdserver 2 CFFEX 0310 031001 2 2
cffexoffer 1 CFFEX 0310 031001 1 1
cffexoffer 2 CFFEX 0310 031005 1 2

dcemdserver 1 DCE 0207 02072005 1 1
dcemdserver 2 DCE 0207 02072005 2 2
dceoffer 1 DCE 0207 02072005 1 1
dceoffer 2 DCE 0207 00002207 1 2

zcemdserver 1 CZCE 0092 00920090 1 1
zcemdserver 2 CZCE 0092 00920090 2 2
zceoffer 1 CZCE 0092 00920090 1 1
zceoffer 2 CZCE 0092 00920050 1 2

inemdserver 1 INE 8052 8052c03c 1 1
inemdserver 2 INE 8052 8052c03c 2 2
ineoffer 1 INE 8052 8052c03c 1 1
ineoffer 2 INE 8052 8052c05c 1 2

附录 4: DeployConfig.xml


<DeployConfig>
        <Topics>
                <Topic name="tseries" address="udp://172.17.1.255:41101"/>
                <Topic name="tseries" address="udp://172.17.2.255:41101"/>
                <Topic name="tresult" address="udp://172.17.1.255:41105"/>
                <Topic name="tresult" address="udp://172.17.2.255:41105"/>

                <Topic name="front" item="1" address="udp://172.17.1.255:41107"/>
                <Topic name="front" item="1" address="udp://172.17.2.255:41107"/>
                <Topic name="front" item="2" address="udp://172.17.1.255:41109"/>
                <Topic name="front" item="2" address="udp://172.17.2.255:41109"/>

                <Topic name="tinit" address="udp://172.17.1.255:41211"/>
                <Topic name="tinit" address="udp://172.17.2.255:41211"/>

                <Topic name="oresult" item="1" address="udp://172.17.1.255:41213"/>
                <Topic name="oresult" item="1" address="udp://172.17.2.255:41213"/>
                <Topic name="oresult" item="2" address="udp://172.17.1.255:41215"/>
                <Topic name="oresult" item="2" address="udp://172.17.2.255:41215"/>

                <Topic name="mdresult" item="1" address="udp://172.17.1.255:41217"/>
                <Topic name="mdresult" item="1" address="udp://172.17.2.255:41217"/>
                <Topic name="mdresult" item="2" address="udp://172.17.1.255:41219"/>
                <Topic name="mdresult" item="2" address="udp://172.17.2.255:41219"/>

                <Topic name="bresult" item="1" address="udp://172.17.1.255:41221"/>
                <Topic name="bresult" item="1" address="udp://172.17.2.255:41221"/>
                <Topic name="bresult" item="2" address="udp://172.17.1.255:41227"/>
                <Topic name="bresult" item="2" address="udp://172.17.2.255:41227"/>

                <Topic name="conditionalorder" item="1" address="udp://172.17.1.255:41223"/>
                <Topic name="conditionalorder" item="1" address="udp://172.17.2.255:41223"/>

                <Topic name="cfmmcresult" item="1" address="udp://172.17.1.255:41225"/>
                <Topic name="cfmmcresult" item="1" address="udp://172.17.2.255:41225"/>

                <Topic name="triskorder" address="udp://172.17.1.255:40050"/>
                <Topic name="triskorder" address="udp://172.17.2.255:40050"/>
        </Topics>
        <Services>
                <Service name="arb" address="tcp://172.17.3.14:41201"/>
                <Service name="tquery" item="1" address="tcp://172.17.1.11:41203"/>
                <Service name="tquery" item="2" address="tcp://172.17.2.12:41203"/>

                <Service name="frontftd" item="1" address="tcp://0.0.0.0:41205"/>
                <Service name="frontftd" item="2" address="tcp://0.0.0.0:41205"/>

                <Service name="mdftd" item="11" address="tcp://0.0.0.0:41213"/>
                <Service name="mdftd" item="12" address="tcp://0.0.0.0:41213"/>

                <Service name="tinit" address="tcp://172.0.0.14:41315"/>
                <Service name="hotline" item="1" address="tcp://172.17.3.11:41217"/>
                <Service name="hotline" item="2" address="tcp://172.17.3.12:41217"/>
                <Service name="ochannel" item="1" address="tcp://172.17.5.11:41230"/>
                <Service name="ochannel" item="2" address="tcp://172.17.5.12:41230"/>
                <Service name="bchannel" item="1" address="tcp://172.17.5.11:41231"/>
                <Service name="bchannel" item="2" address="tcp://172.17.5.12:41231"/>
                <Service name="cfmmcchannel" item="1" address="tcp://172.17.5.11:41232"/>

        <Service name="ptopmd" item="1" address="tcp://0.0.0.0:18217"/>
        <Service name="ptopmd" item="2" address="tcp://0.0.0.0:18219"/>
        </Services>
        <Databases>
                <Database name="tinit" connectString="sjqh1" username="sync" password="sync"/>
                <Database name="tmdb" connectString="sjqh1" username="operation" password="operation"/>
                <Database name="sjqh" connectString="sjqh1" username="epayment2" password="epayment2"/>
                <Database name="sjqh" connectString="sjqh1" username="fbexchange2" password="fbexchange2"/>
        </Databases>
</DeployConfig>

<DeployConfig>
        <Topics>
                <Topic name="tseries" address="udp://172.17.1.255:41101"/>
                <Topic name="tseries" address="udp://172.17.2.255:41101"/>
                <Topic name="tresult" address="udp://172.17.1.255:41105"/>
                <Topic name="tresult" address="udp://172.17.2.255:41105"/>

                <Topic name="front" item="1" address="udp://172.17.1.255:41107"/>
                <Topic name="front" item="1" address="udp://172.17.2.255:41107"/>
                <Topic name="front" item="2" address="udp://172.17.1.255:41109"/>
                <Topic name="front" item="2" address="udp://172.17.2.255:41109"/>

                <Topic name="tinit" address="udp://172.17.1.255:41211"/>
                <Topic name="tinit" address="udp://172.17.2.255:41211"/>

                <Topic name="oresult" item="1" address="udp://172.17.1.255:41213"/>
                <Topic name="oresult" item="1" address="udp://172.17.2.255:41213"/>
                <Topic name="oresult" item="2" address="udp://172.17.1.255:41215"/>
                <Topic name="oresult" item="2" address="udp://172.17.2.255:41215"/>

                <Topic name="mdresult" item="1" address="udp://172.17.1.255:41217"/>
                <Topic name="mdresult" item="1" address="udp://172.17.2.255:41217"/>
                <Topic name="mdresult" item="2" address="udp://172.17.1.255:41219"/>
                <Topic name="mdresult" item="2" address="udp://172.17.2.255:41219"/>

                <Topic name="bresult" item="1" address="udp://172.17.1.255:41221"/>
                <Topic name="bresult" item="1" address="udp://172.17.2.255:41221"/>
                <Topic name="bresult" item="2" address="udp://172.17.1.255:41227"/>
                <Topic name="bresult" item="2" address="udp://172.17.2.255:41227"/>

                <Topic name="conditionalorder" item="1" address="udp://172.17.1.255:41223"/>
                <Topic name="conditionalorder" item="1" address="udp://172.17.2.255:41223"/>

                <Topic name="cfmmcresult" item="1" address="udp://172.17.1.255:41225"/>
                <Topic name="cfmmcresult" item="1" address="udp://172.17.2.255:41225"/>

                <Topic name="triskorder" address="udp://172.17.1.255:40050"/>
                <Topic name="triskorder" address="udp://172.17.2.255:40050"/>
        </Topics>
        <Services>
                <Service name="arb" address="tcp://172.17.3.14:41201"/>
                <Service name="tquery" item="1" address="tcp://172.17.1.11:41203"/>
                <Service name="tquery" item="2" address="tcp://172.17.2.12:41203"/>

                <Service name="frontftd" item="1" address="tcp://0.0.0.0:41205"/>
                <Service name="frontftd" item="2" address="tcp://0.0.0.0:41205"/>

                <Service name="mdftd" item="11" address="tcp://0.0.0.0:41213"/>
                <Service name="mdftd" item="12" address="tcp://0.0.0.0:41213"/>

                <Service name="tinit" address="tcp://172.0.0.14:41315"/>
                <Service name="hotline" item="1" address="tcp://172.17.3.11:41217"/>
                <Service name="hotline" item="2" address="tcp://172.17.3.12:41217"/>
                <Service name="ochannel" item="1" address="tcp://172.17.5.11:41230"/>
                <Service name="ochannel" item="2" address="tcp://172.17.5.12:41230"/>
                <Service name="bchannel" item="1" address="tcp://172.17.5.11:41231"/>
                <Service name="bchannel" item="2" address="tcp://172.17.5.12:41231"/>
                <Service name="cfmmcchannel" item="1" address="tcp://172.17.5.11:41232"/>

        <Service name="ptopmd" item="1" address="tcp://0.0.0.0:18217"/>
        <Service name="ptopmd" item="2" address="tcp://0.0.0.0:18219"/>
        </Services>
        <Databases>
                <Database name="tinit" connectString="sjqh1" username="sync" password="sync"/>
                <Database name="tmdb" connectString="sjqh1" username="operation" password="operation"/>
                <Database name="sjqh" connectString="sjqh1" username="epayment2" password="epayment2"/>
                <Database name="sjqh" connectString="sjqh1" username="fbexchange2" password="fbexchange2"/>
        </Databases>
</DeployConfig>

附录 5: DeployConfig.xml (risk)


<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE DeployConfig SYSTEM "DeployConfig.dtd">
<DeployConfig>
        <Topics>
                <Topic name="tseries" address="udp://172.17.1.255:41101"/>
                <Topic name="tseries" address="udp://172.17.2.255:41101"/>
                <Topic name="tresult" address="udp://172.17.1.255:41105"/>
                <Topic name="tresult" address="udp://172.17.2.255:41105"/>

                <Topic name="triskgate" address="udp://172.17.7.255:50010"/>

                <Topic name="riskfront" item="1" address="udp://172.17.7.255:50012"/>
                <Topic name="riskfront" item="3" address="udp://172.17.7.255:50020"/>

                <Topic name="triskseries" address="udp://172.17.7.255:52003"/>
                <Topic name="triskengine" address="udp://172.17.7.255:50031"/>
                <Topic name="triskquery" item="1" address="udp://172.17.7.255:50033"/>
                <Topic name="triskdrmt" item="1" address="udp://172.17.7.255:50035"/>

                <Topic name="triskorder" address="udp://172.17.1.255:40050"/>
                <Topic name="triskorder" address="udp://172.17.2.255:40050"/>
                <Topic name="triskevent" address="udp://172.17.7.255:40052"/>
        </Topics>
        <Services>
                <Service name="riskfrontftd" item="1" address="tcp://0.0.0.0:50001"/>
                <Service name="riskfrontftd" item="3" address="tcp://0.0.0.0:50003"/>
                <Service name="localfrontsvr" item="13" address="tcp://10.200.0.13:60001"/>
                <Service name="localfrontsvr" item="14" address="tcp://10.200.0.14:60001"/>
                <Service name="drmtsvr" item="1" address="tcp://172.17.7.14:50007"/>
                <Service name="riskarb" address="tcp://172.17.7.14:50020"/>
                <Service name="riskhotline" item="1" address="tcp://172.17.7.14:50021"/>
        </Services>
        <Databases>
                <Database name="risk" connectString="sjqh1" username="risk" password="risk"/>
        </Databases>
</DeployConfig>

<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE DeployConfig SYSTEM "DeployConfig.dtd">
<DeployConfig>
        <Topics>
                <Topic name="tseries" address="udp://172.17.1.255:41101"/>
                <Topic name="tseries" address="udp://172.17.2.255:41101"/>
                <Topic name="tresult" address="udp://172.17.1.255:41105"/>
                <Topic name="tresult" address="udp://172.17.2.255:41105"/>

                <Topic name="triskgate" address="udp://172.17.7.255:50010"/>

                <Topic name="riskfront" item="1" address="udp://172.17.7.255:50012"/>
                <Topic name="riskfront" item="3" address="udp://172.17.7.255:50020"/>

                <Topic name="triskseries" address="udp://172.17.7.255:52003"/>
                <Topic name="triskengine" address="udp://172.17.7.255:50031"/>
                <Topic name="triskquery" item="1" address="udp://172.17.7.255:50033"/>
                <Topic name="triskdrmt" item="1" address="udp://172.17.7.255:50035"/>

                <Topic name="triskorder" address="udp://172.17.1.255:40050"/>
                <Topic name="triskorder" address="udp://172.17.2.255:40050"/>
                <Topic name="triskevent" address="udp://172.17.7.255:40052"/>
        </Topics>
        <Services>
                <Service name="riskfrontftd" item="1" address="tcp://0.0.0.0:50001"/>
                <Service name="riskfrontftd" item="3" address="tcp://0.0.0.0:50003"/>
                <Service name="localfrontsvr" item="13" address="tcp://10.200.0.13:60001"/>
                <Service name="localfrontsvr" item="14" address="tcp://10.200.0.14:60001"/>
                <Service name="drmtsvr" item="1" address="tcp://172.17.7.14:50007"/>
                <Service name="riskarb" address="tcp://172.17.7.14:50020"/>
                <Service name="riskhotline" item="1" address="tcp://172.17.7.14:50021"/>
        </Services>
        <Databases>
                <Database name="risk" connectString="sjqh1" username="risk" password="risk"/>
        </Databases>
</DeployConfig>

附录 6: tools/oprdispatcher/config.xml


<?xml version="1.0"?>
<groups>
    <group id="groupA" path="export/groupA">
        <source drid="1" type="flow">
            <database sid="sjqh1" username="operation" password="operation"/>
            <flow trade_result = ""
                risk_result = "/home/risk/riskengine1/flow/riskengine_event"/>
        </source>

        <dests>
            <dest brokerid="0195"
                  sid="sjqh1" username="operation" password="operation"/>
        </dests>
    </group>
</groups>

<?xml version="1.0"?>
<groups>
    <group id="groupA" path="export/groupA">
        <source drid="1" type="flow">
            <database sid="sjqh1" username="operation" password="operation"/>
            <flow trade_result = ""
                risk_result = "/home/risk/riskengine1/flow/riskengine_event"/>
        </source>

        <dests>
            <dest brokerid="0195"
                  sid="sjqh1" username="operation" password="operation"/>
        </dests>
    </group>
</groups>