信息发布系统架构
2017-04-06 16:04 linkxu 阅读(2617) 评论(0) 收藏 举报1. 术语定义
l 素材:规定格式的文件、网页的URL、第三方exe程序或程序包。
l 节目:一个需要播放的素材。是播放的最小单元。
l 节目单:若干节目按照一定顺序的排列。是发布的最小单元。
l 区域:屏幕中的某一个矩形范围。每一个区域可以有自己独立的节目单。
l 模板:描述了屏幕上若干区域的组合。
l 播放端:最终播放显示内容的播放机、广告一体机、触摸查询机等。数量可以从1台到多台,没有实际数量上限。
l 服务端:整个信息发布系统的核心,是播放端、编辑端、监控端相互连接的桥梁。数量可以从1台到多台(全分布可实现多台),数量会远少于播放端数量。在播放端少于1万的系统中,通常只需要使用1台。
l 监控端:对整个系统的运行环境,实时运行状态进行监视和控制的终端,通常是B/S架构。数量可以从1台到多台(多台可用于实现多点监视,或分权限监视)
l 编辑端:对最终显示内容进行格式编排,完成排版功能,形成最终发布的节目单。数量可以从1台到多台。
l 文件传送服务器:保存上传的素材,播放端需要通过该服务器下载当前播放节目单所需要的素材。数量可以从1台到多台。
l 控制链超级结点:为了管理大数量级的播放端(1万台以上),从理论上来讲,单一服务器情况下,群发会给服务器带来极大的负担,需要采用分布式部署或星型控制来分担服务器的负载。这里的控制链超级结点就是星型控制中的超级结点。数量可以从0台到多台。
l 边缘服务器:当播放端数量较多时,可以采用CDN架构,将文件传输服务分散到较近的服务器上,这个较近的服务器就叫边缘服务器。数量可以从0台到多台。
2. 功能需求
2.1. 系统架构
2.2. 开发平台和运行环境
2.2.1. 开发平台
所有程序,均在windows 7平台下进行开发,可以稳定运行在Windows 7 32位操作系统下。
如果需要兼容Windows 64位操作系统,需要搭建64位的测试环境。
服务端、编辑端、播放端、监控端可以分别运行在32位或64的混合环境下。
在通常情况下,64位操作系统可以兼容32位的程序,但可能会现不稳定,需要搭建64位的测试环境。
2.2.2. 服务端运行环境
服务端可稳定运行在Windows 7、Windows 2003 Server、Windows 2008 Server操作系统下,开发时兼容64位操作系统,但需重新编译和搭建64位的测试环境。
2.2.3. 编辑端运行环境
编辑端需要安装需安装.Net Framework 4.0或更高版本运行库,可稳定运行在Windows 7 32位操作系统环境下,开发时兼容64位操作系统,但需重新编译和搭建64位的测试环境。
2.2.4. 播放端运行环境
播放端可能需要安装.Net3.5或更高版本,可稳定运行在Windows 7 32位操作系统环境下,开发时兼容64位操作系统,但需重新编译和搭建64位的测试环境。
一个播放端只能运行单一的一套播放端程序,一个播放端作为一个完整的个体来进行管理。
如果播放端希望运行多套播放端程序,可以通过虚拟机实现,但需要进行深入测试,可能会碰到虚拟机如何实现自动加载等问题。
播放端可以同时成为控制链中的超级结点,也可以同时成为边缘服务器。
2.2.5. 监控端运行环境
监控端采用Silverlight (“富前端B/S架构”)实现,可以在网页上表现动态、丰富多样的UI。.NET FrameWork运行包不需要手动安装,在首次访问网站时自动提示并安装Silverlight运行库。可能还需要安装相应的在线安装包,可能需要进行一些组件的注册后才能正常运行。是否兼容其它浏览器,需要更多地测试。
2.2.6. 防火墙
服务端、文件传送服务器需要创建监听端口,如果安装有防火墙,需要在防火墙中允许该监听端口的出和入操作。
播放端、监控端、编辑端不需要在防火墙中有特别设置。(不排除因开发需求的改动,可能需要在防火墙中进行特别设置)
不建议在播放端中安装防火墙软件,有可能会因为弹出警告提示而破坏当前播放效果。
2.2.7. 防病毒软件
各端均可以安装防病毒软件,但是在播放端需要关闭防病毒软件的自动更新功能,否则有可能会弹出防病毒软件的升级消息框。
2.3. 网络
2.3.1. 局域网(第一期)
程序可稳定运行在以太网协议下的局域网环境中,可以在VPN模拟的局域网环境中运行,可以部署在单一网段,或跨网段的环境中,播放端、编辑端、监控端可以是固定IP或动态IP,服务端、文件传送服务器必需是固定IP。
2.3.2. 广域网(第一期)
程序可稳定运行在以Internet为基础的广域网环境中。
播放端、编辑端、监控端可以是固定IP或动态IP。
服务端、文件传送服务器必需是固定IP。可以使用域名来代替IP。
2.4. 接入方式
2.4.1. ADSL(第一期)
需要在操作系统中实现自动拨号。
2.4.2. 无线(第一期)
需要在操作系统中配置好无线网络。
2.4.3. 3G(第一期)
需要在操作系统中实现自动拨号。可能需要进一步测试。
2.4.4. VPN(第一期)
需要在操作系统中配置好VPN。
2.4.5. 专线(第一期)
无特殊需求。
2.5. 架构
2.5.1. C/S编辑端(第一期)
编辑端采用C/S方式,界面操作比较友好,速度也比较快,可以实现较为复杂的功能。另外,随着用户使用时间增加,累积的历史素材会越来越多,采用B/S方式来展现时,会越来越吃力;在对大数量级的播放端进行管理时,C/S的编辑端会显得更加轻松。
2.5.2. B/S监控端(第二期)
监控服务使用B/S架构,可以方便用户随时随地对系统的当前运行状态进行监视和控制。
2.5.3. 单一区域独立控制(第一期)
将屏幕上的显示分为若干个区域,每个区域可以独立发布节目单,每个区域可以被分处不同物理位置的操作员分开来管理。这种方式尤其适合以广告为目的运营商,他们可以将显示屏分隔成若干个区域后,分别出售,分开管理。
2.5.4. 大数量级播放端,理论上无限(第一期)
当管理的播放终端数量从1千台,到几千台,甚至上万台时,系统的好坏就会立即表现出来,大数量级的播放端的支持,要从UI、网络传输、素材下载、通讯协议、数据存储等多方面逐一考虑。
2.5.5. 图形化可视界面(第一期)
除了编辑端采用所见即所得的图形化界面,播放端、监控端也都有专门的图形化界面,方便用户查询、排障。
2.5.6. 万年历(第一期)
所有节目单的发布,均以万年历的形式表现,时间可以精确到某年某月某日某时某分某秒。
2.5.7. 可通过互联网下载新的行业模板(第一期)
模板就是屏幕播放时的区域布局,这些布局的设计一般需要有较好的美术功底,并且熟悉该行业的业务情况,才能较好地展现出最适合该行业的效果。而各行业的显示布局一般都有固定的格式,通过行业模板下载,可以降低对操作员的能力要求,使操作员在编排节目时只需要关注具体的节目。
2.5.8. 全分布架构(第一期)
服务端、文件传送服务、控制链超级结点、边缘服务器等即可以安装在同一台服务器上,也可以部署在若干台服务器上,以适应不同量级的业务需求。
2.5.9. 多模块组合的框架结构(第一期)
在各个端的程序都是由若干个独立的服务、或相同的组件相互组合,来实现各端的需求。这种开发方式,可以使程序的维护量降到最低,提高程序的健壮性,当单一功能出现问题,或需要扩展时,只需更新相应的模块,而不必重新发布所有程序。
2.5.10. 智能认证(第一期)
播放端如果没有通过授权,会自动提示,显示在未授权列表中;如果通过授权,则会自动登录。
播放端的授权、删除等操作,无需任何输入,只需要点击鼠标即可完成。
2.5.11. 智能检测(第二期)
每一个端都由若干个服务或组件一起协同工作,才能完成该端的任务。如果其中的任一个服务或组件出现了问题,都会导致工作不正常。
智能检测,只需要操作员点击一下鼠标,就可以对各个端中的所有服务和组件进行自动检测,通过反馈的结果就可以知道在哪一个组件中出了问题。
2.5.12. 支持Licence授权模式(第一期)
可以在销售合同中指明最大允许同时管理的授权播放端的个数,软件的售价可以根据播放端的个数不同进行调整,如果再结合硬件加密狗,实现使用日期、合同编号的检测,则任意一个销售合同中的软件都将是唯一的,不可替换。
2.5.13. 服务端使用期限设置(第一期)
通过硬件加密狗,可以设置软件的到期日期,从而实现软件的逐年授权使用。这样,每一笔销售合同,都会在以后的若干年中为我们带来稳定的收入。
整个Licence和使用期限设置,全部在服务端实现,只需更换一个文件。
2.5.14. 行为日志(第一期)
在服务端记录用户的登录、退出时间,记录用户在登录期间,对系统的所有需要对系统发生改变的请求和请求的结果。
2.5.15. 网络在线升级(第一期)
方便以后版本更新,降低售后服务成本。
2.5.16. 第三方数据的统一采集接口(第二期)
标准化输入输出,使接口统一,方便二次开发。
2.5.17. 文件传送的CDN架构(第二期)
在大数量级播放端情况下(千台以上),如果所有播放端都向同一台文件服务器请求下载素材,这台网络服务器的带宽和IO可能都会成为瓶颈,采用CDN技术,可以通过边缘服务器的设置,降低对中心文件服务器的压力,让同一个局域网、或城域网中的播放端从就近的边缘服务器下载,加快文件下载速度,减少对中心服务器带宽的需求。
2.5.18. 控制连接的动态全分布星型网络(第二期)
远程控制命令大多是群发的,在大数量级播放端情况下(几千台以上),一个群发操作就有可能造成服务端的极大压力,甚至崩溃,通过动态全分布架构,可以使系统在播放端数量成倍增长时,不会有明显的压力改变。使用播放端动态构建超级结点的功能,系统无需增加任何额外的硬件设备,即可实现无限扩展。
2.6. 分组管理
2.6.1. 无限分组(第一期)
每一个操作员都可以动态创建分组,这个分组只能被创建者和超级管理员看到(超级管理员可以通过权限设置允许其他操作员看到这个新创建的组)。
分组的层数、分组的方式没有任何限制,可随意创建。
用户可以按物理区域创建分组,再同时按照播放端的类别创建新的分组。
2.6.2. 自动分组(第一期)
每一个播放端根据自己的状态,会自动加入在线、离线、异常三个动态创建的分组中。
2.6.3. 同一播放端可加入到任意多个分组中(第一期)
一个播放端可以同时存在于多个分组中,方便了用户对播放端的管理。
2.6.4. 播放端可以添加到一个组中(第一期)
在播放端授权时,可以指定播放端添加到一个组中。
2.6.5. 播放端可以从所在的组中删除(第一期)
可以将播放端从所在的分组中删除,如果删除后播放端已经不在任何一个组中了,则播放端会自动地从授权播放端列表中删除,重新添加到未授权播放端列表中,等待用户重新认证。
2.6.6. 播放端可以移动到另一个组中(第一期)
可以将播放端从一个组中移动到另一个组中,或根目录下。
2.6.7. 播放端可以被拷贝到一个,或多个组中(第一期)
如果希望一个播放端同时存在于多个分组中,可以拷贝该播放端到另一个组中,不管进行过多少次拷贝,当该播放端状态发生变化时,都会同时被更新。
2.6.8. 自动纠错(第一期)
如果分组信息发生了错误,在服务端重启时,会自动进行纠错,重新构建分组信息,但这时可能会出现授权信息错误,所有操作员的授权信息需要由管理员重新分配。(出错的现象应该仅仅会出现在人为手动删除了服务器中的关键数据文件)
2.6.9. 自动检测幽灵播放端(第一期)
如果一个播放端不存在于任何一个组中,但是却存在于授权播放端列表中,那么这个播放端在编辑端和监控端都无法看到,这个播放端就叫幽灵播放端(幽灵播放端通常是因为人为手动删除了服务器分组中的PEER的描述文件时才会出现)。服务端在重启时,可以自动检测到幽灵播放端的存在,自动添加幽灵播放端到根组中。
2.7. 权限管理
2.7.1. 细化到模块的功能点(第一期)
权限管理采用XML描述信息,动态加载。每个模块根据自己需要控制的功能点,在XML中描述出来,权限管理模块通过加载XML文件,动态创建出权限的管理点。
2.7.2. 每一功能点都有三种状态(第一期)
l 读:表示该用户有浏览、执行该功能的权限,但不可以编辑、修改、增加、删除。
l 写:表示该用户可以执行该功能,可以读、编辑、修改、增加、删除。
l 禁止:表示该用户看不到该功能。
2.7.3. 可以创建权限组(第一期)
可以创建新的权限组,在权限组中规定任意功能点的状态的组合。
2.7.4. 可以添加多个权限组(第一期)
一个用户可以添加多个权限组。
2.7.5. 权限操作也是权限管理中的一个功能点(第一期)
可以将创建、修改、编辑、删除权限的动作作为一个功能点,赋予某一个或多个用户。
2.7.6. 权限组的合集(第一期)
用户的权限是他所添加的所有权限组的权限的合集。
2.7.7. 审核是权限管理中的一个功能点(第一期)
可以为任意用户分配审核功能。
2.7.8. 审核可以精确到每一个播放端的分组(第一期)
用户能够管理的分组,也就是他能够进行审核的分组。
2.7.9. admin可以修改任意操作员的权限(第一期)
admin是超级管理员,系统会自动创建,默认时不需要密码。admin不可以被删除,如果手动删除了admin,在重新使用admin登录时,系统会自动检测,并自动创建。
2.7.10. admin管理员权限不可以改变(第一期)
不可以通过界面修改admin超级管理员的权限。
2.7.11. admin管理员帐户会自动创建(第一期)
在重新使用admin登录时,系统会自动检测,并自动创建。
2.7.12. 用户不能修改自己的权限(第一期)
用户不能通过UI修改自己的权限。
2.7.13. 创建权限组权限(第一期)
如果一个用户有创建权限组的权限,这个用户可以新建一个权限组,并且可以编辑这个权限组,但不能编辑不是自己创建的权限组。
2.7.14. 新增用户权限(第一期)
如果一个用户有新增用户的权限,这个用户可以创建新的用户,并且为这个用户赋予权限,但赋予的权限不能超过自己所拥有的权限。
2.7.15. 编辑权限组权限(第一期)
如果一个用户有编辑权限组的权限,这个用户可以编辑他能管理的所有权限组,为这些权限组赋予新的权限,但不能新建权限组。
2.7.16. 为用户设置一个有效期(第一期)
用户可以设置一个有效期,当有效期超过时,该用户将不可以再次登录。
2.8. 监控端(第二期)
2.8.1. 图形化监控端
监控端是用户平时关注最多的地方,当播放端较多时,列表与文字的组合,并不能够让管理员立即关注到播放端状态的变化,采用图形化来表示播放端的状态和相关信息,通过颜色、形状的改变,让管理员能够清晰地看到不同点。
2.8.2. 支持用户地图
当播放端数量较多时,传统列表的方式只能通过翻页、或滚动的方式才能浏览更多的播放端的状态。可以使用图形化的表示方式,再结合地图缩放的概念,将图形化表示的播放端定位在地图上的某一个位置,可以清晰的看到所有播放端的状态。
地图缩小时,可以将局部的若干台播放端由一个图标代表,表明局部所有播放端的状态;地图放大时,再局部化显示该处所有的实际播放端的状态。
2.8.3. 播放端离线设置声光报警
播放端离线等异常状态,可以设置报警方式,比如:声音、闪烁、或自动发送电子邮件、或发送短信(需要有短信网关支持)
2.8.4. 播放端即将播放节目的完成状态
通过图形化的图标来显示播放端即将播放的节目是否已经准备好,可通过图标的颜色来表示完成状态。
2.8.5. 播放端当前播放节目的信息
通过图形化的图标来表示当前播放节目的类别,通过颜色的填充度来表示当前节目的播放剩余时间。
文字相关信息,可以通过鼠标移动在图标上显示,或者在每个播放端下面有一行滚动的字幕,滚动显示相关的文字信息。
2.8.6. 播放端各运行服务的运行状态
通过饼图的图标来表示播放端的各个服务,饼图中的每一块表示一个服务或模块,通过每一块的颜色来表示运行状态是否正常。
2.8.7. 素材播放时间、播放时长、播放次数统计信息
可以查询播放端当天、或历史播放过的素材的播放时间,时长,播放次数的统计信息,以表格形式显示。
2.8.8. 实时监控一个、多个、或所有播放端画面
可以选择实时监控某一个播放端的当前播放画面,也可以选择轮循监控指定或所有的播放端的播放画面。
2.8.9. 可以设置监控采样的时间间隔
可以设置监控播放端画面时每次采样回传的最小时间间隔。
2.8.10. 可以设置监控画面保存的时间间隔
可以设置监控播放端画面时,保存在服务器的监控图像的时间间隔。
2.8.11. 可以设置监控画面保存方式
可以设置监控播放端画面时,保存在服务器的监控图像的保存方式,可以不保存、同名文件替换、每天替换、每周替换、每月替换、或每次都保存。
2.8.12. 播放端异常日志
如果播放端有异常出现,可以通过图标形式表示,点击后,可以查看具体的异常信息。
2.8.13. 播放端远程日志分晰
播放端日志以文件形式保存在本地,可以定期或手动选择同步后上传到服务器保存。可以选择查看具体某一台播放端的日志,日志显示方式可以由第三方软件,或独立一个进程来实现。
2.8.14. 服务端所有运行服务状态实时监控
可以在列表和图形化两种方式下进行切换,在屏幕的一个区域中显示服务端所有运行服务的状态,该区域可以缩小到一个图标。缩小到图标后,可以通过图标颜色的变化,来表示所有服务是否运行正常。
2.9. 编辑端
2.9.1. 播放端上线、离线,即时通告(第一期)
播放端的上线、离线,会即时通告给所有当前连接的编辑端,编辑端会自动更改播放端状态。
2.9.2. 其它编辑端上线,即时通告(第一期)
新的编辑端上线,原来已经在线的所有编辑端都会收到通告,告知新登录的用户名。
2.9.3. 播放端信息更改,即时通告(第一期)
播放端的相关信息如果被其它编辑端作了修改,当前在线的所有编辑端会即时收到更改信息通告,自动更改编辑端的相关信息。
2.9.4. 同名用户登录,强迫下线,自动提示(第一期)
如果同一个用户,在其它地方登录,原先登录的编辑端会被迫离线,并且会弹出提示框,提醒该用户名在其它地方登录了。
2.9.5. 编辑内容实时预览(第一期)
编辑端编排的节目,可以实时预览在播放端的实际播放效果。
2.9.6. 视频、音频素材时间自动探测(第一期)
视频、音频素材的实际播放时长、码率、分辨率等信息在选择素材时自动获得。
2.9.7. 模板创建、删除、修改、保存(第一期)
可以创建模板、删除模板、修改模板、保存模板。
2.9.8. 可以导入、导出模板(第一期)
导入模板,就是将本地磁盘内的模板文件上传到服务端或本地。
导出模板,就是可以将服务端或本地的模板文件,保存到指定的目录中。
2.9.9. 可以发布模板到互联网(第二期)
自动上传模板文件到指定的FTP服务器,或网站中,按行业分类进行存放。
最好是公司的网站下挂接一个功能模块,允许我们的客户在登录后可以浏览、下载原来上传的模板。
通过这个可以加强和用户之间的交互,更好地了解用户对系统的使用情况和意见。
2.9.10. 可对每一个区域设置底播表(第一期)
因为每一个区域都是独立控制的,因此,可以为每一个区域设置一个底播表。
如果当前区域内素材还未下载完成,没有内容可以播放时,会播放底播表中的内容,避免出现黑屏现象。
底播表采用固定名称保存,可以是一个文件,或者是一组顺序播放的素材。
2.9.11. 在模板中规定,素材未下载完的播放规则(第一期)
在模板中可以设置,如果素材未下载完时,是黑屏、隐藏该区域、还是播放底播表。
2.9.12. 在模板中规定,区域的触摸查询规则(第一期)
在模板中可以设置,某一个区域当接收到鼠标点击后,是否执行触摸查询规则,可以设置触摸查询时执行的动作(即执行的程序或程序列表);可以设置鼠标响应范围;可以设置无人响应时的时间间隔。
2.9.13. 可查询播放端当前的播放节目列表(第一期)
可以直接获得任意一台播放端当前正在播放的节目列表(不需要选择日期)。在节目编辑轨道中显示该播放节目列表的内容。是否能够再次编辑、发布,需要根据用户的权限作出响应。
2.9.14. 可查询播放端指定日期的播放节目列表(第一期)
可以查询、获得任意一台播放端在指定日期内的播放节目列表(需要选择日期)。在节目编辑轨道中显示该播放节目列表的内容。是否能够再次编辑、发布,需要根据用户的权限作出响应。
2.9.15. 可查询指定时间内发布的节目的列表(第一期)
可以查询在指定时间、或时间段内某一台播放端,或所有发布过的节目单的列表。
2.9.16. 可查询、设置播放端相关属性(第一期)
可远程设置、或查询任意播放端、分组、或所有播放端的分辨率、横屏或竖屏方式、屏幕亮度、音量大小等。
2.9.17. 可查询、设置播放端的开、关机时间(第一期)
可远程设置、或查询任意播放端、分组、或所有播放端的远程开、关机时间。
2.9.18. 模板背景添加、修改、删除(第一期)
可以为模板添加、修改、删除一个背景图片,背景图直接绑定在模版中。
2.9.19. 区域的创建、删除、缩放(第一期)
可以在模板中创建一个区域,删除一个区域,可以对区域的大小、位置进行调整。
可以设置区域的名字,区域的名字从A..Z进行选择,最多26个区域。
2.9.20. 区域编辑时,一些快捷对齐按钮(第一期)
在区域编辑时,可以通过一些按钮使若干区域边界对齐、等宽、等高、或边界重合,具体操作可参考Photoshop中的一些设置。
2.9.21. 节目添加、修改、删除(第一期)
可以在区域的一个轨道中添加、修改、删除一个文件,实现的方式尽量采用鼠标操作,可以通过鼠标拖动一个素材到某一个轨道中,实现节目的添加;拖动一个已经在轨道中的节目到相同轨道、或不同轨道中,实现节目的移动;拖到轨道外,实现节目的删除。
2.9.22. 节目时长、开播时间、循环次数设置(第一期)
可以设置、修改节目的播放时长、开始播放时间、循环次数。播放时长,可以通过拖动节目块的大小来产生变化;开始播放时间,可以通过移动节目位置来决定。
节目单在没有发布时,所有节目的开始播放时间,均为相对时间,在节目单发布时,选取具体的日期,在审核完成时,转换成具体的播出时间。
2.9.23. 节目其它属性设置(第一期)
不同格式的节目,可能拥有差异化的属性,基本的通用属性和差异化属性应该在UI上有所区分。
2.9.24. 定时节目和插播节目,可精确到万年历(第一期)
定时节目和插播节目,需要设置具体的开始播放时间,这个时间需要能够精确到某年某月某日某时某分某秒。
2.9.25. 每个区域包含一个轨道(第一期)
每一个区域中仅包含一个节目轨道,用户在发布节目时,可以选择当前节目单是普通节目,还是定时节目,只能选择其中一个。
2.9.26. 一个轨道中,可以同时放入多个不同的素材(第一期)
图片、音频、视频、PPT等不同格式的素材可以同时放入同一个轨道中。
2.9.27. 拼接屏、电子屏风等的图像多屏显示(第二期)
如果只有二个屏,可以通过扩大分辨率的的方法,使用操作系统本身的扩展屏技术,显示在二个不同的屏上,可以完全作到无缝融合(扩展屏设置一次后,能否在下次启动时自动加载,需要作一下测试)。
如果超过二个屏,操作系统本身无法支持超过二个屏,最好使用拼接屏的控制卡,通过硬件重新将显示区域分割显示在多个显示屏上,也可以使用软件自己来实现,主要是担心硬件能否承受的住算法的压力,另一个是拼接屏接口需要了解。
2.10. 发布审核
2.10.1. 可以独立发布节目单模板(第一期)
每个节目单可以由一个或多个模板组成,每一个模板都有一个时间长度,表示该模板显示的时间,模板显示时间到后,会切换到下一个模板显示,如果一段时间内没有模板,所有显示区域都将关闭。
每个节目单都必需包含一个节目单模板,如果不发布,则表示使用上一次发布的节目单的模板。
节目单模板的发布和节目单的发布可以分开管理。
节目单模板的发布可以由运营商统一管理,每个区域的管理者可以是该区域的租用者。
2.10.2. 可以独立发布每个区域的节目单(第一期)
每个区域可以创建和发布自己的节目单,可以同时发布多个区域的节目单,也可以同时发布单一区域的节目单。
2.10.3. 可以选择分组发布(第一期)
用户可以将编排好的节目单发给该权限下所有的播放端、任意分组、或播放端与分组的组合。
2.10.4. 可以独立审核每个区域的节目单(第一期)
每个区域的节目单都可以被独立审核。
2.10.5. 审核时可以预览待审核的节目单(第一期)
具有审核权限的用户可以预览待审核的节目单。
预览需要将节目单中的所有素材全部下载到审核者本地后,才能完成预览。
2.10.6. 对同一个节目单的审核不存在优先权(第一期)
如果发布方有权限限制,只能管理若干分组中的播放端,那么只有具有相同管理权限,或者更高管理权限的用户才能进行审核。
能够进行审核的用户,相互间没有优先权,对相同内容的审核动作只能作一次,以后的动作会被告知无效。
(能否通过对发布用户列表的删减来完成分次审核?不一定是删减,也可以是标志发布过了。)
(如果考虑审核优先级的话,在权限管理中,还需要体现出级别关系,会使权限管理系统变得复杂,不建议如此设计)
2.10.7. 广告内容互斥(第二期)
比如正在播出农行的广告,其它银行广告不应该出现。
可以在内容审核中,加入过滤和冲突检测。
2.10.8. 多级审核(第二期)
对审核进行动态分级,允许用户动态创建审核深度,如果发现有更深一级的审核用户存在,则自动通知给更深一级的用户进行审核操作。
(可能需要为用户创建通告列表,如果用户不在线,需要持久化这个列表,方便用户上线后,看到这些通告。)
2.10.9. 纯B/S审核端(第二期)
一些企业领导需要审核功能,但又不希望手动下载并安装软件,希望打开一个网页就可以实现审核功能。
为解决这个问题,需要开发一个只有审核功能的纯B/S方式的简单审核程序,该程序只实现审核功能,可以回复审核意见,无需专门下载软件,只需打开一个网页,但打开网页后,会提示安装一个控件,安装完控件后即可以实现审核预览功能。
2.11. 播放端
2.11.1. 多时段定时开机(第二期)
多时段定时开机分为播放端控制和服务端控制二种。
播放端控制是通过BIOS来实现的,只能在24小时内完成,如果不修改,每天会重复。实现的原理是通过在上一次关机前,将下一次的开机时间与BIOS中设置的关机时间,进行求补运算,然后修改本机的当前系统时间后,再关机。时间到后,由BIOS唤醒,因为播放端的时间在连接服务器后,会自动校准,因此不存在改动后的影响问题。
服务端控制是通过远程唤醒来实现,在广域网环境下,如果是非固定IP,需要有路由器等相关硬件支持,才能实现远程唤醒。(具体参考远程唤醒中的说明)
2.11.2. 多时段定时关机(第二期)
多时段定时关机,由播放端来实现。需要能够设置周、月、年重复(可参考手机日历的设置)
2.11.3. 授权和非授权播放端的图形化提示(第一期)
○ 播放端,在未认证的时候,除了显示未授权播放端的ID号,别名外,还要有一个Edit框,显示播放端的自检信息、播放端连接网络重新尝试、以及从服务端接收到的回包、或者连接失败等信息。Edit框可以设置最大显示的行数,超出后,丢弃最早的部分,每次添加到Edit框的最后。
○ 另一种方式,不使用Edit框,而是直接以表格的形式,显示出每一个自检的结果,状态有红色和绿色二个图标表示。重连次数独立显示,当前状态和反馈信息也有自己专门的显示位置,这样的好处是早先的自检状态也能够清晰的显示出来。
2.11.4. 播放端ID冲突自动检测、更换(第一期)
在广域网环境下,大部分是动态IP,不能再使用IP地址来标识每一个播放端。
系统会随机地为每一个播放端生成16位的一个字符串作为唯一标识的ID。因为是随机产生的,因此,当播放机数量很多时,有可能会出现ID相同。系统要能够自动检测出ID的冲突,并且自动通知播放端重新生成新的ID。
2.11.5. 播放区域的DEBUG调试模式可设置(第一期)
可以在播放端的配置文件中,或通过远程直接设置播放端的播放模式转成DEBUG模式。
DEBUG模式下,在每个区域中会显示该区域的相关信息,方便售后工程师调试、排除故障。
2.11.6. 可以关闭所有播放区域(第一期)
在播放端的配置文件中,或通过远程可以直接设置是否当鼠标移动到某一个区域时,显示关闭所有播放区域的按钮。
可以考虑加入对鼠标移动到的区域的定义,如果在配置文件中设置了范围,则使用设置的值,否则使用默认的区域范围。
2.11.7. 简化播放端安装,只需配置服务器IP、端口(第一期)
播放端所需要的其它信息,在连接到服务器后,自动从服务器获取,在播放端,只需要配置好服务器IP和端口即可。
这样设计,减少了系统的后期维护工作,降低了安装时出错的机率。
2.11.8. U盘导入智能安装(第一期)
进一步简化播放端的安装过程,将服务器的IP和端口配置写在一个文件中,放入U盘。在现场装机时,只需插入U盘,将自动替换原配置文件,现场装机无需再为每台机器连接键盘、鼠标、显示器,替换成功后,自动检测,并声音提示成功、或失败。
2.11.9. 素材下载到本地(第一期)
素材下载到本地后再播放,最主要的原因是在断网、或网络带宽不充裕的情况下,仍然能够保证播放端的流畅,按计划播放。
2.11.10. 多区域独立控制(第一期)
播放端要求各区域具有独立的节目单,每个区域的播放按照该区域的节目单来调整,各区域间不必同步工作。
2.11.11. 模板中不包含的区域将关闭(第一期)
当前切换到的模板中,如果不包含前一个模板中的某一个区域,这个区域将被关闭,这个区域的节目单无效。
2.11.12. 模板中包含的区域将继续播放(第一期)
当前切换到的模板中,如果包含前一个模板中的某一个区域,这个区域的内容将继续播放,整个播放动作不受影响。
如果位置或大小发生了变化,仅仅是该区域进行移位或缩放,原播放内容继续播出。
2.11.13. 模板中新增的区域将开始播放(第一期)
当前切换到的模板中,如果有新的区域出现,则会创建这个新的区域,同时加载该区域的节目单,按节目单要求播放。
2.11.14. 时间同步,自动校时(第一期)
播放端连接到服务器后,主动获取服务器时间,自动与服务端的时间进行同步。当偏差很大时,给出报警信息(可能是主板电池需要更换)。
播放端在运行中也会间隔一段时间进行时间同步,可以基本保持播放端同步。但如果有多种不同格式的素材频繁切换,可能仍然会出现3秒以上的误差。误差主要是和硬件相关,打开不同的文件时,需要从磁盘读取,CPU的处理速度、内存的大小、硬盘的读写速度、文件的大小、文件的格式决定了显示的快慢。
2.11.15. 断网后自动重连(第一期)
播放端网络中断后,会自动检测网络是否恢复,在网络恢复后,会自动重新连接,恢复到联机状态。
2.11.16. 自动更新当天模板(第一期)
播放端连接到网络后,会自动检查是否需更新当天的播放模板和节目单。在没有得到新的节目单或断网情况下,按照最后一次的节目单进行播放。
2.11.17. 节目的优先播放规则(第一期)
优先级从高到底顺序:插播 > 定时 > 普通。
l 普通节目单按照播放顺序循环播放,如果中间一个节目没有下载完,可以跳过该节目,播放下一个节目。
l 普通节目单中所有节目播放完后,自动循环。
l 定时节目单按照规定时间播放,时间可精确到万年历。
l 定时节目单的优先级高于普通节目单,在同一时间内如果即有定时节目,也有普通节目,播放定时节目。
l 定时节目,时间到,立即播放。如果当前播放是普通节目,则中断普通节目播放,改为播放定时节目。
l 定时节目播完后,如果有普通节目,会切换到上一次最后没有播完的普通节目进行播放。
l 插播节目和定时节目类似,但比定时节目优先级更高。
l 当有插播节目要播放时,会暂停当前播放的其它节目,立即开始播放。
l 在播放插播节目时,如果节目未下载完,继续播放以前的,暂不切换,待节目下载完后,立即开始播放。
2.11.18. 插播作为独立节目单发布(第一期)
l 插播可以包含自己的模板,定义自己的显示区域,每个区域可以包含有独立的节目单。在发送插播节目时,可以不用考虑以前的布局,而是可以直接发布一个新的布局,创建新的区域,发布新的节目单。
l 在插播模板中,可以设置背景的普通节目或定时节目的继续播出方式:暂停、暂停并隐藏到后台、静音播放、保持原来播放状态、关闭原有播放区域。
l 插播模板可以设置整个模板的大小,不一定全屏。
l 插播模板可以设置模板窗口是否居中显示,可以设置在窗口大于、小于原屏幕尺寸时,是填充满、按长固定比例缩放、按宽固定比例缩放、按长宽固定比例缩放、保持原尺寸。
l 插播模板中可以设置插播时的背景图、音乐、区域的位置和大小。可以包含多个区域。
l 插播模板中可以设置插播时是否显示插播素材下载进度和预估时间(这可以作为一种素材添加到轨道中)(这个素材始终是存在的,会根据传递的节目名称,检查该节目的下载进度和预估完成时间,然后图形化显示出来)这种情况下,插播时间到后,不管素材是否下载完成,都会立即切换到插播模板的状态,播出插播内容。
2.11.19. 可以播放主流的所有视频格式、音频格式(第一期)
可以播放,但不限于下列格式:Flash、MPEG 1/2/4、VOB、AVI、WMV、MOV、RMVB、RM、3GP、WMA、MP3、MP4等
(已知MOV格式的一些文件在Window 7会造成一些问题)
2.11.20. 可以显式主流的所有图片格式(第一期)
可以播放,但不限于下列格式:JPG/JPEG、BMP、GIF、PNG、TIFF等。
2.11.21. 可以显示txt文件、PDF 、Office格式文件(第一期)
l txt文件(以跑马灯形式播放)
l PDF格式的文件(需要自己设置好滚动的时间)
l 使用网页播放PPT(需安装Office 2003)。当多个PPT频繁轮换播放时,播放时间太短(小于5-10秒),有可能出现崩溃。(建议PPT转视频来播放,Powerpoint2010集成视频转换功能,这样播放端会更加稳定。)
l 使用网页播放Word(需安装Office 2003)。无法实现滚动。
l 使用网页播放Excel(需安装Office 2003)。无法实现滚动。
2.11.22. 可播放的其它格式(第一期)
l 网页,可以实现仅显示网页中截取区域的内容。
l 第三方exe程序
l 可以通过网页实现音、视频的点播、直播
l 可以通过网页播放实时流媒体
l 可以播放天气预报等自己开发的组件(可实现多城市轮播)
2.11.23. 流畅显示跑马灯字幕(第一期)
可以流畅显示跑马灯方式的滚动字幕(要求支持操作系统所带的各种字体,字体名称缺失时,自动转换成指定字体)
2.11.24. 循环显示文件夹中的图片(第二期)
图片轮循显示,只需指定目标文件夹,会自动枚举该文件夹下的所有图片,依次轮换显示,可以设置每次显示的间隔,与切换图片时的效果。
(这种方式的支持,首先需要文件下载支持文件夹下载)
2.11.25. 循环显示文件夹中的视频(第二期)
视频轮循显示,只需指定目标文件夹,会自动枚举该文件夹下的所有视频,依次轮换显示,显示时间在视频被播放完后,自动切换到下一个视频播放,可以设置无法探测到视频播放结束和播放时间时的最大显示时间,或者要求视频一定要能够被探测出播放时间,并且能够得到结束通告。
(这种方式的支持,首先需要文件下载支持文件夹下载)
2.11.26. 同名文件内容更新检测(第一期)
当一个节目单被编排并且发布后,如果发现节目单中的一个节目的内容需要改变,当修改文件完毕以原来的文件名上传时,如果不想重新发布节目单,就需要播放端能够自动检测到同名文件,但文件内容已经发生了改变,重新下载新的内容。这个过程可以通过文件下载服务实现。但是这里不可能实时地检测到文件内容的改变,因为这样作对网络和服务器的压力会很大,不太现实,因此,一般有一个时间间隔。
l 在播放端服务启动时检测。这种情况下,被修改的内容,可能会在第二天播放端再次开机时被重新下载。或者,用户通过远程控制指令,实现播放端重启后可以被重新下载。
l 间隔一定时间后检测。这种情况,也包括了前一种的检测,同时增加了一个检测时间的间隔。比如设定为1个小时,那么修改可能在1个小时内的任何时刻被检测到,最长不会超过1个小时。
l 即时通告。这种方案,至少会包括第一种情况。当同名文件更新时,会立即通告给在线的所有播放端,播放端接到通告后,会立即重新更新节目。但同样存在一个问题,不知道播放端是否要播放该素材,所以这种方式,可能会造成一定的带宽浪费,在播放端数量很多,分区域控制的情况下,可能代价会比较大。
2.11.27. 可以通过U盘导入加密播放列表(第二期)
在网络出现问题时,可以通过将要播放的节目单导出到U盘,然后通过在播放端插入U盘,自动导入要播放的节目单和所需要的素材。
2.11.28. 连接外设时要求输入密码(第二期)
播放端连接外设时,自动提示输入密码,保证播放端的安全。
可以通过监听SENS事件,在指定外设状态发生变化时,要求输入密码。(具体实现方式,需要进一步测试)
2.12. 远程控制
要求可以通过监控端,控制所有播放端,某一个播放端,某一个、或多个分组下的所有播放端完成指定的动作。
2.12.1. 远程控制当前播放停止(第一期)
在播放端正常连接到服务端的状态下,控制播放进程结束。但是后台控制节目单的相关服务仍然运行,与服务端的网络连接仍然保持,不会断开。
2.12.2. 远程控制当前播放恢复(第一期)
在播放端正常连接到服务端的状态下,控制播放进程重新开始。
2.12.3. 远程重启素材管理服务(第一期)
在播放端正常连接到服务端的状态下,控制重新启动播放端的相关服务。可以包括网络连接服务的重启。
2.12.4. 远程控制关机(第一期)
在播放端正常连接到服务端的状态下,控制远程关机。播放端电源关闭,但主板电源仍然通电,否则无法实现远程唤醒。
如果播放端联接有其它的LED设备、可以控制的显示器设备、或者其它可以控制的外部设备,在接收到该指令时,应该同时关闭这些设备。
2.12.5. 远程控制开机(第一期)
在播放端处于关机状态下,控制远程开机。
远程开机需要满足以下条件:
l 要求远程控制的播放端主机电源通电,BIOS和网卡都要支持远程唤醒功能,并且已经打开该功能。
l 远程控制的播放端必需连接在网络中。
l 远程控制的播放端在IP发生变化后,必需至少成功连接服务端一次。(播放端和服务端如果在局域网中,并且是相同网段,可以忽略该条件)
l 如果远程控制的播放端在广域网中,并且IP地址是动态变化的:
n 要求连接该播放端的路由器必需一直联接在网络中;
n 该路由器在播放端关机之后,IP地址没有发生变化(如果要支持IP地址变化后远程开机,路由器必需开启DDNS设置,并且已经在DDNS服务商处购买了域名服务);
n 路由器如果支持子网定向广播功能,必需开启;
n 路由器如果不支持子网定向广播功能,要求播放端的内网IP地址必需是固定IP地址,并且在路由器的映射表中为该路由器下的每一个播放端作了端口映射,映射的端口号是该机器IP地址的最后一个字段的值+基准IP地址。(基准IP地址可以改变,缺省是10000)
如果播放端联接有其它的LED设备、可以控制的显示器设备、或者其它可以控制的外部设备,在接收到该指令时,应该同时让这些处于设备运行状态。
2.12.6. 远程控制重启播放端(第一期)
在播放端正常连接到服务端的状态下,控制播放端重新启动机器。
2.12.7. 远程音量调节(第一期)
在播放端正常连接到服务端的状态下,控制播放端的音量的大小。
2.12.8. 远程监视器的控制(第二期)
在播放端正常连接到服务端的状态下,控制连接到播放端的显示设备选台、换台、切换信号源、电源关闭等。
控制连接到播放端的显示设备,必需满足以下要求:
l 显示设备支持通过RS232接口进行相应的控制。
l 显示设备的控制端口通过RS232与播放端联接。
l 显示设备的型号必需是已经支持的,否则要作二次开发。
l 显示设备必需可以通过串口指令,执行控制的相应动作。
2.12.9. 远程电视卡的控制(第二期)
在播放端正常连接到服务端的状态下,控制连接到播放端的电视卡设备选台、换台、切换信号源等。
控制连接到播放端的电视卡设备,必需满足以下要求:
l 电视卡设备可以是内置或外接USB方式接入的。
l 必需有外部提供电视信号源,可以是移动或有线方式。
l 电视卡的型号必需是已经支持的,否则要作二次开发。
l 电视卡的SDK开发包中必需支持控制的相应动作。
2.13. 互动控制
针对触摸屏等设备的特别控制。
2.13.1. 可设置单一/所有区域具有触摸查询功能(第一期)
详细描述可参考4.9.12。
2.13.2. 点击某一区域,可影响其它区域的内容(第二期)
当操作者在触摸查询时,点击播放端的某一个区域,相应的其它几个区域中显示的内容也会有改变。比如:在触摸区域中点击某一品牌鞋子的名称,在另一个区域中会显示该鞋子的图片,下面一个区域中会显示该鞋子的特点介绍。
2.14. LED远程控制(第二期)
LED根据控制卡的不同,分为单区域控制、多区域控制,所能控制的属性,以及传送数据的方式也有所不同。不同的LED控制卡需要作相应的二次开发,LED的远程控制需要一个积累的过程,在二次开发过程中,需要有相应的LED控制卡,SDK开发包,还需要1到2块单色、或彩色的显示屏作相应的开发调试。
LED的集中编辑和控制,其功能可能会受实际连接的控制卡的不同,造成某一功能的失效。在UI设计时,应尽量提供最基本的功能,将一些可能受到控制卡限制的功能,放在高级选项或扩展功能中,在发布时,如果使用了高级功能,而选择的LED不具备该高级功能时,应给出相应的提示。
2.14.1. LED模块的统一编辑界面,内容自动发布
统一管理不同控制卡、不同接入方式、不同尺寸的LED设备,统一编辑界面,统一发布,在后台根据实际接入设备,转换格式后发布。
2.14.2. 文字内容走马灯方式调整
支持文字内容走马灯方式播放。
2.14.3. 文字内容水平、垂直自动居中
支持文字内容根据实际LED屏的大小,自动水平、垂直居中。
2.14.4. 文字内容左、右、上、下边距调整
可以调整文字内容和屏幕四边的边距,自动换行,自动排版。
2.14.5. 文字内容进入方向
支持文字内容进入方向的设置,从右到左、从上到下。
2.14.6. 文字内容进入方式
支持文字内容进入方式的设置,淡入淡出等方式,方式的种类需要控制卡支持。
2.14.7. LED屏宽度、高度设置
可以远程设置、读取某一个LED屏的高度和宽度。
2.14.8. RS232连接端口设置
可以远程设置、读取某一个LED屏的RS232连接端口。
2.14.9. RS232波特率设置
可以远程设置、读取某一个LED屏的RS232连接端口的波特率。
2.14.10. 支持分组和群发
LED可以建立自己的分组管理,也可以使用播放端的分组管理,可以对单一、分组、组合、或所有LED设备统一发布。
2.14.11. 在播放端的属性中表示出是否连接LED设备
在播放端的属性中,可以通过文字或图标方式(倾向于图标)表示出LED设备是否连接,以及连接状态。
2.14.12. 可控制LED关闭电源
可以通过远程指令单独控制LED关闭电源。需要LED控制卡支持。
2.14.13. 支持通过IP方式接入的LED设备
LED设备一般有RS232方式接入,和IP接入二种方式。
RS232方式接入的LED,必需挂接到一台播放端上,才能得到控制。
IP方式接入的LED,必需手动分配一个固定的IP地址,然后单独登记在系统中才可以管理。(IP方式接入的LED,如果是广域网方式管理的,可能要考虑一下如何映射到外网中,可能需要和DDNS配合,才能实现远程管理)
2.15. 远程唤醒
如果要支持远程唤醒:
l 播放端主板电源必需始终处于通电状态;
l BIOS要支持远程唤醒功能,并且已经打开该功能;
l 网卡需要支持远程唤醒功能;
l 远程唤醒和网卡的MAC地址相关,如果更换了网卡,必需至少重新连接一次服务器,才能实现远程唤醒(重连服务器后,服务器会自动记录MAC地址的改变);
l 播放端必需始终连接在网络中。
2.15.1. 局域网同网段远程开机(第一期)
服务端、播放端必需在同一个网段的局域网中,编辑端、监控端、文件传送服务器可以在广域网、或不同网段的局域网中。
播放端的IP地址可以固定的,也可以是变化的,IP地址的变化,对局域网同网段远程唤醒不会有影响。
2.15.2. 局域网跨网段的远程开机(第一期)
服务端、播放端必需在局域网,但可以在不同的网段的局域网中,编辑端、监控端、文件传送服务器可以在广域网、或不同网段的局域网中。
如果播放端和服务端不在同一个网段,必需满足如下的要求:
l 播放端的IP地址必需是固定的。
l 要求连接该播放端的路由器必需一直连接在网络中;
l 该路由器在播放端关机之后,IP地址没有发生变化;
l 路由器如果支持子网定向广播功能,必需开启;
l 路由器如果不支持子网定向广播功能,要求播放端的内网IP地址必需是固定IP地址,并且在路由器的映射表中为该路由器下的每一个播放端作了端口映射,映射的端口号是该机器IP地址的最后一个字段的值+基准IP地址。(基准IP地址可以改变,缺省是10000)
2.15.3. 广域网静态IP远程开机(第一期)
服务端、播放端可以在广域网、或局域网中,编辑端、监控端、文件传送服务器可以在广域网、或不同网段的局域网中。
播放端的IP地址必需是广域网的固定IP。
2.15.4. 广域网动态IP远程开机(第一期)
服务端、播放端可以在广域网、或局域网中,编辑端、监控端、文件传送服务器可以在广域网、或不同网段的局域网中。
l 远程控制的播放端在IP发生变化后,必需至少成功连接服务端一次。
l 连接该播放端的路由器必需一直联接在网络中;
l 该路由器在播放端关机之后,IP地址没有发生变化(如果要支持IP地址变化后远程开机,路由器必需开启DDNS设置,并且已经在DDNS服务商处购买了域名服务);
l 路由器如果支持子网定向广播功能,必需开启;
l 路由器如果不支持子网定向广播功能,要求播放端的内网IP地址必需是固定IP地址,并且在路由器的映射表中为该路由器下的每一个播放端作了端口映射,映射的端口号是该机器IP地址的最后一个字段的值+基准IP地址。(基准IP地址可以改变,缺省是10000)
2.16. 素材管理
素材管理服务要求保存素材的磁盘采用NTFS方式格式化。如果采用FAT或FAT32格式化,会出现问题。
2.16.1. 素材动态优先级下载(第一期)
所有要下载的素材,会根据播放的紧急程度,动态调整下载优先级,优先级越高的素材,会优先下载,优先级相同的素材,按请求顺序下载。
2.16.2. 素材存放空间自动管理(第一期)
可以指定素材的存放目录,指定素材存放目录所在磁盘的最小剩余磁盘空间,如果低于该值,将自动按照素材的使用频率依次删除素材,保证有足够的空间可以下载素材。
2.16.3. 素材按使用时间自动删除(第一期)
所有素材按照最后使用的时间自动排序,当空间不足时,自动按照使用的顺序,首先删除最久没有使用过的素材,直到空间满足为止。
(如果要支持文件夹下载,和第三方程序,不能简单的枚举素材文件夹的目录,而是要和文件下载结合起来,首先记录下所有下载的文件夹和素材的名称,在枚举目录时,这些文件或文件夹单独记录,文件夹整体删除。不在列表中的文件夹作为一个整体,整体删除。)
(另一种方法是将素材和第三方程序分开在不同的目录存放,自动管理时不对第三方程序的文件夹进行删除,要考虑这样作是否会对素材的下载造成影响?)
2.17. 文件传送
文件传送作为独立的服务可部署在单独的服务器上,也可和服务端部署在同一台服务器上。
如果播放端数量较多(几千台)最好是分开部署,避免IO访问影响到服务端程序的运行。
2.17.1. 带文件校验的传送模块(第一期)
传统FTP方式的上传、下载,无法实现对传输后的文件的完整性校验,如果传送中出现问题,播放时可能会造成程序的崩溃或黑屏,从而影响播放的效果。在实际应用中也发现,在高并发情况下,FTP服务端有可能会造成传输数据错误(具体原因应该是FTP服务端程序的健状性造成的)。
FTP的另一个问题是无法检测到文件内容发生了更新。
为了避免上述问题,需要重写文件传送服务,在文件传送完成后,对文件的完整性进行校验,同时,当文件内容发生变化时,可以在不传送文件的情况下,发现文件的内容发生了变化,从而通知相应模块,重新传送文件。
文件传送服务需要保存文件的磁盘采用NTFS方式格式化,在FAT或FAT32方式下,会造成频繁传送相同文件的问题。
2.17.2. 支持对文件夹的传送(第二期)
只需要给出文件的名称,能够自动对文件夹下的所有文件和子文件夹下的内容进行传送。当文件夹内容发生变化时,能够重新传送发生变化的部分,而不需要传送所有。
2.17.3. 上传文件 MD5自动生成(第一期)
可以上传磁盘中的任意文件,如果没有相应的.MD5文件存在,会自动生成。
2.17.4. 下载文件 MD5自动下载(第一期)
下载方只需指定要下载的文件,该文件对应的.MD5文件会自动下载。
2.17.5. 文件内容修改,自动检测(第一期)
文件内容发生变化时,无需传送文件,可以自动检测出来,提示同名文件,但内容不同。
2.17.6. 支持断点续传(第一期)
文件传送过程中如果中断,下次开始传送时,已经接收到的内容不需要再次传送。
2.17.7. 上传文件的MD5文件手动删除后,能自动生成(第一期)
上传文件所对应的.MD5文件,如果被删除,可以自动重新创建。
2.17.8. 上传文件的MD5文件被手动修改,会重新创建(第一期)
上传文件所对应的.MD5文件,如果被手动修改,在上传前能自动检测出来,并会重新创建对应的.MD5文件。
2.17.9. 多点上传同名文件时,只允许其中一个上传(第一期)
多个地方同时上传同名的文件时,只允许第一个传送者上传,其他地方会接收到通告,文件正在由其他地方上传中。
2.17.10. 相同文件不会再次上传或下载(第一期)
同名,并且内容相同的文件,再次上传或下载时,会自动提示文件已经存在,无需上传和下载。
2.17.11. 可设置同名文件的最小检测时间(第一期)
可参考3.10.22同名文件内容更新检测 中的说明。
2.17.12. 多时段下载(第二期)
可通过设置文件上传和下载在不同时间段内的带宽控制来实现多实段下载。
2.17.13. 素材上传、下载带宽控制(第二期)
可以设置上传、下载在某一个时间段内的最大占用的上传带宽,和最大占用的下载带宽。
2.17.14. 素材内容的实时加密(第二期)
在文件上传到服务器时,对素材内容作实时加密处理,在文件被读取时,在内存中对数据实时解密。这样可以保证素材在存储过程中,始终是处于加密状态。
这个实现,可能会碰到如下的问题:
l 实时加解密,需要采用流式加密算法。现在的流式加密算法,如果不从头开始解密,可能无法还原数据。
l 实时解密,需要播放器在播放数据时,支持网络读取数据,是否能够支持所有格式的文件,有待测试。
l 不排除可能会碰到更多的问题。


浙公网安备 33010602011771号