面向电影行业的软件检测集成平台研发

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与列车通信报文分析
中国移动设计院自主研发安全检测工具