CN115809072A - 一种升级进程的方法、装置、设备及存储介质 - Google Patents
一种升级进程的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115809072A CN115809072A CN202111083124.7A CN202111083124A CN115809072A CN 115809072 A CN115809072 A CN 115809072A CN 202111083124 A CN202111083124 A CN 202111083124A CN 115809072 A CN115809072 A CN 115809072A
- Authority
- CN
- China
- Prior art keywords
- time period
- target
- data processing
- target process
- upgrading
- 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.)
- Pending
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种升级进程的方法,确定目标时间段,该目标时间段是根据目标进程在历史时间段接收的数据处理请求的数量分布进行预测得到的,并且该目标进程在目标时间段内接收数据处理请求的数量小于预设阈值,从而可以在该目标时间段内对目标进程进行升级。由于基于历史经验(预测出其它设备未来很可能不会在该目标时间段内向存储设备发送数据处理请求,因此目标进程在目标时间段内进行升级时可以具有较大的可能性能够避免出现数据处理请求阻塞的问题,或者即使出现数据处理请求阻塞的问题,阻塞的数据处理请求的数量也通常较少。此外,本申请还提供了对应的装置、设备及存储介质。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种升级进程的方法、装置、设备及存储介质。
背景技术
存储设备,是指将信息进行数字化后利用电、磁或者光学等方式进行存储的设备,其可以提供数据读写服务。具体地,存储设备可以接收其它设备发送的数据处理请求,如用于请求读写数据的输入/输出(Input/Output,IO)等,并根据数据处理请求中携带的操作指令读取存储设备中已经存储的数据,或者向该存储设备中写入新数据。
实际应用场景中,通常会对存储设备中的软件进行升级,例如可以是更新存储设备的数据处理逻辑以及增加存储设备中的进程功能等。其中,在更新存储设备中用于接收数据处理请求的进程时,如更新该进程所支持的协议等,该进程暂时难以接收其它设备发送的数据处理请求,从而导致存储设备出现大量数据处理请求阻塞的问题,进而对其它设备上的业务产生影响。
因此,如何实现在升级用于接收数据处理请求的进程的过程中尽可能避免存储设备出现大量数据处理请求阻塞成为亟需解决的重要技术问题。
发明内容
有鉴于此,本申请实施例提供了一种升级进程的方法,以实现在升级用于接收数据处理请求的进程的过程中尽可能避免存储设备出现大量数据处理请求阻塞。本申请还提供了对应的装置、计算设备、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供了一种升级进程的方法,具体实现时,先确定目标时间段,该目标时间段是根据目标进程在历史时间段接收的数据处理请求(如IO等)的数量分布进行预测得到的,并且该目标进程在目标时间段内接收数据处理请求的数量小于预设阈值,从而可以在该目标时间段内对目标进程进行升级。
由于基于历史经验(即上述目标进程在历史时间段所接收的数据处理请求的数量分布)预测出其它设备未来很可能不会在该目标时间段内向存储设备发送数据处理请求,所以,目标进程在目标时间段内进行升级时可以具有较大的可能性能够避免出现数据处理请求阻塞的问题,或者即使出现数据处理请求阻塞的问题,阻塞的数据处理请求的数量也通常较少。
在一种可能的实施方式中,在确定目标时间段时,具体可以是根据目标进程在历史时间接收的数据处理请求的数量分布,预测目标进程未来接收数据处理请求的数量小于预设阈值的多个时间段,并呈现相应的推荐界面,该推荐界面中包括所确定出的多个时间段的标识,并响应于运维人员针对该多个时间段的标识的选择操作,确定目标时间段,即将该选择操作所选中的时间段作为目标时间段。如此,可以在运维人员的参与下,实现从多个时间段中确定出用于升级目标进程的目标时间段,从而可以提高运维人员对于升级目标进程的时间段的自由度。
在一种可能的实施方式中,在确定目标时间段时,具体可以是根据目标进程在历史时间接收的数据处理请求的数量分布,预测目标进程未来接收数据处理请求的数量小于预设阈值的多个时间段,从该多个时间段中自动确定出目标时间段,其中,所确定出的目标时间段在于该多个时间段中的其余时间段,和/或,该目标进程在目标时间段内接收的数据处理请求的数量最少。如此,可以从多个可用于升级目标进程的时间段中,自动确定出时间最早和/或涉及的数据处理请求的数量最少的目标时间段,从而可以无需运维人员的人工干预,实现针对目标进程的自动化升级。
在一种可能的实施方式中,在目标时间段内对目标进程进行升级时,具体可以是当存储设备在目标时间段的起始时刻不存在所需接收的数据处理请求时,在目标时间段内对目标进程进行升级。这样,存储设备可以在目标进程不存在所需接收的数据处理请求时执行对于目标进程的升级过程,以此可以尽可能避免存储设备在升级目标进程的过程中所存在的数据处理请求阻塞的问题。
在一种可能的实施方式中,当存储设备在目标时间段的起始时刻存在所需接收的数据处理请求时,在备选时间段内对目标进程进行升级,该备选时间段晚于目标时间段。由于存储设备在目标时间段内存在数据处理请求需要接收,因此,通过在备选时间段内升级目标进程可以实现避免存储设备在目标时间段内升级目标进程所产生的数据处理请求发生堵塞的问题。
可选地,备选时间段例如可以是将目标时间段顺延一定时长后的时间段。例如,当在目标时间段2:00:00至2:00:10的起始时刻存在所要接收的数据处理请求时,假设目标进程接收数据处理请求的时长为1秒,则备选时间段即为等待目标进程接收完数据处理请求后对目标进程进行升级的时间段2:00:01至2:00:16。或者,备选时间段也可以是根据统计信息所预测出的除目标时间段以外的其它时间段。例如,假设根据目标进程在历史时间内接收数据处理请求的数量分布确定出多个可用于升级目标进程的时间段,如确定出2:00:00至2:00:10以及4:30:30至4:31:00这两个时间段等。则,管理设备可以将2:00:00至2:00:10作为目标时间段,将4:30:30至4:31:00作为备选时间段。或者,用于升级目标进程的备选时间段也可以是通过其它方式进行确定。例如,备选时间段具体可以是推荐界面上呈现的除运维人员选择的目标时间段之外的其它任意时间段。
第二方面,本申请提供一种进程升级装置,该装置包括确定模块,用于确定目标时间段,所述目标时间段是根据目标进程在历史时间接收的数据处理请求的数量分布进行预测得到的,,所述目标进程在所述目标时间段内接收数据处理请求的数量小于预设阈值;升级模块,用于在所述目标时间段内对所述目标进程进行升级。
在一种可能的实施方式中,所述确定模块,用于:根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;呈现推荐界面,所述推荐界面包括所述多个时间段的标识;响应于针对所述多个时间段的标识的选择操作,确定所述目标时间段。
在一种可能的实施方式中,所述确定模块,用于:根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;确定目标时间段,所述目标时间段早于所述多个时间段中的其余时间段,和/或,所述目标进程在所述目标时间段内接收的数据处理请求的数量最少。
在一种可能的实施方式中,所述升级模块,用于:当存储设备在所述目标时间段的起始时刻不存在所需接收的数据处理请求时,在所述目标时间段内对所述目标进程进行升级。
在一种可能的实施方式中,所述升级模块,还用于:当所述存储设备在所述目标时间段的起始时刻存在所需接收的数据处理请求时,在备选时间段内对所述目标进程进行升级,所述备选时间段晚于所述目标时间段。
第三方面,本申请提供一种计算设备,所述计算设备包括处理器、存储器和显示器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行存储器中存储的指令,以使得计算设备执行如第一方面或第一方面的任一种实现方式中的升级进程的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算设备上运行时,使得计算设备执行上述第一方面或第一方面的任一种实现方式所述的升级进程的方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面或第一方面的任一种实现方式所述的升级进程的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种采用盘控分离架构的集中式存储系统的架构示意图;
图2为本申请实施例提供的一种采用存算分离架构的分布式存储系统的架构示意图;
图3为本申请实施例提供的一种升级进程的方法流程示意图;
图4为本申请实施例提供的一种推荐界面的示意图;
图5为本申请实施例提供的一种进程升级装置的结构示意图;
图6为本申请实施例提供的一种计算设备的硬件结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
本申请可以应用于集中式存储系统的应用场景中。所谓集中式存储系统就是指由一台或多台主设备组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有数据处理业务都集中部署在这个中心节点上。换言之,集中式存储系统中,终端或客户端仅负责数据的录入和输出,而数据的存储与控制处理完全交由中心节点来完成。集中式系统最大的特点就是部署结构简单,无需考虑如何对服务进行多个节点的部署,也就不用考虑多个节点之间的分布式协作问题。
参见图1,为一示例性采用盘控分离架构的集中式存储系统的架构示意图。在图1所示的集中式存储系统中,用户通过应用程序来存取数据。运行这些应用程序的计算机被称为“应用服务器”。应用服务器100可以是物理机,也可以是虚拟机。物理应用服务器包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用服务器通过光纤交换机110访问存储系统以存取数据。然而,交换机110只是一个可选设备,应用服务器100也可以直接通过网络与存储设备120通信。或者,光纤交换机110也可以替换成以太网交换机、InfiniBand交换机、RoCE(RDMA over Converged Ethernet)交换机等。
图1所示的存储设备120是一个集中式存储系统。集中式存储系统的特点是有一个统一的入口,所有从外部设备来的数据都要经过这个入口,这个入口就是集中式存储系统的引擎121。引擎121是集中式存储系统中最为核心的部件,许多存储系统的高级功能都在其中实现。
如图1所示,引擎121中有一个或多个控制器,图1以引擎包含两个控制器为例予以说明。控制器0与控制器1之间具有镜像通道,那么当控制器0将一份数据写入其内存124后,可以通过所述镜像通道将所述数据的副本发送给控制器1,控制器1将所述副本存储在自己本地的内存124中。由此,控制器0和控制器1互为备份,当控制器0发生故障时,控制器1可以接管控制器0的业务,当控制器1发生故障时,控制器0可以接管控制器1的业务,从而避免硬件故障导致整个存储设备120的不可用。当引擎121中部署有4个控制器时,任意两个控制器之间都具有镜像通道,因此任意两个控制器互为备份。
引擎121还包含前端接口125和后端接口126,其中前端接口125用于与应用服务器100通信,从而为应用服务器100提供存储服务。而后端接口126用于与硬盘134通信,以扩充存储系统的容量。通过后端接口126,引擎121可以连接更多的硬盘134,从而形成一个非常大的存储资源池。
在硬件上,如图1所示,控制器0至少包括处理器123、内存124。处理器123是一个中央处理器(central processing unit,CPU),用于处理来自存储系统外部(服务器或者其他存储系统)的数据访问请求,也用于处理存储系统内部生成的请求。示例性的,处理器123通过前端端口125接收应用服务器100发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存124中。当内存124中的数据总量达到一定阈值时,处理器123通过后端端口将内存124中存储的数据发送给硬盘134进行持久化存储。
内存124是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(Read Only Memory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(Dynamic Random Access Memory,DRAM),或者存储级存储器(Storage Class Memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(Random Access Memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但存取速度上比DRAM慢,在成本上也比DRAM更为便宜。然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(Static Random Access Memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。另外,内存124还可以是双列直插式存储器模块或双线存储器模块(Dual In-line MemoryModule,简称DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(Solid State Disk,SSD)。实际应用中,控制器0中可配置多个内存124,以及不同类型的内存124。本实施例不对内存113的数量和类型进行限定。此外,可对内存124进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存124中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
内存124中存储有软件程序,处理器123运行内存124中的软件程序可实现对硬盘的管理。例如将硬盘抽象化为存储资源池,然后划分为LUN提供给服务器使用等。这里的LUN其实就是在服务器上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为服务器提供共享文件服务。
控制器1(以及其他图1中未示出的控制器)的硬件组件和软件结构与控制器0类似,这里不再赘述。
图1所示的引擎121可以不具有硬盘槽位,硬盘134需要放置在存储模块130中,后端接口126与存储模块130通信。后端接口126以适配卡的形态存在于引擎121中,一个引擎121上可以同时使用两个或两个以上后端接口126来连接多个硬盘框。或者,适配卡也可以集成在主板上,此时适配卡可通过PCIE总线与处理器112通信。
需要说明的是,图1中只示出了一个引擎121,然而在实际应用中,存储系统中可包含两个或两个以上引擎121,多个引擎121之间做冗余或者负载均衡。
存储模块130包括控制单元131和若干个硬盘134。控制单元131可具有多种形态。一种情况下,存储模块130可以属于智能盘框,如图1所示,控制单元131包括CPU和内存。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。另一种情况下,控制单元131是一个可编程的电子部件,例如数据处理单元(data processing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成图形处理单元(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-networkprocessing units,NPU)等处理芯片。通常情况下,控制单元131的数量可以是一个,也可以是两个或两个以上。当存储模块130包含至少两个控制单元131时,硬盘134与控制单元131之间可具有归属关系。如果硬盘134与控制单元131之间具有归属关系,那么每个控制单元只能访问归属于它的硬盘,这往往涉及到在控制单元131之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,在存储模块130中增加新的硬盘134时需要重新绑定硬盘134与控制单元131之间的归属关系,操作复杂,导致存储空间的扩展性较差。因此在另一种实施方式中,控制单元131的功能可以卸载到网卡104上。换言之,在该种实施方式中,存储模块130内部不具有控制单元131,而是由网卡104来完成数据读写、地址转换以及其他计算功能。此时,网卡104是一个智能网卡。它可以包含CPU和内存。在某些应用场景中,网卡104也可能具有持久性存储介质,如持久性内存(Persistent Memory,PM),或者非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM),或者相变存储器(phase change memory,PCM)等。CPU用于执行地址转换以及读写数据等操作。内存用于临时存储将要写入硬盘134的数据,或者从硬盘134读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如DPU、GPU、NPU等处理芯片。存储模块130中的网卡104和硬盘134之间没有归属关系,网卡104可访问该存储模块130中任意一个硬盘134,因此在存储空间不足时扩展硬盘会较为便捷。
按照引擎121与存储模块130之间通信协议的类型,存储模块130可能是SAS硬盘框,也可能是NVMe硬盘框,IP硬盘框以及其他类型的硬盘框。SAS硬盘框,采用SAS3.0协议,每个框支持25块SAS硬盘。引擎121通过板载SAS接口或者SAS接口模块与存储模块130连接。NVMe硬盘框,更像一个完整的计算机系统,NVMe硬盘插在NVMe硬盘框内。NVMe硬盘框再通过RDMA端口与引擎121连接。
当然,图1所示的采用盘控分离架构的集中式存储系统仅作为一种示例性说明,实际应用中,集中式存储系统也可以采用盘控一体架构。与图1所示的盘控分离架构不同的是,在盘控一体架构中,引擎121可以具有硬盘槽位,并通过该硬盘槽位将需要放置在存储设备120中控制器0(以及控制器1)与硬盘134集成在同一存储设备中。
实际应用时,本申请还可以应用于分布式存储系统。其中,分布式存储系统是指将数据分散存储在多台独立的存储设备上的系统。分布式网络存储系统采用可扩展的系统结构,利用多台存储设备分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
参阅图2,该分布式存储系统可以采用存算分离架构。如图2所示,存算分离架构包括计算设备集群和存储设备集群。计算设备集群包括一个或多个计算设备110(图2中示出了两个计算设备110,但不限于两个计算设备110),各个计算设备110之间可以相互通信。计算设备110例如是服务器、台式计算机或者存储阵列的控制器等。在硬件上,如图2所示,计算设备110至少包括处理器112、内存113和网卡114。
任意一个计算设备110可通过网络访问存储设备集群中的任意一个存储设备100。存储设备集群包括多个存储设备100(图2中示出了三个存储设备100,但不限于三个存储设备100)。一个存储设备100包括一个或多个控制器101、网卡104与多个硬盘105。
当然,图2所示的采用存算分离架构的分布式存储系统仅作为一种示例性说明,实际应用中,分布式存储系统也可以是采用结构化存储(memory fabric,MF)架构,与图2所示的分布式存储系统不同的是,基于结构化存储架构的存储系统中,各个存储设备中包含不同类型的存储介质,如存储设备同时包括DRAM、SCM以及硬盘等存储介质,这些不同类型的存储介质均提供内存接口可直接被处理器访问。并且这些存储设备所包含的各种类型内存组成一个内存池。数据在内存池可根据访问频率在不同类型的存储介质之间换入换出。
值得注意的是,上述各存储系统仅作为一种示例性说明,实际应用时,也可以采用其它可适用的存储系统。例如,上述各存储系统中的各个存储设备可以位于不同的存储节点,如将该存储设备作为存储节点等。或者,在其它可能的存储系统中,除了可以包括通过网络连接的计算设备以及存储设备之外,还可以包括管理设备,该管理设备可以用于对存储设备进行管理,如向存储设备下发新版本的应用程序等,另外,还管理设备还可以支持运维人员对在该管理设备上对存储设备进行巡检和操作控制等。
针对上述存储设备,实际应用场景中可能会对存储设备中的软件进行升级。其中,存储设备的软件升级过程中包括对该存储设备中用于接收其它设备(如上述应用服务器100、计算设备110等)的数据处理请求的进程进行更新,例如增加该进程所支持的通信协议等。为便于描述,以下将该进程称之为目标进程。但是,目标进程在进行升级过程中,无法为存储设备继续接收数据处理请求,这使得当其它设备在这段时间段内发送的数据处理请求无法被存储设备所接收,从而出现数据处理请求阻塞的问题。
基于此,本申请提供了一种升级进程的方法,当需要升级存储设备中用于接收其它设备发送的数据处理请求的目标进程时,可以根据存储设备中的目标进程在历史时间接收的数据处理请求的数量分布,预测该目标进程未来接收数据处理请求的数量小于阈值的目标时间段,从而在该目标时间段内对目标进程进行升级。如此,由于基于历史经验预测出其它设备很可能不会在该目标时间段内向存储设备发送数据处理请求,所以,目标进程在目标时间段内进行升级时可以具有较大的可能性能够避免出现数据处理请求阻塞的问题,或者即使出现数据处理请求阻塞的问题,阻塞的数据处理请求的数量也通常较少。
作为一种示例,上述升级进程的方法可以由进程升级装置执行,该进程升级装置可以通过软件或者硬件实现。其中,当通过软件实现时,进程升级装置可以作为功能模块集成于存储设备或者上述管理设备,并使得该存储设备或者管理设备能够实现上述升级进程的方法。当通过硬件实现时,该进程升级装置例如可以是存储设备或者上述管理设备,或者也可以是通过专用集成电路(application-specific integrated circuit,ASIC)实现的设备,或者也可以是通过可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
实际应用中,该进程升级装置可以被部署于云端,或者,进程升级装置也可以被部署于本地,本实施例对此并不进行限定。
接下来,对对象识别的各种非限定性的具体实施方式进行详细描述。
参阅图3,为本申请实施例中一种升级进程的方法流程示意图。该方法可以由存储设备或者管理设备执行。示例性地,下面以管理设备执行上述升级进程的方法为例进行说明。图3所示的升级进程的方法具体可以包括:
S301:管理设备确定目标时间段,该目标时间段是根据目标进程在历史时间接收的数据处理请求的数量分布进行预测得到,该目标进程在目标时间段内接收数据处理请求的数量小于预设阈值。
本实施例中,管理设备可以根据历史经验确定对存储设备中的目标进程进行升级的时机,基于此,管理设备可以先获取该目标进程在历史时间所接收的数据处理请求的数量分布。其中,历史时间,是指相对于当前时刻而言的过去时间,如过去的1天、7天或者30天等。
在一种可能的实施方式中,当运维人员需要对存储设备中用于接收数据处理请求的目标进程进行升级时,运维人员可以在该管理设备上查询该存储设备是否存在对目标进程进行升级的时间段。此时,管理设备基于运维人员的查询操作,生成相应的查询请求。然后,管理设备可以将该查询请求发送给存储设备。实际应用时,存储设备在为其它设备提供数据读写服务时,可以对其接收的数据处理请求进行记录,如记录存储设备接收每个数据处理请求的时间戳等。这样,当存储设备接收到查询设备发送的查询请求后,可以基于该查询请求查询记录文件,从而通过数据统计获得存储设备在历史时间所接收到的数据处理请求的数量分布,如获取存储设备在过去30天内所接收到的数据处理请求的数量分布等。
而在另一种可能的实施方式中,管理设备在运行时,可以监控存储设备针对数据处理请求的接收情况并进行记录。这样,当运维人员在管理设备上执行查询操作时,管理设备可以通过查询本地记录获取存储设备在历史时间所接收到的数据处理请求的数量分布。当然,上述两种实施方式仅作为示例性说明,实际应用时,管理设备也可以是通过其它方式获取统计信息,本实施例对此并不进行限定。
然后,管理设备可以通过大数据分析的方式,根据目标进程在历史时间接收数据处理请求的数量分布预测出未来的目标时间段,其中,管理设备通过预测可以确定目标进程在该目标时间段内所接收的数据处理请求的数量较少或者没有接收数据处理请求。
作为一种实现示例,管理设备可以对目标进程在历史时间接收数据处理请求的数量分布进行函数拟合,从而可以根据拟合得到的函数推算出目标进程接收数据处理请求的数量较少的时间段,具体可以将预测出的接收数据处理请求小于预设阈值的时间段确定为目标时间段。示例性地,该预设阈值可以是1,此时,管理设备预测目标进程在目标时间段内无需接收数据处理请求;或者,该预设阈值可以是大于1的整数,此时,管理设备预测目标进程在目标时间段内存在少量的数据处理请求等待接收。其中,所确定出目标时间段的时长可以预先根据升级目标进程所需的时长进行确定,比如,当升级目标进程所需的时长为10秒时,可以设置所要查询的目标时间段的时长也为10秒(或者为大于10秒的任意时长等)。
而在另一种实现示例中,管理设备可以通过遍历目标进程在历史时间接收数据处理请求的数量分布,确定目标进程的空闲周期。比如,假设历史时间段具体为过去7天的时间段,并且管理设备通过遍历确定过去7天中每天的2:00:00至2:00:10以及4:30:30至4:31:00这两个时间段内,目标进程均未接收数据处理请求。此时,管理设备可以将2:00:00至2:00:10以及4:30:30至4:31:00这两个时间段确定为目标进程的空闲周期。这样,管理设备可以根据该空闲周期进一步推算出目标进程在未来时刻的空闲时间段,如第二天的2:00:00至2:00:10或者4:30:30至4:31:00等,并在未来时刻的一个或者多个空闲时间段内确定出目标时间段。
上述两种实现方式仅作为对于确定目标时间段过程的示例性说明,在其它可能的实施例中,管理设备也可以是通过其它方式确定出目标时间段,本实施例对此并不进行限定。
实际应用场景中,管理设备根据统计信息可能会预测出多个未来的时间段,并且目标进程在该多个时间段内所接收的数据处理请求的数量均小于预设阈值,例如,管理设备根据统计信息所预测出的时间段包括第二天的2:00:00至2:00:10或者4:30:30至4:31:00等。此时,可以由运维人员从多个时间段中选择用于升级目标进程的目标时间段。具体地,管理设备在确定得到可用于升级目标进程的多个时间段后,可以呈现如图4所示的推荐界面,该推荐界面中包括多个时间段的标识(如多个时间段的区间描述等),如图4中为存储设备1确定出的时间段1、时间段2、时间段3等。这样,运维人员可以在该推荐界面上对多个时间段进行选择,从而管理设备可以响应于运维人员的选择操作,将运维人员所选择的时间段确定为目标时间段。
上述实施方式中,管理设备是在运维人员的参与下实现从多个时间段中确定出目标时间段,而在另一种可能的实施方式中,管理设备也可以是自动确定,从而可以无需运维人员指定,以此可以简化运维人员在对目标进程进行升级时所需执行的操作。具体实现时,管理设备在根据统计信息预测目标进程未来接收数据处理请求的数量小于阈值的多个时间段后,可以从多个时间段内选择最早的时间段作为目标时间段,即所确定的目标时间段早于该多个时间段中的其余时间段。或者,管理设备也可以从多个时间段内选择目标进程接收数据处理请求的数量最少的时间段作为目标时间段。比如,管理设备可以根据目标进程在各个时间段内所接收的数据处理请求的数量,按照由小到大的顺序对多个时间段进行排序,并将排序第一的时间段确定为目标时间段,如排序第一的时间段对应的数据处理请求接收数量为0等。实际应用时,管理设备也可以是同时结合时间段的先后顺序以及目标进程在各个时间段内所接收的数据处理请求的数量确定目标时间段等;或者,管理设备可以采用其它方式从多个时间段中确定目标时间段等,本实施例对此并不进行限定。
S302:管理设备在目标时间段内对目标进程进行升级。
管理设备在确定目标时间段后,可以在到达目标时间段之前,生成升级指令,该升级指令中至少包括目标时间段的标识。实际应用场景中,管理设备可能不仅仅对目标进程进行升级,还可能存在其它升级任务。因此,在一种示例中,管理设备所生成的升级指令中还可以包括升级任务的指示信息,该指示信息用于指示对目标进程进行升级以及针对存储设备的其它升级任务。然后,管理设备可以将升级指令发送给存储设备。存储设备在接收到升级指令后,可以根据该升级指令启动相应的升级任务。
实际应用场景中,在对存储设备进行软件升级时,例如可以是对存储设备中的目标进程进行更新,以及对存储设备中的数据控制逻辑进行更新,如更新存储设备中的数据读写方式、调整存储区域划分规则等。
因此,在到达目标时间段之前,存储设备可以先执行软件升级任务中与升级目标进程无关的其它升级内容,如存储设备可以先执行调整存储区域划分规则的升级内容等。当升级内容为对目标进程进行升级时,判断当前是否存在需要接收的数据处理请求,如果不存在,则存储设备可以直接执行针对目标进程的升级任务。如果存在,则存储设备可以暂时停止升级任务,并等待至目标时间段时才启动针对目标进程的升级。
当到达目标时间段时,若存储设备在目标时间段的起始时刻确定不存在需要接收的数据处理请求,则存储设备可以在该目标时间段内对目标进程进行升级。这样,存储设备升级目标进程的过程中,该目标进程具有较大可能性可以无需接收数据处理请求,从而可以尽可能避免存储设备在升级目标进程的过程中出现数据处理请求阻塞的问题。进一步的,存储设备还可以在完成对于目标进程的升级后,继续执行对升级任务中与该目标进程相关的其它升级内容。
由于实际应用场景中,存在一定的可能性其它设备在目标时间段内发送数据处理请求,因此,当到达目标时间段时,若存储设备在目标时间段的起始时刻存在需要接收的数据处理请求,则存储设备在该目标时间段内可以暂时不对目标进程进行升级,并确定备选时间段,以便存储设备在到达备选时间段时再对目标进程进行升级。
其中,备选时间段例如可以是将目标时间段顺延一定时长后的时间段。例如,当在目标时间段2:00:00至2:00:10的起始时刻存在所要接收的数据处理请求时,存储设备可以等待目标进程结束对该数据处理请求的接收过程,假设目标进程接收数据处理请求的时长为1秒,则存储设备可以在时间段2:00:01至2:00:11对该目标进程进行升级。此时,备选时间段即为等待目标进程接收完数据处理请求后对目标进程进行升级的时间段2:00:01至2:00:16。
或者,备选时间段也可以是根据统计信息所预测出的除目标时间段以外的其它时间段。例如,假设管理设备根据统计信息确定出多个可用于升级目标进程的时间段,如确定出2:00:00至2:00:10以及4:30:30至4:31:00这两个时间段等。则,管理设备可以将2:00:00至2:00:10作为目标时间段,将4:30:30至4:31:00作为备选时间段,并在存储设备执行升级任务之前,将这两个目标时间段以及备选时间段发送给存储设备。这样,存储设备在确定目标时间段内暂不对目标进程进行升级时,可以等待到达备选时间段4:30:30至4:31:00开始对目标进程进行升级。
当然,实际应用时,用于升级目标进程的备选时间段也可以是通过其它方式进行确定。例如,当管理设备呈现如图4所示的推荐界面时,在运维人员选择时间段1作为目标时间段后,可以将时间段2以及时间段3自动确定为备选时间段等,或者由运维人员在该推荐界面上指定时间段2和/或时间段3作为备选时间段等。
值得注意的是,上述示例中,存储设备可以在不需要接收数据处理请求的空闲期(也即目标时间段或备选时间段等)完成对于目标进程的升级。而在其它可能的示例中,当到达目标时间段的起始时刻时,即使存储设备存在需要接收的数据处理请求,存储设备仍然可以在该目标时间段内升级目标进程。此时,虽然部分数据处理请求因为目标进程升级而在存储设备上发生阻塞,但是,由于预先通过预测可以确定存储设备在该目标时间段内所需接收的数据处理请求的数量较少(具体为小于阈值),因此,存储设备在该目标时间段发生阻塞的数据处理请求的数量通常也较少,从而可以尽可能避免升级目标进程的过程中存储设备出现大量数据处理请求阻塞的问题。
进一步地,当存储设备成功完成针对目标进程的升级任务或者发生升级失败时,可以生成相应的升级结果,并将该升级结果反馈给管理设备。这样,管理设备可以将该升级结果通过与运维人员之间的交互界面反馈给运维人员。可选地,当升级结果指示存储设备发生升级目标进程失败时,该升级结果还可以包括引发升级目标进程失败的原因,以便运维人员可以根据该原因对存储设备进行相应的修复。这样,存储设备在被修复后,可以通过重新执行升级过程等方式实现对于目标进程的升级。
需要说明的是,本实施例中,是以管理设备根据统计信息确定目标时间段并指示存储设备在该目标时间段升级目标进程为例进行示例性说明。在其他可能的实施例中,上述过程也可以是由存储设备执行,此时,存储设备可以执行根据统计信息确定目标时间段的操作,并在该目标时间段自动对目标进程进行升级,其具体实现过程与上述过程类似,可参照上述相关之处描述,在此不做赘述。
以上结合图1至图4对本申请实施例提供的升级进程的方法进行介绍,接下来结合附图对本申请实施例提供的进程升级装置的功能以及实现该进程升级装置的计算设备进行介绍。
参见图5,示出了一种进程升级装置的结构示意图,该进程升级装置500包括:
确定模块501,用于确定目标时间段,所述目标时间段是根据目标进程在历史时间接收的数据处理请求的数量分布进行预测得到的,,所述目标进程在所述目标时间段内接收数据处理请求的数量小于预设阈值;
升级模块502,用于在所述目标时间段内对所述目标进程进行升级。
在一种可能的实施方式中,所述确定模块501,用于:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
呈现推荐界面,所述推荐界面包括所述多个时间段的标识;
响应于针对所述多个时间段的标识的选择操作,确定所述目标时间段。
在一种可能的实施方式中,所述确定模块501,用于:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
确定目标时间段,所述目标时间段早于所述多个时间段中的其余时间段,和/或,所述目标进程在所述目标时间段内接收的数据处理请求的数量最少。
在一种可能的实施方式中,所述升级模块502,用于:
当所述存储设备在所述目标时间段的起始时刻不存在所需接收的数据处理请求时,在所述目标时间段内对所述目标进程进行升级。
在一种可能的实施方式中,所述升级模块502,还用于:
当所述存储设备在所述目标时间段的起始时刻存在所需接收的数据处理请求时,在备选时间段内对所述目标进程进行升级,所述备选时间段晚于所述目标时间段。
由于图5所示的进程升级装置500对应于图3所示的升级进程的方法,故图5所示的进程升级装置500的具体实现方式及其所具有的技术效果,可以参见前述实施例中的相关之处描述,在此不做赘述。
图6提供了一种计算设备。如图6所示,计算设备600具体可以用于实现上述图5所示实施例中进程升级装置500的功能。
计算设备600包括总线601、处理器602和存储器603。处理器602、存储器603之间通过总线61通信。
总线601可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器602可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器603可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器1503还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard drivedrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器603中存储有可执行的程序代码,处理器602执行该可执行的程序代码以执行前述管理设备升级存储设备中目标进程的方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述管理设备升级存储设备中目标进程的方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品可以为一个软件安装包,在需要使用前述对象识别方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (12)
1.一种升级进程的方法,其特征在于,所述方法包括:
确定目标时间段,所述目标时间段是根据目标进程在历史时间接收的数据处理请求的数量分布进行预测得到的,所述目标进程在所述目标时间段内接收数据处理请求的数量小于预设阈值;
在所述目标时间段内对所述目标进程进行升级。
2.根据权利要求1所述的方法,其特征在于,所述确定目标时间段,包括:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
呈现推荐界面,所述推荐界面包括所述多个时间段的标识;
响应于针对所述多个时间段的标识的选择操作,确定所述目标时间段。
3.根据权利要求1所述的方法,其特征在于,所述确定目标时间段,包括:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
确定目标时间段,所述目标时间段早于所述多个时间段中的其余时间段,和/或,所述目标进程在所述目标时间段内接收的数据处理请求的数量最少。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述在所述目标时间段内对所述目标进程进行升级,包括:
当存储设备在所述目标时间段的起始时刻不存在所需接收的数据处理请求时,在所述目标时间段内对所述目标进程进行升级。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述存储设备在所述目标时间段的起始时刻存在所需接收的数据处理请求时,在备选时间段内对所述目标进程进行升级,所述备选时间段晚于所述目标时间段。
6.一种进程升级装置,其特征在于,所述装置包括:
确定模块,用于确定目标时间段,所述目标时间段是根据目标进程在历史时间接收的数据处理请求的数量分布进行预测得到的,,所述目标进程在所述目标时间段内接收数据处理请求的数量小于预设阈值;
升级模块,用于在所述目标时间段内对所述目标进程进行升级。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,用于:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
呈现推荐界面,所述推荐界面包括所述多个时间段的标识;
响应于针对所述多个时间段的标识的选择操作,确定所述目标时间段。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,用于:
根据目标进程在历史时间接收的数据处理请求的数量分布,预测所述目标进程未来接收数据处理请求的数量小于所述预设阈值的多个时间段;
确定目标时间段,所述目标时间段早于所述多个时间段中的其余时间段,和/或,所述目标进程在所述目标时间段内接收的数据处理请求的数量最少。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述升级模块,用于:
当存储设备在所述目标时间段的起始时刻不存在所需接收的数据处理请求时,在所述目标时间段内对所述目标进程进行升级。
10.根据权利要求9所述的装置,其特征在于,所述升级模块,还用于:
当所述存储设备在所述目标时间段的起始时刻存在所需接收的数据处理请求时,在备选时间段内对所述目标进程进行升级,所述备选时间段晚于所述目标时间段。
11.一种计算设备,其特征在于,包括处理器、存储器;
所述处理器用于执行所述存储器中存储的指令,以使所述计算设备执行如权利要求1至5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括指令,当其在计算设备上运行时,使得所述计算设备执行如权利要求1至5中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111083124.7A CN115809072A (zh) | 2021-09-15 | 2021-09-15 | 一种升级进程的方法、装置、设备及存储介质 |
PCT/CN2022/091707 WO2023040302A1 (zh) | 2021-09-15 | 2022-05-09 | 一种升级进程的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111083124.7A CN115809072A (zh) | 2021-09-15 | 2021-09-15 | 一种升级进程的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115809072A true CN115809072A (zh) | 2023-03-17 |
Family
ID=85481989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111083124.7A Pending CN115809072A (zh) | 2021-09-15 | 2021-09-15 | 一种升级进程的方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115809072A (zh) |
WO (1) | WO2023040302A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719648A (zh) * | 2023-08-10 | 2023-09-08 | 泰山学院 | 一种用于计算机系统的数据管理方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100452724C (zh) * | 2006-10-19 | 2009-01-14 | 杭州华三通信技术有限公司 | 自动选择升级时间的方法及装置 |
CN107769966A (zh) * | 2017-10-12 | 2018-03-06 | 上海斐讯数据通信技术有限公司 | 一种确定路由器升级时间的方法及系统 |
DE102018206720A1 (de) * | 2018-05-02 | 2019-11-07 | Audi Ag | Verfahren zum Durchführen eines Softwareupdates in einem Steuergerät eines Kraftfahrzeugs sowie entsprechend eingerichtetes Kraftfahrzeug |
CN110069293A (zh) * | 2019-04-02 | 2019-07-30 | 上海米哈游网络科技股份有限公司 | 一种升级服务器软件的方法、系统和装置 |
CN113377396B (zh) * | 2021-05-21 | 2022-07-12 | 珠海格力电器股份有限公司 | 一种升级方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-15 CN CN202111083124.7A patent/CN115809072A/zh active Pending
-
2022
- 2022-05-09 WO PCT/CN2022/091707 patent/WO2023040302A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719648A (zh) * | 2023-08-10 | 2023-09-08 | 泰山学院 | 一种用于计算机系统的数据管理方法及系统 |
CN116719648B (zh) * | 2023-08-10 | 2023-11-07 | 泰山学院 | 一种用于计算机系统的数据管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023040302A1 (zh) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459657B2 (en) | Storage system with read cache-on-write buffer | |
US10642704B2 (en) | Storage controller failover system | |
JP6453373B2 (ja) | スケーラブルプールNVMeストレージボックス(a scalable pooled nvme storage box) | |
US8826290B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US20170199694A1 (en) | Systems and methods for dynamic storage allocation among storage servers | |
CN109446169B (zh) | 一种双控磁盘阵列共享文件系统 | |
US10154091B1 (en) | Deploying infrastructure units according to resource hosting constraints | |
US20220179585A1 (en) | Management of Idle Time Compute Tasks in Storage Systems | |
US20210126846A1 (en) | Edge computing device and method for controlling thereof | |
JP2016051446A (ja) | 計算機システム、計算機、負荷分散方法及びそのプログラム | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
JP2013206379A (ja) | クラスタ監視装置、クラスタ監視方法、及びプログラム | |
CN115809072A (zh) | 一种升级进程的方法、装置、设备及存储介质 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
US20070174836A1 (en) | System for controlling computer and method therefor | |
CN114296909A (zh) | 一种根据kubernetes事件的节点自动扩容缩容方法及系统 | |
US11561824B2 (en) | Embedded persistent queue | |
CN111247508A (zh) | 网络存储架构 | |
CN109120674B (zh) | 大数据平台的部署方法及装置 | |
US20170123657A1 (en) | Systems and methods for back up in scale-out storage area network | |
US20240095211A1 (en) | Published File System And Method | |
AU2021266891B2 (en) | Fencing non-responding ports in a network fabric | |
US20040139205A1 (en) | Hot standby server system | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
CN113655963B (zh) | 基于内存桥接的数据存储系统、方法及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |