CN117971941A - 移动互联网大数据多业务高效并行计算方法及装置 - Google Patents
移动互联网大数据多业务高效并行计算方法及装置 Download PDFInfo
- Publication number
- CN117971941A CN117971941A CN202410013497.4A CN202410013497A CN117971941A CN 117971941 A CN117971941 A CN 117971941A CN 202410013497 A CN202410013497 A CN 202410013497A CN 117971941 A CN117971941 A CN 117971941A
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- task
- logic
- global
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 62
- 238000004458 analytical method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims description 43
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000004140 cleaning Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims description 2
- 238000013178 mathematical model Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 238000005538 encapsulation Methods 0.000 claims 1
- 239000000284 extract Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种移动互联网大数据多业务高效并行计算方法及装置,属于大数据计算技术领域,所述方法包括:确定每个数据业务的数据源,所述数据源包括数据的类型、格式、结构和获取方式;对每个数据业务的计算任务进行逻辑和过程分析,包括数据的输入、处理和输出;对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并。本发明提供的移动互联网大数据多业务高效并行计算方法及装置能提高大数据业务的并行计算性能。
Description
技术领域
本发明涉及大数据计算技术领域,特别是指一种移动互联网大数据多业务高效并行计算方法及装置。
背景技术
移动互联网数据规模增加,同时支撑的数据业务迅速增加,现有的烟囱式建设模式和垂直化业务系统,并未考虑数据业务间共性的计算逻辑,例如社会治安疫情防控业务中特定目标漫入预警逻辑,导致多个数据业务重复订阅和计算处理数据,使本来就紧张的数据库资源被严重浪费,无法满足数据业务高效分析处理和预警响应的需求。
现有技术虽然公开了若干相关专利,如发明专利申请CN108052646A公开了实时计算大数据系统和方法,CN110492988A公开了一种多路并行复用的大数据系统及其处理方法,CN115904674A公开了智能化并行处理的清算任务执行方法、装置、设备及介质,然而现有技术仍未有效解决上述问题,有进一步改进的空间。
发明内容
本发明要解决的技术问题是提供一种移动互联网大数据多业务高效并行计算方法及装置,以提高大数据业务的并行计算性能。
为解决上述技术问题,本发明提供技术方案如下:
一方面,提供一种移动互联网大数据多业务高效并行计算方法,包括:
步骤S101:确定每个数据业务的数据源,所述数据源包括数据的类型、格式、结构和获取方式;
步骤S102:对每个数据业务的计算任务进行逻辑和过程分析,包括数据的输入、处理和输出;
步骤S103:对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并。
另一方面,提供一种实现上述方法的移动互联网大数据多业务高效并行计算装置,包括数据源订阅模块、单计算任务执行逻辑分析模块、多计算任务相同逻辑识别模块、多计算任务计算过程全局合并模块、多计算任务全局计算过程统一执行模块和计算结果分发模块,其中:
数据源订阅模块,用于订阅多个数据源;
单计算任务执行逻辑分析模块,用于对每个数据业务分析其计算任务的逻辑和流程;
多计算任务相同逻辑识别模块,用于识别多个数据业务中具有相同逻辑的操作,以减少重复计算;
多计算任务计算过程全局合并模块,用于负责将不同数据业务的计算任务整合到一个全局执行计划中;
多计算任务全局计算过程统一执行模块,用于执行全局计算过程,包括多个数据业务的计算任务;
计算结果分发模块,用于负责将计算结果分发到相应的业务或输出目标。
本发明具有以下有益效果:
本发明提供的移动互联网大数据多业务高效并行计算方法及装置,首先确定每个数据业务的数据源,然后对每个数据业务的计算任务进行逻辑和过程分析,之后对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并,同时将本操作相同数据源的相同原子逻辑操作进行约定,最后形成多数据业务的全局统一执行逻辑过程,通过对全局统一执行逻辑过程的执行实现了对多数据业务的高效执行,实现了对相同数据源的一次订阅,相同逻辑操作的一次执行,从而有效避免了资源浪费,提高计算资源的效能,实现移动互联网多数据业务高效处理。故本发明能够提高大数据业务的并行计算性能。
附图说明
图1为本发明移动互联网大数据多业务高效并行计算方法的流程图;
图2为Cannon算法执行并行计算的流程图;
图3为Cannon算法矩阵相乘的示意图;
图4为本发明移动互联网大数据多业务高效并行计算装置的结构图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
一方面,本发明提供一种移动互联网大数据多业务高效并行计算方法,如图1所示,包括:
步骤S101:确定每个数据业务的数据源(内容),所述数据源(内容)包括数据的类型、格式、结构和获取方式;
本步骤中,可将数据源分为结构化和非结构化数据,以及实时获取数据或离线获取数据。
步骤S102:对每个数据业务的计算任务进行逻辑和过程分析,包括数据的输入、处理和输出;
本步骤中,将单个数据业务的计算任务进行逻辑和过程分析,例如在不同架构下执行数据传输,基于不同的数据引擎Flink(开源流处理框架)或Spark(通用并行框架)进行计算,以及在不同场景下的数据应用等。
针对单任务计算过程,主要关注数据的产生与收集,数据的传输及分析处理,以及数据的存储和对外提供服务。在数据采集功能上保证可以完整的收集到所有日志数据,为实时应用提供实时数据,响应时间上要保证实时性且低延迟。
步骤S103:对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并。
本步骤中,对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并,以减少重复计算,同时可以将本操作相同数据源的相同原子逻辑操作进行约定,形成多数据业务的全局统一执行逻辑过程。
作为一种可选的实施例,所述步骤S103可以包括:
利用Cannon(一种优化矩阵分块乘法的算法)并行矩阵算法执行多业务并行计算。
图2是Cannon并行矩阵算法执行流程图。该算法将多个处理器排列成二维网格,采用二维块划分的方法将矩阵分给不同的处理器计算各自的局部结果,以此来加速计算。
图3是Cannon算法矩阵相乘示意图。Cannon算法基本思想是,每一个进程只存A、B、C矩阵的一个子块/分块,本地相对应的A、B子块相乘后将结果累加到本地C子块,然后再与其他进程交换A、B子块,继续相乘将结果累加到本地C子块上。但是要保证对应的A、B子块相乘,不能错位,在最开始,Pij上的A为所在行的第j个,B为所在列的第i个,A和B子块并不对应,因此将一行上的A子块循环向左移动i格,一列上的B子块循环向上移动j格,这样A和B子块就能对应了,每执行一次计算,每行所有A子块循环向左移动1格,每列上的B子块循环向上移动1格,A、B子块相乘的结果累加在本地的C子块上。
也就是说,所述利用Cannon并行矩阵算法执行多业务并行计算,参考图2,可以包括:
步骤A1:对于每个节点,分别从当前节点从文件中读取矩阵A和矩阵B;
步骤A2:当前节点将矩阵A和矩阵B的大小广播给其他节点;
步骤A3:当前节点将矩阵A和矩阵B分块,并分发给对应的节点;
步骤A4:各节点互相发送接受矩阵块以初始对准;
步骤A5:各节点对本地的矩阵A分块和矩阵B分块进行串行矩阵乘法运算并将结果累加到矩阵C分块上;
步骤A6:各节点互相发送接受矩阵块以进行循环移动;
步骤A7:各节点将自己的矩阵C分块发送给当前节点;
步骤A8:当前节点重新整理矩阵C并写入文件。
需要说明的是,每个节点均需执行上述步骤,图2中是以当前节点为0号节点为例进行说明。
下面对本发明方法的原理进行简要说明。
首先,明确每个大数据业务的具体目标和要解决的问题。
确定每个业务的数据源,包括数据的类型、格式、结构和获取方式。
对每个业务的计算任务进行详细的逻辑分析,包括数据的输入、处理、输出等。
在进一步分析之前,通常需要进行数据预处理,包括数据清洗、转换和归档,有助于确保数据的质量和可用性。
根据业务逻辑,识别可以并行执行的计算任务。确定数据分片、任务分解和并行化策略。
对于每个计算任务,估算其执行时间、资源需求和可能的瓶颈,有助于确定哪些任务对并行计算的性能有关键影响。
确定哪些计算任务之间存在数据依赖性,即一个任务的输出是另一个任务的输入,以避免影响任务的执行顺序。
基于数据依赖性和性能分析,设计任务调度策略,以确保高效的并行计算,涉及到任务队列、并行任务管理等。
考虑计算任务失败的情况,实现容错和恢复机制,以确保计算的可靠性。
在实际环境中进行测试,根据性能数据进行优化,以确保计算任务以最佳方式运行。
记录每个业务的计算逻辑和过程,以便日后维护和监控。
其次,为创建一个全局统一的执行逻辑过程,能够高效处理多个数据业务,并确保数据源的共享和操作的约定得到遵守,需要以下步骤,也即,作为一种可选的实施例,所述步骤S103可以包括:
步骤S1031(数据源和原子操作约定):确定多个数据业务中共享的数据源和原子逻辑操作;
这些是在不同业务中可以复用的数据和操作。建立清晰的约定,确保这些数据源和操作在各业务中一致。
步骤S1032(全局逻辑分析):对多个数据业务的执行逻辑进行全局分析;
本步骤中,了解数据业务的执行逻辑之间的关系,包括数据的流动和操作的顺序。
步骤S1033(合并相同操作):识别在不同数据业务中具有相同逻辑的操作,在不同业务中可能存在重复操作,故通过操作合并来减少重复计算;
步骤S1034(数据流分析):确定数据如何在不同业务中流动,标识数据流的路径,包括输入、输出和中间结果;
本步骤中,可以在流程中通过检测数据流去决定业务流程管理模型中的活动序列,如通过活动序列从输入到输出之间的数据转换。首先,定义某些特定的数据依赖去验证一个数据流规约是否为构建一个业务流程模型提供正确的信息;然后,提出业务流程中的数据流属性,并应用ASK-CTL(扩展分支树逻辑)去规则数据流的属性;最后,设计出典型的数据流约束业务流程模型的分析模式。
步骤S1035(依赖分析):分析不同任务之间的依赖关系;
本步骤中,确定哪些任务需要等待其他任务的输出,以便执行。
在业务流程的依赖分析中,分为三种数据依赖:无条件、有条件和执行数据依赖,下面先定义分析数据依赖的路由约束。
定义1路由约束:一个路由约束c=f(D):Execute(V),这里的D是数据项集合,f(D)是D上的逻辑表达式集合。
定义2数据依赖:每个活动v都需要消费一个输入数据项集Iv和产生一个输出数据项集Ov,这就是对活动v的数据依赖,标记为:λv(Iv,Ov)。
即数据依赖是由某个活动的执行产生输入数据与输出数据之间的依赖关系。
定义3无条件、有条件和执行数据依赖:分别记为
活动依赖是从数据依赖中派生出来的。当一个活动的输入数据由另外一个活动直接或间接派生出来,就会出现活动依赖。在业务流程中反映的是控制流的时序关系,因此,导致由数据流依赖派生出控制流的活动依赖关系。所以在流程执行过程中要保持数据流和控制流的一致性关系。
步骤S1036(任务调度和并行化):基于数据依赖性和操作合并,设计全局任务调度策略,以确保多个数据业务的计算任务按照合适的顺序和并行方式执行。
任务数据在调度开始之前已经得到,按要求分配给虚拟资源的是静态调度。任务随机产生,随机达到虚拟资源的是动态调度。动态调度又可以分为批处理模式和在线模式。批处理模式会等待用户提交的任务组成一个列表,在固定时间进行分配。在线模式是任务即到即分,无需等待。针对不同的类型,任务调度算法/策略有很多种。静态调度算法适用于任务已经确定的情况,如先来先服务(FCFS)、最短作业优先(SJF)、时间片轮询(RR)等。动态调度算法适用于任务是随机产生的情况,如min-min、max-min、动态RR等,它们属于批处理模式,而最小完成时间(MCT)、最小执行时间(MET)属于在线模式。
面向时间调度时,可以针对完成时间、执行时间和截止时间应用一种任务子截止时间分配策略,将任务子截止时间分配给多工作流的每个任务,以满足工作流截止时间约束。然后,基于最小时隙可用性的任务调度方法,以在满足工作流截止时间的同时,最大限度地降低工作流调度成本。最后,采用调度反馈策略更新计划外任务的优先级和子截止时间,进一步降低工作流调度成本。
面向负载均衡调度时,可以利用BCSV调度算法改善工作节点的负载均衡问题。BCSV的主要思想是使用最小选举权值(SSV)、最大选举权值(LSV)和标准选举权值(CSV)作为调度因素,以提高任务调度的性能。
此外,所述步骤S1036之后,可以包括:
步骤S1037(性能优化):优化全局执行逻辑,确保高效利用计算资源,包括任务分配、资源管理和负载均衡;
和/或,步骤S1038(测试和验证):在实际环境中测试全局统一执行逻辑过程,验证其正确性和性能,确保每个数据业务仍然能够满足其独特需求;
和/或,步骤S1039(文档和维护):记录全局统一执行逻辑过程,以便日后维护和监控。
综上,本发明的移动互联网大数据多业务高效并行计算方法,首先确定每个数据业务的数据源,然后对每个数据业务的计算任务进行逻辑和过程分析,之后对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并,同时将本操作相同数据源的相同原子逻辑操作进行约定,最后形成多数据业务的全局统一执行逻辑过程,通过对全局统一执行逻辑过程的执行实现了对多数据业务的高效执行,实现了对相同数据源的一次订阅,相同逻辑操作的一次执行,从而有效避免了资源浪费,提高计算资源的效能,实现移动互联网多数据业务高效处理。故本发明能够提高大数据业务的并行计算性能。本发明在互联网数据处理领域具有很强的实用性和应用范围,具有很广泛的应用前景。
另一方面,本发明提供一种实现上述方法的移动互联网大数据多业务高效并行计算装置,如图4所示,包括数据源订阅模块、单计算任务执行逻辑分析模块、多计算任务相同逻辑识别模块、多计算任务计算过程全局合并模块、多计算任务全局计算过程统一执行模块和计算结果分发模块,其中:
数据源订阅模块,该模块用于订阅多个数据源,包括数据库、API(ApplicationProgramming Interface,应用程序编程接口)、文件等,该模块的功能还可以包括管理数据源连接、订阅更新、数据抽取和数据加载,以确保数据源的实时性和可用性。
单计算任务执行逻辑分析模块,用于对每个数据业务分析其计算任务的逻辑和流程。可设计一种配置语言或工具,以帮助用户定义计算任务的逻辑。
多计算任务相同逻辑识别模块,识别多个数据业务中具有相同逻辑的操作,以减少重复计算。可以进行模块化设计,以支持可重用的逻辑组件。
多计算任务计算过程全局合并模块,负责将不同数据业务的计算任务整合到一个全局执行计划中。需要考虑如何处理数据流、任务依赖性和任务调度,以确保任务可以高效并行执行。
多计算任务全局计算过程统一执行模块,用于执行全局计算过程,包括多个数据业务的计算任务。需要考虑如何管理任务队列、资源分配、任务调度和容错处理。
计算结果分发模块,负责将计算结果分发到相应的业务或输出目标。需要考虑结果的格式转换、存储、传输和安全性。
在设计以上模块时,需要注意以下几个方面:
扩展性和性能,确保装置能够处理大规模数据和多个业务,具有良好的性能和扩展性。
容错性,考虑故障处理机制,以应对可能出现的问题,如任务失败或数据源中断。
安全性,保护数据的隐私和安全,包括数据传输和存储方面的安全性。
监控和日志记录,提供监控和日志记录功能,以便跟踪系统性能和问题排查。
用户界面和配置管理,提供用户友好的界面和配置管理工具,以简化用户的操作和配置。
文档和培训,为用户和维护人员提供详细的文档和培训材料,以确保装置的正确使用和维护。
下面对本装置中各个模块进行进一步说明:
数据源订阅模块:在订阅数据时,区分支持的订阅类型,消费支持的数据格式。针对相同数据源的订阅,在数据订阅工具中指定要订阅的数据源,可以是数据库、API、日志文件、传感器等。配置工具以定期或实时地提取数据源中的数据。数据提取的方式取决于数据源类型。例如,对于数据库,可以编写SQL(Structured Query Language,结构化查询语言)查询来提取数据;对于API,可以制定HTTP(Hypertext Transfer Protocol,超文本传输协议)请求。然后,将提取的数据传送到目标位置。配置监控和错误处理机制,以跟踪数据提取和传送的状态,并在出现问题时采取相应措施,包括错误日志、警报和重试机制。当重复订阅数据时应进行提示。
在使用Redis(远程字典服务)进行消息订阅时,容易遇到重复订阅。如果重复订阅同一个消息,那么就会出现多次处理消息的情况,导致数据异常。可以利用Redis的原子性实现幂等性解决,特点是其任意多次执行所产生的影响均与一次执行的影响相同。在接收到消息后将消息ID作为key执行setnx命令,如果执行成功就表示没有处理过这条消息,可以进行消费,执行失败表示消息已经被消费。
单计算任务执行逻辑分析模块:可根据计算架构区分任务执行逻辑。Flink执行计算程序通过client解析程序代码,优化数据流生成JobGraph,将job提交至JobManager,收到job后生成执行流图,申请TaskManager资源后进行分配资源及启动执行任务。而Spark利用RDD(Resilient Distributed Datasets,弹性分布式数据集)封装计算,通过不同的算子来组装构建较为复杂的计算。
多计算任务相同逻辑识别模块:通过多个单计算任务执行逻辑分析,识别多个数据业务中具有相同逻辑的操作,尤其是可重用的计算。识别标准基于每个计算任务的说明或文档,看是否有任务描述、需求或目标相似的任务。相似的任务通常有相同的逻辑。还可以比较任务的源代码,查看是否有共享的代码段或算法。相同的代码段可能表示相同的逻辑。以及比较任务的数据处理步骤,包括数据清洗、转换、筛选和聚合。检查任务的输入和输出数据。如果多个任务都处理相似类型的数据或生成相似的结果,它们可能共享相同的逻辑。
多计算任务计算过程全局合并模块:识别到逻辑相同的计算任务后,确保任务的参数和输入可以被通用化,使它们适用于不同情况。需要将任务中的硬编码值替换为可配置的参数。将相同逻辑的部分整合到一个单一的计算任务中。将代码从原始任务中提取并组合到一个新的任务中,或者创建一个通用的代码库,以供多个任务共享。
多计算任务全局计算过程统一执行模块:全局计算多任务并行处理(基于并行矩阵乘法计算),并合理分配计算资源。
为了实现对大规模数据的并行计算处理,首先构建大规模数据的并行计算数据流的传输调度和控制模型,构建HDFS(Hadoop Distributed File System,高度容错性分布系统)平台进行大规模数据的分片处理,采用Hadoop(分布式系统基础架构)分布式文件得到大规模数据的核心函数;假设Y为大规模数据的状态特征变量,X1,X2...Xm-1为HDFS输入的数据分片自变量,HDFS在执行数据分片过程中的输入输出线性关系描述为:
Y=β0+β1X1+β2X2...βm-1Xm-1+e
其中e为单模式匹配扰动误差项,它表示小于块大小的数据时间片的测量误差;
采用Hash列表分解方法得到大规模数据集的n组观测值为:
(xi1,xi2...xi,m-1,yi),i=1,2,...,n
当满足以下数学模型:
在整个大规模数据集文件中的偏移量误差项e满足高斯-马尔科夫假设。
计算结果分发模块:并行计算各个数据业务后,将计算结果存储在适当的数据存储系统中,如关系型数据库、分布式数据库、数据仓库、NoSQL数据库。将计算结果保存为文件,如文本文件、CSV文件、JSON文件或Parquet文件。文件输出适用于需要将结果导出到其他系统或进行离线处理的情况。使用消息队列系统,如Apache Kafka、RabbitMQ或AmazonSQS,将计算结果发送到消息队列中。其他应用可以订阅消息队列来接收结果。创建用于访问计算结果的API端点。其他应用可以通过HTTP或其他协议调用这些API来获取数据。如果计算结果是实时生成的,使用实时流技术,如Apache Kafka Streams、Apache Flink或Apache Spark Streaming,将数据流式传输到其他应用。以及定期运行批处理作业,将计算结果转移到其他存储位置,以供其他应用查询和访问。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种移动互联网大数据多业务高效并行计算方法,其特征在于,包括:
步骤S101:确定每个数据业务的数据源,所述数据源包括数据的类型、格式、结构和获取方式;
步骤S102:对每个数据业务的计算任务进行逻辑和过程分析,包括数据的输入、处理和输出;
步骤S103:对多个数据业务计算任务的执行逻辑和过程进行全局分析和全局合并。
2.根据权利要求1所述的方法,其特征在于,所述步骤S103包括:
利用Cannon并行矩阵算法执行多业务并行计算。
3.根据权利要求2所述的方法,其特征在于,所述利用Cannon并行矩阵算法执行多业务并行计算,包括:
步骤A1:对于每个节点,分别从当前节点从文件中读取矩阵A和矩阵B;
步骤A2:当前节点将矩阵A和矩阵B的大小广播给其他节点;
步骤A3:当前节点将矩阵A和矩阵B分块,并分发给对应的节点;
步骤A4:各节点互相发送接受矩阵块以初始对准;
步骤A5:各节点对本地的矩阵A分块和矩阵B分块进行串行矩阵乘法运算并将结果累加到矩阵C分块上;
步骤A6:各节点互相发送接受矩阵块以进行循环移动;
步骤A7:各节点将自己的矩阵C分块发送给当前节点;
步骤A8:当前节点重新整理矩阵C并写入文件。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述步骤S103包括:
步骤S1031:确定多个数据业务中共享的数据源和原子逻辑操作;
步骤S1032:对多个数据业务的执行逻辑进行全局分析;
步骤S1033:识别在不同数据业务中具有相同逻辑的操作,通过操作合并来减少重复计算;
步骤S1034:确定数据如何在不同业务中流动,标识数据流的路径,包括输入、输出和中间结果;
步骤S1035:分析不同任务之间的依赖关系;
步骤S1036:基于数据依赖性和操作合并,设计全局任务调度策略,以确保多个数据业务的计算任务按照合适的顺序和并行方式执行。
5.根据权利要求4所述的方法,其特征在于,所述步骤S1036之后包括:
步骤S1037:优化全局执行逻辑,确保高效利用计算资源;
和/或,步骤S1038:在实际环境中测试全局统一执行逻辑过程,验证其正确性和性能,确保每个数据业务仍然能够满足其独特需求;
和/或,步骤S1039:记录全局统一执行逻辑过程,以便日后维护和监控。
6.一种实现权利要求1-5中任一所述方法的移动互联网大数据多业务高效并行计算装置,其特征在于,包括数据源订阅模块、单计算任务执行逻辑分析模块、多计算任务相同逻辑识别模块、多计算任务计算过程全局合并模块、多计算任务全局计算过程统一执行模块和计算结果分发模块,其中:
数据源订阅模块,用于订阅多个数据源;
单计算任务执行逻辑分析模块,用于对每个数据业务分析其计算任务的逻辑和流程;
多计算任务相同逻辑识别模块,用于识别多个数据业务中具有相同逻辑的操作,以减少重复计算;
多计算任务计算过程全局合并模块,用于负责将不同数据业务的计算任务整合到一个全局执行计划中;
多计算任务全局计算过程统一执行模块,用于执行全局计算过程,包括多个数据业务的计算任务;
计算结果分发模块,用于负责将计算结果分发到相应的业务或输出目标。
7.根据权利要求6所述的装置,其特征在于,所述数据源订阅模块,用于在订阅数据时,区分支持的订阅类型,消费支持的数据格式;针对相同数据源的订阅,在数据订阅工具中指定要订阅的数据源;配置工具定期或实时地提取数据源中的数据,然后将提取的数据传送到目标位置;配置监控和错误处理机制,以跟踪数据提取和传送的状态,并在出现问题时采取相应措施,包括错误日志、警报和重试机制,当重复订阅数据时进行提示;
和/或,所述数据源订阅模块中,在使用Redis进行消息订阅时,利用Redis的原子性实现幂等性解决重复订阅同一消息导致多次处理的问题,即在接收到消息后将消息ID作为key执行setnx命令,如果执行成功就表示没有处理过这条消息,可以进行消费,执行失败表示消息已经被消费。
8.根据权利要求6所述的装置,其特征在于,所述单计算任务执行逻辑分析模块,用于根据计算架构区分任务执行逻辑,其中,Flink执行计算程序通过client解析程序代码,优化数据流生成JobGraph,将job提交至JobManager,收到job后生成执行流图,申请TaskManager资源,后进行分配资源及启动执行任务;Spark利用RDD封装计算,通过不同的算子来组装构建较为复杂的计算;
所述多计算任务相同逻辑识别模块,用于通过多个单计算任务执行逻辑分析,识别多个数据业务中具有相同逻辑的操作,其中,识别标准基于每个计算任务的说明或文档,看是否有任务描述、需求或目标相似的任务;还比较任务的源代码,查看是否有共享的代码段或算法;比较任务的数据处理步骤,包括数据清洗、转换、筛选和聚合;以及检查任务的输入和输出数据。
9.根据权利要求6所述的装置,其特征在于,所述多计算任务计算过程全局合并模块,用于识别到逻辑相同的计算任务后,确保任务的参数和输入可以被通用化,使它们适用于不同情况,其中,需要将任务中的硬编码值替换为可配置的参数;将相同逻辑的部分整合到一个单一的计算任务中;将代码从原始任务中提取并组合到一个新的任务中,或者创建一个通用的代码库,以供多个任务共享;
所述多计算任务全局计算过程统一执行模块,用于全局计算多任务并行处理,并合理分配计算资源,其中:
为了实现对大规模数据的并行计算处理,首先构建大规模数据的并行计算数据流的传输调度和控制模型,构建HDFS平台进行大规模数据的分片处理,采用Hadoop分布式文件得到大规模数据的核心函数;假设Y为大规模数据的状态特征变量,X1,X2...Xm-1为HDFS输入的数据分片自变量,HDFS在执行数据分片过程中的输入输出线性关系描述为:
Y=β0+β1X1+β2X2...βm-1Xm-1+e
其中e为单模式匹配扰动误差项,它表示小于块大小的数据时间片的测量误差;
采用Hash列表分解方法得到大规模数据集的n组观测值为:
(xi1,xi2...xi,m-1,yi),i=1,2,...,n
当满足以下数学模型:
在整个大规模数据集文件中的偏移量误差项e满足高斯-马尔科夫假设。
10.根据权利要求6所述的装置,其特征在于,所述计算结果分发模块,用于并行计算各个数据业务后,将计算结果存储在适当的数据存储系统中;将计算结果保存为文件;使用消息队列系统;将计算结果发送到消息队列中,以供其他应用订阅消息队列接收结果;创建用于访问计算结果的API端点,以供其他应用获取数据;如果计算结果是实时生成的,使用实时流技术将数据流式传输到其他应用;以及定期运行批处理作业,将计算结果转移到其他存储位置,以供其他应用查询和访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410013497.4A CN117971941A (zh) | 2024-01-04 | 2024-01-04 | 移动互联网大数据多业务高效并行计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410013497.4A CN117971941A (zh) | 2024-01-04 | 2024-01-04 | 移动互联网大数据多业务高效并行计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971941A true CN117971941A (zh) | 2024-05-03 |
Family
ID=90852541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410013497.4A Pending CN117971941A (zh) | 2024-01-04 | 2024-01-04 | 移动互联网大数据多业务高效并行计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971941A (zh) |
-
2024
- 2024-01-04 CN CN202410013497.4A patent/CN117971941A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Isah et al. | A survey of distributed data stream processing frameworks | |
US20220171781A1 (en) | System And Method For Analyzing Data Records | |
Gautam et al. | A survey on job scheduling algorithms in big data processing | |
Zygouras et al. | Insights on a scalable and dynamic traffic management system. | |
Samak et al. | Online fault and anomaly detection for large-scale scientific workflows | |
Pal et al. | Big data real time ingestion and machine learning | |
Senthilkumar et al. | A survey on job scheduling in big data | |
Simitsis et al. | HFMS: managing the lifecycle and complexity of hybrid analytic data flows | |
Sathya et al. | Application of Hadoop MapReduce technique to Virtual Database system design | |
Shen et al. | Performance prediction of parallel computing models to analyze cloud-based big data applications | |
Singh et al. | Data processing framework using apache and spark technologies in big data | |
CN113641739B (zh) | 一种基于Spark的智能数据转换方法 | |
Chen et al. | Pisces: optimizing multi-job application execution in mapreduce | |
Chen et al. | Towards low-latency big data infrastructure at sangfor | |
US11042530B2 (en) | Data processing with nullable schema information | |
Khalil et al. | Survey of Apache Spark optimized job scheduling in Big Data | |
CN117971941A (zh) | 移动互联网大数据多业务高效并行计算方法及装置 | |
Shahverdi et al. | Comparative evaluation for the performance of big stream processing systems | |
Thanekar et al. | A study on MapReduce: Challenges and Trends | |
Liang | Design and Implementation of Big Data Visual Statistical Analysis Platform | |
Zeliu et al. | MapReduce rationality verification based on object Petri net | |
Subbiah et al. | Job starvation avoidance with alleviation of data skewness in Big Data infrastructure | |
Jalalian et al. | Autonomous task scheduling for fast Big Data processing | |
Deshai et al. | An advanced comparison on big data world computing frameworks | |
Sharma et al. | A Review on Storage and Large-Scale Processing of Data-Sets Using Map Reduce, YARN, SPARK, AVRO, MongoDB |
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 |