CN105791040A - 一种数据帧采集的方法和装置 - Google Patents
一种数据帧采集的方法和装置 Download PDFInfo
- Publication number
- CN105791040A CN105791040A CN201410816141.0A CN201410816141A CN105791040A CN 105791040 A CN105791040 A CN 105791040A CN 201410816141 A CN201410816141 A CN 201410816141A CN 105791040 A CN105791040 A CN 105791040A
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- preset
- module
- buffer memory
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据帧采集的方法和装置,所述的方法包括:获取终端设备发送或接收的数据帧;将所述数据帧缓存至预设的数据结构中;检测所述预设的数据结构中是否存在数据帧;若存在,则将所述数据帧保存至预设格式的数据文件中。本发明实施例用以在不使用第三方专业工具的情形下,保存终端设备的数据帧。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据帧采集的方法和一种数据帧采集的装置。
背景技术
在调试或监控支持Wi-Fi(Wireless-Fidelity,无线通信技术)的终端设备时,常常需要对数据帧进行抓包和分析。然而在实际操作中存在如下的问题:
第一、对数据帧进行相关问题分析时需要使用第三方专业工具,并且还需要对测试人员进行相关设备和工具的培训,故而对数据帧进行相关问题进行抓取和分析时困难重重。
第二、目前使用第三方专业工具有两种方法。(1)按照信道:只监听并抓取某一信道下的数据帧,因此只能得到某一信道下的数据帧。(2)按照MAC((MediaAccessControl,硬件地址):经实际测试发现,在终端设备的1~13信道扫描时,通常无法抓取所有信道上的全部数据帧。综上可知,某一时间段内第三方专业工具能监听当前信道上终端设备的通信情况,但是不能抓取某一个终端设备在所有信道上的全部数据帧。除此之外,使用第三方专业工具抓到的数据帧是工具本身能识别的数据帧,故经常有遗漏关键的数据帧的情况。
第三、使用第三方专业工具抓取的数据帧,只能推测当时的实际被测终端设备的数据通信情况,故不能与实际被测终端设备百分之百相符。例如,终端设备可能由于当前出现问题而导致数据帧没有发送出去,此时第三方专业工具便无法抓取到该数据帧来进一步分析。另外,第三方专业工具抓取到的数据帧只代表有该数据帧在传输,但不能保证终端设备能正常识别此数据帧。
发明内容
本发明实施例所要解决的技术问题是提供一种数据帧采集的方法,用以在不使用第三方专业工具的情形下,保存终端设备的数据帧。
相应的,本发明实施例还提供了一种数据帧采集的装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种数据帧采集的方法,包括:
获取终端设备发送或接收的数据帧;
将所述数据帧缓存至预设的数据结构中;
检测所述预设的数据结构中是否存在数据帧;
若存在,则将所述数据帧保存至预设格式的数据文件中。
优选地,在所述获取终端设备发送或接收的数据帧的步骤之后,还包括:
获取当前系统时间。
优选地,所述数据帧包括数据帧类型、数据帧字节数、和/或数据帧内容,所述将数据帧缓存至预设的数据结构中的步骤包括:
从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
将所述数据帧类型、数据帧字节数、和/或数据帧内容,以及所述当前系统时间缓存至预设的类型结构体数组中。
优选地,所述获取终端设备发送或接收的数据帧的步骤包括:
获取在所述终端设备发送或接收数据帧的接口处的数据帧。
优选地,在所述将数据帧缓存至预设的数据结构中的步骤之后,还包括:
将所述预设的类型结构体数组中缓存的数组按序写入至预设的循环队列中。
优选地,所述检测预设的数据结构中是否存在数据帧的步骤为:
按照预设时间间隔检测预设的数据结构中是否存在数据帧。
优选地,在所述将数据帧保存至预设格式的数据文件中的步骤之后,所述预设格式的数据文件具有对应的文件名,所述的方法还包括:
在所述文件名中添加当前系统时间。
本发明实施例还公开了一种数据帧采集的装置,包括:
获取模块,用于获取终端设备发送或接收的数据帧;
缓存模块,用于将所述数据帧缓存至预设的数据结构中;
检测模块,用于检测所述预设的数据结构中是否存在数据帧;若存在,则调用保存模块;
保存模块,用于将所述数据帧保存至预设格式的数据文件中。
优选地,所述的装置还包括:
系统时间获取模块,用于获取当前系统时间。
优选地,所述数据帧包括数据帧类型、数据帧字节数、和/或数据帧内容,所述缓存模块包括:
提取子模块,用于从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
缓存子模块,用于将所述数据帧类型、数据帧字节数、和/或数据帧内容缓存至预设的类型结构体数组中。
优选地,所述获取模块包括:
数据帧获取子模块,用于获取在所述终端设备发送或接收数据帧的接口处的数据帧。
优选地,所述获取模块包括:
写入模块,用于将所述预设的类型结构体数组中缓存的数组按序写入至预设的循环队列中。
优选地,所述检测模块包括:
间隔检测子模块,用于按照预设时间间隔检测预设的数据结构中是否存在数据帧。
优选地,所述预设格式的数据文件具有对应的文件名,所述的装置还包括:
添加模块,用于在所述文件名中添加当前系统时间。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中对终端设备发送或接收的数据帧进行抓取并缓存,然后再将该数据帧中写入预设格式的数据文件中,可供其他工具识别并解析,更能准确的表征终端设备的实际情况。在本发明实施例中可以在终端设备实际处理数据帧的软件程序中进行抓取,故可以避免遗漏数据帧的情况。
附图说明
图1是本发明实施例一的一种数据帧采集的方法的流程图;
图2是本发明实施例一的一种基于数组的数据帧处理流程示意图;
图3是本发明实施例二的一种数据帧采集的方法的流程图;
图4是本发明实施例二的一种基于循环队列的数据帧处理流程示意图;
图5是本发明实施例三的一种数据帧采集的方法的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一:
参照图1,示出了本发明实施例一的一种数据帧采集的方法的流程图,具体可以包括如下步骤:
步骤101,获取终端设备发送或接收的数据帧;
需要说明的是,本发明实施例中的终端设备可以为手机、平板电脑、机顶盒、无线路由器等能够实现本发明的设备,本发明实施例对此不加以限制。
在具体实现中,终端设备可以通过数据线或者无线(例如Wi-Fi)等形式连接到其他设备中,在终端设备连接至其他设备之后,可以与其他设备进行数据帧的接收或发送。
在本发明实施例中,可以从终端设备中各种管理数据帧的函数,也即是实际处理数据帧的软件程序中获取到数据帧。其中,数据帧亦可以称为空口包、消息帧或数据包。
在本发明的一种优选实施例中,在所述步骤101之后,还可以包括如下步骤:
获取当前系统时间。
在本发明实施例中,在获取终端设备发送或接收的数据帧时,还可以同时获取所保存的数据帧对应的当前系统时间。通过获取各个数据帧的实际处理时间,可以更方便快捷的分析定位问题。
步骤102,将所述数据帧缓存至预设的数据结构中;
在本发明的一种优选实施例中,所述数据帧可以包括数据帧类型、数据帧字节数、和/或数据帧内容,所述步骤102可以包括如下子步骤:
子步骤S11,从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
子步骤S12,将所述数据帧类型、数据帧字节数、和/或数据帧内容缓存至预设的类型结构体数组中。
在本发明实施例中,可以将获取到的数据帧先暂时缓存到预设的数据结构中。在实际中所述的数据结构可以为类型结构体数组数组,当获取到终端设备接收或发送的数据帧时,可以将获取到的数据帧缓存到预设的类型结构体数组中。例如,可通过一个线程将获取到的数据帧缓存到一个自定义的类型结构体数组structdebug_80211_packet中。
在本发明具体应用的一种示例中,所述自定义的缓存数据帧的类型结构体数组的数据结构可以为:
typedefstructdebug_80211_packet{
unsignedinttype;//数据帧类型
unsignedintsize;//数据帧字节数
unsignedchar*frame;//数据帧内容
}tDeubg_80211_Packet;
需要说明的是,上述类型结构体数组仅仅作为示例,不应当理解为对本发明实施例的限制,实际中对于所述类型结构体数据不作限制,本领域技术人员可以根据实际需要进行设置。
以关联请求帧(proberequest)为例,在本发明实施例中首先通过调用数据帧处理函数limProcessProbeReqFrame,以获取关联请求帧的数据帧类型、数据帧字节数、和/或数据帧内容等其他关键要素,并保存到第i个类型结构体数组中,此时类型结构体数组的i值加1。如果还有其他的数据帧,则将缓存到第i+1个类型结构体数组中。
步骤103,检测所述预设的数据结构中是否存在数据帧;若存在,则执行步骤104;
在本发明实施例中,可以采用数组来缓存从获取到的数据帧,
在本发明的一种优选实施例中,所述步骤103可以为如下子步骤:
子步骤S21,按照预设时间间隔检测预设的数据结构中是否存在数据帧。
在本发明的一种优选示例中,可以设置一个循环检测线程来处理已缓存的数据帧,如果发现新的数据帧,则可以进入下一步骤,将这些新的数据帧保存到预设格式的数据文件中。
步骤104,将所述数据帧保存至预设格式的数据文件中。
在具体实现中,可将数据帧保存为通用的数据格式,以便主流的分析工具可以识别并解析。例如,所述的预设格式的数据文件可以为pcap格式,在实际应用中pcap格式的数据帧,很多的分析软件都可以识别和显示。当然也可以根据实际情况,修改数据帧头的信息,来组成不同格式的数据帧,本发明实施例对此不加以限制。
具体地,在本发明实施例中可以按照先写数据帧头,再写数据帧内容的顺序将数据帧写入到预设格式的数据文件中。具体而言,可以先在预设格式的数据文件中先写入数据帧的数据帧类型、数据帧字节数,以及该数据帧对应的当前系统时间,比如2014-11-1719:17:30,然后再写入数据帧内容。
在本发明实施例具体应用的一种示例中,所述预设的数据文件中数据头格式可以为:
typedefstructdebug_80211_packets_head{
unsignedinttimestamp_H;
unsignedinttimestamp_L;
unsignedintcaplen;
unsignedintlen;
}tDebug_80211_Packet_Head;
需要说明的是,上述数据文件的格式仅仅作为示例,不应当理解为对本发明实施例的限制,实际中对于所述类型结构体数据不作限制,本领域技术人员可以根据实际需要进行设置。
为了使本领域技术人员更好地理解本发明实施例,以下采用具体的示例进行说明。
参照图2所示的本发明实施例一的一种基于数组的数据帧处理流程示意图,其具体步骤如下所示:
1、获取终端设备接收或发送的数据帧;其中,所述数据帧可以包括认证请求帧及对应的回应帧、关联请求帧及对应的回应帧、信标帧(beacon)、探查请求帧及对应的回应帧(Proberequest/response)帧等等;
2、按顺序将获取到的数据帧保存到缓存的类型结构体数组中;
3、线程循环检测数组中是否有未处理的数据帧;如果发现有未处理的数据帧(While(1)),则执行步骤4;
4、按序将数组中的数据帧保存到预设格式的数据到文件中。
应用本发明实施例,对终端设备实际处理的数据帧进行抓取并缓存的预设的类型结构体数组中,并将该数据帧转换为可以通用的数据格式,以供其他软件识别并解析,更能准确地表征终端设备的实际情况。
实施例二:
参照图3,示出了本发明实施例二的一种数据帧采集的方法的流程图,具体可以包括如下步骤:
步骤201,获取在所述终端设备发送或接收数据帧的接口处的数据帧;
在本发明实施例中,为了保证缓存的数据帧按照终端设备接收或发送的实际顺序存放,可以将钩子函数放置在终端设备正常接收和发送数据帧的初始接口处,同时还可以获取终端设备接收或发送该数据帧对应的当前系统时间。
步骤202,将所述数据帧缓存至预设的数据结构中;
步骤203,将所述预设的类型结构体数组中缓存的数组按序保存至预设的循环队列中;
在本发明实施例中,可以将获取到的数据帧,以及当前的系统时间一同保存到循环队列中。采用循环队列可以保证大量数据帧的保存而不会越界,也可以保证在将数据帧保存到预设格式的数据文件的操作较慢时,不会导致数据帧的丢失。
步骤204,检测所述预设的数据结构中是否存在数据帧;若存在,则执行步骤205;
步骤205,将所述数据帧保存至预设格式的数据文件中。
在本发明具体应用的一种示例中,所述自定义的缓存数据帧的类型结构体数组的数据结构可以为:
typedefstructdebug_80211_packet{
unsignedintseq_num;
unsignedinttype;
structtimespects;
unsignedintsize;
unsignedchar*frame;
}tDebug_80211_Packet;
由于在本发明实施例中可以中采用数组来缓存数据帧,而数组本身具有序号,可以作为识别的标记。在本发明实施例中若采用循环队列来管理缓存的数据帧,可以在实施例一中的数据结构中增加一个seq_num来标识当前的数据帧的编号,那么在进行调试时比较方便快捷,可较快分析定位问题。当然,实际中seq_num也是可以省去,本发明实施例对此不加以限制。
在本发明具体应用的一种示例中,所述循环队列的数据结构可以为:
typedefstructdebug_80211_packet{
unsignedintseq_num;
unsignedinttype;
structtimespects;
unsignedintsize;
unsignedchar*frame;
}tDebug_80211_Packet;
在本发明实施例中在将数据帧保存到预设格式的数据文件时,可以采用单独的处理线程,能够减小在数据帧采集时的系统时间损耗,保证了正常数据处理流程。
在本发明的一种优选实施例中,所述预设格式的数据文件可以具有对应的文件名,所述的方法还可以包括如下步骤:
在所述文件名中添加当前系统时间。
在本发明实施例中,在对数据文件进行命名时,可以将当前系统时间添加到文件名中,这样做法即不会覆盖以前的数据文件,同时还可以方便识别。
为了使本领域技术人员更好地理解本发明实施例,以下采用具体的示例进行说明。参照图4所示的本发明实施例二的一种基于循环队列的数据帧处理流程示意图,在WLAN(WirelessLocalAreaNetwork,无线局域网)中数据帧的数据流程中,具体可以包括如下步骤:
A1、找到终端设备处理接收和发送数据帧的接口;
A2、在数据流程中调用函数缓存函数save(char*frame,unsignedintsize,unsignedinttype);
A3、判断是否存在缓存的数据帧,若是(If(flag==1)),则执行步骤A4;若否,在执行步骤A7;
A4、在数据流程中增加一个缓存的数据帧到循环队列中;
A5、在循环队列的队尾加1,计数加1;
A6、有新的未处理的数据帧,则进行中断唤醒(wake_up_interruptible(&wait)),执行步骤B6;在具体实现中,数据帧发送和接收中间有时间间隔,在这个时间间隔中如果已缓存的数据帧已经处理完成,就需要进入等待状态,待有新的数据帧传送过来时唤醒,开始处理新的数据帧。
A7、返回至数据帧的数据流程中(Return);
B1、创建Procfs接口(Create_Proc_fs),可以自由开关此保存数据帧的功能。
B2、将该Procfs接口设置为如果Procfs为1(write1),则表示保存数据帧的功能的接口开启,则执行步骤B3;如果Procfs为0(write0),则表示保存数据帧的功能的接口没有被开启;
B3、启动保存数据帧的功能(read_packets_to_file);
B4、打开用于保存数据帧的预设格式的数据文件(Filp_open("/sdcard/debug_80211_时间.pcap",O_RDWR︳O_CREAT,0644);)
B5、如果打开了用于保存数据帧的预设格式的数据文件(Flag==1),则执行步骤B6;如果没有打开用于保存数据帧的预设格式的数据文件(Flag==1),则执行步骤B11;
B6、当发现循环队列中有新的数据帧未进行处理,则进行中断唤醒(Wait_event_interruptible(debug_80211_wait,循环队列不为空));
B7、判断循环队列是否不为空;如果循环队列不为空,则表示有新的数据帧未处理,则执行步骤B8;
B8、将数据帧保存到打开的预设格式的数据文件中;
B9、在循环队列的队列头加1,将队列头指向下一个数据帧,那么下一次保存数据帧时将保存新的数据帧,避免已保存过的数据帧被反复保存;
B10、由于缓存的数据帧占用了终端设备的系统内存,故在数据帧被保存在数据文件之后,需要释放掉该数据帧所占用的内存(Vfree(刚保存的帧内存));
B11、关闭用于保存数据帧的预设格式的数据文件,并返回数据流程中(Filecloseandreturn)。
综合上述实施例可知,本发明实施例包括以下优点:
第一、本发明实施例中对终端设备发送或接收的数据帧进行抓取并缓存,然后再将该数据帧中写入预设格式的数据文件中,可供其他工具识别并解析,更能准确的表征终端设备的实际情况。在本发明实施例中可以在终端设备实际处理数据帧的软件程序中进行抓取,故可以避免遗漏数据帧的情况。
第二、数据帧的缓存使用循环队列,可以保证大量数据帧的保存而不会越界,同时也可保证在保存到预设格式的数据文件的操作较慢时,不会导致数据帧的丢失。
第三、在保存数据帧时除了必须的数据帧字节数、数据帧内容外,还可以增加当前系统时间,这样可以看到各个数据包的实际处理时间,更方便快捷地分析定位问题。
第四、在数据帧保存到预设格式的数据文件中时,采用单独的处理线程,可以减小在数据帧采集时的系统时间损耗,保证正常数据流程。
第五、在对数据文件的命名中增加当前系统时间,那么即不会覆盖以前的数据文件,同时可以方便识别。
第六、保存到数据文件中的数据帧可以转换为通用的格式,比如pcap格式,方便主流分析软件识别并解析。
第七、增加procfs接口,可以自由开关此保存数据帧的功能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三:
参照图5,示出了本发明实施例三的一种数据帧采集的装置结构框图,所述装置具体可以包括以下模块:
获取模块301,用于获取终端设备发送或接收的数据帧;
在本发明的一种优选实施例中,所述获取模块301可以包括如下子模块:
数据帧获取子模块,用于获取在所述终端设备发送或接收数据帧的接口处的数据帧;
在本发明的一种优选实施例中,所述的装置还可以包括如下模块:
系统时间获取模块,用于获取当前系统时间。
缓存模块302,用于将所述数据帧缓存至预设的数据结构中;
在本发明的一种优选实施例中,所述数据帧可以包括数据帧类型、数据帧字节数、和/或数据帧内容,所述缓存可以模块302包括如下模块:
提取子模块,用于从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
缓存子模块,用于将所述数据帧类型、数据帧字节数、和/或数据帧内容,以及所述当前系统时间缓存至预设的类型结构体数组中。
在本发明的一种优选实施例中,所述的装置还可以包括如下模块:
写入模块,用于将所述预设的类型结构体数组中缓存的数组按序写入至预设的循环队列中。
检测模块303,用于检测所述预设的数据结构中是否存在数据帧;若存在,则调用保存模块304;
在本发明的一种优选实施例中,所述检测模块303可以包括如下子模块:
间隔检测子模块,用于按照预设时间间隔检测预设的数据结构中是否存在数据帧。
保存模块304,用于将所述数据帧保存至预设格式的数据文件中。
在本发明的一种优选实施例中,所述预设格式的数据文件可以具有对应的文件名,所述的装置还可以包括如下模块:
添加模块,用于在所述文件名中添加当前系统时间。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据帧采集的方法和一种数据帧采集的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种数据帧采集的方法,其特征在于,包括:
获取终端设备发送或接收的数据帧;
将所述数据帧缓存至预设的数据结构中;
检测所述预设的数据结构中是否存在数据帧;
若存在,则将所述数据帧保存至预设格式的数据文件中。
2.根据权利要求1所述的方法,其特征在于,在所述获取终端设备发送或接收的数据帧的步骤之后,还包括:
获取当前系统时间。
3.根据权利要求1或2所述的方法,其特征在于,所述数据帧包括数据帧类型、数据帧字节数、和/或数据帧内容,所述将数据帧缓存至预设的数据结构中的步骤包括:
从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
将所述数据帧类型、数据帧字节数、和/或数据帧内容,以及所述当前系统时间缓存至预设的类型结构体数组中。
4.根据权利要求1所述的方法,其特征在于,所述获取终端设备发送或接收的数据帧的步骤包括:
获取在所述终端设备发送或接收数据帧的接口处的数据帧。
5.根据权利要求1所述的方法,其特征在于,在所述将数据帧缓存至预设的数据结构中的步骤之后,还包括:
将所述预设的类型结构体数组中缓存的数组按序写入至预设的循环队列中。
6.根据权利要求1所述的方法,其特征在于,所述检测预设的数据结构中是否存在数据帧的步骤为:
按照预设时间间隔检测预设的数据结构中是否存在数据帧。
7.根据权利要求1或2所述的方法,其特征在于,在所述将数据帧保存至预设格式的数据文件中的步骤之后,所述预设格式的数据文件具有对应的文件名,所述的方法还包括:
在所述文件名中添加当前系统时间。
8.一种数据帧采集的装置,其特征在于,包括:
获取模块,用于获取终端设备发送或接收的数据帧;
缓存模块,用于将所述数据帧缓存至预设的数据结构中;
检测模块,用于检测所述预设的数据结构中是否存在数据帧;若存在,则调用保存模块;
保存模块,用于将所述数据帧保存至预设格式的数据文件中。
9.根据权利要求8所述的装置,其特征在于,还包括:
系统时间获取模块,用于获取当前系统时间。
10.根据权利要求8或9所述的装置,其特征在于,所述数据帧包括数据帧类型、数据帧字节数、和/或数据帧内容,所述缓存模块包括:
提取子模块,用于从所述数据帧中提取所述数据帧类型、数据帧字节数、和/或数据帧内容;
缓存子模块,用于将所述数据帧类型、数据帧字节数、和/或数据帧内容缓存至预设的类型结构体数组中。
11.根据权利要求8所述的装置,其特征在于,所述获取模块包括:
数据帧获取子模块,用于获取在所述终端设备发送或接收数据帧的接口处的数据帧。
12.根据权利要求8所述的装置,其特征在于,所述获取模块包括:
写入模块,用于将所述预设的类型结构体数组中缓存的数组按序写入至预设的循环队列中。
13.根据权利要求8所述的装置,其特征在于,所述检测模块包括:
间隔检测子模块,用于按照预设时间间隔检测预设的数据结构中是否存在数据帧。
14.根据权利要求8或9所述的装置,其特征在于,所述预设格式的数据文件具有对应的文件名,所述的装置还包括:
添加模块,用于在所述文件名中添加当前系统时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816141.0A CN105791040A (zh) | 2014-12-23 | 2014-12-23 | 一种数据帧采集的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410816141.0A CN105791040A (zh) | 2014-12-23 | 2014-12-23 | 一种数据帧采集的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105791040A true CN105791040A (zh) | 2016-07-20 |
Family
ID=56377526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410816141.0A Pending CN105791040A (zh) | 2014-12-23 | 2014-12-23 | 一种数据帧采集的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105791040A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121925A (zh) * | 2017-11-23 | 2018-06-05 | 清华大学 | 电镜数据标签及其生成方法和生成系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483538A (zh) * | 2009-01-23 | 2009-07-15 | 深圳市同洲电子股份有限公司 | 一种证券交易数据传送方法、接收方法、系统及设备 |
CN101895420A (zh) * | 2010-07-12 | 2010-11-24 | 西北工业大学 | 快速网络流量异常检测方法 |
CN102497667A (zh) * | 2011-12-20 | 2012-06-13 | 中国电信股份有限公司 | WiFi 应用聚焦区域的定位方法及系统 |
CN102590237A (zh) * | 2006-10-09 | 2012-07-18 | 同方威视技术股份有限公司 | X射线检查系统及该系统中数据和信令的传输方法 |
-
2014
- 2014-12-23 CN CN201410816141.0A patent/CN105791040A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102590237A (zh) * | 2006-10-09 | 2012-07-18 | 同方威视技术股份有限公司 | X射线检查系统及该系统中数据和信令的传输方法 |
CN101483538A (zh) * | 2009-01-23 | 2009-07-15 | 深圳市同洲电子股份有限公司 | 一种证券交易数据传送方法、接收方法、系统及设备 |
CN101895420A (zh) * | 2010-07-12 | 2010-11-24 | 西北工业大学 | 快速网络流量异常检测方法 |
CN102497667A (zh) * | 2011-12-20 | 2012-06-13 | 中国电信股份有限公司 | WiFi 应用聚焦区域的定位方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121925A (zh) * | 2017-11-23 | 2018-06-05 | 清华大学 | 电镜数据标签及其生成方法和生成系统 |
CN108121925B (zh) * | 2017-11-23 | 2020-08-07 | 清华大学 | 电镜数据标签的生成方法和生成系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275958A (zh) | 网站信息识别方法、装置和电子设备 | |
CN106033393B (zh) | 一种应用程序测试方法及系统以及移动终端 | |
CN112714047B (zh) | 基于工控协议流量的测试方法、装置、设备及存储介质 | |
CN108009065B (zh) | 监控axi总线的方法和装置 | |
CN104866416B (zh) | 实现应用程序性能分析的方法和装置 | |
CN109871326A (zh) | 一种脚本录制的方法和装置 | |
CN104317709A (zh) | 软件性能测试方法和系统 | |
CN110401697A (zh) | 一种并发处理http请求的方法、系统及设备 | |
CN106096391A (zh) | 一种进程控制方法及用户终端 | |
CN105516321A (zh) | 一种数据采集方法和装置 | |
CN106210032A (zh) | 基于终端数据批量上报的方法及装置 | |
CN103699835A (zh) | 一种面向Android系统资源的访问控制方法 | |
CN106649342A (zh) | 数据采集平台中数据处理的方法及装置 | |
CN107454205A (zh) | 一种连接服务器的方法和装置 | |
CN109905292A (zh) | 一种终端设备识别方法、系统及存储介质 | |
CN107908512A (zh) | 一种磁盘性能的测试方法及测试装置 | |
CN106997313A (zh) | 一种应用程序的信号处理方法、系统及终端设备 | |
CN105791040A (zh) | 一种数据帧采集的方法和装置 | |
CN109857672A (zh) | 一种信息收集方法、装置、设备及存储介质 | |
CN109408426A (zh) | 一种灵活通用的串行通信方法及系统 | |
CN104008043B (zh) | 跨终端测试方法、待测试端及测试端 | |
WO2018054103A1 (zh) | 一种数据搜索方法及系统 | |
US10700980B2 (en) | User traffic generation method and apparatus | |
CN108491483B (zh) | 一种远程监控程序运行状态的方法和装置 | |
CN111198855A (zh) | 日志数据的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160720 |
|
RJ01 | Rejection of invention patent application after publication |