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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6期2016年12月
微处理机
MICROPROCESSORS
No. 6
Dec. ,2016
基于三层架构的体育竞赛信息发布系统设计$
王灵利,牟艳,童年,张雪云
(河海大学物联网工程学院,常州213〇22)
摘要:随着综合性运动会办赛水平的提高,对各单项竞赛信息发布系统的设计要求也越来越 高。

针对各竞赛项目在信息发布中存在的格式不统一、信息发布软件不兼容、开发工作重复等问 题,设计并开发了体育竞赛信息通用发布系统,通过简单移植即可完成对各单项竞赛信息发布系统 的设计。

系统基于三层架构、运用.n e t技术开发,该系统保持之前的竞赛单项信息发布系统的框架
不变,只依据各个竞赛项目信息发布特点,对信息发布系统需要变化的模块做出相应的配置,即可 实现不同竞赛项目的信息统一发布需求。

系统已成功运用于2015年第三届全国智力运动会和第 九届全国残疾人运动会的竞赛信息发布,结果表明该系统完全能够满足综合性运动会不同竞赛项
目信息统一发布的需要。

关键词:三层架构;体育竞赛信息发布;通用性;可移植性;低耦合性;通信协议;竞赛项目协议DOI:10. 3969/j. issn. 1002 -2279.2016.06.020
中图分类号:TP31 文献标识码:A 文章编号= 1002 -2279 (2016) 06 -0079 -06
Design of Sports Competition Information Release System Based
on Three Layer Architecture
Wang Lingli,Mu Yan,Tong Nian,Zhang Xueyun
{College o f Internet o f Things Engineering ,Hohai University, Changzhou 213Q22, China)
Abstract :With the improvement of 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 -compatibili­ty 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.
Key words:Three layer architecture; Information release of sports competition;Versatility; Portability;Low coupling;Communication protocol;Competition project protocol
i引言
随着各种体育赛事的蓬勃发展,赛事信息发布 在体育赛事中的作用日趋重要[1]。

以往每届运动 会的单项比赛都需要开发自己独立的单项信息发布 *子系统。

目前国内的各个体育竞赛项目由不同的信 息技术团队负责,每个技术团队都独立开发自己的 单项信息处理系统,不同的信息处理系统提供的竞 赛数据的格式以及提供途径各不相同,但都需要为 信息发布系统提供统一规范的数据和报表。

面对这
*基金项目:国家体育总局体育信息中心委托项目一2015年第三届全国智力运动会信息发布系统作者简介:王灵利(1990 -),女,安徽省六安市人,硕士研究生,主研方向:智能信息处理理论与技术。

收稿日期:2016 -03 -07
• 80 •
徽处理机
2016 年
图1体育竞赛信息通用发布系统功能图
2.2工作流程
该通用发布系统可以分为两个阶段,赛前设计阶 段和比赛阶段。

比赛前设计阶段:针对竞赛项目制定通信协议和 公共代码,规范竞赛项目的所有数据。

在赛时数据库 中设置存储单元,然后配置通信协议和竞赛项目的关 联、竞赛协议和数据库字段的关联、竞赛项目和模板 (报表模板和X M L 模板)的关联。

然后进行报表模 板的设计,并对报表模板和X M L 模板进行管理。

比赛阶段:从综合系统更新比赛債息(如表头 信息字.段Game In fo 、Protac.ol M .a iii 和项目比赛阶段 秩序单、成绩公告信息等)进行信息同步。

讀获取 单项成绩数据后可以手动录人或者批量¥人单项成 绩数据。

然后生成X M L 文件和报表文件并根据自 动导出机制导出文件并1:传。

3
基于三层架构的体育竞赛信息通用发布系统设计
3.1
设计思想和设计目标
为满足不同的单项信息发布系统统一发布竞赛
信息的需求7降低开发难度、节省开发时间、减少操 作复杂度,该系统设计在结构上采用三层架构。

针 对所需实现的功能将系统分为底层、中间层、应用接
口层。

底层完成通信协议和公共代码的定制,
用于 规范所有竞赛项肩的数据标准,在_一个赛会中通 信协议和公共代码是比较稳定的,通常只需制定一
次,各单项信息发布移植中不需做特别处理。

中间
层主要实现针对某一赛会的通用功能,如报表模板
设计、配置关联和数据_步等,各单项_息发布移植 中只需根据项目情况做相应配豊t 应用接口层卿实
现竞赛数据的输人与文件的自动生成导出功能,这
与不同单项的具体情况紧密相关*鐘要分别处理。

三层结构将竞赛信息发布中稳定的、需配置和分别 处理的功能分离,提高了系统的通用性、夏活性和可
移植性,实现低耦合
样的情况找出一个针对解决所有竞赛项目信息发布 问题的通用发布系统成为必要。

