当前位置:  技术问答>linux和unix

【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(三)

    来源: 互联网  发布时间:2016-11-13

    本文导语:  3. 压力工具代码重用,大数据对比工具轻松开发,快速进行大数据对比 Aperlib提供大数据对比工具的开发框架库,和压力工具框架相类似,它提供不同模块的大数据对比工具的共同部分的功能代码,将不同部分用虚函...

3. 压力工具代码重用,大数据对比工具轻松开发,快速进行大数据对比
Aperlib提供大数据对比工具的开发框架库,和压力工具框架相类似,它提供不同模块的大数据对比工具的共同部分的功能代码,将不同部分用虚函数的形式提供给开发者,通过对虚函数的重写,来实现不同大数据对比工具的不同部分的功能。
【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(三) [图片]
图3 Aperlib大数据对比的功能及重用接口说明图示
由上面的图示我们可以看到,大数据对比工具的很多功能部分是和压力工具是一致的,特别是一些需要重写的虚函数,在实质上这些代码是可以重用的,我们通过重用这些代码能够减少很多的工作量,在有压力工具的基础上进行大数据对比工具的开发的速度是非常快的。
Aperlib提供的大数据对比工具实现的是以压力方式发送请求,并在内存中对结果进行对比,将请求的和结果相对应,因而大数据对比的效率很高,而且各种信息提供的很全面,进行问题的定位也很方便,另外由于模块升级时很有可能会有接口上的变化,因而aperlib支持对于不同接口的socket通讯的模块的大数据对比
3 aperlib的程序逻辑及组成
aperlib中有压力和大数据对比两个功能,下面我们分别介绍一下:
1. 压力工具的基本逻辑及组成
压力工具的基本逻辑见下图:
【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(三) [图片]
这里有两个pool:data_pool和connection_pool,分别用来管理压力的请求信息和连接。有三个线程来实现数据读取,发送请求,检测连接和接收结果数据的功能。读取数据线程从压力词表中读取请求的文本信息,并将这些信息转化为被测模块所需要的请求格式(如二进制数据结构等),然后将数据放到data_pool中。发送线程分别从data_pool和connection_pool中获取请求数据和可写的连接,将请求数据通过可写连接发送给被测模块,并修改连接状态,放回到connection_pool中,并控制压力大小。check和接收数据线程从connection_pool 中获取可读连接句柄,将结果数据读取回来,并根据设定将结果写入到文件或者丢弃,另外通过check连接的状态,将可用连接法如 connection_pool,并将超时或者错误连接重建。
针对上面的功能,aperlib提供了如下的类来实现相对应的功能:readdata类实现请求数据管理的功能,cepoll_ctl类实现连接管理相关功能,stress_ctl类实现压力控制功能,stress_template类通过调用上面三个类的接口函数实现三个线程的具体功能。

|
z这么多,,减下去。。

|
学习、。。。。。

|
太难 不会

|
学习学习

    
 
 

您可能感兴趣的文章:

  • 【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(二)
  • 【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(八)
  • python发布模块的步骤分享
  • 【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(七)
  • 【百度分享】Socket通讯模块压力及大数据对比工具开发之aperlib(一)
  • 【百度分享】基于内核模块的测试代码编写(一)
  • ubuntu12.04使用c编写php扩展模块教程分享
  • 【百度分享】基于内核模块的测试代码编写(三)
  • [百度分享]Bonding模块主要工作模式相关代码分析(一)
  • 用smtplib和email封装python发送邮件模块类分享
  • 【百度分享】基于内核模块的测试代码编写(二)
  • [百度分享]Bonding模块工作流程综述
  • [百度分享]Bonding 模块代码及主要工作模式分析(4)
  • [百度分享]Bonding 模块代码及主要工作模式分析(1)
  • [百度分享]Bonding 模块代码及主要工作模式分析(2)
  • 『分享』从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响!!! (转载)
  • [百度分享]Bonding 模块代码及主要工作模式分析(3)
  • [百度分享]Bonding模块主要工作模式相关代码分析(二)
  • shell对比文件内容脚本分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ​docker之轻量虚拟化技术——docker实战分享
  • php利用腾讯ip分享计划获取地理位置示例分享
  • 点对点文件分享客户端 PeerProject
  • 网络文件分享 Giver
  • IM及文件分享软件 iptux
  • P2P分享软件 Alliance P2P
  • 文件分享软件 eMule Plus
  • P2P 文件分享软件 ShakesPeer
  • 分享页面内容插件 ContentShare
  • 社交分享按钮生成JS库 Socialite.js
  • P2P分享软件 Phex
  • 前端代码编辑和分享平台 RunJS
  • jQuery 分享按钮插件 Share Button
  • 昨天考过SCJP快乐大家分享
  • P2P文件分享 GNUnet
  • 响应式社交分享按钮 RRSSB
  • 谁有免费的英文Office2003(日文也成)分享一下吧!
  • 谁有qmail的日常维护,日志分析的资料分享下?
  • 代码分享
  • 谁有xml和libxml2的说明文档,分享一下吧
  • Java代码分享工具 Java Gems


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3