亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)及其實(shí)現(xiàn)方法

文檔序號(hào):6443517閱讀:543來(lái)源:國(guó)知局
專利名稱:一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及郵箱服務(wù)技術(shù),特別是指一種即時(shí)通信系統(tǒng)中郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)及其實(shí)現(xiàn)方法。
背景技術(shù)
隨著即時(shí)通信技術(shù)的發(fā)展,基于即時(shí)通信的各種增值業(yè)務(wù)越來(lái)越多、覆蓋面也越來(lái)越廣泛,比如即時(shí)通信郵箱服務(wù)。目前的即時(shí)通信郵箱服務(wù)是面向全國(guó)的海量服務(wù),其覆蓋的范圍廣、使用的用戶多,且支持郵箱服務(wù)中各類服務(wù)的實(shí)現(xiàn)架構(gòu)形成一個(gè)整體。由于郵箱服務(wù)的規(guī)模大、架構(gòu)復(fù)雜,使得郵箱服務(wù)整個(gè)項(xiàng)目在開(kāi)發(fā)、升級(jí)、以及架構(gòu)調(diào)整方面,都會(huì)遇到耦合度過(guò)高的問(wèn)題。具體來(lái)說(shuō),一方面,即使是進(jìn)行小版本升級(jí),由于整體架構(gòu)的耦合度過(guò)高,代碼模塊需要全編譯、全測(cè)試所有程序編碼,這樣,使得每個(gè)升級(jí)周期都會(huì)耗時(shí)過(guò)長(zhǎng);另一方面,針對(duì)不同來(lái)源的多個(gè)版本,在現(xiàn)有架構(gòu)之下,必須同時(shí)升級(jí),否則多套產(chǎn)品就必須獨(dú)立部署、分別維護(hù)。另外,對(duì)于集成后的社區(qū)產(chǎn)品,由于未區(qū)分基礎(chǔ)服務(wù)和上層服務(wù),無(wú)法做到將個(gè)別基礎(chǔ)服務(wù)拆分并嵌入使用,這樣使得一些比較好的基礎(chǔ)性應(yīng)用無(wú)法從具體產(chǎn)品中剝離出來(lái)?,F(xiàn)有郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)包括三部分:前端模版、作為中間層的通用網(wǎng)關(guān)接口(CGI, Common Gateway Interface)層、以及后端的后臺(tái)服務(wù)器(Server),三部分的關(guān)聯(lián)性比較強(qiáng);并且,由于不同模塊依賴于不同的庫(kù)函數(shù),且各個(gè)業(yè)務(wù)獨(dú)立性不夠,所以,庫(kù)函數(shù)的變動(dòng)會(huì)交叉影響到多個(gè)模塊;因此,當(dāng)后臺(tái)Server升級(jí)時(shí),就會(huì)影響到前端和CGI層。顯然,在現(xiàn)有郵箱服務(wù)實(shí)現(xiàn)架構(gòu)中,就算是后臺(tái)Server很小版本的升級(jí)也會(huì)對(duì)整體架構(gòu)產(chǎn)生影響。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)及其實(shí)現(xiàn)方法,能降低郵箱服務(wù)架構(gòu)的耦合度,且能提高郵箱基礎(chǔ)服務(wù)的通用性。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:本發(fā)明公開(kāi)了一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu),包括前端、中間層和后臺(tái)服務(wù)器;所述中間層進(jìn)一步包括通用網(wǎng)關(guān)接口(CGI)層和應(yīng)用編程接口(API)層,且所述API層位于CGI層和后臺(tái)服務(wù)器之間;其中,所述CGI層,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分,用于完成業(yè)務(wù)邏輯功能的處理;所述API層,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)各資源接口的API,用于與后臺(tái)服務(wù)器進(jìn)行資源交互,并向上層應(yīng)用提供所需的API。上述方案中,所述前端包括前端模板引擎,所述前端模板引擎用于將后臺(tái)服務(wù)器推送的數(shù)據(jù)解析為可讀頁(yè)面;所述后臺(tái)服務(wù)器,用于存儲(chǔ)或緩存數(shù)據(jù),為前端和中間層提供所需數(shù)據(jù)。
上述方案中,所述API層包括的API為針對(duì)操作行為的接口。本發(fā)明還公開(kāi)了一種郵箱服務(wù)的實(shí)現(xiàn)方法,在郵箱服務(wù)架構(gòu)的中間層設(shè)置API層,所述API層位于CGI層和后臺(tái)服務(wù)器之間;該方法還包括:將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分最大化分離,并將各個(gè)資源接口分別對(duì)應(yīng)API ;根據(jù)需要提取出郵箱基礎(chǔ)服務(wù)中部分或全部資源接口對(duì)應(yīng)的API,通過(guò)API調(diào)用方式提供給上層應(yīng)用進(jìn)行集成。上述方案中,所述將各個(gè)資源接口分別對(duì)應(yīng)API為:生成各資源接口對(duì)應(yīng)的API,將分離出的業(yè)務(wù)邏輯部分和對(duì)應(yīng)資源接口的API分別放置于CGI層和API層。上述方案中,所述將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分最大化分離為:將單純的功能點(diǎn)與邏輯點(diǎn)分開(kāi)。上述方案中,所述API層包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的各資源接口的API。本發(fā)明提供的郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)及其實(shí)現(xiàn)方法,在現(xiàn)有架構(gòu)的中間層增加設(shè)置應(yīng)用編程接口(API, Application Programming Interface)層,API 層位于 CGI 層和后臺(tái)Server之間;并將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分盡量分離,業(yè)務(wù)邏輯部分和資源接口分別放置于CGI層和API層,僅由API層與后臺(tái)Server進(jìn)行資源交互,這樣,最大程度的降低了郵箱服務(wù)架構(gòu)中各部分的耦合度,可以避免后臺(tái)Server的升級(jí)對(duì)前端和CGI層的影響,進(jìn)而避免后臺(tái)Server的微小升級(jí)對(duì)整體架構(gòu)的影響。本發(fā)明抽象并整理出對(duì)應(yīng)各個(gè)郵箱基礎(chǔ)服務(wù)資源接口的所有API,當(dāng)運(yùn)用于社區(qū)產(chǎn)品的應(yīng)用時(shí),可根據(jù)需要提取出部分或全部郵箱基礎(chǔ)服務(wù)資源接口對(duì)應(yīng)的API,通過(guò)API調(diào)用方式提供給上層應(yīng)用進(jìn)行集成,比如:在社區(qū)產(chǎn)品的應(yīng)用中增加大附件的新功能,此時(shí)不需要單獨(dú)重新開(kāi)發(fā),可直接將對(duì)應(yīng)大附件功能的API以API調(diào)用方式提供給社區(qū)產(chǎn)品集成,來(lái)支持這一社區(qū)新功能的實(shí)現(xiàn)。本發(fā)明將現(xiàn)有郵箱服務(wù)架構(gòu)進(jìn)行了解耦,使整個(gè)郵箱服務(wù)架構(gòu)變得更加獨(dú)立與靈活;并且,可將郵箱基礎(chǔ)服務(wù)中部分或全部資源接口通過(guò)API調(diào)用方式植入除社區(qū)產(chǎn)品以外的更多產(chǎn)品,提高了郵箱基礎(chǔ)服務(wù)的通用性。


