WO2017143912A1 - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
WO2017143912A1
WO2017143912A1 PCT/CN2017/073203 CN2017073203W WO2017143912A1 WO 2017143912 A1 WO2017143912 A1 WO 2017143912A1 CN 2017073203 W CN2017073203 W CN 2017073203W WO 2017143912 A1 WO2017143912 A1 WO 2017143912A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data processing
segment
preset
processing
Prior art date
Application number
PCT/CN2017/073203
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 EP17755741.0A priority Critical patent/EP3422211B1/en
Priority to US16/078,774 priority patent/US11379271B2/en
Publication of WO2017143912A1 publication Critical patent/WO2017143912A1/zh

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Definitions

  • the present application relates to the field of distributed computing technologies, and in particular, to a data processing method and apparatus.
  • the data processing server is usually composed of a single computer. As the amount of data grows rapidly, the performance of a single computer is limited. The way computer computing power is already difficult to meet the user's data processing needs.
  • a related data processing method is provided in a related art, the method being applied to a storage server-based database system (referred to as a distributed data processing system), the distributed data processing system including a storage server, a management server, and a plurality of data processing
  • the server is divided into a plurality of data segments, and a plurality of data records are stored in each data segment.
  • the management server obtains a data processing instruction for the data to be processed, divides the stored data record into a plurality of data processing tasks according to the number of data segments in the distributed data processing system, and then divides the obtained data.
  • Each data processing task is uniformly distributed to each data processing server, and each data processing server performs data processing on the data records included in the data processing task after receiving the corresponding data processing task, and feeds the processing result back to the management server to complete the data processing. .
  • distributed data processing systems reduce the amount of data that a single computer needs to process, thus reducing the computational performance requirements of a single computer.
  • the data processing tasks are divided according to the number of data segments, and the number of data records included in each data segment is not necessarily equal, the number of data records included in each data processing task is divided. It is not necessarily the same. It can be seen that when the data processing tasks are divided according to the number of data segments and the data processing tasks are allocated to the processing server, the amount of tasks to be performed by the respective data processing servers is unbalanced, for example, for data processing with the same computing performance. Server In fact, some data processing servers have a large amount of tasks, and some data processing servers have almost zero task. Obviously, the data processing tasks assigned by each data processing server are unbalanced. Further, this This imbalance also reduces the overall processing speed of the distributed data processing system.
  • the purpose of the embodiments of the present application is to provide a data processing method and apparatus, so as to implement a balanced allocation of data records in a database of a distributed data processing system to each data processing server in the system, and improve the distributed data processing system.
  • the parallel processing speed of the data processing server thereby improving the overall processing performance of the distributed data processing system.
  • the embodiment of the present application discloses a data processing method, which is applied to a client in a distributed data processing system, where the distributed data processing system includes: a client, a task scheduler, and multiple data. Processing a server and a plurality of storage servers; the storage server stores a plurality of data segments, and each of the data segments stores a plurality of data records, and the method includes:
  • the storage server obtains data distribution information of the data records stored in any of the data segments R i according to the following steps:
  • the storage server sorts each data record in the data segment R i according to a preset identifier value
  • the data distribution information of the data records in the data segment R i is obtained according to the statistically obtained quantity.
  • the obtaining the data distribution information of the data record in the data segment R i according to the obtained quantity including:
  • N um represents the number of data records in each data section obtained by dividing the data segment R i
  • Th 1 represents a preset first number threshold
  • Th 2 represents a preset number Two number thresholds
  • Th 1 ⁇ Th 2 represents a preset number Two number thresholds
  • the obtaining the data distribution information of the data record in the data segment R i according to the obtained quantity including:
  • the data segments in the data segment R i are adjusted according to a preset interval adjustment rule, and the data recorded in the data segment R i is obtained according to the number of data records in each data segment after the adjustment.
  • the preset interval adjustment rule includes:
  • the data segment whose data record is larger than Th 1 is split into multiple sub-data segments.
  • the preset interval adjustment rule further includes:
  • the data interval whose data record is smaller than Th 2 is merged.
  • the storage server determines whether the number of data records of the data segment R i satisfies a preset data interval adjustment condition, and includes:
  • the method further includes:
  • the locally stored data distribution information is updated according to the data update notification.
  • the embodiment of the present application discloses a data processing apparatus, which is applied to a client in a distributed data processing system, where the distributed data processing system includes: a client, a task scheduler, and multiple data. a processing server and a plurality of storage servers; the storage server stores a plurality of data segments, and each of the data segments stores a plurality of data records, and the device includes:
  • Processing an instruction receiving module configured to receive a data processing instruction for the data to be processed
  • An effective data determining module configured to determine, according to the data processing instruction, a valid data segment; wherein the valid data segment is a data segment for the to-be-processed data;
  • a distribution information obtaining module configured to obtain data distribution information of the stored data records in the valid data segment; wherein the data distribution information is: a quantity of data records in each data segment according to a preset statistical rule Statistics obtained;
  • a data range dividing module configured to divide a data range of each valid data segment into at least one sub-data range according to the obtained data distribution information
  • a task generation module configured to generate, according to each sub-data range obtained by the division, a data processing task for each valid data segment; wherein, one data processing task corresponds to a sub-data range of a valid data segment;
  • Processing configured to send a data processing request for the data processing task to the task scheduler, so that the task scheduler determines, according to the data processing request, a data processing server that executes each data processing task, After the task scheduler determines the data processing server, it sends the data processing task to be processed to the determined data processing server, and receives the determined data processing by each data processing server for the allocated sub data range. result;
  • the processing result receiving module is configured to receive a processing result for the data to be processed fed back by the task scheduler.
  • the storage server includes: a data sorting sub-module, a section dividing sub-module, a data statistics sub-module, and a distribution information obtaining sub-module; wherein
  • the data sorting sub-module is configured to sort each data record in the data segment R i according to a preset identifier value
  • the sub-interval division module for the data fragments in the order of the data segment data record R i in the R i sorted sorted into at least one data interval;
  • the data statistics sub-module is configured to count the number of data records in each data interval obtained by the division;
  • the distribution information obtaining submodule is configured to obtain data distribution information of the data record in the data segment R i according to the obtained quantity.
  • the distribution information obtaining sub-module includes: a segment variance calculation unit, a variance determination unit, a first information statistics unit, and a second information statistics unit; wherein
  • the segment variance calculation unit is configured to calculate a variance of the number of data records of the data segment R i ;
  • the variance determining unit is configured to determine whether the variance is greater than a preset data segment variance threshold
  • the first information statistics unit means for determining the variance determination result is YES, it is determined whether the following expression is satisfied: N um ⁇ Th 1, or, N um ⁇ Th 2, if the count is satisfied
  • the data segment R i divides the number of data records in each data interval, and updates the data distribution information according to the statistical quantity; wherein, N um represents the data record in each data interval obtained by dividing the data segment R i Quantity, Th 1 represents a preset first number threshold, Th 2 represents a preset second number threshold, and Th 1 ⁇ Th 2 ;
  • the second information statistic unit is configured to maintain current data distribution information when the determination result of the variance determination unit is negative.
  • the distribution information obtaining submodule includes: an adjustment condition judging unit and a first interval adjusting unit; wherein
  • the adjustment condition determining unit is configured to determine whether the number of data records of the data segment R i satisfies a preset data interval adjustment condition
  • the first interval adjustment unit is configured to adjust each data interval in the data segment R i according to a preset interval adjustment rule when the determination result of the adjustment condition determination unit is satisfied, and adjust each according to the adjustment The number of data records in the data interval, obtaining data distribution information of the data records in the data segment R i ;
  • the preset interval adjustment rule includes:
  • the data interval whose number of data records is larger than Th 1 is split into multiple sub-data intervals.
  • the preset interval adjustment rule further includes:
  • the adjustment condition determination unit includes: an interval variance calculation subunit, a section variance judgment subunit, and a processing condition determination subunit; wherein
  • the interval variance calculation sub-unit is configured to calculate a variance of the number of data records in each data interval obtained by the statistics
  • the interval variance judgment subunit is configured to determine whether the calculated variance is greater than a preset variance threshold
  • the processing condition determining sub-unit is configured to determine that the number of data records of each of the data sections obtained by the statistics satisfies a preset data section processing condition when the determination result of the section variance judgment subunit is greater than.
  • the device further comprises:
  • a data update notification receiving module configured to receive a data update notification sent by the storage server if the data distribution information has been stored in the client;
  • the data distribution information update module is configured to update the locally stored data distribution information according to the data update notification.
  • the present application also discloses a client device in a distributed data processing system, the distributed data processing system further comprising: a task scheduler, a plurality of data processing servers, and a plurality of storage servers;
  • the storage server stores a plurality of data segments, and each of the data segments stores a plurality of data records;
  • the client device includes:
  • the circuit board is disposed inside the space enclosed by the housing, the processor and the memory are disposed on the circuit board; and the power circuit is configured to The various circuits or devices of the client device are powered; the memory is for storing executable program code; the processor runs the program corresponding to the executable program code by reading executable program code stored in the memory for performing the following steps:
  • the present application also discloses an application program for executing the data processing method provided by the embodiment of the present application at runtime.
  • the data processing method includes:
  • the present application further discloses a storage medium for storing an application, and the application is used to execute the data processing method provided by the embodiment of the present application.
  • the data processing method includes:
  • the client first receives a data processing instruction for the data to be processed, and determines a valid data segment according to the data processing instruction; and then, obtains the stored data in the valid data segment.
  • Data distribution information of the data record according to the data distribution information, dividing the data range of each valid data segment into at least one sub-data range; the client generates data for each valid data segment according to each sub-data range obtained by the division Processing the task and transmitting a data processing request for the data processing task to the task scheduler, so that the task scheduler determines, according to the request, a data processing server that executes each data processing task, wherein after the task scheduler determines the data processing server, The determined data processing server sends the data processing task to be processed, and receives the determined processing result of data processing performed by each data processing server for the allocated sub-data range; and receives the processing of the data to be processed fed back by the task scheduler result.
  • the data processing tasks allocated by each data processing server are allocated according to the number of data records in each data segment, and the data allocated by each data processing server is avoided.
  • the problem of unbalanced processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • 1a is a schematic structural diagram of a distributed data processing system according to an embodiment of the present application.
  • FIG. 1b is a schematic flowchart of a data processing method according to an embodiment of the present application.
  • FIG. 1c is a distribution histogram of each data interval in a data segment according to an embodiment of the present application
  • FIG. 1 is a histogram of distribution of each data interval after splitting FIG. 1c according to an embodiment of the present application
  • FIG. 1e is a distribution straightness of each data interval in another data segment according to an embodiment of the present application.
  • Figure 1f is a distribution histogram of each data interval after the merging process of Figure 1e is provided in the embodiment of the present application;
  • FIG. 1g is a schematic diagram of task assignment according to an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of another data processing method according to an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present disclosure.
  • FIG. 1a is a distributed embodiment provided by the embodiment of the present application.
  • the architecture of the data processing system specifically, the distributed data processing system shown in FIG. 1a includes: a client 101, a task scheduler 102, a plurality of data processing servers 103, and a plurality of storage servers 104; the storage server 104 stores A plurality of data segments, each of which stores a plurality of data records.
  • FIG. 1b is a schematic flowchart of a data processing method according to an embodiment of the present disclosure.
  • the data processing method may include the following steps:
  • Step S101 Receive a data processing instruction for the data to be processed.
  • This embodiment is specifically performed by a client in a distributed data processing system.
  • the data processing instruction may carry a data range for the data to be processed, and may of course not carry the data range.
  • the data range of the data to be processed may be the data range of all the data segments.
  • Step S102 Determine a valid data segment according to the data processing instruction.
  • the valid data segment is a data segment for the data to be processed.
  • the data segment for the data to be processed may be determined according to the carried data range, and the determined A valid data segment is typically a number of data segments of a plurality of data segments, rather than all of the data segments.
  • the data processing instruction may not carry the data range for the data to be processed.
  • the data range carried by the data processing instruction is the range of all data segments. Therefore, all data segments are determined as valid data segments. It should be noted that, the embodiment of the present application does not need to limit the specific value of the range of the data segment, and those skilled in the art need to make reasonable settings according to the specific conditions in the actual application.
  • Step S103 Obtain data distribution information of the data records stored in the valid data segment.
  • the “data distribution information” mentioned above is: information obtained by counting the number of data records in each data segment according to a preset statistical rule.
  • the step of performing statistically obtained information on the number of data records in each data segment according to a preset statistical rule is performed by a storage server in the distributed data processing system.
  • the “predetermined statistical rule” may be a rule for counting according to the key value of the stored data record in each data segment, or may be other fields in the data record preset according to those skilled in the art. Perform statistical rules for statistics. For example, suppose that the data content stored in the stored data record is the data of the test scores of the students of a class, wherein each data record includes: name, student number, gender, subject, etc., then, The statistical rules of the data records in this example may be statistical rules based on the order of the last names, and may also be statistical rules based on the order of the student numbers, and so on. Certainly, the specific statistical rules are not required to be defined in the embodiments of the present application, and any possible implementation manners may be applied to the present application.
  • the data distribution information of the data records stored in each data segment may be obtained by the client sending a data distribution information obtaining request to the storage server, or may be related data that the client reads the data distribution information stored locally. acquired.
  • the former method can accurately obtain the data distribution information of the stored data records in each data segment, but this There is a need to perform real-time statistics on the number of data records stored in each data segment, which is very resource intensive.
  • the latter method can quickly obtain data distribution information of data records stored in each data segment, but the data distribution information obtained in this way may be due to operations on data records (for example, addition or deletion of data records). However, there is a case where the obtained data distribution information is inconsistent with the actual number in each data segment.
  • data distribution information of data records stored in any of the data segments R i in each data segment may be obtained according to the following steps:
  • the storage server sorts each data record in the data segment R i according to a preset identification value.
  • the step of obtaining data distribution information is specifically performed by a storage server.
  • the "preset identifier value" mentioned here may be a key value of a data record stored in each data segment in the storage server.
  • each data record in the storage server generally contains multiple fields, and one of the fields is usually selected as the key value of the data record. It should be noted that, in this embodiment of the present application, the preset identifier value does not need to be defined.
  • other fields may be selected as the basis for sorting. Personnel need to make reasonable settings according to the specific conditions in the actual application.
  • the step (1) may be arranged in order of descending values of the pieces of identification data records within the data segment R i, may identify the value of each data record within the data segment R i in smallest
  • the order of the embodiments is not limited, and the order of the arrangement is not limited.
  • the data segment R i is arranged according to a preset identification value (for example, according to the key value of the data record)
  • the data segment is determined according to the value range of the key value in the data segment. It is divided into at least one data interval, and the value range of the key value in each data interval is determined as the value range of the corresponding data interval.
  • the data segment R i can be divided into four data intervals according to a preset data interval dividing rule, and the four data intervals are The values range are: 1-25, 26-50, 51-75, and 76-100.
  • the embodiment of the present application does not need to limit the number of data intervals divided in the data segment, and those skilled in the art need to perform reasonable settings according to specific conditions in actual applications.
  • the data distribution information of the data record in the data segment R i is obtained based on the number obtained by the statistics.
  • the step (4) obtains the data distribution information of the data record in the data segment R i according to the statistically obtained quantity, and may include the following steps:
  • step 2) When the result of the determination in step 2) is YES, it is judged whether the following expression is satisfied: N um ⁇ Th 1 , or, N um ⁇ Th 2 , and if satisfied, each data section obtained by dividing the data segment R i is counted. The number of data records within, and the data distribution information is updated according to the number of statistics.
  • N um represents the number of data records in each data interval obtained by dividing the data segment R i
  • Th 1 represents a preset first number threshold
  • Th 2 represents a preset second number threshold
  • Th 1 ⁇ Th 2 .
  • step 2) When the judgment result of the step 2) is NO, the current data distribution information is maintained.
  • the variance of the data segment is calculated to determine that the number of stored data records in the data segment deviates from the average value, so that the data segment whose number is seriously more than the average value can be found in time; further, Determining whether the number of data records in each data interval in the data segment is greater than a preset first number threshold or whether it is less than a preset second number threshold, to determine which data segment has the number of data records allowed. Changes outside the range (Th 1 , Th 2 ), and further, only the data records in the data interval are re-stated. It can be seen that the calculation of the statistics of the data distribution information is much smaller than the calculation of the statistics of all the data records in the data segment.
  • step (4) to obtain data segments within a data record R i in accordance with the counted number of distribution information may include the steps of:
  • step 1) may include the following steps:
  • Ii determining whether the calculated variance is greater than a preset variance threshold
  • step 1) In the case that the step 1) is judged to be satisfied, the data segments in the data segment R i are adjusted according to the preset interval adjustment rule, and the data segment R is obtained according to the number of data records in each data interval after the adjustment. Data distribution information of data records in i .
  • the preset interval adjustment rule may include:
  • the data area whose number of data records is larger than Th 1 is split into multiple sub-data sections.
  • the data sections in which the number of data records is larger than Th 1 are respectively split into a plurality of sub-data sections, and the purpose is to control the number of data records in each data section to be less than Th 1 .
  • the data records in each data interval are processed, it can be ensured that the required hardware resources do not exceed a certain value, which is advantageous for rational allocation of hardware resources required for each data interval.
  • the first number threshold Th 1 is 120, see FIG. 1c, which is a statistical histogram of the number of data records in each data interval in the data segment R i , wherein the data in the fourth data interval from left to right
  • the number of records is 200, which is significantly higher than the number of data records in other data intervals. Therefore, the data interval can be split into two sub-data intervals as shown in FIG. 1d, and the number in each sub-data interval is 100, 100, respectively.
  • the number of the sub-data segments to be split may be the same or may be different.
  • the number of the two sub-data sections split in the above example may also be 110,90.
  • the present application does not need to limit the number of data records in each sub-data interval obtained by the splitting, and those skilled in the art need to make reasonable settings according to specific situations.
  • the preset interval adjustment rule may further include:
  • the data interval can be merged into one data interval as shown in FIG. 1f, and the number of merged data intervals is the sum of the number of data records in each data interval before the merge 75.
  • Step S104 Divide the data range of each valid data segment into at least one sub-data range according to the obtained data distribution information.
  • Step S105 Generate data processing tasks for each valid data segment according to the respective sub-data ranges obtained by the division.
  • one data processing task corresponds to a sub-data range of a valid data segment.
  • the division of processing tasks directly affects the processing speed.
  • the solution provided by the embodiment of the present application is precisely based on the distribution information of the number of data records in each data interval in each data segment. It can be understood that the division of the data processing tasks in this way enables the hardware resources in the respective data processing servers to match the number of data records in the corresponding data interval.
  • Step S106 Send a data processing request for the data processing task to the task scheduler, so that the task scheduler determines a data processing server that executes each data processing task according to the data processing request.
  • the task scheduler After the task scheduler determines the data processing server, it sends the data processing task to be processed to the determined data processing server, and receives the determined processing result of the data processing performed by each data processing server for the allocated sub data range.
  • FIG. 1g is a schematic diagram of task assignment according to an embodiment of the present application.
  • the number of valid data segments for data to be processed is three, and nine data processing tasks are generated, and the number of data records corresponding to each data processing task is not More than 130, for each data interval within the three valid data segments, each data processing task can be assigned as follows:
  • the data area represents the sub-data range corresponding to the data segment.
  • the data processing speed of a distributed data processing system usually depends on the slowest data processing speed in the data processing server.
  • the number of data records to be processed by each data processing task in FIG. 1g is roughly equal, and the related technology is avoided.
  • the problem of uneven distribution of data processing tasks is only based on the number of data segments, so that the speed of data processing by each data processing server is roughly equivalent, thus improving the overall processing of the distributed data processing system. performance.
  • Step S107 Receive a processing result for the data to be processed fed back by the task scheduler.
  • the data processing tasks allocated by the data processing servers are allocated according to the number of data records in each data segment, thereby avoiding the allocation of the data processing servers.
  • the problem of unbalanced data processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • FIG. 2 is a schematic flowchart of another data processing method according to an embodiment of the present application. On the basis of the method embodiment shown in FIG. 1b, the method may further include:
  • Step S108 In the case that the data distribution information of the data record stored in each data segment has been stored locally, the data update notification sent by the storage server is received.
  • the data distribution information may also be stored.
  • the client may also receive a data update notification sent by the storage server when storing the data distribution information.
  • Step S109 Update the locally stored data distribution information according to the data update notification.
  • the solution in this embodiment updates the data distribution information of the data records stored in the local data segments, thereby ensuring the data distribution information obtained by the client and the actual data distribution in the storage server.
  • the problem of unbalanced data processing tasks allocated by the server improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • FIG. 3 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present application, which is applied to a client in a distributed data processing system.
  • the distributed data processing system includes: a client, a task scheduler, a plurality of data processing servers, and a plurality of storage servers; the storage server stores a plurality of data segments, and each of the data segments stores a plurality of data records.
  • This embodiment corresponds to the method embodiment shown in Figure 1b.
  • the foregoing data processing apparatus may include the following modules:
  • the processing instruction receiving module 201 is configured to receive a data processing instruction for the data to be processed.
  • the valid data determining module 202 is configured to determine a valid data segment according to the data processing instruction.
  • the valid data segment is a data segment for the data to be processed.
  • the distribution information obtaining module 203 is configured to obtain data distribution information of the data records stored in the valid data segment.
  • the data distribution information is: information obtained by counting the number of data records in each data segment according to a preset statistical rule.
  • the data range dividing module 204 is configured to divide the data range of each valid data segment into at least one sub-data range according to the obtained data distribution information.
  • the task generation module 205 is configured to generate a data processing task for each valid data segment according to each sub-data range obtained by the division.
  • one data processing task corresponds to a sub-data range of a valid data segment.
  • the processing request sending module 206 is configured to send a data processing request for the data processing task to the task scheduler, so that the task scheduler determines, according to the data processing request, a data processing server that executes each data processing task.
  • the task scheduler After the task scheduler determines the data processing server, it sends the data processing task to be processed to the determined data processing server, and receives the determined processing result of the data processing performed by each data processing server for the allocated sub data range.
  • the processing result receiving module 207 is configured to receive a processing result of the data to be processed fed back by the task scheduler.
  • the storage server includes: a data sorting sub-module, a section dividing sub-module, a data statistics sub-module, and a distribution information obtaining sub-module.
  • the data sorting sub-module is configured to sort each data record in the data segment R i according to a preset identification value
  • Interval division sub-module for the data segments in accordance with the order of data after sorting the data segments recorded in the R i, R i are sorted into at least one data interval;
  • a data statistics sub-module for statistically dividing the number of data records in each data interval obtained
  • Distribution information obtaining sub-module for obtaining information on the distribution of the data within the data segment R i count the number of data records obtained.
  • the distribution information obtaining submodule includes: a fragment variance calculation unit, a variance judgment unit, a first information statistics unit, and a second information statistics unit; wherein
  • a segment variance calculation unit for calculating a variance of the number of data records of the data segment R i ;
  • a variance judging unit configured to determine whether the variance is greater than a preset data segment variance threshold
  • the first information statistics unit for judging unit variance determination result is YES, it is determined whether the following expression is satisfied: N um ⁇ Th 1, or, N um ⁇ Th 2, is satisfied if the statistical data segment R i Dividing the number of data records in each data interval obtained, and updating the data distribution information according to the number of statistics; wherein N um represents the number of data records in each data interval obtained by dividing the data segment R i , Th 1 Representing a preset first number threshold, Th 2 represents a preset second number threshold, and Th 1 ⁇ Th 2 ;
  • the second information statistic unit is configured to maintain the current data distribution information when the judgment result of the variance judgment unit is negative.
  • the distribution information obtaining submodule may include: an adjustment condition determining unit and a first interval adjusting unit.
  • the adjustment condition determining unit is configured to determine whether the number of data records of the data segment R i satisfies a preset data interval adjustment condition
  • a first interval adjusting unit configured to adjust each data interval in the data segment R i according to a preset interval adjustment rule when the determination result of the adjustment condition determining unit is satisfied, and according to the data record in each data interval after the adjustment The number of data, the data distribution information of the data record in the data segment R i is obtained;
  • the preset interval adjustment rule may include:
  • the data segment whose data record is larger than Th 1 is split into multiple sub-data segments.
  • the preset interval adjustment rule may further include:
  • the data interval whose data record is smaller than Th 2 is merged.
  • the adjustment condition determination unit includes: an interval variance calculation subunit, a section variance judgment subunit, and a processing condition determination subunit.
  • the interval variance calculation sub-unit is configured to calculate a variance of the number of data records in each data interval obtained by the statistics
  • the interval variance judgment subunit is configured to determine whether the calculated variance is greater than a preset variance threshold
  • the processing condition determination sub-unit is configured to determine that the number of data records of each of the data sections obtained by the statistics satisfies a preset data section processing condition when the determination result of the section variance determination sub-unit is greater than.
  • the data processing tasks allocated by the data processing servers are allocated according to the number of data records in each data segment, thereby avoiding the allocation of the data processing servers.
  • the problem of unbalanced data processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • FIG. 4 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present application. On the basis of the apparatus embodiment shown in FIG. 3, the apparatus may further include:
  • the data update notification receiving module 208 is configured to receive a data update notification sent by the storage server if the data distribution information has been stored in the client.
  • the data distribution information update module 209 is configured to update the locally stored data distribution information according to the data update notification.
  • This embodiment corresponds to the method embodiment shown in FIG. 2.
  • the solution in this embodiment updates the data distribution information of the data records stored in the local data segments, thereby ensuring the data distribution information obtained by the client and the actual data distribution in the storage server.
  • the problem of unbalanced data processing tasks assigned by the server improves the data in the distributed data processing system
  • the parallel processing speed of the server is processed, thereby improving the overall processing performance of the distributed data processing system.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the embodiment of the present application further provides a client device in a distributed data processing system, where the distributed data processing system further includes: a task scheduler, a plurality of data processing servers, and a plurality of storage servers; A plurality of data segments are stored, and a plurality of data records are stored in each data segment; the client device includes:
  • the circuit board is disposed inside the space enclosed by the housing, the processor and the memory are disposed on the circuit board; and the power supply circuit is configured for the client device
  • the memory is for storing executable program code
  • the processor runs the program corresponding to the executable program code by reading executable program code stored in the memory for performing the following steps:
  • the client device in this embodiment may exist in various forms, including but not limited to the following:
  • Mobile communication devices These devices are characterized by mobile communication functions and are mainly aimed at providing voice and data communication.
  • Such terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
  • Ultra-mobile personal computer equipment This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has mobile Internet access.
  • Such terminals include: PDAs, MIDs, and UMPC devices, such as the iPad.
  • Portable entertainment devices These devices can display and play multimedia content. Such devices include: audio, video players (such as iPod), handheld game consoles, e-books, and smart toys and portable car navigation devices.
  • the data processing tasks allocated by the data processing servers are allocated according to the number of data records in each data segment, thereby avoiding the allocation of the data processing servers.
  • the problem of unbalanced data processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • the embodiment of the present application further provides an application program, which is used to execute the data processing method provided by the embodiment of the present application at runtime.
  • the data processing method includes:
  • the data processing tasks allocated by the data processing servers are allocated according to the number of data records in each data segment, thereby avoiding the allocation of the data processing servers.
  • the problem of unbalanced data processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.
  • the embodiment of the present application further provides a storage medium, where the storage medium is used to store an application, and the application is used to execute the data processing method provided by the embodiment of the present application.
  • the data processing method includes:
  • the data processing tasks allocated by the data processing servers are allocated according to the number of data records in each data segment, thereby avoiding the allocation of the data processing servers.
  • the problem of unbalanced data processing tasks improves the parallel processing speed of the data processing server in the distributed data processing system, thereby improving the overall processing performance of the distributed data processing system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种数据处理方法及装置,应用于分布式数据处理系统中的客户端,方法包括:接收针对待处理数据的数据处理指令(S101),确定有效数据片段(S102);获得有效数据片段的数据分布信息(S103);将每个有效数据片段的数据范围划分成至少一个子数据范围(S104);生成针对每个有效数据片段的数据处理任务(S105);向任务调度器发送数据处理请求,以使得任务调度器确定执行每一数据处理任务的数据处理服务器并向其发送其要处理的数据处理任务以及接收针对所分配的子数据范围进行数据处理的处理结果(S106);接收任务调度器反馈的针对待处理数据的处理结果(S107)。所述方法及装置提高了分布式数据处理系统中数据处理服务器的并行处理速度,提高了分布式数据处理系统的整体处理性能。

Description

一种数据处理方法及装置
本申请要求于2016年2月23日提交中国专利局、申请号为201610099562.5发明名称为“一种数据处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及分布式计算技术领域,特别是涉及一种数据处理方法及装置。
背景技术
在信息爆炸的时代中,用户可获得的数据量呈指数增长的趋势。当对数据库系统中已存储的数据记录进行处理时所需要的计算资源也随之增大,这对数据库系统中的数据处理服务器的计算性能提出了更高的要求。在基于传统的集中式数据库的数据库系统(简称为集中式数据库系统)中,数据处理服务器通常是由单台计算机构成的,随着数据量的迅猛增长,单台计算机的性能有限,通过提高单台计算机计算能力的方式已经很难满足用户的数据处理需要。
相关技术中提供了这样一种数据处理方法,该方法应用于基于存储服务器的数据库系统(简称为分布式数据处理系统),该分布式数据处理系统包括存储服务器、一个管理服务器和多个数据处理服务器,数据库被划分为多个数据片段,各个数据片段中存储有多条数据记录。进行数据处理时,首先,管理服务器获得针对待处理数据的数据处理指令,根据该分布式数据处理系统中数据片段的数量将已存储的数据记录划分成多个数据处理任务,然后将划分得到的各个数据处理任务均匀地分发给各个数据处理服务器,各个数据处理服务器在接收到相应的数据处理任务后对数据处理任务包含的数据记录进行数据处理,并将处理结果反馈至管理服务器,完成数据处理。
相比集中式数据库系统而言,分布式数据处理系统减少了单台计算机需要处理的数据量,因此降低了对单台计算机的计算性能的要求。但是,由于划分数据处理任务时是根据数据片段的数量划分的,而每一数据片段内所包含的数据记录的数量不一定相等,所以,划分得到的各个数据处理任务中包括的数据记录的数量不一定相同,可见根据数据片段的数量划分数据处理任务并向处理服务器分配数据处理任务时,易造成各个数据处理服务器所要执行任务的任务量不均衡,例如,对于具有相同的计算性能的数据处理服务器 而言,有的数据处理服务器的任务量很大,而有的数据处理服务器的任务量甚至几乎为零,显然,各个数据处理服务器所分配到的数据处理任务是不均衡的,进一步的,这种不均衡现象还会降低该分布式数据处理系统的整体处理速度。
发明内容
本申请实施例的目的在于提供一种数据处理方法及装置,以实现将分布式数据处理系统的数据库中的数据记录均衡地分配给该系统中的各个数据处理服务器,提高分布式数据处理系统中数据处理服务器的并行处理速度,从而提高分布式数据处理系统的整体处理性能。
为达到上述目的,本申请实施例公开了一种数据处理方法,应用于分布式数据处理系统中的客户端;其中,所述分布式数据处理系统包括:客户端、任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录,所述方法包括:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
较佳的,所述存储服务器根据以下步骤统计得到各个数据片段中任一数据片段Ri中已存储的数据记录的数据分布信息:
所述存储服务器将所述数据片段Ri内的各条数据记录按照预设的标识值排序;
按照排序后所述数据片段Ri中的数据记录的排列顺序,将排序后的所述数据片段Ri划分成至少一个数据区间;
统计划分得到的各个数据区间内的数据记录的数量;
根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息。
较佳的,所述根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息,包括:
计算所述数据片段Ri的数据记录的数量的方差;
判断所述方差是否大于预设的数据片段方差阈值;
如果是,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息;其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
如果否,则保持当前的数据分布信息。
较佳的,所述根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息,包括:
判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件;
若满足,按照预设的区间调整规则对所述数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得所述数据片段Ri内数据记录的数据分布信息;
其中,所述预设的区间调整规则,包括:
获得统计得到的所述数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区间分别拆分为多个子数据区间。
较佳的,所述预设的区间调整规则,还包括:
获得统计得到的所述数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
较佳的,所述存储服务器判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件,包括:
计算统计得到的各个数据区间内的数据记录的数量的方差;
判断计算得到的方差是否大于预设的方差阈值;
在判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间调整条件。
较佳的,在所述客户端中已存储所述数据分布信息的情况下,所述方法还包括:
接收所述存储服务器发送的数据更新通知;
根据所述数据更新通知,更新本地已存储的数据分布信息。
为达到上述目的,本申请实施例公开了一种数据处理装置,应用于分布式数据处理系统中的客户端;其中,所述分布式数据处理系统包括:客户端、任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录,所述装置包括:
处理指令接收模块,用于接收针对待处理数据的数据处理指令;
有效数据确定模块,用于根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
分布信息获得模块,用于获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
数据范围划分模块,用于根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
任务生成模块,用于按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
处理请求发送模块,用于向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
处理结果接收模块,用于接收所述任务调度器反馈的针对待处理数据的处理结果。
较佳的,所述存储服务器,包括:数据排序子模块、区间划分子模块、数据统计子模块和分布信息获得子模块;其中,
所述数据排序子模块,用于将所述数据片段Ri内的各条数据记录按照预设的标识值排序;
所述区间划分子模块,用于按照排序后所述数据片段Ri中的数据记录的排列顺序,将排序后的所述数据片段Ri划分成至少一个数据区间;
所述数据统计子模块,用于统计划分得到的各个数据区间内的数据记录的数量;
所述分布信息获得子模块,用于根据统计得到的数量获得所述数据片段 Ri内数据记录的数据分布信息。
较佳的,所述分布信息获得子模块,包括:片段方差计算单元、方差判断单元、第一信息统计单元和第二信息统计单元;其中,
所述片段方差计算单元,用于计算所述数据片段Ri的数据记录的数量的方差;
所述方差判断单元,用于判断所述方差是否大于预设的数据片段方差阈值;
所述第一信息统计单元,用于在所述方差判断单元的判断结果为是时,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息;其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
所述第二信息统计单元,用于在所述方差判断单元的判断结果为否时,则保持当前的数据分布信息。
较佳的,所述分布信息获得子模块,包括:调整条件判断单元和第一区间调整单元;其中,
所述调整条件判断单元,用于判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件;
所述第一区间调整单元,用于在所述调整条件判断单元的判断结果为满足时,按照预设的区间调整规则对所述数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得所述数据片段Ri内数据记录的数据分布信息;
其中,所述预设的区间调整规则,包括:
获得统计得到的所述数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区间分 别拆分为多个子数据区间。
较佳的,所述预设的区间调整规则,还包括:
获得统计得到的所述数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
较佳的,所述调整条件判断单元,包括:区间方差计算子单元、区间方差判断子单元和处理条件判定子单元;其中,
区间方差计算子单元,用于计算统计得到的各个数据区间内的数据记录的数量的方差;
区间方差判断子单元,用于判断计算得到的方差是否大于预设的方差阈值;
处理条件判定子单元,用于在所述区间方差判断子单元的判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间处理条件。
较佳的,所述装置还包括:
数据更新通知接收模块,用于在所述客户端中已存储所述数据分布信息的情况下,接收所述存储服务器发送的数据更新通知;
数据分布信息更新模块,用于根据所述数据更新通知,更新本地已存储的数据分布信息。
为了达到上述目的,本申请还公开了一种分布式数据处理系统中的客户端设备,所述分布式数据处理系统还包括:任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录;所述客户端设备包括:
壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述 客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
为了达到上述目的,本申请还公开了一种应用程序,所述应用程序用于在运行时执行本申请实施例提供的数据处理方法。所述数据处理方法包括:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
为了达到上述目的,本申请还公开了一种存储介质,所述存储介质用于存储应用程序,所述应用程序用于执行本申请实施例提供的数据处理方法。所述数据处理方法包括:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服 务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
由以上可见,在本申请实施例提供的技术方案中,客户端首先接收针对待处理数据的数据处理指令,并根据该数据处理指令,确定有效数据片段;然后,获得有效数据片段中已存储的数据记录的数据分布信息,根据该数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;客户端按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务,并向任务调度器发送针对数据处理任务的数据处理请求,以使得任务调度器根据该请求确定执行每一数据处理任务的数据处理服务器,其中,任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;接收任务调度器反馈的针对待处理数据的处理结果。显然,应用本申请实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种分布式数据处理系统的架构示意图;
图1b为本申请实施例提供的一种数据处理方法的流程示意图;
图1c为本申请实施例提供的一种数据片段内各个数据区间的分布直方图;
图1d为本申请实施例提供的对图1c进行拆分处理后各个数据区间的分布直方图;
图1e为本申请实施例提供的另一种数据片段内各个数据区间的分布直方 图;
图1f为本申请实施例提供的对图1e进行合并处理后各个数据区间的分布直方图;
图1g为本申请实施例提供的一种任务分配示意图;
图2为本申请实施例提供的另一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种数据处理装置的结构示意图;
图4为本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请实施例的应用场景进行以下简单介绍:本申请实施例应用于如图1a所示的分布式数据处理系统中的客户端101,图1a为本申请实施例提供的一种分布式数据处理系统的架构示意图,具体的,图1a所示的分布式数据处理系统中包括:客户端101、任务调度器102、多个数据处理服务器103和多个存储服务器104;存储服务器104存储有多个数据片段,各个数据片段中存储有多条数据记录。
图1b为本申请实施例提供的一种数据处理方法的流程示意图,该数据处理方法可以包括以下步骤:
步骤S101:接收针对待处理数据的数据处理指令。
本实施例具体是由分布式数据处理系统中的客户端执行的。
具体的,数据处理指令中可以携带针对待处理数据的数据范围,当然也可以不携带该数据范围,此时可默认待处理数据的数据范围为全部数据片段的数据范围。当然,本申请实施例不需要对数据处理指令中是否携带数据范围以及所携带的数据范围的大小进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
步骤S102:根据数据处理指令,确定有效数据片段。
其中,有效数据片段为针对待处理数据的数据片段。
在本申请实施例的一种具体实现方式中,针对数据处理指令中携带有针对待处理数据的数据范围的情况,可以根据所携带的数据范围来确定针对待处理数据的数据片段,所确定的有效数据片段通常为多个数据片段中的若干个数据片段,而非全部数据片段。然而,在本申请实施例的另一种具体实现方式中,数据处理指令中也可以不携带针对待处理数据的数据范围,此时,默认该数据处理指令携带的数据范围为全部数据片段的范围,因此,将全部数据片段确定为有效数据片段。需要说明的是,本申请实施例不需要对数据片段的范围的具体数值进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理设置。
步骤S103:获得有效数据片段中已存储的数据记录的数据分布信息。
其中,上述提及的“数据分布信息”为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息。
通常,所述按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息的步骤,是由分布式数据处理系统中的存储服务器执行的。
具体的,“预设的统计规则”可以是按照各个数据片段中的已存储的数据记录的键值进行统计的规则,还可以是按照本领域内的技术人员预先设定的数据记录中其他字段进行统计的统计规则。举例而言,假设已存储的数据记录中存储的数据内容为一个班级的学生的各科考试成绩的数据,其中,每条数据记录均包括:姓名、学号、性别、科目等信息,那么,这个例子中的数据记录的统计规则,可以是以姓氏的先后顺序为统计依据的统计规则,还可以是以学号大小顺序为统计依据的统计规则,等等。当然,本申请实施例不需要对具体的统计规则进行限定,任何可能的实现方式均可以应用于本申请。
具体的,各个数据片段中已存储的数据记录的数据分布信息,可以是客户端向存储服务器发送数据分布信息获得请求获得的,还可以是客户端读取其本地存储的数据分布信息的相关数据获得的。相比较而言,前一种方式能够准确地获得各个数据片段中已存储的数据记录的数据分布信息,但是,这 种方式需要对各个数据片段中已存储的数据记录的数量进行实时统计,这是很占用硬件资源的。后一种方式能够快速地获得各个数据片段中已存储的数据记录的数据分布信息,但是,这种方式获得的数据分布信息可能会因为对数据记录的操作(例如,数据记录的增加或删除)而出现所获得的数据分布信息与各个数据片段中的实际数量不一致的情况。
需要说明的是,本申请实施例不需要对获得各个数据片段中已存储的数据记录的数据分布信息的具体方式进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
在本申请的一种具体实现方式中,可以根据以下步骤获得各个数据片段中任一数据片段Ri中已存储的数据记录的数据分布信息:
(1)存储服务器将数据片段Ri内的各条数据记录按照预设的标识值排序。
需要说明的是,本实施方式中,获得数据分布信息的步骤具体是由存储服务器执行的。
这里提及的“预设的标识值”可以是存储服务器中各个数据片段内已存储的数据记录的键值。实际应用中,存储服务器中的每一条数据记录一般包含多个字段,通常会选择其中的一个字段作为数据记录的键值。需要说明的是,本申请实施例并不需要对预设的标识值进行限定,除了上述提到的用作键值的字段外,还可以选择其他字段来作为排序的依据,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
另外,步骤(1)可以按照数据片段Ri内的各条数据记录的标识值由大到小的顺序进行排列,也可以按照数据片段Ri内的各条数据记录的标识值由小到大的顺序进行排列,本申请实施例不需要对排列顺序进行限定。
(2)按照排序后数据片段Ri中的数据记录的排列顺序,将排序后的数据片段Ri划分成至少一个数据区间。
需要说明的是,当数据片段Ri中的数据记录按照预设的标识值(例如,按照数据记录的键值)进行排列后,根据该数据片段内键值的取值范围,将该数据片段划分成至少一个数据区间,并将每个数据区间中键值的取值范围确定为对应数据区间的取值范围。
举例而言,假设数据片段Ri内键值的取值范围为1-100,根据预设的数据区间划分规则,可以将数据片段Ri划分为四个数据区间,且这四个数据区间的取值范围分别为:1-25、26-50、51-75和76-100。
当然,本申请实施例并不需要对数据片段内所划分的数据区间的数量进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
(3)统计划分得到的各个数据区间内的数据记录的数量。
(4)根据统计得到的数量获得数据片段Ri内数据记录的数据分布信息。
需要说明的是,这种数据分布信息的统计方式,需要对数据片段内的各个数据区间内的数据记录的数量进行统计,可见统计过程中的计算量还是很大的。
在本申请的另一种具体实现方式中,步骤(4)根据统计得到的数量获得数据片段Ri内数据记录的数据分布信息,可以包括以下步骤:
1)计算数据片段Ri的数据记录的数量的方差。
2)判断方差是否大于预设的数据片段方差阈值。
3)在步骤2)的判断结果为是时,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息。
其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
4)在步骤2)的判断结果为否时,则保持当前的数据分布信息。
可见,在这种实现方式中,计算数据片段的方差来判断数据片段内已存储的数据记录的数量偏离平均值的情况,这样,能够及时发现数量严重超过平均值的数据片段;进一步的,通过判断数据片段内的各个数据区间内的数据记录的数量是否大于预设的第一数量阈值或是否小于预设的第二数量阈值,来确定出具体是哪个数据区间的数据记录的数量发生了允许范围(Th1,Th2)外的改变,进而,只对该数据区间内的数据记录进行重新统计即可。可见, 这种对数据分布信息的统计的计算量要远小于对数据片段内的全部数据记录进行统计的计算量。
进一步的,在本申请的另一种具体实现方式中,步骤(4)根据统计得到的数量获得数据片段Ri内数据记录的数据分布信息,可以包括以下步骤:
1)判断数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件。
具体的,步骤1)可以包括以下步骤:
i:计算统计得到的各个数据区间内的数据记录的数量的方差;
ii:判断计算得到的方差是否大于预设的方差阈值;
iii:在判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间调整条件。
可以理解的是,当判断计算得到的各个数据区间内数据记录的数量的方差大于预设的方差阈值时,表明该数据区间内的数据记录的数量已严重偏离数据区间内数据记录的均值,或者说,该数据区间内的数据记录的数量与所在数据片段内的其他数据区间之间出现了较大的偏差,则认为此时该数据区间内的数据记录需要进行处理(例如,对数据区间的拆分或者合并处理),即判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间处理条件。
需要说明的是,本申请并不需要对上述提及的预设的方差阈值的具体数值进行限定,本领域内的技术人员需要根据实际应用中的具体情况来确定。
2)在步骤1)判断为满足的情况下,按照预设的区间调整规则对数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得数据片段Ri内数据记录的数据分布信息。
在本申请的一种具体实现方式中,预设的区间调整规则,可以包括:
A:获得统计得到的数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
B:按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区 间分别拆分为多个子数据区间。
需要说明的是,将数据记录的数量大于Th1的数据区间分别拆分为多个子数据区间,目的在于将各个数据区间内的数据记录的数量控制在Th1以下。这样,对各个数据区间中的数据记录进行处理时,能够保证所需要的硬件资源不超过某一数值,这样有利于对各个数据区间所需要的硬件资源的合理分配。
举例而言,假设第一数量阈值Th1为120,参见图1c,为数据片段Ri中各个数据区间内数据记录的数量的统计直方图,其中,由左向右第四个数据区间内数据记录的数量为200个,明显高于其他数据区间内的数据记录的数量。因此,可以将该数据区间拆分成如图1d所示的2个子数据区间,且各个子数据区间中的数量分别为100,100。
需要说明的是,在将数据记录的数量大于Th1的数据区间拆分成多个子数据区间时,对于所拆分的各个子数据区间中的数量可以是相同的,也可以是不相同的,上述例子中所拆分得到的两个子数据区间中的数量也可以是110,90。本申请不需要对拆分得到的各个子数据区间中的数据记录的数量进行限定,本领域内的技术人员需要根据具体情况进行合理的设置。
进一步的,在本申请的另一种具体实现方式中,预设的区间调整规则,还可以包括:
C:获得统计得到的数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
D:按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
还需要说明的是,对数据记录的数量小于Th2的数据区间进行合并处理,能够使各个数据区间中的数据记录的数量不至于太小。这样,对各个数据区间中的数据记录进行处理时,更有利于对各个数据区间所需要的硬件资源的合理分配,不至于出现资源浪费的情况。
举例而言,假设第二数量阈值Th2为30,参见图1e,为数据片段Ri中各个数据区间内数据记录的数量的统计直方图,其中,各个数据区间中数据记录的数量均小于30,因此,可以将该数据区间合并成如图1f所示的一个数据区间, 且合并后的数据区间的数量为合并前各个数据区间内的数据记录的数量之和75。
由以上可见,根据上述两种预设的数据区间调整规则,可以将各个数据片段内的各个数据区间的数量维持在一个合理范围之内,使得各个数据片段的各个数据区间对于数据处理服务器中的硬件资源的占用趋于均衡。
步骤S104:根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围。
步骤S105:按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务。
其中,一个数据处理任务对应一个有效数据片段的一个子数据范围。
实际应用中,在对存储服务器中的数据记录进行数据处理的时候,对于处理任务的划分直接影响到处理速度的快慢。而本申请实施例提供的方案恰恰是,依据各个数据片段中各个数据区间内的数据记录的数量的分布信息进行划分的。可以理解的,这样进行数据处理任务的划分,能够使得各个数据处理服务器中的硬件资源与相应的数据区间内的数据记录的数量相匹配。
步骤S106:向任务调度器发送针对数据处理任务的数据处理请求,以使得任务调度器根据数据处理请求确定执行每一数据处理任务的数据处理服务器。
其中,任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果。
举例而言,图1g为本申请实施例提供的一种任务分配示意图,针对待处理数据的有效数据片段为3个,生成9个数据处理任务,并且各个数据处理任务对应的数据记录的数量不超过130个,针对这3个有效数据片段内的各个数据区间,可以将各个数据处理任务分配如下:
其中,数据区域即表示与数据片段对应的子数据范围。
Figure PCTCN2017073203-appb-000001
容易理解的,分布式数据处理系统的数据处理速度通常取决于数据处理服务器中完成数据处理速度最慢的一个,图1g中各个数据处理任务所要处理的数据记录的数量大致相当,避免了相关技术中仅仅根据数据片段的数量进行数据处理任务的划分时出现的分配不均衡的问题,这样使得各个数据处理服务器完成数据处理的速度大致是相当的,因此,提高了分布式数据处理系统的整体处理性能。
步骤S107:接收任务调度器反馈的针对待处理数据的处理结果。
由此可见,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
图2为本申请实施例提供的另一种数据处理方法的流程示意图,在图1b所示方法实施例的基础之上,该方法还可以包括:
步骤S108:在本地已存储各个数据片段中已存储的数据记录的数据分布信息的情况下,接收存储服务器发送的数据更新通知。
也就是说,在客户端获得所述有效数据片段中已存储的数据记录的数据分布信息之后,还可以存储该数据分布信息。客户端在存储该数据分布信息的情况下,还可以接收存储服务器发送的数据更新通知。
容易理解的,存储服务器中各个数据片段内的数据记录其实是处于一个动态变化的过程,数据记录的写入或删除会直接影响到各个数据片段内的数据分布信息,因此,对于在客户端本地存储各个数据片段中已存储的数据记 录的数据分布信息的情况,就需要定期进行数据更新,这样才能够保证客户端本地存储的数据分布信息尽可能与存储服务器中的数据片段内的数据记录的实际数量的一致性。
步骤S109:根据该数据更新通知,更新本地已存储的数据分布信息。
一方面,本实施例中的方案对存储于本地的各个数据片段中已存储的数据记录的数据分布信息进行了更新,这样保证了客户端所获得的数据分布信息与存储服务器中实际的数据分布情况的一致性;另一方面,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
图3为本申请实施例提供的一种数据处理装置的结构示意图,应用于分布式数据处理系统中的客户端。
其中,分布式数据处理系统包括:客户端、任务调度器、多个数据处理服务器和多个存储服务器;存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录。
本实施例与图1b所示方法实施例相对应。
具体的,上述数据处理装置可以包括以下模块:
处理指令接收模块201,用于接收针对待处理数据的数据处理指令。
有效数据确定模块202,用于根据数据处理指令,确定有效数据片段。
其中,有效数据片段为针对待处理数据的数据片段。
分布信息获得模块203,用于获得有效数据片段中已存储的数据记录的数据分布信息。
其中,数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息。
数据范围划分模块204,用于根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围。
任务生成模块205,用于按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务。
其中,一个数据处理任务对应一个有效数据片段的一个子数据范围。
处理请求发送模块206,用于向任务调度器发送针对数据处理任务的数据处理请求,以使得任务调度器根据数据处理请求确定执行每一数据处理任务的数据处理服务器。
其中,任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果。
处理结果接收模块207,用于接收任务调度器反馈的针对待处理数据的处理结果。
具体的,存储服务器,包括:数据排序子模块、区间划分子模块、数据统计子模块和分布信息获得子模块。
其中,数据排序子模块,用于将数据片段Ri内的各条数据记录按照预设的标识值排序;
区间划分子模块,用于按照排序后数据片段Ri中的数据记录的排列顺序,将排序后的数据片段Ri划分成至少一个数据区间;
数据统计子模块,用于统计划分得到的各个数据区间内的数据记录的数量;
分布信息获得子模块,用于根据统计得到的数量获得数据片段Ri内数据记录的数据分布信息。
具体的,分布信息获得子模块,包括:片段方差计算单元、方差判断单元、第一信息统计单元和第二信息统计单元;其中,
片段方差计算单元,用于计算数据片段Ri的数据记录的数量的方差;
方差判断单元,用于判断方差是否大于预设的数据片段方差阈值;
第一信息统计单元,用于在方差判断单元的判断结果为是时,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息;其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
第二信息统计单元,用于在方差判断单元的判断结果为否时,则保持当前的数据分布信息。
具体的,分布信息获得子模块,可以包括:调整条件判断单元和第一区间调整单元。
其中,调整条件判断单元,用于判断数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件;
第一区间调整单元,用于在调整条件判断单元的判断结果为满足时,按照预设的区间调整规则对数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得数据片段Ri内数据记录的数据分布信息;
其中,预设的区间调整规则,可以包括:
获得统计得到的数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区间分别拆分为多个子数据区间。
具体的,预设的区间调整规则,还可以包括:
获得统计得到的数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
具体的,调整条件判断单元,包括:区间方差计算子单元、区间方差判断子单元和处理条件判定子单元。
其中,区间方差计算子单元,用于计算统计得到的各个数据区间内的数据记录的数量的方差;
区间方差判断子单元,用于判断计算得到的方差是否大于预设的方差阈值;
处理条件判定子单元,用于在区间方差判断子单元的判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间处理条件。
由此可见,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
图4为本申请实施例提供的一种数据处理装置的结构示意图,在图3所示的装置实施例的基础之上,该装置还可以包括:
数据更新通知接收模块208,用于在客户端中已存储数据分布信息的情况下,接收存储服务器发送的数据更新通知。
数据分布信息更新模块209,用于根据数据更新通知,更新本地已存储的数据分布信息。
本实施例与图2所示方法实施例相对应。
一方面,本实施例中的方案对存储于本地的各个数据片段中已存储的数据记录的数据分布信息进行了更新,这样保证了客户端所获得的数据分布信息与存储服务器中实际的数据分布情况的一致性;另一方面,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据 处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种分布式数据处理系统中的客户端设备,所述分布式数据处理系统还包括:任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录;所述客户端设备包括:
壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服 务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
该实施例中的客户端设备可以以多种形式存在,包括但不限于以下几种:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有数据交互功能的电子装置。
由以上可见,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
对应于方法实施例,本申请实施例还提供了一种应用程序,所述应用程序用于在运行时执行本申请实施例提供的数据处理方法。所述数据处理方法包括:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
由以上可见,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
对应于方法实施例,本申请实施例还提供了一种存储介质,所述存储介质用于存储应用程序,所述应用程序用于执行本申请实施例提供的数据处理方法。所述数据处理方法包括:
接收针对待处理数据的数据处理指令;
根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处 理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
接收所述任务调度器反馈的针对待处理数据的处理结果。
由以上可见,应用本实施例提供的方案进行数据处理时,各个数据处理服务器所分配的数据处理任务是根据各个数据片段中的数据记录的数量分配的,避免了各个数据处理服务器所分配到的数据处理任务不均衡的问题,提高了分布式数据处理系统中数据处理服务器的并行处理速度,从而提高了分布式数据处理系统的整体处理性能。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (17)

  1. 一种数据处理方法,其特征在于,应用于分布式数据处理系统中的客户端;其中,所述分布式数据处理系统包括:客户端、任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录,所述方法包括:
    接收针对待处理数据的数据处理指令;
    根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
    获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
    根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
    按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
    向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
    接收所述任务调度器反馈的针对待处理数据的处理结果。
  2. 根据权利要求1所述的方法,其特征在于,所述存储服务器根据以下步骤统计得到各个数据片段中任一数据片段Ri中已存储的数据记录的数据分布信息:
    所述存储服务器将所述数据片段Ri内的各条数据记录按照预设的标识值排序;
    按照排序后所述数据片段Ri中的数据记录的排列顺序,将排序后的所述数 据片段Ri划分成至少一个数据区间;
    统计划分得到的各个数据区间内的数据记录的数量;
    根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息。
  3. 根据权利要求2所述的方法,其特征在于,所述根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息,包括:
    计算所述数据片段Ri的数据记录的数量的方差;
    判断所述方差是否大于预设的数据片段方差阈值;
    如果是,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息;其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
    如果否,则保持当前的数据分布信息。
  4. 根据权利要求2所述的方法,其特征在于,所述根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息,包括:
    判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件;
    若满足,按照预设的区间调整规则对所述数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得所述数据片段Ri内数据记录的数据分布信息;
    其中,所述预设的区间调整规则,包括:
    获得统计得到的所述数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
    按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区间分别拆分为多个子数据区间。
  5. 根据权利要求4所述的方法,其特征在于,所述预设的区间调整规则, 还包括:
    获得统计得到的所述数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
    按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
  6. 根据权利要求4-5中任一项所述的方法,其特征在于,所述存储服务器判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件,包括:
    计算统计得到的各个数据区间内的数据记录的数量的方差;
    判断计算得到的方差是否大于预设的方差阈值;
    在判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间调整条件。
  7. 根据权利要求1所述的方法,其特征在于,在所述客户端中已存储所述数据分布信息的情况下,所述方法还包括:
    接收所述存储服务器发送的数据更新通知;
    根据所述数据更新通知,更新本地已存储的数据分布信息。
  8. 一种数据处理装置,其特征在于,应用于分布式数据处理系统中的客户端;其中,所述分布式数据处理系统包括:客户端、任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录,所述装置包括:
    处理指令接收模块,用于接收针对待处理数据的数据处理指令;
    有效数据确定模块,用于根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
    分布信息获得模块,用于获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
    数据范围划分模块,用于根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
    任务生成模块,用于按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
    处理请求发送模块,用于向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
    处理结果接收模块,用于接收所述任务调度器反馈的针对待处理数据的处理结果。
  9. 根据权利要求8所述的装置,其特征在于,所述存储服务器,包括:数据排序子模块、区间划分子模块、数据统计子模块和分布信息获得子模块;其中,
    所述数据排序子模块,用于将所述数据片段Ri内的各条数据记录按照预设的标识值排序;
    所述区间划分子模块,用于按照排序后所述数据片段Ri中的数据记录的排列顺序,将排序后的所述数据片段Ri划分成至少一个数据区间;
    所述数据统计子模块,用于统计划分得到的各个数据区间内的数据记录的数量;
    所述分布信息获得子模块,用于根据统计得到的数量获得所述数据片段Ri内数据记录的数据分布信息。
  10. 根据权利要求9所述的装置,其特征在于,所述分布信息获得子模块,包括:片段方差计算单元、方差判断单元、第一信息统计单元和第二信息统计单元;其中,
    所述片段方差计算单元,用于计算所述数据片段Ri的数据记录的数量的方差;
    所述方差判断单元,用于判断所述方差是否大于预设的数据片段方差阈值;
    所述第一信息统计单元,用于在所述方差判断单元的判断结果为是时,判断是否满足以下表达式:Num≥Th1,或,Num≤Th2,如果满足则统计所述数据片段Ri划分得到的各个数据区间内的数据记录的数量,并按照统计后的数量更新所述数据分布信息;其中,Num表示数据片段Ri划分得到的各个数据区间内的数据记录的数量,Th1表示预设的第一数量阈值,Th2表示预设的第二数量阈值,且Th1≥Th2
    所述第二信息统计单元,用于在所述方差判断单元的判断结果为否时,则保持当前的数据分布信息。
  11. 根据权利要求9所述的装置,其特征在于,所述分布信息获得子模块,包括:调整条件判断单元和第一区间调整单元;其中,
    所述调整条件判断单元,用于判断所述数据片段Ri的数据记录的数量是否满足预设的数据区间调整条件;
    所述第一区间调整单元,用于在所述调整条件判断单元的判断结果为满足时,按照预设的区间调整规则对所述数据片段Ri中各个数据区间进行调整,并根据调整后各个数据区间内的数据记录的数量,获得所述数据片段Ri内数据记录的数据分布信息;
    其中,所述预设的区间调整规则,包括:
    获得统计得到的所述数据片段Ri中数据记录的数量大于预设的第一数量阈值Th1的数据区间;
    按照预设的数据区间拆分规则,将数据记录的数量大于Th1的数据区间分别拆分为多个子数据区间。
  12. 根据权利要求11所述的装置,其特征在于,所述预设的区间调整规则,还包括:
    获得统计得到的所述数据片段Ri中数据记录的数量小于预设的第二数量阈值Th2的数据区间;
    按照预设的数据区间合并规则,对数据记录的数量小于Th2的数据区间进行合并处理。
  13. 根据权利要求11-12中任一项所述的装置,其特征在于,所述调整条件判断单元,包括:区间方差计算子单元、区间方差判断子单元和处理条件判定子单元;其中,
    区间方差计算子单元,用于计算统计得到的各个数据区间内的数据记录的数量的方差;
    区间方差判断子单元,用于判断计算得到的方差是否大于预设的方差阈值;
    处理条件判定子单元,用于在所述区间方差判断子单元的判断结果为大于时,判定统计得到的各个数据区间的数据记录的数量满足预设的数据区间处理条件。
  14. 根据权利要求8所述的装置,其特征在于,所述装置还包括:
    数据更新通知接收模块,用于在所述客户端中已存储所述数据分布信息的情况下,接收所述存储服务器发送的数据更新通知;
    数据分布信息更新模块,用于根据所述数据更新通知,更新本地已存储的数据分布信息。
  15. 一种分布式数据处理系统中的客户端设备,其特征在于,所述分布式数据处理系统还包括:任务调度器、多个数据处理服务器和多个存储服务器;所述存储服务器中存储有多个数据片段,各个数据片段中存储有多条数据记录;所述客户端设备包括:
    壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述客户端设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的 程序,以用于执行以下步骤:
    接收针对待处理数据的数据处理指令;
    根据所述数据处理指令,确定有效数据片段;其中,所述有效数据片段为针对所述待处理数据的数据片段;
    获得所述有效数据片段中已存储的数据记录的数据分布信息;其中,所述数据分布信息为:按照预设的统计规则对每个数据片段中的数据记录的数量进行统计得到的信息;
    根据所获得的数据分布信息,将每个有效数据片段的数据范围划分成至少一个子数据范围;
    按照划分得到的各个子数据范围,生成针对每个有效数据片段的数据处理任务;其中,一个数据处理任务对应一个有效数据片段的一个子数据范围;
    向所述任务调度器发送针对所述数据处理任务的数据处理请求,以使得所述任务调度器根据所述数据处理请求确定执行每一数据处理任务的数据处理服务器,其中,所述任务调度器确定数据处理服务器后,向所确定的数据处理服务器发送其要处理的数据处理任务,并接收所确定的各个数据处理服务器针对所分配的子数据范围进行数据处理的处理结果;
    接收所述任务调度器反馈的针对待处理数据的处理结果。
  16. 一种应用程序,其特征在于,所述应用程序用于在运行时执行权利要求1-7任一项所述的数据处理方法。
  17. 一种存储介质,其特征在于,所述存储介质用于存储应用程序,所述应用程序用于执行权利要求1-7任一项所述的数据处理方法。
