基于自定义标签语言的即时聊天协议要素通用抽取方法技术

技术编号:17304595 阅读:32 留言:0更新日期:2018-02-18 22:47
本发明专利技术公开了一种基于自定义标签语言的即时聊天协议要素通用抽取方法,通过通用平台实现应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段,各阶段如下:应用层数据重组阶段:对应用层数据进行重组,形成完整的数据单元供后续阶段进行分析抽取;消息类型识别阶段:对应用层数据重组阶段重组得到的数据单元进行消息类型识别;协议要素抽取阶段:根据消息类型识别阶段识别出的消息类型,对各协议要素进行抽取;格式化输出阶段:对协议要素抽取阶段抽取到的协议要素进行格式化输出。本发明专利技术大大减少了开发和维护工作量,大大节省了时间,同时也能够降低客户的现场使用的影响。

A universal extraction method for instant chat protocol elements based on custom label language

The invention discloses a universal extraction method of instant messaging protocol elements custom tag based language, realize the application layer data reorganization stage, message type recognition stage, protocol elements extraction stage and format the output stage through the platform, the stage is as follows: the application layer data reorganization stage: the restructuring of the application layer data, forming a complete data unit for the subsequent analysis phase extraction; message type recognition stage: data unit of application layer data reorganization stage reorganization message type recognition; protocol elements extraction stage: according to the message type recognition stage identify the types of messages are extracted from the various protocol elements; formatted output stage: Protocol elements of protocol elements extraction phase extraction the formatted output. The invention greatly reduces the workload of the development and maintenance, saves the time greatly, and can also reduce the impact of the customer's on-site use.

【技术实现步骤摘要】
基于自定义标签语言的即时聊天协议要素通用抽取方法
本专利技术涉及即时聊天协议要素通用抽取方法,特别是基于自定义标签语言的即时聊天协议要素通用抽取方法。
技术介绍
伴随互联网的发展,即时聊天协议越来越多,且更新频率越来越快,这给网络空间安全监控带来巨大的挑战。传统的即时聊天协议要素抽取方法,根据每种即时聊天协议的消息类型及消息格式定制一套包括应用层数据重组、消息类型识别、协议要素抽取和话单输出的代码,这需要大量的开发及维护工作量;每新支持一种即时聊天协议都需要重新编译和启动版本,对客户的现场使用有很大影响;同时各即时聊天协议抽取模块之间也会互相影响对方的稳定性,对整个协议要素抽取平台形成巨大影响。究其原因,主要是因为传统的即时聊天协议要素抽取方法都是根据各协议特点定制整套代码,并没有从宏观出发将协议要素抽取的各个阶段抽象成一个通用处理平台,没有将各阶段规则抽象成一套自定义标签语言,对即时聊天协议要素抽取进行通用处理和平台化管理。
技术实现思路
专利技术目的:本专利技术的目的是提供一种能够解决现有技术中存在的缺陷的基于自定义标签语言的即时聊天协议要素通用抽取方法。技术方案:本专利技术所述的基于自定义标签语言的即时聊天协议要素通用抽取方法,通过通用平台实现应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段,各阶段如下:应用层数据重组阶段:对应用层数据进行重组,形成完整的数据单元供后续阶段进行分析抽取;消息类型识别阶段:对应用层数据重组阶段重组得到的数据单元进行消息类型识别;协议要素抽取阶段:根据消息类型识别阶段识别出的消息类型,对各协议要素进行抽取;格式化输出阶段:对协议要素抽取阶段抽取到的协议要素进行格式化输出。进一步,所述应用层数据重组阶段中,根据重组规则将应用层数据进行重组,所述重组规则包括数据开始规则和数据结束规则。进一步,所述数据开始规则包括关键字类型和协议头类型,其中:关键字类型:以固定位置的关键字作为数据开始部分;协议头类型:以一个协议头作为数据开始部分,该协议头无固定关键字但符合固定模式。进一步,所述数据结束规则包括不拼包类型、长度固定类型、长度由值决定类型、长度由键值对决定类型和关键字类型,其中:不拼包类型:不需要进行拼包;长度固定类型:数据单元的长度固定;长度由值决定类型:数据单元的长度由数据的某个位置的值确定;长度由键值对决定类型:数据单元的长度由数据的某个键值对来确定;关键字类型:数据单元的长度不固定,但以某个关键字作为数据单元的结束。进一步,所述消息类型识别阶段中,根据识别规则进行消息类型识别。进一步,所述识别规则包括固定值类型、关键字类型和状态机类型,其中:固定值类型:消息类型为某字节开始的固定值;关键字类型:消息类型为字符串类型的关键字;状态机类型:消息类型识别依赖于状态机的切换。进一步,所述协议要素抽取阶段中,根据消息类型识别阶段识别出的消息类型选择对应的抽取规则,对各协议要素进行抽取。进一步,所述抽取规则包括位置偏移类型、关键字类型、偏移结合关键字类型和依赖类型,其中:位置偏移类型:抽取的内容基于位置偏移;关键字类型:抽取的内容基于关键字;偏移结合关键字类型:抽取时,开始部分由关键字确定,结束部分由所述关键字向后偏移部分位置;依赖类型:依赖于其他抽取规则中抽取的要素。进一步,所述格式化输出阶段中,根据输出规则将抽取出来的协议要素进行格式化输出。进一步,所述输出规则包括条件具备类型和hash提取类型,其中:条件具备类型:确定是否已经具备输出条件;hash提取类型:将需要从hash表中提取出来的字段进行提取。有益效果:本专利技术公开了一种基于自定义标签语言的即时聊天协议要素通用抽取方法,与现有技术相比,具有如下的有益效果:(1)本专利技术使用自定义的标签语言描述即时聊天协议要素抽取各阶段的规则,需要新支持一个协议或者更新协议时,只需要修改配置文件,大大减少了开发和维护工作量;版本升级时,只需要替换修改的配置文件,无需重新编译和启动版本,能够大大节省时间,同时也能够降低客户的现场使用的影响;(2)本专利技术使用即时聊天协议要素的通用抽取平台,解耦了各协议的影响,一个协议的稳定性不会对其他协议的处理产生影响。附图说明图1为本专利技术具体实施方式中方法的示意图。具体实施方式本具体实施方式公开了基于自定义标签语言的即时聊天协议要素通用抽取方法,通过通用平台实现应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段,各阶段如下:应用层数据重组阶段:对应用层数据进行重组,形成完整的数据单元供后续阶段进行分析抽取;消息类型识别阶段:对应用层数据重组阶段重组得到的数据单元进行消息类型识别;协议要素抽取阶段:根据消息类型识别阶段识别出的消息类型,对各协议要素进行抽取;格式化输出阶段:对协议要素抽取阶段抽取到的协议要素进行格式化输出。应用层数据重组阶段中,根据重组规则将应用层数据进行重组,所述重组规则包括数据开始规则和数据结束规则。数据开始规则包括关键字类型和协议头类型,其中:关键字类型:以固定位置的关键字作为数据开始部分;协议头类型:以一个协议头作为数据开始部分,该协议头无固定关键字但符合固定模式。数据结束规则包括不拼包类型、长度固定类型、长度由值决定类型、长度由键值对决定类型和关键字类型,其中:不拼包类型:不需要进行拼包;长度固定类型:数据单元的长度固定;长度由值决定类型:数据单元的长度由数据的某个位置的值确定;长度由键值对决定类型:数据单元的长度由数据的某个键值对来确定;关键字类型:数据单元的长度不固定,但以某个关键字作为数据单元的结束。消息类型识别阶段中,根据识别规则进行消息类型识别。识别规则包括固定值类型、关键字类型和状态机类型,其中:固定值类型:消息类型为某字节开始的固定值;关键字类型:消息类型为字符串类型的关键字;状态机类型:消息类型识别依赖于状态机的切换。协议要素抽取阶段中,根据消息类型识别阶段识别出的消息类型选择对应的抽取规则,对各协议要素进行抽取。抽取规则包括位置偏移类型、关键字类型、偏移结合关键字类型和依赖类型,其中:位置偏移类型:抽取的内容基于位置偏移;关键字类型:抽取的内容基于关键字;偏移结合关键字类型:抽取时,开始部分由关键字确定,结束部分由所述关键字向后偏移部分位置;依赖类型:依赖于其他抽取规则中抽取的要素。例如ICQ-FTP传输文件时,文件名的编码由之前的某个要素提取出来,这样当前文件名就具有依赖性。格式化输出阶段中,根据输出规则将抽取出来的协议要素进行格式化输出。输出规则包括条件具备类型和hash提取类型,其中:条件具备类型:确定是否已经具备输出条件;hash提取类型:将需要从hash表中提取出来的字段进行提取。下面通过一个实施例,来对本具体实施方式进行进一步的介绍。实施例1:当前系统有一个需求,为了支持即时聊天协议YahooIM的内容还原,需要对YahooIM协议要素进行抽取。使用本方法只需要对YahooIM协议的重组规则、识别规则、抽取规则和输出规则进行配置,经过通用抽取平台的应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段的处理即可得到由关心的协议要素组成的话单。各个阶段的配置如下:1、应用层数据重组阶段:根据重组规则对应本文档来自技高网...
基于自定义标签语言的即时聊天协议要素通用抽取方法

