?

適用于國產龍芯計算平臺的DVB-S數據解析方法初探

2017-08-30 10:17王亮亮閆威張佳偉
微型電腦應用 2017年8期
關鍵詞:龍芯入庫解析

王亮亮, 閆威, 張佳偉

(1.新疆師范高等??茖W校 現代教育技術中心,烏魯木齊 830043;2.自治區級重點實驗室(新疆教育云技術與資源實驗室),烏魯木齊 830043;3.新疆維吾爾自治區黨委編辦,烏魯木齊 830002)

適用于國產龍芯計算平臺的DVB-S數據解析方法初探

王亮亮1,2, 閆威3, 張佳偉1

(1.新疆師范高等??茖W校 現代教育技術中心,烏魯木齊 830043;2.自治區級重點實驗室(新疆教育云技術與資源實驗室),烏魯木齊 830043;3.新疆維吾爾自治區黨委編辦,烏魯木齊 830002)

隨著國產化信息技術不斷革新,龍芯平臺的軟硬件生態圈正逐步形成?;邶埿酒脚_的Linux系統移植研究,擬開展了國產龍芯平臺的配套應用基礎研究,探索了DVB-S數據落地后的處理方法,創設了滿足其執行條件的軟硬件支撐環境,以期為實現國產CPU/OS整體解決方案的應用示范案例提供參考。

DVB-S; 龍芯; 數據解析; 遠程教育

0 引言

目前,計算機核心技術在國內仍處于相對落后狀態,主流的應用產品多采用Intel及AMD等國外產品。國產龍芯計算平臺軟硬件環境雖取得較快發展,但與X86架構的軟硬件生態環境相比仍存在較大的差距,基于X86架構的功能軟件未能直接適配于龍芯MIPS架構,且能否滿足DVB-S數據的解析、入庫、展示等功能及性能未知。本研究主要基于國產龍芯計算平臺,定制與優化國產操作系統,探索DVB-S數據落地后的處理技術路線與方法,以期為滿足規模性應用的軟硬件解決方案提供實踐參考。

通過建立并優化、移植實驗環境,移植、優化數據庫服務(MySQL),Web服務(Apache、Nginx),腳本語言(PHP、Perl),字符編碼(GBK、Unicode、UTF8),視頻編解碼及播放(Mplayer、VLC)等組件?;诖?,分析傳輸于龍芯平臺存儲中的DVB-S數據文件(主要包括資源文件和描述文件),探索資源文件的分類、名稱、類型等相關特征信息提取的解析方法,實現數據的自動入庫、冗錯與校驗、數據遷移等;并設計合理的數據庫表結構,存儲解析后的數據,通過Web方式讀取、檢索、展示數據庫中DVB-S數據信息。

1 技術路線

龍芯(Loongson)是由我國中科院計算機技術研究所研制的國產處理器之一[1],采用MIPS指令集架構,屬于精簡指令集(RISC)處理器體系[2],并于2006年3月中科龍芯購買了MIPS的結構授權[3],與眾所周知的X86指令架構互不兼容。此外,在龍芯計算平臺能夠運行的操作系統主要有中標麒麟等。為滿足解析程序的開發與運行,采用本地編譯的方法[4-5],需要優化操作系統基礎環境,如圖1所示。

本地編譯的移植環境搭建較簡單,可采用方式二,基于龍芯計算機已安裝的操作系統,補充必要編譯環境即可。擬采用Perl腳本語言實現數據解析,需移植的組建包括PerL(DBI、XML::Twig、Encode)、Mariadb、PHP、Apache/Nginx。其中,Perl用于實現入庫腳本,Mariadb用于存放解析的資源數據及用戶信息,PHP提供展示程序運行,Apache/Nginx提供Web服務,如圖2所示。

圖1 本地編譯流程圖[6]

圖2 運行環境移植組件圖

DVB-S數據處理,如圖3所示。

圖3 DVB-S數據處理路線圖

衛星數據始終處于活動狀態。首先,需判斷數據完整性;其次,自動識別資源類型;最后,依據數據特點及共性提供相關信息,對錯誤數據進行判斷和處理。本研究擬探討數據解析階段的內容。DVB-S數據的描述信息采用GB2312編碼,而新疆地區需要支持維哈多語種,故需要轉換為UTF-8編碼,并強制數據庫默認字符集,需要注意資源描述文件的解析和資源文件名稱解析中的編碼間的轉換問題[7-8]。

2 DVB-S數據解析

