大数据技术下的流数据处理框架构建及应用研究

2024-05-02 06:10:28龙虎李娜
电脑知识与技术 2024年5期
关键词:大数据技术应用

龙虎 李娜

摘要:大数据技术下的流数据具有实时性、突发性、无序性、易失性和无限性等特征,因此,传统的分布式计算机系统很难满足计算需求,需要利用流计算来处理流数据,流计算可以针对海量的不同数据源的流数据进行实时分析与处理。在梳理大数据技术架构的基础上,对流数据及流数据处理框架进行了阐述,给出了流数据处理的三种常用框架,利用文献研究法和系统法对大数据技术下的流数据处理进行深入研究,提出了大数据技术下的流数据处理框架及应用领域,希望能为大数据技术下的流数据处理的研究者提供借鉴。

关键词:大数据技术;流数据处理框架;应用

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2024)05-0066-03

大数据技术背景下,海量多源异构流数据不断涌现,其具有实时性、复杂性、易失性、突发性、多样性、无序性等多个特征,如何有效地处理海量流数据是当前大数据技术领域研究的热点问题。流数据不同于静态数据,其具有数据来源种类多且体量大,格式复杂等诸多特征,针对流数据需要采用实时计算即流计算,利用流计算对数据进行处理主要包括数据实时采集、数据实时计算和实时查询等,其中,数据实时采集阶段主要是采集多个数据源的海量数据,数据实时计算主要是对采集到的数据进行实时的分析和计算,实时查询服务主要是经由流计算框架得出的结果供用户实时查询。流数据处理框架主要有Apache Storm 流计算框架、Spark Streaming实时计算框架和ApacheSamza计算框架三种,流数据来源种类繁多,如在线广告数据、社交网络数据、气象数据、网络监测数据等。流数据主要用在航空航天、大型网站网店的实时用户访问情况分析、网络监控、金融服务电商网站的实时广告推荐等方面。大数据技术下流数据主要利用实时计算来对流数据进行处理,因数据来源较多,数据格式复杂,数据体量巨大,需要构建一个新的大数据流数据处理框架,以满足流数据应用需求。

1 大数据技术

大数据技术描述了一种新一代技术和架构,用于以经济的方式,以高速的捕获、发现和分析技术,从各种超大规模的数据中提取价值[1]。大数据关键技术主要包括大数据采集技术、大数据预处理技术、大数据存储与大数据管理技术、大数据安全技术、大数据分析与大数据挖掘、大数据可视化、大数据应用等,数据的采集是处理数据的基础,获取的数据主要有静态数据和动态数据,获取数据也是获取信息的过程,如利用传感器可以获取温度、压力、电流、震动等数据,数据预处理主要是在数据分析处理之前的一些数据处理,如数据的清洗、数据的变换等,数据存储技术主要解决海量数据存储问题,如利用NoSQL数据库实现大规模数据存储。大数据存储与管理技术主要是将采集到的数据存储起来,建立相应的数据库,并进行管理和调用。大数据管理是一个包括数据收集、数据存储、数据治理、数据组织以及管理和支付大型数据存储库的策略、过程和技术。大数据安全技术中的主要关键技术为大数据访问控制、安全检索、安全计算。大数据访问控制方面主要包括基于密码学的访问控制、角色挖掘、风险自适应访问控制等;安全检索主要包括PIR系列与ORAM、对称可搜索加密、非对称可搜索加密、密文区间检索等;安全计算的目的是在复杂、恶劣的环境下以安全方式计算出正确结果,主要包括同态加密、可验证计算、安全多方计算、函数加密、外包计算等,其中,同态加密技术既可处理加密数据又可维持数据的机密性。可验证计算是实现外包计算的完整性即正确性的最可靠技术,它通过使用密码学工具,确保外包计算的完整性,而无须对服务器失败率或失败的相关性做任何假设。安全多方计算的目的是使得多個参与方能够以一种安全的方式正确实行分布式计算任务,每个参与方除了自己的输入和输出以及由其可以推出的信息外得不到任何额外信息。函数加密是属性加密的一般化,外包计算允许计算资源受限的用户端将计算复杂性较高的计算外包给远端的半可信或恶意服务器完成。

大数据分析是对海量数据的分析[2],以机器学习算法为基础,从海量数据中提取信息的过程。大数据挖掘是从海量的和不完全的以及随机的实际应用数据中,提取隐含的、潜在的有用信息和知识的过程。数据挖掘技术主要有人工神经网络、决策树、遗传算法、邻近算法等。数据可视化技术涉及计算机视觉、计算机辅助设计、计算机图形学等多个领域,数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据构成数据图像,同时将数据的各个属性值以多维数据的形式表示,以从不同的角度观察数据,从而对数据进行更深入的观察和分析。大数据应用技术主要包括商业智能技术、电信数据信息处理与挖掘技术、电网数据信息处理与挖掘技术、气象信息分析技术、环境监测技术、Web信息挖掘技术、多媒体数据并行化处理技术、云计算和海量数据处理应用技术等。大数据技术下的流数据具有实时性、突发性、无序性、易失性和无限性等特征,因此,传统的分布式计算机系统很难满足计算需求,需要利用流计算来处理流数据,流计算可以针对海量的不同数据源的流数据进行实时分析与处理。

