申请/专利权人:中科驭数(北京)科技有限公司
申请日:2023-12-14
公开(公告)日:2024-04-16
公开(公告)号:CN117891391A
主分类号:G06F3/06
分类号:G06F3/06
优先权:
专利状态码:在审-公开
法律状态:2024.04.16#公开
摘要:本发明提供一种Spark应用的数据洗牌传输过程的数据读写方法、系统和存储介质,所述方法包括:在写入阶段,内存写入模块将初步聚合数据分批次下发至写入阶段对应的内存存储模块;内存池单元分配内存块以存储内存写入模块下发的各个批次的数据,目录单元生成内存块ID,记录内存块ID与内存块的对应关系,并将内存块ID上传至内存写入模块;在读取阶段,通过内存客户端与内存服务器建立通信连接,以拉取写入阶段对应的内存存储模块中存储的初步聚合数据,并将拉取的数据存储至读取阶段对应的内存存储模块;内存读取模块读取读取阶段对应的内存存储模块中的数据。本发明能够避免数据洗牌时从磁盘中读写数据,从而大幅减少了数据洗牌传输的执行时间。
主权项:1.一种Spark应用的数据洗牌传输过程的数据读写方法,所述数据洗牌传输过程包括写入阶段和读取阶段,其特征在于,该方法包括以下步骤:在写入阶段,内存写入模块获取数据,将其转换为初步聚合数据,并分批次下发所述初步聚合数据至写入阶段对应的内存存储模块;其中,所述写入阶段对应的内存存储模块包括目录单元和内存池单元;所述内存池单元分配内存块以存储内存写入模块下发的各个批次的初步聚合数据,所述目录单元生成内存块ID,记录内存块ID与内存块的对应关系,并将各个批次数据的内存块ID上传至内存写入模块,直至写入阶段的所有Spark任务执行结束;其中,所述内存写入模块包括预存储的内存服务器地址,并且各个批次初步聚合数据的内存块ID均有一个对应的内存服务器地址;在读取阶段,内存读取模块基于内存写入模块获取各个批次数据的内存块ID和对应的内存服务器地址,将数据拉取请求、获取的内存块ID和获取的内存服务器地址下发至读取的内存客户端;内存客户端基于内存读取模块下发的数据拉取请求、内存块ID和内存服务器地址与写入阶段对应的内存服务器建立通信连接,以拉取写入阶段对应的内存存储模块中存储的初步聚合数据,并且内存客户端将拉取的初步聚合数据存储至读取阶段对应的内存存储模块;内存读取模块读取所述读取阶段对应的内存存储模块中存储的初步聚合数据,并输出二次聚合数据,直至读取阶段的所有Spark任务执行结束。
全文数据:
权利要求:
百度查询: 中科驭数(北京)科技有限公司 一种Spark应用的数据洗牌传输过程的数据读写方法、系统和存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。