提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法
【專利摘要】本發(fā)明提供了一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法,包括如下步驟:a)所述視圖層模塊基于用戶的請求創(chuàng)建token;b)所述token模塊驗證本次請求是否為與前一次請求重復(fù)的請求,是則進(jìn)入步驟c;否則進(jìn)入步驟d;c)token模塊終止對本請求的處理并銷毀本請求的token,所述方法結(jié)束;d)token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟e;e)視圖層模塊將請求傳至控制層模塊分派請求;f)token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟g;g)控制層模塊將請求傳至邏輯層模塊處理所述請求;h)token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟i;i)邏輯層模塊將處理結(jié)果傳至所述視圖層模塊以展示處理結(jié)果。
【專利說明】提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)領(lǐng)域,特別是一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法。
【背景技術(shù)】
[0002]隨著3G網(wǎng)絡(luò)的正式商用,為傳統(tǒng)互聯(lián)網(wǎng)上已成型的業(yè)務(wù)在移動端的開發(fā)提供了可能,移動互聯(lián)網(wǎng)快速成長的時代已經(jīng)來臨。在傳統(tǒng)的互聯(lián)網(wǎng)領(lǐng)域,瀏覽器的出現(xiàn)使得瀏覽復(fù)雜的因特網(wǎng)變得簡單、便捷和易于分享,瀏覽器成為網(wǎng)上沖浪者最重要的客戶端。因此,可以預(yù)見,在移動互聯(lián)網(wǎng)領(lǐng)域,以app為主導(dǎo)的移動客戶端必將引導(dǎo)移動互聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展方向,為移動客戶瀏覽信息提供導(dǎo)航。
[0003]目前通過移動終端上安裝的app訪問服務(wù)器以及接收服務(wù)器響應(yīng)的主要過程是:app頁面請求通知控制器,然后控制器調(diào)用邏輯單元處理并將處理結(jié)果返回給app頁面。然而,對于目前用戶使用移動終端發(fā)出的app頁面請求,存在以下問題:
[0004]一、當(dāng)用戶在app顯示的頁面A發(fā)起異步用戶請求時,未等到服務(wù)器對該請求進(jìn)行響應(yīng),用戶有可能已將頁面A切換至頁面B,但移動終端又從服務(wù)器收到了來自之前頁面A的響應(yīng)。此時會出現(xiàn)異常提示或邏輯錯誤等,從而造成用戶體驗不佳。
[0005]二、用戶可能對同一頁面提交重復(fù)的請求。此時由于對每個頁面都需要進(jìn)行邏輯處理,以致服務(wù)器工作量增加,容易出現(xiàn)疏漏而產(chǎn)生線上BUG。
[0006]三、目前對手機(jī)app的測試主要是通過大量的質(zhì)量檢測人員進(jìn)行大量的黑盒測試,而且黑盒測試成本高且容易發(fā)生疏漏。所以對手機(jī)APP的測試,存在難以實現(xiàn)自動化以及測試成本高等問題。
[0007]因此,需要一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法,以改善手機(jī)客戶端產(chǎn)品的用戶體驗。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是提供一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法。
[0009]根據(jù)本發(fā)明的一個方面,提供了一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法,所述客戶端包括視圖層模塊、控制層模塊、邏輯層模塊以及token模塊,所述方法包括如下步驟:a)所述視圖層模塊基于用戶的請求創(chuàng)建token ;b)所述token模塊驗證本次請求是否為與前一次請求重復(fù)的請求,是則進(jìn)入步驟c ;否則進(jìn)入步驟d ;c)所述token模塊終止對本請求的處理并銷毀本請求的token,所述方法結(jié)束;d)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c ;否則進(jìn)入步驟e ;e)所述視圖層模塊將請求傳至控制層模塊,所述控制層模塊分派請求;f)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c ;否則進(jìn)入步驟g ;g)所述控制層模塊將請求傳至邏輯層模塊,所述邏輯層模塊處理所述請求;h)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c ;否則進(jìn)入步驟i ;
i)所述邏輯層模塊將處理結(jié)果傳至所述視圖層模塊,所述視圖層模塊展示處理結(jié)果。[0010]優(yōu)選地,所述token是異步請求狀態(tài)和控制信息的接口,并至少包含類型標(biāo)識、請求參數(shù)、處理狀態(tài)、返回結(jié)果信息。
[0011]優(yōu)選地,所述視圖層模塊負(fù)責(zé)繪制顯示頁面到客戶端所在的移動終端屏幕進(jìn)行顯示,并能夠通過訪問所述token模塊獲取任意正在處理的請求的所述token,并根據(jù)需要隨時停止該請求。
[0012]優(yōu)選地,所述控制層模塊負(fù)責(zé)控制視圖顯示,并將來所述自視圖層模塊的用戶請求分派到所述邏輯層模塊中對應(yīng)的邏輯接口。
[0013]優(yōu)選地,所述控制層模塊負(fù)責(zé)當(dāng)接到所述視圖層模塊的請求時對該請求進(jìn)行統(tǒng)一驗證。
[0014]優(yōu)選地,所述邏輯層模塊負(fù)責(zé)將從所述控制層模塊接收到的請求進(jìn)行相應(yīng)的邏輯處理,并且在處理結(jié)束后,所述邏輯層模塊將處理結(jié)果反饋至所述視圖層模塊。
[0015]優(yōu)選地,所述邏輯層模塊在反饋所述處理結(jié)果之前,向所述視圖層模塊反饋處理進(jìn)度。
[0016]優(yōu)選地,所述token模塊中保存有當(dāng)前正在處理的請求所對應(yīng)的所述token集合。
[0017]優(yōu)選地,所述token模塊執(zhí)行如下步驟驗證重復(fù)請求:若所述token模塊發(fā)現(xiàn)用戶所觸發(fā)的所述本請求的所述token與上一個請求的所述token —樣,則阻止對所述本請求的處理,并由所述token模塊銷毀所述本請求的所述token。
[0018]優(yōu)選地,所述token模塊執(zhí)行如下步驟驗證用戶的新請求:在系統(tǒng)處理用戶請求的過程中的任意階段,若用戶提出了與本請求不同的新請求,則與所述本請求對應(yīng)的所述token會阻止系統(tǒng)對所述本請求的處理,并由所述token模塊銷毀所述本請求的所述token。
[0019]因此,根據(jù)本發(fā)明的方法可以提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法,改善手機(jī)客戶端產(chǎn)品的用戶體驗。
【專利附圖】
【附圖說明】
[0020]參考隨附的附圖,本發(fā)明更多的目的、功能和優(yōu)點將通過本發(fā)明實施方式的如下描述得以闡明,其中:
[0021]圖1示意性示出了本發(fā)明的系統(tǒng)框圖。
[0022]圖2示意性示出了本發(fā)明的提高手機(jī)客戶端產(chǎn)品質(zhì)量的方法的流程圖。
【具體實施方式】
[0023]通過參考示范性實施例,本發(fā)明的目的和功能以及用于實現(xiàn)這些目的和功能的方法將得以闡明。然而,本發(fā)明并不受限于以下所公開的示范性實施例;可以通過不同形式來對其加以實現(xiàn)。說明書的實質(zhì)僅僅是幫助相關(guān)領(lǐng)域技術(shù)人員綜合理解本發(fā)明的具體細(xì)節(jié)。
[0024]在下文中,將參考附圖描述本發(fā)明的實施例。在附圖中,相同的附圖標(biāo)記代表相同或類似的部件,或者相同或類似的步驟。
[0025]圖1示意性示出了根據(jù)本發(fā)明的產(chǎn)品的系統(tǒng)框圖。如圖1所示,應(yīng)用本發(fā)明的提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的系統(tǒng)100包括客戶端110、網(wǎng)絡(luò)120以及服務(wù)器130??蛻舳?10至少包括視圖層模塊111、控制層模塊112、邏輯層模塊113以及token模塊114。客戶端110和服務(wù)器130之間通過網(wǎng)絡(luò)120連接。出于示意性的目的,圖1僅示出了一個客戶端110,然而,可以理解的是在其他實施方式中,系統(tǒng)100可以包括更多的客戶端 110。
[0026]所述網(wǎng)絡(luò)120例如包括諸如內(nèi)聯(lián)網(wǎng)之類的局域網(wǎng)(“LAN”)和諸如互聯(lián)網(wǎng)之類的廣域網(wǎng)(“WAN”)。網(wǎng)絡(luò)120可被配置為支持利用多種協(xié)議設(shè)置格式的信息的傳輸。另外,網(wǎng)絡(luò)120可以是公共網(wǎng)絡(luò)、專用網(wǎng)絡(luò)或其組合。網(wǎng)絡(luò)120還可以利用任何一種或多種類型的物理介質(zhì)來實現(xiàn),其中包括與多個服務(wù)提供商相關(guān)聯(lián)的有線通信路徑和無線通信路徑。無線通信方式例如WiFi或WLAN、GPRS、蜂窩網(wǎng)絡(luò),例如GSM網(wǎng)絡(luò)、3G網(wǎng)絡(luò)、LTE網(wǎng)絡(luò)或CDMA網(wǎng)絡(luò)等等。
[0027]優(yōu)選地,客戶端110以移動終端應(yīng)用程序的形式來實現(xiàn)??蛻舳?10可以通過例如web瀏覽器或定制應(yīng)用(app)的接口方式與服務(wù)器系統(tǒng)130進(jìn)行交互和雙向通信。用戶可以通過從服務(wù)器系統(tǒng)130下載并安裝來實現(xiàn)客戶端110的各種功能。移動終端可以是臺式計算機(jī)、膝上型計算機(jī)、智能電話、個人數(shù)字助理(PDA)、平板電腦、游戲機(jī)、多功能移動終端或者包括計算功能和數(shù)據(jù)通信能力的任何其他設(shè)備。
[0028]客戶端110中的視圖層模塊111負(fù)責(zé)繪制顯示頁面到客戶端110所在的移動終端屏幕進(jìn)行顯示,并能夠通過訪問token模塊114獲取任意正在處理的請求的token,并根據(jù)需要隨時停止該請求。所述請求是用戶通過對客戶端110的界面進(jìn)行操作(例如手勢操作、輸入、點擊等)來觸發(fā)的,具體例如,用戶輸入關(guān)鍵字進(jìn)行查詢,點擊并觸發(fā)某些功能按鈕,翻頁操作等等。同時,視圖層模塊111能夠通過token模塊114屏蔽用戶發(fā)來的重復(fù)請求,以降低重復(fù)請求對服務(wù)器130造成的壓力和邏輯復(fù)雜度。
[0029]控制層模塊112負(fù)責(zé)控制視圖顯示,并將來自視圖層模塊111的用戶請求分派到邏輯層模塊113中對應(yīng)的邏輯接口。另外,控制層模塊112負(fù)責(zé)當(dāng)接到視圖層模塊111的請求時對該請求進(jìn)行統(tǒng)一驗證,統(tǒng)一驗證例如對客戶端是否在線進(jìn)行驗證,tcp連接驗證等。
[0030]邏輯層模塊113負(fù)責(zé)將從控制層模塊112接收到的請求進(jìn)行相應(yīng)的邏輯處理,所述邏輯處理包括將請求轉(zhuǎn)發(fā)給服務(wù)器130進(jìn)行后續(xù)處理、進(jìn)行本地數(shù)據(jù)管理、數(shù)據(jù)庫操作管理等。在處理結(jié)束后,邏輯層模塊113將處理結(jié)果反饋至視圖層模塊111。優(yōu)選地,邏輯層模塊113在反饋處理結(jié)果之前,向視圖層模塊111反饋處理進(jìn)度。
[0031]token模塊114中保存有當(dāng)前正在處理的請求所對應(yīng)的token集合。token是異步請求狀態(tài)和控制信息的接口,具有驗證處理功能。當(dāng)視圖層模塊111、控制層模塊112以及邏輯層模塊113之間進(jìn)行請求和參數(shù)等的信息的傳遞時,都要經(jīng)過token模塊114的驗證處理。當(dāng)用戶提出一個請求時,視圖層模塊111在token模塊114中創(chuàng)建一個與該請求相對應(yīng)的token。并且,在請求被終止或者完成時對該模塊的處理并返回處理結(jié)果時,控制層模塊114將該請求的token銷毀。token模塊114的驗證處理包括如下兩種:
[0032]1、在系統(tǒng)處理用戶請求的過程中的任意階段,若用戶提出了與本請求不同的新請求,即意味著用戶已經(jīng)放棄對本請求的相應(yīng)結(jié)果的需求,則與本請求對應(yīng)的token會阻止系統(tǒng)對本請求的處理。并由token模塊114銷毀本請求的token。
[0033]2、若token模塊發(fā)現(xiàn)用戶所觸發(fā)的本請求的token與上一個請求的token —樣,即用戶發(fā)出了重復(fù)的請求,則阻止對本請求的處理,并由token模塊114銷毀本請求的token ο例如,用戶可能會反復(fù)點擊某一功能鍵觸發(fā)同一請求。[0034]優(yōu)選地,token可以包含類型標(biāo)識、請求參數(shù)、處理狀態(tài)、返回結(jié)果等信息。為了能更方便地通知視圖層模塊111該請求的處理進(jìn)度,token模塊114優(yōu)選地采用自帶事件機(jī)制通知,所以 token 需要繼承于 EventDispatcher,并且派發(fā) tokenProgress、tokenResult、tokenDestory 事件通知。
[0035]因此,利用token模塊114,視圖層模塊111能夠?qū)崿F(xiàn)對請求的跟蹤和控制,解決了在切換頁面后系統(tǒng)還在處理原頁面的請求的問題,以及由于用戶提交重復(fù)請求而造成增大服務(wù)器負(fù)荷及線上BUG的問題。
[0036]圖2示意性示出了本發(fā)明的提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法的流程圖。如圖2所不:
[0037]步驟210,視圖層模塊111基于用戶的請求創(chuàng)建token。當(dāng)用戶觸發(fā)一個請求時,視圖層模塊111在token模塊114中創(chuàng)建一個對應(yīng)該請求的token。
[0038]步驟220, token模塊114驗證本次請求是否為與前一次請求重復(fù)的請求。若用戶發(fā)出的該請求的token與用戶發(fā)出的上一個請求的token相同,則為重復(fù)請求,若本請求為重復(fù)請求,則進(jìn)入步驟230 ;若本請求不是重復(fù)請求,則進(jìn)入步驟240 ;
[0039]步驟230, token模塊114中的與本請求對應(yīng)的token終止對本請求的處理,并由token模塊114銷毀本請求的token ;
[0040]步驟240,token模塊驗證是否此時用戶已經(jīng)發(fā)出了新的不同請求。根據(jù)本發(fā)明,為了降低服務(wù)器的壓力,對于用戶發(fā)出的新的不同于本次請求的請求,視為用戶已經(jīng)放棄本次請求的響應(yīng)需求。若用戶此時已經(jīng)發(fā)出了新的不同請求,貝1J在token模塊114中已存在為該新請求創(chuàng)建的token,若發(fā)現(xiàn)已有新的token,則進(jìn)入步驟230 ;若用戶沒提出新的不同請求,則進(jìn)入步驟250 ;
[0041]步驟250,視圖層模塊111將請求傳至控制層模塊112,控制層模塊112決定應(yīng)該將用戶請求分派到邏輯層模塊113中的哪個或哪些邏輯接口進(jìn)行后續(xù)的處理;
[0042]步驟260,token模塊114驗證是否有新的不同請求。在此時若發(fā)現(xiàn)用戶提出了新的不同請求,則在token模塊114中已存在為該新請求創(chuàng)建的token,則進(jìn)入步驟230 ;若用戶則進(jìn)入步驟230 ;若沒提出新的不同請求,則進(jìn)入步驟270 ;
[0043]步驟270,控制層模塊112將用戶請求傳至邏輯層模塊113,邏輯層模塊113處理該用戶請求。對用戶請求的處理包括將請求轉(zhuǎn)發(fā)給服務(wù)器130進(jìn)行后續(xù)處理、進(jìn)行本地數(shù)
據(jù)管理、數(shù)據(jù)庫管理等;
[0044]步驟280, token模塊114驗證是否有新的不同請求。在此時若用戶已提出了新的不同請求,則在token模塊114中已存在為該新請求創(chuàng)建的token,則進(jìn)入步驟230 ;若沒提出新的不同請求,則進(jìn)入步驟290 ;
[0045]步驟290,邏輯層模塊113將處理結(jié)果傳至視圖層模塊111,視圖層模塊111展示處理結(jié)果;
[0046]優(yōu)選地,在步驟280與步驟290之間存在步驟285與步驟286。步驟285,邏輯層模塊113可以向視圖層模塊111定時反饋對用戶請求的處理進(jìn)度,例如可以每當(dāng)對請求處理完成5%時反饋一次處理進(jìn)度。步驟286,判斷當(dāng)前處理處理進(jìn)度是否為100%,若是則進(jìn)入步驟290 ;否則回到步驟280,繼續(xù)等待處理完成。
[0047]優(yōu)選地,對于本發(fā)明的系統(tǒng)的測試,定義了將視圖進(jìn)行整合的視圖接口。因此,利用該視圖接口,頁面只需實現(xiàn)視圖接口即可完成對token的支持和控制功能。從而測試人員只需要利用視圖接口就可以模擬視圖對控制器和邏輯模型進(jìn)行自動化測試。
[0048]綜上所述,利用根據(jù)本發(fā)明的上述產(chǎn)品和方法,能夠避免由于用戶切換頁面而系統(tǒng)仍然處理原頁面的請求的問題,從而避免了新頁面中收到原頁面的處理結(jié)果而發(fā)生錯誤的問題。并且利用根據(jù)本發(fā)明的上述產(chǎn)品和方法,可以解決用戶重復(fù)提交同樣的請求而造成的服務(wù)器工作量增加從而容易產(chǎn)生線上BUG的問題。
[0049]本方法可以降低app開發(fā)難度,提高程序質(zhì)量;可以有效控制重復(fù)請求,降低對服務(wù)器的壓力;可以輕松實現(xiàn)自動化測試(邏輯、數(shù)據(jù)部分),降低QA測試成本,并大大提高產(chǎn)
品質(zhì)量。
[0050]結(jié)合這里披露的本發(fā)明的說明和實踐,本發(fā)明的其他實施例對于本領(lǐng)域技術(shù)人員都是易于想到和理解的。說明和實施例僅被認(rèn)為是示例性的,本發(fā)明的真正范圍和主旨均由權(quán)利要求所限定。
【權(quán)利要求】
1.一種提高移動客戶端產(chǎn)品對用戶請求的響應(yīng)質(zhì)量的方法,其特征在于,所述客戶端包括視圖層模塊、控制層模塊、邏輯層模塊以及token模塊,所述方法包括如下步驟: a)所述視圖層模塊基于用戶的請求創(chuàng)建token; b)所述token模塊驗證本次請求是否為與前一次請求重復(fù)的請求,是則進(jìn)入步驟c;否則進(jìn)入步驟d ; c)所述token模塊終止對本請求的處理并銷毀本請求的token,所述方法結(jié)束; d)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟e ; e)所述視圖層模塊將請求傳至控制層模塊,所述控制層模塊分派請求; f)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟g ; g)所述控制層模塊將請求傳至邏輯層模塊,所述邏輯層模塊處理所述請求; h)所述token模塊驗證是否有新的不同請求,是則進(jìn)入步驟c;否則進(jìn)入步驟i ; i)所述邏輯層模塊將處理結(jié)果傳至所述視圖層模塊,所述視圖層模塊展示處理結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述token是異步請求狀態(tài)和控制信息的接口,并至少包含類型標(biāo)識、請求參數(shù)、處理狀態(tài)、返回結(jié)果信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述視圖層模塊負(fù)責(zé)繪制顯示頁面到客戶端所在的移動終端屏幕進(jìn)行顯示,并能夠通過訪問所述token模塊獲取任意正在處理的請求的所述token,并根據(jù)需要隨時停止該請求。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制層模塊負(fù)責(zé)控制視圖顯示,并將來所述自視圖層模塊的用戶請求分派到所述邏輯層模塊中對應(yīng)的邏輯接口。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述控制層模塊負(fù)責(zé)當(dāng)接到所述視圖層模塊的請求時對該請求進(jìn)行統(tǒng)一驗證。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述邏輯層模塊負(fù)責(zé)將從所述控制層模塊接收到的請求進(jìn)行相應(yīng)的邏輯處理,并且在處理結(jié)束后,所述邏輯層模塊將處理結(jié)果反饋至所述視圖層模塊。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述邏輯層模塊在反饋所述處理結(jié)果之前,向所述視圖層模塊反饋處理進(jìn)度。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述token模塊中保存有當(dāng)前正在處理的請求所對應(yīng)的所述token集合。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述token模塊執(zhí)行如下步驟驗證重復(fù)請求:若所述token模塊發(fā)現(xiàn)用戶所觸發(fā)的所述本請求的所述token與上一個請求的所述token —樣,則阻止對所述本請求的處理,并由所述token模塊銷毀所述本請求的所述token。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述token模塊執(zhí)行如下步驟驗證用戶的新請求:在系統(tǒng)處理用戶請求的過程中的任意階段,若用戶提出了與本請求不同的新請求,則與所述本請求對應(yīng)的所述token會阻止系統(tǒng)對所述本請求的處理,并由所述token模塊銷毀所述本請求的所述token。
【文檔編號】H04W24/02GK103561417SQ201310554766
【公開日】2014年2月5日 申請日期:2013年11月8日 優(yōu)先權(quán)日:2013年11月8日
【發(fā)明者】李金城 申請人:五八同城信息技術(shù)有限公司