一种变电站的通信方法及服务器与流程

文档序号:16899937发布日期:2019-02-19 17:52阅读:262来源:国知局
一种变电站的通信方法及服务器与流程

本发明涉及变电站通信技术领域,尤其涉及一种变电站的通信方法及服务器。



背景技术:

在现有的通信网络中降低网络负载和时延的主要方法是负载均衡方法和报文压缩方法。

负载均衡方法主要是通过信道借用和负载转移实现的。其中,信道借用的原理是当重负载信道负载超过门限值后向轻负载信道借用信道,增强本信道容量。负载转移的基本原理则是将重负载信道的业务切换到轻负载信道当中。但是,智能变电站的无线网络中的每一个信道都承载着巨大的通信压力,因此,负载均衡方法不适合用于智能变电站通信网络中。

现有网络的传输方式都是通过编码、压缩完成。压缩的目的是去掉冗余信息,保留不确定的信息,用一种更接近信息本质的描述来代替原有冗余的描述。通信的本质就是信息量的传递。但是,对于报文压缩的方法,现有通信方式只是针对本帧或者本报文进行信息压缩,并没有考虑前期已经发送过的报文,没有充分地利用已有的资源。另外,报文越长,在无线传输的过程中越容易发生错误。现有无线传输技术是通过信道编码和重传机制,提高无线通信系统的传输可靠性,克服信道中的噪声和干扰的,但是却增加了报文传输的时延。

因此,现有的变电站的通信方法浪费大量的通信资源,使得访问数据的速率较慢。



技术实现要素:

本发明实施例提供一种变电站的通信方法及服务器,以解决现有技术的变电站的通信方法浪费大量的通信资源,使得访问数据的速率较慢的问题。

第一方面,提供一种变电站的通信方法,用于服务器,所述服务器的第一端口连接电子设备,所述服务器的第二端口连接无线设备,且连接的所述电子设备和所述无线设备均与所述服务器位于所述变电站的同层,所述方法包括:

接收报文,并获取接收所述报文的端口;

若接收所述报文的端口为第一端口,则确定所述报文为原始报文;

截取所述原始报文,得到至少一个第一片段,其中,所述至少一个第一片段与存储的至少一个标准片段相同;

将所述标准片段的标准标识替换与所述标准片段相同的所述第一片段,得到重组报文;

在所述重组报文中添加重组标识和重组指令,其中,所述重组标识用于表示所述重组报文为采用所述标准标识替换所述第一片段的报文,所述重组指令用于指示将所述重组报文还原为所述原始报文;

将所述重组报文发送到所述无线设备。

第二方面,提供一种服务器,所述服务器的第一端口连接电子设备,所述服务器的第二端口连接无线设备,且连接的所述电子设备和所述无线设备均与所述服务器位于所述变电站的同层,所述服务器包括:

接收模块,用于接收报文,并获取接收所述报文的端口;

第一确定模块,用于若接收所述报文的端口为第一端口,则确定所述报文为原始报文;

截取模块,用于截取所述原始报文,得到至少一个第一片段,其中,所述至少一个第一片段与存储的至少一个标准片段相同;

第一替换模块,用于将所述标准片段的标准标识替换与所述标准片段相同的所述第一片段,得到重组报文;

添加模块,用于在所述重组报文中添加重组标识和重组指令,其中,所述重组标识用于表示所述重组报文为采用所述标准标识替换所述第一片段的报文,所述重组指令用于指示将所述重组报文还原为所述原始报文;

第一发送模块,用于将所述重组报文发送到所述无线设备。

本发明实施例,充分考虑报文所携带的信息与前期已经发送报文信息的相关性大小,获得长度较短的重组报文替代原始报文进行传送,从而充分利用了以往发送的报文进行通信,降低对网络资源的占用,提高传输速率和带宽利用率,减少链路中的重复数据,减小出错的概率,解决了网络中访问数据慢的瓶颈问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的变电站的通信方法的流程图一;

图2是本发明实施例的变电站的通信方法的得到至少一个第一片段的步骤的流程图;

图3是本发明实施例的变电站的通信方法的得到重组报文的步骤的流程图;

图4是本发明实施例的变电站的通信方法的更新标准片段的信息的步骤的流程图;

图5是本发明实施例的变电站的通信方法的流程图二;

图6是本发明实施例的变电站的通信方法的流程图三;

