CN105898820A - 一种基于ISA100.11a标准的无线传感网的通信中转方法 - Google Patents
一种基于ISA100.11a标准的无线传感网的通信中转方法 Download PDFInfo
- Publication number
- CN105898820A CN105898820A CN201610394189.6A CN201610394189A CN105898820A CN 105898820 A CN105898820 A CN 105898820A CN 201610394189 A CN201610394189 A CN 201610394189A CN 105898820 A CN105898820 A CN 105898820A
- Authority
- CN
- China
- Prior art keywords
- data
- order
- command
- service
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种基于ISA100.11a标准的无线传感网的通信中转方法,将中间件部署在工业现场网络中,处于网关和用户之间,将一般性的网关服务转变为面向用户需求的具体化监控访问接口,方便从用户角度建立相关的无线传感网监控平台。中间件采用一种命令驱动机制进行运作,每个具体的命令代表了用户需要监控的实际内容,中间件使用命令调用相应的网关服务,网关根据调用内容回复用户所需要的监控数据,最终再由中间件将监控数据送给用户。本发明能够在网关服务的基础上面向用户的具体监控需求,提供更直观的监控接口,优化了用户对无线传感网实施监控的渠道与过程,保障了用户监控访问的稳定性和实时性。
Description
技术领域
本发明涉及一种无线传感网的通信中转方法,属于工业无线传感网技术领域,主要用于在ISA100.11a无线传感网系统中向用户提供系统的监控接口。
背景技术
ISA100.11a标准作为工业无线传感网的重要标准之一,得到越来越多的研究与应用。ISA100.11a标准基于IEEE 802.15.4,支持多种无线网络拓扑,包括星型、网格型、星网结合型等,符合该标准的无线设备可以按照任意拓扑方式连接。为了扩大网络覆盖范围并提升总体性能,ISA100.11a标准引入了骨干网的概念,具体为可兼容IPv6的高速网络,一般由以太网或Wi-Fi承担,并且规定了由骨干路由器设备作为无线传输和骨干网传输之间的桥梁。ISA100.11a标准还规定了网关和系统管理器这两种设备,它们在骨干网上与骨干路由器进行高速通信;网关负责ISA100.11a协议数据与外部工业现场网络协议数据之间的转换,并向用户提供相应的网络访问服务;系统管理器则总管无线传感网的资源分配与调度,包括无线拓扑、设备列表维护等功能。
除上述内容之外,ISA100.11a标准未再规定其他的符合该标准的无线传感网系统的设备角色。因此,对于用户而言,只能通过网关应用层提供的一些服务来实现对无线传感网的监控,如发布订阅服务、客户服务器服务等。但是ISA100.11a标准所规定的网关服务都属于一般性服务,应用层具体如何使用这些服务并未做出规定。即就是说,用户如何对ISA100.11a无线网络执行具体的拓扑查询、设备列表、网络通信质量等操作需要自行实现。
发明内容
为了克服现有技术的不足,本发明提供一种基于ISA100.11a标准的无线传感网的通信中转方法,能够在网关服务的基础上面向用户的具体监控需求,提供更直观的监控接口。
本发明解决其技术问题所采用的技术方案是:
步骤1,在基于ISA100.11a标准的无线传感网WSN的网络拓扑中,在网关和用户之间部署中间件;
步骤2,创建一个数据库,用于存储用户和中间件之间的交互数据,所述的交互数据包括两类:一类是用户所需要的ISA100.11a无线网络参数,至少包括设备列表、网络拓扑连接、设备信道信息、设备的传感器控制器参数、设备通信契约、网络总体性能指标和设备之间的无线通信质量的监控数据;另一类是控制用户和中间件之间数据交互的命令参数;
所述的命令参数包括两方面,一是命令概念的定义,二是代表用户请求的实例化命令数据;所述的命令概念定义了命令的名称和内容,不同的内容代表了用户访问ISA100.11a网络不同参数的需求;设备列表命令的内容是获取WSN所有设备的列表;网络拓扑命令的功能是获取WSN的网络拓扑;信道调度命令的功能是报告设备的时隙与信道分配;设备信息命令的功能是报告指定设备的传感器控制器参数;网络健康命令的功能是报告WSN的网络状况;设备邻居命令的功能是报告设备的邻居节点通信;契约路由命令的功能是更新网络的契约与路由;所述的实例化命令数据是代表用户请求的命令概念的具体化对象。
步骤3,根据用户请求在数据库中创建实例化命令数据;实例化命令数据包括命令类型、命令状态和请求数据;
创建实例化命令数据的途径包括用户向数据库中插入实例化命令数据,和中间件向数据库中插入实例化命令数据。
所述的命令状态包括新建New、已发送Sent、已响应Responded和失败Failed,新插入数据库对应表中的实例化命令数据的命令状态都赋值为New。
步骤4,所述中间件按照设定的周期查询数据库中是否存在新建命令,即命令状态为New的实例化命令数据;如果存在新建命令,将新建命令从数据库中读取出来,剔除掉格式非法的错误命令,将有效命令写入未处理命令缓存中;将剔除掉的错误命令的命令状态置为Failed,并在数据库中更新其对应的字段;
所述数据库的接口设计为多线程连接池,连接池维护着若干数据库连接,每个连接对应一个处理SQL语句的线程,中间件在访问数据库时即激活一个空闲线程并使用对应的连接去执行数据库访问任务,访问结束后连接依然有效同时对应线程置为等待;查询操作由只读连接完成,且只读连接由多个查询操作共享;增、删、改操作由可写连接完成,且每个可写连接只能由一个写入操作独占。
步骤5,所述未处理命令缓存按照写入顺序将实例化命令数据发送给网关,由命令调用网关服务的方式将用户的请求传达至WSN,并且将数据库中所记录的实例化命令数据的状态属性值由New更新为Sent;
所述的网关服务由ISA100.11a协议标准定义,包括警报管理服务Alert、大块数据传输服务BulkTransfer、客户服务器服务ClientServer、发布订阅服务PublishSubscribe、系统报告服务SystemReport和时间服务TimeService;命令和网关服务之间是多对多的对应关系;所述的设备列表命令调用系统报告服务;网络拓扑命令调用系统报告服务;信道调度命令调用系统报告服务;设备信息命令调用客户服务器服务、发布订阅服务、系统报告服务和时间服务;网络健康命令调用警报管理服务、系统报告服务和时间服务;设备邻居命令调用警报管理服务、系统报告服务和时间服务;契约路由命令调用系统报告服务。
步骤6,网关在ISA100.11a规定方式下完成服务的执行,并将结果数据作为实例化命令数据的响应数据送入中间件;中间件把对应的实例化命令数据转入已处理命令缓存中;并对响应数据进行甄别,剔除错误数据和超时数据,得到正确响应数据;
所述响应数据的甄别包括以下内容:对比WSN响应数据和所对应实例化命令数据的请求数据剔除错误数据,对比WSN响应数据的时间戳和所对应实例化命令数据的更新时间剔除超时数据。
步骤7,数据库更新实例化命令数据的最终状态,错误数据和超时数据所对应的实例化命令数据的命令状态更新为Failed,正确响应数据所对应的实例化命令数据的命令状态更新为Responded;将步骤6得到的正确响应数据作为最新的WSN参数存入数据库相对应的表中,以供用户查看。
所述的中间件按照设定的周期清理数据库中超过设定存储时间的历史数据。
本发明的有益效果是:使用自定义的命令驱动机制调用ISA100.11a网关所提供的各种服务,从而提供了面向用户的具体监控需求的直观化的控制接口,使用户应用可以方便的根据需要获得相关的无线传感网状态参数并实施一定的控制功能。此外,中间件的存在极大的优化了用户对无线传感网实施监控的渠道与过程,未处理和已处理命令缓存区和多线程连接池的设计保障了用户监控访问的稳定性和实时性。
附图说明
图1是基于ISA100.11a标准的无线传感网系统及所述中间件的拓扑。
图2是中间件的内部软件结构。
图3是命令概念定义的类图。
图4是实例化命令的状态图。
图5是中间件角度的命令处理流程图。
具体实施方式
本发明解决其技术问题所采用的技术方案是:在ISA100.11a的网络拓扑之中将所述中间件方法实现为软件模块并部署于网关和用户之间作为Socket通信中转,可将网关的一般性服务转换为面向用户需求的具体化监控接口。此外,中间件方法需要有额外配套的数据库来帮助实现,以便存储用户所需要的监控数据,这些数据的内容至少应涵盖设备列表、网络拓扑连接、设备信道信息、设备的传感器控制器参数、设备通信契约、网络总体性能指标和设备之间的无线通信质量这七个方面,所谓契约(Contract)是ISA100.11a协议标准所定义的无线通信资源。以下按照所述中间件方法的实现步骤给出本发明内容的详细描述。
步骤1,以模块化方式创建中间件软件实体,软件实体中各个子模块之间的互动方式和具体作用可在后续步骤中逐步体现。
首先在中间件软件实体中定义三大模块,分别是:网关接口模块、数据库接口模块和命令管理模块。
所述网关接口模块,负责使用命令调用网关的相关服务,以及接收网关响应命令的回复数据。在网关接口模块内部定义三个子模块,分别是:未处理命令模块、已处理命令模块和WSN响应数据模块。
所述数据库接口模块,负责读取和写入数据库的基本操作,并采用连接池的设计方法提升接口性能。在数据库接口模块内部定义四个子模块,分别是:只读连接模块、可写连接模块、连接池模块和线程池模块。
所述命令管理模块,负责将用户创建的实例化命令送入网关以及将网关响应命令的数据再送回给数据库以供用户查看,是中间件的核心模块。在命令管理模块内部定义十个子模块,分别是:查找新命令模块、命令排错检查模块、已响应命令模块、失败命令处理模块、命令记录更新模块、WSN数据分类管理模块、错误数据剔除模块、WSN数据更新模块、定时数据清理模块和周期命令建立模块。
步骤2,创建一个数据库,该数据库作为中间件方法的软件实体的额外辅助部分帮助中间件方法实现其功能。数据库主要用于存储用户和中间件之间的交互数据,这些数据按用途可分为两类:一类是用户所需要的ISA100.11a无线网络参数,即上述设备列表、网络拓扑连接、设备信道信息、设备的传感器控制器参数、设备通信契约、网络总体性能指标和设备之间的无线通信质量这至少七个方面的监控数据;另一类是控制用户和中间件之间数据交互的自定义命令参数,所有的ISA100.11a无线网络参数都需要通过对自定义命令参数的使用来获取。
自定义的命令参数包括两方面,一是命令概念的定义,二是代表用户请求的实例化命令数据。其中,命令概念定义了命令的名称和内容,不同的内容代表了用户访问ISA100.11a网络不同参数的需求,而实例化命令数据则是在中间件方法运转的过程中代表用户请求的命令概念的具体化对象。中间件方法将常用的ISA100.11a网络参数访问需求所对应的命令统称为周期性命令,其他自定义的命令则称为非周期性命令,所有的命令定义都可以根据需求进行扩展和缩减。
在本步骤中,至少应在数据库建立后创建周期性命令概念的定义数据,基本的周期性命令定义如下:
表1周期性命令说明
其中,对应于监控数据,设备列表命令对应了设备列表方面;网络拓扑命令对应了网络拓扑连接方面;信道调度命令对应了设备信道信息方面;设备信息命令对应了设备的传感器控制器参数方面;网络健康命令对应了网络总体性能指标方面;设备邻居命令对应了设备之间的无线通信质量方面;契约路由对应了设备通信契约方面。
步骤3,根据用户请求在步骤1建立的数据库中创建实例化的命令数据。实例化的命令需要指明其具体是命令概念定义中的哪一种命令,还要指出实例化命令在中间件方法运转中所处的状态,此外需要包括用户请求可能存在的请求数据,所谓可能存在是因为许多命令种类本身的名称已经足够代表请求内容。本发明不具体规定实例化命令在数据库中的详细格式,可以根据需要进行定义,但必须具备指明命令类型、命令状态和请求数据的功能,这里以设备列表命令为例列出一种可参考的实例化命令组织结构如下。
实例化命令ID | 命令变量名 | 简称 | 请求数据 | 更新时间 | 命令状态 |
1 | GetDeviceList | GDL | NULL | 1970-01-01 00:00:00 | New |
创建实例化命令数据的具体途径有两种,一是代表用户的客户端、web等媒介向数据库对应的表中插入实例化命令数据,二是所述中间件的命令管理模块中的周期命令建立子模块通过数据库接口模块向对应的表中插入实例化命令数据。
命令状态是采用状态机模式管控实例化命令所定义的属性,共有四种状态属性,分别是:新建(New)、已发送(Sent)、已响应(Responded)和失败(Failed)。在本步骤中,新插入数据库的实例化命令数据的状态属性都赋值为New,其他状态属性的变化在后续步骤中体现。
步骤4,所述中间件的命令管理模块会通过数据库接口模块定时查询数据库中是否有步骤3所产生的状态为New的新建命令,具体由命令管理模块中的查找新命令子模块负责。如果存在新建命令,查找新命令子模块会将这些状态为New的命令从数据库中读取出来,再由命令排错检查子模块剔除掉格式非法的错误命令数据,最后将有效的命令数据存入网关接口模块的未处理命令缓存子模块中。对于剔除掉的错误命令数据,应将其状态属性置为Failed,并由查找新命令子模块在数据库中更新其对应的字段。
为了提升对步骤1建立的数据库的访问性能,将中间件的数据库接口模块设计为多线程连接池的方式。连接池维护着一定数量的数据库连接,每个连接对应一个处理SQL语句的线程,中间件在访问数据库时即激活一个空闲线程并使用对应的连接去执行数据库访问任务,访问结束后连接依然有效同时对应线程置为等待。查询操作由只读连接完成,且只读连接可以由多个查询操作共享;增、删、改这三种写入操作由可写连接完成,且每个可写连接只能由一个写入操作独占。连接池的规模取决于中间件所依赖的硬件平台、操作系统和数据库系统的综合性能,数据库连接数量可视情况而定本发明不作特殊要求。
步骤5,所述中间件网关接口模块中的未处理命令缓存子模块会按照先后顺序将实例化命令发送给网关,由命令调用网关服务的方式将用户的请求传达至ISA100.11a网络,并且在该步骤中由命令管理模块的命令记录更新子模块将数据库中所记录的实例化命令数据的状态属性值由New更新为Sent。
所谓网关服务由ISA100.11a协议标准定义,包括警报管理服务(Alert)、大块数据传输服务(BulkTransfer)、客户服务器服务(ClientServer)、发布订阅服务(PublishSubscribe)、系统报告服务(SystemReport)和时间服务(TimeService)。命令和网关服务之间是多对多的对应关系,一种命令可能会调用多个服务,不同的命令也可能会用到同一种服务,应视命令概念定义的情况而定。本发明所述的基本周期性命令所调用的网关服务如下:设备列表命令调用系统报告服务;网络拓扑命令调用系统报告服务;信道调度命令调用系统报告服务;设备信息命令调用客户服务器服务、发布订阅服务、系统报告服务和时间服务;网络健康命令调用警报管理服务、系统报告服务和时间服务;设备邻居命令调用警报管理服务、系统报告服务和时间服务;契约路由命令调用系统报告服务。
步骤6,网关在ISA100.11a规定方式下完成服务的执行,并将结果数据作为实例化命令的响应数据送入中间件网关接口模块的WSN响应数据子模块。同时,未处理命令缓存子模块会把相应的具体命令数据转入已处理命令缓存子模块。命令管理模块进一步对响应数据进行甄别管理后转入WSN数据更新子模块,主要在于错误数据和超时数据的剔除,具体的甄别由WSN数据分类管理子模块负责,剔除则由错误数据剔除子模块负责。数据的甄别方法主要依赖于唯一标识实例化命令的命令ID,通过该ID可以知晓某个WSN响应数据所对应的实例化命令,对比WSN响应数据和所对应实例化命令的请求数据可以剔除错误数据,对比WSN响应数据的时间戳和所对应实例化命令的更新时间则可以剔除超时数据,错误数据和超时数据所对应的实例化命令数据都要从已处理命令缓存子模块之中转入失败命令处理子模块,正确完成的实例化命令数据则转入已响应命令子模块。
步骤7,命令记录更新子模块通过数据库接口模块将实例化命令的最终状态在数据库对应记录中更新,失败命令处理子模块之中的实例化命令将在数据库中更新其状态为Failed,已响应命令子模块之中的实例化命令将在数据库中更新其状态为Responded。WSN数据更新子模块则将步骤6得到的最新ISA100.11a无线网络参数存入数据库相对应的表中,以供用户查看。
另外需要补充的是,中间件命令管理模块中的定时数据清理子模块会定期通过数据库接口模块清理数据库中时间较久远的历史数据,以维护数据库的大小和性能,判断数据是否为历史数据的时间阈值可视软硬件综合性能的实际情况而定。
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
图1表现了中间件在ISA100.11a无线网络拓扑中的部署方案,其中数据库是直接面向用户的外壳,用户可以用客户端、web或其他任意访问数据库的典型方法来获取对ISA100.11a无线网络的监控。因此,本发明所述中间件方法必然由创建数据库开始。
步骤1,以模块化方式创建如图2所示的中间件软件实体。结合图1进一步明确中间件在ISA100.11a宏观网络系统中的角色:如图1所示,中间件是一个独立的软件模块,它与网关在工业现场网络中进行Socket通信。工业现场网络通常是以太网。骨干网可以是以太网或Wi-Fi等支持IPv6和UDP通信的网络。无线传感网和骨干网范围内的设备和模块都是ISA100.11a标准已经规定的。本发明所述中间件及其方法未在ISA100.11a标准之中提及,而是为了更好的实现面向用户需求的目标而额外设计的软件模块。考虑到Wi-Fi和ISA100.11a同属2.4GHz的范围,故一般来讲可以将骨干网与工业现场网络按照统一的局域以太网实现,如此则网关、系统管理器、中间件、数据库等都将是局域网中的软件实体,互相之间以支持IPv6的UDP方式进行Socket通信。
本步骤创建中间件软件实体时,首先在内部分别定义三个模块,即网关接口模块、数据库接口模块以及居于核心位置的命令管理模块。网关接口模块负责衔接ISA100.11a网关服务和中间件中的命令,代表用户的具体监控需求的命令将调用相关的网关服务,网关服务调用完成的结果则作为对应命令的响应回答,故网关接口模块起到了功能语言翻译的作用。数据库接口模块负责将网关传来的监控数据存储到数据库中,故数据库接口模块的核心在于对数据库系统的访问,其具体方式则会随着所采用的数据库系统的不同而有所差异。命令管理模块是中间件的主要功能所在,一方面负责将数据库中新建的实例化命令送给网关以调用其服务,另一方面负责分类管理来自网关的监控数据同时完成实例化命令的生命周期。以下对网关接口模块、数据库接口模块和命令管理模块作进一步细化。
图2中的网关接口模块定义了两个可变长度的命令队列缓存区,分别存储未处理命令和已处理命令。未处理命令缓存区将来自数据库的新建实例化命令按请求时间排序以准备送给网关,已处理的实例化命令则转存入已处理命令缓存区以待命令管理模块依次送给数据库。双缓存区的设计可以防止Socket传输拥塞和可能的数据丢失现象。例如某时间段有大量新建实例化命令加入未处理命令队列后,由于缓存队列的机制使得Socket传输不会拥塞,等待时间过长来不及处理就超时的实例化命令可直接标记为失败命令并转至已处理命令队列。另外需要在网关接口模块中定义WSN响应数据子模块,专门存储网关根据命令请求所返回的相关无线传感网数据。
图2中的数据库接口定义了多线程连接池来提升数据库访问的效率和稳定性。连接池维护着一定数量的数据库连接,包括只读连接与可写连接两种,每个连接对应一个处理SQL语句的线程,可以实现对数据库系统的并行访问效果。连接池中的连接数量即多线程连接池的规模取决于数据库系统本身及其所在的操作系统和硬件平台的综合条件。数据库接口模块的进一步实现在后续步骤体现。
图2中的命令管理模块定义了十个子模块,即查找新命令模块、命令排错检查模块、已响应命令模块、失败命令处理模块、命令记录更新模块、WSN数据分类管理模块、错误数据剔除模块、WSN数据更新模块、定时数据清理模块和周期命令建立模块,每个子模块对应命令管理活动的其中一个环节。宏观上可以将命令管理模块内的十个子模块划分为三个部分:命令管理模块之中的最上部分的查找新命令模块和命令排错检查模块共同完成命令请求的功能;命令管理模块之中的中间部分的命令记录更新模块、已响应命令模块和失败命令处理模块共同完成命令响应的功能;命令管理模块之中的最下部分的其他模块共同完成用户数据更新功能。各个子模块在中间件方法运行步骤中所起到的作用在后续步骤中体现。
步骤2,创建如图1中所指出的数据库。数据库的部署位置与中间件的部署位置可以位于同一个硬件平台上,也可以分别部署于不同硬件平台上。如果数据库与中间件位于同一硬件平台,则二者之间使用所建立的数据库系统提供的本地连接方式互通,否则只能使用数据库系统提供的远程连接方式。
中间件的数据库中所要存储的数据按用途可分为两类:一类是用户所需要的ISA100.11a无线网络参数,至少包括ISA100.11a无线网络相关的七个方面的监控数据,分别是:设备列表、网络拓扑连接、设备信道信息、设备的传感器控制器参数、设备通信契约、网络总体性能指标和设备之间的无线通信质量;另一类是控制用户和中间件之间数据交互的自定义命令参数,包括命令概念的定义和代表用户请求的实例化命令数据两方面,实例化命令数据代表了具有时效性的具体用户请求,在中间件方法运行时根据用户需求动态创建。在数据库所存储的所有数据中,命令概念的定义需要作为静态数据长期稳定的存在于数据库中,因为命令概念是实例化命令建立的参照。
针对命令概念,中间件方法将常用的ISA100.11a网络参数访问需求所对应的命令统称为周期性命令,其他自定义的命令则称为非周期性命令,所有的命令定义都可以根据需求进行扩展和缩减。如图3所示,本发明所述中间件方法所定义的周期性命令至少包括表1的7种命令,命令的功能涵盖了上述ISA100.11a无线网络相关的七个方面的监控数据。具体的涵盖方式为:设备列表命令对应了设备列表方面;网络拓扑命令对应了网络拓扑连接方面;信道调度命令对应了设备信道信息方面;设备信息命令对应了设备的传感器控制器参数方面;网络健康命令对应了网络总体性能指标方面;设备邻居命令对应了设备之间的无线通信质量方面;契约路由对应了设备通信契约方面。
在数据库中,可以按照表1的内容创建一个数据库表来保存长期存在的命令概念定义数据,为了使用方便,可以为每一种命令定义一个唯一的编号来代替命令名称作为识别主键或标识以提高使用效率。
步骤3,用户开始发出访问ISA100.11a无线网络的用户请求,具体活动是用户在数据库中创建代表其请求内容的实例化命令数据。实例化的命令需要指明其具体是命令概念定义中的哪一种命令,还要指出实例化命令在中间件方法运转中所处的状态,此外需要包括用户请求可能存在的请求数据,所谓可能存在是因为许多命令种类本身的名称已经足够代表请求内容。每一条实例化命令数据的记录就代表一个具体的用户请求,中间件将根据这些实例化命令的具体内容来调用网关服务以获取相关ISA100.11a无线网络参数。
实例化的命令数据应具有状态属性,状态是采用状态机模式管控实例化命令所定义的,共有四种属性取值,分别是:新建(New)、已发送(Sent)、已响应(Responded)和失败(Failed),图4为实例化命令的状态图。在本步骤中,新插入数据库的实例化命令数据的状态属性都赋值为New,其他状态属性的变化在后续步骤中体现。
本发明不具体规定实例化命令在数据库中的详细格式,可以根据需要进行定义,但必须具备指明命令类型、命令状态和请求数据的功能,这里以设备列表命令为例列出一种可参考的实例化命令组织结构如下,可以按该结构的内容在数据库中建表存储。
实例化命令ID | 命令变量名 | 简称 | 请求数据 | 更新时间 | 命令状态 |
1 | GetDeviceList | GDL | NULL | 1970-01-01 00:00:00 | New |
对于周期性实例化命令数据而言,既可以由用户通过客户端、web或直接访问的方式在数据库中建立实例化命令数据,也可以由中间件的周期命令建立子模块定时通过数据库接口模块在数据库中建立实例化命令数据,这主要是考虑到实现常用的ISA100.11a网络参数访问需求的自动化更新效果。
步骤4,所述中间件的查找新命令子模块将数据库中状态为New的新建实例化命令读取出来,由命令排错检查子模块剔除格式错误的实例化命令后,一起存入未处理命令子模块缓存队列之中。查找新命令子模块所负责的新命令读取任务可以在中间件方法中不断循环进行,以此保证用户的请求能够得到及时处理,如图5中“查找新命令”的流程。对于排错剔除掉的实例化命令,应及时将其在数据库中的状态记录由New更新为Failed,该工作由查找新命令子模块通过数据库接口模块完成,图4中的“错误剔除”体现了实例化命令在本步骤中的状态变化。
大部分对数据库的数据读取任务都在本步骤中执行,为了进一步提升数据访问性能,将中间件的数据库接口模块设计为步骤2提到的多线程连接池的方式并进一步实现。连接池的每个连接对应一个处理SQL语句的线程,中间件在访问数据库时即激活一个空闲线程并使用对应的连接去执行数据库访问任务,访问结束后连接依然有效同时对应线程置为等待。查询操作由只读连接完成,且只读连接可以由多个查询操作共享;增、删、改这三种写入操作由可写连接完成,且每个可写连接只能由一个写入操作独占。连接池的规模取决于中间件所依赖的硬件平台、操作系统和数据库系统的综合性能,数据库连接数量可视情况而定本发明不作特殊要求。
值得注意的是,虽然大部分数据库系统都允许多个查询操作共享使用同一个连接,但建议根据数据库系统的性能指标对只读连接的共享查询数量设置一个上限,以免可能造成的数据库访问阻塞;此外,执行增、删、改操作时,虽然每个只读连接都是单个SQL语句独占的,但仍要注意可能出现的逻辑上的数据矛盾与同步问题。一般而言,考虑到ISA100.11a无线传感网自身存在物理上的规模上限,因而对数据库的并发访问量不太容易出现性能瓶颈,本发明所提出的多线程连接池方式已足够应对,但不排除以后随着ISA100.11a无线网络技术的进步所带来的数据膨胀的可能。
步骤5,所述中间件网关接口模块中的未处理命令缓存子模块按照先后顺序将实例化命令发送给网关,并由命令调用网关服务的方式将用户的请求传达至ISA100.11a网络,并且在该步骤中由命令管理模块的命令记录更新子模块将数据库中所记录的实例化命令数据的状态属性值由New更新为Sent,表示实例化命令已经发送至ISA100.11a网络中并等待返回结果。
本步骤和步骤4中将实例化命令由数据库读入中间件的过程,体现了实例化命令的状态属性由New更新为Sent的变化,如图5的“排错发送”所示。本步骤的活动在图5中体现为“发送命令”流程,表示中间件已经将实例化命令送入ISA100.11a网络中执行。
网关服务由ISA100.11a协议标准定义,包括警报管理服务(Alert)、大块数据传输服务(BulkTransfer)、客户服务器服务(ClientServer)、发布订阅服务(PublishSubscribe)、系统报告服务(SystemReport)和时间服务(TimeService)。本步骤的核心就是解决命令调用何种网关服务来实现请求内容的问题,命令和网关服务之间应该是多对多的对应关系,一种命令可能会调用多个服务,不同的命令也可能会用到同一种服务,应视命令概念定义的情况而定。
例如,本发明定义的设备信息命令可以获取设备的传感器读数,该命令的设计思路为:首先按照ISA100.11a协议的规定可知,传感器读数由网关的发布订阅服务从带传感器的无线节点上获取,因此该命令需要调用发布订阅服务;其次,用户获取设备读数时往往需要获取对应设备的信息,这些信息按照ISA100.11a协议的内容一般由系统报告服务向系统管理器定时发送,因此该命令还需要调用系统报告服务;最后,用户获取设备读数时必然要了解该读数的最新时间,而无线节点的任何最新上传数据都带有时间戳,这些时间信息按照ISA100.11a协议的内容一般由网关的时间服务进行管理,因此该命令还需要调用时间服务。综上,设备信息命令获取无线节点传感器参数时需要调用发布订阅服务、系统报告服务和时间服务。如果是访问控制器,则根据ISA100.11a协议的规定需要使用客户服务器服务来下发控制指令,因此设备信息命令执行无线节点控制时需要调用客户服务器服务。
无论对命令的概念定义作出何种扩展和缩减,都必须以网关所能够提供的服务为参考,实际上ISA100.11a协议所规定的网关服务一般而言足以满足无线网络监控要求。本发明所述的基本周期性命令所调用的网关服务如下:设备列表命令调用系统报告服务;网络拓扑命令调用系统报告服务;信道调度命令调用系统报告服务;设备信息命令调用客户服务器服务、发布订阅服务、系统报告服务和时间服务;网络健康命令调用警报管理服务、系统报告服务和时间服务;设备邻居命令调用警报管理服务、系统报告服务和时间服务;契约路由命令调用系统报告服务。
步骤6,中间件从网关获得对已发送的实例化命令的处理结果,将网关返回的响应数据存入WSN响应数据子模块,同时将已完成的实例化命令数据从未处理命令缓存队列模块转入已处理命令缓存队列模块。本步骤的关键是进一步对响应数据进行甄别,甄别方法主要依赖于唯一标识实例化命令的命令ID,通过该ID可以知晓某个WSN响应数据所对应的实例化命令,对比WSN响应数据和所对应实例化命令的请求数据可以剔除错误数据,对比WSN响应数据的时间戳和所对应实例化命令的更新时间则可以剔除超时数据,若长期得不到响应数据的已发送实例化命令也应在超过时间阈值后作为超时命令剔除。甄别任务由WSN分类管理子模块完成,甄别不通过的错误响应数据则由错误数据剔除子模块负责删除,甄别通过的正确响应数据存入WSN数据更新子模块以准备写入数据库中。
错误数据和超时数据所对应的实例化命令数据都要从已处理命令缓存子模块之中转入失败命令处理子模块,正确完成的实例化命令数据则转入已响应命令子模块。实际上,在本步骤中的实例化命令的状态属性已经发生变化,即图4由已发送状态变更为已响应状态或者失败状态,但暂未在数据库的实例化命令的对应记录中体现,具体会在下一个步骤中由命令记录更新子模块更新之。
步骤7,命令记录更新子模块通过数据库接口模块将实例化命令的最终状态在数据库对应记录中更新,失败命令处理子模块之中的实例化命令将在数据库中更新其状态为Failed,已响应命令子模块之中的实例化命令将在数据库中更新其状态为Responded。WSN数据更新子模块则将步骤6得到的最新ISA100.11a无线网络参数存入数据库相对应的表中,以供用户查看。图4和图5都表现了失败命令重建的内容,此种状态变化或流程可以选择性实现,即由用户或中间件自身决定是否将数据库中已经更新为Failed状态的失败命令重新置为New状态以使得中间件在下一次查找新命令的循环中得以将其再次处理,这种失败命令重发的功能可以由命令记录更新子模块实现。
Claims (7)
1.一种基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于包括下述步骤:
步骤1,在基于ISA100.11a标准的无线传感网WSN的网络拓扑中,在网关和用户之间部署中间件;
步骤2,创建一个数据库,用于存储用户和中间件之间的交互数据,所述的交互数据包括两类:一类是用户所需要的ISA100.11a无线网络参数,至少包括设备列表、网络拓扑连接、设备信道信息、设备的传感器控制器参数、设备通信契约、网络总体性能指标和设备之间的无线通信质量的监控数据;另一类是控制用户和中间件之间数据交互的命令参数;
步骤3,根据用户请求在数据库中创建实例化命令数据;实例化命令数据包括命令类型、命令状态和请求数据;
步骤4,所述中间件按照设定的周期查询数据库中是否存在新建命令,即命令状态为New的实例化命令数据;如果存在新建命令,将新建命令从数据库中读取出来,剔除掉格式非法的错误命令,将有效命令写入未处理命令缓存中;将剔除掉的错误命令的命令状态置为Failed,并在数据库中更新其对应的字段;
步骤5,所述未处理命令缓存按照写入顺序将实例化命令数据发送给网关,由命令调用网关服务的方式将用户的请求传达至WSN,并且将数据库中所记录的实例化命令数据的状态属性值由New更新为Sent;
步骤6,网关在ISA100.11a规定方式下完成服务的执行,并将结果数据作为实例化命令数据的响应数据送入中间件;中间件把对应的实例化命令数据转入已处理命令缓存中;并对响应数据进行甄别,剔除错误数据和超时数据,得到正确响应数据;
步骤7,数据库更新实例化命令数据的最终状态,错误数据和超时数据所对应的实例化命令数据的命令状态更新为Failed,正确响应数据所对应的实例化命令数据的命令状态更新为Responded;将步骤6得到的正确响应数据作为最新的WSN参数存入数据库相对应的表中,以供用户查看。
2.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:所述的命令参数包括两方面,一是命令概念的定义,二是代表用户请求的实例化命令数据;所述的命令概念定义了命令的名称和内容,不同的内容代表了用户访问ISA100.11a网络不同参数的需求;设备列表命令的内容是获取WSN所有设备的列表;网络拓扑命令的功能是获取WSN的网络拓扑;信道调度命令的功能是报告设备的时隙与信道分配;设备信息命令的功能是报告指定设备的传感器控制器参数;网络健康命令的功能是报告WSN的网络状况;设备邻居命令的功能是报告设备的邻居节点通信;契约路由命令的功能是更新网络的契约与路由;所述的实例化命令数据是代表用户请求的命令概念的具体化对象。
3.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:创建实例化命令数据的途径包括用户向数据库中插入实例化命令数据,和中间件向数据库中插入实例化命令数据。
4.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:所述的命令状态包括新建New、已发送Sent、已响应Responded和失败Failed,新插入数据库对应表中的实例化命令数据的命令状态都赋值为New。
5.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:所述数据库的接口设计为多线程连接池,连接池维护着若干数据库连接,每个连接对应一个处理SQL语句的线程,中间件在访问数据库时即激活一个空闲线程并使用对应的连接去执行数据库访问任务,访问结束后连接依然有效同时对应线程置为等待;查询操作由只读连接完成,且只读连接由多个查询操作共享;增、删、改操作由可写连接完成,且每个可写连接只能由一个写入操作独占。
6.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:所述的网关服务由ISA100.11a协议标准定义,包括警报管理服务Alert、大块数据传输服务BulkTransfer、客户服务器服务ClientServer、发布订阅服务PublishSubscribe、系统报告服务SystemReport和时间服务TimeService;命令和网关服务之间是多对多的对应关系;所述的设备列表命令调用系统报告服务;网络拓扑命令调用系统报告服务;信道调度命令调用系统报告服务;设备信息命令调用客户服务器服务、发布订阅服务、系统报告服务和时间服务;网络健康命令调用警报管理服务、系统报告服务和时间服务;设备邻居命令调用警报管理服务、系统报告服务和时间服务;契约路由命令调用系统报告服务。
7.根据权利要求1所述的基于ISA100.11a标准的无线传感网的通信中转方法,其特征在于:所述响应数据的甄别包括以下内容:对比WSN响应数据和所对应实例化命令数据的请求数据剔除错误数据,对比WSN响应数据的时间戳和所对应实例化命令数据的更新时间剔除超时数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394189.6A CN105898820A (zh) | 2016-06-06 | 2016-06-06 | 一种基于ISA100.11a标准的无线传感网的通信中转方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610394189.6A CN105898820A (zh) | 2016-06-06 | 2016-06-06 | 一种基于ISA100.11a标准的无线传感网的通信中转方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105898820A true CN105898820A (zh) | 2016-08-24 |
Family
ID=56711568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610394189.6A Pending CN105898820A (zh) | 2016-06-06 | 2016-06-06 | 一种基于ISA100.11a标准的无线传感网的通信中转方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105898820A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113495A (zh) * | 2019-05-10 | 2019-08-09 | 北京奇艺世纪科技有限公司 | App的远程控制方法、装置、电子设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854696A (zh) * | 2010-05-25 | 2010-10-06 | 重庆邮电大学 | 基于调度与链路质量的无线传感器网络路由方法 |
CN103201688A (zh) * | 2010-10-26 | 2013-07-10 | Abb研究有限公司 | 在过程控制系统中满足通信约束要求 |
WO2013182215A1 (en) * | 2012-06-06 | 2013-12-12 | Unify Gmbh & Co. Kg | Method of operating a communication device operable in an active mode and in an idle mode, a computer program product for executing the method, and the communication device operable in an active mode and in an idle mode |
CN104506401A (zh) * | 2015-01-06 | 2015-04-08 | 西安航天自动化股份有限公司 | 基于ISA100.11a工业传感网实现Modbus协议传输的方法 |
US20150282054A1 (en) * | 2012-10-23 | 2015-10-01 | Yokogawa Electric Corporation | Wireless communication system, management device, wireless device, and wireless communication method |
-
2016
- 2016-06-06 CN CN201610394189.6A patent/CN105898820A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854696A (zh) * | 2010-05-25 | 2010-10-06 | 重庆邮电大学 | 基于调度与链路质量的无线传感器网络路由方法 |
CN103201688A (zh) * | 2010-10-26 | 2013-07-10 | Abb研究有限公司 | 在过程控制系统中满足通信约束要求 |
WO2013182215A1 (en) * | 2012-06-06 | 2013-12-12 | Unify Gmbh & Co. Kg | Method of operating a communication device operable in an active mode and in an idle mode, a computer program product for executing the method, and the communication device operable in an active mode and in an idle mode |
US20150282054A1 (en) * | 2012-10-23 | 2015-10-01 | Yokogawa Electric Corporation | Wireless communication system, management device, wireless device, and wireless communication method |
CN104506401A (zh) * | 2015-01-06 | 2015-04-08 | 西安航天自动化股份有限公司 | 基于ISA100.11a工业传感网实现Modbus协议传输的方法 |
Non-Patent Citations (1)
Title |
---|
支亚军等: ""基于ISA100.11a工业物联网的中间件设计与实现"", 《自动化仪表》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113495A (zh) * | 2019-05-10 | 2019-08-09 | 北京奇艺世纪科技有限公司 | App的远程控制方法、装置、电子设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107864222B (zh) | 一种基于PaaS平台的工业大数据计算系统 | |
CN106559488B (zh) | 一种建立租户驱动的电网地理信息空间服务的方法 | |
CN110213369B (zh) | 一种服务功能链自动编排系统及其编排方法 | |
CN106126346B (zh) | 一种大规模分布式数据采集系统及方法 | |
CN101617499A (zh) | 自形成网络管理拓扑 | |
CN103532741B (zh) | 一种接入级网络拓扑管理方法与系统 | |
CN103891209B (zh) | 网络控制系统中的控制器 | |
CN106790617B (zh) | 协同内容缓存控制系统和方法 | |
CN106162639B (zh) | 基于Floodlight的SDN无线网络管理平台及认证方法 | |
CN106789157B (zh) | 堆叠系统及堆叠交换机的硬件资源管理方法 | |
CN107480251A (zh) | 一种管理数据访问的系统 | |
CN102148850A (zh) | 一种集群系统的业务处理方法及集群系统 | |
CN107122262A (zh) | 基于agent的数据库智能备份系统 | |
CN109639484B (zh) | 基于软件定义的工业融合网络管理方法及其网络管理器 | |
CN101980207B (zh) | 一种数据库访问的实现方法和系统 | |
CN109547875A (zh) | 一种fc交换网络任意端口接入设计方法 | |
CN101562804A (zh) | 一种基于移动p2p的区域管理服务器系统及其调度方法 | |
CN111757353B (zh) | 5g核心网中的网络数据处理方法及装置 | |
CN107179977B (zh) | 基于mpm模型的数据库全自动监控系统 | |
CN107147507A (zh) | 一种软件定义网络的控制平面构架以及控制方法 | |
CN1063898C (zh) | 模拟移动通信网的集中操作维护方法 | |
CN104967686A (zh) | 一种构建面型3s智慧服务商店系统及其设计方法 | |
CN110311896A (zh) | 机载平台服务注册中心系统 | |
CN112257083A (zh) | 一种基于分布式服务总线自动化接口测试系统 | |
CN111416731A (zh) | 一种基于云端协同边缘节点自适应配置部署的报警系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |