基于净荷深度检测和会话关联技术的腾讯语音识别方法

文档序号:2837059阅读:576来源:国知局
专利名称:基于净荷深度检测和会话关联技术的腾讯语音识别方法
技术领域
本发明是针对互联网即时通信软件-腾讯QQ进行语音流量识别方法的研究,主要研究如何基于DPI净荷深度检测和会话关联技术来有效识别QQ语音业务,并设计了QQ语音业务的识别模型和算法,涉及IPv4和下一代互联网业务感知以及服务质量监测等的协议分析技术领域。
背景技术
随着互联网技术的发展和普及,人们的通信方式也发生了变革,传统的通信方式逐渐被网络通信所取代。利用通讯软件,不仅可以进行文本聊天,也可以用语音或者视频进行聊天,由于使用方便且资费低廉,越来越多的人通过网络进行远程实时会话。在巨额利益的吸引下大量非法VoIP运营充斥着正规的电信市场,不仅导致合法运营商话务量流失,更打破了原有电信市场的竞争格局,给传统的话音业务带来了巨大的冲击,电信运营商正遭受非法VoIP给其带来的巨大挑战,因此非常有必要将互联网上VoIP业务纳入良性控制的范畴。
作为目前中国最为流行的即时通信软件之一的QQ,虽然目前仅提供PC2PC的通话方式,但由此带来的话务分流也对电信运营商造成了一定的冲击,因此提供话音业务的网络运营商自然而然希望能够良性控制QQ的通话行为。所以,对QQ和QQ语音业务的识别及其良性控制,不仅对电信运营商有重大意义,而且也有助于对其他的即时通讯软件进行监管。
针对QQ和QQ语音业务的识别具备一定的难度,有如下原因第一、QQ的通信协议不公开,且其中部分信令使用了加密算法。
第二、QQ的版本众多,升级比较频繁,而且与多数软件不同的是,它客户端的升级往往伴随着协议相应的改变。
第三、现今大部分对QQ的研究集中在QQ登陆退出过程以及文本聊天交互方式上,鲜有对其语音过程的分析,所以可借鉴之处不多。
第四、腾讯QQ采用端口伪装技术,使用80端口;端口可随机配置;服务器有多个不固定的IP地址,难以做到完全封堵;第五、QQ提供文本、数据、语音、视频等业务,各种业务的会话特征均不相同,因此对服务器IP地址的“野蛮”封堵并不是解决问题的根本办法,这会导致正常的QQ通信无法使用。
由上可见,采用传统的端口过滤、IP地址过滤以及协议分析等业务识别方法很难识别出QQ的语音过程。因此,必须另辟蹊径。
通过对QQ语音及其会话的识别,我们能够解决以下问题(1)对电信运营商来说,能够对QQ语音业务进行统计分析,便于掌控QQ语音呼叫对传统话音业务的影响;(2)能够使得运营商对QQ语音业务实施良性监管,如制定合理的计费政策以保障传统话音业务的利益;(3)从国家信息安全的角度考虑,可对QQ语音实施实时监听,有效防止非法活动通过QQ作为通信媒介。

