CN111930513B - 文件预读的调整方法、装置、电子设备及存储介质 - Google Patents
文件预读的调整方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111930513B CN111930513B CN202010895854.6A CN202010895854A CN111930513B CN 111930513 B CN111930513 B CN 111930513B CN 202010895854 A CN202010895854 A CN 202010895854A CN 111930513 B CN111930513 B CN 111930513B
- Authority
- CN
- China
- Prior art keywords
- resource
- target resource
- target
- reading
- pressure coefficient
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (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读写都是顺序的,且普通文件在磁盘上的存储都是占用连续的扇区,使得读写文件时可以减少磁头的移动次数、提升读写性能,当程序读一个文件时,它通常从第一字节到最后一个字节顺序访问。
为了能让被访问的文件提前加载进内核,减少进程读取页面的等待时间,相关技术是在进程读取页面时,***会利用预读(read ahead)机制让其多读一些页面;预读就是在数据真正被访问之前,从普通文件或块设备文件中读取多个连续的文件页面到内存中。但是,预读取的文件页面中可能包含不被访问或无需访问的页面,导致预读过程中过度消耗***的资源,增加***的负担,对***造成损害。
发明内容
本申请提供了一种文件预读的调整方法、装置、电子设备及存储介质,可以解决预读过程会过度消耗***的资源的技术问题。
本发明第一方面提供一种文件预读的调整方法,所述方法包括:
获取***资源中目标资源对应的资源占用率,所述***资源包含多个不同的所述目标资源;
根据所述资源占用率确定是否执行目标资源回收操作;
若执行目标资源回收操作,则获取所述目标资源对应的目标资源压力系数,所述目标资源压力系数用于指示执行目标资源回收操作时的压力;
在预读取目标文件页面时,根据所述目标资源压力系数调整***的预读能力。
可选的,所述分析***资源中目标资源对应的资源占用率的步骤包括:
检测所述资源***中目标资源对应的负载;
根据所述资源***中目标资源对应的负载,为所述预读目标文件页面分配对应的目标资源;
根据分配后的所述目标资源计算对应的所述资源占用率。
可选的,所述根据所述资源占用率确定是否执行目标资源回收操作的步骤包括:
根据所述资源占用率与预设的资源占用阈值对比;
若所述资源占用率大于或等于所述资源占用阈值,则执行目标资源回收操作;
若所述资源占用率小于所述资源占用阈值,则不执行目标资源回收操作。
可选的,所述若执行目标资源回收操作,则获取所述目标资源对应的目标资源压力系数的步骤包括:
若执行目标资源回收操作,则记录所述目标资源回收操作的起始时间戳;
直至无法回收所述目标资源时,记录所述目标资源回收操作的结束时间戳;
根据所述结束时间戳及所述起始时间戳确定所述目标资源回收时后对应的目标资源压力系数。
可选的,所述根据所述目标资源压力系数调整***的预读能力的步骤包括:
获取所述目标资源压力系数;
根据所述目标资源压力系数及预设的资源压力阈值确定资源调节系数;
利用所述资源调节系数调整***的预读能力的大小。
可选的,所述根据所述目标资源压力系数调整***的预读能力的步骤包括:
获取所述目标资源压力系数;
将所述目标资源压力系数与预设的第一资源压力阈值对比;
若所述目标资源压力系数大于所述第一资源压力阈值,则关闭***的预读能力;
若所述目标资源压力系数小于所述第一资源压力阈值,则将所述目标资源压力系数与预设的第二资源压力阈值对比;
若所述目标资源压力系数大于所述第二资源压力阈值,则调小***的预读能力。
可选的,还包括:
若不执行目标资源回收操作,则根据所述资源占用率从预设的目标资源压力系数列表中获取所述目标资源压力系数,所述目标资源压力系数列表包含所述目标资源压力系数与所述资源占用率的对应关系。
本发明第二方面提供一种文件预读的调整装置,所述装置包括:
第一获取模块,用于获取***资源中目标资源对应的资源占用率,所述***资源包含多个不同的所述目标资源;
确定模块,用于根据所述资源占用率确定是否执行目标资源回收操作;
第二获取模块,用于若执行目标资源回收操作,则获取所述目标资源对应的目标资源压力系数,所述目标资源压力系数用于指示执行目标资源回收操作时的压力;
调整模块,用于在预读取目标文件页面时,根据所述目标资源压力系数调整***的预读能力。
本发明第三方面提供一种电子设备,包括:存储器、处理器及通信总线,所述通信总线分别与所述存储器及所述处理器通信连接,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时,实现第一方面的文件预读的调整方法中的各个步骤。
本发明第四方面提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的文件预读的调整方法中的各个步骤。
本发明提供的文件预读的调整方法,包括:获取***资源中目标资源对应的资源占用率,***资源包含多个不同的目标资源;根据资源占用率确定是否执行目标资源回收操作;若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,目标资源压力系数用于指示执行目标资源回收操作时的压力;在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。通过实施本方案,根据资源占用率分析目标资源的使用情况,以确定回收目标资源,提高回收目标资源的准确性,及在确定回收目标资源后,根据对应的目标资源压力系数分析回收目标资源时的压力,并根据目标资源的实际压力调整***的预读能力,避免由于预读文件页面时出现过度消耗***的资源,可有效降低***资源的负担,及减轻对***造成的损害,提高预读的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件预读的调整方法的步骤流程图;
图2为本发明实施例提供的文件预读的调整方法的又一步骤流程图;
图3为本发明实施例提供的文件预读的调整装置的模块方框图;
图4为本发明实施例提供的电子设备的架构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中预读过程会过度消耗***的资源的技术问题。
为了解决上述技术问题,本发明提出一种文件预读的调整方法、装置、电子设备及存储介质。
请参阅图1,为本发明实施例提供的文件预读的调整方法的步骤流程图。本实施例提供一种文件预读的调整方法,该方法包括以下步骤:
步骤S101:获取***资源中目标资源对应的资源占用率,***资源包含多个不同的目标资源。
具体的,在预读或预读取就是在数据真正被访问之前,***的处理器或数据中心先获取该程序或应用需要运行或预读时的资源空间,该资源空间为该程序或应用运行时所需要的***资源中的目标资源对应的空间大小。优选的,***资源不限于包括***内存、IO及CPU等资源,目标资源可为内存、IO或CPU等资源中的一种资源,以目标资源为内存资源为例,该内存为***的运行内存,在***分配该预读进程所需的***内存资源后,获取***资源中的目标资源的资源占用率,即获取***资源中的***内存的资源占用率,该资源占用率可为预读进程分配后得到的***内存占全部***内存的百分比,该资源占用率还可为***给予预读进程分配***内存后,当前***的所有程序、应用、软件等所占用的***内存总量占全部***内存的百分比。通过目标资源的资源占用率可获悉目标资源的占用情况,可用于判断是否回收资源,以提高回收目标资源的准确度,具有可靠性。
步骤S102:根据资源占用率确定是否执行目标资源回收操作。
大多数磁盘I/O读写都是顺序的,且普通文件在磁盘上的存储都是占用连续的扇区,在读写文件时,可以减少磁头的移动次数,提升读写性能;当程序读取一个文件时,通常从第一字节到最后一个字节的顺序进行访问,因此,同一个文件中磁盘上多个相邻的扇区会被读进程访问。
预读或预读取就是在数据真正被访问之前,从普通文件或块设备文件中读取多个连续的文件页面到内存中,即文件***给应用程序一次读出比预期更多的文件内容并缓存在page cache(高速缓冲存储器)中,这样下一次读取请求到来时部分页面直接从高速缓冲存储器读取即可;在多数情况下,由于减少了磁盘控制器处理的命令数,每个命令读取多个相邻扇区,所以,内核的预读机制可以明显提高磁盘性能,此外,预读机制还提高了***响应时间。
在获取的目标资源对应的资源占用率后,以目标资源为内存为例,当出现过度消耗***的内存资源时,会导致***内存的负担过大,将会对***造成损害,如损害***的操作或致使***出现紊乱等现象,则需要对***资源中的目标资源进行回收,如回收***内存,为了提高回收***资源的准确性,根据该目标资源的资源占用率确定是否进行回收目标资源,该目标资源的回收过程可为:通过回收部分页面、内存压缩、关闭部分应用进程等,以释放***资源中的目标资源,腾出更多的***资源空间,以有利于预读,及提高***的可靠性。
进一步的,在本实施例中,步骤S102包括:根据获取的目标资源的资源占用率与预设的资源占用阈值对比;若资源占用率大于或等于资源占用阈值,则执行目标资源回收操作;若资源占用率小于资源占用阈值,则不执行目标资源回收操作。具体的,预先设定资源占用阈值,该资源占用阈值用于判定***资源的占用情况,以确定是否回收***资源中的目标资源,当资源占用率大于或等于资源占用阈值,则确定回收***资源中的目标资源,如***具有程序、应用或软件在运行时,当前的***资源中的内存资源占用较大,***内存资源空间较小,不利于预读进程,则确定回收***资源中***内存;反之,当前的***资源中的内存资源占用较小,即资源占用率小于预设的资源占用阈值时,确定不回收目标资源。通过本步骤,可提高回收***资源的准确性,从而腾出更多的***资源空间,以有利于预读,及提高***的可靠性
步骤S103:若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,目标资源压力系数用于指示执行目标资源回收操作时的压力。
在步骤S103中,确定回收目标资源的条件可为:当目标资源的资源占用率大于预设的***资源阈值时,当满足确定回收目标资源的条件时,获取该目标资源回收后对应的目标资源压力系数,该目标资源压力系数用于体现回收目标资源时的压力,如,***对***内存资源进行回收(释放)时,由于存在部分程序或应用是无法关闭的,或部分页面是难以回收的,其回收时间较长,则回收***内存资源的压力比较大,且说明当前***内存的压力比较大。
在一实施方式中,步骤103包括:若执行目标资源回收操作,则记录目标资源操作的起始时间戳;直至无法回收目标资源时,记录目标资源回收操作的结束时间戳;根据结束时间戳及起始时间戳确定目标资源回收时对应的目标资源压力系数。具体的,当确定回收目标资源时,记录或获取开始回收目标资源时的起始时间戳,并在结束回收目标资源时,记录或获取结束回收目标资源时的结束时间戳,该起始时间戳或结束时间戳是一个字符序列,用于标识某一刻的时间,该时间戳技术可理解为数字签名技术一种变种的应用。进一步的,根据起始时间戳和结束时间戳作差,具体如下:
STALL_TIME=结束时间戳-起始时间戳,该STALL_TIME表示目标资源压力系数,即表示内存回收的压力。
步骤S104:在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。
本实施例中目标文件页面是指操作***反映构建并使用虚拟内存的硬盘空间大小而创建的文件,如一些大型软件由于对内存的消耗比较大,需要单独开辟一部分硬盘空间作为缓冲,这部分硬盘空间的实体就是软件创建的页面文件。程序或应用在运行中的将要访问到的这些页面文件。
在本实施例中,预读的主要用于把小I/O聚集为大I/O,以改善磁盘的利用率,提升***的吞吐量;对应用程序隐藏磁盘的I/O延迟,以加快程序运行;及对预读进程进行预测,如Linux、FreeBSD和Solaris等主流操作***都遵循了一个简单有效的原则,那就是把读模式分为随机读和顺序读两大类,这都需要对于预读进行预测。预读能力是指预读目标文件页面时的预读量或预读速率,但不限于此;以预读量为例,在***进行预读目标文件页面时,通过调整***的预读量的大小,以改变***在执行预读时的上述性能,具体的,在分析得到目标资源压力系数后,根据该目标资源压力系数实时调整***的预读能力的大小,使得预进程符合当前的***资源中的目标资源的情况,避免造成对***资源中的目标资源造成压力。
在一实施方式中,步骤S104包括:获取目标资源压力系数;根据目标资源压力系数及预设的资源压力阈值确定资源调节系数;利用资源调节系数调整***的预读能力的大小。具体的,在获取目标资源压力系数后,将目标资源压力系数及预设的资源压力阈值进行对比,以确定资源调节系数,如本实施例可包含预设的资源调节系数列表,该资源调节系数包含对比结果与资源调节系数的对应关系,该对比结果为目标资源压力系数与资源压力阈值之间的对比结果,如当对比结果为目标资源压力系数大于资源压力阈值,则依照该对比结果查找资源调节系数列表,得出相应的资源调节系数,该资源调节系数可负的资源内调节系数;或,当对比结果为目标资源压力系数小于资源压力阈值时,则依照该对比结果查找资源调节系数列表,得出相应的资源调节系数,该资源调节系数可正的资源内调节系数,此外,当对比结果为目标资源压力系数小于资源压力阈值时,还可保持原有的预读能力。上述实施通过资源调节系数调节预读能力的方式仅仅为可实现本实施方式的一种,对于其他等同或实际相同的实施方式也可包括于此,本实施例对此不作进一步赘述。
在另一实施方式中,步骤104包括:获取目标资源压力系数;将目标资源压力系数与预设的第一资源压力阈值对比;若目标资源压力系数大于第一资源压力阈值,则调整***的预读能力至关闭,或直接关闭***的预读能力;若目标资源压力系数小于第一资源压力阈值,则将目标资源压力系数与预设的第二资源压力阈值对比;若目标资源压力系数大于第二资源压力阈值,则调小***的预读能力。具体的,通过设定资源压力阈值,该资源压力阈值用于判断是否调整***的预读能力,如设定两个资源压力阈值,包括第一资源压力阈值和第二资源压力阈值,其中,第一资源压力阈值大于第二资源压力阈值,该第一资源压力阈值用于确定是否关闭或停止***的预读,该第二资源压力阈值用于确定是否调整***的预读能力变小,即确定是否调小该***的预读能力。进一步的,将获取的目标资源压力系数与预设的第一资源压力阈值对比,若目标资源压力系数大于预设的第一资源压力阈值,则说明经过回收目标资源后,***资源的目标资源仍无法满足当前的预读进程,还可表示***运行的所有进程中包含的大部分的程序、应用或软件是无法关闭或停止的,导致当前的***资源中目标***该资源的压力过大,此时,应当关闭或停止当前的预读进程,防止预读过程中一次读出比预期更多的文件内容并缓存在高速缓冲存储器中,进一步增加***的负担,导致***崩溃、卡顿或紊乱等现象,损害***。
本发明提供的文件预读的调整方法,包括:获取***资源中目标资源对应的资源占用率,***资源包含多个不同的目标资源;根据资源占用率确定是否执行目标资源回收操作;若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,目标资源压力系数用于指示执行目标资源回收操作时的压力;在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。通过实施本方案,根据资源占用率分析目标资源的使用情况,以确定回收目标资源,提高回收目标资源的准确性,及在确定回收目标资源后,根据对应的目标资源压力系数分析回收目标资源时的压力,并根据目标资源的实际压力调整***的预读能力,避免由于预读文件页面时出现过度消耗***的资源,可有效降低***资源的负担,及减轻对***造成的损害,提高预读的可靠性。
请参阅图2,为本发明实施例提供的文件预读的调整方法的又一步骤流程图。具体的,该步骤流程如下:
S201:检测资源***中目标资源对应的负载。
具体的,在***运行当前的程序、应用、软件时,会占用或消耗一定的***资源,该***资源不限于包括内存、IO及CPU,则该目标资源至少可为内存、IO及CPU中的一种,也可为多种资源结合,本实施例对此不做限定;进一步的,实时检测终端***资源中目标资源的使用情况(负载),如检测***内存资源、IO及CPU等,还可通过检测终端的温度、或处理器温度,以作为衡量***运行情况的指标,具体为根据该目标资源对应的负载衡量***运行情况。
S202:根据资源***中目标资源对应的负载,为预读目标文件页面分配对应的目标资源。
具体的,在获取目标资源的负载后,根据该目标资源的负载分配***在运行预读进程时相应大小的目标资源,目标资源不限于包括:***内存资源、IO及CPU频率,使得预读进程得以运行。
S203:根据分配后的目标资源计算对应的资源占用率。
具体的,在预读进程运行后,则说明***给予预读进程成功分配目标资源,此时,可分析预读进程执行后的***资源占用情况,以确定分配后的目标资源对应的资源占用率,该资源占用率可为预读进程分配后得到的***内存占全部***内存的百分比,该资源占用率还可为***给予预读进程分配***内存后,当前***的所有程序、应用、软件等所占用的总***内内存占全部***内存的百分比。
需要说明的是,本实施例中的步骤S201-S203是对前一实施例的S101的一种实施方式,但并不限于此,还可根据其他的相近的方式获取***资源中的目标资源的占用率。
S204:根据资源占用率确定是否执行目标资源回收操作。
具体的,若确定执行目标资源回收操作,则执行步骤S205;若确定不执行目标资源回收操作,则执行步骤S206。
S205:若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,目标资源压力系数用于指示执行目标资源回收操作时的压力。
具体的,若确定执行目标资源回收操作,则获取获取目标资源对应的目标资源压力系数;在步骤S205之后,执行步骤执行步骤S207-S208。
S206:若确定不执行目标资源回收操作,则根据资源占用率从预设的目标资源压力系数列表中获取目标资源压力系数,目标资源压力系数列表包含目标资源压力系数与资源占用率的对应关系。
具体的,在步骤S204中,当***预读取目标文件页面时,根据获取的目标资源的资源占用率确定是否回收目标资源,若确定不回收目标资源,则执行本步骤S206,具体的,设定目标资源压力系数列表,该目标资源压力系数列表包含目标资源压力系数与资源占用率的对应关系,如当目标资源的资源占用率比较小时,则***资源的该目标资源处于低压状态或无压力状态,则无需回收目标资源,由于STALL_TIME=结束时间戳-起始时间戳,该STALL_TIME表示目标资源的回收所耗费的时间,以目标资源为内存为了,如某一进程申请内存时,当内存不足时,需要直接进行内存回收,此时进程必须等内存回收到预设的内存阈值时,才可运行该进程或执行该进程的下一步;则STALL_TIME表示内存从开始回收到回到到预设阈值的时间,若STALL_TIME越大,则表示内存回收的难度越大。STALL_TIME表示本实施例中的目标资源压力系数,此时,根据预设的目标资源压力系数列表将STALL_TIME设置为0,即STALL_TIME=0,以避免了预读取过程中出现误判。
可以理解的是,在步骤S206执行完毕后,执行步骤S207-S208,本实施例对此不做进一步赘述。
S207:在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。
具体的,步骤S204、S205及S207中描述的方法步骤为与前述步骤S102、步骤S103及步骤S104的方法步骤相似或相近,关于该部分流程的内容描述与步骤S102至步骤S104的内容描述一致,本实施例对此不做进一步赘述。
S208:根据调整后的预读能力对文件页面进行预读。
具体的,经过调整***的预读能力后,获取调整后的预读能力,根据该预读能力进行预读目标文件页面。需要说明的是,当调整预读能力方式不限于包括:调小预读能力、关闭预读,当***资源中目标资源的压力过大,需要关闭预读进程时,调整后的预读能力的大小可理解为0,此时,视为不进行预读,即关闭预读进程;若仅仅为调小预读能力,则***根据调整后的预读能力进行预读。通过执行本步骤,可执行预读或关闭预读,以降低目标资源的压力,从而减轻***负担。
请参阅图3,为本发明实施例提供文件预读的调整装置的模块方框图;本发明还提供一种文件预读的调整装置,该装置包括:
第一获取模块301,用于获取***资源中目标资源对应的资源占用率,***资源包含多个不同的所述目标资源;
确定模块302,用于根据资源占用率确定是否执行目标资源回收操作;
第二获取模块303,用于若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,所述目标资源压力系数用于指示执行目标资源回收操作时的压力;
调整模块304,用于在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。
本发明提供的文件预读的调整装置,包括:第一获取模块301、确定模块302、第二获取模块303及调整模块304;具体的,通过第一获取模块301获取***资源中目标资源对应的资源占用率,***资源包含多个不同的所述目标资源;通过确定模块302根据获取的资源占用率确定是否执行目标资源回收操作;第二获取模块303用于若执行目标资源回收操作,则获取目标资源回收时对应的目标资源压力系数;在预读取目标文件页面时,通过调整模块304根据目标资源压力系数调整***的预读能力。通过实施本方案,根据资源占用率分析目标资源的使用情况,以确定回收目标资源,提高回收目标资源的准确性,及在确定回收目标资源后,根据对应的目标资源压力系数分析回收目标资源时的压力,并根据目标资源的实际压力调整***的预读能力,避免由于预读文件页面时出现过度消耗***的资源,可有效降低***资源的负担,及减轻对***造成的损害,提高预读的可靠性。
在本实施例中的一实施方式中,第一获取模块301具体用于:检测资源***中目标资源对应的负载;根据资源***中目标资源对应的负载,为预读目标文件页面分配对应的目标资源;根据分配后的目标资源计算对应的资源占用率。
在本实施例中的一实施方式中,确定模块302的用途具体如下:根据获取的目标资源的资源占用率与预设的资源占用阈值对比;若资源占用率大于或等于资源占用阈值,则执行目标资源回收操作;若资源占用率小于资源占用阈值,则不执行目标资源回收操作。
在本实施例中的一实施方式中,第二获取模块303的用途具体如下:若执行目标资源回收操作,则记录回收目标资源的起始时间戳;直至无法回收目标资源时,记录回收目标资源的结束时间戳;根据结束时间戳及起始时间戳确定目标资源回收后对应的目标资源压力系数。
在本实施例中的又一实施方式中,第二获取模块303还具体用于:若不执行目标资源回收操作,则根据资源占用率从预设的目标资源压力系数列表中获取目标资源压力系数,目标资源压力系数列表包含目标资源压力系数与资源占用率的对应关系。
在本实施例中的一实施方式中,调整模块304的用途具体如下:获取目标资源压力系数;根据目标资源压力系数及预设的资源压力阈值确定资源调节系数;及利用资源调节系数调整***的预读能力的大小。
在本实施例中的又一实施方式中,调整模块304还具体用于:获取目标资源压力系数;将目标资源压力系数与预设的第一资源压力阈值对比;若目标资源压力系数大于第一资源压力阈值,则调整***的预读能力至关闭;若目标资源压力系数小于第一资源压力阈值,则将目标资源压力系数与预设的第二资源压力阈值对比;若目标资源压力系数大于第二资源压力阈值,则调小***的预读能力。
在本发明提供的文件预读的调整装置的实施例中,包括:分析模块301、确定模块302、获取模块303及调整模块304,上模块为与本发明提供的文件预读的调整方法的实施例对应的装置模块,关于该部分相关模块的内容描述与本发明提供的文件预读的调整方法的实施例中相应的内容描述一致,本实施例对此不做进一步赘述。
进一步的,该装置还包括:
预读模块305,用于根据调整后的预读能力对文件页面进行预读。
具体的,经过调整***的预读能力后,获取调整后的预读能力,通过预读模块305根据该预读能力进行预读目标文件页面。需要说明的是,当调整预读能力方式不限于包括:调小预读能力、关闭预读,当***资源中目标资源的压力过大,需要关闭预读进程时,调整后的预读能力的大小可理解为0,此时,视为不进行预读,即通过预读模块305关闭预读进程;若仅仅为调小预读能力,则通过预读模块305根据调整后的预读能力进行预读。本模块可执行预读或关闭预读,以降低目标资源的压力,从而减轻***负担。
本发明提供一种电子设备,请参阅图4,为本发明实施例提供的电子设备的架构图,该电子设备包括:存储器401、处理器402及通信总线403,通信总线403分别与存储器401及处理器402通信连接,存储器401与处理器402耦合,存储器401上存储有计算机程序,处理器402执行计算机程序时,实现上述任意一实施例的文件预读的调整方法中的各个步骤。
示例性的,该文件预读的调整方法的计算机程序主要包括:获取***资源中目标资源对应的资源占用率,***资源包含多个不同的目标资源;根据资源占用率确定是否执行目标资源回收操作;若执行目标资源回收操作,则获取目标资源对应的目标资源压力系数,目标资源压力系数用于指示执行目标资源回收操作时的压力;在预读取目标文件页面时,根据目标资源压力系数调整***的预读能力。另外,计算机程序也可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算设备中的执行过程。例如,计算机程序可以被分割成如图3所示的第一获取模块301、确定模块302、第二获取模块303、调整模块304及预读模块305。
处理器402可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本发明还提供一种存储介质,存储介质为计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述任意一实施例的文件预读的调整方法中的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种文件预读的调整方法、装置、电子设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种文件预读的调整方法,其特征在于,所述方法包括:
获取***资源中目标资源对应的资源占用率,所述***资源包含多个不同的所述目标资源;
根据所述资源占用率与预设的资源占用阈值对比,所述资源占用阈值用于判定所述***资源的占用情况、以确定是否回收所述***资源中的目标资源;若所述资源占用率大于或等于所述资源占用阈值,则执行目标资源回收操作;若所述资源占用率小于所述资源占用阈值,则不执行目标资源回收操作;
若执行目标资源回收操作,则记录所述目标资源回收操作的起始时间戳;直至无法回收所述目标资源时,记录所述目标资源回收操作的结束时间戳;根据所述结束时间戳及所述起始时间戳确定所述目标资源回收时对应的目标资源压力系数,所述目标资源压力系数用于指示执行目标资源回收操作时的压力;在预读取目标文件页面时,根据所述目标资源压力系数调整***的预读能力;
若不执行目标资源回收操作,则根据所述资源占用率从预设的目标资源压力系数列表中获取所述目标资源压力系数,所述目标资源压力系数列表包含所述目标资源压力系数与所述资源占用率的对应关系。
2.根据权利要求1所述的文件预读的调整方法,其特征在于,所述获取***资源中目标资源对应的资源占用率的步骤包括:
检测所述***资源 中目标资源对应的负载;
根据所述***资源 中目标资源对应的负载,为预读目标文件页面分配对应的目标资源;
根据分配后的所述目标资源计算对应的所述资源占用率。
3.根据权利要求1所述的文件预读的调整方法,其特征在于,所述根据所述目标资源压力系数调整***的预读能力的步骤包括:
获取所述目标资源压力系数;
根据所述目标资源压力系数及预设的资源压力阈值确定资源调节系数;
利用所述资源调节系数调整***的预读能力的大小。
4.根据权利要求1所述的文件预读的调整方法,其特征在于,所述根据所述目标资源压力系数调整***的预读能力的步骤包括:
将所述目标资源压力系数与预设的第一资源压力阈值对比;
若所述目标资源压力系数大于所述第一资源压力阈值,则关闭***的预读能力;
若所述目标资源压力系数小于所述第一资源压力阈值,则将所述目标资源压力系数与预设的第二资源压力阈值对比;
若所述目标资源压力系数大于所述第二资源压力阈值,则调小***的预读能力。
5.一种文件预读的调整装置,其特征在于,所述装置包括:
第一获取模块,用于获取***资源中目标资源对应的资源占用率,所述***资源包含多个不同的所述目标资源;
确定模块,用于根据所述资源占用率与预设的资源占用阈值对比,所述资源占用阈值用于判定所述***资源的占用情况、以确定是否回收所述***资源中的目标资源;若所述资源占用率大于或等于所述资源占用阈值,则执行目标资源回收操作;若所述资源占用率小于所述资源占用阈值,则不执行目标资源回收操作;
第二获取模块,用于若执行目标资源回收操作,则记录所述目标资源回收操作的起始时间戳;直至无法回收所述目标资源时,记录所述目标资源回收操作的结束时间戳;根据所述结束时间戳及所述起始时间戳确定所述目标资源回收时对应的目标资源压力系数,所述目标资源压力系数用于指示执行目标资源回收操作时的压力;
调整模块,用于在预读取目标文件页面时,根据所述目标资源压力系数调整***的预读能力;
所述第二获取模块,还用于若不执行目标资源回收操作,则根据所述资源占用率从预设的目标资源压力系数列表中获取所述目标资源压力系数,所述目标资源压力系数列表包含所述目标资源压力系数与所述资源占用率的对应关系。
6.一种电子设备,包括:存储器、处理器及通信总线,所述通信总线分别与所述存储器及所述处理器通信连接,其特征在于,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至4任意一项所述的文件预读的调整方法中的各个步骤。
7.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至4任意一项所述的文件预读的调整方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895854.6A CN111930513B (zh) | 2020-08-31 | 2020-08-31 | 文件预读的调整方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895854.6A CN111930513B (zh) | 2020-08-31 | 2020-08-31 | 文件预读的调整方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930513A CN111930513A (zh) | 2020-11-13 |
CN111930513B true CN111930513B (zh) | 2023-02-28 |
Family
ID=73309758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010895854.6A Active CN111930513B (zh) | 2020-08-31 | 2020-08-31 | 文件预读的调整方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930513B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558866B (zh) * | 2020-12-03 | 2022-12-09 | Oppo(重庆)智能科技有限公司 | 数据的预读方法、移动终端及计算机可读存储介质 |
CN113485855B (zh) * | 2021-08-02 | 2024-05-10 | 安徽文香科技股份有限公司 | 一种内存共享方法、装置、电子设备及可读存储介质 |
CN113760191B (zh) * | 2021-08-31 | 2022-09-23 | 荣耀终端有限公司 | 数据读取方法、装置、存储介质和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280063A2 (en) * | 2001-07-27 | 2003-01-29 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
CN101853218A (zh) * | 2010-05-12 | 2010-10-06 | 中兴通讯股份有限公司 | 用于磁盘阵列的读取方法和*** |
CN105487987A (zh) * | 2015-11-20 | 2016-04-13 | 深圳市迪菲特科技股份有限公司 | 一种处理并发顺序读io的方法及装置 |
CN105955821A (zh) * | 2016-04-21 | 2016-09-21 | 北京小米移动软件有限公司 | 预读方法及装置 |
CN110727606A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN111338796A (zh) * | 2020-02-18 | 2020-06-26 | 广州虎牙科技有限公司 | 应用内存优化方法、装置、终端设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175078B (zh) * | 2019-05-30 | 2020-12-01 | 口碑(上海)信息技术有限公司 | 业务处理方法及装置 |
-
2020
- 2020-08-31 CN CN202010895854.6A patent/CN111930513B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280063A2 (en) * | 2001-07-27 | 2003-01-29 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
CN101853218A (zh) * | 2010-05-12 | 2010-10-06 | 中兴通讯股份有限公司 | 用于磁盘阵列的读取方法和*** |
CN105487987A (zh) * | 2015-11-20 | 2016-04-13 | 深圳市迪菲特科技股份有限公司 | 一种处理并发顺序读io的方法及装置 |
CN105955821A (zh) * | 2016-04-21 | 2016-09-21 | 北京小米移动软件有限公司 | 预读方法及装置 |
CN110727606A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN111338796A (zh) * | 2020-02-18 | 2020-06-26 | 广州虎牙科技有限公司 | 应用内存优化方法、装置、终端设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
一种支持并发访问流的文件预取算法;吴峰光等;《软件学报》;20100815(第08期);第1820-1833页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111930513A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930513B (zh) | 文件预读的调整方法、装置、电子设备及存储介质 | |
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
CN108920387B (zh) | 降低读延迟的方法、装置、计算机设备及存储介质 | |
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
US8108649B2 (en) | Method of memory management for server-side scripting language runtime system | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
KR20090026296A (ko) | 예측 데이터 로더 | |
CN103473150A (zh) | 一种用于数据去重***中的碎片重写方法 | |
US11886743B2 (en) | Method for enhancing quality of service of solid-state drive and solid-state drive | |
US20190188189A1 (en) | Heterogeneous file optimization | |
WO2023029971A1 (zh) | 基于异构内存的数据迁移方法 | |
CN114968839A (zh) | 硬盘垃圾回收方法、装置、设备及计算机可读存储介质 | |
CN116225334A (zh) | 一种冷热数据存储方法、装置以及介质 | |
CN115421907A (zh) | 内存回收方法、装置、电子设备及存储介质 | |
CN114035750A (zh) | 文件处理方法、装置、设备、介质及产品 | |
US20240070120A1 (en) | Data processing method and apparatus | |
CN112181870B (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN115079936A (zh) | 一种数据写入方法及装置 | |
CN103064762B (zh) | 重删备份数据的恢复方法和装置 | |
Park et al. | OFTL: Ordering-aware FTL for maximizing performance of the journaling file system | |
EP3296878B1 (en) | Electronic device and page merging method therefor | |
CN114974365A (zh) | Ssd有限窗口数据去重识别方法、装置和计算机设备 | |
JP4558003B2 (ja) | データアクセス処理方法及び記憶制御装置 | |
US11449428B2 (en) | Enhanced read-ahead capability for storage devices |
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 |