How to Start ProcessInstance idempotently?

Still another problem:

if you start a ProcessInstance that finish fast,then the execution records had been moved to the history tables ( act_ru_* -> act_hi_* );

So we may need to call Runtime & History REST api together to confirm the same business-key not exists.