A memory scheduling method, program product, device, and medium
By monitoring and recording flow information of the data set directory in the intermediate state storage architecture and calling the first-dimensional residency strategy, the problem that existing cache strategies cannot effectively utilize memory resources in complex scenarios is solved, and more efficient memory resource utilization and performance optimization is achieved.
Patent Information
- Application Number
- CN202411162438.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2044-08-23
AI Technical Summary
Existing cache strategies such as LRU and LFU cannot effectively ensure the efficient utilization of memory resources in complex business data and scenarios, resulting in some data still retaining the original data while the update frequency is low and the task mode is single, resulting in wasting memory resources.
By monitoring and recording flow information of the data set directory in the intermediate state storage architecture, the first dimension residency strategy is called. If the data set directory meets the conditions of low-frequency update, high-frequency call and task mode fixed conditions, the task result data is saved and the original data is cleared.
It realizes more efficient scheduling of complex data scheduling scenarios, frees up memory space in intermediate storage architectures, improves memory resource utilization, optimizes the performance of virtual file systems, and improves cluster task response speed.
Smart Images

Figure CN118672757B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data processing, and particularly to a memory scheduling method, a program product, a device and a medium. Background Art
[0002] Currently, in the practical application of intermediate storage architectures such as Alluxio, the use of memory applications is adopted to improve the data access speed, so there will be problems of memory resource consumption. At present, memory is still a relatively expensive resource, and the memory size is limited. As the system runs, more and more data is loaded into the memory, which will inevitably cause the problem of increasingly tight memory resources. In response to this problem, intermediate storage architectures generally use traditional page replacement algorithms such as Least Recently Used (LRU) and least frequently used (LFU) as cache strategies to achieve memory management optimization, which can ensure that only hot data remains in the memory all the time.
[0003] However, for various complex business data and scenarios, strategies such as LRU and LFU cannot fully and effectively ensure that the most efficient available data resides in the memory. For example, for some data with strong timeliness, its importance will rapidly decrease after the demand time limit has passed, or for the data in batch processing scenarios with fixed access patterns. Although there may still be access requirements for this part of the data subsequently, most of the access requirements are for the key data or statistical results therein, and retaining all the original data will cause waste of resources.
[0004] Therefore, those skilled in the art now urgently need a memory scheduling method to solve the problem that the current use of cache strategies such as LRU and LFU still wastes memory resources and performance. Summary of the Invention
[0005] The purpose of the present invention is to provide a memory scheduling method, a program product, a device and a medium, which are used to solve the problem that the current use of cache strategies such as LRU and LFU still wastes memory resources and performance.
[0006] To solve the above technical problems, the present invention provides a memory scheduling method, including: monitoring and recording the flow information of data in the intermediate storage architecture in units of dataset directories; wherein, the flow information includes the call information and update information of the dataset directories; according to the corresponding flow information, invoking a first-dimension residency policy to process the dataset directories to obtain corresponding scheduling results; scheduling the corresponding dataset directories according to the scheduling results; wherein, the first-dimension residency policy includes: if it is determined according to the update information that the dataset directory meets the low-frequency update condition, and it is determined according to the call information that the dataset directory meets the high-frequency call condition and the task mode fixed condition, then saving the task result data of the current dataset directory and clearing the original data of the current dataset directory.
[0007] In a possible embodiment, it further includes: according to the corresponding flow information, invoking a second-dimension residency policy to process the dataset directories to obtain corresponding scheduling results; wherein, the second-dimension residency policy includes: if it is determined according to the update information that the dataset directory meets the high-frequency update condition, and it is determined according to the call information that the dataset directory meets the low-frequency call condition, then clearing the original data of the current dataset directory.
[0008] In a possible embodiment, it further includes: according to the corresponding flow information, invoking a third-dimension residency policy to process the dataset directories to obtain corresponding scheduling results; wherein, the third-dimension residency policy includes: if it is determined according to the call information that the dataset directory meets the ultra-low-frequency call condition, then clearing the original data of the current dataset directory.
[0009] In a possible embodiment, the low-frequency update condition includes: within a first preset time period, the update frequency of the dataset directory is less than a preset low-frequency update threshold; the high-frequency call condition includes: within a second preset time period, the call frequency of the dataset directory is greater than a preset high-frequency call threshold; the task mode fixed condition includes: within a third preset time period, the number of different task result items of the dataset directory is less than a preset mode fixed threshold; the high-frequency update condition includes: within a first preset time period, the update frequency of the dataset directory is greater than a preset high-frequency update threshold; the low-frequency call condition includes: within a second preset time period, the call frequency of the dataset directory is less than a preset low-frequency call threshold; the ultra-low-frequency call condition includes: within a second preset time period, the call frequency of the dataset directory is less than a preset ultra-low-frequency call threshold.
[0010] In a possible embodiment, it further includes: obtaining the status of the current policy mode item; wherein, the status of the policy mode item includes: default mode and custom mode; when the status of the policy mode item is the default mode, obtaining the default configuration values of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold from the register; when the status of the policy mode item is the custom mode, obtaining the custom configuration values of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold from the client.
[0011] In a possible embodiment, it further includes: according to the corresponding response type, invoking a data preheating strategy to process the dataset directory to obtain a corresponding scheduling result; wherein, the response type is a custom parameter pre-configured for each dataset directory; the response type includes: fast response and non-fast response; the data preheating strategy includes: if the response type is a fast response, preloading the original data of the dataset directory.
[0012] In a possible embodiment, the flow information further includes: the loading information of the dataset directory; then this method further includes: according to the corresponding flow information, invoking an aging data elimination strategy to process the dataset directory to obtain a corresponding scheduling result; wherein, the aging data elimination strategy includes: if it is determined according to the flow information that the dataset directory satisfies: the duration from the current moment to the moment when the dataset directory was first loaded exceeds the fourth preset duration, and the dataset directory has not been invoked within the fourth preset duration, then clearing the original data of the dataset directory.
[0013] In a possible embodiment, before obtaining the status of the current policy mode item, it further includes: obtaining the status of the current policy control item; wherein, the status of the policy control item includes: policy all off, basic append policy on, and enhanced policy on; according to the status of the policy control item, invoking a corresponding set of scheduling strategies to process the dataset directory to obtain a corresponding scheduling result; wherein, when the status of the policy control item is policy all off, the corresponding set of scheduling strategies is an empty set; when the status of the policy control item is basic append policy on, the corresponding set of scheduling strategies includes: the aging data elimination strategy; when the status of the policy control item is enhanced policy on, the corresponding set of scheduling strategies includes: the first dimension residency strategy, the second dimension residency strategy, the third dimension residency strategy, and the data preheating strategy.
[0014] In a possible embodiment, when the status of the policy control item is that the base append policy is enabled, the corresponding scheduling policy set further includes: the least recently used (LRU) cache policy and the least frequently used (LFU) cache policy.
[0015] In a possible embodiment, when the status of the policy control item is that the enhanced policy is enabled, the corresponding scheduling policy set further includes: the aged data elimination policy, the least recently used (LRU) cache policy, and the least frequently used (LFU) cache policy.
[0016] In a possible embodiment, monitoring and recording the task result items of the dataset directory includes: when it is monitored that a new task result item is generated, determining whether the corresponding dataset directory has recorded the task result item; if not, determining whether the number of task result items currently recorded in the corresponding dataset directory exceeds a preset task result item threshold; if not, recording the task result item.
[0017] In a possible embodiment, scheduling the corresponding dataset directory according to the scheduling result includes: scheduling the original data of the corresponding dataset directory according to the data forced scheduling identifier; wherein, the data forced scheduling identifier is a pre-created identifier that corresponds to each dataset directory one by one; the status of the data forced scheduling identifier includes: forced loading and forced release; when the status of the data forced scheduling identifier is forced loading, loading the original data of the dataset directory; when the status of the data forced scheduling identifier is forced release, clearing the original data of the dataset directory.
[0018] To solve the above technical problems, the present invention further provides a computer program product, including computer programs / instructions, and when the computer programs / instructions are executed by a processor, the steps of the memory scheduling method described above are implemented.
[0019] To solve the above technical problems, the present invention further provides a memory scheduling device, including: a memory for storing computer programs; a processor for implementing the steps of the memory scheduling method described above when executing the computer programs.
[0020] To solve the above technical problems, the present invention further provides a non-volatile storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the memory scheduling method described above are implemented.
[0021] A memory scheduling method provided by the present invention monitors and records the flow information of data in the intermediate state storage architecture in units of dataset directories to master the application scenarios of the data in the intermediate state storage architecture. Among them, the flow information includes update information that can reflect the update frequency of the dataset directory, and call information that can reflect the call frequency of the dataset directory and task records of the tasks executed during the call. Therefore, based on the traffic information, each dataset directory is processed by the first-dimension residency policy. If the dataset directory meets the conditions of low-frequency update, high-frequency call, and fixed task mode, it means that this dataset directory is data that is not frequently changed (low-frequency update), has frequent access requirements (high-frequency call), and has a single task mode (fixed task mode). For such data, only the task result data (i.e., the statistical data for the original data) needs to be retained, and directly returning the task result data when there is an access requirement can meet the requirements, without retaining the original data and wasting memory resources. That is to say, this method provides another memory scheduling method different from cache policies such as LRU and LFU, which can identify more complex data scheduling scenarios, and performs a scheduling method of clearing the original data and retaining the task result data for some data that always has access requirements but has a low update frequency and a single task mode, thereby further releasing the memory space of the intermediate state storage architecture, achieving more efficient utilization of memory resources, and indirectly optimizing the performance of the virtual file system by releasing the occupancy of non-critical storage, and improving the cluster task response speed.
[0022] The computer program product, memory scheduling device, and non-volatile storage medium provided by the present invention correspond to the above method and have the same effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the embodiments of the present invention, the accompanying drawings required for use in the embodiments will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention, and those of ordinary skill in the art can also obtain other drawings based on these drawings without creative efforts.
[0024] Figure 1 It is a flowchart of a memory scheduling method provided by the present invention.
[0025] Figure 2 It is an application architecture diagram of a memory scheduling method provided by the present invention.
[0026] Figure 3 It is a structural diagram of a memory scheduling device provided by the present invention.
[0027] Figure 4 It is a structural diagram of another memory scheduling device provided by the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0028] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0029] The core of the present invention is to provide a memory scheduling method, program product, device and medium.
[0030] In order to enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0031] In today's big data storage architecture, due to the management of increasingly complex storage systems and huge amounts of data, as well as the demand for fast computing, intermediate storage architectures such as Alluxio have emerged. The intermediate storage architecture can integrate different types of upper-layer data-driven systems and connect to various UNIX (an operating system) file systems at the bottom layer (i.e., UFS storage systems) to be used as an acceleration system in the middle layer for applications. Since Alluxio maps and loads the directory data of the underlying storage system into the memory storage space of the Alluxio system through directory mounting, and uses the data loaded into the memory system as the actual business operation data. This in-memory loading and computing usage mode loads the content of the underlying storage data into the in-memory storage architecture of the Alluxio system when initially applying the data. When accessing and computing the data again later, fast operations can be performed based on the loaded data in the memory, thereby greatly improving the operating efficiency of data loading and computing. Moreover, with a unified application interface, users can perform system operations through simple configuration.
[0032] However, in the actual application of intermediate storage architectures such as Alluxio, it uses in-memory applications to improve the data access and usage speed, so there will be a problem of memory resource consumption. At present, memory is still a relatively expensive resource, and the memory size is limited. As the system runs, more and more data is loaded into the memory, which will inevitably cause the problem of increasingly tight memory resources. In response to this problem, the intermediate storage architecture generally uses traditional page replacement algorithms such as Least Recently Used (LRU) and least frequently used (LFU) as cache strategies to achieve memory management optimization, which can ensure that only hot data remains in the memory all the time.
[0033] However, for various complex business data and scenarios, strategies such as LRU and LFU cannot fully and effectively ensure that the most efficient available data resides in memory, which may lead to waste of some resources and performance, such as the following scenarios.
[0034] 1. In the network security scenario, for the loading and reporting of real-time attack table data or other data tables that are critical and need to be immediately reflected in the statistical content. This part of the data has high requirements for access latency and should be pre-loaded into memory for quick invocation when first used. Moreover, the timeliness of this data is very strong. After the demand time limit has passed, the importance of the data rapidly decreases. Although the access demand still exists, it is basically the access demand for the key data after data cleaning. Keeping the original data in memory will cause waste of resources.
[0035] 2. In the batch processing scenario with a fixed access pattern, this part of the data is frequently used in various statistical analysis scenarios, but the access pattern is fixed, that is, for the business side, only some statistical results of this data are needed. Therefore, if the original data is resident in memory, it will also lead to waste of resources and performance.
[0036] It can be seen that when there is always a call demand for some data, caching strategies such as LRU and LFU will not clear it. If only a single statistical result data is needed for this part of the data in subsequent calls, retaining the original data will cause unnecessary waste of the memory resources of the intermediate storage architecture, thereby affecting the performance of the storage system.
[0037] To solve the above problems, the present invention provides a memory scheduling method, as Figure 1 shown, including the following steps.
[0038] S10: Monitor and record the flow information of the data in the intermediate storage architecture in units of dataset directories.
[0039] Among them, the flow information includes the call information and update information of the dataset directory.
[0040] S21: According to the corresponding flow information, call the first-dimensional residency strategy to process the dataset directory to obtain the corresponding scheduling result.
[0041] S30: Schedule the corresponding dataset directory according to the scheduling result.
[0042] Among them, the first-dimensional residency strategy includes: if it is determined according to the update information that the dataset directory meets the condition of low-frequency update, and it is determined according to the call information that the dataset directory meets the conditions of high-frequency call and fixed task mode, then save the task result data of the current dataset directory and clear the original data of the current dataset directory.
[0043] For step S10, it is the step of monitoring and recording the flowing data in the intermediate storage architecture such as Alluxio in this method. It should be noted that in practical applications, the monitoring of data flow information can be achieved through the monitor in the intermediate storage architecture, while the recording of data flow information can be achieved by creating a data table for storage.
[0044] Specifically, this embodiment provides a possible implementation scheme for recording flow information: create a metadata record table on the master node of the intermediate storage architecture to record the required flow information.
[0045] It should be noted that in step S10, the flowing data in the intermediate storage architecture is monitored and recorded in units of dataset directories. The reason is that the flowing data in the intermediate storage architecture is also in units of dataset directories. Therefore, this method is a memory scheduling method adapted to the intermediate storage architecture and has better performance when optimizing the storage control of the intermediate storage architecture.
[0046] In addition, for the above-created metadata record table, it should at least include a directory index column and column items for recording various flow information. Among them, the directory index column is also the column item used to index the corresponding dataset directory, and each item in the directory index column represents a dataset directory. That is, in the metadata record table, each row represents the flow information of a dataset directory.
[0047] For the flow information (which can also be called a flow snapshot), data portrait extraction and analysis can be performed, so it should at least include update information that can reflect the update situation of the dataset directory and call information of the dataset directory call situation. Exemplarily, the update information may include, but is not limited to: the update frequency of the dataset directory, the data update label. The call information may include, but is not limited to: the call frequency of the dataset directory, the data call task record, the data task result and other information. In addition, the above flow information is not limited to only including update information and call information, and other information can also be added according to actual needs, such as: information items of the original data such as the loading information of the dataset directory, the data forced scheduling flag, or custom information items.
[0048] For step S21, it is based on the flow information of the dataset directory recorded in the above step S10, discriminates the dataset directory in terms of the scenario dimension based on a preset first-dimension residency strategy, and gives corresponding scheduling results according to the scenario dimension to which the dataset directory belongs, so that step S30 can perform the final dataset directory management operation according to the scheduling results.
[0049] For the first - dimension residency strategy, it provides a scheduling strategy for the dataset directory under a possible scenario dimension. Specifically: In the first - dimension residency strategy, it judges whether the update frequency, call frequency, and task mode of the dataset directory are fixed. If the update frequency of the dataset directory is low (i.e., it meets the low - frequency update condition), the call frequency is high (i.e., it meets the high - frequency call condition), and the task mode is single (i.e., it meets the fixed - task - mode condition); then it can be determined that the dataset directory is frequently accessed during use and the access purpose is the same. It may be to obtain a certain result data of the original data (such as statistical data or data - processing results); moreover, this statistical data or data - processing result will not change for a long time. At this time, for this kind of data, only the corresponding task result data can be retained, and the original data can be cleared. When receiving the access requirement for this data, the corresponding task result data can be returned, without using the original data, that is, the original data can be released from the memory, achieving the effect of further reducing the waste of memory resources.
[0050] In addition, since in the first - dimension residency strategy provided in this embodiment, it involves the information of the task result items of the dataset directory. Besides the common scheme of recording each task result item whenever it appears, this embodiment also provides another recording scheme for task result items. In step S10, if the task result items of the dataset directory are monitored and recorded, it specifically includes the following steps.
[0051] S11: When it is monitored that a new task result item is generated, judge whether the corresponding dataset directory has recorded this task result item.
[0052] S12: If not recorded, judge whether the number of the task result items currently recorded in the corresponding dataset directory exceeds the preset task - result - item threshold.
[0053] S13: If not exceeded, record this task result item.
[0054] That is, before the task result item recording scheme provided in this embodiment monitors the generation of a new task result item and records the task result item, it first determines whether the task result item is to be repeatedly recorded. If it has been recorded before, it will not be repeatedly recorded this time. Further, if the task result item monitored this time has not been recorded before, it further determines the number of task result items corresponding to the dataset directory currently recorded. If it exceeds the preset task result item threshold, it indicates that the task mode of the dataset purpose is changeable. If all task results are recorded, it may additionally occupy a large amount of memory space, which runs counter to the original intention of the first dimension residency policy to retain task result data and clear the original data to reduce memory space occupancy. Therefore, in this embodiment, when the number of recorded task result items exceeds the task result item threshold, this task result item is not recorded, and when the dataset directory is called later, statistics or processing can be performed based on the original data.
[0055] That is, a task result item recording scheme provided in this embodiment can further reduce the waste of memory resources caused by recording task result items, and ensure the memory scheduling optimization effect achieved by this embodiment based on the first dimension residency policy.
[0056] It is easy to understand that the first dimension residency policy provided in this method does not conflict with commonly used cache policies such as LRU and LFU at present. That is, the first dimension residency policy in this method can be carried out on the basis of the LRU and LFU cache policies, bringing a more sufficient memory resource utilization effect.
[0057] It should be particularly noted that for a memory scheduling method provided by the present invention, the first dimension residency policy is only a possible scheduling policy. In actual applications, other scheduling policies can also be formulated according to other requirements. And in the subsequent embodiments of this method, several other possible scheduling policy embodiments are also provided. However, in this embodiment, by calling the first dimension residency policy, a better memory resource utilization effect can be achieved compared with commonly used cache policies such as LRU and LFU at present.
[0058] As can be seen from the above, the present invention provides a memory scheduling method. By monitoring and recording the data flow information in the intermediate state storage architecture, the application scenarios of the data in the intermediate state storage architecture can be grasped. Among them, the flow information includes update information that can reflect the update frequency of the data set directory, and call information that can reflect the call frequency of the data set directory, the task records of the tasks executed during the call, and other information. Therefore, based on the traffic information, each data set directory is processed by the first dimension residence strategy. If the data set directory meets the conditions of low-frequency update, high-frequency call, and fixed task mode, it means that this data set directory is data that does not change frequently (low-frequency update), has frequent access requirements (high-frequency call), and has a single task mode (fixed task mode). For such data, only the task result data (i.e., the statistical data for the original data) needs to be retained. When there is an access requirement, directly returning the task result data can meet the requirements, and there is no need to retain the original data and waste memory resources. That is to say, this method provides another memory scheduling method different from cache strategies such as LRU and LFU, which can identify more complex data scheduling scenarios. For some data that always has access requirements, but has a low update frequency and a single task mode, the scheduling method of clearing the original data and retaining the task result data is adopted, so as to further release the memory space of the intermediate state storage architecture, realize more efficient utilization of memory resources, and the release of the occupancy of non-critical storage also indirectly optimizes the performance of the virtual file system and improves the cluster task response speed.
[0059] On the other hand, this embodiment also provides another possible implementation scheme of the scheduling strategy. The above method further includes: S22: According to the corresponding flow information, call the second dimension residence strategy to process the data set directory to obtain the corresponding scheduling result.
[0060] Among them, the second dimension residence strategy includes: If it is determined according to the update information that the data set directory meets the high-frequency update condition, and it is determined according to the call information that the data set directory meets the low-frequency call condition, then the original data of the current data set directory is cleared.
[0061] That is, in this embodiment, another scheduling strategy different from the above-mentioned first-dimension residence strategy is also provided. For the second-dimension residence strategy provided in this embodiment, it mainly focuses on the scenario dimension of whether the dataset directory belongs to the scenario of high-frequency update and low-frequency invocation. For such data, on the one hand, due to its high update frequency, even if such data is saved in the memory, new data needs to be repeatedly loaded into the memory because of frequent updates; on the other hand, due to its low invocation frequency, that is, in actual applications, the access demand for such data is not high, and it is possible that several versions of this data have been updated before the next access; considering the above two aspects, for such data, the cost performance of saving its original data in the memory is very low, and releasing it from the memory is more in line with the actual application needs; moreover, because such data has a high update frequency, the valid time of its task data result items is short, and there is no need to save them additionally for subsequent invocations. That is, for the dataset directory that meets the dimension scenario defined by the second-dimension residence strategy, its original data is released from the memory and loaded into the memory when needed, ensuring more efficient use of memory resources.
[0062] In addition, it should be noted that the second-dimension residence strategy provided in this embodiment does not conflict with the first-dimension residence strategy of the above embodiment and can be implemented together. Therefore, step S22 of this embodiment and step S21 of the above embodiment can be parallel steps.
[0063] On the other hand, this embodiment also provides another possible scheduling strategy. The above method further includes: S23: According to the corresponding flow information, call the third-dimension residence strategy to process the dataset directory to obtain the corresponding scheduling result.
[0064] Among them, the third-dimension residence strategy includes: If it is determined according to the invocation information that the dataset directory meets the ultra-low-frequency invocation condition, the original data of the current dataset directory is cleared.
[0065] Similar to the first and second-dimension residence strategies provided in the above embodiment, the third-dimension residence strategy provided in this embodiment provides a scheduling strategy for the dataset directory in another scenario dimension. If the dataset directory meets the ultra-low-frequency invocation condition, it means that the dataset directory will not be invoked for a long time. Correspondingly, on the one hand, it means that if the original data of the dataset directory is stored in the memory, it will not be accessed for a long time, resulting in unnecessary waste of memory resources; on the other hand, not being accessed for a long time also makes it more likely that the original data of the dataset directory will be updated before the next access. Therefore, releasing it from the memory is more in line with the demand for making full use of memory resources.
[0066] It should be further noted that, similar to the above embodiments, the third-dimensional residency strategy provided in this embodiment does not conflict with the first- and second-dimensional residency strategies of the above embodiments and can be implemented together. Therefore, step S23 of this embodiment and steps S21 and S22 of the above embodiments can be parallel steps.
[0067] Furthermore, regarding the scenario dimension discrimination conditions in the above three scheduling strategies of the first, second, and third dimensional residency strategies, the above embodiments do not impose strict restrictions, but this embodiment provides a possible implementation solution.
[0068] The low-frequency update condition in the above embodiments includes: within a first preset time period, the update frequency of the dataset directory is less than a preset low-frequency update threshold.
[0069] The high-frequency call condition in the above embodiments includes: within a second preset time period, the call frequency of the dataset directory is greater than a preset high-frequency call threshold.
[0070] The task mode fixed condition in the above embodiments includes: within a third preset time period, the number of different task result items in the dataset directory is less than a preset mode fixed threshold.
[0071] The high-frequency update condition in the above embodiments includes: within a first preset time period, the update frequency of the dataset directory is greater than a preset high-frequency update threshold.
[0072] The low-frequency call condition in the above embodiments includes: within a second preset time period, the call frequency of the dataset directory is less than a preset low-frequency call threshold.
[0073] The ultra-low-frequency call condition in the above embodiments includes: within a second preset time period, the call frequency of the dataset directory is less than a preset ultra-low-frequency call threshold.
[0074] It is easy to understand that the first preset time period, the second preset time period, the third preset time period, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold involved in this embodiment are all pre-set parameter values, and appropriate values can be selected according to actual needs. This embodiment does not limit this. The purpose of this embodiment is to provide a specific scenario dimension discrimination scheme for the above three-dimensional residency strategies to accurately distinguish dataset directories in different scenario dimensions, perform reasonable scheduling management, and ensure the efficient use of memory resources.
[0075] Further, for the parameter settings of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold involved in the above embodiments, this embodiment also provides a possible implementation solution. The method further includes: S41: Obtain the status of the current policy mode item.
[0076] Among them, the status of the policy mode item includes: default mode and custom mode.
[0077] When the status of the policy mode item is the default mode, obtain the default configuration values of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold from the register.
[0078] Exemplarily, the default configuration values of the first preset duration and the second preset duration can be 5 days; the default configuration value of the third preset duration can be 2 days; the default configuration values of the high-frequency update threshold and the high-frequency call threshold can be 20 times / day; the default configuration value of the low-frequency update threshold can be 1 time / 5 days; the default configuration value of the low-frequency call threshold can be 1 time / day; the default configuration value of the ultra-low-frequency call threshold can be 1 time / 5 days.
[0079] When the status of the policy mode item is the custom mode, obtain the custom configuration values of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold, and the mode fixed threshold from the client.
[0080] That is, this embodiment provides a setting solution for the parameter values used in the above first, second, and third dimension residence policies, including two types: default configuration and custom configuration. Among them, the default configuration solution is that relevant personnel store the default parameter values in the register before the storage system is deployed, so that they can be quickly called after the storage system is started, thereby realizing the scheduling optimization of the memory by the above first, second, and third dimension residence policies. The custom configuration parameters are that users customize the parameter values of each condition in the first, second, and third dimension residence policies according to the actual application scenarios and needs, so as to maximize the applicability of this memory scheduling method to the needs of different scenarios.
[0081] It is easy to understand that the default configuration scheme in this embodiment is a parameter configuration scheme that can quickly perform memory scheduling optimization; and the custom configuration scheme is a parameter configuration scheme that is more adaptable to actual application scenarios and has better memory scheduling optimization effects; each has its own advantages and disadvantages and can be selected according to actual needs. Therefore, before formally calling the first, second, and third dimension resident strategies, this embodiment first selects different parameter configuration schemes by configuring the state of the strategy mode item to adapt to more complex application scenarios and bring better memory scheduling optimization effects.
[0082] On the other hand, the above embodiments mainly judge the dimensional scenario in which the data is located, and then take targeted scheduling measures to make up for the scheduling deficiencies of cache strategies such as LRU and LFU in complex scenarios, and realize memory scheduling optimization.
[0083] Furthermore, from the above, it can be seen that the purpose of using the intermediate storage architecture is to load data into the memory so that the data can be directly called from the memory when needed, so as to bring higher data operation efficiency. It can be seen that only when the data is loaded into the memory of the intermediate storage architecture can the effect of improving data operation efficiency be brought about.
[0084] In actual applications, the principles of cache strategies such as LRU and LFU show that these cache strategies are all strategies for whether to release data from memory resources after loading, and do not involve corresponding management and regulations on when to load data. Based on this, the current intermediate storage architecture usually triggers data loading based on demand, that is, when a certain data needs to be used for the first time, the data is loaded into the memory, and higher operating efficiency can be achieved in subsequent access and calls to the data.
[0085] However, in actual applications, some particularly important data has high requirements for data access efficiency. It may be expected that the data will be preloaded into the memory when it is accessed for the first time, so as to achieve the highest efficiency at the very beginning. In other words, cache strategies such as LRU and LFU cannot improve the efficiency of the first access to key data, and their memory scheduling effect needs to be further optimized.
[0086] Based on this, this embodiment also provides a possible implementation scheme, and the above method also includes: S24: according to the corresponding response type, calling the data preheating strategy to process the data set directory to obtain the corresponding scheduling result.
[0087] The response type is a custom parameter pre-configured for each data set directory; the response types include: quick response and non-quick response.
[0088] The data preheating strategy includes: if the response type is a quick response, the original data in the data set directory is preloaded.
[0089] That is, in this embodiment, a data preheating strategy is provided. By pre-customizing the response types of each data set directory, the key data that needs to be quickly responded to and other data that does not need to be quickly responded to are distinguished. For the key data that needs to be quickly responded to, even if it has not received the first access request yet, it is forced to be loaded into the memory to achieve preloading of the key data, so as to bring the highest efficiency when the key data is first accessed.
[0090] It should also be noted that the data preheating strategy provided in this embodiment does not conflict with the first, second, and third dimension residency strategies of the above embodiments and can be implemented together. That is, step S24 of this embodiment can be implemented in parallel with steps S21 - S23 above.
[0091] On the other hand, in addition to the dimension residency strategy and the data preheating strategy, this embodiment also provides an implementation scheme of a scheduling strategy triggered from another angle: the flowing information further includes: the loading information of the data set directory.
[0092] Then this method further includes: according to the corresponding flowing information, calling the aging data elimination strategy to process the data set directory to obtain the corresponding scheduling result.
[0093] Among them, the aging data elimination strategy includes: if it is determined according to the flowing information that the data set directory satisfies: the duration from the current moment to the first loading moment of the data set directory exceeds the fourth preset duration, and the data set directory has not been called within the fourth preset duration, then the original data of the data set directory is cleared.
[0094] That is, this embodiment provides a scheduling strategy similar to cache strategies such as LRU and LFU. Also starting from the perspective of whether the data is frequently used, the infrequently used data judged based on a certain condition is released from the memory to improve the utilization rate of memory resources. For the aging data elimination strategy provided in this embodiment, it is judged based on the time dimension whether the data set directory has been called within a period of time (i.e., the fourth preset duration); the judgment of whether it has been called again can be determined according to whether there is a task record for this data set directory; if this data set directory has not been called within this time period, it means that it belongs to "aging" data and can be released from the memory to free up memory space for the loading of other new data, which is beneficial to the reasonable utilization of memory resources.
[0095] It should be noted that the aging data elimination strategy provided in the above embodiments is similar to cache strategies such as LRU and LFU. They all judge whether data is frequently used in the time dimension and then determine whether to release the data. Therefore, in practical applications, the aging data elimination strategy can be used as a supplement to the LRU and LFU strategies. For the first, second, and third dimension residency strategies and data preheating strategies that start from another perspective and can adapt to more complex scenario dimensions for memory scheduling, they can be implemented based on the LRU, LFU, and aging data elimination strategies as a higher-level memory scheduling optimization solution.
[0096] That is, this embodiment also provides a possible implementation. Before the above step S41, it further includes: S42: Obtain the status of the current policy control item.
[0097] Among them, the status of the policy control item includes: policy completely closed, basic append policy enabled, and enhanced policy enabled.
[0098] Correspondingly, the above steps S21~S24 can be integrated to obtain the corresponding step S20: According to the status of the policy control item, call the corresponding scheduling policy set to process the data set directory to obtain the corresponding scheduling result.
[0099] Among them, when the status of the policy control item is policy completely closed, the corresponding scheduling policy set is an empty set; when the status of the policy control item is basic append policy enabled, the corresponding scheduling policy set includes: aging data elimination strategy; when the status of the policy control item is enhanced policy enabled, the corresponding scheduling policy set includes: first dimension residency strategy, second dimension residency strategy, third dimension residency strategy, and data preheating strategy.
[0100] That is, step S42 in this embodiment and step S41 in the above embodiment occur before step S20 and are steps for selecting and controlling the specific scheduling policy called in step S20. Among them, step S42 is used to select the specific scheduling policy called for this memory scheduling, that is, to select the scheduling policy set.
[0101] According to the different levels, the status of the policy control item is, from low to high: policy completely closed < basic append policy enabled < enhanced policy enabled. The so-called level high and low mainly refers to the level of optimization effect on memory scheduling. The memory scheduling optimization effect of the enhanced policy > the memory scheduling optimization effect of the basic append policy > the memory scheduling optimization effect when the policy is completely closed (which is none).
[0102] As can be seen from the above embodiments, the aging data elimination strategy provided in the embodiments of the present invention does not conflict with the LRU cache strategy and the LFU cache strategy, and can be used as a supplement to the LRU cache strategy and the LFU cache strategy. Therefore, this embodiment also provides a possible implementation. The scheduling policy set corresponding to the opening of the basic append policy further includes: the LRU cache strategy and the LFU cache strategy.
[0103] That is, in this embodiment, the scheduling policy set corresponding to the opening of the basic append policy includes: the LRU cache strategy, the LFU cache strategy, and the aging data elimination strategy.
[0104] Similarly, as can be seen from the above embodiments, the first, second, and third dimension residency strategies and the data preheating strategy provided in the embodiments of the present invention do not conflict with the LRU cache strategy and the LFU cache strategy, and belong to a solution with a higher dimension and better memory scheduling optimization effect, and can be used as an optimized scheduling strategy on top of the LRU cache strategy and the LFU cache strategy. Therefore, this embodiment also provides a possible implementation. The scheduling policy set corresponding to the opening of the enhancement policy further includes: the aging data elimination strategy, the LRU cache strategy, and the LFU cache strategy.
[0105] That is, in this embodiment, the scheduling policy set corresponding to the opening of the enhancement policy includes: the LRU cache strategy, the LFU cache strategy, the aging data elimination strategy, the first dimension residency strategy, the second dimension residency strategy, the third dimension residency strategy, and the data preheating strategy.
[0106] It can be seen that in this embodiment, there is an inclusion relationship between the above different levels of scheduling policy sets, and the higher level includes the lower level. That is, the enhancement policy includes the basic append policy, and the basic append policy is included in the all-policy-off state, realizing a multi-level memory scheduling solution, which is beneficial for relevant personnel to select a suitable memory scheduling mode according to different needs of the actual scenario.
[0107] Furthermore, for the scheduling results determined for the dataset directory based on various scheduling policies, the common part is also the most important part, that is, the scheduling results of clearing or loading the original data of the dataset directory.
[0108] However, the scheduling results of the dataset directory determined based on the above scheduling policies are periodic, which is different from the time domain of actual data loading and release in the intermediate state storage architecture. If it is necessary to judge whether to load or release data based on the scheduling policy every time, it will seriously affect the normal operation of the intermediate state storage architecture. Therefore, based on this, this embodiment also provides a possible embodiment. The step S30 above further includes: scheduling the original data of the corresponding dataset directory according to the data forced scheduling flag.
[0109] Among them, the data forced scheduling identifier is a pre-created identifier, which corresponds to each data set directory one by one; the states of the data forced scheduling identifier include: forced loading and forced release; when the state of the data forced scheduling identifier is forced loading, the original data of the data set directory is loaded; when the state of the data forced scheduling identifier is forced release, the original data of the data set directory is cleared.
[0110] It is easy to know that when it is determined based on the above first, second, and third dimension residency policies and the aged data elimination policy that the original data of a certain data set directory needs to be cleared, the corresponding data forced scheduling identifier can be set to the release state, and then subsequently, it can be determined according to the data forced scheduling identifier to release the original data of this data set directory from the memory.
[0111] Similarly, when it is determined based on the above first, second, and third dimension residency policies and the aged data elimination policy that the original data of a certain data set directory needs to be retained, or when it is determined based on the data preheating policy that the original data of this data set directory needs to be pre-loaded, the corresponding data forced scheduling identifier can be set to the loading state; if the original data of this data set directory has been loaded into the memory, this data forced scheduling identifier indicates retaining this original data; if the original data of this data set directory has not been loaded into the memory, this data forced scheduling identifier indicates that it is necessary to load this original data to achieve pre-loading.
[0112] It can be seen from this that based on the setting of the data forced scheduling identifier in this embodiment, the flexible representation of the retention and release of each data set directory is realized, which is convenient for the intermediate state storage architecture to execute the correct scheduling operation based on the scheduling result of the scheduling policy, and ensures the memory scheduling optimization effect of this method.
[0113] On the other hand, for the specific application of the memory scheduling method provided in the above embodiment of the present invention, this embodiment provides a possible implementation solution.
[0114] This method is applied to the intermediate state storage architecture, specifically as Figure 2 shown, and is specifically applied to the data loading controller in the intermediate state storage architecture. Figure 2 The data flow monitor in is used to provide the flow information of each data set directory, and the flow information is stored in the flow metadata table in the main node of the intermediate state storage architecture for the data loading controller to call at any time. And Figure 2 The scheduling policy model in is used to provide the first, second, and third dimension residency policies, data preheating policy, aged data elimination policy, and LRU and LFU policies in the above embodiment, and determine the scheduling policy matched during local memory scheduling according to the current policy control item of the data loading controller.
[0115] In the above embodiments, a memory scheduling method is described in detail. The present invention also provides corresponding embodiments of a memory scheduling device. It should be noted that the present invention describes the embodiments of the device part from two perspectives, one is from the perspective of functional modules, and the other is from the perspective of hardware.
[0116] From the perspective of functional modules, this embodiment provides a memory scheduling device, as Figure 3 shown, including:
[0117] A monitoring and recording module 11, configured to monitor and record the data flow information of data in the intermediate storage architecture in units of dataset directories; wherein, the flow information includes the call information and update information of the dataset directories.
[0118] A policy matching module 12, configured to process the dataset directory by invoking the first-dimension residency policy according to the corresponding flow information to obtain the corresponding scheduling result.
[0119] A scheduling control module 13, configured to schedule the corresponding dataset directory according to the scheduling result.
[0120] Among them, the first-dimension residency policy includes:
[0121] If it is determined according to the update information that the dataset directory meets the low-frequency update condition, and it is determined according to the call information that the dataset directory meets the high-frequency call condition and the task mode fixed condition, then save the task result data of the current dataset directory and clear the original data of the current dataset directory.
[0122] Since the embodiments of the device part correspond to the embodiments of the method part, for the embodiments of the device part, please refer to the description of the embodiments of the method part, which will not be elaborated here.
[0123] Figure 4 The structural diagram of a memory scheduling device provided by another embodiment of the present invention is shown in Figure 4 shown. A memory scheduling device includes: a memory 20, configured to store a computer program; a processor 21, configured to implement the steps of a memory scheduling method as described in the above embodiment when executing the computer program.
[0124] The memory scheduling device provided in this embodiment may include but is not limited to a mobile terminal, a personal computer, a workstation, etc.
[0125] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 may be implemented in at least one hardware form of a Digital Signal Processor (DSP), a Field-Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor used to process data in the wake state, also known as the Central Processing Unit (CPU); the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may be integrated with a Graphics Processing Unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may further include an Artificial Intelligence (AI) processor, and the AI processor is used to process computational operations related to machine learning.
[0126] The memory 20 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 20 may further include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In this embodiment, the memory 20 is at least used to store the following computer program 201. After the computer program is loaded and executed by the processor 21, it can implement the relevant steps of a memory scheduling method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 20 may further include an operating system 202 and data 203, etc., and the storage method may be transient storage or permanent storage. Among them, the operating system 202 may include Windows, Unix, Linux, etc. The data 203 may include, but is not limited to, a memory scheduling method, etc.
[0127] In some embodiments, a memory scheduling device may further include a display screen 22, an input / output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.
[0128] Those skilled in the art can understand that Figure 4 the structure shown in
[0129] An in-memory scheduling device provided by an embodiment of the present invention includes a memory and a processor. When the processor executes a program stored in the memory, the following method can be implemented: An in-memory scheduling method.
[0130] In addition to the embodiments of the in-memory scheduling method and device provided in the above embodiments, the present invention also provides an embodiment corresponding to a computer program product. A computer program product includes computer programs / instructions. When the computer programs / instructions are executed by a processor, the steps of the in-memory scheduling method described in any of the above embodiments can be implemented.
[0131] Since the embodiments of the computer program product part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the computer program product part, and will not be elaborated here.
[0132] Finally, the present invention also provides an embodiment corresponding to a non-volatile storage medium. A computer program is stored on the non-volatile storage medium. When the computer program is executed by a processor, the steps recorded in the above method embodiments are implemented.
[0133] It can be understood that if the method in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of the present invention. And the aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks, or optical discs that can store program codes.
[0134] The above has introduced in detail an in-memory scheduling method, program product, device, and medium provided by the present invention. The embodiments in the specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the various embodiments can be referred to each other. For the device disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple. For the relevant parts, please refer to the description in the method part. It should be noted that for those of ordinary skill in the art in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the present invention.
[0135] It should also be noted that in this specification, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the said element.
Claims
1. A memory scheduling method, characterized in that: include: Monitoring and recording the flow information of data in the intermediate storage architecture in units of data set directories; wherein the flow information includes call information and update information of the data set directories; According to the corresponding flow information, calling the first dimension residence strategy, the second dimension residence strategy and the third dimension residence strategy to process the data set directory to obtain a corresponding scheduling result; Scheduling the corresponding data set directory according to the scheduling result; The first dimension residence strategy includes: If it is determined according to the update information that the data set directory meets the low-frequency update condition, and it is determined according to the call information that the data set directory meets the high-frequency call condition and the task mode fixed condition, then the task result data of the current data set directory is saved, and the original data of the current data set directory is cleared; The second dimension residence strategy includes: If it is determined according to the update information that the data set directory meets the high-frequency update condition, and it is determined according to the call information that the data set directory meets the low-frequency call condition, then clearing the original data of the current data set directory; The third dimension residence strategy includes: If it is determined according to the calling information that the data set directory meets the ultra-low frequency calling condition, the original data of the current data set directory is cleared.
2. The memory scheduling method according to claim 1, characterized in that: The low-frequency update condition includes: within a first preset time period, the update frequency of the data set directory is less than a preset low-frequency update threshold; The high-frequency calling condition includes: within a second preset time period, the calling frequency of the data set directory is greater than a preset high-frequency calling threshold; The task mode fixing condition includes: within a third preset time period, the number of different task result items in the data set directory is less than a preset mode fixing threshold; The high-frequency update condition includes: within a first preset time period, the update frequency of the data set directory is greater than a preset high-frequency update threshold; The low-frequency calling condition includes: within a second preset time period, the calling frequency of the data set directory is less than a preset low-frequency calling threshold; The ultra-low frequency calling condition includes: within a second preset time length, the calling frequency of the data set directory is less than a preset ultra-low frequency calling threshold.
3. The memory scheduling method according to claim 2, characterized in that: Also includes: Obtain the state of the current strategy mode item; wherein the state of the strategy mode item includes: default mode and custom mode; When the state of the strategy mode item is the default mode, obtaining default configuration values of the first preset duration, the second preset duration, the third preset duration, the high frequency update threshold, the low frequency update threshold, the high frequency call threshold, the low frequency call threshold, the ultra low frequency call threshold and the mode fixed threshold from the register; When the state of the policy mode item is a custom mode, the custom configuration values of the first preset duration, the second preset duration, the third preset duration, the high-frequency update threshold, the low-frequency update threshold, the high-frequency call threshold, the low-frequency call threshold, the ultra-low-frequency call threshold and the mode fixed threshold are obtained from the client.
4. The memory scheduling method according to claim 3, characterized in that: Also includes: According to the corresponding response type, the data preheating strategy is called to process the data set directory to obtain the corresponding scheduling result; Wherein, the response type is a custom parameter pre-configured for each data set directory; the response type includes: quick response and non-quick response; The data preheating strategy includes: If the response type is a quick response, the original data of the data set directory is preloaded.
5. The memory scheduling method according to claim 4, characterized in that: The flow information also includes: loading information of the data set directory; The method further comprises: According to the corresponding flow information, calling the aging data elimination strategy to process the data set directory to obtain a corresponding scheduling result; The aging data elimination strategy includes: If it is determined based on the flow information that the data set directory satisfies: the time from the current moment to the first loading moment of the data set directory exceeds a fourth preset time, and the data set directory has not been called within the fourth preset time, then the original data of the data set directory is cleared.
6. The memory scheduling method according to claim 5, characterized in that: Before getting the status of the current strategy mode item, also include: Obtain the status of the current policy control item; wherein the status of the policy control item includes: all policies are off, basic additional policies are on, and enhanced policies are on; According to the state of the policy control item, calling the corresponding scheduling policy set to process the data set directory to obtain the corresponding scheduling result; Among them, when the state of the policy control item is that all policies are off, the corresponding scheduling policy set is an empty set; when the state of the policy control item is that the basic additional policy is turned on, the corresponding scheduling policy set includes: the aging data elimination policy; when the state of the policy control item is that the enhanced policy is turned on, the corresponding scheduling policy set includes: the first dimension residence policy, the second dimension residence policy, the third dimension residence policy and the data preheating strategy.
7. The memory scheduling method according to claim 6, characterized in that: When the state of the policy control item is that the basic additional policy is turned on, the corresponding scheduling policy set also includes: a least recently used cache policy and a least frequently used cache policy.
8. The memory scheduling method according to claim 7, characterized in that: When the state of the policy control item is that the enhanced policy is turned on, the corresponding scheduling policy set also includes: the aging data elimination policy, the least recently used cache policy and the least frequently used cache policy.
9. The memory scheduling method according to claim 1, characterized in that: Monitoring and recording the task result items of the data set directory include: When a new task result item is detected, determining whether the corresponding data set directory has recorded the task result item; If not, determining whether the number of task result items currently recorded in the corresponding data set directory exceeds a preset task result item threshold; If not exceeded, the task result item is recorded.
10. The memory scheduling method according to any one of claims 1 to 9, characterized in that: Scheduling the corresponding data set directory according to the scheduling result includes: Scheduling the original data of the corresponding data set directory according to the data forced scheduling identifier; Among them, the data forced scheduling identifier is a pre-created identifier, which corresponds one-to-one to each of the data set directories; the status of the data forced scheduling identifier includes: forced loading and forced release; when the status of the data forced scheduling identifier is forced loading, the original data of the data set directory is loaded; when the status of the data forced scheduling identifier is forced release, the original data of the data set directory is cleared.
11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the memory scheduling method according to any one of claims 1 to 10 are implemented.
12. A memory scheduling device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the memory scheduling method according to any one of claims 1 to 10 when executing the computer program.
13. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the memory scheduling method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Cache replacement method and storage medium
CN118035135A