CN115934000B - 一种存储系统的定时方法及相关装置 - Google Patents
一种存储系统的定时方法及相关装置 Download PDFInfo
- Publication number
- CN115934000B CN115934000B CN202310209450.0A CN202310209450A CN115934000B CN 115934000 B CN115934000 B CN 115934000B CN 202310209450 A CN202310209450 A CN 202310209450A CN 115934000 B CN115934000 B CN 115934000B
- Authority
- CN
- China
- Prior art keywords
- timer
- linked list
- node
- array
- activation
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种存储系统的定时方法及相关装置,涉及存储系统技术领域,该定时方法包括:对接收到的定时器创建命令进行处理得到定时器节点;将所有所述定时器节点中的定时器挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。通过将创建的定时器节点挂载至定时器激活链表数组中,并基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,实现定时器的功能,由于中断功能和定时器各自独立,平行工作,避免了相互影响,提高了定时器功能的实时性和性能。
Description
技术领域
本申请涉及存储系统技术领域,特别涉及一种存储系统的定时方法、定时装置、服务器以及计算机可读存储介质。
背景技术
随着存储技术的不断发展,出现了RAID(Redundant Arrays of IndependentDisks,磁盘阵列)技术。独立冗余RAID阵列是存储系统中的重要技术,目前包括RAID级别0、1、5、6、10、50、60,它们使用条带、镜像和校验来保证数据可靠性,并通过阵列中多个磁盘驱动并发处理I/O以提高RAID阵列的I/O性能。RAID卡就是将服务器连接的多个硬盘按照RAID级别组织成一个或多个RAID阵列,用户在RAID卡上创建一个或者多个指定容量的卷来供主机作为块设备使用,因此RAID卡是实现将服务器连接的硬盘按照RAID级别组织成RAID阵列功能的板卡。
相关技术中,随着存储技术的迅猛发展,巨型数据存储中心对硬件存储系统读写数据的实时性要求越来越高,现有的存储系统中的定时功能的实时性无法满足系统需要。
因此,如何提高存储系统中定时功能的实时性,进而提高存储系统中的实时性是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种存储系统的定时方法、定时装置、服务器以及计算机可读存储介质,以提高存储系统中定时功能的实时性。
为解决上述技术问题,本申请提供一种存储系统的定时方法,包括:
对接收到的定时器创建命令进行处理得到定时器节点;
将所有所述定时器节点中的定时器挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;
基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
可选的,对接收到的定时器创建命令进行处理得到定时器节点,包括:
接收所述定时器创建指令;
基于所述定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点;
对所述全局空闲定时器节点进行激活,得到所述定时器节点。
可选的,基于所述定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点,包括:
对所述定时器创建指令进行解析,得到命令参数;
基于所述命令参数在所述全局空闲定时器节点链表中确定对应的全局空闲定时器节点。
可选的,对所述全局空闲定时器节点进行激活,得到所述定时器节点,包括:
基于所述命令参数对所述全局空闲定时器节点设置对应的节拍数,得到所述定时器节点。
可选的,创建所述全局空闲定时器节点链表的过程,包括:
当存储系统上电时,从内存中申请多个全局空闲定时器节点;
将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表。
可选的,将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表,包括:
基于每个所述全局空闲定时器节点的前指针字段和后指针字段将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表。
可选的,将所有所述定时器节点中的定时器挂载至定时器激活链表数组,包括:
基于每个所述定时器节点中的节拍数将对应的所述定时器节点挂载至所述定时器激活链表数组。
可选的,创建所述定时器激活链表数组的过程,包括:
基于预设节拍数量设置对应的多个节拍数组元素,并组成所述节拍数组;
将对应的所述定时器激活链表挂载至所述节拍数组中对应的元素。
可选的,设置所述定时器激活链表数组中的时钟节拍的过程,包括:
基于实时性需求信息和系统性能确定节拍时长,将所述节拍时长设置为所述时钟节拍。
可选的,基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,包括:
通过所述中断指令触发中断处理函数;
通过所述中断处理函数唤醒定时器线程,基于所述定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理。
可选的,通过所述中断指令触发中断处理函数,包括:
从硬件定时器模块接收到所述中断指令;
通过所述中断指令触发中断处理函数。
可选的,基于所述定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理,包括:
通过所述定时器线程判断所述定时器激活链表数组中对应的定时器是否超时;
若是,则回调超时处理函数。
可选的,通过所述定时器线程判断所述定时器激活链表数组中对应的定时器是否超时,包括:
通过所述定时器线程从所述定时器激活链表数组中选取对应元素的定时器激活链表;
判断所述定时器激活链表中对应的定时器是否超时。
可选的,通过所述定时器线程从所述定时器激活链表数组中选取对应元素的定时器激活链表,包括:
基于所述定时器激活链表数组的当前定时器指针确定对应的定时器激活链表;
若所述定时器激活链表不为空时,通过所述定时器线程对定时器激活链表进行处理。
可选的,还包括:
当接收到所述中断指令时,所述当前定时器指针指向下一个元素。
可选的,创建所述定时器线程的过程,包括:
当存储系统上电时,基于预设优先级创建所述定时器线程。
可选的,当所述定时器创建命令为周期性命令,还包括:
当所述定时器进行超时检查处理之后,将所述定时器插入至所述定时器激活链表数组中。
本申请还提供一种存储系统的定时装置,包括:
定时器节点激活模块,用于对接收到的定时器创建命令进行处理得到定时器节点;
定时器节点挂载模块,用于将所有所述定时器节点中的定时器挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;
定时器判断模块,用于基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的定时方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的定时方法的步骤。
本申请所提供的一种存储系统的定时方法,包括:对接收到的定时器创建命令进行处理得到定时器节点;将所有所述定时器节点中的定时器挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
通过将创建的定时器节点挂载至定时器激活链表数组中,并基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,实现定时器的功能,由于中断功能和定时器各自独立,平行工作,避免了相互影响,提高了定时器功能的实时性和性能。
本申请还提供一种存储系统的定时装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种存储系统的定时方法的流程图;
图2为本申请实施例所提供的一种RAID卡的结构示意图;
图3为本申请实施例所提供的全局空闲定时器节点双向链表的结构示意图;
图4为本申请实施例所提供的双向链表的结构示意图;
图5为本申请实施例所提供的定时器激活链表数组的结构示意图;
图6为本申请实施例所提供的另一种定时方法的流程图;
图7为本申请实施例所提供的一种存储系统的定时装置的结构示意图;
图8为本申请实施例所提供的一种服务器的结构示意图。
具体实施方式
本申请的核心是提供一种存储系统的定时方法、定时装置、服务器以及计算机可读存储介质,以提高存储系统中定时功能的实时性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种存储系统的定时方法,通过将创建的定时器节点挂载至定时器激活链表数组中,并基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,实现定时器的功能,由于中断功能和定时器各自独立,平行工作,避免了相互影响,提高了定时器功能的实时性和性能。
以下通过一个实施例,对本申请提供的一种存储系统的定时方法进行说明。
请参考图1,图1为本申请实施例所提供的一种存储系统的定时方法的流程图。
本实施例中,该方法可以包括:
S101,对接收到的定时器创建命令进行处理得到定时器节点;
本步骤旨在对接收到的定时器创建命令进行处理得到定时器节点。其中,定时器节点为提供定时功能的结构体。
其中,定时器创建命令为设备接收到的外界发送的命令,主要是用于创建对应的定时器命令。可以是用户发送的定时器创建命令,也可以是从网络接收到的定时器创建命令,还可以是服务器基于预设条件生成的定时器创建命令。
进一步的,本步骤可以包括:
S1011,接收定时器创建指令;
S1012,基于定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点;
S1013,对全局空闲定时器节点进行激活,得到定时器节点。
可见,本可选方案中主要是说明如何获取定时器节点。本可选方案中,接收定时器创建指令;基于定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点;对全局空闲定时器节点进行激活,得到定时器节点。也就是说,本可选方案中从现有的全局空闲定时器节点链表直接提取对应的全局空闲定时器节点,而不用再从内存中进行申请,提高了创建全局空闲定时器节点的效率,避免由于内存问题导致的无法创建的问题。
进一步的,上一可选方案中的S1012可以包括:
步骤1,对定时器创建指令进行解析,得到命令参数;
步骤2,基于命令参数在全局空闲定时器节点链表中确定对应的全局空闲定时器节点。
可见,本可选方案中主要是说明如何确定对应的全局空闲定时器节点。本可选方案中,对定时器创建指令进行解析,得到命令参数;基于命令参数在全局空闲定时器节点链表中确定对应的全局空闲定时器节点。也就是,基于命令参数选择合适的全局空闲定时器节点。
进一步的,上一可选方案中的S1013可以包括:
基于命令参数对全局空闲定时器节点设置对应的节拍数,得到定时器节点。
可见,本可选方案中主要是说明如何激活定时器节点。本可选方案中,基于命令参数对全局空闲定时器节点设置对应的节拍数,得到定时器节点。也就是说,基于节拍数确定到定时器节点的存在时长。
进一步的,上一可选方案中创建全局空闲定时器节点链表的过程,可以包括:
步骤1,当存储系统上电时,从内存中申请多个全局空闲定时器节点;
步骤2,将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。
可见,本可选方案中主要是说明如何创建全局空闲定时器节点链表。本可选方案中,当存储系统上电时,从内存中申请多个全局空闲定时器节点;将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。也就是,可以直接基于固件中的内存分配模块从内存中申请多个全局空闲定时器节点。
进一步的,上一可选方案中步骤2可以包括:
基于每个全局空闲定时器节点的前指针字段和后指针字段将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。
可见,本可选方案中主要是说明将多个全局空闲定时器节点链接为双向链表。本可选方案中,基于每个全局空闲定时器节点的前指针字段和后指针字段将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。
S102,将所有定时器节点中的定时器挂载至定时器激活链表数组;其中,定时器激活链表数组包括节拍数组以及与节拍数组中的对应元素挂载的多个定时器激活链表;
在S101的基础上,本步骤旨在将所有定时器节点中的定时器挂载至定时器激活链表数组;其中,定时器激活链表数组包括节拍数组以及与节拍数组中的对应元素挂载的多个定时器激活链表。
进一步的,本步骤可以包括:
基于每个定时器节点中的节拍数将对应的定时器节点挂载至定时器激活链表数组。
可见,本可选方案中主要是说明如何挂载定时器节点。本可选方案中,基于每个定时器节点中的节拍数将对应的定时器节点挂载至定时器激活链表数组。
进一步的,本实施例中,创建定时器激活链表数组的过程,可以包括:
步骤1,基于预设节拍数量设置对应的多个节拍数组元素,并组成节拍数组;
步骤2,将对应的定时器激活链表挂载至节拍数组中对应的元素。
可见,本可选方案中主要是说明如何创建定时器激活链表数组。本可选方案中,基于预设节拍数量设置对应的多个节拍数组元素,并组成节拍数组;将对应的定时器激活链表挂载至节拍数组中对应的元素。也就是先构建节拍数组,然后将定时器激活链表挂载至节拍数组中对应的元素中,实现了类似于二维数组的结构。通过该定时器激活链表数组将数组占用内存空间少、数据可随机访问、查找速度快的优点和链表的可动态添加删除、大小可变的优势融合在一起。
进一步的,本实施例中,设置定时器激活链表数组中的时钟节拍的过程,可以包括:
基于实时性需求信息和系统性能确定节拍时长,将节拍时长设置为时钟节拍。
也就是说,时钟节拍值由存储系统平台决定和用户需求综合决定。例如,如果用户对RAID卡的实时性要求很高则会根据RAID卡系统平台性能决定是以1ms为一个时钟节拍还是以5ms为一个时钟节拍,如果RAID卡系统硬件平台性能能够做到1ms为一个时钟节拍则以1ms为时钟节拍否则以5ms为时钟节拍;如果用户对RAID卡的实时性要求不高,则以10ms为时钟节拍。
因此,定时时间长度用时钟节拍个数衡量,比如时钟节拍为5ms,应用程序设置定时时间为3s,那么3s/5ms=600,即600个节拍。
S103,基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
在S102的基础上,本步骤旨在基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。也就是说,基于每次接收到的中断指令判断对应的定时器是否超时。其中,每次接收到中断指令就是得到一次节拍。因此,通过与节拍配合可以快速确定定时器是否超时,提高了定时功能的实时性。
进一步的,本步骤可以包括:
S1031,通过中断指令触发中断处理函数;
S1032,通过中断处理函数唤醒定时器线程,基于定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理。
可见,本可选方案中主要是说明如何进行超时检查。本可选方案中,通过中断指令触发中断处理函数;通过中断处理函数唤醒定时器线程,基于定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理。显然,本可选方案中进行超时检查的过程是通过中断处理函数和定时器线程实现,两者独立,互不干扰,提高了超时检查的实时性。
进一步的,上一可选方案中的S1031可以包括:
步骤1,从硬件定时器模块接收到中断指令;
步骤2,通过中断指令触发中断处理函数。
可见,本可选方案中主要是说明如何触发中断处理函数。本可选方案中,从硬件定时器模块接收到中断指令;通过中断指令触发中断处理函数。通过硬件定时器模块提高了中断指令的稳定性。
进一步的,上一可选方案中的S1032可以包括:
步骤1,通过定时器线程判断定时器激活链表数组中对应的定时器是否超时;
步骤2,若是,则回调超时处理函数。
可见,本可选方案中主要是说明如何进行超时检查。本可选方案中,通过定时器线程判断定时器激活链表数组中对应的定时器是否超时;若是,则回调超时处理函数。也就是说,判断定时器是否超时,若是则执行对应的函数,实现定时器的功能。
进一步的,上一可选方案中的步骤1,可以包括:
步骤1.1,通过定时器线程从定时器激活链表数组中选取对应元素的定时器激活链表;
步骤1.2,判断定时器激活链表中对应的定时器是否超时。
可见,本可选方案中,通过定时器线程从定时器激活链表数组中选取对应元素的定时器激活链表;判断定时器激活链表中对应的定时器是否超时。可见,本可选方案中先选择出对应的定时器激活链表,然后进行判断。
进一步的,上一可选方案中的步骤1,可以包括:
步骤1.1,基于定时器激活链表数组的当前定时器指针确定对应的定时器激活链表;
步骤1.2,若定时器激活链表不为空时,通过定时器线程判断定时器激活链表中对应的定时器是否超时。
可见,本可选方案中,基于定时器激活链表数组的当前定时器指针确定对应的定时器激活链表;若定时器激活链表不为空时,通过定时器线程判断定时器激活链表中对应的定时器是否超时。也就是,通过当前定时器指针确定当前节拍数下所指的定时器激活链表。
进一步的,还可以包括:
当接收到中断指令时,当前定时器指针指向下一个元素。
进一步的,本实施例中创建定时器线程的过程,可以包括:
当存储系统上电时,基于预设优先级创建定时器线程。其中,预设优先级可以是高优先级。
进一步的,本实施例中当定时器创建命令为周期性命令,还可以包括:
当定时器进行超时检查处理之后,将定时器插入至定时器激活链表数组中。实现了周期性的定时操作。
综上,本实施例通过将创建的定时器节点挂载至定时器激活链表数组中,并基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,实现定时器的功能,由于中断功能和定时器各自独立,平行工作,避免了相互影响,提高了定时器功能的实时性和性能。
以下通过另一具体的实施例,对本申请提供的一种存储系统的定时方法做进一步说明。
本实施例中以RAID卡为例对本申请提供的存储系统的定时方法进行说明。
请参考图2,图2为本申请实施例所提供的一种RAID卡的结构示意图。
首先介绍存储系统中的RAID卡的结构,包括:固件层中的定时器软件逻辑功能模块110、硬件定时器模块120、Allocate模块150。
其中,Allocate模块在RAID卡上电初始化时从内存中申请若干个全局空闲定时器节点,并利用全局空闲定时器节点中的前指针字段和后指针字段将多个全局空闲定时器节点链接为全局空闲定时器节点双向链表。
其中,定时器软件逻辑功能模块负责从全局空闲定时器节点双向链表中取出定时器节点,当用户的应用程序操作RAID卡创建一个或多个定时器节点时,定时器软件逻辑功能模块从全局空闲定时器节点双向链表中取出相应数量的定时器节点并构成双向链表,而且定时器软件逻辑功能模块会维护一个定时器激活链表数组,其中定时器激活链表数组将链表和数组结合使用,将数组占用内存空间少、数据可随机访问、查找速度快的优点和链表的可动态添加删除、大小可变的优势融合在一起。
其中,硬件定时器模块触发周期性定时中断驱动。
其中,RAID卡中固件层包括驱动程序、RAID卡内核、文件系统、管理监控系统和定时器软件逻辑功能模块等,RAID卡内核提供底层逻辑功能,文件系统可以提供对文件和逻辑单元号LUN(Logical Unit Number,逻辑单元号)访问的功能。RAID卡中固件层的驱动程序实现适配各个外设的代码逻辑功能。处理器执行一些程序指令,用于处理主机I/O请求。
进一步的,图2中磁盘组1(130)构成1号RAID阵列,磁盘组2构成2号RAID阵列,以此类推,磁盘组N构成N号RAID阵列。1号RAID阵列、2号RAID阵列......N号RAID阵列一起构成RAID组。RAID卡控制器140负责RAID卡中的软件处理功能,由RAID卡控制器专门实现软件功能,硬件模块执行一些算法、数据管理以及其他一些功能,以此实现软硬分离,硬件和软件各自独立、平行工作,通过软硬分离系统架构设计提高RAID卡的定时器性能、功能。
本实施例设计的RAID卡定时器提供单次定时和周期性定时功能。定时器由硬件定时器模块提供周期性定时中断驱动,每一个定时中断称为一个时钟节拍。时钟节拍值由RAID卡的系统平台决定和用户需求综合确定。例如,如果用户对RAID卡的实时性要求很高则会根据RAID卡系统平台性能决定是以1ms为一个时钟节拍还是以5ms为一个时钟节拍,如果RAID卡系统硬件平台性能能够做到1ms为一个时钟节拍则以1ms为时钟节拍否则以5ms为时钟节拍;如果用户对RAID卡的实时性要求不高,则以10ms为时钟节拍。
定时时间长度用时钟节拍个数衡量,比如时钟节拍为5ms,应用程序设置定时时间为3s,那么3s/5ms=600。因此,用户设置定时的逻辑可以包括:
步骤1,当用户通过命令行CLI(command-line interface,命令行界面)或者图形化界面GUI(Graphical User Interface,图形界面)设置3s定时时长;
步骤2,RAID卡控制器解析该命令并将解析所得的参数透传至定时器软件逻辑功能模块;
步骤3,定时器软件逻辑功能模块会从全局空闲定时器节点双向链表中取出定时器,然后插入定时器链表;
步骤4,最后定时器软件逻辑功能模块根据参数将创建的定时器值设置为600。
其中,定时器节点的结构如下:
typedef struct TIMER_STRUCT
{
uint timer_id; //定时器id
char * timer_name; //定时器命名指针
Active active_timer; //定时器内部管理结构
struct TIMER_STRUCT
*pre_pointer, //指向前一个定时器的指针
*next_pointer; //指向后一个定时器的指针
} Timer;
其中,timer_id是定时器id,timer_name是定时器命名指针。active_timer是定时器内部管理结构,当定时器被激活后会将active_timer插入到定时器激活链表数组中。pre_pointer是指向前一个定时器的指针,next_pointer是指向下一个定时器的指针。
请参考图3,图3为本申请实施例所提供的全局空闲定时器节点双向链表的结构示意图。
图3为全局空闲定时器节点双向链表,通过多个定时器节点中的pre_pointer前指针、next_pointer后指针构成双向链表。
进一步的,定时器节点中的active_timer字段是一个最主要的字段也是一个结构体,定时器工作之前需要激活active_timer结构体,active_timer结构体激活后,根据节拍数放入定时器激活链表数组的指定数组链表中。
active_timer结构体,可以如下:
typedef struct Timer_Active
{
Parameter para_timeout; //定时超时函数参数
void (*function_timeout)(para_timeout); //定时超时处理函数
uint remaining_ticks; //定时剩余的节拍数
uint cycle_ticks; //周期性定时器节拍数
struct Timer_Active
*pre_active_pointer, //指向前一个active_timer结构体的指针
*next_active_pointer; //指向后一个active_timer结构体的指针
uint timer_type; //定时器类型
}Active;
基于上述说明,当用户的应用程序向RAID卡申请一个或多个定时器时,软件逻辑功能模块会从全局空闲定时器节点双向链表中取出相应数量的定时器并构成其维护的双向链表。举例用户的应用程序向RAID卡中创建三个定时器,取出成功过程及取出后构成双向链表过程如图4所示。
请参考图4,图4为本申请实施例所提供的双向链表的结构示意图。
图4中500指示的是Allocate模块申请的全局空闲定时器节点双向链表,当用户的应用程序向RAID卡发送了创建三个定时器的命令时,软件逻辑功能模块从全局空闲缓存节点链表的头部取出三个定时器节点。因此,被取出三个定时器节点后的全局空闲定时器节点双向链表如图4中510所示。定时器软件逻辑功能模块将取出的三个定时器节点构成双向链表(如图4中520所示)。
进一步的,定义定时器软件逻辑功能模块维护的一个定时器激活链表数组为timer_list[TIMER_ENTRIES],timer_list数组有32个元素。
因此,使用宏定义#define TIMER_ENTRIES 32,即TIMER_ENTRIES等于32。
并且,定义Timer *timer_list[TX_TIMER_ENTRIES]和全局变量Timer **timer_current_ptr。由上述定义可见,timer_list[TX_TIMER_ENTRIES]中存放的是指针数组,timer_current_ptr是二级指针。
请参考图5,图5为本申请实施例所提供的定时器激活链表数组的结构示意图。
定时器激活链表数组timer_list有32个元素,从0-31,每个元素指向一个链表,同时也表示节拍计数。0代表节拍0,1代表节拍1...31代表节拍31,timer_list[0]代表节拍0,timer_list[31]代表节拍31。举例说明如图5所示,当多个定时器被激活后,根据其节拍数挂载到其对应的双向链表上。
由图5可知,本实施例设计的定时器激活链表数组将链表和数组结合使用,将数组占用内存空间少、数据可随机访问、查找速度快的优点和链表的可动态添加删除、大小可变的优势融合在一起。
请参考图6,图6为本申请实施例所提供的另一种定时方法的流程图。
最后,本实施例中可以实现的定时方法可以包括:
S201,RAID卡上电,开始平台系统的初始化。
S202,各模块初始化完成后,创建高优先级的定时器线程。
S203,RAID卡接收到用户应用程序下发的创建定时器命令,并解析该命令。
S204,根据解析的命令参数,从全局空闲定时器节点双向链表中取出相应的定时器节点。
S205,将所有激活的定时器挂载到定时器激活链表数组中。
S206,硬件定时器模块触发周期性定时中断,从而触发中断处理函数。
S207,中断处理函数唤醒定时器线程。
S208,定时器线程检查链表中定时器是否超时,如果超时就回调超时处理函数(超时处理函数就为active_timer结构体中的function_timeout字段)。
S209,处理完后挂起定时器线程,等待下一次中断。
其中,定时器激活链表数组timer_list有32个元素,从0-31,每个元素指向一个链表,同时也表示节拍计数。0代表节拍0,1代表节拍1...31代表节拍31,timer_list[0]代表节拍0,timer_list[31]代表节拍31。
本实施例的定时器软件逻辑功能模块维护一个timer_current_ptr全局指针,并初始化时指向timer_list[0],硬件定时器模块每发送一个时钟中断到来,timer_current_ptr加1,如果到了31,就从0开始,再次指向timer_list[0]。中断处理函数会判断*timer_current_ptr是否为空,也就是对应链表是否有激活定时器,如果不为空,就唤醒定时器线程进行处理。
定时器线程获取*timer_current_ptr链表中激活定时器,判断激活定时剩余时间是否为0。如果为0,说明超时,调用超时处理函数(function_timeout)处理(超时处理函数就是图4中的function_timeout字段)。如果激活定时剩余时间不为0,再次插入timer_list激活链表中。
如果是周期性定时器,定时器超时处理后,要再次把定时器插入激活链表中。因此本实施例实现了RAID卡定时器的单次定时和周期性定时功能。
可见,在不增加硬件的情况下,通过本实施例设计的技术方案能够提高RAID卡读写数据、处理业务的实时性,增加公司在RAID卡市场的核心竞争力;
本实施例采用软硬分离的设计思路,硬件和软件各自独立、平行工作,通过软硬分离系统架构设计提高RAID卡的定时器性能、功能;
本实施例在RAID卡固件层中新增定时器软件逻辑功能模块、新增硬件定时器模块和Allocate模块,通过硬件定时器模块发送的周期性定时中断驱动,实现RAID卡定时器的单次定时和周期性定时功能,以此提高RAID卡读写数据、处理业务的实时性;
本实施例设计的定时器激活链表数组将链表和数组结合使用,将数组占用内存空间少、数据可随机访问、查找速度快的优点和链表的可动态添加删除、大小可变的优势融合在一起;
本实施例详细给出了提高RAID卡定时器性能和功能的详细设计方案,设计方案十分详尽,业务逻辑清晰,逻辑控制和算法简单明了,易于实现。通过提高RAID卡的实时性,不仅提高存储系统的I/O性能而且可以提高数据安全性。
下面对本申请实施例提供的存储系统的定时装置进行介绍,下文描述的存储系统的定时装置与上文描述的存储系统的定时方法可相互对应参照。
请参考图7,图7为本申请实施例所提供的一种存储系统的定时装置的结构示意图。
本实施例中,该装置可以包括:
定时器节点激活模块71,用于对接收到的定时器创建命令进行处理得到定时器节点;
定时器节点挂载模块72,用于将所有定时器节点中的定时器挂载至定时器激活链表数组;其中,定时器激活链表数组包括节拍数组以及与节拍数组中的对应元素挂载的多个定时器激活链表;
定时器判断模块73,用于基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
可选的,对接收到的定时器创建命令进行处理得到定时器节点的过程,可以包括:
接收定时器创建指令;
基于定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点;
对全局空闲定时器节点进行激活,得到定时器节点。
可选的,基于定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点的过程,可以包括:
对定时器创建指令进行解析,得到命令参数;
基于命令参数在全局空闲定时器节点链表中确定对应的全局空闲定时器节点。
可选的,对全局空闲定时器节点进行激活,得到定时器节点的过程,可以包括:
基于命令参数对全局空闲定时器节点设置对应的节拍数,得到定时器节点。
可选的,创建全局空闲定时器节点链表的过程,可以包括:
当存储系统上电时,从内存中申请多个全局空闲定时器节点;
将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。
可选的,将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表的过程,可以包括:
基于每个全局空闲定时器节点的前指针字段和后指针字段将多个全局空闲定时器节点进行链接,得到全局空闲定时器节点链表。
可选的,将所有定时器节点中的定时器挂载至定时器激活链表数组的过程,可以包括:
基于每个定时器节点中的节拍数将对应的定时器节点挂载至定时器激活链表数组。
可选的,创建定时器激活链表数组的过程,可以包括:
基于预设节拍数量设置对应的多个节拍数组元素,并组成节拍数组;
将对应的定时器激活链表挂载至节拍数组中对应的元素。
可选的,设置定时器激活链表数组中的时钟节拍的过程,可以包括:
基于实时性需求信息和系统性能确定节拍时长,将节拍时长设置为时钟节拍。
可选的,基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理的过程,可以包括:
通过中断指令触发中断处理函数;
通过中断处理函数唤醒定时器线程,基于定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理。
可选的,通过中断指令触发中断处理函数的过程,可以包括:
从硬件定时器模块接收到中断指令;
通过中断指令触发中断处理函数。
可选的,基于定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理的过程,可以包括:
通过定时器线程判断定时器激活链表数组中对应的定时器是否超时;
若是,则回调超时处理函数。
可选的,通过定时器线程判断定时器激活链表数组中对应的定时器是否超时的过程,可以包括:
通过定时器线程从定时器激活链表数组中选取对应元素的定时器激活链表;
判断定时器激活链表中对应的定时器是否超时。
可选的,通过定时器线程从定时器激活链表数组中选取对应元素的定时器激活链表的过程,可以包括:
基于定时器激活链表数组的当前定时器指针确定对应的定时器激活链表;
若定时器激活链表不为空时,通过定时器线程对定时器激活链表进行处理。
可选的,还可以包括:
当接收到中断指令时,当前定时器指针指向下一个元素。
可选的,创建定时器线程过程,可以包括:
当存储系统上电时,基于预设优先级创建定时器线程。
可选的,当定时器创建命令为周期性命令的过程,还可以包括:
当定时器进行超时检查处理之后,将定时器插入至定时器激活链表数组中。
本实施例,通过将创建的定时器节点挂载至定时器激活链表数组中,并基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理,实现定时器的功能,由于中断功能和定时器各自独立,平行工作,避免了相互影响,提高了定时器功能的实时性和性能。
本申请还提供了一种服务器,请参考图8,图8为本申请实施例所提供的一种服务器的结构示意图,该服务器可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种存储系统的定时方法的步骤。
如图8所示,为服务器的组成结构示意图,服务器可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行异常IP识别方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
对接收到的定时器创建命令进行处理得到定时器节点;
将所有所述定时器节点中的定时器挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;
基于中断指令对定时器激活链表数组中对应的定时器进行超时检查处理。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图8所示的结构并不构成对本申请实施例中服务器的限定,在实际应用中服务器可以包括比图8所示的更多或更少的部件,或者组合某些部件。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种存储系统的定时方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种存储系统的定时方法、定时装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (18)
1.一种存储系统的定时方法,其特征在于,包括:
接收定时器创建指令;
基于所述定时器创建指令确定对应的全局空闲定时器节点;
对所述全局空闲定时器节点进行激活,得到所述定时器节点;
基于每个所述定时器节点中的节拍数将对应的所述定时器节点挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;
通过中断指令触发中断处理函数,通过所述中断处理函数唤醒定时器线程,基于所述定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理,以便在每次接收到的所述中断指令时判断对应的定时器是否超时;其中,每次接收到所述中断指令为得到一次节拍。
2.根据权利要求1所述的定时方法,其特征在于,基于所述定时器创建指令确定对应的全局空闲定时器节点,包括:
基于所述定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点。
3.根据权利要求2所述的定时方法,其特征在于,基于所述定时器创建指令在全局空闲定时器节点链表中确定对应的全局空闲定时器节点,包括:
对所述定时器创建指令进行解析,得到命令参数;
基于所述命令参数在所述全局空闲定时器节点链表中确定对应的全局空闲定时器节点。
4.根据权利要求3所述的定时方法,其特征在于,对所述全局空闲定时器节点进行激活,得到所述定时器节点,包括:
基于所述命令参数对所述全局空闲定时器节点设置对应的节拍数,得到所述定时器节点。
5.根据权利要求2所述的定时方法,其特征在于,创建所述全局空闲定时器节点链表的过程,包括:
当存储系统上电时,从内存中申请多个全局空闲定时器节点;
将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表。
6.根据权利要求5所述的定时方法,其特征在于,将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表,包括:
基于每个所述全局空闲定时器节点的前指针字段和后指针字段将所述多个全局空闲定时器节点进行链接,得到所述全局空闲定时器节点链表。
7.根据权利要求1所述的定时方法,其特征在于,创建所述定时器激活链表数组的过程,包括:
基于预设节拍数量设置对应的多个节拍数组元素,并组成所述节拍数组;
将对应的所述定时器激活链表挂载至所述节拍数组中对应的元素。
8.根据权利要求7所述的定时方法,其特征在于,设置所述定时器激活链表数组中的时钟节拍的过程,包括:
基于实时性需求信息和系统性能确定节拍时长,将所述节拍时长设置为所述时钟节拍。
9.根据权利要求1所述的定时方法,其特征在于,通过所述中断指令触发中断处理函数,包括:
从硬件定时器模块接收到所述中断指令;
通过所述中断指令触发中断处理函数。
10.根据权利要求1所述的定时方法,其特征在于,基于所述定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理,包括:
通过所述定时器线程判断所述定时器激活链表数组中对应的定时器是否超时;
若是,则回调超时处理函数。
11.根据权利要求10所述的定时方法,其特征在于,通过所述定时器线程判断所述定时器激活链表数组中对应的定时器是否超时,包括:
通过所述定时器线程从所述定时器激活链表数组中选取对应元素的定时器激活链表;
判断所述定时器激活链表中对应的定时器是否超时。
12.根据权利要求10所述的定时方法,其特征在于,通过所述定时器线程判断所述定时器激活链表数组中对应的定时器是否超时,包括:
基于所述定时器激活链表数组的当前定时器指针确定对应的定时器激活链表;
若所述定时器激活链表不为空时,通过所述定时器线程判断所述定时器激活链表中对应的定时器是否超时。
13.根据权利要求12所述的定时方法,其特征在于,还包括:
当接收到所述中断指令时,所述当前定时器指针指向下一个元素。
14.根据权利要求1所述的定时方法,其特征在于,创建所述定时器线程的过程,包括:
当存储系统上电时,基于预设优先级创建所述定时器线程。
15.根据权利要求1所述的定时方法,其特征在于,当所述定时器创建命令为周期性命令,还包括:
当所述定时器进行超时检查处理之后,将所述定时器插入至所述定时器激活链表数组中。
16.一种存储系统的定时装置,其特征在于,包括:
定时器节点激活模块,用于接收定时器创建指令,基于所述定时器创建指令确定对应的全局空闲定时器节点,对所述全局空闲定时器节点进行激活,得到所述定时器节点;
定时器节点挂载模块,用于基于每个所述定时器节点中的节拍数将对应的所述定时器节点挂载至定时器激活链表数组;其中,所述定时器激活链表数组包括节拍数组以及与所述节拍数组中的对应元素挂载的多个定时器激活链表;
定时器判断模块,用于通过中断指令触发中断处理函数,通过所述中断处理函数唤醒定时器线程,基于所述定时器线程对定时器激活链表数组中对应的定时器进行超时检查处理,以便在每次接收到的所述中断指令时判断对应的定时器是否超时;其中,每次接收到所述中断指令为得到一次节拍。
17.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至15任一项所述的定时方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述的定时方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209450.0A CN115934000B (zh) | 2023-03-07 | 2023-03-07 | 一种存储系统的定时方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209450.0A CN115934000B (zh) | 2023-03-07 | 2023-03-07 | 一种存储系统的定时方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115934000A CN115934000A (zh) | 2023-04-07 |
CN115934000B true CN115934000B (zh) | 2023-06-09 |
Family
ID=85818509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209450.0A Active CN115934000B (zh) | 2023-03-07 | 2023-03-07 | 一种存储系统的定时方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934000B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835851A (zh) * | 2021-08-19 | 2021-12-24 | 威胜信息技术股份有限公司 | 一种实时操作系统定时器实现方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060020842A1 (en) * | 2004-07-26 | 2006-01-26 | International Business Machines Corporation | Timer management for reducing power consumption and workload in computers |
CN101477386B (zh) * | 2009-01-12 | 2011-03-16 | 杭州华三通信技术有限公司 | 一种定时器实现方法和装置 |
CN102478878A (zh) * | 2010-11-23 | 2012-05-30 | 天津中兴软件有限责任公司 | 定时方法 |
CN104035786B (zh) * | 2014-07-01 | 2017-11-24 | 上海斐讯数据通信技术有限公司 | 一种软件定时器的优化方法及系统 |
CN105302739A (zh) * | 2014-07-21 | 2016-02-03 | 深圳市中兴微电子技术有限公司 | 一种内存管理方法和装置 |
JP6559777B2 (ja) * | 2016-07-21 | 2019-08-14 | バイドゥ ドットコム タイムズ テクノロジー(ペキン)カンパニー リミテッドBaidu.com Times Technology (Beijing) Co., Ltd. | 自律走行車における処理ノードのデータフローを管理する方法、装置及びシステム |
CN106406997B (zh) * | 2016-09-20 | 2020-03-06 | 新华三技术有限公司 | 一种定时器调度方法和装置 |
CN108845872B (zh) * | 2018-06-21 | 2021-02-02 | 武汉虹信科技发展有限责任公司 | 一种用于嵌入式系统的软件定时器实现方法 |
CN109039746B (zh) * | 2018-08-07 | 2022-02-25 | 新华三技术有限公司 | 检测双向转发路径检测会话状态的方法及处理器 |
CN109274546B (zh) * | 2018-08-07 | 2020-08-14 | 新华三技术有限公司 | 一种定时器调度方法及装置 |
CN113992588B (zh) * | 2021-10-21 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
CN115576501B (zh) * | 2022-12-06 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种raid卡的节点更新方法、系统及相关装置 |
-
2023
- 2023-03-07 CN CN202310209450.0A patent/CN115934000B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835851A (zh) * | 2021-08-19 | 2021-12-24 | 威胜信息技术股份有限公司 | 一种实时操作系统定时器实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115934000A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767184A (zh) | 一种故障诊断方法、装置及电子设备和存储介质 | |
US10108450B2 (en) | Mechanism for SSDs to efficiently manage background activity with notify | |
CN111625401A (zh) | 基于集群文件系统的数据备份方法、装置及可读存储介质 | |
US20130031298A1 (en) | Including performance-related hints in requests to composite memory | |
CN105574141B (zh) | 一种对数据库进行数据迁移的方法和装置 | |
WO2024119764A1 (zh) | 一种任务调度方法、装置及电子设备和存储介质 | |
EP3667504B1 (en) | Storage medium management method, device and readable storage medium | |
WO2022042127A1 (zh) | 一种协程切换的方法、装置及设备 | |
WO2024027107A1 (zh) | 一种独立磁盘冗余阵列格式化调度方法、装置、设备及介质 | |
CN111966449B (zh) | 一种虚拟机备份管理方法、系统、终端及存储介质 | |
CN110879742A (zh) | 虚拟机异步创建内部快照方法、装置及存储介质 | |
CN101968755A (zh) | 一种自适应应用负载变化的快照生成方法 | |
WO2024119775A1 (zh) | 一种raid卡的节点更新方法、系统及相关装置 | |
WO2024113717A1 (zh) | 基于zns ssd的文件系统控制方法、装置及设备 | |
WO2024119774A1 (zh) | Raid卡的写方法、raid卡的写系统及相关装置 | |
US20090249003A1 (en) | Method and system for multiplexing concatenated storage disk arrays to form a rules-based array of disks | |
WO2021088423A1 (zh) | 一种用于raid io的内存管理方法、系统、终端及存储介质 | |
US20180121350A1 (en) | Working set adjustment in a managed environment | |
CN115934000B (zh) | 一种存储系统的定时方法及相关装置 | |
CN115080128A (zh) | 一种硬盘启动顺序管理方法、系统、装置及存储介质 | |
EP4439307A1 (en) | Log subsystem, log system, vehicle log system, and vehicle | |
CN115951845B (zh) | 一种磁盘管理方法、装置、设备及存储介质 | |
CN118210618A (zh) | 存储资源管理方法、装置、电子设备及存储介质 | |
JP2539184B2 (ja) | タグ・サ―バ・システム及び方法 | |
WO2024259890A1 (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 |