I'm not an expert, but if your upper back pain lies between your spine & your shoulder blade on both sides, you might have active "trigger points" there that are causing you the pain. (trigger points are knots, ususally as a result of injury or muscle stress or strain that can cause either local or referred pain because the blood supply can't get through & oxygen is cut off). A non-drug remedy for this could be very deep massage against a wall vertically with a tennis ball or, even better, a hard rubber ball of about the same size for about a minute several times a day over a period of at least a couple weeks. I will warn you if you have these trigger points (& it sure sounds like you do), this area will be very very tender & this massage will hurt, but less and less as you keep doing the massage & the knots continually disintegrate from the deep rolling pressure & the pain eventually leaves.
I used this massage therapy just a few days ago on a painful lower backache I developed & the pain went away within several hours, whereas before learning about this self-therapy, it would take my almost semi-annual backache at least three days (together with an over-the-counter pain killer) to run its course. Your situation is more chronic since its been going on for a year, so results might take a little longer,though you should get at least some immediate pain relief.
I suggest you might do a web search to read up on "trigger point therapy" & how it works. There's a few helpful books out there geared to the non-professional with pretty explicit illustrations & directions on how to use this "remedy" for pain in almost any part of the body.