PCT/CN2017/073203 2016-02-23 2017-02-10 一种数据处理方法及装置 WO2017143912A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17755741.0A EP3422211B1 (en) 2016-02-23 2017-02-10 Data processing method and device
US16/078,774 US11379271B2 (en) 2016-02-23 2017-02-10 Parallel processing on data processing servers through even division of data records

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610099562.5 2016-02-23
CN201610099562.5A CN107103009B (zh) 2016-02-23 2016-02-23 一种数据处理方法及装置

Publications (1)

Publication Number Publication Date
WO2017143912A1 true WO2017143912A1 (zh) 2017-08-31

Family

ID=59658376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/073203 WO2017143912A1 (zh) 2016-02-23 2017-02-10 一种数据处理方法及装置

Country Status (4)

Country Link
US (1) US11379271B2 (zh)
EP (1) EP3422211B1 (zh)
CN (1) CN107103009B (zh)
WO (1) WO2017143912A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094177A (zh) * 2021-04-21 2021-07-09 上海商汤科技开发有限公司 一种任务分发系统、方法、装置、计算机设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959500A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种对象存储方法、装置、设备及计算机可读存储介质
CN109165092B (zh) * 2018-07-10 2021-07-20 矩阵元技术(深圳)有限公司 一种基于有效算力贡献的共识方法、装置及系统
CN109240878B (zh) * 2018-08-20 2021-01-26 京东数字科技控股有限公司 数据处理方法和装置
CN112101541B (zh) * 2019-06-18 2023-01-17 上海寒武纪信息科技有限公司 对高位宽值数据进行拆分的装置、方法、芯片及板卡
CN110399418B (zh) * 2019-07-26 2022-04-12 北京明略软件系统有限公司 数据处理方法及装置、存储介质、电子装置
CN111190941A (zh) * 2019-12-30 2020-05-22 北京奇艺世纪科技有限公司 一种信息统计方法及装置
CN113239963B (zh) * 2021-04-13 2024-03-01 联合汽车电子有限公司 车辆数据的处理方法、装置、设备、车辆和存储介质
CN113115039B (zh) * 2021-04-13 2022-12-02 展讯通信(上海)有限公司 工作频率确定方法、装置和电子设备
CN113127691A (zh) * 2021-04-22 2021-07-16 神彩科技股份有限公司 一种废液数据处理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244055A1 (en) * 2003-05-29 2004-12-02 Tomomi Takada Circulating memory apparatus and image storage distribution system
CN102004670A (zh) * 2009-12-17 2011-04-06 华中科技大学 一种基于MapReduce的自适应作业调度方法
CN103324533A (zh) * 2012-03-22 2013-09-25 华为技术有限公司 分布式数据处理方法、装置及系统
CN105094981A (zh) * 2014-05-23 2015-11-25 华为技术有限公司 一种数据处理的方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032280A (ja) * 2000-07-13 2002-01-31 Ism Consulting Firm Kk 分散型サーバによるコンテンツ及びソフトウェア配信サービスシステム、及び分散型サーバによるコンテンツ及びソフトウェア配信方法、並びに情報記憶媒体
WO2012137347A1 (ja) * 2011-04-08 2012-10-11 株式会社日立製作所 計算機システム及び並列分散処理方法
CN103677752B (zh) 2012-09-19 2017-02-08 腾讯科技(深圳)有限公司 基于分布式数据的并发处理方法和系统
CN103226467B (zh) * 2013-05-23 2015-09-30 中国人民解放军国防科学技术大学 数据并行处理方法、系统及负载均衡调度器
JP6208259B2 (ja) * 2013-12-25 2017-10-04 株式会社日立製作所 要因抽出システム、要因抽出方法
JP6606875B2 (ja) * 2014-06-19 2019-11-20 富士通株式会社 情報処理装置及び情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040244055A1 (en) * 2003-05-29 2004-12-02 Tomomi Takada Circulating memory apparatus and image storage distribution system
CN102004670A (zh) * 2009-12-17 2011-04-06 华中科技大学 一种基于MapReduce的自适应作业调度方法
CN103324533A (zh) * 2012-03-22 2013-09-25 华为技术有限公司 分布式数据处理方法、装置及系统
CN105094981A (zh) * 2014-05-23 2015-11-25 华为技术有限公司 一种数据处理的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094177A (zh) * 2021-04-21 2021-07-09 上海商汤科技开发有限公司 一种任务分发系统、方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN107103009A (zh) 2017-08-29
EP3422211A1 (en) 2019-01-02
US11379271B2 (en) 2022-07-05
EP3422211B1 (en) 2021-11-24
US20210191783A1 (en) 2021-06-24
EP3422211A4 (en) 2019-01-02
CN107103009B (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
WO2017143912A1 (zh) 一种数据处理方法及装置
US9529626B2 (en) Facilitating equitable distribution of thread resources for job types associated with tenants in a multi-tenant on-demand services environment
US10311106B2 (en) Social graph visualization and user interface
US20180255009A1 (en) Emoji recommendation method and apparatus
WO2021036936A1 (zh) 在分布式系统中资源及任务的分配方法、装置及系统
US10402427B2 (en) System and method for analyzing result of clustering massive data
US10182024B1 (en) Reallocating users in content sharing environments
CN110909034B (zh) 一种业务数据的分配方法、装置、终端设备及存储介质
US8868583B2 (en) Similarity calculation apparatus
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
US20140129598A1 (en) Dynamic management of log persistence
CN111813902B (zh) 智能应答方法、系统及计算设备
US9965558B2 (en) Cross-channel social search
US20180082262A1 (en) Optimize meeting based on organizer rating
CN111932076A (zh) 一种规则配置和发布方法、装置及计算设备
CN113098974B (zh) 一种确定人口数量的方法、服务器及存储介质
CN115481026A (zh) 测试案例的生成方法、装置、计算机设备、存储介质
CN110909072A (zh) 一种数据表建立方法、装置及设备
CN110083438B (zh) 事务分发方法、装置、设备和存储介质
CN114676272A (zh) 多媒体资源的信息处理方法、装置、设备及存储介质
CN113660352A (zh) 一种服务器调度的方法、装置、电子设备及可读存储介质
US20230289651A1 (en) Dynamic information reduction using a velocity based machine learning model
US20180367492A1 (en) Providing notification based on dynamic group

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017755741

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017755741

Country of ref document: EP

Effective date: 20180924

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

Ref document number: 17755741

Country of ref document: EP

Kind code of ref document: A1