亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法及驅(qū)動(dòng)裝置的制作方法

文檔序號(hào):6430948閱讀:305來(lái)源:國(guó)知局
專利名稱:移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法及驅(qū)動(dòng)裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及無(wú)線通信領(lǐng)域,尤其涉及一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法及驅(qū)動(dòng)裝置。
背景技術(shù)
隨著技術(shù)的演進(jìn)和移動(dòng)寬帶的普及,移動(dòng)互聯(lián)網(wǎng)已經(jīng)為人們提供了豐富的家庭娛樂、商務(wù)辦公等業(yè)務(wù);基于第3代移動(dòng)通信(The Third Generation Mobile Communications,簡(jiǎn)稱為 3G)和第 4 代移動(dòng)通信(The Fourth Generation Mobile Communications,簡(jiǎn)稱為4G)業(yè)務(wù)的擴(kuò)展,越來(lái)越多的互聯(lián)網(wǎng)應(yīng)用得以發(fā)展,使得對(duì)移動(dòng)寬帶速度的追求成為主要目標(biāo)之一?;谌驘o(wú)線芯片的格局,高通和微軟主推的網(wǎng)絡(luò)驅(qū)動(dòng)接 口規(guī)范(Network Driver Interface Specification,簡(jiǎn)稱為 NDIS)+QMI (Qualcomm MSM Interface)的移動(dòng)寬帶設(shè)備高速接入方案成為當(dāng)下移動(dòng)寬帶設(shè)備的主流接入方式之一,但限于“NDIS+QMI”的方式,目前只在windows系統(tǒng)上得到了應(yīng)用,因此,如何將這種接入方式擴(kuò)展到更多操作系統(tǒng)上成為當(dāng)前工作努力地方向之一。隨著嵌入式智能設(shè)備、手持智能終端、尤其是掌上電腦(Personal Digital Assistant,簡(jiǎn)稱為PDA)類產(chǎn)品的流行,安卓(Android,也稱安致)移動(dòng)操作系統(tǒng)以其開放性和開源特點(diǎn)受到極大地歡迎和支持,據(jù)最新的市場(chǎng)統(tǒng)計(jì),Android系統(tǒng)已經(jīng)是市場(chǎng)占有率最高的移動(dòng)操作系統(tǒng)。因此,在Android系統(tǒng)上適配各種移動(dòng)寬帶設(shè)備成為目前的主要工作之一。但是,限于Android系統(tǒng)現(xiàn)有的特性,只支持點(diǎn)到點(diǎn)協(xié)議(Point to Point Protocol,簡(jiǎn)稱為PPP)等聯(lián)網(wǎng)方式,無(wú)法支持當(dāng)前更為流行、速度更高的NDIS設(shè)備。雖然Windows系統(tǒng)上已有了基于NDIS驅(qū)動(dòng)的業(yè)務(wù)處理方式,但NDIS本身是 Windows定義的一套規(guī)范,很難照搬或者移植到Android操作系統(tǒng)上,因此,如何利用 Android系統(tǒng)上現(xiàn)有的軟件和特性,開發(fā)一套類似于Windows系統(tǒng)上NDIS方案的驅(qū)動(dòng)和軟件系統(tǒng)成為最大的目標(biāo)。圖1是根據(jù)相關(guān)技術(shù)的Android系統(tǒng)移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)系統(tǒng)示意圖,如圖1所示,為了實(shí)現(xiàn)數(shù)據(jù)聯(lián)網(wǎng)的業(yè)務(wù),Android系統(tǒng)采用了傳統(tǒng)的撥號(hào)連接方式——PPP0但是,這種方式增加了軟件的層次和軟件開發(fā)的難度,降低了軟件健壯性;并且,數(shù)據(jù)傳輸使用較為底層的PPP協(xié)議會(huì)增加數(shù)據(jù)幀的長(zhǎng)度,使得傳輸?shù)臄?shù)據(jù)內(nèi)容中有效載荷降低,從而降低了移動(dòng)寬帶設(shè)備和主機(jī)控制器之間的傳輸速度,限制了移動(dòng)寬帶設(shè)備的網(wǎng)絡(luò)性能。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方案,以至少解決上述相關(guān)技術(shù)中采用PPP協(xié)議的方式導(dǎo)致軟件健壯性差及傳輸速度低的問題。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法。根據(jù)本發(fā)明的移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法,包括以下步驟接收來(lái)自RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求;在功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI協(xié)議接口使用QMI守護(hù)進(jìn)程將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備。優(yōu)選地,QMI指令包括以下之一 WDS、CTL、DMS0優(yōu)選地,將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備包括QMI守護(hù)進(jìn)程通過異步機(jī)制將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,還提供了一種移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法。根據(jù)本發(fā)明的移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法,包括以下步驟QMI守護(hù)進(jìn)程檢測(cè)來(lái)自NDIS設(shè)備的狀態(tài)數(shù)據(jù);根據(jù)狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給 Android系統(tǒng)的RIL模塊,其中,狀態(tài)數(shù)據(jù)包括至少以下之一狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、熱插拔事件消息。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的再一方面,還提供了一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法。根據(jù)本發(fā)明的移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法,包括上述下行數(shù)據(jù)處理方法和上述上行數(shù)據(jù)處理方法。優(yōu)選地,該方法還包括在Android系統(tǒng)初始化時(shí)啟動(dòng)QMI守護(hù)進(jìn)程。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的又一方面,還提供了一種移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)
直ο根據(jù)本發(fā)明的移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置,包括RIL模塊,驅(qū)動(dòng)裝置還包括QMI模塊和與NDIS設(shè)備連接的NDIS驅(qū)動(dòng)模塊,其中,RIL模塊,用于在接收到的來(lái)自RIL層的 Android系統(tǒng)的功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI 協(xié)議接口將功能調(diào)用請(qǐng)求發(fā)送給QMI模塊;QMI模塊,用于接收來(lái)自RIL模塊的功能請(qǐng)求, 使用QMI守護(hù)進(jìn)程將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI數(shù)據(jù)發(fā)送給 NDIS驅(qū)動(dòng)模塊。優(yōu)選地,QMI模塊包括QMI客戶端,用于提供對(duì)RIL層的接口和封裝,使得RIL層在處理數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)時(shí)調(diào)用QMI守護(hù)進(jìn)程;QMI守護(hù)進(jìn)程單元,用于接收來(lái)自QMI客戶端的功能調(diào)用請(qǐng)求,并將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,其中,QMI指令包括以下之一 WDS、CTL、DMS。優(yōu)選地,QMI守護(hù)進(jìn)程單元還用于檢測(cè)來(lái)自NDIS驅(qū)動(dòng)模塊的NDIS設(shè)備的狀態(tài)數(shù)據(jù),根據(jù)檢測(cè)到的狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給RIL模塊,其中,狀態(tài)數(shù)據(jù)包括至少以下之一狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、熱插拔事件消息。優(yōu)選地,NDIS驅(qū)動(dòng)模塊用于在Android系統(tǒng)中的USB CDC-ECM驅(qū)動(dòng)中注冊(cè)鉤子函數(shù),以實(shí)現(xiàn)USB CDC-ECM驅(qū)動(dòng)對(duì)控制數(shù)據(jù)的解析,其中,鉤子函數(shù)在QMI守護(hù)進(jìn)程中實(shí)現(xiàn)對(duì) QMI數(shù)據(jù)的發(fā)送和解析。通過本發(fā)明,采用“NDIS+QMI”協(xié)議的方式,解決了相關(guān)技術(shù)中采用PPP協(xié)議的方式導(dǎo)致軟件健壯性差及傳輸速度低的問題,擴(kuò)展了 Android系統(tǒng)的應(yīng)用范圍,提高了系統(tǒng)的性能。


