论文研究-数字电视前端设备群管理系统的设计与实现 .pdf

所需积分/C币:5 2019-08-15 11:39:46 602KB .PDF

数字电视前端设备群管理系统的设计与实现,秦懿,陈磊,随着数字电视系统的发展,数字电视前端设备功能趋于复杂,针对各类型数字电视前端设备进行更加高效的管理在实际应用中是一个很重
山国武技论文在线 行管理,设备群管理系统主要有以下几方面的功能需求。 第一,管理员可以方便地管理数字电视前端设备群,并快速便捷地对设备的信息进行维 护。原有的架构的数字电视前端设备管理系统都是通过在浏览器中访问设备地址米 进行设备管理。这样,管理员每次在査看设备相关参数时需要记忆或查询设备的地址, 操作较为繁琐。并且对于设各群,管理员无法直观地看到现在其管理的设备冇哪些,正常工 作的设备有哪些。因此,数宁电视前端设备群管理系统需要在满足管理操作的基础上能够让 管理员的管理更加清晰且易于操作。 第二,设备中各项数据信息显示要同步,管理员也可对其进行揀作。设备中数据信息的 显小是设备管理中的核心功能,管理员通过这些数据信息来判跞设备的工作状态。因此,界 面显示的数据和设各中的运行数据要保持同步。管理员也可以对相关数据进行修改,修改后 系统要将修改值传递到设备端,并将修改结果提示给管埋员。另外,·台设备中可能包含多 块板卡,板卡的功能都各不相同。因此,在每台设备的管理界面要根据管理员的选择动态地 显示板卡数据。设备的参数和配置信息棖据其功能和类型分为好几个模块,系统在显示设备 参数时要根据其功能和类垩进行分块显示,并可分块操作。设备在运行过程中会产生相关的 工作日志,在设备管理界面中需要将这些日志进行显示,以供管理员查看。同时,管理员也 可以对日志进行筛选、删除、下载等操作。 基于以上两点需求,数字电视设备群管理系统主要功能包含两个模块,设备列表模块、 设备数据模块。除了功能模块外,系统还需要相关的界面与用户进行交冮。各个功能模块和 界面均基于 柜架进行开发实现,通过 的扩展点机制进行整合。模 块化的开发方式不仅可以使各个模块和界面聚焦在其主要功能,并且可为后续系统模块的升 级和新增提供便利。为方便设备管理员持续使用该系统,本方案将设备相关信息和管理员相 关信息存储在 数据库中。 设备群管理系统设计与实现 数据库相关内容 数据库表的设计 数据库中存储的一般为需要持久化的信息。通过对系统需求的分析,可以发现当前的设 计中系统中需要持久化的信息只有系统管理的设备相关信息和管理员信息两部分。设备相关 信息包括设备的名称、地址、备注信息等内容以及设备的分组所属关系等内容。管理员 信息包括用户名、加密后密码等内容。 针对这两部分信息的存储,数据库表的设计可以有两种方式。一种是对于需要存储的各 个类型的数据信息分开建表,一个类型数据对应一张表,表内各字段根据数据对象的各项属 性设立。还有一和是首先将各个数据类型对象转换成为文档,然后将文档的字 节数据存入数据库。这样在薮据库中就无需分开建表,只要増加标识字段就可以将数据进行 存储。在使用数据时,将数据从数据库中读岀,再将数据转换成为相应数据对象就可 进行使用。 对」第一种每一个数据类型对应一张表的方式来说,数据存储较为直观,通过数据库可 直接地査看相应数据。并且在数据量较大情况下,分表操作在査询操作时效率更高。但是这 种方式下,对于每张均需要在程序中加入对于每张衣操作的语句,并且数据斥操作 山国科技论文在线 的底层接∏不能实现复用。当新增加存储数据类型时,我们需要新建表,并针对该表川发相 应的数据库操作接口。 对于第二种方式米说,虽然数据存储于一张表中,査看相对不直观。但是通过第二种方 式的转换操作进行存储后,具体数据属性内容对于数据库来说是屏蔽的,增加新的存储数据 类型时,无需在数据库中新建表,之前的操作数据库数据的程序接口也可以进行复用,为开 发和扩展提供了便利。 在本方案中,现在需要存储的数据信息仅为设备相关信息和管理员信息,数据量较小 釆用第二种方式在实现上更为简便,之后增加其他数据信息时也方便扩展。并且设备相关信 息中有一项为设备的分组所属关系,各个设备和分组依靠其所属管理组成一个树形结构。在 存入设备和分组数据吋,需要先将树进行拆分再存入;读取出设备相关信息后,需要再将其 组合成为个树形结构。若采用第二种方式的话,树形结构的拆分和组合无需另外实现,在 进行转换和反转换的过程中就自然实现了这些操作。 综上,我们采用将信息存储到数据库中的一张表中。表中数据既需要根据类型作区分, 也需要根据同类型不同对象做区分。如图所示,表设计了三个字段, 宇段表示存储的数据的名称,字段表示存储数据的类型, 字段表示 由对象转换成的文档的字节数据。 名称 类型 默认值 CCLPMO 1 name varchar(254) varchar(254) 空> 日 definition Yes 图数据库表设计 数据库连接池 实现数据库操作时,本方案通过封装 的 数据库连接池实现数据 库连接。当需要在数据库中读取数据时,向连接池中请连接ε若岀前连接池有空余连接,则 将该连接返回,若没有灲新建数据库连接。数据操作完成后,连接返回连接池等待下次调用。 通过设备数据库连接池的初始连接数、同时应用连接数、等待连接数、等待时间、回收超时 连接等参数,可以使得数据斥连接的效率和系统资源消耗保持·个较好的平衡 设备列表模块 设备列表模块主要功能 作为设备群的管理,模块首先要支持设备的分组管理。分组数目不能做限制,分组层级 也不应做限制,用广可根据自己的需求自行设置分组的数目和层级 在系统使用过程中,设备的添加、删除、修改等操作是与用广交互过程中必须的操作。 因此,模块要提供设备的添加、删除、修改等接口供相关界面调用,以便亢成对于设备的管 理操作。 模块要对所有设备进行状态监测,并且监测服务开启后要持续不断地进行下去。当监测 设备的状态发生变化时,对相应设备进行标记,同时将设备的状态改变通知到界面中进行显 山国武技论文在线 斥。监测服务要提供川关接∏,管理员可根据自已需求决定是否川启该服务。 综合上面的功能点,设备列表模块的架构如图所示。 数据模型 显 查询增加删除修改 界 监测结果} 状态监测 开启/关闭 图设备列表模块架构 基于设备的分组管理和多级分组特征,可以选用多叉树作为模块设备和分组的数据模 型。设定一个根结点,其余结点可作为分组结点或设备结点,其中,设各结点必须为叶子结 点。根结点和分组结点的子结点的数目不做出初始设定,这样可供用户自由添加分组和设备。 分组和设备的各项信息可作为结点属性进行存储。 设备列表模块相关功能实现 设备列表模块维护的是改备和分组数据模型,本方案釆用多叉树来作为数据模型。其中, 树的结点分为三类,全局唯一的根节点,分组节点和设备节点。这三和结点有着共性和差异 性。根据共性和差异性,实现了 等四个类。 作为父类,包含着三种结点的相同属性,例如结点名称、结点、子结点列 表、父结点等属性。 类作为根结点类,子结点只能是分组。 类为分组结点类,与根结点类相类似,不过其子结点可以是设备。类有根据地址查找 设备对象等方法。 类为设备结点类,其特有属性为设备地址、在线状态、设 各类型。其中,由于设备可根据名称排序,也可根据地址排序,所以 类的比 较方法需要进行重写,根据名称和地址分别进行实现。地址比较是通过将地址转换 成为位二进制数进行比较。 类中子结点列表需满足查询、增加、删除等操作,故选用数据结构实现。 存储父结点的而不存储父结点对象是因为将设各分组数据持久化到数据库是通过将对象 转换成为文件实现的,若存储的是父结点对象,则进行对象到文件的转换时会 陷入死循环,因而存储父结点的。此是一个以类名打头的自动生成的字符串,任意两 个结点对象的均不相同,所以遥过存储父结点也能实现存储父结点对象的相同的功 能 为方便对树的数据模型进行操作,实现了 类,其基于单例模式,作 为树模型的操作类,提供了一系列方法供其他模块进行调用,这些方法内封装了对树模型中 山国武技论文在线 设备以及分组的操作。 设备的状态监测是设备列表模块的一个重要功能。对于每一个添加到设备列表中的设 备,当状态监测开启后,需要持续不断地对设备进行监测。为避免造成资源浪费,同一时刻 每个设备仅开启一个检测线程。检测通过来进行,若设备能通则说明设备网络可 联通,若不能通说明当前设备未接入网络,可能由物理连接断开或设备工作异常导致 检测线程中过程可通过调用中 方法执行,该方法封 装了操作系统的命令的调用 本方案通过使用定时器、线程池、队列、集合等来灾现对设备状态的不断监测。具 体过程如图所小 添加设备 定时任 设备注册器 务等待 设备 队列 东统启动 批量取出 定时器 正在 线程 检测 执行 设备 队列 线程池 图设备状态监测过程 当系统启动加载所有设备或新添加设备时,在设备注册器中对设备进行注册,设备注册 器为一个存储无重复元素的集合。设备在设备注册器中注册后,设备注册器将该设备推 送到等待检测队列中ε等待检测队列中存储的是等待进行接入检测的设备,这些设各由定吋 任务将他们挪动到检测队列中。定时任务是 类对象。设备挪入到检测队列后,依 次从队列中弹岀,并向线程池申请设备状态检测线程开始进行网络接入检测。线程执行亢毕 返回结果后,设备对象修改自身状态,并重新进入等待检测队列中。线程池由 类 方法生成,其可重用之前构造的线程,也可根据需要创建新线程。 定时器是一个 类对象,它可以定时执行 类对象任务,执行周期可根据需求 山国武技论文在线 进行设定。通过控制定吋器对于定吋任务的执行,可实现对于设备状态监测的八启和关閉。 需要注意的是,为防止设备对象在队列中相互移动过程中被误读,对等待检测队列、检 测队列操作时要基于生产者消费者模式对相关队列上锁,待执行完毕后释放锁并通知队列 使用者。在程序实现时,设备注册器、等待检测队列、检测队列、定时器、线程池均作为定 时任务的类属性对象存在。因此,在对定时器任务操作时要设立标志位通过双重检查锁进行 同步控制。 设备数据模块 设备数据模块功能设计 设备数据模块用于与设备进行数据间的传输,将得到的数据提供给界面进行显示,将界 面中修改的数据传输给设备进行处理。设备的数据包括设备参数、设备日志、板卡参数等内 容。设备数据模块的架构如图所示。 http 数字电视 FTp 前端设备 Socket 设备数据模块 显示界面 Http 数字电视 fTP 前端设备 Socket 图设备数据模块架构 设备参数中数据类型不是统一的,分为字符串和文件两种,例如网络参数均为字符串 而下载中获取文件列表为字符串,进行导出时实质上是进行文件下载。因 此,对于设备参数传输方式的选择要按照数据类型进行区分。由于设备参数不会自行改变, 仅在管理员对其设置后才会发生变化。因此,与设备间字符串的传输可以通过协议来 进行,而与设备间文件的传输可以通过协议进行。另外字符串型参数由参数名和参数 值两部分组成,因此,可以使用 作为字符串类型设备参数的传输数据格式 板卡参数是随着板卡的运行动态变化的,系统需要保讦界面中显示的数据与设备中板卡 参数保持同步。为保证数据的传输速率,可以通过 通信来传输板卡参数。外,设 各日志和板卡参数的传输均需遵循设备协议规定,先传一个字段给设备端,通知设备端要获 取的数据内容,然后接受改备端返回的数据信息。为便于管理员保存及后续处理设备相关日 志,可提供设备日志卜载功能,卜载可支持和等多种格式。 由于系统是设各群管理系统,可打开多个设备的管理界面来同吋进行设备的管理,在功 山国武技论文在线 能实现时要使各个设备的数据的传输相互隔离,互不影响 设备数据模块相关功能实现 通过协议传输数据时,传输的数据可以以多种数据形式来实现,根据前面的分析, 木方案主要采用格式。使用作为传输协议,传输消息体的开源包有 等。但在实现过程中发现, 等包中 协议实现是通过调用中的 客户端对象实现的。由于设备端协议实现时的缺陷,其做出的响应不严格满足 响应的格式要求,无法通过下关于响应安全性的校验,导致使用 进行数据传输时无法成功获取到设备的响应。而设备端仅支持协议进行 数据传输。因此,本方案采取通过 通信来实现 协议下 数据的传输。传 输过程如图所示。其中 数据的封装和解析选用开源的 包进行实现 JSON 字符串 请求数据 格式 Http 数字电 Jackson Socket 视前端 USON 字符串 格式 Http 设备 响应数据 图 协议传输数据 通过协议进行文件传输实现可用开源包,该包除了实现了文件的上传和下 载外,还实现了文件火的上传下载、获取服务器中目录等功能。其中,最核心的类为 类 类对象可进行连接服务器、上传文件、下载文件等操作。 系统主要界面 根据前文中需求分析,系统主要界面有设备列表界面和设备网管界面。 在本方案中,设备列表界面用来显示系统管理的设备群及其分组,并可提供一系列对于 分组和设备的操作按钮供用户使用。界面主要功能如图所示。 分级 多选 显示 可伸缩可视化 设备列表界 可拖拽 添加 刷新 探作 删除 网管界面 编辑 山国技论文在线 图设备列表界面主要功能 设备列表界面中需要显示可分级、可伸缩的列表,可选用 框架提供的 组件。 隶属于列表查看器,允许直接使用模型对象,而 不需要将对象分解为基本的字符串、数字和图像元素,查看器通过在获取项日标签(包括图 像和文本)后为这些对象提供适配器接口来完成这项工作。在 组件中结点拖拽功 能可以通过调用 方法、 方法实现。 对列表中结点的操作功能可以以右键菜单的形式添加到界面中。右键菜单类通过绻承 类实现,将相关操作封装成 对象添加到 对象中即可实现在 右键菜单中加入操作按钮。 设备列表界面实现效果如图所示,在线设备和离线设备均可直观显示。 四设备列表 IP地址: 4@设音管理 马默认分组 回设备 (19216896) 回dddd(192169.77 黑(192168994) (192,1689103) 层(1921689,104) 易(1921689105) (1921689112) (1921689113) (1921689115) 层(1921689116 层(1921689129) 易(1921689146 图设备列表界面 设备网管界面是木方案的核心界面。通过这个界面,用户要完成与设备的数据交互,实 现设备的管理。依据设备管理功能需要,界面中主要有三部分内容,分别是数字电视网络适 配器、设备参数、日志。进入界面后首先呈现的是数字电视网络适配器部分。界面主要内容 如图所示 山国武技论文在线 板卡列表 电源参数 网络 适配器 板卡参数 临时日志 网络参数 系统时间 设备网管界面 SNMP Trap 参数 配置参数 设备参数 恢复出厂 MIB下载 重启 系统信息 日志 图设备树管界面主要内容 在设备网管界面中,可以用 提供的 组件和 组件将三部 分内容分别置于三个内 通过设备列表界面操作打开设备网管界面后,先将基础界面生成。基础界面指的是不包 含具体数据显示的界面框架。基础界面生成后,将当前用户信息注册到设备中。注册的同时, 设备数据模块开始和设备进行数据传输。网管界面根据传回的数据和板卡结点数据进行界面 加载和数据显示。 网络适配器界面包括板卡列表、板卡界面、电源参数、临时日志等几部分。其中, 网络适配器需要根据设备传回的板卡类型动态加载板卡界面。为确保每次加载的都是与 设备中板卡相匹型的界面,当启动加载界面时,系统要从设备端卜载板卜界面相关的包 保存到本地缓存目录下,再通过的动态加载机制将板卡界面加载到设各适配器中。 需要注意的是,现有设备中板卡界面均基于 实现的,将嵌入到 组件中需要通过 提供的 桥进行适配。另外,界面中电源设 置界面也需要根据设备传回的数据判断该设各是否支持多电源模式,支持则加载显示电源设 置内容,若不支持则不加载。 设备参数用于显示所有的设备参数。内采用网格布局,包括两个控制按钮和八 个参数组。两个控制按钮分别用于刷新参数和锁定解锁功能。由于设备参数基本固定,无需 实时传输,因此设备参数的显示做延迟处理,仅在打开设备参数时进行加载显示。另外 由于获取设备参数时设备处理时间较长,在加载时添加一个进度窗口提小用户。 口志界面包括列衣及按钮两部分。列衣和按钮均调用 控件实现,布局 同样釆用网格布局。按钮点击后触发设备数据模块口志操作相关功能 设备网管界面个的实现效果如图至图所示

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源