CN106685758B - Lte空口监测仪基带板原始数据保存、查询及回放方法 - Google Patents

Lte空口监测仪基带板原始数据保存、查询及回放方法 Download PDF

Info

Publication number
CN106685758B
CN106685758B CN201611176956.2A CN201611176956A CN106685758B CN 106685758 B CN106685758 B CN 106685758B CN 201611176956 A CN201611176956 A CN 201611176956A CN 106685758 B CN106685758 B CN 106685758B
Authority
CN
China
Prior art keywords
data
initial data
baseband board
file
index
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
Application number
CN201611176956.2A
Other languages
English (en)
Other versions
CN106685758A (zh
Inventor
李茹莹
朗森
张治中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHONGQING CHONGYOU HUICE ELECTRONIC TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.
Original Assignee
Chongqing Zhongyou Huice Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing Zhongyou Huice Communication Technology Co Ltd filed Critical Chongqing Zhongyou Huice Communication Technology Co Ltd
Priority to CN201611176956.2A priority Critical patent/CN106685758B/zh
Publication of CN106685758A publication Critical patent/CN106685758A/zh
Application granted granted Critical
Publication of CN106685758B publication Critical patent/CN106685758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Library & Information Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明LTE空口监测仪基带板原始数据保存、查询及回放方法,采用数据文件和索引文件的方式保存、查询或回放数据;在读取基带板原始数据的同时对每一个基带板原始数据按基带板卡独立连续的编号,为每一个数据包创建索引节点信息并记录其大小和存储在数据文件中的位置;同时,将原始数据保存在数据文件中的对应位置,将索引节点信息保存在索引文件中。本发明的有益技术效果是可实现主控板快速准确地查找到指定的原始数据MAC PDU以及对原始数据按照输入的时序有序地进行回放操作,有利于Layer2软件数据解析,提高解析效率。

Description

LTE空口监测仪基带板原始数据保存、查询及回放方法
技术领域
本发明涉及LTE空口监测仪的设计技术,具体涉及到一种LTE空口监测仪基带板原始数据保存、查询及回放方法。
背景技术
LTE空口监测仪是采集和解析LTE空口信号的仪器,其产生是LTE网络架构扁平化的结果,相对于3G网络,LTE网络减少了无线网络控制器RNC网元和Iub接口。在3G网络中可通过Iub接口监测的信息,在LTE网络中需要在Uu接口监测获取,由此,空口监测仪表的作用尤为重要。
Iub是RNC和NODE B之间的接口,用来传输RNC和NODE B之间的信令以及来自无线接口的数据。空中接口(无线接口)主要用来建立、重配置和释放各种无线承载业务,和Iu接口一样,空中接口也是一个完全开放的接口。
现有技术LTE空口监测仪通常包括输入数据解析模块、数据存储模块、LTE载荷数据解析模块、无线资源控制RRC解析模块和配置模块。其中,输入数据解析模块主要功能是获取其他单板写入的数据,并进行解析分类,然后把数据传递给对应的后续处理模块。数据存储模块功能主要是存储输入数据,并包含数据查询;LTE载荷数据解析模块主要功能是解析输入的LTE载荷,包含媒体接入控制MAC子层、无线链路控制RLC子层及分组汇聚协议PDCP子层等LTE Layer2协议解析;RRC解析模块主要功能是解析信令无线承载SRB0、SRB1、SRB2数据,并把基带板需要的配置信息传输给基带板;配置模块的主要功能是根据输入数据或者解析结果配置层二板及基带板。
现有技术LTE空口监测仪表中,层二板需要与基带板及主控板进行数据交互,在基带板的原始数据保存查询及回放的过程中,需要占用较大的存储空间,使其对原始数据查询工作困难,很难对原始数据做到有序的回放。
显然,现有技术LTE空口监测仪表存在着基带板在原始数据保存查询及回放的过程中,需要占用较大的存储空间,使其对原始数据查询工作困难,很难对原始数据做到有序的回放等问题。
发明内容
为解决现有技术LTE空口监测仪表存在的基带板在原始数据保存查询及回放的过程中,需要占用较大的存储空间,使其对原始数据查询工作困难,很难对原始数据做到有序的回放等问题,本发明提出一种LTE空口监测仪基带板原始数据保存、查询及回放方法。
本发明LTE空口监测仪基带板原始数据保存、查询及回放方法,采用数据文件和索引文件的方式保存、查询或回放数据;在读取基带板原始数据的同时对每一个基带板原始数据按基带板卡独立连续的编号,为每一个数据包创建索引节点信息并记录其大小和存储在数据文件中的位置;同时,将原始数据保存在数据文件中的对应位置,将索引节点信息保存在索引文件中。
进一步的,所述数据文件和索引文件采用不同的后缀名,所述数据文件的后缀名为.dat,用于保存基带板原始数据,采用cardid_datanum.dat方式命名,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当该文件长度超过1GBytes时datanum依自然数依次增加;所述索引文件后缀名为.idx文件,用于搜索基带板原始数据在.dat文件中的偏移地址及长度,包括,基带板原始数据查询索引cardid_idxnum.idx文件和基带板原始数据回放索引recordname_pbidxnum.idx文件;基带板原始数据的存放结构即为一个名称为recordname的文件下存放有基带板原始数据查询索引文件cardid_idxnum.idx、基带板原始数据回放索引文件recordname_pbidxnum.idx和基带板原始数据保存文件cardid_datanum.dat。
其中:
recordname为主控板通过发送层二板存储记录名称设定数据包请求层二板为该条记录设置的名称。
cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MAC PDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板可以根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度。
recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到该文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放。
cardid_datanum.dat为基带板原始数据保存文件,cardid为基带板卡编号,该文件最大为1GBytes。
进一步的,每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,
search_index_node数据结构如下:
基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
并且,定义PKT_REQUEST_QUERY_MAC_PDU原始数据查询子包为常量0x1400,PKT_REQUEST_PLAYBACK_MAC_PDU原始数据回放子包为常量0x1401,定义big_pkt_data,big_pkt_size变量,用以判断解析结果。
进一步的,所述LTE空口监测仪基带板原始数据保存,包括以下步骤:
层二板接收到基带板原始数据后均需要对其进行保存,各基带板原始数据的保存相互独立且同时进行,各基带板原始数据的保存流程如下:
S11:基带板原始数据输入;
S12:层二板软件接收基带板原始数据并存入数据缓存区;
S13:对每个原始数据包按照不同基带板卡号进行编号,计算数据包在文件中的结束位置和长度,填写查询索引节点数据结构至索引缓冲区;
S14:判断缓冲区是否已满,或者文件是否大于1GBytes,两者满足其一即执行步骤S15,否则,执行步骤S16;
S15:将数据缓存区的原始数据和查询索引缓冲区的索引数据分别写入cardid_datanum.dat文件中和cardid_idxnum.idx文件中;该基带板原始数据和查询索引数据保存完成,执行步骤S16;
其中,所述cardid_datanum.dat文件用于保存基带板的原始数据,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当该文件长度超过1GBytes时datanum依自然数依次增加;
所述cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MACPDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板可以根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度;
S16:将各板卡的索引缓冲按板卡号依次连续的拷贝到另一块索引缓冲区,不进行数据存储;
S17:将回放索引缓冲区数据写入recordname_pbidxnum.idx文件中,该基带板回放索引数据保存完成;
所述recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到该文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放;并且,每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,search_index_node数据结构如下:
S18:更新原始数据存储文件cardid_datanum.dat、查询索引文件cardid_idxnum.idx、回放索引文件recordname_pbidxnum.idx结尾位置,以进行下次的原始数据存储;
S19:基带板原始数据保存流程结束。
进一步的,所述LTE空口监测仪基带板原始数据查询,包括以下步骤:
层二板在接收到一个查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU查询处理流程,流程如下:
S21:层二板接收主控板原始数据包;
S22:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S23:判断原始数据包的类型是否为0x1400,即是否为查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,是则,执行步骤S24,否则,不能进入数据查询流程,转为执行步骤S27;
S24:解析查询请求数据子包得到基带板原始数据MAC PDU查询请求数据子包载荷REQ_MACPDU_sub_payload,基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
根据该结构获取需要查询的存储记录名称recordname、索引号seq_num、板卡号cardid;
通过REQ_MACPDU_sub_payload结构体中的成员name得到recordname;
通过成员seq_num_HI的高4bit得到cardid;
通过成员seq_num_HI的低28bit向左移位28bit与成员seq_num_LO相或得到seq_num;
通过seq_num/10000000得到idxfilenum;
通过(seq_num%10000000)*sizeof(search_index_node)得到在cardid_idxnum.idx中的偏移为idx_offset;
在cardid_idxnum.idx读取偏移为idx_offset的索引节点struct_search_index_node idx_node;
通过索引文件结构体参量idx_node.pkt_len得到原始数据MAC PDU长度pktlen;
通过idx_node.file_num得到datfilenum;
通过idx_node.end_offset得到原始数据MAC PDU在cardid_datfilenum.dat中的偏移位置dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S25:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S26:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,说明未找到查询数据,发送定义为0x1303常量的PKT_QUERY_MAC_PDU_ACK应答包,转为执行步骤S27;否则,将找到的原始数据MAC PDU数据包重组,并将组包后的数据发送到主控板,数据查询完成;
S27:基带板原始数据查询流程结束。
进一步的,所述LTE空口监测仪基带板原始数据回放,包括以下步骤:
层二板在接收到一个回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU后,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU回放处理流程,流程如下:
S31:层二板接收主控板原始数据包;
S32:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S33:判断该原始数据包类型是否为0x1401,即是否为回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU,若是,执行步骤S34,否则,不能进入数据回放流程,转为执行步骤S37;
S34:解析回放请求数据子包得到基带板原始数据MAC PDU回放请求数据包载荷PLAYBACK_MACPDU_sub_payload,并且,基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
通过该结构获取需要回放的存储记录名称recordname,并在存储区查找该记录;
读取第一个文件recordname_0.idx开始,读取该文件中的每一个索引节点struct_search_index_node idx_node,根据结构体成员idx_node.pkt_len得到原始数据MAC PDU长度pktlen;根据结构体成员idx_node.file_num得到datfilenum,根据结构体成员idx_node.end_offset得到原始数据MAC PDU在cardid_datnum.dat中的偏移dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S35:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S36:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,退出该流程,即未查询到请求回放的原始数据MAC PDU,转为执行步骤S37;否则,数据回放完成,进入LTE载荷处理,并将原始数据交给层二协议栈处理;
S37:基带板原始数据回放流程结束。
本发明LTE空口监测仪基带板原始数据保存、查询及回放方法的有益技术效果是可实现主控板快速准确地查找到指定的原始数据MAC PDU以及对原始数据按照输入的时序有序地进行回放操作,有利于Layer2软件数据解析,提高解析效率。
附图说明
附图1为本发明LTE空口监测仪基带板原始数据保存流程示意图;
附图2为本发明LTE空口监测仪基带板原始数据查询流程示意图;
附图3为本发明LTE空口监测仪基带板原始数据回放流程示意图。
下面结合附图对本发明LTE空口监测仪基带板原始数据保存、查询及回放方法作进一步的说明。
具体实施方式
显而易见地,下面描述中的附图仅仅是本发明的一些实施例,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明LTE空口监测仪基带板原始数据保存、查询及回放方法,采用数据文件和索引文件的方式保存、查询或回放数据;在读取基带板原始数据的同时对每一个基带板原始数据按基带板卡独立连续的编号,为每一个数据包创建索引节点信息并记录其大小和存储在数据文件中的位置;同时,将原始数据保存在数据文件中的对应位置,将索引节点信息保存在索引文件中。其中,所述数据文件和索引文件采用不同的后缀名,所述数据文件的后缀名为.dat,用于保存基带板原始数据,采用cardid_datanum.dat方式命名,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当该文件长度超过1GBytes时datanum依自然数依次增加;所述索引文件后缀名为.idx文件,用于搜索基带板原始数据在.dat文件中的偏移地址及长度,包括,基带板原始数据查询索引cardid_idxnum.idx文件和基带板原始数据回放索引recordname_pbidxnum.idx文件;基带板原始数据的存放结构即为一个名称为recordname的文件下存放有基带板原始数据查询索引文件cardid_idxnum.idx、基带板原始数据回放索引文件recordname_pbidxnum.idx和基带板原始数据保存文件cardid_datanum.dat;
其中:
recordname为主控板通过发送层二板存储记录名称设定数据包请求层二板为该条记录设置的名称。
cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MAC PDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板可以根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度。
recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到该文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放。
cardid_datanum.dat为基带板原始数据保存文件,cardid为基带板卡编号,该文件最大为1GBytes。
为便于原始数据查询和回放,本发明LTE空口监测仪基带板原始数据保存、查询及回放方法的每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,
search_index_node数据结构如下:
基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
并且,定义PKT_REQUEST_QUERY_MAC_PDU原始数据查询子包为常量0x1400,PKT_REQUEST_PLAYBACK_MAC_PDU原始数据回放子包为常量0x1401,定义big_pkt_data,big_pkt_size变量,用以判断解析结果。
附图1为本发明LTE空口监测仪基带板原始数据保存流程示意图,由图可知,所述LTE空口监测仪基带板原始数据保存,包括以下步骤:
层二板接收到基带板原始数据后均需要对其进行保存,各基带板原始数据的保存相互独立且同时进行,各基带板原始数据的保存流程如下:
S11:基带板原始数据输入;
S12:层二板软件接收基带板原始数据并存入数据缓存区;
S13:对每个原始数据包按照不同基带板卡号进行编号,计算数据包在文件中的结束位置和长度,填写查询索引节点数据结构至索引缓冲区;
S14:判断缓冲区是否已满,或者文件是否大于1GBytes,两者满足其一即执行步骤S15,否则,执行步骤S16;
S15:将数据缓存区的原始数据和查询索引缓冲区的索引数据分别写入cardid_datanum.dat文件中和cardid_idxnum.idx文件中;该基带板原始数据和查询索引数据保存完成,执行步骤S16;其中,
所述cardid_datanum.dat文件用于保存基带板的原始数据,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当该文件长度超过1GBytes时datanum依自然数依次增加;
所述cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MACPDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板可以根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度;
S16:将各板卡的索引缓冲按板卡号依次连续的拷贝到另一块索引缓冲区,不进行数据存储;
S17:将回放索引缓冲区数据写入recordname_pbidxnum.idx文件中,该基带板回放索引数据保存完成;其中,
所述recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到该文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放;并且,每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,search_index_node数据结构如下:
S18:更新原始数据存储文件cardid_datanum.dat、查询索引文件cardid_idxnum.idx、回放索引文件recordname_pbidxnum.idx结尾位置,以进行下次的原始数据存储;
S19:基带板原始数据保存流程结束。
附图2为本发明LTE空口监测仪基带板原始数据查询流程示意图,由图可知,所述LTE空口监测仪基带板原始数据查询,包括以下步骤:
层二板在接收到一个查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU查询处理流程,流程如下:
S21:层二板接收主控板原始数据包;
S22:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S23:判断原始数据包的类型是否为0x1400,即是否为查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,是则,执行步骤S24,否则,不能进入数据查询流程,转为执行步骤S27;
S24:解析查询请求数据子包得到基带板原始数据MAC PDU查询请求数据子包载荷REQ_MACPDU_sub_payload,基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
根据该结构获取需要查询的存储记录名称recordname、索引号seq_num、板卡号cardid;
通过REQ_MACPDU_sub_payload结构体中的成员name得到recordname;
通过成员seq_num_HI的高4bit得到cardid;
通过成员seq_num_HI的低28bit向左移位28bit与成员seq_num_LO相或得到seq_num;
通过seq_num/10000000得到idxfilenum;
通过(seq_num%10000000)*sizeof(search_index_node)得到在cardid_idxnum.idx中的偏移为idx_offset;
在cardid_idxnum.idx读取偏移为idx_offset的索引节点struct_search_index_node idx_node;
通过索引文件结构体参量idx_node.pkt_len得到原始数据MAC PDU长度pktlen;
通过idx_node.file_num得到datfilenum;
通过idx_node.end_offset得到原始数据MAC PDU在cardid_datfilenum.dat中的偏移位置dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S25:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S26:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,说明未找到查询数据,发送定义为0x1303常量的PKT_QUERY_MAC_PDU_ACK应答包,转为执行步骤S27;否则,将找到的原始数据MAC PDU数据包重组,并将组包后的数据发送到主控板,数据查询完成;
S27:基带板原始数据查询流程结束。
附图3为本发明LTE空口监测仪基带板原始数据回放流程示意图,由图可知,所述LTE空口监测仪基带板原始数据回放,包括以下步骤:
层二板在接收到一个回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU后,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU回放处理流程,流程如下:
S31:层二板接收主控板原始数据包;
S32:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S33:判断该原始数据包类型是否为0x1401,即是否为回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU,若是,执行步骤S34,否则,不能进入数据回放流程,转为执行步骤S37;
S34:解析回放请求数据子包得到基带板原始数据MAC PDU回放请求数据包载荷PLAYBACK_MACPDU_sub_payload,基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
通过该结构可获取需要回放的存储记录名称recordname,并在存储区查找该记录;
读取第一个文件recordname_0.idx开始,读取该文件中的每一个索引节点struct_search_index_node idx_node,根据结构体成员idx_node.pkt_len得到原始数据MAC PDU长度pktlen;根据结构体成员idx_node.file_num得到datfilenum,根据结构体成员idx_node.end_offset得到原始数据MAC PDU在cardid_datnum.dat中的偏移dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S35:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S36:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,退出该流程,即未查询到请求回放的原始数据MAC PDU,转为执行步骤S37;否则,数据回放完成,进入LTE载荷处理,并将原始数据交给层二协议栈处理;
S37:基带板原始数据回放流程结束。
显然,本发明LTE空口监测仪基带板原始数据保存、查询及回放方法的有益技术效果是可实现主控板快速准确地查找到指定的原始数据MAC PDU以及对原始数据按照输入的时序有序地进行回放操作,有利于Layer2软件数据解析,提高解析效率。

Claims (3)

1.一种LTE空口监测仪基带板原始数据保存、查询及回放方法,其特征在于,采用数据文件和索引文件的方式保存、查询或回放数据;在读取基带板原始数据的同时对每一个基带板原始数据按基带板卡独立连续的编号,为每一个数据包创建索引节点信息并记录其大小和存储在数据文件中的位置;同时,将原始数据保存在数据文件中的对应位置,将索引节点信息保存在索引文件中;其中,
所述数据文件和索引文件采用不同的后缀名,所述数据文件的后缀名为.dat,用于保存基带板原始数据,采用cardid_datanum.dat方式命名,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当原始数据文件长度超过1GBytes时datanum依自然数依次增加;所述索引文件后缀名为.idx文件,用于搜索基带板原始数据在.dat文件中的偏移地址及长度,包括,基带板原始数据查询索引cardid_idxnum.idx文件和基带板原始数据回放索引recordname_pbidxnum.idx文件;基带板原始数据的存放结构即为一个名称为recordname的文件下存放有基带板原始数据查询索引文件cardid_idxnum.idx、基带板原始数据回放索引文件recordname_pbidxnum.idx和基带板原始数据保存文件cardid_datanum.dat;其中:recordname为主控板通过发送层二板存储记录名称设定数据包请求层二板为该条记录设置的名称;cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MAC PDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度;recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到基带板原始数据回放索引文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放;cardid_datanum.dat为基带板原始数据保存文件,cardid为基带板卡编号,基带板原始数据保存文件最大为1GBytes;
每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,search_index_node数据结构如下:
基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
并且,定义PKT_REQUEST_QUERY_MAC_PDU原始数据查询子包为常量0x1400,PKT_REQUEST_PLAYBACK_MAC_PDU原始数据回放子包为常量0x1401,定义big_pkt_data,big_pkt_size变量,用以判断解析结果;
所述LTE空口监测仪基带板原始数据回放,包括以下步骤:
层二板在接收到一个回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU后,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU回放处理流程,流程如下:
S31:层二板接收主控板原始数据包;
S32:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S33:判断该原始数据包类型是否为0x1401,即是否为回放请求数据子包PKT_REQUEST_PLAYBACK_MAC_PDU,若是,执行步骤S34,否则,不能进入数据回放流程,转为执行步骤S37;
S34:解析回放请求数据子包得到基带板原始数据MAC PDU回放请求数据包载荷PLAYBACK_MACPDU_sub_payload,并且,基带板原始数据MAC PDU回放请求数据子包载荷结构如下:
通过回放请求数据子包载荷结构获取需要回放的存储记录名称recordname,并在存储区查找该记录;
读取第一个文件recordname_0.idx开始,读取第一个文件中的每一个索引节点struct_search_index_node idx_node,根据结构体成员idx_node.pkt_len得到原始数据MAC PDU长度pktlen;根据结构体成员idx_node.file_num得到datfilenum,根据结构体成员idx_node.end_offset得到原始数据MAC PDU在cardid_datnum.dat中的偏移dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S35:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S36:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,退出该流程,即未查询到请求回放的原始数据MAC PDU,转为执行步骤S37;否则,数据回放完成,进入LTE载荷处理,并将原始数据交给层二协议栈处理;
S37:基带板原始数据回放流程结束。
2.根据权利要求1所述LTE空口监测仪基带板原始数据保存、查询及回放方法,其特征在于,所述LTE空口监测仪基带板原始数据保存,包括以下步骤:
层二板接收到基带板原始数据后均需要对其进行保存,各基带板原始数据的保存相互独立且同时进行,各基带板原始数据的保存流程如下:
S11:基带板原始数据输入;
S12:层二板软件接收基带板原始数据并存入数据缓存区;
S13:对每个原始数据包按照不同基带板卡号进行编号,计算数据包在文件中的结束位置和长度,填写查询索引节点数据结构至索引缓冲区;
S14:判断缓冲区是否已满,或者文件是否大于1GBytes,两者满足其一即执行步骤S15,否则,执行步骤S16;
S15:将数据缓存区的原始数据和查询索引缓冲区的索引数据分别写入cardid_datanum.dat文件中和cardid_idxnum.idx文件中;该基带板原始数据和查询索引数据保存完成,执行步骤S16;
其中,所述cardid_datanum.dat文件用于保存基带板的原始数据,其中,cardid为不同的基带板编号,datanum为数据段编号,从0开始,当原始数据文件长度超过1GBytes时datanum依自然数依次增加;
所述cardid_idxnum.idx为基带板原始数据查询索引文件,用于对基带板原始数据查询;文件中保存有编号为cardid的基带板原始数据媒体接入控制层分组数据单元MAC PDU的索引,每一个文件包含10000000个索引节点,可实现主控板查询原始数据MAC PDU,主控板在查询时只需提供sequence number,简写为seq_num;层二板根据record name和seq_num快速查找到指定序列号的原始数据MAC PDU位于cardid_datanum.dat的位置及长度;
S16:将各板卡的索引缓冲按板卡号依次连续的拷贝到另一块索引缓冲区,不进行数据存储;
S17:将回放索引缓冲区数据写入recordname_pbidxnum.idx文件中,该基带板回放索引数据保存完成;
所述recordname_pbidxnum.idx为基带板原始数据回放索引文件,用于对基带板原始数据进行回放,在读取到所有基带板原始数据之后,将各基带板原始数据的索引节点依次写入到基带板原始数据回放索引文件,可实现基带板原始数据回放,在回放时依次读取索引节点中的每一个数据包的位置,并按照首次读入数据的时序进行回放;并且,每个.idx文件中存放若干个索引节点search_index_node数据结构,并且,search_index_node数据结构如下:
S18:更新原始数据存储文件cardid_datanum.dat、查询索引文件cardid_idxnum.idx、回放索引文件recordname_pbidxnum.idx结尾位置,以进行下次的原始数据存储;
S19:基带板原始数据保存流程结束。
3.根据权利要求1所述LTE空口监测仪基带板原始数据保存、查询及回放方法,其特征在于,所述LTE空口监测仪基带板原始数据查询,包括以下步骤:
层二板在接收到一个查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,将会进入到基带板原始数据媒体接入控制层分组数据单元MAC PDU查询处理流程,流程如下:
S21:层二板接收主控板原始数据包;
S22:层二板对主控板原始数据包进行解析,解析原始数据包类型;
S23:判断原始数据包的类型是否为0x1400,即是否为查询请求数据子包PKT_REQUEST_QUERY_MAC_PDU,是则,执行步骤S24,否则,不能进入数据查询流程,转为执行步骤S27;
S24:解析查询请求数据子包得到基带板原始数据MAC PDU查询请求数据子包载荷REQ_MACPDU_sub_payload,基带板原始数据MAC PDU查询请求数据子包载荷结构如下:
根据查询请求数据子包载荷结构获取需要查询的存储记录名称recordname、索引号seq_num、板卡号cardid;
通过REQ_MACPDU_sub_payload结构体中的成员name得到recordname;
通过成员seq_num_HI的高4bit得到cardid;
通过成员seq_num_HI的低28bit向左移位28bit与成员seq_num_LO相或得到seq_num;
通过seq_num/10000000得到idxfilenum;
通过(seq_num%10000000)*sizeof(search_index_node)得到在cardid_idxnum.idx中的偏移为idx_offset;
在cardid_idxnum.idx读取偏移为idx_offset的索引节点struct_search_index_nodeidx_node;
通过索引文件结构体参量idx_node.pkt_len得到原始数据MAC PDU长度pktlen;
通过idx_node.file_num得到datfilenum;
通过idx_node.end_offset得到原始数据MAC PDU在cardid_datfilenum.dat中的偏移位置dat_offset;
在cardid_datnum.dat的dat_offset位置读取pktlen长度的数据即得到了所需的原始数据MAC PDU;
S25:初始化big_pkt_data为空,big_pkt_size为0;根据板卡号cardid和索引号seq_num,读取文件找到指定的原始数据MAC PDU所在位置,更新big_pkt_data,big_pkt_size;
S26:判断big_pkt_data是否为空或者big_pkt_size是否为0,两者满足其一,说明未找到查询数据,发送定义为0x1303常量的PKT_QUERY_MAC_PDU_ACK应答包,转为执行步骤S27;否则,将找到的原始数据MAC PDU数据包重组,并将组包后的数据发送到主控板,数据查询完成;
S27:基带板原始数据查询流程结束。
CN201611176956.2A 2016-12-19 2016-12-19 Lte空口监测仪基带板原始数据保存、查询及回放方法 Active CN106685758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611176956.2A CN106685758B (zh) 2016-12-19 2016-12-19 Lte空口监测仪基带板原始数据保存、查询及回放方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611176956.2A CN106685758B (zh) 2016-12-19 2016-12-19 Lte空口监测仪基带板原始数据保存、查询及回放方法

Publications (2)

Publication Number Publication Date
CN106685758A CN106685758A (zh) 2017-05-17
CN106685758B true CN106685758B (zh) 2019-11-05

Family

ID=58869874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611176956.2A Active CN106685758B (zh) 2016-12-19 2016-12-19 Lte空口监测仪基带板原始数据保存、查询及回放方法

Country Status (1)

Country Link
CN (1) CN106685758B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107484189B (zh) * 2017-07-27 2020-10-16 北京市天元网络技术股份有限公司 Lte数据处理系统
CN108399263B (zh) * 2018-03-15 2022-03-01 北京大众益康科技有限公司 时序数据的存储和查询方法及存储和处理平台
CN108920553B (zh) * 2018-06-19 2020-10-30 西安电子科技大学 一种用于机载多传感器平台的数据记录方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890675A (zh) * 2011-07-18 2013-01-23 阿里巴巴集团控股有限公司 一种数据存储和查找的方法及装置
CN103064879A (zh) * 2012-11-22 2013-04-24 北京中创信测科技股份有限公司 一种大流量音视频数据存取方法
CN103259737A (zh) * 2013-04-18 2013-08-21 西安交通大学 一种并行存储高速网络流量的快速定位方法
CN104994340A (zh) * 2015-06-25 2015-10-21 广东工业大学 一种音视频存储方式的精确定位回放方法
CN105101482A (zh) * 2014-05-14 2015-11-25 中国移动通信集团公司 一种基站系统及其信号处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890675A (zh) * 2011-07-18 2013-01-23 阿里巴巴集团控股有限公司 一种数据存储和查找的方法及装置
CN103064879A (zh) * 2012-11-22 2013-04-24 北京中创信测科技股份有限公司 一种大流量音视频数据存取方法
CN103259737A (zh) * 2013-04-18 2013-08-21 西安交通大学 一种并行存储高速网络流量的快速定位方法
CN105101482A (zh) * 2014-05-14 2015-11-25 中国移动通信集团公司 一种基站系统及其信号处理方法
CN104994340A (zh) * 2015-06-25 2015-10-21 广东工业大学 一种音视频存储方式的精确定位回放方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LTE-Advanced 空口监测仪表系统设计;付沛可,张治中,贺姿;《电视技术》;20151231;第46-50页 *

Also Published As

Publication number Publication date
CN106685758A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN106685758B (zh) Lte空口监测仪基带板原始数据保存、查询及回放方法
CN108809596A (zh) 一种基于反转服务流特性的通信方法及装置
CN103891173B (zh) 用于报告能力信息的方法及与之适配的双模式用户设备
TWI392393B (zh) 執行暫存器狀態回報的方法及其通訊裝置
CN110324848A (zh) 信息处理方法以及相关装置
CN106656799B (zh) 一种基于无线mesh网络的报文转发方法及装置
CN105898894A (zh) Rrc状态的控制方法和装置
CN106538037A (zh) 无线承载的配置方法、装置及系统
CN104468401B (zh) 一种报文处理方法和装置
CN108632308A (zh) 控制方法、装置、smf、upf、ue、pcf及an
CN108200091A (zh) 一种数据包处理方法和装置
CN105992242B (zh) 一种空口协议栈的配置方法、数据传输方法及设备
CN105893323A (zh) 一种读数据的方法及设备
CN110933712B (zh) 一种数据传输方法、终端及存储介质
CN104303563B (zh) 一种数据传输的方法、基站和无线通信设备
JP2022506308A (ja) ベアラの制御方法、端末及びネットワーク側機器
CN109688606A (zh) 数据处理方法、装置、计算机设备及存储介质
EP1659741B1 (en) Wireless access control station for shifting connection modes
CN107643986A (zh) 一种使用环形Buffer和自动回收描述符的AIF接收数据处理方法
CN107404396A (zh) 一种数据传输方法和装置
CN109818769A (zh) 发送信息的方法和装置
CN104144069B (zh) 无线侧呼叫数据记录与用户业务行为关联的方法和装置
CN113014510B (zh) 惯导系统分布式测试中数据缓存方法及装置
CN106507495B (zh) 上行授权处理方法及相关设备
CN101626343B (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
CB02 Change of applicant information

Address after: 401220 No. 6 Xinmin Road, Xinshi Street, Changshou District, Chongqing

Applicant after: Chongqing Zhongyou Huice Communication Technology Co., Ltd.

Address before: 401121 Chongqing North New District Yubei District high tech Park mercury science and Technology Development Center North Wing 5 floor

Applicant before: Chongqing Zhongyou Huice Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210318

Address after: 401121 No.5, middle section of Huangshan Avenue, gaoxinyuan, new North District, Chongqing (no.1-2-1, 5th floor, South Wing workshop, mercury science and technology building)

Patentee after: CHONGQING CHONGYOU HUICE ELECTRONIC TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.

Address before: No.6 Xinmin Road, Xinshi street, Changshou District, Chongqing 401220

Patentee before: CHONGQING CHONGYOU HUICE COMMUNICATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right