新四季網

通用接口機系統及其實現方法

2023-05-29 19:19:31 1

專利名稱:通用接口機系統及其實現方法
技術領域:
本發明涉及信息處理技術,具體通信接口的軟體技術,更具體地說,涉及一種通用接口機系統以及它的一種模式化實現方法。
本發明要解決的另一個技術問題是,提供一種接口機系統的模式化實現方法,利用這種方法,用戶可按照標準的程序模式,只需關心用戶的需求,就可簡單實現一個接口機系統。
本發明的第一個技術問題這樣解決,構造一種通用接口機系統,包括公用動態連接庫、軟體模版、可執行性程序IMP和多個業務模塊,所述可執行性程序IMP由總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊通過聯合編譯而成,所述公用動態連接庫包含一系列與IMP實現交互的函數原語,所述軟體模版提供實現一個接口機的簡單指引,所述業務模塊根據具體的業務需求,通過訪問所述公用動態連接庫和所述軟體模版,生成與所述業務需求對應的代碼,並與所述公用動態連接庫和所述軟體模版聯合生成一個業務動態連接庫,所述可執行文件IMP根據配置文件的配置,在啟動運行時同時加載所述業務動態連接庫。
按照本發明提供的接口機系統,包含在所述可執行文件IMP中的總控模塊根據配置文件來決定是否啟動同在所述可執行文件IMP中的通訊模塊、資料庫接口模塊,並維持整個系統的穩定運行。
按照本發明提供的接口機系統,包含在所述可執行文件IMP中的時鐘模塊向其他模塊提供一個高性能的軟體時鐘,用以實現定時功能。
按照本發明提供的接口機系統,包含在所述可執行文件IMP中的所述資料庫接口模塊通過與具體的資料庫建立連接實現資料庫的屏蔽,所述業務模塊對資料庫操作是通過將組織好的相應的資料庫語句發給所述資料庫接口模塊,所述資料庫模塊處理完成後把操作結果返回給該業務模塊來實現的。
按照本發明提供的接口機系統,包含在所述可執行文件IMP中的所述通訊模塊,根據配置文件決定與誰通信,並把相關的通信信息發送給具體的業務模塊去處理。
本發明另一技術問題這樣解決,構造一種通用接口機系統實現方法,包括以下步驟將總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊通過聯合編譯而成可執行性程序IMP;為系統內每個模塊設置唯一的pno,用於標誌系統內的每個線程,將不同區間範圍的Pno分別預分給所述通訊模塊、所述總控模塊、所述時鐘模塊、所述資料庫模塊和所述業務模塊使用;每創建一個線程就有一個PCB記錄與之對應,設置一個總控模塊,管理各線程控制塊的PCB結構;通過調用所述IMP提供的函數原語,基於預定的程序模版實現用戶的具體業務需求。
在按照本發明的上述實現方法中,設置所述時鐘模塊用來向系統內的其他模塊提供軟體定時功能,每隔100毫秒掃描一遍軟體定時器的數據區,檢查有沒有定時器定時已到,如果有,便向設置定時器的線程發送一條定時器消息;設置所述資料庫接口模塊,用於利用資料庫提供的API接口創建資料庫連接線程,使得其他模塊可通過向資料庫連接線程發送資料庫操作消息實現資料庫操作以及在資料庫連接線程處理完後返回應答消息給發送資料庫操作的模塊;設置通訊模塊採用多線程程序設計的方法,每接收或連接一個socket連接,就創建兩個線程來處理,一個從tcp上接收消息,然後轉發給本節點;一個從消息隊列中接收消息,用來發送到對方節點上。
在按照本發明的上述實現方法中,所述業務模塊與所述IMP之間採用動態連接庫方式接入,每個業務模塊或幾個業務模塊根據配置提供一個或多個動態連接庫,與所述IMP部分組成一個進程來實現。
在按照本發明的上述實現方法中,所述總控模塊執行以下總控步驟讀取配置文件;啟動時鐘線程;檢查配置文件中是否包含通訊配置,如有通訊配置則啟動通訊線程;檢查配置文件中是否有資料庫配置,如有資料庫配置,則啟動資料庫線程;檢查配置文件中是否有業務模塊的配置信息,如有業務模塊配置信息,則啟動業務模塊;向每個已啟動的線程發送初始化消息,進入接收消息並處理消息的消息循環處理步驟。
實施本發明提供的通用接口機系統及其實現方法,由於一個接口機系統包含有五個模塊總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊、業務模塊(或多個),但由於其中四個模塊總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊獨立出來組成一個單獨的可執行程序IMP,接口機系統的編制者就毋需關心TCP/IP協議、作業系統、資料庫系統。由於IMP提供了公用的動態連接庫和通用的公共模版,具體的接口機編制者實現了業務模塊的模式化、簡單化。由於可以疊加多個業務模塊,這樣在一臺計算機上可以實現多個接口機的功能。基於IMP這樣的特殊結構,實現了多套接口機系統的實現,其實例如下在移動智能網產品中,MML(人機命令語言)的實現採用了IMP的實現方式,極大地提供了軟體效率,減少了軟體成本。在固定智能網產品中,開封電話自動繳費系統也採用了IMP的軟體結構方式。實踐證明,本發明提出的IMP是實現接口機系統的一種非常好的方式。使得在做接口機系統時,如果用戶需要實現多個接口機系統,可在一臺計算機上實現,極大地降低了軟體和硬體成本。
其中,總控模塊101根據配置文件來決定是否啟動通訊模塊103、資料庫接口模104塊,並維持整個系統的穩定運行。時鐘模塊102提供一個高性能的軟體時鐘,其他模塊利用這樣的軟體時鐘,以實現定時的功能。資料庫接口模塊104通過與具體的資料庫建立連接,實現了屏蔽資料庫的功能,業務模塊105如果要對資料庫操作,只需組織好相應的資料庫語句,發給資料庫接口模塊104,資料庫模塊104處理完成後把操作結果返回給業務模塊105。通訊模塊103根據配置文件決定與誰通信,並把相關的通信信息發送給具體的業務模塊105去處理。


