Skip to content

jfifth/documents

 
 

Repository files navigation

DO 公共组件架构

[TODO DO平台简介]


基础架构

1555388986700

通用数据处理流程

1555388960456


架构特点

​ 本系统在架构设计上,通过融合大数据存储&分析技术和商业智能(Business Intelligence)技术,形成了一套功能完善、灵活扩展的,能够处理海量数据的移动通信业务端到端分析和优化系统。

基于OSGI架构:

​ OSGI架构是模块化开发的基础框架, 模块化的优势体现在:

  1. 使资源能够合理分配:将软件模块化后,就可以分配独立的团队去处理独立的模块,从而将资源合理分配。这样既便于管理,又会降低整个软件的设计的复杂性。因为每个独立的团队可以专心去设计和实现其模块,而不用通盘考虑整个软件的复杂性。
  2. 增加软件重用性:每一个模块都是一个独立功能的封装,可以被轻松的用到其他的软件开发过程中,节省了资源和成本。
  3. 易于开发和维护:软件分成一个个模块,每一个模块都被独立的开发和维护,当软件出现问题后,就能很容易的定位到出问题的模块,降低了软件的复杂度和维护成本。

基于Hadoop大数据技术:

​ Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点: ​ 高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。 ​ 高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。 ​ 高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。 ​ 高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。 ​ 低成本。与一体机、商用数据仓库以及QlikView等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

基于状态机机制的多接口流式合成

​ XdrComposer是基于状态机机制的多接口信令合成软件, 期特点有:

  1. 基于状态及机制。

  2. 增加软件重用性:每一个模块都是一个独立功能的封装,可以被轻松的用到其他的软件开发过程中,节省了资源和成本。

  3. 易于开发和维护:软件分成一个个模块,每一个模块都被独立的开发和维护,当软件出现问题后,就能很容易的定位到出问题的模块,降低了软件的复杂度和维护成本。


组件说明

Framework(OSGI):

​ Framework是我们所有模块的基础IT环境, 本身基于Apache Felix 进行开发. 支持所有Java环境, 比如: Linux, Window, JDK版本最低1.7.

​ Framework内置提供多种组件服务, 如:

Logging: 基础日志插件, 为平台提供基础的日志服务

Thread Pool: 线程池组件, 提供统一的线程配置管理和线程池服务

Scheduler: 定时任务调度组件, 提供类似Crontab方式的任务调度支持

Data Source: 提供统一的数据源配置和服务

Zookeeper: 框架内置Zookeeper服务, 提供基础的集群组建框架.

Jetty Container: 框架内置J2EE 容器, 提供插件化的界面集成方案.

MQ: 框架内置Apache MQ消息服务端和客户端, 为系统提供对内对外消息集成方案.

KPIAnalyzer:

​ KPIAnalyzer 指标汇总计算模块, 基于传统Java集群架构 ​ 1.分为XDR版本和直采版本, 依据模型分为更多版本 ​ 2.只能计算小时粒度以下的指标 ​ 3.可以同时触发告警

DataLoader:

原始数据处理和入库模块

  1. 支持DO解码器输出的BIN文件入库
  2. 支持基于电信/移动/联通等集团规范的XDR文件入库(一般为CSV格式)
  3. 支持对数据进行过滤/加工/关联回填等处理
  4. 支持仅落地文件,不入库
  5. 支持入库到Oracle和GreenPlum等数据库

XdrComposer:

基于状态机机制的多接口流式合成框架/软件.

  1. 支持直采版本数据源
  2. 支持各个集团XDR作为数据源(需适配)
  3. 基于状态机机制
  4. 基于Zookeeper集群框架
  5. 流式处理过程
  6. 主要合成业务逻辑集中在DO for VOLTE产品框架
  7. 同时支持MR回填IMSI等业务逻辑

N-INSIGHT:

基础开发框架, 提供给开发人员使用:

  1. 可开发基于数据库的脚本程序, 支持自动化
  2. 可开发基于大数据环境的Spark SQL程序, 支持自动化
  3. 支持环境外数据(小量)同步到运行环境, 方便关联计算
  4. 支持输出结果到不同数据库, 已支持: Oracle,GP, HIVE, MYSQL
  5. 支持多种周期的调度方式
  6. 支持外部程序调用(配置方式)
  7. 支持软件包加密
  8. 支持基于MQ消息的依赖触发机制
  9. 本身即是Web容器, 因此支持Web开发

DATA-INSIGHT:

拖拽/配置式数据可视化平台

  1. 支持常用的图表,地图(热力图/路线图/散点/闪烁),以及常用的网页控件.
  2. 支持通过SQL/Javascript/Python等方式获取数据源
  3. 支持数据的二次分析处理, 主要支持Python做二次分析.
  4. 支持模板/分享等功能, 提供作品共享平台.
  5. 支持后端AI分析过程,目前内置异常值检测分析方法
  6. 属于面向业务分析人员的开发平台

FLOW-INSIGHT

拖拽式的数据计算/处理管理平台

  1. 拖拽/配置式数据分析处理平台
  2. 提供基于DAG的数据处理过程定义
  3. 目前仅支持SQL方式的数据处理过程定义
  4. 支持Oracle,PG,Hive,Spark等数据处理和计算环境
  5. 面向业务开发人员(会SQL)和软件开发人员.
  6. 目前暂无升级需求, 此处是最佳的元数据驱动切入点

EVENT-INSIGHT:

  1. 基于大数据的多接口合成框架
  2. 目前测试通过掉话和切换两个合成, 未验证准确性
  3. 仅依赖Hadoop环境和调度服务器
  4. 复用XdrComposer的状态转换逻辑(合成算法逻辑)

Config Center:

  1. 以HTTP方式为其他模块提供配置信息
  2. 提供基于界面的配置修改功能
  3. 提供配置信息的继承/重写功能(目前仅支持properties文件), 减少集群环境的配置工作量
  4. 支持集中提供tabledefinition信息
  5. 支持的模块: 目前基于OSGI框架的所有模块均支持

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published