数据聚集是无线传感器网络中的基本操作,聚集感测到的数据并发送到Sink节点.传感器网络存在能量约束,网内数据聚集技术可以减少传输的数据量,有效地节省能量.然而大部分的网内数据聚集都采用先发性(proactive)的路由协议,不能根据事件动态建立数据聚集结构.为解决这个问题,提出一种基于动态分簇路由的网内数据聚集算法(In-net-work Data Aggregation based on Dynamic-Clustering Routing,IDADCR).该算法考虑节点与Sink节点距离、节点密度和节点剩余能量三个因素,进行簇头选择,实现簇内数据聚集.引入聚集距离的概念,提出了改进的最短路径树,实现簇间数据聚集.实验结果表明,该算法在动态网络环境中有效地降低了数据传输量,实现了网内数据聚集.