【技术保护点】
基于自定义标签语言的即时聊天协议要素通用抽取方法,其特征在于:通过通用平台实现应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段,各阶段如下:应用层数据重组阶段:对应用层数据进行重组,形成完整的数据单元供后续阶段进行分析抽取;消息类型识别阶段:对应用层数据重组阶段重组得到的数据单元进行消息类型识别;协议要素抽取阶段:根据消息类型识别阶段识别出的消息类型,对各协议要素进行抽取;格式化输出阶段:对协议要素抽取阶段抽取到的协议要素进行格式化输出。

【技术特征摘要】
1.基于自定义标签语言的即时聊天协议要素通用抽取方法,其特征在于:通过通用平台实现应用层数据重组阶段、消息类型识别阶段、协议要素抽取阶段和格式化输出阶段,各阶段如下:应用层数据重组阶段:对应用层数据进行重组,形成完整的数据单元供后续阶段进行分析抽取;消息类型识别阶段:对应用层数据重组阶段重组得到的数据单元进行消息类型识别;协议要素抽取阶段:根据消息类型识别阶段识别出的消息类型,对各协议要素进行抽取;格式化输出阶段:对协议要素抽取阶段抽取到的协议要素进行格式化输出。2.根据权利要求1所述的基于自定义标签语言的即时聊天协议要素通用抽取方法,其特征在于:所述应用层数据重组阶段中,根据重组规则将应用层数据进行重组,所述重组规则包括数据开始规则和数据结束规则。3.根据权利要求2所述的基于自定义标签语言的即时聊天协议要素通用抽取方法,其特征在于:所述数据开始规则包括关键字类型和协议头类型,其中:关键字类型:以固定位置的关键字作为数据开始部分;协议头类型:以一个协议头作为数据开始部分,该协议头无固定关键字但符合固定模式。4.根据权利要求2所述的基于自定义标签语言的即时聊天协议要素通用抽取方法,其特征在于:所述数据结束规则包括不拼包类型、长度固定类型、长度由值决定类型、长度由键值对决定类型和关键字类型,其中:不拼包类型:不需要进行拼包;长度固定类型:数据单元的长度固定;长度由值决定类型:数据单元的长度由数据的某个位置的值确定;长度由键值对决定类型:数据单元的长度由数据的某个键值对来确定;关键字类型:数据单元的长度不固定,但以某个关键字作为数据单元的结束。5...

【专利技术属性】
技术研发人员:王丽雪王恒亮
申请(专利权)人:南京茂毓通软件科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1