...染病毒 太空船设计可能被偷 日本吧
[摘 要]物联网(Internet of Things,IOT)是使各种物件挟带感测设备,利用网络实现人和物件甚至物件之间的沟通,以达到商品生命周期过程透明化、商业交易自动化的目标。EPC(Electronic Product Code)是下一代产品标识代码,它可以对供应链中的对象(包括物品、货箱、货盘、位置等)进行全球唯一的标识。EPC 信息服务(EPC Information Service,EPCIS)EPC 网络架构中,负责采集由读取器、中间件等筛选过后的原始资料,将它与商业流程整合并转换成有意义的信息,以供后续查询或交换等进一步应用。解析发现服务系统包括对象解析服务ONS(Object Naming Service)、产品与服务注册、信息发现服务DS(Discovery Service)等实现各个子系统间互连互通的基础服务。使用 Java 语言和 MyEclipse 开发环境,编码实现了 EPC 信息服务的原型系统,能够完成 EPCIS 捕获接口和查询接口的功能;进行了功能测试和健壮性测试
[关键词]農业物联网;EPC;EPCIS;ONS;分布式
中图分类号:TP334.2 文献标识码:A 文章编号:1009-914X(2018)27-0097-02
【分类号】:F323.3
1 概述
从农田种植、加工包装、仓库储存、物流运输一直到经销商将其卖给消费者等全生命周期都可能影响到农产品食品安全问题.物联网技术已被广泛应用于交通、电力、医疗、军事、农业、养殖业、林业等领域,运用物联网技术“从农田到餐桌”全流程的食品安全追溯系统成为当务之急。
本文结合物联网技术特点,基于 EPC(Electronic Product Code,电子产品编码),EPC 信息服务运用解析发现服务ONS/DS提出并实现 一种对农产品从种植,采收,加工,包装,储藏,运输,销售,售后等全流程的监控和溯源的分布式应用。
2 系统设计与实现
2.1 总体结构
本系统的总体软件架构如下图所示:(见图1)
系统硬件包括 ONS解析发现服务器(至少一台),DS产品与服务注册、信息发现服务服务器(若干),IS物联网信息服务接口服务器(若干),路由器,用做访问的客户端pc机,移动设备等。
软件主要包括服务器上的Linux,windows操作系统,MySQL,MS SQLSERVER等数据库,IS服务器提供的WebService接口以及相关用户客户端使用的windows,android软件和浏览器等
2.2 分布式网络系统的设计
本应用的分布式网络主要是基于EPC设计的。EPC 网络是一个全球性的网络。它统一了标准,保证物流信息的自由流动,提高了物流的效率。采用全球统一的标准,在各个行业建立维护 EPC 网络;通过发展与管理 EPC 网络标准,保证供应链各环节中信息的自动、实时识别,增强在全球范围内的物流供应链的效率。
2.2.1 系统的主要服务
EPCIS 信息服务为访问和存储 EPC 相关数据提供了一个标准的接口,支持多种查询方式。
EPCIS 运行在一套丰富的数据类型上,它建立于分层的、可扩展的、模块化的框架之上,以适应全世界各种不同的商业流程。系统分成若干层次,
(1)信息模型层
EPCIS 范围包括哪种数据,数据的抽象结构及其意义,这些都由信息模型层来进行详细说明。信息模型层包含许多单独的称作信息模型组件(IMC)的规范,每一部分 EPCIS 数据由某个信息模型组件进行定义。
(2)服务层和连接层
服务层规定 EPC 网络组件可能与 EPCIS 数据交互的特定界面。许多服务项目对应着信息模型层规定的不同数据,但是也可能有两个或更多的服务项目通过不同的形式访问相同的数据。
2.2.2 系统接口的工作流程
EPCIS的工作流程可以分为两个部分,一部分是通过捕获接口与EPCIS 库交互的过程,一部分是通过查询接口与EPCIS库交互的过程。
由EPC码通过ONS查询可以得到URL地址,捕获客户端获取到时间、地点、对象类别、数量和商业步骤等信息后,将这些数据封装成XML报文的格式;它通过HTTP POST 请求,将该 XML 报文发送到该URL地址的数据库的捕获接口;EPCIS库记录捕获事件,并且将数据写入到关系数据库中。 由 EPC 码通过 ONS 查询可以得到 URL 地址,查询客户端接收查询条件(时间、EPC 码等的范围或者值的大小),将查询条件通过SOAP协议发送到查询接口。
2.3 分布式网络系统的实现
用Java语言实现了EPC信息服务的原型系统。本系统可在本地和网络环境中运行,通过捕获接口与查询接口的连接,实现 EPCIS 捕获与查询的功能。应用在实际的环境中,可实现产品物流路径跟踪、自动化库存管理、产品基本信息查询等功能。
2.3.1 开发环境和技术
本在操作系统为 Windows XP SP3、CPU型号为Celeron E1200@1.6GHz、内存为896MB 的计算机下。
1.JDK5.0版或者更高版本,检查JAVA_HOME环境变量是否指向你的 Java/bin目录。
2.Apache Tomcat服务器容器5.5版或者更高版本。它用来部署和运行 EPCIS库的Web应用程序。
3.MySQL服务器5.0版或者更高版本。EPCIS 库将用它来存储事件数据。
4.Maven 2。它用来建立和配置项目部署应用程序。
5.MyEclipse7.5或者更高版本。它是一个开发Java程序的集成开发环境。
2.3.2 系统捕获接口的实现
实现 EPCIS 捕获接口客户端,就是在 MyEclipse 开发环境下实现 EPCIS 捕获客户端中的常用类。这些类包括捕获客户端 GUI 类、捕获事件类、捕获客户端类、捕获客户端异常类、捕获客户端帮助类等。EPCIS 捕获客户端的主函数程序流程图(见图2)
EPCIS 捕获客户端的主函数代码见下图
public static void main(final String[] args) {
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
if (args != null && args.length > 0) {
// a default url is given
new CaptureClientGui(args[0]);
} else {
new CaptureClientGui();
}
}
捕獲客户端的捕获方法需要的事件对象可以使用 XML 字符串,提供 XML 字节流的一个输入流,或者一个 EPCIS 文件类型的实例。由于包中的类由 EPCglobal 的XML 方案自动产生,他们严格遵循 JAXB 的强制性要求。
2.3.3 系统查询接口的实现
实现 EPCIS 查询接口客户端,就是在 MyEclipse 开发环境下实现 EPCIS 查询客户端中的常用类。这些类包括查询客户端 GUI 类、查询控制客户端类、查询类、查询反馈接口类、查询控制接口类、查询客户端帮助类等。EPCIS 查询客户端的主函数程序流程图见下图。(见图3)
EPCIS 查询客户端的主函数代码
public static void main(final String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
if (args != null && args.length > 0) {
try {
new QueryClientGui(args[0]);
} catch (MalformedURLException e) {
e.printStackTrace();
}
} else {
new QueryClientGui();
}
}
查询客户端的函数程序流程图见下图(见图4)
3 技术验证与示范应用
本系统自2004年上线运行以来,陆续在江苏、山东、广东、安徽等地方10家单位部署实施,进行方案可行性验证和项目示范应用。服务端软件保持了长期稳定运行。用户通过PC或者智能手机上的专用软件也能方便地进行农产品溯源查询,获得真实可靠的食品安全信息。
4 结束语
全文的主要内容如下:
1、对 EPCglobal 组织进行了介绍,分析了 EPC 网络的构成;对 EPC 系统的 6个方面(EPC 编码、EPC 标签、读取器、EPC 中间件、对象名称解析服务、EPC信息服务)进行了详细的讲解;通过图文分析了 EPC 系统的工作流程和 EPCIS 的工作流程。
2、对 EPCIS 系统进行总体设计,作出了系统的功能模块图,该系统包括 EPCIS库、EPCIS 捕获客户端、EPCIS 查询客户端;对 EPCIS 的事件类型进行了介绍。
3、建立了 EPCIS 系统的开发环境;介绍了 EPCIS 系统中使用的技术,包括 Web Service,XML,SOAP, WSDL;编码实现了 EPCIS 系统,包括 EPCIS 库、EPCIS 捕获客户端、EPCIS 查询客户端。
参考文献
[1] 王忠敏,张成海,闵昊.EPC 与互联网.全国物流信息标准化技术委员会技术报告,2004.5~8
[2] 苏冠群,李娟,卢菲菲.EPC 网络与EPC信息服务标准浅析.条码与信息系统,2007(6):13~15
[3] 孟宏.EPC与EPCglobal.高师理科学刊,2008(4):14~14
作者简介
王挺(1981-),男,助理工程师、主研方向:物联网技术,大数据处理,E-mail:t.wang@fudan-wuxi.org;