[发明专利]在分布式文件系统中实现分布式管道的方法和装置有效
申请号: | 201710002254.0 | 申请日: | 2017-01-03 |
公开(公告)号: | CN106599323B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 郭波 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/17 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 文件系统 实现 管道 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种在分布式文件系统中实现分布式管道的方法和装置。
背景技术
主流的操作系统都支持一种叫做“管道”的进程间通信方式。其原理就是,写入端将数据往管道中推送,而读取端从管道中获取数据,数据的流动符合先入先出的规则。
在存在分布式文件系统的情况下,譬如数据传输/发布/订阅,或作为集群操作系统的分布式进程间通信基础设施的情况下,管道依然存在着很大的应用需求:在数据传输/发布/订阅情况下:分布式文件系统上层的系统基于分布式管道,只需要简单的架构和代价就可以实现数据的传输/发布/订阅,在分布式进程间通信的情况下,目前主要实现方式是PVM(并行虚拟机)和MPI(消息传递接口)等技术,可以和在本地环境下使用管道一样简单地使用分布式管道,不需要额外引入其它复杂的分布式进程间通信技术。
然而,上述分布式管道的实现方式,在数据传输/发布/订阅时存在以下问题:系统同时要考虑可用性、传输效率、数据的可靠性和一致性等复杂的问题,使得系统架构变得十分复杂,灵活度受限,规模很小,扩展性受限;在分布式进程间通信时,由于技术本身复杂,并且需要提供专门的编程接口,从而造成应用系统的使用代价较高。
发明内容
本申请的目的在于提出一种改进的一种在分布式文件系统中实现分布式管道的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种在分布式文件系统中实现分布式管道的方法,所述方法包括:写入接口接收写会话的数据写入请求,向元信息管理器发送包括写入长度的写入数据请求;所述元信息管理器响应于所述写入长度与管道文件现有长度之和超过管道限定阈值,且管道文件属性中预设的数据清除策略允许自动清除,通知所述写入接口向截断接口发送前向截断通知;所述写入接口向所述截断接口发送所述前向截断通知;所述截断接口响应于接收到所述前向截断通知,向元信息管理器发送截断请求,所述截断请求包括截断偏移;所述元信息管理器响应于接收到所述截断请求,比较所述截断请求中的截断偏移是否大于管道文件的起始偏移,若大于,通知管道文件副本对应的数据服务器执行前向截断操作。
在一些实施例中,所述方法还包括:所述元信息管理器响应于所述写入长度与管道文件现有长度之和未超过所述管道限定阈值,向所述写入接口发送写入通知;所述写入接口响应于接收到所述写入通知,将数据写入对应所述写入通知的数据服务器。
在一些实施例中,所述方法还包括以下一项或多项:所述元信息管理器响应于所述截断偏移小于或等于所述起始偏移,通知前向截断接口向所述写入接口返回截断成功信息,向所述写入接口发送写入通知;所述元信息管理器响应于至少一个数据服务器截断成功,仅保留截断成功的数据服务器上的数据副本,在所述管道文件属性中更新所述起始偏移,通知所述截断接口向所述写入接口返回截断成功信息;以及所述元信息管理器响应于无数据服务器截断成功,通知所述截断接口向所述写入接口返回截断失败信息。
在一些实施例中,所述方法还包括:所述元信息管理器响应于更新所述起始偏移,遍历所有的读会话,若更新后的所述起始偏移大于当前访问的读会话的下一次读取偏移,将所述当前访问的读会话的会话状态标记为错误状态。
在一些实施例中,所述方法还包括:读取接口接收读会话的数据读取请求,向元信息管理器发送包括读取偏移和读取长度的读取数据请求;所述元信息管理器响应于所述读取偏移大于管道文件的起始偏移、所述读会话的会话状态并非错误状态且读取请求所要求读取的范围未超过管道文件末尾,向读取接口发送读取通知;读取接口响应于接收所述读取通知,从所述读取通知指示的数据服务器读取数据。
在一些实施例中,所述方法还包括:所述元信息管理器响应于所述读取偏移大于管道文件的起始偏移、所述读会话的会话状态并非错误状态、读取请求所要求读取的范围已超过管道文件末尾且管道文件属性中预设的会话策略为阻塞式会话,通知所述读取接口所述读会话进入阻塞状态;所述元信息管理器响应于有新数据写入,并且写入的新数据满足所述读会话的下一次读取范围,向所述读取接口发送读取通知以唤醒所述进入阻塞状态的读会话。
在一些实施例中,所述方法还包括:所述元信息管理器响应于所述读取偏移大于管道文件的起始偏移、所述读会话的会话状态并非错误状态、读取请求所要求读取的范围已超过管道文件末尾且管道文件属性中预设的会话策略并非阻塞式会话,向所述读取接口返回空;所述读取接口向所述会话前端返回空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710002254.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据脱敏的方法及设备
- 下一篇:一种CAD数据抓取方法