基于C#的台站数据库管理系统设计与实现

2018-05-09 07:50
视听 2018年4期
关键词:台站备份逻辑

(广西广播电视无线传播枢纽台)

1 引言

广西区无线发射机台站数据库的安全性、完整性是保证远程监控平台和台站计算机应用控制程序正常运行的前提与基础,假设没有了数据库的支撑,远程监控平台的作用将归结于零。然而我们总结发现,在使用数据库过程中会遇到不少的问题,如软件冲突,系统故障,硬件故障、未知错误等导致SQL应用程序无法启动或者数据文件丢失。传统的解决方案是人工找到原来的数据库备份文件进行附加解决,备份方式也是采用手动进行,无法做自动联机处理,解决不及时,总体效率低下,灵活性不高,操作过程量大且复杂,需要比较深奥的专业功底知识,一般人无法完成。针对这些问题提出更加高效,安全,灵活,便捷解决方案,这也是研发本系统的根本原因,系统投入使用后将为全区无线广播电视的安全播出工作发挥着重要作用。

2 系统总体设计

2.1 设计目标

本系统可以取替传统手工操作,轻松实现自动备份、数据还原、联机处理功能。系统运行稳定,数据传输安全可靠,系统追求友好人机交互的同时还提供易维护、可扩展等功能。

2.2 开发及运行环境

1.开发平台:Microsoft Visual Studio 2010

2.数据库:SQL Server

3.开发语言:C#

4.依赖框架:Microsoft .net framework 2.0

5.运 行 平 台:Windows2003、Windows XP、Windows7、Windows10

6.内存:128MB以上

2.3 网络结构

分中心的台站计算机通过内网主干网络与中心服务器相连接,其台站地点、接入计算机数量不受限制,网内所有计算机构成一张网络拓扑图。本系统可以架设在网内的任意一台计算机上,如中心服务器、台站计算机、办公室计算机等,具有不受地点限制的优点。并且兼容原有网络结构,不影响其他计算机应用控制程序正常运行。备份时,系统自动从台站数据库取出数据,并自动备份到指定计算机的SQL数据库中,还原则反之。整个操作过程简单、灵活,数据交换安全、可靠,为今后较长时期内台站的无限扩充提供了可能性,符合当前实际工作的需要。

图1 系统架构

2.4 系统架构

2.4.1 架构简述

通常在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构,本系统采用三层架构设计,从下至上分别为:数据访问层、业务逻辑层、表示层,如图1所示。其目的是为了实现“高内聚,低耦合”的设计思想。各层的作用如下:

1.表示层:位于最上层,主要是指与用户交互的界面,其与台站维护人员或者平台值班员关系最为密切,专门用于接收输入的数据和显示处理后的结果,用户需要备份或者还原数据时必须在本层点击界面操作方可实现。

2.业务逻辑层:如同一座桥梁或者一名厨师,位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。其

主要实现业务逻辑,具体包含:验证、计算、业务规则等。

3.数据访问层:其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、日志文档或是XML等。另外,可实现对某个台站数据的增加、删除、修改、查询。将存储在数据库中的台站数据提交给业务逻辑层处理,同时将业务逻辑层处理的数据保存到数据库。

2.4.2 架构优点

1.层次分明,结构清晰,有利于标准化设计。另外开发人员可以只关注系统结构中的中某一层,研发不受城市地点限制,有助于团队快速开发。

2.可以降低层与层之间的依赖,使复杂变得更加简单;

3.利于代码精简和各层接口逻辑的复用。

4.功能可扩充,数据库可转移,且可接受MYSQL、ORACLE等类型数据库和不同数据库、不同版本之间的数据交换,实现轻操作,易维护,极大地降低了维护成本,也为二次开发提供可行性。

3 系统功能概述

图2 功能流程图

1.自动备份:首先,从所有列举台站中随机选出一个或者多个台站组成一个备份方案,并提供增加、删除、修改、启动、停止等功能;其次,系统运行中自动判断当前时间节点与方案中预设的时间点相吻合,将自动备份数据到指定服务器上。若需要备份的台站通信异常,则自动跳入下一个台站进行备份;最后,若整个备份过程中,进行停止备份操作时,系统将失败原因记录到日志,并启动回滚事务。

2.服务端恢复:台站将计算机接入主干内网,联系管理员或者具有恢复权限的值班员进行恢复操作,系统根据通信情况,自动判断是否去服务器取出相应台站的数据并恢复,恢复失败则做回滚操作。其特点是服务端可以对单个或多个台站进行数据恢复。

3.客户端恢复:其与服务端恢复的原理及结果一样,最终都能使得台站数据恢复正常。其在恢复数据时,不需要联系管理员或者平台值班员,用户随时进行恢复,过程简单,操作便捷。

4 性能指标

通过反复操作,备份一个台站数据只需两个简单步骤,一是建立备份方案,二是执行方案,耗时较少,后台备份一个普通台站的数据仅需3~4秒。图3数据显示,本系统采用层次结构的划分之后代码设计得相对精练,类与类之间的耦合度比较低,继承深度仅为1度,整个系统的复杂度尽可能做到简单化,且功能尽可能完善。另外我们从列表的可维护性能批标中,各层次的得分比较高,总体达到了82%,大大提高了系统的维护性能,满足今后因台站发展,数据库转移,技术更新需要而实现的扩展和升级做了充分的准备。

图3 性能参数

5 总结

总之,本系统采用三层架构设计,结构清晰,层次分明,功能齐全,操作简单实用,能够实现手动备份、自动备份、还原等功能。经过测试,系统运行稳定、安全、可靠,正式应用后将大大减轻全区台站数据备份的繁杂工作,满足如今远程监控平台维护的实际需求,对广播电视的安全播出工作起到保障作用。另外,系统最大限度实现易维护、可扩展,为今后功能的扩充和二次开发提供有利条件。

[1][美]Christian Nagel.C#高级编程(第8版).清华大学出版社,2013.10

[2]软件开发技术联盟.C#开发实例大全(提高卷).清华大学出版社,2016.01

[3]闫书清.高性能SQL调优精要与案例解析.电子工业出版,2017.08

[4]白文荣.软件工程与设计模式.清华大学出版社,2017.01

猜你喜欢
台站备份逻辑
“备份”25年:邓清明圆梦
刑事印证证明准确达成的逻辑反思
中国科学院野外台站档案工作回顾
逻辑
创新的逻辑
一种适用于高铁沿线的多台站快速地震预警方法
创建vSphere 备份任务
女人买买买的神逻辑
旧瓶装新酒天宫二号从备份变实验室
基层台站综合观测业务管理之我见