版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
自由CGI之路V3-----面向?qū)ο蟮目膳渲玫腃GI編程互聯(lián)網(wǎng)運(yùn)營(yíng)部tommyyan2008-09-031新的CGI系統(tǒng)介紹 在cgi的開(kāi)發(fā)實(shí)踐中,通過(guò)不斷的系統(tǒng)重構(gòu),完成了一個(gè)基于配置的cgi系統(tǒng)。一般情況下,系統(tǒng)中添加一個(gè)傳統(tǒng)意義上的cgi請(qǐng)求,只需要進(jìn)行幾個(gè)配置文件的少量修改即可完成,而不需要進(jìn)行編碼工作。通過(guò)驅(qū)動(dòng)模塊的擴(kuò)充可以使系統(tǒng)不斷增加新的功能。良好的擴(kuò)充性:可以基于點(diǎn)的控制也可以基于流程的控制,中間件的技術(shù):使接口在上層表現(xiàn)出了一致的特點(diǎn)重復(fù)性的工作的處理:在這個(gè)系統(tǒng)中基本上看不到系統(tǒng)的規(guī)模的控制:使變更的影響范圍在合理的范圍內(nèi)進(jìn)行;全配置的系統(tǒng):即使在配置上也很注重細(xì)節(jié),做到了基于模板的配置和默認(rèn)值選取,使一次新的配置也許只是個(gè)別字段的修改。2
神奇的tcgi
#include"cgi.h"#defineCGI_CONF_PATH"/usr/local/MKT_Act/conf/"intmain(intargc,char*argv[]){ TCgitheCgi; theCgi.RunEx(CGI_CONF_PATH);}3發(fā)展歷程4cgi層次結(jié)構(gòu)5CGI處理流程6CGI處理流程7CGI基礎(chǔ)層8CGI基礎(chǔ)層完成所有與外部應(yīng)用系統(tǒng)無(wú)關(guān)的封裝完成一個(gè)CGI完整的邏輯封裝提供基于中間件的驅(qū)動(dòng)接口提供可以重載的流程接口提供二次開(kāi)發(fā)接口提供配置項(xiàng)管理的接口9系統(tǒng)基礎(chǔ)層完成所有公司、系統(tǒng)級(jí)別的可重用性的封裝提供類似cgiex類似的web方式cgi訪問(wèn)對(duì)基礎(chǔ)庫(kù)的功能封裝TLib、TBase及其他公司、部門相關(guān)庫(kù)提供公用數(shù)據(jù)源接口的驅(qū)動(dòng)封裝TTC、mysql、c4a、支付portal等相關(guān)的業(yè)務(wù)統(tǒng)計(jì)、運(yùn)維統(tǒng)計(jì)、告警操作10業(yè)務(wù)基礎(chǔ)層完成所有業(yè)務(wù)級(jí)別的可重用性的封裝業(yè)務(wù)級(jí)別的檢查 例如:用戶注冊(cè)的檢查、黑名單檢查、業(yè)務(wù)公用信息的獲取 用戶的性別、城市、時(shí)間戳、個(gè)人賬戶,可配置的數(shù)據(jù)讀取和操作 高級(jí)用戶狀態(tài)、好友資料
11業(yè)務(wù)層特殊業(yè)務(wù)邏輯的處理統(tǒng)計(jì)點(diǎn)、監(jiān)控點(diǎn)的添加12CGI基礎(chǔ)層完成所有與外部應(yīng)用系統(tǒng)無(wú)關(guān)的封裝參數(shù)處理模板管理操作管理驅(qū)動(dòng)管理項(xiàng)目、模塊管理配置系統(tǒng)13基礎(chǔ)層-配置系統(tǒng)14項(xiàng)目管理、接口描述-cgi.ini 按照一定規(guī)模組織的外部接口(cgi)的集合,接口包含一下描述輸入特性輸出特性操作列表全局的檢查點(diǎn)公共功能 15#發(fā)起抽獎(jiǎng)[lotterybid]templatetemplateType=1templateCode=utf-8checklogin=trueoplist=bidlotteryargs=actid|typestarttime=2008-02-0108:30:00endtime=2008-03-0123:59:5916參數(shù)處理-輸入?yún)?shù)輸入類型整形/字符類型/特殊類型(文件等)取值范圍默認(rèn)值錯(cuò)誤返回對(duì)應(yīng)的描述,返回碼是否允許為空17參數(shù)處理-輸出輸出的格式多樣(web支持的各類格式)xml、html、圖片文件等等返回類型多樣錯(cuò)誤返回、正確返回,基于模版的返回是否記錄執(zhí)行結(jié)果的多樣性日志、告警、統(tǒng)計(jì)等
18參數(shù)中心類-CgiArgCenter字符編碼(xml、html、js、url。。。)參數(shù)檢查(整形大小,字符型長(zhǎng)度)輸入輸出參數(shù)的緩沖區(qū)根據(jù)指定的模板類型進(jìn)行字符編碼
19模板管理根據(jù)不同的錯(cuò)誤代碼、某一個(gè)字段的返回值取不同的模板各種格式模板的支持和自動(dòng)轉(zhuǎn)譯基于操作名的模板替換20模板示例<%$RETURN_ERROR_begin$%><%RETURN=default_begin%>try{ varrc1="<%RETURN_CODE%>"; rc2="<%RETURN_SUBCODE%>"; MPPresentlist="";callback(rc1,rc2,MPPresentlist); } catch(e) {status="callbackisnotexist!"}<%RETURN=default_end%><%$RETURN_ERROR_end$%><%$campusdui_begin$%> try{ varrc1="0"; rc2="<%MPResultCode%>"; MPPresentlist="<%MPPresentList%>"; callback(rc1,rc2,MPPresentlist); } catch(e) {status="callbackisnotexist!"}<%$campusdui_end$%>操作原子級(jí)的對(duì)一個(gè)驅(qū)動(dòng)接口訪問(wèn)的描述底層驅(qū)動(dòng)接口操作類型:查詢、修改、刪除、新增、贈(zèng)送、抽獎(jiǎng)。。。參數(shù)變換輸入?yún)?shù)和返回結(jié)果參數(shù)指定服務(wù)器相關(guān)信息22抽獎(jiǎng)操作[bidlottery]driver=Portaltype=modfielddisplay=LotteryRankarglist=actid|URL|LOGIN_UIN|typeargmaplist=actid,MPRuleID|type,LotteryTypesubargs=MPRuleID|LotteryTyperesultarglist=LotteryItem,1|LotteryRank,1|ListID,1serverinfo=172.16.60.16:30008|172.16.244.170:30008testserverinfo=172.16.68.141:30007|172.16.68.141:30007驅(qū)動(dòng)對(duì)一個(gè)外部接口的統(tǒng)一接口的封裝加載方式:動(dòng)態(tài)、靜態(tài)服務(wù)器信息支持的操作類型24驅(qū)動(dòng)-統(tǒng)一接口 對(duì)一個(gè)外部接口的統(tǒng)一封裝,一致性的接口,系統(tǒng)啟動(dòng)時(shí)注冊(cè)到操作管理器中初始化接口 typedefvoid*(*FUNC_DRIVER_INIT)(map<string,string>&);操作接口 typedefint(*FUNC_DRIVER_OP)(void*,constchar*,map<string,string>&,void*);取一條數(shù)據(jù)接口 typedefint(*FUNC_DRIVER_FETCH_ROW)(void*,constchar*,map<string,string>&);釋放數(shù)據(jù)接口 typedefint(*FUNC_DRIVER_FREE_RESULT)(void*,constchar*);結(jié)束接口 typedefint(*FUNC_DRIVER_END)(void*context);25驅(qū)動(dòng)-已經(jīng)實(shí)現(xiàn)的接口TTC支付Portal字符串協(xié)議MGW26高級(jí)應(yīng)用-系統(tǒng)擴(kuò)展性擴(kuò)充新的驅(qū)動(dòng)建立業(yè)務(wù)級(jí)別的操作建立操作之間的銜接和處理數(shù)據(jù)源-基于模板的配置流程的特殊處理27公用模塊-系統(tǒng)級(jí)別GET/POST方式檢查參數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版小區(qū)商業(yè)街物業(yè)社區(qū)文化活動(dòng)贊助與支持服務(wù)合同2篇
- 2025年陶瓷行業(yè)標(biāo)準(zhǔn)制定與實(shí)施合同3篇
- 2025年私家車租賃車輛檢測(cè)與評(píng)估服務(wù)合同3篇
- 2025年勞務(wù)派遣合同審查協(xié)議
- 2025年云服務(wù)監(jiān)控協(xié)議
- 2025版?zhèn)€人房屋產(chǎn)權(quán)轉(zhuǎn)移合同模板4篇
- 二零二五年度綠色建筑改造項(xiàng)目合同書4篇
- 2025年垃圾處理和解協(xié)議
- 2025年混合贈(zèng)與合同與贈(zèng)與稅
- 2025版協(xié)議離婚法律援助與調(diào)解服務(wù)協(xié)議3篇
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 2025-2030年中國(guó)糖醇市場(chǎng)運(yùn)行狀況及投資前景趨勢(shì)分析報(bào)告
- 冬日暖陽(yáng)健康守護(hù)
- 水處理藥劑采購(gòu)項(xiàng)目技術(shù)方案(技術(shù)方案)
- 2024級(jí)高一上期期中測(cè)試數(shù)學(xué)試題含答案
- 山東省2024-2025學(xué)年高三上學(xué)期新高考聯(lián)合質(zhì)量測(cè)評(píng)10月聯(lián)考英語(yǔ)試題
- 不間斷電源UPS知識(shí)培訓(xùn)
- 三年級(jí)除法豎式300道題及答案
- 2024年江蘇省徐州市中考一模數(shù)學(xué)試題(含答案)
- GB/T 1196-2023重熔用鋁錠
- 幼兒園教師培訓(xùn):計(jì)數(shù)(數(shù)數(shù))的核心經(jīng)驗(yàn)
評(píng)論
0/150
提交評(píng)論