1、12近几年,国产数据库得到了前所未有的发展,国产数据库厂商不断涌现,并且在政务、国防、交通、能源、电力等多个领域已有一大批成功应用案例并实现国产化替代。在广播电视领域,播出系统属于广播电视关键信息基础设施,数据库系统是电视播出系统中的核心系统,存储着各类节目单据、节目文件整备信息等关键数据,体量较小但安全性、稳定性要求极高。本文主要针对传统媒体中播出数据库的需求进行业务分析,针对播出系统的业务特点,提出国产数据库产品测试内容和方法。一 国产数据库构架简介 数据库构架,又称数据库结构,是指数据库中数据的组织和结构方式。它确定了如何在数据库中存储、管理和访问数据。常见的国产数据库构架主要有以下两种
2、。1.主库多活+备库以达梦数据库为例,数据库集群采用数据共享存关键词广播电视 播出 数据库 国产化 测试传统媒体播出数据库国产化测试研究 作者 中央广播电视总台王娟播出数据库系统是传统媒体播出系统中的核心系统,存储着各类节目单据、节目文件整备信息等关键数据,数据库国产化对播出安全至关重要。本文针对常见国产数据库类型进行了介绍,并对电视台播出数据库选型及测试方法进行了探索和研究。摘要储,使用光纤通道连接到多个服务器的磁盘阵列,可通过增加节点来提高并行处理能力。同步软件可以实现主库与备库之间的数据实时同步,如图 1 所示。达梦节点网络连接示意图如图 2 所示。当 DSC单节点故障,DMCSS 检测
3、节点故障后,首先向故障实例的 VOTE 磁盘(非镜像环境下)或 DCRV 磁盘(镜像环境下)区域写入 Kill 命令,避免故障实例仍然处于活动状态,引发脑裂,然后启动故障处理流程,标准与测量STANDARD&TEST128踢出故障节点,业务无感知;当 DSC 多主节点全部故障,DH 备机切换 IP 对外提供服务,此操作需要人工干预。2.1 主数据库+2 备数据库以华为 Vastbase 数据库为例,Vastbase 数据库节点网络连接示意图如图 3 所示。由多个节点相互通信构成整体的对外服务,每个节点都存储完整的数据,并且通过Raft 协议保证每个节点维护的数据一致性。HAS 提供节点故障切换
4、、启停、拉起、配置等服务。主节点通过VIP 对应用提供数据库连接服务的虚拟 IP。当主节点故障时,集群切换时间点如图 4 所示。例如 31 秒时探活成功,32 秒时主节点故障,45 秒时主节点的 leader key 过期释放,默认 leader key 失效时间为 15 秒,探测每次周期为 5 秒。Has 会在 36秒、41 秒、46 秒进行 3 次探活,并在第三次时监测到 Leader Key 不存在而触发重新选主,48 秒时 Has将探测到的最健康节点升级为主节点,设置 VIP 和Watchdog,49 秒新主节点正常提供服务。共耗时 17秒恢复正常。备节点故障,业务无感知,系统可对节点
5、自动踢出或拉起。二 播出数据库的选型考量 近几年,随着国家政策的扶持和大数据、云计算等新技术的发展,国内数据库厂商迅速发展,特别是金融、电信以及政府部门都是国产数据库市场的重要客户。面对众多国产数据库产品,企业数据库选型通常需要考虑以下因素:应用需求:针对数据库的体量大小,硬盘存储方式,数据类型,安全性等;性能需求:并发性、稳定性、响应速度、34Advanced Television Engineering129扩展性,以便选择能够满足自身性能要求的数据库产品;成本预算:企业需要考虑数据库产品的成本,包括是否需要购买、维护、升级等费用,同时也应该考虑是否具有较高的成本效益;技术支持:企业应考虑
6、数据库产品的技术支持,包括厂商是否提供专业的技术支持团队,服务水平和响应时间等。结合上述数据库选型的基本思路,播出数据库根据自身需求对数据库的选型要求进行了相应的升级和优化。1.播出数据库数据需求分析数据增量无长期保存数据需求,定期归档并清理过期数据。播出业务数据条目总量在百万级左右,总数据库存储量不超过 500GB。目前多使用 Oracle 等国外数据库,需要考虑数据完整无损迁移。2.播出数据库并发访问分析数据库接入设备终端不超过 100 台,数据库接入应用模块不超过 80 个,外部应用连接最大并发访问不超过 200 个终端,QPS 每秒 SQL 查询率不超过200,TPS 数据库每秒事务数
7、不超过 100。3.系统安全容错分析为保证全年 24 小时滚动播出无事故,各功能节点至少为主备模式或多主模式,系统故障时节点可以自动倒换(紧急业务变更的情况下,要求 RTO 小于5 秒),不影响正常播出。备份一份或者多份完整的数据库副本,以防止数据损坏或系统故障导致数据丢失。冗余备份机制可以实现快速修复和数据迁移。当播出平台出现波动或卡顿时,系统要带有一定的数据回写缓存能力,用于应对偶发的运行环境不稳定现象。4.数据库监测和维护数据库需要提供 API 监测接口,24 小时实时监测运行状态和报警提示。运维值班人员可以通过运维界面直观了解数据库运行状态,以及实施简单的重启、关机、倒换、升级等基础操
8、作。5.数据库厂商技术和背景要求数据库厂商成立时间较长,业内排名居前,产品应用成功案例较多。调研数据库公司数据库构架及开发背景。确定公司是否拥有独立的技术团队,可以24 小时提供技术支持服务。在满足以上要求的国产数据库厂商中选取较为合适的 3 到 4 家厂商,作为备选公司,进行后续测试。三 测试内容设计 软件测试指在开发环境中对软件运行进行评估和验证,以确保其符合预期的标准和要求。测试内容既要保证每个功能和需求都能被充分覆盖,又要关注到异常情况下软件的处理逻辑和响应速度。针对国产数据库的测试主要关注以下几方面。1.测试环境因为此测试主要针对数据库的各项指标,需要建立统一的硬件环境、操作系统、测
9、试工具及测试方案。针对国产数据库的测试,建议最小化搭建国产化测试平台,采用全国产化软硬件。测试平台由国产服务器(配备千兆网卡)、国产操作系统、国产数据存储构成。且此次测试不考虑硬盘读写故障。2.数据库高可用性测试针对几种常见的数据库故障进行模拟,通过设置每秒规律插入数据,确认是否影响正常业务,以及影响时长。正常关闭单一节点,记录数据库恢复正常数据写入时间;正常关闭单一服务器,记录数据库恢复正常数据写入时间;手动杀死单一节点进程,记录数据库恢复正常数据写入时间;手动杀死单一服务器进程,记录数据库恢复正标准与测量STANDARD&TEST130JMeter 来模拟比实际使用用户上限更多的用户同时访
10、问数据库,超出日常负载能力的情况下,测试数据库系统的并发性和吞吐量。TPCC 测试(参数可根据实际需求修改)。测试要求:50 仓,50 并发,压测时间 5 分钟。TPCC 测试可获得每分钟内系统处理新订单个数。JMeter 测试可获得每秒处理事务数。4.数据库兼容性测试测试目的是确保在迁移到新数据库系统时,原有 SQL 语句和脚本可以正确执行,而无需进行大量的修改。大小写敏感测试。创建一个小写的表,插入数据后,分别用小写和大写的表名进行查询,能查出结果说明大小写不敏感的参数开启成功,应用提供的初始化脚本能实现在各数据库中建表建存储过程等操作;从现有的播出软件中抓取主要使用的 SQL 语句在数据
11、库中进行测试。比较整体兼容率,不兼容内容单独记录,为后续修复和调优提供依据;数据迁移测试。通过测试数据库自带的迁移软件将原播出系统数据库数据整体或部分迁移至测试数据库中,通过迁移报告确认数据库迁移报错对象数量,并以此来计算数据兼容率。根据数据库迁移报告,将其中的忽略或者错误数量除以总数量即可得到兼容率。5.数据库监控测试数据库监控测试是指针对数据库的性能、健康状态和异常行为进行检测、跟踪和报告的过程。其目的是确保数据库的可用性、完整性、一致性以及安全性。使用厂商提供的数据库监测软件,实时查询节点状态,每秒事务数,CPU、内存、硬盘状态,网络传输速率等基础数据,确保数据库处于正常操作范围内运行;
12、确认数据库是否提供 API 接口可连接监控大屏常数据写入时间;单一节点掉电,记录数据库恢复正常数据写入时间;手动拔出单一节点的业务网口及心跳网线,记录数据库恢复正常数据写入时间。备注:以上情况,在基于主备数据库的数据库构架下,需要主备节点分别进行测试记录。倒换时长需要确认各测试数据库厂商均将倒换轮询时长和次数设为统一的 1 秒 3 次,保证数据的准确性。如果有条件,可以增加时长和次数变量,进行反复验证,为后续选择提供依据。3.数据库性能测试主要为负载测试和压力测试,通过 TPCC 和表1某国产数据库节点切换测试数据汇总测试方式集群恢复时间人工干预业务感知主库服务手动关闭(1 秒 1 次)4s无
13、需干预有感知主库服务手动关闭(1 秒 2 次)6s无需干预有感知主库服务手动关闭(1 秒 3 次)10s无需干预有感知主库服务手动关闭(2 秒 1 次)5s无需干预有感知主库服务手动关闭(2 秒 2 次)7s无需干预有感知主库服务手动关闭(2 秒 3 次)10s无需干预有感知备库服务手动关闭0s无需干预无感知主库服务器手动 Kill 进程(1 秒 1 次)5s无需干预有感知主库服务器手动 Kill 进程(1 秒 2 次)6s无需干预有感知主库服务器手动 Kill 进程(1 秒 3 次)10s无需干预有感知主库服务器手动 Kill 进程(2 秒 1 次)4s无需干预有感知主库服务器手动 Kill
14、 进程(2 秒 2 次)5s无需干预有感知主库服务器手动 Kill 进程(2 秒 3 次)10s无需干预有感知备库服务器手动 Kill 进程0s无需干预无感知主库服务器掉电(1 秒 1 次)13s无需干预有感知主库服务器掉电(1 秒 2 次)14s无需干预有感知主库服务器掉电(1 秒 3 次)12s无需干预有感知主库服务器掉电(2 秒 1 次)15s无需干预有感知主库服务器掉电(2 秒 2 次)19s无需干预有感知主库服务器掉电(2 秒 3 次)20s无需干预有感知备库服务器掉电0s无需干预无感知拔网线-主库的心跳及业务网口(1 秒 1 次)12s无需干预有感知拔网线-主库的心跳及业务网口(1
15、 秒 2 次)13s无需干预有感知拔网线-主库的心跳及业务网口(1 秒 3 次)20s无需干预有感知拔网线-主库的心跳及业务网口(2 秒 1 次)12s无需干预有感知拔网线-主库的心跳及业务网口(2 秒 2 次)14s无需干预有感知拔网线-主库的心跳及业务网口(2 秒 3 次)17s无需干预有感知拔网线-备库的心跳及业务网口0s无需干预无感知表2某国产数据库压力测试数据测试工具测试要求测试结果TPCC50 仓,50 并发,压测时间 5 分钟Tpmc:23617.06JMeter50 并发查询Qps:108934.0Advanced Television Engineering131集中监看,是
16、否支持自动轮询及系统状态实时监控,当到达预警阈值时,是否可通过大屏、邮件、手机短信等通知方式及时通知相关人员;实时监控数据库中无效用户尝试登录或者未经授权的数据访问等异常行为,避免潜在安全威胁;数据库提供操作日志和错误日志,后续技术支持人员定期可以对日志进行分析,确认运行状况及潜在风险,并为故障排查提供依据;定期备份数据库,并测试恢复流程,确保当发生数据库丢失或者损坏时,能够快速恢复数据库正常运行。6.比较测试数据,出具测试报告将上述数据进行整理归纳形成测试文档,结合不同厂商所需软硬件投入成本和搭建难易程度进行综合考量,为后续在真实运行环境中进行最小化运行,提供选择依据。四 结语 播出系统数据
17、库软硬件向国产化平台的战略转移,是解决数据库系统安全隐患的根本举措。此过程中不仅需要对国产数据库软件进行严谨的功能和性能测试,也需要后续在模拟播出系统中进行更长时间的运行和评测。虽然迁移适配过程困难且复杂,还需要应用开发商的配合进行架构的优化、兼容性的支持和性能的提升等,但是通过对国产数据库测试方法的研究,可以为解决传统媒体播出数据库系统“受制于人”的重大现实问题提供技术储备和数据支持。标准与测量STANDARD&TEST132132 三 结语 现如今,AR 技术已经广泛地应用于总台各大晚会和节目的录播以及直播当中,本届五四晚会更是将每一个节目都应用了 AR 技术来实现更佳的视觉效果,不仅用新
18、思维、新创意拓展了节目表现手法,使节目呈现最大化的艺术效果,也同时推动了新技术在广电领域里的应用,使得电视节目有无限的创作潜力和发展前景。(上接第 98 页)同时缺点也尤其明显,当摄像机贴近时或者是摄像机侧角度观看时,能明显看到旗子是在一个平面上播放的序列动画。其二,渲染引擎中自带的实时布料模拟技术。因为近些年的硬件升级,现在的虚拟引擎已经具备了模拟此类效果的功能,用此技术的优点是能实现真实的三维模拟,可以与场景内的其他物体有交互(如碰撞),不足之处在于虽然是实时模拟,但在动态模拟上略有失真。其三,在三维软件中进行真实模拟,此技术方案的优点是最终效果能达到高拟真水平,缺点是需要预先花费大量时间对其进行计算,并且计算结果不便实时修改与交互,且性能占用大。本届五四晚会为提前录制,因而对性能与实时性的容错率较高,首先追求的目标是真实动态效果,AR 团队采用在三维软件中预先模拟解算,并以顶点动画缓存的形式导入至渲染引擎中,最终在节目中呈现出真实的旌旗飘扬效果。11木兰AR 播出效果