WO2019165996A1 - 数据分区拆分方法、装置、服务器及存储介质 - Google Patents

数据分区拆分方法、装置、服务器及存储介质 Download PDF

Info

Publication number
WO2019165996A1
WO2019165996A1 PCT/CN2019/076507 CN2019076507W WO2019165996A1 WO 2019165996 A1 WO2019165996 A1 WO 2019165996A1 CN 2019076507 W CN2019076507 W CN 2019076507W WO 2019165996 A1 WO2019165996 A1 WO 2019165996A1
Authority
WO
WIPO (PCT)
Prior art keywords
split
splitting
data partition
data
policy
Prior art date
Application number
PCT/CN2019/076507
Other languages
English (en)
French (fr)
Inventor
郭峰
管国辰
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Publication of WO2019165996A1 publication Critical patent/WO2019165996A1/zh

Links

Images

Classifications

    • 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
    • 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/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the present application relates to the field of storage technologies, and in particular, to a data partition splitting method, apparatus, server, and storage medium.
  • Region refers to the smallest unit of distributed storage in Hbase (a distributed storage system).
  • Hbase includes a large number of HRegionservers (servers for storing and managing data partitions, hereinafter referred to as servers), and different data partitions can be distributed on different servers.
  • HRegionservers servers for storing and managing data partitions, hereinafter referred to as servers
  • different data partitions can be distributed on different servers.
  • HRegionservers servers for storing and managing data partitions, hereinafter referred to as servers
  • the amount of data stored in the data partition will gradually become larger as the data is continuously inserted.
  • the server needs to split the data partition to distribute the data partition. The amount of data.
  • the server Whenever the server starts, it will load the pre-stored configuration file to obtain the split policy in the configuration file. During the running process, the server always splits each data partition of each data table in Hbase based on the split policy. Minute. When the developer needs to update the splitting policy, the splitting policy in the configuration file can be updated, and the server is restarted. When the server is restarted, the configuration file is loaded again, and the splitting strategy in the configuration file is obtained, thereby obtaining the updated splitting. According to the split strategy, the server will split each data partition based on the updated split strategy during this run.
  • the server Whenever the splitting policy is updated, the server must be restarted to run based on the updated splitting policy, causing the server to be interrupted, and the actual efficiency of updating the splitting policy is low.
  • the embodiment of the present application provides a data partition splitting method, device, server, and storage medium, which can solve the problem that the efficiency of updating the splitting strategy in the related art is low.
  • the technical solution is as follows:
  • a data partition splitting method comprising:
  • the data partition to be split is split.
  • the method provided by the embodiment of the present application provides a method for dynamically loading a splitting policy.
  • the splitting policy carried by the splitting policy update command is loaded and executed, thereby being based on the splitting
  • the splitting strategy splits the data partition. Since the updated splitting policy takes effect in the current running process, the server does not need to be restarted, which avoids the interruption of the service and greatly improves the efficiency of updating the splitting strategy.
  • the method before the splitting the data partition to be split based on the splitting strategy, the method further includes:
  • Each data partition of each data table that has been stored is obtained as the data partition to be split.
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • split validity period refers to a date range for splitting the data partition; when the current date belongs to the split validity period, the data partition to be split is split; and / or,
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • non-separable data partition information in the splitting policy, where the non-splitable data partition information is used to indicate a non-splitable data partition;
  • the data partition to be split does not belong to the non-separable data partition, the data partition to be split is split.
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • the preset data volume is a maximum value of data amount allowed to be stored in one data partition
  • the data partition to be split is split.
  • the splitting strategy is used to indicate a splitting starting point of the data partition, and the splitting the data partition to be split based on the splitting strategy includes at least one of the following:
  • the splitting policy indicates the head of the data partition to be split
  • the splitting is started before the head of the data partition to be split
  • the splitting policy indicates the tail of the data partition to be split
  • the splitting is started after the tail of the data partition to be split
  • the splitting policy indicates the middle position of the data partition to be split
  • the splitting is started from the middle position of the data partition to be split.
  • the method before the splitting the data partition to be split based on the splitting strategy, the method further includes:
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • Obtaining a historical splitting instruction in the splitting policy where the historical splitting instruction is used to indicate that the data partition to be split is split according to the number of splits of the data partition in the historical running process;
  • the historical split instruction obtains the number of splits of the data partition during the historical running process, and obtains the historical split share; divides the data partition to be split into the historical split number of sub-data partitions; or
  • a data partition splitting apparatus comprising:
  • a receiving module configured to receive a splitting policy update command, where the splitting policy update command carries at least a splitting policy
  • a parsing module configured to parse the splitting policy update instruction, to obtain the splitting strategy
  • Loading a module configured to load the splitting strategy
  • a split module is configured to split the data partition to be split based on the splitting strategy.
  • the device further includes:
  • An obtaining module configured to acquire a data table identifier carried in the split policy update instruction, and obtain each data partition in the data table corresponding to the data table identifier as the data partition to be split; or, obtain Each data partition of each data table stored is used as the data partition to be split.
  • the splitting module is configured to obtain a split validity period in the splitting strategy, where the split validity period refers to a date range for splitting a data partition;
  • the split validity period refers to a date range for splitting a data partition;
  • the split time segment in the split strategy is obtained; when the current time point belongs to the split time segment, the split is to be split.
  • the data partition is split.
  • the splitting module is configured to obtain non-separable data partition information in the splitting policy, where the non-splitable data partition information is used to indicate a non-separable data partition; When the data partition to be split does not belong to the non-separable data partition, the data partition to be split is split.
  • the splitting module is configured to acquire a preset amount of data in the splitting strategy, where the preset data volume is a maximum value of data allowed to be stored in one data partition; When the amount of data stored in the split data partition reaches the preset data amount, the data partition to be split is split.
  • the splitting strategy is used to indicate a splitting starting point of the data partition, and the splitting module is configured to perform at least one of the following:
  • the splitting policy indicates the head of the data partition to be split
  • the splitting is started before the head of the data partition to be split
  • the splitting policy indicates the tail of the data partition to be split
  • the splitting is started after the tail of the data partition to be split
  • the splitting policy indicates the middle position of the data partition to be split
  • the splitting is started from the middle position of the data partition to be split.
  • the splitting module is further configured to acquire a split point instruction in the splitting strategy; and determine, according to the split point instruction, a split starting point indicated by the splitting policy .
  • the splitting module is configured to obtain a historical splitting instruction in the splitting strategy, where the historical splitting instruction is used to indicate the number of splits of the data partition based on the historical running process. Splitting the data partition to be split; acquiring the number of splits of the data partition during the historical running process according to the historical split instruction, obtaining the historical split number; and splitting the data partition to be split Splitting the number of sub-data partitions for the history; or acquiring the number of splits in the splitting strategy, and splitting the data partition to be split into the split sub-data partitions.
  • a server comprising a processor and a memory, the memory storing at least one instruction loaded by the processor and executed to implement the first aspect and the first aspect described above Any of the possible data partitioning methods in the design.
  • a fourth aspect provides a computer readable storage medium having stored therein at least one instruction loaded by a processor and executed to implement the first aspect and any one of the possible aspects of the first aspect The data partition split method in .
  • FIG. 1 is a flowchart of a data partition splitting method provided by an embodiment of the present application.
  • FIG. 2 is a flowchart of a data partition splitting method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a data partition splitting method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a data partition splitting method provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a data partition splitting method according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a storage service module according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a management service module according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a data partition splitting apparatus according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present application.
  • Hbase is a distributed storage system used to store data in a massively structured manner.
  • the system architecture of Hbase includes a large number of Clients (clients), a large number of HRegionservers (servers), and HMasters (master nodes), where the server is Hbase.
  • clients clients
  • servers HRegionservers
  • HMasters master nodes
  • each server can store and manage large numbers of data partitions.
  • each data table (table) can include n data partitions, and different data partitions can be distributed on different servers to ensure load balancing of the servers.
  • Hbase hotspot problem refers to a large number of clients accessing one or a few servers of Hbase, causing a problem that a small number of servers have too many read/write requests and excessive load, while other servers have small load imbalance. If the data volume of a certain data partition in a server is large, the data partition is likely to become a hot data partition, which causes hot problems in the server. Therefore, the server needs to split the data partition in time and accurately to avoid hotspot problems.
  • Split storm It means that the amount of data in a large number of data partitions in Hbase is too large, causing the server to face the situation of splitting a large number of data partitions. Because each time the process of splitting the data partition brings a certain business burden to the server, when the split storm is faced, the service burden of the server is too heavy, which easily affects the performance of the server. Therefore, the split storm should be avoided.
  • FIG. 1 is a flowchart of a data partition splitting method provided by an embodiment of the present application. Referring to FIG. 1, the method includes:
  • the method before the splitting of the data partition to be split based on the splitting strategy, the method further includes:
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • the split validity period refers to a date range for splitting the data partition; when the current date belongs to the split validity period, the data partition to be split is split; and/or ,
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • non-separable data partition information in the splitting policy, where the non-splitable data partition information is used to indicate a non-splitable data partition;
  • the data partition to be split does not belong to the non-separable data partition, the data partition to be split is split.
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • the preset data volume is a maximum amount of data allowed to be stored in one data partition
  • the data partition to be split is split.
  • the splitting strategy is used to indicate a splitting starting point of the data partition, and the splitting data partition is split based on the splitting strategy, including at least one of the following:
  • the splitting policy indicates the head of the data partition to be split
  • the splitting is started before the head of the data partition to be split
  • the splitting policy indicates the tail of the data partition to be split
  • the splitting is started after the tail of the data partition to be split
  • the splitting policy indicates the middle position of the data partition to be split
  • the splitting is started from the middle position of the data partition to be split.
  • the method before the splitting of the data partition to be split based on the splitting strategy, the method further includes:
  • the split start point indicated by the split strategy is determined.
  • the splitting of the data partition to be split based on the splitting strategy includes:
  • the historical split instruction is used to indicate that the data partition to be split is split based on the number of splits of the data partition during the historical running process; based on the historical split instruction Obtaining the number of splits of the data partition during the historical running process, and obtaining the historical split share; splitting the data partition to be split into the historical split number of sub-data partitions; or
  • the server only loads the configuration file at startup to obtain the splitting policy, and the server does not reload the configuration file during the running process, but fixedly splits the data partition according to the splitting strategy obtained at startup. , poor flexibility.
  • the server if the developer wants to update the splitting policy, the server must be restarted after updating the splitting policy in the server's configuration file to ensure that the server loads and runs the updated configuration file again when it restarts.
  • the updated splitting strategy will not take effect at this time, which will cause the business to be interrupted, and the efficiency of updating the splitting strategy is very low.
  • the processing logic of the server loading and splitting strategy is improved, and a method for dynamically loading the splitting strategy is designed: whenever the server obtains the splitting policy update instruction, it will load and run the splitting.
  • the split policy is carried in the policy update command, so that the data partition is split based on the updated split policy. That is, the updated split policy takes effect during the running process, and the server does not need to be restarted to avoid service interruption.
  • the efficiency of the update split strategy is improved, and a method for dynamically loading the splitting strategy is designed: whenever the server obtains the splitting policy update instruction, it will load and run the splitting.
  • the split policy is carried in the policy update command, so that the data partition is split based on the updated split policy. That is, the updated split policy takes effect during the running process, and the server does not need to be restarted to avoid service interruption.
  • the embodiment of the present application can be applied to the scenario where the server splits the data partition in the HBase.
  • the method provided by the embodiment of the present application can dynamically configure the splitting strategy of the data partition, and the process of adding and updating the splitting policy can be completed online. Without a power failure to restart. Further, the server can flexibly adjust the splitting strategy online in the face of different business needs, greatly improving flexibility.
  • FIG. 2 is a flowchart of a data partition splitting method according to an embodiment of the present application.
  • the execution subject of the embodiment of the present invention is a server. Referring to FIG. 2, the method includes:
  • the server receives a split policy update instruction.
  • the server may receive the split policy update command during the running process. Specifically, the server may provide an interface for updating the split policy. When the split policy is passed to the interface of the update split policy, the server receives the Go to the split strategy update directive.
  • the interface for the update split policy can be called addTableDescriptor.
  • the split policy update command carries at least the split policy for the content of the split policy update command.
  • the split policy update command may also carry the split policy identifier, the data table identifier, and the like.
  • the split policy ID is used to identify the corresponding split policy. It can be the name and number of the split policy. It can be defined as the variable spiltname.
  • the data table identifier is used to uniquely determine the corresponding data table, which may be the name, number, etc. of the data table, and may be defined as a variable tablename.
  • the split policy update command is used to update the split policy that the server has stored, which can be used to newly add a split policy to the server, or replace the existing split policy of the server with split.
  • the split strategy carried by the policy update directive is used to update the split policy that the server has stored, which can be used to newly add a split policy to the server, or replace the existing split policy of the server with split.
  • Splitting strategy refers to the strategy of splitting the data partition, which may include at least a split validity period, a split time period, non-split data partition information, a preset data amount, a split point instruction, and a split number.
  • the concept and function of the split validity period are detailed in the following step 204.
  • the concept and function of the split time period are as follows in step 205.
  • the concept and function of the non-split data partition information are as follows: Step 206: Preset data amount
  • the concept and function are detailed in the following step 207.
  • the concept and function of the split point instruction and the number of split copies are as follows in step 208.
  • the server parses the split policy update command, obtains a split policy, and loads the split policy.
  • the server When the server obtains the split policy update command, it can parse the split policy update command, obtain the split policy carried by the split policy update command, load the split policy into the memory, and run based on the split policy to perform as follows.
  • the operations in steps 203 to 208 are implemented to perform the function of splitting the data partition.
  • the split policy can be stored persistently, for example, the split policy is stored in the HDFS (Hadoop Distributed File System) to ensure that the split policy can be loaded from the HDFS at the next startup.
  • HDFS Hadoop Distributed File System
  • the server may store a correspondence between the split policy identifier and the splitting policy, where each splitting policy is a splitting policy that is stored by the server.
  • the server may query the correspondence between the splitting policy identifier and the splitting policy based on the splitting policy identifier, and when the corresponding relationship is queried in the corresponding relationship, Indicates that the split policy corresponding to the split policy ID is stored locally. If the split policy of the local storage is updated, the server replaces the split policy of the local storage with the split policy carried by the split policy update command.
  • splitting policy If the splitting policy is not queried in the corresponding relationship, it indicates that the splitting policy corresponding to the splitting policy identifier is not stored locally, and the new splitting policy needs to be stored, and the server stores the splitting carried by the splitting policy update command. The policy is divided and the split policy identifier in the split policy update command is stored correspondingly.
  • the server determines a data partition to be split.
  • the data partition to be split can be determined, so that the data partition to be split is subsequently split.
  • each data partition stored by the server may belong to a corresponding data table, and each data table may have a data table identifier, and the split policy update instruction may carry the data table identifier, the server The data table identifier carried in the split policy update instruction may be obtained, and each data partition in the data table corresponding to the data table identifier is obtained as a data partition to be split.
  • the server may store a correspondence between the data table identifier and the splitting policy, so that the splitting policy corresponding to the data table may be determined by the corresponding relationship when the server is restarted.
  • the scope of the splitting policy in the configuration file stored by the server is the entire Hbase, that is, the server uniformly splits a large number of data partitions of a large number of data tables based on the same splitting policy, and has strong limitations. Not flexible.
  • each splitting policy may be one or more data tables.
  • the data partition may be based only on the data partition.
  • the split strategy splits the data partitions outside the data partition based on the split strategy, which improves the accuracy of the split data partition.
  • the server may simultaneously load and run multiple splitting policies, and split the data partitions according to the corresponding splitting strategy for each data table, for example, split the data partition in the data table 1 based on the splitting strategy A, The data partition in the data table 2 is split based on the splitting strategy B, thereby realizing the multi-granular configuration splitting strategy, greatly improving the flexibility, and being able to satisfy the fine-grained control of the splitting strategy of each data table. demand.
  • split policy update command can also be identified by the default data table, and the server can directly obtain each data partition of each stored data table as the data partition to be split.
  • the server determines that the current date belongs to a split validity period in the splitting policy.
  • the splitting strategy may include a split validity period, and the split validity period refers to a date range in which the data partition is split.
  • the server may obtain the split validity period in the split strategy, determine whether the current date belongs to the split validity period, and determine that the data partition to be split may be performed when the current date belongs to the split validity period. If the split is performed, the following step 204 is continued, and when the current date is not part of the split validity period, the split data partition is not split.
  • the split strategy carries the split validity period from November 8, 2017 to November 12, 2017. If the current date is November 11, 2017, the server will split based on the split strategy. The current date is October 8, 2017, and the server does not split based on the split strategy.
  • the server can implement the function of periodically performing the splitting policy by running the splitting policy with the split validity period: the server can determine in real time whether the current date belongs to the split validity period in the process of running the splitting policy, so as to determine the current Split the data partition when the date belongs to the split validity period.
  • the server may start a timer, set the date of the timer to a start date of the split validity period, and automatically split the split data partition when the current date reaches the start date of the split validity period.
  • the split validity period can include various accuracy, for example, it can be accurate to the year, month, and day, or to the year and month, or to the date.
  • the server can use the Z day of X year Y month as the split validity period, assuming that the split validity period includes X year Y month, the server can split each day of X year Y month as the split.
  • Validity period assuming that the split validity period includes Y month Z day, the server can use the Z day of the Y month of each year as the split validity period.
  • the following technical effects can be achieved by designing the splitting strategy including the split validity period, and designing the server to split the data partition when determining that the current date belongs to the split validity period:
  • the server can determine whether to split the data partition based on the split strategy based on the current date and the split validity period, instead of fixing the split strategy once, it is based on the split
  • the split strategy splits the data partition.
  • the developer can set the split validity period in the split strategy according to the business requirements.
  • the server runs the split strategy to split the data partition, it can ensure that the date of the split data partition meets the service requirements.
  • the timeliness of splitting the data partition is guaranteed: in the implementation, the developer can preset a future date range as the split validity period, and import the splitting policy carrying the split validity period to the server, and the server runs the When splitting the strategy, it will have a periodic function.
  • the data partition is not split based on the splitting strategy.
  • the data partition is automatically split. Therefore, the developer does not need to temporarily import the splitting strategy.
  • the timeliness of splitting data partitions is more efficient.
  • the server is a server associated with the shopping application
  • the data in the data partition stored by the server is consumption records, preferential information, commodity information, and the like, and a large number of clients may appear in consideration of the double eleven.
  • the server will not split the data partition based on the split strategy before November 11
  • the data partition is automatically split based on the splitting strategy to ensure that the data partitions are split in time to avoid hot issues caused by data proliferation in the data partition.
  • the server determines that the current time point belongs to a split time period in the splitting policy.
  • the splitting policy may include a splitting time period, where the splitting time period refers to a time point range for splitting the data partition.
  • the server may obtain the splitting policy.
  • the split time period determines whether the current time point belongs to the split time period. When the current time point belongs to the split time period, the data partition to be split is split, and then the following step 205 is continued, but the current date is not When it belongs to the split time period, the split data partition is not split.
  • the splitting policy carries a split time period of 20:00-22:00. If the current time point is 12:00, the server does not split based on the split policy. If the current time point is 21: 00, based on the split strategy for splitting.
  • the server can perform the function of periodically performing the splitting policy by running the splitting policy with the splitting time period: the server can determine in the real-time whether the current time point belongs to the splitting time segment in the process of running the splitting policy, so that the server can Split the data partition when it is determined that the current time point belongs to the split time period.
  • the server may start a timer, and set a timing time point to a starting time point of the splitting time period, and when the current time point reaches the starting time point of the splitting time period, during the running of the timer The server will split the split data partition.
  • the splitting time period is included in the design splitting strategy, and the design server splits the data partition when determining that the current time point belongs to the splitting time segment, and the following technical effects can be achieved:
  • the server can determine whether to split the data partition based on the splitting strategy according to the current time point and the splitting time period, and does not fixedly run the splitting strategy once. Split the data partition based on the split strategy. At the same time, the developer can set the split time period in the split strategy according to the business requirements. When the server runs the split strategy to split the data partition, it can ensure that the time point of splitting the data partition meets the service requirements.
  • the developer can preset a certain time period that has not been reached as the split time period, and import the splitting strategy carrying the split time period to the server.
  • the server runs the splitting policy, it will have a timing function.
  • the data partition is not split based on the splitting strategy.
  • the splitting time period is reached at the current time, the data partition is automatically split. Therefore, the developer does not need to temporarily import.
  • the split strategy improves the timeliness of split data partitions and is more efficient.
  • the server is a server associated with the shopping application
  • the data in the data partition stored by the server is data of consumption records, preferential information, commodity information, etc.
  • the shopping application plans to launch an activity in the early morning, which can be preset in the early morning.
  • the time period is the split time period
  • the server will not split the data partition based on the split strategy during the day and other non-early time periods.
  • the data is automatically partitioned based on the split strategy. Splitting is performed to ensure that data partitions are split in time to avoid hot issues caused by data proliferation in data partitions.
  • the server determines that the data partition to be split does not belong to the non-splitable data partition indicated by the splitting policy.
  • the splitting policy may include non-separable data partition information, and the non-split data partition information is used to indicate a non-splitable data partition.
  • the server may obtain the non-separable data partition information in the splitting policy, and determine whether the data partition to be split belongs to the non-splitable data indicated by the non-splitable data partition information. Partition, when the data partition to be split does not belong to the non-separable data partition, proceed to the following step 207 to split the data partition to be split, and the data partition to be split belongs to non-separable data. When partitioning, do not split the split data partition.
  • the non-separable data partition information may be a list, an array, or a set. Of course, other data structures in the programming language may also be used.
  • the non-split data partition information may include an identifier of the non-separable data partition to indicate that the data partition cannot be split. Data partition.
  • non-splitable data partition indicated by the non-split data partition information may be one or more.
  • the splittable data partition information carried by the splitting policy indicates the data partition 1 to the data partition. 8. If the data partition to be split is data partition 5, the server does not split based on the split policy. If the data partition to be split is data partition 10, the server splits based on the split policy.
  • the design splitting strategy includes non-separable data partition information
  • the design server determines that the data partition to be split does not belong to the non-separable data partition, and then splits the data partition, which can achieve the following technical effects:
  • the server can determine whether to split a data partition according to the non-separable data partition information, and does not split all data partitions in a fixed manner, and has high flexibility.
  • the developer can customize the non-separable data partition information in the splitting policy according to the business requirements, and ensure that the split object can meet the business requirements when the server splits the data partition according to the non-separable data partition information.
  • the server determines that the data volume of the data partition to be split reaches a preset data amount.
  • the splitting policy may include a preset data amount, where the preset data volume is a maximum amount of data that is allowed to be stored in one data partition.
  • the server may obtain a pre-prepared in the splitting policy. Set the amount of data, and obtain the amount of data stored in the data partition to be split, determine whether the amount of data reaches the preset amount of data, and when the amount of data reaches the preset amount of data, split the data partition, and then continue to execute In the following step 207, when the data volume does not reach the preset data amount, the split data partition is not split.
  • the splitting strategy includes a preset amount of data of 100M. If the data partition stores 10M of data, the server does not split the data partition based on the splitting strategy. If the data partition stores 150M of data. , the data partition is split based on the split strategy.
  • each step is sequentially performed in the order of step 204-step 205-step 206-step 207.
  • each step may be sequentially performed in any order, for example, according to Each step is performed in the order of step 207-step 206-step 204-step 205.
  • step 204 to step 207 may be performed in any combination to confirm that the data partition to be split can be split.
  • the server may perform only one or more of steps 204 to 207, that is, perform the following steps. 208.
  • step 204 to step 207 are only optional steps.
  • the server may also perform step 203, that is, step 208.
  • the server splits the data partition to be split based on the splitting strategy.
  • the split data partition can be split based on the splitting strategy to obtain multiple sub-data partitions, thereby distributing the data partition to be split through multiple sub-data partitions. The amount of data.
  • the process of splitting the data partition to be split may specifically include the following steps 1 to 3:
  • Step 1 Determine the number of splits based on the split strategy.
  • the splitting policy can indicate the number of splits to be split into data partitions.
  • the split number refers to the number of sub-data partitions obtained after splitting.
  • the server can be based on splitting.
  • the strategy determines the number of splits to ensure that the number of split data partitions is the number of splits.
  • the splitting strategy may include splitting the number of copies, and the server may obtain the number of splits in the splitting strategy to split the data partition to be split into split sub-data partitions.
  • the splitting strategy may include a historical split instruction, and the historical split instruction is used to indicate that the data partition is split based on the number of splits of the data partition during the historical running process, and the server may obtain the split.
  • the historical split instruction in the strategy based on the historical split instruction, obtains the number of splits of the data partition during the historical running process, obtains the historical split share, and uses the historical split share as the split of the split data partition. The number of shares to split the data partition to be split into the historical split number of sub-data partitions.
  • the server For the process of obtaining the historical split number based on the historical split instruction, the server records the split number of the current split record in the historical split record each time the data partition is split, and after obtaining the historical split instruction You can query the historical split record to get the historical split number.
  • the historical split instruction may carry a historical date
  • the server may query the historical split record based on the historical date, and obtain the number of split data partitions in the historical split record in the historical split record to obtain a historical split share.
  • the historical split instruction may carry December 12, 2016, and the server obtains the number of splits on December 12, 2016 as M, and M as the historical split share.
  • the historical split instruction may carry a historical date range
  • the server may query the historical split record based on the historical date range, and obtain the number of splits per day in the historical date range in the historical split record, and obtain multiple splits.
  • the number of parts is divided, and the average of the plurality of split parts is calculated as the historical split number.
  • the historical split instruction can carry December 2016, the server obtains the number of splits per day in December 2016, obtains 31 split copies, and calculates the average of the 31 split copies. The average is taken as the historical split number.
  • Step 2 Determine a split starting point based on the splitting strategy.
  • the splitting policy may indicate a splitting starting point of the data partition
  • the server may determine a splitting starting point based on the splitting strategy, so as to split the data partition to be split from the splitting starting point.
  • the split start point indicated by the split point instruction may include at least one of a header of the data partition, an intermediate of the data partition, and a tail of the data partition.
  • the splitting strategy may include a split point instruction, and the splitting strategy may indicate a splitting starting point of the data partition by using a split point instruction, and when the splitting strategy includes a split point instruction, the server You can get the split point instruction in the split strategy to determine the split start point indicated by the split point instruction to split the data partition to be split from the split start point.
  • the split point instruction may carry the split point identifier, and the server may determine the split start point indicated by the split point instruction by using the split point identifier. For example, when the split point instruction carries “top”, the split may be determined. The split start point indicated by the split point instruction is the head of the data partition. When the split point instruction carries "middle”, it can be determined that the split start point indicated by the split point instruction is the middle of the data partition, when the split point instruction When carrying "bottom”, you can determine that the split start point indicated by the split point instruction is the end of the data partition.
  • Step 3 Based on the number of splits and the starting point of the split, the data partition to be split is split.
  • the splitting of the data partition to be split is also different, and the process of splitting the data partition to be split based on the splitting starting point may include the following design (1) to At least one of the design (3), for example, may perform any one of the following design (1) to design (3), or perform any combination of any of the following designs (1) to (3) For example, a two-two combination, a combination of the three, and the like are not limited in this embodiment.
  • the server can split before the head of the data partition. Specifically, a data gap may exist between any two adjacent data partitions.
  • the server determines to split the head of the data partition to be split, the data partition to be split and the to-be-split may be obtained.
  • the data gap between the previous data partitions of the data partition is split from any location of the data gap.
  • the data partition to be split is Region2, and the number of splits is 3.
  • the server splits the Region2, the data gap between Region2 and Region1 can be split into sub-Region1. And Region2, and Region2 as the sub-Region3 after splitting, to get 3 split data partitions: child Region1, child Region2, and child Region3.
  • the server can start splitting from the middle of the data partition to be split. Specifically, the server may obtain the first row and the last row of the data partition to be split, calculate the middle row of the data partition to be split according to the first row and the last row, and start splitting from the middle row, for example, assuming a data partition to be split. For lines 100 through 201, the server can calculate the 150th line of the intermediate behavior, starting from line 150, and getting the sub-data partitions of lines 100-150 and the data partitions of lines 151-201.
  • the data partition to be split is Region2, and the number of splits is 3.
  • the server performs intermediate splitting on Region2, it can be split into two from the middle of Region2, and two are split.
  • the equal child Region is the child Region1 and the child Region2.
  • the split is started after the tail of the data partition. Specifically, after the server determines that the tail of the data partition to be split is to be split, the data gap between the data partition to be split and the next data partition of the data partition to be split may be obtained, from the data gap. Split at any location.
  • the data partition to be split is Region2, and the number of splits is 4.
  • the server performs tail splitting on Region2, the data gap between Region2 and Region3 can be split into sub-Region1.
  • the server can count the number of split sub-data partitions in real time, when the split sub-data is When the number of partitions has not reached the number of splits, the splitting is continued. When the number of split sub-data partitions has reached the split number, the data partition is split, and finally the split sub-data is obtained. Partition.
  • this embodiment expands the split mode and greatly improves the flexibility: the traditional Hbase fixedly takes the middle position of the data partition to be split as the split starting point, and The embodiment adds a head splitting method and a tail splitting method, which expands the user's selection space.
  • the user can set the head splitting mode, the intermediate splitting mode, and the tail splitting mode in the splitting strategy according to actual business requirements. In either case, when the server splits based on the splitting strategy, it can ensure that the split starting point meets the actual business requirements.
  • two virtual function modules may be added to the server: a storage service module and a management service module, and the two virtual function modules interact to perform each step in the running process.
  • the structure of the storage service module is shown in Figure 6.
  • the storage service module is used to provide the storage service function.
  • the storage service module can be used to cache the split policy and write the split policy to the HDFS.
  • the storage service module can delete the splitting policy from the HDFS.
  • the query and the splitting policy are obtained, the storage service module can obtain the splitting policy from the HDFS.
  • Schematic diagram of the management service module is shown in Figure 7.
  • the management service module is used to provide a management service interface, such as an interface for adding a split policy, an interface for deleting a split policy, an interface for obtaining a split policy, and an interface for completing a split function. And through the call storage service module to complete the creation, deletion, query and other functions of the split strategy data.
  • the method provided by the embodiment of the present application provides a method for dynamically loading a splitting policy.
  • the splitting policy carried by the splitting policy update command is loaded and executed, thereby being based on the splitting
  • the splitting strategy splits the data partition. Since the updated splitting policy takes effect in the current running process, the server does not need to be restarted, which avoids the interruption of the service and greatly improves the efficiency of updating the splitting strategy.
  • splitting strategy including split validity period, split time period, non-split data partition information, preset data amount, split point instruction, split number of copies, etc.
  • FIG. 8 is a schematic structural diagram of a data partition splitting apparatus according to an embodiment of the present application.
  • the apparatus includes: a receiving module 801, a parsing module 802, a loading module 803, and a splitting module 804.
  • the receiving module 801 is configured to receive a splitting policy update command, where the splitting policy update command carries at least a splitting policy;
  • the parsing module 802 is configured to parse the splitting policy update command to obtain the splitting strategy
  • a loading module 803, configured to load the splitting strategy
  • the splitting module 804 is configured to split the data partition to be split based on the splitting strategy.
  • the device further includes:
  • Obtaining a module configured to obtain a data table identifier carried by the split policy update instruction, and obtain each data partition in the data table corresponding to the data table identifier as the data partition to be split; or, obtain each stored Each data partition of the data table serves as the data partition to be split.
  • the splitting module 804 is configured to obtain a split validity period in the splitting strategy, where the split validity period refers to a date range in which the data partition is split; the current date belongs to the split During the validity period, the data partition to be split is split; and/or, the split time period in the split strategy is obtained; when the current time point belongs to the split time period, the data partition to be split is split. .
  • the splitting module 804 is configured to obtain non-separable data partition information in the splitting policy, where the non-splitable data partition information is used to indicate a non-separable data partition; When the data partition of the subnet does not belong to the non-separable data partition, the data partition to be split is split.
  • the splitting module 804 is configured to obtain a preset data amount in the splitting strategy, where the preset data volume is a maximum value of data allowed to be stored in one data partition; when to be split When the amount of data stored in the data partition reaches the preset data amount, the data partition to be split is split.
  • the splitting strategy is further used to indicate a splitting starting point of the data partition, and the splitting module 804 is configured to perform at least one of the following:
  • the splitting policy indicates the head of the data partition to be split
  • the splitting is started before the head of the data partition to be split
  • the splitting policy indicates the tail of the data partition to be split
  • the splitting is started after the tail of the data partition to be split
  • the splitting policy indicates the middle position of the data partition to be split
  • the splitting is started from the middle position of the data partition to be split.
  • the splitting module 804 is further configured to obtain a split point instruction in the splitting policy; and according to the split point instruction, determine a split starting point indicated by the splitting strategy.
  • the splitting module 804 is configured to obtain a historical split instruction in the splitting policy, where the historical split instruction is used to indicate that the number of splits of the data partition is based on the historical running process.
  • the data partition to be split is split; based on the historical split instruction, the number of splits of the data partition during the historical running process is obtained, and the historical split number is obtained; the data partition to be split is split into the historical split.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present application.
  • the server 900 may generate a large difference due to different configurations or performances, and may include one or more central processing units (CPUs) 901 and one or More than one memory 902, wherein the memory 902 stores at least one instruction that is loaded and executed by the processor 901 to implement a data partition splitting method as follows:
  • the data partition to be split is split.
  • the processor is further configured to:
  • Each data partition of each data table that has been stored is obtained as the data partition to be split.
  • the processor is configured to execute:
  • split validity period refers to a date range for splitting the data partition; when the current date belongs to the split validity period, the data partition to be split is split; and / or,
  • the processor is configured to execute:
  • non-separable data partition information in the splitting policy, where the non-splitable data partition information is used to indicate a non-splitable data partition;
  • the data partition to be split does not belong to the non-separable data partition, the data partition to be split is split.
  • the processor is configured to execute:
  • the preset data volume is a maximum value of data amount allowed to be stored in one data partition
  • the data partition to be split is split.
  • the splitting policy is further used to indicate a splitting starting point of the data partition, and the processor is configured to perform at least one of the following:
  • the splitting policy indicates the head of the data partition to be split
  • the splitting is started before the head of the data partition to be split
  • the splitting policy indicates the tail of the data partition to be split
  • the splitting is started after the tail of the data partition to be split
  • the splitting policy indicates the middle position of the data partition to be split
  • the splitting is started from the middle position of the data partition to be split.
  • the processor is further configured to:
  • the processor is configured to execute:
  • Obtaining a historical splitting instruction in the splitting policy where the historical splitting instruction is used to indicate that the data partition to be split is split according to the number of splits of the data partition in the historical running process;
  • the historical split instruction obtains the number of splits of the data partition during the historical running process, and obtains the historical split share; divides the data partition to be split into the historical split number of sub-data partitions; or
  • the server may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface for input and output.
  • the server may also include other components for implementing the functions of the device, and details are not described herein.
  • a computer readable storage medium storing a computer program, such as a memory storing a computer program, the computer program being executed by the processor to implement data partitioning performed by a server in the above embodiment Split method.
  • the computer readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), Tapes, floppy disks, and optical data storage devices.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据分区拆分方法、装置、服务器及存储介质,属于存储技术领域。所述方法包括:接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;解析所述拆分策略更新指令,得到所述拆分策略;加载所述拆分策略;基于所述拆分策略,对待拆分的数据分区进行拆分。本申请中服务器更新的拆分策略在本次运行过程中即可生效,而无需重启,避免了业务的中断,极大地提高了更新拆分策略的效率。

