基于三层架构的体育竞赛信息发布系统设计❋

2016-02-05 10:03:15王灵利张雪云
微处理机 2016年6期
关键词:通信协议报表竞赛

王灵利,牟 艳,童 年,张雪云

(河海大学物联网工程学院,常州213022)

基于三层架构的体育竞赛信息发布系统设计❋

王灵利,牟 艳,童 年,张雪云

(河海大学物联网工程学院,常州213022)

随着综合性运动会办赛水平的提高,对各单项竞赛信息发布系统的设计要求也越来越高。针对各竞赛项目在信息发布中存在的格式不统一、信息发布软件不兼容、开发工作重复等问题,设计并开发了体育竞赛信息通用发布系统,通过简单移植即可完成对各单项竞赛信息发布系统的设计。系统基于三层架构、运用.net技术开发,该系统保持之前的竞赛单项信息发布系统的框架不变,只依据各个竞赛项目信息发布特点,对信息发布系统需要变化的模块做出相应的配置,即可实现不同竞赛项目的信息统一发布需求。系统已成功运用于2015年第三届全国智力运动会和第九届全国残疾人运动会的竞赛信息发布,结果表明该系统完全能够满足综合性运动会不同竞赛项目信息统一发布的需要。

三层架构;体育竞赛信息发布;通用性;可移植性;低耦合性;通信协议;竞赛项目协议

1 引 言

随着各种体育赛事的蓬勃发展,赛事信息发布在体育赛事中的作用日趋重要[1]。以往每届运动会的单项比赛都需要开发自己独立的单项信息发布子系统。目前国内的各个体育竞赛项目由不同的信息技术团队负责,每个技术团队都独立开发自己的单项信息处理系统,不同的信息处理系统提供的竞赛数据的格式以及提供途径各不相同,但都需要为信息发布系统提供统一规范的数据和报表。面对这样的情况找出一个针对解决所有竞赛项目信息发布问题的通用发布系统成为必要。为此,设计开发了基于三层架构的体育竞赛信息通用发布系统,系统采用.Net技术开发。该通用发布系统能在不同的单项信息发布子系统间起到桥梁作用,实现各项目竞赛信息的统一发布。该系统可以提高代码的复用率,节省人力和开发时间,降低开发难度,开发者只需进行简单的配置就可以实现各单项竞赛信息发布子系统的开发。目前综合型运动会各项目之间存在竞赛信息及成绩等数据格式不统一,开发方式不统一等问题,如何及时将格式各异的成绩数据统一发布是竞赛信息成绩系统开发中的重点和难点。软件设计中运用了三层架构,将设计层和应用层分离,提高了系统应用的通用性和灵活性,降低了耦合,实现了综合型运动会竞赛单项信息发布子系统的通用开发,并在2015年第三届全国智力运动会和第九届全国残疾人运动会成功应用。

2 体育竞赛信息通用发布系统功能与工作流程

2.1 系统功能

当今的综合性运动会信息系统均采用通信协议和公共代码作为系统的底层支撑,规范所有竞赛项目的数据标准。在此基础上,体育竞赛信息通用发布系统为各单项信息发布系统提供一个开发框架,通过移植,可完成同一赛会不同单项的竞赛信息发布系统开发。体育竞赛成绩通用发布系统具体需要实现的功能如下:

(1)底层数据定制:将公共代码和通信协议在数据库中存储为通用发布系统设计做底层支撑;

(2)配置关联:配置通信协议和竞赛项目的关联以及通信协议和数据库字段的关联;

(3)设计报表模板:设计赛会的通用报表模板;

(4)配置竞赛项目和信息发布模板(报表模板、XML模板等)的关联;

(5)竞赛成绩录入:手动录入和批量导入;

(6)信息同步:比赛信息发生变化时从综合系统(管理赛会所有竞赛单项信息的系统)同步比赛信息;

(7)文件导出:跟随比赛进程,自动导出XML文件和报表文件,用于传送比赛实时成绩和阶段成绩。

(8)文件上传:将报表和XML文件上传到综合成绩发布系统。系统功能模块如图1所示。

图1 体育竞赛信息通用发布系统功能图

2.2 工作流程

该通用发布系统可以分为两个阶段,赛前设计阶段和比赛阶段。

比赛前设计阶段:针对竞赛项目制定通信协议和公共代码,规范竞赛项目的所有数据。在赛时数据库中设置存储单元,然后配置通信协议和竞赛项目的关联、竞赛协议和数据库字段的关联、竞赛项目和模板(报表模板和XML模板)的关联。然后进行报表模板的设计,并对报表模板和XML模板进行管理。

比赛阶段:从综合系统更新比赛信息(如表头信息字段Game Info、Protacol Main和项目比赛阶段秩序单、成绩公告信息等)进行信息同步。当获取单项成绩数据后可以手动录入或者批量导入单项成绩数据。然后生成XML文件和报表文件并根据自动导出机制导出文件并上传。

3 基于三层架构的体育竞赛信息通用发布系统设计

3.1 设计思想和设计目标

为满足不同的单项信息发布系统统一发布竞赛信息的需求,降低开发难度、节省开发时间、减少操作复杂度,该系统设计在结构上采用三层架构。针对所需实现的功能将系统分为底层、中间层、应用接口层。底层完成通信协议和公共代码的定制,用于规范所有竞赛项目的数据标准,在同一个赛会中通信协议和公共代码是比较稳定的,通常只需制定一次,各单项信息发布移植中不需做特别处理。中间层主要实现针对某一赛会的通用功能,如报表模板设计、配置关联和数据同步等,各单项信息发布移植中只需根据项目情况做相应配置。应用接口层则实现竞赛数据的输入与文件的自动生成导出功能,这与不同单项的具体情况紧密相关,需要分别处理。三层结构将竞赛信息发布中稳定的、需配置和分别处理的功能分离,提高了系统的通用性、灵活性和可移植性,实现低耦合[2]。

该通用发布系统作为各个项目统一信息发布的枢纽,不仅要方便竞赛单项研发人员二次开发,还要方便竞赛单项的现场工作人员完成单项信息处理系统与信息发布系统的实时对接。

3.2 整体结构设计

该通用发布系统设计分为三层结构,如图2所示。其中公共代码(各竞赛项目的数据字典)和通信协议作为系统底层支撑,规范所有竞赛项目的数据标准;中间层就是核心服务层,存储赛时数据以及在比赛前通过配置机制[3]关联实现系统各部分的耦合并进行XML模板和报表模板设计;最上层为应用接口软件层,在体育比赛开始时与综合系统同步比赛信息,快速获得单项成绩数据并自动提取报表模板和XML模板实现生成实例成绩数据协议及报表,该层根据中间层的配置自动实现,当面对不同的竞赛项目时该部分不需要修改。

图2 体育竞赛信息通用发布系统结构图

该系统中,底层和中间层都是比赛开始前的准备阶段,需要进行调整和配置,应用接口层在比赛阶段直接使用即可。体育竞赛信息通用发布系统流程如图3示。

图3 体育竞赛信息通用发布系统流程图

3.3 底层模块设计

底层中公共代码和通信协议是系统的基础部分,为系统规范所有竞赛项目。通信协议是双方实体完成通信或服务所必须遵循的规则和约定。公共代码和通信协议通过在数据库中设置通信协议存储单元实现与数据库的匹配。通过配置方式将通信协议与竞赛项目建立联系,通信协议和数据库字段也通过配置产生关联,这样数据库作为中间桥梁就将系统底层和中间层建立联系,进而为比赛数据提供支撑。公共代码即为竞赛项目中各个竞赛小项的code,也是为比赛数据提供支撑的,通过编码实现与比赛信息的对应。例如图5中象棋比赛中的青年男子个人项目的小项代码即为CCM103,CC是象棋的大项代码,M表示性别为男,1表示男子个人,03为编号。

3.4 中间层模块设计

中间层要完成配置、数据同步和模板设计功能。该层对竞赛信息发布系统的框架不变,只是相应的根据各单项信息特点针对公共代码、通信协议、XML模板、报表模块做出相应的修改即可实现软件的通用。因此该通用发布系统的核心部分包括比赛前的配置模块、报表设计同步模块、报表生成、实时成绩生成功能。

(1)数据定制

数据库设置完成通信协议与数据库中存储单元的对应,以手动设置方式进行,数据库中协议存储单元可以灵活命名。二者是松散对应的关系(采用配置方式进行耦合),遵循“高内聚低耦合”的设计准则[4]。若通信协议与数据库中协议存储单元是严格意义的对应,则数据库中一张表只能对应一个通信协议,这样会产生两点弊端。其一,当通信协议很多的时候就需要在数据库中对应的建很多数量的表,这样在比赛批量使用的时候会造成不便;其二,当通信协议发生变化的时候其在数据库中对应的表都要做出改变,这样开发工作不灵活、效率很低。如果当表建好后对数据库表与通信协议做出松散匹配,即同一个表在不同的通信协议中可以表示多种不同的含义,数据库中的表和通信协议采用配置方式来进行数据对应,这样即可实现通用性。例如智运会比赛中的象棋和国际象棋在数据库中的存储单元就相近,都有竞赛轮次、号码、单位名称、运动员姓名、成绩等数据,但是国际象棋中有象棋中没有的积分数据,因此两个项目可以共用一个数据库表,只是这个数据库表要包含两个项目的所有数据。

赛前准备阶段还包括在应用接口软件中的一些配置。在应用接口软件中列出协议清单(维护内容)后设置竞赛项目与其相关的通信协议,通过配置方式与数据库产生联系。竞赛项目与通信协议、通信协议与数据库字段、竞赛项目和报表模板之间都是通过配置方式实现低耦合。

(2)配置关联

该模块包括竞赛项目和通信协议的配置、通信协议和数据库的配置、项目和报表模板的配置。配置过程中采用手动配置方式,实现系统的动态修改调整。当在数据库中设置好通信协议表中的数据后,进行手动配置方式将通信协议数据和数据库字段进行关联。竞赛项目和通信协议之间在应用接口软件中进行配置,在赛事协议清单和设置项目协议中将竞赛项目名称和总协议、协议代码与数据表之间设置关联。在设置协议数据中设置竞赛项目中需要显示的通信协议数据及显示名称、显示顺序等信息。在数据库中可建立通信协议与数据库数据间之间的联系。在报表管理中建立竞赛项目和报表模板之间的关系。第三届全国智力运动会象棋项目的项目协议配置图如图4所示。可在报表管理中设置报表编码、报表名称、存盘文件名、协议代码信息。

图4 第三届全国智力运动会象棋项目的项目协议配置图

(3)报表模板设计

中间层中设计的报表模板是赛会通用的,如各种类型的秩序单和成绩公告等,通常设置报表结构、比赛logo、吉祥物图片等信息,然后设置各个数据的属性,方便在页面中设计并修改模板。当更换竞赛项目或者同一竞赛项目信息发生变化时直接在报表模板中重新添加或者删除相应信息即可。在具体应用中开发人员进入设计模板页面,从数据库中取出数据,如表头信息数据、项目信息和项目的比赛阶段秩序单、成绩公告信息并为数据添加相应的属性,操作简单易行。

(4)信息同步

当综合系统中的赛事信息发生变化时,系统通过配置参数Data Source(数据源)、Initial Catalog(数据源名称)、User ID(用户名)、Password(密码)等信息与综合系统进行实时对接同步更新。

3.5 应用接口层模块设计

在该阶段首先要与综合系统同步比赛信息,赛事将成绩数据批量导入或者手动录入系统,然后实现文件的自动导出功能。

(1)成绩录入模块

手动录入:从现场获取的单项竞赛数据可能是EXCEL格式或者是WORD格式也可以是XML格式的。当单项比赛节奏不是很快的时候可以采用手动录入从竞赛现场获取的数据,应用接口软件生成XML文件和报表文件并根据自动导出机制导出文件。

批量导入:当竞赛单项比赛进程比较快时,可以使用从竞赛现场获取的XML格式的数据,赛时数据库根据XML文件中的数据节点提取数据并保存,再自动生成不同格式的报表文件。

(2)自动导出模块

自动导出文件有多种类型:XML实时成绩文件、PDF和WORD报表文件等。以XML实时成绩文件为例:当协议与比赛信息配置好,协议与对应数据也配置好后,根据协议对应的数据定义名称,在配置表中取出配置协议数据列表(比如报表日期Message Date、时间Time、运动员姓名AthleteName_A、赛组Row Table、成绩Score_A等信息),系统构造数据库查询语句并提取数据,最后实现文件的自动导出。

PDF和WORD报表文件自动生成:①根据配置表得到模板名称;②从磁盘加载模板到报表生成器;③把竞赛的实际成绩数据注册给生成器;④报表生成器编译模板生成实例报表进行打印、预览、导出;⑤使用自动导出机制根据类型导出PDF或者WORD文件和XML文件生成。

XML文件自动生成:①从配置表中取出协议的配置列;②构造并提取协议数据的查询语句;③获得协议数据;④自动生成XML文件。

当竞赛项目需求发生变化时,只需改变需要变化的模块即可,不会对系统结构产生大的影响。更换比赛项目时需要维护的部分就是通信协议和模板设计以及公共代码部分,而程序模块不需要改变,且需要变化的部分只需要通过配置方式建立起使用方式,从而实现信息发布系统的通用性。

4 应用与实施

通用发布系统将竞赛信息发布系统分为固定模块和可配置模块,当竞赛需求发生变化时开发人员只需要针对需要配置的模块进行相应的开发即可。2015年,第三届全国智力运动会在山东枣庄举行,赛会共设11个项目,分别由不同的单位开发,各单项均使用体育竞赛信息通用发布系统,完成了不同单项信息的统一发布。该设计系统操作简单,运行稳定,实现了竞赛信息发布及时高效的要求。图5为山东枣庄第三届全国智力运动会象棋成绩发布系统软件主界面图。

图5 山东枣庄第三届全国智力运动会象棋成绩发布系统软件主界面

该通用发布系统还成功应用于第九届全国残疾人运动会和第十三届全国冬季运动会,达到了为不同单项信息发布系统统一发布竞赛信息的目的。

5 结束语

针对综合性运动会竞赛信息发布面临的问题,开发了竞赛信息通用发布系统。经过简单移植即可满足不同单项信息统一发布的需求,降低了开发难度、节省开发时间、减少操作的复杂度。设计中采用三层架构,提高了系统的通用性和可移植性。经多个国内大型体育赛会的使用,表明该方案完全能够满足竞赛信息发布的要求。

[1] 赵黎.体育信息技术应用与发展[J].北京体育大学学报,2008(2):145-147. ZHAO Li.Sports Information Technology and Development[J].Journal of Beijing University of Physical Education,2008(2):145-147.

[2] 汤永华.基于三层架构的图纸分发管理系统的开发[J].梅山科技,2009(6):18-23. TANG Yong-hua.Development of Drawing Distributing Management System Based on Three-layer Architecture Structure[J].Baosteel Meishan,2009(6):18-23.

[3] 文家焱,施平安,著.数据库系统原理与应用[M].北京:冶金工业出版社,2002. WEN Jia-yan,SHI Ping-an.Database System Principles and Applications[M].BeiJing:Metallurgical Industry Press,2002.

[4] 殷泰晖.C#编程从基础到实践[M].北京:电子工业出版社,2007. YIN Tai-hui.C#Programming from Basic to Practice[M].BeiJing:Publishing House of Electronics Industry,2007.

[5] 刘丹妮.ASP.NET2.0(C#)大学实用教程[M].北京:电子工业出版社,2009. LIU Dan-ni.ASP.NET2.0(C#)University Practical Course[M].BeiJing:Publishing House of Electronics Industry,2009.

[6] 李红芹.基于三层架构的.NET数据库业务系统开发[J].计算机与现代化,2009(10):120-125. Li Hongqin.Development of.NET Database System Based on 3-tier Application[J].Computer and Modernization,2009(10):120-125.

[7] 高扬.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011(2):77-80,85. GAO Yang.Design and Realization of Three Lavers Structure Software Framework Based on.NET[J].Computer Technology and Development,2011(2):77-80,85.

[8] 陆丽丹.三层架构应用实例研究[J].中国管理信息化,2009(7):25-26. LU Li-dan.The Research on Tri-Tiered Construction and an Example of Its Application[J].Chinese Information Management,2009(7):25-26.

Design of Sports Com petition Information Release System Based on Three Layer Architecture

Wang Lingli,Mu Yan,Tong Nian,Zhang Xueyun
(College of Internet of Things Engineering,Hohai University,Changzhou 213022,China)

With the improvementof the level for the comprehensive games hosting,the high demand is required for the design of Individual Sports competition subsystem.As for the information release system of different competition projects,there are big problems such as non-uniform format,non-compatibility of software and duplication of effort.In this paper,we developed a common distribution system and completed design of the individual race information release system through a simple portability.Based on three layer architecture,the system using.net technology and it does not change the information release system,the appropriate configuration based on the characteristics of each Contest information release system needs to be changed to achieve unified release needs for different Contest.The system has been successfully applied in the Third National Mind Sports Games in 2015 and the Ninth National Games for the Disabled and is fully able to meet the needs of information unified release for different sports competitions information release.

Three layer architecture;Information release of sports competition;Versatility;Portability;Low coupling;Communication protocol;Competition project protocol

10.3969/j.issn.1002-2279.2016.06.020

TP31

A

1002-2279(2016)06-0079-06

国家体育总局体育信息中心委托项目—2015年第三届全国智力运动会信息发布系统

王灵利(1990-),女,安徽省六安市人,硕士研究生,主研方向:智能信息处理理论与技术。

2016-03-07

猜你喜欢
通信协议报表竞赛
2020丝绸之路数学竞赛
中等数学(2022年3期)2022-06-05 07:50:56
LabWindows/CVI中Excel报表技术研究
测控技术(2018年8期)2018-11-25 07:42:28
基于Z-Stack通信协议栈的红外地温采集电路设计
我看竞赛
从三大报表读懂养猪人的成绩单
创新思维竞赛(3)
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
电测与仪表(2016年2期)2016-04-12 00:24:52
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介
月度报表
中国纺织(2009年7期)2009-08-07 06:56:16