1.一种基于区块链的权限可控的物联网云平台,其特征在于,包括:权限管理系统,用于管理每个部门的用户对物联网的产品及设备进行管理的权限;每个产品对应多个设备;
产品管理模块,用于通过边缘计算节点与区块链进行交互,对所述物联网的产品进行管理;所述边缘计算节点采用分布式部署的方式接入区块链;
设备管理模块,用于通过所述边缘计算节点与区块链进行交互,对所述物联网的设备进行管理;
区块链,用于按照智能合约存储所述产品和所述设备的数据。
2.根据权利要求1所述的基于区块链的权限可控的物联网云平台,其特征在于,所述权限管理系统包括:公司管理系统的权限管理模块和部门内部系统的权限管理模块;
所述公司管理系统的权限管理模块,用于为公司管理系统中的用户创建部门,并创建所述部门的管理员角色;所述管理员角色具有所述部门对应的部门内部系统的所有权限;
不同的部门之间存在层级关系,每个部门内部系统中的产品及设备仅对本部门和上级部门可见;
所述部门内部系统的权限管理模块,用于为所述部门内部系统中的用户分别创建用户账号;每个用户账号对应一个角色,每个角色对应不同的权限;所述用户账号对应的账号名和账号密码经MD5加密保存到服务器中。
3.根据权利要求2所述的基于区块链的权限可控的物联网云平台,其特征在于,所述部门内部系统包括:用户客户端模块、用户资源模块和权限验证模块;
所述用户客户端模块,用于接收用户输入的用户账号,生成用户访问请求;
所述用户资源模块,用于拦截所述用户访问请求,并将所述用户访问请求转发至所述权限验证模块;
所述权限验证模块,用于根据服务器中存储的用户账号对所述用户访问请求的用户账号进行验证;当验证成功时,所述权限验证模块根据所述用户访问请求生成用户信息密钥及用户登录状态密钥,将所述用户信息密钥及用户登录状态密钥存入缓存数据库,并将所述用户信息密钥返回至所述用户客户端模块,所述用户客户端模块将所述用户信息密钥储存到本地;所述用户登录状态密钥用于刷新用户的登录状态;
所述用户客户端模块还用于携带所述用户信息密钥根据所述用户访问请求访问所述用户资源模块,生成访问请求;
所述权限验证模块还用于拦截所述访问请求,提取所述访问请求中的用户信息密钥,并与缓存数据库中存储用户信息密钥进行比对;如果比对成功,则将用户信息返回给所述用户资源模块;
所述用户资源模块还用于根据用户信息获取到用户的权限信息,根据所述用户的权限信息限定允许用户访问的资源范围,并把所述用户的权限信息返回给所述用户客户端模块;
所述用户客户端模块还用于根据所述用户的权限信息渲染允许用户访问的资源信息,供所述用户对产品或设备进行管理。
4.根据权利要求1所述的基于区块链的权限可控的物联网云平台,其特征在于,所述设备管理模块具体包括:边缘计算节点部署单元,用于部署边缘计算节点接入到区块链中;所述边缘计算节点注册为区块链的一个用户,参与到智能合约中;
公钥和私钥生成单元,用于根据区块链要求使用非对称加密算法生成一对公钥和私钥;所述公钥作为用户地址返回给所述边缘计算节点,所述边缘计算节点使用广播将自己的公钥广播出去,所述区块链的所有节点保存接收到的所述公钥;
签名单元,用于通过所述边缘计算节点使用私钥对加入请求合约签名,将签名后的加入请求合约以广播的方式传递到所述区块链的每一个节点;
解密单元,用于通过所述区块链的每个节点保存接收到的加入请求合约,并用接收到的公钥解密,完成所述边缘计算节点对应的用户的身份确认;
设备创建单元,用于在部门内部系统中创建设备,并且提供唯一验证的设备信息;所述设备信息为设备IMEI码、IMSI码或芯片编码;
验证单元,用于通过所述区块链的节点验证所述设备信息,并根据所述设备信息生成用于设备激活的唯一编码;
激活请求单元,用于通过所述设备携带所述唯一编码请求所述区块链的激活接口进行激活;
激活单元,用于通过所述激活接口验证成功后激活所述设备,并将所述设备的设备信息提交到区块链,并生成交易记录。
5.根据权利要求1所述的基于区块链的权限可控的物联网云平台,其特征在于,还包括:数据请求模块,用于通过所述物联网的设备携带数据及设备信息请求所述边缘计算节点的数据接口;
数据处理模块,用于利用所述边缘计算节点对所述设备的数据进行处理;
验证模块,用于通过所述边缘计算节点验证所述设备的设备信息是否在所述区块链中存在交易信息;
删除模块,用于所述区块链中不存在交易信息时,删除所述设备的所有数据;
打包模块,用于当所述区块链中存在交易信息时,利用所述边缘计算节点打包所述设备的数据并提交到所述区块链,所述区块链生成新的区块保存所述设备的数据。
6.一种基于区块链的权限可控的物联网云平台的数据交互方法,其特征在于,包括:管理每个部门的用户对物联网的产品及设备进行管理的权限;每个产品对应多个设备;
通过边缘计算节点与区块链进行交互,对所述物联网的产品进行管理;所述边缘计算节点采用分布式部署的方式接入区块链;
通过所述边缘计算节点与区块链进行交互,对所述物联网的设备进行管理;
按照智能合约存储所述产品和所述设备的数据。
7.根据权利要求6所述的基于区块链的权限可控的物联网云平台的数据交互方法,其特征在于,所述管理每个部门的用户对物联网的产品及设备进行管理的权限,具体包括:为公司管理系统中的用户创建部门,并创建所述部门的管理员角色;所述管理员角色具有所述部门对应的部门内部系统的所有权限;不同的部门之间存在层级关系,每个部门内部系统中的产品及设备仅对本部门和上级部门可见;
为所述部门内部系统中的用户分别创建用户账号;每个用户账号对应一个角色,每个角色对应不同的权限;所述用户账号对应的账号名和账号密码经MD5加密保存到服务器中;
在所述部门内部系统的用户客户端模块输入用户账号,生成用户访问请求;所述部门内部系统的用户资源模块拦截所述用户访问请求,并将所述用户访问请求转发至所述部门内部系统的权限验证模块;
所述权限验证模块根据服务器中存储的用户账号对所述用户访问请求的用户账号进行验证;当验证成功时,所述权限验证模块根据所述用户访问请求生成用户信息密钥及用户登录状态密钥,将所述用户信息密钥及用户登录状态密钥存入缓存数据库,并将所述用户信息密钥返回至所述用户客户端模块,所述用户客户端模块将所述用户信息密钥储存到本地;所述用户登录状态密钥用于刷新用户的登录状态;
所述用户客户端模块携带所述用户信息密钥根据所述用户访问请求访问所述部门内部系统的用户资源模块,生成访问请求;
所述权限验证模块拦截所述访问请求,提取所述访问请求中的用户信息密钥,并与缓存数据库中存储用户信息密钥进行比对;如果比对成功,则将用户信息返回给所述用户资源模块;
所述用户资源模块根据用户信息获取到用户的权限信息,根据所述用户的权限信息限定允许用户访问的资源范围,并把所述用户的权限信息返回给所述用户客户端模块;
所述用户客户端模块根据所述用户的权限信息渲染允许用户访问的资源信息,供所述用户对产品或设备进行管理。
8.根据权利要求6所述的基于区块链的权限可控的物联网云平台的数据交互方法,其特征在于,所述通过边缘计算节点与区块链进行交互,对所述物联网的产品进行管理,具体包括:创建产品、删除产品或修改产品;
所述通过所述边缘计算节点与区块链进行交互,对所述物联网的设备进行管理,具体包括:创建产品对应的设备、删除产品对应的设备或修改产品对应的设备。
9.根据权利要求8所述的基于区块链的权限可控的物联网云平台的数据交互方法,其特征在于,所述创建产品对应的设备,具体包括:部署边缘计算节点接入到区块链中;所述边缘计算节点注册为区块链的一个用户,参与到智能合约中;
根据区块链要求使用非对称加密算法生成一对公钥和私钥;所述公钥作为用户地址返回给所述边缘计算节点,所述边缘计算节点使用广播将自己的公钥广播出去,所述区块链的所有节点保存接收到的所述公钥;
所述边缘计算节点使用私钥对加入请求合约签名,将签名后的加入请求合约以广播的方式传递到所述区块链的每一个节点;
所述区块链的每个节点保存接收到的加入请求合约,并用接收到的公钥解密,完成所述边缘计算节点对应的用户的身份确认;
在部门内部系统中创建设备,并且提供唯一验证的设备信息;所述设备信息为设备IMEI码、IMSI码或芯片编码;
所述区块链的节点验证所述设备信息,并根据所述设备信息生成用于设备激活的唯一编码;
所述设备携带所述唯一编码请求所述区块链的激活接口进行激活;
所述激活接口验证成功后激活所述设备,并将所述设备的设备信息提交到区块链,并生成交易记录。
10.根据权利要求6所述的基于区块链的权限可控的物联网云平台的数据交互方法,其特征在于,所述通过所述边缘计算节点与区块链进行交互,对所述物联网的设备进行管理,之前还包括:所述物联网的设备携带数据及设备信息请求所述边缘计算节点的数据接口;
所述边缘计算节点对所述设备的数据进行处理;
所述边缘计算节点验证所述设备的设备信息是否在所述区块链中存在交易信息;
若在所述区块链中不存在交易信息,则删除所述设备的所有数据;
若在所述区块链中存在交易信息,所述边缘计算节点打包所述设备的数据并提交到所述区块链,所述区块链生成新的区块保存所述设备的数据。