DVB-S(Digital Video Broadcasting via Satellite),即數字衛星視頻廣播標準;IP over DVB-S把IP技術與DVB-S技術結合起來,將IP數據報封裝到MPEG-2傳輸流中,通過DVB-S網絡進行傳輸[9-10]。

2.1 數據源介紹

用于實驗的DVB-S數據是指全國農村黨員干部遠程教育工程的衛星資源,簡稱全國DVB-S數據[11]?;赑C的數據接收終端,在數據接收到硬盤后將存放在一個目錄下,數據量非常大且多為視頻格式,采用XML技術攜帶數據的標識信息,不便于用戶查找和分類管理資源。數據解析是對視頻文件加入歸檔功能,方便用戶的使用和管理;對于未接收完成的資源,進行完整性判斷;對名稱亂碼資源進行有效處理,使未接收完整資源可在輪播中再次接收。資源文件接收后可能的狀態有:

1)接收完整資源文件;

2)未接收完整資源文件;其中有一類文件可識別,另一類則無規律,名稱為亂碼,入庫程序在定期做清理工作時完成刪除操作。

2.2 數據解析與處理

全國DVB-S數據的解析程序主要功能有目錄遍歷、內容讀取、數據入庫、容錯機制等。其處理業務流程,如圖4所示。

圖4 全國DVB-S數據處理流程

采用perl腳本對接收到的資源XML文件進行智能解析[12]。

1)篩選資源描述文件。通過遍歷獲取全國DVB-S數據接收目錄中的所有描述文件,定義排除非資源描述文件,主要如下:

bnsr_package_index.xml

bnsr_manifest.xml

bnsr_package_metadata.xml

剩余描述文件均為資源描述文件。

2)描述文件解析。逐條進行解析,獲取資源唯一編碼、題目、分類、關鍵詞、資源介紹、時長、大小。根據描述文件名稱,查找對應的視頻文件是否存在。若不存在,則查找相對應正常接收的文件,后綴為“~@$=#&”;檢測文件容量是否在增加。若增加,則文件正在接收;若不變,則文件接收完畢,但未接收完整,則刪除該視頻資源文件和資源描述文件。

3)執行入庫操作。采用Linux操作系統下的autostart與cron機制執行解析程序[13],實現開機與定時的數據遍歷、解析、入庫等操作流程。通過定義API處理數據,若分類不存在,程序將通過API返回的最后一個分類的編號,自動增加新分類,并給予新的編號再次對資源進行入庫操作。

4)獲取資源文件名稱的途徑。由于全國資源名稱中存在特殊字符,從資源描述文件中解析出的名稱無法與資源名匹配,因此,從資源描述文件中解析出的資源名稱無法直接使用,則采用另一種形式實現獲取資源文件名稱。首先,截取資源描述文件名稱作為資源名稱①;其次,獲取解析出的文件名并截取獲得后綴②;最后,通過①+②的字符串拼接,得到正確的資源文件。這里尚未直接采用解析出的文件格式作為資源后綴,主要原因是描述文件里的格式需要做判斷,例如解析出格式是wmv9,則不能直接使用。

樣例代碼如下:

use XML::Twig;

use Encode;

my $twig= new XML::Twig();

my $twigchannel= new XML::Twig();

`chmod 777 -R /ncdy`; #修改所有資源接收目錄權限

my @filelist = (`find ncdy *.xml | grep xml`);# 查找全國資源接收目錄下的所有描述文件

my $count = 1;

while ($count <= @filelist) {

if((index($filelist[$count-1], "bnsr_package_index.xml")!=-1) or (index($filelist[$count-1],"bnsr_metadata.xml")!=-1) or (index($filelist[$count-1],"metadata.xml")!=-1) or (index($filelist[$count-1],"status.xml")!=-1))

{

$count++;

next;

}

print (" element $count: $filelist[$count-1] ");

my $file =$filelist[$count-1];

&findchannel($file);#插入新頻道

&insertdb($file); #插入新資源

$count++;

}

2.3 數據展示

采用LAMP架構[14]開發DVB-S數據管理與展示程序,用戶可通過Web方式讀取、檢索數據庫中的數據,實現在國產CPU/OS平臺上進行DVB-S資源的分類、展示、檢索,并借助嵌入式播放器及其他應用軟件正常瀏覽資源文件,如圖5所示。

圖5 資源展示頁面

3 總結

