基于l-qt-p多線程事件觸發(fā)機制的通信系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng)及方法,屬于電力系統(tǒng)輔助監(jiān)控技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]2015年3月李克強總理在政府工作報告中首次提出“互聯(lián)網(wǎng)+”行動計劃,“互聯(lián)網(wǎng)+”就是“互聯(lián)網(wǎng)+各個傳統(tǒng)行業(yè)”,將互聯(lián)網(wǎng)作為當(dāng)前信息化發(fā)展的核心特征,與工業(yè)、商業(yè)以及金融業(yè)等服務(wù)業(yè)全面融合。目前全社會都在響應(yīng)“互聯(lián)網(wǎng)+”熱潮,加強推進各行各業(yè)的信息化建設(shè)。
[0003]在電力系統(tǒng)內(nèi),同樣也推動著“互聯(lián)網(wǎng)+”建設(shè),但是“互聯(lián)網(wǎng)+”的信息系統(tǒng)建設(shè)都離不開通信基礎(chǔ),通信作為底層的技術(shù)支撐,是信息系統(tǒng)的核心層,因此迫切需要一種穩(wěn)定高效的通信方法,將能夠為各種信息系統(tǒng)建設(shè)提供通信架構(gòu),從而更好推進電力行業(yè)的“互聯(lián)網(wǎng)+”建設(shè)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種基于L-QT-P高效多線程事件觸發(fā)機制的通信系統(tǒng)及方法,也就是就是提供一種高效的多線程事件觸發(fā)機制的技術(shù),能夠為各種信息系統(tǒng)提供便捷高效的通信架構(gòu),從而縮短信息系統(tǒng)的開發(fā)周期和開發(fā)成本,從技術(shù)上支撐“互聯(lián)網(wǎng)+”建設(shè)。
[0005]為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下:
[0006]基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng),包括基礎(chǔ)功能模塊、事件管理模塊和多線程模塊,
[0007]所述基礎(chǔ)功能模塊提供I/O讀寫、定時器、目錄監(jiān)視、編解碼、信號/槽、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)庫功能接口,所有功能接口以標(biāo)準(zhǔn)C++方式呈現(xiàn);
[0008]所述事件管理模塊提供事件邏輯循環(huán),支持SELECT、POLL、EPOLL、KQUEUE、DEVPOLL,EVPORT以及WIN32事件檢測方式檢測就緒的事件信號;所述事件管理模塊對于檢測到已經(jīng)就緒的事件信號,以回調(diào)方式觸發(fā)事件信號,并及時通知上層應(yīng)用;
[0009]所述多線程模塊基于PTHREAD庫,提供跨平臺的多線程服務(wù)。
[0010]前述的事件管理模塊會自動根據(jù)當(dāng)前平臺選擇最優(yōu)的事件檢測方式,也可按照上層指定的事件檢測方式進行檢測。
[0011 ] 前述的事件管理模塊檢測的事件包括網(wǎng)絡(luò)事件、文件事件以及其他事件。
[0012]前述的多線程模塊支持線程的創(chuàng)建和銷毀,同時也提供多種線程鎖類型。
[0013]基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng)進行通信的方法,包括以下步驟:
[0014]1)上層應(yīng)用向事件管理模塊注冊關(guān)注的事件類型;
[0015]2)事件管理模塊啟動事件檢測,識別注冊的所有事件信號;
[0016]3)當(dāng)有事件發(fā)生時,事件管理模塊檢測到就緒事件信號后,通過回調(diào)方式及時通知上層應(yīng)用;
[0017]4)上層應(yīng)用根據(jù)事件類型進行相應(yīng)邏輯業(yè)務(wù)處理,從而完成整個事件流程的處理。前述的通信方法支持WINDOWS、LINUX多種平臺。
[0018]本發(fā)明所達到的有益效果:
[0019](1)制定高效穩(wěn)定的通信架構(gòu),從而縮短信息系統(tǒng)的開發(fā)周期和開發(fā)成本,加快信息化建設(shè)速度;
[0020](2)提供多種功能接口,集成豐富的基礎(chǔ)功能庫,滿足各種信息系統(tǒng)需求;
[0021](3)支持多線程架構(gòu),滿足信息系統(tǒng)對于大并發(fā)的要求;
[0022](4)支持跨平臺,為各個平臺下建設(shè)提供技術(shù)支持;
[0023](5)本發(fā)明的通信方法具有高速、可移植和非阻塞特性。
【附圖說明】
[0024]圖1是本發(fā)明的通信系統(tǒng)的結(jié)構(gòu)示意圖;
[0025]圖2是本發(fā)明的實施例中網(wǎng)絡(luò)事件觸發(fā)的流程圖。
【具體實施方式】
[0026]下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護范圍。
[0027]本發(fā)明提供一種基于L-QT-P高效多線程事件觸發(fā)機制的通信方法,其中L表示基于Libevent提供的事件管理模塊,QT表示是C++基礎(chǔ)庫,依賴QT提供基礎(chǔ)功能模塊,P表示基于PTHREAD提供跨平臺的多線程庫。
[0028]如圖1所示,本發(fā)明的基于L-QT-P高效多線程事件觸發(fā)機制的通信系統(tǒng),主要包括基礎(chǔ)功能模塊、事件管理模塊以及多線程模塊三大模塊。其中,
[0029]基礎(chǔ)功能模塊主要依賴QT庫,提供I/O讀寫、定時器、目錄監(jiān)視、編解碼、信號/槽、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)庫以及其他基礎(chǔ)功能等功能接口,所有功能接口以標(biāo)準(zhǔn)C++方式呈現(xiàn),使用起來便捷高效。
[0030]事件管理模塊是本發(fā)明的核心模塊,提供事件邏輯循環(huán),支持SELECT、POLL、EPOLL, KQUEUE、DEVPOLL, EVPORT以及WIN32方式檢測就緒的事件信號,會自動根據(jù)當(dāng)前平臺選擇最優(yōu)的事件檢測方式,也可以按照上層指定的方式進行檢測。其中,事件可以是網(wǎng)絡(luò)事件、文件事件以及其他事件。對于檢測到已經(jīng)就緒的事件信號,會以回調(diào)方式觸發(fā)事件信號,及時通知上層應(yīng)用。
[0031]多線程模塊主要基于PTHREAD庫,提供跨平臺的多線程服務(wù),支持線程的創(chuàng)建和銷毀,同時也提供多種實用的線程鎖類型。
[0032]如圖2所示,以網(wǎng)絡(luò)事件為例,采用本發(fā)明的系統(tǒng)進行通信的流程,主要包括以下步驟:
[0033]1)上層應(yīng)用向事件管理模塊注冊關(guān)注的事件類型;
[0034]2)事件管理模塊啟動事件檢測機制,識別注冊的所有事件信號;
[0035]3)當(dāng)有網(wǎng)絡(luò)事件發(fā)生時,可能包括網(wǎng)絡(luò)連接事件、網(wǎng)絡(luò)數(shù)據(jù)事件以及斷開連接事件等;
[0036]4)事件管理模塊檢測到就緒事件信號后,就通過回調(diào)方式及時通知上層應(yīng)用;
[0037]5)上層應(yīng)用根據(jù)事件類型進行相應(yīng)邏輯業(yè)務(wù)處理,從而完成了整個事件流程的高效處理。
[0038]本發(fā)明的通信方法支持WINDOWS、LINUX等多種平臺構(gòu)建環(huán)境。
[0039]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進和變形,這些改進和變形也應(yīng)視為本發(fā)明的保護范圍。
【主權(quán)項】
1.基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng),其特征在于,包括基礎(chǔ)功能模塊、事件管理模塊和多線程模塊, 所述基礎(chǔ)功能模塊提供I/O讀寫、定時器、目錄監(jiān)視、編解碼、信號/槽、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)庫功能接口,所有功能接口以標(biāo)準(zhǔn)C++方式呈現(xiàn); 所述事件管理模塊提供事件邏輯循環(huán),支持SELECT、POLL、EPOLL、KQUEUE、DEVPOLL、EVPORT以及WIN32事件檢測方式檢測就緒的事件信號;所述事件管理模塊對于檢測到已經(jīng)就緒的事件信號,以回調(diào)方式觸發(fā)事件信號,并及時通知上層應(yīng)用; 所述多線程模塊基于PTHREAD庫,提供跨平臺的多線程服務(wù)。2.根據(jù)權(quán)利要去1所述的基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng),其特征在于,所述事件管理模塊會自動根據(jù)當(dāng)前平臺選擇最優(yōu)的事件檢測方式,也可按照上層指定的事件檢測方式進行檢測。3.根據(jù)權(quán)利要去1所述的基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng),其特征在于,所述事件管理模塊檢測的事件包括網(wǎng)絡(luò)事件、文件事件以及其他事件。4.根據(jù)權(quán)利要去1所述的基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng),其特征在于,所述多線程模塊支持線程的創(chuàng)建和銷毀,同時也提供多種線程鎖類型。5.根據(jù)權(quán)利要求1至4任意一項所述的基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng)進行通信的方法,其特征在于,包括以下步驟: 1)上層應(yīng)用向事件管理模塊注冊關(guān)注的事件類型; 2)事件管理模塊啟動事件檢測,識別注冊的所有事件信號; 3)當(dāng)有事件發(fā)生時,事件管理模塊檢測到就緒事件信號后,通過回調(diào)方式及時通知上層應(yīng)用; 4)上層應(yīng)用根據(jù)事件類型進行相應(yīng)邏輯業(yè)務(wù)處理,從而完成整個事件流程的處理。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述通信方法支持WINDOWS、LINUX多種λΤΖΖλI 口 ο
【專利摘要】本發(fā)明公開了一種基于L-QT-P多線程事件觸發(fā)機制的通信系統(tǒng)及方法,通信系統(tǒng)包括,事件管理模塊提供事件邏輯循環(huán),支持SELECT、POLL、EPOLL等多種方式檢測就緒的事件信號,通過回調(diào)模式觸發(fā)事件信號;基礎(chǔ)功能模塊提供豐富的基礎(chǔ)功能,其中包括IO讀寫、文件目錄監(jiān)視、定時器以及編解碼等接口;多線程模塊提供線程池服務(wù),支持線程的創(chuàng)建和銷毀,同時也提供多種實用的線程鎖類型。本發(fā)明能夠高速檢測就緒事件信號,提供了豐富的基礎(chǔ)功能接口,提供多線程操作類。本發(fā)明的通信方法高效、可移植、非阻塞和跨平臺,從而為電力系統(tǒng)提供了便捷的通信技術(shù)框架,大大的提高電力系統(tǒng)信息平臺建設(shè)速度。
【IPC分類】G06F9/54
【公開號】CN105404556
【申請?zhí)枴緾N201510691455
【發(fā)明人】單紅宇, 林琦, 李培培, 繆凱, 陳志明
【申請人】江蘇省電力公司揚州供電公司, 江蘇方天電力技術(shù)有限公司, 國家電網(wǎng)公司
【公開日】2016年3月16日
【申請日】2015年10月22日