CN111125161A - 数据的实时处理方法、装置、设备及存储介质 - Google Patents
数据的实时处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111125161A CN111125161A CN201911375134.0A CN201911375134A CN111125161A CN 111125161 A CN111125161 A CN 111125161A CN 201911375134 A CN201911375134 A CN 201911375134A CN 111125161 A CN111125161 A CN 111125161A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- real
- dimensional
- preprocessed
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据的实时处理方法、装置、设备及存储介质,该方法包括:对采集到的数据进行分流处理,得到分流数据文件;对分流数据文件进行排序,得到顺序文件;对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;根据全维度基础宽表和IQ数据库,生成多维度宽表数据。本发明能够减少数据库的处理数据量,在保证数据的实时处理效率的同时,提高了现有设备的利用率,降低了对整体资源的消耗。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据的实时处理方法、装置、设备和计算机可读存储介质。
背景技术
传统的基于大数据的实时流式数据处理的方式包括Apache Storm和SparkStreaming两种流式处理框架,通过Apache Storm或Spark Streaming,均可实现实时数据流的可扩展、高吞吐量、容错流处理,实时数据可以从分布式发布订阅消息系统(Kafka)、日志收集系统(Flume)或传输控制协议(Transmission Control Protocol,TCP)套接字中获取,并且可以使用以高级函数(如map、reduce、join和window)表示的复杂算法进行处理。
但在根据上述两种流式处理框架对实时流式数据进行处理时,需要消耗大量资源,前端需要配置大量的Kafka的集群,后端需要提供大量的实时数据流式处理的计算资源,并且需要分配较高的优先级。
发明内容
本发明实施例提供了一种数据的实时处理方法、装置、设备和存储介质,通过在内存文件系统中的初步汇总,减少了数据库的处理数据量,在保证了数据的实时处理效率的同时,进一步提高了现有设备的利用率,降低了对整体资源的消耗。
第一方面,提供了一种数据的实时处理方法,该方法包括:对采集到的数据进行分流处理,得到分流数据文件;对分流数据文件进行排序,得到顺序文件;对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;根据全维度基础宽表和IQ数据库,生成多维度宽表数据。
在第一方面的一些可实现方式中,对采集到的数据进行分流处理,得到分流数据文件,包括:根据时间粒度将采集到的数据进行分流,得到分流数据;在不同线程中对分流数据执行异步并行处理,得到分流数据文件。
在第一方面的一些可实现方式中,根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据,包括:根据接口协议获取预处理数据中的第一部分数据;根据预设条件对第一部分数据进行按行分割,得到第一部分数据的上下行数据。
在第一方面的一些可实现方式中,根据全维度基础宽表和IQ数据库,生成多维度宽表数据,包括:对全维度基础宽表进行多线程并发上传,得到顺序基础宽表;根据顺序基础宽表和IQ数据库,生成多维度宽表数据。
在第一方面的一些可实现方式中,在对顺序文件中的数据进行预处理之前,包括:将顺序文件缓存至内存文件系统。
在第一方面的一些可实现方式中,在根据全维度基础宽表和IQ数据库,生成多维度宽表数据之前,包括:当数据丢失时,根据预先持久化到磁盘上的数据进行数据补算。
第二方面,提供了一种数据的实时处理装置,该装置包括:分流模块,对采集到的数据进行分流处理,得到分流数据文件;排序模块,用于对分流数据文件进行排序,得到顺序文件;预处理模块,用于对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;分割模块,用于根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;全维度汇总模块,用于对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;多维度汇总模块,用于根据全维度基础宽表和IQ数据库,生成多维度宽表数据。
在第二方面的一些可实现方式中,分流模块具体用于,根据时间粒度将采集到的数据进行分流,得到分流数据;在不同线程中对分流数据执行异步并行处理,得到分流数据文件。
在第二方面的一些可实现方式中,分割模块具体用于,根据接口协议获取预处理数据中的第一部分数据;根据预设条件对第一部分数据进行按行分割,得到第一部分数据的上下行数据。
在第二方面的一些可实现方式中,多维度汇总模块具体用于,对全维度基础宽表进行多线程并发上传,得到顺序基础宽表;根据顺序基础宽表和IQ数据库,生成多维度宽表数据。
在第二方面的一些可实现方式中,该装置还包括缓存模块,用于在对顺序文件中的数据进行预处理之前,将顺序文件缓存至内存文件系统。
第三方面,提供了一种数据的实时处理设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面或者第一方面的一些可实现方式中的数据的实时处理方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面的一些可实现方式中的数据的实时处理方法。
本发明提供一种数据的实时处理方法、装置、设备和计算机可读存储介质,通过对采集到的数据进行分流处理,得到分流数据文件;对分流数据文件进行排序,得到顺序文件;对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;根据全维度基础宽表和IQ数据库,生成多维度宽表数据,能够减少数据库的处理数据量,在保证了数据的实时处理效率的同时,进一步提高了现有设备的利用率,降低了对整体资源的消耗。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据的实时处理方法的流程示意图;
图2是本发明实施例提供的一种数据的实时处理步骤的流程示意图;
图3是本发明实施例提供的一种数据分割处理方法的流程示意图;
图4是本发明实施例提供的一种数据的上传入库方法的流程示意图;
图5是本发明实施例提供的一种数据的汇总方法的流程示意图;
图6是本发明实施例提供的一种数据的实时处理装置的结构示意图;
图7是本发明实施例提供的一种数据的实时处理设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
中国移动网管专业给网络部下各个部门的系统提供数据接口和技术支持,包含了性能域、优化域、故障域、资源域及其他部分的数据和系统,为了整合网管数据,江苏公司网络部引入了数据中台的架构来解决海量数据的采集、存储、共享以及对外应用支撑的需求。数据中台需要及时应对上层应用的变化,在目前的应用需求中,对于数据计算实时性的要求越来越高,目前上层应用需要1分钟粒度和5分钟粒度的实时指标,用来应对告警和大屏以及集团上报的需求。
现有基于大数据的实时流式数据计算的方式存在如下缺陷:需要消耗较大的资源,前端需要配置大量的kafka的集群,后端需要提供大量的实时数据流式处理的计算资源,并且需要分配较高的优先级。
为了解决现有基于大数据的实时处理方案的计算资源消耗大的问题,本发明实施例提供了一种数据的实时处理方法、装置、设备及计算机可读存储介质。下面结合附图对本发明实施例的技术方案进行描述。
下面结合图1和图2对本发明实施例提供的数据的实时处理方法进行描述。
图1是本发明实施例提供的一种数据的实时处理方法的流程示意图。
图2是本发明实施例提供的一种数据的实时处理步骤的流程示意图。
如图1和图2所示,该数据的实时处理方法可以包括以下步骤:
S110,对采集到的数据进行分流处理,得到分流数据文件。
首先,数据采集,数据采集的过程可以包括对原始数据的分光以及外部数据表示法(XDR)的合成。数据采集包含长期演进(Long Term Evolution,LTE)、面向手机和数据终端的高速无线通信标准(Voice over Long-Term Evolution,VOLTE)等原始信令的分光合成,同时数据采集还采集包含网管的性能域、优化域、故障域、资源域及其他数据。
其中,采集数据的类型主要是通过SDTP对接的实时流式数据,也包括一部分的配置的数据。
然后,在对采集到的数据进行分流处理之前,需要通过接口将采集到的数据接入。
通过网元管理系统(Element Management System,EMS)接口与网络单元(NetworkElement,NE)之间的IF1接口接收实时的XDR数据,通过安全数据传输协议(Safe DataTransfer Protocol,SDTP)接口接收配置数据和非实时的文件。
将数据接入之后,对接入的数据进行数据分流,首先,根据时间粒度将采集到的数据进行分流,得到分流数据,然后,在不同线程中对分流数据执行异步并行处理,得到分流数据文件。
将通过接口接入的数据按时间粒度拆成若干文件(分流数据),由于这个粒度足够小,可以保证很好的并发性以及数据稳定性。
在数据处理中,存在大量的处理性能不均衡以及需求差异的情况,很多的处理操作都会占有大量的性能损耗,这就要求我们充分利用多线程异步处理的优势,提升整体处理性能。因此,为了提高整体的处理性能,将上一步得到的细粒度的文件放到不同的线程中异步并行执行,得到分流数据文件。
S120,对分流数据文件进行排序,得到顺序文件。
S110中的多线程异步并行处理虽然能够提升整体处理性能,但是异步的操作又会使原来有序的数据变得无序,在对数据顺序要求敏感的场景下会产生问题,因此要控制最终生成数据的顺序。
具体地,通过将异步并行处理后生成的分流数据文件按正确的顺序进行排序,得到顺序文件。
S130,对顺序文件中的数据进行预处理,得到预处理数据。
在数据的整个实时处理流程中,最大的性能挑战是超大数据量带来的计算压力,如果采用传统的方法,所有的操作都在数据库中进行,如此巨大的数据量带来的另外一个挑战就是输入或输出(Input/Output,IO)读取的巨大性能损耗。
具体地,在对顺序文件中的数据进行预处理之前,需要进行数据缓存,将顺序文件缓存至内存文件系统(tmp FS),然后再对顺序文件进行预处理(数据转换预处理)。
其中,预处理包括对顺序文件中的各类明细数据(原始XDR数据)的数据内容进行格式统一、编码转换以及字段简化。
可选地,在一个实施例中,预处理还可以包括对各类明细数据的数据内容进行关键字段的加密和异常数据的过滤。
可选地,在一个实施例中,可以通过数据仓库技术(Extract-Transform-Load,ETL)对原始XDR数据中的LTE数据进行预处理;在对原始XDR数据中的LTE数据进行预处理之前,还可以对LTE数据进行号码、国际移动用户识别码(International Mobile SubscriberIdentity,IMSI)、国际移动设备识别码(International Mobile Equipment Identity,IMEI)等信息的回填。
S140,根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据。
通过预处理步骤得到最终要进行汇总的数据(预处理数据)后,在后续的数据处理流程中,利用服务器多核的优势,在允许的范围内尽可能的增加处理线程。具体地,根据接口协议获取预处理数据中的第一部分数据,根据预设条件对第一部分数据进行按行分割,得到第一部分数据的上下行数据。
其中,第一部分数据是在预处理数据中选取出的可分割数据,可以是预处理数据中数据量最大(数据占用最大)的一种类型数据,例如超文本传输协议(HTTP)数据。
下面结合一个具体的实施例来进行说明:
图3是本发明实施例提供的一种数据分割处理方法的流程示意图,如图3所示,S130预处理得到的预处理数据包括用户面数据和控制面数据,首先,按照接口协议对这些数据进行分流,生成HTTP数据、文件传输协议(File Transfer Protocol,FTP)数据、即时通讯(IM)数据等用户面数据,以及控制平面接口(S1-MME)数据等控制面数据;然后,将这些数据按大小进行汇聚,分析这些数据的大小占用,得出HTTP数据是最大的,并且大过其它所有数据的总和,因此,HTTP数据作为预处理数据中的第一部分数据要进行数据分割,而除HTTP数据之外的其它数据(第二部分数据),由于其数据量不大,可以合并到一个线程中进行处理。
在根据预设条件对HTTP数据进行数据分割时,可以采用按行分割的分割方式,即,将HTTP数据的数据内容分成了HTTP上行数据和HTTP下行数据两种,由于所有的指标计算都会计算上行指标和下行指标,因此,按上下行进行分割,可以较好地确保数据的均衡。
具体地,对分割后得到的HTTP上行数据、HTTP下行数据以及预处理数据中的第二部分数据进行并行处理。
S150,对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表。
在对上下行数据和预处理数据中的第二部分数据进行汇总计算生成全维度基础宽表的过程中,需要对所有数据的指标进行计算,但大部分数据的指标都是稀疏的,使得单次计算的耗时过长,因此需要对数据的指标进行处理。
具体地,通过将数据中指标进行列转行的操作,减少数据列的计算量,提升数据行数,在此基础上结合并行策略对数据进行汇总,完成全维度的汇总计算后,会在tmpFS中生成全维度的基础宽表,并按一定的方式组织起来,最终生成全维度基础宽表。
其中,全维度基础宽表是一个包含所有维度信息的宽表,是未来所有计算的基础,其数据量要远远小于原始的XDR文件,但又包含足够的信息,不管从计算还是存储等各方面,都具有较大的优势。
S160,根据全维度基础宽表和IQ数据库,生成多维度宽表数据。
将S150得到的全维度基础宽表上传到IQ数据库服务器,并最终加载入库的过程中,存在两个挑战:按顺序进行单文件的上传会存在上传速度瓶颈,导致网络带宽不能得到充分利用,上传速度过慢;涉及到后续的数据库计算触发问题,因此在数据加载入库的过程,要严格保证文件的顺序。
具体地,对全维度基础宽表进行多线程并发上传,得到顺序基础宽表,根据顺序基础宽表和IQ数据库,生成多维度宽表数据。
下面结合一个具体地实施例进行说明:
图4是本发明实施例提供的一种数据的上传入库方法的流程示意图,如图4所示,首先,S150生成的若干个基础宽表文件会被分流到多个上传进程中,进行并行上传,有效地利用了网络带宽资源。然后,当每个基础宽表文件上传完成后,它不能立刻被标识为“上传完成”,而是需要对上一个基础宽表文件的上传进度进行检查,判断其上一个基础宽表文件是否标识“上传完成”,若其上一个基础宽表文件已被标识“上传完成”,则当前基础宽表文件可被标识为“上传完成”,否则,当前基础宽表文件要一直等待上个基础宽表文件上传并且标识“上传完成”。为了应对部分文件异常导致的整个过程失控,如果某个基础宽表文件等待时间过长则会触发超时机制,判断该基础宽表文件是否等待超时,若是,则直接将该基础宽表文件标注为“上传完成”,以保证整个上传流程能够顺利进行。
根据图4的数据的上传入库方法能够保证上传之后得到的基础宽表是有完整顺序的顺序基础宽表,将得到的顺序基础宽表加载入库,在IQ数据库中进行进一步的数据汇总计算,生成多维度基础宽表数据。
可选地,在一个实施例中,在上传基础宽表文件时,可以根据文件安全传输协议(SSH File Transfer Protocol,SFTP)来上传,确保文件的安全性。
具体地,多维度基础宽表是在顺序基础宽表的基础上实现最终宽表汇总,汇总出网络维度、用户(IMSI)维度、终端(IMEI)维度、业务(大类、小类)维度、结构化编程(Structured Programming,SP)维度等多个具体维度的宽表数据。
图5是本发明实施例提供的一种数据的汇总方法的流程示意图,如图5所示,从原始XDR数据生成全维度基础宽表这个过程,是通过C程序在IQ数据库外的tmpFS中进行操作和汇总计算的,由于是在内存中的计算,其IO消耗是非常低的,可以将大数据量(原始XDR数据)汇总成相对较小的数据量(全维度基础宽表),有效保证海量数据下的处理性能;IQ数据库具有更高的灵活度,在IQ数据库中可以接收更小的数据量(顺序基础宽表),面向业务的需求汇总成最终的多维度宽表数据。
在原始XDR数据生成全维度基础宽表的这个过程中,还可以将数据的实时处理中较为耗时的条件查找操作(数据库中的where或者case when操作、哈希高速查找操作)前移至tmpFS中完成,充分利用tmpFS高效的处理能力,以减少IQ数据库的处理数据量。
具体地,在根据全维度基础宽表和IQ数据库,生成多维度宽表数据之前,包括:当数据丢失时,根据预先持久化到磁盘上的数据进行数据补算。
由于tmpFS存在于内存中,一旦服务器正常或者异常重启,会出现数据丢失的情况,因此数据除了在内存中进行运算外,还会根据策略部分将数据持久化到磁盘上,这样可以应对重启之后的数据补算操作。
本发明实施例的数据的实时处理方法,通过对采集到的数据进行分流处理,得到分流数据文件;对分流数据文件进行排序,得到顺序文件;对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;根据全维度基础宽表和IQ数据库,生成多维度宽表数据,能够减少数据库的处理数据量,降低数据库的处理压力,利用现有的架构和资源,实现海量数据的实时计算和汇总,在保证了数据的实时处理效率的同时,进一步提高了现有设备的利用率,节省了硬件资源。
图6是本发明实施例提供的一种数据的实时处理装置的结构示意图,如图6所示,该数据的实时处理装置200可以包括:分流模块210、排序模块220、预处理模块230、分割模块240、全维度汇总模块250、多维度汇总模块260。
其中,分流模块210,用于对采集到的数据进行分流处理,得到分流数据文件;排序模块220,用于对分流数据文件进行排序,得到顺序文件;预处理模块230,用于对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;分割模块240,用于根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;全维度汇总模块250,用于对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;多维度汇总模块260,用于根据全维度基础宽表和IQ数据库,生成多维度宽表数据。
在一些实施例中,分流模块210具体用于,根据时间粒度将采集到的数据进行分流,得到分流数据;在不同线程中对分流数据执行异步并行处理,得到分流数据文件。
在一些实施例中,分割模块240具体用于,根据接口协议获取预处理数据中的第一部分数据;根据预设条件对第一部分数据进行按行分割,得到第一部分数据的上下行数据。
在一些实施例中,多维度汇总模块260具体用于,对全维度基础宽表进行多线程并发上传,得到顺序基础宽表;根据顺序基础宽表和IQ数据库,生成多维度宽表数据。
在一些实施例中,该装置还包括缓存模块,用于在对顺序文件中的数据进行预处理之前,将顺序文件缓存至内存文件系统。
本发明实施例的数据的实时处理装置,通过对采集到的数据进行分流处理,得到分流数据文件;对分流数据文件进行排序,得到顺序文件;对顺序文件中的数据进行预处理,得到预处理数据,预处理包括对顺序文件中的数据内容进行格式统一、编码转换以及字段简化;根据预设条件对预处理数据中的第一部分数据进行分割,得到第一部分数据的上下行数据;对上下行数据和预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;根据全维度基础宽表和IQ数据库,生成多维度宽表数据,能够减少数据库的处理数据量,在保证了数据的实时处理效率的同时,进一步提高了现有设备的利用率,降低了对整体资源的消耗。
可以理解的是,本发明实施例的数据的实时处理装置200,可以对应于本发明实施例图1中的数据的实时处理方法的执行主体,数据的实时处理200的各个模块/单元的操作和/或功能的具体细节可以参见上述本发明实施例图1-图5的数据的实时处理方法中的相应部分的描述,为了简洁,在此不再赘述。
图7是本发明实施例提供的一种数据的实时处理设备的硬件结构示意图。
如图7所示,本实施例中的数据的实时处理设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与信息获取设备300的其他组件连接。
具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到信息获取设备300的外部供用户使用。
在一个实施例中,图7所示的数据的实时处理设备300包括:存储器304,用于存储程序;处理器303,用于运行存储器中存储的程序,以执行本发明实施例提供的图1-图5所示实施例的方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的图1-图5所示实施例的方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (13)
1.一种数据的实时处理方法,其特征在于,所述方法包括:
对采集到的数据进行分流处理,得到分流数据文件;
对所述分流数据文件进行排序,得到顺序文件;
对所述顺序文件中的数据进行预处理,得到预处理数据,所述预处理包括对所述顺序文件中的数据内容进行格式统一、编码转换以及字段简化;
根据预设条件对所述预处理数据中的第一部分数据进行分割,得到所述第一部分数据的上下行数据;
对所述上下行数据和所述预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;
根据所述全维度基础宽表和IQ数据库,生成多维度宽表数据。
2.根据权利要求1所述的方法,其特征在于,所述对采集到的数据进行分流处理,得到分流数据文件,包括:
根据时间粒度将所述采集到的数据进行分流,得到分流数据;
在不同线程中对所述分流数据执行异步并行处理,得到所述分流数据文件。
3.根据权利要求1所述的方法,其特征在于,所述根据预设条件对所述预处理数据中的第一部分数据进行分割,得到所述第一部分数据的上下行数据,包括:
根据接口协议获取所述预处理数据中的所述第一部分数据;
根据预设条件对所述第一部分数据进行按行分割,得到所述第一部分数据的上下行数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述全维度基础宽表和IQ数据库,生成多维度宽表数据,包括:
对所述全维度基础宽表进行多线程并发上传,得到顺序基础宽表;
根据所述顺序基础宽表和所述IQ数据库,生成多维度宽表数据。
5.根据权利要求1-4任意一项所述的方法,其特征在于,在所述对所述顺序文件中的数据进行预处理之前,包括:
将所述顺序文件缓存至内存文件系统。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述全维度基础宽表和IQ数据库,生成多维度宽表数据之前,所述方法还包括:
当数据丢失时,根据预先持久化到磁盘上的数据进行数据补算。
7.一种数据的实时处理装置,其特征在于,所述装置包括:
分流模块,对采集到的数据进行分流处理,得到分流数据文件;
排序模块,用于对所述分流数据文件进行排序,得到顺序文件;
预处理模块,用于对所述顺序文件中的数据进行预处理,得到预处理数据,所述预处理包括对所述顺序文件中的数据内容进行格式统一、编码转换以及字段简化;
分割模块,用于根据预设条件对所述预处理数据中的第一部分数据进行分割,得到所述第一部分数据的上下行数据;
全维度汇总模块,用于对所述上下行数据和所述预处理数据中的第二部分数据进行指标列转行,生成全维度基础宽表;
多维度汇总模块,用于根据所述全维度基础宽表和IQ数据库,生成多维度宽表数据。
8.根据权利要求7所述的装置,其特征在于,所述采集模块具体用于:
根据时间粒度将所述采集到的数据进行分流,得到分流数据;
在不同线程中对所述分流数据执行异步并行处理,得到所述分流数据文件。
9.根据权利要求7所述的装置,其特征在于,所述分割模块具体用于:
根据接口协议获取所述预处理数据中的所述第一部分数据;
根据预设条件对所述第一部分数据进行按行分割,得到所述第一部分数据的上下行数据。
10.根据权利要求7所述的装置,其特征在于,所述多维度汇总模块具体用于:
对所述全维度基础宽表进行多线程并发上传,得到顺序基础宽表;
根据所述顺序基础宽表和IQ数据库,得到多维度宽表数据。
11.根据权利要求7-10任意一项所述的装置,其特征在于,在所述对所述顺序文件中的数据进行预处理之前,包括:
将所述顺序文件缓存至内存文件系统。
12.一种数据的实时处理设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机指令时实现如权利要求1-6任意一项所述的数据的实时处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的数据的实时处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375134.0A CN111125161B (zh) | 2019-12-27 | 2019-12-27 | 数据的实时处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375134.0A CN111125161B (zh) | 2019-12-27 | 2019-12-27 | 数据的实时处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125161A true CN111125161A (zh) | 2020-05-08 |
CN111125161B CN111125161B (zh) | 2023-08-15 |
Family
ID=70503818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911375134.0A Active CN111125161B (zh) | 2019-12-27 | 2019-12-27 | 数据的实时处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125161B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810864A (zh) * | 2020-05-29 | 2021-12-17 | 中国移动通信集团广东有限公司 | 一种区域短信靶向群发的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426292A (zh) * | 2015-10-29 | 2016-03-23 | 网易(杭州)网络有限公司 | 一种游戏日志实时处理系统及方法 |
CN106156350A (zh) * | 2016-07-25 | 2016-11-23 | 恒安嘉新(北京)科技有限公司 | 一种可视化大数据分析方法及系统 |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
CN110457333A (zh) * | 2019-07-29 | 2019-11-15 | 招商局金融科技有限公司 | 数据实时更新方法、装置及计算机可读存储介质 |
US20190392074A1 (en) * | 2018-06-21 | 2019-12-26 | LeapAnalysis Inc. | Scalable capturing, modeling and reasoning over complex types of data for high level analysis applications |
-
2019
- 2019-12-27 CN CN201911375134.0A patent/CN111125161B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426292A (zh) * | 2015-10-29 | 2016-03-23 | 网易(杭州)网络有限公司 | 一种游戏日志实时处理系统及方法 |
CN106156350A (zh) * | 2016-07-25 | 2016-11-23 | 恒安嘉新(北京)科技有限公司 | 一种可视化大数据分析方法及系统 |
US20190392074A1 (en) * | 2018-06-21 | 2019-12-26 | LeapAnalysis Inc. | Scalable capturing, modeling and reasoning over complex types of data for high level analysis applications |
CN109189835A (zh) * | 2018-08-21 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 实时生成数据宽表的方法和装置 |
CN110457333A (zh) * | 2019-07-29 | 2019-11-15 | 招商局金融科技有限公司 | 数据实时更新方法、装置及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810864A (zh) * | 2020-05-29 | 2021-12-17 | 中国移动通信集团广东有限公司 | 一种区域短信靶向群发的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111125161B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN112507029B (zh) | 数据处理系统及数据实时处理方法 | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
WO2023082681A1 (zh) | 基于批流一体的数据处理方法、装置、计算机设备和介质 | |
CN116955361A (zh) | 存储器内密钥范围搜索方法和系统 | |
CN104317942A (zh) | 一种基于Hadoop云平台的海量数据比对方法及系统 | |
CN114238415B (zh) | 基于Flink的实时规则引擎控制方法、系统及介质 | |
CN112019605A (zh) | 数据流的数据分发方法和系统 | |
CN110868323B (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN112631754A (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN115344207A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113568938A (zh) | 数据流处理方法、装置、电子设备及存储介质 | |
CN111949389A (zh) | 基于Slurm的信息采集方法和装置、服务器、计算机可读存储介质 | |
CN111125161A (zh) | 数据的实时处理方法、装置、设备及存储介质 | |
CN113360576A (zh) | 一种基于Flink Streaming的电网海量数据实时处理方法及装置 | |
CN111770150B (zh) | 访问流量控制方法、装置及电子设备 | |
CN111078975B (zh) | 一种多节点增量式数据采集系统及采集方法 | |
CN117633116A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN112019604A (zh) | 边缘数据传输方法和系统 | |
JP2022500714A (ja) | 大規模データ分析の最適化 | |
CN116016117A (zh) | 网络设备运维数据采集方法、系统、电子设备及存储介质 | |
CN113612832A (zh) | 流式数据分发方法与系统 | |
CN114048228A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |