一種接口編/解碼的方法和系統的製作方法
2023-07-05 08:24:46 4
專利名稱:一種接口編/解碼的方法和系統的製作方法
技術領域:
本發明涉及通信領域,特別是涉及一種接口編/解碼的方法和系統。
背景技術:
在編解碼時,需要考慮兩個有關聯的子系統間或模塊間,甚至具體到兩個函數間的接口設計、編解碼等方面,在接口的設計以及後續修改時,接口編碼的優劣會對整個系統造成嚴重的影響。現有的接口代碼在各自子系統中定義和實現,存在以下問題第一,由於編碼者的水平和能力不同,會直接造成在接口設計及編解碼過程中的質量差別,接口代碼的質量不高,有的甚至會造成潛在的隱患問題,對整個系統埋下致命的缺陷。第二,會存在接口消息在傳輸過程中字節流的定義不統一的問題,進而引發接口對接等問題。第三,採用現有的接口編碼方式,系統間的耦合性大,在編碼完成之後需要擴展時,各個子系統不僅需要對接口文件進行重新編寫,而且接口代碼也要重新進行定義和修改,這種接口的改動會直接對業務造成影響,可能導致大面積的代碼修改,甚至可能導致接口無法擴展。
發明內容
本發明提供一種接口編/解碼的方法和系統,以提高接口編/解碼的質量。為了解決上述問題,本發明公開了一種接口編/解碼的方法,包括根據接口需求確定接口內容;根據所述接口內容按照預設的統一規範編寫接口文件;執行自動代碼生成工具,解析所述接口文件自動生成接口代碼文件;調用所述接口代碼文件進行編碼,生成接口消息並發送;和/或,調用所述接口代碼文件對接收到的接口消息進行解碼,得到解碼消息。優選地,所述接口文件存儲在Excel文件中;其中,一個接口的內容編寫為一個接口文件,一個接口文件存儲在一個Excel文件中。優選地,所述接口消息中的有符號整數根據範圍轉換為等長無符號整數進行發送;其中,根據以下公式進行轉換X = value-lb ;所述公式中,X為轉換到字節流中的無符號整數,value為轉換前的有符號整數,Ib為該有符號整數的下邊界。優選地,所述自動生成接口代碼文件之前,還包括
自動代碼生成工具對所述接口文件進行合法性檢查。優選地,調用接口代碼文件進行編碼或解碼包括調用接口;調用對應所述接口的接口代碼文件進行編碼或解碼。優選地,上述方法還包括當所述接口需求變化時,根據變化後的接口需求確定新的接口內容;根據所述新的接口內容修改對應的接口文件;執行自動代碼生成工具,根據修改後的接口文件自動生成新的接口代碼文件;調用所述新的接口代碼文件進行編碼,生成接口消息;和/或,調用所述新的接口代碼文件對接口消息進行解碼,得到解碼消息。優選地,所述接口內容包括接口的消息內容及結構,所述消息結構包括結構名稱、成員名稱和成員類型。優選地,所述預設的統一規範包括接口消息定義規範和傳輸過程中的接口消息流定義規範。優選地,解析所述接口文件自動生成接口代碼文件之後,還包括將所述接口代碼文件集成到工程。本發明還公開了一種接口編/解碼的系統,包括接口內容確定模塊,用於根據接口需求確定接口內容;接口文件編寫模塊,用於根據所述接口內容按照預設的統一規範編寫接口文件;接口代碼文件生成模塊,用於執行自動代碼生成工具,並解析所述接口文件自動生成接口代碼文件;編碼模塊和/或解碼模塊,其中,編碼模塊,用於調用所述接口代碼文件進行編碼,生成接口消息並發送;解碼模塊,用於調用所述接口代碼文件對接收到的接口消息進行解碼,得到解碼消息。優選地,上述系統還包括存儲模塊,用於接口文件編寫模塊編寫完接口文件之後,將所述接口文件存儲在Excel文件中;其中,一個接口的內容編寫為一個接口文件,一個接口文件存儲在一個Excel文件中。優選地,上述系統還包括轉換模塊,用於編碼模塊生成接口消息後,將所述接口消息中的有符號整數根據範圍轉換為等長無符號整數;所述轉換模塊根據以下公式進行轉換X = value-lb ;其中,X為轉換到字節流中的無符號整數,value為轉換前的有符號整數,Ib為該有符號整數的下邊界。優選地,上述系統還包括檢查模塊,用於接口代碼文件生成模塊生成接口代碼文件之前,對所述接口文件進行合法性檢查。優選地,上述系統還包括接口內容修改模塊,用於當所述接口需求變化時,根據變化後的接口需求確定新的接口內容;接口文件修改模塊,用於根據所述新的接口內容修改對應的接口文件;所述接口代碼文件生成模塊執行自動代碼生成工具,根據修改後的接口文件自動生成新的接口代碼文件;所述編碼模塊調用所述新的接口代碼文件進行編碼,生成新的接口消息;和/或,所述解碼模塊調用所述新的接口代碼文件對接口消息進行解碼,得到新的解碼消息。與現有技術相比,本發明包括以下優點第一,本發明採用統一規範編寫接口文件,統一了接口消息定義,減少了系統間的耦合性,接口易於擴展。而且,本發明執行自動代碼生成工具自動生成代碼,減少人為工作量的同時,提高了編碼的質量,避免了因為編程者的能力不同而造成接口設計和編碼過程中的質量差別。第二,本發明將根據接口內容編寫的接口文件存儲在Excel文件中,保證了之後執行自動代碼生成工具可以順利地自動生成代碼。第三,本發明將接口消息中的有符號整數根據範圍轉換為等長無符號整數進行發送,保證了順利對接口消息進行解碼。第四,本發明編碼完成後需要擴展時,只需要修改接口文件,然後根據接口文件可以自動生成接口代碼,不需要再編寫接口代碼,減少了人為工作量,提高了系統擴展的效率。第五,本發明還定義了統一的接口消息流,消息流傳輸格式統一,子系統間的接口使用簡單。
圖I是本發明實施例一種接口編/解碼的方法流程圖;圖2是本發明實施例的接口設計流程圖;圖3是本發明實施例A子系統接口消息發送處理的流程圖;圖4是本發明實施例B子系統接口消息接收處理的流程圖;圖5是本發明實施例接口消息進行修改時的流程示意圖;圖6是本發明實施例一種接口編/解碼的系統的結構框圖;圖7是本發明實施例另一種接口編/解碼的系統的結構框圖。
具體實施例方式為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。實施例一參照圖1,示出了本實施例一種接口編/解碼的方法流程圖,本實施例具體可以包括以下步驟
S101,根據接口需求確定接口內容;接口需求不同,接口內容不同。例如,接口需求是允許客戶支付一個訂單,則接口內容為在系統和支付清算中心之間建立一個清晰定義的接口,目的是允許客戶支付一個訂單。又如,接口需求是認證授權,則接口內容為在系統和認證授權系統之間建立一個清晰定義的接口,目的是驗證客戶提交的數字證書,可以支持多個認證授權系統,並且每個認證授權系統規定它自己的接口。接口內容包括接口的消息內容及結構,所述消息結構包括結構名稱、成員名稱和
成員類型,例如
SOCKET INFO STRUCT
ucSrcIpAddrTag
pstSrcIpAddr
usSrcPort
IicDestIpAddrTag
psiDcsi IpAddr
usDestPort
UINT8socket信息中源地址信息編碼標誌位
SGPS_IP_STRUCTsockcl 信息中源 IP
UINTl 6socket信息中源埠
UINT8socket信息中目的地址信息編碼標誌位
SGPSJP—STRUCTsocket 信息中目的 IP
UINTl 6socket信息中目的埠其中,S0CKET_INF0_STRUCT是結構名稱,ucSrcIpAddrTag 是成員名稱,UINT8 是成員類型。S102,根據所述接口內容按照預設的統一規範編寫接口文件;在本實施例中上述接口文件可以存儲在Excel文件中,而且一個接口的內容編寫為一個接口文件,一個接口文件存儲在一個Excel文件中。 根據需要,接口文件也可以存儲在Word文件中。本實施例中預設的統一規範包括接口消息定義規範和傳輸過程中的接口消息流定義規範。其中,接口消息的定義規範如下I.針對一個接口的消息均定義在一個Excel文件中,文件名即為該接口的名稱。例如接口 SGPS_SIP的定義文件為SGPS_SIP. xls。2.上述Excel文件中只允許有一個工作表,其名稱必須為「Sheetl」。上述Excel文件的表格中,各列屬性參見表I為
權利要求
1.一種接口編/解碼的方法,其特徵在於,包括 根據接口需求確定接口內容; 根據所述接口內容按照預設的統一規範編寫接口文件; 執行自動代碼生成工具,解析所述接口文件自動生成接口代碼文件; 調用所述接口代碼文件進行編碼,生成接口消息並發送; 和/或,調用所述接口代碼文件對接收到的接口消息進行解碼,得到解碼消息。
2.根據權利要求I所述的方法,其特徵在於 所述接口文件存儲在Excel文件中; 其中,一個接口的內容編寫為一個接口文件,一個接口文件存儲在一個Excel文件中。
3.根據權利要求I所述的方法,其特徵在於,所述接口消息中的有符號整數根據範圍轉換為等長無符號整數進行發送; 其中,根據以下公式進行轉換X = value-lb ; 所述公式中,X為轉換到字節流中的無符號整數,value為轉換前的有符號整數,Ib為該有符號整數的下邊界。
4.根據權利要求I所述的方法,其特徵在於,所述自動生成接口代碼文件之前,還包括 自動代碼生成工具對所述接口文件進行合法性檢查。
5.根據權利要求I所述的方法,其特徵在於,調用接口代碼文件進行編碼或解碼包括 調用接口 ; 調用對應所述接口的接口代碼文件進行編碼或解碼。
6.根據權利要求I所述的方法,其特徵在於,還包括 當所述接口需求變化時,根據變化後的接口需求確定新的接口內容; 根據所述新的接口內容修改對應的接口文件; 執行自動代碼生成工具,根據修改後的接口文件自動生成新的接口代碼文件; 調用所述新的接口代碼文件進行編碼,生成接口消息; 和/或,調用所述新的接口代碼文件對接口消息進行解碼,得到解碼消息。
7.根據權利要求I所述的方法,其特徵在於,所述接口內容包括 接口的消息內容及結構,所述消息結構包括結構名稱、成員名稱和成員類型。
8.根據權利要求I所述的方法,其特徵在於 所述預設的統一規範包括接口消息定義規範和傳輸過程中的接口消息流定義規範。
9.根據權利要求I所述的方法,其特徵在於,解析所述接口文件自動生成接口代碼文件之後,還包括 將所述接口代碼文件集成到工程。
10.一種接口編/解碼的系統,其特徵在於,包括 接口內容確定模塊,用於根據接口需求確定接口內容; 接口文件編寫模塊,用於根據所述接口內容按照預設的統一規範編寫接口文件; 接口代碼文件生成模塊,用於執行自動代碼生成工具,並解析所述接口文件自動生成接口代碼文件;編碼模塊和/或解碼模塊,其中, 編碼模塊,用於調用所述接口代碼文件進行編碼,生成接口消息並發送; 解碼模塊,用於調用所述接口代碼文件對接收到的接口消息進行解碼,得到解碼消息。
11.根據權利要求10所述的系統,其特徵在於,還包括 存儲模塊,用於接口文件編寫模塊編寫完接口文件之後,將所述接口文件存儲在Excel文件中; 其中,一個接口的內容編寫為一個接口文件,一個接口文件存儲在一個Excel文件中。
12.根據權利要求10所述的方法,其特徵在於,還包括 轉換模塊,用於編碼模塊生成接口消息後,將所述接口消息中的有符號整數根據範圍轉換為等長無符號整數; 所述轉換模塊根據以下公式進行轉換X = value-lb ; 其中,X為轉換到字節流中的無符號整數,value為轉換前的有符號整數,Ib為該有符號整數的下邊界。
13.根據權利要求10所述的系統,其特徵在於,還包括 檢查模塊,用於接口代碼文件生成模塊生成接口代碼文件之前,對所述接口文件進行合法性檢查。
14.根據權利要求10所述的系統,其特徵在於,還包括 接口內容修改模塊,用於當所述接口需求變化時,根據變化後的接口需求確定新的接口內容; 接口文件修改模塊,用於根據所述新的接口內容修改對應的接口文件; 所述接口代碼文件生成模塊執行自動代碼生成工具,根據修改後的接口文件自動生成新的接口代碼文件; 所述編碼模塊調用所述新的接口代碼文件進行編碼,生成新的接口消息;和/或,所述解碼模塊調用所述新的接口代碼文件對接口消息進行解碼,得到新的解碼消息。
全文摘要
本發明提供了一種接口編/解碼的方法和系統,以提高接口編/解碼的質量。其中,所述一種接口編/解碼的方法包括根據接口需求確定接口內容;根據所述接口內容按照預設的統一規範編寫接口文件;執行自動代碼生成工具,解析所述接口文件自動生成接口代碼文件;調用所述接口代碼文件進行編碼,生成接口消息並發送;和/或,調用所述接口代碼文件對接收到的接口消息進行解碼,得到解碼消息。本發明採用統一規範編寫接口文件,統一了接口消息定義,減少了系統間的耦合性,接口易於擴展。
文檔編號G06F9/44GK102929608SQ201210380778
公開日2013年2月13日 申請日期2012年10月9日 優先權日2012年10月9日
發明者武興 申請人:大唐移動通信設備有限公司