在Internet时代,Internet信息技术已广泛应用于各个领域。 对人们的生活以及学习产生了较大的影响。通过信息技术建立的驾照考试管理系统,利用系统对驾照考试进行统一的管理,能够提驾照考试管理的工作效率,具有重要的现实意义。
本系统通过,本系统的主要研究内容是首先对课题的研究背景知识进行分析。并通过测试人员的测试对系统的功能实现质量进行摸排。发现有缺陷,及时的让开发人员修改以达到上线的需求。最后对论文的研究情况进行总结,并对未来的研究提出展望。
本文通过对驾照考试管理系统的设计与实现,为驾照考试管理的工作效率提升奠定了基础,也为后续的驾照考试管理系统设计与实现开辟了新的研究道路。
关键词:驾照考试;go语言;考试管理;系统建设
Abstract
□I
In the Internet era, Internet information technology has been widely used in various fields. This has an enormous impact on people's lives and learning. The use of information technology to create a management system for driving license tests can improve the efficiency of managing driving license tests and has considerable practical importance.
Through this system, the main research content of this system is to analyze the research background knowledge of the subject. Then the construction technology of the system is mastered. In case of any defect, let developers modify it in time to meet the online requirements. Finally, he summarizes the research status of this article and eagerly awaits the next research direction.
The design and implementation of the management system for driving license tests formed the basis for the improvement of this article. of the work efficiency of the driver's license examination management system, and also opens up a new research road for the design and implementation of the subsequent driver's license examination management system.
Key words:Driving license test; go language; test management; system construction
目 录
中文摘要2
Abstract2
1 绪论2
1.1 研究背景与其意义2
1.2 研究现状与内容3
1.2.1研究现状3
1.2.2研究内容3
2 相关技术基础4
2.1 MYSQL介绍4
2.2 REDIS介绍4
2.3 高并发5
2.4 go语言6
3 驾照考试系统需求分析7
3.1 可行性分析7
3.1.1技术可行性7
3.1.2操作可行性7
3.1.3经济可行性7
3.1.4管理可行性7
3.2 系统功能需求7
3.2.1 起名系统7
3.2.2 并发控制系统8
3.2.3 违纪巡查系统8
3.2.4 巡考系统8
3.2.5 录入成绩系统9
3.2.6查询成绩系统10
3.2.7 REDIS缓存系统13
3.3 系统非功能需求分析13
4 驾照考试系统设计15
4.1 系统设计原则15
4.2 系统架构设计16
4.3 系统功能模块设计16
4.4 MYSQL数据库设计17
4.4.1 mysql数据库需求分析17
4.4.2 数据库概念结构设计18
5 系统实现19
结论与展望22
参 考 文 献23
致谢24
1 绪论
1.1 研究背景与其意义
在国家政策的允许下,人们开始购买各种汽车以满足家庭需求并实现消费目标。在这个过程中,购车和购房这两个热点成为当今时代发展的重要标志。作为中高端产品和便捷的运输工具,汽车也正悄悄进入数百万家庭。汽车也是一个国家经济发展的重要标志。购买汽车的强大消费能力代表着一个富裕而强大的国家。
同时,汽车还带来许多意外问题,甚至是严重的隐患。车辆交通规划是重要的问题之一。随着越来越多的车辆,运输不仅是一种简单的路线设计,而且还需要一些深刻的算法和设计思想来对其进行改进,以适应日益增长的车辆数量。驾驶环境。同时,汽车的行驶安全问题也可以称为致命的隐患。频繁的酒后驾驶会产生各种负面消息,而驾驶员自身的一些隐患,例如疲劳驾驶,也将导致可怕的灾难。
因此,提高驾驶学校驾驶员培训的质量,严格严格的驾驶员考试程序规范,增加考试难度是解决汽车隐患的最直接,最有效的方法。公共安全和交通运输部进行了集思广益并提出了许多想法。
公安部发布了国家驾驶员测试要求《加强机动车驾驶人管理指导意见》。驾驶员培训和测试系统指南文件,也是详细的说明手册。
驾照考试管理系统是一种培训和检查系统,旨在解决驾驶员在驾驶过程中的隐患。使用驾驶执照考试查询系统,检查员现在更轻松地培训驾驶员学习熟练车辆驾驶技能,并且驾驶员会极认真专注的学习更多的驾驶技能,每人的头脑知识增加以及动作的多次练习,熟练度上升,手感的把握,考生在严格的考试下磨练出来坚毅态度和熟练驾驶工种的肌肉记忆来予以提高安全舒适的驾驶车辆的技能。同时,驾照考试管理系统作为计算机系统,可以与人工的预判测试配合使用,确定驾驶员是否有驾驶执照的资格,驾驶员还可以完成真实道路的模拟上路科学规划,严格的考试筛选加强了机动车道路管理和危险事件(车祸现场的发生)预防控制,培训交通拥堵的提前预知能力和灌输一条明确驾驶员辨别是否要驶入特殊情况的道路,并避免进行智能工作以防止群众遇到交通事故。完整的驾照考试管理系统具有重要的实用价值。目前,全国各省都在积极遵循公安部的指导,在全省严格建立省级驾照考试管理系统,实行计算机检查系统+人工考核和考核制度的考核模式,并发布向驾驶员提供合理正确的驾驶证。驾龄长经验丰富的老司机制定一套从入门到无刮蹭有效的计划。用来提高驾驶员对于因为自己心里的恐惧造成本应该安全驾驶而出现交通事故。因此,笔者心中之愿望有生之年建设出一套能够与国家实际相结合,以公安部门雷厉风行的精神严肃严禁的工作态度实施地方驾驶执照考试管理系统,笔者认此事是具有人民安全以及生活品质提高的重要课题。
1.2 研究现状与内容
1.2.1研究现状
中国的汽车测试与地区的驾驶条件有所不同,中国现行的车辆检查制度具有各省的独立性,但总的来说,每个地方都有一定的不同点和共同点:首先,据笔者查找路面资料发现:中国各地每个城市地区的实际道路状况不同(早晚车辆高峰时间、道路的车道宽度、同一时间行驶的车辆数量),公路驾驶适合初学者训练要求。其次,按照公共安全和交通部道路管理这制定的规定。实现科学安全规划新学员(新车手)道路磨合培训路线。功能;三是根据实际路况加强新学员陪练与车辆驾驶技巧传授。第四,按照公安道路交通部提倡的新时代精神,努力加强对新手司机的道路安全思想教育,减少因为自身的消极原因发生交通拥堵,给每个新手司机灌输各类交通事故发生的危害(家破人亡的痛苦)。
当前的重点和难点主要围绕三个方面:一是提高实际道路训练路线的利用率低,提高道路训练组织的能力和整合能力,避免交通拥堵甚至交通事故的发生。能够在路试过程中对测试路线进行监督的功能可以防止驾驶员候选人在测试过程中偏离或偏离已建立的驾驶路线,从而减少了当时使用监督模式的可能性,从而使考官可以与监督进行沟通和沟通团队的沟通机制提高了考试过程中的公正性和公平性;第三是解决考试过程中考场排序和车辆布置混乱的问题,解决考生轮候时间过长和混乱的问题,避免候车过程中的不良情绪。2.不必要的矛盾和冲突考场人员提高了考试效率。
从国际和国内驾照考试管理系统的构建来看,先进的检查系统实际上实现了一些智能功能。美国的Bend道路测试智能编号系统可以在实际道路测试之前和期间对考生实施考试预编号管理。该系统的基本功能包括:实际路试车辆管理,实际路试路线管理和实际路试预计划。排名管理,考试排名的动态调整,应试者的考试信息推送管理等
英国的Stern 道路动态控制系统主要对实际路试车辆和测试路线进行动态计划管理。,测试路径管理,考试车道安排,包括模拟管理和实际道路测试,已经得到了进一步发展。
1.2.2研究内容
首先对课题的研究背景知识进行分析。然后对系统的建设技术进行掌握,通过技术的累积,对系统的开发与设计实现奠定良好的技术基础。其次,通过对系统的需求分析进行需求的了解,为后续的系统设计与实现做好系统的功能需求,以非功能需求分析。在后续的系统设计中,包括了系统的架构设计,系统的功能模块设计以及数据库设计。在系统设计的基础上对系统进行实现,通过界面的展示,让用户对系统有直观的了解,并通过测试人员的测试对系统的功能实现质量进行摸排。发现有缺陷,及时的让开发人员修改以达到上线的需求。最后对论文的研究情况进行总结,并对未来的研究提出展望。
2 相关技术基础
2.1 MYSQL介绍
数据库的设计对于系统的实现来说具有重要的作用麦斯格格作为当今所谓的数据库,在各大领域的系统开发中都有广泛的应用,MYSQL具备了良好的事务管理,安全解决方案数据处理的分布式以及跨平台性较好等优点。MYSQL数据库,为了确保数据的一致性以及数据的安全性,在数据有非法的输入时会给出限制。
MYSQL是目前为止流行的一个关系型数据库的管理系统;MYSQL数据库在确保数据安全的同时,在性能方面也有良好的体现,降低了系统的开销,增加了系统的运行灵活性,数据库在设计当中需要注重数据的安全性。数据库的设计优劣对于系统的质量来说具有重要的决定作用,因此在数据库设计时需要进行深入的分析,系统对于用户的权限进行了限制通过安全框架将用户的权限进行载入及分析,用户在访问系统时需要通过身份验证才能访问系统,在数据库的设计规范当中需要做到以下的设计规范,首先是需要具备容错的要求,当用户输入了非法的字符时需要给出提示,用户需要重新输入之后才可以访问数据库,当数据库连接超时时,需要有友好的提示。本系统通过网络与外界相连,在服务器方面容易受到外界的攻击,因此系统需要具备快速排查纠错的能力并及时解决,系统在运行时数据库避免了代码的暴露。第二是在故障的处理方面,系统除了要求稳定的运行之外,还要将错误的概率降到最低,即便出现波动之后,也需要能够在短时间内及时的排查,并及时解决问题。
2.2 REDIS介绍
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.4 go语言
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所示。
添加图片注释,不超过 140 字(可选)
图3-4 巡考管理流程
3.2.5 录入成绩系统
考试结束之后,创建一个时间间隔,使MYSQL数据库能够抢到读写锁,只要MYSQL数据库抢到了读写锁,锁定为写模式,写入期间不允许读访问。考生在考试刚结束后是无法查询成绩的。将成绩录入到MYSQL数据库,数据格式是考生姓名及对应考试成绩。将所有考生考试成绩录入完毕后,解锁数据库,开放考生查询成绩,
MYSQL成绩录入数据库如图3-5所示
id | name | score |
---|---|---|
1 | 西门令寿 | 91 |
2 | 司空守春 | 91 |
3 | 陈士春 | 44 |
4 | 陈友喜 | 15 |
5 | 陈令夏 | 27 |
6 | 夏侯季武 | 2 |
7 | 孙子华 | 56 |
8 | 郑由风 | 52 |
9 | 司徒由霜 | 7 |
10 | 诸葛顺华 | 56 |
11 | 杨师福 | 94 |
12 | 欧阳永雨 | 17 |
13 | 欧阳宗春 | 57 |
14 | 司空汝木 | 37 |
15 | 王宗竹 | 23 |
16 | 沈不霜 | 1 |
17 | 西门世雨 | 11 |
18 | 韩崇风 | 51 |
19 | 蒋崇山 | 21 |
20 | 李伯秋 | 12 |
图3-5 MYSQL成绩录入数据库
3.2.6查询成绩系统
考试结束,参加考试的人都迫不及待想要查询考试成绩。考试签到的时候,记录了所有参与考试的学生姓名,在MYSQL数据库将所有考生成绩录入完毕之后,考生才能查考试成绩,MYSQL数据库写入的时候,考生是无法查询成绩的,数据没写完就无法查询。
可以查询成绩的时候会通知考生,开放成绩查询通知管道,考生抢到读数据库的锁,如果想查到多个数据(id、name、score)都查询出来,需要定义一个结构体,然后把他们对应的字段,为防止重名的情况发生,所以用一个切片进行接受,查询的时候如果有错误,就来处理错误,提示在查询成绩的时候发生错误。没有错误就打印查询结果,查看自己的成绩。
查成绩应该查数据库,任何时间都能查的,里面的数据是持久化的。
成绩录入之后通知考生查询成绩信息,考试可以通过平台查询自己的成绩。成绩查询流程图如图3-6所示。
添加图片注释,不超过 140 字(可选)
图3-6 成绩查询流程图
考生首次查询MYSQL数据库查询成绩如图3-6-1所示:
Mysql成绩: 李师寿 : 42 |
---|
Mysql成绩: 沈师华 : 2 |
Mysql成绩: 欧阳宗禄 : 54 |
Mysql成绩: 李良华 : 59 |
Mysql成绩: 东门由田 : 76 |
Mysql成绩: 赵良文 : 96 |
Mysql成绩: 夏侯师秋 : 46 |
Mysql成绩: 夏侯仲土 : 43 |
Mysql成绩: 东门善喜 : 41 |
Mysql成绩: 诸葛良华 : 42 |
Mysql成绩: 张仲喜 : 69 |
Mysql成绩: 张由竹 : 72 |
Mysql成绩: 张仲禄 : 48 |
Mysql成绩: 张汝土 : 98 |
Mysql成绩: 上官顺冬 : 67 |
Mysql成绩: 西门宜寿 : 2 |
Mysql成绩: 陈世山 : 83 |
Mysql成绩: 孙良山 : 30 |
Mysql成绩: 司徒德竹 : 13 |
图3-6-1 MYSQL数据库查询成绩
3.2.7 REDIS缓存系统
考生第一次查询成绩的时候从核心数据库MYSQL当中读取考试成绩,然后考生成绩就缓存在REDIS里面了,当考生再次来查考试成绩的时候,就读取全部优先读取REDIS缓存里面将成绩返还给考生,如果没有查询到成绩,就去查询MYSQL数据库,将数据录入REDIS数据库。
考生查询考试成绩如图3-7所示:
Redis成绩: 杨崇冬 : 2 |
---|
Redis成绩: 西门士武 : 45 |
Redis成绩: 孙伯寿 : 58 |
Redis成绩: 冯允木 : 66 |
Redis成绩: 蒋由雨 : 98 |
Redis成绩: 上官允秋 : 55 |
Redis成绩: 欧阳宗武 : 1 |
Redis成绩: 卫季武 : 100 |
Redis成绩: 冯希米 : 11 |
Redis成绩: 王由米 : 23 |
Redis成绩: 沈季木 : 21 |
Redis成绩: 陈孟武 : 70 |
Redis成绩: 李允才 : 45 |
Redis成绩: 沈守山 : 3 |
Redis成绩: 司徒惟石 : 43 |
Redis成绩: 孙汝寿 : 12 |
Redis成绩: 卫令春 : 92 |
Redis成绩: 郑德风 : 73 |
Redis成绩: 张仲喜 : 69 |
Redis成绩: 东门由田 : 76 |
图3-7 REDIS数据库查询成绩
3.3 系统非功能需求分析
系统的效率指的是系统的响应速度,通常来说系统的响应时间需要在三秒内。系统的实用性是指的用户的操作比较的简便,符合用户的操作习惯,可维护性指的是在系统运行中若发生了异常的情况,要能够及时的排查及解决将系统的影响降到最低。系统的安全性指的是系统对于数据的安全以及用户的身份验证都有良好的限制,系统的可测试性指的是系统要能够被简单的测试系统的可扩展性是指的,当业务不断的发生变化时,系统要有良好的可扩展性来适应新增的业务需求。
系统的易操作性,当前的用户操作水平参差不齐,因此需要将系统的可操作性,尽可能的做到最简单,系统的界面要尽可能的简洁合理,用户要能够轻易的发现系统的操作。系统在运行过程当中受到了软硬件的要求限制,为了推广系统的运营系统,在支持更多的业务情况下,需要能够做到可扩展性,便于灵活的设计。安全性是各个系统最关注的焦点,我国的司法系统以及公安部门对于系统平台的安全性要求,都提出了一定的规范,从软件的方面考虑,需要通过良好的安全框架责任机制来约束用户的使用,确保系统的数据安全。
4 驾照考试系统设计
4.1 系统设计原则
系统的设计需要遵循一定的原则,首先需要遵循的是分层的原则,本系统通过管道并发模式进行开发,层与层之间相互独立偶合性降低,开发人员只需要专注自己的业务逻辑即可。系统的封装性是降低了服务人员的使用门槛,能够在短时间内进行业务的开发。模式设计的原则就是通过研究讨论之后,进行产品设计,并根据业务来扩展系统提升系统的可用性,系统的安全性原则是需要系统在数据方面做到一致性数据的保存和读取,系统在正常启动之后,需要确保系统数据的正常访问安全可靠性是指的系统在设计时需要兼顾系统的安全性,确保数据和用户的安全性,系统的经济性原则是系统的输入与产出需要达到一定的比例,在最小的投入情况下产出最高的经济效益。
系统的可行性指的是系统在满足适应性的同时需要满足可行性,确保用户的需求得到满足,当系统升级时,需要能够系统在功能上进行不断的扩展,以适应用户的不同需求,因此在系统的架构设计上需要考虑可扩展性以及适应性,在未来业务不断增长的同时需要很好的扩展。
系统的前瞻性和实用性指的是在满足用户的需求时,需要考虑系统的可扩展性,随着业务的不断扩展,能够在系统的各个方面得到扩展。
这种的先进性和成熟性指的是系统需要通过管理水平的提升来促进系统的优化,通过存储的软件和管理方式,借助软件工具结合硬件水平的提升,开发出系统良好的系统。
系统的开放性指的是系统从不同的角度,来满足系统的开放性,从底层协议来说需要支持不同的协议,业务之间的互通需要采用主流的通信协议来确保数据传输的机制性以及达到系统的信息共享。
系统的可靠性和稳定性指的是系统不因外部的事件导致系统的不稳定性,当系统出现异常之后,需要能够在短时间内得到排查及解决,确保系统数据的稳定。系统的稳定性指的是系统在可用效率上达到99%以上。
系统的安全性和机密性合理设计,同时要充分考虑到资源,有必要保护安全信息。该系统根据应用采取不同的安全预防措施和控制措施,对系统的数据安全以及保密性进行限制,防止内外部人员窃取信息造成信息泄露。
系统的美观性指的是系统的界面,需要做到美观大方,界面良好的效果可以提升用户的体验感,灵活性较强,可以随意的更改用户的界面。
系统的兼容性指的是需要考虑到系统在实施过程中兼顾到不同的应用端,对于客户端来说需要做到能够兼容针对主流的操作系统经营兼容以及浏览器的兼容。
4.2 系统架构设计
数据层是对数据进行存储,确保数据的安全性,数据安全以及备份是数据库的重要方面,也是数据库的优劣标志。系统架构如图4-1所示。
添加图片注释,不超过 140 字(可选)
图4-1 系统架构图
4.3 系统功能模块设计
在本系统中通过基于管道并发进行系统的设计与实现,用户通过互联网访问本系统,当用户发起请求时,前端控制器将用户的请求发送至服务端,通过对应的业务逻辑进行处理之后,将数据交互的数据提取出返回到用户面前展示。针对本系统来说,对于硬件配置的要求不高,在系统中对用户的权限进行控制,就可以操作本系统的功能,系统的功能模块结构如图4-2所示。
添加图片注释,不超过 140 字(可选)
图4-2 驾考系统的结构图
4.4 MYSQL数据库设计
4.4.1 mysql数据库需求分析
在了解详细设计的系统业务之后,对数据库进行设计,在数据库的设计当中需要注重数据的安全性,当用户有非法输入时,需要给出安全提示,数据库的设计对于系统的设计实现具有重要的决定,影响系统对于用户的权限需要进行严格的控制,当用户通过系统界面进行查询操作之后系统对用户的姓名进行搜索,通过查找之后才能查出考试成绩,数据库首先需要做到容错机制,当用户有非法输入时,需要针对数据的安全性进行一些提示。本系统基于互联网模式开发,容易受到外界的攻击,因此在服务器的安全性上需要重点考虑,当出现异常时,需要能够及时的排查并解决。主要是对于故障的处理系统需要确保稳定的运行,并将出现故障的概率降到最低,一旦出现故障之后需要在短时间之内进行排查并解决恢复应用。
本系统通过mysql进行数据的存储,在确保数据安全性同时需要在一性能方面体现一定的优势,mysql增加了很多的特性,作为数据存储之一是可靠的数据库,在设计的过程当中需要确保数据的安全性,本系统在数据安全方面是通过安全框架来进行系统的安全维护。通过redis进行数据的二级缓存,考生先从cache取数据,MySQL被用作主要存储,第二数据库Redis被用于缓存以加快访问速度。在需要高性能使用Redis,反之MySQL。
4.4.2 数据库概念结构设计
概念结构设计模型主要有三种设计方式,在设计的过程中,自顶向上的设计方法是最主要的应用手段,从宏观的方面逐步的细化,客户的需求也是自己向上的逐步实现,在这个概念的结构过程中,通过这种设计理念,设计出E-R图模型。合理的数据库模型设计会减少访问的时间。系统E-R图如图4-3所示。
添加图片注释,不超过 140 字(可选)
图4-3 系统E-R图
在驾照考试管理系统运营期间,驾照考试管理系统将继续增加。当系统数据达到一定水平时,系统的响应速度将越来越慢。维护将成为系统的性能瓶颈。在这种情况下,有必要处理数据库的优化。它包括以下部分。首先是数据备份。数据首先存储在MYSQL数据库里,数据读取之后缓存入REDIS数据库,内存数据库读写速度快,还可以做持久化。当数据库异常时,可以将一台数据库中的数据复制到另一台服务器,以便在发生异常时可以使用它。第二是定期更改密码。降低黑客攻击效率并提高系统安全性。系统在设计系统时需要描述数据的格式。该系统的数据格式更加复杂。在数据处理过程中,系统的业务量很大,业务复杂,数据量将越来越大。因此,数据库的优化成为关键问题。
5 系统实现
在REDIS平台中,输入用户姓名可以查询考生的成绩,如图5-1所示:
添加图片注释,不超过 140 字(可选)
图5-1成绩查询界面
驾考系统成绩查询结果界面如图5-2所示:
添加图片注释,不超过 140 字(可选)
图5-2驾考系统程序查询redis成绩
在MYSQL数据库表中显示的考生成绩数据表如图5-3所示:
添加图片注释,不超过 140 字(可选)
图5-3 数据库表中显示的考生成绩数据
驾考系统成绩查询结果界面如图5-4所示:
添加图片注释,不超过 140 字(可选)
图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].