亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)查詢方法及裝置與流程

文檔序號(hào):12719662閱讀:210來源:國知局
數(shù)據(jù)查詢方法及裝置與流程

本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及數(shù)據(jù)查詢方法及裝置。



背景技術(shù):

隨著計(jì)算機(jī)技術(shù)的發(fā)展,互聯(lián)網(wǎng)中記錄的數(shù)據(jù)越來越多,每時(shí)每刻都會(huì)有海量數(shù)據(jù)生成。

通常,在數(shù)據(jù)較多的情況下,例如流水型數(shù)據(jù)(如賬單信息,訂單信息,微博信息,微信朋友圈信息等),客戶端上無法一次性顯示,一般客戶端都是采用分頁顯示的方式來提供給用戶查看的。這樣的好處在于,每次客戶端查詢數(shù)據(jù)時(shí),只需查詢一個(gè)分頁頁面中的數(shù)據(jù),無需一次將所有數(shù)據(jù)都查詢一遍,如此減少了客戶端與服務(wù)器之間的數(shù)據(jù)交互從而提高了查詢效率、縮短了數(shù)據(jù)查詢響應(yīng)時(shí)間。

然而,這種方式中,用戶每次查看或者刷新頁面時(shí),客戶端都會(huì)發(fā)起一次數(shù)據(jù)查詢請(qǐng)求,即使這次查詢得到的數(shù)據(jù)和上一次查詢得到的數(shù)據(jù)相同的情況下,服務(wù)器也會(huì)返回全部的數(shù)據(jù),所以這種方式對(duì)于客戶端來說會(huì)消耗大量流量。特別是對(duì)于移動(dòng)客戶端,由于每個(gè)月的流量是有限,所述流量損耗的問題會(huì)變得更加突出。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)?zhí)峁┮环N數(shù)據(jù)查詢方法及裝置,以解決現(xiàn)有存在客戶端查詢數(shù)據(jù)時(shí)流量損耗較大的問題。

根據(jù)本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)查詢方法,所述方法包括:

客戶端接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù);

所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

所述服務(wù)器接收到所述數(shù)據(jù)查詢請(qǐng)求后,根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合;

所述服務(wù)器將查詢到的第二id集合與所述第一id集合進(jìn)行比較;

在比較得出所述第一id集合和第二id集合具有相同id的情況下,所述服務(wù)器向客戶端返回查詢結(jié)果時(shí),不返回所述具有相同id的數(shù)據(jù);

所述客戶端接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

根據(jù)本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)查詢方法,所述方法應(yīng)用于客戶端,所述方法包括:

接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù);

向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

根據(jù)本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)查詢方法,所述方法應(yīng)用于服務(wù)器,所述方法包括:

接收客戶端發(fā)送的針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求,所述數(shù)據(jù)查詢請(qǐng)求中攜帶有所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)的第一id集合和該目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合;

將查詢到的所述第二id集合與所述數(shù)據(jù)查詢請(qǐng)求中第一id集合進(jìn)行比較;

在比較得出所述第一id集合和第二id集合具有相同id的情況下,向所述客戶端返回查詢結(jié)果時(shí),不返回所述具有相同id的數(shù)據(jù)。

根據(jù)本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)查詢裝置,所述裝置應(yīng)用于客戶端,所述裝置包括:

讀取單元,接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù);

發(fā)送單元,向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

展示單元,接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

根據(jù)本申請(qǐng)實(shí)施例提供的一種數(shù)據(jù)查詢裝置,所述裝置應(yīng)用于服務(wù)器,所述裝置包括:

接收單元,接收客戶端發(fā)送的針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求,所述數(shù)據(jù)查詢請(qǐng)求中攜帶有所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)的第一id集合和該目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

查詢單元,根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合;

比較單元,將查詢到的所述第二id集合與所述數(shù)據(jù)查詢請(qǐng)求中第一id集合進(jìn)行比較;

返回單元,在比較得出所述第一id集合和第二id集合具有相同id的情況下,向所述客戶端返回查詢結(jié)果時(shí),不返回所述具有相同id的數(shù)據(jù)。

