|本期目录/Table of Contents|

[1]包晓安,聂凡杰,徐璐,等.基于Reactor与非阻塞IO的服务端框架设计与实现[J].浙江理工大学学报,2020,43-44(自科四):520-526.
 BAO Xiaoan,NIE Fanjie,XU Lu,et al.Design and implementation of server framework based on Reactor and nonblocking IO[J].Journal of Zhejiang Sci-Tech University,2020,43-44(自科四):520-526.
点击复制

基于Reactor与非阻塞IO的服务端框架设计与实现()
分享到:

浙江理工大学学报[ISSN:1673-3851/CN:33-1338/TS]

卷:
第43-44卷
期数:
2020年自科四期
页码:
520-526
栏目:
出版日期:
2020-07-10

文章信息/Info

Title:
Design and implementation of server framework based on Reactor and nonblocking IO
文章编号:
1673-3851 (2020) 07-0520-07
作者:
包晓安聂凡杰徐璐张娜吴彪
1.浙江理工大学信息学院,杭州 310018; 2.山口大学东亚研究科,日本山口 753-8514
Author(s):
BAO Xiaoan NIE Fanjie XU Lu ZHANG Na WU Biao
1. School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China; 2.Department of East Asian Studies, Yamaguchi University, Yamaguchi 7538514, Japan
关键词:
Reactor服务端吞吐量IO线程池
分类号:
TP311-5
文献标志码:
A
摘要:
吞吐量对服务端框架的处理效率有着重要的影响,为了进一步提升传统服务端框架的吞吐量,提出了一种基于Reactor模式与非阻塞IO的服务端框架。首先,对Reactor模式与非阻塞IO进行了优势分析,并阐述了Reactor线程池的分发逻辑;其次,通过设计自适应缓冲区结构降低了内存分配次数,提升了数据读入和写出的效率;最后,通过设计双缓冲结构优化了日志的写入操作,提升了日志写入效率。实验结果显示:在单线程测试环境下,对比libevent,该服务端框架吞吐量平均提升了9%;在多线程测试环境下,分别在100连接与1000连接时,对比Boost.Asio,该服务端框架吞吐量分别平均提升了28-66%与20-76%。这表明该服务端框架吞吐量较高,可应用于较大数据量请求的场景。

参考文献/References:

[1] 杨志军, 孙洋洋. 区分站点状态的两级轮询控制系统[J]. 计算机应用, 2019, 39(5): 1416-1420.
[2] 刘珂男, 童薇, 冯丹, 等. 一种灵活高效的虚拟CPU调度算法[J]. 软件学报, 2017, 28(2): 398-410.
[3] Rosa L, Rodrigues L, Lopes A, et al. Self management of adaptable componentbased applications[J]. IEEE Transactions on Software Engineering, 2013, 39(3): 403-421.
[4] 杨迪. 基于容器云的微服务系统[J]. 电信科学, 2018, 34(9): 169-178.
[5] Zhao F, Wei L N, Chen H B. Optimal time allocation for wireless information and power transfer in wireless powered communication systems[J]. IEEE Transactions on Vehicular Technology, 2016, 65(3): 1830-1835.
[6] Jiang W, Feng G, Qin S. Optimal cooperative content caching and delivery policy for heterogeneous cellular networks[J]. IEEE Transactions on Mobile Computing, 2017, 16(5): 1382-1393.
[7] Vaarandi R, Pihelgas M. LogCluster. A data clustering and pattern mining algorithm for event logs. Internationl Conference on Network and Service Management. IEEE, 2016:1-7.
[8] 罗剑锋. Boost程序库完全开发指南[M]. 4版. 北京: 电子工业出版社, 2017: 491-530.
[9] Gul K S Q, 王鹏, 罗森林, 潘丽敏,等. 一种高并发网络Web应用技术研究[J]. 信息网络安全, 2017(12): 29-35.
[10] 顾振德, 刘子辰, 龙隆, 等. 基于Netty的IoT终端通信服务系统设计[J]. 计算机应用与软件, 2019, 36(4): 135-139.

备注/Memo

备注/Memo:
收稿日期:2019-10-31
网络出版日期: 2020-03-05
基金项目:浙江省重点研发计划项目(2020C03094);浙江省自然科学基金青年基金项目(LQ20F050010);浙江省公益技术研究计划项目(GG20F010028)
作者简介:包晓安(1973-),男,浙江东阳人,教授,硕士,主要从事图像处理、机器学习等方面的研究
更新日期/Last Update: 2020-07-06