WO2019149002A1 - 一种基于双层列表结构的容量扩充方法及系统 - Google Patents

一种基于双层列表结构的容量扩充方法及系统 Download PDF

Info

Publication number
WO2019149002A1
WO2019149002A1 PCT/CN2018/123979 CN2018123979W WO2019149002A1 WO 2019149002 A1 WO2019149002 A1 WO 2019149002A1 CN 2018123979 W CN2018123979 W CN 2018123979W WO 2019149002 A1 WO2019149002 A1 WO 2019149002A1
Authority
WO
WIPO (PCT)
Prior art keywords
array
new
size
stored
current
Prior art date
Application number
PCT/CN2018/123979
Other languages
English (en)
French (fr)
Inventor
王建民
黄向东
张金瑞
刘昆
曹高飞
赵馨逸
王晨
龙明盛
Original Assignee
清华大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 清华大学 filed Critical 清华大学
Priority to US16/959,897 priority Critical patent/US11467754B2/en
Publication of WO2019149002A1 publication Critical patent/WO2019149002A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present disclosure relates to the field of data management technologies, and in particular, to a capacity expansion method and system based on a two-layer list structure.
  • Stream computing, data storage, data analysis, etc. are all important technologies in the field of computer data management technology. As the amount of data increases, the difficulty of research and development of related technology platforms is also rising. Among them, the list structure (List) is the most commonly used data structure.
  • in-memory list structures support dynamic capacity expansion.
  • the traditional memory list structure supporting dynamic capacity expansion has a problem of slow expansion and waste of memory space when storing massive data.
  • ArrayList is a typical implementation of a memory list structure that requires a copy of existing data each time it is expanded.
  • its expanded capacity is related to the size of the current list. The larger the current list, the larger the capacity of the new expansion. Therefore, when storing massive amounts of data, there will be a serious problem of slow capacity expansion and wasted memory space.
  • the present disclosure provides a capacity expansion method and system based on a two-layer list structure.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure, wherein a first layer list of the two-layer list structure is a first array, and the first array stores at least one array identifier, the double layer
  • the second layer list of the list structure includes at least one second array, each of the second arrays for storing data to be stored, each of the second arrays corresponding to and only one of the array identifiers, the method include:
  • creating a new first array specifically includes:
  • the size of the first array is n
  • the size of the new first array is n+d
  • the d is a preset size increment
  • a new array is added, and the added second array corresponds to the n+1th array identifier in the new first array.
  • the method further includes: when the number of newly stored data in the second array reaches the maximum value, continuing to increase the number of the second array until the second array The number is equal to the number of the array identifiers.
  • the size of the added second array is the maximum value.
  • the step S1 further includes: when the number of the second array is 1, and the number of data stored in the second array does not reach the maximum value, creating a new second array, The size of the new second array is greater than the size of the current second array, and is not greater than the maximum value;
  • step S2 further comprises: copying the data stored in the current second array into the new second array, and replacing the current second array with the new second array.
  • the size of the new second array is min (1.5m, M).
  • the present disclosure provides a capacity expansion system based on a two-layer list structure
  • the first layer list of the two-layer list structure is a first array
  • the first array stores at least one array identifier
  • the second layer list of the list structure includes at least one second array, each of the second arrays for storing data to be stored, each of the second arrays corresponding to and only one of the array identifiers
  • the system include:
  • a capacity expansion module configured to: when the number of data stored in the second array corresponding to each of the array identifiers reaches a maximum value, create a new first array, where the size of the new first array is greater than the current The size of the first array and the number of the second array;
  • a replacement module configured to copy the array identifier stored in the current first array into the new first array, and replace the current first array with the new first array.
  • the expansion module is further configured to: when the number of the second array is 1, and the amount of data stored in the second array does not reach the maximum value, create a new second array.
  • the size of the new second array is greater than the size of the current second array, and is not greater than the maximum value;
  • the replacing module further comprises: copying data stored in the current second array into the new second array, and replacing the current second array with the new second array.
  • the present disclosure provides an apparatus for a capacity expansion method based on a two-layer list structure, including:
  • At least one processor At least one processor
  • At least one memory communicatively coupled to the processor, wherein:
  • the memory stores program instructions executable by the processor, the processor invoking the program instructions to perform the method of any of the above.
  • the present disclosure provides a non-transitory computer readable storage medium storing computer instructions that cause the computer to perform the method of any of the above.
  • the present invention provides a capacity expansion method and system based on a two-layer list structure.
  • data storage is implemented by a first layer list and a second layer list, wherein the first layer list is implemented by using the first array.
  • the first array stores at least one array identifier
  • the second layer list includes at least one second array
  • the second array stores the data, and each second array only corresponds to an array identifier in the first array;
  • a new first array can be created, and the size of the new first array is larger than the size of the current first array, and the current first
  • the array identifier in the array is copied into the new first array, and the current first array is replaced with the new first array, so the original second array can be associated with the array identifier in the new first array.
  • the data stored in the original second array does not need to be copied.
  • the number of second arrays is increased, and the same number of array identifiers are added to the new first array.
  • each new second array corresponds to a newly added array identifier.
  • the capacity can be expanded by storing the data to be stored in the newly added second array.
  • the capacity expansion method does not need to copy the data originally stored in the second array when the capacity expansion is performed, but only needs to store the data to be stored in the newly added second array, which can effectively reduce the copy of the data in the memory.
  • the waste of memory space can be effectively reduced, to some extent
  • the utilization of the memory space is improved; in addition, by matching the second array with the array identifier in the first array, the data in the second array can be queried by the array identifier, which is beneficial to improving the query efficiency of the data.
  • FIG. 1 is a schematic overall flow chart of a capacity expansion method based on a two-layer list structure according to an embodiment of the present disclosure
  • FIG. 2 is a schematic overall structural diagram of a two-layer list structure according to an embodiment of the present disclosure
  • FIG. 3 is a diagram showing an example of expansion of a two-layer list structure according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of an overall structure of a capacity expansion system based on a two-layer list structure according to an embodiment of the present disclosure
  • FIG. 5 is a schematic structural diagram of an apparatus for a capacity expansion method based on a two-layer list structure according to an embodiment of the present disclosure.
  • FIG. 1 is a schematic overall flowchart of a capacity expansion method based on a two-layer list structure according to an embodiment of the present disclosure.
  • the disclosure provides a capacity expansion method based on a double-layer list structure, and the double-layer list
  • the first layer list of the structure is a first array
  • the first array stores at least one array identifier
  • the second layer list of the dual layer list structure includes at least one second array, each of the second arrays being used Storing data to be stored, each of the second arrays corresponding to and only one of the array identifiers, the method comprising:
  • the present disclosure provides a capacity expansion method based on a two-layer list structure, which is implemented based on a two-layer list structure.
  • the first layer list of the two-layer list structure is the first array, and the size of the first array (SIZE) At least 1, that is, at least one element is stored in the first array, and the stored element is an array identifier;
  • the second layer list of the two-layer list structure includes at least one second array, and each second array includes a plurality of storage spaces.
  • Each storage space is used to store one data, that is, when there is a data storage requirement, the data to be stored can be stored in the second array.
  • each second array only corresponds to an array identifier in the first array. In an actual application, the data stored in the corresponding second array can be queried according to the array identifier.
  • FIG. 2 is a schematic diagram of the overall structure of a two-layer list structure according to an embodiment of the present disclosure, as shown in FIG.
  • the layer list is the first array.
  • the size of the first array in Figure 2 is 5. That is, the first array can store 5 elements, and each element stored is specifically an array identifier, for example, A1, A2, A3, A4 and A5 can also be used for other array identification symbols, which can be set according to actual needs, and are not specifically limited here.
  • the second layer list includes a second array, the second array includes 4 storage spaces, each storage space is used to store one data, and the second array corresponds to the first array identifier in the first array, wherein the second array
  • the size of the array can be set to 4, which can be set according to the actual situation.
  • the number of the second arrays included in the second layer list may also be 2 or 3 or 4 or 5, which may be set according to actual conditions, and is not specifically limited herein.
  • each array identifier in the first array corresponds to a second array
  • the amount of data stored in each second array reaches a maximum value, that is, the size of each second array is the maximum value.
  • a new first array is created, and the size of the new first array is larger than the size of the current first array.
  • the size of the new first array can be set according to actual needs. Limiting; at the same time increasing the number of second arrays, the number of second arrays can be set according to actual requirements, the number of second arrays is not greater than the number of array identifiers in the first array. .
  • the maximum size of each second array is the same, that is, the maximum capacity of each second array is the same, and the maximum value is preset. In practical applications, the maximum value can be set to 10000, which can be performed according to actual conditions. Settings, not specifically limited here.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure.
  • data storage is implemented by a first layer list and a second layer list, wherein the first layer list is implemented by using the first array, Storing at least one array identifier in an array, the second layer list includes at least one second array, and the second array stores data, and each second array only corresponds to an array identifier in the first array;
  • a new first array can be created, and the size of the new first array is larger than the size of the current first array, and the current first array is The array identifier is copied into the new first array, and the current first array is replaced with the new first array, so the original second array can be associated with the array identifier in the new first array, thereby Some of the data stored in the second array does not need to be copied.
  • each new second array corresponds to a newly added array identifier.
  • the capacity can be expanded by storing the data to be stored in the newly added second array.
  • the capacity expansion method does not need to copy the data originally stored in the second array when the capacity expansion is performed, but only needs to store the data to be stored in the newly added second array, which can effectively reduce the copy of the data in the memory.
  • the waste of memory space can be effectively reduced, to some extent
  • the utilization of the memory space is improved; in addition, by matching the second array with the array identifier in the first array, the data in the second array can be queried by the array identifier, which is beneficial to improving the query efficiency of the data.
  • a new first array specifically includes:
  • the size of the first array is n
  • the size of the new first array is n+d
  • the d is a preset size increment
  • a new array is added, and the added second array corresponds to the n+1th array identifier in the new first array.
  • a new first is created.
  • Array if the size of the current first array is n, the size of the new first array is n+d, where d is a preset size increment of the first array, that is, the first array can be quantitatively increased.
  • the value of d can be set to 100, or can be set to other values according to the actual data storage requirements, which is not specifically limited herein.
  • the number of second arrays is increased at the same time, since the maximum capacity of the second array is generally up to 10000, that is, a second array can store a large amount of data, in order to effectively control the memory.
  • a second array can store a large amount of data, in order to effectively control the memory.
  • Space to avoid waste of memory space, in this embodiment, only a second array is added, and the n+1th array identifier is added in the n+1th position in the new first array, and then added
  • the second array corresponds to the n+1th array identifier.
  • the data to be stored can be stored in the newly added second array, effectively realizing the expansion of capacity.
  • the size of the newly added second array can be set according to actual needs, and is not specifically limited herein.
  • FIG. 3 is a schematic diagram of expansion of a two-layer list structure according to an embodiment of the present disclosure, as shown in FIG. 3, FIG. 3 (left)
  • the current double-layer list structure wherein the current first array has a size of 1, and stores an array identifier, the array identifier corresponds to a second array, and the amount of data stored in the second array reaches a maximum value M, that is, a second The size of the array is M.
  • a new first array is created, as shown in Figure 3 (right), the size of the new first array is 1+d, where d is pre- The size increment is set. In general, the specific value of d can be set to 100.
  • d is shown schematically, and a second array is added. The size of the newly added second array is M ( Figure This is only a schematic representation of M), and the new second array corresponds to the second array identifier in the new first array.
  • the new data can be stored in the new second array.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure.
  • the difference between the size of the newly created first array and the size of the current first array is a preset size increase.
  • Quantity that is, the first array is quantitatively expanded, regardless of the amount of data currently stored, the expansion amount of the memory space can be set within a fixed range; and since the capacity of the second array is generally large, it is created On the basis of the new first array, only a second array is added, and finally the data to be stored is stored in the newly added second array, thereby realizing the capacity expansion; the memory space is effectively controlled in the whole process.
  • a capacity expansion method based on a two-layer list structure is provided, and after the step S1, the method further includes: when the number of newly stored data in the second array reaches the maximum value, continuing The number of the second array is increased until the number of the second array is equal to the number of the array identifiers.
  • a preset maximum value that is, when the capacity of the newly added second array reaches a maximum
  • the new one is added.
  • a second array if the amount of data stored in the newly added second array also reaches a preset maximum value, then continue to add a second array, and so on, until the number of the second array and the new number
  • the number of array identifiers in an array is equal, that is, each second array corresponds to an array identifier. If the capacity in each second array reaches a maximum value at this time, a new first array is newly created, and then The above step S1 is repeatedly performed, and details are not described herein again.
  • the present invention provides a capacity expansion method based on a two-layer list structure.
  • a second array is newly added, and the newly added second array stores the largest amount of data.
  • the value is, continue to increase the number of the second array until the number of the second array is equal to the number of the array identifier in the new first array.
  • a capacity expansion method based on a two-layer list structure is provided, and the size of the newly added second array is the maximum value.
  • the size of the newly added second array is directly set to the maximum value, in order to effectively reduce the number of data that is currently stored.
  • the expansion only needs to store the data to be stored in the newly added second array, and does not need to copy the currently stored data, thereby improving the data storage efficiency.
  • the size of the newly added second array may also be set according to actual data storage requirements, which is not specifically limited herein.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure.
  • a capacity expansion method based on a two-layer list structure.
  • a capacity expansion method based on a two-layer list structure where the step S1 further includes: when the number of the second array is 1, and the amount of data stored in the second array is not When the maximum value is reached, a new second array is created, and the size of the new second array is larger than the size of the current second array, and is not greater than the maximum value;
  • step S2 further comprises: copying the data stored in the current second array into the new second array, and replacing the current second array with the new second array.
  • the size of the new second array is larger than the size of the current second array, and not greater than the maximum size of the second array size. That is, for the first second array in the second layer list, the corresponding size may be 1 in the initial state, that is, only one data is stored, and when new data needs to be stored, the second array is expanded in capacity. And the capacity of the second array can be gradually expanded according to the actual data storage requirement until the size of the second array is a preset maximum value.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure. If there is only one second array currently, and the amount of data stored in the second array does not reach a maximum value, a new second array is created, new The size of the second array is larger than the size of the current second array and is not greater than a preset maximum value, and finally the data stored in the current second array is copied into the new second array, and the current second array is replaced with With the new second array, the new data can be stored in the new second array, which enables capacity expansion.
  • a capacity expansion method based on a two-layer list structure is provided. If the size of the second array is m and the maximum value is M, the size of the new second array is Min (1.5m, M).
  • the size of the new second array can be set to min (1.5m, M), wherein 1.5m is 1.5 of the current second array size Times, that is, in the case of not more than the maximum value, the size of the new second array can be set to 1.5 times the size of the current second array, that is, the multiplication capacity expansion mode is adopted for the second array.
  • the size of the current second array is an odd number, the result of the above 1.5 m can be obtained by rounding up.
  • the size of the new second array may be set according to actual data storage requirements, which is not specifically limited herein.
  • the present disclosure provides a capacity expansion method based on a two-layer list structure. If there is only one second array in the current second layer list, and the amount of data stored in the second array does not reach a maximum value, Data, you can create a new second array, the size of the new second array can be set to 1.5 times the size of the current second array, which is in the capacity expansion, if it is not greater than the preset maximum value. In the early stage, because there is less data stored, the capacity expansion is performed by multiplying the capacity expansion method for the second array. Under the premise of considering the number of data copies, the number of capacity expansions can be effectively controlled, which is beneficial to increase capacity expansion. The speed, in turn, helps to improve the storage efficiency of the data.
  • FIG. 4 is a schematic diagram of an overall structure of a capacity expansion system based on a two-layer list structure according to an embodiment of the present disclosure.
  • the disclosure provides a capacity expansion system based on a two-layer list structure, and the double layer list.
  • the first layer list of the structure is a first array
  • the first array stores at least one array identifier
  • the second layer list of the dual layer list structure includes at least one second array, each of the second arrays being used Storing data to be stored, each of the second arrays corresponding to and only one of the array identifiers, the system comprising:
  • the expansion module 1 is configured to: when the number of data stored in the second array corresponding to each of the array identifiers reaches a maximum value, create a new first array, where the size of the new first array is larger than the current Describe the size of the first array and increase the number of the second array;
  • the replacement module 2 is configured to copy the array identifier stored in the current first array into the new first array, and replace the current first array with the new first array.
  • the present disclosure provides a capacity expansion system based on a two-layer list structure, which is implemented based on a two-layer list structure.
  • the first layer list of the two-layer list structure is a first array, and the size of the first array (SIZE) is at least 1, that is, at least one element is stored in the first array, and the stored element is an array identifier;
  • the second layer list of the two-layer list structure includes at least one second array, and each second array includes several storage spaces, each storage Space is used to store a piece of data, that is, when there is a data storage requirement, the data to be stored can be stored in the second array.
  • each second array only corresponds to an array identifier in the first array. In an actual application, the data stored in the corresponding second array can be queried according to the array identifier.
  • the capacity expansion system based on the above-mentioned two-layer list structure, including the expansion module 1 and the replacement module 2, is implemented by the expansion module 1 and the replacement module 2 in the foregoing embodiment.
  • the capacity expansion method is as follows:
  • each array identifier in the first array corresponds to a second array
  • the amount of data stored in each second array reaches a maximum value, that is, the size of each second array is the maximum value.
  • the expansion module 1 is used to create a new first array.
  • the size of the new first array is larger than the size of the current first array.
  • the size of the new first array can be set according to actual requirements.
  • the expansion module 1 is used to increase the number of second arrays. Under the premise that the number of second arrays is not greater than the number of array identifiers in the first array, the number of second arrays added may be based on actual needs. Settings, not specifically limited here.
  • the maximum size of each second array is the same, that is, the maximum capacity of each second array is the same, and the maximum value is preset. In practical applications, the maximum value can be set to 10000, which can be performed according to actual conditions. Settings, not specifically limited here.
  • the replacement module 2 is used to copy the array identifier stored in the current first array into the new first array, and replace the current first array with the new first array, so the original second array can be
  • the array identifier in the new first array is mapped so that the data stored in the original second array does not need to be copied.
  • the same number of array identifiers can be added to the new first array according to the number of newly added second arrays, whereby each newly added second array corresponds to a newly added array identifier.
  • the capacity can be expanded by storing the data to be stored in the newly added second array.
  • the present disclosure provides a capacity expansion system based on a two-layer list structure.
  • data storage is implemented by a first layer list and a second layer list, wherein the first layer list is implemented by using the first array, Storing at least one array identifier in an array, the second layer list includes at least one second array, and the second array stores data, and each second array only corresponds to an array identifier in the first array;
  • a new first array can be created, and the size of the new first array is larger than the size of the current first array, and the current first array is The array identifier is copied into the new first array, and the current first array is replaced with the new first array, so the original second array can be associated with the array identifier in the new first array, thereby Some of the data stored in the second array does not need to be copied.
  • each new second array corresponds to a newly added array identifier.
  • the capacity can be expanded by storing the data to be stored in the newly added second array.
  • the capacity expansion method does not need to copy the data originally stored in the second array when the capacity expansion is performed, but only needs to store the data to be stored in the newly added second array, which can effectively reduce the copy of the data in the memory.
  • the waste of memory space can be effectively reduced, to some extent
  • the utilization of the memory space is improved; in addition, by matching the second array with the array identifier in the first array, the data in the second array can be queried by the array identifier, which is beneficial to improving the query efficiency of the data.
  • a capacity expansion system based on a two-layer list structure.
  • the expansion module 1 is further configured to: when the number of the second array is 1, and the data stored in the second array When the number does not reach the maximum value, a new second array is created, and the size of the new second array is larger than the size of the current second array, and is not greater than the maximum value;
  • the replacement module 2 further includes: copying data stored in the current second array into the new second array, and replacing the current second array with the new second array .
  • the size of the new second array is larger than the size of the current second array, and is not greater than the maximum value of the second array size. That is, for the first second array in the second layer list, the corresponding size may be 1 in the initial state, that is, only one data is stored, and when new data needs to be stored, the second expansion module 1 is used.
  • the array is expanded in capacity, and the second array can be gradually expanded according to the actual data storage requirement until the size of the second array is a preset maximum value.
  • the replacement module 2 is used to copy the data stored in the current second array into the new second array, and replace the current second array with the new second array, and the new data can be It is stored in a new second array, which in turn enables capacity expansion. That is, in the early stage of capacity expansion, since there is less data stored, the capacity expansion can be performed only for the second array step by step. Although the stored data needs to be copied, since the stored data is small, it needs to be performed. The number of data copies is also less, and there is no need to expand the capacity of the first array in the first layer list, thereby effectively avoiding waste of memory space.
  • the present disclosure provides a capacity expansion system based on a two-layer list structure. If there is only one second array currently, and the amount of data stored in the second array does not reach a maximum value, a new second array is created, new The size of the second array is larger than the size of the current second array and is not greater than a preset maximum value, and finally the data stored in the current second array is copied into the new second array, and the current second array is replaced with With the new second array, the new data can be stored in the new second array, which enables capacity expansion.
  • FIG. 5 is a structural block diagram of an apparatus for a capacity expansion method based on a two-layer list structure according to an embodiment of the present disclosure.
  • the device of the capacity expansion method based on the two-layer list structure includes: a processor 51, a memory 52, and a bus 53; wherein the processor 51 and the memory 52 pass through the bus 53.
  • the processor 51 is configured to invoke the program instructions in the memory 52 to perform the methods provided by the foregoing method embodiments, for example, including: each array identifier in the double-layer list structure When the number of data stored in the corresponding second array reaches a maximum value, a new first array is created, the size of the new first array is larger than the size of the current first array, and the number of the second array is increased; The array identifier stored in the first array is copied into the new first array and the current first array is replaced with the new first array.
  • the embodiment discloses a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer, the computer
  • the method provided in each of the foregoing method embodiments can be executed, for example, to: create a new first array when the number of data stored in the second array corresponding to each array identifier in the double-layer list structure reaches a maximum value. , the size of the new first array is larger than the size of the current first array, and the number of the second array is increased; the array identifier stored in the current first array is copied into the new first array, and the current first array is replaced The new first array.
  • the embodiment provides a non-transitory computer readable storage medium, the non-transitory computer readable storage medium storing computer instructions, the computer instructions causing the computer to perform the methods provided by the foregoing method embodiments, including, for example, : When the number of data stored in the second array corresponding to each array identifier in the double-layer list structure reaches a maximum value, a new first array is created, and the size of the new first array is larger than the current first array. Size, and increase the number of second arrays; copy the array identifier stored in the current first array to the new first array, and replace the current first array with the new first array.
  • the foregoing program may be stored in a computer readable storage medium, and the program is executed when executed.
  • the foregoing steps include the steps of the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.
  • the apparatus and the like embodiments of the capacity expansion method based on the two-layer list structure described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as the unit may be It may or may not be a physical unit, that is, it may be located in one place, or it may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment. Those of ordinary skill in the art can understand and implement without deliberate labor.
  • the present disclosure provides a method and system for capacity expansion based on a two-layer list structure.
  • data storage is implemented by a first layer list and a second layer list, wherein the first layer list adopts the first An array implementation, the first array stores at least one array identifier, the second layer list includes at least one second array, and the second array stores data, and each second array is only identified with an array in the first array Corresponding; when the number of data stored in the second array corresponding to each array identifier reaches a maximum value, a new first array can be created, and the size of the new first array is larger than the size of the current first array, The current array identifier in the first array is copied into the new first array, and the current first array is replaced with the new first array, so the original second array can be identified with the array in the new first array.
  • Correspondence is made so that the data stored in the original second array does not need to be copied.
  • the number of second arrays is increased, and the same number of array identifiers are added to the new first array.
  • each new second array corresponds to a newly added array identifier.
  • the capacity can be expanded by storing the data to be stored in the newly added second array.
  • the capacity expansion method does not need to copy the data originally stored in the second array when the capacity expansion is performed, but only needs to store the data to be stored in the newly added second array, which can effectively reduce the copy of the data in the memory.
  • the waste of memory space can be effectively reduced, to some extent
  • the utilization of the memory space is improved; in addition, by matching the second array with the array identifier in the first array, the data in the second array can be queried by the array identifier, which is beneficial to improving the query efficiency of the data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于双层列表结构的容量扩充方法及系统,双层列表结构的第一层列表为第一数组,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,每个第二数组用于存储待存储的数据,每个第二数组仅与一个数组标识对应,所述方法包括:当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量(S1);将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组(S2)。所述方法能够有效减少数据在内存中的拷贝次数,有利于提高容量扩充速度;同时能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率。