圖1為本發(fā)明郵箱服務(wù)實(shí)現(xiàn)架構(gòu)的組成結(jié)構(gòu)示意圖;圖2為本發(fā)明郵箱服務(wù)實(shí)現(xiàn)方法的流程示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是:在郵箱服務(wù)架構(gòu)的中間層設(shè)置API層,API層位于CGI層和后臺(tái)Server之間;將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分最大化分離,并將各個(gè)資源接口分別對(duì)應(yīng)API,根據(jù)需要提取出郵箱基礎(chǔ)服務(wù)中部分或全部資源接口對(duì)應(yīng)的API,通過(guò)API調(diào)用方式提供給上層應(yīng)用進(jìn)行集成。這里,是利用API層作為中介,API層包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的各資源接口的API,使用所需的API完成與后臺(tái)Server的資源交互,同時(shí)上層應(yīng)用也可以通過(guò)調(diào)用需要的API方式實(shí)現(xiàn)所需的功能,如此,可使上層應(yīng)用利用后臺(tái)Server的資源完成所需的功能,而無(wú)需上層應(yīng)用與后臺(tái)Server之間進(jìn)行直接交互或發(fā)生關(guān)聯(lián)。其中,所述API是預(yù)先定義的函數(shù),用于提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件的訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。本發(fā)明郵箱服務(wù)的實(shí)現(xiàn)架構(gòu)如圖1所示,包括:前端10、中間層20和后臺(tái)Server30 ;其中,所述前端10,包括前端模板引擎,所述前端模板引擎用于將后臺(tái)Server推送的數(shù)據(jù)解析為可讀頁(yè)面;所述中間層20,用于對(duì)后臺(tái)Server推送的原始數(shù)據(jù)進(jìn)行邏輯處理;所述中間層進(jìn)一步包括CGI層201和API層202 ;具體的,所述CGI層201,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分,用于完成業(yè)務(wù)邏輯功能的處理,例如:將發(fā)送的郵件加上定時(shí)發(fā)送屬性等等;所述API層202,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)各資源接口的API,所述API是針對(duì)單純操作行為的接口;所述API層202,用于與后臺(tái)Server 30進(jìn)行資源交互,并向上層應(yīng)用提供所需的API ;其中,所述操作行為可以是讀郵件、寫(xiě)郵件、發(fā)郵件等,例如:從后臺(tái)Server拿到郵件數(shù)據(jù),通過(guò)發(fā)郵件接口推送出去;這里,所述向上層應(yīng)用提供所需的API具體是:向上層應(yīng)用提供可調(diào)用的API,并由API提供固定的輸入?yún)?shù),換句話說(shuō)就是,為上層應(yīng)用提供可調(diào)用的所需功能對(duì)應(yīng)的接口函數(shù),調(diào)用時(shí)向相應(yīng)API提供的固定輸入?yún)?shù)賦值;之后,輸出參數(shù)再供CGI層調(diào)用。
所述后臺(tái)Server 30,用于存儲(chǔ)或緩存數(shù)據(jù),為前端10和中間層20提供所需數(shù)據(jù)。本發(fā)明的實(shí)現(xiàn)架構(gòu)中,所述CGI層包括的各個(gè)業(yè)務(wù)邏輯部分和API層包括的各資源接口的API,可以是預(yù)先將郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分和資源接口最大化分離得到的;也可以是在使用某個(gè)上層應(yīng)用時(shí)同步將相應(yīng)郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯和資源接口進(jìn)行剝離得到的。本發(fā)明郵箱服務(wù)的實(shí)現(xiàn)方法如圖2所述,該方法的實(shí)現(xiàn)流程包括:步驟201:在CGI層和后臺(tái)Server之間設(shè)置API層,并將郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分和資源接口最大化分離;其中,所述郵箱基礎(chǔ)服務(wù)是指涉及郵箱服務(wù)的一些基礎(chǔ)操作,如:發(fā)信、收信、郵件列表、文件夾列表等等,每種郵箱基礎(chǔ)服務(wù)會(huì)對(duì)應(yīng)資源模塊;這里,將所有資源模塊進(jìn)行梳理,并將資源接口與業(yè)務(wù)邏輯部分最大化分離,所述最大化分離是指將單純的功能點(diǎn)與邏輯點(diǎn)分開(kāi),所述資源接口就是指功能點(diǎn),例如:郵箱基礎(chǔ)服務(wù)為只能發(fā)送100M以下的郵件,其中的功能點(diǎn)是發(fā)送郵件,邏輯點(diǎn)是判斷郵件大小是否小于100M,相應(yīng)的,最大化分離就是分為發(fā)送郵件的功能點(diǎn)和判斷100M大小的邏輯點(diǎn),發(fā)送郵件的功能點(diǎn)是資源接口,判斷100M大小的邏輯點(diǎn)是業(yè)務(wù)邏輯部分,以此最大化的降低率禹合度。步驟202:生成各資源接口對(duì)應(yīng)的API,將分離出的業(yè)務(wù)邏輯部分和對(duì)應(yīng)資源接口的API分別放置于CGI層和API層;這里,是將現(xiàn)有技術(shù)中資源接口和業(yè)務(wù)邏輯部分均寫(xiě)入CGI層的方式,改為將分離出的資源接口和業(yè)務(wù)邏輯部分分別寫(xiě)入CGI層和API層,即:將抽象的資源接口和涵蓋業(yè)務(wù)邏輯的部分完全剝離,業(yè)務(wù)邏輯部分寫(xiě)入CGI層,對(duì)應(yīng)資源接口的API放置于API層,每個(gè)API能完成對(duì)應(yīng)資源接口的功能,如此,可保證提取資源的純凈性,從而只提供單純的郵件基礎(chǔ)服務(wù)的資源接口與后臺(tái)Server之間的交互功能,例如:從后臺(tái)Server得到某個(gè)用戶的總郵件數(shù)。在具體實(shí)現(xiàn)時(shí),將資源接口輸入、輸出部分的參數(shù)進(jìn)行梳理,并通過(guò)擬定的測(cè)試腳本方式進(jìn)行控制,以確保穩(wěn)定;所述擬定的測(cè)試腳本可根據(jù)業(yè)務(wù)上的輸入、輸出設(shè)計(jì)值編與。本發(fā)明中,通過(guò)抽象接口即分離出功能點(diǎn)API的方式,實(shí)現(xiàn)阻隔業(yè)務(wù)邏輯部分與后臺(tái)Server過(guò)強(qiáng)的I禹合性。步驟203:根據(jù)需要提取出部分或全部資源接口對(duì)應(yīng)的API,通過(guò)API調(diào)用方式提供給上層應(yīng)用。這里,所述上層應(yīng)用可以是社區(qū)產(chǎn)品,也可以是除社區(qū)產(chǎn)品以外的其他產(chǎn)品,均可通過(guò)調(diào)用方式將API提供給上層應(yīng)用進(jìn)行集成;其中,所述API是經(jīng)過(guò)測(cè)試通過(guò)的穩(wěn)定的應(yīng)用接口,可通過(guò)獨(dú)立的方式提供給上層應(yīng)用;如此,就可以使其他產(chǎn)品復(fù)用已有產(chǎn)品如即時(shí)通信郵箱服務(wù)成熟、強(qiáng)大的后臺(tái)服務(wù),例如:漂流瓶應(yīng)用、文件中轉(zhuǎn)站應(yīng)用等等。具體來(lái)說(shuō),例如:已有產(chǎn)品是漂流瓶應(yīng)用,從行為上講,該應(yīng)用就是推送一段信息發(fā)給接收者,其表現(xiàn)形式從視覺(jué)上看是一個(gè)漂流瓶操作,而抽象來(lái)看,該漂流瓶應(yīng)用是一種發(fā)送信息的操作行為,那么,此時(shí)可使用發(fā)郵件的API,通過(guò)發(fā)郵件的API,可以將漂流瓶應(yīng)用做更多表現(xiàn),嵌入在其他產(chǎn)品中。再例如:已有產(chǎn)品是文件中轉(zhuǎn)站,文件中轉(zhuǎn)站是一個(gè)大文件存儲(chǔ)的API,實(shí)際就是一種存儲(chǔ)的操作行為,可將存儲(chǔ)行為放在郵箱中;也可以放在個(gè)人空間、網(wǎng)絡(luò)硬盤(pán)產(chǎn)品中,
坐坐寸寸ο以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu),包括前端、中間層和后臺(tái)服務(wù)器;其特征在于,所述中間層進(jìn)一步包括通用網(wǎng)關(guān)接口 CGI層和應(yīng)用編程接口 API層,且所述API層位于CGI層和后臺(tái)服務(wù)器之間;其中, 所述CGI層,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分,用于完成業(yè)務(wù)邏輯功能的處理; 所述API層,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)各資源接口的API,用于與后臺(tái)服務(wù)器進(jìn)行資源交互,并向上層應(yīng)用提供所需的API。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)架構(gòu),其特征在于,所述前端包括前端模板引擎,所述前端模板引擎用于將后臺(tái)服務(wù)器推送的數(shù)據(jù)解析為可讀頁(yè)面; 所述后臺(tái)服務(wù)器,用于存儲(chǔ)或緩存數(shù)據(jù),為前端和中間層提供所需數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的實(shí)現(xiàn)架構(gòu),其特征在于,所述API層包括的API為針對(duì)操作行為的接口。
4.一種郵箱服務(wù)的實(shí)現(xiàn)方法,其特征在于,在郵箱服務(wù)架構(gòu)的中間層設(shè)置API層,所述API層位于CGI層和后臺(tái)服務(wù)器之間;該方法還包括: 將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分最大化分離,并將各個(gè)資源接口分別對(duì)應(yīng)API ;根據(jù)需要提取出郵箱基礎(chǔ)服務(wù)中部分或全部資源接口對(duì)應(yīng)的API,通過(guò)API調(diào)用方式提供給上層應(yīng)用進(jìn)行集成。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)方法,其特征在于,所述將各個(gè)資源接口分別對(duì)應(yīng)API為:生成各資源接口對(duì)應(yīng)的API,將分離出的業(yè)務(wù)邏輯部分和對(duì)應(yīng)資源接口的API分別放置于CGI層和API層。
6.根據(jù)權(quán)利要求4或5所述的實(shí)現(xiàn)方法,其特征在于,所述將郵箱基礎(chǔ)服務(wù)的資源接口和業(yè)務(wù)邏輯部分最大化分離為:將單純的功能點(diǎn)與邏輯點(diǎn)分開(kāi)。
7.根據(jù)權(quán)利要求4或5所述的實(shí)現(xiàn)方法,其特征在于,所述API層包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的各資源接口的API。
8.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)方法,其特征在于,所述API為針對(duì)操作行為的接口。
全文摘要
本發(fā)明公開(kāi)了一種郵箱服務(wù)的實(shí)現(xiàn)架構(gòu),包括前端、中間層和后臺(tái)服務(wù)器;關(guān)鍵在于,所述中間層進(jìn)一步包括通用網(wǎng)關(guān)接口(CGI)層和應(yīng)用編程接口(API)層,且所述API層位于CGI層和后臺(tái)服務(wù)器之間;其中,所述CGI層,包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)的業(yè)務(wù)邏輯部分,用于完成業(yè)務(wù)邏輯功能的處理;所述API層,用于包括多個(gè)對(duì)應(yīng)郵箱基礎(chǔ)服務(wù)各資源接口的API,用于與后臺(tái)服務(wù)器進(jìn)行資源交互,并向上層應(yīng)用提供所需的API。本發(fā)明還同時(shí)公開(kāi)了一種郵箱服務(wù)的實(shí)現(xiàn)方法,采用本發(fā)明,能降低郵箱服務(wù)架構(gòu)的耦合度,且能提高郵箱基礎(chǔ)服務(wù)的通用性。
文檔編號(hào)G06F9/46GK103186413SQ201110444728
公開(kāi)日2013年7月3日 申請(qǐng)日期2011年12月27日 優(yōu)先權(quán)日2011年12月27日
發(fā)明者鄺宇恒, 郭銳, 曹儉波, 胡琛, 李紹華 申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1