分頁查詢方法及裝置和電子設備
本說明書實施例涉及網際網路技術領域,尤其涉及一種分頁查詢方法及裝置和電子設備。
隨著網際網路業務的不斷增多,平台涉及到的業務也相應增多。由於不同業務產生的業務資料並不相同,因此需要儲存的資料庫、資料庫類型也都不相同。當前存在一些需要不同業務資料同時分頁顯示的需求。對於這些查詢請求,往往需要從不同的資料源中查詢資料,之後還需要將這些不同的業務資料轉換為同一類型的臨時資料,分頁後才可以提供給請求方。 需要提供更有效率的分頁查詢方案。
本說明書實施例提供的一種分頁查詢方法及裝置和電子設備,用於提供更為效率的方案來找尋使用尋廢棄字段的服務使用方。 根據本說明書實施例提供的一種分頁查詢方法,所述方法包括: 客戶端向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 所述服務端在接收所述客戶端發起的第一請求後,向每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 所述資料源在接收所述服務端發起的第二請求後,查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 所述資料源根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端; 所述服務端合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 所述服務端截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 所述服務端將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端; 所述客戶端接收所述服務端回傳的資料和每個資料源的第二創建時刻; 所述客戶端根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 根據本說明書實施例提供的一種分頁查詢方法,所述方法包括: 向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻; 接收所述服務端回傳的資料和每個資料源的第二創建時刻; 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 根據本說明書實施例提供的一種分頁查詢方法,所述方法包括: 接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 根據本說明書實施例提供的一種分頁查詢方法,所述方法包括: 接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端。 根據本說明書實施例提供的一種分頁查詢裝置,所述裝置包括: 請求單元,向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻; 接收單元,接收所述服務端回傳的資料和每個資料源的第二創建時刻; 更新單元,根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 根據本說明書實施例提供的一種分頁查詢裝置,所述裝置包括: 接收單元,接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 請求單元,向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 排序單元,合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 處理單元,截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 回傳單元,將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 根據本說明書實施例提供的一種分頁查詢裝置,所述裝置包括: 接收單元,接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 查詢單元,查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 回傳單元,根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端。 根據本說明書實施例提供的一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻; 接收所述服務端回傳的資料和每個資料源的第二創建時刻; 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 根據本說明書實施例提供的一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 根據本說明書實施例提供的一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端。 本說明書實施例中,透過傳遞創建時刻這一參數,可以實現跨多個資料源的分頁資料查詢;並且無需新建資料表,也就不會造成分頁資料查詢延遲。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書的一些方面相一致的裝置和方法的例子。 在本說明書使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書。在本說明書和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“及/或”是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。 應當理解,儘管在本說明書可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“反應於確定”。 如前所述,隨著網際網路業務的不斷增多,平台涉及到的業務也相應增多。由於不同業務產生的業務資料並不相同,因此需要儲存的資料庫、資料庫類型也都不相同。當前存在一些需要不同業務資料同時分頁顯示的需求。對於這些查詢請求,往往需要從不同的資料源中查詢資料,不同資料源中的資料無法協調完成分頁顯示。為此,現有技術中,需要新建資料表,將不同資料源中查詢到的資料暫時統一儲存到該表中,然後對該資料表中的資料進行操作例如排序篩選等,最後將需要的資料回傳給請求方。這樣,由於查詢過程中涉及到新建資料表,資料儲存到資料表,以及資料表的操作等,容易造成分頁資料查詢延遲。 圖1為本申請實施例中提供的實現分頁查詢的系統架構圖。本實施例中,該系統可以包括客戶端11、服務端12和多個資料源13。 客戶端11可以是安裝有應用的終端,例如蘋果的IOS系統中安裝的移動應用(App)、Google的Android系統中安裝的應用或微軟的Windows/WindowsPhone系統中安裝的應用。結合安裝的應用,客戶端11可以與服務端12進行通信,本實施例中,客戶端11可以向服務端12發起分頁查詢的請求。 服務端12可以是客戶端11中應用對應的用於資料查詢的應用伺服器、伺服器集群或者基於伺服器集群構建的服務平台等。所述服務端12可以基於客戶端11發送的請求,向資料源13查詢資料,並向客戶端11回傳查詢到的資料。 資料源13可以是指資料庫應用程式所使用的資料庫或者資料庫伺服器。資料源13中一般可以儲存有相關的資料。所述多個資料源13可以是指至少2個資料源。如前所述,不同的資料源可以儲存有不同的資料,例如不同的業務可以對應有不同的資料源,每個業務產生的業務資料都需要儲存到相應的資料源中。 用戶透過客戶端11分頁查詢資料,服務端12基於客戶端11發起的請求,向相應的資料源查詢資料,並對查詢到的資料進行處理,將處理後的資料回傳給客戶端11,客戶端11展示服務端12回傳的資料。 以下請結合圖2所示的例子介紹本說明書一種分頁查詢方法的實施例,該方法可以包括以下步驟: 步驟210:客戶端向服務端發起分頁資料查詢的第一請求。 本實施例中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻。 所述用戶標識可以是指用戶或者帳戶的唯一標識,例如可以包括用戶ID、用戶帳戶名、手機號等。 所述查詢個數可以包括客戶端螢幕最大可同時顯示的資料條數,也可以包括用戶自定義設置的資料條數。 為了便於閱讀和理解,以下定義查詢個數為N;第一創建時刻為T;不同資料源的第一創建時刻可以是例如T1,T2……。 需要說明書的是,在所述客戶端第一次向服務端發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 步驟220:所述服務端在接收所述客戶端發起的第一請求後,向每個資料源發起資料查詢的第二請求。 服務端接接收到所述客戶端發起的第一請求後,可以根據所述第一請求涉及到的多個資料源,分別向這些資料源發起資料查詢的第二請求。 所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻。也就是說,所述服務端可以將客戶端傳輸的用戶標識、查詢個數和第一創建時刻傳遞給對應的資料源。 如圖3所示的一個例子中,客戶端發起分頁資料查詢的第一請求,該分頁資料查詢涉及A資料源和B資料源;該第一請求中攜帶有用戶標識user,查詢個數N,A資料源的第一創建時刻T1,B資料源的第一創建時刻T2; 那麼,服務端在接收到該第一請求後,分別可以向A資料源和B資料源發起資料查詢的第二請求: 向A資料源發起的第二請求中攜帶有用戶標識user,查詢個數N,A資料源的第一創建時刻T1; 向B資料源發起的第二請求中攜帶有用戶標識user,查詢個數N,B資料源的第一創建時刻T2。 步驟230:所述資料源在接收所述服務端發起的第二請求後,查詢屬於所述用戶標識並且符合所述第一創建時刻的資料。 需要說明的是,資料源中儲存的資料一般會有一個創建時刻,所述創建時刻通常是資料寫入資料源的時刻,或者資料源中生成資料的時刻或時間戳。 本實施例中,所述符合所述第一創建時刻的資料,具體需要根據分頁資料查詢的排序方式。一般的,排序方式可以包括正序和倒序; 1:如果是正序,則所述符合所述第一創建時刻的資料,具體可以包括: 創建時刻大於所述第一創建時刻的資料。 該方式是採用正序,客戶端中顯示的資料是按照創建時間的先後順序排序的,並且創建時刻越晚的資料排越前,創建時刻越早的資料排越後。 在應用過程中: 資料源在接收到所述服務端發起的第二請求後,可以根據所述第二請求中攜帶的參數查詢資料,具體地: 首先,根據用戶標識,查詢輸入所述用戶標識的所有資料; 然後,根據第一創建時刻,在所述用戶標識的資料中,篩選出創建時刻大於所述第一創建時刻的資料;這樣篩選出的資料才是本次查詢所需要的資料。 舉例說明,某用戶標識的資料如下: 資料1,創建時刻2017年10月1日(為了表示方便,該示例僅精確到天,實際可以精確到秒、毫秒甚至微秒等); 資料2,創建時刻2017年8月1日; 資料3,創建時刻2016年10月1日; 資料4,創建時刻2017年11月1日; 資料5,創建時刻2017年5月1日; 假設第一創建時刻為2017年9月1日; 則,符合所述第一創建時刻的資料應該是創建時刻大於2017年9月1日的資料,即資料1和資料4。 2:如果是倒序,則所述符合所述第一創建時刻的資料,具體可以包括: 創建時刻小於或等於所述第一創建時刻的資料。 該方式是採用倒序,客戶端中顯示的資料是按照創建時間的先後順序排序的,並且創建時刻越早的資料排越前,創建時刻越晚的資料排越後。 在應用過程中: 資料源在接收到所述服務端發起的第二請求後,可以根據所述第二請求中攜帶的參數查詢資料,具體地: 首先,根據用戶標識,查詢輸入所述用戶標識的所有資料; 然後,根據第一創建時刻,在所述用戶標識的資料中,篩選出創建時刻小於或等於所述第一創建時刻的資料;這樣篩選出的資料才是本次查詢所需要的資料。 沿用上一示例,符合所述第一創建時刻的資料應該是創建時刻小於或等於2017年9月1日的資料,即資料2、資料3和資料5。 步驟240:所述資料源根據每個資料的創建時刻對所查詢到的資料進行排序,將排序後前所述查詢個數的資料回傳給所述服務端。 上一步驟中查詢到的資料一般是無序的,因此本步驟需要對其進行排序。 如前所述,所述排序,具體可以根據分頁資料查詢的排序方式,如果分頁資料查詢指定是正序,那麼這裡的排序也是正序;如果分頁資料查詢指定是倒序,那麼這裡的排序也是倒序。 1:如果是正序; 服務端可以對所查詢到的資料,按照創建時刻由晚到早順序排列。 延用上一步驟中的示例,查詢到的資料為: 資料1,創建時刻2017年10月1日; 資料4,創建時刻2017年11月1日; 服務端根據資料1和資料4的創建時刻進行排序,由於資料4的創建時刻晚於資料1的創建時刻;因此排序後的順序為:資料4在前,資料1在後。 2:如果是倒序, 服務端可以對所查詢到的資料,按照創建時刻由早到晚順序排列。 延用上一步驟中的示例,查詢到的資料為: 資料2,創建時刻2017年8月1日; 資料3,創建時刻2016年10月1日; 資料5,創建時刻2017年5月1日; 服務端根據資料2、資料3和資料5的創建時刻進行排序,由於資料3的創建時刻最早,資料2的創建時刻最晚,資料5的創建時刻位於中間;因此排序後的順序為:資料3在前、資料5在中間、資料2在後。 所述資料在對查詢到的資料排序後,可以根據第二請求中攜帶的查詢個數N,將排序後前N個資料回傳給所述服務端。當然,如果排序後的資料個數不足N個,則直接將排序的所有資料回傳,即有查詢到多少資料就回傳多少資料。 步驟250:所述服務端合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序。 由於每個資料源都可能回傳N個資料,因此服務端發起X個第二請求,就可以接收X*N個資料。同樣地,雖然單個資料源回傳的資料可以認為排序過的,但是多個資料源回傳的資料合併後又變為無序的,因此服務端也需要對資料進行排序。 所述服務端排序與上述資料源排序相同,如果資料源是正序,這裡服務端也是正序;如果資料源是倒序,這裡服務端也是倒序,具體排序過程此處不再贅述。 舉例說明: 如圖4所示,A資料源和B資料源都向服務端回傳了N個資料;服務端合併這2N個資料後,還需要對其進行排序。 假設N=3,排序方式為倒序,A資料源回傳的3個資料: 資料1,創建時刻2016年5月1日; 資料2,創建時刻2016年10月1日; 資料3,創建時刻2017年5月1日; B資料源回傳的3個資料: 資料4,創建時刻2016年8月1日; 資料5,創建時刻2017年3月1日; 資料6,創建時刻2017年10月1日; 服務端排序後順序依次為:資料1,資料4,資料2,資料5,資料3,資料6。 步驟260:所述服務端截取排序後前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻。 所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻。 步驟270:所述服務端將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 在服務端對合併後資料排序後,可以截取前N個資料,並記錄下前N資料的第二創建時刻。 繼續參考圖4,服務端回傳給客戶端的資料個數為N個,並還攜帶有每個資料源的第二創建時刻。 繼續沿用上一步驟中的示例,服務端排序後順序依次為:資料1,資料4,資料2,資料5,資料3,資料6; 由於N=3,因此截取前3個的資料為:資料1,資料4,資料2; 進一步的,由於資料2為該截取資料中A資料源回傳的最後一個資料,因此,A資料源的第二創建時刻為資料2的創建時刻T1’即2016年10月1日; 由於資料4為該截取資料中B資料源回傳的最後一個資料,因此,B資料源的第二創建時刻為資料4的創建時刻T2’即2016年8月1日; 最終,服務端回傳給客戶端包括資料1,資料4,資料2,以及T1’和T2’。 值得一提的是,服務端接收X*N個資料,但僅截取前N個資料回傳給客戶端;而剩餘(X-1)*N個資料並不回傳給客戶端。由於剩餘的資料是無用資料,因此,在所述步驟270之後,所述方法還可以包括: 所述服務端清空截取後剩餘的資料。 如此,可以提高服務端儲存空間的使用率,特別是內存空間使用率。 步驟280:所述客戶端接收所述服務端回傳的資料和每個資料源的第二創建時刻。 步驟290:所述客戶端根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 所述客戶端在接收到所述服務端回傳的資料和每個資料源的第二創建時刻之後,可以展示所述資料,並根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻,即將每個資料源的第二創建時刻賦值給每個資料源的第一創建時刻。 例如,A資料源的第一創建時刻為2017年5月1日;接收到的A資料源的第二創建時刻為2017年6月1日;則,客戶端可以將A資料源的第一創建時刻由2017年5月1日更新為2017年6月1日。 用戶翻頁,查詢下一頁資料時,客戶端就可以按照重複執行上述步驟210-290。由於客戶端本地已經更新了第一創建時刻,下一次查詢的資料是本次查詢的資料之後的資料。 本實施例,透過傳遞創建時刻這一參數,可以實現跨多個資料源的分頁資料查詢;並且無需新建資料表,也就不會造成分頁資料查詢延遲。 在上述圖2所示實施例基礎上,如圖5所示,所述第一請求中還攜帶有每個資料源的第一標識號;所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 相應地,所述第二請求中還攜帶有對應該資料源的第一標識號; 所述步驟240,具體可以包括: 步驟241:所述資料源根據每個資料的創建時刻對所查詢到的資料進行排序; 步驟242:在存在相同創建時刻的資料的情況下,所述資料源按照資料的標識號對相同創建時刻的資料進行排序; 步驟243:所述資料源將排序後前所述查詢個數的資料回傳給所述服務端。 在所述步驟250之後,所述方法還可以包括: 所述步驟251:在存在相同創建時刻的資料的情況下,所述服務端按照資料的標識號對相同創建時刻的資料進行排序。 所述步驟260,具體可以包括: 所述服務端截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻和第二標識號;其中,所述第二標識號為本次查詢到資料源回傳最後一個資料的標識號。 所述步驟270,具體可以包括: 所述服務端將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻、標識號回傳給所述客戶端。 所述步驟280,具體可以包括: 所述客戶端接收所述服務端回傳的資料、每個資料源的第二創建時刻和第二標識號。 所述步驟290,具體可以包括: 步驟291:所述客戶端根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻; 步驟292:所述客戶端根據所述每個資料源的第二標識號更新所述每個資料源的第一標識號。 透過本實施例,排序時對於相同創建時刻的資料,可以進一步按照標識號進行排序。 以下結合圖6介紹本申請以客戶端為主體的方法實施例,該實施例可以對應圖2: 步驟310:向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻。 值得一提的是,在第一次向服務端發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 步驟320:接收所述服務端回傳的資料和每個資料源的第二創建時刻。 步驟330:根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 在圖6所示實施例的基礎上,另一個具體地實施例可以對應圖5: 所述第一請求中還攜帶有每個資料源的第一標識號;所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述步驟320,具體包括: 接收所述服務端回傳的資料、每個資料源的第二創建時刻和第二標識號; 所述步驟330,具體包括: 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻; 根據所述每個資料源的第二標識號更新所述每個資料源的第一標識號。 以下結合圖7介紹本申請以服務端為主體的方法實施例,該實施例可以對應圖2: 步驟410:接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻。 值得一提的是,在所述客戶端第一次發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 步驟420:向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 步驟430:合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 步驟440:截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻。 值得一提的是,在所述步驟440之後,所述方法還可以包括: 所述服務端清空截取後剩餘的資料。 如此,可以提高服務端儲存空間的使用率,特別是內存空間使用率。 步驟450:將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 在圖7所示實施例的基礎上,另一個具體地實施例可以對應圖5: 所述第一請求中還攜帶有每個資料源的第一標識號,所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述第二請求中還攜帶有對應該資料源的第一標識號; 所述步驟430之後,所述方法還可以包括: 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 所述步驟440,具體可以包括: 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻和第二標識號;其中,所述第二標識號為本次查詢到資料源回傳最後一個資料的標識號; 所述步驟450,具體可以包括: 將所述截取的所述查詢個數的資料、所記錄的每個資料源的第二創建時刻和第二標識號回傳給所述客戶端。 以下結合圖8介紹本申請以資料源為主體的方法實施例,該實施例可以對應圖2: 步驟510:接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 步驟520:查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 步驟530:根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端。 在圖8所示實施例的基礎上,另一個具體地實施例可以對應圖5: 所述第二請求中還攜帶有對應本資料源的第一標識號; 所述步驟530,具體包括: 根據每個資料的創建時刻對所查詢到的資料進行排序; 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 將排序後前所述查詢個數的資料回傳給所述服務端。 與前述圖6所述分頁查詢方法實施例相對應,本說明書還提供了一種分頁查詢裝置的實施例。所述裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在設備的處理器將非揮發性儲存器中對應的計算機程式指令讀取到內存記憶體中運行形成的。從硬體層面而言,本說明書分頁查詢裝置所在設備的一種硬體結構可以包括處理器、網路介面、內存記憶體以及非揮發性儲存器之外,實施例中裝置所在的設備通常根據該分頁查詢實際功能,還可以包括其他硬體,對此不再贅述。 參見圖9,為本說明書一實施例提供的分頁查詢裝置的模組圖,所述裝置包括: 請求單元610,向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻; 接收單元620,接收所述服務端回傳的資料和每個資料源的第二創建時刻; 更新單元630,根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 在一個可選的實施例中: 在第一次向服務端發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 在一個可選的實施例中: 所述第一請求中還攜帶有每個資料源的第一標識號,所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述接收單元620,具體包括: 接收所述服務端回傳的資料、每個資料源的第二創建時刻和第二標識號; 所述更新單元630,具體包括: 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻; 根據所述每個資料源的第二標識號更新所述每個資料源的第一標識號。 與前述圖7所述分頁查詢方法實施例相對應,本說明書還提供了一種分頁查詢裝置的實施例。所述裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在設備的處理器將非揮發性儲存器中對應的計算機程式指令讀取到內存記憶體中運行形成的。從硬體層面而言,本說明書分頁查詢裝置所在設備的一種硬體結構可以包括處理器、網路介面、內存記憶體以及非揮發性儲存器之外,實施例中裝置所在的設備通常根據該分頁查詢實際功能,還可以包括其他硬體,對此不再贅述。 參見圖10,為本說明書一實施例提供的分頁查詢裝置的模組圖,所述裝置包括: 接收單元710,接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 請求單元720,向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 排序單元730,合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 處理單元740,截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 回傳單元750,將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 在一個可選的實施例中: 在所述客戶端第一次發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 在一個可選的實施例中: 所述第一請求中還攜帶有每個資料源的第一標識號,所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述第二請求中還攜帶有對應該資料源的第一標識號; 在所述排序單元730之後,所述裝置還包括: 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 所述處理單元740,具體包括: 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻和第二標識號;其中,所述第二標識號為本次查詢到資料源回傳最後一個資料的標識號; 所述回傳單元750,具體包括: 將所述截取的所述查詢個數的資料、所記錄的每個資料源的第二創建時刻和第二標識號回傳給所述客戶端。 與前述圖8所述分頁查詢方法實施例相對應,本說明書還提供了一種分頁查詢裝置的實施例。所述裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在設備的處理器將非揮發性儲存器中對應的計算機程式指令讀取到內存記憶體中運行形成的。從硬體層面而言,本說明書分頁查詢裝置所在設備的一種硬體結構可以包括處理器、網路介面、內存記憶體以及非揮發性儲存器之外,實施例中裝置所在的設備通常根據該分頁查詢實際功能,還可以包括其他硬體,對此不再贅述。 參見圖11,為本說明書一實施例提供的分頁查詢裝置的模組圖,所述裝置包括: 接收單元810,接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 查詢單元820,查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 回傳單元830,根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端 在一個可選的實施例中: 所述第二請求中還攜帶有對應本資料源的第一標識號; 所述回傳單元830,具體包括: 根據每個資料的創建時刻對所查詢到的資料進行排序; 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 將排序後前所述查詢個數的資料回傳給所述服務端。 上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機芯片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機,計算機的具體形式可以是個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任意幾種設備的組合。 上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。 對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。 以上圖9描述了分頁查詢裝置的內部功能模組和結構示意,其實質上的執行主體可以為一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 向服務端發起分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為上一次查詢到資料源回傳最後一個資料的創建時刻; 接收所述服務端回傳的資料和每個資料源的第二創建時刻; 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻。 可選的,在第一次向服務端發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 可選的,所述第一請求中還攜帶有每個資料源的第一標識號,所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述接收所述服務端回傳的資料和每個資料源的第二創建時刻,具體包括: 接收所述服務端回傳的資料、每個資料源的第二創建時刻和第二標識號; 所述根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻,具體包括: 根據所述每個資料源的第二創建時刻更新所述每個資料源的第一創建時刻; 根據所述每個資料源的第二標識號更新所述每個資料源的第一標識號。 以上圖10描述了分頁查詢裝置的內部功能模組和結構示意,其實質上的執行主體可以為一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 接收客戶端發起的分頁資料查詢的第一請求;其中,所述分頁資料查詢涉及至少二個資料源,所述第一請求中攜帶有用戶標識、查詢個數和每個資料源的第一創建時刻,所述第一創建時刻為所述客戶端上一次查詢到資料源回傳最後一個資料的創建時刻; 向所述分頁資料查詢涉及的每個資料源發起資料查詢的第二請求;其中,所述第二請求攜帶有所述用戶標識、查詢個數和對應該資料源的第一創建時刻; 合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序; 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻;其中,所述第二創建時刻為本次查詢到資料源回傳最後一個資料的創建時刻; 將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端。 可選的,在所述客戶端第一次發起分頁資料查詢的第一請求時,所述第一請求中攜帶的每個資料源的第一創建時刻為空。 可選的,所述第一請求中還攜帶有每個資料源的第一標識號,所述第一標識號為所述客戶端上一次查詢到資料源回傳最後一個資料的標識號; 所述第二請求中還攜帶有對應該資料源的第一標識號; 在所述合併每個資料源回傳的資料,並且按照每個資料的創建時刻對合併後的資料進行排序之後,還包括: 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 所述截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻,具體包括: 截取前所述查詢個數的資料,並記錄所述截取資料中的第二創建時刻和第二標識號;其中,所述第二標識號為本次查詢到資料源回傳最後一個資料的標識號; 所述將所述截取的所述查詢個數的資料和所記錄的每個資料源的第二創建時刻回傳給所述客戶端,具體包括: 將所述截取的所述查詢個數的資料、所記錄的每個資料源的第二創建時刻和第二標識號回傳給所述客戶端。 以上圖11描述了分頁查詢裝置的內部功能模組和結構示意,其實質上的執行主體可以為一種電子設備,包括: 處理器; 用於儲存處理器可執行指令的儲存器; 其中,所述處理器被配置為: 接收服務端發起的資料查詢的第二請求;其中,所述第二請求攜帶有用戶標識、查詢個數和對應本資料源的第一創建時刻,所述第一創建時刻為客戶端上一次查詢到本資料源回傳最後一個資料的創建時刻; 查詢屬於所述用戶標識並且符合所述第一創建時刻的資料; 根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端。 可選的,所述第二請求中還攜帶有對應本資料源的第一標識號; 所述根據每個資料的創建時刻對所查詢到的資料進行排序,將前所述查詢個數的資料回傳給所述服務端,具體包括: 根據每個資料的創建時刻對所查詢到的資料進行排序; 在存在相同創建時刻的資料的情況下,按照資料的標識號對相同創建時刻的資料進行排序; 將排序後前所述查詢個數的資料回傳給所述服務端。 在上述電子設備的實施例中,應理解,該處理器可以是中央處理單元(英文:Central Processing Unit,簡稱:CPU),還可以是其他通用處理器、數位信號處理器(英文:Digital Signal Processor,簡稱:DSP)、專用積體電路(英文:Application Specific Integrated Circuit,簡稱:ASIC)等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等,而前述的儲存器可以是唯讀記憶體(英文:read-only memory,縮寫:ROM)、隨機存取記憶體(英文:random access memory,簡稱:RAM)、快閃記憶體、硬碟或者固態硬碟。結合本發明實施例所公開的方法的步驟可以直接體現為硬體處理器執行完成,或者用處理器中的硬體及軟體模組組合執行完成。 本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於電子設備實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。 應當理解的是,本說明書並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
610‧‧‧請求單元
620‧‧‧接收單元
630‧‧‧更新單元
710‧‧‧接收單元
720‧‧‧請求單元
730‧‧‧排序單元
740‧‧‧處理單元
750‧‧‧回傳單元
810‧‧‧接收單元
820‧‧‧查詢單元
830‧‧‧回傳單元
圖1是本說明書一實施例提供的實現分頁查詢的系統架構圖; 圖2是本說明書一實施例提供的分頁查詢方法的流程圖; 圖3是本說明書一實施例提供的第一請求、第二請求的示意圖; 圖4是本說明書一實施例提供的回傳查詢到資料的示意圖; 圖5是本說明書一實施例提供的分頁查詢方法的流程圖; 圖6是本說明書一實施例提供的以客戶端為主體的方法流程圖; 圖7是本說明書一實施例提供的以服務端為主體的方法流程圖; 圖8是本說明書一實施例提供的以資料源為主體的方法流程圖; 圖9是本說明書一實施例提供的分頁查詢裝置的模組示意圖; 圖10是本說明書一實施例提供的分頁查詢裝置的模組示意圖; 圖11是本說明書一實施例提供的分頁查詢裝置的模組示意圖。