本发明涉及设备接入领域,尤其涉及一种基于websocket的设备统一管理系统。
背景技术:
1、由于硬件种类繁多,同一种类硬件由不同硬件厂商提供,因此导致硬件接口各不相同,在各业务系统开发的过程中,对硬件接口的封装不尽相同,导致了硬件开发程序不通用,不同的软件版本,不同的调用方式,使得硬件开发工作繁琐且重复工作量大。
技术实现思路
1、为了解决上述问题,本发明的目的在于提供一种基于websocket的设备统一管理系统,实现不同种类的硬件的统一接入管理。
2、为实现上述目的,本发明采用以下技术方案:
3、一种基于websocket的设备统一管理系统,包括接口单元、驱动单元、websocket服务单元、设备管理控制单元和服务端硬件管理平台;设备接入系统时,在服务端硬件管理平台进行注册登记,预先定义设备类型,设备型号,同时获取设备唯一编号和设备当前版本,并通过接口单元调用对应类型的设备接口;所述设备管理控制台通过驱动单元与接口单元交互,实现设备监控,设备注册,版本升级;所述websocket服务单元基于预设的调用标准,提供硬件调用服务。
4、进一步的,所述websocket服务单元还设有设备接入认证机制,基于sm2密码算法实现,具体如下:系统管理员调用初始化setup算法确定系统参数p,并保存至服务端硬件管理平台;设备接入系统时,在服务端硬件管理平台进行注册登记并获取系统参数p,并生成一对公私钥对;设备在接入服务器时,向websocket服务单元发送接入请求;所述websocket服务单元将获取设备类型和设备私钥与服务端硬件管理平台保存的数据进行匹配和认证;如果匹配和认证成功,则说明设备是合法的,并且建立websocket连接,并基于设备类型调用对应的接口。
5、进一步的,所述系统参数p,具体如下:
6、随机选取大素数,确定非奇异椭圆曲线
7、 ;
8、其中,,在所有点及无穷远点中选取素数阶循环群以及生成元,随机选取并计算 ,;
9、选取哈希函数;
10、输出系统参数。
11、进一步的,所述接入请求,具体如下:
12、所述接入请求数据包括设备唯一编号id、设备当前版本pb、类型号lx、系统参数p以及随机数q,利用公钥对随机数q进行加密,得到pks(q),采用sm2数字签名算法使用私钥对对随机数q的哈希值h(q)进行签名得到sks(h(q)),并基于设备唯一编号id、设备当前版本pb、类型号lx、系统参数p、加密随机数pks(q)和签名哈希值sks(h(q)),构建接入请求m:
13、m={sn,id,pb,lx,p,pks(q),sks(h(q))}。
14、进一步的,所述匹配和认证,具体如下:
15、所述服务端硬件管理平台基于接入请求m,根据系统参数p进行初步接入确认,然后获取设备唯一编号id与平台存储的设备唯一编号进行匹配,并确认设备当前版本是否有误;
16、基于sm2公钥加密算法使用设备的私钥对加密随机数pks(q)进行解密得到随机数q,然后利用公钥验证签名哈希值sks(h(q)),若验证无误则根据类型号lx,基于websocket服务单元调用对应的接口接入。
17、进一步的,所述websocket服务单元还设有心跳机制,接入的设备定期发送心跳包确认连接的存活状态。
18、进一步的,所述设备定期发送心跳包,具体如下:
19、预设心跳包的格式和内容;
20、根据不同设备的实际需求和网络环境,设置相应的心跳间隔;
21、在设备中设置一个定时器,以心跳间隔时间,发送心跳包至websocket服务单元;
22、所述websocket服务单元收到心跳包时,更新设备的在线状态。
23、进一步的,所述websocket服务单元收到心跳包时,更新设备的在线状态,具体如下:
24、当服务器接收到设备发送的心跳包时,可以通过以下步骤更新设备的在线状态:
25、websocket服务单元监听设备发送的心跳包,并在接收到心跳包时进行处理;
26、根据设备的设备唯一编号找到对应的设备记录,并更新设备的在线状态为在线;
27、并设置一个超时时间,如果在一定时间内没有接收到设备的心跳包,则判断设备为离线状态。
28、进一步的,所述预设的调用标准包括根据业务制定的设备调用封装参数标准、输入输出参数标准、设备类型参数、设备编号参数以及设备版本参数。
29、本发明具有如下有益效果:
30、本发明为各类硬件模块制定统一标准,并基于websocket进行统一接入,有效提高硬件设备的接入管理效率;并基于sm2加密算法进行加密,有效提高设备接入认证的可靠性和安全性。
1.一种基于websocket的设备统一管理系统,其特征在于,包括接口单元、驱动单元、websocket服务单元、设备管理控制单元和服务端硬件管理平台;设备接入系统时,在服务端硬件管理平台进行注册登记,预先定义设备类型,设备型号,同时获取设备唯一编号和设备当前版本,并通过接口单元调用对应类型的设备接口;所述设备管理控制台通过驱动单元与接口单元交互,实现设备监控,设备注册,版本升级;所述websocket服务单元基于预设的调用标准,提供硬件调用服务。
2.根据权利要求1所述的基于websocket的设备统一管理系统,其特征在于,所述websocket服务单元还设有设备接入认证机制,基于sm2密码算法实现,具体如下:系统管理员调用初始化setup算法确定系统参数p,并保存至服务端硬件管理平台;设备接入系统时,在服务端硬件管理平台进行注册登记并获取系统参数p,并生成一对公私钥对;设备在接入服务器时,向websocket服务单元发送接入请求;所述websocket服务单元将获取设备类型和设备私钥与服务端硬件管理平台保存的数据进行匹配和认证;如果匹配和认证成功,则说明设备是合法的,并且建立websocket连接,并基于设备类型调用对应的接口。
3.根据权利要求2所述的基于websocket的设备统一管理系统,其特征在于,所述系统参数p,具体如下:
4.根据权利要求3所述的基于websocket的设备统一管理系统,其特征在于,所述接入请求,具体如下:
5.根据权利要求4所述的基于websocket的设备统一管理系统,其特征在于,所述匹配和认证,具体如下:
6.根据权利要求1所述的基于websocket的设备统一管理系统,其特征在于,所述websocket服务单元还设有心跳机制,接入的设备定期发送心跳包确认连接的存活状态。
7.根据权利要求6所述的基于websocket的设备统一管理系统,其特征在于,所述设备定期发送心跳包,具体如下:
8.根据权利要求7所述的基于websocket的设备统一管理系统,其特征在于,所述websocket服务单元收到心跳包时,更新设备的在线状态,具体如下:
9.根据权利要求1所述的基于websocket的设备统一管理系统,其特征在于,所述预设的调用标准包括根据业务制定的设备调用封装参数标准、输入输出参数标准、设备类型参数、设备编号参数以及设备版本参数。