一种基于语义物联网中间件的物联网设备智能注册方法及系统技术方案

技术编号:27879252 阅读:47 留言:0更新日期:2021-03-31 01:09
本发明专利技术公开了一种基于语义物联网中间件的物联网设备智能注册方法,利用设备协议banner信息中丰富的设备语义,采用语料库与规则结合的方法,识别出设备三元组实体;利用爬虫技术收集在线设备测评及零售网站的设备信息,基于设备本体提取统一形式的设备信息并存储在设备本体库中;以三元组作为搜索条件搜索设备本体库,匹配出完整设备信息存储在设备信息数据库中,完成自动注册。若banner信息中识别不到实体,则利用设备商用户自行提交的设备说明书完成设备信息的主动收集,利用规则提取基于设备本体结构的设备信息,分别存储在设备本体库与设备信息数据库中,完成智能注册。

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

【技术保护点】
1.基于语义物联网中间件的物联网设备智能注册方法,其特征在于,包括如下步骤:/n步骤1:利用数据采集模块,获取设备的应用协议内容并解析成统一的文本形式,形成设备协议的banner信息;/n步骤2:将所述设备协议的banner信息,通过banner信息预处理模块转换为banner单词列表;/n步骤3:利用设备实体识别模块从banner单词列表中标注出为品牌、类型、型号的单词,形成设备实体三元组;/n步骤4:通过生成设备信息本体模块提出设备信息本体结构和设备属性信息结构,生成待识别设备细粒度的设备信息存储在设备信息数据库中;/n步骤5:若所述的设备实体三元组可以唯一确定一个物联网设备,则调用自动注册模块,将所述设备实体三元组作为搜索条件,利用提出的注册规则对本体存储库中的信息进行搜索,匹配本体存储库中的信息进行设备信息的补全,从而生成待识别设备信息的本体文件;/n步骤6:若所述的设备实体三元组不能唯一确定一个物联网设备,则调用设备商注册模块主动收集设备文件中的设备信息,形成本体文件,完成注册;/n步骤7:上层用户接口层提供python脚本为上层用户开放统一的API,利用Sparql对设备信息数据库进行透明访问;所述上层用户接口层向普通用户开放查询权限,向开发者开放增删改查的权限,以实现设备信息数据库的维护和扩展。/n...

【技术特征摘要】
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:基于全网在线设备销售与测评网站的设备信息,收集全网物联网设备品牌和设备类型,其中按照设备涵盖范围将设备类型分为类型大类,类...

【专利技术属性】
技术研发人员:岳文静刘献忠
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1