ESB平台服务管理系统概要设计.doc_第1页
ESB平台服务管理系统概要设计.doc_第2页
ESB平台服务管理系统概要设计.doc_第3页
ESB平台服务管理系统概要设计.doc_第4页
ESB平台服务管理系统概要设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ESB 平台服务管理系统 概要设计说明书 V0 1 文档编号 当前版 本 0 1 作 者 编写日 期 评 审 评审日 期 审 核 审核日 期 批 准 批准日 期 文档状态 变更次 数 All rights reserved 版权所有 侵权必究 文档修订记录文档修订记录 日期日期修订号修订号描述描述作者作者 2014 6 2V0 1创建 目 录 1引言引言 6 1 1目的 6 1 2文档范围 6 1 3参考资料 6 1 4术语和缩略语 7 2系统概述系统概述 8 2 1设计约束 9 2 1 1开发过程 9 2 1 2运行环境配置 10 2 2设计策略和方法 10 2 3系统技术结构 11 2 4面向层次的技术架构构成 13 3业务监控分析业务监控分析 15 3 1业务监控总体需求 15 3 2业务监控流程介绍 15 4功能模块概述功能模块概述 17 4 1标准代码管理模块 17 4 1 1模块描述 17 4 1 2功能操作 17 4 1 3信息结构 19 4 1 4数据流图 19 4 2业务信息管理 19 4 2 1模块描述 19 4 2 2功能操作 20 4 2 3信息结构 20 4 2 4数据流图 20 4 3业务流程管理 21 4 3 1模块描述 21 4 3 2功能操作 21 4 3 3信息结构 21 4 3 4数据流图 21 4 4业务进程管理 21 4 4 1模块描述 21 4 4 2功能操作 21 4 4 3信息结构 21 4 4 4数据流图 21 4 5业务预警管理 22 4 5 1模块描述 22 4 5 2功能操作 22 4 5 3信息结构 22 4 5 4数据流图 22 4 6用户权限管理 22 4 6 1模块描述 22 4 6 2功能操作 22 4 6 3信息结构 22 4 6 4数据流图 22 4 7业务监控的展示 23 4 7 1模块描述 23 4 7 2功能操作 23 4 7 3数据流图 23 4 8数据统计分析 23 4 8 1模块描述 23 4 8 2功能操作 23 4 8 3数据流图 23 5服务监控服务监控 24 5 1服务监控相关数据流图 24 5 2服务监控模块设计 25 5 2 1服务信息监测模块 25 5 2 2服务控制模块 27 5 2 3服务监控主程序 28 5 2 4服务监控任务 30 5 2 5服务监控基础功能模块 32 5 3服务接口规范 32 5 3 1服务处理成功失败定义规范 32 5 3 2服务调用方规范 33 5 3 3服务流量控制规范 33 5 4服务实现规范 33 5 4 1服务调用信息规范 33 5 4 2服务调用信息消息规范 34 6编码规则编码规则 35 6 1服务流程调用号 35 6 2系统调用方 35 7系统安全性和出错处理设计系统安全性和出错处理设计 36 7 1安全性 36 7 2出错处理 36 8参考文档参考文档 37 8 1HAWK介绍 37 图目录 图 1 服务提供方式 7 图 2 业务监控系统目标图 10 图 11 服务监控页面 24 图 11 应用实例页面 25 图 12 服务实例列表页面 25 图 15 服务统计查询页面 26 图 16 服务调用次数查询页面 27 图 17 服务调用时间查询页面 28 图 18 服务调用方查询页面 28 图 19 服务调用次数对比页面 29 图 20 服务排名页面 30 图 21 服务监控操作流图 34 图 22 服务监控模块层次结构图 35 图 23 服务内部发送服务信息示意图 36 图 24 服务调用执行信息类型定义 36 图 25 服务监控程序主流程图 40 图 26 服务调用信息接收存储流程图 41 图 27 服务控制流程图 42 图 28 HAWK架构 47 表目录 表 1 缩略语 6 1 引言引言 1 1 目的目的 编写本概要设计说明书的目的是对 ESB 平台服务管理系统当中业务监控系 统进行总体设计的说明 包括业务监控流程 输入输出 与被监控系统的接口 设计 数据库设计 预警设计和系统出错处理设计等 该概要设计是指导相关 工作人员进行后续详细设计 数据库设计 编码 测试用例设计 系统部署的 重要依据 是联结需求阶段和开发阶段指导性文档 1 2 文档范围文档范围 系统名称 ESB 平台服务业务监控系统 用户方 XXXX 银行 开发方 ESB 平台开发小组 任务提出方 XXXX 银行 任务承受方 XXXX 银行营运中心 预期读者 系统设计开发人员 系统测试人员和用户 使用人 ESB 系统维护人员 本文档用于系统设计阶段的概要设计 它的上游 根据的基线 是 ESB 平台服务监控需求规格说明书 系统概要设计的范围包括 系统的总体结构设 计 系统的全局架构设计 主要业务功能设计 主要技术功能设计等放方面内 容 该范围应覆盖 ESB 平台服务监控系统需求规格说明书 1 3 参考资料参考资料 ESB 平台服务监控系统需求规格说明书 1 4 术语和缩略语术语和缩略语 名词名词说明说明 ESB ESB 全称为 Enterprise Service Bus 企业服务总线 是行 内构建基于服务架构的主要基础设施支持 BusinessWorks BW BusinessWorks BW 是行内 ESB 的基础运行容器 在 ESB 上 实施的服务都会通过这个容器进行服务提供 BW 提供完整 的项目周期管理支持 包含了图形化的服务流程设计器 适 配器配置和部署 服务流程的运行管理也可以通过基于 Web 浏览器实现 Hawk Hawk 是一个监控和管理分布式应用和操作系统的工具 它 是专为监控分布式系统而设计 无需中央控制台也无需通过 频繁网络轮询获取监控目标运行信息 GI General Interfaces 是 TIBCO 推出的开源的基于 Ajax 技术 的 UI 技术 方便开发具有高交互能力的基于 Web 系统 表 1 术语和缩略语 2 系统概述系统概述 行内 SOA 是一种架构理念 通过松耦合方式更好的实现了软件资产的复 用 因而可以很方便地构建业务敏捷的应用系统 以应对不断变化的业务需求 在 SOA 架构下的业务功能都会以不同的技术方式 以服务的形式提供服务请求 方使用 在现在的运行环境中服务主要是通过 Java Net 和 BusinessWorks 进 行服务封装和服务提供的 其中 ESB 作为主要的提供手段和服务介质 TIBCO ESB 产品本身具备非常强大的集成能力 提供了一系列适配器产品链接套装软 件和技术基础设施 比如通过 Lotus Notes 适配器 Oracle 应用适配器和 MQ 适 配器等产品 方便通过 ESB 进行服务封装和服务提供 图 1 服务提供方式 所以作为服务流程提供的主要载体 在 ESB 上实施和运行了数量较多的服 务 TIBCO 产品本身提供了基于 Web 的管理器 Administrator 软件对服务流程 的部署和运行进行技术管理 但如果需要对更深层次的服务业务运行态的管理 需要进行定制化开发 所以 ESB 业务监控系统就是为了满足上述需求的 业务监控系统作为ESB平台服务管理系统 在建 三个主要组成部分之一 建设目标是建立一个基于映射转化 而非基于报文解析 的可配置 可管理的 监控系统 该监控系统是通过建立核心数据库 实现业务流进程跟踪监控 异 常预警和数据统计三大功能 业务监控系统是一个架构稳定灵活 接口实现方便的接入平台 只有被监 控系统接入才能发挥其功能 该系统建成的同时 将同步实现对柜台前移系统 通过报文解析进而转化为基于映射的接入 并且随着 ESB 平台上接入系统的增 加 将逐一实现对被监控系统核心业务流程的监控 被监控业务流接入时 监 控系统仅需前台配置 无需后台代码更改 形成对业务流程的跟踪监控 异常 预警和数据统计功能 由于需接入的业务系统自身功能各不相同 核心业务流 各有差异 在该系统建设过程中 同步制定一套统一的基础信息与进程中信息 或进程报文 通信格式 形成一套制定基础信息与监控信息格式的规范 为 被监控系统的接入方式做好基础架构 对后继业务系统接入提供统一的方法和 流程根据预定义的控制规则对服务进行控制 同时记录服务调用的相关信息 对服务负载和服务性能进行分析 获取的相关服务运行信息将存入数据库 供 之后的数据分析和数据挖掘时使用 2 1 设计约束设计约束 2 1 1 开发过程开发过程 软件开发要符合 计算机软件产品开发文件编制指南 GB 8567 88 的 要求 软件开发要符合 ISO9001 2000 的要求 默认的编码格式是 UTF 8 应用服务器操作系统为 Windows2000 Windows2003 WindowsXP Linux 应用服务器软件采用 Tomcat 5 5 27 JDK 1 5 开发工具采用 MyEclipse6 0 数据库为 Oracle10g 10 2 0 采用 B S Browser Server 技术进行软件开发 客户端操作系统为 Windows2000 Windows2003 WindowsXP 客户端浏览器主要为 IE6 0 或以上版本等软件 系统操作简便 用户界面友好 符合用户使用的习惯 系统响应速度快 运行稳定 用户使用时无等待感 查询或刷新时间不 超过 10 秒 软件不能有空链接 软件应该能根据客户端机器分辨率 主要有 800 600 1024 768 两种分辨率 自动合理布局 用户瞬间访问高峰时界面查询或刷新时间不超过 20 秒 系统能够支持 100 个以内的用户同时访问 客户机的最低配置为 256M 内存 2 1 2 运行环境配置运行环境配置 应用服务器为 Apache Tomcat 5 5 27 应用服务器软件为 Oracle Application Server app10g 客户端操作系统为 Windows2000 Windows2003 WindowsXP 客户端 浏览器主要为 IE6 0 或以上版本等软件 客户机的最低配置为 P4 256M 内存 2 2 设计策略和方法设计策略和方法 业务监控系统在设计时 将从以下几方面进行可复用性 可移植性 可靠 性等方面的考虑 复用性的支持 业务监控系统应对架构 代码等的复用性进行考虑 为行内其它项目做技 术储备 对于系统的代码复用 可通过加强模块的合理分割来实现一部分类似 功能的代码复用 从而减少开发时间 移植性的支持 本项目采用 Ajax Spring DAO 开发架构 使得每一层都以一种松耦合的方 式彼此沟通 可移植性极强 可靠性的支持 本系统的数据库使用 ORACLE 业务监控系统采用的开发架构对表示层采 用 Dwr 实现 业务层采用 Spring 完成 持久层采用 DAO 来处理 而这个框架 本身提供了底层的代码访问封装 开发人员只是调用接口实现业务逻辑处理 在这些支持软件的基础上所进行的应用开发 可靠性是有保证的 2 3 系统技术结构系统技术结构 业务监控系目标图如下所示 整个业务监控系主要实现三大目标即 业务 流进程跟踪监控 异常预警和数据统计分析 核心信息核心信息 数据库数据库 业务流跟踪业务流跟踪 根据预定规则 自动跟踪各业根据预定规则 自动跟踪各业 务流进程 并适时动态显示 务流进程 并适时动态显示 方便各级领导和工作人员及时方便各级领导和工作人员及时 关注业务流的进程状态 以便关注业务流的进程状态 以便 合理的做合理的做出工作安排 出工作安排 业务流进程跟踪业务流进程跟踪 业务流发生异常时 系统业务流发生异常时 系统 能自动给相关技术和业务能自动给相关技术和业务 人员通过短信或邮件的方人员通过短信或邮件的方 式发出预警提醒 方便相式发出预警提醒 方便相 关人员第一时间了解业务关人员第一时间了解业务 流异常 流异常 业务 技术异常预警业务 技术异常预警 异常预警异常预警数据统计数据统计 根据各业务流的基础信息 根据各业务流的基础信息 可对业务流涉及的业务按可对业务流涉及的业务按 照多维度 全视角进行统照多维度 全视角进行统 计分析 并为业务状态预计分析 并为业务状态预 测提供基础信息 测提供基础信息 业务数据统计业务数据统计 图2业务监控系统目标图 业务监控系统的功能架构是为实现端到端的业务进程跟踪监控 该系统功 能模块主要包括 标准代码管理 业务信息管理 业务流程管理 业务进程管 理 进程预警管理 用户权限管理 系统接口和安全及审计管理等 核心模块 为业务信息管理 业务流程管理和业务进程管理 业务监控系统 标 准 代 码 管 理 业 务 信 息 管 理 业 务 流 程 管 理 业 务 进 程 管 理 进 程 预 警 管 理 用 户 权 限 管 理 安 全 及 审 计 管 理 系 统 接 口 业务流跟踪 异常预警数据统计 图3 系统功能架构示意图 业务监控系统在获取具体业务流的基础信息和进程信息的基础上 通过控 制流程驱动和预警管理机制实现业务流跟踪时时动态图和数据统计 在发生异 常时 通过与外部系统的接口实现邮件或短信提醒 进而通过人工干预 恢复 业务流程的正常运转 图 4 业务监控逻辑图 2 4 面向层次的技术架构构成面向层次的技术架构构成 业务功能展示数据组件 Event Data Remote Object Req Res Web Server 用户控制器UCC Application Server 用户定义 业务信息 服务信息展现 业务信息 服务部署 业务信息 异常管理工具类日志管理 UserDAODomainDAOAppinsDAO 数据库 A 用户交互层 B 交互控制层 C 业务服务层 D 公共服务层 E 数据访问层 F 数据存储层 图 5 面向层次视角的技术架构 从面向层次设计的视角 可将系统设计为如下层次 用户交互层 交互控 制层 业务服务层 公共服务层 业务流程管理扩展 数据访问层和数据存储 层 用户交互层 基于 Web2 0 实现技术 负责用户与系统的人机交互界面 为用户提供一定的本地计算能力 交互控制层 负责为界面和业务服务之间进行数据转换 同时对系统的 事务进行总体控制 隔离界面实现与后台服务实现 使后台业务服务实 现更为标准化 业务服务层 主要包括各类封装了业务实现逻辑的业务服务组件 调用 数据访问层的数据服务 本身不直接访问数据库 公共服务层为整个应用的公共需求提供统一的 重用的服务 包括 日 志 异常 事务 认证 校验等 数据访问层 负责进行数据访问及系统间交互操作 关注数据的存取操 作 不关心业务服务如何调用数据 屏蔽对数据库表的直接 SQL 操作 3 业务监控分析业务监控分析 3 1 业务监控总体需求业务监控总体需求 业务监控系统的业务流程端到端跟踪监控的实现是在配置业务流程信息的 前提下 对业务流进程信息进行管理 即在业务流程中 每次业务流经不同作 业处理点 被监控点 时 应向业务监控系统发送状态消息 具体消息通过报 文或消息的方式约定 实际操作过程中 该系统可灵活的添加或减少作业处理 点 通过对业务流程信息的管理实现具体业务端到端的业务流程跟踪监控 当 系统业务流异常时 根据预先配置的预警规则 通过短信或邮件方式提醒预警 提示人员 被监控系统每形成一条业务流时 应向监控系统发送业务基础信息 监控系统将以此自动生成一条监控信息和业务流程 并且该基础信息为业务流 程含义展示和统计汇总提供数据 3 2 业务监控流程介绍业务监控流程介绍 当业务系统生成一条具体业务流时 在初始点及各监控点应向监控系统发 送消息 具体业务流程消息发送的方式为 在业务流起始时 向业务监控系统 发送一条基础信息 监控系统据此自动生成一条业务流跟踪监控流程 在业务 流程中 每一作业处理点 即 监控点 接收到一条需处理作业时 向业务监 控系统发送一条已接收到该作业的状态消息 当该作业处理点完成作业后 向 下一作业处理点发送时 同步应向业务监控系统发送一条该作业处理结果的状 态消息 状态消息可为 该作业内容更改并成功向下一作业处理点发送 或作 业处理成功并向下一作业点发送 或拒绝作业返回至上一或几作业处理点 或 流程结束 当在某监控点或流转中 由于系统技术原因发生异常 应向监控系 统发送系统技术异常消息 如 无法发出 系统延时 系统无法接收等 以上 发送的各类消息可在具体添加被监控系统时 约定消息内容 业务系统发送至监控系统的消息内容应包括 该具体作业流程的唯一标识 代码 全流程不变 本处理点名称代码 本节点所处系统代码 收发作业标识 收发类型 七种 1 正常接收 2 正常发送至下一作业处理点 3 退回上一或几 作业处理点 4 作业流程终止并退出 5 技术延时异常 6 技术异常 系统终止 7 作业流程终止并退出 该类内容可在监控系统实现维护 内容更改标识 具体 更改内容代码 更改后的具体内容 监控系统核心数 据库 监控基础信息 业务流信息 管理员输入 基本信息 注册服务系统 基础信息代码 业务流基础信息 业务系统 进程信息 发起业务系统 基础信息 业务流基础信息 业务流进程信息 业务流跟踪显示 业务流约定 发送消息内容 预警发送 业务流基础信息 业务流进程信息 结束 数据统计显示 图 6 业务监控进程示意图 4 功能模块概述功能模块概述 通过对业务需求的分析 要实现业务流程端到端的跟踪监控 异常预警和 数据统计功能 本系统主要功能模块包括 标准代码管理 业务信息管理 业 务流程管理 业务进程管理 进程预警管理 用户及权限管理 进程跟踪展示 数据统计分析等部分 对于每一部分具体功能及信息分析逐一展开 4 1 标准代码管理模块标准代码管理模块 4 1 1 模块描述模块描述 为使整个系统内容规范 一致 便于与被监控系统定义业务信息 进程信 息的内容 以及部分元数据与服务注册系统进行同步 本系统需建立标准代码 管理 独立维护本系统所使用的标准代码 当与服务注册系统实现对接后 服 务注册系统作为本系统部分标准代码源信息 通过接口向本系统提供标准代码 信息 本系统可关闭服务注册系统提供源数据部分的代码添加 修改功能 仅 保留具体内容本系统是否可见功能 形成标准代码的目的是为保证系统间的标 准信息格式定义一致 以及对业务及业务进程基础信息进行统计和分析提供便 捷 本系统涉及到的主要标准代码包括 系统类别代码 系统代码 业务种类 业务流代码 4 1 2 功能操作功能操作 4 1 2 1代码添加代码添加 用户填写代码详细信息 包括代码 名称 备注等 系统提供校验代码是 否重复 是否符合约定格式 名称不能为空等功能 提交后在数据库中形成一 条正确的新数据 参与者 角色 代码维护员 先决条件 以合法身份登陆系统 输入 代码 名称 备注等需填写的详细信息 输出 对应的相关数据库表中增加一条正确记录 4 1 2 2代码修改代码修改 用户选中要修改的一条代码 可对代码 名称 备注等进行修改 系统对 修改部分除提供与代码添加同样校验功能外 还应提供该代码是否已被引用等 校验功能 对于已被引用和约定使用的代码 原则上不得进行修改 修改后系 统更新数据库 参与者 角色 代码维护员 先决条件 以合法身份登陆系统 输入 填入需变动内容 输出 对应的相关数据库表中一条记录数据发生变化 4 1 2 3代码删除代码删除 用户选中要删除的代码 系统应校验该代码是否已经被引用 若被引用应 待引用记录全部删除后 方可进行删除 对于不能删除又需用户不可见的代码 提供客户端是否隐藏 即客户端不可见 不可在引用 功能 参与者 角色 代码维护员 先决条件 以合法身份登陆系统 输入 无 输出 对应的相关数据表中一条记录被删除或发生变化 4 1 2 4代码查询代码查询 用户登录后 输入代码 名称等条件 进行代码查询 理论上各个字段都 可以作为查询条件 并支持字母和汉字的模糊查询 描述 系统通过用户输入条件 查询相关记录 参与者 角色 所有用户 先决条件 以合法身份登陆系统 输入 查询条件 输出 代码详细条目信息 4 1 3 信息结构信息结构 标准代码主要包括 行内信息系统类别代码 信息系统代码 业务种类代 码和业务流代码 前三类代码应与行内其他系统保持一致 待服务注册系统建 成后 通过数据库订阅等方式实现数据同步 本系统无须再修改 仅对其在本 系统是否可见做调整 业务流代码是根据各业务系统的具体业务种类不同而形 成不同业务流代码 作为具体业务流程的依据 系统代码表 PK信信息息系系统统代代码码 信息系统名称 FK1所属系统类别代码 是否可见 备注 系统类别代码表 PK系系统统类类别别代代码码 系系统统类类别别名名称称 是否可见 备注 业务种类代码表 PK业业务务种种类类代代码码 业务种类名称 FK1所属信息系统代码 是否可见 备注 业务流代码表 PK业业务务流流代代码码 业务流名称 FK1所属业务种类代码 是否可见 备注 标准代码管理信息结构图 4 1 4 数据流图数据流图 4 2 业务信息管理业务信息管理 4 2 1 模块描述模块描述 当业务系统发起一笔被监控的业务流程时 发起系统应根据系统接入时的 约定 通过消息方式向监控系统发送该笔业务信息 作为监控系统自动建立一 条具体业务流程的起始依据 并且为业务进程监控提供业务信息 本系统可人 工修改此类基础消息 具体业务流程结束后 该类基础信息不得修改 在该具 体业务流程运行中 某流程中合法用户对初始业务信息内容发生更改 本系统 应能自动对已入库的数据进行修正 并且本系统可根据业务流状态 自动变更 存储位置 即当具体业务流程未结束时 应一直存于进程中业务信息数据表 结束 包括取消 正常完成及合法终止 进程后 此基础信息应存于已完成业 务信息表 已完成业务信息表中内容为统计汇总功能提供数据 具体业务进程 中的业务信息应包括 唯一标识 作为具体业务流程唯一标识 发起系统 发 起单位 目标系统 目标单位 业务种类 涉及额度 付出金额单位 付出金 额账户 收取金额单位 收取金额账户 过账依据 过账经办单位 过账经办 人等 对于与固定字段无法对应的业务信息 应与预留字段对应 对于各预留 字段 根据对应情况 逐步约定各预留字段对填入信息的要求 被监控系统在 被接入前 双方应确定以上具体信息格式 对各字段应按照服务注册系统业务 属性要求进行约定 并确定以上内容在被监控系统标准名称 即在原系统所使 用的称谓 方便在浏览和统计时 依数据原本意义展现此类基础信息 4 2 2 功能操作功能操作 4 2 2 1业务信息字段对照管理业务信息字段对照管理 4 2 2 2业务信息字段名对照添加业务信息字段名对照添加 4 2 3 信息结构信息结构 4 2 4 数据流图数据流图 4 3 业务流程管理业务流程管理 4 3 1 模块描述模块描述 4 3 2 功能操作功能操作 4 3 3 信息结构信息结构 4 3 4 数据流图数据流图 4 4 业务进程管理业务进程管理 4 4 1 模块描述模块描述 4 4 2 功能操作功能操作 4 4 3 信息结构信息结构 4 4 4 数据流图数据流图 4 5 业务预警管理业务预警管理 4 5 1 模块描述模块描述 4 5 2 功能操作功能操作 4 5 3 信息结构信息结构 4 5 4 数据流图数据流图 4 6 用户权限管理用户权限管理 4 6 1 模块描述模块描述 4 6 2 功能操作功能操作 4 6 3 信息结构信息结构 4 6 4 数据流图数据流图 4 7 业务监控的展示业务监控的展示 4 7 1 模块描述模块描述 4 7 2 功能操作功能操作 4 7 3 数据流图数据流图 4 8 数据统计分析数据统计分析 4 8 1 模块描述模块描述 4 8 2 功能操作功能操作 4 8 3 数据流图数据流图 5 服务监控服务监控 服务监控程序是独立运行的程序 主动定时获取服务运行状态信息 接收 服务调用信息并存入数据库供后续查询操作 同时服务监控程序可以接收用户 方发来的主动服务控制请求 或者根据预定义的服务控制策略 向运行态服务 发出服务控制命令 也可以同时通过邮件通知系统运维人员 5 1 服务监控相关数据流图服务监控相关数据流图 9 主动控制 请求 数据库 服务信 息控制策略 服务监控 信息 获取 服务监控 服务 控制 服务监控运维 人员 服务信息展现 信息获取 服务信息展现 服务主动控制 6 服务状态信息 3 服务调用信息 服务应用实例 服务实例 2 服务调用信息 10 主动服务控制命令 8 服务控制命令 4 服务信息 查询结果 7 服务信息 5 服务信息 1 服务状态信息 图 3 服务监控操作流图 服务监控程序包含两个主要的功能模块 服务信息获取模块和服务控制 模块 服务信息获取模块通过接收包含服务调用信息的消息 数据流 2 并存入 数据库 数据流 3 考虑到服务调用信息消息条数会比较多 使用一个 消息队列会影响消息收发性能 所以一个应用实例下所有服务实例的调 用信息消息使用同一个队列来收发 服务监控程序在启动后 根据数据 库里的应用实例基本信息 决定在几个队列上监听消息 服务控制模块通过 HAWK 获取服务状态信息 数据流 6 同时从数据库 中获取服务基本信息和调用信息 数据流 7 当满足预定义条件时 按 既定规则控制服务运行 数据流 8 使用 HAWK Agent 和应用实例进行 通信 获取应用实例状态信息 每个应用实例含有一个或者多个 HAWK Agent 5 2 服务监控模块设计服务监控模块设计 服务信息监测模块 服务监控主程序 服务控制模块 基础功能模块 日志模块线程管理模块 RV消息收发 模块 HAWK应用 模块 配置项读取模块程序终止资源释放初始化资源创建 服务调用信息 获取模块 服务自动监控 模块 数据库操作管 理模块 服务调用信息 存储模块 服务状态信息 获取模块 图 4 服务监控模块层次结构图 服务监控程序主线程负责读取配置项 初始化创建资源 结束程序释放资 源 服务监控程序执行两个主要的工作任务 获取服务调用信息并存库 获取 服务状态信息根据预定义策略进行服务控制 各个任务由预先配置的一个 或者多个线程运行 使用 HAWK 来获取服务运行状态信息和控制服务运行 服务的调用信息使用消息机制 调用信息按定义的格式序列化和反序列化 5 2 1 服务信息监测模块服务信息监测模块 5 2 1 1服务调用信息获取模块服务调用信息获取模块 服务内部流程的实现如图 6 所示 记录服务接口调用执行的相关信息 以 消息的形式发送到消息中间件的队列上 服务信息监控程序循环地从队列上接 收这些消息 队列的默认名称为 Invokation record 图 5 服务内部发送服务信息示意图 5 2 1 1 1服务调用信息线格式服务调用信息线格式 承载服务调用执行相关信息支持复杂类型 调用信息的类型定义如下 图 6 服务调用执行信息类型定义 如果需要记录服务调用的输入和输出 可以按以下的序列化格式 将各种 不同类型的输入数据和输出数据序列化为字符串 表 2 服务调用报文结构 序号序号命名命名参数类型参数类型说明说明约束条件约束条件是否必输是否必输 1 instancenameSTRING服务流程号参见编码规 则 Y 2 starttimeDATETIME流程开始时间 Y 3 endtimeDATETIME流程结束时间 Y 4 inovkerSTRING系统调用方参见编码规 则 Y 5 inputSTRING服务调用的输入 N 6 outputSTRING服务调用的输出 N 7 success STRING服务调用是否 成功 1 成功 9 失败 Y 8 errorcodeSTRING服务调用发生异 常时的异常码 N 5 2 1 2服务调用信息存储模块服务调用信息存储模块 服务监控程序接收到消息后 将消息内容读取处理并插入数据库中对应的 表中 在上文中提到每个应用实例中所有服务实例的调用记录存放在一个表中 表名为 SERVICEINVOKE 同时将服务实例的一部分调用记录信息记录在内 存里 供服务控制使用 5 2 2 服务控制模块服务控制模块 服务监控程序执行三种控制策略的服务控制操作 程序使用 HAWK API 循环获取服务实例的状态信息 同时使用在内存中的服务调用记录信息 来进 行状态判断 执行相应的控制操作 5 2 2 1服务控制策略服务控制策略 服务宕机服务宕机 监测服务运行状态 当发现服务宕机时 通知运维人员或者自动重启服务 每个应用实例都有一个 HAWK Agent 当服务监控程序通过 HAWK API 连接一 个 HAWK Agent 失败 就可知道该 HAWK Agent 对应的服务应用已经宕机 5 2 2 2服务控制策略服务控制策略 服务调用失败服务调用失败 统计服务调用处理成功失败次数 当最近一段时间内 比如最近 1 小时内 失败次数占总次数的百分比超过控制策略中的设置值时 通知运维人员 服务 监控程序在内存中保存每个服务实例的服务调用成功与失败的次数 程序循环 进行判断 5 2 2 3服务控制策略服务控制策略 服务负载过大服务负载过大 根据服务实例当前的排队请求数 历史平均单次处理时间 最近 1 分钟或 者 5 分钟的服务请求数来判断服务是否负载过大 通知运维人员 同时把该服 务忙的信息以主题消息的形式发布出去 服务调用者可以主动订阅服务状态事 件消息 调整服务调用的时机和频率 或者服务应用实例订阅服务状态事件消 息后 按既定的服务调用规范 服务直接给服务调用方返回服务忙的应答 判断负载过大策略规则如下 判断负载过大策略规则如下 1 IF 排队请求数 排队请求数阀值 THEN IF 最近 1 分钟或者 5 分钟的服务请求数 0 THEN 服务负载过大 ELSE IF 排队请求数 历史平均单次处理时间 1 分钟或者 5 分钟 THEN 服 务负载过大 ELSE 服务负载正常 2 IF 最近 1 分钟或者 5 分钟的服务请求数 服务请求数阀值 THEN IF 排队请求数 0 THEN IF 最近 1 分钟或者 5 分钟的服务请求数 历史平均单次处理时间 1 分 钟或者 5 分钟 THEN 服务负载过大 ELSE 服务负载正常 ELSE 服务负载正常 服务监控程序在内存中保存每个服务实例的最近一段时间的服务调用请求 次数 同时程序循环更新每个服务实例的当前排队请求数 来进行服务负载是 否过大的判断 5 2 3 服务监控主程序服务监控主程序 服务监控主程序使用 BW 实现 主要逻辑使用 Java 程序实现 5 2 3 1服务监控主程序启动配置文件服务监控主程序启动配置文件 1 tibco service monitor domain domain1 domian2 domain3 2 tibco service monitor DBURL 3 tibco service monitor DBusername 4 tibco service monitor DBpassword 5 tibco service monitor RvDaemon 6 tibco service monitor RvNetwork 7 tibco service monitor RvService 8 tibco service monitor JmsProviderUrl 5 2 3 2服务监控主程序主流程服务监控主程序主流程 一一一一一一 一一一一一一一一一一一 一一一 一一一一一一一一一一一 一一一一一 一一一一一一一一一一一 一一一一一一 一一一一一一一一一一一 一一一一一一一一一一一 一一一一一 一一一一一一一一 一一一HAWK一一一一一 一一一一一一一一HAWK Agent 一一一一一一一一一一一 一 一一一一一一一一 一一一一一一 一一一一一一 图 7 服务监控程序主流程图 5 2 4 服务监控任务服务监控任务 主程序创建多个线程来运行工作任务 工作任务有两个 服务调用信息接 收存储任务和服务控制任务 5 2 4 1服务调用信息获取任务服务调用信息获取任务 一一一一 一一一一一一一一一一一 一 一一一一一一一一一一一 图 8 服务调用信息接收存储流程图 服务调用信息获取任务循环判断程序是否关闭 如果没有关闭 则从消息 中间件上接收服务调用消息 更新内存中服务实例的相关信息 然后将调用信 息写入数据库的相应表单 5 2 4 2服务控制任务服务控制任务 一一一一一一一一一一一 一一一 一一一一一一 一一一一一一一一一 图 9 服务控制流程图 服务控制任务循环判断程序是否关闭 如果没有关闭 根据内存中应用实 例和服务实例的状态信息 判断是否符合服务控制策略的条件 满足条件时通 知运维人员 并做相应的服务控制操作 5 2 5 服务监控基础功能模块服务监控基础功能模块 基础功能模块包括配置文件读取 日志 线程创建管理 Hawk 访问 消 息收发 数据库操作六个模块 5 3 服务接口规范服务接口规范 5 3 1 服务处理成功失败定义规范服务处理成功失败定义规范 对于封装已有业务应用的服务 接口调用层次如下 1 业务应用的接口 在服务内部被调用 2 服务对外提供的接口 由服务调用者调用 服务封装已有应用 提供一定的功能 从功能是否可用这个角度 定义服 务接口调用返回值类别如下 1 正常结果 服务提供的功能可用 返回业务层的正常结果 2 异常结果 服务提供的功能可用 但返回业务层异常结果 如输入值超 出范围 3 错误 服务提供的功能不可用 返回服务错误结果 如已有业务应用不 可连接 调用已有业务应用接口超时 服务忙等 服务调用成功定义 调用服务接口返回值为以上定义的正常结果或异常结果 服务调用失败定义 调用服务接口返回值为以上定义的错误结果 服务调用成功失败次数统计即在一定的服务调用次数范围内 区别服务功能可 用时的调用次数和服务功能不可用时的调用次数 5 3 2 服务调用方规范服务调用方规范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论