一种密码锁控制方法、装置以及系统的制作方法

文档序号:10627008阅读:353来源:国知局
一种密码锁控制方法、装置以及系统的制作方法
【专利摘要】本发明公开了一种密码锁控制方法、装置以及系统,属于密码锁控制领域。密码锁控制方法包括:获得用户终端发送的密码请求,根据所述密码请求获取一个开锁密码,所述开锁密码为预先生成并发送给密码锁由所述密码锁存储的多个开锁密码中的一个,所述密码锁与所述用户终端相绑定;将所获取的开锁密码发送至所述用户终端。有效避免了密码锁和服务器通信异常时,用户无法通过输入开锁密码的方式打开密码锁。
【专利说明】
一种密码锁控制方法、装置以及系统
技术领域
[0001] 本发明属于控制领域,具体涉及一种密码锁控制方法、装置以及系统。
【背景技术】
[0002] 现有的基于互联网的密码锁系统,一般由密码锁、网关和密码生成后台组成。用户 在欲打开密码锁的时候,需要先向密码生成后台发送密码请求,密码生成后台根据密码请 求生成一个密码发送至用户终端以及通过网关将密码发送至密码锁。密码锁根据获得的密 码配置密码锁,用户通过所接收的密码打开密码锁。
[0003] 安装在房门的密码锁一般采用电池供电,因此,受限于密码锁的电池电量,密码锁 需要通过网关与密码生成后台实现通信连接,而非直接与密码生成后台实现通信连接。
[0004] 当密码锁和网关之间的通信链路以及网关和密码生成后台之间的通信链路发生 故障时,密码生成后台将无法根据用户终端发送的密码请求所生成的开锁密码发送至密码 锁,进而会导致用户无法根据所接收的开锁密码打开密码锁所对应的房门。

【发明内容】

[0005] 本发明的目的在于提供一种身份验证方法及系统,以改善上述的问题。
[0006] 第一方面,本发明实施例提供了一种密码锁控制方法,包括:获得用户终端发送的 密码请求,根据所述密码请求获取一个开锁密码,所述开锁密码为预先生成并发送给密码 锁由所述密码锁存储的多个开锁密码中的一个,所述密码锁与所述用户终端相绑定;将所 获取的开锁密码发送至所述用户终端。
[0007] 第二方面,本发明实施例还提供了另一种密码锁控制方法,包括:获取用户输入的 校验密码;当用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时, 发送开启指令至所对应的电子锁具,其中,所存储的多个开锁密码为由服务器生成的开锁 密码。
[0008] 第三方面,本发明实施例还提供了一种密码锁控制系统,包括服务器、密码锁和网 关。所述服务器用于生成多个开锁密码,获得用户终端发送的密码请求,根据所述密码请求 获取一个开锁密码,将所获取的开锁密码发送至用户终端。所述网关用于获取所述服务器 内的所述多个开锁密码,并将所获取的所述多个开锁密码发送至所述密码锁。所述密码锁 用于将所接收的所述多个开锁密码存储,接收用户输入的校验密码,当用户输入的校验密 码与所存储的多个开锁密码中至少一个开锁密码匹配时,发送开启指令至所对应的电子锁 具。
[0009] 第四方面,本发明实施例还提供了一种密码锁控制装置,包括:密码设定单元和发 送单元。密码设定单元用于获得用户终端发送的密码请求,根据所述密码请求获取一个开 锁密码,所述开锁密码为预先存储并发送给密码锁由所述密码锁存储的多个开锁密码中的 一个。发送单元用于将所获取的开锁密码发送至所述用户终端。
[0010]第五方面,本发明实施例还提供了一种密码锁控制装置,包括:校验密码获取单元 和验证单元。校验密码获取单元用于获取用户输入的校验密码。验证单元用于当用户输入 的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时,打开所对应的房门,其 中,所存储的多个开锁密码为由服务器生成的开锁密码。
[0011] 本发明实施例中,在密码锁初始化阶段,预先在服务器生成多个开锁密码,并由服 务器通过网关将所生成的多个开锁密码发送至密码锁,密码锁将所接收的多个开锁密码存 储。由此,服务器将所生成的多个开锁密码与密码锁相对应,并且密码锁所存储的密码也存 储在服务器内。
[0012] 服务器在接收到用户终端发送的密码请求后,根据用户终端的ID找到与用户终端 的ID绑定的密码锁,再根据所绑定的密码锁找到该密码锁所对应的多个开锁密码,根据预 设的开锁密码查找规则在该密码锁所对应的多个开锁密码中获取一个开锁密码,将所获取 的开锁密码发送至用户终端。
[0013] 用户可以通过用户终端获得开锁密码,在密码锁处输入密码,当输入的密码与密 码锁内存储的多个开锁密码中的至少一个匹配时,打开密码锁所对应的电子锁具。与现有 技术中的密码锁相比,用户所获取的开锁密码在密码锁初始化的时候已在密码锁内存储, 而无需在服务器将开锁密码发送至用户终端的同时将开锁密码发送至密码锁,以使用户终 端与密码锁的密码一致。因此,即使密码锁与服务器之间的通信链路出现故障而无法正常 通信,也不影响服务器为用户终端分配开锁密码且用户通过开锁密码打开密码锁。有效避 免了密码锁和服务器通信异常时,用户无法通过输入开锁密码的方式打开密码锁。
【附图说明】
[0014] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部 附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点 在于示出本发明的主旨。
[0015] 图1为本发明一实施例提供的一种密码锁控制系统的交互示意图;
[0016] 图2为本发明另一实施例提供的一种密码锁控制系统的交互示意图;
[0017] 图3为本发明一实施例提供的密码锁的结构框图;
[0018] 图4为本发明一实施例提供的一种密码锁控制方法的方法流程图;
[0019] 图5为本发明另一实施例提供的一种密码锁控制方法的方法流程图;
[0020] 图6为本发明另一实施例提供的一种密码锁控制方法中密码锁初始化的方法流程 图;
[0021 ]图7为本发明另一实施例提供的一种密码锁控制方法的方法流程图;
[0022] 图8为本发明实施例提供的一种密码锁控制方法的开锁密码的更新方法的方法流 程图;
[0023] 图9为本发明实施例提供的一种密码锁控制方法的开锁密码的停用过程的方法流 程图;
[0024] 图10为本发明另一实施例提供的一种密码锁控制方法的方法流程图;
[0025] 图11为本发明一实施例提供的一种密码锁控制装置的结构框图;
[0026] 图12为本发明另一实施例提供的一种密码锁控制装置结构框图;
[0027] 图13为本发明另一实施例提供的一种密码锁控制装置结构框图;
[0028] 图14为本发明另一实施例提供的一种密码锁控制装置结构框图。
【具体实施方式】
[0029] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在 此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因 此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的 范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做 出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的 描述中,术语"第一"、"第二"等仅用于区分描述,而不能理解为指示或暗示相对重要性。 [0031 ] 请参阅图1,示出了一种密码锁控制系统100。密码锁控制系统100包括密码锁110、 网关120、服务器130和用户终端140。密码锁110与网关120耦合,网关120和服务器130耦合。 当密码锁110与网关120之间的通信链路正常时,密码锁110与网关120能够进行数据交互, 同理,当网关120和服务器130之间的通信链路正常时,网关120与服务器130能够进行数据 交互。
[0032]密码锁110能够驱动用于控制房门开启和关闭的执行机构执行相应的动作,以控 制所对应的房门的开启和关闭。作为一种实施方式,密码锁110包括控制器、存储器和电子 锁具,存储器用于存储服务器发送的开锁密码,控制器用于根据输入的密码与其存储的开 锁密码的匹配结果发送开启指令至电子锁具。电子锁具用于根据开启指令而打开。密码锁 110可以包括输入按钮,该输入按钮用于用户输入开锁密码。
[0033] 网关120为用于实现密码锁110与服务器130之前通信协议转换以使密码锁110与 服务器130网络互连的计算机设备或系统。作为一种实施方式,密码锁110采用电池供电,因 此,受限于电池的电量,密码锁110需要通过网关120与服务器130通信。需要说明的是,图1 所示的每个密码锁110对应一个网关120,当然,在一些应用场景中,例如距离较近多个密码 锁110可以共用一个网关120。网关120通过不同的端口连接不同的密码锁110。
[0034] 服务器130可以是网络服务器或数据库服务器,用于生成开锁密码并将开锁密码 通过网关120发送至密码锁110。优选地,服务器130内搭载有密码管理后台,该密码管理后 台用于生成开锁密码并根据所接收的密码请求发送开锁密码给用户。作为一种实施方式, 服务器130所生成的每个开锁密码均对应有使用状态、标识和有效期等信息,服务器130将 开锁密码以及开锁密码锁对应的使用状态、标识和有效期对应存储在一个数据表内。另外, 服务器130负责多个密码锁的密码配置,因此,在该数据表内还设有密码锁标号。其中,密码 锁标号可以是密码锁110的设备ID,当然也可以是密码锁110所对应的房间号。
[0035] 作为一种实施方式,该数据表可如表1所示:
[0036] 表1
[0037]
[0038] 由表1的"密码锁标号A"可以看出,表1中的多个开锁密码对应的是密码锁标号为A 的密码锁。服务器130所管理的密码锁110可以有多个,如图1中所示的密码锁标号B和密码 锁标号C所对应的密码锁,服务器130为每个密码锁110均建立一个数据表。均可以采用表1 中所示的形式,便于服务器130针对密码锁110的开锁密码进行修改和查找等管理操作。
[0039] 其中,表1中,使用状态的不同数值表示开锁密码的不同的状态,例如,使用状态0 表示开锁密码"未使用",使用状态1表示开锁密码"使用中",使用状态2表示开锁密码"已使 用"。其中,开锁密码"已使用"是指该开锁密码已经被使用并且使用者已经放弃使用或者已 经过了使用期限,而考虑到密码的安全性,使用状态为"已使用"的开锁密码应当被更换掉, 而不应当再投入使用。
[0040] 表1中,标识为开锁密码在数据表中的位置,例如,标识可以是每个开锁密码在数 据表所在的存储空间中的物理地址或者指向存储地址的指针。通过设置标识,便于服务器 对数据表中的开锁密码进行查找和修改,也便于服务器更新密码锁内所存储的开锁密码。 由于本发明实施例中,针对同一个密码锁标号,需要尽量保持服务器内所存储多个开锁密 码和密码锁内所存储的开锁密码一致,因此,在服务器内更新或修改开锁密码时,需要对应 修改密码锁内存储的开锁密码。服务器通过发送一个包含所修改的开锁密码对应的标识的 修改指令至密码锁,密码锁在收到该修改指令后根据该修改指令的指示,将所收到的标识 对应的开锁密码按照服务器所发送的开锁密码进行修改。
[0041] 另外,表1中,有效期为开锁密码能够用于打开密码锁所对应的房门的期限。在初 次设置新的开锁密码时,将开锁密码的有效期设置为默认值。其中,默认值可以是一个时间 节点或者时间数值。例如12天,起算日为初次生成开锁密码的时间点。需要说明的是,初次 生成开锁密码可以是系统初始化时第一次生成的开锁密码,也可以是将旧的开锁密码更新 为新的开锁密码。另外,表1中的"ΤΓ表示手动设置的开锁密码的有效期。手动设置的有效 期的时间起点可以是对开锁密码手动设置有效期时的时间节点,手动设置的有效期的时间 终点可以根据实际使用需求而设定。
[0042] 用户终端140用于发送密码请求至服务器,其中,密码请求中包括用户终端的身份 信息和密码锁标号。其中,用户终端的身份信息和密码锁标号相绑定,用户终端的身份信息 可以是用户终端的MAC地址或者用户通过用户终端上安装的应用程序登录服务器时所使用 的登录账号。作为一种实施方式,用户终端的身份信息为登录账号。在用户终端上安装有应 用程序,该应用程序作为用户终端与服务器的交互平台,用户通过该应用程序登录服务器、 发送密码请求至服务器以及从服务器获取开锁密码。
[0043] 请参阅图2,为本发明实施例提供的一种密码锁控制系统100。与图1不同的是,图2 所示的密码锁控制系统应用于安装有密码锁的储物柜。此时,相应的密码锁110能够驱动用 于控制柜门开启和关闭的执行机构执行相应的动作,以控制所对应的柜门的开启和关闭。 图2所示的实施例中,密码锁标号是储物柜的柜门号,例如图2中的G1、G2和G3等。需要说明 的是,密码锁110可以安装在房门、柜门、箱门或抽屉等部件。其中,电子锁具作为房门、柜 门、箱门或抽屉等部件的封缄器。本发明实施例中,将密码锁110的应用场景定义为房门或 柜门以说明密码锁控制方法、装置以及系统的【具体实施方式】,而并非对密码锁的应用场景 限定。
[0044] 如图3所示,是密码锁110的结构框图。密码锁110包括:密码锁控制装置111、存储 器112、存储控制器113、处理器114、外设接口 115、输入输出单元116和显示单元117。
[0045] 密码锁控制装置111、存储器112、存储控制器113、处理器114、外设接口 115、输入 输出单元116和显示单元117各元件相互之间直接或间接地电性连接,以实现数据的传输或 交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述密 码锁控制装置111包括至少一个可以软件或固件(firmware)的形式存储于所述存储器中或 固化在所述密码锁110的操作系统(operating system,0S)中的软件功能模块。所述处理器 114用于执行存储器中存储的可执行模块,例如所述密码锁控制装置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在接收到执行指令后,执行所述 程序,前述本发明实施例任一实施例揭示的流过程定义的服务器130所执行的方法可以应 用于处理器114中,或者由处理器114实现。另外,存储器113作为密码锁的存储介质,用于存 储服务器发送的开锁密码以及开锁密码对应的标识、有效期以及使用状态等数据。
[0047]处理器114可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是 通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程 门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以 实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处 理器或者该处理器也可以是任何常规的处理器等。
[0048] 所述外设接口 115将各种输入/输入装置耦合至处理器114以及存储器112。在一些 实施例中,外设接口,处理器114以及存储控制器113可以在单个芯片中实现。在其他一些实 例中,他们可以分别由独立的芯片实现。
[0049] 输入装置116用于提供给用户输入数据实现用户与密码锁110的交互。所述输入输 出单元116可以是,但不限于,键盘等。
[0050] 显示器117在密码锁110与用户之间提供一个交互界面(例如用户操作界面)或用 于显示图像数据给用户参考。在本实施例中,所述显示单元117可以是液晶显示器。
[0051] 需要说明的是,当输入装置116是显示器117上显示的虚拟按键时,输入装置116与 显示器117集成为触控显示器。则在该触控显示器内,显示器117可为支持单点和多点触控 操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应 到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作 交由处理器进行计算和处理。
[0052]图4示出了本发明实施例提供的一种密码锁控制方法,该方法应用于上述系统及 装置。密码锁控制方法至少包括:步骤S301和步骤S302。下面将以服务器130为执行主体对 本实施例的方法所包含的步骤详细说明。
[0053]步骤S301,获得用户终端发送的密码请求,根据所述密码请求获取一个开锁密码, 所述开锁密码为预先存储生成并发送给密码锁由所述密码锁存储的多个开锁密码中的一 个,所述密码锁与所述用户终端相绑定。
[0054] 密码锁110内所存储的多个开锁密码是密码锁110在初始化时,由服务器130生成 并发送至密码锁110内存储的。也就是说,在执行步骤S301之前,密码锁110需要先初始化。 通过密码锁110的初始化,服务器130在服务器130、网关120和密码锁110之间的通信链路正 常的情况下将所生成的多个开锁密码发送至密码锁110,以使密码锁110将所接收的多个开 锁密码存储。由此,密码锁110所存储的多个开锁密码与服务器130所存储的多个开锁密码 一致。在密码锁110成功初始化之后,密码锁110就能够作为用户输入密码以打开房门的控 制装置而被使用。也即密码锁110在成功初始化之前,用户无法预订密码锁110所对应的房 间,服务器130也不响应用户针对该密码锁110的密码请求。
[0055] 密码锁110和用户终端140是相对应的,这种对应关系可以在用户终端140预订该 密码锁对应的房间时生成,由用户终端140将所预定的房间的密码锁标号发送至服务器 130,由服务器130将用户终端与将用户终端所预定的房间的密码锁相绑定。也可以是用户 发送密码请求时,服务器130根据密码请求将密码锁110与用户终端140绑定。其中,用户终 端140所发送的密码请求可以是用户在预订房间时发出的获取密码的请求,也可以是在用 户入住预订房间的手续已经办理齐全时,向服务器130发送的获取密码的请求。
[0056] 例如,在用户终端140发送的密码请求中包括密码锁标号和用户终端的身份信息。 其中,密码锁标号能够表示密码锁110所代表的房间标号,用户终端140的身份信息可以是 用户账号信息,也可以是用户终端140的MAC地址或SM卡号。其中,房间的标号可以是房间 的门牌号或者房间所对应的地理位置。服务器130在接收到密码请求后,通过对密码请求的 数据的解析获得包括在密码请求中的密码锁标号和用户终端的身份信息,将密码锁标号和 用户终端的身份信息绑定。即能够将表1与用户终端的身份信息对应。当用户终端140需要 更换所对应的密码锁时,将包括有更换后的密码锁标号的更换请求发送给服务器130,以使 服务器130将用户终端的身份信息对应的密码锁修改为更换后的密码锁标号。
[0057] 再例如,用户终端140在服务器130登录或注册时,服务器130能够获得用户终端的 身份信息。当用户终端140预订房间时,用户终端140将所预订的房间标号发送至服务器 130。服务器130上存储有多个密码锁标号以及与该密码锁标号所对应的房间标号。在服务 器130获得用户终端所预订的房间标号时,根据该房间标号获得与该房间标号对应的密码 锁标号,将密码锁与用户终端绑定。
[0058] 服务器130在接收到密码请求后,通过对密码请求的数据的解析获得包括在密码 请求中的密码锁标号和用户终端的身份信息。根据密码锁标号找到该密码锁标号下对应的 多个开锁密码,再根据预设规则由所述多个开锁密码中获取一个开锁密码。其中,预设规则 可以是随机获取一个开锁密码,也可以按照一定策略获取开锁密码,在后续的实施方式中 将详细介绍。
[0059] 步骤S302:将所获取的开锁密码发送至所述用户终端。
[0060] 服务器130根据密码锁110与用户终端140的绑定关系获得密码锁标号所对应的用 户终端的身份信息,将所获取的开锁密码发送至用户终端的身份信息所对应的用户终端 140〇
[0061] 用户通过用户终端140获得开锁密码,根据所获得的开锁密码在密码锁110处输入 校验密码,密码锁110将用户输入的校验密码与其内存储的多个开锁密码相匹配,若用户输 入的校验密码与其内存储的多个开锁密码中的至少一个一致,则密码锁110控制其对应的 房门打开。
[0062] 作为一种实施方式,密码锁110控制其对应的房门打开的方式如下:
[0063] 密码锁110的控制器发出开启指令至密码锁110的电子锁具,以控制电子锁具打 开,从而将房门打开。具体地,电子锁具包括驱动机构和执行机构,其中,驱动机构可以是电 动机等能够输出机械能的装置,执行机构根据电子锁具的锁芯结构而设定,例如,可以是支 杆,通过限位的方式将密码锁紧。开启指令能够控制电子锁具内的驱动机构的工作状态,例 如,电动机的正转和反转,从而带动执行机构的移动,进而控制执行机构打开密码锁。
[0064] 因此,密码锁110在初始化的时候即获取密码请求之前,完成服务器130与密码锁 110之间的多个开锁密码的存储以及设置。在服务器130获取到用户的密码请求时,服务器 130无需再依赖于网络对密码锁110的开锁密码进行设置。避免在用户发送密码请求之后, 密码锁110和网关120或者网关120与服务器130之间的通信链路异常,导致服务器130无法 配置密码锁的开锁密码,导致用户无法通过输入开锁密码而打开密码锁。
[0065] 为了保持密码锁110在初始化时所存储的多个开锁密码与服务器130所存储的开 锁密码严格一致,服务器130需要根据密码锁110的反馈而存储所生成的密码。
[0066]如图5所示,本发明实施例提供的一种密码锁控制方法,至少包括:步骤S401、步骤 S402、步骤S403、步骤S404和步骤S405。下面将以服务器130为执行主体对本实施例的方法 所包含的步骤详细说明。
[0067] 步骤S401:生成多个开锁密码。
[0068] 服务器130随机生成多个互相不重复的开锁密码,每个开锁密码均对应一个标识、 使用状态和有效期,例如,采用表1中的形式。
[0069] 步骤S402:将所述多个开锁密码发送至所述密码锁,以使所述密码锁将所接收的 多个开锁密码存储。
[0070] 在服务器130与密码锁110通信链路正常的情况下,服务器130将多个开锁密码发 送至密码锁110。密码锁110将所接收的多个开锁密码存储在密码锁110的存储器内。
[0071] 步骤S403:获取获得所述密码锁在成功存储所接收的开锁密码之后生成的第一指 令,将所述多个开锁密码存储。
[0072] 密码锁110在存储空间不足或者内部硬件故障时,会导致开锁密码的存储失败或 者数据丢失,若此时服务器130将密码锁所对应的多个开锁密码存储,就会导致服务器130 所存储的开锁密码与密码锁110所存储的开锁密码不一致。
[0073] 因此,密码锁110在获取开锁密码并成功存储之后,反馈第一指令至服务器130。其 中,第一指令用于表示密码锁110已经成功将所获取的开锁密码存储。具体地,密码锁110在 获取开锁密码并成功存储之后生成第一指令,并将第一指令发送至网关,网关将第一指令 发送至服务器。服务器130在接收到第一指令后,将所生成的且发送给密码锁110的多个开 锁密码存储,优选地,以表1所示的数据表的形式存储。具体地,服务器将所更新的开锁密码 存储,可以理解为服务器用更新后的开锁密码替换更新前的开锁密码并存储,此时,服务器 内与该密码锁对应的多个开锁密码就变为更新后的开锁密码。如果服务器只更新开锁密码 未存储,则可以理解为服务器更新了开锁密码,但是未将更新后的开锁密码存储在服务器 的存储器(例如,硬盘)内,即未将更新前的开锁密码覆盖;也可以理解为,将更新后的开锁 密码修改为更新前的开锁密码并存储。
[0074] 第一指令可以是一个用于使服务器执行相应动作的操作指令,也可以是密码锁 110所存储的多个开锁密码的描述信息,例如,多个开锁密码的元数据。若第一指令包括该 描述信息,服务器130在获得所述第一指令后,解析所述第一指令获得密码锁110所成功存 储的多个开锁密码的描述信息。服务器130根据所述描述信息能够判断所述密码锁110是否 将服务器所生成的且发送至密码锁的多个开锁密码均成功存储,当服务器130判定密码锁 成功存储该多个开锁密码时,服务器130也将该多个开锁密码存储。
[0075] 优选地,为了便于服务器130对密码锁110所存储的多个开锁密码的管理,密码锁 110所存储的多个开锁密码也可以采用表1的形式,且服务器130内开锁密码与标识和有效 期的对应关系与密码锁内存储的开锁密码与标识和有效期的对应关系相同。
[0076]步骤S404:获得用户终端发送的密码请求,根据所述密码请求获取一个开锁密码, 所述开锁密码为预先存储生成并发送给密码锁由所述密码锁存储的多个开锁密码中的一 个,所述密码锁与所述用户终端相绑定。
[0077]步骤S405:将所获取的开锁密码发送至所述用户终端。
[0078] 上述步骤S404和S405的实施过程可以参考图4对应的步骤S301和步骤S302,在此 不再赘述。
[0079] 上述步骤S401、步骤S402和步骤S403为密码锁初始化,作为一种实施方式,密码锁 初始化可以采用图6所示的密码锁控制方法的方法流程中的步骤S502至S506。
[0080] 如图6所示,密码锁控制方法至少包括:步骤S501至步骤S508。
[0081 ] 步骤S501:生成多个开锁密码。
[0082]步骤S501的【具体实施方式】可以参考图5对应的步骤S401。
[0083] 步骤S502:服务器将所述多个开锁密码发送至所述网关。
[0084]服务器在执行完步骤S501之后,将所生成的多个开锁密码发送至网关120。
[0085]步骤S503:网关是否成功接收所述多个开锁密码?
[0086]网关120在成功接收到服务器130发送的多个开锁密码时能够反馈第二指令至所 述服务器130。其中,第二指令表示网关120已成功接收到服务器130发送的多个开锁密码。 [0087]若网关120成功接收所述多个开锁密码,则执行步骤S504。若网关120未成功接收 所述多个开锁密码,则执行步骤S502。网关120没有成功接收所述多个开锁密码可能因为网 关120与服务器130的连接故障,也可能是数据传输过程出现丢失或者网关硬件故障等问 题。此时,可以尝试返回步骤S502,服务器130再尝试发送一次多个开锁密码至网关120。如 果多次发送,网关120均未返回第二指令至服务器130,即网关120均未成功接收服务器130 发送的多个开锁密码,则初始化失败,待故障排除后,再次执行步骤S502。
[0088] 步骤S504:网关将所述多个开锁密码发送至密码锁。
[0089] 若网关120成功接收所述多个开锁密码,则将多个开锁密码发送至密码锁110。
[0090] 作为一种实施方式,服务器130将多个开锁密码通过数据包的形式发送给网关 120,再由网关120转发给密码锁110。其中,数据包包括源地址和目的地址、多个开锁密码以 及每个开锁密码对应的有效期和标识等。其中,源地址为服务器130的通信地址,例如可以 是IP地址,目的地址为密码锁110的通信地址。网关120根据数据包所包括的源地址和目的 地址,找到网关120内通往密码锁110的端口,将多个开锁密码发送至密码锁110。
[0091] 步骤S505:密码锁是否成功存储所述多个开锁密码?
[0092] 密码锁110在成功存储服务器130通过网关120发送的多个开锁密码时,反馈第一 指令至所述服务器130。具体地,密码锁110可以在将所接收的多个开锁密码成功存储在密 码锁110对应的存储器内时发送第一指令至服务器130。当然,为了保持密码锁110与服务器 130之间的传输的数据的完整性,密码锁110也可以在接收到网关120发送的多个开锁密码 后对所接收的多个开锁密码的完整性进行验证。作为一种实施方式,密码锁110和服务器 130之间可以通过通信协议的数据校验来验证密码锁110所接收数据的完整性。例如,服务 器130发送的多个开锁密码对应的数据包括一个校验位,该校验位根据多个开锁密码按照 通信协议的标准而生成。密码锁110在接收到服务器130发送的多个开锁密码后,根据所接 收的数据以及按照与服务器130所约定的通信协议的标准计算出一个校验值,若所计算的 校验值与服务器130发送的数据的校验值一致,则表明密码锁110完整地接收了服务器130 发送的多个开锁密码。
[0093]若密码锁110成功存储所述多个开锁密码,则执行步骤S505。若密码锁110未成功 存储所述多个开锁密码,则执行步骤S501。服务器130再尝试发送一次多个开锁密码至密码 锁 110〇
[0094]步骤S506:密码锁发送第一指令至服务器,以使服务器存储多个开锁密码。
[0095]服务器130接收到密码锁110在成功存储该多个开锁密码之后发送的第一指令,将 所生成的多个开锁密码存储,由此,初始化结束。通过密码锁110的初始化,使密码锁110所 存储的多个开锁密码与服务器130所存储的多个开锁密码。并且,能够在服务器130接收用 户的密码请求之前,完成初始化,以使密码锁110的开锁密码的配置不依赖其与服务器130 之间的通信状况。
[0096]步骤S507:获得用户终端发送的密码请求,根据所述密码请求获取一个开锁密码, 所述开锁密码为预先存储生成并发送给密码锁由所述密码锁存储的多个开锁密码中的一 个,所述密码锁与所述用户终端相绑定。
[0097]步骤S508:将所获取的开锁密码发送至所述用户终端。
[0098] 步骤S507和步骤508的【具体实施方式】可以参考前述实施例的步骤S404和S405,在 此不再赘述。
[0099]为了合理分配开锁密码,本发明实施例根据开锁密码的使用状态合理为用户终端 分配开锁密码,如图7所示,本发明实施例提供的一种密码锁控制方法,包括:步骤601至步 骤S610。
[0100] 步骤S601:获取用户终端发送的密码请求。
[0101] 步骤S601与图4中的步骤S301中的获得用户终端发送的密码请求的步骤一致,在 此不再赘述。
[0102] 步骤S602:服务器内是否存在第一状态的开锁密码?
[0103] 其中,第一状态为开锁密码的使用状态,第一状态对应表1中的"使用状态0",表示 该开锁密码还未被使用。服务器130内存在第一状态的开锁密码是指服务器130内与用户终 端所绑定的密码锁110对应的多个开锁密码中,至少有一个开锁密码的使用状态为第一状 态,即服务器130内的密码锁110所对应的多个开锁密码中有未使用的开锁密码。
[0104] 若服务器130内存在第一状态的开锁密码,则执行步骤S603。若服务器130内不存 在第一状态的开锁密码,则执行步骤S604。
[0105] 步骤S603:服务器获取一个第一状态的开锁密码。
[0106] 服务器130从在步骤S602中找到的多个第一状态的开锁密码中随机获取一个第一 状态的开锁密码,将所获取的第一状态的开锁密码的使用状态修改为第二状态。其中,第二 状态表示该开锁密码处于"使用中",其含义与表1中的"使用状态Γ一致。需要说明的是,当 在步骤S602中仅找到一个第一状态的开锁密码,则在步骤S603中,服务器130直接获取在步 骤S602中找到的第一状态的开锁密码。
[0107] 用户终端发送的密码请求包括用户入住该房间的时间范围,例如入住时间为2016 年6月6日12:00至2016年6月8日12:00。服务器130在获取第一状态的开锁密码时,可以根据 密码请求将所获取的开锁密码的有效期设置为预设时间。其中,预设时间是指根据用户入 住时间或为服务器为用户指定的入住时间而生成的时间。例如,服务器130将所获取的第一 状态的开锁密码的有效期设置为2016年6月8日12:00。
[0108] 需要说明的是,在密码锁初始化时或密码锁110内的开锁密码被更新时,密码锁 110内的开锁密码的有效期为默认值。如果服务器130在将所获取的第一状态的开锁密码发 送至用户终端140之后,服务器130与密码锁110-致处于通信异常状态,服务器130无法更 新密码锁内的与发送至用户终端的开锁密码所对应的开锁密码的有效期,则密码锁110内 用户所使用的开锁密码的有效期仍为默认值。如果默认值的时间大于预设时间,会导致用 户在退房之后,且服务器130未将用户所使用的开锁密码停用之前,用户仍可以用开锁密码 打开房门。
[0109] 为了避免上述状况的发生,可以将服务器130更新密码锁110内的与用户所使用的 开锁密码对应的开锁密码的有效期的操作置于服务器130的后台线程内,并时刻监测服务 器130与密码锁的通信状态。一旦服务器130与密码锁的连接正常时,服务器130执行更新密 码锁110内的与用户所使用的开锁密码对应的开锁密码的有效期的操作,将密码锁110内的 与用户所使用的开锁密码对应的开锁密码的有效期修改为预设时间。
[0110] 步骤S604:密码锁与服务器的通信是否正常?
[0111]在TCP/IP协议里面,假如密码锁110与服务器130中的一方正常关机时,另一方会 收到连接断开的通知。如果密码锁110与服务器130中的一方由于系统故障或者电源被拔掉 等非优雅断开时,服务器130之间可以通过心跳机制检测服务器130与密码锁110之间的通 信是否正常。当然,服务器130也可以通过发送探测数据至密码锁110,根据密码锁110是否 反馈成功接收探测数据的指令来判断密码锁与服务器130的通信是否正常。其中,通信正常 是指密码锁110与服务器130之间的能够进行数据交互。
[0112] 若密码锁110与服务器130的通信非正常,则执行步骤S605。若密码锁110与服务器 130的通信正常,则执行步骤S606。
[0113] 步骤S605:服务器获取一个第三状态的开锁密码。
[0114]其中,第三状态表示该开锁密码处于"已使用"的状态,与表1中的"使用状态2"一 致。第三状态的开锁密码本应当被服务器130更新而放弃使用,但是由于服务器130内不存 在未使用状态的开锁密码且服务器130与密码锁的通信处于断开状态,服务器130既无法在 所存储的多个开锁密码内获得一个能够作为用户打开房门的校验密码的开锁密码,也无法 在服务器130和密码锁内同时生成新的开锁密码而投入使用,因此,服务器130从第三状态 的开锁密码内获取一个有效期未逾期的开锁密码作为用户打开房门所使用的开锁密码,并 将所获取的第三状态的开锁密码的使用状态修改为第二状态。其中,有效期未逾期是指开 锁密码的有效期大于当前时刻。例如,有效期为2016年6月9日11:30,而当前时刻是2016年6 月6日11:00,则有效期大于当前时刻,表示有效期未逾期。
[0115] 步骤S606:服务器更新第三状态的开锁密码,并将所更新的开锁密码发送至密码 锁。
[0116] 若服务器130与密码锁110之间的通信是正常的,也即服务器130与密码锁110之间 可以交互数据,则服务器130可以更新密码锁110与服务器130内已使用的开锁密码,将所更 新的开锁密码作为新的开锁密码而投入使用。
[0117]服务器130获取第三状态的开锁密码,将该第三状态的开锁密码更新,并将更新的 开锁密码的使用状态修改为第一状态,有效期设置为默认值。以表1为例,更新之前,使用状 态为第三状态的开锁密码分别为122345和123455,所对应的标识分别为5和6。更新之后,标 识5所对应的开锁密码为123345,使用状态为"0",标识6所对应的开锁密码为123446,使用 状态为"0"。
[0118] 服务器130将更新后的开锁密码以及其对应的标识和有效期发送至密码锁110,即 所发送的数据可以是:标识5-开锁密码123345-有效期:默认值;标识6-开锁密码 123446-有效期:默认值。
[0119]步骤S607:密码锁是否成功存储所更新的开锁密码?
[0120] 密码锁110在接收服务器130发送的更新后的开锁密码后,根据所接收的开锁密码 与标识以及有效期的对应关系更新所述密码锁110存储的开锁密码和有效期。
[0121] 例如,密码锁110根据所接收的开锁密码的标识5,找到所存储的多个开锁密码中 标识为5的开锁密码,将所存储的标识为5的开锁密码修改为123345,标识为5的开锁密码的 有效期修改为默认值;将所存储的标识为6的开锁密码修改为123446,标识为6的开锁密码 的有效期修改为默认值。
[0122] 在密码锁110成功将所接收到的更新后的开锁密码存储后会反馈第一指令至所述 服务器130,以执行步骤S609。若密码锁110无法成功将所接收的开锁密码存储,则执行步骤 S608。具体地,服务器130可以设定一个预设检测时间,其中,该预设检测时间可以为一个经 验值,根据具体使用环境而设定。服务器130在预设检测时间内检测是否成功接收密码锁 110通过网关120发送的第一指令,若在预设检测时间内成功接收第一指令,则表示密码锁 110成功存储更新后的开锁密码。若在预设检测时间内未成功接收第一指令,则表示密码锁 110未成功存储更新后的开锁密码。
[0123] 步骤S608:是否达到最大尝试次数?
[0124] 在服务器更新完开锁密码并将所更新的开锁密码发送至密码锁时,记录将更新后 的开锁密码发送至所述密码锁的次数,例如,服务器130设定一个最大尝试次数,服务器130 内设定一个变量,变量的初始值为〇,服务器130每次发送更新后的开锁密码至密码锁110, 该变量的值加1。
[0125] 若密码锁110无法成功将所接收的开锁密码存储,则服务器130会多次尝试发送更 新后的开锁密码至密码锁110。当变量的值未超过最大尝试次数时,返回执行步骤S606,然 后在执行步骤S607。
[0126] 当变量的值超过最大尝试次数时,服务器将所更新的开锁密码和更新后的开锁密 码对应的使用状态以及有效期修改为更新前的开锁密码、使用状态和有效期,并执行步骤 S605。即此次服务器130与密码锁110之间的开锁密码的更新失败,服务器130执行步骤 S605,选取一个第三状态的开锁密码至用户终端,作为用户打开房门的开锁密码。
[0127] 例如,更新前标识5对应的开锁密码、使用状态和有效期为:标识5-开锁密码 123345-有效期:tl 一使用状态:2,在执行步骤S606时,变为:标识5-开锁密码123344-有 效期:t2-使用状态:0。服务器检测到密码锁成功存储了所更新的开锁密码时,服务器将所 更新的开锁密码存储。此时,服务器内与密码锁对应的多个开锁密码的标识为5的开锁密码 以及对应的有效期和使用状态变为:标识5 -开锁密码123344 -有效期:t2 -使用状态:0。
[0128] 当密码锁在达到最大尝试存储次数之后,仍然未成功存储更新后的多个开锁密 码,则服务器不将所更新的开锁密码存储。此时,服务器所更新的开锁密码以及对应的使用 状态和有效期等修改为更新前的开锁密码以及对应的使用状态和有效期,即将标识为5的 开锁密码以及对应的有效期和使用状态所做的更新放弃,标识为5的开锁密码以及对应的 有效期和使用状态仍然为更新前的标识5-开锁密码123345-有效期:tl 一使用状态:2。
[0129] 步骤S609:服务器存储更新后的开锁密码。
[0130] 密码锁110在成功存储所更新的开锁密码时,反馈第一指令至所述服务器130,服 务器130将更新后的开锁密码存储。通过步骤S606、步骤S607、步骤S608和步骤S609,服务器 130内又具有可以使用的开锁密码。因此,执行完步骤S609后执行步骤S603。
[0131]在执行完步骤S603时,服务器130所获取的第一状态的开锁密码就可以作为用户 打开密码锁110的密码,再执行步骤S610。
[0132] 步骤S610:将所获取的开锁密码发送至所述用户终端。
[0133] 需要说明的是,步骤S610中,所获取的开锁密码可以是步骤S603中的第一状态的 开锁密码,也可以是步骤S605中的第三状态的开锁密码。
[0134] 步骤S610与前述步骤S302的相同,在此不再赘述。
[0135] 另外,为了避免用户在使用了开锁密码后,且服务器130内将所使用的开锁密码的 使用状态标记为第三状态,即已使用的状态,而导致服务器130内没有新的开锁密码用于下 次为用户终端分配,本发明实施例还包括开锁密码更新方法。如图8所示,开锁密码的更新 方法包括:步骤S701到步骤S705。
[0136] 步骤S701:当服务器与密码锁的通信正常时,服务器是否存在第三状态的开锁密 码?
[0137] 服务器130与密码锁110的开锁密码的更新需要在服务器130与密码锁110的通信 正常时进行,开锁密码的更新可以根据服务器130所设定的更新周期来执行。例如,服务器 130设定的更新周期是一周更新一次或一个月更新一次,当然也可以是在服务器130判断所 存储的第一状态的开锁密码数量过低时,执行步骤S701。其中,数量过低是指第一状态的开 锁密码的数量小于预设值,所述预设值是一个经验值,根据实际使用的场景而设定。
[0138] 需要说明的是,优选地,服务器130所更新的开锁密码是针对第三状态的开锁密 码,而第二状态和第一状态的开锁密码无需更新,这样可以避免用户正在使用的开锁密码 被更新而无法打开密码锁110,以及更新未使用的开锁密码而造成的资源浪费。
[0139] 服务器130若存在第三状态的开锁密码,则执行步骤S702。服务器130若不存在第 三状态的开锁密码,则表示服务器130内不存在需要更新的开锁密码,则结束本次更新。 [0140]步骤S702:服务器更新第三状态的开锁密码,并将所更新的开锁密码发送至密码 锁。
[0141] 步骤S703:密码锁是否成功存储所更新的开锁密码?
[0142] 若密码锁110成功存储所更新的开锁密码,则执行步骤S705。若密码锁110未成功 存储所更新的开锁密码,则执行步骤S704。
[0143] 步骤S704:是否达到最大尝试次数?
[0144] 若密码锁110尝试存储所更新的开锁密码的次数未达到最大尝试次数,则执行步 骤S702。若密码锁110尝试存储所更新的开锁密码的次数达到最大尝试次数,则结束本次更 新。
[0145] 步骤S705:服务器130存储更新后的开锁密码。
[0146] 上述步骤S702、S703、S704和S705的实施方式可以参考图7中的步骤S606、步骤 S607、步骤S608和步骤S609,在此不再赘述。但是需要说明的是,在步骤S704中,若密码锁 110尝试存储所更新的开锁密码的次数达到最大尝试次数,表示密码锁110无法存储服务器 130所更新的开锁密码,则结束本次更新,服务器130所生成的新的开锁密码可以删除掉,将 缓存在存储的新的开锁密码释放掉。
[0147] 为了保证用户在退房之后,所使用的开锁密码的不会被其他人所使用或者用户在 退房之后仍然可以使用之前所用的开锁密码打开房门,本发明实施例提供了开锁密码的停 用过程,如图9所示,该停用过程包括:步骤S801至步骤S808。
[0148] 步骤S801:获取密码锁密码停用指令。
[0149] 密码锁110密码停用指令为服务器130所获取的用于执行将用户终端用于打开房 门的开锁密码停用操作的启动指令,其产生方式可以包括以下几种实施方式:
[0150] 第一种,服务器130在将开锁密码发送至用户终端时,启动对用户所使用的开锁密 码的有效期的监控,在有效期到达之后或者在有效期超过使用期限时,生成密码锁110密码 停用指令。其中,使用期限是指允许用户在有效期逾期后的一定时间内继续使用开锁密码。
[0151] 第二种,获得用户终端发送的所述密码锁110密码停用指令。用户在退房时,通过 用户终端发送密码停用指令至服务器130。
[0152]第三种,用户在前台办理完退房手续后,房间的管理人员将服务器130内的房间的 状态修改为已退房,服务器130在密码锁110标号对应的房间的转台变更为已退房的状态时 生成密码停用指令。
[0153] 需要说明的是,密码锁110密码停用指令是针对用户终端所绑定的密码锁110,即 服务器130仅将用户终端所绑定的密码锁110中与用户终端所获得的开锁密码相对应的开 锁密码停用。
[0154] 步骤S802:服务器是否存在第二状态的开锁密码?
[0155] 服务器130查找所存储的多个开锁密码中是否存在第二状态的开锁密码,若存在, 执行步骤S803。若服务器130内不存在第二状态的开锁密码,则表示理论上,服务器130内的 所有开锁密码均未被使用,则结束本次停用操作。
[0156] 步骤S803:服务器将第二状态的开锁密码更新为第三状态。
[0157] 服务器130将使用中的开锁密码的使用状态更改为已使用。
[0158] 步骤S804:服务器与密码锁的通信是否正常?
[0159] 若服务器130与密码锁110的通信正常,则执行步骤S805。若服务器130与密码锁 110的通信异常,则结束本次停用。
[0160] 步骤S805:服务器更新第三状态的开锁密码,并将所更新的开锁密码发送至密码 锁。
[0161] 步骤S806:密码锁是否成功存储所更新的开锁密码?
[0162] 若密码锁110成功存储所更新的开锁密码,则执行步骤S808。若密码锁110未成功 存储所更新的开锁密码,则执行步骤S807。
[0163] 步骤S807:是否达到最大尝试次数?
[0164] 若密码锁110尝试存储所更新的开锁密码的次数未达到最大尝试次数,则执行步 骤S805。若密码锁110尝试存储所更新的开锁密码的次数达到最大尝试次数,则结束本次停 用操作。
[0165] 步骤S808:服务器存储更新后的开锁密码。
[0166] 步骤S804、S805、S806、S807和S808可以参考前述实施例,在此不再赘述。
[0167] 需要说明的是,所述开锁密码的停用过程可以不执行步骤S803,相应的步骤S805 则变成:服务器130更新第二状态的开锁密码,并将所更新的开锁密码发送至密码锁110。具 体的,可以在获取第二状态的开锁密码后,且在服务器130与密码锁110的通信正常的情况 下,直接更新第二状态的开锁密码,并将第二状态的开锁密码的使用状态更新为第一状态, 再将更新后的开锁密码发送至密码锁110,并执行步骤S806、S807和S808。而图9所对应的方 法流程不仅能够将用户所使用的开锁密码停用,而且能够将密码锁110与服务器130内的已 使用的开锁密码更新,便于下次使用。
[0168] 由图7所对应的实施方式可以得知,无论采用哪种方式为用户终端发送一个开锁 密码作为用户打开房门的密码,都需要将所发送的开锁密码的使用状态修改为第二状态。 因此,通过所述开锁密码的停用过程能够将服务器130内的第二状态的开锁密码更新,并同 步更新密码锁110内与服务器130的所更新的第二状态的开锁密码的标号对应的开锁密码 更新。而用户终端所获取的开锁密码为旧的密码,在密码锁110内无法成功匹配,因此,用户 所使用的开锁密码被停用而无法打开密码锁110。
[0169] 请参阅图10,本发明实施例提供了 一种密码锁控制方法,该密码锁110控制方法以 密码锁110为执行主体的执行过程。所述密码锁110控制方法包括:
[0170] 步骤S901:获取用户输入的校验密码。
[0171] 步骤S902:当用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码 匹配时,发送开启指令至所对应的电子锁具,其中,所存储的多个开锁密码为所接收的由服 务器生成的开锁密码。
[0172] 另外,当用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配 时,发送开启指令至所对应的电子锁具的过程,具体的,可以包括:
[0173] 在所存储的多个开锁密码中查找获得与所述用户输入的校验密码匹配的开锁密 码;当所查找获得的开锁密码对应的有效期与获得所述校验密码的时间满足预设关系时, 发送开启指令至所对应的电子锁具。
[0174] 上述步骤S901和S902的具体实施过程可参考前述方法和系统的实施例,在此不再 赘述。
[0175] 请参阅图11,本发明实施例提供的一种密码锁控制装置111,运行于服务器130,包 括:密码设定单元210和发送单元220。
[0176] 密码设定单元210用于获得用户终端发送的密码请求,根据所述密码请求获取一 个开锁密码,所述开锁密码为预先存储并发送给密码锁由所述密码锁存储的多个开锁密码 中的一个。
[0177] 发送单元220用于将所获取的开锁密码发送至所述用户终端。
[0178] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0179] 请参阅图12,本发明实施例提供的一种密码锁控制装置111,运行于服务器130,包 括:密码配置单元310、密码设定单元320、发送单元330和停用密码单元340、更新单元350和 时间设定单元360。
[0180] 密码配置单元310包括生成子单元3101、发送子单元3102和存储子单元3103。
[0181]生成子单元3101用于生成所述多个开锁密码。发送子单元3102用于将所述多个开 锁密码发送至所述密码锁,以使所述密码锁将所接收的多个开锁密码存储。存储子单元 3103用于获得所述密码锁在成功存储所接收的开锁密码之后生成的第一指令,将所述多个 开锁密码存储。
[0182] 密码设定单元320用于获得用户终端发送的密码请求,根据所述密码请求获取一 个开锁密码,所述开锁密码为预先生成并发送给密码锁由所述密码锁存储的多个开锁密码 中的一个,所述密码锁与所述用户终端相绑定。
[0183] 具体地,密码设定单元320包括密码请求获取子单元3201和密码查找子单元3202。
[0184] 密码请求获取子单元3201用于获得用户终端发送的密码请求。密码查找子单元 3202用于根据所述密码请求获取一个开锁密码。
[0185] 其中,密码查找子单元3202具体用于当所述多个开锁密码中至少包括一个使用状 态为第一状态的开锁密码时,根据所述密码请求获取一个所述使用状态为第一状态的开锁 密码,将所获取的使用状态为第一状态的开锁密码的使用状态修改为第二状态。
[0186] 密码查找子单元3202还用于当所述多个开锁密码中不存在使用状态为第一状态 的开锁密码,存在使用状态为第三状态的开锁密码,且服务器与所述密码锁之间未建立通 信连接以及多个开锁密码中获取一个使用状态为第三状态且有效期未逾期的开锁密码,将 所获取的使用状态为第三状态且有效期未逾期的开锁密码的使用状态修改为第二状态。
[0187] 密码查找子单元3202还用于当与所述密码锁之间建立通信连接时,更新所有使用 状态为第三状态的开锁密码,将所有更新后的开锁密码的使用状态修改为第一状态;将所 有更新后的开锁密码以及该开锁密码对应的标识发送至所述密码锁,以使所述密码锁根据 所接收的开锁密码与标识的对应关系更新所述密码锁存储的开锁密码;根据所述密码请求 获取一个使用状态为第一状态的开锁密码。
[0188] 发送单元330用于将所获取的开锁密码发送至所述用户终端。
[0189] 停用密码单元340获得密码锁密码停用指令;将所有使用状态为第二状态的开锁 密码的使用状态修改为第三状态;更新所有使用状态为第三状态的开锁密码;将所更新的 第三状态的开锁密码及该开锁密码所对应的标识发送至所述密码锁,以使所述密码锁根据 所接收的标识对应的开锁密码更新所述密码锁存储的开锁密码。
[0190] 具体地,停用密码单元340用于在当前时刻大于发送至所述用户终端的开锁密码 对应的有效期时,生成所述密码锁密码停用指令,或者,获得用户终端发送的所述密码锁密 码停用指令。
[0191]更新单元350用于更新所有使用状态为第三状态的开锁密码以及该开锁密码对应 的使用状态和有效期,其中,更新该开锁密码对应的使用状态为将该开锁密码的使用状态 修改为第一状态,更新该开锁密码对应的有效期为将该开锁密码的有效期设定为默认值; 将所有更新后的开锁密码以及该开锁密码对应的标识和有效期发送至所述密码锁,以使所 述密码锁根据所接收的标识与开锁密码和有效期的对应关系更新所述密码锁存储的开锁 密码和有效期。
[0192] 时间设定单元360用于根据所述密码请求将与所述密码请求对应的开锁密码的有 效期设定为预设时间并发送至所述密码锁,以使所述密码锁将所存储的多个开锁密码中与 所接收的开锁密码对应的开锁密码的有效期修改为预设时间。
[0193] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0194] 请参阅图13,本发明实施例提供的一种密码锁控制装置111,运行于密码锁110,包 括:校验密码获取单元410和验证单元420。
[0195] 校验密码获取单元410用于获取用户输入的校验密码。验证单元420用于当用户输 入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时,发送开启指令至所对 应的电子锁具,其中,所存储的多个开锁密码为由服务器生成的开锁密码。
[0196] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0197] 请参阅图14,本发明实施例提供的一种密码锁控制装置111,运行于密码锁110,包 括:开锁密码获取单元510、校验密码获取单元520和验证单元530。
[0198] 其中,开锁密码获取单元510用于获得所述服务器发送的由所述服务器生成的多 个开锁密码;在成功存储所接收的多个开锁密码之后反馈第一指令至至所述网关,以使所 述网关将所述第一指令发送至所述服务器。
[0199] 校验密码获取单元520用于获取用户输入的校验密码。
[0200] 验证单元530用于当用户输入的校验密码与所存储的多个开锁密码中至少一个开 锁密码匹配时,发送开启指令至所对应的电子锁具,其中,所存储的多个开锁密码为由服务 器生成的开锁密码。
[0201] 其中,验证单元530包括匹配子单元5301和执行子单元5302。
[0202] 匹配子单元5301用于在所存储的多个开锁密码中查找获得与所述用户输入的校 验密码匹配的开锁密码。
[0203] 执行子单元5302用于当所查找获得的开锁密码对应的有效期与获得所述校验密 码的时间满足预设关系时,发送开启指令至所对应的电子锁具。
[0204] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。 [0205]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过 其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图 显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、 功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一 部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执 行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于 附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也 可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每 个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基 于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0206] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部 分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0207] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计 算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个 人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read - Only Memory)、随机存取 存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需 要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作 与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种 实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的 包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包 括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要 素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要 素的过程、方法、物品或者设备中还存在另外的相同要素。
[0208] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在 下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需 要对其进行进一步定义和解释。
[0209]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1. 一种密码锁控制方法,其特征在于,包括: 获得用户终端发送的密码请求,根据所述密码请求获取一个开锁密码,所述开锁密码 为预先生成并发送给密码锁由所述密码锁存储的多个开锁密码中的一个,所述密码锁与所 述用户终端相绑定; 将所获取的开锁密码发送至所述用户终端。2. 根据权利要求1所述的方法,其特征在于,所述获得用户终端发送的密码请求之前, 还包括: 生成所述多个开锁密码; 将所述多个开锁密码发送至所述密码锁,以使所述密码锁将所接收的多个开锁密码存 储; 获得所述密码锁在成功存储所接收的开锁密码之后生成的第一指令,将所述多个开锁 密码存储。3. 根据权利要求2所述的方法,其特征在于,将所述多个开锁密码发送至所述密码锁的 步骤,包括: 将所述多个开锁密码发送至网关,以使所述网关将所接收的所述多个开锁密码发送至 所述密码锁; 当未接收到所述网关在成功接收到所述多个开锁密码时发送的第二指令时,再次将所 述多个开锁密码发送至网关,直至成功接收到所述网关发送的第二指令。4. 根据权利要求1所述的方法,其特征在于,每个所述开锁密码均对应有使用状态,根 据所述密码请求获取一个开锁密码的步骤包括: 当所述多个开锁密码中至少包括一个使用状态为第一状态的开锁密码时,根据所述密 码请求获取一个所述使用状态为第一状态的开锁密码,将所获取的使用状态为第一状态的 开锁密码的使用状态修改为第二状态。5. 根据权利要求4所述的方法,其特征在于,每个所述开锁密码均对应有有效期,根据 所述密码请求获取一个开锁密码的步骤包括: 当所述多个开锁密码中不存在使用状态为第一状态的开锁密码,存在使用状态为第三 状态的开锁密码,且服务器与所述密码锁之间未建立通信连接时,根据所述密码请求获取 一个使用状态为第三状态且有效期未逾期的开锁密码,将所获取的使用状态为第三状态且 有效期未逾期的开锁密码的使用状态修改为第二状态。6. 根据权利要求5所述的方法,其特征在于,每个所述开锁密码均对应一个标识,根据 所述密码请求获取一个开锁密码的步骤还包括: 当与所述密码锁之间建立通信连接时,更新所有使用状态为第三状态的开锁密码,将 所有更新后的开锁密码的使用状态修改为第一状态; 将所有更新后的开锁密码以及该开锁密码对应的标识发送至所述密码锁,以使所述密 码锁根据所接收的开锁密码与标识的对应关系更新所述密码锁存储的开锁密码; 当接收到第一指令时,存储所有更新后的开锁密码以及该开锁密码对应的使用状态, 其中,所述第一指令为所述密码锁成功存储所更新的开锁密码时生成的指令; 根据所述密码请求获取一个使用状态为第一状态的开锁密码。7. 根据权利要求6所述的方法,其特征在于,将所有更新后的开锁密码以及该开锁密码 对应的标识发送至所述密码锁之后,所述方法还包括: 记录发送更新后的开锁密码至所述密码锁的次数; 当在预设检测时间内未接收到所述第一指令时,判断当前次数是否大于预设数值,若 否,再次发送更新后的开锁密码至所述密码锁,将当前次数加一;若是,将所更新的开锁密 码以及该开锁密码对应的使用状态修改为更新前的开锁密码以及使用状态,根据所述密码 请求获取一个使用状态为第三状态且有效期未逾期的开锁密码,将所获取的使用状态为第 三状态且有效期未逾期的开锁密码的使用状态修改为第二状态。8. 根据权利要求1所述的方法,其特征在于,每个所述开锁密码均对应有标识、使用状 态和有效期,所述方法还包括: 更新所有使用状态为第三状态的开锁密码以及该开锁密码对应的使用状态和有效期, 其中,更新该开锁密码对应的使用状态为将该开锁密码的使用状态修改为第一状态,更新 该开锁密码对应的有效期为将该开锁密码的有效期设定为默认值; 将所有更新后的开锁密码以及该开锁密码对应的标识和有效期发送至所述密码锁,以 使所述密码锁根据所接收的标识与开锁密码和有效期的对应关系更新所述密码锁存储的 开锁密码和有效期。9. 根据权利要求8所述的方法,其特征在于,将所有更新后的开锁密码以及该开锁密码 对应的标识和有效期发送至所述密码锁之后,所述方法还包括: 当接收到第一指令时,存储所有更新后的开锁密码以及该开锁密码对应的使用状态和 有效期,其中,所述第一指令为所述密码锁成功存储所更新的开锁密码时生成的指令。10. 根据权利要求9所述的方法,其特征在于,将所有更新后的开锁密码以及该开锁密 码对应的标识和有效期发送至所述密码锁之后,所述方法还包括: 记录发送更新后的开锁密码至所述密码锁的次数; 当在预设检测时间内未接收到所述第一指令时,且当前次数大于预设数值时,再次发 送更新后的开锁密码至所述密码锁,并将当前次数加一。11. 根据权利要求1所述的方法,其特征在于,每个所述开锁密码均对应有有效期,根据 所述密码请求获取一个开锁密码之后,还包括: 根据所述密码请求将与所述密码请求对应的开锁密码的有效期设定为预设时间并发 送至所述密码锁,以使所述密码锁将所存储的多个开锁密码中与所接收的开锁密码对应的 开锁密码的有效期修改为预设时间。12. 根据权利要求1所述的方法,其特征在于,每个所述开锁密码均对应有标识和使用 状态,所述方法还包括: 获得密码锁密码停用指令; 将所有使用状态为第二状态的开锁密码的使用状态修改为第三状态; 更新所有使用状态为第三状态的开锁密码; 将所更新的第三状态的开锁密码及该开锁密码所对应的标识发送至所述密码锁,以使 所述密码锁根据所接收的标识对应的开锁密码更新所述密码锁存储的开锁密码。13. 根据权利要求12所述的方法,其特征在于,每个所述开锁密码均还对应有有效期, 所述获得密码锁密码停用指令的步骤包括: 当当前时刻大于发送至所述用户终端的开锁密码对应的有效期时,生成所述密码锁密 码停用指令;或者 获得用户终端发送的所述密码锁密码停用指令。14. 根据权利要求12或13所述的方法,其特征在于,将所更新的第三状态的开锁密码及 该开锁密码所对应的标识发送至所述密码锁之后,所述方法还包括: 当接收到所述密码锁成功存储所更新的开锁密码时反馈的第一指令时,存储所有更新 后的开锁密码以及该开锁密码对应的使用状态。15. 根据权利要求12或13所述的方法,其特征在于,将所更新的第三状态的开锁密码及 该开锁密码所对应的标识发送至所述密码锁之后,所述方法还包括: 记录将更新后的开锁密码发送至所述密码锁的次数; 当在预设检测时间内未接收到所述密码锁成功存储所更新的开锁密码时反馈的第一 指令时,且当前次数是否大于预设数值时,再次发送更新后的开锁密码至所述密码锁,并将 当前次数加一。16. -种密码锁控制方法,其特征在于,包括: 获取用户输入的校验密码; 当用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时,发送开 启指令至所对应的电子锁具,其中,所存储的多个开锁密码为由服务器生成的开锁密码。17. 根据权利要求16所述的方法,其特征在于,每个所述开锁密码均对应有有效期,当 用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时,打开所对应的 电子锁具的步骤,包括: 在所存储的多个开锁密码中查找获得与所述用户输入的校验密码匹配的开锁密码; 当所查找获得的开锁密码对应的有效期与获得所述校验密码的时间满足预设关系时, 发送开启指令至所对应的电子锁具。18. 根据权利要求16所述的方法,其特征在于,所述的获取用户输入的校验密码之前, 还包括: 获得网关发送的由所述服务器生成的多个开锁密码; 在成功存储所接收的多个开锁密码之后发送第一指令至所述网关,以使所述网关将所 述第一指令发送至所述服务器。19. 一种密码锁控制系统,其特征在于,包括服务器、密码锁和网关; 所述服务器用于生成多个开锁密码,获得用户终端发送的密码请求,根据所述密码请 求获取一个开锁密码,将所获取的开锁密码发送至用户终端; 所述网关用于获取所述服务器内的所述多个开锁密码,并将所获取的所述多个开锁密 码发送至所述密码锁; 所述密码锁用于将所接收的所述多个开锁密码存储,接收用户输入的校验密码,当用 户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码匹配时,发送开启指令至 所对应的电子锁具。20. -种密码锁控制装置,其特征在于,包括: 密码设定单元,用于获得用户终端发送的密码请求,根据所述密码请求获取一个开锁 密码,所述开锁密码为预先存储并发送给密码锁由所述密码锁存储的多个开锁密码中的一 个; 发送单元,用于将所获取的开锁密码发送至所述用户终端。21. -种密码锁控制装置,其特征在于,包括: 校验密码获取单元,用于获取用户输入的校验密码; 验证单元,用于当用户输入的校验密码与所存储的多个开锁密码中至少一个开锁密码 匹配时,打开所对应的房门,其中,所存储的多个开锁密码为由服务器生成的开锁密码。22. 根据权利要求21所述的装置,其特征在于,还包括: 开锁密码获取单元,用于获得网关发送的由所述服务器生成的多个开锁密码;在成功 存储所接收的多个开锁密码之后发送第一指令至所述网关,以使所述网关将所述第一指令 发送至所述服务器。23. 根据权利要求21所述的装置,其特征在于,所述验证单元包括: 匹配子单元,用于在所存储的多个开锁密码中查找获得与所述用户输入的校验密码匹 配的开锁密码; 执行子单元,用于当所查找获得的开锁密码对应的有效期与获得所述校验密码的时间 满足预设关系时,发送开启指令至所对应的电子锁具。
【文档编号】H04L29/08GK105991776SQ201610500751
【公开日】2016年10月5日
【申请日】2016年6月29日
【发明人】陈丹
【申请人】北京三快在线科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1