CN111064727B - 一种帧格式流式信号数据高性能软件解析方法 - Google Patents
一种帧格式流式信号数据高性能软件解析方法 Download PDFInfo
- Publication number
- CN111064727B CN111064727B CN201911313663.8A CN201911313663A CN111064727B CN 111064727 B CN111064727 B CN 111064727B CN 201911313663 A CN201911313663 A CN 201911313663A CN 111064727 B CN111064727 B CN 111064727B
- Authority
- CN
- China
- Prior art keywords
- fragment
- data
- frame
- memory block
- signal data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种帧格式流式信号数据高性能软件解析方法,属于通信技术领域,首先对流式信号数据进行管理,实现数据写入和读取的并行异步化;再对管理后的流式信号数据进行预切片处理,得到若干分片;接着对各个分片进行再定界,使每个分片具有完整数据帧;再并行化对每一具有完整数据帧的分片进行帧格式解析;最后将解析后的分片按照顺序进行输出;本发明在性能上能达到与硬件设备同等性能的实时线速处理,同时可基于实现对多种协议支持的适用性、协议更新换代升级灵活性、根据实际信号流量进行服务器能力的动态调整的经济性等诸多优势。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种帧格式流式信号数据高性能软件解析方法。
背景技术
目前通信信号领域里面的协议类型有很多种,比如POS/GFP/ATM/WAN等,不同的协议类型有不同的协议规范,将要传输的数据封装成在协议规范的帧格式内。
帧格式流式信号数据解析处理时,不同帧格式类型数据在传输过程中采用了不同的多项式加扰技术,数据解析的时候除了需要进行不同的多项式解扰,还需要对帧格式中比较耗处理性能的比特级的数据操作。所以对于大带宽通信流式数据解析,业界现有技术方案采用硬件设备解决。
发明内容
本发明的目的在于:本发明提供了一种帧格式流式信号数据高性能软件解析方法,解决了目前采用硬件设备实现大带宽通信流式数据解析,而无法采用软件方法进行解析的技术问题。
本发明采用的技术方案如下:
一种帧格式流式信号数据高性能软件解析方法,包括以下步骤:
步骤1:对流式信号数据进行管理,实现数据写入和读取的并行异步化;
步骤2:对管理后的流式信号数据进行预切片处理,得到若干分片;
步骤3:对各个分片进行再定界,使每个分片具有完整数据帧;
步骤4:并行化对每一具有完整数据帧的分片进行帧格式解析;
步骤5:将解析后的分片按照顺序进行输出。
进一步的,所述步骤1中的管理具体为:采用读写内存块缓存机制,数据写进写内存块,在读内存块中进行解析处理,当写内存块写满或者读内存块解析完成后,交换读内存块和写内存块继续进行读写操作。
进一步的,所述步骤2中预切片处理为可配步进预切片处理。
进一步的,所述步骤3中,再定界包括以下步骤:
步骤3.1查询驱动表,获取流式信号数据类型对应的解扰多项式算法和实际帧定界处理算法函数;
步骤3.2对分片的尾端数据利用多项式算法进行解扰;
步骤3.3对解扰后的分片,利用实际帧定界处理算法函数进行定界,得到分片间的实际帧定界;
步骤3.4将最后一个分片的非完整帧数据拷贝至写内存块顶部预留区,作为下一次内存块切片使用。
进一步的,所述步骤4中,每个分片由一个解析对象处理,所述帧格式解析包括完整多项式解扰和帧内容解析。
进一步的,解扰时先将上一分片尾端数据预置到当前分片解扰多项式D触发器中再进行解扰。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明的预切片和帧定界实际切片方法,可针对所有帧类型的流式数据,不仅适用通信领域的数据负载均分,同样对其它具有帧格式数据领域也适用。该技术应用不限定软件领域实现,同样也适用硬件实现,适应性较强。同时基于这种切片技术,每切片里面有完整的数据帧,解析处理相对简单。
本发明的多项式解扰预置方法,可以保证切片之间连续性处理,可以适用不同协议类型的不同多项式解扰,可以保证整体技术方案适配不同多项式解扰的不同协议类型处理,具有较好的通用性。
相对于定制硬件实现,一种硬件装备只能解决一种类型的协议帧处理,成本较高也不够灵活。本发明在性能上能达到与硬件设备同等性能的实时线速处理,同时可基于实现对多种协议支持的适用性、协议更新换代升级灵活性、根据实际信号流量进行服务器能力的动态调整的经济性等诸多优势。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的整体流程图;
图2为本发明的数据流示意图;
图3为本发明中内存块预切片示意图;
图4为本发明中预切片到帧定界实际分片示意图;
图5为本发明中多项式解扰示意图;
图6为本发明中解扰数据帧定界处理示意图;
图7为本发明中并行解析及排序输出。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
实施例
一种帧格式流式信号数据高性能软件解析方法,如图1-2所示,为本发明的主要流程图和数据流示意图,具体包括以下步骤:
步骤1:对流式信号数据进行管理,实现数据写入和读取的并行异步化;采用读写内存块缓存机制,数据写进写内存块,在读内存块中进行解析处理,当写内存块写满或者读内存块解析完成后,交换读内存块和写内存块继续进行读写操作。
其中,读内存块和写内存块均为逻辑定义,为相对概念,当该内存块的功能为输入数据时,该内存块定义为写内存块,当该内存块的功能为数据解析时,为读内存块。当写内存块写满之后,会进行数据的解析操作,此时该写内存块即为读内存块;相应的,当读内存块中数据解析完毕后,该读内存块重新用于写入数据,变为写内存块。
步骤2:对管理后的流式信号数据进行预切片处理,得到若干分片;
如图3所示,对内存块数据基于设定步进(STEP)进行预切片,切分N个分片(SLICE)。通过设定步进,保证N个SLICE负载基本均衡,方便并行处理。由于SLICE内部为串行解析,因此步进可以等同一个线程的最大处理能力。
预切片处理为可配步进预切片处理,除了负载均衡,另外考虑软件具体运行环境,在性能调优的时候,可以基于步进及切片数目进行调优,增加灵活性。
预切片主要目的是让各个切片完全负载均衡,方便后续并发处理比较平衡。按照固定步进切片,不可避免会将完整帧会切开,为避免切片之间维护不是完整帧信息的解析,后面再采用基于帧定界进行实际定界,如图4所示。
步骤3:对各个分片进行再定界,使每个分片具有完整数据帧;
其中,再定界包括以下步骤:
通信里面协议类型有很多种,不同的协议类型多项式解扰不一样,同时协议的帧类型格式也不一样。为了兼容多种协议类型,需采用可动态适配协议帧工厂模式类设计,以便支持多种协议通用化处理。
这里列举一种采用多协议驱动表配置模式实现方式,支持添加多种协议类型。多协议驱动表配置模式大致如下:
里面有三个关键字段信息,第一个字段为协议类型,第二个字段为协议对应多项式解扰处理算法,第三个字段为实际帧定界处理算法。
步骤3.1查询驱动表,获取流式信号数据类型对应的解扰多项式算法和实际帧定界处理算法函数;
步骤3.2对分片的尾端数据利用多项式算法进行解扰;
根据多项式解扰分析,如果需要当前输入比特解扰有效,则需要将前面数据预取实际多项式解扰寄存器对应数目的比特对应预置到多项式D触发器里面才开始真正解扰。例如,协议采用X58+X39+1解扰多项式(如图5所示),需要取上一预切片末尾58个比特,按照D触发器先后顺序预置到每个D触发器里面,使得当前分片数据解扰立即生效,保证各分片解析数据连续性。
步骤3.3对预解扰后的分片,利用实际帧定界处理算法函数进行定界,得到分片间的实际帧定界;
对解扰的数据,调用实际帧定界函数进行定界,确认具体的帧定界位置,这个位置就是上一个SLICE的结束位置,也是下一个SLICE的开始位置。如果码流异常,下一个预切片的SLICE可能没有找到,就继续找下一个SLICE。极限错误情况,如果都没有找到,丢弃后面数据。
依次循环上面步骤,可以完成整个内存块里面实际SLICE的划分,如图6所示。
步骤3.4将最后一个分片的非完整帧数据拷贝至写内存块顶部预留区,作为下一次内存块切片使用。
步骤4:并行化对每一具有完整数据帧的分片进行帧格式解析;
每个SLICE启动对应解析对象处理,N个SLICE对应N个对象并行解析,不同对象分配各自线程资源处理。
其中解析实际包括多项式解扰和帧内容解析,每个SLICE开始进行解扰前同样需要将上一个SLICE末尾相应比特预置到多项式触发器里面再开始进行解扰,基于解扰的数据再进行帧内容解析。
步骤5:将解析后的分片按照顺序进行输出。
虽然按照N个SLCIE 预切分处理,但可能帧数目及大小有差异,线程调度对象有差异。每个SLICE 解析完成的时间有先后,为保证解析数据流式输出,需要对N个SLICE的解析按照SLICE 先后排序输出,如图7所示,对多个分片并行解析且排序调度,达到并发处理及流式解析结果输出。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种帧格式流式信号数据高性能软件解析方法,其特征在于:包括以下步骤:
步骤1:对流式信号数据进行管理,实现数据写入和读取的并行异步化;
步骤2:对管理后的流式信号数据进行预切片处理,得到若干分片;
步骤3:对各个分片进行再定界,使每个分片具有完整数据帧,
所述再定界包括以下步骤:
步骤3.1查询驱动表,获取流式信号数据类型对应的解扰多项式算法和实际帧定界处理算法函数;
步骤3.2对分片的尾端数据利用多项式算法进行解扰;
步骤3.3对解扰后的分片,利用实际帧定界处理算法函数进行定界,得到分片间的实际帧定界;
步骤3.4将最后一个分片的非完整帧数据拷贝至写内存块顶部预留区,作为下一次内存块切片使用;
步骤4:并行化对每一具有完整数据帧的分片进行帧格式解析;
步骤5:将解析后的分片按照顺序进行输出。
2.根据权利要求1所述的一种帧格式流式信号数据高性能软件解析方法,其特征在于:所述步骤1中的管理具体为:采用读写内存块缓存机制,数据写进写内存块,在读内存块中进行解析处理,当写内存块写满或者读内存块解析完成后,交换读内存块和写内存块继续进行读写操作。
3.根据权利要求1所述的一种帧格式流式信号数据高性能软件解析方法,其特征在于:所述步骤2中预切片处理为可配步进预切片处理。
4.根据权利要求1所述的一种帧格式流式信号数据高性能软件解析方法,其特征在于:所述步骤4中,每个分片由一个解析对象处理,所述帧格式解析包括完整多项式解扰和帧内容解析。
5.根据权利要求4中所述的一种帧格式流式信号数据高性能软件解析方法,其特征在于:解扰时先将上一分片尾端数据预置到当前分片解扰多项式D触发器中再进行解扰。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911313663.8A CN111064727B (zh) | 2019-12-18 | 2019-12-18 | 一种帧格式流式信号数据高性能软件解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911313663.8A CN111064727B (zh) | 2019-12-18 | 2019-12-18 | 一种帧格式流式信号数据高性能软件解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064727A CN111064727A (zh) | 2020-04-24 |
CN111064727B true CN111064727B (zh) | 2022-02-11 |
Family
ID=70302394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911313663.8A Active CN111064727B (zh) | 2019-12-18 | 2019-12-18 | 一种帧格式流式信号数据高性能软件解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064727B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248449A (zh) * | 2012-02-02 | 2013-08-14 | 中兴通讯股份有限公司 | 并行数据的码元定界方法及装置 |
CN106161410A (zh) * | 2015-04-24 | 2016-11-23 | 华为技术有限公司 | 数据处理方法、装置及系统 |
CN109412755A (zh) * | 2018-11-05 | 2019-03-01 | 东方网力科技股份有限公司 | 一种多媒体数据处理方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362241B2 (en) * | 2016-12-30 | 2019-07-23 | Microsoft Technology Licensing, Llc | Video stream delimiter for combined frame |
-
2019
- 2019-12-18 CN CN201911313663.8A patent/CN111064727B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248449A (zh) * | 2012-02-02 | 2013-08-14 | 中兴通讯股份有限公司 | 并行数据的码元定界方法及装置 |
CN106161410A (zh) * | 2015-04-24 | 2016-11-23 | 华为技术有限公司 | 数据处理方法、装置及系统 |
CN109412755A (zh) * | 2018-11-05 | 2019-03-01 | 东方网力科技股份有限公司 | 一种多媒体数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111064727A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109324996A (zh) | 日志文件处理方法、装置、计算机设备及存储介质 | |
US8681819B2 (en) | Programmable multifield parser packet | |
CN108965355B (zh) | 用于数据传输的方法、装置及计算机可读存储介质 | |
CN110058987B (zh) | 用于对计算系统进行追踪的方法、设备和计算机可读介质 | |
CN110362544A (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
CN104239133A (zh) | 一种日志处理方法、装置及服务器 | |
CN110493342A (zh) | 文件传输方法、装置、电子设备及可读存储介质 | |
CN111367953A (zh) | 一种资讯数据的流式处理方法及装置 | |
US20190089370A1 (en) | Program counter compression method and hardware circuit thereof | |
WO2023000785A1 (zh) | 用于处理数据的方法、装置、系统、服务器和介质 | |
US10620950B2 (en) | Message parsing in a distributed stream processing system | |
CN111064727B (zh) | 一种帧格式流式信号数据高性能软件解析方法 | |
CN112882713A (zh) | 一种日志解析的方法、装置、介质及计算机设备 | |
CN115567460B (zh) | 数据包处理方法及装置 | |
CN104461931A (zh) | 多核存储装置及多核环境的跟踪日志输出处理方法 | |
EP3972223A1 (en) | Mini-logs transformation for light-weight intelligent control plane | |
CN115801765A (zh) | 文件传输方法、装置、系统、电子设备及存储介质 | |
CN104506390A (zh) | 一种路测系统日志存储方法及装置 | |
CN111125161B (zh) | 数据的实时处理方法、装置、设备及存储介质 | |
CN103139207A (zh) | 解码方法和装置、报文解析方法和装置以及解析设备 | |
CN113934767A (zh) | 一种数据处理的方法及装置、计算机设备和存储介质 | |
CN111367916B (zh) | 一种数据存储方法及装置 | |
US20190361909A1 (en) | Optimizing data conversion using pattern frequency | |
CN112417015A (zh) | 数据分发方法和装置、存储介质及电子装置 | |
CN113779048A (zh) | 一种数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |