CN108462703A - 密码更新方法、智能锁及服务器 - Google Patents

密码更新方法、智能锁及服务器 Download PDF

Info

Publication number
CN108462703A
CN108462703A CN201810159879.2A CN201810159879A CN108462703A CN 108462703 A CN108462703 A CN 108462703A CN 201810159879 A CN201810159879 A CN 201810159879A CN 108462703 A CN108462703 A CN 108462703A
Authority
CN
China
Prior art keywords
password
code set
smart lock
cipher code
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810159879.2A
Other languages
English (en)
Inventor
明艳杰
齐永升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongxia Datong Beijing Management Consulting Co Ltd
Original Assignee
Dongxia Datong Beijing Management Consulting Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dongxia Datong Beijing Management Consulting Co Ltd filed Critical Dongxia Datong Beijing Management Consulting Co Ltd
Priority to CN201810159879.2A priority Critical patent/CN108462703A/zh
Publication of CN108462703A publication Critical patent/CN108462703A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • G07C2009/00825Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed remotely by lines or wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明实施例提供一种密码更新方法、智能锁及服务器,属于车辆领域。所述方法包括:响应于所述智能锁锁止,向服务器发送密码更新请求;判断在第一预设时间内是否接收到所述服务器发送的新的密码组;如果在所述第一预设时间内接收到所述新的密码组,则执行以下步骤:根据所述新的密码组更新已存储的密码组;以及向所述服务器发送确认收到所述新的密码组的应答信息。其使得在任意情况下,用户都能够获得有效的解锁密码。

Description

