十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前言
站在用户的角度思考问题,与客户深入沟通,找到南岔网站设计与南岔网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖南岔地区。本文主要给大家介绍的是关于obix协议在java中的配置和使用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
什么是 oBIX?
简单来讲,obix是一种 XML 通讯协议,使用Http Request/Post方式进行数据通讯。所有数据通过可读字符进行传送,一个oBIX对象可以有唯一的一个URL识别。
oBIX的实现原理
首先数据储存在Niagara的服务平台上,我们需要做的是从Niagara获取数据,并且储存在InfluxDB中。下面是实现的流程方法。
我们都需要定义哪些类以及变量?
类/接口 名 | 用途 |
---|---|
Calculator | |
DiscoverEngine | 搜索工具 |
FactorInfo | 定义所采集元素的信息 |
FactorNameDecoderInterface | 元素名称解码接口 |
FactorNameDecoderObixUrlImpl | |
NewValueInterface | |
NewValueInterfaceImpl | |
ObixClientMgr | |
ObixClient | |
ObixFetcher | 循环抓取obix传输的数据 |
1、遍历各个点
2、先遍历各个设备,将相同的typeid的设备存入同一个hashmap中
3、开始执行主程序,先从数据库中查询出项目名称
4、开始搜索!
public class ObixFetcher implements JobInterface{ //这个是接口的抽象方法 public void cycleOnce() { //从数据库中取出项目信息 Listps = dao.selectByExample(new ProjectExample()); //遍历项目信息,如果项目信息的关键信息不为null for(Project p : ps){ if(p.getObixBaseAddress() != null && p.getObixUsername() != null && p.getObixPassword() != null){ //开启探索工具 (应该还是一个内部类),将关键项目信息传入探索工具, DiscoverEngine de = new DiscoverEngine(p.getObixBaseAddress(), p.getObixUsername(), p.getObixPassword()); //从build数据库中将数据取出,存入bulidNameToId(同样还是构造方法) //从device数据库中将数据取出,存入deviceNumberToId(同样还是构造方法) de.setNewValueInterface(new NewValueInterfaceImpl(p.getId(), deviceService, deviceDao, deviceTypeDao, buildDao)); //return回来一个FactorInfo de.setFactorNameDecoderInterface(new FactorNameDecoderObixUrlImpl()); de.run(); } } } }