Мне нужно создать онлайн-панель, используя данные из базы данных SQL с Windows Server 2012. Эта панель должна содержать диаграммы и должна иметь возможность автоматического обновления данных.
Моя самая большая проблема заключается в том, как я могу получить доступ к этому файлу SQL (который составляет около 600 МБ) с сервера Windows.
Создание диаграмм на основе php не представляет особой проблемы, также я нашел множество онлайн-сервисов, которые предлагают онлайн-графики, но моя проблема в том, как я могу подключить их, потому что я могу скопировать базу данных и сделать из нее диаграмму, но для этого нужно чтобы быть «живым» соединением между win server и тем сайтом, на котором я собираюсь разместить панель инструментов, потому что это единственный способ создать автоматически обновляемый график (по крайней мере, я так думаю). Я также подумал об автоматической синхронизации с dropbox, а затем каким-то образом установить соединение с dropbox, но я думаю, что это невозможно. Любая помощь будет высоко оценена.
Хорошо, я верю, что вы ищете какой-то архитектурный совет. Итак, позвольте мне попытаться помочь вам.
Во-первых, вы не «обновляете информационную панель при изменении базы данных» (нет способа, которым SQL будет вызывать некоторый код при обновлении), но вместо этого создаете некоторые методы на бэкэнде, которые выполняют оба действия: изменяют базу данных и взаимодействуют с внешним интерфейсом. -конец; и меняйте свою базу данных только используя их. Подобно:
function changeMyDB($options) {
// do some actual changes and if that doesn't fail,
// notify the user
}
Во-вторых, вам нужно понять, какой способ использовать для связи с пользователем (как «уведомить» его из серверной части, когда они не выполняют никаких запросов). Ну, здесь у вас есть 2 варианта. Более простой способ — использовать веб-сокеты (насколько мне известно, лучше использовать с FastCGI, чем CGI), а другой (менее подходящий, я думаю) — регулярно отправлять запросы от внешнего интерфейса к внутреннему. и обновите, если есть ожидающие обновления, которые вы зарегистрируете в своем changeMyDB
функция. Также я слышал о толкатель в этом контексте пару раз, но я никогда не давал время понять, что это такое.
Других решений пока нет …