[发明专利]数据操作方法、装置、存储介质以及处理器有效
申请号: | 201810752077.2 | 申请日: | 2018-07-10 |
公开(公告)号: | CN110704198B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 廖武钧 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 褚敏;宋子良 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 操作方法 装置 存储 介质 以及 处理器 | ||
本申请公开了一种数据操作方法、装置、存储介质以及处理器。其中,该方法包括:判断是否采用加锁路径执行第一类型数据操作,其中,加锁路径为采用互斥锁的路径,互斥锁用于实现第一类型数据操作与第二类型数据操作的互斥;在判断结果为否的情况下,采用非加锁路径执行第一类型数据操作,其中,非加锁路径为不采用互斥锁直接执行第一类型数据操作的路径。本申请解决了现有的采用互斥锁读写数据的方式导致数据读写操作的耗时长的技术问题。
技术领域
本申请涉及信息处理领域,具体而言,涉及一种数据操作方法、装置、存储介质以及处理器。
背景技术
目前,在块存储系统的实现中,需要若干层级的IO(Input Output,读写)转发系统将云磁盘的IO请求递交到物理硬盘中,其中,每一级的IO转发系统都会维护当前的统计数据,例如,已处理的IO请求的数量、当前正在处理的IO请求的信息等。上述统计数据通常由IO转发系统中负责处理IO请求的读写线程来进行更新操作。例如,负责处理IO请求的线程正在处理IO请求A,此时,负责处理IO请求的线程根据IO请求A更新当前的统计数据。在完成对IO请求A的处理之后,负责处理IO请求的线程已经处理的IO请求数量有所增加,并将IO请求A的详细信息加入到负责处理IO请求的线程所负责的IO信息列表中。
需要说明的是,上述统计数据通常是通过运维命令来进行读取或展示,例如,运维人员每周查看云服务器所处理的IO请求数量,或者在业务高峰期查看IO转发系统正在处理的IO请求的数量等。在实际应用中,由于处理IO请求的线程的重要等级要高于通过运维命令来读取或展示数据的等级,因此,为避免运维展示占用处理IO请求的处理时间,造成不必要的延迟,通常将运维展示与IO请求的处理放置在不同的线程中。另外,为保证数据的正确性,在对IO请求进行更新(即进行写操作)和展示(即进行读操作)的过程中,需要实现两者的互斥。
在现有技术中,可通过在统计数据的内存区域设置互斥锁来使多个线程间互斥。如图1和图2所示,其中,图1示出了数据写操作的方法流程,图2示出了数据读操作的方法流程。当需要读取或者修改统计数据时,首先获取互斥锁的使用权,即请求获取互斥锁。在获取互斥锁成功之后,完成对应的写操作或读操作,并在完成写操作或读操作之后,解除互斥锁的占用。然而,上述方案对线程进行加锁耗时较大,当IO转发系统对操作耗时很敏感时,加锁操作可能会给服务器带来较为明显的性能损失。另外,对于轻量级的锁实现(例如,CAS操作、Peterson锁等),其依赖于硬件上的原子操作命令,或者需要多次操作内存变量,其对计算机性能也会产生较大的影响。
针对上述现有的采用互斥锁读写数据的方式导致数据读写操作的耗时长的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据操作方法、装置、存储介质以及处理器,以至少解决现有的采用互斥锁读写数据的方式导致数据读写操作的耗时长的技术问题。
根据本发明实施例的一个方面,提供了一种数据操作方法,包括:判断是否采用加锁路径执行第一类型数据操作,其中,加锁路径为采用互斥锁的路径,互斥锁用于实现第一类型数据操作与第二类型数据操作的互斥;在判断结果为否的情况下,采用非加锁路径执行第一类型数据操作,其中,非加锁路径为不采用互斥锁直接执行第一类型数据操作的路径。
根据本发明实施例的另一方面,还提供了一种数据操作方法,包括:读取第一变量的值,其中,第一变量用于标识第二类型数据操作是否请求加锁访问;在读取的第一变量的值为第二类型数据操作不请求加锁访问的情况下,采用非加锁路径执行第一类型数据操作,其中,非加锁路径为不采用互斥锁直接执行第一类型数据操作的路径,互斥锁用于实现第二类型数据操作与第一类型数据操作的互斥。
根据本发明实施例的另一方面,还提供了一种数据操作方法,包括:设置第一变量的值,其中,第一变量用于标识第二类型数据操作是否请求加锁访问;在确定第一类型数据操作知晓第二类型数据操作请求加锁访问的情况下,采用加锁路径执行第二类型数据操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810752077.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置