圖1給出的通用接口機內部的模塊關係圖中,總控模塊101、時鐘模塊102、資料庫模塊104、通訊模塊103共同構成了一個接口機的IMP平臺106,業務模塊105與IMP平臺106之間採用動態連接庫的方式進行接入,每個業務模塊或幾個業務模塊105根據配置提供一個或多個動態連接庫,與IMP平臺部分106組成一個進程來實現。系統內的每個模塊,都有相應的pno與之對應,pno是用來唯一標誌系統內的每個線程。Pno的範圍從1-400,1-255分配給通訊模塊103使用,260-270分配給總控模塊101和時鐘模塊102使用,270-299分配給資料庫模塊104使用,300-400分配給業務模塊105使用。總控模塊101管理一個稱為線程控制塊的PCB結構,每個線程創建後都有一個PCB記錄與之對應。對於每個業務線程,有統一的命名規則,如果pno為300,則其動態連接庫的名稱為service300.sl(針對hpux作業系統),service300.so(針對aix作業系統),service300.dll(針對WindowsNT作業系統),等等,在模版文件中函數名稱也同時如下service300(…)。在程序編制時,調用IMP平臺提供的函數原語,按程序的模版來實現用戶的具體業務需求。時鐘模塊用來向系統內的其他模塊提供軟體定時的功能,它每隔100毫秒掃描一遍軟體定時器的數據區,檢查有沒有定時器定時已到,如果有,便向設置定時器的線程發送一條定時器消息。資料庫接口模塊利用資料庫提供的API接口創建資料庫連接線程,其他的模塊如果需要對資料庫操作,就向資料庫連接線程發送資料庫操作消息,資料庫連接線程處理完後返回應答消息給發送資料庫操作的模塊。通訊模塊103採用多線程程序設計的方法,每接收或連接一個socket連接,就創建兩個線程來處理,一個從tcp上接收消息,然後轉發給本節點;一個從消息隊列中接收消息,用來發送到對方節點上,具體過程將結合圖3-圖5加以說明。
圖1中的查詢和跟蹤模塊107處於IMP系統之外,它向IMP106發送查詢或跟蹤消息,IMP106接收到查詢或跟蹤消息後,把IMP106內部的一些全局數據區(比如通訊鏈路資料庫,線程控制塊數據區)或跟蹤消息返回給查詢和跟蹤模塊107。
圖2描述了IMP中的總控模塊是如何啟動IMP軟體。即圖2描述了總控模塊101的工作流程。首先,在框201讀取配置文件,在框202啟動時鐘模塊,在框203中判斷,如果配置文件中有通訊模塊,則在框204啟動通訊模塊;在框205中檢查配置文件中是否有資料庫模塊(資料庫配置為1),如有則在框206啟動資料庫線程,在框207中檢查配置文件中有無業務模塊信息,如果配置文件中配置了業務模塊的pno號,在框208系統調用相應的業務模塊的動態連接庫,並啟動業務模塊線程進到框209,如果配置文件中沒有業務模塊配置信息則直接進到框209,由系統向已啟動的各模塊發送初始化消息,最後,在框210,進入消息循環,接收消息並處理消息。
圖3和圖4描述了通訊模塊是如何與通用接口機中的其他模塊進行通訊。其中,圖3描述了IMP中的通訊模塊是如何與TCP/IP接口,並提供通用的通訊功能。圖4描述了一個tcp連接創建成功後是如何和其他模塊進行通訊。
參考圖3和圖4,通訊模塊實現了同時兼容多個server埠和多個client埠的功能,由於每個接口機的通訊結構和通訊方式各不相同,因此設計時通訊模塊完成如下功能通訊連接的建立、通訊連接的取消、接受不同埠的通訊連接、發送消息、接收消息。其主要思想是對於每一個節點(一般為對端的計算機)的通訊,需要有一個主要的業務模塊線程與之對應,通訊模塊在收到消息後,把消息統一發給主業務模塊線程。一個接口機模塊可能會有多個業務模塊來處理,但其中必須設定一個主業務模塊,其他的為從業務模塊。從業務模塊的消息通訊統一由主業務模塊來轉發。通訊模塊的實現採用多線程阻塞通訊的設計思想,每接收或建立一條連接成功後建立兩個線程,一個線程阻塞在tcp上負責接收從外部來的消息,只要這個消息非0,他就把這個消息加上消息頭MSGHEAD發送給與此連接相關聯的主業務模塊中去,另一個線程阻塞在消息隊列上負責從消息隊列中讀取消息,並把這個消息從socket中發送出去。同時通訊模塊提供若干原語調用,負責建立連接、清除連接、獲取節點信息等。通過以上的方式實現了通訊模塊的通用化,屏蔽了複雜的TCP/IP協議。
具體對附圖3說明如下當在框301中接收到的消息是初始化消息,則執行框302-309,即在框302讀取通訊配置,在框303檢查是否有伺服器配置,如有則在框304創建監聽線程,如在框305中檢查出有客戶端配置,則在框306向已配置的節點連接,在框307中檢查是否成功,如成功在框308進入下面的處理,否則在框309設置時鐘信號。
當在框301中接收到的消息是建立連接消息,則執行框310-312,即在框310根據接收到的節點信息進行通訊連接,在框311判斷通訊連接是否成功,如成功則在框312進入相應流程;當在框301中接收到的消息是關閉連接消息,則執行框313,關閉通訊線程,重置通訊數據區內容;當在框301中接收到的消息是時鐘消息,則在框314內向需要發送鏈路檢查包的節點發送檢查包消息;當在框301中接收到的消息是模塊退出消息,則在框315清除通訊數據區內容並推出通訊模塊。
圖4中,當監聽到連接(框401)或作為客戶端發起向某節點連接成功(框402),則在框403,創建一個線程來從tcp上接收消息;如在框404判斷接收成功,則在框405創建一個線程用來從消息隊列中接收消息,如接收成功(框406),則在框407填充通訊數據區內容,如不成功,在框408關閉前一個線程。
圖5描述了IMP和兩個節點進行通訊時的數據流向。在圖中描述了這樣的應用這個接口機系統需要同兩個節點進行通訊,其業務模塊共有三個,主業務線程、從線程1、從線程2,圖中可以直觀地看到在IMP系統中的消息流向,其中第二列為IMP系統中創建的通訊線程。
在圖中我們可以看到從線程508接收一條消息的流程如下外部節點501到從tcp上接收消息的線程504,到主業務線程507,到從線程508;外部節點502到從tcp上接收消息的線程505,到主業務線程507,到從線程508;從線程508發送一條消息的流程如下從線程508到從消息隊列上接收消息的線程503,到外部節點501;
從線程508,到從消息隊列上接收消息的線程504到外部節點502;同樣我們也可以看到從線程509接收一條消息的流程如下外部節點501到從tcp上接收消息的線程505,到主業務線程507,到從線程509;外部節點502到從tcp上接收消息的線程505,到主業務線程507,到從線程509;從線程508發送一條消息的流程如下從線程509到從消息隊列上接收消息的線程506,到外部節點501;從線程509到從消息隊列上接收消息的線程506,到外部節點502。
權利要求
1.一種通用接口機系統,其特徵在於,包括公用動態連接庫、軟體模版、可執行性程序IMP和多個業務模塊,所述可執行性程序IMP由總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊通過聯合編譯而成,所述公用動態連接庫包含一系列與IMP實現交互的函數原語,所述軟體模版提供實現一個接口機的簡單指引,所述業務模塊根據具體的業務需求,通過訪問所述公用動態連接庫和所述軟體模版,生成與所述業務需求對應的代碼,並與所述公用動態連接庫和所述軟體模版聯合生成一個業務動態連接庫,所述可執行文件IMP根據配置文件的配置,在啟動運行時同時加載所述業務動態連接庫。
2.根據權利要求1所述接口機系統,其特徵在於,包含在所述可執行文件IMP中的總控模塊根據配置文件來決定是否啟動同在所述可執行文件IMP中的通訊模塊、資料庫接口模塊,並維持整個系統的穩定運行。
3.根據權利要求1所述接口機系統,其特徵在於,包含在所述可執行文件IMP中的時鐘模塊向其他模塊提供一個高性能的軟體時鐘,用以實現定時功能。
4.根據權利要求1所述接口機系統,其特徵在於,包含在所述可執行文件IMP中的所述資料庫接口模塊通過與具體的資料庫建立連接實現資料庫的屏蔽,所述業務模塊對資料庫操作是通過將組織好的相應的資料庫語句發給所述資料庫接口模塊,所述資料庫模塊處理完成後把操作結果返回給該業務模塊來實現的。
5.根據權利要求1所述接口機系統,其特徵在於,包含在所述可執行文件IMP中的所述通訊模塊,根據配置文件決定與誰通信,並把相關的通信信息發送給具體的業務模塊去處理。
6.一種接口機系統實現方法,包括以下步驟將總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊通過聯合編譯而成可執行性程序IMP;為系統內每個模塊設置唯一的pno,用於標誌系統內的每個線程,將不同區間範圍的Pno分別預分給所述通訊模塊、所述總控模塊、所述時鐘模塊、所述資料庫模塊和所述業務模塊使用;每創建一個線程就有一個PCB記錄與之對應,設置一個總控模塊,管理各線程控制塊的PCB結構;通過調用所述IMP提供的函數原語,基於預定的程序模版實現用戶的具體業務需求。
7.根據權利要求6所述實現方法,其特徵在於,設置所述時鐘模塊用來向系統內的其他模塊提供軟體定時功能,每隔100毫秒掃描一遍軟體定時器的數據區,檢查有沒有定時器定時已到,如果有,便向設置定時器的線程發送一條定時器消息;設置所述資料庫接口模塊,用於利用資料庫提供的API接口創建資料庫連接線程,使得其他模塊可通過向資料庫連接線程發送資料庫操作消息實現資料庫操作以及在資料庫連接線程處理完後返回應答消息給發送資料庫操作的模塊;設置通訊模塊採用多線程程序設計的方法,每接收或連接一個socket連接,就創建兩個線程來處理,一個從tcp上接收消息,然後轉發給本節點;一個從消息隊列中接收消息,用來發送到對方節點上。
8.根據權利要求7所述實現方法,其特徵在於,所述業務模塊與所述IMP之間採用動態連接庫方式接入,每個業務模塊或幾個業務模塊根據配置提供一個或多個動態連接庫,與所述IMP部分組成一個進程來實現。
9.根據權利要求7所述實現方法,其特徵在於,所述總控模塊執行以下總控步驟讀取配置文件;啟動時鐘線程;檢查配置文件中是否包含通訊配置,如有通訊配置則啟動通訊線程;檢查配置文件中是否有資料庫配置,如有資料庫配置,則啟動資料庫線程;檢查配置文件中是否有業務模塊的配置信息,如有業務模塊配置信息,則啟動業務模塊;向每個已啟動的線程發送初始化消息,進入接收消息並處理消息的消息循環處理步驟。
10.根據權利要求6所述實現方法,其特徵在於,所其特徵在於,將查詢和跟蹤模塊處於IMP之外,在查詢或跟蹤時,由所述查詢模塊向IMP發送查詢或跟蹤消息,IMP接收到查詢或跟蹤消息後,把IMP內部的一些全局數據區,包括通訊鏈路資料庫和(或)線程控制塊數據區,或跟蹤消息返回給所述查詢和跟蹤模塊。
11.根據權利要求7所述實現方法,其特徵在於,在一個主業務模塊和多個從業務模塊中,從業務模塊的消息通訊統一由主業務模塊來轉發,每進行一次收發或建立一條連接,需要建立兩個線程,一個線程阻塞在tcp上負責接收從外部來的消息,只要這個消息非0,他就把這個消息加上消息頭MSGHEAD發送給與此連接相關聯的主業務模塊中去,另一個線程阻塞在消息隊列上負責從消息隊列中讀取消息,並把這個消息從socket中發送出去。
12.根據權利要求11所述實現方法,其特徵在於,IMP和兩個節點之間通訊由主業務線程、從線程1、從線程2實現的,其中所述從線程1接收一條消息,包括以下過程外部節點1到從tcp上接收消息的線程1,到主業務線程,到從線程1;外部節點2到從tcp上接收消息的線程2,到主業務線程,到從線程1;所述從線程1發送一條消息,包括以下過程從線程1到從消息隊列上接收消息的線程1,到外部節點1;到從線程1到從消息隊列上接收消息的線程2,到外部節點2;所述從線程2接收一條消息,包括以下過程外部節點1到從tcp上接收消息的線程1,到主業務線程,到從線程2;外部節點2到從tcp上接收消息的線程2,到主業務線程,到從線程2;所述從線程2發送一條消息,包括以下過程從線程2到從消息隊列上接收消息的線程1,到外部節點1;從線程2到從消息隊列上接收消息的線程2,到外部節點2。
全文摘要
一種通用接口機系統及其實現方法,包括公用動態連接庫、軟體模版、可執行性程序IMP和多個業務模塊,其中IMP由總控模塊、時鐘模塊、通訊模塊、資料庫接口模塊聯合編譯而成,公用動態連接庫包含與IMP實現交互的函數原語,軟體模版提供實現一個接口機的簡單指引,業務模塊根據具體的業務需求,通過訪問公用動態連接庫和軟體模版,生成與業務需求對應的代碼,並與公用動態連接庫和軟體模版聯合生成一個業務動態連接庫,IMP根據配置文件的配置,在啟動運行時同時加載業務動態連接庫。利用本發明,設計接口機系統毋需關心TCP/IP協議、作業系統、資料庫系統,使得業務模塊實現的模式化、簡單化成為可能,並可通過疊加多個業務模塊,在一臺計算機上實現多個接口機。
文檔編號G06F3/00GK1471018SQ0213626
公開日2004年1月28日 申請日期2002年7月24日 優先權日2002年7月24日
發明者李世亮, 盧勤元, 王東鳴 申請人:深圳市中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