?

面向電影行業的軟件檢測集成平臺研發

2024-03-13 08:12王文強李雪偉張尚乾
現代電影技術 2024年2期
關鍵詞:檢測工具服務端報文

王文強 李雪偉 劉 斌 張尚乾 賈 波

中國電影科學技術研究所(中央宣傳部電影技術質量檢測所),北京市 100086

1 引言

隨著電影技術的不斷進步,由膠片放映發展到數字放映,再到自動化和智能化放映,計算機軟件系統在其中發揮的作用日趨重要。我國電影放映模式主要由完全市場化的專業影院和以公益性為主的農村流動放映兩種模式組成,近年來,以家庭或微小影吧放映的商業模式,即點播影院放映模式[1]逐漸興起并發展。每一種放映模式都離不開計算機軟件系統的支撐,例如,專業影院放映模式使用了影院管理系統(TMS)、電影院票務管理系統、全國電影票務綜合信息管理系統,農村流動放映模式使用了監管數據采集管理平臺、監管平臺,點播影院放映模式使用了點播院線計費系統、全國點播影院經營管理信息系統。

對于這些計算機軟件系統,要想使其在各個放映模式中發揮應有的、積極的作用,必須對其進行嚴格的規范化管理[2],其中最基礎的一條,即對進入電影市場的各種計算機軟件系統進行標準符合性檢測[3],確保其符合相關的國家和行業標準。目前,我國已發布和實施的電影行業標準有DY/T 7—2023《影院管理系統基本功能和接口規范》、GY/T 276—2013《電影院票務管理系統技術要求和測量方法》、GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》和《點播影院暫行技術規范》等。這些行業標準有一個共同點,即都規定了各自計算機軟件系統的數據接口規范,通過這些數據接口,才能與其他系統進行數據交換。例如,DY/T 7—2023《影院管理系統基本功能和接口規范》規定了DCP 專用接收設備通信接口、電影院票務管理系統SOAP 通信接口、數據主動上報通信接口、影院自動化控制設備通信接口等數據接口[4];GY/T 276—2013《電影院票務管理系統技術要求和測量方法》規定了信息數據接口、票房數據統計上報接口、網絡代售接口、自助取票接口、TMS 數據接口[5];《點播影院暫行技術規范》規定了信息數據接口[6];GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》自身就是針對數字電影流動放映監管信息GPS/GPRS 接口的技術規范,規定了流動放映終端、監管數據采集管理平臺、監管平臺等數字電影流動放映相關設備與系統應具備的數據接口[7]。

要對上述數據接口實施準確的檢測,人工執行已不可取,需由專門的檢測工具軟件來完成。作為通過CNAS 和CMA 認可的檢測實驗室,中國電影科學技術研究所(中央宣傳部電影技術質量檢測所)檢測實驗室具備上述電影行業軟件標準的檢測能力范圍,具備對上述數據接口實施準確檢測的能力,具備相應的數據接口檢測工具軟件。但原有的檢測工具軟件經過多年使用后,暴露出一些問題:每個行業標準都有自己的一個或多個檢測工具軟件,根據標準發布和實施時間,這些檢測工具軟件在研發和部署上都是分散進行,在實施檢測時各自為戰、調度不暢,研發和部署環境也偏于陳舊、不便于升級和維護。這些問題相當程度地影響了檢測工作的正常開展。在此背景下,我們決定對電影行業軟件系統相關檢測工具進行梳理和重新研發,基于我所現有軟件檢測業務構建一套面向電影行業的軟件檢測工具集成平臺,在該檢測平臺的統一框架內集成重新研發的檢測工具,使軟件檢測工作能夠更加便捷地開展,從而達到進一步提升我所檢測實驗室的軟件檢測能力、提高檢測效率、保障檢測準確性的目的。