Description

数据分区拆分方法、装置、服务器及存储介质
本申请要求于2018年02月28日提交的申请号为201810166045.4、发明名称为“数据分区拆分方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,特别涉及一种数据分区拆分方法、装置、服务器及存储介质。
背景技术
Region(数据分区)是指Hbase(一种分布式存储系统)中分布式存储的最小单元,Hbase包括大量HRegionserver(存储和管理数据分区的服务器,以下简称服务器),不同数据分区可以分布在不同服务器中,以保证大量服务器之间实现负载均衡。在服务器运行的过程中,数据分区存储的数据量会随着数据的不断插入逐渐变大,当数据分区存储的数据量过大时,服务器需要对数据分区进行拆分,以分散数据分区存储的数据量。
每当服务器启动时,会加载预先存储的配置文件,获取配置文件中的拆分策略,在运行过程中服务器始终基于该拆分策略,对Hbase中的每个数据表的每个数据分区进行拆分。其中,当开发人员需要更新拆分策略时,可以更新配置文件中的拆分策略,并重启服务器,服务器重启时,会再次加载配置文件,获取配置文件中的拆分策略,从而得到更新的拆分策略,则服务器本次运行过程中会基于更新的拆分策略,对每个数据分区进行拆分。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
每当更新拆分策略时,服务器必须重启才能基于更新的拆分策略运行,导致服务器的业务中断,更新拆分策略的实际效率较低。
发明内容
本申请实施例提供了一种数据分区拆分方法、装置、服务器及存储介质,能够解决相关技术中更新拆分策略的效率较低的问题。所述技术方案如下:
第一方面,提供了一种数据分区拆分方法,所述方法包括:
接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
解析所述拆分策略更新指令,得到所述拆分策略;
加载所述拆分策略;
基于所述拆分策略,对待拆分的数据分区进行拆分。
本申请实施例提供的方法,提供了一种动态加载拆分策略的方式,当获取到拆分策略更新指令时,即会加载并运行拆分策略更新指令携带的拆分策略,从而在基于拆分策略对数据分区进行拆分,由于更新的拆分策略在本次运行过程中即可生效,服务器无需重启,避免了业务的中断,极大地提高了更新拆分策略的效率。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分之前,所述方法还包括:
获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或,
获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对待拆分的数据分区进行拆分;和/或,
获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对待拆分的数据分区进行拆分。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;
当待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;
当待拆分的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
在一种可能的设计中,所述拆分策略用于指示数据分区的拆分起始点,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括以下至少一项:
当所述拆分策略指示待拆分的数据分区的头部时,从待拆分的数据分区的头部之前开始拆分;
当所述拆分策略指示待拆分的数据分区的尾部时,从待拆分的数据分区的尾部之后开始拆分;
当所述拆分策略指示待拆分的数据分区的中间位置时,从待拆分的数据分区的中间位置开始拆分。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分之前,所述方法还包括:
获取所述拆分策略中的拆分点指令;
根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
在一种可能的设计中,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,
获取所述拆分策略中的拆分份数,将待拆分的数据分区拆分为所述拆分份数个子数据分区。
第二方面,提供了一种数据分区拆分装置,所述装置包括:
接收模块,用于接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
解析模块,用于解析所述拆分策略更新指令,得到所述拆分策略;
加载模块,用于加载所述拆分策略;
拆分模块,用于基于所述拆分策略,对待拆分的数据分区进行拆分。
在一种可能的设计中,所述装置还包括:
获取模块,用于获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或,获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
在一种可能的设计中,所述拆分模块,用于获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对待拆分的数据分区进行拆分;和/或,获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对待拆分的数据分区进行拆分。
在一种可能的设计中,所述拆分模块,用于获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;当待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
在一种可能的设计中,所述拆分模块,用于获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;当待拆分 的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
在一种可能的设计中,所述拆分策略用于指示数据分区的拆分起始点,所述拆分模块,用于执行以下至少一项:
当所述拆分策略指示待拆分的数据分区的头部时,从待拆分的数据分区的头部之前开始拆分;
当所述拆分策略指示待拆分的数据分区的尾部时,从待拆分的数据分区的尾部之后开始拆分;
当所述拆分策略指示待拆分的数据分区的中间位置时,从待拆分的数据分区的中间位置开始拆分。
在一种可能的设计中,所述拆分模块,还用于获取所述拆分策略中的拆分点指令;根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
在一种可能的设计中,所述拆分模块,用于获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,获取所述拆分策略中的拆分份数,将待拆分的数据分区拆分为所述拆分份数个子数据分区。
第三方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述第一方面以及第一方面的任一种可能设计中的数据分区拆分方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述第一方面以及第一方面的任一种可能设计中的数据分区拆分方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据分区拆分方法的流程图;
图2是本申请实施例提供的一种数据分区拆分方法的流程图;
图3是本申请实施例提供的一种数据分区拆分方法的示意图;
图4是本申请实施例提供的一种数据分区拆分方法的示意图;
图5是本申请实施例提供的一种数据分区拆分方法的示意图;
图6是本申请实施例提供的一种存储服务模块的结构示意图;
图7是本申请实施例提供的一种管理服务模块的结构示意图。
图8是本申请实施例提供的一种数据分区拆分装置的结构示意图;
图9是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了方便理解,下面先对本申请实施例中涉及的名词进行解释:
Hbase:是一种分布式存储系统,用于海量结构化地存储数据,Hbase的系统架构中包括大量的Client(客户端)、大量的HRegionserver(服务器)以及HMaster(主节点),其中服务器是Hbase的核心,每个服务器可以存储和管理大量数据分区。
数据分区:Hbase中分布式存储的最小单元。在Hbase系统中,每个数据表(table)可以包括n个数据分区,而不同的数据分区可以分布在不同的服务器,以保证服务器的负载均衡。
Hbase热点问题:是指大量的Client访问Hbase的一个或少数几个服务器,造成少数服务器的读/写请求过多、负载过大,而其他服务器负载却很小的负载不均衡的问题。如果某个服务器中某一数据分区的数据量较大,该数据分区容易成为热点数据分区,导致该服务器出现热点问题,因此服务器需要及时而准确地拆分数据分区,以避免热点问题。
拆分风暴:是指Hbase中大量数据分区的数据量过大,导致服务器面临要拆分大量数据分区的情况。由于每次拆分数据分区的过程会为服务器带来一定的业务负担,当面临拆分风暴时,服务器的业务负担过重,容易影响服务器的性能,因此应当避免拆分风暴。
图1是本申请实施例提供的一种数据分区拆分方法的流程图,参见图1,该方法包括:
101、接收拆分策略更新指令,该拆分策略更新指令至少携带拆分策略。
102、解析该拆分策略更新指令,得到该拆分策略。
103、加载该拆分策略。
104、基于该拆分策略,对待拆分的数据分区进行拆分。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分 之前,该方法还包括:
获取该拆分策略更新指令携带的数据表标识;获取该数据表标识对应的数据表中的每个数据分区,作为该待拆分的数据分区;或,
获取已存储的每个数据表的每个数据分区,作为该待拆分的数据分区。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分,包括:
获取该拆分策略中的拆分有效期,该拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于该拆分有效期时,对待拆分的数据分区进行拆分;和/或,
获取该拆分策略中的拆分时间段;在当前时间点属于该拆分时间段时,对待拆分的数据分区进行拆分。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分,包括:
获取该拆分策略中的不可拆分数据分区信息,该不可拆分数据分区信息用于指示不可拆分的数据分区;
当待拆分的数据分区不属于该不可拆分的数据分区时,对该待拆分的数据分区进行拆分。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分,包括:
获取该拆分策略中的预设数据量,该预设数据量为允许一个数据分区存储的数据量的最大值;
当待拆分的数据分区存储的数据量达到该预设数据量时,对该待拆分的数据分区进行拆分。
在一种可能的设计中,该拆分策略用于指示数据分区的拆分起始点,该基于该拆分策略,对待拆分的数据分区进行拆分,包括以下至少一项:
当该拆分策略指示待拆分的数据分区的头部时,从待拆分的数据分区的头部之前开始拆分;
当该拆分策略指示待拆分的数据分区的尾部时,从待拆分的数据分区的尾部之后开始拆分;
当该拆分策略指示待拆分的数据分区的中间位置时,从待拆分的数据分区的中间位置开始拆分。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分之前,该方法还包括:
获取该拆分策略中的拆分点指令;
根据该拆分点指令,确定该拆分策略指示的拆分起始点。
在一种可能的设计中,该基于该拆分策略,对待拆分的数据分区进行拆分, 包括:
获取该拆分策略中的历史拆分指令,该历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对该待拆分的数据分区进行拆分;基于该历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将待拆分的数据分区拆分为该历史拆分份数个子数据分区;或,
获取该拆分策略中的拆分份数,将待拆分的数据分区拆分为该拆分份数个子数据分区。
相关技术中,服务器仅会在启动时加载配置文件从而获取拆分策略,而在运行过程中服务器不会重新加载配置文件,而是固定地按照启动时得到的拆分策略对数据分区进行拆分,灵活性差。在服务器运行的过程中,若开发人员想要更新拆分策略,必须在更新了服务器的配置文件中的拆分策略后,重启服务器,以保证服务器在重启时再次加载并运行更新的配置文件,此时更新的拆分策略才会生效,这就造成了业务的中断,并且更新拆分策略的效率很低。
而本申请实施例中,对服务器加载拆分策略的处理逻辑进行了改进,设计了一种动态加载拆分策略的方式:每当服务器获取到拆分策略更新指令时,即会加载并运行拆分策略更新指令中携带的拆分策略,从而基于更新的拆分策略拆分数据分区,即,更新的拆分策略在本次运行过程中即可生效,服务器无需重启,避免了业务的中断,极大地提高了更新拆分策略的效率。
本申请实施例可以应用在Hbase中服务器拆分数据分区的场景,应用本申请实施例提供的方法,服务器可以动态地配置数据分区的拆分策略,在线即可完成添加以及更新拆分策略的过程,而无需断电重启。进一步地,服务器在面对不同业务需求时可以灵活地在线调整拆分策略,极大地提高了灵活性。
图2是本申请实施例提供的一种数据分区拆分方法的流程图,该发明实施例的执行主体为服务器,参见图2,该方法包括:
201、服务器接收拆分策略更新指令。
本实施例中,服务器在运行过程中可以接收拆分策略更新指令,具体地,服务器可以提供更新拆分策略的接口,当向该更新拆分策略的接口传入拆分策略时,服务器会接收到拆分策略更新指令。该更新拆分策略的接口可以称为addTableDescriptor。
拆分策略更新指令:针对拆分策略更新指令的内容,拆分策略更新指令至少携带拆分策略,可选地,拆分策略更新指令还可以携带拆分策略标识、数据表标识等。拆分策略标识用于标识对应的拆分策略,可以为拆分策略的名称、编号等,可以定义为变量spiltname。数据表标识用于唯一确定对应的数据表,可以为数据表的名称、编号等,可以定义为变量tablename。针对拆分策略更新指令的功能,拆分策略更新指令用于更新服务器已存储的拆分策略,可以用于 向服务器新添加一个拆分策略,或者将服务器已有的拆分策略替换为拆分策略更新指令所携带的拆分策略。
拆分策略:是指对数据分区进行拆分的策略,可以包括拆分有效期、拆分时间段、不可拆分数据分区信息、预设数据量、拆分点指令、拆分份数中的至少一项。其中,拆分有效期的概念和作用详见以下步骤204,拆分时间段的概念和作用详见以下步骤205,不可拆分数据分区信息的概念和作用详见以下步骤206,预设数据量的概念和作用详见以下步骤207,拆分点指令以及拆分份数的概念和作用详见以下步骤208。
202、服务器解析拆分策略更新指令,得到拆分策略,加载该拆分策略。
服务器获取到拆分策略更新指令时,可以解析拆分策略更新指令,得到拆分策略更新指令携带的拆分策略,将拆分策略加载至内存中,并基于拆分策略运行,以执行如后续步骤203至步骤208中的操作,从而实现对数据分区进行拆分的功能。另外,可以对拆分策略进行持久化存储,例如将拆分策略存储至HDFS(Hadoop Distributed File System,分布式文件系统)中,以保证下次启动时可以从HDFS中加载拆分策略。
可选地,服务器可以存储拆分策略标识与拆分策略之间的对应关系,该对应关系中的每个拆分策略为服务器已存储的拆分策略。当拆分策略更新指令携带拆分策略标识时,服务器可以基于该拆分策略标识查询拆分策略标识与拆分策略之间的对应关系,当在该对应关系查询到该拆分策略标识时,表明本地已存储了拆分策略标识对应的拆分策略,需要对本地存储的拆分策略进行更新,则服务器将本地存储的拆分策略替换为拆分策略更新指令携带的拆分策略。而当在该对应关系未查询到该拆分策略标识时,表明本地尚未存储拆分策略标识对应的拆分策略,需要存储新的拆分策略,则服务器存储该拆分策略更新指令携带的拆分策略,并对应地存储拆分策略更新指令中的拆分策略标识。
203、服务器确定待拆分的数据分区。
当服务器加载了拆分策略更新指令携带的拆分策略后,可以确定待拆分的数据分区,以便后续该对待拆分的数据分区进行拆分。
针对获取待拆分的数据分区的具体方式,服务器存储的每个数据分区可以隶属于对应的数据表,而每个数据表可以具有数据表标识,拆分策略更新指令可以携带数据表标识,服务器可以获取拆分策略更新指令携带的数据表标识,获取数据表标识对应的数据表中的每个数据分区,作为待拆分的数据分区。可选地,在获取到数据表标识之后,服务器可以存储数据表标识和拆分策略之间的对应关系,以便再次启动时可以通过该对应关系确定数据表对应的拆分策略。
通过这种获取待拆分的数据分区的方式,可以达到以下技术效果:
相关技术中,服务器存储的配置文件中的拆分策略的作用域为整个Hbase,即,服务器会统一地基于相同的拆分策略,对大量数据表的大量数据分区进行 拆分,局限性强,不具备灵活性。
而本实施例中,每个拆分策略的作用域可以为某一个或多个数据表,当服务器获取某一拆分策略对应的数据表的数据分区后,可以只针对该数据分区基于该拆分策略进行拆分,而不针对该数据分区以外的数据分区基于该拆分策略进行拆分,从而提高了拆分数据分区的精确性。
进一步地,服务器可以同时加载并运行多个拆分策略,对每个数据表分别基于对应的拆分策略拆分数据分区,例如对数据表1中的数据分区基于拆分策略A进行拆分,对数据表2中的数据分区基于拆分策略B进行拆分,从而实现了多粒度地配置拆分策略,极大地提高了灵活性,能够满足精细化地控制每个数据表的拆分策略的需求。
另外,拆分策略更新指令也可以缺省数据表标识,则服务器可以直接获取已存储的每个数据表的每个数据分区,作为待拆分的数据分区。
204、服务器确定当前日期属于拆分策略中的拆分有效期。
本实施例中,拆分策略可以包括拆分有效期,拆分有效期是指对数据分区进行拆分的日期范围。当拆分策略中包括拆分有效期时,服务器可以获取拆分策略中的拆分有效期,判断当前日期是否属于拆分有效期,在当前日期属于拆分有效期时,确定可以对待拆分的数据分区进行拆分,则继续执行以下步骤204,而在当前日期不属于拆分有效期时,不对待拆分的数据分区进行拆分。
示例性地,假设拆分策略携带的拆分有效期为2017年11月8日至2017年11月12日,如果当前日期为2017年11月11日,服务器会基于拆分策略进行拆分,如果当前日期为2017年10月8日,服务器不会基于拆分策略进行拆分。
进一步地,服务器通过运行具有拆分有效期的拆分策略,可以实现定期执行拆分策略的功能:服务器可以在运行拆分策略的过程中,实时判断当前日期是否属于拆分有效期,以便在确定当前日期属于拆分有效期时拆分数据分区。可选地,服务器可以启动定时器,将定时器的日期设置为拆分有效期的起始日期,在当前日期到达拆分有效期的起始日期时,自动对待拆分的数据分区进行拆分。
需要说明的是,拆分有效期可以包括多种精确度,例如可以精确到年月日,也可以精确到年月,也可以精确到月日。假设拆分有效期包括X年Y月Z日,服务器可以将X年Y月的Z日作为拆分有效期,假设拆分有效期包括X年Y月,服务器可以将X年Y月的每一天作为拆分有效期,假设拆分有效期包括Y月Z日,服务器可以将每一年的Y月的Z日作为拆分有效期。
本步骤中,通过设计拆分策略中包括拆分有效期,并设计服务器在确定当前日期属于拆分有效期时再拆分数据分区,可以达到以下技术效果:
第一,极大地提高拆分数据分区的灵活性:服务器可以根据当前日期以及拆分有效期来确定是否要基于拆分策略拆分数据分区,而不会固定地一旦运行 拆分策略,就基于拆分策略拆分数据分区。同时,开发人员可以根据业务需求设置拆分策略中的拆分有效期,则服务器运行拆分策略以拆分数据分区时,能够保证拆分数据分区的日期满足业务需求。
第二,保证拆分数据分区的时效性:在实施中,开发人员可以预先设置某一未来的日期范围作为拆分有效期,并向服务器导入携带该拆分有效期的拆分策略,则服务器运行该拆分策略时,会具有定期功能,当前暂时不基于拆分策略拆分数据分区,而在当前日期达到拆分有效期时,自动拆分数据分区,如此,无需开发人员临时导入拆分策略,提高了拆分数据分区的时效性,效率较高。
在一个示例性场景中,假设服务器为购物应用关联的服务器,服务器存储的数据分区中的数据为消费记录、优惠信息、商品信息等数据,考虑到双十一来临时,可能会出现大量客户端频繁访问服务器,服务器存储的数据量迅猛增长的情况,可以预先设置11月11日为拆分有效期,则服务器在11月11日之前,暂时不会基于拆分策略对数据分区进行拆分,在当前日期到达11月11日时,自动基于拆分策略对数据分区进行拆分,从而保证及时地拆分数据分区,避免由于数据分区中数据激增引发热点问题。
205、服务器确定当前时间点属于拆分策略中的拆分时间段。
本实施例中,拆分策略可以包括拆分时间段,拆分时间段是指对数据分区进行拆分的时间点范围,当拆分策略包括拆分时间段时,服务器可以获取拆分策略中的拆分时间段,判断当前时间点是否属于拆分时间段,在当前时间点属于拆分时间段时,对待拆分的数据分区进行拆分,则继续执行以下步骤205,而在当前日期不属于拆分时间段时,不对待拆分的数据分区进行拆分。
示例性地,假设拆分策略携带的拆分时间段为20:00-22:00,如果当前时间点为12:00,服务器不会基于拆分策略进行拆分,如果当前时间点为21:00,则基于拆分策略进行拆分。
进一步地,服务器通过运行具有拆分时间段的拆分策略,可以实现定时执行拆分策略的功能:服务器可以在运行拆分策略的过程中,实时判断当前时间点是否属于拆分时间段,以便在确定当前时间点属于拆分时间段时拆分数据分区。可选地,服务器可以启动定时器,将定时的时间点设置为拆分时间段的起始时间点,在运行定时器的过程中,在当前时间点到达拆分时间段的起始时间点时,服务器会对待拆分的数据分区进行拆分。
本步骤中,通过设计拆分策略中包括拆分时间段,并设计服务器在确定当前时间点属于拆分时间段时再拆分数据分区,可以达到以下技术效果:
第一,极大地提高拆分数据分区的灵活性:服务器可以根据当前时间点以及拆分时间段来确定是否要基于拆分策略拆分数据分区,而不会固定地一旦运行拆分策略,就基于拆分策略拆分数据分区。同时,开发人员可以根据业务需求设置拆分策略中的拆分时间段,则服务器运行拆分策略以拆分数据分区时, 能够保证拆分数据分区的时间点满足业务需求。
第二,保证拆分数据分区的时效性:在实施中,开发人员可以预先设置某一尚未达到的时间段作为拆分时间段,并向服务器导入携带该拆分时间段的拆分策略,则服务器运行该拆分策略时,会具有定时功能,当前暂时不基于拆分策略拆分数据分区,而在当前时间点达到拆分时间段时,自动拆分数据分区,如此,无需开发人员临时导入拆分策略,提高了拆分数据分区的时效性,效率较高。
在一个示例性场景中,假设服务器为购物应用关联的服务器,服务器存储的数据分区中的数据为消费记录、优惠信息、商品信息等数据,该购物应用计划推出凌晨抢购的活动,可以预先设置凌晨时间段为拆分时间段,则服务器会在白天以及其他非凌晨时间段不会基于拆分策略对数据分区进行拆分,在当前时间点达到凌晨时间段时,自动基于拆分策略对数据分区进行拆分,从而保证及时地拆分数据分区,避免由于数据分区中数据激增引发热点问题。
206、服务器确定待拆分的数据分区不属于拆分策略指示的不可拆分的数据分区。
本实施例中,拆分策略可以包括不可拆分数据分区信息,不可拆分数据分区信息用于指示不可拆分的数据分区。当拆分策略包括不可拆分数据分区信息时,服务器可以获取拆分策略中的不可拆分数据分区信息,判断待拆分的数据分区是否属于不可拆分数据分区信息指示的不可拆分的数据分区,当待拆分的数据分区不属于不可拆分的数据分区时,则继续执行以下步骤207,对待拆分的数据分区进行拆分,而在待拆分的数据分区属于不可拆分的数据分区时,不对待拆分的数据分区进行拆分。
其中,不可拆分数据分区信息可以为列表、数组或集合,当然也可以采用程序语言中的其他数据结构,不可拆分数据分区信息可以包括不可拆分的数据分区的标识,以指示不可拆分的数据分区。
需要说明的是,不可拆分数据分区信息所指示的不可拆分的数据分区可以为一个或多个,示例性地,假设拆分策略携带的不可拆分数据分区信息指示数据分区1至数据分区8,如果待拆分的数据分区为数据分区5,则服务器不会基于拆分策略进行拆分,如果待拆分的数据分区为数据分区10,则服务器会基于拆分策略进行拆分。
本步骤中,通过设计拆分策略中包括不可拆分数据分区信息,并设计服务器在确定待拆分数据分区不属于不可拆分的数据分区时,再拆分数据分区,可以达到以下技术效果:
第一,极大地提高拆分数据分区的灵活性:服务器可以根据不可拆分数据分区信息来确定是否要拆分某个数据分区,而不会固定地拆分所有数据分区,灵活性高。同时,开发人员可以根据业务需求自定义地设置拆分策略中的不可 拆分数据分区信息,保证服务器根据不可拆分数据分区信息拆分数据分区时,拆分对象能够满足业务需求。
第二,避免误拆分数据分区的情况:考虑到对于一些写入数据较早或者访问频率较高的数据分区来说,拆分这些数据分区后容易引起故障,例如出现客户端无法寻访拆分后的数据分区的情况,则可以预先将这些数据分区作为不可拆分数据分区,并设置拆分策略中的不可拆分数据分区信息,以保证服务器不会误拆分这些数据分区。
207、服务器确定待拆分的数据分区的数据量达到预设数据量。
本实施例中,拆分策略可以包括预设数据量,预设数据量为允许一个数据分区存储的最大数据量,当拆分策略包括预设数据量时,服务器可以获取拆分策略中的预设数据量,并获取待拆分的数据分区存储的数据量,判断该数据量是否达到该预设数据量,当该数据量达到预设数据量时,对数据分区进行拆分,则继续执行以下步骤207,当该数据量未达到预设数据量时,不对待拆分的数据分区进行拆分。
示例性地,假设拆分策略包括的预设数据量为100M,如果数据分区存储的数据量为10M,服务器不会基于拆分策略对数据分区进行拆分,如果数据分区存储的数据量为150M,则基于拆分策略对数据分区进行拆分。
综上所述,以上步骤204至步骤207提供了确认待拆分的数据分区可以进行拆分的过程。需要说明的是,上述仅是以按照步骤204-步骤205-步骤206-步骤207的顺序依次执行每个步骤为例进行说明,在实际应用中可以采用任意顺序依次执行每个步骤,例如可以按照步骤207-步骤206-步骤204-步骤205的顺序执行每个步骤。进一步地,步骤204至步骤207可以采用任意结合的方式形成确认待拆分的数据分区可以进行拆分的过程,服务器可以只执行步骤204至步骤207中的一个或多个,即执行下述步骤208。另外,步骤204至步骤207仅是可选步骤,在实施中,服务器也可以执行步骤203后,即执行步骤208。
208、服务器基于拆分策略,对待拆分的数据分区进行拆分。
当服务器确定可以对待拆分的数据分区进行拆分时,可以基于拆分策略对待拆分的数据分区进行拆分,得到多个子数据分区,从而通过多个子数据分区分散待拆分数据分区存储的数据量。
对待拆分的数据分区进行拆分的过程具体可以包括以下步骤一至步骤三:
步骤一、基于拆分策略确定拆分份数。
拆分策略可以指示对待拆分数据分区的拆分份数,该拆分份数是指拆分后得到的子数据分区的数量,当拆分策略指示拆分份数时,服务器可以基于拆分策略确定拆分份数,以保证拆分后的数据分区的数量为该拆分份数。
在一种可能的设计中,拆分策略可以包括拆分份数,服务器可以获取拆分策略中的拆分份数,以便将待拆分的数据分区拆分为拆分份数个子数据分区。
在另一种可能的设计中,拆分策略可以包括历史拆分指令,历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对数据分区进行拆分,服务器可以获取拆分策略中的历史拆分指令,基于历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数,将该历史拆分份数作为本次拆分数据分区的拆分份数,以便将待拆分的数据分区拆分为该历史拆分份数个子数据分区。
针对基于历史拆分指令获取历史拆分份数的过程,服务器会预先在每次拆分数据分区时,在历史拆分记录中记录本次的拆分份数,当获取到历史拆分指令后,可以查询历史拆分记录,得到历史拆分份数。
可选地,历史拆分指令可以携带历史日期,服务器可以基于该历史日期查询历史拆分记录,在历史拆分记录中得到在该历史日期拆分数据分区的数量,得到历史拆分份数。示例性地,历史拆分指令可以携带2016年12月12日,则服务器获取2016年12月12日的拆分份数为M,将M作为历史拆分份数。
可选地,历史拆分指令可以携带历史日期范围,服务器可以基于该历史日期范围查询历史拆分记录,在历史拆分记录得到在该历史日期范围中每天的拆分份数,得到多个拆分份数,计算该多个拆分份数的平均值,作为历史拆分份数。示例性地,历史拆分指令可以携带2016年12月,则服务器获取2016年12月每天的拆分份数,得到31个拆分份数,计算这31个拆分份数的平均值,将平均值作为历史拆分份数。
步骤二、基于拆分策略确定拆分起始点。
本实施例中,拆分策略可以指示数据分区的拆分起始点,服务器可以基于拆分策略,确定拆分起始点,以便从该拆分起始点开始对待拆分的数据分区进行拆分。其中,拆分点指令指示的拆分起始点可以包括数据分区的头部、数据分区的中间和数据分区的尾部中的至少一项。
在一种可能的实现方式中,拆分策略中可以包括拆分点指令,拆分策略可以通过拆分点指令指示数据分区的拆分起始点,当拆分策略包括拆分点指令时,服务器可以获取拆分策略中的拆分点指令,确定拆分点指令指示的拆分起始点,以便从该拆分起始点开始对待拆分的数据分区进行拆分。
可选地,拆分点指令可以携带拆分点标识,服务器可以通过拆分点标识确定拆分点指令指示的拆分起始点,例如,当拆分点指令携带“top”时,可以确定拆分点指令指示的拆分起始点为数据分区的头部,当拆分点指令携带“middle”时,可以确定拆分点指令指示的拆分起始点为数据分区的中间,当拆分点指令携带“bottom”时,可以确定拆分点指令指示的拆分起始点为数据分区的尾部。
步骤三、基于拆分份数和拆分起始点,对待拆分的数据分区进行拆分。
本实施例中,当拆分起始点不同时,对待拆分的数据分区的拆分方式也不同,基于拆分起始点对待拆分的数据分区进行拆分的过程可以包括以下设计(1) 至设计(3)中的至少一项,例如可以择一执行以下设计(1)至设计(3)中的任一项,或执行以下设计(1)至设计(3)中任意多项的任意组合,例如两两组合、三者组合等,本实施例对此不做限定。
设计(1)头部拆分方式:
当拆分策略指示数据分区的头部时,服务器可以从数据分区的头部之前拆分。具体来说,任意两个相邻的数据分区之间可以存在数据缺口,当服务器确定要对待拆分的数据分区的头部之前拆分时,可以获取待拆分的数据分区与该待拆分数据分区的前一个数据分区之间的数据缺口,从该数据缺口的任一位置进行拆分。
示例性地,参见图3,假设待拆分的数据分区为Region2,拆分份数为3,服务器对Region2进行头部拆分时,可以将Region2与Region1之间的数据缺口拆分为子Region1和子Region2,同时将Region2作为拆分后的子Region3,从而得到3个拆分后的数据分区:子Region1、子Region2和子Region3。
设计(2)中间位置拆分方式:
当拆分策略指示待拆分的数据分区的中间位置时,服务器可以从待拆分的数据分区的中间位置开始拆分。具体来说,服务器可以获取待拆分的数据分区的首行与尾行,根据首行和尾行计算待拆分的数据分区的中间行,从中间行开始拆分,例如假设待拆分的数据分区为第100行至第201行,服务器可以计算中间行为第150行,从第150行开始拆分,得到第100行-第150行的子数据分区以及第151行-第201行的数据分区。
示例性地,参见图4,假设待拆分的数据分区为Region2,拆分份数为3,服务器对Region2进行中间拆分时,可以从Region2的中间开始一分为二,拆分出两个等大的子Region,分别为子Region1和子Region2。
设计(3)尾部拆分方式:
当拆分策略指示数据分区的尾部时,从数据分区的尾部之后开始拆分。具体来说,服务器确定要对待拆分的数据分区的尾部之后开始拆分,可以获取待拆分的数据分区与该待拆分数据分区的后一个数据分区之间的数据缺口,从该数据缺口的任一位置进行拆分。
示例性地,参见图5,假设待拆分的数据分区为Region2,拆分份数为4,服务器对Region2进行尾部拆分时,可以将Region2与Region3之间的数据缺口拆分为子Region1、子Region2和子Region3,同时将Region2作为拆分后的子Region4,从而得到4个拆分后的Region:子Region1、子Region2、子Region3和子Region4。
可选地,在采用以上设计(1)至设计(3)中的任一种设计进行拆分的过程中,服务器可以实时统计已拆分的子数据分区的数量,当已拆分的子数据分区的数量尚未达到拆分份数时,继续进行拆分,当拆分的子数据分区的数量已 经达到拆分份数时,则结束对数据分区进行拆分,最终得到拆分份数个子数据分区。
结合以上设计(1)至设计(3),本实施例扩展了拆分方式,极大地提高了灵活性:传统的Hbase固定地以待拆分数据分区的中间位置为拆分起始点,而本实施例新增了头部拆分方式和尾部拆分方式,扩展了用户的选择空间,用户可以根据实际业务需求在拆分策略中设置头部拆分方式、中间拆分方式和尾部拆分方式中的任一种,则服务器基于拆分策略进行拆分时,能够保证拆分起始点符合实际业务需求。
需要说明的是,在实施中,可以在服务器中增加两个虚拟功能模块:存储服务模块以及管理服务模块,由这两个虚拟功能模块在运行过程中进行交互来执行上述每个步骤。其中,存储服务模块的结构示意图参见图6,存储服务模块用于提供存储服务功能,当更新拆分策略时,存储服务模块可以用于缓存拆分策略,并向HDFS中写入拆分策略。当删除拆分策略时,存储服务模块可以从HDFS删除拆分策略,当查询以及获取拆分策略时,存储服务模块可以从HDFS中获取拆分策略。管理服务模块的结构示意图参见图7,管理服务模块用于提供管理服务接口,例如提供添加拆分策略的接口、删除拆分策略的接口、获取拆分策略的接口以及完成拆分功能的接口等,并通过调用存储服务模块完成对拆分策略数据的创建、删除、查询等功能。
本申请实施例提供的方法,提供了一种动态加载拆分策略的方式,当获取到拆分策略更新指令时,即会加载并运行拆分策略更新指令携带的拆分策略,从而在基于拆分策略对数据分区进行拆分,由于更新的拆分策略在本次运行过程中即可生效,服务器无需重启,避免了业务的中断,极大地提高了更新拆分策略的效率。
进一步地,通过设置了包含拆分有效期、拆分时间段、不可拆分数据分区信息、预设数据量、拆分点指令、拆分份数等信息的拆分策略,能够及时而有效地拆分数据分区,维持每个数据分区存储的数据量保持在合理的范围内,不会出现大量数据分区的数据量过大而导致服务器面临拆分风暴的情况,保证了服务器运行的安全性。
图8是本申请实施例提供的一种数据分区拆分装置的结构示意图。参见图8,该装置包括:接收模块801、解析模块802、加载模块803和拆分模块804。
接收模块801,用于接收拆分策略更新指令,该拆分策略更新指令至少携带拆分策略;
解析模块802,用于解析该拆分策略更新指令,得到该拆分策略;
加载模块803,用于加载该拆分策略;
拆分模块804,用于基于该拆分策略,对待拆分的数据分区进行拆分。
在一种可能的设计中,该装置还包括:
获取模块,用于获取该拆分策略更新指令携带的数据表标识;获取该数据表标识对应的数据表中的每个数据分区,作为该待拆分的数据分区;或,获取已存储的每个数据表的每个数据分区,作为该待拆分的数据分区。
在一种可能的设计中,该拆分模块804,用于获取该拆分策略中的拆分有效期,该拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于该拆分有效期时,对待拆分的数据分区进行拆分;和/或,获取该拆分策略中的拆分时间段;在当前时间点属于该拆分时间段时,对待拆分的数据分区进行拆分。
在一种可能的设计中,该拆分模块804,用于获取该拆分策略中的不可拆分数据分区信息,该不可拆分数据分区信息用于指示不可拆分的数据分区;当待拆分的数据分区不属于该不可拆分的数据分区时,对该待拆分的数据分区进行拆分。
在一种可能的设计中,该拆分模块804,用于获取该拆分策略中的预设数据量,该预设数据量为允许一个数据分区存储的数据量的最大值;当待拆分的数据分区存储的数据量达到该预设数据量时,对该待拆分的数据分区进行拆分。
在一种可能的设计中,该拆分策略还用于指示数据分区的拆分起始点,该拆分模块804,用于执行以下至少一项:
当该拆分策略指示待拆分的数据分区的头部时,从待拆分的数据分区的头部之前开始拆分;
当该拆分策略指示待拆分的数据分区的尾部时,从待拆分的数据分区的尾部之后开始拆分;
当该拆分策略指示待拆分的数据分区的中间位置时,从待拆分的数据分区的中间位置开始拆分。
在一种可能的设计中,该拆分模块804,还用于获取该拆分策略中的拆分点指令;根据该拆分点指令,确定该拆分策略指示的拆分起始点。
在一种可能的设计中,该拆分模块804,用于获取该拆分策略中的历史拆分指令,该历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对该待拆分的数据分区进行拆分;基于该历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将待拆分的数据分区拆分为该历史拆分份数个子数据分区;或,获取该拆分策略中的拆分份数,将待拆分的数据分区拆分为该拆分份数个子数据分区。
图9是本申请实施例提供的一种服务器的结构示意图,服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)901和一个或一个以上的存储器902,其中,该存储器902中存储有至少一条指令,该至少一条指令由该处理器901加载并执行以实现 如下数据分区拆分方法:
接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
解析所述拆分策略更新指令,得到所述拆分策略;
加载所述拆分策略;
基于所述拆分策略,对待拆分的数据分区进行拆分。
在一种可能实现方式中,所述处理器还用于执行:
获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或,
获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
在一种可能实现方式中,所述处理器用于执行:
获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对待拆分的数据分区进行拆分;和/或,
获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对待拆分的数据分区进行拆分。
在一种可能实现方式中,所述处理器用于执行:
获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;
当待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
在一种可能实现方式中,所述处理器用于执行:
获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;
当待拆分的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
在一种可能实现方式中,所述拆分策略还用于指示数据分区的拆分起始点,所述处理器用于执行以下至少一项:
当所述拆分策略指示待拆分的数据分区的头部时,从待拆分的数据分区的头部之前开始拆分;
当所述拆分策略指示待拆分的数据分区的尾部时,从待拆分的数据分区的尾部之后开始拆分;
当所述拆分策略指示待拆分的数据分区的中间位置时,从待拆分的数据分区的中间位置开始拆分。
在一种可能实现方式中,所述处理器还用于执行:
获取所述拆分策略中的拆分点指令;
根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
在一种可能实现方式中,所述处理器用于执行:
获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,
获取所述拆分策略中的拆分份数,将待拆分的数据分区拆分为所述拆分份数个子数据分区。
当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,上述计算机程序被处理器执行时实现上述实施例中服务器所执行的数据分区拆分方法。例如,该计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (25)

  1. 一种数据分区拆分方法,其特征在于,所述方法包括:
    接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
    解析所述拆分策略更新指令,得到所述拆分策略;
    加载所述拆分策略;
    基于所述拆分策略,对待拆分的数据分区进行拆分。
  2. 根据权利要求1所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分之前,所述方法还包括:
    获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或,
    获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
  3. 根据权利要求1所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
    获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对所述待拆分的数据分区进行拆分;和/或,
    获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对所述待拆分的数据分区进行拆分。
  4. 根据权利要求1所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
    获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;
    当所述待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
  5. 根据权利要求1所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
    获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;
    当所述待拆分的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
  6. 根据权利要求1所述的方法,其特征在于,所述拆分策略还用于指示数据分区的拆分起始点,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括以下至少一项:
    当所述拆分策略指示所述待拆分的数据分区的头部时,从所述待拆分的数据分区的头部之前开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的尾部时,从所述待拆分的数据分区的尾部之后开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的中间位置时,从所述待拆分的数据分区的中间位置开始拆分。
  7. 根据权利要求6所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分之前,所述方法还包括:
    获取所述拆分策略中的拆分点指令;
    根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
  8. 根据权利要求1所述的方法,其特征在于,所述基于所述拆分策略,对待拆分的数据分区进行拆分,包括:
    获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将所述待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,
    获取所述拆分策略中的拆分份数,将所述待拆分的数据分区拆分为所述拆分份数个子数据分区。
  9. 一种数据分区拆分装置,其特征在于,所述装置包括:
    接收模块,用于接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
    解析模块,用于解析所述拆分策略更新指令,得到所述拆分策略;
    加载模块,用于加载所述拆分策略;
    拆分模块,用于基于所述拆分策略,对待拆分的数据分区进行拆分。
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    获取模块,用于获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或, 获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
  11. 根据权利要求9所述的装置,其特征在于,所述拆分模块,用于获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对所述待拆分的数据分区进行拆分;和/或,获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对所述待拆分的数据分区进行拆分。
  12. 根据权利要求9所述的装置,其特征在于,所述拆分模块,用于获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;当所述待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
  13. 根据权利要求9所述的装置,其特征在于,所述拆分模块,用于获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;当所述待拆分的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
  14. 根据权利要求9所述的装置,其特征在于,所述拆分策略还用于指示数据分区的拆分起始点,所述拆分模块,用于执行以下至少一项:
    当所述拆分策略指示所述待拆分的数据分区的头部时,从所述待拆分的数据分区的头部之前开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的尾部时,从所述待拆分的数据分区的尾部之后开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的中间位置时,从所述待拆分的数据分区的中间位置开始拆分。
  15. 根据权利要求14所述的装置,其特征在于,所述拆分模块,还用于获取所述拆分策略中的拆分点指令;根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
  16. 根据权利要求9所述的装置,其特征在于,所述拆分模块,用于获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将所 述待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,获取所述拆分策略中的拆分份数,将所述待拆分的数据分区拆分为所述拆分份数个子数据分区。
  17. 一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如下方法:
    接收拆分策略更新指令,所述拆分策略更新指令至少携带拆分策略;
    解析所述拆分策略更新指令,得到所述拆分策略;
    加载所述拆分策略;
    基于所述拆分策略,对待拆分的数据分区进行拆分。
  18. 根据权利要求17所述的服务器,其特征在于,所述处理器还用于执行:
    获取所述拆分策略更新指令携带的数据表标识;获取所述数据表标识对应的数据表中的每个数据分区,作为所述待拆分的数据分区;或,
    获取已存储的每个数据表的每个数据分区,作为所述待拆分的数据分区。
  19. 根据权利要求17所述的服务器,其特征在于,所述处理器用于执行:
    获取所述拆分策略中的拆分有效期,所述拆分有效期是指对数据分区进行拆分的日期范围;在当前日期属于所述拆分有效期时,对所述待拆分的数据分区进行拆分;和/或,
    获取所述拆分策略中的拆分时间段;在当前时间点属于所述拆分时间段时,对所述待拆分的数据分区进行拆分。
  20. 根据权利要求17所述的服务器,其特征在于,所述处理器用于执行:
    获取所述拆分策略中的不可拆分数据分区信息,所述不可拆分数据分区信息用于指示不可拆分的数据分区;
    当所述待拆分的数据分区不属于所述不可拆分的数据分区时,对所述待拆分的数据分区进行拆分。
  21. 根据权利要求17所述的服务器,其特征在于,所述处理器用于执行:
    获取所述拆分策略中的预设数据量,所述预设数据量为允许一个数据分区存储的数据量的最大值;
    当所述待拆分的数据分区存储的数据量达到所述预设数据量时,对所述待拆分的数据分区进行拆分。
  22. 根据权利要求17所述的服务器,其特征在于,所述拆分策略还用于指示数据分区的拆分起始点,所述处理器用于执行以下至少一项:
    当所述拆分策略指示所述待拆分的数据分区的头部时,从所述待拆分的数据分区的头部之前开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的尾部时,从所述待拆分的数据分区的尾部之后开始拆分;
    当所述拆分策略指示所述待拆分的数据分区的中间位置时,从所述待拆分的数据分区的中间位置开始拆分。
  23. 根据权利要求22所述的服务器,其特征在于,所述处理器还用于执行:
    获取所述拆分策略中的拆分点指令;
    根据所述拆分点指令,确定所述拆分策略指示的拆分起始点。
  24. 根据权利要求17所述的服务器,其特征在于,所述处理器用于执行:
    获取所述拆分策略中的历史拆分指令,所述历史拆分指令用于指示基于历史运行过程中数据分区的拆分份数对所述待拆分的数据分区进行拆分;基于所述历史拆分指令,获取历史运行过程中数据分区的拆分份数,得到历史拆分份数;将所述待拆分的数据分区拆分为所述历史拆分份数个子数据分区;或,
    获取所述拆分策略中的拆分份数,将所述待拆分的数据分区拆分为所述拆分份数个子数据分区。
  25. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求8中任一项所述的数据分区拆分方法中所执行的操作。
