專利名稱:建立手機即時通信平臺的方法和手機即時通信平臺的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種建立手機即時通信平臺的方法和手機即時通信平臺。
背景技術(shù):
即時通信anstant Messaging,簡稱IM)平臺作為一種個人通信工具,由于具有出色的表現(xiàn)力、互動性、實時性,能夠?qū)崿F(xiàn)文字、語音、視頻的多媒體即時通信,從而倍受辦公室白領(lǐng)、時尚人群和廣大學(xué)生的青睞,已成為人們?nèi)粘贤ㄖ谐绦胖?,以文字為表現(xiàn)形式的最主要方式。目前的手機即時通信平臺,如塞班(Symbian)平臺,通常是一款以即時消息為主, 涉及天氣預(yù)報、短信禮包、網(wǎng)頁瀏覽、語音等多方面應(yīng)用的軟件,已經(jīng)擁有廣泛的用戶群。然而,現(xiàn)有的手機即時通信平臺至少存在如下缺陷現(xiàn)有的手機即時通信平臺是一個獨自運行的應(yīng)用程序,無法與第三方應(yīng)用進行很好的交互,擴展性比較差;且現(xiàn)有的平臺在架構(gòu)上是一個耦合性很強的整體,底層只有一個數(shù)據(jù)庫,該底層庫作為一個整體為各種上層應(yīng)用提供接口,任何一個上層應(yīng)用統(tǒng)統(tǒng)依賴龐大的底層庫,龐大的底層庫非常難于維護和管理,且當(dāng)某一個上層應(yīng)用出現(xiàn)故障時,會影響整個平臺的運行。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種建立手機即時通信平臺的方法和手機即時通信平臺,能夠支撐上層的多種應(yīng)用,具有較好的擴展性,便于對平臺進行管理及維護的難度;且一個上層應(yīng)用出現(xiàn)故障時,不會影響到其它應(yīng)用或整個平臺的運行,提高了用戶體驗和平臺的穩(wěn)定性。為達到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的本發(fā)明實施例提供了一種建立手機即時通信平臺的方法,包括由多個獨立的Client應(yīng)用組成Client層,所述Client應(yīng)用具有用戶界面功能; 以及,由多個Client API組成Client API層,設(shè)置所述Client層和Client API層中的程序運行在第一進程中;由多個krvice API組成krvice API層;利用多個業(yè)務(wù)邏輯建立核心層,其中, 不同的業(yè)務(wù)邏輯由不同的邏輯模塊獨立實現(xiàn);以及,利用多種獨立的服務(wù)數(shù)據(jù)庫建立基礎(chǔ)層,設(shè)置所述krviceAPI層、核心層和基礎(chǔ)層中的程序運行在第二進程中;根據(jù)第一進程內(nèi)部各層之間的數(shù)據(jù)交互,第二進程內(nèi)部各層之間的數(shù)據(jù)交互,以及第一進程的Client API層和第二進程的krviceAPI層之間的進程間的數(shù)據(jù)交互建立手機即時通信平臺。本發(fā)明實施例還提供了一種手機即時通信平臺,包括客戶端單元、服務(wù)端單元和進程間調(diào)用單元,所述客戶端單元中的程序運行在第一進程中,所述服務(wù)端單元的程序運
4行在第二進程中;所述客戶端單元,包括多個獨立的Client應(yīng)用模塊、第一進程內(nèi)調(diào)用模塊和多個 Client API模塊,所述Client應(yīng)用模塊具有用戶界面功能,所述Client應(yīng)用模塊通過所述第一進程內(nèi)調(diào)用模塊與所述Client API模塊進行數(shù)據(jù)交互;所述服務(wù)端單元,包括多個krvice API模塊、第二進程內(nèi)調(diào)用模塊,多個獨立的業(yè)務(wù)邏輯模塊和服務(wù)數(shù)據(jù)庫,所述krvice API模塊和業(yè)務(wù)邏輯模塊之間、業(yè)務(wù)邏輯模塊和服務(wù)數(shù)據(jù)庫之間通過所述第二進程內(nèi)調(diào)用模塊進行數(shù)據(jù)交互;所述客戶端單元的Client API模塊和服務(wù)端單元的krvice API模塊之間利用所述進程間調(diào)用單元進行數(shù)據(jù)交互。由上述可見,本發(fā)明實施例的技術(shù)方案通過采用C/S模式的特點,提供了一種新型的手機即時通信平臺架構(gòu),從而使新建立的手機即時通信平臺不再簡單是一個獨立運行的程序,而能夠支撐上層的多種應(yīng)用,具有較好的擴展性。并且,本技術(shù)方案通過設(shè)置至少兩個獨立的進程,以及將平臺內(nèi)部需要擴展的功能模塊化,大大降低了平臺的耦合性和對平臺進行管理及維護的難度;且一個上層應(yīng)用出現(xiàn)故障時,不會影響到其它應(yīng)用或整個平臺的運行,提高了用戶體驗以及平臺的安全性、穩(wěn)定性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例一提供的一種建立手機即時通信平臺的方法流程示意圖;圖2為本發(fā)明實施例二提供的手機即時通信平臺的架構(gòu)示意圖;圖3為本發(fā)明實施例二提供的不同Client API的應(yīng)用場景示意圖;圖4為本發(fā)明實施例三提供的一種手機即時通信平臺的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明的附圖,對本發(fā)明的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例, 本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例一提供了一種建立手機即時通信平臺的方法,參見圖1,所述方法包括11 由多個獨立的客戶端(Client)應(yīng)用組成Client層,所述Client應(yīng)用具有用戶界面功能;以及,由多個Client應(yīng)用程序接口(Application Programming Interface, API)組成 Client API 層,12 設(shè)置所述Client層和Client API層中的程序運行在第一進程中;13 由多個服務(wù)Service) API組成krvice API層;利用多個業(yè)務(wù)邏輯建立核心層,其中,不同的業(yè)務(wù)邏輯由不同的邏輯模塊獨立實現(xiàn);以及,利用多種獨立的服務(wù)數(shù)據(jù)庫建立基礎(chǔ)層。14 設(shè)置所述krvice API層、核心^ore)層和基礎(chǔ)(Basic)層中的程序運行在
第二進程中;15:根據(jù)第一進程內(nèi)部各層之間的數(shù)據(jù)交互,第二進程內(nèi)部各層之間的數(shù)據(jù)交互, 以及第一進程的Client API層和第二進程的krvice API層之間的進程間的數(shù)據(jù)交互建立手機即時通信平臺。本發(fā)明實施例中并不對步驟的執(zhí)行次序進行嚴格的限定,例如,步驟11可以在步驟13之前執(zhí)行,可以在步驟13之后執(zhí)行,也可以和步驟13同時執(zhí)行,對步驟11和步驟13 中的子步驟的執(zhí)行次序也可以根據(jù)需要進行調(diào)整。上述的第一進程相對于客戶端/服務(wù)端(Client/Service,C/S)模式下的客戶端處理,上述第二進程相對于C/S模式下的服務(wù)器端的處理,一個進程不能直接訪問另一個進程,以降低平臺的耦合性。并且,本發(fā)明實施例中對平臺內(nèi)部可能需要擴展的功能進行了模塊化處理,例如基礎(chǔ)層中的數(shù)據(jù)由多個獨立的服務(wù)數(shù)據(jù)庫構(gòu)成,不同的業(yè)務(wù)邏輯由不同的邏輯模塊獨立實現(xiàn)等。通過這些處理使平臺的耦合性更小,可重用的組件更多,便于增設(shè)新的功能或應(yīng)用, 提高了平臺的擴展性和穩(wěn)定性。由上述可見,本發(fā)明實施例的技術(shù)方案通過采用Client/Service模式的特點,提供了一種新型的手機即時通信平臺架構(gòu),從而使新建立的手機即時通信平臺不再簡單是一個獨立運行的程序,而能夠支撐上層的多種應(yīng)用,具有較好的擴展性。并且,本技術(shù)方案通過設(shè)置至少兩個獨立的進程,以及將平臺內(nèi)部需要擴展的功能模塊化,大大降低了平臺的耦合性和對平臺進行管理及維護的難度;且一個上層應(yīng)用出現(xiàn)故障時,不會影響到其它應(yīng)用或整個平臺的運行,提高了用戶體驗以及平臺的安全性、穩(wěn)定性。為了便于清楚描述本發(fā)明實施例的技術(shù)方案,在發(fā)明的實施例中,采用了“第一”、 “第二”或“1”、“2”等字樣對功能和作用基本相同的相同項或相似項進行區(qū)分,本領(lǐng)域技術(shù)人員可以理解這些等字樣并不對數(shù)量和執(zhí)行次序進行限定。為了使本發(fā)明的技術(shù)方案更加清楚,本發(fā)明實施例在描述時采用了“層”的概念, 但這種層并不是對軟件架構(gòu)嚴格意義上的分層。本發(fā)明實施例平臺架構(gòu)中的每一層包括了多個功能相似的模塊或組件,層與層之間由于其在平臺架構(gòu)中作用不同相互的關(guān)系也不同,例如,Client層可以對Client API層直接進行訪問,但Client層不可以對krvice API 層或Core層直接進行訪問;Client層中的各種上層應(yīng)用及Core層中各業(yè)務(wù)邏輯的執(zhí)行依賴于Basic層,但Basic層是獨立的,并不依賴于上層應(yīng)用等。下面對本發(fā)明實施例二提供的一種建立手機即時通信平臺的方法進行說明。參見圖2,顯示了本發(fā)明實施例二提供的手機即時通信平臺的架構(gòu)示意圖。新的平臺架構(gòu)中包括 Client 層、Client API 層、Service API 層、Core 層和 Basic 層。示例性的,Client 層中的客戶端應(yīng)用包括但不局限于Client應(yīng)用1和Client應(yīng)用2,Client API層中的接口包括但不局限于Client API 1和Client API 2,Service API層中的接口包括但不局限于 Service API 1和krvice API 2,核心層中的業(yè)務(wù)邏輯模塊包括但不局限于聯(lián)系人模塊、 會話模塊、群組模塊和協(xié)議庫模塊,基礎(chǔ)層中的服務(wù)數(shù)據(jù)庫包括但不局限于數(shù)據(jù)管理庫、網(wǎng)絡(luò)庫和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫。
Client層和Client API層中的程序運行在同一進程中,如都運行在第一進程中; Service API層、核心層和基礎(chǔ)層中的程序運行在另一個進程中,如都運行在第二進程中。本發(fā)明實施例的方案采用了 C/S模式的特點,上述的第一進程相對于C/S模式下的客戶端處理,上述第二進程相對于C/S模式下的服務(wù)器端的處理,一個進程不能直接訪問另一個進程,以降低平臺的耦合性。下面分別通過對每一層的介紹來清楚說明本發(fā)明實施例的技術(shù)方案。DClient 層Client層中包括多個獨立的Client應(yīng)用,Client應(yīng)用是一種具有用戶界面^ser Interface, UI)功能的程序,通過該用戶界面功能提供了一個人機交互的接口,接收用戶的命令,向用戶展示處理的結(jié)果或信息。例如,利用Client應(yīng)用的用戶界面功能可以接收來自用戶的命令,調(diào)用通信平臺中相應(yīng)功能對該命令作出響應(yīng),并將響應(yīng)結(jié)果通過所述用戶界面功能告知用戶。不同Client應(yīng)用所提供的用戶界面的具體實現(xiàn)方式也不同。本發(fā)明實施例所提供的手機即時通信平臺方案中,任意一個Client應(yīng)用程序崩潰,不會影響到平臺中的其他程序(如其他Client應(yīng)用程序或第二進程中所運行的程序), 不會使用戶所使用的所有業(yè)務(wù)由于一個應(yīng)用的故障突然中斷,保證了通信平臺運行的穩(wěn)定性,提高了用戶體驗。進一步的,可以根據(jù)需要刪除或添加通信平臺中的Client應(yīng)用。在通信平臺中的內(nèi)存和CPU處理性能滿足條件的情況下,原則上可以任意擴展Client應(yīng)用,可以支持無限多的Client應(yīng)用程序同時運行?,F(xiàn)有技術(shù)中當(dāng)通信平臺中具有某個Client應(yīng)用時,該Client應(yīng)用與通信平臺是一個整體,在對該Client應(yīng)用進行開發(fā)或調(diào)試時,平臺中所有的功能模塊必須一起編譯, 一起調(diào)試,不但調(diào)試效率低下,也導(dǎo)致對模塊的測試不徹底,系統(tǒng)性能不穩(wěn)定。針對上述缺點,新的手機即時通信平臺中各個Client應(yīng)用耦合性極低,不同的Client應(yīng)用可以互不干擾進行開發(fā)和調(diào)試,分別進行單元測試,能夠?qū)Ω髂K進行徹底的調(diào)試,提高了通信平臺的安全性。并且,新的手機即時通信平臺由于Client應(yīng)用與整個通信平臺的耦合性較低,從而能夠提供一種跨平臺的開發(fā)和應(yīng)用方式,對Client應(yīng)用或其他應(yīng)用模塊的開發(fā)可在通信平臺之外的其他平臺上進行,例如,對Client應(yīng)用或其他應(yīng)用模塊的早期開發(fā)可以在PC 平臺上進行,在后期可以簡單移植到具體的手機即時通信平臺即可,從而省去了在手機即時通信平臺的模擬器環(huán)境下開發(fā)的諸多不便,提高了開發(fā)的效率。2) Cl ient API 層Client API層中包括了多個Client APLClient API的類型也可以有多種,例如, 類型為讀文件的Client API和類型為寫文件的ClientAPI。該Client API層中的Client API —方面可以接受Client應(yīng)用在進程內(nèi)的調(diào)用, 向Client應(yīng)用反饋調(diào)用信息,另一方面可以通過進程間的調(diào)用與相應(yīng)的S ervice API進行交互。本發(fā)明實施例中不同的Client應(yīng)用所能夠調(diào)用的Client API不同,例如,Client 應(yīng)用可以包括平臺內(nèi)部Client應(yīng)用和第三方Client應(yīng)用,所述平臺內(nèi)部Client應(yīng)用能夠與平臺中所有的Client API進行數(shù)據(jù)交互,即對平臺內(nèi)部Client應(yīng)用提供完整的Client API ;而所述第三方Client應(yīng)用僅能夠與平臺中指定的Client API進行數(shù)據(jù)交互,即對第三方Client應(yīng)用提供受限的Client API。參見圖3,平臺內(nèi)部Client應(yīng)用,如即時消息應(yīng)用模塊,即時通信通訊錄模塊和離線即時通信模塊所支持的應(yīng)用,具有完整的Client API ;第三方Client應(yīng)用,例如,短信寶典應(yīng)用模塊,瀏覽器應(yīng)用模塊,即時通信游戲應(yīng)用模塊,天氣預(yù)報應(yīng)用模塊,具有受限的 Client API。例如,當(dāng)Client API層具有100個Client API時,平臺內(nèi)部Client應(yīng)用可以訪問這100個Client API,而第三方Client應(yīng)用僅能夠訪問指定的部分Client API,例如,僅訪問在100個Client API中指定的50個Client API。3) Service API MService API層中包括了多個Service API, Service API的類型也可以有多種, 例如,類型為讀文件的krvice API和類型為寫文件的krvice API。該%1^化6 API層中的krvice API—方面可以通過進程間的調(diào)用與相應(yīng)的 Client API進行交互,另一方面可以在進程內(nèi)調(diào)用Core層中的業(yè)務(wù)邏輯模塊。上述Client API層和krvice API層中的各API中封裝了進程間調(diào)用的細節(jié),是 C/S模式的一種具體實現(xiàn)。進一步的,對于無法支持C/S模式的應(yīng)用場景,可以采用一個進程內(nèi)的調(diào)用模塊替換掉Client API層和krvice API層,這種處理方式,極大程度的保證了新的手機即時通信平臺的兼容性,提高了現(xiàn)有資源的利用率。4) Core 層Core層中主要是與即時通信業(yè)務(wù)邏輯相關(guān)的處理,并對各業(yè)務(wù)邏輯進行模塊化處理。Core層可以包括多個業(yè)務(wù)邏輯模塊,例如,聯(lián)系人模塊、會話模塊、群組模塊和協(xié)議庫模塊。上述聯(lián)系人模塊可以支持聯(lián)系人列表功能,上述會話模塊可以支持手機的即時通信會話,上述群組模塊可以支持群組的管理,上述協(xié)議庫模塊保證手機能夠按照預(yù)定協(xié)議與網(wǎng)絡(luò)上的服務(wù)器進行通信。Core層中的業(yè)務(wù)邏輯模塊,也可以根據(jù)需要進行刪除和添加,對這些業(yè)務(wù)邏輯模塊的開發(fā)和調(diào)試也可以采用跨平臺的開發(fā)和應(yīng)用方式。5) Basic 層Basic層為通信平臺提供了基本的數(shù)據(jù)服務(wù),Basic層包括了多個服務(wù)數(shù)據(jù)庫,例如數(shù)據(jù)管理庫、網(wǎng)絡(luò)庫、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫,所述數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫中的數(shù)據(jù)由C代碼和C++代碼實現(xiàn),由C代碼實現(xiàn)的數(shù)據(jù)可以表示為SCL,SCL是純C的代碼,提供了基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu); 由C++代碼實現(xiàn)的數(shù)據(jù)可以表示為SCPPL,SCPPL是基于SCL的C++的封裝類,提供類似于標(biāo)準模板庫(Standard Template Library, STL)的接口,但是SCPPL比標(biāo)準C++STL庫更簡潔,能夠滿足開發(fā)的基本需求?,F(xiàn)有的即時通信平臺中,各種應(yīng)用是不能共享數(shù)據(jù)的,例如,離線即時通信模塊和即時消息應(yīng)用模塊都各自讀寫緩存,讀寫效率低下且安全性較低。新的通信平臺,各個Client應(yīng)用能夠共享Basic層中的服務(wù)數(shù)據(jù)庫,提高了數(shù)據(jù)讀寫效率和平臺的安全性。
進一步的,通過設(shè)置上述數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫,就可以避免使用現(xiàn)有通信平臺(如 Symbian平臺)提供的系統(tǒng)數(shù)據(jù)結(jié)構(gòu),不但提高了開發(fā)效率,也使新的通信平臺具備了可移植性,能夠很方便地移植到多種不同操作系統(tǒng)的手機上。并且,Basic層是與具體的應(yīng)用無關(guān)的,Basic層中的服務(wù)數(shù)據(jù)庫不但可以給該新的通信平臺使用,也能獨立出來給其它應(yīng)用使用,即所述服務(wù)數(shù)據(jù)庫能夠與核心層之外的業(yè)務(wù)邏輯進行數(shù)據(jù)交互。由上述可見,本發(fā)明實施例的技術(shù)方案通過采用Client/Service模式的特點,提供了一種新型的手機即時通信平臺架構(gòu),從而使新建立的手機即時通信平臺不再簡單是一個獨立運行的程序,而能夠支撐上層的多種應(yīng)用,具有較好的擴展性。并且,本技術(shù)方案通過設(shè)置至少兩個獨立的進程,以及將平臺內(nèi)部需要擴展的功能模塊化,大大降低了平臺的耦合性和對平臺進行管理及維護的難度;且一個上層應(yīng)用出現(xiàn)故障時,不會影響到其它應(yīng)用或整個平臺的運行,提高了用戶體驗以及平臺的安全性、穩(wěn)定性。本發(fā)明實施例三還提供了一種手機即時通信平臺,參見圖4,包括客戶端單元41、 服務(wù)端單元42和進程間調(diào)用單元43,所述客戶端單元41中的程序運行在第一進程中,所述服務(wù)端單元42的程序運行在第二進程中;所述客戶端單元41,包括多個獨立的Client應(yīng)用模塊411、第一進程內(nèi)調(diào)用模塊 412和多個Client API模塊413,所述Client應(yīng)用模塊411具有用戶界面功能,所述Client 應(yīng)用模塊411通過所述第一進程內(nèi)調(diào)用模塊412與所述Client API模塊413進行數(shù)據(jù)交互;所述服務(wù)端單元42,包括多fkrvice API模塊421、第二進程內(nèi)調(diào)用模塊422,多個獨立的業(yè)務(wù)邏輯模塊423和服務(wù)數(shù)據(jù)庫424,所述krvice API模塊421和業(yè)務(wù)邏輯模塊 423之間、業(yè)務(wù)邏輯模塊423和服務(wù)數(shù)據(jù)庫似4之間通過所述第二進程內(nèi)調(diào)用模塊422進行數(shù)據(jù)交互;所述客戶端單元41的Client API模塊413和服務(wù)端單元42的krvice API模塊421之間利用所述進程間調(diào)用單元43進行數(shù)據(jù)交互。通過上述手機即時通信平臺中的各模塊的相互作用,形成的手機即時通信平臺的結(jié)構(gòu)框架可以參見圖2.進一步的,本發(fā)明實施例中不同的Client應(yīng)用所能夠調(diào)用的Client API不同,例如,所述Client應(yīng)用模塊411包括平臺內(nèi)部Client應(yīng)用模塊和第三方Client應(yīng)用模塊; 所述該平臺內(nèi)部Client應(yīng)用模塊,能夠通過所述第一進程內(nèi)調(diào)用模塊412與平臺中所有的 ClientAPI進行數(shù)據(jù)交互,即對平臺內(nèi)部Client應(yīng)用提供完整的Client API ;該第三方Client應(yīng)用模塊,僅能夠通過所述第一進程內(nèi)調(diào)用模塊412與平臺中指定的Client API進行數(shù)據(jù)交互,即對第三方Client應(yīng)用提供受限的Client API。示例性的,所述平臺內(nèi)部Client應(yīng)用模塊包括但不局限于即時消息應(yīng)用模塊,即時通信通訊錄模塊,離線即時通信模塊中的一種;所述第三方Client應(yīng)用模塊包括但不局限于短信寶典應(yīng)用模塊,瀏覽器應(yīng)用模塊,即時通信游戲應(yīng)用模塊,天氣預(yù)報應(yīng)用模塊中的一種。本發(fā)明實施例提供的新的通信平臺中各個Client應(yīng)用能夠共享相同的服務(wù)數(shù)據(jù)庫,從而提高了數(shù)據(jù)讀寫效率和平臺的安全性。
進一步的,上述手機即時通信平臺可以包括多個服務(wù)數(shù)據(jù)庫,例如,該服務(wù)數(shù)據(jù)庫包括但不局限于數(shù)據(jù)管理庫、網(wǎng)絡(luò)庫、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫,所述數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫中的數(shù)據(jù)由C 代碼和C++代碼實現(xiàn)。由C代碼實現(xiàn)的數(shù)據(jù)可以表示為SCL,SCL是純C的代碼,提供了基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu);由C++代碼實現(xiàn)的數(shù)據(jù)可以表示為SCPPL,SCPPL是基于SCL的C++的封裝類,提供類似于STL的接口,但是SCPPL比標(biāo)準C++STL庫更簡潔,能夠滿足開發(fā)的基本需求。上述業(yè)務(wù)邏輯模塊包括但不局限于聯(lián)系人模塊、會話模塊、群組模塊和協(xié)議庫模塊。本發(fā)明裝置實施例中各模塊的具體工作方式可以參見本發(fā)明方法實施例一和二, 上述各模塊可以分別由單獨的器件實現(xiàn),也可以集成在一個裝置中實現(xiàn)。并且,上述各模塊指示本發(fā)明實施例提供的新的手機即時通信平臺的一種示例性結(jié)構(gòu),也可以根據(jù)需要對上述各模塊的功能和數(shù)量進行調(diào)整,例如,上述第一進程內(nèi)調(diào)用模塊的相關(guān)功能可以集成在Client API模塊中實現(xiàn),上述第二進程內(nèi)調(diào)用模塊的相關(guān)功能可以集成在krvice API模塊中實現(xiàn),上述進程間調(diào)用單元的相關(guān)功能可以分別集成在 Client API模塊和krvice API模塊中實現(xiàn)。由上述可見,本發(fā)明實施例的技術(shù)方案通過采用Client/Service模式的特點,提供了一種新型的手機即時通信平臺架構(gòu),從而使新建立的手機即時通信平臺不再簡單是一個獨立運行的程序,而能夠支撐上層的多種應(yīng)用,具有較好的擴展性。并且,本技術(shù)方案通過設(shè)置至少兩個獨立的進程,以及將平臺內(nèi)部需要擴展的功能模塊化,大大降低了平臺的耦合性和對平臺進行管理及維護的難度;且一個上層應(yīng)用出現(xiàn)故障時,不會影響到其它應(yīng)用或整個平臺的運行,提高了用戶體驗以及平臺的安全性、穩(wěn)定性。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/ RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器, 或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種建立手機即時通信平臺的方法,其特征在于,所述方法包括由多個獨立的客戶端Client應(yīng)用組成Client層,所述Client應(yīng)用具有用戶界面功能;以及,由多個Client應(yīng)用程序接口 API組成ClientAPI層,設(shè)置所述Client層和Client API層中的程序運行在第一進程中;由多個服務(wù)krvice API組成krvice API層;利用多個業(yè)務(wù)邏輯建立核心層,其中, 不同的業(yè)務(wù)邏輯由不同的邏輯模塊獨立實現(xiàn);以及,利用多種獨立的服務(wù)數(shù)據(jù)庫建立基礎(chǔ)層,設(shè)置所述義!“^⑶API層、核心層和基礎(chǔ)層中的程序運行在第二進程中;根據(jù)第一進程內(nèi)部各層之間的數(shù)據(jù)交互,第二進程內(nèi)部各層之間的數(shù)據(jù)交互,以及第一進程的Client API層和第二進程的krvice API層之間的進程間的數(shù)據(jù)交互建立手機即時通信平臺。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法包括所述Client應(yīng)用包括平臺內(nèi)部Client應(yīng)用和第三方Client應(yīng)用; 所述平臺內(nèi)部Client應(yīng)用能夠與平臺中所有的Client API進行數(shù)據(jù)交互; 所述第三方Client應(yīng)用僅能夠與平臺中指定的Client API進行數(shù)據(jù)交互。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括利用所述Client應(yīng)用的用戶界面功能接收來自用戶的命令,根據(jù)該命令作出響應(yīng),并將響應(yīng)結(jié)果通過所述用戶界面功能告知用戶。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括基礎(chǔ)層中的服務(wù)數(shù)據(jù)庫包括數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫,所述數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫中的數(shù)據(jù)由C代碼和C++代碼實現(xiàn),所述服務(wù)數(shù)據(jù)庫能夠與核心層之外的業(yè)務(wù)邏輯進行數(shù)據(jù)交互。
5.一種手機即時通信平臺,其特征在于,包括客戶端單元、服務(wù)端單元和進程間調(diào)用單元,所述客戶端單元中的程序運行在第一進程中,所述服務(wù)端單元的程序運行在第二進程中;所述客戶端單元,包括多個獨立的Client應(yīng)用模塊、第一進程內(nèi)調(diào)用模塊和多個 Client API模塊,所述Client應(yīng)用模塊具有用戶界面功能,所述Client應(yīng)用模塊通過所述第一進程內(nèi)調(diào)用模塊與所述Client API模塊進行數(shù)據(jù)交互;所述服務(wù)端單元,包括多fkrvice API模塊、第二進程內(nèi)調(diào)用模塊,多個獨立的業(yè)務(wù)邏輯模塊和服務(wù)數(shù)據(jù)庫,所述義!·“^ API模塊和業(yè)務(wù)邏輯模塊之間、業(yè)務(wù)邏輯模塊和服務(wù)數(shù)據(jù)庫之間通過所述第二進程內(nèi)調(diào)用模塊進行數(shù)據(jù)交互;所述客戶端單元的Client API模塊和服務(wù)端單元的krvice API模塊之間利用所述進程間調(diào)用單元進行數(shù)據(jù)交互。
6.根據(jù)權(quán)利要求5所述的手機即時通信平臺,其特征在于,所述Client應(yīng)用模塊包括平臺內(nèi)部Client應(yīng)用模塊和第三方Client應(yīng)用模塊; 所述平臺內(nèi)部Client應(yīng)用模塊,能夠通過所述第一進程內(nèi)調(diào)用模塊與平臺中所有的 Client API進行數(shù)據(jù)交互;所述第三方Client應(yīng)用模塊,僅能夠通過所述第一進程內(nèi)調(diào)用模塊與平臺中指定的 Client API進行數(shù)據(jù)交互。
7.根據(jù)權(quán)利要求5或6所述的手機即時通信平臺,其特征在于,所述平臺內(nèi)部Client應(yīng)用模塊為即時消息應(yīng)用模塊,即時通信通訊錄模塊,離線即時通信模塊中的一種;所述第三方Client應(yīng)用模塊為短信寶典應(yīng)用模塊,瀏覽器應(yīng)用模塊,即時通信游戲應(yīng)用模塊,天氣預(yù)報應(yīng)用模塊中的一種。
8.根據(jù)權(quán)利要求7所述的手機即時通信平臺,其特征在于,所述服務(wù)數(shù)據(jù)庫至少包括數(shù)據(jù)管理庫、網(wǎng)絡(luò)庫、數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫,所述數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)庫中的數(shù)據(jù)由C代碼和C++代碼實現(xiàn);所述業(yè)務(wù)邏輯模塊至少包括聯(lián)系人模塊、會話模塊、群組模塊和協(xié)議庫模塊。
全文摘要
本發(fā)明公開了一種建立手機即時通信平臺的方法和手機即時通信平臺,能夠支撐上層的多種應(yīng)用,具有較好的擴展性,便于對平臺進行管理及維護的難度,提高通信平臺的安全性和穩(wěn)定性。本發(fā)明實施例提供的方法包括由多個獨立的Client應(yīng)用組成Client層;由多個Client API組成Client API層,設(shè)置Client層和Client API層中的程序運行在第一進程中;由多個Service API組成S ervice API層;利用多個業(yè)務(wù)邏輯建立核心層,利用多種獨立的服務(wù)數(shù)據(jù)庫建立基礎(chǔ)層,設(shè)置Service API層、核心層和基礎(chǔ)層中的程序運行在第二進程中;根據(jù)第一進程和第二進程內(nèi)部各層之間的數(shù)據(jù)交互,以及第一進程的Client API層和第二進程的Service API層之間的進程間的數(shù)據(jù)交互建立手機即時通信平臺。
文檔編號H04L12/24GK102202013SQ20111014817
公開日2011年9月28日 申請日期2011年6月2日 優(yōu)先權(quán)日2011年6月2日
發(fā)明者甘壽聰 申請人:北京神州泰岳軟件股份有限公司