数据读写方法、装置、电子设备及可读存储介质与流程

文档序号:16133651发布日期:2018-12-01 00:38阅读:183来源:国知局

本发明实施例涉及计算机技术领域,尤其涉及一种数据读写方法、装置、电子设备及可读存储介质。

背景技术

在计算机的数据存储系统中,可以采用的存储介质包括:磁盘、光盘、磁带等。其中,对于光盘存储,每个机柜配备多个光盘匣和多个刻录头,从而可以通过机械臂将光盘匣装载入刻录头,以通过刻录头进行数据的读取和写入。

现有技术中,通过刻录头进行数据的读取和写入存在三种方案。其中,第一种方案遵循读取优先的规则,刻录头优先进行数据读取操作,即:当存在数据读取任务时,刻录头进行数据读取操作;当不存在数据读取任务时,刻录头才会进行数据写入操作。第二种方案遵循写入优先的规则,刻录头优先进行数据写入操作,即:当存在数据写入任务时,刻录头进行数据写入操作;当不存在数据写入任务时,刻录头才会进行数据读取操作。第三种方案遵循先入先出的规则,刻录头按照先后顺序进行数据读取操作,即:按照读写任务的到达时间顺序进行数据读取。

可以看出,对于上述第一种方案,当数据读取任务的到达速度大于所有刻录头对数据读取任务的处理速度时,数据写入任务一直无法得到执行;当数据读取任务的到达速度小于所有刻录头对数据读取任务的处理速度时,刻录头会频繁的切换读写任务类型,而不同类型的读写任务需要装载不同的光盘匣,导致装载光盘匣的时间较长,读写效率较差。对于上述第二种方案,当数据写入任务的到达速度大于所有刻录头对数据写入任务的处理速度时,数据读取任务一直无法得到执行;当数据写入任务的到达速度小于所有刻录头对数据写入任务的处理速度时,刻录头同样会频繁的切换读写任务类型,需要装载不同的光盘匣,导致读写效率较差;对于上述第三种方案,刻录头会更频繁的装载以在数据写入和读取之间切换,导致数据读写效率较差。



技术实现要素:

本发明提供一种数据读写方法及装置,以解决现有技术排序的上述问题。

根据本发明的第一方面,提供了一种数据读写方法,所述方法包括:

获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;

若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;

若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

根据本发明的第二方面,提供了一种数据读写装置,所述装置包括:

数据请求获取模块,用于获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;

数据写入模块,用于若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;

数据读取模块,用于若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

根据本发明的第三方面,提供了一种电子设备,包括:

处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述数据读写方法。

根据本发明的第四方面,提供了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述数据读写方法。

本发明实施例提供了一种数据读写方法及装置,所述方法包括:获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。解决了现有技术中数据读写效率较差的问题,能够通过预设的第一类刻录头和第二类刻录头,分别优先处理数据写入请求和数据读取请求,减少了频繁加载刻录头,提高了数据读写效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的系统架构下的一种数据读写方法具体步骤流程图;

图2是本发明实施例提供的系统架构下的另一种数据读写方法具体步骤流程图;

图3是本发明实施例提供的一种数据读写装置的结构图;

图4是本发明实施例提供的另一种数据读写装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

参照图1,其示出了一种数据读写方法的步骤流程图,包括:

步骤101,获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中。

其中,请求类型分为数据写入和数据读取两种。

数据写入请求队列按照请求时间存储数据写入请求,时间越早的请求排序在靠前位置,时间越晚的请求排序在靠后位置。

数据读取请求队列按照请求时间存储数据读取请求,时间越早的请求排序在靠前位置,时间越晚的请求排序在靠后位置。

在初始状态下,为数据写入请求队列和数据读取请求队列分配存储位置,并设置最大长度。当数据写入请求队列的实际长度达到最大长度时,新到达的数据写入请求无法被添加至数据写入请求队列中;当数据读取请求队列的实际长度达到最大长度时,新到达的数据读取请求无法被添加至数据读取请求队列中。对于未被添加至数据读取请求队列或数据写入请求队列中的请求,无法对其进行处理;只有当数据读取请求队列或数据写入请求队列的实际长度小于最大长度时,将对应请求添加至数据读取请求队列或数据写入请求队列,从而等待被处理。