密码更新方法、智能锁及服务器
技术领域
本发明涉及车辆领域,具体地涉及一种密码更新方法、智能锁及服务器。
背景技术
当用户使用共享车辆(例如,共享单车)时,需要对共享车辆进行解锁操作。
以共享车辆所使用的智能锁是电子密码锁为例。对于电子密码锁,用户扫码后,手机通过后台查询到该车对应的密码,用户输入对应的密码,匹配成功后开锁。用车结束后电子密码锁向服务器上报订单信息,结束订单。这种开锁方式密码可变,受环境影响大,如果锁端与服务器之间的网络较差,可能出现服务器向锁端发送密码不及时的情况,从而导致锁端和服务器的解锁密码不一致,使得用户无法从服务器获取到正确的解锁密码。
发明内容
本发明实施例的目的是提供一种密码更新方法、智能锁及服务器,用于全部解决或至少部分解决上述技术问题。
为了实现上述目的,本发明实施例提供一种密码更新方法,用于智能锁,所述方法包括:响应于所述智能锁锁止,向服务器发送密码更新请求;判断在第一预设时间内是否接收到所述服务器发送的新的密码组;如果在所述第一预设时间内接收到所述新的密码组,则执行以下步骤:根据所述新的密码组更新已存储的密码组;以及向所述服务器发送确认收到所述新的密码组的应答信息。
可选地,所述方法还包括:如果在所述第一预设时间内未接收到所述新的密码组,则不更新已存储的密码组
可选地,所述向所述服务器发送确认收到所述新的密码组的应答信息之后,所述方法还包括:控制所述智能锁进入休眠状态。
可选地,所述根据所述新的密码组更新存储的密码组包括:判断已存储的密码组的数量是否达到预定数量;如果已存储的密码组的数量未达到所述预定数量,则存储所述新的密码组;以及如果所述智能锁已存储的密码组的数量已达到所述预定数量,则将所述已存储的密码组中除所使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组。
可选地,所述预定数量为2。
可选地,在响应于所述智能锁锁止,向服务器发送密码更新请求之前,所述方法还包括:判断所使用的解锁密码是否是所述解锁密码所在密码组中预定使用顺序排列在最后的密码;如果所述解锁密码不是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则从所述解锁密码所在密码组中将所述解锁密码和预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用;以及如果所述解锁密码是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则保留所述解锁密码,并从所述解锁密码所在密码组中将预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用。
相应地,本发明实施例还提供一种密码更新方法,用于服务器,所述方法包括:接收智能锁发送的密码更新请求;根据所述密码更新请求生成新的密码组;向所述智能锁发送所述新的密码组;判断在第二预设时间内是否接收到所述智能锁发送的确认收到所述新的密码组的应答信息;以及如果在所述第二预设时间内接收到所述应答信息,则将所述智能锁的密码更新为所述新的密码组。
可选地,所述方法还包括:如果在所述第二预设时间内未接收到所述应答信息,则不更新所述智能锁的密码。
可选地,在接收智能锁发送的密码更新请求之前,所述方法还包括:判断发送至客户端的解锁密码是否是所述智能锁的密码中的唯一一个有效密码;如果所述解锁密码不是所述智能锁的密码中的唯一一个有效密码,则从所述智能锁的密码中将所述解锁密码删除或标记为已使用;以及如果所述解锁密码是所述智能锁的密码中的唯一一个有效密码,则保留所述解锁密码为有效密码。
相应地,本发明实施例还提供一种智能锁,所述智能锁包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行根据本发明实施例所述的用于智能锁的密码更新方法。
相应地,本发明实施例还提供一种服务器,所述服务器包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行根据本发明实施例所述的用于服务器的密码更新方法。
通过上述技术方案,智能锁在向服务器发送密码更新请求之后,判断第一预设时间内是否接收到服务器发送的新的密码组,服务器在向智能锁发送新的密码组之后,判断第二预设时间内是否接收到智能锁发送的确认收到所述新的密码组的应答信息。通过上述两个判断过程可以确认服务器和智能锁之间通信是否成功,并在服务器和智能锁之间通信成功或通信失败的情况下执行不同的密码更新过程,从而确保任何情况下服务器和智能锁中存储的密码的一致性,使得用户每次获取到的密码均为有效密码,从而提高用户体验度。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图;
图2示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图;
图3示出了智能锁更新存储的密码组的流程图;
图4示出了根据接收到的解锁密码对该解锁密码所在密码中的密码进行处理的流程图;
图5示出了根据本发明一实施例的用于服务器的密码更新方法的流程图;
图6示出了服务器对发送至客户端的解锁密码进行处理的流程图;
图7示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图;
图8A示出了根据本发明一实施例的智能锁、服务器和客户端的交互示意图;
图8B至图8D示出了在智能锁和服务器之间通信失败的情况下,密码更新方法的流程示意图;
图9示出了根据本发明一实施例的智能锁的结构框图;以及
图10示出了根据本发明一实施例的服务器的结构框图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图。如图1所示,本发明实施例提供一种密码更新方法,该方法可以用于智能锁,所述智能锁可以是自行车锁、电动车锁、电助力自行车锁、汽车锁、租赁柜锁或者智能家居锁等中的任意一种,本发明实施例是以智能锁为共享单车的智能锁为例进行说明。所述方法可以包括以下步骤:
步骤S110,响应于所述智能锁锁止,向服务器发送密码更新请求。
具体地,智能锁在出厂时可以内置有一个密码组,该密码组可以包括多个密码,针对该智能锁,在服务器中可以存储有相同的密码组。
用户可以通过智能终端的客户端对车辆的二维码进行扫描,如此来获得车辆的标识,或者可以在客户端手动输入车辆的标识,客户端可以将包括车辆的标识的密码获取请求发送至服务器。服务器接收到密码获取请求后,可以根据车辆的标识从对应的密码组中选择一密码以作为解锁密码发送至客户端,客户端接收并显示该解锁密码。用户可以在智能锁上输入所显示的解锁密码,智能锁接收用户输入的解锁密码,然后将所接收的解锁密码与存储的密码组中的密码进行匹配,如果匹配成功,则进行解锁以使用户进行骑行,用户骑行完成后将智能锁锁止。
响应于智能锁锁止,可以生成包括车辆的标识的密码更新请求,并将所述密码更新请求发送至服务器。
步骤S120,判断在第一预设时间内是否接收到所述服务器发送的新的密码组。
服务器如果接收到所述密码更新请求,则可以生成新的密码组,并将该新的密码组发送至智能锁。如果智能锁在发送所述密码更新请求之后的第一预设时间内接收到服务器发送的新的密码组,则可以执行步骤S130和步骤S140。其中,所述第一预定时间可以根据实际情况而设置为任意合适的值,例如,可以设置为4分钟。
步骤S130,根据所述新的密码组更新已存储的密码组。
根据具体情况,上述更新可以是直接将所述新的密码组进行存储或者可以是将已存储的密码组中的一个密码组替换为所述新的密码组,关于具体如何更新将在后文中结合图3进行详细描述。
步骤S140,向所述服务器发送确认收到所述新的密码组的应答信息。
智能锁在更新了密码组之后,可以向服务器发送确认收到新的密码组的应答信息,服务器接收到该应答信息之后,才对所述智能锁的密码进行更新。
通过上述实施例,在向服务器发送密码更新请求之后,如果第一预设时间内接收到新的密码组,才更新已存储的密码组,可以保证密码更新的时效性。此外,服务器在接收到智能锁发送的应答信息之后才对所述智能锁的密码进行更新,也就说是,服务器是在确认智能锁已经收到并存储新的密码组之后才对所述智能锁的密码进行更新,如此可以保证服务器和智能锁中存储的密码的一致性。
进一步地,在步骤S140执行完成后,智能锁可以进入休眠状态,以节省智能锁功耗。
图2示出了根据本发明一实施例的用于智能锁的密码更新方法的流程图。如图2所示,基于上述任意实施例,在智能锁向服务器发送密码更新请求之后,如果智能锁在第一预设时间内未接收到服务器发送的新的密码组,则可以执行步骤S210,不更新已存储的密码组。如果第一预设时间内未接收到所述新的密码组,则说明服务器和智能锁之间通信失败,这可能是由于服务器未成功接收到密码更新请求或者由于服务器向智能锁发送新的密码组失败而引起的,这种情况下,智能锁可以不对存储的密码组进行更新,那么服务器也不会收到应答信息,则服务器也不会对所述智能锁的密码进行更新,从而保证服务器和智能锁中存储的密码仍然保持一致。
进一步地,在智能锁向服务器发送密码更新请求之后,如果智能锁在第一预设时间内未接收到服务器发送的新的密码组,智能锁可以进入休眠状态,以节省智能锁功耗。图3示出了智能锁更新存储的密码组的流程图。如图3所示,根据从服务器接收的新的密码组更新存储的密码组可以包括以下步骤:
步骤S302,判断已存储的密码组的数量是否达到预定数量。
智能锁可以设置为至多可以存储预定数量的密码组,以防止因存储的密码组过多而引起的密码被破解概率升高的情况,所述预定数量优选可以设置为2。
步骤S304,如果已存储的密码组的数量未达到所述预定数量,则存储所述新的密码组。
如果智能锁中存储的密码组的数量尚未达到预定数量,则可以直接存储从服务器接收到的新的密码组。
步骤S306,如果所述智能锁已存储的密码组的数量已达到所述预定数量,则将所述已存储的密码组中除所使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组。
其中,所使用的解锁密码是用户在智能锁上输入的且成功用于解锁的解锁密码。
在所存储的密码组的数量已达到预定数量的情况下,需要将已存储的密码组中的一个密码组更新为所接收的新的密码组。由于用户输入的解锁密码来自于服务器,则服务器当前针对所述智能锁存储的密码组为所述解锁密码所在密码组,则智能锁可以先不对所述解锁密码所在密码组进行更新,而是将除所述解锁密码所在密码组之外的一个密码组更新为新的密码组。
以智能锁中至多允许存储2个密码组为例,智能锁出厂时仅存储有一个与服务器相同的密码组。在首次从服务器接收到新的密码组时,由于智能锁中仅存储有一个密码组,则可以直接存储该新的密码组。在之后的过程中,智能锁中均存储有2个密码组,分别将这2个密码组称为第一密码组和第二密码组。接收到新的密码组时,如果从用户接收到的解锁密码的所在密码组为第一密码组,则将第二密码组更新为新的密码组,如果所述解锁密码所在的密码组为第二密码组,则将第一密码组更新为新的密码组。
通过上述实施例,在根据新的密码组更新存储的密码组时,不对当前一次所接收到的解锁密码所在密码组进行更新。这可以使得即使在服务器由于未接收到应答信息而没有更新密码组的情况下,智能锁中仍然保留有服务器中存储的所述智能锁的解锁密码。也就是说,无论服务器和智能锁之间的通信是否成功,都可以确保智能锁和服务器中存储的密码具有一致性,从而使得用户无论在何种情况下都可以获取到有效的解锁密码。
进一步地,在响应于所述智能锁锁止,向服务器发送密码更新请求之前,本发明实施例提供的用于智能锁的密码更新方法还可以包括根据所使用的的解锁密码对该解锁密码所在密码中的密码进行处理。可以理解,所使用的解锁密码是用户输入的解锁密码,所述处理过程可以发生在使用用户输入的解锁密码成功解锁之后。
图4示出了根据接收到的解锁密码对该解锁密码所在密码中的密码进行处理的流程图。如图4所示,根据接收到的解锁密码对该解锁密码所在密码中的密码进行处理包括以下步骤:
步骤S402,判断所使用的解锁密码是否是所述解锁密码所在密码组中预定使用顺序排列在最后的密码。
密码组中的密码可以具有预定使用顺序。智能锁接收用户输入的解锁密码,并在使用该解锁密码成功解锁之后,可以判断该解锁密码是不是所在密码组中预定使用顺序排列在最后的密码,以根据判断结果处理该密码组中的密码。
步骤S404,如果所述解锁密码不是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则从所述解锁密码所在密码组中将所述解锁密码和预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用。
步骤S406,如果所述解锁密码是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则保留所述解锁密码,并从所述解锁密码所在密码组中将预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用。
服务器和智能锁中密码组中的密码具有相同的预定使用顺序,并且除预定使用顺序排列在最后的一个密码之外,服务器每向客户端发送一次密码就会将对应的密码删除或标记为已使用,因此,智能锁中预定使用顺序排列在所匹配的密码之前的密码已经是无效密码,可以删除或标记为已使用。可以理解,如果不具有预定使用顺序排列在所匹配的密码之前的密码,则智能锁可以仅对所述解锁密码进行相应处理。其中,保留预定使用顺序排列在最后的密码有效,可以保证在智能锁和服务器之间通信持续失败使得服务器和/或智能锁中的密码无法及时更新的情况下,用户仍然可以获得有效的解锁密码来进行解锁。
图5示出了根据本发明一实施例的用于服务器的密码更新方法的流程图。如图5所示,本发明实施例还提供一种用于服务器的密码更新方法,所述密码为用于智能锁的密码,所述智能锁可以是自行车锁、电动车锁、电助力自行车锁、汽车锁、租赁柜锁或者智能家居锁等中的任意一种,所述方法可以包括以下步骤:
步骤S510,接收智能锁发送的密码更新请求。
响应于车辆锁止,智能锁可以生成包括车辆标识的密码更新请求,并将该密码更新请求发送至服务器。
步骤S520,根据所述密码更新请求生成新的密码组。
服务器接收到密码更新请求之后,可以生成新的密码组,该新的密码组中密码可以不同于当前存储的所述智能锁的密码。
步骤S530,向所述智能锁发送所述新的密码组。
步骤S540,判断在第二预设时间内是否接收到所述智能锁发送的确认收到所述新的密码组的应答信息。
智能锁在接收到服务器发送的新的密码组的情况下,会向服务器发送确认收到所述新的密码组的应答信息。如果服务器和智能锁之间通信失败,会使得所述新的密码组未能成功发送至智能锁和/或服务器未能成功接收到所述应答信息。因此可以根据步骤S540的判断结果来确认服务器和智能锁之间是否通信成功。
其中,所述第二预设时间可以根据实际情况而设置为任意合适的值。
步骤S550,如果在所述第二预设时间内接收到所述应答信息,则将所述智能锁的密码更新为所述新的密码组。
如果第二预定时间内接收到所述应答信息,则服务器可以确认智能锁已经存储了所述新的密码组,这种情况下,服务器可以将该智能锁的当前密码组更新为所述新的密码组,从而使得服务器中存储的所述智能锁的密码与所述智能锁中存储的密码具有一致性。
进一步地,如果在第二预设时间内服务器未接收到所述应答信息,说明服务器和智能锁之间通信失败,服务器无法确认智能锁是否已经存储了所述新的密码组。但是由于智能锁被设置为每次更新密码组时对解锁密码所在密码组不进行更新,也就是说,在未接收到所述应答信息的情况下,服务器仅能确认智能锁中具有当前存储的所述智能锁的密码,为确保与智能锁中存储的密码的一致性,服务器可以不更新当前密码组。
通过上述实施例,在第二预定时间内未接收到所述应答信息的情况下,服务器不对当前密码组进行更新。仅在接收到所述应答信息,即确认智能锁已经存储了所述新的密码组的情况下,将当前存储的所述智能锁的密码更新为新的密码组,从而保证了即使在服务器和智能锁通信失败期间,用户从服务器获取到的密码仍然能够正常解锁车辆。
在执行步骤S510之前,本发明实施例提供的用于服务器的密码更新方法还可以包括对发送至客户端的解锁密码进行处理。可以理解,该处理过程发生在向客户端发送解锁密码之后。
图6示出了服务器对发送至客户端的解锁密码进行处理的流程图。如图6所示,可以通过以下步骤来对发送至客户端的解锁密码进行处理:
步骤S602,判断发送至客户端的解锁密码是否是所述智能锁的密码中的唯一一个有效密码。
用户可以通过智能终端的客户端对车辆的二维码进行扫描,以使客户端获取车辆的标识,或者可以在客户端手动输入车辆的标识,客户端可以将包括车辆的标识的密码获取请求发送至服务器,服务器接收来自客户端的包括车辆的标识的密码获取请求。服务器在接收到客户端发送的密码获取请求后,根据密码获取请求中的车辆的标识确定与所述车辆相对应的智能锁的密码,并将智能锁的密码中预定使用顺序排列在最前的密码作为解锁密码发送至客户端。在每次发送至客户端之后,可以判断发送至客户端的密码是否是智能锁的密码中的唯一一个密码。
步骤S604,如果所述解锁密码不是所述智能锁的密码中的唯一一个有效密码,则从所述智能锁的密码中将所述解锁密码删除或标记为已使用。
步骤S606,如果所述解锁密码是所述智能锁的密码中的唯一一个有效密码,则保留所述解锁密码为有效密码。
如果发送至客户端的解锁密码是智能锁的密码中的唯一一个有效密码,则可以依然保留该解锁密码为有效密码,以在服务器和智能锁之间通信失败使得服务器中存储的智能锁的密码不能及时更新的情况下,针对所述智能锁服务器中仍然保留有有效密码。
以密码组包括三个密码为例,假设服务器中存储的所述智能锁的密码为A、B、C三个密码,其预定使用顺序可以为A、B、C。则第一次接收到来自客户端的密码获取请求之后,将预定使用顺序排列在最前的密码A作为解锁密码发送至客户端,由于密码A不是所述智能锁的密码中唯一一个有效密码,因此服务器在将密码A发送至客户端之后可以将A删除或标记为已使用,于是服务器存储的所述智能锁的密码中的有效密码变为B、C。之后,如果服务器与智能锁通信失败使得服务器中存储的密码没有更新,或者用户在获取密码A之后没有使用,则服务器下一次接收到来自客户端的密码获取请求之后,会将所述智能锁的密码中预定使用顺序排列在最前的密码B作为解锁密码发送至客户端,由于密码B不是唯一一个有效密码,因此服务器在将密码B发送至客户端之后可以从所述当前密码组中将B删除或标记为已使用,于是服务器存储的所述智能锁的密码中的有效密码变为C。之后,如果由于服务器与智能锁之间依然通信失败而使得服务器中存储的密码没有及时更新,或者用户获取密码B之后没有使用,则服务器下一次接收到来自客户端的密码获取请求之后,会将服务器将当前密码组中预定使用顺序排列在最前的密码C作为解锁密码发送至客户端,由于密码C是所述智能锁的密码中唯一一个有效密码,因此服务器在将密码C发送至客户端之后,将保留密码C为有效密码。从而使得如果服务器和智能锁之间依然通信失败而使得服务器中存储的密码没有及时更新,或者用户获取密码C之后仍然没有使用,则再次接收到密码获取请求之后,用户仍然可以获得到有效的开锁密码。通过上述实施例,在智能锁和服务器之间持续通信失败和/或用户获取密码不用的情况下,之后的用户仍然可以获得有效的解锁密码来进行解锁。
可以理解,上述密码组中的密码为A、B、C三个密码的示例仅用于说明性的,而非限制性的,密码组中可以包括任意数量的多个密码。
图7示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图。如图7所示,在使用共享单车的场景下,客户端30与服务器20之间通过网络40进行连接,智能锁10与服务器20间通过网络40进行连接。上述的网络40可以包括蜂窝网络、无线局域网络WiFi等任何形式的网络,本发明对此没有特别限制。
下面以智能锁为共享单车的智能锁、密码组中包括3个密码为例对本发明实施例进行举例而非限制性说明。在初始状态下,智能锁和服务器对应的存储一个相同的密码组并且密码组中的密码具有对应的相同的预定使用顺序,该密码组中的密码为A、B、C,且预定使用顺序为A、B、C。智能锁被设置为至多能够存储2个密码组,服务器针对一个车辆仅存储一个密码组。服务器被设置为按照密码组中的预定使用顺序向客户端发送密码。
图8A示出了根据本发明一实施例的智能锁、服务器和客户端的交互示意图,其示出的是在智能锁和服务器之间通信成功的情况下的示意流程图。
在步骤S802,客户端30获取车辆的标识并向服务器20发送包括车辆的标识的密码获取请求。
在步骤S804,服务器20接收来自客户端30的密码获取请求。
在步骤S806,服务器20根据车辆的标识确定与所述车辆相对应的智能锁10的解锁密码,其包括密码A、B、C。
在步骤S808,服务器20将当前密码组中预定使用顺序排列在最前的有效密码A作为解锁密码发送至客户端30。由于密码A不是当前密码组中的唯一一个有效密码,在步骤S810,服务器将密码A删除或标记为已使用,智能锁10的解锁密码为B、C。客户端30接收到解锁密码A后,显示该解锁密码A,用户在智能锁10中输入该解锁密码。
在步骤S812,智能锁10接收用户输入的解锁密码A。
在步骤S814,智能锁10判断所述解锁密码A与密码组中的密码A、B、C是否相匹配。如果不匹配,在步骤S816,智能锁10发出提醒。如果匹配,在步骤S818,控制智能锁10解锁。
执行步骤S818后,由于密码A并不是智能锁10的解锁密码中使用顺序排列在最后的一个密码,智能锁10还可以执行步骤S820,将密码A从智能锁10的解锁密码中删除或标记为已使用,当前智能锁10的解锁密码为B、C。
在一些情况下,用户可能通过客户端从服务器获取到密码A之后而没有使用,由于服务器将密码A发送至客户端30之后,已将密码A删除或标记为已使用,则服务器中存储的所述智能锁10的密码为B、C。用户通过客户端30下一次从服务器获取到的密码将是B,服务器将密码B发送至客户端30之后会将密码B删除或标记为已使用,则服务器中存储的智能锁10的解锁密码为C。用户使用密码B进行解锁时,智能锁10执行上述类似步骤S812-S818的过程,由于密码B并不是当前密码组中使用顺序排列在最后的一个密码,则智能锁10将密码B以及排列顺序在密码B之前的密码A删除或标记为已使用,智能锁10存储的当前密码组中密码为C,与服务器中的密码保持一致。
如果用户获取到密码B依然没有使用,则用户通过客户端30下一次从服务器获取到的密码是C,由于密码C是智能锁10的解锁密码中的唯一一个有效密码,服务器保留C为有效密码。用户使用密码C进行解锁时,智能锁10执行上述类似步骤S812-S818的过程,但是由于C是当前密码组中使用顺序排列在最后的一个密码,因此,智能锁10保留C为有效密码,与服务器中的密码保持一致。这可以使得,即使用户多次获取密码而不用,之后仍然能够从服务器获取到有效的解锁密码。
在步骤S822,在确定车辆锁止后,智能锁10可以向服务器20发送密码更新请求。
在步骤S824,服务器20接收密码更新请求。
在步骤S826,服务器生成新的密码组。
在步骤S828,服务器20可以向智能锁10发送所述新的密码组,例如该新的密码组包括密码A1、B1、C1,其中A1、B1、C1不同于A、B、C。
在步骤S830,智能锁10接收该新的密码组。由于智能锁中当前存储的密码组的数量为1,未达到预定数量,因此,在步骤S832,智能锁10可以直接存储该新的密码组。此时,智能锁10中存储有两个密码组,存储的密码为B、C、A1、B1、C1。
在步骤S834,智能锁10向服务器20发送确认收到新的密码组的应答信息,在发送所述应答信息之后,智能锁10可以进入休眠状态。
在步骤S836,服务器响应于所述应答信息,将智能锁10的解锁密码更新为新的密码组,其密码为A1、B1、C1。
之后,用户通过客户端从服务器获取到A1、B1、C1中的任意一个密码都可以正常解锁智能锁。举例而言,如果用户通过客户端获取到的密码为A1,智能锁在使用密码A1解锁之后,服务器可以将密码A1删除或标记为已使用,于是服务器中存储的密码为B1、C1,智能锁中存储的密码为B、C、B1、C1,之后用户从服务器获取到B1、C1中的任意一个密码都可以正常解锁智能锁。
从图8A所示的示例中,可以看出,正常通信情况下,服务器与智能锁之间要完成三次交互,分别是:智能锁向服务器发送密码更新请求、服务器向智能锁发送新的密码组、智能锁向服务器发送确认收到新的密码组的应答信息。如果智能锁发出密码更新请求后的第一预设时间内,未收到服务器发送的新的密码组,则可以确认智能锁向服务器发送密码更新请求失败或者服务器向智能锁发送新的密码组失败。如果服务器向智能锁发送新的密码组后的第二预设时间内,未收到智能锁发送的确认收到新的密码组的应答信息,则可以确定服务器向智能锁发送新的密码组失败或者智能锁向服务器发送确认收到新的密码组的应答信息失败。下面将结合图8B至图8D描述在其中任意一次交互失败的情况下,本发明实施例提供的车辆的解锁方法如何保证用户能够获取到有效的解锁密码。
如图8B所示,在步骤822中,如果智能锁10向服务器20发送密码更新请求失败,则服务器20不会生成新的密码组,服务器中当前存储的智能锁10的解锁密码为B、C;智能锁10也不会接收到新的密码组,在执行步骤S820之后,智能锁10的密码组中的密码保持B、C不变,则用户从服务器获取到密码B或密码C之后,仍然可以用于解锁。
如图8C所示,如果在步骤822中,智能锁10向服务器20发送密码更新请求成功,而在步骤828中,服务器20向智能锁10发送新的密码组失败,则智能锁10不会接收到新的密码组,在执行步骤S820之后,智能锁10的密码组中的密码保持B、C不变;而服务器20也不会从智能锁10接收到确认收到新的密码组的应答信息,服务器中存储的智能锁10的解锁密码保持B、C不变,则用户从服务器获取到密码B或密码C之后,仍然可以用于解锁。
如图8D所示,如果在步骤822中,智能锁10向服务器20发送密码更新请求成功,且在步骤828中,服务器20向智能锁10发送新的密码组成功,而在步骤834中,智能锁10向服务器20发送确认收到新的密码组的应答信息失败,则智能锁在执行步骤S832之后,智能锁10中存储有两个密码组,存储的密码为B、C、A1、B1、C1;而服务器20由于未接收到所述应答信息,所以将生成的新的密码组A1、B1、C1废弃,不对当前密码组进行更新,服务器中存储的智能锁10的解锁密码保持B、C不变,则用户从服务器获取到密码B或密码C之后,仍然可以用于解锁。
基于图8D所示的实施例,智能锁10中存储有两个密码组,存储的密码为B、C、A1、B1、C1。服务器20中存储的智能锁10的解锁密码为B、C。如果用户通过客户端从服务器获取到密码B之后,服务器20将密码B删除或标记为已使用,于是服务器20中存储的智能锁10的解锁密码为C。用户使用密码B进行解锁,在解锁之后,智能锁10将存储的密码B删除或标记为已使用,并向服务器20发送密码更新请求成功。服务器20基于所述密码更新请求生成新的密码组,该新的密码组的密码为A2、B2、C2。之后,服务器20将该新的密码组成功发送至智能锁10。智能锁10接收到新的密码组之后,由于当前存储的密码组的数量已达到预定数量2,则将密码B所在密码组之外另一密码组A1、B1、C1更新为新的密码组A2、B2、C2,此时,智能锁10中仍然存储有两个密码组,存储的密码为C、A2、B2、C2。之后,若智能锁10向服务器发送确认收到新的密码组的应答信息失败,服务器20不会更新存储的智能锁10的解锁密码,仍然保留密码C为有效密码。则用户从服务器获取到密码C之后,仍然可以用于解锁。
由图8A至图8D所示的示意实施例可知,本发明提供的车辆的解锁方法,在智能锁和服务器之间通信成功的情况下,能够保证智能锁和服务器存储的密码一致,在智能锁和服务器之间通信失败的情况下,仍然能够保证智能锁和服务器存储的密码一致,并且兼顾了用户获取密码而不用的情况,使得用户在任意情况下均能够获得有效的密码进行解锁。
图9示出了根据本发明一实施例的智能锁的结构框图。如图9所示,本发明实施例还提供一种智能锁900,智能锁900可以为自行车锁、电动车锁、电助力自行车锁、租赁柜锁或者智能家居锁等中的任意一种。智能锁900可以包括存储器910和处理器920,所述存储器910中存储有指令,所述指令使得所述处理器920能够执行根据本发明实施例的用于智能锁的密码更新方法。
本发明实施例提供的智能锁920的具体工作原理及益处与前述方法相对应,具体实施方式可参见前述方法中的详细描述,在此不再赘述。
图10示出了根据本发明一实施例的服务器的结构框图。如图9所示,本发明实施例还提供一种服务器1000,该服务器1000可以包括存储器1010和处理器1020,所述存储器1010中存储有指令,所述指令使得所述处理器1020能够执行根据本发明实施例的用于服务器的密码更新方法。
发明实施例提供的服务器1000的具体工作原理及益处与前述方法相对应,具体实施方式可参见前述方法中的详细描述,在此不再赘述。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

