泉州高速公路收费系统远程数据备份研究

2022-11-19 09:39杜发展
现代信息科技 2022年19期
关键词:数据备份安溪收费站

杜发展

(福建省高速公路集团有限公司 泉州管理分公司,福建 泉州 362000)

0 引 言

近年来我国高速公路产业快速发展,福建省内已实现县县通高速。高速公路收费站作为上下高速的门户,其运行情况直接关系到民众能否高效、有序的进出高速公路、享受高速交通带来的便利。收费服务器作为收费站计算机系统的核心,直接影响收费车道数据传输、稽查、财务、监控等计算机能否正常运行。但如果服务器系统崩溃或硬件故障,很可能造成数据的丢失,导致整个收费系统错乱并可能造成费源流失。做好收费服务器的数据库数据备份,可以保障服务器突发故障时及时有效恢复原始数据,保障收费站收费车道的良好运行,避免重大的经济财产损失。

目前高速公路收费站收费服务器数据库备份是由各收费服务器数据库设定作业于凌晨远程备份于维护站机房数据服务器或工作站,普遍存在每日备份检查不及时、备份异常未及时发现和每月收费数据备份不及时等问题,这些问题都可能对数据恢复造成影响。为有效解决这一问题,根据高速公路运营管理实际需要,自主研制出“一套高速公路收费系统远程数据备份系统”。该系统利用DOS 批处理自动地批量地执行DOS 命令以自动实现高速公路收费系统每日远程数据备份、检查和每月远程数据备份、检查,有效地保证了收费站收费服务器数据库备份的及时性、有效性、稳定性,有力支持着高速公路收费系统稳定运行。

1 技术原理

高速公路收费系统远程数据备份系统由远端计算机设定计划任务每天定期执行“高速公路收费系统远程数据备份系统.bat”实现每日远程数据备份、检查和每月远程数据备份、检查。工作步骤如图1 所示。

图1 高速公路收费系统远程数据备份系统工作步骤图

基于此,“一套高速公路收费系统远程数据备份系统”构成如图2 所示,共有9 个文件,分别为“高速公路收费系统远程数据备份系统.bat”“每日远程数据备份.bat”“每日检查文件更新.bat”“每日异常提醒.bat”“每月远程备份数据.bat”“每月检查文件更新.bat”“每月异常提醒.bat”“每日异常提醒.mp3”和“每月异常提醒.mp3”。“高速公路收费系统远程数据备份系统.bat”是整套系统的核心,承担管控和调用其他bat 文件的任务。

图2 高速公路收费系统远程数据备份系统构成图

高速公路收费服务器数据库备份文件为压缩文件格式,统一命名为tsdb_full_收费站代码。永春就维站辖区11 个收费站站代码如下:永春湖洋-3201,永春东-3202,安溪湖头-3203,安溪剑斗-3204,安溪感德-3205,安溪福田-3206,德化上涌-3207,德化九仙山-3208,德化-7508,蓬壶-7506,下洋-7507。

1.1 高速公路收费系统远程数据备份系统bat 文件

高速公路收费系统远程数据备份系统bat 文件功能即宏观控制高速公路收费系统远程数据备份系统各个流程。

bat 文件内容如下:

1.2 每日远程数据备份bat 文件

每日远程数据备份bat 文件功能即ftp 远程登录维护站数据备份服务器并拷贝数据库备份文件至本地。bat 文件内容如下:

1.3 每日检查文件更新bat 文件

每日检查文件更新bat 文件功能即检查判断指定文件夹内所有文件更新日期是否为当前电脑系统日期,文件不存在或无更新即返回相关收费站异常信息。bat 内容如下:

@echo off

For /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3201.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate10=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3202.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate11=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3203.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate12=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3204.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate13=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3205.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate14=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3206.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate15=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3207.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate16=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_3208.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate17=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_7508.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate18=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_7506.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate19=%%i”)

for /f “tokens=2 delims==” %%i in (‘wmic datafile where “Name=’D:\fjeit\dbbackup\tsdb_full_7507.zip’”get LastModif ied /value ^| f indstr “=”’)

do ( set “StrDate110=%%i”)

set “FileDate10=%StrDate10:~0,8%”

set “FileDate11=%StrDate11:~0,8%”

set “FileDate12=%StrDate12:~0,8%”

set “FileDate13=%StrDate13:~0,8%”

set “FileDate14=%StrDate14:~0,8%”

set “FileDate15=%StrDate15:~0,8%”

set “FileDate16=%StrDate16:~0,8%”

set “FileDate17=%StrDate17:~0,8%”

set “FileDate18=%StrDate18:~0,8%”

set “FileDate19=%StrDate19:~0,8%”

set “FileDate110=%StrDate110:~0,8%”

set /a n=0

for /f “tokens=2 delims==” %%i in (‘wmic path win32_operatingsystem get LocalDateTime /value ^| findstr “=”’)do (set “StrDate2=%%i”)

