They're certainly very similar. "Knock over" is usually used to describe people, animals or things being caused to lose their balance after being impacted. "Run over" is used more often to describe people, animals or things being impacted by a vehicle, though it could also describe being impacted by a person or animal. "Run over" also often implies that the impacted person, animal, or object was injured, damaged, or even flattened.