一種數(shù)據(jù)訪問(wèn)方法、系統(tǒng)及客戶(hù)端和服務(wù)器的制造方法
【專(zhuān)利摘要】本發(fā)明涉及通信技術(shù)領(lǐng)域,公開(kāi)了一種數(shù)據(jù)訪問(wèn)方法、系統(tǒng)及客戶(hù)端和服務(wù)器。本發(fā)明中公開(kāi)了一種數(shù)據(jù)訪問(wèn)方法,包括:客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;客戶(hù)端在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址,并根據(jù)查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。本發(fā)明中還公開(kāi)了一種數(shù)據(jù)訪問(wèn)方法、一種客戶(hù)端、一種服務(wù)器以及一種數(shù)據(jù)訪問(wèn)系統(tǒng)。本發(fā)明實(shí)施方式實(shí)現(xiàn)了在不改變當(dāng)前程序版本信息情況下,成功獲取當(dāng)前程序最新版本中的最新數(shù)據(jù)信息,極大地提高了用戶(hù)操作體驗(yàn),簡(jiǎn)化了客戶(hù)端獲取最新數(shù)據(jù)方式的復(fù)雜度。
【專(zhuān)利說(shuō)明】
一種數(shù)據(jù)訪問(wèn)方法、系統(tǒng)及客戶(hù)端和服務(wù)器
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)訪問(wèn)技術(shù)。
【背景技術(shù)】
[0002]如今的信息社會(huì),計(jì)算機(jī)被廣泛使用,已經(jīng)進(jìn)入千家萬(wàn)戶(hù),人們所處的客戶(hù)端,更是頻繁的與計(jì)算機(jī)進(jìn)行交流,因此,信息交互已經(jīng)在交互技術(shù)中起到了舉足輕重的地位。為了達(dá)到更好的交互,人們已經(jīng)經(jīng)歷了很久的探究,人機(jī)交互技術(shù)也在不斷的成熟,交互設(shè)備、工作方式、實(shí)現(xiàn)方法等也得到了不斷的完善,一個(gè)好的用戶(hù)接口系統(tǒng),更是可以給用戶(hù)帶來(lái)許多方便,大大提高交互的效率。
[0003]當(dāng)前的交互式用戶(hù)接口可以通過(guò)數(shù)據(jù)表格驅(qū)動(dòng)的方法來(lái)實(shí)現(xiàn),它是預(yù)先設(shè)計(jì)好控制程序,在用戶(hù)所處的客戶(hù)端,需要時(shí)提出來(lái)使用,這些預(yù)先設(shè)計(jì)好的控制程序就可以組成一個(gè)集合,在需要使用之時(shí)將其調(diào)動(dòng)出來(lái),而對(duì)于移動(dòng)端的開(kāi)發(fā),可以基于應(yīng)用程序編程接口(Applicat1n Programming Interface,簡(jiǎn)稱(chēng)“API”)開(kāi)發(fā)。當(dāng)前用戶(hù)的數(shù)據(jù)獲取,都是根據(jù)移動(dòng)電子設(shè)備當(dāng)前版本上的信息進(jìn)行獲取,如果用戶(hù)想獲取更新后的數(shù)據(jù),就需要重新下載并安裝新的應(yīng)用軟件版本,從而基于新的應(yīng)用軟件版本獲取更新后的數(shù)據(jù),這就會(huì)大大降低用戶(hù)的操作便捷度,增加了應(yīng)用軟件版本更新后數(shù)據(jù)獲取方式的復(fù)雜度。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)訪問(wèn)方法、系統(tǒng)及客戶(hù)端和服務(wù)器,使得在不改變當(dāng)前程序版本信息情況下,獲取當(dāng)前程序最新版本中的數(shù)據(jù)信息,簡(jiǎn)化了客戶(hù)端應(yīng)用程序中最新數(shù)據(jù)獲取方式的復(fù)雜度,提高了用戶(hù)操作體驗(yàn)。
[0005]為解決上述技術(shù)問(wèn)題,本發(fā)明的實(shí)施方式提供了一種數(shù)據(jù)訪問(wèn)方法,包含以下步驟:
[0006]客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;
[0007]客戶(hù)端在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址,并根據(jù)查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。
[0008]本發(fā)明的實(shí)施方式還提供了一種數(shù)據(jù)訪問(wèn)方法,包含:
[0009]服務(wù)器端預(yù)先保存有接口列表,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;
[0010]當(dāng)服務(wù)器端保存的接口列表需要更新時(shí),更新該接口列表;
[0011]當(dāng)服務(wù)器端接收到來(lái)自客戶(hù)端的接口列表的更新請(qǐng)求時(shí),根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表,如果存在,則向該客戶(hù)端返回更新的接口列表,供客戶(hù)端通過(guò)該更新的接口列表訪問(wèn)數(shù)據(jù)。
[0012]本發(fā)明的實(shí)施方式還提供了一種客戶(hù)端,包括:
[0013]請(qǐng)求模塊,用于定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;
[0014]查詢(xún)模塊,用于在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址;
[0015]訪問(wèn)模塊,用于根據(jù)查詢(xún)模塊查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。
[0016]本發(fā)明的實(shí)施方式還提供了一種服務(wù)器,包括:
[0017]存儲(chǔ)模塊,用于保存接口列表,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;
[0018]更新模塊,用于在保存的接口列表需要更新時(shí),更新該接口列表;
[0019]檢測(cè)模塊,用于在接收到來(lái)自客戶(hù)端的接口列表的更新請(qǐng)求時(shí),根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表;
[0020]響應(yīng)模塊,用于在檢測(cè)模塊判定存在需更新的接口列表時(shí),向客戶(hù)端返回更新的接口列表,供客戶(hù)端通過(guò)該更新的接口列表訪問(wèn)數(shù)據(jù)。
[0021 ]本發(fā)明的實(shí)施方式還提供了一種數(shù)據(jù)訪問(wèn)系統(tǒng),包括:
[0022]包含有請(qǐng)求模塊、查詢(xún)模塊和訪問(wèn)模塊的客戶(hù)端,和包含有存儲(chǔ)模塊、更新模塊、檢測(cè)模塊和響應(yīng)模塊的服務(wù)器。
[0023]本發(fā)明實(shí)施方式相對(duì)于現(xiàn)有技術(shù)而言,客戶(hù)端定期向服務(wù)器請(qǐng)求更新接口列表,接口列表中保存各接口的唯一標(biāo)示和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,將請(qǐng)求到的當(dāng)前最新接口列表保存在本地客戶(hù)端,客戶(hù)端在需要通過(guò)接口訪問(wèn)最新數(shù)據(jù)時(shí),不用請(qǐng)求服務(wù)器端獲取更新的程序版本,只需在已保存到本地客戶(hù)端中的最新接口列表中,根據(jù)接口的標(biāo)識(shí),查找該標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,根據(jù)該數(shù)據(jù)訪問(wèn)地址,直接訪問(wèn)最新的數(shù)據(jù),無(wú)需通過(guò)服務(wù)器下載最新版本的程序,并在最新版本的程序上獲取最新數(shù)據(jù),簡(jiǎn)化了客戶(hù)端獲取最新數(shù)據(jù)的操作步驟復(fù)雜度,提高了用戶(hù)操作體驗(yàn)。
[0024]另外,在根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址中,具體包括:在最近獲取的更新的接口列表中,查找與接口的標(biāo)識(shí)相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址;如果未能成功查找到相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則在客戶(hù)端發(fā)版時(shí)保存的接口列表中,查找與接口的標(biāo)識(shí)相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址。如果客戶(hù)端在更新的接口列表中查找到對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則可獲取最新的數(shù)據(jù)的訪問(wèn)地址,若沒(méi)有在更新的接口列表中查找到對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則在客戶(hù)端已保存的接口列表中,查找接口標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,保證無(wú)論在什么情況下,客戶(hù)端都能獲取到相應(yīng)的數(shù)據(jù)訪問(wèn)地址,確保數(shù)據(jù)訪問(wèn)操作可以順利進(jìn)行。
[0025]另外,客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表中,具體包括:客戶(hù)端定期地向服務(wù)器端發(fā)送接口列表更新消息,接口列表更新消息中攜帶有客戶(hù)端當(dāng)前保存的接口列表的版本號(hào);客戶(hù)端接收來(lái)自服務(wù)器端的對(duì)接口列表更新消息的響應(yīng),如果響應(yīng)中攜帶有更新的接口列表和版本號(hào),則保存更新的接口列表,并將本地保存的接口列表的版本號(hào)更新為該響應(yīng)中攜帶的版本號(hào)。服務(wù)器端解析客戶(hù)端當(dāng)前版本號(hào)并進(jìn)行版本信息的對(duì)比,發(fā)送相應(yīng)的客戶(hù)端響應(yīng)消息,通過(guò)在接口列表更新消息中攜帶客戶(hù)端當(dāng)前保存的接口列表的版本,并在更新接口列表時(shí)更新該接口列表的版本號(hào),使得服務(wù)器可利用版本號(hào)的對(duì)比,即可檢測(cè)出當(dāng)前保存在客戶(hù)端的接口列表是否為最新的接口列表,簡(jiǎn)化了服務(wù)器端的操作,保證了本發(fā)明實(shí)施方式的可行性。
[0026]另外,在客戶(hù)端每向服務(wù)器端發(fā)送N次接口列表更新消息后,根據(jù)N次收到的對(duì)接口列表更新消息的響應(yīng),調(diào)整接口列表更新消息的發(fā)送周期;N為大于I的自然數(shù);其中,如果攜帶有更新的接口列表和版本號(hào)的響應(yīng),在N次響應(yīng)中的比例,大于預(yù)設(shè)值,則減小發(fā)送周期。如果攜帶有更新的接口列表和版本號(hào)的響應(yīng),在N次響應(yīng)中的比例,大于預(yù)設(shè)值,說(shuō)明服務(wù)器端更新列表信息和版本號(hào)的頻率,相對(duì)客戶(hù)端發(fā)送接口列表更新請(qǐng)求的頻率較快,因此,需要更加頻繁的發(fā)送請(qǐng)求消息,以便及時(shí)獲取到服務(wù)器端最新的列表信息和版本號(hào)。
[0027]另外,接口列表為應(yīng)用程序編程接口API列表。應(yīng)用程序編程接口API可以提供基于某軟件或硬件得以訪問(wèn)一組函數(shù)或服務(wù)的能力,并且不需要訪問(wèn)源碼或是了解內(nèi)部工作機(jī)制,使得該數(shù)據(jù)訪問(wèn)方法的數(shù)據(jù)訪問(wèn)過(guò)程簡(jiǎn)單,并且可移植性較強(qiáng)。
【附圖說(shuō)明】
[0028]圖1是根據(jù)本發(fā)明第一實(shí)施方式中客戶(hù)端獲取更新的接口列表的交互流程圖;
[0029]圖2是根據(jù)本發(fā)明第一實(shí)施方式的一種數(shù)據(jù)訪問(wèn)方法的流程圖;
[0030]圖3是根據(jù)本發(fā)明第三實(shí)施方式的一種數(shù)據(jù)訪問(wèn)系統(tǒng)的結(jié)構(gòu)示意圖;
[0031 ]圖4是根據(jù)本發(fā)明第四實(shí)施方式的一種客戶(hù)端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的各實(shí)施方式進(jìn)行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實(shí)施方式中,為了使讀者更好地理解本申請(qǐng)而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒(méi)有這些技術(shù)細(xì)節(jié)和基于以下各實(shí)施方式的種種變化和修改,也可以實(shí)現(xiàn)本申請(qǐng)所要求保護(hù)的技術(shù)方案。
[0033]本發(fā)明的第一實(shí)施方式涉及一種數(shù)據(jù)訪問(wèn)方法。在本實(shí)施方式中,在客戶(hù)端與服務(wù)器端內(nèi),預(yù)先保存有接口列表和版本信息,客戶(hù)端會(huì)向服務(wù)器端請(qǐng)求更新接口列表,并進(jìn)行客戶(hù)端接口列表的更新,具體交互流程如圖1所示。
[0034]步驟101中,客戶(hù)端保存接口列表和版本號(hào)。具體地說(shuō),客戶(hù)端保存有發(fā)版時(shí)的接口列表和相應(yīng)的版本號(hào)。接口列表中可以保存多個(gè)API,每個(gè)接口設(shè)有唯一的標(biāo)識(shí)(key)和該標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址(value值),例如,一個(gè)請(qǐng)求消息的接口 API,客戶(hù)端和服務(wù)器端為該請(qǐng)求消息的接口設(shè)定一個(gè)標(biāo)識(shí)key,key值的內(nèi)容可以為信息(me s sage ),在接口列表中查找相同的key值,如果找到了相同的key,則獲取接口列表中key對(duì)應(yīng)的value,value值是數(shù)據(jù)訪問(wèn)的一個(gè)地址,通過(guò)該value值,可以進(jìn)行數(shù)據(jù)訪問(wèn)。
[0035]步驟102中,服務(wù)器端保存接口列表和版本號(hào)。具體地說(shuō),服務(wù)器端預(yù)先保存一個(gè)接口列表,該接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,當(dāng)服務(wù)器端保存的接口列表需要更新時(shí),更新該接口列表。并且服務(wù)器端預(yù)先保存一個(gè)版本號(hào)(此版本號(hào)與客戶(hù)端中預(yù)先保存的接口列表的版本號(hào)相同),在服務(wù)器端更新接口列表時(shí),同時(shí)更新接口列表的版本號(hào)。服務(wù)器端預(yù)先保存的接口列表是發(fā)版時(shí)的接口列表,并且預(yù)先保存的版本號(hào)也是發(fā)版時(shí)的版本號(hào),在有新的接口列表發(fā)布時(shí),服務(wù)器中已保存的接口列表會(huì)被更新,并且版本號(hào)也會(huì)同步更新,比如,版本號(hào)會(huì)被加一,作為更新后的版本號(hào)。
[0036]需要說(shuō)明的是,步驟101與步驟102沒(méi)有執(zhí)行上的先后順序,可以首先執(zhí)行步驟102,再執(zhí)行步驟101,反之亦可。
[0037]在步驟103中,客戶(hù)端向服務(wù)器端發(fā)送請(qǐng)求更新接口列表消息。具體地說(shuō),客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表。其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,并且客戶(hù)端向服務(wù)器端發(fā)送的請(qǐng)求更新列表消息中攜帶有客戶(hù)端已存的最新接口列表所對(duì)應(yīng)的版本號(hào)。本實(shí)施例中,客戶(hù)端向服務(wù)器端發(fā)送的請(qǐng)求更新接口列表消息是定期發(fā)送的,即周期發(fā)送該請(qǐng)求消息,周期時(shí)長(zhǎng)是預(yù)先設(shè)好的,每經(jīng)過(guò)了預(yù)先設(shè)好的時(shí)長(zhǎng),客戶(hù)端就會(huì)向服務(wù)器端發(fā)送帶有版本號(hào)的請(qǐng)求更新消息,其中,周期時(shí)長(zhǎng)可以由用戶(hù)錄入,用戶(hù)可以自由的改變?cè)撝芷跁r(shí)長(zhǎng)的長(zhǎng)短。
[0038]步驟104中,服務(wù)器端獲取更新請(qǐng)求中的版本號(hào)。具體地說(shuō),客戶(hù)端發(fā)送的請(qǐng)求更新消息中,攜帶有客戶(hù)端現(xiàn)存的接口列表的版本號(hào),服務(wù)器端要在接收到的客戶(hù)端請(qǐng)求消息中解析出該版本號(hào)。
[0039]步驟105中,服務(wù)器端對(duì)比版本號(hào)信息。具體地說(shuō),服務(wù)器端獲取攜帶在更新請(qǐng)求中的接口列表的版本號(hào)后;將獲取的該版本號(hào)與服務(wù)器中已存的最新接口列表的版本號(hào)進(jìn)行比較,由于服務(wù)器端會(huì)預(yù)存發(fā)版的接口列表版本號(hào),每當(dāng)有新的接口列表版本更新時(shí),已存的接口列表版本號(hào)都會(huì)加一,因此,通過(guò)對(duì)比版本號(hào)的值,服務(wù)器端就可以判斷客戶(hù)端現(xiàn)存的接口列表是否為與服務(wù)器端一致的最近版本的接口列表。如果獲取的版本號(hào),與服務(wù)器端內(nèi)當(dāng)前保存的版本號(hào)不一致,則判定存在需更新的接口列表。如果獲取的版本號(hào),與服務(wù)器端內(nèi)當(dāng)前保存的版本號(hào)一致,則說(shuō)明不需要更新接口列表。由此可見(jiàn),只需通過(guò)版本號(hào)是否一致的判斷,就可以準(zhǔn)確判斷客戶(hù)端的接口列表是否需要更新。
[0040]步驟106中,服務(wù)器端向客戶(hù)端發(fā)送客戶(hù)端請(qǐng)求的響應(yīng)消息。具體地說(shuō),如果在步驟105中,判定客戶(hù)端不需要更新接口列表,則服務(wù)器端向客戶(hù)端發(fā)送的響應(yīng)消息中不包含任何的接口列表以及版本號(hào)信息。如果判定結(jié)果為客戶(hù)端需要更新接口列表,則服務(wù)器端向客戶(hù)端發(fā)送的響應(yīng)消息中,攜帶服務(wù)器端最近一次更新的接口列表和該接口列表的版本號(hào)。
[0041]步驟107中,客戶(hù)端更新接口列表和版本號(hào)。具體地說(shuō),客戶(hù)端接收來(lái)自服務(wù)器端的對(duì)接口列表更新消息的響應(yīng),如果響應(yīng)中攜帶有更新的接口列表和版本號(hào),則保存更新的接口列表,并將本地保存的接口列表的版本號(hào)更新為該響應(yīng)中攜帶的版本號(hào)。
[0042]由此可見(jiàn),通過(guò)如圖1所示的流程,客戶(hù)端可以定期地向服務(wù)器端請(qǐng)求更新的接口列表。本實(shí)施方式中的數(shù)據(jù)訪問(wèn)方法,也是基于該接口列表中的各接口,實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn),具體流程如圖2所示。
[0043]在步驟201中,客戶(hù)端檢測(cè)是否需要通過(guò)接口訪問(wèn)數(shù)據(jù),也就是說(shuō),如果客戶(hù)端觸發(fā)了需通過(guò)接口訪問(wèn)數(shù)據(jù)的操作,則進(jìn)入步驟202中,否則,重復(fù)執(zhí)行本步驟。
[0044]需要說(shuō)明的是,本實(shí)施方式中的接口可以為應(yīng)用程序編程接口API,通過(guò)應(yīng)用程序編程接口 API,可以在不了解所要調(diào)用的程序內(nèi)部詳細(xì)結(jié)構(gòu)的基礎(chǔ)上,直接通過(guò)應(yīng)用程序編程接口 API訪問(wèn)數(shù)據(jù),實(shí)現(xiàn)起來(lái)更加方便。如果客戶(hù)端不需要通過(guò)接口訪問(wèn)數(shù)據(jù),重復(fù)進(jìn)入步驟201中,等待觸發(fā)命令,如果檢測(cè)到用戶(hù)的觸發(fā)操作,則進(jìn)入步驟202中,執(zhí)行下一步操作。
[0045]步驟202中,客戶(hù)端判斷是否在最新的接口列表中查找到數(shù)據(jù)訪問(wèn)地址。具體的說(shuō),在客戶(hù)端需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),可以首先判斷在最新的接口列表中是否可以查找到接口的key,如果查找到接口的key,則說(shuō)明在最新列表中查找到了數(shù)據(jù)訪問(wèn)地址,貝Ij進(jìn)入步驟203中,執(zhí)行下一步操作,如果沒(méi)有找到接口的key,則進(jìn)入步驟204中,執(zhí)行下一步操作。
[0046]步驟203中,客戶(hù)端根據(jù)在最新的接口列表中獲取的數(shù)據(jù)訪問(wèn)地址,進(jìn)行數(shù)據(jù)訪問(wèn)。具體地說(shuō),客戶(hù)端在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),如果客戶(hù)端在最新的接口列表中查找到數(shù)據(jù)訪問(wèn)地址,則根據(jù)查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。
[0047]步驟204中,客戶(hù)端在發(fā)版時(shí)保存的接口列表中獲取數(shù)據(jù)訪問(wèn)地址,進(jìn)行數(shù)據(jù)訪問(wèn)。具體地說(shuō),如果客戶(hù)端未能在最新列表中成功查找到相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則在客戶(hù)端發(fā)版時(shí)保存的接口列表中,查找與接口的標(biāo)識(shí)相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,進(jìn)行數(shù)據(jù)訪問(wèn)。在有些特殊的情況下,例如客戶(hù)端所處的網(wǎng)絡(luò)狀態(tài)不穩(wěn)定,或者客戶(hù)端與服務(wù)器的交互存在問(wèn)題的時(shí)候,客戶(hù)端獲取不到最新列表中的數(shù)據(jù)訪問(wèn)地址,此時(shí),客戶(hù)端可以通過(guò)已存的發(fā)版時(shí)的接口列表獲取數(shù)據(jù)訪問(wèn)地址,確保數(shù)據(jù)訪問(wèn)操作可以順利進(jìn)行。
[0048]下面以手機(jī)中的應(yīng)用程序數(shù)據(jù)獲取方法為例,對(duì)本實(shí)施方式進(jìn)行說(shuō)明。手機(jī)需通過(guò)請(qǐng)求消息的接口訪問(wèn)天氣數(shù)據(jù),該請(qǐng)求消息接口的標(biāo)志為key,如果在手機(jī)最近獲取的更新的接口列表中,查找到該key值對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則手機(jī)相應(yīng)的程序可通過(guò)該key值對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,獲取到最新的天氣數(shù)據(jù)。如果在網(wǎng)絡(luò)條件不好,或者手機(jī)在請(qǐng)求服務(wù)器的最近的最新接口列表更新出現(xiàn)問(wèn)題時(shí),也可以在保存的發(fā)版時(shí)的接口列表中查找對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,并通過(guò)該數(shù)據(jù)訪問(wèn)地址,獲取到相應(yīng)的數(shù)據(jù)。
[0049]本實(shí)施方式相對(duì)于現(xiàn)有技術(shù)而言,主要區(qū)別及效果在于:客戶(hù)端在需要通過(guò)接口訪問(wèn)最新數(shù)據(jù)時(shí),不用請(qǐng)求服務(wù)器端獲取更新的程序版本,只需在已保存到本地客戶(hù)端中的最新接口列表中,根據(jù)接口的標(biāo)識(shí),查找該標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,根據(jù)該數(shù)據(jù)訪問(wèn)地址,直接訪問(wèn)最新的數(shù)據(jù),無(wú)需通過(guò)服務(wù)器下載最新版本的程序,并在最新版本的程序上獲取最新數(shù)據(jù),簡(jiǎn)化了客戶(hù)端獲取最新數(shù)據(jù)的操作步驟復(fù)雜度,提高了用戶(hù)操作體驗(yàn)。
[0050]本發(fā)明的第二實(shí)施方式涉及一種數(shù)據(jù)訪問(wèn)方法。第二實(shí)施方式是在第一實(shí)施方式的基礎(chǔ)上做了進(jìn)一步改進(jìn),主要改進(jìn)之處在于:客戶(hù)端根據(jù)接收到的接口列表更新消息的響應(yīng),調(diào)整接口列表更新消息的發(fā)送周期。
[0051]具體地說(shuō),在客戶(hù)端每向服務(wù)器端發(fā)送N次接口列表更新消息后,根據(jù)N次收到的對(duì)接口列表更新消息的響應(yīng),調(diào)整接口列表更新消息的發(fā)送周期;N為大于I的自然數(shù)。其中,如果攜帶有更新的接口列表和版本號(hào)的響應(yīng),在N次響應(yīng)中的比例,大于預(yù)設(shè)值,則減小發(fā)送周期。
[0052]本實(shí)施方式中的預(yù)設(shè)值可以由用戶(hù)錄入。如果攜帶有更新的接口列表和版本號(hào)的響應(yīng),在N次響應(yīng)中的比例,大于預(yù)設(shè)值,則說(shuō)明服務(wù)器端的接口列表更新的比較頻繁,因此,客戶(hù)端可以減小發(fā)送請(qǐng)求消息的周期,以更高的頻率發(fā)送請(qǐng)求更新消息,以便及時(shí)獲取服務(wù)器端的最近的最新版本的接口列表。
[0053]例如,客戶(hù)端在向服務(wù)器端發(fā)送了 20次請(qǐng)求更新消息后,檢測(cè)到服務(wù)器端返回的響應(yīng)中包含有更新的接口列表和版本號(hào)的次數(shù)為15次,則說(shuō)明攜帶有更新的接口列表和版本號(hào)的響應(yīng),在響應(yīng)中的比例為0.75。如果用戶(hù)錄入的預(yù)設(shè)值為0.5,則此時(shí)需要縮短發(fā)送周期,以便及時(shí)獲取到服務(wù)器端最新的列表信息和版本號(hào)。
[0054]上面各種方法的步驟劃分,只是為了描述清楚,實(shí)現(xiàn)時(shí)可以合并為一個(gè)步驟或者對(duì)某些步驟進(jìn)行拆分,分解為多個(gè)步驟,只要包含相同的邏輯關(guān)系,都在本專(zhuān)利的保護(hù)范圍內(nèi);對(duì)算法中或者流程中添加無(wú)關(guān)緊要的修改或者引入無(wú)關(guān)緊要的設(shè)計(jì),但不改變其算法和流程的核心設(shè)計(jì)都在該專(zhuān)利的保護(hù)范圍內(nèi)。
[0055]本發(fā)明第三實(shí)施方式涉及一種數(shù)據(jù)訪問(wèn)系統(tǒng),如圖3所示,包含客戶(hù)端31和服務(wù)器32ο
[0056]其中,客戶(hù)端31具體包括:
[0057]請(qǐng)求模塊311,用于定期地向服務(wù)器32端請(qǐng)求更新的接口列表;其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址。
[0058]查詢(xún)模塊312,用于在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址。
[0059]訪問(wèn)模塊313,用于根據(jù)查詢(xún)模塊312查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。
[0060]該數(shù)據(jù)訪問(wèn)系統(tǒng)中,服務(wù)器32具體包括:
[0061 ]存儲(chǔ)模塊321,用于保存接口列表,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址。
[0062]更新模塊322,用于在保存的接口列表需要更新時(shí),更新該接口列表。
[0063]檢測(cè)模塊323,用于在接收到來(lái)自客戶(hù)端31的接口列表的更新請(qǐng)求時(shí),根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表。
[0064]響應(yīng)模塊324,用于在檢測(cè)模塊323判定存在需更新的接口列表時(shí),向客戶(hù)端31返回更新的接口列表,供客戶(hù)端31通過(guò)該更新的接口列表訪問(wèn)數(shù)據(jù)。
[0065]不難發(fā)現(xiàn),本實(shí)施方式為與第一實(shí)施方式相對(duì)應(yīng)的系統(tǒng)實(shí)施例,本實(shí)施方式可與第一實(shí)施方式互相配合實(shí)施。第一實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實(shí)施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實(shí)施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實(shí)施方式中。
[0066]值得一提的是,本實(shí)施方式中所涉及到的各模塊均為邏輯模塊,在實(shí)際應(yīng)用中,一個(gè)邏輯單元可以是一個(gè)物理單元,也可以是一個(gè)物理單元的一部分,還可以以多個(gè)物理單元的組合實(shí)現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實(shí)施方式中并沒(méi)有將與解決本發(fā)明所提出的技術(shù)問(wèn)題關(guān)系不太密切的單元引入,但這并不表明本實(shí)施方式中不存在其它的單
J L ο
[0067]本發(fā)明第四實(shí)施方式涉及一種客戶(hù)端裝置。如手機(jī),如圖4所示,本實(shí)施方式的客戶(hù)端裝置4包括:發(fā)送器40、處理器41和瀏覽器42。
[0068]其中,發(fā)送器40主要用于定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,從而實(shí)現(xiàn)客戶(hù)端裝置與服務(wù)器之間的數(shù)據(jù)交互。其中,處理器41為配置裝置的核心,其可以為CPU(中央處理器)、DSP(Digital Signal Processor,數(shù)字信號(hào)處理器)等,其主要負(fù)責(zé)在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址。其中,瀏覽器42主要用于根據(jù)處理器41查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。
[0069]本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一個(gè)設(shè)備(可以是單片機(jī),芯片等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(R0M,Read-0nlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0070]本領(lǐng)域的普通技術(shù)人員可以理解,上述各實(shí)施方式是實(shí)現(xiàn)本發(fā)明的具體實(shí)施例,而在實(shí)際應(yīng)用中,可以在形式上和細(xì)節(jié)上對(duì)其作各種改變,而不偏離本發(fā)明的精神和范圍。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)訪問(wèn)方法,其特征在于,包括: 客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,所述接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址; 所述客戶(hù)端在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在所述接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址,并根據(jù)所述查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問(wèn)方法,其特征在于,在所述根據(jù)該接口的標(biāo)識(shí)在所述接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址中,具體包括: 在最近獲取的更新的接口列表中,查找與所述接口的標(biāo)識(shí)相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址; 如果未能成功查找到相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址,則在所述客戶(hù)端發(fā)版時(shí)保存的接口列表中,查找與所述接口的標(biāo)識(shí)相對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址。3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問(wèn)方法,其特征在于,所述客戶(hù)端定期地向服務(wù)器端請(qǐng)求更新的接口列表中,具體包括: 所述客戶(hù)端定期地向服務(wù)器端發(fā)送接口列表更新消息,所述接口列表更新消息中攜帶有所述客戶(hù)端當(dāng)前保存的接口列表的版本號(hào); 所述客戶(hù)端接收來(lái)自所述服務(wù)器端的對(duì)所述接口列表更新消息的響應(yīng),如果所述響應(yīng)中攜帶有更新的接口列表和版本號(hào),則保存所述更新的接口列表,并將本地保存的接口列表的版本號(hào)更新為該響應(yīng)中攜帶的版本號(hào)。4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)訪問(wèn)方法,其特征在于,還包括: 在所述客戶(hù)端每向服務(wù)器端發(fā)送N次接口列表更新消息后,根據(jù)所述N次收到的對(duì)所述接口列表更新消息的響應(yīng),調(diào)整所述接口列表更新消息的發(fā)送周期;所述N為大于I的自然數(shù); 其中,如果攜帶有更新的接口列表和版本號(hào)的響應(yīng),在所述N次響應(yīng)中的比例,大于預(yù)設(shè)值,則減小所述發(fā)送周期。5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的數(shù)據(jù)訪問(wèn)方法,其特征在于,所述接口列表為應(yīng)用程序編程接口 API列表。6.一種數(shù)據(jù)訪問(wèn)方法,其特征在于,包括: 服務(wù)器端預(yù)先保存有接口列表,所述接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址; 當(dāng)所述服務(wù)器端保存的接口列表需要更新時(shí),更新該接口列表; 當(dāng)所述服務(wù)器端接收到來(lái)自客戶(hù)端的接口列表的更新請(qǐng)求時(shí),根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表,如果存在,則向該客戶(hù)端返回更新的接口列表,供所述客戶(hù)端通過(guò)該更新的接口列表訪問(wèn)數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)訪問(wèn)方法,其特征在于,還包括: 所述服務(wù)器端在更新所述接口列表時(shí),更新所述接口列表的版本號(hào); 所述根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表,具體包括: 獲取攜帶著所述更新請(qǐng)求中的接口列表的版本號(hào); 如果所述獲取的版本號(hào),與所述服務(wù)器端內(nèi)當(dāng)前保存的版本號(hào)不一致,則判定存在需更新的接口列表; 在所述向該客戶(hù)端返回更新的接口列表中,具體包括: 所述服務(wù)器端將最近一次更新的接口列表和該接口列表的版本號(hào),攜帶在所述更新請(qǐng)求的響應(yīng)中,返回給所述客戶(hù)端。8.一種客戶(hù)端,其特征在于,包括: 請(qǐng)求模塊,用于定期地向服務(wù)器端請(qǐng)求更新的接口列表;其中,所述接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址; 查詢(xún)模塊,用于在需要通過(guò)接口訪問(wèn)數(shù)據(jù)時(shí),根據(jù)該接口的標(biāo)識(shí)在所述接口列表中查找相應(yīng)的數(shù)據(jù)訪問(wèn)地址; 訪問(wèn)模塊,用于根據(jù)所述查詢(xún)模塊查找到的數(shù)據(jù)訪問(wèn)地址,訪問(wèn)數(shù)據(jù)。9.一種服務(wù)器,其特征在于,包括: 存儲(chǔ)模塊,用于保存接口列表,所述接口列表中保存有各接口的唯一標(biāo)識(shí)和與各接口對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)地址; 更新模塊,用于在所述保存的接口列表需要更新時(shí),更新該接口列表; 檢測(cè)模塊,用于在接收到來(lái)自客戶(hù)端的接口列表的更新請(qǐng)求時(shí),根據(jù)該更新請(qǐng)求檢測(cè)是否存在需更新的接口列表; 響應(yīng)模塊,用于在所述檢測(cè)模塊判定存在需更新的接口列表時(shí),向所述客戶(hù)端返回更新的接口列表,供所述客戶(hù)端通過(guò)該更新的接口列表訪問(wèn)數(shù)據(jù)。10.一種數(shù)據(jù)訪問(wèn)系統(tǒng),其特征在于,包括: 如權(quán)利要求8所述的客戶(hù)端,和如權(quán)利要求9所述的服務(wù)器。
【文檔編號(hào)】H04L29/06GK105939355SQ201610413041
【公開(kāi)日】2016年9月14日
【申請(qǐng)日】2016年6月13日
【發(fā)明人】李奇奇
【申請(qǐng)人】樂(lè)視控股(北京)有限公司, 樂(lè)視網(wǎng)信息技術(shù)(北京)股份有限公司