一种数据分流的方法及接入设备与流程

文档序号:12376427阅读:249来源:国知局
一种数据分流的方法及接入设备与流程
本发明涉及通信领域,特别是涉及一种数据分流的方法及接入设备。
背景技术
:信令是通信网络中用来做控制的数据。信令数据分析是运营商进行网络分析、业务分析常用的办法。电信运营商通常将信令汇聚后统一交给信令分析系统统一处理。当一台信令分析设备无法处理全部信令数据时,便需要将汇聚后的信令数据分成多组交给多台设备进行处理,即需要对信令数据进行分流。信令数据通常可以认为是一个一个独立的过程,或请求应答事务,对信令数据进行分析还原和关联的必要条件是一个过程中的多次交互数据或者一个请求应答事务中的数据需要在同一个处理设备上。为了保证数据能正确被处理,分流的一个基本原则是需要把同一个处理事务(即连续针对某个目的交互的多条数据)分配到同一个设备上,否则存在信令关联和合成的问题。现有的分流技术主要针对IP数据包的五元组(源地址、目的地址、源端口、目的端口、协议号)进行分流,通常利用源地址和目的地址进行哈希,使得同一条数据流(即两个设备之间连续交互的且相关的数据)能分流后在同一台设备上处理,即实现同源同宿。但是这种同源同宿的方式并不适用于信令数据的分流,一方面,信令数据基于信令点码路由,而不是基于IP地址路由,如果基于IP地址分流,可能会将同一条信令流数据分配到不同处理设备上。另一方面,IP化的信令数据通常用SCTP传输层协议传送(不同于传统UDP或TCP),SCTP的一个特点是多宿(即一个主机有多个IP地址),这样可 能部分数据通过一个IP地址发送,而另一部分数据通过另一个IP地址发送。这样的机制传统基于IP地址同源同宿的策略同样不适合。还有,通信网络部分设备采取池的方式,设备池之间是等价的,收到请求的可能是一个设备(IP1),发送应答的可能是另一个设备(IP2)。因此,现有的分流方法,无法确保信令数据分流后事务的完整性,从而导致信令关联和合成出现问题。技术实现要素:本发明主要解决的技术问题是提供一种数据分流的方法及接入设备,能够对信令数据的分流,并且能确保分流后的信令数据保持事务完整性。为解决上述技术问题,本发明采用的一个技术方案是:提供一种数据分流方法,所述方法包括:对入口数据进行预处理,提取用于分流的至少一个信息元组;对所述至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的所述信息元组的哈希值相同,所述同一等价信息组为按照预定规则划分的信息组;对所述第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值,以根据所述组合哈希值将所述入口数据均匀的分到出端口输出。其中,所述入口数据未具有多宿特征的数据。其中,所述入口数据为信令数据或IP数据包。其中,当所述入口数据为信令数据时,所述用于分流的至少一个信息元组为信令点码,所述信令点码包括源点码和目标点码的至少一种。其中,当所述入口数据为IP数据包时,所述用于分流的至少一个信息元组为IP数据五元组中的至少一种,所述IP数据五元组包括源IP地址、目的IP地址、源端口、目的端口、协议号。其中,所述根据所述组合哈希值将所述入口数据均匀的分到出端口输出包括:将所述组合哈希值对所述出端口数量取模;根据所述取模结果选择相应的出端口将所述入口数据输出。为解决上述技术问题,本发明采用的另一个技术方案是:提供一种 接入设备,所述接入设备包括预处理模块、第一变换模块、第二变换模块以及输出模块,其中:所述预处理模块用于对入口数据进行预处理,提取用于分流的至少一个信息元组;所述第一变换模块用于对所述至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的所述信息元组的哈希值相同,所述同一等价信息组为按照预定规则划分的信息组;所述第二变换模块用于对所述第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值;所述输出模块用于根据所述组合哈希值将所述入口数据均匀的分到出端口输出。其中,所述入口数据未具有多宿特征的数据。其中,所述入口数据为信令数据或IP数据包。其中,当所述入口数据为信令数据时,所述用于分流的至少一个信息元组为信令点码,所述信令点码包括源点码和目标点码的至少一种。其中,当所述入口数据为IP数据包时,所述用于分流的至少一个信息元组为IP地址,所述IP地址包括源IP地址和目的IP地址的至少一种。其中,所述输出模块用于将所述组合哈希值对所述出端口数量取模,根据所述取模结果选择相应的出端口将所述入口数据输出。本发明的有益效果是:区别于现有技术的情况,本发明根据入口数据特征,提取用于分流的至少一个信息元组,对至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的信息元组的哈希值相同;对第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值,以根据组合哈希值将入口数据均匀的分到出端口输出。通过这样的方式,能够实现对信令数据分流,并且能确保分流后的信令数据保持事务完整性。附图说明图1是本发明实施例提供的数据分流的方法流程图;图2是本发明实施例提供的接入设备的结构示意图。具体实施方式请参阅图1,图1是本发明实施例提供的一种数据分流的方法流程图,如图所示,本实施例的数据分流的方法包括:S101:对入口数据进行预处理,提取用于分流的至少一个信息元组。本发明实施例中的入口数据,可以是具有多宿特征的数据。比如信令数据。这种多宿特征在IP化的信令数据上表现为同一实体具有多个等价IP地址,同时也体现在信令点具有多个点码上。除信令外,有的IP数据包也会具有多宿特征,比如一个主机对应多个IP地址的情况。本发明实施例中以信令数据和具有多宿特征的IP数据包作为入口数据进行举例说明。但是,需要明确的是,这仅仅是本发明的具体实施例,并不用以限制本发明的保护范围,本领域技术人员在不付出创造性劳动的情况下,将本发明的分流方法用于其他具有类似特征的数据分流,也属于本发明的保护范围。接入设备接收入口数据,对入口数据进行预处理。本发明实施例所提到的预处理,是根据入口数据的特征,从入口数据中提取用于分流的信息元组。这里的用于信息元组可以是一个,也可以是多个。比如如果入口数据为信令数据,那么用于分流的信息元组可以是信令点码(包括源点码和目标点码)。而如果入口数据为IP数据包,用于分流的信息元组可以是IP数据五元组中的至少一种,IP数据五元组包括源IP地址、目的IP地址、源端口、目的端口、协议号。S102:对至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的信息元组的哈希值相同,同一等价信息组为按照预定规则划分的信息组。对提取得到的至少一个信息元组进行第一次哈希变换,以使得属于同一等价信息组的信息元组的哈希值相同。本发明实施例所提到的等价信息组是指按照预定规则划分的信息组,目的是确保将同一处理事务产生的多条数据经分流后通过同一端口输出。预定规则是预先配置的规则。具体而言,比如信令数据具有多宿特征,这种多宿特征在IP化的信令数据上表现为同一实体具有多个等价IP地址,同时也体现在信令点具有多个点码上。我们将这种具有类似多 宿特征的信息定义为等价信息组。在设定预定规则时,比如可以设置属于同一主机的多个IP地址为等价信息组,或者是设置同一设备具有的多个点码为一等价信息组。哈希变换就是通过预先配置的哈希算法(也可以叫做散列算法)对提取得到的信息元组进行计算得到哈希值。通过哈希算法,不同的输入可能会散列成相同的输出。其中,哈希算法可以根据入口数据的用于分流的数据元组的特征不同而进行不同的配置。比如哈希算法可以是IP地址或点码值*113%62718。本发明实施例中,经过第一次哈希变换后,属于同一等价信息组的信息元组的哈希值相同。例如,将信息A,B,C编组为“等价信息组1”,并将信息组中的信息的哈希值设置为同一值,信息D,E编组为“等价信息组2”,信息F编组为“等价信息组3”。也就是说,经第一次哈希变换后,会建立“等价信息组”的表,并任意选取一个其中一个信息的哈希值作为哈希值。下表1是等价信息组表的一个示例,如下:表1:等价信息表以及哈希结果信息值等价信息组哈希值A组1Hash1B组1Hash1C组1Hash1D组2Hash2E组2Hash2F组3Hash3若用于分流的信息元组为二元组,如<源地址、目的地址>或<源信令点码、目的信令点码>,则分别对二元组做哈希并求和。则上述第一次哈希变换的整个hash过程可以定义为F(入数据)=F(<信息元组>)=F(I1,I2,I3...,In)=F(f(I1),f2(I2),f3(I3),...,f(In))其中F(入数据)为入数据的哈希函数,通过预处理,可以转换为对信息元组的哈希函数,而信息元组的哈希函数可以转换为对每个元素的哈希值的哈希函数,即F(f(I1),f2(I2),f3(I3),...,f(In))。其中f(I)为对信息值的哈希函数,f(I)的值需要满足等价信息组同哈希值的原则。对于无等价信息组的信息元组,可以不设置哈希函数,即不做第一次哈希变换。这种情况即针对不存在类似同源多宿特征的数据分流,则不需要做第一次哈希变换,直接进行第二次哈希变换,就可以实现数据分流。比如对传统IP数据的同源同宿分流。S103:对第一次哈希变换后的信息元组,进行第二次哈希变换,得到组合哈希值,以根据组合哈希值将入口数据均匀的分到出端口输出。为将入口数据均匀分到不同的出端口输出,对进行第一次哈希变换后的信息元组,进行第二次哈希变换,以得到组合哈希值。这里的哈希变换所采用的哈希算法,可以根据输入信息元组的元素个数和特征进行不同的配置,系统可以配置不同的常用哈希算法,配置每种哈希算法输入参数数目,例如一元组、二元组、三元组、五元组等。在进行第二次哈希变换得到组合哈希值后,可以通过组合哈希值与出端口数量取模的取模结果选择合适的出端口将数据输出。取模是指两个数整除后取余数。比如假设第二次哈希变换后得到的组合哈希值是11,出端口数量为10,那么取模结果为1,则选择出端口1将数据输出。当然,这只是本发明实施例的一种举例,具体应用中,也可以通过别的方式选择出端口。比如通过特征指定的方式,如等价信息组1从1端口出,等价信息组2从2端口出,信息3从3端口出。上述本发明实施例提供的数据分流方法,可以适用于IP化的信令数据(即具有多宿特征的数据)及具有类似特征的其他数据的分流,能够有效区分属于同一处理事务的数据,确保分流后的事物完整性。当然,本发明实施例提供的上述数据分流方法,也同样可以适用于传统的IP数据包分流。例如除了能对传统IP数据包同源同宿分流外,还可以对其中部分目的地址进行编组(即上述的等价信息组),确保同一源地址到目的地址组中的不同地址之间的流量,或同一原地址组中的多个不同地址到同一目的地址组中的多个不同地址之间的流量能分流到同一出端口。上述本发明实施例提供的数据分流方法,根据入口数据特征,提取 用于分流的至少一个信息元组,对至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的信息元组的哈希值相同,对第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值,以根据组合哈希值将入口数据均匀的分到出端口输出。通过这样的方式,能够实现对信令数据分流,并且能确保分流后的信令数据保持事务完整性。请参阅图2,图2是本发明实施例提供的一种接入设备的结构示意图,本实施例提供的接入设备用于执行上述图1所示实施例的数据分流的方法,如图所示,本实施例的接入设备100包括预处理模块11、第一变换模块12、第二变换模块13以及输出模块14,其中:预处理模块11用于对入口数据进行预处理,提取用于分流的至少一个信息元组。本发明实施例中的入口数据,可以是具有多宿特征的数据。比如信令数据。这种多宿特征在IP化的信令数据上表现为同一实体具有多个等价IP地址,同时也体现在信令点具有多个点码上。除信令外,有的IP数据包也会具有多宿特征,比如一个主机对应多个IP地址的情况。本发明实施例中以信令数据和具有多宿特征的IP数据包作为入口数据进行举例说明。但是,需要明确的是,这仅仅是本发明的具体实施例,并不用以限制本发明的保护范围,本领域技术人员在不付出创造性劳动的情况下,将本发明的分流方法用于其他具有类似特征的数据分流,也属于本发明的保护范围。预处理模块11接收入口数据,对入口数据进行预处理。本发明实施例所提到的预处理,是根据入口数据的特征,从入口数据中提取用于分流的信息元组。这里的用于信息元组可以是一个,也可以是多个。比如如果入口数据为信令数据,那么用于分流的信息元组可以是信令点码(包括源点码和目标点码)。而如果入口数据为IP数据包,用于分流的信息元组可以是IP数据五元组中的至少一种,所述IP数据五元组包括源IP地址、目的IP地址、源端口、目的端口、协议号。第一变换模块12用于对至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的信息元组的哈希值相同,同一等价信息组为 按照预定规则划分的信息组。第一变换模块12对提取得到的至少一个信息元组进行第一次哈希变换,以使得属于同一等价信息组的信息元组的哈希值相同。本发明实施例所提到的等价信息组是指按照预定规则划分的信息组,目的是确保将同一处理事务产生的多条数据经分流后通过同一端口输出。预定规则是预先配置的规则。具体而言,比如信令数据具有多宿特征,这种多宿特征在IP化的信令数据上表现为同一实体具有多个等价IP地址,同时也体现在信令点具有多个点码上。我们将这种具有类似多宿特征的信息定义为等价信息组。在设定预定规则时,比如可以设置属于同一主机的多个IP地址为等价信息组,或者是设置同一设备具有的多个点码为一等价信息组。哈希变换就是通过预先配置的哈希算法(也可以叫做散列算法)对提取得到的信息元组进行计算得到哈希值。通过哈希算法,不同的输入可能会散列成相同的输出。其中,哈希算法可以根据入口数据的用于分流的数据元组的特征不同而进行不同的配置。比如哈希算法可以是IP地址或点码值*113%6271。本发明实施例中,经过第一次哈希变换后,属于同一等价信息组的信息元组的哈希值相同。例如,将信息A,B,C编组为“等价信息组1”,并将信息组中的信息的哈希值设置为同一值,信息D,E编组为“等价信息组2”,信息F编组为“等价信息组3”。也就是说,经第一次哈希变换后,会建立“等价信息组”的表,并任意选取一个其中一个信息的哈希值作为哈希值。若用于分流的信息元组为二元组,如<源地址、目的地址>或<源信令点码、目的信令点码>,则分别对二元组做哈希并求和。则上述第一次哈希变换的整个hash过程可以定义为F(入数据)=F(<信息元组>)=F(I1,I2,I3...,In)=F(f(I1),f2(I2),f3(I3),...,f(In))其中F(入数据)为入数据的哈希函数,通过预处理,可以转换为对信息元组的哈希函数,而信息元组的哈希函数可以转换为对每个元素的哈希值的哈希函数,即F(f(I1),f2(I2),f3(I3),...,f(In))。其中f(I)为对信息值 的哈希函数,f(I)的值需要满足等价信息组同哈希值的原则。对于无等价信息组的信息元组,可以不设置哈希函数,即不做第一次哈希变换。这种情况即针对不存在类似同源多宿特征的数据分流,则不需要做第一次哈希变换,直接进行第二次哈希变换,就可以实现数据分流。比如对传统IP数据的同源同宿分流。第二变换模块13用于对第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值。为将入口数据均匀分到不同的出端口输出,第二变换模块13对进行第一次哈希变换后的信息元组,进行第二次哈希变换,以得到组合哈希值。这里的哈希变换所采用的哈希算法,可以根据输入信息元组的元素个数和特征进行不同的配置,系统可以配置不同的常用哈希算法,配置每种哈希算法输入参数数目,例如一元组、二元组、三元组、五元组等。输出模块14用于根据组合哈希值将入口数据均匀的分到出端口输出。在进行第二次哈希变换得到组合哈希值后,可以通过组合哈希值与出端口数量取模的取模结果选择合适的出端口将数据输出。取模是指两个数整除后取余数。比如假设第二次哈希变换后得到的组合哈希值是11,出端口数量为10,那么取模结果为1,则选择出端口1将数据输出。当然,这只是本发明实施例的一种举例,具体应用中,也可以通过别的方式选择出端口。比如通过规则指定的方式。上述本发明实施例提供的数据分流方法及接入设备的详细说明,可以理解,本发明通过根据入口数据特征,提取用于分流的至少一个信息元组,对至少一个信息元组进行第一次哈希变换,使得属于同一等价信息组的信息元组的哈希值相同,对第一次哈希变换后的信息元组进行第二次哈希变换,得到组合哈希值,以根据组合哈希值将入口数据均匀的分到出端口输出。通过这样的方式,能够实现对信令数据分流,并且能确保分流后的信令数据保持事务完整性。同时,本发明的方法除可以适用于IP化的信令数据(即具有同源多宿特征的数据)及具有类似特征的其他数据的分流,能够有效区分属于同一处理事务的数据,确保分流后的事物完整性。还可以适用于传统的IP数据包分流。例如除了能对传统IP数据包同源同宿分流外,还可以对其中部分目的地址进行编组(即上述的等价信息组),确保同一源地址到目的地址组中的不同地址之间的流量能分流到同一出端口。在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质 包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1