2020 Лютий

Що таке проблема 2038 року та як її виправити?

Через 18 років, коли годинник проб’є 14 хвилин і сім секунд на третю ранку у вівторок 19 січня 2038 року по Грінвічу, світ сколихне баг, відомий як проблема 2038 року (або Y2038). Будь-який комп’ютер, програма, сервер або вбудована система, які зберігають час, використовуючи 32-розрядне ціле число зі знаком, вийдуть із ладу, якщо не будуть оновлені заздалегідь. Деяке програмне забезпечення, яке працює з майбутніми датами, вже почало давати збій, оскільки дану проблему не передбачали і не виправили раніше.

Майже всі операційні системи, які використовуються сьогодні, беруть свій початок від UNIX. Коли інженери розробили першу комп’ютерну операційну систему UNIX в 1970-х, вони довільно вирішили, що час буде представлено у вигляді 32-розрядного цілого числа зі знаком і буде вимірюватися як кількість секунд з 12:00:00 1 січня 1970 року. 32-бітові системи дати і часу можуть досягати тільки 2 147 483 647 секунд, що припадає відповідно на 19 січня 2038 року (3:14:08 ранку). У цей день будь-які програми на Сі, що використовують стандартну 32-бітну бібліотеку time_t, матимуть проблеми з обчисленням дати.

Проблема цілих чисел зі знаком полягає в тому, що вони не поводять себе як одометр автомобіля. Коли 5-значний одометр досягає 99 999 миль, а водій проїжджає ще одну милю, цифри «перевертаються» на 00000. Але коли ціле число зі знаком досягає максимального значення і потім збільшується, воно повертається до свого найменшого від’ємного значення. Додавання ще 1 до максимального значення 2 147 483 647 призведе до того, що ціле число обернеться на мінімальне значення -2 147 483 647, що відповідає 13 грудня 1901 року в 20:45:52 за Гринвічем. Отож, комп’ютер буде думати, що він здійснив подорож у часі. Це називається «переповненням цілих чисел» і означає, що в лічильнику закінчилися використовувані біти, і він починає проявлятися як негативне число.

Більшість допоміжних функцій, що використовують тип даних time_t, взагалі не можуть обробляти негативні значення time_t. Вони зазнають невдачі і повертають код помилки, і це призводить до аварійного завершення програми. Зокрема, ця проблема є актуальною для операційної системи Unix, яка підтримує телефони Android і Apple, а також для більшості інтернет-серверів. Деякі програми, які працюють з майбутніми датами, також можуть зазнавати збій раніше, ніж треба. Наприклад, програма, яка має справу з датами на 20 років вперед, повинна бути виправлена ​​не пізніше 2018 року.

Для планування Y2038 необхідний поетапний і випереджувальний підхід. Прямо зараз потрібно зосередитися на областях, що включають: 1) програмне забезпечення, яке обробляє майбутній час і дати; 2) формати повідомлень і файлів в мережі; 3) пристрої з тривалим строком служби.

В першу чергу слід сфокусуватися на програмному забезпеченні, яке має справу з майбутніми датами для обробки сертифікатів X.509 (наприклад, тих, які використовуються для HTTPS) і центрів сертифікації (ЦС) або для фінансового планування. У багатьох з цих сценаріїв проблеми вдалося вирішити, перемістивши застаріле програмне забезпечення з 32-розрядного цілого числа time_t на 64-розрядний time_t. В інших випадках потрібні більш значні зміни, особливо коли математичні значення перетворюються в цілі числа, коли задіяні формати провідників повідомлень або коли значення зберігаються в базах даних. Під час тестування та лагодження підтримки для 20-річних ЦС можуть бути задіяні низхідні залежності. Якщо дата, яка виходить за межі січня 2038 року, вводиться в систему ведення журналів або систему моніторингу, і якщо ці дані по черзі вводяться в системи оповіщення або бази даних звітів або системи забезпечення, то всі вони також можуть потребувати виправлення.

Коли 32-бітові мітки часу поміщаються в повідомлення, бази даних або формати файлів, вплив може виходити далеко за рамки конкретної системи. Це також системи з зовнішніми залежностями, де часто потрібно більш просунуте планування у вигляді взаємодії через кордони системи. Для цих наборів взаємодіючих систем можуть знадобитися зміни в певному порядку, і часто в гру вступає зворотна сумісність. Крім того, якщо існують формально або неофіційно стандартизовані протоколи, які використовують 32-бітові мітки часу в повідомленнях, будь-яка міграція або виправлення можуть бути засновані на виправленні стандарту. Важливо звернути увагу на такий ланцюжок залежностей:

Якщо на кожен з цих етапів потрібно кілька років, а термін доставки товару – тривалий, то це може стати проблемою.

Пристрої з тривалим терміном служби також повинні бути в центрі уваги. Вбудовані пристрої, що поставляються з 32-бітовим обладнанням, не можуть бути легко виправлені за допомогою оновлення програмного забезпечення до 64-бітного time_t. Особливе занепокоєння, ймовірно, будуть викликати підключені автомобілі й інші пристрої IoT. З огляду на поточні тенденції, цілком ймовірно, що більше 10% проданих сьогодні автомобілів будуть як і раніше експлуатуватися в 2038 році, а зі збільшенням віку автомобілів і деяких автомобілів на дорозі цей відсоток може бути навіть вище. Через вісімнадцять років у нас може залишитися значна частина машин, що будуть мати серйозні проблеми. Схожа тенденція простежується в інших вбудованих системах, таких як домашні ігрові консолі та смарт телевізори, де пристрої можуть поставлятися з попередньо встановленими сертифікатами від 20 років.

Пристрої зв’язку, такі як стільникові телефони й інтернет-пристрої (маршрутизатори, точки бездротового доступу), є ще одним основним використанням вбудованих систем. Вони покладаються на зберігання точного часу і дати і все більше засновані на UNIX-подібних операційних системах. Люди повідомляли, що через Y2038 деякі пристрої, що працюють під управлінням 32-розрядної версії Android, при зміні часу на 19 січня 2038 року завершують роботу в аварійному порядку і не перезавантажуються.

Пристрої з тривалим терміном служби вимагають більш комплексного тестування, щоб операційна система і програмне забезпечення продовжували працювати належним чином до, під час і після точки переходу Y2038.

Як і Y2K, це добре відома проблема, однак багато людей не вважають її серйозною загрозою. Загальне виправдання, яке можна знайти на форумах, полягає в тому, що до 2038 року 32-бітове програмне забезпечення або системи повністю вийдуть з ужитку. Але фіаско 2000 року показало, що всі недооцінюють довговічність програмної архітектури і то, наскільки вона буде вбудована.

Люди схильні бути недалекоглядними, думаючи про сьогодення більше, ніж навіть про найближче майбутнє. Програмісти були впевнені, що 2000 рік так далеко – на той час комп’ютери і програмне забезпечення безсумнівно будуть іншими! Їм не потрібно було турбуватися про це – аж до 1990-х років, коли Y2038 перестала бути надуманою проблемою і почала викликати у населення паніку, що породжувала найзловісніші попередження про загибель цивілізації.

Загальна вартість виправлення помилки 2000 року становила понад 300 мільярдів доларів, плюс ще кілька мільярдів, витрачених на рішення проблем, що виникли після початку тисячоліття. А коли настав 2000 рік, нічого катастрофічного не відбулося. Жоден із найстрашніших прогнозів не збувся. Це змусило багатьох повірити в те, що проблема була надмірно перебільшена.

Але кризи 2000 роки не було завдяки програмістам, які доклали зусиль, щоб виправити проблему, змінити мільйони рядків коду, аби дату представляли 8 цифр замість 6. Іронія в тому, що якщо ви виконуєте свою роботу належним чином, цього або ніхто не помічає, або вони можуть навіть поставити необхідність вашої роботи під сумнів.