Description

一种基于双层列表结构的容量扩充方法及系统
交叉引用
本申请引用于2018年02月05日提交的专利名称为“一种基于双层列表结构的容量扩充方法及系统”的第201810111712.9号中国专利申请,其通过引用被全部并入本申请。
技术领域
本公开涉及数据管理技术领域,更具体地,涉及一种基于双层列表结构的容量扩充方法及系统。
背景技术
随着云计算、互联网、物联网等现代技术的不断发展和成熟,数据的存储和使用受到了越来越多的关注。数据来源于生活的方方面面,并正在迅速地膨胀变大——企业的生产交易数据、互联网中人与人的交互信息、物联网中传感器回传的监测数据等等。当前,数据的产生速度越来越快,数据的量也越来越大。
流式计算、数据存储、数据分析等都是计算机数据管理技术领域的重要技术。随着数据量的增大,相关技术平台的研发难度也在不断上升。其中,列表结构(List)是最常用的一种数据结构。
在多数编程语言中,内存中的列表结构均支持动态容量扩充。但由于扩充算法的局限性,传统的支持动态容量扩充的内存列表结构在保存海量数据时,会存在扩充速度慢、内存空间浪费的问题。例如,在Java语言中,ArrayList是一种典型的内存列表结构的实现,其在每次容量扩充时都需要对已有数据进行一次复制。此外,其扩充后的容量与当前列表的大小相关,当前列表越大,新扩充的容量就越大。所以,在存储海量数据时,将会存在较为严重的容量扩充速度慢以及内存空间浪费的问题。
有鉴于此,亟需提供一种能够支持快速容量扩充并能够有效提高空间利用率的容量扩充方法及系统,以提高数据处理平台的运行效率。
发明内容
本公开为了克服现有技术中列表结构的容量扩充速度慢且存在严重的内存空间浪费的问题,提供一种基于双层列表结构的容量扩充方法及系统。
一方面,本公开提供一种基于双层列表结构的容量扩充方法,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述方法包括:
S1,当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
S2,将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
可选地,步骤S1中所述当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组具体包括:
若当前所述第一数组的大小为n,则所述新的第一数组的大小为n+d,所述d为预设的大小增量;
相应地,新增一个所述第二数组,新增的所述第二数组与所述新的第一数组中的第n+1个数组标识对应。
可选地,所述步骤S1之后还包括:当新增的所述第二数组中存储的数据数量达到所述最大值时,继续增加所述第二数组的数量,直至所述第二数组的数量与所述数组标识的数量相等。
可选地,新增的所述第二数组的大小为所述最大值。
可选地,所述步骤S1还包括:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
相应地,所述步骤S2还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数 组。
可选地,若当前所述第二数组的大小为m,所述最大值为M,则所述新的第二数组的大小为min(1.5m,M)。
一方面,本公开提供一种基于双层列表结构的容量扩充系统,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述系统包括:
扩容模块,用于当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
替换模块,用于将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
可选地,所述扩容模块还用于:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
相应地,所述替换模块还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数组。
一方面,本公开提供一种基于双层列表结构的容量扩充方法的设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述任一所述的方法。
一方面,本公开提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述任一所述的方法。
本公开提供的一种基于双层列表结构的容量扩充方法及系统,基于双 层列表结构,通过第一层列表和第二层列表共同实现数据的存储,其中第一层列表采用第一数组实现,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,由第二数组对数据进行存储,同时每个第二数组仅与第一数组中的一个数组标识进行对应;当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则可创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,将当前第一数组中的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。同时增加第二数组的数量,并在新的第一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。该容量扩充方法在进行容量扩充时,无需将原先存储在第二数组中的数据进行复制,而仅需将待存储的数据存储新增的第二数组中,能够有效减少数据在内存中的拷贝次数,从而有效提高了容量扩充速度;同时在容量扩充过程中,通过对新的第一数组的大小及新增的第二数组的数量进行适量控制,能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率;此外,通过将第二数组与第一数组中的数组标识进行对应,使得通过数组标识即可对第二数组中的数据进行查询,有利于提高数据的查询效率。
附图说明
图1为本公开实施例的一种基于双层列表结构的容量扩充方法的整体流程示意图;
图2为本公开实施例的一种双层列表结构的整体结构示意图;
图3为本公开实施例的一种双层列表结构的扩容示例图;
图4为本公开实施例的一种基于双层列表结构的容量扩充系统的整体结构示意图;
图5为本公开实施例的一种基于双层列表结构的容量扩充方法的设备的结构框架示意图。
具体实施方式
下面结合附图和实施例,对本公开的具体实施方式作进一步详细描述。以下实施例用于说明本公开,但不用来限制本公开的范围。
图1为本公开实施例的一种基于双层列表结构的容量扩充方法的整体流程示意图,如图1所示,本公开提供一种基于双层列表结构的容量扩充方法,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述方法包括:
S1,当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
S2,将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
具体地,本公开提供一种基于双层列表结构的容量扩充方法,该方法是基于双层列表结构实现的,双层列表结构的第一层列表为第一数组,第一数组的大小(SIZE)至少为1,即第一数组中至少存储一个元素,且存储的元素为数组标识;双层列表结构的第二层列表至少包括一个第二数组,每个第二数组包括若干个存储空间,每个存储空间用于存储一个数据,即当存在数据存储需求时,可将待存储的数据存储在第二数组中。此外,每个第二数组仅且与第一数组中的一个数组标识对应,在实际应用中,根据数组标识即可查询对应第二数组中存储的数据。
为了更好地理解本实施例中的双层列表结构,现以下述示例进行具体说明:图2为本公开实施例的一种双层列表结构的整体结构示意图,如图2所示,第一层列表为第一数组,图2中第一数组的大小为5,即第一数组中可以存储5个元素,且存储的每个元素具体为数组标识,例如可以为:A1、A2、A3、A4和A5,也可以为其他数组标识符号,可以根据实际需求进行设置,此处不做具体限定。第二层列表包括一个第二数组,该第二数组包括4个存储空间,每个存储空间用于存储一个数据,该第二数组与第一数组中的第一个数组标识对应,其中第二数组的大小可以不为4,具体可以根据实际情况进行设置,此处不做具体限定。本实施例中,第二层 列表包括的第二数组的数量也可以为2或3或4或5,可以根据实际情况进行设置,此处不作具体限定。
基于上述双层列表结构,本实施例的容量扩充方法的具体实现如下:
若当前第一数组中的每个数组标识均对应一个第二数组,且每个第二数组中存储的数据数量均达到最大值时,即每个第二数组的大小均为最大值,若此时存在待存储的数据,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,新的第一数组的大小可以根据实际需求进行设置,此处不做具体限定;同时增加第二数组的数量,在第二数组的数量不大于第一数组中数组标识的数量的前提下,增加的第二数组的数量可以根据实际需求进行设置,此处不做具体限定。其中每个第二数组的大小的最大值相同,即每个第二数组的最大容量相同,该最大值是预先设定的,在实际应用中,最大值可以设置为10000,可以根据实际情况进行设置,此处不做具体限定。
进一步地,将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。此外,可以根据新增的第二数组的数量在新的第一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。
本公开提供的一种基于双层列表结构的容量扩充方法,基于双层列表结构,通过第一层列表和第二层列表共同实现数据的存储,其中第一层列表采用第一数组实现,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,由第二数组对数据进行存储,同时每个第二数组仅与第一数组中的一个数组标识进行对应;当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则可创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,将当前第一数组中的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。同时增加第二数组的数量,并在新的第 一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。该容量扩充方法在进行容量扩充时,无需将原先存储在第二数组中的数据进行复制,而仅需将待存储的数据存储新增的第二数组中,能够有效减少数据在内存中的拷贝次数,从而有效提高了容量扩充速度;同时在容量扩充过程中,通过对新的第一数组的大小及新增的第二数组的数量进行适量控制,能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率;此外,通过将第二数组与第一数组中的数组标识进行对应,使得通过数组标识即可对第二数组中的数据进行查询,有利于提高数据的查询效率。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充方法,步骤S1中所述当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组具体包括:
若当前所述第一数组的大小为n,则所述新的第一数组的大小为n+d,所述d为预设的大小增量;
相应地,新增一个所述第二数组,新增的所述第二数组与所述新的第一数组中的第n+1个数组标识对应。
具体地,在上述容量扩充过程中,若当前每个数组标识均存在对应的第二数组,且每个第二数组中存储的数据均达到预先设置的最大值时,则创建一个新的第一数组。其中,若当前第一数组的大小为n,则新的第一数组的大小为n+d,其中d为预先设定的第一数组的大小增量,即第一数组可以采用定量增加的方式进行容量扩充,d的数值可以具体设定为100,也可以根据实际的数据存储需求设定为其他数值,此处不做具体限定。在创建了新的第一数组的基础上,同时增加第二数组的数量,由于第二数组的容量最大值一般可达10000,即一个第二数组可存储的数据量较大,为了有效控制内存空间,避免内存空间的浪费,本实施例中,仅新增一个第二数组,并在新的第一数组中的第n+1个位置新增第n+1个数组标识,进而将新增的第二数组与第n+1个数组标识进行对应。由此,待存储的数据即可存储在新增的第二数组中,有效实现了容量的扩充。此外,新增的第二数组的大小可以根据实际需求进行设置,此处不做具体限定。
为了便于理解上述实施例中的容量扩充方法,现以下述示例进行具体说明:图3为本公开实施例的一种双层列表结构的扩容示例图,如图3所示,图3(左)为当前的双层列表结构,其中当前第一数组的大小为1,且存储一个数组标识,该数组标识对应一个第二数组,且第二数组中存储的数据数量达到最大值M,即第二数组的大小为M。当需在当前双层列表结构中存储一个新的数据时,则创建一个新的第一数组,如图3(右)所示,新的第一数组的大小为1+d,其中d为预先设定的大小增量,一般情况下,d的具体数值可以设置为100,图中对d进行了示意地表示,同时新增一个第二数组,新增的第二数组的大小为M(图中仅为M的示意性地表示),且新增的第二数组与新的第一数组中的第2个数组标识进行对应。由此,新的数据即可存储在新增的第二数组中。
本公开提供的一种基于双层列表结构的容量扩充方法,在容量扩充过程中,创建的新的第一数组的大小与当前第一数组的大小之间的差值为预先设定的大小增量,即对第一数组进行了定量扩容,无需考虑当前存储的数据量的大小,可将内存空间的扩充量设定在固定范围内;同时由于第二数组的容量一般较大,故而在创建了新的第一数组的基础上,仅新增一个第二数组,最终将待存储的数据存储在新增的第二数组中,进而实现了容量扩充;整个过程中对内存空间进行了有效控制,并有效避免了内存空间的浪费,提高了内存空间的利用率;同时无需将原先存储在第二数组中的数据进行复制,而仅需将待存储的数据存储新增的第二数组中,能够有效减少数据在内存中的拷贝次数,从而有效提高了容量扩充速度。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充方法,所述步骤S1之后还包括:当新增的所述第二数组中存储的数据数量达到所述最大值时,继续增加所述第二数组的数量,直至所述第二数组的数量与所述数组标识的数量相等。
具体地,在上述技术方案的基础上,当上述新增的第二数组中存储的数据数量达到预先设定的最大值时,即新增的第二数组的容量达到最大时,则再新增一个第二数组,若该新增的第二数组中存储的数据数量也达到预先设定的最大值时,则继续新增第二数组,以此类推,直至第二数组的数量与新的第一数组中数组标识的数量相等,即每个第二数组均对应一 个数组标识,若此时每个第二数组中的容量均达到最大值时,则再重新创建一个新的第一数组,进而重复执行上述步骤S1,此处不再赘述。
本公开提供的一种基于双层列表结构的容量扩充方法,在创建了一个新的第一数组的基础上,首先新增一个第二数组,当新增的第二数组存储的数据数量达到最大值时,再继续增加第二数组的数量,直至第二数组的数量与新的第一数组中的数组标识的数量相等,整个过程中通过对第二数组的数量进行逐个增加,能够对内存空间进行有效控制,有效避免了内存空间的浪费,提高了内存空间的利用率。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充方法,新增的所述第二数组的大小为所述最大值。
具体地,在上述技术方案的基础上,当第一数组中每个数组标识都存在对应的第二数组,且每个第二数组存储的数据数量均达到最大值时,则创建一个新的第一数组,并增加第二数组的数量。鉴于当前每个第二数组的存储的数据数量均已达到最大,且每个第二数组的容量一般可达10000,故而当前已存储的数据数量较大。在此基础上,若新增的第二数组的大小未达到最大值,则后续需对新增的第二数组的容量进行扩充,且在新增的第二数组容量的扩充过程中,需复制当前已存储的数据。鉴于当前已存储的数据数量较大,为了有效减少数据复制的次数,本实施例中,将新增的第二数组的大小直接设置为上述最大值,避免后续对新增的第二数组进行容量扩充,仅需将待存储的数据存储至新增的第二数组中,无需复制当前已存储的数据,提高了数据的存储效率。
此外,在其他实施例中,新增的第二数组的大小也可以根据实际数据存储需求进行设置,此处不做具体限定。
本公开提供的一种基于双层列表结构的容量扩充方法,当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,并增加第二数组的数量,且新增的第二数组的大小设置为最大值,后续无需对新增的第二数组进行容量扩充,仅需将待存储的数据存储至新增的第二数组中,有效避免了后续容量扩充过程中所存在的大量数据的拷贝问题,有效提高了容量扩充速度,进而有效提高了数据的存储效率。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充方法, 所述步骤S1还包括:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
相应地,所述步骤S2还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数组。
具体地,在上述容量扩充的过程中,在初始状态下,若当前第二数据的数量仅为1,且该第二数组中存储的数据数量未达到最大值时,若需存储新的数据,则创建一个新的第二数组,新的第二数组的大小大于当前第二数组的大小,且不大于第二数组大小的最大值。即,对于第二层列表中的第一个第二数组,其对应的大小在初始状态可以为1,即仅存储一个数据,当需存储新的数据时,则对该第二数组进行容量扩充,且可以根据实际数据存储需求对第二数组逐步进行容量扩充,直至第二数组的大小为预先设定的最大值。
进一步地,在上述基础上,将当前第二数组中存储的数据拷贝到新的第二数组中,并将当前的第二数组替换为新的第二数组,新的数据即可存储在新的第二数组中,进而实现了容量扩充。即,在容量扩充的前期,由于已存储的数据较少,故而可以仅对第二数组逐步进行容量扩充,虽需对已存储的数据进行拷贝,但由于已存储的数据较少,所以需进行的数据拷贝的次数也较少,同时无需对第一层列表中的第一数组进行容量扩充,有效避免了内存空间的浪费。
本公开提供的一种基于双层列表结构的容量扩充方法,若当前仅有一个第二数组,且第二数组中存储的数据数量未达到最大值时,则创建一个新的第二数组,新的第二数组的大小大于当前第二数组的大小且不大于预先设定的最大值,最终将当前第二数组中存储的数据拷贝到新的第二数组中,并将当前第二数组替换为新的第二数组,新的数据即可存储在新的第二数组中,进而实现了容量扩充。即在容量扩充的前期,由于已存储的数据较少,故而仅需对第二层列表中的第二数组的容量进行逐步扩充,无需对第一层列表中的第一数组进行容量扩充,有效避免了内存空间的浪费,并有效提高了内存空间的利用率。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充方法,若当前所述第二数组的大小为m,所述最大值为M,则所述新的第二数组的大小为min(1.5m,M)。
具体地,在上述技术方案的基础上,若当前第二层列表中仅有一个第二数组,且该第二数组中存储的数据数量未达到最大值时,若需要存储新的数据,则可创建一个新的第二数组。其中,若当前第二数组的大小为m,且上述最大值为M,则新的第二数组的大小即可设置为min(1.5m,M),其中1.5m为当前第二数组大小的1.5倍,即,在不大于最大值的情况下,新的第二数组的大小即可设置为当前第二数组大小的1.5倍,也即针对第二数组采用倍增的容量扩充方式。在实际应用中,若当前第二数组的大小为奇数,则上述1.5m的结果可以通过向上取整求得。
此外,在其他实施例中,新的第二数组的大小可以根据实际的数据存储需求进行设置,此处不做具体限定。
本公开提供的一种基于双层列表结构的容量扩充方法,若当前第二层列表中仅有一个第二数组,且该第二数组中存储的数据数量未达到最大值时,若需要存储新的数据,则可创建一个新的第二数组,在不大于预先设定的最大值的情况下,新的第二数组的大小可以设置为当前第二数组大小的1.5倍,即在容量扩充的前期,由于已存储的数据较少,故而针对第二数组采用倍增的容量扩充方式进行容量扩充,在考虑数据拷贝次数的前提下,能够对容量扩充的次数进行了有效控制,有利于提高容量扩充的速度,进而有利于提高数据的存储效率。
图4为本公开实施例的一种基于双层列表结构的容量扩充系统的整体结构示意图,如图4所示,本公开提供一种基于双层列表结构的容量扩充系统,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述系统包括:
扩容模块1,用于当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
替换模块2,用于将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
具体地,本公开提供一种基于双层列表结构的容量扩充系统是基于双层列表结构实现的,双层列表结构的第一层列表为第一数组,第一数组的大小(SIZE)至少为1,即第一数组中至少存储一个元素,且存储的元素为数组标识;双层列表结构的第二层列表至少包括一个第二数组,每个第二数组包括若干个存储空间,每个存储空间用于存储一个数据,即当存在数据存储需求时,可将待存储的数据存储在第二数组中。此外,每个第二数组仅且与第一数组中的一个数组标识对应,在实际应用中,根据数组标识即可查询对应第二数组中存储的数据。
在上述技术方案的基础上,本公开提供的一种基于上述双层列表结构的容量扩充系统,包括扩容模块1和替换模块2,通过扩容模块1和替换模块2实现上述任一实施例中的容量扩充方法,具体实现如下:
若当前第一数组中的每个数组标识均对应一个第二数组,且每个第二数组中存储的数据数量均达到最大值时,即每个第二数组的大小均为最大值,若此时存在待存储的数据,则利用扩容模块1创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,新的第一数组的大小可以根据实际需求进行设置,此处不做具体限定;同时利用扩容模块1增加第二数组的数量,在第二数组的数量不大于第一数组中数组标识的数量的前提下,增加的第二数组的数量可以根据实际需求进行设置,此处不做具体限定。其中每个第二数组的大小的最大值相同,即每个第二数组的最大容量相同,该最大值是预先设定的,在实际应用中,最大值可以设置为10000,可以根据实际情况进行设置,此处不做具体限定。
进一步地,利用替换模块2将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。此外,可以根据新增的第二数组的数量在新的第一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。
本公开提供的一种基于双层列表结构的容量扩充系统,基于双层列表结构,通过第一层列表和第二层列表共同实现数据的存储,其中第一层列表采用第一数组实现,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,由第二数组对数据进行存储,同时每个第二数组仅与第一数组中的一个数组标识进行对应;当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则可创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,将当前第一数组中的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。同时增加第二数组的数量,并在新的第一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。该容量扩充方法在进行容量扩充时,无需将原先存储在第二数组中的数据进行复制,而仅需将待存储的数据存储新增的第二数组中,能够有效减少数据在内存中的拷贝次数,从而有效提高了容量扩充速度;同时在容量扩充过程中,通过对新的第一数组的大小及新增的第二数组的数量进行适量控制,能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率;此外,通过将第二数组与第一数组中的数组标识进行对应,使得通过数组标识即可对第二数组中的数据进行查询,有利于提高数据的查询效率。
基于上述任一实施例,提供一种基于双层列表结构的容量扩充系统,所述扩容模块1还用于:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
相应地,所述替换模块2还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数组。
具体地,在上述容量扩充的过程中,在初始状态下,若当前第二数据的数量仅为1,且该第二数组中存储的数据数量未达到最大值时,若需存储新的数据,则利用扩容模块1创建一个新的第二数组,新的第二数组的 大小大于当前第二数组的大小,且不大于第二数组大小的最大值。即,对于第二层列表中的第一个第二数组,其对应的大小在初始状态可以为1,即仅存储一个数据,当需存储新的数据时,则利用扩容模块1对该第二数组进行容量扩充,且可以根据实际数据存储需求对第二数组逐步进行容量扩充,直至第二数组的大小为预先设定的最大值。
进一步地,在上述基础上,利用替换模块2将当前第二数组中存储的数据拷贝到新的第二数组中,并将当前的第二数组替换为新的第二数组,新的数据即可存储在新的第二数组中,进而实现了容量扩充。即,在容量扩充的前期,由于已存储的数据较少,故而可以仅对第二数组逐步进行容量扩充,虽需对已存储的数据进行拷贝,但由于已存储的数据较少,所以需进行的数据拷贝的次数也较少,同时无需对第一层列表中的第一数组进行容量扩充,有效避免了内存空间的浪费。
本公开提供的一种基于双层列表结构的容量扩充系统,若当前仅有一个第二数组,且第二数组中存储的数据数量未达到最大值时,则创建一个新的第二数组,新的第二数组的大小大于当前第二数组的大小且不大于预先设定的最大值,最终将当前第二数组中存储的数据拷贝到新的第二数组中,并将当前第二数组替换为新的第二数组,新的数据即可存储在新的第二数组中,进而实现了容量扩充。即在容量扩充的前期,由于已存储的数据较少,故而仅需对第二层列表中的第二数组的容量进行逐步扩充,无需对第一层列表中的第一数组进行容量扩充,有效避免了内存空间的浪费,并有效提高了内存空间的利用率。
图5示出本公开实施例的一种基于双层列表结构的容量扩充方法的设备的结构框图。参照图5,所述基于双层列表结构的容量扩充方法的设备,包括:处理器(processor)51、存储器(memory)52和总线53;其中,所述处理器51和存储器52通过所述总线53完成相互间的通信;所述处理器51用于调用所述存储器52中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:当双层列表结构中的每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量;将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为 新的第一数组。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:当双层列表结构中的每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量;将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:当双层列表结构中的每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,并增加第二数组的数量;将当前第一数组中存储的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的基于双层列表结构的容量扩充方法的设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡 献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
综合上述,本公开提供的一种基于双层列表结构的容量扩充方法及系统,基于双层列表结构,通过第一层列表和第二层列表共同实现数据的存储,其中第一层列表采用第一数组实现,第一数组中存储至少一个数组标识,第二层列表包括至少一个第二数组,由第二数组对数据进行存储,同时每个第二数组仅与第一数组中的一个数组标识进行对应;当每个数组标识对应的第二数组中存储的数据数量均达到最大值时,则可创建一个新的第一数组,新的第一数组的大小大于当前第一数组的大小,将当前第一数组中的数组标识拷贝到新的第一数组中,并将当前第一数组替换为新的第一数组,因此可将原有的第二数组与新的第一数组中的数组标识进行对应,从而原有的第二数组中存储的数据无需进行拷贝。同时增加第二数组的数量,并在新的第一数组中新增相同数量的数组标识,由此,新增的每个第二数组分别与一个新增的数组标识对应。最终,可将待存储的数据存储在新增的第二数组中,即可实现容量扩充。该容量扩充方法在进行容量扩充时,无需将原先存储在第二数组中的数据进行复制,而仅需将待存储的数据存储新增的第二数组中,能够有效减少数据在内存中的拷贝次数,从而有效提高了容量扩充速度;同时在容量扩充过程中,通过对新的第一数组的大小及新增的第二数组的数量进行适量控制,能够有效减少内存空间的浪费,一定程度上提高了内存空间的利用率;此外,通过将第二数组与第一数组中的数组标识进行对应,使得通过数组标识即可对第二数组中的数据进行查询,有利于提高数据的查询效率。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本公开的保护范围。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

  1. 一种基于双层列表结构的容量扩充方法,其特征在于,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述方法包括:
    当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
    将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
  2. 根据权利要求1所述的方法,其特征在于,步骤S1中所述当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组具体包括:
    若当前所述第一数组的大小为n,则所述新的第一数组的大小为n+d,所述d为预设的大小增量;
    相应地,新增一个所述第二数组,新增的所述第二数组与所述新的第一数组中的第n+1个数组标识对应。
  3. 根据权利要求2所述的方法,其特征在于,所述步骤S1之后还包括:当新增的所述第二数组中存储的数据数量达到所述最大值时,继续增加所述第二数组的数量,直至所述第二数组的数量与所述数组标识的数量相等。
  4. 根据权利要求2或3所述的方法,其特征在于,新增的所述第二数组的大小为所述最大值。
  5. 根据权利要求1所述的方法,其特征在于,所述步骤S1还包括:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
    相应地,所述步骤S2还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数 组。
  6. 根据权利要求5所述的方法,其特征在于,若当前所述第二数组的大小为m,所述最大值为M,则所述新的第二数组的大小为min(1.5m,M)。
  7. 一种基于双层列表结构的容量扩充系统,其特征在于,所述双层列表结构的第一层列表为第一数组,所述第一数组中存储至少一个数组标识,所述双层列表结构的第二层列表包括至少一个第二数组,每个所述第二数组用于存储待存储的数据,每个所述第二数组与且仅与一个所述数组标识对应,所述系统包括:
    扩容模块,用于当每个所述数组标识对应的第二数组中存储的数据数量均达到最大值时,则创建一个新的第一数组,所述新的第一数组的大小大于当前所述第一数组的大小,并增加所述第二数组的数量;
    替换模块,用于将当前所述第一数组中存储的数组标识拷贝到所述新的第一数组中,并将当前所述第一数组替换为所述新的第一数组。
  8. 根据权利要求7所述的系统,其特征在于,所述扩容模块还用于:当所述第二数组的数量为1,且所述第二数组中存储的数据数量未达到所述最大值时,则创建一个新的第二数组,所述新的第二数组的大小大于当前所述第二数组的大小,且不大于所述最大值;
    相应地,所述替换模块还包括:将当前所述第二数组中存储的数据拷贝到所述新的第二数组中,并将当前所述第二数组替换为所述新的第二数组。
  9. 一种基于双层列表结构的容量扩充方法的设备,其特征在于,包括:
    至少一个处理器;以及
    与所述处理器通信连接的至少一个存储器,其中:
    所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
  10. 一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
