分发服务 数据同步说明
1.房态同步:
①分发服务器之间的房态同步机制:分发服务定时发送广播本机KTV.xml文件的最后更新时间,其它分发服务器收到广播后与本机KTV.xml最后更新时间进行比对,如果比广播中的时间早,则根据广播中的地址下载更新KTV.xml,如果本机的更新时间比广播中的时间晚,则不做操作。
②收银系统触发的房态变更信息,均由billserver通知stbserver.ini中指定的分发服务IP
③包厢管理工具触发的房态变更信息,修改本机的KTV.xml文件中的房态信息
④开关房:机顶盒定时向分发服务查询本机的房间状态
2.网络2代设置文件smftp.ini、机顶盒配置文件(mac地址.reg)的同步
①分发服务每隔30秒,会主动发送所有需同步文件的修改时间列表
②其他分发服务收到发来的时间列表后,会与本机文件的时间比较
③早于或等于本机文件时间,则不做处理
④否则,则通过HTTP方式,分发服务从修改时间最晚的那台机器直接下载对应文件
以上同步信息均记录分发服务日志中
注:机顶盒启动包的同步不支持自动同步,只能通过“smftp配置”页面单击“分发启动包”按纽进行手动分发,分发是通过tcp传输程序进行。
已点歌曲列表:
①机顶盒向目前连接的分发服务定时发送最新已点歌曲列表
②收到列表后分发服务将信息写入evideoktv/bin/servicemanager/serverdata/orders/包厢编号.txt文件
③分发服务将更新后的文件,发布到其它分发服务
个人歌库同步:
只同步增量文件,记录到数据库
分发服务 生成点播链的流程
分发服务在接收到机顶盒的歌曲编号点播请求后:
①根据歌曲ID查询本地数据库,获取有此歌曲编号文件的所有服务器如下信息:
a)全部硬盘上未被屏蔽的对应歌曲文件列表
b)获取对应服务器的网卡IP列表
②并根据分发服务上记载的硬盘、网卡负载信息,由轻到重,依次生成多个点播链
③生成点播链列表后,回复给机顶盒,分发服务不再进行虚拟点播操作
④由机顶盒按点播链列表顺序,向VOD服务器发送点播请求,VOD服务通过查询本地数据库,获得视频文件的存放路径,读取文件数据发送给机顶盒
⑤点播失败则尝试下一个点播链,直到所有的点播链都尝试失败后,则执行切歌操作,同时向分发服务上报错误。
分发服务 屏蔽磁盘目录原理
坏歌屏蔽机制:
1.视频服务尝试打开文件
①打开失败,则尝试打开上级目录
②上级目录打开失败,则尝试打开磁盘
③根据失败的原因,VOD服务向分发服务发送相应的屏蔽消息(例如:磁盘打开失败则发送屏蔽磁盘的消息),则通知所有分发服务器进行坏歌屏蔽
2. 机顶盒上报歌曲无法播放,且操作系统检测硬坏道次数达到设置值(默认为5次,在分发服务配置中可修改),则进行坏歌屏蔽
分发服务 负载均衡原理
1.分发服务每隔30秒会主动对所有的服务器发起虚拟点播操作,以确定服务器网卡和VOD服务运转正常
2.视频服务在接收到点播请求,并开始传输视频数据后,会广播本服务器每张网卡的负载情况
3.分发服务收到VOD服务广播的负载数后,更新负载信息。
4.在生成点播链时,根据负载情况,服务器是否正常等情况,从负载最轻到负载最重依次生成多条点播链
分发服务 授权验证
1.机顶盒启动时,向分发服务发送授权验证请求
2.分发服务收到授权验证请求后,先记录机顶盒的IP地址,再与内存中的加密狗信息进行授权功能和点数比对,并返回给机顶盒是否允许启动
注意事项:
①分发服务记录机顶盒的IP后,
a)若已存在,则授权点数不变;
b)否则内存中记录的授权点数+1,
②更改IP再重启,可能导致授权超出,此时需重启所有服务器的分发服务