Claims (10)

1.一种密码更新方法,其特征在于,用于智能锁,所述方法包括:
响应于所述智能锁锁止,向服务器发送密码更新请求;
判断在第一预设时间内是否接收到所述服务器发送的新的密码组;
如果在所述第一预设时间内接收到所述新的密码组,则执行以下步骤:根据所述新的密码组更新已存储的密码组;以及向所述服务器发送确认收到所述新的密码组的应答信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果在所述第一预设时间内未接收到所述新的密码组,则不更新已存储的密码组。
3.根据权利要求1所述的方法,其特征在于,所述根据所述新的密码组更新存储的密码组包括:
判断已存储的密码组的数量是否达到预定数量;
如果已存储的密码组的数量未达到所述预定数量,则存储所述新的密码组;以及
如果所述智能锁已存储的密码组的数量已达到所述预定数量,则将所述已存储的密码组中除所使用的解锁密码所在密码组之外的其它密码组之一更新为所述新的密码组。
4.根据权利要求3所述的方法,其特征在于,所述预定数量为2。
5.根据权利要求1所述的方法,其特征在于,在响应于所述智能锁锁止,向服务器发送密码更新请求之前,所述方法还包括:
判断所使用的解锁密码是否是所述解锁密码所在密码组中预定使用顺序排列在最后的密码;
如果所述解锁密码不是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则从所述解锁密码所在密码组中将所述解锁密码和预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用;以及
如果所述解锁密码是所述解锁密码所在密码组中预定使用顺序排列在最后的密码,则保留所述解锁密码,并从所述解锁密码所在密码组中将预定使用顺序排列在所述解锁密码之前的密码删除或标记为已使用。
6.一种密码更新方法,其特征在于,用于服务器,所述方法包括:
接收智能锁发送的密码更新请求;
根据所述密码更新请求生成新的密码组;
向所述智能锁发送所述新的密码组;
判断在第二预设时间内是否接收到所述智能锁发送的确认收到所述新的密码组的应答信息;以及
如果在所述第二预设时间内接收到所述应答信息,则将所述智能锁的密码更新为所述新的密码组。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果在所述第二预设时间内未接收到所述应答信息,则不更新所述智能锁的密码。
8.根据权利要求6所述的方法,其特征在于,在接收智能锁发送的密码更新请求之前,所述方法还包括:
判断发送至客户端的解锁密码是否是所述智能锁的密码中的唯一一个有效密码;
如果所述解锁密码不是所述智能锁的密码中的唯一一个有效密码,则从所述智能锁的密码中将所述解锁密码删除或标记为已使用;以及
如果所述解锁密码是所述智能锁的密码中的唯一一个有效密码,则保留所述解锁密码为有效密码。
9.一种智能锁,其特征在于,所述智能锁包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行根据权利要求1至5中任意一项权利要求所述的密码更新方法。
10.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器中存储有指令,所述指令使得所述处理器能够执行根据权利要求6至8中任意一项权利要求所述的密码更新方法。
CN201810159879.2A 2018-02-26 2018-02-26 密码更新方法、智能锁及服务器 Pending CN108462703A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810159879.2A CN108462703A (zh) 2018-02-26 2018-02-26 密码更新方法、智能锁及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810159879.2A CN108462703A (zh) 2018-02-26 2018-02-26 密码更新方法、智能锁及服务器

