[发明专利]一种数据操作方法及设备有效
| 申请号: | 201710813987.2 | 申请日: | 2017-09-11 |
| 公开(公告)号: | CN110069504B | 公开(公告)日: | 2023-07-11 |
| 发明(设计)人: | 周正中 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23 |
| 代理公司: | 广州铸智知识产权代理有限公司 44886 | 代理人: | 孙丹丹 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据 操作方法 设备 | ||
本申请的目的是提供一种数据操作方法及设备,本申请通过获取数据更新请求,并根据该数据更新请求发起对应的会话;为该会话确定待扫描数据中对应的数据扫描起点位置,其中,不同的会话对应所述待扫描数据中不同的数据扫描起点位置,使得不同的会话从待扫描数据中的不同的数据扫描起点位置开始扫描,并在待扫描数据中扫描出满足数据更新请求的数据,避免了不同的会话从同一扫描起点位置开始扫描造成的锁冲突,进而还减少了对待扫描数据中的数据的冗余扫描;对满足数据更新请求的数据进行更新,达到了会话对满足数据更新请求的数据进行更新的目的。
技术领域
本申请涉及计算机领域,尤其涉及一种数据操作方法及设备。
背景技术
在实际应用场景中,如图1所示,图1中从左到右排列的竖着长框用于指示数据库中的数据块1、数据块2及、……、数据块N,其中每个数据块中的按需排列的灰色的横着的条目用于指示数据块中对应保存的数据记录1、数据记录2、……、数据记录N;当多个SQL(Structured Query Language,结构化查询语言)请求并发地对数据库中的满足该SQL请求的少量数据记录进行数据更新操作,在该数据库中需要扫描满足该SQL请求的少量数据记录,并选取出该SQL请求中的会话对应的数据记录,并对该数据记录加锁并进行数据更新操作。如图1中所示,为了从该数据库中的数据块1至数据块N中扫描出满足各个SQL请求的少量数据记录,具体的扫描方法如下步骤所述:
每一个SQL请求的扫描会话按照数据库中的数据块1、数据块2、……、数据块N的顺序进行扫描,其中,数据块内按照数据记录1、数据记录2、……、数据记录N的顺序进行扫描,且每个SQL请求对应的扫描会话均是从同一个方向开始去查找符合该SQL请求的数据块中的数据记录,例如,对于SQL请求1而言的扫描会话1,会从数据块1中的数据记录1开始进行扫描,直至扫描到满足该SQL请求对应的数据记录;对于SQL请求2而言的扫描会话,也是从数据块1中的数据记录1开始进行扫描,直至扫描到满足该SQL请求对应的数据记录,……,对于SQL请求N而言的扫描会话N,会从数据块1中的数据记录1开始进行扫描,直至扫描到满足该SQL请求对应的数据记录;可见,每个SQL请求对应的扫描会话均是从同一起始点开始扫描,直至扫描到最后满足该SQL请求的数据记录(或者扫描到数据数中的最后终点:数据块N中的数据记录N),若对于SQL请求1而言,满足其SQL请求对应的数据记录为数据块2中的数据记录4,则需要从数据块1中的数据1开始按序扫描至数据块2中的数据块3,则没有找到对应的数据记录之前的所有扫描都是冗余扫描过程,导致冗余扫描浪费资源的输入输出IO以及CPU资源等。
现有技术中,每个SQL请求对应的会话通过静态或固定的扫描方式(例如,按照数据记录排列的一个方向进行扫描),从数据库中的少量数据记录中的同一个起点开始扫描,出现冗余扫描,进而导致IO(Input and Output)冗余和CPU(Central Processing Unit,中央处理器)冗余开销。
针对上述锁冲突的问题,现有技术通过在数据库中使用skip locked(跳过被上锁的数据)的方式,来对数据库中的满足SQL请求的少量数据记录进行扫描,例如,SQL请求1对应的扫描会话1在扫描数据块3中的数据记录4时,会锁定选择的数据块3中的数据记录4,防止别的SQL请求对应的扫描会话来对该数据块3中的数据记录4进行修改(即锁定),若SQL请求1对应的扫描会话1的扫描还没有结束(即锁还没有被释放),随后SQL请求3对应的扫描会话3在扫描数据库中的所有数据块及其数据记录的过程中,也在对数据块3中的数据块4进行扫描并锁定,则SQL请求3对应的扫描会话3可以认为SQL请求1对应的扫描会话1锁定的数据块3中的数据记录4是复合条件(即被锁定还没有释放锁),SQL请求3对应的扫描会话3则可以直接跳过被锁定的数据块3中的数据记录4,继续依序扫描其他的数据块对应的数据记录。但是即使使用了跳过被上锁的数据记录,但依然存在冗余扫描,增加了IO负担。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710813987.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





