发明内容
基于此,为解决传统技术中的物联网终端设备在向管理服务器进行注册或登录的过程中安全性不足的技术问题,特提出了一种设备接入的方法。
一种设备接入的方法,包括:
终端获取存储的设备信息,根据所述设备信息生成注册请求并发送至服务器,所述服务器在接收到所述注册请求后根据注册请求中的设备信息进行注册号校验;
在所述注册号校验通过时,所述服务器获取激活码并发送给所述终端,由所述终端根据所述激活码以及所述设备信息生成激活请求并发送给所述服务器,以使所述服务器将所述激活码与所述设备信息进行绑定;
所述服务器确定区域标识码,并根据区域标识码、所述设备信息、所述激活码生成与所述终端对应的登录密码并返回给终端;
所述终端根据所述接收到的登录密码生成登录请求并发送给所述服务器,由所述服务器对所述登录请求中携带的登录密码进行密码校验,在所述密码校验通过时将所述终端接入所述服务器。
可选的,在其中一个实施例中,所述根据所述设备信息生成注册请求为:
根据所述设备信息按照预设的注册号生成算法生成注册号,根据所述注册号、所述设备信息生成注册请求;
所述服务器在接收到所述注册请求后根据注册请求中的设备信息进行注册号校验为:
所述服务器获取所述注册请求中携带的注册号以及设备信息;
根据所述获取到的设备信息按照预设的校验注册号算法生成校验注册号;
判断所述校验注册号是否与所述获取到的注册号匹配,若是,判定所述注册号校验通过,反之,则判定所述注册号校验不通过。
可选的,在其中一个实施例中,所述设备信息还包括设备类型;
所述服务器获取激活码并发送给所述终端为:
根据所述设备类型在所述服务器中存储的预设的激活码队列中查找与所述设备类型对应的目标激活码对列,从所述目标激活码队列中获取目标激活码作为与所述终端对应的激活码;
所述方法还包括:
所述服务器将所述激活码与所述设备信息进行绑定,并将所述目标激活码从所述目标激活码队列中移除。
可选的,在其中一个实施例中,所述服务器根据区域标识码、所述设备信息、所述激活码生成与所述终端对应的登录密码为:
所述服务器根据区域标识码、所述设备信息以及所述激活码按照预设的登录密码生成算法生成与所述终端对应的登录密码,将所述登录密码与所述终端的设备信息对应存储。
可选的,在其中一个实施例中,所述登录请求中还携带有与所述终端对应的设备信息;
所述服务器对所述登录请求中携带的登录密码进行密码校验为:
所述服务器根据所述登录请求中携带的设备信息在存储的登录密码中查找与所述设备信息对应的登录密码;
将所述查找到的登录密码与所述登录请求中携带的登录密码进行比对;
若比对通过,则判定所述登录密码校验通过,若比对不通过,则判定所述登录密码校验不通过。
可选的,在其中一个实施例中,所述方法还包括:
若所述终端中已存储有激活码,则所述终端根据所述设备信息、所述存储的激活码生成设备验证请求并发送给所述服务器;
所述服务器在存储的设备信息与激活码的绑定关系列表中查找与所述设备信息对应的绑定激活码;
在查找到时,将所述绑定激活码与所述设备验证请求中携带的激活码进行比对,若比对通过,则判定所述终端登录成功,若比对不通过,所述终端删除所述终端上除设备信息外的所有数据并执行所述根据所述设备信息生成注册请求并发送至服务器。
可选的,在其中一个实施例中,在所述服务器对所述登录请求中携带的登录密码进行密码校验之后,还包括:
在所述密码校验通过时,所述服务器发送令牌给所述终端;
所述终端在接收到所述服务器发送的令牌之后,获取所述终端当前的快照版本号,根据所述快照版本号生成订阅请求,将所述订阅请求和所述令牌一并上报给所述服务器。
可选的,在其中一个实施例中,所述终端将所述订阅请求和所述令牌一并上报给所述服务器之后还包括:
所述服务器对所述令牌进行校验,在令牌校验通过时,获取所述服务器中存储的最新快照版本号,将所述最新快照版本号返回给所述终端,由所述终端根据最新快照版本号向所述服务器发送数据更新请求。
此外,为解决传统技术中的物联网终端设备在向管理服务器进行注册或登录的过程中安全性不足的技术问题,特提出了一种设备接入的系统。
一种设备接入的系统,包括:
所述系统包括服务器和至少一个终端,其中:
所述终端用于获取存储的设备信息,根据所述设备信息生成注册请求并发送至服务器;
所述服务器用于在接收到所述注册请求后根据注册请求中的设备信息进行注册号校验;
所述服务器还用于在所述注册号校验通过时,获取激活码并发送给所述终端;
所述终端还用于根据所述激活码以及所述设备信息生成激活请求并发送给所述服务器;
所述服务器还用于将所述激活码与所述设备信息进行绑定;
所述服务器还用于确定区域标识码,并根据区域标识码、所述设备信息、所述激活码生成与所述终端对应的登录密码并返回给终端;
所述终端还用于根据所述接收到的登录密码生成登录请求并发送给所述服务器;
所述服务器还用于对所述登录请求中携带的登录密码进行密码校验,在所述密码校验通过时将所述终端接入所述服务器。
可选的,在其中一个实施例中,所述终端还用于根据所述设备信息按照预设的注册号生成算法生成注册号,根据所述注册号、所述设备信息生成注册请求;
所述服务器还用于获取所述注册请求中携带的注册号以及设备信息;根据所述获取到的设备信息按照预设的校验注册号算法生成校验注册号;判断所述校验注册号是否与所述获取到的注册号匹配,若是,判定所述注册号校验通过,反之,则判定所述注册号校验不通过。
可选的,在其中一个实施例中,所述设备信息还包括设备类型;
所述服务器还用于根据所述设备类型在所述服务器中存储的预设的激活码队列中查找与所述设备类型对应的目标激活码对列,从所述目标激活码队列中获取目标激活码作为与所述终端对应的激活码;将所述激活码与所述设备信息进行绑定,并将所述目标激活码从所述目标激活码队列中移除。
可选的,在其中一个实施例中,所述服务器还用于根据区域标识码、所述设备信息以及所述激活码按照预设的登录密码生成算法生成与所述终端对应的登录密码,将所述登录密码与所述终端的设备信息对应存储。
可选的,在其中一个实施例中,所述登录请求中还携带有与所述终端对应的设备信息;
所述服务器还用于根据所述登录请求中携带的设备信息在存储的登录密码中查找与所述设备信息对应的登录密码;将所述查找到的登录密码与所述登录请求中携带的登录密码进行比对;若比对通过,则判定所述登录密码校验通过,若比对不通过,则判定所述登录密码校验不通过。
可选的,在其中一个实施例中,所述终端还用于在所述终端中已存储有激活码时,根据所述设备信息、所述存储的激活码生成设备验证请求并发送给所述服务器;
所述服务器还用于在存储的设备信息与激活码的绑定关系列表中查找与所述设备信息对应的绑定激活码;在查找到时,将所述绑定激活码与所述设备验证请求中携带的激活码进行比对,若比对通过,则判定所述终端登录成功;
所述终端还用于在所述激活码比对不通过时,删除所述终端上除设备信息外的所有数据并根据所述设备信息生成注册请求并发送至服务器。
可选的,在其中一个实施例中,在所述服务器还用于在所述密码校验通过时,发送令牌给所述终端;
所述终端还用于在接收到所述服务器发送的令牌之后,获取所述终端当前的快照版本号,根据所述快照版本号生成订阅请求,将所述订阅请求和所述令牌一并上报给所述服务器。
可选的,在其中一个实施例中,所述服务器还用于对所述令牌进行校验,在令牌校验通过时,获取所述服务器中存储的最新快照版本号,将所述最新快照版本号返回给所述终端,以使所述终端根据最新快照版本号向所述服务器发送数据更新请求。
实施本发明实施例,将具有如下有益效果:
采用了上述设备接入的方法和系统之后,在物联网设备连入相应的管理服务器之前,需要根据该设备所对应的设备信息向服务器进行注册,并且,在注册的过程中,服务器会根据设备的设备信息对该设备的合法性和安全性进行验证,在验证通过的情况下激活该设备,并且生成与该设备对应的登录密码,在后续的设备登录过程中,终端使用该登录密码进行登录。也就是说,在设备连入服务器或者软件的过程中,不再是简单的注册接入,而是需要对设备的合法性和安全性进行验证,既提高了设备接入的安全性和合法性。并且,在因为登录密码的生成过程中考虑到了当前服务器对应的区域标识码,使得若设备所连的服务器发生改变或者设备的区域发生改变时会直接导致登录失败,也就是说,在设备区域改变时服务器和该设备都能获知相应的信息,避免了设备上存储的数据出现数据混乱,提高了数据的一致性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决传统技术中的终端设备在向管理服务器进行注册或登录的过程中安全性不足的技术问题,在本实施例中,特提出了一种设备接入的系统,如图1所示,上述设备接入的系统包括服务器10和终端20,需要说明的是,终端20的数量可以是一个,也可以是多个,也就是说,一个设备接入的系统可以包括若干个终端和一个服务器,如图1所示,终端20在图1所示的应用场景中包括了终端1、终端2以及终端3。
上述设备接入的系统可以是考勤系统、门禁系统或者安防系统等物联网系统,终端可以是与服务器(例如,管理服务器)相连的考勤机、打卡机等物联网终端,该终端在初次连入服务器时需要进行设备注册,并且在注册成功之后只需要进行登录即可进行与服务器之间的交互。
具体的,如图2所示,图2展示了基于上述设备接入的系统的设备注册及登录过程的交互过程。其中,运行于终端20的设备接入的方法如图3中的步骤S201-S204所示,运行于服务器10的设备接入的方法如图4中的步骤S101-S105所示。
步骤S201:终端获取存储的设备信息,根据设备信息生成注册请求并发送至服务器。
在本实施例中,每一个终端都对应厂商编号、设备序列号,并且,厂商编号标识这当前终端的生产厂家,而设备序列号是与当前终端对应的唯一的序列号,也就是说,所有的终端设备的设备序列号之间是互不相同的,设备序列号可以唯一确定其对应的终端。需要说明的是,在本实施例中,终端中存储有与当前终端对应的厂商编号以及设备序列号,在需要使用厂商编号以及设备序列号时,可以从终端中相应的存储区域中获取厂商编号和设备序列号。在本实施例中,与终端相关的厂商编号以及设备序列号,均为与该终端对应的设备信息。需要说明的是,在本实施例中,设备信息可以不止包含了厂商编号以及设备序列号,还可以包括其他与当前终端相关的其他设备信息,例如,设备类型。
在本实施例中,终端首次建立与服务器之间的连接时,根据终端的设备信息生成注册请求并上报给服务器。
具体的,上述根据设备信息生成注册请求的步骤具体为:根据设备信息按照预设的注册号生成算法生成注册号,根据所述注册号、所述设备信息生成注册请求。
在上报的注册请求中,还包括有与当前终端对应的设备信息以及注册号,例如厂商编号、设备序列号。其中,注册号是根据例如厂商编号以及设备序列号等设备信息生成的,例如,按照一定的算法根据厂商编号以及设备序列号生成与之对应的注册号。
可选的,在本实施例中,上述终端根据设备信息按照预设的注册号生成算法生成注册号的步骤具体为:所述终端根据所述厂商编号和所述设备序列号按照预设的第一MD5算法生成与所述终端对应的注册号。
MD5算法(Message-Digest Algorithm 5,信息-摘要算法5),又为摘要算法、哈希算法,可以将目标字符串转换成与之对应的十六进制数字串,并且,可以保证信息传输的完整一致。根据MD5算法将上述厂商编号和设备序列号按照MD5算法生成与之对应的注册号,该注册号是唯一的与厂商编号和设备序列号对应的唯一的注册号,并且,在厂商编号和设备序列号被篡改的情况下,其对应的注册号也会发生改变,并且,通过注册号不能反向推导出与之对应的厂商编号以及设备序列号。
需要说明的是,在本实施例中,注册号生成算法不仅仅可以是MD5算法,还可以其他算法,例如,sha-1算法、RIPEMD算法以及Haval算法等。
在注册号确定的情况下,即可根据注册号以及与终端对应的设备信息(如厂商编号以及设备序列号)生成相应的注册请求,并将该注册请求上报至服务器,服务器在接收到终端上报的注册请求后对该注册请求进行相应的处理。
步骤S101:服务器接收终端发送的注册请求,根据注册请求中的设备信息进行注册号校验。
在一个具体的实施例中,在注册请求中包含了根据设备信息生成的注册号时,上述根据注册请求中的设备信息进行注册号校验的步骤具体为:针对所述注册请求中携带的注册号根据所述注册请求中携带的设备信息进行注册号校验。
服务器在接收到终端发送的注册请求之后,对接收到的注册请求进行解析,获取该注册请求中携带的注册号以及厂商编号、设备序列号等设备信息,并根据获取到的厂商编号以及设备序列号对注册号进行校验。
对注册号进行校验的过程即为根据厂商编号和设备序列号等设备信息按照服务器上预设的注册号生成算法生成对应的校验注册号,若校验注册号与注册号一致,则说明服务器上预设的注册号生成算法与终端上预设的注册号生成算法是一致的,且该注册号校验通过,反之,若校验注册号与接收到的注册请求中携带的注册号之间是不一致的,则说明服务器上预设的注册号生成算法与终端上预设的注册号生成算法是不一致的,或者,在数据传输的过程中,注册号以及设备信息等数据被篡改了,因此,注册号校验被判定不通过。
可选的,在一个实施例中,上述服务器针对所述注册请求中携带的注册号根据所述注册请求中携带的设备信息进行注册号校验为:所述服务器获取所述注册请求中携带的注册号以及厂商编号、设备序列号;根据所述获取到的厂商编号与所述设备序列号,按照预设的第二MD 5算法生成校验注册号;判断所述校验注册号是否与所述获取到的注册号进行比对,在比对通过时判定所述注册号校验通过,反之,则判定所述注册号校验不通过。
也就是说,在步骤S101中,在终端上预设的注册号生成算法为MD5算法时,在服务器上预设的校验注册号的生成算法也是MD5算法,并且,其对应的MD5算法的参数设置是一致的,即第一MD5算法和第二MD5算法是同一个算法,若第一MD5算法与第二MD5算法不一致,则根据第一MD5算法与第二MD5算法得到的注册号以及校验注册号之间的比对无法通过。
在本实施例中,在服务器对接收到的注册请求中携带的注册号进行注册号校验并且得到相应的校验结果之后,将相应的注册号校验结果返回给终端。
步骤S102:所述服务器从所述服务器中已存储的激活码中确定与所述终端对应的激活码并将该激活码返回给所述终端。
若上述步骤S101中的注册号校验通过,则可进行进一步的设备激活。具体的,在本实施例中,服务器直接获取激活码并发送给终端。在另一个实施例中,在服务器获取激活码之前,终端还需要发送激活码获取请求给服务器。具体的,在步骤S102之前,还包括步骤S202:终端接收服务器返回的注册号校验结果,在所述注册号校验通过时,终端发送激活码获取请求给所述服务器。
终端调用激活码获取请求并上报给服务器,服务器在接收到激活码获取请求之后,从服务器中预存的激活码中获取目标激活码作为与终端对应的激活码,并将该激活码返回给终端。
需要说明的是,在本实施例中,在服务器中预存的激活码是根据许可授权信息存储的与许可点数相同数量的激活码,也就是说,与当前服务器连接的终端设备的数量不能超过上述许可授权信息中的许可点数对应的数量。
可选的,在一个实施例中,与终端对应的设备信息还包括有与终端对应的设备类型,并且,在本实施例中,设备类型可以是根据设备类型标识区分,也可以是根据终端中对应的固件版本来区分,在终端生成激活码获取请求时,还将终端中存储的与当前终端对应的设备类型添加到激活码获取请求中,即上述激活码获取请求还携带有与所述终端对应的设备类型。
进一步的,在本实施例中,在激活码获取请求中还携带有设备类型的情况下,所述服务器从所述服务器中已存储的激活码中确定与所述终端对应的激活码还包括:所述服务器根据所述设备类型在所述服务器中存储的预设的激活码队列中查找与所述设备类型对应的目标激活码对列,从所述目标激活码队列中获取目标激活码作为与所述终端对应的激活码。
具体的,服务器中根据许可授权信息存储的激活码是根据不同的设备类型的,也就是说,在所有的设备类型包括设备类型A、设备类型B以及设备类型C三种设备类型的情况下,服务器中存储的激活码分为与设备类型A对应的激活码、与设备类型B对应的激活码以及与设备类型C对应的激活码,并且,在许可授权信息中,是根据某一类型的设备的许可点数来进行许可授权的,也就是说,每一个设备类型对应了与之对应的许可点数的数量,该数量即为与该设备类型对应的激活码的数量。
在服务器接收到激活码获取请求之后,获取激活码获取请求中携带的设备类型,并且,从服务器中预存的激活码中查找与获取到的设备类型对应的激活码队列,即目标激活码队列,然后在目标激活码队列中获取激活码作为与终端对应的激活码。
步骤S203:所述终端接收所述服务器返回的激活码,生成设备激活请求并发送给所述服务器,所述设备激活请求携带有激活码和设备信息。
在终端接收到服务器返回的激活码之后,即可根据激活码生成设备激活请求并将生成的设备激活请求发送给服务器,由所述服务器完成该终端的激活事项。
具体的,终端在调用设备激活请求的过程中,除了在设备激活请求中添加从服务器接收到并存储在终端中预设的激活码存储区域的激活码之外,还需要在设备激活请求中添加与终端对应的设备信息,在一个可选的实施例中,在设备激活请求中添加的设备信息为设备序列号,因为设备序列号是唯一的,因此设备序列号可以标识发送设备激活请求的终端具体为哪一个终端设备。
步骤S103:所述服务器接收所述终端发送的设备激活请求,将所述设备激活请求中携带的激活码与所述设备信息进行绑定。
服务器在接收到终端发送的设备激活请求之后,对接收到的设备激活请求进行解析,获取该设备激活请求中包含的激活码以及设备序列号等设备信息,并且,将该激活码与设备信息进行绑定,即相当于将该激活码与当前设备进行了绑定,例如,将该激活码与设备序列号进行绑定。
需要说明的是,在本实施例中,在获取到设备激活请求中的激活码之后、在将激活码与设备序列号进行绑定之前,在一个可选的实施例中,还需要对该激活码进行验证,即判断该激活码是否为当前服务器派发的激活码,并且,只有在激活码验证通过的情况下,才进行激活码与设备序列号之间的绑定操作。
可选的,在一个实施例中,上述服务器将所述激活码与所述设备序列号进行绑定之后还包括:所述服务器将所述目标激活码从所述目标激活码队列中移除。
也就是说,为了防止激活码的重复使用,在将激活码与设备序列号进行绑定之后,即将该激活码从服务器上的预设的已存储的激活码中进行移除。
在另一个可选的实施例中,为了防止激活码的重复利用以及在获取激活码的过程中的便利,在服务器中存储的激活码以队列的形式存在,也就是说,服务器在获取激活码时,直接获取目标激活码队列的队首位置对应的激活码。
具体的,上述服务器从所述目标激活码队列中获取目标激活码作为与所述终端对应的激活码还包括:所述服务器获取所述目标激活码队列中与队首位置对应的激活码作为目标激活码,并将所述目标激活码从所述队首位置移至所述目标激活码对应的队尾位置;所述服务器将所述激活码与所述设备序列号进行绑定之后还包括:所述服务器删除所述目标激活码队列中与所述队尾位置对应的激活码。
也就是说,服务器在获取激活码时,都是从目标激活码队列的队首获取激活码,并且获取到了的激活码,会从目标激活码队列的队首位置放至队尾位置,也就是说,每一次取用激活码时都是从队首位置获取,这就避免了在获取多个终端对应的激活码时可能存在的不同终端之间的激活码是一样的现象。进一步的,在服务器将激活码与设备序列号进行绑定之后,在将该已经绑定的激活码从目标激活码队列中移除时,只需要删除在目标激活码队列中队尾位置的激活码即可。
步骤S104:服务器确定区域标识码,根据所述区域标识码、设备信息和激活码生成与所述终端对应的登录密码并返回给所述终端。
在本实施例中,在服务器将激活码与设备序列号进行绑定之后,即标识该终端已经成功激活,服务器即可生成与该终端对应的登录密码并返回给终端,终端在需要登录时通过该登录密码进行登录。
具体的,在服务器生成与终端对应的登录密码的过程中,需要用户与服务器对应的区域标识码。一般来讲,一个服务器对应一个唯一的区域标识码,该区域标识码用来与其他服务器的区域标识码进行区分,并且,该区域标识码由服务器确定。
在区域标识码确定之后,即可根据区域标识码、设备信息以及与该终端对应的激活码生成对应的登录密码,也就是说,登录密码是由区域标识码、设备信息以及激活码唯一确定的,其中任意一个改变,其对应的登录密码也会改变,在一个具体的实施例中,生成登录密码的设备信息包括设备序列号。
需要说明的是,在本实施例中,根据区域标识码、设备序列号以及激活码生成登录密码的过程是根据预设的登录密码生成算法生成登录密码的过程,并且,可以预先对该登录密码生成算法进行定义,例如,该登录密码生成算法可以是MD5算法。
具体的,上述根据所述区域标识码、设备信息和所述设备激活请求中携带的激活码按照预设的登录密码生成算法生成与所述终端对应的登录密码为:所述服务器根据所述区域标识码、设备序列号和所述设备激活请求中携带的激活码按照预设的第三MD5算法生成与所述终端对应的登录密码。
步骤S204:所述终端接收服务器返回的登录密码,根据所述接收到的登录密码生成登录请求并发送给所述服务器。
在服务器生成登录密码之后即将该登录密码返回给相应的终端,终端在接收到服务器返回的登录密码之后,即可根据接收到的登录密码生成相应的登录请求并发送给服务器,由服务器对登录密码进行密码校验。
步骤S105:服务器接收终端发送的登录密码并对所述登录请求中携带的登录密码进行密码校验,在所述密码校验通过时将所述终端接入所述服务器。
在服务器接收到终端发送的登录请求之后,对接收到的登录请求进行解析,获取登录请求中包含的登录密码,并对获取到的登录密码进行校验。在密码校验成功的情况下,将终端接入到服务器中。
需要说明的是,在本实施例中,服务器对接收到的登录请求中的登录密码进行校验的过程,可以是判断该登录密码是否与服务器中存储的已生成的登录密码是否匹配的过程,或者是判断该登录密码是否存在与服务器中的过程。
进一步的,在一个可选的实施例中,在上述登录请求中还携带有与所述终端对应的设备信息;所述服务器对所述登录请求中携带的登录密码进行密码校验还包括:所述服务器根据所述登录请求中携带的设备信息查找与所述设备信息对应的登录密码;将所述查找到的登录密码与所述登录请求中携带的登录密码进行比对;若比对通过,则判定所述登录密码校验通过,若比对不通过,则判定所述登录密码校验不通过。
也就是说,服务器在为每一个连入的终端设备生成相应的登录密码时都将该登录密码进行存储,并且,存储的内容还包括与该终端的设备信息之间的对应关系,因为登录密码以及设备信息都是唯一的,且两者之间是一一对应的。
例如,上述设备信息可以是设备序列号。在服务器获取到登录请求中的登录密码之后,根据登录请求中携带的设备序列号在服务器中存储的设备序列号与登录密码之间的对应关系中查找与该设备序列号对应的登录密码,并将该查找到的登录密码与登录请求中包含的密码进行比对,若比对通过,则判定密码校验通过,反之,则密码校验不通过。
进一步的,在另一个实施例中,所述登录请求中还携带有与所述终端对应的设备信息以及与所述终端对应的激活码;所述服务器对所述登录请求中携带的登录密码进行密码校验还包括:所述服务器根据与所述服务器对应的区域标识码、所述登录请求中携带的设备信息和激活码按照所述预设的第四MD5算法生成校验登录密码;将所述校验登录密码与所述登录请求中携带的登录密码进行比对,若比对通过,则判定所述登录密码校验通过,若比对不通过,则判定所述登录密码校验不通过。
根据前述内容,登录密码的生成是服务器根据区域标识码、设备信息以及激活码按照预设的登录密码生成算法生成的,也就是说,若区域标识码或设备序列号或激活码改变,按照上述登录密码生成算法生成的登录密码也会改变。因此,在对登录密码进行校验的过程中,根据登录请求中携带的激活码、设备信息以及服务器中的区域标识码生成校验登录密码,并将该校验登录密码与登录请求中携带的登录密码进行比对,在比对通过的情况下,判定登录密码校验通过。
因为区域识别码是由服务器决定的,服务器不同的情况下,其对应的区域识别码也不一样的,也就是说,若终端所连入的服务器改变(即终端所对应的区域信息改变),则根据上述方法生成的校验登录密码也会改变,因此,在密码校验的过程中,就会出现校验失败的现象。也就是说,在终端设备的注册一级登录的过程中,加入例如区域信息特征,在终端所连入的区域发生改变时能获知相应的消息并进行相应的处理。
在另一个实施例中,如图5所示,展示了上述设备接入的方法的更进一步的交互过程。采用本实施例,终端设备在连入服务器时需要根据其对应的厂商编号、设备序列号等设备信息进行设备验证,也就是说,终端在连入服务器时需要对设备的合法性和安全性进行验证,提高了终端接入的合法性和安全性。
进一步的,在本实施例中,在终端发送的登录请求中的登录密码校验成功的情况下(即终端登录成功),终端与服务器之间即可进行数据交互,例如,数据更新等。
可选的,在一个实施例中,在所述服务器对所述登录请求中携带的登录密码进行密码校验之后,还包括:在所述密码校验通过时,所述服务器发送令牌给所述终端;所述终端在接收到所述服务器发送的令牌之后,获取所述终端当前的快照版本号,根据所述快照版本号生成订阅请求,将所述订阅请求和所述令牌一并上报给所述服务器。
在服务器对登录密码进行校验的过程中,若密码校验通过,服务器向终端发送令牌。终端在接收到服务器发送的令牌之后,获取终端当前的快照版本号,即终端中存储的数据对应的数据快照版本号,该快照版本号用于标识终端当前存储的数据所对应的版本(服务器会针对相关数据的版本号进行编号,并且在数据更新时,待会更新相应的版本号,一般情况下,版本号是递增的)。根据终端对应的快照版本号以及服务器上的最新的数据快照版本号,可以确定终端上应该更新的数据。
进一步的,在本实施例中,上述终端将所述订阅请求和所述令牌一并上报给所述服务器之后还包括:所述服务器对所述令牌进行校验,在令牌校验通过时,获取所述服务器中存储的最新快照版本号,将所述最新快照版本号返回给所述终端,由所述终端根据最新快照版本号向所述服务器发送数据更新请求。
也就是说,在终端接收到服务器发送的订阅请求之后,对于订阅请求一并发送的令牌进行校验,即确定该令牌是否是由当前服务器发出的,若是,则判定令牌校验通过,反之,令牌校验不通过。在令牌校验通过的情况下,服务器确定服务器中存储的数据所对应的最新快照版本号,并将该最新快照版本号返回给终端,由终端根据最新快照版本号以及终端中对应的快照版本号决定是否需要进行数据更新,若需要进行数据更新,则向服务器发送相应的数据更新请求。
需要说明的是,在本实施中,终端在决定是否需要进行数据更新时,是根据终端中对应的数据版本号与服务器发送的最新快照版本号来决定的,若二者是一致的,则不需要进行更新,反之,若终端上的快照版本号低于服务器发送的最新快照版本号,则说明需要进行数据更新。
需要说明的是,上述对于终端向服务器进行注册以及登录的过程的描述,都是基于终端是首次向服务器进行注册或登录的情况,若已经被激活的终端在进行注册、首次登录之后,出现断线的情况,这就需要进行再次连接。如图6所示,图6展示了终端与服务器之间的连接断开之后再次进行连接的方法流程示意图。具体的,包括如下步骤S301-S304:
步骤S301:所述终端根据与所述终端对应的设备信息以及所述已存储的激活码生成设备验证请求并发送给所述服务器;
步骤S302:所述服务器接收所述终端发送的设备验证请求,获取所述设备验证请求中携带的设备信息和激活码;
步骤S303:根据所述设备验证请求中携带的设备信息以及激活码进行设备验证;若设备验证通过,则执行步骤S304:所述服务器判定所述终端登录成功;若设备验证不通过,则执行上述步骤S305(即步骤S201):所述终端获取存储的设备信息,根据设备信息生成注册请求并发送至服务器。
具体的,在终端需要连接服务器之前,首先确定在终端中是否已经存在激活码,也就是说,确定当前终端在本次连接之前是否与某一个服务器之间存在过连接,若存在过,则在终端中必定存储有上一次设备注册及设备激活时所存储的激活码,也就是说,若在当前终端中存储有激活码,则在向服务器发起连接请求时,直接发送设备验证请求,验证成功即登录,而不是发送设备注册请求。
具体的,以设备信息为设备序列号和厂商编号为例进行说明,终端根据当前终端中存储的与当前终端对应的设备序列号以及存储的激活码生成设备验证请求,并将该设备验证请求发送给服务器,由所述服务器对设备验证请求进行验证。
服务器在接收到终端发送的设备验证请求之后,获取在该设备验证请求中包含的设备序列号以及激活码,然后根据获取到的设备序列号以及激活码对发送设备验证请求的终端进行设备验证。
具体的,服务器进行设备验证的过程可以是判断上述设备信息以及激活码是否与服务器中存储的相关记录是一致的过程。即,所述服务器在存储的设备信息与激活码的绑定关系列表中查找与所述设备信息对应的绑定激活码;在查找到时,将所述绑定激活码与所述设备验证请求中携带的激活码进行比对,若比对通过,则判定所述终端登录成功,若比对不通过,所述终端删除所述终端上除设备信息外的所有数据并执行所述根据所述设备信息生成注册请求并发送至服务器。
即服务器在设备激活的过程中,将激活码与对应的设备的设备信息之间进行了绑定,并且,在服务器中还存储了相关的绑定关系,所有的终端对应的设备信息与激活码的绑定关系都存储在服务器中相应的存储区域中。需要说明的是,在本实施例中,与激活码进行绑定的可以终端的设备信息中的设备序列号。在进行设备验证的过程中,在服务器中已存储的设备信息与激活码之间的绑定关系列表中查找与接收到的设备验证请求中携带的设备信息对应的绑定激活码,若查找到,并将该绑定激活码与接收到的设备验证请求中携带的激活码进行比对,若比对通过,则判定上述设备验证通过,反之,则判定设备验证不通过。
进一步的,在服务器中已存储的设备信息与激活码之间的绑定关系列表中查找与接收到的设备验证请求中携带的设备信息对应的绑定激活码,若没有查找到与该设备信息对应的绑定激活码,则判定所述设备验证不通过。
需要说明的是,在上述设备验证中,若设备验证通过,则说明相应的终端登录成功,成功建立与服务器之间的连接。反之,若设备验证不通过,则说明该终端没有在当前的服务器上进行注册,或者说明终端对应的区域信息发生了改变,需要重新进行设备的注册、激活以及登录。在此种情况下,终端中已存储有激活码,说明之前与其他服务器连接过,也就是说,在终端中存储原来与其他服务器连接的过程中的相关数据,例如,终端为考勤机,在该考勤机中还存储有原来使用的相关考勤记录等相关数据;在该设备与当前服务器进行连接时,需要重新进行设备的注册、激活,并且接收当前服务器上相关的数据,为了避免出现数据混乱,将该终端上的所有数据进行删除,需要说明的是,删除的数据不包括激活码(用来在后续的登录、重新注册的过程中判断应该执行的操作)、设备本身所对应的相关数据(例如,设备序列号、厂商编号、设备类型等设备信息)。
也就是说,在一个可选的实施例中,上述方法还包括:在设备验证不通过时,所述终端删除所述终端上除设备信息外的所有数据。
实施本发明实施例,将具有如下有益效果:
采用了上述设备接入的方法和系统之后,在物联网设备连入相应的管理服务器之前,需要根据该设备所对应的设备信息向服务器进行注册,并且,在注册的过程中,服务器会根据设备的设备信息对该设备的合法性和安全性进行验证,在验证通过的情况下激活该设备,并且生成与该设备对应的登录密码,在后续的设备登录过程中,终端使用该登录密码进行登录。也就是说,在设备连入服务器或者软件的过程中,不再是简单的注册接入,而是需要对设备的合法性和安全性进行验证,既提高了设备接入的安全性和合法性。并且,在因为登录密码的生成过程中考虑到了当前服务器对应的区域标识码,使得若设备所连的服务器发生改变或者设备的区域发生改变时会直接导致登录失败,也就是说,在设备区域改变时服务器和该设备都能获知相应的信息,避免了设备上存储的数据出现数据混乱,提高了数据的一致性。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。