Novak Djokovic stretched his unbeaten run in China to 19 matches after his Shanghai Masters semi-final victory over Jo-Wilfried Tsonga.