主权项 |
1.一种海量数据多线程并行处理中的负载均衡方法,服务端利用多个并行的数据处理线程对接收到的数据进行处理,其特征在于:对于每一个新接收到的数据包,服务端按照以下方法为其分配数据处理线程:判断是否存在当前待处理数据包个数<i>C</i>为0或者已处理数据包个数<i>n</i>为0的数据处理线程,如是,则将新收到的数据包分配给其中任意一个数据处理线程;如否,则将新收到的数据包分配给相对空闲率最高的数据处理线程,所述数据处理线程的相对空闲率按照以下公式计算:<img file="2012103156027100001DEST_PATH_IMAGE002.GIF" wi="62" he="46" />式中,<img file="2012103156027100001DEST_PATH_IMAGE004.GIF" wi="22" he="18" />为相对空闲率;<img file="2012103156027100001DEST_PATH_IMAGE006.GIF" wi="17" he="20" />为该数据处理线程当前待处理数据包个数;<img file="2012103156027100001DEST_PATH_IMAGE008.GIF" wi="18" he="25" />为该数据处理线程在处理<i>n</i>个数据包后的数据处理效率,其表达式为如下:<img file="2012103156027100001DEST_PATH_IMAGE010.GIF" wi="208" he="81" />其中,<i>n</i>为已处理数据包个数,<img file="2012103156027100001DEST_PATH_IMAGE012.GIF" wi="16" he="25" />为该数据处理线程处理第<i>n</i>个数据包所耗费时间。 |