CN114428585A - Data storage method and device and electronic equipment - Google Patents

Data storage method and device and electronic equipment Download PDF

Info

Publication number
CN114428585A
CN114428585A CN202011183905.9A CN202011183905A CN114428585A CN 114428585 A CN114428585 A CN 114428585A CN 202011183905 A CN202011183905 A CN 202011183905A CN 114428585 A CN114428585 A CN 114428585A
Authority
CN
China
Prior art keywords
server
virtual servers
target
virtual
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011183905.9A
Other languages
Chinese (zh)
Inventor
秦占明
康林
段效晨
赵艳杰
罗廷方
王玉东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202011183905.9A priority Critical patent/CN114428585A/en
Publication of CN114428585A publication Critical patent/CN114428585A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention provides a data storage method, a data storage device and electronic equipment, wherein the method adjusts the number of virtual servers mapped by a first server in a preset storage space according to the load weight of the first server, and correspondingly adjusts a sub-storage space corresponding to the virtual servers; and under the condition of receiving a storage request for the target data, executing storage of the target data according to the sub-storage space corresponding to the virtual server. Therefore, when the load capacity of the first server changes, the number of the virtual servers mapped by the first server is correspondingly adjusted, so that the mapping relation between the virtual servers and the physical servers can be adaptive to the operation of the service cluster, and the data cache distribution of the service cluster is more balanced.

Description