2 流数据处理框架

流数据(Stream Data)是由通信领域的美国学者Monika R.Henziger提出的[3],将其定义为只能以事先规定好的顺序被读取一次的数据的一个序列。流数据形式化描述为:考虑一个向量α,其属性域为[1...n](n为秩),则向量α在时间t的状态可表示为α(t)= <α1 (t)...αi(t) , ...αn(t)>,i=1,2...n,可以设定在时刻s,α是0向量,即对于所有属性I, αi(s)=0。向量值的改变是基于时间变量的线性叠加,即时刻t 各个分量的更新是基于(t-1) 时刻以二元组流的形式出现的。流数据的特征主要表现为数据的实时性、数据来源众多、数据规模大且格式复杂、数据的价值会随着时间的流逝而降低,数据处理的重点在于即时响应分析。流数据是一种实时到达的具有规模大、基数高、统计特征复杂变化特性的数据流。

流数据(Data stream) 是一种实时的数据,其概念来源于数据库领域,可将流数据看作无边界的,瞬时的数据项序列,同源流数据中的数据项都具有相同的模式应用于网络监控、金融服务以及气象监控等领域[4]。流数据的特点主要表现在数据的实时性,数据到达次序独立,不受应用系统的控制,数据规模较大且很难预知最大值等多个方面。流数据处理框架主要有Apache Storm 流计算框架、Spark Streaming 实时计算框架和Apache Samza 计算框架三种。ApacheStorm流计算框架的特点主要有容错性好、可伸缩性高、应用场景广泛,如金融领域、预警系统、电商商品的实时推荐等;Spark Streaming实时计算框架的特点主要有高可扩展性、高吞吐量、容错能力强等,其应用在网络监控、异常检测等方面;Apache Samza计算框架的特点是容错性好、可扩展性,其应用场景主要在欺诈检测和异常检测等方面。

1) Apache Storm流计算框架。Apache Storm是一个实时的计算框架,可以支持多种编程语言,对流数据处理的响应速度快,响应时延可以控制在毫秒级,支持海量数据处理,数据规模可以达到PB量级,能够有效和可靠地处理流数据,Storm框架可以很好地与数据库系统进行整合,在数据实时分析、持续计算、机器学习等方面能够得到很好的应用。Storm运行在分布式集群中,其集群采用Master-work的节点方式,利用Zookeeper作为分布式协调组件。

2) Spark Streaming实时计算框架。Spark Stream?ing 是一種侧重极低延迟实时流处理计算框架。Spark Streaming的编程主要是对DStream的操作[5],在进行DStream操作前,需要对Spark Streaming进行初始化,生成StreamingContext。Spark Streaming可以结合批处理和交互查询,适合一些需要对历史数据和实时数据进行结合分析应用。

3) Apache Samza计算框架。Apache Samza为分布式流处理框架,主要用于实时数据的处理,强调的是对数据流的低延迟快速处理,Samza的并行计算是基于Kafka提供的分区数据流,其编程语言主要采用的是Java、Scala等,响应延迟可以达到毫秒级,其状态维护是通过本地存储和Kafka Changelog来实现的,并行模式采用的是基于分区队列的多节点多任务并行模式。

3 大数据流数据处理框架构建及应用

大数据技术下的流数据具有实时性、突发性、无序性、易失性和无限性等特征,因此,传统的分布式计算机系统很难满足计算需求,需要利用流计算来处理流数据,流计算可以针对海量的不同数据源的流数据进行实时分析与处理。流计算系统通常需要具备高性能、海量式、实时性、易用性和可靠性等方面的特征,高性能主要是能够达到大数据流数据处理要求,实时性主要是能够实时处理流数据,易用性主要是能够实现快速部署,可靠性主要是能够可靠地处理流数据。流计算机即为实时计算,其计算框架可以采用开源的,如Twitter Storm 以及Yahoo!S4等,Twitter Storm 是一个开源的实时计算框架,能够有效地、实时地、高效地、可靠地处理海量的流数据,Yahoo!S4是一个开源流计算框架,具有通用性和可扩展性好等诸多特征,此外,还有商业级的流计算框架,如IBM InfoSphere Streams和IBM Stream Base等。流计算机系统能够快速及时地处理实时流数据。

3.1 大数据流数据的流计算模型

流数据不同于传统离线数据,流数据需要进行实时处理,以满足应用的实时性需求。大数据流数据采集主要是针对海量的流数据进行采集,如运行监控数据、社交媒体数据、在线广告数据等,流数据采集完成后需要进行分析计算,可以利用实时流数据处理算法来解决流数据分析处理,大数据流数据处理需要考虑到数据流大规模实时持续达到的特性,处理完成后的流数据,用户可以进行实时查询,查询的结果会实时推送给用户。

3.2 大数据流数据处理框架构建