本申請(qǐng)實(shí)施例中,通過比較客戶端讀取到的本地?cái)?shù)據(jù)與服務(wù)器上查詢到的數(shù)據(jù),對(duì)于客戶端和服務(wù)器中同時(shí)存在的數(shù)據(jù),服務(wù)器無需返回該數(shù)據(jù),而客戶端直接使用本地讀取到的該數(shù)據(jù)即可。如此,不僅實(shí)現(xiàn)了客戶端數(shù)據(jù)查詢時(shí)減少流量損耗,而且由于服務(wù)器無需返回同時(shí)存在于客戶端和服務(wù)器的數(shù)據(jù),減少了返回客戶端的數(shù)據(jù)量,從而縮短了數(shù)據(jù)查詢響應(yīng)時(shí)間。

附圖說明

圖1是本申請(qǐng)?zhí)峁┑馁~單查詢場景下客戶端界面的示意圖;

圖2是本申請(qǐng)?zhí)峁┑呐笥讶Σ樵儓鼍跋驴蛻舳私缑娴氖疽鈭D;

圖3是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖;

圖4是本申請(qǐng)?zhí)峁┑呐笥讶Σ樵儓鼍爸杏脩舨僮骺蛻舳松侠拖吕瓟?shù)據(jù)列表的示意圖;

圖5是本申請(qǐng)?zhí)峁┑呐笥讶Σ樵儓鼍爸杏脩舨僮骺蛻舳松侠瓟?shù)據(jù)列表后頁面展示示意圖;

圖6是本申請(qǐng)?zhí)峁┑呐笥讶Σ樵儓鼍爸杏脩舨僮骺蛻舳松侠瓟?shù)據(jù)列表后另一個(gè)頁面展示示意圖;

圖7是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖;

圖8是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖;

圖9是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;

圖10是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置的模塊示意圖;

圖11是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;

圖12是本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置的模塊示意圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。

在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。

在本申請(qǐng)?zhí)峁┑膶?shí)施例中,客戶端作為數(shù)據(jù)查詢請(qǐng)求的發(fā)送方,服務(wù)器作為數(shù)據(jù)查詢請(qǐng)求的接收方,該客戶端可以是具體為手機(jī)、平板電腦、筆記本電腦、臺(tái)式電腦等。其中,客戶端在進(jìn)入數(shù)據(jù)展示頁面或者刷新數(shù)據(jù)展示頁面時(shí),會(huì)向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,服務(wù)器在接收到該數(shù)據(jù)查詢請(qǐng)求后,進(jìn)行查詢并返回查詢得到的數(shù)據(jù),客戶端接收到返回的數(shù)據(jù)后進(jìn)行展示。

以下結(jié)合一個(gè)具體流水型數(shù)據(jù)的例子加以說明,如圖1所示,在一個(gè)查詢資金支出/收入的場景中,用戶打開手機(jī)(即客戶端)上安裝的電子錢包app(Application,應(yīng)用程序),在手機(jī)屏幕上通過點(diǎn)擊“賬單”來查看最近的資金支付/收入數(shù)據(jù)。此時(shí),手機(jī)會(huì)向該電子錢包app的服務(wù)器發(fā)送賬單數(shù)據(jù)查詢請(qǐng)求,所述服務(wù)器查詢后返回賬單數(shù)據(jù),所述手機(jī)接收后在屏幕上展示返回的賬單數(shù)據(jù)。

以下再結(jié)合一個(gè)具體流水線數(shù)據(jù)的例子加以說明,如圖2所示,在一個(gè)查詢朋友圈好友發(fā)布信息的場景中,用戶打開手機(jī)(即客戶端)上安裝的聊天軟件,在手機(jī)屏幕上通過點(diǎn)擊“朋友圈”來查看最近好友發(fā)布的信息。此時(shí),手機(jī)會(huì)向該聊天軟件的服務(wù)器發(fā)送朋友圈信息查詢請(qǐng)求,所述服務(wù)器查詢后返回朋友圈信息,所述手機(jī)接收后在屏幕上展示返回的朋友圈信息。

需要說明的是,流水線數(shù)據(jù)不具有修改功能,即一旦數(shù)據(jù)生成,只能進(jìn)行刪除,而不能進(jìn)行修改。

請(qǐng)參見圖3,為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖,包括以下步驟:

步驟110:客戶端接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù)。

本實(shí)施例中,所述用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令通常是由用戶觸發(fā)的,如圖2中,當(dāng)用戶點(diǎn)擊“朋友圈”后,就可以觸發(fā)查詢首頁(即目標(biāo)頁面)中數(shù)據(jù)的查詢指令,使得客戶端接收到用于查詢首頁中數(shù)據(jù)的查詢指令。

再例如,在圖4中,用戶想要知道“飛鳥”發(fā)布的信息之前的其它朋友發(fā)布的信息時(shí),可以通過下拉數(shù)據(jù)列表的方式,觸發(fā)下一頁數(shù)據(jù)查詢指令,如果沒有下一頁則刷新頁面。類似的,用戶想要知道“張三”發(fā)布的信息之后的其它朋友發(fā)布的信息時(shí),還可以通過上拉數(shù)據(jù)列表的方式,觸發(fā)上一頁數(shù)據(jù)查詢指令,如果沒有上一頁,則觸發(fā)刷新頁面。

所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù)。

一般的,每個(gè)數(shù)據(jù)都會(huì)有一個(gè)id,該id是服務(wù)器記錄數(shù)據(jù)時(shí)相應(yīng)生成的唯一標(biāo)識(shí)。在服務(wù)器返回查詢得到的數(shù)據(jù)時(shí)也會(huì)攜帶有該id,從而使得所述本地?cái)?shù)據(jù)源中數(shù)據(jù)的id與服務(wù)器上一致。

通常,目標(biāo)頁面可以展示多個(gè)數(shù)據(jù),所以讀取本地?cái)?shù)據(jù)源下該目標(biāo)頁面中數(shù)據(jù)的id也會(huì)是多個(gè),在本實(shí)施例中可以將所述本地?cái)?shù)據(jù)源下讀取到的多個(gè)id稱之為第一id集合。

步驟120:所述客戶端向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量。

通常,目標(biāo)頁面中能夠展示數(shù)據(jù)的數(shù)量是有限的。如圖1所示的賬單頁面能展示數(shù)據(jù)的數(shù)量為5個(gè)。在如圖2所示的朋友圈頁面能夠展示數(shù)據(jù)的數(shù)量只有3個(gè)。

步驟130:所述服務(wù)器接收到所述數(shù)據(jù)查詢請(qǐng)求后,根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合。

本實(shí)施例中,所述服務(wù)器在接收到客戶端發(fā)送的針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求后,進(jìn)而可以根據(jù)所述數(shù)據(jù)查詢請(qǐng)求中攜帶的數(shù)量在該服務(wù)器存儲(chǔ)空間中查詢目標(biāo)頁面的數(shù)據(jù),并獲取數(shù)據(jù)的第二id集合。

所述服務(wù)器的存儲(chǔ)空間可以是服務(wù)器自身的存儲(chǔ)空間例如數(shù)據(jù)庫,還可以是與所述服務(wù)器關(guān)聯(lián)的外部存儲(chǔ)空間例如與服務(wù)器關(guān)聯(lián)的外部數(shù)據(jù)庫。

所述查詢可以分頁查詢,即服務(wù)器根據(jù)所述數(shù)量分頁查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合。假設(shè),所述數(shù)據(jù)為3個(gè),目標(biāo)頁面為第2頁,則服務(wù)器以3個(gè)為一頁進(jìn)行分頁,進(jìn)而查找第2頁中數(shù)據(jù)的第二id集合。

步驟140:所述服務(wù)器將查詢到的第二id集合與所述第一id集合進(jìn)行比較。

在實(shí)際應(yīng)用中,服務(wù)器上記錄的數(shù)據(jù)由于某些原因(如新增數(shù)據(jù)、刪除數(shù)據(jù))同一目標(biāo)頁面中數(shù)據(jù)會(huì)和客戶端中記錄的不同。

以下請(qǐng)參考圖5所述,5分鐘前用戶進(jìn)入朋友圈時(shí)如圖4中左邊的圖所示,5分鐘后如果用戶通過上劃數(shù)據(jù)列表刷新頁面,那么客戶端讀取到的本地?cái)?shù)據(jù)源中首頁內(nèi)容就為“張三......”、“小白......”和“飛魚......”,假設(shè)id分別為7,6,5,那么所述客戶端向服務(wù)器發(fā)送的數(shù)據(jù)查詢請(qǐng)求攜帶的第一id集合即為{7,6,5}。通常,經(jīng)過5分鐘后,可能會(huì)有別的好友發(fā)布了新的信息,所以服務(wù)器上查詢到首頁的數(shù)據(jù)就會(huì)和客戶端讀取到的不同。假設(shè)在1分鐘前“姐姐”發(fā)布了一條信息“豆豆今天在幼兒園吃飯很快,據(jù)說還被老師表揚(yáng)了”,該信息id為8,那么服務(wù)器查詢到朋友圈首頁的第二id集合為{8,7,6}。

步驟150:在比較得出所述第一id集合和第二id集合具有相同id的情況下,所述服務(wù)器向客戶端返回查詢結(jié)果時(shí),不返回所述相同id的數(shù)據(jù)。

沿用上一步驟中的例子,由于第二id集合{8,7,6}與第一id集合{7,6,5}具有相同的id:7和6;所以服務(wù)器向客戶端返回查詢結(jié)果時(shí),不返回id為7和6的數(shù)據(jù),只返回id為8的數(shù)據(jù)即“姐姐”與“一分鐘前”發(fā)布的“豆豆今天在幼兒園吃飯很快,據(jù)說還被老師表揚(yáng)了”。

步驟160:所述客戶端接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

在本實(shí)施例中,繼續(xù)沿用以上一步驟中的例子,客戶端接收到服務(wù)器返回的查詢結(jié)果為“姐姐”發(fā)布的“豆豆今天在幼兒園吃飯很快,據(jù)說還被老師表揚(yáng)了”,該信息的id為8。

客戶端在本地?cái)?shù)據(jù)源中讀取得到數(shù)據(jù)為:

id為7的,“張三......”;

id為6的,“小白......”;

id為5的,“飛魚......”。

所述客戶端合并數(shù)據(jù)后,由于返回的查詢結(jié)果表面在1分鐘前新增了一條“姐姐”發(fā)布的“豆豆今天在幼兒園吃飯很快,據(jù)說還被老師表揚(yáng)了”信息,而由于沒有返回其它數(shù)據(jù),說明id為7、6、5的數(shù)據(jù)依然存在,而由于手機(jī)屏幕中只能顯示3個(gè)數(shù)據(jù),根據(jù)id排序后,如圖5中右邊的圖所示,展示的信息為“姐姐......”;“張三......”;“小白......”。

本申請(qǐng)實(shí)施例中,通過比較客戶端讀取到的本地?cái)?shù)據(jù)與服務(wù)器上查詢到的數(shù)據(jù),對(duì)于客戶端和服務(wù)器中同時(shí)存在的數(shù)據(jù),服務(wù)器無需返回該數(shù)據(jù),而客戶端直接使用本地讀取到的該數(shù)據(jù)即可。如此,不僅實(shí)現(xiàn)了客戶端數(shù)據(jù)查詢時(shí)減少流量損耗,而且由于服務(wù)器無需返回同時(shí)存在于客戶端和服務(wù)器的數(shù)據(jù),減少了返回客戶端的數(shù)據(jù)量,從而縮短了數(shù)據(jù)查詢響應(yīng)時(shí)間。

值得一提的是,如果客戶端接收到查詢目標(biāo)頁面的數(shù)據(jù)查詢指令后,在本地?cái)?shù)據(jù)源中讀取不到目標(biāo)頁面的數(shù)據(jù),說明客戶端首次進(jìn)入目標(biāo)頁面,那么所述客戶端就直接向服務(wù)器發(fā)送針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求。與上述實(shí)施例不同的是,這種情況下請(qǐng)求中無需攜帶第一id集合。由于這種數(shù)據(jù)查詢與現(xiàn)有技術(shù)相同,此處不再具體展開。但是,與現(xiàn)有技術(shù)不同的是,在服務(wù)器返回查詢結(jié)果后,所述客戶端可以將查詢結(jié)果保存在本地?cái)?shù)據(jù)源中,便于下次客戶端查詢時(shí),可以讀取本地?cái)?shù)據(jù)源中數(shù)據(jù)。

