本發(fā)明涉及數(shù)據(jù)交互
技術(shù)領(lǐng)域:
:,尤其涉及一種數(shù)據(jù)交互方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
::隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,一個(gè)網(wǎng)絡(luò)中往往存在多個(gè)終端,這些終端需要與后端數(shù)據(jù)庫(kù)進(jìn)行頻繁的數(shù)據(jù)交互。在這些交互中,以android手機(jī)終端與分布式后端交互最為頻繁。目前的手機(jī)終端與分布式后端的交互基本是終端客戶端發(fā)送一次數(shù)據(jù)訪問請(qǐng)求,后端在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)查找和處理后,將數(shù)據(jù)信息以json格式返回給客戶端。這種數(shù)據(jù)交互方法存在一定的缺陷:終端客戶端在與后端進(jìn)行交互時(shí),每次都會(huì)涉及到后端數(shù)據(jù)庫(kù)的操作,加重了后端負(fù)擔(dān),占用了不必要的系統(tǒng)資源;同時(shí),在多個(gè)終端客戶端與后端進(jìn)行交互時(shí),還會(huì)影響后端的響應(yīng)速度。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的主要目的在于提出一種數(shù)據(jù)交互方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),旨在解決終端頻繁訪問后端數(shù)據(jù)庫(kù),后端工作壓力過(guò)大的技術(shù)問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種數(shù)據(jù)交互方法,所述數(shù)據(jù)交互方法應(yīng)用數(shù)據(jù)交互系統(tǒng),所述數(shù)據(jù)交互系統(tǒng)包括服務(wù)器和數(shù)據(jù)存儲(chǔ)層,所述數(shù)據(jù)存儲(chǔ)層包括緩存模塊,所述數(shù)據(jù)交互方法包括以下步驟:所述服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)存儲(chǔ)層中的緩存模塊;所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端??蛇x地,所述服務(wù)器包括網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器,所述緩存模塊包括鍵-值對(duì)存儲(chǔ)redis緩存,所述服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別的步驟包括:所述網(wǎng)絡(luò)代理服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;所述若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)存儲(chǔ)層中的緩存模塊的步驟包括:若所述訪問請(qǐng)求可識(shí)別,則所述網(wǎng)絡(luò)代理服務(wù)器根據(jù)識(shí)別結(jié)果將所述訪問請(qǐng)求存入所述redis緩存的消息隊(duì)列;所述應(yīng)用服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述消息隊(duì)列中訪問請(qǐng)求進(jìn)行處理,并并訪問所述redis緩存??蛇x地,所述數(shù)據(jù)存儲(chǔ)層還包括數(shù)據(jù)庫(kù),所述服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別的步驟之后,還包括:若所述訪問請(qǐng)求不可識(shí)別,則所述服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)庫(kù);所述服務(wù)器在所述數(shù)據(jù)庫(kù)中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端??蛇x地,所述數(shù)據(jù)交互方法還包括:在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)被修改時(shí),所述服務(wù)器對(duì)所述緩存模塊中的數(shù)據(jù)進(jìn)行更新??蛇x地,所述訪問請(qǐng)求包括終端數(shù)據(jù)版本號(hào),所述緩存模塊包括一級(jí)緩存和二級(jí)緩存,所述一級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù)版本號(hào),所述二級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù),所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端的步驟還包括:所述服務(wù)器根據(jù)所述訪問請(qǐng)求中的終端數(shù)據(jù)版本號(hào)和一級(jí)緩存中的緩存數(shù)據(jù)版本號(hào),判斷所述終端中的數(shù)據(jù)是否需要更新;若所述終端中的數(shù)據(jù)需要更新,則在所述二級(jí)緩存中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。此外,為實(shí)現(xiàn)以上目的,本發(fā)明還提供一種數(shù)據(jù)交互系統(tǒng),所述數(shù)據(jù)交互系統(tǒng)包括服務(wù)器和數(shù)據(jù)存儲(chǔ)層,所述數(shù)據(jù)存儲(chǔ)層包括緩存模塊,所述服務(wù)器包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的數(shù)據(jù)交互程序,其中所述數(shù)據(jù)交互程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:所述服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)存儲(chǔ)層中的緩存模塊;所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端??蛇x地,所述服務(wù)器包括網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器,所述緩存模塊包括鍵-值對(duì)存儲(chǔ)redis緩存,所述數(shù)據(jù)交互程序被所述處理器執(zhí)行時(shí),還實(shí)現(xiàn)以下步驟:所述網(wǎng)絡(luò)代理服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述網(wǎng)絡(luò)代理服務(wù)器根據(jù)識(shí)別結(jié)果將所述訪問請(qǐng)求存入所述redis緩存的消息隊(duì)列;所述應(yīng)用服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述消息隊(duì)列中訪問請(qǐng)求進(jìn)行處理,并訪問所述redis緩存??蛇x地,所述數(shù)據(jù)存儲(chǔ)層還包括數(shù)據(jù)庫(kù),所述數(shù)據(jù)交互程序被所述處理器執(zhí)行時(shí),還實(shí)現(xiàn)以下步驟:若所述訪問請(qǐng)求不可識(shí)別,則所述服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)庫(kù);所述服務(wù)器在所述數(shù)據(jù)庫(kù)中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端;在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)被修改時(shí),所述服務(wù)器對(duì)所述緩存模塊中的數(shù)據(jù)進(jìn)行更新??蛇x地,所述訪問請(qǐng)求包括終端數(shù)據(jù)版本號(hào),所述緩存模塊包括一級(jí)緩存和二級(jí)緩存,所述一級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù)版本號(hào),所述二級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù),所述數(shù)據(jù)交互程序被所述處理器執(zhí)行時(shí),還實(shí)現(xiàn)以下步驟:所述服務(wù)器根據(jù)所述訪問請(qǐng)求中的終端數(shù)據(jù)版本號(hào)和一級(jí)緩存中的緩存數(shù)據(jù)版本號(hào),判斷所述終端中的數(shù)據(jù)是否需要更新;若所述終端中的數(shù)據(jù)需要更新,則在所述二級(jí)緩存中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。此外,為實(shí)現(xiàn)以上目的,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有數(shù)據(jù)交互程序,所述數(shù)據(jù)交互程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述的數(shù)據(jù)交互方法的步驟。本發(fā)明通過(guò)服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問數(shù)據(jù)存儲(chǔ)層中的緩存模塊;所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。通過(guò)以上方式,本發(fā)明在用戶終端和數(shù)據(jù)存儲(chǔ)層之間設(shè)置一個(gè)具有訪問請(qǐng)求識(shí)別和分流功能的服務(wù)器,同時(shí)在數(shù)據(jù)庫(kù)之外設(shè)置一個(gè)的緩存模塊;在接收到用戶終端發(fā)送的訪問請(qǐng)求時(shí),通過(guò)該服務(wù)器對(duì)訪問請(qǐng)求進(jìn)行識(shí)別,將可識(shí)別的訪問請(qǐng)求導(dǎo)向該緩存模塊,在緩存模塊中獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù),從而減少后端數(shù)據(jù)庫(kù)實(shí)際響應(yīng)訪問請(qǐng)求的次數(shù),降低了后端的工作壓力,同時(shí)還提高了系統(tǒng)的響應(yīng)速度。附圖說(shuō)明圖1為本發(fā)明實(shí)施例方案中服務(wù)器的硬件結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例方案中與數(shù)據(jù)交互系統(tǒng)進(jìn)行數(shù)據(jù)交互的移動(dòng)終端硬件結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例方案中終端與數(shù)據(jù)交互系統(tǒng)交互的通信網(wǎng)絡(luò)系統(tǒng)架構(gòu)圖;圖4為本發(fā)明數(shù)據(jù)交互方法第一實(shí)施例的流程示意圖;圖5為本發(fā)明數(shù)據(jù)交互方法第一實(shí)施例涉及的數(shù)據(jù)交互示意圖;圖6為本發(fā)明數(shù)據(jù)交互方法第二實(shí)施例的流程示意圖;圖7為本發(fā)明數(shù)據(jù)交互方法第二實(shí)施例涉及的數(shù)據(jù)交互示意圖;圖8為圖4中所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端的細(xì)化流程示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說(shuō)明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。本發(fā)明實(shí)施例涉及的系統(tǒng)架構(gòu)中至少包括服務(wù)器和數(shù)據(jù)存儲(chǔ)層,其中服務(wù)器是本發(fā)明實(shí)施例中數(shù)據(jù)交互系統(tǒng)的處理模塊,數(shù)據(jù)存儲(chǔ)層主要用于存儲(chǔ)數(shù)據(jù)交互系統(tǒng)的業(yè)務(wù)數(shù)據(jù)。本發(fā)明實(shí)施例的服務(wù)器可以是分布式終端組成的服務(wù)器集群,當(dāng)然也可以是集中式的。其中,組成服務(wù)器集群的終端可以包括諸如手機(jī)、平板電腦、筆記本電腦、掌上電腦、個(gè)人數(shù)字助理(personaldigitalassistant,pda)、便捷式媒體播放器(portablemediaplayer,pmp)、導(dǎo)航裝置、可穿戴設(shè)備、智能手環(huán)、計(jì)步器等移動(dòng)終端,以及諸如數(shù)字tv、pc終端等固定終端。后續(xù)描述中將以pc終端作為服務(wù)器進(jìn)行說(shuō)明,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動(dòng)目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于其它類型的終端。參照?qǐng)D1,圖1為本發(fā)明實(shí)施例方案中服務(wù)器的硬件結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例中,以pc終端作為服務(wù)器,pc終端可以包括處理器1001(例如cpu),通信總線1002,用戶接口1003,網(wǎng)絡(luò)接口1004,存儲(chǔ)器1005。其中,通信總線1002用于實(shí)現(xiàn)這些組件之間的連接通信;用戶接口1003可以包括顯示屏(display)、輸入單元比如鍵盤(keyboard);網(wǎng)絡(luò)接口1004可選的可以包括標(biāo)準(zhǔn)的有線接口、無(wú)線接口(如wi-fi接口);存儲(chǔ)器1005可以是高速ram存儲(chǔ)器,也可以是穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如磁盤存儲(chǔ)器,存儲(chǔ)器1005可選的還可以是獨(dú)立于前述處理器1001的存儲(chǔ)裝置。可選地,該pc終端還可以包括攝像頭、rf(radiofrequency,射頻)電路,傳感器、音頻電路、wifi模塊等等。其中,傳感器比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示屏的亮度,接近傳感器可在移動(dòng)終端移動(dòng)到耳邊時(shí),關(guān)閉顯示屏和/或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別移動(dòng)終端姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;當(dāng)然,該終端還可配置陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。本領(lǐng)域技術(shù)人員可以理解,圖1中示出的pc終端結(jié)構(gòu)并不構(gòu)成對(duì)pc終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。繼續(xù)參照?qǐng)D1,圖1中作為一種計(jì)算機(jī)存儲(chǔ)介質(zhì)的存儲(chǔ)器1005可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及數(shù)據(jù)交互程序。在圖1中,網(wǎng)絡(luò)接口1004主要用于連接數(shù)據(jù)存儲(chǔ)層,與數(shù)據(jù)存儲(chǔ)層進(jìn)行數(shù)據(jù)通信;用戶接口1003主要用于連接用戶終端(客戶端),與用戶終端進(jìn)行數(shù)據(jù)通信;而處理器1001可以用于調(diào)用存儲(chǔ)器1005中存儲(chǔ)的數(shù)據(jù)交互程序,并執(zhí)行以下操作:服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)存儲(chǔ)層中的緩存模塊;在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。進(jìn)一步的,處理器1001還可以調(diào)用存儲(chǔ)器1005中存儲(chǔ)的數(shù)據(jù)交互程序,執(zhí)行以下操作:所述網(wǎng)絡(luò)代理服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述網(wǎng)絡(luò)代理服務(wù)器根據(jù)識(shí)別結(jié)果將所述訪問請(qǐng)求存入所述redis緩存的消息隊(duì)列;所述應(yīng)用服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述消息隊(duì)列中訪問請(qǐng)求進(jìn)行處理,并訪問所述redis緩存。進(jìn)一步的,處理器1001還可以調(diào)用存儲(chǔ)器1005中存儲(chǔ)的數(shù)據(jù)交互程序,執(zhí)行以下操作:若所述訪問請(qǐng)求不可識(shí)別,則所述服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問數(shù)據(jù)庫(kù);所述服務(wù)器在所述數(shù)據(jù)庫(kù)中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端;在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)被修改時(shí),所述服務(wù)器對(duì)所述緩存模塊中的數(shù)據(jù)進(jìn)行更新。進(jìn)一步的,處理器1001還可以調(diào)用存儲(chǔ)器1005中存儲(chǔ)的數(shù)據(jù)交互程序,執(zhí)行以下操作:所述服務(wù)器根據(jù)所述訪問請(qǐng)求中的終端數(shù)據(jù)版本號(hào)和一級(jí)緩存中的緩存數(shù)據(jù)版本號(hào),判斷所述終端中的數(shù)據(jù)是否需要更新;若所述終端中的數(shù)據(jù)需要更新,則在所述二級(jí)緩存中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。本發(fā)明實(shí)施例中與數(shù)據(jù)交互系統(tǒng)進(jìn)行數(shù)據(jù)交互的終端可以以各種形式來(lái)實(shí)施,例如,終端可以包括諸如手機(jī)、平板電腦、筆記本電腦、掌上電腦、個(gè)人數(shù)字助理(personaldigitalassistant,pda)、便捷式媒體播放器(portablemediaplayer,pmp)、導(dǎo)航裝置、可穿戴設(shè)備、智能手環(huán)、計(jì)步器等移動(dòng)終端,以及諸如數(shù)字tv、臺(tái)式計(jì)算機(jī)等固定終端。后續(xù)描述中將以移動(dòng)終端為例進(jìn)行說(shuō)明,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動(dòng)目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。請(qǐng)參閱圖2,圖2為本發(fā)明實(shí)施例方案中與數(shù)據(jù)交互系統(tǒng)進(jìn)行數(shù)據(jù)交互的移動(dòng)終端硬件結(jié)構(gòu)示意圖,該移動(dòng)終端100可以包括:rf(radiofrequency,射頻)單元101、wifi模塊102、音頻輸出單元103、a/v(音頻/視頻)輸入單元104、傳感器105、顯示單元106、用戶輸入單元107、接口單元108、存儲(chǔ)器109、處理器110、以及電源111等部件。本領(lǐng)域技術(shù)人員可以理解,圖1中示出的移動(dòng)終端結(jié)構(gòu)并不構(gòu)成對(duì)移動(dòng)終端的限定,移動(dòng)終端可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。下面結(jié)合圖2對(duì)移動(dòng)終端的各個(gè)部件進(jìn)行具體的介紹:射頻單元101可用于收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,具體的,將基站的下行信息接收后,給處理器110處理;另外,將上行的數(shù)據(jù)發(fā)送給基站。通常,射頻單元101包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器、雙工器等。此外,射頻單元101還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于gsm、gprs、cdma2000、wcdma、td-scdma、fdd-lte和tdd-lte等。wifi屬于短距離無(wú)線傳輸技術(shù),移動(dòng)終端通過(guò)wifi模塊102可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問流式媒體等,它為用戶提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問。雖然圖2示出了wifi模塊102,但是可以理解的是,其并不屬于移動(dòng)終端的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。音頻輸出單元103可以在移動(dòng)終端100處于呼叫信號(hào)接收模式、通話模式、記錄模式、語(yǔ)音識(shí)別模式、廣播接收模式等等模式下時(shí),將射頻單元101或wifi模塊102接收的或者在存儲(chǔ)器109中存儲(chǔ)的音頻數(shù)據(jù)轉(zhuǎn)換成音頻信號(hào)并且輸出為聲音。而且,音頻輸出單元103還可以提供與移動(dòng)終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號(hào)接收聲音、消息接收聲音等等)。音頻輸出單元103可以包括揚(yáng)聲器、蜂鳴器等等。a/v輸入單元104用于接收音頻或視頻信號(hào)。a/v輸入單元104可以包括圖形處理器(graphicsprocessingunit,gpu)1041和麥克風(fēng)1042,圖形處理器1041對(duì)在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置(如攝像頭)獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元106上。經(jīng)圖形處理器1041處理后的圖像幀可以存儲(chǔ)在存儲(chǔ)器109(或其它存儲(chǔ)介質(zhì))中或者經(jīng)由射頻單元101或wifi模塊102進(jìn)行發(fā)送。麥克風(fēng)1042可以在電話通話模式、記錄模式、語(yǔ)音識(shí)別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)1042接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語(yǔ)音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由射頻單元101發(fā)送到移動(dòng)通信基站的格式輸出。麥克風(fēng)1042可以實(shí)施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號(hào)的過(guò)程中產(chǎn)生的噪聲或者干擾。移動(dòng)終端100還包括至少一種傳感器105,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板1061的亮度,接近傳感器可在移動(dòng)終端100移動(dòng)到耳邊時(shí),關(guān)閉顯示面板1061和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的指紋傳感器、壓力傳感器、虹膜傳感器、分子傳感器、陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。顯示單元106用于顯示由用戶輸入的信息或提供給用戶的信息。顯示單元106可包括顯示面板1061,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機(jī)發(fā)光二極管(organiclight-emittingdiode,oled)等形式來(lái)配置顯示面板1061。用戶輸入單元107可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與移動(dòng)終端的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,用戶輸入單元107可包括觸控面板1071以及其他輸入設(shè)備1072。觸控面板1071,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1071上或在觸控面板1071附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。觸控面板1071可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器110,并能接收處理器110發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板1071。除了觸控面板1071,用戶輸入單元107還可以包括其他輸入設(shè)備1072。具體地,其他輸入設(shè)備1072可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種,具體此處不做限定。進(jìn)一步的,觸控面板1071可覆蓋顯示面板1061,當(dāng)觸控面板1071檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器110以確定觸摸事件的類型,隨后處理器110根據(jù)觸摸事件的類型在顯示面板1061上提供相應(yīng)的視覺輸出。雖然在圖1中,觸控面板1071與顯示面板1061是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)移動(dòng)終端的輸入和輸出功能,但是在某些實(shí)施例中,可以將觸控面板1071與顯示面板1061集成而實(shí)現(xiàn)移動(dòng)終端的輸入和輸出功能,具體此處不做限定。接口單元108用作至少一個(gè)外部裝置與移動(dòng)終端100連接可以通過(guò)的接口。例如,外部裝置可以包括有線或無(wú)線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無(wú)線數(shù)據(jù)端口、存儲(chǔ)卡端口、用于連接具有識(shí)別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機(jī)端口等等。接口單元108可以用于接收來(lái)自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿?dòng)終端100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在移動(dòng)終端100和外部裝置之間傳輸數(shù)據(jù)。存儲(chǔ)器109可用于存儲(chǔ)軟件程序以及各種數(shù)據(jù)。存儲(chǔ)器109可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器109可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。處理器110是移動(dòng)終端的控制中心,利用各種接口和線路連接整個(gè)移動(dòng)終端的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器109內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器109內(nèi)的數(shù)據(jù),執(zhí)行移動(dòng)終端的各種功能和處理數(shù)據(jù),從而對(duì)移動(dòng)終端進(jìn)行整體監(jiān)控。處理器110可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器110可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器110中。移動(dòng)終端100還可以包括給各個(gè)部件供電的電源111(比如電池),優(yōu)選的,電源111可以通過(guò)電源管理系統(tǒng)與處理器110邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。盡管圖2未示出,移動(dòng)終端100還可以包括藍(lán)牙模塊等,在此不再贅述。為了便于理解本發(fā)明實(shí)施例,下面對(duì)本發(fā)明終端與數(shù)據(jù)交互系統(tǒng)進(jìn)行數(shù)據(jù)通訊所基于的通信網(wǎng)絡(luò)系統(tǒng)進(jìn)行描述。請(qǐng)參閱圖3,圖3為本發(fā)明實(shí)施例中終端與數(shù)據(jù)交互系統(tǒng)的通信網(wǎng)絡(luò)系統(tǒng)架構(gòu)圖,該通信網(wǎng)絡(luò)系統(tǒng)為通用移動(dòng)通信技術(shù)的lte系統(tǒng),該lte系統(tǒng)包括依次通訊連接的ue(userequipment,用戶設(shè)備)201,e-utran(evolvedumtsterrestrialradioaccessnetwork,演進(jìn)式umts陸地?zé)o線接入網(wǎng))202,epc(evolvedpacketcore,演進(jìn)式分組核心網(wǎng))203和運(yùn)營(yíng)商的ip業(yè)務(wù)204。具體地,ue201可以是上述終端100,此處不再贅述。e-utran202包括enodeb2021和其它enodeb2022等。其中,enodeb2021可以通過(guò)回程(backhaul)(例如x2接口)與其它enodeb2022連接,enodeb2021連接到epc203,enodeb2021可以提供ue201到epc203的接入。epc203可以包括mme(mobilitymanagemententity,移動(dòng)性管理實(shí)體)2031,hss(homesubscriberserver,歸屬用戶服務(wù)器)2032,其它mme2033,sgw(servinggateway,服務(wù)網(wǎng)關(guān))2034,pgw(pdngateway,分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān))2035和pcrf(policyandchargingrulesfunction,政策和資費(fèi)功能實(shí)體)2036等。其中,mme2031是處理ue201和epc203之間信令的控制節(jié)點(diǎn),提供承載和連接管理。hss2032用于提供一些寄存器來(lái)管理諸如歸屬位置寄存器(圖中未示)之類的功能,并且保存有一些有關(guān)服務(wù)特征、數(shù)據(jù)速率等用戶專用的信息。所有用戶數(shù)據(jù)都可以通過(guò)sgw2034進(jìn)行發(fā)送,pgw2035可以提供ue201的ip地址分配以及其它功能,pcrf2036是業(yè)務(wù)數(shù)據(jù)流和ip承載資源的策略與計(jì)費(fèi)控制策略決策點(diǎn),它為策略與計(jì)費(fèi)執(zhí)行功能單元(圖中未示)選擇及提供可用的策略和計(jì)費(fèi)控制決策。ip業(yè)務(wù)204可以包括因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、ims(ipmultimediasubsystem,ip多媒體子系統(tǒng))或其它ip業(yè)務(wù)等。雖然上述以lte系統(tǒng)為例進(jìn)行了介紹,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,本發(fā)明不僅僅適用于lte系統(tǒng),也可以適用于其他無(wú)線通信系統(tǒng),例如gsm、cdma2000、wcdma、td-scdma以及未來(lái)新的網(wǎng)絡(luò)系統(tǒng)等,此處不做限定?;谏鲜鰯?shù)據(jù)交互系統(tǒng)和終端硬件結(jié)構(gòu)以及通信網(wǎng)絡(luò)系統(tǒng),提出本發(fā)明數(shù)據(jù)交互方法各個(gè)實(shí)施例。參照?qǐng)D4,圖4為本發(fā)明數(shù)據(jù)交互方法第一實(shí)施例的流程示意圖。本實(shí)施例中,所述數(shù)據(jù)交互方法應(yīng)用數(shù)據(jù)交互系統(tǒng),所述數(shù)據(jù)交互系統(tǒng)包括服務(wù)器和數(shù)據(jù)存儲(chǔ)層,所述數(shù)據(jù)存儲(chǔ)層包括緩存模塊,所述數(shù)據(jù)交互方法包括以下步驟:步驟s401,所述服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;目前的用戶終端與后端的交互基本是終端客戶端發(fā)送一次數(shù)據(jù)訪問請(qǐng)求,后端在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)查找和處理后,將數(shù)據(jù)信息以json格式返回給客戶端。這種數(shù)據(jù)交互方法存在一定的缺陷:終端客戶端在與后端進(jìn)行交互時(shí),每次都會(huì)涉及到后端數(shù)據(jù)庫(kù)的操作,加重了后端負(fù)擔(dān),占用了不必要的系統(tǒng)資源;同時(shí),在多個(gè)終端客戶端與后端進(jìn)行交互時(shí),還會(huì)影響后端的響應(yīng)速度。本實(shí)施例中,考慮到現(xiàn)有數(shù)據(jù)交互方法的缺陷,提出一種數(shù)據(jù)交互方法,該方法在用戶終端和數(shù)據(jù)庫(kù)之間設(shè)置一個(gè)具有訪問請(qǐng)求識(shí)別和分流功能的服務(wù)器,同時(shí)在數(shù)據(jù)庫(kù)之外設(shè)置一個(gè)緩存模塊;在接收到用戶終端發(fā)送的訪問請(qǐng)求時(shí),通過(guò)該服務(wù)器對(duì)訪問請(qǐng)求進(jìn)行識(shí)別,將可識(shí)別的訪問請(qǐng)求導(dǎo)向該緩存模塊,在緩存模塊中獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù),從而減少后端數(shù)據(jù)庫(kù)實(shí)際響應(yīng)訪問請(qǐng)求的次數(shù),降低了后端的工作壓力,同時(shí)還可提高系統(tǒng)的響應(yīng)速度。其中,服務(wù)器主要用于對(duì)用戶終端的訪問請(qǐng)求進(jìn)行處理,并在數(shù)據(jù)存儲(chǔ)層中獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù),再將該數(shù)據(jù)返回業(yè)務(wù)數(shù)據(jù)。而緩存模塊中的緩存數(shù)據(jù)是經(jīng)過(guò)預(yù)處理后才進(jìn)行存儲(chǔ)的,即緩存模塊在存儲(chǔ)數(shù)據(jù)之前,會(huì)先對(duì)數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、壓縮等預(yù)處理,以滿足存儲(chǔ)條件和使用條件,同時(shí)節(jié)約存儲(chǔ)空間。具體的,本實(shí)施例中,用戶在通過(guò)移動(dòng)終端使用客戶端過(guò)程中,點(diǎn)擊某個(gè)業(yè)務(wù)模塊;該移動(dòng)終端則會(huì)根據(jù)用戶的操作,生成對(duì)應(yīng)的處理任務(wù),并根據(jù)該處理任務(wù)向數(shù)據(jù)交互系統(tǒng)的服務(wù)器發(fā)送訪問請(qǐng)求,以獲取相關(guān)的任務(wù)數(shù)據(jù),該任務(wù)數(shù)據(jù)可稱為請(qǐng)求數(shù)據(jù)。在數(shù)據(jù)交互系統(tǒng)的服務(wù)器接收到移動(dòng)終端發(fā)送的訪問請(qǐng)求時(shí),將會(huì)根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)該訪問請(qǐng)求進(jìn)行識(shí)別,這個(gè)識(shí)別過(guò)程主要是為了確定該訪問請(qǐng)求的發(fā)送者是否數(shù)據(jù)交互的權(quán)限,同時(shí)為了判斷該訪問請(qǐng)求所希望獲取的請(qǐng)求數(shù)據(jù)是否存在于緩存模塊中。該識(shí)別過(guò)程可以是這樣實(shí)現(xiàn)的:移動(dòng)終端所發(fā)送的訪問請(qǐng)求中包括請(qǐng)求數(shù)據(jù)的類型和內(nèi)容;服務(wù)器中設(shè)置有緩存數(shù)據(jù)索引,該索引記錄著緩存模塊中所存儲(chǔ)數(shù)據(jù)目錄信息,當(dāng)然該索引還可以包括數(shù)據(jù)大小,格式等信息;服務(wù)器可以根據(jù)該請(qǐng)求數(shù)據(jù)的類型和內(nèi)容和服務(wù)器中的緩存數(shù)據(jù)索引,判斷該請(qǐng)求數(shù)據(jù)是否存在于緩存模塊中;如果服務(wù)器根據(jù)相關(guān)信息判斷該請(qǐng)求數(shù)據(jù)存在于緩存中(即該訪問請(qǐng)求可識(shí)別),則執(zhí)行步驟s20。步驟s402,若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)存儲(chǔ)層中的緩存模塊;本實(shí)施例中,數(shù)據(jù)交互系統(tǒng)中的服務(wù)器對(duì)用戶終端發(fā)送的訪問請(qǐng)求進(jìn)行分析后,判斷該訪問請(qǐng)求所希望獲取的請(qǐng)求數(shù)據(jù)在緩存數(shù)據(jù)索引中,則認(rèn)為該訪問請(qǐng)求可識(shí)別;此時(shí)服務(wù)器將會(huì)根據(jù)該結(jié)果開啟對(duì)應(yīng)的線程對(duì)該訪問請(qǐng)求進(jìn)行處理,并根據(jù)服務(wù)器的索引信息訪問數(shù)據(jù)存儲(chǔ)層中的緩存模塊,在緩存模塊中查找需要的請(qǐng)求數(shù)據(jù)。其中開啟的線程數(shù),可以根據(jù)請(qǐng)求數(shù)據(jù)的量進(jìn)行設(shè)置,在請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量越大時(shí),可開啟更多的線程數(shù)進(jìn)行處理,從而提高系統(tǒng)的處理速度。進(jìn)一步的,緩存模塊可以包括基于鍵-值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)redis設(shè)計(jì)的redis緩存,其中redis是一個(gè)開源的使用ansic語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的api。它支持存儲(chǔ)的value類型相對(duì)更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sortedset--有序集合)和hash(哈希類型);而這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的;在此基礎(chǔ)上,redis還支持各種不同方式的排序。redis還支持主從同步,數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得redis可執(zhí)行單層樹復(fù)制。存盤可以有意無(wú)意的對(duì)數(shù)據(jù)進(jìn)行寫操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫(kù)在任何地方同步樹時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄,而同步對(duì)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。本實(shí)施例的redis緩存中,預(yù)先存儲(chǔ)有經(jīng)過(guò)一定預(yù)處理、并以一定格式保存的業(yè)務(wù)數(shù)據(jù)。而對(duì)于數(shù)據(jù)交互系統(tǒng)中的服務(wù)器,還可以包括網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器兩個(gè)部分。參照?qǐng)D5,圖5為本發(fā)明數(shù)據(jù)交互方法第一實(shí)施例涉及的數(shù)據(jù)交互示意圖。其中網(wǎng)絡(luò)代理服務(wù)器主要負(fù)責(zé)接收終端發(fā)送的訪問請(qǐng)求,并根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;應(yīng)用服務(wù)器則負(fù)責(zé)根據(jù)網(wǎng)絡(luò)代理服務(wù)器的識(shí)別結(jié)果對(duì)訪問請(qǐng)求進(jìn)行處理。具體的,網(wǎng)絡(luò)代理服務(wù)器可以采用nginx服務(wù)器,nginx是一個(gè)高性能的http和反向代理服務(wù)器,nginx服務(wù)器可以在不停止服務(wù)的情況下進(jìn)行修改配置文件、更換日志文件等操作,實(shí)現(xiàn)熱部署,在不影響使用的前提下方便工作人員根據(jù)用戶使用情況和redis緩存變動(dòng)情況及時(shí)修改預(yù)設(shè)識(shí)別規(guī)則;同時(shí),nginx服務(wù)器內(nèi)存消耗低,可以支持高并發(fā)連接,在用戶終端訪問量大時(shí),能最大限度的滿足訪問需求,提高整個(gè)系統(tǒng)的響應(yīng)速度;此外,nginx服務(wù)器還具有可靠性高,配置方便等優(yōu)點(diǎn)。當(dāng)然,網(wǎng)絡(luò)代理服務(wù)器還可以采用其它方式進(jìn)行設(shè)置。而對(duì)于應(yīng)用服務(wù)器可以采用tomcat服務(wù)器,tomcat服務(wù)器是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,其安全性高,支持servlet2.5和jsp2.1等特性。而應(yīng)用服務(wù)器的tomcat服務(wù)器又包括兩部分,一部分負(fù)責(zé)提供相關(guān)的接口訪問數(shù)據(jù)存儲(chǔ)層,另一部分負(fù)責(zé)收集各服務(wù)器的信息以對(duì)后臺(tái)進(jìn)行管理。當(dāng)然應(yīng)用服務(wù)器也可以采用其它方式進(jìn)行設(shè)置。再進(jìn)一步的,對(duì)于服務(wù)器與數(shù)據(jù)存儲(chǔ)層的交互,還可以基于生產(chǎn)者/消費(fèi)者模式設(shè)置消息隊(duì)列,以對(duì)訪問請(qǐng)求進(jìn)行處理。其中,生產(chǎn)者/消費(fèi)者模式指在數(shù)據(jù)生產(chǎn)模塊和數(shù)據(jù)處理模塊之間設(shè)置一個(gè)緩沖區(qū)作為中介,數(shù)據(jù)處理模塊將數(shù)據(jù)放入緩沖區(qū),而數(shù)據(jù)處理模塊從緩沖區(qū)取出數(shù)據(jù)進(jìn)行處理?;谠撍悸?,本實(shí)施例中設(shè)置有基于redis的消息隊(duì)列,用于存放待處理的訪問請(qǐng)求;在網(wǎng)絡(luò)代理服務(wù)器判斷用戶終端發(fā)送的訪問請(qǐng)求可識(shí)別時(shí),將該訪問請(qǐng)求存入該消息隊(duì)列中,而應(yīng)用服務(wù)器則開啟對(duì)應(yīng)的線程對(duì)消息隊(duì)列中的訪問請(qǐng)求進(jìn)行處理。通過(guò)采用消息隊(duì)列和生產(chǎn)者/消費(fèi)者模式,可支持系統(tǒng)并發(fā),即網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器可以看作兩個(gè)獨(dú)立的并發(fā)主體,網(wǎng)絡(luò)代理服務(wù)器在接收到用戶終端發(fā)送的訪問請(qǐng)求時(shí),若該訪問請(qǐng)求可識(shí)別,只需要將該訪問請(qǐng)求存入消息隊(duì)列,就可以再次去接收另一個(gè)的訪問請(qǐng)求,而無(wú)需等待應(yīng)用服務(wù)器的處理過(guò)程;同時(shí)這種處理模式還可以實(shí)現(xiàn)網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器的解耦,降低兩者的直接依賴性,方便工作人員進(jìn)行相關(guān)維護(hù)。步驟s403,所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。本實(shí)施例中,服務(wù)器將根據(jù)訪問請(qǐng)求和緩存數(shù)據(jù)的索引信息在緩存模塊中查找對(duì)應(yīng)的請(qǐng)求數(shù)據(jù);在獲取到該訪問請(qǐng)求所需要的請(qǐng)求數(shù)據(jù)時(shí),服務(wù)器會(huì)將該請(qǐng)求數(shù)據(jù)返回發(fā)送訪問請(qǐng)求的用戶終端。當(dāng)然,在將請(qǐng)求數(shù)據(jù)返回之前,還可以根據(jù)實(shí)際使用情況將該請(qǐng)求數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,以方便用戶終端對(duì)該請(qǐng)求數(shù)據(jù)進(jìn)行解析;在將請(qǐng)求數(shù)據(jù)返回之前,還可以將請(qǐng)求數(shù)據(jù)打包壓縮,減小傳輸數(shù)據(jù)的體積,提高傳輸?shù)乃俣龋辉趯⒄?qǐng)求數(shù)據(jù)返回之前,還可以先對(duì)請(qǐng)求數(shù)據(jù)進(jìn)行加密操作,避免傳輸過(guò)程請(qǐng)求數(shù)據(jù)被第三方截獲或丟失時(shí)造成的隱私泄露。在具體實(shí)施中,還可以定義一個(gè)應(yīng)用層,在本實(shí)施例中的步驟s10、s20都是由服務(wù)器在該應(yīng)用層中完成的;該應(yīng)用層又可分為網(wǎng)絡(luò)代理層和應(yīng)用服務(wù)器層,分別對(duì)應(yīng)網(wǎng)絡(luò)代理服務(wù)器和應(yīng)用服務(wù)器及各自的步驟實(shí)現(xiàn)過(guò)程。本實(shí)施例中,通過(guò)服務(wù)器在接收到終端發(fā)送的訪問請(qǐng)求時(shí),根據(jù)預(yù)設(shè)識(shí)別規(guī)則對(duì)所述訪問請(qǐng)求進(jìn)行識(shí)別;若所述訪問請(qǐng)求可識(shí)別,則所述服務(wù)器根據(jù)識(shí)別結(jié)果開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問數(shù)據(jù)存儲(chǔ)層中的緩存模塊;所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。通過(guò)以上方式,本實(shí)施例在用戶終端和數(shù)據(jù)存儲(chǔ)層之間設(shè)置一個(gè)具有訪問請(qǐng)求識(shí)別和分流功能的服務(wù)器,同時(shí)在數(shù)據(jù)庫(kù)之外設(shè)置一個(gè)緩存模塊;在接收到用戶終端發(fā)送的訪問請(qǐng)求時(shí),通過(guò)該服務(wù)器對(duì)訪問請(qǐng)求進(jìn)行識(shí)別,將可識(shí)別的訪問請(qǐng)求導(dǎo)向該緩存模塊,在緩存模塊中獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù),從而減少后端數(shù)據(jù)庫(kù)實(shí)際響應(yīng)訪問請(qǐng)求的次數(shù),降低了后端的工作壓力,同時(shí)還提高了系統(tǒng)的響應(yīng)速度。參照?qǐng)D6,圖6為本發(fā)明數(shù)據(jù)交互方法第二實(shí)施例的流程示意圖?;谏鲜鰣D4所示實(shí)施例,本實(shí)施例中數(shù)據(jù)交互方法包括:步驟s601,與上述實(shí)施例圖4步驟s401相同,具體如上所述,此處不再贅述。步驟s602,與上述實(shí)施例圖4步驟s402相同,具體如上所述,此處不再贅述。步驟s603,與上述實(shí)施例圖4步驟s403相同,具體如上所述,此處不再贅述。步驟s604,若所述訪問請(qǐng)求不可識(shí)別,則所述服務(wù)器開啟對(duì)應(yīng)的線程對(duì)所述訪問請(qǐng)求進(jìn)行處理,并訪問所述數(shù)據(jù)庫(kù);本實(shí)施例中,數(shù)據(jù)交互系統(tǒng)的數(shù)據(jù)存儲(chǔ)層還包括數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中存儲(chǔ)有數(shù)據(jù)交互系統(tǒng)的所有業(yè)務(wù)數(shù)據(jù);緩存模塊中的業(yè)務(wù)數(shù)據(jù)在該數(shù)據(jù)庫(kù)中均可找到其數(shù)據(jù)原型;該數(shù)據(jù)庫(kù)中還存儲(chǔ)有緩存模塊中所未存儲(chǔ)的數(shù)據(jù),即緩存模塊的數(shù)據(jù)僅是數(shù)據(jù)庫(kù)的一部分。對(duì)于數(shù)據(jù)庫(kù)的具體設(shè)置方式,可以是將mongodb數(shù)據(jù)庫(kù)和mysql數(shù)據(jù)庫(kù)組合使用,其中,mongodb數(shù)據(jù)庫(kù)主要用于存儲(chǔ)大數(shù)據(jù),mysql數(shù)據(jù)庫(kù)用于存儲(chǔ)關(guān)系型基礎(chǔ)數(shù)據(jù)。具體的,可參照?qǐng)D7,圖7為本發(fā)明數(shù)據(jù)交互方法第二實(shí)施例涉及的數(shù)據(jù)交互示意圖。本實(shí)施例中,在用戶終端與數(shù)據(jù)交互系統(tǒng)的數(shù)據(jù)交互過(guò)程中,服務(wù)器對(duì)用戶終端發(fā)送的訪問請(qǐng)求進(jìn)行分析后,未在緩存數(shù)據(jù)索引找到訪問請(qǐng)求所希望獲取的請(qǐng)求數(shù)據(jù)信息,即該請(qǐng)求數(shù)據(jù)并未存儲(chǔ)于緩存模塊中,則服務(wù)器認(rèn)為該訪問請(qǐng)求不可識(shí)別。此時(shí)服務(wù)器將開啟對(duì)應(yīng)的線程對(duì)該訪問請(qǐng)求進(jìn)行處理,并訪問數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中查找需要的請(qǐng)求數(shù)據(jù)。步驟s605,所述服務(wù)器在所述數(shù)據(jù)庫(kù)中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。本實(shí)施例中,服務(wù)器在數(shù)據(jù)庫(kù)中獲取到該訪問請(qǐng)求所需要的請(qǐng)求數(shù)據(jù)時(shí),服務(wù)器會(huì)將該請(qǐng)求數(shù)據(jù)返回發(fā)送訪問請(qǐng)求的用戶終端。進(jìn)一步的,在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)被修改時(shí),服務(wù)器還將對(duì)所述緩存模塊中的數(shù)據(jù)進(jìn)行更新,保證數(shù)據(jù)庫(kù)和緩存模塊中數(shù)據(jù)的同步性,避免緩存模塊返回過(guò)期數(shù)據(jù)導(dǎo)致的業(yè)務(wù)功能異常。本實(shí)施例中,若訪問請(qǐng)求的請(qǐng)求數(shù)據(jù)不存在于緩存模塊時(shí),系統(tǒng)會(huì)在數(shù)據(jù)庫(kù)中獲取相關(guān)的請(qǐng)求數(shù)據(jù),保證用戶終端的訪問請(qǐng)求能夠得到處理,及時(shí)返回相應(yīng)的請(qǐng)求數(shù)據(jù)以支持終端的正常運(yùn)行。參照?qǐng)D8,圖8為圖4中所述服務(wù)器在所述緩存模塊中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端的細(xì)化流程示意圖?;谏鲜鰣D4所示實(shí)施例,本實(shí)施例中數(shù)據(jù)交互方法包括:步驟s801,與上述實(shí)施例圖4步驟s401相同,具體如上所述,此處不再贅述。步驟s802,與上述實(shí)施例圖4步驟s402相同,具體如上所述,此處不再贅述。步驟s803,所述服務(wù)器根據(jù)所述訪問請(qǐng)求中的終端數(shù)據(jù)版本號(hào)和一級(jí)緩存中的緩存數(shù)據(jù)版本號(hào),判斷所述終端中的數(shù)據(jù)是否需要更新;步驟s804,若所述終端中的數(shù)據(jù)需要更新,則在所述二級(jí)緩存中獲取與所述訪問請(qǐng)求對(duì)應(yīng)的請(qǐng)求數(shù)據(jù),并將所述請(qǐng)求數(shù)據(jù)返回所述終端。本實(shí)施例中,緩存模塊包括一級(jí)緩存和二級(jí)緩存。其中一級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù)的版本號(hào),二級(jí)緩存用于存儲(chǔ)緩存數(shù)據(jù)本身。在終端發(fā)送訪問請(qǐng)求時(shí),該訪問請(qǐng)求中包括終端中的數(shù)據(jù)版本號(hào);服務(wù)器在緩存模塊中查找對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)時(shí),會(huì)先將該終端數(shù)據(jù)版本號(hào)與一級(jí)緩存中的緩存數(shù)據(jù)版本號(hào)進(jìn)行比較,判斷終端數(shù)據(jù)是否需要更新;若兩者版本號(hào)一致,則終端數(shù)據(jù)無(wú)需更新;若終端數(shù)據(jù)版本號(hào)低于緩存數(shù)據(jù)版本號(hào),則繼續(xù)查找二級(jí)緩存以獲取對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)。以獲取頻道列表為例,用戶終端中存在視頻播放客戶端,視頻播放客戶端中存有原始節(jié)目信息;而在數(shù)據(jù)交互系統(tǒng)的緩存模塊中,則存在兩級(jí)緩存,一級(jí)緩存存儲(chǔ)有當(dāng)前客戶端數(shù)據(jù)版本號(hào),二級(jí)緩存存儲(chǔ)有已經(jīng)被處理過(guò)可以直接返回給客戶端的節(jié)目信息json文檔;用戶在啟動(dòng)視頻播放客戶端時(shí),終端將向服務(wù)器發(fā)送訪問請(qǐng)求,以獲取節(jié)目信息,該請(qǐng)求中包括終端的客戶端數(shù)據(jù)版本號(hào);當(dāng)服務(wù)器在緩存模塊中查找對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)時(shí),會(huì)在一級(jí)緩存中將兩者的數(shù)據(jù)版本號(hào)進(jìn)行比較,如果二者一致說(shuō)明客戶端本地?cái)?shù)據(jù)與系統(tǒng)的一致,則返回空數(shù)據(jù),客戶端也就不會(huì)做更新;否則直接返回緩存模塊中已處理好的節(jié)目信息json文檔,從而避免了數(shù)據(jù)庫(kù)中一系列邏輯處理。本發(fā)明還提供一種數(shù)據(jù)交互系統(tǒng)。本發(fā)明數(shù)據(jù)交互系統(tǒng)包括服務(wù)器和數(shù)據(jù)存儲(chǔ)層,所述數(shù)據(jù)存儲(chǔ)層包括緩存模塊,所述服務(wù)器包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的數(shù)據(jù)交互程序,其中所述數(shù)據(jù)交互程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述數(shù)據(jù)交互方法的步驟。其中,所述數(shù)據(jù)交互程序被執(zhí)行時(shí)所實(shí)現(xiàn)的方法可參照本發(fā)明數(shù)據(jù)交互方法各個(gè)實(shí)施例,此處不再贅述。本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。本發(fā)明計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有數(shù)據(jù)交互程序,所述數(shù)據(jù)交互程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的數(shù)據(jù)交互方法的步驟。其中,所述數(shù)據(jù)交互程序被執(zhí)行時(shí)所實(shí)現(xiàn)的方法可參照本發(fā)明數(shù)據(jù)交互方法各個(gè)實(shí)施例,此處不再贅述。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的
技術(shù)領(lǐng)域:
:,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12