大数据流数据是一种实时数据,具有海量、快速、时变等诸多特征,需要利用实时计算来对流数据进行处理,实时计算能使用户获得实时的数据结果。大数据流数据因数据的实时性需要利用流计算来实现数据的实时分析与处理,因数据来源较多,数据格式复杂,数据体量巨大,需要构建一个新的大数据流数据处理框架。

大数据流数据传输主要是指流数据的实时传输,大数据流数据实时分析与处理主要是针对流数据的分析与处理,流数据的输入方式主要是数据流,数据的输入呈现为流式持续抵达状态,流处理模式的数据总量是无法预知的,处理的是海量的流数据,流数据的聚类算法[5]主要有基于划分的聚类、基于层次的聚类、基于密度的聚类以及基于网格的聚类,其中,基于划分的聚类主要是利用基于窗口将流数据分块,采用类似批处理的方式对窗口内数据进行聚类,进而获得流数据聚类的结果;基于层次的聚类主要是将流数据划分为在线和离线两个阶段,在现阶段提供微聚类结构,以周期性地存储统计结果,离线阶段提供宏聚类,使用微聚类输出信息;基于密度的聚类主要是通过查找被低密度区域包围的高密度区域来进行聚类,如Den-Stream算法等;基于网格的聚类主要是结合基于密度和基于距离的优点,通过划分网络,将数据映射到距离最近的网格上,并通过网格密度对网格进行分簇。大数据流数据呈现是指用户通过实时查询服务获取实时查询结果,此外,实时数据会不断更新,其更新的结果也会推送给用户,大数据技术下的流数据处理框架如图1所示。

大数据技术下的流数据处理框架主要包括大数据流数据源、大数据流数据采集与传输、大数据流数据实时分析与处理、大数据流数据呈现等多个部分,其中,数据源部分主要是指海量的流数据,如在线网购数据、气象数据、社交媒体数据、网络监控数据等。大数据流数据采集主要是针对海量的流数据进行采集。流数据是一个没有界限的数据序列,数据产生的速度较快,因此,在流数据采集中需要保证其实时性。大数据流数据实时分析与处理方面,流数据分析与处理主要可以利用Apache Storm 流计算框架、SparkStreaming实时计算框架、Apache Samza计算框架等,针对不同的需求和应用场景可以采用不同的计算框架。大数据流数据呈现是指用户通过实时查询服务获取实时查询结果,此外,实时数据会不断更新,其更新的结果也会推送给用户。

3.3 应用

大数据技术下的流数据是一种实时到达的规模大、基数高、统计特征复杂变化的数据流,大数据技术下的流数据处理的应用主要是针对实时类数据,如金融领域的手机银行在线实时服务数据、基金等实时数据、广告营销领域实时数据、物联网监测实时数据、交通流监控实时数据、健康医疗实时数据等,其中,在金融领域如在线实时交易数据、用户在线行为数据、用户的在线交易的位置信息数据等,针对用户行为进行实时分析和个性化推荐。

4 结束语

大数据时代背景下,数据处理不再局限于传统的抽样处理,而是对整个数據的全样本处理,体现的是效率而非绝对精确,需要的是相关而非因果。大数据技术下的流数据以其实时性、无序性、突发性等诸多显著特征,具有与传统数据处理有着很大不同,也为大数据时代数据处理带来了新的挑战。大数据技术下的流数据处理和应用目前还处于未成熟阶段,需要进一步进行研究,尤其是大数据流数据处理的关键处技术以及大数据流数据的计算理论和方法。

参考文献:

[1] 牟少敏.机器学习与大数据技术[M].北京:人民邮电出版社,2018.

[2] 龙虎.大数据概论[M].北京:清华大学出版社,2021.

[3] ZHANG Q. Research and Analysis of Computer Application Technology Based on Big Data Environment[J]. Advances in Computer, Signals and Systems,2023,7(5).

[4] 王桂玲,韩燕波,张仲妹,等.基于云计算的流数据集成与服务[J].计算机学报,2017,40(1):107-125.

[5] 李静林,袁泉.流数据分析技术[M].北京:北京邮电大学出版社,2020.

[6] 王建民.领域大数据应用开发与运行平台技术研究[J].软件学报,2017,28(6):1516-1528.

[7] LIU F R,WANG Y,LI Z Y,et al.Formula omitted]S:Adaptive anomaly detection on sporadic data streams[J].Computer Com?munications,2023(209):151-162.

【通联编辑:王 力】

猜你喜欢
大数据技术应用
大数据技术在电子商务中的应用
大数据技术对新闻业务的影响研究
论大数据技术在智能电网中的应用
高校档案管理信息服务中大数据技术的应用
大数据技术在电气工程中的应用探讨
大数据技术在商业银行中的应用分析
多媒体技术在小学语文教学中的应用研究
考试周刊(2016年76期)2016-10-09 08:45:44
分析膜技术及其在电厂水处理中的应用
科技视界(2016年20期)2016-09-29 14:22:00
GM(1,1)白化微分优化方程预测模型建模过程应用分析
科技视界(2016年20期)2016-09-29 12:03:12
煤矿井下坑道钻机人机工程学应用分析
科技视界(2016年20期)2016-09-29 11:47:01