数据传输方法及系统、存储介质、电子装置与流程

文档序号:18226663发布日期:2019-07-19 23:31阅读:164来源:国知局
数据传输方法及系统、存储介质、电子装置与流程

本发明涉及数据处理领域,具体而言,涉及一种数据传输方法及系统、存储介质、电子装置。



背景技术:

在过程自动化产品中,为了提高控制器与输入/输出模块(i/o)间通讯的可靠性,通常采用冗余总线的方式进行数据通讯,该总线由两条相互独立的数据通讯链路组成,如图1所示,冗余总线数据通讯拓扑结构示意图。其中,主链路负责正常的i/o数据通讯,备链路往往仅传输测试数据,控制器可以获知从链路是否正常。当主链路通讯异常时,控制器根据备链路是否正常,决定是否进行切换,备链路正常时,进行主/备链路切换;备链路异常时,保持主/备链路关系不变。

为了提高现场信号采集和输出的可靠性,通常采用冗余i/o模块,备用i/o模块为热备,如图2所示,冗余输入/输出模块数据通讯拓扑结构示意图。对于现场输入信号,其同时传入主输入模块和备输入模块中,控制器根据主备输入模块的状态信息,使用主输入模块的数据;对于现场输出信号,主输出模块实际输出,备输出模块获取来自控制器或主输出模块的输出数据,但不负责实际输出。控制器与主i/o模块间的通讯异常时,切换主备关系。

基于主链路通讯是否异常进行主/备链路切换,其最大切换时间为一次完整的通讯交互时间,即从控制器发送请求开始,直至控制器认为i/o模块应答超时。切换时间与链路速率、数据量和超时时间的设置有关,可能过长,不能满足对切换时间要求较高的应用场景的需要;备链路传输测试数据,当主链路故障时,本次通讯的数据将会丢失,降低了系统的可靠性;基于控制器与主i/o模块间的通讯是否异常进行主/备io模块切换,其切换条件局限在i/o模块整体范畴上,如i/o模块故障、通讯链路故障等。而i/o模块往往包含多个通道,此切换条件没有考虑到通道故障因素,切换的准确性不高。

针对相关技中传输数据时容易丢失的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据传输方法及系统、存储介质、电子装置,以至少解决相关技中传输数据时容易丢失的技术问题。

根据本发明实施例的一个方面,提供了一种数据传输方法,包括:控制器,第一链路,第二链路,主输入模块,备输入模块,主输出模块和备输出模块,其中,所述控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与所述第一链路和所述第二链路连接,监测第一链路及第二链路的数据的传输状态,其中,所述传输状态指示所述第一链路和所述第二链路是否出现故障,所述第一链路和所述第二链路传输相同的数据;在所述第一链路及所述第二链路中的一个链路发生故障时,指示通过所述第一链路及所述第二链路中的另一个链路向主输出模块或备输出模块输出所述数据。

进一步地,包括:根据通讯信息、诊断信息及通道信息接收主输入模块的数据或是备输入模块的数据,其中,所述通讯信息用于指示与所述第一链路和所述第二链路均连接的控制器,主输入模块,备输入模块,主输出模块和备输出模块两两之间的通讯是否正常,所示诊断信息用于指示所述主输入模块,所述备输入模块,所述主输出模块和所述备输出模块是否正常,所述通道信息用于指示所述主输入模块,所述备输入模块,所述主输出模块和所述备输出模块的数据传输通道是否正常;对接收的所述数据进行运算处理,并将所述数据通过主输出模块的数据或备输出模块输出。

进一步地,包括:当所述传输状态指示至少有一个链路是正常状态时,在以下至少之一信息存在不正常时:所述通讯信息、所述诊断信息、所述通道信息,进行所述主输入模块与所述备输入模块之间的切换以及所述主输出模块与所述备输出模块之间的切换。

进一步地,当所述第一链路和所述第二链路均正常时,对获取所述第一链路和所述第二链路的数据进行去重处理。

进一步地,当所述第一链链路和所述第二链路同时发生故障,则发出故障信号。

根据本发明实施例的另一方面,还提供了一种数据传输系统,包括:控制器,第一链路,第二链路,主输入模块,备输入模块,主输出模块和备输出模块,其中,所述控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与所述第一链路和所述第二链路连接,所述控制器,用于监测所述第一链路及所述第二链路的数据的传输状态,其中,所述传输状态指示所述第一链路和所述第二链路是否出现故障,所述第一链路和所述第二链路传输相同的数据;所述控制器,还用于在所述第一链路及所述第二链路中的一个链路发生故障时,指示通过所述第一链路及所述第二链路中的另一个链路向所述主输出模块或备输出模块输出所述数据。

