广西广播电视台数据管理系统的设计及实现
2019-07-30何思龙
□何思龙
一、项目概况
由于近几年各项业务不断发展,台里内部产生了大量的非结构化数据,类型主要包括图片、音视频、文档数据、合同电子件等,这些数据分散保存在每个员工的办公电脑、OA 系统及作为邮件附件保存在邮件服务器上,数据存储太分散。在这种激增的非结构化数据面前,数据管理中心应运而生,数据管理中心采用分布式架构,解决了数据存储的容量问题、安全问题;通过权限分配、流程审核解决了数据的管理问题;通过分享管理、API 接口,解决了数据共享问题。
数据管理中心还提供了PC 客户端、手机客户端、Web客户端,方便使用者随时对数据进行管理、分享。
二、设计思路
(一)数据可视化。本系统采用可视化的视觉及操作设计,实现了数据可视化、流程可视化、文件可视化以及人机交互工程。通过对上传文件的信息,按路径、文件类型、文件信息、时间信息等要素进行存储、分析、建立索引,形成基于文件目录、文件分类、文件检索为一体的立体多维可视化。同时,系统针对不同情况下的需要,设计了按文件名、时间、大小和名称解析的排序方式。
(二)扩展性。本系统在各个层级都进行了可扩展性的支持:1.在文件系统层,采用了分布对象文件系统,支持水平扩容,性能不随系统的扩容而下降;2.数据库支持水平扩展;3.转码集群及搜索引擎均支持扩展;4.在对外提供的应用服务器中,支持无限制条件的服务器扩展。因此面对不断增长的控件与计算需求,系统都可通过扩容扩展的方式进行满足。
(三)安全性。整个系统节点采用全冗余硬件架构设计(风扇、电源),包含掉电保护模块,数据的安全策略均采用1 比1 备份方式,系统的单节点安全性相当高。系统的文件底层采用了纠删码策略,即使有硬盘或服务器出现损坏,也能通过该策略恢复。在数据库上采用了双机热备的形式,以保证数据的安全性,在丢失和损坏的情况下亦能回复。在通信方面采用身份认证的方式,确保数据访问的安全性。
(四)可靠性。 本系统由多个节点组成,每个节点均可提供独立的服务,在使用过程中,即使有节点因为种种原因产生故障,也不会影响系统的整体使用。当故障排除后,重启节点,故障节点又会重新加入节点集群中。
(五)易用性。本系统在设计上以易用性为重要考虑方向,在功能设计及使用操作上,采用了接近桌面系统的设计模式,减少学习成本,增快上手时间。同时,为满足用户基于不同终端的访问需求,系统研发了WEB 网页端、WINDOWS PC 程序端、安卓 APP 端及 IOS APP 端,最大程度满足用户在不同使用环境下的访问需求。
三、系统架构
在逻辑架构上,广西广播电视台数据管理系统主要由文件管理、权限管理、转码模块、流程引擎、搜索引擎、日志模块分组成。系统采用B/S 架构完全建立了以上六个模块,同时采用C/S 模式构建了文件管理、转码模块、流程引擎、搜索引擎,利用不同架构的优势,满足用户不同终端的需求,各个模块之间具有稳定、易用、易维护等特性。在数据存储上,同时使用结构化数据库和非结构化数据库,利用彼此的优点构建安全、高效的数据架构。数据传输上,则采用RESTFUL 构建接口,使用JSON 数据格式进行传输,接口应用于各个终端数据交互。
(一)文件管理模块。 本系统可建立公共空间,实现数据隔离。建立文件夹,实现路径管理。统配备文件特征识别模块,开启后可对进入系统的文件进行类型识别及过滤识别。系统同时支持编目模板配置,帮助文件管理员对文件进行编目管理。此外,系统还可以通过智能目录对文件文件夹进行编目,通过对构建条件的选择和排序,可以根据需求生成各种规则及路径的临时目录,并重组目录中的文件。系统的文件管理模块中还提供了文件的在线预览功能,使用户无需下载文件即可在线浏览文件。
(二)权限管理模块。系统通过四层权限体系对用户进行权限管理,实现了权限管理的安全性与易用性:第一层是媒资空间外层权限,确保仅有媒资空间内的人员才可访问文件;第二层是媒资空间内部权限,该权限由管理员指定,可为不同的人员、角色分配不同权限,人员角色之间权限会进行叠加;第三是个人隐私权限,确保用户自己的文件不被别人访问;第四层是分享权限,通过加密的分享,打通以上三个层面的权限闭环,允许将各个层面的访问使用权限临时分配给无权限人员。而在系统的管理上采用了两种权限划分:业务管理及系统管理权限。业务管理权限负责管理系统的日常维护,如机构、机构、空间、转码配置的管理维护等;系统管理权限则负责对整个系统的控件、容量、文件特征、内外网控制等进行管理维护。
(三)流程引擎。流程引擎模块应用于流程的发起和审批,流程环节采用配置方式,可根据需求修改。流程引擎支持角色化配置,人员与角色脱离,增加了冗余性,同时在流程步骤中独特地开创了并联式审批及串联式审批,灵活度大大提高。流程引擎可分空间布置,不同的空间拥有自己独立的流程引擎模块。
(四)转码模块。转码模块是由转码集群及消息队列构成,是对上传文件进行离线转码,从而支持跨终端的在线浏览以及离线文件处理。转码任务由系统根据用户的请求或是系统对文件的类型判别自动生成,任务生成后加入消息队列,以确保转码任务的可靠性与公平性。转码集群可以由N 转码机器组成,每台机器可根据自身的配置情况进行N 种转码任务执行,转码集群从消息队列中获取任务,并执行转码任务,到完成前会一直提交任务的完成进度。转码集群支持水平扩展,可满足不断扩张的算力需求。系统目前支持图片、音频、视频、文本的转码,其中视频还支持了抽帧、打点、合并、转码等功能。
(五)搜索引擎。搜索引擎是数据管理中心的核心模块之一,系统会将收集到的数据初步识别和处理后,传输给搜索引擎服务器,搜索引擎则为这些数据建立索引,向用户提供文件管理服务。目前搜索引擎支持多种维度检索,包括:名称检索、大小检索、创建日期检索、编目检索及编目二次过滤。通过对检索出的文件进行预览、编辑、分享、删除、打开所在位置等,从而满足各种数据检索需求。
(六)日志模块。用户在空间所进行的大部分操作都会留下日志记录,仅有空间的管理员以上权限可进行日志查询,日志记模块仅增强了空间使用规范性,还可通过日志模块删除文件恢复的功能,将误删或恶意删除的文件恢复,大大增强了空间的安全性。
四、项目创新成果
(一)基于路径和编目的智能目录。系统可以将任意文件夹进行智能目录视图转换,转换智能目录视图后,系统会对该目录下的所有文件夹及文件进行分析,提取其中的关键属性,组成视图的组成参数,用户可对这些参数进行不同顺序的选择和组合,生成各种临时路径视图。不同用户面对同一目录,可建立不同的智能目录视图,如图所示。
(二)高效文件索引数据库。 系统没有用传统的数据库方式来建立数据的索引,因为数据库的字表结构固定不易扩展,非结构化数据的超大数据规模更适合Hash 表 K/V 索引。系统汇总集成了智能搜索引擎,它主要实现信息采集、处理、检索功能;结合分布式对象存储的无限属性的特性,可以灵活地实现非结构化数据的高维检索、复杂条件检索、模糊搜索、范围搜索等功能,并且具备搜索结果分类、检索摘要等功能为用户提供体验更好、相关性和准确度更高的结果。
(三)无限级编目。系统中允许用户设定无限层级的编目,并可组装中模板。与其他系统的编目相比,该编目具有极大的灵活性,可构建与层级、重复度无关的编目;编目支持多种常用空间;极具特色的编目组建方式十分方便,同时可以满足各种不通需求的编目结构。
(四)转码集群。系统的转码集群自研而成,支持图片、视频、文本、音频的离线处理及转码。该集群采用微服务架构,可根据不同机器启用不同的转码服务,最大限度利用配置高低不同的机器。该集群还支持扩展,当算力不足时,可无缝添加机器加入转码集群。