一种设备访问控制方法及装置与流程

文档序号:14409738阅读:107来源:国知局
一种设备访问控制方法及装置与流程
本发明涉及智能家居领域,具体涉及一种设备访问控制方法及装置。
背景技术
:随着智能家居和物联网技术的兴起,各大智能家居厂商和服务提供商纷纷利用自己的优势资源建立自己的物联开放平台,企图引入更多的服务提供商或设备厂商加入自己的平台,实现设备、应用、服务间的互联互通互控。目前,各种物联开放平台百家争鸣,但各物联开放平台之间基本不能实现互联互通。对于设备厂商来说,如果要接入拥有用户资源的服务提供商的物联开放平台,需要在自己的设备中植入服务提供商提供的相应sdk。如果设备厂商需要接入多个物联开放平台,设备厂商的工作量将增大。对于智能家居用户来说,家里的设备可能来自不同设备厂商,而各个设备由不同厂商接入了不同的物联开放平台。因此,智能家居设备间的完全互联互通互控几无可能,用户需要使用不同的应用控制设备,用户体验差。技术实现要素:有鉴于此,本发明提供的一种设备访问控制方法及装置,该控制方法及装置实现了各物联开放平台之间互联互通互控的功能。为实现上述发明目的,本发明所采用的技术方案是:一种设备访问控制方法,包括以下步骤:步骤一:区块链网络中的区块链节点接收控制端装置发送的设备授权查询请求;步骤二:所述区块链节点根据设备授权查询请求确定其对应的当前授权版本号;步骤三:所述区块链节点根据设备授权查询请求和当前授权版本号确定相对应的设备授权交易记录;步骤四:若步骤三找到设备授权交易记录则继续步骤五,否则跳转至步骤六;步骤五:所述区块链节点判断设备授权查询请求是否与所述设备授权交易记录相匹配;步骤六:所述区块链节点向控制端装置发送设备授权查询请求的响应信息;步骤七:所述控制端装置根据接收的授权查询请求的响应信息判断是否向相对应的设备发送控制指令信息。优选地,所述设备授权查询请求包括设备标识信息、用户标识信息、访问时间信息和控制指令信息。优选地,所述区块链节点向设备管理端装置发送设备标识信息和用户标识信息查询相对应的所有历史授权版本号;或者所述区块链节点根据设备标识信息和用户标识信息查询所述区块链节点存储的与所述设备标识信息和所述用户标识信息对应的所有历史授权版本号。优选地,所述授权版本号是一个数值或具有升序规则的一个字符串。优选地,所述设备授权交易记录包含设备标识信息、用户标识信息、授权版本号、授权有效期和设备授权信息;所述设备授权信息包括所述设备标识信息对应的设备的授权操作或授权操作列表。优选地,所述响应信息包括设备标识信息、用户标识信息、访问时间信息、控制指令信息和验证结果标示信息。一种设备访问装置,包括区块链网络,所述区块链网络分别与至少两个设备管理端装置、控制端装置交互,所述控制端装置与设备输入端连接,所述区块链网络包括至少三个区块链节点;所述单个区块链节点包括依次相连的第一接收模块、确定模块、第一查询模块、判断模块、第一发送模块,所述第一接收模块和第一发送模块还分别与控制端装置连接。优选地,所述确定模块包括与第一接收模块输出端连接的第二查询单元,所述第二查询单元分别与选择单元和设备管理端装置连接,或者所述第二查询单元与选择单元连接;所述判断模块包括判断所述设备授权查询请求包含的控制指令信息是否包含于所述设备授权交易记录的授权操作列表中的第一判断单元,还包括判断所述设备授权查询请求包含的授权版本号等于所述当前授权版本号的第二判断单元,以及判断所述设备授权查询请求包含的访问时间信息在所述授权有效期内的第三判断单元。优选地,所述控制端装置包括皆与区块链节点连接的第二发送模块和第二接收模块,所述第二接收模块输出端与第二确定模块输入端连接,所述第二确定模块输出端与第三发送模块输入端连接,所述第三发送模块输出端与设备连接;所述设备管理端装置包括皆与区块链节点连接的第四接收模块和第四发送模块。优选地,所述控制端装置还和其它系统进行交互,以获得设备控制请求。本发明具有以下有益效果:在本发明的技术方案中,本发明的区块链节点根据控制端装置发送的设备授权查询请求,根据设备标识信息和用户标识信息确定当前授权版本号,再根据当前授权版本号和设备授权查询请求信息确定设备授权交易记录,所述区块链节点向控制器端装置发送设备授权查询请求的响应信息,所述控制端装置根据授权查询请求的响应信息向相对应的设备发送控制指令信息,实现了对跨设备、跨应用之间的互联互通互控。附图说明图1为本发明总体框图;图2为本发明区块链节点的结构框图;图3为本发明区块链节点中确定模块的结构框图;图4为本发明流程图;图5为本发明包含设备授权交易记录的有效区块的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。结合图1所示,一种设备访问装置包括区块链网络1,所述区块链网络1分别与至少两个设备管理端装置2、控制端装置3交互,所述控制端装置3与设备4输入端连接。所述区块链网络1包括至少三个区块链节点11,所述区块链节点11个数根据实际需求设置,在本发明实施例中区块链节点11设置为3个。所述设备管理端装置2个数根据实际需求进行设置,在本发明实施例中设备管理端装置2设置为2个。所述区块链节点11向设备管理端装置2进行交互时,区块链节点11主要向设备管理端装置2进行设备授权交易记录查询;所述设备管理端装置2向区块链节点11进行交互时,设备管理端装置2主要向区块链节点11查询用户标识信息和设备标识信息对应的授权版本号。所述控制端装置3向区块链节点11进行交互时,控制端装置3是访问控制的强制实施点,负责通过向区块链节点11发送设备授权查询请求查询与其对应的设备授权信息;所述设备授权查询请求至少包括设备标识信息、用户标识信息、访问时间信息和控制指令信息;控制端装置3也负责向设备标识信息对应的设备4发送控制指令;控制端装置3也可以和其它系统5进行交互,以获得设备控制请求,所述其他系统5可以是应用、设备等。所述设备标识信息是设备4的标识信息,设备标识信息可以是设备4的mac地址、ip地址、通用唯一标识符uuid等能够唯一标识设备4的任何信息;所述用户标识信息是能够控制设备4的用户的标识信息,此处用户可以是一个自然人、主控设备、某个应用或服务。当用户表示一个自然人时,那么用户标识信息可以是用户的手机号、邮箱地址、身份证号码等能够唯一标识用户的任何信息;当用户表示一个主控设备时,那么用户标识信息可以是主控设备的mac地址、ip地址、通用唯一标识符uuid等能够唯一标识主控设备的任何信息;当用户表示一个应用或服务时,那么用户标识信息可以是应用或服务的appid、通用唯一标识符uuid等能够唯一标识应用或服务的任何信息。所述控制端装置3可以设置在设备4中,也可以设置在其它系统5中,还可以设置在管理设备的移动应用中。所述控制端装置3和设备管理端装置2可以部署在设备访问装置的不同位置,也可以耦合在一起。结合图2所示,所述区块链节点11包括第一接收模块111,所述第一接收模块111输入端控制端装置3输出端连接,所述第一接收模块111输出端与确定模块112输入端连接,所述确定模块112输出端与第一查询模块113输入端连接,所述第一查询模块113输出端与判断模块114输入端连接,所述判断模块114输出端与第一发送模块115输入端连接,所述第一发送模块115输出端与控制端装置3输入端连接。所述第一接收模块111用于接收控制端装置3发送的设备授权查询请求;所述确定模块112根据第一接收模块111发送的设备标识信息和用户标识信息确定所述设备标识信息和所述用户标识信息对应的当前授权版本号;所述第一查询模块113根据所述设备标识信息、所述用户标识信息和所述当前授权版本号确定存储有与所述设备标识信息、所述用户标识信息和所述当前授权版本号相对应的设备授权交易记录;所述判断模块114用于判断所述设备授权查询请求包含的信息是否与所述设备授权交易记录相匹配;所述第一发送模块115用于向控制端装置3发送设备授权查询响应信息。进一步地,结合图3所示,所述确定模块112包括与第一接收模块111输出端连接的第二查询单元1121,所述第二查询单元1121还分别与选择单元1122和设备管理端装置2连接,或者所述第二查询单元1121与选择单元1122连接。本发明所述第二查询单元1121根据所述设备标识信息和所述用户标识信息向设备管理端装置2查询所述设备标识信息和所述用户标识信息对应的所有历史授权版本号;或者所述第二查询单元1121根据所述设备标识信息和所述用户标识信息向区块链节点11查询其存储的与所述设备标识信息和所述用户标识信息对应的所有历史授权版本号。所述选择单元1122用于从第二查询单元1121查询到的所有历史授权版本号中选择最大的历史授权版本号作为当前授权版本号。进一步地,所述判断模块114包括第一判断单元、第二判断单元以及第三判断单元。所述第一判断单元用于判断所述设备授权查询请求包含的控制指令信息是否包含于所述设备授权交易记录的授权操作列表中;所述第二判断单元用于判断所述设备授权查询请求包含的授权版本号等于所述当前授权版本号;所述第三判断单元用于判断所述设备授权查询请求包含的访问时间信息在所述授权有效期内。在实际情况中判断模块114包括的判断单元个数根据设备授权查询请求包含的信息种类确定,当设备授权查询请求中未包括访问时间信息时,则判断模块114中不包括第三判断单元;当设备授权查询请求中未包括控制指令时,则判断模块114中不包括第一判断单元。所述控制端装置3包括与区块链节点11输入端连接的第二发送模块,还包括与区块链节点11输出端连接的第二接收模块,所述第二接收模块输出端与第二确定模块输入端连接,所述第二确定模块输出端与第三发送模块输入端连接,所述第三发送模块输出端与设备4连接;所述第二发送模块用于向所述区块链节点11发送设备授权查询请求;所述第二接收模块用于接收所述区块链节点11发送的与所述设备授权查询请求对应的设备授权查询响应信息;第二确定模块用于根据所述设备授权查询响应信息确定所述用户标识信息对应的用户是否能够对所述设备标识信息对应的设备4进行控制或操作;第三发送模块用于向所述设备标识信息对应的设备4发送所述设备授权查询请求包含的控制指令信息。所述设备管理端装置2包括皆与区块链节点11连接的第四接收模块和第四发送模块,所述第四接收模块21用于接收所述区块链节点11发送的所述设备标识信息和所述用户标识信息对应的当前授权版本号查询请求;所述第四发送模块22用于向所述区块链节点11发送所述设备标识信息和所述用户标识信息对应的当前授权版本号。结合图4所示,本发明的一种设备访问控制方法,包括如下步骤:步骤s101:所述区块链节点11接收控制端装置3发送的设备授权查询请求;步骤s102:所述区块链节点11根据设备授权查询请求确定其对应的当前授权版本号;步骤s103:所述区块链节点11根据设备授权查询请求和当前授权版本号确定相对应的设备授权交易记录;步骤s104:步骤s103找到了设备授权交易记录则继续步骤s105,否则跳转至步骤s106;步骤s105:所述区块链节点11判断设备授权查询请求是否与所述设备授权交易记录相匹配;步骤s106:所述区块链节点11向控制端装置3发送设备授权查询请求的响应信息。步骤s107:所述控制端装置3接收的授权查询请求的响应信息判断是否向相对应的设备4发送控制指令信息。进一步地,所述步骤s101具体内容包括:所述设备授权查询请求至少包括设备标识信息、用户标识信息、访问时间信息和控制指令信息。所述区块链节点11中的第一接收模块111接收控制端装置3中的第二发送模块发送的设备授权查询请求。进一步的,所述步骤s102具体内容包括:所述区块链节点11的确定模块112根据设备授权查询请求中的设备标识信息和用户标识信息确定所述设备标识信息和所述用户标识信息对应的当前授权版本号。所述授权版本号可以由区块链节点11管理,也可以由设备管理端装置2管理。当授权版本号由设备管理端装置2管理时,所述区块链节点11中的确定模块112包含的第二查询单元1121向设备管理端装置2中的第四接收模块发送所述设备标识信息和所述用户标识信息,所述设备管理端装置2中的第四发送模块向确定模块112包含的第二查询单元1121发送查询到的所述设备标识信息和所述用户标识信息对应的所有历史授权版本号;当授权版本号由区块链节点11管理时,所述区块链节点11中的确定模块112包含的第二查询单元1121根据所述设备标识信息和所述用户标识信息查询所述区块链节点11存储的与所述设备标识信息和所述用户标识信息对应的所有历史授权版本号。所述确定模块112中的选择单元1122根据第二查询单元1121查询到的所有历史授权版本号中选择最大的历史授权版本号作为当前授权版本号。授权版本号是一个数值或具有升序规则的一个字符串,授权版本号是相对于设备标识信息和用户标识信息的。例如:授权版本号配置为一个正整数(形如1、2、3等等)。授权版本号还可配置为一个具有升序规则的字符串,例如“1.0.0”、“1.1.0”、“2.3.6”等,或者授权版本号为形如“x.y.z”(x、y、z为数字)的字符串,字符串“x.y.z”大于字符串“m.n.k”的升序定义为:当且仅当x大于m,或者x等于m且y大于n,或者x等于m且y等于n且z大于k。所述区块链节点11可能存储有所述设备标识信息和所述用户标识对应的已分配的最大历史授权版本号的授权版本号记录表。授权版本号记录表形如“(设备标识信息+所述用户标识)->最大历史授权版本号”。如表1所示:表1设备标识信息用户标识信息最大历史授权版本号“dev-10010”“user-110030”3“dev-10120”“dev-011030”20所述区块链节点11根据所述设备标识信息和所述用户标识查询授权版本号记录表以获得所述设备标识信息和所述用户标识对应的已分配的最大历史授权版本号,此方法能够大大减少了最大历史授权版本号的查询时间。进一步地,所述步骤s103具体内容包括:所述区块链节点11中的第一查询模块113根据所述设备标识信息、所述用户标识信息和所述当前授权版本号确定相对应的设备授权交易记录。所述设备授权交易记录包含设备标识信息、用户标识信息、授权版本号、授权有效期和设备授权信息,所述设备授权信息包括所述设备标识信息对应的设备4的授权操作或授权操作列表。包含设备授权交易记录的区块链网络1中的有效区块的结构如图5所示,有效区块包含设备授权交易记录。进一步地,所述步骤s105具体内容包括:所述区块链节点11中的判断模块114判断所述设备授权查询请求中包含的信息是否与所述设备授权交易记录相匹配。所述判断模块114的第一判断单元判断所述设备授权查询请求包含的控制指令信息是否包含于所述设备授权交易记录的授权操作列表中,例如,所述设备标识信息对应的设备4为空调,所述设备授权查询请求包含的控制指令信息包含“制冷”指令,而所述用户标识信息和所述当前授权版本号相对应的设备授权交易记录包含的授权操作列表为:{“制冷”、“制热”、“调高温度”、“调低温度”},那么认为所述设备授权查询请求包含的控制指令信息包含于所述设备授权交易记录的授权操作列表中。所述判断模块114的第二判断单元判断所述设备授权查询请求包含的授权版本号是否等于所述设备授权交易记录的授权列表中的授权版本号;所述判断模块114的第三判断单元判断所述设备授权查询请求包含的访问时间信息是否在所述设备授权交易记录的授权列表中的授权有效期内。如果所述设备授权查询请求通过了所有检验条件,则认为所述设备授权查询请求是合法的。所述判断模块114的判断单元个数根据设备授权查询请求包含的实际内容种类确定,所述判断模块114的判断单元个数越多,则判断设备授权查询请求与设备授权交易记录是否相匹配的准确率越高。只有判断模块114中的所有判断单元都判断通过了,才认为所述设备授权查询请求是合法的。本发明实施例只设置了第一判断单元、第二判断单元以及第三判断单元三个判断单元。进一步地,所述步骤s106具体内容包括:所述区块链节点11中的第一发送模块115向控制端装置3的第二接收模块发送设备授权查询请求的响应信息。所述设备授权查询请求的响应信息包括所述设备标识信息、所述用户标识信息、所述访问时间信息、所述控制指令信息和验证结果标示信息。所述验证结果标示信息可以设置为“成功”或者“失败”,那么“成功”表示所述设备授权查询请求是合法的,“失败”表示所述设备授权查询请求是不合法的。进一步地,所述步骤s107具体内容包括:当所述控制端装置3的第二确定模块根据所述设备授权查询请求的响应信息确定所述用户标识信息对应的用户是否能够对所述设备标识信息对应的设备4进行控制或操作;如果所述设备授权查询请求是合法的,则所述控制端装置3的第三发送模块向所述设备标识信息对应的设备4发送所述设备授权查询请求包含的控制指令信息;如果所述设备授权查询请求是不合法的,则结束操作。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1