在实际应用中,可以根据实际应用场景设定数据写入请求队列和数据读取请求队列的最大长度。例如,对于数据读取请求比较频繁的系统,可以设置较长的数据读取请求队列;对于数据写入请求比较频繁的系统,可以设置较长的数据写入请求队列。

可以理解,在对请求进行处理时,按照从前往后的顺序,从而优先处理时间较早的请求,然后处理时间较晚的请求。

步骤102,若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据。

其中,第一类刻录头优先处理数据写入请求,按照顺序将数据写入请求队列中的待写入数据写入光盘匣中,当无数据写入请求时,处理数据读取请求。

具体地,针对一个数据写入请求,首先,确定可以写入数据的目标光盘匣,即:具有剩余容量的光盘匣;然后,将数据写入请求携带的数据写入该光盘匣;最后,在写入数据完成之后,返回目标光盘匣的标识信息。

在实际应用中,第一刻录头在处理完数据写入请求队列中的所有数据写入请求之后,开始处理数据读取请求队列中的数据读取请求;若数据写入请求队列和数据读取请求队列均为空时,第一刻录头处于空闲状态。

步骤103,若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

其中,第二类刻录头优先处理数据读取请求,根据数据读取请求队列中的各数据读取请求的顺序,从光盘匣中读取数据,当无数据读取请求时,处理数据写入请求。

具体地,针对一个数据读取请求,首先,根据数据读取请求携带的光盘匣标识,确定读取的目标光盘匣;然后,从该目标光盘匣中读取数据,并返回至发起数据读取请求的客体。

在实际应用中,第二刻录头在处理完数据读取请求队列中的所有数据读取请求之后,开始处理数据写入请求队列中的数据写入请求;若数据读取请求队列和数据写入请求队列均为空时,第二刻录头处于空闲状态。

可以理解,第二类刻录头和第一类刻录头为人为划分,也可以随机划分,本质上并不存在区别。第一类刻录头和第二类刻录头的划分可以根据实际应用场景设定,本发明实施例对其不加以限制。此外,第一刻录头和第二刻录头还可以根据实际应用场景实时转换。

在本发明实施例中,为了进一步降低刻录头的装载次数,在第一次将光盘匣装载入刻录头时,确定数据读取请求队列中从该光盘匣上读取数据的所有数据读取请求,并从该光盘匣中一次性将所有数据读取请求对应的数据读取出来。

综上所述,本发明实施例提供了一种数据读写方法,所述方法包括:获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。解决了现有技术中数据读写效率较差的问题,能够通过预设的第一类刻录头和第二类刻录头,分别优先处理数据写入请求和数据读取请求,减少了频繁加载刻录头,提高了数据读写效率。

实施例二

本申请实施例从系统架构的层级对可选地数据读写方法进行了描述。

参照图2,其示出了另一种数据读写方法的具体步骤流程图。

步骤201,获取数据读写请求。

数据读写请求包括数据写入请求和数据读取请求。

在本发明实施例中,当一个获取到一个数据读取请求或数据写入请求时,将该请求添加至数据读取请求队列中或数据写入请求队列中。

步骤202,若所述数据请求类型为写入请求,则获取待写入数据,将所述待写入数据按照预设分片大小进行分片,得到至少一个分片数据。

其中,分片大小可以通过字节表示。例如,对于一个4gb的文件,若分片大小为1gb,则可以将该文件划分为4个1gb的分片文件;对于一个4.5gb的文件,该文件被划分为4个1gb的分片文件和一个0.5gb的分片文件。从而,若分片大小为1gb,则所有文件均可以被划分为至少一个大于0且小于1gb的分片文件,以及,若干大小为1gb的分片文件。需要说明的是,当文件大小小于等于分片大小时,分片文件与原文件相同,且不存在其他的分片文件;当文件大小为分片大小的整数倍时,分片文件为若干大小为1gb的分片文件,且不存在大于0且小于1gb的分片文件。

此外,分片大小可以根据实际应用场景设定,本发明实施例对其不加以限制。

可以理解,在将待写入数据分片之后,每个分片数据对应一个数据写入请求,这些数据写入请求相互独立。

步骤203,根据各分片数据分别生成数据写入请求,并添加至预设数据写入请求队列中。

在实际应用中,每个分片数据均对应一个数据写入请求,可以对各分片数据进行标识,从而可以区分同一个原请求的分片请求。例如,原请求的请求标识加上编号作为分片请求的标识。可以理解,在编号时,可以按照原请求的分片顺序编号,将靠前数据的分片请求先编号,将靠后数据的分片请求后编号。

在将分片请求添加至数据写入请求队列时,可以首先添加编号较小的分片请求,然后添加编号较大的分片请求。

本发明实施例可以将待写入数据进行分片,从而提高光盘匣的利用率。

步骤204,若所述数据写入请求队列不为空,则确定预先确定的光盘匣的剩余容量,并判断所述剩余容量是否大于预设剩余容量阈值。

其中,预设剩余容量阈值可以根据文件分片大小确定,可以为分片大小的若干倍。例如,若剩余容量阈值为4gb,则当剩余容量大于4gb时,认为该光盘匣未刻录完;当剩余容量小于或等于4gb时,认为该光盘匣刻录完成。

步骤205,若所述剩余容量大于所述剩余容量阈值,则采用预设第一类刻录头将待写入数据写入所述光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据。

在本发明实施例中,当光盘匣未刻录完时,向该光盘匣继续写入数据。

步骤206,若所述剩余容量小于或等于所述剩余容量阈值,则采用预设第一类刻录头将待写入数据写入目标光盘匣,所述目标光盘匣为剩余容量大于或等于所述剩余容量阈值的光盘匣。

在本发明实施例中,当光盘匣刻录完时,停止向该光盘匣写入数据,并选择其他剩余容量大于剩余容量阈值的光盘匣。

例如,当剩余容量阈值为4gb时,若剩余容量小于或等于4gb,则认为该光盘匣刻录完成;若剩余容量大于4gb,则认为该光盘匣刻录未完成,还可以继续写入数据。又分片大小为1gb时,从而所有的光盘匣最终均剩余3gb至4gb的容量。

本发明实施例可以通过剩余容量,使得光盘匣的装载次数最优。

步骤207,若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

该步骤可以参照步骤103的详细说明,在此不再赘述。

步骤208,预估所述数据写入请求队列对应的参考写入时间,所述参考写入时间包括:第一参考写入时间、第二参考写入时间。

具体地,首先,预估数据写入请求队列中所有数据写入请求的总处理时间;然后,预估增加一个第一类刻录头所需的处理时间,得到第一参考写入时间;最后,预估减少一个第一类刻录头所需的处理时间,得到第二参考写入时间。

可选地,在本发明的另一种实施例中,上述步骤208包括子步骤2081至2085:

子步骤2081,周期性统计所述数据写入请求队列中各数据写入请求待写入的总数据量。

可以理解,周期性统计总数据量能够保证总数据量的准确性。此外,周期可以根据写入请求的处理速度和请求到达频率确定,写入请求的处理速度越低,请求到达频率越高,周期越短;写入请求的处理速度越高,请求到达频率越低,周期越长。

具体地,待写入的总数据量为各数据写入请求携带的数据量之和,该数据量可以从数据写入请求的控制信息中获取。

子步骤2082,根据预设光盘匣容量、预设单位装载时间,计算待写入的总数据量对应的光盘匣总装载时间。

具体地,从而光盘匣总装载时间l的计算公式如下:

其中,mw为待写入的总数据量,p为光盘匣容量,t为单位装载时间,即:装载一个光盘匣所需的时间。

子步骤2083,根据所述待写入的总数据量、预设写入速度及所述光盘匣总装载时间,预估总写入时间。

其中,总写入时间为单个刻录头进行刻录时,完成总数据量的写入需要的总时间。

在实际应用中,每个刻录头的写入速度是均衡稳定的,与刻录头的固有属性相关。从而总写入时间twt的计算公式如下:

其中,rw为写入速度。

子步骤2084,根据所述总写入时间计算增加一个第一类刻录头所需的写入时间,得到第一参考写入时间。