在實(shí)際應(yīng)用中,服務(wù)器中除了新增的數(shù)據(jù),還可能存在刪除的數(shù)據(jù)。在本申請(qǐng)的實(shí)施例中,所述服務(wù)器查詢得到的查詢結(jié)果,可以是通過如下方式得到的:

在比較得出一id只存在于所述第二id集合中的情況下,將該id與其對(duì)應(yīng)的數(shù)據(jù)記入查詢結(jié)果中;

在比較得出一id只存在于所述第一id集合中的情況下,將該id記入查詢結(jié)果。

本實(shí)施例中,服務(wù)器在比較得出一id只存在于所述第二id集合中的情況下,說明該id的數(shù)據(jù)在服務(wù)器上存在、在客戶端上不存在,即該id的數(shù)據(jù)是服務(wù)器上新增的數(shù)據(jù),所以所述服務(wù)器需要將該id與其對(duì)應(yīng)的數(shù)據(jù)記入查詢結(jié)果,以使得客戶端知道新增該id的數(shù)據(jù)。

服務(wù)器在比較得出一id只存在于所述第一id集合中的情況下,說明該id的數(shù)據(jù)在服務(wù)器上不存在、在客戶端上存在,即該id的數(shù)據(jù)是服務(wù)器上刪除的數(shù)據(jù),所以所述服務(wù)器需要將該id記入查詢結(jié)果,以使得客戶端知道該id對(duì)應(yīng)的數(shù)據(jù)已被刪除。

在上述實(shí)施例中已經(jīng)說明的,在比較得出所述第一id集合和第二id集合具有相同id的情況下,不返回所述相同id的數(shù)據(jù)。也就是說,對(duì)于服務(wù)器和客戶端上都存在的數(shù)據(jù),在查詢結(jié)果中即不記錄所述相同id的數(shù)據(jù)也不記錄相同id本身。

以下以一個(gè)具體地例子加以說明,如圖6所示,用戶通過上劃數(shù)據(jù)列表刷新朋友圈首頁,由于服務(wù)器查詢到首頁中新增id為8的信息“姐姐......”,刪除id為7的信息“張三......”;所以服務(wù)器在比較客戶端提供的第一id集合{7,6,5}和查詢得到的第二id集合{8,6,5}后,得到的最終查詢結(jié)果為:id為8的“姐姐......”;id為7。如此,客戶端接收到返回的查詢結(jié)果后,可以知道,服務(wù)器上新增了id為8的信息“姐姐......”,刪除了id為7的信息,而id為6和5的信息不變,從而與本地?cái)?shù)據(jù)源中讀取到的數(shù)據(jù)合并后展示出來的數(shù)據(jù)如圖6右邊的圖所示。

在本申請(qǐng)的一個(gè)具體地實(shí)施例中,在所述客戶端接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示之后,所述方法還包括:

所述客戶端根據(jù)所述查詢結(jié)果,更新所述本地?cái)?shù)據(jù)源中數(shù)據(jù)。

本實(shí)施例中,依然以圖6的例子加以說明,所述客戶端本地?cái)?shù)據(jù)源中記錄的數(shù)據(jù)為:

id為7的,“張三......”;

id為6的,“小白......”;

id為5的,“飛魚......”。

根據(jù)所述查詢結(jié)果,即新增id為8的信息,刪除id為7的信息,更新后所述本地?cái)?shù)據(jù)源中記錄的數(shù)據(jù)為:

id為8的,“姐姐......”;

id為6的,“小白......”;

id為5的,“飛魚......”。

在實(shí)際使用過程中,本地?cái)?shù)據(jù)源中數(shù)據(jù)存儲(chǔ)過多可以會(huì)引起客戶端運(yùn)行較慢,或者客戶端卡頓等體驗(yàn)較差的情況,為了解決由于本地?cái)?shù)據(jù)源中數(shù)據(jù)存儲(chǔ)過多引起的問題。在本申請(qǐng)的實(shí)施例中,還可以提供刪除本地?cái)?shù)據(jù)源中數(shù)據(jù)的選項(xiàng)。

