知识竞赛系统框架设计与功能模块实现
2015-04-11杜达
杜 达
知识竞赛系统是目前大中型企业内部主流的竞赛和培训结合的应用系统,它具有知识性、趣味性和教育性,能很好地实现培训和娱乐功能,故而此类系统受到众多企业的欢迎。传统的知识竞赛系统设计与实现方式主要是基于机械电子式操作的,大量应用机械式控制按键、灯光控制和LED显示等。这类应用系统的造价和维护费用高,且没有很好的灵活性,不便于系统在不同行业、企业广泛应用。另外部分依靠软件的普通知识竞赛系统也具有一定的缺陷,主要表现在:(1)竞赛题目类型固定,不具备可修改和可扩充性,组卷方式单一,且科学依据不足。(2)竞赛软件设计需要专业人员才能够进行安装操作,管理、维护系统比较复杂,用户在不同机器移植竞赛软件,需重新安装设置软件。(3)人为控制竞赛流程容易出错。为此我们开发出通用性强、界面美观、操作方便的新一代知识竞赛管理系统。它为电力系统各单位举办各类竞赛活动提供了坚实的技术手段。
一、平台选择与系统基础架构设计
针对目前应用系统开发和使用的特点,本系统没有选择JAVA相关技术进行开发,而是使用了.NET平台。采用Microsoft最新的开发框架NETFramework 4.0,它是开发应用平台的快速工具。为了保证系统的安全性和使用的区域性特点,系统架构采用CBS架构模式,即客户端(Client)和服务器端(Server)之间部主要是通过中间桥梁层(Bridge)为中介来实现信息的交流和数据的交换。另外数据层根据业务逻辑层与中间桥梁层发生关联。
系统开发中使用了 C#4.0,并结合 WPF、LINQ、WCF 等创建和运行动态、交互的WINDOWS应用程序。相对于目前主流的网络开发平台JAVA而言,.NET平台的C#语言是集众家程序设计语言的优点于一身,具有先进性、安全性。本系统中采用的.NET平台是微软公司力推的主流开发平台,它具有接口规范、类库丰富等特点,是中小型企业级应用的最佳选择。同时该系统最后具有跨平台、跨操作系统应用的通用性。
二、模块设计及功能实现
本系统主体模块可划分为七个模块,具体分析如下。
1.设备管理模块。该模块主要对LED设备、抢答设备进行通讯接口开发、选手坐席编号、通讯参数(如:波特率、端口、地址等)的设定并与竞赛管理系统中的选手进行关联。
抢答控制器按照工业级设计,采用进口优质元器件,先进的单片机控制方式,国内特有的用计算机控制设备的方式,稳定可靠。布线采用先进的星型网络结构,一条线路出问题不会影响到其他线路和选手的使用,如果端口出现问题,则将其他空闲端口分配给损坏的端口使用,如1号端口损坏,用10号空闲端口分配给1号使用,则10号按键后,显示的是1号,以最完备的形式和最快的速度保证现场万无一失。而传统的竞赛设备,一旦设备端口出现问题,就算换一个端口也显示不了损坏端口的号码,只能重新用其他台号。
2.模板管理模块。主要设计为支持个性化的、灵活的试题展示效果特引入模板系统,模板系统以模板引擎为基础,对试题、题型(项目类型)、选题、计时、计分排行榜进行模板设计,在编排竞赛节目时,只需选定每个项目的模板既可。
3.试题管理模块(竞赛项目管理)。支持单选题、多选题、判断题、填空题、问答题、表演题、连线题(可在电脑上直接画线);抢答题、多人同时答题、指定答题、风险题、猜猜看等多种题型;题目格式可以是文本、图片、WORD、EXCEL、PPT、PDF、网页、视频、音频等多种格式。试题可与专业、课程、章节进行关联,以便于竞赛活动编排。本模块提供对试题内容、组织形式的管理、可以通过逐题编辑录入的方式录入试题、批量导入试题及检索试题及修改试题的功能。可以增加新的试题库。
题库中的试题按照类别、专业、知识点、题型、难度五个方面进行划分。题型包括:单选、多选、填空、判断、匹配题、问答、案例分析。难度分为:难、中、易。可以提供各类试题答案,并能在试卷中导出答案。
4.竞赛编排管理。
第一,指定选手答题。由操作员手工定位到某位选手后,此选手答题。定位方法有三种,一是根据排号顺序指定;二是随机抽取一名选手;三是人为指定一位选手。
第二,抢答。题目显示后,选手在自己电脑上按“ENTER”键或“回车键”抢答,也可点击“抢答”按钮抢答。抢答方法有两种,一种为主持人叫“开始”,即抢答;一种为主持人叫“预备”,倒数三秒开始抢答,系统能自动抓住提前抢答选手。
5.竞赛模块。在抢答环节中可以任意设置先抢答再出题或先出题再抢答,还有如果是音乐题,录像题,flash题目时,可以设置抢答即停的模式,就是正在播放的内容,选手随时抢答,播放暂停,回答完后,继续播放直至播放完毕为止,可以使抢答环节多种多样,富有乐趣。
抢答结果在屏幕上显示,不用象传统的知识竞赛抢答器,利用LED显示1-8数字,效果呆板,已经达不到客户的要求,而通过大屏幕显示那个队抢答到,显示队伍的名称(如:显示“1号台 重庆市代表队”,这样既直观,效果又好)。
6.用户管理。用户系统考虑与原培训管理系统接口,各用户单位可自行申请,编排本单位的竞赛活动。可共用培训管理系统权限管理系统,活动编排内容只有本单位的活动管理员及活动主持人才可见,以保证活动的公平、公开、公正。用户身份有六种:管理员、选手、评委、主持人、计分牌、排行榜。不同身份的用户登录后,其界面不一样。
7.抽奖模块。用户在设置了相应的奖品名称和数量之后,就开始抽奖,其中包括随机、转盘、砸金蛋。
三、系统实现中的关键技术
1.独有的竞赛现场断电数据恢复存储技术。竞赛系统采用“摘要+索引”存储结构,存储竞赛现场中实时产生的各种数据,包括选手答题数据,参赛队得分数据,硬件通讯数据等,在发生突发情况,例如断电的情况下,在取得后续电力连接后,可以立即恢复到断电时刻的竞赛环境,达到断点保护的功效,使得系统的实用性有了很大的提高。
2.先进的虚拟化部署技术。虚拟技术可以在同一台计算机上运行多个独立的虚拟操作系统。这种方法能够将物理资源效益最大化,并能够将硬件投资的收益最大化,虚拟技术能够提高服务器使用强度。可以利用这些新的、功能非常强大的硬件在单台服务器上建立更多的逻辑操作系统。这种做法将大幅度地降低硬件采购的费用和维护费用。
该竞赛管理系统立足虚拟化部署,这种虚拟化部署,可以针对不同的外部使用单位,将本系统虚拟为该单位的一个内部应用系统,在用户基础管理、竞赛现场环境管理、竞赛资源使用管理等系统功能的使用上体现该单位特点,为实现共享竞赛资源数据提供基础支撑。针对这一特殊要求,知识竞赛管理系统在使用eBuilder中间件作为基础平台构建的过程中,采用了eBuilder独有的虚拟数据库共享技术。
知识竞赛系统从系统构架、功能模块进行了科学的设计,利用了最新开发平台技术,使系统具有了良好的可扩展性、安全性,同时结合 WPF、LINQ、WCF等技术,使得该系统功能完备,用户接口友善。
[1]惠敏顺,朱国进.基于SOA的分布式程序设计竞赛系统的研究[J].计算机技术与发展,2008,(10).
[2]郭小和,刘斌.基于Web技术的智力竞赛抢答网络系统的设计与实现[J].计算机与现代化,2001,(3).
[3]鲁松.计算机虚拟化技术及应用[M].北京:机械工业出版社,2008.
[4]杜达,向映红.服务器虚拟化技术在在线考试系统中的应用[J].商场现代化,2010,(5).