基于java的判断dtu超时功能的研究与设计设计1.docx
- 文档编号:2462644
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:38
- 大小:484.80KB
基于java的判断dtu超时功能的研究与设计设计1.docx
《基于java的判断dtu超时功能的研究与设计设计1.docx》由会员分享,可在线阅读,更多相关《基于java的判断dtu超时功能的研究与设计设计1.docx(38页珍藏版)》请在冰豆网上搜索。
基于java的判断dtu超时功能的研究与设计设计1
安徽农业大学
毕业论文(设计)
论文题目基于java的判断DTU超时功能的研究与设计
安徽农业大学学士学位论文(设计)开题报告
课题名称
基于java的农业物联网中间件的判断DTU超时功能的研究和设计
课题来源
导师指定
学生姓名
专业
通信工程
学号
指导教师姓名
职称
副教授
研究内容
1.研究分析DTU超时功能的作用。
2.对DTU超时功能的应用原理进行分析:
1)DSC启动定时器轮询并获取用户最后一次与DSC通讯的时间。
2)获取当前时间并与最后一次登录时间比较,取其差值。
3)该值超过事先定值则断开用户DTU与DSC数据中心的连接。
3.对以上工作过程的需要进行编程并进行模拟测试。
研究计划
3月初3月中调研、查资料。
3月中4月初研究并分析DTU超时功能的作用及其应用原理。
4月中5月初构建系统框架,编程。
5月初5月中对系统进行调试、运行并修改。
5月中撰写毕业设计论文。
特色与创新
1.系统稳定,抗干扰能力强
2.应用该功能可以节省不必要的流量花费
指导教师意见
教研室意见
学院意见
基于java的农业物联网中间件的研究
——判断DTU超时功能的研究和设计
学生:
詹步康指导教师:
张武
(安徽农业大学信息与计算机学院合肥230036)
摘要:
本课程设计运用了所学的Java语言基础知识,面向对象程序设计的基本思想、方法与技术,网络通信编程技术等开发了简单应用功能--基于java的农业物联网中间件的判断DTU超时功能。
详细地介绍了本课程设计运用了所学的Java语言基础知识,面向对象程序设计的基本思想、方法与技术,网络通信编程技术等开发了简单应用功能--基于java的农业物联网中间件的判断DTU超时功能。
详细地介绍了基于java的农业物联网中间件的判断DTU超时功能的设计方法,给出了该功能的java程序设计,该程序可直接用作服务器端程序,接受并处理数据。
服务器端数据中心与客户端DTU通过Socket建立连接,利用输入输出流透明传送数据。
服务器端程序主要包括节点类、工作线程类(接受并处理数据所用)、轮询类等,以及用于存储节点的哈希表、同步锁和支持多客户端的线程;客户端程序主要有计时器类(每隔一定时间向服务器端发送一数据)。
关键词:
DTU;超时;轮询
Java-basedResearchofInternetofThingsofAgricultureMiddleware
——ResearchandDesignofJudgmentofDTUTimeoutFunction
Student:
zhanbukangteachers:
ZhangWu
(SchoolofInformation&Computer,AnhuiAgriculturalUniversity,hefei,230036)
Abstract:
ThingsofagriculturebasedontheJavamiddlewareDTUtimeoutautomaticallybreakfunction.TousewhattheyhavelearnedthiscoursedesignareintroducedindetailthebasicknowledgeofJavalanguage,thebasicideaofobject-orientedprogramdesign,methodandtechnology,developedasimpleapplicationfunctionssuchasnetworkcommunicationprogrammingtechnology,InternetofthingsofagriculturebasedontheJavamiddlewareDTUtimeoutautomaticallybreakfunction.AgriculturaliotwereintroducedindetailbasedontheJavamiddlewareDTUtimeoutautomaticallydisconnectfunctiondesignmethod,givesthefunctionoftheJavaprogramdesign,theprogramcanbedirectlyusedasaserver-sideapplication,receiveandprocessthedata.Theclientandserver-sidedatacenterDTUviaaSocketconnectionisestablished,usingthetransparenttransmissionofdatainputandoutputflow.Server-sideprogramsincludingthenodeclass,workingthreadclass(used)acceptandprocessdata,polling,andhashtablesusedtostorethenodes,synchronizationlocksandsupportmultiplethreadsoftheclient;Clientprogrammainlyincludethetimerclass(sendingadataatregularintervalstotheserver).
Keywords:
DTU;timeout;polling
1引言3
2.课题的总体目标与主要研究内容4
2.1课题的总体目标4
2.2研究的主要内容4
2.2.1下面就本课题所做的工作的主要内容4
2.2.2本论文的章节安排4
3总体设计4
3.1需求分析与设计思想:
4
3.1.1对判断DTU超时功能的需求分析4
3.1.2对判断DTU超时功能的设计思想4
3.2设计时用到的重要的技术或数据结构5
3.2.1同步锁5
3.2.2哈希表7
3.2.3线程8
4程序的详细设计10
4.1程序流程图10
4.2数据字典11
4.2.1主类Server11
4.2.2启动服务器StartServer12
4.2.3节点类Node13
4.2.4工作线程WorkThread14
4.2.5轮询类LookUp15
4.2.6客户端类Client16
4.2.7工作计时器类MyTask16
5结论:
17
主要参考文献17
致谢18
附录1:
18
附录231
2.1运行结果及界面31
2.1.1启动服务器前:
31
2.1.2启动服务器但不启动客户端:
32
2.1.3启动服务器并启动多个客户端:
33
2.1.4启动服务器并启动多个客户端最后关闭全部客户端:
34
1引言
随着经济社会的不断发展和进步,无线通信技术在人们生活中已变得愈发重要,受到广泛运用。
应用了无线通信技术的GPRSDTU遍布了人类生活各个领域,被广泛应用于电力、水利、市政、交通、金融、环境监测、农业等行业领域。
尽管应用的行业不同,但应用的原理是相同的,大都是DTU和行业设备相连,然后和后台建立无线的通信连接。
在农业监测系统中,常常需要对众多农业园的CO2浓度,光照强度,土壤酸碱度等进行实时监测,大部分监测数据需要实时发送到管理中心的后端服务器进行处理。
由于监测点分散,分布范围广,而且大多设置在环境较恶劣的地区,通过电话线传送数据往往事倍功半。
通过GPRS无线网络进行数据传输,大大提高水文部门的工作效率,成为农场主、农业部门选择的通信手段之一。
DTU内嵌了TCP/IP协议栈,具有Socket通讯功能,并提供透明数据传输通道,用户只需设置一些参数就可实现将嵌入式系统直接与Internet相连,实现网络的互连互通。
DTU的主要功能是把远端设备的数据通过无线的方式传送到数据中心,在传送数据之前,DTU需要与服务器端数据中心建立无线连接。
服务器端监控中心的Socket端口监听程序负责监听采集终端的连接请求,当监听到连接请求后,建立通信链路,原来负责监听Socket仍进行监听,通信链路建立后就可任意交换数据了。
当DTU长时间没有发送数据到数据中心时,那么数据中心就认为该DTU已掉线并断开与该DTU的连接。
判断DTU超时功能是DTU众多功能之一,作用就是帮助数据中心及时发现那些不传送数据却仍然连接占用大量资源的DTU,以便让有限的内存资源得到最大化利用。
图1DTU及其使用示例
2.课题的总体目标与主要研究内容
2.1课题的总体目标
本课题的目标是,实现个判断DTU超时的功能,使用这个功能可以使服务器很大程度上提高自己管理内存资源的能力。
此功能应用于服务器后台上,能比较理想得保证通讯连接的时效性,避免了那些空占其位,不尽其守的DTU。
2.2研究的主要内容
2.2.1下面就本课题所做的工作的主要内容
1)就具体的DTU设备进行调研,找出其工作原理,以何种方式发送数据等等。
2)编写服务器端接受数据的程序,能够从字节流里读取数据。
3)编写服务器端轮询程序,能够每隔一段时间检查一次各客户端是否掉线。
2.2.2本论文的章节安排
第2章,提出了课题的总体目标与主要研究内容;
第3章,对判断DTU超时功能的总体设计,对设计有个宏观把握;
第4章,对判断DTU超时功能的具体设计,详细介绍了设计过程。
第5章,针对本文的工作进行了总结以及提出不足之处。
3总体设计
3.1需求分析与设计思想:
3.1.1对判断DTU超时功能的需求分析
在互联网日益发展的今天,DTU的使用也越来越广泛,为各行业之间的信息、产业融合提供了帮助。
可往往运用DTU的过程中难免会遇到令人不快的情况使得DTU无法正常向服务器发送数据,这些情况常见有:
突然断电、DTU本身电路故障、信号太弱、等等。
服务器与众多DTU通讯时,可能某一DTU故障而无法向服务器发送数据,此时服务器还在默默等待该DTU传送的信息。
大家都知道服务器根本接受不到该DTU发来的数据,但是此时服务器还与该DTU连接着,占着服务器宝贵的内存资源双方却不能正常通讯,显然这浪费资源,要是众多DTU都是这样尸位素餐的话,总有某一刻服务器也被“卡死了”。
所以为了消除这种隐患,迫切需要一种功能能够准确查出那些尸位素餐的DTU,然后把它们“踢下线”以释放资源。
3.1.2对判断DTU超时功能的设计思想
启动服务器,打开了轮询程序并启动了监听程序,等候客户端的连接。
若有客户端发来连接请求时,服务器就专门为这个客户端启动一个线程来接受并处理该客户端发来的数据;另外服务器会创建个节点来代表该客户端,并将该节点存在哈希表中。
节点里封装有客户端的IP地址、连接端口号、向服务器发送的数据、该节点在哈希表中存放的位置(即:
键值)以及最后一次与服务器通讯时的时间(客户端向服务器发送一次数据,该时间即更新一次)。
轮询程序启动以后,会每隔一段时间轮询一次哈希表,对里面存储的客户端节点中的时间进行检查,若其大于指定值则默认该客户端节点已故障,将与其断开连接。
3.2设计时用到的重要的技术或数据结构
3.2.1同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 判断 dtu 超时 功能 研究 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)