平臺的研發工作剛剛開始時,DY/T 7—2023《影院管理系統基本功能和接口規范》和GY/T 276—2013《電影院票務管理系統技術要求和測量方法》兩份標準正處于修訂階段,因此,我們將依據《點播影院暫行技術規范》和GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》進行相應數據接口檢測工具的研發,作為主要工作內容。

2 平臺架構

為保證良好的可擴展性,軟件檢測集成平臺采用分層架構和模塊化設計與實現。平臺采用典型的B/S 三層邏輯架構設計,劃分為表示層、業務邏輯層、數據訪問層。表示層為系統管理和檢測管理頁面功能的實現,負責與用戶的交互操作及數據展示,其中系統管理包括用戶管理、權限管理等功能,檢測管理包括基礎信息管理、檢測執行管理、檢測數據管理等功能;業務邏輯層負責行業軟件各數據接口檢測工具的業務邏輯實現;數據訪問層負責數據庫的訪問及數據存儲。業務邏輯層是平臺設計與實現的核心內容,根據《點播影院暫行技術規范》對點播院線計費系統信息數據接口的定義和GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》的接口定義,我們對檢測工具進行了模塊劃分,每個檢測工具分為服務端和客戶端兩部分實現,具體為:點播影院相關檢測工具包括全國點播影院經營管理信息系統模擬器(檢測工具服務端)和點播院線計費系統模擬器(檢測工具客戶端);數字電影流動放映監管信息GPS/GPRS 接口相關檢測工具包括監管平臺/監管數據采集管理平臺模擬器(檢測工具服務端)和流動放映終端模擬器(檢測工具客戶端)。平臺的邏輯架構設計如圖1所示。

圖1 軟件檢測集成平臺邏輯架構

在頁面前端、后端之間,我們增加了自定義的HTTP+JSON 形式的接口,頁面前端通過此接口調用頁面后端功能,頁面后端與檢測工具的服務端、客戶端同劃分在業務邏輯層,并將用戶操作保存至數據庫。檢測工具客戶端由頁面后端在程序內部直接調用,以執行客戶端主動發起的接口檢測任務。檢測工具服務端則以系統后臺服務方式運行,以監聽來自被測系統或客戶端的接口通信請求,同時以定時任務的方式讀取數據庫中由服務端主動發起的接口檢測任務,并執行該檢測任務。

平臺整體采用分層架構和檢測工具的模塊化設計和研發,檢測工具所在的業務邏輯層與平臺之間為松耦合關系,這使得平臺具備持續良好的可擴展性。在有新的行業軟件標準發布實施、需要拓展新檢測業務時,可保障平臺能夠快速、便捷地集成新的檢測工具。

3 平臺研發與實現

3.1 確定研發環境

從適應平臺研發需求的角度考慮,結合研發效率與便于維護等因素,軟件檢測集成平臺的研發采用MySQL 作為數據庫環境,采用Python 作為業務邏輯層研發環境,采用Vue 框架作為表示層研發環境,采用Windows 10/11 作為操作系統環境。MySQL 是目前最主流的關系型數據庫管理系統之一,具有免費使用、配置簡單、功能強大、性能優良、穩定性好、跨平臺性好等特點。作為目前較為流行的計算機編程語言之一,Python 具有開發效率高、開源免費、可移植性好、可擴展性好、簡單易學等特點,平臺要實現業務邏輯的各系統數據接口主要基于Socket(SSL/TLS)的通信方式,Python 也能夠很好地滿足這類接口的研發。Vue 框架具備高效、靈活、易用、組件庫豐富等特點,便于構建高可操作性和高度可定制的Web 應用程序,對平臺研發較為友好。MySQL 數據庫、Python 語言、Vue 框架均能夠滿足平臺研發的要求,同時具有研發高效、便于維護的特點,平臺采用的研發環境各軟件版本具體為MySQL Community Server 5.6.21、Python 3.6.8、Vue 2.6.10。

3.2 檢測工具研發

