CN115664992A - 网络运行数据的处理方法、装置、电子设备及介质 - Google Patents
网络运行数据的处理方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN115664992A CN115664992A CN202211332495.9A CN202211332495A CN115664992A CN 115664992 A CN115664992 A CN 115664992A CN 202211332495 A CN202211332495 A CN 202211332495A CN 115664992 A CN115664992 A CN 115664992A
- Authority
- CN
- China
- Prior art keywords
- data
- aggregation
- aggregation result
- processing
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络运行数据的处理方法、装置、电子设备及介质。方法包括:获取待处理数据,所述待处理数据包括网络运行数据;采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层;基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。本申请的方法,在保证网络运行数据处理的准确性的同时,减少冗余计算,降低计算资源消耗。
Description
技术领域
本申请涉及通信技术,尤其涉及一种网络运行数据的处理方法、装置、电子设备及介质。
背景技术
通讯网络运营商在网络系统运行过程中采集网络运行数据,通过对网络运行数据进行处理,运营商可以根据处理结果进行数据挖掘、数据分析、报表展示和查询等进一步操作。
现有技术中,网络运行数据的处理大量采用类Lambda架构,这种架构的工作方式是接收数据,并将其并行输入独立的流处理系统和批处理系统。流处理系统实时提取数据,计算近似结果并将其写入快速表。批处理系统定期处理数据,将准确结果写入批处理表,并从快速表中删除相应的不准确结果。应用程序会快速合并快速表中的近似结果和批处理表中的准确结果,得到最终结果,将其写入应用层。
上述方案中,采用类Lambda架构进行冗余计算,存在计算资源消耗多的问题。
发明内容
本申请提供一种网络运行数据的处理方法、装置、电子设备及介质,用以解决网络运行数据处理消耗计算资源多的问题。
一方面,本申请提供一种网络运行数据的处理方法,包括:获取待处理数据,所述待处理数据包括网络运行数据;采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层;基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
一种可能的实现方式中,所述获取待处理数据,包括:对通信网元之间的接口链路进行分光采集,并对采集得到的分光码流进行抓包和分流处理,得到原始数据;和/或,对网管系统运行日志中的记录数据进行采集,得到原始数据;对所述原始数据进行合成处理,得到所述待处理数据;其中,所述合成处理包括以下至少一项:字段提取赋值、关联回填以及业务识别。
一种可能的实现方式中,所述对所述原始数据进行合成处理,得到所述待处理数据,包括:对所述原始数据中的同一个信令流程进行字段取值;对所述原始数据中存在关联的消息进行关联回填;采用深度包检测技术,对所述原始数据中的业务类型进行回填。
一种可能的实现方式中,所述基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,包括:采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的数据服务层;采用批处理方式,对所述数据服务层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果。
一种可能的实现方式中,所述采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,包括:基于所述初始汇聚结果,按照预定的第一周期,定期生成每个第一周期下的第一数据表;采用增量聚合的方式,对当前第一周期下的第一数据表和历史第一周期下的第一数据表的增量聚合结果进行处理,得到所述数据服务层下的所述中间汇聚结果。
一种可能的实现方式中,所述采用批处理方式,对所述数据服务层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果,包括:基于所述中间汇聚结果,按照预定的第二周期,定期生成每个第二周期下的第二数据表;采用增量聚合的方式,对当前第二周期下的第二数据表和历史第二周期下的第二数据表的增量聚合结果进行处理,得到所述目标汇聚结果;或者,采用一次性聚合的方式,对各第二周期下的第二数据表进行处理,得到所述目标汇聚结果。
一种可能的实现方式中,所述采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果之前,还包括:对所述待处理数据进行预处理,所述预处理包括以下至少一项:过滤非法数据、填充空值、过滤异常值、关联维表字段以及拼接记录。
一种可能的实现方式中,所述采用流处理方式,对所述待处理数据进行预处理之后,对所述待处理数据进行初次汇聚得到初始汇聚结果之前,还包括:将所述预处理结果写入离线数据仓库的数据运营层。
另一方面,本申请提供一种网络运行数据的处理装置,包括:获取模块,用于获取待处理数据,所述待处理数据包括网络运行数据;流处理模块,采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层;批处理模块,用于基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
一种可能的实现方式中,所述获取模块包括:采集单元,用于对通信网元之间的接口链路进行分光采集,并对采集得到的分光码流进行抓包和分流处理,得到原始数据;和/或,对网管系统运行日志中的记录数据进行采集,得到原始数据;合成单元,用于对所述原始数据进行合成处理,得到所述待处理数据;其中,所述合成处理包括以下至少一项:字段提取赋值、关联回填以及业务识别。
一种可能的实现方式中,所述合成单元具体用于:对所述原始数据中的同一个信令流程进行字段取值;对所述原始数据中存在关联的消息进行关联回填;采用深度包检测技术,对所述原始数据中的业务类型进行回填。
一种可能的实现方式中,所述批处理模块包括:第一批处理单元,用于采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的数据服务层;第二批处理单元,用于采用批处理方式,对所述数据服务层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
一种可能的实现方式中,所述第一批处理单元具体用于:基于所述初始汇聚结果,按照预定的第一周期,定期生成每个第一周期下的第一数据表;采用增量聚合的方式,对当前第一周期下的第一数据表和历史第一周期下的第一数据表的增量聚合结果进行处理,得到所述数据服务层下的所述中间汇聚结果。
一种可能的实现方式中,所述第二批处理单元具体用于:基于所述中间汇聚结果,按照预定的第二周期,定期生成每个第二周期下的第二数据表;采用增量聚合的方式,对当前第二周期下的第二数据表和历史第二周期下的第二数据表的增量聚合结果进行处理,得到所述目标汇聚结果;或者,采用一次性聚合的方式,对各第二周期下的第二数据表进行处理,得到所述目标汇聚结果。
一种可能的实现方式中,所述装置还包括:预处理模块,用于在所述流处理模块采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果之前,对所述待处理数据进行预处理,所述预处理包括以下至少一项:过滤非法数据、填充空值、过滤异常值、关联维表字段以及拼接记录。
一种可能的实现方式中,所述预处理模块还用于:将所述预处理结果写入离线仓库的数据运营层。
又一方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如前所述的方法。
又一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前所述的方法。
本申请提供的网络运行数据的处理方法、装置、电子设备及介质中,先采用流处理方式对获取的网络运行数据进行简单流式汇聚,得到初始汇聚结果,基于初始汇聚结果,通过进行批量汇聚,得到最终的处理结果提供给应用层。本方案通过先进行初始汇聚,能够减小数据处理量,从而减少中间态存储占用,并显著降低后续批处理的数据量,简化后续的汇聚算法,并且,通过进行初次的流式汇聚,可提升数据汇聚处理的准确性,相比通过冗余处理的方式保证处理准确性,本方案的处理流程更加简便,从而在保证网络运行数据处理的准确性的同时,减少计算资源消耗。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1中示例性示出了类Lambda架构示意图;
图2中示例性示出了本申请实施例一提供的网络运行数据的处理方法的流程示意图;
图3中示例性示出了本申请实施例一提供的数据仓库的结构示例图;
图4中示例性示出了本申请实施例一提供的网络运行数据的处理方法的架构示意图;
图5中示例性示出了本申请实施例一提供的对初始汇聚结果进行批量汇聚的流程示意图;
图6中示例性示出了本申请实施例二提供的网络运行数据的处理装置的结构示意图;
图7中示例性示出了本申请实施例三提供的网络运行数据的处理装置的结构示意图;
图8中示例性示出了本申请实施例四提供的网络运行数据的处理电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请中的模块是指功能模块或逻辑模块。其可以为软件形式,通过处理器执行程序代码来实现其功能;也可以为硬件形式。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先对本申请所涉及的名词进行解释:
网络运行数据:是指通信网络运营商在网络系统运行过程中采集的数据,包括基础资源及配置数据、信令追踪数据,业务识别数据,性能统计数据和监控预警数据等。数据来源包括路测(Drive Test,DT)/通话质量测试(Call Quality Test,CQT)、电信业务运营支撑系统、设备网管系统、接口探针采集系统等。
数据仓库:是指-个数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询。
深度包检测技术:是指一种基于应用层的流量检测和控制技术,当网际互连协议(Internet Protocol,IP)数据包、传输控制协议(Transmission Control Protocol,TCP)或用户数据报协议(User Datagram Protocol,UDP)数据流通过基于DPI(Deep PacketInspection,一种基于数据包的深度检测技术,针对不同的网络应用层载荷进行深度检测,通过对报文的有效载荷检测决定其合法性)技术的带宽管理系统时,该系统通过深入读取IP包载荷的内容来对开放式系统互联(Open System Interconnection,OSI)七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。
随着通信网络技术发展和通信网络运营商业务增长,通信网络运营商采集到的网络运行数据量急剧膨胀,这对网络运行数据的处理能力提出了挑战。
一些技术中,网络运行数据的处理大量采用类Lambda架构,图1中示例性示出了类Lambda架构示意图。这种架构的工作方式是接收数据,并将其并行输入独立的流处理系统和批处理系统。流处理系统采用Storm(一种开源的分布式实时计算系统)等实时计算引擎,进行简单的流式计算,近乎实时地计算近似结果并将其写入快速表。批处理系统采用MapReduce(一种面向大数据并行处理的计算模型、框架和平台)等离线计算引擎进行批量加工处理,定期处理批量存储中的数据,将准确的结果写入批处理表,并从快速表中删除相应的不准确结果。应用程序会快速合并快速表中的近似结果和批处理表中的准确结果,得到最终结果,将其写入应用层。
然而,流处理系统与批处理系统独立对输入的数据进行处理,存在冗余计算;批处理系统会保存全量未经汇聚的上游数据文件,集群中存在大量数据打乱重分布操作,且计算资源占用通常不均衡,一般会周期性地产生资源占用波峰,周期内又产生资源闲置。因此类Lambda架构存在计算资源消耗多的问题。
下面以具体地实施例对本申请的技术方案进行示例说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
实施例一
图2为本申请一实施例提供的网络运行数据的处理方法的流程示意图。如图2所示,本实施例提供的网络运行数据的处理方法可以包括:
S201,获取待处理数据,所述待处理数据包括网络运行数据。
S202,采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层。
S203,基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的应用层。
实际应用中,本实施例的执行主体可以为网络运行数据的处理装置,该装置可以通过计算机程序实现,例如,应用软件等;或者,也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片、服务器等。
以下结合数据仓库的架构进行示例说明:图3为一示例的数据仓库的架构示例图,如图所示,数据仓库包括数据运营层(Operation Data Store,ODS)、数据细节层(DataWarehouse Details,DWD)、数据中间层(Data Warehouse Middle,DWM)、数据服务层(DataWarehouse Service,DWS)、应用层(Application Data Service,ADS)。结合场景示例,实际应用中应用层软件(比如,客户端APP等)执行某应用软件功能时,通常需要先获取一些执行该功能所需的数据,比如,通话软件提供通话时长查询功能可能需要获取通话记录数据。相应的,ADS层可以向网络运行数据的处理装置发送数据获取指令,网络运行数据的处理装置根据指令指示的所需数据,从数据生产方获取待处理数据,并通过对待处理数据执行本实施例的方案,获得ADS层所需的数据,放入ADS层,以便于ADS层软件从ADS层中取用所需的数据。其中,ADS层可存放目标数据,ODS层可存放数据预处理结果,DWD、DWM、DWS层可作为中间层,存放数据处理中间结果,具体使用可根据实际应用确定。
图4为一示例的网络运行数据的处理方法的架构示例图,具体的,网络运行数据的处理装置获取待处理数据后,先进行简单流式汇聚,其中可选算法包括但不限于按条件求和、按条件求最大值、按条件求最小值,得到初始汇聚结果,并将所述初始汇聚结果流式写入离线数据仓库DWD层,根据数据事件时间(产生数据的业务发生的时间)写入不同的时间分区;再读取离线数据仓库DWD层的初始汇聚结果,根据数据事件时间分批进行汇聚,得到目标汇聚结果,写入ADS层。
举例来说,假设当前希望最终得到全国总通话时长,则网络运行数据的处理装置获取待处理数据,如全国范围内通话记录,先对待处理数据进行流式汇聚,将各省用户通话时间字段进行累加,得到各省用户通话时长数据,作为初始汇聚结果。仍结合前述举例,处理装置采用批处理方式,对各省用户通话时长数据分批进行汇聚,得到目标汇聚结果,即全国总通话时长数据,写入ADS层,至此完成网络运行数据的处理。
其中,待处理数据的获取方式可以有多种。在一个示例中,S201具体可以包括:
对通信网元之间的接口链路进行分光采集,并对采集得到的分光码流进行抓包和分流处理,得到原始数据;和/或,对网管系统运行日志中的记录数据进行采集,得到原始数据;
对所述原始数据进行合成处理,得到所述待处理数据;其中,所述合成处理包括以下至少一项:字段提取赋值、关联回填以及业务识别。
具体地,待处理数据可以通过对原始数据进行合成处理获得。实际应用中,基于不同的数据处理场景,可以采用相应的方式获取原始数据。作为示例,在网管系统运行日志数据不通用的场景下,可以通过分光采集的方式获得原始数据。具体的,用分光器将光缆中的二进制码流分出副本,得到原始码流,抓取数据包,进行分流处理得到原始数据。在网管系统运行日志数据通用的场景下,可以通过读取日志获得原始数据。具体的,可以直接采集网管系统运行日志中的记录数据,得到原始数据。
其中对所述原始数据进行合成处理的方式不限,比如包括但不限于字段提取赋值、关联回填以及业务识别。需要说明的是,上述合成处理可以只进行其中一项,也可以进行多项,前述获取原始数据的方式也可以单独或者结合实施,在此不对其进行限制。
其中,上述合成数据的实现手段可以有多种。在一个示例中,字段提取赋值具体可以包括:对所述原始数据中的同一个信令流程进行字段取值。在另一个示例中,关联回填具体可以包括:对所述原始数据中存在关联的消息进行关联回填。在又一个示例中,业务识别具体可以包括:采用深度包检测技术,对所述原始数据中的业务类型进行回填。
举例来说,识别到寻呼流程,其固定编码为41,则将流程类型字段赋值为41;流程中携带手机中存在机器的唯一编码,根据机器编码与用户号码的关联关系,将用户号码字段进行回填;用户上网过程中产生消息数据,装置只能获取对端服务器、统一资源定位符(Uniform Resource Locator,URL)、信令具体传输内容,不能获取业务类型,例如视频、游戏、即时通讯、访问网站等,采用深度包检测技术,将消息与识别库进行匹配,识别出业务类型,回填至信令流程。;其中,合成处理方式可以采用其中一种或多种,在此不对其进行限定。提取必要的信息字段对原始数据进行合成处理,以便后续进行数据处理。
其中,采用批处理方式进行批量汇聚的次数可以为一次也可以为多次,比如,可以对初始汇聚结果进行一次批量汇聚即得到目标汇聚结果,或者也可以先对初始汇聚结果进行一次批量汇聚得到中间汇聚结果,然后对中间汇聚结果再进行一次批量汇聚,以此类推,直至最终得到目标汇聚结果,在此不对其进行限制。
实际应用中,进行批量汇聚的次数可以根据实际情况确定,比如,针对数据量较少的情形,例如,当前需得到的目标汇聚结果为北京地区通话用户数时,可采用一次批量汇聚,针对数据量较大的情形,例如,当前需得到的目标汇聚结果为全国通话用户数时,可采用多次批量汇聚,从而有针对性地采用较为合适的方式进行数据处理,提高数据处理的效率,同时保证数据处理的准确性。
图5为本申请一实施例提供的网络运行数据的处理方法的流程示意图。如图5所示,假设进行两次批量汇聚,S203具体可以包括:
S501:采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的DWS层;
S502:采用批处理方式,对所述DWS层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果。
具体来说,从DWD层中读取流式汇聚得到的初始汇聚结果,对其进行一级批量汇聚,根据数据事件时间分批进行处理,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的DWS层;从DWS层中读取中间汇聚结果,所述中间汇聚结果进行二级批量汇聚,根据数据事件时间分批进行处理,得到所述目标汇聚结果。举例来说,假设当前希望得到每小时内内全国通话用户数,则网络运行数据的处理装置获取待处理数据,如每小时内全国通话记录;先采用流处理方式,对各用户的通话记录进行汇聚,得到初始汇聚结果,并写入DWD层;再采用批处理方式,根据数据事件时间进行分批,根据省份逐小时对通话用户数进行汇聚处理,得到各省通话用户数,作为中间汇聚结果,并将其写入离线数据仓库的DWS层;再采用批处理方式,根据数据事件时间进行分批,逐小时将各省通话用户数进行汇聚,最终得到每小时内全国通话用户数,作为目标汇聚结果,写入ADS层。
为了实现批量汇聚处理,在一个示例中,S501具体可以包括:
基于所述初始汇聚结果,按照预定的第一周期,定期生成每个第一周期下的第一数据表;
采用增量聚合的方式,对当前第一周期下的第一数据表和历史第一周期下的第一数据表的增量聚合结果进行处理,得到所述数据服务层下的所述中间汇聚结果。
具体来说,批处理根据数据事件时间分批,周期性生成数据表,对于粗粒度周期,例如天粒度,将其作为原周期,设定第一周期进行批处理,定期生成第一周期下的数据聚合结果,再将当前第一周期下的聚合结果与原周期内当前第一周期之前的聚合结果进行汇聚,直至得到原周期下的聚合结果,作为中间汇聚结果。举例来说,假设当前希望最终得到广州每天的通话数据,则将批量汇聚的周期预定为小时,逐小时生成广州通话数据聚合结果,再将当前小时的通话数据聚合结果与当天当前小时之前的通话数据聚合结果进行汇聚,直至最终得到广州一天的通话数据聚合结果。
实际应用中,进行批量汇聚的方式可以根据实际情况确定。比如,针对需要得到小时级数据表的情况,可以逐小时对数据进行处理得到数据表;针对需要得到天粒度数据表的情况,可以采用增量聚合的方式得到数据表,从而将全天数据聚合结果的计算消耗平摊到每个小时,有针对性地减少资源占用波峰,降低结果产出时延。
在另一个示例中,S502具体可以包括:
基于所述中间汇聚结果,按照预定的第二周期,定期生成每个第二周期下的第二数据表;
采用增量聚合的方式,对当前第二周期下的第二数据表和历史第二周期下的第二数据表的增量聚合结果进行处理,得到所述目标汇聚结果;或者,采用一次性聚合的方式,对各第二周期下的第二数据表进行处理,得到所述目标汇聚结果。
在此,S501增量聚合的过程与S502类似,如前所述不进行赘述。但对于不宜增量聚合的ADS层复杂业务逻辑,例如多表关联,则可采用一次性聚合各第二周期下的第二数据表方式,产生ADS层聚合结果。举例来说,假设当前希望最终得到广州每天的通话数据,则将批量汇聚的周期预定为小时,逐小时生成广州通话数据聚合结果,再将一天中各小时的通话数据聚合结果进行汇聚,最终得到广州每天的通话数据聚合结果。
实际应用中,进行批量汇聚的方式可以根据实际情况确定。可以设定周期,定期生成每个周期下的数据表,对当前周期下的数据表和历史周期下的数据表的增量聚合结果进行增量聚合;或者,也可以设定周期,定期生成每个周期下的数据表,直接一次性聚合各周期下的第二数据表。从而有针对性地采用较为合适的方式进行数据处理,减少资源占用波峰,降低计算压力。
此外,为了提高数据质量,还可以在对待处理数据进行流处理之前,对数据进行预处理。在一个示例中,在S202之前,还可以包括:
对所述待处理数据进行预处理,所述预处理包括以下至少一项:过滤非法数据、填充空值、过滤异常值、关联维表字段以及拼接记录。
示例来说,预处理操作可以包括:使用非空值填充空值,删除含有异常值的记录,添加维表中关联字段,将日志记录进行拼接筛选去除不符合网络协议定义格式的数据;使用非空值,对空值字段进行填充;通过关联字段,进行多个维表数据之间的关联引用;对数据进行异常值检测,所述异常值超过预设的离散程度,删除检测到的异常值;将不同网管系统日志记录进行拼接。其中,预处理方式可以采用其中一种或多种,在此不对其进行限定。
上述示例中,在进行数据汇聚处理之前,先对待处理数据进行预处理,保证数据准确性,从而进一步保证后续数据汇聚处理结果的准确性。
实际应用中,除了考虑应用层的数据需求,还可以考虑对基础数据进行备份和存储。在一个示例中,在S202之前,还包括:
将所述预处理结果写入离线数据仓库的数据运营层。
具体来说,ODS层是临时存储层,是接口数据的临时存储区域,从数据粒度上来说ODS层的数据粒度是最细的。将所述预处理结果写入离线数据仓库的ODS层,能够基本保留原始数据,便于后续实现原始数据详单查询、历史记录回溯等。举例来说,将预处理后的通话记录数据写入ODS层,当后续处理结果存在误差,或数据丢失时,可在ODS层查询原始数据。本示例中,通过将预处理结果写入离线数据仓库的ODS层,基本保留原始数据,提高了数据处理的可靠性。
本实施例提供的网络运行数据的处理方法中,先采用流处理方式对获取的网络运行数据进行简单流式汇聚,得到初始汇聚结果,基于初始汇聚结果,通过进行批量汇聚,得到最终的处理结果提供给应用层。本方案通过先进行初始汇聚,能够减小数据处理量,从而减少中间态存储占用,并显著降低后续批处理的数据量,简化后续的汇聚算法,并且,通过进行初次的流式汇聚,可提升数据汇聚处理的准确性,相比通过冗余处理的方式保证处理准确性,本方案的处理流程更加简便,从而在保证网络运行数据处理的准确性的同时,减少计算资源消耗。
实施例二
图6为本申请一实施例提供的网络运行数据的处理装置的结构示意图。如图6所示,本实施例提供的网络运行数据的处理装置可以包括:
获取模块61,用于获取待处理数据,所述待处理数据包括网络运行数据。
流处理模块63,用于采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层。
批处理模块64,用于基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的应用层。
实际应用中,网络运行数据的处理装置可以通过计算机程序实现,例如,应用软件等;或者,也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片、服务器等。
具体的,获取模块61获取待处理数据后,流处理模块63先进行简单流式汇聚,其中可选算法包括但不限于按条件求和、按条件求最大值、按条件求最小值,得到初始汇聚结果,并将所述初始汇聚结果流式写入离线数据仓库DWD层,根据数据事件时间(产生数据的业务发生的时间)写入不同的时间分区;批处理模块64读取离线数据仓库DWD层的初始汇聚结果,根据数据事件时间分批进行汇聚,得到目标汇聚结果,写入ADS层。
其中,待处理数据的获取方式可以有多种。在一个示例中,获取模块61具体可以包括:
采集单元611,用于对通信网元之间的接口链路进行分光采集,并对采集得到的分光码流进行抓包和分流处理,得到原始数据;和/或,对网管系统运行日志中的记录数据进行采集,得到原始数据;
合成单元612,用于对所述原始数据进行合成处理,得到所述待处理数据;其中,所述合成处理包括以下至少一项:字段提取赋值、关联回填以及业务识别。
其中,合成单元612对所述原始数据进行合成处理的方式不限,比如包括但不限于字段提取赋值、关联回填以及业务识别。需要说明的是,上述合成处理可以只进行其中一项,也可以进行多项,前述获取原始数据的方式也可以单独或者结合实施,在此不对其进行限制。
其中,上述合成梳理的实现手段可以有多种。在一个示例中,合成单元612执行字段提取赋值具体可以包括:对所述原始数据中的同一个信令流程进行字段取值。在另一个示例中,合成单元612执行关联回填具体可以包括:对所述原始数据中存在关联的消息进行关联回填。在又一个示例中,合成单元612执行业务识别具体可以包括:采用深度包检测技术,对所述原始数据中的业务类型进行回填。
其中,采用批处理方式进行批量汇聚的次数可以为一次也可以为多次。实际应用中,进行批量汇聚的次数可以根据实际情况确定,从而有针对性地采用较为合适的方式进行数据处理,提高数据处理的效率,同时保证数据处理的准确性。
如图6所示,假设进行两次批量汇聚,批处理模块64具体可以包括:
第一批处理单元641,用于采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的DWS层;
第二批处理单元642,用于采用批处理方式,对所述DWS层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
具体来说,第一批处理单元641从DWD层中读取流式汇聚得到的初始汇聚结果,对其进行一级批量汇聚,根据数据事件时间分批进行处理,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的DWS层;从DWS层中读取中间汇聚结果,所述中间汇聚结果进行二级批量汇聚,根据数据事件时间分批进行处理,得到所述目标汇聚结果。
为了实现批量汇聚处理,在一个示例中,第一批处理单元641具体用于:
基于所述初始汇聚结果,按照预定的第一周期,定期生成每个第一周期下的第一数据表;
采用增量聚合的方式,对当前第一周期下的第一数据表和历史第一周期下的第一数据表的增量聚合结果进行处理,得到所述数据服务层下的所述中间汇聚结果。
具体来说,第一批处理单元641根据数据事件时间分批,周期性生成数据表,对于粗粒度周期,例如天粒度,将其作为原周期,设定第一周期进行批处理,定期生成第一周期下的数据聚合结果,再将当前第一周期下的聚合结果与原周期内当前第一周期之前的聚合结果进行汇聚,直至得到原周期下的聚合结果,作为中间汇聚结果。
实际应用中,进行批量汇聚的方式可以根据实际情况确定。比如,针对需要得到小时级数据表的情况,可以逐小时对数据进行处理得到数据表;针对需要得到天粒度数据表的情况,可以采用增量聚合的方式得到数据表,从而将全天数据聚合结果的计算消耗平摊到每个小时,有针对性地减少资源占用波峰,降低结果产出时延。
在另一个示例中,第二批处理单元642,具体用于:
基于所述中间汇聚结果,按照预定的第二周期,定期生成每个第二周期下的第二数据表;
采用增量聚合的方式,对当前第二周期下的第二数据表和历史第二周期下的第二数据表的增量聚合结果进行处理,得到所述目标汇聚结果;或者,采用一次性聚合的方式,对各第二周期下的第二数据表进行处理,得到所述目标汇聚结果。
在此,第二批处理单元642增量聚合的过程与第一批处理单元641类似,如前所述不进行赘述。但对于不宜增量聚合的ADS层复杂业务逻辑,例如多表关联,则可采用一次性聚合各第二周期下的第二数据表方式,产生ADS层聚合结果。
实际应用中,进行批量汇聚的方式可以根据实际情况确定。可以设定周期,定期生成每个周期下的数据表,对当前周期下的数据表和历史周期下的数据表的增量聚合结果进行增量聚合;或者,也可以设定周期,定期生成每个周期下的数据表,直接一次性聚合各周期下的第二数据表。从而有针对性地采用较为合适的方式进行数据处理,减少资源占用波峰,降低计算压力。
此外,为了提高数据质量,在一个示例中,所述装置还包括:
预处理模块62,用于在流处理模块63采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果之前,对所述待处理数据进行预处理,所述预处理包括以下至少一项:过滤非法数据、填充空值、过滤异常值、关联维表字段以及拼接记录。
示例来说,预处理操作可以包括:筛选去除不符合输入法则或者会引起恶意循环等的非法数据,使用非空值填充空值,删除含有异常值的记录,添加维表中关联字段,将日志记录进行拼接。其中,预处理方式可以采用其中一种或多种,在此不对其进行限定。
上述示例中,在进行数据汇聚处理之前,先对待处理数据进行预处理,保证数据准确性,从而进一步保证后续数据汇聚处理结果的准确性。
实际应用中,除了考虑应用层的数据需求,还可以考虑对基础数据进行备份和存储。在一个示例中,所述预处理模块62还用于:
将所述预处理结果写入离线数据仓库的数据运营层。
具体来说,ODS层是临时存储层,是接口数据的临时存储区域,从数据粒度上来说ODS层的数据粒度是最细的。将所述预处理结果写入离线数据仓库的ODS层,能够基本保留原始数据,便于后续实现原始数据详单查询、历史记录回溯等。举例来说,将预处理后的通话记录数据写入ODS层,当后续处理结果存在误差,或数据丢失时,可在ODS层查询原始数据。
本示例中,本示例中,通过将预处理结果写入离线数据仓库的ODS层,基本保留原始数据,提高了数据处理的可靠性。
本实施例提供的网络运行数据的处理装置中,流处理模块先采用流处理方式对获取模块获取的网络运行数据进行简单流式汇聚,得到初始汇聚结果,基于初始汇聚结果,批处理模块通过进行批量汇聚,得到最终的处理结果提供给应用层。本方案通过先进行初始汇聚,能够减小数据处理量,从而减少中间态存储占用,并显著降低后续批处理的数据量,简化后续的汇聚算法,并且,通过进行初次的流式汇聚,可提升数据汇聚处理的准确性,相比通过冗余处理的方式保证处理准确性,本方案的处理流程更加简便,从而在保证网络运行数据处理的准确性的同时,减少计算资源消耗。
实施例三
图7为本申请一实施例提供的网络运行数据的处理装置的结构示意图。
本示例中,采用开源数据仓库组件Hive(数据仓库工具,用来进行数据提取、转化、加载),分别存储ODS、DWD、DWS和ADS层数据处理结果。
采集单元为全国各省本地网设备,部署有探针程序和解析程序的通用Linux(一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统)服务器,用于获取网络运行数据分光码流或网管原始日志记录。
合成单元采用有数据合成程序和Kafka(一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据)生产者程序的通用Linux服务器,用于对网络运行数据进行合成处理,其中合成方式包括但不限于字段提取赋值、关联回填和业务识别等,得到待处理数据,即网络运行数据,并将合成记录上报Kafka集群。
传输模块采用开源分布式消息系统Kafka进行数据传输到数据处理中心,用于接收合成后的网络运行数据,并提供给下游数据处理模块订阅和消费。
流处理模块采用开源Flink框架(全称Apache Flink,开源流处理框架,以数据并行和流水线方式执行任意流数据程序)作为流处理引擎,通过YARN(一个通用资源管理系统,可为上层应用提供统一的资源管理和调度)集群部署Flink流处理任务对从Kafka消费到的网络运行数据进行预处理和简单汇聚计算。预处理和简单汇聚计算步骤用到的维表数据存储在Redis(一种基于内存的高速缓存服务)或者任务节点内存中。预处理和简单汇聚结算结果分别写入Hive数据仓库的ODS数据库和DWD数据库。
批处理采用开源Spark框架作为批处理引擎,通过YARN集群部署Spark批处理任务对从Hive数据仓库DWD层读取到的汇聚结果进行进一步周期性汇聚,汇聚所需维表数据存储在Redis或者任务节点内存中。本实施例进行两次批量汇聚,汇聚计算结果分别写入Hive数据仓库的DWS数据库和ADS数据库。
本实施例提供的网络运行数据的处理方法中,先采用流处理方式对获取的网络运行数据进行简单流式汇聚,得到初始汇聚结果,基于初始汇聚结果,通过进行批量汇聚,得到最终的处理结果提供给应用层。本方案通过先进行初始汇聚,能够减小数据处理量,从而减少中间态存储占用,并显著降低后续批处理的数据量,简化后续的汇聚算法,并且,通过进行初次的流式汇聚,可提升数据汇聚处理的准确性,相比通过冗余处理的方式保证处理准确性,本方案的处理流程更加简便,从而在保证网络运行数据处理的准确性的同时,减少计算资源消耗。
实施例四
图8为本公开实施例中提供的一种电子设备的结构示意图,如图8所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述实施例所述的方法。
实施例五
本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述本公开实施例中任意实施例提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种网络运行数据的处理方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括网络运行数据;
采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层;
基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理数据,包括:
对通信网元之间的接口链路进行分光采集,并对采集得到的分光码流进行抓包和分流处理,得到原始数据;和/或,对网管系统运行日志中的记录数据进行采集,得到原始数据;
对所述原始数据进行合成处理,得到所述待处理数据;其中,所述合成处理包括以下至少一项:字段提取赋值、关联回填以及业务识别。
3.根据权利要求2所述的方法,其特征在于,所述对所述原始数据进行合成处理,得到所述待处理数据,包括:
对所述原始数据中的同一个信令流程进行字段取值;
对所述原始数据中存在关联的消息进行关联回填;
采用深度包检测技术,对所述原始数据中的业务类型进行回填。
4.根据权利要求1所述的方法,其特征在于,所述基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,包括:
采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,并将所述中间汇聚结果写入离线数据仓库的数据服务层;
采用批处理方式,对所述数据服务层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果。
5.根据权利要求4所述的方法,其特征在于,所述采用批处理方式,对所述初始汇聚结果进行一级汇聚,得到中间汇聚结果,包括:
基于所述初始汇聚结果,按照预定的第一周期,定期生成每个第一周期下的第一数据表;
采用增量聚合的方式,对当前第一周期下的第一数据表和历史第一周期下的第一数据表的增量聚合结果进行处理,得到所述数据服务层下的所述中间汇聚结果。
6.根据权利要求5所述的方法,其特征在于,所述采用批处理方式,对所述数据服务层中的中间汇聚结果进行二级汇聚,得到所述目标汇聚结果,包括:
基于所述中间汇聚结果,按照预定的第二周期,定期生成每个第二周期下的第二数据表;
采用增量聚合的方式,对当前第二周期下的第二数据表和历史第二周期下的第二数据表的增量聚合结果进行处理,得到所述目标汇聚结果;或者,采用一次性聚合的方式,对各第二周期下的第二数据表进行处理,得到所述目标汇聚结果。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果之前,还包括:
对所述待处理数据进行预处理,所述预处理包括以下至少一项:过滤非法数据、填充空值、过滤异常值、关联维表字段以及拼接记录。
8.根据权利要求7任一项所述的方法,其特征在于,所述采用流处理方式,对所述待处理数据进行预处理之后,所述对所述待处理数据进行初次汇聚得到初始汇聚结果之前,还包括:
将所述预处理结果写入离线数据仓库的数据运营层。
9.一种网络运行数据的处理装置,其特征在于,包括:
获取模块,用于获取待处理数据,所述待处理数据包括网络运行数据;
流处理模块,用于采用流处理方式,对所述待处理数据进行初次汇聚得到初始汇聚结果,并将所述初始汇聚结果写入离线数据仓库的数据细节层;
批处理模块,用于基于所述数据细节层中的初始汇聚结果,采用批处理方式进行批量汇聚,得到目标汇聚结果,并将所述目标汇聚结果写入离线数据仓库的数据应用层。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332495.9A CN115664992A (zh) | 2022-10-28 | 2022-10-28 | 网络运行数据的处理方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332495.9A CN115664992A (zh) | 2022-10-28 | 2022-10-28 | 网络运行数据的处理方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115664992A true CN115664992A (zh) | 2023-01-31 |
Family
ID=84993182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211332495.9A Pending CN115664992A (zh) | 2022-10-28 | 2022-10-28 | 网络运行数据的处理方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664992A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656370A (zh) * | 2021-08-16 | 2021-11-16 | 南方电网数字电网研究院有限公司 | 电力量测系统数据处理方法、装置和计算机设备 |
-
2022
- 2022-10-28 CN CN202211332495.9A patent/CN115664992A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656370A (zh) * | 2021-08-16 | 2021-11-16 | 南方电网数字电网研究院有限公司 | 电力量测系统数据处理方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230004434A1 (en) | Automated reconfiguration of real time data stream processing | |
CN109344172B (zh) | 一种高并发数据处理方法、装置及客户端服务器 | |
CN111078488B (zh) | 数据采集方法、装置、存储介质及系统 | |
CN108521339B (zh) | 一种基于集群日志的反馈式节点故障处理方法及系统 | |
CN111752799A (zh) | 一种业务链路跟踪方法、装置、设备及储存介质 | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN111258978B (zh) | 一种数据存储的方法 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
CN112632129B (zh) | 一种码流数据管理方法、装置及存储介质 | |
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
CN112737800B (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN104346255A (zh) | 一种云计算中自动监测进程内存使用情况的方法 | |
CN107357804A (zh) | 互联网金融海量日志的分析系统及方法 | |
CN112688822A (zh) | 基于多点协同的边缘计算故障或安全威胁监测系统与方法 | |
CN116308824A (zh) | 基于知识图谱的团伙欺诈风险识别方法及相关设备 | |
CN111177193A (zh) | 一种基于Flink的日志流式处理方法及系统 | |
CN113596078A (zh) | 业务问题定位方法及装置 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN116700920A (zh) | 云原生混合部署集群资源调度方法及装置 | |
CN105069029A (zh) | 一种实时etl系统及方法 | |
CN111190875A (zh) | 基于容器平台的日志聚合方法及装置 | |
CN112416557A (zh) | 调用关系的确定方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |