CN115981861A - Universal stream computing concurrent acceleration method, system, medium and device - Google Patents

Universal stream computing concurrent acceleration method, system, medium and device Download PDF

Info

Publication number
CN115981861A
CN115981861A CN202211709875.XA CN202211709875A CN115981861A CN 115981861 A CN115981861 A CN 115981861A CN 202211709875 A CN202211709875 A CN 202211709875A CN 115981861 A CN115981861 A CN 115981861A
Authority
CN
China
Prior art keywords
data
batch
link
mode
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211709875.XA
Other languages
Chinese (zh)
Inventor
蔡晓华
刘盛杰
杨光辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202211709875.XA priority Critical patent/CN115981861A/en
Publication of CN115981861A publication Critical patent/CN115981861A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a method, a system, a medium and a device for accelerating concurrent computation of general streams, which comprise the following steps: step 1: converting single data into batch data; step 2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-channel concurrent computation; and 3, step 3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers; and 4, step 4: and converting the batch data into single data again. The invention can reconstruct a single or a plurality of computing links in the stream processing system without interference, greatly improve the throughput rate of the reconstructed links and further greatly improve the throughput rate of the whole system.

Description

Universal stream computing concurrent acceleration method, system, medium and device
Technical Field
The present invention relates to the field of data processing technologies, and in particular, to a method, a system, a medium, and a device for accelerating concurrent computation of a universal stream.
Background
MapReduce by Hadoop is a common concurrent technique for processing and generating large data sets using parallel distributed algorithms on a cluster. A MapReduce program consists of a map process (performs filtering and sorting) and a reduce method (performs summarization operations). Therefore, the single data concerned by the MapReduce technology is distributed and processed according to the Map method, the ordering when the data is required to be ordered cannot be reduced, and the method is not an acceleration method concerned by the invention.
The split-Join of Oracle Service Bus is a process model that aggregates payload splitting and responses, which allows users to split the Service load into single messages that are sent to multiple services simultaneously, rather than in a standard sequential process, thereby improving Service performance. split-Join accomplishes this by splitting the incoming message payload into sub-messages, routing them simultaneously to their destinations, and aggregating the responses into one overall return message. This model differs from the present invention in that: the single message processed by Split-Join corresponds to the single data of the present invention, so Split-Join is the process of accelerating the single data, while the present invention is the process of concurrent computation and acceleration between different data.
Patent document CN115080156a (application number: CN 202211012966.8) discloses an optimized calculation method, device, computer equipment and storage medium for large data batch calculation based on stream batch integration, and the method implementation includes: determining a field combination according to the service appeal; grouping the data streams according to the field combinations to form a plurality of groups of different data streams; calculating the multiple groups of different data streams according to the time windows which are decreased in a step manner in the KeyedProcessFunction respectively so as to process data logic; and when the calculation is completed, outputting the data subset meeting the service appeal. The patent is a flow and batch integrated calculation method, and the invention is a method for accelerating a single link through batch and concurrency.
Patent document CN106210032a (application number: CN 201610529996.4) discloses a method and device for batch reporting based on terminal data, the method includes: receiving a reporting request of a plurality of terminal data; storing the terminal data into a preset temporary storage folder, and combining the terminal data according to a preset data format to obtain a combined data packet of the terminal data; reporting the combined data packet as reported data to a computing server; and analyzing the combined data packet into original terminal data in the server according to a preset analysis method, and respectively sending the original terminal data to the data storage server. The patent is a terminal-based and packet-based design, which is a special approach. The invention is a universal accelerating technology through the design of a plurality of links and the design and optimization of a specific method. The batch is only one key point of the invention, and the invention essentially introduces an acceleration method of parallel computing only for reducing the overhead of merging and sorting.
Disclosure of Invention
In view of the defects in the prior art, the present invention provides a method, system, medium, and device for accelerating concurrent computation of general streams.
The general flow calculation concurrent acceleration method provided by the invention comprises the following steps:
step 1: converting single data into batch data;
step 2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-path concurrent computation;
and step 3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers;
and 4, step 4: and converting the batch data into single data again.
Preferably, the step 1 comprises:
the method I comprises the following steps: based on the number counting, firstly caching the data structure, outputting the cached data as batch data when the caching number reaches a preset threshold value, sending the batch data to a subsequent link, and counting again from 0;
the second method comprises the following steps: configuring an overtime threshold value based on the time interval, recording data time during the first data, continuously comparing the time difference value between the new data and the first data, and caching the data structure if the time difference value does not exceed the overtime threshold value; if the time-out threshold value is exceeded, outputting the cache data as batch data, sending the batch data to a subsequent link, clearing the first data time, and waiting for resetting the first data of the next batch of data;
the third method comprises the following steps: the first combination mode and the second combination mode meet any batch condition, namely output, and the count of the first combination mode is cleared and the first data of the second combination mode is cleared during output;
the method four comprises the following steps: and maintaining the definition of the preorder batch, and multiplexing the order number of preorders.
Preferably, the step 3 comprises:
if the dispatching is carried out in a polling mode, polling waits for the next sequence number;
and if the dispatching is carried out in a random mode or the batch data is discontinuous in the processing process, checking all data access, and sorting and selecting the minimum sequence number for continuous output.
Preferably, the step 4 comprises:
step 4.1: caching the batch data;
step 4.2: taking out the first data and sending the first data to a downstream link, wherein the sending mode comprises the step of adopting a shared channel to take out the data as production data and putting the production data into the channel, or adopting a message queue to send the taken out data to a message middleware;
step 4.3: checking whether cache data exist or not, if so, returning to the step 4.2 to take out the first data and send the first data; if the data is not cached, the process is ended.
The invention provides a universal stream computing concurrent acceleration system, which comprises:
a module M1: converting single data into batch data;
a module M2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-channel concurrent computation;
a module M3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers;
a module M4: and converting the batch data into single data again.
Preferably, the module M1 comprises:
the method I comprises the following steps: based on the number counting, firstly caching the data structure, outputting the cached data as batch data when the caching number reaches a preset threshold value, sending the batch data to a subsequent link, and counting again from 0;
the second method comprises the following steps: configuring an overtime threshold value based on the time interval, recording data time during the first data, continuously comparing the time difference value between the new data and the first data, and caching the data structure if the time difference value does not exceed the overtime threshold value; if the time exceeds the overtime threshold, outputting the cache data as a batch of data, sending the batch of data to a subsequent link, clearing the first data time, and waiting for resetting the first data of the next batch of data;
the third method comprises the following steps: the first combination mode and the second combination mode meet any batch condition, namely output, and the count of the first combination mode is cleared and the first data of the second combination mode is cleared during output;
the method is as follows: and maintaining the definition of the preorder batch, and multiplexing the order number of preorders.
Preferably, the module M3 includes:
if the dispatching is carried out in a polling mode, polling waits for the next sequence number;
and if the dispatching is carried out in a random mode or the batch data is discontinuous in the processing process, checking all data access, and sorting and selecting the minimum sequence number for continuous output.
Preferably, the module M4 comprises:
module M4.1: caching the batch data;
module M4.2: taking out the first data and sending the first data to a downstream link, wherein the sending mode comprises the step of adopting a shared channel to take out the data as production data and putting the production data into the channel, or adopting a message queue to send the taken out data to a message middleware;
module M4.3: checking whether cache data exist or not, and if the cache data exist, returning to the module M4.2 to take out the first data and send the first data; if the data is not cached, the process is ended.
According to the present invention, there is provided a computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of the general stream computation concurrent acceleration method.
According to the electronic device provided by the invention, the electronic device comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and the computer program realizes the steps of the general stream computing concurrency acceleration method when being executed by the processor.
Compared with the prior art, the invention has the following beneficial effects:
1) By adopting the structures of Pack, route, batch computer, join and Unpack, the problem of non-interference reconstruction of a single data stream processing link into a concurrent Batch data stream processing link is solved;
2) The method adopts batch design, and two high-efficiency combined working modes, namely a polling mode and a random mode, are designed in a Route link and a Join link, so that the problem of huge calculation overhead required by concurrent calculation data order preservation in the similar method is solved;
3) 4 methods such as counting based on quantity, counting based on time interval, combined counting and time, maintaining preorder batch definition and the like are adopted in the Pack link, so that the problems that single data can be effectively converted into batch data and scenes with different data volumes and different time delay requirements are widely met are solved;
4) By adopting the combination of Pack and Unpack, the problem of transforming the traditional DAG flow calculation into Batch-based Batch DAG calculation more efficiently is solved.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
FIG. 1 is a simplified flow calculation diagram;
FIG. 2 is a schematic view of a DAG flow computation;
FIG. 3 is a schematic diagram of the Dispatch/Merge-sort method;
FIG. 4 is a schematic flow chart of the method of the present invention;
FIG. 5 is a flow chart of a method of converting single data to batch data based on quantity counting according to the present invention;
FIG. 6 is a flow chart of a method for converting single data to batch data based on time intervals according to the present invention;
FIG. 7 is a schematic diagram of the Batch computer link of the present invention;
FIG. 8 is a schematic diagram of the Batch DAG computation of the present invention;
FIG. 9 is a schematic flow chart of the Unpack link of the present invention.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will aid those skilled in the art in further understanding the present invention, but are not intended to limit the invention in any manner. It should be noted that variations and modifications can be made by persons skilled in the art without departing from the concept of the invention. All falling within the scope of the present invention.
The embodiment is as follows:
the invention provides a general stream computing concurrency acceleration method, which particularly adopts 5 links such as Pack, route, batch computer, join, unpack and the like to form a universal Batch concurrency computing method, can transform a single or a plurality of computing links in a stream processing system without interference, greatly improves the throughput rate of the transformed links, and further greatly improves the throughput rate of the whole system. When single data is converted into batch data in a Pack link by adopting 4 methods such as a method based on quantity counting, a method based on time interval, combined counting and time, keeping preorder batch definition and the like, the method can be widely suitable for scenes with different data volumes and different time delay requirements. By combining with batch processing design, two efficient combined working modes of a polling mode and a random mode are adopted in a Route link and a Join link, so that the calculation overhead required by order-preserving operation for concurrent calculation is greatly reduced, and the advantages of the method over the similar method are obtained. By adopting the combination of Pack and Unpack, the traditional DAG flow calculation is transformed into Batch-based Batch DAG calculation more efficiently. The reconstruction method of the invention is generally applicable to various stream computing architectures.
Flow calculations are a computational model of current mainstream flow. The simplified stream calculation model is shown in fig. 1, and "data" is continuously calculated by several processing links (computer 1, computer 2, computer 3 …) to form a "calculation stream". The stream computing system adapts to various complex requirements and business scenarios by flexibly defining combinations of links.
The use of "data" in fig. 1 denotes a message or a task, and denotes data of a simple structure or a composite structure (a plurality of simple structures can be nested). The "single data" is used to indicate the smallest data unit processed by a link (e.g., computer 1). Since the calculation of each link is actually processing, processing and transforming the data, the "single data" before and after the link may be the same type of data (such as the same numerical type) or different types of data (such as converting a character string into a date, converting a commodity order into an express order, etc.). However, there is a certain mapping relationship between "single data" before and after a link: for example, the functional relationship in content, the input is x, and the output is sin (x); for example, the incidence relation on the content, the input commodity order x, the output express order y and the y express are commodities in the x; for another example, in order, x enters a link before y, and x needs to be output before y.
In stream computing, an upstream link (e.g., computer 1) may be connected to multiple downstream links (e.g., computer 2, computer 3 …) at the same time to form a directed acyclic graph DAG computation model, as shown in fig. 2.
For the optimization of the flow computing system, an important aspect is to improve the throughput rate of the system, i.e. the throughput rate is the processing amount of data in unit time. One method is to improve the processing algorithm of the bottleneck link, improve the processing speed of the data in the link, and thus improve the throughput; this is a non-universal, individualized approach. The other method is characterized in that a concurrency technology is used, the number of processing units of a bottleneck link is increased (the algorithm of the link is not improved), and the units can process data at the same time, so that the overall throughput rate of the bottleneck link is improved; this is a relatively general method.
Obviously, the data sequence of the data processed by a single computer link is generally kept unchanged, and this characteristic is called "order preservation". The "order preserving" property is an important property to ensure the correctness of the system. Such as a transaction consisting of a calculation request and a response, the request should precede the response 1 d; if the flow processing system exchanges the sequence between the two in the processing process of the front-end link, effective transaction cannot be formed in the transaction association link, and the error processing is failure. For example, the deposit and withdrawal of a deposit card need to be carried out firstly and then, and the balance of an account number is always more than or equal to zero; however, if the stream processing system handles the deposit and withdrawal in a wrong order, withdrawal is performed first and then deposit is performed, and an error that the deposit amount is negative or a withdrawal failure occurs at a certain moment. Therefore, the method for improving the system throughput rate by the concurrent technology is a general method, and has the characteristic of order preservation.
FIG. 3 illustrates a general concurrency acceleration method, which may be referred to as Dispatch/Merge-sort method, including:
1. after data enters a Dispatch link, the data is dispatched to a plurality of concurrent computer links according to a certain method. The dispatch may be based on a key computed by the upstream link (e.g., a session key generated by an IP + Port address in TCP/IP). If there is no suitable key (e.g., the link that needs to be accelerated is the session key calculation), the dispatch can also be performed according to the conventional round-robin (i.e., weighted or unweighted round-robin) or random (i.e., random dispatch).
Computer is the (bottleneck) link that needs to be optimized. A plurality of computers are connected behind the Dispatch link and concurrently receive data dispatched by the Dispatch link to form a Current computer link so as to improve the overall throughput rate; the number of concurrent links is called the concurrency degree k. Meanwhile, a plurality of computers are converged and connected to the Merge-sort link, and the processed data are sent to the Merge-sort link.
And 3. Merging and sequencing the concurrent computer link data by the Merge-sort link, so that the data sequence processed by the Dispatch/Merge-sort method is consistent with the data sequence processed by the single computer link, and the order-preserving characteristic is maintained. However, for large data volume processing, the overhead of such a Merge-sort is very large, and for a data volume n, the concurrency k, the time complexity is then n × lg (k). If m links in the system need acceleration and the concurrency is k, the increase needs the overhead of m × n × lg (k).
The invention aims to design a general mechanism, accelerate the processing speed of a single link (without interfering other links), ensure that the sequence of data before and after the link is kept unchanged, and simultaneously greatly reduce the overhead of maintaining the sequence.
The invention is composed of 5 processing links Pack, route, batch computer, join and Unpack, as shown in FIG. 4:
and 1, a pack link, namely converting single data into batch data according to the method defined by the invention. Bulk data size (defined as L) is the primary metric that reduces the Join link consolidation overhead. The Pack link needs buffering, extra memory resource consumption exists, but the overhead on the computing resource can be ignored for general stream processing computation.
And 2, in the route link, continuously increasing the sequence number (order) of the batch data, dispatching the batch data in a round-robin mode or a random mode, and executing multi-path concurrent Group computer calculation. The input and output of the link are batch data. Due to the adoption of batch processing, compared with the overhead of Dispatch, the Route link is reduced by L times (1000 times if L = 1000). It is negligible for general stream processing calculations. The invention uses Route to show the difference from the traditional Dispatch link.
The batch computer link is a modification of the neck ring computer link, so that the computer link which originally processes single data can process batch data. The input and output of these links are batch data. The plurality of concurrently executed Batch computer links form the current Batch computer link of the invention; the number of concurrent Batch computer links is concurrency k.
And 4, receiving Batch output data of each Batch computer link from the Current Batch computer link, numbering according to the sequence defined by the Route link, and merging and outputting in a sequence-preserving manner.
According to different Route methods, the calculation cost of the Join link is different, but the calculation cost is far smaller than that of the Merge-sort link. The invention uses Join to show the difference from the traditional Merge-sort link.
And 5.Unpack link, converting the batch data into single data again. This is a general operation with no additional memory overhead, and the overhead on computational resources is negligible.
The Pack link (1. Pack in fig. 4) of the present invention defines several methods for converting single data into batch data:
1. the method comprises the following steps: based on the number count. In this way, the configuration parameters are used to define the L batch size threshold. After receiving single data, the Pack link firstly caches data structures such as arrays, queues or stacks, and when the cache number reaches an L threshold value, the cached data is output as batch data and sent to a subsequent link, and counting is started again from 0. This is a solution that is applicable to most scenarios, with the batch size always being L. The flow chart is shown in figure 5.
2. The second method comprises the following steps: based on a time interval. This method is mainly directed to data with time information (also called "time series data"), and there is a high demand on time responsiveness (e.g. 10 ms) in terms of traffic demand, and the data volume of the system may vary greatly. At this time, if the method one is used, when the data size is small, the time delay may be too long, and the requirement of the service may not be met. The lot size of this method will vary, labeled L. The flow chart is shown in fig. 6.
a. In this method, a timeout threshold T needs to be configured, then the data time is recorded in the first data, and then the time difference between the new data and the first data is continuously compared. If the difference does not exceed the threshold, a data structure such as an array, queue, or stack is used to cache. If the threshold value is exceeded, the cache data is output as batch data and sent to a subsequent link, and meanwhile, the first data is cleared for time, and the next batch of data is waited to reset the first data.
b. For the recording of the first data time, in some scenarios, a time warping mode may also be adopted, such as warping to the whole second, the whole minute, the whole hour, and the like, so as to meet the requirement of service warping time.
3. The third method comprises the following steps: and combining the method I and the method II, meeting any one batch condition, namely output, and clearing the count of the method I and the first data of the method II when in output. The method is a supplement to the method II, namely, when the amount of the burst data is too large, the data can be processed relatively uniformly according to the method I, and the delay requirement can be met by processing according to the method II when the amount of the burst data is small.
4. The method four comprises the following steps: and maintaining the definition of the preamble batch, and simultaneously multiplexing the sequence numbers (orders) of the preamble links. This method is applicable to the system already from the preamble Pack stage, which does not require new Pack rules, such as the use of the invention in Batch computer.
The Route link (2. Route in fig. 4) of the present invention is specifically described as follows:
1. the order number (order) for continuously increasing the batch data is a general mechanism and can not depend on the characteristics of whether the order is represented in the data, such as time, data sequence number and the like.
2. For the usual case of computer, the keys between different data are often not the same. So bulk data cannot be served using keys.
3. Dispatching in a round-robin manner is the preferred scheme of the invention, and a Route link can completely not need sorting operation, so that better processing performance is achieved. The polling method may also adopt various modified modes of the polling method, such as a weighted polling method.
4. Dispatching in a random manner (random) is an important scheme of the invention, and is suitable for the case that the data has a relatively fixed repetitive pattern and the data skew exists. At this time, polling dispatch can become a new bottleneck if just stuck in such a data skewed mode, links that are continuously allocated to large data volumes. The data skew can be improved or avoided by adjusting the concurrency of subsequent links, and the data skew trap can be avoided by utilizing the randomness.
The change of the neck ring link computer (3. Batch computer in fig. 4) of the bottle of the invention is specifically described as follows:
1. the method comprises the following steps: the method of Unpack and Pack is used directly, as shown in FIG. 7. Wherein 3.1.Unpack directly uses the universal Unpack link to re-split the batch data into single data, and then transmits the single data to computer. At 3.2. Computer processing is complete and the individual data is repackaged into batches using 3.3. Pack. At this time, 3.3.Pack needs to use Pack method four to "keep definition of preamble batch, and multiplex sequence number (order) of preamble link" so as to maintain correct relationship between batch and sequence number (order) of 2.route and 4.join in fig. one.
2. The second method comprises the following steps: other algorithms are possible if the logic of the above method one is split and repackaged, while reusing the order number (order) of the preamble links.
The Join link (4. Join in fig. 4) of the present invention is specifically explained as follows:
1. for the Join link, a Route link order numbering (order) scheme may be known, including a start value and a next value. Thus, join has two ways to implement "order preserving operations": method one, polling waits for the next sequential number (order); and in the second method, all data access is checked, and the minimum sequence number (order) is selected for continuous output in a sorting mode.
2. If the Route link is distributed in a round-robin manner, the Join link adopts a method one, and the round waits for the next sequential number (order). In this case, in the Join link, when the concurrency of the current Batch computer is fixed to k and dispatch always starts from the first Batch computer, the polling dispatch method of Route can be completely predicted, and it is clearly known from which Batch computer the next sequence number (order) of the Batch data comes. The "sort operation" at this time involves only one operation of locating the Batch computer (e.g., modulo operation using the degree of concurrency k for order) and Poll operation for the Batch computer, without the comparison operation in Merge-sort. Poll operations may employ an asynchronous model (async model) to avoid computational resource overhead.
3. If the Route link adopts a random mode (random) for distribution, the Join link adopts a method II, all data access is checked, and the minimum sequence number (order) is selected for sorting and continuously output. In addition, because of the batch operation, the batch size is L, and the required sorting overhead is n x lg (k)/L after the data volume n is accelerated by using the concurrency k. If m links in the system need acceleration, then the required merging overhead is m × n × lg (k)/L. If L is 1000, then the merging overhead drops by a factor of 1000. Obviously, the sorting overhead at this time is much smaller than the Merge-sort method.
4. In addition, batch data is discontinuous in processing, a Join link adopts a method II, all data access is checked, and the minimum sequence number (order) is selected in a sorting mode for continuous output. Such as the complex processing pipelines of the Batch DAG computation model of the invention, batch data is not fully sent to subsequent links. Such as a filter operation (filter) or a de-duplication operation (de-duplication), may also cause the batch data to be processed without outputting data in an extreme case.
The Unpack link (5. Unpack in FIG. 4) of the present invention is specifically illustrated as follows in FIG. 9:
1. caching the batch data;
2. taking out the first data and sending the first data to a downstream link, wherein the sending mode can adopt a shared Channel (Channel) to put the taken out data into a Channel as production data, and can also adopt a Message Queue (Message Queue) to send the taken out data to a Message middleware or other data exchange modes;
3. checking whether there is any buffer data, if so, continuing to step 2 to remove the first data and send. And when no data exists, exiting and ending the Unpack processing.
Based on the Pack, batch computer, unpack links of the present invention, the DAG flow computation of FIG. 2 can be transformed into a Batch DAG computation with a higher throughput rate, as shown in FIG. 8. The concrete description is as follows:
pack1 converts single data to Batch data before Batch computer 1.
And 2. The Batch computing link method of the Batch computer can be adopted to reform the original computer 1, computer 2 and computer 3 in the Batch computer 1, the Batch computer 2, the Batch computer 3 and the like.
Unpack1 shows the computational flow converted back to single data processing after 2 Batch processing links (which can be extended to any multiple Batch processing), such as Batch computer 1 and Batch computer 2.
Batch computer 1 and Batch computer 3 show the complex computational flow of 2-Batch data processing links (which can be extended to any number of Batch data processes) processes.
Example 2:
the present invention also provides a universal stream computing concurrent acceleration system, which can be implemented by executing the flow steps of the universal stream computing concurrent acceleration method, that is, those skilled in the art can understand the universal stream computing concurrent acceleration method as a preferred embodiment of the universal stream computing concurrent acceleration system.
The general stream computing concurrent acceleration system provided by the invention comprises: a module M1: converting single data into batch data; a module M2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-channel concurrent computation; a module M3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers; a module M4: and converting the batch data into single data again.
The module M1 comprises:
the method I comprises the following steps: based on the number counting, firstly caching the data structure, outputting the cached data as batch data when the caching number reaches a preset threshold value, sending the batch data to a subsequent link, and counting again from 0;
the second method comprises the following steps: configuring an overtime threshold based on the time interval, then recording data time during the first data, then continuously comparing the time difference value between the new data and the first data, and if the time difference value does not exceed the overtime threshold, caching the data structure; if the time-out threshold value is exceeded, outputting the cache data as batch data, sending the batch data to a subsequent link, clearing the first data time, and waiting for resetting the first data of the next batch of data;
the third method comprises the following steps: the first combination mode and the second combination mode meet any batch condition, namely output, and the count of the first combination mode is cleared and the first data of the second combination mode is cleared during output;
the method is as follows: and maintaining the definition of the preorder batch, and simultaneously multiplexing the sequential number of preorder links.
The module M3 comprises: if the dispatching is carried out in a polling mode, polling waits for the next sequence number; and if the dispatching is carried out in a random mode or the batch data is discontinuous in the processing process, checking all data access, and sorting and selecting the minimum sequence number for continuous output.
The module M4 comprises: module M4.1: caching the batch data; module M4.2: taking out the first data and sending the first data to a downstream link, wherein the sending mode comprises the steps of adopting a shared channel to take out the data as production data and putting the production data into the channel, or adopting a message queue to send the taken out data to a message middleware; module M4.3: checking whether cache data exist or not, if so, returning to the module M4.2 to take out the first data and send the first data; if the data is not cached, the process is ended.
Those skilled in the art will appreciate that, in addition to implementing the systems, apparatus, and various modules thereof provided by the present invention in purely computer readable program code, the same procedures can be implemented entirely by logically programming method steps such that the systems, apparatus, and various modules thereof are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system, the device and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system, the device and the modules thereof for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.