PCT/CN2019/076507 2018-02-28 2019-02-28 数据分区拆分方法、装置、服务器及存储介质 WO2019165996A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810166045.4 2018-02-28
CN201810166045.4A CN110209431B (zh) 2018-02-28 2018-02-28 数据分区拆分方法及装置

Publications (1)

Publication Number Publication Date
WO2019165996A1 true WO2019165996A1 (zh) 2019-09-06

Family

ID=67778670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/076507 WO2019165996A1 (zh) 2018-02-28 2019-02-28 数据分区拆分方法、装置、服务器及存储介质

Country Status (2)

Country Link
CN (1) CN110209431B (zh)
WO (1) WO2019165996A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905596B (zh) * 2021-03-05 2024-02-02 北京中经惠众科技有限公司 数据处理的方法、装置、计算机设备以及存储介质
CN113722763A (zh) * 2021-09-10 2021-11-30 北京沃东天骏信息技术有限公司 数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170452A (zh) * 2007-11-30 2008-04-30 中国电信股份有限公司 增强管理能力的内容分发网络业务提供点系统及所属网络
CN101577936A (zh) * 2008-05-09 2009-11-11 华为技术有限公司 一种通信系统中业务转发控制方法、系统和设备
CN104270390A (zh) * 2014-10-23 2015-01-07 东南大学 基于IPv6的IPSec嵌入式防火墙的系统及其操作方法
CN105868421A (zh) * 2016-06-12 2016-08-17 浪潮通用软件有限公司 一种数据管理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042148B2 (en) * 2006-02-07 2011-10-18 Cisco Technology, Inc. System and method for enforcing policy in a communication network
CN105915633B (zh) * 2016-06-02 2019-12-10 北京百度网讯科技有限公司 自动化运维系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170452A (zh) * 2007-11-30 2008-04-30 中国电信股份有限公司 增强管理能力的内容分发网络业务提供点系统及所属网络
CN101577936A (zh) * 2008-05-09 2009-11-11 华为技术有限公司 一种通信系统中业务转发控制方法、系统和设备
CN104270390A (zh) * 2014-10-23 2015-01-07 东南大学 基于IPv6的IPSec嵌入式防火墙的系统及其操作方法
CN105868421A (zh) * 2016-06-12 2016-08-17 浪潮通用软件有限公司 一种数据管理方法及装置