Data storage method and device and electronic equipment
Technical Field
The present invention relates to the field of data storage technologies, and in particular, to a data storage method and apparatus, and an electronic device.
Background
Cluster caching refers to the process of distributing data to a plurality of servers in a cluster for caching.
In the prior art, a ring Hash (Hash) space is established, and a consistent Hash algorithm is used for ring caching, so that routing of cluster caching is realized. The consistent Hash algorithm maps each server in the cluster to a plurality of virtual servers, and the plurality of virtual servers are dispersedly mapped to the annular Hash space, so that the problem of overlarge load pressure of a single server caused by adding and deleting physical servers in the service cluster is avoided. However, the mapping relationship between the virtual server and the physical server is static, and the change of the state of each physical server in the operation of the cluster cannot be adapted to the change, so that the data distribution of the cluster cache is still unbalanced.
Therefore, the problem of unbalanced data distribution of cluster cache exists in the prior art.
Disclosure of Invention
The embodiment of the invention aims to provide a data storage method, a data storage device and electronic equipment, so that data distribution of cluster cache is balanced. The specific technical scheme is as follows:
in a first aspect of the present invention, there is provided a data storage method, including:
determining a target number N of virtual servers which can be mapped by a first server according to the load weight of the first server, wherein the load weight represents the load capacity of the first server, and N is an integer which is greater than or equal to 0;
in a preset storage space, adjusting the number of the virtual servers mapped by the first server to the target number N, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and under the condition of receiving a storage request for target data, executing storage for the target data according to the sub-storage spaces corresponding to the N virtual servers.
In a second aspect of the present invention, there is also provided a data storage device comprising:
a first determining module, configured to determine a target number N of virtual servers that can be mapped by a first server according to a load weight of the first server, where the load weight represents a load capacity of the first server, and N is an integer greater than or equal to 0;
the adjusting module is used for adjusting the number of the virtual servers mapped by the first server to the target number N in a preset storage space, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and the storage module is used for executing the storage of the target data according to the sub-storage spaces corresponding to the N virtual servers under the condition of receiving a storage request of the target data.
In a third aspect of the present invention, there is also provided an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete communication with each other through the communication bus;
a memory for storing a computer program;
the processor is configured to implement the method steps described in the first aspect of the embodiment of the present invention when executing the program stored in the memory.
In yet another aspect of the present invention, there is also provided a computer-readable storage medium having stored therein instructions, which when run on a computer, cause the computer to perform any of the data storage methods described above.
In yet another aspect of the present invention, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the method described in the first aspect of the embodiments of the present invention.
According to the data storage method, the data storage device and the electronic equipment, the number of virtual servers mapped by a first server in a preset storage space is adjusted according to the load weight of the first server, and a sub-storage space corresponding to the virtual servers is correspondingly adjusted; and under the condition of receiving a storage request for the target data, executing storage of the target data according to the sub-storage space corresponding to the virtual server. Therefore, when the load capacity of the first server changes, the number of the virtual servers mapped by the first server is correspondingly adjusted, so that the mapping relation between the virtual servers and the physical servers can be adaptive to the operation of the service cluster, and the data cache distribution of the service cluster is more balanced.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
FIG. 1 is a flow chart of a data storage method according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating an exemplary circular hash space according to an embodiment of the present invention;
FIG. 3 is a second schematic diagram of a circular hash space according to an embodiment of the present invention;
FIG. 4 is a third schematic diagram of a circular hash space according to an embodiment of the present invention;
FIG. 5 is a flow chart of another data storage method according to an embodiment of the present invention;
FIG. 6 is a diagram illustrating a mapping relationship between a physical server and a virtual server according to an embodiment of the present invention;
FIG. 7 is a block diagram of a data storage device in an embodiment of the present invention;
fig. 8 is a block diagram of an electronic device in an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be described below with reference to the drawings in the embodiments of the present invention.
In the prior art, a virtual server mapped by a physical server is fixed, that is, the mapping relationship between the physical server and the virtual server is static: the number of virtual servers mapped by one physical server and the sub-storage space corresponding to each virtual server are not changed. However, during the operation of the service cluster, the state of each physical server will change in real time, and the corresponding load capacity will also change in real time. If the mapping relationship between the physical server and the virtual server cannot adapt to different states of the load capacity, a load imbalance condition may exist, and the data distribution of the cluster cache is uneven.
Referring to fig. 1, fig. 1 is a flowchart of a data storage method according to an embodiment of the present invention.
As shown in fig. 1, the method comprises the steps of:
step 101, determining a target number N of virtual servers which can be mapped by a first server according to a load weight of the first server, wherein the load weight represents a load capacity of the first server, and N is an integer greater than or equal to 0;
step 102, in a preset storage space, adjusting the number of the virtual servers mapped by the first server to the target number N, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and 103, executing storage of the target data according to the sub-storage spaces corresponding to the N virtual servers under the condition that a storage request of the target data is received.
The data storage method provided by the embodiment of the invention can be applied to a management server in a service cluster, and can also be applied to a data storage device independent of the management server, the control device can be a device or a data platform with a data processing function, such as a cloud computer and a server, and the data storage method is applied to the management server of the service cluster as an example.
In the embodiment of the invention, the corresponding load weight is determined for the first server according to the load capacity of the first server. And according to the load weight of the first server, adjusting the number of the virtual servers which can be mapped by the first server, and re-determining the storage space of the adjusted virtual server so as to execute the subsequently received data storage request.
It can be understood that, during the operation of the service cluster, the load capacity of the first server changes in real time with the continuous data storage. In the case that the load capacity of the first server is enhanced, more virtual servers can be mapped to meet the larger data storage requirement, so that the number of the virtual servers mapped by the first server needs to be correspondingly increased. In case the load capacity of the first server is weakened, it may not be able to carry the currently mapped virtual server, and thus the number of virtual servers to which it is mapped needs to be correspondingly reduced.
Specifically, in step 101 according to the embodiment of the present invention, the target number N of virtual servers that can be mapped by the first server is determined according to the load weight of the first server. The first server may be any physical server in the service cluster. The load weight can be 0-100.
In a specific implementation, the management server of the service cluster may determine a load weight of the first server according to a real-time load capacity of the first server, where the load weight is generally positively correlated to the load capacity. The management server can evaluate the load capacity of the first server by detecting the real-time state information of the first server, and adjust the load weight of the first server when the load capacity of the first server changes.
In an embodiment of the present invention, the load weight of the first server may be related to at least one of the following: performance of the first server; the current data caching amount of a first server; average response time of the first server. The following describes the above-described cases:
in particular implementations, the load weight of the first server may be related to performance of the first server. The performance of the first server is mainly embodied by the memory performance of the first server and the Central Processing Unit (CPU) performance of the first server. The better the performance of the first server is, the stronger the load capacity of the first server is, the larger the corresponding load weight is; the worse the performance of the first server is, the weaker the load capacity of the first server is, and the corresponding load weight is smaller.
The load weight of the first server may be related to a current amount of data caching of the first server. For example, the larger the proportion of the currently cacheable data volume of the first server to the total buffer volume thereof is, the stronger the load capacity of the first server is, the larger the corresponding load weight thereof is; the smaller the proportion of the current cacheable data volume of the first server to the total buffer volume of the first server is, the weaker the load capacity of the first server is, and the corresponding load weight of the first server is smaller.
The load weight of the first server may be related to an average response time of the first server. For example, the faster the average response time of the first server is, the stronger the load capacity of the first server is, the larger the corresponding load weight is; the slower the average response time of the first server is, the weaker the load capacity of the first server is, and the corresponding load weight is smaller.
The load weight of the first server may be related to data throughput of the first server in a preset time interval, and the larger the data throughput of the first server in the preset time interval is, the stronger the load capacity of the first server is, the larger the corresponding load weight is; the smaller the data throughput of the first server in the preset time interval is, the weaker the load capacity of the first server is, and the corresponding load weight is smaller.
It is to be understood that the parameter related to the real-time load capability of the first server is not limited thereto, and may be determined according to practical situations, and the embodiment of the present invention is not limited thereto.
In an embodiment of the present invention, the number of virtual servers that can be mapped by the first server may be positively correlated to the load weight of the first server.
In a specific implementation, the management server may preset a ratio of the load weight to the number of the mappable virtual servers, and accordingly determine the load weight of the first server, for example, the preset ratio of the management server is 10, and when the value of the load weight is 0 to 100, the number of the mappable virtual servers is the result of load weight/10.
The management server can also respectively determine the number of virtual servers which can be mapped by each physical server according to the ratio of the load weights of all the physical servers in the service cluster. It should be understood that the relationship between the load weight and the number of mappable virtual servers is not limited thereto, and may be determined according to actual situations, and the embodiment of the present invention is not limited thereto.
In step 102 of the embodiment of the present invention, the management server may adjust the number of the virtual servers mapped by the first server to the target number N in a preset storage space, and determine sub-storage spaces corresponding to the N virtual servers respectively.
Illustratively, the previous load weight of the first server is 20, and the number of the mapped virtual servers is 2. In the service cluster operation process, the load capacity of the first server is increased, the load weight is increased from 20 to 30, the number of the determined mappable virtual servers is changed to 3, and the management server can map 3 virtual servers for the first server in a preset storage space.
During specific implementation, the management server can newly allocate a piece of sub-storage space for a newly added virtual server under the condition of keeping the sub-storage space of the original 2 virtual servers unchanged; the corresponding sub-storage space may also be reallocated to 3 virtual servers, which may be determined according to actual situations, and the embodiment of the present invention is not limited herein. .
In step 103 of the embodiment of the present invention, when a storage request for target data is received, the target data is stored according to the sub-storage spaces corresponding to the N virtual servers.
In a specific implementation, since the storage space division in the service cluster changes, when a storage request for target data is received, according to a preset data storage rule of the service cluster, a virtual server corresponding to a target storage space in which the target data can be stored may also change, and therefore, storage of the target data needs to be performed according to a sub-storage space corresponding to a virtual server newly mapped by the first server.
According to the data storage method provided by the embodiment of the invention, the number of virtual servers mapped by a first server in a preset storage space is adjusted according to the load weight of the first server, and a sub-storage space corresponding to the virtual server is correspondingly adjusted; and under the condition of receiving a storage request for the target data, executing storage of the target data according to the sub-storage space corresponding to the virtual server. Therefore, when the load capacity of the first server changes, the number of the virtual servers mapped by the first server is correspondingly adjusted, so that the mapping relation between the virtual servers and the physical servers can be adaptive to the operation of the service cluster, and the data cache distribution of the service cluster is more balanced.
Optionally, before the determining the target number N of virtual servers that can be mapped by the first server according to the load weight of the first server, the method further includes:
determining the load weight of the first server according to the performance parameters of the first server at a first moment;
wherein the performance parameters of the first server include at least one of: a central processor performance parameter of the first server; memory performance parameters of the first server.
In this alternative embodiment, the load weight of the first server at the first time is related to the performance of the first server. The first moment may be understood as the moment at which the service cluster is initialized. Since the service cluster does not store data yet during initialization, the management server cannot determine the load weight of the physical server according to the load condition of the physical server, and thus the weight of the first server can be determined according to the performance of the first server. Of course, the first time may also be understood as any time of the service cluster, and the load weight of the first server may be determined according to the performance parameter of the first server at any time when the service cluster needs to adjust the virtual server mapped by each physical server.
Optionally, the method further includes:
at a second moment, updating the load weight of the first server according to the load capacity of the first server in a target time interval;
wherein the target time interval is any one of: a time interval between the second time and the first time; a preset time interval.
In this alternative embodiment, the target time interval includes two implementations:
in a first implementation manner, the target time interval is a time interval between the second time and the first time. In this implementation manner, the first time may be understood as a time when the service cluster is initialized, and the second time is a time at a certain time interval after the initialization. Based on the experience value of the actual application, the load status of the first server may have changed at the second time, and it may be considered to sample the load status of the first server to correspondingly update the number of virtual servers mapped by the first server.
In a second implementation, the target time interval is a preset time interval. In this implementation manner, the first time may be understood as a time when a service cluster is initialized, and the second time may be understood as any time when a preset time interval is reached after the second time.
It should be noted that the first time and the second time may be any two times in the operation process of the service cluster. The first time and the second time are expressed herein to express that in a time period from the first time to the second time, the management server may update the number of virtual servers that can be mapped by the first server according to a change in load capacity of the first server, so that in the service cluster, the number of virtual servers that can be mapped by the first server may be adaptively updated according to the load capacity of the physical server, so as to make data cache distribution of the service cluster more balanced.
Optionally, the updating the load weight of the first server according to the load capacity of the first server in the target time interval includes:
acquiring the average response time of the first server in the target time interval, and acquiring the average response time of a first service cluster to which the first server belongs in the target time interval;
determining the load weight variation of the first server in the target time interval according to the difference value between the average response time of the first service cluster and the average response time of the first server;
and updating the load weight of the first server according to the load weight variable quantity of the first server.
In this optional embodiment, the load capacity of the first server is related to an average response time of the first server.
In a specific implementation, the average response time of the first server in the target time interval may be obtained by buffering the time T for reading and writing data in the first server N times in the target time interval1、T2、···TNIs determined. Similarly, the average response time of the first service cluster to which the first server belongs in the target time interval may also be determined by referring to the method described above. It should be understood that the implementation form of the average response time of the first server is not limited thereto, and may be determined according to practical situations, and the embodiment of the present invention is not limited thereto.
In this optional embodiment, by comparing the relation between the average response time of the first server and the average response time of the first service cluster to which the first server belongs in the target time interval, it may be determined that the load capacity of the first server changes in the target time interval.
If the average response time of the first server is shorter than the average response time of the first service cluster in the target time interval, it means that the average response time of the first server is faster than the average response time of the first service cluster in the target time interval, and the load capacity is relatively strong, so that the load weight of the first server can be appropriately increased, and further, the number of virtual servers mapped by the first server is increased;
if the average response time of the first server is longer than the average response time of the first service cluster in the target time interval, which means that the average response time of the first server is shorter than the average response time of the first service cluster in the target time interval, and the load capacity is relatively weak, the load weight of the first server can be appropriately reduced, and thus the number of virtual servers mapped by the first server is reduced;
if the average response time of the first server is equal to the average response time of the first service cluster in the target time interval, which means that the average response time of the first server is the same as the average response time of the first service cluster in the target time interval, and the load capacity is relatively average, the current load weight of the first server may be maintained inconveniently.
In a specific implementation, the load weight variation Δ W of the first server may be represented as: (first service cluster average response time-average response time of first server)/cluster average response time Q
Wherein the first service cluster average response time and the first server average response time are the first server average response time and the first service cluster average response time in the last target time interval, and Q may be determined according to a ratio of a preset load weight to the number of mappable virtual servers, for example, if the number of mappable virtual servers is equal to the initial load weight/10, Q may be 100.
Therefore, the load weight variable quantity of the first server is determined according to the average response time of the first service cluster and the average response time of the first server, the accuracy of determining the load weight of the first server is improved, the accuracy of the number of virtual services which can be mapped by the first server is further improved, and the balance of cluster cache is further improved.
The following describes a specific implementation of the preset storage space according to the embodiment of the present invention:
the predetermined storage space may be mapped into a virtual ring by using a consistent hash algorithm, and the ring is a ring hash space, as shown in fig. 2.
The management server can calculate a corresponding hash value to be mapped into the annular hash space through a hash algorithm for each server. In specific implementation, the management server may set an IP address and a sequence number for each virtual server, and calculate a hash value corresponding to each virtual server through a consistent hash algorithm according to a string of the IP address and the sequence number. Illustratively, as shown in FIG. 2, server 2-1 and server 2-2 represent 2 virtual servers of the second server mapping, server 2-2 represents 2 virtual servers of the second server mapping, and server 3-1 represents 1 virtual server of the third server mapping. Meanwhile, the management server also maps the corresponding hash value obtained by calculating the stored data through a hash algorithm into the annular hash space, and executes the storage of the stored data according to the preset routing rule of the annular hash space. For example, as shown in fig. 2, data 1 to data 7 may be mapped to the circular hash space.
The preset routing rule of the ring hash space may include clockwise routing or counterclockwise routing. The clockwise routing refers to that, for data stored in the circular hash space, a server for storage is determined clockwise along a circular ring, for example, as shown in fig. 2, according to a clockwise routing rule, data 1 is stored by the server 1-2, data 2 and data 3 are stored by the server 2-2, data 4 and data 5 are stored by the server 2-1, and so on. Correspondingly, the sub-storage space of each server is the arc-shaped area closest to the server in the counterclockwise direction. On the contrary, the counterclockwise routing means that, for the data stored in the circular hash space, the server stored in the circular hash space is determined counterclockwise along the circular ring, and correspondingly, the sub-storage space of each server is the arc-shaped area closest to the server in the clockwise direction.
In an embodiment of the present invention, the adjustment manner of the virtual server that can be mapped by the first server may include three forms:
in a first adjustment form, optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining hash values of the N virtual servers;
mapping the hash values of the N virtual servers into the annular hash space according to the hash values of the N virtual servers;
and determining the sub-storage spaces corresponding to the N virtual servers respectively according to the positions of the N virtual servers in the annular hash space.
In this optional embodiment, the management server reallocates the sub-storage space to all the virtual servers that can be mapped by the first server in the preset storage space according to the adjusted number of the virtual servers. The present embodiment is described herein by taking an example in which a predetermined storage space is configured with a circular hash space:
the management server may calculate, by using a hash algorithm, all virtual servers that the first server can currently map to obtain corresponding hash values, and then remap all virtual servers to the ring hash space. Illustratively, the number of virtual servers previously mapped by the first server is 1, after the load capacity is changed, the number of newly determined mappable virtual servers is 2, and the management server may reconfigure the IP addresses of the 2 virtual servers and sequence the IP addresses, and recalculate the mapping of the hash value into the ring hash space. Thereafter, the sub-storage space of each virtual server can be determined according to the preset routing rule (assuming clockwise routing) of the ring hash space.
In a second adjustment form, optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a first target location in the circular hash space if the target number N is greater than a first number, the first number being the number of virtual servers previously mapped by the first server, the first target location satisfying a preset sparse condition in the circular hash space;
mapping a first target virtual server to the first target position, wherein the first target virtual server is a newly added mapping virtual server of the first server;
and re-determining the sub storage spaces corresponding to the N virtual servers respectively.
In this optional embodiment, in a case that a newly added mappable virtual server needs to be added to the first server, the management server may keep a sub-storage space corresponding to a virtual server previously mapped by the first server unchanged, and allocate a new sub-storage space to the newly added virtual server. The present embodiment is described herein by taking an example in which a predetermined storage space is configured with a circular hash space:
the management server can keep the position of the virtual server mapped previously by the first server in the ring hash space unchanged, and determine a first target position in the ring hash space, wherein the first target position meets a preset sparse condition in the ring hash space.
In a specific implementation, the preset sparse condition may be that a distance between two adjacent virtual servers in the circular hash space is greater than a preset threshold, or that a distance between two adjacent virtual servers in the circular hash space is the largest. The first target position may be a position on an arc segment between the two adjacent virtual servers. It should be noted that the two adjacent virtual servers are not limited to the virtual servers corresponding to the same physical server.
For example, as shown in fig. 3, the virtual server previously mapped in the ring hash space by the first server is server 1-1, and in a case that 1 new virtual server needs to be added, an arc segment between server 3-1 and server 2-2 may be selected to map the new virtual server, such as server 1-2 shown in fig. 2.
The management server may then re-determine the sub-storage space of each virtual server according to the preset routing rule (assuming clockwise routing) of the ring hash space. Illustratively, data 1 was previously stored at server 2-2, as shown in FIG. 3, and after the adjustment, data 1 was adjusted to be stored at server 1-2, as shown in FIG. 2. It can be understood that when the load capacity of the first server is enhanced, the storage pressure of other physical servers in the service cluster can be shared by adding the virtual server mapped by the first server in the ring hash space.
In a third adjustment form, optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a second target virtual server in the ring hash space if the target number N is smaller than a first number, wherein the first number is the number of virtual servers previously mapped by the first server, the second target virtual server comprises one or more virtual servers previously mapped by the first server, and the position of the second target virtual server in the ring hash space meets a preset dense condition;
deleting the second target virtual server in the circular hash space;
and re-determining the sub storage spaces corresponding to the N virtual servers respectively.
In this optional embodiment, in a case that the mappable virtual server needs to be deleted for the first server, the management server may select one or more virtual servers from the virtual servers previously mapped by the first server to delete. The present embodiment is described herein by taking an example in which a predetermined storage space is configured with a circular hash space:
the management server may determine one or more virtual servers in the ring hash space, the positions of which satisfy a preset dense condition.
In a specific implementation, the preset dense condition may be that a distance between two adjacent virtual servers in the annular hash space is smaller than a preset threshold, or the number of virtual servers mapped in an arc segment with a preset length is greater than a preset threshold. The second target virtual server may be any one virtual server between the two adjacent virtual servers, or may be a certain position on any one virtual server arc segment in the arc segment. The two adjacent virtual servers are not limited to virtual servers corresponding to the same physical server.
Illustratively, as shown in fig. 2, the virtual servers previously mapped by the first server in the ring hash space are server 1-1 and server 1-2, and in the case that 1 virtual server needs to be deleted, since the arc length between server 3-1 and server 1-1 is the smallest, server 1-1 may be selected as the deleted virtual server.
The management server may then re-determine the sub-storage space of each virtual server according to the preset routing rule (assuming clockwise routing) of the ring hash space. Illustratively, as shown in FIG. 2, data 6 was previously stored at server 1-1, and after adjustment, as shown in FIG. 4, data 6 was adjusted to be stored at server 3-1. It can be understood that when the load capacity of the first server is weakened, the virtual server mapped by the first server is deleted in the ring hash space, and the data storage requirement which is not bearable by the virtual server mapped by the other physical servers can be shared.
The second adjustment mode and the third adjustment mode only need to add or delete the virtual servers based on the existing position relationship between the virtual servers in the current annular hash space, adjust part of data in the annular hash space, complete rerouting of stored data at the minimum cost, and further improve the flexibility of cluster cache.
The data storage method in this embodiment is specifically described below in a complete implementation manner, as shown in fig. 5:
1) and presetting configuration parameters of load weight of each physical server in the first service cluster. During specific implementation, the configuration parameters of the load weight at least comprise the value range of the load weight and the relationship between the load weight and the number of the virtual servers which can be mapped; the management server presets a value range of load weight of each physical server in the first service cluster to be limited between 0 and 100; in addition, it also presets: the number of mappable virtual servers is Int (load weight/10), i.e., the number of mappable virtual servers is rounded by the calculation result of load weight/10.
2) Determining an initial load weight W of a first server based on performance parameters of the first server1And the number of virtual servers of its corresponding initial mapping. The load capacity of the first server in the first service cluster can be considered comprehensively by combining the CPU performance and the memory performance of the first server, and the initial load weight of the first server is determined, wherein the initial load weight is assumed to be W160, and the number of the virtual servers corresponding to the initial mapping is 6, which are respectively the server 1-1, the server 1-2, the server 1-3, the server 1-4, the server 1-5, and the server 1-6, and simultaneously determine the mapping relationship between the virtual servers and other physical servers in the first service cluster, as shown in fig. 6.
3) Monitoring the time T of each physical server in the first service cluster for caching read and write data each timenAnd records it in the Mysql data table of the management server. At a 20 minute interval thereafter, the average response time of the first server and the average response time of the first service cluster are determined. Specifically, the time T for the first server to perform N times of cache reading and data writing within 20 minutes is counted1、T2、···TNIs (T) is the average value of1+T2+···+TN) and/N, and the average response time of all physical servers in the first service cluster over the current 20 minutes.
4) Re-determining the weight W of the first server2And the number of virtual servers which can be mapped by the current first server, and recording the number in the Mysql data table of the management server. Based on the expression: w2=W1+ (cluster average response time-average response time of first server)/cluster average response time 100, calculate W for first server2. Assuming that the average response time of the first server is 40 ms and the average response time of the first service cluster is 45 ms in the current 20-minute interval, W is271.11, the number of virtual servers that the first server can map is 7.
5) And in the case that the number of the virtual servers which can be mapped changes, adjusting the number of the virtual servers mapped by the first server. If the number of the virtual servers which can be mapped by the first server is determined to be 7, and is not equal to the number of the 6 virtual servers which are initially determined and are currently mapped by the first server, a virtual server needs to be added to the first server, and the first server can be named as servers 1 to 7.
6) And distributing corresponding sub-storage spaces for the newly added servers 1-7, wherein the servers 1-7 can be arranged at sparse positions on the annular hash space.
7) And when a data storage request is received, storing the requested data according to the latest allocation condition of the storage space.
In summary, in the data storage method provided in the embodiment of the present invention, according to the load weight of the first server, the number of virtual servers mapped by the first server in the preset storage space is adjusted, and the sub-storage spaces corresponding to the virtual servers are correspondingly adjusted; and under the condition of receiving a storage request for the target data, executing storage of the target data according to the sub-storage space corresponding to the virtual server. Therefore, when the load capacity of the first server changes, the number of the virtual servers mapped by the first server is correspondingly adjusted, so that the mapping relation between the virtual servers and the physical servers can be adaptive to the operation of the service cluster, and the data cache distribution of the service cluster is more balanced.
Referring to fig. 7, fig. 7 is a structural diagram of a data storage device according to an embodiment of the present invention.
As shown in fig. 7, the data storage device 700 includes:
a first determining module 701, configured to determine a target number N of virtual servers that can be mapped by a first server according to a load weight of the first server, where the load weight represents a load capacity of the first server, and N is an integer greater than or equal to 0;
an adjusting module 702, configured to adjust, in a preset storage space, the number of virtual servers mapped by the first server to the target number N, and determine sub-storage spaces corresponding to the N virtual servers, respectively;
a storage module 703, configured to execute storage of the target data according to the sub-storage spaces corresponding to the N virtual servers when a storage request for the target data is received.
Optionally, the data storage device 700 further includes:
the second determining module is used for determining the load weight of the first server according to the performance parameters of the first server at a first moment;
wherein the performance parameters of the first server include at least one of: a central processor performance parameter of the first server; memory performance parameters of the first server.
Optionally, the data storage device 700 further includes:
a third determining module, configured to update, at a second time, a load weight of the first server according to a load capacity of the first server within a target time interval;
wherein the target time interval is any one of: a time interval between the second time and the first time; a preset time interval.
Optionally, the third determining module includes:
an obtaining unit, configured to obtain an average response time of the first server in the target time interval, and obtain an average response time of a first service cluster to which the first server belongs in the target time interval;
a first determining unit, configured to determine a load weight variation of the first server in the target time interval according to a difference between an average response time of the first service cluster and an average response time of the first server;
and the second determining unit is used for updating the load weight of the first server according to the load weight variable quantity of the first server.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting module 702 includes:
a third determining unit, configured to determine hash values of the N virtual servers;
a first adjusting unit, configured to map hash values of the N virtual servers into the annular hash space according to the hash values of the N virtual servers;
and the first allocation unit is used for determining the sub-storage spaces corresponding to the N virtual servers respectively according to the positions of the N virtual servers in the annular hash space.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting module 702 includes:
a fourth determining unit, configured to determine a first target location in the circular hash space if the target number N is greater than a first number, where the first number is the number of virtual servers previously mapped by the first server, and the first target location satisfies a preset sparse condition in the circular hash space;
a second adjusting unit, configured to map a first target virtual server to the first target location, where the first target virtual server is a newly mapped virtual server of the first server;
and the second distribution unit is used for re-determining the sub storage spaces corresponding to the N virtual servers respectively.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting module 702 includes:
a fifth determining unit, configured to determine, in the ring hash space, a second target virtual server if the target number N is smaller than a first number, where the first number is the number of virtual servers previously mapped by the first server, and the second target virtual server includes one or more virtual servers previously mapped by the first server, and a location of the second target virtual server in the ring hash space satisfies a preset dense condition;
a third adjusting unit, configured to delete the second target virtual server in the circular hash space;
and the third distribution unit is used for re-determining the sub storage spaces corresponding to the N virtual servers respectively.
Referring to fig. 8, fig. 8 is a structural diagram of an electronic device according to an embodiment of the present invention.
As shown in fig. 8, the electronic device 800 includes a processor 801, a communication interface 802, a memory 803 and a communication bus 804, wherein the processor 801, the communication interface 802 and the memory 803 communicate with each other via the communication bus 804.
The memory 803 is used for storing a computer program.
When the processor 801 is used to execute the program stored in the memory 803, the following steps are implemented:
determining a target number N of virtual servers which can be mapped by a first server according to the load weight of the first server, wherein the load weight represents the load capacity of the first server, and N is an integer which is greater than or equal to 0;
in a preset storage space, adjusting the number of the virtual servers mapped by the first server to the target number N, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and under the condition of receiving a storage request for target data, executing storage for the target data according to the sub-storage spaces corresponding to the N virtual servers.
Optionally, before the determining the target number N of virtual servers that can be mapped by the first server according to the load weight of the first server, the method further includes:
determining the load weight of the first server according to the performance parameters of the first server at a first moment;
wherein the performance parameters of the first server include at least one of: a central processor performance parameter of the first server; memory performance parameters of the first server.
Optionally, the method further includes:
at a second moment, updating the load weight of the first server according to the load capacity of the first server in a target time interval;
wherein the target time interval is any one of: a time interval between the second time and the first time; a preset time interval.
Optionally, the updating the load weight of the first server according to the load capacity of the first server in the target time interval includes:
acquiring the average response time of the first server in the target time interval, and acquiring the average response time of a first service cluster to which the first server belongs in the target time interval;
determining the load weight variation of the first server in the target time interval according to the difference value between the average response time of the first service cluster and the average response time of the first server;
and updating the load weight of the first server according to the load weight variable quantity of the first server.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining hash values of the N virtual servers;
mapping the hash values of the N virtual servers into the annular hash space according to the hash values of the N virtual servers;
and determining the sub-storage spaces corresponding to the N virtual servers respectively according to the positions of the N virtual servers in the annular hash space.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a first target location in the circular hash space if the target number N is greater than a first number, the first number being the number of virtual servers previously mapped by the first server, the first target location satisfying a preset sparse condition in the circular hash space;
mapping a first target virtual server to the first target position, wherein the first target virtual server is a newly added mapping virtual server of the first server;
and re-determining the sub storage spaces corresponding to the N virtual servers respectively.
Optionally, the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a second target virtual server in the ring hash space if the target number N is smaller than a first number, wherein the first number is the number of virtual servers previously mapped by the first server, the second target virtual server comprises one or more virtual servers previously mapped by the first server, and the position of the second target virtual server in the ring hash space meets a preset dense condition;
deleting the second target virtual server in the circular hash space;
re-determining the sub-storage spaces corresponding to the N virtual servers respectively
The communication bus 804 mentioned in the electronic device 800 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus 904 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The communication interface 802 is used for communication between the electronic apparatus 800 and other apparatuses.
The Memory 803 may include a Random Access Memory (RAM) or a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor 801 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component.
In yet another embodiment of the present invention, a computer-readable storage medium is further provided, which has instructions stored therein, and when the instructions are executed on a computer, the computer is caused to execute the data storage method described in any one of the above embodiments.
In a further embodiment of the present invention, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the data storage method of any of the above embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (10)

