交通工具的解锁方法、装置以及存储介质与流程

文档序号:13805828阅读:210来源:国知局
交通工具的解锁方法、装置以及存储介质与流程

本发明涉及交通工具领域,具体地,涉及一种交通工具的解锁方法、装置以及存储介质。



背景技术:

当用户使用交通工具(例如,共享单车)时,需要对交通工具进行解锁操作。以共享单车为例,目前常见的车锁包括以下几种:

(1)机械固定密码锁:用户扫码后,手机通过后台查询到该车对应的密码,用户输入对应的密码,匹配成功后开锁。用车结束在手机上结束订单。这种开锁方式不受环境影响,但是密码固定,可控性差。

(2)电子密码锁:用户扫码后,手机通过后台查询到该车对应的密码,用户输入对应的密码,匹配成功后开锁。用车结束后电子锁向服务器上报订单信息,结束订单。这种开锁方式密码可变,受环境影响大,如果锁端与服务器之间的网络较差,不能和服务器及时同步密码就有可能造成密码长时间不变。此外,锁端和服务器之间的通信可能会有一定的时间延迟,从而导致密码改变有一定的延迟。

(3)电子远程锁:用户扫码后,手机通过后台向车锁发送开锁指令,锁端执行开锁。用车结束后电子锁向服务器上报订单信息,结束订单。这种方式也是受环境影响大,如果网络较差,就不能开锁。



技术实现要素:

本发明实施例的目的是提供一种交通工具的解锁方法、装置以及存储介质,用于解决或至少部分解决上述技术问题。

为了实现上述目的,本发明实施例提供一种交通工具的解锁方法,用于交通工具的智能锁,所述方法包括:接收用户输入的解锁密码;判断所述解锁密码与所存储的当前密码组中多个密码之一是否相匹配;以及在所述解锁密码与所述当前密码组中的多个密码之一相匹配的情况下,控制所述交通工具进行解锁。

相应地,本发明实施例提供一种交通工具的解锁方法,用于服务器,所述方法包括:从客户端接收包括交通工具的标识的密码获取请求;根据所述交通工具的标识确定与所述交通工具相对应的当前密码组;以及从所述当前密码组中选择一个密码以发送至所述客户端。

相应地,本发明实施例还提供一种交通工具的解锁装置,用于交通工具的智能锁,所述装置包括:接收模块,用于接收用户输入的解锁密码;判断模块,用于判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配,其中所述当前密码组包括多个密码;以及控制模块,用于在所述解锁密码与所述当前密码组中的多个密码之一相匹配的情况下,控制所述交通工具进行解锁。

相应地,本发明实施例还提供一种交通工具的解锁装置,用于服务器,所述装置包括:第一接收模块,用于从客户端接收包括交通工具的标识的密码获取请求;密码组确定模块,用于根据所述交通工具的标识确定与所述交通工具相对应的当前密码组;以及第一发送模块,用于从所述当前密码组中选择一个密码以发送至所述客户端。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的交通工具的解锁方法。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的交通工具的解锁方法。

通过上述技术方案,在智能锁中存储包括多个密码的密码组,对应地在服务器中针对该智能锁存储或生成有包括多个密码的密码组,服务器可以从与该智能锁对应的当前密码组中选择密码以发送至客户端,然后用户使用该密码进行解锁,如此可以避免单一密码造成的漏洞,并且在操作过程中不受智能锁与服务器之间网络故障或延迟的影响。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1示出了根据本发明实施例的交通工具的解锁方法的流程图;

图2示出了根据本发明另一实施例的交通工具的解锁方法的流程图;

图3示出了根据本发明又一实施例的交通工具的解锁方法的流程图;

图4示出了根据本发明一实施例的判断用户输入的解锁密码与当前密码组中的密码是否匹配的流程图;

图5示出了根据本发明实施例的交通工具的解锁方法的流程图;

图6示出了根据本发明另一实施例的交通工具的解锁方法的流程图;

图7示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图;

图8示出了根据本发明一实施例的交通工具的解锁装置;

图9示出了根据本发明另一实施例的交通工具的解锁装置;以及

图10示出了根据本发明一实施例的交通工具的解锁装置。

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

图1示出了根据本发明实施例的交通工具的解锁方法的流程图。如图1所示,本发明实施例提供一种交通工具的解锁方法,其可用于本领域所属技术人员认为合适的任何交通工具的智能锁中,例如共享单车、共享电车等的智能锁中,所述方法可以包括以下步骤:

步骤s110,接收用户输入的解锁密码;

以共享单车为例,用户可以通过终端的客户端对共享单车的二维码进行扫描,如此来获得共享单车的标识,或者可以手动输入共享单车的标识,客户端可以将包括共享单车的标识的密码获取请求发送至服务器。服务器接收到密码获取请求后,可以根据共享单车的标识从对应的密码组中选择密码,并向客户端发送所选择的密码,客户端接收并显示该解锁密码。用户在智能锁上输入所显示的解锁密码,智能锁接收用户输入的解锁密码。