图7是本发明实施例的变电站的通信方法的恢复缓存存储的标准片段的步骤的流程图;

图8是本发明实施例的服务器的结构框图。

具体实施方式

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

变电站一般由过程层、间隔层和站控层组成。每一层都包括电子设备。电子设备用于产生报文并发送,并可根据接收的报文进行相应的控制操作。例如,电子设备可以是但不限于智能电子设备、保护设备、测控设备、网络通信分析设备和测试设备等等。每一层也包括传输设备。对于无线传输的变电站,该传输设备是无线设备。无线设备具有将有线报文转换为无线报文,并通过无线方式传输给邻层的无线设备的功能。例如,现有技术的变电站,过程层向间隔层发送报文时,过程层的电子设备将报文发送到过程层的无线设备,过程层的无线设备将接收到的报文发送到间隔层的无线设备,间隔层的无线设备将接收到的报文发送到间隔层的电子设备;当间隔层向过程层发送报文时,按上述流程反向传递。同样的,间隔层的电子设备向站控层的电子设备发送报文时,间隔层的电子设备将报文发送到间隔层的无线设备,间隔层的无线设备将接收到的报文发送到站控层的无线设备,站控层的无线设备将接收到的报文发送到站控层的电子设备;同样的,当站控层向间隔层发送报文时,按上述流程反向传递。

本发明实施例在上述的变电站的结构基础上,在每一层都增加了服务器。每层的服务器分别与该层的电子设备和无线设备连接。因此,当服务器所在层向邻层发送报文时,服务器作为发送端的服务器。当服务器所在层接收邻层发送的报文时,服务器作为接收端的服务器。

当服务器作为发送端的服务器时,本发明实施例公开了一种变电站的通信方法,如图1所示,该方法包括如下的步骤:

步骤s101:接收报文,并获取接收报文的端口。

具体的,服务器包括第一端口和第二端口。服务器的第一端口连接电子设备(可以是有线连接,也可以是无线连接),服务器的第二端口连接无线设备(可以是有线连接,也可以是无线连接),且连接的电子设备和无线设备均与服务器位于变电站的同层。例如,均位于站控层。

步骤s102:若接收报文的端口为第一端口,则确定报文为原始报文。

电子设备具有产生报文的功能,因此,其发送给同层的服务器的报文均为原始报文。

步骤s103:截取原始报文,得到至少一个第一片段。

该截取的至少一个第一片段与存储的至少一个标准片段相同。

步骤s104:将标准片段的标准标识替换与标准片段相同的第一片段,得到重组报文。

每个标准片段对应一个标准标识。标准标识可以是按照人为设定的规则设定的较少字节数的标识,比如,用字母表示标准标识,用hash(哈希)值表示标准标识等等。一般的,相对于报文的第一片段,表示标准标识的字节很少,因此,通过该步骤将与标准片段相同的第一片段替换为该标准片段的标准标识,可以极大地缩短整个报文的长度。

步骤s105:在重组报文中添加重组标识和重组指令。

其中,重组标识用于表示重组报文为采用标准标识替换第一片段的报文。重组指令用于指示将重组报文还原为原始报文。优选的,重组标识可添加在重组报文的起始位置。重组指令添加在重组报文的末尾位置。更优选的,在重组标识的后面还可以添加第一片段的总数量。

步骤s106:将重组报文发送到无线设备。

应当理解的是,此处的无线设备为与服务器位于同层的无线设备,并且是通过第二端口发送。无线设备在接收到重组报文后,将重组报文转发给目的电子设备的所在层的无线设备,由该层的无线设备转发给该层的服务器处理后,发送到目的电子设备。

本发明实施例的变电站的通信方法,通过上述的步骤,在服务器存储的标准片段中,查找到与报文的至少一个第一片段相同的标准片段,并将这些第一片段替换为字节数较少的标准片段的标准标识,从而可缩短整个报文的长度,可以减少对网络通信资源的占用,降低传输的时间,减小因报文长度较长而造成的传输出错的概率。

优选的,对于本发明实施例的步骤s103,如图2所示,该步骤具体可通过如下的过程实施:

步骤s201:从原始报文的起始位置开始,采用预设长度的截取窗截取原始报文,获得原始报文的第二片段。