发明内容
技术问题本发明的目的是建立一种基于净荷深度检测和会话关联技术的腾讯语音识别方法,并设计其识别模型和算法,通过对QQ语音业务的识别,将QQ语音信令流和媒体流从QQ会话流中分拣出来,便于分析通话双方的主被叫IP地址、语音编解码类型、QQ语音服务器地址等详细信息,从而可以更深入的分析QQ语音的通话内容。
技术方案本发明提出了一种有效识别QQ语音业务的技术框架,并且详细设计了识别算法,如附图1所示。从图中可以看出,系统分为四个层面,从下往上依次是数据采集层、协议分析层、流量识别(业务感知)层和QQ语音业务应用层以及表现层。
这里需要区分两个本文定义的术语。QQ会话泛指用户登陆之后的所有QQ交互行为,包括用户登陆、身份认证、文本聊天、语音通话、视频会话、3D游戏、退出等等QQ交互过程。而QQ语音通话特指QQ会话中的语音和视频通信过程。因此,一个QQ号码对应一个QQ会话,QQ语音通话特指一个QQ用户同另一个QQ用户的语音通信过程。
本文的关键方法在流量识别层,该层主要包含两个方法QQ会话识别方法和QQ语音会话关联方法。通过首先识别出QQ会话分组,再进行QQ语音会话关联来确定真正的QQ语音会话。通过测试和数据分析,发现QQ会话具备一定的净荷特征,QQ登录过程或连接请求过程中数据包格式分为头部,内容和尾部三个部分,固定为0×02客户端版本命令序列号QQ号码内容0×03。因此可以根据起始和末尾净荷特征0×02及0×03,通过DPI净荷深度检测机制识别出QQ会话的分组。再根据请求登录令牌,识别出数据包第八至第十一字节为主叫QQ号码,以标识一个QQ会话。如附图2所示。而测试QQ语音通信的交互过程,发现语音连接建立时,也具有起始和末尾净荷0×02/0×03的特征,之后,则采用类似SIP协议的通信交互机制建立语音会话。因此也可以采用净荷深度检测机制和简单的协议分析技术来识别QQ的语音会话。净荷特征匹配串为“SIP/user-agentTencent-VQQ”或“SIP/reason=100”等。如附图3所示。
然而,QQ版本的改动或者协议的改动均会带来QQ净荷特征的变化,因此也必然会使得上述识别方法发生一定的变化。如何能够不改动系统而通过简单的配置就完成对QQ新业务特征的适应是算法的一大挑战。正则表达式正是一个非常好的解决方案,本方法采用正则表达式来表现QQ的会话特征和语音会话的特征。因此当QQ版本发生变化或者特征发生变化,本算法只需要简单的修改正则表达式的特征配置文件即可,无需重新修改代码和方法即做到快速高效的更新。
以下详细介绍该设计的各个层面及其语音会话识别方法。
1.数据采集层功能该层面提供对于不同链路的数据采集或复制技术,如100/1000M FE、ATM、SDH不同速率的采集或复制技术,以保障数据完整、可靠地传送至上一层面一协议分析层。
接口该层面与上一层面的接口为比特流数据,向上层提供各种分组信息。
2.协议分析层功能该层面提供对于TCP/IP数据的协议解析,目的是为了向上层提供足够的IP分组头部和TCP/UDP的头部信息及其必要的分组净荷信息,以满足上一层面流量识别层对业务的识别和感知。
接口该层面的协议分析深度应当分析至TCP/IP协议栈的第四层,即传输层。其向上层提供的接口为流(flow)。流应当由一个五元组来确定,即flow=(源IP,目的IP,源端口,目的端口,协议类型)。此处的协议类型指代TCP或者UDP。如有必要,该流中还可存放部分净荷,捕获的净荷大小可配置。
3.流量识别(业务感知)层功能该层面是整个架构的核心层面,主要根据提供下层即协议分析层提供的IP分组头部和TCP/UDP的头部信息及其净荷信息等特征有效识别出QQ业务,匹配失败的分组则丢弃。
接口向应用层面提供的接口应当是五元组,即(源IP,目的IP,源端口,目的端口,应用详细信息)。
该层主要包含两个方法QQ会话识别方法和QQ语音业务识别和会话关联方法。通过首先识别出QQ会话分组,再进行QQ语音会话关联来确定真正的QQ语音会话。
◆QQ会话识别方法。方法处理过程如下1.)初始化哈希表该哈希表是用于存储腾讯会话标识,即腾讯会话ID,该标识用腾讯号码和其IP地址两元组来表示,一个腾讯号码只能对应于一个IP地址,哈希表中所有的元素初始化为0,即所有腾讯号码对应的IP地址初始化为0;2.)接收所要监测的IP网络的分组;3.)根据腾讯会话净荷特征进行DPI检测,以判断该分组是否为腾讯会话分组,再判断该分组是否为腾讯会话的请求登陆令牌分组;如是,则获取腾讯号码,转步骤4);如匹配失败,丢弃分组,转步骤2);4.)判断该会话是否已经存在于哈希表中,如果是,则丢弃分组,转步骤2);如果不是,转步骤5);5.)保存腾讯会话标识,会话标识是由腾讯号码和该腾讯号码的登录IP地址两元组组成;6)腾讯会话识别成功,结束。
通过净荷深度检测和会话关联方法来识别出腾讯的语音会话,其方法步骤为1.)接收分组该接收过程同腾讯会话过程是同一过程,只是同一分组复制之后用于不同分组特征匹配;
2.)针对接收到的分组根据腾讯语音净荷的类SIP特性进行特征匹配,如匹配成功,则转步骤3);否则,丢弃分组,转步骤1);3.)将腾讯语音会话同腾讯会话进行关联识别由于单单通过腾讯语音净荷的特征分析并无法完全判断该分组就是腾讯语音会话分组,因此必须将该腾讯语音会话分组同已有的腾讯会话进行关联检测,如该腾讯会话存在,则该腾讯语音分组的判断将极大可能是准确的;具体的关联过程即用该语音分组中获取的腾讯主叫号码作为key,到腾讯会话哈希表中查询,如查询出来的元素为一个IP地址,那么证明该腾讯会话是存在,继续比较IP地址,如果相同,则可判定该语音会话是属于该腾讯会话的,转步骤4);如果不相同,则说明该腾讯语音会话不是真正的语音会话,丢弃分组,转步骤1);4.)保存和更新腾讯语音会话信息将腾讯语音会话的主被叫腾讯地址和端口、主被叫腾讯号码、语音编解码类型、呼叫发起时间、呼叫结束时间的信息保存;当有其他该语音会话的分组到来的时候,相应的更新相关信息,形成腾讯语音会话的呼叫详细记录CDR;5)腾讯语音会话识别成功,结束。
4.QQ语音业务应用层以及表现层对于QQ语音业务的识别具有很广泛的意义和应用价值。主要可以应用在◆QQ语音业务流量统计分析;◆QQ语音业务性能分析;◆QQ语音流量控制和呼叫跟踪;◆QQ资费影响因子估算◆QQ语音流量异常检测;◆QQ语音信息安全监控。


图1是QQ会话识别流程图。图中给出了识别QQ会话的各个处理过程。
图2是QQ语音业务识别和会话关联方法流程图。图中给出了QQ语音业务识别和会话关联方法的各个处理过程。
图3是腾讯语音会话识别方法技术框架结构示意图。
具体实施例方式
根据本方法开发出的VoIP检测系统在中国电信广西分公司的10G骨干网上得到了具体的验证。系统采用分光方式将10G流量负载均衡分流至若干台业务识别处理机上,业务识别处理机完成核心算法的实现,从纷繁复杂的分组中提取、分析、识别和关联出QQ的语音会话。
通过在广西电信10G骨干网的实际运行和拨打测试,针对QQ语音业务的识别准确率为100%,很好的体现了算法的实施效果,验证了算法的准确性。
QQ语音监控系统分为分光设备、QQ语音监控设备、核心数据库服务器和应用服务器等实体。10G流量由分光设备分往若干台QQ语音监控服务器设备,每台QQ语音监控服务器设备承载千兆的流量,识别出业务流量之后,将业务信息实时传送至核心数据库,并由应用服务器发布,接入拓扑。
系统接入方式分为两种一种为串联模式,即将QQ语音监控系统串联入骨干网中实施检测和控制;另一种为并联模式,即采用监听的方式完成检测和控制。串联模式会影响整体的网络拓扑,且多多少少会为原有网络带来隐患,因此更推荐对原有网络无任何影响的并联模式接入。
系统的分光设备从10G链路上实时的分光下来之后,将其分为若干路流量指向若干台QQ监控设备,监控设备采用高性能的流量采集技术接收所有的流量,并自动调用QQ语音业务识别引擎对流量进行实时的识别,并根据用户自定义的策略进行控制,如封堵、干扰或者放行等。
基于净荷深度检测和会话关联技术的腾讯语音识别方法的步骤为1.)初始化哈希表该哈希表是用于存储腾讯会话标识,即腾讯会话ID,该标识用腾讯号码和其IP地址两元组来表示,一个腾讯号码只能对应于一个IP地址,哈希表中所有的元素初始化为0,即所有腾讯号码对应的IP地址初始化为0;2.)接收所要监测的IP网络的分组;3.)根据腾讯会话净荷特征进行DPI检测,以判断该分组是否为腾讯会话分组,再判断该分组是否为腾讯会话的请求登陆令牌分组;如是,则获取腾讯号码,转步骤4);如匹配失败,丢弃分组,转步骤2);4.)判断该会话是否已经存在于哈希表中,如果是,则丢弃分组,转步骤2);如果不是,转步骤5);
5.)保存腾讯会话标识,会话标识是由腾讯号码和该腾讯号码的登录IP地址两元组组成;6)腾讯会话识别成功,结束。
通过净荷深度检测和会话关联方法来识别出腾讯的语音会话,其方法步骤为1.)接收分组该接收过程同腾讯会话过程是同一过程,只是同一分组复制之后用于不同分组特征匹配;2.)针对接收到的分组根据腾讯语音净荷的类SIP特性进行特征匹配,如匹配成功,则转步骤3);否则,丢弃分组,转步骤1);3.)将腾讯语音会话同腾讯会话进行关联识别由于单单通过腾讯语音净荷的特征分析并无法完全判断该分组就是腾讯语音会话分组,因此必须将该腾讯语音会话分组同已有的腾讯会话进行关联检测,如该腾讯会话存在,则该腾讯语音分组的判断将极大可能是准确的;具体的关联过程即用该语音分组中获取的腾讯主叫号码作为key,到腾讯会话哈希表中查询,如查询出来的元素为一个IP地址,那么证明该腾讯会话是存在,继续比较IP地址,如果相同,则可判定该语音会话是属于该腾讯会话的,转步骤4);如果不相同,则说明该腾讯语音会话不是真正的语音会话,丢弃分组,转步骤1);4.)保存和更新腾讯语音会话信息将腾讯语音会话的主被叫腾讯地址和端口、主被叫腾讯号码、语音编解码类型、呼叫发起时间、呼叫结束时间的信息保存;当有其他该语音会话的分组到来的时候,相应的更新相关信息,形成腾讯语音会话的呼叫详细记录CDR;5)腾讯语音会话识别成功,结束。
权利要求
1.一种基于净荷深度检测和会话关联技术的腾讯语音识别方法,其特征在于该方法的步骤为1.)初始化哈希表该哈希表是用于存储腾讯会话标识,即腾讯会话ID,该标识用腾讯号码和其IP地址两元组来表示,一个腾讯号码只能对应于一个IP地址,哈希表中所有的元素初始化为0,即所有腾讯号码对应的IP地址初始化为0;2.)接收所要监测的IP网络的分组;3.)根据腾讯会话净荷特征进行DPI检测,以判断该分组是否为腾讯会话分组,再判断该分组是否为腾讯会话的请求登陆令牌分组;如是,则获取腾讯号码,转步骤4);如匹配失败,丢弃分组,转步骤2);4.)判断该会话是否已经存在于哈希表中,如果是,则丢弃分组,转步骤2);如果不是,转步骤5);5.)保存腾讯会话标识,会话标识是由腾讯号码和该腾讯号码的登录IP地址两元组组成;6)腾讯会话识别成功,结束。
2.一种基于净荷深度检测和会话关联技术的腾讯语音会话识别方法,其特征在于通过净荷深度检测和会话关联方法来识别出腾讯的语音会话,其方法步骤为1.)接收分组该接收过程同腾讯会话过程是同一过程,只是同一分组复制之后用于不同分组特征匹配;2.)针对接收到的分组根据腾讯语音净荷的类SIP特性进行特征匹配,如匹配成功,则转步骤3);否则,丢弃分组,转步骤1);3.)将腾讯语音会话同腾讯会话进行关联识别由于单单通过腾讯语音净荷的特征分析并无法完全判断该分组就是腾讯语音会话分组,因此必须将该腾讯语音会话分组同已有的腾讯会话进行关联检测,如该腾讯会话存在,则该腾讯语音分组的判断将极大可能是准确的;具体的关联过程即用该语音分组中获取的腾讯主叫号码作为key,到腾讯会话哈希表中查询,如查询出来的元素为一个IP地址,那么证明该腾讯会话是存在,继续比较IP地址,如果相同,则可判定该语音会话是属于该腾讯会话的,转步骤4);如果不相同,则说明该腾讯语音会话不是真正的语音会话,丢弃分组,转步骤1);4.)保存和更新腾讯语音会话信息将腾讯语音会话的主被叫腾讯地址和端口、主被叫腾讯号码、语音编解码类型、呼叫发起时间、呼叫结束时间的信息保存;当有其他该语音会话的分组到来的时候,相应的更新相关信息,形成腾讯语音会话的呼叫详细记录CDR;5)腾讯语音会话识别成功,结束。
全文摘要
基于净荷深度检测和会话关联技术的腾讯语音会话识别方法由腾讯会话识别方法和腾讯语音会话识别方法组成,首先通过腾讯会话识别方法将腾讯会话识别出来,然后再根据腾讯语音会话的净荷特性识别出所有可能的腾讯语音会话,随后再运用会话关联技术将可能的腾讯语音会话同每一个腾讯会话进行关联分析,从而通过腾讯会话过程和腾讯语音会话过程的双重识别保证了该系统的准确性及识别成功率,该方法具有良好的可扩展性和准确性,且易于与运营商相关的应用接口对接。
文档编号G10L15/00GK101072174SQ20071002102
公开日2007年11月14日 申请日期2007年3月23日 优先权日2007年3月23日
发明者王攀, 金婷, 张顺颐, 陈雪娇 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1