修改rank，以适应不同长度的块