该预设长度可根据经验设定,以使截取的第二片段的长度较合适。例如,原始报文为abcdefg,预设长度为三个字节,则从原始报文的起始位置开始,截取的第二片段为abc。

步骤s202:遍历标准片段,查询是否存储有与第二片段的特征值相同的标准片段。

本发明实施例中,该特征值可以是利用hash(哈希)函数计算得到的hash值。例如,第二片段abc的特征值为1,则遍历标准片段,查询是否存储有特征值为1的标准片段。

一般的,服务器包括缓存和硬盘。其中,服务器的硬盘存储所有标准片段,服务器的缓存存储第一预设数量的标准片段。该第一预设数量可根据缓存的容量设定。缓存的读取速率较快,而硬盘的读取速率较慢。因此,为了提高查询的速度,该步骤具体采用如下的过程进行:

(1)在服务器的缓存中查询是否存储有与第二片段的特征值相同的标准片段。

通过该步骤,先在缓存中查询,以便提高查询速率。

(2)若服务器的缓存中未存储有与第二片段的特征值相同的标准片段,则在服务器的硬盘中查询是否存储有与第二片段的特征值相同的标准片段。

由于缓存中只存储第一预设数量的标准片段,没有存储全部的标准片段,因此,若在缓存中未查询到相同特征值的标准片段,则再到硬盘中查找,在保证查询速率的同时,进一步避免漏检。

此外,更优选的,服务器还可以建立表格(例如类似路由表的表格),当报文被存储为标准片段时,同时在表格中记录接收的报文的端口。例如,从第一端口接收的,将该标准片段对应的tag值记为0;从第二端口接收的,将该标准片段的tag值记为1。那么,当服务器从第一端口接收到报文时,可先在tag值为0的标准片段中查询是否存储有与报文的第一片段相同的标准片段,若没有,再在tag值为1的标准片段中查询,以便提高查询的速率。

步骤s203:若未存储有与第二片段的特征值相同的标准片段,则将截取窗向后移动预设步长截取下一第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

该预设步长可根据经验设定。本发明实施例中,将该预设步长设置为一个字节。例如,未存储特征值为1的标准片段,则截取窗向后移动一个字节截取第二片段bcd后,返回进行步骤s202。若未存储与第二片段bcd的特征值相同的标准片段,则截取窗再次向后移动一个字节截取第二片段cde后,返回进行步骤s202,以此类推,直到查询到存储有与第二片段具有相同特征值的标准片段,或者,截取到原始报文的末尾的第二片段(即efg)为止。

应当理解的是,若截取到原始报文的末尾都未查询到存储有与第二片段的特征值相同的标准片段,则将不会获取到第一片段。

本步骤通过先比较特征值的方式,若特征值不同,则无需再比对内容,直接移动截取窗截取下一第二片段,以便提高查询的速率。

步骤s204:若存储有与第二片段的特征值相同的标准片段,则判断与第二片段的特征值相同的标准片段是否与第二片段的内容相同。

当查询到存储有与第二片段的特征值相同的标准片段后,还需要判断该标准片段是否与该第二片段的内容相同。本发明实施例中的内容相同指的是逐个字符比较都相同。例如,若存储有标准片段abc,则可以查询到与第二片段abc相同的标准片段。

步骤s205:若判断出标准片段与第二片段的内容不同,则将截取窗向后移动预设步长截取下一第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

该步骤截取下一个第二片段的过程与步骤s203相同,在此不再赘述。

步骤s206:若判断出标准片段与第二片段的内容相同,则将第二片段向后增加一个步长,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤,直到获得与标准片段的特征值和内容均相同且长度最长的第二片段,记为第一片段。

该步长的定义可根据实际情况设定,例如一个字符、一个字节等等。本发明实施例中,该步长用字节表示。应当理解的是,本步骤表示无论是从起始位置截取的第二片段,还是截取窗移动预设步长后截取的第二片段,若查询到与第二片段的特征值和内容均相同的标准片段,则将第二片段的长度增加一个步长。

例如,存储有与第二片段abc的内容相同的标准片段abc,则将第二片段abc向后增加一个字节,得到新的第二片段abcd。然后返回进行步骤s202。根据是否存储有与第二片段abcd的特征值相同的标准片段进行后续相应的步骤。若查询到与第二片段abcd的特征值和内容均相同的标准片段,则再将第二片段abcd向后增加一个字节,获得新的第二片段abcde,以此类推,直到获得的与标准片段的特征值和内容均相同的第二片段的长度最长。例如,当未存储有与第二片段abcde的特征值和内容均相同的标准片段时,第二片段abcd为与标准片段的特征值和内容均相同且最长的第二片段,将第二片段abcd记为第一片段。

