全国客户服务:4006-054-001 疑难解答:159-9855-7370(7X24合作/咨询),173-0411-9111/155-4267-2990(售前),座机/传真:0411-83767788,微信:543646
上一张 下一张

浅析GPRS通用通信系统的服务器端软件开发

O.引育 GPRS通用通信系统由现场监控终端(也称数据终端单元。DTU),GPRS网络,数据库和服务器端软件(也称数据服务中心.DSQ四部分组成。服务器端软件接收DTU通过GPRS网络上传的数据.处理后

4006-054-001 立即咨询

浅析GPRS通用通信系统的服务器端软件开发

发布时间:2022-10-05 21:43 热度:

浅析GPRS通用通信系统的服务器端软件开发

  O.引育

  GPRS通用通信系统由现场监控终端(也称数据终端单元。DTU),GPRS网络,数据库和服务器端软件(也称数据服务中心.DSQ四部分组成。服务器端软件接收DTU通过GPRS网络上传的数据.处理后存储到数据库;服务器端软件也可以反向传送各种指令到DTU。控制DTU的运行。为了用户方便使用数据监控等功能,服务器端软件采用Web页面方式。开发基于Java,使用了Struts,Hibemate等多项技术。

  1.技术关量

  Struts和Hibernate是WEB开发中提高开发效率。使程序结构清晰化的工具。本设计积极的运用了这两项技术。

  1.Sturts技术Struts框架实现MVC(Model—View—Comroller)设计模式。通过这个设计模式。实现功能模块,视图和控制的分离。将数据的监听和解析以及其他功能封装在不同的功能模块中。而将展现给用户的结果作为视图。这通常是一个JSP页面或纯HTML页面,视图也常作为接受用户输入或请求的用户接口。而控制则管理对功能模块的调用,以及选择正确合适的视图来响应用户的请求。

  1.2Hibemate技术Hibernate将Java对象映射到关系数据库表中,对数据库表的操作通过对Java对象的操作完成,这样就简化了数据持久化相关的编程任务。

  2.功能模块设计

  服务器端软件主要任务是完成对通信数据的接收。处理和存储。功能设置都是以数据为中心。本设计的主要功能模块如图1所示。

  在服务启停模块启动服务后,开始接收DTU数据。由于数据包的解析功能相对独立。实现也较为复杂,因此将解析过程作为一个线程。接收一个数据包.就启动一个独立的解析线程.对数据包进行解析。解析完后将提取出的数据存人设计好的数据库中。随后发出一个应答数据包,线程结束。解析、入库和应答三个步骤在同一线程中完成。服务启停模块完成了本设计的核心功能。

  服务设置模块主要完成服务启动与运行中的参数设置。

  数据监控模块是重要的一个功能模块,它向用户直观的展示任一DTU发出的数据变化图。数据随时问的变化显示在专门定制的图表上,而且实时刷新,做到实时性和准确性。

  在远程控制模块,用户可以查看每一个DTU所连接的数据采集终端的状态,通过向DTU发送指令数据包,远程控制与DTU相连的仪表。

  与多数管理系统类似。为了做到对使用用户进行管理.设置了系统管理模块,可以对用户的权限、登录、安全进行管理。以做到系统的完备和安全。

  3.数据处理流程

  本数据管理软件的核心是数据,所有的功能都是围绕数据进行。数据的处理主要有解析,存储和显示几个过程.另外,本系统也向远程数据终端单元发送数据。

  3.1数据的接收 服务启动后,服务器启动监听线程在服务端口监听线程,直到停止服务,监听线程才终止。监听线程中.建立了在服务端口上的数据报soeket:

  pfivate DatagramSoeket socket;

  socket=new DatagramSoeket(INPORT); soeke调用阻塞式函数receive(DatagramPacket dp)监听端口,接收到数据返回后即可在dp中获取数据开始处理,而监听线程检查服务停止标志started,若服务巳停止则终止线程。否则重新开始监听,如此循环。

  3.2数据的解析数据的解析是数据处理的主要过程.解析过程就是实现DSC与DTU应用层通信协议的过程。解析线程在监听线程中启动,服务器接收到数据后启动数据解析线程处理数据报。而监听线程继续监听,解析线程完成解析后结束自身。解析线程的启动代码如下:

  ProcessReceiveData pmcessReceiveData;new

  ProcessReceiveData(buf,

  lnetAddress.getByName(dp.getAddmss0.

  getHostAddress0),

  dp.getPort0,

  dp.getLength0,

  socket,BUF_MAX_ LEN)

  processReceiveData.start0;

  其中bur为存放完摊数据报的缓冲区,第二个参数为数据报的发送源IP地址,即发送此数据报的DTU的IP地址。第三个参数为发送源端口。第四个参数为数据报长度。第五个参数为监听套接字,第六个参数为缓冲区最大长度(单位为字节)。这些参数在监听线程中获得,都在数据处理线程中使用。

  协议中定义的数据报格式单位都以字节为单位,为便于解析,在ProcessReceiveData中定义了私有方法:

  private String byte.I’oslring(byte b)

  private int hexToDec(char[1 hexData,int len)

  byteToString方法将字节转化为十六进制字符串。而hexToDec将十六进制字符串转换为十进制数值。比如数据报中有两个字节表示数据报长度,可以先将这两个直接转化为十六进制字符串,再将十六进制字符串转化为十进制数值,这样就得到了数据报长度的数值。

  3.3数据的存储根据解析的结果。一般要更新数据库表或向数

  据库表中添加记录。

  3.4数据的发送解析完数据报后按照协议一般要对发送数据报的DTU发送应答数据报。首先接格式构造数据报,然后通过soeket向DTU的IP地址发送。

  4.结论

  软件实现了数据的接收、解析、存储和发送等管理功能.并且能够对用户信息进行管理,基本满足了数据管理系统的功能需求。比较合理的使用了Struts框架技术,使得处理逻辑较为清晰,前台页面与后台耦合度较低,结构清晰。功能组件JavaBean设置较为合理,能够完成独立的功能,JavaBean组件之间耦合度低。后台线程能正确的启动与停止。能完成设计的功能,线程之间没有出现互相影响的情况。该设计在实时性能上还有提升的空间。

  参考文献

  [1]宋波,马黎,孙连科.用JAVA实现一个多线程唧服务器[J].沈阳电力高等专科学校学报.2001.1.

  [2]冯冬芹,金建祥,褚健.Ethemet与工业控制网络[J].仪器仪表学报,2003(1):600-603.

  [3]何小荣,钱泉.GPRS在工业监控中的应用m.铁道工程学报.2004(19):42-45.

  [4]Douglas E.Comer.用TCP/IP进行州际互连[M].北京:电子工业出版社.1998.

  [5]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社.2005.

  [6]王海峰,奠伟锋,李位星.Oracle9i初学者指南[M].北京:机械工业出版社.2003.



浅析GPRS通用通信系统的服务器端软件开发


SCI学术指导


浅析GPRS通用通信系统的服务器端软件开发
公司地址:大连市高新园区黄浦路科技创业大厦19层 运营中心:大连市沙河口区金盾路127号 研发中心:大连市西岗区大工西岗科创产业园10层 邮政编码:116029
全国客户服务热线:4006-054-001 微信咨询:543646 业务咨询、合作:159-9855-7370(同微信) / 173-0411-9111 电子邮件:Djy@Jiqunzhihui.com
集群智慧®为我公司注册商标,在商标国际分类第1、7、9、11、20、30、35、36、37、38、40、41、42、44、45类用途中受法律保护,侵权必究。侵权删除:2544906@QQ.com
本企业已通过ISO9001国际质量管理体系认证、ISO45001职业健康安全管理体系认证、ISO14001环境管理体系认证、企业信用等级AAA级认证、科技型中小企业认证、高新技术企业认证。
本站部分服务由本平台认可的第三方服务机构提供,如服务的质量有任何问题,请第一时间向我平台反馈,我们将及时为您解决,平台保障用户的全部权益不受任何损害。
请认准本站网址(www.jiqunzhihui.org.cn),推荐百度搜索“集群智慧云科服”直达本站。
版权所有:大连集群智慧科技服务有限公司 ICP备案:辽ICP备2021010330号-3 增值电信业务经营许可EDI证:辽B2-20230179 D-U-N-S邓白氏全球编码:620550735 手机版