具体地,第一参考写入时间tw1的计算公式如下:

其中,m为当前第一类刻录头的数目。

子步骤2085,根据所述总写入时间计算减少一个第一类刻录头所需的写入时间,得到第二参考写入时间。

具体地,第二参考写入时间tw2的计算公式如下:

步骤209,预估所述数据读取请求队列对应的参考读取时间,所述参考读取时间包括:第一参考读取时间、第二参考读取时间。

具体地,首先,预估数据读取请求队列中所有数据读取请求的总处理时间;然后,预估减少一个第二类刻录头所需的处理时间,得到第一参考读取时间;最后,预估增加一个第二类刻录头所需的处理时间,得到第二参考读取时间。

可选地,在本发明的另一种实施例中,上述步骤209包括子步骤2091至2094:

子步骤2091,周期性统计所述数据读取请求队列中各数据读取请求需要读取的总数据量及光盘匣数目。

可以理解,周期性统计总数据量能够保证总数据量的准确性。此外,周期可以根据读取请求的处理速度和请求到达频率确定,读取请求的处理速度越低,请求到达频率越高,周期越短;读取请求的处理速度越高,请求到达频率越低,周期越长。

其中,读取的总数据量为各数据读取请求携带的读取数据量之和,该数据量可以从数据读取请求的控制信息中获取。

光盘匣数目为各数据读取请求需要读取的光盘匣数目之和。可以理解,数据读取请求中携带需要读取的光盘匣标识。

子步骤2092,根据预设读取速度、所述光盘匣数目、预设单位装载时间以及所述读取的总数据量,预估总读取时间。

其中,总读取时间为单个刻录头进行读取时,完成总数据量的读取需要的总时间。

在实际应用中,每个刻录头的读取速度是均衡稳定的,与刻录头的固有属性相关。从而总写入时间trt的计算公式如下:

其中,mr为待读取的总数据量,rr为读取速度,j为光盘匣数目,t为单位装载时间,即:装载一个光盘匣所需的时间。

子步骤2093,根据所述总读取时间计算减少一个第二类刻录头所需的读取时间,得到第一参考读取时间。

具体地,第一参考读取时间tr1的计算公式如下:

其中,n为当前第二类刻录头的数目。

子步骤2094,根据所述总读取时间计算增加一个第二类刻录头所需的读取时间,得到第二参考读取时间。

具体地,第二参考读取时间tr2的计算公式如下:

步骤210,根据所述第一参考写入时间、第二参考写入时间、第一参考读取时间、第二参考读取时间,将所述第一类刻录头和第二类刻录头进行转换。

具体地,根据第一参考写入时间和第一参考读取时间,确定是否将第二类刻录头转化为第一类刻录头;根据第二参考写入时间和第二参考读取时间,确定是否将第一类刻录头转化为第二类刻录头。

可选地,在本发明的另一种实施例中,上述步骤210包括子步骤2101至2102:

子步骤2101,若所述第一参考写入时间大于第一参考读取时间,则将其中一个第二类刻录头转换为第一类刻录头。

可以理解,当第一参考写入时间大于第一参考读取时间,则代表增加一个第一类刻录头,减少一个第二类刻录头,写入时间仍然大于读取时间,从而可以将一个第二类刻录头转换为第一类刻录头;当第一参考写入时间小于第一参考读取时间,则代表增加一个第一类刻录头,减少一个第二类刻录头,写入时间仍然小于读取时间,从而不可以将一个第二类刻录头转换为第一类刻录头。

在实际应用中,可以一次性计算增加多个第一类刻录头对应的第一参考写入时间,减少多个第二类刻录头对应的第一参考读取时间。从而当第一参考写入时间大于第一参考读取时间时,将多个第二刻录头一次性转换为第一刻录头。

本发明实施例可以逐个将第二类刻录头转换为第一类刻录头,从而使得读取时间和写入时间相当。

此外,当数据读取请求队列为空时,可以将所有第二类刻录头全部转换为第一类刻录头。

子步骤2102,若所述第二参考读取时间大于第二参考写入时间,则将指定数目的第一类刻录头转换为第二类刻录头。