步骤s120,判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配。

在智能锁中可以存储有密码组,密码组中可以包括多个密码,例如可以包括3个密码。在接收到用户输入的解锁密码后,判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配,例如,可以将该解锁密码与密码组中的密码逐个进行比较以确定是否匹配,或者可选地,可以将该解锁密码与密码组中的特定密码进行比较以确定是否匹配。

步骤s130,在所述解锁密码与所述当前密码组中的多个密码之一相匹配的情况下,控制所述交通工具进行解锁。

如果解锁密码与当前密码组中的多个密码之一相匹配,则说明用户所输入的解锁密码是正确的,这种情况下,可以控制交通工具进行解锁,例如,智能锁可以发出解锁控制信号来进行解锁。

可选地,如果解锁密码与当前密码组中的多个密码之一不相匹配,则说明用户输入的解锁密码不正确,这种情况下,智能锁可以发出提醒,例如可以发出声音提醒以提示用户密码错误。

在智能锁中存储包括多个密码的密码组,相当于在智能锁中预留了备用密码,如此可以避免单一密码造成的漏洞,并且在操作过程中不受智能锁与服务器之间网络故障或延迟的影响。

图2示出了根据本发明另一实施例的交通工具的解锁方法的流程图。如图2所示,基于上述实施例,在接收到用户输入的解锁密码(步骤s110)之后,可以判断所述解锁密码与当前密码组中的第一密码是否相匹配(步骤s202),在所述解锁密码与当前密码组中的第一密码相匹配的情况下,可以控制交通工具进行解锁(步骤是s130),其中,所述第一密码为根据预设规则在所述密码组中预先选定的密码。

具体地,智能锁在出厂时可以内置有一个密码组,该密码组包括多个密码,服务器中可以存储有相同的密码组。在正常运行过程中,服务器接收到来自客户端的密码获取请求后,将对应的密码组中的第一密码发送至客户端。用户在智能锁上输入该密码,智能锁将用户输入的开锁密码与所存储的当前密码组中的第一密码进行匹配,匹配成功后,进行解锁以使用户进行骑行。

进一步地,在确定所述交通工具锁止后,可以生成包括交通工具的标识的密码更新请求,并向服务器发送该密码更新请求。服务器根据该密码更新请求生成新的密码组,智能锁接收该新的密码组,将所存储的当前密码组更新为该新的密码组,当下一个用户使用客户端扫码并向服务器发送密码获取请求之后,服务器将新的密码组中的第一密码发送至客户端,用户在智能锁上输入该密码,智能锁将用户输入的开锁密码与所存储的当前密码组中的第一密码进行匹配,匹配成功后,进行解锁以使用户进行骑行。

在智能锁与服务器之间通信无故障时,智能锁中存储的密码可以及时得到更新。客户端、服务器和智能锁之间可以重复上述过程。可以理解,该实施例中的第一密码仅用于说明,并不用于限制,第一密码可以是服务器和智能锁之间根据预设规则在密码组中选定的任意一个密码。例如,密码组中的多个密码可以是顺序存储的,所述第一密码可以是该顺序存储的密码组中的任意一个密码,例如可以是密码组中的第一个密码或者可以是密码组中的最后一个密码,或者是密码组中的其它任何一个密码。或者可选地,所述第一密码也可以是密码组中具有特定标识的一个密码。

图3示出了根据本发明又一实施例的交通工具的解锁方法的流程图。如图3所示,基于上述实施例,在接收到用户输入的解锁密码(步骤s110)之后,可以判断所述解锁密码与当前密码组中的第一密码是否相匹配(步骤s202),在所述解锁密码与当前密码组中的第一密码相匹配的情况下,可以控制交通工具进行解锁(步骤是s130)。在所述解锁密码与当前密码组中的第一密码不匹配的情况下,判断所述解锁密码与所述当前密码组中除所述第一密码之外的其它密码是否相匹配(步骤s204),如果所述解锁密码与所述当前密码组中的其它密码相匹配,则可以控制交通工具进行解锁(步骤是s130)。

具体地,在一些情况下,用户从服务器获取到开锁密码后可能不用,而服务器可以根据是否接收到密码更新请求来确定向客户端发送的开锁密码,那么在用户获取到开锁而不用的情况下,如果接收到另一密码获取请求,服务器可以将对应的密码组中的其它密码发送至客户端,然后用户根据所接收的密码来进行开锁。

