发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种运营数据处理方法及系统。
该方法及系统提供了流式计算技术在经营分析系统的技术和架构落地实现,用于解决非结构化数据的实时业务数据、海量数据的实时分析、数据处理的效率和及时性的问题,同时解决海量数据的存储和分析问题。
本发明解决其技术问题所采用的技术方案是:提供一种运营数据处理方法。
优选地,本发明的运营数据处理方法包括以下步骤:
S1:运维管理中心(5)根据需要确定要调用的数据应用装置(4)的数据应用模块及数据获取装置(1)需要获取的数据;
S2:所述运维管理中心(5)控制所述数据获取装置(1)中的实时获取模块(11)获取实时数据,并控制数据获取装置(1)中的批量获取模块(12)批量获取非实时数据,所述数据获取装置(1)中的预处理模块(13)对获取的实时数据与非实时数据进行预处理,将所述实时数据与非实时数据进行格式标准化,并将非实时数据中的结构化数据与实时数据中的结构化数据传输到数据处理装置(2)的分布式文件系统(21)中,并根据业务需要,把所述数据获取装置(1)获取的数据中的相应数据传输到数据处理装置(2)的流式计算引擎(22)中;
S3:数据处理装置(2)中的分布式文件系统(21)对其正常运行需要的辅助软件系列进行软件系统集成,并将其获取的非实时数据中的非结构化数据进行存储,数据处理装置(2)中的数据仓库(23)将其获取的结构化数据进行存储;
S4:数据处理装置(2)中的在线数据分析模块(25)控制流式计算引擎(22)对传输到流式计算引擎(22)中的数据进行流式计算、控制数据仓库(23)对所述结构化数据中的实时营销数据进行在线数据分析,数据处理装置(2)中的离线数据分析模块(26)控制所述数据仓库(23)采用微批处理方法对其中存储的所述结构化数据中的非实时数据进行离线数据分析,控制批量计算引擎(24)采用批处理方法对所述分布式文件系统(21)存储的非实时数据中的非结构化数据进行离线数据分析;所述数据处理装置(2)将经所述流式计算引擎(22)、数据仓库(23)、批量计算引擎(24)计算后的全部数据传输到数据通信装置(3);
S5:数据通信装置(3)将经过所述数据处理装置(2)处理后的数据传输到数据应用装置(4);
S6:数据应用装置(4)的数据应用模块(41、42、43)应用接收的数据提供数据应用服务。
优选地,所述步骤S1中,所述运维管理中心(5)根据所述数据应用装置(4)的数据应用模块的需要确定所述数据获取装置(1)需要获取的数据。
优选地,所述非实时数据中的结构化数据包括移动通信业务运营系统的经营数据。
优选地,所述非实时数据中的非结构化数据包括移动通信网元侧的日志、信令、互联网数据。
优选地,所述步骤S4中的批量计算引擎(24)采用Hadoop技术处理数据。
一种运营数据处理系统,包括数据获取装置(1)、数据处理装置(2)、数据通信装置(3)、数据应用装置(4)以及用于综合控制各装置的运维管理中心(5),所述数据获取装置(1)与所述数据处理装置(2)通信连接,所述数据处理装置(2)与所述数据通信装置(3)通信连接,所述数据通信装置(3)与所述数据应用装置(4)通信连接,所述数据获取装置(1)、数据处理装置(2)、数据通信装置(3)、数据应用装置(4)均与所述运维管理中心(5)通信连接;
其特征在于,所述数据获取装置(1)包括用于数据预处理的预处理模块(13)、用于获取实时数据的实时获取模块(11)与用于获取非实时数据的批量获取模块(12),所述数据处理装置(2)包括用于进行非结构化数据存储的分布式文件系统(21),用于进行流式计算的流式计算引擎(22)、用于进行存储结构化数据存储与计算的数据仓库(23)、基于所述分布式文件系统的用于计算大批量数据的批量计算引擎(24)、用于进行在线数据分析的在线数据分析模块(25)与用于进行离线数据分析的离线数据分析模块(26),所述数据应用装置(4)包括多个应用模块,所述应用模块用于充当人机交互接口,提供应用服务。
优选地,所述在线数据分析模块(25)包括用于控制所述流式计算引擎(22)、数据仓库(23)以及批量计算引擎(24)进行实时数据处理的实时处理单元(251),所述离线数据分析模块(26)包括用于控制所述数据仓库(23)批量处理少量数据的微批处理单元(261)与用于控制所述批量计算引擎(24)批量处理大量数据的批处理单元(262)。
优选地,所述数据通信装置(3)包括服务总线。
优选地,所述数据应用装置(4)包括用于提供测试开发服务的开发与调试工具模块(41)、用于提供数据下载服务的数据市场模块(42)以及用于提供数据查询服务的数据地图模块(43)。
本发明提供一种基于流式计算与批量计算的双引擎经营分析系统的运营数据处理方法及系统架构。在架构中设置流式计算引擎(22),增强了数据的实时处理能力,并在数据仓库(23)的基础上整合分布式文件系统(21)以及批量计算引擎(24),用于非结构化数据、大批量数据的存储与计算,增强了对大数据的存储与分析能力,可提供支持TB、甚至PB级规模数据存储和大数据批量处理能力。同时使用数据仓库(23)处理结构化数据,还可结合微批处理方法处理微批量实时数据,进一步完善了实时数据处理机制。
具体实施方式
下面结合附图及实施例对本发明作进一步说明:
如图1所示,为本发明较佳实施例提供运营数据处理方法的流程图。该方法包括如下步骤:
S1:经营分析系统的运维管理中心5根据需要确定要调用的数据应用装置4的数据应用模块及数据获取装置1需要获取的数据。
本实施例中可根据运营业务的实际需求,如实时营销类业务、实时服务类业务、实时监控类业务等,确定要调用的数据应用装置4的数据应用模块,对于各类业务在数据应用装置4中均相应地设置有与其相对应的模块,运维管理中心5可根据业务的种类调用其相对应的模块,这一点在图2的介绍中有详细说明,在此不再赘述。进而根据业务种类及相应模块的需要,在每个业务子类中确定数据获取装置1需要获取的数据,完成步骤S1。
S2:运维管理中心5控制数据获取装置1中的实时获取模块11获取实时数据,具体地,实时数据主要包括用于实时营销、分析的数据,例如通过各基站中转发送的短信的实时数量,该数据会随着时间的变化而一直更新。并控制数据获取装置1中的批量获取模块12批量获取非实时数据,一般来说,非实时数据包括一些时效性不强的历史数据,不随时间的变化而更新,例如通过各基站中转发送的短信数量的历史数据。
该步骤中,数据获取装置1把数据从其他移动支撑系统如BOSS、BOMC的数据采集到经营分析系统,数据获取装置1中的预处理模块13对数据获取装置1获取的实时数据与非实时数据进行预处理,将实时数据与非实时数据进行格式标准化,将各个支撑系统采集进来的非标准化数据(格式、含义、字段)按照协议转换为经营分析系统能够识别的数据,并将非实时数据中的结构化数据与实时数据中的结构化数据传输到数据处理装置2的分布式文件系统21中,并根据业务需要,把数据获取装置1获取的数据中的相应数据传输到数据处理装置2的流式计算引擎22中。
S3:数据处理装置2中的分布式文件系统21对其正常运行需要的辅助软件系列进行软件系统集成,并将其获取的非实时数据中的非结构化数据进行存储,数据处理装置2中的数据仓库23将其获取的结构化数据进行存储。
作为较佳实施例,存储层的作用是存储经营分析系统的数据。这些数据种类很多,来源多,比如BOSS侧来的业务经营数据,网元侧来的日志、信令、互联网数据。在传统技术中,这些数据统一存到数据仓库中。本发明优选实施例的系统架构在数据仓库23中加入Hadoop,Hadoop的存储使用Hdfs(分布式文件系统),这也就是组成存储层的主要系统。
Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop以可靠、高效、可伸缩的方式进行数据处理。Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
高可靠性,Hadoop按位存储和处理数据的能力值得人们信赖。
高扩展性,Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
高效性,Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
高容错性,Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本,与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
本发明较佳实施例的分布式文件系统21的运转需要zookeeper、消息队列等一系列辅助软件,所以在本步骤中进行软件系统集成,将以上的一系列辅助软件进行系统集成。为将部分非结构化数据存储在本实施例的分布式文件系统21中作好准备,而对于BOSS侧来的业务数据,主要还是将其存储到本发明优选实施例的数据仓库23中。
S4:数据处理装置2中的在线数据分析模块25控制流式计算引擎22对传输到流式计算引擎(22)中的数据进行流式计算、控制数据仓库23对所述结构化数据中的实时营销数据进行在线数据分析,数据处理装置2中的离线数据分析模块26控制数据仓库23采用微批处理方法对其中存储的所述结构化数据中的非实时数据进行离线数据分析,作为优选实施方式,具体可采用小批次处理(Micro-batch)的方法。控制批量计算引擎24采用批处理方法对分布式文件系统21存储的非实时数据中的非结构化数据进行离线数据分析,作为优选实施例,批量计算引擎24采用Hadoop的MapReduce的处理方式;数据处理装置2将经所述流式计算引擎22、数据仓库23、批量计算引擎24计算后的全部数据传输到数据通信装置3。
本申请优选实施方式利用流式计算引擎22的实时处理能力、批量计算引擎24中Hadoop的大规模数据处理能力,以及数据仓库23的两者兼顾的数据处理能力,分别向在线数据分析模块25中的实时处理单元251和离线数据分析模块26中的批处理单元262以及微批处理单元261提供数据处理服务。实时处理单元251作为子系统或模块存在于原系统数据层,结合批处理单元262与微批处理单元261,形成双引擎架构,分别处理实时处理需求和批处理需求,解决实时性要求高的处理分析请求的同时,还提供大规模批量数据处理能力。
S5:数据通信装置3将经过所述数据处理装置2处理后的数据传输到数据应用装置4。
作为优选实施方式,该步骤中,处理后的数据从数据层通过服务总线传输到应用层。
S6:数据应用装置4的数据应用模块应用接收的数据提供数据应用服务,作为优选实施方式,可包括开发调试数据服务,用于为经营分析系统开发与调试软件提供数据服务、数据市场服务,用于提供面向用户的消费性的数据应用,用户可通过客户终端付费下载该应用、数据地图服务,用于提供导航定位等服务。
该方法提供了流式计算技术在经营分析系统的技术和架构落地实现,解决了现有技术很难解决的非结构化数据的实时业务数据、海量数据的实时分析、数据处理的效率和及时性的问题,同时解决了海量的结构化数据的存储和分析问题。
如图2所示为为本发明较佳实施例提供的运营数据处理系统的结构图。本发明较佳实施例提供的运营数据处理系统具体包括:
数据获取装置1、数据处理装置2、数据通信装置3、数据应用装置4以及运维管理中心5。数据获取装置1与数据处理装置2通信连接,数据处理装置2与数据通信装置3通信连接,数据通信装置3与数据应用装置4通信连接,数据获取装置1、数据处理装置2、数据通信装置3、数据应用装置4均与运维管理中心5通信连接。
数据获取装置1用于采集获取数据。数据获取装置1包括预处理模块13,用于数据预处理。实时获取模块11,用于获取实时数据;批量获取模块12,用于获取非实时数据。
作为优选实施方式,数据获取装置1将其他移动支撑系统如BOSS、BOMC等的数据采集到经营分析系统中以供后续处理。
数据处理装置2,用于对采集的数据进行存储以及计算分析。
数据处理装置2包括分布式文件系统21,用于进行非结构化数据存储。流式计算引擎22,用于进行流式计算;数据仓库23,用于结构化数据的存储与计算。批量计算引擎24,其基于分布式文件系统21,用于计算大批量数据。在线数据分析模块25,用于进行在线数据分析;离线数据分析模块26,用于进行离线数据分析。
作为优选实施方式,数据处理装置2中的数据仓库23可选用传统数据仓库提供商的企业级数据仓库产品。本发明优选实施例的系统架构的数据处理装置2在数据仓库23中加入Hadoop,Hadoop的存储使用分布式文件系统21,这也就是组成存储层的主要系统,与数据仓库23共同构成存储层。同时分布式文件系统21的运转需要zookeeper、消息队列等一系列辅助软件,所以在进行数据存储与处理前先进行软件系统集成,将以上的一系列辅助软件进行系统集成。
其中,在线数据分析模块25包括实时处理单元251。实时处理单元251用于控制流式计算引擎22、数据仓库23以及批量计算引擎24实时处理数据。离线数据分析模块26包括微批处理单元261、批处理单元262。微批处理单元261用于控制数据仓库23批量处理少量数据,批处理单元262用于控制批量计算引擎24批量处理大量数据。
作为较佳实施例,数据处理装置2中的离线数据分析模块26的微批处理单元261控制数据仓库23采用微批处理方法对其中存储的结构化数据中的非实时数据进行离线数据分析,具体可采用小批次处理(Micro-batch)方法。离线数据分析模块26的批处理单元262控制批量计算引擎24采用批处理方法对分布式文件系统21存储的非实时数据中的非结构化数据进行离线数据分析,作为优选实施方式,批量计算引擎24采用Hadoop的MapReduce的处理方式。
作为进一步的实施方式,实时处理单元251主要用于处理业务相关数据,实时处理单元251处理的数据可包括数据仓库23的数据(实时营销类)、也可以是hadoop的数据(实时流量提醒),实时处理后的数据一般不进行存储,而是直接通过数据通信装置3发给数据应用装置4的相关数据应用模块进行营销、预警、监控等。数据仓库23主要用于做统计报表,除此之外,还是移动KPI的主要来源。批量计算引擎24使用hadoop的并行计算能力,主要做离线的统计分析。
作为优选实施方式,业务支撑系统的业务数据等结构化数据存到数据仓库23中,如话单、交易数据等。而信令、互联网日志类非结构化数据数据存到分布式文件系统21中。
作为较佳实施例,数据通信装置3由服务总线组成,通过服务总线将数据处理装置2的数据传输到数据应用装置4。
作为较佳实施例,数据应用装置4可包括多个应用模块,可由运营业务的实际需要由技术人员自主设计研发应用模块并进行添加。数据应用装置4可供运维管理中心5根据运营业务的实际需求,如实时营销类业务、实时服务类业务、实时监控类业务等,确定要调用的数据应用装置4的数据应用模块,对于各类业务在数据应用装置4中均相应地设置有与其相对应的模块,运维管理中心5可根据业务的种类调用其相对应的模块。作为进一步实施方式,本实施例中的数据应用装置4可包括开发与调试工具模块41、数据市场模块42、数据地图模块43。其中,开发与调试工具模块41用于提供测试开发服务,数据市场模块42用于提供数据下载服务,数据地图模块43用于提供数据查询服务。
如图3所示为本发明较佳实施例提供的运营数据处理系统的组网部署架构之一的组网拓扑图。
该拓扑图是如图2所示的运营数据处理系统架构中的流式计算引擎22的拓扑结构,其中主节点A由多台内置大容量硬盘通用X86架构服务器构成,其中一台服务器A1用作控制节点,其他服务器A2、A3、A4…用作计算节点,扩展节点B由多台与主节点A硬件配置相同的服务器B1、B2、B3、B4…构成。各服务器磁盘存储构成NFS共享文件系统S。各个服务器的存储互不共享,数据存放至本地硬盘。网络交换以一台千兆网以太交换机C为核心,构成基础网络环境,链接所有服务器设备,负责网络环境中的设备内联和外联。
如图4所示为本发明另一较佳实施例提供的运营数据处理系统的的组网部署架构之一的组网拓扑图。
该拓扑图是如图2所示的运营数据处理系统架构中的批量计算引擎24的拓扑结构,其中主节点D由多台内置大容量硬盘通用X86架构服务器D1、D2、D3、D4…构成,其中一台服务器D1用作控制节点,其他服务器D2、D3、D4…用作计算节点,扩展节点E由多台与主节点D硬件配置相同的服务器E1、E2、E3、E4…构成。各个服务器的存储互不共享,数据存放至本地硬盘。网络交换由一台千兆网以太交换机G为核心构成的基础网络环境,链接所有服务器设备,负责网络环境中的设备内联和外联。
如图5所示为本发明又一较佳实施例提供的运营数据处理系统的组网部署架构之一的组网拓扑图。
该拓扑图是如图2所示的运营数据处理系统架构中的批量计算引擎24的拓扑结构,其中主节点H由多台内置大容量硬盘通用X86架构服务器H1、H2、H3、H4…构成,不区分控制节点和计算节点,扩展节点I由多台与主节点H硬件配置相同的服务器I1、I2…构成。接口文件加载服务器J采用X86架构服务器J1、J2负责数据的抽取、加载、转换(ETL)。网络交换由万兆网以太交换机G1、G2为核心构成的基础网络环境,链接所有服务器设备,负责网络环境中的设备内联和外联。
如图6所示为本发明较佳实施例的经营分析系统工作方法的流程图。
该方法开始于步骤S100,根据实时业务需求的特点,确定实时处理的业务需求模型。作为较佳实施例,可包括:实时营销类、实时服务类、实时监控类等模型,进而在每个子类中确定实时业务需求的应用场景,完成步骤S100。
步骤S101,建立经营分析系统的评估模型;作为较佳实施例,可建立针对功能评估、性能评估、扩展性评估、故障条件下的可用性评估、与正常状态下的易用性评估的评估模型。
步骤S102,确定基于经营分析系统的流式计算产品选型以及引入流式计算的经营分析系统架构;作为优选实施方式,可选择基于X86通用硬件平台的流式计算技术和产品,比如Facebook的Puma、Twitter的Storm、Yahoo的S4,以及IBM、Sybase、Informatic公司的相关流式计算产品。这些产品都是针对特定领域的实时需求而设计出的一种可扩展的高效数据处理架构,目前已经在证券、金融、医疗、政府、互联网等行业得到广泛应用。
作为较佳实施例,可根据这些评估模型以及经营分析系统的特性,针对选定的流式计算产品的技术特性和特点,安排评估进度,部署并开展评估。
步骤S103,根据评估实施后得到的评估结果,汇总分析,评估流式计算产品对业务支撑系统的效果,完成步骤S103。
步骤S104,通过前步结论,结合经营分析系统架构设计特点,在架构层面确定实时处理平台在经分系统中的位置以及与周边系统的关系,确定结合批处理和实时处理的双引擎架构设计方法,完成步骤S104。
作为较佳实施例,本发的经营分析系统的评估可包括功能评估、性能评估、压力和稳定性评估、扩展性评估、故障条件下的可用性评估、与正常状态下的易用性评估等。
具体地,功能评估可包括功能模型评估、处理模型评估、部署模型评估、交互模型评估、数据模型评估、时序模型评估。性能评估可包括经营分析系统的网络端到端延迟评估与数据吞吐量评估。压力和稳定性评估可包括压力评估和稳定性评估。扩展性评估具体可分为节点收缩能力评估,即考察节点是否可收缩,以及可扩展性评估,也即考察节点扩展能力。故障条件下的可用性评估包括网络故障下的可用性评估、节点故障下的可用性评估与节点故障后的可恢复性评估。易用性评估包括互联网日志管理能力评估与集群状态图形化监控。
本发明提供一种基于流式计算与批量计算的双引擎经营分析系统的运营数据处理方法及系统架构。在架构中设置流式计算引擎22,增强了数据的实时处理能力,并在数据仓库23的基础上整合分布式文件系统21以及批量计算引擎24,用于非结构化数据、大批量数据的存储与计算,增强了对大数据的存储与分析能力,可提供支持TB、甚至PB级规模数据存储和大数据批量处理能力。同时使用数据仓库23处理结构化数据,还可结合微批处理方法处理微批量实时数据,进一步完善了实时数据处理机制。
以上所述仅为本发明的较佳实施例而已,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等同替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明的保护范围。