基于设备描述文件的数据解析方法

文档序号:6444182阅读:583来源:国知局
专利名称:基于设备描述文件的数据解析方法
技术领域
本发明涉及一种物联网设备之间数据传输后的数据解析技术,尤其涉及一种基于XML技术在通用物联网设备数据解析方面的方法。
背景技术
物联网的概念10年前就已经提出,实际上是Machine to Machine (M2M),也就是物体与物体的连接,它利用各种网络手段,比如以太网、WIF1、3G、Wimax等等,将电脑、手机、电器、机械等设备连接在一起。未来,我们的物联网将会是一个7*24小时的网络,无处不在,无时不在。中科院信息与工程学院教授易卫东认为,物联网就是在互联网的平台和技术之上,搭建的人物相连、物物相连的平台,物联网依托于物联网技术。而物联网技术就是在各种物品上安装感应器,然后通过某互联网终端来感知、控制这些物品的技术。物联网被称作全球下一个万亿元级规模的新兴产业之一。物联网技术发展已被列入中国国家重大科技专项,与新能源、绿色制造等并列为国家五大新兴战略性产业。“物联网”是继计算机、互联网与移动通信网之后的世界信息产业第三次浪潮。“智慧地球”,“感知中国”所提出的形成智慧型基础设施“物联网”,是振兴经济、确立竞争优势的关键战略。RFID技术作为一项先进的自动识别和数据采集技术,是21世纪构建“智慧地球”的重要技术之一 O现在物联网技术较新,很多方面没有统一的标准。其技术领域包括:物联网架构技术;通信技术;网络技术;网络定位和发现技术;软件和算法技术;硬件技术;数据和信号处理技术;物联网研究战略路线图;发现和搜索引擎技术;关系网络管理技术;电源和能量存储技术;安全和隐私技术;标准化和相关技术;物联网设备数据解析是整个物联网技术领域中的一小部分技术领域的软件技术,此类功能一般的物联网方案提供商,都是采用驱动方式完成。通过建立物联网网关与物联网设备进行通讯,对不同的设备撰写不同的设备驱动,属于硬编码技术。不同的设备有不同的驱动,也就是不同的编码。各个厂商的采用的软件算法不同,解析方式不同,驱动编写五花八门,正是由于国际上对数据的解析一直没有标准。因此造成了今天这种局面。(国际上只是发布了几个物联网设备通讯的的标准协议和规范,例如=ZigBee和HA。但是基于这些协议的应用数据就没有标准了)传统的设备驱动方式的缺点:1.米用硬编码,工作量大。2.难维护。硬编码技术编写驱动难以调试、升级测试。即使进行调试、升级,其代价也相当的大。3.不具有跨平台特性。不同的平台即使同一个设备的驱动也需要重新编写。

发明内容
本发明的技术效果能够克服上述缺陷,提供一种基于设备描述文件的数据解析方法,其通用的数据解析程序,替代传统的“设备驱动”工作,设备驱动实现的功能和所起的作用完全由基于设备描述文件的数据解析技术实现,缩短了设备发布时的工作量,为不同厂商设备的互联互通提供了通用的技术基础。为实现上述目的,本发明采用如下技术方案:其包括如下步骤:(A)建立设备描述文件:由专业的设备描述文件编写技术人员向设备生产商索取设备指令和解析规则,然后按照设备描述文件的规范要求进行XML编写;(B)使用设备描述文件,其包括以下两个过程:B1.获得向设备发送指令;B2.解析来自设备的指令数据包。本技术方案共分为两部分,一部分是设备描述文件的创建和维护,一部分是设备描述文件的使用。其中设备描述文件的使用又分为两个过程,一个是获得向设备发送的控制指令,一个是解析来自设备的指令数据包为有意义的数值或状态。采用XML文档,将设备的指令统一格式化和标准化,编译通用的XML解析程序,就能实现联网设备通讯后数据的解析和拼接。大大减轻了设备驱动编写工作量,同时提供了不同厂商设备之间连动的可能。XML:英文全称extensible markup language ;用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法(WWW.w3.0rg/TR/WD-xml)。因为XML是个公共格式,(它不专属于任何一家公司),所以使用XML技术不会造成侵权。XML 开源工具包:Apache 公司开发包 org.w3c.dom.Element,org.w3c.dom.Node ;XML是一种语言,并不包括软件实现。XML开源工具包是软件实现,不同软件公司都可以对XML编写实现,其功能在于实现了 XML语言要求的文件的读写。跨平台:java编程工具本提供的跨平台的特性。消除编码工作,通过标准化规范指令的编写,将指令全部使用XML文件保存(即设备描述文件),创建通用的设备描述文件解析程序,进行指令的拼接与数据解析。对XML文件的调试、校验工作的效率相比驱动方式将大大的提高,同时只要编写不同平台的通用设备描述文件解析程序,即能实现跨平台的特性。这是一种一劳永逸的方法。设备驱动方式是一种非常传统的硬件在软件中的实现方法。但是其缺点也很明显。大量的重复且无法减少的工作,维护和调试工作量大。本发明的设备描述文件的数据解析技术,提炼了设备操作方面的共性,将之标准化、规范化,凝缩到一个设备描述文件中。该设备描述文件保存(或描述了 )设备的所有状态、指令、数据解析方法,是一个纯文本的物理文件。当物联网设备需要“驱动”的时候,只要通过通用的数据解析程序解读正确的设备描述文件,即可获得等同于驱动方式的效果。XML语言被用于很多软件领域中,但是作为物联网设备的数据解析还是首次。本发明创造避免了编写设备驱动工作中大量的重复劳动,显著提高了工作效率;并且降低了 “设备驱动”的维护成本。


