协议与数据转换装置及方法

文档序号:7980656阅读:216来源:国知局
协议与数据转换装置及方法
【专利摘要】本发明提供一种协议与数据转换装置和方法,其中,所述装置包括:协议识别单元,适于接收输入数据,并根据内部协议解释规则判断所述输入数据的协议是否符合预定协议;协议解释单元,适于接收来自所述协议识别单元的其协议符合所述预定协议的输入数据,并根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据;和协议生成单元,适于根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据;其中,所述内部协议解释规则被动态地输入到所述协议与数据转换装置。
【专利说明】协议与数据转换装置及方法
【技术领域】
[0001]本发明涉及网络数据通信协议与数据转换领域,尤其涉及一种协议与数据转换装置及方法。
【背景技术】
[0002]在涉及到数据传输的系统中,经常会有需要属于不同网络的数据相互之间进行转发、传输的过程。同时其中的数据内容也需要在协议转换的过程中进行变换与处理。
[0003]在传感器网络及物联网的应用中,通信系统是其中的一个重要组成部分。目前在大多数传感器网络或物联网通信系统中,大多数传输是采用无线通信方式,其中的通信网络一般包括两个或几个部分:一部分是采用低速率、近距离的无线通信方式,如ZigBee通信的方式,用于数据的采集与近距离传输;另外一部分是采用高速率的无线或有线通信方式,可以采用WiF1、3G以及以太网等方式,用于网络主要干线的远距离传输。
[0004]在一般的应用系统中,低速率、近距离通信方式多被应用在前端的数据感知与采集中,使用多个数据采集节点对近距离范围内的多个位置或多个参数进行数据的采集,之后,多个数据采集节点使用近距离无线通信的方式将数据传输到其所在的一个局部网络的一个网关节点。而该网关节点具有多种数据传输与转发的能力,一方面能够接收近距离、低速通信网络的节点的数据,另一方面又具有远距离、高速传输的能力,通过使用WiF1、3G或以太网等方式将数据传输至远端的服务器中,通信协议中的数据内容也会在转发的过程中进行适当的变换。远端服务器也可以将需要传输的数据通过WiFi/3G或以太网等方式传输至网关,由网关转发至近距离、低速通信网络中的数据采集节点上。因此,在数据传输过程中,网关设备在物联网应用系统中就起到了极其重要的作用。
[0005]因为网络传输系统的多样性,网络中的物理层、媒体接入层以及网络层数据内容都会在网络设备使用的过程中根据应用的不同而发生较多的变化。另外,由于各开发物联网应用系统的设计方式不同,传输协议就呈现出更多的变化形式。在系统的应用过程中,由于系统的使用要求和条件也经常会发生变化,在感知部分的前端网络的协议或网络节点的数量也会经常性发生变化。在应用系统中,经过网关转发的协议中的数据内容也会由于不同网络部分传输的需要而发生变化。
[0006]目前,在大多数的应用中,所采用的网关设备经常是在开发生产结束后就将其功能进行了固定限制,其对于协议中的数据部分的转换方式经常是固定的形式,通常使用的方式是将系统前端感知网络所采集的数据信息直接传输至上端网络或进行一些固定的转换之后将数据信息通过另外一种通信协议传输至上端网络。
[0007]也就是说,目前大多数网关所起到的作用是将不同网络的数据进行转发,对于数据信息的转发形式多为透明传输方式或按照固定的转换格式将协议进行转换。对于前端网络传输协议发生变化或感知网络的节点数量、规模等发生变化的情况,目前大多数的网关设备不能够进行灵活地配置,网关设备不能够适应新的通信数据协议,所以解决方案是同时调整前端感知网络的传输协议以及系统后台处理服务的协议,使得系统的前端和后端的协议能够相符合,从而能够有效地完成数据的采集与传输。
[0008]在这种情况下,如果当前端的数据采集网络协议发生了变化,后端服务系统的处理协议就必须要进行与之相符的协议改变,或者采用新的网关设备改变数据协议的转换方式。这样,就会增加整个系统开发或操作的工作量,同时由于需要将后台服务系统进行改变或升级,系统的稳定性也有可能会降低。
[0009]而对于物联网应用系统来说,网关的开发者和使用者往往是不同的,使用者对于网关协议以及数据内容的转发与变换处理都是由开发者决定的,也就是当用户所需要的协议转发的方式或其中的数据转换处理方式发生变化时,只能要求开发者或网关的设备提供商来对网关进行改变,以适应用户的需求。这种方式的网关就造成了应用系统使用的效率低下,以及使用者使用的不便。

【发明内容】