应当理解的是,从本步骤也可以看出,从原始报文中截取的不同的第一片段的长度也可能不同。

步骤s206:当获得一个第一片段后,从获得的第一片段的末尾位置后开始,采用预设长度的截取窗截取原始报文,获得原始报文的第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

例如,当获取第一片段abcd后,则从e开始,截取下一第二片段efg,返回进行步骤s202,查询是否有与第二片段efg的特征值相同的标准片段,并根据不同结果进行上述的后续步骤。

应当理解的是,该步骤一直进行到截取的第二片段的末尾为原始报文的末尾为止。

本发明实施例通过上述具体的步骤,从特征值和内容两个方面来获得与标准片段相同的第一片段;并且先判断特征值,再判断内容,从而可提高效率。

优选的,对于本发明实施例的步骤s103,如图3所示,该步骤具体可通过如下的过程实施:

步骤s301:提取所有第一片段,并按照第一片段在原始报文中的顺序排列。

例如,对于abcdefghabcde的原始报文,获得的第一片段包括:abc、efgh、abc,则这些第一片段按其在原始报文中的顺序排列为:abcefghabc。

步骤s302:将第一片段替换为与第一片段相同的标准片段的标准标识。

例如,与第一片段abc相同的标准片段的标准标识为a,则用a替换abc;与第一片段efgh相同的标准片段的标准标识为b,则用b替换efgh,最终形成aba。

步骤s303:若至少两个第一片段相同,则只保留排序在前的第一片段对应的标准片段的标准标识,得到由标准标识组成的第一报文。

例如,第一片段abc和第一片段abc相同,则只保留位于最前面的第一片段abc对应的标准标识,得到的第一报文为ab。

通过该步骤,只保留相同的一个标准标识,可以降低重组报文的冗余度。

步骤s304:在每一标准标识后面添加标准标识对应的第一片段的数量,以及,对应的每一第一片段的重组信息。

其中,重组信息包括:每一标准标识对应的每一第一片段的起始位置及长度。通过获取第一片段的起始位置和长度,可以在还原重组报文时,知悉将标准标识对应的第一片段在原始报文中的还原位置。

例如,第一片段abc的数量为两个,则在a后添加2,并添加每个第一片段abc在原始报文中的起始位置及长度。

步骤s305:将原始报文的除第一片段以外的其他片段按照在原始报文中的顺序依次排序,得到第二报文。

例如,除第一片段以外的其他片段为:d和de,则排序得到第二报文为dde。

步骤s306:将第一报文设置在第二报文之前,得到重组报文。

例如,第一报文为a2*b1*,其中,*用于表示前述的起始位置和长度。第二报文为dde,则重组报文为a2*b1*dde。

本发明实施例通过上述具体的步骤,得到重组报文,该重组报文由于采用较短的标准标识替换了较长的第一片段,使得重组报文的长度较短,可以节省网络资源,提高传输速率,减小出错的概率;此外,重组报文中包含标准标识对应的第一片段的重组信息,因此,可准确地在对应的位置还原第一片段,得到原始报文。

优选的,如图4所示,步骤s103之后,本发明实施例的方法还可进行如下的步骤:

步骤s401:根据相同的第一片段的数量,将与第一片段相同的标准片段的命中次数增加该数量,以及有效时间增加该数量。

例如,相同的第一片段abc的数量为2个,则将标准片段abc的命中次数增加2次,有效时间增加2。其中,命中次数表示标准片段与第一片段相同的次数,有效时间表示标准片段的存续时间。具体的,可以建立一个表格,存储每个标准片段的命中次数、有效时间等。例如,在表格中有效时间用hop值表示,每命中一次,hop值就增加1。

步骤s402:将与第一片段不同的标准片段的有效时间减少第二预设数量。

该第二预设数量可根据经验设定。本发明实施例中,该第二预设数量为1。若针对一条原始报文,标准片段与第一片段不同,则这些标准片段的有效时间分别减少1。例如,表格中hop值减少1。

应当理解的是,当一个标准片段的有效时间减少为0时,将不再减少该标准片段的有效时间。

步骤s403:在预设时间后,将与第一片段相同的标准片段的增加后的命中次数和有效时间,以及,与第一片段不同的标准片段的减少后的有效时间生效。

该预设时间可根据经验设定。由于变电站的每一层都具有一个服务器,且每层的服务器存储的信息保持一致,而服务器之间信息的统一也需要时间(例如,接收端的服务器接收到报文后,才能进行相应信息的更新),因此,设置一个预设时间,在预设时间后,才将这些更新后的相应信息生效,可使每层的服务器的信息保持一致。

本发明实施例通过上述的步骤,更新标准片段的相应信息,有利于根据标准片段的使用频率,将服务器的缓存中的使用频率低的标准片段替换掉,从而进一步提高查询的速率。

此外,原始报文中可能不具有与标准片段相同的第一片段,则如图5所示,针对这种情况,本发明另一实施例的方法包括如下的步骤:

步骤s501:接收报文,并获取接收报文的端口。

步骤s502:若接收报文的端口为第一端口,则确定报文为原始报文。

上述两个步骤与前述的步骤s101和步骤s102相同,在此不再赘述。

步骤s503:若原始报文中不具有与标准片段相同的第一片段,则将原始报文发送到无线设备。

该步骤直接发送原始报文,不对原始报文进行处理。

步骤s504:存储原始报文为标准片段。

通过该步骤,可将原始报文存储为标准片段,以便以后接收到相同的原始报文时,可以进行替换。

步骤s505:记录原始报文的标准标识,特征值,命中次数为0,以及,有效时间为初始时间值。

同样的,该原始报文的标准标识可以按照人为设定的规则设定。该原始报文的特征值可以采用hash函数计算hash值。初始时间值可根据经验设定,避免有效时间较快减少为0,从而不利于在需要时,比较两个标准片段的有效时间。

步骤s506:将所有标准片段的有效时间减少第二预设数量。

由于没有任一标准片段与原始报文相同,因此,是将所有标准片段的有效时间均减少。该步骤的原理同步骤s402,在此不再赘述。

步骤s507:在预设时间后,将原始报文的特征值,原始报文的命中次数,原始报文的有效时间,以及,标准片段的减少后的有效时间生效。

该步骤的原理同步骤s403,在此不再赘述。

本发明实施例通过上述的步骤,在原始报文不能划分出与标准片段相同的第一片段时,直接发送原始报文;此外,将原始报文存储为标准片段,并记录该原始报文作为标准片段的相应信息,以便再次接收到该相同的原始报文时,可以用标准片段的标准标识进行替换。

应当理解的是,上述各实施例的方法均是服务器作为发送端时对应的方法,即接收本层的电子设备产生的报文且该报文的接收端是邻层的设备对应的方法。服务器还可以作为接收端,即接收本层的无线设备发送的报文,且该报文是邻层的设备发送的。针对这种情况,如图6所示,本发明实施例的方法包括:

步骤s601:接收报文,并获取接收报文的端口。

该步骤与步骤s101相同,在此不再赘述。

步骤s602:若接收报文的端口为第二端口,则判断报文是否包含重组标识。

由前述可知,第二端口连接无线设备。无线设备接收的报文是邻层的无线设备转发的报文。这个报文可能是原始报文,也可能是重组报文。因此,若接收到报文的端口为第二端口,则需要通过判断报文是否包含重组标识来确定报文是重组报文还是原始报文。

若报文包含重组标识,则进行步骤s603。若报文不包含重组标识,则进行步骤s606。

步骤s603:确定报文为重组报文。

重组报文中包含重组标识,因此,可确定报文为重组报文。

步骤s604:遍历存储的标准片段,根据重组报文包含的标准标识,获取标准标识对应的标准片段。

例如,标准标识为a,其对应的标准片段为abc。

如前所述,服务器包括缓存和硬盘。优选的,在遍历存储的标准片段时,优先遍历缓存存储的标准片段。若缓存中未存储有重组报文中包含的标准标识对应的标准片段,则遍历硬盘存储的标准片段,以便提高查询的速率。