本文基于國產龍芯計算平臺,通過移植優化等方法,完善國產CPU/OS軟硬件基礎支撐環境,設計與實現全國DVB-S數據的解析程序,成功驗證了解析、入庫、展示等功能的可操作性,形成可行的技術路線和解決方案,為實現適用于國產CPU/OS的應用示范案例奠定基礎。

[1] 芮雪,王亮亮,楊琴.國產處理器研究與發展現狀綜述[J]. 現代計算機(專業版),2014,3:15-19.

[2] 寇曉斌,楊琴,王亮亮.主流處理器體系結構與架構發展現狀綜述[J].微型機與應用,2014,16:1-2+5.

[3] 龍芯獲MIPS指令系統授權[EB/OL]. http://www.loongson.cn/loongson/article/2009/0622/article_220.html,2009,6.

[4] 朱嘉.基于MIPS32平臺的Linux操作系統移植[J].單片機與嵌入式系統應用,2006,11:24-26.

[5] 基于ARM的嵌入式Linux的交叉編譯環境的建立[J]. 張瑞,于德海,馬明龍. 科技信息. 2009(25):508-509.

[6] 王亮亮,楊琴,芮雪.面向主流RISC體系結構的Linux操作系統移植原理[J]. 計算機技術與發展,2014,8:76-79.

[7] 吳和敏,王亮亮等.農村黨員干部現代遠程教育終端接收站點應用系統LINUX平臺技術研究[J].中國科技成果.2010,11(20):35-37.

[8] 王亮亮,楊琴,芮雪. 基于Linux及開源軟件的新疆農村黨員干部現代遠程教育[J]. 計算機應用與軟件,2014,(2):330-333.

[9] 張佳偉,王亮亮,周葉. 基于IP over DVB-S單向傳輸模式的遠程終端系統與數據維護技術[J]. 電腦知識與技術,2016,(24):248-250.

[10] 李杰,馬建國.基于DVB-S的IP數據業務實現機制研究[J].西南科技大學學報,2003,18(1):1-6.

[11] 楊琴,王亮亮,芮雪. 基于DVB-S的漢維哈Linux遠程教育支撐平臺設計[J]. 計算機與現代化,2016,(2):86-90.

[12] 郭文久. Perl語言環境下XML文檔解析方法[J]. 生物信息學,2010,4:307-310.

[13] 張濤,王亮亮,張佳偉. 新疆黨員遠程教育終端系統與數據的ALL In One策略與方法[J]. 電腦知識與技術,2016,(23):73-76.

[14] 李楊. 構建基于Linux、Apache、MySQL、PHP平臺的網站[J]. 電子技術與軟件工程,2015,4:20.

An Initial Study of the Domestic Loongson Platform Data-based Parsing Methods for DVB-S

Wang Liangliang1,2, Yan Wei3, Zhang Jiawei1

(1. Modern Educational Technology Center; 2. The Provincial Key Laboratory, Xinjiang Laboratory of Education Cloud Technology and Resources, Xinjiang Teacher’s College, Urumqi 830043, China;3. The Xinjiang Uygur Autonomous Region Party committee Office, Urumqi 830002, China)

With the localization of information technology innovation, Godson platform hardware and software ecosystem is gradually formed. Based on the research and development of Linux system based on the Godson platform, this study intends to carry out the basic research on the supporting application of the domestic Godson platform, explores the processing method of DVB-S data after landing, and creates the hardware and software supporting environment which satisfies its execution condition in order to realize the domestic CPU / OS overall solution application demonstration case and provide practical reference.

DVB-S; loongson; data-based parsing; distance education

新疆維吾爾自治區自然科學基金資助項目(2015211A015)

王亮亮(1977-),男,副教授,碩士,研究方向:Linux操作系統。 閆威(1977-),男,研究方向:Linux操作系統。 張佳偉(1992-),男,工程師,碩士研究生,研究方向:Linux操作系統。

1007-757X(2017)08-0009-03

TP311

A

2017.05.02)

猜你喜歡
龍芯入庫解析
基于國產化龍芯的動環數據采集系統
重磅!廣東省“三舊”改造標圖入庫標準正式發布!
三角函數解析式中ω的幾種求法
中國食品品牌庫入庫企業信息公示②
中國食品品牌庫入庫企業信息公示①
睡夢解析儀
電競初解析
對稱巧用解析妙解
“龍芯之父”胡偉武
身臨其境探究竟 主動思考完任務——《倉儲與配送實務》入庫作業之“入庫訂單處理”教學案例
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合