Research Article

Exploiting Sharing Join Opportunities in Big Data Multiquery Optimization with Flink

Algorithm 2

Refine shared multiquery.
/∗add each shared group into one subgraph∗/
Input:
Output:
//Step 1: initialization
(1)int = 1//shared subgraph no
(2) = new graph( )
(3)foreachin do
//Step 2: pick to add it to suitable subgraph
(4)foreachkfrom 1 to do
(5) Boolean = false
(6)While j indo
(7)If ([“F”, “P”])then
(8) /∗ defined as defined as
(9) = 
/∗ could be initially define in terms of full/partial sharing, F or P. ∗/
(10)
(11)
(12) = true
(13)Removefrom
(14)End if
(15)End while//end while
(16)End for//all subgraph traverse for sharing
//Step 3: add to new subgraph.
(17)If (!) then
(18) =  +1
(19) = new graph( )
/∗ is a first query node added whose has not share any node in pervious subgraphs but it is share with the rest query in ∗/
(20) = 
(21)Removefrom
(22)End if
(23)End for
(24)End