Memory access scheduling method and system, electronic device and storage medium
By distributed configuration and access scheduling of memory based on the hierarchical relationship and attribution relationship within the enterprise, the problem of low access efficiency of users in different areas within the enterprise is solved, and more efficient data access and load balancing are achieved.
Patent Information
- Application Number
- CN202510760666.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-06-09
AI Technical Summary
Since different departments are distributed in different regions within the enterprise, users' access to the central database is inefficient, and the central database access pressure is high, which affects data access efficiency.
By receiving the access request from the target terminal, according to the affiliation relationship between the target terminal and the multi-level sub-object, the target terminal is allocated from multiple memories that meet the network resource consumption conditions to realize distributed storage and access scheduling of data.
Optimize the terminal's access speed to data, reduce the memory access load, improve data access efficiency, and reduce network resource consumption.
Smart Images

Figure CN120276684B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a memory access scheduling method and system, an electronic device, and a storage medium. Background Art
[0002] In the era of big data, more and more companies are becoming more dependent on data storage and access. In some companies, there are multiple departments under the jurisdiction of the company, and different departments may be located in different regions. How to achieve data storage and sharing within the company has become an important issue facing the company. In related technologies, a central database is built for the company, which stores all the data of the company. Then, internal personnel of the company can access the company data by accessing the central database. However, due to business needs, multiple departments under the jurisdiction of the company are distributed in different regions. On the one hand, the access efficiency of users in different regions to the central database is different. The farther the user's location is from the configuration location of the central database, the lower the data access efficiency. On the other hand, all users within the company access data by accessing the central database, which leads to high access pressure on the central database, affecting the data access efficiency of the central database. Summary of the Invention
[0003] The present application provides a memory access scheduling method and system, an electronic device and a storage medium, so as to at least solve the problem of low access efficiency to data of a target object in the related art.
[0004] The present application provides a memory access scheduling method, comprising: receiving an access request sent by a target terminal, wherein the access request is used to request access to target data from multiple memories of a target object, the target object including multiple levels of sub-objects having a hierarchical relationship, the multiple memories being configured in a one-to-one correspondence with the multiple levels of sub-objects, and each memory being used to store data of a corresponding hierarchical sub-object;
[0005] searching for a plurality of reference memories storing target data from a plurality of memories;
[0006] A target memory is allocated to the target terminal from the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access target data from the target memory, and the target memory is a memory among multiple reference memories that meets the network resource consumption conditions when the target terminal accesses data.
[0007] The present application also provides a memory access scheduling system, comprising: a scheduler, and a plurality of memories configured for a target object, the scheduler being connected to each memory, the target object comprising a plurality of sub-objects having a hierarchical relationship, the plurality of memories being configured in a one-to-one correspondence with the multi-level sub-objects;
[0008] Memory, used to store data of sub-objects at the corresponding level;
[0009] A scheduler is configured to receive an access request sent by a target terminal, wherein the access request is used to request access to target data from multiple memories of a target object; search for multiple reference memories storing the target data from the multiple memories; and allocate a target memory to the target terminal from the reference memories based on the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access the target data from the target memory, and the target memory is a memory among the multiple reference memories that meets the network resource consumption conditions when the target terminal accesses the data.
[0010] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned memory access scheduling methods when executing the computer program.
[0011] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned memory access scheduling methods are implemented.
[0012] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned memory access scheduling methods when executed by a processor.
[0013] Through the present application, the target object includes a multi-level sub-object with a hierarchical relationship, and multiple memories are configured in a one-to-one correspondence with the multi-level sub-objects. Each memory is used to store data of the corresponding hierarchical sub-object. Then, when an access request is received from the target terminal requesting to access the target data, multiple reference memories storing the target data are found from the multiple memories, and then, according to the affiliation between the target terminal and the multi-level sub-objects, a target memory that meets the network resource consumption conditions when the target terminal accesses the data is allocated from the reference memory. That is, by configuring multiple memories, the data of the target object is distributedly stored through the multiple memories according to the hierarchical relationship of the sub-objects in the target object. On the one hand, the terminal's access speed to the data is optimized, and on the other hand, the access load of the memory is reduced. This can solve the technical problem of low access efficiency to the data of the target object in the related technology, and achieve the effect of improving the access efficiency to the data of the target object. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0015] Figure 1 This is a hardware block diagram of a memory access scheduling method according to an embodiment of the present application;
[0016] Figure 2 This is a flowchart of a memory access scheduling method according to an embodiment of the present application;
[0017] Figure 3 This is a diagram of a four-level cache architecture based on a memory access scheduling method according to an embodiment of the present application;
[0018] Figure 4 This is a functional module structure diagram of a memory-based access scheduler according to an embodiment of the present application;
[0019] Figure 5 This is an example diagram of a permission matrix of a memory-based access scheduling system according to an embodiment of the present application;
[0020] Figure 6 This is a module interaction structure diagram of a memory-based access scheduler according to an embodiment of the present application;
[0021] Figure 7 This is a flowchart of cross-regional image distribution for a manufacturing enterprise based on a memory access scheduling method according to an embodiment of the present application;
[0022] Figure 8 This is a system block diagram of a memory access scheduling system according to an embodiment of the present application;
[0023] Figure 9 This is a structural block diagram of a memory access scheduling device according to an embodiment of the present application. DETAILED DESCRIPTION
[0024] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0025] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are 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 explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0026] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0027] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the memory access scheduling method depends, the specific application environment architecture or specific hardware architecture is described herein.
[0028] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 This is a hardware structure diagram of the memory access scheduling of the embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. The server device may also include a transmission device 106 and an input / output device 108 for communication functions. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.
[0029] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the startup method of the operating system in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories can be connected to the server device via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0030] Transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a communication provider of the server device. In one embodiment, transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0031] An embodiment of the present application provides a memory access scheduling method, and the method is described in detail in conjunction with the execution flow of the memory access scheduling method.
[0032] The following is an explanation of the professional terms that appear in this application:
[0033] Image: An executable file containing an operating system, applications, and configurations, used to quickly deploy a computing environment;
[0034] Basic image: standard environment images maintained uniformly by the enterprise, such as development language images and operating system images;
[0035] Application image: a business-specific image built based on the base image;
[0036] Image sharding: Split large images into 256MB (configurable) independent data blocks, supporting parallel download and verification;
[0037] SM4 (SM4 Block Cipher Algorithm): a national secret block cipher algorithm used for image signing and transmission encryption;
[0038] Spark: A general-purpose computing framework that integrates offline computing, real-time computing, SQL query, machine learning, and graph computing.
[0039] CDN (Content Delivery Network): A network architecture that accelerates content delivery through distributed nodes.
[0040] DHT (Distributed Hash Table): A distributed hash table used for decentralized resource location in peer-to-peer (P2P) networks, enabling rapid discovery of image shards.
[0041] LRU (Least recently used): Least recently used algorithm, a cache elimination algorithm that prioritizes removing content that has not been used for the longest time;
[0042] LFU (Least Frequently Used): Least frequently used algorithm, a cache elimination algorithm based on access frequency, which prioritizes the elimination of content with the least number of accesses.
[0043] RBAC (Role-Based Access Control): Role-based access control is a security management mechanism that assigns permissions through roles. In this solution, it is broken down into departments, roles, and IP segments.
[0044] In this embodiment, a memory access scheduling method is provided. Figure 2 Flowchart of a method for scheduling memory access according to an embodiment of the present application. Figure 2 As shown, the method includes the following steps:
[0045] Step S202: receiving an access request sent by a target terminal, wherein the access request is for requesting access to target data from multiple memories of a target object, wherein the target object includes multiple levels of sub-objects in a hierarchical relationship, and the multiple memories are configured in a one-to-one correspondence with the multiple levels of sub-objects, and each memory is used to store data of a corresponding hierarchical sub-object;
[0046] Step S204, searching for multiple reference memories storing target data from multiple memories;
[0047] Step S206, allocating a target memory to the target terminal from the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access the target data from the target memory, and the target memory is a memory among the multiple reference memories that meets the network resource consumption conditions when the target terminal accesses the data.
[0048] Through the above steps, the target object includes a multi-level sub-object with a hierarchical relationship, and multiple memories are configured in a one-to-one correspondence with the multi-level sub-objects. Each memory is used to store data of the corresponding hierarchical sub-object. Then, when an access request is received from the target terminal requesting to access the target data, multiple reference memories storing the target data are found from the multiple memories, and then, according to the affiliation between the target terminal and the multi-level sub-objects, a target memory that meets the network resource consumption conditions when the target terminal accesses the data is allocated from the reference memory. That is, by configuring multiple memories, the data of the target object is distributedly stored through the multiple memories according to the hierarchical relationship of the sub-objects in the target object. On the one hand, the terminal's access speed to the data is optimized, and on the other hand, the access load of the memory is reduced. This can solve the technical problem of low access efficiency to the data of the target object in the related technology, and achieve the effect of improving the access efficiency to the data of the target object.
[0049] Optionally, in the above embodiment, the access scheduling method of the above memory can be applied to, but is not limited to, a scheduler configured for the memory, which is connected to multiple memories configured for the target object and is used to schedule data stored in multiple memories. The scheduler is also connected to the terminal under the target object, thereby receiving the access request of the target terminal and allocating the target memory to be accessed to the target terminal according to the storage status of the data requested to be accessed by the access request in multiple memories.
[0050] The embodiments of the present application solve the problems in the access scenario of the internal data of the target object. In the target object, the target object can be divided into multiple sub-objects with a hierarchical relationship according to the hierarchical division requirements of the object (for example, when the target object is an enterprise, the sub-objects can be multiple departments or sub-departments included in the enterprise; for example, if the target object is an organization, the sub-objects can be the first-level sub-organization, second-level sub-organization,..., N-level sub-organization included in the organization). According to the object hierarchical division method in the target object, multiple memories with a hierarchical relationship are configured for the target object. Each level of sub-object corresponds to a memory for storing all data of the corresponding level of sub-object, thereby realizing hierarchical storage of the data of the target object.
[0051] Optionally, in an embodiment of the present application, the target object has multiple terminal devices under its jurisdiction, and there is an ownership relationship between the terminal and the sub-objects included in the target object. The ownership relationship may include but is not limited to direct ownership and indirect ownership. When a terminal is bound to a sub-object, there is a direct ownership relationship between the terminal and the sub-object. When a terminal is bound to a subordinate sub-object of a sub-object, there is an indirect ownership relationship between the terminal and the sub-object, and the terminal has a direct ownership relationship between the subordinate sub-objects.
[0052] In the embodiment provided in step S204, multiple memories are configured in a one-to-one correspondence with multiple levels of sub-objects, that is, there is a hierarchical relationship between the multiple memories, and each memory is used to store the data of the sub-objects of the corresponding level. Therefore, the high-level memory stores the business data in all low-level memories under the memory. For example, the multiple sub-objects include first-level sub-objects, second-level sub-objects and third-level sub-objects. The second-level sub-object is the sub-object under the first-level sub-object, and the third-level sub-object is the sub-object under the second-level sub-object. According to the hierarchical relationship of the sub-objects, a first memory is configured for the first-level sub-object, a second memory is configured for the second-level sub-object, and a third memory is configured for the third-level sub-object. Different memories are used to store the full amount of data of the sub-objects of the corresponding level. Therefore, in addition to storing all the data of the third memory, the second memory also stores other unique data of the second-level sub-object. In addition to storing all the data in the second memory, the first memory also stores other unique data of the first-level sub-object. Therefore, the data stored in memories at different levels are different, so the data requested to be accessed by the target terminal may be stored in memories at different levels in the target object at the same time.
[0053] In the embodiment provided in step S206, the attribution relationships between the terminal and sub-objects at different levels are different, and thus the access distances when the terminal accesses the memories configured for sub-objects at different levels are different, resulting in different access speeds for the terminal to different memories. For example, compared to downloading the target data from the first memory corresponding to the first-level sub-object with an indirect attribution relationship, when the terminal downloads the target data from the second memory corresponding to the second-level sub-object with a direct attribution relationship, because the access distance between the terminal and the second memory is shorter than the access distance between the terminal and the first memory, the terminal reads the target data from the second memory faster than the speed of reading the target data from the first memory. Therefore, in an embodiment of the present application, a method of allocating a target memory to the target terminal from the reference memory based on the attribution relationship between the target terminal and the multi-level sub-objects can be to detect the access distance of the target terminal to each of the multiple reference memories based on the attribution relationship between the target terminal and the multi-level sub-objects, and determine the memory with the shortest access distance among the multiple reference memories as the target memory.
[0054] Optionally, in an embodiment of the present application, the target memory can be screened out from a plurality of reference memories based on the access distance between the terminal and the memory and the access load of the memory, that is, the method of allocating the target memory to the target terminal from the reference memory based on the ownership relationship between the target terminal and the multi-level sub-objects can be: detecting the target access distance of the target terminal to each reference memory in the plurality of reference memories based on the ownership relationship between the target terminal and the multi-level sub-objects; detecting the current target access load of each reference memory, wherein the target access load is used to indicate the business data access status in the corresponding reference memory, and the target access load can characterize the transmission resource status that the reference memory can allocate to the target terminal when responding to the access request of the target terminal; and then predicting the first data between the target terminal and the corresponding reference memory based on the target access distance. Transmission parameters, wherein a first data transmission parameter is used to indicate the data transmission quality of a target terminal under a target access distance; a second data transmission parameter is predicted between the target terminal and a corresponding reference memory according to a target access load, wherein the second data transmission parameter is used to indicate the data transmission quality of the target terminal under the target access load; a first weight parameter and a second weight parameter are used to perform weighted summation on the first data transmission parameter and the second data transmission parameter to obtain a target data transmission parameter of the reference memory, wherein the target data transmission parameter is used to indicate the data transmission quality between the terminal and the memory, the first weight parameter is used to indicate the influence of the access distance on the transmission quality, and the second weight parameter is used to indicate the influence of the access load on the transmission quality; a memory having the target data transmission parameter greater than or equal to the target parameter threshold among multiple reference memories is determined as a target memory.
[0055] As an optional implementation, allocating a target memory to the target terminal from a reference memory based on the ownership relationship between the target terminal and the multi-level sub-objects includes: detecting access information of the reference memory based on the ownership relationship between the target terminal and the multi-level sub-objects, wherein the access information is used to indicate the network resource consumption when the target terminal accesses the corresponding reference memory; allocating a target memory to the target terminal from multiple reference memories based on the access information, wherein the target terminal is used to access target data from the target memory.
[0056] Optionally, in an embodiment of the present application, a cascade relationship exists between multiple levels of sub-objects, the target terminal belongs to a specific sub-object, and a cascade relationship is constructed between the sub-objects based on a hierarchical relationship. The access information of the reference memory is detected based on the belonging relationship between the target terminal and the multiple levels of sub-objects, and access information of multiple reference memories will be obtained. The access information indicates the network resource consumption when the target terminal accesses the corresponding reference memory. Based on the access information, the reference memory with less network resource consumption can be determined, and the optimal reference memory can be selected as the target memory.
[0057] Optionally, in an embodiment of the present application, an intelligent memory allocation strategy is implemented, the core of which is to optimize the access path of the target data based on the ownership relationship between the target terminal and the multi-level sub-objects. Specifically, when the scheduler receives an access request from the target terminal, it will first analyze the ownership relationship between the terminal and the sub-objects of different levels within the enterprise (such as department acceleration points, regional cache pools, etc.), that is, the department or geographical location to which the terminal belongs. Next, the scheduler will detect and analyze the network resource consumption when the terminal accesses the reference memory in the sub-objects at all levels, which includes but is not limited to key indicators such as transmission delay, bandwidth utilization and packet loss rate. Based on the above information, the scheduler adopts a dynamic optimization algorithm to intelligently select and allocate the optimal target memory to the target terminal from multiple possible reference memories, ensuring that the terminal can obtain the target data from its most recent or most frequently accessed level with the lowest network resource consumption.
[0058] This approach not only reduces data access latency and improves transmission efficiency, but also reduces the load on enterprise-level central repositories and optimizes bandwidth usage across the entire network. This ensures efficient resource utilization and significantly improves user experience while ensuring data security. This allocation mechanism is particularly well-suited for image distribution in private cloud environments, enabling adaptive resource scheduling and data distribution based on an enterprise's specific business needs and network conditions.
[0059] As an optional implementation, detecting access information of a reference memory based on the attribution relationship between a target terminal and multi-level sub-objects includes: obtaining target attribution information of the target terminal, wherein the target attribution information is used to indicate the attribution relationship between the target terminal and the multi-level sub-objects; determining a data transmission rate corresponding to the target attribution information from attribution information and transmission rates having a corresponding relationship, wherein the access information includes the data transmission rate.
[0060] Optionally, in an embodiment of the present application, the attribution information may be, but is not limited to, an object identifier, which is used to mark the sub-object to which the target terminal directly belongs. The attribution information may also be the address information of the target terminal, and the sub-object to which the target terminal belongs can be directly located based on the address information.
[0061] Optionally, in an embodiment of the present application, the access information includes but is not limited to network delay, packet loss rate, network bandwidth, communication rate, memory utilization, etc. when the target terminal communicates with the reference memory.
[0062] Optionally, in an embodiment of the present application, the focus is on optimizing the efficiency of the target terminal in accessing the target data, and by carefully analyzing the ownership relationship between the target terminal and each sub-object in the multi-level distribution system of the private cloud image, accurate control of the data transmission rate is achieved. First, the scheduler obtains the target ownership information of the target terminal. This information clarifies the specific department, geographical location or network level to which the terminal belongs, thereby establishing a link between the terminal and sub-objects at all levels (such as department acceleration points, regional cache pools, etc.). Subsequently, the scheduler searches for the data transmission rate value that matches the current target ownership information based on the correspondence between the ownership information collected and established in advance and the transmission rate. This is used as one of the key parameters for evaluating network resource consumption. The access information here mainly includes the data transmission rate when the terminal accesses the fixed storage.
[0063] Through the above method, it is ensured that the terminal can obtain the required image from the most appropriate storage layer at the best speed, while avoiding network congestion and unnecessary cross-layer data transfer, effectively improving the image distribution speed and end-user experience quality in the private cloud environment, while maintaining the overall stability of the system and resource utilization efficiency.
[0064] As an optional implementation, allocating a target memory to a target terminal from a plurality of reference memories based on access information includes: screening out a first memory from a plurality of reference memories whose data transmission rate with the target terminal is greater than or equal to a target rate, wherein the access information includes the data transmission rate; and determining the first memory as the target memory.
[0065] Optionally, in an embodiment of the present application, the first memory whose data transmission rate with the target terminal is greater than or equal to the target rate is screened out from multiple reference memories, that is, the memory with the fastest transmission rate and the highest transmission efficiency is screened out as the target memory, which is a memory selection scheme for obtaining the best target data.
[0066] Optionally, in an embodiment of the present application, an intelligent memory allocation strategy based on access information is adopted to provide the most suitable data access point for each target terminal to optimize the efficiency of data transmission and user experience. When a target terminal initiates a data access request, the scheduler will first screen out the first memory whose data transmission rate between the terminal and the target terminal is higher than or equal to a preset target rate threshold from a series of preset reference memories as the preferred resource point for the target terminal to access the target data. This determination step may also take into account other access information, such as network latency, memory utilization, and data integrity verification records, to ensure that the target memory not only has a suitable transmission rate, but also has reliable data storage and a stable network connection.
[0067] Through the above-mentioned intelligent selection mechanism, the scheduler can dynamically adjust the data distribution path so that the target terminal can access the required data under the optimal network conditions, significantly improving the image distribution speed in the private cloud environment and the access experience of end users. At the same time, it effectively controls the consumption of network resources and realizes efficient and economical data distribution.
[0068] As an optional implementation, after allocating a target memory to the target terminal from multiple reference memories based on access information, the method also includes: configuring an access path for the target terminal to access the target memory based on the connection relationship between the target terminal and the target memory; and controlling the target terminal to access the target data stored in the target memory according to the access path.
[0069] Optionally, in this embodiment, the access path is a transmission path whose data transmission quality is greater than the target transmission quality, which is screened out from multiple data transmission paths connected between the target terminal and the target storage. For example, the access path may include but is not limited to an access path accessed through a local area network, an access path accessed through the Internet, and an access path accessed through a P2P (Peer-to-Peer) manner.
[0070] Through the above method, the access path of the terminal to the storage is configured according to the connection relationship between the terminal and the storage, thereby optimizing the access efficiency of the terminal to the data in the storage. It can not only dynamically adjust the data source according to the real-time needs of the terminal and the network conditions, but also optimize the data access path to achieve more efficient and secure data transmission, greatly improving the efficiency of internal data management and user experience of the enterprise.
[0071] As an optional implementation, the access path information for the target terminal to access the target storage is configured according to the connection relationship between the target terminal and the target storage, including: when the connection relationship is used to indicate that the target terminal is connected to the target storage via a communication link, the target communication link is configured as the access path for the target terminal to access the target storage; when the connection relationship is used to indicate that the target terminal is connected to the target storage via a local area network, the local area network access path of the target storage is configured as the access path for the target terminal to access the target storage; when the connection relationship is used to indicate that the target terminal is connected to the target storage via the Internet, the Internet access path of the target storage is configured as the access path for the target terminal to access the target storage.
[0072] Optionally, in an embodiment of the present application, access path information is intelligently configured based on the connection relationship between the target terminal and the target storage to ensure efficient and secure data transmission. Specifically, the scheduler first identifies the connection type between the target terminal and the target storage, and then provides customized path configuration for data access based on different connection methods. When the target terminal and the target storage are directly connected through a specific communication link, this target communication link will be identified as the optimal access path, which means that data can be transmitted directly through this link without passing through additional transit nodes, thereby reducing transmission delay and improving data transmission rate; when the target terminal and the target storage are located in the same local area network, the local area network access path will be preferentially configured as the target access path. Transmission within the local area network usually has lower latency and higher transmission rate. Therefore, accessing the target storage through the local area network can significantly improve data access efficiency. At the same time, the data transmission security in the local area network environment is also relatively higher; if the target terminal and the target storage are connected through the Internet, the Internet access path will be configured as the target access path based on the characteristics of the Internet. The configuration of the Internet path will take into account the instability and potential security risks of the public network and may adopt encrypted transmission protocols and flow control strategies to ensure the security of data transmission and the access experience of end users.
[0073] This approach allows for flexible adaptation to connectivity requirements in diverse scenarios, selecting the most suitable network environment for data transmission and achieving efficient and reliable data access. This connection-based path configuration mechanism is a key technology for intelligent resource scheduling and optimized user experience within a multi-level private cloud image distribution system.
[0074] As an optional implementation, after allocating a target memory to the target terminal from multiple reference memories based on access information, the method further includes: when the sub-object to which the target memory belongs is a sub-object among multiple sub-objects that has an indirect ownership relationship with the target terminal, searching for a reference sub-object to which the target terminal directly belongs from the multiple sub-objects; and synchronizing the target data to a second memory configured for the reference sub-object.
[0075] Optionally, in an embodiment of the present application, an indirect ownership relationship refers to other ownership relationships other than the terminal directly belonging to the corresponding sub-object. When the sub-object to which the target memory belongs is a sub-object that has an indirect ownership relationship with the target terminal, for example, the sub-object to which the current target terminal belongs is Wuhan R&D Department 1, but the sub-object corresponding to the target memory is Wuhan R&D Center, then the target terminal and Wuhan R&D Center have an indirect ownership relationship. At this time, the memory corresponding to the Wuhan R&D Center will synchronize the target data to the second memory.
[0076] Optionally, in an embodiment of the present application, after completing the process of intelligently allocating target storage to the target terminal based on access information, a secondary optimization mechanism is introduced to deploy data closer to the terminal user, thereby providing faster and more personalized data access services. Specifically, once it is confirmed that the target storage belongs to a sub-object with an indirect affiliation, a search program is immediately started to accurately find the reference sub-object to which the target terminal directly belongs from among the numerous sub-objects. For example, if the target terminal belongs to the R&D department, and the initially allocated target storage is located at the acceleration point of the testing department that has an indirect relationship with it, it will automatically search for the cache node directly belonging to the R&D department. After finding the directly affiliated reference sub-object, the target data will be synchronized to the second storage configured in the reference sub-object. This data synchronization action ensures that the directly affiliated sub-object can also provide the required data resources, thereby avoiding additional transmission delays and waste of network resources caused by the affiliation.
[0077] Through this approach, even if initial storage allocation is based on indirect ownership, the scheduler can, through subsequent intelligent adjustments, migrate data to a storage environment directly associated with the target terminal, enabling faster data access and significantly improving the user experience. This multi-level data management and dynamic storage adjustment strategy fully embodies the design essence of the private cloud image multi-level distribution system: continuously optimizing data distribution paths and storage layout to achieve optimal data transmission performance and resource utilization efficiency while meeting security and permission requirements.
[0078] As an optional implementation, synchronizing the target data to a second memory configured for a reference sub-object includes: sending a target transfer instruction to the target memory, wherein the target transfer instruction is used to instruct the target memory to call a transmission link between the target memory and the second memory to transfer the target data to the second memory.
[0079] Optionally, in an embodiment of the present application, in order to achieve efficient data sharing and maximize the use of cache resources, when the target data needs to be moved from the originally allocated target memory to a second memory that is closer to the end user and directly belongs to it, the scheduler will take a refined transmission control measure. The specific operation is that the scheduler sends a special target transmission instruction to the target memory. This instruction carries clear information, instructing the target memory to activate the exclusive transmission link between the target memory and the second memory, and then transfer the target data to the second memory. This instruction not only contains the identification information of the target data, but also clarifies the direction and target of the transmission, that is, to migrate the data from the original storage location to a more suitable second memory. By calling the pre-established transmission link, the scheduler can ensure the smoothness and efficiency of the data migration process, while reducing the network burden brought by cross-level data transmission. The transmission link here may be a high-speed connection within the local area network, or it may be an Internet communication path specially optimized for data synchronization, depending on the network environment and data transmission requirements between the target memory and the second memory.
[0080] Through the above process, precise control of data flow is achieved, which promotes the intelligent distribution of data in the multi-level cache system in the private cloud environment, providing end users with a more efficient, personalized and responsive data access experience.
[0081] As an optional implementation, before receiving the access request sent by the target terminal, the method also includes: obtaining reference access information of the reference terminal under the target sub-object in the multi-level sub-object within a reference time period before the current moment, wherein the reference access information is used to indicate the data access demand of the reference terminal within the reference time period; predicting the target access information of the reference terminal within the target time period after the current moment based on the reference access information; and managing the data stored in the third memory allocated to the target sub-object within the target time period according to the target access information.
[0082] Optionally, in an embodiment of the present application, before the target terminal formally initiates a data access request, it can actively collect and analyze the historical access behavior of terminals within the multi-level sub-objects to predict and prepare for future data needs in advance. First, the access information of the reference terminal under the target sub-object in the most recent reference time period will be obtained. This information comprehensively reflects the key information such as the reference terminal's access frequency, access time point, and access volume to specific data or images, forming detailed reference access information. With the help of data analysis and machine learning technology, the scheduler can make accurate predictions based on the above reference access information and infer the possible data access needs of the reference terminal in the target time period after the current moment, that is, the target access information. This prediction process not only takes into account the regularity in historical records, but may also combine external factors such as work schedules and business cycles, so that the prediction results are closer to actual needs. With the target access information as a basis, the scheduler will then dynamically manage the third memory allocated to the target sub-object and preload those data that are expected to be frequently accessed in the target time period into the third memory.
[0083] Through the above mechanism, the scheduler can complete data deployment and optimization in advance before the end user actually needs the data, effectively shortening the data response time, improving access speed, and reducing network latency and bandwidth consumption caused by temporary data loading.
[0084] As an optional embodiment, before receiving the access request sent by the target terminal, the method also includes: detecting data information of data stored in a fourth memory among multiple memories, wherein the data information is used to indicate whether the corresponding data has been accessed in the fourth memory within a reference time period before the current moment; and managing the data stored in the fourth memory according to the data information.
[0085] Optionally, in an embodiment of the present application, before receiving an access request from a target terminal, a forward-looking data management strategy is adopted to optimize the allocation and utilization of storage resources. In specific implementation, the scheduler will conduct in-depth monitoring of the fourth memory among the multiple memories, focusing on the access of various types of data stored on the device in a certain reference time period in the past, and collecting comprehensive data information including data access frequency, access time distribution, and data size. This information provides a basis for subsequent intelligent data management decisions. Based on the collected data information, the scheduler can intelligently evaluate the popularity and importance of each data, and then dynamically adjust the data layout in the fourth memory. For those data that are rarely accessed or not accessed at all during the reference time period, the scheduler will trigger a data cleanup process to delete it from the fourth memory or migrate it to a low-frequency access storage area, thereby freeing up storage space and improving resource utilization efficiency. At the same time, for hot data, that is, data with high access frequency and strong usage demand, the scheduler will adopt an update retention strategy to ensure that these data are continuously available in the fourth memory, and may even preload more related data shards to meet high-frequency access needs that may arise in the future.
[0086] Through this strategy, the scheduler achieves refined management of data in the memory, which not only reduces invalid or inefficient data storage and reduces storage costs, but also improves the access speed and response efficiency of hot data and enhances the user experience.
[0087] As an optional implementation method, the present application also provides a low-cost, highly reliable, and easy-to-control private cloud image distribution method and system. This method deploys cloud image repositories in a hierarchical manner and stores images that meet the needs of hierarchical departments at different levels. It then solves problems such as slow cross-regional transmission, waste of resources, and insufficient security by performing security management during the image transmission process.
[0088] The main design ideas of this application are as follows:
[0089] Figure 3 This is a diagram of a four-level cache architecture based on a memory access scheduling method according to an embodiment of the present application. Figure 3As shown in the figure, taking the target object as an enterprise with data storage needs as an example, the enterprise is divided into multi-level organizations such as headquarters, business areas, departments, etc. according to the internal hierarchical division needs, and different organizations are configured with corresponding storage institutions to store the data of the hierarchical organizational structure, such as the central library corresponding to the headquarters, the regional cache pool corresponding to the business area, the department acceleration node configured for the department, and the edge cache machine configured for the terminal server. The four-layer node system performs intelligent routing before the image transmission, among which: the enterprise-level central library stores the full image, supports version management, signature verification and audit logs; the regional cache pool caches high-frequency images, and uses asynchronous replication to synchronize with the central library; the department acceleration point caches department-specific images and supports P2P collaborative transmission; the edge cache machine caches commonly used image fragments, and the client sends a request instruction for the image file to the scheduler. The scheduler queries the image file in the four-level cache and first determines whether the edge cache machine has the image file. If so, the scheduler informs the client of the edge cache machine path where the image file is located, and the client obtains the image file in the edge cache machine through the path. If the mirror file does not exist in the edge cache machine, the mirror file is searched for in the department acceleration point. If so, the scheduler informs the client of the path to the department acceleration point where the mirror file is located. The client obtains the mirror file in the department acceleration point through the path, and the scheduler controls the department acceleration point to synchronize the mirror file to the edge cache machine. If the mirror file does not exist in the department acceleration point, the regional cache pool is searched for. If so, the scheduler informs the client of the path to the regional cache pool where the mirror file is located. The client obtains the mirror file in the regional cache pool through the path, and the scheduler controls the regional cache pool to synchronize the mirror file to the department acceleration point, and the department acceleration point synchronizes the mirror file to the edge cache machine. If the mirror file does not exist in the regional cache pool, the mirror file is directly queried from the enterprise-level central library. The scheduler informs the client of the path to the enterprise-level central library where the mirror file is located. The client obtains the mirror file in the enterprise-level central library through the path, and the scheduler controls the enterprise-level central library to synchronize the mirror file to the regional cache pool, the regional cache pool synchronizes the mirror file to the department acceleration point, and the department acceleration point synchronizes the mirror file to the edge cache machine.
[0090] Figure 4 This is a functional module structure diagram of a memory-based access scheduler according to an embodiment of the present application. Figure 4 As shown in the figure, the functional modules of the scheduler include five core functional modules: image management module, cache scheduling module, security authentication module, transmission protocol module, and audit tracking module. Among them:
[0091] The image management module is responsible for image creation, publishing, delisting, and version management. It integrates the image signature engine (SM4 algorithm) and metadata repository, and provides a Web UI and API interface for administrators to operate.
[0092] The cache scheduling module outputs cache scheduling instructions to each node, including functions such as heat analysis engine, cache preloading, and intelligent elimination strategy: the heat analysis engine calculates the access frequency, department distribution, and time characteristics of each image in real time based on Spark; the cache preloading function pushes images to the regional cache pool in advance according to the business cycle (such as every Monday morning); the intelligent elimination strategy function uses an improved LRU algorithm to prioritize the elimination of non-basic images that have not been used for 30 days when the cache usage rate exceeds 80%.
[0093] The security authentication module includes image signature, transmission encryption subsystem, and RBAC-based permission control. Among them: the image signature module performs integrity verification on the image file based on the national secret SM4 algorithm; the transmission encryption subsystem implements secure transmission of the image based on the TLS1.3 protocol; the permission control module defines the corresponding operation permissions according to the four-level cache system and department employee roles, and strictly controls the access to the image. Figure 5 This is an example diagram of a permission matrix of a memory-based access scheduling system according to an embodiment of the present application. Figure 5 As shown in the figure, different roles have different operation permissions for the image storage of different nodes. For example, the system administrator has the permission for full operation, and has read and write operation permissions for the central library, regional pool, and department points; the department manager only has the permission to manage the images of his department, has read-only permission for the central library, and has read and write operation permissions for the regional pool and department points; ordinary employees have the permission to run and download images, have read-only operation permissions for the central library and regional pool, and have read and write operation permissions for department points.
[0094] The transmission protocol module includes functions such as hybrid transmission mode, fragment verification algorithm, and flow control. Among them, the hybrid transmission mode ensures the highest priority image cache based on the cache status of each layer (priority: edge cache machine > department acceleration node > regional cache pool > enterprise-level central library); the distribution verification algorithm uses SHA-256 hash to verify each image fragment (for example, 256MB fragment size) to ensure the integrity of image transmission; the flow control function limits P2P transmission bandwidth to no more than 30% of the total bandwidth to prevent the network from being excessively occupied by P2P traffic and causing network congestion.
[0095] The audit tracking module records complete operation logs, including the source IP, time, version, and usage tags of each image download, and supports SQL queries and visual analysis. It integrates machine learning models to automatically identify abnormal operations (such as high-frequency downloads late at night), further improving the image security management system.
[0096] Figure 6 This is a module interaction structure diagram of a memory-based access scheduler according to an embodiment of the present application. Figure 6As shown, the client sends an access request to the image management module of the scheduler, the image management module controls the security authentication module to verify the user's authority, and the security authentication module returns the authority verification result to the client. Then the image management module controls the cache scheduling module to query the image location in the memory. After querying the corresponding requested image, the transmission protocol module selects the specific transmission method of the memory storing the corresponding image and establishes a transmission link between the client and the memory. The client downloads the fragment from the image memory according to the transmission method and transmission link. After the download is completed, the transmission protocol module reports the download log to the image management module, and the image management module controls the audit tracking module to record the operation information.
[0097] The specific embodiments of this application are as follows:
[0098] Example 1: Cross-region image distribution for a manufacturing enterprise:
[0099] Implementation scenario: An automobile manufacturer has R&D centers in Shanghai, Wuhan, and Chongqing and needs to frequently distribute vehicle system images (average size 8GB).
[0100] Implementation process:
[0101] 1. Image creation:
[0102] The Shanghai headquarters development team built the vehicle system image v1.0 based on the base image (Ubuntu 20.04 + QNX microkernel). After approval by the system administrator, the central library generated the image signature (SM4 algorithm) and recorded the metadata:
[0103] json:
[0104] {,
[0105] "image_id": "caros_v1.0",
[0106] "size": "8.2GB",
[0107] "version": "1.0",
[0108] "creator": "Research and Development Department",
[0109] "department": "Vehicle System Department",
[0110] "last_used": "2025-03-25 09:00:00",
[0111] };
[0112] 2. Intelligent cache scheduling:
[0113] The scheduler automatically analyzes historical data: the usage of the vehicle system image surges at 9:00 a.m. every Monday; the regional cache pools (Shanghai, Wuhan, and Chongqing) preload image v1.0 at 11:00 p.m. on Sunday; and department acceleration points (testing departments in each R&D center) cache frequently accessed UI component shards (approximately 1.5GB).
[0114] 3. Image distribution:
[0115] Figure 7 This is a flowchart of cross-regional mirror distribution for a manufacturing enterprise based on a memory access scheduling method according to an embodiment of the present application.
[0116] When Wuhan R&D personnel start the container, Figure 7 As shown, the client requests the caros_v1.0 shard from the scheduler. The scheduler queries the department acceleration node for UI shards in the local cache. If the query finds that the department acceleration node has UI shards, the department acceleration node returns the UI shard storage information to the scheduler. The scheduler sends the storage path of the UI shard to the client. The client requests the UI shard from the department acceleration node through the UI shard storage path, and the department acceleration node sends the UI shard to the client. The scheduler queries the regional cache pool for kernel shards. If the query finds that the regional cache pool has kernel shards, the regional cache pool returns the kernel shard storage information to the scheduler. The scheduler sends the kernel shard storage path to the client. The client requests the kernel shard from the regional cache pool through the kernel shard storage path, and the regional cache pool sends the kernel shard to the client. At the same time, the regional cache pool synchronizes the kernel shards with the department acceleration node to facilitate subsequent clients to obtain kernel shards from the department acceleration node.
[0117] 4. Safety control:
[0118] Only employees of the Vehicle Systems Department can download the complete image. TLS 1.3 protocol encrypts all data links to ensure transmission security. Audit log records are generated after the image is downloaded, as shown in Table 1:
[0119] Table 1
[0120]
[0121] Implementation effect:
[0122] 1. Cross-region download time is reduced from 1.2 hours to 18 minutes;
[0123] 2. Bandwidth costs were reduced by 62% (from 150,000 yuan per month to 57,000 yuan);
[0124] 3. Reduce the risk of image leakage to zero (through permission matrix and audit tracking).
[0125] Example 2: Secure distribution of database images in financial enterprises:
[0126] Implementation scenario: A bank's core database image (15GB) needs to be distributed to 30 branches nationwide for testing.
[0127] Security enhancements:
[0128] 1. Image signature and verification:
[0129] The central library generates the image hash value: SHA-256:d3b07384d113edec49eaa6238ad5ff00, uses the national secret SM4 algorithm to sign the hash value, and generates the signature file caros_v1.0.sig. After the client downloads it, verify it with the following command:
[0130] sm4verify caros_v1.0 caros_v1.0.sig;
[0131] 2. Authority control matrix, as shown in Table 2:
[0132] Table 2
[0133]
[0134] 3. Transmission security;
[0135] When the regional pool and the central database are synchronized, dedicated line + IPsec encryption is used;
[0136] Department acceleration points are deployed on the bank's intranet and are only accessible through VPN.
[0137] Image fragment transmission uses the TLS 1.3 protocol, and the key is updated every 15 minutes.
[0138] Implementation effect:
[0139] 1. 100% accuracy in image tampering detection;
[0140] 2. Reduce the risk of sensitive data leakage by 99%;
[0141] 3. Compliance audit response time is shortened from 48 hours to 2 hours.
[0142] The beneficial effects brought by the above embodiments are as follows:
[0143] 1. The first four-layer cache architecture: This enables the gradient sinking of images from headquarters to terminals, reducing cross-regional transmission requirements;
[0144] 2. Intelligent traffic scheduling: Dynamic routing algorithms increase average delivery speed by 40%-60%;
[0145] 3. Enterprise-level security enhancements: 100% accuracy in image tampering detection; permission control granularity refined to department / role / IP segment;
[0146] 4. Cost optimization: After implementation at a manufacturing company, bandwidth costs were reduced by 58% and image deployment time was shortened by 70%.
[0147] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0148] The embodiment of the present application also provides a memory access scheduling system, Figure 8 This is a system block diagram of a memory access scheduling system according to an embodiment of the present application. Figure 8 As shown, the system includes:
[0149] A scheduler, and a plurality of memories configured for a target object, the scheduler being connected to each memory, the target object including a plurality of sub-objects having a hierarchical relationship, the plurality of memories being configured in a one-to-one correspondence with the plurality of sub-objects;
[0150] Memory, used to store data of sub-objects at the corresponding level;
[0151] A scheduler is configured to receive an access request sent by a target terminal, wherein the access request is used to request access to target data from multiple memories of a target object; search for multiple reference memories storing the target data from the multiple memories; and allocate a target memory to the target terminal from the reference memories based on the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access the target data from the target memory, and the target memory is a memory among the multiple reference memories that meets the network resource consumption conditions when the target terminal accesses the data.
[0152] Through the above system, the target object includes multi-level sub-objects with a hierarchical relationship, and multiple memories are configured in a one-to-one correspondence with the multi-level sub-objects. Each memory is used to store data of the corresponding hierarchical sub-objects. Then, when an access request is received from the target terminal requesting to access the target data, multiple reference memories storing the target data are found from the multiple memories, and then, according to the affiliation between the target terminal and the multi-level sub-objects, a target memory that meets the network resource consumption conditions when the target terminal accesses the data is allocated from the reference memory. That is, by configuring multiple memories, the data of the target object is distributedly stored through the multiple memories according to the hierarchical relationship of the sub-objects in the target object. On the one hand, the terminal's access speed to the data is optimized, and on the other hand, the access load of the memory is reduced. This can solve the technical problem of low access efficiency to the data of the target object in the related technology, and achieve the effect of improving the access efficiency to the data of the target object.
[0153] Optionally, there is a connection relationship between the memories, and the scheduler is also used to send a data synchronization request to a fifth memory among the multiple memories, wherein the synchronization request is used to request that the reference data stored in the fifth memory be synchronized to a sixth memory among the multiple memories excluding the fifth memory; the fifth memory is used to respond to the data synchronization request, calculate data verification information of the reference data, wherein the data verification information is used to indicate the data content of the reference data; transmit the data packet carrying the reference data and the data verification information to the sixth memory; the sixth memory is used to perform data verification on the reference data in the data packet using the data verification information in the data packet when the data packet is received, and store the reference data in the sixth memory when the data verification passes.
[0154] The embodiment of the present application also provides a memory access scheduling device, Figure 9 This is a structural block diagram of a memory access scheduling device according to an embodiment of the present application. Figure 9 As shown, the device includes:
[0155] A receiving module 902 is configured to receive an access request sent by a target terminal, wherein the access request is for requesting access to target data from multiple memories of a target object, where the target object includes multiple levels of sub-objects in a hierarchical relationship, and the multiple memories are configured in a one-to-one correspondence with the multiple levels of sub-objects, and each memory is configured to store data of a corresponding hierarchical sub-object;
[0156] A search module 904 is configured to search for a plurality of reference memories storing target data from a plurality of memories;
[0157] Allocation module 906 is used to allocate a target memory to the target terminal from the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access the target data from the target memory, and the target memory is a memory in multiple reference memories that meets the network resource consumption conditions when the target terminal accesses the data.
[0158] Through the above device, the target object includes multi-level sub-objects with a hierarchical relationship, and multiple memories are configured in a one-to-one correspondence with the multi-level sub-objects. Each memory is used to store data of the corresponding hierarchical sub-objects. Then, when an access request is received from the target terminal requesting to access the target data, multiple reference memories storing the target data are found from the multiple memories, and then, according to the affiliation between the target terminal and the multi-level sub-objects, a target memory that meets the network resource consumption conditions when the target terminal accesses the data is allocated from the reference memory. That is, by configuring multiple memories, the data of the target object is distributedly stored through the multiple memories according to the hierarchical relationship of the sub-objects in the target object. On the one hand, the terminal's access speed to the data is optimized, and on the other hand, the access load of the memory is reduced. This can solve the technical problem of low access efficiency to the data of the target object in the related technology, and achieve the effect of improving the access efficiency to the data of the target object.
[0159] Optionally, the allocation module includes:
[0160] a detection unit, configured to detect access information of the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the access information is used to indicate network resource consumption when the target terminal accesses the corresponding reference memory;
[0161] The allocating unit is used to allocate a target memory to a target terminal from a plurality of reference memories according to the access information, wherein the target terminal is used to access target data from the target memory.
[0162] Optionally, the detection unit is also used to obtain target affiliation information of the target terminal, wherein the target affiliation information is used to indicate the affiliation relationship between the target terminal and the multi-level sub-objects; determine the data transmission rate corresponding to the target affiliation information from the affiliation information and transmission rate with corresponding relationships, wherein the access information includes the data transmission rate.
[0163] Optionally, the allocation unit is further configured to screen out a first memory having a data transmission rate with the target terminal greater than or equal to a target rate from a plurality of reference memories, wherein the access information includes the data transmission rate; and determine the first memory as the target memory.
[0164] Optionally, the device further comprises:
[0165] A configuration module, configured to configure an access path for the target terminal to access the target memory according to a connection relationship between the target terminal and the target memory;
[0166] The control module is used to control the target terminal to access the target data stored in the target memory according to the access path.
[0167] Optionally, the configuration module includes:
[0168] a first configuration unit configured to configure the target communication link as an access path for the target terminal to access the target memory when the connection relationship indicates that the target terminal is connected to the target memory via the communication link;
[0169] a second configuration unit configured to, when the connection relationship indicates that the target terminal is connected to the target storage via a local area network, configure the local area network access path of the target storage as the access path for the target terminal to access the target storage;
[0170] The third configuration unit is configured to configure the Internet access path of the target storage as the access path for the target terminal to access the target storage when the connection relationship indicates that the target terminal is connected to the target storage via the Internet.
[0171] Optionally, the device further comprises:
[0172] a search module configured to search for a reference sub-object directly belonging to the target terminal from among the multiple sub-objects when the sub-object belonging to the target storage is one of the multiple sub-objects that has an indirect ownership relationship with the target terminal;
[0173] The synchronization module is used to synchronize the target data to the second memory configured for the reference sub-object.
[0174] Optionally, the synchronization module includes:
[0175] The sending unit is used to send a target transmission instruction to the target memory, wherein the target transmission instruction is used to instruct the target memory to call the transmission link between the target memory and the second memory to transmit target data to the second memory.
[0176] Optionally, the device further comprises:
[0177] An acquisition module, configured to acquire reference access information of a reference terminal under a target sub-object in a multi-level sub-object within a reference time period before a current moment, wherein the reference access information is used to indicate a data access requirement of the reference terminal within the reference time period;
[0178] A prediction module, configured to predict target access information of a reference terminal within a target time period after a current moment by referring to the access information;
[0179] The storage module is used to manage the data stored in the third memory allocated to the target sub-object within the target time period according to the target access information.
[0180] Optionally, the device further comprises:
[0181] a detection module, configured to detect data information of data stored in a fourth memory among the multiple memories, wherein the data information is used to indicate whether the corresponding data has been accessed in the fourth memory within a reference time period before a current moment;
[0182] The management module is used to manage the data stored in the fourth memory according to the data information.
[0183] For the description of the features in the embodiment corresponding to the memory access scheduling device, please refer to the relevant description of the embodiment corresponding to the memory access scheduling method, which will not be repeated here.
[0184] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned memory access scheduling method embodiments.
[0185] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned memory access scheduling method embodiments when running.
[0186] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0187] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned memory access scheduling method embodiments are implemented.
[0188] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, implementing the steps in any of the above-mentioned memory access scheduling method embodiments.
[0189] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0190] The above is a detailed introduction to a memory access scheduling method provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only intended to help understand the method and core ideas of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, several improvements and modifications may be made to the present application, and such improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A memory access scheduling method, characterized in that: include: receiving an access request sent by a target terminal, wherein the access request is for requesting access to target data from a plurality of memories of a target object, the target object including a plurality of sub-objects in a hierarchical relationship, the plurality of memories being configured in a one-to-one correspondence with the plurality of sub-objects, and each of the memories being configured to store data of the sub-object at a corresponding level; searching for a plurality of reference memories storing the target data from the plurality of memories; A target memory is allocated to the target terminal from the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the target terminal is used to access the target data from the target memory, and the target memory is a memory among the multiple reference memories that meets the network resource consumption conditions when the target terminal accesses the data.
2. The method according to claim 1, characterized in that Allocating the target memory to the target terminal from the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects includes: detecting access information of the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects, wherein the access information is used to indicate network resource consumption when the target terminal accesses the corresponding reference memory; A target memory is allocated to the target terminal from a plurality of reference memories according to the access information, wherein the target terminal is configured to access the target data from the target memory.
3. The method according to claim 2, characterized in that The detecting the access information of the reference memory according to the ownership relationship between the target terminal and the multi-level sub-objects includes: Acquire target attribution information of the target terminal, wherein the target attribution information is used to indicate the attribution relationship between the target terminal and multiple levels of sub-objects; A data transmission rate corresponding to the target attribution information is determined from attribution information and transmission rates having a corresponding relationship, wherein the access information includes the data transmission rate.
4. The method according to claim 2, characterized in that Allocating a target memory for the target terminal from a plurality of reference memories according to the access information includes: Filtering a first memory from the plurality of reference memories, wherein the data transmission rate between the memory and the target terminal is greater than or equal to a target rate, wherein the access information includes the data transmission rate; The first memory is determined as the target memory.
5. The method according to claim 2, characterized in that After allocating a target memory to the target terminal from the plurality of reference memories according to the access information, the method further includes: configuring an access path for the target terminal to access the target storage according to a connection relationship between the target terminal and the target storage; The target terminal is controlled to access the target data stored in the target memory according to the access path.
6. The method according to claim 5, characterized in that The configuring, according to the connection relationship between the target terminal and the target storage, access path information for the target terminal to access the target storage includes: In a case where the connection relationship is used to indicate that the target terminal is connected to the target storage via a communication link, configuring the target communication link as the access path for the target terminal to access the target storage; When the connection relationship indicates that the target terminal is connected to the target storage via a local area network, configuring the local area network access path of the target storage as the access path for the target terminal to access the target storage; In a case where the connection relationship is used to indicate that the target terminal is connected to the target storage via the Internet, the Internet access path of the target storage is configured as the access path for the target terminal to access the target storage.
7. The method according to claim 2, characterized in that After allocating a target memory to the target terminal from the plurality of reference memories according to the access information, the method further includes: In a case where the sub-object to which the target storage belongs is a sub-object that has an indirect ownership relationship with the target terminal among the multiple sub-objects, searching for a reference sub-object to which the target terminal directly belongs from the multiple sub-objects; The target data is synchronized to a second memory configured for the reference sub-object.
8. The method according to claim 7, characterized in that The step of synchronizing the target data to a second memory configured for the reference sub-object includes: A target transfer instruction is sent to the target memory, wherein the target transfer instruction is used to instruct the target memory to call a transmission link between the target memory and the second memory to transfer the target data to the second memory.
9. The method according to claim 1, characterized in that Before receiving the access request sent by the target terminal, the method further includes: Obtaining reference access information of a reference terminal under a target sub-object in the multi-level sub-objects within a reference time period before a current moment, wherein the reference access information is used to indicate a data access requirement of the reference terminal within the reference time period; Predicting target access information of the reference terminal within a target time period after a current moment with reference to the access information; The data stored in the target time period in the third memory allocated to the target sub-object is managed according to the target access information.
10. The method according to claim 1, characterized in that Before receiving the access request sent by the target terminal, the method further includes: detecting data information of data stored in a fourth memory among the plurality of memories, wherein the data information is used to indicate whether the corresponding data has been accessed in the fourth memory within a reference time period before a current moment; The data stored in the fourth memory is managed according to the data information.
11. A memory access scheduling system, characterized in that: include: A scheduler, and a plurality of memories configured for a target object, the scheduler being connected to each of the memories, the target object including multiple levels of sub-objects having a hierarchical relationship, the multiple memories being configured in a one-to-one correspondence with the multiple levels of sub-objects; The memory is used to store data of the sub-objects corresponding to the level; The scheduler is configured to receive an access request sent by a target terminal, wherein the access request is used to request access to target data from a plurality of the memories of the target object; search for a plurality of reference memories storing the target data from the plurality of memories; and allocate a target memory to the target terminal from the reference memories based on an affiliation between the target terminal and multiple levels of sub-objects, wherein the target terminal is configured to access the target data from the target memory, and the target memory is a memory among the plurality of reference memories that meets a network resource consumption condition when the target terminal accesses data.
12. The dispatching system according to claim 11, characterized in that: There is a connection relationship between the multiple memories; The scheduler is configured to send a data synchronization request to a fifth memory among the multiple memories, wherein the synchronization request is used to request synchronization of the reference data stored in the fifth memory to a sixth memory among the multiple memories excluding the fifth memory; the fifth memory is configured to calculate data verification information of the reference data in response to the data synchronization request, wherein the data verification information is used to indicate the data content of the reference data; and transmit a data packet carrying the reference data and the data verification information to the sixth memory; The sixth memory is configured to, upon receiving the data packet, perform data verification on the reference data in the data packet using the data verification information in the data packet, and store the reference data in the sixth memory if the data verification passes.
13. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the memory access scheduling method according to any one of claims 1 to 10 when executing the computer program.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the memory access scheduling method according to any one of claims 1 to 10 are implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the memory access scheduling method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Memory access method and device, chip and electronic equipment
CN114356223A
Data access scheduling method and device of memory
CN118502679A