Publications (1)

Publication Number Publication Date
CN108462703A true CN108462703A (zh) 2018-08-28

Family

ID=63217528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810159879.2A Pending CN108462703A (zh) 2018-02-26 2018-02-26 密码更新方法、智能锁及服务器

Country Status (1)

Country Link
CN (1) CN108462703A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658555A (zh) * 2018-11-21 2019-04-19 武汉易间房科技有限公司 基于蓝牙的开锁方法、设备及房屋交易看房模式
CN110300180A (zh) * 2019-07-03 2019-10-01 北京享易天下科技有限公司 一种共享设备的服务系统及服务方法
CN110610568A (zh) * 2019-09-11 2019-12-24 广东科徕尼智能科技有限公司 一种智能门锁系统
CN111080872A (zh) * 2019-12-18 2020-04-28 中山市榄通五金有限公司 一种无需联网的远程授权开锁系统及方法
CN111127706A (zh) * 2019-11-28 2020-05-08 深圳指芯物联技术有限公司 智能锁控制方法、智能锁、云服务器及计算设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658555A (zh) * 2018-11-21 2019-04-19 武汉易间房科技有限公司 基于蓝牙的开锁方法、设备及房屋交易看房模式
CN110300180A (zh) * 2019-07-03 2019-10-01 北京享易天下科技有限公司 一种共享设备的服务系统及服务方法
CN110610568A (zh) * 2019-09-11 2019-12-24 广东科徕尼智能科技有限公司 一种智能门锁系统
CN111127706A (zh) * 2019-11-28 2020-05-08 深圳指芯物联技术有限公司 智能锁控制方法、智能锁、云服务器及计算设备
CN111080872A (zh) * 2019-12-18 2020-04-28 中山市榄通五金有限公司 一种无需联网的远程授权开锁系统及方法

