本发明涉及通信技术领域,尤其涉及一种门锁指令响应的方法、装置、门锁及存储介质。
背景技术:
目前,随着科技的不断发展,智能门锁逐渐进入人们的视野,市面上可见的智能门锁基本都配备远程通信功能,方便用户对于入门权限的管理,例如,可以有客人来访时,可以直接启动开锁,而不用等用户回家开门等等。
然而,在实际的通信过程中,用户远程通信中发送的数据包,很可能被第三方服务器拦截,并利用该数据包进行相应的指令控制,从而造成智能门锁安全性较低。可见,现有技术中存在智能门锁远程通信时安全性较低的技术问题。
技术实现要素:
本发明公开了一种门锁指令响应的方法、装置、门锁及存储介质,用于提高现有技术中智能门锁远程通信的安全性。
第一方面,提供一种门锁指令响应的方法,应用于门锁,所述方法包括:
接收第一数据包;
对所述第一数据包进行解析,以获得第一门锁指令数据以及所述第一门锁指令数据对应的第一时间戳;
判断所述第一门锁指令数据对应的安全等级,并根据所述安全等级,确定所述第一门锁指令数据对应的设置响应时间,其中,所述设置响应时间用于表征所述门锁对第一门锁指令数据实时确定的响应时间;
若确定所述第一时间戳大于所述设置响应时间,则对所述第一门锁指令数据进行响应。
在一种可能的实施方式中,根据所述安全等级,确定所述第一门锁指令数据对应的设置响应时间,包括:
根据所述安全等级,确定所述第一门锁指令数据对应的基础响应时间;
获取对所述第一门锁指令数据在接收所述第一数据包之前响应的第二时间戳;
根据所述基础响应时间和所述第二时间戳,确定所述第一门锁指令数据对应的设置响应时间。
在一种可能的实施方式中,所述第一时间戳用于表征确定所述第一门锁指令数据的时间。
在一种可能的实施方式中,对所述第一数据包进行解析,获得第一门锁指令数据以及所述第一门锁指令数据对应的第一时间戳,包括:
对所述第一数据包进行解析,获得第一指令数据以及分散的穿插在所述第一门锁指令数据之间的多个时间信息;
将所述多个按照预设规则进行组合,以获得所述第一门锁指令数据对应的第一时间戳。
在一种可能的实施方式中,所述开锁记录查询数据、设置密码或门禁卡的使用权限数据、开锁数据、修改密码数据、修改管理员数据、门锁复位数据、开锁数据中的任一种。
第二方面,提供一种门锁指令响应的装置,应用于门锁,所述装置包括:
接收单元,用于接收第一数据包;
第一处理单元,用于对所述第一数据包进行解析,以获得第一门锁指令数据以及所述第一门锁指令数据对应的第一时间戳;
第二处理单元,用于判断所述第一门锁指令数据对应的安全等级,并根据所述安全等级,确定所述第一门锁指令数据对应的设置响应时间,其中,所述设置响应时间用于表征所述门锁对第一门锁指令数据实时确定的响应时间;
响应单元,用于若确定所述第一时间戳大于所述设置响应时间,则对所述第一门锁指令数据进行响应。
在一种可能的实施方式中,所述第二处理单元,具体用于:
根据所述安全等级,确定所述第一门锁指令数据对应的基础响应时间;
获取对所述第一门锁指令数据在接收所述第一数据包之前响应的第二时间戳;
根据所述基础响应时间和所述第二时间戳,确定所述第一门锁指令数据对应的设置响应时间。
在一种可能的实施方式中,所述第一时间戳用于表征确定所述第一门锁指令数据的时间。
在一种可能的实施方式中,所述第一处理单元,用于:
对所述第一数据包进行解析,获得第一指令数据以及分散的穿插在所述第一门锁指令数据之间的多个时间信息;
将所述多个按照预设规则进行组合,以获得所述第一门锁指令数据对应的第一时间戳。
在一种可能的实施方式中,所述开锁记录查询数据、设置密码或门禁卡的使用权限数据、开锁数据、修改密码数据、修改管理员数据、门锁复位数据、开锁数据中的任一种。
第三方面,提供一种门锁,所述门锁包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中的任一方法包括的步骤。
第四方面,提供一种存储介质,该存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中的任一方法包括的步骤。
第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得计算机设备能够执行第一方面中任一方法包括的步骤。
本发明的实施例提供的技术方案至少带来以下有益效果:
在本发明实施例中,可以接收第一数据包,然后对第一数据包进行解析,以获得第一门锁指令数据以及第一门锁指令数据对应的第一时间戳,还可以判断第一门锁指令数据对应的安全等级,并根据安全等级,确定第一门锁指令数据对应的设置响应时间,其中,设置响应时间用于表征门锁对第一门锁指令数据对应调整的响应时间,当确定第一时间戳大于设置响应时间时,则可以对第一门锁指令数据进行响应。
在本发明实施例中,可以根据数据包中的某种门锁指令数据(例如前面的第一门锁指令数据)的时间戳,以及该种指令数据对应的设置响应时间之间的关系,来判断是第三方将拦截的数据包发送,还是门锁对应的服务器发送的数据包,从而在确定是门锁对应的服务器发送的数据包时,则可以对门锁指令进行响应,当确定是第三方发送的数据指令时,不进行响应,从而提高门锁与服务器之间的远程通信的安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或通过实施本而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例中门锁的应用场景示意图;
图2为本发明实施例中的门锁指令响应的方法的流程图;
图3为本发明实施例中的门锁指令响应的装置的结构框图;
图4为本发明实施例中的门锁的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
如前所述,现有技术中,在通过门锁进行远程通信的过程中,可能存在数据包被第三方拦截,进而使用该数据包进行指令响应的问题。也就是说,现有技术中存在门锁远程通信安全性较低的技术问题。
鉴于此,本发明提供一种门锁指令响应的方法,该方法可以通过判断接收的数据包中门锁指令数据对应的时间戳和该种门锁指令数据对应的响应时间,从而可以判断是否对指令数据进行响应。这样的话,可以避免对第三方发送的指令数据进行响应,从而提高门锁远程通信的安全性。
在介绍完本发明实施例的设计思想之后,下面对本发明实施例中的门锁指令响应的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本发明实施例提供的技术方案。
请参见图1,在具体的实施过程中,门锁接收的数据包可能来自门锁对应的服务器,也可能来自拦截服务器,图1中仅以一个拦截服务器进行示出。
若如前所述,门锁直接根据接收到的数据包进行响应,则可能响应的是拦截服务器发送的数据包,即门锁与服务器之间的远程通信的安全性较低,从而造成用户财务的损失,降低用户的使用体验。
在本申请实施例中,门锁可以对接收的服务器发送的数据包进行解析,从而确定出响应的门锁指令数据即门锁执行响应的功能的数据以及与该门锁指令数据对应的时间戳,进而可以判断是否响应该门锁指令数据。这样的方式,可以提高门锁与其对应服务器之间的远程通信的安全性,还可以提升用户的使用体验。
本发明实施例提供的门锁指令方法可以由具备远程通信功能的门锁或智能门锁执行,该门锁可以自动的调整不同种类的门锁指令数据的响应时间,并将数据包中获得的某种门锁指令数据的时间戳和门锁指令数据进行比较,进而对当前的门锁指令数据进行响应或者是不响应,从而提高门锁远程通信的安全性。
下面结合说明书附图介绍本发明实施例提供的技术方案。
请参见图2,本发明实施例提供一种门锁指令响应的方法,该方法可以有前述提到的门锁或智能门锁执行。该方法的具体流程描述如下。
在本发明实施例中,当门锁第一次使用与远程通信有关的功能时,可以接收包含该功能对应的指令数据的数据包,并对数据包进行解析,以获得第一次的时间戳,即可以获得服务器确定的该数据包中指令数据对应生成完成时的时间信息,并直接对该功能对应的指令数据进行响应。
在具体的实施方式中,使用与远程通信有关的功能时,可能会存在数据包被第三方拦截,进而门锁可以使用该数据包进行相应指令的判断,从而降低门锁远程通信的安全性。以下以门锁第二次使用之后的任一次的指令响应过程,进行本发明实施方法的说明。
步骤201:接收第一数据包。
步骤202:对第一数据包进行解析,以获得第一门锁指令数据以及第一门锁指令数据对应的第一时间戳。
在本发明实施例中,门锁可以接收第一数据包,具体的,该第一数据包可能是第三方之前拦截并重新发送的数据包,也可能是门锁对应的服务器发送的数据包。
在具体的实施过程中,当门锁接收到第一数据包时,可以对第一数据包进行解析,从而可以确定出数据包中的命令帧(即第一门锁指令数据),进而可以通过对命令帧的识别,确定第一数据包所对应的门锁指令。进一步地,还可以确定出第一指令数据对应的时间戳,即可以获得服务器确定的该数据包中指令数据对应生成完成时的时间信息。
在本发明实施例中,门锁可以对第一数据包进行解析,获得第一指令数据以及分散的穿插在第一门锁指令数据之间的多个时间信息,然后将多个按照预设规则进行组合,从而可以获得第一门锁指令数据对应的第一时间戳。也就是说,在本发明实施例中,与门锁对应的服务器可以按照预设规则将时间戳分为多个时间信息,然后将多个时间信息分散的穿插在指令数据之间。
在具体的实施过程中,可以预先在门锁和服务器通讯协议中约定时间戳放置的规则即前述的预设规则,该预设规则仅有门锁和服务器知晓。具体的,该规则可以是将当前时间转化为一个十六字节的数据,那么服务器可将这个十六字节数据拆分为四个四字节数据,分散的存放在通讯数据包中的第一、第三、第五、第七字节,然后在门锁接收到数据包时,可以根据通讯协议对数据包进行解析,从而可以知晓当前时间戳需要从哪几个字节读出,进而可以确定出时间戳信息。这样的方式,可以使得门锁和对应服务器可以根据双方约定的预设规则确定出指令数据对应的时间戳,以避免第三方在获取数据包之后,对时间戳进行修改,从而可以提高远程通信的安全性。
在本发明实施例中,可以将服务器在生成相应的指令数据完成时的当前时刻作为该指令数据的时间戳,即服务器确定的该数据包中指令数据生成完成时对应的时间信息。也就是说,本发明实施例中即使是同一类指令数据(例如开锁指令),对应确定的时间戳也是完全不一样的。
步骤203:判断第一门锁指令数据对应的安全等级,并根据安全等级,确定第一门锁指令数据对应的设置响应时间,其中,设置响应时间用于表征门锁对第一门锁指令数据实时调整的响应时间。
在本发明实施例中,可以先确定出第一门锁指令数据对应的安全等级,然后根据安全等级,确定第一门锁指令数据对应的基础响应时间。
在具体的实施过程中,第一门锁指令数据可以为开锁记录查询数据、设置密码或门禁卡的使用权限数据、开锁数据、修改密码数据、修改管理员数据、门锁复位数据、开锁数据中的任一种。
在本发明实施例中,可以将开锁记录查询数据、开锁数据、设置密码数据或门禁卡的使用期限数据确定为第二安全等级;可以将修改密码数据、修改管理员数据以及门锁复位数据确定为第一安全等级。进一步地,还可以确定第一安全等级和第二安全等级的基础响应时间,例如,可以将第一安全等级的基础响应时间设置为3分钟,第二安全等级的基础响应时间设置为1分钟。需要说明的是,本发明中的第一安全等级和第二安全等级的基础等级响应时间是不相同的,本发明中以第一安全等级的基础响应时间大于第二安全等级的基础响应时间为例,进行说明。
在本发明实施例中,还可以获取对第一门锁指令数据在接收第一数据包之前的响应的第二时间戳,然后根据基础响应时间和第二时间戳,确定第一门锁指令数据对应的设置响应时间。例如,基础响应时间为1分钟,第二时间戳为3点,则可以确定设置响应时间为3点01分。也就是说,在本发明实施例中确定的第二时间戳,可以理解为对同一个指令数据响应的前一次成功响应对应的时间戳,这样的方式,可以使得确定出的设置响应时间是实时变更的,即需要门锁和服务器对应确定的,可以进一步地提高远程通信的安全性。
步骤204:判断第一时间戳是否大于设置响应时间,若是,则执行步骤205,若不是,则执行步骤206。
步骤205:若确定第一时间戳大于设置响应时间,则对第一门锁指令数据进行响应。
步骤206:不响应第一门锁指令数据。
在本发明实施例中,可以将对第一数据包解析的第一时间戳与设置响应时间进行比对,当确定第一时间戳大于设置响应时间,则对第一门锁指令数据进行响应。
在本发明实施例中,当门锁接收到的数据包为第三方服务器例如,如图1中所示的拦截服务器发送的第一数据包时,由于第三方服务器获得的第一时间戳是门锁对应的服务器上次发送的,因而第一时间戳小于设置响应时间,则不对第一门锁指令数据进行响应。当为服务器发送的第一数据包时,则由于第一时间戳数据是服务器本次确定的,则可以确定第一时间戳大于设置响应时间,则对第一门锁指令数据进行响应。即通过前述的方式,可以提高门锁远程通信的安全性。
基于同一发明构思,本发明实施例提供了一种用于门锁指令响应的装置,该门锁指令响应的装置能够实现前述的门锁指令响应的方法对应的功能。该门锁指令响应的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该门锁指令响应的装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图3所示,该门锁指令响应的装置包括接收单元301、第一处理单元302、第二处理单元303和响应单元304。其中:
接收单元301,用于接收第一数据包;
第一处理单元302,用于对所述第一数据包进行解析,以获得第一门锁指令数据以及所述第一门锁指令数据对应的第一时间戳;
第二处理单元303,用于判断所述第一门锁指令数据对应的安全等级,并根据所述安全等级,确定所述第一门锁指令数据对应的设置响应时间,其中,所述设置响应时间用于表征所述门锁对第一门锁指令数据实时确定的响应时间;
响应单元304,用于若确定所述第一时间戳大于所述设置响应时间,则对所述第一门锁指令数据进行响应。
在一种可能的实施方式中,所述第二处理单元302,具体用于:
根据所述安全等级,确定所述第一门锁指令数据对应的基础响应时间;
获取对所述第一门锁指令数据在接收所述第一数据包之前响应的第二时间戳;
根据所述基础响应时间和所述第二时间戳,确定所述第一门锁指令数据对应的设置响应时间。
在一种可能的实施方式中,所述第一时间戳用于表征确定所述第一门锁指令数据的时间。
在一种可能的实施方式中,所述第一处理单元301,用于:
对所述第一数据包进行解析,获得第一指令数据以及分散的穿插在所述第一门锁指令数据之间的多个时间信息;
将所述多个按照预设规则进行组合,以获得所述第一门锁指令数据对应的第一时间戳。
在一种可能的实施方式中,所述开锁记录查询数据、设置密码或门禁卡的使用权限数据、开锁数据、修改密码数据、修改管理员数据、门锁复位数据、开锁数据中的任一种。
前述的门锁指令响应的方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明实施例中的门锁指令响应的装置所对应的功能模块的功能描述,在此不再赘述。
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本发明实施例提供一种门锁,请参见图4所示,该门锁包括至少一个处理器401,以及与至少一个处理器连接的存储器402,本发明实施例中不限定处理器401与存储器402之间的具体连接介质,图4中是以处理器401和存储器402之间通过总线400连接为例,总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本发明实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前述的门锁指令响应的方法中所包括的步骤。
其中,处理器401是门锁的控制中心,可以利用各种接口和线路连接整个门锁的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,门锁的各种功能和处理数据,从而对门锁进行整体监控。
可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器401可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器401进行设计编程,可以将前述实施例中介绍的门锁指令响应的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的门锁指令响应的方法的步骤,如何对处理器401进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本发明实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的门锁指令响应的方法的步骤。
在一些可能的实施方式中,本发明提供的门锁指令响应的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在门锁指令响应的设备上运行时,所述程序代码用于使该门锁指令响应的设备执行本说明书上述描述的根据本发明各种示例性实施方式的门锁指令响应的方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。