进一步地,包括:所述控制器,还用于根据通讯信息、诊断信息及通道信息接收主输入模块的数据或是备输入模块的数据,其中,所述通讯信息用于指示与所述第一链路和所述第二链路均连接的所述控制器,所述主输入模块,所述备输入模块,所述主输出模块和所述备输出模块两两之间的通讯是否正常,所示诊断信息用于指示所述主输入模块,所述备输入模块,所述主输出模块和所述备输出模块是否正常,所述通道信息用于指示所述主输入模块,所述备输入模块,所述主输出模块和所述备输出模块的数据传输通道是否正常;以及所述控制器,还用于对接收的所述数据进行运算处理,并将运算后的所述数据通过主输出模块的数据或是备输出模块输出。

进一步地,包括:所述控制器,还用于当所述第一链路和所述第二链路均正常时,对获取所述第一链路和所述第二链路的数据进行去重处理。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的数据传输方法。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的数据传输方法。

在本发明实施例中,通过控制器,第一链路,第二链路,主输入模块,备输入模块,主输出模块和备输出模块,其中,控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与第一链路和第二链路连接,监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据;在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据的方式,达到两条链路传输相同的数据的目的,从而实现在一条链路出现故障时可以获取另一链路的数据,确保数据不易丢失的技术效果,进而解决了相关技中传输数据时容易丢失的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是现有技术中的冗余总线数据通讯拓扑结构示意图;

图2是现有技术中的冗余输入/输出模块数据通讯拓扑结构示意图;

图3是根据本发明实施例中的数据传输方法的示意图;

图4是根据本发明实施例中的数据传输系统的示意图;

图5是根据本发明优选实施例中的一种基于冗余总线和冗余i/o模块的数据通讯拓扑结构示意图;

图6是根据本发明优选实施例中的一种数据传输切换流程示意图;以及

图7是根据本发明优选实施例中的另一种数据传输切换流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,还提供了一种数据传输方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

下面将对本发明实施例的数据传输方法进行详细说明。其中,数据传输方法中用到的装置有:控制器,第一链路,第二链路,主输入模块,备输入模块,主输出模块和备输出模块,其中,控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与第一链路和第二链路连接,

图3是根据本发明实施例的数据传输方法的流程图,如图3所示,该数据传输方法包括如下步骤:

步骤s302,监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据。

步骤s304,在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据。

需要说明的是,当所述第一链链路和所述第二链路同时发生故故障,则发出故障信号。其中,故障信号的方式可以以信号灯的形式显示,也可以警报声的形式等并不作具体的限制。进而方便用户及时的获取链路的传输状态。

通过上述步骤,通过监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据;在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据的方式,达到两条链路传输相同的数据的目的,从而实现在一条链路出现故障时可以获取另一链路的数据,确保数据不易丢失的技术效果,进而解决了相关技中传输数据时容易丢失的技术问题。

作为一种可选的实施例,为了确保数据的传输的连续性,以及减少数据的丢失,方便数据在主输入模块和备输入模块之间进行切换,在数据输出时,在主输出模块和备输出模块之间进行切换,则要进行数据传输硬件环境的故障检测以及各个模块以及控制器的故障检测。因此,根据通讯信息、诊断信息及通道信息接收主输入模块的数据或是备输入模块的数据,其中,通讯信息用于指示与第一链路和第二链路均连接的控制器,主输入模块,备输入模块,主输出模块和备输出模块两两之间的通讯是否正常,所示诊断信息用于指示主输入模块,备输入模块,主输出模块和备输出模块是否正常,通道信息用于指示主输入模块,备输入模块,主输出模块和备输出模块的数据传输通道是否正常;对接收的数据进行运算处理,并将数据通过主输出模块的数据或备输出模块输出。

作为一种可选的实施例,当传输状态指示至少有一个链路是正常状态时,在以下至少之一信息存在不正常时:通讯信息、诊断信息、通道信息,进行主输入模块与备输入模块之间的切换以及主输出模块与备输出模块之间的切换。进而确保数据的传输的正常,防止数据的丢失。

作为一种可选的实施例,当第一链路和第二链路均正常时,对获取第一链路和第二链路的数据进行去重处理。即将重复的数据去除,减少数据传输的压力,节约数据存储的空间。

本发明还提供了一种优选实施例,该优选实施例提供了一种数据传输系统,需要说明的是,该数据传输系统可以用于执行本发明实施例中的数据传输方法,也即本发明实施例中的数据传输方法可以在该数据传输系统中执行。

图4是根据本发明实施例的数据传输系统的示意图,如图4所示,该数据传输系统可以包括:控制器41,第一链路,第二链路,主输入模块43,备输入模块45,主输出模块47和备输出模块49,其中,控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与第一链路和第二链路连接。

控制器41,用于监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据。

控制器41,还用于在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据。

