程序与系统

2024-05-18

程序与系统(精选十篇)

程序与系统 篇1

随着民用航空运输业的不断发展, 传统的航路设计已经不能满足其运输业的发展需求, 因此, 作为区域民航与所需导航性能系统的广泛运用于发展带来的基于性能导航 (PBN) 技术, 将为我国民航的远程运输业的发展到来极大的, 有效的增强民航的盈利以及轮动发展的能力, 不断满足我国航空运输的可持续发展要求[1]。

1 现代民航发展现状

当前, 我国的民航发展由于技术上的限制, 导致其在不断发展的路上还是面临着诸多矛盾和挑战。首先, 需求与能力之间的矛盾。随着时代、经济的不断发展, 社会对现代民航运输的需求逐渐增强, 但是实际上的民航技术却还停留在之前的技术之上, 不能满足时代的发展需求;其次, 民航的运输优势逐渐被淡化, 且成本在逐渐加大。最后, 空域资源、土地资源及环境保护等多方面因素在不断的制约我国民航的长期发展。因此, 必须寻找一种新的导航技术以促进民航事业的可持续性发展。

2 PBN飞行程序系统的设计

对于PBN运行, 其技术核心是依据其GPS导航性能, 因此, 在实际的设计规范中, 不同的PBN导航系统采用了不同的导航设施, 在设计中必须对民用航天航空的设计规范进行有效的设计。PBN导航规范包括了RNAV (区域导航) 与RNP (所需导航性能) 两种类型的导航规范, 因此, 相应导航设施的设计要不断的满足不同的PBN导航系统在导航精度、应用完好性、过程连续性等方面的规范。同时, 区域导航与所需导航性能的导航运行规范均属于区域导航运行模式, 具有运行安全性、效益、终端区容量高, 航迹选择灵活, 飞行员工作负荷小、陆空通话频率低等优点。

关于进近PBN程序的设计, 它也有两种设计规范:RNP APCH的通用程序与RNP ARAPCH专用程序, 其中后者主要是针对航空公司的特定机或特别授权机组的专用设计程序。该程序主要是根据其在进近阶段飞行的引导形的不同将其分为了非精度进近、精度进近和有垂直导航引导进近3中不同的形式, 属于中一中通用程序。精度进近程序主要适用于基于地面的增强系统, 而非精度进近程序则是指从最后进近定位到最后的进近航段的复飞点之间没有下滑的一种引导趋势。在PBN飞行程序系统的设计中, 它有独立的数据库以提供真实的导航台、航线、机场、地形等相关的数据, 从而保证飞行程序能够得到有效的规划、评估制图, 并进行相应的编码工作。

3 PBN飞行系统优越性及其应用

第一, 优越性。相对于传统的导航方式, 该飞行程序系统的实施与应用有着很大的优势。首先, 在航路运行上, 它可以对航路点进行灵活的选择, 以减少航路的拥挤, 并提高空域的利用率和交通流量。同时, PBN航路上的导航精度基本是保持不变的, 能够有精确的引导航空器, 使航班延误达到了大大的降低, 并提高飞行中的安全系数, 减少了成本, 提高运行中的整体经济效益;其次, 在终端区运行中, 可以有效根据进离场图上有关航路点的特殊限定飞行, 就可以避免潜在的飞行冲突, 提高其运行效率;最后, 在进近飞行阶段, 可以根据程序上的显示, 选择合适的运行方式, 提高进场的效率, 以增加收敛进近的应用。

第二, 实际应用。随着我国民用航空航天事业的不断发展, 其在区域卫星GPS导航技术上的研究与推广的步伐也在不断的加快。如我国西部地区由于地形较复杂, 且天气恶劣不易于飞行, 然而PBN技术的有效运用, 有效的优化了我国西部地区的航线结构。2001年11月, 我国按照国际上有关民航组织的标准, 在三亚飞行情报区实施了RNP10的洋区区域导航航路, 为航空公司的运行带来了极大的灵活性, 并减少了航班延误的情况, 有效的增加了航空公司的经济效益。2006年7月, 国航西南分公司完成了林芝机场的特殊RNP飞行程序验证工作, 并开通了成都-林芝的航线, 有着很大的安全和经济效益。2010年11月, 上海虹桥、浦东机场有效验证运行了RNAV飞行程序, 并取得了很好的效果。

4 结束语

PBN技术在我国民航中的有效推广与运用, 使我国民航局能够根据国内各民航的实际情况进行灵活的空域划分, 使空间资源的利用率得到大大的提高, 并且在增大航空空域总容量的基础上使我国空中存在的交通拥堵情况得到了有效的缓解或解决, 提高了民航的经济效益, 使我国航空航天导航系统有着先进的技术支持, 这样, 就可以满足航空运输在可持续快速发展进程中的要求了, 有效的促进其长期发展[2]。

摘要:基于性能的导航 (PBN) 技术, 已经被国际民航组织 (ICAO) 选定为了下一代飞行的导航技术, 它的推行与实现, 对我国从民航大国向民航强国转变具有重大的意义, 为我国民航的发展带来新的生机。文章具体介绍PBN技术以及基于该技术的飞行程序系统的设计, 并论述PBN飞行程序系统在实际中的应用及其优越性。

关键词:PBN,飞行系统,实用性

参考文献

[1]王盛实.PBN飞行程序系统设计与应用[J].现代商贸工业, 2012 (22) :191-192.

程序与系统 篇2

目前常见病毒:

1、替换userinit.exe

2、替换explorer.exe

如何防范此类病毒呢?其实,系统本身具有保护系统程序不被篡改的防护机制DDwindows文件保护。

关于“windows文件保护”的详细介绍见:support.microsoft.com/kb/222193。

电脑中毒,系统程序被病毒替换的原因是用户没有开启“windows文件保护”,或者未完全执行“windows文件保护”步骤中的sfc/scannow,

最近,帮朋友解决一个usreinit.exe被病毒替换的中毒案例时,查看其dllcache文件夹,发现其中只有212个文件,显然此系统未完全执行过sfc/scannow。

搞定病毒后,帮其完成“windows文件保护”。步骤如下:

1、点击“开始”、“运行”。

2、键入cmd,按回车。

3、键入sfc/scannow,按回车。

4、耐心等待windows文件保护扫描完成。

5、完成windows文件保护扫描后,再检查以下dllcache文件夹(受保护的系统文件缓存处),发现文件数目达3340个。

程序与系统 篇3

关键词:发那科;西门子;数控程序;格式对比

笔者公司多年来购买了许多种类的数控加工中心,最初主要以FANUC0i—MA系统为主,后来多为西门子840D系统,编程员就需要经常将原来的FANUC程序转换成西门子程序后再下发机床,经验较丰富的编程员可以很快地完成,但初次接触西门子系统的编程员经常将格式搞错,要么导致程序无法下发,要么加工中程序格式报警,下面笔者结合自己平时的编程经验,将两种系统放在一起,通过对比说明,以共同提高编程水平。

一、程序命名规则

FANUC:%O1234(WP1-CUXI)

……………

SIEMENS:%_N_WP1_CUXI_MPF

…………..

FANUC机床将“WP1-CUX I”读取为程序名,字符串间用“-”连接;西门子机床将“WP1_CUXI”读取为程序名,字符串间用“_”连接,“MPF”表示为主程序,若为“SPF”则自动放入子程序文件夹。此外,在任意程序段,需要书写字符串的地方都应遵循FANUC使用“-”、西门子使用“_”。

二、刀具长度与半径补偿

