Research Article

Flink-ER: An Elastic Resource-Scheduling Strategy for Processing Fluctuating Mobile Stream Data on Flink

Algorithm 3

Data redistribution algorithm.
Input:
Operator to be rescaled: operator[]
Resource pool: pool
Output:
Rescaled flow network: G
Begin
foreach O ∈ operator[] do
 foreach  ∈ O do
  Send the stateful data of vertex to the HDFS and the data handler to Zookeeper.
  end foreach
   ← pool.getNode()
  O.add()/Enlarge the parallelism of the Operator/
  bucket[]←JobManager.remapping(bucket[],|O|)
  /Remapping stateful data as shown in Figure 5/
  foreach  ∈ O do
   Require stateful data from Zookeeper and restore the corresponding stateful data from the HDFS
  end foreach
end foreach
flowNetwork_selfLearning(G′)
return G
End