1. A method of data storage, the method comprising:
determining a target number N of virtual servers which can be mapped by a first server according to the load weight of the first server, wherein the load weight represents the load capacity of the first server, and N is an integer which is greater than or equal to 0;
in a preset storage space, adjusting the number of the virtual servers mapped by the first server to the target number N, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and under the condition of receiving a storage request for target data, executing storage for the target data according to the sub-storage spaces corresponding to the N virtual servers.
2. The method of claim 1, wherein prior to said determining the target number N of virtual servers that the first server can map based on the load weight of the first server, the method further comprises:
determining the load weight of the first server according to the performance parameters of the first server at a first moment;
wherein the performance parameters of the first server include at least one of: a central processor performance parameter of the first server; memory performance parameters of the first server.
3. The method of claim 2, further comprising:
at a second moment, updating the load weight of the first server according to the load capacity of the first server in a target time interval;
wherein the target time interval is any one of: a time interval between the second time and the first time; a preset time interval.
4. The method of claim 3, wherein updating the load weight of the first server according to the load capacity of the first server within the target time interval comprises:
acquiring the average response time of the first server in the target time interval, and acquiring the average response time of a first service cluster to which the first server belongs in the target time interval;
determining the load weight variation of the first server in the target time interval according to the difference value between the average response time of the first service cluster and the average response time of the first server;
and updating the load weight of the first server according to the load weight variable quantity of the first server.
5. The method according to claim 1, wherein the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining hash values of the N virtual servers;
mapping the hash values of the N virtual servers into the annular hash space according to the hash values of the N virtual servers;
and determining the sub-storage spaces corresponding to the N virtual servers respectively according to the positions of the N virtual servers in the annular hash space.
6. The method according to claim 1, wherein the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a first target location in the circular hash space if the target number N is greater than a first number, the first number being the number of virtual servers previously mapped by the first server, the first target location satisfying a preset sparse condition in the circular hash space;
mapping a first target virtual server to the first target position, wherein the first target virtual server is a newly added mapping virtual server of the first server;
and re-determining the sub storage spaces corresponding to the N virtual servers respectively.
7. The method according to claim 1, wherein the preset storage space is configured with a corresponding annular hash space;
the adjusting the number of the virtual servers mapped by the first server in the preset storage space to the target number N and determining the sub-storage spaces corresponding to the N virtual servers respectively includes:
determining a second target virtual server in the ring hash space if the target number N is smaller than a first number, wherein the first number is the number of virtual servers previously mapped by the first server, the second target virtual server comprises one or more virtual servers previously mapped by the first server, and the position of the second target virtual server in the ring hash space meets a preset dense condition;
deleting the second target virtual server in the circular hash space;
and re-determining the sub storage spaces corresponding to the N virtual servers respectively.
8. A data storage device, characterized in that the device comprises:
a first determining module, configured to determine a target number N of virtual servers that can be mapped by a first server according to a load weight of the first server, where the load weight represents a load capacity of the first server, and N is an integer greater than or equal to 0;
the adjusting module is used for adjusting the number of the virtual servers mapped by the first server to the target number N in a preset storage space, and determining sub-storage spaces corresponding to the N virtual servers respectively;
and the storage module is used for executing the storage of the target data according to the sub-storage spaces corresponding to the N virtual servers under the condition of receiving a storage request of the target data.
9. An electronic device is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor and the communication interface are used for realizing mutual communication by the memory through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any one of claims 1 to 7 when executing a program stored in the memory.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1 to 7.
CN202011183905.9A 2020-10-29 2020-10-29 Data storage method and device and electronic equipment Pending CN114428585A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011183905.9A CN114428585A (en) 2020-10-29 2020-10-29 Data storage method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011183905.9A CN114428585A (en) 2020-10-29 2020-10-29 Data storage method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN114428585A true CN114428585A (en) 2022-05-03

