專利名稱:一種實現(xiàn)移動終端并行業(yè)務(wù)處理的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動終端領(lǐng)域,尤其涉及一種實現(xiàn)移動終端并行業(yè)務(wù)處理的 方法。
背景技術(shù):
在手機上, 一種業(yè)務(wù)的功能通常是按順序執(zhí)行的,如發(fā)送多條短消息, 需要在一條短消息發(fā)送處理完成后才會進行下一條的發(fā)送。但是多種業(yè)務(wù)的執(zhí)行是可以并行處理的,如名片夾的處理和發(fā)送短消息。這樣,在使用AT 命令方式進行任務(wù)執(zhí)行時,對相同的處理結(jié)果就會出現(xiàn)沖突,如協(xié)議棧上報 OK命令時無法確定是名片夾的命令還是短消息的命令。通??梢杂幸韵陆?決方法使用擴展的命令方式,即在OK和ERROR命令后面加上響應(yīng)的命令, 如刪除名片夾的處理結(jié)果為>CPBW:12 〃刪除索引為12的名片夾>OK—CPBD... 〃刪除成功> ERROR—CPBD: 10〃刪除失敗,錯誤代碼為10這種方式采用自定義特殊控制字符區(qū)分不同通信業(yè)務(wù),雖然在理論上是 可行的,但是由于修改了國際標(biāo)準(zhǔn)組織對基本AT命令的格式要求,違反了 AT接口的原則,在產(chǎn)品的可移植性和兼容性上具有很大的局限性,不能為 用戶提供標(biāo)準(zhǔn)通用的接口,所以不推薦采用。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種實現(xiàn)移動終端并行業(yè)務(wù)處理的方 法,避免協(xié)議棧上報各種業(yè)務(wù)的AT命令響應(yīng)的沖突問題。為了解決上述問題,本發(fā)明提供了一種實現(xiàn)移動終端并行業(yè)務(wù)處理的方 法,移動終端根據(jù)用戶當(dāng)前同時發(fā)起的業(yè)務(wù)實體請求數(shù)量,為每種業(yè)務(wù)動態(tài)分配虛擬的AT命令邏輯通道,建立邏輯通道同AT命令的目標(biāo)協(xié)議?;蚰?標(biāo)協(xié)議棧業(yè)務(wù)接口的映射關(guān)系,目標(biāo)協(xié)議棧處理完相應(yīng)業(yè)務(wù)返回響應(yīng)命令時 移動終端根據(jù)所述映射關(guān)系區(qū)分是哪種業(yè)務(wù)的執(zhí)行結(jié)果。進一步地,上述方法還可具有以下特點,所述AT命令邏輯通道用通道 標(biāo)識ID號來標(biāo)識,通道分配成功后i殳置通道狀態(tài)。進一步地,上述方法還可具有以下特點,所述AT命令邏輯通道分配成 功后開始發(fā)送AT命令,包括如下步驟步驟一,將AT命令^:入全局輸入隊列,所述輸入隊列為先入先出且具 有優(yōu)先級的隊列;步驟二,循環(huán)查詢和掃描整個輸入隊列,從輸入隊列頂部取出優(yōu)先級最 高的AT命令字符串,根據(jù)目標(biāo)協(xié)議棧的狀態(tài)發(fā)送AT命令。進一步地,上述方法還可具有以下特點,所述輸入隊列通過隊列節(jié)點實 現(xiàn)AT命令和通道號的綁定。。進一步地,上述方法還可具有以下特點,進一步包括步驟三,目標(biāo)協(xié) 議棧返回AT命令,移動終端根據(jù)所述映射關(guān)系從目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧 業(yè)務(wù)接口對應(yīng)的串口接收到相應(yīng)的數(shù)據(jù),放入全局輸出隊列,用戶根據(jù)發(fā)送 AT命令的通道ID取回想要的AT命令數(shù)據(jù)。。進一步地,上述方法還可具有以下特點,所述步驟二中,根據(jù)目標(biāo)協(xié)議 棧的狀態(tài)發(fā)送AT命令是指若目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧的接口支持單串口 , 則在發(fā)送的命令中附加上對應(yīng)的通道ID;若目標(biāo)協(xié)議棧或目標(biāo)協(xié)議棧的接 口連接多個串口,則根據(jù)相應(yīng)的通道-串口映射表,直接將AT命令發(fā)到指定 的串口上;若AT命令發(fā)往的目標(biāo)協(xié)議棧不提供AT接口,而是消息接口, 則經(jīng)過AT命令的編解碼和通道ID與業(yè)務(wù)標(biāo)識索引映射過程,再發(fā)到目標(biāo) 協(xié)議棧。進一步地,上述方法還可具有以下特點,所述通道-串口映射表根據(jù)通 道資源和串口資源來配置,其內(nèi)容包括通道號,通道號對應(yīng)的串口號,業(yè)務(wù)標(biāo)識。進一步地,上述方法還可具有以下特點,所述方法用于手機平臺。 進一步地,上迷方法還可具有以下特點,所述方法用于個人電腦PC側(cè)或其它采用AT命令通過虛擬串口和協(xié)議棧通信的系統(tǒng)中。由上可見,本發(fā)明可以較好的支持多通道機制,提供完整的并發(fā)業(yè)務(wù)處 理流程,并能夠大大提高用戶的業(yè)務(wù)處理效率,節(jié)約系統(tǒng)資源,在各種平臺 業(yè)務(wù)的支撐中起到良好的作用。
圖1是本發(fā)明實施例中ATI模塊在手機軟件平臺中的位置及其組成示意圖。圖2是圖1所示ATI模塊的軟件系統(tǒng)架構(gòu)圖。圖3是支持用戶并發(fā)業(yè)務(wù)的多通道AT命令的控制流程圖。圖4是本發(fā)明實施例中在多通道發(fā)送AT命令時的軟件流程圖。圖5是本發(fā)明實施例中在多通道接收AT命令時的軟件流程圖。
具體實施方式
本發(fā)明的構(gòu)思是,移動終端根據(jù)用戶當(dāng)前同時發(fā)起的業(yè)務(wù)實體請求數(shù) 量,為每種業(yè)務(wù)動態(tài)分配虛擬的AT命令邏輯通道,建立邏輯通道同AT命 令的目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧業(yè)務(wù)接口的映射關(guān)系,目標(biāo)協(xié)議棧處理完相應(yīng) 業(yè)務(wù)返回響應(yīng)命令時移動終端根據(jù)所述映射關(guān)系區(qū)分是哪種業(yè)務(wù)的執(zhí)行結(jié)果。本發(fā)明是通過軟件內(nèi)部的功能協(xié)作,達到在用戶層面的并行業(yè)務(wù)處理流 程,使用多通道方式,在發(fā)送和接收上建立多個邏輯通道,每種業(yè)務(wù)對應(yīng)自 己的通道。本發(fā)明中稱實現(xiàn)本發(fā)明所述方法的實體為ATI (AT接口 )模塊(以下簡稱ATI),它完成AT命令多通道的分配、創(chuàng)建和映射關(guān)系的管理等,它 對上提供統(tǒng)一和筒單的用戶接口,對下直接與目標(biāo)協(xié)議棧通信。ATI模塊在 手機軟件平臺中的位置及其組成示意圖如圖1所示,ATI模塊對上與電話業(yè) 務(wù)應(yīng)用編程接口 TAPI相連,這里TAPI為ATI的上層用戶,直接調(diào)用ATI 的接口; ATI模塊對下與協(xié)議棧(modem)相連。ATI模塊包括兩部分多 通道管理單元和映射單元。ATI模塊的軟件系統(tǒng)架構(gòu)如圖2所示,包括輸入、 輸出隊列,任務(wù)引擎和通道映射表等幾個主要的子模塊,這些子模塊協(xié)同完 成AT通道的動態(tài)創(chuàng)建與映射。下面結(jié)合附圖和實施例對本發(fā)明的技術(shù)方案作進一步的詳細(xì)描述。實施例在不改變當(dāng)前的系統(tǒng)配置和協(xié)議接口參數(shù)的情況下,本實施例的AT命 令多通道管理機制在軟件層次上是以一種系統(tǒng)任務(wù)的形式存在的,這樣能確 保上層用戶同時發(fā)起多路電話相關(guān)的并發(fā)業(yè)務(wù),并且可以屏蔽和適配各種目 標(biāo)協(xié)議棧的實現(xiàn)差異。驟步驟一,調(diào)用ATI的接口 (對應(yīng)圖1中的電話業(yè)務(wù)應(yīng)用編程接口 TAPI) 請求發(fā)送一條某種業(yè)務(wù)對應(yīng)的AT命令,ATI模塊根據(jù)用戶請求的業(yè)務(wù)類 型申請相應(yīng)的AT邏輯通道(以下可簡稱為通道),所述通道用通道ID(標(biāo) 識)號來標(biāo)識,建立邏輯通道同AT命令的目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧業(yè)務(wù)接 口的映射關(guān)系,通道申請成功即移動終端分配通道成功后ATI模塊設(shè)置一定 的通道狀態(tài);如果申請通道不成功,ATI模塊通過函數(shù)返回值通知用戶失敗原因,并 繼續(xù)申請通道,直到申請成功。所述通道狀態(tài)內(nèi)容包括當(dāng)前通道上對應(yīng)的 AT命令標(biāo)識號(command ID) , AT命令的操作類型(執(zhí)行、讀取、設(shè)置 和測試等)、所處的模式(命令或數(shù)據(jù)模式)以及呼叫實體標(biāo)識(針對CC(CallControl呼叫控制,簡稱CC )模塊存在多路呼叫實體時)等。設(shè)置通 道狀態(tài)是為了保存當(dāng)前發(fā)送出去的AT命令相關(guān)參數(shù),這樣在收到協(xié)議棧(modem)返回的處理結(jié)果(比如OK)時,就能區(qū)分是哪種業(yè)務(wù)對應(yīng)的請求執(zhí)行的結(jié)果。業(yè)務(wù)處理完后ATI會釋放和關(guān)閉對應(yīng)的通道。步驟二,該步驟參見圖2,當(dāng)AT通道申請成功,并開始發(fā)送命令時, ATI首先把AT命令放入一個全局輸入隊列中,這個隊列是一個FIFO ( First In First Out,先入先出)、并且?guī)в袃?yōu)先級的隊列,這樣做的好處一方面是 緩存用戶的請求對系統(tǒng)和協(xié)議棧資源帶來的壓力,另 一方面是確保高優(yōu)先級 的AT命令得到及時的處理和響應(yīng);值得說明的是,本發(fā)明的輸入隊列與現(xiàn)有技術(shù)的隊列的區(qū)別是,在隊列 中加入了通道元素,通過隊列節(jié)點實現(xiàn)AT命令和通道號的綁定。后面要提 到的輸出隊列不需要優(yōu)先級。步驟三,ATI的任務(wù)引擎循環(huán)查詢和掃描整個輸入隊列,從輸入隊列頂 部取出優(yōu)先級最高的AT命令字符串,然后分析目標(biāo)協(xié)議棧的狀態(tài),如果目 標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧的接口 (此處為圖1中的modem模塊)僅僅支持單 個物理串口,則在發(fā)送的命令中附加上對應(yīng)的通道ID,如果目標(biāo)協(xié)議?;?目標(biāo)協(xié)議棧的接口連接多個串口 ,則只需要根據(jù)相應(yīng)的通道-串口映射表, 直接將AT命令發(fā)到指定的串口上;還有一種情況是AT命令發(fā)往的目標(biāo)協(xié) 議棧不提供AT接口 ,而是消息接口 ,這時就不能將命令直接發(fā)到串口上去, 而是要經(jīng)過AT命令的編解碼和通道ID與業(yè)務(wù)標(biāo)識索引映射過程,再發(fā)到 目標(biāo)協(xié)議棧;本步驟是實現(xiàn)AT多通道通信的關(guān)鍵過程。本實施例中軟件平臺的很多 模塊都是以一個任務(wù)的形式在運行(受到操作系統(tǒng)的統(tǒng)一調(diào)度和管理),因 此,這里的任務(wù)引擎特指手機平臺操作系統(tǒng)調(diào)用 一次任務(wù)入口函數(shù)的處理過 程。本步驟中所述目標(biāo)協(xié)議棧的狀態(tài)指支持單串口 (com)還是多路復(fù)用 (MUX),以及當(dāng)前處于命令(command)態(tài)還是數(shù)據(jù)(data)態(tài)。通道-串口映射表由ATI根據(jù)通道資源和串口資源來配置,其內(nèi)容包括通道號,通 道號對應(yīng)的串口號,業(yè)務(wù)標(biāo)識,如圖2所示。步驟四,ATI接收協(xié)議棧返回的AT命令的過程正好相反,首先根據(jù)通 道ID和接收命令的串口的映射關(guān)系,任務(wù)引擎從串口接收到相應(yīng)的數(shù)據(jù), 然后同樣放入一個全局的輸出隊列,這個隊列里的每條命令的優(yōu)先級以及通道ID和輸入隊列是——對應(yīng)的,用戶根據(jù)發(fā)送AT命令的通道ID取回想要 的AT命令數(shù)據(jù);協(xié)議棧返回的AT命令通過虛擬串口上報給ATI, ATI根據(jù)已經(jīng)保存的 通道-串口映射關(guān)系找到對應(yīng)的通道ID號,然后根據(jù)通道狀態(tài)映射表,解析 是哪個業(yè)務(wù)對應(yīng)的命令,最后通過一個回調(diào)函數(shù)接口調(diào)用,將通道ID和命 令數(shù)據(jù)同時返回給用戶。圖3是支持用戶并發(fā)業(yè)務(wù)的多通道AT命令的控制流程圖,如圖所示, 最開始是啟動工作主任務(wù);然后是完成相應(yīng)的多通道初始化任務(wù)(包括隊列 的初始化,發(fā)送、接收工作流程的啟動,多通道的啟用等等);接下來, ATI模塊進入空閑等待狀態(tài),它要不停的監(jiān)聽各種用戶和協(xié)議棧的事件通 知,其中主要包括上層用戶發(fā)送AT命令的請求,目標(biāo)協(xié)議棧經(jīng)過通道映射 和命令編解碼上報的消息,以及通過串口直接上報的消息等。在用戶請求發(fā)送AT命令時,如果ATI模塊支持多通道發(fā)送,命令的優(yōu) 先級最高,并且申請的通道狀態(tài)不是IDLE,則可以直接發(fā)到目的協(xié)議棧, 其余情況則需要先放進輸入隊列中做緩存。本實施例中,在多通道發(fā)送AT命令時的軟件流程如圖4所示,發(fā)送流 程啟動后,任務(wù)引擎就不停的查詢命令輸入隊列, 一旦隊列不為空,并且命 令對應(yīng)的AT通道狀態(tài)變成IDLE,就把當(dāng)前隊列的第一個命令發(fā)往目標(biāo)協(xié) 議棧,并設(shè)置相應(yīng)的通道狀態(tài),在往下發(fā)送的過程中,還要分別區(qū)分不同情 況,是經(jīng)過命令消息映射調(diào)用協(xié)議棧接口 ,還是通過單個串口或MUX多通 道串口發(fā)到協(xié)議棧內(nèi)。本實施例中,在多通道接收AT命令時的軟件流程如圖5所示,它是發(fā) 送過程的逆過程,ATI模塊將收到的AT命令數(shù)據(jù)根據(jù)串口和通道的映射關(guān) 系放進對應(yīng)的輸出隊列中,并重新設(shè)置相應(yīng)的通道狀態(tài)。本實施例中,實現(xiàn)移動終端并行業(yè)務(wù)處理的方法是用在手機平臺上的, 但是該方法在PC (個人電腦)側(cè)或別的采用AT命令通過虛擬串口和協(xié)議 棧通信的系統(tǒng)中也可以 -使用。應(yīng)當(dāng)理解的是,對本發(fā)明技術(shù)所在領(lǐng)域的普通技術(shù)人員來說,可以根據(jù) 本發(fā)明的技術(shù)方案及其構(gòu)思進行相應(yīng)的等同改變或替換,而所有這些改變或 替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
權(quán)利要求
1、一種實現(xiàn)移動終端并行業(yè)務(wù)處理的方法,其特征在于,移動終端根據(jù)用戶當(dāng)前同時發(fā)起的業(yè)務(wù)實體請求數(shù)量,為每種業(yè)務(wù)動態(tài)分配虛擬的AT命令邏輯通道,建立邏輯通道同AT命令的目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧業(yè)務(wù)接口的映射關(guān)系,目標(biāo)協(xié)議棧處理完相應(yīng)業(yè)務(wù)返回響應(yīng)命令時移動終端根據(jù)所述映射關(guān)系區(qū)分是哪種業(yè)務(wù)的執(zhí)行結(jié)果。
2、 如權(quán)利要求1所述的方法,其特征在于所述AT命令邏輯通道用通道標(biāo)識ID號來標(biāo)識,通道分配成功后i殳置 通道狀態(tài)。
3、 如權(quán)利要求2所述的方法,其特征在于,所述AT命令邏輯通道分 配成功后開始發(fā)送AT命令,包括如下步驟步驟一,將AT命令放入全局輸入隊列,所述輸入隊列為先入先出且具 有優(yōu)先級的隊列;步驟二,循環(huán)查詢和掃描整個輸入隊列,從輸入隊列頂部取出優(yōu)先級最 高的AT命令字符串,根據(jù)目標(biāo)協(xié)議棧的狀態(tài)發(fā)送AT命令。
4、 如權(quán)利要求3所述的方法,其特征在于 所述輸入隊列通過隊列節(jié)點實現(xiàn)AT命令和通道號的綁定。
5、 如權(quán)利要求3或4所述的方法,其特征在于,進一步包括步驟三,目標(biāo)協(xié)議棧返回AT命令,移動終端根據(jù)所述映射關(guān)系從目標(biāo) 協(xié)議?;蚰繕?biāo)協(xié)議棧業(yè)務(wù)接口對應(yīng)的串口接收到相應(yīng)的數(shù)據(jù),放入全局輸出 隊列,用戶根據(jù)發(fā)送AT命令的通道ID取回想要的AT命令數(shù)據(jù)。
6、 如權(quán)利要求3或4所述的方法,其特征在于所述步驟二中,根據(jù)目標(biāo)協(xié)議棧的狀態(tài)發(fā)送AT命令是指若目標(biāo)協(xié)議 ?;蚰繕?biāo)協(xié)議棧的接口支持單串口 ,則在發(fā)送的命令中附加上對應(yīng)的通道 ID;若目標(biāo)協(xié)議棧或目標(biāo)協(xié)議棧的接口連接多個串口,則根據(jù)相應(yīng)的通道-串口映射表,直接將AT命令發(fā)到指定的串口上;若AT命令發(fā)往的目標(biāo)協(xié) 議棧不提供AT接口 ,而是消息接口 ,則經(jīng)過AT命令的編解碼和通道ID與業(yè)務(wù)標(biāo)識索引映射過程,再發(fā)到目標(biāo)協(xié)議棧。
7、 如權(quán)利要求6所述的方法,其特征在于所述通道-串口映射表根據(jù)通道資源和串口資源來配置,其內(nèi)容包括通 道號,通道號對應(yīng)的串口號,業(yè)務(wù)標(biāo)識。
8、 如權(quán)利要求1所述的方法,其特征在于 所述方法用于手機平臺。
9、 如權(quán)利要求1所述的方法,其特征在于所述方法用于個人電腦PC側(cè)或其它采用AT命令通過虛擬串口和協(xié)議 棧通信的系統(tǒng)中。
全文摘要
本發(fā)明公開了一種實現(xiàn)移動終端并行業(yè)務(wù)處理的方法,移動終端根據(jù)用戶當(dāng)前同時發(fā)起的業(yè)務(wù)實體請求數(shù)量,為每種業(yè)務(wù)動態(tài)分配虛擬的AT命令邏輯通道,建立邏輯通道同AT命令的目標(biāo)協(xié)議?;蚰繕?biāo)協(xié)議棧業(yè)務(wù)接口的映射關(guān)系,目標(biāo)協(xié)議棧處理完相應(yīng)業(yè)務(wù)返回響應(yīng)命令時移動終端根據(jù)所述映射關(guān)系區(qū)分是哪種業(yè)務(wù)的執(zhí)行結(jié)果。本發(fā)明可以較好的支持多通道機制,提供完整的并發(fā)業(yè)務(wù)處理流程,并能夠大大提高用戶的業(yè)務(wù)處理效率,節(jié)約系統(tǒng)資源,在各種平臺業(yè)務(wù)的支撐中起到良好的作用。
文檔編號H04L29/06GK101227469SQ20081000470
公開日2008年7月23日 申請日期2008年1月23日 優(yōu)先權(quán)日2008年1月23日
發(fā)明者誠 季, 楊學(xué)森 申請人:中興通訊股份有限公司