set “SysDate=%StrDate2:~0,8%”

if "%FileDate10%" equ "%SysDate%" (goto p1) else(echo.&echo 永春湖洋今日远程收费数据备份异常!!!&set /a n=1&goto p1)

:p1

if "%FileDate11%" equ "%SysDate%" (goto p2) else(echo.&echo 永春东今日远程收费数据备份异常!!!&set /a n=2&goto p2)

:p2

if "%FileDate12%" equ "%SysDate%" (goto p3) else(echo.&echo 安溪湖头今日远程收费数据备份异常!!!&set /a n=3&goto p3)

:p3

if "%FileDate13%" equ "%SysDate%" (goto p4) else(echo.&echo 安溪剑斗今日远程收费数据备份异常!!!&set /a n=4&goto p4)

:p4

if "%FileDate14%" equ "%SysDate%" (goto p5) else(echo.&echo 安溪感德今日远程收费数据备份异常!!!&set /a n=5&goto p5)

:p5

if "%FileDate15%" equ "%SysDate%" (goto p6) else(echo.&echo 安溪福田今日远程收费数据备份异常!!!&set /a n=6&goto p6)

:p6

if "%FileDate16%" equ "%SysDate%" (goto p7) else(echo.&echo 德化上涌今日远程收费数据备份异常!!!&set /a n=7&goto p7)

:p7

if "%FileDate17%" equ "%SysDate%" (goto p8) else(echo.&echo 德化九仙山今日远程收费数据备份异常!!!&set /a n=8&goto p8)

:p8

if "%FileDate18%" equ "%SysDate%" (goto p9) else(echo.&echo 德化今日远程收费数据备份异常!!!&set /a n=9&goto p9)

:p9

if "%FileDate19%" equ "%SysDate%" (goto p10) else(echo.&echo 蓬壶今日远程收费数据备份异常!!!&set /a n=10&goto p10)

:p10

if "%FileDate110%" equ "%SysDate%" (goto p11)else(echo.&echo 下洋今日远程收费数据备份异常!!!&set /a n=11)

:p11

if %n%==0 (echo 每日检查文件更新情况结束!&echo.&echo 今日收费数据备份任务已完成!) else (call每日异常提醒.bat)

1.4 每日异常提醒bat 文件

每日异常提醒bat 文件功能即文字警示和语音循环警示,语音警示时间设定为半小时,时间可根据实际需要更改,警示内容为“今日远程收费数据备份异常,请技术员及时处理”。bat 文件内容如下:

@echo off

echo.

echo 今日远程收费数据备份异常,请技术员及时处理!!!

set /a c=0

:loop

start /min wmplayer.exe D:fjeit收费系统远程备份系统每日异常提醒.mp3

rem 延迟6 秒

ping -n 6 127.0.0.1>nul

set /a c=%c%+1

if %c% leq 300 goto loop

taskkill /f /t /im wmplayer.exe>nul

echo.

echo 今日收费数据备份任务未完成!!!

1.5 每月远程备份数据bat 文件

每月远程备份数据bat 文件功能即将本地数据库备份文件拷贝至指定磁盘文件夹,文件夹名称为当天系统日期。bat 文件内容如下:

@echo off

set p=”%date:~,4%%date:~5,2%%date:~8,2%”

xcopy /y D:fjeitdbbackup*.zip E:每月收费数据备份\%p%

1.6 每月远检查文件更新bat 文件

每月远检查文件更新bat 文件功能即判断指定磁盘以系统日期命名的文件夹内是否存在备份文件,无备份文件即返回相关收费站异常信息。bat 文件内容如下:

@echo off

echo.

echo 每月检查文件更新开始...

set b=”%date:~,4%%date:~5,2%%date:~8,2%”

set /a m=0

if exist E:每月收费数据备份\%b% sdb_full_3201.zip(goto p1) else (echo.&echo 每月收费数据备份永春湖洋数据备份异常!!!&set /a m=1&goto p1)

:p1

if exist E:每月收费数据备份\%b% sdb_full_3202.zip(goto p2) else (echo.&echo 每月收费数据备份永春东数据备份异常!!!&set /a m=2&goto p2)

:p2

if exist E:每月收费数据备份\%b% sdb_full_3203.zip(goto p3) else (echo.&echo 每月收费数据备份安溪湖头数据备份异常!!!&set /a m=3&goto p3)

:p3

if exist E:每月收费数据备份\%b% sdb_full_3204.zip(goto p4) else (echo.&echo 每月收费数据备份安溪剑斗数据备份异常!!!&set /a m=4&goto p4)

:p4

if exist E:每月收费数据备份\%b% sdb_full_3205.zip(goto p5) else (echo.&echo 每月收费数据备份安溪感德数据备份异常!!!&set /a m=5&goto p5)

:p5