Family

ID=81309615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011183905.9A Pending CN114428585A (en) 2020-10-29 2020-10-29 Data storage method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN114428585A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115577206A (en) * 2022-12-06 2023-01-06 广东新禾道信息科技有限公司 House transaction web tag data processing method and system based on Internet
CN117827850A (en) * 2024-03-06 2024-04-05 深圳钰丰信息技术有限公司 Data storage method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559448A (en) * 2015-09-28 2017-04-05 北京国双科技有限公司 Server load balancing method and apparatus
CN107197035A (en) * 2017-06-21 2017-09-22 中国民航大学 A kind of compatibility dynamic load balancing method based on uniformity hash algorithm
CN108124012A (en) * 2017-12-21 2018-06-05 中通服公众信息产业股份有限公司 A kind of distributed caching computational methods based on hash algorithm
CN110336891A (en) * 2019-07-24 2019-10-15 中南民族大学 Data cached location mode, equipment, storage medium and device
CN111245924A (en) * 2020-01-08 2020-06-05 北京松果电子有限公司 Load balancing method and device and computer storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559448A (en) * 2015-09-28 2017-04-05 北京国双科技有限公司 Server load balancing method and apparatus
CN107197035A (en) * 2017-06-21 2017-09-22 中国民航大学 A kind of compatibility dynamic load balancing method based on uniformity hash algorithm
CN108124012A (en) * 2017-12-21 2018-06-05 中通服公众信息产业股份有限公司 A kind of distributed caching computational methods based on hash algorithm
CN110336891A (en) * 2019-07-24 2019-10-15 中南民族大学 Data cached location mode, equipment, storage medium and device
CN111245924A (en) * 2020-01-08 2020-06-05 北京松果电子有限公司 Load balancing method and device and computer storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115577206A (en) * 2022-12-06 2023-01-06 广东新禾道信息科技有限公司 House transaction web tag data processing method and system based on Internet
CN117827850A (en) * 2024-03-06 2024-04-05 深圳钰丰信息技术有限公司 Data storage method and system
CN117827850B (en) * 2024-03-06 2024-05-10 深圳钰丰信息技术有限公司 Data storage method and system

