计算机后端开发范文
时间:2023-10-18 17:39:32
导语:如何才能写好一篇计算机后端开发,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:城市客运,IVR系统,语音播报,数据库,语音识别
引言
由于我国城市建设的快速发展和城市规模的逐渐扩大,城市旅客运输市场也随着城市人口和区域的增大而迅速发展。为了提高城市客运的管理水平和服务质量,我们将计算机技术和现代先进的通信设备应用于现代城市客运的管理,利用计算机和通信技术辅助城市客运的服务管理工作,用电话语音卡、Visual Basic.Net为开发环境,开发设计城市客运管理的电话语音IVR系统,提供自动语音服务功能,满足人们日益增长的城市客运服务需求。
1.城市客运管理IVR系统
1.1语音IVR系统
IVR(Interactive Voice Response),即互动式语音应答,主要应用于呼叫中心系统。IVR系统提供自动语音应答功能,是服务单位为服务对象或用户提供的自助服务。它采取用户导向的语音提示目录,然后按照用户通过电话键盘或语音的选择来完成相应的信息查询或命令执行。电话语音IVR系统是一种功能强大的电话自动服务系统,可以通过电话机的按键或语音来操作和控制计算机程序的运行,自动传真收发、电话录音、呼叫转接等功能。并且还能够通过后端连接数据库,为用户提供数据库动态实时信息的查询、语音报读等。
1.2城市客运管理的IVR系统
城市客运包括城市出租汽车、城市公交。城市建设规模和城市人口数量不断增大,促进了城市客运市场的快速发展,城市居民对城市客运的服务和管理需求也再不断提高。城市客运管理IVR系统,就是将计算机和现代通信技术应用于城市客运的服务管理,用户可以使用电话按键或电话语音进行交互应答。系统全天24小时实时为人们提供出租汽车信息、城市公交班次信息、非法营运举报、城市客运服务质量投诉、丢失物品查找、自动传真等服务,方便人们出行乘车,满足城市居民对城市交通运输的需求。免费论文,语音播报。。免费论文,语音播报。。同时,系统还可以节省大量的费用,减轻服务单位人员的工作负担,处理确实需要人工处理的呼叫,更好地提高整体服务质量和形象。
1.3系统结构
根据城市客运管理IVR系统的需求,采取三层架构的系统结构模式。第一层菜单为主菜单层,即根据系统语音提示进行按键;第二层为子菜单层,按照语音提示选择播报查询结果的菜单;第三层查询结果层,按用户的按键,播报用户所需的语音信息。系统流程如下:
篇2
关键词:高温摄像 远程通讯技术 宣钢
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2013)04-0148-01
综合分析后,我们对2#回转窑的高温监控系统就上述现有技术存在的不足进行了进一步优化,加装了高温摄像远程通讯装置和自动进退一体化高温摄像机。其具有结构简单,在回转窑摄像机正常工作时仍可调整其各菜单控制项,能实时显示窑炉内的温度、压力等参数,安全性较高且控制方便的优点。而且自动进退一体化高温摄像机与以前摄像机不同之处在于实现了耐高温镜头的自动进退同时也实现了其欠压保护。
1 高温摄像远程通讯技术的应用
通过现场考察与分析我们应用了高温摄像远程通讯装置,整体系统组成部分包括:高温摄像装置、控制柜、置于主控室内的用于控制所述高温摄像装置的各菜单控制项的计算机,置于主控室内的用于显示所述高温摄像装置摄取的视频图像的监视器。
高温摄像装置包括中央控制器。控制柜中设有与中央控制器相连的用于控制高温摄像装置的各菜单控制项的摄像控制单元,该摄像控制单元与计算机相连。摄像控制单元连接有RS-485通讯接口和视频输出接口。R8-485通讯接口通过一数据总线转换器与所述计算机的USB接口相连。视频输出接口与监视器或所述计算机中的视频模拟信号采集卡相连。高温摄像装置连接在位移控制机构上,位移控制机构通过基板设于窑炉的炉墙上。控制柜中还设有用于通过位移控制机构控制所述高温摄像装置前后位移的PLC。PLC的RS-485通讯接口经所述数据总线转换器与所述计算机的USB接口相连。高温摄像装置的摄像机镜头前方设有由PLC与所述计算机控制的光栅。控制柜中还设有总电源开关和与PLC相连的用于显示窑炉内温度的温度显示仪。
工作人员可以在主控室内通过计算机控制控制柜中的摄像控制单元,从而控制高温摄像装置的各菜单控制项,无需在温度较高摄像机端控制器菜单控制项,故而实现了在窑炉摄像机正常工作时远程调整摄像机的各菜单控制项的功能,具有安全性较高且控制方便的特点。
2 自动进退一体化高温摄像机的应用
高温摄像装置我们采用的是自动进退一体化高温摄像机,包括有摄像机及摄像机护罩,摄像机的前端安设有耐高温镜头和耐高温镜头外镜管,与以前摄像机不同之处在于设置有一气缸。气缸由缸筒和前、后端盖构成并由螺栓固定,前、后端盖的侧向开设有进排气孔,与气缸的前后内腔分别导通,中间开设支承孔,支承孔中安设密封圈和导套,与活塞杆相配置。气缸内安设有中空的活塞,活塞外周安设有密封圈,活塞中部开设空腔安设摄像机及摄像机护罩,摄像机为彩色摄像机,活塞的前端沿活塞中心轴线安设耐高温镜头外镜管,耐高温镜头外镜管内安装耐高温镜头,耐高温镜头后端与摄像机相连,耐高温镜头外镜管前部通过前端盖的支承孔伸出缸体,作为活塞一端的活塞杆。活塞的后端连接有一中空活塞杆,中空活塞杆的一端经后端盖支承孔伸出缸体,由此构成双活塞杆气缸。中空活塞杆的伸出端头两侧与进气接头和电缆导入接头时目连。进气接头与冷却气源相接,电缆导入接头将导入电缆接进与摄像机相连,冷却气进入中空活塞杆内孔后经摄像机护罩的然后流入耐高温镜头外镜管内腔,冷却耐高温镜头,再从高温镜头外镜管前端开孔流出。此外,在活塞的外周还安设有一磁环,在气缸的外周前后对应活塞磁环安有两个磁性感应开关,与缸体内活塞的磁环相配置,构成磁感应位置传感器。气缸两端的进排气孔以及中空活塞杆的进气接头与一压力气源控制系统相接。
压力气源控制系统中压力气源经由过滤器和减压阀连接,减压阀的输出端分成两路,一路经单向阀与储气罐连接,储气罐的输出端与一电磁换向阀连通,电磁换向阀为两位五通电磁阀,两位五通电磁阀的两个通路分别与气缸前后内腔的进排气孔相连通,其中两位五通电磁阀的常闭端(非通电端)与气缸前腔道通,从而保证系统停电时镜头能自动退出高温环境,实现断电自动保护,而电磁阀通电则压力气源进入气缸后腔,使活塞前移,镜头进入高温工作环境;减压阀输出端的另一路通过一节流阀与中空活塞杆的进气接头连接,作为冷却气源。另外,在过滤器和减压阀之间的进气通道中可接有一压力开关,压力开关与电磁换向阀的控制电路相串接,当压力气源欠压时,压力开关断开,使电磁换向阀断电回位,通过储气罐的压力使镜头自动退出高温环境,实现欠压自动保护。
3 高温摄像远程通讯特点
(1)高温摄像远程通讯装置实现了远程调节和炉膛温度的实时在线监控。(2)自动进退一体化高温摄像机采用气缸作为进退装置。压力气源控制系统开发与应用实现了摄像镜头的断电自动保护和欠压自动保护。(3)自动进退一体化高温摄像机能适应炉膛内环境比较复杂,粉尘较多,压力大,温度较高现场复杂的环境条件。(4)设备安装简便和调整方便,自动保护能力明显加强。自动化程度提高使的维修次数大幅度减少,自动保护能力加强使的设备寿命加长,维修效率大大提高。
篇3
2012年5月6日,一场真正的黑客马拉松比赛在上海和硅谷两地实时上演。一群素未谋面的程序员于周末汇聚在一起,他们出于对代码的偏爱,自愿报名参与到24小时不间断的开发当中。经过硅谷和上海两地的终极PK,最终来自上海一款名为CHOP的产品摘得冠军。
比赛结束两三天后,曾为“网友”的两位冠军程序员互通电话,筹备第二次见面,商讨是否应该将CHOP的功能继续完善。
CHOP团队1号程序员桂林,负责后端开发。他非计算机专业出身,现为塔防类社交游戏《宿命守卫者》的开发者之一。高中时代开始疯狂迷恋编程,大学时代过于极端,荒废专业课程,每天浸泡在图书馆潜心钻研各种编程书籍,自学成才。学生时代的得意之作是将汉诺塔的解题过程可视化,做得像游戏一样炫目。
桂林是在编程和代码中找回的自信。从事“苦逼”的程序员工作多年之后,依然以视码代码为终身事业。正如他在微博签名中所描述:“不懂设计模式和算法,但只要哥一写代码,就是美的”。“如果可以做一辈子程序员,有什么不可以?”刚过而立之年的他觉得国内不欢迎年龄大的老程序员的现象十分严重,他希望自己这份生涯能永远延续下去。他属于同事眼中的“强力程序员”,经常处于24小时开机状态,一直开着界面,各种操作全靠键盘,从不使用鼠标。他经常活跃于行业内技术性论坛上,曾写Node.js的库Mongoskin及其它库分享给程序员们使用。
2号程序员魏子钧,亦80后,非计算机专业,酷爱编程,来自盛大创新院。圈内人士均唤之网名“大城小胖”,可谓人如其名。实际为黑客马拉松比赛现场的工作人员,做好服务比赛选手等后勤工作之后,不甘寂寞、不码代码就手痒的他直接杀入CHOP团队参与开发,负责前端开发。
大城小胖自称“非典型性”程序员,一边戏谑地称己为“码农”,一边在工作之余捣鼓代码、研究程序到凌晨两三点钟,他最大的兴趣是每天从程序和技术中寻找乐子。最为遗憾的是身为“代码控”多年以后,却依然未能有一款经典作品横空出世。大城小胖最近一直在扛着一本几百页厚的计算机几何学认真研究,一如既往努力提升自己。他說,“做游戏对数学模型的要求特别高”。
团队中的产品经理为Thomas Yao,为一名邮件列表的管理员,在CHOP产品功能的完善和DEMO演示环节中发挥了积极作用。
两名程序员一致认为,团队之所以能获奖,Thomas清晰的英文项目介绍帮了不少忙。但最为关键之处在于,开发接近尾声之际丝毫未懈怠,最终花20分钟进行了一个Markdown(是一种更为新潮的标记语言,深受程序员欢迎)功能的完善,程序员便可以用标签符号或快捷键控制表示一串代码,输入特别便捷。“这款功能的完善可能为项目加分不少,或者是能获奖的关键。”这是产品亮点之所在。因开发时间有限,他们砍掉了之前设计好的很多亮点功能。
这是一场对智力和技能的挑战。开场前首先要进行一场激烈的头脑风暴,拿出比较炫酷的创意,又要考验首次合作的团队意识。“不擅长团队协作的人参加这种活动,可能会失败。它考验团队的创意、技能、毅力和团队协作精神。”参加过多场比赛的大城小胖娓娓道来。
首次参加类似活动的桂林对此深有体会。他其实一提出做聊天室想法时便遭到团队的质疑。最终桂林做出解释,亮出“CHOP区别于论坛和及时聊天工具的聊天室产品,能按照聊天主题半自动化地对语意内容进行归类”时,得到大家认同。“怎么做到快速产出?这对程序员的沟通能力要求非常高。”性格开朗的大城小胖称桂林尽管相对内向,但遇到问题时能表达特别清晰并有說服力。“其实我跟桂林属于网友,平时是通过代码进行交流,比较了解彼此的技术水平。尽管之前从未见过面,但已经建立起相当高的信任度,这点非常重要。”
一场比赛参与下来,桂林感受到的最大考验是时间非常仓促,真正写代码的时间也就10多个小时。“事先我们把前端和后端需求接口列在纸上,小胖是在完全没有服务器端数据的情况下做前端开发,他只能按照约定的数据结构写一个虚拟数据。开发12个小时之后,尽管服务器端的大部分功能都实现了,但前后端的数据还未对接上。”此时,已经是凌晨2点多,离比赛结束只有5个多小时了,但大城小胖中途离场2小时。处于孤军奋战状态中的桂林压力异常大。
“将前端的WEB登录和服务器端的新技术在后台进行交互时,又产生新的技术难题,即Web页面与Websocket无法共享Session。”这对桂林来說有点棘手。桂林明白,在实际开发过程中,经常会出现一个小问题而影响整个开发周期。最初他对产品的期望值特别高,而现在的他开始担心有交不出作品的可能性。“有些问题完全依赖Google未必能够找到正确答案,需要灵活应变。”这时很考验桂林的现场反应能力。好在耗费近一个小时后,技术障碍最终突破。
大城小胖的前端开发也并非进展得一帆风顺,做Serve端时,必须用Node.js技术配合桂林的后端开发。“Node.js技术只知道皮毛,但在产品开发中却用到很多。”在时间有限,来不及临时翻书,更不能频繁打扰桂林的情况下,大城小胖能做的是努力学习桂林代码的写法。“这要求自己以120%的努力去快速掌握知识。很幸运的是我战胜了挑战。”大城小胖松了一口气,总算见识了一回自己在饥渴状态下高效率学习。
篇4
后端开发工程师/程序员,制作网站服务器端web应用程序,目前市场有三种主流技术,LAMP,J2EE及.NET技术。LAMP技术采用Linux服务器+Apacheweb服务器+Mysql数据库+php程序语言。Linux,Mysql,php都是代码开源免费的系统,所以很都公司选择他因为开发成本低。php是一种弱类型语言,简单易用,可跨平台,开发周期短。所以为现在市面主流产品。目前很多学校都没有php的课程,所以php的程序员较少,但市场需求很大。相对我们学生的能力,在学校开设php的课程较有优势。测试与运营在网站运行过程中,要考虑网站的市场推广,seo搜索引擎优化,域名,以及用户可用性等问题。要求对网站的经营理念掌握一定的能力。在学校里,我们可以侧重培养学生的互联网应用能力,以及对互联网的市场敏感性。数据库及服务器的管理和维护在网络公司,这部分不属于站内的开发人员。网络工程师并不关心上层跑的什么程序,只负责安全管理,及正常运行,网站安全是一个极其重要的问题。
二、基于人才市场需要的网站技术课程体系研究
基于人才市场需求的网站技术课程体系研究主要是分析目前人才市场对网站技术人才的岗位需求,掌握网站技术人才需要具备的职业素质,我们大胆创新勇于实践,针对高职院校的学生,建设与市场需求结合的网站技术课程体系。
1.课程体系目标定位
我校网站技术专业的培养目标是培养适应社会发展需求,具有扎实的有计算机及网络技术基础理论知识,具有较强的实践能力和创新精神,具备较强的网络系统的规划实施管理和维护、信息安全保护、动态网站的设计与制作、网络产品技术支持等能力,具备良好职业道德与素质的高技能人才。
2.课程教学内容选取
结合课程体系目标定位,该课程在教学内容选取上主要是基于人才市场需求注重技术应用,网站技术开发课程包括以下几部分:网络技术专业分两个方向,网络工程方向和网站建设方向。其中,网络工程方向培养掌握局域网的组建、管理与维护,网络产品销售,信息安全保护,网络系统的规划与实施,特别是网络设备的安装、配置和调试等知识和技能的高级实用型人才;网站建设方向培养具有面向计算机及网络技术应用领域,能够从事局域网的组建、管理与维护、小型网站的规划设计、网页设计与制作、WEB应用程序开发等工作。
3.课程教学方法设计
篇5
【关键词】车载;3G;监控;远程
1.引言
随着汽车工业的发展,社会经济不断进步,汽车逐步得到普及,人们在越来越多的场合中使用汽车,作为代步或生产工具,与此同时,汽车作为个人或企业的资产,在停放或行车过程中,其安全性也得到日益重视,市场上出现了以GPS定位为主要监控手段的车载智能终端设备,但伴随着信息技术的高速更新,汽车的使用者不再满足于仅了解汽车的位置,还需要知道汽车的行驶状态,以及汽车在停放、行驶过程中,车辆周边的实时视频信息,并录制或上传至远程后台数据库中,使车辆的拥有者或管理者能够动态的了解车辆的信息。
本文基于上述的应用背景,对车载的智能终端系统进行深入研究,该系统除了实现基本GPS定位、导航、媒体播放等功能外,还在ARM平台上,以3G以及视频采集、压缩技术为基础,实现了动态视频监控功能。
2.车载无线视频监控系统概述
本系统作为车载智能移动终端的一个子系统,主要采用ARM硬件平台,并结合嵌入式Linux操作系统进行开发,硬件包括GPS模块、WCDMA模块、RFID无线射频模块等,通过开发应用程序,并将其编译至嵌入式系统中,实现视频的采集、压缩、传输,并与后台服务中心互动通信等功能。
3.系统整体设计
本文提出的无线车载视频监控系统,核心技术包括视频采集、数据压缩处理、无线传输等几个方面,与车载智能终端其它硬件模块配合,从而实现更复杂的硬件控制功能。
系统从整体上可分为前端、后端两大部分,前端主要是指以ARM处理器为核心的硬件平台,配合摄像头、WCDMA通信模块、存储模块等设备,实现视频数据的采集、编码压缩、存储、车内显示、以及通过RTP(实时传输协议)进行封装并通过完成数据远程无线传输任务。后端主要是指通过互联网,完成接收视频数据并进行解码、显示、存储等功能,并根据应用需求,向前端发送控制指令,从而实现实时的车辆远程视频监控目的,系统框图如下图1所示。
系统的具体工作流程是,通过摄像机采集的视频信号,经过A/D转换后生成标准的CCIR-656数字视频格式,经过iMX27核心芯片编码压缩后,即可得到H.264视频流,根据系统设定,在将这些编码后的数据存储在车载移动终端中的同时,也通过流媒体服务软件将其封装为RTP数据格式,再通过3G无线通信模块,发送给后端服务平台进行进一步处理与应用。
4.系统详细设计
4.1 硬件平台选择
系统中,核心处理器既是车载智能终端的核心,又是视频处理的主要部件,因此,系统采用飞思卡尔推出的iMX27芯片,利用其H.264硬件编解码模块可在车载智能终端上实现MPEG4、H.263及H.264视频流的高效处理,并使智能终端产品达到D1(DVD画面质量,720×480的屏幕分辨率)分辨率。
iMX27在处理H.264的同时占用极少的CPU的资源并提高了视频处理的性能,使核心有更多资源进行其它的应用,例如GPS定位与导航、RFID无线射频识别等,另外,iMX27还具备非常灵活和丰富的标准接口、串行端口和扩展端口,实现与多种外部设备的连接,包括摄像头、显示器,还可以使用Wi-Fi、蓝牙实现即插即用及无线互连的功能,通过增加适当的模块,即可实现GPS定位、通信等应用。
4.2 系统前端硬件系统设计
系统前端硬件主要包括摄像装置、iMX27视频处理平台、存储设备、3G无线通信模块以及相应的电路构成。
摄像装置采用深圳世国公司的SGMC-EX-M(3D)车载防爆红外摄像仪,该设备具有低照度、高清晰、功耗低的特点,搭载最新SONY第二代EFFIO Super HAD/Exview HAD方案超高像素的960H(PAL:976*582)CCD,模拟摄像机清晰度最高可以达到700TVL,同时最低照度低至彩色0.001Lux@F1.2,动态范围大于75dB,体积小巧、重量轻、安装灵活,配合本系统,具有较好的实用效果。
存储设备分为两部分,一部分采用NVND FLASH作为存储系统软件及数据的存储单元,以及采用DDRAM作为软件运行所需的内部存储器,另一部分是是采用USB接口大容量存储器,存储容量为32G,通过高速接口(High Speed)连接至核心硬件平台上,主要为视频的本地存储提供空间。
3G通信部分,采用华为EM770W(WCDMA)无线模块,支持HSPA(HSPA data rate-7.2 Mbps DL/2 Mbps UL),该模块接口为mini PCIE,52个引脚,引脚中对外数据接口包含一个全串口UART1,一个四线串口UART2,一个USB2.0。EM770W与ARM芯片连接有两种方式:一种是通过UART1,速度只能达到115.200KBPS,第二种方式是通过USB和ARM芯片连接,此方式适合大量数据传输,速率更快,本文即采用第二种方式,为视频远程传输提供稳定可靠的高速无线通信支持。
5.软件平台设计与实现
5.1 前端软件程序设计
完成前端硬件平台的搭建后,首先,需要根据处理器及其设备各引脚的定义,对嵌入式操作系统的内核进行裁剪,通过加载设备驱动程序的方式,使其支持系统的各组成模块,并在此基础上,调用Linux中有关视频设备应用程序接口(API,即Video4Linux)进行开发的应用程序,该程序主要完成视频数据的采集、编码工作。
远程数据传输功能,同样需求对Linux内核进行重新配置,使其对PPP协议提供支持,再将pppd拨号软件移植至操作系统中,对拨号的脚本进行修改,在华为3G通信模块的硬件支持下,实现拨号上网,数据的传输提供可能。
5.2 后端软件程序设计
后端应用软件,是系统的监控管理平台,主要负责视频数据的接收,解码H.264视频数据,实时回放等功能,并实现对车载移动终端的控制,接收终端的反馈信息等操作。
监控中心通过互联网与车载移动终端进行连接,并接收视频数据,后台接收到数据后,首先判断是否是为RTP数据包,如果不是,则丢弃,如果是,则首先打开该数据包的头部,对前端发送过来的数据类型进行辨识并获得视频的属性信息,接着对该数据包进行解压缩,调用视频播放进程进行视频数据的实时回放,在播放过程中,采用双缓冲池技术,以保证视频的流畅播放,对前端的控制信息,则封装在发给前端的RTCP数据包中。
最后,为使监控人员便于操作,还根据人机界面开发原则,进行统一操作界面的开发,把所有常用功能集成在一个可视化窗口中,操作人员可轻松完成车辆定位、视频监控、视频回放、存储备份等操作。
6.结语
本文在以iMX27为核心的ARM平台上,通过对摄像装置、存储系统、3G通信模块等硬件设备的集成,并对嵌入式Linux操作系统的移植与编译,应用程序的开发等,为车载移动智能终端增加了车辆远程监控子系统,实现车辆内外场景的实时监控,并通过采用H.264编解码技术、RTP/RTCP实时传输协议,使系统具备良好的先进性、稳定性和可靠性,有较广泛的应用价值。
参考文献
[1]李潺,郭志涛,李伟超,刘玉佳.基于Hi3515嵌入式系统的无线车载监控系统的设计[J].计算机应用与软件,2012,29(9):252-254.
[2]刘丙涛.3G无线车载视频监控系统关键技术分析[J].中国新技术新产品,2012(18):22.
作者简介:
篇6
关键词:网络管理;集群技术;网络性能
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)26-6400-03
The Search of Network Manage Based on Cluster
ZHAO Kai
(Beijing Electronic Science and Technology Vocational College, Beijing 100016, China)
Abstract: It is easy to enter internet now so it is not mystical and complicated to build the net. In old process,the net's structure is start, compose of switch, router and computer etc. but the computer stand alone each other, it is not concentrate on manage, so it is hard to finish the complicated task. the data flow is more and complex. The transparent to user thatmake up a powerful system by some common computer use Cluster, it must be raise the net's efficiency
Key words: net manager; cluster; net performance
1 网络管理的定义及功能
网络管理是指通过某种方式对网络进行管理,使网络能正常高效地运行,对网络进行管理的目的是更加有效的利用网络资源,维护网络的正常运行,常见的网络管理模型如图1。
网络管理的功能主要体现在网络故障管理、网络计费管理、网络配置管理、网络性能管理和网络安全管理五个方面,基本上覆盖了整个网络管理的范围。
1) 故障管理(fault management)
故障管理是网络管理中最基本的功能之一,此功能主要体现为检测、定位和排除网络硬件和软件中的故障。当出现故障时,通过该功能可以确认故障,并记录故障,找出故障的位置并尽可能地排除这些故障。
2) 计费管理(accounting management)
此功能用于记录网络资源的使用情况,控制和监测网络操作的费用和代价。通过计费管理,限制用户可使用的最大费用,防止用户过多占用、使用网络资源,从而提高网络的效率,常用于对某个特定的网络或网段进行运行成本的控制。
3) 配置管理(configuration management)
此功能用于初始化网络、配置网络并使其提供网络服务,通过配置管理功能可以掌控网络的状态、自动发现网络拓扑结构,构造和维护网络系统的配置。监测被管设备的状态,完成网络关键设备配置的语法检查并自动配置备份系统,从而实现某个特定功能或使网络性能达到最优。
4) 性能管理(performance management)
此功能主要用于评估系统资源的运行状况及通信效率,通过采集、分析网络对象的性能数据,对网络设备及线路质量进行分析。同时,统计网络运行状态信息(如吞吐率、响应时间、网络的可用性等),对网络的使用发展做出评测,为网络进一步规划与调整提供依据。
5) 安全管理(security management)
此功能可以约束和控制对网络资源及其重要信息访问,包括验证网络用户的访问权限和优先级、检测和记录未授权用户企图进行的不应有的操作,结合用户认证、访问控制、数据传输、存储的保密与完整性机制,以保障网络管理系统本身的安全,维护系统日志,使系统的使用和网络对象的修改有据可查。
这五个基本功能之间既相互独立,又存在着千丝万缕的联系。在这些网络管理功能中,故障管理是整个网络管理的核心;配置管理则是各管理功能的基础,其他各管理功能都需要使用配置管理的信息;性能管理、安全管理和计费管理相对来说具有较大的独立性,特别是计费管理,由于不同的应用单位的计费政策有着很大的差别,计费应用的开发环境也千差万别,因此计费管理应用一般都是依据实际情况专门开发。
2 集群技术介绍
集群技术是指用特定方法将两台或多台互联的计算机构成并行或分布系统,从而实现对多台计算机资源进行统一协调管理的目的。此技术可以应用在服务器或普通计算机上,通过集群技术可以使用多台计算机组成一个整体,在群中的每台计算机都分担着一部分计算任务,由于集合了多台计算机的性能,整体的计算实力大大增加,与此同时,每台计算机还承担一些容错任务,当其中某台计算机出现故障时,系统会在软件的支持下将这台计算机从系统中隔离出去,通过各计算机之间的负载均衡机制完成新的负载分担,同时向网络管理人员发出警报,对内表现为一个网络,对外表现为一台计算机,通过集群技术可以对外提供高性能的连续的服务,从而实现超级计算机所能实现的功能。集群系统模型如图2所示。
1)集群技术的特点
计算机集群技术具有高度的可用性、伸缩性与易管理性等特点。
高度的可用性:集群具有避免单点故障发生的能力,能够将发生故障的计算机隔离出去,实现并行运算与故障恢复,并提供高的可用性。
可伸缩性:当现有计算机能力有限时,可以通过增加计算机的硬件如CPU、内存等,也可以增加一台或几台计算机来扩展系统的性能,新增加的计算机将与原有的计算机紧密地集成在一起,对外提供高性能的应用服务。
易管理性:集群对外表现为一个单一的系统,管理员可以通过简单的指令进行远程管理。
2)集群的分类
科学集群:科学集群是并行计算的基础,用以解决复杂的科学问题。科学集群对外就好像一个超级计算机,这种超级计算机内部由很多独立处理器组成。
负载均衡集群:负载均衡集群使负载可以在计算机集群中尽可能平均地分摊任务。负载通常包括应用程序处理负载和网络流量负载,每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。负载均衡集群在多节点之间分发计算处理负载,大多数情况下,负载均衡集群中的每个节点都是运行单独软件的独立系统。
高可用性集群:其目的是提高整个系统的可用性,当集群中的一个系统发生故障时,集群软件迅速做出反应,将该系统的任务分配到集群中其它正在工作的系统上执行。如果高可用性集群中的主节点发生了故障,次节点会取而代之。次节点通常是主节点的镜像,因此系统环境对于用户是一致的,而且对于用户而言,集群永远不会停机。
3)集群系统的构建原则
构建集群系统时首先要考虑系统及网络管理的需要,其次是成本。对于某些运行关键业务的企业,如电信行业是无法承担服务器意外停机损失的,高性能的集群系统可以满足这些企业的需求,集群的性能越高造价也就越高。集群的可用性能分为以下几个等级:①系统可靠性和品质;②增加的故障恢复;③部件冗余;④系统级和应用程序级冗余;⑤容错。
其中“系统可靠性和品质”等级最低,成本也最少,可通过数据备份,更新内存,使用不间断电源和服务器自动重启等方法实现,如果想得到更高级别的可用性等级就需要增加更多的硬件设备冗余如增加双控制器、RAID等,“容错”的可用性等级最高,可用性等级与成本的关系如图3所示。
3 在网络中实现集群的关键技术
随着计算机虚拟化技术的发展,大大推动了网络管理技术的进步,集群技术作为网络管理中的重要技术手段也得到了广泛的应用。虚拟化技术使用集群系统在结构上对于用户而言变成了一个透明的系统,终端用户面对虚拟服务器操作,而虚拟服务器则控制着通过高速的LAN或WAN相连的物理服务器,从而实现资源最大化,性能最优等特点,所以虚拟化技术是实现集群的关键。
目前主流的实现服务器虚拟化的技术有以下三种:
1)通过NAT技术实现虚拟服务器:即VS-NAT(Virtual Server via NAT),由于目前网络中使用的IP地址版本为IPV4,地址资源有限,并相应的保留了几个私有网段,这些私有网段可以在不同的局域网内部重复使用,需要访问外网时通过NAT技术将私有IP地址转换为公有IP地址。此方法的优点是节省IP 地址,能对内部进行伪装;缺点是效率低,进行地址转换的数据会重复占用转换器的资源。在VS-NAT结构中需要有一台管理机对网内的服务器进行管理,用户通过虚拟IP访问服务器,管理机会建立虚拟IP与真实IP间的对应关系,以保证数据的正确传输。
2)通过IP隧道技术实现虚拟服务器:即VS-TUN (Virtual Server via IP Tunneling),当真实服务器数量较多时,管理机将成为整个集群系统的瓶颈,响应报文会占用管理机的大量资源,造成网络吞吐量下降,使用VS-TUN技术可以很好地解决这个问题。由于应答报文的数据量要远远大于请求报文,最好的方法就是将请求报文与应答报文分开处理,在管理机与每一台真实的服务器之间都创建一个IP隧道,利用IP隧道技术将请求报文封装转发给后端真实服务器,响应报文也能从后端真实服务器直接返回给客户,这样就减轻了管理机的负担,从而实现集群系统性能的提升。
3)通过直接路由实现虚拟服务器:即VS-DR(Virtual Server via Direct Routing),此种方法的实现思路与VS-TUN相似,目的是减少管理机对应答报文的处理,但要求参与集群的计算机和作为控制管理的计算机在同一个网段,控制管理的计算机接收到请求包时直接送到参与集群的节点。
上述三种方法各有优缺点,具体见表1。
4 结束语
本文主要从网络管理的功能、集群技术的特点以及实现集群系统的关键技术等几个方面进行了论述,在当前的网络环境中,用于网络管理的手段是非常多的,技术也非常复杂,对网络性能、安全方面的要求也越来越高,集群技术在当前网络管理中占有重要的地位,通过这种技术可以使多个分散的PC机或服务器间建立联系,使它们协同工作,从而提高网络管理的水平及网络的性能,虚拟化技术的出现推动了集群技术的发展,根据结构不同可分为VS-NAT、VS-TUN、VS-DR三种方案,其中后两种方案具有较强的可伸缩性,更适合在大型网络中应用。
参考文献:
[1] 王达.网管员必读:网络管理[M].2版.北京:电子工业出版社,2007.
[2] 秦智,网络系统集成[M],.北京:北京邮电大学出版社,2010.
[3] Zeus Technology, Inc. Zeus Load Balancer v1.1 User Guide. /.
篇7
关键词:编译原理;课程内容;实验环节
文章编号:1672-5913(2013)18-0066-03
中图分类号:G642
0 引言
编译原理是计算机专业本科生的重要核心课程,通常开设在大学3年级。编译器是计算机3大系统软件之一,其构造原理和技术是计算机科学技术领域的重要组成部分。虽然绝大多数计算机专业学生未来不可能去构造或维护一个主流程序设计语言的编译器,但与编译原理相关的模型、理论和算法可以用在多种应用领域,将对研究开发产生有益的影响。学习该课程可以培养学生抽象思维、独立解决复杂问题、编程和调试等涉及多门专业课程知识的综合应用能力。
编译原理课程内容抽象、理论性强、形式化方法不易理解,对学生编程实践有较高的要求。对于教师而言,如何在有限的学时内优化教学内容,合理安排实验环节,是值得探讨的问题。
1 课程特点
编译领域里的经典教材作者Alfred V.Aho认为编写编译器的原理和技术还可以用于编译器设计之外的众多领域,这些原理和技术通常会在一个计算机科学家的职业生涯中多次被用到。这句话给出了编译原理课程的教学定位——兼具理论与实践两方面的高要求。
编译器构造各阶段的工作均有其抽象理论基础,涉及多种数学模型,词法分析阶段涉及正则表达式与有穷状态自动机理论;语法分析阶段涉及上下文无关文法;语义分析阶段涉及属性文法、类型系统;而树形结构是表示程序语法结构以及源程序到中间代码翻译的重要模型。编译器中的算法研究同样重要,必须考虑算法的功能、通用性,其中语法分析阶段的算法最为典型,依次引入了一系列算法。而编译器开发的实践性强,需要学生实际动手实现一个规模较大的编译器,这本身是一个较复杂的软件工程项目,必须考虑子模块划分、模块之间信息传递、算法效率、编译器构造自动工具等多方面因素。
编译原理融合多门专业课程,包括来自于计算机科学不同领域的思想,如高级语言程序设计、形式语言与自动机理论、数据结构中树及图形算法;操作系统中存储分配方式、人工智能中的贪婪算法、启发式搜索技术;汇编指令系统等。编译原理和高级语言程序设计联系紧密,学好该门课程有利于学生对程序设计语言的理解,可以迅速掌握新的语言工具,在遇到新的程序语言时,学生不会因为没有学过某一门语言而无从人手,这对学生今后从事软件开发工作有重要价值。编译原理课程蕴含着计算机学科中解决问题的思路和方法。学习编译原理课程,不仅要学习如何构造编译器,还要学习解决复杂和开放性问题的一般方法,从中接受的思维训练将会在今后的学习、工作中逐渐体现其价值。
2 合理安排课程内容,突出重点,注重方法
厦门大学计算机科学系的编译原理课程历年采用经典编译教材“编译原理、技术与工具”,其中讲解的核心编译原理是教学内容的重要部分,包括词法分析、语法分析、语义分析、中间代码生成以及运行时环境、优化和代码生成方法的基本技术,教材中对编译前端的技术进行了详细的阐述,但在一个学期60~64学时课堂讲授中,往往无法详尽地介绍所有内容,需要突出重点,对某些章节适当选择。
例如,运行时环境中有关源程序语言相关问题的讨论、非局部命名的访问、参数传递等高级程序语言设计可略讲,向学生列举这些技术在哪些相关课程、书籍或文献中找到参考,拓宽学生思路,培养其自学能力。代码生成、代码优化等编译器后端技术限于学时数,往往涉及甚少,匆匆带过。而这一部分内容对于编译器构造十分重要,关系到生成代码的质量,也是现代编译技术的研究重点。在教学中可介绍代码优化的主要来源、几种经典的优化方法,优化的主要数据结构和实现技术,让学生对这部分知识有所了解,便于将来深入学习。
又如,语法分析方法是编译教学的重点,详细介绍自顶向下分析和自底向上分析,LR分析中有LR(0)、SLR、LR(1)、LALR不同方法,若拘泥于教材逐一讲授,学生较难接受,没有头绪。教师注重讲授方法,在讲解过程中不断提出问题,寻求解决技术及其背后的原理。在语法分析讲授中先介绍递归子程序法,可以用该方法编写某些语法的语法分析器,但这必须对于每个文法手工编写相应的编译程序,教师提出是否可以找到非递归的自动生成语法分析器的方法问题,由此引出LL(1)分析方法。进一步提出LL(1)分析方法适应的文法是有限定的,是否有更普遍适用的分析方法问题,由此引出自底向上的LR分析方法,从SLR、LR(1)到LALR方法,每一种分析方法的引入相互关联。这一方法能够保证语法分析这一要点有清晰的脉络贯穿,让学生能把握这一主线。
语法制导定义及翻译方案的设计是教学的重点和难点,也是学生学习中反映困难最大的内容。因为它没有普适的一般方法,本质上是一种事件驱动的程序设计,这对于3、4年级的本科生较难掌握。如何把握课程难点的讲授,值得深入探讨。这一部分内容教师采用“归纳法”,在讲解过程中围绕语义描述和计算问题,结合具体实例寻求解决技术,阐述语法制导定义和翻译的作用,强调这些技术将运用于解决类型分析和中间代码生成的语义问题。可以将语义规则求值方法归纳为4点:
(1)由下向上计算S属性定义:用带属性值的语法分析栈实现;
(2)由上向下计算L属性定义:消除左递归后引入继承属性,扩充递归的语法分析器,可以实现预测翻译器;
(3)由下向上计算继承属性:用加标记非终结符的方法,使得嵌入产生式右部的语义动作全部出现在产生式末尾,从而能在归约之前执行语义动作;
(4)遍历分析树的翻译方法,上述3种翻译方法均和语法分析同时进行,但不是所有的SDD都能在语法分析同时完成,给出一般化的求值方法,先建立带语义动作的语法分析树,后遍历执行语义动作,要求属性依赖关系图无环。
这一讲解方法能更好地帮助学生理解抽象的问题,提高分析和综合能力。
3 精心设计实践环节
编译原理是实践性很强的课程,要真正理解编译系统,单纯依靠课堂讲解理论知识是不够的。实验课程是培养学生实践能力,巩固和验证所学理论知识,培养学生分析问题、解决问题能力的重要环节。通过实验环节,使学生对编译程序各功能部分间的接口有更好地理解,对算法的实现细节更明了。
在理想的情况下,完成一个完整的编译系统构造,从词法分析到目标代码生成,直至汇编程序的执行,这有助于真正理解整个编译过程,以及系统的运行过程。但在实际教学过程中,限于课时安排,实验课和课堂讲授同步进行,通常只能完成到中间代码生成阶段。编译程序构造是复杂的程序开发,不可能在课堂教学中把所有细节讲清楚,学生往往难以人手,在有限的时间内,实验的效果不好。为了达到好的实验效果,促进学生对编译原理的理解,教师从以下几个方面开展实验环节教学实践:
(1)注重自动工具的使用。利用kex/Yacc编译器自动生成工具,先实现简单的程序(如算术表达式的转换/求值、HTML文件转化成纯文本文件、C源程序格式化转化),所需知识限于正则表达式和自动生成工具本身的使用方法,对语义分析知识要求较少,可以提供相关的资料和网上相关教程,学生易于入手。目的是使学生体会到编译原理的实用性,提高学习兴趣,并获得编译器自动生成工具的使用经验,提高解决实际问题的能力。
(2)分阶段进行实验。根据课程的特点和大纲的要求,可以设置4个阶段的实验内容,词法分析器的设计实现、由上向下递归下降分析器的设计实现、利用工具生成的自底向上语法分析器、语义分析和中间代码生成器的设计实现。每个阶段需要利用之前得到的实验成果,逐步完成编译器系统的构造,通过明确的阶段划分,接口的定义,提高编译原理实验的完成质量。
(3)提供编译器源代码。编译器构造是一个具有相当规模和相当复杂度的系统,对于本科学生独立动手编写小型语言的编译器是有难度的。为了帮助学生掌握,结合一个小型语言编译器构造的完整实例,提供编译器构造的源代码,要求学生对源代码进行分析、扩充和改造,有助于学生的理解和掌握编译原理的构造技术。例如Alfred Aho著的“编译原理(第2版)”和“编译原理(本科教学版)”附录均给出了一个用Java语言实现的完整的编译器前端,包括:源语言的文法描述、词法分析器、语法分析器、符号表和类型、表达式的中间代码、布尔表达式的跳转代码、控制流语句的中间代码,实现源程序到等价中间代码的转换。Kenneth C,Louden编著的“编译原理与实践”以Tiny语言编译程序作为范例,结合各章内容讲解Tiny语言编译程序中的相关部分的实现方法。
4 对课程发展的思考
为培养高素质的计算机专业人才,重视软件开发能力的培养至关重要。在编译原理课程中强调理论知识的综合应用和编程实践能力的训练,要求学生针对特定语言(如C语言的子集),从文法出发,设计一个编译器构造方案,并以此为基础开发满足要求的编译器,将其看作软件开发的综合训练的重要一环。
编译原理课程的实践是在理论基础知识的指导下进行。学生在学习基本理论后进行实验系统的设计与实现;教师在掌握系统总体构成和基本原理、方法的基础上提出实验的基本要求。鼓励学生选择适当的方法进行系统设计,包括选择自动化生成方法。为实现相应效果,要求学生在每个实验之前应完成设计、描述解决方法并给出算法、编写出源程序、给出测试实例,实验完成后要求提交。学生对编译课程内容积极投入,绝大多数学生都能够在有限时间内独立完成词法分析和语法分析的实验,较优秀的学生能够独立完成中间代码生成的实验。
在教学过程中也发现了一些不足,编译原理的教学和实验对后端工作不够深入,尤其是实验,往往到中间代码生成阶段已经接近学期末,目标代码(汇编代码)生成、寄存器分配、优化等没有充分时间进行,对综合运用C语言、计算机组成原理、汇编等知识锻炼不够。
5 结语
正所谓“教学相长”,提高编译原理课程教学质量,需要教学双方的共同努力,互相促进。对学生而言,要提高自身学习积极性,敢于提出问题、解决问题;对教师而言,在讲授知识的同时,要注重学生能力的培养,激发学生的学习兴趣,充实教学内容,提升教学质量,在教学实践中不断思考、探索、实践和总结。
参考文献:
[1]Aho A,Sethi R'Ullman J D.编译原理[M],赵建华,译,2版。北京:机械工业出版社,2009
[2]张昱,陈意云,郑启龙,编译原理课程的教学方法和教材建设[J],中国大学教育,2005(7):61-62
篇8
1.概述
目前,网络技术已成为数据库应用的一个主要方向,特别是WEB数据库管理信息系统可以充分发挥计算机的作用,以机器代替繁杂的手工劳动,明显改善工作质量,大大提高管理效率,合理完善的应用系统能将各个分散的工作集中统一管理,利用网络传输可减少各部门之间的重复劳动,提高工作的准确性、时效性。
基于Web的计算机实验管理系统是针对我院计算机实验实训课管理等具体情况而设计开发的一套网上应用软件,把实验申请、排课、课表的生成和查询以及学时的统计等动态过程在网上实现,解决了因为上计算机实验和实训课的班级多、机房增多等情况而导致的安排实验课工作过程繁琐、管理效率低等问题,满足了实验实训课的管理需求,提高了工作效率。该系统在互联网上运行,只要连网都可以通过网络实现远程申请、查询,这样即方便快捷又节约时间,完全实现了无纸化,具有一定的经济效益。
2.需求分析
通过进行需求调研分析,本系统需要完成任务如下:
(1)实验申请。由任课教师来操作,包括有填写申请、修改申请、撤消申请单以及显示申请等。申请单中包括有以下方面内容:第几周、班级、课程、任课教师、人数、特殊要求、申请日期、星期、节次、上机内容。
(2)实验安排。由机房负责人来操作,根据任课教师所填的申请内容和机房的状况,把某个班级安排到某个机房并安排实验室的教师给予辅导及维护。
(3)实验课表的生成。根据实验安排生成每周的实验课表。
(4)要求能够显示每周的申请列表以及实验课表。
(5)统计查询。要求能够按班级和课程来统计实验学时,能够统计每位实验教师所上的实验学时,能够统计每个实验室所上的实验课及学时。
(6)要求要有数据备份和安全管理措施。
根据需要分析,形成系统结构功能模块如下:
3.系统设计
3.1设计原则
系统要具有可靠的安全性保障
在用户管理中通过为每个用户进行权限的控制,保证不同用户可以操作不同的模块,非法用户不得进入。另外在实验申请模块运行过程中每一步都带有用户名称,保证实验申请用户只能对自己的申请进行操作,不能编辑修改其它用户的申请。
系统要具有良好的开放性和扩充性
随着初始化数据的改变,相应的模块中的数据也随之改变,例如:实验课表的形成是动态的,如果机房的情况有所改变,课表的格式和固定数据也随之变化。可以很方便地进行模式或内容的修改和扩充。
数据格式要统一
有些固定的数据尽量采用下拉菜单形式从数据字典中提取供选择输入,以免造成数据含义不一致的现象,保证了数据在整个系统中的一致性、准确性,使查询结果的数据精确度得到保证。
系统要具有安全可靠的错误信息处理过程
在各类操作过程中,难免会出现一些逻辑上的错误,这就要求系统在出现上述问题时能够自动报警并且给出相应的提示,以便用户进行妥善的处理。
系统要提供一系列的帮助信息,以便用户能够方便地使用该系统。
3.2用户权限分类
根据需求分析,使用本系统的用户有四类。一类是系统管理员,权限是进行系统管理,进行系统的初始化、用户管理及数据维护等操作;第二类是实验安排用户,权限是进行实验安排;第三类用户是担任计算机课程的教师,权限是提交实验计划、填写实验申请、查阅申请和实验课表。第四类为匿名用户,可以查阅申请列表及实验课表和统计查询等信息。
3.3数据库设计
根据需求分析,在服务器上建立了一个应用数据库,在数据库中建立了6个数据表,分别是用户注册表、申请表、实验安排表、实验计划表和开学时间表、备份记录表。另外,为保证全系统数据的共享,设立了相应的数据字典用以存放全系统的各种共享信息。字典数据表如下:任课教师字典、实验教师字典、课程字典、班级字典、机房字典。
3.4各功能模块设计
3.4.1系统管理子系统设计
系统管理是该系统的重要组成部分。包括五方面的内容:初始化、数据维护、用户管理、数据备份、数据恢复。系统管理员经过用户注册进入系统管理界面,在每学期学生开学前进行初始化(包括开学日期初始化、清空各数据表),并在数据维护中输入本学期的任课教师、实验教师、班级、课程、机房、用户等信息,并将其存入相应的数据表,其中任课教师同时被存入用户注册数据表,并设为任课教师权限,保证任课教师能够填写申请,其它非法用户不得操作数据。数据维护模块还可以对上述各数据表进行更新、删除、显示等操作。上述数据保证了全系统的数据共享。用户管理模块包括用户注册、用户登录、用户权限管理,其中用户密码进行了加密,保证了系统的安全性。另外,数据库可以进行随时备份和恢复。
3.4.2实验申请子系统设计
(1)提交实验计划
已初始化的任课教师经过身份验证(在此自己设置用户口令)来提交实验计划,形成班级、课程字典以供其它模块使用,实验计划中的学时供统计实验学时用,上机内容供填写申请使用。包括添加、修改、删除、显示等操作。实验计划全部提交完毕就可以形成申请单进行实验申请。
(2)实验申请
首先任课教师进行登录,若登录成功,进入实验申请主页,包括填写申请、修改申请、撤消申请、显示申请库;若登录失败则显示失败页。其中申请单中的班级、课程等数据从实验计划表中提取。
3.4.3实验安排子系统设计
首先实验安排用户登录,若登录成功,显示实验安排页,包括实验课安排;若登录失败则显示失败页。实验课安排可以是每周一排,根据每周的实验申请分布情况和每个申请的具体内容安排机房和实验教师。也可以把一学期的都排完。查询实验课表时自动生成某一学期、某周、某校区的实验课表。
3.4.4统计查询子系统设计
统计查询子系统包括按班级、课程查询学时数,统计总学时,查询每周某个班级、某门课的实验分布情况,统计每个实验教师的学时和实验课分布情况,统计每个机房的使用情况。可以通过选择某一学期,查询不同学期的实验情况。
4.系统实现
4.1系统开发环境
本系统设计思想是建立一个基于网络的、多个用户共享的信息管理系统,系统构造采用先进的B/S体系结构,采用技术的程序设计方法,结合最新的数据库技术、网络技术和Internet技术,在Web应用开发环境上进行开发。本系统采用三层式的Web结构:前端是一般的客户端浏览
器,后端则是数据库服务器,至于前后端的集成输出功能就由微软的IIS和技术来实现。
下面介绍一下本系统采用的软件配置情况:
(1)网络操作平台Windows 2003 Server和IIS信息服务器
(2)后台Web数据库SQL Server数据库
(3)系统开发平台Visual 和Dreamweaver
(4)软件编程采用和。
(5)客户端运行可采用任何浏览器。
4.2网站界面设计
网站设计采用上下的框架结构形式,把系统的的各种功能模块链接做为导航条放在上面的框架中,所有功能内容在下面框架显示。使各种功能操作起来简单、方便、快捷。
5、结语
篇9
关键词:轮式机器人;图形化编程;编译;串口通讯
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)26-5968-05
随着计算机编程思想的不断进步和编程语言的不断发展,图形化编程的理论和方法作为一种高效、方便的开发方式,目前已在众多领域得以广泛应用。比较知名的相关产品有美国国家仪器公司(Universal Instruments)研发的LabVIEW、UML等,其中的UML更是作为高校计算机专业学生必学和掌握的一种重要设计和开发工具。图形化编程以编程对象的操作处理流程为基础,通过友好的操作界面和功能众多的编程控件实现程序的设计。与传统意义上的编程语言相比,该方法不需要编程者有较为深厚的编程语言基础,不需要考虑严格的语法语义,也不需要花费大量的精力去处理程序代码的结构问题和实际问题的形式化描述等问题[1]。合理的使用图形化编程系统,使得程序开发者可以将精力用于如何更有效地、更优化地实现自己的设计目标。可以预见,随着不同行业图形化编程系统的开发和完善,使用者将具有更大的创造力和创新空间。
目前,我国高校计算机、通讯、电子机械等专业为了更好的融合计算机人工智能、通讯、电子机械的学科知识,提高大学生的实践创新应用能力,已经把智能车和机器人的研究开发和编程控制引入教学和实践环节。中小学为了拓展学生的第二课堂,培养学生的探索和创新能力,也把智能车和机器人的知识普及、开发实验引入校园。同时,国家和地区每年也会举行各种规模的智能车和机器人竞赛。这样的发展环境下,开发一种简单、适应性强的的图形化编程系统,显得尤为重要和必要。
本文研究设计了一种针对轮式机器人编程的基于图形化编程方式的软件系统,该系统可以作为学生进行机器人比赛和机器人普及教育的软件编程平台,操作方便,对专业编程技术要求低,同时具有较高的稳定性和可扩展性。
1 轮式机器人控制原理
智能机器人控制器种类繁多,但其基本工作原理不尽相同,如图1所示。
1)机器人上层编程软件,实现机器人控制的应用软件设计,实现各种功能算法、编译、连接、下载的实现,它是机器人控制系统的软件平台。
2)机器人主控器系统,机器人的应用软件运行的平台就是机器人的主控器系统,所有机器人的功能实现由它来决定,它是机器人控制系统的核心,它包含了主控器的硬件系统和软件系统。
3)机器人传感器系统,机器人感知外部环境得到环境数据均由这一部分来实现,它可以采集各种模拟量数据和数字量数据,为机器人执行动作提供环境依据,它的功能包含各种传感器的数据采集功能和数据处理的功能。
4)机器人执行系统,这一部分是机器人实现各种功能的外在表现,机器人的所有动作实现均由它来完成,不同功能的机器人的执行系统都不同。如:各种仿生机器人、水下机器人、巡逻机器人等,他们的执行系统体现出来的结构千变万化。
本软件开发和测试过程中采用的机器人控制器如图2所示。
该控制器以LM3S1607处理器为核心,包括微处理器、存储器(FLASH存储器和SDRAM存储器)、键盘电路、与传感器系统通讯电路、LCD液晶显示电路、PWM驱动电路、电源供电电路等。
智能机器人控制器可以驱动三种电机:普通直流电机、步进电机和舵机,配合各种传感器实现各种功能的机器人,如:避障、沿轨迹移动、寻找火源等功能。
控制器支持嵌入式操作系统,如:ucosII等。当前控制器没有运行操作系统,因而系统是基于单任务的,如果客户需要可随时加入操作系统。
该主控系统硬件包括:微处理器、存储器(FLASH存储器和SRAM存储器)、键盘电路、LCD液晶显示电路、I/O驱动电路、电源供电电路等。如图3所示。
2 软件系统设计思路
该软件系统总体由2层构成,如图4所示。其中上层是由面向对象的交互式开发环境与操作系统组成,主要用于完成流程图的绘制、类C语言的生成及其编译、下载,由于该系统采用跨平台的Java语言开发实现,故任何操作系统只要有Java虚拟机的支持便可以运行该软件;下层是由以LM3S1607处理器为核心的控制器。
本文所设计的面向轮式机器人的图形化编程软件主要由三部分构成,包括图形化编程分系统、类C语言编码编译分系统和通讯下载分系统。
图形化编程分系统采用“积木”搭建的方式,对不同的程序目标,通过模块控件的不同组合和简单的拖拽操作,实现流程结构程序绘制。其中,各个图元会根据需要通过连接线实现连接,也可自定义连接线;模块图形放置后呈现为按钮状态,可通过点击设置其各种属性和控制命令。
系统的图元模块库可分为执行库、控制库和程序库,其中执行库包含轮式机器人的各类动作及操作,如转向、移动、启动电机、停止、定时器等;控制库包含各种程序流程图的流程图控制模块,如中断循环、判断、多次循环和嵌套循环模块等;程序库包含程序操作以及子程序的调用,如参数传递、赋值、调用系统、调用子程序等模块。
类C语言编码编译分系统,是本软件系统的C语言编码编译器,当用户完成图形化编程并设置好各控件模块的参数后,本软件系统会在后台生成相应的类C语言源码。该源码通过编译分系统完成语法及语义检测,再经编译、链接转化成轮式机器人LM3S1607处理器可识别的目标代码,经由RS232串口,实现数据的收发。
通讯下载分系统,主要实现多端口的数据通讯。该分系统负责将类C语言编码编译分系统所形成的目标代码和伪指令集通过仿真器下载到轮式机器人的嵌入式单片机处理器硬件并完成必要的信息交互。
上述设计思想具体实现如图5所示。
3 系统设计实现
3.1图形化编程系统设计思路
图形化编程的实现是本软件系统的核心环节之一。利用本软件系统的图形化编程分系统,开发设计者首先确定自己的目标流程,然后在控件模块栏选择相应的图形块放置到绘图区用于表示需要设计的逻辑和动作序列,再经过模块间接口的设计与完善,把所有绘制的图形模块按照预设的逻辑顺序连接起来,从而完成对轮式机器人的编程开发任务。利用本系统可以实现轮式机器人控制程序的快速编程。图形化编程系统界面如图6所示。
为了方便将一定逻辑序列的图形模块集合编译为成C语言代码,本系统设计了三种特定的数据结构,分别用来存储块每个图块的位置、数据和执行动作。
位置信息用于表示对应图形模块在整个图形程序序列流程中的坐标信息;数据信息包括对应图形模块的基本设置内容和多级级联设置内容,主要是通过递归算法实现;事件信息负责存储执行某操作时所引发的相关事件信息及对应的动作信息。
系统采用动态链表方法实现模块的插入、删除和修改,同时表征各模块在程序流程中的逻辑序列关系。为了实现这一操作,在操作某个模块的时候,需要对整个动态链表遍历,按照递归算法,重绘图形程序中对应模块的坐标,并实现模块间的连接。
本系统允许用户拖动模块重新编辑图形化程序。此时,系统会遍历当前程序流程中的所有的模块接口坐标,实现模块间的碰撞冲突检测,避免图形模块的重叠和混乱。
3.2 图形语言程序编译为C语言代码
编译器在本质上就是将一种计算机程序语言翻译为另一种计算机程序语言。它以某种语言编写的源程序作为输入,产生相对应的目标语言程序[2]。本系统在其交互式的开发环境中集成了代码编译功能,使得用户直接可以完成图形化语言程序到C语言目标代码的生成。
图7为图形程序到为C代码的编译转换过程图。
传统的编译器构造方法是将编译过程的词法分析、语法分析和语义处理分别划分为相互独立的不同阶段,采用某种编译工具和某种集成开发环境相结合实现。编译工具负责完成编译系统的语法解释模块,再由集成开发环境提供的接口,导入语法解释文件来完成整个编译流程,这种方式使得系统开发过程较为繁琐,且可移植性不好[3][4]。
鉴于此,本系统的编译器采用了面向对象的编译技术,将传统编译处理过程中的阶段分割操作放在交互式开发环境编辑器IAR Embedded Workbench中实现。这中实现方法不需要退出编辑器就可执行程序,从而方便完成从源码到目标码的生成。所以,采用这种方法,可以集词法分析、语法分析、语义处理、优化和目标代码生成等操作于一体,降低了维护的难度,提高了系统的运行速度。
本系统所采用的编译器从结构上可以分为两部分:依赖于源语言的前端操作和依赖于目标语言的后端操作,编译器内部结构如图8所示。
前端部分包括扫描程序、语法分析和语义分析,后端部分是代码生成程序。当图形化程序的目标代码发生变化时,可以有效地保持移植一个新的目标语言所需的信息或数据结构,由此可见这样分离前端和后端的设计方案提高了编译系统的可扩展性、可复用性和可维护性。
3.3 通讯及程序下载
本软件系统采用的LM3S1607微控制器,支持异步和同步串行通信。其中,通用异步收发器是一个用于RS232C串行通信的集成电路,它带有一个发送器(并行到串行的转换器)和一个接收器(串行到并行的转换器),它们各自独立计时。同步串行接口是一个4线双向的通信接口。LM3S1607 控制器包括 1个 SSI 模块,提供器件与设备之间的同步串行通信功能。
利用本软件对轮式机器人进行图形化编程后,采用ARM公司提供的标准20PIN仿真调试JTAG接口模块LM LINK,实现编译后目标程序的调试和下载。该调试下载器采用USB 接口连接PC机,可实现在线调试并将程序快速下载到LM3S1607微控制器芯片中,控制轮式机器人的各种动作。在实际使用过程中,本系统所采用的仿真下载器可以方便应用于各种机型和环境,同时具有小巧、性价比高、调试下载速度快等特点。
4 结束语
本文针对目前机器人/智能车编程难度大,编程工具过于专业化的特点,提出了一种图形化程序设计的编程思路和解决方案,并利用Java技术实现了一个面向轮式机器人的图形化编程平台。该平台通过设计大量图形模块,通过“搭积木”的方式,对不同的程序目标,通过模块控件的不同组合和简单的拖拽操作,实现流程结构程序绘制,各个图元根据需要通过连接线实现连接。图形程序通过内嵌的交叉式编译器编译成目标程序,下载到机器人ARM芯片上执行控制。通过使用本软件系统,可以摆脱传统机器人编程方式的限制,使得机器人的研究应用具有更广阔的推广空间。
目前,该软件系统已应用到相关的轮式机器人产品上。经过大量测试表明,本软件适用于大中小学生进行机器人和智能车的程序设计,系统具有可重用性、稳定性、易维护性等特点。
参考文献:
[1] 邱长伍,曹其新.机器人图形化编程与三维仿真环境[J].机器人,2005(27).
[2] Kenneth C Louden. Compiler construction principles and practice[M].北京:机械工业出版社,2004:1-8.
[3] 高治国,张素琴.向对象编译系统开发环境的研究[J].小型微型计算机系统,2003(24).
篇10
关键词:电子商务项目管理
所谓电子商务,就是商务信息的数据电子化,通过网络实现商务流程(包括报价、合同、结算、文件数据传送、备货进度、发货通知等)。网络技术的发展,推动了电子商务的迅速发展,推动了企业营销模式的革命,也推动了全球经济的一体化。
一、电子商务项目管理的可行性论证
项目管理是本世纪60年代产生的一门管理学科。从项目管理学的产生到现在,人们在项目管理的理论和方法上做了大量的工作,对项目管理的认识也不断深入。现代大型项目的基本特征是所需资源昂贵,技术复杂,涉及的人员、机构和职能相互依存的程度高,风险大。在这种项目中,有一个能对项目信息和活动进行系统性管理的充分开放的系统是项目成功的重要保证。电子商务(ElectronicalCommerce)引发了管理学的革命,开发和研制基于电子商务的重大项目管理已迫在眉睫。
计算机在现代项目管理的组织、计划、协调、控制和决策项目管理的各个阶段中发挥着越来越重要的作用。综合国外的情况来看,项目管理作为一门综合的学科已有相当的深度,尤其是如何将现代计算机技术与管理相结合上已经做出了很大的成绩,计算机技术使现代项目管理从理论和方法上都有了巨大的进步。目前,国外各项目管理商家正着手于电子商务与项目管理结合的开发。
新技术(网络化、信息化数字化、智能化等)发展下的项目管理(ProgectManagement)的重要性、必要性以及可行性日益严重地摆在了我们面前。开发和研制基于电子商务的项目管理时,就有必须确定可以满足这些企业集团需求的各种电子商务计划的技术可行性。一个基本的原则应该是使用那些最能提高企业集团业务能力的电子商务技术,如EDI、条形码、电子邮件、WWW、产品数据交换、电子表格等,目前这方面的技术已经成熟。
世界经济一体化和信息化以及信息网络推动下的21世纪的电子商务对投资及管理模式产生了深刻影响。传统管理的概念、理论和管理方式及模式正面临信息化的机遇和挑战。如何对项目进行项目前期的审核和评估,项目实施阶段的质量、进度等项目建设周期全过程、动态化计算机信息网络管理是我们必须面对和解决的问题。
网络和电子商务技术使企业管理的控制性能更好,组织结构更为有机化,更能满足系统目标的实现。一方面,计算机系统的控制替代了人的监督,极大地改变了企业管理者监督和控制组织活动的能力,其结果是控制的范围更广,组织的管理层次更少,对人员的需求也更少。另一方面,管理网络一体化增强了企业收集、综合、整理、监督和传播信息的能力,而这种变化又引起了组织交流方式的巨大变革。
二、电子商务项目管理的关键技术分析
1.多层软件体系结构。随着Internet的成功和普及,目前多层式系统正在逐渐成为企业注目的焦点。与客户/服务器系统的客户、服务器两层结构相比,多层结构在中间多了几层部分,其目的是集成后端的不同服务器,使它们的资料以及操作界面能以统一的方式呈现。多层软件体系结构的优势还在于它使得客户使用成为可能,方便了系统的维护和升级等。
2.工作流管理技术。工作流管理是近几年来计算机应用领域中发展最为迅速的几项新技术之一,它的主要特征是实现人与计算机交互事件结合过程中的自动化。工作流主要涉及的内容是工作任务的整体处理过程、工作组成员间依据一组已定义的规则及已制定的共同目标所交换的文本文件、各种媒体信息或与任务相关的信息。网络时代下的商务活动使得分布环境下的虚拟企业、协同工作成为可能,也使对象按照某种规则在网上进行的流动成为可能。项目管理自身的特点和规律为工作流技术的实施提供了极好的应用背景。
3.系统集成技术。鉴于基于电子商务的项目管理信息系统的应用的复杂性和多学科性,在系统的具体实施过程中,我们必须强调系统的集成,这主要包括与单位原有的系统的集成、与新购的软件系统的集成等以及部分软件的二次开发等,以节约人力、财力、提高效率。
4.系统开放性和信息的安全性。基于电子商务的项目管理必须既要开放又要安全。开放使我们的系统与外部的系统相连接,以便数据交换和信息共享,安全保证我们的系统稳定可靠,对于电子商务时代的系统安全性能尤其重要。
5.现代项目管理方法的研究。项目管理在发达国家已经发展完善了几十年,在我国的应用尚属发展阶段,为此,对于现代项目管理我们也要予以重视,这当然不仅是一个技术的问题,还有体制等有关的问题。
三、电子商务项目管理的解决对策探析
当今的企业集团要想在未来的市场中立于不败之地,就必须逐步实现电子商务。企业集团建立和实现电子商务的步骤,可以分部实施,逐步完善。
随着电子商务应用的深入,企业可以逐步建立电子商务应用系统。通过这样的系统与一些有固定关系的合作伙伴建立联系,通过它直接建立电子商务活动,以便更加快捷地与客户和供应商交往,提高企业运作效率。这样的系统也同时提供给可能分布于全国甚至世界各地的分支机构、联营公司、办事处等企业内部使用,极大地提高项目的管理水平。
面向西部大开发的重大项目,以某一行业的项目管理信息系统为切入点,参照国际项目管理模式,分步实施。在具体的实施过程中以网络为基础,以电子商务为手段,以管理为目的。
电子商务技术的发展日新月异,它综合了最新的网络交互技术和数字技术,代表了未来信息管理技术发展的趋势,对企业的信息管理产生了深远的影响和变革作用。虽然这些技术还有许多有待完善,但是,我们已经可以看到,在不久的将来,它的发展将使信息管理从管理理念到管理手段和方式都发生巨大变化。
参考文献:
[1]李峻峰.电子商务环境下企业业务流程重组的探讨[J].企业经济,2007,(4).