智能网站开发工具

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

RackNerd提供四款高配美国服务器促销活动低至月$189

RackNerd 商家给的感觉就是一直蹭节日热点,然后时不时通过修改配置结构不断的提供低价年付的VPS主机,不过他们家还是在做事的,这么两年多的发展,居然已经有新增至十几个数据中心,而且产品线发展也是比较丰富。比如也有独立服务器业务,不过在他们轮番的低价年付VPS主机活动下,他们的服务器估摸着销路不是太好的。这里,今天有看到RackNerd商家的独立服务器业务有促销。这次提供美国多个机房的高配独立...

丽萨主机:美国CN2 GIA精品网/KVM/9折,美国原生IP,最低27元/月

丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...

618云上Go:腾讯云秒杀云服务器95元/年起,1C2G5M三年仅288元起

进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...

网站开发工具为你推荐
小企业如何做品牌小公司如何创立自己的品牌thinksns在thinksns 中集成UCenter过程中,按照教程做的,但是出现 通信失败,请问如何处理,谢谢开启javascript怎么在浏览器中启用JavaScript?重庆网络公司一九互联重庆本地的网约车平台有哪些?如何识别比较正规的网约车平台?filezillaserver怎么用FileZilla Server 0.9.27 绿色汉化版软件?重庆网站制作请问一下重庆网站建设哪家公司做得好,价格又便宜哦?加多宝和王老吉王老吉和加多宝谁好喝点?宜人贷官网宜人财富怎么样?科创板首批名单中国兰男队员名单3g手机有哪些电信3g手机有哪些?
个人域名备案 怎样申请域名 站群服务器 googleapps bash漏洞 搜狗抢票助手 windows2003iso 网站挂马检测工具 服务器维护方案 789电视剧 国外视频网站有哪些 中国电信测速器 免费ftp 徐州电信 云服务是什么意思 asp空间 密钥索引 建站技术 cx域名 linuxvi 更多