Claims (10)

1. A method for universal stream computing concurrency acceleration, comprising:
step 1: converting single data into batch data;
step 2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-path concurrent computation;
and step 3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers;
and 4, step 4: and converting the batch data into single data again.
2. The method for accelerating the concurrent computation of general streams according to claim 1, wherein the step 1 comprises:
the first method is as follows: based on the number counting, firstly caching the data structure, outputting the cached data as batch data when the caching number reaches a preset threshold value, sending the batch data to a subsequent link, and counting again from 0;
the second method comprises the following steps: configuring an overtime threshold value based on the time interval, recording data time during the first data, continuously comparing the time difference value between the new data and the first data, and caching the data structure if the time difference value does not exceed the overtime threshold value; if the time-out threshold value is exceeded, outputting the cache data as batch data, sending the batch data to a subsequent link, clearing the first data time, and waiting for resetting the first data of the next batch of data;
the third method comprises the following steps: the first combination mode and the second combination mode meet any batch condition, namely output, and the count of the first combination mode is cleared and the first data of the second combination mode is cleared during output;
the method is as follows: and maintaining the definition of the preorder batch, and multiplexing the order number of preorders.
3. The method for accelerating the concurrent computation of general streams according to claim 1, wherein the step 3 comprises:
if the dispatching is carried out in a polling mode, polling waits for the next sequence number;
and if the dispatching is carried out in a random mode or the batch data is discontinuous in the processing process, checking all data access, and sorting and selecting the minimum sequence number for continuous output.
4. The method for accelerating the concurrent computation of general streams according to claim 1, wherein the step 4 comprises:
step 4.1: caching the batch data;
and 4.2: taking out the first data and sending the first data to a downstream link, wherein the sending mode comprises the step of adopting a shared channel to take out the data as production data and putting the production data into the channel, or adopting a message queue to send the taken out data to a message middleware;
step 4.3: checking whether cache data exist or not, if so, returning to the step 4.2 to take out the first data and send the first data; if the data is not cached, the process is ended.
5. A universal stream computing concurrency acceleration system, comprising:
a module M1: converting single data into batch data;
a module M2: numbering the batch data in a continuously increasing sequence, distributing the batch data in a polling mode or a random mode, and executing multi-path concurrent computation;
a module M3: receiving batch output data, and carrying out order-preserving merging output according to sequence numbers;
a module M4: and converting the batch data into single data again.
6. The universal stream computing concurrent acceleration system according to claim 5, wherein the module M1 includes:
the first method is as follows: based on the number counting, firstly caching the data structure, outputting the cached data as batch data when the caching number reaches a preset threshold value, sending the batch data to a subsequent link, and counting again from 0;
the second method comprises the following steps: configuring an overtime threshold based on the time interval, then recording data time during the first data, then continuously comparing the time difference value between the new data and the first data, and if the time difference value does not exceed the overtime threshold, caching the data structure; if the time-out threshold value is exceeded, outputting the cache data as batch data, sending the batch data to a subsequent link, clearing the first data time, and waiting for resetting the first data of the next batch of data;
the third method comprises the following steps: the first combination mode and the second combination mode meet any one batch condition, namely output, and the count of the first combination mode is cleared and the first data of the second combination mode is cleared during output;
the method is as follows: and maintaining the definition of the preorder batch, and multiplexing the order number of preorders.
7. The universal stream computing concurrency acceleration system according to claim 5, wherein the module M3 comprises:
if the dispatching is carried out in a polling mode, polling waits for the next sequence number;
and if the dispatching is carried out in a random mode or the batch data is discontinuous in the processing process, checking all data access, and sorting and selecting the minimum sequence number for continuous output.
8. The universal stream computing concurrent acceleration system according to claim 5, wherein the module M4 comprises:
module M4.1: caching the batch data;
module M4.2: taking out the first data and sending the first data to a downstream link, wherein the sending mode comprises the steps of adopting a shared channel to take out the data as production data and putting the production data into the channel, or adopting a message queue to send the taken out data to a message middleware;
module M4.3: checking whether cache data exist or not, if so, returning to the module M4.2 to take out the first data and send the first data; if the data is not cached, the process is ended.
9. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the universal stream computing concurrency acceleration method of any one of claims 1 to 4.
10. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the computer program, when executed by the processor, implements the steps of the general stream computing concurrent acceleration method of any one of claims 1 to 4.
CN202211709875.XA 2022-12-29 2022-12-29 Universal stream computing concurrent acceleration method, system, medium and device Pending CN115981861A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211709875.XA CN115981861A (en) 2022-12-29 2022-12-29 Universal stream computing concurrent acceleration method, system, medium and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211709875.XA CN115981861A (en) 2022-12-29 2022-12-29 Universal stream computing concurrent acceleration method, system, medium and device

