[发明专利]分布式存储方法及装置、电子设备、计算机可读介质有效
申请号: | 202010616643.4 | 申请日: | 2020-06-30 |
公开(公告)号: | CN111782367B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 齐赫;王亚知 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F3/06 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 彭瑞欣;冯建基 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 存储 方法 装置 电子设备 计算机 可读 介质 | ||
本公开提供了一种分布式存储方法,涉及计算机、云计算技术领域。该方法包括:响应驱动线程的任务请求,读取并向外部洗牌服务发送数据;在所述外部洗牌服务发送所述数据完毕后,将所述任务的状态修改为等待完成态;将所述等待完成态发送给所述驱动线程,以供所述驱动线程释放所述任务对应的执行线程。该分布式存储方法可减少执行线程资源的浪费,提升任务运行效率。本公开还提供了一种分布式存储装置、电子设备和计算机可读介质。
技术领域
本公开实施例涉及计算机、云计算技术领域,特别涉及分布式存储方法及装置、电子设备、计算机可读介质。
背景技术
在分布式存储数据时,分布式计算引擎Spark需要借助外部洗牌(Shuffle)服务运行作业。具体地,Spark将数据不断地传输到外部Shuffle服务,外部Shuffle服务将这些数据合并和排序后,发送给分布式存储系统存储。当数据被成功地写入分布式存储系统之后,外部Shuffle服务会向Spark的执行线程(Executor线程)发送数据写入成功的响应消息。这个过程运行效率低、耗时较长,存在资源浪费。
发明内容
本公开实施例提供一种分布式存储方法及装置、电子设备、计算机可读介质。
第一方面,本公开实施例提供一种分布式存储方法,其包括:
响应驱动线程的任务请求,读取并向外部洗牌服务发送数据;
在所述外部洗牌服务发送所述数据完毕后,将所述任务的状态修改为等待完成态;
将所述等待完成态发送给所述驱动线程,以供所述驱动线程释放所述任务对应的执行线程。
在一些实施例中,所述响应驱动线程的任务请求,读取并向外部洗牌服务发送数据,包括:
响应驱动线程的任务请求,读取所述数据并构造弹性分布式数据集;
对所述弹性分布式数据集进行处理获得洗牌数据;
将所述洗牌数据写入所述外部洗牌服务。
在一些实施例中,所述在所述数据向所述外部洗牌服务发送完毕后,将所述任务的状态修改为等待完成态之后,包括:
将处于等待完成态的所述任务加入管道任务集合;其中,所述管道任务集合是处于等待完成态的任务的集合。
在一些实施例中,所述将处于等待完成态的所述任务加入管道任务集合之后,还包括:
响应所述外部洗牌服务返回的响应消息,调用回调函数对所述任务进行回调操作;
将执行所述回调操作后的所述任务从所述管道任务集合中移除。
在一些实施例中,所述将处于等待完成态的所述任务加入管道任务集合之后,还包括:
对所述管道任务集合中的任务进行冲刷操作;
从所述管道任务集合中获得处于终止态的任务;
调用失败回调函数和完成回调函数,对处于终止态的所述任务进行回调操作;
将执行所述回调操作后的所述任务从所述管道任务集合中移除。
在一些实施例中,所述对所述管道任务集合中的任务进行冲刷操作,包括:
按照预设时间间隔或所述任务的数量达到预设值时,对所述管道任务集合中的任务进行冲刷操作。
在一些实施例中,所述终止态包括停止态、超时态和完成态。
第二方面,本公开实施例提供一种分布式存储方法,其包括:
向执行线程发送任务请求,以使所述执行线程读取并向外部洗牌服务发送数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010616643.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:测试方法及相关设备
- 下一篇:芯片自检测方法、装置、芯片、显示系统及存储介质