球类竞赛成绩监控系统通用平台设计*

2013-06-13 11:32林智明赵衎衎刘小明
微处理机 2013年1期
关键词:球类子系统信息系统

王 超,顾 刚,林智明,赵衎衎,刘小明,牟 艳

(河海大学计算机与信息学院,常州213022)

1 引言

球类竞赛赛事中,需要及时进行竞赛编排、实时反映比分变化、跟随竞赛进程进行技术统计,并将这些竞赛信息展示给观众。而这些竞赛信息如何进行采集、传输、处理、监控和展示,是球类竞赛监控系统要解决的问题。

虽然球类竞赛赛事各不相同,但同属于对抗类项目,对于竞赛信息采集和监控的解决方案有着诸多共同点。基于这样的考虑,开发出一款球类竞赛成绩监控系统的通用平台,再针对不同项目的具体竞赛业务进行移植,不仅能够满足球类竞赛赛事中各个方面的需求,还能够有效地提高开发效率和软件产品质量,提高软件的复用性,加强软件项目管理。

笔者参与设计与开发的基于局域网的球类竞赛成绩监控系统通用平台,运用分层结构模式和软件工厂的思想进行设计和开发,很好的满足了球类竞赛赛事的需求,具有较高的复用性和可移植性[1]。

2 球类竞赛成绩监控系统概述

球类竞赛信息系统是为球类竞赛赛事服务的系统,主要完成球类竞赛赛事中信息数据的管理、传输、监控、处理、显示等。球类竞赛信息系统分为多个子系统:球类竞赛成绩监控系统、报表打印系统、评论员系统、电视字幕系统和网上信息发布系统等。

球类竞赛成绩监控系统处于球类竞赛信息系统的最前端,在比赛过程中,通过电子设备对比赛过程中的竞赛信息(比分、技术统计等)进行采集,并将采集到的竞赛信息进行传输、处理、监控和展示。电视字幕系统TVG、评论员系统CIS、打印分发系统PRDS都将从球类竞赛信息系统中获取竞赛信息,保证自身系统在比赛过程中运行良好[2]。

球类竞赛成绩监控系统分为竞赛信息采集、竞赛信息监控、竞赛信息传输、竞赛信息处理、竞赛信息显示几大部分,如图1所示。

图1 球类竞赛成绩监控系统架构图

球类竞赛成绩监控系统通用平台并不针对某一特定球类竞赛的开发,而是根据球类竞赛特点设计开发球类竞赛成绩监控系统的通用框架,并完成通用部分,在此基础上,根据不同球类项目的需求以接口的形式提供服务,最大限度的实现软件复用。

3 球类竞赛成绩监控系统工作流程与工作原理

球类竞赛成绩监控系统主要完成的工作有:竞赛信息的采集、竞赛信息的监控、竞赛信息的传输、竞赛信息的处理和竞赛信息显示。系统工作原理可从这几个方面进行一一阐述。系统的工作流程如图2所示。

图2 球类竞赛成绩监控系统的工作流程图

3.1 竞赛信息的采集

球类竞赛项目是一类以对阵双方的胜负关系决定比赛结果的项目,其竞赛成绩信息主要为裁判根据场上对阵双方的胜负关系来记录比分及相关技术统计数据。在比赛过程中,当裁判对比赛进行判分或对某一技术统计进行确认后,本系统通过笔记本电脑或台式机,对竞赛信息进行采集录入。该部分完成的功能包括比分记录;比赛相关项记录,如暂停次数、发球权等;比赛技术统计信息记录;数据库连接或更换等[3]。

3.2 竞赛信息系统的监控

竞赛信息系统的监控是指对竞赛信息采集和传输设备的监控以及整个竞赛进行状态的监控。

对于竞赛采集设备的监控,主要关注于网络通信及设备运行状态,前者包括在线状态、数据采集、数据发送和接收成功或失败等,后者包括设备是否出现故障等。而竞赛进行状态的监控,用于监视当前各场地比赛是否按照竞赛编排中规定的顺序进行,以及各比赛所处的状态,如未开始、进行中和已完成等。在系统运行的过程中,一方面解析网络消息中包含的数据与状态信息,并按需要反映在相应的显示界面上以实现实时监测,另一方面在必要时采用相应的控制手段,包括控制命令消息和人为直接干预两种。该部分完成的功能包括监控竞赛信息的传输情况,监控竞赛信息采集是否出错,监控网络状况是否良好,监控数据库连接是否良好。

3.3 竞赛信息的处理

竞赛信息的处理是指在竞赛信息采集和传输后,对竞赛信息进行汇总和进一步处理,如:在一个阶段比赛结束后,统计各队的成绩,进行晋级处理;在全部比赛结束后,根据各队的排名,生成奖牌榜等。该部分完成的功能包括管理场馆场地信息,管理代表团信息,管理运动员及裁判信息,编排比赛,对比赛结果进行处理如比赛晋级、生成奖牌榜,比赛成绩发布等。

3.4 竞赛信息的传输