在研發之初,我們即確定了平臺的主要工作內容:依據《點播影院暫行技術規范》和GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》兩份標準進行相應數據接口檢測工具的研發。

按照上述兩份標準的要求,點播影院相關檢測工具和數字電影流動放映監管信息GPS/GPRS 接口相關檢測工具實現的數據接口業務邏輯如圖2所示。檢測工具的數據接口均是基于 Socket(SSL/TLS)實現,并要求支持多客戶端同時接入和通信,因此在研發上主要基于Socket 多線程通信技術加以實現。在基于Socket 多線程通信技術實現中,服務端主線程負責對發起請求的客戶端創建連接,并將每個客戶端對應的連接保存在連接字典中,同時將該連接與客戶端特征綁定,如點播院線計費系統的院線編碼、數字電影流動放映終端的設備廠商標識碼和終端序列號,便于查找目標客戶端的連接;對于每個客戶端連接,服務端主線程都會創建兩個子線程,其中一個子線程用來主動向客戶端發送數據報文,另一個子線程用來接收來自客戶端的數據報文。對于客戶端而言,除去負責向服務端發起連接請求、主動發送報文的主線程之外,還要創建一個子線程用于接收來自服務端的數據報文。

圖2 檢測工具實現的數據接口業務邏輯

3.2.1 點播影院相關檢測工具研發

依據《點播影院暫行技術規范》附錄C“信息數據接口”中約定、通信方式、協議報文等條款的要求,我們在點播影院相關檢測工具中研發實現了作為服務端的全國點播影院經營管理信息系統模擬器、作為客戶端的點播院線計費系統模擬器,在檢測工具服務端和客戶端共同研發實現了認證請求/認證反饋、心跳、影院信息請求/影院信息/影院信息確認、節目信息下載請求/節目信息/節目信息確認、原始場次數據上報/原始場次數據上報確認、統計營業數據上報/統計營業數據上報確認、通知下發/通知確認等7 組數據接口通信報文的業務邏輯。

全國點播影院經營管理信息系統模擬器以Socket 后臺服務方式實現,能夠監聽來自客戶端的接口通信請求,支持多客戶端同時接入和通信;能夠正確接收、驗證、處理客戶端發送的請求報文,并正確返回相應的響應報文;能夠以定時任務的方式讀取數據庫中由服務端主動發起的接口檢測任務并執行該檢測任務,將相應報文發送至目標客戶端,并正確接收、驗證、處理目標客戶端返回的響應報文。點播院線計費系統模擬器由頁面在程序內部直接調用使用,能夠主動向服務端發起連接請求,能夠正確組織、生成客戶端主動發送的報文,將報文發送至目標服務端,并正確接收、驗證、處理目標服務端返回的響應報文;能夠正確接收、驗證、處理服務端發送的請求報文,并正確返回相應的響應報文。

兩端模擬器均具備報文通信日志功能,能夠記錄報文收發時間、報文來源地址、報文來源特征編碼(點播院線編碼/國家平臺編碼)、報文類型、報文內容等信息至平臺數據庫中,能夠解析全部通信報文。

3.2.2 數字電影流動放映監管信息GPS/GPRS接口相關檢測工具研發

依據GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》中技術約定、報文結構、報文定義等條款的要求,我們在數字電影流動放映監管信息GPS/GPRS 接口相關檢測工具中實現了作為服務端的監管平臺/監管數據采集管理平臺模擬器、作為客戶端的流動放映終端模擬器,在檢測工具服務端和客戶端兩端共同實現了平臺自我聲明、流動放映終端請求激活/平臺發送激活信息/流動放映終端確認接收到激活信息、流動放映終端身份認證請求/平臺響應身份認證/流動放映終端確認接收到認證信息、狀態查詢/心跳、影片下載、影片播放開始/影片播放結束/接收確認、接收重發、數據發送設置、廣告下載、廣告播放結束/接收確認、播放日志查詢控制/影片播放日志/廣告播放日志/日志查詢結束、關機、文件發送請求/文件發送接受/文件傳送/文件傳送確認等13 組數據接口通信報文的業務邏輯,在服務端內部的監管平臺和監管數據采集管理平臺之間實現了監管數據采集管理平臺聲明/監管平臺確認、上報數據等2 組數據接口通信報文的業務邏輯。

監管平臺/監管數據采集管理平臺模擬器以Socket 后臺服務方式實現,能夠監聽來自客戶端的接口通信請求,支持多客戶端同時接入和通信;能夠正確接收、驗證、處理客戶端發送的請求報文,并正確返回相應的響應報文;能夠以定時任務的方式讀取數據庫中由服務端主動發起的接口檢測任務并執行該檢測任務,將相應報文發送至目標客戶端,并正確接收、驗證、處理目標客戶端返回的響應報文。流動放映終端模擬器由頁面在程序內部直接調用使用,能夠主動向服務端發起連接請求,能夠正確組織、生成客戶端主動發送的報文,將報文發送至目標服務端,并正確接收、驗證、處理目標服務端返回的響應報文;能夠正確接收、驗證、處理服務端發送的請求報文,并正確返回相應的響應報文。

兩端的模擬器均具備報文通信日志功能,能夠記錄報文收發時間、報文來源地址、報文來源特征編碼(流動放映終端設備ID/監管平臺或監管數據采集管理平臺標識碼)、報文類型、報文內容等信息至平臺數據庫中,能夠解析全部通信報文。

3.3 頁面功能實現

平臺使用服務端模擬器作為檢測工具的檢測功能,因服務端模擬器以Socket 后臺服務方式運行,基本可由模擬器自行完成。而平臺使用客戶端模擬器作為檢測工具的檢測功能基本由頁面發起和驅動,檢測人員使用瀏覽器訪問平臺,在平臺內選擇被檢測系統和數據接口,輸入檢測需使用的各參數值,生成某個數據接口的檢測任務,平臺則調度相應檢測工具執行該檢測任務。不論由頁面驅動完成或是由模擬器自行完成的檢測任務,在執行完成后都需要在頁面展示檢測過程產生的數據接口通信記錄和報文詳情。因此,頁面功能對于平臺而言有著非常重要的作用。此外,作為執行檢測任務的基礎和檢測使用參數值的來源,平臺還需具備相應的基礎信息管理和維護功能;為區分不同檢測人員和各自的檢測執行權限,平臺還需具備基本的用戶和權限管理功能。這些功能都通過頁面形式呈現。

依據系統管理及檢測業務的需求,平臺實現的頁面功能包括:系統管理、點播影院相關檢測、數字電影流動放映監管信息GPS/GPRS 接口相關檢測三大功能模塊,共37 個功能項。平臺頁面功能的實現內容如圖3所示。

圖3 檢測平臺頁面功能的實現內容

3.3.1 點播影院相關檢測頁面功能實現

點播影院相關檢測模塊包括基礎信息管理、全國點播影院經營管理信息系統檢測、點播院線計費系統檢測三個子模塊。其中,基礎信息管理子模塊實現了院線信息、影院信息、影廳信息、節目信息等執行檢測所需基礎信息的管理(查詢、新增、編輯、刪除)功能;全國點播影院經營管理信息系統檢測子模塊實現了使用點播院線計費系統模擬器作為檢測工具對全國點播影院經營管理信息系統執行連接服務器、認證、心跳、影院信息請求、節目信息下載、通知下發、原始場次數據上報、統計營業數據上報等檢測任務的功能,以及瀏覽檢測過程產生的數據接口通信報文記錄的功能;點播院線計費系統檢測子模塊實現使用全國點播影院經營管理信息系統模擬器作為檢測工具對點播院線計費系統執行通知下發等檢測任務的功能,以及瀏覽檢測過程產生的數據接口通信報文記錄的功能。

3.3.2 數字電影流動放映監管信息GPS/GPRS接口相關檢測頁面功能實現

數字電影流動放映監管信息GPS/GPRS 接口相關檢測模塊包括基礎信息管理、監管平臺/監管數據采集管理平臺檢測、流動放映終端檢測三個子模塊。其中,基礎信息管理子模塊實現了廠商信息、設備信息、影片信息、廣告信息等執行檢測所需的基礎信息的管理(查詢、新增、編輯、刪除)功能;監管平臺/監管數據采集管理平臺檢測子模塊實現了使用流動放映終端模擬器作為檢測工具對監管平臺/監管數據采集管理平臺執行連接服務器、終端激活、終端認證、影片下載、廣告下載、影片播放、廣告播放、關機、文件傳輸等檢測任務的功能,以及瀏覽檢測過程產生的數據接口通信報文記錄的功能;流動放映終端檢測子模塊實現了使用監管平臺/監管數據采集管理平臺模擬器作為檢測工具對流動放映終端執行狀態查詢、發送設置、日志查詢、文件傳輸等檢測任務的功能,以及瀏覽檢測過程產生的數據接口通信報文記錄的功能。

3.3.3 系統管理頁面功能實現

系統管理模塊實現了用戶管理、權限管理、修改密碼等功能。用戶管理實現了平臺用戶信息的查詢、新增、編輯、刪除等管理功能,以及為用戶分配權限的功能;權限管理實現了平臺權限信息的查詢、新增、編輯、刪除等管理功能;修改密碼實現了平臺登錄用戶對自身密碼的修改功能。

平臺能夠對不同登錄用戶進行鑒權操作,確保用戶僅能夠操作自身權限范圍內的功能。

3.4 數據庫設計

依據平臺頁面功能劃分及檢測業務的需求,我們對數據庫的設計分為:系統管理模塊數據庫表、點播影院相關檢測模塊數據庫表、數字電影流動放映監管信息GPS/GPRS 接口相關檢測模塊數據庫表,三個部分,共設計20 張表。平臺的數據庫設計如圖4所示。系統管理模塊設計有用戶信息表、權限信息表、用戶權限分配表;點播影院相關檢測模塊設計有院線信息、影院信息、節目信息等基礎信息表,以及服務端報文通信任務表、服務端和客戶端檢測日志表;數字電影流動放映監管信息GPS/GPRS 接口相關檢測模塊設計有廠商信息、設備信息、影片信息等基礎信息表,以及服務端報文通信任務表、服務端和客戶端文件傳輸任務表、服務端和客戶端檢測日志表、平臺間檢測日志表。篇幅所限,本文僅簡要說明平臺所用的點播影院相關檢測日志表(表1)、數字電影流動放映監管信息GPS/GPRS 接口相關檢測日志表(表2)兩個核心數據庫表的結構。

表1 點播影院相關檢測日志表結構

表2 數字電影流動放映監管信息GPS/GPRS 接口相關檢測日志表結構

圖4 檢測平臺數據庫設計

3.5 平臺部署

為進一步提升自主安全可控能力,降低安全風險和管控成本,破解軟硬件系統“卡脖子”風險,針對國產化環境部署的目標,我們對浪潮、曙光等國產服務器公司,麒麟、統信等國產操作系統公司,達夢、人大金倉等國產數據庫公司,東方通、金蝶等國產中間件公司進行了調研,了解了相應的國產化可替代情況。經過對比、篩選,最終選定配置國產海光x86 架構CPU 的浪潮服務器作為硬件環境、銀河麒麟高級服務器操作系統(V10 SP3)作為軟件環境,并對平臺進行部署。在數據庫、運行環境、應用服務器方面,由于費用較高且國產可替換產品不夠成熟等因素,我們決定使用免費開源軟件。最終的部署情況為:購置了2 臺浪潮CS5260H 服務器進行系統部署,從底層向上依次部署了銀河麒麟高級服務器操作系統(V10 SP3)、MySQL Community Server 5.7.38 數據庫、Python 3.7.9 運行環境、uWSGI 2.0.19.1 應用服務器、Nginx 1.21.1 代理服務器等環境軟件,在此環境之上,部署了點播影院相關檢測工具、數字電影流動放映監管信息GPS/GPRS 接口相關檢測工具及平臺頁面功能。平臺詳細部署環境如表3 所示。兩臺服務器部署基本一致,在調試和驗證測試過程中,兩臺服務器分別作為檢測工具服務端和檢測工具客戶端使用。

表3 平臺部署環境

平臺部署完成后,經過試驗運行,證明國產硬件設備、軟件環境的可靠性、穩定性以及與上層環境軟件的適配度,都能夠滿足平臺的使用需求。國產化環境的部署方案風險可控、路徑可行。

4 平臺亮點與優勢

4.1 檢測工具的集中統一框架

基于中國電影科學技術研究所(中央宣傳部電影技術質量檢測所)現有電影行業軟件檢測業務,我們構建了一套集中統一的軟件檢測平臺,將所有檢測工具整合在統一的平臺框架內。檢測人員通過統一入口訪問平臺,在平臺內選擇被測系統和相應的檢測工具,執行檢測任務。檢測工具的集中統一便于維護和使用,可有效提高檢測效率。

4.2 良好的系統可擴展性

隨著電影行業的發展,行業軟件的標準將不斷擴容更新,平臺集成的檢測工具也要相應擴容迭代。

對于平臺的可擴展性問題,我們在設計上對平臺整體進行分層架構,將檢測工具所在的業務邏輯層與平臺之間設計為松耦合關系,并對各檢測工具采用模塊化設計和研發,使平臺具備了持續良好的可擴展性,可確保在有新的行業軟件標準發布實施、需要拓展新檢測業務時,能夠快速、便捷地集成新的檢測工具。

4.3 基于國產軟硬件系統的部署

基于國產CPU、國產服務器的硬件系統以及國產操作系統的軟件系統,平臺完成了部署和試驗運行,部署方案可行,運行結果滿意。平臺在國產化系統替換的道路上做了有效探索,形成了良好開端,后續可考慮在國產軟硬件系統日漸成熟完善的基礎上,逐步實現服務器、存儲、操作系統、數據庫、中間件、行業應用的全棧國產化。國產化的部署風險可控、路徑可行。

5 結束語

本文介紹的面向電影行業的軟件檢測工具集成平臺,按照《點播影院暫行技術規范》和GD/J 029—2010《數字電影流動放映監管信息GPS/GPRS 接口技術要求和測試方法(暫行)》進行設計和研發,基于國產的硬件和操作系統環境進行部署,充分考慮了平臺的可操作性和可擴展性,便于檢測人員實施檢測,未來隨著電影行業的發展,行業軟件的標準將不斷擴容,平臺對新的檢測工具具備良好的整合能力。

該平臺的建設與應用,能夠顯著提升我單位檢測實驗室的軟件檢測能力和檢測效率,通過平臺對電影行業應用軟件實施標準符合性檢測,能夠對電影行業應用軟件的標準化、規范化管理提供有力的技術保障[8],能夠對我國各種放映模式的提質升級起到積極的推動作用[9],能夠對電影行業的持續良性發展提供堅實的技術支撐[10]。?

猜你喜歡
檢測工具服務端報文
基于J1939 協議多包報文的時序研究及應用
CTCS-2級報文數據管理需求分析和實現
淺析反駁類報文要點
云存儲中基于相似性的客戶-服務端雙端數據去重方法
新時期《移動Web服務端開發》課程教學改革的研究
在Windows Server 2008上創建應用
高溫封隔器膠筒試驗檢測工具的研究
德國Rosen公司發布新型漏磁檢測工具
ATS與列車通信報文分析
中國移動設計院自主研發安全檢測工具
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合