WO2016045367A1 - 一种多数据源数据融合的方法及装置 - Google Patents

一种多数据源数据融合的方法及装置 Download PDF

Info

Publication number
WO2016045367A1
WO2016045367A1 PCT/CN2015/076903 CN2015076903W WO2016045367A1 WO 2016045367 A1 WO2016045367 A1 WO 2016045367A1 CN 2015076903 W CN2015076903 W CN 2015076903W WO 2016045367 A1 WO2016045367 A1 WO 2016045367A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
time
fused
time series
control node
Prior art date
Application number
PCT/CN2015/076903
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 WO2016045367A1 publication Critical patent/WO2016045367A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to the field of data analysis technologies, and in particular, to a method and apparatus for data fusion of multiple data sources.
  • Time series data is a special kind of data, each record has a corresponding timestamp, and each record is arranged in the order of timestamp.
  • Today's social infrastructure is very developed, and the Internet, Internet of Things, mobile communications, mobile positioning and other systems are widespread, generating massive amounts of machine-generated data at every moment, reflecting all aspects of social life from different angles. Therefore, time-series analysis of machine-generated data is an important branch of big data analysis.
  • time-space data such as time-space trajectory
  • the analysis of this type of data has a wide range of needs in urban management, traffic analysis, business planning, logistics planning and other fields.
  • the time and space movement trajectory of the user can be observed through the location update log, the cell switching log, the mobile internet log, and the MR report, but since these logs are generated in different subsystems, they have their own limitations. Sex, so it is difficult to observe systematic user trajectories from any kind of log alone. These kinds of logs have exactly complementary relationships. The combination of these logs can obtain more detailed user mobility information, and therefore has higher analytical value.
  • Hadoop With the popularity of big data batch processing technology, Hadoop is gradually becoming an important means of massive data preprocessing. With the powerful sorting capability of Hadoop, the fusion of multi-data source time series files can be realized. However, Hadoop's divide and conquer strategy splits the original time series file, and can't effectively use the sorting features already in the original time series file, but it requires a lot of text. Merge and disk IO, resulting in inefficient use of Hadoop for time series data fusion.
  • the embodiment of the invention provides a method and a system for data fusion of multiple data sources, so as to solve the problem of complicated calculation and low integration efficiency when multi-data source data is fused.
  • an embodiment of the present invention provides a method for data fusion of multiple data sources, including:
  • the plurality of data access nodes receive the initialization notification sent by the control node, respectively read the summary information of each log file, generate a log file summary information record table, and send the log file to the control node;
  • the data processing node receives the sorting notification sent by the control node, and performs data fusion sorting according to the received timestamp sequence of each time series data.
  • the data processing node sets a data channel for each received time series data, and uniformly schedules time series data of each data channel for data fusion ordering.
  • the uniformly scheduling the time series data of each data channel for data fusion ordering comprises:
  • the data processing node randomly selects two data channels to be processed at a time, and performs time-sequence sorting on the time series data in the two data channels to generate a fused data channel; and through multiple iterations, all data channels are Time series data fusion sorting to a final fusion time sequence In the column data.
  • the foregoing method further includes:
  • the data processing node counts the number of log records of the current sorting process at the end of each data fusion sorting, and sends the log record quantity and the sorting completion notification to the control node;
  • the control node After receiving the sort completion notification, the control node notifies the data processing node to output the final merge time series data to the target file, and after the output of the data processing node is completed, according to the received The summary information record table sent by the data access node and the step size of the last several processing cycles, the number of processed log records, and the actual processing time, adjust the next step length, and the next step time Sended to the plurality of data access nodes.
  • control node adjusts according to the received summary information record table sent by the multiple data access nodes and the step size of the last several processing cycles, the number of processed log records, and the actual processing time.
  • the next stepping time includes:
  • ⁇ ( ⁇ 1 , ⁇ 2 , ⁇ 3 ), ⁇ 1 , ⁇ 2 , ⁇ 3 are the step times of the last three times;
  • a, b is the best approximation coefficient of the linear function f( ⁇ ).
  • the foregoing method further includes:
  • all the data channels to be fused are firstly fused by the time series data of each of the two data channels to obtain a plurality of fused data channels, and the time series data of the remaining one data channel is combined with the plurality of fused data channels at one time.
  • the summary information record table includes a file name, a total number of records, a record start line, a record end line, a record start time, and a record end time.
  • the method before the receiving, by the multiple data access nodes, the start clock and the step time notification sent by the control node, the method further includes:
  • the control node Determining, by the control node, the start clock and the calculation clock step duration according to the received summary information record table sent by the plurality of data access nodes; wherein the start clock is according to the plurality of summary information record tables
  • the method further includes: after the control node sends the stepping duration of the next step to the plurality of data access nodes, determining whether the clock corresponding to the step duration is greater than or equal to all the summary information records.
  • the latest timestamp of the log record in the table if it is greater than or equal to the latest timestamp, the sort end flag is set; when the output completion notification of the data processing node is received, the sorting is ended.
  • the above method further comprises a plurality of data processing nodes, wherein each data processing node is responsible for processing a fusion ordering of time series data sent by a group of data access nodes.
  • the embodiment of the present invention further provides a multi-data source data fusion system, including:
  • control node at least one data processing node, and a plurality of data access nodes, wherein
  • the control node is set to:
  • the data access node is set to:
  • the data processing node is configured to receive time series data sent by the multiple data access nodes, receive a sorting command sent by the control node, and perform fusion ordering on the received time series data according to a timestamp sequence.
  • the data processing node is further configured to:
  • the data processing node is further configured to:
  • the data processing node is further configured to:
  • all the data channels to be fused are firstly fused by the time series data of each of the two data channels to obtain a plurality of fused data channels, and the time series data of the remaining one data channel is combined with the plurality of fused data channels at one time.
  • control node is further configured to:
  • Receiving the log record number and the output completion notification sent by the data processing node according to the received log summary information record table sent by the plurality of data processing nodes, and the step size and the processed log of the last several processing cycles.
  • the number of records and the actual processing time are calculated, and the step length of the next step is calculated, and the step length of the next step is sent to the plurality of data access nodes.
  • control node adjusts the next step according to the received summary information record table sent by the multiple data processing nodes, the step size of the last several processing cycles, the number of processing log records, and the actual processing time.
  • the stepping time includes:
  • ⁇ ( ⁇ 1 , ⁇ 2 , ⁇ 3 ), ⁇ 1 , ⁇ 2 , ⁇ 3 are the step times of the last three times;
  • a, b is the best approximation coefficient of the linear function f( ⁇ ).
  • the summary information record table includes a file name, a total number of records, a record start line, a record end line, a record start time, and a record end time.
  • control node is further configured to:
  • control node further sets a sorting end flag, and the control node determines, according to the stepping duration of the next step, to the plurality of data access nodes, Whether the clock is greater than or equal to the latest timestamp of the log records in all the summary information record tables; if greater than or equal to the latest timestamp, the sort end flag is set; when the output completion notification of the data processing node is received When, the sort is finished.
  • each data processing node is responsible for processing a fusion ordering of time series data sent by a group of data access nodes.
  • An embodiment of the present invention further provides a computer readable storage medium, where the storage medium stores a computer program, where the computer program includes program instructions, when the program instruction is executed by a multi-data source data fusion device, enabling the device to perform the above Multi-data source data fusion method.
  • the distributed fusion data sorting method and system utilizes the time stamp and the sorting feature of the time series log file generated by each machine, and uniformly controls the time line of the fusion clock through the central control node, which can be implemented in a data processing node.
  • Uniform fusion ordering of time series of different data sources, and multiple data processing nodes can be distributedly arranged, and each data processing point separately processes unified fusion ordering of time series data of corresponding multiple data access nodes to realize parallel Processing.
  • the embodiment of the present invention can save computation, reduce memory usage, improve overall throughput efficiency, and facilitate integration processing of big data.
  • FIG. 1 is a schematic diagram of a distributed networking architecture for multi-data source data fusion according to an embodiment of the present invention
  • FIG. 2 is a flow chart of a method for data fusion of multiple data sources according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a method for data fusion of multiple data sources according to an exemplary embodiment of the present invention
  • FIG. 4 is a schematic diagram of a data channel fusion process of a data processing node according to an embodiment of the present invention
  • 4a is a schematic diagram of a data channel fusion manner in which an data channel is an odd number according to an embodiment of the present invention
  • 4b is a schematic diagram of a data channel fusion manner in which an data channel is an odd number according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a system apparatus for data fusion of multiple data sources according to an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a distributed networking architecture for multi-data source data fusion according to an embodiment of the present invention.
  • the distributed networking structure includes a central control node, at least one data processing node, and a plurality of data access nodes (for simplicity, only one data processing node is shown in the figure).
  • the central control node is the core for realizing multi-data source time series data fusion sorting, and is responsible for uniformly scheduling the log files of each data access node to be sent to the data processing node, and performing unified fusion sorting in the data processing node.
  • Each data access node is responsible for a type of log file, and each day file has timestamp information. Therefore, after converting different types of log files into a unified data format, all kinds of log files in a certain time granularity can be uniformly sorted in the data processing nodes according to the order of time stamps.
  • the embodiment of the present invention provides a method for data fusion of multiple data sources, as shown in FIG. 1 .
  • the method includes:
  • Step S10 The plurality of data access nodes receive the initialization notification of the central control node, respectively read the summary information of each log file, generate a log file summary information record table, and send the log file summary information record table to the central control node;
  • Each data access node is responsible for batch extraction and format conversion of a type of log file (such as a batch of log files from a sensor or a system), and the log records in each log file respectively include different timestamps. .
  • Step S20 receiving a start clock and a clock step duration sent by the central control node, respectively converting the log records in the range of the step time in each of the log files into a time-series data format set by the system, and transmitting To at least one data processing node.
  • the start clock is determined by all data access nodes
  • the earliest timestamp of the log record in the log file summary information reported to the central control node is determined.
  • the minimum time granularity of the timestamp may be milliseconds
  • the start clock may be intercepted to the second, or may be intercepted according to the actual requirements of the system sorting.
  • the other step size is set by the central control node, and the set value can be adaptively adjusted by the central control node during the data fusion sorting process.
  • the central control node can set a uniform clock stepping time, requiring each data access node to All time series data (that is, all log records whose timestamp falls within the clock step) within the clock step time (or within the step period) is sent in bulk to the data processing node.
  • the central control node is responsible for the unified starting clock and the step progress of the entire fusion sorting system, and the log files of the plurality of data access nodes can be sent to a data processing node for fusion sorting, or
  • multiple data access nodes are first grouped, and multiple data access nodes of each group correspond to one data processing node, thereby realizing multi-data access nodes under unified management of the central control node.
  • the central control node further calculates an initial clock step duration according to the log file summary information record table from the plurality of data access nodes, and sends the step duration to the
  • the plurality of data access nodes may also configure a clock step duration by default according to experience.
  • the summary information record table includes: a file name, a total number of records, a record start line, a record end line, a record start time, and a record end time.
  • Step S30 The data processing node performs data fusion sorting according to timestamp order for all time series data from different data access nodes.
  • the data processing node receives the time series data from each data access node. Since the formats of the various time series data are the same, the received log file data can be fused and sorted according to the time stamp.
  • the data processing node may set a data channel for each type of log file data.
  • the time series data of each data channel is uniformly scheduled for fusion sorting.
  • the uniformly scheduling the time series data of each data channel for data fusion ordering includes:
  • the data processing node randomly selects two data channels to be processed at a time, and performs time-sequence sorting on the time series data in the two data channels to generate a fused data channel; and through multiple iterations, all data channels are Time series data fusion is ordered into a final fused time series data.
  • all the data channels to be fused are fused by the time series data of each of the two data channels to obtain a plurality of fused data channels, and the time series data of the remaining one data channel is combined with the plurality of fused data channels at one time.
  • Step S40 After the data fusion node ends, the data processing node counts the number of log records processed in the current process, and sends the log record quantity and the sort completion notification to the central control node;
  • the central control node After receiving the sort completion notification, the central control node notifies the data processing node to output the final merge time series data to the target file, and after the output of the data processing node is completed, according to the multiple The summary information record table sent by the data processing node and the step size of the last several processing cycles, the number of processed log records, and the actual processing time, adjust the size of the next clock stepping time, and the next clock The stepping time is sent to the plurality of data access nodes.
  • the total throughput efficiency of the system can be optimized.
  • the selection principle of the clock stepping length is to ensure the total record input to the data processing node in one clock step cycle. The number is in a reasonable range.
  • the central control node may adjust the next step according to the summary information record table sent by the multiple data processing nodes and the step size of the last several processing cycles, the number of processed log records, and the actual processing time. The size of the length of time.
  • the number of the log records to be processed refers to the number of log records actually processed during each merge sorting, and is reported to the central control node by the data processing node after each merge sorting is completed and before the sort result is output;
  • the time is the sum of the clock stepping time and the fusion sorting time, which is calculated by the central control node. Therefore, the data processing node needs to send a sorting completion notification to the central control node in time after each data fusion sorting is completed.
  • the central control node adjusts the stepping step according to the summary information record table sent by the plurality of data processing nodes and the step size of the last several processing cycles, the number of processed log records, and the actual processing time.
  • the size of the duration includes:
  • the least squares fitting method is used to calculate the average per second.
  • the best linear approximation function f( ⁇ ) a ⁇ +b for processing the number of records f( ⁇ ). If a>0.1, the stepping time of the next step is increased by 10%. If a ⁇ -0.1, the next step is The duration is reduced by 10%, otherwise the stepping time remains the same;
  • ⁇ 1 , ⁇ 2 , ⁇ 3 ⁇ , a, b is the best approximation coefficient of the linear function f( ⁇ );
  • the central control node broadcasts a notification to each data access node for initialization.
  • each data access node collects summary information of the log file, and generates a log file summary information record table; the log records in the log file respectively include timestamps;
  • Each data access node sends a summary information record table of the log file to the central control node;
  • the central control node determines, according to the received summary information record table, a start clock of the log record to be processed, and a clock step duration, and sends the data to each of the data access nodes; the initial clock step duration may be received according to All summary information records are calculated, or they can be configured by default. Set, for example, 10 seconds; the start clock is determined by the earliest timestamp of the log records in all the summary information records received; for example, if the earliest timestamp is 2014.01.01.07:00:01:009 (milliseconds), then the start The clock can be determined to be 2014.05.01.07:00:01 (seconds).
  • the summary information record table includes: a file name, a total number of records, a record start line, a record end line, a record start time, a record end time, and the like;
  • the processing schedule includes: a file name, a processing sequence number, a processing status, a current line pointer, a current line time stamp, and the like.
  • S102 The central control node sends the start clock and the clock step duration to each data access node.
  • each data access node After receiving the start clock and the clock step duration notification, each data access node converts all the log records whose time stamps are within the step duration (or within the step period) into a system-set time.
  • the sequence data format is sent to the corresponding data processing node in batches for fusion sorting.
  • Each data access node may calculate a log file and a record line involved in the current step period according to the start time, the step time, and the summary information record table in the notification, and set a processing schedule, and the current step period After the involved log records are converted into a unified time series data format set by the system, they are sent to the data processing node in batches for fusion sorting.
  • the start clock of the system notification is 2014.05.01.07:00:01
  • the clock step length is 10S
  • the log record start time of the log summary information record table of the data access node A is 2014.05.01.07:00:01: 099
  • the start time of the log summary information record record of the data access node B is 2014.05.01.07:00:05:003
  • the central control node can determine the start clock is 2014.05.01.07:00:01, assuming the initial clock
  • the step size is 10S
  • node A needs to record all the log records with the timestamps at 2014.05.01.07:00:01 ⁇ 07:00:11, convert the format and send them to the data processing node in batches
  • Node B will set the timestamp at 2014.05.01.07. All log records between 00:05 and 01:00:11 are converted to the data processing node in batches.
  • Each log record of each data node is referenced by the start time and the step length, and the log records that need to be batch extracted are determined, formatted and sent to the data processing node.
  • the start time is T0
  • the step length is S1, S2, S3, ... Sn
  • the first step is T0 ⁇ T0 + S1
  • the second step is T0 + S1 ⁇ T0 + S1 + S2,...
  • the stepping period for the nth batch extraction is S1, S2, ...
  • Sn may be the same or different
  • the central control node determines according to the system operation.
  • S108 The data processing node starts multiple threads, and performs iteratively sorting the time series data in each of the two data channels, and finally merges into a unique fusion time series data.
  • the data processing node separately sets a data channel (or a data buffer unit) for each data access node, and is configured to buffer the batch log file (time series data in a unified format) sent by the corresponding data access node;
  • the time series data of each two data channels are fused in a time stamp order to form a fused data channel;
  • FIG. 4 is a schematic diagram of a data channel fusion process of a data processing node according to an embodiment of the present invention.
  • 4a is a schematic diagram of a data channel fusion manner in which an data channel is an odd number according to an embodiment of the present invention
  • the time series data of each data channel to be merged is first fused and sequenced in the order of timestamps. After multiple iterations, a single fused data channel is obtained, and one data channel remains. The time series data is fused with the time series data of the single fused data channel to obtain a final fusion ranking result.
  • 4b is a schematic diagram of a data channel fusion manner in which an data channel is an odd number according to another embodiment of the present invention.
  • the time series data of each data channel to be merged is first fused in a time-series order to obtain multiple data channels of one fusion order, and the time sequence of the remaining one data channel. And merging the data with one of the plurality of one-time fused sorted data channels to obtain a second fused sorted data channel, and then arranging the one second merge-sorted data channel with the plurality of The other fused data channels in the data channel of the fused sequence are iteratively processed by the fusion ordering of each of the two fused data channels to obtain the final fusion sorting result.
  • the time series data in the long period of each step is advanced, and the time series data may be fused according to the minimum time granularity (such as milliseconds) of the time stamp.
  • the minimum time granularity such as milliseconds
  • other time granularities may also be selected according to the system processing capability and the actual situation of the data source, and the present invention is not particularly limited.
  • the central control node first determines whether the log records of all the data nodes are sorted, and if so, the current merge sorting ends; if not, step S114;
  • the central control node determines the starting clock of the system sorting according to the earliest time stamp of the log records in all the log file summary information tables received, the stepping time sent to each data access node is the same, and each time The latest time stamp of the log file summary information table may be different. Therefore, when the step length is calculated last time, it can be compared whether the time corresponding to the calculated step duration exceeds the latest time stamp of the log records of all summary information records. If it exceeds, it means that all the log records in the log file that all data access nodes are responsible for during this stepping cycle will be all The step is sent to the data processing node and the fusion ordering is completed.
  • the central control node may set an end flag Flag, and according to the summary information record table sent by each data access node, determine whether the timestamp involved in the stepping time (such as Sn) in the current sorting exceeds all the summary record information tables.
  • S114 Adjust the step length according to the step size of the last processing cycle, the number of processed logs, and the actual processing time to optimize the throughput of the entire system.
  • step S102 After the central control node calculates the step length of the next step, the process goes to step S102, and the calculated step time of the next step is sent to each data access node, and the system performs the next round of time series data fusion. .
  • an adaptive adjustment algorithm can be used to adjust the stepping time of the next step.
  • the processing time of the last three sorts ie, the sum of the time in the clock step and the merge sort
  • the total number of records in the last three sorts is l 1 , l 2 , l 3 , respectively
  • the adaptive adjustment algorithm of the stepping time is: based on the last three steps and the average number of records per second, the least squares fitting method is used to calculate the optimal linear approximation function:
  • f( ⁇ ) a ⁇ +b. If a>0.1, the stepping time of the next step is increased by 10%. If a ⁇ -0.1, the stepping time of the next step is reduced by 10%. Otherwise, the stepping time remains unchanged. ;
  • ⁇ ( ⁇ 1 , ⁇ 2 , ⁇ 3 ), ⁇ 1 , ⁇ 2 , ⁇ 3 are the last three stepping time lengths
  • a, b is the best approximation coefficient of the linear function f( ⁇ ).
  • the specific calculation method belongs to the prior art and will not be described here.
  • next stepping time is increased by 10% and adjusted to 11s. If a ⁇ -0.1, the next stepping time is reduced by 10%, and the adjustment is 9s. For a other case, the next step length is unchanged, still 10s; and so on.
  • the data processing nodes may be grouped according to different data access nodes of each group, and the central control node separately calculates the starting clock and the stepping time according to the time management threads of each group, and sends the data to the corresponding
  • the data access node can be used, and the coordination of other control timings can be processed correspondingly according to the situation of the single data processing node described above.
  • data processing node E1 is responsible for processing data fusion ordering of the data access nodes A1, B1, C1, D1
  • the data processing node E2 is responsible for processing the data access nodes A2, B2.
  • C2 data fusion ordering
  • data processing node E3 is responsible for processing the data fusion order of data access nodes A3, D3, as long as the different time management threads are set in the central control node, and will not be described here.
  • the above distributed data sorting method utilizes the existing time division (time stamp) and sorting features of the time series log files generated by each machine, and uniformly controls the time line of the fusion clock through the central control node, thereby realizing multiple different data sources.
  • the distributed parallel fusion sorting process of the time series can simultaneously set multiple data processing nodes in a distributed manner, respectively process the time series data of the corresponding data access nodes, and realize parallelization processing compared with the prior art, thereby saving calculation
  • the amount of memory reduces the memory usage, improves the overall throughput efficiency, and facilitates the fusion processing of big data.
  • an embodiment of the present invention provides a system apparatus for multi-data source time series data fusion, as shown in FIG. 5, including a central control node 501, a plurality of data access nodes 502, and at least one data processing node 503.
  • Each node includes a processor, a program storage unit, and a data storage unit, respectively;
  • the central control node 501 is configured to send a system initialization notification to each data access node, receive a diary file summary information record table sent by each data access node, determine a start clock, and calculate a clock step duration. And sending the start clock and the stepping time to each of the data access nodes, and receiving a log record sending completion notification fed back by each data access node 502;
  • the summary information record table includes: a file name, a total number of records, a record start line, a record end line, a record start time, and a record end time.
  • the data access node 502 is configured to:
  • Each data access node is responsible for batch extraction and format conversion of a type of log file (such as a batch of log files from a sensor or a system), and the log records of each log file include time stamps for convenience. For the fusion sorting of data, it is necessary to convert different types of log records into unified time series data.
  • the at least one data processing node 503 is configured to receive the batch time series data sent by each data access node, receive the command of the central control node, perform the fusion ordering of the time series data, and perform statistics every time after the fusion sorting ends.
  • the number of log records processed by the sorting process is fed back to the central control node for the number of log records processed and the sorting completion notification; the output sorting result notification sent by the receiving center control node outputs the result of the merge sorting to the target file.
  • the data processing node is configured to set a data channel for each type of log file data, and uniformly schedule time series data of each data channel for data fusion sorting.
  • the data processing node uniformly schedules time series data of each data channel for data fusion ordering, including:
  • the time series data of each of the two data channels is first fused and sequenced in the order of timestamps after all the data channels to be fused, and after obtaining a single fused data channel after multiple iterations, The time series data of the remaining one data channel is fused with the time series data of the single fused data channel to obtain a final fusion sorting result;
  • all the data channels to be merged are time-series data of each of the two data channels, and are fused in a time-stamped order to obtain a plurality of once-fused data channels, and the time-series data of the remaining one data channel is compared with the plurality of times. Converging the time series data into one of the fused data channels to obtain a fused data channel, and then performing the fused data channel and the other fused data channels of the plurality of once fused data channels for each of the two fused data channels The fusion ordering iteration of the channel yields the final fusion sort result.
  • the central control node is further configured to: after receiving the sort result output completion notification fed back by the data processing node, according to the summary information record table sent by the plurality of data processing nodes and the step of the last several processing cycles The size, the number of processed logs, and the actual processing time are adjusted, and the step size of the next step is adjusted, and the step time of the next step is notified to the plurality of data access nodes.
  • the central control node adjusts the size of the next advance time according to the statistical information sent by the multiple data processing nodes, the step size of the last processing cycle, the number of processing log records, and the actual processing time. :
  • ⁇ 1 , ⁇ 2 , ⁇ 3 ⁇ , ⁇ 1 , ⁇ 2 , ⁇ 3 are the last three stepping durations
  • a, b is the best approximation coefficient of the linear function f( ⁇ );
  • the central control node further sets a system sorting end flag.
  • the flag is set to 1
  • the central control node receives the fusion sorting end notification sent by the data processing node, the stepping duration is no longer calculated and transmitted.
  • the central control node determines the stepping time each time the step length of the next step is calculated Whether the maximum time involved in the duration is greater than or equal to the latest timestamp of the log records of all summary information records, and if so, sets the end flag to 1.
  • the data processing node may be distributed, and each data processing node is responsible for processing a fusion order of time series data of a group of data access nodes, and the central control node uniformly performs coordinated management of time threads.
  • the above distributed data sorting system utilizes the existing time division (time stamp) and sorting features of the time series log files generated by each machine, and uniformly controls the time line of the fusion clock through the central control node, thereby realizing a multi-data processing node Uniform fusion ordering of different data source time series, and multiple data processing nodes can be distributed at the same time, and each data processing node separately processes the unified fusion ordering of the time series data of the corresponding multiple data access nodes, and realizes parallel Processing.
  • the method and system of the embodiments of the present invention can save computation, reduce memory usage, improve overall throughput efficiency, and facilitate integration processing of big data.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve. Thus, the invention is not limited to any specific combination of hardware and software.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • each device/function module/functional unit in the above embodiment When each device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the distributed fusion data sorting scheme utilizes the existing time division (time stamp) and the sorting feature of the time series log file generated by each machine, and uniformly controls the time line of the fusion clock through the central control node, which can be in one
  • the data processing node implements unified fusion ordering of multiple different data source time series, and can set multiple data processing nodes in a distributed manner, and each data processing point separately processes the unified fusion of the time series data of the corresponding multiple data access nodes. Sorting, parallelization processing, saving computation, reducing memory usage, improving overall throughput efficiency, and conducive to big data fusion processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种分布式融合数据排序方法及系统,所述方法利用各机器生成的时间序列日志文件的时间戳和排序特征,通过中心控制节点统一控制融合时钟的时间线,由一个数据处理节点对来自多个不同数据接入节点的时间序列数据的进行统一融合排序。此外,通过分布式设置多个数据处理节点,每个数据处理节点分别处理相应的多个数据接入节点的时间序列数据的统一融合排序,实现并行化处理。可以节省计算量,降低内存占用,提高整体吞吐效率,有利于大数据的融合处理。

