public IEnumerable<ciBVCI> GetCiTypeCollection(int filenum) { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; var m = localdb.IP_stream .Where(p => p.FileNum == filenum) .Select(p => new { p.FileNum, p.lac, p.ci, p.bvci }); var n = m.Where(e => e.ci != null && e.bvci != null).ToLookup(ci => ci.lac + "-" + ci.ci); foreach (var ci in n) { ciBVCI a = new ciBVCI(); //cibvciid = cibvciid + 1; //a.ciBVCI_id = cibvciid; a.fileNum = ci.Select(e => e.FileNum).FirstOrDefault(); a.bvci = ci.Select(e => e.bvci).FirstOrDefault(); a.lacCi = ci.Key; if (a.lacCi != null) { if (ciAllocPDCH.Contains(a.lacCi)) { a.ciAllocPDCH = ciAllocPDCH[a.lacCi].Select(e => e.ciAllocPDCH).FirstOrDefault(); a.ciUsePDCH = ciAllocPDCH[a.lacCi].Select(e => e.ciUsePDCH).FirstOrDefault(); } } yield return a; } }
private void protocolTypeReverseIpType() { localdb = new DataClasses1DataContext(streamType.LocalConnString); //using (DataClasses1DataContext localdb = new DataClasses1DataContext(streamType.LocalConnString)) //{ protocolType _protocolType = new protocolType(); //协议取下行包 ip_s var protocol = from p in localdb.IP_stream select new { cpro = p.mmse != null ? "MMSE" : null + p.rtsp_type != null ? "rtsp" : null + p.smtp_type != null ? "smtp" : null + p.bittorrent != null ? "BitTorrent" : null + p.edonkey != null ? "eDonkey" : null + p.oicqVersion != null ? "oicq" : null, p.ip_s }; var protocolL = protocol.Where(e => e.cpro != null).ToLookup(e => e.cpro); foreach (var t in protocolL) foreach (var t1 in t) if (_protocolType.d.ContainsKey(t.Key)) if (!dIP.ContainsKey(t1.ip_s)) dIP.Add(t1.ip_s, _protocolType.ConvertProtocol2trType(t.Key)); //} }
private IEnumerable<mUri> GetmUriCollection() { #region //远程取上下行的URI关联 #endregion localdb = new DataClasses1DataContext(streamType.LocalConnString); //using (DataClasses1DataContext localdb = new DataClasses1DataContext(streamType.LocalConnString)) //{ var m = localdb.IP_stream.Where(e => e.http_uri != null || e.wsp_uri != null).Where(e => e.tcp_d != null); foreach (var ms in m) { mUri a = new mUri(); a.fileNum = ms.FileNum; a.tlli = ms.tlli; a.sport = ms.tcp_s; a.dport = ms.tcp_d; //a.tcp_seq = ms.tcp_seq; //a.tcp_ack = ms.tcp_ack; a.uri = ms.http_uri == null ? "-" : ms.http_uri; a.uri += ms.wsp_uri == null ? "-" : ms.wsp_uri; a.uri += ms.http_x_online == null ? "-" : ms.http_x_online; a.uri += ms.http_host == null ? "-" : ms.http_host; a.uriStreamType = ConvertUri2trType(a.uri); yield return a; } //} }
//ci运行过程中,连接关闭。 public ciType(bool init) { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; if (init == true) ciAllocPDCH = localdb.ciCoverType.Where(e => e.lacCI.IndexOf("-") != -1).ToLookup(e => e.lacCI); }
//private decimal _msimeiid = 0; //private decimal msimeiid { get { return _msimeiid; } set { _msimeiid = value; } } public imeiTypeClass(bool init) { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; if (init == true) imeiL = localdb.imeiType.Where(e => e.imei != null).ToLookup(e => e.imei); }
private void portTypeReverseIpType() { localdb = new DataClasses1DataContext(streamType.LocalConnString); //{ //端口取下行包 ip_s var port_s = from p in localdb.IP_stream select new { p.tcp_s, p.ip_s }; var portL = port_s.Where(e => e.tcp_s != null).ToLookup(e => e.tcp_s); foreach (var t in portL) foreach (var t1 in t) if (_portType.dPort.ContainsKey(t.Key)) if (!dIP.ContainsKey(t1.ip_s)) dIP.Add(t1.ip_s, _portType.ConvertPort2trType(t.Key)); //} }
private void ImportimeiTypeFile() { // string dropsql = @" // IF EXISTS (SELECT * FROM sys.objects // WHERE object_id = OBJECT_ID(N'[dbo].[imeiType]') AND type in (N'U')) // DROP TABLE [dbo].[imeiType] // "; // string createsql = @" // CREATE TABLE [dbo].[imeiType]( // [imeiType_id] [decimal](18, 0) IDENTITY(1,1) NOT NULL, // [imei] [nvarchar](50) NULL, // [imeiFactory] [nvarchar](50) NULL, // [imeiModel] [nvarchar](500) NULL, // [imeiClass] [nvarchar](500) NULL // ) ON [PRIMARY] // "; handleTable.CreateTable(typeof(imeiType)); string insertsql = @" BULK INSERT imeiType FROM '" + streamType.imeiTypeFile + "' WITH ( FIRSTROW = 2,FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )"; using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { try { //mess.ExecuteCommand(dropsql); //mess.ExecuteCommand(createsql); mess.ExecuteCommand(insertsql); } catch (Exception ex) { MessageBox.Show(ex.ToString()); string remotefilename = InputBox("与远程计算机的路径相匹配", "请选定imeiType.csv文件", @"F:\黑点项目\ips_setup\imeiType.csv"); string new_insertsql = @" BULK INSERT imeiType FROM '" + remotefilename + "' WITH ( FIRSTROW = 2,FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )"; mess.ExecuteCommand(new_insertsql); } } MessageBox.Show("OK"); }
private void ImportCiCoverType(string stattime) { string createsql = @" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ciCoverType]') AND type in (N'U')) DROP TABLE [dbo].[ciCoverType]"; string insertsql = @" SELECT IDENTITY(int, 1,1) AS ciCoverType_id,* into ciCoverType from (select lac+'-'+ci as lacCI,ci_name as ciName, available_pdch as ciAllocPDCH,use_pdch as ciUsePDCH from dbo.ciPdchBulk where stat_time='" + stattime + "') as a"; DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString); mess.ExecuteCommand(createsql); mess.ExecuteCommand(insertsql); MessageBox.Show("OK"); QueryTable("ciCoverType"); }
private void DisplayResultTable() { using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) dataGridView1.DataSource = mess.mLocatingType; }
private void DisplayOrignalTable() { using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) dataGridView1.DataSource = mess.IP_stream; }
private void ciPdchBulk(string csvfile) { string dropsql = @" IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ciPdchBulk]') AND type in (N'U')) DROP TABLE [dbo].[ciPdchBulk]"; string createsql = @" CREATE TABLE ciPdchBulk ( lac VARCHAR(32) null, ci VARCHAR(32) null, ci_name VARCHAR(32) null, stat_time VARCHAR(32) null, available_pdch VARCHAR(32) null, use_pdch VARCHAR(32) null, assignment_pdch_rate VARCHAR(32) null, )"; string insertsql = @" BULK INSERT ciPdchBulk FROM '" + csvfile + @"' WITH ( FIRSTROW = 2, FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' )"; DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString); mess.ExecuteCommand(dropsql); mess.ExecuteCommand(createsql); mess.ExecuteCommand(insertsql); MessageBox.Show("OK"); }
private void shrinkDatabaseToolStripMenuItem_Click(object sender, EventArgs e) { try { //DUMP TRANSACTION [数据库名] WITH NO_LOG //BACKUP LOG [数据库名] WITH NO_LOG //DBCC SHRINKDATABASE([数据库名]) using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { mess.ExecuteCommand("DUMP TRANSACTION [" + mess.Connection.Database + "] WITH NO_LOG"); mess.ExecuteCommand("BACKUP LOG [" + mess.Connection.Database + "] WITH NO_LOG"); mess.ExecuteCommand("DBCC SHRINKDATABASE([" + mess.Connection.Database + "])"); } MessageBox.Show("OK"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public string AlterPrimaryKey() { //try //{ localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0;//sql连接超时的问题 //Stopwatch sw = new Stopwatch(); //sw.Start(); //pk的问题 string sqlstr = @"select count(*) from sysobjects where parent_obj=object_id('IP_stream') and xtype='PK'"; int ti = int.Parse(localdb.ExecuteQuery<int>(sqlstr).ToDataTable().Rows[0][0].ToString()); //MessageBox.Show(ti.ToString()); if (ti < 1) { string sqlstr1 = @"alter table IP_stream alter column FileNum int not null"; localdb.ExecuteCommand(sqlstr1); Application.DoEvents(); string sqlstr2 = @"alter table IP_stream alter column PacketNum int not null"; localdb.ExecuteCommand(sqlstr2); Application.DoEvents(); string sqlstr3 = @"alter table IP_stream add constraint sid_pk primary key(FileNum,PacketNum)"; localdb.ExecuteCommand(sqlstr3); Application.DoEvents(); } CreateTable(typeof(msIMEI)); CreateTable(typeof(ciBVCI)); CreateTable(typeof(mLocatingType)); //sw.Stop(); //MessageBox.Show(sw.Elapsed.TotalSeconds.ToString()); //} //catch (Exception ex) //{ // MessageBox.Show(ex.ToString()); //} //finally //{ // localdb.Dispose(); //} return localdb.Connection.ConnectionString; }
private void QueryTable(string tbName) { //只有IP_stream不在本地 try { if (tbName == "ciCoverType" || tbName == "imeiType") using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { dataGridView1.DataSource = mess.GetTableByName(tbName); toolStripStatusLabel1.Text = mess.Connection.ConnectionString; } else { //DialogResult dlgResult = MessageBox.Show("Do you want to continue Access Remote Database ?", "Continue?", MessageBoxButtons.YesNo, MessageBoxIcon.Question); //if (dlgResult == DialogResult.Yes && tbName != "OutPutPDCH") using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { dataGridView1.DataSource = mess.GetTableByName(tbName); toolStripStatusLabel1.Text = mess.Connection.ConnectionString; } } } catch (Exception e) { MessageBox.Show(e.ToString()); } }
private IEnumerable<msIMEI> GetMsImeiCollection(int filenum) { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; var stream = localdb.IP_stream .Where(p => p.FileNum == filenum) .Select(p => new { p.FileNum, p.tlli, p.imsi, p.imei }); var tlliL = stream.ToLookup(e => e.FileNum + "-" + e.tlli); foreach (var t in tlliL) { msIMEI a = new msIMEI(); //msimeiid = msimeiid + 1; //a.msIMEI_id = msimeiid; a.fileNum = t.Select(e => e.FileNum).FirstOrDefault(); a.tlli = t.Select(e => e.tlli).FirstOrDefault(); a.imsi = t.Where(e => e.imsi != null).Select(e => e.imsi).FirstOrDefault(); a.imei = t.Where(e => e.imei != null).Select(e => e.imei).FirstOrDefault(); yield return a; } }
public IEnumerable<msIMEI> UpdateMsImeiCollection() { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; var stream = localdb.msIMEI; var imsiL = stream.Where(e => e.imsi != null).ToLookup(e => e.imsi); var tlliL = stream.ToLookup(e => e.fileNum + "-" + e.tlli); foreach (var t in tlliL) { msIMEI a = new msIMEI(); //msimeiid = msimeiid + 1; //a.msIMEI_id = msimeiid; a.fileNum = t.Select(e => e.fileNum).FirstOrDefault(); a.tlli = t.Select(e => e.tlli).FirstOrDefault(); a.imsi = t.Where(e => e.imsi != null).Select(e => e.imsi).FirstOrDefault(); a.imei = t.Where(e => e.imei != null).Select(e => e.imei).FirstOrDefault(); a.imeitype = t.Where(e => e.imei != null).Select(e => e.imeitype).FirstOrDefault(); a.imeiclass = t.Where(e => e.imei != null).Select(e => e.imeiclass).FirstOrDefault(); if (a.imei == null) { var tlli = imsiL[a.imsi].Where(e => e.imei != null); if (tlli != null) { a.imei = tlli.Select(e => e.imei).FirstOrDefault(); a.imeitype = tlli.Select(e => e.imeitype).FirstOrDefault(); a.imeiclass = tlli.Select(e => e.imeiclass).FirstOrDefault(); } } yield return a; } }
public void UpdateImeiType() { //Stopwatch sw = new Stopwatch(); //sw.Start(); int maxUser = 0; using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) maxUser = mess.msIMEI.Count(); //MessageBox.Show(maxUser.ToString()); using (SqlConnection con = new SqlConnection(streamType.LocalConnString)) { con.Open(); using (SqlTransaction tran = con.BeginTransaction()) { imeiTypeClass _imeiTypeClass = new imeiTypeClass(false); var newOrders = _imeiTypeClass.UpdateMsImeiCollection(); SqlBulkCopy bc = new SqlBulkCopy(con, //SqlBulkCopyOptions.CheckConstraints | //SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.KeepNulls, tran); bc.BulkCopyTimeout = 36000; bc.BatchSize = 1000; bc.DestinationTableName = "msIMEI"; bc.WriteToServer(newOrders.AsDataReader()); tran.Commit(); } con.Close(); } using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) mess.ExecuteCommand("delete from msIMEI where msIMEI_id<=" + maxUser); //Thread.Sleep(1); GC.Collect(); GC.Collect(); Application.DoEvents(); //sw.Stop(); //MessageBox.Show(sw.Elapsed.TotalSeconds.ToString()); }
private void responseTypeReverseIpType() { localdb = new DataClasses1DataContext(streamType.LocalConnString); //using (DataClasses1DataContext localdb = new DataClasses1DataContext(streamType.LocalConnString)) //{ responseType _responseType = new responseType(); //response取下行包 ip_s var response = from p in localdb.IP_stream select new { cres = p.http_type, p.ip_s }; var responseL = response.Where(e => e.cres != null).ToLookup(e => e.cres); foreach (var t in responseL) foreach (var t1 in t) if (_responseType.d.ContainsKey(t.Key)) if (!dIP.ContainsKey(t1.ip_s)) dIP.Add(t1.ip_s, _responseType.ConvertResponse2trType(t.Key)); //} }
/* private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs c) { XElement dataConfig = XElement.Load(streamType.configXmlPath); foreach (var q1 in dataConfig.Elements("connectionStrings")) if (q1.Element("connectionString").Value == a) b = a; if (b == null) b = appConfig.GetConnectionStringsConfig("IP_stream.Properties.Settings.IP_StreamConnectionString"); * //checkedListBox1.GetItemText(checkedListBox1.SelectedItem); } * */ private void refreshTreeViewGetTables() { using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { TreeNode tn = new TreeNode(mess.Connection.DataSource + "_" + mess.Connection.Database); foreach (var t in mess.Mapping.GetTables()) if (t.TableName.IndexOf(".") == -1) tn.Nodes.Add(t.TableName); else tn.Nodes.Add(t.TableName.Substring(4)); treeView1.Nodes.Add(tn); foreach (TreeNode t in tn.Nodes) { if (t.Text == "imeiType" || t.Text == "ciCoverType") t.ForeColor = Color.Red; if (t.Text == "mLocatingType") t.BackColor = Color.Blue; } } treeView1.ExpandAll(); }
private IEnumerable<OpCiPDCH> OutCiUsePDCH(int? filenum) { mess = new DataClasses1DataContext(streamType.LocalConnString); mess.CommandTimeout = 0; var temp = mess.mLocatingType.Where(e => e.fileNum == filenum) .Select(e => new { e.lacCI, e.ciCoverUsePDCH, e.trafficType, e.mLen }); var itemp = temp.ToLookup(e => e.lacCI); foreach (var tt in itemp.Where(e=>e.Key !=null)) //删除空的部分 { OpCiPDCH ci = new OpCiPDCH(); //outputtableid = outputtableid + 1; //ci.OpCiPDCH_id = outputtableid; ci.LacCi = tt.Key; ci.CiKbps = tt.Sum(e => e.mLen.ByteToKbps()) / mTime; ci.CiPDCH = tt.Max(e => e.ciCoverUsePDCH.StringToDouble()); ci.StreamingMedia = tt.Where(e => e.trafficType == "StreamingMedia").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.StockCategory = tt.Where(e => e.trafficType == "StockCategory").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.OtherCategory = tt.Where(e => e.trafficType == "OtherCategory").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.MMS = tt.Where(e => e.trafficType == "MMS").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.IM = tt.Where(e => e.trafficType == "IM").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.GeneralDownloads = tt.Where(e => e.trafficType == "GeneralDownloads").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.GameCategory = tt.Where(e => e.trafficType == "GameCategory").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.BrowseCategory = tt.Where(e => e.trafficType == "BrowseCategory").Sum(e => e.mLen.ByteToKbps()) / mTime; ci.P2P = tt.Where(e => e.trafficType == "P2P").Sum(e => e.mLen.ByteToKbps()) / mTime; yield return ci; } }
//public string InitImeiCiTypeTable() // { // //DialogResult result; //Messagebox所属于的类 // //result = MessageBox.Show("YesOrNo", "你确定要执行查询吗?", // // MessageBoxButtons.YesNo, MessageBoxIcon.Question); // //if (result == DialogResult.Yes)//Messagebox返回的值 // //{ // //CreateImeiCiTypeTable(); // //localdb = new DataClasses1DataContext(streamType.LocalConnString); // ////using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) // ////{ // //localdb.ExecuteCommand("delete from ciBVCI"); // //localdb.ExecuteCommand("delete from msIMEI"); // //} // //GC.Collect(); // //MessageBox.Show("OK"); // CreateTable(typeof(msIMEI)); // CreateTable(typeof(ciBVCI)); // //} // return streamType.LocalConnString; // } // //public string InitMlocationTable() // { // CreateTable(typeof(mLocatingType)); // //localdb = new DataClasses1DataContext(streamType.LocalConnString); // //using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString))//此处关键,数据插入到何处 // //{ // //mess.CommandTimeout = 6000;//sql连接超时的问题 //// DialogResult result; //Messagebox所属于的类 //// result = MessageBox.Show("YesOrNo", "你确定要执行查询吗?", //// MessageBoxButtons.YesNo, MessageBoxIcon.Question); //// if (result == DialogResult.Yes)//Messagebox返回的值 //// { //// CreateTable(typeof(mLocatingType)); ////// var typeName = "System.Data.Linq.SqlClient.SqlBuilder"; ////// var type = typeof(DataContext).Assembly.GetType(typeName); ////// var bf = BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod; ////// var metaTable = localdb.Mapping.GetTable(typeof(mLocatingType)); ////// var sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); ////// //MessageBox.Show(sql.ToString ()); ////// string delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.mLocatingType') and type = 'U') ////// drop table dbo.mLocatingType"; ////// localdb.ExecuteCommand(delSql.ToString()); ////// localdb.ExecuteCommand(sql.ToString()); //// //mess.ExecuteCommand("delete from mLocatingType"); //// //MessageBox.Show("OK"); //// } // //return mess.Connection.ConnectionString; // //} // //GC.Collect(); // //MessageBox.Show("OK"); // return streamType.LocalConnString; // } // private void CreateImeiCiTypeTable() // { // localdb = new DataClasses1DataContext(streamType.LocalConnString); // //using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) // //{ // var typeName = "System.Data.Linq.SqlClient.SqlBuilder"; // var type = typeof(DataContext).Assembly.GetType(typeName); // var bf = BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod; // #region 初始化《mlocating》 // /* // var metaTable = mess.Mapping.GetTable(typeof(mLocatingType)); // var sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); // //MessageBox.Show(sql.ToString ()); // string delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.mLocatingType') and type = 'U') // drop table dbo.mLocatingType"; // mess.ExecuteCommand(delSql.ToString()); // mess.ExecuteCommand(sql.ToString()); // * */ // #endregion // #region 初始化《imei库》和《ci覆盖类型库》的时候 执行 // /* // metaTable = mess.Mapping.GetTable(typeof(ciCoverType)); // sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); // delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.ciCoverType') and type = 'U') // drop table dbo.ciCoverType"; // mess.ExecuteCommand(delSql.ToString()); // mess.ExecuteCommand(sql.ToString()); // metaTable = mess.Mapping.GetTable(typeof(imeiType)); // sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); // delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.imeiType') and type = 'U') // drop table dbo.imeiType"; // mess.ExecuteCommand(delSql.ToString()); // mess.ExecuteCommand(sql.ToString()); // * */ // #endregion // var metaTable = localdb.Mapping.GetTable(typeof(msIMEI)); // var sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); // string delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.msIMEI') and type = 'U') // drop table dbo.msIMEI"; // localdb.ExecuteCommand(delSql.ToString()); // localdb.ExecuteCommand(sql.ToString()); // metaTable = localdb.Mapping.GetTable(typeof(ciBVCI)); // sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); // delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo.ciBVCI') and type = 'U') // drop table dbo.ciBVCI"; // localdb.ExecuteCommand(delSql.ToString()); // localdb.ExecuteCommand(sql.ToString()); // //MessageBox.Show("OK"); // } public static bool CreateTable(Type linqTableClass) { bool suc = true; string createtable = linqTableClass.Name; //MessageBox.Show(createtable); //混淆以后反射名称被改变出现问题 using (DataClasses1DataContext localdb = new DataClasses1DataContext(streamType.LocalConnString)) { try { var metaTable = localdb.Mapping.GetTable(linqTableClass); var typeName = "System.Data.Linq.SqlClient.SqlBuilder"; var type = typeof(DataContext).Assembly.GetType(typeName); var bf = BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod; var sql = type.InvokeMember("GetCreateTableCommand", bf, null, null, new[] { metaTable }); string delSql = @"if exists (select 1 from sysobjects where id = object_id('dbo." + createtable + @"') and type = 'U') drop table dbo." + createtable; localdb.ExecuteCommand(delSql.ToString()); localdb.ExecuteCommand(sql.ToString()); } catch (Exception ex) { suc = false; MessageBox.Show(ex.ToString()); } } return suc; }
public IEnumerable<mLocatingType> mLocatingTypeLength(int filenum) { localdb = new DataClasses1DataContext(streamType.LocalConnString); localdb.CommandTimeout = 0; var ipstreamfilnum=localdb.IP_stream.Where(e => e.FileNum == filenum); foreach (var p in ipstreamfilnum) { mLocatingType down = new mLocatingType(); //locating 过程中,pk冲突 //messageid = messageid + 1; //down.MLocatingType_id = messageid; down.fileNum = p.FileNum; down.frame = p.PacketNum; down.bvci = p.FileNum + "-" + p.bvci; down.tlli = p.tlli; down.responseType = p.http_type; down.mLen = p.ip_length; if (p.link == "Down") { down.portType = p.tcp_s + p.udp_s; serviceIP = p.ip_s; response = down.fileNum + "-" + down.tlli + "-" + p.tcp_d + "-" + p.tcp_s; } else { down.portType = p.tcp_d + p.udp_d; serviceIP = p.ip_d; response = down.fileNum + "-" + down.tlli + "-" + p.tcp_s + "-" + p.tcp_d; } //var ci = _ciType.CiTypeCollection[down.fileNum + "-" + down.bvci]; if (_ciType.CiTypeCollection.ContainsKey(down.bvci)) { var ci = _ciType.CiTypeCollection[down.bvci]; down.lacCI = ci.lacCi; down.ciCoverAllocPDCH = ci.ciAllocPDCH; down.ciCoverUsePDCH = ci.ciUsePDCH; } if (_imeiTypeClass.MsImeiCollection.ContainsKey(down.fileNum + "-" + down.tlli)) { var imei = _imeiTypeClass.MsImeiCollection[down.fileNum + "-" + down.tlli]; down.imsi = imei.imsi; down.imei = imei.imei; down.msimeiType = imei.imeitype; down.msimeiClass = imei.imeiclass; } //初始化其值 protocol = null; //协议识别 if (p.mmse != null) protocol = "MMSE"; if (p.rtsp_type != null) protocol = "rtsp"; if (p.smtp_type != null) protocol = "smtp"; if (p.bittorrent != null) protocol = "BitTorrent"; if (p.edonkey != null) protocol = "eDonkey"; if (p.oicqVersion != null) protocol = "oicq"; down.protocolType = protocol; if (down.protocolType != null) down.trafficType = _protocolType.ConvertProtocol2trType(down.protocolType); //端口识别 if (down.portType != null && down.trafficType == null) down.trafficType = _portType.ConvertPort2trType(down.portType); //ip识别 if (serviceIP != null && down.trafficType == null) down.trafficType = _ipType.ConvertIP2trType(serviceIP); //reponse识别流媒体业务 if (down.trafficType == null) if (down.responseType != null) down.trafficType = _responseType.ConvertResponse2trType(down.responseType); //uri识别, uri中的裸ip识别 var uri = _uriType.mUriCollection[response].Where(e => e.uri != null).FirstOrDefault(); if (uri != null) { down.uriType = uri.uri; if (down.trafficType == null) if (down.uriType != null) down.trafficType = _ipType.ConvertIP2trType(down.uriType); if (down.trafficType == null) down.trafficType = uri.uriStreamType; } down.responseType += "-" + serviceIP; //上述都不能识别时,放入其他 if (down.trafficType == null) down.trafficType = "OtherCategory"; yield return down; } }
private void BulkExcute() { if (!ls.bRegOK) return; try { using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { minFileNum = mess.IP_stream.Min(e => e.FileNum).Value; maxFileNum = mess.IP_stream.Max(e => e.FileNum).Value + 1; } // MessageBox.Show(minFileNum.ToString() + " - " + maxFileNum.ToString()); //DualTests dt = new DualTests(); //dt.Show(); dt.Focus(); dualTests1.Location = new Point(this.Width / 10, this.Height / 3); dualTests1.Show(); dualTests1.Focus(); handleTable h = new handleTable(); toolStripStatusLabel1.Text = h.AlterPrimaryKey(); //case"InitImeiCiTypeTable": //toolStripStatusLabel1.Text = h.InitImeiCiTypeTable(); //case"InitMlocationTable": //toolStripStatusLabel1.Text = h.InitMlocationTable(); //case"InsertImeiType": toolStripStatusLabel2.Text = "imei......"; Application.DoEvents(); imeiTypeClass _imeiTypeClass = new imeiTypeClass(true); Parallel.For(minFileNum, maxFileNum, i => { _imeiTypeClass.InsertImeiType(_imeiTypeClass, i); }); Thread.Sleep(1); GC.Collect(); GC.Collect(); Application.DoEvents(); dualTests1.Focus(); //case"InsertCiType": toolStripStatusLabel2.Text = "ci......"; Application.DoEvents(); ciType _ciType = new ciType(true); Parallel.For(minFileNum, maxFileNum, i => { _ciType.InsertCiType(_ciType, i); }); Thread.Sleep(1); GC.Collect(); GC.Collect(); Application.DoEvents(); dualTests1.Focus(); //case"UpdateImeiType": toolStripStatusLabel2.Text = "imei update......"; Application.DoEvents(); imeiTypeClass _imeiTypeClass_false = new imeiTypeClass(false); Task t2 = new Task(() => { _imeiTypeClass_false.UpdateImeiType(); }); t2.Start(); Thread.Sleep(1); GC.Collect(); GC.Collect(); Application.DoEvents(); dualTests1.Focus(); //case"InsertResultTable": toolStripStatusLabel2.Text = "locating......"; Application.DoEvents(); mLocatingConvert ml = new mLocatingConvert(); Parallel.For(minFileNum, maxFileNum, i => { ml.SendOrders(ml, i); }); Thread.Sleep(1); GC.Collect(); GC.Collect(); Application.DoEvents(); dualTests1.Focus(); dualTests1.Hide(); //dualTests1.Dispose(); using (DataClasses1DataContext mess = new DataClasses1DataContext(streamType.LocalConnString)) { mess.CommandTimeout = 0; string a=mess.mLocatingType.Max(e => e.mLocatingType_id).ToString(); string b = mess.IP_stream.Sum(e => e.IPstream).Value.ToString(); toolStripStatusLabel2.Text = "complete......"+ a + "/" + b; } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void uriTypeReverseIpType() { localdb = new DataClasses1DataContext(streamType.LocalConnString); //using (DataClasses1DataContext localdb = new DataClasses1DataContext(streamType.LocalConnString)) //{ uriType _uriType = new uriType(); //http取上行包 ip_d var uri = from p in localdb.IP_stream select new { curi = p.http_uri != null ? p.http_uri : null + p.wsp_uri != null ? p.wsp_uri : null + p.http_x_online != null ? p.http_x_online : null + p.http_host != null ? p.http_host : null, p.ip_d }; var uriL = uri.Where(e => e.curi != null).ToLookup(e => e.curi); foreach (var t in uriL) foreach (var t1 in t) if (_uriType.d.ContainsKey(t.Key)) if (!dIP.ContainsKey(t1.ip_d)) dIP.Add(t1.ip_d, _uriType.ConvertUri2trType(t.Key)); //} }