图1为本发明的获得向设备发送指令流程示意图;图2为本发明的解析来自设备的指令数据包流程示意图。
具体实施例方式本发明的基于设备描述文件的数据解析方法包括如下步骤:(A)建立设备描述文件:由专业的设备描述文件编写技术人员向设备生产商索取设备指令和解析规则,然后按照设备描述文件的规范要求进行XML编写;(B)使用设备描述文件,其包括以下两个过程:B1.获得向设备发送指令;B2.解析来自设备的指令数据包。第一步:建立设备描述文件(或者维护设备描述文件)由专业的设备描述文件编写工程师向设备生产商索取设备指令和解析规则。然后按照设备描述文件的规范要求进行XML的编写。设备描述文件保存了该设备的所有指令、数据解析的以及他们所有可能发生的情况。设备描述文件规范基于长期的实践总结出来了两个流程,每个流程按照两层结构、五种操作,循环使用的方法,可以将目前市面上的具有如下特征的设备指令和解析格式全部实现:1.设备指令长度是变化的或者固定长度。其长度不超过1K。事实上99%以上的设备控制指令不超过50字节。2.设备指令参数零个、一个或者多个。最多支持1000个。3.设备指令的每一种参数可以使用以下五种方法(十进制数值加运算、十进制数值转十六进制字符、字符串相加运算、CS校验值运算、分支运算),每种方法可以使用零次、一次或者多次。每种方法在使用的时候没有必然的顺序要求。但具体到一款设备时,各种方法都是按照顺序执行的。4.待解析的数据是变化的或者固定长度。这里的变化指:不同的句柄解析过程其解析数据可以不同。但相同的句柄解析过程必须一样。5.待解析的数据可以使用以下五种方法(截取定长字符串中的确定位置子字符串、按比特进行与操作运算、十进制加法运算、分支运算、十六进制字符串转十进制数值运算),每种方法可以使用零次、一次或多次。每种方法在使用的时候没有必然的顺序要求。但具体到一款设备时,各种方法都是按照顺序执行的。至此设备描述文件已经建立完毕。如果需要更改其中的内容,则直接按照上述步骤和要求进行修改重新部署XML文件即可,不需要更改程序。可维护性极高、升级代价极小。第二步:使用设备描述文件。运行通用设备描述文件解析程序,加载一款设备的设备描述文件。该通用设备描述文件能识别设备描述文件中的所有关键字(例如:Commandlit、Datahandle> token、short等等)。能根据命令列表找到对应预处理过程,进行多次的子操作得到发送指令或者根据数据句柄找到对应的数据处理过程,进行多次的子操作(必要的时候还可循环调用数据处理过程),得到有意义的数值或者设备状态。步骤(B)中获得向设备发送指令步骤如下:(I)输入设备描述文件名;(2)文件是否存在,不存在,结束;存在,进行下一步;(3)加载文件是否成功,不成功,结束;成功,进行下一步;(4)获取设备操作指令列表,不成功,结束;成功,进行下一步;一款设备的操作指令可以是多个。一个设备描述文件涵盖了该设备所有操作指令,例如:开关、控制风速等。(5)发送指令参数,指令参数包括:操作名称、输入参数、预处理函数、以及输入参数的类型。输入参数共有三类:枚举、数字、任意;(6)指令预处理,根据函数名和预处理函数名,找到对应预处理函数;(7)指令预处理子操作,未结束,循环指令预处理子操作;结束,获得发送指令。子操作可以有多个,没有数量限制,按照顺序执行所有的子操作。子操作的种类共有五种:十进制数值加运算、十进制数值转十六进制字符、字符串相加运算、CS校验值运算、分支运算步骤⑶中获得向设备发送指令步骤如下:(I)输入设备描述文件名;(2)文件是否存在,不存在,结束;存在,进行下一步;(3)加载文件是否成功,不成功,结束;成功,进行下一步;(4)输入采集数据信息;(5)查找数据解析处理列表,不成功,结束;成功,进行下一步;一款设备的数据解析句柄可以是多个。一个设备描述文件涵盖了该设备所有数据解析句柄。每个句柄对应了该设备一个通讯控制指令的反馈结果。(6)数据解析处理过程;根据句柄名,找到对应句柄处理过程。(7)处理子操作,未结束,循环处理子操作;结束,解析数据完成。子操作可以有多个,没有数量限制,按照顺序执行所有的子操作。子操作的种类共有五种:截取定长字符串中的确定位置子字符串、按比特进行与操作运算、十进制加法运算、分支运算、十六进制字符串转十进制数值运算。本通用设备描述文件解析程序使用java语言编写,可以在Iinux和windows平台运行,实现了跨平台的特性。同时以后无论增加怎样的设备只要会编写设备描述文件即可发布设备,无需编码。
权利要求
1.一种基于设备描述文件的数据解析方法,其特征在于,包括如下步骤: (A)建立设备描述文件:由专业的设备描述文件编写技术人员向设备生产商索取设备指令和解析规则,然后按照设备描述文件的规范要求进行XML编写; (B)使用设备描述文件,其包括以下两个过程: B1.获得向设备发送指令; B2.解析来自设备的指令数据包。
2.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(A)中的规范要求包括:设备指令长度是变化的或者固定长度的,其长度不超过1K。
3.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(A)中的规范要求包括:设备指令参数为零个或一个或一个以上,最多支持1000个。
4.根据权利要求3所述的基于设备描述文件的数据解析方法,其特征在于,步骤(A)中的规范要求包括:设备指令的每一种参数使用以下方法,十进制数值加运算、十进制数值转十六进制字符、字符串相加运算、CS校验值运算、分支运算。
5.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(A)中的规范要求包括:待解析的数据是变化的或者固定长度。
6.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(A)中的规范要求包括:待解析的数据使用以下五种方法,截取定长字符串中的确定位置子字符串、按比特进行与操作运算、十进制加法运算、分支运算、十六进制字符串转十进制数值运笪
7.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(B)中获得向设备发送指令步骤如下: (1)输入设备描述文件名; (2)文件是否存在,不存在,结束;存在,进行下一步; (3)加载文件是否成功,不成功,结束;成功,进行下一步; (4)获取设备操作指令列表,不成功,结束;成功,进行下一步; (5)发送指令参数; (6)指令预处理; (7)指令预处理子操作,未结束,循环指令预处理子操作;结束,获得发送指令。
8.根据权利要求1所述的基于设备描述文件的数据解析方法,其特征在于,步骤(B)中获得向设备发送指令步骤如下: (1)输入设备描述文件名; (2)文件是否存在,不存在,结束;存在,进行下一步; (3)加载文件是否成功,不成功,结束;成功,进行下一步; (4)输入采集数据信息; (5)查找数据解析处理列表,不成功,结束;成功,进行下一步; (6)数据解析处理过程; (7)处理子操作,未结束,循环处理子操作;结束,解析数据完成。
全文摘要
本发明涉及一种物联网设备之间数据传输后的数据解析技术,尤其涉及一种基于XML技术在通用物联网设备数据解析方面的方法。本发明的基于设备描述文件的数据解析方法,包括如下步骤(A)建立设备描述文件由专业的设备描述文件编写技术人员向设备生产商索取设备指令和解析规则,然后按照设备描述文件的规范要求进行XML编写;(B)使用设备描述文件,其包括以下两个过程B1.获得向设备发送指令;B2.解析来自设备的指令数据包。本发明创造避免了编写设备驱动工作中大量的重复劳动,显著提高了工作效率;并且降低了“设备驱动”的维护成本。
文档编号G06F17/30GK103186582SQ20111045150
公开日2013年7月3日 申请日期2011年12月29日 优先权日2011年12月29日
发明者王金龙, 于忠清, 张锟, 辛宪亮, 富饶, 翟伟伟, 崔九梅 申请人:青岛海尔软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1