Description

一种多数据源数据融合的方法及装置 技术领域
本发明涉及数据分析技术领域,尤其涉及多数据源数据融合的方法和装置。
背景技术
大数据技术的发展为海量数据的分析提供了保证,使得大量机器生成的海量数据能够得到有效的挖掘。
时间序列数据是一类特殊的数据,每条记录都有一个相应的时间戳,各条记录按照时间戳的先后顺序排列。当今社会基础设施十分发达,互联网、物联网、移动通讯、移动定位等系统广泛存在,每时每刻产生海量的机器生成的数据(Machine-generated data),从不同的角度反映了社会生活的方方面面,因此对机器生成数据的时间序列分析是大数据分析的一个重要分支。
数据分析往往需要从不同的数据源整合数据,而时间序列数据的整合尤其特殊。在对多数据源时间序列数据进行整合时,其整合的结果仍然要求是时间序列,即各条记录按照时间戳排序。
比如,时空轨迹这种时间序列数据,对该类数据的分析在城市管理、交通分析、商业策划、物流规划等领域都有广泛的需求。在移动通讯网络中,通过位置更新日志、小区切换日志、移动上网日志、MR报告都可以观测到用户的时空移动轨迹,但是因为这几种日志产生于不同的子系统,且本身都有其局限性,所以单独从任何一种日志中都很难观测到系统性的用户轨迹。而这几种日志恰恰又有互补关系,融合这几种日志能够获得更详实的用户移动性信息,因此也拥有更高的分析价值。
随着大数据批处理技术的普及,Hadoop正逐渐成为海量数据预处理的一种重要手段,利用Hadoop强大的排序能力,可以实现对多数据源时间序列文件的融合。但Hadoop的分而治之策略对原始时间序列文件进行了分割,无法有效的利用原始时间序列文件中已有的排序特性,却需要大量的文 件合并和磁盘IO,导致使用Hadoop做时间序列数据融合时效率很低。
Matlab等常用数据分析软件提供了时间序列融合的功能,但这些功能对序列间时间重叠关系的要求比较严格,一般要求原始的序列间没有时间重叠,或者只能在原始序列的首尾时间点重叠。这些限制使得它并不适合做通用的多数据源时间序列融合,如融合来自不同系统的日志数据。
使用消息中间件对接各系统,实时采集各系统数据也是一种时间序列数据融合方法。但这种方式对原有系统影响很大,需要增加新的设备,甚至需要对原系统做改动,实施起来难度较高。
发明内容
本发明实施例提供一种多数据源数据融合的方法及系统,以解决多数据源数据的融合时,计算复杂,融合效率低的问题。
为解决上述技术问题,本发明实施例提供了一种多数据源数据融合的方法,包括:
多个数据接入节点接收控制节点发送的初始化通知,分别读取每个日志文件的概要信息,生成日志文件概要信息记录表,发送给所述控制节点;
接收所述控制节点发送的起始时钟和步进时长通知,分别将所述步进时长内的日志记录转换成设定的时间序列数据格式,并将所述时间序列数据发送给数据处理节点,向所述控制节点反馈发送完成通知;
所述数据处理节点接收所述控制节点发送的排序通知,按接收到的每个时间序列数据的时间戳顺序进行数据融合排序。
可选地,其中,所述数据处理节点为收到的每个时间序列数据设置一个数据通道,统一调度各个数据通道的时间序列数据进行数据融合排序。
可选地,其中,所述统一调度各个数据通道的时间序列数据进行数据融合排序包括:
所述数据处理节点每次随机选择两个待处理的数据通道,对所述两个数据通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代,将所有数据通道中的时间序列数据融合排序到一个最终的融合时间序 列数据中。
可选地,上述方法还包括:
所述数据处理节点在每次数据融合排序结束时,统计本次排序处理的日志记录数量,向所述控制节点发送所述日志记录数量和排序完成通知;
所述控制节点接收到所述排序完成通知后,通知所述数据处理节点将最终的融合时间序列数据输出到目标文件,并在所述数据处理节点的输出完成后,根据收到的所述多个数据接入节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数量和实际处理时间,调整下一步的步进时长,并将所述下一步的步进时长发送给所述多个数据接入节点。
可选地,其中,所述控制节点根据收到的所述多个数据接入节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数量和实际处理时间,调整下一步的步进时长包括:
基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘法拟合法计算每秒平均处理记录数f(Δ)的最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
其中:Δ∈(Δ123),Δ1、Δ2、Δ3分别为最近三次的步进时长;
a,b为线性函数f(Δ)的最佳逼近系数。
可选地,上述方法还包括:
当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据进行融合排序,多次迭代后得到单个融合的数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合的数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据融合排序得到多个一次融合的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合的数据通道中的一个进行时间序列数据的融合排序以得到一个二次融合的数据通道,然后将所述一个二次融合的数据通道与所述多个一次融合数据通道中的其它融合数据通道,进行每两个融合数据通道的融 合排序,多次迭代得到最后的融合排序结果。
可选地,其中,所述概要信息记录表,包括文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
可选地,在所述多个数据接入结点接收所述控制节点发送的起始时钟和步进时长通知前,还包括:
所述控制节点根据收到的所述多个数据接入节点发送的概要信息记录表,确定起始时钟和计算时钟步进时长;其中,所述起始时钟根据所述多个概要信息记录表中日志记录的最早时间戳确定;初始步进时长为C/Max(AVGi),其中,AVGi表示所述控制节点收到的每个日志文件的平均每秒日志条数i=1,2,3,…,n;代表n个日志文件,C为一个设定值,步进时长的单位为秒。
可选地,上述方法还包括所述控制节点在每次将下一步的步进时长发给所述多个数据接入节点后,判断该步进时长对应的时钟是否大于或等于所有概要信息记录表中的日志记录的最晚时间戳;如果大于或等于所述最晚时间戳,则设置排序结束标志;当收到所述数据处理节点的输出完成通知时,结束排序。
可选地,上述方法还包括多个数据处理节点,其中每个数据处理节点负责处理一组数据接入节点发送的时间序列数据的融合排序。
为解决上述技术问题,本发明实施例还提供一种多数据源数据融合系统,包括:
一个控制节点、至少一个数据处理节点和多个数据接入节点,其中
所述控制节点设置为:
为向所述多个数据接入节点发送系统初始化通知,接收所述多个数据接入节点发送的日志文件概要信息记录表,确定起始时钟和时钟步进时长,并将所述起始时钟和时钟步进时长发送给所述多个数据接入节点;
所述数据接入节点设置为:
接收到所述控制节点发送的初始化通知时,读取每个日志文件的概要信 息,生成日志文件概要信息记录表,将所述概要信息记录表发送给所述控制节点;
接收所述控制节点发送的起始时钟和时钟步进时长,将时间戳处于该时钟步进时长范围内的日志记录转换成设定的时间序列数据格式,并将所述时间序列数据发送到所述数据处理节点,向所述控制节点反馈发送完成通知;
所述数据处理节点设置为接收所述多个数据接入节点发送的时间序列数据,接收所述控制节点发送的排序命令,按时间戳顺序进行对接收的时间序列数据进行融合排序。
可选地,其中,所述数据处理节点还设置成:
为接收到的每类时间序列数据设置一个数据通道,每次随机选择两个待处理的数据通道,对所述两个数据通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代,将所有数据通道中的时间序列数据融合排序到一个最终的融合时间序列数据中。
可选地,其中,所述数据处理节点还设置为:
在每次时间序列数据融合排序结束时,统计本次排序处理的日志记录数量,向所述控制节点发送所述日志记录数量和排序完成通知;
接收所述控制节点发送的输出排序结果通知,将最终的融合时间序列数据输出到目标文件。
可选地,其中,所述数据处理节点还设置为:
当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据进行融合排序,多次迭代后得到单个融合的数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合的数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据融合排序得到多个一次融合的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合的数据通道中的一个进行时间序列数据的融合排序以得到一个二次融合的数据通道,然后将所述一个二次融合的数据通道与所述多个一次融合数据通道中的其它融合数据通道,进行每两个融合数据通道的融 合排序,多次迭代得到最后的融合排序结果。
可选地,其中,所述控制节点还设置为:
接收到所述数据处理节点发送的排序完成通知后,通知所述数据处理节点将最终的融合时间序列数据输出到目标文件;
接收到所述数据处理节点发送的日志记录数量和输出完成通知后,根据收到的所述多个数据处理节点发送的日志概要信息记录表以及最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,计算下一步的步进时长,并将所述下一步的步进时长发送给所述多个数据接入节点。
可选地,其中,所述控制节点根据收到的所述多个数据处理节点发送的概要信息记录表以及最近几次处理周期的步进大小、处理日志记录数和实际处理时间,调整下一步的步进时长包括:
基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘法拟合法计算每秒平均处理记录数f(Δ)的最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
其中:Δ∈(Δ123),Δ1、Δ2、Δ3分别为最近三次的步进时长;
a,b为线性函数f(Δ)的最佳逼近系数。
可选地,其中所述概要信息记录表,包括文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
可选地,其中,所述控制节点还设置为:
根据所述多个数据接入节点发送的概要信息记录表,确定起始时钟和计算初始时钟步进时长,并将所述起始时钟和初始时钟步进时长发送给所述多个数据接入节点;其中所述起始时钟是由所述多个概要信息记录表中的日志记录的最早时间戳确定;初始步进时长为C/Max(AVGi),其中,AVGi表示所述控制节点收到的每个日志文件的平均每秒日志条数i=1,2,3,…,n;代表n个日志文件,C为一个设定值,步进时长的单位为秒。
可选地,其中,所述控制节点还设置排序结束标志,所述控制节点在每次将下一步的步进时长发给所述多个数据接入节点后,判断该步进时长对应 的时钟是否大于或等于所有概要信息记录表中的日志记录的最晚时间戳;如果大于或等于所述最晚时间戳,则设置排序结束标志;当收到所述数据处理节点的输出完成通知时,结束排序。
可选地,还包括多个数据处理节点,其中每个数据处理节点负责处理一组数据接入节点发送的时间序列数据的融合排序。
本发明实施例还提供一种计算机可读存储介质,所述存储介质存储有计算机程序,该计算机程序包括程序指令,当该程序指令被多数据源数据融合设备执行时,使得上述设备可执行上述多数据源数据融合的方法。
本发明实施例提供的分布式融合数据排序方法及系统,利用各机器生成的时间序列日志文件的时间戳和排序特征,通过中心控制节点统一控制融合时钟的时间线,可以在一个数据处理节点实现对多个不同数据源时间序列的统一融合排序,并且可以分布式设置多个数据处理节点,每个数据处理点分别处理相应的多个数据接入节点的时间序列数据的统一融合排序,实现并行化处理。与相关技术相比,本发明实施例可以节省计算量,降低内存占用,提高整体吞吐效率,有利于大数据的融合处理。
附图概述
图1是本发明实施例的一种多数据源数据融合的分布式组网架构示意图;
图2是本发明一实施例的多数据源数据融合的方法流程图;
图3是本发明一示例性实施例的多数据源数据融合的方法示意图;
图4是本发明实施例的数据处理节点的数据通道融合过程示意图;
图4a是本发明一实施例的数据通道为奇数的数据通道融合方式示意图;
图4b是本发明另一实施例的数据通道为奇数的数据通道融合方式示意图;
图5是本发明一实施例的多数据源数据融合的系统装置示意图。
本发明的较佳实施方式
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明一实施例的多数据源数据融合的分布式组网架构示意图。
如图1所示,该分布式组网结构包括一个中心控制节点、至少一个数据处理节点和多个数据接入结点(为简单起见,图中仅示出了一个数据处理节点的情形)。其中,中心控制节点是实现多数据源时间序列数据融合排序的核心,负责统一调度各个数据接入节点的日志文件发送到数据处理节点,在数据处理节点中进行统一融合排序。其中,每个数据接入节点负责一类日志文件,每个日子文件都带有时间戳信息。因此,将不同类别的日志文件,转换成统一的数据格式后,在一定时间粒度内的各类日志文件可以按时间戳的先后顺序,在数据处理节点进行统一的数据融合排序。
基于上述分布式组网架构,本发明实施例提供一种多数据源数据融合的方法,参见图1。该方法包括:
步骤S10:多个数据接入节点收到中心控制节点的初始化通知,分别读取每个日志文件的概要信息,生成日志文件概要信息记录表,发送给中心控制节点;
其中,每个数据接入节点负责一类日志文件(如来自某个传感器或某个系统的一批日志文件)的批量抽取和格式转换,每个日志文件中的日志记录分别包括不同的时间戳。
步骤S20:接收中心控制节点发送的起始时钟和时钟步进时长,分别将所述每个日志文件中处于该步进时长范围内的日志记录转换成系统设定的时间序列数据格式,并发送到至少一个数据处理节点。
在进行日志记录数据的统一融合排序前,需要将不同类别的日志记录转换成统一格式的时间序列数据;其中,所述起始时钟是由所有数据接入节点 上报给中心控制节点的日志文件概要信息中的日志记录最早时间戳确定,例如时间戳的最小时间粒度可能是毫秒,起始时钟可以截取到秒即可,也可以根据系统排序的实际要求,截取到其它时间粒度;所述步进时长由中心控制节点设定,在数据融合排序过程中,可以由中心控制节点自适应地调整设定值。
为确保多数据源时间序列数据能够进行合理的融合排序,需要对不同数据接入节点的日志记录进行统一的批量抽取,中心控制节点可以设置统一的时钟步进时长,要求各数据接入节点将该时钟步进时长内(或步进周期内)的所有时间序列数据(即时间戳落在该时钟步长范围内的所有日志记录),批量发送到数据处理节点。
由于本发明实施例采用分布式控制,中心控制节点负责整个融合排序系统的统一起始时钟和步进步长,多个数据接入节点的日志文件可以送到一个数据处理节点进行融合排序,也可以根据地理位置和节点处理能力等要求,将多个数据接入节点先进行分组,每组的多个数据接入节点对应一个数据处理节点,从而实现中心控制节点统一管理下的多数据接入节点和多数据处理节点的分布式融合排序。
可选地,在步骤S20前,还包括所述中心控制节点根据来自所述多个数据接入节点的日志文件概要信息记录表,计算初始时钟步进时长,并将所述步进时长发送给所述多个数据接入节点,也可以根据经验,缺省配置一个时钟步进时长。
可选地,所述概要信息记录表,包括:文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
步骤S30:所述数据处理节点对来自不同数据接入节点的所有时间序列数据,按照时间戳顺序进行数据融合排序。
数据处理节点接收来自每个数据接入节点的时间序列数据,由于各类时间序列数据的格式相同,因此可以按时间戳的先后为依据对接收到的各类日志文件数据进行融合排序。
可选地,所述数据处理节点可以为每类日志文件数据设置一个数据通道, 统一调度各个数据通道的时间序列数据进行融合排序。
可选地,所述统一调度各个数据通道的时间序列数据进行数据融合排序包括:
所述数据处理节点每次随机选择两个待处理的数据通道,对所述两个数据通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代,将所有数据通道中的时间序列数据融合排序到一个最终的融合时间序列数据中。
当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据进行融合排序,多次迭代后得到单个融合数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据融合排列得到多个一次融合的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合的数据通道中的一个进行时间序列数据的融合排列以得到一个二次融合的数据通道,然后将所述一个二次融合的数据通道与所述多个一次融合的数据通道中的其它融合数据通道,进行每两个融合数据通道的融合排序迭代,得到最后的融合排序结果。
步骤S40:所述数据处理节点在每次数据融合排序结束后,统计本次处理的日志记录数量,向所述中心控制节点发送所述日志记录数量和排序完成通知;
所述中心控制节点接收到所述排序完成通知后,通知所述数据处理节点将所述最终的融合时间序列数据输出到目标文件,并在所述数据处理节点的输出完成后,根据所述多个数据处理节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数量和实际处理时间,调整下一步的时钟步进时长的大小,并将所述下一步的时钟步进时长发送给所述多个数据接入节点。
通过动态调整步进时长,可以使系统的总吞吐效率最优。时钟步进时长大小的选择原则为,保证一次时钟步进周期中输入到数据处理节点的总记录 数在一个合理的范围。
可选地,所述中心控制节点可以根据所述多个数据处理节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,调整下一步的步进时长的大小。
其中,所述处理的日志记录数是指每次融合排序时实际处理的日志记录条数,需要由数据处理节点在每次融合排序完成后、输出排序结果前,上报给中心控制节点;实际处理时间,是指每次时钟步进时长和融合排序时间的和,由中心控制节点计算,因此数据处理节点在每次数据融合排序结束后,需要及时向所述中心控制节点发送排序完成通知。
可选地,所述中心控制节点根据所述多个数据处理节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,调整下一步的步进时长的大小包括:
基于最近三次的步进时长Δ1、Δ2、Δ3和每秒平均处理记录数f(Δ1)、f(Δ2)、f(Δ3),使用最小二乘法拟合法计算每秒平均处理记录数f(Δ)的最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
其中:Δ∈{Δ123},a,b为线性函数f(Δ)的最佳逼近系数;
最佳线性逼近函数的计算方法,属于现有技术,本文不再敷述。
以下以一个示范性实施例,对本发明实施例的具体实施方式进行进一步的说明。假定系统中只有一个数据处理节点,如图3所示,包括以下步骤:
S100:系统初始化。
中心控制节点广播通知每个数据接入节点进行初始化。在初始化过程中,每个数据接入节点收集日志文件的概要信息,生成日志文件概要信息记录表;所述日志文件中的日志记录分别包含时间戳;
每个数据接入节点向中心控制节点发送日志文件的概要信息记录表;
中心控制节点根据收到的各个概要信息记录表,确定需要处理的日志记录的起始时钟,以及时钟步进时长,并发送给所述每个数据接入节点;初始时钟步进时长可以根据接收的所有概要信息记录表进行计算,也可以默认配 置,如10秒;起始时钟由接收到的所有概要信息记录表中的日志记录的最早时间戳确定;例如如果最早时间戳是2014.01.01.07:00:01:009(毫秒),则起始时钟可以确定为2014.05.01.07:00:01(秒)。
可选地,所述概要信息记录表,包括:文件名、记录总条数、记录开始行、记录结束行、记录起始时间、记录结束时间等;
所述处理进度表包括:文件名、处理序列号、处理状态、当前行指针、当前行时间戳等。
较佳地,中心控制节点可以综合各类日志的概要信息计算初始的步进时长。假设各类日志文件的平均每秒日志条数分别为AVGi(i=1,2,3,…,n;代表n类日志文件),初始步进时长为C/Max(AVGi)。其中,C为一个固定值,可根据系统吞吐量需要进行设定,初始步进时长的单位为秒。
S102:中心控制节点将起始时钟和时钟步进时长发送给每个数据接入节点。
S104:每个数据接入节点收到起始时钟和时钟步进时长通知后,将时间戳处于该步进时长范围内(或步进周期内)的所有日志记录,转换为系统设定的时间序列数据格式,并批量发送给相应的数据处理节点进行融合排序。
其中,每个数据接入节点可以根据通知中的起始时间和步进时长、概要信息记录表计算本次步进周期涉及的日志文件和记录行,设置处理进度表,将本次步进周期涉及的日志记录转换成系统设定的统一的时间序列数据格式后,批量发送给数据处理节点进行融合排序。
例如,系统通知的起始时钟是2014.05.01.07:00:01,时钟步进长度是10S,数据接入节点A的日志概要信息记录表的日志记录起始时间为2014.05.01.07:00:01:099;数据接入节点B的日志概要信息记录表记录日志的起始时间为2014.05.01.07:00:05:003;中心控制节点可以确定起始时钟为2014.05.01.07:00:01,假设初始时钟步长为10S,则节点A需将时间戳位于2014.05.01.07:00:01~07:00:11的所有日志记录,转换格式后批量发送给数据处理节点;节点B将时间戳位于2014.05.01.07:00:05~01:00:11之间的所有日志记录,转换格式后批量发送给数据处理节点。
每个数据节点的每次待处理日志记录,都以起始时间和步进时长为参考,确定需要批量抽取的日志记录,进行格式转换并发送给数据处理节点。
例如,起始时间为T0,步进时长分别为S1,S2,S3,…Sn,则第一次步进周期为T0~T0+S1,第二步进周期为T0+S1~T0+S1+S2,…,第n次批量抽取时的步进周期为
Figure PCTCN2015076903-appb-000001
其中S1、S2、…Sn可以相同,也可能不同,由中心控制节点根据系统运行情况确定。
S106:每个数据接入节点在日志记录发送完毕后,更新处理进度表,向中心控制节点反馈步进完成通知;中心控制节点收到每个数据接入节点发送的步进完成通知后,通知数据处理节点执行数据融合排序。
S108:数据处理节点启动多个线程,采用迭代的方式对每两个数据通道中的时间序列数据进行融合排序,最终融合成一个唯一的融合时间序列数据。
其中,数据处理节点为每个数据接入结点分别设置一个数据通道(或数据缓存单元),用于缓冲接收相应数据接入节点发送的批量日志文件(统一格式的时间序列数据);
接到中心控制节点的排序命令后,每两个数据通道的时间序列数据按时间戳先后顺序进行融合排列,形成一个融合数据通道;
对每两个融合数据通道再次进行时间序列数据的融合排列,这样,通过多次迭代,最终形成一个融合数据通道。如图4所示,图4是本发明实施例的数据处理节点的数据通道融合过程示意图;
其中,如果数据通道数是奇数,可以任选下列方式之一,进行迭代融合排序:
图4a是本发明一实施例的数据通道为奇数的数据通道融合方式示意图;
如图4a所示,先将所有待融合的数据通道进行每两种数据通道的时间序列数据按时间戳的先后顺序进行融合排序,多次迭代后得到单个融合数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合数据通道的时间序列数据进行融合排列,得到最后的融合排序结果。
图4b是本发明另一实施例的数据通道为奇数的数据通道融合方式示意图;
如图4b所示,先将所有待融合的数据通道进行每两种数据通道的时间序列数据按时间戳的先后顺序融合排列得到多个一次融合排序的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合排序的数据通道中的一个进行时间序列数据的融合排列以得到一个二次融合排序的数据通道,然后将所述一个二次融合排序的数据通道与所述多个一次融合排序的数据通道中的其它融合数据通道,按每两个融合数据通道进行融合排序的方式进行迭代处理,得到最后的融合排序结果。
其中,作为一种较佳实施方式,在对于每个步进步长周期内的时间序列数据,可以按照时间戳的最小时间粒度(如毫秒)进行时间序列数据的融合,对于时间戳重合的数据,可以任意择一选取参与排序,对大数据融合不会产生大的影响。当然,根据系统处理能力和数据源的实际情况,也可以以选择其它时间粒度,本发明不作特别限定。
S110:数据处理节点完成所有数据通道的融合排序时,统计本次融合排序处理的日志记录数量,向中心控制节点反馈所述日志记录数和排序完成通知;中心控制节点收到排序完成通知后,指示数据处理节点输出排序结果到目标文件。
S112:数据处理节点完成排序结果的输出时,向中心控制节点反馈结果输出完成通知;中心控制节点收到该结果输出完成通知后,自动进入自适应步进时长调整状态。
其中,中心控制节点先判断所有数据节点的日志记录是否完成排序,如果已完成,则本次融合排序结束;如果没有完成,接步骤S114;
由于中心控制节点根据收到的所有日志文件概要信息表中的日志记录的最早时间戳,确定系统排序的起始时钟,此后发送给每个数据接入节点的步进时长是相同的,而每个日志文件概要信息表的最晚时间戳可能不同,因此,在最后一次计算步进时长时,可以比较计算得到的步进时长对应的时间是否超过所有概要信息记录的日志记录的最晚时间戳,如果超过,则表明本次步进周期内,所有数据接入节点负责处理的日志文件中的所有日志记录,将全 部步进发送到数据处理节点,并完成融合排序。
其中,中心控制节点可以设置结束标志Flag,根据每个数据接入节点发送的概要信息记录表,判断本次排序时的步进时长(如Sn)涉及的时间戳,是否超过所有概要记录信息表的日志记录的最晚时间戳,如果已超过,则表明本次步进周期(如
Figure PCTCN2015076903-appb-000002
)内,所有数据接入节点的全部日志记将会发送到数据处理节点进行融合排序,可以设置结束标志Flag=1;当中心控制节点发现结束标志Flag=1时,表明系统的本次排序任务即将完成;在此后收到数据处理节点的排序完成通知时,不需要继续计算和发送步进时长通知;如果结束标志为0,表明需要继续计算和发送步进时长通知。
S114:根据最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,对步进时长的大小进行调整,以优化整个系统的吞吐率。
中心控制节点将计算得到的下一步的步进时长后,转步骤S102,将计算出的下一步的步进时长发送给所述每个数据接入节点,系统进行下一轮的时间序列数据融合。
较佳地,可以采用自适应调整算法调整下一步的步进时长。例如,假设最近三次排序的步进时长分别为Δ1、Δ2、Δ3,最近三次排序的处理时间(即处于时钟步进和融合排序两个状态的时间和)为t1、t2、t3,最近三次排序的总记录数分别是l1、l2、l3,则最近三次排序的平均每秒处理记录数为f(Δi)=li/ti(i=1,2,3)。步进时长的自适应调整算法为:基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘拟合法计算最佳线性逼近函数:
f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
其中:Δ∈(Δ123),Δ1、Δ2、Δ3为最近三次的步进时长;
a,b为线性函数f(Δ)的最佳逼近系数,具体计算方法属于现有技术,此处不再敷述。
例如,假设初始时钟步进时长为10s,如果a>0.1,则下一步的步进时长增加10%,调整为11s,如果a<-0.1,下一步的步进时长减少10%,调整为9s,而对于a为其它情形,则下一步的步进时长不变,仍是10s;以此类推。
虽然上述实施例介绍了一个数据处理节点处理多个数据接入节点的日志记录的情形,本领域的技术人员容易理解,本发明实施例稍加修改,就可以应用于多个数据处理节点的情形。可以针对不同的数据处理节点进行分组,每组的多个数据接入节点对应一个数据处理节点,中心控制节点按照各组的时间管理线程单独计算起始时钟和步进时长,并发送给相应的数据接入节点即可,其它控制时序的配合,可以参照上述的单数据处理节点的情形进行相应的处理。
例如,假定有3个数据处理节点E1~E3,其中数据处理节点E1负责处理数据接入节点A1、B1、C1、D1的数据融合排序;数据处理节点E2负责处理数据接入节点A2、B2、C2的数据融合排序;数据处理节点E3负责处理数据接入节点A3、D3的数据融合排序,只要在中心控制节点设置不同的时间管理线程即可,在此不再敷述。
上述分布式融合数据排序方法,利用各机器生成的时间序列日志文件的已有时间分割(时间戳)和排序特征,通过中心控制节点统一控制融合时钟的时间线,实现了对多个不同数据源时间序列的分布式并行融合排序处理,可以同时分布式设置多个数据处理节点,分别处理相应的数据接入节点的时间序列数据,与现有技术相比,实现了并行化处理,节省了计算量,降低了内存占用,提高了整体吞吐效率,有利于大数据的融合处理。
相应地,本发明实施例提供了一种多数据源时间序列数据融合的系统装置,如图5所示,包括一个中心控制节点501、多个数据接入节点502和至少一个数据处理节点503,每个节点分别包括处理器、程序存储单元和数据存储单元;其中,
所述中心控制节点501,设置为向每个数据接入节点发送系统初始化通知,接收所述每个数据接入节点发送的日记文件概要信息记录表,确定起始时钟,计算时钟步进时长,并发送所述起始时钟和步进时长给所述每个数据接入节点,接收每个数据接入节点502反馈的日志记录发送完成通知;
向数据处理节点发送融合排序通知,并接收所述数据处理节点反馈的融合排序完成通知;
向所述至少一个数据处理节点发送融合排序结果输出通知;
可选地,所述概要信息记录表,包括:文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
所述数据接入节点502,设置为:
接收中心控制节点501发送的系统初始化通知,收集日志文件信息,生成日志文件的概要信息记录表,并发送给中心控制节点501;
接收中心控制节点501发送的起始时钟和步进时长通知;将时间戳处于该步进时长(步进周期)范围内的所有日志记录,转换成系统设定的时间序列数据格式,批量发送给数据处理节点503;
其中,每个数据接入节点负责一类日志文件(如来自某个传感器或某个系统的一批日志文件)的批量抽取和格式转换,每个日志文件的日志记录都包括时间戳,为便于进行数据的融合排序,需要将不同类别的日志记录转换成统一的时间序列数据。
所述至少一个数据处理节点503:设置为接收所述每个数据接入节点发送的批量时间序列数据,接收中心控制节点的命令,进行时间序列数据的融合排序;融合排序结束后,统计每次排序处理的日志记录数,向中心控制节点反馈所述处理的日志记录数和排序完成通知;接收中心控制节点发送的输出排序结果通知,将融合排序的结果输出到目标文件。
可选地,所述数据处理节点设置成为每类日志文件数据设置一个数据通道,统一调度各个数据通道的时间序列数据进行数据融合排序。
可选地,所述数据处理节点统一调度各个数据通道的时间序列数据进行数据融合排序包括:
所述数据处理节点每次随机选择两个待处理的数据通道,对所述两个通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代, 将所有数据通道中的时间序列数据融合排序到一个最终的融合时间序列数据中。
当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据按时间戳的先后顺序进行融合排序,多次迭代后得到单个融合数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据按时间戳的先后顺序融合排列得到多个一次融合数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合数据通道中的一个进行时间序列数据的融合排列以得到一个融合数据通道,然后将所述一个融合数据通道与所述多个一次融合数据通道中的其它融合数据通道,进行每两个融合数据通道的融合排序迭代,得到最后的融合排序结果。
较佳地,所述中心控制节点还设置为收到所述数据处理节点反馈的排序结果输出完成通知后,根据所述多个数据处理节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,调整下一步的步进时长的大小,并将下一步的步进时长通知所述多个数据接入节点。
可选地,所述中心控制节点根据所述多个数据处理节点发送的统计信息和最近几次处理周期的步进大小、处理日志记录数和实际处理时间,调整下一步进时长的大小包括:
基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘法拟合法计算最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一次步进时长增加10%,如果a<-0.1,下一次步进时长减少10%,否则,步进时长不变;
其中:Δ∈{Δ123},Δ1、Δ2、Δ3为最近三次的步进时长;
a,b为线性函数f(Δ)的最佳逼近系数;
较佳地,所述中心控制节点还设置系统排序结束标志,当该标志设置为1时,中心控制节点收到数据处理节点发送的融合排序结束通知时,不再计算和发送步进时长。
其中,中心控制节点在每次计算得到下一步的步进时长时,判断该步进 时长涉及的最大时间,是否大于或等于所有概要信息记录表的日志记录的最晚时间戳,如果是,则将该结束标志置1。
可选地,所述数据处理节点可以分布式设置,每个数据处理节点负责处理一组数据接入节点的时间序列数据的融合排序,由所述中心控制节点统一进行时间线程的协调管理。
上述分布式融合数据排序系统,利用各机器生成的时间序列日志文件的已有时间分割(时间戳)和排序特征,通过中心控制节点统一控制融合时钟的时间线,实现由一个数据处理节点对多个不同数据源时间序列的进行统一融合排序,还可以同时分布式设置多个数据处理节点,每个数据处理节点分别处理相应的多个数据接入节点的时间序列数据的统一融合排序,实现并行化处理。本发明实施例的方法及系统,可以节省计算量,降低内存占用,提高整体吞吐效率,有利于大数据的融合处理。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
工业实用性
本发明实施例提供的分布式融合数据排序方案,利用各机器生成的时间序列日志文件的已有时间分割(时间戳)和排序特征,通过中心控制节点统一控制融合时钟的时间线,可以在一个数据处理节点实现对多个不同数据源时间序列的统一融合排序,并且可以分布式设置多个数据处理节点,每个数据处理点分别处理相应的多个数据接入节点的时间序列数据的统一融合排序,实现并行化处理,节省计算量,降低内存占用,提高整体吞吐效率,有利于大数据的融合处理。

Claims (21)

  1. 一种多数据源数据融合的方法,包括:
    多个数据接入节点接收控制节点发送的初始化通知,分别读取每个日志文件的概要信息,生成日志文件概要信息记录表,发送给所述控制节点;
    接收所述控制节点发送的起始时钟和步进时长通知,分别将所述步进时长内的日志记录转换成设定的时间序列数据格式,并将所述时间序列数据发送给数据处理节点,向所述控制节点反馈发送完成通知;
    所述数据处理节点接收所述控制节点发送的排序通知,按接收到的每个时间序列数据的时间戳顺序进行数据融合排序。
  2. 如权利要求1所述的方法,其中,所述数据处理节点为收到的每个时间序列数据设置一个数据通道,统一调度各个数据通道的时间序列数据进行数据融合排序。
  3. 如权利要求2所述的方法,其中,所述统一调度各个数据通道的时间序列数据进行数据融合排序包括:
    所述数据处理节点每次随机选择两个待处理的数据通道,对所述两个数据通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代,将所有数据通道中的时间序列数据融合排序到一个最终的融合时间序列数据中。
  4. 如权利要求1或2或3所述的方法,还包括:
    所述数据处理节点在每次数据融合排序结束时,统计本次排序处理的日志记录数量,向所述控制节点发送所述日志记录数量和排序完成通知;
    所述控制节点接收到所述排序完成通知后,通知所述数据处理节点将最终的融合时间序列数据输出到目标文件,并在所述数据处理节点的输出完成后,根据收到的所述多个数据接入节点发送的概要信息记录表和最近几次处理周期的步进大小、处理的日志记录数量和实际处理时间,调整下一步的步进时长,并将所述下一步的步进时长发送给所述多个数据接入节点。
  5. 如权利要求4所述的方法,其中,所述控制节点根据收到的所述多个数据接入节点发送的概要信息记录表和最近几次处理周期的步进大小、处理 的日志记录数量和实际处理时间,调整下一步的步进时长包括:
    基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘法拟合法计算每秒平均处理记录数f(Δ)的最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
    其中:Δ∈(Δ123),Δ1、Δ2、Δ3分别为最近三次的步进时长;
    a,b为线性函数f(Δ)的最佳逼近系数。
  6. 如权利要求3所述的方法,还包括:
    当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据进行融合排序,多次迭代后得到单个融合的数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合的数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
    或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据融合排序得到多个一次融合的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合的数据通道中的一个进行时间序列数据的融合排序以得到一个二次融合的数据通道,然后将所述一个二次融合的数据通道与所述多个一次融合数据通道中的其它融合数据通道,进行每两个融合数据通道的融合排序,多次迭代得到最后的融合排序结果。
  7. 如权利要求1所述的方法,其中,
    所述概要信息记录表,包括文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
  8. 如权利要求1所述的方法,在所述多个数据接入结点接收所述控制节点发送的起始时钟和步进时长通知前,还包括:
    所述控制节点根据收到的所述多个数据接入节点发送的概要信息记录表,确定起始时钟和计算时钟步进时长;其中,所述起始时钟根据所述多个概要信息记录表中日志记录的最早时间戳确定;初始步进时长为C/Max(AVGi),其中,AVGi表示所述控制节点收到的每个日志文件的平均每秒日志条数i=1,2,3,…,n;代表n个日志文件,C为一个设定值,步进时 长的单位为秒。
  9. 如权利要求5所述的方法,还包括所述控制节点在每次将下一步的步进时长发给所述多个数据接入节点后,判断该步进时长对应的时钟是否大于或等于所有概要信息记录表中的日志记录的最晚时间戳;如果大于或等于所述最晚时间戳,则设置排序结束标志;当收到所述数据处理节点的输出完成通知时,结束排序。
  10. 如权利要求1所述的方法,还包括多个数据处理节点,其中每个数据处理节点负责处理一组数据接入节点发送的时间序列数据的融合排序。
  11. 一种多数据源数据融合系统,包括:
    一个控制节点、至少一个数据处理节点和多个数据接入节点,其中
    所述控制节点设置为:
    为向所述多个数据接入节点发送系统初始化通知,接收所述多个数据接入节点发送的日志文件概要信息记录表,确定起始时钟和时钟步进时长,并将所述起始时钟和时钟步进时长发送给所述多个数据接入节点;
    所述数据接入节点设置为:
    接收到所述控制节点发送的初始化通知时,读取每个日志文件的概要信息,生成日志文件概要信息记录表,将所述概要信息记录表发送给所述控制节点;
    接收所述控制节点发送的起始时钟和时钟步进时长,将时间戳处于该时钟步进时长范围内的日志记录转换成设定的时间序列数据格式,并将所述时间序列数据发送到所述数据处理节点,向所述控制节点反馈发送完成通知;
    所述数据处理节点设置为接收所述多个数据接入节点发送的时间序列数据,接收所述控制节点发送的排序命令,按时间戳顺序进行对接收的时间序列数据进行融合排序。
  12. 如权利要求11所述的系统,其中,
    所述数据处理节点还设置成:为接收到的每类时间序列数据设置一个数据通道,每次随机选择两个待处理的数据通道,对所述两个数据通道中的时间序列数据进行融合排序,生成一个融合数据通道;通过多次迭代,将所有 数据通道中的时间序列数据融合排序到一个最终的融合时间序列数据中。
  13. 如权利要求11所述的系统,其中,所述数据处理节点还设置为:
    在每次时间序列数据融合排序结束时,统计本次排序处理的日志记录数量,向所述控制节点发送所述日志记录数量和排序完成通知;
    接收所述控制节点发送的输出排序结果通知,将最终的融合时间序列数据输出到目标文件。
  14. 如权利要求12所述的系统,其中,所述数据处理节点还设置为:
    当待融合的数据通道为奇数时,先将所有待融合的数据通道进行每两种数据通道的时间序列数据进行融合排序,多次迭代后得到单个融合的数据通道后,将剩余一个数据通道的时间序列数据与所述单个融合的数据通道的时间序列数据进行融合排列,得到最后的融合排序结果;
    或者先将所有待融合的数据通道进行每两种数据通道的时间序列数据融合排序得到多个一次融合的数据通道,将剩余一个数据通道的时间序列数据与所述多个一次融合的数据通道中的一个进行时间序列数据的融合排序以得到一个二次融合的数据通道,然后将所述一个二次融合的数据通道与所述多个一次融合数据通道中的其它融合数据通道,进行每两个融合数据通道的融合排序,多次迭代得到最后的融合排序结果。
  15. 如权利要求11所述的系统,其中,所述控制节点还设置为:
    接收到所述数据处理节点发送的排序完成通知后,通知所述数据处理节点将最终的融合时间序列数据输出到目标文件;
    接收到所述数据处理节点发送的日志记录数量和输出完成通知后,根据收到的所述多个数据处理节点发送的日志概要信息记录表以及最近几次处理周期的步进大小、处理的日志记录数和实际处理时间,计算下一步的步进时长,并将所述下一步的步进时长发送给所述多个数据接入节点。
  16. 如权利要求15所述的系统,其中,所述控制节点根据收到的所述多个数据处理节点发送的概要信息记录表以及最近几次处理周期的步进大小、处理日志记录数和实际处理时间,调整下一步的步进时长包括:
    基于最近三次的步进时长和每秒平均处理记录数,使用最小二乘法拟合 法计算每秒平均处理记录数f(Δ)的最佳线性逼近函数f(Δ)=a×Δ+b,如果a>0.1,下一步的步进时长增加10%,如果a<-0.1,下一步的步进时长减少10%,否则,步进时长保持不变;
    其中:Δ∈(Δ123),Δ1、Δ2、Δ3分别为最近三次的步进时长;
    a,b为线性函数f(Δ)的最佳逼近系数。
  17. 如权利要求11所述的系统,其中所述概要信息记录表,包括文件名、记录总条数、记录开始行、记录结束行、记录起始时间和记录结束时间。
  18. 如权利要求11所述的系统,其中,所述控制节点还设置为:根据所述多个数据接入节点发送的概要信息记录表,确定起始时钟和计算初始时钟步进时长,并将所述起始时钟和初始时钟步进时长发送给所述多个数据接入节点;其中所述起始时钟是由所述多个概要信息记录表中的日志记录的最早时间戳确定;初始步进时长为C/Max(AVGi),其中,AVGi表示所述控制节点收到的每个日志文件的平均每秒日志条数i=1,2,3,…,n;代表n个日志文件,C为一个设定值,步进时长的单位为秒。
  19. 如权利要求15所述的系统,其中,所述控制节点还设置排序结束标志,所述控制节点在每次将下一步的步进时长发给所述多个数据接入节点后,判断该步进时长对应的时钟是否大于或等于所有概要信息记录表中的日志记录的最晚时间戳;如果大于或等于所述最晚时间戳,则设置排序结束标志;当收到所述数据处理节点的输出完成通知时,结束排序。
  20. 如权利要求11所述的系统,还包括多个数据处理节点,其中每个数据处理节点负责处理一组数据接入节点发送的时间序列数据的融合排序。
  21. 一种计算机可读存储介质,所述存储介质存储有计算机程序,该计算机程序包括程序指令,当该程序指令被多数据源数据融合设备执行时,使得上述设备可执行权利要求1-10任一项的方法。
PCT/CN2015/076903 2014-09-24 2015-04-17 一种多数据源数据融合的方法及装置 WO2016045367A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410495735.6A CN105512130B (zh) 2014-09-24 2014-09-24 数据源融合的方法和装置
CN201410495735.6 2014-09-24

Publications (1)

Publication Number Publication Date
WO2016045367A1 true WO2016045367A1 (zh) 2016-03-31

Family

ID=55580238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076903 WO2016045367A1 (zh) 2014-09-24 2015-04-17 一种多数据源数据融合的方法及装置

Country Status (2)

Country Link
CN (1) CN105512130B (zh)
WO (1) WO2016045367A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280015A (zh) * 2018-02-07 2018-07-13 福建星瑞格软件有限公司 基于大数据的集群服务器日志实时处理方法及计算机设备
CN111832034A (zh) * 2019-04-23 2020-10-27 创新先进技术有限公司 多方数据融合方法及装置
CN111858530A (zh) * 2020-07-03 2020-10-30 国网福建省电力有限公司信息通信分公司 一种基于海量日志的实时关联分析方法及系统
CN112735140A (zh) * 2019-10-28 2021-04-30 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
CN113283239A (zh) * 2021-06-18 2021-08-20 亿景智联(北京)科技有限公司 一种基于时空信息加权的多源数据融合的方法与装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874962B (zh) * 2017-03-13 2020-09-01 上海普适导航科技股份有限公司 多源卫星数据的融合方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556651A (zh) * 2009-04-15 2009-10-14 北京航空航天大学 一种分簇无线传感器网络内多源数据融合方法
US20090271466A1 (en) * 2006-11-08 2009-10-29 Fields Edward L Data logging with network interfacing feature
CN102469127A (zh) * 2010-11-12 2012-05-23 中国科学院计算机网络信息中心 一种密集型数据通用处理方法
CN102831766A (zh) * 2012-07-04 2012-12-19 武汉大学 基于多传感器的多源交通数据融合方法
CN102916844A (zh) * 2012-11-22 2013-02-06 南京恩瑞特实业有限公司 海量数据融合及实时监视系统
CN103905440A (zh) * 2014-03-28 2014-07-02 哈尔滨工程大学 一种基于日志和snmp信息融合的网络安全态势感知分析方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101026627A (zh) * 2007-03-15 2007-08-29 上海交通大学 基于规则和可信度的多源数据融合系统
CN103838772B (zh) * 2012-11-26 2017-09-05 香港生产力促进局 一种多源交通数据融合方法
CN203278958U (zh) * 2012-12-04 2013-11-06 Itp创新科技有限公司 一种通话转录系统
CN103065093B (zh) * 2012-12-27 2014-09-17 中国人民解放军国防科学技术大学 一种恶意软件行为特征标识方法
CN103984517A (zh) * 2014-06-05 2014-08-13 东莞宇龙通信科技有限公司 一种数据融合方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271466A1 (en) * 2006-11-08 2009-10-29 Fields Edward L Data logging with network interfacing feature
CN101556651A (zh) * 2009-04-15 2009-10-14 北京航空航天大学 一种分簇无线传感器网络内多源数据融合方法
CN102469127A (zh) * 2010-11-12 2012-05-23 中国科学院计算机网络信息中心 一种密集型数据通用处理方法
CN102831766A (zh) * 2012-07-04 2012-12-19 武汉大学 基于多传感器的多源交通数据融合方法
CN102916844A (zh) * 2012-11-22 2013-02-06 南京恩瑞特实业有限公司 海量数据融合及实时监视系统
CN103905440A (zh) * 2014-03-28 2014-07-02 哈尔滨工程大学 一种基于日志和snmp信息融合的网络安全态势感知分析方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280015A (zh) * 2018-02-07 2018-07-13 福建星瑞格软件有限公司 基于大数据的集群服务器日志实时处理方法及计算机设备
CN111832034A (zh) * 2019-04-23 2020-10-27 创新先进技术有限公司 多方数据融合方法及装置
CN111832034B (zh) * 2019-04-23 2024-04-30 创新先进技术有限公司 多方数据融合方法及装置
CN112735140A (zh) * 2019-10-28 2021-04-30 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
CN112735140B (zh) * 2019-10-28 2022-05-20 阿波罗智联(北京)科技有限公司 数据处理方法、装置、电子设备和存储介质
CN111858530A (zh) * 2020-07-03 2020-10-30 国网福建省电力有限公司信息通信分公司 一种基于海量日志的实时关联分析方法及系统
CN111858530B (zh) * 2020-07-03 2022-08-16 国网福建省电力有限公司信息通信分公司 一种基于海量日志的实时关联分析方法及系统
CN113283239A (zh) * 2021-06-18 2021-08-20 亿景智联(北京)科技有限公司 一种基于时空信息加权的多源数据融合的方法与装置

Also Published As

Publication number Publication date
CN105512130B (zh) 2020-04-03
CN105512130A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
WO2016045367A1 (zh) 一种多数据源数据融合的方法及装置
CN109739929B (zh) 数据同步方法、装置及系统
US9141653B2 (en) Real-time data management for a power grid
JP5154366B2 (ja) ストリームデータ処理プログラム及び計算機システム
WO2020134609A1 (zh) 数据存储的方法及装置
KR20170134576A (ko) 시간 기반 노드 선출 방법 및 장치
US10148782B2 (en) Message consumer orchestration framework
EP3039541B1 (en) Meter reading data validation
CN104539978A (zh) 一种云环境下的视频转码系统方法
JP2023504944A (ja) モノのインターネットのデータ転送方法及びシステム
CN107832371A (zh) 一种基于财务报表的Excel智能匹配导入系统和方法
CN106375480A (zh) 一种基于分布式系统的电能数据实时采集系统及方法
CN112019605B (zh) 数据流的数据分发方法和系统
CN102026228B (zh) 通信网络性能数据的统计方法和设备
CN103607731A (zh) 一种测量报告的处理方法及装置
CN117056303B (zh) 适用于军事行动大数据的数据存储方法及装置
CN111008088B (zh) 一种电能表数据采集任务汇聚方法及装置
CN110519317A (zh) 一种数据传输方法以及设备
CN107493485B (zh) 一种资源控制方法、装置和iptv服务器
CN101692737A (zh) 一种面向移动rfid的轻量级数据同步架构
US10334539B2 (en) Metered interface
CN110839061A (zh) 数据分发方法、装置及存储介质
CN110335148A (zh) 证券数据并行处理系统及方法
CN103595800A (zh) 一种数据实时分发处理装置及方法
CN115981802A (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: 15843976

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

Country of ref document: EP

Kind code of ref document: A1