如前所述,服务器可以建立表格,当报文被存储为标准片段时,同时在表格中记录接收的报文的端口。例如,从第一端口接收的,将该标准片段对应的tag值记为0;从第二端口接收的,将该标准片段的tag值记为1。那么,当服务器从第二端口接收到报文时,可先在tag值为1的标准片段中查询是否存储有与报文的第一片段相同的标准片段,若没有,再查询tag值为0的标准片段中查询,以便提高查询的速率。

步骤s605:根据重组报文包含的重组指令,将标准标识对应的标准片段还原到重组报文中,得到原始报文。

如前所述,重组指令用于指示将重组报文还原为原始报文,因此,服务器根据重组指令的指示,进行还原操作。

具体的,如前所述重组报文由第一报文和第二报文组成。服务器根据重组报文的第一报文中包含的每一标准标识后面的至少一个第一片段的重组信息,将标准标识对应的标准片段还原到第二报文中的对应位置,最终得到原始报文。如前所述,该重组信息包含第一片段的起始位置和长度,可使服务器知悉还原的位置。

步骤s606:确定报文为原始报文。

若重组报文中没有包含重组标识,表明该报文不是重组报文,则该报文是原始报文。

步骤s607:将原始报文发送到电子设备。

无论是通过步骤s605得到原始报文,还是通过步骤s606得到原始报文,都通过本步骤将原始报文发送到同层的电子设备,完成报文在本层的传输。收到报文的电子设备,可根据报文的具体内容,进行相应的操作。

本发明实施例通过上述的步骤,当报文是重组报文时,可将报文还原为原始报文,从而使得电子设备可解析原始报文执行相应的操作。

当服务器作为发送端的服务器时,无论是向邻层发送原始报文还是重组报文,通过上述的步骤s401~s403和步骤s504~s507,分别进行了相应的标准片段及相关信息的更新操作。同样的,当服务器作为接收端的服务器,无论是接收了邻层发送的原始报文还是重组报文,也会相应地更新存储的标准片段,以便与发送端的服务器同步。

具体的,获取标准标识对应的标准片段的步骤s604之后,该方法包括如下的步骤:

(1)根据重组报文中包含的每一标准标识的数量,将该标准标识对应的标准片段的命中次数增加该数量,以及有效时间增加该数量。

该步骤的原理与步骤s401相同,在此不再赘述。

(2)将重组报文中未包含的标准标识对应的标准片段的有效时间减少第二预设数量。

该步骤的原理与步骤s402相同,在此不再赘述。

(3)在预设时间后,将重组报文中包含的每一标准标识对应的标准片段的增加后的命中次数和有效时间,以及,重组报文中未包含的标准标识对应的标准片段的减少后的有效时间生效。

该步骤的原理与步骤s403相同,在此不再赘述。

具体的,确定报文为原始报文的步骤s606之后,该方法按照步骤s504~s507进行,以便将邻层发送到本层的原始报文存储为标准片段,并存储相应的其他信息。

此外,无论服务器作为发送端的服务器还是接收端的服务器,为了提高速率,都首先在缓存中查询标准片段,因此,应使缓存中存储的标准片段为最近频繁被命中的标准片段。由于服务器的缓存的标准片段的数量是有限的,当缓存的容量被标准片段存满时,当有新的标准片段需要被存储时,就会替换缓存中被使用较少的标准片段,以使缓存中的标准片段为最近被命中的片段。基于此,优选的,当服务器的缓存已经存满,需要替换缓存中的至少一个标准片段时,该方法还包括如下的步骤:

若服务器的缓存存储的标准片段的数量达到第一预设数量,则按照预设规则,替换缓存存储的标准片段。

其中,预设规则包括:将新的标准片段替换缓存存储的命中次数最少的标准片段;且当缓存存储有至少两个命中次数最少的标准片段时,将新的标准片段替换至少两个命中次数最少的标准片段中的有效时间最长的标准片段。

例如,对于发送端的服务器,当接收到的同层的电子设备发送的原始报文不包含与服务器存储的标准片段相同的第一片段时,需要存储该原始报文;对于接收端的服务器,当接收到同层的无线设备发送的原始报文时,需要存储该原始报文。无论是哪种情况,当对应的服务器的缓存已经存满时,该原始报文可根据上述规则替换缓存中已经存储的标准片段。例如,标准片段abc的命中次数最少,则可将原始报文dbcaefg替换标准片段abc。例如,标准片段abc、def的命中次数均为最少,且标准片段abc的有效时间为5,标准片段def的有效时间为6,则将原始报文dbcaefg替换标准片段def。

