利用Python进行自动转报系统基本表定期自动备份软件的开发实践

/ 2

利用Python进行自动转报系统基本表定期自动备份软件的开发实践

作者:谷广玉 王禹桐 宋德龙

民航吉林空管分局   吉林省长春市    130000

摘    要 利用Python进行自动转报系统基本表定期自动备份软件的开发实践,是为了解决传统备份方式过于繁琐、耗时耗力的问题,通过自动化管理,提高备份效率以及数据安全性。本文介绍了该软件的需求分析、构架设计、研究实践等内容,并分析了其应用前景。

关 键 字Python,自动转报系统,基本表,备份,数据安全


引言

随着信息化时代的到来,数据安全问题越来越受到重视。对于民航空管系统来说,数据涉及到设备安全稳定运行、管制运行安全,更涉及到航班安全,是最重要的资产之一。因此备份与恢复数据的能力越来越受到重视。然而,传统备份方式操作过于繁琐、耗时耗力,且对值班员责任感及主动性要求较高。为了解决这一问题,本文基于Python语言,开发了一款自动转报系统基本表定期自动备份软件,能够自动化管理备份操作,提高备份效率以及数据的安全性。

1、需求分析

自动转报系统是一个功能强大的报文自动交换通信系统,采用数据库进行数据存储,其存储均以表的形式,因此系统内包含大量的数据库表,其中基本表是其最为重要的部分之一,是自动转报系统安全稳定运行,保证报文正常转发的基础。因此备份基本表是非常重要的一项工作。然而,传统备份方式需要手动进行备份操作,操作过程繁琐易出错,对值班员的值班能力具有一定的要求,且需要使用规章对备份情况和备份时间进行规范和约束。因此,需要开发一种可行的、操作方便的自动备份解决方案。

2、软件设计思路及构架设计

Python语言是一种功能强大、易学易用的高级编程语言,它可以用于开发各种类型的应用程序,包括Web应用、数据库应用、自动化系统等。Python拥有很多特点,例如动态类型、垃圾回收机制、面向对象等。因此本文将基于Python语言设计。具体思路如下:

2.1技术框架

Python编程语言

2.2数据备份策略

    本文采用的备份策略基于自动转报系统原有的基本表手动备份方法进行设计,手动备份方法有两种,一是在Linux系统后台,通过后台应用软件手动,备份文件存储在后台数据库中;二是在windows系统前台,通过超级终端进行手动备份, 备份文件存储在前台终端中。

通过对以上两种备份方式的对比分析,本文决定采用从Windows前台链接linux后台,调用后台应用的基本表备份脚本,实现后台备份,然后将备份文件FTP到windows前台备份文件夹进行数据库和前台双重备份。这样结合两种方法的优点,进一步加强了备份数据的安全性和可靠性。

2.3定时执行备份任务

为了实现软件的自动备份功能,本文设计设置任务的开始时间和间隔时间,在规定时间时自动开启备份任务。定时任务可以通过windows或linux系统进行设置,经过对比分析,本文采用在Python定时库,调用win定时任务实现定时执行功能。

2.4实现可视化界面UI设计

为了更直观的实现自动备份软件的启停、备份周期的选择、备份路径查看等功能,本文将设计直观简单又不失美观的软件UI界面,在实现自动备份功能的同时,兼顾直观方便的操作,做到人人可操作,人人会操作。

3、研究实践

基于上文的软件设计思路和构架设计,我们开始了相关的研究实践,实践步骤也严格按照设计思路实施,具体实践步骤如下:

3.1.准备工作

安装Python编程环境,安装Anaconda3及Python3.10,了解相关的Python包,如pymysql、os、PyQt5、datetime等。

3.2.链接自动转报系统后台

关于如何连接至后台服务器,我们考虑了telnet,ssh等多种方法,telnet连接的时候直接建立TCP连接,所有传输的数据都是明文传输,所以是一种不安全的方式SSH 为Secrue Shell的缩写,SSH 为建立在应用层基础上的安全协议,是比较可靠安全的协议,基于民航的特殊性,必须考虑到网络安全,因此,我们采用SSH的方式链接后台服务器。

3.3. 基本表备份策略的实现

