钱柜娱乐新闻

当前位置:钱柜娱乐 > 钱柜娱乐新闻 >

视易KTV点歌机系统安装说明ppt

作者: 钱柜娱乐 时间:2019-06-22 来源:未知
摘要:1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。 第几页 河北鼎杰科贸 河北鼎杰科贸 读者对象 内容提纲 一、星云KTV系统主要功...

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  第几页 河北鼎杰科贸 河北鼎杰科贸 读者对象 内容提纲 一、星云KTV系统主要功能介绍 KTV系统主要功能 KTV系统功能看似复杂,其实我们只要抓住主要的功能模块入手学习,就能去繁就简,快速掌握系统运行的经脉。 选歌 星云KTV提供图形化的点歌界面供客人选歌。不管点歌界面如何千变万化,客人选歌的过程其实就是机顶盒根据客人操作,进行如下功能模块的过程: 查询数据库获得歌曲信息: 是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何查询获取到歌曲信息的。 显示查询结果: 不容易受外界因素影响出现问题,除非是程序有错误、机顶盒内存不足原因,一般不容易出现错误。 保存操作结果: 是容易因参数配置等外界原因出现问题的模块,大家需要认真理解机顶盒是如何保存点歌列表、我的歌库等信息的。 播歌 客人选中歌曲后,机顶盒就要通过网络从服务器获得歌曲数据播放,并响应暂停、停止、重唱等播放控制请求。 此过程很容易受网络、服务器影响而出现问题,但还是有规律可循,这部分功能的工作原理对大家排查现场问题非常重要。 KTV系统主要功能 稳定性和容错性功能 热迁移功能 系统自动屏蔽故障的VOD服务、分发服务,并自动识别已经恢复的服务器。这部分的工作原理很重要,大家需要仔细了解。 负载均衡功能 系统自动在服务器之间、不同服务器的网卡间、同一服务器的不同硬盘之间对点播相同歌曲的并发流进行均衡分配。此功能由程序代码自动实现,受外界因素干扰小。 硬件容错功能 系统自动识别屏蔽不能正常工作的网卡、硬盘、歌曲。此部分功能由程序代码自动实现,受外界因素干扰小。 后台管理 后台管理模块独立性强,为系统运行提供内容和设置保证,出现问题容易排查。 曲库管理:用来维护歌曲库文件和歌曲信息 包厢管理:用来维护包厢设置和状态信息 系统设置维护模块:设置系统运行必需的参数,大家要理解每个参数的作用、影响的模块 运营管理 也就是KTV酒水收银管理系统,相对点歌系统独立运行,会另有培训教材进行培训。 二、星云KTV主要功能模块的介绍 星云KTV VOD服务模块 功能: 响应机顶盒的点播请求,把对应的歌曲按照一定的码率,按照视频点播协议,采用流媒体机制传输给机顶盒。每台VOD服务器上都要运行此服务。 运行形式: VOD服务模块就是:星云KTV安装目录\evideo\KTV\bin\vodservice.exe文件。作为后台服务程序,没有人机交互界面,Win2K系统启动后自动以服务的形式运行。可以进入”管理工具”-”服务”中,服务名称是” START VOD Service”。 资源需求: 内存资源: VOD服务启动时,会检测系统物理内存是否满足需要,不满足则不自动。判断规则为:系统物理内存=256M(留给Win2K系统使用)+授权并发流数*4M字节(每个点播并发流需要的内存)。所以512M内存最多只能负载64个并发流。 数据库资源: VOD服务运行过程中,需要访问SQL数据库,获取ID号对应的歌曲存放目录。 配置参数文件: VOD服务需要的参数都保存在中,特别是VOD服务要访问的SQL服务器信息。此配置文件说明见备注。 版本区别: 演示版本:为了演示方便,不需要加密狗,但最多只能同时支持3个并发流。 正式版本:需要加密狗才能运行。 以上两个版本的Vodservice.exe文件不一样。 星云KTV VOD服务模块 授权限制: 加密狗不认服务器:注册加密狗时可以在任一台服务器上进行,加密信息写入加密狗中,插到任何一台服务器都可以使用,与服务器硬件没有关系。 授权次数:总共只有6次输入授权的机会,5次输入限时授权机会,一次输入正式授权机会。所以每个授权都有标明对应的次数。 授权优先级关系 第一次授权的优先级最低,正式授权的优先级最高,即NO1NO2NO3NO4NO5正式。 在使用对应次数的授权过期后,再注册必须使用更高优先级的授权。例如,第4次授权过期后,必须使用第5次或者正式授权。 如果低优先授权没有过期,而输入了更高优先级授权,则低优先级授权自动作废,启用更高优先级授权; 一旦输入正式授权码,则加密狗变成正式授权,不能再使用限时授权。如果想再使用限时授权,必须更换加密狗。 功能授权:授权码中含有是否能够使用某些需要付费购买功能的授权信息,例如多合一、热迁移等。 运行监控: VOD属于后台运行的服务,无GUI界面。VOD服务的所有运行信息都保存进入c:\vodsys.log文件中,按时间顺序写入,最后的信息是最近发生的。要查看VOD所有的运行信息,只能通过查看此文件,这一点非常重要。 VOD服务运行命令行参数: VodService.exe –install:注册VODService.exe程序成为Win2K系统的服务。 VodService.exe –remove:从Win2K的服务列表中删除此服务 VodService.exe –start:启动VOD服务。 星云KTV VOD服务工作流程 VOD服务启动和工作流程: VOD服务启动,读取c:\startvod.ini中配置信息进行初始化。如果初始化失败,则把失败原因写入c:\vodsys.log文件然后退出。 读取加密狗获得授权并发流数信息,申请一定数量的内存。如果申请内存失败,则把失败原因写入c:\vodsys.log文件然后退出。 开始监听机顶盒的点播请求。 有点播请求时,判断当前的并发流是否已经超过授权数。如果没有,再根据RTSP点播协议进行交互。 机顶盒通知VOD服务需要点播歌曲的文件ID号(非歌曲编号)。VOD服务查询本地信息文件,获得歌曲文件ID号对应的歌曲存放目录和文件名。如果此歌曲不存在,则通知TSServer进行坏歌屏蔽。 按照节目的码率,遵循RTSP协议,以数据流的形式把歌曲数据源源不断的传输给机顶盒。机顶盒端一边通过网络接收歌曲数据放入内存缓存中,一边从缓存中取出数据交给解码芯片播放。就像一个水池,一边进水一边出水。进水的速度必须大于出水的速度,否则会出现接收缓存区欠载出现歌曲播放停顿的现象。如果出现读取歌曲失败、超时等错误,则通知TSserver进行坏歌屏蔽。 相应机顶盒端的暂停、停止操作指令。 以上每个动作对应的运行状态信息都记录进入c:\vodsys.log文件中。 星云KTV VOD服务工作流程示意图 星云KTV TSserver分发服务模块 TSserver服务模块是非常重要的模块,也称作分发服务,每台VOD服务器上都需要运行此服务。功能相当于KTV系统各功能模块之间的交通警察,进行负载均衡调度、硬件故障屏蔽处理、指挥实现热迁移功能、汇报指挥调度情况。 对应文件 就是:星云KTV安装目录\evideo\KTV\bin\TSServer.exe文件,非后台服务程序,有操作界面。通过屏幕右下角系统托盘上的图标指示工作状态。 运行监控 调出TSserver监控界面的方式是:双击系统托盘上KTVwatch状态图标-在弹出的对话框上双击状态栏,即可进入。监控界面会实时显示分发服务的工作状态和运行信息。请务必注意TSserver属于应用程序进程,不能通过系统工具栏进行关闭。 功能描述: 统计记录系统负载情况 VOD服务在开始、结束一个点播流时,都会通知所有服务器上的TSserver。分发服务会在内存中维护一张所有网卡、硬盘的负载情况表,并根据VOD服务通知而动态修改。 硬盘负载均衡 TSserver在启动时,会从本地信息文件(不是SQL数据库)中获取到所有服务器硬盘盘符和其上保存的歌曲的文件ID(文件ID≠歌曲编号)对应表。当机顶盒点播一个节目前,分发服务查询得到保存有此歌曲所有硬盘中负载最轻的,把此硬盘上该歌曲的文件ID告诉机顶盒,机顶盒以此文件ID向VOD服务申请点播。 网卡负载均衡 在形成点播链发送给机顶盒前,分发服务会从内存记录中,确定歌曲所在的哪个服务器负载最轻,该服务器哪个网卡负载最轻,告诉机顶盒从哪个网卡进行点播。 硬件容错 当VOD服务发现文件、硬盘、网卡故障时,会通知分发服务。分发服务会记录下来,并且在负载均衡时,排除这些设备。 星云KTV TSserver分发服务模块 功能描述: 判断和触发VOD服务热迁移 分发服务在生成点播链之前,会先按照RTSP协议进行虚拟交互,判断负载均衡机制选择的VOD服务是否可以正常工作。如果发现改VOD服务不能正常服务,则会标示该VOD服务不可用,不再参与负载均衡机制。后续机顶盒再点播到此服务器上歌曲时,分发服务直接让机顶盒切换播放下一首歌曲。这个过程就是VOD服务的热迁移。 当服务器有冗余备份时,热迁移后,机顶盒还是可以点播到所有的歌曲。 当服务器没有冗余备份,热迁移后,机顶盒可以查询和选择故障服务器上的歌曲,但播放时会跳歌。后续的版本会实现机顶盒端对此情况下故障服务器上的歌曲自动屏蔽显示,客人不会看到这些歌曲。 故障服务器的恢复识别 分发服务会定时自动判断已经被屏蔽的VOD服务是否恢复了正常。如果已经恢复,则自动把该VOD服务标示为正常,参与负载均衡机制,对外提供服务。 服务器之间信息同步 分发服务会自动在不同服务器之间同步包厢状态信息、已点歌曲列表、个人歌库等(设计本地数据库机制,后面会详细讲述)。 付费功能限制: 分发服务启动时,会自动判断是否授权使用多合一功能、热迁移功能。 系统自动对时: 分发服务会自动同步PC时钟,以时间最晚的服务器为准,修改其它服务器的时间,确保所有分发服务所在的机器时间一致。避免出现开关房时间不统一等问题。 如果要更改服务器时间,必须先关闭所有的分发服务后,才能进行。 星云KTV系统服务监控模块 运行形式: 服务监控模块就是:星云KTV安装目录\evideo\KTV\bin\ktvwatch.exe文件。 星云系统安装后,会在系统启动时自动运行,并自动最小化以托盘图标的形式体现。 关键功能介绍: 监控服务运行: 实时监控VOD、TS服务的运行状态,当监测到服务停止时,可自动启动这些服务。 生成机顶盒端本地数据库信息文件: 启动后,自动根据SQL数据库内容,查询、转换生成机顶盒本地数据库机制需要的固定格式的信息文件。Dbyou目录下所有文件、servershare目录下部分文件是由KTVwatch每次启动时根据数据库重新生成。 回写数据库: 把ServerShare目录下记录的机顶盒工作信息数据,回写进入数据库。例如点播排行、个人歌库信息等 提供系统工作信息查询 提供系统工作状态的信息提示,例如网卡、硬盘屏蔽的信息、TS服务运行信息的提供。 提供授权信息查询 可以查询加密狗授权信息,例如第几次授权、已经授权次数、剩余授权时间。 星云KTV系统本地数据库机制 以前的网络数据库机制: 歌曲信息、包厢状态信息、已点歌曲列表、个人歌库等信息都是保存在SQL Server中的,必须实时访问SQL Server才能获取/更新这些信息。 机顶盒因为采用嵌入式Linux系统,不能直接访问SQL数据库,故通过一个数据库访问代理程序DBServer来中转一下。 机顶盒每次需要显示信息时,都需要访问DBServer。例如翻页显示歌曲列表时。所有机顶盒都在使用时,导致DBServer和SQL Server负载很重,效率低,且容易出现问题。 为保证数据库查询实时性,35个点以上时都需要单独的SQL服务器。 网络一旦出现问题,机顶盒端就不能进行歌曲查询的工作; 本地数据库机制: 服务器启动时,自动查询SQL Server,获得机顶盒工作需要的数据库信息,并以文本格式的文件保存下来。 机顶盒启动时,会自动下载这些文件,然后在内存中建立一个本地数据库表。 机顶盒需要查询歌曲信息时,是从本机内存中的数据库中查询显示结果。所有机顶盒都是各自查询自己的本地数据库,大大减轻了服务器的压力和对网络的依赖。本地数据库查询速度快,工作可靠稳定,间接提升了服务器端的稳定性。 机顶盒只在更新已点歌曲列表、个人歌库等情况下,才发给分发服务器,保存在文本格式的数据文件中。 如果不重新生成本地数据库且重新启动机顶盒,机顶盒端不会立即看到对曲库做的修改。 星云KTV 7.0系统本地数据库机制介绍 星云KTV从6.0版本开始使用本地数据库机制,7.0及后续版本把本地数据库机制进行了改进,极大的减少了对SQL Server的依赖。 机顶盒工作需要的所有数据库信息,在原先的网络数据库机制下,是通过读取/更新SQL数据库实现。在本地数据库机制下,全部保存在每台分发服务所在的机器中evideo\ktv\download目录下的本地文本格式的数据库文件中。 数据库信息文件 由KTVWatch程序在每次启动时,会查询SQL数据库,生成文本格式的数据文件,保存在evideo\ktv\download\dbyou目录下。例如歌曲信息、歌星信息、注册路径等。并且可以随时重新生成本地数据库信息文件 机顶盒启动时,通过分发服务器所在的IIS服务,以http协议自动下载这些文件,并转换为内存中的本地数据库。 机顶盒工作信息记录文件 机顶盒在工作过程中,会产生一些需要保存的信息,如已点歌曲列表、个人歌库等信息。机顶盒会通知分发服务进行保存,以文本文件的形式保存在服务器上的evideo\ktv\download\ServerShare目录下相关文件中。 星云KTV 7.0及后续版本只在启动时,KTVwatch生成dbyou目录下数据文件时需要访问SQL server,当本地数据库生成后,点歌系统就完全脱离SQL,即使关闭SQL服务,而不影响系统的运行。 虽然在本地数据库机制下,包厢管理工具、机顶盒不会再访问SQL服务。请注意曲库管理工具、星云酒水收银管理系统还是基于SQL数据库的。 星云KTV 7.0系统本地数据库文件介绍 提供机顶盒运行时需要查询信息的本地数据文件,存放目录为:evideo\ktv\download\dbyou。 setting.ini:记录机顶盒播放相关设置的配置文件。 song.txt:总曲库信息文件。 Songcfg.ini:因总曲库信息文件太大,下载处理不方便,故把总曲库song.txt分成几部分下载,此文件记录总曲库分割的信息; MaxSongNum=****,总库文件中歌曲数量 SongFileNum=N,记录总库文件被分割为几个文件下载,例如=3,则就会有song1.txt song2.txt song3.txt song1.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:不同类别、语种歌曲的子点播排行。 星云KTV 7.0系统本地数据库文件介绍 保存机顶盒运行过程信息的本地数据文件,存放目录为:evideo\ktv\download\ServerShare。请大家注意,此目录必须以共享名Servershare进行共享。 evideo\ktv\download\ServerShare\ShareCall目录,保留目录,目前没有使用。 evideo\ktv\download\ServerShare\ShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录 Server.txt:记录服务器设置信息的文件,对应数据库中的Server表。 星云KTV 7.0系统本地数据库文件介绍 evideo\ktv\download\ServerShare\ShareData目录,存放包厢、服务器设置、注册路径等关键信息的目录 path.txt:记录每个服务器上歌曲存放目录信息,对应数据库中filepath表。 服务器名.son:记录该服务器名对应服务器上存放的歌曲信息 星云KTV 7.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:记录个人歌库的更改信息,由分发服务根据机顶盒请求生成 星云KTV 7.0包厢管理功能模块介绍 两个包厢管理工具: 酒水收银系统的包厢管理 把包厢信息直接保存进入SQL数据库中,不使用servershare共享目录 星云KTV系统自带的包厢管理 把包厢信息直接保存进入Ktv.txt中,需要使用servershare共享目录进行相关数据更新 KTV管理收银系统的包厢管理: 设置包厢时,包厢信息都直接保存在SQL数据库中。 修改包厢状态时,状态改变也直接写入SQL数据库,并通过分发服务改变包厢状态。 当连接的分发服务不能工作时,自动迁移到其它可用的分发服务上。 星云自带的包厢管理: 所有包厢设置信息都保存在ktv.txt文件中,通过分发服务改变包厢状态。 当连接的分发服务不能工作时,自动迁移到其它可用的分发服务上。 进行包厢信息的设置修改,只能在任意一个分发服务器上运行星云包厢管理工具,才能进行。 目前需要注意的一个地方: 不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。 通过管理收银系统的吧台管理设置包厢信息后,都直接保存在了SQL中,并没有直接生成ktv.txt。所以,必须再通过星云包厢管理工具中的包厢信息导入功能,把SQL中的包厢信息保存成ktv.txt供分发服务使用。 后续如果通过管理收银系统更改了包厢设置,也必须通过星云包厢管理工具重新导入,更新ktv.txt文件。 这样的设计存在一些不方便,后续星云系统会进行改进。 本地数据库文件内容生成、更新、回写 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服务的通知,更改记录。 不同分发服务器上关键信息的同步 由于可能存在多台服务器,每个服务器上都有servershare目录和本地数据库文本文件。如果这些信息不能同步更新,则系统热迁移之后就会出现包厢状态信息不准、包厢已点歌列表丢歌等问题。所以星云KTV系统中必须有同步机制保证这些信息的同步 KTV.txt包厢信息的同步 不论是否使用KTV收银管理系统,分发服务都是读取ktv.txt文件,获得包厢设置信息的。所以,不同服务器上的KTV.txt文件内容必须同步更新。 同步机制: 当修改包厢信息后,KTV.txt中会记录包厢信息的最后修改时间。分发服务启动时,会加载包厢信息的最后修改时间 。 每个分发服务会定时把本机ktv.txt中包厢最后更改时间通知其它分发服务。 当某个分发服务对比发现其他服务器上的包厢信息设置时间更晚时,则从那台服务器上通过servershare共享目录拷贝包厢信息,并重新加载包厢信息。 分发服务进行的同步: 当机顶盒点歌列表、个人歌库、VIP歌库更改时,分发服务会在更新本机的信息文件后,通知其它分发服务进行更改。 当VOD服务发现坏歌、坏硬盘后,会通知所有的分发服务更新本机的信息文件。 当个人歌库、VIP歌库变化时,分发服务会先更改本机对应的文件,然后拷贝覆盖到其它分发服务器上。 没有进行同步的信息: ServerShare\ShareSongOrder\songorder.txt中的记录的歌曲点播次数信息 星云KTV系统录音模块介绍 星云KTV系统录音模块介绍 星云KTV系统录音模块介绍 星云KTV系统录音模块介绍 三、星云KTV主要功能模块工作原理 机顶盒端主要功能的工作原理和流程 机顶盒上电至网络启动完成阶段的流程: 参见培训教材入门篇中的”机顶盒启动过程”部分。主要是上电BIOS自检、寻找网络启动服务、下载启动文件、加载运行文件四个阶段。 网络启动完成后,机顶盒内将自动运行KTV点歌客户端程序,开始下一阶段。 机顶盒加载点歌程序至准备开始播放歌曲阶段的流程: KTV客户端程序首先查询网络上有哪些可用的分发服务,获得所有分发服务器网卡的IP列表后,随机排序生成新的列表。然后连接列表第一个分发服务IP,机顶盒访问分发服务的均衡就是通过这个随机排序实现的。如果某个分发服务IP无法继续通信或者受到屏蔽通知,则会自动尝试列表中下一个分发服务IP,这就是分发服务热迁移的原理。 根据要连接的分发服务器IP地址,通过HTTP协议下载此IP上download目录下的歌星包、键码配置表、DByou目录下的文件、ServerShare目录下的文件。 显示皮肤的缩略图,根据下载的信息在内存中建立本地数据库。 准备结束后,显示皮肤首界面和走马灯。根据公播歌曲设置,向分发服务发出播放请求。 机顶盒歌曲的选歌过程: 根据用户操作,机顶盒查询内存中的本地数据库文件,获得用户查询的结果,通过不同的皮肤显示出来。 用户操作过程中产生的需要保存数据,直接发给当前连接的分发服务进行保存。 机顶盒的接收缓冲池概念 进数据:VOD服务发送过来的数据,直接放入机顶盒的接收缓存区中。 出数据:解码芯片直接从机顶盒接收缓存区中取数据,进行解码播放。 进出速度的平衡:正常情况下,进的速度出的速度,才能保证播放流畅。否则,接收缓存区欠载,会出现播放时声音、画面一段时间内连续停顿。 速度不平衡的原因: 网络存在带宽瓶颈 服务器负载并发点播超限 通过拔网线的方式可以对比判断是否此原因。拔掉网线后机顶盒内接收缓存区的数据还可以供解码芯片播放几秒。如果拔掉网线,机顶盒立即停止播放,则很可能是缓存区欠载导致。如果还能播放1-2秒钟,则可能是歌曲问题导致播放停顿,可以在别的包厢测试一下此歌曲播放。 机顶盒端主要功能的工作原理和流程 机顶盒的点播流程 机顶盒端主要功能的工作原理和流程 机顶盒原伴唱切换概念 机顶盒通过双路解码机制,可以同时把DVD歌曲的原伴唱音轨进行解码,切换原伴唱就相当于选择输入哪个音轨解码后的数据,故实现了零秒原伴唱切换。目前只有7008、8008、双面伊人机顶盒有此功能。 没有双路解码机制的机顶盒,还是要解码芯片切换解码另一条音轨,故多音轨歌曲原伴唱切换要慢。 VCD歌曲因为只有一条音轨,原伴唱通过切换左右声道实现,也相当于零秒原伴唱切换。 机顶盒的热迁移机制: 分发服务的热迁移: 当分发服务器通讯中断后,立即根据随机排序的分发服务器列表,切换到其它分发服务器。 VOD服务的热迁移: 每次机顶盒请求点播时,分发服务自动会在未屏蔽的VOD服务中,根据负载均衡选择合适的VOD服务。 星云包厢工具控制包厢状态 包厢管理工具只是发出开关房指令,由分发服务完成相关的工作,最后分发服务再通知星云包厢管理工具最终的包厢状态。 管理收银系统控制包厢状态 第一步写数据库成功后才会进行后面的操作。 为了保险,管理收银系统会通知分发服务、机顶盒都进行开关房动作。二者都进行开关房的动作,确保执行成功。 使用星云包厢管理时包厢申请开关房 星云包厢管理工具是通过定时访问分发服务获得包厢当前状态信息的,不是直接读取ktv.txt文件。 使用管理收银系统时包厢申请开关房 第三步后,机顶盒就切换到开关房状态。然后申请分发服务进行强制更新包厢状态。 可同时使用星云包厢管理工具,定时从分发服务获得当前包厢状态。 星云KTV系统各主要模块关系图 KTVWatch程序的工作流程 查询加密狗是否存在,不存在则报警。 生成本地数据库:启动后,等待30秒。开始查询c:\startvod.ini中数据库参数并连接。首先根据servershare目录下本地信息表回写更新数据库。然后重新生成本地数据文本文件。因需要耗费CPU资源,影响VOD、分发服务工作,所以此时VOD、分发服务都必须停止。 启动VOD、分发服务 VOD的运行日志保存在c:\vodsys.log 分发服务窗口直接显示分发服务的运行信息,每个服务器的负载情况。同时把一些关键的运行日志保存在c:\TSServer.log目录下 根据分发服务、VOD服务送来的信息,在KTVWatch监控窗口中显示系统运行信息。例如网卡被屏蔽、VOD服务被屏蔽等。同时,把KTVWatch的运行信息写入c:\watch.log文件。 根据需要,显示加密狗授权信息。 网卡容错的工作原理 网卡容错原理: 主动检测:分发服务启动后,每隔20秒,会逐个通过每台服务器的每张网卡测试连接VOD服务。如果通过某个网卡连接VOD服务失败,则分发服务就屏蔽该网卡。如果某个已经屏蔽的网卡又可以连通VOD服务,则自动解除该网卡的屏蔽。 触发检测:当机顶盒要点播某个歌曲时,分发服务确认需要通过哪个服务器的网卡点播,在返回给机顶盒点播链接之前,会先测试连接VOD服务,如果失败,则屏蔽该网卡。 触发网卡被屏蔽的因素: VOD服务故障 网线未插 网卡故障 VOD服务容错的工作原理 分发服务会主动和触发式的检测VOD服务,当测试连接VOD服务不成功时,会有两种原因: VOD服务故障:KTV系统会再PING一下当前连接的网卡,如果可以PING通,说明网卡正常,则报告VOD服务被屏蔽。 网卡故障:如果PING不通,说明是网卡故障,则报告是网卡故障。 坏歌屏蔽的工作原理 坏歌屏蔽: VOD服务响应点播请求后,读取要播放的文件,如果读取失败,则会触发歌曲屏蔽动作。一般有如下原因会导致歌曲被屏蔽: 文件不存在、文件不可读 文件读取过程中出错。例如读取超时。请注意:硬盘逻辑坏扇区、物理坏扇区导致都会导致读取超时,此时操作系统都可能被阻赛,导致所有程序执行被暂停。等到恢复时,可能会发现所有的点播并发读文件都超时,进而屏蔽当前所有正在播放的歌曲。 目录屏蔽 如果打开某个文件失败,则系统自动接着检查此歌曲所在的目录是否正常。如果不正常,则进行屏蔽,并报警。 网络对时的工作原理 因为不同分发服务之间要根据时间同步ktv.txt,为了保证不同服务器时间一致,星云KTV中加入了自动对时的机制,确保所有服务器时间一致。 KTV系统多语支持工作原理 文字显示: 星云KTV系统在安装时会自动将韩日文字库安装到c:\download\ktv\wordlib子目录下,日文字库文件名为japanese24x24.bmf,韩文字库文件名为korean24x24.bmf,请注意此字库仅供机顶盒使用,windows系统无法使用此字库来识别日语及韩语。显示文字时,由操作系统调用相应的字库来显示对应的文字。 皮肤显示: 星云KTV系统提供了专用的韩语及日语皮肤来显示对应语种的点播交互界面 歌曲导入: 请使用“服务器配置工具”中的“外语硬盘搜歌”工具来导入日语、韩语歌曲 搜歌文件的制作: 制作搜歌文件的计算机中必须安装有韩语及日语字库(能在windows系统中使用的字库,不是星云系统安装的字库),日韩语文字在数据库中是以可变长度的Unicode类型来编码保存的(nvarchar类型),从数据库中导出为搜歌文本文件时,请选择采用Unicode编码保存歌曲数据 大厅转播功能的工作原理 大厅转播的形式: 把摄像头的AV输出接口与采集卡的AV输入口连接。采集卡对摄像头输入的数据进行实时的采集、编码成MPEG数据。可直接保存到硬盘上(监控应用),也可以通过网络以组播(MultiCast)的形式,遵循IGMP协议,广播到网络上。 大厅转播的本质: 大厅转播本质上是利用广播包的形式,持续不断的把采集卡编码后的数据发送到网络上,而不管是否有机顶盒在接收播放。这就像是电视台通过闭路线播放电视节目一样: 实时的在向外广播推送数据,只占用一个节目的带宽,网络上所有机顶盒都可以接收播放。与点播(UniCast)不同,组播不存在并发负载的概念。 网络上可以实时转播多个频道,而并非一个。例如小姐房、大厅表演同时转播到网络上。 请注意,组播本质是通过广播包实现的。如果使用普通不支持IGMP协议的二层交换机,每个广播包都会被交换机转发到所有的端口,每个机顶盒的网卡都会接收到。然后判断是否需要,不需要则丢弃。所以,如果网络上存在多个组播频道,当所有频道的组播码流很高时,不但会占用每个端口的带宽,机顶盒因需要处理识别每个广播包而影响的正常点播。 一般每个采集卡只能同时采集处理一个摄像头的数据,每个PC只能使用一张采集卡,所以多个摄像头必须使用对应数量的采集卡和PC。现在也有多通道的采集卡,单张卡集成多个编码芯片,实现一卡同时支持多路采集。 多频道的大厅转播: 组播使用D类IP地址,范围在到55之间。 每个D类IP地址加上端口号,就唯一对应了一个组播频道。例如:2010、:2011、:2010、:2011 每个采集卡的实时转播软件上,组播发送地址设置为不同的D类IP+端口,就形成了不同的频道,机顶盒可以选择接任一个频道。一般不同频道的标识采用IP相同,而端口不同方式进行。 大厅转播功能的工作原理 大厅转播对交换机的要求: 交换机分为二层交换机、三层交换机两种。 二层交换机工作在网络七层协议模型的第二层,完全根据每个数据包的MAC地址进行转发交换。 三层交换机同时工作在网络七层协议模型的第二层和第三层,可根据每个数据包的IP地址、MAC地址进行转发交换。故三层交换机可以支持VLAN、IGMP等协议,也称为网管交换机。 对组播包的处理 二层交换机不识别处理D类地址,只是简单的把组播数据包转发到所有的网络端口。当网络上有多个实时转播时,每个端口的机顶盒就会收到所有的数据。机顶盒会对收到的每个数据包进行判断是否自己需要的数据,不是则丢弃。但当组播的总码率太高,就会过多地占用机顶盒的处理器资源,影响正常的点播数据接收。例如当多个转播的总码率超过5Mbps时,机顶盒就可能出现播放停顿的现象。 三层交换机会根据每个数据包的IP地址进行判断转发。如果支持IGMP协议,只有当某个交换机端口连接的机顶盒需要接收大厅转播时,交换机才会把对应频道的数据送给机顶盒。对机顶盒网络口来说,永远只有需要的数据,而没有不需要的数据。注意:所有交换机都必须是支持IGMP协议的三层交换机,才能实现无限多路的大厅转播。 交换机的表现现象 通过二层交换机进行大厅转播时,因为不停的转播到所有端口,会看到所有交换机端口都在不停的闪烁。 通过三层交换机进行大厅转播时,因为支持IGMP协议,会看到只有处于点播或者接收大厅转播的端口数据传输指示灯在不停闪烁,其它端口的不会闪烁,表明对大厅转播进行了过滤。 交换机选型: 二层交换机:华为1208+锐捷1826T,都是二层交换机。 三层交换机:接入机顶盒的交换机全部采用锐捷RG-S2024E模块化交换机。 大厅转播质量 采集卡可以设置图像编码的类型和码率,可以选择编码成VCD、DVD格式及相应的码率。 如果使用二层交换机,大厅转播的总码率不能超过5Mbps,相当于VCD三路转播、DVD两路转播。 分发服务是系统正常运转的核心 通过以上的介绍大家可以看到,分发服务就使星云KTV整个系统关键的调度核心。 分发服务记录着当前所有服务器的工作负载状况,决定机顶盒点播请求的分配权。机顶盒完全根据分发服务的 分发服务控制着网卡、VOD服务、歌曲、注册路径的屏蔽权,从而又控制着系统的热迁移机制。 分发服务记录系统运行过程中,servershare目录下关键内容的更新。例如包厢点歌列表、点播排行等 分发服务控制着机顶盒的开关房状态信息维护、总台信息的通知。 分发服务本身也是有热迁移功能的。 机顶盒内有经过随机排序的分法服务IP列表,如果当前的分发服务不能通信,则会自动尝试列表中的下一个分发服务IP。这个过程很快,不会影响播放速度。 四、星云KTV数据库中重要的表 星云KTV数据库中重要的表 服务器端: SQL Server中的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服务器上注册路径的ID ServerID:注册路径所在VOD服务器的ID,对应Server表中ServerID FilePath:注册路径实际的目录路径 IsValid:表示此目录是否有效。1为有效;0为无效; 星云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:此物理文件搜歌进入数据库的时间。 星云KTV数据库中重要的表 服务器端: KTV_Auxiliary表的重要字段: 记录了歌曲名称、歌星、拼音、语别、字数具体信息的表 MediaID:每个可点播歌曲文件对应的一个唯一编码,不重复。与Media、MediaFile表中同名字段相对应。 LanguageID:歌曲对应的语种的编号ID SongName:歌曲名称 SongNamePY:歌曲名称对应的拼音 SongNameLength:歌名的字数 其它与歌曲信息有关的数据表: KTV_SongLanguage:记录歌曲语种信息、对应ID的表 KTV_Songster:记录歌星名称、对应ID的表 KTV_SongsterType:记录歌星分类、对应ID的表 KTV_SongType:记录歌曲曲种信息、对应ID的表 KTV_RelatingSongLanguage:记录了每首歌曲对应语种信息的表 KTV_RelatingSongster:记录了每首歌曲对应歌星的表 KTV_RelatingSongType:记录了每首歌曲对应歌曲类型的表 五、系统实施拓扑图祥解 六、需要思考的问题 如何快速复位系统 问:在紧急情况下,有没有比重新启动服务器更快让KTV点歌系统复位的方法? 数据库安装的问题 如果某KTV有一台收银计费服务器、三台VOD服务器,二者都需要访问SQL服务,SQL服务该如何安装呢?不同服务器上电启动顺序有无关要求?如果启动顺序不对,又会出现什么现象? 答: 系统最关键的模块就是VOD服务、分发服务,只要通过KTVWatch监控程序把这两个服务重新启动,系统服务器端就相当于复位了。 因为采用本地数据库机制,要KTV点歌系统全部复位,最好选择在每台服务器上进行重新生成本地数据库的操作,然后把机顶盒也重新启动。 答: 星云V7.*实现了点歌与收银管理系统的分离。故在收银计费系统数据库指向收银计费服务器上的SQL服务;三台VOD中任选一台当成点歌系统的主SQL服务器,点歌系统数据库访问都指向此服务器。 三台VOD服务器中,必需先启动担当主数据库的那台VOD,等到进入Win2K系统后,其它两台启动顺序不做要求。 如果VOD服务器启动顺序不对,会导致某台的KTVWatch启动时连接SQL服务失败,而不进行生成本地数据库文件的操作,继续使用servershare目录下已有的文件,基本不会影响本次使用。 因ktv.txt会自动同步,不会影响开关房功能。 本次启动前对曲库的更改不会生效,例如新加的歌曲会看不到。 点歌排行信息不会更新。 启动顺序还是需要告诉网管按照要求的顺序进行,避免不必要的问题。 主要功能: VOD服务:点播和播放控制响应 歌曲信息查询: 曲库管理: 系统配置: 与管理系统接口: 系统的稳定性和容错性: Startvod.ini配置文件说明: [Maintenance IP address] IP Address=1 ========?必须设置为VOD服务所在服务器的任意一张网卡IP地址 [SERVER TYPE] TYPE=SINGLE ========?保留参数,不能更改 [SERVER RUN STATUS] RUN STATUS=SINGLE ========?保留参数,不能更改 [VOD DB] pchDbName=cttgf ========?VOD服务要访问的SQL服务所在机器的机器名称,也可以填入IP地址 Server IP=1 ========? VOD服务要访问的SQL服务所在机器的任意一张网卡IP Db Name=eVideohotel ========?KTV系统的数据库名称,固定值,不能更改 Usr Name=sa ========?VOD服务访问SQL数据库的用户名,一般为SQL的超级用户sa Password= ========?VOD服务访问SQL数据库的密码,为空则无密码 [IO COMPLETE PORT] ========?保留参数,不能更改 page size=2048 page number=1 [SESSION LICENCE] ========?保留参数,不能更改 user number=30 [BEEP PARAMETER] Freq=3750 ========?VOD服务故障报警声音频率 Duration=500 ========?VOD服务故障报警声音持续时长 * 视易星云KTV系统培训教材原理篇 河北鼎杰科贸 4 原理篇的目的 让大家了解熟悉星云KTV7.0系统的各重要模块组成及功能、各模块之间的关系、系统各主要功能的流程等内部原理。学习完本教材后,就像庖丁解牛一样,让大家对星云KTV7.0系统的工作原理和流程有清晰的认识,最终形成清晰的解决思路。 使用读者 安装使用过星云KTV系统的读者 学习建议 原理性的教材内容必须至少学习3-5遍才能彻底理解并牢记。同时也可以做为手册使用,在碰到问题时进行查阅。 第几页 星云KTV系统的主要功能介绍 星云KTV系统的主要功能模块介绍 星云KTV系统主要功能模块工作原理 星云KTV数据库重要的表 系统实施拓扑图详解 VODsys.log运行信息解读 Server.Weight4 网卡4的权重 0-可用 1-不可用 Server.IP4Disabled IP4是否屏蔽 Server.IP4 服务器IP4 Server.Weight3 网卡3的权重 0-可用 1-不可用 Server.IP3Disabled IP3是否屏蔽 Server.IP3 服务器IP3 Server.Weight2 网卡2的权重 0-可用 1-不可用 Server.IP2Disabled IP2是否屏蔽 Server.IP2 服务器IP2 Server.Weight1 网卡1的权重 0-可用 1-不可用 Server.IP1Disabled IP1是否屏蔽 Server.IP1 服务器IP1 0-不可用 1-可用 Server.IsValid 服务器是否可用 Server.ServerName 服务器名 备注 对应数据库中的字段 列名 例如:Server1171157045 格式为: 服务器名服务器是否可用服务器IP1IP1是否屏蔽网卡1的权重服务器IP2IP2是否屏蔽网卡2的权重服务器IP3IP3是否屏蔽网卡3的权重服务器IP4IP4是否屏蔽网卡4的权重 FilePath.Path 路径名 FilePath. FilePathID 路径ID Server.ServerName 服务器名 对应数据库中的字段 列名 例如: Server11c:\evideo\ktv\download\ MediaFile.FileName 文件名 MediaFile.Path 文件目录 FilePath.FilePathID 路径ID 组歌曲的歌曲编号 Media.groupid 同组号iaSerialNo 歌曲编号 MediaFile. FileId 文件ID 备注 对应数据库中的字段 列名 例如: 2d:\music\93000.vob 例如:recordAdministratorabc77 KTV_RecordServer. IP4 IP4 KTV_RecordServer. IP3 IP3 KTV_RecordServer. IP2 IP2 KTV_RecordServer. IP1 IP1 KTV_RecordServer. Password 密码 KTV_RecordServer. UserName 用户名 KTV_RecordServer. ShareName 共享名 对应数据库中的字段 列名 数据保存方式: 通过Windows共享机制将原始的录音数据文件保存在录音服务器上,故无需专用的录音后台服务软件,只需通过录音配置工具进行相关设置即可。 连接方式: 机顶盒在接收到用户发出的录音信号后,首先检测其下载的机顶盒配置文件中是否开启了录音功能,如果开启了录音功能,则查询内存中KTV_RecordServer文件获得windows系统共享目录的访问帐号及密码,最后利用linux操作系统中提供的smb功能来连接windows共享目录(请注意设置录音服务器时设置的帐号及密码必须对共享目录具有写权限) 服务帐号、密码的保存方式: 访问windows共享目录的帐号和密码存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表 文件保存路径: 录音文件的存储路径被存放在KTV_RecordServer表中,机顶盒启动时会自动下载此表 录音文件格式及占用的网络带宽 : 录音时没有对音频数据做任何处理直接保存为wav格式的音频数据,音频数据的采样率为48K,码率约为1.6M 单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负载的情况下,也可以负载30个包厢同时录音 用户可在网络启动Ⅱ代管理工具中为每台机顶盒设置通过哪张网卡访问录音服务器,故每个录音服务器不同网卡之间应该平均分配要负载的包厢数,同理,不同录音服务器之间也应该平均分配设置比较合理 录音并发数不等于KTV包厢数,例如30个包厢的KTV,同时录音的人数有1/4就相当高了。所以,中小型的KTV可以把歌曲服务器同时作为录音服务器使用,请注意应在网络启动设置中对机顶盒访问录音服务器的网卡进行人工负载均衡 录音服务器的设置: 录音服务器上需要设置网卡IP、用户名、口令等,网络启动中设置每个机顶盒通过哪张网卡 录音线的连接: 功放把麦克风中唱歌者的声音、机顶盒Audioout输出的音乐声进行混合处理,然后再通过功放的Audio out接口向外输出,请将功放的Audio out输出口与机顶盒的录音输入口连接。这样,机顶盒就可以获取到包含人声、歌曲旋律的混合声音,通过录音服务器共享的目录,以非压缩的Wav形式保存到服务器上。 单张百兆网卡在没有点歌负载的情况下,可以负载30个包厢同时录音。也可以认为,PCI-E接口的千兆网卡在有VOD负载的情况下,也可以负载30个包厢同时录音 常见问题: 设置完录音服务器,机顶盒报告没有设置共享目录 这主要是因为7.0的系统采用的是本地数据库的访问机制,机顶盒在获取访问密码及其它相关信息时,是查询的本地数据库,而本地数据库上又没有相关信息,故导致机顶盒报告这类错误 。 可通过在服务器端重新生成本地数据库,并重启机顶盒来解决此错误 也可能是由于共享文件夹及共享目录名都是中文文件名,linux系统无法支持中文共享目录名,故导致机顶盒报告这类错误 将共享文件夹及共享目录名设置为英文,并重新生成本地数据库,最后重启机顶盒即可解决此问题 *

  请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。用户名:验证码:匿名?发表评论

  

  “原创力文档”前称为“文档投稿赚钱网”,本网站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】

联系我们
Contact
联系我们
我们很想听到您的声音

400电话:400-508-2368

联系电话:010-52866356

公司传真:010-52866356

手机号码:13288242883

客服QQ:1912221439

Email:1912221439@qq.com

地址:北京市昌平区昌平镇15号金牛国际中心C座