国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種跨平臺(tái)軟總線的通信裝置及軟總線的制作方法

      文檔序號(hào):7781286閱讀:391來(lái)源:國(guó)知局
      一種跨平臺(tái)軟總線的通信裝置及軟總線的制作方法
      【專利摘要】本發(fā)明適用于計(jì)算機(jī)【技術(shù)領(lǐng)域】,提供了一種跨平臺(tái)軟總線的通信裝置及軟總線,所述裝置包括:通信線程單元,用于維護(hù)雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接;線程池容器,用于作為所述通信線程單元的管理容器;數(shù)據(jù)隊(duì)列緩存單元,用于緩存接收的數(shù)據(jù)隊(duì)列及發(fā)送的數(shù)據(jù)隊(duì)列;連接處理器,用于預(yù)處理所述數(shù)據(jù)隊(duì)列;業(yè)務(wù)適配器,用于歸類所述雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接及當(dāng)一網(wǎng)段網(wǎng)絡(luò)異常時(shí)協(xié)助網(wǎng)絡(luò)切換。本發(fā)明通過(guò)通信線程單元、線程池容器、數(shù)據(jù)隊(duì)列緩存單元、連接處理器、業(yè)務(wù)適配器,實(shí)現(xiàn)了通信方式的統(tǒng)一化,易于維護(hù)。
      【專利說(shuō)明】一種跨平臺(tái)軟總線的通信裝置及軟總線
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種跨平臺(tái)軟總線的通信裝置及軟總線?!颈尘凹夹g(shù)】
      [0002]隨著電力軟件功能模塊化設(shè)計(jì)的發(fā)展,模塊之間網(wǎng)絡(luò)通信交互是必須面對(duì)的問(wèn)題。由于不同開(kāi)發(fā)人員開(kāi)發(fā)不同模塊而采用各自風(fēng)格的通信開(kāi)發(fā)模式,而且當(dāng)每個(gè)開(kāi)發(fā)人員重新開(kāi)發(fā)通信模塊時(shí),還會(huì)發(fā)生多人犯同樣錯(cuò)誤的問(wèn)題,從而影響了開(kāi)發(fā)效率。而且由于每個(gè)開(kāi)發(fā)人員的編程風(fēng)格和編程經(jīng)驗(yàn)的不同,每個(gè)人輸出的通信代碼會(huì)存在較大差異,在出現(xiàn)問(wèn)題的時(shí)候較難維護(hù),也會(huì)出現(xiàn)多人重復(fù)犯同樣錯(cuò)誤的情況。
      [0003]綜上所述,現(xiàn)有技術(shù)中的通信模塊差異大,難以維護(hù)。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明實(shí)施例的目的在于提供一種跨平臺(tái)軟總線的通信裝置,旨在解決現(xiàn)有技術(shù)中的通信模塊差異大,難以維護(hù)的問(wèn)題。
      [0005]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種跨平臺(tái)軟總線的通信裝置,所述裝置包括: 通信線程單元,用于維護(hù)雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接;
      線程池容器,用于作為所述通信線程單元的管理容器;
      數(shù)據(jù)隊(duì)列緩存單元,用于緩存接收的數(shù)據(jù)隊(duì)列及發(fā)送的數(shù)據(jù)隊(duì)列;
      連接處理器,用于預(yù)處理所述數(shù)據(jù)隊(duì)列;
      業(yè)務(wù)適配器,用于歸類所述雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接及當(dāng)一網(wǎng)段網(wǎng)絡(luò)異常時(shí)協(xié)助網(wǎng)絡(luò)切換。
      [0006]本發(fā)明實(shí)施例還提供了一種軟總線,所述軟總線包括上述的裝置。
      [0007]本發(fā)明實(shí)施例與現(xiàn)有技術(shù)相比,有益效果在于:通過(guò)通信線程單元、線程池容器、數(shù)據(jù)隊(duì)列緩存單元、連接處理器、業(yè)務(wù)適配器,實(shí)現(xiàn)了通信方式的統(tǒng)一化,易于維護(hù)。
      【專利附圖】

      【附圖說(shuō)明】
      [0008]圖1是本發(fā)明實(shí)施例提供的跨平臺(tái)軟總線的通信裝置的邏輯結(jié)構(gòu)示意圖;
      圖2是本發(fā)明實(shí)施例提供的跨平臺(tái)軟總線的通信裝置的通信線程單元的線程分類示意圖;
      圖3是本發(fā)明實(shí)施例提供的跨平臺(tái)軟總線的通信裝置的線程池容器的示意圖;
      圖4是本發(fā)明實(shí)施例提供的跨平臺(tái)軟總線的通信裝置的線程與連接處理器和適配器關(guān)系不意圖;
      圖5是本發(fā)明實(shí)施例提供的軟總線的應(yīng)用部署示意圖。
      【具體實(shí)施方式】
      [0009]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
      [0010]本發(fā)明實(shí)施例提供的實(shí)施方案如下:
      請(qǐng)參閱圖1至圖4,本發(fā)明實(shí)施例提供了一種跨平臺(tái)軟總線的通信裝置,所述裝置包
      括:
      通信線程單元101,用于維護(hù)雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接;
      線程池容器102,用于作為所述通信線程單元的管理容器;
      數(shù)據(jù)隊(duì)列緩存單元103,用于緩存接收的數(shù)據(jù)隊(duì)列及發(fā)送的數(shù)據(jù)隊(duì)列;
      連接處理器104,用于預(yù)處理所述數(shù)據(jù)隊(duì)列;
      業(yè)務(wù)適配器105,用于歸類所述雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接及當(dāng)一網(wǎng)段網(wǎng)絡(luò)異常時(shí)協(xié)助網(wǎng)絡(luò)切換。
      [0011]本實(shí)施例中,通信線程單元101中,將通信線程分為兩大類,三個(gè)小類,即TCP線程和UDP線程2個(gè)大類,TCP服務(wù)角色、TCP客戶端角色和UDP線程3個(gè)小類。每個(gè)線程負(fù)責(zé)維護(hù)雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接(TCP線程)。
      [0012]本實(shí)施例中,線程池容器102,作為各種類型通信線程的管理容器,或稱線程管理員。線程池容器102負(fù)責(zé)對(duì)通信線程如TCP線程和UDP線程進(jìn)行創(chuàng)建、銷毀、查詢、調(diào)度、重用、回收等管理任務(wù)。線程池容器102也是軟總線同其他軟件模塊的交互界面,其他模塊使用軟總線就是通過(guò)線程池容器102對(duì)外開(kāi)放的接口來(lái)進(jìn)行的。線程池容器102,將線程池分工作線程池和緩存線程池兩個(gè)線程池;工作線程池即正在進(jìn)行通信工作的線程容器,緩存線程池是備用線程容器;當(dāng)有新的連接建立時(shí),則將所述緩存線程池中的相應(yīng)線程調(diào)度到所述工作線程池中,當(dāng)有連接斷開(kāi)時(shí),則釋放所述工作線程中的相應(yīng)線程,并將釋放的線程回收為緩存線程,調(diào)度到所述緩存線程池中。
      [0013]本實(shí)施例中,數(shù)據(jù)隊(duì)列緩存單元103,作為每個(gè)連接待處理的數(shù)據(jù)緩存池,用于緩存接收數(shù)據(jù)隊(duì)列和發(fā)送數(shù)據(jù)隊(duì)列,數(shù)據(jù)隊(duì)列緩存單元103與TCP發(fā)送緩沖和接收緩沖類似,通過(guò)緩存接收數(shù)據(jù)隊(duì)列和發(fā)送數(shù)據(jù)隊(duì)列,可確保在數(shù)據(jù)高峰的時(shí)候不會(huì)因暫時(shí)數(shù)據(jù)處理能力的不足對(duì)數(shù)據(jù)通信的影響或丟失數(shù)據(jù)。
      [0014]本實(shí)施例中,連接處理器104,具體用于對(duì)數(shù)據(jù)隊(duì)列進(jìn)行維護(hù)、操作的數(shù)據(jù)預(yù)處理,也就是數(shù)據(jù)隊(duì)列的直接管理者。
      [0015]本實(shí)施例中,數(shù)據(jù)分為兩種業(yè)務(wù)類型,當(dāng)同第三方系統(tǒng)通信時(shí),采用不帶報(bào)文頭的數(shù)據(jù)類型,在內(nèi)部系統(tǒng)中采用帶報(bào)文頭的數(shù)據(jù)類型。在內(nèi)部系統(tǒng)中采用帶報(bào)文頭的數(shù)據(jù)類型有助于防止非法數(shù)據(jù)對(duì)系統(tǒng)的干擾,保證連接的合法性,當(dāng)有非法的連接時(shí)將會(huì)被斷開(kāi)。
      [0016]本實(shí)施例中,業(yè)務(wù)適配器105是專門為支持雙網(wǎng)通信而設(shè)置的。
      [0017]所述通信線程單元采用ACE跨平臺(tái)通信技術(shù)。
      [0018]本實(shí)施例中,所述通信線程單元101包括對(duì)外提供接口的XPCOM組件。
      [0019]本實(shí)施例中,所述裝置還包括:
      心跳檢測(cè)單元,用于發(fā)送自定義心跳消息,當(dāng)在預(yù)定時(shí)間內(nèi)未收到響應(yīng)消息或正常的通信數(shù)據(jù)包時(shí),則重新建立連接或切換網(wǎng)絡(luò)。
      [0020]本實(shí)施例中,跨平臺(tái)軟總線的通信裝置具體為C/C++語(yǔ)言下的跨平臺(tái)軟總線的通
      IB 目.ο[0021]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,采用ACE跨平臺(tái)通信技術(shù)。利用ACE跨平臺(tái)通信特性,針對(duì)ACE機(jī)制較復(fù)雜,熟練掌握、使用較難的特點(diǎn),采用面向?qū)ο蠹夹g(shù)對(duì)其再封裝,再次降低使用復(fù)雜性。
      [0022]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,采用線程池。ACE不僅對(duì)跨平臺(tái)通信socket編程進(jìn)行了封裝,還使得線程這個(gè)概念在各平臺(tái)上進(jìn)行了抽象,使得多線程的編程可以非常簡(jiǎn)單。即使在不支持線程的平臺(tái)上也能夠運(yùn)行該多線程代碼。對(duì)socket連接的管理采用線程池方式管理通信線程單元101同其他模塊之間的通信通道,有了線程池容器102的管理,socket網(wǎng)絡(luò)通信資源就能得到很好的管理,避免由于失誤造成資源浪費(fèi)的現(xiàn)象。
      [0023]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,采用XPCOM跨平臺(tái)組件技術(shù)。XPCOM是一個(gè)跨平臺(tái)組件模型,它的全稱為Cross Platform Component Object Module。XPCOM實(shí)現(xiàn)了一個(gè)框架(framework),這個(gè)框架中,它允許開(kāi)發(fā)者打破單一整體的軟件項(xiàng)目,而分解為多個(gè)更小的模塊化碎片(pieces),這些碎片也即組件(components)。XPCOM組件對(duì)外提供接口,對(duì)于XPCOM接口,需要考慮2個(gè)因素:
      (I)、接口與按照契約(Contract)編程:一個(gè)接口在組件與客戶程序之間達(dá)成契約。并沒(méi)有任何強(qiáng)制措施保證認(rèn)同這個(gè)契約,但是忽略它會(huì)是致命的。在基于組件的編程中,組件保證它提供的接口是不變的。不同版本的組件都要提供同樣的訪問(wèn)方法。這就與使用它的客戶程序達(dá)成了一種契約.從這種角度來(lái)說(shuō),基于組件的編程通常也稱為按照契約編程。
      [0024](2)接口與封裝:組件邊界之間的抽象對(duì)軟件的可維護(hù)性與可重用性是至關(guān)重要的。
      [0025]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,采用面向?qū)ο蠹夹g(shù),利用面向?qū)ο蟮娜齻€(gè)基本特征(封裝、繼承、多態(tài))可以使軟件實(shí)現(xiàn)易維護(hù)、高質(zhì)量、高效率、易擴(kuò)展的目的和好處。同時(shí)由于ACE和XPCOM也都采用的面向?qū)ο蠹夹g(shù),所以軟總線采用面向?qū)ο蠹夹g(shù)也可以使軟總線從整體框架上看是一個(gè)面向?qū)ο蠹夹g(shù)的聚合體,實(shí)現(xiàn)結(jié)構(gòu)清晰,代碼整潔的效果。
      [0026]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,支持雙網(wǎng)技術(shù)。電力軟件特別是監(jiān)控軟件,為了保證通信可靠性,通常采用雙網(wǎng)架構(gòu)。軟總線支持雙網(wǎng)就能保證程序模塊在一個(gè)網(wǎng)段癱瘓的情況下無(wú)縫切換到另一個(gè)網(wǎng)段運(yùn)行,不丟失數(shù)據(jù)包,從而保證通信可靠性。
      [0027]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,利用心跳檢測(cè)單元??膳袛郥CP連接是否穩(wěn)定,在通道閑時(shí)發(fā)送自定義心跳,對(duì)方收到后馬上回復(fù)心跳。如果在規(guī)定的時(shí)間段內(nèi)未能收到對(duì)方的心跳信息或正常通信數(shù)據(jù)包,則判斷該連接已經(jīng)斷掉,自動(dòng)重新建立連接或切換網(wǎng)段。
      [0028]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,采用雙數(shù)據(jù)類型模式。一種數(shù)據(jù)類型作為系統(tǒng)內(nèi)部數(shù)據(jù),帶內(nèi)部數(shù)據(jù)報(bào)文頭(對(duì)內(nèi)通信,支持雙網(wǎng));另一種數(shù)據(jù)類型作為同第三方通信數(shù)據(jù)格式(對(duì)外通信,不支持雙網(wǎng)),不帶數(shù)據(jù)報(bào)文頭,這個(gè)在連接建立后確定。
      [0029]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,可以應(yīng)用于以下場(chǎng)景:電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)主站系統(tǒng)各服務(wù)模塊之間的通信中間件;配電自動(dòng)化系統(tǒng)主站系統(tǒng)各服務(wù)模塊之間的通信中間件;變電站自動(dòng)化系統(tǒng)主站系統(tǒng)各服務(wù)模塊之間的通信中間件;集控站主站系統(tǒng)各服務(wù)模塊之間的通信中間件;其他監(jiān)控系統(tǒng)各服務(wù)模塊之間的通信中間件。[0030]本實(shí)施例的跨平臺(tái)軟總線的通信裝置,可作為動(dòng)態(tài)庫(kù)和系統(tǒng)軟件一起部署到服務(wù)器或PC上,在系統(tǒng)軟件需要進(jìn)行網(wǎng)絡(luò)通信時(shí),向軟總線請(qǐng)求創(chuàng)建網(wǎng)絡(luò)連接,即向軟總線中的線程管理員請(qǐng)求調(diào)度線程并進(jìn)行相應(yīng)的連接處理。
      [0031]本實(shí)施例提供的跨平臺(tái)軟總線的通信裝置,采用組件技術(shù)、單元化技術(shù)和面向?qū)ο蠹夹g(shù),以動(dòng)態(tài)庫(kù)的形態(tài)提供給開(kāi)發(fā)人員和運(yùn)行環(huán)境,從而實(shí)現(xiàn)解決電力軟件單元化開(kāi)發(fā)過(guò)程中對(duì)于通信功能的跨平臺(tái)和重用要求問(wèn)題的目的。跨平臺(tái)技術(shù)保證軟件能在混合平臺(tái)環(huán)境下運(yùn)行。
      [0032]本實(shí)施例提供的跨平臺(tái)軟總線的通信裝置,使用者只需要使用軟件對(duì)外提供的接口就可以非常方便地進(jìn)行網(wǎng)絡(luò)編程,將通信容錯(cuò)處理等工作交給軟總線內(nèi)部處理,保證不會(huì)因通信原因引起健壯性降低。
      [0033]本發(fā)明實(shí)施例還提供了一種軟總線,所述軟總線包括上述的裝置。
      [0034]圖5示意了本實(shí)施例提供的軟總線在軟件架構(gòu)中的部署位置,軟總線作為動(dòng)態(tài)庫(kù)和系統(tǒng)軟件一起部署到服務(wù)器或PC上,在系統(tǒng)軟件需要進(jìn)行網(wǎng)絡(luò)通信時(shí),向軟總線請(qǐng)求創(chuàng)建網(wǎng)絡(luò)連接,即向軟總線中的線程管理員請(qǐng)求調(diào)度線程并進(jìn)行相應(yīng)的連接處理。
      [0035]本發(fā)明的跨平臺(tái)軟總線的通信裝置及軟總線,通過(guò)通信線程單元、線程池容器、數(shù)據(jù)隊(duì)列緩存單元、連接處理器、業(yè)務(wù)適配器,實(shí)現(xiàn)了通信方式的統(tǒng)一化,易于維護(hù)。
      [0036]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【權(quán)利要求】
      1.一種跨平臺(tái)軟總線的通信裝置,其特征在于,所述裝置包括: 通信線程單元,用于維護(hù)雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接; 線程池容器,用于作為所述通信線程單元的管理容器; 數(shù)據(jù)隊(duì)列緩存單元,用于緩存接收的數(shù)據(jù)隊(duì)列及發(fā)送的數(shù)據(jù)隊(duì)列; 連接處理器,用于預(yù)處理所述數(shù)據(jù)隊(duì)列; 業(yè)務(wù)適配器,用于歸類所述雙網(wǎng)相同業(yè)務(wù)端口的兩個(gè)不同的連接及當(dāng)一網(wǎng)段網(wǎng)絡(luò)異常時(shí)協(xié)助網(wǎng)絡(luò)切換。
      2.如權(quán)利要求1所述的裝置,其特征在于,所述通信線程單元包括TCP線程和UDP線程。
      3.如權(quán)利要求2所述的裝置,其特征在于,所述線程池容器用于對(duì)所述TCP線程和UDP線程進(jìn)行創(chuàng)建、銷毀、查詢、調(diào)度、重用或回收。
      4.如權(quán)利要求1所述的裝置,其特征在于,所述線程池容器包括工作線程池和緩存線程池。
      5.如權(quán)利要求4所述的裝置,其特征在于,當(dāng)有新的連接建立時(shí),則將所述緩存線程池中的相應(yīng)線程調(diào)度到所述工作線程池中,當(dāng)有連接斷開(kāi)時(shí),則釋放所述工作線程中的相應(yīng)線程,并將釋放的線程調(diào)度到所述緩存線程池中。
      6.如權(quán)利要求1所述的裝置,其特征在于,所述通信線程單元采用ACE跨平臺(tái)通信技術(shù)。
      7.如權(quán)利要求6所述的裝置,其特征在于,所述通信線程單元包括對(duì)外提供接口的XPCOM組件。
      8.如權(quán)利要求1所述的裝置,其特征在于,所述裝置還包括: 心跳檢測(cè)單元,用于發(fā)送自定義心跳消息,當(dāng)在預(yù)定時(shí)間內(nèi)未收到響應(yīng)消息或正常的通信數(shù)據(jù)包時(shí),則重新建立連接或切換網(wǎng)絡(luò)。
      9.一種軟總線,其特征在于,所述軟總線包括權(quán)利要求1至8中任一項(xiàng)所述的裝置。
      【文檔編號(hào)】H04L12/24GK103701788SQ201310706996
      【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月20日 優(yōu)先權(quán)日:2013年12月20日
      【發(fā)明者】吳夙, 胡勇 申請(qǐng)人:深圳市金宏威技術(shù)股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1