WO2023040302A1 - 一种升级进程的方法、装置、设备及存储介质 - Google Patents

一种升级进程的方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2023040302A1
WO2023040302A1 PCT/CN2022/091707 CN2022091707W WO2023040302A1 WO 2023040302 A1 WO2023040302 A1 WO 2023040302A1 CN 2022091707 W CN2022091707 W CN 2022091707W WO 2023040302 A1 WO2023040302 A1 WO 2023040302A1
Authority
WO
WIPO (PCT)
Prior art keywords
time period
target
data processing
target process
processing requests
Prior art date
Application number
PCT/CN2022/091707
Other languages
English (en)
French (fr)
Inventor
周晓锋
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023040302A1 publication Critical patent/WO2023040302A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present application relates to the field of storage technology, and in particular to a method, device, device and storage medium for upgrading a process.
  • a storage device refers to a device that digitizes information and then stores it using electrical, magnetic or optical methods, which can provide data reading and writing services.
  • the storage device can receive data processing requests sent by other devices, such as input/output (Input/Output, IO) for requesting to read and write data, etc., and read the data stored in the storage device according to the operation instructions carried in the data processing request. data that has already been stored, or write new data to the storage device.
  • input/output Input/Output, IO
  • the software in the storage device is usually upgraded, for example, updating the data processing logic of the storage device and increasing the process function in the storage device.
  • updating the process used to receive data processing requests in the storage device such as updating the protocol supported by the process
  • it is temporarily difficult for the process to receive data processing requests sent by other devices resulting in a large number of data processing request blocks in the storage device problems, which in turn affect services on other devices.
  • the embodiment of the present application provides a method for upgrading a process, so as to avoid blocking of a large number of data processing requests in the storage device as much as possible during the process of upgrading the process for receiving data processing requests.
  • the present application also provides corresponding apparatuses, computing devices, computer-readable storage media, and computer program products.
  • the embodiment of the present application provides a method for upgrading a process.
  • first determine the target time period which is based on the data processing requests (such as IO, etc.) received by the target process in the historical time period
  • the number distribution is predicted, and the number of data processing requests received by the target process within the target time period is less than a preset threshold, so that the target process can be upgraded within the target time period.
  • the target process Since it is predicted based on historical experience (that is, the distribution of the number of data processing requests received by the target process in the historical time period) that other devices are likely not to send data processing requests to the storage device within the target time period in the future, the target process is When upgrading within the target time period, there is a greater possibility that the problem of data processing request blocking can be avoided, or even if the problem of data processing request blocking occurs, the number of blocked data processing requests is usually small.
  • the target time period when determining the target time period, it may specifically be based on the distribution of the number of data processing requests received by the target process in historical time, predicting how many data processing requests the target process will receive in the future that are less than the preset threshold time period, and present a corresponding recommendation interface, the recommendation interface includes the identification of the determined multiple time periods, and in response to the selection operation of the operation and maintenance personnel for the identification of the multiple time periods, determine the target time period, That is, the time period selected by the selection operation is taken as the target time period.
  • the target time period for upgrading the target process can be determined from multiple time periods, thereby improving the freedom of the operation and maintenance personnel for the time period for upgrading the target process.
  • the target time period when determining the target time period, it may specifically be based on the distribution of the number of data processing requests received by the target process in historical time, predicting how many data processing requests the target process will receive in the future that are less than the preset threshold time period, the target time period is automatically determined from the plurality of time periods, wherein the determined target time period lies in the remaining time periods of the plurality of time periods, and/or the target process is within the target time period Minimum number of data processing requests received within.
  • the target time period that is the earliest and/or involves the least number of data processing requests can be automatically determined from multiple time periods that can be used to upgrade the target process, so that the target can be achieved without manual intervention by the operation and maintenance personnel. Process automation upgrades.
  • the target process when the target process is upgraded within the target time period, specifically, when there is no data processing request to be received by the storage device at the beginning of the target time period, within the target time period Upgrade the target process internally.
  • the storage device can perform an upgrade process for the target process when there is no data processing request to be received by the target process, so that the problem of data processing request blocking in the process of upgrading the target process in the storage device can be avoided as much as possible .
  • the target process when the storage device has a data processing request to be received at the beginning of the target time period, the target process is upgraded in an alternative time period, and the alternative time period is later than the target process. period. Since the storage device needs to receive data processing requests within the target time period, by upgrading the target process within the alternative time period, the problem of data processing requests generated by the storage device upgrading the target process within the target time period can be avoided. .
  • the alternative time period may be, for example, a time period after the target time period is postponed for a certain period of time. For example, when there is a data processing request to be received at the beginning of the target time period from 2:00:00 to 2:00:10, assuming that the target process receives the data processing request for 1 second, the alternative time period is It is a time period from 2:00:01 to 2:00:16 for waiting for the target process to upgrade the target process after receiving the data processing request.
  • the candidate time period may also be other time periods other than the target time period predicted according to statistical information.
  • the management device may use 2:00:00 to 2:00:10 as the target time period, and use 4:30:30 to 4:31:00 as the alternative time period.
  • the alternative time period for upgrading the target process may also be determined in other ways.
  • the alternative time period may specifically be any other time period presented on the recommendation interface except the target time period selected by the operation and maintenance personnel.
  • the present application provides a process upgrading device, which includes a determination module for determining a target time period, and the target time period is predicted according to the distribution of the number of data processing requests received by the target process in historical time , the number of data processing requests received by the target process within the target time period is less than a preset threshold; an upgrade module is configured to upgrade the target process within the target time period.
  • the determining module is configured to: predict that the number of data processing requests received by the target process in the future is less than the preset threshold according to the distribution of the number of data processing requests received by the target process in historical time a plurality of time periods; presenting a recommendation interface, the recommendation interface including identifications of the plurality of time periods; in response to a selection operation for the identifications of the plurality of time periods, determining the target time period.
  • the determining module is configured to: predict that the number of data processing requests received by the target process in the future is less than the preset threshold according to the distribution of the number of data processing requests received by the target process in historical time a plurality of time periods; determine a target time period, the target time period is earlier than the remaining time periods in the plurality of time periods, and/or, the data processing request received by the target process within the target time period the least amount.
  • the upgrading module is configured to: when there is no data processing request to be received by the storage device at the beginning of the target time period, within the target time period The above target process is upgraded.
  • the upgrade module is further configured to: when the storage device has a data processing request to be received at the beginning of the target time period, within the alternative time period The target process is upgraded, and the candidate time period is later than the target time period.
  • the present application provides a computing device, where the computing device includes a processor, a memory, and a display.
  • the processor and the memory communicate with each other.
  • the processor is configured to execute instructions stored in the memory, so that the computing device executes the upgrade process method in the first aspect or any implementation manner of the first aspect.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computing device, the computing device executes the above-mentioned first aspect or any of the first aspects.
  • the present application provides a computer program product containing instructions, which, when run on a computing device, causes the computing device to execute the upgrade process described in the first aspect or any implementation manner of the first aspect method.
  • FIG. 1 is a schematic diagram of the architecture of a centralized storage system using a disk-control separation architecture provided by an embodiment of the present application;
  • FIG. 2 is a schematic diagram of the architecture of a distributed storage system using a storage-computing separation architecture provided by an embodiment of the present application;
  • FIG. 3 is a schematic flow diagram of a method for an upgrade process provided in an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a recommendation interface provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a process upgrading device provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a hardware structure of a computing device provided by an embodiment of the present application.
  • the so-called centralized storage system refers to a central node composed of one or more master devices, where data is stored centrally, and all data processing services of the entire system are centrally deployed on this central node.
  • the terminal or client is only responsible for the input and output of data, while the storage and control processing of data is completely handed over to the central node.
  • the biggest feature of the centralized system is that the deployment structure is simple, and there is no need to consider how to deploy services to multiple nodes, and there is no need to consider the distributed collaboration between multiple nodes.
  • FIG. 1 it is a schematic structural diagram of an exemplary centralized storage system adopting a disk-control separation architecture.
  • the application server 100 may be a physical machine or a virtual machine. Physical application servers include, but are not limited to, desktops, servers, laptops, and mobile devices.
  • the application server accesses the storage system through the optical fiber switch 110 to access data.
  • the switch 110 is only an optional device, and the application server 100 can also directly communicate with the storage device 120 through the network.
  • the optical fiber switch 110 can also be replaced with an Ethernet switch, an InfiniBand switch, a RoCE (RDMA over Converged Ethernet) switch, or the like.
  • the storage device 120 shown in FIG. 1 is a centralized storage system.
  • the characteristic of the centralized storage system is that there is a unified entrance, and all data from external devices must pass through this entrance, and this entrance is the engine 121 of the centralized storage system.
  • the engine 121 is the most core component in the centralized storage system, where many advanced functions of the storage system are implemented.
  • controllers in the engine 121 there are one or more controllers in the engine 121 .
  • the engine includes two controllers as an example for illustration.
  • controller 0 fails, controller 1 can take over the business of controller 0.
  • controller 1 fails, controller 0 can take over the business of controller 1. business, so as to avoid the unavailability of the entire storage device 120 caused by a hardware failure.
  • four controllers are deployed in the engine 121, there is a mirroring channel between any two controllers, so any two controllers are mutual backups.
  • the engine 121 also includes a front-end interface 125 and a back-end interface 126 , wherein the front-end interface 125 is used to communicate with the application server 100 to provide storage services for the application server 100 .
  • the back-end interface 126 is used to communicate with the hard disk 134 to expand the capacity of the storage system. Through the back-end interface 126, the engine 121 can be connected with more hard disks 134, thereby forming a very large storage resource pool.
  • the controller 0 includes at least a processor 123 and a memory 124 .
  • Processor 123 is a central processing unit (central processing unit, CPU), used for processing data access requests from outside the storage system (server or other storage systems), and also used for processing requests generated inside the storage system.
  • CPU central processing unit
  • the processor 123 receives the write data request sent by the application server 100 through the front-end port 125 , it will temporarily save the data in the write data request in the memory 124 .
  • the processor 123 sends the data stored in the memory 124 to the hard disk 134 for persistent storage through the back-end port.
  • the memory 124 refers to an internal memory directly exchanging data with the processor. It can read and write data at any time, and the speed is very fast. It is used as a temporary data storage for an operating system or other running programs.
  • Memory includes at least two kinds of memory, for example, memory can be either random access memory or read-only memory (Read Only Memory, ROM).
  • the random access memory is dynamic random access memory (Dynamic Random Access Memory, DRAM), or storage class memory (Storage Class Memory, SCM).
  • DRAM Dynamic Random Access Memory
  • SCM Storage Class Memory
  • DRAM is a semiconductor memory, which, like most Random Access Memory (RAM), is a volatile memory device.
  • SCM is a composite storage technology that combines the characteristics of traditional storage devices and memory.
  • Storage-class memory can provide faster read and write speeds than hard disks, but the access speed is slower than DRAM, and the cost is also cheaper than DRAM.
  • DRAM and SCM are only exemplary illustrations in this embodiment, and the memory may also include other random access memories, such as Static Random Access Memory (Static Random Access Memory, SRAM) and the like.
  • SRAM Static Random Access Memory
  • the read-only memory for example, it may be a programmable read-only memory (Programmable Read Only Memory, PROM), an erasable programmable read-only memory (Erasable Programmable Read Only Memory, EPROM), and the like.
  • the memory 124 can also be a dual-in-line memory module or a dual-line memory module (Dual In-line Memory Module, DIMM for short), that is, a module composed of dynamic random access memory (DRAM), or a solid-state hard drive. (Solid State Disk, SSD).
  • DIMM Dual In-line Memory Module
  • multiple memories 124 and different types of memories 124 may be configured in the controller 0 .
  • This embodiment does not limit the quantity and type of the memory 113 .
  • the memory 124 can be configured to have a power saving function.
  • the power saving function means that the data stored in the internal memory 124 will not be lost when the system is powered off and then powered on again. Memory with a power saving function is called non-volatile memory.
  • the memory 124 stores software programs, and the processor 123 runs the software programs in the memory 124 to manage the hard disk.
  • hard disks are abstracted into storage resource pools, and then divided into LUNs for use by servers.
  • the LUN here is actually the hard disk seen on the server.
  • some centralized storage systems are also file servers themselves, which can provide shared file services for servers.
  • controller 1 The hardware components and software structure of the controller 1 (and other controllers not shown in FIG. 1 ) are similar to those of the controller 0 and will not be repeated here.
  • the engine 121 shown in FIG. 1 may not have a hard disk slot, the hard disk 134 needs to be placed in the storage module 130 , and the back-end interface 126 communicates with the storage module 130 .
  • the back-end interface 126 exists in the engine 121 in the form of an adapter card, and one engine 121 can use two or more back-end interfaces 126 to connect multiple hard disk enclosures at the same time.
  • the adapter card can also be integrated on the motherboard, and at this time the adapter card can communicate with the processor 112 through the PCIE bus.
  • the storage system may include two or more engines 121 , and redundancy or load balancing is performed among the multiple engines 121 .
  • the storage module 130 includes a control unit 131 and several hard disks 134 .
  • the control unit 131 can have various forms. In one case, the storage module 130 may belong to a smart disk enclosure. As shown in FIG. 1 , the control unit 131 includes a CPU and a memory. The CPU is used to perform operations such as address translation and reading and writing data. The memory is used for temporarily storing data to be written into the hard disk 134, or data read from the hard disk 134 to be sent to the controller. In another case, the control unit 131 is a programmable electronic component, such as a data processing unit (data processing unit, DPU). A DPU has the general purpose and programmability of a CPU, but is more specialized, operating efficiently on network packets, storage requests, or analytics requests.
  • DPU data processing unit
  • DPUs are distinguished from CPUs by a greater degree of parallelism (the need to process a large number of requests).
  • the DPU here can also be replaced with a graphics processing unit (graphics processing unit, GPU), an embedded neural network processor (neural-network processing units, NPU) and other processing chips.
  • the number of control units 131 can be one, or two or more.
  • the storage module 130 includes at least two control units 131 , there may be an ownership relationship between the hard disk 134 and the control units 131 .
  • each control unit can only access the hard disk belonging to it, which often involves forwarding read/write data requests between the control units 131, resulting in a relatively narrow path for data access. long.
  • the storage space is insufficient, when adding a new hard disk 134 to the storage module 130, the ownership relationship between the hard disk 134 and the control unit 131 needs to be re-bound, and the operation is complicated, resulting in poor expandability of the storage space. Therefore, in another implementation manner, the functions of the control unit 131 can be offloaded to the network card 104 .
  • the storage module 130 does not have a control unit 131 inside, but the network card 104 completes data reading and writing, address conversion and other computing functions.
  • the network card 104 is an intelligent network card. It can contain CPU and memory.
  • the network card 104 may also have a persistent storage medium, such as a persistent memory (Persistent Memory, PM), or a non-volatile random access memory (Non-Volatile Random Access Memory, NVRAM), or a phase change Memory (phase change memory, PCM), etc.
  • PM Persistent Memory
  • NVRAM non-volatile random access memory
  • PCM phase change memory
  • the memory is used for temporarily storing data to be written into the hard disk 134, or data read from the hard disk 134 to be sent to the controller. It can also be a programmable electronic component, such as DPU, GPU, NPU and other processing chips. There is no affiliation relationship between the network card 104 and the hard disk 134 in the storage module 130, and the network card 104 can access any hard disk 134 in the storage module 130, so it is more convenient to expand the hard disk when the storage space is insufficient.
  • the storage module 130 may be a SAS disk enclosure, or an NVMe disk enclosure, an IP disk enclosure, or other types of disk enclosures.
  • the SAS hard disk enclosure adopts the SAS3.0 protocol, and each enclosure supports 25 SAS hard disks.
  • the engine 121 is connected to the storage module 130 through an onboard SAS interface or a SAS interface module.
  • the NVMe disk enclosure is more like a complete computer system, and the NVMe disk is inserted into the NVMe disk enclosure. The NVMe disk enclosure is then connected to the engine 121 through the RDMA port.
  • the centralized storage system adopting the disk-control separation architecture shown in FIG. 1 is only used as an example. In practical applications, the centralized storage system may also adopt the disk-control integration architecture. Different from the disk-control separation architecture shown in FIG. 1, in the disk-control integration architecture, the engine 121 may have a hard disk slot, and through the hard disk slot, controller 0 (and the controller 0) in the storage device 120 will need to be placed 1) It is integrated with the hard disk 134 in the same storage device.
  • the present application can also be applied to a distributed storage system.
  • the distributed storage system refers to a system that stores data dispersedly on multiple independent storage devices.
  • the distributed network storage system adopts a scalable system structure and uses multiple storage devices to share the storage load. It not only improves the reliability, availability and access efficiency of the system, but is also easy to expand.
  • the distributed storage system can adopt a storage-computing separation architecture.
  • the storage-computing separation architecture includes computing device clusters and storage device clusters.
  • the computing device cluster includes one or more computing devices 110 (two computing devices 110 are shown in FIG. 2 , but not limited to two computing devices 110 ), and each computing device 110 can communicate with each other.
  • the computing device 110 is, for example, a server, a desktop computer, or a controller of a storage array.
  • the computing device 110 includes at least a processor 112 , a memory 113 and a network card 114 .
  • Any computing device 110 can access any storage device 100 in the storage device cluster through a network.
  • the storage device cluster includes a plurality of storage devices 100 (three storage devices 100 are shown in FIG. 2 , but not limited to three storage devices 100).
  • a storage device 100 includes one or more controllers 101 , network cards 104 and multiple hard disks 105 .
  • each storage device contains different types of storage media.
  • the storage device also includes storage media such as DRAM, SCM, and hard disk. These different types All storage media provide a memory interface that can be directly accessed by the processor. And various types of memory included in these storage devices form a memory pool. Data in the memory pool can be swapped in and out between different types of storage media according to the frequency of access.
  • each storage device in each of the foregoing storage systems may be located on a different storage node, such as using the storage device as a storage node.
  • a management device may also be included, and the management device may be used to manage the storage devices, such as sending new updates to the storage devices.
  • the management device can also support the operation and maintenance personnel to perform patrol inspection and operation control on the storage device on the management device.
  • the software in the storage devices may be upgraded in actual application scenarios.
  • the software upgrade process of the storage device includes updating the process in the storage device for receiving data processing requests from other devices (such as the above-mentioned application server 100, computing device 110, etc.), such as adding the communication protocol supported by the process wait.
  • this process is referred to as the target process below.
  • the target process cannot continue to receive data processing requests for the storage device, which makes it impossible for the storage device to receive the data processing requests sent by other devices during this period of time, resulting in data processing request blocking. question.
  • the present application provides a method for upgrading a process.
  • the data processing request received by the target process in the storage device at historical time can be processed
  • the distribution of the number of requests predicts the target time period when the number of data processing requests received by the target process in the future is less than the threshold, so that the target process is upgraded within the target time period.
  • the target process can have a greater possibility of avoiding data processing when upgrading within the target time period.
  • the problem of processing request blocking, or even if there is a problem of data processing request blocking, the number of blocked data processing requests is usually small.
  • the above method for upgrading a process may be performed by a process upgrading device, and the process upgrading device may be implemented by software or hardware.
  • the process upgrading device when implemented by software, may be integrated into the storage device or the above-mentioned management device as a functional module, and enable the storage device or the management device to realize the above-mentioned method of upgrading the process.
  • the process upgrade device can be, for example, a storage device or the above-mentioned management device, or it can also be a device realized by an application-specific integrated circuit (ASIC), or it can also be a programmable logic device. (programmable logic device, PLD) realized equipment, etc.
  • ASIC application-specific integrated circuit
  • the above-mentioned PLD can be a complex programmable logic device (complex programmable logical device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
  • complex programmable logic device complex programmable logical device, CPLD
  • field-programmable gate array field-programmable gate array
  • GAL general array logic
  • the process upgrading device may be deployed on the cloud, or the process upgrading device may also be deployed locally, which is not limited in this embodiment.
  • FIG. 3 it is a schematic flowchart of a method for an upgrade process in an embodiment of the present application.
  • the method can be executed by a storage device or a management device.
  • the method for performing the above upgrade process by the management device is taken as an example below for description.
  • the method for upgrading the process shown in Figure 3 may specifically include:
  • the management device determines the target time period, the target time period is obtained by predicting the distribution of the number of data processing requests received by the target process in the historical time, and the number of data processing requests received by the target process within the target time period is less than a preset threshold .
  • the management device may determine an opportunity to upgrade the target process in the storage device based on historical experience, and based on this, the management device may first obtain the distribution of the number of data processing requests received by the target process in historical time.
  • the historical time refers to the past time relative to the current moment, such as the past 1 day, 7 days or 30 days.
  • the operation and maintenance personnel can query on the management device The time period for the upgrade.
  • the management device generates a corresponding query request based on the query operation of the operation and maintenance personnel. Then, the management device can send the query request to the storage device.
  • the storage device provides data reading and writing services for other devices, it can record the data processing requests it receives, such as recording the time stamp of each data processing request received by the storage device.
  • the storage device when the storage device receives the query request sent by the query device, it can query the record file based on the query request, so as to obtain the distribution of the number of data processing requests received by the storage device in historical time through data statistics. The distribution of the number of data processing requests received in the past 30 days, etc.
  • the management device when the management device is running, it may monitor and record the reception of the data processing request by the storage device. In this way, when the operation and maintenance personnel perform a query operation on the management device, the management device can obtain the distribution of the number of data processing requests received by the storage device in historical time by querying local records.
  • the management device may also obtain statistical information in other ways, which is not limited in this embodiment.
  • the management device can predict the future target time period according to the distribution of the number of data processing requests received by the target process in the historical time by means of big data analysis.
  • the number of data processing requests received is small or no data processing requests are received.
  • the management device can perform function fitting on the distribution of the number of data processing requests received by the target process in historical time, so that the time period in which the number of data processing requests received by the target process is relatively small can be calculated according to the fitted function Specifically, a time period in which the predicted received data processing request is less than a preset threshold may be determined as the target time period.
  • the preset threshold may be 1, at this time, the management device predicts that the target process does not need to receive data processing requests within the target time period; or, the preset threshold may be an integer greater than 1, at this time, the management device predicts The target process has a small amount of data processing requests waiting to be received within the target time period.
  • the duration of the determined target time period can be determined in advance according to the duration required for upgrading the target process. For example, when the duration required for upgrading the target process is 10 seconds, the duration of the target time period to be queried can also be set as 10 seconds (or any duration greater than 10 seconds, etc.).
  • the management device may determine the idle period of the target process by traversing the distribution of the number of data processing requests received by the target process in historical time. For example, assuming that the historical time period is specifically the time period of the past 7 days, and the management device determines by traversing the time period from 2:00:00 to 2:00:10 and from 4:30:30 to 4:31:00 in the past 7 days During these two time periods, the target process does not receive data processing requests. At this time, the management device may determine the two time periods of 2:00:00 to 2:00:10 and 4:30:30 to 4:31:00 as idle periods of the target process.
  • the management device can further calculate the idle time period of the target process in the future according to the idle period, such as 2:00:00 to 2:00:10 or 4:30:30 to 4:31:00 of the next day etc., and determine the target time period in one or more free time periods in the future.
  • the management device may also determine the target time period in other ways, which is not limited in this embodiment.
  • the management device may predict multiple future time periods based on statistical information, and the number of data processing requests received by the target process in the multiple time periods is less than the preset threshold.
  • the time period predicted by the statistical information includes 2:00:00 to 2:00:10 or 4:30:30 to 4:31:00 of the next day.
  • the operation and maintenance personnel may select a target time period for upgrading the target process from multiple time periods.
  • the management device may present a recommendation interface as shown in FIG. description, etc.), such as time period 1, time period 2, and time period 3 determined for the storage device 1 in FIG. 4 .
  • the operation and maintenance personnel can select multiple time periods on the recommendation interface, so that the management device can determine the time period selected by the operation and maintenance personnel as the target time period in response to the selection operation of the operation and maintenance personnel.
  • the management device determines the target time period from multiple time periods with the participation of the operation and maintenance personnel. Operation and maintenance personnel designate, which can simplify the operations that operation and maintenance personnel need to perform when upgrading the target process.
  • the management device predicts multiple time periods in which the number of data processing requests received by the target process in the future is less than the threshold according to statistical information, it can select the earliest time period from the multiple time periods as the target time period, that is, the determined The target time period is earlier than the rest of the plurality of time periods.
  • the management device may also select a time period in which the target process receives the least number of data processing requests from multiple time periods as the target time period.
  • the management device can sort the multiple time periods in descending order according to the number of data processing requests received by the target process in each time period, and determine the time period ranked first as the target time period , for example, the number of received data processing requests corresponding to the first time period is 0, etc.
  • the management device can also determine the target time period in combination with the sequence of the time periods and the number of data processing requests received by the target process in each time period; or, the management device can use other methods from multiple time periods
  • the target time period and the like are determined in the segment, which is not limited in this embodiment.
  • S302 The management device upgrades the target process within the target time period.
  • the management device may generate an upgrade instruction before reaching the target time period, where the upgrade instruction includes at least an identifier of the target time period.
  • the management device may not only upgrade the target process, but may also have other upgrade tasks. Therefore, in an example, the upgrade instruction generated by the management device may further include upgrade task instruction information, where the instruction information is used to instruct the upgrade of the target process and other upgrade tasks for the storage device. Then, the management device can send the upgrade instruction to the storage device. After receiving the upgrade instruction, the storage device may start a corresponding upgrade task according to the upgrade instruction.
  • upgrading the software of the storage device for example, it may be to update the target process in the storage device, and update the data control logic in the storage device, such as updating the data reading and writing mode in the storage device, Adjust storage area division rules, etc.
  • the storage device may first execute other upgrade content in the software upgrade task that is not related to the upgrade target process, for example, the storage device may first execute the upgrade content that adjusts storage area division rules.
  • the storage device may temporarily stop the upgrade task, and wait until the target time period before starting the upgrade for the target process.
  • the storage device may upgrade the target process within the target time period. In this way, during the process of upgrading the target process of the storage device, the target process may not need to receive the data processing request, so that the problem of data processing request blocking during the process of upgrading the target process of the storage device can be avoided as much as possible. Further, after the upgrade of the target process is completed, the storage device may continue to execute other upgrade content related to the target process in the upgrade task.
  • the storage device may temporarily not upgrade the target process within the target time period, and determine an alternative time period, so that the storage device may upgrade the target process when the alternative time period arrives.
  • the alternative time period may be, for example, a time period after the target time period is postponed for a certain period of time. For example, when there is a data processing request to be received at the beginning of the target time period from 2:00:00 to 2:00:10, the storage device may wait for the target process to finish receiving the data processing request, assuming that the target process If the duration of receiving the data processing request is 1 second, the storage device may upgrade the target process during the time period from 2:00:01 to 2:00:11. At this time, the alternative time period is a time period from 2:00:01 to 2:00:16 for waiting for the target process to upgrade the target process after receiving the data processing request.
  • the candidate time period may also be other time periods other than the target time period predicted according to statistical information.
  • the management device determines a plurality of time periods available for upgrading the target process according to statistical information, such as determining two time periods from 2:00:00 to 2:00:10 and from 4:30:30 to 4:31:00 time period etc. Then, the management device may use 2:00:00 to 2:00:10 as the target time period, and 4:30:30 to 4:31:00 as the candidate time period, and before the storage device performs the upgrade task, set The two target time periods and the candidate time period are sent to the storage device. In this way, when the storage device does not upgrade the target process temporarily within the determined target time period, it may wait for the alternative time period from 4:30:30 to 4:31:00 to start upgrading the target process.
  • the alternative time period for upgrading the target process may also be determined in other ways.
  • time period 2 and time period 3 can be automatically determined as alternative time periods, etc., or by The operation and maintenance personnel designate time period 2 and/or time period 3 as alternative time periods on the recommendation interface.
  • the storage device may complete the upgrade of the target process during an idle period (that is, a target time period or an alternative time period, etc.) that does not need to receive data processing requests.
  • an idle period that is, a target time period or an alternative time period, etc.
  • the storage device can still upgrade the target process within the target time period.
  • the number of data processing requests that the storage device needs to receive within the target time period is relatively small (specifically, is less than the threshold), therefore, the number of data processing requests blocked by the storage device during the target time period is usually small, so that the problem of blocking a large number of data processing requests in the storage device during the process of upgrading the target process can be avoided as much as possible.
  • the storage device when the storage device successfully completes the upgrade task for the target process or fails to upgrade, it can generate a corresponding upgrade result and feed back the upgrade result to the management device. In this way, the management device can feed back the upgrade result to the operation and maintenance personnel through an interactive interface with the operation and maintenance personnel.
  • the upgrade result when the upgrade result indicates that the upgrade target process of the storage device fails, the upgrade result may also include a reason for the upgrade target process failure, so that the operation and maintenance personnel can perform corresponding repairs on the storage device according to the reason. In this way, after the storage device is repaired, the target process can be upgraded by re-executing the upgrade process or the like.
  • the management device determines the target time period according to the statistical information and instructs the storage device to upgrade the target process within the target time period as an example for illustration.
  • the above process may also be performed by a storage device.
  • the storage device may perform an operation of determining a target time period based on statistical information, and automatically upgrade the target process during the target time period.
  • the implementation process is similar to the above process, which can be described with reference to the above relevant parts, and will not be repeated here.
  • the process upgrading device 500 includes:
  • the determining module 501 is configured to determine a target time period, the target time period is predicted according to the distribution of the number of data processing requests received by the target process in historical time, and the target process receives data within the target time period The number of processed requests is less than a preset threshold;
  • An upgrade module 502, configured to upgrade the target process within the target time period.
  • the determining module 501 is configured to:
  • the recommendation interface includes identifications of the plurality of time periods
  • the target time period is determined in response to a selection operation for the identification of the plurality of time periods.
  • the determining module 501 is configured to:
  • a target time period is determined, the target time period is earlier than the rest of the plurality of time periods, and/or the target process receives the least number of data processing requests within the target time period.
  • the upgrade module 502 is configured to:
  • the target process is upgraded within the target time period.
  • the upgrade module 502 is also configured to:
  • the storage device When the storage device has a data processing request to be received at the start of the target time period, upgrade the target process in an alternative time period, the alternative time period being later than the target period.
  • process upgrading device 500 shown in FIG. 5 corresponds to the process upgrading method shown in FIG. 3
  • specific implementation of the process upgrading device 500 shown in FIG. 5 and its technical effects can be referred to in the foregoing embodiments. Relevant descriptions are omitted here.
  • Figure 6 provides a computing device. As shown in FIG. 6 , the computing device 600 may specifically be used to realize the functions of the process upgrade apparatus 500 in the above-mentioned embodiment shown in FIG. 5 .
  • the computing device 600 includes a bus 601 , a processor 602 and a memory 603 .
  • the processor 602 and the memory 603 communicate through the bus 61 .
  • the bus 601 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 6 , but it does not mean that there is only one bus or one type of bus.
  • the processor 602 may be a central processing unit (central processing unit, CPU), a graphics processing unit (graphics processing unit, GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP) etc. Any one or more of them.
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • the memory 603 may include a volatile memory (volatile memory), such as a random access memory (random access memory, RAM).
  • Memory 1503 can also include non-volatile memory (non-volatile memory), such as read-only memory (read-only memory, ROM), flash memory, mechanical hard disk (hard drive drive, HDD) or solid state hard drive (solid state drive , SSD).
  • Executable program codes are stored in the memory 603, and the processor 602 executes the executable program codes to implement the foregoing method for upgrading a target process in a storage device by a management device.
  • the embodiment of the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, solid state hard disk), etc.
  • the computer-readable storage medium includes instructions, and the instructions instruct a computing device to execute the above-mentioned method for a management device to upgrade a target process in a storage device.
  • the embodiment of the present application also provides a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computing device, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g. (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.) to another website site, computer or data center.
  • another computer-readable storage medium e.g. (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.) to another website site, computer or data center.
  • the computer program product may be a software installation package which may be downloaded and executed on a computing device if any of the aforementioned object recognition methods are required.

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

