郭金磊,张玉生,胡爱兰
(华北计算机系统工程研究所,北京 100083)
基于NIO的高速数据传输技术的实现
郭金磊,张玉生,胡爱兰
(华北计算机系统工程研究所,北京 100083)
摘要:随着大数据技术的发展,多线程高并发等技术已经越来越成为大数据处理中的关键技术。非阻塞式I/O(new I/O,NIO)技术作为一种分布式高并发技术被广泛应用,但对于大数据量的通信往往需要很多的时间才能完成。Google提出的Protocol Buffer序列化压缩技术相对于传统序列化效率高、时间短、使用简单。文章将传统NIO技术与Protocol Buffer相结合,在分布式系统不同节点通信中,极大地降低了分布式系统的网络负载,大大节省了数据传输时间。
关键词:NIO(new I/O) ;Protocol Buffer ;分布式系统;序列化
引用格式:郭金磊,张玉生,胡爱兰. 基于NIO的高速数据传输技术的实现[J].微型机与应用,2016,35(13):19-20,24.
0引言
随着大数据技术的发展,多线程高并发等技术已经越来越成为大数据处理中的关键技术,同一个节点中的不同线程和不同节点的线程间的通信越来越密切。Java NIO作为一种分布式数据传输技术在多线程高并发[1]的实际应用中扮演着至关重要的角色。为减小网络负载,加速分布式系统中网络通信,迫切需要一种高效率压缩序列化技术。
1研究现状
Java NIO的核心是Channel、Buffer 和 Selector。NIO基于通道(Channel)和缓冲区(Buffer)进行操作,通道先在选择器注册读写事件,读数据时,当选择器发现该通道准备读完成,通道直接将数据从底层网卡队列读进缓冲区。写数据时,当选择器发现该通道准备写完成,通道将数据写进缓冲区。……