update snapshot method and fix bug

1. new add snapTime function;
2. fix snapshot region bug;
3. update snapshot method;
4. add snapshot operation before raising some exception;
5. update favor method