基于go语言的驾考系统设计与实现_第1页
基于go语言的驾考系统设计与实现_第2页
基于go语言的驾考系统设计与实现_第3页
基于go语言的驾考系统设计与实现_第4页
基于go语言的驾考系统设计与实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在Internet时代,Internet信息技术已广泛应用于各个领域。对人们的生活以及学习产生了较大的影响。通过信息技术建立的驾照考试管理系统,利用系统对驾照考试进行统一的管理,能够提驾照考试管理的工作效率,具有重要的现实意义。本系统通过,本系统的主要研究内容是首先对课题的研究背景知识进行分析。并通过测试人员的测试对系统的功能实现质量进行摸排。发现有缺陷,及时的让开发人员修改以达到上线的需求。最后对论文的研究情况进行总结,并对未来的研究提出展望。本文通过对驾照考试管理系统的设计与实现,为驾照考试管理的工作效率提升奠定了基础,也为后续的驾照考试管理系统设计与实现开辟了新的研究道路。关键词:驾照考试;go语言;考试管理;系统建设Abstract□IIntheInternetera,Internetinformationtechnologyhasbeenwidelyusedinvariousfields.Thishasanenormousimpactonpeople'slivesandlearning.Theuseofinformationtechnologytocreateamanagementsystemfordrivinglicensetestscanimprovetheefficiencyofmanagingdrivinglicensetestsandhasconsiderablepracticalimportance.Throughthissystem,themainresearchcontentofthissystemistoanalyzetheresearchbackgroundknowledgeofthesubject.Thentheconstructiontechnologyofthesystemismastered.Incaseofanydefect,letdevelopersmodifyitintimetomeettheonlinerequirements.Finally,hesummarizestheresearchstatusofthisarticleandeagerlyawaitsthenextresearchdirection.Thedesignandimplementationofthemanagementsystemfordrivinglicensetestsformedthebasisfortheimprovementofthisarticle.oftheworkefficiencyofthedriver'slicenseexaminationmanagementsystem,andalsoopensupanewresearchroadforthedesignandimplementationofthesubsequentdriver'slicenseexaminationmanagementsystem.Keywords:Drivinglicensetest;golanguage;testmanagement;systemconstruction目录TOC\o"1-3"\h\u中文摘要 2Abstract 21绪论 21.1研究背景与其意义 21.2研究现状与内容 31.2.1研究现状 31.2.2研究内容 32相关技术基础 42.1MYSQL介绍 42.2REDIS介绍 42.3高并发 52.4go语言 63驾照考试系统需求分析 73.1可行性分析 73.1.1技术可行性 73.1.2操作可行性 73.1.3经济可行性 73.1.4管理可行性 73.2系统功能需求 73.2.1起名系统 73.2.2并发控制系统 83.2.3违纪巡查系统 83.2.4巡考系统 83.2.5录入成绩系统 93.2.6查询成绩系统 103.2.7REDIS缓存系统 133.3系统非功能需求分析 134驾照考试系统设计 154.1系统设计原则 154.2系统架构设计 164.3系统功能模块设计 164.4MYSQL数据库设计 174.4.1mysql数据库需求分析 174.4.2数据库概念结构设计 185系统实现 19结论与展望 22参考文献 23致谢 24广东东软学院本科生毕业设计(论文)1绪论1.1研究背景与其意义在国家政策的允许下,人们开始购买各种汽车以满足家庭需求并实现消费目标。在这个过程中,购车和购房这两个热点成为当今时代发展的重要标志。作为中高端产品和便捷的运输工具,汽车也正悄悄进入数百万家庭。汽车也是一个国家经济发展的重要标志。购买汽车的强大消费能力代表着一个富裕而强大的国家。同时,汽车还带来许多意外问题,甚至是严重的隐患。车辆交通规划是重要的问题之一。随着越来越多的车辆,运输不仅是一种简单的路线设计,而且还需要一些深刻的算法和设计思想来对其进行改进,以适应日益增长的车辆数量。驾驶环境。同时,汽车的行驶安全问题也可以称为致命的隐患。频繁的酒后驾驶会产生各种负面消息,而驾驶员自身的一些隐患,例如疲劳驾驶,也将导致可怕的灾难。因此,提高驾驶学校驾驶员培训的质量,严格严格的驾驶员考试程序规范,增加考试难度是解决汽车隐患的最直接,最有效的方法。公共安全和交通运输部进行了集思广益并提出了许多想法。公安部发布了国家驾驶员测试要求《加强机动车驾驶人管理指导意见》。驾驶员培训和测试系统指南文件,也是详细的说明手册。驾照考试管理系统是一种培训和检查系统,旨在解决驾驶员在驾驶过程中的隐患。使用驾驶执照考试查询系统,检查员现在更轻松地培训驾驶员学习熟练车辆驾驶技能,并且驾驶员会极认真专注的学习更多的驾驶技能,每人的头脑知识增加以及动作的多次练习,熟练度上升,手感的把握,考生在严格的考试下磨练出来坚毅态度和熟练驾驶工种的肌肉记忆来予以提高安全舒适的驾驶车辆的技能。同时,驾照考试管理系统作为计算机系统,可以与人工的预判测试配合使用,确定驾驶员是否有驾驶执照的资格,驾驶员还可以完成真实道路的模拟上路科学规划,严格的考试筛选加强了机动车道路管理和危险事件(车祸现场的发生)预防控制,培训交通拥堵的提前预知能力和灌输一条明确驾驶员辨别是否要驶入特殊情况的道路,并避免进行智能工作以防止群众遇到交通事故。完整的驾照考试管理系统具有重要的实用价值。目前,全国各省都在积极遵循公安部的指导,在全省严格建立省级驾照考试管理系统,实行计算机检查系统+人工考核和考核制度的考核模式,并发布向驾驶员提供合理正确的驾驶证。驾龄长经验丰富的老司机制定一套从入门到无刮蹭有效的计划。用来提高驾驶员对于因为自己心里的恐惧造成本应该安全驾驶而出现交通事故。因此,笔者心中之愿望有生之年建设出一套能够与国家实际相结合,以公安部门雷厉风行的精神严肃严禁的工作态度实施地方驾驶执照考试管理系统,笔者认此事是具有人民安全以及生活品质提高的重要课题。1.2研究现状与内容1.2.1研究现状中国的汽车测试与地区的驾驶条件有所不同,中国现行的车辆检查制度具有各省的独立性,但总的来说,每个地方都有一定的不同点和共同点:首先,据笔者查找路面资料发现:中国各地每个城市地区的实际道路状况不同(早晚车辆高峰时间、道路的车道宽度、同一时间行驶的车辆数量),公路驾驶适合初学者训练要求。其次,按照公共安全和交通部道路管理这制定的规定。实现科学安全规划新学员(新车手)道路磨合培训路线。功能;三是根据实际路况加强新学员陪练与车辆驾驶技巧传授。第四,按照公安道路交通部提倡的新时代精神,努力加强对新手司机的道路安全思想教育,减少因为自身的消极原因发生交通拥堵,给每个新手司机灌输各类交通事故发生的危害(家破人亡的痛苦)。当前的重点和难点主要围绕三个方面:一是提高实际道路训练路线的利用率低,提高道路训练组织的能力和整合能力,避免交通拥堵甚至交通事故的发生。能够在路试过程中对测试路线进行监督的功能可以防止驾驶员候选人在测试过程中偏离或偏离已建立的驾驶路线,从而减少了当时使用监督模式的可能性,从而使考官可以与监督进行沟通和沟通团队的沟通机制提高了考试过程中的公正性和公平性;第三是解决考试过程中考场排序和车辆布置混乱的问题,解决考生轮候时间过长和混乱的问题,避免候车过程中的不良情绪。2.不必要的矛盾和冲突考场人员提高了考试效率。从国际和国内驾照考试管理系统的构建来看,先进的检查系统实际上实现了一些智能功能。美国的Bend道路测试智能编号系统可以在实际道路测试之前和期间对考生实施考试预编号管理。该系统的基本功能包括:实际路试车辆管理,实际路试路线管理和实际路试预计划。排名管理,考试排名的动态调整,应试者的考试信息推送管理等英国的Stern道路动态控制系统主要对实际路试车辆和测试路线进行动态计划管理。,测试路径管理,考试车道安排,包括模拟管理和实际道路测试,已经得到了进一步发展。1.2.2研究内容首先对课题的研究背景知识进行分析。然后对系统的建设技术进行掌握,通过技术的累积,对系统的开发与设计实现奠定良好的技术基础。其次,通过对系统的需求分析进行需求的了解,为后续的系统设计与实现做好系统的功能需求,以非功能需求分析。在后续的系统设计中,包括了系统的架构设计,系统的功能模块设计以及数据库设计。在系统设计的基础上对系统进行实现,通过界面的展示,让用户对系统有直观的了解,并通过测试人员的测试对系统的功能实现质量进行摸排。发现有缺陷,及时的让开发人员修改以达到上线的需求。最后对论文的研究情况进行总结,并对未来的研究提出展望。2相关技术基础2.1MYSQL介绍数据库的设计对于系统的实现来说具有重要的作用麦斯格格作为当今所谓的数据库,在各大领域的系统开发中都有广泛的应用,MYSQL具备了良好的事务管理,安全解决方案数据处理的分布式以及跨平台性较好等优点。MYSQL数据库,为了确保数据的一致性以及数据的安全性,在数据有非法的输入时会给出限制。MYSQL是目前为止流行的一个关系型数据库的管理系统;MYSQL数据库在确保数据安全的同时,在性能方面也有良好的体现,降低了系统的开销,增加了系统的运行灵活性,数据库在设计当中需要注重数据的安全性。数据库的设计优劣对于系统的质量来说具有重要的决定作用,因此在数据库设计时需要进行深入的分析,系统对于用户的权限进行了限制通过安全框架将用户的权限进行载入及分析,用户在访问系统时需要通过身份验证才能访问系统,在数据库的设计规范当中需要做到以下的设计规范,首先是需要具备容错的要求,当用户输入了非法的字符时需要给出提示,用户需要重新输入之后才可以访问数据库,当数据库连接超时时,需要有友好的提示。本系统通过网络与外界相连,在服务器方面容易受到外界的攻击,因此系统需要具备快速排查纠错的能力并及时解决,系统在运行时数据库避免了代码的暴露。第二是在故障的处理方面,系统除了要求稳定的运行之外,还要将错误的概率降到最低,即便出现波动之后,也需要能够在短时间内及时的排查,并及时解决问题。2.2REDIS介绍REDIS数据库是非关系型数据库,具有优秀的特点:几乎不支持事务,支持队列和缓存,数据存储的持久化、多样的数据存储类型、支持数据备份。REDIS拥有高速的内存数据库,还可以轻松的存储键值对数据,都支持交并补操作。主要的应用场景是高速缓存,负载均衡(并发和集群);关系型数据库(核心数据)+REDIS(缓存)已是常见成熟的数据解决方案。redis地位位置起着重要作用:消息代理,原子性的操作,支持集群化的协同方式,它承担着各种各样的角色,架构师技术选择的选择之一是Redis。它无可挑剔的条件让充满荷尔蒙程序员的男人欲罢不能,无论他出色的优点还是难以避免的缺点使它成为必不可少的一个地位。一个高性能,支持事务级的redis入门门槛较低这一点,就可以低成本的嵌入到各类项目中。它还支持数据持久化存储。REDIS缓存系统拥有的读写功能是非常优秀的,它通常用作高速缓存cache系统,以提高系统负载能力以及响应速度。Redis配置中心提供key/value的查询和存储机制,数据是缓存在内存中的保证效率,实现配置中心。Redis内置了一些可以迅速解决多种花样的热点数据访问问题的数据结构。Redis的优点:高性能、原子级操作。高性能是因为它拥有内存型的数据存储系统,读写每秒查询率达10W上下。高可用是因为它拥有集群化的操作方式和实现数据迁移的便捷,以及支持数据持久化来提高可用性。Redis的分布式场景设计很好的特性要求“(支持高可用和扩容)”。易用性是因为它不仅给与了客户端工具,还拥有非常简单的借口对外暴露,接入费用很低。Redis的数据类型因为支持多种存储和查询场景而变得丰富多彩。Redis的多个命令可以打包一起执行,还可以进行原子性操作、事务级操作。Redis的劣势:成本高昂、持久化做的不好、存在内存碎片问题、key的索引较为简单,无法支持scan等查询操作。Redis的最大通点就是成本高昂,一边redis太依靠RAM,缓存系统要是想设计大容量的,就需要超多架电脑,另一边cpu也被它疯狂消耗资源,无法进行低内存占用的服务,所以redis霸占主机,成本高昂。2.3高并发并发理论的基本概念:管道:通过通信共享内存。同步锁/资源锁:为了解决共享内存所导致的线程安全问题,选中的内存在特定时间段被开辟的线程锁定,管道加锁期间,其它线程无法访问。协程与通信:主协程同时与子协程并发,由于存在父子关系,其中主协程死亡后,子协程不能独自存活,所以别的协程先跑一步,没有锁定可用CPU数的话看不到效果。runtime.GOMAXPROCS(1)设置最大可用逻辑CPU数——核越少并发质量越差、子协程机会均等地竞争资源,通过channel实现同步:接收端阻塞等待、通过channel实现数据交互、无缓存的管道(互相阻塞)、有缓存的管道(有一定的缓冲区间)、关闭管道后依然可以读取但不能存入,单向管道,数据管道和控制管道协作的生产者消费者模型。同步机制:管道读写阻塞,等待组:主协程创建WaitGroup、主协程wg.Add(1):子协程运行前在它的主协程中进行操作,主协程要是发生阻塞就等待至wg中的协程数降为0。信号量控制并发数:通过管道的缓存数控制协程并发数。互斥锁:并发安全:关键数据不允许并发访问,对关键数据的访问加锁,访问结束才释放,释放后才允许其他协程访问。2.4go语言Go语言:英文”(Golang)”,是谷歌开发的一门编程语言,拥有优秀的语言特性;go语言比其他语言在高性能要求的分布式系统中更有优势,具有极好的开发效率。目前很多大公司使用该语言。“(腾讯的QQ音乐、哔哩哔哩网站、美团外卖)”。Go语言已经慢慢成为了下一代设计的主语言,go更适合在中间件这种需求稳定、依赖少、对于性能要求超过迭代速度的场景使用。但可能不是很适合一些通用的快速迭代系统。3驾照考试系统需求分析3.1可行性分析3.1.1技术可行性系统都是使用了目前成熟的或者主流的技术来进行开发,利用管道并发和读写锁控制信号量进行系统的设计与实现,提升了系统的灵活性。数据库通过了MYSQL作为数据的存储,REDIS缓存查询数据以及存储数据,在兼容性方面能够做到最好,在技术方面,这个系统是没有问题的。3.1.2操作可行性在操作方面,这个系统的可行性非常的简便,用户可以轻易的学会系统的操作,等系统的界面美观大方。3.1.3经济可行性对于经济性方面,由于我国近年来对于信息化的投入重视程度加大,在软硬件的配置上也有所增强,对于本系统的研究与建设各界专家也投入了较多的精力,本系统投入的经济费用较少,投入产出比符合预期,所以经济可行性是没有问题的。3.1.4管理可行性在管理上来说,系统的主要功能包含了驾照考试管理系统的各个方面,能够对驾照考试管理起到重要的提升作用,在业务逻辑上较为简便,提升了系统的灵活性,因此在管理型方面也是可行的。3.2系统功能需求该系统通过对考生详细的需求调查分析设计并介绍其功能,和实现的功能有7个,分别是:起名系统、并发控制系统、违纪检查系统、巡考系统、录入成绩系统、查询成绩系统、REDIS缓存系统。3.2.1起名系统当首先制作一个随机起名的系统,名字分为三部分组成:姓氏、辈分、名字。根据姓名排序方式进行排序,组合成一个完整的符合规范的名字。姓氏的规范按照百家姓的顺序取其一部分,辈分的规范按照太祖派的字辈和太宗派的字辈二者前后顺序取之,其中截取部分欧阳家辈分也加入其中。名字取自自然之景、四季之茂。3.2.2并发控制系统假如20个人前来考试,只有5个车道,最多供5个人同时考试。考场签到,名字丢入管道,安排考生考试。创建一个存储能力为5的管道,考生抽到考场就去考试,进去之后给管道里面写一个数据,提供一个阻塞能力,这时哪位考生能往管道了写入数据就获得了考试资格,开始进行驾考考试。打印出“正在考试...”。考生考试完毕之后再从管道里面读取一个数据,这样就可以为下一名考生提供场地,其他考生就可以再次进行考试了,这就是信号量,也就是这里所指的车道。3.2.3违纪巡查系统考生按签到顺序依次考试,给予考生10%的违规几率;设置一个获取随机数的函数,用作考生的考试成绩。为防止获取到的分数一样,及遇到“一起访问”的情况出现,解决方案:不能让他们一起访问,在前面加上一把随机数互斥锁,确保获取分数的时候不能并发访问,每选择一个分数都先上锁取出分数,再解锁。在管道里面睡眠几纳秒时间差,相继生成考生分数。其中考生成绩小于十分算作考试违纪,打印出“考试违纪”。3.2.4巡考系统巡考每3秒钟巡视一次,发现违规者立即清出考场,如果没有违规者则说明考场秩序良好。若发现考试违规者,则创建出一个违规管道,将其违规人员丢进去,并通报“考试违纪”。巡考管理流程如图3-4所示。图3-4巡考管理流程3.2.5录入成绩系统考试结束之后,创建一个时间间隔,使MYSQL数据库能够抢到读写锁,只要MYSQL数据库抢到了读写锁,锁定为写模式,写入期间不允许读访问。考生在考试刚结束后是无法查询成绩的。将成绩录入到MYSQL数据库,数据格式是考生姓名及对应考试成绩。将所有考生考试成绩录入完毕后,解锁数据库,开放考生查询成绩,MYSQL成绩录入数据库如图3-5所示idnamescore1西门令寿912司空守春913陈士春444陈友喜155陈令夏276夏侯季武27孙子华568郑由风529司徒由霜710诸葛顺华5611杨师福9412欧阳永雨1713欧阳宗春5714司空汝木3715王宗竹2316沈不霜117西门世雨1118韩崇风5119蒋崇山2120李伯秋12图3-5MYSQL成绩录入数据库3.2.6查询成绩系统考试结束,参加考试的人都迫不及待想要查询考试成绩。考试签到的时候,记录了所有参与考试的学生姓名,在MYSQL数据库将所有考生成绩录入完毕之后,考生才能查考试成绩,MYSQL数据库写入的时候,考生是无法查询成绩的,数据没写完就无法查询。可以查询成绩的时候会通知考生,开放成绩查询通知管道,考生抢到读数据库的锁,如果想查到多个数据(id、name、score)都查询出来,需要定义一个结构体,然后把他们对应的字段,为防止重名的情况发生,所以用一个切片进行接受,查询的时候如果有错误,就来处理错误,提示在查询成绩的时候发生错误。没有错误就打印查询结果,查看自己的成绩。查成绩应该查数据库,任何时间都能查的,里面的数据是持久化的。成绩录入之后通知考生查询成绩信息,考试可以通过平台查询自己的成绩。成绩查询流程图如图3-6所示。图3-6成绩查询流程图考生首次查询MYSQL数据库查询成绩如图3-6-1所示:Mysql成绩:李师寿:42Mysql成绩:沈师华:2Mysql成绩:欧阳宗禄:54Mysql成绩:李良华:59Mysql成绩:东门由田:76Mysql成绩:赵良文:96Mysql成绩:夏侯师秋:46Mysql成绩:夏侯仲土:43Mysql成绩:东门善喜:41Mysql成绩:诸葛良华:42Mysql成绩:张仲喜:69Mysql成绩:张由竹:72Mysql成绩:张仲禄:48Mysql成绩:张汝土:98Mysql成绩:上官顺冬:67Mysql成绩:西门宜寿:2Mysql成绩:陈世山:83Mysql成绩:孙良山:30Mysql成绩:司徒德竹:13图3-6-1MYSQL数据库查询成绩3.2.7REDIS缓存系统考生第一次查询成绩的时候从核心数据库MYSQL当中读取考试成绩,然后考生成绩就缓存在REDIS里面了,当考生再次来查考试成绩的时候,就读取全部优先读取REDIS缓存里面将成绩返还给考生,如果没有查询到成绩,就去查询MYSQL数据库,将数据录入REDIS数据库。考生查询考试成绩如图3-7所示:Redis成绩:杨崇冬:2Redis成绩:西门士武:45Redis成绩:孙伯寿:58Redis成绩:冯允木:66Redis成绩:蒋由雨:98Redis成绩:上官允秋:55Redis成绩:欧阳宗武:1Redis成绩:卫季武:100Redis成绩:冯希米:11Redis成绩:王由米:23Redis成绩:沈季木:21Redis成绩:陈孟武:70Redis成绩:李允才:45Redis成绩:沈守山:3Redis成绩:司徒惟石:43Redis成绩:孙汝寿:12Redis成绩:卫令春:92Redis成绩:郑德风:73Redis成绩:张仲喜:69Redis成绩:东门由田:76图3-7REDIS数据库查询成绩3.3系统非功能需求分析系统的效率指的是系统的响应速度,通常来说系统的响应时间需要在三秒内。系统的实用性是指的用户的操作比较的简便,符合用户的操作习惯,可维护性指的是在系统运行中若发生了异常的情况,要能够及时的排查及解决将系统的影响降到最低。系统的安全性指的是系统对于数据的安全以及用户的身份验证都有良好的限制,系统的可测试性指的是系统要能够被简单的测试系统的可扩展性是指的,当业务不断的发生变化时,系统要有良好的可扩展性来适应新增的业务需求。系统的易操作性,当前的用户操作水平参差不齐,因此需要将系统的可操作性,尽可能的做到最简单,系统的界面要尽可能的简洁合理,用户要能够轻易的发现系统的操作。系统在运行过程当中受到了软硬件的要求限制,为了推广系统的运营系统,在支持更多的业务情况下,需要能够做到可扩展性,便于灵活的设计。安全性是各个系统最关注的焦点,我国的司法系统以及公安部门对于系统平台的安全性要求,都提出了一定的规范,从软件的方面考虑,需要通过良好的安全框架责任机制来约束用户的使用,确保系统的数据安全。4驾照考试系统设计4.1系统设计原则系统的设计需要遵循一定的原则,首先需要遵循的是分层的原则,本系统通过管道并发模式进行开发,层与层之间相互独立偶合性降低,开发人员只需要专注自己的业务逻辑即可。系统的封装性是降低了服务人员的使用门槛,能够在短时间内进行业务的开发。模式设计的原则就是通过研究讨论之后,进行产品设计,并根据业务来扩展系统提升系统的可用性,系统的安全性原则是需要系统在数据方面做到一致性数据的保存和读取,系统在正常启动之后,需要确保系统数据的正常访问安全可靠性是指的系统在设计时需要兼顾系统的安全性,确保数据和用户的安全性,系统的经济性原则是系统的输入与产出需要达到一定的比例,在最小的投入情况下产出最高的经济效益。系统的可行性指的是系统在满足适应性的同时需要满足可行性,确保用户的需求得到满足,当系统升级时,需要能够系统在功能上进行不断的扩展,以适应用户的不同需求,因此在系统的架构设计上需要考虑可扩展性以及适应性,在未来业务不断增长的同时需要很好的扩展。系统的前瞻性和实用性指的是在满足用户的需求时,需要考虑系统的可扩展性,随着业务的不断扩展,能够在系统的各个方面得到扩展。这种的先进性和成熟性指的是系统需要通过管理水平的提升来促进系统的优化,通过存储的软件和管理方式,借助软件工具结合硬件水平的提升,开发出系统良好的系统。系统的开放性指的是系统从不同的角度,来满足系统的开放性,从底层协议来说需要支持不同的协议,业务之间的互通需要采用主流的通信协议来确保数据传输的机制性以及达到系统的信息共享。系统的可靠性和稳定性指的是系统不因外部的事件导致系统的不稳定性,当系统出现异常之后,需要能够在短时间内得到排查及解决,确保系统数据的稳定。系统的稳定性指的是系统在可用效率上达到99%以上。系统的安全性和机密性合理设计,同时要充分考虑到资源,有必要保护安全信息。该系统根据应用采取不同的安全预防措施和控制措施,对系统的数据安全以及保密性进行限制,防止内外部人员窃取信息造成信息泄露。系统的美观性指的是系统的界面,需要做到美观大方,界面良好的效果可以提升用户的体验感,灵活性较强,可以随意的更改用户的界面。系统的兼容性指的是需要考虑到系统在实施过程中兼顾到不同的应用端,对于客户端来说需要做到能够兼容针对主流的操作系统经营兼容以及浏览器的兼容。4.2系统架构设计数据层是对数据进行存储,确保数据的安全性,数据安全以及备份是数据库的重要方面,也是数据库的优劣标志。系统架构如图4-1所示。图4-1系统架构图4.3系统功能模块设计在本系统中通过基于管道并发进行系统的设计与实现,用户通过互联网访问本系统,当用户发起请求时,前端控制器将用户的请求发送至服务端,通过对应的业务逻辑进行处理之后,将数据交互的数据提取出返回到用户面前展示。针对本系统来说,对于硬件配置的要求不高,在系统中对用户的权限进行控制,就可以操作本系统的功能,系统的功能模块结构如图4-2所示。图4-2驾考系统的结构图4.4MYSQL数据库设计4.4.1mysql数据库需求分析在了解详细设计的系统业务之后,对数据库进行设计,在数据库的设计当中需要注重数据的安全性,当用户有非法输入时,需要给出安全提示,数据库的设计对于系统的设计实现具有重要的决定,影响系统对于用户的权限需要进行严格的控制,当用户通过系统界面进行查询操作之后系统对用户的姓名进行搜索,通过查找之后才能查出考试成绩,数据库首先需要做到容错机制,当用户有非法输入时,需要针对数据的安全性进行一些提示。本系统基于互联网模式开发,容易受到外界的攻击,因此在服务器的安全性上需要重点考虑,当出现异常时,需要能够及时的排查并解决。主要是对于故障的处理系统需要确保稳定的运行,并将出现故障的概率降到最低,一旦出现故障之后需要在短时间之内进行排查并解决恢复应用。本系统通过mysql进行数据的存储,在确保数据安全性同时需要在一性能方面体现一定的优势,mysql增加了很多的特性,作为数据存储之一是可靠的数据库,在设计的过程当中需要确保数据的安全性,本系统在数据安全方面是通过安全框架来进行系统的安全维护。通过redis进行数据的二级缓存,考生先从cache取数据,MySQL被用作主要存储,第二数据库Redis被用于缓存以加快访问速度。在需要高性能使用Redis,反之MySQL。4.4.2数据库概念结构设计概念结构设计模型主要有三种设计方式,在设计的过程中,自顶向上的设计方法是最主要的应用手段,从宏观的方面逐步的细化,客户的需求也是自己向上的逐步实现,在这个概念的结构过程中,通过这种设计理念,设计出E-R图模型。合理的数据库模型设计会减少访问的时间。系统E-R图如图4-3所示。图4-3系统E-R图在驾照考试管理系统运营期间,驾照考试管理系统将继续增加。当系统数据达到一定水平时,系统的响应速度将越来越慢。维护将成为系统的性能瓶颈。在这种情况下,有必要处理数据库的优化。它包括以下部分。首先是数据备份。数据首先存储在MYSQL数据库里,数据读取之后缓存入REDIS数据库,内存数据库读写速度快,还可以做持久化。当数据库异常时,可以将一台数据库中的数据复制到另一台服务器,以便在发生异常时可以使用它。第二是定期更改密码。降低黑客攻击效率并提高系统安全性。系统在设计系统时需要描述数据的格式。该系统的数据格式更加复杂。在数据处理过程中,系统的业务量很大,业务复杂,数据量将越来越大。因此,数据库的优化成为关键问题。5系统实现在REDIS平台中,输入用户姓名可以查询考生的成绩,如图5-1所示:图5-1成绩查询界面驾考系统成绩查询结果界面如图5-2所示:图5-2驾考系统程序查询redis成绩在MYSQL数据库表中显示的考生成绩数据表如图5-3所示:图5-3数据库表中显示的考生成绩数据驾考系统成绩查询结果界面如图5-4所示:图5-4驾考系统程序查询mysql成绩结论与展望本章主要总结了驾校考试系统的设计和开发,总结该系统的最终设计和实施,并描述了该系统当前状况描述未来前景。总结与结论笔者在该系统的设计和实现中的工作总结如下:首先,阅读相关文献,根据相关文献内容和系统背景分析系统状况,思考如何设计和实现驾考系统,然后确定驾考系统的技术环境和总体架构,然后使驾考系统可行行增加。分析驾考系统的需求,弄清需求和功能,然后通过internet资料了解驾考系统使用的相关技术和体系结构的理论知识,为驾考系统的实现和开发提供技术支持,并撰写论文的时候提供理论基础。完成上述任务后,系统的代码实现过程立即开始,并且在开发过程中实现了系统的各种功能和系统设计的要点,解决了实施难度,最后进行了开发系统通过测试阶段。经过测试以确保系统的质量。首先对功能需求进行了分析依据功能需求的分析后,也对非功能需求进行了总结。这次的驾考系统使用go语言的管道并发进行技术处理,基于系统的功能分析进行系统的数据库设计。Redis数据库用作驾考系统设计与实现的核心模块,对于系统的质量起到了决定性的作用,因此在数据库设计时需要谨慎对待,在设计的基础之上进行系统的编码实现,将其中通用的数据库工具封装,类库封装和复用,最后对系统进行测试,包括了功能测试和性能测试,在系统运行之后需要对系统进行验收。该驾考系统的设计和实施结果总体上是成功的,但仍可以在体系结构设计中进一步优化该系统,以达到更高的软件应用水平。未来展望在系统的此阶段,仍有改进和优化的空间,但是可以进一步改进和优化系统性能和系统缓存机制。因此,笔者希望在将来进一步优化系统,以增强系统的综合功能,同时,未来的独特功能将扩展到该系统,以丰富系统的应用内容。参考文献金婧,陈家铨,王靖天,等.基于Go语言及Beego等开源技术的公务车辆管理系统的设计与实现[J].信息通信,2015(2):140-141.许式伟.Go语言编程[M].人民邮电出版社,2012.刘艳平.Go语言实现数据库驱动的方法[J].计算机与现代化,2018,No.269(01):117-119+126.林荣智.GO语言的并发编程介绍[J].科技展望,2016,26(22).邓楠.Ready?Go!Go语言并发模型和工具链[J].程序员,2012,000(006):P.122-125.马豫星.Redis数据库特性分析[J].物联网技术,2015(3):105-106.曾金燕.高性能Redis数据库安全手册[J].计算机与网络,2015(06):44-45.赵懿.基于车牌识别的路径识别Redis数据库应用研究[J].中国交通信息化,2017(12).徐硕.运行Redis数据库的Tition3服务器性能测试系统的设计与实现[D].郭璇.基于Redis的实时数据库并发控制算法设计与实现[D].梁勇,阳国贵.MySQL数据库的事务一致性研究[C]//全国青年通信学术会议.2009.舒伟,刘兵.Redis架构下的MySQL数据库性能提升浅析[J].通讯世界,2015,000(014):222-222.王景佩.基于Redis的结构化数据缓存系统的设计与实现[D].致谢时光荏苒,转眼四年的本科生涯即将结束,此刻内心充满了感激之情。首先我要感谢的我导师,是我的导师不断的激励着我前行,给我指导,给我信心,在论文的转写过程中,我也被导师的敬业精神和他的研究精神深深折服。在未来的工作与生活中,我的导师给我的教诲都终身受用。其次,本人也很感谢大学四年期间教授我的所有老师们,因为老师们的热情传授,不仅使我能够学习和接触到许多有趣的知识,更加促进了本人的成长以及知识的积累,为毕设工作技术开发做铺垫。学习是一个持续改进的过程,我们一边学习,一边与实践相结合,用已经学到理论知识来达成一定的设计与实现的工作,这样有助于我们能够更好的开展技术性问题的解决,同时也是积极积累经验的过程。感谢我的导师和同学在这过程中给予我的支持和帮助,对毕业设计的开展,提供了物质保障和精神动力。最后,本人特别感谢我的父母和亲人们,是您们一直支持我的求学之路,使本人能够丰富学识和见识,从而更好的在人生路上前行,谢谢你们!本人衷心感谢在这大学四年里教导我、陪伴我、关心我的同学和老师们,谢谢!

