智能网站开发工具

网站开发工具  时间: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.

盘点AoYoZhuJi傲游主机商8个数据中心常见方案及八折优惠

傲游主机商我们可能很多人并不陌生,实际上这个商家早年也就是个人主机商,传说是有几个个人投资创办的,不过能坚持到现在也算不错,毕竟有早年的用户积累正常情况上还是能延续的。如果是新服务商这几年确实不是特别容易,问到几个老牌的个人服务商很多都是早年的用户积累客户群。傲游主机目前有提供XEN和KVM架构的云服务器,不少还是亚洲CN2优化节点,目前数据中心包括中国香港、韩国、德国、荷兰和美国等多个地区的CN...

ShockHosting日本机房VPS测试点评

这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...

旅途云(¥48 / 月),雅安高防4核4G、洛阳BGP 2核2G

公司成立于2007年,是国内领先的互联网业务平台服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前,旅途云公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的国内BGP、双线高防、香港等优质的IDC资源。点击进入:旅途云官方网商家LOGO优惠方案:CPU内存硬盘带宽/流量/防御...

网站开发工具为你推荐
2020年《腾讯广告服务商-申请提报资料》现有新的ios更新可用请从ios14be苹果总是提醒:现有新的ios可用,请从ios13bate版更新,怎么关闭啊?人人视频总部基地落户重庆迁户口入重庆无忧登陆无忧登陆怎么用??显示隐藏文件隐藏的文件夹怎么显示出来dz论坛DZ论坛与PW论坛有什么区别?顽固木马专杀工具金山顽固病毒木马专杀 xia zai hou zen me hai shi da bu kai ?博客教程如何建立自己的博客盛大通行证谁知道盛大通行证怎么申请吗?快钱网上支付快钱支付怎么样?
qq空间域名 域名备案网站 securitycenter 国内免备案主机 site5 主机 mediafire 搬瓦工官网 免费cdn加速 密码泄露 godaddy debian7 丹弗 godaddy域名证书 免费mysql 架设服务器 工信部icp备案号 老左正传 静态空间 共享主机 更多