public boolean isLeader(String uuid, List<ScheduleStrategyRunntime> factoryList) {
   long no = Long.parseLong(uuid.substring(uuid.lastIndexOf("$") + 1));
   for (ScheduleStrategyRunntime server : factoryList) {
     if (no > Long.parseLong(server.getUuid().substring(server.getUuid().lastIndexOf("$") + 1))) {
       return false;
     }
   }
   return true;
 }
  /**
   * 根据策略重新分配调度任务的机器
   *
   * @throws Exception
   */
  public void assignScheduleServer() throws Exception {
    for (ScheduleStrategyRunntime run :
        this.scheduleStrategyManager.loadAllScheduleStrategyRunntimeByUUID(this.uuid)) {
      List<ScheduleStrategyRunntime> factoryList =
          this.scheduleStrategyManager.loadAllScheduleStrategyRunntimeByTaskType(run.getTaskType());
      if (factoryList.size() == 0 || this.isLeader(this.uuid, factoryList) == false) {
        continue;
      }
      ScheduleStrategy scheduleStrategy =
          this.scheduleStrategyManager.loadStrategy(run.getTaskType());

      int[] nums = new int[factoryList.size()];
      if (scheduleStrategy.getNumOfSingleServer() > 0) {
        int count = 0;
        for (int i = 0; i < factoryList.size(); i++) {
          if (scheduleStrategy.getAssignNum() - count > scheduleStrategy.getNumOfSingleServer()) {
            nums[i] = scheduleStrategy.getNumOfSingleServer();
          } else {
            nums[i] = scheduleStrategy.getAssignNum() - count;
          }
          count = count + nums[i];
        }
      } else {
        int numOfSingle = scheduleStrategy.getAssignNum() / factoryList.size();
        int otherNum = scheduleStrategy.getAssignNum() % factoryList.size();
        for (int i = 0; i < factoryList.size(); i++) {
          if (i < otherNum) {
            nums[i] = numOfSingle + 1;
          } else {
            nums[i] = numOfSingle;
          }
        }
      }

      for (int i = 0; i < factoryList.size(); i++) {
        ScheduleStrategyRunntime factory = factoryList.get(i);
        // 更新请求的服务器数量
        this.scheduleStrategyManager.updateStrategyRunntimeReqestNum(
            run.getTaskType(), factory.getUuid(), nums[i]);
      }
    }
  }