《视易KTV点歌机系统安装说明.ppt》由会员分享,可在线阅读,更多相关《视易KTV点歌机系统安装说明.ppt(53页珍藏版)》请在三一办公上搜索。
1、第1页,视易星云KTV系统培训教材-原理篇,河北鼎杰科贸13331399537031187863444,第2页,原理篇的目的 让大家了解熟悉星云KTV7.0系统的各重要模块组成及功能、各模块之间的关系、系统各主要功能的流程等内部原理。学习完本教材后,就像庖丁解牛一样,让大家对星云KTV7.0系统的工作原理和流程有清晰的认识,最终形成清晰的解决思路。使用读者 安装使用过星云KTV系统的读者学习建议 原理性的教材内容必须至少学习3-5遍才能彻底理解并牢记。同时也可以做为手册使用,在碰到问题时进行查阅。,读者对象,第3页,星云KTV系统的主要功能介绍星云KTV系统的主要功能模块介绍星云KTV系统主要
2、功能模块工作原理星云KTV数据库重要的表系统实施拓扑图详解VODsys.log运行信息解读,内容提纲,第4页,一、星云KTV系统主要功能介绍,第5页,KTV系统主要功能,KTV系统功能看似复杂,其实我们只要抓住主要的功能模块入手学习,就能去繁就简,快速掌握系统运行的经脉。选歌 星云KTV提供图形化的点歌界面供客人选歌。不管点歌界面如何千变万化,客人选歌的过程其实就是机顶盒根据客人操作,进行如下功能模块的过程:查询数据库获得歌曲信息:是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何查询获取到歌曲信息的。显示查询结果:不容易受外界因素影响出现问题,除非是程序有错误、机顶盒内存
3、不足原因,一般不容易出现错误。保存操作结果:是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何保存点歌列表、我的歌库等信息的。播歌 客人选中歌曲后,机顶盒就要通过网络从服务器获得歌曲数据播放,并响应暂停、停止、重唱等播放控制请求。此过程很容易受网络、服务器影响而出现问题,但还是有规律可循,这部分功能的工作原理对大家排查现场问题非常重要。,第6页,KTV系统主要功能,稳定性和容错性功能热迁移功能系统自动屏蔽故障的VOD服务、分发服务,并自动识别已经恢复的服务器。这部分的工作原理很重要,大家需要仔细了解。负载均衡功能系统自动在服务器之间、不同服务器的网卡间、同一服务器的不同硬盘
4、之间对点播相同歌曲的并发流进行均衡分配。此功能由程序代码自动实现,受外界因素干扰小。硬件容错功能系统自动识别屏蔽不能正常工作的网卡、硬盘、歌曲。此部分功能由程序代码自动实现,受外界因素干扰小。后台管理后台管理模块独立性强,为系统运行提供内容和设置保证,出现问题容易排查。曲库管理:用来维护歌曲库文件和歌曲信息包厢管理:用来维护包厢设置和状态信息系统设置维护模块:设置系统运行必需的参数,大家要理解每个参数的作用、影响的模块运营管理也就是KTV酒水收银管理系统,相对点歌系统独立运行,会另有培训教材进行培训。,第7页,二、星云KTV主要功能模块的介绍,第8页,星云KTV VOD服务模块,功能:响应机顶
5、盒的点播请求,把对应的歌曲按照一定的码率,按照视频点播协议,采用流媒体机制传输给机顶盒。每台VOD服务器上都要运行此服务。运行形式:VOD服务模块就是:星云KTV安装目录evideoKTVbinvodservice.exe文件。作为后台服务程序,没有人机交互界面,Win2K系统启动后自动以服务的形式运行。可以进入”管理工具”-”服务”中,服务名称是”START VOD Service”。资源需求:内存资源:VOD服务启动时,会检测系统物理内存是否满足需要,不满足则不自动。判断规则为:系统物理内存=256M(留给Win2K系统使用)+授权并发流数*4M字节(每个点播并发流需要的内存)。所以512
6、M内存最多只能负载64个并发流。数据库资源:VOD服务运行过程中,需要访问SQL数据库,获取ID号对应的歌曲存放目录。配置参数文件:VOD服务需要的参数都保存在c:StartVOD.ini中,特别是VOD服务要访问的SQL服务器信息。此配置文件说明见备注。版本区别:演示版本:为了演示方便,不需要加密狗,但最多只能同时支持3个并发流。正式版本:需要加密狗才能运行。以上两个版本的Vodservice.exe文件不一样。,第9页,星云KTV VOD服务模块,授权限制:加密狗不认服务器:注册加密狗时可以在任一台服务器上进行,加密信息写入加密狗中,插到任何一台服务器都可以使用,与服务器硬件没有关系。授权
7、次数:总共只有6次输入授权的机会,5次输入限时授权机会,一次输入正式授权机会。所以每个授权都有标明对应的次数。授权优先级关系第一次授权的优先级最低,正式授权的优先级最高,即NO1NO2NO3NO4NO5正式。在使用对应次数的授权过期后,再注册必须使用更高优先级的授权。例如,第4次授权过期后,必须使用第5次或者正式授权。如果低优先授权没有过期,而输入了更高优先级授权,则低优先级授权自动作废,启用更高优先级授权;一旦输入正式授权码,则加密狗变成正式授权,不能再使用限时授权。如果想再使用限时授权,必须更换加密狗。功能授权:授权码中含有是否能够使用某些需要付费购买功能的授权信息,例如多合一、热迁移等。
8、运行监控:VOD属于后台运行的服务,无GUI界面。VOD服务的所有运行信息都保存进入c:vodsys.log文件中,按时间顺序写入,最后的信息是最近发生的。要查看VOD所有的运行信息,只能通过查看此文件,这一点非常重要。VOD服务运行命令行参数:VodService.exe install:注册VODService.exe程序成为Win2K系统的服务。VodService.exe remove:从Win2K的服务列表中删除此服务VodService.exe start:启动VOD服务。,第10页,星云KTV VOD服务工作流程,VOD服务启动和工作流程:VOD服务启动,读取c:startvod
9、.ini中配置信息进行初始化。如果初始化失败,则把失败原因写入c:vodsys.log文件然后退出。读取加密狗获得授权并发流数信息,申请一定数量的内存。如果申请内存失败,则把失败原因写入c:vodsys.log文件然后退出。开始监听机顶盒的点播请求。有点播请求时,判断当前的并发流是否已经超过授权数。如果没有,再根据RTSP点播协议进行交互。机顶盒通知VOD服务需要点播歌曲的文件ID号(非歌曲编号)。VOD服务查询本地信息文件,获得歌曲文件ID号对应的歌曲存放目录和文件名。如果此歌曲不存在,则通知TSServer进行坏歌屏蔽。按照节目的码率,遵循RTSP协议,以数据流的形式把歌曲数据源源不断的传
10、输给机顶盒。机顶盒端一边通过网络接收歌曲数据放入内存缓存中,一边从缓存中取出数据交给解码芯片播放。就像一个水池,一边进水一边出水。进水的速度必须大于出水的速度,否则会出现接收缓存区欠载出现歌曲播放停顿的现象。如果出现读取歌曲失败、超时等错误,则通知TSserver进行坏歌屏蔽。相应机顶盒端的暂停、停止操作指令。以上每个动作对应的运行状态信息都记录进入c:vodsys.log文件中。,第11页,星云KTV VOD服务工作流程示意图,第12页,TSserver服务模块是非常重要的模块,也称作分发服务,每台VOD服务器上都需要运行此服务。功能相当于KTV系统各功能模块之间的交通警察,进行负载均衡调度
11、、硬件故障屏蔽处理、指挥实现热迁移功能、汇报指挥调度情况。对应文件就是:星云KTV安装目录evideoKTVbinTSServer.exe文件,非后台服务程序,有操作界面。通过屏幕右下角系统托盘上的图标指示工作状态。运行监控 调出TSserver监控界面的方式是:双击系统托盘上KTVwatch状态图标-在弹出的对话框上双击状态栏,即可进入。监控界面会实时显示分发服务的工作状态和运行信息。请务必注意TSserver属于应用程序进程,不能通过系统工具栏进行关闭。功能描述:统计记录系统负载情况VOD服务在开始、结束一个点播流时,都会通知所有服务器上的TSserver。分发服务会在内存中维护一张所有网
12、卡、硬盘的负载情况表,并根据VOD服务通知而动态修改。硬盘负载均衡 TSserver在启动时,会从本地信息文件(不是SQL数据库)中获取到所有服务器硬盘盘符和其上保存的歌曲的文件ID(文件ID歌曲编号)对应表。当机顶盒点播一个节目前,分发服务查询得到保存有此歌曲所有硬盘中负载最轻的,把此硬盘上该歌曲的文件ID告诉机顶盒,机顶盒以此文件ID向VOD服务申请点播。网卡负载均衡在形成点播链发送给机顶盒前,分发服务会从内存记录中,确定歌曲所在的哪个服务器负载最轻,该服务器哪个网卡负载最轻,告诉机顶盒从哪个网卡进行点播。硬件容错当VOD服务发现文件、硬盘、网卡故障时,会通知分发服务。分发服务会记录下来,
13、并且在负载均衡时,排除这些设备。,星云KTV TSserver分发服务模块,第13页,星云KTV TSserver分发服务模块,功能描述:判断和触发VOD服务热迁移分发服务在生成点播链之前,会先按照RTSP协议进行虚拟交互,判断负载均衡机制选择的VOD服务是否可以正常工作。如果发现改VOD服务不能正常服务,则会标示该VOD服务不可用,不再参与负载均衡机制。后续机顶盒再点播到此服务器上歌曲时,分发服务直接让机顶盒切换播放下一首歌曲。这个过程就是VOD服务的热迁移。当服务器有冗余备份时,热迁移后,机顶盒还是可以点播到所有的歌曲。当服务器没有冗余备份,热迁移后,机顶盒可以查询和选择故障服务器上的歌曲
14、,但播放时会跳歌。后续的版本会实现机顶盒端对此情况下故障服务器上的歌曲自动屏蔽显示,客人不会看到这些歌曲。故障服务器的恢复识别分发服务会定时自动判断已经被屏蔽的VOD服务是否恢复了正常。如果已经恢复,则自动把该VOD服务标示为正常,参与负载均衡机制,对外提供服务。服务器之间信息同步分发服务会自动在不同服务器之间同步包厢状态信息、已点歌曲列表、个人歌库等(设计本地数据库机制,后面会详细讲述)。付费功能限制:分发服务启动时,会自动判断是否授权使用多合一功能、热迁移功能。系统自动对时:分发服务会自动同步PC时钟,以时间最晚的服务器为准,修改其它服务器的时间,确保所有分发服务所在的机器时间一致。避免出
15、现开关房时间不统一等问题。如果要更改服务器时间,必须先关闭所有的分发服务后,才能进行。,第14页,星云KTV系统服务监控模块,运行形式:服务监控模块就是:星云KTV安装目录evideoKTVbinktvwatch.exe文件。星云系统安装后,会在系统启动时自动运行,并自动最小化以托盘图标的形式体现。关键功能介绍:监控服务运行:实时监控VOD、TS服务的运行状态,当监测到服务停止时,可自动启动这些服务。生成机顶盒端本地数据库信息文件:启动后,自动根据SQL数据库内容,查询、转换生成机顶盒本地数据库机制需要的固定格式的信息文件。Dbyou目录下所有文件、servershare目录下部分文件是由KT
16、Vwatch每次启动时根据数据库重新生成。回写数据库:把ServerShare目录下记录的机顶盒工作信息数据,回写进入数据库。例如点播排行、个人歌库信息等提供系统工作信息查询提供系统工作状态的信息提示,例如网卡、硬盘屏蔽的信息、TS服务运行信息的提供。提供授权信息查询可以查询加密狗授权信息,例如第几次授权、已经授权次数、剩余授权时间。,第15页,星云KTV系统本地数据库机制,以前的网络数据库机制:歌曲信息、包厢状态信息、已点歌曲列表、个人歌库等信息都是保存在SQL Server中的,必须实时访问SQL Server才能获取/更新这些信息。机顶盒因为采用嵌入式Linux系统,不能直接访问SQL数
17、据库,故通过一个数据库访问代理程序DBServer来中转一下。机顶盒每次需要显示信息时,都需要访问DBServer。例如翻页显示歌曲列表时。所有机顶盒都在使用时,导致DBServer和SQL Server负载很重,效率低,且容易出现问题。为保证数据库查询实时性,35个点以上时都需要单独的SQL服务器。网络一旦出现问题,机顶盒端就不能进行歌曲查询的工作;本地数据库机制:服务器启动时,自动查询SQL Server,获得机顶盒工作需要的数据库信息,并以文本格式的文件保存下来。机顶盒启动时,会自动下载这些文件,然后在内存中建立一个本地数据库表。机顶盒需要查询歌曲信息时,是从本机内存中的数据库中查询显示
18、结果。所有机顶盒都是各自查询自己的本地数据库,大大减轻了服务器的压力和对网络的依赖。本地数据库查询速度快,工作可靠稳定,间接提升了服务器端的稳定性。机顶盒只在更新已点歌曲列表、个人歌库等情况下,才发给分发服务器,保存在文本格式的数据文件中。如果不重新生成本地数据库且重新启动机顶盒,机顶盒端不会立即看到对曲库做的修改。,第16页,星云KTV 7.0系统本地数据库机制介绍,星云KTV从6.0版本开始使用本地数据库机制,7.0及后续版本把本地数据库机制进行了改进,极大的减少了对SQL Server的依赖。机顶盒工作需要的所有数据库信息,在原先的网络数据库机制下,是通过读取/更新SQL数据库实现。在本
19、地数据库机制下,全部保存在每台分发服务所在的机器中evideoktvdownload目录下的本地文本格式的数据库文件中。数据库信息文件由KTVWatch程序在每次启动时,会查询SQL数据库,生成文本格式的数据文件,保存在evideoktvdownloaddbyou目录下。例如歌曲信息、歌星信息、注册路径等。并且可以随时重新生成本地数据库信息文件机顶盒启动时,通过分发服务器所在的IIS服务,以http协议自动下载这些文件,并转换为内存中的本地数据库。机顶盒工作信息记录文件机顶盒在工作过程中,会产生一些需要保存的信息,如已点歌曲列表、个人歌库等信息。机顶盒会通知分发服务进行保存,以文本文件的形式保
20、存在服务器上的evideoktvdownloadServerShare目录下相关文件中。星云KTV 7.0及后续版本只在启动时,KTVwatch生成dbyou目录下数据文件时需要访问SQL server,当本地数据库生成后,点歌系统就完全脱离SQL,即使关闭SQL服务,而不影响系统的运行。虽然在本地数据库机制下,包厢管理工具、机顶盒不会再访问SQL服务。请注意曲库管理工具、星云酒水收银管理系统还是基于SQL数据库的。,第17页,星云KTV 7.0系统本地数据库文件介绍,提供机顶盒运行时需要查询信息的本地数据文件,存放目录为:evideoktvdownloaddbyou。setting.ini:
21、记录机顶盒播放相关设置的配置文件。song.txt:总曲库信息文件。Songcfg.ini:因总曲库信息文件太大,下载处理不方便,故把总曲库song.txt分成几部分下载,此文件记录总曲库分割的信息;MaxSongNum=*,总库文件中歌曲数量SongFileNum=N,记录总库文件被分割为几个文件下载,例如=3,则就会有song1.txt song2.txt song3.txtsong1.txt、song2.txt、song3.txt:把总库分割后的子文件,数量与songcfg.ini中SongFileNum数值对应。singer.txt:记录所有歌星信息。MovieType.txt:记录电
22、影类型信息。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:不同类别
23、、语种歌曲的子点播排行。,第18页,星云KTV 7.0系统本地数据库文件介绍,保存机顶盒运行过程信息的本地数据文件,存放目录为:evideoktvdownloadServerShare。请大家注意,此目录必须以共享名Servershare进行共享。evideoktvdownloadServerShareShareCall目录,保留目录,目前没有使用。evideoktvdownloadServerShareShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录Server.txt:记录服务器设置信息的文件,对应数据库中的Server表。,例如:Server1|1|192.168.
24、20.17|1|15|192.168.21.17|0|45|格式为:服务器名|服务器是否可用|服务器IP1|IP1是否屏蔽|网卡1的权重|服务器IP2|IP2是否屏蔽|网卡2的权重|服务器IP3|IP3是否屏蔽|网卡3的权重|服务器IP4|IP4是否屏蔽|网卡4的权重|,第19页,星云KTV 7.0系统本地数据库文件介绍,evideoktvdownloadServerShareShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录path.txt:记录每个服务器上歌曲存放目录信息,对应数据库中filepath表。服务器名.son:记录该服务器名对应服务器上存放的歌曲信息,例如:
25、Server1|1|c:evideoktvdownload,例如:2|93000|93000|2|d:music|93000.vob,第20页,星云KTV 7.0系统本地数据库文件介绍,evideoktvdownloadServerShareShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录RecordServer.txt:记录保存录音服务器配置信息。KTV.TXT:记录包厢设置信息、开房时间信息、包厢选用的皮肤、区域信息、包厢类型、员工信息等表。SongBankPwd.txt:把所有个人曲库密码都记录在此文件中。BadPath.log:记录系统工作过程中发现的坏路径信息B
26、adFile.log:记录系统工作过程中发现的怀歌曲信息evideoktvdownloadServerShareshareorder目录下存放每个机顶盒的待播歌曲列表,文件名就是包厢的IP。evideoktvdownloadServerShareSharepersonalsong目录下存放个人歌库信息,每个文件名就使个人账户名,文件内存放此个人歌库的歌曲编码。*.txt:记录个人歌库的信息,由ktvwatch负责生成*.log:记录个人歌库的更改信息,由分发服务根据机顶盒请求生成,例如:record|Administrator|abc|192.168.20.17|192.168.21.17|,
27、第21页,星云KTV 7.0包厢管理功能模块介绍,两个包厢管理工具:酒水收银系统的包厢管理 把包厢信息直接保存进入SQL数据库中,不使用servershare共享目录星云KTV系统自带的包厢管理 把包厢信息直接保存进入Ktv.txt中,需要使用servershare共享目录进行相关数据更新KTV管理收银系统的包厢管理:设置包厢时,包厢信息都直接保存在SQL数据库中。修改包厢状态时,状态改变也直接写入SQL数据库,并通过分发服务改变包厢状态。当连接的分发服务不能工作时,自动迁移到其它可用的分发服务上。星云自带的包厢管理:所有包厢设置信息都保存在ktv.txt文件中,通过分发服务改变包厢状态。当连
28、接的分发服务不能工作时,自动迁移到其它可用的分发服务上。进行包厢信息的设置修改,只能在任意一个分发服务器上运行星云包厢管理工具,才能进行。目前需要注意的一个地方:不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。通过管理收银系统的吧台管理设置包厢信息后,都直接保存在了SQL中,并没有直接生成ktv.txt。所以,必须再通过星云包厢管理工具中的包厢信息导入功能,把SQL中的包厢信息保存成ktv.txt供分发服务使用。后续如果通过管理收银系统更改了包厢设置,也必须通过星云包厢管理工具重新导入,更新ktv.txt文件。这样的设计存在一些不方便,后续星云系统会进行
29、改进。,第22页,本地数据库文件内容生成、更新、回写,KTVWatch程序完成的工作:直接根据数据库内容生成:DByou目录下所有文件,都是“生成本地数据库”时,查询数据库后覆盖重写的,进行所以这些文件的修改时间基本都一样。ServerShareSharedata目录下path.txt、recordserver.txt、server.txt、服务器名.son,也是“生成本地数据库”时,查询数据库后覆盖重写的,文件修改时间与DByou目录下基本一致。先回写数据库,再生成:ServerShareSharePersonalSong:先读取此目录下的所有记录个人歌库变化信息的”手机号.log”文件,回
30、写进入SQL数据库。然后再根据SQL数据库中记录的个人曲库信息生成”手机号.txt”文件。ServerShareShareSongOrder:读取songorder.txt中记录的歌曲点播次数信息,更新数据库,然后清空此文件。ServerShareShareData:把BadPath.log、BadFile.log文件中记录的信息写入数据库,然后重新生成。包厢管理工具完成的工作:建立包厢信息:根据输入的设置,在运行包厢管理工具的服务器中ServerShareShareData目录下生成KTV.txt文件。注意,在无收银管理系统时,包厢的信息都是保存在此文件中,SQL中没有这些信息。设置包厢信息
31、时,包厢管理工具直接写本地的ktv.txt文件,然后把此文件拷贝覆盖其它分发服务器共享目录下ktv.txt文件。修改包厢信息:当进行包厢设置修改时,必须在分发服务器上进行,否则无修改功能入口。修改的信息直接写入本机KTV.txt中,并直接通过目录共享机制,更新其它分发服务器上的ktv.txt中相关信息。当修改包厢设置时,包厢管理工具直接写本地的ktv.txt文件,然后把此文件拷贝覆盖其它分发服务器共享目录下ktv.txt文件。开关房操作:可以在任意机器上运行,包厢管理程序发包通知分发服务。分发服务不但要更新本机上的KTV.txt,还要通知其它分发服务进行更新。分发服务完成的工作:开关房信息更改
32、:包厢管理工具直接发信息通知连接的分发服务,此分发服务直接更新本机ktv.txt中包厢开关房状态,然后再通知其它分发服务更改。点播次数信息:分发服务根据机顶盒点播请求,更改本机上的songorder.txt文件,然后再通过servershare共享目录拷贝到其它服务器。坏歌信息、坏路径信息:分发服务根据VOD服务的通知,更改记录。,第23页,不同分发服务器上关键信息的同步,由于可能存在多台服务器,每个服务器上都有servershare目录和本地数据库文本文件。如果这些信息不能同步更新,则系统热迁移之后就会出现包厢状态信息不准、包厢已点歌列表丢歌等问题。所以星云KTV系统中必须有同步机制保证这些
33、信息的同步KTV.txt包厢信息的同步不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。所以,不同服务器上的KTV.txt文件内容必须同步更新。同步机制:当修改包厢信息后,KTV.txt中会记录包厢信息的最后修改时间。分发服务启动时,会加载包厢信息的最后修改时间。每个分发服务会定时把本机ktv.txt中包厢最后更改时间通知其它分发服务。当某个分发服务对比发现其他服务器上的包厢信息设置时间更晚时,则从那台服务器上通过servershare共享目录拷贝包厢信息,并重新加载包厢信息。分发服务进行的同步:当机顶盒点歌列表、个人歌库、VIP歌库更改时,分发服务会在更
34、新本机的信息文件后,通知其它分发服务进行更改。当VOD服务发现坏歌、坏硬盘后,会通知所有的分发服务更新本机的信息文件。当个人歌库、VIP歌库变化时,分发服务会先更改本机对应的文件,然后拷贝覆盖到其它分发服务器上。没有进行同步的信息:ServerShareShareSongOrdersongorder.txt中的记录的歌曲点播次数信息,第24页,星云KTV系统录音模块介绍,数据保存方式:通过Windows共享机制将原始的录音数据文件保存在录音服务器上,故无需专用的录音后台服务软件,只需通过录音配置工具进行相关设置即可。连接方式:机顶盒在接收到用户发出的录音信号后,首先检测其下载的机顶盒配置文件中
35、是否开启了录音功能,如果开启了录音功能,则查询内存中KTV_RecordServer文件获得windows系统共享目录的访问帐号及密码,最后利用linux操作系统中提供的smb功能来连接windows共享目录(请注意设置录音服务器时设置的帐号及密码必须对共享目录具有写权限)服务帐号、密码的保存方式:访问windows共享目录的帐号和密码存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表,第25页,星云KTV系统录音模块介绍,文件保存路径:录音文件的存储路径被存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表录音文件格式及占用的网络带宽:录音时没有对音频数
36、据做任何处理直接保存为wav格式的音频数据,音频数据的采样率为48K,码率约为1.6M单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负载的情况下,也可以负载30个包厢同时录音用户可在网络启动代管理工具中为每台机顶盒设置通过哪张网卡访问录音服务器,故每个录音服务器不同网卡之间应该平均分配要负载的包厢数,同理,不同录音服务器之间也应该平均分配设置比较合理 录音并发数不等于KTV包厢数,例如30个包厢的KTV,同时录音的人数有1/4就相当高了。所以,中小型的KTV可以把歌曲服务器同时作为录音服务器使用,请注意应在网络启动设置中对机顶盒访
37、问录音服务器的网卡进行人工负载均衡,第26页,星云KTV系统录音模块介绍,录音服务器的设置:录音服务器上需要设置网卡IP、用户名、口令等,网络启动中设置每个机顶盒通过哪张网卡录音线的连接:功放把麦克风中唱歌者的声音、机顶盒Audioout输出的音乐声进行混合处理,然后再通过功放的Audio out接口向外输出,请将功放的Audio out输出口与机顶盒的录音输入口连接。这样,机顶盒就可以获取到包含人声、歌曲旋律的混合声音,通过录音服务器共享的目录,以非压缩的Wav形式保存到服务器上。单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负
38、载的情况下,也可以负载30个包厢同时录音,第27页,星云KTV系统录音模块介绍,常见问题:设置完录音服务器,机顶盒报告没有设置共享目录这主要是因为7.0的系统采用的是本地数据库的访问机制,机顶盒在获取访问密码及其它相关信息时,是查询的本地数据库,而本地数据库上又没有相关信息,故导致机顶盒报告这类错误。可通过在服务器端重新生成本地数据库,并重启机顶盒来解决此错误 也可能是由于共享文件夹及共享目录名都是中文文件名,linux系统无法支持中文共享目录名,故导致机顶盒报告这类错误将共享文件夹及共享目录名设置为英文,并重新生成本地数据库,最后重启机顶盒即可解决此问题,第28页,三、星云KTV主要功能模块
39、工作原理,第29页,机顶盒端主要功能的工作原理和流程,机顶盒上电至网络启动完成阶段的流程:参见培训教材入门篇中的”机顶盒启动过程”部分。主要是上电BIOS自检、寻找网络启动服务、下载启动文件、加载运行文件四个阶段。网络启动完成后,机顶盒内将自动运行KTV点歌客户端程序,开始下一阶段。机顶盒加载点歌程序至准备开始播放歌曲阶段的流程:KTV客户端程序首先查询网络上有哪些可用的分发服务,获得所有分发服务器网卡的IP列表后,随机排序生成新的列表。然后连接列表第一个分发服务IP,机顶盒访问分发服务的均衡就是通过这个随机排序实现的。如果某个分发服务IP无法继续通信或者受到屏蔽通知,则会自动尝试列表中下一个
40、分发服务IP,这就是分发服务热迁移的原理。根据要连接的分发服务器IP地址,通过HTTP协议下载此IP上download目录下的歌星包、键码配置表、DByou目录下的文件、ServerShare目录下的文件。显示皮肤的缩略图,根据下载的信息在内存中建立本地数据库。准备结束后,显示皮肤首界面和走马灯。根据公播歌曲设置,向分发服务发出播放请求。机顶盒歌曲的选歌过程:根据用户操作,机顶盒查询内存中的本地数据库文件,获得用户查询的结果,通过不同的皮肤显示出来。用户操作过程中产生的需要保存数据,直接发给当前连接的分发服务进行保存。机顶盒的接收缓冲池概念进数据:VOD服务发送过来的数据,直接放入机顶盒的接收
41、缓存区中。出数据:解码芯片直接从机顶盒接收缓存区中取数据,进行解码播放。进出速度的平衡:正常情况下,进的速度出的速度,才能保证播放流畅。否则,接收缓存区欠载,会出现播放时声音、画面一段时间内连续停顿。速度不平衡的原因:网络存在带宽瓶颈服务器负载并发点播超限通过拔网线的方式可以对比判断是否此原因。拔掉网线后机顶盒内接收缓存区的数据还可以供解码芯片播放几秒。如果拔掉网线,机顶盒立即停止播放,则很可能是缓存区欠载导致。如果还能播放1-2秒钟,则可能是歌曲问题导致播放停顿,可以在别的包厢测试一下此歌曲播放。,第30页,机顶盒端主要功能的工作原理和流程,机顶盒的点播流程,第31页,机顶盒端主要功能的工作
42、原理和流程,机顶盒原伴唱切换概念机顶盒通过双路解码机制,可以同时把DVD歌曲的原伴唱音轨进行解码,切换原伴唱就相当于选择输入哪个音轨解码后的数据,故实现了零秒原伴唱切换。目前只有7008、8008、双面伊人机顶盒有此功能。没有双路解码机制的机顶盒,还是要解码芯片切换解码另一条音轨,故多音轨歌曲原伴唱切换要慢。VCD歌曲因为只有一条音轨,原伴唱通过切换左右声道实现,也相当于零秒原伴唱切换。机顶盒的热迁移机制:分发服务的热迁移:当分发服务器通讯中断后,立即根据随机排序的分发服务器列表,切换到其它分发服务器。VOD服务的热迁移:每次机顶盒请求点播时,分发服务自动会在未屏蔽的VOD服务中,根据负载均衡
43、选择合适的VOD服务。,第32页,星云包厢工具控制包厢状态,包厢管理工具只是发出开关房指令,由分发服务完成相关的工作,最后分发服务再通知星云包厢管理工具最终的包厢状态。,第33页,管理收银系统控制包厢状态,第一步写数据库成功后才会进行后面的操作。为了保险,管理收银系统会通知分发服务、机顶盒都进行开关房动作。二者都进行开关房的动作,确保执行成功。,第34页,使用星云包厢管理时包厢申请开关房,星云包厢管理工具是通过定时访问分发服务获得包厢当前状态信息的,不是直接读取ktv.txt文件。,第35页,使用管理收银系统时包厢申请开关房,第三步后,机顶盒就切换到开关房状态。然后申请分发服务进行强制更新包厢
44、状态。可同时使用星云包厢管理工具,定时从分发服务获得当前包厢状态。,第36页,星云KTV系统各主要模块关系图,第37页,KTVWatch程序的工作流程,查询加密狗是否存在,不存在则报警。生成本地数据库:启动后,等待30秒。开始查询c:startvod.ini中数据库参数并连接。首先根据servershare目录下本地信息表回写更新数据库。然后重新生成本地数据文本文件。因需要耗费CPU资源,影响VOD、分发服务工作,所以此时VOD、分发服务都必须停止。启动VOD、分发服务VOD的运行日志保存在c:vodsys.log分发服务窗口直接显示分发服务的运行信息,每个服务器的负载情况。同时把一些关键的运
45、行日志保存在c:TSServer.log目录下根据分发服务、VOD服务送来的信息,在KTVWatch监控窗口中显示系统运行信息。例如网卡被屏蔽、VOD服务被屏蔽等。同时,把KTVWatch的运行信息写入c:watch.log文件。根据需要,显示加密狗授权信息。,第38页,网卡容错的工作原理,网卡容错原理:主动检测:分发服务启动后,每隔20秒,会逐个通过每台服务器的每张网卡测试连接VOD服务。如果通过某个网卡连接VOD服务失败,则分发服务就屏蔽该网卡。如果某个已经屏蔽的网卡又可以连通VOD服务,则自动解除该网卡的屏蔽。触发检测:当机顶盒要点播某个歌曲时,分发服务确认需要通过哪个服务器的网卡点播,
46、在返回给机顶盒点播链接之前,会先测试连接VOD服务,如果失败,则屏蔽该网卡。触发网卡被屏蔽的因素:VOD服务故障网线未插网卡故障,第39页,VOD服务容错的工作原理,分发服务会主动和触发式的检测VOD服务,当测试连接VOD服务不成功时,会有两种原因:VOD服务故障:KTV系统会再PING一下当前连接的网卡,如果可以PING通,说明网卡正常,则报告VOD服务被屏蔽。网卡故障:如果PING不通,说明是网卡故障,则报告是网卡故障。,第40页,坏歌屏蔽的工作原理,坏歌屏蔽:VOD服务响应点播请求后,读取要播放的文件,如果读取失败,则会触发歌曲屏蔽动作。一般有如下原因会导致歌曲被屏蔽:文件不存在、文件不
47、可读文件读取过程中出错。例如读取超时。请注意:硬盘逻辑坏扇区、物理坏扇区导致都会导致读取超时,此时操作系统都可能被阻赛,导致所有程序执行被暂停。等到恢复时,可能会发现所有的点播并发读文件都超时,进而屏蔽当前所有正在播放的歌曲。目录屏蔽如果打开某个文件失败,则系统自动接着检查此歌曲所在的目录是否正常。如果不正常,则进行屏蔽,并报警。,第41页,网络对时的工作原理,因为不同分发服务之间要根据时间同步ktv.txt,为了保证不同服务器时间一致,星云KTV中加入了自动对时的机制,确保所有服务器时间一致。,第42页,KTV系统多语支持工作原理,文字显示:星云KTV系统在安装时会自动将韩日文字库安装到c:
48、downloadktvwordlib子目录下,日文字库文件名为japanese24x24.bmf,韩文字库文件名为korean24x24.bmf,请注意此字库仅供机顶盒使用,windows系统无法使用此字库来识别日语及韩语。显示文字时,由操作系统调用相应的字库来显示对应的文字。皮肤显示:星云KTV系统提供了专用的韩语及日语皮肤来显示对应语种的点播交互界面歌曲导入:请使用“服务器配置工具”中的“外语硬盘搜歌”工具来导入日语、韩语歌曲搜歌文件的制作:制作搜歌文件的计算机中必须安装有韩语及日语字库(能在windows系统中使用的字库,不是星云系统安装的字库),日韩语文字在数据库中是以可变长度的Uni
49、code类型来编码保存的(nvarchar类型),从数据库中导出为搜歌文本文件时,请选择采用Unicode编码保存歌曲数据,第43页,大厅转播功能的工作原理,大厅转播的形式:把摄像头的AV输出接口与采集卡的AV输入口连接。采集卡对摄像头输入的数据进行实时的采集、编码成MPEG数据。可直接保存到硬盘上(监控应用),也可以通过网络以组播(MultiCast)的形式,遵循IGMP协议,广播到网络上。大厅转播的本质:大厅转播本质上是利用广播包的形式,持续不断的把采集卡编码后的数据发送到网络上,而不管是否有机顶盒在接收播放。这就像是电视台通过闭路线播放电视节目一样:实时的在向外广播推送数据,只占用一个节
50、目的带宽,网络上所有机顶盒都可以接收播放。与点播(UniCast)不同,组播不存在并发负载的概念。网络上可以实时转播多个频道,而并非一个。例如小姐房、大厅表演同时转播到网络上。请注意,组播本质是通过广播包实现的。如果使用普通不支持IGMP协议的二层交换机,每个广播包都会被交换机转发到所有的端口,每个机顶盒的网卡都会接收到。然后判断是否需要,不需要则丢弃。所以,如果网络上存在多个组播频道,当所有频道的组播码流很高时,不但会占用每个端口的带宽,机顶盒因需要处理识别每个广播包而影响的正常点播。一般每个采集卡只能同时采集处理一个摄像头的数据,每个PC只能使用一张采集卡,所以多个摄像头必须使用对应数量的