此處所說明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)相關(guān)技術(shù)的Android系統(tǒng)移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)系統(tǒng)示意圖;圖加是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法的流程圖;圖2b是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的結(jié)構(gòu)框圖;圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明實(shí)施例一的Android系統(tǒng)移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的示意圖;圖6是根據(jù)本發(fā)明實(shí)施例三的下行數(shù)據(jù)流的示意圖;圖7是根據(jù)本發(fā)明實(shí)施例四的上行數(shù)據(jù)流的示意圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。根據(jù)本發(fā)明實(shí)施例,提供了一種移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法。圖加是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法的流程圖,如圖加所示,該方法包括以下步驟步驟S202a,接收來(lái)自RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求;步驟S204a,在該功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL 庫(kù)中的QMI協(xié)議接口使用QMI守護(hù)進(jìn)程(Daemon)將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令, 并將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備。通過上述步驟,采用“NDIS+QMI”協(xié)議的方式,解決了相關(guān)技術(shù)中采用PPP協(xié)議的方式導(dǎo)致軟件健壯性差及傳輸速度低的問題,擴(kuò)展了 Android系統(tǒng)的應(yīng)用范圍,提高了系統(tǒng)的性能。優(yōu)選地,上述QMI指令包括以下之一 WDS、CTL、DMS0該方法簡(jiǎn)單實(shí)用、可操作性強(qiáng)。優(yōu)選地,將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備包括QMI Daemon通過異步機(jī)制將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備。該方法實(shí)現(xiàn)簡(jiǎn)單、可操作性強(qiáng)。根據(jù)本發(fā)明實(shí)施例,提供了一種移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法。圖2b是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法的流程圖,如圖2b所示,該方法包括以下步驟步驟S202b,QMI Daemon檢測(cè)來(lái)自NDIS設(shè)備的狀態(tài)數(shù)據(jù);步驟S204b,根據(jù)該狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給Android 系統(tǒng)的RIL模塊,其中,狀態(tài)數(shù)據(jù)包括至少以下之一狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、熱插拔事件消息。通過上述步驟,采用“NDIS+QMI”協(xié)議的方式,解決了相關(guān)技術(shù)中采用PPP協(xié)議的方式導(dǎo)致軟件健壯性差及傳輸速度低的問題,擴(kuò)展了 Android系統(tǒng)的應(yīng)用范圍,提高了系統(tǒng)的性能。
根據(jù)本發(fā)明實(shí)施例,還提供了一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法,包括上述下行數(shù)據(jù)處理方法和上述上行數(shù)據(jù)處理方法。優(yōu)選地,上述方法還包括在Android系統(tǒng)初始化時(shí)啟動(dòng)QMI Daemon。該方法可以提高系統(tǒng)的有效性。對(duì)應(yīng)于上述方法,本發(fā)明實(shí)施例還提供了一種移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置。圖3是根據(jù)本發(fā)明實(shí)施例的移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的結(jié)構(gòu)框圖,如圖3所示,該驅(qū)動(dòng)裝置,包括 RIL模塊32,該驅(qū)動(dòng)裝置還包括QMI模塊34和與NDIS設(shè)備連接的NDIS驅(qū)動(dòng)模塊36,其中, RIL模塊32,用于在接收到的來(lái)自RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI協(xié)議接口將功能調(diào)用請(qǐng)求發(fā)送給QMI模塊34 ; QMI模塊34,耦合至RIL模塊32,用于接收來(lái)自RIL模塊32的功能請(qǐng)求,使用QMI守護(hù)進(jìn)程 (Daemon)將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI數(shù)據(jù)發(fā)送給NDIS驅(qū)動(dòng)模塊36。通過上述驅(qū)動(dòng)裝置,采用“NDIS+QMI”協(xié)議的方式,解決了相關(guān)技術(shù)中采用PPP協(xié)議的方式導(dǎo)致軟件健壯性差及傳輸速度低的問題,擴(kuò)展了 Android系統(tǒng)的應(yīng)用范圍,提高了系統(tǒng)的性能。圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的結(jié)構(gòu)框圖,如圖4所示,QMI模塊34包括QMI客戶端342,用于提供對(duì)RIL層的接口和封裝,使得RIL層在處理數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)時(shí)調(diào)用QMI Daemon ;QMI Daemon單元;344,耦合至QMI客戶端;342,用于接收來(lái)自QMI客戶端342的功能調(diào)用請(qǐng)求,并將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,其中,QMI指令包括以下之一 WDS、CTL、DMS。優(yōu)選地,QMI Daemon單元344還用于接收來(lái)自NDIS設(shè)備的功能調(diào)用請(qǐng)求對(duì)應(yīng)的響應(yīng),解析該響應(yīng)中的命令字段,并根據(jù)命令字段的不同使用對(duì)應(yīng)的QMI指令將該響應(yīng)上報(bào)給RIL模塊。優(yōu)選地,QMI Daemon單元344還用于檢測(cè)來(lái)自NDIS驅(qū)動(dòng)模塊36的NDIS設(shè)備的狀態(tài)數(shù)據(jù),根據(jù)檢測(cè)到的狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給RIL模塊32, 其中,狀態(tài)數(shù)據(jù)包括至少以下之一狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、熱插拔事件消息。優(yōu)選地,NDIS驅(qū)動(dòng)模塊36用于在Android系統(tǒng)中的通用串行總線(Universal Serial Bus,簡(jiǎn)稱為USB)通訊設(shè)備類以太網(wǎng)控制模型(Class Definitions for Communication Devices-Ethernet Control Model,簡(jiǎn)稱為 CDC-ECM)驅(qū)動(dòng)中注冊(cè)鉤子函數(shù),以實(shí)現(xiàn)USB⑶C-ECM驅(qū)動(dòng)對(duì)控制數(shù)據(jù)的解析,其中,鉤子函數(shù)在QMI Daemon中實(shí)現(xiàn)對(duì) QMI數(shù)據(jù)的發(fā)送和解析。下面結(jié)合優(yōu)選實(shí)施例和附圖對(duì)上述實(shí)施例的實(shí)現(xiàn)過程進(jìn)行詳細(xì)說明。實(shí)施例一為了適應(yīng)高速移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)和數(shù)據(jù)接入,本實(shí)施例在Android系統(tǒng)上提供了一種通用的移動(dòng)寬帶設(shè)備驅(qū)動(dòng)方法和裝置,可以提高移動(dòng)寬帶設(shè)備和設(shè)備驅(qū)動(dòng)器之間的通訊速度,兼容了現(xiàn)有板側(cè)的NDIS方案,降低了板側(cè)開發(fā)的難度和工作量,進(jìn)而降低了開發(fā)成本。本實(shí)施例中的基于Android系統(tǒng)的驅(qū)動(dòng)方法和系統(tǒng),是一種新的優(yōu)化和歸一化后的驅(qū)動(dòng)方法和裝置。圖5是根據(jù)本發(fā)明實(shí)施例一的Android系統(tǒng)移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置的示意圖,如圖5所示,刪除了圖1當(dāng)中的PPP模塊12,擯棄了 Modem端口和PPP協(xié)議,改用性能更好的NDIS端口和QMI協(xié)議,將上層管理軟件的請(qǐng)求,根據(jù)不同的業(yè)務(wù)類型分別處理。 具體地,將上層管理軟件的請(qǐng)求根據(jù)不同的業(yè)務(wù)類型分別處理可以為對(duì)于短信、電話本等業(yè)務(wù),依舊按照Android系統(tǒng)現(xiàn)有的無(wú)線接口層(Radio Interface Layer,簡(jiǎn)稱為RIL)機(jī)制,通過AT (attention)命令的方式實(shí)現(xiàn);對(duì)于數(shù)據(jù)和配置等業(yè)務(wù),則通過QMI協(xié)議實(shí)現(xiàn)。為了實(shí)現(xiàn)與現(xiàn)有方式的兼容,將通過QMI協(xié)議實(shí)現(xiàn)的數(shù)據(jù)和配置等業(yè)務(wù)的功能接口也注冊(cè)到RIL庫(kù)中,這樣在RIL層之上,上層管理軟件并不關(guān)心底層的實(shí)現(xiàn)是PPP協(xié)議的方式還是QMI協(xié)議的方式,從而在上層管理軟件和設(shè)備之間實(shí)現(xiàn)了透明傳輸。為了實(shí)現(xiàn)這樣的功能,刪除PPP模塊12、修改AT模塊51、增加NDIS驅(qū)動(dòng)模塊52,QMI Client模塊54、 QMI Daemon模塊53,其中,NDIS驅(qū)動(dòng)模塊52是在Android系統(tǒng)USB CDC-ECM驅(qū)動(dòng)的基礎(chǔ)上修改而成,QMI Client模塊S卩,QMI客戶端)、QMI Daemon模塊53為新增加模塊。在實(shí)施過程中,對(duì)于來(lái)自RIL層的請(qǐng)求(request),如果是數(shù)據(jù)和配置等業(yè)務(wù),則通過調(diào)用QMI Client模塊M的接口實(shí)現(xiàn);QMI Client模塊M再通過消息機(jī)制通知QMI Daemon模塊53,具體的QMI協(xié)議的封裝、解析、數(shù)據(jù)發(fā)送、接收均由QMI Daemon模塊53實(shí)現(xiàn);NDIS設(shè)備的驅(qū)動(dòng)則由NDIS驅(qū)動(dòng)模塊52實(shí)現(xiàn)。其中,QMI Daemon模塊53作為一個(gè)守護(hù)進(jìn)程,在Android系統(tǒng)初始化的時(shí)候啟動(dòng),異步處理來(lái)自上層的請(qǐng)求(request)和來(lái)自設(shè)備的響應(yīng)事件(response);在處理請(qǐng)求(request)時(shí),QMI Daemon模塊53處理完QMI協(xié)議數(shù)據(jù)的封裝后、直接調(diào)用驅(qū)動(dòng)的接口發(fā)送數(shù)據(jù);對(duì)于響應(yīng)事件(response),則采用單獨(dú)的進(jìn)程檢測(cè)來(lái)自設(shè)備的事件,這樣既能采用異步的方式處理數(shù)據(jù)的發(fā)送和接收,又能及時(shí)的處理響應(yīng)事件。本實(shí)施例,在現(xiàn)有Android 系統(tǒng)的 USB CDC-ECM(Class Definitions for Communication Devices-Ethernet Control Model)的驅(qū)動(dòng)中,增加 QMI 協(xié)議的支持,并實(shí)現(xiàn)了與Android系統(tǒng)現(xiàn)有無(wú)線寬帶業(yè)務(wù)處理——無(wú)線接口層(Radio Interface Layer,簡(jiǎn)稱為RIL)驅(qū)動(dòng)的無(wú)縫對(duì)接,所以,既能實(shí)現(xiàn)對(duì)現(xiàn)有NDIS設(shè)備的無(wú)縫接入,提高移動(dòng)寬帶設(shè)備的接入速度,又能較少地修改Android系統(tǒng)框架。另外,擴(kuò)展Android系統(tǒng)的數(shù)據(jù)業(yè)務(wù)接入方式,使其能接入主流的NDIS設(shè)備,適應(yīng)了當(dāng)前無(wú)線寬帶設(shè)備接入速度越來(lái)越高的趨勢(shì),擴(kuò)展了 Android系統(tǒng)現(xiàn)有的數(shù)據(jù)業(yè)務(wù)接入方式,從而使Android系統(tǒng)更能適應(yīng)時(shí)下的發(fā)展趨勢(shì)。實(shí)施例二本實(shí)施例提供了一種Android系統(tǒng)上通用的設(shè)備驅(qū)動(dòng)方法及系統(tǒng),在實(shí)現(xiàn)時(shí),擯棄使用Modem+PPP協(xié)議的撥號(hào)方式,改采用“NDIS+QMI,,協(xié)議的方式;驅(qū)動(dòng)方面,通過修改 Android系統(tǒng)上已有的USB CDC-ECM驅(qū)動(dòng),使得Android系統(tǒng)可以支持NDIS設(shè)備;并在現(xiàn)有RIL驅(qū)動(dòng)的基礎(chǔ)上支持,增加QMI協(xié)議的支持,使得數(shù)據(jù)、配置、短信、電話本等業(yè)務(wù)可以根據(jù)業(yè)務(wù)類型的不同使用不同的協(xié)議(AT、QMI)。其中,QMI協(xié)議可以采用異步方式;在實(shí)現(xiàn)的方式上,可以將QMI協(xié)議對(duì)上層的接口融入到Android系統(tǒng)現(xiàn)有的RIL框架中,不修改 Android系統(tǒng)RIL和Framework的架構(gòu),這樣可以增加Android系統(tǒng)的擴(kuò)展性。優(yōu)化后的系統(tǒng)框圖如圖5所示,優(yōu)化模塊涉及AT模塊51、NDIS驅(qū)動(dòng)模塊52、QMI Daemon模塊53、QMI Client模塊M和PPP模塊12,以下進(jìn)行詳細(xì)說明。(I)AT模塊51 =AT模塊作為Android系統(tǒng)RIL框架的基本組成部分,擔(dān)負(fù)著現(xiàn)有數(shù)據(jù)、短信、電話本、配置、電話等眾多業(yè)務(wù),尤其是數(shù)據(jù)業(yè)務(wù),完全基于AT命令和PPP協(xié)議撥號(hào)來(lái)實(shí)現(xiàn),無(wú)法支持技術(shù)更新、速度更快、更流行的NDIS設(shè)備。而本系統(tǒng)中,數(shù)據(jù)業(yè)務(wù)部分采用NDIS方式,首先要修改AT模塊中數(shù)據(jù)和配置等業(yè)務(wù)的實(shí)現(xiàn)方式和接口,刪掉對(duì)應(yīng)的AT命令和接口,改采用調(diào)用QMI Client模塊提供應(yīng)用程序接口(the Application Programming hterface,簡(jiǎn)稱為API)的方式;短信、電話本等業(yè)務(wù)繼續(xù)使用現(xiàn)有的AT模塊?;谏鲜鏊枷?,在AT模塊的修改中,需要根據(jù)業(yè)務(wù)的不同選擇不同的實(shí)現(xiàn)——數(shù)據(jù)和配置等業(yè)務(wù)調(diào)用QMI Client模塊的API實(shí)現(xiàn)。(2) NDIS驅(qū)動(dòng)模塊52 用來(lái)驅(qū)動(dòng)NDIS設(shè)備,使得NDIS設(shè)備可以在Android系統(tǒng)上正常通訊。實(shí)現(xiàn)上,可以基于Android系統(tǒng)現(xiàn)有的USB CDC-ECM驅(qū)動(dòng),在USB CDC-ECM驅(qū)動(dòng)中注冊(cè)鉤子函數(shù),在鉤子函數(shù)中實(shí)現(xiàn)USB CDC-ECM驅(qū)動(dòng)控制數(shù)據(jù)的解析,其中,鉤子函數(shù)在 QMI Daemon模塊中實(shí)現(xiàn)對(duì)QMI數(shù)據(jù)的發(fā)送和解析等處理。(3) QMI Daemon模塊53 負(fù)責(zé)三種業(yè)務(wù)處理一是接收來(lái)自QMI Client的請(qǐng)求 (request),并將這些request封裝成為對(duì)應(yīng)的QMI指令,例如,WDS (QMI Wireless Data Service) XTL (QMI Control Service)、DMS (QMI Device Management Service)等,并通過異步機(jī)制發(fā)送這些request ;二是處理前述request對(duì)應(yīng)的response,解析并反饋結(jié)果給上層的RIL框架,使得RIL之上提供的是統(tǒng)一的接口形式;三是負(fù)責(zé)檢測(cè)和監(jiān)測(cè)NDIS設(shè)備的狀態(tài)和熱插拔等事件,實(shí)時(shí)處理設(shè)備狀態(tài)的切換和轉(zhuǎn)換。具體地,對(duì)于來(lái)自QMI Client的request,根據(jù)對(duì)應(yīng)的QMI協(xié)議子類,在WDS,CTL、 DMS子模塊中實(shí)現(xiàn)各自的協(xié)議封裝,封裝完成后交由數(shù)據(jù)處理子模塊發(fā)送;對(duì)于來(lái)自NDIS 設(shè)備的response,數(shù)據(jù)處理子模塊接收到response后,解析response中的命令字段,根據(jù)命令字的不同,分別交由WDS,CTL、DMS等子模塊處理;對(duì)于設(shè)備的狀態(tài)檢測(cè),QMI Daemon模塊通過單獨(dú)的線程檢測(cè)從驅(qū)動(dòng)模塊過來(lái)的數(shù)據(jù),對(duì)設(shè)備的插拔等操作做出響應(yīng)。另外,考慮到QMI協(xié)議族的廣泛性和擴(kuò)展性,在對(duì)協(xié)議的實(shí)現(xiàn)部分,通過分層處理的方法,使得對(duì)協(xié)議的封裝和數(shù)據(jù)的傳輸處理分開,減少兩層之間的接口數(shù)量和耦合性,從而在協(xié)議實(shí)現(xiàn)的擴(kuò)展性方面更加容易。(4) QMI Client模塊M 提供對(duì)RIL層的接口和封裝,使得QMI和RIL可以無(wú)縫對(duì)接;原有系統(tǒng)中,RIL層直接調(diào)用AT模塊的接口,處理AT指令;而本系統(tǒng)中,增加了 QMI協(xié)議的支持,具體的實(shí)現(xiàn)在QMI Daemon模塊中,本模塊則提供接口,從而使得RIL層在處理數(shù)據(jù)和配置等業(yè)務(wù)的時(shí)候,調(diào)用QMI Client模塊提供的接口即可。(5) PPP模塊12,本模塊主要針對(duì)Android系統(tǒng)中現(xiàn)有RIL框架采用PPP撥號(hào)時(shí)使用,由于本系統(tǒng)中采用NDIS+QMI的方式進(jìn)行數(shù)據(jù)業(yè)務(wù)處理,不再使用PPP撥號(hào)方式,因此刪除本模塊。實(shí)施例三本實(shí)施例為業(yè)務(wù)實(shí)現(xiàn)中一種下行數(shù)據(jù)流的處理方法,圖6是根據(jù)本發(fā)明實(shí)施例三的下行數(shù)據(jù)流的示意圖,如圖6所示,該方法包括如下步驟步驟S602,RIL層接收到Android系統(tǒng)的各種功能調(diào)用。步驟S604,根據(jù)不同的業(yè)務(wù)類型,調(diào)用不同的處理流程;如果是數(shù)據(jù)業(yè)務(wù)或者配置業(yè)務(wù),轉(zhuǎn)往步驟S606 ;如果短信、電話本等業(yè)務(wù),轉(zhuǎn)往步驟S608。步驟S606,如果是數(shù)據(jù)業(yè)務(wù)、配置等業(yè)務(wù),進(jìn)入QMI指令的處理流程,轉(zhuǎn)往步驟S610。步驟S608,如果是短信、電話本等業(yè)務(wù),進(jìn)入AT指令的處理流程,轉(zhuǎn)往步驟S610。步驟S610,判斷當(dāng)前的QMI指令是否支持,如果支持轉(zhuǎn)往步驟S612,否則轉(zhuǎn)往步驟 S618。步驟S612,封裝QMI指令,成功則轉(zhuǎn)往步驟S614,否則轉(zhuǎn)往步驟S618。步驟S614,異步發(fā)送QMI指令數(shù)據(jù),成功則轉(zhuǎn)往步驟S616,否則轉(zhuǎn)往步驟S618。步驟S616,NDIS驅(qū)動(dòng)模塊真正發(fā)送QMI協(xié)議數(shù)據(jù)。步驟S618,QMI異常處理,反饋錯(cuò)誤信息給上層。步驟S620 ,Android現(xiàn)有的AT指令處理流程。步驟,AT異常處理,反饋錯(cuò)誤信息給上層。實(shí)施例四本實(shí)施例為業(yè)務(wù)實(shí)現(xiàn)中一種上行數(shù)據(jù)流的處理方法,圖7是根據(jù)本發(fā)明實(shí)施例四的上行數(shù)據(jù)流的示意圖,如圖7所示,該方法包括如下步驟步驟S702,采用守護(hù)進(jìn)程機(jī)制,啟動(dòng)QMI Daemon的守護(hù)進(jìn)程。步驟S704,循環(huán)判斷是否有消息,如果有消息則轉(zhuǎn)入步驟S706處理,否則繼續(xù)等待并檢測(cè)消息。步驟S706,解析收到的消息類型,判斷是什么消息,如果是WDS的消息則轉(zhuǎn)入步驟 S708,CTL消息則轉(zhuǎn)入步驟S710,DMS消息則轉(zhuǎn)入步驟S712,其他消息則轉(zhuǎn)入步驟S714進(jìn)行處理。步驟S708,解析收到的WDS消息,并將解析結(jié)果上報(bào)給RIL處理流程——步驟 S716。步驟S710,解析收到的CTL消息,并將解析結(jié)果上報(bào)給RIL處理流程——步驟 S716。步驟S712,解析收到的DMS消息,并將解析結(jié)果上報(bào)給RIL處理流程——步驟 S716。步驟S714,解析收到的其他類型消息,則進(jìn)入步驟S718進(jìn)行異常處理。步驟S716,Android系統(tǒng)原有RIL處理流程。步驟S718,其他消息類型的異常處理。綜上所述,本發(fā)明實(shí)施例中基于Android系統(tǒng)上新的驅(qū)動(dòng)方法和裝置,用于實(shí)現(xiàn) Android系統(tǒng)上高速移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)和數(shù)據(jù)接入,并具有以下優(yōu)點(diǎn)(1)增加了 NDIS驅(qū)動(dòng)模塊和QMI協(xié)議的支持,使得Android系統(tǒng)增加了對(duì)NDIS 設(shè)備的支持、現(xiàn)有的NDIS設(shè)備不需要做任何的修改即可適配到Android系統(tǒng)使用,解決了 Android系統(tǒng)現(xiàn)存的RIL驅(qū)動(dòng)無(wú)法支持NDIS設(shè)備和無(wú)法有效提高與移動(dòng)寬帶設(shè)備之間傳輸速度的問題。(2)通用性基于高通公司在通信芯片領(lǐng)域的地位,NDIS設(shè)備無(wú)疑會(huì)是后續(xù)移動(dòng)寬帶設(shè)備主流的接入方式之一,因此,在Android設(shè)備上設(shè)計(jì)和實(shí)現(xiàn)對(duì)NDIS設(shè)備的支持,符合了后續(xù)多制式設(shè)備的接入方式和技術(shù)的發(fā)展趨勢(shì),擴(kuò)展了 Android系統(tǒng)的功能。(3)擴(kuò)展性本發(fā)明實(shí)施例的方案是將NDIS設(shè)備的接入方式融入到Android系統(tǒng)現(xiàn)有的RIL框架中,沒有修改Android系統(tǒng)RIL和Framework的架構(gòu),增加了 Android系
10統(tǒng)對(duì)移動(dòng)寬帶設(shè)備的接入方式,增加了 Android系統(tǒng)的擴(kuò)展性;同時(shí)QMI協(xié)議部分分成了 QMIDaemon模塊和QMI Client模塊,使得對(duì)QMI協(xié)議的封裝和實(shí)現(xiàn)完全在QMI Daemon模塊中,增加了 QMI協(xié)議實(shí)現(xiàn)的擴(kuò)展性。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種移動(dòng)寬帶設(shè)備的下行數(shù)據(jù)處理方法,其特征在于,包括以下步驟接收來(lái)自無(wú)線接口層RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求;在所述功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI協(xié)議接口使用QMI守護(hù)進(jìn)程將所述功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI 指令數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范NDIS設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述QMI指令包括以下之一無(wú)線數(shù)據(jù)服務(wù)WDS、控制服務(wù)CTL、設(shè)備管理服務(wù)DMS。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,將封裝后的QMI指令數(shù)據(jù)發(fā)送給所述 NDIS設(shè)備包括所述QMI守護(hù)進(jìn)程通過異步機(jī)制將封裝后的QMI指令數(shù)據(jù)發(fā)送給所述NDIS設(shè)備。
4.一種移動(dòng)寬帶設(shè)備的上行數(shù)據(jù)處理方法,其特征在于,包括以下步驟QMI守護(hù)進(jìn)程檢測(cè)來(lái)自網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范NDIS設(shè)備的狀態(tài)數(shù)據(jù);根據(jù)所述狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給Android系統(tǒng)的無(wú)線接口層RIL模塊,其中,所述狀態(tài)數(shù)據(jù)包括至少以下之一狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、 熱插拔事件消息。
5.一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法,其特征在于,包括權(quán)利要求1至3中任一項(xiàng)所述下行數(shù)據(jù)處理方法和權(quán)利要求4的所述上行數(shù)據(jù)處理方法。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括在所述Android系統(tǒng)初始化時(shí)啟動(dòng)所述QMI守護(hù)進(jìn)程。
7.一種移動(dòng)寬帶設(shè)備的驅(qū)動(dòng)裝置,包括無(wú)線接口層RIL模塊,其特征在于,所述驅(qū)動(dòng)裝置還包括QMI模塊和與網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范NDIS設(shè)備連接的NDIS驅(qū)動(dòng)模塊,其中,所述RIL模塊,用于在接收到的來(lái)自RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI協(xié)議接口將所述功能調(diào)用請(qǐng)求發(fā)送給所述QMI模塊;所述QMI模塊,用于接收來(lái)自所述RIL模塊的所述功能請(qǐng)求,使用QMI守護(hù)進(jìn)程將所述功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI數(shù)據(jù)發(fā)送給所述NDIS驅(qū)動(dòng)模塊。
8.根據(jù)權(quán)利要求7所述的驅(qū)動(dòng)裝置,其特征在于,所述QMI模塊包括QMI客戶端,用于提供對(duì)所述RIL層的接口和封裝,使得RIL層在處理所述數(shù)據(jù)業(yè)務(wù)和所述配置業(yè)務(wù)時(shí)調(diào)用所述QMI守護(hù)進(jìn)程;QMI守護(hù)進(jìn)程單元,用于接收來(lái)自所述QMI客戶端的所述功能調(diào)用請(qǐng)求,并將所述功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,其中,所述QMI指令包括以下之一無(wú)線數(shù)據(jù)服務(wù)WDS、控制服務(wù)CTL、設(shè)備管理服務(wù)DMS。
9.根據(jù)權(quán)利要求8所述的驅(qū)動(dòng)裝置,其特征在于,所述QMI守護(hù)進(jìn)程單元還用于檢測(cè)來(lái)自所述NDIS驅(qū)動(dòng)模塊的所述NDIS設(shè)備的狀態(tài)數(shù)據(jù),根據(jù)檢測(cè)到的所述狀態(tài)數(shù)據(jù)的消息類型進(jìn)行解析,并將解析結(jié)果上報(bào)給所述RIL模塊,其中,所述狀態(tài)數(shù)據(jù)包括至少以下之一 狀態(tài)的切換數(shù)據(jù)、狀態(tài)的轉(zhuǎn)換數(shù)據(jù)、熱插拔事件消息。
10.根據(jù)權(quán)利要求7至9中任一項(xiàng)所述的驅(qū)動(dòng)裝置,其特征在于,所述NDIS驅(qū)動(dòng)模塊用于在所述Android系統(tǒng)中的USB通訊設(shè)備類以太網(wǎng)控制模型⑶C-ECM驅(qū)動(dòng)中注冊(cè)鉤子函數(shù),以實(shí)現(xiàn)所述USB CDC-ECM驅(qū)動(dòng)對(duì)控制數(shù)據(jù)的解析,其中,所述鉤子函數(shù)在所述QMI守護(hù)進(jìn)程中實(shí)現(xiàn)對(duì)所述QMI數(shù)據(jù)的發(fā)送和解析。
全文摘要
本發(fā)明公開了一種移動(dòng)寬帶設(shè)備的數(shù)據(jù)處理方法及驅(qū)動(dòng)裝置,該方法包括以下步驟接收來(lái)自RIL層的Android系統(tǒng)的功能調(diào)用請(qǐng)求;在功能調(diào)用請(qǐng)求為數(shù)據(jù)業(yè)務(wù)和配置業(yè)務(wù)的情況下,通過注冊(cè)到RIL庫(kù)中的QMI協(xié)議接口使用QMI守護(hù)進(jìn)程將功能調(diào)用請(qǐng)求封裝為對(duì)應(yīng)的QMI指令,并將封裝后的QMI指令數(shù)據(jù)發(fā)送給NDIS設(shè)備。通過本發(fā)明擴(kuò)展了Android系統(tǒng)的應(yīng)用范圍,提高了系統(tǒng)的性能。
文檔編號(hào)G06F9/46GK102323892SQ20111023585
公開日2012年1月18日 申請(qǐng)日期2011年8月17日 優(yōu)先權(quán)日2011年8月17日
發(fā)明者李焰峰 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1