亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        高校調(diào)頻發(fā)射臺點播系統(tǒng)的研究與實現(xiàn)

        2013-04-29 11:27:52張小銀陳國勝時刻
        現(xiàn)代教育技術(shù) 2013年4期
        關(guān)鍵詞:解決方案

        張小銀 陳國勝 時刻

        【摘要】針對目前校園調(diào)頻發(fā)射臺使用中存在的需要專人值守操作問題,提出一種由聽眾在線點播,發(fā)射臺按時自動播放,實現(xiàn)無需專人值守的解決方案,在應(yīng)用Flex和JavaEE中的Spring、Hibernate框架等技術(shù)基礎(chǔ)上,詳細(xì)闡述了方案中的關(guān)鍵技術(shù),實現(xiàn)了基于Flex的調(diào)頻發(fā)射臺點播系統(tǒng)。系統(tǒng)已在某高校外語聽力教學(xué)中正常運行,效果較好。

        【關(guān)鍵詞】調(diào)頻發(fā)射臺;點播系統(tǒng);解決方案;校園應(yīng)用

        【中圖分類號】G40-057 【文獻(xiàn)標(biāo)識碼】A 【論文編號】1009—8097(2013)04—0068—04

        引言

        校園調(diào)頻發(fā)射臺由小功率無線調(diào)頻廣播發(fā)射機、饋電系統(tǒng)、發(fā)射天線構(gòu)成。具有音響效果好、覆蓋面積大,成本低、使用便捷等特點,在學(xué)校教學(xué)、管理和校園文化生活中發(fā)揮了重要的作用。為便于管理、提高效率,針對調(diào)頻發(fā)射臺在實際使用中存在的需要專人管理節(jié)目播放等問題,根據(jù)學(xué)校實際情況,設(shè)計開發(fā)了調(diào)頻發(fā)射臺點播系統(tǒng),系統(tǒng)結(jié)構(gòu)模型如圖1所示。

        調(diào)頻發(fā)射臺點播系統(tǒng)采用Flex和Java技術(shù)實現(xiàn)。Flex是RIA領(lǐng)域的佼佼者,具備強大的UI渲染能力。Flex技術(shù)在表現(xiàn)力、交互性、跨平臺性以及與應(yīng)用服務(wù)器的通信方面均超越了其他RIA(如Ajax等)技術(shù)。基于S2SH(Struts2-Spring-Hibernate)框架的JavaEE應(yīng)用已經(jīng)得到廣泛應(yīng)用。參考JavaEE的S2SH架構(gòu),考慮到Flex與Struts2在功能上重合,采用Flex代替Struts2,本文采用Flex和Java組合應(yīng)用的整合架構(gòu)方案,即由Flex框架承擔(dān)展現(xiàn)層邏輯的工作,Spring框架用來構(gòu)建業(yè)務(wù)邏輯層,Hibernate框架用來建立持久層完成數(shù)據(jù)存取的工作。將三者進行整合,保證了應(yīng)用系統(tǒng)的運行效率與可維護性。

        一 相關(guān)技術(shù)原理

        1 Flex技術(shù)

        Flex能輕松快速地構(gòu)建界面友好直觀,用戶方便易用,而且可以脫機使用和強大高效的應(yīng)用程序。

        Flex是高效率的開放源碼框架。它提供了更加簡潔的組件開發(fā)機制,能快速構(gòu)建新的組件。

        Flex及其框架使用了一套產(chǎn)生、廣播、處理事件的機制,被傳遞的信息都是以事件流的方式處理。Flex中的事件觸發(fā)機制基于觀察者模式來實現(xiàn)的。

        Flex使用數(shù)據(jù)綁定技術(shù),當(dāng)數(shù)據(jù)源對象的數(shù)據(jù)發(fā)生變化時,目標(biāo)對象的數(shù)據(jù)會自動更新,不需要再編寫代碼去強制更新。

        Flex使用共享對象在客戶端或服務(wù)器端保存一些特定的數(shù)據(jù),然后在多個客戶端swf文件和對象之間實現(xiàn)數(shù)據(jù)共享。

        2 JavaEE的Spdng與Hibernate框架

        輕量級JavaEE中的Spring和Hibernate兩種框架技術(shù)在當(dāng)今各自的領(lǐng)域中都是應(yīng)用廣泛而且成熟的技術(shù),它們針對特定領(lǐng)域開發(fā)都提供了很好的解決方案。

        在Hibernate與spring的整合框架中,Spring充當(dāng)了一個JavaBean容器的作用,Spring使用IOC和AOP技術(shù)接管了Hibernate的DAO、事務(wù)和Service業(yè)務(wù)層,從而能充分地管理事務(wù)和代理Request請求。經(jīng)過IOC容器的處理后,針對面向接口的編程使軟件項目的分層更明確。

        由Spring統(tǒng)一管理Hibernate,Spring提供注入Hibernate所需要的基礎(chǔ)資源。此時,Spring接管如下內(nèi)容:Hibernate創(chuàng)建SessionFactory必需的DataSource,執(zhí)行持久化必需的Session和訪問持久層必需的事務(wù)控制等,而不需通過代碼進行控制:SessionFactory和TransactionManager作為Spring容器中的bean,這些bean放在applicationContext.xml配置文件中管理,而把數(shù)據(jù)庫連接的內(nèi)容放在hibemate.cfg.xml配置文件中來管理。這樣可為系統(tǒng)提供很好的解耦。

        Spring對Hibernate的DAO進行了非常好的封裝,使開發(fā)者完全不必關(guān)注于事務(wù),可以把精力更多地集中在業(yè)務(wù)處理方面。繼承HibemateDaoSupport的DAO類具有Spring封裝Hibernate操作數(shù)據(jù)庫的完全功能,

        繼承HibemateDaoSupport的目的是讓Spring管理事務(wù),DAO具有面向編程接口的特點,多態(tài)性使DAO類的實現(xiàn)多樣化。在Spring管理下,數(shù)據(jù)庫操作、事務(wù)處理也都變成自動化了。

        二 系統(tǒng)設(shè)計

        1系統(tǒng)總體架構(gòu)設(shè)計

        在Flex和Java的應(yīng)用中,“展現(xiàn)層”邏輯完全運行在客戶端的Flash虛擬機中,而“業(yè)務(wù)邏輯層”和“數(shù)據(jù)持久層”邏輯則運行在服務(wù)器端的Java虛擬機中??蛻舳讼到y(tǒng)和服務(wù)器端系統(tǒng)完全分離,各自運行在不同的CPU和虛擬機中。因此,F(xiàn)lex和Java組合開發(fā)的應(yīng)用系統(tǒng)為異構(gòu)的分布式系統(tǒng)。

        Flex和Java應(yīng)用的系統(tǒng)架構(gòu)圖如圖2所示。

        展現(xiàn)層利用Flex框架技術(shù),可以實現(xiàn)顯示與邏輯的分離,代碼清晰易讀性及可維護性高。

        Spring負(fù)責(zé)業(yè)務(wù)邏輯層,通過Spring配置文件定義應(yīng)用程序的業(yè)務(wù)邏輯,實現(xiàn)應(yīng)用程序邏輯與代碼的分離。

        Hibernate數(shù)據(jù)持久層簡化了數(shù)據(jù)庫操作,節(jié)約了開發(fā)人員編寫大量的SQL語句所花費的時間,縮短了軟件開發(fā)周期。

        2 數(shù)據(jù)庫設(shè)計

        根據(jù)業(yè)務(wù)需求和功能邏輯分析,確定調(diào)頻發(fā)射臺點播系統(tǒng)采用以下數(shù)據(jù)表:用戶表(Users)、媒體節(jié)目表(Mediafile)、點播預(yù)約表(Playreservation)、固定節(jié)目表(Fixedschedule)、公告通知表(Announcement)、用戶日志表(Userlog)。其中部分?jǐn)?shù)據(jù)表之間包含相關(guān)關(guān)系。

        用戶表存放用戶的詳細(xì)信息,其中字段包括用戶標(biāo)識、用戶名、用戶口令、用戶權(quán)限等級、用戶實名、工號(學(xué)號)、身份證號、部門、郵件地址、用戶類別、注冊時間、注冊IP地址、注冊MAC地址、手機號、固定電話、是否鎖定、性別、地址、登錄次數(shù)等信息。用戶權(quán)限等級設(shè)定如下:超級管理員為1,普通管理員為2,普通用戶為3,廣播發(fā)射用戶為4。

        媒體節(jié)目表存放媒體節(jié)目的詳細(xì)信息,其中字段包括節(jié)目標(biāo)識、節(jié)目名稱、節(jié)目類別、節(jié)目簡介、節(jié)目文件名、節(jié)日時長、上傳用戶標(biāo)識、上傳時間、文件大小、存放路徑、是否審核、審核人標(biāo)識、瀏覽次數(shù)、點播次數(shù)、播放次數(shù)等。

        點播預(yù)約表存放節(jié)目被點播的有關(guān)信息,其中字段包括點播標(biāo)識、點播用戶標(biāo)識、點播節(jié)目標(biāo)識、操作時間、預(yù)約播放時間、節(jié)目時長、點播級別、點播結(jié)果等信息。

        固定節(jié)目表存放管理員發(fā)布的固定或特殊播放節(jié)目的信息,其中字段包括固定(發(fā)布)節(jié)目標(biāo)識、發(fā)布人標(biāo)識、發(fā)布節(jié)目標(biāo)識、操作時間、播放時間、節(jié)目時長等信息。

        用戶日志表存放權(quán)限用戶(包括普通用戶及管理員)的登錄、注銷等信息,還存放管理員一些關(guān)鍵操作的日志信息。

        公告通知表存放由管理員發(fā)布的一些通知公告信息。

        3 系統(tǒng)功能模塊設(shè)計

        本系統(tǒng)分為五大功能模塊,如圖3所示。

        (1)登錄模塊:普通用戶和管理員可利用用戶名或密碼登錄系統(tǒng),通過驗證方可進入系統(tǒng);匿名用戶直接點“匿名登錄”即可,不用經(jīng)過驗證。

        (2)節(jié)目上傳模塊:普通用戶及管理員用戶均可上傳節(jié)目(只能上傳mp3格式的聲音文件)。節(jié)目上傳以后,必須等待管理員經(jīng)視聽審核方可被點播。匿名用戶不能上傳節(jié)目。

        (3)點播節(jié)目模塊:所有進入系統(tǒng)的用戶(包括匿名用戶)可以根據(jù)已有節(jié)目列表來點播節(jié)目。點播策略為:正在廣播的節(jié)目不能中斷:管理員可以發(fā)布節(jié)目(一般為固定和特殊節(jié)目),權(quán)限最高,普通用戶次之,匿名用戶最低;點播時間沖突時,權(quán)限高的用戶可以點播成功,權(quán)限低的用戶點播的節(jié)目被取消。

        (4)廣播節(jié)目模塊:單獨設(shè)定廣播發(fā)射用戶,在發(fā)射機所在客戶機上登錄系統(tǒng),此時客戶機的聲卡輸出即作為調(diào)頻發(fā)射機的音頻源。根據(jù)服務(wù)器數(shù)據(jù)庫中點播表的播放時間,采用定時器方式來定時播放節(jié)目。系統(tǒng)輪詢點播節(jié)目表,輪詢時間間隔可根據(jù)實際情況設(shè)定為2秒或5秒等。一般每個校區(qū)設(shè)置有一臺發(fā)射機。由于采用定時器,發(fā)射機之間可實現(xiàn)同步。無點播節(jié)目(可定義為距下一個點播節(jié)目時間長度大于某個時間間隔,如10秒)時,可從節(jié)目表中隨機選擇節(jié)目來廣播,直至點播節(jié)目播放時間點到來為止。

        (5)管理模塊:包含幾個管理子模塊,如:用戶管理子模塊、節(jié)目管理子模塊、點播管理子模塊、日志管理子模塊、公告管理子模塊等,為管理員提供對各種資源(或?qū)ο螅┻M行增刪改查等管理功能。

        三系統(tǒng)相關(guān)問題研究及實現(xiàn)

        1 Flex客戶端和Java服務(wù)器端之間的通信

        本系統(tǒng)中,客戶端和服務(wù)器端的通信(遠(yuǎn)程過程調(diào)用,即RPC)采用HTFP協(xié)議。大量數(shù)據(jù)通信時是采用RemoteObject組件完成的,使用AMF(Action Message Format)格式交換數(shù)據(jù),同時需要采用第三方框架配合。AMF是Adobe公司定義的一種二進制數(shù)據(jù)格式,其數(shù)據(jù)轉(zhuǎn)換和傳輸效率更高,第三方框架用于解釋AMF格式數(shù)據(jù)。

        在Java平臺下,本系統(tǒng)第三方框架采用Adobe官方開源軟件BlazeDS,安裝配置在服務(wù)器端。

        2 Flex客戶端和Java服務(wù)器端的整合

        由圖2可知,F(xiàn)lex客戶端與Java服務(wù)器端整合的關(guān)鍵就是Flex與Spring的整合。

        Flex與Spring的整合需要一個工廠類SpringFaetory,負(fù)責(zé)為Flex目的文件提供已經(jīng)完成初始化(依賴注入)的Springbeans實例。

        在BlazeDS的services-config.xml文件中添加factory元素,指向該工廠。

        在應(yīng)用中,services-config.xml文件有如下配置:

        class="cn.edu.ahut,fmrs.flex_spring.Spring Factory"/>

        此外需要配置BlazeDS的remoting-config.xml文件,該文件定義各個目的文件元素,指定Spring工廠以及對應(yīng)的業(yè)務(wù)層服務(wù)組件bean的id。

        如對媒體節(jié)目來說,remoting-config.xml文件有如下配置:

        spring

        mediafileAction

        這樣,通過BlazeDS,F(xiàn)lex客戶端就可以實現(xiàn)通過遠(yuǎn)程方法調(diào)用的方式訪問服務(wù)器端Spring提供的組件服務(wù)。

        3異構(gòu)系統(tǒng)之間遠(yuǎn)程數(shù)據(jù)的請求與調(diào)用

        Flex客戶端使用RomoteObjecct對象通過BlazeDS框架調(diào)用服務(wù)器端的Remote Facade對象中的方法,Remote Facade對象方法則調(diào)用“業(yè)務(wù)邏輯層”中“業(yè)務(wù)邏輯對象”或“業(yè)務(wù)邏輯服務(wù)對象”的方法完成客戶端請求。此為遠(yuǎn)程外觀(Remote Facade)模式,是客戶端和服務(wù)器端的接口。

        “DTO/VO模式用于遠(yuǎn)程方法調(diào)用過程中的傳輸數(shù)據(jù),DTO(服務(wù)器傳輸對象)是服務(wù)器端普通Java對象,它不承擔(dān)任何業(yè)務(wù)邏輯;VO(值對象)是客戶端ActionScript對象,它只承擔(dān)數(shù)據(jù),不含任何業(yè)務(wù)界面邏輯;DTO與VO——對應(yīng),成對出現(xiàn)”。

        在客戶端與服務(wù)器端的通信過程中,VO和DTO兩種對象通過遠(yuǎn)程方法調(diào)用,經(jīng)過BlazeDS框架對兩種對象進行相互轉(zhuǎn)換,完成異構(gòu)系統(tǒng)之間數(shù)據(jù)的請求與調(diào)用。

        以刪除媒體文件處理為例,客戶端在進行有關(guān)配置后,采用MediafileAction.deletemediafile(mediafile)語句來調(diào)用服務(wù)器端的deletemediafile(Mediafile mediafile)方法來刪除媒體文件;前者語句中的參數(shù)mediafile即為客戶端VO對象,后者方法中的參數(shù)mediafile即為服務(wù)器端VTO對象。

        4 系統(tǒng)權(quán)限管理的實現(xiàn)

        (1)權(quán)限用戶登錄成功后,能獲取到用戶權(quán)限等級,等級為1至4級。匿名用戶登錄后,用戶權(quán)限等級設(shè)為5。

        (2)登錄用戶通過菜單導(dǎo)航條可以進入不同功能菜單。菜單導(dǎo)航條通過MenuBar、XMLList、State等組件實現(xiàn)。MenuBar是菜單組件;XMLList組件提供數(shù)據(jù)集,數(shù)據(jù)集表示菜單的具體項和子項;單擊每個菜單項都跳轉(zhuǎn)至相應(yīng)的狀態(tài)(或頁面),不同的狀態(tài)由State組件提供。

        根據(jù)登錄用戶的用戶權(quán)限等級進入到不同的狀態(tài),也即進入到不同的(子)菜單,即擁有了不同權(quán)限。

        為提高程序的可重用性,采用對某個狀態(tài)(或頁面)移除或增加部分組件來實現(xiàn)。

        (3)采用Flex共享對象在本地保存用戶登錄信息,用戶注銷時,清除本地共享對象。

        5 發(fā)射客戶端廣播的實現(xiàn)

        采用Flex 4系統(tǒng)Sound類的play方法播放服務(wù)器上的rap3格式文件,使發(fā)射客戶端聲卡發(fā)出聲音,經(jīng)過發(fā)射機后廣播出去。采用Sound類的stop方法停止播放節(jié)目。

        6 系統(tǒng)實現(xiàn)環(huán)境

        調(diào)頻發(fā)射臺點播系統(tǒng)采用CentOS 5.5系統(tǒng),Web服務(wù)器采用Tomcat 7.0,數(shù)據(jù)庫采用MySQL 5.0,編程語言采用Java 6.0,開發(fā)框架采用Spring 3.0,Hibernate 3.3,F(xiàn)lex 4,BlazeDS 4.0。

        Tomcat和MySQL部署在一臺服務(wù)器上,發(fā)射客戶端采用兩臺PC機,分別放置在兩個校區(qū),連接到各自的發(fā)射機上。

        實際應(yīng)用環(huán)境中,考慮到網(wǎng)絡(luò)延遲產(chǎn)生的問題,兩個發(fā)射機采用不同的頻率發(fā)射廣播。由于采用無人值守方式,發(fā)射客戶端系統(tǒng)還考慮每天定時開機關(guān)機問題,以及在網(wǎng)絡(luò)瞬間斷開重連后播放模塊的自動啟動問題。

        系統(tǒng)運行實際效果截圖(局部)如圖4所示。

        四 結(jié)束語

        根據(jù)國家關(guān)于校園調(diào)頻廣播的頻率分配,我校調(diào)頻廣播發(fā)射機工作在67MHz至87MHz之間的米波波段。這個波段的接收機使用很短的天線就可以獲得滿意的接收效果,很適合英語聽力耳機附加的調(diào)頻收音機功能來收聽高保真的英語聽力練習(xí)或文藝類節(jié)目。另外,還可以作為鄉(xiāng)鎮(zhèn)小型廣播電臺,用來自辦節(jié)目或轉(zhuǎn)播省市廣播電臺的節(jié)目。該系統(tǒng)在企業(yè)應(yīng)用開發(fā)中也會有很好的借鑒和示范作用。目前,該校園調(diào)頻發(fā)射臺點播系統(tǒng)運行正常。

        猜你喜歡
        解決方案
        手持激光雷達(dá)應(yīng)用解決方案
        北京測繪(2022年5期)2022-11-22 06:57:43
        艾默生自動化解決方案
        解決方案和折中方案
        S700K-C轉(zhuǎn)轍機防水解決方案探討
        簡潔又輕松的Soundbar環(huán)繞聲解決方案
        ABS塑件的常見缺陷及解決方案
        模具制造(2019年3期)2019-06-06 02:10:58
        通信用UPS電源常見問題及解決方案
        5G高頻室內(nèi)覆蓋解決方案研究
        您的理念 我們的解決方案
        4G LTE室內(nèi)覆蓋解決方案探討
        无码夜色一区二区三区| 久久综网色亚洲美女亚洲av| 久久狠狠爱亚洲综合影院| 永久免费av无码网站yy| 国产一级黄色录像| 麻豆av在线免费观看精品| 后入丝袜美腿在线观看| 亚洲日韩一区二区一无码| 国产精品亚洲综合久久婷婷| 亚洲视频一区二区久久久| 91成人自拍在线观看| 极品少妇被猛的白浆直喷白浆| 日本欧美小视频| 亚洲国产精品色一区二区| 在线精品国产亚洲av蜜桃| 欧美精品人人做人人爱视频| 熟妇无码AV| 亚洲av手机在线一区| 国产精品亚洲专区无码不卡| 久久久精品人妻一区二区三区蜜桃| 视频国产精品| 久久精品伊人久久精品| 日韩视频在线观看| 国产999精品久久久久久| 欧美亚洲另类国产18p| 三上悠亚亚洲精品一区| 国产午夜精品一区二区| 久久精品国产亚洲vr| 日日麻批视频免费播放器| 99re6在线视频精品免费| 亚洲人成无码www久久久| 成人国产精品免费网站 | 国产一区二区三区不卡在线观看| 国产亚洲日本精品无码| 国产极品美女高潮抽搐免费网站| 一区二区三区日本美女视频| 国产精品天干天干| 嫩草影院未满十八岁禁止入内| 国产激情一区二区三区在线蜜臀| 中文字幕在线看精品乱码 | 蜜桃成熟时在线观看免费视频|