CN109976672A - 一种读写冲突优化方法、装置、电子设备及可读存储介质 - Google Patents
一种读写冲突优化方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN109976672A CN109976672A CN201910223131.9A CN201910223131A CN109976672A CN 109976672 A CN109976672 A CN 109976672A CN 201910223131 A CN201910223131 A CN 201910223131A CN 109976672 A CN109976672 A CN 109976672A
- Authority
- CN
- China
- Prior art keywords
- data
- lock
- read
- task
- exclusive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种读写冲突优化方法,为解决现有技术针对最小存储单元施加和解除的独占锁带来的较大锁开销,本申请对由目标业务进程涉及的所有存储单元构成的存储空间施加独占可破坏锁,该锁会在施加期间出现的读写冲突任务进程而被破坏,并重新回落到现有以最小存储单元为单位依次施加的独占锁机制上。由于实际情况下数据搬迁、数据重建等数据操作因触发机制较为固定使得执行频率较低,使得本申请提出的独占可破坏锁在大多数情况下并不会被破坏,即只需一次锁的施加和解除就可以避免该目标业务进程出现读写冲突,使得综合锁开销得以显著降低。本申请还同时公开了一种读写冲突优化装置、电子设备及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及分布式存储系统业务执行技术领域,特别涉及一种读写冲突优化方法、装置、电子设备及计算机可读存储介质。
背景技术
随着数据量的增加,如何更科学的存储和管理存储的数据显得日益重要。
在分布式存储系统的日常使用中,由于不同主机负责的业务不同、热度不同,往往会出现不同存储主机存储的数量相差较大的情况,使得某些存储数据量较少的存储主机的存储资源被白白浪费。数据平衡技术就是为充分利用可用存储资源、尽可能的实现数据存储平衡被提出的,其中一种将存储资源不足的存储主机上的部分数据迁移到存储资源充足的主机上的常见方式被称为数据搬迁。
相比于数据搬迁,维持分布式存储系统所承载的业务是最重要的,因此当对较大数量级的数据以顺序I/O(读写)的方式进行的数据搬迁和对数据进行随机I/O的业务在同一时刻发生时,为防止读写冲突,会以最小存储单元为单位对业务涉及的存储单元施加独占锁,以保证该存储单元在被业务使用时不会因进行数据搬迁等相似类型(指诸如数据重建、数据备份等也会与业务执行造成读写冲突的任务类型)的任务造成读写冲突。
由于业务的不确定性,往往会根据实际情况使用到多个存储单元,在使用某个存储单元时就对其施加独占锁,需要切换到另一个存储空间时,会首先解除先前一个存储单元的独占锁,再对将要使用的存储空间再次施加独占锁。可以看出,现有技术中为保证业务在执行过程中不出现读写冲突,会因在不同存储单元间的切换造成大量的独占锁开销,因为每次独占锁的施加和解除都会占用部分运算资源并造成延迟。
因此,如何在保证业务在执行过程中不出现读写冲突的基础上,尽可能的减少由频繁施加和解除与每个不同存储单元对应的独占锁带来的锁开销,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种读写冲突优化方法、装置、电子设备及计算机可读存储介质,旨在保证业务执行过程中不出现读写冲突的基础上,尽可能的减少由频繁施加和解除与每个不同存储单元对应的独占锁带来的锁开销。
为实现上述目的,本申请提供一种读写冲突优化方法,该方法包括:
确定目标业务进程涉及的每个数据存储单元;
对由各所述数据存储单元组成的数据存储空间施加独占可破坏锁;
判断在所述独占可破坏锁施加期间是否出现需要对所述数据存储空间进行读写的冲突任务进程;
若未检测到所述冲突任务进程的出现,则保持所述独占可破坏锁的施加直至所述目标业务进程的任务完成;
若检测到所述冲突任务进程的出现,则解除所述独占可破坏锁,并对所述目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
可选的,该读写冲突优化方法还包括:
当所述冲突任务进程先于所述目标业务进程结束时,重新对所述数据存储空间施加所述独占可破坏锁。
可选的,当所述冲突任务进程具体为数据搬迁任务时,该读写冲突优化方法还包括:
预先对与所述数据搬迁任务对应的数据附加标记;
将附加有所述标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
可选的,当所述冲突任务进程具体为数据搬迁任务时,该读写冲突优化方法还包括:
将与所述数据搬迁任务对应的数据拆分为多份;
利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
仅当拆分出的每份数据均完成搬迁后判定所述数据搬迁任务完成。
为实现上述目的,本申请还提供了一种读写冲突优化装置,该装置包括:
信息获取模块,用于确定目标业务进程涉及的每个数据存储单元;
独占可破坏锁施加模块,用于对由各所述数据存储单元组成的数据存储空间施加独占可破坏锁;
冲突任务进程监测模块,用于判断在所述独占可破坏锁施加期间是否出现需要对所述数据存储空间进行读写的冲突任务进程;
独占可破坏锁保持模块,用于当未检测到所述冲突任务进程的出现时,保持所述独占可破坏锁的施加直至所述目标业务进程的任务完成;
常规独占锁施加模块,用于当检测到所述冲突任务进程的出现时,解除所述独占可破坏锁,并对所述目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
可选的,该读写冲突优化装置还包括:
独占可破坏锁重新施加模块,用于当所述冲突任务进程先于所述目标业务进程结束时,重新对所述数据存储空间施加所述独占可破坏锁。
可选的,该读写冲突优化装置还包括:
待搬迁数据标记附加模块,用于当所述冲突任务进程具体为数据搬迁任务时,预先对与所述数据搬迁任务对应的数据附加标记;
待搬迁数据识别及直接传输模块,用于将附加有所述标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
可选的,该读写冲突优化装置还包括:
数据拆分模块,用于当所述冲突任务进程具体为数据搬迁任务时,将与所述数据搬迁任务对应的数据拆分为多份;
多任务并发执行模块,用于利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
搬迁任务完成判定模块,用于仅当拆分出的每份数据均完成搬迁后判定所述数据搬迁任务完成。
为实现上述目的,本申请还提供了一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的读写冲突优化方法。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的读写冲突优化方法。
为尽可能的减少现有技术中以最小存储单元为独占锁施加单位所带来的较大锁开销,本申请提出了独占可破坏锁的概念,相比于现有技术中针对最小存储单元施加和解除的独占锁,独占可破坏锁的施加对象是目标业务进程涉及的所有存储单元构成的存储空间,可破坏是指该锁会因施加期间出现的需要对该存储空间进行读写的冲突任务进程而被破坏,并重新回落到现有以最小存储单元为单位依次施加的独占锁机制上。由于诸如数据搬迁、数据重建等数据操作往往会因固定的触发机制导致其以较低频率、较长时间间隔被执行,不属于经常执行的操作,因此应用本申请所提供的技术方案,可以在大多数情况下只需要进行一次锁的施加和解除即可保证该目标业务进程在结束前不与其它数据操作出现读写冲突,使得综合锁开销显著降低。
本申请同时还提供了一种读写冲突优化装置、电子设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种读写冲突优化方法的流程图;
图2为本申请实施例提供的一种根据识别出的数据搬迁流量进行针对性优化提升数据搬迁效率的方法的流程图;
图3为与图2所示的技术方案提供的一种方案应用前后待搬迁数据和业务数据处理流程对比示意图;
图4为本申请实施例提供的一种利用多任务并发执行数据搬迁任务提升数据搬迁效率的方法的流程图;
图5为本申请提供的一种读写冲突优化装置的结构框图。
具体实施方式
本申请的目的是提供一种读写冲突优化方法、装置、电子设备及计算机可读存储介质,旨在保证业务执行过程中不出现读写冲突的基础上,尽可能的减少由频繁施加和解除与每个不同存储单元对应的独占锁带来的锁开销。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参见图1,图1为本申请实施例提供的一种读写冲突优化方法的流程图,包括以下步骤:
S101:确定目标业务进程涉及的每个数据存储单元;
本步骤旨在根据目标业务进程的关联信息确定该目标业务进程执行时所有可能涉及的每个数据存储单元。由于每个业务进程负责执行的数据操作都已被预先设定好,其可以对哪些存储单元上存储的数据进行相应的操作也已被预先设定好(即预先为每个业务进程分配的存储单元访问权限),有时一个目标业务进程下还会根据实际情况再次被细分子进程或子协程,这些再次被细分的子进程或子协程也会有被预先分配相应存储单元的访问权限,以使得这些子进程或子协程按照预设的要求在相应的存储单元中实现对数据的读写。有些情况下,根据上层命令执行的目标业务进程,还可以根据附在上层命令中的信息确定本次业务涉及的存储单元,以增加针对性。
S102:对由各数据存储单元组成的数据存储空间施加独占可破坏锁;
在S101的基础上,本步骤旨在对由各数据存储单元组成的数据存储空间施加独占可破坏锁。为方便理解,举例说明:假设根据上层命令执行的目标业务进程会涉及编号为01、04、06、08、10这5个存储单元进行数据的读写,本步骤会首先将编号为01、04、06、08、10的5个存储单元组合为一个单独的数据存储空间,使对象数从5个缩小为1个,然后再对该数据存储空间施加一个独占可破坏锁,相比于现有技术中仅对目标业务进程当前使用的A存储单元施加独占锁,并在切换使用B存储单元时还需要先解除为A存储单元施加的独占锁后才能为B存储单元施加独占锁的技术方案,本申请一次性的、成范围的对由所有可能涉及到的存储单元施加了该独占可破坏锁,在该独占可破坏锁被破坏前不再需要因为所使用存储单元的切换而频繁的解除和再次施加独占锁,能够有效降低锁开销。
S103:判断在独占可破坏锁施加期间是否出现需要对数据存储空间进行读写的冲突任务进程;
在S102的基础上,本步骤旨在该独占可破坏锁施加期间判断是否出现需要对数据存储空间进行读写的冲突任务进程,即检测是否出现了需要对组成该数据存储空间的任意存储单元进行读写操作,冲突任务进程即将与目标业务进程出现读写冲突的数据操作进程,具体可以为数据搬迁任务、数据重建任务等相同或相似性质的任务,此处不做具体限定。
本步骤之所以检测是否出现了需要对数据存储空间进行读写的冲突任务进程,是用于判断对数据存储空间施加的独占可破坏锁是否可继续维持下去,因为当冲突任务进程出现时,若仍保持该独占可破坏锁的施加,将使得当前即使未被目标业务进程使用的存储单元也会因为该独占可破坏锁的施加而无法响应冲突任务进程对数据的读写,使得在目标业务进程执行完毕前冲突任务进程完全处于停止状态,相比于锁开销的减少,此种方式将带来更严重的后果,因此当在独占可破坏锁的施加期间一旦检测到了冲突任务进程,对数据存储空间施加的独占可破坏锁将被破坏,并回落到现有技术依次对当前使用的每个存储单元施加的独占锁的方案上,以使未施加独占锁的存储单元仍能正常响应冲突任务进程对其中数据的读写。
S104:保持独占可破坏锁的施加直至目标业务进程的任务完成;
本步骤建立在S103的判断结果为在独占可破坏锁施加期间未出现需要对数据存储空间进行数据读写的冲突任务进程的基础上,也就是说在该目标业务进程执行的全过程中,均未出现需要对该数据存储空间进行数据读写的冲突任务进程,因此该独占可破坏锁将一直得以保持,直至该目标业务进程执行完毕后才被解除。因此在本步骤对应的场景下,只需要付出一次独占可破坏锁的施加和解除开销即可完成全过程,所支出开销等同于一次普通独占锁的施加和解除开销。
S105:解除独占可破坏锁,并对目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
本步骤建立在S103的判断结果为在独占可破坏锁施加期间出现了需要对数据存储空间进行数据读写的冲突任务进程的基础上,根据S103中对本申请方案的描述,为了尽可能的避免冲突任务进程完成停滞带来的延迟,使得未被目标业务进程使用的存储单元也能够响应冲突任务进程对数据的读写,进而使得业务进程和冲突任务进程互不干扰的执行,提升执行效率。因此就需要解除独占可破坏锁,并依次对目标业务进程当前使用的数据存储单元进行独占锁的施加和解除,也就是在本步骤对应的场景下,重新回到现有技术依次对每个使用的存储单元施加独占锁的方案。
需要说明的是,本申请提出的独占可破坏锁概念的有益效果需要结合S104和S105两种场景综合来看,S104和S105覆盖了所有可能的场景,S105场景下的锁开销等同或略微高于现有技术下的锁开销,S104场景下的锁开销则明显少于现有技术下的锁开销。又由于诸如数据搬迁、数据重建等数据操作往往会因固定的触发机制导致其以较低频率、较长时间间隔被执行,相比于常态化执行的业务进程,将导致与业务进程产生读写冲突的上述数据操作不属于经常执行的操作,换句话说,在实际应用场景中,S104场景的出现概率会明显大于S105场景的出现概率,因此综合上述情况,应用本申请提供的独占可破坏锁的技术方案,将能够使得综合锁开销得到明显的降低。
进一步的,即使在S105场景下,还可以将冲突任务进程的执行情况再细分为以下两种,即该冲突任务进程先于目标业务进程执行完和后于目标业务进程执行完,在冲突任务进程落后于目标业务进程执行完的场景中,为保证业务进程以不发生读写冲突的状态执行完,所付出的锁开销与现有技术完全一致;而在冲突任务进程先于目标业务进程执行完的场景中,由于冲突任务进程先执行完,在没有新的冲突任务进程出现前,独占可破坏锁又再次满足的施加条件,因此可以重新对数据存储空间施加独占可破坏锁,直至出现新的冲突任务进程,以通过此种方式尽可能的减少锁开销。
更进一步的,若经S101确定出的目标业务进程涉及的存储单元数较少时,还可以不触发独占可破坏锁的施加机制,以防止因为频繁解除、施加独占可破坏锁带来的锁开销增加(即不减反增),具体的,可以结合实际情况灵活制定施加独占可破坏锁时对应的最低存储单元数限制,此处并不做具体限定。
为解决现有技术针对最小存储单元施加和解除独占锁带来的较大锁开销,本实施例提供一种对由目标业务进程涉及的所有存储单元构成的存储空间施加独占可破坏锁的方案,该锁会在施加期间出现的读写冲突任务进程而被破坏,并重新回落到现有以最小存储单元为单位依次施加的独占锁机制上。由于实际情况下数据搬迁、数据重建等数据操作因触发机制较为固定使得执行频率较低,使得本申请提出的独占可破坏锁在大多数情况下并不会被破坏,即只需一次锁的施加和解除就可以避免该目标业务进程出现读写冲突,使得综合锁开销得以显著降低。
实施例二
请参见图2,图2为本申请实施例提供的一种根据识别出的数据搬迁流量进行针对性优化提升数据搬迁效率的方法的流程图,本实施例针对冲突任务进程中的数据搬迁任务,给出一种在数据搬迁任务执行时能够起到优化的方式,包括以下步骤:
S201:预先对与数据搬迁任务对应的数据附加标记;
其中,为与数据搬迁任务对应的数据(后统一称为待搬迁数据)附加的标记可以表现为多种形式,例如利用染色法附加的标记、表现为额外标志位的标记、表现为特殊头信息的标记、表现为额外特殊文件的标记等等,目的在于让系统能够识别出这些数据是要从A数据盘搬迁至B数据盘存储的数据,以便与业务数据在数据读写过程中分离开。
S202:将附加有标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
在S201的基础上,本步骤旨在将附加有标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。也就是说,现有待搬迁数据的搬迁以及其它任何数据都需要首先经过缓存盘的缓冲,再由缓存盘按照预设机制下刷至持久化存储的数据盘中,之所以有缓存盘的存在,是因为有些时候想要写入数据盘的数据量太少,若不论数据量的大小都进行一次写操作,会使得数据盘的使用寿命快速降低,因为首先将数据经过内置有缓存算法的缓存盘进行缓冲,待需要下刷的数据量累计到一定数量级时再执行下刷操作,能够尽可能的提升数据盘的使用寿命。当然,缓存盘还拥有其它诸如提升再次访问速度、减轻数据盘压力等其它功能,在此不再一一详细说明。
需要说明的是,由于缓存盘的缓存算法往往会在存满的情况下,将后来到缓存盘中的数据当作最新数据来替换最先存入的数据,使得有时会导致先存入缓存盘中的数据被后存入的待搬迁数据挤掉,使得重要的业务数据丢失,同时,也会因为业务数据对目标数据盘进行的随机I/O导致无法发挥待搬迁数据至目标数据盘时顺序I/O的全部性能。针对这一问题,本申请将识别到的待搬迁数据以不经过缓存盘缓存的方式直接传输至目标数据盘,这是由于待搬迁数据往往都是顺序存储的大块数据,不经过缓存盘将使得待搬迁数据可以完整的以顺序I/O的方式完成数据的搬迁,发挥顺序I/O的全部特性,也能够在一定程度上防止上述因缓存算法导致业务数据丢失问题的出现。
本实施例所提供技术方案在应用前后的流程示意图可参见图3。
实施例三
请参见图4,图4为本申请实施例提供的一种利用多任务并发执行数据搬迁任务提升数据搬迁效率的方法的流程图,包括如下步骤:
S301:将与数据搬迁任务对应的数据拆分为多份;
S302:利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
具体的,可以通过创建多个进程或多个协程的方式来实现,可根据实际情况下所有可能存在的特殊要求选择最合适的方式来实现,此处并不做具体限定。
S303:仅当拆分出的每份数据均完成搬迁后判定数据搬迁任务完成。
在上述任意实施例的基础上,本实施例旨在提供一种利用多任务并发技术来提升数据搬迁效率的方法,通过应用本实施例提供的方案,得以使传统单任务顺序执行完全部待搬迁数据的搬迁变更为多任务同时并发执行待搬迁数据的搬迁,使得搬迁效率得以显著提高。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图5,图5为本申请提供的一种读写冲突优化装置的结构框图,该装置可以包括:
信息获取模块100,用于确定目标业务进程涉及的每个数据存储单元;
独占可破坏锁施加模块200,用于对由各数据存储单元组成的数据存储空间施加独占可破坏锁;
冲突任务进程监测模块300,用于判断在独占可破坏锁施加期间是否出现需要对数据存储空间进行读写的冲突任务进程;
独占可破坏锁保持模块400,用于当未检测到冲突任务进程的出现时,保持独占可破坏锁的施加直至目标业务进程的任务完成;
常规独占锁施加模块500,用于当检测到冲突任务进程的出现时,解除独占可破坏锁,并对目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
进一步的,该读写冲突优化装置还可以包括:
独占可破坏锁重新施加模块,用于当冲突任务进程先于目标业务进程结束时,重新对数据存储空间施加独占可破坏锁。
更进一步的,该读写冲突优化装置还可以包括:
待搬迁数据标记附加模块,用于当冲突任务进程具体为数据搬迁任务时,预先对与数据搬迁任务对应的数据附加标记;
待搬迁数据识别及直接传输模块,用于将附加有标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
更进一步的,该读写冲突优化装置还可以包括:
数据拆分模块,用于当冲突任务进程具体为数据搬迁任务时,将与数据搬迁任务对应的数据拆分为多份;
多任务并发执行模块,用于利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
搬迁任务完成判定模块,用于仅当拆分出的每份数据均完成搬迁后判定数据搬迁任务完成。
本实施例作为与上述任一方法实施例对应的装置实施例存在,出现在实施例中的各功能单元的执行原理和说明已在上述方法实施例中进行了说明了,详细说明可参见上述方法实施例的相应部分,因此本实施例拥有方法实施例的全部有益效果,在此不再一一赘述。
基于上述实施例,本申请还提供了一种电子设备,该电子设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述任意实施例所提供的读写冲突优化方法中的全部或部分步骤。当然,该电子设备还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种读写冲突优化方法,其特征在于,包括:
确定目标业务进程涉及的每个数据存储单元;
对由各所述数据存储单元组成的数据存储空间施加独占可破坏锁;
判断在所述独占可破坏锁施加期间是否出现需要对所述数据存储空间进行读写的冲突任务进程;
若未检测到所述冲突任务进程的出现,则保持所述独占可破坏锁的施加直至所述目标业务进程的任务完成;
若检测到所述冲突任务进程的出现,则解除所述独占可破坏锁,并对所述目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
2.根据权利要求1所述的读写冲突优化方法,其特征在于,还包括:
当所述冲突任务进程先于所述目标业务进程结束时,重新对所述数据存储空间施加所述独占可破坏锁。
3.根据权利要求1所述的读写冲突优化方法,其特征在于,当所述冲突任务进程具体为数据搬迁任务时,还包括:
预先对与所述数据搬迁任务对应的数据附加标记;
将附加有所述标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
4.根据权利要求1至3任一项所述的读写冲突优化方法,其特征在于,当所述冲突任务进程具体为数据搬迁任务时,还包括:
将与所述数据搬迁任务对应的数据拆分为多份;
利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
仅当拆分出的每份数据均完成搬迁后判定所述数据搬迁任务完成。
5.一种读写冲突优化装置,其特征在于,包括:
信息获取模块,用于确定目标业务进程涉及的每个数据存储单元;
独占可破坏锁施加模块,用于对由各所述数据存储单元组成的数据存储空间施加独占可破坏锁;
冲突任务进程监测模块,用于判断在所述独占可破坏锁施加期间是否出现需要对所述数据存储空间进行读写的冲突任务进程;
独占可破坏锁保持模块,用于当未检测到所述冲突任务进程的出现时,保持所述独占可破坏锁的施加直至所述目标业务进程的任务完成;
常规独占锁施加模块,用于当检测到所述冲突任务进程的出现时,解除所述独占可破坏锁,并对所述目标业务进程使用的每个数据存储单元依次进行独占锁的施加和解除。
6.根据权利要求5所述的读写冲突优化装置,其特征在于,还包括:
独占可破坏锁重新施加模块,用于当所述冲突任务进程先于所述目标业务进程结束时,重新对所述数据存储空间施加所述独占可破坏锁。
7.根据权利要求5所述的读写冲突优化装置,其特征在于,还包括:
待搬迁数据标记附加模块,用于当所述冲突任务进程具体为数据搬迁任务时,预先对与所述数据搬迁任务对应的数据附加标记;
待搬迁数据识别及直接传输模块,用于将附加有所述标记的数据以不经过缓存盘缓存的方式直接传输至目标数据盘。
8.根据权利要求5至7任一项所述的读写冲突优化装置,其特征在于,还包括:
数据拆分模块,用于当所述冲突任务进程具体为数据搬迁任务时,将与所述数据搬迁任务对应的数据拆分为多份;
多任务并发执行模块,用于利用多任务并发技术同时执行拆分出的每份数据的数据搬迁任务;
搬迁任务完成判定模块,用于仅当拆分出的每份数据均完成搬迁后判定所述数据搬迁任务完成。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的读写冲突优化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的读写冲突优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223131.9A CN109976672B (zh) | 2019-03-22 | 2019-03-22 | 一种读写冲突优化方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910223131.9A CN109976672B (zh) | 2019-03-22 | 2019-03-22 | 一种读写冲突优化方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976672A true CN109976672A (zh) | 2019-07-05 |
CN109976672B CN109976672B (zh) | 2022-02-22 |
Family
ID=67080135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910223131.9A Active CN109976672B (zh) | 2019-03-22 | 2019-03-22 | 一种读写冲突优化方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976672B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442558A (zh) * | 2019-07-30 | 2019-11-12 | 深信服科技股份有限公司 | 数据处理方法、分片服务器、存储介质及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797352A (zh) * | 2004-12-21 | 2006-07-05 | 鸿富锦精密工业(深圳)有限公司 | 解决资源重复锁定冲突系统及方法 |
CN102693159A (zh) * | 2012-05-09 | 2012-09-26 | 上海晨思电子科技有限公司 | 基于用户模式多任务下控制硬件设备的方法及其装置 |
CN102957597A (zh) * | 2011-08-26 | 2013-03-06 | 富士通株式会社 | 网关装置及其控制方法 |
US20160092488A1 (en) * | 2014-09-26 | 2016-03-31 | Futurewei Technologies, Inc. | Concurrency control in a shared storage architecture supporting on-page implicit locks |
CN105554537A (zh) * | 2015-12-08 | 2016-05-04 | 青岛海信电器股份有限公司 | 一种控制方法及装置 |
CN106843749A (zh) * | 2016-12-14 | 2017-06-13 | 华为技术有限公司 | 写入请求处理方法、装置及设备 |
CN107368367A (zh) * | 2017-05-23 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 资源分配的处理方法、装置及电子设备 |
CN108363806A (zh) * | 2018-03-01 | 2018-08-03 | 上海达梦数据库有限公司 | 数据库的多版本并发控制方法、装置、服务器及存储介质 |
CN108846041A (zh) * | 2018-05-29 | 2018-11-20 | 东软集团股份有限公司 | 流程中操作冲突的处理方法、装置和存储介质及电子设备 |
-
2019
- 2019-03-22 CN CN201910223131.9A patent/CN109976672B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797352A (zh) * | 2004-12-21 | 2006-07-05 | 鸿富锦精密工业(深圳)有限公司 | 解决资源重复锁定冲突系统及方法 |
CN102957597A (zh) * | 2011-08-26 | 2013-03-06 | 富士通株式会社 | 网关装置及其控制方法 |
CN102693159A (zh) * | 2012-05-09 | 2012-09-26 | 上海晨思电子科技有限公司 | 基于用户模式多任务下控制硬件设备的方法及其装置 |
US20160092488A1 (en) * | 2014-09-26 | 2016-03-31 | Futurewei Technologies, Inc. | Concurrency control in a shared storage architecture supporting on-page implicit locks |
CN105554537A (zh) * | 2015-12-08 | 2016-05-04 | 青岛海信电器股份有限公司 | 一种控制方法及装置 |
CN106843749A (zh) * | 2016-12-14 | 2017-06-13 | 华为技术有限公司 | 写入请求处理方法、装置及设备 |
CN107368367A (zh) * | 2017-05-23 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 资源分配的处理方法、装置及电子设备 |
CN108363806A (zh) * | 2018-03-01 | 2018-08-03 | 上海达梦数据库有限公司 | 数据库的多版本并发控制方法、装置、服务器及存储介质 |
CN108846041A (zh) * | 2018-05-29 | 2018-11-20 | 东软集团股份有限公司 | 流程中操作冲突的处理方法、装置和存储介质及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442558A (zh) * | 2019-07-30 | 2019-11-12 | 深信服科技股份有限公司 | 数据处理方法、分片服务器、存储介质及装置 |
CN110442558B (zh) * | 2019-07-30 | 2023-12-29 | 深信服科技股份有限公司 | 数据处理方法、分片服务器、存储介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109976672B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915151B (zh) | 多虚拟机系统中一种主动共享的内存超量分配方法 | |
CN107943867B (zh) | 支持异构存储的高性能层次化存储系统 | |
EP2791806B1 (en) | Working set swapping using a sequentially ordered swap file | |
JP5516744B2 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
CN110058786A (zh) | 用于控制存储系统中的写请求的方法、装置和计算机程序产品 | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
US20090222621A1 (en) | Managing the allocation of task control blocks | |
CN103514249B (zh) | 一种数据自精简方法和系统及存储装置 | |
US9015111B2 (en) | Storage system and storage system control method | |
CN104317742A (zh) | 一种优化空间管理的自动精简配置方法 | |
CN103095805A (zh) | 一种对数据进行智能分层管理的云存储系统 | |
CN107256196A (zh) | 基于闪存阵列的支持零拷贝的缓存系统及方法 | |
CN103985393B (zh) | 一种多光盘数据并行管理方法及装置 | |
CN101122843A (zh) | 写入和读取应用数据的方法和系统 | |
CN102687112A (zh) | 在分布式存储系统中管理文件的装置及方法 | |
CN106445405A (zh) | 一种面向闪存存储的数据访问方法及其装置 | |
CN106569960A (zh) | 一种混合主存的末级缓存管理方法 | |
CN111737168A (zh) | 一种缓存系统、缓存处理方法、装置、设备及介质 | |
CN106469123A (zh) | 一种基于nvdimm的写缓存分配、释放方法及其装置 | |
CN109976672A (zh) | 一种读写冲突优化方法、装置、电子设备及可读存储介质 | |
CN101957729B (zh) | 逻辑块变换方法及基于该方法兼容用户读写的方法和装置 | |
CN106469119A (zh) | 一种基于nvdimm的数据写缓存方法及其装置 | |
CN102024051A (zh) | 分布式内存数据库数据更新方法 | |
CN109324761A (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN106250188B (zh) | 一种系统固件映像文件的生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |