【技术实现步骤摘要】
一种基于语义物联网中间件的物联网设备智能注册方法及系统
本专利技术包含设备应用协议banner信息实体识别、语义物联网中间件及物联网设备智能注册及
,具体涉及一种基于语义物联网中间件的物联网设备智能注册方法及系统。
技术介绍
随着越来越多的领域接入物联网,物联网设备数量呈现大规模增长,底层设备的异构性是如今物联网中互操作性的一项重大挑战。为了屏蔽设备异构性,已经提出了许多标准的设备接入、协议、框架、抽象和规范。在此基础上,设备进入物联网并进行正常通信和工作的重要前提是将设备以统一的形式进行注册,因此,提供一致的方案对于支持异构的IOT设备进行无差别的注册很重要。此外,设备本身物理信息为上层用户提供了合理的安排设备的部署环境建议,例如可以根据设备的工作温度范围调整部署设备的环境温度,为设备正常工作提供了关于温度的阈值。所以,在注册过程中提供设备本身信息也非常必要。在目前涉及设备物理信息注册中,大多数依靠开发者手动输入感兴趣的信息,在大量设备的情况下,这种方法效率低且信息错误率较高。
技术实现思路
本专利技术的目的是为了解决物联网设备信息异构、设备自身信息粗粒度注册且现存设备注册技术需要大量手工输入的问题,提出了一种基于语义物联网中间件的物联网设备智能注册方法,此方法分为两部分,一为从设备应用协议的banner信息识别出设备三元组实体作为搜索条件,匹配出基于本体的完整设备信息完成注册。二为利用设备商用户自行提交设备说明书主动收集设备信息,进而形成基于本体的设备信息完成注册。本专利技术的结 ...
【技术保护点】
1.基于语义物联网中间件的物联网设备智能注册方法,其特征在于,包括如下步骤:/n步骤1:利用数据采集模块,获取设备的应用协议内容并解析成统一的文本形式,形成设备协议的banner信息;/n步骤2:将所述设备协议的banner信息,通过banner信息预处理模块转换为banner单词列表;/n步骤3:利用设备实体识别模块从banner单词列表中标注出为品牌、类型、型号的单词,形成设备实体三元组;/n步骤4:通过生成设备信息本体模块提出设备信息本体结构和设备属性信息结构,生成待识别设备细粒度的设备信息存储在设备信息数据库中;/n步骤5:若所述的设备实体三元组可以唯一确定一个物联网设备,则调用自动注册模块,将所述设备实体三元组作为搜索条件,利用提出的注册规则对本体存储库中的信息进行搜索,匹配本体存储库中的信息进行设备信息的补全,从而生成待识别设备信息的本体文件;/n步骤6:若所述的设备实体三元组不能唯一确定一个物联网设备,则调用设备商注册模块主动收集设备文件中的设备信息,形成本体文件,完成注册;/n步骤7:上层用户接口层提供python脚本为上层用户开放统一的API,利用Sparql对设备信 ...
【技术特征摘要】
1.基于语义物联网中间件的物联网设备智能注册方法,其特征在于,包括如下步骤:
步骤1:利用数据采集模块,获取设备的应用协议内容并解析成统一的文本形式,形成设备协议的banner信息;
步骤2:将所述设备协议的banner信息,通过banner信息预处理模块转换为banner单词列表;
步骤3:利用设备实体识别模块从banner单词列表中标注出为品牌、类型、型号的单词,形成设备实体三元组;
步骤4:通过生成设备信息本体模块提出设备信息本体结构和设备属性信息结构,生成待识别设备细粒度的设备信息存储在设备信息数据库中;
步骤5:若所述的设备实体三元组可以唯一确定一个物联网设备,则调用自动注册模块,将所述设备实体三元组作为搜索条件,利用提出的注册规则对本体存储库中的信息进行搜索,匹配本体存储库中的信息进行设备信息的补全,从而生成待识别设备信息的本体文件;
步骤6:若所述的设备实体三元组不能唯一确定一个物联网设备,则调用设备商注册模块主动收集设备文件中的设备信息,形成本体文件,完成注册;
步骤7:上层用户接口层提供python脚本为上层用户开放统一的API,利用Sparql对设备信息数据库进行透明访问;所述上层用户接口层向普通用户开放查询权限,向开发者开放增删改查的权限,以实现设备信息数据库的维护和扩展。
2.根据权利要求1所述的基于语义物联网中间件的物联网设备智能注册方法,其特征在于,所述步骤1包含以下子步骤:
步骤1.1:在设备入网后,使用协议持续发送信息给服务器,采用被动侦听技术,在不影响当前路由或者网关的正常运行的前提下无差别的抓取设备发送的二进制数据并进行分析;数据采集模块采用被动侦听模块f1随机获取少量的二进制数据,根据ip地址的长度及目的ip与源ip地址之间固定的偏移地址数,获取设备的ip地址,基于二进制协议数据与ip地址之间的关系,定义映射公式如下:
f1(bi)=IPi
其中IPi表示第i个设备的IP地址,bi表示获取的二进制数据;
步骤1.2:根据被动侦听模块f1获取到的ip地址进行协议的主动探测模块f2,以获取协议的banner,采用半连接进行设备存活端口的探测,获取设备的存活端口,当且仅当设备端口开放,返回ACK+SYN进行半连接,否则返回RST+SYN结束TCP连接,定义映射公式如下:
f2(IPi)=Porti
其中Porti表示第i个设备的存活端口列表,IPi表示第i个设备的IP地址;
步骤1.3:主动探测模块f2提供设备的存活端口后,协议解析模块f3向存活端口构造payload,获取存活端口的响应信息即协议的banner信息;协议解析模块根据获得的banner信息,对协议进行解析,并使用协议解析模板将协议banner信息转换为统一形式的字符串进行后续操作,协议与banner信息之间的映射关系如下:
f3(Portij)=bij
其中bij表示第i个设备的第j个协议的banner信息,Bi表示第i个设备的banner信息,Porti表示第i个设备的存活端口列表。
3.根据权利要求1所述的基于语义物联网中间件的物联网设备智能注册方法,其特征在于,所述步骤2包括以下子步骤:
步骤2.1:将原始的banner信息转换为单个单词组成的列表,将权利要求2中步骤1.3获取到的banner(Bi)作为待处理语料,banner信息预处理模块使用规则和语料文件进行处理;
步骤2.2:提出新增停用规则和时间正则表达式并定义为与设备信息无关规则,利用规则去除协议无关词,降低型号的误识别率;
步骤2.3:对于以S7,Modbus,Ethernet/Ip协议为代表的工业协议,建立not_banner防模糊型号文件,在收集原始banner信息时就删除文件中涉及的字段;对于HTTP,HTTPS为代表的长协议,banner信息长度过长,与设备相关的信息集中在title字段或body字段中,故使用关键词进行信息筛选;
步骤2.4:建立device_tag语料文件,初始的语料文件仅包含与设备相关的词;由于banner信息中与设备相关的词的形式复杂但内容相近,则采用Wikipedia语料库和NLTK工具生成设备相关词的同义词,形成最终的device_tag语料文件;
步骤2.5:将device_tag文件中的单词或词组作为关键词进行协议信息提取关键字段,保留关键词本行和后一行内容形成关键字段,若有内容则提取;若关键字段仍然很长,则使用提出的关键字段缩减规则进行删减,所述的关键字段缩减规则具体表述为:关键字段中至多存在3个“<>”,即至多保留关键词的前一行,本行与后一行在标准HTML中的内容;
步骤2.6:对处理好的语料使用NLTK进行分词和词性标注,最后去停用词,在现有英文停用词表的基础上增加符合本次实验的停用词,包含标点符号,协议标志字段,服务信息。
4.根据权利要求1所述的基于语义物联网中间件的物联网设备智能注册方法,其特征在于,所述步骤3包括以下子步骤:
步骤3.1:基于全网在线设备销售与测评网站的设备信息,收集全网物联网设备品牌和设备类型,其中按照设备涵盖范围将设备类型分为类型大类,类...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。