智能网站开发工具

网站开发工具  时间:2021-05-04  阅读:()
2013-11兵工自动化32(11)OrdnanceIndustryAutomation·81·doi:10.
7690/bgzdh.
2013.
11.
022基于浏览器/服务器架构的应用层在智能社区系统中的实现王晓明1,王伟2,谢广明2,罗文广1(1.
广西科技大学电气与信息工程学院,广西柳州545000;2.
北京大学工学院,北京100871)摘要:为提高智能社区系统的灵活性和可扩展性,提出将浏览器/服务器(browser/sever,B/S)结构作为应用层的架构方式.
在对智能社区系统网络层与应用层之间的数据交换机理进行分析的基础上,在应用层设计Web服务器和Socket接口,Web服务器包括Web页面的解析器和存储数据的业务中心,应用层与网络层之间的信息交互通过Socket接口进行.
通过对社区空气质量、社区噪音、安全通道、社区照明及绿地灌溉状况进行监测来证明该设计方法的有效性.
结果表明:该设计方法具有一定的创新性和实用性,可为其他物联网智能系统提供借鉴.
关键词:B/S架构;智能社区;Web;Socket中图分类号:TP273+.
5文献标志码:ARealizationofApplicationLayerBasedonBrowser/ServerFrameworkinIntelligentCommunitySystemWangXiaoming1,WangWei2,XieGuangming2,LuoWenguang1(1.
CollegeofElectrical&InformationEngineering,GuangxiUniversityofScience&Technology,Liuzhou545000,China;2.
CollegeofEngineering,PekingUniversity,Beijing100871,China)Abstract:Thebrowser/server(B/S)structureisusedasthearchitectureoftheapplicationlayerwhichisresearchedtoimprovetheflexibilityandscalabilityoftheintelligentcommunitysystem.
WebserverandSocketinterfacearedesignedintheapplicationlayerbasedonthedataexchangemechanismanalysisbetweenthenetworklayerandtheapplicationlayeroftheintelligentcommunitysystem.
TheWebserverincludestheWebpageparserandthebusinesscenter,whichisusedforstoringdata.
InformationexchangebetweentheapplicationlayerandthenetworklayeristhroughSocketinterface.
Themonitoringofcommunityairquality,communitynoise,safepassage,communitylightingandgreenspaceirrigationsituationisusedtoprovetheeffectivenessofthedesignmethod.
Theresultsshowthat:thedesignmethodisreasonable,innovativeandpracticalandcanprovideareferenceforotherinternetofthingsintelligentsystems.
Keywords:B/Sframework;intelligentcommunity;Web;Socket0引言智能社区监测系统作为物联网原型系统的一种应用,向住户提供了先进的安全防范、信息服务、物业管理等方面的功能[1].
随着现代信息技术的发展,针对如何有效提高和改善智能社区监测系统稳定性和有效性,领域内出现了很多解决方案.
通常,智能社区监测系统的应用会使用客户端/服务器(client/sever,C/S)结构来设计应用层系统,但C/S程序客户端需要安装专用的客户端软件,具有安装工作量大、维护和升级成本高以及兼容性差等缺点.
浏览器/服务器(browser/sever,B/S)结构具有分布性特点,可以随时随地进行查询、浏览等业务处理.
而且,维护及业务扩展只需在服务器端改变或增加网页,简单方便.
另外,B/S结构建立在广域网之上,对安全的控制能力相对弱,面向不可知的用户群,与操作系统平台关系最小,不用考虑用户接口的不同.
Socket也称为"套接字",属于一种通信接口.
套接字作为通信的基石,是支持TCP/IP协议的网络通信的基本操作单元[2].
考虑到智能社区监测系统的异构性和复杂性,选择使用Socket这种难度不高,能够轻松实现跨平台的基本链接技术,即可实现B/S结构的应用层与网络层之间的通信[3].
基于此,笔者运用浏览器/服务器(B/S)结构来设计智能社区检测系统的应用层,对智能社区监测系统的应用层进行改善,以提高系统应用的灵活性和扩展性.
1设计方案1.
1智能社区监测系统结构智能社区监测系统由传感层、网络层和应用层组成,笔者使用Socket接口技术实现基于B/S结构的应用层与网络层之间的数据处理.
其通信链路拓收稿日期:2013-05-06;修回日期:2013-06-20基金项目:国家自然科学基金面上项目(10972003);广西车辆零部件先进设计制造重点实验室开放基金重点项目(2012KFZD03)作者简介:王晓明(1986—),男,河南人,硕士,从事物联网原型系统研究.
兵工自动化·82·第32卷扑结构如图1所示.
图1系统通信链路拓扑结构由图1可知,在智能社区监测系统的三层架构中,当传感层将采集到的传感信息通过串口发送给网络层的智能网关后,智能网关对信息进行协议转换,并通过Socket接口将其安全、稳定的发送至应用层的服务器.
Socket通信类型基本分为流式套接字、报文套接字2类:1)流式套接字(Socket_Stream),即TCP协议的套接字,可保持长连接通信,提供可靠无差错、无重复且顺序发送的数据流;2)报文套接字(Socket_Dgram),即UDP协议的套接字,是无连接通信,无法提供可靠无误、有序发送的数据包[4].
笔者采用流式套接字来实现智能社区检测系统中网络层与应用层之间的数据传输.
1.
2运用B/S架构建立应用层开发平台及工具:Windows7操作系统,MSVisualStudio2010开发环境,MSSQLServer2008数据库系统,IIS6.
0Web容器;Web服务器运行环境:拥有1TB存储容量、2G内存、I3级别以上的CPU;客户端运行环境为拥有支持.
NETFramework4.
0的浏览器的任何终端.
运用B/S结构建立智能社区监测系统的应用层,主要包括Web网页的编写和Web服务器的建立.
使智能社区监测系统的应用层形成一种以Web网页为客户端界面、Web服务器为后台核心的体系.
Web网页的主要任务是客户发送控制指令到传感层的执行机构,以及对数据库存储信息的呈现.
Web服务器内有Web页面的解析器IIS,在开发中视为页面容器,正是它左右了Web页面的生存周期,当客户在客户端通过浏览器工具访问智能社区检测系统的Web页面时,Web服务器响应并控制解析器IIS解析出相应的脚本语言,即Web页面.
考虑到使用Web网页方式来控制Socket接口实现智能社区监测系统应用层与网络层间的通讯,而智能社区监测系统要求要在一个Socket线程内完成信息持久、安全无误的交互,但Web页面内存具有生存周期,生存周期结束后Web服务器将释放所有被请求的内存资源,而建立的Socket对象也将被销毁,这将使Web页面无法作为Socket服务端始终处于侦听状态.
因此,在Web服务器中设计了业务中心.
当网络层需要发送传感器数据信息到应用层时,业务中心作中转,将网络层发送的数据交给数据库,Web网页请求数据库才能将信息显示出来.
ASP.
NET是微软公司推出的一种结构简单、易于上手、应用广泛和功能强大的网页开发工具[5].
用ASP.
NET开发的网页形式客户端,诸如IE、Safari、Chrome等浏览器均可运行解析;对客户端硬件要求不高,因为它采用了瘦客户端-富服务器的模式设计应用软件,不再占用用户的过多硬件资源;便于管理员维护系统,系统升级不再需要发布补丁通知用户升级;对用户无需做专业安装使用培训,易于普及系统的使用[6].
基于此,笔者使用ASP.
NET动态网页编程技术Web网页的建立.
1.
3Socket的工作原理及实现Socket接口提供了智能社区监测系统应用层与网络层之间双向通信的端点,两者在通信前各自建立一个Socket,并通过对Socket的读/写操作实现网络通信功能.
因此,当应用层向网络层发送信息时,应用层是客户端,网络层是服务端;当网络层向应用层发送信息时,应用层是服务端,网络层是客户端.
但Socket工作流程在服务端和客户端之间是不同的,在不同端也分为几个步骤执行,TCP/IP流式套接字的工作流程如图2[7]所示.
图2TCP-Socket工作流程1)服务端工作流程的步骤为:第一步,用指定的端口号和服务器的IP建立一个EndPoint对象;王晓明等:基于浏览器/服务器架构的应用层在智能社区系统中的实现·83·第11期第二步,建立一个Socket对象;第三步,用Bind()方法绑定EndPoint;第四步,用Listen()方法开始监听;第五步,接受到客户端的连接后,Accept()方法创建新Socket对象用于和请求的客户端进行通信;第六步,通信结束后关闭Socket.
2)客户端工作流程的步骤为:第一步,用指定的端口号和服务器的IP建立一个EndPoint对象;第二步,建立一个Socket对象;第三步,用Connect()方法以刚建立的EndPoint对象作为参数,向服务器发出连接请求;第四步,如果连接成功,就用Send()方法向服务器发送信息;第五步,用Receive()方法接收服务端发的信息;第六步,通信结束后关闭Socket.
2具体实现2.
1网络层向应用层发送信息此时网络层的Socket作为客户端,Web服务器处于Socket服务端,各自的工作流程如图2所示.
网络层首先要知道自己的主机信息,包括IP地址和指定的通信端口PORT,在.
NET类库中,IPAddress和IPEndPoint类都很好地封装了获得主机这些信息的方法.
通信端口是操作系统分配的用于通信的资源,这个端口通常是随机选择大于1024(因为小于1024的被知名服务器的端口预定,如FTP、HTTP、SMTP等)的PORT号来进行.
以开放主机5555端口为例,实例化一个Socket对象,绑定好主机信息后,定时监听是否有连接传入并指定挂起的连接队列的最大值,当挂起队列为空时将阻塞本线程,直至有连接传入,定时器停止.
当网络层作为客户端发出连接请求,主机的Socket就会新建一个Socket线程,主机通过新连接的Socket不断地从缓冲区读取收到的数据,从缓冲区读到的数据是读到字节数组中的,因此要定义一个字节数组byteArray[250]来装载数据;通过对接收的来自传感层的串口协议信息经解包后,就可以存储到数据库以备应用.
2.
2应用层发送信息到网络层此时网络层的网关服务器处于Socket的服务端,侦听来自应用层的连接请求.
应用层的Web服务器作为客户端,各自的工作流程如图2所示.
首先,Web服务器要清楚网关的通信地址IP和开放的通信端口PORT,这些相关参数都可以在智能网关初始化的时候进行设定,如图3所示.
图3智能网关的通信方式配置页面在IE中打开智能网关的配置页面,根据系统的通信要求,需要对ConnectionProtocol选项进行配置,选择TCP选项以确定使用的为流式套接字;配置ConnectMode中的WorkAs选项为Both确定网关工作在Client和Server双模态,即令智能网关的Socket接口同时处于侦听和请求连接状态;配置EndpointConfiguration,LocalPort为智能网关开放的通信端口,RemotePort为智能网关要请求连接的主机开放的通信端口,这里都将其设定为5555,RemoteHost为智能网关处于Socket客户端角色时,请求连接的主机的固定IP地址.
配置结束后,网关就会开启并处于侦听状态,每当应用层发出一次指令,就用Connect()方法连接一次智能网关固定IP的5555通信端口,并将指令用Send()方法发送至网络层;执行完一次发送后,将关闭Socket连接,释放资源,准备下次连接.
在应用层发送信息到网络层的情况下,Web服务器中的业务中心发送控制指令与Web页面直接发送控制指令基本相似.
不同点在于,要对从页面获取的字符串类型的命令进行重新编码,打包后执行Socket对象的Send()方法,每发送完一次指令就会销毁本次Socket对象.
3功能测试测试结果证明:笔者设计的通讯方案是有效的,智能社区监测系统的应用客户端如图4(a)、图4(b)、图4(c)、图4(d)、图4(e)所示.
图4(a)为用户实时监控空气质量页面.
传感器采集信息经由网络层的Socket通道上传到Web服务器的业务中心后,页面使用Ajax技术轮询请求数兵工自动化·84·第32卷据库的实时数据,来呈报当前环境空气质量状况.
当空气质量状况指示条为红色时,为空气质量严重污染,当指示条变为绿色时则空气质量状况良好.
(a)空气质量状况(b)社区噪音状况(c)安全通道状况(d)社区照明状况(e)绿地灌溉状况图4智能社区监测系统的应用客户端显示结果图4(b)则是对环境噪音的监测,工作流程同空气质量监测系统.
图4(c)为用户监测安全通道内的状况,若应用层客户端的语音报警器状态指示条为红色,说明传感层的语音报警器因通道被违章占用而运作,则可点击开启按钮,通过Socket接口向传感层的警报器发送开启指令,警告业主合理使用通道;当指示条变为绿色,则安全通道使用正常.
表格最后列显示了单次报警持续时长,以反映通道违章占用状况.
图4(d)为对智能照明的监控,工作流程同安全通道监控,表格最后列显示了单次照明时长,以反映每月节点照明设施的电费情况.
图4(e)为绿地灌溉系统的状况,水阀开关状态指示条表示开关状态,可通过按钮来请求Socket连接发送开启/关闭水阀的控制指令实现手动控制水阀的开关;同时在页面上设置浇灌阈值(包括启动浇灌阈值和停止浇灌阈值)的指令也用Socket连接来发送至网络层.
4结束语智能社区监测包括很多方面,该原型系统只是就其中的5个基本方面进行了初探.
用B/S结构设计其应用层,为今后项目的扩展维护提供了方便,也更加易于实现远程控制.
另外,实现应用层与网络层之间相互通讯的Socket作为传输层的一个重要技术,采用异步传输、多线程操作,能够极大的提高网络传输效率.
而且,直接使用C#中封装的Socket类编程可以简化程序设计的复杂程度.
参考文献:[1]刘云浩.
物联网导论[M].
北京:科学出版社,2010:347-349.
[2]李巧玲.
基于C#-Socket的网络通信程序设计[J].
福建电脑,2009(4):135-136.
[3]陈世军.
基于Socket技术的计算机远程控制实现[J].
计算机光盘软件与应用,2012(2):124.
[4]文显琼,张继荣.
基于Socket的网络编程及其实现[J].
软件导刊,2012,11(2):97-98.
[5]ChristianNagel.
C#高级编程[M].
7版.
李铭,译.
北京:清华大学出版社,2010.
[6]曹伟生,许映秋,钱进.
基于Web应用信息集成系统的网络架构研究[J].
计算机应用,2002,31(1):79-81.
[7]李现凡,高建荣.
基于Socket编程接口的局域网即时通信系统的开发实现[J].
常州轻工职业技术学院学报,2006(4):14-16.

