中国电信EDA
总体规范2.0
5 EDA数据处理与存储平台
5.1 ODS(亚联)
5.1.1 平台定位
ODS系统是中国电信EDA架构中的重要组成部分,是生产系统和EDW系统中间的数据缓冲层, 承载企业级数据模(EDM)型落地重要职责,通过数据的抽取、加载、整合等手段,对来源于生产系统(CRM、计费、销账、网厅,10000号,百事通等系统)的结构化数据进行清洗,不修改源数据,同时也从大数据平台获取轻度汇总的海量数据,提供数据整合、客户统一视图、批量计算、运营报表展示和查询统计等功能,通过数据质量管理和稽核策略,保障数据的完整性,及时性和准确性,通过共享数据层,对外围系统(包括EDW、营销、维系、代理商、佣金结算、10000号等系统)提供整合层,轻度汇总层和应用层不同层面数据,以准实时,按天,按月不同频率,有力保障应用系统对数据的需求,同时也保障了一线生产和管理人员对数据不同层面的使用和查询。
5.1.2 功能要求
ODS系统主要通过ETL处理手段,提供了数据整合,数据共享,数据应用和数据质量稽核功能,充分落地企业级数据模型(EDM),通过共享数据层,对外围系统提供数据共享。
版权声明,保密
第12页 共123页
中国电信EDA
总体规范2.0
5.1.2.1 数据整合
ODS在对企业运营数据的整合过程中能够实现以下三个统一:统一数据模型、统一数据标准、统一数据视图。ODS 承载企业数据模型(EDM),促进企业各系统数据逻辑模型的统一。ODS 中建立标准的数据编码目录,源系统数据依据标准的数据编码目录,经过整合后进入ODS 中存储,实现企业数据的标准化与统一存储。基于ODS 所存储的数据,支撑实现统一数据视图,使企业在客户、产品、资源等视角获取到的信息是一致的,提升客户、企业内部的管理人员与分析人员对系统的感知。在ODS的数据整合方面,不仅仅包含目前BSS域的数据整合,也要逐步把OSS域的数据整合进来,支撑OSS方面的数据整合,,数据共享和网络运营分析,同时,ODS-B和ODS-O的之间数据要充分共享,避免反复从源系统抽取数据和重新整合,保持数据使用的一致性。
版权声明,保密
第13页 共123页
中国电信EDA
数据整合根据不同的数据源,匹配预先定义的规则流程,在任务引擎的调度下,按照定义好的流程经过数据抽取、数据转换、数据加载、数据校验几个关键环节最终存储到ODS系统中。数据整合主要具备特点如下:
? 数据抽取
ODS从数据源系统获取数据,在实施时需要综合考虑业务需求、抽取效率、源系统代价等因素确定抽取策略,抽取策略包括抽取方式(增量、全量)、抽取时机、抽取周期等。能够满足多种不同系统平台和数据类型的数据抽取,包括各种关系型数据库系统、各种文件格式的源数据等,对于时效性要求较高的业务需求,可以通过对源系统的数据进行实时/准实时的数据同步,采取在源端建立物化视图,或者解析源系统的Redolog/Arachlog日志文件同步入库,这类接口主要应用在和CRM系统的资料同步接口,也包含OSS域的服开,激活,客调等系统,按天和按月的数据同步,尽量采用文件接口,通常应用在计费域的日详单、日账、日欠费、日余额、日缴费、日销账、月账、月欠费、月销账;10000号的投诉告障;EDW的分析汇总数据;营销的客户认领落地数据;代理商的管理数据等。
对于大数据时代的海量数据和非结构化的数据,ODS也需要和大数据平台进行数据对接,从大数据平台抽取用户行为,轻度汇总数据,ODS也把整合层的数据同步给大数据平台共享,包括客户资料数据等。同时,在数据传递过程中,增加数据的安全管控,并对接口的数据进行校验和检查,确保接口数据的完整性、及时性和正确性的要求,对于文件接口的进行常规的文件名、文件大小、记录数等校验;对于实时同步的接口,进行定期的数据比对和完善。
? 数转换
总体规范2.0
数据转换是ETL中最复杂的处理过程,主要完成了从源数据向目标数据转换的各种处理。在数据转换的过程中必须深刻的了解和认识源数据信息,识别异常数据情况,建立从源数据到目标数据的映射规则。在映射的过程中,有些信息是直接可以从源数据得到的,有些并不能从源数据直接得到,需要进行复杂的加工处理过程,包括格式和类型转换、数据翻译、数据匹配、数据聚合以及其他复杂计算等。多数情况下,数据源到ODS之间主要的转换是格式转换、数据翻译、数据匹配,常用的转换手段主要有:字段映射;映射的自
版权声明,保密
第14页 共123页
中国电信EDA
动匹配;字段的拆分;多字段的混合运算;跨异构数据库的关联;自定义函数;多数据类型支持;复杂条件过滤;时间类型的转换;对各种码表的支持;环境变量可以动态修改;记录间合并或计算;记录拆分;行、列变换;排序;统计;支持度量等常用的转换函数;抽取远程数据;增量抽取的处理方式;在转换过程中支持数据比较;数据清洗及标准化;按行、按列的分组聚合等;在转换过程中,对于不符合转换规则的异常数据,进行数据轨迹的保留,分类,分析,不定期的进行数据反补,对于无法反补的情况下,把异常数据抛出来,提交源系统进行异常数据修正,再通过正常通道,同步到ODS系统.同时,ODS通过增量的时间戳,把对应的数据同步到外围系统,确保整个环节的数据完整性、一致性和准确性。ODS的数据转换,也要考虑大数据平台过来的用户行为数据的整合和轻度汇总数据的多次汇总。
? 数据加载
总体规范2.0
数据加载是指将抽取转换后的数据加载到ODS中,包括数据行加载和数据块加载。在综合考虑效率和业务实现等因素基础上确定数据加载周期和数据追加策略。数据的追加策略根据数据的抽取策略以及业务规则确定,主要有三种类型:直接追加、全部覆盖、更新追加。
? 直接追加:是指每次加载时直接将数据追加到目的表,以流水数据为主。比如清单、帐务等数据;
? 全部覆盖:对于抽取数据本身已包括了数据的当前和所有历史状况,对目标表采用全部覆盖方式。比如规格表、定义表、维度表等数据量较小的数据;
? 更新追加:对于需要连续记录业务的状态变化,用当前的最新状态同历史状态数据进行对比的情况采用更新追加的方式。比如客户、用户等数据。
? 数据校验
数据校验贯彻在各个环节,包括接口层,整合层,应用层,汇总层,在每个环节, 都需要嵌入数据校验,确保在每个层面的数据都能闭环收敛,确保数据完整性、 一致性和准确性。
版权声明,保密
第15页 共123页
中国电信EDA
总体规范2.0
5.1.2.2 数据存储
数据存储完成ODS系统中各种数据的存储。存储数据按照功能的划分,主要分成接口数据层、整合数据层和汇总数据层。数据首先由源系统被抽取到接口数据层,在该层进行转换处理之后进入整合数据层,整合层数据经过整合及计算操作存储到汇总层。由于几个数据层说承担的功能和作用不尽相同,所以对各个层的存储策略和设计也所有差异。接口层的模型设计以短周期存储为主,作为临时缓冲区,需要支撑数据的快速载入和清理,以主键为主,尽量减少索引等额外开销,如果需要在接口层存储源系统的同构全量数据的, 尽量通过分区等策略处理,对于订单等流水数据制定对应的存量策略,比如1年周期的数据,定期清理历史数据,确保空间的高效使用。整合数据层中的数据模型遵循中国电信企业数据模型,是ODS的核心数据层,也是对外提供共享的主要数据层,需要在模型设计上进行规范化设计,减少不必要的数据冗余,要充分考虑逐条整合和批量整合高效性,高并发查询的快速响应,能够满足在大数据量、大并发量的快速数据操作,支持数据行级锁、多CPU并发、多服务器并行的要求。能够满足准实时数据的快速增删改查的要求,同时在物理数据存储策略要确保数据的安全性,避免由于硬件的损坏造成数据的丢失而带来业务的中断。对历史和过期的数据要制定数据清理的策略,减少整合层表级数据量过大和冗余,提高单表的处理性能,同时减少和节约存储空间,提升性能。在策略上主要关注以下几点
? 模型部分
1. 接口数据层数据模型可以采用平面表,表结构可以根据需要做无索引、无主键、无外
键设计;
2. 整合数据层数据模型应采用第三范式的模型设计,考虑到ODS的特点和需要,数据
模型可进行适度地不规范化处理;
3. 汇总数据层模型设计可以采用宽表、星型模型,也可以进行适度地不规范化处理。
? 存储部分
1. 数据库采用表分区技术,提高数据的访问性能和可操作性;
版权声明,保密
第16页 共123页