应用于多路采集后数据的无缝切换方式的制作方法

文档序号:21886952发布日期:2020-08-18 17:24阅读:136来源:国知局
应用于多路采集后数据的无缝切换方式的制作方法

本发明涉及多路数据采集后数据择优和动态切换技术领域,尤其是涉及一种应用于多路采集后数据的无缝切换方式。



背景技术:

在很多综合监控系统中,往往会部署前置处理器在应用服务器与远程终端单元之间,完成多个不同数据协议的远程终端数据采集。对于数据实时性和安全性较高的综合监控系统,例如地铁轨道交通综合监控系统,需要考虑到单个前置处理器存在机器故障或者网络故障等异常情况时,综合监控系统将出现数据丢失的严重问题。为此,综合监控系统往往会部署多个前置处理器多路采集远程终端数据,对于多路数据需要选择其中一路数据为数据应用进程使用,即主路径数据。当主路径数据发生异常时能够动态快速切换成另外一路有效数据,保证综合监控系统数据的实时性与完整性。

现在多数系统针对多路数据应用时,通常由多个前置处理器相互通讯或者借助第三方技术,决策出主备前置处理器,由主前置处理器上送数据至应用服务器,备前置处理器不工作。

在采用多个前置处理器同时采集远程终端数据时,如果使用前置处理器的主备选择路径数据,前置处理器之间需要建立通信,编写代码或者借助第三方技术决策前置处理器的主备,大大增加数据采集进程开发的复杂度;其次前置处理器的主备并不能代表当前前置处理器上路径数据的主备,存在主前置处理器上数据并不良好却依然上送的问题;而且前置处理器需要相互通信、逻辑处理后决策主备后才切换数据上送,这切换主备和数据上送过程必然消耗一定时间,这可能造成应用服务器数据丢失和数据延时。



技术实现要素:

本发明的发明目的是为了克服现有技术中的采用多个前置处理器同时采集远程终端数据时,增加了数据采集进程开发的复杂度,会导致应用服务器数据丢失和数据延时的不足,提供了一种应用于多路采集后数据的无缝切换方式。

为了实现上述目的,本发明采用以下技术方案:

一种应用于多路采集后数据的无缝切换方式,包括n个前置处理器,应用服务器和远程终端单元,n>2;包括第x个前置处理器的数据采集进程的数据采集过程,数据采集进程的数据上送过程,数据应用进程接收数据采集进程的上送数据的过程,数据应用进程多路的数据择优切换过程;x=1,2,3,…,n;

数据采集进程的数据采集过程:

(1-1)第x个前置处理器的数据采集进程开始数据采集;

(1-2)定时计算采集路径lx的健康度cx;判断数据采集进程与远程终端单元的采集路径lx连接是否正常;如果lx异常,尝试连接远程终端单元,重新执行步骤(1-1);如果采集路径lx正常,则转入步骤(1-3);

(1-3)数据采集进程开始与远程终端通信,接收并解析数据,保存实时数据ax,如果ax与数据采集进程之前采集保存的数据不一致,则将ax记录至变化数据队列;

采集路径健康度cx的计算过程如下:

假定数据采集间隔为1个单位(视具体情况而定,例如1个单位为1秒钟),数值fe为最近100个采集间隔单位中第e个采集间隔单位的记录数值,如果采集路径lx异常记录数值fe为-2;如果采集路径lx正常,在两个采集间隔单位内收到正确数据记录数值fe为1;未收到数据记录数值fe为-1;收到错误数据记录数值fe为-2,统计最近的100个采集间隔单位记录数值总和,记录数值总和除以100即为采集路径的健康度;其中e=1,2,3,…,100。

由于考虑采集的延时,此处选择两个采集间隔单位收到数据记录数值fe为1,有可能100个间隔单位未记录100个数值。

本发明的前置处理器相互独立,没有通信,仅负责数据采集和上送;应用服务器接收到多路数据后,根据数据采集进程上送的路径健康度,按照一定算法和规则完成数据择优和切换,由于多路数据都在本地,数据应用进程完成数据择优的同时能做到路径数据的无缝切换。

应用服务器:运行各种应用服务进程的服务器。

数据应用进程:完成数据处理、提供数据等业务功能的进程。

前置处理器:完成对远程终端数据采集、协议转换以及对应用服务器数据上送、控制下发的微型机或服务器。

数据采集进程:完成采集远程终端数据,上送数据至应用服务器功能的进程。