一种升级进程的方法、装置、设备及存储介质
本申请要求于2021年9月15日递交中国国家知识产权局、申请号为202111083124.7,发明名称为“一种升级进程的方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,尤其涉及一种升级进程的方法、装置、设备及存储介质。
背景技术
存储设备,是指将信息进行数字化后利用电、磁或者光学等方式进行存储的设备,其可以提供数据读写服务。具体地,存储设备可以接收其它设备发送的数据处理请求,如用于请求读写数据的输入/输出(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 Memory Module,简称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-network processing 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-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard drive drive,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中任一项所述的方法。
PCT/CN2022/091707 2021-09-15 2022-05-09 一种升级进程的方法、装置、设备及存储介质 WO2023040302A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111083124.7A CN115809072A (zh) 2021-09-15 2021-09-15 一种升级进程的方法、装置、设备及存储介质
CN202111083124.7 2021-09-15

Publications (1)

Publication Number Publication Date
WO2023040302A1 true WO2023040302A1 (zh) 2023-03-23

Family

ID=85481989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/091707 WO2023040302A1 (zh) 2021-09-15 2022-05-09 一种升级进程的方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN115809072A (zh)
WO (1) WO2023040302A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573158A (zh) * 2023-11-02 2024-02-20 睿智合创(北京)科技有限公司 一种信用评分产品的无感升级切换方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719648B (zh) * 2023-08-10 2023-11-07 泰山学院 一种用于计算机系统的数据管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933426A (zh) * 2006-10-19 2007-03-21 杭州华为三康技术有限公司 自动选择升级时间的方法及装置
CN107769966A (zh) * 2017-10-12 2018-03-06 上海斐讯数据通信技术有限公司 一种确定路由器升级时间的方法及系统
CN110069293A (zh) * 2019-04-02 2019-07-30 上海米哈游网络科技股份有限公司 一种升级服务器软件的方法、系统和装置
US20210103436A1 (en) * 2018-05-02 2021-04-08 Audi Ag Method for performing a software update in a control unit of a motor vehicle, and motor vehicle designed accordingly
CN113377396A (zh) * 2021-05-21 2021-09-10 珠海格力电器股份有限公司 一种升级方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933426A (zh) * 2006-10-19 2007-03-21 杭州华为三康技术有限公司 自动选择升级时间的方法及装置
CN107769966A (zh) * 2017-10-12 2018-03-06 上海斐讯数据通信技术有限公司 一种确定路由器升级时间的方法及系统
US20210103436A1 (en) * 2018-05-02 2021-04-08 Audi Ag Method for performing a software update in a control unit of a motor vehicle, and motor vehicle designed accordingly
CN110069293A (zh) * 2019-04-02 2019-07-30 上海米哈游网络科技股份有限公司 一种升级服务器软件的方法、系统和装置
CN113377396A (zh) * 2021-05-21 2021-09-10 珠海格力电器股份有限公司 一种升级方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573158A (zh) * 2023-11-02 2024-02-20 睿智合创(北京)科技有限公司 一种信用评分产品的无感升级切换方法及系统

Also Published As

Publication number Publication date
CN115809072A (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
US10956246B1 (en) Isolated read channel management interfaces at streaming data service
US10459657B2 (en) Storage system with read cache-on-write buffer
WO2023040302A1 (zh) 一种升级进程的方法、装置、设备及存储介质
US11075984B1 (en) Workload management at streaming data service supporting persistent connections for reads
US20130117744A1 (en) Methods and apparatus for providing hypervisor-level acceleration and virtualization services
CN111722786A (zh) 基于NVMe设备的存储系统
US20170199694A1 (en) Systems and methods for dynamic storage allocation among storage servers
US11675501B2 (en) Streaming data service with isolated read channels
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
US11509700B2 (en) Stream data record reads using push-mode persistent connections
EP3295321A1 (en) Accessing multiple storage devices from multiple hosts without remote direct memory access (rdma)
CN113553346B (zh) 大规模实时数据流一体化处理、转发和存储方法及系统
CN106095957A (zh) 分布式文件系统的跨域多副本文件同步方法及装置
US20230239345A1 (en) Isolated read channel categories at streaming data service
WO2021114848A1 (zh) 数据库的数据读写方法及装置
US11416176B2 (en) Function processing using storage controllers for load sharing
KR102376152B1 (ko) 클라우드 서비스 제공을 위한 스토리지 제공 장치 및 방법
US20240126847A1 (en) Authentication method and apparatus, and storage system
CN109478126B (zh) 计算设备中的在外部管理的i/o饥饿避免
US11070600B1 (en) Optimization techniques to support lagging readers at streaming data service
US8095684B2 (en) Intelligent device and media server selection for optimized backup image duplication
US20170123657A1 (en) Systems and methods for back up in scale-out storage area network
US20240095211A1 (en) Published File System And Method
CN110209343B (zh) 数据存储方法、装置、服务器及存储介质
US10140190B1 (en) Efficient transaction log flushing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22868680

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE