一種密碼鎖控制方法、裝置以及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種密碼鎖控制方法、裝置以及系統(tǒng),屬于密碼鎖控制領(lǐng)域。密碼鎖控制方法包括:獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼,所述開鎖密碼為預(yù)先生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一個,所述密碼鎖與所述用戶終端相綁定;將所獲取的開鎖密碼發(fā)送至所述用戶終端。有效避免了密碼鎖和服務(wù)器通信異常時,用戶無法通過輸入開鎖密碼的方式打開密碼鎖。
【專利說明】
一種密碼鎖控制方法、裝置以及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于控制領(lǐng)域,具體涉及一種密碼鎖控制方法、裝置以及系統(tǒng)。
【背景技術(shù)】
[0002] 現(xiàn)有的基于互聯(lián)網(wǎng)的密碼鎖系統(tǒng),一般由密碼鎖、網(wǎng)關(guān)和密碼生成后臺組成。用戶 在欲打開密碼鎖的時候,需要先向密碼生成后臺發(fā)送密碼請求,密碼生成后臺根據(jù)密碼請 求生成一個密碼發(fā)送至用戶終端以及通過網(wǎng)關(guān)將密碼發(fā)送至密碼鎖。密碼鎖根據(jù)獲得的密 碼配置密碼鎖,用戶通過所接收的密碼打開密碼鎖。
[0003] 安裝在房門的密碼鎖一般采用電池供電,因此,受限于密碼鎖的電池電量,密碼鎖 需要通過網(wǎng)關(guān)與密碼生成后臺實現(xiàn)通信連接,而非直接與密碼生成后臺實現(xiàn)通信連接。
[0004] 當(dāng)密碼鎖和網(wǎng)關(guān)之間的通信鏈路以及網(wǎng)關(guān)和密碼生成后臺之間的通信鏈路發(fā)生 故障時,密碼生成后臺將無法根據(jù)用戶終端發(fā)送的密碼請求所生成的開鎖密碼發(fā)送至密碼 鎖,進而會導(dǎo)致用戶無法根據(jù)所接收的開鎖密碼打開密碼鎖所對應(yīng)的房門。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種身份驗證方法及系統(tǒng),以改善上述的問題。
[0006] 第一方面,本發(fā)明實施例提供了一種密碼鎖控制方法,包括:獲得用戶終端發(fā)送的 密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼,所述開鎖密碼為預(yù)先生成并發(fā)送給密碼 鎖由所述密碼鎖存儲的多個開鎖密碼中的一個,所述密碼鎖與所述用戶終端相綁定;將所 獲取的開鎖密碼發(fā)送至所述用戶終端。
[0007] 第二方面,本發(fā)明實施例還提供了另一種密碼鎖控制方法,包括:獲取用戶輸入的 校驗密碼;當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時, 發(fā)送開啟指令至所對應(yīng)的電子鎖具,其中,所存儲的多個開鎖密碼為由服務(wù)器生成的開鎖 密碼。
[0008] 第三方面,本發(fā)明實施例還提供了一種密碼鎖控制系統(tǒng),包括服務(wù)器、密碼鎖和網(wǎng) 關(guān)。所述服務(wù)器用于生成多個開鎖密碼,獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求 獲取一個開鎖密碼,將所獲取的開鎖密碼發(fā)送至用戶終端。所述網(wǎng)關(guān)用于獲取所述服務(wù)器 內(nèi)的所述多個開鎖密碼,并將所獲取的所述多個開鎖密碼發(fā)送至所述密碼鎖。所述密碼鎖 用于將所接收的所述多個開鎖密碼存儲,接收用戶輸入的校驗密碼,當(dāng)用戶輸入的校驗密 碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,發(fā)送開啟指令至所對應(yīng)的電子鎖 具。
[0009] 第四方面,本發(fā)明實施例還提供了一種密碼鎖控制裝置,包括:密碼設(shè)定單元和發(fā) 送單元。密碼設(shè)定單元用于獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開 鎖密碼,所述開鎖密碼為預(yù)先存儲并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的 一個。發(fā)送單元用于將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0010]第五方面,本發(fā)明實施例還提供了一種密碼鎖控制裝置,包括:校驗密碼獲取單元 和驗證單元。校驗密碼獲取單元用于獲取用戶輸入的校驗密碼。驗證單元用于當(dāng)用戶輸入 的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,打開所對應(yīng)的房門,其 中,所存儲的多個開鎖密碼為由服務(wù)器生成的開鎖密碼。
[0011] 本發(fā)明實施例中,在密碼鎖初始化階段,預(yù)先在服務(wù)器生成多個開鎖密碼,并由服 務(wù)器通過網(wǎng)關(guān)將所生成的多個開鎖密碼發(fā)送至密碼鎖,密碼鎖將所接收的多個開鎖密碼存 儲。由此,服務(wù)器將所生成的多個開鎖密碼與密碼鎖相對應(yīng),并且密碼鎖所存儲的密碼也存 儲在服務(wù)器內(nèi)。
[0012] 服務(wù)器在接收到用戶終端發(fā)送的密碼請求后,根據(jù)用戶終端的ID找到與用戶終端 的ID綁定的密碼鎖,再根據(jù)所綁定的密碼鎖找到該密碼鎖所對應(yīng)的多個開鎖密碼,根據(jù)預(yù) 設(shè)的開鎖密碼查找規(guī)則在該密碼鎖所對應(yīng)的多個開鎖密碼中獲取一個開鎖密碼,將所獲取 的開鎖密碼發(fā)送至用戶終端。
[0013] 用戶可以通過用戶終端獲得開鎖密碼,在密碼鎖處輸入密碼,當(dāng)輸入的密碼與密 碼鎖內(nèi)存儲的多個開鎖密碼中的至少一個匹配時,打開密碼鎖所對應(yīng)的電子鎖具。與現(xiàn)有 技術(shù)中的密碼鎖相比,用戶所獲取的開鎖密碼在密碼鎖初始化的時候已在密碼鎖內(nèi)存儲, 而無需在服務(wù)器將開鎖密碼發(fā)送至用戶終端的同時將開鎖密碼發(fā)送至密碼鎖,以使用戶終 端與密碼鎖的密碼一致。因此,即使密碼鎖與服務(wù)器之間的通信鏈路出現(xiàn)故障而無法正常 通信,也不影響服務(wù)器為用戶終端分配開鎖密碼且用戶通過開鎖密碼打開密碼鎖。有效避 免了密碼鎖和服務(wù)器通信異常時,用戶無法通過輸入開鎖密碼的方式打開密碼鎖。
【附圖說明】
[0014] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲 得其他的附圖。通過附圖所示,本發(fā)明的上述及其它目的、特征和優(yōu)勢將更加清晰。在全部 附圖中相同的附圖標(biāo)記指示相同的部分。并未刻意按實際尺寸等比例縮放繪制附圖,重點 在于示出本發(fā)明的主旨。
[0015] 圖1為本發(fā)明一實施例提供的一種密碼鎖控制系統(tǒng)的交互示意圖;
[0016] 圖2為本發(fā)明另一實施例提供的一種密碼鎖控制系統(tǒng)的交互示意圖;
[0017] 圖3為本發(fā)明一實施例提供的密碼鎖的結(jié)構(gòu)框圖;
[0018] 圖4為本發(fā)明一實施例提供的一種密碼鎖控制方法的方法流程圖;
[0019] 圖5為本發(fā)明另一實施例提供的一種密碼鎖控制方法的方法流程圖;
[0020] 圖6為本發(fā)明另一實施例提供的一種密碼鎖控制方法中密碼鎖初始化的方法流程 圖;
[0021 ]圖7為本發(fā)明另一實施例提供的一種密碼鎖控制方法的方法流程圖;
[0022] 圖8為本發(fā)明實施例提供的一種密碼鎖控制方法的開鎖密碼的更新方法的方法流 程圖;
[0023] 圖9為本發(fā)明實施例提供的一種密碼鎖控制方法的開鎖密碼的停用過程的方法流 程圖;
[0024] 圖10為本發(fā)明另一實施例提供的一種密碼鎖控制方法的方法流程圖;
[0025] 圖11為本發(fā)明一實施例提供的一種密碼鎖控制裝置的結(jié)構(gòu)框圖;
[0026] 圖12為本發(fā)明另一實施例提供的一種密碼鎖控制裝置結(jié)構(gòu)框圖;
[0027] 圖13為本發(fā)明另一實施例提供的一種密碼鎖控制裝置結(jié)構(gòu)框圖;
[0028] 圖14為本發(fā)明另一實施例提供的一種密碼鎖控制裝置結(jié)構(gòu)框圖。
【具體實施方式】
[0029] 下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在 此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因 此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的 范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做 出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0030] 應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一 個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的 描述中,術(shù)語"第一"、"第二"等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。 [0031 ] 請參閱圖1,示出了一種密碼鎖控制系統(tǒng)100。密碼鎖控制系統(tǒng)100包括密碼鎖110、 網(wǎng)關(guān)120、服務(wù)器130和用戶終端140。密碼鎖110與網(wǎng)關(guān)120耦合,網(wǎng)關(guān)120和服務(wù)器130耦合。 當(dāng)密碼鎖110與網(wǎng)關(guān)120之間的通信鏈路正常時,密碼鎖110與網(wǎng)關(guān)120能夠進行數(shù)據(jù)交互, 同理,當(dāng)網(wǎng)關(guān)120和服務(wù)器130之間的通信鏈路正常時,網(wǎng)關(guān)120與服務(wù)器130能夠進行數(shù)據(jù) 交互。
[0032]密碼鎖110能夠驅(qū)動用于控制房門開啟和關(guān)閉的執(zhí)行機構(gòu)執(zhí)行相應(yīng)的動作,以控 制所對應(yīng)的房門的開啟和關(guān)閉。作為一種實施方式,密碼鎖110包括控制器、存儲器和電子 鎖具,存儲器用于存儲服務(wù)器發(fā)送的開鎖密碼,控制器用于根據(jù)輸入的密碼與其存儲的開 鎖密碼的匹配結(jié)果發(fā)送開啟指令至電子鎖具。電子鎖具用于根據(jù)開啟指令而打開。密碼鎖 110可以包括輸入按鈕,該輸入按鈕用于用戶輸入開鎖密碼。
[0033] 網(wǎng)關(guān)120為用于實現(xiàn)密碼鎖110與服務(wù)器130之前通信協(xié)議轉(zhuǎn)換以使密碼鎖110與 服務(wù)器130網(wǎng)絡(luò)互連的計算機設(shè)備或系統(tǒng)。作為一種實施方式,密碼鎖110采用電池供電,因 此,受限于電池的電量,密碼鎖110需要通過網(wǎng)關(guān)120與服務(wù)器130通信。需要說明的是,圖1 所示的每個密碼鎖110對應(yīng)一個網(wǎng)關(guān)120,當(dāng)然,在一些應(yīng)用場景中,例如距離較近多個密碼 鎖110可以共用一個網(wǎng)關(guān)120。網(wǎng)關(guān)120通過不同的端口連接不同的密碼鎖110。
[0034] 服務(wù)器130可以是網(wǎng)絡(luò)服務(wù)器或數(shù)據(jù)庫服務(wù)器,用于生成開鎖密碼并將開鎖密碼 通過網(wǎng)關(guān)120發(fā)送至密碼鎖110。優(yōu)選地,服務(wù)器130內(nèi)搭載有密碼管理后臺,該密碼管理后 臺用于生成開鎖密碼并根據(jù)所接收的密碼請求發(fā)送開鎖密碼給用戶。作為一種實施方式, 服務(wù)器130所生成的每個開鎖密碼均對應(yīng)有使用狀態(tài)、標(biāo)識和有效期等信息,服務(wù)器130將 開鎖密碼以及開鎖密碼鎖對應(yīng)的使用狀態(tài)、標(biāo)識和有效期對應(yīng)存儲在一個數(shù)據(jù)表內(nèi)。另外, 服務(wù)器130負(fù)責(zé)多個密碼鎖的密碼配置,因此,在該數(shù)據(jù)表內(nèi)還設(shè)有密碼鎖標(biāo)號。其中,密碼 鎖標(biāo)號可以是密碼鎖110的設(shè)備ID,當(dāng)然也可以是密碼鎖110所對應(yīng)的房間號。
[0035] 作為一種實施方式,該數(shù)據(jù)表可如表1所示:
[0036] 表1
[0037]
[0038] 由表1的"密碼鎖標(biāo)號A"可以看出,表1中的多個開鎖密碼對應(yīng)的是密碼鎖標(biāo)號為A 的密碼鎖。服務(wù)器130所管理的密碼鎖110可以有多個,如圖1中所示的密碼鎖標(biāo)號B和密碼 鎖標(biāo)號C所對應(yīng)的密碼鎖,服務(wù)器130為每個密碼鎖110均建立一個數(shù)據(jù)表。均可以采用表1 中所示的形式,便于服務(wù)器130針對密碼鎖110的開鎖密碼進行修改和查找等管理操作。
[0039] 其中,表1中,使用狀態(tài)的不同數(shù)值表示開鎖密碼的不同的狀態(tài),例如,使用狀態(tài)0 表示開鎖密碼"未使用",使用狀態(tài)1表示開鎖密碼"使用中",使用狀態(tài)2表示開鎖密碼"已使 用"。其中,開鎖密碼"已使用"是指該開鎖密碼已經(jīng)被使用并且使用者已經(jīng)放棄使用或者已 經(jīng)過了使用期限,而考慮到密碼的安全性,使用狀態(tài)為"已使用"的開鎖密碼應(yīng)當(dāng)被更換掉, 而不應(yīng)當(dāng)再投入使用。
[0040] 表1中,標(biāo)識為開鎖密碼在數(shù)據(jù)表中的位置,例如,標(biāo)識可以是每個開鎖密碼在數(shù) 據(jù)表所在的存儲空間中的物理地址或者指向存儲地址的指針。通過設(shè)置標(biāo)識,便于服務(wù)器 對數(shù)據(jù)表中的開鎖密碼進行查找和修改,也便于服務(wù)器更新密碼鎖內(nèi)所存儲的開鎖密碼。 由于本發(fā)明實施例中,針對同一個密碼鎖標(biāo)號,需要盡量保持服務(wù)器內(nèi)所存儲多個開鎖密 碼和密碼鎖內(nèi)所存儲的開鎖密碼一致,因此,在服務(wù)器內(nèi)更新或修改開鎖密碼時,需要對應(yīng) 修改密碼鎖內(nèi)存儲的開鎖密碼。服務(wù)器通過發(fā)送一個包含所修改的開鎖密碼對應(yīng)的標(biāo)識的 修改指令至密碼鎖,密碼鎖在收到該修改指令后根據(jù)該修改指令的指示,將所收到的標(biāo)識 對應(yīng)的開鎖密碼按照服務(wù)器所發(fā)送的開鎖密碼進行修改。
[0041] 另外,表1中,有效期為開鎖密碼能夠用于打開密碼鎖所對應(yīng)的房門的期限。在初 次設(shè)置新的開鎖密碼時,將開鎖密碼的有效期設(shè)置為默認(rèn)值。其中,默認(rèn)值可以是一個時間 節(jié)點或者時間數(shù)值。例如12天,起算日為初次生成開鎖密碼的時間點。需要說明的是,初次 生成開鎖密碼可以是系統(tǒng)初始化時第一次生成的開鎖密碼,也可以是將舊的開鎖密碼更新 為新的開鎖密碼。另外,表1中的"ΤΓ表示手動設(shè)置的開鎖密碼的有效期。手動設(shè)置的有效 期的時間起點可以是對開鎖密碼手動設(shè)置有效期時的時間節(jié)點,手動設(shè)置的有效期的時間 終點可以根據(jù)實際使用需求而設(shè)定。
[0042] 用戶終端140用于發(fā)送密碼請求至服務(wù)器,其中,密碼請求中包括用戶終端的身份 信息和密碼鎖標(biāo)號。其中,用戶終端的身份信息和密碼鎖標(biāo)號相綁定,用戶終端的身份信息 可以是用戶終端的MAC地址或者用戶通過用戶終端上安裝的應(yīng)用程序登錄服務(wù)器時所使用 的登錄賬號。作為一種實施方式,用戶終端的身份信息為登錄賬號。在用戶終端上安裝有應(yīng) 用程序,該應(yīng)用程序作為用戶終端與服務(wù)器的交互平臺,用戶通過該應(yīng)用程序登錄服務(wù)器、 發(fā)送密碼請求至服務(wù)器以及從服務(wù)器獲取開鎖密碼。
[0043] 請參閱圖2,為本發(fā)明實施例提供的一種密碼鎖控制系統(tǒng)100。與圖1不同的是,圖2 所示的密碼鎖控制系統(tǒng)應(yīng)用于安裝有密碼鎖的儲物柜。此時,相應(yīng)的密碼鎖110能夠驅(qū)動用 于控制柜門開啟和關(guān)閉的執(zhí)行機構(gòu)執(zhí)行相應(yīng)的動作,以控制所對應(yīng)的柜門的開啟和關(guān)閉。 圖2所示的實施例中,密碼鎖標(biāo)號是儲物柜的柜門號,例如圖2中的G1、G2和G3等。需要說明 的是,密碼鎖110可以安裝在房門、柜門、箱門或抽屜等部件。其中,電子鎖具作為房門、柜 門、箱門或抽屜等部件的封緘器。本發(fā)明實施例中,將密碼鎖110的應(yīng)用場景定義為房門或 柜門以說明密碼鎖控制方法、裝置以及系統(tǒng)的【具體實施方式】,而并非對密碼鎖的應(yīng)用場景 限定。
[0044] 如圖3所示,是密碼鎖110的結(jié)構(gòu)框圖。密碼鎖110包括:密碼鎖控制裝置111、存儲 器112、存儲控制器113、處理器114、外設(shè)接口 115、輸入輸出單元116和顯示單元117。
[0045] 密碼鎖控制裝置111、存儲器112、存儲控制器113、處理器114、外設(shè)接口 115、輸入 輸出單元116和顯示單元117各元件相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或 交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現(xiàn)電性連接。所述密 碼鎖控制裝置111包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器中或 固化在所述密碼鎖110的操作系統(tǒng)(operating system,0S)中的軟件功能模塊。所述處理器 114用于執(zhí)行存儲器中存儲的可執(zhí)行模塊,例如所述密碼鎖控制裝置111包括的軟件功能模 塊或計算機程序。
[0046] 其中,存儲器112可以是,但不限于,隨機存取存儲器(Random Access Memory, RAM),只讀存儲器(Read Only Memory,ROM),可編程只讀存儲器(Programmable Read - Only Memory,PR0M),可擦除只讀存儲器(Erasable Programmable Read - Only Memory, EPR0M),電可擦除只讀存儲器(Electric Erasable Programmable Read - Only Memory, EEPR0M)等。其中,存儲器112用于存儲程序,所述處理器114在接收到執(zhí)行指令后,執(zhí)行所述 程序,前述本發(fā)明實施例任一實施例揭示的流過程定義的服務(wù)器130所執(zhí)行的方法可以應(yīng) 用于處理器114中,或者由處理器114實現(xiàn)。另外,存儲器113作為密碼鎖的存儲介質(zhì),用于存 儲服務(wù)器發(fā)送的開鎖密碼以及開鎖密碼對應(yīng)的標(biāo)識、有效期以及使用狀態(tài)等數(shù)據(jù)。
[0047]處理器114可能是一種集成電路芯片,具有信號的處理能力。上述的處理器可以是 通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網(wǎng)絡(luò)處理器(Network Processor,簡稱NP)等;還可以是數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程 門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢?實現(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處 理器或者該處理器也可以是任何常規(guī)的處理器等。
[0048] 所述外設(shè)接口 115將各種輸入/輸入裝置耦合至處理器114以及存儲器112。在一些 實施例中,外設(shè)接口,處理器114以及存儲控制器113可以在單個芯片中實現(xiàn)。在其他一些實 例中,他們可以分別由獨立的芯片實現(xiàn)。
[0049] 輸入裝置116用于提供給用戶輸入數(shù)據(jù)實現(xiàn)用戶與密碼鎖110的交互。所述輸入輸 出單元116可以是,但不限于,鍵盤等。
[0050] 顯示器117在密碼鎖110與用戶之間提供一個交互界面(例如用戶操作界面)或用 于顯示圖像數(shù)據(jù)給用戶參考。在本實施例中,所述顯示單元117可以是液晶顯示器。
[0051] 需要說明的是,當(dāng)輸入裝置116是顯示器117上顯示的虛擬按鍵時,輸入裝置116與 顯示器117集成為觸控顯示器。則在該觸控顯示器內(nèi),顯示器117可為支持單點和多點觸控 操作的電容式觸控屏或電阻式觸控屏等。支持單點和多點觸控操作是指觸控顯示器能感應(yīng) 到來自該觸控顯示器上一個或多個位置處同時產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作 交由處理器進行計算和處理。
[0052]圖4示出了本發(fā)明實施例提供的一種密碼鎖控制方法,該方法應(yīng)用于上述系統(tǒng)及 裝置。密碼鎖控制方法至少包括:步驟S301和步驟S302。下面將以服務(wù)器130為執(zhí)行主體對 本實施例的方法所包含的步驟詳細說明。
[0053]步驟S301,獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼, 所述開鎖密碼為預(yù)先存儲生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一 個,所述密碼鎖與所述用戶終端相綁定。
[0054] 密碼鎖110內(nèi)所存儲的多個開鎖密碼是密碼鎖110在初始化時,由服務(wù)器130生成 并發(fā)送至密碼鎖110內(nèi)存儲的。也就是說,在執(zhí)行步驟S301之前,密碼鎖110需要先初始化。 通過密碼鎖110的初始化,服務(wù)器130在服務(wù)器130、網(wǎng)關(guān)120和密碼鎖110之間的通信鏈路正 常的情況下將所生成的多個開鎖密碼發(fā)送至密碼鎖110,以使密碼鎖110將所接收的多個開 鎖密碼存儲。由此,密碼鎖110所存儲的多個開鎖密碼與服務(wù)器130所存儲的多個開鎖密碼 一致。在密碼鎖110成功初始化之后,密碼鎖110就能夠作為用戶輸入密碼以打開房門的控 制裝置而被使用。也即密碼鎖110在成功初始化之前,用戶無法預(yù)訂密碼鎖110所對應(yīng)的房 間,服務(wù)器130也不響應(yīng)用戶針對該密碼鎖110的密碼請求。
[0055] 密碼鎖110和用戶終端140是相對應(yīng)的,這種對應(yīng)關(guān)系可以在用戶終端140預(yù)訂該 密碼鎖對應(yīng)的房間時生成,由用戶終端140將所預(yù)定的房間的密碼鎖標(biāo)號發(fā)送至服務(wù)器 130,由服務(wù)器130將用戶終端與將用戶終端所預(yù)定的房間的密碼鎖相綁定。也可以是用戶 發(fā)送密碼請求時,服務(wù)器130根據(jù)密碼請求將密碼鎖110與用戶終端140綁定。其中,用戶終 端140所發(fā)送的密碼請求可以是用戶在預(yù)訂房間時發(fā)出的獲取密碼的請求,也可以是在用 戶入住預(yù)訂房間的手續(xù)已經(jīng)辦理齊全時,向服務(wù)器130發(fā)送的獲取密碼的請求。
[0056] 例如,在用戶終端140發(fā)送的密碼請求中包括密碼鎖標(biāo)號和用戶終端的身份信息。 其中,密碼鎖標(biāo)號能夠表示密碼鎖110所代表的房間標(biāo)號,用戶終端140的身份信息可以是 用戶賬號信息,也可以是用戶終端140的MAC地址或SM卡號。其中,房間的標(biāo)號可以是房間 的門牌號或者房間所對應(yīng)的地理位置。服務(wù)器130在接收到密碼請求后,通過對密碼請求的 數(shù)據(jù)的解析獲得包括在密碼請求中的密碼鎖標(biāo)號和用戶終端的身份信息,將密碼鎖標(biāo)號和 用戶終端的身份信息綁定。即能夠?qū)⒈?與用戶終端的身份信息對應(yīng)。當(dāng)用戶終端140需要 更換所對應(yīng)的密碼鎖時,將包括有更換后的密碼鎖標(biāo)號的更換請求發(fā)送給服務(wù)器130,以使 服務(wù)器130將用戶終端的身份信息對應(yīng)的密碼鎖修改為更換后的密碼鎖標(biāo)號。
[0057] 再例如,用戶終端140在服務(wù)器130登錄或注冊時,服務(wù)器130能夠獲得用戶終端的 身份信息。當(dāng)用戶終端140預(yù)訂房間時,用戶終端140將所預(yù)訂的房間標(biāo)號發(fā)送至服務(wù)器 130。服務(wù)器130上存儲有多個密碼鎖標(biāo)號以及與該密碼鎖標(biāo)號所對應(yīng)的房間標(biāo)號。在服務(wù) 器130獲得用戶終端所預(yù)訂的房間標(biāo)號時,根據(jù)該房間標(biāo)號獲得與該房間標(biāo)號對應(yīng)的密碼 鎖標(biāo)號,將密碼鎖與用戶終端綁定。
[0058] 服務(wù)器130在接收到密碼請求后,通過對密碼請求的數(shù)據(jù)的解析獲得包括在密碼 請求中的密碼鎖標(biāo)號和用戶終端的身份信息。根據(jù)密碼鎖標(biāo)號找到該密碼鎖標(biāo)號下對應(yīng)的 多個開鎖密碼,再根據(jù)預(yù)設(shè)規(guī)則由所述多個開鎖密碼中獲取一個開鎖密碼。其中,預(yù)設(shè)規(guī)則 可以是隨機獲取一個開鎖密碼,也可以按照一定策略獲取開鎖密碼,在后續(xù)的實施方式中 將詳細介紹。
[0059] 步驟S302:將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0060] 服務(wù)器130根據(jù)密碼鎖110與用戶終端140的綁定關(guān)系獲得密碼鎖標(biāo)號所對應(yīng)的用 戶終端的身份信息,將所獲取的開鎖密碼發(fā)送至用戶終端的身份信息所對應(yīng)的用戶終端 140〇
[0061] 用戶通過用戶終端140獲得開鎖密碼,根據(jù)所獲得的開鎖密碼在密碼鎖110處輸入 校驗密碼,密碼鎖110將用戶輸入的校驗密碼與其內(nèi)存儲的多個開鎖密碼相匹配,若用戶輸 入的校驗密碼與其內(nèi)存儲的多個開鎖密碼中的至少一個一致,則密碼鎖110控制其對應(yīng)的 房門打開。
[0062] 作為一種實施方式,密碼鎖110控制其對應(yīng)的房門打開的方式如下:
[0063] 密碼鎖110的控制器發(fā)出開啟指令至密碼鎖110的電子鎖具,以控制電子鎖具打 開,從而將房門打開。具體地,電子鎖具包括驅(qū)動機構(gòu)和執(zhí)行機構(gòu),其中,驅(qū)動機構(gòu)可以是電 動機等能夠輸出機械能的裝置,執(zhí)行機構(gòu)根據(jù)電子鎖具的鎖芯結(jié)構(gòu)而設(shè)定,例如,可以是支 桿,通過限位的方式將密碼鎖緊。開啟指令能夠控制電子鎖具內(nèi)的驅(qū)動機構(gòu)的工作狀態(tài),例 如,電動機的正轉(zhuǎn)和反轉(zhuǎn),從而帶動執(zhí)行機構(gòu)的移動,進而控制執(zhí)行機構(gòu)打開密碼鎖。
[0064] 因此,密碼鎖110在初始化的時候即獲取密碼請求之前,完成服務(wù)器130與密碼鎖 110之間的多個開鎖密碼的存儲以及設(shè)置。在服務(wù)器130獲取到用戶的密碼請求時,服務(wù)器 130無需再依賴于網(wǎng)絡(luò)對密碼鎖110的開鎖密碼進行設(shè)置。避免在用戶發(fā)送密碼請求之后, 密碼鎖110和網(wǎng)關(guān)120或者網(wǎng)關(guān)120與服務(wù)器130之間的通信鏈路異常,導(dǎo)致服務(wù)器130無法 配置密碼鎖的開鎖密碼,導(dǎo)致用戶無法通過輸入開鎖密碼而打開密碼鎖。
[0065] 為了保持密碼鎖110在初始化時所存儲的多個開鎖密碼與服務(wù)器130所存儲的開 鎖密碼嚴(yán)格一致,服務(wù)器130需要根據(jù)密碼鎖110的反饋而存儲所生成的密碼。
[0066]如圖5所示,本發(fā)明實施例提供的一種密碼鎖控制方法,至少包括:步驟S401、步驟 S402、步驟S403、步驟S404和步驟S405。下面將以服務(wù)器130為執(zhí)行主體對本實施例的方法 所包含的步驟詳細說明。
[0067] 步驟S401:生成多個開鎖密碼。
[0068] 服務(wù)器130隨機生成多個互相不重復(fù)的開鎖密碼,每個開鎖密碼均對應(yīng)一個標(biāo)識、 使用狀態(tài)和有效期,例如,采用表1中的形式。
[0069] 步驟S402:將所述多個開鎖密碼發(fā)送至所述密碼鎖,以使所述密碼鎖將所接收的 多個開鎖密碼存儲。
[0070] 在服務(wù)器130與密碼鎖110通信鏈路正常的情況下,服務(wù)器130將多個開鎖密碼發(fā) 送至密碼鎖110。密碼鎖110將所接收的多個開鎖密碼存儲在密碼鎖110的存儲器內(nèi)。
[0071] 步驟S403:獲取獲得所述密碼鎖在成功存儲所接收的開鎖密碼之后生成的第一指 令,將所述多個開鎖密碼存儲。
[0072] 密碼鎖110在存儲空間不足或者內(nèi)部硬件故障時,會導(dǎo)致開鎖密碼的存儲失敗或 者數(shù)據(jù)丟失,若此時服務(wù)器130將密碼鎖所對應(yīng)的多個開鎖密碼存儲,就會導(dǎo)致服務(wù)器130 所存儲的開鎖密碼與密碼鎖110所存儲的開鎖密碼不一致。
[0073] 因此,密碼鎖110在獲取開鎖密碼并成功存儲之后,反饋第一指令至服務(wù)器130。其 中,第一指令用于表示密碼鎖110已經(jīng)成功將所獲取的開鎖密碼存儲。具體地,密碼鎖110在 獲取開鎖密碼并成功存儲之后生成第一指令,并將第一指令發(fā)送至網(wǎng)關(guān),網(wǎng)關(guān)將第一指令 發(fā)送至服務(wù)器。服務(wù)器130在接收到第一指令后,將所生成的且發(fā)送給密碼鎖110的多個開 鎖密碼存儲,優(yōu)選地,以表1所示的數(shù)據(jù)表的形式存儲。具體地,服務(wù)器將所更新的開鎖密碼 存儲,可以理解為服務(wù)器用更新后的開鎖密碼替換更新前的開鎖密碼并存儲,此時,服務(wù)器 內(nèi)與該密碼鎖對應(yīng)的多個開鎖密碼就變?yōu)楦潞蟮拈_鎖密碼。如果服務(wù)器只更新開鎖密碼 未存儲,則可以理解為服務(wù)器更新了開鎖密碼,但是未將更新后的開鎖密碼存儲在服務(wù)器 的存儲器(例如,硬盤)內(nèi),即未將更新前的開鎖密碼覆蓋;也可以理解為,將更新后的開鎖 密碼修改為更新前的開鎖密碼并存儲。
[0074] 第一指令可以是一個用于使服務(wù)器執(zhí)行相應(yīng)動作的操作指令,也可以是密碼鎖 110所存儲的多個開鎖密碼的描述信息,例如,多個開鎖密碼的元數(shù)據(jù)。若第一指令包括該 描述信息,服務(wù)器130在獲得所述第一指令后,解析所述第一指令獲得密碼鎖110所成功存 儲的多個開鎖密碼的描述信息。服務(wù)器130根據(jù)所述描述信息能夠判斷所述密碼鎖110是否 將服務(wù)器所生成的且發(fā)送至密碼鎖的多個開鎖密碼均成功存儲,當(dāng)服務(wù)器130判定密碼鎖 成功存儲該多個開鎖密碼時,服務(wù)器130也將該多個開鎖密碼存儲。
[0075] 優(yōu)選地,為了便于服務(wù)器130對密碼鎖110所存儲的多個開鎖密碼的管理,密碼鎖 110所存儲的多個開鎖密碼也可以采用表1的形式,且服務(wù)器130內(nèi)開鎖密碼與標(biāo)識和有效 期的對應(yīng)關(guān)系與密碼鎖內(nèi)存儲的開鎖密碼與標(biāo)識和有效期的對應(yīng)關(guān)系相同。
[0076]步驟S404:獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼, 所述開鎖密碼為預(yù)先存儲生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一 個,所述密碼鎖與所述用戶終端相綁定。
[0077]步驟S405:將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0078] 上述步驟S404和S405的實施過程可以參考圖4對應(yīng)的步驟S301和步驟S302,在此 不再贅述。
[0079] 上述步驟S401、步驟S402和步驟S403為密碼鎖初始化,作為一種實施方式,密碼鎖 初始化可以采用圖6所示的密碼鎖控制方法的方法流程中的步驟S502至S506。
[0080] 如圖6所示,密碼鎖控制方法至少包括:步驟S501至步驟S508。
[0081 ] 步驟S501:生成多個開鎖密碼。
[0082]步驟S501的【具體實施方式】可以參考圖5對應(yīng)的步驟S401。
[0083] 步驟S502:服務(wù)器將所述多個開鎖密碼發(fā)送至所述網(wǎng)關(guān)。
[0084]服務(wù)器在執(zhí)行完步驟S501之后,將所生成的多個開鎖密碼發(fā)送至網(wǎng)關(guān)120。
[0085]步驟S503:網(wǎng)關(guān)是否成功接收所述多個開鎖密碼?
[0086]網(wǎng)關(guān)120在成功接收到服務(wù)器130發(fā)送的多個開鎖密碼時能夠反饋第二指令至所 述服務(wù)器130。其中,第二指令表示網(wǎng)關(guān)120已成功接收到服務(wù)器130發(fā)送的多個開鎖密碼。 [0087]若網(wǎng)關(guān)120成功接收所述多個開鎖密碼,則執(zhí)行步驟S504。若網(wǎng)關(guān)120未成功接收 所述多個開鎖密碼,則執(zhí)行步驟S502。網(wǎng)關(guān)120沒有成功接收所述多個開鎖密碼可能因為網(wǎng) 關(guān)120與服務(wù)器130的連接故障,也可能是數(shù)據(jù)傳輸過程出現(xiàn)丟失或者網(wǎng)關(guān)硬件故障等問 題。此時,可以嘗試返回步驟S502,服務(wù)器130再嘗試發(fā)送一次多個開鎖密碼至網(wǎng)關(guān)120。如 果多次發(fā)送,網(wǎng)關(guān)120均未返回第二指令至服務(wù)器130,即網(wǎng)關(guān)120均未成功接收服務(wù)器130 發(fā)送的多個開鎖密碼,則初始化失敗,待故障排除后,再次執(zhí)行步驟S502。
[0088] 步驟S504:網(wǎng)關(guān)將所述多個開鎖密碼發(fā)送至密碼鎖。
[0089] 若網(wǎng)關(guān)120成功接收所述多個開鎖密碼,則將多個開鎖密碼發(fā)送至密碼鎖110。
[0090] 作為一種實施方式,服務(wù)器130將多個開鎖密碼通過數(shù)據(jù)包的形式發(fā)送給網(wǎng)關(guān) 120,再由網(wǎng)關(guān)120轉(zhuǎn)發(fā)給密碼鎖110。其中,數(shù)據(jù)包包括源地址和目的地址、多個開鎖密碼以 及每個開鎖密碼對應(yīng)的有效期和標(biāo)識等。其中,源地址為服務(wù)器130的通信地址,例如可以 是IP地址,目的地址為密碼鎖110的通信地址。網(wǎng)關(guān)120根據(jù)數(shù)據(jù)包所包括的源地址和目的 地址,找到網(wǎng)關(guān)120內(nèi)通往密碼鎖110的端口,將多個開鎖密碼發(fā)送至密碼鎖110。
[0091] 步驟S505:密碼鎖是否成功存儲所述多個開鎖密碼?
[0092] 密碼鎖110在成功存儲服務(wù)器130通過網(wǎng)關(guān)120發(fā)送的多個開鎖密碼時,反饋第一 指令至所述服務(wù)器130。具體地,密碼鎖110可以在將所接收的多個開鎖密碼成功存儲在密 碼鎖110對應(yīng)的存儲器內(nèi)時發(fā)送第一指令至服務(wù)器130。當(dāng)然,為了保持密碼鎖110與服務(wù)器 130之間的傳輸?shù)臄?shù)據(jù)的完整性,密碼鎖110也可以在接收到網(wǎng)關(guān)120發(fā)送的多個開鎖密碼 后對所接收的多個開鎖密碼的完整性進行驗證。作為一種實施方式,密碼鎖110和服務(wù)器 130之間可以通過通信協(xié)議的數(shù)據(jù)校驗來驗證密碼鎖110所接收數(shù)據(jù)的完整性。例如,服務(wù) 器130發(fā)送的多個開鎖密碼對應(yīng)的數(shù)據(jù)包括一個校驗位,該校驗位根據(jù)多個開鎖密碼按照 通信協(xié)議的標(biāo)準(zhǔn)而生成。密碼鎖110在接收到服務(wù)器130發(fā)送的多個開鎖密碼后,根據(jù)所接 收的數(shù)據(jù)以及按照與服務(wù)器130所約定的通信協(xié)議的標(biāo)準(zhǔn)計算出一個校驗值,若所計算的 校驗值與服務(wù)器130發(fā)送的數(shù)據(jù)的校驗值一致,則表明密碼鎖110完整地接收了服務(wù)器130 發(fā)送的多個開鎖密碼。
[0093]若密碼鎖110成功存儲所述多個開鎖密碼,則執(zhí)行步驟S505。若密碼鎖110未成功 存儲所述多個開鎖密碼,則執(zhí)行步驟S501。服務(wù)器130再嘗試發(fā)送一次多個開鎖密碼至密碼 鎖 110〇
[0094]步驟S506:密碼鎖發(fā)送第一指令至服務(wù)器,以使服務(wù)器存儲多個開鎖密碼。
[0095]服務(wù)器130接收到密碼鎖110在成功存儲該多個開鎖密碼之后發(fā)送的第一指令,將 所生成的多個開鎖密碼存儲,由此,初始化結(jié)束。通過密碼鎖110的初始化,使密碼鎖110所 存儲的多個開鎖密碼與服務(wù)器130所存儲的多個開鎖密碼。并且,能夠在服務(wù)器130接收用 戶的密碼請求之前,完成初始化,以使密碼鎖110的開鎖密碼的配置不依賴其與服務(wù)器130 之間的通信狀況。
[0096]步驟S507:獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼, 所述開鎖密碼為預(yù)先存儲生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一 個,所述密碼鎖與所述用戶終端相綁定。
[0097]步驟S508:將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0098] 步驟S507和步驟508的【具體實施方式】可以參考前述實施例的步驟S404和S405,在 此不再贅述。
[0099]為了合理分配開鎖密碼,本發(fā)明實施例根據(jù)開鎖密碼的使用狀態(tài)合理為用戶終端 分配開鎖密碼,如圖7所示,本發(fā)明實施例提供的一種密碼鎖控制方法,包括:步驟601至步 驟S610。
[0100] 步驟S601:獲取用戶終端發(fā)送的密碼請求。
[0101] 步驟S601與圖4中的步驟S301中的獲得用戶終端發(fā)送的密碼請求的步驟一致,在 此不再贅述。
[0102] 步驟S602:服務(wù)器內(nèi)是否存在第一狀態(tài)的開鎖密碼?
[0103] 其中,第一狀態(tài)為開鎖密碼的使用狀態(tài),第一狀態(tài)對應(yīng)表1中的"使用狀態(tài)0",表示 該開鎖密碼還未被使用。服務(wù)器130內(nèi)存在第一狀態(tài)的開鎖密碼是指服務(wù)器130內(nèi)與用戶終 端所綁定的密碼鎖110對應(yīng)的多個開鎖密碼中,至少有一個開鎖密碼的使用狀態(tài)為第一狀 態(tài),即服務(wù)器130內(nèi)的密碼鎖110所對應(yīng)的多個開鎖密碼中有未使用的開鎖密碼。
[0104] 若服務(wù)器130內(nèi)存在第一狀態(tài)的開鎖密碼,則執(zhí)行步驟S603。若服務(wù)器130內(nèi)不存 在第一狀態(tài)的開鎖密碼,則執(zhí)行步驟S604。
[0105] 步驟S603:服務(wù)器獲取一個第一狀態(tài)的開鎖密碼。
[0106] 服務(wù)器130從在步驟S602中找到的多個第一狀態(tài)的開鎖密碼中隨機獲取一個第一 狀態(tài)的開鎖密碼,將所獲取的第一狀態(tài)的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。其中,第二 狀態(tài)表示該開鎖密碼處于"使用中",其含義與表1中的"使用狀態(tài)Γ一致。需要說明的是,當(dāng) 在步驟S602中僅找到一個第一狀態(tài)的開鎖密碼,則在步驟S603中,服務(wù)器130直接獲取在步 驟S602中找到的第一狀態(tài)的開鎖密碼。
[0107] 用戶終端發(fā)送的密碼請求包括用戶入住該房間的時間范圍,例如入住時間為2016 年6月6日12:00至2016年6月8日12:00。服務(wù)器130在獲取第一狀態(tài)的開鎖密碼時,可以根據(jù) 密碼請求將所獲取的開鎖密碼的有效期設(shè)置為預(yù)設(shè)時間。其中,預(yù)設(shè)時間是指根據(jù)用戶入 住時間或為服務(wù)器為用戶指定的入住時間而生成的時間。例如,服務(wù)器130將所獲取的第一 狀態(tài)的開鎖密碼的有效期設(shè)置為2016年6月8日12:00。
[0108] 需要說明的是,在密碼鎖初始化時或密碼鎖110內(nèi)的開鎖密碼被更新時,密碼鎖 110內(nèi)的開鎖密碼的有效期為默認(rèn)值。如果服務(wù)器130在將所獲取的第一狀態(tài)的開鎖密碼發(fā) 送至用戶終端140之后,服務(wù)器130與密碼鎖110-致處于通信異常狀態(tài),服務(wù)器130無法更 新密碼鎖內(nèi)的與發(fā)送至用戶終端的開鎖密碼所對應(yīng)的開鎖密碼的有效期,則密碼鎖110內(nèi) 用戶所使用的開鎖密碼的有效期仍為默認(rèn)值。如果默認(rèn)值的時間大于預(yù)設(shè)時間,會導(dǎo)致用 戶在退房之后,且服務(wù)器130未將用戶所使用的開鎖密碼停用之前,用戶仍可以用開鎖密碼 打開房門。
[0109] 為了避免上述狀況的發(fā)生,可以將服務(wù)器130更新密碼鎖110內(nèi)的與用戶所使用的 開鎖密碼對應(yīng)的開鎖密碼的有效期的操作置于服務(wù)器130的后臺線程內(nèi),并時刻監(jiān)測服務(wù) 器130與密碼鎖的通信狀態(tài)。一旦服務(wù)器130與密碼鎖的連接正常時,服務(wù)器130執(zhí)行更新密 碼鎖110內(nèi)的與用戶所使用的開鎖密碼對應(yīng)的開鎖密碼的有效期的操作,將密碼鎖110內(nèi)的 與用戶所使用的開鎖密碼對應(yīng)的開鎖密碼的有效期修改為預(yù)設(shè)時間。
[0110] 步驟S604:密碼鎖與服務(wù)器的通信是否正常?
[0111]在TCP/IP協(xié)議里面,假如密碼鎖110與服務(wù)器130中的一方正常關(guān)機時,另一方會 收到連接斷開的通知。如果密碼鎖110與服務(wù)器130中的一方由于系統(tǒng)故障或者電源被拔掉 等非優(yōu)雅斷開時,服務(wù)器130之間可以通過心跳機制檢測服務(wù)器130與密碼鎖110之間的通 信是否正常。當(dāng)然,服務(wù)器130也可以通過發(fā)送探測數(shù)據(jù)至密碼鎖110,根據(jù)密碼鎖110是否 反饋成功接收探測數(shù)據(jù)的指令來判斷密碼鎖與服務(wù)器130的通信是否正常。其中,通信正常 是指密碼鎖110與服務(wù)器130之間的能夠進行數(shù)據(jù)交互。
[0112] 若密碼鎖110與服務(wù)器130的通信非正常,則執(zhí)行步驟S605。若密碼鎖110與服務(wù)器 130的通信正常,則執(zhí)行步驟S606。
[0113] 步驟S605:服務(wù)器獲取一個第三狀態(tài)的開鎖密碼。
[0114]其中,第三狀態(tài)表示該開鎖密碼處于"已使用"的狀態(tài),與表1中的"使用狀態(tài)2"一 致。第三狀態(tài)的開鎖密碼本應(yīng)當(dāng)被服務(wù)器130更新而放棄使用,但是由于服務(wù)器130內(nèi)不存 在未使用狀態(tài)的開鎖密碼且服務(wù)器130與密碼鎖的通信處于斷開狀態(tài),服務(wù)器130既無法在 所存儲的多個開鎖密碼內(nèi)獲得一個能夠作為用戶打開房門的校驗密碼的開鎖密碼,也無法 在服務(wù)器130和密碼鎖內(nèi)同時生成新的開鎖密碼而投入使用,因此,服務(wù)器130從第三狀態(tài) 的開鎖密碼內(nèi)獲取一個有效期未逾期的開鎖密碼作為用戶打開房門所使用的開鎖密碼,并 將所獲取的第三狀態(tài)的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。其中,有效期未逾期是指開 鎖密碼的有效期大于當(dāng)前時刻。例如,有效期為2016年6月9日11:30,而當(dāng)前時刻是2016年6 月6日11:00,則有效期大于當(dāng)前時刻,表示有效期未逾期。
[0115] 步驟S606:服務(wù)器更新第三狀態(tài)的開鎖密碼,并將所更新的開鎖密碼發(fā)送至密碼 鎖。
[0116] 若服務(wù)器130與密碼鎖110之間的通信是正常的,也即服務(wù)器130與密碼鎖110之間 可以交互數(shù)據(jù),則服務(wù)器130可以更新密碼鎖110與服務(wù)器130內(nèi)已使用的開鎖密碼,將所更 新的開鎖密碼作為新的開鎖密碼而投入使用。
[0117]服務(wù)器130獲取第三狀態(tài)的開鎖密碼,將該第三狀態(tài)的開鎖密碼更新,并將更新的 開鎖密碼的使用狀態(tài)修改為第一狀態(tài),有效期設(shè)置為默認(rèn)值。以表1為例,更新之前,使用狀 態(tài)為第三狀態(tài)的開鎖密碼分別為122345和123455,所對應(yīng)的標(biāo)識分別為5和6。更新之后,標(biāo) 識5所對應(yīng)的開鎖密碼為123345,使用狀態(tài)為"0",標(biāo)識6所對應(yīng)的開鎖密碼為123446,使用 狀態(tài)為"0"。
[0118] 服務(wù)器130將更新后的開鎖密碼以及其對應(yīng)的標(biāo)識和有效期發(fā)送至密碼鎖110,即 所發(fā)送的數(shù)據(jù)可以是:標(biāo)識5-開鎖密碼123345-有效期:默認(rèn)值;標(biāo)識6-開鎖密碼 123446-有效期:默認(rèn)值。
[0119]步驟S607:密碼鎖是否成功存儲所更新的開鎖密碼?
[0120] 密碼鎖110在接收服務(wù)器130發(fā)送的更新后的開鎖密碼后,根據(jù)所接收的開鎖密碼 與標(biāo)識以及有效期的對應(yīng)關(guān)系更新所述密碼鎖110存儲的開鎖密碼和有效期。
[0121] 例如,密碼鎖110根據(jù)所接收的開鎖密碼的標(biāo)識5,找到所存儲的多個開鎖密碼中 標(biāo)識為5的開鎖密碼,將所存儲的標(biāo)識為5的開鎖密碼修改為123345,標(biāo)識為5的開鎖密碼的 有效期修改為默認(rèn)值;將所存儲的標(biāo)識為6的開鎖密碼修改為123446,標(biāo)識為6的開鎖密碼 的有效期修改為默認(rèn)值。
[0122] 在密碼鎖110成功將所接收到的更新后的開鎖密碼存儲后會反饋第一指令至所述 服務(wù)器130,以執(zhí)行步驟S609。若密碼鎖110無法成功將所接收的開鎖密碼存儲,則執(zhí)行步驟 S608。具體地,服務(wù)器130可以設(shè)定一個預(yù)設(shè)檢測時間,其中,該預(yù)設(shè)檢測時間可以為一個經(jīng) 驗值,根據(jù)具體使用環(huán)境而設(shè)定。服務(wù)器130在預(yù)設(shè)檢測時間內(nèi)檢測是否成功接收密碼鎖 110通過網(wǎng)關(guān)120發(fā)送的第一指令,若在預(yù)設(shè)檢測時間內(nèi)成功接收第一指令,則表示密碼鎖 110成功存儲更新后的開鎖密碼。若在預(yù)設(shè)檢測時間內(nèi)未成功接收第一指令,則表示密碼鎖 110未成功存儲更新后的開鎖密碼。
[0123] 步驟S608:是否達到最大嘗試次數(shù)?
[0124] 在服務(wù)器更新完開鎖密碼并將所更新的開鎖密碼發(fā)送至密碼鎖時,記錄將更新后 的開鎖密碼發(fā)送至所述密碼鎖的次數(shù),例如,服務(wù)器130設(shè)定一個最大嘗試次數(shù),服務(wù)器130 內(nèi)設(shè)定一個變量,變量的初始值為〇,服務(wù)器130每次發(fā)送更新后的開鎖密碼至密碼鎖110, 該變量的值加1。
[0125] 若密碼鎖110無法成功將所接收的開鎖密碼存儲,則服務(wù)器130會多次嘗試發(fā)送更 新后的開鎖密碼至密碼鎖110。當(dāng)變量的值未超過最大嘗試次數(shù)時,返回執(zhí)行步驟S606,然 后在執(zhí)行步驟S607。
[0126] 當(dāng)變量的值超過最大嘗試次數(shù)時,服務(wù)器將所更新的開鎖密碼和更新后的開鎖密 碼對應(yīng)的使用狀態(tài)以及有效期修改為更新前的開鎖密碼、使用狀態(tài)和有效期,并執(zhí)行步驟 S605。即此次服務(wù)器130與密碼鎖110之間的開鎖密碼的更新失敗,服務(wù)器130執(zhí)行步驟 S605,選取一個第三狀態(tài)的開鎖密碼至用戶終端,作為用戶打開房門的開鎖密碼。
[0127] 例如,更新前標(biāo)識5對應(yīng)的開鎖密碼、使用狀態(tài)和有效期為:標(biāo)識5-開鎖密碼 123345-有效期:tl 一使用狀態(tài):2,在執(zhí)行步驟S606時,變?yōu)?標(biāo)識5-開鎖密碼123344-有 效期:t2-使用狀態(tài):0。服務(wù)器檢測到密碼鎖成功存儲了所更新的開鎖密碼時,服務(wù)器將所 更新的開鎖密碼存儲。此時,服務(wù)器內(nèi)與密碼鎖對應(yīng)的多個開鎖密碼的標(biāo)識為5的開鎖密碼 以及對應(yīng)的有效期和使用狀態(tài)變?yōu)?標(biāo)識5 -開鎖密碼123344 -有效期:t2 -使用狀態(tài):0。
[0128] 當(dāng)密碼鎖在達到最大嘗試存儲次數(shù)之后,仍然未成功存儲更新后的多個開鎖密 碼,則服務(wù)器不將所更新的開鎖密碼存儲。此時,服務(wù)器所更新的開鎖密碼以及對應(yīng)的使用 狀態(tài)和有效期等修改為更新前的開鎖密碼以及對應(yīng)的使用狀態(tài)和有效期,即將標(biāo)識為5的 開鎖密碼以及對應(yīng)的有效期和使用狀態(tài)所做的更新放棄,標(biāo)識為5的開鎖密碼以及對應(yīng)的 有效期和使用狀態(tài)仍然為更新前的標(biāo)識5-開鎖密碼123345-有效期:tl 一使用狀態(tài):2。
[0129] 步驟S609:服務(wù)器存儲更新后的開鎖密碼。
[0130] 密碼鎖110在成功存儲所更新的開鎖密碼時,反饋第一指令至所述服務(wù)器130,服 務(wù)器130將更新后的開鎖密碼存儲。通過步驟S606、步驟S607、步驟S608和步驟S609,服務(wù)器 130內(nèi)又具有可以使用的開鎖密碼。因此,執(zhí)行完步驟S609后執(zhí)行步驟S603。
[0131]在執(zhí)行完步驟S603時,服務(wù)器130所獲取的第一狀態(tài)的開鎖密碼就可以作為用戶 打開密碼鎖110的密碼,再執(zhí)行步驟S610。
[0132] 步驟S610:將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0133] 需要說明的是,步驟S610中,所獲取的開鎖密碼可以是步驟S603中的第一狀態(tài)的 開鎖密碼,也可以是步驟S605中的第三狀態(tài)的開鎖密碼。
[0134] 步驟S610與前述步驟S302的相同,在此不再贅述。
[0135] 另外,為了避免用戶在使用了開鎖密碼后,且服務(wù)器130內(nèi)將所使用的開鎖密碼的 使用狀態(tài)標(biāo)記為第三狀態(tài),即已使用的狀態(tài),而導(dǎo)致服務(wù)器130內(nèi)沒有新的開鎖密碼用于下 次為用戶終端分配,本發(fā)明實施例還包括開鎖密碼更新方法。如圖8所示,開鎖密碼的更新 方法包括:步驟S701到步驟S705。
[0136] 步驟S701:當(dāng)服務(wù)器與密碼鎖的通信正常時,服務(wù)器是否存在第三狀態(tài)的開鎖密 碼?
[0137] 服務(wù)器130與密碼鎖110的開鎖密碼的更新需要在服務(wù)器130與密碼鎖110的通信 正常時進行,開鎖密碼的更新可以根據(jù)服務(wù)器130所設(shè)定的更新周期來執(zhí)行。例如,服務(wù)器 130設(shè)定的更新周期是一周更新一次或一個月更新一次,當(dāng)然也可以是在服務(wù)器130判斷所 存儲的第一狀態(tài)的開鎖密碼數(shù)量過低時,執(zhí)行步驟S701。其中,數(shù)量過低是指第一狀態(tài)的開 鎖密碼的數(shù)量小于預(yù)設(shè)值,所述預(yù)設(shè)值是一個經(jīng)驗值,根據(jù)實際使用的場景而設(shè)定。
[0138] 需要說明的是,優(yōu)選地,服務(wù)器130所更新的開鎖密碼是針對第三狀態(tài)的開鎖密 碼,而第二狀態(tài)和第一狀態(tài)的開鎖密碼無需更新,這樣可以避免用戶正在使用的開鎖密碼 被更新而無法打開密碼鎖110,以及更新未使用的開鎖密碼而造成的資源浪費。
[0139] 服務(wù)器130若存在第三狀態(tài)的開鎖密碼,則執(zhí)行步驟S702。服務(wù)器130若不存在第 三狀態(tài)的開鎖密碼,則表示服務(wù)器130內(nèi)不存在需要更新的開鎖密碼,則結(jié)束本次更新。 [0140]步驟S702:服務(wù)器更新第三狀態(tài)的開鎖密碼,并將所更新的開鎖密碼發(fā)送至密碼 鎖。
[0141] 步驟S703:密碼鎖是否成功存儲所更新的開鎖密碼?
[0142] 若密碼鎖110成功存儲所更新的開鎖密碼,則執(zhí)行步驟S705。若密碼鎖110未成功 存儲所更新的開鎖密碼,則執(zhí)行步驟S704。
[0143] 步驟S704:是否達到最大嘗試次數(shù)?
[0144] 若密碼鎖110嘗試存儲所更新的開鎖密碼的次數(shù)未達到最大嘗試次數(shù),則執(zhí)行步 驟S702。若密碼鎖110嘗試存儲所更新的開鎖密碼的次數(shù)達到最大嘗試次數(shù),則結(jié)束本次更 新。
[0145] 步驟S705:服務(wù)器130存儲更新后的開鎖密碼。
[0146] 上述步驟S702、S703、S704和S705的實施方式可以參考圖7中的步驟S606、步驟 S607、步驟S608和步驟S609,在此不再贅述。但是需要說明的是,在步驟S704中,若密碼鎖 110嘗試存儲所更新的開鎖密碼的次數(shù)達到最大嘗試次數(shù),表示密碼鎖110無法存儲服務(wù)器 130所更新的開鎖密碼,則結(jié)束本次更新,服務(wù)器130所生成的新的開鎖密碼可以刪除掉,將 緩存在存儲的新的開鎖密碼釋放掉。
[0147] 為了保證用戶在退房之后,所使用的開鎖密碼的不會被其他人所使用或者用戶在 退房之后仍然可以使用之前所用的開鎖密碼打開房門,本發(fā)明實施例提供了開鎖密碼的停 用過程,如圖9所示,該停用過程包括:步驟S801至步驟S808。
[0148] 步驟S801:獲取密碼鎖密碼停用指令。
[0149] 密碼鎖110密碼停用指令為服務(wù)器130所獲取的用于執(zhí)行將用戶終端用于打開房 門的開鎖密碼停用操作的啟動指令,其產(chǎn)生方式可以包括以下幾種實施方式:
[0150] 第一種,服務(wù)器130在將開鎖密碼發(fā)送至用戶終端時,啟動對用戶所使用的開鎖密 碼的有效期的監(jiān)控,在有效期到達之后或者在有效期超過使用期限時,生成密碼鎖110密碼 停用指令。其中,使用期限是指允許用戶在有效期逾期后的一定時間內(nèi)繼續(xù)使用開鎖密碼。
[0151] 第二種,獲得用戶終端發(fā)送的所述密碼鎖110密碼停用指令。用戶在退房時,通過 用戶終端發(fā)送密碼停用指令至服務(wù)器130。
[0152]第三種,用戶在前臺辦理完退房手續(xù)后,房間的管理人員將服務(wù)器130內(nèi)的房間的 狀態(tài)修改為已退房,服務(wù)器130在密碼鎖110標(biāo)號對應(yīng)的房間的轉(zhuǎn)臺變更為已退房的狀態(tài)時 生成密碼停用指令。
[0153] 需要說明的是,密碼鎖110密碼停用指令是針對用戶終端所綁定的密碼鎖110,即 服務(wù)器130僅將用戶終端所綁定的密碼鎖110中與用戶終端所獲得的開鎖密碼相對應(yīng)的開 鎖密碼停用。
[0154] 步驟S802:服務(wù)器是否存在第二狀態(tài)的開鎖密碼?
[0155] 服務(wù)器130查找所存儲的多個開鎖密碼中是否存在第二狀態(tài)的開鎖密碼,若存在, 執(zhí)行步驟S803。若服務(wù)器130內(nèi)不存在第二狀態(tài)的開鎖密碼,則表示理論上,服務(wù)器130內(nèi)的 所有開鎖密碼均未被使用,則結(jié)束本次停用操作。
[0156] 步驟S803:服務(wù)器將第二狀態(tài)的開鎖密碼更新為第三狀態(tài)。
[0157] 服務(wù)器130將使用中的開鎖密碼的使用狀態(tài)更改為已使用。
[0158] 步驟S804:服務(wù)器與密碼鎖的通信是否正常?
[0159] 若服務(wù)器130與密碼鎖110的通信正常,則執(zhí)行步驟S805。若服務(wù)器130與密碼鎖 110的通信異常,則結(jié)束本次停用。
[0160] 步驟S805:服務(wù)器更新第三狀態(tài)的開鎖密碼,并將所更新的開鎖密碼發(fā)送至密碼 鎖。
[0161] 步驟S806:密碼鎖是否成功存儲所更新的開鎖密碼?
[0162] 若密碼鎖110成功存儲所更新的開鎖密碼,則執(zhí)行步驟S808。若密碼鎖110未成功 存儲所更新的開鎖密碼,則執(zhí)行步驟S807。
[0163] 步驟S807:是否達到最大嘗試次數(shù)?
[0164] 若密碼鎖110嘗試存儲所更新的開鎖密碼的次數(shù)未達到最大嘗試次數(shù),則執(zhí)行步 驟S805。若密碼鎖110嘗試存儲所更新的開鎖密碼的次數(shù)達到最大嘗試次數(shù),則結(jié)束本次停 用操作。
[0165] 步驟S808:服務(wù)器存儲更新后的開鎖密碼。
[0166] 步驟S804、S805、S806、S807和S808可以參考前述實施例,在此不再贅述。
[0167] 需要說明的是,所述開鎖密碼的停用過程可以不執(zhí)行步驟S803,相應(yīng)的步驟S805 則變成:服務(wù)器130更新第二狀態(tài)的開鎖密碼,并將所更新的開鎖密碼發(fā)送至密碼鎖110。具 體的,可以在獲取第二狀態(tài)的開鎖密碼后,且在服務(wù)器130與密碼鎖110的通信正常的情況 下,直接更新第二狀態(tài)的開鎖密碼,并將第二狀態(tài)的開鎖密碼的使用狀態(tài)更新為第一狀態(tài), 再將更新后的開鎖密碼發(fā)送至密碼鎖110,并執(zhí)行步驟S806、S807和S808。而圖9所對應(yīng)的方 法流程不僅能夠?qū)⒂脩羲褂玫拈_鎖密碼停用,而且能夠?qū)⒚艽a鎖110與服務(wù)器130內(nèi)的已 使用的開鎖密碼更新,便于下次使用。
[0168] 由圖7所對應(yīng)的實施方式可以得知,無論采用哪種方式為用戶終端發(fā)送一個開鎖 密碼作為用戶打開房門的密碼,都需要將所發(fā)送的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。 因此,通過所述開鎖密碼的停用過程能夠?qū)⒎?wù)器130內(nèi)的第二狀態(tài)的開鎖密碼更新,并同 步更新密碼鎖110內(nèi)與服務(wù)器130的所更新的第二狀態(tài)的開鎖密碼的標(biāo)號對應(yīng)的開鎖密碼 更新。而用戶終端所獲取的開鎖密碼為舊的密碼,在密碼鎖110內(nèi)無法成功匹配,因此,用戶 所使用的開鎖密碼被停用而無法打開密碼鎖110。
[0169] 請參閱圖10,本發(fā)明實施例提供了 一種密碼鎖控制方法,該密碼鎖110控制方法以 密碼鎖110為執(zhí)行主體的執(zhí)行過程。所述密碼鎖110控制方法包括:
[0170] 步驟S901:獲取用戶輸入的校驗密碼。
[0171] 步驟S902:當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼 匹配時,發(fā)送開啟指令至所對應(yīng)的電子鎖具,其中,所存儲的多個開鎖密碼為所接收的由服 務(wù)器生成的開鎖密碼。
[0172] 另外,當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配 時,發(fā)送開啟指令至所對應(yīng)的電子鎖具的過程,具體的,可以包括:
[0173] 在所存儲的多個開鎖密碼中查找獲得與所述用戶輸入的校驗密碼匹配的開鎖密 碼;當(dāng)所查找獲得的開鎖密碼對應(yīng)的有效期與獲得所述校驗密碼的時間滿足預(yù)設(shè)關(guān)系時, 發(fā)送開啟指令至所對應(yīng)的電子鎖具。
[0174] 上述步驟S901和S902的具體實施過程可參考前述方法和系統(tǒng)的實施例,在此不再 贅述。
[0175] 請參閱圖11,本發(fā)明實施例提供的一種密碼鎖控制裝置111,運行于服務(wù)器130,包 括:密碼設(shè)定單元210和發(fā)送單元220。
[0176] 密碼設(shè)定單元210用于獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一 個開鎖密碼,所述開鎖密碼為預(yù)先存儲并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼 中的一個。
[0177] 發(fā)送單元220用于將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0178] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0179] 請參閱圖12,本發(fā)明實施例提供的一種密碼鎖控制裝置111,運行于服務(wù)器130,包 括:密碼配置單元310、密碼設(shè)定單元320、發(fā)送單元330和停用密碼單元340、更新單元350和 時間設(shè)定單元360。
[0180] 密碼配置單元310包括生成子單元3101、發(fā)送子單元3102和存儲子單元3103。
[0181]生成子單元3101用于生成所述多個開鎖密碼。發(fā)送子單元3102用于將所述多個開 鎖密碼發(fā)送至所述密碼鎖,以使所述密碼鎖將所接收的多個開鎖密碼存儲。存儲子單元 3103用于獲得所述密碼鎖在成功存儲所接收的開鎖密碼之后生成的第一指令,將所述多個 開鎖密碼存儲。
[0182] 密碼設(shè)定單元320用于獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一 個開鎖密碼,所述開鎖密碼為預(yù)先生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼 中的一個,所述密碼鎖與所述用戶終端相綁定。
[0183] 具體地,密碼設(shè)定單元320包括密碼請求獲取子單元3201和密碼查找子單元3202。
[0184] 密碼請求獲取子單元3201用于獲得用戶終端發(fā)送的密碼請求。密碼查找子單元 3202用于根據(jù)所述密碼請求獲取一個開鎖密碼。
[0185] 其中,密碼查找子單元3202具體用于當(dāng)所述多個開鎖密碼中至少包括一個使用狀 態(tài)為第一狀態(tài)的開鎖密碼時,根據(jù)所述密碼請求獲取一個所述使用狀態(tài)為第一狀態(tài)的開鎖 密碼,將所獲取的使用狀態(tài)為第一狀態(tài)的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。
[0186] 密碼查找子單元3202還用于當(dāng)所述多個開鎖密碼中不存在使用狀態(tài)為第一狀態(tài) 的開鎖密碼,存在使用狀態(tài)為第三狀態(tài)的開鎖密碼,且服務(wù)器與所述密碼鎖之間未建立通 信連接以及多個開鎖密碼中獲取一個使用狀態(tài)為第三狀態(tài)且有效期未逾期的開鎖密碼,將 所獲取的使用狀態(tài)為第三狀態(tài)且有效期未逾期的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。
[0187] 密碼查找子單元3202還用于當(dāng)與所述密碼鎖之間建立通信連接時,更新所有使用 狀態(tài)為第三狀態(tài)的開鎖密碼,將所有更新后的開鎖密碼的使用狀態(tài)修改為第一狀態(tài);將所 有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖,以使所述密碼鎖根據(jù) 所接收的開鎖密碼與標(biāo)識的對應(yīng)關(guān)系更新所述密碼鎖存儲的開鎖密碼;根據(jù)所述密碼請求 獲取一個使用狀態(tài)為第一狀態(tài)的開鎖密碼。
[0188] 發(fā)送單元330用于將所獲取的開鎖密碼發(fā)送至所述用戶終端。
[0189] 停用密碼單元340獲得密碼鎖密碼停用指令;將所有使用狀態(tài)為第二狀態(tài)的開鎖 密碼的使用狀態(tài)修改為第三狀態(tài);更新所有使用狀態(tài)為第三狀態(tài)的開鎖密碼;將所更新的 第三狀態(tài)的開鎖密碼及該開鎖密碼所對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖,以使所述密碼鎖根據(jù) 所接收的標(biāo)識對應(yīng)的開鎖密碼更新所述密碼鎖存儲的開鎖密碼。
[0190] 具體地,停用密碼單元340用于在當(dāng)前時刻大于發(fā)送至所述用戶終端的開鎖密碼 對應(yīng)的有效期時,生成所述密碼鎖密碼停用指令,或者,獲得用戶終端發(fā)送的所述密碼鎖密 碼停用指令。
[0191]更新單元350用于更新所有使用狀態(tài)為第三狀態(tài)的開鎖密碼以及該開鎖密碼對應(yīng) 的使用狀態(tài)和有效期,其中,更新該開鎖密碼對應(yīng)的使用狀態(tài)為將該開鎖密碼的使用狀態(tài) 修改為第一狀態(tài),更新該開鎖密碼對應(yīng)的有效期為將該開鎖密碼的有效期設(shè)定為默認(rèn)值; 將所有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的標(biāo)識和有效期發(fā)送至所述密碼鎖,以使所 述密碼鎖根據(jù)所接收的標(biāo)識與開鎖密碼和有效期的對應(yīng)關(guān)系更新所述密碼鎖存儲的開鎖 密碼和有效期。
[0192] 時間設(shè)定單元360用于根據(jù)所述密碼請求將與所述密碼請求對應(yīng)的開鎖密碼的有 效期設(shè)定為預(yù)設(shè)時間并發(fā)送至所述密碼鎖,以使所述密碼鎖將所存儲的多個開鎖密碼中與 所接收的開鎖密碼對應(yīng)的開鎖密碼的有效期修改為預(yù)設(shè)時間。
[0193] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0194] 請參閱圖13,本發(fā)明實施例提供的一種密碼鎖控制裝置111,運行于密碼鎖110,包 括:校驗密碼獲取單元410和驗證單元420。
[0195] 校驗密碼獲取單元410用于獲取用戶輸入的校驗密碼。驗證單元420用于當(dāng)用戶輸 入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,發(fā)送開啟指令至所對 應(yīng)的電子鎖具,其中,所存儲的多個開鎖密碼為由服務(wù)器生成的開鎖密碼。
[0196] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
[0197] 請參閱圖14,本發(fā)明實施例提供的一種密碼鎖控制裝置111,運行于密碼鎖110,包 括:開鎖密碼獲取單元510、校驗密碼獲取單元520和驗證單元530。
[0198] 其中,開鎖密碼獲取單元510用于獲得所述服務(wù)器發(fā)送的由所述服務(wù)器生成的多 個開鎖密碼;在成功存儲所接收的多個開鎖密碼之后反饋第一指令至至所述網(wǎng)關(guān),以使所 述網(wǎng)關(guān)將所述第一指令發(fā)送至所述服務(wù)器。
[0199] 校驗密碼獲取單元520用于獲取用戶輸入的校驗密碼。
[0200] 驗證單元530用于當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開 鎖密碼匹配時,發(fā)送開啟指令至所對應(yīng)的電子鎖具,其中,所存儲的多個開鎖密碼為由服務(wù) 器生成的開鎖密碼。
[0201] 其中,驗證單元530包括匹配子單元5301和執(zhí)行子單元5302。
[0202] 匹配子單元5301用于在所存儲的多個開鎖密碼中查找獲得與所述用戶輸入的校 驗密碼匹配的開鎖密碼。
[0203] 執(zhí)行子單元5302用于當(dāng)所查找獲得的開鎖密碼對應(yīng)的有效期與獲得所述校驗密 碼的時間滿足預(yù)設(shè)關(guān)系時,發(fā)送開啟指令至所對應(yīng)的電子鎖具。
[0204] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。 [0205]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過 其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖 顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、 功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一 部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí) 行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于 附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也 可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每 個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基 于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0206] 另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部 分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
[0207] 所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以 存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說 對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計 算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個 人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。 而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(R0M,Read - Only Memory)、隨機存取 存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需 要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作 與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種 實際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的 包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包 括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要 素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在包括所述要 素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0208] 以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在 下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需 要對其進行進一步定義和解釋。
[0209]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準(zhǔn)。
【主權(quán)項】
1. 一種密碼鎖控制方法,其特征在于,包括: 獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖密碼,所述開鎖密碼 為預(yù)先生成并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一個,所述密碼鎖與所 述用戶終端相綁定; 將所獲取的開鎖密碼發(fā)送至所述用戶終端。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得用戶終端發(fā)送的密碼請求之前, 還包括: 生成所述多個開鎖密碼; 將所述多個開鎖密碼發(fā)送至所述密碼鎖,以使所述密碼鎖將所接收的多個開鎖密碼存 儲; 獲得所述密碼鎖在成功存儲所接收的開鎖密碼之后生成的第一指令,將所述多個開鎖 密碼存儲。3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述多個開鎖密碼發(fā)送至所述密碼鎖的 步驟,包括: 將所述多個開鎖密碼發(fā)送至網(wǎng)關(guān),以使所述網(wǎng)關(guān)將所接收的所述多個開鎖密碼發(fā)送至 所述密碼鎖; 當(dāng)未接收到所述網(wǎng)關(guān)在成功接收到所述多個開鎖密碼時發(fā)送的第二指令時,再次將所 述多個開鎖密碼發(fā)送至網(wǎng)關(guān),直至成功接收到所述網(wǎng)關(guān)發(fā)送的第二指令。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有使用狀態(tài),根 據(jù)所述密碼請求獲取一個開鎖密碼的步驟包括: 當(dāng)所述多個開鎖密碼中至少包括一個使用狀態(tài)為第一狀態(tài)的開鎖密碼時,根據(jù)所述密 碼請求獲取一個所述使用狀態(tài)為第一狀態(tài)的開鎖密碼,將所獲取的使用狀態(tài)為第一狀態(tài)的 開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有有效期,根據(jù) 所述密碼請求獲取一個開鎖密碼的步驟包括: 當(dāng)所述多個開鎖密碼中不存在使用狀態(tài)為第一狀態(tài)的開鎖密碼,存在使用狀態(tài)為第三 狀態(tài)的開鎖密碼,且服務(wù)器與所述密碼鎖之間未建立通信連接時,根據(jù)所述密碼請求獲取 一個使用狀態(tài)為第三狀態(tài)且有效期未逾期的開鎖密碼,將所獲取的使用狀態(tài)為第三狀態(tài)且 有效期未逾期的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)一個標(biāo)識,根據(jù) 所述密碼請求獲取一個開鎖密碼的步驟還包括: 當(dāng)與所述密碼鎖之間建立通信連接時,更新所有使用狀態(tài)為第三狀態(tài)的開鎖密碼,將 所有更新后的開鎖密碼的使用狀態(tài)修改為第一狀態(tài); 將所有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖,以使所述密 碼鎖根據(jù)所接收的開鎖密碼與標(biāo)識的對應(yīng)關(guān)系更新所述密碼鎖存儲的開鎖密碼; 當(dāng)接收到第一指令時,存儲所有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的使用狀態(tài), 其中,所述第一指令為所述密碼鎖成功存儲所更新的開鎖密碼時生成的指令; 根據(jù)所述密碼請求獲取一個使用狀態(tài)為第一狀態(tài)的開鎖密碼。7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,將所有更新后的開鎖密碼以及該開鎖密碼 對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖之后,所述方法還包括: 記錄發(fā)送更新后的開鎖密碼至所述密碼鎖的次數(shù); 當(dāng)在預(yù)設(shè)檢測時間內(nèi)未接收到所述第一指令時,判斷當(dāng)前次數(shù)是否大于預(yù)設(shè)數(shù)值,若 否,再次發(fā)送更新后的開鎖密碼至所述密碼鎖,將當(dāng)前次數(shù)加一;若是,將所更新的開鎖密 碼以及該開鎖密碼對應(yīng)的使用狀態(tài)修改為更新前的開鎖密碼以及使用狀態(tài),根據(jù)所述密碼 請求獲取一個使用狀態(tài)為第三狀態(tài)且有效期未逾期的開鎖密碼,將所獲取的使用狀態(tài)為第 三狀態(tài)且有效期未逾期的開鎖密碼的使用狀態(tài)修改為第二狀態(tài)。8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有標(biāo)識、使用狀 態(tài)和有效期,所述方法還包括: 更新所有使用狀態(tài)為第三狀態(tài)的開鎖密碼以及該開鎖密碼對應(yīng)的使用狀態(tài)和有效期, 其中,更新該開鎖密碼對應(yīng)的使用狀態(tài)為將該開鎖密碼的使用狀態(tài)修改為第一狀態(tài),更新 該開鎖密碼對應(yīng)的有效期為將該開鎖密碼的有效期設(shè)定為默認(rèn)值; 將所有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的標(biāo)識和有效期發(fā)送至所述密碼鎖,以 使所述密碼鎖根據(jù)所接收的標(biāo)識與開鎖密碼和有效期的對應(yīng)關(guān)系更新所述密碼鎖存儲的 開鎖密碼和有效期。9. 根據(jù)權(quán)利要求8所述的方法,其特征在于,將所有更新后的開鎖密碼以及該開鎖密碼 對應(yīng)的標(biāo)識和有效期發(fā)送至所述密碼鎖之后,所述方法還包括: 當(dāng)接收到第一指令時,存儲所有更新后的開鎖密碼以及該開鎖密碼對應(yīng)的使用狀態(tài)和 有效期,其中,所述第一指令為所述密碼鎖成功存儲所更新的開鎖密碼時生成的指令。10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,將所有更新后的開鎖密碼以及該開鎖密 碼對應(yīng)的標(biāo)識和有效期發(fā)送至所述密碼鎖之后,所述方法還包括: 記錄發(fā)送更新后的開鎖密碼至所述密碼鎖的次數(shù); 當(dāng)在預(yù)設(shè)檢測時間內(nèi)未接收到所述第一指令時,且當(dāng)前次數(shù)大于預(yù)設(shè)數(shù)值時,再次發(fā) 送更新后的開鎖密碼至所述密碼鎖,并將當(dāng)前次數(shù)加一。11. 根據(jù)權(quán)利要求1所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有有效期,根據(jù) 所述密碼請求獲取一個開鎖密碼之后,還包括: 根據(jù)所述密碼請求將與所述密碼請求對應(yīng)的開鎖密碼的有效期設(shè)定為預(yù)設(shè)時間并發(fā) 送至所述密碼鎖,以使所述密碼鎖將所存儲的多個開鎖密碼中與所接收的開鎖密碼對應(yīng)的 開鎖密碼的有效期修改為預(yù)設(shè)時間。12. 根據(jù)權(quán)利要求1所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有標(biāo)識和使用 狀態(tài),所述方法還包括: 獲得密碼鎖密碼停用指令; 將所有使用狀態(tài)為第二狀態(tài)的開鎖密碼的使用狀態(tài)修改為第三狀態(tài); 更新所有使用狀態(tài)為第三狀態(tài)的開鎖密碼; 將所更新的第三狀態(tài)的開鎖密碼及該開鎖密碼所對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖,以使 所述密碼鎖根據(jù)所接收的標(biāo)識對應(yīng)的開鎖密碼更新所述密碼鎖存儲的開鎖密碼。13. 根據(jù)權(quán)利要求12所述的方法,其特征在于,每個所述開鎖密碼均還對應(yīng)有有效期, 所述獲得密碼鎖密碼停用指令的步驟包括: 當(dāng)當(dāng)前時刻大于發(fā)送至所述用戶終端的開鎖密碼對應(yīng)的有效期時,生成所述密碼鎖密 碼停用指令;或者 獲得用戶終端發(fā)送的所述密碼鎖密碼停用指令。14. 根據(jù)權(quán)利要求12或13所述的方法,其特征在于,將所更新的第三狀態(tài)的開鎖密碼及 該開鎖密碼所對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖之后,所述方法還包括: 當(dāng)接收到所述密碼鎖成功存儲所更新的開鎖密碼時反饋的第一指令時,存儲所有更新 后的開鎖密碼以及該開鎖密碼對應(yīng)的使用狀態(tài)。15. 根據(jù)權(quán)利要求12或13所述的方法,其特征在于,將所更新的第三狀態(tài)的開鎖密碼及 該開鎖密碼所對應(yīng)的標(biāo)識發(fā)送至所述密碼鎖之后,所述方法還包括: 記錄將更新后的開鎖密碼發(fā)送至所述密碼鎖的次數(shù); 當(dāng)在預(yù)設(shè)檢測時間內(nèi)未接收到所述密碼鎖成功存儲所更新的開鎖密碼時反饋的第一 指令時,且當(dāng)前次數(shù)是否大于預(yù)設(shè)數(shù)值時,再次發(fā)送更新后的開鎖密碼至所述密碼鎖,并將 當(dāng)前次數(shù)加一。16. -種密碼鎖控制方法,其特征在于,包括: 獲取用戶輸入的校驗密碼; 當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,發(fā)送開 啟指令至所對應(yīng)的電子鎖具,其中,所存儲的多個開鎖密碼為由服務(wù)器生成的開鎖密碼。17. 根據(jù)權(quán)利要求16所述的方法,其特征在于,每個所述開鎖密碼均對應(yīng)有有效期,當(dāng) 用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,打開所對應(yīng)的 電子鎖具的步驟,包括: 在所存儲的多個開鎖密碼中查找獲得與所述用戶輸入的校驗密碼匹配的開鎖密碼; 當(dāng)所查找獲得的開鎖密碼對應(yīng)的有效期與獲得所述校驗密碼的時間滿足預(yù)設(shè)關(guān)系時, 發(fā)送開啟指令至所對應(yīng)的電子鎖具。18. 根據(jù)權(quán)利要求16所述的方法,其特征在于,所述的獲取用戶輸入的校驗密碼之前, 還包括: 獲得網(wǎng)關(guān)發(fā)送的由所述服務(wù)器生成的多個開鎖密碼; 在成功存儲所接收的多個開鎖密碼之后發(fā)送第一指令至所述網(wǎng)關(guān),以使所述網(wǎng)關(guān)將所 述第一指令發(fā)送至所述服務(wù)器。19. 一種密碼鎖控制系統(tǒng),其特征在于,包括服務(wù)器、密碼鎖和網(wǎng)關(guān); 所述服務(wù)器用于生成多個開鎖密碼,獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請 求獲取一個開鎖密碼,將所獲取的開鎖密碼發(fā)送至用戶終端; 所述網(wǎng)關(guān)用于獲取所述服務(wù)器內(nèi)的所述多個開鎖密碼,并將所獲取的所述多個開鎖密 碼發(fā)送至所述密碼鎖; 所述密碼鎖用于將所接收的所述多個開鎖密碼存儲,接收用戶輸入的校驗密碼,當(dāng)用 戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼匹配時,發(fā)送開啟指令至 所對應(yīng)的電子鎖具。20. -種密碼鎖控制裝置,其特征在于,包括: 密碼設(shè)定單元,用于獲得用戶終端發(fā)送的密碼請求,根據(jù)所述密碼請求獲取一個開鎖 密碼,所述開鎖密碼為預(yù)先存儲并發(fā)送給密碼鎖由所述密碼鎖存儲的多個開鎖密碼中的一 個; 發(fā)送單元,用于將所獲取的開鎖密碼發(fā)送至所述用戶終端。21. -種密碼鎖控制裝置,其特征在于,包括: 校驗密碼獲取單元,用于獲取用戶輸入的校驗密碼; 驗證單元,用于當(dāng)用戶輸入的校驗密碼與所存儲的多個開鎖密碼中至少一個開鎖密碼 匹配時,打開所對應(yīng)的房門,其中,所存儲的多個開鎖密碼為由服務(wù)器生成的開鎖密碼。22. 根據(jù)權(quán)利要求21所述的裝置,其特征在于,還包括: 開鎖密碼獲取單元,用于獲得網(wǎng)關(guān)發(fā)送的由所述服務(wù)器生成的多個開鎖密碼;在成功 存儲所接收的多個開鎖密碼之后發(fā)送第一指令至所述網(wǎng)關(guān),以使所述網(wǎng)關(guān)將所述第一指令 發(fā)送至所述服務(wù)器。23. 根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述驗證單元包括: 匹配子單元,用于在所存儲的多個開鎖密碼中查找獲得與所述用戶輸入的校驗密碼匹 配的開鎖密碼; 執(zhí)行子單元,用于當(dāng)所查找獲得的開鎖密碼對應(yīng)的有效期與獲得所述校驗密碼的時間 滿足預(yù)設(shè)關(guān)系時,發(fā)送開啟指令至所對應(yīng)的電子鎖具。
【文檔編號】H04L29/08GK105991776SQ201610500751
【公開日】2016年10月5日
【申請日】2016年6月29日
【發(fā)明人】陳丹
【申請人】北京三快在線科技有限公司