通過本實(shí)施例,用戶可以通過刪除本地?cái)?shù)據(jù)源中保存的數(shù)據(jù),從而避免客戶端的本地?cái)?shù)據(jù)源中存儲(chǔ)過多數(shù)據(jù)的問題,如此提高用戶體驗(yàn)。

在實(shí)際應(yīng)用中,進(jìn)行分頁查詢需要消耗的時(shí)間和資源比較大,為了解決這一問題,本申請(qǐng)的一個(gè)具體地實(shí)施例中,在圖3所示實(shí)施例的基礎(chǔ)上,在所述步驟110中,所述從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,具體可以包括:

從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)、所述數(shù)據(jù)的id集合及上一頁中最后一個(gè)數(shù)據(jù)的id。

相應(yīng)地,在所述數(shù)據(jù)查詢請(qǐng)求中除了攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量外,還需要攜帶定位id,所述定位id為所述上一頁中最后一個(gè)數(shù)據(jù)的id。

所述服務(wù)器接收到所述數(shù)據(jù)查詢請(qǐng)求后,查詢所述定位id之后所述數(shù)量個(gè)數(shù)據(jù)的第二id集合。

如圖4所示,假設(shè)當(dāng)前頁面為首頁的情況下,如果用戶下劃數(shù)據(jù)列表,則由于該目標(biāo)頁面不為首頁,所述客戶端讀取本地?cái)?shù)據(jù)源中該目標(biāo)頁面中數(shù)據(jù)、所述數(shù)據(jù)的id集合{4,3,2}及上一頁中最后一個(gè)數(shù)據(jù)的id為5;該客戶端發(fā)送的數(shù)據(jù)查詢請(qǐng)求中還攜帶定位id為5。服務(wù)器在查詢時(shí),只需查詢?cè)摱ㄎ籭d為5之后的3個(gè)數(shù)據(jù)的第二id集合。

值得一提的是,在目標(biāo)頁面是首頁的情況下,由于沒有上一頁,所以就不存在定位id,其查詢過程與上述實(shí)施例中的相同,服務(wù)器直接查詢第一頁中所述數(shù)量個(gè)數(shù)據(jù)的第二id集合即可。

通過本實(shí)施例,由于服務(wù)器無需進(jìn)行分頁查詢,優(yōu)化了服務(wù)器的查詢過程,從而提高了服務(wù)器的查詢效率。

請(qǐng)參見圖7,為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖,該實(shí)施例從客戶端側(cè)進(jìn)行描述,該實(shí)施例可以對(duì)應(yīng)圖3,包括以下步驟:

步驟210:接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù);

步驟220:向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

步驟230:接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

值得一提的是,如果客戶端接收到查詢目標(biāo)頁面的數(shù)據(jù)查詢指令后,在本地?cái)?shù)據(jù)源中讀取不到目標(biāo)頁面的數(shù)據(jù),說明客戶端首次進(jìn)入目標(biāo)頁面,那么所述客戶端就直接向服務(wù)器發(fā)送針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求。與上述實(shí)施例不同的是,這種情況下數(shù)據(jù)查詢請(qǐng)求中無需攜帶第一id集合。由于這種數(shù)據(jù)查詢與現(xiàn)有技術(shù)相同,此處不再具體展開。但是,與現(xiàn)有技術(shù)不同的是,在服務(wù)器返回查詢結(jié)果后,所述客戶端可以將查詢結(jié)果保存在本地?cái)?shù)據(jù)源中,便于下次客戶端查詢時(shí),讀取本地?cái)?shù)據(jù)源中數(shù)據(jù)。

值得一提的是,在所述客戶端接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示之后,所述方法還包括:

所述客戶端根據(jù)所述查詢結(jié)果,更新所述本地?cái)?shù)據(jù)源中數(shù)據(jù)。

在實(shí)際使用過程中,本地?cái)?shù)據(jù)源中數(shù)據(jù)存儲(chǔ)過多可以會(huì)引起客戶端運(yùn)行較慢,或者客戶端卡頓等體驗(yàn)較差的情況,為了解決由于本地?cái)?shù)據(jù)源中數(shù)據(jù)存儲(chǔ)過多引起的問題。在本申請(qǐng)的實(shí)施例中,還可以提供刪除本地?cái)?shù)據(jù)源中數(shù)據(jù)的選項(xiàng)。

