用于物联网数据传输的数据服务总线架构的制作方法

文档序号:10569978阅读:528来源:国知局
用于物联网数据传输的数据服务总线架构的制作方法
【专利摘要】本发明公开一种用于物联网数据传输的数据服务总线架构,包括数据访问模块,通过ORM,设计统一的数据库操作接口,从物联网数据中心获取原始数据;数据适配模块,将所述数据访问模块获取的数据进行格式化处理,统一为JSON格式的数据;REST风格的数据传输通道,将JSON格式的数据传输到web端。本发明统一了数据格式并能全部传输到web端,真正实现了可扩展、弹性架构、可交换共享的功能。
【专利说明】
用于物联网数据传输的数据服务总线架构
技术领域
[0001]本发明涉及信息处理技术领域,特别是用于物联网数据传输的数据服务总线架构。
【背景技术】
[0002]随着物联网的快速发展,物联网正深入到我们的日常生活的方方面面,环境领域、交通物流、医疗服务、金融行业等各行各业都有物联网的身影。但是随着物联网系统的增多,系统之间壁皇明显,简单来说,数据格式与标准、系统开发技术与运行平台呈现出多样化的特征,从.NET、J2EE等传统技术到AndrOid、i0S、HTML5等热门的移动端技术,用户需要不断适应各种系统环境。数据格式不统一、开发技术多样化、应用与解决方案不兼容等原因造成目前行业内存在大量碎片化的物联网系统,导致物联网系统更新升级、数据共享、第三方系统接入变得尤为困难。

【发明内容】

[0003]针对以上指出的现有物联网系统存在的物联网系统封闭、数据格式不统一、系统兼容性差等问题,本发明提供一种数据服务总线架构,即REST风格的数据服务总线。数据服务总线,相当于计算机通信总线,使各种模块之间通信成为可能,使物联网服务数据之间可以屏蔽平台之间的差异,在分布式网络环境下,使数据存储和业务处理逻辑之间可以做到分布式部署。使用数据服务总线可以提供更加全面的数据视图,把数据中心存在的各种数据集成并整合在一起,根据服务提供者业务的需求,提供可信任、可管理的数据,最终这些数据服务存储于服务存储库中供用户使用。
[0004]用于物联网数据传输的数据服务总线架构,包括数据访问模块,通过0RM(0bjectRelat1nal Mapping,对象关系映射),设计统一的数据库操作接口,从物联网数据中心获取原始数据;数据适配模块,将所述数据访问模块获取的数据进行格式化处理,统一为JSON格式的数据;REST风格的数据传输通道,将JSON格式的数据传输到web端。
[0005]所述设计统一的数据库操作接口具体是将物联网数据中心的数据表映射成Java类barBean,以传感设备的ID编号作为传递参数,获取感知数据、数据采集时间、数据存储编号、传感器编号。
[0006]所述JSON格式为JSON数组。
[0007]所述REST风格的数据传输通道通过Servlet实现。
[0008]本发明统一了数据格式并能全部传输到web端,真正实现了可扩展、弹性架构、可交换共享的功能。
【附图说明】
[0009]图1为用于物联网数据传输的数据服务总线架构的结构图;
[0010]图2为实施例REST风格的数据服务总线架构图。
【具体实施方式】
[0011]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0012]REST风格的数据服务总线参考了 SOA思想,实现如图1所示的结构,包括基于JDBC、ORM技术实现的数据访问模块,JSON格式化输出的数据适配模块和基于Servlet技术实现的RESTfu I Web服务传输模块。
[0013]数据访问模块的实现是通过JDBC实现的。通常数据库操作首先加载数据库驱动包,然后编写相关数据操作类,在数据查询工作都完成之后,关闭之前已经打开的各种数据库连接线程。但是对于分布式物联网环境来说,这种JDBC数据库操作的一个关键问题在于数据库连接请求过多时资源如何管理与释放。当有多个用户需要获取物联网数据中心的数据时,会同时建立起多个连接请求,占用大量资源。这样数据中心会一直出于请求处理状态,由于系统内存有限,很容易造成系统内存溢出现象,导致物联网数据获取失败。因此,本数据服务总线使用开源的C3P0数据库连接池。
[0014]通过0RM,解决面向对象与关系数据库存在的互不匹配的现象,将数据封装成相对应的JAVA类,可以方便的实现数据查询接口,增强数据访问模块的可扩展性。
[0015]数据访问操作的程序流程,数据访问模块基于JDBCAPI实现,首先初始化C3P0数据库连接池,加载Oracle数据库驱动,如果数据库连接成功,则进行数据查询操作,否则抛出异常。如果查询成功,则返回相应的结果,否则抛出查询失败异常。为了增强数据操作的可扩展性,需要设计一些接口以便更方便的进行物联网数据中心数据库操作。
[0016]利用已经设计了ORM程序模块,将数据中心中的数据表映射成相应的Java类barBean,我们以传感设备的ID编号(数据库字段DEVICEID)作为传递参数,可以获取感知数据、数据采集时间、数据存储编号、传感器编号。
[0017]通过数据访问操作接口获取某种类型的传感器数据,只需要传递设备ID号即可,通过SQL子查询与定时刷新算法实现。通过该接口,可以提高数据访问模块的执行效率,根据设备ID号区分服务类别,方便后面实现REST风格的数据总线。
[0018]数据访问模块获取到的数据进行JSON格式化处理,提供统一的数据交换格式。要使程序能够运行,必须在Eclipse里导入JAR包。其中οjdbc6.jar表示Oracle数据库驱动包,是实现数据访问模块必备的JAR包,c3p0-0.9.1.2.jar用来构建数据库连接池,其余的JAR包为JSON驱动包。
[0019]JSON有对象和数组两种形式,在这里使用JSON数组表示方式,将数据访问模块获取的数据进行JSON数组化处理。
[0020]使用JSONArray类创建JSONArray对象,接着以JSON数组形式打印物联网传感数据。为了实现JSONArray对象,在eel ipse中导入"net.sf.json〃包,接着设计JSON数据适配程序算法,它是一种并集形式,以〈key: value〉映射方式进行适配。由于输出的是JSON集合形式,需要使用Java ArrayList类,针对物联网系统的实际情况,服务总线采用了JSON数据适配接口函数。通过传递传感设备的ID号,以键值映射方式输出传感数据采集时间和传感数据,RESTful Web服务传输通道将负责传递这些JSON键值映射数据。
[0021]初始化C3P0连接池之后,调用获取函数IistAll (devicelD)获取实验室温度数据,在Eclipse命令窗口以数组形式输出JSON键值映射集合,getTime表示获取时间,value表示感知数值,如〃value": "22.1〃表示室内温度为22.1°C,每2s更新一次。
[0022]数据适配模块已经将数据中心数据进行JSON格式化处理,但数据并不能通过浏览器获取,我们使用Servlet技术实现REST风格的Web服务。平台层数据服务总线需要以REST风格的Web服务方式传送数据,并将物联网服务以URI唯一标识。而URI是一种面向资源的地址标识,Servlet提供了Web风格的资源操作API,故而数据服务总线可以使用Servlet技术实现,具体需要按照以下几个步骤进行:
[0023]I)搭建Servlet运行环境:本文选择Tomcat应用服务器;
[0024]2)编写JavaServlet相关代码,实现REST风格的Web服务;
[0025]3)配置物联网服务的URI地址,并且要做到唯一标识;
[0026]4)发布REST风格的数据服务总线,即部署于应用服务器;
[0027]5)功能验证:通过Web方式获取数据服务总线提供的物联网服务数据。
[0028]如图2所示,Servlet运行在Tomcat应用服务器之中,通过编写Sevlet接口程序来获取上一节数据适配模块传递的JSON数组,web.xml文件用来配置物联网服务的URI地址,最后将Servlet程序部署在应用服务器中,从而发布了REST风格的数据服务总线。用户可以通过Web浏览器访问物联网URI服务地址。要想实现REST风格的数据服务总线,需要实现HttpServlet接口,可以将JSON数组封装成URI地址形式,从而可以通过Web方式,将物联网数据服务化展示,从而真正实现了面向服务的数据共享状态。
[0029]HttpServlet接口程序已经实现,接下来需要发布REST风格的数据服务总线,由于数据服务总线是物联网URI服务地址的并集,因此需要配置物联网服务的URI地址以区分不同的服务,可以通过修改web.xml文件实现。
[0030]web.xml文件中有各种元素,〈servlet〉用于注册Servlet对象,包括〈servlet-name^PKservlet-class〉,主要用来配置Servlet对象名和类名。我们修改〈servlet-jiiapping〉 元素 ,它由两个元素组成,<servlet-name>表示对象名称,
pattern〉表示的对外Web访问地址,我们把<url-pattern>改成/kongshi,即配置了空气湿度服务的地址,最终的URI地址为http: //url/kongshi,其中url表示平台的访问地址,最后发布该数据总线,将kongsh1.war文件部署到webapps文件夹下即可。
[0031]配置完成之后,即可发布URI标识数据服务,Tomcat应用服务器正在以Web服务方式不断传输JSON数组,包括感知数据获取时间和湿度数值,REST风格的数据服务总线搭建成功。
[0032]数据服务总线传输REST风格的物联网服务,Web端可以直接访问空气湿度服务,输入以下URI地址http: / / url/kongshi即可,空气湿度数据可以通过HTTP-GET的方式进行获取,平台层的数据标准化传输工作已经完成。Tomcat应用服务器输出的结果与Web浏览器访问的结果是一致的,且时延可以忽略不计。如果需要通过数据服务总线发布其他的物联网服务,只需设置相应的传感器devicelD,修改web.xml文件配置URI地址,最终部署到应用服务器即可。
[0033]本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
【主权项】
1.用于物联网数据传输的数据服务总线架构,其特征在于:包括 数据访问模块,通过ORM对象关系映射,设计统一的数据库操作接口,从物联网数据中心获取原始数据; 数据适配模块,将所述数据访问模块获取的数据进行格式化处理,统一为JSON格式的数据; REST风格的数据传输通道,将JSON格式的数据传输到web端。2.根据权利要求1所述的数据服务总线架构,其特征在于:所述设计统一的数据库操作接口具体是将物联网数据中心的数据表映射成Java类barBean,以传感设备的ID编号作为传递参数,获取感知数据、数据采集时间、数据存储编号、传感器编号。3.根据权利要求1所述的数据服务总线架构,其特征在于:所述JSON格式为JSON数组。4.根据权利要求1所述的数据服务总线架构,其特征在于:所述REST风格的数据传输通道通过Servlet实现。
【文档编号】G06F17/30GK105930410SQ201610239431
【公开日】2016年9月7日
【申请日】2016年4月18日
【发明人】江凌云, 王蕾
【申请人】南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1