Відсутність наслідків Y2K може привести до того, що організації і технологи будуть недостатньо підготовлені до Y2038. Неспеціалістам важче пояснити проблему Y2038, ніж Y2K, потенційно ускладнюючи розстановку пріоритетів і зосередження на поглибленій роботі. Повсюдність численних вбудованих пристроїв Інтернету речей (IoT) також значно збільшує потенційний вплив Y2038.

Рішення не є технічно складним. Потрібно лише переключитися на 64-бітові або більш високі бітові значення, що дасть більш високий максимум. За останнє десятиліття багато персональних комп’ютерів зробили цей перехід, особливо компанії, яким було необхідно прогнозувати час після 2038 року, як, наприклад банки, які мають справу з 30-річною іпотекою.

Apple стверджує, що iPhone 5S є першим 64-бітним смартфоном. Однак проблема 2038 року відноситься як до апаратного, так і до програмного забезпечення, тому, навіть якщо 5S використовує 64 біта, додаток будильника може бути 32-бітовим і тому також має бути оновленим.

Проблема не здається занадто актуальною – у нас є 18 років, щоб її виправити! – але її масштаб величезний. Щоб дати вам уявлення про те, як повільно корпорації можуть впроваджувати оновлення ПО, більшість банкоматів і раніше працювали на Windows XP і, таким чином, були уразливі для хакерів до 2018 року, хоча Microsoft припинила випуск продукту в 2007 році.

Тому важливо оновити ваші системи ЗАРАЗ і знати про постачальників, які відмовляються робити це вчасно, щоб уникнути дорогих і короткострокових виправлень для вашої системи і ПО.

Qlik приєднується до програми Snowflake Partner Connect

На цьому тижні Qlik уклав партнерські відносини з Snowflake, хмарним сховищем даних. Партнерство передбачає інтеграцію Qlik із програмою Snowflake Partner Connect, яка надасть клієнтам Snowflake двотижневу безкоштовну пробну версію, щоб повною мірою скористатися першокласним програмним забезпеченням Qlik для інтеграції даних. Безкоштовна пробна версія включає в себе навчальні посібники для швидкого введення та передачі даних в Snowflake в режимі реального часу. Розширення пробної версії дозволяє користувачам експортувати дані з численних корпоративних систем баз даних, мейнфреймів і додатків SAP. З платформою Qlik Data Integration можна також автоматизувати створення й оновлення готових аналітичних наборів даних в Snowflake.

«Наші клієнти хочуть прискорити свої зусилля з модернізації, використовуючи високопродуктивні та надійні рішення для реплікації даних в Snowflake», – заявив Коллін Капас, віце-президент Snowflake по WW Partners і альянсів. «Завдяки можливостям інтеграції даних Qlik в режимі реального часу клієнти отримають негайну вигоду від перенесення цих даних безпосередньо в Snowflake. Ми раді, що Qlik приєднався до нашої партнерської програми Connect, надаючи клієнтам нові можливості для модернізації в Snowflake».

Snowflake Partner Connect дозволяє новим користувачам легко підключатися до конкретних бізнес-партнерів Snowflake та інтегрувати їх у свій досвід при створенні пробних облікових записів. За допомогою Qlik Data Integration клієнти можуть отримати доступ до широкого спектру корпоративних джерел даних в режимі реального часу й отримати максимальну вигоду, оцінюючи Snowflake. Після завершення пробної версії можна легко придбати повну ліцензію Qlik Data Integration.

«Snowflake надає нам середу озера даних, яка масштабується та об’єднує дані в одному місці з будь-якого джерела. Це сприяє прийняттю рішень з усіх наших бізнес-функцій, включаючи виробництво, ланцюжок поставок, обслуговування клієнтів і фінансування», – стверджує Даллас Торнтон, директор цифрових послуг PACCAR. «Програмне забезпечення Qlik для інтеграції даних є величезною рушійною силою цінності, яку ми бачимо зі Snowflake. Оскільки він передає потокові дані з різних джерел, використовуючи збір даних змін в Snowflake з будь-якої платформи – будь то хмара, бази даних x86, мейнфрейми або AS400, – у наших користувачів тепер є одне середовище в Snowflake, з якої можна аналізувати дані практично в реальному часі».

«Ми раді розширенню нашого партнерства з Snowflake, приєднавшись до їх програми підключення, що допомагає підприємствам прискорити перехід до хмарних сховищ даних», – заявив Ітамар Анкоріон, старший віце-президент технологічного альянсу в Qlik. «Qlik пропонує комплексне рішення для Snowflake, яке безперервно приймає всі цільові дані, автоматизує створення сховища / вітрини без використання сценаріїв і робить дані та аналітичні матеріали легко доступними для всієї організації за допомогою аналітики світового класу».

Про компанію Qlik

Бачення Qlik — це світ, орієнтований на дані, в якому кожен може їх використовувати, щоб поліпшити процес прийняття рішень і подолати свої найскладніші проблеми. Тільки Qlik пропонує комплексне програмне забезпечення для інтеграції та аналізу даних в реальному часі, яке допомагає організаціям перетворити свої дані в цінний актив. З їх допомогою компанії зможуть глибше зрозуміти поведінку клієнтів, переосмислити бізнес-процеси, відкрити нові джерела доходу, а також збалансувати ризик і винагороду. Qlik веде бізнес більш ніж в 100 країнах і обслуговує понад 50 000 клієнтів по всьому світу.

Qlik став лідером Gartner Magic Quadrant 10-й рік поспіль!

Вчора Qlik оголосив, що вже 10-й рік поспіль став лідером Gartner Magic Quadrant в області BI та аналітичних платформ. Це визнання знаменує собою не тільки десятиліття безперервного лідерства Qlik в квадранті, а й включення в Gartner MQ з 2006 року.

«Qlik допомагає клієнтам підвищити цінність бізнесу за рахунок даних, надаючи повний спектр можливостей для переходу від необроблених даних до аналізу та дій в реальному часі», – сказав Майк Капоне, генеральний директор Qlik. «Наша компанія продовжує зростати з прибутком, і наші високі показники дозволили нам інвестувати в створення комплексної платформи, яка включає інтеграцію даних, аналітику на основі ШІ і діалогову аналітику. З недавнім придбанням RoxAI ми надаємо автоматизоване інтелектуальне оповіщення для прийняття рішень в режимі реального часу, оскільки ми продовжуємо інвестувати в можливості, які підвищують цінність даних для кожної організації».

Звіт, який Gartner випускає щорічно в лютому, надає об’єктивну оцінку платформ аналітики і бізнес-аналітики, аналізує ринок і висвітлює його найбільші тенденції. На цей раз оцінка платформ більше не ґрунтується на їх можливостях візуалізації даних, оскільки це вже повсюдний критерій. Акцент зміщується в бік інтегрованої підтримки можливостей корпоративної звітності і розширеної аналітики.

«Підготовка даних за допомогою машинного навчання і штучного інтелекту, генерація аналітичних даних і їх пояснення – для того, щоб підвищити ефективність дослідження й аналізу даних бізнесменами й аналітиками – швидко стають ключовими джерелами конкурентної диференціації і, відповідно, основними інвестиціями для продавців». – Gartner, 2020

Gartner перераховує наступні сильні сторони Qlik:

«Надання співробітникам необхідної інформації та впевненості в прийнятті рішень з її допомогою вкрай важливо», – сказав директор з бізнес-аналітики, візуалізації та звітності в Загальнонаціональному будівельному товаристві (Nationwide Building Society). «Qlik довів свою фантастичну ефективність, допомагаючи консолідувати розрізнені дані, розбивати внутрішні сховища та підвищувати цінність. З більш наочними й інтуїтивно зрозумілими даними, бізнес-команди отримали нове уявлення про різноманітні процеси, підвищуючи ефективність і розвиваючи культуру, засновану на даних».

Ви можете завантажити копію повного звіту тут.

GoUp Chat