Since it has been going on so long, you should see the doctor soon. It's probably just hemorrhoids, but the doctor can give you medication to clear them up that you can't get over-the-counter. I know it's embarrassing, but they are very common. The doctor will also want you to take measures to prevent them in the future, such as drinking more water, eating a high-fiber diet, and not straining when you "go."