適用於電子設備的現實地址與網絡地址匹配的方法及系統與流程
2023-06-04 00:15:41 1

本發明提供一種適用於電子設備的現實地址與網絡地址匹配的方法及系統。
背景技術:
現有計算機系統無法進行現實地址和其相應的網絡地址(包含mac地址和ipv4、ipv6地址等ip地址)之間的實時匹配,即已知現實世界中的一個地址信息(如坐標),現有計算機系統無法僅僅根據此地址信息實時獲得處於該地址的電子設備的網絡地址。例如,提供一個坐標信息和海拔信息,現有計算機系統無法根據此信息判斷在該空間位置處是否有電子設備,若有,也無法獲得該電子設備的網絡地址。
或者,已知一個網絡地址(如mac地址或ip地址),現有計算機系統無法僅僅根據該網絡地址實時獲得使用該網絡地址的電子設備的現實地址。例如,提供一個ip地址,現有計算機系統無法確定是否有電子設備使用該ip地址(因並非所有接入網絡的電子設備都回應網絡請求,故無法判斷),若有,也無法獲得使用該ip地址的電子設備的坐標。
技術實現要素:
因此,本發明的目的在於提供一種適用於電子設備現實地址與網絡地址匹配的方法及系統,可以實現現實地址和網絡地址的相互匹配。
為了實現上述目的,本發明提供一種適用於電子設備的現實地址與網絡地址匹配的方法,其特點在於,包括:
通過伺服器記錄電子設備的現實地址與網絡地址之間的對應關係;
若收到客戶端的一查詢請求,所述伺服器根據所述查詢請求中的一查詢信息與所述對應關係進行匹配,並返回一匹配結果至所述客戶端。
在本發明的一實施例中,所述的適用於電子設備的現實地址與網絡地址匹 配的方法還包括:
所述電子設備更新並保存當前狀態至所述伺服器,其中所述當前狀態至少包括所述電子設備的所述現實地址和所述網絡地址。
在本發明的一實施例中,所述現實地址包括坐標,所述坐標包括二維坐標或多維坐標;所述網絡地址包括ip地址和/或mac地址。
在本發明的一實施例中,在所述對應關係中,所述現實地址與所述網絡地址是直接的對應關係。
在本發明的一實施例中,所述伺服器是通過存儲一條目的方式來記錄所述對應關係,所述條目至少包括所述現實地址、所述網絡地址及一輔助信息,其中所述輔助信息含有零項或一項或多項信息。
在本發明的一實施例中,在所述對應關係中,所述現實地址與所述網絡地址是一重或多重間接的對應關係。
在本發明的一實施例中,所述伺服器是通過存儲至少二條目的方式來記錄所述對應關係,其中第一條目至少包括所述現實地址及一第一輔助信息,所述第二條目至少包括所述網絡地址及一第二輔助信息,所述第一輔助信息及所述第二輔助信息均含有一項或多項信息,且所述第一輔助信息和所述第二輔助信息具有直接或間接的對應關係。
在本發明的一實施例中,當所述第一輔助信息與所述第二輔助信息含有的信息沒有對應關係時,所述伺服器還存儲第三條目,所述第三條目包含所述第一輔助信息與第二輔助信息的對應關係。
在本發明的一實施例中,所述當前狀態還包括時間戳、類別、及時間閾值中的至少一種;其中,所述時間戳為所述電子設備保存當前狀態時的時間;所述類別為所述電子設備的類別;所述時間閾值為所述電子設備的當前狀態的穩定時間的估計值。
在本發明的一實施例中,所述電子設備更新並保存當前狀態至所述伺服器的步驟包括以下步驟中的至少之一:
所述電子設備檢查當前時間戳,若距離上次發送已過一發送周期,所述電子設備更新並保存新的當前狀態至所述伺服器;
若所述電子設備的ip地址發生變化,所述電子設備更新並保存當前狀態至所述伺服器;
若所述電子設備的坐標發生變化且其變化範圍超過一精度,所述電子設備更新並保存當前狀態至所述伺服器。
在本發明的一實施例中,所述查詢信息包括所述坐標、所述ip地址、所述mac地址或所述輔助信息。
在本發明的一實施例中,所述伺服器根據所述查詢請求中的一查詢信息與所述對應關係進行匹配的步驟中還包括:
所述伺服器按照tcp/ip協議將所述查詢信息提供的所述ip地址或所述mac地址轉換為所述mac地址或所述ip地址。
在本發明的一實施例中,當所述客戶端提供坐標查詢相應的網絡地址時,所述伺服器返回的所述匹配結果是一個網絡地址集合。
為了實現上述目的,本發明還另提供一種適用於電子設備的現實地址與網絡地址匹配的系統,其特點在於,包括伺服器、客戶端及電子設備,所述客戶端及所述電子設備均與所述伺服器通信連接,其中:
所述電子設備,用於更新並保存當前狀態至所述伺服器,所述當前狀態至少包括所述電子設備的現實地址和網絡地址;
所述客戶端,用於發送一查詢請求至所述伺服器;
所述伺服器,用於記錄所述電子設備的所述現實地址與所述網絡地址之間的對應關係,並在收到所述客戶端的所述查詢請求時,根據所述查詢請求中的一查詢信息與所述對應關係進行匹配,並返回一匹配結果至所述客戶端。
在本發明的另一實施例中,所述現實地址包括坐標,所述坐標包括二維坐標或多維坐標;所述網絡地址包括ip地址和/或mac地址。
在本發明的另一實施例中,所述當前狀態還包括時間戳、類別、及時間閾值中的至少一種;其中,所述時間戳為所述電子設備保存當前狀態時的時間;所述類別為所述電子設備的類別;所述時間閾值為所述電子設備的當前狀態的穩定時間的估計值;所述查詢信息包括所述坐標、所述ip地址、所述mac地址或輔助信息。
在本發明的另一實施例中,在所述對應關係中,所述現實地址與所述網絡地址是直接的對應關係;所述伺服器是通過存儲一條目的方式來記錄所述對應關係,所述條目至少包括所述現實地址、所述網絡地址及一輔助信息,其中所述輔助信息含有零項或一項或多項信息。
在本發明的另一實施例中,在所述對應關係中,所述現實地址與所述網絡地址是一重或多重間接的對應關係;所述伺服器是通過存儲至少二條目的方式來記錄所述對應關係,其中第一條目至少包括所述現實地址及一第一輔助信息,所述第二條目至少包括所述網絡地址及一第二輔助信息,所述第一輔助信息及所述第二輔助信息均含有一項或多項信息,且所述第一輔助信息和所述第二輔助信息具有直接或間接的對應關係。
在本發明的另一實施例中,當所述第一輔助信息與所述第二輔助信息含有的信息沒有對應關係時,所述伺服器還存儲第三條目,所述第三條目包含所述第一輔助信息與第二輔助信息的對應關係
在本發明的另一實施例中,所述伺服器還用於按照tcp/ip協議將所述查詢信息提供的ip地址或mac地址轉換為mac地址或ip地址。
通過本發明的方法和系統,可以實現現實地址和網絡地址的相互匹配,每一個匹配點猶如膠水一般將網絡世界和現實世界粘合在一起,拉近現實世界和網絡世界的距離,利於將網絡世界與現實世界相互融合,為人們的生活提供便利。
附圖說明
為讓本發明的上述和其他目的、特徵、優點與實施例能更明顯易懂,所附附圖的說明如下:
圖1a是本發明一較佳的適用於電子設備的現實地址與網絡地址匹配的系統的架構示意圖;
圖1b是本發明另一較佳的適用於電子設備的現實地址與網絡地址匹配的系統的架構示意圖;
圖2是本發明的適用於電子設備的現實地址與網絡地址匹配的方法的示意圖;
圖3是本發明的系統的第一種工作方式中電子設備的工作流程;
圖4是本發明的系統的第一種工作方式中伺服器的工作流程;
圖5是本發明的系統的第二種工作方式中電子設備的工作流程;
圖6是本發明的系統的第二種工作方式中伺服器的工作流程。
具體實施方式
下文是舉實施例配合所附附圖作詳細說明,但所提供的實施例並非用以限制本發明所涵蓋的範圍。
本發明的適用於電子設備的現實地址與網絡地址匹配的系統主要包括客戶端、電子設備和伺服器三個部分,其中,所述客戶端和所述電子設備是與所述伺服器通信連接。如圖1a所示,示出了本發明一較佳的適用於電子設備的現實地址與網絡地址匹配的系統的架構,在此實施例中,多個電子設備和多個客戶端是分別與一伺服器通信連接。如圖1b所示,示出了本發明另一較佳的適用於電子設備的現實地址與網絡地址匹配的系統的架構,在此實施例中,系統包括由多個伺服器構成的伺服器單元、由多個電子設備構成的電子設備單元、以及由多個客戶端構成的客戶端單元,其中,所述電子設備單元和所述客戶端單元是與所述伺服器單元通信連接。
在本發明中,所述電子設備是用於更新並保存當前狀態至所述伺服器,所述當前狀態至少包括所述電子設備的現實地址和網絡地址,所述現實地址例如可包括坐標,所述坐標包括二維坐標或多維坐標;所述網絡地址例如可包括ip地址和/或mac地址。所述客戶端是用於發送一查詢請求至所述伺服器。所述伺服器是用於記錄所述電子設備的所述現實地址與所述網絡地址之間的對應關係,並在收到所述客戶端的所述查詢請求時,根據所述查詢請求中的一查詢信息與所述對應關係進行匹配,並返回一匹配結果至所述客戶端,所述查詢信息例如可包括坐標、ip地址、mac地址或輔助信息等。
在本發明的其它實施例中,所述電子設備的當前狀態還可包括時間戳、類別、及時間閾值中的至少一種。其中,所述時間戳為所述電子設備保存當前狀態時的時間;所述類別為所述電子設備的類別;所述時間閾值為所述電子設備的當前狀態的穩定時間的估計值。
如圖2所示,本發明的一種適用於電子設備的現實地址與網絡地址匹配的方法主要包括:
通過伺服器記錄電子設備的現實地址與網絡地址之間的對應關係;
若收到客戶端的一查詢請求,所述伺服器根據所述查詢請求中的一查詢信息與所述對應關係進行匹配,並返回一匹配結果至所述客戶端。
在本發明的一實施例中,在所述對應關係中,所述現實地址與所述網絡地 址可以是直接的對應關係。在此情況下,所述伺服器可以通過存儲一條目的方式來記錄所述對應關係,而所述條目至少包括所述現實地址、所述網絡地址及一輔助信息,其中所述輔助信息含有零項或一項或多項信息。
在本發明的另一實施例中,在所述對應關係中,所述現實地址與所述網絡地址可以是一重或多重間接的對應關係。在此情況下,所述伺服器可以通過存儲至少二條目的方式來記錄所述對應關係,其中第一條目至少包括所述現實地址及一第一輔助信息,所述第二條目至少包括所述網絡地址及一第二輔助信息,而所述第一輔助信息及所述第二輔助信息均含有一項或多項信息,且所述第一輔助信息和所述第二輔助信息具有直接或間接的對應關係。當所述第一輔助信息與所述第二輔助信息含有相匹配的信息時,通過所述相匹配的信息即可確定所述現實地址和所述網絡地址之間的對應關係。而當所述第一輔助信息與所述第二輔助信息含有的信息沒有對應關係(如未含有相匹配的信息)時,所述伺服器還存儲有第三條目,所述第三條目包括所述第一輔助信息與所述第二輔助信息的對應關係,通過第一~第三條目即可確定所述現實地址和所述網絡地址之間的對應關係。當然,可以理解的是,在其它實施例中,當所述第一輔助信息與所述第二輔助信息未含有相匹配的信息時,所述伺服器還可以存儲有其它的條目,通過這些條目之間的多重間接對應關係來確定所述現實地址和所述網絡地址之間的對應關係,這些並不作為對本發明的限制。
在本發明中,所述電子設備更新並保存當前狀態至所述伺服器的步驟包括以下步驟(1)~(3)中的至少之一:
(1)所述電子設備檢查當前時間戳,若距離上次發送已過一發送周期,所述電子設備更新並保存新的當前狀態至所述伺服器;
(2)若所述電子設備的ip地址發生變化,所述電子設備更新並保存當前狀態至所述伺服器;
(3)若所述電子設備的坐標發生變化且其變化範圍超過一精度,所述電子設備更新並保存當前狀態至所述伺服器。
在本發明中,所述伺服器還可以對所述客戶端提供轉換服務。也即,在所述伺服器根據所述查詢請求中的一查詢信息與所述對應關係進行匹配的步驟中,所述伺服器可以按照tcp/ip協議將所述查詢信息提供的所述ip地址或所述mac地址轉換為所述mac地址或所述ip地址。
本發明的系統可以有多種工作方式,以下以第一實施例和第二實施例分別說明本發明的系統的兩種工作方式:
本實施例為第一種工作方式,在此工作方式中,伺服器對每一個電子設備都存儲如下相對應的信息條目,(坐標,ip,mac,時間戳,時間閾值),其中,坐標為該電子設備的當前坐標,可以是二維坐標或多維坐標;ip為該電子設備的最新ip地址;mac為該電子設備的mac地址;時間戳為該電子設備保存當前狀態時的時間(即當前條目最近一次更新的時間);時間閾值為該電子設備的當前狀態的穩定時間的估計值(即對當前條目穩定時間的估計值)。在本發明中,條目的表達方式(a,b)表示該條目至少包含a和b,條目(a,b,c)表示該條目至少包含a、b和c,以此類推。伺服器條目中的時間閾值可有多種更新模型。
考慮到電子設備有可能發生位移,即其坐標可能會發生變化,其ip地址可能會重新分配而發生變化,該電子設備也有可能會因其他因素而處於離線狀態。因此,客戶端、電子設備和伺服器分別按如下方式工作。
設置系統參數,包括設置坐標精度為p、電子設備發送周期為t、伺服器搜尋坐標範圍為n、以及系統超時時間為t等。超時時間t的設置可以保證系統的實時性。
在此工作方式下,整個系統的工作流程如下:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標。
電子設備
如圖3所示,電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,ip,mac,時間戳),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,ip為電子設備當前ip地址,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時 的時間,類別為電子設備的類別;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(3)檢查自身ip地址,若ip地址發生變化,向伺服器發送(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(4)檢查自身坐標,若自身坐標發生變化,且其變化範圍超過精度p,向伺服器發送(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(5)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(6)回到第(2)步。
伺服器
如圖4所示,伺服器的工作流程如下:
(1)初始化,清除所有條目;
(2)若收到電子設備發送的(坐標,ip,mac,時間戳),因每個電子設備擁有唯一mac地址,查看對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,ip,mac,時間戳,時間閾值),其中前四項(坐標,ip,mac,時間戳)為電子設備所發送的數據,初始時間閾值為0;若已存在,則更新對應的條目,更新方法如下:首先查看ip地址是否發生變化,若發生變化,則更新(坐標,ip,時間戳)為電子設備最新發送的數據,時間閾值清零;若ip地址沒有變化,則查看坐標是否發生變化,若坐標發生變化且其變化範圍超過精度p,則更新(坐標,ip,時間戳)為電子設備最新發送的數據;若ip地址無變化,且坐標也在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢相對應的坐標,則尋找伺服器中所有條目;若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢相對應的坐標,則尋找伺服器中所有條目,若存在這樣的條目,其ip地址為客戶端所提供的ip,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客 戶端;
(5)若收到客戶端的查詢請求,客戶端提供的是坐標信息,查詢對應的ip或mac,則尋找伺服器中所有條目,考慮到有的電子設備處於移動的過程中,其實際坐標會發生變化,伺服器尋找坐標處於客戶端所提供的坐標周圍範圍n之內的條目,這樣的條目集合為set1,對set1中的每一個條目做如下處理:若當前的系統時間戳<=條目中的時間戳+條目中的時間閾值,將當前條目加入set2;若當前的時間戳大於條目中的時間戳+條目中的時間閾值,向條目中的ip地址發送心跳信息,設置超時時間t,準備接受電子設備發送的(坐標,ip,mac,時間戳),若在超時時間內收到來自電子設備的回應,按第(2)步處理,之後將本條目加入set2;若在超時時間內未收到回應,則刪除伺服器中與本條目相對應的條目;在set2中尋找處於用戶所提供的坐標周圍範圍為精度p之內的條目,將此條目加入set3,向客戶端返回set3中的ip地址集合或mac地址集合;
(6)回到第(2)步;
本實施例為第二種工作方式,在此工作方式下,伺服器對每一個電子設備都存儲如下相對應的信息條目,(坐標,mac,時間戳,時間閾值),其中,坐標為該電子設備的當前坐標,可以是二維坐標或多維坐標;mac為該電子設備的mac地址;時間戳為該電子設備保存當前狀態時的時間(即當前條目最近一次更新的時間);時間閾值為該電子設備的當前狀態的穩定時間的估計值(即對當前條目穩定時間的估計值)。
在此工作方式下,整個系統的工作流程如下:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標。
電子設備
如圖5所示,電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,mac,時間戳),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時的時間,類別為電子設備的類別;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,mac,時間戳),更新並保存為當前狀態;
(3)檢查自身坐標,若自身坐標發生變化,且其變化範圍超過精度p,向伺服器發送(坐標,mac,時間戳),更新並保存為當前狀態;
(4)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,mac,時間戳),更新並保存為當前狀態;
(5)回到第(2)步。
伺服器
如圖6所示,伺服器的工作流程如下:
(1)初始化,清除所有條目;
(2)若收到電子設備發送的(坐標,mac,時間戳),因每個電子設備擁有唯一mac地址,查看對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,mac,時間戳,時間閾值),前三項(坐標,mac,時間戳)為電子設備所發送的數據,初始時間閾值設為0;若已存在,則更新對應的條目,更新方法如下:查看坐標是否發生變化,若坐標發生變化且其變化範圍超過精度p,則更新(坐標,mac,時間戳)為電子設備最新發送的數據;若坐標在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢相對應的坐標,則尋找伺服器中所有條目,若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢相對應的坐標,則首先根據tcp/ip協議將其轉換為mac地址,若轉換失敗,則返回空給客戶端;若成功則尋找伺服器中所有條目,若存在這樣的條目,其mac地址為轉換後的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(5)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的mac地址,則尋找伺服器中所有條目,考慮到有的電子設備處於移動的過程中,其實際坐標會發生變化,伺服器尋找坐標處於客戶端所提供的坐標周圍範圍n之內的條目,這樣的條目集合為set1,對set1中的每一個條目做如下處理:若當前的時間戳<=條目中的時間戳+條目中的時間閾值,將當前條目加入set2;若當前的時間戳大於條目中的時間戳+條目中的時間閾值,向條目中的ip地址發送心跳信息,設置超時時間t,準備接受電子設備發送的(坐標,mac,時間戳),若在超時時間內收到來自電子設備的回應,按第(2)步處理,之後將本條目加入set2;若在超時時間內未收到回應,則刪除伺服器中與本條目相對應的條目;在set2中尋找處於用戶所提供的地標周圍範圍為精度p之內的條目,將此條目加入set3,最後向客戶端返回set3中的mac地址集合;
(6)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的ip地址,則首先按第(5)步處理,得到set3之後,對set3內的每一個條目作如下操作:提取條目中的mac地址,按tcp/ip協議將其轉換為ip地址,若轉換成功,將轉換後的ip地址加入set4;向客戶端返回set4(ip地址集合);
(7)回到第(2)步。
在本發明中,還可對整個系統進行優化,即對電子設備進行分類,伺服器對每一個類別均設置一個對應的集合,在此集合中每一個電子設備均有對應的條目。不同的集合實行不同的操作,設置不同的系統參數。
譬如,將電子設備分為靜止電子設備和移動電子設備兩個類別,以下第三實施例和第四實施例為對第一種工作方式和第二種工作方式進行優化的相應實例。
本實施例是對第一種工作方式的系統進行優化,以下為此優化系統在第一種工作方式下的工作流程:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標。
電子設備
電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,ip,mac,時間戳,類別),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,ip為電子設備當前ip地址,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時的時間,類別為電子設備的類別;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態,對於靜止電子設備而言,可將發送周期t設置為較長的時間,如一個月,對於移動電子設備而言,可將發送周期t設置為較短的時間,如一個小時;
(3)檢查自身ip地址,若ip地址發生變化,向伺服器發送(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態;
(4)檢查自身坐標,若自身坐標發生變化,且其變化範圍超過精度p,向伺服器發送(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態;
(5)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態;
(6)回到第(2)步。
伺服器
伺服器工作流程如下:
(1)初始化,清除所有條目,為每一個類別設置一個集合,在此為兩個集合,分別對應靜止電子設備和移動電子設備;
(2)若收到電子設備發送的(坐標,ip,mac,時間戳,類別),因每個電子設備擁有唯一mac地址,查看相應類別的集合中對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,ip,mac,時間戳,時間閾值),前四項(坐標,ip,mac,時間戳)為電子設備所發送的數據,初始時間閾值設為0;若已存在,則更新對應的條目,更新方法如下:首先查看ip 地址是否發生變化,若發生變化,則更新(坐標,ip,時間戳)為電子設備最新發送的數據,時間閾值清零;若ip地址沒有變化,則查看坐標是否發生變化,若坐標發生變化且其變化範圍超過精度p,則更新(坐標,ip,時間戳)為電子設備最新發送的數據;若ip地址無變化,且坐標也在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢對應的坐標,則尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢對應的坐標,則尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其ip地址為客戶端所提供的ip,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(5)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的ip地址或mac地址,則同時尋找伺服器中所有集合,不同類別的集合,實行的操作也不一樣。在靜止電子設備的集合中,尋找處於客戶端所提供的地標範圍周圍為精度p之內的條目,將此條目加入set3;在移動電子設備的集合中,考慮到電子設備處於移動的過程中,其實際坐標會發生變化,伺服器尋找坐標處於用戶所提供的坐標周圍範圍n之內的條目,這樣的條目集合為set1,對set1中的每一個條目做如下處理:若當前的時間戳<=條目中的時間戳+條目中的時間閾值,將當前條目加入set2;若當前的時間戳大於條目中的時間戳+條目中的時間閾值,向條目中的ip地址發送心跳信息,設置超時時間t,準備接受電子設備發送的(坐標,ip,mac,時間戳,類別),若在超時時間內收到來自電子設備的回應,按第二步處理,之後將本條目加入set2;若在超時時間t內未收到回應,則刪除伺服器中與本條目相對應的條目;在set2中尋找處於用戶所提供的地標周圍範圍為精度p之內的條目,將此條目加入set3;向客戶端返回set3中的ip地址集合或mac地址集合;
(6)回到第(2)步;
本實施例是對第二種工作方式的系統進行優化,以下為此優化系統在此第二種工作方式下的工作流程:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標。
電子設備
電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,mac,時間戳,類別),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時的時間,類別為電子設備的類別;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態,對於靜止電子設備而言,可將發送周期t設置為較長的時間,如一個月,對於移動電子設備而言,可將發送周期t設置為較短的時間,如一個小時;
(3)檢查自身坐標,若自身坐標發生變化,且其變化範圍超過精度p,向伺服器發送(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態;
(4)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,ip,mac,時間戳,類別),更新並保存為當前狀態;
(5)回到第(2)步。
伺服器
伺服器工作流程如下:
(1)初始化,清除所有條目,為每一個類別設置一個集合,在此為兩個集合,分別對應靜止電子設備和移動電子設備;
(2)若收到電子設備發送的(坐標,mac,時間戳),因每個電子設備擁有唯一mac地址,查看對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,mac,時間戳,時間閾值),前三項(坐標,mac,時間 戳)為電子設備所發送的數據,初始時間閾值設為0;若已存在,則更新對應的條目,更新方法如下:查看坐標是否發生變化,若坐標發生變化且其變化範圍超過精度p,則更新(坐標,mac,時間戳)為電子設備最新發送的數據;若坐標在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢相對應的坐標,則尋找伺服器中所有條目,若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢相對應的坐標,則首先根據tcp/ip協議將其轉換為mac地址,若轉換失敗,則返回空給客戶端;若成功則尋找伺服器中所有條目,若存在這樣的條目,其mac地址為轉換後的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(5)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的mac地址,則同時尋找伺服器中所有集合,不同類別的集合,實行的操作也不一樣。在靜止電子設備的集合中,尋找處於客戶端所提供的地標範圍周圍為精度p之內的條目,將此條目加入set3;在移動電子設備的集合中,考慮到電子設備處於移動的過程中,其實際坐標會發生變化,伺服器尋找坐標處於用戶所提供的坐標周圍範圍n之內的條目,這樣的條目集合為set1,對set1中的每一個條目做如下處理:若當前的時間戳<=條目中的時間戳+條目中的時間閾值,將當前條目加入set2;若當前的時間戳大於條目中的時間戳+條目中的時間閾值,向條目中的ip地址發送心跳信息,設置超時時間t,準備接受電子設備發送的(坐標,mac,時間戳,類別),若在超時時間內收到來自電子設備的回應,按第二步處理,之後將本條目加入set2;若在超時時間t內未收到回應,則刪除伺服器中與本條目相對應的條目;在set2中尋找處於用戶所提供的地標周圍範圍為精度p之內的條目,將此條目加入set3;最後向客戶端返回set3中的mac地址集合;
(6)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的ip地址,則首先按第(5)步處理,得到set3之後,對set3內的每一個 條目作如下操作:提取條目中的mac地址,按tcp/ip協議將其轉換為ip地址,若轉換成功,將轉換後的ip地址加入set4;向客戶端返回set4(ip地址集合);
(7)回到第(2)步;
在本發明中,還可對整個系統和方法進一步進行簡化,即將所有電子設備視為靜止電子設備,系統參數和操作也設置為適用於靜止電子設備的參數和操作。此簡化可能對移動電子設備的誤差較大,但對於靜止電子設備有較好的性能和效果。以下第五實施例和第六實施例為對第一種工作方式和第二種工作方式進行簡化的相應實例。
本實施例是對第一種工作方式的系統進行簡化,以下為此簡化系統在第一種工作方式下的工作流程:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標;
電子設備
電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,ip,mac,時間戳),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,ip為電子設備當前ip地址,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時的時間;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(3)檢查自身ip地址,若ip地址發生變化,向伺服器發送(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(4)檢查自身坐標,若自身坐標發生變化,且其變化範圍超過精度p, 向伺服器發送(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(5)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(6)回到第(2)步。
伺服器
伺服器工作流程如下:
(1)初始化,清除所有條目;
(2)若收到電子設備發送的(坐標,ip,mac,時間戳),因每個電子設備擁有唯一mac地址,查看相應類別的集合中對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,ip,mac,時間戳,時間閾值),前四項(坐標,ip,mac,時間戳)為電子設備所發送的數據,初始時間閾值設為0;若已存在,則更新對應的條目,更新方法如下:首先查看ip地址是否發生變化,若發生變化,則更新(坐標,ip,時間戳)為電子設備最新發送的數據,時間閾值清零;若ip地址沒有變化,則查看坐標是否發生變化,若坐標發生變化且其變化範圍超過精度p,則更新(坐標,ip,時間戳)為電子設備最新發送的數據;若ip地址無變化,且坐標也在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢對應的坐標,則尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢對應的坐標,則尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其ip地址為客戶端所提供的ip,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(5)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的ip或mac,則搜尋所有條目,查找處於客戶端所提供的地標範圍周圍為精度p之內的條目,將此條目加入set3,向客戶端返回set3中的ip地址集合或mac地址集合;
(6)回到第(2)步;
本實施例是對第二種工作方式的系統進行簡化,以下為此簡化系統在第二種工作方式下的工作流程:
客戶端
利用客戶端可以進行以下操作:
(1)輸入坐標,查詢ip地址;
(2)輸入坐標,查詢mac地址;
(3)輸入ip地址,查詢坐標;
(4)輸入mac地址,查詢坐標。
電子設備
電子設備的工作流程如下:
(1)初始化,保存自身當前狀態(坐標,mac,時間戳),並將當前狀態發送至伺服器,其中坐標為電子設備當前坐標,mac為電子設備當前mac地址,時間戳為電子設備保存當前狀態時的時間;
(2)檢查當前時間戳,若距離上次發送已過發送周期t,向伺服器發送自身新的當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(3)檢查自身坐標,若自身坐標發生變化,其變化範圍超過精度p,向伺服器發送(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(4)若收到伺服器的心跳,向伺服器發送當前狀態(坐標,ip,mac,時間戳),更新並保存為當前狀態;
(5)回到第(2)步。
伺服器
伺服器的工作流程如下:
(1)初始化,清除所有條目;
(2)若收到電子設備發送的(坐標,mac,時間戳),因每個電子設備擁有唯一mac地址,查看相應類別的集合中對應的mac地址的條目是否已存在;若不存在,則保存為(坐標,mac,時間戳,時間閾值),前三項為電子設備所發送的數據,初始時間閾值設為0;若已存在,則更新對應的條目,更新方法如下:首先查看坐標是否發生變化,若坐標發生變化且其變化範圍超 過精度p,則更新(坐標,時間戳)為電子設備最新發送的數據;若坐標在精度p的範圍內變化,則更新時間戳和時間閾值,新的時間閾值=舊的時間閾值+(新的時間戳-舊的時間戳)*0.5;
(3)若收到客戶端查詢請求,且客戶端提供的是mac,查詢對應的坐標,則尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其mac地址為客戶端所提供的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(4)若收到客戶端查詢請求,且客戶端提供的是ip,查詢對應的坐標,則首先按tcp/ip協議將ip地址轉換為mac地址,然後尋找伺服器中所有集合中的所有條目,若存在這樣的條目,其mac地址為轉換後的mac地址,返回此條目中的坐標信息給客戶端;若不存在這樣的條目,則返回空給客戶端;
(5)若收到客戶端的查詢請求,且客戶端提供的是坐標信息,查詢對應的mac地址,則搜尋所有條目,查找處於客戶端所提供的地標範圍周圍為精度p之內的條目,將此條目加入set3,向客戶端返回set3中的mac地址集合;
(6)若收到客戶端的查詢請求,客戶端提供的是坐標信息,查詢對應的ip地址,則搜尋所有條目,查找處於客戶端所提供的地標範圍周圍為精度p之內的條目,將此條目加入set3,對set3中的每一個條目做如下操作:提取條目中的mac地址,按tcp/ip協議轉換為ip地址,若轉換成功,將轉換後的ip地址加入set4;最後向客戶端返回set4(ip地址集合)
(7)回到第(2)步。
在本發明中,整個系統還可進行進一步的簡化,即只對靜止電子設備提供轉換服務,通過人工收集電子設備(坐標,mac)信息,存入伺服器,即伺服器中對每個電子設備都存儲對應的(坐標,mac)條目,根據這些條目即可響應客戶端的請求。
綜合上述實施例可知,本發明的系統和方法的主要是使用伺服器(如計算機系統)實時記錄現實地址(如坐標)與網絡地址之間的對應關係,並對客戶端提供轉換服務。本發明的系統可擁有多種變形,如伺服器對每一個電子設備存儲條目為(坐標,ip,mac,輔助信息)、(坐標,ip,輔助信息)或(坐 標,mac,輔助信息)等,其中輔助信息是含有零項或一項或多項信息,用於提高坐標與網絡地址之間相互轉換時匹配的準確度。譬如當客戶端提供坐標,查詢相應的網絡地址時,伺服器返回的是一個網絡地址集合,此集合可能只包含一個網絡地址或者沒有或者多個網絡地址,輔助信息可作為伺服器尋找網絡地址過程中的特徵信息,用於尋找最匹配的網絡地址。舉個例子,可以對系統中每個電子設備進行編號,作為輔助信息。客戶端通過提供坐標和輔助信息,可以查詢網絡地址,即根據電子設備的編號,伺服器可以唯一確定此電子設備的網絡地址,要麼匹配成功將此網絡地址返回給客戶端,要麼匹配失敗,返回空給客戶端。在此例子中,其實設備編號與電子設備是一一對應的關係,客戶端若只提供設備編號也可進行查詢,如查詢設備的坐標,或者查詢設備的網絡地址,而伺服器是根據設備編號進行匹配,並將相應結果返回給客戶端。
綜合上述實施例可知,在本發明中,伺服器(如計算機系統)所記錄的現實地址(如坐標)與網絡地址之間的對應關係可以是直接的對應關係,如伺服器可以存儲條目(坐標,網絡地址),該條目是直接的對應關係。此對應關係也可以是間接的對應關係,如伺服器可以存儲條目(坐標,輔助信息a)和(網絡地址,輔助信息a),如此,坐標和網絡地址之間有間接的對應關係。舉個例子,譬如伺服器對每個電子設備存儲條目(坐標,設備編號)和條目(網絡地址,設備編號)。電子設備的mac地址也可用作編號,如伺服器保存對電子設備保存條目(坐標,mac)和條目(ip,mac),此時坐標和網絡地址之間具有一重間接對應關係。在另一實施例中,坐標和網絡地址也可有多重間接對應關係,譬如伺服器保存條目(坐標,輔助信息a)、條目(網絡地址,輔助信息b)和條目(輔助信息a,輔助信息b),此時坐標和網絡地址之間具有二重間接對應關係。或者,在其它實施例中,坐標和網絡地址可以經過更多條目來實現坐標和網絡地址之間更多重的間接對應關係。
通過本發明的系統和方法,本發明可以提供如下服務:通過坐標,匹配網絡地址;通過網絡地址,匹配坐標;通過坐標和輔助信息,匹配網絡地址;通過輔助信息,匹配坐標;通過輔助信息,匹配網絡地址。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟悉此技藝者,在不脫離本發明的精神和範圍內,當可作各種的更動與潤飾,因此本發明的保護範圍當視所附的權利要求書所界定的範圍為準。