通過本實(shí)施例,用戶可以通過刪除本地?cái)?shù)據(jù)源中保存的數(shù)據(jù),從而避免客戶端的本地?cái)?shù)據(jù)源中存儲(chǔ)過多數(shù)據(jù)的問題,如此提高用戶體驗(yàn)。

本申請(qǐng)的一個(gè)具體地實(shí)施例中,在圖7所示實(shí)施例的基礎(chǔ)上,在所述步驟210中,所述從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,具體可以包括:

從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)、所述數(shù)據(jù)的id集合及上一頁中最后一個(gè)數(shù)據(jù)的id。

相應(yīng)地,在所述數(shù)據(jù)查詢請(qǐng)求中除了攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量外,還需要攜帶定位id,所述定位id為所述上一頁中最后一個(gè)數(shù)據(jù)的id。

請(qǐng)參見圖8,為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢方法的流程圖,該實(shí)施例從服務(wù)器側(cè)進(jìn)行描述,該實(shí)施例可以對(duì)應(yīng)圖3,包括以下步驟:

步驟310:接收客戶端發(fā)送的針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求,所述數(shù)據(jù)查詢請(qǐng)求中攜帶有所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)的第一id集合和該目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

步驟320:根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合;

步驟330:將查詢到的所述第二id集合與所述數(shù)據(jù)查詢請(qǐng)求中第一id集合進(jìn)行比較;

步驟340:在比較得出所述第一id集合和第二id集合具有相同id的情況下,向所述客戶端返回查詢結(jié)果時(shí),不返回所述具有相同id的數(shù)據(jù)。

在實(shí)際應(yīng)用中,服務(wù)器中除了新增的數(shù)據(jù),還可能存在刪除的數(shù)據(jù)。所述在本申請(qǐng)的實(shí)施例中,所述服務(wù)器查詢得到的查詢結(jié)果,可以是如下方式組合得到的:

在比較得出一id只存在于所述第二id集合中的請(qǐng)求下,將該id與其對(duì)應(yīng)的數(shù)據(jù)記入查詢結(jié)果中;

在比較得出一id只存在所述第一id集合中的情況下,將該id記入查詢結(jié)果。

當(dāng)然,也包括已經(jīng)說明的:在比較得出所述第一id集合和第二id集合具有相同id的情況下,不返回所述相同id的數(shù)據(jù)。也就是說,對(duì)于服務(wù)器和客戶端上都存在的數(shù)據(jù),在查詢結(jié)果中即不記錄所述相同id的數(shù)據(jù)也不記錄相同id本身。

在本申請(qǐng)的一個(gè)具體地實(shí)施例中,在圖8所示實(shí)施例的基礎(chǔ)上,所述數(shù)據(jù)查詢請(qǐng)求還攜帶有定位id,所述定位id為所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面上一頁中最后一個(gè)數(shù)據(jù)的id;

則所述步驟320,具體包括:

查詢所述定位id之后所述數(shù)量個(gè)數(shù)據(jù)的第二id集合。

與前述數(shù)據(jù)查詢方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了數(shù)據(jù)查詢裝置的實(shí)施例。

本申請(qǐng)數(shù)據(jù)查詢裝置的實(shí)施例可以分別應(yīng)用在客戶端。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖9所示,為本申請(qǐng)數(shù)據(jù)查詢裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖9所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該數(shù)據(jù)查詢的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。

參見圖10,為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置的模塊圖,該實(shí)施例從客戶端側(cè)進(jìn)行描述,所述裝置包括:讀取單元410、發(fā)送單元420和展示單元430。

其中,讀取單元410,接收到用于查詢目標(biāo)頁面中數(shù)據(jù)的查詢指令后,從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)和所述數(shù)據(jù)的第一id集合,所述本地?cái)?shù)據(jù)源中保存有上一次查詢?cè)撃繕?biāo)頁面時(shí)服務(wù)器返回的數(shù)據(jù);

發(fā)送單元420,向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合和所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

展示單元430,接收所述服務(wù)器返回的查詢結(jié)果后,與所述從本地?cái)?shù)據(jù)源中讀取到的該目標(biāo)頁面中數(shù)據(jù)進(jìn)行合并后展示。

在一個(gè)可選的實(shí)現(xiàn)方式中:

所述裝置還可以包括:

更新單元,根據(jù)所述查詢結(jié)果,更新所述本地?cái)?shù)據(jù)源中數(shù)據(jù)。

在一個(gè)可選的實(shí)現(xiàn)方式中:

所述讀取單元410,具體包括:

從本地?cái)?shù)據(jù)源讀取該目標(biāo)頁面中數(shù)據(jù)、所述數(shù)據(jù)的第一id集合及上一頁中最后一個(gè)數(shù)據(jù)的id,

所述發(fā)送單元420,具體包括:

向服務(wù)器發(fā)送數(shù)據(jù)查詢請(qǐng)求,該數(shù)據(jù)查詢請(qǐng)求中攜帶有所述第一id集合、所述目標(biāo)頁面展示數(shù)據(jù)的數(shù)量和定位id,所述定位id為所述上一頁中最后一個(gè)數(shù)據(jù)的id。

與前述數(shù)據(jù)查詢方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了數(shù)據(jù)查詢裝置的實(shí)施例。

本申請(qǐng)數(shù)據(jù)查詢裝置的實(shí)施例可以分別應(yīng)用在服務(wù)器。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖11所示,為本申請(qǐng)數(shù)據(jù)查詢裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖11所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該數(shù)據(jù)查詢的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。

參見圖12,為本申請(qǐng)一實(shí)施例提供的數(shù)據(jù)查詢裝置的模塊圖,該實(shí)施例從服務(wù)器側(cè)進(jìn)行描述,所述裝置包括:接收單元510、查詢單元520、比較單元530和返回單元540。

其中,接收單元510,接收客戶端發(fā)送的針對(duì)目標(biāo)頁面的數(shù)據(jù)查詢請(qǐng)求,所述數(shù)據(jù)查詢請(qǐng)求中攜帶有所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面中數(shù)據(jù)的第一id集合和該目標(biāo)頁面展示數(shù)據(jù)的數(shù)量;

查詢單元520,根據(jù)所述數(shù)量查詢所述目標(biāo)頁面中數(shù)據(jù)的第二id集合;

比較單元530,將查詢到的所述第二id集合與所述數(shù)據(jù)查詢請(qǐng)求中第一id集合進(jìn)行比較;

返回單元540,在比較得出所述第一id集合和第二id集合具有相同id的情況下,向所述客戶端返回查詢結(jié)果時(shí),不返回所述具有相同id的數(shù)據(jù)。

在一個(gè)可選的實(shí)現(xiàn)方式中:

所述查詢結(jié)果,通過如下方式組合得到:

在比較得出一id只存在于所述第二id集合中的請(qǐng)求下,將該id與其對(duì)應(yīng)的數(shù)據(jù)記入查詢結(jié)果中;

在比較得出一id只存在所述第一id集合中的情況下,將該id記入查詢結(jié)果。

在一個(gè)可選的實(shí)現(xiàn)方式中:

所述接收單元510中,所述數(shù)據(jù)查詢請(qǐng)求還攜帶有定位id,所述定位id為所述客戶端從本地?cái)?shù)據(jù)源讀取到的該目標(biāo)頁面上一頁中最后一個(gè)數(shù)據(jù)的id;

則,所述查詢單元520,具體包括:

查詢所述定位id之后所述數(shù)量個(gè)數(shù)據(jù)的第二id集合。

綜上所述,通過本申請(qǐng)?zhí)峁┑膶?shí)施例,在比較客戶端讀取到的本地?cái)?shù)據(jù)與服務(wù)器上查詢到的數(shù)據(jù)之后,對(duì)于客戶端和服務(wù)器中同時(shí)存在的數(shù)據(jù),服務(wù)器無需返回該數(shù)據(jù),而客戶端直接使用本地讀取到的該數(shù)據(jù)即可。如此,不僅實(shí)現(xiàn)了客戶端數(shù)據(jù)查詢時(shí)減少流量損耗,而且由于服務(wù)器無需返回同時(shí)存在于客戶端和服務(wù)器的數(shù)據(jù),減少了返回客戶端的數(shù)據(jù)量,從而縮短了數(shù)據(jù)查詢響應(yīng)時(shí)間。

上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。

對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。

本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1