可以理解,当第二参考读取时间大于第二参考写入时间,则代表增加一个第二类刻录头,减少一个第一类刻录头,读取时间仍然大于写入时间,从而可以将一个第一类刻录头转换为第二类刻录头;当第二参考读取时间小于第二参考写入时间,则代表增加一个第二类刻录头,减少一个第一类刻录头,读取时间小于写入时间,从而不可以将一个第一类刻录头转换为第二类刻录头。

在实际应用中,可以一次性计算增加多个第二类刻录头对应的第二参考读取时间,减少多个第一类刻录头对应的第二参考写入时间。从而当第二参考读取时间大于第二参考写入时间时,将多个第一刻录头一次性转换为第二刻录头。

本发明实施例可以逐个将第二类刻录头转换为第一类刻录头,从而使得读取时间和写入时间相当。

此外,当数据写入请求队列为空时,可以将所有第一类刻录头全部转换为第二类刻录头。

步骤211,在到达预设转换时间时,若所述数据写入请求队列为空,则将所述第一类刻录头转换为第二类刻录头。

其中,预设转换时间可以为周期性的时间。例如,可以设置每隔30分钟进行一次转换判断,从而预设转换时间可以为00:00、00:30、01:00、01:30、02:00…,从而在到达该转换时间时,判断数据写入请求队列和数据读取请求队列是否为空,以确定是否进行刻录头的转换。

具体地,若数据写入请求队列为空,且数据读取请求队列不为空,则将第一类刻录头转换为第二类刻录头;若数据写入请求队列不为空,则不将第一类刻录头转换为第二类刻录头。

步骤212,在到达预设转换时间时,若所述数据读取请求队列为空,则将所述第二类刻录头转换为第一类刻录头。

具体地,若数据读取请求队列为空,且数据写入请求队列不为空,则将第二类刻录头转换为第一类刻录头;若数据读取请求队列不为空,则不将第二类刻录头转换为第一类刻录头。

本发明实施例可以在数据写入请求队列为空或数据读取请求队列为空时,进行刻录头的转换,从而可以提高数据读写请求的处理速度。此外,还可以根据预设转换时间进行转换,避免了转换的抖动,即:频繁的从第一类刻录头转换为第二类刻录头,又从第二类刻录头转换为第一类刻录头。

此外,本发明实施例还支持用户指定第一类刻录头和第二类刻录头,并对第一类刻录头和第二类刻录头进行锁定,从而不允许刻录头进行转换。

综上所述,本发明实施例提供了一种数据读写方法,所述方法包括:获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。解决了现有技术中数据读写效率较差的问题,能够通过预设的第一类刻录头和第二类刻录头,分别优先处理数据写入请求和数据读取请求,减少了频繁加载刻录头,提高了数据读写效率。

实施例三

参照图3,其示出了一种数据读写装置的结构图,具体如下。

数据请求获取模块301,用于获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中。

数据写入模块302,用于若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据。

数据读取模块303,用于若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

综上所述,本发明实施例提供了一种数据读写装置,所述装置包括:数据请求获取模块,用于获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;数据写入模块,用于若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;数据读取模块,用于若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。解决了现有技术中数据读写效率较差的问题,能够通过预设的第一类刻录头和第二类刻录头,分别优先处理数据写入请求和数据读取请求,减少了频繁加载刻录头,提高了数据读写效率。

实施例四

参照图4,其示出了另一种数据读写装置的结构图,具体如下。

数据请求获取模块401,用于获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中。可选地,在本发明实施例中,上述数据请求获取模块401包括:

数据分片子模块4011,用于若所述数据请求类型为写入请求,则获取待写入数据,将所述待写入数据按照预设分片大小进行分片,得到至少一个分片数据。

写入请求队列生成子模块4012,用于根据各分片数据分别生成数据写入请求,并添加至预设数据写入请求队列中。

数据写入模块402,用于若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据。可选地,在本发明实施例中,上述数据写入模块402包括:

容量判断子模块4021,用于确定预先确定的光盘匣的剩余容量,并判断所述剩余容量是否大于预设剩余容量阈值。

