确保Task的唯一性

为任务生成 id

一个下载任务怎么来确定其唯一性?

  1. 类似数据库的主键自增长?
  2. uuid的唯一性?

唯一确实可以保证,但是我不知道这个唯一,
因为我手里只有这两个信息:

  1. 下载的url
  2. 下载到本地的路径

ok,这样来确定主键吧:下载的url+下载到本地的路径
有了这个信息,我可以获取到当前的任务,想怎么管理这个任务就怎么管理~

但是这些信息太长,并且其中的字符可能包括了一些非法字符。

那我们转换一下思路:
可以把信息下载的url+下载到本地的路径用md5来生成一个唯一性信息

FileDownloadUtils.md5(formatString("%sp%s@dir", url, path)).hashCode();

你可能感兴趣的:(确保Task的唯一性)