CN103500088A - 一种用于key-value存储系统的trace序列的生成方法 - Google Patents
一种用于key-value存储系统的trace序列的生成方法 Download PDFInfo
- Publication number
- CN103500088A CN103500088A CN201310429837.3A CN201310429837A CN103500088A CN 103500088 A CN103500088 A CN 103500088A CN 201310429837 A CN201310429837 A CN 201310429837A CN 103500088 A CN103500088 A CN 103500088A
- Authority
- CN
- China
- Prior art keywords
- key
- storage system
- value
- trace
- value storage
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明为一种用于key-value存储系统的trace序列的生成方法,涉及计算机网络、存储系统和程序设计领域。现有数据集多用作自然语言处理,特定领域的规律分析(比如气象),几乎没有用于研究存储系统性能的trace数据集。网络数据报与key-value存储系统的请求序列有相似的规律。本发明的trace生成方法,基于网络包的pcap格式trace文件,使用网络包中的5元组作为key的基础,根据包出现的顺序构造put、get序列。本发明的trace生成方法适用于key-value系统的性能测试。
Description
技术领域
本发明涉及计算机网络、存储系统和程序设计领域,
背景技术
现有数据集多用作自然语言处理,特定领域的规律分析(比如气象),几乎没有用于研究存储系统性能的trace数据集。网络数据报与key-value存储系统的请求序列有相似的规律。可以将数据报中的5元组(源IP,目的IP,源端口,目的端口,传出层协议)作为key构造请求序列。
发明内容
本发明提出了一种基于网络trace生成key-value存储系统的请求序列的方法。
第一步,解析pcap报文,生成request文件。
1.1解析pcap报文
从pcap文件中读出一条pcap包之后,首先判断此包的长度,如果不满足网络层报文的长度则直接丢弃。如果满足,从IP报头读取源IP和目的IP,然后读取传输层协议类型,根据传输层协议(tcp或者udp)类型读取源端口和目的端口。这样就得到一个完整的5元组。对此5元组进行base64编码,将结果传递给分析函数(第1.2步实现)。之后进行下一个报文的分析。
1.2生成request文件
上一步获得的5元组作为key,首先要判断一个key是否出现过,这就要存储已经出现过的key。由于key的数目可能很多,不能仅仅使用内存来存放,因此本发明使用了一个key-value存储系统来存放已经出现过的key,判断key是否出现过只需要进行一次get操作即可。如果key存在则输出(get,key)元组,否则输出(put,key)。
整个过程如图1所示。
第二步,根据request文件,构造需要的请求序列。
需要构造的主要是value的长度。value长度变化较大,不同应用之间也有差别,可以根据均匀分布的随机序列构造各种分布的随机序列,如正态分布,指数分布。根据这些序列的结果设定value的长度,就能获得value长度满足不同分布的trace。
本发明从自身的需求出发,根据网络数据报构造key-value存储系统的请求队列。
附图说明
图1是一条pcap报文解析流程;
图2是pcap文件格式示意图;
图3是pcap包头结构。
具体实施方式
第一步,解析pcap报文,生成request文件。
1.1解析pcap报文
pcap的文件格式如图2所示,其中包头24字节,每个包头16字节,pcap数据实际上就是网络链路层的数据报(一般只会保留各层包头,丢弃实际的数据),长度随包的内容变化。包头的结构如图3所示。第13-16字节的长度标明了后面pcap数据的长度。最重要的5元组内容要从pcap数据段中获取,根据TCP/IP协议相关内容从IP包头中读取源IP、目的IP和协议类型,根据传输层TCP或UDP协议读取源端口和目的端口。相关内容可以从网上找到,本说明不做解释。得到5元组之后,因为底层的存储需要转化为字符串,为防止转化时出现信息丢失(0截断的情况),进行base64编码,将结果传递给下一步。处理完一条数据后继续处理下一条。
1.2生成request文件
上一步获得的5元组作为key1,将获得的五元组存入底层的存储(比如leveldb)。由5元组获得的key1长度变化不大,因此需要使用随机函数来生成不同长度key。随机函数可以根据均匀分布的随机函数构造各种分布的函数,比如指数分布,正态分布。具体的内容可以在原有的key1值基础上添加或者删除一些字符构造成新的key2,然后将key1作为key,key2作为value存入底层存储。判断key(key1)是否存在只需一次get操作就可以了。如果key(key1)存在则输出(get,key2)元组到request文件,否则输出(put,key2)元组。
第二步,根据request文件,构造需要的请求序列。
第一步已经获得了key以及具体的操作,这一步主要是构造value。value本身的内容是什么并不重要,只要长度满足一定的变化规律就可以了。可以复用1.2步的随机函数构造。逐行读取1.2生成的元组,如果是put,就生成随机的value,输出(put,key,value)到trace文件,如果是get,则输出(get,key)元组。
Claims (3)
1.一种用于key-value存储系统的trace序列的生成方法,其特征在于基于网络trace生成key-value存储系统的请求序列,具体为:
第一步,解析pcap报文,生成request文件,包括:
步骤1.1解析pcap报文,从pcap文件中读出一条pcap包之后,首先判断此包的长度,如果不满足网络层报文的长度则直接丢弃。如果满足,从IP报头读取源IP和目的IP,然后读取传输层协议类型,根据传输层协议(tcp或者udp)类型读取源端口和目的端口。这样就得到一个完整的5元组。对此5元组进行base64编码,将结果传递给分析函数(第1.2步实现)。之后进行下一个报文的分析。
步骤1.2生成request文件,上一步获得的5元组作为key,首先要判断一个key是否出现过,这就要存储已经出现过的key。由于key的数目可能很多,不能仅仅使用内存来存放,因此本发明使用了一个key-value存储系统来存放已经出现过的key,判断key是否出现过只需要进行一次get操作即可。如果key存在则输出(get,key)元组,否则输出(put,key)。
第二步,根据request文件,构造需要的请求序列。
需要构造的主要是value的长度。value长度变化较大,不同应用之间也有差别,可以根据均匀分布的随机序列构造各种分布的随机序列,如正态分布,指数分布。根据这些序列的结果设定value的长度,就能获得value长度满足不同分布的trace。
2.根据权利要求1所述的一种用于key-value存储系统的trace序列的生成方法,其特征在于,步骤1.1中使用网络报文的5元组作为key的基础,进行base64编码,然后根据随机函数构造不同长度的key。
3.根据权利要求1所述的一种用于key-value存储系统的trace序列的生成方法,其特征在于,步骤1.2中根据5元组是否出现过判断一次key-value系统的操作是put或者get,如果没有出现过是put,出现过则是get。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429837.3A CN103500088A (zh) | 2013-09-18 | 2013-09-18 | 一种用于key-value存储系统的trace序列的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429837.3A CN103500088A (zh) | 2013-09-18 | 2013-09-18 | 一种用于key-value存储系统的trace序列的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103500088A true CN103500088A (zh) | 2014-01-08 |
Family
ID=49865303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310429837.3A Pending CN103500088A (zh) | 2013-09-18 | 2013-09-18 | 一种用于key-value存储系统的trace序列的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103500088A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222532A1 (en) * | 2004-11-30 | 2008-09-11 | Mester Michael L | Controlling and Monitoring Propagation Within a Network |
CN102929793A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社东芝 | 包括键-值存储的存储器系统 |
CN103023982A (zh) * | 2012-11-22 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种云存储客户端的低延迟元数据访问方法 |
WO2013075306A1 (zh) * | 2011-11-24 | 2013-05-30 | 华为技术有限公司 | 数据访问方法和装置 |
-
2013
- 2013-09-18 CN CN201310429837.3A patent/CN103500088A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080222532A1 (en) * | 2004-11-30 | 2008-09-11 | Mester Michael L | Controlling and Monitoring Propagation Within a Network |
CN102929793A (zh) * | 2011-08-08 | 2013-02-13 | 株式会社东芝 | 包括键-值存储的存储器系统 |
WO2013075306A1 (zh) * | 2011-11-24 | 2013-05-30 | 华为技术有限公司 | 数据访问方法和装置 |
CN103023982A (zh) * | 2012-11-22 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种云存储客户端的低延迟元数据访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281213B (zh) | 一种网络流量内容提取和分析检索方法 | |
US8953600B2 (en) | Telemetry data routing | |
CN107113282A (zh) | 一种抽取数据报文的方法及装置 | |
CN101563908A (zh) | 分析网络流的装置和方法 | |
WO2016082371A1 (zh) | 一种基于ssh协议的会话解析方法及系统 | |
CN105718276A (zh) | 提供apk下载的方法和装置以及nginx服务器 | |
CN105302885B (zh) | 一种全文数据的提取方法和装置 | |
CN103023728B (zh) | 流监控方法 | |
CN104079545A (zh) | 一种提取数据包过滤规则的方法、装置和系统 | |
EP3163837A1 (en) | Header compression for ccn messages using a static dictionary | |
CN103188267B (zh) | 一种基于dfa的协议解析方法 | |
CN103209103A (zh) | 网络设备的测试方法及装置 | |
EP3166277A1 (en) | Bit-aligned header compression for ccn messages using dictionary | |
CN113641520B (zh) | 数据处理方法、系统、设备以及存储介质 | |
WO2015101152A1 (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
Bouras et al. | A tool for automating network simulation and processing tracing data files | |
CN112866275B (zh) | 一种流量抽样方法、装置和计算机可读存储介质 | |
EP3163838B1 (en) | Header compression for ccn messages using dictionary learning | |
CN103929447B (zh) | 一种基于PEEK操作的解析HTTP chunked编码数据的方法 | |
CN108173948A (zh) | 一种分布式试验数据实时交换方法 | |
CN103500088A (zh) | 一种用于key-value存储系统的trace序列的生成方法 | |
CN111211939A (zh) | 一种基于网络处理器实现流表高效计数的装置和方法 | |
Yuan | Data structures and algorithms for scalable NDN forwarding | |
CN103929404B (zh) | 一种解析HTTP chunked编码数据的方法 | |
Kadianakis | Packet size pluggable transport and traffic morphing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140108 |