举例而言,第一个用户通过客户端向服务器发送密码获取请求,服务器根据密码获取请求将对应的密码组中的第一密码发送至客户端,而该第一个用户获取了该密码后并没有使用。之后,第二个用户通过客户端向服务器发送密码获取请求,服务器发送第一密码后没有收到密码更新请求,对应的密码组没有被更新,则服务器将密码组中的第二密码发送至客户端,第二个用户可以使用该密码进行开锁,类似地,如果第二个用户获取到密码后也没有使用,则针对第三个用户,服务器可以将对应的密码组中的第三密码发送至客户端。

因此,智能锁在接收到用户输入的开锁密码之后,可以首先将该开锁密码与所存储的当前密码组中的第一密码进行比较,如果不匹配,则将该开锁密码与当前密码组中的其它密码进行比较,如果匹配则开锁。可选地,在该开锁密码与当前密码组中的所有密码均不匹配的情况下,智能锁可以发出提醒。

可选地,智能锁可以按照顺序判断开锁密码与所存储的当前密码组中的其它密码是否匹配,例如,判断所述开锁密码与当前密码锁中的第二密码是否匹配,如果匹配,则智能锁打开,并使得当前密码组中的第一密码和第二密码失效。类似地,如果所述开锁密码与当前密码锁中的第二密码不匹配,则判断判断所述开锁密码与当前密码锁中的第三密码是否匹配,如果匹配,则智能锁打开,并使得当前密码组中的第一密码、第二密码和第三密码失效,依次类推,来完成开锁。

上述实施例中,针对同一智能锁,客户端每次从服务器获取的开锁密码不同,智能锁根据密码组中的密码来判断该开锁密码是否正确,并执行开锁功能,这种方式可以提高密码的短时有效性,进而防止用户获取密码而不用所引起的下一用户不能使用共享单车。

在每一次确定交通工具锁止后,智能锁可以生成包括交通工具的标识的密码更新请求,并向服务器发送密码更新请求。服务器根据该密码更新请求生成新的密码组,智能锁接收该新的密码组,然后将当前密码组更新为所述新的密码组。

可选地,智能锁在接收到新的密码组预定时间之后,再将所述当前密码组更新为新的密码组。在接收到新的密码组预定时间之后,再将当前密码组更新为新的密码组,可以使得先前存储的密码组中的密码保留预定时间的有效期。

例如,如果智能锁未成功接收到新的密码组之前,服务器接收到了来自客户端的密码获取请求,则服务器可以将对应的先前密码组中的密码,例如第二密码,发送至客户端。用户向智能锁输入该第二密码。而在服务器与客户端通信期间,智能锁可能成功收到了新的密码组。这时,如果智能锁立即将当前密码组更新为新的密码组,就会引起客户端获取的所述先前密码组中的第二密码不能使用,需要重新从服务器获取密码。因此,智能锁在预定时间之后,再更新密码组,可以确保客户端所获取的第二密码仍然可以使用,例如,智能锁在接收到用户输入的第二密码之后,可以将用户输入的密码与当前两个密码组中的所有密码进行比较,以确定用户输入的密码是否正确。

可选地,所述预定时间可以是3分钟,但是本发明实施例并不限制于此,所述预定时间可以是根据实际需要设置的任意值。

通过上述方式可以提高智能锁的开锁率,并有效节约用户时间。

智能锁在接收到服务器发送的新的密码组之前,可能会一次或多次接收到用户输入的开锁密码。引起这种情况的发生的原因可能是智能锁发送的密码更新请求未成功发送至服务器,或者是因为服务器发送的新的密码组未被智能锁成功接收,也就是说,服务器与智能锁之间的通信存在故障或者延迟。这种情况下,智能锁可以按照预先设定的方式来验证用户输入的开锁密码是否正确。

图4示出了根据本发明一实施例的判断用户输入的解锁密码与当前密码组中的多个密码之一是否匹配的流程图。下面将结合图4具体介绍一实施例中,在接收到所述新的密码组之前,如何判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配比较。

如图4所示,在接收到用户输入的解锁密码(步骤s402)之后,首先判断接收到用户输入解锁码的次数i是否满足1≤i≤n(步骤s404),其中n为整数且表示所述当前密码组中所包括的密码的个数。如果满足,则判断第i次接收到的解锁密码与所述当前密码组中的第i个密码是否相匹配(步骤s406),如果匹配,则控制交通工具进行解锁(步骤s410)。如果接收到用户输入解锁码的次数i不满足1≤i≤n,即,i满足i>n,则判断第i次接收到的解锁密码与所述当前密码组中的第n个密码是否相匹配(步骤s408),如果匹配,则控制交通工具进行解锁(步骤s410)。