第一数据写入子模块4022,用于若所述剩余容量大于所述剩余容量阈值,则采用预设第一类刻录头将待写入数据写入所述光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据。

第二数据写入子模块4023,用于若所述剩余容量小于或等于所述剩余容量阈值,则采用预设第一类刻录头将待写入数据写入目标光盘匣,所述目标光盘匣为剩余容量大于或等于所述剩余容量阈值的光盘匣。

数据读取模块403,用于若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。

参考写入时间预估模块404,用于预估所述数据写入请求队列对应的参考写入时间,所述参考写入时间包括:第一参考写入时间、第二参考写入时间。

参考读取时间预估模块405,用于预估所述数据读取请求队列对应的参考读取时间,所述参考读取时间包括:第一参考读取时间、第二参考读取时间。

第一刻录头转换模块406,用于根据所述第一参考写入时间、第二参考写入时间、第一参考读取时间、第二参考读取时间,将所述第一类刻录头和第二类刻录头进行转换。

第二刻录头转换模块407,用于在到达预设转换时间时,若所述数据写入请求队列为空,则将所述第一类刻录头转换为第二类刻录头。

第三刻录头转换模块408,用于在到达预设转换时间时,若所述数据读取请求队列为空,则将所述第二类刻录头转换为第一类刻录头。

可选地,在本发明的另一种实施例中,上述参考写入时间预估模块404包括:

写入数据量统计子模块,用于周期性统计所述数据写入请求队列中各数据写入请求待写入的总数据量。

装载时间计算子模块,用于根据预设光盘匣容量、预设单位装载时间,计算待写入的总数据量对应的光盘匣总装载时间。

总写入时间预估子模块,用于根据所述待写入的总数据量、预设写入速度及所述光盘匣总装载时间,预估总写入时间。

第一参考写入时间预估子模块,用于根据所述总写入时间计算增加一个第一类刻录头所需的写入时间,得到第一参考写入时间。

第二参考写入时间预估子模块,用于根据所述总写入时间计算减少一个第一类刻录头所需的写入时间,得到第二参考写入时间。

可选地,在本发明的另一种实施例中,上述参考读取时间预估模块405包括:

读取数据量统计子模块,用于周期性统计所述数据读取请求队列中各数据读取请求需要读取的总数据量及光盘匣数目。

总读取时间预估子模块,用于根据预设读取速度、所述光盘匣数目、预设单位装载时间以及所述读取的总数据量,预估总读取时间。

第一参考读取时间预估子模块,用于根据所述总读取时间计算减少一个第二类刻录头所需的读取时间,得到第一参考读取时间。

第二参考读取时间预估子模块,用于根据所述总读取时间计算增加一个第二类刻录头所需的读取时间,得到第二参考读取时间。

可选地,在本发明的另一种实施例中,上述第一刻录头转换模块406包括:

第一刻录头转换子模块,用于若所述第一参考写入时间大于第一参考读取时间,则将其中一个第二类刻录头转换为第一类刻录头。

第二刻录头转换子模块,用于若所述第二参考读取时间大于第二参考写入时间,则将指定数目的第一类刻录头转换为第二类刻录头。

综上所述,本发明实施例提供了一种数据读写装置,所述装置包括:数据请求获取模块,用于获取数据读写请求,并根据所述数据读写请求的请求类型,将所述数据读写请求添加至预设数据写入请求队列或数据读取请求队列中;数据写入模块,用于若所述数据写入请求队列不为空,则采用预设第一类刻录头将待写入数据写入预先确定的光盘匣,所述待写入数据为所述数据写入请求队列中各数据写入请求携带的数据;数据读取模块,用于若所述数据读取请求队列不为空,则采用预设第二类刻录头根据所述数据读取请求队列中的数据读取请求,从待读取光盘匣中读取数据,所述待读取光盘匣通过所述数据读取请求携带的光盘匣标识确定。解决了现有技术中数据读写效率较差的问题,能够通过预设的第一类刻录头和第二类刻录头,分别优先处理数据写入请求和数据读取请求,减少了频繁加载刻录头,提高了数据读写效率。

本发明实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施例的数据读写方法。

本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的数据读写方法。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的数据读写设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1