FANUC程序需使用“H1”对刀具T1进行长度补偿,使用“D1”对刀具T1进行半径补偿,H值与D值分别存储在OFFSET面板的长度补偿与半径补偿栏。而西门子程序只需在调用刀具后移动刀具前执行“D1”即可同时进行长度和半径补偿,西门子的“D1”表示的含义是“刀沿1”,其在OFFSET面板中对应了一组刀具长度和刀具半径,每把刀均拥有若干组刀具长度和刀具半径,即若干个“刀沿”D1~D9(840D有9个,810D、802D有3个),一般刀具都使用各自的D1即可。需要特别指出的是,840D每个刀沿包含3个长度补偿值,通常“长度补偿1”保存当前加工平面(由G17、G18、G19决定)对应刀具轴的铣刀长度补偿值,不同刀具种类3个长度补偿值含义不同。

三、程序段注释符号与选择性跳段

FANUC程序段注释格式为“(注释内容)”,西门子程序段注释格式为“;注释内容”,两者均可放置在程序行任意位置,注释内容不以数控代码执行。程序段选择性跳跃标识符均为“/”,当面板上选择性跳跃按键激活,当前程序段“/”后面的程序段不执行。

四、圆弧插补

FANUC程序走圆弧示例“G02X10Y20R-5”,西门子用“CR=”代替“R”,就变为“G02X10Y20CR=-5”。

走整圆(圆弧通用)程序格式相同,均可使用“G02/G03 X..Y..Z..I..J..K..”,通过赋值I 、J 、K ,表达圆心相对起点的相对坐标值, 确定圆心位置。此外, 西门子提供了另一种确定圆心位置的表达方法“G02/G03 X..Y..Z..I=A C(..)J=A C(..)K=A C(..)”,A C(..)可以表示圆心的绝对坐标值。当然,此赋值方法也可使用在别的字段上,例如:“G01X=A C(..)Y=A C(..)”,若当前为“G91”表示相对坐标状态,则可通过“=A C(..)”暂时赋值绝对坐标值;相反,若当前为“G90”表示绝对坐标状态,则可通过“=I C(..)”暂时赋值相对坐标值,我们可以根据已知条件选择合适的赋值格式,提高编程效率。

五、螺旋插补

FANUC螺旋线程序示例“G17G03X10Y0Z2I-10”,机床会在X Y 平面走圆弧的同时再同步运行Z 轴,执行出一条不超过360°的螺旋线;西门子相应示例为“G17G03X10Y0Z2I-10J0T U R N=0”,其中“T U RN=0”表示此段螺旋线无整圆部分,即不超过360°,通过改变字符串“T U R N”的赋值,可以控制螺旋线整圆数量。

六、固定循环

FANUC钻孔循环使用ISO标准的G代码,西门子钻孔循环使用自家的CYCLE循环,固定循环执行步骤与参数含义大同小异,这里就不细讲,我们主要讨论一下循环的模态调用问题。FANUC的钻孔循环默认为模态调用,而西门子的CYCLE循环默认只执行一次,必须使用“MCALL”封装CYCLE循环及其点位,才能实现模态调用,例如:

N10 MCALL CYCLE81(RTP,RFP,SDIS,DP)

N15 X10 Y20 ;第一个点位

N20 X30 Y40 ;第二个点位

N25 MCALL ;撤销模态调用

七、倒角、倒圆

FANUC程序若在直线圆弧的拐角处插入倒角的话,可以在拐角点之前程序末尾加上“, C…”,若倒圆则加上“,R…”;西门子对应上述指令,倒角为“CHR=”,倒圆为“RND=”。另外西门子在倒角时还可给定其本身的直线长度进行倒角“CHF=”。

八、宏程序

FANUC程序中局部变量用“#n”(1≤n≤3 3)表示,西门子程序中局部变量用“Rn”(默认0≤n≤99)。FANUC程序若给字段赋值直接在字段后跟变量,例如:“G01X #1Y#2Z#3”;而西门子程序必须使用赋值符号“=”,例如:“G01X=R1 Y=R2 Z=R3”。FANUC程序中表达式封装使用“[ ]”,如:“#1=SIN[[#2+#3]*#4]”,而西门子程序表达式封装用“( )”,上面范例就变为:

“R1 = SIN ( ( R2 + R3 ) * R4 )”。FANUC程序的跳转语句为“GOTO”,而西门子除了“GOTO”,还可使用“GOTOB”与“GOTOF”。“GOTO”的含义两者都一样:先朝程序结束方向搜索,再跳转到程序开始处继续搜索;而使用“GOTO B”可直接控制向“程序开始方向”搜索,“GOTOF”直接控制向“程序结束方向”搜索。FANUC程序中跳转目标直接用程序段号表示:“GOTO123”表示跳转至“N123”处,西门子程序的跳转目标可以用程序段号表示:“GOTO N123”,也可以用字符串所标记位置,例如:“GOTOLB1”意为跳转到字符串“L B1”标记处“L B1:……….”。这里必须指明西门子字符串的命名规则:名称前两位必须是字母或者“_”,以示其与普通字段的区别,例如:“X1”的含义变为了加工轴X 1,不能作为字符串名称。另外需要注意的格式问题是,FANUC程序条件判断语句中的条件需要用“[ ]”封装;西门子程序中需要用空格隔开,例如:

FANUC:IF[#4>0]GOTO1

西门子: IF R4>0 GOTOB LB1

九、轨迹控制

注:单方向精确定位,适合钻孔时消除反向间隙。

FANUC机床默认为G64,西门子机床默认为G60。要想得到准确的尖角,必须在准停状态走刀;想提高加工效率,不需要精确的尖角,则可取消准停,机床在拐角处不减速,从而提高表面加工质量。对于西门子机床,若使用较多点位模拟加工曲线或曲面,则适合在G64状态下加工,同时配合使用加速度控制指令SOFT(恒定加速度方式),消除点位间停顿,减小冲击,得到较好表面质量,如表所示。

十、进给控制

FANUC程序中G62开启内拐角自动倍率功能,但需在相应机床参数中设置相关值;而西门子机床有较为完善的拐角进给控制指令:CFTCP、CFC、CFIN。CFTCP:刀具中心点按给定F值进给;CFC:走内R 减速,走外R 加速,保持刀具外廓(即刀具与工件接触点)按给定F 值进给;CFIN:走内R 减速,走外R 时刀具中心点按给定F 值进给。因西门子默认为CFC模式,所以当使用大直径刀具加工外R 时,F 值加速会比较明显,编程时应考虑此因素,如有必要则应执行CFTCP或CFIN命令。

十一、结语

经以上对比,虽未涵盖两数控系统所有类型指令,但却是实际应用中最应该注意和掌握的。虽然西门子提供了ISO代码执行模式(G291),但很多特色功能代码还是必须在西门子模式(G290,默认状态)下才能执行。

参考文献

[1] 廖效果,朱启逑. 数字控制机床[M]. 武昌:华中科技大学出版社,1992.

基于物联网系统诊断程序设计与研究 篇4

国内外目前物联网的研究和开发仍处于起步阶段, 不同领域的专家和学者对物联网研究的起点, 在物联网的位置和特征仍有一些混乱的概念、系统模型、系统体系结构和关键技术的定义也是个缺乏动力。本文从物联网领域, 综述了研究现状和发展从物联网的概念、系统结构、关键技术和标准化工作, 研究物联网、对现实基础和关键问题的进一步探索研究将在未来物联网的发展起到主导作用。

1.1主界面介绍

主界面包含4大模块:1号模块为功能列表区包括运动信息显示、作业信息显示、日志信息显示 (下一版本开发) 和CAN数据显示四个模块。2号模块包括CAN连接和多个监控机客户端显示。3号模块包括状态查询、版本查询、参数查询和各轴时间查询。4号模块包括监控机注册、作业名设置、警报设置、监控机信息查询和CAN数据查询[1]。

1.2实时采集机器运动信息

机器监控系统通过以太网实时采集监控机上报的码盘输入、码盘输出、姿态值、关节值、轨迹规划值。机器监控系统打开实时采集机器运动信息开关后, 监控机软件存储信息在数据缓冲区中, 按固定缓冲区大小向机器监控系统上报数据。机器监控系统将采集到的数据进行入库操作。并且按照一定周期显示采集到的数据。用户可以根据选择需要显示的内容进行实时显示。当实时采集机器运动信息开关关闭后, 监控机停止向机器监控系统上报运动信息。

1.3采集CAN总线数据

本系统将安全的远程连接和卓越的技术支持结合起来, 能够实时地看到设备的信息, 特定诊断。应用程序对设备执行状况进行监视和实时报警。研发人员通过应用程序反馈的信息, 凭借丰富的产品知识, 随时分析处理客户的重要设备信息, 提供高效诊断服务, 并实现事件预警及快速响应[2]。过CAN分析仪, 采集CAN总线数据, 并将采集到的数据存入数据库。数据库至少保存从当前时刻起, 不少于15分钟数据。

1.4机器参数信息查询

机器监控系统通过以太网向监控机下发指令, 查询机器参数信息, 监控机收到指令后, 将机器参数返回给机器监控系统。机器监控系统将获取到的信息显示在GUI界面。机器参数包括:机器轴数、各轴限位、各轴最大速度、各轴最大加速度、各轴减速比、各轴每圈码盘数、各轴跟踪差、各轴速度限和机械参数。

二、机器的物联网网络结构

根据当前物联网架设需求, 将组网方式分为本地局域网组网方式和广域网组网方式两种, 这两种组网方式都是当前组网方式的扩展。当前物联网组网方式为:机器控制器 (监控机) 通过有线方式与本地节点相连接, 本地节点采用3G网卡与外网服务器相连接, 本地局域网内没有采用无线连接方式。

2.1局域网组网方式

该方案的特点是配置齐全, 系统启动开始工作, 其工作配件如温度探头、烟雾探头红外护栏等就会采集数据并发送回主机。当有情况发生, 比如有人强行进入时, 主机接受到报警信息。

在基于本地局域网的网络结构中, 服务器放置于本地, 机器控制器 (监控机) 通过无线终端机与本地节点相连接, 一个本地节点可以连接10台监控机, 本地节点将数据采集到后, 再次通过无线终端与本地服务器相连接, 服务器通过3G网卡或有线网络与Internet相连接, 客户端浏览器通过Internet网络从本地服务器上浏览信息。

存在的问题:当一个工厂有多个厂房或一个厂房有多个楼层时, 本地节点可能无法通过无线方式也本地服务器相连接。

解决方法:①跨楼层 (厂房) 的本地节点与本地服务器间使用有线网络相连接;②采用混合广域网方式, 本地节点使用外网与本地服务器相连接。本地局域网组网方式网络拓扑图如下所示:

2.2广域网组网方式

在基于广域网的网网络结构中, 服务器放置于外网机房中, 机器控制器 (监控机) 通过无线终端机与本地节点相连接, 一个本地节点可以连接10台监控机, 本地节点将数据采集到后, 通过3G网卡与外网服务器相连接, 服务器通过3G网卡或有线网络与Internet相连接, 客户端浏览器通过Internet网络从本地服务器上浏览信息[3]。

三、系统设计方案及特点

3.1报警控制主机为中心+各种配件

该方案的特点是配置齐全, 系统启动开始工作, 其工作配件如温度探头、烟雾探头红外护栏等就会采集数据并发送回主机。当有情况发生, 比如有人强行进入时, 主机接受到报警信号, 就会将报警信息通过通讯网络发送至主人的设备终端上, 如果联网可直接发送到小区报警中心或110指挥中心, 并发出报警铃声。配置缺点是没有监控摄像, 不能采集入侵者信息帮助案件侦查, 并且报警铃声可能会起到反作用。

3.2以计算机为监控中心+电脑摄像头+监控报警软件

该方案的特点是能通过摄像头抓捕实时画面, 对具体情况进行实时摄像, 并通过录像提供证据帮助案件的侦破, 并且造价低, 可利用家用计算机和摄像头完成系统配置, 只需购买软件安装。缺点是由于摄像头本身具有的拍摄能力较弱, 范围小, 家用计算机安全性低, 视频资料易丢失或外泄。

四、结论

在机器现场调试过程中, 由于在调试机器控制器时, 机器控制器的控制信息、状态信息、错误信息、调试信息等无法及时、直观地获得并保存, 对工作人员的控制器调试、错误排查。状态检测都造成了极大地不便。

通过机器监控系统, 配合底层控制器进行数据通信和监听, 可以获得全面、详尽的控制、状态信息并存入数据库中, 并通过界面进行直观显示, 辅助工作人员进行控制系统的调试和维护。

在实际应用中, 在上位机运行机器监控系统, 通过CAN、网络等方式与下位机进行连接, 监听或按照协议获取下位机总线信息、控制信息、状态信息等, 将该信息存入数据库系统, 并通过UI界面进行直观显示。

摘要:随着我国改革开放, 经济飞速发展, 物联网技术已经引起国内学术界、工业界和新闻媒体的高度重视, 当前物联网的定义、内在原理、体系结构和系统模型等方面还存在许多值得探讨的问题, 通过对现有物联网技术文献和应用实例的分析, 探讨了物联网与下一代网、网络化物理系统和无线传感器网络的关系;提出了物联网的服务类型和结点分类, 设计了基于无源、有源和互联网结点的物联网的体系结构和系统模型;在物联网功能概述、机器的物联网网络结构、系统设计方案及特点基础上, 对物联网的系统设计方案及特点提出了建议。

关键词:物联网,传感器网络,机器,网络

参考文献

[1]Alexandersson.i2home towards a universal home environment for the elderly and disabled[J].Kunstliche Intelligence.

[2]郁有文, 常健.传感器原理及工程应用[M].西安:西安电子科技大学出版社, 2000.

程序与系统 篇5

授课年级:高一(3)班

学生数:56人

专业:计算机高考 授课地点:多媒体教室

授课时间:2013年11月20日 授课教材:高等教育出版社《计算机应用基础》

一、学情分析

学生已经学生一个多月的计算机,已经具备了一些计算机的理论知识,能用键盘打字,能进行文件及文件夹的一些操作。

二、教学目标

1、知识与技能目标

理解Windows xp的系统组件。

2、操作技能目标

掌握Windows xp的系统组件的删除和添加。掌握应用程序的安装与删除。

3、情感目标

能用端正的学习态度进行学习,谨慎进行系统组件、应用程序的安装与卸载。

三、教学资源准备

随机抽取程序、百度影音、模拟QQ安装程序,I386系统文件夹

四、教学重(难)点

1、Windows xp的系统组件的添加。

2、应用程序的安装与删除。

五、教学过程

1、先回顾上次讲的有关资源管理器中的文件及文件夹的问题。

2、通过一个事例引出本节课的课题。

3、讲解Windows xp中系统组件的概念。系统组件为Windows xp安装成功后自带一些功能,如计算器、画图、纸牌等。

4、系统组件的添加和删除通过控制面板中的“添加删除程序”的添加/删除Windows组件。

注意:添加组件时要用到Windows xp的系统安装文件I386。

5、软件的安装:

软件分绿色软件和需安装的软件 绿色软件不需安装。

需安装的软件:将软件“绑定”到Windows xp上,一般软件都配置了自动安装程序,安装程序名通常为Setup.exe或Install.exe,用户只要双击这两个文件就可以进行向导式的安装。学生演示:安装百度影音、模拟QQ

6、删除软件: 教师演示:

方法一:使用软件自带的卸载程序

方法二:使用控制面板中的“添加/删除程序”

方法三:使用第三方工具软件,例360软件管家、QQ电脑管家 学生演示:卸载百度影音、模拟QQ

六、课堂小结

1、系统组件的删除

2、系统组件的添加

3、安装软件

4、删除软件

七、课堂作业(见幻灯片)

板书设计:

系统组件与应用程序的安装和卸载

1、Windows xp的系统组件

2、系统组件的删除

3、系统组件的添加

4、软件的安装

5、删除软件

八、教学反思

1、通过今天的学习,以后学生若遇到自己需要组件或软件,就可以安装到自己的电脑中使用,对于不再想使用的组件或软件就可以卸载。

三招给系统“添加删除程序”提速 篇6

每次安装新软件或卸载旧软件时,通常都需要打开系统控制面板中的“添加删除程序”窗口,不过用多了它的反应会“迟钝”不少,有没有办法让它的启动速度变得更快一些呢?

一、修复系统文件

首先运行“sfc scannow”,单击“确定按钮后,系统就会自动扫描整个计算机系统中的文件,一旦发现哪个文件受到破坏需要恢复时,它将自动弹出提示窗口,要求你将Windows安装光盘放置到光驱中,并指定好需要恢复的文件,再单击“确定”按钮后,就能把损坏的系统文件恢复好了。之后,你再次打开“添加删除程序”窗口时,就能感觉到它的启动速度明显快了许多。

二、修改系统服务

运行“Services.msc”,单击“确定”按钮后,打开系统的服务列表窗口,双击列表窗口中的“ProtectedStorage”选项,打开设置窗口,从该窗口中你可以清楚地查看到“Protected Storage”服务当前的启动状态,要是该服务还没有启动的话,你可以先单击其中的“启动”按钮,再打开“启动类型”下拉列表,从中选择“自动”选项,再单击一下“确定”按钮,最后重新启动一下计算机系统。再打开“添加删除程序”窗口,看看此时的打开速度是否已经快了一些。

三、修改系统文件

打开系统的资源管理器窗口,依次展开“Windows”、“Inf”文件夹,在对应“inf”文件夹窗口中找到系统文件“sysoc.inf”,接着用鼠标右键单击该文件,从弹出的右键菜单中选择“打开方式,再从其后的界面中选择“记事本”,随后“sysoc.inf”文件中的内容将会显示在记事本编辑界面中了。

RNP进近程序培训系统研究与设计 篇7

根据民航的定义, 海拔高度在1500-2438米之间的为一般高原机场, 我国现有12个一般高原机场。海拔高度高于2438米的称为高高原机场, 我国现在共有10个[1]。高原机场的复杂气象条件是低海拔机场无法比拟的, 体现在温差大、风速大、风向多变, 经常伴随严重的乱流和风切变, 天气变化迅速。而且高原机场大多建设在山谷、半山腰, 净空条件恶劣, 起飞着陆常常在山谷中进行, 飞行技术难度大、飞行程序复杂, 而且没有备降场, 一遇恶劣天气, 航班常常延误或被取消, 给航空公司带来巨大损失。

RNP飞行程序设计不依赖地基导航设备, 不受地形遮蔽和导航台信号覆盖范围等不利因素的影响, 同时还可以根据需要, 在飞机性能允许情况下设计出任意的转弯轨迹, 选择地形最佳的飞行轨迹, 引导飞机以安全的侧向距离避开障碍物而不是飞越障碍物上空。同时, 由于RNP飞行程序离场的爬升梯度远远小于传统仪表飞行程序的设计梯度, 在高原机场飞机爬升性能显著下降的情况下, 执行RNP进行程序使得航空公司获得更多得商载, 降低飞机着陆的天气标准, 减少备降和延误得发生[2]。

正是由于RNP进近程序在高原机场中体现的众多优势, 并在拉萨贡嘎机场得到了成功应用后, RNP进近程序已经在我国众多高原山区机场得到了较大的发展。目前, 我国民航已经在拉萨、林芝、九寨、丽江、等多个机场进行了试飞甚至运行[3]。虽然RNP程序应用得到了很大的提高, 但是, RNP导航技术在国内还是只处于起步阶段, 众多民航相关工作人员对RNP导航飞行技术的认识还不够深入, 特别在培训方面也是比较缺乏的。因此, 基于RNP进近程序的培训系统的设计与推广是很有必要的。

2. RNP进近程序原理

RNP进近原理包含有三方面:RNP/RNAV曲线进近、RNP/RNAV同时平行进近与RNP/RNAV同时汇聚进近。RNP/RNAV曲线进近原理主要是以TF与RF为基础[4], 其中TF表示至定位点的大圆轨迹;RF表示至定位点的固定半径轨迹。RNP/RNAV曲线进近的运行可以充分根据地形的特征, 设计出任意的曲线航段, 提高飞机的越障裕度, 减低进近天气标准。RNP/RNAV同时平行进近的运行能较大地缩小了水平间隔, 增大了进近空域的容量, 优化了管制指挥, 提高了安全裕度。RNP/RNAV同时汇聚进近的应用主要能较大程度地减小了运行间隔, 优化了空域资源的配置, 使管制在终端区的指挥更加灵活。

RNP进近程序的设计标准主要包含有六方面:一、政策标准, 主要参考FAA中8620的部分条款, 包括民用区域导航离场程序与终端着陆区域设计标准等;二、程序标识, 一个典型的区域导航进近程序图将描述广域增强系统 (WAAS) 、有垂直引导的仪表程序 (PIV) 、水平导航 (LNAV) 和盘旋的最低标准。三、起始进近航段和中间进近航段, 如果需要终端进场区 (CLAA) , 应用指令826.045, 第5段。四、数据精度, RNP程序设计上使用0.01单位的测量精度完成计算, 平均海平面高 (MSL) 和高于接地点的高度 (HAT) 精确到英尺。五、RNP值, 区域导航程序的各个航段有一个特定的RNP值, 主要是水平与垂直标准值的确定。六、最大允许下滑角, 针对不同的飞机机型, 确定最大允许下滑角, 主要是通过灯光设置确定。

3. 系统的设计与实现

3.1 系统的需求与设计概要

根据RNP的定义以及进近原理, 我们知道, 实行RNP进近飞行, 可以灵活地安排飞机在空域中的飞行线路和间隔, 解决了在复杂机场和地形下的导航问题、最大限度地优化了飞行航机、提高了机场的飞行安全裕度, 通过缩短航程、减少延误、返航或备降, 大大降低了公司成本。但是, RNP导航技术在国内还不够成熟, 主要表现在国内没有能力进行RNP相关导航程序 (各种航路) 的设计, 对RNP技术本身包括其参数的控制以及特情的处理办法的理解不够深入, 尤其RNP导航技术相关知识的普及工作开展不够, 目前需要借助于波音公司、纳沃斯公司等协助, 即目前缺乏比较成熟的RNP进近程序培训系统的出现。

在RNP进近程序培训系统设计中我们将选择B/S结构, 采用基于JAVA技术并且符合J2EE开发规范的系统应用平台, 使用Tomcat作为服务器容器, POSTGRESQL作为数据库, 使系统具有良好的可维护性和可扩展性。系统采用门户服务器通过统一的目录服务管理, 保证用户认证机制的一致性。用户授权机制通过角色的定义管理实现, 通过定义某些角色能进行的操作权限, 和定义用户拥有的角色, 限定用户的操作权限, 实现对用户的授权。该系统需要对RNP导航技术原理以及程序设计标准进行介绍;对系统用户的角色和权限进行分配, 使得不同的用户访问不同的功能模块;需要对整个的培训过程进行记录统计, 包括需求的建立、课程管理、培训资料的管理、培训计划的发布和实施;系统将对个人的信息以及文件进行管理, 允许用户之间通过培训系统发送消息, 并对消息的收发进行管理。

3.2 功能模块实现

3.2.1 系统框架结构

为了让软件的系统结构更符合“高内聚、低耦合的思想”, 模块之间独立开发以及代码的重用, RNP进近程序培训系统采用了三层架构的思路。通常意义上的三层架构是将整个业务应用划分为:表现层 (UI) 、业务逻辑层 (BLL) 、数据访问层 (DAL) 。我们打算将系统前台即界面采用Html代码和JavaScript代码结合显示, 后台采用的Java代码。用户浏览页面时进行查询时, 通过RPC远程调用业务逻辑层以及数据访问层的Dao代码, 将查询的结果反馈给前台页面, 这其中可以采用异步的JAVA和XML技术提高用户显示的体验。

具体来说, 系统前台使用RPC远程调用Operation接口, 用Callback以对象的形式访问后台数据;框架后台使用轻量级数据库持久层访问框架, 自动将用户查询内容封装为Entity进行使用, 后台的逻辑通过operation-entity-dao三者共同完成。系统的前台采用Html代码JavaScript结合, 为了提高用户体验, 系统中使用了AJAX技术将数据库返回的结构更好的出现在表现层中。系统框架如图1所示。

3.2.2 系统功能模块划分

根据上述的概要设计及用户设计要求, 我们可以得出RNP进近程序培训系统的相关的功能模块, 主要由系统管理、用户管理、RNP相关原理介绍、RNP进离场程序、RNP非正常程序、培训管理和消息管理组成, 然后各功能模块又可以进一步进行细分。得到RNP导航技术培训系统的功能结构如图2所示。

由于文章的篇幅问题, 我们将以培训管理模块为例进行详细说明。该模块主要包含有五方面。一、培训课程管理, 该功能模块显示全部以及筛选出的符合条件的已提交培训课程信息列表, 根据需求对其进行局部修改或者删除操作。二、培训需求管理, 该功能模块显示全部或者筛选出符合条件的培训需求列表, 添加修改删除培训需求, 将培训需求转为计划。三、培训计划管理模块, 该功能模块显示全部以及显示筛选出的符合条件的培训计划列表, 根据公司业务需要发布计划。四、已发布计划列表模块, 该模块显示全部以及显示筛选出的符合条件的已发布培训计划列表信息。五、培训资料管理模块, 该功能需显示全部以及显示筛选出的符合条件的培训资料列表信息、下载或者删除培训资料以及上传培训资料。以培训课程管理功能为例, 其修改功能可以局部调整课程信息, 删除项实现对应行培训课程删除, 添加项能够实现添加新增课程信息的功能:通过必要信息的填写, 提交表单来实现。该模块中需要输入数据项有:筛选课程功能和添加课程功能。其中筛选课程功能需要提供课程名然后进行检索;添加课程功能需要提供课程名称, 学分, 课时以及课程描述然后提交新课程。具体的设计流程图如图3所示。图4为该系统培训课程管理界面图。

3.3 系统的测试

系统测试的方法主要包含有黑盒测试、白盒测试、单元测试、集成测试、回归测试与验收测试六种。其中单元测试是一种最低级别的测试活动, 软件在单元测试活动中, 独立的软件单元将与其他软件单元隔离的情况下进行测试;这能体现软件工程中的“高内聚、低耦合”的思想。而集成测试是单元测试的逻辑扩展。在软件系统的设计中, 单元集成是指多个单元聚合组合成模块, 多个模块又聚合成程序的更大部分

本文选用单元测试和集成测试对培训模块进行案例分析。其中, 单元测试是一种最低级别的测试活动, 是将独立的软件单元将与其他软件单元隔离的情况下进行测试。如选择培训需求管理菜单, 那么普通用户可以提高培训课程, 培训需求请求;查看已发布的培训信息;自由下载培训资料和考试资料;而管理员用户还能根据航空公司业务实际情况, 修改删除提高培训课程, 修改删除培训需求请求及发布员工查看。在培训模块的功能单元测试完成之后, 必须进行培训模块的集成测试, 是指多个单元聚合组合成模块, 多个模块又聚合成程序的更大部分。集成测试采用的方法是测试软件单元的组合能否正常工作, 以及与其他组的模块能否集成起来工作;最后还要测试构成系统的所有模块组合能否正常工作。根据培训的流程图建立培训课程和需求, 将需求转换为培训计划并将其发布、最后通过培训测试进行考评。

4. 小结

本文通过分析了目前RNP进近程序在我国高原机场运行的优势, 并结合了RNP导航技术相关原理, 包括了RNP进近分类、RNP程序设计标准等知识。在此基础上结合软件工程的思想, 开发了RNP进近程序培训系统, 该系统采用客户服务器 (B/S) 模式, 具有系统管理、用户管理、RNP原理介绍、RNP进离场、RNP非正常程序例子分析、培训管理、系统站内消息的收发管理等功能;各功能模块相互独立, 体现了软件设计中的“高内聚低耦合”的思想, 最后用了单元测试与集成测试对该系统的功能进行了测试, 为实施RNP的机场以及飞行员提供了一个技术和知识的培训平台。由于我国RNP导航技术只处于起步阶段, 因此, 系统的各个功能模块还有待进一步的细化, 同时由于该系统只针对飞机的进离场程序培训, 还没有涉及到航路方面。相信以后通过RNP技术的逐步推广与应用, 会使得该系统得到进一步的完善。

摘要:针对目前我国高原机场的特征, 以及RNP进近程序在高原机场的优势及社会需求, 通过结合RNP进近程序相关知识与设计标准, 采用客户服务器 (B/S) 模式, 完成基于RNP进近程序培训系统的开发, 并对该系统进行了测试, 以达到为民航相关工作人员提供了一个培训平台。

关键词:RNP,进近程序,三层架构,系统测试

参考文献

[1]黄仪方, 等.高原特殊机场航班延误的气象因素分析[J].成都:高原山地气象研究, 2009, 29 (2) :37-40.

[2]陈湘燕, 等.高原机场及航线实施RNP/RNAV运行优势探讨[J].中国民航飞行学院学报, 2007, 18 (4) :20-23.

[3]肖欢畅, 王红力.RNP进近应用研究[J].信息科学, 2010, (04) :99-100.

医保患者信息系统原程序与流程图 篇8

1 系统构架

此医保患者信息后台管理系统采取C/S设计模式,它是坐位分层的模式,即“客户端/服务器”模式。具体结构如图1所示:

如图1所示,管理员不同,后台系统赋予分层架构不同的权限,被赋予足够权限处理的业务是指定的业务,图中客户1的职责是管理系统的登录情况,即后台系统管理人员,在医院的医保中心负责登录局域网,针对系统的业务,根据流程办理;客户2在后台信息管理中指投保人,在后台系统指定的机器中利用IC卡办理相关业务;客户3是指医院方,通过局域网进行查询、修改、缴费以及提交报销账单等操作。不论是哪一种类型客户都需要通过服务器访问相关网络来办理业务。

2 系统模块设计

2.1 基金待遇支付

基金支付的待遇以《市城镇居民基本医疗保险试行办法》为标准,针对本市参加的居民医保人员,包括乡镇居民。其符合门急诊费用、门诊慢性病费用以及住院费等相关费用的规定,根据《市城镇居民基本医疗保险试行办法》中规定的比例来支付,控制最高支付额,实施最低起付标准。超出标准的医疗费用,统筹基金不予支付,而是由参保居民个人负担。

2.2 医疗费用审核

为了真正贯彻实施“以收定支、收支平衡”这两个基本方针,保证医院合理使用基本的医疗保费,控制并监督医院的基本医疗保险、基金是十分有必要的,可以对不合乎标准的医疗费用制定惩罚和扣减的策略。

保险费用审核是指针对基本医疗保费费用进行的费用审核,保证基本医疗费用的合理性、可能性和必要性,包括对参保人就医情况、服务质量、特殊医疗项目等的审核。业务流程如图2所示。

2.3 费用结算

“以收定支、合理支付、控制总量、考核质量”是城镇居民基本医疗保险费用结算应遵循的重要原则。定点医疗机构要合理用药,杜绝基本医疗保险基金的浪费,保证参保人员的基本医疗需求,提高医疗服务质量。

保险费用的结算范围包括:检查费、化验费、放射费、床位费、手术费等住院医疗费用以及门诊医疗费用,这些都是根据国家规定和各省药品目录的规定收取的。

市区县医疗保险经办中心和医院都是采用按月结算的方法进行费用结算,并且在每个月规定范围的时间内,医院必须提供《医疗保险医疗费用支付汇总表》给市医疗保险的管理中心,住院、门诊、慢性病、统筹基金支付、人次五项基本内容,一般附录在该表中。

业务流程如图3所示:

3 系统的实现

系统的主要功能包括:报销管理、缴费管理与医院结算。

报销管理:参保人需要使用以下功能在定点单位发生门诊费用时完成与社保局以及定点单位的各项业务。

缴费管理:主要是院方对重要信息管理系统进行维护,一般包括基本的医保人员的缴费记录、计划的基本信息,还有后期可能发生的添加、修改、查询、删除等信息管理条件。

医院结算:参保人需要使用以下功能完成与定点单位医院以及社保局的相关业务。

医保患者信息系统的实现流程及部分源代码如下:

4 结语

本文主要设计完成新系统体系,对系统体系结构进行设计,设计医疗保险的业务系统,就业务功能方面详细阐述,提供社会化服务这一功能。对现存信息资源、管理方法、技术手段充分利用,提升社会化服务水平,进而设计社会化服务门户的功能与结构。最后设计及实现医保的接口。

摘要:笔者对医保患者信息系统原程序与流程图进行了研究,根据医保患者信息系统的需求,设计了系统构架,给出了基金待遇支付、费用审核、费用结算等关键功能模块的系统流程,并对医保中心与医院信息管理系统(HIS)的对接进行了分析。

关键词:医保管理,信息系统,医院信息管理系统

参考文献

[1]王立峰,陆婷娟.医院医疗保险信息管理系统设计与实现[J].计算机时代,2009(9):42-43.

[2]高润涛.医院医疗保险信息管理系统设计与实现[J].硅谷,2013(21):19-20.

程序与系统 篇9

ACM-ICPC由美国计算机协会主办,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。

为了训练参赛队员以取得更好的比赛成绩,同时也为了激发学生对程序设计的兴趣,一种能在线接收用户提交源代码、判断程序的对错并能实时将结果通知用户的在线评测系统(Online Judge)应运而生[1]。同时该系统还可运用于学术课程中对学生作业进行全自动评判[1,2],将教师从大量枯燥的程序作业评分中解脱出来。

各高校在线评测系统投入使用后对ACM-ICPC的成功推广发挥了积极的作用。但是随着竞赛和训练规模的迅速扩大,大多数以前设计的评测系统负载能力太差,无法满足高强度、大容量的比赛要求。基于此,本文提出并设计了一种分布式的竞赛判题集群以应对日益增长的竞赛需求。目前该系统已成功在苏州大学投入运行。

1 在线评测系统模式

在线评测系统近年来发展很快,国内外一些知名的大学都相继开发和部署了自己的竞赛训练和课程实践练习平台。其性能和负载能力越来越强,并逐渐向面向服务模式演变。

在长期的发展过程中,在线评测系统形成了三种模式:单机模式、集群模式和面向服务模式。

单机模式是指Web服务器、应用服务器和判题服务均部署在同一台主机上。该模式设计简单,数据交换可以采用共享内存、管道等手段,速度快、延迟小。但是由于判题服务耗费资源较多,所以该模式只能应用在较小规模的比赛当中。同时这种模式的安全效能较低,敌意用户有可能提交攻击程序直接对系统进行袭击和破坏。

集群模式将Web服务器、应用服务器和判题服务部署在多台主机上,特别是判题服务被安装在由多台主机构成的计算机集群上,判题机器各自独立,在负载调度进程的管理下,并行处理,满足大规模竞赛对性能的要求。

面向服务模式是在集群模式上的进一步延伸,借助Web Services技术,将以前孤立、封闭的训练竞赛环境,向包括各大中院校在内的整个教育系统开放,实现各个学校间的资源共享和信息融合,从而推动程序设计竞赛活动的开展和普及。随着技术不断进步,面向服务模式是未来在线评测系统发展的方向。

2 程序评判原理

判题服务是在线评测系统的核心,本节将着重讨论判题程序的工作原理以及实现方法。

2.1 程序正确性的概念

程序正确的概念是一切评判行为的依据。首先,一个正确的程序要语法正确,也就是符合特定程序设计语言的语法规范;其次,该程序的算法要正确;最后,对于特定题目,程序输出的格式也应符合一定的要求。其中最主要的因素是算法正确,因为某种程度上说,程序就是算法的具体体现。

对于算法而言,需要有输入、输出,并保证确定性和有限性。算法的正确性决定于它的净计算效果。对于任意满足问题描述的输入,正确的算法必须有确定的符合题意的输出。另外,在比赛中往往需要对算法的优劣作出一些限制,例如某些相对差的算法虽然也有正确的输出,但是其时空消耗巨大,所以不能被接受。

2.2 判定程序正确的方法

程序的语法是良定义的,编译器可以对提交程序的语法正确性进行准确判断,所以对算法正确性的判断是判断程序正确的重点。

采用类似软件功能测试的方法,使用精心设计的测试用例,来检验程序的实际运行结果,即可以近似地判断算法的正确性。通过设置一定的时空阈值,来保证算法的有穷性,判定算法的优劣。下面将详细讨论测试原理、测试数据的选择、时空约束以及具体的操作方法。

要确定算法的正确性,必须进行穷举输入测试。由于穷举测试的数量无法实际完成,故实际测试时只能在大量的可能数据中选取其中的一部分作为测试用例。因此程序测试只能证明错误的存在,但不能证明错误不存在,程序正确的证明只能取决于它的文本[3]。虽然在线评测系统运行测试的目的正是判断程序算法的正确性(证明错误不存在),但在实际比赛和平时训练时,可以认为如果用类似软件测试手段配合精心设计的测试用例查不出错误就是可以接受的,或者说近似正确的。

此外,算法具有有穷性。只要在运行提交程序的同时设置时空阈值,超限便终止程序的执行并判错,就可确保程序的有限性,筛选掉不可接受的较差的算法。现代操作系统大多提供了类似的系统调用和内核对象,因此实现时空控制并不困难。

在实际运行中,要求待测程序使用控制台方式编写并通过标准输入输出(stdin /stdout /stderr)进行数据传入和传出。测试用例则按题目规定的格式预置成输入文件和标准答案输出文件,并保证输入覆盖所需测试的各种情况。判题程序通过系统调用启动编译生成的可执行待测程序为子进程,同时建立通向该子进程标准输入输出空间的管道(pipe)。判题程序将预置的输入数据,通过管道写入待测程序的标准输入空间(stdin),待测程序读到测试数据,计算后给出输出。在待测可执行程序运行的同时,操作系统在判题程序的指令下持续监控待测程序进程的时空数据,一旦逾越了题目规定的阈值,操作系统立即中断待测程序进程,并通知判题程序。该程序将被判错并给出一定提示。此后,判题程序将标准输出空间(stdout / stderr)的内容读出并与预置的标准答案输出进行对比,如果输出结果完全吻合,则待测程序被判通过。

由于测试是自动进行的,因此可能存在用户试图以猜测预定输出而非解题的方式完成题目的情况。通过增添海量测试数据可以有效降低投机成功的概率。

3 系统设计

从设计角度来看,一个典型的在线评测系统主要涉及系统架构、核心模块组、判题服务集群以及数据库服务等方面。下面将分别讨论主要的设计要素。

3.1 系统架构

常见的软件体系结构有浏览器/服务器(B/S)和客户机/服务器(C/S)模式。基于Web的B/S模式可以充分利用用户机器上的浏览器,实现跨平台的服务。但是B/S模式下HTTP本身限制了服务器不能主动地通知客户浏览器,这对需要实时反馈的在线评测系统来说是不利的。C/S模式也被一些比赛系统例如PC2(Programming Contest Control)采用,该系统响应迅速,而且服务器可以直接通知客户端完成相应操作。考虑到B/S模式实现方便。另外支持在浏览器端界面设计的技术和工具也日趋成熟。因此,本系统架构使用B/S模式。

如图1所示。本系统在软件上分为Web服务、数据库服务和判题服务。Web服务主要针对用户,以Web界面的形式,通过HTTP应用层协议和用户交流,通过与数据库的配合完成用户所需的操作。另外,由于判题的要求,Web服务还会通过TCP与负载调度服务和判题服务联系,传输判题数据。数据库服务负责保存和提供整个系统运行所需的数据。判题服务则监听TCP端口,一旦有提交数据传输过来,便编译、运行和测试待测程序并通过负载调度服务把结果写入数据库。

3.2 核心模块组

前台界面使用ASP.NET 2.0开发。主要分为在线习题集系统、竞赛组织管理系统、用户管理系统和提交系统这几个模块。由于ASP.NET提供了较丰富和高度集成的Web控件,简化了界面开发工作,题目列表、竞赛列表、题目内容和竞赛信息等界面可以直接通过DataList、GridView、Repeater等数据控件来完成。

下面简要介绍系统各模块的组成:

·在线习题集系统 采用分页设计、可排序的题目列表页面,在此页面上可链接至具体题目内容,同时还可链接至具体用户在在线习题集系统答题情况的排名表。

·竞赛组织管理系统 与在线习题集系统类似,有一个可分页的竞赛显示页面。该页面下可以在线报名。允许报名的竞赛条目旁边设计有报名链接,一旦当前登录用户点击报名链接,竞赛报名立刻生效。竞赛显示的页面给出了竞赛起止时间、总排名表和本次竞赛题目的链接。竞赛题目的显示和在线习题集共用同一模块。对于来自竞赛题目的提交,有专门的时间限制程序,确保提交在竞赛规定的时间内完成。

·用户管理系统 用户管理系统没有专门的页面,主要依靠AJAX技术内嵌于所有页面完成,主要的功能为登录、注销、注册以及维护在线状态。

·提交系统 提交系统具有读题状态直接提交对应题目待测源代码、在线反馈判题结果和显示判题历史记录等功能。在收到源代码的提交后,它先从数据库读出对应题目、语言的配置数据,然后按自定义的应用层协议通过TCP传输给判题服务。提交系统的子模块中除了历史记录有专门的页面,其他都使用AJAX实现。

前台界面中所有对数据库的访问被集中到了一个C#编写的数据访问类中,直接调用相应的存储过程来获取数据或对数据库进行操作。

后台管理主要分题库管理、用户管理和竞赛管理。题库管理提供题目的增加、修改和删除功能。用户管理提供用户信息的修改以及违规用户的删除功能。竞赛管理主要负责设定增加竞赛、添加竞赛题目以及审核报名竞赛的用户。另外,还设计了一个基于文法分析的作弊检测程序。

3.3 判题服务集群

单一主机的判题服务是一个典型的TCP服务器。如图2所示,它启动后便创建一个监听线程来监听Socket的指定端口,一旦有TCP连接请求,便新建一个传输Socket,启动专门的工作线程来处理该连接。当连接释放后,该传输Socket便被销毁,工作线程则自行退出。若用户终止服务,则监听Socket被销毁,监听线程自行退出,主线程关闭,服务进程结束。本节将详细阐述判题程序的运行形式、判题程序的流程、调度机侦测方法以及负载平衡算法。

判题服务需要在系统启动时运行,因此需要使用Windows服务的形式。为了开发纠错的方便,也应支持直接控制台运行的模式。为此,本程序首先检查命令行参数列表中是否有-s以判断是否以Windows服务模式运行。确定以Windows服务模式运行后,本程序将运行状态注册进Windows 服务管理器(SCM),读取配置,启动监听线程监听指定端口。如果以控制台程序运行,则直接启动监听线程,跳过与SCM的交流。

为了提高系统的负载能力,本系统在设计时充分考虑了分布式系统的要求。用户界面、数据库、判题服务相对独立,可以随意部署在不同的机器上,这样将减轻单一机器的负担。特别是判题机器,一旦提交量增加,判题服务对机器资源的消耗巨大,如果同界面表示进程共用一台机器,则会拖慢用户界面的响应速度。

本系统使用简单的轮转调度算法支持大于一台的判题机器平衡负载的协同运作,并且可以自适应的增加和删除判题机器。轮转算法[4]中任务队列的每个成员(节点)都具有相同的地位。在负载平衡环境中,均衡器将新的请求轮流发给节点队列中的下一节点,如此连续周而复始,每个集群的节点都在相等的地位下被轮流选择。这个算法在DNS域名轮询中被广泛使用。轮转法的活动是可预知的,它适用于集群中所有节点的处理能力和性能均相同的情况。

为了实现“即插即用”的自适应判题集群,首先要让提交管理进程获知调度者的地址。由于并不知道哪一台机器是确定的调度机,所以每个判题机器除了需要包含判题服务外,还需要包括调度服务。也就是说,每个节点都可以成为调度者。当系统提交管理进程第一次被调度时,向判题机器集群所在子网发送UDP广播,收到该广播的机器便响应一个UDP包。随后,该管理进程会选择第一台响应的机器为调度者。一旦该机器脱离集群,提交管理进程会重复上述操作,重新发现一台新的调度主机。

同时,每个判题机器每隔一段时间广播自己的状态给调度者,调度机维护了集群中每台判题机器的当前状态表。一旦某台机器脱离集群,调度机在更新时就会删除长时间没有广播状态的节点。如果状态表中的某节点无法访问,调度机同样要删除它。

在调度机的引导下,用户提交的解答源程序通过TCP连接被送达至相应的判题主机,并由其完成相应的评判工作。

3.4 数据库服务

系统的信息模型以关系表的形式存放在数据库中,包括用户信息、题目描述、统计数据以及提交记录等。数据库通过存储过程向外部提供服务接口。应用逻辑被封装在存储过程内部,使得数据库服务相对独立,并具有良好的可移植性和可维护性。

经过比较,系统选择了微软SQL Server 2005作为后台数据库管理系统,配合.NET进行前台界面开发,在显著提高开发效率的同时,也保证了一定的兼容性。

3.5 安全性

来自WWW的安全威胁主要包括对运行环境漏洞的利用和对Web程序及数据库程序漏洞的利用。

本系统通过防火墙,只将80端口向外界开放,即使Windows系统具有漏洞,也不能被轻易地访问攻击。对于Web服务本身,安全性寄托于IIS(Internet Information Service),因此,必须经常更新IIS程序及时封堵已知漏洞。对于IIS,还应卸载一些不常用的功能模块,保证开放最少的功能以避免潜在的风险。

对于ASP.NET应用程序和数据库存储过程,其最大的风险在于SQL注入[5]。因此,对传入的参数都要进行强制的类型转换以避免暗插SQL语句的问题。

判题程序最显著的安全性问题来自两个方面:第一是类似拒绝服务的攻击,第二是恶意程序。

有一些不怀好意的用户试图在短时间内大量地向系统发送待测程序而使系统瘫痪。对于这个情况,本系统通过在前台加以限制的方法来避免。每个用户同时只能有一个待测程序在等待运行测试的队列中,其余的程序将被拒绝,直到队列中的待测程序完成测试。

此外,有一些用户了解到他们提交的程序将被编译执行,于是便编写一些恶意的程序试图破解并控制系统。为此,判题程序将以一个受限用户的帐户运行测试程序,该帐户无法访问磁盘文件等重要的系统资源。重要的是,判题机集群只与Web服务器相连并与外网隔离,即使判题机器被恶意程序破解,用户也不能通过网络来遥控该机器。

4 总 结

相比目前国内外主流的在线评测系统,本系统首先采用了分布式判题集群的设计。从实际比赛的情况来看,在大规模练习赛中响应速度比浙江大学的竞赛系统好得多。并且如前文所述,可以动态增加判题机器数量来提升系统负载能力。本系统另一特点在于设计时使用了以用户为中心的任务分析方法,用户界面友好,交互能力更强,适当采用AJAX技术使网络流量显著减少,系统的总体性能具有一定优势。

参考文献

[1]Cheanga B,Kurniaa A,Limb A.On automated grading of programming assignments in an academic institution.Computers&Education,2003,41:121.

[2]Edwards S H.Rethinking computer science education from a test-first perspective.In Companion of the2003ACMConference on Object-O-riented Programming,Systems,Languages,and Applications,Ana-heim,CA,October2003.

[3]Dahl J,Dijkstra E W,Hoare C AR.Structured Programming.Academ-ic Press,1972.

[4]Grama A,Karypis G,Kumar V,et al.An Introduction to Parallel Compu-ting:Design and Analysis of Algorithms.2nd ed.Addison Wesley,2003.

程序与系统 篇10

在信息系统的实际使用中, 对自定义字符的使用要求比单机使用多些, 不仅仅要容易添加特殊符号、方便录入, 可以存储到数据库, 下次能调用并正确显示, 而且, 由于信息系统一般都在网络环境中使用, 所以还要移植方便, 一台计算机上制作的字符, 要很方便移植到别的计算机上, 最好不用人工干预, 而且无须对信息系统进行修改。

实现自定义字符的方法有很多种, 譬如将特殊符号全部使用图片代替[1], 但是需要修改信息系统, 对用到特殊符号的字段, 都要做特殊处理, 操作起来既复杂, 显示速度也慢;譬如使用通用字符集方式[1], 但需要修改数据库的存储方式, 对显示、查询的字段都要做特殊处理;譬如使用目前比较流行的增加字体, 但对所有需要输入、显示的地方, 都要用使用这种字体, 如果导出数据到别的文字编辑软件, 也必须切换字体才能看得到, 比较麻烦;另外有一种采用windows自带的造字程序, 通过造字程序造的特殊符号, 跟普通的字符在使用上没有什么不同, 也不需要信息系统做任何修改, 对信息系统的几乎没有影响, 本文就采取这种方式。

造字程序windows本身就自带有, 使用也比较简单, 请参考其他文章[2]或windows帮助文件, 这里就不再介绍, 只需要编辑好字符就行了, 不需要做字体链接。但把造字程序的字符移植到别的计算机比较困难, 因为造字程序所保存的特殊字符都存储在默认的造字字体文件EUDC.TTE中 (别的计算机更新时, 也要用到EUDC.EUF文件) , 在正常情况下, EUDC.TTE是处于使用状态, 没办法替换掉, 只有进入DOS环境, 替换后重启计算机才能移植成功。如果只有几台计算机, 就比较简单, 但是在实际应用中, 往往要对几十、几百台计算机更新, 而且每增减一个特殊字符, 都要全部更新一次, 用手工更新的方法就显得非常麻烦。因此, 需要编写软件, 解决自动完成更新过程。

1 核心函数和关键代码

先介绍一下核心函数, windows的API函数:Move File Ex, 用来移动一个现有的文件或目录。这个函数带3个参数, LPCTSTR lp Existing File Name, LPCTSTR lp New File Name, DWORD dw Flags (详细介绍请看MSDN) 。

第一个参数指向一个以零结尾的字符串的指针, 标识需要复制的源文件;第二个参数指向一个以零结尾的字符串的指针, 标识复制后的源文件;第三个参数是移动标志, 不同标志有不同功能;如果执行成功, 就返回非0值。

关键函数的代码如下:

2 方法介绍

软件布置大致如图1所示。

以《分布式建筑材料及构件检测监管信息系统》的运行环境为例

首先, 在服务器上建立一个共享文件夹, 192.168.10.5symbol_GML$。用来存放最新的特殊符号文件EUDC.TTE和EUDC.EUF, 供其他工作站下载更新。

然后, 编写软件, 关键代码和思路如下:

在实践中发现, 有时更新完最新的特殊字符文件后, 必须打开造字程序, 才能看得到最新的特殊文件, 可能是需要刷新字符文件, 所以, 下一步, 就打开造字程序:

至此, 可以顺利下载最新版本的特殊符号, 并打开了造字程序, 接着, 操作造字程序, 增、修改特殊字符, 然后退出造字程序, 再调用一下代码, 把特殊字符的文件上传至服务器上的共享文件夹:

这样, 完成整个流程。

3 方法拓展

上面介绍的内容只是核心部分, 在实际运用中, 可以继续完善。比如:由于是全部特殊字符文件的更换, 在上传时, 最好能备份一下原来的字符文件;或者干脆不建立共享文件夹, 直接存到数据库中, 在恰当的时机, 判断工作站的字符文件的修改时间是否小于数据库中的时间戳, 如果是, 就自动更新, 更能随时保持所用的是最新版本的特殊字符;如果是在域管理下, 工作站的用户没有权限读取C盘或Fonts文件夹, 可以使用Run As命令或Auto Hotkey这个小软件, 以管理员的身份运行自编的软件即可。

4 结论

本文的创新点:通过自编软件更换正在使用中的windows EUDC.TTE和EUDC.EUF文件, 解决了由造字程序创建的特殊字符在网络环境中, 多个工作站自动更新、使用的问题, 而且对已有的信息系统无须做任何修改, 具有较高的可行性和实际应用价值。

摘要:通过调用Windows的API函数MoveFileEx, 替换Windows正在使用的EUDC.TTE、EUDC.EUF字符文件, 结合网络共享或数据库技术, 实现了在一台计算机上使用Windows造字程序创建特殊字符后, 自动移植到其它联网的计算机上, 避免了手工移植的麻烦。实践证明, 该方法能有效解决Windows造字程序创建的特殊字符在网络环境下共享使用的问题。

关键词:造字程序,特殊符号,MoveFileEx,自动移植

参考文献

[1]张敬敏, 王彦祺, 张有华, 等.数据库中特殊符号的存储与显示研究[J].微计算机信息, 2006, 22 (8-3) :19-20.

上一篇:台湾大型校园下一篇:高中历史教学的创新