智能锁中的密码组可以包括n个密码,这n个密码可以被顺序的存储,以方便被顺序的读取。服务器中对应地存储相同的密码组,服务器与智能锁之间的通信存在故障或者延迟的情况下,服务器接收到密码获取请求之后,可以按照存储地顺序依次向客户端发送密码,例如,第一次接收到密码获取请求之后,向对应地客户端发送密码组中的第一个密码,第二次接收到密码获取请求之后,向对应地客户端发送密码组中的第二个密码,……第n次接收到密码获取请求之后,向对应地客户端发送密码组中的第n个密码,接收到密码获取请求的次数超过n之后,向对应地客户端发送密码组中的第n个密码。如此,对应地,在智能锁接收到新的密码组之前,可以按照步骤s402至步骤s410来进行开锁。

可选地,除所述第n个密码之外,其余密码在被使用之后,智能锁可以使之失效,如此,可以保持第n个密码永远有效。

通过上述实施例,在智能锁的通讯功能故障或者智能锁与服务器之间出现网络延迟的情况下,虽然智能锁不能成功从服务器获得新的密码组,但是服务器和智能锁可以按照预定的规则运行,进而可以保证在智能锁与服务器之间的通信存在故障或者延迟的情况下,智能锁仍然可以正常工作。

在一实施例中,交通工具的解锁方法还可以包括:在所述当前密码组中的第i个密码被用于成功解锁之后,将所述第i个密码标识为无效密码;以及在所述当前密码组中的第n个密码被用于成功解锁之后,保持所述第n个密码为有效密码,其中i为整数且1≤i<n,n为整数且表示所述当前密码组中所包括的密码的个数。

具体地,智能锁中的密码组可以包括n个密码,这n个密码可以被顺序的存储。除第n个密码之外,密码组中的其余密码在被用于成功解锁之后,智能锁可以将对应的密码标识为无效密码。例如,智能锁按照本发明实施例提供的任意判断方式判断出用户输入的解锁密码与密码组中的第i个密码相匹配的情况下,可以控制交通工具解锁,同时可以将该第i个密码标识为无效密码,这里i为整数且1≤i<n。智能锁按照本发明实施例提供的任意判断方式判断出用户输入的解锁密码与密码组中的第n个密码相匹配的情况下,可以控制交通工具解锁,但同时保持该第n个密码为有效密码,以使得任意情况下,智能锁中均保留有至少一个有效密码来用于解锁。

进一步地,智能锁在接收到服务器发送的新的密码组之前,如果接收到用户输入的解锁密码,则可以判断该解锁密码是否与当前密码组中的第一有效密码相匹配,其中第一有效密码可以为顺序存储地所述n个密码中的第一个有效密码。

以n=3为例,3个密码顺序地存储在密码组中,初始时,这3个密码均为有效密码。在接收到新的密码组之前,第一次接收到用户输入的解锁密码之后,首先将该解锁密码与当前密码组中的第一个密码相匹配,因为该第一个密码为当前密码组中的第一有效密码。

如果用户输入的解锁密码与第一个密码不相匹配,表明用户输入密码错误,则智能锁可以发出提示,如声音提示等,并且保留所述第一个密码为有效密码。在下一次接收到用户输入的解锁密码之后,仍然判断用户输入的解锁密码与第一个密码是否相匹配。

如果用户输入的解锁密码与第一个密码相匹配,则控制交通工具解锁,第一个密码已被用于成功解锁,则智能锁将第一个密码标识为无效密码,这种情况下,当前密码组中的第二个密码变为当前密码组中的第一有效密码,在下一次接收到用户输入的解锁密码之后,判断用户输入的解锁密码与第二个密码是否相匹配。

依次类推,在第二个密码被成功使用之后,第二个密码被标识为无效密码。当前密码组中的第一有效密码变为第三个密码。这种情况下,如果接收到用户输入的解锁密码,则判断用户输入的解锁密码与第三个密码是否相匹配。如果不相匹配,如果用户输入的解锁密码与第一个密码不相匹配,表明用户输入密码错误,则智能锁可以发出提示,如声音提示等。如果相匹配,则控制交通工具解锁。无论用户输入的解锁密码是否与第三个密码相匹配,该第三个密码永远被保持为有效密码。

可以理解,上述n=3的示例仅用于说明性的,而非限制性的。在接收到新的密码组之前,将用户输入的解锁密码与当前密码组中的第一有效密码进行匹配,可以有效避免因服务器与智能锁之间通讯故障而引起的单一密码的漏洞。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得智能锁执行上述的交通工具的解锁方法。

图5示出了根据本发明实施例的交通工具的解锁方法的流程图。如图5所示,本发明实施例还提供一种交通工具的解锁方法,其用于服务器,例如,共享单车对应的服务器,所述交通工具可以是共享单车、共享电车等,所述方法可以包括以下步骤:

步骤s510,从客户端接收包括交通工具的标识的密码获取请求。

用户可以通过终端中的客户端对交通工具的二维码进行扫描,以使客户端获取交通工具的标识,或者可以手动输入交通工具的标识,客户端可以将包括交通工具的标识的密码获取请求发送至服务器,服务器接受来自客户端的包括交通工具的标识的密码获取请求。

步骤s520,根据所述交通工具的标识确定与所述交通工具相对应的当前密码组。

服务器中可以存储或生成有多个密码组,在接收到密码获取请求后,根据密码获取请求中的交通工具的标识从所存储的多个密码组中确定出与所述交通工具相对应的当前密码组。

步骤s530,从所述当前密码组中选择一个密码以发送至所述客户端。

服务器在确定出所述当前密码组之后,从该密码组中选择出相应的密码,例如,从当前密码组中选择特定密码,或者按照预定规则来选择一个密码,然后将所选择的密码发送至客户端,客户端显示该密码。然后用户将该密码输入至智能锁以进行开锁。

通过上述实施例,在服务器中针对智能锁存储或生成有包括多个密码的密码组,服务器可以从与智能锁对应的当前密码组中选择一个密码以发送至客户端,然后用户使用该密码进行解锁,如此可以避免单一密码造成的漏洞。

进一步地,所述方法还可以包括:接收智能锁发送的包括所述交通工具的标识的密码更新请求,智能锁确定锁止后,可以向服务器发送密码更新请求;服务器可以根据该密码更新请求生成新的密码组;然后可以根据交通工具的标识向对应的交通工具的智能锁发送所述新的密码组。

服务器可以在所述新的密码组被成功发送至智能锁之后,将所述当前密码组更新为所述新的密码组。可选地,服务器可以根据智能锁的反馈来判断所述新的密码组是否被成功发送至所述智能锁。

在智能锁与服务器之间出现网络故障或延迟的情况下,服务器可能在没有接收到智能锁发送的密码更新请求之前,一次或多次接收到来自客户端的密码获取请求。或者在服务器生成的新的密码组未成功发送至智能锁之前,一次或多次接收到来自客户端的密码获取请求。这种情况下,服务器可以按照预定规则从当前密码组中选择一个密码,并将所选择的密码发送至客户端。

图6示出了根据本发明实施例的交通工具的解锁方法的流程图。如图6所示,基于上述实施例,服务器在未接收到密码更新请求之前,或者在新的密码组未成功发送至智能锁之前,服务器从客户端接收到密码获取请求(步骤s510)之后,根据密码获取请求中的交通工具的标识确定与交通工具相对应的当前密码组(步骤s520)。然后判断接收到来自客户端的密码获取请求的次数i是否满足1≤i≤n(步骤s602),其中n为整数且表示所述当前密码组中所包括的密码的个数。如果满足,则将所述当前密码组中的第i个密码发送至所述客户端(步骤s604)。如果接收到来自客户端的密码获取请求的次数i不满足1≤i≤n,即i满足i>n,将所述当前密码组中的第n个密码发送至所述客户端。客户端显示所接收的密码,用户根据客户端所显示的密码进行开锁。

服务器中的密码组可以包括n个密码,这n个密码可以被顺序的存储,以方便被顺序的读取。在服务器与智能锁之间的通信存在故障或者延迟的情况下,服务器接收到密码获取请求之后,可以按照存储地顺序依次向客户端发送密码,例如,第一次接收到密码获取请求之后,向对应地客户端发送密码组中的第一个密码,第二次接收到密码获取请求之后,向对应地客户端发送密码组中的第二个密码,……第n次接收到密码获取请求之后,向对应地客户端发送密码组中的第n个密码,接收到密码获取请求的次数超过n之后,向对应地客户端发送密码组中的第n个密码。

通过上述实施例,在智能锁的通讯功能故障或者智能锁与服务器之间出现网络延迟的情况下,服务器可以按照预定的规则运行,进而可以保证智能锁能够正常工作。

在一实施例中,交通工具的解锁方法还可以包括:在确定所述当前密码组中的第i个密码被用于成功解锁之后,将所述第i个密码标识为无效密码;以及在所述当前密码组中的第n个密码被用于成功解锁之后,保持所述第n个密码为有效密码,其中i为整数且1≤i<n,n为整数且表示所述当前密码组中所包括的密码的个数。

例如,n个密码可以被顺序存储。在服务器向客户端发出所述第i个密码之后,可以通过判断是否从客户端接收到对应的交通工具的订单信息来判断所述第i个密码是否用于成功解锁。如果未接收到所述订单信息,则说明第i个密码被成功用于解锁,则保持该第i个密码为有效密码。如果接收到所述订单信息,则说明第i个密码已被成功用于解锁,则将该第i个密码标识为无效密码。这里,i为整数且1≤i<n。如果服务器向客户端发出的密码为第n个密码,则之后无论是否接收到所述订单信息,即,无论该第n个密码是否被使用,均保持该第n个密码为有效密码。以使得任意情况下,服务器中针对所述交通工具均存储有至少一个有效密码来供用户使用。

进一步地,在未接收到智能锁发送的密码更新请求之前,或者在新的密码组未成功发送至智能锁的情况下,如果接收到来自客户端的密码获取请求,则服务器可以将所述当前密码组中的第一有效密码发送至客户端,其中第一有效密码可以为顺序存储地所述n个密码中的第一个有效密码。

以n=3为例,3个密码顺序地存储在密码组中,初始时,这3个密码均为有效密码。在未接收到智能锁发送的密码更新请求之前,或者在新的密码组未成功发送至智能锁的情况下,第一次接收到来自客户端的密码获取请求之后,首先将当前密码组中的第一个密码发送至客户端,因为该第一个密码为当前密码组中的第一有效密码。客户端可以显示所接收的所述第一个密码,用户向智能锁输入所述第一个密码,智能锁将用户输入的密码与所存储的当前密码组中的第一有效密码相匹配,匹配成功后,智能锁打开。可以理解,与服务器中的第一有效密码相对应,所述智能锁中第一有效密码为当前密码组中的第一个密码。在确定智能锁锁止后,客户端可以生成订单信息并发送至服务器。只有在用户使用所获取的密码进行开锁并且智能锁锁止之后,客户端才会生成所述订单信息。如果用户获取密码而不用,则服务器不会收到所述订单信息。

在发送所述第一个密码之后,如果一直未接收到来自的客户端的关于所述交通工具的订单信息,则说明所述第一个密码未被用于成功解锁,则保留所述第一密码为有效密码。在下一次接收到来自客户端的密码获取请求之后,仍然将所述第一个密码发送至客户端。

在发送所述第一个密码之后,如果接收到来自客户端的关于所述交通工具的订单信息,则说明所述第一个密码被用于成功解锁,则将所述第一密码标识为无效密码,当前密码组中的第二个密码变为当前密码组中的第一有效密码。在下一次接收到来自客户端的密码获取请求之后,将所述当前密码组中的第二个密码发送至客户端。客户端可以显示所接收的所述第二个密码,用户向智能锁输入所述第二个密码,智能锁将用户输入的密码与所存储的当前密码组中的第一有效密码相匹配,匹配成功后,智能锁打开。可以理解,与服务器中的第一有效密码相对应,所述智能锁中第一有效密码为当前密码组中的第二个密码。在确定智能锁锁止后,客户端可以生成订单信息并发送至服务器。

依次类推,在第二个密码被成功使用之后,第二个密码被标识为无效密码。当前密码组中的第一有效密码变为第三个密码。之后如果接收到来自客户端的密码获取请求,则将第三个密码发送至客户端,并且永远保持第三个密码为有效密码。

可以理解,上述n=3的示例仅用于说明性的,而非限制性的。在未接收到智能锁发送的密码更新请求之前,或者在新的密码组未成功发送至智能锁的情况下,如果接收到来自客户端的密码获取请求,则将第一有效密码发送至客户端,可以有效避免因服务器与智能锁之间通讯故障而引起的单一密码的漏洞。

相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得服务器执行上述的交通工具的解锁方法。

图7示出了根据本发明实施例的在使用共享单车的场景下的系统的结构图。如图7所示,在使用共享单车的场景下,客户端与服务器间通过网络进行连接,智能锁与服务器间通过网络进行连接。上述的网络可以包括蜂窝网络、无线局域网络wifi等任何形式的网络,本发明对此没有特别限制。

以交通工具为共享单车、每组密码组中包括3个密码为例对本发明实施例进行举例说明。

智能锁出厂时内置有第一密码组,服务器中针对该智能锁存储有相同的第一密码组。在正常工作过程中,客户端通过扫描二维码或用户输入来获取共享单车的标识,并生成包括该标识的密码获取请求,然后将该密码获取请求发送至服务器。服务器接收来自客户端的包括共享单车的标识的密码获取请求,并根据共享单车的标识确定对应的第一密码组,然后将第一密码组中的第一密码发送至客户端,客户端显示该第一密码。用户向智能锁输入该第一密码,智能锁接收到该第一密码后,将该第一密码与所存储的第一密码组中的第一密码进行匹配,匹配成功后,智能锁打开。

在确定智能锁锁止后,智能锁生成包括共享单车的标识的密码更新请求,并将该密码更新请求发送至服务器,服务器根据该密码更新请求为所述智能锁生成新的第二密码组,并将该第二密码组发送至对应的智能锁。智能锁存储该第二密码组,当下一个用户通过客户端向服务器发送密码获取请求时,服务器可以将第二密码组中的第一密码发送至客户端。客户端、服务器及智能锁重复执行上述过程。

在服务器与智能锁之间存在通信故障或延迟的情况下,在智能锁端生成的密码更新请求可能不能及时发送至服务器,或者在服务器端生成的新的密码组可能不能成功发送至服务器。

这种情况下,如果服务器未接收到密码更新请求,则服务器第一次接收到密码获取请求时,将第一密码组中的第一密码发送至客户端。用户向智能锁输入该第一密码,智能锁接收到该第一密码后,将该第一密码与所存储的第一密码组中的第一密码进行匹配,匹配成功后,智能锁打开,智能锁中的第一密码失效。在确定智能锁锁止后,智能锁生成包括共享单车的标识的密码更新请求,并将该密码更新请求发送至服务器。

如果服务器未接收到密码更新请求,则服务器第二次接收到密码获取请求时,将第一密码组中的第二密码发送至客户端。用户向智能锁输入该第二密码,智能锁接收到该第二密码后,将该第二密码与所存储的第一密码组中的第二密码进行匹配,匹配成功后,智能锁打开,智能锁中的第二密码失效。在确定智能锁锁止后,智能锁生成包括共享单车的标识的密码更新请求,并将该密码更新请求发送至服务器。

如果服务器未接收到密码更新请求,则服务器第三次接收到密码获取请求时,将第一密码组中的第三密码发送至客户端。用户向智能锁输入该第三密码,智能锁接收到该第三密码后,将该第二密码与所存储的第一密码组中的第三码进行匹配,匹配成功后,智能锁打开,在确定智能锁锁止后,智能锁生成包括共享单车的标识的密码更新请求,并将该密码更新请求发送至服务器。

如果服务器未接收到密码更新请求,则服务器第四次(次数大于密码组中的密码个数)接收到密码获取请求时,将第一密码组中的第四密码发送至客户端。用户向智能锁输入该第四密码,智能锁接收到该第四密码后,将该第二密码与所存储的第一密码组中的第四码进行匹配,匹配成功后,智能锁打开。依次类推,直至服务器接收到来自服务器的密码更新请求,在智能锁的密码组更新之前,第三密码是永远有效的。

相应地,上述过程也适用于服务器生成的新的密码组未成功发送至智能锁的场景。

在上述过程中,如果新的密码组成功发送至共享单车的智能锁,则服务器及智能锁使用该新的密码组并按照上述执行过程来运行,而不管该新的密码组对应于第几次密码更新请求。例如,如果上述第二次开锁后,如果智能锁已经收到并存储了服务器在第一次接收到密码更新请求后生成的第二密码组。则如果服务器第三次接收到密码获取请求后,将第二密码组中的第一密码发送至客户端,用户使用该第二密码组中的第一密码进行开锁。

可以理解,上述实施例中,密码组包括3个密码是示意性的而非限制性的。并且,上述的执行过程仅用于对本发明的技术方案进行说明,不用于限制本发明的技术方案。

图8示出了根据本发明一实施例的交通工具的解锁装置。如图8所示,本发明实施例还提供一种交通工具的解锁装置,其可用于本领域所属技术人员认为合适的任何交通工具的智能锁中,例如共享单车、共享电车等的智能锁中,所述装置可以包括:接收模块810,用于接收用户输入的解锁密码;判断模块820,用于判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配;以及控制模块830,用于在所述解锁密码与所述当前密码组中的多个密码之一相匹配的情况下,控制所述交通工具进行解锁。

可选地,判断模块820可以通过判断所述解锁密码与所述当前密码组中的第一密码是否相匹配来判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配,在所述解锁密码与所述当前密码组中的第一密码相匹配的情况下,控制模块830控制所述交通工具进行解锁,其中,所述第一密码为根据预设规则在所述密码组中预先选定的密码。

进一步地,在所述解锁密码与所述当前密码组中的第一密码不匹配的情况下,判断模块820判断所述解锁密码与所述当前密码组中除所述第一密码之外的其它密码是否相匹配,如果匹配,控制模块830控制所述交通工具进行解锁。

在智能锁中存储包括多个密码的密码组,相当于在智能锁中预留了备用密码,如此可以避免单一密码造成的漏洞,并且在操作过程中不受智能锁与服务器之间网络故障或延迟的影响。

图9示出了根据本发明另一实施例的交通工具的解锁装置。如图9所示,本发明实施例提供的解锁装置还可以包括:生成模块840,用于在确定所述交通工具锁止后,生成包括所述交通工具的标识的密码更新请求;以及通信模块850,用于向服务器发送所述密码更新请求。

进一步地,所述通信模块850还用于接收服务器发送的新的密码组。参考图9所述装置还可以包括:更新模块860,用于将所述当前密码组更新为所述新的密码组。可选地,更新模块860用于在接收到所述新的密码组预定时间之后,将所述当前密码组更新为所述新的密码组。

可选地,在所述通信模块850接收到所述新的密码组之前,所述判断模块820用于通过以下步骤来判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配:如果接收到用户输入解锁密码的次数i满足1≤i≤n,则判断第i次接收到的解锁密码与所述当前密码组中的第i个密码是否相匹配,其中n为整数且表示所述当前密码组中所包括的密码的个数;以及如果接收到用户输入解锁密码的次数i满足i>n,则判断第i次接收到的解锁密码与所述当前密码组中的第n个密码是否相匹配;所述控制模块830还用于在所接收到的解锁密码与所述当前密码组中的相应密码相匹配的情况下,控制所述交通工具进行解锁。

可选地,控制模块830还用于:在所述当前密码组中的第i个密码被用于成功解锁之后,将所述第i个密码标识为无效密码;以及在所述当前密码组中的第n个密码被用于成功解锁之后,保持所述第n个密码为有效密码,其中i为整数且1≤i<n,n为整数且表示所述当前密码组中所包括的密码的个数。

进一步地,在所述通信模块850接收到所述新的密码组之前,所述判断模块820用于通过以下步骤来判断所述解锁密码与所存储的当前密码组中的多个密码之一是否相匹配:判断所述解锁密码是否与所述当前密码组中的第一有效密码相匹配,其中所述第一有效密码为顺序存储地所述n个密码中的第一个有效密码。

通过上述实施例,在智能锁的通讯功能故障或者智能锁与服务器之间出现网络延迟的情况下,虽然智能锁不能成功从服务器获得新的密码组,但是服务器和智能锁可以按照预定的规则运行,进而可以保证在智能锁与服务器之间的通信存在故障或者延迟的情况下,智能锁仍然可以正常工作。

本发明实施例提供的上述用于智能锁的交通工具的解锁装置的具体工作原理及益处与上述的本发明实施例提供的用于智能锁的交通工具的解锁方法的具体工作原理及益处相似,这里将不再赘述。

图10示出了根据本发明一实施例的交通工具的解锁装置。如图10所示,本发明实施例还提供一种交通工具的解锁装置,其用于服务器,例如,共享单车对应的服务器,所述交通工具可以是共享单车、共享电车等,所述装置可以包括:第一接收模块1010,用于从客户端接收包括交通工具的标识的密码获取请求;密码组确定模块1020,用于根据所述交通工具的标识确定与所述交通工具相对应的当前密码组;以及第一发送模块1030,用于从所述当前密码组中选择一个密码以发送至所述客户端。在服务器中针对智能锁存储或生成有包括多个密码的密码组,服务器可以从与智能锁对应的当前密码组中选择密码以发送至客户端,然后用户使用该密码进行解锁,如此可以避免单一密码造成的漏洞。

可选地,所述装置还包括:第二接收模块,用于接收智能锁发送的包括所述交通工具的标识的密码更新请求;密码组生成模块,用于根据所述密码更新请求生成新的密码组;以及第二发送模块,用于将所述新的密码组发送至所述智能锁。

可选地,在所述第二接收模块未接收到所述密码更新请求之前,或者在所述新的密码组未成功发送至所述智能锁的情况下,所述第一发送模块用于通过以下步骤来从所述当前密码组中选择一个密码以发送至所述客户端:如果接收到来自客户端的密码获取请求的次数i满足1≤i≤n,则将所述当前密码组中的第i个密码发送至所述客户端,其中n为整数且表示所述当前密码组中所包括的密码的个数;以及如果接收到来自客户端的密码获取请求的次数i满足i>n,将所述当前密码组中的第n个密码发送至所述客户端。

可选地,本发明实施例提供的交通工具的解锁装置还可以包括标识模块,用于在确定所述当前密码组中的第i个密码被用于成功解锁之后,将所述第i个密码标识为无效密码;以及在所述当前密码组中的第n个密码被用于成功解锁之后,保持所述第n个密码为有效密码,其中i为整数且1≤i<n,n为整数且表示所述当前密码组中所包括的密码的个数。

进一步地,在所述第二接收模块未接收到所述密码更新请求之前,或者在所述新的密码组未成功发送至所述智能锁的情况下,所述第一发送模块用于通过以下步骤来从所述当前密码组中选择一个密码以发送至所述客户端:将所述当前密码组中的第一有效密码发送至所述客户端,其中所述第一有效密码为顺序存储地所述n个密码中的第一个有效密码。

进一步地,所述装置还可以包括:更新模块,用于在所述新的密码组成功发送至所述智能锁的情况下,将所述当前密码组更新为所述新的密码组。

通过上述实施例,在智能锁的通讯功能故障或者智能锁与服务器之间出现网络延迟的情况下,服务器可以按照预定的规则运行,进而可以保证智能锁能够正常工作。

本发明实施例提供的上述用于服务器的交通工具的解锁装置的具体工作原理及益处与上述的本发明实施例提供的用于服务器的交通工具的解锁方法的具体工作原理及益处相似,这里将不再赘述。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1