Similar Documents

Publication Publication Date Title
CN108462703A (zh) 密码更新方法、智能锁及服务器
CN108197913B (zh) 基于区块链的支付方法、系统以及计算机可读存储介质
CN104767715B (zh) 网络接入控制方法和设备
CN104917727B (zh) 一种帐户鉴权的方法、系统及装置
CN106652117A (zh) 动态密码能离线开锁的方法及系统、移动终端、服务器
CN109067881B (zh) 远程授权方法及其装置、设备和存储介质
CN104426659B (zh) 动态口令生成方法、认证方法及系统、相应设备
CN109474595B (zh) 一种电子设备绑定方法、电子设备、移动终端和服务器
CN105141628B (zh) 一种实现推送的方法及装置
CN106297059B (zh) 一种洗衣机的自助洗衣方法、装置及终端
CN104125485B (zh) 一种用户信息共享的方法、设备及系统
CN109300208A (zh) 开锁方法、开锁装置、锁系统、锁设备和存储介质
CN110176093A (zh) 基于蓝牙钥匙的车辆控制方法及系统
CN109649330B (zh) 车辆共享系统
CN107222375A (zh) 远程控制智能家居的方法、云服务器及可读存储介质
CN106127888B (zh) 智能锁操作方法和智能锁操作系统
CN110176091A (zh) 一种通过移动终端设备码提高智能锁安全性的方法
CN106060034A (zh) 账号登录方法和装置
CN110516470A (zh) 访问控制方法、装置、设备及存储介质
CN109586930A (zh) 与会用户添加方法、第一终端、第二终端及处理服务器
US9883402B2 (en) Method, terminal and server for processing information, and communication method and system
CN1885770B (zh) 一种认证方法
CN109714769A (zh) 信息绑定方法、装置、设备及存储介质
CN112954647B (zh) 车辆蓝牙钥匙注册方法、装置、计算机设备及存储介质
CN113824628A (zh) 基于im的用户身份验证方法、装置、服务器及其存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination