本發(fā)明屬于通信領域,特別涉及計量數據的獲取方法。
背景技術:
計量數據在傳輸的時候遇到數據量大的時候,服務器在短時間內接收到很多客戶端發(fā)送的獲取數據請求,容易造成數據堵塞。由于現有的數據獲取方法均是將數據直接從服務器獲取,在服務器需要發(fā)送大量計量數據時,由于服務器的響應變慢,使得客戶端很難獲取到請求的計量數據,降低了用戶體驗。
技術實現要素:
為了解決現有技術中存在的缺點和不足,本發(fā)明提供了用于提升服務器的相應速度,提高用戶體驗的計量數據獲取方法。
為了達到上述技術目的,本發(fā)明提供了計量數據的獲取方法,用于對客戶端與服務器的通信過程進行控制,在所述客戶端設有存儲計量數據的本地數據庫,所述獲取方法還包括:
在接收到客戶端的計量數據請求后,查詢所述本地數據庫中的計量數據存儲情況;
如果所述本地數據庫中存儲有計量數據,則提取所述計量數據請求中包含的請求時間,獲取所述請求時間與存儲在所述本地數據庫中計量數據對應時間的時間差值;
如果所述時間差值的絕對值小于預設值,則將存儲在所述本地數據庫中的計量數據發(fā)送至所述客戶端進行顯示;
如果所述時間差值的絕對值大于所述預設值,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取位于所述請求時間與所述本地數據庫中計量數據對應時間之間的第一計量數據,將所述第一計量數據發(fā)送至所述客戶端。
可選的,在查詢所述本地數據庫中的計量數據存儲情況之后,所述獲取方法還包括:
如果所述本地數據庫中沒有計量數據,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取計量數據。
可選的,所述將所述第一計量數據發(fā)送至所述客戶端之后,所述獲取方法還包括:
如果所述客戶端未能接收所述第一計量數據,則觸發(fā)提醒重新獲取的操作;
如果所述客戶端成功獲取所述第一計量數據,則將所述第一計量數據存儲到所述本地數據庫中,并在所述客戶端進行顯示。
可選的,在從所述服務器獲取計量數據后,所述獲取方法還包括:
如果所述客戶端未能接收所述計量數據,則觸發(fā)提醒重新獲取的操作;
如果所述客戶端成功接收所述計量數據,則將所述計量數據存儲在所述本地數據庫中。
可選的,所述提醒重新獲取的操作,包括:
在所述客戶端設有顯示設備,在所述顯示設備上顯示提醒重新獲取的對話框。
可選的,所述計量數據為與所述客戶端對應的、在預設時間段內的用電量數據。
可選的,所述計量數據對應的時間為在所述預設時間段的最終時刻。
本發(fā)明提供的技術方案帶來的有益效果是:
通過在向服務器請求之前,在本地數據庫中查詢是否存儲有具有時效性的計量數據,在計量數據具有時效性的基礎上,直接將存儲的計量數據發(fā)送至客戶端。相對于現有技術能夠降低服務器對對客戶端請求的相應次數,從而降低服務器的壓力,提升服務器的相應速度,提高用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發(fā)明提供的計量數據的獲取方法的流程示意圖;
圖2是本發(fā)明提供的用于獲取計量數據的終端的框圖。
具體實施方式
下面結合本發(fā)明實施例的附圖對本發(fā)明實施例的技術方案進行解釋和說明,但下述實施例僅為本發(fā)明的優(yōu)選實施例,并非全部。基于實施方式中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得其他實施例,都屬于本發(fā)明的保護范圍。
在本說明書中引用的“一個實施例”或“實例”或“例子”意指結合實施例本身描述的特定特征、結構或特性可被包括在本專利公開的至少一個實施例中。短語“在一個實施例中”在說明書中的各位置的出現不必都是指同一個實施例。
另外,在本發(fā)明所附說明書和權利要求書中可使用術語“耦合”和“耦接”及其衍生詞。技術人員應該理解,這些術語不是要作為彼此的同義詞?!榜詈稀庇糜谥甘颈舜丝芍苯游锢斫佑|或電接觸或者可不直接物理接觸或電接觸的兩個或更多個元件彼此共同操作或相互作用。“連接”用于表示彼此耦合的兩個或更多元件之間的通信建立。
在本說明書所附的附圖中示出的處理步驟是由包括硬件(例如電路、專用邏輯單元等)、固件(諸如在通用計算裝置或專用機器上運行)或這二者的組合的處理邏輯執(zhí)行的。盡管以下各個實施例是依據一些順序操作描述了處理,但應該理解的是,某些描述的步驟操作可按不同次序執(zhí)行。此外,一些步驟操作可被并行地執(zhí)行而非順序地執(zhí)行。
實施例一
本發(fā)明提供了計量數據的獲取方法,用于對客戶端與服務器的通信過程進行控制,在所述客戶端設有存儲計量數據的本地數據庫,如圖1所示,所述獲取方法還包括:
11、在接收到客戶端的計量數據請求后,查詢所述本地數據庫中的計量數據存儲情況;
12、如果所述本地數據庫中存儲有計量數據,則提取所述計量數據請求中包含的請求時間,獲取所述請求時間與存儲在所述本地數據庫中計量數據對應時間的時間差值;
13、如果所述時間差值的絕對值小于預設值,則將存儲在所述本地數據庫中的計量數據發(fā)送至所述客戶端進行顯示;
14、如果所述時間差值的絕對值大于所述預設值,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取位于所述請求時間與所述本地數據庫中計量數據對應時間之間的第一計量數據,將所述第一計量數據發(fā)送至所述客戶端。
在實施中,為了降低在短時間內存在大量客戶端向服務器發(fā)送請求,從而增加服務器壓力的情況,本發(fā)明實施例提供了計量數據的獲取方法,用于對客戶端與服務器之間的通信過程進行控制,為了實現本方法,需要事先在客戶端設有本地數據庫,該本地數據庫用于存儲計量數據,計量數據是指與該客戶端對應的、在預設時間段內的用電量數據。
在執(zhí)行步驟11前,默認客戶端已經發(fā)出了計量數據請求。但是與現有技術不同的是,在發(fā)出計量數據請求后,并不將該計量數據請求直接發(fā)送至與客戶端對應的服務器,而是首先在本地數據庫中查詢是否存在計量數據。
根據具體檢索結果的不同,分別進行后續(xù)處理步驟。
如步驟12所示,如果在本地數據庫存儲有計量數據,需要進一步的判定該計量數據是否具有足夠的時效性,或者說該計量數據是否能夠代表客戶端的最近用電情況。進一步的,需要結合計量請求與本地數據庫中存儲的計量數據的時間判定是否能夠代表最近用電情況。
具體的,提取計量請求中的請求時間,即計量請求發(fā)起的時間標簽,同時提取本地數據庫中計量數據的對應時間,獲取兩個時間的差值,如果該差值的絕對值小于預設時間間隔,則判定本地數據庫中存儲的計量數值是具有足夠的時效性的,能夠代表客戶端當前的用電情況,因此可以將存儲在本地數據庫中的計量數據發(fā)送至客戶端,并在客戶端進行顯示。這里所稱的計量數據對應的時間為在所述預設時間段的最終時刻。即,本地數據庫中存儲的有8月1日至3日的計量數據,獲取時間差值中實用的計量數據的對應時間,是指8月3日,只有這樣,才能體現出獲取時間差值進而確定本地數據庫中計量數據時效性的意義。
相反的,如果該差值的絕對值大于預設值,則表明本地數據庫中存儲的計量數值是不具有足夠的時效性,無法代表客戶端當前的用電情況,需要從服務器處獲取新的計量數據。但是,由于本地數據庫中依然是存儲有計量數據的,雖然存儲的計量數據不具有時效性,但是出于降低服務器壓力的考慮,僅從服務器處獲取本地數據庫中存儲的計量數據對應的最后時間至發(fā)送請求對應的當前時間之間的計量數據即可,無需獲取客戶端全部的計量數據。
基于上述考慮,向服務器獲取位于請求時間與本地數據庫中計量數據對應時間之間的第一計量數據,在獲取后將第一計量數據發(fā)送至客戶端。從而完成計量數據的獲取步驟。
可選的,所述將所述第一計量數據發(fā)送至所述客戶端之后,所述獲取方法還包括:
15、如果所述客戶端未能接收所述第一計量數據,則觸發(fā)提醒重新獲取的操作;
16、如果所述客戶端成功獲取所述第一計量數據,則將所述第一計量數據存儲到所述本地數據庫中,并在所述客戶端進行顯示。
在實施中,在執(zhí)行步驟13或14后,考慮到客戶端對第一計量數據的接收情況,還需要對計量數據的獲取方法進行補充。
如果客戶端由于網絡原因,沒有接收到第一計量數據,即在實際使用場景中,服務器沒有在協議規(guī)定的時間內容接收到客戶端發(fā)送的成功接收回執(zhí),意味著客戶端對第一計量數據的接收失敗,此時會觸發(fā)重新獲取第一計量數據的操作,令客戶端重新發(fā)送計量數據請求,以便于服務器能夠根據重新發(fā)送的計量數據請求向客戶端發(fā)送與之對應的計量數據。當然重新發(fā)送的計量數據請求帶有新的時間標簽,因此第一計量數據對應的具體時間范圍也應重新計算。
如果服務器在協議規(guī)定的時間內成功接收到客戶端發(fā)送的成功接收第一計量數據的回執(zhí),則令客戶端首先將第一計量數據存儲至本地數據庫,進而將第一計量數據在客戶端上進行顯示。
可選的,在查詢所述本地數據庫中的計量數據存儲情況之后,所述獲取方法還包括:
如果所述本地數據庫中沒有計量數據,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取計量數據。
在實施中,與步驟12相對應的,如果在本地數據庫沒有存儲計量數據,就只能將計量數據請求發(fā)送至服務器,以便從服務器獲取與客戶端對應的計量數據。
與步驟15‐16類似,在從所述服務器獲取計量數據后,所述獲取方法還包括:
如果所述客戶端未能接收所述計量數據,則觸發(fā)提醒重新獲取的操作;
如果所述客戶端成功接收所述計量數據,則將所述計量數據存儲在所述本地數據庫中。
如果客戶端由于網絡原因,沒有接收到計量數據,即在實際使用場景中,服務器沒有在協議規(guī)定的時間內容接收到客戶端發(fā)送的成功接收回執(zhí),意味著客戶端對計量數據的接收失敗,此時會觸發(fā)重新獲取計量數據的操作,令客戶端重新發(fā)送計量數據請求,以便于服務器能夠根據重新發(fā)送的計量數據請求向客戶端發(fā)送與之對應的計量數據。當然重新發(fā)送的計量數據請求帶有新的時間標簽,因此計量數據對應的具體時間范圍也應重新計算。
如果服務器在協議規(guī)定的時間內成功接收到客戶端發(fā)送的成功接收計量數據的回執(zhí),則令客戶端首先將計量數據存儲至本地數據庫。
可選的,所述提醒重新獲取的操作,包括:
在所述客戶端設有顯示設備,在所述顯示設備上顯示提醒重新獲取的對話框。
在前述步驟中,提及到提醒重新獲取的操作,用于在客戶端獲取第一計量數據或計量數據失敗后,生成并發(fā)送向計量數據請求。具體的實現方式為,在客戶端設有顯示設備,在顯示設備上以對話框的方式顯示該提醒,使得使用者在看到該對話框后,通過一系列操作重新生成計量數據請求。
本發(fā)明實施例提出了計量數據的獲取方法,包括在接收到客戶端的計量數據請求后,查詢所述本地數據庫中的計量數據存儲情況,獲取請求時間與存儲在所述本地數據庫中計量數據對應時間的時間差值;如果時間差值小于預設值則將本地數據庫中存儲的計量數據作為與客戶端請求對應的計量數據,如果時間差值大于預設值,則僅從服務器獲取需要更新的計量數據。通過在向服務器請求之前,在本地數據庫中查詢是否存儲有具有時效性的計量數據,在計量數據具有時效性的基礎上,直接將存儲的計量數據發(fā)送至客戶端。相對于現有技術能夠降低服務器對對客戶端請求的相應次數,從而降低服務器的壓力,提升服務器的相應速度,提高用戶體驗。
實施例二
圖2是根據一示例性實施例示出的用于獲取計量數據的終端800的框圖。例如,終端800可以是移動電話,計算機,數字廣播終端,消息收發(fā)設備,游戲控制臺,平板設備,醫(yī)療設備,健身設備,個人數字助理等。
參照圖2,終端800可以包括以下一個或多個組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,傳感器組件814,以及通信組件816。
處理組件802通常控制終端800的整體操作,諸如與顯示,電話呼叫,數據通信,相機操作和記錄操作相關聯的操作。處理元件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理部件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數據以支持在終端800的操作。這些數據的示例包括用于在終端800上操作的任何應用程序或方法的指令,聯系人數據,電話簿數據,消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現,如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件806為終端800的各種組件提供電力。電力組件806可以包括電源管理系統,一個或多個電源,及其他與為終端800生成、管理和分配電力相關聯的組件。
多媒體組件808包括在所述終端800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當終端800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數據。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統或具有焦距和光學變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(MIC),當終端800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為終端800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到終端800的打開/關閉狀態(tài),組件的相對定位,例如所述組件為終端800的顯示器和小鍵盤,傳感器組件814還可以檢測終端800或終端800一個組件的位置改變,用戶與終端800接觸的存在或不存在,終端800方位或加速/減速和終端800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于終端800和其他設備之間有線或無線方式的通信。終端800可以接入基于通信標準的無線網絡,如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信部件816經由廣播信道接收來自外部廣播管理系統的廣播信號或廣播相關信息。在一個示例性實施例中,所述通信部件816還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數據協會(IrDA)技術,超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現。
在示例性實施例中,終端800可以被一個或多個應用專用集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現,用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例如包括指令的存儲器804,上述指令可由終端800的處理器820執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數據存儲設備等。
一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令由移動終端的處理器執(zhí)行時,使得移動終端能夠執(zhí)行對計量數據的獲取方法,用于對客戶端與服務器的通信過程進行控制,在所述客戶端設有存儲計量數據的本地數據庫,所述獲取方法還包括:
在接收到客戶端的計量數據請求后,查詢所述本地數據庫中的計量數據存儲情況;
如果所述本地數據庫中存儲有計量數據,則提取所述計量數據請求中包含的請求時間,獲取所述請求時間與存儲在所述本地數據庫中計量數據對應時間的時間差值;
如果所述時間差值的絕對值小于預設值,則將存儲在所述本地數據庫中的計量數據發(fā)送至所述客戶端進行顯示;
如果所述時間差值的絕對值大于所述預設值,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取位于所述請求時間與所述本地數據庫中計量數據對應時間之間的第一計量數據,將所述第一計量數據發(fā)送至所述客戶端。
可選的,在查詢所述本地數據庫中的計量數據存儲情況之后,所述獲取方法還包括:
如果所述本地數據庫中沒有計量數據,則將所述計量數據請求發(fā)送至服務器,從所述服務器獲取計量數據。
可選的,所述將所述第一計量數據發(fā)送至所述客戶端之后,所述獲取方法還包括:
如果所述客戶端未能接收所述第一計量數據,則觸發(fā)提醒重新獲取的操作;
如果所述客戶端成功獲取所述第一計量數據,則將所述第一計量數據存儲到所述本地數據庫中,并在所述客戶端進行顯示。
可選的,在從所述服務器獲取計量數據后,所述獲取方法還包括:
如果所述客戶端未能接收所述計量數據,則觸發(fā)提醒重新獲取的操作;
如果所述客戶端成功接收所述計量數據,則將所述計量數據存儲在所述本地數據庫中。
可選的,所述提醒重新獲取的操作,包括:
在所述客戶端設有顯示設備,在所述顯示設備上顯示提醒重新獲取的對話框。
可選的,所述計量數據為與所述客戶端對應的、在預設時間段內的用電量數據。
可選的,所述計量數據對應的時間為在所述預設時間段的最終時刻。
本發(fā)明實施例提出了計量數據的獲取方法,包括在接收到客戶端的計量數據請求后,查詢所述本地數據庫中的計量數據存儲情況,獲取請求時間與存儲在所述本地數據庫中計量數據對應時間的時間差值;如果時間差值小于預設值則將本地數據庫中存儲的計量數據作為與客戶端請求對應的計量數據,如果時間差值大于預設值,則僅從服務器獲取需要更新的計量數據。通過在向服務器請求之前,在本地數據庫中查詢是否存儲有具有時效性的計量數據,在計量數據具有時效性的基礎上,直接將存儲的計量數據發(fā)送至客戶端。相對于現有技術能夠降低服務器對對客戶端請求的相應次數,從而降低服務器的壓力,提升服務器的相應速度,提高用戶體驗。
本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權利要求指出。
應當理解的是,本發(fā)明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權利要求來限制。