執行緒與非同步在監控系統中的應用

2021-09-30 13:35:39 字數 2422 閱讀 1504

監控系統應用比較廣泛,監控物件也是包羅永珍,以下就拿監控注塑機器來說,機器的主要引數如開模、合模、熔膠、射膠、冷卻、松退、頂出等執行引數需要實時監控,監控的機器不止一台,是很多臺,監控到的資料了要提交到儲存系統儲存起來;

實現方法:建立乙個後台執行緒,執行緒內乙個while迴圈,迴圈內非同步

ping

,ping

//建立ping執行緒

_pingthread = new thread(pingmachines, 1024 * 30);

_pingthread.isbackground = true;

_pingthread.start();

/// /// ping所有的機器 變數_pingthreadstop在關閉程式時為true

///

private void pingmachines()

lock (olock) ;

//機器列表

foreach (datarow dr in opcdata.tbmachines.rows)

thread.sleep(2000);}}

catch (exception ex)

}/// /// ping 完成事件

///

///

///

public void pingcompletedevent(object sender, pingcompletedeventargs e)

//ping 結果

bool pingres = e.reply.status == ipstatus.success;

findflag = _onlinemachine.trygetvalue(machinename, out tmpstr);

if (pingres && !findflag)

else}}

catch (exception ex)

finally }}

/// /// 判斷ip是否通

///

///

///

///

public void pingip(string machineno,string ip, pingcompletedeventhandler pingcompletedevent)

);}

2、如何將獲取到資料非同步提交到api介面

實現方法:建立post物件,準備好

post

資料,非同步上傳資料,上傳完成事件處理結果;

/// /// 資料提交主方法

///

///

public void submitdata(string machine, int productqt,string createtime, out bool success, out string errmsg, uploaddatacompletedeventhandler uploaddatacompletedevent)

webexception webexec;

tryinputs = null;}}

finally

}/// /// 非同步post

///

///

/// 上傳資料

/// 上傳完成事件

///

/// 呼叫異常

/// 使用者自定義資料

using (var client = new webclient())

catch (webexception exce)}}

/// /// 上傳資料完成事件處理

///

///

///

public void uploaddatacompletedevent(object sender, uploaddatacompletedeventargs e)

if (!(bool)result["success"])

else

if (usertoken.containskey("machine"))

if (usertoken.containskey("url"))

outputmsg(sb.tostring() + "成功 ");

sb = null;

usertoken = null;}}

else

if (usertoken.containskey("machine"))

if (usertoken.containskey("url"))

outputmsg(sb.tostring());

sb = null;

usertoken = null;

}}

非同步的好處就是動作不會對執行緒造成阻塞,不會造成cpu利率居高不下,如果一開始用的是同步,改為非同步後,cpu利用率會馬上降下來並保持小範圍的波動;

KVM在地鐵綜合監控系統中的應用

kvm系統在綜合監控系統中嚴格說已有部分應用。例如,綜合監控系統主備冗餘的伺服器一般要求管理的時候採用同一套顯示器等裝置。主備伺服器之間的切換就是通過簡單的kvm切換器實現的,在此不詳細描述。結合地鐵機電裝置運營管理的實際需要,尚可以考慮kvm的另外2種應用方案 1.系統整合及遠端維護 從綜合監控系...

分布式系統中的非同步IO與執行緒池

分布式搜尋系統中,一般都有merge和search兩種角色,分別部署在不同的機器上。由於資料量巨大,每台search只能載入部分索引資料,多台search機器合在一起組成全量索引。乙個查詢為了獲得正確結果,需要把這個查詢發給所有的search機器,經過檢索後,再把所有search機器的結果聚合在一起...

TiDB 在西山居實時輿情監控系統中的應用

西山居建立 1995 年初夏,在美麗的海濱小城珠海,西山居工作室孕育而生,一群西山居居士們十年如一日尅勊業業的奮鬥。創造快樂,傳遞快樂!一直是西山居居士們的創作宗旨。西山居以領先的技術作為堅實的基礎以獨特的本土化產品為玩家提供時尚化服務。在未來,西山居仍以娛樂軟體為主導產品,不斷進行研發和市場活動,...