应当理解的是,上述的存储替换规则仅仅是针对服务器的缓存。服务器的硬盘存储所有的标准片段,缓存中被替换的标准片段依然存储在硬盘中;同样的,新形成的标准片段也会存储到硬盘中。

本发明实施例通过上述的步骤,可以使得缓存中包含的标准片段为最近被命中的且命中次数较多的标准片段,从而更利于提高近期产生的报文的匹配查询的速率。

此外,无论服务器是作为发送端的服务器还是作为接收端的服务器,由于检修、停电等等情况的发生,服务器可能会被关闭,然后重启。当服务器关闭后,缓存中存储的标准片段会随着服务器关闭而清空。当重启服务器时,可恢复缓存中的标准片段,以便在需要查询时,仍可优先从缓存中查询,以提高速率。因此,如图7所示,该方法可按照如下的步骤恢复缓存中的标准片段:

步骤s701:接收用户的重启操作后,获取服务器的硬盘中存储的标准片段的命中次数和有效时间。

步骤s702:将标准片段按照命中次数从多到少的顺序排序,且将相同命中次数的标准片段按照有效时间从短到长的顺序排序,得到标准片段的序列。

例如,abc的命中次数为5次,有效时间为2;bcd的命中次数为4次,有效时间为7;cde的命中次数为4次,有效时间为5;def的命中次数为3次,有效时间为3;则得到的序列为abc、cde、bcd、def。

步骤s703:在服务器的缓存中,按照标准片段的序列的顺序,恢复第一预设数量的标准片段。

例如,第一预设数量为3,则根据上述的序列的顺序,在缓存中恢复的标准片段为abc、cde、bcd。

本发明实施例通过上述的步骤,当重启服务器时,在服务器中优先恢复最近被命中较频繁的标准片段,从而更利于提高近期产生的报文的匹配查询的速率。

综上,本发明实施例的变电站的通信方法,充分考虑报文所携带的信息与前期已经发送报文信息的相关性大小,获得长度较短的重组报文替代原始报文进行传送,从而充分利用了以往发送的报文进行通信,降低对网络资源的占用,提高传输速率和带宽利用率,减少链路中的重复数据,减小出错的概率,解决了网络中访问数据慢的瓶颈问题。

本发明实施例还公开了一种服务器。服务器的第一端口连接电子设备,服务器的第二端口连接无线设备,且连接的电子设备和无线设备均与服务器位于变电站的同层。

如图8所示,该服务器包括如下的模块:

接收模块801,用于接收报文,并获取接收报文的端口。

第一确定模块802,用于若接收报文的端口为第一端口,则确定报文为原始报文。

截取模块803,用于截取原始报文,得到至少一个第一片段。

其中,至少一个第一片段与存储的至少一个标准片段相同。

第一替换模块804,用于将标准片段的标准标识替换与标准片段相同的第一片段,得到重组报文。

添加模块805,用于在重组报文中添加重组标识和重组指令。

其中,重组标识用于表示重组报文为采用标准标识替换第一片段的报文,重组指令用于指示将重组报文还原为原始报文。

第一发送模块806,用于将重组报文发送到无线设备。

优选的,截取模块803包括:

第一截取子模块,用于从原始报文的起始位置开始,采用预设长度的截取窗截取原始报文,获得原始报文的第二片段。

第一查询子模块,用于遍历标准片段,查询是否存储有与第二片段的特征值相同的标准片段。

第二截取子模块,用于若未存储有与第二片段的特征值相同的标准片段,则将截取窗向后移动预设步长截取下一第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

第一判断子模块,用于若存储有与第二片段的特征值相同的标准片段,则判断与第二片段的特征值相同的标准片段是否与第二片段的内容相同。

第三截取子模块,用于若判断出标准片段与第二片段的内容不同,则将截取窗向后移动预设步长截取下一第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

增加子模块,用于若判断出标准片段与第二片段的内容相同,则将第二片段向后增加一个步长,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤,直到获得与标准片段的特征值和内容均相同且长度最长的第二片段,记为第一片段。

第四截取子模块,用于当获得一个第一片段后,从获得的第一片段的末尾位置后开始,采用预设长度的截取窗截取原始报文,获得原始报文的第二片段,返回进行查询是否存储有与第二片段的特征值相同的标准片段的步骤。

优选的,第一查询子模块包括:

第一查询单元,用于在服务器的缓存中查询是否存储有与第二片段的特征值相同的标准片段。

第二查询单元,用于若服务器的缓存中未存储有与第二片段的特征值相同的标准片段,则在服务器的硬盘中查询是否存储有与第二片段的特征值相同的标准片段。

其中,服务器的硬盘存储所有标准片段,服务器的缓存存储第一预设数量的标准片段。

优选的,替换模块804包括:

第一排序子模块,用于提取所有第一片段,并按照第一片段在原始报文中的顺序排列。

第一替换子模块,用于将第一片段替换为与第一片段相同的标准片段的标准标识。

保留子模块,用于若至少两个第一片段相同,则只保留排序在前的第一片段对应的标准片段的标准标识,得到由标准标识组成的第一报文。

第一添加子模块,用于在每一标准标识后面添加标准标识对应的第一片段的数量,以及,对应的每一第一片段的重组信息。

其中,重组信息包括:每一标准标识对应的每一第一片段的起始位置及长度。

第二排序子模块,用于将原始报文的除第一片段以外的其他片段按照在原始报文中的顺序依次排序,得到第二报文。

设置子模块,用于将第一报文设置在第二报文之前,得到重组报文。

优选的,该服务器还包括:

第一增加模块,用于得到至少一个第一片段的步骤之后,根据相同的第一片段的数量,将与第一片段相同的标准片段的命中次数增加该数量,以及有效时间增加该数量。

第一减少模块,用于将与第一片段不同的标准片段的有效时间减少第二预设数量。

第一生效模块,用于在预设时间后,将与第一片段相同的标准片段的增加后的命中次数和有效时间,以及,与第一片段不同的标准片段的减少后的有效时间生效。

优选的,该服务器还包括:

第二发送模块,用于确定报文为原始报文的步骤之后,若原始报文中不具有与标准片段相同的第一片段,则将原始报文发送到无线设备。

存储模块,用于存储原始报文为标准片段。

记录模块,用于记录原始报文的标准标识,特征值,命中次数为0,以及,有效时间为初始时间值。

第二减少模块,用于将所有标准片段的有效时间减少第二预设数量。

第二生效模块,用于在预设时间后,将原始报文的特征值,原始报文的命中次数,原始报文的有效时间,以及,标准片段的减少后的有效时间生效。

优选的,该服务器还包括:

判断模块,用于获取接收报文的端口的步骤之后,若接收报文的端口为第二端口,则判断报文是否包含重组标识。

第二确定模块,用于若报文包含重组标识,则确定报文为重组报文。

第一获取模块,用于遍历存储的标准片段,根据重组报文包含的标准标识,获取标准标识对应的标准片段。

还原模块,用于根据重组报文包含的重组指令,将标准标识对应的标准片段还原到重组报文中,得到原始报文。

第三确定模块,用于若报文不包含重组标识,则确定报文为原始报文。

第三发送模块,用于将原始报文发送到电子设备。

优选的,该服务器还包括:

第二替换模块,用于若服务器的缓存存储的标准片段的数量达到第一预设数量,则按照预设规则,替换缓存存储的标准片段。

其中,预设规则包括:将新的标准片段替换缓存存储的命中次数最少的标准片段;且当缓存存储有至少两个命中次数最少的标准片段时,将新的标准片段替换至少两个命中次数最少的标准片段中的有效时间最长的标准片段。

优选的,该服务器还包括:

第二获取模块,用于接收用户的重启操作后,获取服务器的硬盘中存储的标准片段的命中次数和有效时间。

排序模块,用于将标准片段按照命中次数从多到少的顺序排序,且将相同命中次数的标准片段按照有效时间从短到长的顺序排序,得到标准片段的序列。

恢复模块,用于在服务器的缓存中,按照标准片段的序列的顺序,恢复第一预设数量的标准片段。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

综上,本发明实施例的服务器,充分考虑报文所携带的信息与前期已经发送报文信息的相关性大小,获得长度较短的重组报文替代原始报文进行传送,从而充分利用了以往发送的报文进行通信,降低对网络资源的占用,提高传输速率和带宽利用率,减少链路中的重复数据,减小出错的概率,解决了网络中访问数据慢的瓶颈问题。

本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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