远程终端单元:一种针对通信距离较长和工业现场环境恶劣而设计的具有模块化结构的、特殊的计算机测控单元,它将末端检测仪表、执行机构与远程调控中心的主计算机连接起来,具有远程数据采集、控制和通信功能,能接收主计算机的操作指令,控制末端的执行机构动作。

本发明解决了多路数据采集后数据择优和动态无缝切换的问题。在前置处理器上部署了数据采集进程,在应用服务器上部署了数据应用进程。前置处理器上数据采集进程与远程终端单元连接(该连接称为采集路径),以采集和保存远程终端单元的数据,并按照一定算法计算该上送路径的健康度。单个前置处理器上数据采集进程采集的数据为单路数据,多个前置处理器上数据采集进程采集的数据为多路数据。数据采集进程将采集路径的数据、健康度上送给应用服务器上的数据应用进程。

应用服务器上数据应用进程接收多个前置处理器上的多路数据,并将多路数据和健康度同时保存在本地。数据采集进程与数据应用进程通讯方式采用面向连接、安全可靠的tcp/ip协议,保证数据的安全准确,针对数据传输方式采用连接后全部数据上送,之后采用变化上送的方式,降低了数据通讯对网络的压力,提高了数据上送的实时性能。数据应用进程根据接收到的采集路径的健康度,选择健康度较高的采集路径的数据为主,其他采集路径的数据为备。其中为了防止健康度抖动导致采集路径数据的不停切换,程序设置了健康度阈值10%,当前健康度比最高健康度低10%以内,则不切换采集路径的数据。数据应用进程实时不间断的选择更新主路径数据,即使主路径发生变化,由于重新选择的路径数据在本地,也可提供数据给应用使用,实现路径数据动态无缝切换。

作为优选,所述数据采集进程的数据上送过程包括如下步骤:

(2-1)第x个前置处理器的数据采集进程开始数据上送;

(2-2)判断数据采集进程与数据应用进程的上送路径yx是否正常;如果yx异常,重新执行步骤(2-1);如果yx正常,转入步骤(2-3);

(2-3)数据采集进程上送采集路径lx的数据ax和健康度cx至应用服务器的数据应用进程;重新执行步骤(2-1)。

作为优选,数据应用进程接收数据采集进程并上送数据的过程包括如下步骤:

(3-1)数据应用进程开启监听,接收数据采集进程的上送路径yx;

(3-2)判断是否收到第x个前置处理器的数据采集进程的上送路径yx,如果没有收到上送路径yx,则设置该上送路径yx为异常,并重新执行步骤(3-1);如果上送路径yx正常;转入步骤(3-3)

(3-3)接收并保存数据采集进程的上送的采集路径lx的数据ax和健康度cx,其中ax的数据在内存里的存放顺序及结构完全一致。

作为优选,数据应用进程多路的数据择优切换过程包括如下步骤:

(4-1)应用服务器上的数据应用进程开始执行多路数据择优;

(4-2)初始化健康度最大值cmn为0%,数据应用进程循环判断第x个前置处理器的前置采集进程与数据应用进程的上送路径yx是否正常;如果上送路径yx正常,则判断采集路径lx的健康度cx是否满足cx>cmn,如果满足,则cmn=cx;x=1,2,3,…,n;

(4-3)为了防止选择数据抖动切换,判断之前是否已经选择了采集路径,如果已经选择了采集路径lmo,则判断现在采集路径cmo是否满足cmo<(cmn-10%),如果满足,则不切换数据,依旧使用数据amo为应用数据,否则切换数据amn为应用数据;mo为1,2,3,…,n其中的一个值;mn为1,2,3,…,n其中的一个值;

(4-4)由于数据amo、amn均存放在本地内存且数据存放顺序及结构均一致;应用数据切换仅针对数据amn对应的指针进行加锁切换,实现数据无缝切换。

因此,本发明具有如下有益效果:前置处理器相互独立,没有通信,模块逻辑简单一致仅负责数据采集和上送;应用服务器接收到多路数据后,根据数据采集进程上送的采集路径的健康度,按照一定算法和规则完成数据择优和切换,由于多路数据都存放在本地内存,且在内存的顺序及结构均一致,多路数据的切换仅针对数据对应的指针的加锁切换,以实现数据应用进程完成数据择优的同时能做到路径数据的无缝切换。

附图说明

图1是本发明的一种多路数据采集及上送的系统结构图;

图2是本发明的一种数据采集进程数据采集过程图;

