当前位置: 首页 > news >正文

证券交易系统中服务器监控系统功能设计

1.背景介绍

        此服务器监控系统的目的在于提高行情服务器的监管效率,因目前的的行情服务器,包括DM、DT、DS配置数量较多,巡回维护耗时较多,当行情服务器出现异常故障,或者因为网络问题造成数据断线等情况时,监管人员无法及时发现问题并进行维护,此系统则用于实现自动监控所有的行情服务器,在服务器出现异常时给出提示,并允许从客户端执行多种服务器维护命令,从而为快速解决服务器端故障提供支持。

2.功能目标设计

当前设计只针对DM、DT、DS三种类型的服务器提供监管服务,目的是能够对这些服务器的运行状况、负载情况、数据收发情况进行监测,以及批量执行服务器维护相关的命令。

(1)对DS服务器的监控

实现比LB更多更完整的监控目标,具体监测内容为:DS负载、线程数、内存使用、通道1,2的上海、深圳行情最后接收时间,FM连接状况,当前使用的通道。

控制内容包括三项

  • 能够在监管客户端控制DS服务器切换不同的通道,
  • 能够调用DS界面指定的命令,
  • 能够在客户端远程编辑DS配置。

(2)对DT服务器的监控

具体监测内容:监测DT服务器的上海,深圳行情接收时间,当前DS连接数。

控制内容:能够调用DT界面指定的命令,能够在客户端远程编辑DT配置

(3)对DM服务器的监控

具体监测内容:

监控DM服务器上海、深证、股指期货,板块,计算,港股的连接状况和数据最后接收时间。

控制内容:

能够调用DM界面指定的命令,能够在客户端远程编辑DM配置

(4)以上监控内容可根据具体的监控项目,设置报警条件,由客户端实现语音提醒功能,例如,开盘时间段内,设置DS行情接收间隔时间为10秒,如果超过10秒没有行情数据接收,那么客户端界面上会对此服务器做特定的颜色标志,并发出语音提示监管人员注意维护。

(5)服务器端维护可以同时选择多个服务器,执行不带参数的命令,对于配置文件修改,因各个服务器配置内容不同,暂时只实现单服务器修改。

3.系统结构简图

系统总体采用C/S模式,监管服务器用于24小时实时监控各个服务器的状态,允许多个客户端登陆操作,但不对多人操作作同步处理,需监管人员自己协调。

4.其他功能

上述结构组成部分包括客户端和数据库,就是说在监管过程中需要考虑到监管权限、监管日志,以及服务器类型、分组维护等问题。

服务器分组方式包括按服务器类型、按上下级连接方式两种来分组。按连接方式分组时,DM服务器处在最顶层,下级依次是DT、DS,但因为DS目前是双通道的,这种分组方式可能会使一个DS出现在多个位置上。

监管权限目前第一步只设计为简单的用户名、密码管理模式,默认设置一个超级管理员,有权限增加或者删除其他监管成员。

监管日志将记录所有监管成员的登录及对服务器重要的操作记录过程,以备案查。

5.系统实现

项目采用C++程序开发,数据库使用SQL Server,参与服务端和客户端的开发人员包括:XXX等

按正常的开发进度本项目开发到测试提交预计15个工作日左右,但考虑目前技术部后续有其他更重要的任务安排,因此只能使用空余时间完成此项目,具体开发周期会根据后续的任务安排而延长。

相关文章:

  • 前端代码规范 - 日志打印规范
  • FineBI在线学习资源-数据处理
  • 【ABB】控制器语言切换
  • LLM - 神经网络的训练过程
  • C++实现简化版Qt的QObject(3):增加父子关系、属性系统
  • 遗漏知识点
  • 【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文
  • 【Spring】DAO 和 Repository 的区别
  • 开发经验:go切片的继承
  • windows@资源管理器中的地址栏@访问共享文件夹的各种方法@管理共享文件夹
  • linux 内核打印log太多咋办?
  • 重载赋值运算符
  • antd vue a-select 下拉框模糊查询失效解决方法
  • Android 图像切换器:实现动态图像切换的关键技术与应用
  • SQLyog脚本无限试用重置脚本
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 「译」Node.js Streams 基础
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • C++类的相互关联
  • HTTP请求重发
  • php中curl和soap方式请求服务超时问题
  • Python进阶细节
  • spark本地环境的搭建到运行第一个spark程序
  • SpringCloud集成分布式事务LCN (一)
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Theano - 导数
  • 基于游标的分页接口实现
  • 计算机在识别图像时“看到”了什么?
  • 解决iview多表头动态更改列元素发生的错误
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 目录与文件属性:编写ls
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 设计模式(12)迭代器模式(讲解+应用)
  • 深度解析利用ES6进行Promise封装总结
  • 收藏好这篇,别再只说“数据劫持”了
  • 网络应用优化——时延与带宽
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • #Linux(Source Insight安装及工程建立)
  • (k8s中)docker netty OOM问题记录
  • (ros//EnvironmentVariables)ros环境变量
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三十五)大数据实战——Superset可视化平台搭建
  • (杂交版)植物大战僵尸
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .net反编译的九款神器
  • .py文件应该怎样打开?
  • @Autowired和@Resource装配
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [AIGC] CompletableFuture的重要方法有哪些?