竞赛信息的传输分为两部分:一是竞赛信息采集后,通过局域网传输到公共数据库进行存储;二是网络消息的传输,在竞赛信息采集后,通过局域网发送网络消息通知监控系统,竞赛信息已采集。该部分完成的功能包括传输已采集的竞赛信息,传输各子系统间的通信数据包。

3.5 竞赛信息的显示

竞赛信息的显示分为两部分,一是在比赛过程中,每个场地实时进行比分采集的显示,二是通过现场大屏幕,同时显示多场地的比赛信息。该部分完成的功能包括选择不同的显示模式,显示比赛信息,显示运动员与裁判信息,显示比赛比分和技术统计信息,显示奖牌榜信息等。

4 设计原则与设计思想

4.1 设计原则

球类竞赛成绩监控系统需要保证竞赛信息采集的稳定性,并且能够将竞赛信息及时传输。作为通用平台,必须保证系统的可移植性和软件复用性,因此,系统开发必须遵循以下原则[4]:

稳定性:系统在运行过程中能够保证竞赛信息采集和传输的稳定。

可靠性:系统在运行时能够保证竞赛信息采集的准确性,传输过程中的完整性。

实时性:系统能够即时的对竞赛信息进行采集,并能够及时地将竞赛信息传输。

灵活性:系统有不同的采集、监控、传输方案可供选择,以更好完成球类赛事的需求。

通用性:系统不仅仅能够完成一种球类赛事需求,还要具有球类赛事通用功能。

可移植性:不同球类竞赛成绩监控系统可以快速的在系统平台上进行移植开发。

4.2 设计思想

球类竞赛中需要及时进行竞赛编排、实时反映比分变化、跟随竞赛进程,实时进行技术统计,随时将这些信息显示在现场电子计分牌和场馆大屏幕上,并传送到需要这些数据的其他相关系统,如场馆成绩处理系统、现场评论员系统、电视字幕系统和信息发布网站等。并将比赛进况和比分信息及时的展示给观众。

为了实现系统的稳定性和可靠性,在选取系统组网模式时,考虑采用有线局域网的方式,并以TCP/IP协议作为通信协议。TCP/IP的三次握手协议可以保证数据在局域网间通信的稳定性和可靠性。

为了实现系统的实时性,本设计采用消息通知模型。当竞赛信息采集到比赛数据,存入到数据库的同时,向相应的子系统发送数据包消息,通知竞赛信息已采集。

为了实现系统的通用性和可移植性,系统设计为一个通用平台。如何将不同球类竞赛成绩监控系统的公用部分进行整合,并为不同需求的部分以接口的方式进行组合,是本系统的设计和开发亟需解决的一个问题。本设计将使用分层模式和工厂方法模式,最大限度的完成系统通用需求。

5 关键技术

5.1 系统结构与组网模式

本系统分为五个模块,竞赛信息采集、竞赛信息监控、竞赛信息处理、竞赛信息传输、竞赛信息显示。其中,竞赛信息采集由裁判记分子系统和技术统计子系统组成,在球类竞赛赛事的最前沿进行信息采集。采集到的竞赛信息都存储到系统公共数据库中。竞赛信息的显示由电子记分牌子系统和现场大屏幕子系统组成,电子记分牌实时显示裁判记分子系统的比分信息,现场大屏幕显示比赛的详细信息和综合信息。系统结构如图3所示。

图3 球类竞赛成绩监控系统结构图

在系统内的各个子系统间,采用有线局域网组网。并采用TCP/IP协议作为通信协议。组网如图4所示。

5.2 消息通知机制

由于球类竞赛赛事的需求,竞赛信息在采集后必须尽快、及时地传送给运动会相关的系统,以便对竞赛信息进行及时汇总和处理,让观众在第一时间了解赛事的状况。为了满足球类竞赛赛事的这些需求,本系统在各个子系统间,采用消息通知模型进行通信。

图4 球类竞赛成绩监控系统组网图

信息系统各子系统的通信是通过发送数据包消息来完成的:

(1)在比赛过程中,竞赛信息采集系统采集竞赛信息,将竞赛信息存入公共数据库中,同时,向监控系统发送数据包消息,通知监控系统竞赛信息已采集;

(2)监控系统接收到数据包消息后,从公共数据库中读取采集到的竞赛信息,进行监控和汇总。同时,向显示系统发送数据包消息,通知竞赛信息已有更新。

(3)显示系统接收到数据包消息后,从公共数据库中读取竞赛信息,更新显示信息。

(5)在一场比赛或一个阶段比赛结束后,监控系统通知处理系统对比赛成绩信息进行处理,生成下一阶段的比赛对阵信息或奖牌榜排名信息。

5.3 分层结构

由于系统是球类竞赛成绩监控系统通用平台,必须最大限度的归结出系统在不同球类间的共性和差异,将共性的部分进行整合,封装成组件;差异的部分以接口的形式向不同球类系统提供衔接,以完成系统的移植开发和软件复用[5]。

系统分为三层结构:数据层、逻辑层和表现层。其中数据层和逻辑层对不同球类系统来说,是共性所在,而差异主要体现在表现层。

(1)数据层

数据层处理与数据库交互的业务。信息系统将使用一个或多个公用数据库,各个子系统都将采集和处理的竞赛信息存储到数据库中,也从数据库中读取子系统需要的竞赛信息。这一层中所完成的业务是所有球类竞赛信息系统所共有的。

(2)逻辑层

逻辑层主要处理三大业务:信息系统各个子系统间的通信业务、基础信息管理业务以及赛事的编排。

各个子系统间的通信业务为比赛过程中,各个子系统之间发送数据包消息进行通信。通信业务对于不同的球类竞赛信息系统来说,大体相同,可以进行模块化。唯一不同的是发送数据包消息的内容不同,因此,将数据包的内容生成数据字典,存入数据库中,在比赛过程中,直接从数据库中读取数据包的内容进行发送。

基础信息的管理业务主要为对运动员、裁判、代表团等信息的管理,其功能主要为对存在数据库中的数据进行查询、添加、删除和修改。

赛事编排业务主要完成对比赛进行编排,生成对阵信息。在进行编排时,需要依照球类项目的规则和赛制进行编排。可以将球类项目的规则和赛制生成数据字典,存入数据库中,可以对其进行编辑,在比赛编排时,信息系统从数据库中读取,进行比赛编排。

(3)表现层

表现层主要为信息系统的界面设计,以完成不同球类不同竞赛信息的采集。不同球类竞赛信息系统在界面上肯定不尽相同,所要采集的竞赛信息也不相同。但可以将界面设计成模板和母版页的形式,不同的球类竞赛信息系统只需设计好子页嵌入到母版页中即可。

5.4 工厂方法模式

对于不同的球类竞赛的竞赛信息采集和监控系统,所需完成的功能在细节上是不尽相同的,这一点在表现层体现的尤为明显。如果每一个球类竞赛信息采集和监控系统都进行单独开发,效率会非常低。本系统是球类竞赛信息采集和监控系统通用平台,必须解决这一难题,而工厂方法模式为解决这一难题提供了思路和途径。

工厂方法模式提供了一种巧妙的解决方法:工厂方法模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。

具体到球类竞赛信息采集和监控系统通用平台上来说,以球类竞赛信息采集子系统的界面设计为例,不同球类的竞赛信息采集子系统的界面设计肯定不尽相同,但所要完成的功能是相同的,即完成对竞赛信息的采集。不同之处在于竞赛信息采集的规则不同。因此,将竞赛信息采集子系统抽象为一个工厂,完成对竞赛信息的采集,在具体开发不同球类项目的竞赛信息采集系统时,由具体的工厂类实现工厂的实例。具体示意如图5所示。

6 平台的应用

作为球类竞赛成绩监控系统的应用,开发了篮球竞赛成绩监控系统。篮球竞赛成绩监控系统由篮球竞赛信息采集、篮球竞赛信息监控、篮球竞赛信息处理、篮球竞赛信息传输、篮球竞赛信息显示五个子系统组合。其中的篮球竞赛信息采集子系统包括裁判计时记分模块和技术统计模块;篮球竞赛信息监控子系统包括控制台模块;篮球竞赛信息处理子系统包括成绩处理模块;篮球竞赛信息显示子系统包括PDP屏幕显示模块和现场LED显示模块。其部署图如图6。它不光可以为一场比赛打分,还可以为多场比赛同时打分。

图5 球类竞赛成绩监控系统工厂方法模式的运用

图6 篮球竞赛成绩监控系统部署图

7 结束语

通过对不同球类竞赛信息系统分析获取其共同点,了解其工作原理(流程)、设计思想,从而完成平台的设计与实现。利用软件复用技术和设计模式思想,提高了软件的通用性和复用性,为今后开发特定球类竞赛信息系统平台提供了基础。

[1]Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides.Design Patterns:Elements of Reusable Object- Oriented(设计模式-可复用面向对象软件的基础)[M].北京:机械工业出版社,2009.

[2]Zhu LIJIN.The design of GIS-based information database of sports competition[J].Environmental Science and Information Application Technology,2010(2):715 -718.

[3][美]James R.Groff,Paul N.Weinberg,Andrew J.Oppel,著.SQL完全手册[M].王丽敏,译.北京:电子工业出版社,2010.

[4][美]Terry Winograd,著.软件设计的艺术[M].韩柯,译.北京:机械工业出版社,2005.

[5]Yang Qiuxiang.Application research on software reuse technology[J].2010 3rd International Congress on Image and Signal Processing,2010(8):3712 -3714.

猜你喜欢
球类子系统信息系统
不对中转子系统耦合动力学特性研究
科学运动会:球类篇
企业信息系统安全防护
球类课放松实例
GSM-R基站子系统同步方案研究
驼峰测长设备在线监测子系统的设计与应用
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
基于SG-I6000的信息系统运检自动化诊断实践
车载ATP子系统紧急制动限制速度计算