图3是本发明的一种数据采集进程数据上送过程图;

图4是本发明的一种数据应用进程数据接收过程图;

图5是本发明的一种数据应用进程多路数据择优过程图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步的描述。

如图1所示,为多路数据采集及上送的系统结构图

包括2个前置处理器1,应用服务器2和远程终端单元3;包括第x个前置处理器的数据采集进程的数据采集过程,数据采集进程的数据上送过程,数据应用进程接收数据采集进程的上送数据的过程,数据应用进程多路的数据择优切换过程;

第1前置处理器的数据采集进程通过采集路径l1采集远程终端单元的数据a1并计算采集路径l1的健康度c1,第1前置处理器通过上送路径y1连上应用服务器的数据应用进程并上送采集路径l1的数据a1和健康度c1;

第2前置处理器的数据采集进程通过采集路径l2采集远程终端单元的数据a2并计算采集路径l2的健康度c2,第2前置处理器通过上送路径y2连上应用服务器的数据应用进程并上送采集路径l2的数据a2和健康度c2;应用服务器收到采集路径l1的数据a1和健康度c1和采集路径l2的数据a2和健康度c2。

如图2所示,为数据采集进程数据采集过程:

(1-1)第x个前置处理器的数据采集进程开始数据采集;

(1-2)定时计算采集路径lx的健康度cx;判断数据采集进程与远程终端单元的采集路径lx连接是否正常;如果lx异常,尝试连接远程终端单元,重新执行步骤(1-1);如果采集路径lx正常,则转入步骤(1-3);

(1-3)数据采集进程开始与远程终端单元通信,接收并解析数据,保存实时数据ax,如果ax与数据采集进程之前采集保存的数据不一致,则将ax记录至变化数据队列;

采集路径健康度cx的计算过程如下:

假定数据采集间隔为1个单位,数值fe为最近100个采集间隔单位中第e个采集间隔单位的记录数值,如果采集路径lx异常记录数值fe为-2;如果采集路径lx正常,在两个采集间隔单位内收到正确数据记录数值fe为1;未收到数据记录数值fe为-1;收到错误数据记录数值fe为-2,统计最近的100个采集间隔单位记录数值总和,记录数值总和除以100即为采集路径lx的健康度;其中,e=1,2,3,…,100。

如图3所示,数据采集进程的数据上送过程:

(2-1)第x个前置处理器的数据采集进程开始数据上送;

(2-2)判断数据采集进程与数据应用进程的上送路径yx是否正常;如果yx异常,重新执行步骤(2-1);如果yx正常,转入步骤(2-3);

(2-3)数据采集进程上送采集路径lx的数据ax和健康度cx至应用服务器的数据应用进程;重新执行步骤(2-1)。

如图4所示,为数据应用进程多路的数据择优切换过程:

(3-1)数据应用进程开启监听,接收数据采集进程的上送路径yx;

(3-2)判断是否收到第x个前置处理器的数据采集进程的上送路径yx,如果没有收到上送路径yx,则设置该上送路径yx为异常,并重新执行步骤(3-1);如果上送路径yx正常;转入步骤(3-3)

(3-3)接收并保存数据采集进程的上送的采集路径lx的数据ax和健康度cx,其中ax的数据在内存里的存放顺序及结构完全一致。

如图5所示,为数据应用进程多路数据择优过程

图中说明数据应用进程多路数据择优的过程。下面操作,都是在数据应用进程中完成。

数据应用进程多路的数据择优切换过程包括如下步骤:

(4-1)应用服务器上的数据应用进程开始执行多路数据择优;

(4-2)初始化健康度最大值cmn为0%,数据应用进程循环判断第x个前置处理器的前置采集进程与数据应用进程的上送路径yx是否正常;如果上送路径yx正常,则判断采集路径lx的健康度cx是否满足cx>cmn,如果满足,则cmn=cx;x=1,2,3,…,n;

(4-3)为了防止选择数据抖动切换,判断之前是否已经选择了采集路径,如果已经选择了采集路径lmo,则判断现在采集路径cmo是否满足cmo<(cmn-10%),如果满足,则不切换数据,依旧使用数据amo为应用数据,否则切换数据amn为应用数据;mo为1,2,3,…,n其中的一个值;mn为1,2,3,…,n其中的一个值;

(4-4)由于数据amo、amn均存放在本地内存且数据存放顺序及结构均一致;应用数据切换仅针对数据amn对应的指针进行加锁切换,实现数据无缝切换。

应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1