Publications (1)

Publication Number Publication Date
CN115981861A true CN115981861A (en) 2023-04-18

Family

ID=85975613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211709875.XA Pending CN115981861A (en) 2022-12-29 2022-12-29 Universal stream computing concurrent acceleration method, system, medium and device

Country Status (1)

Country Link
CN (1) CN115981861A (en)

Similar Documents

Publication Publication Date Title
US11082366B2 (en) Method and apparatus for using multiple linked memory lists
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
Bogatyrev et al. Multipath Redundant Transmission with Packet Segmentation
CN109768939A (en) A kind of labeling network stack method and system for supporting priority
CN112888005B (en) MEC-oriented distributed service scheduling method
CN101374109B (en) Method and apparatus for scheduling packets
CN105761039A (en) Method for processing express delivery information big data
CN113064742A (en) Message processing method, device, equipment and storage medium
Bhowmik et al. Distributed control plane for software-defined networks: A case study using event-based middleware
US20060168405A1 (en) Sharing memory among multiple information channels
CN114257557A (en) Data packet switching system and method
Slastikhin et al. Redundant priority maintenance in the multi-channel systems
CN107819697A (en) Data transmission method, interchanger and data center
CN115981861A (en) Universal stream computing concurrent acceleration method, system, medium and device
CN114610765B (en) Stream calculation method, device, equipment and storage medium
CN113553279B (en) RDMA communication acceleration set communication method and system
Zheng et al. Design and analysis of a parallel hybrid memory architecture for per-flow buffering in high-speed switches and routers
CN115391053A (en) Online service method and device based on CPU and GPU hybrid calculation
Nabielsky Interfacing to the 10Mbps ethernetTM: Observations and conclusions
US7583678B1 (en) Methods and apparatus for scheduling entities using a primary scheduling mechanism such as calendar scheduling filled in with entities from a secondary scheduling mechanism
CN112000297A (en) Storage service quality guarantee method based on IO weighted fair queuing
CN118227333A (en) Network telemetry out-of-order rearrangement method and system with cooperation of CPU/FPGA
CN114039894B (en) Network performance optimization method, system, device and medium based on vector packet
JP7460244B1 (en) Wireless transmission device, wireless transmission method, and data processing method
US20240086265A1 (en) Selective aggregation of messages in collective operations

Legal Events

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