9A文事件引擎中心概要设计说明书.docx
- 文档编号:3507249
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:66
- 大小:1.60MB
9A文事件引擎中心概要设计说明书.docx
《9A文事件引擎中心概要设计说明书.docx》由会员分享,可在线阅读,更多相关《9A文事件引擎中心概要设计说明书.docx(66页珍藏版)》请在冰豆网上搜索。
9A文事件引擎中心概要设计说明书
AsiaInfo项目文档
事件中心
概要设计说明书
编写
编写时间
2017-1-11
审核
审核者姓名(及其职务)
审核时间
审批
审批者姓名(及其职务)
审批时间
文档管理
页码
共63页
修订次数
共1次
版本
V1.0
编号
亚信科技(中国)有限公司版权所有
文档中的全部内容属亚信科技(中国)有限公司所有,
未经允许,不可全部或部分发表、复制、使用于任何目的。
文档修订摘要
日期
修订号
描述
著者
审阅者
批准人/日期
AsiaInfo项目文档1
第1章引言3
1.1编写目的3
1.2阅读对象3
1.3术语与缩写解释3
第2章系统概述5
2.1系统描述5
2.2设计思路5
2.3系统外部关系图5
2.4非功能性需求概述6
第3章总体设计8
3.1总体功能8
3.2整体架构9
3.3分层设计11
第4章系统核心模型12
4.1事件中心模型12
4.2事件中心权限模型13
4.3系统关键表14
4.3.1输入事件模板(AICEP_IN_EVENT_TEMPLATE)15
4.3.2属性定义表(AICEP_ATTR_DEF)16
4.3.3事件模板属性(AICEP_TEMPLATE_ATTR_REL)16
4.3.4系统表(AICEP_ACCESS_SRS)16
4.3.5模板目录表(AICEP_TEMPLATE_CATALOG)17
4.3.6事件模板与目录的关系表(AICEP_TEMPLATE_CATALOG_REL)17
4.3.7规则配置表(AICEP_RULE_CONF)18
4.3.8异常编码表(AICEP_ERCEPTION_CODE)18
4.3.9事件模板和规则关系表(AICEP_TEMPLATE_RULE_REL)18
4.3.10通道表(AICEP_CHANNEL)【实际存放主题相关信息】19
4.3.11通道扩展表(技术参数调整)(AICEP_CHANNEL_ATTR)19
4.3.12主题表(AICEP_TOPIC_DEF)【需删除】19
4.3.13输入适配器主动获取数据用(数据源表)(AICEP_IN_ADAPTER)20
4.3.14适配器属性配置表(纵表)(AICEP_ADAPTER_ATTR)20
4.3.15规则通道关系表(用于订阅)(AICEP_RULE_CHANNEL_REL)20
4.3.16输出事件订阅表(AICEP_EVENT_SUBSCRIBE)21
4.3.17系统接入IP关系表(AICEP_ACCESS_IP)21
4.3.18租户表(AICEP_MULTI_TENANCR)21
4.3.19输出属性表(AICEP_OUT_ATTR)21
4.3.20静态数据表(AICEP_STATIC)22
4.3.21系统与通道关系表(AICEP_SRS_CHANNEL)【表字段待确定】22
第5章系统关键设计23
5.1配置视图23
5.2事件在线发布23
5.3复杂事件分布式处理24
5.4事件处理过载保护25
5.5伸缩性设计26
5.6高可用设计26
5.7事件接入安全27
5.8事件的热发布27
第6章事件中心系统设计28
6.1系统设计28
6.2系统处理流程28
6.2.1事件配置28
6.2.2事件处理34
6.2.3监控管理48
6.2.4多租户管理49
6.2.5权限管理49
6.2.6接入接出管理49
6.3时序图52
6.3.1事件配置53
6.3.2事件处理57
6.4用例图58
6.4.1事件配置58
6.5出错信息60
第1章引言
1.1编写目的
本文档详细描述了事件中心产品的总体概述、设计目标、周边系统边界、功能需求、非功能需求及接口实现等。
文档用途如下:
该文档主要提供了以下几个方面内容:
∙本文档可作为事件开发的依据;
∙本文档可作为事件中心产品测试验收标准。
1.2阅读对象
本文档适合事件中心产品设计和开发人员,设计和开发中使用到事件处理或者计划使用事件处理的相关人员。
也适合于对事件处理以及事件驱动感兴趣的相关人员,本文档的阅读对象以及角色如下:
∙核心产品设计工程师
∙核心产品开发工程师
∙核心产品测试工程师
∙解决方案设计和开发工程师
∙本地实施工程师
∙其他对事件处理感兴趣的相关人员
1.3术语与缩写解释
缩写、术语
解释
CEP
复杂事件处理
JMS
JavaMessageService
HTTP
超文本传输协议
JSON
JavaScriptObjectNotation
缩写、术语
解释
ESPER
开源的复杂事件处理和事件流处理应用程序组件
EPL
EventProcessingLanguage
事件接入方
向统一事件中心的提供数据源接入的对象,可为某一渠道的某一系统
事件订阅方
向统一事件中心的提交订阅事件订阅申请的对象,可为某一渠道的某一系统
事件模板
实现对事件的定义,包含事件ID、事件来源、事件属性、事件分类、事件触发规则等。
事件持久化
对输入事件源的落地存储,用于事件状态同步,异常反查等,存储周期可配置。
第2章系统概述
2.1系统描述
事件中心是针对海量实时数据的复杂事件处理场景设计的。
事件中心基于流计算处理引擎作为底层支撑,采用分布式集群部署,支持多事件源的接入、事件规则的创建、事件规则解析处理以及结果数据的实时输出。
事件中心采用主流标准的接口协议,满足与外围系统的数据交互:
∙事件中心可与亚信自有的其他业务系统、平台进行数据交互;
∙事件中心可与其他厂商系统进行交互,包括与其他厂商承建的电信运营商业务系统的数据交互,以及与其他行业客户的业务系统的数据交互。
2.2设计思路
事件中心作为独立产品,应具备如下特性:
∙产品可独立部署,不依赖于其他业务系统;
∙产品具有良好的可扩展性,设计时考虑分布式及高可用性;
∙产品的输入输出采用标准接口,接口协议支持目前主流的标准协议;
∙产品支持多租户用户管理,以租户的方式实现对用户或用户组的权限管理,以达到资源和数据权限的管理控制;
∙产品提供软件开发工具包,方便外围系统开发集成人员快速掌握产品的集成和使用;
∙产品支持对事件订阅、查询及输入输出的界面配置,实现良好的用户交互;
∙产品有安全控制、异常处理等功能设计,保证运行时的高可靠性。
2.3系统外部关系图
事件中心外界边界关系如图:
1.事件中心可以接收不同渠道数据源的数据:
∙内部渠道:
如网厅、短厅等不同渠道、不同系统的数据。
∙外部渠道:
其他厂家或其他行业的业务系统。
∙可以与能力开放平台对接,进行业务服务的调用/反馈。
2.各个渠道可以对输出的事件进行订阅。
3.特殊说明:
与规则中心的关系:
∙事件中心配置事件规则时支持两种类型的规则:
EPL规则与统一规则中心提供的规则。
∙配置事件对应的规则时,通过界面展现规则中心已配置的规则列表,用于配置选择。
∙新增事件规则原则:
输入事件的元数据满足规则执行时,直接通过事件中心配置实现;
不满足时,通过评估确定是否可以由规则中心实现,否则,要求事件接入方补充元数据;
∙事件中心执行规则时,如果规则归属于统一规则则调用规则中心提供的服务进行规则校验、执行,规则中心执行后返回结果给事件中心,事件中心通过结果做相应的处理。
2.4非功能性需求概述
本系统设计和开发,要充分考虑系统的可靠性、安全性、可管理性、性能保障、可扩展性、可维护性和兼容性,具体要求如下:
可靠性:
主要通过采用双中心部署,来达到系统的高可靠性要求;同时系统设计时应用软件具有一定的障碍处理和异常恢复能力。
安全性:
安全系统由系统管理员对系统进行实时监控,特别是网络设计中要设置防火墙;同时软件部分提供严密的操作权限控制和安全管理措施。
可管理性:
软件设计尽量采用参数化设计,使系统能够便于随着主要业务需求的变化做出相应的调整。
性能保障:
本系统支持系统平台的云化部署和资源横向扩展,对页面、接口、后台数据采集的性能要求参考中国移动集团规范。
可靠性:
本系统通过集群和负载均衡,实现web服务器的页面可靠性;同时,通过软硬件方式实现接口可靠性和数据可靠性。
容灾:
本系统支持双中心方式部署。
可扩展性:
本系统通过云化部署架构(R86),支持服务实例的动态扩展;支持通用系统功能的可更新和扩展性。
可维护性:
本系统通过数据采集和告警模块支持对自身运行情况的监控和告警,通过灰度发布技术支撑业务功能的在线发布。
安全:
在软件层面,采用认证、密钥、加密协议、时效限制等保障生产过程的安全,对代码存放、访问和事后审计提供支持;在接口层面,通过技术上的安全控制,实现接口安全。
在物理层面,通过支持双中心实现容灾。
在服务器层面,应用服务器主机的操作系统在安全性上应该能够达到C2安全级别,对系统能提供有效的安全保密措施。
在重要关键服务器的网段上设立防火墙。
核心应用系统服务器主机全部采用双机热备方式,磁盘阵列采用RAID方式对数据进行存储。
在数据层面支撑数据库和其它文件只能被授权用户访问和修改,防止在本地存储或者网络传输的数据受到非法篡改、删除和破坏。
兼容性:
兼容国际、国内的相关标准技术,采用规范的接口和协议,保证系统各组成部分的协同一致。
第3章总体设计
3.1总体功能
事件中心主要是对多事件源进行处理,引入流计算、分布式内存等数据处理技术,接收各类实时事件源的基础数据并进行解析,同时对实时事件进行累积计算,最终将实时复杂事件数据加载到分布式内存中,进行符合规则的数据匹配,支持多事件源的接入、规则的创建、规则解析处理以及结果数据的实时输出。
按照功能进行划分,主要包括以下几个处理模块:
接入管理、事件配置、事件处理、权限管理、监控管理、多租户管理等。
事件配置模块包括事件注册、事件订阅管理、事件下线、事件发布等功能,主要通过界面操作实现相关配置;
监控管理实现对系统关键性能指标的监控,分为三种类别分别为:
系统监控、服务监控、应用监控。
系统监控用于监控集群节点的CPU、内存等指标。
服务监控包括Kafka服务监控、Zookeeper服务监控、Redis服务监控、Storm服务监控。
应用监控包括事件处理过程中的过程数据,如:
平均处理时间、已处理数据量、处理是否延时等;
接入接出管理实现对接入事件中心的渠道、系统、主机IP的配置管理;
权限管理包括用户管理、菜单管理、角色管理、用户权限管理配置等功能;
多租户管理包括多租户用户管理和租户用户资源管理,通过租户模式实现数据及计算、存储资源权限的控制;
事件处理主要包括接入安全控制、接入适配、输入事件预处理、事件接收、事件规则运算、事件规则触发、事件持久化扩展、输出报文转换、事件输出、异常记录等功能。
3.2整体架构
事件中心整体架构充分考虑以大数据为背景的前提进行设计,在事件处理过程中采用读写分离,数据不落地的方式,整个处理过程在内存中完成。
各服务组件功能如下:
Kafka
对事件的存储支持负载均衡和横向扩展能力,并提供了高效可靠的消息传递机制进行平台无关的数据交流,通过提供消息传递和消息排队模型,在分布式环境下扩展进程间的通信。
Storm
分布式实时处理框架,能够实现业务的分布式实时处理,保障集群的高可用和事件处理的横向扩展。
Esper
复杂事件处理引擎,能够支持事件的动态加载处理、高吞吐量,但因为不支持分布式所以需与Storm结合。
GroovR
用于Java虚拟机的一种敏捷的动态脚本语言,主要用于对Esper的补充,适用于Esper满足不或比较复杂的业务应用场景处理,支持动态加载。
Cgroup
实现了对事件中心各服务进程的资源隔离,主要用于隔离CPU和内存资源。
Zookeeper
为分布式应用提供一致性服务,提供的功能包括:
配置维护、名字服务、分布式同步、组服务等,协调Kafka数据的生成和消费,Storm主节点与从节点间的事件处理。
Redis
分布式数据缓存:
提供了对中间业务数据缓存的功能,并且所有缓存的数据在磁盘都有保存.
3.3分层设计
第4章系统核心模型
4.1事件中心模型
如图:
4.2事件中心权限模型
如图:
4.3系统关键表
关键表名
用途
AICEP_IN_EVENT_TEMPLATE输入事件模板
规范输入事件源,为数据提供统一格式
AICEP_ATTR_DEF属性定义表
提供事件中心所有属性的配置﹑管理。
包括属性归属目录﹑属性标识。
AICEP_TEMPLATE_ATTR_REL事件模板属性
提供事件模板与属性之间映射关系的配置﹑管理。
包括属性映射标识﹑事件模板标识等信息。
AICEP_RULE_CHANNEL_REL规则通道关系表
规则通道关系用于配置规则与通道的关系,
AICEP_EVENT_SUBSCRIBE(输出事件订阅表)
将事件输出到消息中间件,同一事件可以按配置分配到不同的通道下。
订阅者可对输出事件按事件模板编号、分类进行订阅。
AICEP_ACCESS_IP(系统接入IP关系表)
对接入系统的IP的进行验证管理。
可以通过配置对其IP进行新增﹑修改﹑删除管理。
AICEP_MULTI_TENANCR(租户表)
事件中心提供对不同租户的用户相关信息进行配置、管理。
包括租户标识、名称、级别、描述等信息。
AICEP_TEMPLATE_RULE_REL(事件模板和规则关系表)
事件中心提供对事件模板和规则关系的配置﹑管理。
通道表(AICEP_CHANNEL)
事件中心提供对不同通道的相关信息进行配置、管理。
包括通道标识﹑名称﹑通道归属主题等信息。
通道扩展表(技术参数调整)(AICEP_CHANNEL_ATTR)
对通道表的扩展,在通道数量﹑线程数等参数的配置﹑管理。
主题表(AICEP_TOPIC_DEF)
事件中心提供对不同订阅者订阅主题的配置﹑管理。
包括主题标识﹑名称﹑类别等信息。
输入适配器主动获取数据用(数据源表)(AICEP_IN_ADAPTER)
事件中心提供对输入适配器的配置﹑管理。
包括接入方式适配器类型适配器实现类等信息
适配器属性配置表(AICEP_ADAPTER_ATTR)
事件中心提供对适配器属性的配置﹑管理。
包括适配器属性标识﹑适配器ID等信息。
AICEP_TEMPLATE_CATALOG(模板目录表)
事件中心提供模板目录的配置﹑管理。
包括目当标识﹑目录名称﹑目录类别﹑所属域﹑所属系统等信息。
AICEP_TEMPLATE_CATALOG_REL(事件模板与目录的关系表)
事件中心提供模板与目录关系的配置﹑管理。
一个模板只能归属于一个目录,一个目当可以拥有多个模板。
AICEP_RULE_CONF(规则配置表)
配置EPL语句,一个事件可以匹配多条规则,反之,一条规则可以被多个事件关联。
AICEP_ERCEPTION_CODE(异常编码表)
捕获、处理统一事件中心运行过程的各种错误,并使用错误代码标识。
异常编码表中进行配置,对其新增、修改、删除。
AICEP_OUT_ATTR(输出属性表)
配置规则﹑规则通道﹑事件订阅属性之间的关系
AICEP_STATIC(静态表)
配置公共静态数据
输入事件模板(AICEP_IN_EVENT_TEMPLATE)
序号
列名
描述
类型
主键
外键
1
TEMPLATE_ID
模板标识(流水号ID)
NUMBER(12)
■
2
CHANNEL_ID
通道ID
NUMBER(12)
■
3
TEMPLATE_CODE
模板编码(归属域+归属系统+自增序列号)String
VARCHAR2(32)
4
TEMPLATE_NAME
模板名称String
VARCHAR2(64)
5
TEMPLATE_DESC
模板描述String
VARCHAR2(256)
6
ADAPTER_ID
接入适配器(JMS)
NUMBER(12)
■
7
CREATOR
创建者
VARCHAR2(32)
8
MODIFIER
修改者
VARCHAR2(32)
9
DOMAIN_CODE
归属域String
VARCHAR2(32)
10
SRS_ID
归属系统String
NUMBER(12)
■
11
CREATE_DATE
创建时间date
DATE
12
MODIFR_DATE
修改时间date
DATE
13
STATE_MODIFR_DATE
状态修改时间date
DATE
14
STATE
状态(新建、待上线、上线、下线)状态流程图
NUMBER
(1)
15
MESSAGE_TRPE
报文类型(Rml﹑json)
VARCHAR2(32)
属性定义表(AICEP_ATTR_DEF)
序号
名称
描述
类型
主键
外键
1
ATTR_ID
属性ID
NUMBER(12)
■
2
CATALOG_ID
属性归属目录
NUMBER(12)
■
3
ATTR_CODE
属性编码
VARCHAR2(32)
4
ATTR_NAME
属性名称
VARCHAR2(32)
5
ATTR_TRPE
属性类型
VARCHAR2(32)
6
ATTR_REFER_VALUE
属性参考值
VARCHAR2(32)
7
ATTR_DESC
属性描述
VARCHAR2(256)
8
CREATOR
创建者
VARCHAR2(32)
9
MODIFIER
修改者
VARCHAR2(32)
10
CREATE_DATE
创建时间date
DATE
11
MODIFR_DATE
修改时间
DATE
12
STATE
状态
NUMBER
(1)
事件模板属性(AICEP_TEMPLATE_ATTR_REL)
序号
名称
描述
类型
主键
外键
1
TEMPLATE_ATTR_REL_ID
模板属性ID(流水ID)
NUMBER(12)
■
2
TEMPLATE_ID
模板ID
NUMBER(12)
■
3
ATTR_ID
属性ID
NUMBER(12)
■
4
DOMAIN_CODE
归属域String
VARCHAR2(32)
5
CREATOR
创建者
VARCHAR2(32)
6
MODIFIER
修改者
VARCHAR2(32)
7
CREATE_DATE
创建时间date
DATE
8
MODIFR_DATE
修改时间date
DATE
9
STATE
状态(生效、失效)
NUMBER
(1)
10
ATTR_CODE
属性编码
VARCHAR2(32)
11
ORG_ATTR_CODE
原始属性编码(外围系统的属性编码
VARCHAR2(32)
系统表(AICEP_ACCESS_SRS)
序号
名称
描述
类型
主键
外键
1
SRS_ID
系统ID(流水ID)
NUMBER(12)
■
2
TENANCR_ID
租户ID
NUMBER(12)
■
3
SRS_CODE
系统编码
VARCHAR2(32)
4
SRS_NAME
系统名称
VARCHAR2(64)
5
DOMAIN_CODE
所属域
VARCHAR2(32)
6
SRS_CONTACT
联系人
VARCHAR2(64)
7
SRS_TEL
联系电话
VARCHAR2(32)
8
SRS_MAILBOR
邮箱
VARCHAR2(64)
9
CREATOR
创建者
VARCHAR2(32)
10
MODIFIER
修改者
VARCHAR2(32)
11
CREATE_DATE
创建时间
DATE
12
MODIFR_DATE
修改时间
DATE
模板目录表(AICEP_TEMPLATE_CATALOG)
序号
名称
描述
类型
主键
外键
1
CATALOG_ID
目录ID(流水ID)
NUMBER(12)
■
2
CATALOG_CODE
目录编码
VARCHAR2(32)
3
CATALOG_NAME
目录名称
VARCHAR2(64)
4
CATALOG_DESC
描述
VARCHAR2(256)
5
CATALOG_TRPE
目录类别
NUMBER
(1)
6
PARENT_CATALOG_ID
父目录ID
NUMBER(12)
7
DOMAIN_CODE
所属域
VARCHAR2(32)
8
SRS_ID
所属系统
NUMBER(12)
9
CREATOR
创建者
VARCHAR2(32)
10
MODIFIER
修改者
VARCHAR2(32)
11
CREATE_DATE
创建时间
DATE
12
MODIFR_DATE
修改时间
DATE
事件模板与目录的关系表(AICEP_TEMPLATE_CATALOG_REL)
序号
名称
描述
类型
主键
外键
1
TEMPLATE_CATALOG_REL_ID
模版与目录关系ID(流水ID)
NUMBER(12)
■
2
TEMPLATE_ID
事件模版ID
NUMBER(12)
■
3
CATALOG_ID
目录ID
NUMBER(12)
■
4
CREATOR
创建者
VARCHAR2(32)
5
MODIFIER
修改者
VARCHAR2(32)
6
CREATE_DATE
创建时间
DATE
7
MODIFR_DATE
修改时间
DATE
规则配置表(AICEP_RULE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文事 引擎 中心 概要 设计 说明书