專利名稱:一種wince下各應(yīng)用程序使用統(tǒng)一下載接口的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式產(chǎn)品軟件開發(fā)領(lǐng)域,特別涉及一種WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法。
背景技術(shù):
現(xiàn)有WINCE各個(gè)應(yīng)用軟件的下載功能都是單獨(dú)調(diào)用下載api函數(shù)來實(shí)現(xiàn)下載功能,每個(gè)應(yīng)用程序都需要重復(fù)寫各自的下載代碼,要維護(hù)下載暫停、繼續(xù)、成功、失敗等處理,代碼冗余度高,不利于維護(hù)。隨著互聯(lián)網(wǎng)的發(fā)展和WINCE終端的普及,應(yīng)用程序?qū)W(wǎng)絡(luò)的依賴越來越重,又由于每個(gè)應(yīng)用程序的軟件間互相獨(dú)立,都需要編寫網(wǎng)絡(luò)數(shù)據(jù)下載這段代碼,都需要調(diào)用一 系列系統(tǒng)接口 函數(shù)(如 AfxParseURL, GetHttpConnection, OpenRequest, SendRequest,QuerylnfoStatusCode, Read, Close等等),完成數(shù)據(jù)下載的功能。另外,由于網(wǎng)絡(luò)制式的不相同,目前有CDMA,GSM,CDMA2000、WCDMA、TD-SCDMA等網(wǎng)絡(luò)制式,不同網(wǎng)絡(luò)制式的WINCE終端連接的模塊不一樣,數(shù)據(jù)下載處理也會(huì)不一樣,為兼容不同模塊各應(yīng)用程序需要不斷更新代碼來滿足需求,維護(hù)成本高。如果采用統(tǒng)一的下載接口處理程序,則各個(gè)應(yīng)用程序無需關(guān)心WINCE終端采用什么樣的網(wǎng)絡(luò)制式,配置什么樣的硬件模塊,方便移植和代碼復(fù)用,方便程序的排錯(cuò)和調(diào)試,能提高應(yīng)用程序的開發(fā)效率和程序的穩(wěn)定性。
發(fā)明內(nèi)容
為了解決現(xiàn)有WINCE應(yīng)用軟件為實(shí)現(xiàn)下載需要重復(fù)寫下載代碼的技術(shù)問題,本發(fā)明提供簡(jiǎn)潔方便且可擴(kuò)展性強(qiáng)的WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法。為了實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案是,一種WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法,包括以下步驟一種WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法,包括以下步驟步驟A :在后臺(tái)設(shè)立一個(gè)用于處理各應(yīng)用程序下載請(qǐng)求的下載處理模塊;步驟B :各應(yīng)用程序統(tǒng)一將下載請(qǐng)求發(fā)送至下載處理模塊,下載處理模塊處理下載請(qǐng)求,并將處理情況反饋至各應(yīng)用程序;步驟C :下載處理模塊將響應(yīng)下載請(qǐng)求且下載成功的數(shù)據(jù)以文件的形式保存在本地目錄中,由提出下載請(qǐng)求的應(yīng)用程序直接處理。所述的方法,步驟A中所述的下載處理模塊包括下載請(qǐng)求接收單元、下載單元和下載狀態(tài)反饋單元。所述的方法,步驟B中下載處理模塊通過下載請(qǐng)求接收單元接受各應(yīng)用程序發(fā)送過來的下載請(qǐng)求消息并進(jìn)行儲(chǔ)存,然后對(duì)下載請(qǐng)求消息中所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理以判斷是否為有效下載請(qǐng)求。所述的方法,所述的下載請(qǐng)求接收單元按接收的順序?qū)⑾螺d請(qǐng)求消息以隊(duì)列的方式進(jìn)行儲(chǔ)存,然后根據(jù)先進(jìn)先出的順序?qū)﹃?duì)列中的下載請(qǐng)求消息所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理。所述的方法,所述的數(shù)據(jù)參數(shù)包括窗口句柄,下載id,url,帶路徑長(zhǎng)文件名四個(gè)參數(shù)。所述的方法,所述的對(duì)數(shù)據(jù)參數(shù)進(jìn)行解析處理包括
I)檢查窗口句柄參數(shù)是否大于零,大于零則符合要求,小于等于零則不符合要求;2)檢查下載id參數(shù)是否大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù),大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則符合要求,小于等于零或與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則則不符合要求;3)檢查url參數(shù)是否符合RFC2616協(xié)議規(guī)范要求,符合RFC2616協(xié)議規(guī)范則符合要求,不符合RFC2616協(xié)議規(guī)范則不符合要求;4)檢查帶路徑長(zhǎng)文件名參數(shù)里的路徑是否存在,路徑存在則符合要求,路徑不存在則不符合要求;上述四項(xiàng)檢查若其中有至少一項(xiàng)數(shù)據(jù)參數(shù)不符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為無效的下載請(qǐng)求消息,若四項(xiàng)數(shù)據(jù)參數(shù)均符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為有效的下載請(qǐng)求消息。所述的方法,下載請(qǐng)求接收單元將判斷為有效的下載請(qǐng)求消息發(fā)送至下載單元,下載模塊根據(jù)有效的下載請(qǐng)求消息進(jìn)行下載數(shù)據(jù),然后根據(jù)下載情況將下載成功或下載失敗的下載狀態(tài)信息發(fā)送至下載狀態(tài)反饋單元。所述的方法,下載請(qǐng)求接收單元判斷為無效的下載請(qǐng)求消息則直接發(fā)送無效下載的下載狀態(tài)消息至下載狀態(tài)反饋單元。所述的方法,下載狀態(tài)反饋單元將所接收的下載狀態(tài)信息反饋至發(fā)送下載請(qǐng)求信息的應(yīng)用程序。本發(fā)明的技術(shù)效果在于,代碼簡(jiǎn)潔,無需每個(gè)應(yīng)用程序?qū)懘罅康南螺d處理代碼;可維護(hù)性高,若下載處理有變化或添加新功能,只需修改下載中心處理程序。通用性強(qiáng),只需要簡(jiǎn)單聲明幾個(gè)宏定義就可以直接使用統(tǒng)一的下載接口。下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
圖I為本發(fā)明的結(jié)構(gòu)示意圖;圖2為本發(fā)明的處理流程示意圖。
具體實(shí)施例方式本發(fā)明包括以下步驟步驟A :在后臺(tái)設(shè)立一個(gè)用于處理各應(yīng)用程序下載請(qǐng)求的下載處理模塊,下載處理模塊包括下載請(qǐng)求接收單元、下載單元和下載狀態(tài)反饋單元。步驟B :各應(yīng)用程序統(tǒng)一將下載請(qǐng)求發(fā)送至下載處理模塊,下載處理模塊處理下載請(qǐng)求,并將處理情況反饋至各應(yīng)用程序。具體的處理過程為,下載處理模塊通過下載請(qǐng)求接收單元接受各應(yīng)用程序發(fā)送過來的下載請(qǐng)求消息并進(jìn)行儲(chǔ)存,然后對(duì)下載請(qǐng)求消息中所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理以判斷是否為有效下載請(qǐng)求,若先后接收到多個(gè)下載請(qǐng)求,則下載請(qǐng)求接收單元按接收的順序?qū)⑾螺d請(qǐng)求消息以隊(duì)列的方式進(jìn)行儲(chǔ)存,然后根據(jù)先進(jìn)先出的順序?qū)﹃?duì)列中的下載請(qǐng)求消息所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理。數(shù)據(jù)參數(shù)包括窗口句柄,下載id, url,帶路徑長(zhǎng)文件名四個(gè)參數(shù),具體的參數(shù)解析處理包括I)檢查窗口句柄參數(shù)是否大于零,大于零則符合要求,小于等于零則不符合要求;2)檢查下載id參數(shù)是否大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù),大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則符合要求,小于等于零或與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則則不符合要求;3)檢查url參數(shù)是否符合RFC2616協(xié)議規(guī)范要求,符合RFC2616協(xié)議規(guī)范則符合要求,不符合RFC2616協(xié)議規(guī)范則不符合要求; 4)檢查帶路徑長(zhǎng)文件名參數(shù)里的路徑是否存在,路徑存在則符合要求,路徑不存在則不符合要求;進(jìn)行的上述四項(xiàng)檢查,若其中有至少一項(xiàng)數(shù)據(jù)參數(shù)不符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為無效的下載請(qǐng)求消息,若四項(xiàng)數(shù)據(jù)參數(shù)均符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為有效的下載請(qǐng)求消息。下載請(qǐng)求接收單元將判斷為有效的下載請(qǐng)求消息發(fā)送至下載單元,下載模塊根據(jù)有效的下載請(qǐng)求消息進(jìn)行下載數(shù)據(jù),然后根據(jù)下載情況將下載成功或下載失敗的下載狀態(tài)信息發(fā)送至下載狀態(tài)反饋單元。下載請(qǐng)求接收單元判斷為無效的下載請(qǐng)求消息則直接發(fā)送無效下載的下載狀態(tài)消息至下載狀態(tài)反饋單元。步驟C :下載處理模塊將響應(yīng)下載請(qǐng)求且下載成功的數(shù)據(jù)以文件的形式保存在本地目錄中,由提出下載請(qǐng)求的應(yīng)用程序直接處理。在實(shí)際使用時(shí),各應(yīng)用程序只需包含幾個(gè)宏定義即可調(diào)用統(tǒng)一下載接口完成下載。
權(quán)利要求
1.一種WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法,其特征在于,包括以下步驟 步驟A :在后臺(tái)設(shè)立一個(gè)用于處理各應(yīng)用程序下載請(qǐng)求的下載處理模塊; 步驟B :各應(yīng)用程序統(tǒng)一將下載請(qǐng)求發(fā)送至下載處理模塊,下載處理模塊處理下載請(qǐng)求,并將處理情況反饋至各應(yīng)用程序; 步驟C :下載處理模塊將響應(yīng)下載請(qǐng)求且下載成功的數(shù)據(jù)以文件的形式保存在本地目錄中,由提出下載請(qǐng)求的應(yīng)用程序直接處理。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,步驟A中所述的下載處理模塊包括下載請(qǐng)求接收單元、下載單元和下載狀態(tài)反饋單元。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B中下載處理模塊通過下載請(qǐng)求接收單元接受各應(yīng)用程序發(fā)送過來的下載請(qǐng)求消息并進(jìn)行儲(chǔ)存,然后對(duì)下載請(qǐng)求消息中所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理以判斷是否為有效下載請(qǐng)求。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的下載請(qǐng)求接收單元按接收的順序?qū)⑾螺d請(qǐng)求消息以隊(duì)列的方式進(jìn)行儲(chǔ)存,然后根據(jù)先進(jìn)先出的順序?qū)﹃?duì)列中的下載請(qǐng)求消息所包含的數(shù)據(jù)參數(shù)進(jìn)行解析處理。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述的數(shù)據(jù)參數(shù)包括窗口句柄,下載id, url,帶路徑長(zhǎng)文件名四個(gè)參數(shù)。
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述的對(duì)數(shù)據(jù)參數(shù)進(jìn)行解析處理包括 1)檢查窗口句柄參數(shù)是否大于零,大于零則符合要求,小于等于零則不符合要求; 2)檢查下載id參數(shù)是否大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù),大于零且不與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則符合要求,小于等于零或與已經(jīng)存在的下載請(qǐng)求中的id重復(fù)則則不符合要求; 3)檢查url參數(shù)是否符合RFC2616協(xié)議規(guī)范要求,符合RFC2616協(xié)議規(guī)范則符合要求,不符合RFC2616協(xié)議規(guī)范則不符合要求; 4)檢查帶路徑長(zhǎng)文件名參數(shù)里的路徑是否存在,路徑存在則符合要求,路徑不存在則不符合要求; 上述四項(xiàng)檢查若其中有至少一項(xiàng)數(shù)據(jù)參數(shù)不符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為無效的下載請(qǐng)求消息,若四項(xiàng)數(shù)據(jù)參數(shù)均符合要求,則下載請(qǐng)求接收單元將此下載請(qǐng)求消息判斷為有效的下載請(qǐng)求消息。
7.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,下載請(qǐng)求接收單元將判斷為有效的下載請(qǐng)求消息發(fā)送至下載單元,下載模塊根據(jù)有效的下載請(qǐng)求消息進(jìn)行下載數(shù)據(jù),然后根據(jù)下載情況將下載成功或下載失敗的下載狀態(tài)信息發(fā)送至下載狀態(tài)反饋單元。
8.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,下載請(qǐng)求接收單元判斷為無效的下載請(qǐng)求消息則直接發(fā)送無效下載的下載狀態(tài)消息至下載狀態(tài)反饋單元。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,下載狀態(tài)反饋單元將所接收的下載狀態(tài)信息反饋至發(fā)送下載請(qǐng)求信息的應(yīng)用程序。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,下載狀態(tài)反饋單元將所接收的下載狀態(tài)信息反饋至發(fā)送下載請(qǐng)求信息的應(yīng)用程序。
全文摘要
本發(fā)明公開了一種WINCE下各應(yīng)用程序使用統(tǒng)一下載接口的方法,實(shí)現(xiàn)一個(gè)在后臺(tái)運(yùn)行的下載處理模塊,接收各個(gè)應(yīng)用程序的下載請(qǐng)求,按照下載隊(duì)列及優(yōu)先級(jí)來下載數(shù)據(jù),并將下載的狀態(tài)及時(shí)反饋給各個(gè)應(yīng)用程序端。各應(yīng)用程序只需包含幾個(gè)宏定義即可調(diào)用統(tǒng)一下載接口完成下載。本發(fā)明的技術(shù)效果在于,代碼簡(jiǎn)潔,無需每個(gè)應(yīng)用程序?qū)懘罅康南螺d處理代碼;可維護(hù)性高,若下載處理有變化或添加新功能,只需修改下載中心處理程序。通用性強(qiáng),應(yīng)用程序開發(fā)人員無需關(guān)心具體的數(shù)據(jù)下載方式和如何實(shí)現(xiàn),只需要簡(jiǎn)單聲明幾個(gè)宏定義就可以直接使用統(tǒng)一的下載接口。
文檔編號(hào)H04L29/08GK102724326SQ20121022489
公開日2012年10月10日 申請(qǐng)日期2012年7月2日 優(yōu)先權(quán)日2012年7月2日
發(fā)明者劉海明, 王治宇, 胡添喜 申請(qǐng)人:湖南賽格導(dǎo)航技術(shù)研究有限公司