CloudCone月付$48,MC机房可小时付费

CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...

wordpress外贸企业主题 wordpress高级全行业大气外贸主题

wordpress高级全行业大气外贸主题,wordpress通用全行业高级外贸企业在线询单自适应主题建站程序,完善的外贸企业建站功能模块 + 高效通用的后台自定义设置,更实用的移动设备特色功能模块 + 更适于欧美国外用户操作体验 大气简洁的网站风格设计 + 高效优化的网站程序结构,更利于Goolge等SEO搜索优化和站点收录排名。点击进入:wordpress高级全行业大气外贸主题主题价格:¥398...

LOCVPS洛杉矶CN2线路KVM上线,洛杉矶/香港云地/香港邦联7折

LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...

网站开发工具为你推荐
就会serveraccess数据库修复请问Access数据库修复恢复该怎么办啊,有些页和模块打不开了,也不知道是怎么回事,丢了文件还filezillaserver怎么用FileZilla Server 0.9.27 绿色汉化版软件?360免费建站搭建卡盟分站(卡乐购系统,免费360网站收录)只要29元,想建的找2208647548!资费标准联通所有套餐介绍可信网站可信网站认证怎么做?贵不?价格大概是多少?申请400电话申请400电话需要什么条件discuz伪静态Discuz! X3.0 到底能不能伪静态?门户怎么伪静态?powerbydedecms如何去掉底部的 powered by dedecmsjoomla安装如何在win10安装synctoy
国外免费域名网站 荣耀欧洲 bandwagonhost jsp主机 表单样式 php免费空间 南昌服务器托管 免费申请个人网站 cdn加速是什么 宏讯 海外空间 西安主机 域名转入 江苏徐州移动 存储服务器 新网dns fatcow 建站技术 百度新闻源申请 asp介绍 更多