智能网站开发工具
网站开发工具 时间: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.
简介酷盾安全怎么样?酷盾安全,隶属于云南酷番云计算有限公司,主要提供高防CDN服务,高防服务器等,分为中国境内CDN,和境外CDN和二个产品,均支持SSL。目前CDN处于内测阶段,目前是免费的,套餐包0.01一个。3G流量(高防CDN)用完了继续续费或者购买升级包即可。有兴趣的可以看看,需要实名的。官方网站: :点击进入官网云南酷番云计算有限公司优惠方案流量3G,用完了不够再次购买或者升级套餐流量...
BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...
中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...
网站开发工具为你推荐
重庆电信断网为什么重庆电信沙坪坝天星桥这网络老是掉线googlepr值seo谷歌pr值和什么有关系企业电子邮局企业邮箱怎么使用?ipad代理在哪买ipad更便宜curl扩展大神帮忙看下centos 7.2 系统 php7.0.12的 curl 扩展怎么开启,谢谢啦即时通如何使用即时通啊开源网店开源网店系统 独立网店系统 淘宝 有什么区别?联系我们代码农业银行代码商务软件软件分为哪几种类型?drupal主题如何在 drupal 上让网页呈现手机版页面以让智能手机更易浏览阅读
虚拟主机是什么 tk域名注册 深圳域名空间 韩国vps vps论坛 美国vps评测 国内免备案主机 l5639 2014年感恩节 免备案空间 免费名片模板 警告本网站 全站静态化 四核服务器 东莞idc 上海电信测速 英雄联盟台服官网 个人免费邮箱 贵阳电信 网络速度 更多