[发明专利]数据处理方法、装置、设备及存储介质在审
申请号: | 201910710724.8 | 申请日: | 2019-08-02 |
公开(公告)号: | CN110413628A | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 郑海波 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F9/46;G06F9/52 |
代理公司: | 上海光栅知识产权代理有限公司 31340 | 代理人: | 马雯雯 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 存储介质 锁状态 内存 可扩展性 数据冲突 有效地 并发 场景 | ||
1.一种数据处理方法,其特征在于,包括:
根据数据的ID信息,确定内存中所述数据的当前锁状态;
根据所述当前锁状态,在所述内存中增加针对所述数据的锁信息;
根据所述锁信息,执行相应的操作。
2.根据权利要求1所述的方法,其特征在于,在根据数据的ID信息,确定内存中所述数据的当前锁状态之前,还包括:
在所述内存中,创建数据的锁目录;所述锁目录包括:数据的ID信息、读锁数量、写锁数量、意向锁数量、写锁的加锁时间、意向锁的加锁时间。
3.根据权利要求2所述的方法,其特征在于,根据数据的ID信息,确定内存中所述数据的当前锁状态,包括:
查询所述锁目录中,所述数据的ID信息对应的数据的当前锁状态;所述当前锁状态包括:读锁状态、写锁状态、意向锁状态、空闲状态。
4.根据权利要求2所述的方法,其特征在于,所述读锁状态是指读锁数量大于0;所述写锁状态是指写锁数量大于0;所述意向锁状态是指所述意向锁数量大于0;所述空闲状态是指所有锁的数量均为0。
5.根据权利要求3所述的方法,其特征在于,根据所述当前锁状态,在所述内存中增加针对所述数据的锁信息,包括:
当需要查询数据时,若所述当前锁状态为读锁状态或者空闲状态,则在所述内存中增加针对所述数据的读锁;
若所述当前锁状态为写锁状态,则等待所述写锁释放之后,在所述内存中增加针对所述数据的读锁;
若所述当前锁状态为意向锁状态,则等待所述意向锁释放之后,在所述内存中增加针对所述数据的读锁。
6.根据权利要求3所述的方法,其特征在于,根据所述当前锁状态,在所述内存中增加针对所述数据的锁信息,包括:
当需要修改数据时,若所述当前锁状态为空闲状态,则在所述内存中增加针对所述数据的写锁;
若所述当前锁状态为读锁状态,则等待所有读锁释放之后,在所述内存中增加针对所述数据的写锁;
若所述当前锁状态为意向锁状态,则等待所述意向锁释放之后,在所述内存中增加针对所述数据的写锁;
若所述当前锁状态为写锁状态,则等待所述写锁释放之后,重新在所述内存中增加针对所述数据的写锁。
7.根据权利要求3所述的方法,其特征在于,根据所述当前锁状态,在所述内存中增加针对所述数据的锁信息,包括:
当需要锁定数据时,若所述当前锁状态为空闲状态,则在所述内存中增加针对所述数据的意向锁;
若所述当前锁状态为读锁状态,则在等待所述读锁释放之后,在所述内存中增加针对所述数据的意向锁;
若所述当前锁状态为写锁状态,则等待所述写锁释放之后,在所述内存中增加针对所述数据的意向锁;
若所述当前锁状态为意向锁状态,则等待所述意向锁释放之后,重新在所述内存中增加针对所述数据的意向锁。
8.根据权利要求1-7中任一项所述的方法,其特征在于,根据所述锁信息,执行相应的操作,包括:
若所述锁信息为读锁,则读取所述数据;
若所述锁信息为写锁,则修改所述数据;
若所述锁信息为意向锁,则锁定所述数据。
9.根据权利要求2所述的方法,其特征在于,还包括:
实时扫描所述锁目录,或者在增加锁信息时查询所述数据的历史锁信息;
若锁目录或者历史锁信息中包含写锁,则判断写锁的加锁时间是否超出预设阈值;
若写锁的加锁时间超出预设阈值,则强制释放所述写锁。
10.根据权利要求2所述的方法,其特征在于,还包括:
实时扫描所述锁目录,或者在增加锁信息时查询所述数据的历史锁信息;
若锁目录或者历史锁信息中包含意向锁,则判断意向锁的加锁时间是否超出预设阈值;
若意向锁的加锁时间超出预设阈值,则强制释放所述意向锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910710724.8/1.html,转载请声明来源钻瓜专利网。