[0010]本发明的目的是提供一种协议与数据转换装置及方法,使用户能够动态配置网关的数据处理及协议解析功能。
[0011]根据本发明一个方面,提供一种协议与数据转换装置,包括:
[0012]协议识别单元,从数据输入缓存中获得外部输入的数据,根据内部协议解释规则中的识别规则,判断输入的数据的协议是否符合内部协议解释规则中的识别规则所预定的协议之一,根据识别的结果将数据分为符合协议解释规则的数据或不符合要求的数据,如果符合协议解释规则,则将数据送入下一单元;
[0013]协议解释单元,接收经过协议识别单元分类后的数据,根据内部协议解释规则中的解释规则,对输入的数据进行分组、排序、整理以获得针对该协议的相应字节的数据;
[0014]协议处理单元,根据内部协议解释规则中的处理规则,对经过协议解释单元解释后的协议数据进行进一步处理(例如将协议中的数据进行运算),得到运算后的数据结果;
[0015]协议生成单元,将经过协议处理单元处理后得到的数据根据内部协议解释规则中的输出协议规则,将数据重新组织,进行分组、排序、整理等操作,获得以供输出的目标网络能够识别的输出数据流。
[0016]可选的,所述协议与数据转换装置还包括:
[0017]协议解释规则输入单元,用于接收输入的协议解释规则;
[0018]内部协议解释规则生成单元,根据协议解释规则输入单元输入的协议解释规则中的具体内容,将该协议解释规则进行编译或识别,将其转换为系统能够识别的协议解释规贝U,称为内部协议解释规则,以供后续模块例如协议识别单元、协议解释单元、协议处理单元和协议生成单元使用。
[0019]可选的,所述协议与数据转换装置还包括:
[0020]数据输入单元,用于接收外部设备传向该设备的网络通信数据;数据传入的方式可以采用无线或有线的通信方式,根据不同的物理传输方式,网络数据输入单元可以将外部符合网络协议的数据流输入到装置内部;
[0021]数据输入缓存,接收通过网络数据输入单元所接收到的外部设备传输的网络数据,并将其缓存在其中,之后将其送入协议识别单元以及之后的协议解释单元。
[0022]可选的,所述协议与数据转换装置还包括:[0023]数据输出缓存,数据输出缓存获得经过协议生成单元所生成的符合协议的数据流,将其缓存在其中,之后将其送至数据输出单元;
[0024]数据输出单元获得数据输出缓存中的符合协议的数据,将其通过输出的数据接口发送至该数据流的接收方。
[0025]根据本发明另一个方面,提供一种协议与数据转换装置,包括:
[0026]协议识别单元,适于接收输入数据,并根据内部协议解释规则判断所述输入数据的协议是否符合预定协议;
[0027]协议解释单元,适于接收来自所述协议识别单元的其协议符合所述预定协议的输入数据,并根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据;和
[0028]协议生成单元,适于根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据;
[0029]其中,所述内部协议解释规则被动态地输入到所述协议与数据转换装置。
[0030]可选的,所述协议与数据转换装置还包括:
[0031]协议解释规则输入单元,适于接收协议解释规则;
[0032]内部协议解释规则生成单元,适于对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则。
[0033]可选的,所述协议与数据转换装置还包括:
[0034]数据输入单元,适于接收网络通信数据;
[0035]数据输入缓存,适于将所述网络通信数据缓存在其中,并将其作为所述输入数据送入所述协议识别单元。
[0036]可选的,所述协议与数据转换装置还包括:
[0037]数据输出缓存,适于接收所述输出数据并将其缓存在其中;
[0038]数据输出单元,适于将所述数据输出缓存中的所述输出数据通过数据接口发送到目标地址。
[0039]可选的,所述协议与数据转换装置还包括:
[0040]协议处理单元,适于按照所述内部协议解释规则对所述中间数据进行处理,并将处理后的中间数据发送到所述协议生成单元。
[0041]可选的,所述协议与数据转换装置还包括:
[0042]输出选择单元,适于当所述协议生成单元有多个时,决定选择哪一个协议生成单元来生成所述输出数据。
[0043]根据本发明另一个方面,提供一种协议与数据转换方法,包括:
[0044]动态地获得内部协议解释规则;
[0045]接收输入数据,并根据所述内部协议解释规则判断所述输入数据的协议是否符合预定协议;
[0046]对于其协议符合所述预定协议的输入数据,根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据;和
[0047]根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据。[0048]可选的,所述动态地获得内部协议解释规则包括:
[0049]接收协议解释规则;
[0050]对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则。
[0051]可选的,所述协议与数据转换方法,还包括:
[0052]在对所述中间数据进行重组之前,按照所述内部协议解释规则对所述中间数据进行处理。
[0053]根据本发明另一个方面,提供一种协议与数据转换装置,包括:
[0054]用于动态地获得内部协议解释规则的模块;
[0055]用于接收输入数据并根据所述内部协议解释规则判断所述输入数据的协议是否符合预定协议的模块;
[0056]用于对于其协议符合所述预定协议的输入数据,根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据的模块;和
[0057]用于根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据的模块。
[0058]可选的,所述用于动态地获得内部协议解释规则的模块包括:
[0059]用于接收协议解释规则的模块;
[0060]用于对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则的模块。
[0061]可选的,所述协议与数据转换装置还包括:
[0062]用于在对所述中间数据进行重组之前,按照所述内部协议解释规则对所述中间数据进行处理的模块。
[0063]根据本发明另一个方面,提供一种网络系统,包括:
[0064]上述协议与数据转换装置;
[0065]与所述协议与数据转换装置耦接的一个或多个第一网络,该第一网络遵守第一协议;和
[0066]与所述协议与数据转换装置耦接的一个或多个第二网络,该第二网络遵守第二协议。
[0067]可选的,所述网络系统还包括:
[0068]与所述协议与数据转换装置耦接的一个或多个第三网络,该第三网络遵守第三协议;其中,所述数据转换装置包括输出选择单元。
[0069]本发明中,用户能够仅通过对网关设备进行简单设置,就可以适应多个需要相互通信的网络。在其中一部分网络协议、网络规模、数据处理方式或部分网络应用需求发生改变的情况下,用户仅需要向网关设备输入新的网络协议转换方式或新的数据处理方式的规贝U,而不需改变另外一部分或几部分的网络传输协议,就能够使得网络适应改变的数据处理方式或通信协议。
[0070]与现有技术相比,本发明具有如下技术优势:(1)通过协议识别单元可以识别输入的不同种类的数据协议,并将其进行分类。(2)用户通过输入协议解释规则的方法,可以使得设备能够自动适应新的数据内容处理以及网络协议转换规则。(3)在系统工作过程中,用户可以动态改变协议转换的方式以及数据处理方法而不用更改系统和设备的结构。(4)在有新协议或新的数据处理方法加入网络及设备的情况下,用户可以通过输入新的协议解释规则从而使得协议转换设备适应新的协议规则。
【专利附图】

