莊亞軍,王 萍,繆 剛,馬佳艷
(河海大學物聯(lián)網(wǎng)工程學院,常州213022)
基于網(wǎng)絡通信的空手道競賽記分系統(tǒng)設(shè)計?
莊亞軍,王 萍,繆 剛,馬佳艷
(河海大學物聯(lián)網(wǎng)工程學院,常州213022)
根據(jù)空手道競賽信息系統(tǒng)的現(xiàn)狀和要求,提出基于網(wǎng)絡通信的空手道競賽記分系統(tǒng)設(shè)計方案,以替代原來的人工記錄模式。該系統(tǒng)分為記分臺、控制臺、記分牌三個部分。系統(tǒng)采用Delphi7作為開發(fā)環(huán)境完成記分臺和控制臺的軟件設(shè)計;采用軟件三層體系架構(gòu)完成記分牌的軟件設(shè)計;基于網(wǎng)絡通信技術(shù)實現(xiàn)各個子系統(tǒng)之間的通信;使用SQL Server 2008 R2作為后臺支撐數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)存儲讀取;通過XML技術(shù)實現(xiàn)系統(tǒng)間的數(shù)據(jù)交換;最后將處理完的數(shù)據(jù)在記分牌上顯示。該系統(tǒng)已成功應用于2015年全國空手道錦標賽,結(jié)果表明所采用的設(shè)計方案和實現(xiàn)方法可行有效,達到了實時、可靠的要求。
網(wǎng)絡通信;Delphi7;空手道;記分系統(tǒng);三層架構(gòu);數(shù)據(jù)交換
隨著計算機技術(shù)、通信技術(shù)和多媒體技術(shù)的迅猛發(fā)展,大型體育賽事已經(jīng)不再是單一的體育競技,更是信息技術(shù)含量的競技,信息技術(shù)在體育賽事中的作用日趨重要??帐值榔鹪从谌毡疚涞篮土鹎虻奶剖?,分為套路賽(型)和格斗賽(組手)兩種比賽項目。目前空手道競賽在得分記錄方面多采用手動記分方式,由記分員根據(jù)裁判手勢和旗語手動記分。空手道比賽節(jié)奏快,信息量大,手動記分在實時性上不能滿足其要求,因此急需基于網(wǎng)絡通信技術(shù)的空手道記分系統(tǒng)設(shè)計。由于Delphi7是以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,具有配合連接數(shù)據(jù)庫的功能,從而構(gòu)成一個以面向?qū)ο蟪绦蛟O(shè)計為中心的應用程序開發(fā)工具[1],鑒于以上情況,基于Delphi7成功開發(fā)了基于網(wǎng)絡通信的空手道競賽記分系統(tǒng),該系統(tǒng)已成功地在2015年全國空手道錦標賽中運行,滿足了競賽需求[2]。
2.1 記分系統(tǒng)網(wǎng)絡結(jié)構(gòu)
空手道“型”比賽和“組手”比賽都采取多塊場地多個場次的方式同時進行,這要求記分系統(tǒng)既能對比賽的場地場次信息實現(xiàn)管理和控制,又能對各場地比賽分別計時和記分。所以空手道比賽記分系統(tǒng)由三部分組成:記分臺、控制臺、記分牌。記分系統(tǒng)網(wǎng)絡結(jié)構(gòu)圖如圖1所示。
為保證信息在各方之間能夠穩(wěn)定可靠的傳遞,必須設(shè)計合理的網(wǎng)絡架構(gòu)。針對空手道競賽,本課題根據(jù)實際情況和競賽需求設(shè)計了以太網(wǎng)組網(wǎng)方式。
圖1 記分系統(tǒng)網(wǎng)絡結(jié)構(gòu)圖
以太網(wǎng)組網(wǎng)方式以單一有線網(wǎng)絡組建空手道競賽場館網(wǎng)絡,競賽信息系統(tǒng)的各個部分通過一個或多個有線局域網(wǎng)實現(xiàn)網(wǎng)絡信息傳輸和交換。空手道是對抗類項目,要傳輸?shù)臄?shù)據(jù)信息量不大,數(shù)據(jù)類型也不復雜,所以傳統(tǒng)的數(shù)據(jù)采集可以通過計算機手工錄入的方式進行,采集的同時將數(shù)據(jù)存入數(shù)據(jù)庫中,各部分通過有線局域網(wǎng)訪問數(shù)據(jù)庫獲取比賽數(shù)據(jù)。
2.2 記分系統(tǒng)通訊流程
記分系統(tǒng)的工作過程包括記分臺與控制臺、場地記分牌信息顯示播放端的有線以太網(wǎng)通信,控制臺與成績處理系統(tǒng)的數(shù)據(jù)交換以及記分臺、控制臺對本地數(shù)據(jù)庫服務器的訪問等。記分系統(tǒng)既要跟蹤競賽完成比賽成績的記錄,又要與成績處理系統(tǒng)、信息顯示系統(tǒng)配合完成成績的處理和顯示。其工作流程如圖2所示。
圖2 記分系統(tǒng)通訊流程圖
比賽前,記分系統(tǒng)控制臺通過成績處理系統(tǒng)的數(shù)據(jù)接口導入編排好的賽事計劃文件,存入本地數(shù)據(jù)庫服務器,并與部署于各個場地的記分臺和場地記分牌信息顯示播放端建立網(wǎng)絡連接。此時,控制臺中可以查看各個場地各個比賽的對陣信息和比賽狀態(tài),根據(jù)競賽要求更換場地,方便在記分系統(tǒng)內(nèi)對比賽進行控制。比賽的“鎖定”、“解鎖”、“交換場地”等命令由控制臺根據(jù)比賽情況實時發(fā)出,以便控制和監(jiān)督記分員對比賽進行正確選擇和記分操作。比賽的選擇方式考慮到競賽需求可由記分員在記分臺上根據(jù)唯一的比賽號自行選擇,也可由控制臺發(fā)送相應比賽號的消息下達控制命令。記分臺在選擇好比賽后,場地記分牌信息顯示播放端監(jiān)聽到控制命令即通知場地記分牌播放相應的比賽對陣界面。
比賽過程中,控制臺實時接收來自記分臺的消息命令,讀取本地數(shù)據(jù)庫獲得比賽成績,同時場地記分牌信息顯示播放端監(jiān)聽來自記分臺的數(shù)據(jù)更新消息,控制場地記分牌更新加載相應的比賽界面。
比賽結(jié)束后生成比賽成績文件,提交給成績處理系統(tǒng)。
記分臺在比賽開始到結(jié)束的整個過程中通過與控制臺的TCP通信,完成比賽場次選擇消息的發(fā)送和成績文件導出消息的接收。記分臺作為現(xiàn)場記分牌的控制端,通過向場地記分牌播放端發(fā)送TCP消息來實現(xiàn)其相應模板的更新加載。控制臺通過TCP協(xié)議并以XML文件解析生成的方式完成與成績處理系統(tǒng)的數(shù)據(jù)交換。
3.1 記分臺軟件功能需求
記分臺是記分系統(tǒng)進行比賽數(shù)據(jù)采集的最前端,負責對空手道每場比賽信息的第一手記錄。針對空手道多場地同時比賽的特點,需要在每個比賽場地邊部署一臺記分臺,賽時由記分員實時跟蹤記錄比賽數(shù)據(jù),統(tǒng)一提交給控制臺做后續(xù)處理。為滿足競賽需求,空手道記分系統(tǒng)要完成以下功能:
(1)選取該場地的一場比賽;
(2)控制空手道比賽時鐘的開始、暫停、繼續(xù)、停止;
(3)重設(shè)比賽時鐘;
(4)給運動員判分(1分,2分,3分);
(5)給運動員判罰(兩類八種判罰);
(6)增加1分鐘加賽;
(7)結(jié)束當場比賽并判定比賽結(jié)果;
(8)實時向控制臺發(fā)送比賽成績信息。
3.2 記分臺軟件模塊設(shè)計
根據(jù)記分臺軟件的功能需求,將其分為現(xiàn)場計時、現(xiàn)場積分、數(shù)據(jù)通信三個部分來進行設(shè)計。
(1)現(xiàn)場計時
現(xiàn)場計時模塊在比賽過程中負責控制各個時鐘的顯示與運行,設(shè)計中使用Timer控件來實現(xiàn)時間顯示,并通過各個按鈕的相互支持與限制來完成計時器工作。
(2)現(xiàn)場記分
現(xiàn)場記分模塊在比賽過程中負責記分和判罰等工作。
記分:通過加減按鈕進行記分(每次可計1,2,3分)。
判罰:在對應判罰的圓圈中點擊鼠標(紅色表示判罰,白色表示未判罰),(1,2類)K(警告)時,對方加1分,(1,2類)HC(犯規(guī)警告)時,對方加2分。
1分鐘加賽:若在比賽事件內(nèi)無法決出勝負,則可加賽1分鐘,取消加賽則恢復到加賽前的評分顯示。
重新比賽:用于比賽記分容錯處理。
結(jié)果評定:用于比賽結(jié)束后選擇勝方:由三個用于區(qū)分獲勝方(紅、藍、平)的TRadioButton組件對象,一個用于選擇唯一獲勝方式(六種:凈勝、比分勝、判定勝、對方犯規(guī)勝、對方棄權(quán)勝、對方失格勝)的TRadioGroup組件對象和兩個用于保存或取消獲勝信息的TBitBtn組件對象組成。
(3)數(shù)據(jù)通信
手動記分臺在比賽開始到結(jié)束的整個過程中通過與控制臺的TCP通信完成比賽場次選擇消息的發(fā)送和成績文件導出消息的接收[3]。并且,手動記分臺作為現(xiàn)場記分信息顯示的控制端,通過向場地記分牌信息顯示播放端發(fā)TCP消息來實現(xiàn)其相應模塊的更新加載。
4.1 控制臺軟件功能需求
控制臺是記分系統(tǒng)的控制中心,也是與成績處理系統(tǒng)進行信息交換的中轉(zhuǎn)站。通過控制臺可管理分布于各場地的記分臺,獲取由記分臺記錄的比分數(shù)據(jù)后進行文件生成和傳輸,由成績處理系統(tǒng)進行后續(xù)處理和服務。具體功能如下:
(1)查看所有比賽的信息及狀態(tài);
(2)調(diào)換兩個或多個場次的比賽場地;
(3)給記分臺操作授權(quán);
(4)給記分臺發(fā)送比賽場次信息;
(5)從成績處理系統(tǒng)實時更新比賽信息;
(6)將比賽成績及結(jié)果實時傳遞給成績處理系統(tǒng)。
4.2 控制臺軟件模塊設(shè)計
根據(jù)控制臺軟件的功能需求,將其劃分為場地分配、狀態(tài)管理和數(shù)據(jù)交換三個部分來進行設(shè)計。
(1)場地分配
場地分配模塊設(shè)計有專門的場地信息窗體,負責對空手道比賽場地信息進行編輯和對場地上的記分臺進行配置,如圖3所示。場地信息包括場地編號和場地名稱,配置信息則包括在相應場地上部署的記分臺的IP地址和應用程序監(jiān)聽端口等??帐值辣荣悤r經(jīng)常會根據(jù)比賽進程臨時要求更換比賽場地,這時可通過對指定比賽場地執(zhí)行設(shè)定場地編號或場地名稱的命令來完成交換場地的功能。
圖3 場地信息窗口界面
(2)狀態(tài)管理
狀態(tài)管理模塊主要實現(xiàn)對各場地的比賽信息和比賽狀態(tài)(未開始、進行中、已結(jié)束、被選中等)進行內(nèi)容和顏色的顯示,以及根據(jù)需要對已經(jīng)結(jié)束的比賽進行“加鎖”、“解鎖”管理等。比賽過程中狀態(tài)管理模塊中的成績信息和比賽狀態(tài)顯示是通過讀取數(shù)據(jù)庫獲取的,可以通過定時器設(shè)置讀取數(shù)據(jù)庫的頻率實現(xiàn)自動刷新,也可以根據(jù)需要選擇手動刷新減少對數(shù)據(jù)庫的訪問次數(shù)。比賽結(jié)束則由記分臺發(fā)送比賽指令通知控制臺“加鎖”以結(jié)束比賽。
(3)數(shù)據(jù)交換[4]
通過XML技術(shù)實現(xiàn)記分系統(tǒng)控制臺和成績處理系統(tǒng)的數(shù)據(jù)交換。
XML文件解析[5]:解析導入的比賽信息XML文件的步驟如下:
1)創(chuàng)建一個空的XML文件對象xmlDoc,用該文檔對象加載要解析的XML文件路徑字符串。
2)聲明一個XML接口類型IXMLNode的對象RootNode,用于存放XML文件的根節(jié)點,并用xmlDoc文件對象中節(jié)點屬性ChildNodes的FindNode方法來找到比賽信息文件中匹配的XML文件根節(jié)點。
3)查找XML文件中根節(jié)點下包含的其他所有子節(jié)點,用根節(jié)點的ChildNodes屬性獲取。
4)得到各子節(jié)點后就可取出各子節(jié)點包含的所有Attributes屬性值。
5)最后使用ADO數(shù)據(jù)庫訪問技術(shù)[6]提供的TAdoDataSet組件對象執(zhí)行Edit、Insert和Post方法將值寫入數(shù)據(jù)庫完成XML文件數(shù)據(jù)的存儲。
生成XML文件:生成成績信息XML文件的步驟如下:
1)創(chuàng)建一個TADODataSet類型對象ExportDS,用于從數(shù)據(jù)庫中獲取結(jié)果數(shù)據(jù)集,并建立與數(shù)據(jù)庫的連接,設(shè)置好生成的XML文件導出路徑。
2)聲明一個XML文件類型的對象xmlDoc,并且聲明必要的根節(jié)點和子節(jié)點。
3)使用AddChild方法設(shè)定根節(jié)點和子節(jié)點。
4)用SetAttribute方法為子節(jié)點所有屬性賦值。
5)最后保存生成的XML文件。
記分牌顯示系統(tǒng)[7]的主要功能是將比賽信息更直觀、實時、全面地顯示在競賽官員和觀眾面前。
(1)記分牌顯示系統(tǒng)工作原理
記分牌顯示系統(tǒng)的核心工作是控制端根據(jù)不同業(yè)務需求設(shè)計不同的顯示模板,控制端和播放端為這些模板分配不同的關(guān)鍵字,關(guān)鍵字以整形常量在通信協(xié)議類中聲明。需要播放顯示界面時,控制端將包含目的端口、模板關(guān)鍵字的控制命令發(fā)送到播放端,播放端接收到該控制命令,即選擇關(guān)鍵字對應的模板,并從數(shù)據(jù)庫服務器中下載當前業(yè)務數(shù)據(jù),最后通過VGA信號設(shè)備輸出到記分牌進行顯示。
(2)記分牌顯示系統(tǒng)設(shè)計
記分牌顯示系統(tǒng)軟件采用三層體系架構(gòu)進行設(shè)計[8],即針對不同播放平臺進行相應數(shù)據(jù)庫訪問、業(yè)務邏輯實現(xiàn)及用戶界面表示的軟件設(shè)計。記分牌顯示系統(tǒng)軟件由控制端和播放端組成。
已經(jīng)運行于2015年全國空手道錦標賽現(xiàn)場的記分系統(tǒng)運行界面圖如圖4-6所示。
圖4 控制臺軟件運行界面
圖5 記分臺軟件“組手”賽運行界面
圖6 記分牌顯示界面
結(jié)合體育競賽信息系統(tǒng)的發(fā)展現(xiàn)狀及空手道項目的實際需求,開發(fā)設(shè)計了基于網(wǎng)絡通信的空手道記分系統(tǒng)。記分臺完成每場比賽信息的第一手記錄;控制臺作為記分系統(tǒng)的控制中心以及與成績處理系統(tǒng)進行信息交換的中轉(zhuǎn)站,完成管理分布于各個場地的記分臺,并獲取記分臺記錄的比分數(shù)據(jù),進行文件生成和傳輸,再由成績處理系統(tǒng)進行后續(xù)處理和服務;記分牌完成比賽信息的實時、準確顯示。該系統(tǒng)已成功地在2015年全國空手道錦標賽中應用,運行穩(wěn)定,準確可靠。
[1] 江義華.Delphi7完美經(jīng)典[M].北京:中國鐵道出版社,2003. JIANG Yi-Hua.Delphi7 perfect classic[M].Beijing:China Railway Publishing House,2003.
[2] 王茂利.體育電子計時記分系統(tǒng)及應用[J].電子測試,2014(7):118-119. WANG Mao-Li.Electronic timing and scoring system and its application[J].Electronic Test,2014(7):118-119.
[3] 羅亞非.基于TCP的Socket多線程通信[J].電腦知識與技術(shù),2009(3):563-565,598. LUO Ya-fei.The Multi-thread Communication of Socket Based on TCP[J].Computer Knowledge and Technology,2009(3):563-565,598.
[4] 李雯,謝輔雯,鄒道明.XML數(shù)據(jù)交換技術(shù)的應用與研究[J].計算機與現(xiàn)代化,2008(1):91-93. LIWen,XIE Fu-wen,ZOU Dao-ming.Application and Research on Data Exchange Techniques About XML[J]. Computer&Modemization,2008(1):91-93.
[5] 王中國,喬貴春.Delphi實現(xiàn)EMIF規(guī)范中XML報文的生成和解析[J].電腦編程技巧與維護,2009(12):5-7. WANG Zhongguo,QIAO Guichun.The Parser of XML in EMIF Based on Delphi[J].Computer Programming Skills&Maintenance,2009(12):5-7.
[6] 陳潔.基于ADO技術(shù)的數(shù)據(jù)庫訪問研究與實現(xiàn)[J].科技風,2015(12):51-51. CHEN Jie.Research and implementation of database access based on ADO technology[J].Technology Wind,2015(12):51-51.
[7] 成偉華,張計龍.三層體系架構(gòu)LED屏管理控制系統(tǒng)的設(shè)計與實現(xiàn)[J].實驗技術(shù)與管理,2011(4):273-276. Cheng Weihua,Zhang Jilong.Design and implementation of a three-tier architecture LED displaymanagementand control system[J].Experimental Technology and Management,2011(4):273-276.
[8] 胡迎松,彭利文,池楚兵.基于.NET的Web應用三層結(jié)構(gòu)設(shè)計技術(shù)[J].計算機工程,2003,29(8):173-175. HU Yingsong,PENG Liwen,CHIChubin.Design Technology of Three-tier Architecture on Web Application Based on.NET[J].Computer Engineering,2003,29(8):173-175.
Design of the Karate Com petition Scoring System Based on Network Communications
Zhuang Yajun,Wang Ping,Miao Gang,Ma Jiayan
(College of Internet of Things Engineering,Hohai University,Changzhou 213022,China)
According to the status and the requirements of karate competition information system,the design of the karate competition scoring system based on network communication is provided to replace the originalmanual recording mode.The system is divided into three parts,i.e.the scorer table,the console and the scoreboard,uses Delphi 7 as a development environment for the software design of the scorer table and the console,adopts the three-tier architecture for the scoreboard,and realizes the communication between the various subsystems based on network communication technology.SQL Server 2008 R2 is used as background support database to memory and read data,XML technology is used to exchange data between systems.Finally,the data are processed and displayed on the scoreboard.The system has been successfully applied in National Karate Championship in 2015.The results show that the design scheme and the implementation method are feasible,effective,real-time and reliable.
Network Communication;Delphi 7;Karate;Scoring System;Three-Tier Architecture;Data Exchange
10.3969/j.issn.1002-2279.2016.06.016
TP31
A
1002-2279(2016)06-0064-05
國家體育總局體育信息中心委托項目——空手道競賽信息系統(tǒng)
莊亞軍(1990-),男,江蘇省南通市人,碩士研究生,主研方向:智能信息處理理論與技術(shù)。
2016-02-02