程序系统(精选12篇)
程序系统 篇1
在高校计算机的教学中,有不少程序类的课程,如编程语言、数据结构、算法等。这些课程是实践性较强的课程,需要学生完成大量的编程任务,以巩固课堂知识。程序作业的批改是一项艰巨的任务,程序正确性、时效性的分析是件费时费力的事情。随着信息化的普及,越来越多的工作可以在计算机的辅助下高效可靠的完成。如果能用计算机进行程序的评判,将大大减轻教师负担,并使评判结果更加客观公正。
本系统设计的目的是实现程序的自动评判,学生通过系统上交程序,系统自动评判程序是否有语法问题,执行结果是否正确,是否满足时效性的要求,并根据评判的结果,反馈相应的信息。学生可以根据反馈的结果对程序进行修改,直到得出正确的解题代码。也可以在系统上进行编程类课程的上机考试,或举办程序设计竞赛。
1 系统架构
根据系统的需求和目前软件系统架构的发展趋势,本系统的系统架构选用了B/S模式。
B/S(Browser/Server)模式下,客户端通过浏览器(Browser)访问WEB服务器和与其相连的后台数据库,它以WEB数据库的访问为中心,HTTP为传输协议,是真正的三层结构。其结构如图1所示。
客户端浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;
Web服务器是功能层,完成客户的应用功能,即Web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;
数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。
与传统的C/S模式不同,B/S结构下,所有的数据处理全部由服务器端完成,用户通过浏览器发出请求,数据库的使用和维护都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。
2 运行平台
系统采用jsp技术开发。运行平台选用linux作为操作系统,Tomcat作为web服务器,mysql作为后台数据库服务器。
2.1 linux操作系统
linux操作系统是一个受到业界广泛关注和支持的系统。它的自由开源的理念吸引着众多的追随者,激发着他们的创作力。它是一个全面的多任务和真正的32为操作系统,与unix兼容,从某种意义上来说,linux就是一个完整的unix操作系统,具备了unix系统的高效和安全的特点。linux便于定制和再开发,部署方便灵活,免费版本可以很容易的获得。
2.2 Tomcat服务器
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。Tomcat技术先进、性能稳定,而且免费,因而深受欢迎。
2.3 Mysql数据库服务器
MySQL是一个开放源码的关系数据库管理系统,由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用.
2.4 JSP开发WEB应用程序
JSP是(全称JavaServer Pages)的简称,是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,包含JSP页面、JavaBean及Servlet等成员,。
通过JSP,开发人员可以使用多种开发工具来组合HTML代码,可以利用本地服务器或远程服务器上运行的组件来存取数据库、应用程序或处理信息,实现强大的WEB应用。考虑到在线评判系统需要对数据库操作以及动态更新的特点,JSP是理想的开发方式。
JSP工作流程是:先由客户端发出HTML请求到WEB服务器,对于数据库访问的请求,JSP或Servlet通过JDBC与数据库交互,完成用户的访问请求,并将结果反馈给用户;对于数据处理的请求,JSP或Servlet根据用户的请求,调用相应的处理例程来进行数据处理,再将处理的结果反馈给用户。JSP的强大功能可通过其内建对象来实现。
JSP提供的内建对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。有了这些对象可以使JSP的功能更强大。所谓对象就是一段封装的完整的软件模块。这些对象之间通过属性来传递参数,在设计JSP时经常需要调用各种对象来实现开发动态数据访问的功能。JSP有五个内建对象:application、request、response、out、session。
MVC模式是JSP技术开发web应用常采用的模式。该模式包含3个构成部分:1、模型,用于数据存储;2、视图,用于数据显示;控制器用于数据处理。JSP页面擅长数据显示,对应MVC模式的视图,Servlet擅长数据处理,对应MVC的控制器,JavaBean则用作MVC模式的数据模型。本系统采用了MVC模式作为其web应用框架。
3 系统功能概述
系统面向的用户分为两类:管理员和普通用户。管理员负责题库、实验和竞赛等的维护和管理等工作。定期检查系统的运行状况,备份系统数据。普通用户可以在系统上提交程序,由系统评判程序的正确性,并将评判结果返回给用户。用户登录情况、提交情况和解题情况会记录在系统数据库中,根据这些信息,系统可以对用户进行排名。
系统的主要模块有:用户管理模块、题库管理模块、竞赛管理模块、在线判题模块等
3.1 用户管理
该模块包含功能有:用户登录、注册、个人信息查询和修改等功能。用户首先要注册和登录系统后,才能在系统上提交代码,在线判题或参加比赛等操作。
3.2 题库管理模块
该模块负责系统题库的维护工作。管理员通过该模块在系统中添加题目,并设置题目时间和空间的限制。也可以通过该模块对已有的题目信息进行修改。
题库中的题目信息、图片信息及测试数据信息全部存储于数据库中。这种数据库存储方式相对传统的文件存储方式来说,更便于管理和维护。
3.3 竞赛管理模块
该模块负责竞赛的管理。系统管理员通过该模块可以在系统上创建竞赛,设置竞赛信息,指定赛题,指定竞赛有效时段。只有在有效时段,选手才能打开竞赛页面,参与竞赛。有效时段结束后,竞赛结束,不再接收选手的提交。
3.4 在线判题模块
该模块是系统的核心模块,关系到系统的效率、安全和稳定。它负责用户代码的提交、编译、运行及运行结果与预设值比对的工作。
代码的正确性评判的标准如下:
1)代码语法正确,符合所用编程语言的语法规则。
2)程序所采用的算法思路正确,能够在题目限定的时间和空间里,解决问题。
3)程序严格准确的实现了算法,对所有的输入都能够得出正确的输出。现实当中无法对所有的输入数据进行测试,只能选一些比较有代表性的数据,测试程序输出是否正确。
3.5 在线评判模块工作的流程如下
1)用户通过浏览器访问系统的代码提交页面。提交页面有一个表单,表单包含一个输入框,可以将代码输入到输入框,点击提交。
2)系统接收到用户的代码后,根据代码类型,调用相应的编译器,对用户代码进行编译。如果因语法等原因造成编译失败,将失败的信息反馈给用户,并在系统数据库中记录用户的提交操作及评判结果信息,在线判题结束。系统可以对C/C++、Java及Pascal编写的程序进行评判,分别采用GCC/G++、Sun SDK及FPC作为编译器。
3)如果编译成功,系统运行用户程序,每个题目都会有时间和空间的限制,如果用户程序超出限制,将被终止运行,并将终止原因反馈给用户,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。系统对程序的权限也做了限制,禁止进行一些非法操作,以避免危及系统的安全和稳定。
4)如果用户程序运行正常,将接收题目预设样例输入,并且将运行后得到的结果与题目样例预设的输出对比,如果不一致,终止程序运行,向用户返回出错信息,同时将用户提交操作和评判结果信息写入系统数据库,在线判题结束。
5)如果所有的样例测试都正确通过,评判程序正确,并获取程序运行占用cpu时间和内存空间,将这些信息反馈给用户,同时写入系统数据库,在线判题结束。
4 结束语
本文提出了基于B/S模式的程序自动评判系统,并对部分功能模块和系统实现进行了介绍。建立了这样一个系统之后,可以方便学生进行程序设计训练,承担程序设计类作业的批改,同时,可以举办程序设计竞赛,对程序设计类课程的教学和学生程序设计水平的提高都有很大帮助。
本系统的设计目标主要还是针对中低负荷的情况,将来可以考虑将评判模块独立出来,采用负载均衡的方式,以应对大规模并发代码提交的情形。系统的可靠性和安全性方面也涵待提高。今后将对系统进一步完善,以更好的服务于教学。
摘要:程序正确性的人工评判是一件费时费力的事情,可以考虑借助计算机来实现程序的自动评判。文中介绍了基于B/S模式的自动判题系统的设计。该系统基于JSP技术实现,可以对接收用户提交的程序,进行正确性的判断,并向用户反馈评判结果,同时记录用户的操作日志,并能够根据各类数据,对用户进行排名。
关键词:JSP,B/S,自动评判,Linux,Tomcat,MySql
参考文献
[1]范立锋,乔世权,程文彬.JSP程序设计[M].北京:人民邮电出版社,2009.
[2]郑阿奇.MySQL实用教程[M].北京:电子工业出版社,2009.
程序系统 篇2
文件类别 品 质 程 序 制订日期 2018.10.23 发 行 章
文件编号 BQ-42-001 版本次 1.01 页数 4
质量系统规划管理程序 修
订
记
录
摘
要
项次
修订日期 修订页次
版本变次 修
订
内
容
简
述 1 2018/10/23 4/4 1.01 因组织架构的变动,将工程部改为研发部
核
准 审
查 制
订
者
XX精密电子有限公司
文件类别:品 质 程 序 文件编号:
BQ-42-001 版
本:
1.01
文件名称:质量系统规划管理程序 页
次:
1/4 制订日期:
2018.10.23
1.目 的:
依ISO9001标准要求,规划本公司各项质量管理作业活动,以使在符合标准求的品管系统下提供客户满意之产品.2.范 围:
凡本公司所涉及之部门,从客户数据收集、设计开发、签约接单、采购、生产制造、检查、试验、出货、销售服务各阶段相关作业办法或规定均涵盖之.3.权 责:执行本公司质量管理系统之各责任单位.4.参考文件:
4.1 质量管理审查程序
4.2 质量记录管制程序
4.3 质量稽核程序
5.名词说明:
5.1 品质手册:将质量系统中各质量要项以书面作有系统之描述及规定者.5.2 质量程序书:将质量系统中各管理(制)程序以书面详述相关作业权责及工作内容者.5.3 工作指导书:质量系统之各作业指导书、检验规范或标准书等说明各作业之执行文件.5.4 记录及窗体:将质量程序或工作指导书类文件所定之执行事项,以记录窗体或其他文件呈现执行之结果者.6.作业说明 6.1 质量系统程序与作业流程
6.1.1 本公司质量系统程序与标准条款对照表(附表BQ-42-001-1)
6.1.2 质量管理体系流程图(附图 BQ-42-001-2)
6.2 本公司质量系统文件架构分为: 一阶 品质手册 二阶 质量程序书 三阶 工作指导书类 四阶 记录窗体
XX精密电子有限公司
文件类别:品 质 程 序 文件编号:
BQ-42-001 版
本:
1.01
文件名称:质量系统规划管理程序 页
次:
2/4 制订日期:
2018.10.23
6.3 质量管理系统流程:本公司符合 ISO 9001 质量管理系统所规画之作业流程均应以质量手册、质量程序书、工作指导书等文件,予以书面化规范.6.4 各权责单位与人员须依质量系统所规划之质量手册、质量程序书、工作指导书等文件之作业流程及规定,予以持续有效的落实实施.6.5 为确保本质量系统之有效运作及其内容之适切性,稽核小组需依“质量稽核程序”定期对质量系统进行稽核,以确保质量系统之有效运作.6.6 公司最高管理阶层也应定期依“质量管理审查程序”举行管理审查会议,以定期检讨质量系统之适切性与有效性,并持续改善之,以确保质量系统运作之持续有效.6.7 质量管理系统规划:
6.7.1 每年12月底前依公司质量政策规定拟妥次之整体质量目标, 送总经理审查核准后颁布.各部门施行达成计划. 6.7.2 在质量系统规划下,为达成即定质量目标,每年年底由品管部制定质量计划交由总经理审查核准后颁布执行.
6.7.3 各项质量目标应可被量测且与质量政策相一致,并纳入管理审查评审达成情形.6.7.4 质量计划之内容可包含拟定检验标准、制订操作标准,提升产品质量、降低客户抱怨、提高客户满意等实施方法.6.7.5 厂内制程应拟定“QC工程表”作为质量管理之执行依据.6.7.6 各“QC工程表”经核准后,交各有关单位据以执行,并列入内部质量稽核要项予以鉴审追踪.6.7.7 当规划及实施质量管理系统变更时,管理代表应确保质量管理系统的完整性仍得以维持.6.8 质量系统之各项书面数据记录,均需依“质量记录管制程序”之规定予以建档保存与管理.7.附件:(无)
XX精密电子有限公司
文件类别: 质量程序 文件编号: BQ-42-001 版本:
1.01
文件名称: 质量系统规划管理程序 页次:
3/4 制订日期:2018.10.23 质量系统程序与标准条款对照表:
条款或标准 对应程序书
程序编号 4.质量管理系统 质量系统规划管理程序
BQ-42-001
文件与数据管制程序
BQ-42-002
质量记录管理程序
BQ-42-003 5.管理责任 管理责任程序
BQ-52-001
沟通管理程序
BQ-52-002
质量管理审查程序
BQ-52-003 6.资源管理 教育训练与资格鉴定管理程序
BQ-62-001
基础建设与设施管理程序
BQ-62-002 7.产品实现 客户需求鉴定与销售程序
BQ-72-001
合约审查程序
BQ-72-002
采购管理程序
BQ-72-003
供货商管理程序
BQ-72-004
材料承认程序
BQ-72-005
工程变更程序
BQ-72-006
设计与开发管制程序
BQ-72-007
生产管制程序
BQ-72-008
制程管制程序
BQ-72-009
机器设备保养作业程序
BQ-72-010
检查与测试状况管制程序
BQ-72-011
产品鉴别与追溯性程序
BQ-72-012
量规仪器管理程序
BQ-72-013
客户提供品管制程序
BQ-72-014
仓储管理程序
BQ-72-015
售后服务程序
BQ-72-016
电气电子产品类强制性认证实施规则程序
BQ-72-017
认证产品的标志与管理程序
BQ-72-018
OEM流程程序
BQ-72-019 8.测量/分析与改善 进料检验管制程序
BQ-82-001
制程及成品检验程序
BQ-82-002
不合格品管制程序
BQ-82-003
客户抱怨处理程序
BQ-82-004
质量稽核程序
BQ-82-005
数据分析管理程序
BQ-82-006
持续改善作业程序
BQ-82-007
异常矫正及预防措施程序
BQ-82-008
客户满意度管理程序
BQ-82-009
流程监控管理程序
BQ-82-010 附表BQ-42-001-1
质量系统程序与标准条款对照表
XX精密电子有限公司
文件类别:品 质 程 序 文件编号:
BQ-42-001 版
本:
1.01
文件名称:质量系统规划管理程序 页
次:
4/4 制订日期:
2018.10.23 附图 BQ-42-001-2
质量管理体系流程图:
部门 阶段
业务部 研
发
部 资
材
部 工
程
部 品
管
部
1.合 约 审 查 阶 段
NO
OK
2.生 阶 产 准 备 段
3.生 产 阶 段
NG
OK
NG
OK
(入库)OK 4.出 售 货 后、服 销 务 货 阶、段
★ 文件管制与教育训练在各阶段实施,管理部提供相关资源及基础建设与设施资源★
市场情报(客户资料收集)订单输入 合约审查 工程样品 交期检讨
客户承认 客户规格 检
讨
图面规格 文件数据管合约审查 客户收集 采购检讨 生产设备 检
讨
测试设备 检
讨 模具检讨 订单确认 工单申请单 生产计划(是否委外生产)采购作业 作业规范 新 机 种 产前说明会 检验规范 进料检验 不良品处理 材料储存 领料/加工 插件/装配 自主检查首件/巡回 检
查 半成品/成品 检
验 不良品处理 成品储存 批量待检 质量记录 追溯记录
不良分析 矫正措施 内
部
品
质
稽
核 改
善
活
动 出货作业 装运作业 出货通知 销售作业 客户抱怨处理
国内外情报 收
集 物料需求 设
论铁路系统征地的程序及技巧 篇3
【关键词】城镇化;铁路系统;征地;技巧
0.引言
我国铁路系统的发展关系到国家现代化建设进程,是国民经济的命脉行业,铁路系统健康快速发展有利于经济全球化进程的加快和社会主义现代化建设事业。由于铁路系统建设周期长,回收成本率较低,社会性强等特点,使铁路系统征地与房地产开发征地存在很大的差别,对于移民的安置问题以及占地的赔偿问题,最后都应由国家财政以及当地行政系统进行解决。铁路建设用地由所在地政府进行划拨,就全国范围看,地方政府对铁路征地普遍采取支持的态度。
1.铁路系统征地的基本程序
1.1告知征地情况
使用单位在进行征地申报之前,要对土地的用途、具体位置等向当地国家土地局进行核对,在核对无误后进行申报,国家土地局根据具体情况,进行赔偿标准以及安置办法的制定,并通过文件的形式下发给当地的居委会或是村委会,如有集体经济组织,则告知集体经济组织负责人。在下发通知的同时,进行土地丈量,若农民在通知下发后,对拟征收土地进行抢种、强种的,一律不予记录在赔偿范围内。
1.2确认征地调查结果
铁路系统在征地的实际行动发生之前,必须对于地面设施的归属问题以及设施的数量进行核对,核对结束之后,要由主管的国土资源局出具相关带有法律效力的文书,由征地单位、当地政府、当地土地局以及被征地人签字确认,一式四份,不得随意涂改,并以此为依据进行赔偿和安置。
1.3办理征地补偿登记
被征地人在公告发出的有效期(一般为三个月)内,须到土地所在的基层政府进行登记,一般基层政府为乡、镇或街道,若不按规定办理登记,则依据我国相关法律法规,不给予其补偿或是延期给予其补偿。
1.4拟订征地补偿安置方案
征地最后的补偿方案要由所在地铁路局与当地政府共同研究决定。当地政府一般委托国土局与铁路局进行接洽,根据我国法律的相关规定,制定拟补偿方案,并报上级铁路局以及国土局备案。
1.5張榜公示
在明确补偿方案以及安置方案后,要由国土局出面进行补偿方案的公示说明。公示要求以公告的形式在村委会、村小组以及城市的居委会、各个征地单元楼张榜,并收集被征地人的意见和建议,真正做到发展为了人民、发展依靠人民。
1.6确定征地补偿安置方案
拟征地补偿由预征地所在铁路局的上级备案后,需要经过严格的审核,并结合被征地人的意见进行修改和调整,最终确定补偿方案,以满足大多数被征地人的要求。对于极少部分不配合征地工作或是对赔偿方案有疑义的被征地人,则要通过县以及以上人民政府出面调节,若调解不成,则需要进行民事仲裁或诉诸法律。
2.做好征地工作的技巧策略
2.1政府层面
从地区的整体利益看,铁路的修建会为地区经济带来良好的发展契机,也会使当地进入高速发展的快车道,但从局部利益看,铁路征地会对被征地人产生不小的生活方面的影响,尤其是以土地为生的农民群众。所以,在征地问题上,一定要处理好相关问题,既要满足地区的经济利益,又要考虑基层群众的现实利益。
2.1.1发挥政府主导作用
发挥当地行政机关的主导作用。政府作为行政机关,要做到权为民所用、情为民所系、利为民所谋,真正践行发展为了人民、发展依靠人民、发展成果由人民共享,坚持为人民服务的政府宗旨。在实际工作中要注意方式方法,要充分满足人民群众的合理要求,杜绝工作中的形式主义、官僚主义,及时准确地解决群众问题,加快发展的步伐。
2.1.2完善相关补偿机制
我国关于征地和拆迁问题的相关法律有《土地管理法》、《土地管理法实施条例》、《物权法》,这些法律为铁路征地提供了基本的思想以及法律意见,但是问题在于这些法律和法规没有从具体层面上对征地行为,特别是补偿标准有系统化的规定,导致全国范围内类似情况的补偿标准相差很多,有的甚至达到十倍以上,这既不利于我国社会的稳定发展,又不利于我国社会的公平建设。所以,有关部门要在调查的基础上出台相关政策,使征地补偿标准化。
2.2铁路企业层面
2.2.1加强组织领导工作
在保证征地顺利进行的过程中,除了要发挥政府的作用以及土地部门的作用外,铁路方面也起到了不可忽视的作用。征地的铁路部门作为征地使用单位,要由主管领导亲自挂帅,明确内部分工,杜绝出现推诿现象,配合政府做好相关事宜。对于重大问题需要进行汇报的,要及时向上级铁路部门进行汇报,能够现场解决的,要及时进行解决。
2.2.2谨慎征地利国富民
铁路部门在征地前要进行铁路路线的调研,一般对于基本农田保护区、自然保护区等要尽量避开,占地最好以废地、荒地为主,这样可以减少征地期间所引发的矛盾,还可以保护国家的耕地资源,符合科学发展观的要求,真正做到了以人为本、全面协调可持续。
2.2.3高效工作降低成本
在铁路征地的政策上,国家给予了很大的优惠,在地价方面比商业用地低得多,铁路部门可以利用其中所产生的比较优势进行经济运作。比如靠低价优势多拿地,再由铁路部门与房地产开发企业进行联合,由房地产开发企业与铁路部门合建站房,房地产企业可以在站房内享有宾馆、饭店、休息室等的使用权,而铁路部门可以依靠这笔钱补偿给被征地人,一举多得,为铁路部门征地提供了很好的经验。
2.2.4缩短补偿兑现时间
被征地人不愿搬迁的主要原因是由于补偿款或是安置办法迟迟不能够落实,这也是铁路征地中最主要的矛盾。针对这一矛盾,铁路部门以及政府部门要着力解决,尽量简化程序,压缩审批流程,并设立政府财政预留资金进行铁路征地的安置工作,这样会减少被征地群众的顾虑,加快征地工作的进度,有助于征地工作的顺利开展。
3.小结
征地的依据是国家的相关法律法规和政策,铁路系统为了要建设和发展而进行的征地过程一定要在相关政策允许范围内进行,并且要保证被征地群众的利益不受损失,尽量满足群众的合理要求,从而保证征地工作的顺利有效开展,并保证建设项目的顺利进行,使国家与人民的利益均得到保证。 [科]
【参考文献】
[1]杨林海.浅谈大型铁路建设项目征地拆迁的若干问题[J].甘肃科技,2013.(14).
[2]邱晓燕.对铁路建设征地拆迁问题的建议[J].中国铁路,2012.(11)
[3]牛军璋.关于征地拆迁对铁路建设项目投资影响的思考[J].甘肃科技,2011.(04).
[4]赵丽静.铁路征地拆迁验工计价[J].管理世界(运输.车辆),2013.(12).
[5]王云光.铁路建设项目用地申报程序及费用控制[J].路工程造价管理,2012.(05).
分布系统程序化设计 篇4
1 分布系统应用范围
分布系统的组成:分布系统是由天线、馈线、耦合器、功分器、合路器、电桥、衰减器以及干线放大器等器件组成。
分类:从器件组成分为:无源分布、有源分布、光缆分布和泄露电缆分布方式及混合分布方式;从应用环境分为:室内分布系统、室外分布系统;从信源角度看分为:与直放站配合的分布系统、与微蜂窝配合的分布系统、基站直接耦合的分布系统。
使用范围:室内分布系统多用在宾馆、写字楼、政府机关、酒吧、洗浴、电梯、商场、超市等场所。室外分布系统多用在住宅小区、大学城、大型厂区、商业区等场所。
对于小型场所多采用直放站配合分布系统的解决方案;对于话务量较高的地区,为有效吸收话务量,降低周围基站的话务负荷,可采用微蜂窝设备配合分布系统的网络覆盖解决方案;对于高话务量地区可增加基站设备,采取直接耦合方式的分布系统解决方案。
2 分布系统程序化设计
首先根据用户投诉、网络覆盖需求等因素,去优化站点进行现场勘察及测试,初步确定分布系统结构,选取覆盖区边缘场强值、衰落余量等参数,应用覆盖预测算法及电磁辐射算法确定天线位置及输出口功率的设定;根据分布系统的结构构建主线及支线模型;通过支线上的天线输出口功率值范围,应用分布系统程序递推算法进行试算,确定支线设备型号;同样确定主线上的设备型号;通过主线、支线的功率计算,考虑支线入口功率在两者计算中存在差值,需进行支线与主线天线口功率的重新匹配,再判断天线口功率是否满足要求,若不满足则修正分布系统结构,若满足则根据计算结果选取设备,如无设备需修改分布系统结构,选取完设备后,还应进行分布系统对基站干扰的测算,若对原基站干扰较大,需更改方案,如干扰可忽略则程序结束,方案确定。
分布系统程序化设计详见图1。
流程中的覆盖预测算法,主要需考虑室内或室外的路径损耗,及相应的衰落余量设置。室内、室外采用的路径损耗公式如下。
室内:PL900(d)=31.5+10×nlgd+FAF
其中:PL900(d)为路径d的总损耗值,单位为d B。
d为路径,单位为m。
n为同层损耗因子,通常取值范围为1.6~3.3。
FAF表示不同层路径损耗附加值,取值范围为10~20d B,同层取0。
室外:PL=-27.56+20lg D+20lgf
其中:PL为自由空间路径损耗值,单位为d B。
D为路径,单位为m。
f为频率,单位为MHz。
流程中的电磁辐射算法采用点源的功率密度公式计算,根据国标GB8702-88《电磁辐射防护规定》,公众照射在一天24小时内,环境电磁辐射的场量参数在任意连续6分钟内的平均值应满足功率密度<0.4W/m2(频率为30~3000MHz)。
有源设备(如干线放大器、直放站等)在分布系统应用,势必会对原有信源基站产生底噪声抬升,因此分布系统的方案设计应对原有基站进行干扰分析,即上行链路的干扰分析,涉及的参数主要有系统热噪声、设备的噪声系数、设备上行增益以及链路损耗。
3 核心模块模型建立
分布系统程序化设计的主要核心是将方案构建成标准模型,然后采用程序递推算法确定信源的输出功率。
不同的房屋结构、不同规模的优化区域,采用分布系统的方案将有所不同。如何将复杂的结构建立成一个标准模型来计算是分布系统程序化、电算化的关键,通过结构分析建立标准模型如图2。
将模型分成n个阶段,每个阶段定义4个状态点1(i)、2(i)、3(i)、4(i),其中状态1(i)表示第i阶段的输入口功率,2(i)表示第i阶段的输出口功率,3(i)表示第i阶段的耦合器的耦合口输出功率或功分器的输出口功率,4(i)表示第i阶段天线输入口状态。
耦合器件各端口功率的关系如下:
耦合器耦合口输出功率=输入功率-耦合度-插入损耗
耦合器输出口输出功率=输入功率-耦合损耗-插入损耗
功分器件各端口功率的关系如下:
功分器每个输出口的输出功率=输入功率+分配比-插入损耗
由以上公式可以建立1(i+1)与3(i)、1(i+1)与2(i)之间的关系等式,另外从模型图中可以看出2(i)与1(i)、3(i)与4(i)之间仅相差两状态点之间的馈线损耗。通常选用1/2”馈线百米损耗7d B,7/8"馈线百米损耗4 d B。
由此在初选器件的前提下,根据网络需求假设末端天线口的功率(C(0)点),便可递推到2(n+1)点功率,若在此点接有源设备(干线放大器或直放站),便可提出相应设备的功率输出需求,从而得到相应的设计方案。
4 分布系统器件使用说明
分布系统所使用的器件主要有:天线、耦合器、功分器、合路器、电桥、衰减器、馈线、直放站、干线放大器等等。
天线的类型较多,有全向天线、定向板状天线、抛物面天线、八木天线、美化天线等,不同类型的天线性能不同,有各自的应用范围,在工程中需灵活运用。
耦合器、功分器有微带和空腔两种,其耐压等级不同;另外不同厂家有不同型号的器件,在工程中应对照使用,对于基站直接耦合应采用大功率耦合器。
合路器主要应用在不同系统的信号合并,同系统信号合并多采用电桥。
直放站(包括无线直放站、光纤直放站、移频直放站)、干线放大器应注意设备的输入功率、输出功率、增益。过高的信号输入功率会损害设备,而过低的信号输入将无法达到设备指定的最大功率输出。为减少噪声积累过多,在方案设计中干线放大器不要级联(串联)。
方案中应合理的使用衰减器,既要确保有源设备合理的功率输入,又要避免不必要的功率损耗。
目前在工程中所采用的馈线主要为1/2”和7/8”两种,在工程中应根据工程的可操作性及方案的合理性进行选用。另外对于工程安装中的复杂情况还会少量采用8D电缆替代上述馈线,因8D电缆损耗较大,不建议大量使用。
5 工程应用
AWK程序Windows系统 篇5
2、AWK部份内置变量:
FILENAME 当前文件名
FNR当前文件的总共记录数
FS输入的字段分隔符
NF当前记录的字段数目
NR到目前为止,读入的记录数目
OFS输出文件的字段分隔符
ORS输出文件的记录分隔符
RS输入记录的分隔符
3、/ETC/RESOLV.conf文件是SCO的域名解释配置文件,格式:NAMESERVER IP地址,另外,必须在用户
的.PROFILE文件里面加上一句,HOSTRESORDER=”local nis bind“;export HOSTRESORDER,这句话,是
设置在主机解释域名的搜索顺序,先是本机,然后是NIS,再是DNS,
4、在AWK中,数组的下标可以是数字,也可以是字符串,如,arr[1]或者是arr[sales]。
5、split(string,arr,fs)函数可以把字符串STRING以FS为分隔符分解成为一个个的数组元素,放到ARR中。
6、delete arr [subscript]删除数组ARR[subscript]元素。
7、在AWK中,for( i in arr) statements是一个FOR循环。
8、if (expression) statement1 [else statment2];
9、expression1
while(expression2)
{statement1;expression3}
10、do {statement} while (expression)
11、NEXT是强迫AWK读入下一个记录,进行处理
12、在AWK中,PRINT或者是PRINTF输出表达式中如果有关系比较符号(如大于>),则需要把PRINT或者是
PRINTF用圆括号括起来,如print $0,($2 > $3)是打印记录,随后是1或者0;但是如果是print $0,$2 >$3则
是打印整条记录,第二个字段到文件名为$3的文件中去。
13、在AWK中,可以用CLOSE关闭一个文件(CLOSE(filename));关闭一个管道(close(command_line));
14、在AWK中,输入可以用以下几种方式:
< filename
getline
getline
getline x
command | getline
command | getline x
如果GETLINE正确,则返回1,文件结束返回0,出错返回-1,
15、在AWK中的一些字符处理函数:
gsub(r,s,t)以字符S替换满足正则表达式R的字符串T中R。
index(s,t)在字符串S中查找字符串T第一次出现的位置,没有则返回零。
legnth(s)测字符串S的长度。
match(s,re)在字符串S中查找正则表达式RE的第一次出现的位置,如果有则返回,同时置RSTART为
该数字;如果没有则返回0。
split(string,arr,fs)见前面。
sprintf(format,expression,expression1,...)
sub(r,s,t)以s替换字符串T中的R。
substr(s,p)取字符中S从位置P开始的字符串。
substr(s,p,n)取字符中S从位置P开始的N个字符。
tolower(s)
toupper(s)
在字符处理函数中,如果被处理字符串为空,则缺省值是$0。
16、在AWK中,还可以用system(command_line)运行系统命令。
17、还可以自定义函数:
function name(parameter_list){statements}其中,parameter_list是以逗号分隔的变量组合。在函数
中如果变量少于定义的数字,则少的设为空;多的则被忽略。为了在函数中有返回值,必须在函数中有一
句return expression
18、在AW中,如果要强制转换一个变量的类型,则需要number ”“是强制number变量为字符型变量。
19、在AWK中,把一个字符型变量强制转换成数值型,则需要string+0。
20、AWK程序成功执行返回0,否则返回>0
21、在正则表达式中,”,[ t]* | [ t]+"表示以,号和(或者)与空格空行的记录,或者是完全就是空格或者
空行。在正则表达式中*代表任意字符,+代表前缀字符的一个或者任意多个的组合。
studio99 回复于:2003-08-27 09:31:06找了你好久了
yychs 回复于:2003-08-24 17:10:52very good.
程序系统 篇6
关键词: 椭圆 参数方程 坐标 变量 象限
在数控车削加工中,会遇到工件轮廓是椭圆方程曲线的情况,此时可采用宏程序完成椭圆方程曲线的加工。椭圆轮廓的程序可通过椭圆的一般标准方程和参数方程设计加工走刀路线,因为椭圆的参数方程比较方便。
椭圆的标准方程为:X2/a2+Y2/b2=1,参数方程:X=asinθ,Y=bcosθ,转换成工件坐标系中的参数方程:X=bsinθ,Z=acosθ,此方程中,不论a、b是长半轴还是短半轴,b指X方向的半轴,a指Z方向的半轴。参数方程椭圆程序编制简单分成五个步骤:
1.参数定义。用公共变量#100~#199、#500~#999中任一参数可定义方程中各变量,在这里我们用变量#101、#102、#103来编程,#101作为角度变量,#102作为X轴变量,#103作为Z轴变量。
2.计算点坐标。参数方程中初始角度的计算,根据公式X=bsinθ,Z=acosθ,a、b值已知,X、Z已知其中一个参数值,可得θ值和另一参数值。一般已知工件零点设在工件端面与中心线相交处。由于椭圆方程原点不在工件零点处,椭圆轮廓向X轴正方向平移了距离c,因此,在计算X坐标时,加上2倍的c距离,椭圆轮廓向Z轴负方向平移了距离d,因此,在计算Z坐标时,必须减去距离d。
3.插补。坐标插补用G01完成。
4.角度的递增或递减。参数#101角度的变化,以计算每个角度值对应的椭圆上X、Z的坐标值。
5.条件转移(IF语句)。程序变量增加一个增量,插补一个点,当插补过程还没有完成时,要重复以上过程,所以要使用循环判断判断是否到达终点,“否”继续循环,“是”结束循环,向下执行。这里,我们可以运用#101、#103来判断,角度和Z方向的值都是单调递增或递减,当椭圆没有过象限,#102单调递增或递减时,也可以用来循环判断,通常用#103判断比较方便。
椭圆轮廓程序格式如下:
下面的零件图,椭圆轮廓的程序编制如下:
(1)相关计算。椭圆Z方向的半轴为5,X方向的半轴通过间接计算为44/2-7=15,椭圆起始点的Z值为4,代入椭圆参数方程Z=acosθ,可得θ=36.87。椭圆轮廓向Z轴负方向平移了19+4=23mm,椭圆轮廓向X偏移了7mm,椭圆轮廓终点Z方向的坐标值为-23。
当椭圆轮廓是凹椭圆时,格式与以上基本相同,第1步和第4步稍稍发生了变化,用参数方程计算出的θ值,范围是0≤θ≤90,具体的取值从图形上部(即后置刀架)看,椭圆轮廓上该点在第几象限,第一象限为θ值,第二象限为180-θ,第三象限为θ-180,第,四象限为-θ。第4步变化是角度增量值变为角度递减值。
下面零件图中的凹椭圆轮廓程序编制如下:
(1)相关计算。X方向的半轴为12,椭圆Z方向的半轴为18,
椭圆起始点的X值通过间接计算为32/2+12-40/2=8,代入椭圆参数方程X=asinθ,可得θ=41.81,由于起点在第四象限,所以角度为-θ,即为-41.81,椭圆轮廓向Z方向平移了44mm,椭圆轮廓向X方向偏移了32/2+12=28mm,椭圆轮廓终点Z方向的值没有直接给出,X值与起始点值相同,θ为41.81,可以用角度循环判断,由于终点在第三象限,因此角度为θ-180=41.81-180=-138.19。
PBN飞行程序系统设计与应用 篇7
基于性能的导航 (PBN, Performance Based Navigation) 技术是基于卫星导航的先进技术, 目前供全球使用的卫星定位导肮系统有, 美国的GPS系统、俄罗斯的Glonass系统、欧洲的Galileo系统以及中国的北斗卫星导航系统, 其中只有GPS系统能够精准的进行导航定位并为全球民航提供正常的导航服务。PBN的应用和推广将在改善目前民航的经济性方面有显著的效果, 从而推动亏损的、发展缓慢甚至停滞的世界民用航天航空企业向盈利的、可持续快速发展的世界民用航天事业发展。PBN技术尤其是RNP技术的推广和应用必将成为推动世界民用航天向崭新的高度发展的重要技术标志, 将使我国从一个民航大国发展成为一个民航强国提供了技术保障以及机遇。PBN应用技术还具有提高民用航天安全性、运营效率、盈利能力和发展空间的明显优势。
1 PBN飞行系统程序设计
1.1 PBN程序设计规范
现行的PBN运行的技术核心是其GPS导航性能, 在设计范程中, 不同的PBN导航系统规范对应不同的导航设施;反之, 对于不同的民用航天航空设计规范, 则需PBN应用程序系统能够满足相应的运行要求。
PBN导航规范包括RNAV和RNP两类导航规范, 不同的PBN导航系统规范对应不同的导航设施, 这些要求主要体现在导航精度、应用完好性、过程连续性等方面。例如现行的的RNAV5导航规范, 其导航设施主要有VOR/DME, DME/DME, 工NS或工RS, GNSS, 而在复杂环境下, 在进近阶段运行的RNPAR导航规范, 进近阶段则只能使用GLASS导航规范, 并且要求其具备机载监视性能和警告提示功能。
RNAV、RNP导航运行规范均为区域导航运行模式, 在与传统导航方式相比较下, 区域导航具有运行效益高、航迹选择灵活、运行安全性提高、飞行员的工作负荷小、终端区容量提高、空域利用充分、终端区空域的使用效率提高、陆空通话频率低等优点。
1.2 PBN进近程序设计
PBN技术系统运行的核心, 是GPS卫星导航定位系统的应用。进近PBN程序主要包括两种程序规范, RNP APCH的通用程序和RNP ARAPCH专用程序。其中, RNP ARAPCH程序主要针对航空公司特定机型及机组进行特别授权的专用设计程序。
RNP ARAPCH程序依据其在进近阶段飞行的引导形的不同又分为非精密进近、精密进近和有垂直导航引导进近3种形式, 是一种通用的程序。
非精密进近程序是指在从最后进近定位点到最后进近航段的复飞点没有下滑引导趋势;精密进近程序主要是使用基于地面的增强系统, 如LAAS系统等使用机载计算机精确计算后建立一条精确的虚拟下滑道, 然后引导飞机执行精密进近动作, 提高机场区域范围内GNSS的定位精度。有垂直引导的航向台性能程序 (LPV) 是一种完全基于GPS卫星的进近导航方式。Baro-VNAV程序要求机载计算机根据给定的正常下滑角 (标准3°) 和GNSS确定的飞机距跑道入口的距离来计算出飞机应该的正确几何高度, 然后将该高度与气压式高度表得到的气压高度相比较, 从而判断出飞机相对正常的下滑线的高度。厦门高崎机场的PBN进近程序设计使用的就是Baro-VNAV的RNP APAPCH方式。
2 PBN飞行系统应用的优越性
2.1 PBN技术在航线运行的优越性
PBN与传统导航相比有明显不同, 只要是在基站的信号覆盖上, 使用PBN, 其导航航线点可以灵活选择。PBN航线上能够更加精确的引导航空器, 提高了飞行运行的安全性。
在充分利用PBN技术设计航线后, 可以缩短民航导航航线的实际飞行距离和飞行时间。从而可以直接降低飞机折旧率、油耗量、机组飞行排放率、运行成本等, 同时还可提高客运量、飞机周转率、运输效率以及社会效益和经济效益等综合效益。
对于平行航线、偏置航线、一线多道 (空中高速航线) 、近距离多编队机组飞行运输等, PBN技术在导航航线上的大量应用, 为其提供了可能性、技术保障和应用性。
2.2 航班延误大大降低
实施PBN后, 可以在保障机组客容量一定的前提下, 大大提升终端区的安全可靠性和灵活性;以往终端区拥塞问题常常导致航班延误和空中盘旋等待, 令人情绪低沉, 目前应用的PBN技术将大大减少此类情况的发生。既可以减少飞机折旧率、油耗量、机组飞行排放率、运行成本, 又可以提高旅客舒适度及满意度和航空发展效率。
2.3 解决特珠地域导航技术难题, 降低某些地区机场建设成本
应用PBN技术特别有利于解决偏远多山地区、高原地区、复杂地形区域、天气恶劣地区等的通航问题。PBN的推广和应用, 尤其是RNP AR的投入应用, 大幅度地降低了对地形、天气和导航设施的特殊要求与依赖, 从而可以在以前无法开辟或难以开辟运营航线的多山区域和高原区域开辟航线、建设机场, 减轻航空堵塞, 从而缓解空中交通问题。
例如, 我国玉树机场, 海拔高, 地形复杂, 实行PBN飞行程序后, 极大的增加了有效载荷, 玉树机场航空公司从以前亏损运营走向盈利之线, 为普通旅客提供了前所未有的方便。
2.4 PBN技术在终端区运行的优越性
由于终端区空域飞行密度大, 空间有限, 并且有大量的飞机穿越一定的相应高度层的情况等一系列特点, PBN技术整合相应的垂直导航引导进近技术, 大大地降低终端排序难度。通过PBN飞行程序系统设计, 可以在进近离场的一些必要的航线点上设定飞行器的坐标、速度, 然后根据不同航向限定不同的平行进离场程序, 并且使之正常运行。
3 PBN飞行系统实效运用
近年来, 中国民用航空航天事业加快了区域卫星GPS导航技术的研究和推广使用的步伐, 例如在我国西部地区地形复杂, 天气恶劣, 应用PBN技术成功新辟了基于RNP4的Y系航线, 这些航线成功地与已有的L888航线互为补充, 优化了我国西部地区航线结构。
2003年10月, 由于拉萨机场处地势海拔高、周边山多密集、地形复杂和天气情况复杂等原因, 我国民航局启动了拉萨/贡嘎机场PBN导航系统运行工作, 2005年川航成功试飞了由 Naverus公司设计的拉萨/贡嘎机场PBN进近程序。
2010年1月, 广州白云机场全面实施启动了过渡运行的RNAV1飞行程序。4月8日, 广州白云机场RNAV-1飞行程序全面顺利实施并成功投入运营。
2010年11月, 上海虹桥、浦东机场运行RNAV飞行程序, 通过一系列验证并成功试飞。
4 结语
通过PBN技术的成功投入民航使用, 并且推广应用, 从而民航局能够更灵活的对国内各民航业进行空域划分, 提高空域资源利用率;又可以通过增大航空空域总容量, 缓解或者解决空中交通拥堵等问题。PBN导航飞行程序技术相对于传统导航方式, 在基于性能导航的实施与应用层面具有很大的优点。应用并推广PBN技术, 可以明确确定运行要求, 精确定位, 更好的保证飞行安全, 减少成本投入和航空运输对环境的负面影响, 避免机载和地面设备的重复性安装, 在一定程度上提高运营效率。
摘要:PBN技术为民航运输特别是远程运输的蓬勃发展奠定了基础, 增强了民航盈利和滚动发展的能力, 为航空航天导航系统提供了先进的技术支持, 满足了航空运输可持续快速发展的要求。将着重阐述PBN技术以及PBN飞行程序系统进近程序设计特点, 然后依据PBN应用技术的发展现状, 说明了PBN飞行程序系统的实用性。
关键词:PBN,民航运输,飞行系统,进近程序,实用性
参考文献
[1]蒋维安, 向小军.展新钥匙[J].中国民用航空, 2011, (1) .
[2]张健, 李良.PBN技术的优越性及其在我国的应用现状[J].中国民用航空, 2011, (11) .
[3]郝亮.PBN运行飞行程序设计研究[B].电子科技大学, 2011, (12) .
[4]张光明, 张飞桥.导航性能对PBN运行的影响[J].Proceedings of the30th Chinese Control Conference, 2011, (7) .
[5]王小龙.拉萨高原机场PBN运行程序及信息管理程序设计[D].电子科技大学, 2010, (12) .
实现多种条码系统的程序库编程 篇8
条形码是将宽度不等的多个黑条和空白, 按照一定的编码规则排列, 用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条 (简称条) 和白条 (简称空) 排成的平行线图案。条形码可以标出物品的生产国、制造厂家、 商品名称、生产日期、图书分类号、 邮件起止地点、类别、日期等许多信息, 因而在商品流通、图书管理、邮政管理、银行系统等 许多领域都得到广泛的应用。
条形码技术是随着计算机与信息技术的发展和应用而诞生的, 它是集编码、印刷、识别、数据采集和处理于一身的新型 技术。迄今为止, 条形码是最经济实用的一种自动识别技术。条形码技术具有以下优点:
(1) 输入速度快: 与键盘输入相比, 条形码输入的速度是键盘输入的5倍, 并且能实现“即时数据输入”。
(2) 可靠性高: 键盘输入数据出错率为三百分之一, 利用光学字符识别技术出错率为万分之一, 而采用条形码技术误码率低于百万分之一。
(3) 采集信息量大: 利用传统的一维条形码一次可采集几十位字符的信息, 二维条形码更可以携带数千个字符的信息, 并有一定的自动纠错能力。
(4) 灵活实用: 条形码标识既可以作为一种识别手段单独使用, 也可以和有关识别设备组成一个系统实现自动化识别, 还可以和其他控制设备联接起来实现自动化管理。
(5) 条形码标签易于制作 , 对设备和材料没有特殊要求 , 识别设备操作容易, 不需要特殊培训, 设备便宜。
1.1 条码识别
要将按照一定规则编译出来的条形码转换成有意义的信息, 需要经历扫描和译码两个过程。物体的颜色是由其反射光的类型决定的, 白色物体能反射各种波长的可见光, 黑色物体则吸收各种波长的可见光, 所以当条形码扫描器光源发出的光在条形码上反射后, 反射光照射到条码扫描器内部的光电转换器上, 光电转换器根据强弱不同的反射光信号, 转换成相应的电信号。根据原理的差异, 扫描器可以分为光笔、红光CCD、激光和影像4种。电信号输出到条码扫描器的放大电路增强信号之后, 再送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同, 相应的电信号持续时间长短也不同。主要作用就是防止静区宽度不足。然后译码器通过测量脉冲数字电信 号0, 1的数目来判别条和空的数目。通过测量0, 1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是杂乱无章的, 要知道条形码所包含的信息, 则需根据对应的编码规则, 将条形符号换成相应的数字、字符信息。最后, 由计算机系统进行数据处理与管理, 物品的详细信息便可识别了。
1.2 条码扫描
条形码的扫描需要扫描器, 扫描器利用自身光源照射条形码, 再利用光电转换器接受反射的光线, 将反射光线的明暗转换成数字信号。不论是采取何种规则印制的条形码, 都由静区、起始字符、数据字符与终止字符组成。 有些条码在数据字符与终止字符之间还有校验字符。
1.3 条码维度
条码可分为以为条形码和二维条形码。
一维条形码只是在一个方向 (一般是水平方向) 表达信息, 而在垂直方向则不表达任何信息, 其一定的高度通常是为了便于阅读器的对准。它可以提高信息录入的速度, 减少差错率, 其不足之处是: 数据容量较小, 约30个字符左右; 只能包含字母、数字以及一些特殊字符; 条形码尺寸相对较大, 空间利用率较低; 条形码遭到损坏后便不能阅读。
二维条形码是在水平和垂直方向的二维空间存储信息的条形码, 与一维条形码一样, 二维条形码也有许多不同的编码方法, 或称码制。就这些码制的编码原理而言, 通常可分为以下3种类型:
(1) 线性堆叠式二维码: 是在一维条形码编码原理的基础上, 将多个一维码在纵向堆叠而产生的。典型的码制如: Code 16K、Code 49、PDF417等。
(2) 矩阵式二维码: 是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如: Aztec、Maxi Code、QR Code、Data Matrix等。
(3) 邮政码: 通过不同长度的条进行编码, 主要用于邮件编码, 如: Postnet、BPO 4-State。
1.4 条码编码
各种不同的码制具有不同的编码规则。在编码时需要遵循唯一性、持久性和通用性等基本原则。 限于篇幅, 对于各种码制只编程实现, 不再赘述其编码规则。
2 条码程序库
采用C# 语言构建一个针对各种条码码制的程序库, 用于条码的产生 (编码)、存储、识别 (解码)。
2.1 条码的产生
2.1.1 Code 11 码制
Code 11是基于高信息密度矩阵的特殊应用需求所开发出来的。它采用11个字元 (“0~9”及” - “) 的编码, 除了起始及结束字元外, 每个字元由3条黑色线条 (bar) 及2条白色线条 (space) 所组成5条线的编码方式, 其中由2条粗线及3条窄线或是1条特粗线及4条窄线所组成。
在Code 11的编码结构中," 0"、" 1"、" 11" 分别表示细线条、粗线条、特粗线条; B1、B2、B3为黑色线条; S1、S2为白色线条。比如, B1S1B2S2B3=10001表示B1及B3为1粗线条, 其他S1, B2, S2为0窄线条。起始码" START" 及结束码" STOP" 字元编码方式均为B1S1B2S2B3=00110, 字元与字元之间用间隙 (Gap) 分开。
为了降低检查数字错误率, Code 11条码还使用了两个字元校验代码C与K。
Code 11码制的实现代码如下:
2.1.2 Code 39 码制
Code 39条形码系统是国内常见的条形码之一。它的限制很少, 且可灵活地应用在非正式场合中。Code 39码的长度没有强迫性的限制, 可自由地随着使用者的需求调整。唯在规划时, 应该考虑到条形码阅读机所能容许的范围为限, 才不致于会有无法读取完整的问题发生。Code 39的检查码可有可无, 使用者可自行选择。
Code 39所能表示的资料内容 , 包含有 : 0~9、A~Z、 +、 - 、 *、 /、 % 、 $ 、 . 以及空格符 ( Space) 等 , 共44组编码。Code 39在读取方面 , 允许读码机进行双向的扫描读取。换言之, 如果使用者把Code 39倒着读取也会得到相同的结果。Code 39的起始码与终止码均为 * 字符。
在Code 39码的编码结构中, 字元编码固定是由5条黑色线条及4条白色线条, 总共9条线所组成, 每个字元占用12等份 (module)。这样一来Code 39条码编码结构占去相当大的印列空间, 能记录的资料有限, 因为印列出来的条码比较长, 近距离式的条码扫描器读取不易, 所以需要比较昂贵的长距离、广角度的条码扫描器才能读取。
Code 39码制的实现代码如下:
2.1.3 Code 93 码制
为了改善Code 39条码的缺点, Intermec公司于1982年开发出来Code 93条码。Code 93条码的字元编码是由3条黑色线条, 3条白色线条, 总共6条线所组成, 而每一字元占了9等份, Code 93条码的粗线条可以是最细线条的2倍, 或3倍, 或4倍, 因此可以缩短条码列印长度。
Code 93条码的字元表包含有10个数字, 26个英文大写, 7个特殊字元, 4个检查字元, 共46个字元, 再加上起始与结束码。Code 93条码的由起始码" START" 开始, 在起始码后面跟着为" 资料码", 然后为检查码" C" 及" K", 最后为结束码" STOP"。起始码" START" 及结束码" STOP" 字元口编码方式均为B1S1B2S2B3S3=111141。
同样, Code 93条码里有2个检查码, 以降低条码扫描器读取条码时的错误率。
Code 93码制的实现代码如下:
2.1.4 Code 128 码制
Code 128编码是一种比较复杂的条码, 应用起来比较有弹性。其主要特性有:
(1) 有A、B、C 3种不同的编码型态 , 可以提供128个标准的ASCII code字元。包括: 0~9的数字, 英文大小写, 各种特殊符号以及控制码。Code 128条码主要包含4个部分: 起始码”START”、资料码”DATA”、结束码”END”和检查码”CHECK”。
(2) 有一检查码, 可自由决定是否要列印。
(3) 在可藉由A、B、C 3种不同编码型态交叉使用 , 以缩短条码的长度。
(4) 可允许由左至右, 或由右至左, 双向扫瞄。
Code 128条码字元编码方式:
(1) 起始码也有3种编码型态 : Code A, Code B, Code C。当起始码为Code A时 , 后面的条码资料则选择A型态字元表编码逻辑。而起始码为Code B时, 后面的条码资料则选择B型态字元表编码逻辑。若全部为数字时可选择Code C型态字元表编码逻辑, 以缩短条码的列印长度。
(2) Code 128每一字元条码结构由3条Bar及3条Space所组成。又细分为11等分, 组成不同粗细比。字元最粗的线条最高可达最细的4倍。Code 128条码有A、B、C 3种不同型态编码的字元表, 要选择哪一种字元表取决于特殊控制码Code A, Code B与Code C。每一类型的字元表内也有Code A, Code B, Code C, 但条码编码逻辑与起始码不同。
(3) 对于A, B, C 3种不同型态编码方式 , 结束码均固定为1100011101011, 相对值为106。
Code 128码制的实现代码如下:
2.1.5 EAN 码制
EAN是一种国际商品条码系统。在现在购物柜台结帐用扫瞄器读取的商品条码就是EAN条码。国际商品条码需经过申请, 不可自行编码列印。EAN条码具有以下基本特性:
(1) EAN条码的组成只有数字 , 根据编码结构可分为EAN-13与EAN-8两种编码方式, 两者都是固定的字元长度 , 例如EAN-13由13个数字所组成, EAN-8则为8个数字组成。EAN-13条码的编码内容, 由国家代码、厂商代码、商品代码、 检查码4个部份组成; EAN-8条码少了厂商代码, 产品代码则缩短为4码, 总共只有8个数字。
(2) EAN条码包含一字元检查码 , 主要是防止资料读取错误。
(3) 条码结构具有左护线、中线以及右护线, 以便区隔条码结构上的差异。
关于EAN条码的编码方式, 以EAN-13为例, 最左边为“左护线”, 最右边为“右护线”, 逻辑型态均为101, 列印时两条bar较长, 不具任何资料意义, 只是做为条码起始及结束识别之用。在中间的“中线” 逻辑型态为01010, 列印时两条bar也比较长, 也不具任何资料意义 , 其用途主要做区分左资料码与右资料码之用。在EAN的资料码中, EAN-13最左边的码字为国家代码, 称之为导入值, 并不属于列印条码的一部份, 其功能在于作为左资料码的编码方式设定之用。右资料码在中线与右护线之间的6位数条码资料, 其中产品代码占5码, 最右边一码为检查码。
EAN 8码制的实现代码如下:
EAN 13的实现代码如下:
2.1.6 ISBN 码制
ISBN (国际标准图书编号) 是由10个阿拉伯数字组成的编码, 用来唯一地标识一本书。前9个阿拉伯数字描述这本书的一些信息, 最后一个数字用来验证ISBN码是否正确。要验证ISBN码的正确性 , 要把第一个数字乘以10, 你要把第二个数字乘以9, 你要把第三个数字乘以8……直到最后一个数字乘上1, 再把这些积累加起来。如果所得的和可以被11整除的话, 那么这就是一个合法的ISBN码。
ISBN码制的实现代码如下:
2.1.7 QRCode 码制
QRCode码是一种矩阵二维码符号, 它具有一维条码及其他二维条码所具有的信息容量大、可靠性高、可表示汉字及图 像多种文字信息、保密防伪性强等优点。
QRCode码制的实现代码如下:
2.1.8 其他码制
该程序库还实现了FIM、Interleaved2of5、ITF14、JAN13、MSI、Pharmacode、Postnet、Standard2of5、Telepen、UPCA、UPCE、UPCSupplement2、UPCSupplement5等码制。限于篇幅,不再列出代码。
2.2 条码存储
该程序库主要是将条码以JPG/GIF/PNG/BMP/TIFF图像文件或文件流的形式保存在文件系统中。具体实现代码如下:
2.3 条码识别
条码识别主要是要读取条码图像的属性, 比如尺寸、数据等。具体实现代码如下:
3 条码程序库的应用
软件系统时钟级程序的设计 篇9
程控交换机软件是一种实时性、并发性很强的软件, 其程序复杂性大, 调试困难。由于交换机业务功能很多, 彼此之间关系密切, 给交换机软件的设计带来了很大的困难, 因此选择合理的软件结构是整个交换机软件系统设计的关键所在。程控交换机在电力系统中有着极其重要的作用, 特别是小门数程控交换机有着较好的市场前景。由于电力系统对程控交换设备的要求很高, 主要要求通信电路具有稳定可靠、畅通无阻、实时性强、接续速度快、调度功能完善等特点。
程控数字交换机是现代数字通信技术、计算机技术与大规模集成电路 (LSI) 有机结合的产物。先进的硬件与日臻完美的软件综合于一体, 赋予程控交换机以众多的功能和特点, 使它与机电交换机相比, 有以下优点:⑴体积小, 重量轻, 功耗低。⑵能灵活的向用户提供众多的新型服务功能。⑶工作稳定可靠, 维护方便。⑷便于采用新型共路信号方式。⑸易于与数字终端, 数字传输系统连接, 实现数字终端、传输与交换的综合与统一。
本文编制的是时钟级程序, 包括不同模式的定时方式, 考虑到采用51单片机作为控制系统 (指令为串行方式) , 因此采用了整体时钟控制 (基本周期为8ms) 的方法。
2 程控交换软件的基本特点
程控交换软件的基本特点是:实时性强、具有并发性、适应性强、可靠性和可维护性要求高。
2.1 实时性在正常情况下对实时性要求最为严格的是信号接收及信号处理程序 (微秒、毫秒级) , 相对而言对实时性要求最低的是运行管理程序 (秒级) 。
2.2 并发性和多道程序运行并发性就是在同一时间段内CPU运行多道程序。采用多道程序运行方式可以使CPU在一段时间内保持若干进程处于激活状态。不同用户启动的呼叫处理进程可使用相同的处理代码, 各进程的差别仅在于它们处理的数据不同。
2.3 可靠性的要求可靠性指标是99.8%的正确呼叫处理和40年内系统中断运行时间不超过2小时。提高可靠性的措施有:⑴对关键设备 (如控制系统、交换网络) 采用冗余配置;⑵采用各种措施及时发现已出现的错误, 如为软件故障, 则采用程序段的重新执行或再启动, 予以恢复。
2.4 适应性的要求⑴为使之能适应不同交换局对交换机的具体要求, 在交换机的软件设计中采用参数化技术, 使描述处理逻辑大程序部分与给出数据处理参量的数据部分分离;⑵可用局数据和用户数据来适应不同的局条件。
2.5 软件的可维护性要求采用模块化、结构化设计方法, 使用数据驱动程序结构, 在编程时尽量采用有意义的标识符常数, 建立完备、清晰的文档资料, 把易随硬件更新、扩充而变化的软件部分相分离等都有助于提高软件可维护性。
3 软件系统优先级介绍
软件系统的优先级分为:中断级、时钟级、基本级。
3.1 中断级程序
⑴中断程序的两个特点:一是实时性要求高;二是事件发生的随机性;⑵中断级程序主要用于故障处理和输入/输出处理;⑶中断级程序由硬件中断启动, 一般不通过操作系统调度。
3.2 时钟级程序
⑴时钟级程序主要用来发现外部出现的事件, 时钟级程序对于发现的事件不进行处理, 而是将其送入不同的优先级队列等待基本级程序处理;⑵时钟级程序由时钟调度程序调度执行, 而时钟调度程序是由时钟中断启动的。
3.3 基本级程序
⑴基本级程序的功能是对外部发现的各种事件进行处理;⑵应用程序的大部分在运行时构成进程, 基本级也称为进程级;⑶呼叫处理各进程具有较高的优先级, 管理与维护程序的大部分进程优先级较低;⑷基本级程序由任务调度程序调度执行。
4 时钟级程序的设计
时钟级程序具有一定的执行周期, 又称为周期级程序, 如摘挂机识别、拨号脉冲识别及各种扫描程序都具有一定的执行周期, 均属于时钟级程序。另外, 忙音、回铃音和振铃信号的通断也是由CPU控制产生, 这种控制方式也于时间有关, 同样属于时钟级程序。
本文完成的是系统软件时钟级程序的设计, 主要包括对外部事件的检测 (摘挂机识别、双音频拨号的识别或拨号脉冲识别) 和对服务信号 (忙音、回铃音和振铃信号) 的时钟通断控制。各种检测方式的时钟周期为:摘挂机识别200ms;双音频拨号识别16ms;拨号脉冲识别8ms;位间隔识别96ms。各种检测方式均使用基本时钟周期8ms, 这样设计可以大大提高系统的使用效率。检测结果直接送至基本级程序进行分析处理。由于硬件设置为8用户, 相应软件也是依照8用户完成控制, 如果需要扩充用户, 软件只需稍做变动即可实现相关功能。
用户信息检测内容主要包含用户摘挂机状态检测和对用户拨号信息的检测 (识别拨号方式并进行收号) 。
4.1 用户摘挂机状态的检测根据硬件电路的设置, 用户挂机状态为高电平'1', 摘机状态为低电平'0'。程序设定检测确认周期为200ms。为了避免由于干扰而引起的误操作, 在识别一个用户是否有摘挂机动作时判断是否能连续25个周期 (每一个基本周期为8ms) 均能检测到该用户的同一状态, 如能够检测到是同一状态则确定用户动作, 并将检测结果送至基本级程序分析处理 (是否转变用户状态由基本级程序分析处理) 。由于每个用户摘、挂机状态只占用一个二进制位, 而每次只对一个二进制位进行检测会大大降低系统运行效率, 所以采用群处理的方法 (每次对8个用户同时进行检测, 检测结果送至相应存储单元, 然后等待基本级程序处理) 。用户摘挂机状态的检测使用96ms的基本时钟周期, 连续保持192ms (2个基本周期) 同一状态, CPU才进行判断处理 (基本级完成) 。由于硬件设计系统为8用户, 因此系统采用群处理方式对用户进行摘挂机状态的检测只需检测一次。
4.2 拨号脉冲的识别与接收号盘话机送来拨号信息的是脉冲信号, 与用户的摘挂机状态一样也是用户线的断、续状态。因此这部分设计仍然使用判别用户线状态的方法来识别拨号脉冲。
4.3 双音频信号的识别在双音频话机号码接收中, 由于采用了单片滤波译码芯片MT8870, 因此号码的接收比较简单。MT8870芯片从DTMF信号输入至检测识别出其对应的代码的建立时间是40ms左右, 因此, 采用16ms周期对其进行扫描 (仍然使用8ms基本周期) 。由于此种方式工作过程比较简单, 在此就不再详细介绍。
值得说明的是, 在用户摘机之初, 时钟级程序对用户同时使用两种拨号检测方法同时进行扫描, 直到以一种方式接收到号码之后, 才停用另一种收号方式。由于硬件系统只提供了两路双音频收号系统, 因此, 软件程序就需要对收号资源进行分配, 这部分功能主要是由基本级程序实现的。
5 结束语
综上所述, CPU对用户状态 (信息) 的检测均是通过8ms的基本周期来完成的。用户摘挂机状态采用的是不间断的扫描方式;其它信息的检测是通过相应的启动标志来进行控制, 以达到对用户的各种状态在不同周期进行定时扫描的目的。
摘要:程控交换机特别是小门数程控交换机有着较好的市场前景。由于电力系统对程控交换设备的要求很高, 主要要求通信电路具有稳定可靠、畅通无阻、实时性强、接续速度快、调度功能完善等特点。本文对程控交换系统特别是软件系统时钟级程序进行了研究。
关键词:程控交换机,通信,时钟设计
参考文献
[1]叶敏.程控数字交换与交换网 (第2版) [M].北京:北京邮电大学出版社, 1998年
程序系统 篇10
要彻底地防范木马的入侵,我们一定要在日常生活工作中使用计算机时注意以下几个方面。
1 使用正版软件,及时更新系统安全补丁
苍蝇不叮无缝的蛋。绝大多数被攻击的计算机都是因为没有及时打补丁,才会被木马、病毒有机可乘的,打上相应的补丁之后,自然就没那么容易被木马、病毒入侵了。
2 安装防火墙和反病毒软件,并实时更新病毒库
一款好的杀毒软件,可以让你避免相当大一部分的木马、病毒的危害,系统从此就多了一层保护屏障。自然好的杀毒软件就显得非常重要了。比如卡巴斯基、诺顿、360安全卫士(辅助工具)、瑞星杀毒软件、瑞星个人防火墙、金山毒霸、江民、天网等。
3 密码不要太过于简单,设置复杂的密码
密码设置过于简单,或者使用有特别意义的数字(比如:生日、电话等)作为密码,容易被密码心理学或者社会工程学破解导致帐号被盗。
4 不乱上危险网站,不接受不明信息来源的文件
现在被挂有网页木马的网站越来越多,不要随便打开来历不明的网站,也不要随便接收来历不明的邮件等。防止木马入侵电脑,轻易地拒木马、病毒于千里之外。
5 不要随便运行可执行文件
对于可执行文件,我们可以用以下方法进行检测、防范。
平时运行网络上下载的文件的时候一定要慎重,特别是.exe后缀的文件运行要特别慎重。
简单的目测,这种方法较为简单,一般文件下载到电脑里后基本为压缩文件也就是rar格式。首先双击打开,把里面的文件拖到桌面,如果含有exe执行文件必须提高警惕。exe分为两种:一种是可执行文件,另一种是winrar的自解压包,从图标可以看出来。这两种文件都是木马传播者常用的放马手段,winrar自解压文件可以单击右键,选择用winrar打开。如果有脚本命令:
例:脚本中有setup=c.exe,意思就是解压后自动运行压缩包里的c.exe这个文件。如果c.exe这个文件为木马或者病毒的话,就会被植入计算机。
另外一些文件,如:
可执行文件.bat.pif.scr.cmd.com等。
可以带直接运行脚本的:htm chm html asp htt等。
.wav.mp3、.mid、.doc等。
这些类型的文件也有可能被人捆绑木马,我们在打开的时候也要注意查毒。
6 禁止光盘或者U盘以及移动硬盘的自动运行
网上流行的U盘病毒就是通过自动运行来入侵电脑的,所以一定要关闭硬件的自动播放功能。
方法1:开始-运行-services.msc,找到Shell Hardware Detection项,把启动方式改成禁用即可。
方法2:开始-运行-regedit,找到HKEY_LOCAL_MACHINE_SYSTEM CurrentControlSetServic esCdrom项,将其下Autorun字符串的值由原来的1更改为0。然后展开HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurre nt VersionPoliciesExplorer,将其下的NoDriveTypeAutoRun字符串的值更改为十六进制值ff。这样就分别关闭了光盘和其它硬件的自动运行功能。
7 电脑每次开机的时候尽量检查一下系统
养成良好的习惯,电脑在开机的时候用心的检查一下系统是否安全,少则三五天、多则半月,检查下系统的进程、启动项、系统服务,另外还有端口,最好借助杀毒软件进行全盘扫描,让病毒、木马无处藏身。
7.1 系统启动项检查
检查启动项目,比如系统配置实用程序,看启动栏里有没有陌生的启动项等,如果懂些注册表知识,就可以手工去查下几个容易被木马隐藏的键值。比如
7.2 系统进程检查
检查系统进程,一般Ctrl+Alt+Del调出任务管理器即可,进程里会显示所有系统中正在运行的程序的信息。对于有经验的用户来说。很容易就能看出来是否有可以进程,是否是木马程序。这也需要大家对自己的电脑日常运行的程序有一定的了解,做到心中有数,才能及时的处理。
7.3 系统服务项检查
另外,对系统服务项也要进行检查。右键单击我的电脑。选择管理,会弹出计算机管理页面。选择服务,就会打开计算机的服务页面。
仔细的查看服务中已启动的。或者是启动类型为自动的服务项。如果发现比如:windows_rejoice,GrayPigeonServer,等等这样的服务名的话,那么就是中木马了。解决办法:首先立刻双击此服务,选择停止。然后查看可执行文件的路径,删除。记住此服务名,点击开始-运行-cmd。打开dos窗口,直接输入命令:sc delete服务名,比如上兴远控的服务名为windows_rejoice,那就输入命令sc delete windows_rejoice。如果操作正确,服务里面的木马服务会被删除掉,刷新以后便不再显示。当然木马的服务名可以由木马制作者任意的更改,这就需要大家对自己的电脑多留心的观察。积累经验,以分清哪些是系统服务,哪些是木马的服务。
7.4 端口检查
检查系统服务项后,就开始检查端口。开始-运行-cmd-然后输入netstat-an,查看有没有外部IP连接你的电脑,确认无误后,就可以放心地上网了。
8 不用电脑的时候最好关机
离开电脑的时候最好关机,或者设置好屏幕保护密码。因为如果你离开了电脑,一旦别人动你电脑,不小心或者有意给你中木马,这个也得防范。
9 定期备份系统及重要资料
即便我们打好补丁、安装了杀毒软件,养成良好的上网习惯也不能保证一定能够避免木马、病毒的入侵,系统补丁和病毒库都是明显滞后于病毒、木马。因此,我们要为系统做好备份。虽然系统备份不是万能的,但是有个备份,一旦资料或者系统被木马、病毒损坏,我们就可以借助备份文件来恢复我们的系统和重要资料。一些还原软件也是可以考虑的。比如用promagic或者ghost来备份系统也是个不错的选择。
认真严格做到以上几点安全措施,严防木马的入侵,在平时的使用中检查维护好自己的计算机系统。这样,我们就能把木马的危害降到最低,还大家一个安全的上网环境。
参考文献
[1]李俊民,郭丽艳.网络安全与黑客攻防宝典[M].北京:电子工业出版社,2010.
[2]朱建军,熊兵.网络安全防范手册[M].北京:人民邮电出版社,2007.
[3]秉辉,Jonh Hawke.黑客技术攻防擂台木马任务大作战[M].北京:科学出版社,2008.
程序系统 篇11
什么是驱动程序
驱动程序(Devce Driver)全称为“设备驱动程序”。它是添加到操作系统中的一小块代码,包含有关硬件设备的信息。有了此信息,计算机就可以与设备通信。它相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作。
操作系统——最庞大的驱动库
大家使用的操作系统实际上是一个容纳各种硬件驱动的庞大驱动库。用户在装好操作系统后就会发现,它实际上已经自带有很多硬件的驱动程序,如硬盘、显示器、光驱、键盘、鼠标等。而随着操作系统的不断升级,操作系统的驱动库也在不断扩容,例如现在的windows Vista操作系统完成安装后需要用户手动添加的驱动已经很少了。即便一些较新的硬件的驱动可能无法在操作系统中找到,只要通过WindowsUpdate功能就可以下载到。
无论是操作系统自带的驱动还是通过Windows Update功能下载更新的驱动,对于操作系统来说都是最为稳定的。大家也许对WHQL(Windows硬件设备质量实验室)还记忆忧新,事实上为了保障用户操作系统的稳定性,WHQL会对厂商们的驱动一一进行检测,并从中筛选出对系统最为稳定的版本,并授予数字签名。而系统自带以及Windows Update下载到的驱动都是严格通过WHQL认证后获得数字签名的。
系统自带驱动并非完美
虽然操作系统本身已经能够提供用户所需的最稳定的驱动,但它能够保证的只是让系统不会因为硬件驱动程序的原因而导致死机、蓝屏等异常现象,而性能方面则不在WHQL的考虑范围内。用户们也会发现系统自带或是通过Windows Update功能下载到的驱动在功能上非常少,例如我们使用的操作系统虽然能够正确安装一款AMD-ATi芯片显卡的驱动,但是AMD-ATi的Catalyst Center(催化剂驱动控制中心)功能却不见了,一些声卡虽然装好系统就能发声,但是前置音频调节、特效场景选择等功能也根本没有。这些功能、效果其实并不是纯粹的驱动,而是硬件厂商根据自家产品设计的软件程序,拱作系统集成的则是最纯粹的驱动程序,不包含此类功能软件。单纯的驱动是无法满足用户在功能上的需要的,同时用户也不可能单纯依靠等待系统更新来获得驱动。硬件产品驱动光盘上的驱动程序也不是最高效的。获得完美驱动程序的最高效方式仍然是自己下载。
更新驱动打造完美平台
驱动的不断更新意在提升产品性能,改善产品对其他硬件或软件的兼容性并消除老版本驱动上存在的Bug等等。以AMD-ATi目前最新发布的atalyst 8.10 Hoffix Driver为例,这是一款在Catalyst 8.10基础上进行了改良的驱动。它对《Far Cry 2》、《S,T,A,L,K,E,R,晴空》以及《战火兄弟连:地狱高速》等最新游戏大作都有了优化设计,能够让游戏运行更加流畅。而用户凭借驱动光盘里的老版本驱动或是系统自带的驱动是无法享受到这些优化设计的。
在选择驱动时,用户应该时刻关注驱动信息说明。首先以稳定性作为前提,尽可能选择通过微软WHQL数字签名的驱动程序。而各种操作系统所需要的驱动是不一样的,因此必须选择操作系统所对应的驱动版本。同时,还需要考虑驱动程序所对应的硬件产品型号,即便是出自同一家厂商的产品,不同型号对应的驱动也可能不一样。例如NVIDLS旗下的GeForce 7系列显卡产品就无法使用目前较新版本的驱动,因为自GeForce 8系列开始,NVIDIA显卡就步入了DirectX10时代,显卡的渲染架构发生了质的改变,为DirectX 10显卡设计的新版本驱动已经无法再满足DirectX 9的GeForce 7系列以及更老的NVIDLA显卡了。此外,还可以通过驱动信息说明了解该版本驱动相对于前一版的改进,例如对哪些游戏做了优化设计。修改了哪些兼容性问题等等。
程序系统 篇12
根据调查,目前市场上的智能操作系统主要有IOS、Android、 Windows Phone等。其中,由于安卓系统有着开放性较高等多个优势, 从而被广大开发商所青睐,占有最大的市场份额。但是也因为安卓系统兼具兼具开放性与灵活性,基于安卓系统开发的病毒、木马、恶意软件等应用程序层出不穷,从而导致用户隐私被非法窃取、财产被恶意转移、电脑系统被破坏等问题的产生。另一方面,由于安卓系统程序应用的发布缺乏严格的软件审核机制,并且相关法律规定的监管也不到位,导致安卓系统的移动应用程序安全受到了极大的威胁。
2安卓系统应用安全加固方案设计
2.1加固方式归纳
通过制定访问控制规则与框架,以修改安卓系统内核方式实现对应用程序实施强制访问控制;基于UPX加壳技术的代码混淆机制, 降低反编译后代码可读;通过安全加载机制,将核心代码转为代码, 从而提升应用整体破解难度;配合平台通信,在应用内集成安全组件,将敏感信息隔离于服务端,防止因代码泄露带来的信息风险[1]。
2.2设计原则
为了向开发者提供易于理解和操作的安卓系统应用安全加固方案,保护移动应用程序不受破坏,避免用户利益受损,遵守以下设计原则:降低开发者额外操作同时,保证原应用功能可以正常运行; 防止病毒或恶意应用利用本系统隐藏自身代码,逃避代码检测;提升应用破解门滥,使得应用能够有效防止逆向工程导致的安全风险;提供灵活的保护方案组合,兼顾性能指标与用户体[2]。
2.3软件安全加固加固基本功能
2.3.1防软件盗版
为了防止软件盗版等问题,有两类方案:一种是在应用程序中添加数字签名或数字水印来证明程序使用者的合法性,另一种是进行网络交互,通过与数据库中存储的校验值进行比较,来证实应用的合法性。
2.3.2防隐秘数据窃取
对于移动终端应用中的隐私信息进行加密保护,防止攻击者盗取用户信息谋利,一般采用标准加密算法,因为常规的非对称加密算法效率过低,一般使用小型对称密码,需要对密码算法进行改造, 定制化处理以确保其安全性[3]。
2.3.3防动态调试反编译反汇编
攻击者想要对程序进行深层次的攻击必须要获得程序的源码, 针对代码容易被反编译的问题,我们决定通过使用代码混淆进行隐私保护。对于代码交叉编译生成的可执行文件,进行加载器的安全加载,在加载器中实现完整性校验等函数,实现对动态调试,反编译等攻击手段的防御。
2.4软件安全加固核心技术
2.4.1白盒加密算法
由于移动终端处理性能有所限制,而传统的非对称加密算法的处理速度不够快,不适合应用的使用,因此须使用对称加密算法—— 白盒加密算法。具体是指釆用算法的白盒加密方案,可以做到每一台主机有一个定制的解密盒,即使一个终端被破解,其他终端不会收到影响,仍然能够正常使用,有利于提高安卓系统应用的安全性。
2.4.2调试技术
针对Java代码,一般进行代码混淆处理,新的代码版本虽然与原始代码行为方式相同,但是更加复杂,难以理解。另外为了增强安卓应用的安全性,在安全加固系统中使用安全加载器加载原有文件中的文件,将核心代码写入生成的代码中,然后在实现反反汇编,反动态调试等功能。
2.4.3安全加载技术
壳属于软件保护技术中的一种,主要针对反编译和篡改行为。 经过加壳处理后,应用程序的手保护程度会提高,还可以在一定程度上实现对动态调试的抵抗[4]。
2.5加固保护方案
2.5.1 dex文件加固
对于安卓系统移动应用程序中的文件,釆用代码混淆的方式对其实现加固,对应用中原来dex头部文件进行混淆,原有的dex头部只有70个字节,我们现在将安卓系统应用的dex文件加到文件的dex头部后,经过如此混淆后,反编译器就无法进行正常的反编译了。执行的过程中会通过一个加载器,先把这1000个字节解出来,然后再执行剩余的dex文件,将应用正常调用起来。
2.5.2 bin文件加固
对于APK文件中的可执行bin文件我们进行的是安全加载的方式,首先将源文件中的bin重命名为corebin,然后将我们的安全加载器命名为原来bin文件的名字,如此一来,当classes.dex文件对bin文件进行调用的时候,就会首先调用我们的加载器,然后我们再通过加载器去调用corebin,这样我们能在加载器中实现对软件的保护功能,同时还能实现对corebin的安全加载[5]。
3结语
随着各类移动终端设备的研发制造以及移动应用程序的开发和普及,愈来愈多的开发者和用户进入了移动互联网这一大环境, 既带来了不断前进的动力,与此同时也产生了一定的风险和威胁。 目前看来系统基本能够对安卓移动应用程序进行安全加固,实现第一步的保护目的,在承受范围内的性能代价下,有效降低安卓移动应用程序流通于应用市场后被破解及损害的风险。
摘要:随着时代的发展,互联网移动技术不断进步,智能移动终端也在日益普及,与之密不可分的移动应用的数量也得到了前所未有的增长。由于安卓系统低成本、开放性等特点,大量的开发者进入并且开发出了各式各样的移动应用程序。但其带来的问题也接踵而至:盗版、重打包等等。这类隐患不仅损害了开发者的利益,也威胁到了用户的财产、隐私、信息等方面的安全问题,更是不利于互联网的可持续发展。因此,设计基于安卓系统的移动应用程序安全加固系统则显得尤为必要。
关键词:安卓系统,移动应用程序,安全隐患,加固系统
参考文献
[1]史成洁.Android平台应用软件保护技术的研究与实现[D].北京邮电大学,2015.
[2]张译恬.面向安卓系统的移动应用程序安全加固系统的设计与实现[D].北京邮电大学,2015.
[3]张源.安卓平台安全性增强关键技术的研究[D].复旦大学,2014.
[4]董航.移动应用程序检测与防护技术研究[D].北京邮电大学,2014.
[5]王覃思.Android平台安全支撑系统的设计与实现[D].北京邮电大学,2013.
【程序系统】推荐阅读:
系统程序优化08-09
程序代码共享系统10-22
程序化交易系统08-15
网络超市程序 网上超市系统08-29
教学设计:调用系统子程序08-25
基于PLC的搬运机械手控制系统设计程序08-20