[发明专利]一种读写控制方法、装置及服务器有效
申请号: | 201910516001.4 | 申请日: | 2019-06-14 |
公开(公告)号: | CN110321357B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 易帆;康林;段效晨;秦占明;赵艳杰 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2458;G06F16/28 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 李欣;马敬 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 读写 控制 方法 装置 服务器 | ||
1.一种读写控制方法,其特征在于,所述方法包括:
监测针对数据仓库的数据请求;所述数据请求包括:读数据请求或写数据请求;
根据所述数据请求所请求访问的存储位置的写锁节点的占用状态,给所述数据请求分配所述写锁节点;
当所述数据请求为读数据请求且所述数据请求分配得到所述存储位置的读锁节点时,将所述写锁节点的占用状态更改为未占用并放行所述读数据请求;
当所述数据请求为写数据请求且所述读锁节点未被占用时,放行所述写数据请求。
2.根据权利要求1所述的方法,其特征在于,在所述监测针对数据仓库的数据请求的步骤之前,还包括:
通过分布式系统协调服务zookeeper为所述数据仓库中的每个存储单元创建写锁节点和读锁节点;所述存储单元包括:数据表或分区数据表中的一个分区。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据请求所请求访问的存储位置的写锁节点的占用状态,给所述数据请求分配所述写锁节点的步骤,包括:
在所述数据请求所请求访问的存储位置的写锁节点下,创建第一临时顺序节点;
当所述第一临时顺序节点不为所述写锁节点下唯一的临时顺序节点时,确定所述写锁节点的占用状态为被占用,放弃给所述数据请求分配所述写锁节点;
当所述第一临时顺序节点为所述写锁节点下唯一的临时顺序节点时,给所述数据请求分配所述写锁节点。
4.根据权利要求3所述的方法,其特征在于,所述第一临时顺序节点的序号为:在创建所述第一临时顺序节点后,所述写锁节点下临时顺序节点的总数目。
5.根据权利要求1所述的方法,其特征在于,所述当所述数据请求为读数据请求且所述数据请求分配得到所述存储位置的读锁节点时,将所述写锁节点的占用状态更改为未占用并放行所述读数据请求的步骤,包括:
当所述数据请求为读数据请求时,在所述存储位置的读锁节点下创建临时节点,以给所述数据请求分配所述存储位置的读锁节点;
将所述写锁节点的占用状态更改为未占用并放行所述读数据请求。
6.根据权利要求5所述的方法,其特征在于,所述当所述数据请求为写数据请求且所述读锁节点未被占用时,放行所述写数据请求的步骤,包括:
当所述数据请求为写数据请求时,监测所述读锁节点下的临时节点的数目;
当所述读锁节点下的临时节点的数目为零时,放行所述写数据请求。
7.一种读写控制装置,其特征在于,所述装置包括:
监测模块,用于监测针对数据仓库的数据请求;所述数据请求包括:读数据请求或写数据请求;
分配模块,用于根据所述数据请求所请求访问的存储位置的写锁节点的占用状态,给所述数据请求分配所述写锁节点;
第一放行模块,用于在所述分配模块给所述数据请求分配所述写锁节点之后,当所述数据请求为读数据请求且所述数据请求分配得到所述存储位置的读锁节点时,将所述写锁节点的占用状态更改为未占用并放行所述读数据请求;
第二放行模块,用于在所述分配模块给所述数据请求分配所述写锁节点之后,当所述数据请求为写数据请求且所述读锁节点未被占用时,放行所述写数据请求。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
创建模块,用于在监测针对数据仓库的数据请求之前,通过分布式系统协调服务zookeeper为所述数据仓库中的每个存储单元创建写锁节点和读锁节点;所述存储单元包括:数据表或分区数据表中的一个分区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910516001.4/1.html,转载请声明来源钻瓜专利网。