PCT/CN2018/123979 2018-02-05 2018-12-26 一种基于双层列表结构的容量扩充方法及系统 WO2019149002A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/959,897 US11467754B2 (en) 2018-02-05 2018-12-26 Capacity expansion method and capacity expansion system based on dual-level list structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810111712.9A CN108256103B (zh) 2018-02-05 2018-02-05 一种基于双层列表结构的容量扩充方法及系统
CN201810111712.9 2018-02-05

Publications (1)

Publication Number Publication Date
WO2019149002A1 true WO2019149002A1 (zh) 2019-08-08

Family

ID=62744335

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/123979 WO2019149002A1 (zh) 2018-02-05 2018-12-26 一种基于双层列表结构的容量扩充方法及系统

Country Status (3)

Country Link
US (1) US11467754B2 (zh)
CN (1) CN108256103B (zh)
WO (1) WO2019149002A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256103B (zh) * 2018-02-05 2019-02-05 清华大学 一种基于双层列表结构的容量扩充方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117278A (zh) * 2009-12-31 2011-07-06 联想(北京)有限公司 链表的创建方法及系统、数据的查找方法及系统
CN102479210A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种在集合中添加数据的处理方法、装置、终端
US20160077749A1 (en) * 2014-09-16 2016-03-17 Sandisk Technologies Inc. Adaptive Block Allocation in Nonvolatile Memory
CN105808589A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 文件处理的方法和装置
CN108256103A (zh) * 2018-02-05 2018-07-06 清华大学 一种基于双层列表结构的容量扩充方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279751A (zh) * 2011-08-30 2011-12-14 深圳市五巨科技有限公司 一种通用开发平台的数据存储方法及装置
US9009122B2 (en) * 2011-12-08 2015-04-14 International Business Machines Corporation Optimized resizing for RCU-protected hash tables
US9727244B2 (en) * 2015-10-05 2017-08-08 International Business Machines Corporation Expanding effective storage capacity of a data storage system while providing support for address mapping recovery
CN107783812B (zh) * 2016-08-24 2022-03-08 阿里巴巴集团控股有限公司 虚拟机内存管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117278A (zh) * 2009-12-31 2011-07-06 联想(北京)有限公司 链表的创建方法及系统、数据的查找方法及系统
CN102479210A (zh) * 2010-11-30 2012-05-30 金蝶软件(中国)有限公司 一种在集合中添加数据的处理方法、装置、终端
US20160077749A1 (en) * 2014-09-16 2016-03-17 Sandisk Technologies Inc. Adaptive Block Allocation in Nonvolatile Memory
CN105808589A (zh) * 2014-12-31 2016-07-27 中国电信股份有限公司 文件处理的方法和装置
CN108256103A (zh) * 2018-02-05 2018-07-06 清华大学 一种基于双层列表结构的容量扩充方法及系统

