基于异步回调机制的嵌入式Linux浏览器底层设计与实现

基于异步回调机制的嵌入式Linux浏览器底层设计与实现

论文摘要

嵌入式浏览器常常会因为各种阻塞的网络I/O操作给浏览器的效率造成严重的限制。本文在对网络延迟对网络数据请求造成的影响规律进行详细分析后,指出了网络延迟造成Socket API调用阻塞的五个阶段:DNS域名解析、建立TCP连接、发送Http请求、接收服务器返回的数据、关闭TCP连接等等。然后根据网络延迟对浏览器数据请求的影响规律,有针对性地提出了浏览器底层的设计策略。针对嵌入式平台的特点,利用根据命令处理器设计模式实现的“请求队列-异步回调”机制,将各个引起延迟的网络I/O操作模块封装隔离成可以异步回调操作的模块。在此基础上设计并实现的浏览器底层架构,有效减少了各个模块之间互相牵制的可能性,提高浏览器网络I/O操作的效率。同时,在底层各个模块中,对于并发网络I/O操作采用POSIX实时信号作为事件驱动机制,配合网页数据缓存来减少不必要的网络传输、再将DNS域名解析操作以独立的线程运行。该方案保证浏览器的不会因网络I/O操作而阻塞,并重叠利用网络延迟时间去处理数据,提高了网络吞吐率和浏览器的性能。

