一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种非热备磁盘阵列服务器数据库冗余方法与流程

2022-02-24 13:08:29 来源:中国专利 TAG:


1.本发明涉及的是一种工控程序的控制方法,具体地说是冗余方法。


背景技术:

2.制药行业、食品饮料行业、制冷行业、监控行业和自动化生产线,对系统的智能化和信息化水平也有了新的要求。其中仪表设备的历史曲线用来监控生产状态的变化,操作记录用来追溯现场员工的操作规程是否符合要求,生产报表用于记录自控标准化是否符合规定,报警记录用于核验关键设备的故障,而这些都离不开大量数据的支撑,传统解决方式通过磁盘阵列raid1方式来保证数据的稳定性,但这存在一个很大的问题,即系统调用开销过大,磁盘利用率差,利用率仅为50%,随机/连续读写性能也会降低,且成本极高,除了当前raid1解决方式,硬盘还有三种常用方式,但是都有着raid1所不能完成的工作,对于以下三种方式介绍如下:
3.1.raid 0
4.又称为stripe或striping,它代表了所有raid级别中最高的存储性能。raid 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能,冗余性最低,性能和成本方面最好,但无法实现改方法中的数据互通。
5.2.raid 5
6.一种存储性能、数据安全和存储成本兼顾的存储解决方案。raid 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成raid5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当raid5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。raid 5可以理解为是raid 0和raid 1的折衷方案。raid5可以为系统提供数据安全保障,但保障程度要比mirror低而磁盘空间利用率要比mirror高。raid 5具有和raid 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,raid 5的磁盘空间利用率要比raid 1高,存储成本相对较低。是从硬件实现上最符合该方法的一种解决方案,但相对raid0存储需要硬盘数更多,成本偏高。
7.3.raid0 1
8.正如其名字一样raid 0 1是raid 0和raid 1的组合形式,也称为raid 10。raid 0 1是存储性能和数据安全兼顾的方案。它在提供与raid 1一样的数据安全保障的同时,也提供了与raid 0近似的存储性能。由于raid 0 1也通过数据的100%备份提供数据安全保障,因此raid 0 1的磁盘空间利用率与raid 1相同,存储成本高。raid 0 1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。


技术实现要素:

9.本发明的目的在于提供能保证在工控系统中存储量大的环境下同时完成有效存储的一种非热备磁盘阵列服务器数据库冗余方法。
10.本发明的目的是这样实现的:
11.本发明一种非热备磁盘阵列服务器数据库冗余方法,其特征是:
12.(1)配置初始raid0程序服务器系统与数据服务器系统一致;
13.(2)对客户机进行ip设置,并连接至程序服务器,在程序服务器中添加一台冗余服务器并保留配置,预留数据服务器做冗余配置,实际调试时只对程序服务器进行更改;
14.(3)建立数据库表格,并规定好数据库的行、列,每一列即存储的一个维度;
15.(4)在写入脚本时,同时连接程序服务器的数据库,将需要保存的信息写入程序服务器数据库中进行保存;
16.(5)对数据库自我校验,做出服务器数据的复制——分发——合并发布,在特定的时间完成自检,互检,同步的功能,按照最后一次同步的命令,将数据库中写入正确的数据同步到缺失数据的库中,完成冗余同步;
17.(6)将数据服务器做为程序服务器的从站完成程序冗余。
18.本发明还可以包括:
19.1、建立数据库表格过程中,建立好完整的数据服务器数据包后,将需要冗余的数据导出,并导入至程序服务器。
20.2、写入脚本时,服务器的时间进行统一配置,通过cmd指令进入系统命令符,通过set time命令下的一系列语言获取一个统一的时间,或者通过时间服务器进行统一的时间调用,对于分发的客户机也作出相应配置。
21.3、程序冗余的过程中,在程序脚本中做一个程序冗余配置,对其自带的历史曲线、报警信息进行冗余配置,通过脚本读取当前客户机读取服务器的状态,当检测到当前读取的程序并非程序服务器时,数据服务器程序发出报警,当任何一台服务器发生问题后,后台脚本实时或定时检测,确定发生为正常状态,循环运行报警。
22.本发明的优势在于:通过数据库软件分发订阅的方式,解决了存储成本高,磁盘空间利用率过低的问题,在raid0的配置上实现了近似raid1方式的有效热备,可以利用高性能的raid0阵列完成更多数据的存储,在高性能高利用率的前提下,满足了数据的热备及切换,降低了经济成本,使其可以更加广泛的推广于自控数据存储的实用中。
附图说明
23.图1为传统磁盘阵列数据服务器数据记录方式;
24.图2为本发明非磁盘阵列冗余服务器数据记录方式;
25.图3为本发明的非磁盘阵列冗余实现顺序流程图;
26.图4为设备参数的写入示意图;
27.图5为冗余分发的设置示意图;
28.图6为服务器1的记录数据示意图;
29.图7为服务器2的记录数据示意图。
具体实施方式
30.下面结合附图举例对本发明做更详细地描述:
31.结合图1-7,本发明通过vbs语言,将wincc与sql server结合,再通过sql的数据发布和订阅功能,定期完成重要的数据热备与校验,实现了无需raid1阵列即可高利用率,高性能,低成本的完成冗余工作,在四种传统数据备份的情况下通过软件实现了最优解的方案,如图2。
32.本方法可以按照下图所示流程进行配置,如图3所示,并根据流程图的每一步骤做详细介绍:
33.(1)配置初始raid0程序服务器系统与数据服务器系统一致:虽然服务器的应用不同,但实际使用时,为了保证系统的稳定性,系统程序能够读写数据库账户,所需服务器系统配置(如windows server系列),数据库系统(如sql server系列),自控工程软件系统配置(如step7系列),人机界面系统配置(wincc系列),配置系统前需要安装netfreamwork3.5及(msmq)服务器消息队列。
34.(2)在客户机安装好软件后,即可对客户机进行ip设置,并连接至程序服务器,在程序服务器中添加一台冗余服务器并保留配置(预留数据服务器做冗余配置),实际调试时只对程序服务器进行更改;至此,非冗余程序的配置已经完成,想要程序服务器完成冗余同步数据库的工作,我们还需按接下来的步骤进行操作;
35.(3)以微软的sql server为例,我们对数据服务器进行读写时,需要按照要求建立数据库表格,并规定好数据库的行,列,每一列即我们需要存储的一个维度,对于常规自控系统而言,我们只需要按照用户要求,根据用户需要(urs)进行表格编写,即可完成常规数据读取操作,但是当数据服务器出现重大问题导致硬盘损坏时,raid0磁盘无法完成数据保护,会带来巨大的经济损失,为此我们建立好完整的数据服务器数据包后,将重要的,需要冗余的数据导出,并导入至程序服务器,至此我们的冗余配置已经初步建立。
36.(4)日常程序工作时,如用户的登入操作,系统会在后台通过脚本记录当前登录的用户名,登陆时间等信息,我们需要在写入的过程中,同时连接程序服务器的数据库(建议计算机用户名有规则可循,配置相同),将相同的重要信息写入程序服务器数据库中进行保存,写入时需要注意的是,服务器的时间要进行统一配置,因为这对数据的严谨性和真实性有着重要的影响,我们需要通过cmd指令进入系统命令符,通过set time命令下的一系列语言获取一个统一的时间,或者通过购买时间服务器(如北斗)进行统一的时间调用,对于分发的客户机也应作出相应配置。
37.(5)使用脚本完成数据库读写后,我们成功使用服务器完成了数据包的分发,但是我们还有个重要的问题需要解决,即完成数据的自我校验。在实际使用生产中,会随着网络不稳定,系统的读写bug导致读写时出现信息缺失,如两个脚本同时执行写入时,会有极小的概率使得命令在同一帧下进行,这就会导致命令丢失,此时如果做出服务器数据的复制——分发——合并发布,即可在特定的时间完成自检,互检,同步的功能,系统会按照最后一次同步的命令,将数据库中写入正确的数据同步到缺失数据的库中,完成真正意义上的冗余同步。
38.(6)最后我们需要将数据服务器做为程序服务器的从站完成程序冗余,首先我们在程序脚本中做一个程序冗余配置,西门子的人机界面软件中对程序有一个冗余切换的配
置,我们需要进行一些设置,设置中对其自带的历史曲线,报警信息进行冗余配置,虽然程序在内部进行同步,但是我们无法完成掉线检测,对此我们需要通过脚本读取当前客户机读取服务器的状态,当检测到当前读取的程序并非程序服务器时,数据服务器程序会发出报警声音,在这里我们可以通过连接一段报警音频,当任何一台服务器发生问题后,后台脚本实时或定时检测,确定发生为正常状态,循环运行语音报警音频,即可在第一时间解决系统问题,将损失减小至最低。
39.实例介绍
40.桂林某药业公司中药提取自动化系统,包含26台典型6t提取罐,6台效浓缩器,4台双效浓缩器。每个设备包含需要有温度、压力、液位等多个仪表的历史曲线,并且每次生产都会记录关键工艺的生产开始与结束时间,以设备加水为例,当自控系统开始加水时,链接数据库,连入数据服务器,同时写入一组数据。如图3所示。
41.根据图3所示,此时只有一台服务器写入了程序,若不建立raid1模式,当系统出现故障或设备维护时,将无法读取该条数据,所以可以通过vbs软件将刚才的记录链接至其他数据服务器,写入相同的一段数据,其方法近似于复制粘贴,但实际不同,脚本实际运行过程中会有极小的机率出现时间不同步或其他bug,这在调试过程中是无法避免的,此时需要对其做一个数据校验,即数据库的合并发布。
42.数据库合并发布并没有真正意义上的主从服务器,数据库的分发会按照设置的时间频率进行合并校验,最终将完整的记录同步到两边服务器,即当vbs写入某服务器出现bug时,可以将最后正确的条件同步到每一台发布的服务器,完成任务,就结果而言可靠性要高于raid5。
43.合并发布数据服务器需要准备的工作:
44.服务器配置相同;
45.硬盘空间相同;
46.sql server版本相同,服务器系统相同;
47.服务器做raid0阵列。
48.以下条件完成后,进行如下设置,在数据库管理下点击复制——发布——合并发布,如图4所示。
49.分发设置可详见sql server管理库使用说明,本次设置将服务器1与服务器2做对等发布,该发布有一个优点,即可选择需要复制分发的数据库进行发布,这样极大的提高了系统的利用率,解决了冗杂或不重要数据的累积存储。
50.至此基本完成了服务器数据的使用但是还存在一个问题,当主服务器出现维护状态时,系统无法自动识别并切换冷备机为主服务器,此时可以通过vbs脚本读取数据库的特殊值或某些特殊代码识别当前服务器运行状态,当之前的主服务器为非运行状态时,系统将当前自动读取的设备列为主数据服务器,并在下次前主服务器并联到系统后,通过vbs脚本切换链接的主服务器,以该中药厂为例,该厂的计算机配置为1台程序服务器(raid0),1台数据服务器(raid0),1台工程师站,5台操作员站,通过本方案将西门子自控软件中的vbs脚本实时写入/读取服务器,并在每天一小时以的间隔做合并校验,经查询对比,程序服务器(服务器1)和数据服务器的对比(服务器2)如图5、图6所示:
51.至此通过该方法实现了数据冗余。通过这种方式,可以利用高性能的raid0阵列完
成更多数据的存储,在高性能高利用率的前提下,满足了数据的热备及切换,降低了经济成本,使其可以更加广泛的推广于自控数据存储的实用中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献