Similar Documents

Publication Publication Date Title
CN105282215B (en) Reputation based policies for forwarding and responding to interests through a content centric network
KR102486243B1 (en) Partitioning and rebalancing data storage
US9489429B2 (en) Computer system, data management method, and program
CN108228649B (en) Method and apparatus for data access
US11245774B2 (en) Cache storage for streaming data
WO2017016423A1 (en) Real-time new data update method and device
CN114428585A (en) Data storage method and device and electronic equipment
CN103236989B (en) Buffer control method in a kind of content distributing network, equipment and system
CN110658984B (en) Method and apparatus for optimizing dynamic memory assignments in a multi-tier memory system
CN110837479B (en) Data processing method, related equipment and computer storage medium
CN110933140B (en) CDN storage allocation method, system and electronic equipment
CN112486860A (en) Method, apparatus and computer program product for managing address mapping for a storage system
CN108874502B (en) Resource management method, device and equipment of cloud computing cluster
CN113596094B (en) Load balancing method and device based on cloud cluster
CN112231242A (en) Data caching method, storage control device and storage equipment
US9560127B2 (en) Systems, methods and algorithms for logical movement of data objects
CN109873855A (en) A kind of resource acquiring method and system based on block chain network
CN111562884B (en) Data storage method and device and electronic equipment
CN110413228B (en) Mapping table management method and system, electronic equipment and storage medium
CN110362426B (en) Selective copy realization method and system for bursty load
CN110765036A (en) Method, apparatus and computer program product for managing metadata at a control device
CN114442910A (en) Method, electronic device and computer program product for managing storage system
US11442632B2 (en) Rebalancing of user accounts among partitions of a storage service
CN114338133B (en) Application access system, method, communication device and storage medium
CN110784534A (en) Data service method, device and system and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination