版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页视易星云KTV系统培训教材(中高级)第2页一、星云KTV系统主要功能介绍第3页KTV系统主要功能KTV系统功能看似复杂,其实我们只要抓住主要的功能模块入手学习,就能去繁就简,快速掌握系统运行的经脉。选歌星云KTV提供图形化的点歌界面供客人选歌。不管点歌界面如何千变万化,客人选歌的过程其实就是机顶盒根据客人操作,进行如下功能模块的过程:查询数据库获得歌曲信息: 是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何查询获取到歌曲信息的。显示查询结果: 不容易受外界因素影响出现问题,除非是程序有错误、机顶盒内存不足原因,一般不容易出现错误。保存操作结果: 是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何保存点歌列表、我的歌库等信息的。播歌客人选中歌曲后,机顶盒就要通过网络从服务器获得歌曲数据播放,并响应暂停、停止、重唱等播放控制请求。此过程很容易受网络、服务器影响而出现问题,但还是有规律可循,这部分功能的工作原理对大家排查现场问题非常重要。第4页KTV系统主要功能稳定性和容错性功能热迁移功能系统自动屏蔽故障的VOD服务、分发服务,并自动识别已经恢复的服务器。这部分的工作原理很重要,大家需要仔细了解。负载均衡功能系统自动在服务器之间、不同服务器的网卡间、同一服务器的不同硬盘之间对点播相同歌曲的并发流进行均衡分配。此功能由程序代码自动实现,受外界因素干扰小。硬件容错功能系统自动识别屏蔽不能正常工作的网卡、硬盘、歌曲。此部分功能由程序代码自动实现,受外界因素干扰小。后台管理后台管理模块独立性强,为系统运行提供内容和设置保证,出现问题容易排查。曲库管理:用来维护歌曲库文件和歌曲信息包厢管理:用来维护包厢设置和状态信息系统设置维护模块:设置系统运行必需的参数,大家要理解每个参数的作用、影响的模块运营管理也就是KTV酒水收银管理系统,相对点歌系统独立运行,会另有培训教材进行培训。第5页二、星云KTV主要功能模块的介绍第6页星云KTVVOD服务模块功能: 响应机顶盒的点播请求,把对应的歌曲按照一定的码率,按照视频点播协议,采用流媒体机制传输给机顶盒。每台VOD服务器上都要运行此服务。运行形式:
VOD服务模块就是:星云KTV安装目录\evideo\KTV\bin\vodservice.exe文件。作为后台服务程序,没有人机交互界面,Win2K系统启动后自动以服务的形式运行。可以进入”管理工具”->”服务”中,服务名称是”STARTVODService”。资源需求:内存资源:
VOD服务启动时,会检测系统物理内存是否满足需要,不满足则不自动。判断规则为:系统物理内存=256M(留给Win2K系统使用)+授权并发流数*4M字节(每个点播并发流需要的内存)。所以512M内存最多只能负载64个并发流。数据库资源:
VOD服务运行过程中,需要访问SQL数据库,获取ID号对应的歌曲存放目录。配置参数文件:
VOD服务需要的参数都保存在c:\StartVOD.ini中,特别是VOD服务要访问的SQL服务器信息。此配置文件说明见备注。版本区别:演示版本:为了演示方便,不需要加密狗,但最多只能同时支持3个并发流。正式版本:需要加密狗才能运行。以上两个版本的Vodservice.exe文件不一样。第7页星云KTVVOD服务模块授权限制:
加密狗不认服务器:注册加密狗时可以在任一台服务器上进行,加密信息写入加密狗中,插到任何一台服务器都可以使用,与服务器硬件没有关系。单狗授权说明:授权次数:限时授权与正式授权最多都能有4000次授权优先级关系允许用户交替使用授权(例如:用户第一次使用正式授权、第二次使用临时授权,第三次使用正式授权)在使用对应次数的授权过期后,再注册必须使用更高优先级的授权。例如,第4次授权过期后,必须使用第5次或者正式授权。如果低优先授权没有过期,而输入了更高优先级授权,则低优先级授权自动作废,启用更高优先级授权;功能授权:授权码中含有是否能够使用某些需要付费购买功能的授权信息,例如多合一、热迁移等。运行监控:
VOD属于后台运行的服务,无GUI界面。VOD服务的所有运行信息都保存进入c:\vodsys.log文件中,按时间顺序写入,最后的信息是最近发生的。要查看VOD所有的运行信息,只能通过查看此文件,这一点非常重要。VOD服务运行命令行参数:VodService.exe–install:注册VODService.exe程序成为Win2K系统的服务。VodService.exe–remove:从Win2K的服务列表中删除此服务VodService.exe–start:启动VOD服务。第8页星云KTVVOD服务工作流程VOD服务启动和工作流程:
VOD服务启动,读取c:\startvod.ini中配置信息进行初始化。如果初始化失败,则把失败原因写入c:\vodsys.log文件然后退出。读取加密狗获得授权并发流数信息,申请一定数量的内存。如果申请内存失败,则把失败原因写入c:\vodsys.log文件然后退出。开始监听机顶盒的点播请求。有点播请求时,判断当前的并发流是否已经超过授权数。如果没有,再根据RTSP点播协议进行交互。机顶盒通知VOD服务需要点播歌曲的文件ID号(非歌曲编号)。VOD服务查询本地信息文件,获得歌曲文件ID号对应的歌曲存放目录和文件名。如果此歌曲不存在,则通知TSServer进行坏歌屏蔽。按照节目的码率,遵循RTSP协议,以数据流的形式把歌曲数据源源不断的传输给机顶盒。机顶盒端一边通过网络接收歌曲数据放入内存缓存中,一边从缓存中取出数据交给解码芯片播放。就像一个水池,一边进水一边出水。进水的速度必须大于出水的速度,否则会出现接收缓存区欠载出现歌曲播放停顿的现象。如果出现读取歌曲失败、超时等错误,则通知TSserver进行坏歌屏蔽。相应机顶盒端的暂停、停止操作指令。以上每个动作对应的运行状态信息都记录进入c:\vodsys.log文件中。第9页星云KTVVOD服务工作流程示意图第10页TSserver服务模块是非常重要的模块,也称作分发服务,每台VOD服务器上都需要运行此服务。功能相当于KTV系统各功能模块之间的交通警察,进行负载均衡调度、硬件故障屏蔽处理、指挥实现热迁移功能、汇报指挥调度情况。对应文件
就是:星云KTV安装目录\evideo\KTV\bin\TSServer.exe文件,非后台服务程序,有操作界面。通过屏幕右下角系统托盘上的图标指示工作状态。运行监控
调出TSserver监控界面的方式是:双击系统托盘上KTVwatch状态图标->在弹出的对话框上双击状态栏,即可进入。监控界面会实时显示分发服务的工作状态和运行信息。请务必注意TSserver属于应用程序进程,不能通过系统工具栏进行关闭。功能描述:统计记录系统负载情况
VOD服务在开始、结束一个点播流时,都会通知所有服务器上的TSserver。分发服务会在内存中维护一张所有网卡、硬盘的负载情况表,并根据VOD服务通知而动态修改。 硬盘负载均衡
TSserver在启动时,会从本地信息文件(不是SQL数据库)中获取到所有服务器硬盘盘符和其上保存的歌曲的文件ID(文件ID≠歌曲编号)对应表。当机顶盒点播一个节目前,分发服务查询得到保存有此歌曲所有硬盘中负载最轻的,把此硬盘上该歌曲的文件ID告诉机顶盒,机顶盒以此文件ID向VOD服务申请点播。网卡负载均衡 在形成点播链发送给机顶盒前,分发服务会从内存记录中,确定歌曲所在的哪个服务器负载最轻,该服务器哪个网卡负载最轻,告诉机顶盒从哪个网卡进行点播。硬件容错 当VOD服务发现文件、硬盘、网卡故障时,会通知分发服务。分发服务会记录下来,并且在负载均衡时,排除这些设备。星云KTVTSserver分发服务模块第11页星云KTVTSserver分发服务模块功能描述:判断和触发VOD服务热迁移
分发服务在生成点播链之前,会先按照RTSP协议进行虚拟交互,判断负载均衡机制选择的VOD服务是否可以正常工作。如果发现改VOD服务不能正常服务,则会标示该VOD服务不可用,不再参与负载均衡机制。后续机顶盒再点播到此服务器上歌曲时,分发服务直接让机顶盒切换播放下一首歌曲。这个过程就是VOD服务的热迁移。当服务器有冗余备份时,热迁移后,机顶盒还是可以点播到所有的歌曲。当服务器没有冗余备份,热迁移后,机顶盒可以查询和选择故障服务器上的歌曲,但播放时会跳歌。后续的版本会实现机顶盒端对此情况下故障服务器上的歌曲自动屏蔽显示,客人不会看到这些歌曲。故障服务器的恢复识别
分发服务会定时自动判断已经被屏蔽的VOD服务是否恢复了正常。如果已经恢复,则自动把该VOD服务标示为正常,参与负载均衡机制,对外提供服务。服务器之间信息同步
分发服务会自动在不同服务器之间同步包厢状态信息、已点歌曲列表、个人歌库等(设计本地数据库机制,后面会详细讲述)。付费功能限制:
分发服务启动时,会自动判断是否授权使用多合一功能、热迁移功能。系统自动对时:
分发服务会自动同步PC时钟,以时间最晚的服务器为准,修改其它服务器的时间,确保所有分发服务所在的机器时间一致。避免出现开关房时间不统一等问题。 如果要更改服务器时间,必须先关闭所有的分发服务后,才能进行。第12页星云KTV系统服务监控模块运行形式: 服务监控模块就是:星云KTV安装目录\evideo\KTV\bin\ktvwatch.exe文件。 星云系统安装后,会在系统启动时自动运行,并自动最小化以托盘图标的形式体现。关键功能介绍:监控服务运行: 实时监控VOD、TS服务的运行状态,当监测到服务停止时,可自动启动这些服务。生成机顶盒端本地数据库信息文件: 启动后,自动根据SQL数据库内容,查询、转换生成机顶盒本地数据库机制需要的固定格式的信息文件。Dbyou目录下所有文件、servershare目录下部分文件是由KTVwatch每次启动时根据数据库重新生成。回写数据库: 把ServerShare目录下记录的机顶盒工作信息数据,回写进入数据库。例如点播排行、个人歌库信息等提供系统工作信息查询 提供系统工作状态的信息提示,例如网卡、硬盘屏蔽的信息、TS服务运行信息的提供。提供授权信息查询 可以查询加密狗授权信息,例如第几次授权、已经授权次数、剩余授权时间。第13页星云KTV系统本地数据库机制以前的网络数据库机制:歌曲信息、包厢状态信息、已点歌曲列表、个人歌库等信息都是保存在SQLServer中的,必须实时访问SQLServer才能获取/更新这些信息。机顶盒因为采用嵌入式Linux系统,不能直接访问SQL数据库,故通过一个数据库访问代理程序DBServer来中转一下。机顶盒每次需要显示信息时,都需要访问DBServer。例如翻页显示歌曲列表时。所有机顶盒都在使用时,导致DBServer和SQLServer负载很重,效率低,且容易出现问题。为保证数据库查询实时性,35个点以上时都需要单独的SQL服务器。网络一旦出现问题,机顶盒端就不能进行歌曲查询的工作;本地数据库机制:服务器启动时,自动查询SQLServer,获得机顶盒工作需要的数据库信息,并以文本格式的文件保存下来。机顶盒启动时,会自动下载这些文件,然后在内存中建立一个本地数据库表。机顶盒需要查询歌曲信息时,是从本机内存中的数据库中查询显示结果。所有机顶盒都是各自查询自己的本地数据库,大大减轻了服务器的压力和对网络的依赖。本地数据库查询速度快,工作可靠稳定,间接提升了服务器端的稳定性。机顶盒只在更新已点歌曲列表、个人歌库等情况下,才发给分发服务器,保存在文本格式的数据文件中。如果不重新生成本地数据库且重新启动机顶盒,机顶盒端不会立即看到对曲库做的修改。第14页星云KTV7.0系统本地数据库机制介绍星云KTV从6.0版本开始使用本地数据库机制,7.0及后续版本把本地数据库机制进行了改进,极大的减少了对SQLServer的依赖。机顶盒工作需要的所有数据库信息,在原先的网络数据库机制下,是通过读取/更新SQL数据库实现。在本地数据库机制下,全部保存在每台分发服务所在的机器中evideo\ktv\download目录下的本地文本格式的数据库文件中。数据库信息文件由KTVWatch程序在每次启动时,会查询SQL数据库,生成文本格式的数据文件,保存在evideo\ktv\download\dbyou目录下。例如歌曲信息、歌星信息、注册路径等。并且可以随时重新生成本地数据库信息文件机顶盒启动时,通过分发服务器所在的IIS服务,以http协议自动下载这些文件,并转换为内存中的本地数据库。机顶盒工作信息记录文件机顶盒在工作过程中,会产生一些需要保存的信息,如已点歌曲列表、个人歌库等信息。机顶盒会通知分发服务进行保存,以文本文件的形式保存在服务器上的evideo\ktv\download\ServerShare目录下相关文件中。星云KTV7.0及后续版本只在启动时,KTVwatch生成dbyou目录下数据文件时需要访问SQLserver,当本地数据库生成后,点歌系统就完全脱离SQL,即使关闭SQL服务,而不影响系统的运行。虽然在本地数据库机制下,包厢管理工具、机顶盒不会再访问SQL服务。请注意曲库管理工具、星云酒水收银管理系统还是基于SQL数据库的。第15页星云KTV7.0系统本地数据库文件介绍提供机顶盒运行时需要查询信息的本地数据文件,存放目录为:evideo\ktv\download\dbyou。setting.ini:记录机顶盒播放相关设置的配置文件。song.txt:总曲库信息文件。Songcfg.ini:因总曲库信息文件太大,下载处理不方便,故把总曲库song.txt分成几部分下载,此文件记录总曲库分割的信息;MaxSongNum=****,总库文件中歌曲数量SongFileNum=N,记录总库文件被分割为几个文件下载,例如=3,则就会有song1.txtsong2.txtsong3.txtsong1.txt、song2.txt、song3.txt:把总库分割后的子文件,数量与songcfg.ini中SongFileNum数值对应。singer.txt:记录所有歌星信息。MovieType.txt:记录电影类型信息。NewSong.txt:记录新歌列表信息。Polling.txt:记录设置的公播歌曲信息。vip.txt:记录属于VIP才能观看的歌曲信息。vip_type.txt:记录VIP类型,目前暂时用不上此文件,保留给以后使用。Welcome.txt:记录走马灯默认的欢迎信息。serial.idx:检测以上记录正确性的信息文件。Rank目录及下面的文件:记录所有歌曲、不同类别歌曲的点播排行Zong.txt:总曲库的排行列表GuoYu.txt,LiuXing,txt,MinNan.txt,QingGe.txt,QiTa.txt,YueYu.txt,Zong.txt,ZuHe.txt:不同类别、语种歌曲的子点播排行。第16页星云KTV7.0系统本地数据库文件介绍保存机顶盒运行过程信息的本地数据文件,存放目录为:evideo\ktv\download\ServerShare。请大家注意,此目录必须以共享名Servershare进行共享。evideo\ktv\download\ServerShare\ShareCall目录,保留目录,目前没有使用。evideo\ktv\download\ServerShare\ShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录Server.txt:记录服务器设置信息的文件,对应数据库中的Server表。列名对应数据库中的字段备注服务器名Server.ServerName
服务器是否可用Server.IsValid0-不可用
1-可用服务器IP1Server.IP1
IP1是否屏蔽Server.IP1Disabled0-可用
1-不可用网卡1的权重Server.Weight1
服务器IP2Server.IP2
IP2是否屏蔽Server.IP2Disabled0-可用
1-不可用网卡2的权重Server.Weight2
服务器IP3Server.IP3
IP3是否屏蔽Server.IP3Disabled0-可用
1-不可用网卡3的权重Server.Weight3
服务器IP4Server.IP4
IP4是否屏蔽Server.IP4Disabled0-可用
1-不可用网卡4的权重Server.Weight4
例如:Server1||1||7||1||15||7||0||45||||||||||||格式为:服务器名||服务器是否可用||服务器IP1||IP1是否屏蔽||网卡1的权重||服务器IP2||IP2是否屏蔽||网卡2的权重||服务器IP3||IP3是否屏蔽||网卡3的权重||服务器IP4||IP4是否屏蔽||网卡4的权重||第17页星云KTV7.0系统本地数据库文件介绍evideo\ktv\download\ServerShare\ShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录path.txt:记录每个服务器上歌曲存放目录信息,对应数据库中filepath表。服务器名.son:记录该服务器名对应服务器上存放的歌曲信息列名对应数据库中的字段服务器名Server.ServerName路径IDFilePath.FilePathID路径名FilePath.Path例如:Server1||1||c:\evideo\ktv\download\列名对应数据库中的字段备注文件IDMediaFile.FileId
歌曲编号Media.MediaSerialNo
同组号Media.groupid组歌曲的歌曲编号路径IDFilePath.FilePathID
文件目录MediaFile.Path
文件名MediaFile.FileName
例如:2||93000||93000||2||d:\music\||93000.vob第18页星云KTV7.0系统本地数据库文件介绍evideo\ktv\download\ServerShare\ShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录RecordServer.txt:记录保存录音服务器配置信息。KTV.TXT:记录包厢设置信息、开房时间信息、包厢选用的皮肤、区域信息、包厢类型、员工信息等表。SongBankPwd.txt:把所有个人曲库密码都记录在此文件中。BadPath.log:记录系统工作过程中发现的坏路径信息BadFile.log:记录系统工作过程中发现的怀歌曲信息evideo\ktv\download\ServerShare\shareorder目录下存放每个机顶盒的待播歌曲列表,文件名就是包厢的IP。evideo\ktv\download\ServerShare\Sharepersonalsong目录下存放个人歌库信息,每个文件名就使个人账户名,文件内存放此个人歌库的歌曲编码。***********.txt:记录个人歌库的信息,由ktvwatch负责生成***********.log:记录个人歌库的更改信息,由分发服务根据机顶盒请求生成例如:record||Administrator||abc||7||7||||列名对应数据库中的字段共享名KTV_RecordServer.ShareName用户名KTV_RecordServer.UserName密码KTV_RecordServer.PasswordIP1KTV_RecordServer.IP1IP2KTV_RecordServer.IP2IP3KTV_RecordServer.IP3IP4KTV_RecordServer.IP4第19页星云KTV7.0包厢管理功能模块介绍两个包厢管理工具:酒水收银系统的包厢管理 把包厢信息直接保存进入SQL数据库中,不使用servershare共享目录星云KTV系统自带的包厢管理 把包厢信息直接保存进入Ktv.txt中,需要使用servershare共享目录进行相关数据更新KTV管理收银系统的包厢管理:设置包厢时,包厢信息都直接保存在SQL数据库中。修改包厢状态时,状态改变也直接写入SQL数据库,并通过分发服务改变包厢状态。当连接的分发服务不能工作时,自动迁移到其它可用的分发服务上。星云自带的包厢管理:所有包厢设置信息都保存在ktv.txt文件中,通过分发服务改变包厢状态。当连接的分发服务不能工作时,自动迁移到其它可用的分发服务上。进行包厢信息的设置修改,只能在任意一个分发服务器上运行星云包厢管理工具,才能进行。目前需要注意的一个地方:不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。通过管理收银系统的吧台管理设置包厢信息后,都直接保存在了SQL中,并没有直接生成ktv.txt。所以,必须再通过星云包厢管理工具中的包厢信息导入功能,把SQL中的包厢信息保存成ktv.txt供分发服务使用。后续如果通过管理收银系统更改了包厢设置,也必须通过星云包厢管理工具重新导入,更新ktv.txt文件。这样的设计存在一些不方便,后续星云系统会进行改进。第20页本地数据库文件内容生成、更新、回写KTVWatch程序完成的工作:直接根据数据库内容生成:DByou目录下所有文件,都是“生成本地数据库”时,查询数据库后覆盖重写的,进行所以这些文件的修改时间基本都一样。ServerShare\Sharedata目录下path.txt、recordserver.txt、server.txt、服务器名.son,也是“生成本地数据库”时,查询数据库后覆盖重写的,文件修改时间与DByou目录下基本一致。先回写数据库,再生成:ServerShare\SharePersonalSong:先读取此目录下的所有记录个人歌库变化信息的”手机号.log”文件,回写进入SQL数据库。然后再根据SQL数据库中记录的个人曲库信息生成”手机号.txt”文件。ServerShare\ShareSongOrder:读取songorder.txt中记录的歌曲点播次数信息,更新数据库,然后清空此文件。ServerShare\ShareData:把BadPath.log、BadFile.log文件中记录的信息写入数据库,然后重新生成。包厢管理工具完成的工作:建立包厢信息:根据输入的设置,在运行包厢管理工具的服务器中ServerShare\ShareData目录下生成KTV.txt文件。注意,在无收银管理系统时,包厢的信息都是保存在此文件中,SQL中没有这些信息。设置包厢信息时,包厢管理工具直接写本地的ktv.txt文件,然后把此文件拷贝覆盖其它分发服务器共享目录下ktv.txt文件。修改包厢信息:当进行包厢设置修改时,必须在分发服务器上进行,否则无修改功能入口。修改的信息直接写入本机KTV.txt中,并直接通过目录共享机制,更新其它分发服务器上的ktv.txt中相关信息。当修改包厢设置时,包厢管理工具直接写本地的ktv.txt文件,然后把此文件拷贝覆盖其它分发服务器共享目录下ktv.txt文件。开关房操作:可以在任意机器上运行,包厢管理程序发包通知分发服务。分发服务不但要更新本机上的KTV.txt,还要通知其它分发服务进行更新。分发服务完成的工作:开关房信息更改:包厢管理工具直接发信息通知连接的分发服务,此分发服务直接更新本机ktv.txt中包厢开关房状态,然后再通知其它分发服务更改。点播次数信息:分发服务根据机顶盒点播请求,更改本机上的songorder.txt文件,然后再通过servershare共享目录拷贝到其它服务器。坏歌信息、坏路径信息:分发服务根据VOD服务的通知,更改记录。第21页不同分发服务器上关键信息的同步由于可能存在多台服务器,每个服务器上都有servershare目录和本地数据库文本文件。如果这些信息不能同步更新,则系统热迁移之后就会出现包厢状态信息不准、包厢已点歌列表丢歌等问题。所以星云KTV系统中必须有同步机制保证这些信息的同步KTV.txt包厢信息的同步不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。所以,不同服务器上的KTV.txt文件内容必须同步更新。同步机制:当修改包厢信息后,KTV.txt中会记录包厢信息的最后修改时间。分发服务启动时,会加载包厢信息的最后修改时间。每个分发服务会定时把本机ktv.txt中包厢最后更改时间通知其它分发服务。当某个分发服务对比发现其他服务器上的包厢信息设置时间更晚时,则从那台服务器上通过servershare共享目录拷贝包厢信息,并重新加载包厢信息。分发服务进行的同步:当机顶盒点歌列表、个人歌库、VIP歌库更改时,分发服务会在更新本机的信息文件后,通知其它分发服务进行更改。当VOD服务发现坏歌、坏硬盘后,会通知所有的分发服务更新本机的信息文件。当个人歌库、VIP歌库变化时,分发服务会先更改本机对应的文件,然后拷贝覆盖到其它分发服务器上。没有进行同步的信息:ServerShare\ShareSongOrder\songorder.txt中的记录的歌曲点播次数信息第22页星云KTV系统录音模块介绍数据保存方式:
通过Windows共享机制将原始的录音数据文件保存在录音服务器上,故无需专用的录音后台服务软件,只需通过录音配置工具进行相关设置即可。连接方式:机顶盒在接收到用户发出的录音信号后,首先检测其下载的机顶盒配置文件中是否开启了录音功能,如果开启了录音功能,则查询内存中KTV_RecordServer文件获得windows系统共享目录的访问帐号及密码,最后利用linux操作系统中提供的smb功能来连接windows共享目录(请注意设置录音服务器时设置的帐号及密码必须对共享目录具有写权限)服务帐号、密码的保存方式:访问windows共享目录的帐号和密码存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表第23页星云KTV系统录音模块介绍文件保存路径:
录音文件的存储路径被存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表录音文件格式及占用的网络带宽:录音时没有对音频数据做任何处理直接保存为wav格式的音频数据,音频数据的采样率为48K,码率约为1.6M(采用226芯片机顶盒的采样率为51K,码率约为1.7M)单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负载的情况下,也可以负载30个包厢同时录音用户可在网络启动Ⅱ代管理工具中为每台机顶盒设置通过哪张网卡访问录音服务器,故每个录音服务器不同网卡之间应该平均分配要负载的包厢数,同理,不同录音服务器之间也应该平均分配设置比较合理录音并发数不等于KTV包厢数,例如30个包厢的KTV,同时录音的人数有1/4就相当高了。所以,中小型的KTV可以把歌曲服务器同时作为录音服务器使用,请注意应在网络启动设置中对机顶盒访问录音服务器的网卡进行人工负载均衡第24页星云KTV系统录音模块介绍录音服务器的设置:
录音服务器上需要设置网卡IP、用户名、口令等,网络启动中设置每个机顶盒通过哪张网卡录音线的连接:功放把麦克风中唱歌者的声音、机顶盒Audio
out输出的音乐声进行混合处理,然后再通过功放的Audioout接口向外输出,请将功放的Audioout输出口与机顶盒的录音输入口连接。这样,机顶盒就可以获取到包含人声、歌曲旋律的混合声音,通过录音服务器共享的目录,以非压缩的Wav形式保存到服务器上。单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负载的情况下,也可以负载30个包厢同时录音第25页星云KTV系统录音模块介绍常见问题:
录音回放音视频信息不同步(大多数歌曲都不同步)请查看网络启动Ⅱ代中对录音采样率的设置,225机顶盒的录音采样率必需设置为48K,226机顶盒的录音采样率必需设置为51K请检查是否正确选择了对应的解码驱动,225机顶盒要用225机顶盒对应的驱动,226机顶盒要用226机顶盒对应的驱动设置完录音服务器,机顶盒报告没有设置共享目录这主要是因为7.0的系统采用的是本地数据库的访问机制,机顶盒在获取访问密码及其它相关信息时,是查询的本地数据库,而本地数据库上又没有相关信息,故导致机顶盒报告这类错误。可通过在服务器端重新生成本地数据库,并重启机顶盒来解决此错误也可能是由于共享文件夹及共享目录名都是中文文件名,linux系统无法支持中文共享目录名,故导致机顶盒报告这类错误将共享文件夹及共享目录名设置为英文,并重新生成本地数据库,最后重启机顶盒即可解决此问题第26页三、星云KTV主要功能模块工作原理第27页机顶盒端主要功能的工作原理和流程机顶盒上电至网络启动完成阶段的流程:参见视易技术支持工程师培训教程(中级).ppt中的”机顶盒启动过程”部分。主要是上电BIOS自检、寻找网络启动服务、下载启动文件、加载运行文件四个阶段。网络启动完成后,机顶盒内将自动运行KTV点歌客户端程序,开始下一阶段。机顶盒加载点歌程序至准备开始播放歌曲阶段的流程:KTV客户端程序首先查询网络上有哪些可用的分发服务,获得所有分发服务器网卡的IP列表后,随机排序生成新的列表。然后连接列表第一个分发服务IP,机顶盒访问分发服务的均衡就是通过这个随机排序实现的。如果某个分发服务IP无法继续通信或者受到屏蔽通知,则会自动尝试列表中下一个分发服务IP,这就是分发服务热迁移的原理。根据要连接的分发服务器IP地址,通过HTTP协议下载此IP上download目录下的歌星包、键码配置表、DByou目录下的文件、ServerShare目录下的文件。显示皮肤的缩略图,根据下载的信息在内存中建立本地数据库。准备结束后,显示皮肤首界面和走马灯。根据公播歌曲设置,向分发服务发出播放请求。机顶盒歌曲的选歌过程:根据用户操作,机顶盒查询内存中的本地数据库文件,获得用户查询的结果,通过不同的皮肤显示出来。用户操作过程中产生的需要保存数据,直接发给当前连接的分发服务进行保存。机顶盒的接收缓冲池概念进数据:VOD服务发送过来的数据,直接放入机顶盒的接收缓存区中。出数据:解码芯片直接从机顶盒接收缓存区中取数据,进行解码播放。进出速度的平衡:正常情况下,进的速度>出的速度,才能保证播放流畅。否则,接收缓存区欠载,会出现播放时声音、画面一段时间内连续停顿。速度不平衡的原因:网络存在带宽瓶颈服务器负载并发点播超限通过拔网线的方式可以对比判断是否此原因。拔掉网线后机顶盒内接收缓存区的数据还可以供解码芯片播放几秒。如果拔掉网线,机顶盒立即停止播放,则很可能是缓存区欠载导致。如果还能播放1-2秒钟,则可能是歌曲问题导致播放停顿,可以在别的包厢测试一下此歌曲播放。第28页机顶盒端主要功能的工作原理和流程机顶盒的点播流程第29页机顶盒端主要功能的工作原理和流程机顶盒原伴唱切换概念机顶盒通过双路解码机制,可以同时把DVD歌曲的原伴唱音轨进行解码,切换原伴唱就相当于选择输入哪个音轨解码后的数据,故实现了零秒原伴唱切换。目前只有7008、8008、双面伊人机顶盒有此功能。没有双路解码机制的机顶盒,还是要解码芯片切换解码另一条音轨,故多音轨歌曲原伴唱切换要慢。VCD歌曲因为只有一条音轨,原伴唱通过切换左右声道实现,也相当于零秒原伴唱切换。机顶盒的热迁移机制:分发服务的热迁移:当分发服务器通讯中断后,立即根据随机排序的分发服务器列表,切换到其它分发服务器。VOD服务的热迁移:每次机顶盒请求点播时,分发服务自动会在未屏蔽的VOD服务中,根据负载均衡选择合适的VOD服务。第30页星云包厢工具控制包厢状态包厢管理工具只是发出开关房指令,由分发服务完成相关的工作,最后分发服务再通知星云包厢管理工具最终的包厢状态。第31页管理收银系统控制包厢状态第一步写数据库成功后才会进行后面的操作。为了保险,管理收银系统会通知分发服务、机顶盒都进行开关房动作。二者都进行开关房的动作,确保执行成功。第32页使用星云包厢管理时包厢申请开关房星云包厢管理工具是通过定时访问分发服务获得包厢当前状态信息的,不是直接读取ktv.txt文件。第33页使用管理收银系统时包厢申请开关房第三步后,机顶盒就切换到开关房状态。然后申请分发服务进行强制更新包厢状态。可同时使用星云包厢管理工具,定时从分发服务获得当前包厢状态。第34页星云KTV系统各主要模块关系图第35页KTVWatch程序的工作流程查询加密狗是否存在,不存在则报警。生成本地数据库:启动后,等待30秒。开始查询c:\startvod.ini中数据库参数并连接。首先根据servershare目录下本地信息表回写更新数据库。然后重新生成本地数据文本文件。因需要耗费CPU资源,影响VOD、分发服务工作,所以此时VOD、分发服务都必须停止。启动VOD、分发服务VOD的运行日志保存在c:\vodsys.log分发服务窗口直接显示分发服务的运行信息,每个服务器的负载情况。同时把一些关键的运行日志保存在c:\TSServer.log目录下根据分发服务、VOD服务送来的信息,在KTVWatch监控窗口中显示系统运行信息。例如网卡被屏蔽、VOD服务被屏蔽等。同时,把KTVWatch的运行信息写入c:\watch.log文件。根据需要,显示加密狗授权信息。第36页网卡容错的工作原理网卡容错原理:主动检测:分发服务启动后,每隔20秒,会逐个通过每台服务器的每张网卡测试连接VOD服务。如果通过某个网卡连接VOD服务失败,则分发服务就屏蔽该网卡。如果某个已经屏蔽的网卡又可以连通VOD服务,则自动解除该网卡的屏蔽。触发检测:当机顶盒要点播某个歌曲时,分发服务确认需要通过哪个服务器的网卡点播,在返回给机顶盒点播链接之前,会先测试连接VOD服务,如果失败,则屏蔽该网卡。触发网卡被屏蔽的因素:VOD服务故障网线未插网卡故障第37页VOD服务容错的工作原理分发服务会主动和触发式的检测VOD服务,当测试连接VOD服务不成功时,会有两种原因:VOD服务故障:KTV系统会再PING一下当前连接的网卡,如果可以PING通,说明网卡正常,则报告VOD服务被屏蔽。网卡故障:如果PING不通,说明是网卡故障,则报告是网卡故障。第38页坏歌屏蔽的工作原理坏歌屏蔽:VOD服务响应点播请求后,读取要播放的文件,如果读取失败,则会触发歌曲屏蔽动作。一般有如下原因会导致歌曲被屏蔽:文件不存在、文件不可读文件读取过程中出错。例如读取超时。请注意:硬盘逻辑坏扇区、物理坏扇区导致都会导致读取超时,此时操作系统都可能被阻赛,导致所有程序执行被暂停。等到恢复时,可能会发现所有的点播并发读文件都超时,进而屏蔽当前所有正在播放的歌曲。目录屏蔽如果打开某个文件失败,则系统自动接着检查此歌曲所在的目录是否正常。如果不正常,则进行屏蔽,并报警。第39页网络对时的工作原理因为不同分发服务之间要根据时间同步ktv.txt,为了保证不同服务器时间一致,星云KTV中加入了自动对时的机制,确保所有服务器时间一致。第40页KTV系统多语支持工作原理文字显示:星云KTV系统在安装时会自动将韩日文字库安装到c:\download\ktv\wordlib子目录下,日文字库文件名为japanese24x24.bmf,韩文字库文件名为korean24x24.bmf,请注意此字库仅供机顶盒使用,windows系统无法使用此字库来识别日语及韩语。显示文字时,由操作系统调用相应的字库来显示对应的文字。皮肤显示:星云KTV系统提供了专用的韩语及日语皮肤来显示对应语种的点播交互界面歌曲导入:请使用“服务器配置工具”中的“外语硬盘搜歌”工具来导入日语、韩语歌曲搜歌文件的制作:制作搜歌文件的计算机中必须安装有韩语及日语字库(能在windows系统中使用的字库,不是星云系统安装的字库),日韩语文字在数据库中是以可变长度的Unicode类型来编码保存的(nvarchar类型),从数据库中导出为搜歌文本文件时,请选择采用Unicode编码保存歌曲数据第41页大厅转播功能的工作原理
——网络大厅转播方案大厅转播的形式:把摄像头的AV输出接口与采集卡的AV输入口连接。采集卡对摄像头输入的数据进行实时的采集、编码成MPEG数据。可直接保存到硬盘上(监控应用),也可以通过网络以组播(MultiCast)的形式,遵循IGMP协议,广播到网络上。大厅转播的本质:大厅转播本质上是利用广播包的形式,持续不断的把采集卡编码后的数据发送到网络上,而不管是否有机顶盒在接收播放。这就像是电视台通过闭路线播放电视节目一样:实时的在向外广播推送数据,只占用一个节目的带宽,网络上所有机顶盒都可以接收播放。与点播(UniCast)不同,组播不存在并发负载的概念。网络上可以实时转播多个频道,而并非一个。例如小姐房、大厅表演同时转播到网络上。请注意,组播本质是通过广播包实现的。如果使用普通不支持IGMP协议的二层交换机,每个广播包都会被交换机转发到所有的端口,每个机顶盒的网卡都会接收到。然后判断是否需要,不需要则丢弃。所以,如果网络上存在多个组播频道,当所有频道的组播码流很高时,不但会占用每个端口的带宽,机顶盒因需要处理识别每个广播包而影响的正常点播。一般每个采集卡只能同时采集处理一个摄像头的数据,每个PC只能使用一张采集卡,所以多个摄像头必须使用对应数量的采集卡和PC。现在也有多通道的采集卡,单张卡集成多个编码芯片,实现一卡同时支持多路采集。多频道的大厅转播:组播使用D类IP地址,范围在到55之间。每个D类IP地址加上端口号,就唯一对应了一个组播频道。例如:2010、:2011、:2010、:2011每个采集卡的实时转播软件上,组播发送地址设置为不同的D类IP+端口,就形成了不同的频道,机顶盒可以选择接任一个频道。一般不同频道的标识采用IP相同,而端口不同方式进行。第42页大厅转播功能的工作原理
——网络大厅转播方案大厅转播对交换机的要求:交换机分为二层交换机、三层交换机两种。二层交换机工作在网络七层协议模型的第二层,完全根据每个数据包的MAC地址进行转发交换。三层交换机同时工作在网络七层协议模型的第二层和第三层,可根据每个数据包的IP地址、MAC地址进行转发交换。故三层交换机可以支持VLAN、IGMP等协议,也称为网管交换机。对组播包的处理二层交换机不识别处理D类地址,只是简单的把组播数据包转发到所有的网络端口。当网络上有多个实时转播时,每个端口的机顶盒就会收到所有的数据。机顶盒会对收到的每个数据包进行判断是否自己需要的数据,不是则丢弃。但当组播的总码率太高,就会过多地占用机顶盒的处理器资源,影响正常的点播数据接收。例如当多个转播的总码率超过5Mbps时,机顶盒就可能出现播放停顿的现象。三层交换机会根据每个数据包的IP地址进行判断转发。如果支持IGMP协议,只有当某个交换机端口连接的机顶盒需要接收大厅转播时,交换机才会把对应频道的数据送给机顶盒。对机顶盒网络口来说,永远只有需要的数据,而没有不需要的数据。注意:所有交换机都必须是支持IGMP协议的三层交换机,才能实现无限多路的大厅转播。交换机的表现现象通过二层交换机进行大厅转播时,因为不停的转播到所有端口,会看到所有交换机端口都在不停的闪烁。通过三层交换机进行大厅转播时,因为支持IGMP协议,会看到只有处于点播或者接收大厅转播的端口数据传输指示灯在不停闪烁,其它端口的不会闪烁,表明对大厅转播进行了过滤。交换机选型:二层交换机:华为1208+锐捷1826T,都是二层交换机。三层交换机:接入机顶盒的交换机全部采用锐捷RG-S2024E模块化交换机。大厅转播质量采集卡可以设置图像编码的类型和码率,可以选择编码成VCD、DVD格式及相应的码率。如果使用二层交换机,大厅转播的总码率不能超过5Mbps,相当于VCD三路转播、DVD两路转播。第43页大厅转播功能的工作原理
——闭路大厅转播方案闭路大厅转播的形式:把摄像头的AV输出接口与闭路调制器AV输入口连接。闭路调制器负责将AV视频信号转换为闭路电视信号调制解调器的RF输出,接闭路混频器的RF输入闭路混频器的RF输出接闭路分频器的RF输入闭路分频器的RF输出,接双显王机顶盒的闭路输入闭路大厅转播方案涉及的设备:闭路调制器闭路混频器闭路分频器闭路线、F头、闭路头摄像头闭路大厅转播的优点:无转播路数限制歌舞双显的显示效果,足以吸引绝大多数客户的目光闭路大厅转播的缺点:需多布一根闭路线,且布线相对复杂第44页分发服务是系统正常运转的核心通过以上的介绍大家可以看到,分发服务就使星云KTV整个系统关键的调度核心。分发服务记录着当前所有服务器的工作负载状况,决定机顶盒点播请求的分配权。机顶盒完全根据分发服务的分发服务控制着网卡、VOD服务、歌曲、注册路径的屏蔽权,从而又控制着系统的热迁移机制。分发服务记录系统运行过程中,servershare目录下关键内容的更新。例如包厢点歌列表、点播排行等分发服务控制着机顶盒的开关房状态信息维护、总台信息的通知。分发服务本身也是有热迁移功能的。机顶盒内有经过随机排序的分法服务IP列表,如果当前的分发服务不能通信,则会自动尝试列表中的下一个分发服务IP。这个过程很快,不会影响播放速度。第45页四、星云KTV数据库中重要的表第46页星云KTV数据库中重要的表服务器端:SQLServer中的eVideoKTV数据库:重要的表:Server、FilePath、Media、MediaFile。这几个表中包含了系统配置、系统运行的重要信息。Server表的重要字段说明:Server表中记录所有VOD服务器的ID、机器名、IP地址、每个网卡的负载信息和是否被屏蔽、每个网卡的最大负载限制。ServerID:某个VOD服务器的编号,与FilePath表、MediaFile表中的ServerID字段相关联对应,标识某个文件在哪个服务器的哪个目录下,不能错乱。否则会造成VOD服务查询数据库获得文件路径错误,导致机顶盒端不能播放歌曲。ServerName:VOD服务器的机器名Weight:决定不同VOD服务器之间负载数量的权重,保留字段,无用。IP1,IP2,IP3,IP4:每个VOD服务器上网卡的IP地址。IPload1,IPload2,IPload3,IPload4:每个VOD服务器每个网卡当前负载的并发流数。IsValid:是否被屏蔽。1为正常;0为被屏蔽。IP1Disabled,IP2Disabled,IP3Disabled,IP4Disabled:网卡1-4是否被屏蔽。0为未屏蔽;1为已屏蔽。FilePath表的重要字段:FilePath表记录了每个VOD服务器的注册路径信息FilePathID:VOD服务器上注册路径的IDServerID:注册路径所在VOD服务器的ID,对应Server表中ServerIDFilePath:注册路径实际的目录路径IsValid:表示此目录是否有效。1为有效;0为无效;第47页星云KTV数据库中重要的表服务器端:Media表的重要字段:记录每个节目文件的唯一编号、节目编码、文件名称、原伴唱音轨、音量信息。不同VOD服务器上相同编码的歌曲也只对应一条记录。也就是说,media表有多少行,就有多少首可用歌曲。MediaID:每个可点播歌曲文件对应的一个唯一编码,不重复。不同服务器上相同编码歌曲MediaID相同,且对应Media表中一条记录。MediaSerialNo:每个歌曲文件的编号,5位。客户自己添加的歌曲从93000开始编号。FileName:每个歌曲文件对应的文件名,不包含路径信息。OrignalSoundTrackID:原唱音轨的标识。AccompanyTrackID:伴唱音轨的标识。DefaultVolume:默认的播放音量。MediaFile表的重要字段:记录磁盘上每个歌曲实际文件的信息,每一个物理文件都对应一行记录。FileID:磁盘上每个歌曲文件对应的一个唯一编码,不重复。不同服务器上相同歌曲的MeidaID相同,但FileID不相同。MediaID:与Media表中MediaID字段相对应。FilePathID:文件所在目录对应的FilePath表中的路径ID。EstablishTime:此物理文件搜歌进入数据库的时间。第48页星云KTV数据库中重要的表服务器端:KTV_Auxiliary表的重要字段:记录了歌曲名称、歌星、拼音、语别、字数具体信息的表MediaID:每个可点播歌曲文件对应的一个唯一编码,不重复。与Media、MediaFile表中同名字段相对应。LanguageID:歌曲
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度建筑材料加工生产合同范本4篇
- 专业出国留学辅导协议样本(2024)版B版
- 2025年度医疗器械紧急运输服务协议3篇
- 2025年度数据中心场地租赁合作协议4篇
- 2025年度食品试用及消费者满意度调查合同4篇
- 2025年度绿色建筑设计与施工一体化服务合同4篇
- 2025年度市政基础设施改造铲车租赁协议书4篇
- 二零二四全新建筑工程施工联营协议书下载3篇
- 2024重庆离婚协议书标准范文
- 二婚再婚2024年度财产共有协议
- 2024年黑河嫩江市招聘社区工作者考试真题
- 第22单元(二次函数)-单元测试卷(2)-2024-2025学年数学人教版九年级上册(含答案解析)
- 蓝色3D风工作总结汇报模板
- 安全常识课件
- 河北省石家庄市2023-2024学年高一上学期期末联考化学试题(含答案)
- 2024年江苏省导游服务技能大赛理论考试题库(含答案)
- 2024年中考英语阅读理解表格型解题技巧讲解(含练习题及答案)
- 新版中国食物成分表
- 浙江省温州市温州中学2025届数学高二上期末综合测试试题含解析
- 2024年山东省青岛市中考生物试题(含答案)
- 保安公司市场拓展方案-保安拓展工作方案
评论
0/150
提交评论