为此,设计开发了 基|层架构的体育竞赛信息通用发布系统,系统 采用.N e t 技术开发。

该通用发布系统能在不同的 单项信息发布子系统间起到桥梁作用,实现各项目 竞赛信息的统一发布&该系统可以提高代码的复用 率,节省人力和开发时间,降低开发难度,开发者只 需进行简单的配置就可以实现各单项竞赛信息发布 子系统的开发。

目前综合型运动会各项目之间存在 竞赛信息及成绩等数据格式不统一,开发方式不统 一等问题,如何及时将格式各异的成绩数据统一发 布是竞赛債息成绩系统开发中的童点和难点D 软件 设计中运用了 3层架构,将设计层和应用层分离,提 高了系统应用的通用性和灵活性,降低了耦合,实现 了综合型运动会竞赛单项信息发布子系统的通用开 发,并在2〇15年第三届全画智力运动会和第九届全 国残疾人运动会成功座用。

2
体育竞赛信息通用发布系统功能与工作
流程
2.1系统功能
_今的综合性运动会信息系统均采用通信协议
和公共代码作为系统的底层支撑,规范所有竞赛项
I 的数据标准。

在此基础上,体育竞赛信息通用发
布系统为各单项鲁息发布系统提供一个开发框架, 通过移植,可完成同一赛会不同单项的竞赛信息发 布系统开发。

体育竞赛成绩通用发布系统具体需要 实现的功能如下t
(1)
底层数据定制:将公共代码和通信协议在
数据库中存储为通用发布系统设计做底层支撑;
(2) 配置关联:配置通信协议和竞赛项目的关 联以及通信协议和数据率字段的关联;
(3) 设计报表模板:设计赛会的通用报表模板;(4)
配置竟赛项目和信息发布模板(报表模板、 X M L 模板等)的关联;(5) 竞赛成绩录人:羊动录人和批量¥人;
(6) 信息同步:比赛信息发生变化时从综合系 统(管理赛会所有竞赛单项倩息的系统)同步比赛
信息S
(7) 文件导出:跟随比赛进程,自动导出XML 文件和报表文件,用于传送比赛实时成绩和阶段成
绩。

(8)
文件上传:将报表和X M L 文件上传到综合 成绩发布系统。

系统功能模块如图1所亲《
数配模成信文文据置板绩息件件定
关设录同导上制






体育竞赛信息通用发布系统
批量导入手动录入报表模板配置
X M L
模板配置

信协议配置
X M L
文件
报表文件
图2体育竞赛信息通用发布系统结构图
该系统中,底层和中间层都是比赛开始前的准 段直接使用即可8,体育竞赛信息通用发布系统流程备阶段,需要进行调整和配置,应用接口 g 在比凄底层
z \
同步
赛时数据库
(M )实时数据模版
报表数据 模版
比赛信息
1数据 同步
配置
配置
配置
该通用发布系统作为各个项目统一f r 息发布的 枢鈕,不仅要方便竞赛单项研发人员二次开发,还要 方便竞赛单项的现场工作人员完成单项信息处理系 统与信息发布系统的实时对接。

3.2整体结构设计
该通用发布系统设计分为兰层结构,如图2所 示。

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

综合成A 绩发布
"1/系统
公共代码


_
通信协议
应用接口
自动



数据存储
,
1
1获取综合系统
数据1
1
________________!_______________
同步信息|成绩数据录入|生成实A 成绩和] 报表数据文件|自动气出文件|
|文件\传|
图3体育竞赛信息通用发布系统流程图
3.3底层模块设计
代码和通信协议通过在数据库中设置通信协议存储底层中公共代码和通信协议是系统的基础部
单元实现与数据库的匹配。

通过配置方式将通信协分,为系统规范所有竞赛项目。

通信协议是双方实 议与竞赛项目建立联系,通信协议和数据库字段也通 体完成通信或服务所必须遵循的规则和约定。

公共
过配置产生关联,这样数据库作为中间桥梁就将系统
制定通信协议
和公共代码设置存储单元
应用接口软件
^阶
如图3示。

中间层•手动配置—数据库存储数
据字段1 1 1 1 1
1手动配置

1
1
手动配置
应用接口层
连接竞赛项目
设计报表数据
^
1^
管理报表和实模板1 1时数据模板连接数据库字段
连接竞赛项目 '与数据模板场馆
成绩数据
6期王灵利等:基于三层架构的体育竞赛信息发布系统设计
81
综合系统
中间层
赛前设计阶

•82 •微处理机2016 4p:
欣U和中间以建立联系,进而为比赛数据提供支撑。

公共代码即为竞赛项丨-1中齐个盘赛小项的code,也是 为比赛数据提供支撑的,通过编码实观i批赛倍息的 对应。