我们在上文中,确定了备份策略,因此我们首先找到自动转报系统备份基本表的LINUX系统脚本,并将其路径赋予Python,实现在WIN端对该脚本的调用,实现基本表备份的功能。

3.4.基本表传输至前台功能的实现

接下来,我们将利用FTP功能,实现数据的传输,将后台备份目录中的备份文件拷贝到前台中来,并存放在对应的路径下。测试发现,通过Python中FTP模块get到的备份文件同名,会覆盖之前备份的文档,为了区分多次备份,我们由设置了文件夹,并以年月日时分的格式存储,这样就可以直观的看出基本表备份的时间。

3.5.定时执行备份任务

实现软件备份功能后,我们接下来需要研究的就是如何实现软件的自动定期运行,在测试中我们发现,使用Python可以很方便快捷的实现调用定时器实现软件自动运行功能,如图

1

1

3.6.UI界面的设计

在完成所有设计功能后,我们就需要设计一个简单明了的软件UI界面,在集合所有功能实现的基础上,方便后期软件的测试、运营和推广。我们采用Python中的PyQt5库进行UI界面设计。在设计时为了更直观的实现更改备份周期,我们将不同的备份周期以按钮的形式体现在UI界面上,为了测试方便,尽快的获得数据,测试版软件我们缩短了备份周期,设计了停止按钮;在设计过程中,为了方便使用人员快速的找到备份文件,在后期维护过程中方便快速恢复,我们在UI界面上增加了“备份文件位置”按钮。测试版软件界面见图2

2

4、应用测试

4.1 测试方案

4.1.1 测试环境:Windows 7操作系统。

4.1.2 测试工具:Python 3.1、PyCharm开发工具。

4.1.3 测试平台:DMHS-H自动转报系统测试平台,该平台与先用平台运行环境及功能完全一致,可以完整地实现在真是工作环境中的运行状态,安全性高,可靠性强。

4.1.4 测试用例:

①测试自动备份功能。通过点击软件上的“按分备份” “按时备份” “按天备份”按钮,观察是否能够按照对应的备份周期,实现自动备份数据,在指定的路径下是否生成备份文件,文件名是否正确,。

②测试停止备份功能。通过点击软件上的“停止备份”按钮,观察是否能停止自动备份,实现软件备份进程停止运行。

③测试查看备份路径功能。通过点击软件上的“查看备份路径”按钮,观察是否可以打开备份文件所在路径,打开是否流畅。

4.2测试报告

在测试过程中,我们使用了Python 3.1及PyCharm开发工具,运用设计好的基本表自动备份软件进行测试,进行了自动转报系统基本表备份过程反复测试。测试过程中没有出现系统故障,测试用例全部通过。为了进一步加强测试,本次测试,采用按分备份测试,超过两小时,按时备份测试超过两天,按天备份超过一周,大量测试都表明,软件运行稳定安全,未对自动转报系统运行造成不利影响,测试版本软件成功过通过测试运行。

五、应用前景分析

自动转报系统基本表定期自动备份软件,能够极大地提高备份数据的效率以及数据安全性,对自动转报系统安全稳定运行及降低部分操作难度意义重大,该软件可以降低人为原因造成的运行风险和数据安全风险,极大地提高数据安全性。随着信息化时代的发展,数据管理和安全问题越来越受到重视。仅在民航空管系统而言,就有各类基于linux系统的重要信息系统,各系统均存在数据备份需求,我们可以在该软件的基础之上,扩展出各类数据备份功能,实现多系统共用,多功能共存的综合性自动备份软件。综上所述,该软件在民航空管系统内有着广阔的应用前景。

六、结    论

本文介绍了一种基于Python语言的自动化备份解决方案,该方案成功地解决了基本表备份过程繁琐易错的问题。通过对该软件的需求分析、构架设计以及实践测试,证明了该软件具有灵活性和容错性,能够极大地提高备份数据的效率以及数据的安全性,具备广泛的应用前景。

参考文献:

[1] 李红,王波,陈永贵。基于 Python 的程序设计教程 [M]. 北京:清华大学出版社,2014.

[2] 郭家强,黄卓。Python 系统编程实战 [M]. 北京:机械工业出版社,2017.

[3] 林杰,熊凯,王波。Python 网络编程实战 [M]. 北京:机械工业出版社,2017.