專利名稱:一種基于移動終端平臺的通用開發(fā)平臺的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于移動終端多平臺的通用開發(fā)平臺。
背景技術(shù):
當前無線終端產(chǎn)品的設(shè)計硬件方面日趨成熟,軟件的開發(fā)越來越成為影響產(chǎn)品質(zhì)量和開發(fā)周期的重要因素。同時,國內(nèi)手機市場日趨飽和,行業(yè)毛利不斷縮小,以及國外廠商的本地化程度增加,國內(nèi)廠商的比較優(yōu)勢縮小。國內(nèi)廠商通常需要購買國外廠商的技術(shù)方案,不同方案之間開發(fā)方法差異較大。
有些移動終端生產(chǎn)廠商采用多個技術(shù)平臺,而且未來還將繼續(xù)采用多個平臺,傳統(tǒng)的軟件設(shè)計方法是針對每一種不同的平臺都有一套獨立的從上層到下層的設(shè)計方案,導致不同平臺之間甚至同一個平臺上的不同產(chǎn)品上重復投資較多,產(chǎn)品開發(fā)的資源共享較少,包括人員,設(shè)計,代碼等。這樣就導致每開發(fā)一個產(chǎn)品,在軟件上投入的重復的工作量比較多,品牌的標準化程度較低.。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于移動終端平臺的通用開發(fā)平臺,它能夠減少移動終端設(shè)備軟件開發(fā)人員的工作量,減少重復勞動,削減開發(fā)成本減少重復投資,并增強軟件的可移植性,改善軟件開發(fā)人員的工作環(huán)境和開發(fā)的軟件環(huán)境,縮短軟件的開發(fā)周期,使得軟件更標準化,使產(chǎn)品的軟件風格更加統(tǒng)一,且提高產(chǎn)品開發(fā)的質(zhì)量,縮短產(chǎn)品開發(fā)的周期,提高產(chǎn)品上市的速度。
本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種基于移動終端平臺的通用開發(fā)平臺,其特征在于通用開發(fā)平臺的軟件框架結(jié)構(gòu)為底層為平臺驅(qū)動層,平臺驅(qū)動層中包含有具體的某種移動終端的開發(fā)平臺和用來驅(qū)動該開發(fā)平臺的驅(qū)動模塊;中間層是虛擬機層,包含有內(nèi)核和虛擬機驅(qū)動層以及GUI子系統(tǒng)模塊和其他標準最服務(wù)模塊;最上層為高級應用層,包含有電話本、短消息和移動通信各種具體應用軟件模塊,層與層之間通過接口函數(shù)進行連接。
所述的中間層分為兩層即虛擬機層I和虛擬機層II,虛擬機層I包含有內(nèi)核和虛擬機驅(qū)動層,虛擬機層II包含有GUI子系統(tǒng)模塊、其他標準最服務(wù)模塊,虛擬機層I和虛擬機層II之間通過接口函數(shù)進行連接。
所述的中間層中虛擬機層II還包括用戶自定義服務(wù)模塊,以體現(xiàn)框架的開放性,并且可以不斷吸收新功能的能力。
所述的內(nèi)核分為消息機制部分和任務(wù)機制部分。
所述的接口是平臺驅(qū)動層和虛擬機層I之間是平臺抽象接口,它定義了一系列與具體平臺相關(guān)的函數(shù),對于不同的具體平臺,其表現(xiàn)形式是相同的,即函數(shù)名和實現(xiàn)的功能是相同的,具體的內(nèi)容不一樣,針對不同的硬件平臺,具體的實現(xiàn)方式不一樣,要結(jié)合具體的平臺來靈活實現(xiàn),具體的平臺驅(qū)動實現(xiàn)這些函數(shù),通過以消息為形式的通信來實現(xiàn)具體平臺的平臺驅(qū)動層和虛擬機層中內(nèi)核之間的協(xié)議。
所述的接口是虛擬機層I和虛擬機層II之間采用虛擬機驅(qū)動接口,它包括任務(wù)狀態(tài)及切換信息的函數(shù),消息的發(fā)送,接收,回調(diào)等函數(shù)。
所述的接口是虛擬機層I和高級應用層之間采用虛擬機高級應用接口,其接口比虛擬機層I和虛擬機層II之間的虛擬機驅(qū)動接口更抽象,這些接口函數(shù)更遠離底層接口函數(shù),其主要針對應用開發(fā),其函數(shù)的種類和數(shù)量遠比底層的接口函數(shù)豐富。
所述的任務(wù)機制部分其任務(wù)的實現(xiàn)方式分為協(xié)作多任務(wù)方式和搶占多任務(wù)方式,協(xié)作多任務(wù)方式即為一個任務(wù)完成后才能開始下一個任務(wù),搶占多任務(wù)方式為當一個任務(wù)執(zhí)行過程中,有可能被某一個其他任務(wù)所打斷,從而去先執(zhí)行完該其他的任務(wù),返回來再執(zhí)行原任務(wù)。
所述的開發(fā)平臺為PC平臺,PHILIPS平臺,MOTOROLA平臺,TI平臺,高通平臺或其他移動終端的開發(fā)平臺。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于由于第2,3,4層與具體的平臺無關(guān),所以設(shè)計該部分的軟件工程師可以專注于自己的設(shè)計,而不必考慮具體平臺可能帶來的影響.而且設(shè)計出來的成果可以很方便的移植于另一中移動終端產(chǎn)品,這就減少了開發(fā)其他產(chǎn)品的工作量,同時易于形成統(tǒng)一的軟件風格。由于平臺驅(qū)動層是針對每一個具體平臺的,因此對于每一個具體平臺的軟件開發(fā),主要工作量都集中在開發(fā)對于該平臺的驅(qū)動層。即對于不同具體平臺的產(chǎn)品的軟件開發(fā),第2層和第3層的都是基本相同的,只存在一些細微差別,根據(jù)軟件定義而定.也可以沒有任何差別.主要的差別在于不同的平臺驅(qū)動層。這樣較之傳統(tǒng)的軟件開發(fā)方法,軟件開發(fā)的工作量大大減少.極大的提高了產(chǎn)品的開發(fā)效率,縮短了軟件開發(fā)周期,增加產(chǎn)品上市的速度,并減少移動終端設(shè)備軟件開發(fā)人員的工作量,減少重復勞動,削減開發(fā)成本減少重復投資,并增強軟件的可移植性,改善軟件開發(fā)人員的工作環(huán)境和開發(fā)的軟件環(huán)境。
圖1為通用開發(fā)平臺的模塊框架結(jié)構(gòu)圖;圖2為某一具體軟件平臺的典型結(jié)構(gòu)圖;
圖3a為某一具體軟件平臺下短信息的編輯發(fā)送過程;圖3b為某一具體軟件平臺下短信息的編輯發(fā)送過程;圖4為通用開發(fā)平臺下短信息的編輯發(fā)送過程;圖5S-Bridge內(nèi)核的消息和任務(wù)管理結(jié)構(gòu)示意圖。
具體實施例方式
以下結(jié)合附圖實施例對本發(fā)明作進一步詳細描述。
在移動通信終端的軟件開發(fā)過程中,對于具有多個種類開發(fā)平臺的情況,提出了一種通用平臺的軟件開發(fā)方法.即一個與具體平臺(菲利普平臺,高通平臺等)無關(guān)的抽象出來的通用開發(fā)平臺如叫S-Bridge平臺。上述的各種具體平臺可以是現(xiàn)在常見的PC平臺、PHILIPS平臺、MOTOROLA平臺、TI平臺,高通平臺等等。
與這種軟件開發(fā)方法的通用開發(fā)平臺架構(gòu)如圖1所示.并稱該架構(gòu)為S-Bridge.
該架構(gòu)是由4層和3組接口構(gòu)成.如圖1所示。
4個層自下而上分別是(1)第1層,平臺驅(qū)動層;(2)第2層,虛擬機層I;(3)第3層,虛擬機層II(4)第4層,高級應用層。
3組接口自下而上為(1)平臺驅(qū)動層和虛擬機層I之間的平臺抽象接口;(2)虛擬機層I和虛擬機層II之間的虛擬機驅(qū)動接口;(3)虛擬機層I和高級應用層之間的虛擬機高級應用接口。
各層和各接口的具體描述對各層的具體描述(1)第1層即平臺驅(qū)動層,其包含具體的平臺及其驅(qū)動模塊,具體應用時可以是某一個具體的平臺及其驅(qū)動;(2)第2層即虛擬機層I,其包含S-Bridge內(nèi)核及虛擬機驅(qū)動,S-Bridge內(nèi)核邏輯上分為消息機制和任務(wù)機制2個部分,消息機制主要用于通信,任務(wù)機制具體表現(xiàn)在將所有的服務(wù)和應用分成多個任務(wù)實體,并管理各任務(wù),也負責現(xiàn)場的切換,如保存現(xiàn)場和恢復現(xiàn)場等,虛擬機驅(qū)動是對于各個具體平臺公共的驅(qū)動模塊。
(3)第3層即虛擬機層II,其分為GUI子系統(tǒng),GUI為圖形用戶界面,其他標準服務(wù)和用戶自定義服務(wù),GUI子系統(tǒng)是窗口(管理)系統(tǒng),包含可視元素,其他標準服務(wù)包括輸入法、彩信、wap等,用戶自定義服務(wù)是可以交由第三方開發(fā)的模塊,體現(xiàn)了本軟件架構(gòu)的開放性,并且可以不斷吸收新功能的能力。
虛擬機層I和虛擬機層II可以合稱為虛擬機層。
(4)第4層即高級應用層,其包括手機的高級應用模塊,如電話本,短消息等。
對各接口的具體描述(1)平臺驅(qū)動層和虛擬機層I之間的平臺抽象接口,它定義了一系列與具體平臺密切相關(guān)的函數(shù)。但是對于不同的具體平臺,其表現(xiàn)形式是相同的。即函數(shù)名和實現(xiàn)的功能是相同的。但是具體的內(nèi)容不一樣。這些函數(shù)可以由上層來調(diào)用。具體的平臺驅(qū)動就是實現(xiàn)這些函數(shù)。通過以消息為形式的通信來實現(xiàn)平臺驅(qū)動層(具體平臺)和虛擬機層(S-Bridge內(nèi)核)之間的協(xié)議。
(2)虛擬機層I和虛擬機層II之間的虛擬機驅(qū)動接口包括任務(wù)狀態(tài)及切換信息的函數(shù),消息的發(fā)送,接收,回調(diào)等函數(shù)。
(3)虛擬機層I和高級應用層之間的虛擬機高級應用接口其接口比虛擬機層I和虛擬機層II之間的虛擬機驅(qū)動接口更抽象。
下面以發(fā)短信息的方式來具體說明傳統(tǒng)開發(fā)平臺下的軟件開發(fā)方式和S-Bridge通用開發(fā)平臺下的軟件開發(fā)方式的不同之處。
(1)傳統(tǒng)的軟件開發(fā)的發(fā)短信息的過程以下給出某一個具體軟件平臺的結(jié)構(gòu)以及工作過程,其他的具體平臺結(jié)構(gòu)及工作過程也類似。
圖2是某一具體軟件平臺的結(jié)構(gòu)圖。圖中的MMI(人機接口)包括所有的高級應用。如短信息,電話本等。協(xié)議軟件是GSM/GPRS/CDMA的協(xié)議棧,由SPV(服務(wù)組)對其進行封裝,以便MMI調(diào)用。SPV包括短信,電話等具體的任務(wù)。驅(qū)動是對外設(shè)的驅(qū)動,如驅(qū)動LCD,驅(qū)動鍵盤等。所有的這些任務(wù)都是在操作系統(tǒng)的管理下實現(xiàn)的。
下面對照圖2,以一個短信息的發(fā)送過程來說明該系統(tǒng)的工作過程。
首先,用戶通過菜單選擇“寫短信”,MMI通過驅(qū)動了解到用戶的需要,于是向SPV的edp(編輯器)發(fā)送一個請求REQ,編輯器即啟動,用戶即可以編輯短信。短信編輯完成后,SPV sms即向MMI發(fā)出回應CNF(confirm),并關(guān)閉編輯器.如同圖3a所示。
編輯完成后,MMI轉(zhuǎn)而向SPV SMS發(fā)送請求。SPV SMS再向協(xié)議層發(fā)送請求最終發(fā)出短信。短信發(fā)出之后協(xié)議層會對SPV SMS反饋信息,SPV SMS會通知MMI短信已發(fā)送。其過程如圖3b所示。
在S-Bridge通用開發(fā)平臺方式下,發(fā)送短信的過程短信的編輯是在高級應用層完成.短信編輯完成之后,調(diào)用虛擬機層的發(fā)送短信相關(guān)的抽象函數(shù)(即虛擬機層多個抽象接口中的一個接口),其短信的內(nèi)容是該函數(shù)的一個參數(shù).然后調(diào)用具體的平臺驅(qū)動(解釋器,或稱為解析器),平臺驅(qū)動完成的功能就向SPV sms.發(fā)送請求,然后向協(xié)議層發(fā)送請求直到短信息發(fā)出.短信息發(fā)出后同樣會有發(fā)送信息成功的確認信息返回.如圖4所示。
另外,各任務(wù)的實現(xiàn)方式分為協(xié)作多任務(wù)方式和搶占多任務(wù)方式。協(xié)作多任務(wù)方式即為一個任務(wù)完成后才能開始下一個任務(wù)。搶占多任務(wù)方式為當一個任務(wù)執(zhí)行過程中,有可能被某一個其他任務(wù)所打斷,從而去先執(zhí)行完該其他的任務(wù),返回來再執(zhí)行原任務(wù)。由于移動終端硬件資源比較少,所以一般采用協(xié)作多任務(wù)方式。
虛擬機抽象接口主要通過消息模式來進行通信,S-Bridge內(nèi)核中的消息機制將接受到的消息分派給各具體任務(wù)。也可以將消息通過該接口發(fā)送至具體的平臺驅(qū)動模塊。
各層之間的聯(lián)系是通過函數(shù)調(diào)用來實現(xiàn)的,高級應用層的函數(shù)經(jīng)過一層層的解析,直到解析到每個具體平臺提供的函數(shù)為止。即解析到平臺驅(qū)動這一層次。
S-Bridge通用開發(fā)平臺的內(nèi)部工作過程如圖5所示,高級應用層表現(xiàn)為多個任務(wù).如圖中的T1,T2,…,各任務(wù)之間存在優(yōu)先級的差別,每一個任務(wù)都有三種狀態(tài)running,pause,stop(即工作狀態(tài),暫停狀態(tài)和停止狀態(tài)),任務(wù)只有在running狀態(tài)下才能接受消息。另外,在多個任務(wù)并存的狀態(tài)下,只能有一個任務(wù)是處于running狀態(tài)。
虛擬機內(nèi)核分為消息(message)模塊和任務(wù)(task)模塊,如圖5。
消息模塊負責消息按優(yōu)先級的排隊和分發(fā),任務(wù)模塊負責任務(wù)的狀態(tài)維護,和狀態(tài)的切換。
高級應用層的各個任務(wù)都要在message模塊即消息模塊進行注冊,以便于message模塊和task模塊即任務(wù)模塊對各任務(wù)進行管理和操作。
當平臺驅(qū)動層有一個消息發(fā)送到虛擬機層,消息模塊收到該消息后,向任務(wù)模塊發(fā)出一個請求,任務(wù)模塊根據(jù)各任務(wù)的優(yōu)先級等特征判斷該消息應該發(fā)送給哪一個任務(wù),若不同的任務(wù)存在優(yōu)先級的差別,則將該消息發(fā)送給優(yōu)先級高的任務(wù)。
如果該任務(wù)假定為任務(wù)T1(1)更緊急,則任務(wù)模塊會暫停正在運行的任務(wù),假定為任務(wù)T2,轉(zhuǎn)而將任務(wù)T1的狀態(tài)設(shè)置為running,從而先響應任務(wù)T1,T1完成后主動放棄運行,轉(zhuǎn)為pause或者stop狀態(tài),系統(tǒng)恢復任務(wù)T2的工作狀態(tài),任務(wù)T2繼續(xù)運行.類似于中斷和堆棧的方式工作,這里主動放棄運行就是協(xié)作多任務(wù)的含義,反之如果低優(yōu)先級的任務(wù)不主動放棄運行,就算有高級的任務(wù)想運行也是不可能的;(2)如果任務(wù)T1是不緊急的,則先保持任務(wù)T1為暫停狀態(tài),等任務(wù)T2完成后再將任務(wù)T1的狀態(tài)轉(zhuǎn)為running狀態(tài);每一個任務(wù)在運行的過程中,不管其優(yōu)先級如何,都有等待消息的時候,也就是空閑的時候,只有在空閑的時候,才能響應其他的消息,所謂協(xié)作就是任務(wù)在空閑的時候放棄處理器的PC指針,PC即為程序計數(shù)器,記錄處理器執(zhí)行到哪條指令,然后任務(wù)管理模塊才能實現(xiàn)任務(wù)的調(diào)度,在此基礎(chǔ)上任務(wù)才有狀態(tài)的區(qū)別。
以發(fā)送短信為例來說明S-Bridge通用開發(fā)平臺下的任務(wù)和消息的處理過程。
發(fā)送短消息這一事件分為兩種類型的任務(wù)MMI類型和驅(qū)動類型,假設(shè)分別為T1任務(wù)和T2任務(wù),首先,T1任務(wù)在消息模塊登記(定義)一個消息,T2任務(wù)發(fā)出一個“發(fā)送短信息”的消息1到消息模塊,然后消息模塊找到該消息對應的任務(wù)T1,然后T1任務(wù)再通過消息模塊發(fā)送消息2調(diào)用平臺驅(qū)動層和虛擬機層的接口函數(shù),平臺驅(qū)動層解析該接口函數(shù)并最終發(fā)送短信息.該步驟完成后,則通過接口回調(diào)向上返回“信息發(fā)送成功或失敗”的消息,接口回調(diào)的過程是上述短信發(fā)送過程的逆過程。最終該返回消息送至T2任務(wù),在上述整個過程中,S-Bridge內(nèi)核的任務(wù)模塊負責協(xié)調(diào)T1,T2以及其他任務(wù)的工作。
本專利申請技術(shù)的核心內(nèi)容在于引入了一個中間層即虛擬機層以及平臺驅(qū)動層相當于一個翻譯器,實現(xiàn)具體平臺與虛擬機層的對接,使移動終端的軟件開發(fā)人員不用再顧及各類具體平臺的特殊性,可以專注于自己的設(shè)計,而不必考慮具體平臺可能帶來的影響,而且設(shè)計出來的成果可以很方便的移植于另一種移動終端產(chǎn)品,這就減少了開發(fā)其他產(chǎn)品的工作量,同時易于形成統(tǒng)一的軟件風格,從而取得了在技術(shù)方案部分中描述的各種優(yōu)點。
權(quán)利要求
1.一種基于移動終端平臺的通用開發(fā)平臺,其特征在于通用開發(fā)平臺的軟件框架結(jié)構(gòu)為底層為平臺驅(qū)動層,平臺驅(qū)動層中包含有具體的某種移動終端的開發(fā)平臺和用來驅(qū)動該開發(fā)平臺的驅(qū)動模塊;中間層是虛擬機層,包含有內(nèi)核和虛擬機驅(qū)動層以及GUI子系統(tǒng)模塊和其他標準服務(wù)模塊;最上層為高級應用層,包含有電話本、短消息和移動通信各種具體應用軟件模塊,層與層之間通過接口函數(shù)進行連接。
2.根據(jù)權(quán)利要1所述的通用開發(fā)平臺,其特征在于所述的中間層分為兩層即虛擬機層I和虛擬機層II,虛擬機層I包含有內(nèi)核和虛擬機驅(qū)動層,虛擬機層II包含有GUI子系統(tǒng)模塊、其他標準最服務(wù)模塊,虛擬機層I和虛擬機層II之間通過接口函數(shù)進行連接。
3.根據(jù)權(quán)利要求1或2所述的通用開發(fā)平臺,其特征在于所述的中間層中虛擬機層II還包括用戶自定義服務(wù)模塊。
4.根據(jù)權(quán)利要3所述的通用開發(fā)平臺,其特征在于所述的內(nèi)核分為消息機制部分和任務(wù)機制部分。
5.根據(jù)權(quán)利要4所述的通用開發(fā)平臺,其特征在于所述的接口是平臺驅(qū)動層和虛擬機層I之間是平臺抽象接口,它定義了一系列與具體平臺相關(guān)的函數(shù),對于不同的具體平臺,其表現(xiàn)形式是相同的,即函數(shù)名和實現(xiàn)的功能是相同的,具體的內(nèi)容不一樣,具體的平臺驅(qū)動實現(xiàn)這些函數(shù),通過以消息為形式的通信來實現(xiàn)具體平臺的平臺驅(qū)動層和虛擬機層中內(nèi)核之間的協(xié)議。
6.根據(jù)權(quán)利要5所述的通用開發(fā)平臺,其特征在于所述的接口是虛擬機層I和虛擬機層II之間采用虛擬機驅(qū)動接口,它包括任務(wù)狀態(tài)及切換信息的函數(shù),消息的發(fā)送,接收,回調(diào)等函數(shù)。
7.根據(jù)權(quán)利要6所述的通用開發(fā)平臺,其特征在于所述的接口是虛擬機層I和高級應用層之間采用虛擬機高級應用接口,其接口函數(shù)比虛擬機層I和虛擬機層II之間的虛擬機驅(qū)動接口函數(shù)種類和數(shù)量更豐富。
8.根據(jù)權(quán)利要7所述的通用開發(fā)平臺,其特征在于所述的任務(wù)機制部分其任務(wù)的實現(xiàn)方式分為協(xié)作多任務(wù)方式和搶占多任務(wù)方式,協(xié)作多任務(wù)方式即為一個任務(wù)完成后才能開始下一個任務(wù),搶占多任務(wù)方式為當一個任務(wù)執(zhí)行過程中,有可能被某一個其他任務(wù)所打斷,從而去先執(zhí)行完該其他的任務(wù),返回來再執(zhí)行原任務(wù)。
9.根據(jù)權(quán)利要8所述的通用開發(fā)平臺,其特征在于所述的開發(fā)平臺為PC平臺,PHILIPS平臺,MOTOROLA平臺,TI平臺,高通平臺或其他移動終端的開發(fā)平臺。
全文摘要
一種基于移動終端平臺的通用開發(fā)平臺,其特征在于通用開發(fā)平臺的軟件框架結(jié)構(gòu)為底層為平臺驅(qū)動層,平臺驅(qū)動層中包含有具體的多種移動終端的開發(fā)平臺和用來驅(qū)動各自開發(fā)平臺的驅(qū)動模塊;中間層是虛擬機層,虛擬機層分為兩層即虛擬機層I和虛擬機層II,虛擬機層II包含有GUI子系統(tǒng)模塊、其他標準最服務(wù)模塊和用戶自定義服務(wù)模塊,虛擬機層I包含有內(nèi)核和虛擬機驅(qū)動層,上下層之間通過接口函數(shù)進行連接;最上層為高級應用層,包含有電話本、短消息和移動通信各種具體應用軟件模塊,層與層之間通過接口函數(shù)進行連接,它能夠減少移動終端設(shè)備軟件開發(fā)人員的工作量,減少重復勞動,削減開發(fā)成本減少重復投資,并增強軟件的可移植性。
文檔編號G06F9/45GK1909705SQ20051006030
公開日2007年2月7日 申請日期2005年8月5日 優(yōu)先權(quán)日2005年8月5日
發(fā)明者徐立華, 趙建東, 黎波, 謝榮生, 吳亦平, 彭琴 申請人:杭州波導軟件有限公司