if exist E:每月收费数据备份\%b% sdb_full_3206.zip(goto p6) else (echo.&echo 每月收费数据备份安溪福田数据备份异常!!!&set /a m=6&goto p6)

:p6

if exist E:每月收费数据备份\%b% sdb_full_3207.zip(goto p7) else (echo.&echo 每月收费数据备份德化上涌数据备份异常!!!&set /a m=7&goto p7)

:p7

if exist E:每月收费数据备份\%b% sdb_full_3208.zip(goto p8) else (echo.&echo 每月收费数据备份德化九仙山数据备份异常!!!&set /a m=8&goto p8)

:p8

if exist E:每月收费数据备份\%b% sdb_full_7508.zip(goto p9) else (echo.&echo 每月收费数据备份德化数据备份异常!!!&set /a m=9&goto p9)

:p9

if exist E:每月收费数据备份\%b% sdb_full_7506.zip(goto p10) else (echo.&echo 每月收费数据备份蓬壶数据备份异常!!!&set /a m=10&goto p10)

:p10

if exist E:每月收费数据备份\%b% sdb_full_7507.zip(goto p11) else (echo.&echo 每月收费数据备份下洋数据备份异常!!!&set /a m=11&goto p11)

:p11

if %m%==0 (echo.&echo 每月检查文件更新结束!&echo.&echo 每月收费数据备份任务已完成!) else (call每月异常提醒.bat)

1.7 每月异常提醒bat 文件

每月异常提醒bat 文件功能即文字警示和语音循环警示,语音警示时间设定为半小时,时间可根据实际需要更改,警示内容为“本月远程收费数据备份异常,请技术员及时处理”。bat 文件内容如下:

@echo off

echo.

echo 本月远程收费数据备份异常,请技术员及时处理!!!

set /a t=0

:loop

start /min wmplayer.exe D:fjeit收费系统远程备份系统每月异常提醒.mp3

rem 延迟6 秒

ping -n 6 127.0.0.1>nul

set /a t=%t%+1

if %t% leq 300 goto loop

taskkill /f /t /im wmplayer.exe>nul

echo.

echo 本月收费数据备份任务未完成!!!

2 性能指标

高速公路收费系统远程数据备份系统每天自动运行,系统会自动根据系统日期与设定的执行每月远程备份任务的日期比较后判断是执行每日远程备份单个任务还是每日远程备份和每月远程备份两个任务,以2021年4月8日与4月9日模拟测试远程数据备份系统运行的4 种情况。

(1)4月9日只执行每日远程备份任务,系统检查全部正常备份,如图3 所示。系统运行结果为左边控制界面信息与右边结果界面完全符合。

图3 高速公路收费系统远程数据备份系统控制界面和结果界面一

(2)4月9日只执行每日远程备份任务,部分收费站远程数据备份异常,系统检查是安溪福田远程数据备份异常,如图4 所示。系统运行结果为左边控制界面信息与右边结果界面完全符合。

图4 高速公路收费系统远程数据备份系统控制界面和结果界面二

(3)4月9日执行每日远程备份任务和每月远程备份任务,系统检查全部正常备份,如图5 所示。系统运行结果为左边控制界面信息与右边结果界面完全符合。

图5 高速公路收费系统远程数据备份系统控制界面和结果界面三

(4)4月8日执行每日远程备份任务和每月远程备份任务,部分收费站远程数据备份异常,系统检查是安溪福田远程数据备份异常,如图6 所示。系统运行结果为左边控制界面信息与右边结果界面完全符合。

图6 高速公路收费系统远程数据备份系统执行界面和结果界面四

以上4 种基本涵盖了高速公路收费系统远程数据备份系统可能出现的运行情况。远程数据备份异常时语音报警与控制界面文字报警,如图7 所示。

图7 高速公路收费系统远程数据备份系统执行界面和语音报警界面

综上充分体现了这套高速公路收费系统远程数据备份系统的科学性、自动性、准确性,极大方便了辖区收费服务器数据库数据备份的统一管理。

3 结 论

通过近千次的试验及部署应用,此套备份系统完全能够替代人工备份。本系统安装简洁,操作方便简单,已在永春机电维护站管理计算机部署应用980 天。目前已安全平稳运行980 天,均达到预期效果。计划将本套系统推广应用于泉州高速辖区内所有46 个收费站,建立市级远程备份系统,实现收费服务器数据库数据的统一备份管理。

猜你喜欢
数据备份安溪收费站
江苏20个高速收费站实施“准自由流”改造
疏港高速无人值守收费站建设及应用
浙江首个“云收费站”投用
程控交换机的数据备份与恢复技术分析
预防病毒
安溪铁观音秋茶飘香
当前企业会计电算化应用中存在的问题及其建议
容灾备份系统在四川电网的应用分析
任务驱动法在数控机床电气检修教学中的应用
偶尔矜持,偶尔放肆