【附图说明】
[0071]图1是本发明一个实施例中数据转换装置的应用环境的结构示意图;
[0072]图2是本发明一个实施例中数据转换装置(例如网关设备)的结构示意图;
[0073]图3是图2的处理单元201中具体单元(301-306)的结构示意图;
[0074]图4是本发明另一个实施例中数据转换装置(例如网关设备)的结构示意图;
[0075]图5是本发明另一个实施例提供的数据转换装置的结构示意图;
[0076]图6是本发明另一个实施例提供的数据转换装置的结构示意图;
[0077]图7是本发明一个实施例中对应于图5所示数据转换装置的协议转换过程及方法的流程图;
[0078]图8是本发明另一个实施例中对应于图6所示数据转换装置的协议转换过程及方法的流程图;
[0079]图9是本发明另一个实施例中提供的协议转换及数据处理方法流程图。
【具体实施方式】
[0080]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0081]本发明提供一种协议与数据转换装置及方法,使得用户能够自行改变网关等网络数据转发设备的网络协议解析方法以及数据处理方法。即能够根据用户提供的规则来对输入网关的应用通信数据协议进行解析,将网络协议中的数据内容重新组织后按照新的协议格式转发输出到下一级的网络中。
[0082]在网络设备中,数据的输入与输出都是按照一定协议格式来进行的,协议转换设备能够根据不同设备和网络的要求,基于输入数据所遵循的协议对该输入数据进行解释,同时将数据重新按照输出的协议规则进行组织,形成输出数据;在本发明中,协议解释规则的内容包括:(I)对输入数据按照输入数据协议进行解释,以获取其中数据、(2)对数据按照一定要求进行处理、(3)将输出的数据按照输出数据协议进行重新组织,最后将数据输出。
[0083]输入到网关设备的网络数据流的协议不一定是固定的格式,根据用户提供给网关设备不同的协议解释规则,网关设备可以解释不同的输入协议格式,用户可以根据前端网络的应用特征任意改变输入网络数据流的协议的格式;同样地,从网关输出的网络数据协议不一定是固定的格式,根据用户提供给网关设备不同的协议解释规则,网关设备可以根据输出的目标网络格式要求任意改变输出的数据协议的格式。
[0084]而且,除了协议转换之外,还可以按照输出协议的规则,将输入的数据流中的数据进行重新排序、计算等处理。
[0085]另外,可以在网关设备中内置预先设置好数据处理方式(即协议解释规则的一部分),当网络中有新增加的网络设备时,只要新增加的设备输入到网关设备的数据协议符合网关设备中所内置的协议中的一种,网关设备就能够根据预先设置的网络协议处理方法将新增设备的输入数据转换成输出的数据协议格式。
[0086]图1是本发明一个实施例中数据转换装置的应用环境的结构示意图,显示了一个完整的传感器网络系统。
[0087]其中,数据采集部分101包含传感器网络节点,传感器网络节点通过其中的传感器进行数据采集,并且将数据发送至网关102。
[0088]传感器网络节点可以进行无线数据通信,如果能够直接与网关102进行通信,则直接将数据发送至网关102 ;如果传感器网络节点的通信距离不能满足该节点与网关102之间的直接通信距离,则传感器网络节点可以通过多跳传输的方式将数据经过其他传感器网络节点进行无线转发,将数据间接传输至网关102。
[0089]网关102可以进行多种类型的无线通信或有线通信。网关102 —方面可以接收传感器网络节点的数据,另一方面可以通过其他有线或无线的通信方式(如WiF1、GPRS、3G或以太网等方式)接入互联网103,并且将数据传输至服务器104。相似地,服务器104也可以通过网关102向传感器网络节点发送控制数据。
[0090]在该传感器网络系统中,包括两部分网络的数据协议:一部分是传感器网络101的传输数据协议,网关102可以接收符合该网络的协议的数据流;另一部分是网关102与服务器104之间的网络通信协议。
[0091]一般的,经过网关102的数据传输是不经过任何处理的,也就是说,网关102接收传感器网络101的数据后直接将数据转发至服务器104。同样,来自服务器104的数据经过网关102直接转发至相应的传感器网络101内的传感器节点。网关102也可以具有一定的数据处理功能,例如可以对来自传感器网络101的数据进行一定的数据处理,例如:数据合并、结果计算等,之后再向服务器104进行数据传输。
[0092]在本发明的实施例中,用户可以通过修改网关协议转换功能,改变网关的数据转发方法,使得网关在系统应用的过程中能够灵活适应输入输出的数据协议以及数据处理方式。即当传感器网络感知部分的数据协议或上层网络的数据协议发生变化时,例如传输数据协议和网络通信协议双方有一方网络发生变化,不需要改变另外一方网络的协议处理方式,只要用户在网关上进行设置调整即可;当需要对其中一方的协议中的数据处理方式进行改变时,不需要改变任何一方的协议,只需用户在网关中增加新的数据处理方式即可,从而能够减轻系统修改的工作量,能够提高系统工作的灵活性,也能够减少由于系统发生变化而使得系统工作变得不稳定或发生故障的可能性降低。
[0093]图2是本发明一个实施例中数据转换装置(例如网关设备)的内部结构图。网关设备包括:处理单元201、存储单元202、输入输出单元203以及供电单元204。
[0094]处理单元201包括处理器,例如ARM、DSP、单片机等,负责网关设备中所有数据处理,包括:对来自多个网络的遵守不同协议的数据流进行协议的解析处理,将数据送入存储单元202进行存储,向不同的网络发送经过解析处理后的数据,以及完成对系统的启动、配置、运行、休眠等工作的控制。
[0095]存储单元202在处理单元201的控制下完成数据的存储功能,存储单元202包括系统代码存储器和系统运行数据存储器,其中存储的数据内容包括:从输入输出单元203输入的网络协议数据的临时存储;经过处理单元201处理后准备向输入输出单元203输出的数据的临时存储;系统运行代码的存储;系统运行临时数据的存储;协议解释规则的数据存储等。
[0096]输入输出单元203是设备的传输单元,用于数据的接收与发送,该单元可以设置有一种至几种通信方式的接口,如:ZigBee、Wif1、3G、以太网、RS232、RS485等。网络数据可以从该输入输出单元进行输入与输出,用户还可以从输入输出单元输入协议解释规则,用于改变协议转换的解释规则。
[0097]供电单元204对整个系统进行电源供给,可以外接直流电源或交流电源,也可以内置电池对设备进行供电,采用内置电池供电的方式则可以在无外接电源的时候进行使用,使得设备具有移动性。
[0098]图3是图2的处理单元201中具体单元(301-306)的结构示意图,图3显示了协议解析与数据处理功能。具体的,处理单元201包括:协议识别单元301、协议解释单元302、协议处理单元303、协议生成单元304、协议解释规则输入单元305以及内部协议解释规则生成单元306。
[0099]在使用者需要对网络协议数据转换的功能进行改变的情况下,在协议解释规则输入单元305的控制下通过输入输出单元输入协议解释规则(用户提供的外部数据),输入的方式可以为连接输入输出单元的本地接口,如RS232、RS485等方式,也可以为通过连接输入输出单元的远程网络接口,如Wif1、3G、ZigBee等网络方式。协议解释规则输入单元305获得用户输入的协议解释规则后,将用户协议解释规则发送到内部协议解释规则生成单元306,在该单元通过编译或者解释的方法将该用户协议解释规则转化或生成为处理器能够识别的协议解释规则(称为内部协议解释规则)。通过该内部协议解释规则,网关能够解释输入的应用通信数据,对输入的应用通信数据进行运算、组合、拆分等处理,生成并输出符合所需协议的新的应用通信数据。从而设备能够对改变的应用通信数据进行处理。
[0100]协议识别单元301接收输入的应用通信数据,根据已设置的协议解释规则(来自内部协议解释规则生成单元306)识别应用通信数据的内容,如果是符合协议解释规则所要求的协议,则将该数据输出到协议解释单元302。如果不符合协议解释规则所要求的协议,则将该数据滤除。例如,输入的应用通信数据的协议可能是802.15.4a或802.15.4c协议,而符合协议解释规则的识别规则指定的协议类型仅包括802.15.4a协议,则当输入数据所遵守的协议为802.15.4c协议时,协议识别单元会将该数据滤除,而仅使遵守802.15.4a协议的数据通过。
[0101]协议解释单元302通过协议识别单元301获取符合协议解释规则所要求的协议的数据,并根据协议解释规则从该数据获得对应于该协议的相应字段的数据内容(也称为中间数据),如:源地址、目的地址、长度、负载数据等,为下一阶段的内容准备好数据。
[0102]协议处理单元303对协议解释单元302提取的数据内容进行处理,如对数据进行数学运算,将多字段数据合并,数据过滤操作等。例如:输入的数据包括a,b,c等字段,而输出的内容要求数据为:a+b_c,则在该单元进行这样的操作,生成新的数据。
[0103]协议生成单元304将协议处理单元303处理之后的数据内容根据内部协议解释规则重新对数据进行组合,生成符合协议解释规则要求的新的数据,之后向准备接收数据的网络进行数据的传输。
[0104]在该实施例中,内部协议解释规则生成单元306生成内部协议解释规则,用于应用通信数据流所流经的各单元进行相应的操作。例如,内部协议解释规则生成单元306分别向协议识别单元301输入应用通信数据协议的识别规则,向协议解释单元302输入应用通信数据协议的解释方法,向协议处理单元303输入协议处理的方法,以及向协议生成单元304输入协议生成的方法。
[0105]根据本发明另一个实施例,将处理单元部分与上述的输入输出单元和存储单元结合在一起进行整个协议转换以及数据处理工作过程的说明,如图4所示。
[0106]与上一个实施例相似,如果使用者需要对网络协议数据转换及处理的功能进行改变,则通过协议解释规则输入单元409输入协议解释规则,输入的方式可以连接输入输出单元的本地接口,如RS232、RS485等方式,也可以通过连接输入输出单元的远程网络接口,如Wif1、3G、ZigBee等网络方式。协议解释规则输入单元409获得用户输入的协议解释规则后,将用户协议解释规则输入到内部协议解释规则生成单元410,在该单元处理器通过编译或者解释性语言解释的方法将该用户协议解释规则生成为处理器能够识别的协议解释规则(即内部协议解释规则)。通过该内部协议解释规则,解释输入的应用通信数据协议、将输入的应用通信数据流内的数据进行运算、组合、拆分等处理、以及生成并输出新的应用通信数据协议等操作。
[0107]数据输入单元401接收符合应用通信数据协议的数据流,数据输入单元401可以是不同的物理网络接口,如Wif 1、3G、ZigBee,以太网、RS232、RS485等接口。接收到的数据送入数据输入缓存402。
[0108]数据输入缓存402接收数据输入单元401的应用通信数据流中的数据,将数据的内容暂时保存在其中,系统获得有应用通信数据流中的数据输入的中断通知后,将应用通信数据流中的数据从数据输入缓存402中读出,送入到协议识别单元403。
[0109]协议识别单元403与上述协议识别单元301相同。协议解释单元404与上述协议解释单元302相同。协议处理单元405与上述协议处理单元303相同。协议生成单元406与上述协议生成单元304相同。
[0110]数据输出缓存407将协议生成单元406生成的符合新的应用通信数据协议的数据缓存在其中,准备送至数据输出单元408进行数据的发送传输。
[0111]数据输出单元408在准备好数据发送之后,从数据输出缓存407中读取准备发送的数据,之后通过数据传输接口向接收网络进行应用通信数据协议中的数据的发送传输。
[0112]之前所提到的数据输入单元和数据输出单元在后面的具体实施例中可以同时作为数据输入输出一个整体的单元出现,不同的数据输入输出单元属于不同的网络,用以对不同网络的数据进行输入输出。
[0113]图5是本发明上述实施例的一个具体例子,其中显示了包含可以进行网络协议转换与数据处理的传输设备(例如网关)的网络系统。
[0114]在该图5的网络系统中,包含两部分网络:一部分是用于数据采集的传感器网络501,另一部分网络是系统管理服务器519所处的服务网络521。两部分网络中间通过网络转换设备(网关520)进行连接;两部分网络的数据协议通过网关520进行转换。传感器网络501与网关520的通信接口通过ZigBee网络502进行传输,服务网络521与网关520的通信接口通过3G网络517进行传输。因此,对于该网络协议转换的网关就具有两部分通信接口,S卩ZigBee输入输出单元503与3G网络输入输出单元514,通过这两个输入输出单元,两部分网络的协议可以在网关设备520中进行转换,传感器网络501的数据内容可以通过网关设备520向位于服务网络521内的服务器519进行传输,服务器519的控制数据可以通过网关设备520向传感器网络501内的传感器节点发送控制数据。之前的说明中所提到的数据输出单元以及数据输入单元可结合设置为既具有数据输入功能也具有数据输出功能的数据输入输出单元。
[0115]在该系统的网关设备520中,包含必要的网络协议转换以及网络数据处理功能单元。因为网络是进行双向的数据传输,因此在网关设备520中具有两个传输方向的协议解析单元模块。与ZigBee网络相连接的部分为ZigBee输入输出单元503与ZigBee数据缓存504,负责接收来自使用ZigBee通信协议的传感器网络501的数据以及向使用ZigBee通信协议的传感器网络501发送数据;与3G网络相连接的部分为3G数据输入输出单元514与3G数据缓存513,负责接收来自使用3G网络通信协议的服务网络521的数据以及向使用3G网络通信协议的服务网络521发送数据。
[0116]使用ZigBee网络协议的传感器网络501向服务网络521发送数据:网关设备520的ZigBee数据输入输出单元503接收来自传感器网络501的符合协议的数据,并送至ZigBee数据缓存504中,之后数据被传输至ZigBee协议识别单元505,由该单元识别输入数据的协议是否符合要求,如果符合所制定的协议,则将数据送至ZigBee协议解释单元506。ZigBee协议解释单元506根据内部协议解释规则生成单元515的协议解释规则对输入的ZigBee协议数据进行解释,识别其中的数据内容之后将数据送至ZigBee协议处理单元507当中。ZigBee协议处理单元507根据内部协议解释规则生成单元515所生成的协议解释规则将识别后的数据进行运算、组合等处理操作,生成新的符合服务器519数据处理要求的数据内容。所生成的新的数据内容被送入3G协议生成单元508,在此将数据组合生成符合服务器519所要求协议的数据流,之后数据被送入3G数据缓存513,在3G数据输入输出单元514准备好数据发送之后,数据被送入3G数据输入输出单元514发送至3G网络,通过3G网络517的数据传输以及传输基站518的数据转发,数据就可以被传输至服务器519,这样就完成了从传感器网络501至服务网络521数据转发的整个数据传输过程。
[0117]相反的传输过程,即服务器519经过服务网络521向使用ZigBee网络协议的传感器网络501发送数据:网关设备520的3G数据输入输出单元514接收来自3G网络517符合协议的数据,并送至3G数据缓存513中,之后符合协议的数据被传输至3G协议识别单元512,由该单元识别输入数据的协议是否符合要求,如果符合所制定的协议,则将数据送至3G协议解释单元511。3G协议解释单元511根据内部协议解释规则生成单元515的协议解释规则对输入的3G网络协议数据进行解释,识别其中的数据内容之后将数据送至3G协议处理单元510当中。3G协议处理单元510根据内部协议解释规则对识别后的数据进行运算、组合等处理操作,生成新的符合传感器网络501数据处理要求的数据内容。所生成的新的数据内容被送入ZigBee协议生成单元509,在此将数据组合生成传感器网络501所要求协议的数据流,之后数据被送入ZigBee数据缓存504,在ZigBee数据输入输出单元503准备好数据发送之后,数据被送入ZigBee数据输入输出单元503发送至符合ZigBee网络协议的传感器网络501。传感器网络501内的传感器网络节点就可以通过ZigBee网络传输协议获得所传送来的数据。这样就完成了从服务网络521至传感器网络501数据转发的整个数据传输过程。[0118]在本发明的实施例中,用户可以从位于服务网络521中的服务器519向网关输入协议解释规则,因此,协议解释规则也通过3G网络517传输至网关520。用户通过3G网络517将协议解释规则输入到网关520,通过3G输入输出单元514以及3G数据缓存513将协议解释规则输入到协议解释规则输入单元516,这样,网关520就获得了可以对数据协议进行转换的协议解释规则。协议解释规则输入单元516将协议解释规则送入内部协议解释规则生成单元515,该单元根据输入的协议解释规则内容将协议解释规则通过处理器编译生成可以供各模块使用的协议解释规则内容(称为内部协议解释规则),之后送至各功能模块。
[0119]通过对网关520输入新的协议解释规则,可以改变网关设备对输入的应用通信数据协议转换。
[0120]例如,在本例中应用通信数据协议包括传感器网络501中的ZigBee协议以及服务网络521的服务网络协议。在初始状态中,传感器网络501的ZigBee协议中包括了温度和湿度这样的二进制信息,经过网关设备520的转换后,将温度和湿度信息转换为十进制信息输入到服务网络521,由服务器519进行处理。如果由于某种原因,传感器网络501内增加了新的带有光照传感器的节点,因此向网关设备520传输的ZigBee协议中就增加了二进制光照度数据信息,应用通信数据协议发生了改变。而此时的网关设备520对该应用通信数据协议是不能进行识别的。因此,使用者可以通过位于服务网络521中的服务器519向网关设备输入新的协议解释规则,使得网关设备根据新的协议解释规则能够识别新的带有二进制光照度数据的ZigBee协议,同时网关设备520将该应用通信数据协议中的二进制光照度数据信息根据新的协议解释规则转换为十进制光照度数据信息,并通过3G网络517向服务网络521进行符合新的应用通信数据协议的数据传输。这样就可以很方便的实现网关设备对新的应用通信数据协议的处理。
[0121]再例如,如果初始的传感器网络501中的ZigBee协议的数据中包括了 a、b以及c这样的数据内容,初始的应用通信数据协议处理方式为将该a、b以及c数据内容进行组合,由协议处理单元507生成象a+b+c这样的数据信息,之后通过3G网络517传输至服务网络521。而当使用者对应用通信数据协议的处理方式要求发生改变,需要向服务器传输a+b-c这样的数据信息,则使用者可以通过位于服务网络521中的服务器519向网关设备输入新的协议解释规则,改变应用通信数据协议的处理方式,将处理方式变为a+b-c,网关设备即可实现向服务网络521传输符合新的应用通信数据协议的数据,从而满足系统对数据协议改变的需求。
[0122]同理,相反方向的数据传输可以采用类似的方法,使得网关设备能够适应新的应用通信数据协议转换的要求。
[0123]本例中,网关连接了 2个实际的网络,一个为ZigBee网络,另一个为3G网络,实际上,网关所连接的网络并不一定只限于这两种网络类型,而可以是任意的网络类型。协议解释规则并不一定从3G网络中输入,实际上,可以从任何一个网络接口或其他设备的输入输出接口输入。
[0124]图6是本发明的另一个实施例,提供一种网关设备。在该网关中,具有3个数据输入输出单元,在本发明其他实施例中,数据输入输出单元的数量也可以大于3个。
[0125]在该实施例中,共连接了 3个网络,分别为ZigBee网络、3G网络、Wifi网络。因为在该应用实施例中的连接网络多于2个,也就是说,当有一个网络输入符合协议要求的数据的时候,需要对数据的输出网络进行选择,选择将经过转换后的数据输出到那个网络中去,然后决定输出的网络的协议是什么。因此,在如图6所示的发明实施例中,相比于图5所示实施例,在每个网络的网络协议处理单元(605、613、620)之后,都增加了一个功能单元,即网络输出选择单元(606、614、621)。该网络输出选择单元可以决定经过网络协议处理单元处理之后的网络数据输送至哪个网络。如,经过网络协议处理单元605处理之后的ZigBee网络数据,经过ZigBee网络输出选择单元606,可以选择输出的数据送往哪个网络,是3G网络还是WiFi网络,如果是选择了 3G网络,则将数据送往3G网络协议生成单元607 ;如果是选择了 WiFi网络,则将数据送往WiFi网络协议生成单元608。经过网络协议生成单元生成了网络协议之后,在送往各自的网络数据缓存。因此,在本实施例中,每个输入的网络数据都有可能被送往两个输出网络中的一个或者两个,该输出方式的选择也是通过内部协议解释规则生成单元622所生成的规则决定的。
[0126]在本实施例中,协议解释规则是通过WiFi网络输入的,在WiFi网络中,用户通过WiFi网络数据输入输出单元609和WiFi网络数据缓存610将数据送至协议解释规则输入单元623,经过内部协议解释规则生成单元622处理之后,获得可以由系统识别的协议解释规则,再通过协议转换部分来对协议进行转换和输出。
[0127]在本实施例中,采用3个具体的网络作为输入输出的网络,而实际上具体的网络并不仅仅限于所提出的3种网络,也可以包括入:GPRS、CDMA、以太网、RS232、RS485、现场总线等其他网络传输类型,网关所连接的网络数量也不仅仅限于3个,也可以有4个或以上的网络同时接入网关,在网关内部的处理上,只要增加类似功能的功能单元即可。
[0128]需要注意的是,在本发明其他实施例中,上述输入输出单元可以不包括在网关中,而是位于外部设备中。
[0129]另外,在本发明其他实施例中,根据实际情况,如果不需要处理数据,上述协议处理单元也可以省略。在省略了协议处理单元的情况下,将协议解释单元的输出作为协议生成单元的输入。
[0130]另外,在本发明其他实施例中,根据实际情况,如果可以直接输入内部协议解释规则,可以直接通过协议解释规则输入单元输入,省略内部协议解释规则生成单元。
[0131]另外,本领域技术人员可以理解,上述的多个处理单元和解释单元(例如网络协议处理单元605、613、620)既可以是多个物理实体单元同步处理多种协议的数据,也可以是同一个物理实体单元分时或以其他方式异步处理多种协议的数据。
[0132]另外,本领域技术人员可以理解,本申请中提到的各个单元可以由硬件、软件、固件中的任意一种或它们的组合来实现。例如,在以硬件方式实现各个单元的情况下,这些单元可以体现为用于执行本申请所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。在以软件方式实现各个单元的情况下,这些单元可以体现为由处理器执行的各个软件模块。
[0133]图7是对应于图5的协议转换过程及方法的一个具体实施例;网络设备连接两个网络,这两个网络分别为ZigBee网络和3G网络。
[0134]下面以输入网络的数据协议为ZigBee网络协议、输出网络的协议为3G网络的协议为例进行说明。由于3G网络采用IP传输的方式,因此,在系统的传输过程中只需要指定目标网络的IP地址以及传输端口为3G网络的传输端口即可。该实施例中的协议解释规则从3G网络输入到设备内。
[0135]一方面,从3G网络获得的用户协议解释规则由3G网络输入输出单元输入到网关系统中,经过3G数据缓存送至协议解释规则输入单元,在此输入的协议解释规则如710所示,输入的内容可以是文本、二进制代码或者是其他的方式,可以有多种实施方法。在此举例为采用文本方式输入协议解释规则。网关系统获得输入的协议解释规则后,按照系统工作的方式,由内部协议解释规则生成单元将协议解释规则编译或解释成为系统能够识别的协议解释规则方法,如711所示,并根据协议解释规则的具体内容控制协议识别单元、协议解释单元、协议处理单元以及协议生成单元的工作方式。
[0136]另一方面,数据通信协议的输入网络为ZigBee网络,链路层的网络符合802.15.4网络协议规范,接收到的链路层网络协议为符合802.15.4的网络协议,协议中的内容包括:帧控制、帧序号、源地址、目的地址、帧负载数据以及帧校验。ZigBee协议经过ZigBee输入输出单元、ZigBee数据缓存被送至ZigBee网络协议识别单元,在此单元中的数据内容如701所示。ZigBee网络协议识别单元识别出该协议为符合规范的ZigBee网络协议,将其送至ZigBee网络协议解释单元,在此解释单元中,将其中的负载数据内容识别出来,如702所示,识别出负载数据中的每个数据字节:D1、D2、……Dn,并将数据送至网络协议处理单元。网络协议处理单元根据协议解释规则所规定的内容将协议进行解释处理。处理的方法取决于协议解释规则所规定的内容,在此举例,假设协议处理方法711所示的内容,其中的func代表内部协议解释规则生成单元所生成的处理计算函数。经过处理计算之后,网络协议处理单元获得输出的数据内容:01,02,03……On,如703所示。最后,由3G网络协议生成单元生成符合3G网络传输的协议,并生成后的协议内容送至3G输入输出缓存、3G数据输入输出单元,如704所示,并通过物理层的设备将其传输出去。
[0137]图8是对应于图6所示实施例的协议转换过程及方法的一个具体实施例。在该实施例中,网关设备具有三个网`络输入输出的接口,包括ZigBee网络,3G网络与WiFi网络,也就是说,可以从三个网络分别进行数据的输入输出。下面以输入网络为ZigBee网络、输出的目标网络为3G网络为例进行说明。
[0138]假设3G网络采用IP传输的方式,因此,在系统的传输过程中只需要指定目标网络的IP地址以及传输端口为3G网络的传输端口即可。该实施例中的协议解释规则从WiFi网络输入到设备内。
[0139]一方面,从WiFi网络获得的协议解释规则由WiFi网络输入输出单元输入到网关系统中,经过WiFi数据缓存送至协议解释规则输入单元,在此输入的协议解释规则如810所示,输入的内容可以是文本、二进制代码或者是其他的方式,可以有多种实施方法。在此举例为采用文本方式输入协议解释规则。网关系统获得输入的协议解释规则后,按照系统工作的方式,由内部协议解释规则生成单元将协议解释规则编译或解释成为系统能够识别的协议解释规则方法,如811所示,并根据协议解释规则的具体内容控制协议识别单元、协议解释单元、协议处理单元以及协议生成单元的工作方式。
[0140]另一方面,数据通信协议的输入网络为ZigBee网络,链路层的网络符合802.15.4网络协议规范,接收到的链路层网络协议为符合802.15.4的网络协议,协议中的内容包括:帧控制、帧序号、源地址、目的地址、帧负载数据以及帧校验。ZigBee协议经过ZigBee输入输出单元、ZigBee数据缓存被送至ZigBee网络协议识别单元,在此单元中的数据内容如801所示。ZigBee网络协议识别单元识别出该协议为符合规范的ZigBee网络协议,将其送至ZigBee网络协议解释单元,在此解释单元中,将其中的负载数据内容识别出来,如802所示,识别出伏在数据中的每个数据字节:D1、D2、……Dn,并将数据送至网络协议处理单元。网络协议处理单元根据协议解释规则所规定的内容将协议进行解释处理。处理的方法取决于协议解释规则所规定的内容,在此举例,假设协议处理方法811所示的内容。其中的func代表内部协议解释规则生成单元所生成的处理计算函数。经过处理计算之后,网络协议解释单元获得输出的数据内容:01,02,03……On,如803所示。由于在该实施例的系统中存在三个不同的网络输入输出接口,若ZigBee网络作为网络协议的输入接口,则输出接口可以由ZigBee网络输出选择单元根据不同的需要选择为3G网络或WiFi网络,如804所示,在本实施例中选择网络输出接口为3G网络输出接口。最后,由3G网络协议生成单元生成符合3G网络传输的协议,并生成后的协议内容送至3G输入输出缓存、3G数据输入输出单元,如805所示,并通过物理层的设备将其传输出去。
[0141]在实际的应用系统中,网关设备的输入输出网络并不局限于本实施例中所提到的3种输入输出网络,而是可以有更多个输入输出的网络,只要在输出网络选择单元选择不同的输出网络即可实现本发明所提出的功能。同样,本实施例中的协议解释规则也并不限于仅从WiFi网络输入,而是可以从任意一个网络输入到网关中。
[0142]基于上述方法过程的分析,根据本发明一个实施例,提供一种协议转换及数据处理方法,如图9所示。
[0143]该协议转换及数据处理方法包括:
[0144]步骤1、接收输入数据;
[0145]步骤2、识别输入数据的协议类型,根据其协议类型将输入数据分为符合预定协议的数据和不符合预订协议的数据;
[0146]步骤3、对于符合预定协议的输入数据,从该输入数据获得对应于该预定协议的相应字段的中间数据;
[0147]步骤4、根据内部协议解释规则中的处理规则(即预定的处理规则),对该中间数据进行处理或运算,得到结果数据;
[0148]步骤5、根据内部协议解释规则中的输出协议规则(即预定的输出协议规则,也称为新协议生成规则),利用结果数据生成符合输出协议的输出数据;
[0149]步骤6、向外部传输所述输出数据。
[0150]其中,执行步骤I之前,可以首先动态地获得内部协议解释规则。在一个实施例中,该动态地获得内部协议解释规则包括:接收协议解释规则;以及,对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则。
[0151]另外,虽然图9示出了 6个步骤,但这6个步骤并非都是必不可少的。例如,在不需要对中间数据进行进一步处理的情况下可以省略步骤4,从而在步骤5中直接处理由步骤3获得的中间数据。
[0152]应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
【权利要求】
1.一种协议与数据转换装置,包括: 协议识别单元,适于接收输入数据,并根据内部协议解释规则判断所述输入数据的协议是否符合预定协议; 协议解释单元,适于接收来自所述协议识别单元的其协议符合所述预定协议的输入数据,并根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据;和 协议生成单元,适于根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据; 其中,所述内部协议解释规则被动态地输入到所述协议与数据转换装置。
2.根据权利要求1所述的协议与数据转换装置,还包括: 协议解释规则输入单元,适于接收协议解释规则; 内部协议解释规则生成单元,适于对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则。
3.根据权利要求1或2所述的协议与数据转换装置,还包括: 数据输入单元,适于接收网络通信数据; 数据输入缓存,适于将所述网络通信数据缓存在其中,并将其作为所述输入数据送入所述协议识别单元。
4.根据权利要求1或2所述的协议与数据转换装置,还包括: 数据输出缓存,适于接收所述输出数据并将其缓存在其中; 数据输出单元,适于将所述数据输出缓存中的所述输出数据通过数据接口发送到目标地址。
5.根据权利要求1或2所述的协议与数据转换装置,还包括: 协议处理单元,适于按照所述内部协议解释规则对所述中间数据进行处理,并将处理后的中间数据发送到所述协议生成单元。
6.根据权利要求1或2所述的协议与数据转换装置,还包括: 输出选择单元,适于当所述协议生成单元有多个时,决定选择哪一个协议生成单元来生成所述输出数据。
7.一种协议与数据转换方法,包括: 动态地获得内部协议解释规则; 接收输入数据,并根据所述内部协议解释规则判断所述输入数据的协议是否符合预定协议; 对于其协议符合所述预定协议的输入数据,根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据;和 根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据。
8.根据权利要求7所述的协议与数据转换方法,其中,所述动态地获得内部协议解释规则包括: 接收协议解释规则; 对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则。
9.根据权利要求7或8所述的协议与数据转换方法,还包括: 在对所述中间数据进行重组之前,按照所述内部协议解释规则对所述中间数据进行处理。
10.一种协议与数据转换装置,包括: 用于动态地获得内部协议解释规则的模块; 用于接收输入数据并根据所述内部协议解释规则判断所述输入数据的协议是否符合预定协议的模块; 用于对于其协议符合所述预定协议的输入数据,根据所述内部协议解释规则从所述输入数据获得对应于该预定协议的相应字段的中间数据的模块;和 用于根据所述内部协议解释规则对所述中间数据进行重组,以获得符合目标网络协议的输出数据的模块。
11.根据权利要求10所述的协议与数据转换装置,其中,所述用于动态地获得内部协议解释规则的模块包括: 用于接收协议解释规则的模块; 用于对所述协议解释规则进行编译或识别,并将其转换为所述内部协议解释规则的模块。
12.根据权利要求10或`11所述的协议与数据转换装置,还包括: 用于在对所述中间数据进行重组之前,按照所述内部协议解释规则对所述中间数据进行处理的模块。
13.—种网络系统,包括: 如权利要求1-6中任意一项所述的协议与数据转换装置; 与所述协议与数据转换装置耦接的一个或多个第一网络,该第一网络遵守第一协议;和 与所述协议与数据转换装置耦接的一个或多个第二网络,该第二网络遵守第二协议。
14.根据权利要求13所述的网络系统,还包括: 与所述协议与数据转换装置耦接的一个或多个第三网络,该第三网络遵守第三协议; 其中,所述数据转换装置包括输出选择单元。
【文档编号】H04L29/08GK103532998SQ201210230310
【公开日】2014年1月22日 申请日期:2012年7月4日 优先权日:2012年7月4日
【发明者】赵泽, 王子健, 李栋, 刘强, 崔莉 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1