本發(fā)明涉及到位置查詢領域,特別是涉及到一種位置查詢的方法和裝置。
背景技術(shù):
現(xiàn)有是客戶端在查詢位置時,首先發(fā)送位置查詢命令到第三方地址查詢服務器,然后第三方地址查詢服務器根據(jù)位置查詢命令收縮到對應的位置信息,然后返還給客戶端,其中,在位置查詢過程中,資源消耗大,速度慢,無法保證可用性。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的為提供一種消耗小、查詢速度快的位置查詢的方法和裝置。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明提出一種位置查詢的方法,包括:
服務端接收客戶端的位置查詢命令;
根據(jù)所述查詢命令在本地的緩存數(shù)據(jù)庫查找對應的位置信息;
如果位置信息查詢成功,則將該位置信息發(fā)送給客戶端;如果位置信息查詢失敗,則通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息發(fā)送給客戶端,并將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中。
進一步地,所述通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息的方法,包括:
將位置查詢命令轉(zhuǎn)換成對應不同第三方地址查詢服務器接口的數(shù)據(jù)格式,并分別發(fā)送給對應的第三方地址查詢服務器;
接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
進一步地,所述接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式的步驟,包括:
當多個第三方地址查詢服務器均有返回位置信息時,只接收第一個到達的位置信息,并將其轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
進一步地,所述接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式的步驟,包括:
當多個第三方地址查詢服務器均有返回位置信息時,將全部的返回位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并且將最快轉(zhuǎn)換完成的位置信息保存,其余的刪除。
發(fā)明還提供一種位置查詢的裝置,包括:
接收單元,用于服務端接收客戶端的位置查詢命令;
查詢單元,用于根據(jù)所述查詢命令在本地的緩存數(shù)據(jù)庫查找對應的位置信息;
獲取存儲單元,如果位置信息查詢成功,則將該位置信息發(fā)送給客戶端;如果位置信息查詢失敗,則通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息發(fā)送給客戶端,將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中。
進一步地,所述獲取存儲單元,包括:
第一轉(zhuǎn)換模塊,用于將位置查詢命令轉(zhuǎn)換成對應不同第三方地址查詢服務器接口的數(shù)據(jù)格式,并發(fā)送給對應的第三方地址查詢服務器;
第二轉(zhuǎn)換模塊,接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
進一步地,所述第二轉(zhuǎn)換模塊,包括:
第一轉(zhuǎn)換子模塊,用于當多個第三方地址查詢服務器均有返回位置信息時,只接收第一個到達的返回位置信息,并將其轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
進一步地,所述第二轉(zhuǎn)換模塊,包括:
第二轉(zhuǎn)換子模塊,用于當多個第三方地址查詢服務器均有返回位置信息時,將全部的返回位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并且將最快轉(zhuǎn)換完成的位置信息保存,其余的刪除。
本發(fā)明的位置查詢的方法和裝置,設置有專門的服務端,該服務端設置有本地的緩存數(shù)據(jù)庫,當客戶端發(fā)送位置查詢命令至服務端時,會先在服務器的緩存數(shù)庫中查找對應的位置信息,如果有則直接發(fā)送給客戶端,消耗資源少,查詢速度快;當緩存數(shù)據(jù)庫中沒有對應的位置信息,則通過第三方地址查詢服務器獲取位置信息,發(fā)送各客戶端,以及將該位置信息緩存到緩存數(shù)據(jù)庫中,當下一次接收到查詢該位置的位置查詢命令時,直接從緩存數(shù)據(jù)庫中獲取即可,降低資源消耗,提高查詢速度。而且可以整合多個第三方地址查詢服務器的查詢接口,客戶端查詢時不需要關(guān)注各個查詢接口的差異,只需要調(diào)用一個公共接口即刻,公共接口會處理各個第三方查詢接口的差異,并且緩存查詢結(jié)果到緩存數(shù)據(jù)庫等。
附圖說明
圖1為本發(fā)明一實施例的位置查詢的方法的流程示意圖;
圖2為本發(fā)明一實施例的通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息的方法的流程示意圖;
圖3為本發(fā)明一實施例的位置查詢的裝置的結(jié)構(gòu)示意框圖;
圖4為本發(fā)明一實施例的獲取存儲單元的結(jié)構(gòu)示意框圖;
圖5為本發(fā)明一實施例的第二轉(zhuǎn)換模塊的結(jié)構(gòu)示意框圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照圖1,本發(fā)明實施例提出一種位置查詢的方法,包括步驟:
S1、服務端接收客戶端的位置查詢命令;
S2、根據(jù)所述查詢命令在本地的緩存數(shù)據(jù)庫查找對應的位置信息;
S3、如果位置信息查詢成功,則將該位置信息發(fā)送給客戶端;如果位置信息查詢失敗,則通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息發(fā)送給客戶端,將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中。
如上述步驟S1所述,上述客戶端是一種電子設備,如智能手機、智能手表、電腦等,可以通過網(wǎng)絡發(fā)送位置查詢命令至對應的服務器。服務端接收位置查詢命令,然后進行后續(xù)的查詢,所述服務端可以為云服務端。
如上述步驟S2所述,接收位置查詢命令的服務端設置有本地的緩存數(shù)據(jù)庫,該緩存數(shù)據(jù)庫中存儲有大量的位置信息,然后根據(jù)位置查詢命令在緩存數(shù)據(jù)庫中查找對應的位置信息,消耗資源少,查詢速度快,而且不需要付費。
如上述步驟S3所述,如果緩存數(shù)據(jù)庫中含有對應位置查詢命令的位置信息,則將該位置信息發(fā)送給客戶端;如果緩存數(shù)據(jù)庫中沒有緩存對應的位置信息,則需要通過第三方地址查詢服務器獲取位置信息,然后發(fā)送給客戶端。將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中,這樣在緩存數(shù)據(jù)庫中就含有了對應位置查詢命令的位置信息,之后查詢該位置信息時,則可以直接在緩存數(shù)據(jù)庫中獲取,為后續(xù)的查詢提供便利,以提高后續(xù)查詢該位置信息的速度,減小資源浪費,無需付費。
參照圖2,本實施例中,上述通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息的方法,包括:
S31、將位置查詢命令轉(zhuǎn)換成對應不同第三方地址查詢服務器接口的數(shù)據(jù)格式,并分別發(fā)送給對應的第三方地址查詢服務器;
S32、接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
如上述步驟S31所述,服務端一般會預設多個對應指定調(diào)用第三方地址查詢服務器的接口,當緩存數(shù)據(jù)庫中沒有查詢到需要的位置信息,則會將位置查詢命令轉(zhuǎn)換成對應的數(shù)據(jù)格式,發(fā)送給不同的第三方地址查詢服務器,以獲取到需要的位置信息。
如上述步驟S32所述,將接收到的位置信息的數(shù)據(jù)格式轉(zhuǎn)換成統(tǒng)一的格式,即客戶端可讀的數(shù)據(jù)格式,方便客戶端讀取。
本實施例中,上述接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式的步驟S32,包括:
S321、當多個第三方地址查詢服務器均有返回位置信息時,只接收第一個到達的返回位置信息,并將其轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
如上述步驟S321所述,因為發(fā)送給多個不同的第三方地址查詢服務器的位置查詢命令是相同的,所以獲取到的位置信息也會相同,所以只接收第一個到達的返回位置信息,既可以提高位置查詢的速度,也可以降低服務端的工作量,降低資源的消耗。
本實施例中,上述接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式的步驟S32,包括:
S322、當多個第三方地址查詢服務器均有返回位置信息時,將全部的返回位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并且將最快轉(zhuǎn)換完成的位置信息保存,其余的刪除。
如上述步驟S322所述,因為發(fā)送給多個不同的第三方地址查詢服務器的位置查詢命令時相同的,所以獲取到的位置信息也會相同,但是其格式可能不同,所以需要轉(zhuǎn)化轉(zhuǎn)換,因為格式問題、信息附帶數(shù)據(jù)量等問題會使對不同的位置信息轉(zhuǎn)換速度不同,那么選擇最先轉(zhuǎn)換完成的,可以提高位置查詢的速度。其余的刪除,則可以節(jié)約緩存數(shù)據(jù)庫的使用。
在一具體實施例中,服務端接收客戶端發(fā)送的位置查詢命令,然后在服務端的緩存數(shù)據(jù)庫中查找對應的位置信息,如果查找到,則直接發(fā)送給客戶端,完成一次位置查詢。如果在緩存數(shù)據(jù)庫中沒有查詢到,則將位置查詢命令按照至少一個指定的第三方地址查詢服務器接口要求,分別轉(zhuǎn)換成對應的數(shù)據(jù)格式,然后分別發(fā)送給對應的第三方地址查詢服務器。第三方地址查詢服務器如果有對應位置查詢命令的位置信息,就將其返回給服務端,如果沒有則不做回應等處理。服務端等待第三方地址查詢服務器的返回位置信息,當接收到第一個返回位置信息后,則不接受其它的對應該位置查詢命令的返回信息,然后將接收的位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并發(fā)送客戶端,以及緩存到緩存數(shù)據(jù)庫中;或者,服務端等待第三方地址查詢服務器的返回位置信息,并接收全部的返回位置信息,然后開始將接收的位置信息進行轉(zhuǎn)換,欲將其全部轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,當有最快轉(zhuǎn)換完成的位置信息時,則選擇該位置信息發(fā)送給客戶端,以及緩存到緩存數(shù)據(jù)庫中,其它未轉(zhuǎn)換完成的則做刪除處理。
本實施例中位置查詢的方法,設置有專門的服務端,該服務端設置有本地的緩存數(shù)據(jù)庫,當客戶端發(fā)送位置查詢命令至服務器時,會先在服務端的緩存數(shù)庫中查找對應的位置信息,如果有直接發(fā)送給客戶端,消耗資源少,查詢速度快;當緩存數(shù)據(jù)庫中沒有對應的位置信息,則通過第三方地址查詢服務器獲取位置信息,發(fā)送各客戶端,以及將該位置信息緩存到緩存數(shù)據(jù)庫中,當下一次接收到查詢該位置的位置查詢命令時,直接從緩存數(shù)據(jù)庫中獲取即可,降低資源消耗,提高查詢速度。
參照圖3,本發(fā)明實施例還提出一種位置查詢的裝置,包括:
接收單元10,用于服務端接收客戶端的位置查詢命令;
查詢單元20,用于根據(jù)所述查詢命令在本地的緩存數(shù)據(jù)庫查找對應的位置信息;
獲取存儲單元30,如果位置信息查詢成功,則將該位置信息發(fā)送給客戶端;如果位置信息查詢失敗,則通過第三方地址查詢服務器獲取對應位置查詢命令的位置信息發(fā)送給客戶端,將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中。
如上述接收單元10,上述客戶端是一種電子設備,如智能手機、智能手表、電腦等,可以通過網(wǎng)絡發(fā)送位置查詢命令至對應的服務器。服務端接收位置查詢命令,然后進行后續(xù)的查詢,所述服務端可以為云服務端。
如上述查找獲取單元20,接收位置查詢命令的服務端設置有本地的緩存數(shù)據(jù)庫,該緩存數(shù)據(jù)庫中存儲有大量的位置信息,然后根據(jù)位置查詢命令在緩存數(shù)據(jù)庫中查找對應的位置信息,,消耗資源少,查詢速度快,而且不需要付費。
如上述獲取存儲單元30,如果緩存數(shù)據(jù)庫中含有對應位置查詢命令的位置信息,則將該位置信息發(fā)送給客戶端;如果緩存數(shù)據(jù)庫中沒有緩存對應的位置信息,則需要通過第三方地址查詢服務器獲取位置信息,然后發(fā)送給客戶端。將通過第三方地址查詢服務器獲取的位置信息緩存到本地的緩存數(shù)據(jù)庫中,這樣在緩存數(shù)據(jù)庫中就含有了對應位置查詢命令的位置信息,那么,之后查詢該位置信息時,則可以直接在緩存數(shù)據(jù)庫中獲取,為后續(xù)的查詢提供便利,以提高后續(xù)查詢該位置信息的速度,減小資源浪費,無需付費。
參照圖4,本實施例中,上述獲取存儲單元30,包括:
第一轉(zhuǎn)換模塊31,用于將位置查詢命令轉(zhuǎn)換成對應不同第三方地址查詢服務器接口的數(shù)據(jù)格式,并發(fā)送給對應的第三方地址查詢服務器;
第二轉(zhuǎn)換模塊32,接收第三方地址查詢服務器返回的位置信息,并將該位置信息轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。
如上述第一轉(zhuǎn)換模塊31,服務端一般會預設多個對應指定調(diào)用第三方地址查詢服務器的接口,當緩存數(shù)據(jù)庫中沒有查詢到需要的位置信息,則會將位置查詢命令轉(zhuǎn)換成對應的數(shù)據(jù)格式,發(fā)送給不同的第三方地址查詢服務器,以獲取到需要的位置信息。
如上述第二轉(zhuǎn)換模塊32,將接收到的位置信息的數(shù)據(jù)格式轉(zhuǎn)換成統(tǒng)一的格式,即客戶端可讀的數(shù)據(jù)格式,方便客戶端讀取。
參照圖5,本實施例中,上述第二轉(zhuǎn)換模塊32,包括:
第一轉(zhuǎn)換子模塊321,用于當多個第三方地址查詢服務器均有返回位置信息時,只接收第一個到達的返回位置信息,并將其轉(zhuǎn)換為客戶端可讀的數(shù)據(jù)格式。因為發(fā)送給多個不同的第三方地址查詢服務器的位置查詢命令是相同的,所以獲取到的位置信息也會相同,所以只接收第一個到達的返回位置信息,既可以提高位置查詢的速度,也可以降低服務端的工作量,降低資源的消耗。
參照圖5,在另一本實施例中,上述第二轉(zhuǎn)換模塊32,包括:
第二轉(zhuǎn)換子模塊322,用于當多個第三方地址查詢服務器均有返回位置信息時,將全部的返回位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并且將最快轉(zhuǎn)換完成的位置信息保存,其余的刪除。同樣,因為發(fā)送給多個不同的第三方地址查詢服務器的位置查詢命令是相同的,所以獲取到的位置信息也會相同,但是其格式可能不同,所以需要轉(zhuǎn)化轉(zhuǎn)換,因為格式問題、信息附帶數(shù)據(jù)量等問題會使對不同的位置信息轉(zhuǎn)換速度不同,那么選擇最先轉(zhuǎn)換完成的,可以提高位置查詢的速度。其余的刪除,則可以節(jié)約緩存數(shù)據(jù)庫的使用。
在一具體實施例中,服務端接收客戶端發(fā)送的位置查詢命令,然后在服務端的緩存數(shù)據(jù)庫中查找對應的位置信息,如果查找到,則直接發(fā)送給客戶端,完成一次位置查詢。如果在緩存數(shù)據(jù)庫中沒有查詢到,則將位置查詢命令按照至少一個指定的第三方地址查詢服務器接口要求,分別轉(zhuǎn)換成對應的數(shù)據(jù)格式,然后分別發(fā)送給對應的第三方地址查詢服務器。第三方地址查詢服務器如果有對應位置查詢命令的位置信息,就將其返回給服務端,如果沒有則不做回應等處理。服務端等待第三方地址查詢服務器的返回位置信息,當接收到第一個返回位置信息后,則不接受其它的對應該位置查詢命令的返回信息,然后將接收的位置信息轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,并發(fā)送客戶端,以及緩存到緩存數(shù)據(jù)庫中;或者,服務端等待第三方地址查詢服務器的返回位置信息,并接收全部的返回位置信息,然后開始將接收的位置信息進行轉(zhuǎn)換,欲將其全部轉(zhuǎn)換成客戶端可讀的數(shù)據(jù)格式,當有最快轉(zhuǎn)換完成的位置信息時,則選擇該位置信息發(fā)送給客戶端,以及緩存到緩存數(shù)據(jù)庫中,其它未轉(zhuǎn)換完成的則做刪除處理。
本實施例中位置查詢的裝置,設置有專門的服務端,該服務端設置有本地的緩存數(shù)據(jù)庫,當客戶端發(fā)送位置查詢命令至服務器時,會先在服務端的緩存數(shù)庫中查找對應的位置信息,如果有直接發(fā)送給客戶端,消耗資源少,查詢速度快;當緩存數(shù)據(jù)庫中沒有對應的位置信息,則通過第三方地址查詢服務器獲取位置信息,發(fā)送各客戶端,以及將該位置信息緩存到緩存數(shù)據(jù)庫中,當下一次接收到查詢該位置的位置查詢命令時,直接從緩存數(shù)據(jù)庫中獲取即可,降低資源消耗,提高查詢速度。
以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。