可选地,控制器41,还用于根据通讯信息、诊断信息及通道信息接收主输入模块的数据或是备输入模块的数据,其中,通讯信息用于指示与第一链路和第二链路均连接的控制器,主输入模块,备输入模块,主输出模块和备输出模块两两之间的通讯是否正常,所示诊断信息用于指示主输入模块,备输入模块,主输出模块和备输出模块是否正常,通道信息用于指示主输入模块,备输入模块,主输出模块和备输出模块的数据传输通道是否正常;以及控制器,还用于对接收的数据进行运算处理,并将运算后的数据通过主输出模块的数据或是备输出模块输出。

可选地,控制器41,还用于当第一链路和第二链路均正常时,对获取第一链路和第二链路的数据进行去重处理。

上述数据传输系统可以包括:控制器41,第一链路,第二链路,主输入模块43,备输入模块45,主输出模块47和备输出模块49,其中,控制器,主输入模块,备输入模块,主输出模块和备输出模块均分别与第一链路和第二链路连接。控制器41,用于监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据;控制器41,还用于在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据。进而解决了相关技中传输数据时容易丢失的技术问题。

根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据传输方法。

根据本发明的另一方面,本发明优选实施例还提供了一种基于冗余总线和冗余i/o模块的数据通讯拓扑结构示意图,拓扑结构如图5所示:

1、冗余总线由相互独立的总线a和总线b组成,两者同时进行i/o数据通讯,不区分为主链路和备链路。此时控制器和i/o模块接收到的数据帧(相当于数据)是冗余的,为了过滤重复数据帧,控制器和i/o模块均实现相同的冗余数据帧处理逻辑:记录最新接收序号,并计算下一接收序号,如果下一数据帧的序号等于最新接收序号,则认定重复并丢弃。

冗余总线均正常时,控制器和i/o模块会收到冗余的数据帧,此时通过冗余数据帧处理逻辑去除冗余帧。当冗余总线中的一条故障时,控制器和i/o模块仍会收到另一条链路传送的数据帧,不存在数据丢失问题,也不存在链路切换问题。

2、主i/o模块和备i/o模块增加诊断功能,诊断分为两级-模块级和通道级。其中,模块级诊断指的是公共部分的硬件诊断,出现此故障时,其与控制器间的通讯可能正常也可能异常;通道级诊断指的是与某一通道相关的硬件诊断。控制器根据主i/o模块和备i/o模块的诊断信息和其与控制器的通讯信息,决定其主备关系,并通知给相应的i/o模块。

如图6所示,一种数据传输切换流程示意图。具体说明如下:

控制器方面为例,首先判断主输入模块通讯、主输出模块通讯、主输入模块以及主输出模块的模块级诊断、主输入模块以及主输出模块的通道级诊断是否正常,如果均正常,则主与备之间不进行切换;否则,进入子流程确定是否需要切换,如图7所示。在子流程中判断备输入模块通讯、备输出模块通讯、备输入模块以及备输出模块的模块级诊断、备输入模块以及备输出模块的通道级诊断是否正常,如果正常,则主与备之间进行切换,否则主与备之间不进行切换。

如图7所示,另一种数据传输切换流程示意图,具体说明如下:

判断备输入模块通讯、备输出模块通讯、备输入模块以及备输出模块的模块级、备输入模块以及备输出模块的通道级是否正常,如果正常,则主与备之间进行切换;否则,主与备之间不进行切换。

由图6与图7可知,在进行主与备模块切换时,当主输入模块通讯、主输出模块通讯、备输入模块通讯、备输出模块通讯、通讯模块级诊断及通道级诊断不正常时,当备输入模块、备输出模块通讯、备输入模块级、备输出模块通讯、备输入通道级、备输出通道级正常,则进行对应主与备之间的切换。

其中,进行主备切换包括对应的主备之间的切换,例如,当主输入模块出现故障,则进行切换使用备输入模块;当主输出模块故障,则切换备输出模块;当主链路故障,切换使用被链路。

i/o模块方面,主i/o模块监测控制器请求间隔时间,如果大于阈值,则认为通讯异常,主模块自动降为备模块,以避免由于通讯异常收不到控制器的主模块降为备模块指令,从而出现双主的问题。

通过上述优选实施例,冗余总线同时工作,不区分主备链路,提高了系统可靠性,降低了冗余链路切换时间,控制器和i/o模块基于序号过滤重复的数据帧;i/o模块增加诊断功能,控制器综合通讯信息和诊断信息确定切换主/备关系,并将主/备的对应关系信息通知给相应的i/o模块,其中,i/o模块主备切换的判断条件更加客观、全面、准确。

根据本发明的另一方面,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据传输方法。

根据本发明实施例的另外一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在设备执行以下操作:监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据;在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据的方式。

根据本发明实施例的另外一个方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以下操作:监测第一链路及第二链路的数据的传输状态,其中,传输状态指示第一链路和第二链路是否出现故障,第一链路和第二链路传输相同的数据;在第一链路及第二链路中的一个链路发生故障时,指示通过第一链路及第二链路中的另一个链路向主输出模块或备输出模块输出数据的方式。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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