第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次授权优先级关系1.允许用户交替使用授权(例如:用户第一次使用正式授权、第二次使用临时授权,第三次使用正式授权)2.在使用对应次数的授权过期后,再注册必须使用更高优先级的授权。例如,第4次授权过期后,必须使用第5次或者正式授权。3.如果低优先授权没有过期,而输入了更高优先级授权,则低优先级授权自动作废,启用更高优先级授权;功能授权:授权码中含有是否能够使用某些需要付费购买功能的授权信息,例如多合一、热迁移等。运行监控: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服务启动和工作流程:1.VOD服务启动,读取c:\startvod.ini中配置信息进行初始化。如果初始化失败,则把失败原因写入c:\vodsys.log文件然后退出。2.读取加密狗获得授权并发流数信息,申请一定数量的内存。如果申请内存失败,则把失败原因写入c:\vodsys.log文件然后退出。3.开始监听机顶盒的点播请求。4.有点播请求时,判断当前的并发流是否已经超过授权数。如果没有,再根据RTSP点播协议进行交互。5.机顶盒通知VOD服务需要点播歌曲的文件ID号(非歌曲编号)。VOD服务查询本地信息文件,获得歌曲文件ID号对应的歌曲存放目录和文件名。如果此歌曲不存在,则通知TSServer进行坏歌屏蔽。6.按照节目的码率,遵循RTSP协议,以数据流的形式把歌曲数据源源不断的传输给机顶盒。机顶盒端一边通过网络接收歌曲数据放入内存缓存中,一边从缓存中取出数据交给解码芯片播放。就像一个水池,一边进水一边出水。进水的速度必须大于出水的速度,否则会出现接收缓存区欠载出现歌曲播放停顿的现象。如果出现读取歌曲失败、超时等错误,则通知TSserver进行坏歌屏蔽。7.相应机顶盒端的暂停、停止操作指令。8.以上每个动作对应的运行状态信息都记录进入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及后续版本把本地数据库机制进行了改进,极大的减少了对SQLSe