Exemplo n.º 1
0
        public override void BeginHandler(BeginSignalReader beginsignal)
        {
            string strLine;

            graphsize = 0;
            try
            {
                FileStream   aFile = new FileStream("E:\\trinity\\Graph\\facebook_combined.txt", FileMode.Open);
                StreamReader sr    = new StreamReader(aFile);
                strLine = sr.ReadLine();
                HashSet <long> tmp = new HashSet <long>();
                long           head, neighbor, lasthead;
                lasthead = -1;
                HashSet <long> tmpset;
                tmpset = new HashSet <long>();
                while (strLine != null)
                {
                    String[] number = strLine.Split(' ');
                    head = Convert.ToInt32(number[0]);
                    //Console.WriteLine(head);
                    neighbor = Convert.ToInt32(number[1]);
                    using (var tmpn = Global.LocalStorage.UseNode(head))
                    {
                        // Console.WriteLine(tmpn.name);
                        if (tmpn.flag == 0)
                        {
                            tmpn.flag = 1;
                        }
                        tmpn.neighbors.Add(neighbor);
                    }
                    using (var tmpn = Global.LocalStorage.UseNode(neighbor))
                    {
                        if (tmpn.flag == 0)
                        {
                            tmpn.flag = 1;
                        }
                        tmpn.neighbors.Add(head);
                    }
                    //Console.WriteLine(strLine);
                    strLine = sr.ReadLine();
                }
                graphsize = 5000;
                sr.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine("An IOException has been thrown!");
                Console.WriteLine(ex.ToString());
                Console.ReadLine();
            }
        }
Exemplo n.º 2
0
        public int resultNum = 0;   //用于记录找到的匹配子图的个数,因为一般情况下我们不需要所有的也看不完,所以这里我们设定超过1024就不找了

        public override void BeginProxyHandler(BeginSignalReader bsr)
        {
            NodeSet[] Q = new NodeSet[2];
            Q[0].set = new List <long>();
            Q[1].set = new List <long>();

            Q[0].headid = 5001;
            Q[0].set.Add(5002);
            Q[0].set.Add(5005);

            Q[1].headid = 5002;
            Q[1].set.Add(5004);
            Q[1].set.Add(5005);

            int slave_count = Global.SlaveCount;

            sl.set = new List <NodeSet>();
            Console.WriteLine(slave_count);
            //Console.ReadLine();
            // ResultReader[][] rr = new ResultReader[2][slave_count];
            for (int q = 0; q < 2; q++)
            {
                rr[q] = new ResultReader[slave_count];
                for (int i = 0; i < slave_count; i++)
                {
                    Global.CloudStorage.TellSlaveIDToGraphSlave(i, new SlaveIDWriter(i));
                    //Console.WriteLine("slave id : {0}", i);
                    Global.CloudStorage.GetSameLabelSetToGraphSlave(i, new SameLabelWriter(sl.set));
                    Console.WriteLine("q{0} to slave{1}", q, i);

                    rr[q][i] = Global.CloudStorage.QueryToGraphSlave(i, new NodeSetWriter(Q[q].headid, Q[q].headname, Q[q].headlabel, Q[q].set.ToList()));

                    rr[q][i].samelabel.ForEach((tmp) =>
                    {
                        //Console.WriteLine(tmp.headid);
                        sl.set.Add(tmp);
                    });
                    Console.WriteLine("Done!!");
                    Console.WriteLine();
                    Console.WriteLine();


                    //  rr[q][i].set.ForEach((tmp1) =>
                    //{
                    //   Console.WriteLine(tmp1.headid);
                    //   tmp1.set.ForEach((tmp2) =>
                    //    {
                    //        Console.Write("{0} ", tmp2);
                    //    }
                    //    );
                    //    Console.WriteLine();
                    //}
                    //    );



                    //Console.ReadLine();
                }
            }
            Console.WriteLine("finished");
            ReportHandler();
        }