论文目录

  • 中文摘要
  • 英文摘要
  • 1 绪论
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 研究目的与意义
  • 1.4 研究内容
  • 1.5 论文结构
  • 2 同步网络 I/O 执行流程对浏览器性能的影响
  • 2.1 引言
  • 2.2 在网络请求过程中的网络延迟
  • 2.2.1 Http 请求执行过程中的网络延迟
  • 2.2.2 DNS 请求过程中的网络延迟
  • 2.3 网络延迟对Socket API 同步执行流程的影响
  • 2.3.1 同步机制的缺点
  • 2.3.2 同步调用阻塞在Socket API 执行流程中的表现
  • 2.3.3 网络延迟对TCP 连接的影响
  • 2.4 web 网页的组成特点对浏览器性能的影响
  • 2.5 阻塞式执行流程地浏览器性能造成的影响
  • 2.6 浏览器底层设计时应该采取的设计策略
  • 2.6.1 采用异步执行架构
  • 2.6.2 利用网络等待时间执行有效运算
  • 2.6.3 合理的使用数据缓存
  • 2.7 本章小结
  • 3 异步回调机制与浏览器底层架构
  • 3.1 引言
  • 3.2 异步回调机制
  • 3.2.1 异步回调机制
  • 3.2.2 命令处理器设计模式
  • 3.2.3 用命令处理器模式实现“请求队列-异步回调”机制
  • 3.3 浏览器底层架构采用异步回调机制的必要性
  • 3.4 与多线程并发网络I/O 的比较
  • 3.5 本章小结
  • 4 嵌入式浏览器底层架构的设计与实现
  • 4.1 引言
  • 4.2 浏览器的底层的总体设计
  • 4.2.1 各个组成模块介绍
  • 4.2.2 各种应用层协议的封装
  • 4.3 网页数据缓存的实现
  • 4.3.1 数据结构
  • 4.3.2 执行流程
  • 4.3.3 接口定义
  • 4.4 Http 请求模块的实现
  • 4.4.1 数据结构
  • 4.4.2 执行流程
  • 4.4.3 接口定义
  • 4.5 DNS 缓存管理模块的实现
  • 4.5.1 数据结构
  • 4.5.2 执行流程
  • 4.5.3 接口定义
  • 4.6 本章小结
  • 5 基于实时信号的 I/O 引擎模块实现
  • 5.1 引言
  • 5.2 实时信号的性能特点
  • 5.2.1 基本概念
  • 5.2.2 实时信号对普通信号的改进与发展
  • 5.2.3 实时信号的发送与接收
  • 5.2.4 实时信号处理函数的安装
  • 5.3 基于实时信号的网络I/O 事件驱动模型
  • 5.3.1 SIGIO 信号驱动I/O 模型的局限
  • 5.3.2 基于实时信号的事件驱动机制所具有的优点
  • 5.3.3 嵌入式平台采用实时信号作为事件驱动机制的优点
  • 5.4 Signal-pre-fd 策略
  • 5.4.1 实时信号队列溢出可能造成的潜在限制
  • 5.4.2 采用signal-pre-fd 策略防止信号队列溢出
  • 5.5 基于实时信号事件驱动机制的I/O 引擎模块的实现
  • 5.5.1 数据结构
  • 5.5.2 执行流程
  • 5.5.3 接口定义
  • 5.6 本章小结
  • 6 测试结果与分析
  • 6.1 测试结果
  • 6.2 结果分析
  • 7 结论与展望
  • 7.1 主要工作总结
  • 7.2 对后续工作的展望
  • 致谢
  • 参考文献
  • 独创性声明
  • 学位论文版权使用授权书
  • 相关论文文献

    • [1].思政教育融入《Linux基础》课程的探索[J]. 武汉工程职业技术学院学报 2019(04)
    • [2].基于Linux的智能家居控制系统综合实验设计[J]. 实验技术与管理 2020(01)
    • [3].Linux系统教学中关于命名管道文件的解析[J]. 软件 2020(02)
    • [4].基于嵌入式Linux的多关节机器人通信系统设计[J]. 通信电源技术 2020(04)
    • [5].嵌入式Linux下内存泄漏的检查和解决[J]. 现代计算机 2020(11)
    • [6].基于“Linux集群和自动化运维”课程规划与设计[J]. 数字通信世界 2020(04)
    • [7].基于Linux系统服务器网络安全机制[J]. 电子技术与软件工程 2020(09)
    • [8].基于嵌入式Linux系统的电力监控系统优化[J]. 舰船科学技术 2020(14)
    • [9].探析大数据时代的Linux平台网络安全及防范措施[J]. 科技传播 2020(12)
    • [10].Linux操作系统项目情境教学研究[J]. 福建电脑 2020(09)
    • [11].Linux操作系统探讨[J]. 计算机产品与流通 2019(12)
    • [12].基于Linux的可信计算系统的设计与实现[J]. 电子设计工程 2019(22)
    • [13].Linux平台下网络直播系统的实现[J]. 科技展望 2016(35)
    • [14].任务驱动教学法在linux课程教学中的应用研究[J]. 电子制作 2016(22)
    • [15].从Linux的发展史看职业教育的发展前景[J]. 无线互联科技 2017(01)
    • [16].Linux下自适应网络数据捕获系统设计[J]. 中国新通信 2017(04)
    • [17].Linux调度器免锁优化方法研究[J]. 小型微型计算机系统 2017(04)
    • [18].一种基于Linux标准分区的快照方法[J]. 现代计算机(专业版) 2017(07)
    • [19].Linux网络编程的研究[J]. 电脑编程技巧与维护 2017(06)
    • [20].基于性质制导符号执行的Linux驱动程序缺陷检测研究[J]. 计算机工程与科学 2017(04)
    • [21].基于Linux的嵌入式日志系统设计与实现[J]. 电子科学技术 2017(03)
    • [22].Linux温度控制优化[J]. 信息与电脑(理论版) 2017(08)
    • [23].基于Linux的软件版路由器设计与实现[J]. 电脑编程技巧与维护 2017(14)
    • [24].基于Linux的考勤系统的设计与实现[J]. 电脑知识与技术 2017(18)
    • [25].基于Linux系统的即时通信系统的设计与实现[J]. 电子技术与软件工程 2017(14)
    • [26].基于Linux系统的采煤机调速主控系统设计[J]. 煤炭技术 2017(08)
    • [27].嵌入式Linux根文件系统的构建[J]. 铜陵学院学报 2017(03)
    • [28].Linux系统移植的分析[J]. 信息系统工程 2017(07)
    • [29].基于Linux的智能电表数据采集实现[J]. 软件导刊 2017(09)
    • [30].基于嵌入式Linux的智能家居机器人[J]. 电子世界 2017(20)

    标签:;  ;  ;  ;  ;  ;  

    基于异步回调机制的嵌入式Linux浏览器底层设计与实现
    下载Doc文档

    猜你喜欢