Also Published As

Publication number Publication date
CN110209431B (zh) 2021-04-27
CN110209431A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
US20220075641A1 (en) Tenant-controlled cloud updates
US10459898B2 (en) Configurable-capacity time-series tables
CN110196851B (zh) 一种数据存储方法、装置、设备及存储介质
US8108352B1 (en) Data store replication for entity based partition
US9874924B1 (en) Equipment rack power reduction using virtual machine instance migration
US8392482B1 (en) Versioning of database partition maps
US9628438B2 (en) Consistent ring namespaces facilitating data storage and organization in network infrastructures
US20200219028A1 (en) Systems, methods, and media for distributing database queries across a metered virtual network
CN106775946B (zh) 一种虚拟机快速创建方法
CN104113597A (zh) 一种多数据中心的hdfs数据读写系统及方法
US20240061712A1 (en) Method, apparatus, and system for creating training task on ai training platform, and medium
CN112365244B (zh) 数据生命周期管理方法和装置
CN114064414A (zh) 一种高可用的集群状态监控方法及系统
WO2019165996A1 (zh) 数据分区拆分方法、装置、服务器及存储介质
US11768856B2 (en) Method, apparatus, and management node for managing data in partition table, and storage medium
JPWO2011158300A1 (ja) 計算機システムおよびその更改方法
CN110825704A (zh) 一种读数据方法、写数据方法及服务器
US10545909B2 (en) Computing system management using shared memory
US10031777B2 (en) Method and system for scheduling virtual machines in integrated virtual machine clusters
CN105760391A (zh) 数据动态重分布的方法、数据节点、名字节点及系统
Arrieta-Salinas et al. Classic replication techniques on the cloud
JP7461468B2 (ja) トランザクション管理方法およびシステム
CN115982101B (zh) 基于多机房副本放置策略的机房数据迁移方法与装置
CN115470303B (zh) 一种数据库访问方法、装置、系统、设备及可读存储介质
CN113312328B (zh) 控制方法、数据处理方法、数据访问方法及计算设备

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: 19761366

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: 19761366

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19761366

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12.03.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19761366

Country of ref document: EP

Kind code of ref document: A1