电脑不启动故障诊治了解电脑启动的过程在诸多电脑故障中,无法正常启动是最令用户头痛的事了。笔者长期从事维护电脑的工作,在这个方面积累了一些经验,现在就将这些经验整理归纳出来与朋友们分享。本文将以家用电脑和windows98操作系统为基础,介绍电脑无法正常启动故障的诊治。要想准确地诊断电脑不启动故障,首先要了解的起动过程,当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还没有完全稳定,主板控制芯片组会根据CMOS中的CPU主频设置向CPU发出一个Reset(重置)信号,让CPU初始化,电压完全稳定后,芯片组会撤去Reset信号,CPU马上从地址FFFF0H处执行一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS首先要做的事情就是进行POST(PowerOnSelfTest,加电自检)。POST的主要任务是检测系统中的一些关键设备(电源、CPU芯片、BIOS芯片、定时器芯片、数据收发逻辑电路、DMA控制器、中断控制器以及基本的64K内存和内存刷新电路等)是否存在和能否正常工作,如内存和显卡等。自检通过后,系统BIOS将查找显示卡的BIOS,由显卡BIOS来完成显示卡的初始化,显示器开始有显示,自此,系统就具备了最基本的运行条件,可以对主板上的其它部分进行诊断和测试,再发现故障时,屏幕上会有提示,但一般不死机,接着系统BIOS将检测CPU的类型和工作频率,然后开始测试主机所有的内存容量,内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的相关参数、硬盘参数和访问模式等。标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中已安装的即插即用设备。每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。最后系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是Windows最基本的系统文件。IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作,一切顺利结束,电脑正常启动。根据故障现象诊治了解电脑启动的过程,故障就好判断了,下面我们就根据故障现象开始诊治了:现象一:系统完全不能启动,见不到电源指示灯亮,也听不到冷却风扇的声音。这时,基本可以认定是电源部分故障,检查:电源线和插座是否有电、主板电源插头是否连好,UPS是否正常供电,再确认电源是否有故障,最简单的就是替换法,但一般用户家中不可能备有电源等备件,这时可以尝试使用下面的方法(注意:要慎重):先把硬盘,CPU风扇,或者CDROM连好,然后把ATX主板电源插头用一根导线连接两个插脚(把插头的一侧突起对着自己,上层插脚从左数第4个和下层插脚从右数第3个,方向一定要正确),然后把ATX电源的开关打开,如果电源风扇转动,说明电源正常,否则电源损坏。如果电源没问题直接短接主板上电源开关的跳线,如果正常,说明机箱面板的电源开关损坏。现象二:电源批示灯亮,风扇转,但没有明显的系统动作。这种情况如果出现在新组装电脑上应该首先检查CPU是否插牢或更换CPU,而正在使用的电脑的CPU损坏的情况比较少见(人为损坏除外),损坏时一般多带有焦糊味,如果刚刚升级了BIOS或者遭遇了CIH病毒攻击,这要考虑BIOS损坏问题(BIOS莫名其妙的损坏也是有的),修复BIOS的方法很多杂志都介绍过就不重复了;确认CPU和BIOS没问题后,就要考虑CMOS设置问题,如果CPU主频设置不正确也会出现这种故障,解决方法就是将CMOS信息清除,既要将CMOS放电,一般主板上都有一个CMOS放电的跳线,如果找不到这个跳线可以将CMOS电池取下来,放电时间不要低于5分钟,然后将跳线恢复原状或重新安装好电池即可;如果CPU、BIOS和CMOS都没问题还要考虑电源问题:PC机电源有一个特殊的输出信号,称为POWERGOOD(PG)信号,如果PG信号的低电平持续时间不够或没有低电平时间,PC机将无法启动。如果PG信号一直为低电平,则PC机系统始终处于复位状态。这时PC机也出现黑屏、无声响等死机现象。但这需要专业的维修工具外加一些维修经验,因此,建议采用替换法;电源没有问题就要检查是否有短路,确保主板表面不和金属(特别是机箱的安装固定点)接触。把主板和电源拿出机箱,放在绝缘体表面,如果能启动,说明主板有短路现象;如果还是不能启动则要考虑主板问题,主板故障较为复杂,可以使用替换法确认,然后更换主板。现象三:电源指示灯亮,系统能启动,但系统在初始化时停住了,而且可以听到嗽叭的鸣叫声(没有视频):根据峰鸣代码可以判断出故障的部位。ccid_page/AwardBIOS1短声:说明系统正常启动。表明机器没有问题。2短声:说明CMOS设置错误,重新设置不正确选项。1长1短:说明内存或主板出错,换一个内存条试试。1长2短:说明显示器或显示卡存在错误。检查显卡和显示器插头等部位是否接触良好或用替换法确定显卡和显示器是否损坏。1长3短:说明键盘控制器错误,应检查主板。1长9短:说明主板FlashRAM、EPROM错误或BIOS损坏,更换FlashRAM。重复短响:说明主板电源有问题。不间断的长声:说明系统检测到内存条有问题,重新安装内存条或更换新内存条重试。AMIBIOS1短:说明内存刷新失败。更换内存条。2短:说明内存ECC较验错误。在CMOS中将内存ECC校验的选项设为Disabled或更换内存。3短:说明系统基本内存检查失败。换内存。4短:说明系统时钟出错。更换芯片或CMOS电池。5短:说明CPU出现错误。检查CPU是否插好。6短:说明键盘控制器错误。应检查主板。7短:说明系统实模式错误,不能切换到保护模式。8短:说明显示内存错误。显示内存有问题,更换显卡试试。9短:说明BIOS芯片检验和错误。1长3短:说明内存错误。内存损坏,更换。1长8短:说明显示测试错误。显示器数据线没插好或显示卡没插牢。现象四:系统能启动,有视频,出现故障提示,这时可以根据提示来判断故障部位。下面就是一些常见的故障提示的判断:一、提示“CMOSBatteryStateLow”原因:CMOS参数丢失,有时可以启动,使用一段时间后死机,这种现象大多是CMOS供电不足引起的。对于不同的CMOS供电方式,采取不同的措施:1.焊接式电池:用电烙铁重新焊上一颗新电池即可;2.钮扣式电池:直接更换;3.芯片式:更换此芯片,最好采用相同型号芯片替换。如果更换电池后时间不长又出现同样现象的话,很可能是主板漏电,可检查主板上的二极管或电容是否损坏,也可以跳线使用外接电池,不过这些都需要有一定的硬件维修基础才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS检验和读出错;提示“CMOSSystemOptionNotSet”,CMOS系统未设置;提示“CMOSDisplayTypeMismatch”,CMOS中显示类型的设置与实测不一致;提示“CMOSMemorySizeMismatch”,主板上的主存储器与CMOS中设置的不一样;提示“CMOSTime&DateNotSet”,CMOS中的时间和日期没有设置。这些都需要对CMOS重新设置。三、提示“KeyboardInterfaceError”后死机原因:主板上键盘接口不能使用,拔下键盘,重新插入后又能正常启动系统,使用一段时间后键盘无反应,这种现象主要是多次拔插键盘引起主板键盘接口松动,拆下主板用电烙铁重新焊接好即可;也可能是带电拔插键盘,引起主板上一个保险电阻断了(在主板上标记为Fn的东西),换上一个1欧姆/0.5瓦的电阻即可。四、自检过程中断在xxxKCache处这表示主板上Cache损坏,可以在CMOS设置中将“ExternalCache”项设为“Disable”故障即可排除。同理,在自检主板部件时出现中断,则可以认为该部件损坏,解决方法一般可以在CMOS中将其屏蔽,如果不能屏蔽该部件最好更换主板。五、提示“FDDControllerFailure”BIOS不能与软盘驱动器交换信息;提示“HDDControllerFailure”,BIOS不能与硬盘驱动器交换信息。应检查FDD(HDD)控制卡及电缆。六、提示“8042GateA20Error”8042芯片坏;提示“DMAError”,DMA控制器坏。这种故障需要更换。七、提示“DisplaySwitchNotProper”主板上的显示模式跳线设置错误,重新跳线。八、提示“KeyboardisLock...Unlockit”键盘被锁住,打开锁后重新引导系统。九、IDE接口设备检测信息为:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示该IDE接口都没有找到硬盘,如果该IDE口确实接有硬盘的话,则说明硬盘没接上或硬盘有故障,可以从以下几方面检查:1、硬盘电源线和数据线是否接触不良,或换一根线试试;2、CMOS设置有无错误,进入CMOS将“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三项的的“TYPE”都设置成“Auto”;3、替换法确认硬盘本身有故障。十、IDE接口设备检测信息下面显示“Floppydisk(s)fail(40)”出错信息表示CMOS所指定的软盘驱动器有问题。判断和解决的方法与硬盘相似。现象五:系统不能引导。这种故障一般都不是严重问题,只是系统在找到的用于引导的驱动器中找不到引导文件,比如:BIOS的引导驱动器设置中将软驱排在了硬盘驱动的前面,而软驱中又放有没有引导系统的软盘或者BIOS的引导驱动器设置中将光驱排在了硬盘驱动的前面,而光驱中又放有没有引导系统的光盘,这个都很简单,将光盘或软盘取出就可以了,实际应用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多数都是这个原因。如果是硬盘不能引导的话一般有两种情况:一种是硬盘数据线没有插好,另一种就是硬盘数据损坏。前者一般多会出现硬盘容量检测不正确和引导时出现死机的现象;后者则是干脆找不到引导文件或提示文件损坏。前者只需重新连接好数据线即可;后者则需要用win98的启动软盘或启动光盘启动,根据实际情况来定:一、提示“Invalidpartitiontable”或“NotFoundany[activepartition]inHDDDiskBootFailure,InsertSystemDiskAndPressEnter”,这说明找不到硬盘活动分区,需要对硬盘重新分区。二、提示“Missoperationsyste”,说明硬盘活动分区需要重新格式化(formatc:/s)。三、提示“InvalidsystemdiskReplacethedisk,andthenpressanykey”或显示“StartingWindows98…”时出现死机,说明硬盘上的系统文件丢失了或损坏,使用“sysc:”,命令传递系统文件给c盘,再将C拷贝给c盘。现象六:硬盘可以引导,但Windows不能正常启动,也不能进入安全模式。这种情况表明Windows98出现了严重的错误,首先,用杀毒软件查杀病毒,看是不是病毒造成的,如果没有发现病毒可以用以下方法试一试。一、直接将接口卡与各个外设都拨去,再插回去,并调整接口卡上的设置(如果可以的话)来检查是否是硬件冲突造成,开机看看是否可正常进入Windows。二、检查CMOS中的设置是否有不正确的地方,若不清楚,可选择LoadBiosDefault项目,然后重开机,开机看是否可正常进入Windows。三、在启动时按下F8键,一般会出现6个选项(如果安装了DOS6.22则出现7个选项)选择第4项“step-by-stepconfirmation”进入单步运行方式,按照出现死机的命令选择处理方法:1、执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论