发明内容
本发明的主要目的是提供一种数据转发装置和方法,使得数据传输更加准确。
本发明提出一种数据转发装置,包括处理器以及与所述处理器连接的转发模块,还包括分别与所述处理器以及转发模块连接的切换模块,其中:
所述转发模块用于将接收到的业务数据/网络数据转发至切换模块;
所述切换模块用于在接收到转发模块转发的业务数据/网络数据时,锁定接收到业务数据/网络数据的网络端口/业务端口,根据预先设置的网络端口与业务端口的映射关系,确定锁定的网络端口/业务端口所对应的业务端口/网络端口,并对所述业务数据/网络数据进行封装/解封装,将封装/解封装后的数据经确定的业务端口/网络端口输出。
优选地,其特征在于:
所述切换模块,还用于将所述处理器下发的检测数据包转发至对应的业务端口,从所述对应的业务端口接收对所述检测数据包的响应数据包,并在接收到所述响应数据包时,根据接收到的响应数据包解析出异常业务端口;
所述处理器,还用于采用除去异常业务端口的其它业务端口或者从除去异常业务端口的业务端口中选择一个业务端口,建立与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系。
优选地,所述处理器还用于在解析的异常业务端口与所述网络端口没有预设映射关系时,记录异常的业务端口。
优选地,所述述处理器还用于在除去异常业务端口的其它业务端口只有一个时,建立其它业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系;在除去异常业务端口的其它业务端口有多个时,根据预设的优先级确定其它业务端口中优先级最高的业务端口,建立确定的业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系。
优选地,所述处理器还用于若未预设网络端口与业务端口的映射关系,则根据预设的优先级确定优先级最高的业务端口/网络端口;所述切换模块还用于对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的数据经确定的业务端口/网络端口输出。
本发明还提出一种基于网络端口的数据转发方法,包括
在侦测到业务数据/网络数据时,锁定接收到业务数据/网络数据的网络端口/业务端口;
根据预先设置的网络端口与业务端口的映射关系,确定锁定的网络端口/业务端口所对应的业务端口/网络端口;
对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的业务数据/网络数据经确定的业务端口/网络端口输出。
优选地,该方法包括:
接收处理器下发的检测数据包转发至对应的业务端口;
从所述对应的业务端口接收对所述检测数据包的响应数据包,并在接收到所述响应数据包时,根据接收到的响应数据包解析出异常业务端口;
采用除去异常业务端口的其它业务端口或者从除去异常业务端口的业务端口中选择一个业务端口,建立与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系。
优选地,所述根据接收到的响应数据包解析出异常业务端口的步骤之后还包括:
在解析的异常业务端口与所述网络端口没有预设映射关系时,记录异常的业务端口。
优选地,所述采用除去异常业务端口的其它业务端口或者从除去异常业务端口的业务端口中选择一个业务端口,建立与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系的步骤包括:
除去异常业务端口的其它业务端口只有一个时,建立其它业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系;
在除去异常业务端口的其它业务端口有多个时,根据预设的优先级确定其它业务端口中优先级最高的业务端口;
建立确定的业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系
优选地,在侦测到业务数据/网络数据时,锁定接收到业务数据/网络数据的网络端口/业务端口的步骤之后还包括:
若未预设网络端口与业务端口的映射关系,则根据预设的优先级确定优先级最高的业务端口/网络端口;
对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的业务数据/网络数据经确定的业务端口/网络端口输出。
本发明提出一种数据转发装置和方法,可根据用户需要预设网络端口与业务端口的映射关系,网络端口与业务端口之间的连接关系具有多样性,使得该数据转发装置的应用更加广泛,并且在业务端口出现故障或者关闭时,网络端口还可通过其它业务端口传输数据,使得数据传输更加准确。
具体实施方式
下面结合附图及具体实施例就本发明的技术方案做进一步的说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明数据转发装置较佳实施例的结构示意图。
本实施例提出一种包括处理器10以及与所述处理器10连接的转发模块20,其特征在于,还包括分别与所述处理器10以及转发模块20连接的切换模块30,其中:
所述转发模块20用于将接收到的业务数据/网络数据转发至切换模块30;
所述切换模块30用于在接收到转发模块20转发的业务数据/网络数据时,锁定接收到业务数据/网络数据的网络端口40/业务端口50,根据预先设置的网络端口40与业务端口50的映射关系,确定锁定的网络端口40/业务端口50所对应的业务端口50/网络端口40,并对所述业务数据/网络数据进行封装/解封装,将封装/解封装后的数据经确定的业务端口50/网络端口40输出。
在本实施例中,第一接接口模块可设置多个网络端口40,第二接口模块可设置多个业务端口50,例如如图1所示,第一接口模块设置有4个网络端口40,第二接口模块设置有4个业务端口40,每个网络端口40可对应一个或多个业务端口50,同时多个网络端口40可对应一个业务端口50,例如,业务端口50有蓝牙端口、红外端口以及WIFI端口三个端口,数据可通过蓝牙端口、红外端口以及WIFI端口输出,则每个网络端口40对应多个业务端口50;用户可在进行数据传输之前预设网络端口40与业务端口50的映射关系,并将该映射关系保存在处理器10中,在网络端口40接收到业务数据时,根据保存的映射关系确定接收到的业务数据的网络端口40所对应的业务端口50,通过业务端口50将业务数据传输至对应的业务终端;或者在业务端口50接收到网络数据时,根据保存的映射关系确定接收到的网络数据的业务端口50所对应的网络端口40,通过网络端口40将网络数据传输至对应的网络终端;在本实施例中切换模块30优选为FPGA(Field-Programmable GateArray,现场可编程门阵列)模块。
在通过业务端口50传输数据之前,切换模块30需要对接收到的数据进行封装,在本实施例中优选为将接收到数据封装为IP报文,包含业务终端的IP地址。在本实施例中,处理器10还可根据用户通过控制界面发送的端口开启、关闭以及切换指令,控制端口的开启、关闭和切换,以灵活控制数据的传输。
在本实施例中,处理器10优选为MPC8248芯片,转发模块20优选为BCM56224芯片,处理器10通过RvMII接口、PCI接口、SMI接口与转发模块20连接,分别通过RvMII接口、PCI接口以及SMI接口进行数据的通信、配置以及管理;而处理器10通过数据总线与切换模块30连接,实现业务端口50的配置、业务端口50的切换选择以及端口状态的检测。
在本实施例中,用户可通过控制器配置业务端口50通断,以及配置业务端口50禁用与启用,网络端口40与业务端口50的连接关系。
本实施例提出的数据转发装置,可根据用户需要预设网络端口40与业务端口50的映射关系,网络端口40与业务端口50之间的连接关系具有多样性,使得该数据转发装置的应用更加广泛,并且在业务端口50出现故障或者关闭时,网络端口40还可通过其它业务端口50传输数据,使得数据传输更加准确。
在本发明数据转发装置优选实施例中,为保证收传输的准确性,需要对业务端口50进行检测,在对业务端口50进行检测时,所述切换模块30,还用于将所述处理器10下发的检测数据包转发至对应的业务端口50,从所述对应的业务端口50接收对所述检测数据包的响应数据包,并在接收到所述响应数据包时,根据接收到的响应数据包解析出异常业务端口50;所述处理器10,还用于采用除去异常业务端口50的其它业务端口50或者从除去异常业务端口50的业务端口50中选择一个业务端口50,建立与所述网络端口40的映射关系,以替换解析的异常业务端口50与所述网络端口40的预设映射关系。
由于在数据传输的过程中出现部分业务端口50关闭或者业务端口50故障的情况,若采用该业务端口50进行数据传输,则可能出现数据无法传输出去的情况,故需要对业务端口50的状态进行定时或实施检测,优选为定时检测。在定时检测时,处理器10定时向切换模块30下发检测数据包优选为握手信息,切换模块30对该数据包进行封装后依次通过所有的业务端口50输出至对应的业务终端,或者根据处理器10发送的指令将检测数据包发送至指定的业务端口50,在接收到业务终端发送的响应数据包时,说明该业务端口50正常,若在预设的时间间隔未接收到业务终端反馈的响应数据包,则说明业务端口50异常即无法进行数据传输或数据传输有误,此时若预设该异常的业务端口50与网络端口40的映射关系,则采用其它正常的业务端口50替换所述映射关系中的该异常业务端口50。
在切换模块30将检测数据包通过业务端口50转发至业务终端后,业务终端向业务端口50发送响应数据包的同时也会发送其它数据包,则此时切换模块30需要对接收到的数据包进行过滤,对其它数据包正常进行转发以过滤出响应数据包,若在预设的时间间隔内业务端口50未接收到响应数据包,则认为该业务端口50异常,若接收到响应数据包则认为该业务端口50正常。
在本实施例中,切换模块30根据接收到的业务数据的优先级排序封装发送,控制器在切换模块30空闲的状态下向切换模块30下发检测数据包,以避免冲突,保证业务数据正常稳定。
在本实施例中,为节省系统的能耗,可在采用正常的业务端口50替代异常的业务端口50后,若异常的业务端口50处于开启状态,关闭异常的业务端口50。
在本发明数据转发装置优选实施例中,所述处理器10还用于在除去异常业务端口50的其它业务端口50只有一个时,建立其它业务端口50与所述网络端口40的映射关系,以替换解析的异常业务端口50与所述网络端口40的预设映射关系;在除去异常业务端口50的其它业务端口50有多个时,根据预设的优先级确定其它业务端口50中优先级最高的业务端口50,建立确定的业务端口50与所述网络端口40的映射关系,以替换解析的异常业务端口50与所述网络端口40的预设映射关系。
在本实施例中,在有多个业务端口50均正常时,可根据预设的优先级选择正常的业务端口50中优先级最高的业务端口50替换异常的业务端口50;或者可向用户推送提示消息,提示用户业务端口50异常,并显示正常的业务端口50,并根据用户的选择指令采用用户选择的业务端口50替代异常的业务端口50。
在本发明数据转发装置较佳实施例中,所述处理器10还用于在解析的异常业务端口50与所述网络端口40没有预设映射关系时,记录异常的业务端口50。
在根据处理器10下发的检测数据包确定异常的业务端口50之后,若处理器10未保存有业务端口50与网络端口40的映射关系,则记录该异常的业务端口50,以供在用户在使用该异常的业务端口50时,提示用户业务端口50异常,以保证数据传输的准确性。
例如,用户在设置网络端口40与业务端口50的映射关系时,若选定处理器10中记录的异常业务端口50,则提示用户该端口异常请用户采用其它端口进行数据传输,并且在下次检测到该业务端口50正常时或对业务端口50进行维修后,则清除处理器10中保存的该业务端口50异常记录。
在本发明数据转发装置优选实施例中,所述处理器10还用于若未预设网络端口40与业务端口50的映射关系,则根据预设的优先级确定优先级最高的业务端口40/网络端口50;所述切换模块30还用于对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的数据经确定的业务端口40/网络端口50输出。
在本实施例中可能出现用户未预设网络端口40与业务端口50的映射关系的情况,此时网络端口40接收到的数据可经由任意一个业务接口输出,优选方案为可根据预设的优先级确定优先级最高的业务端口50,即传输效果最好的业务端口50,切换模块30对接收到的业务数据进行封装,并将封装后的数据经确定的业务端口50输出,在本实施例中,优先级最高的业务接口可为按顺序排列的第一个业务接口。
参照图2,图2为本发明数据转发方法第一实施例的流程示意图。
本实施例提出一种数据转发方法,包括:
步骤S10,在侦测到业务数据/网络数据时,锁定接收到业务数据/网络数据的网络端口/业务端口;
步骤S20,根据预先设置的网络端口与业务端口的映射关系,确定锁定的网络端口/业务端口所对应的业务端口/网络端口;
步骤S30,对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的业务数据/网络数据经确定的业务端口/网络端口输出。
在本实施例中,每个网络端口可对应一个或多个业务端口,同时多个网络端口可对应一个业务端口,例如,业务端口有蓝牙端口、红外端口以及WIFI端口三个端口,数据可通过蓝牙端口、红外端口以及WIFI端口输出,则每个网络端口对应多个业务端口;用户可在进行数据传输之前预设网络端口与业务端口的映射关系,并将该映射关系保存在处理器中,在网络端口接收到业务数据时,根据保存的映射关系确定接收到的业务数据的网络端口所对应的业务端口,通过业务端口将业务数据传输至对应的业务终端;或者在业务端口接收到网络数据时,根据保存的映射关系确定接收到的网络数据的业务端口所对应的网络端口,通过网络端口将网络数据传输至对应的网络终端;在本实施例中切换模块优选为FPGA(Field-Programmable Gate Array,现场可编程门阵列)模块。
在通过业务端口传输数据之前,切换模块需要对接收到的数据进行封装,在本实施例中优选为将接收到数据封装为IP报文,包含业务终端的IP地址。在本实施例中,处理器还可根据用户通过控制界面发送的端口开启、关闭以及切换指令,控制端口的开启、关闭和切换,以灵活控制数据的传输。
在本实施例中,处理器优选为MPC8248芯片,转发模块优选为BCM56224芯片,处理器通过RvMII接口、PCI接口、SMI接口与转发模块连接,分别通过RvMII接口、PCI接口以及SMI接口进行数据的通信、配置以及管理;而处理器通过数据总线与切换模块连接,实现业务端口的配置、业务端口的切换选择以及端口状态的检测。
在本实施例中,,用户可通过控制器配置业务端口通断,以及配置业务端口禁用与启用,网络端口与业务端口的连接关系。
本实施例提出的数据转发方法,可根据用户需要预设网络端口与业务端口的映射关系,网络端口与业务端口之间的连接关系具有多样性,使得该数据转发装置的应用更加广泛,并且在业务端口出现故障或者关闭时,网络端口还可通过其它业务端口传输数据,使得数据传输更加准确。
参照图3,图3为本发明数据转发方法第二实施例的流程示意图。
基于第一实施例提出本发明数据转发方法第二实施例,在本实施例中该方法还包括:
步骤S40,接收处理器下发的检测数据包转发至对应的业务端口;
步骤S50,从所述对应的业务端口接收对所述检测数据包的响应数据包,并在接收到所述响应数据包时,根据接收到的响应数据包解析出异常业务端口;
步骤S60,判断解析的异常业务端口与所述网络端口是否预设有映射关系;
步骤S70,若解析的异常业务端口与所述网络端口预设有映射关系,则采用除去异常业务端口的其它业务端口或者从除去异常业务端口的其它业务端口中选择一个业务端口,建立与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系。
由于在数据传输的过程中出现部分业务端口关闭或者业务端口故障的情况,若采用该业务端口进行数据传输,则可能出现数据无法传输出去的情况,故需要对业务端口的状态进行定时或实施检测,优选为定时检测。在定时检测时,处理器定时向切换模块下发检测数据包优选为握手信息,切换模块对该数据包进行封装后依次通过所有的业务端口输出至对应的业务终端,或者根据处理器发送的指令将检测数据包发送至指定的业务端口,在接收到业务终端发送的响应数据包时,说明该业务端口正常,若在预设的时间间隔未接收到业务终端反馈的响应数据包,则说明业务端口异常即无法进行数据传输或数据传输有误,此时若预设该异常的业务端口与网络端口的映射关系,则采用其它正常的业务端口替换所述映射关系中的该异常业务端口。
在切换模块将检测数据包通过业务端口转发至业务终端后,业务终端向业务端口发送响应数据包的同时也会发送其它数据包,则此时切换模块需要对接收到的数据包进行过滤,对其它数据包正常进行转发以过滤出响应数据包,若在预设的时间间隔内业务端口未接收到响应数据包,则认为该业务端口异常,若接收到响应数据包则认为该业务端口正常。
在本实施例中,切换模块根据接收到的业务数据的优先级排序封装发送,控制器在切换模块空闲的状态下向切换模块下发检测数据包,以避免冲突,保证业务数据正常稳定。
在本实施例中,为节省系统的能耗,可在采用正常的业务端口替代异常的业务端口后,若异常的业务端口处于开启状态,关闭异常的业务端口。
参照图4,图4为本发明数据转发方法第三实施例的流程示意图。
基于第二实施例提出本发明数据转发方法第三实施例,在本实施例中步骤S60之后还包括:
步骤S80,在解析的异常业务端口与所述网络端口没有预设映射关系时,记录异常的业务端口。
在根据处理器下发的检测数据包确定异常的业务端口之后,若处理器未保存有业务端口与网络端口的映射关系,则记录该异常的业务端口,以供在用户在使用该异常的业务端口时,提示用户业务端口异常,以保证数据传输的准确性。
例如,用户在设置网络端口与业务端口的映射关系时,若选定处理器中记录的异常业务端口,则提示用户该端口异常请用户采用其它端口进行数据传输,并且在下次检测到该业务端口正常时或对业务端口进行维修后,则清除处理器中保存的该业务端口异常记录。
参照图5,图5为图3中步骤S70的具体流程示意图。
在本发明收传输方法第二实施例和第三实施例中,步骤S70包括:
步骤S71,判断除去异常业务端口的其它业务端口只有一个;
步骤S72,除去异常业务端口的其它业务端口只有一个时,建立其它业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系;
步骤S73,在除去异常业务端口的其它业务端口有多个时,根据预设的优先级确定其它业务端口中优先级最高的业务端口;
步骤S74,建立确定的业务端口与所述网络端口的映射关系,以替换解析的异常业务端口与所述网络端口的预设映射关系。
例如,该数据转发装置中有4个网络端口和4个业务端口,网络端口1的数据与业务端口4映射,即网络端口1接收到的数据经业务端口4输出,若业务端口4出现异常且其它业务端口均正常,则重新设置网络端口1的映射关系,即采用其它业务端口替换业务端口4,新的映射关系为网络端口1的数据与业务端口1映射。在本实施例中,在有多个业务端口均正常时,可根据预设的优先级选择正常的业务端口中优先级最高的业务端口替换异常的业务端口;或者可向用户推送提示消息,提示用户业务端口异常,并显示正常的业务端口,并根据用户的选择指令采用用户选择的业务端口替代异常的业务端口。
参照图6,图6为本发明数据转发方法第四实施例的流程示意图。
基于第一至第三实施例提出本发明数据转发方法第四实施例,在本实施例中,步骤S10之后还包括:
步骤S90,若未预设网络端口与业务端口的映射关系,则根据预设的优先级确定优先级最高的业务端口/网络端口;
步骤S100,对接收到的业务数据/网络数据进行封装/解封装,并将封装/解封装后的业务数据/网络数据经确定的业务端口/网络端口输出。
在本实施例中可能出现用户未预设网络端口与业务端口的映射关系的情况,此时网络端口接收到的数据可经由任意一个业务接口输出,此时可根据预设的优先级确定优先级最高的业务端口,即传输效果最好的业务端口,切换模块对接收到的业务数据进行封装,并将封装后的数据经确定的业务端口输出,在本实施例中,优先级最高的业务接口可为第一个业务接口。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。