本發(fā)明涉及插座技術領域,尤其涉及一種基于分布式總賬技術的智能插座管理系統(tǒng)及其方法。
背景技術:
近年來,隨著電子信息技術的發(fā)展,用戶對插座管理的智能化需求越來越高,市場出現(xiàn)一些以智能插座為基礎的智能插座管理系統(tǒng)。智能插座管理系統(tǒng)主要采用“移動終端+智能插座+網(wǎng)關+云端服務器”模式。智能插座通過無線連接到網(wǎng)關,網(wǎng)關通過無線或有線連接云端服務器,用戶可以通過移動終端的app訪問云端服務器,進而控制智能插座。
現(xiàn)有的智能插座管理系統(tǒng)中,智能插座信息、用戶信息及用戶的使用記錄等數(shù)據(jù)都集中保存在云端或者本地服務器,為中心化的管理系統(tǒng)。中心化的系統(tǒng)有著嚴重的缺陷,當中心服務器的系統(tǒng)硬件出現(xiàn)故障或者遭到外部攻擊時,容易造成數(shù)據(jù)丟失或者被篡改,甚至是插座被惡意控制,進而導致管理系統(tǒng)的混亂,給多方帶來嚴重的損失。由上述分析可知,現(xiàn)有技術中的智能插座管理系統(tǒng)存在安全性能低的問題。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于分布式總賬技術的智能插座管理系統(tǒng)及其方法,用于解決智能插座管理領域的信息安全問題。
為達到上述目的,本發(fā)明所提供的基于分布式總賬技術的智能插座管理系統(tǒng)采用如下技術方案:
一種基于分布式總賬技術的智能插座管理系統(tǒng),包括依次連接的移動終端、去中心化服務器、網(wǎng)關和智能插座;其中,去中心化服務器由多個記賬節(jié)點組成,每個記賬節(jié)點均保存有一份完整的總賬,總賬記錄著所有的插座使用記錄。
由于該智能插座管理系統(tǒng)具有上述結構,因此,可以保證智能插座使用數(shù)據(jù)記錄不被篡改和不被偽造,即便在某個服務器上數(shù)據(jù)被破壞后也可完整地恢復,確保數(shù)據(jù)的完整性和真實性。
可選地,智能插座包括發(fā)送模塊,用于將其使用記錄發(fā)送至去中心化服務器中的某個記賬節(jié)點;去中心化服務器包括廣播模塊,用于將收到的數(shù)據(jù)記錄廣播到去中心化服務器中的其他記賬節(jié)點,等待其他記賬節(jié)點的確認;去中心化服務器還包括確認模塊,用于確認該段數(shù)據(jù)是否有效;去中心化服務器還包括寫入模塊和丟棄模塊,寫入模塊用于在確認數(shù)據(jù)有效時,將該段數(shù)據(jù)記錄將和同時期內被確認的其他數(shù)據(jù)記錄組成一個數(shù)據(jù)塊,并將該數(shù)據(jù)塊寫入總賬;丟棄模塊用于在拒絕確認數(shù)據(jù)時,將該段數(shù)據(jù)將丟棄,不計入總賬。
可選地,使用記錄至少包括以下幾項數(shù)據(jù):插座id、用戶id、服務時間、使用電量和消費金額。
可選地,智能插座還包括插座id生成模塊,用于給全網(wǎng)中的每個智能插座按設備序列號加上地理信息重新組成一個全網(wǎng)唯一的標識,對該標識進行哈希運算生成全網(wǎng)唯一的插座id。
可選地,智能插座還包括時間戳模塊,用于將其使用記錄加上時間戳,再經(jīng)過網(wǎng)關發(fā)送至去中心化服務器中的某個記賬節(jié)點。
可選地,去中心化服務器還包括加密模塊,用于對收到的數(shù)據(jù)記錄使用私鑰進行數(shù)字簽名,并加密。
可選地,去中心化模塊還包括解密模塊,用于使用與私鑰相對應的公鑰對數(shù)字簽名進行解密,對解密后的數(shù)據(jù)塊按識別策略進行標識識別,再根據(jù)數(shù)據(jù)結構策略進行結構化改造,存入結構化數(shù)據(jù)庫,以供查詢或者分析使用。
可選地,智能插座和網(wǎng)關之間通過物聯(lián)網(wǎng)通信。
此外,本發(fā)明還提供了一種基于分布式總賬技術的智能插座管理方法,適用于如上所述的基于分布式總賬技術的智能插座管理系統(tǒng),該方法包括:步驟s1、智能插座將其使用記錄發(fā)送至去中心化服務器中的某個記賬節(jié)點;步驟s2、該記賬節(jié)點將收到的數(shù)據(jù)記錄廣播到去中心化服務器中的其他記賬節(jié)點,等待其他記賬節(jié)點的確認;步驟s3、其他記賬節(jié)點確認該段數(shù)據(jù)是否有效;步驟s4、若確認有效,則該段數(shù)據(jù)記錄將和同時期內被確認的其他數(shù)據(jù)記錄組成一個數(shù)據(jù)塊,并將該數(shù)據(jù)塊寫入總賬;若該段數(shù)據(jù)被其他記賬節(jié)點拒絕確認,該段數(shù)據(jù)將被丟棄,不計入總賬。
由于該智能插座管理方法具有上述步驟,因此,可以保證智能插座使用數(shù)據(jù)記錄不被篡改和不被偽造,即便在某個服務器上數(shù)據(jù)被破壞后也可完整地恢復,確保數(shù)據(jù)的完整性和真實性。
可選地,使用記錄至少包括以下幾項數(shù)據(jù):插座id、用戶id、服務時間、使用電量和消費金額。
可選地,插座id通過以下方法生成:給全網(wǎng)中的每個智能插座按設備序列號加上地理信息重新組成一個全網(wǎng)唯一的標識,對該標識進行哈希運算生成全網(wǎng)唯一的插座id。
可選地,服務時間包括以下時間中的至少一項:插座的開啟時間、關閉時間和開通時間。
可選地,步驟s1具體包括:智能插座將其使用記錄加上時間戳,再經(jīng)過網(wǎng)關發(fā)送至去中心化服務器中的某個記賬節(jié)點。
可選地,在步驟s1和步驟s2之間,該方法還包括:記賬節(jié)點對收到的數(shù)據(jù)記錄使用私鑰進行數(shù)字簽名,并加密。
可選地,在步驟s4之后,該方法還包括:去中心化網(wǎng)絡系統(tǒng)使用與私鑰相對應的公鑰對數(shù)字簽名進行解密,對解密后的數(shù)據(jù)塊按識別策略進行標識識別,再根據(jù)數(shù)據(jù)結構策略進行結構化改造,存入結構化數(shù)據(jù)庫,以供查詢或者分析使用。
可選地,步驟s3具體包括:其他記賬節(jié)點根據(jù)判斷策略來確認該段數(shù)據(jù)是否有效。
可選地,步驟s4中的將該數(shù)據(jù)塊寫入總賬,具體包括:去中心化網(wǎng)絡系統(tǒng)根據(jù)共識策略選擇其中一個記賬節(jié)點行使本輪記賬權,將該數(shù)據(jù)塊寫入總賬,并將最新的賬本同步到去中心化網(wǎng)絡系統(tǒng),以供其他記賬節(jié)點進行賬本更新。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例中的基于分布式總賬技術的智能插座管理系統(tǒng)的模塊示意圖;
圖2為本發(fā)明實施例中的基于分布式總賬技術的智能插座管理方法的流程圖。
附圖標記說明:
1-移動終端;2-去中心化服務器;3-網(wǎng)關;
4-智能插座。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供了一種基于分布式總賬技術的智能插座管理系統(tǒng),如圖1所示,該智能插座管理系統(tǒng)包括依次連接的移動終端1、去中心化服務器2、網(wǎng)關3和智能插座4;其中,去中心化服務器2由多個記賬節(jié)點組成,每個記賬節(jié)點均保存有一份完整的總賬,總賬記錄著所有的插座使用記錄。
由于該智能插座管理系統(tǒng)具有上述結構,因此,可以保證智能插座使用數(shù)據(jù)記錄不被篡改和不被偽造,即便在某個服務器上數(shù)據(jù)被破壞后也可完整地恢復,確保數(shù)據(jù)的完整性和真實性。
可選地,智能插座包括發(fā)送模塊,用于將其使用記錄發(fā)送至去中心化服務器中的某個記賬節(jié)點;去中心化服務器包括廣播模塊,用于將收到的數(shù)據(jù)記錄廣播到去中心化服務器中的其他記賬節(jié)點,等待其他記賬節(jié)點的確認;去中心化服務器還包括確認模塊,用于確認該段數(shù)據(jù)是否有效;去中心化服務器還包括寫入模塊和丟棄模塊,寫入模塊用于在確認數(shù)據(jù)有效時,將該段數(shù)據(jù)記錄將和同時期內被確認的其他數(shù)據(jù)記錄組成一個數(shù)據(jù)塊,并將該數(shù)據(jù)塊寫入總賬;丟棄模塊用于在拒絕確認數(shù)據(jù)時,將該段數(shù)據(jù)將丟棄,不計入總賬。
可選地,使用記錄至少包括以下幾項數(shù)據(jù):插座id、用戶id、服務時間、使用電量和消費金額。
可選地,智能插座還包括插座id生成模塊,用于給全網(wǎng)中的每個智能插座按設備序列號加上地理信息重新組成一個全網(wǎng)唯一的標識,對該標識進行哈希運算生成全網(wǎng)唯一的插座id。
可選地,智能插座還包括時間戳模塊,用于將其使用記錄加上時間戳,再經(jīng)過網(wǎng)關發(fā)送至去中心化服務器中的某個記賬節(jié)點。
可選地,去中心化服務器還包括加密模塊,用于對收到的數(shù)據(jù)記錄使用私鑰進行數(shù)字簽名,并加密。
可選地,去中心化模塊還包括解密模塊,用于使用與私鑰相對應的公鑰對數(shù)字簽名進行解密,對解密后的數(shù)據(jù)塊按識別策略進行標識識別,再根據(jù)數(shù)據(jù)結構策略進行結構化改造,存入結構化數(shù)據(jù)庫,以供查詢或者分析使用。
可選地,智能插座和網(wǎng)關之間通過物聯(lián)網(wǎng)通信。具體地,物聯(lián)網(wǎng)傳輸協(xié)議可以為lora、sigfox、nb-lot、wifi、藍牙和zigbee的其中一種。其中,lora傳輸協(xié)議為低功耗遠距離的物聯(lián)網(wǎng)傳輸協(xié)議,單個lora基站的通訊覆蓋范圍可達5-10km。
此外,本發(fā)明還提供了一種基于分布式總賬技術的智能插座管理方法,適用于如上所述的基于分布式總賬技術的智能插座管理系統(tǒng),如圖2所示,該方法包括:步驟s1、智能插座將其使用記錄發(fā)送至去中心化服務器中的某個記賬節(jié)點;步驟s2、該記賬節(jié)點將收到的數(shù)據(jù)記錄廣播到去中心化服務器中的其他記賬節(jié)點,等待其他記賬節(jié)點的確認;步驟s3、其他記賬節(jié)點確認該段數(shù)據(jù)是否有效;步驟s4、若確認有效,則該段數(shù)據(jù)記錄將和同時期內被確認的其他數(shù)據(jù)記錄組成一個數(shù)據(jù)塊,并將該數(shù)據(jù)塊寫入總賬;若該段數(shù)據(jù)被其他記賬節(jié)點拒絕確認,該段數(shù)據(jù)將被丟棄,不計入總賬。需要解釋的是,數(shù)據(jù)塊(區(qū)塊)的數(shù)據(jù)結構一般為區(qū)塊頭和區(qū)塊體,區(qū)塊頭用于鏈接到前一個區(qū)塊并且具有時間戳特性;區(qū)塊體則包含了經(jīng)過驗證的、區(qū)塊創(chuàng)建過程中產生的所有的插座使用記錄信息。
由于該智能插座管理方法具有上述步驟,因此,可以保證智能插座使用數(shù)據(jù)記錄不被篡改和不被偽造,即便在某個服務器上數(shù)據(jù)被破壞后也可完整地恢復,確保數(shù)據(jù)的完整性和真實性。
可選地,使用記錄至少包括以下幾項數(shù)據(jù):插座id、用戶id、服務時間、使用電量和消費金額。具體地,插座id可以通過以下方法生成:給全網(wǎng)中的每個智能插座按設備序列號加上地理信息重新組成一個全網(wǎng)唯一的標識,對該標識進行哈希運算生成全網(wǎng)唯一的插座id。服務時間包括以下時間中的至少一項:插座的開啟時間、關閉時間和開通時間。使用電量為用戶在本次使用期間插座計量的用電量,消費金額為用戶本次使用插座的費用。
可選地,步驟s1具體包括:智能插座將其使用記錄加上時間戳,再經(jīng)過網(wǎng)關發(fā)送至去中心化服務器中的某個記賬節(jié)點。需要解釋的是,時間戳通常是一個字符序列,能夠唯一地標識某一刻的時間。一般來說,時間戳產生的過程為:智能插座將需要加時間戳的使用記錄用hash(哈希)編碼加密形成摘要,然后將該摘要發(fā)送到時間戳認證單位,時間戳認證單位在加入收到文件摘要的日期和時間信息后再對該文件加密(數(shù)字簽名),然后返回給智能插座。
可選地,在步驟s1和步驟s2之間,該方法還包括:記賬節(jié)點對收到的數(shù)據(jù)記錄使用私鑰進行數(shù)字簽名,并加密。需要說明的是,私鑰數(shù)字簽名相關的內容可參照現(xiàn)有技術,此處不再進行贅述。
可選地,在步驟s4之后,該方法還包括:去中心化網(wǎng)絡系統(tǒng)使用與私鑰相對應的公鑰對數(shù)字簽名進行解密,對解密后的數(shù)據(jù)塊按識別策略進行標識識別,再根據(jù)數(shù)據(jù)結構策略進行結構化改造,存入結構化數(shù)據(jù)庫,以供查詢或者分析使用。其中,結構化數(shù)據(jù)指的是行數(shù)據(jù),存儲于數(shù)據(jù)庫內,可以用二維表結構來邏輯表達實現(xiàn)的數(shù)據(jù)。需要解釋的是,識別策略是指根據(jù)數(shù)據(jù)塊的數(shù)據(jù)結構進行內容識別,將區(qū)塊體部分取出;數(shù)據(jù)結構策略是指根據(jù)插座使用記錄的數(shù)據(jù)格式(一般為json格式)進行解析,將插座id、用戶id、使用時間等數(shù)據(jù)提取出來,存入結構化數(shù)據(jù)庫。
可選地,步驟s3具體包括:其他記賬節(jié)點根據(jù)判斷策略來確認該段數(shù)據(jù)是否有效。需要解釋的是,判斷策略是指,其他節(jié)點根據(jù)某些規(guī)則來判斷該段數(shù)據(jù)(插座使用記錄)是否有效,比如收費是否異常、插座是否同時多用等。例如,某條插座使用記錄的內容為某用戶使用了1個小時插座卻消費了200元,該記錄就明顯有問題,將被拒絕確認,節(jié)點可視其無效。再例如,賬本中已經(jīng)有一條記錄為a用戶在10點—12點間使用了001號插座,現(xiàn)在又收到另一條使用記錄內容為b用戶在11點-14點間使用001號插座,時間上出現(xiàn)矛盾,則第二條記錄將被拒絕確認。
可選地,步驟s4中的將該數(shù)據(jù)塊寫入總賬,具體包括:去中心化網(wǎng)絡系統(tǒng)根據(jù)共識策略選擇其中一個記賬節(jié)點行使本輪記賬權,將該數(shù)據(jù)塊寫入總賬,并將最新的賬本同步到去中心化網(wǎng)絡系統(tǒng),以供其他記賬節(jié)點進行賬本更新。需要解釋的是,共識(consensus)指的是當多個主機通過異步通訊方式組成網(wǎng)絡集群時,這個網(wǎng)絡默認是不可靠的,那么在這些不可靠主機之間復制狀態(tài)需要采取一種機制,以保證每個主機的狀態(tài)最終達成相同一致性狀態(tài),取得共識。共識策略分為強領導力(leadership)算法和無領導人(leaderless)算法這兩種,例如,paxos算法是一種leaderless類型的算法,raft算法是一種leadership類型的算法。需要說明的是,上述paxos算法和raft算法可參照現(xiàn)有技術,此處不再進行贅述。
為便于本領域技術人員更好地理解該基于分布式總賬技術的智能插座管理方法的優(yōu)勢,下面對該方法的有益效果作如下總結:1、該分布式賬本,使用基于分布式的共識算法來決定記賬者;2、該分布式賬本以塊為單位保存使用數(shù)據(jù)記錄,并按照塊產生的時間順序連接,并且當前塊含有上個塊的散列值;3、數(shù)據(jù)塊的鏈接和塊內交易按密碼學簽名和哈希算法保證不可篡改;4、該賬本只可追加,不能修改,所有數(shù)據(jù)記錄在賬本中可追溯。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。