例如图5中象棋比赛中的青年男子个人项目 的小项代码即为CCM103,CC是象棋的大■代码,M 表示性别为男,1表示男子个人,03为编号。

3.4中间层模块设计
中间以览义成配茂、数据同步和模板设计功能《该层对竞戏[⑴、发布系统的框架不■变,只V f相)、v:的根 据各单项信息特点针对公共代码、通信协议、X M L模 板、报表模块做出相应的修改即吋实观软件的通川。

因此该通用发布系统的核心部分包括比赛前的配置模 块、报為设丨甽步役块、报及生成、实时成绩"丨〔成功能。

(1)数据定制
数据序设冴完成通信协议与数据库中存储单_ 的別应,以T动设置方式进行,数据库中协议存储单 •儿吋以乂活命名。

二v t足松散对应的关系(采用配 置方式进行耦合),遵循“高内聚低耦合”的设计准 则41芯通信协议数圳库中协议存储叭元足严格意义的对戍,则数据库中一张表只能对座一个通 信协议,这样会产生两点弊端。

只:一,3通们协议很 多的时候就诺耍祚数圳痄屮对应的建很多数贷的 农,这样作比赛批量使川的时候会造成+便;其二,_通信协议发屮变化的时候数据作中对应的及都要做出改变,这样汗发.作+义活、效率很低。

如 果,及迚奵丨r]对数据叩A y通彳,71办议做出松散匹 配,即H—个及祚不的旭佶I办议屮可以及示多种 不_的含义,数据库中的表和通倍协议采川配代"
项目协议设音式来进行数据对应,这样即"r丈现通)丨]性。

例如智 运会比赛中的象棋和国际象棋在数据库中的存储单 元就相近,都有竞赛轮次、号码、单位名称、运动员姓 名、成绩等数据,但是国际象棋中有象棋中没有的积 分数据,因此两个项目可以北用一个数据库表,只是 这个数据作表嬰仅斤两个项目的所有数据。

赛前准备阶段还包拈祝应川接11软件屮的一岬 配置。

在应用接口软件中列出协议清单(维护内 界)后设谠竞赛项丨丨相x的通信协议,通过配 置方式与数抛作产生联系-兑赛项目与通信协议、通信协议与数据痄7段、苋赛项目和报表模板之间 都M通过配?_(:方式实现低耦介。

(2)配置关联
该税块包拈竞赛项目和通信协议的配置、通信 协议和数据库的配S、项目和报表模板的配置。

配 a过栉屮采用手动配置//式,实现系统的动态修改 调整。

当在数据作屮设哲:好通(71•办议表中的数据 后,进行手动配置方式将通彳,v丨办议数据和数据库字 段进行关联。

竞赛项目和通信协议之间在应用接口 软件屮进行配豐,寒赛事褂议清攀翁设置鑛目像微 中将竞赛项目名称和总协议、协议代码与数据表之 间设说又联。

/K议?丫:协议数倨屮设汊竞赛项目中_要显示的通信协议数据及显示名称、显示顺序等信 总。

在数据叩中吋述、>:通倍协议与数据库数据间之 _的联系。

丫I•:报々n观屮述、y.竞凝项n和报表模板 之间的义系。

笫丨全国智力运动会象棋项目的项 目修议配量图鲕》4所示v可砟报货Tf理屮设置报 表编码、报表名称、存盘文件名、协议代码信息6
迭择谝码名称总协设数掮表协设代码〇IW R G B02五子棋淘汰赛及附加赛加赛成续公告H02T_M02C75
〇MSG002围棋团体秩序单H03T_W03C51
B M RG002困棋团体成绩公告H03T一M03C73
S MSCHD2国际象棋团体秩序单M03T_W03C51 n IW EC H D2国际象棋团体成绩公告M03T_W03C73□MSDED2国际跳棋琨合团体秩序单H03T_W03C51□MKDED2国际跳祺琨合团体成缋公告H03T_M03C73〇MSG001围棋非团体秩序单H04T_M04C51
□M RG001困祺非团体成续公告M04T_W04CT3
m WSCC01象祺秩序单H04T_W04C51國WECC01象棋成续公告M04T_W04C73 n MSCH01国际象祺个人秩序单M04T_W04C51图4第三届全国智力运动会象棋项目的项自协议節置图
(3)报表模板设计
中间层中设计的报表模板是赛会通用的,如各 种类型的秩序单和成绩公怍等,通常设W:报及结构、比赛1〇职祥物图片等倍息,然in•设置各个数据的属性,方便也处面中设丨h'卜修改役板。

.巧釭换竞赛 项丨:丨或茗H—竞赛项丨丨倍息发小变化吋i t接作报表 模板中重新添加或者删除相应倍总即吋。

花几休应 用f开;发入员进人设计模板页面,
从数据库屮収出
6愈:
王灵利等蒸〒三层架构的体育竞.赛信息发布系统设计• 83 •
数据,如表头信息数据、项目信息和项目的比赛阶段 秩序单、成绩公告信息并为数据添加相应的属性,操 作简单易行
(4)信息两步
当综合系统中的赛事信息发生变化时,系统通 过配置参数Data Sou 稱(数据:濂).、In itia l Catalog .(数 据!1名_).、13嫩_]1)(用户名)、Pa 观ord (密码)等信 息与综合系统进行实时对接同步更新 3.5应用接口层模块设计
在该阶段首先要与综合系统.同步比赛信息,赛 事将成绩数据批量导人或者手动录人系统,然后实 现文件的倉动导出功_。

⑴成績录.人儀块手动录入:从现场获取的单项竞赛数据可能是 EXCEL 格式或者是肌)R D 格式也可以是X M L 格式 的Q 当单项比赛节奏不是很快的时候可以采用手动 录人从竞赛现场获取的数据,座用接H 软件生成XML 文件和报表文件并根据自动导出机制导出文件g
批量导人:当竞赛单项比赛进程比较快时,可以 使用从竞赛现场莸取的X M L 格式的数据,赛时数据 库根琚X M L 文件中的歡据节点_取数据并保存,再 自动生成不同格式的报表文件。

(2).自动导雌块
自动导出文件有多种类型:X M L 实时成.缋文 件、P D F 和W O RD 报表文件等.3以X M L 实时成绩 文件为例:当协议与比赛倩:息配董好,协议与对应数 据也配置好后s 根据协议对应的数据定义名称s 在配 置表中取.出配置协议数据列表.(比如报表日期Mes -
D rte 、时间 Tiup .、运动長姓名 AtbletgMa 师
赛:
组Row Table 、成绩SC 〇re _A 等_息),系统枸造数据 库查询语句并提取数据,最后实现文件的自动导出
P D F 和W ORD 报表文件自动生成:①根据配置 表得到模板名称;@从磁盘加载模板到报表生成器; ③把竞赛的实际成绩数据注册给生成器;④报表生 成器编译模板生成实例报表进行打印、预览、导出; ⑤便用自动导m 机制根据_型导出p d f 或者 W ORD 文件和X M L 文件生成,
X M L ,文件自动生成:①从配置表中取出协议的
配置列;i >构造并提取协议数据的查询语句;③获得 协议数据;■會动生成X M L 文件.^
遵竞赛项自需求发生■变化时,只需改变需荽变 化的模块即可,不会对系统绪构产生大的影响。

更 换比赛项目时需要维护的部、分就是通信协议和模板 设计以及公共代码部分,而程序模块不需要改变,且 需要变化的部分只需要通过配置方式建立起使用方 式,从而实现信息发布系统的通用性《
4
应用与实施
通用发布系统将竞赛信息发布系统分为固定模 块和可配置模块,当竞赛需求发生变化时开发人员 只需要针对需要配置的模块进行相应的开发即可{ 2〇15年,第M S 全圍智力运动会在山东專庄举行, 赛会共设11个项■,分别由不同的单■位开发,各单 项均使用体育竞赛信息通用发布系统,完成了不同 单项信息的统一发布c 该设计系统操作筒单,运行 稳定,实现了竞赛信息发布及时高效.的遷求,.周5 为山东枣庄第彐插全国智力运动会象棋成绩发布系 统软件主界面图。

赛事信f t 从综合更新i S S 运动员摧S 抿项赛事协议清華设置项目协议,设置协议字g 设置子协议字S 振表^
&【G O ]困棋
a [c c ] m
;B ..[C C »001]奄It 女子个人 :®..[C C *〇〇2]会让女子个人快棋 \ [HCCWM 3]菁年好个人 i LHCCT 3M ]眘让女子团漆 ' Et ..[CCB 101] $倾子个人 丨8..ECB 102]会倾子个人快棋 『□ [C C *103]脊年舆f 个人 | | B . [CCB 103001]第1抡
[CCB 1QOT 1. C 51. CHI ]秩席单 丨[C C M 10M 01.C T 3.CHI ]成键公告 :由.[CCB 103C M 2】歡抡 & [CCB 103003]第3轮 田-[CCB 103OM ]策4轮 ®-[CCB 10_ 第规 田' [CCB 103C M 6]第6抡 D , [CCB 103007]第T 轮 &[CCH 103008]©-[CCB 10酬第嫩□ [CCB 103010]□ [CCB 103011]®..[C CB 31«]奋让坦子团体 f r [C C X 301]少年;H 含团沐[_2]大学生湛台团体 D [C C X 303]让余®細体
,s 山_枣_司力运潘会_威绩紫#系鋒软件_
画。

相关文档
最新文档