Also Published As

Publication number Publication date
CN108256103B (zh) 2019-02-05
CN108256103A (zh) 2018-07-06
US20210089214A1 (en) 2021-03-25
US11467754B2 (en) 2022-10-11

Similar Documents

Publication Publication Date Title
US8380680B2 (en) Piecemeal list prefetch
US10078594B2 (en) Cache management for map-reduce applications
US11087203B2 (en) Method and apparatus for processing data sequence
KR20220001008A (ko) 분산 훈련 방법, 시스템, 기기, 저장 매체 및 프로그램
CN104036029B (zh) 大数据一致性对比方法和系统
US11144330B2 (en) Algorithm program loading method and related apparatus
CN106611037A (zh) 用于分布式图计算的方法与设备
CN103218263A (zh) MapReduce参数的动态确定方法及装置
CN110795499A (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN109885642B (zh) 面向全文检索的分级存储方法及装置
US20240061712A1 (en) Method, apparatus, and system for creating training task on ai training platform, and medium
WO2012151912A1 (zh) 内存数据库对数据的操作方法及装置
CN105159759B (zh) 应用实例部署方法和装置
WO2019149002A1 (zh) 一种基于双层列表结构的容量扩充方法及系统
US11055223B2 (en) Efficient cache warm up based on user requests
CN112000703B (zh) 数据入库处理方法、装置、计算机设备和存储介质
CN113177088A (zh) 一种材料辐照损伤多尺度模拟大数据管理系统
US11934927B2 (en) Handling system-characteristics drift in machine learning applications
CN115759979B (zh) 基于rpa和流程挖掘的流程智能处理方法和系统
CN107229657A (zh) 数据迁移方法及装置
CN115858667A (zh) 用于同步数据的方法、装置、设备和存储介质
US9857864B1 (en) Systems and methods for reducing power consumption in a memory architecture
TWI754837B (zh) 資料庫遷移的方法、裝置、設備及電腦可讀媒體
CN103106270A (zh) 云数据融合方法和系统
CN105022784A (zh) 一种动态调节多级Bloom滤波器结构的方法

Legal Events

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

Ref document number: 18903413

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18903413

Country of ref document: EP

Kind code of ref document: A1