UA65638C2 - Система і спосіб синхронізації і організації бази даних - Google Patents

Система і спосіб синхронізації і організації бази даних Download PDF

Info

Publication number
UA65638C2
UA65638C2 UA2001042525A UA01042525A UA65638C2 UA 65638 C2 UA65638 C2 UA 65638C2 UA 2001042525 A UA2001042525 A UA 2001042525A UA 01042525 A UA01042525 A UA 01042525A UA 65638 C2 UA65638 C2 UA 65638C2
Authority
UA
Ukraine
Prior art keywords
data
server
client
database
computer system
Prior art date
Application number
UA2001042525A
Other languages
English (en)
Russian (ru)
Inventor
Самір Р. Махаджан
Сенджой Малік
Майкл Дж. Донаху
Шамкант Б. Нават
Мустафа Х. Аммар
Френк Х. Макгеф
Original Assignee
Синхролоджік, Інк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Синхролоджік, Інк. filed Critical Синхролоджік, Інк.
Publication of UA65638C2 publication Critical patent/UA65638C2/uk

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

Винахід передбачає "інформаційноцентричний підхід" до відновлення баз даних у комп'ютерних системах (516) систем баз даних (15d) з уривчастими зв'язками. Згідно з цим підходом складність зберігання і обробки у сервері бази даних стають незалежними від кількості клієнтів, що обслуговуються, і це поліпшує масштабованість сервера. Замість надання уваги даним, яких потребують індивідуальні клієнти, спосіб згідно з винаходом, передбачає стеження за змінами у підмножинах даних, що відповідають групам клієнтів. Таким чином, сервер має вести стеження і запис лише у цих підмножинах даних замість стеження за змінами для індивідуальних клієнтів. Клієнти завантажують підмножини, що містять дані, які стосуються групи, і об'єднують дані або стирають зайві дані з цих підмножин. Оскільки сервер стежить за обмеженою кількістю підмножин даних, які стосуються груп клієнтів, замість фактичної кількості клієнтів, загальна масштабованість системи підвищується. У цій системі (10) комп'ютерні системи клієнта синхронізуються з базою даних сервера шляхом розділення даних бази даних сервера, які підлягають розподілу (80ad), і призначення однієї або кількох груп кожній комп'ютерній системі клієнта. Коли комп'ютерна система клієнта одержує доступ до сервера, ця система надсилає до сервера зміни, що були внесені у їх локальні бази даних. Сервер оновлює свою базу даних згідно з цими змінами, після чого визначає, для яких груп ці зміни є спільними, і створює файли модифікації (86ad) для цих груп. Клієнти завантажують файли модифікації для призначених для них груп.

Description

Винахід стосується способу і системи оновлення бази даних, зокрема, стосується способу і системи синхронізації віддалених баз даних.
У багатьох підприємствах база даних серверу ("центральна") використовується для зберігання даних, що стосуються багатьох працівників або віддалених користувачів підприємства. Базу даних серверу звичайно роблять доступною для віддалених комп'ютерних систем, щоб зробити інформацію більш доступною для віддалених користувачів. Застосування бази даних серверу, доступної для віддалених комп'ютерних систем, полегшує розповсюдження інформації у компанії. Дистанційний доступ стає особливо важливим у випадках, коли відділки продажу або численні працівники компанії працюють за межами офісу.
Наприклад, робота віддалених працівників може залежати від інформації, що зберігається у базі даних і стосується інвентаризаційних змін, цінових даних і подій у компанії. Замість запровадження постійного зв'язку невизначеної тривалості з базою даних, пов'язаного з сплатою за зв'язок або орендою телефонних ліній, використовують уривчастий зв'язок комп'ютерів віддалених користувачів з сервером для одержання доступу до його бази даних. За таких обставин віддалені комп'ютерні системи звичайно зберігають у себе частину бази даних серверу, щоб віддалений відділок міг функціонувати навіть тоді, коли клієнт не має з сервером зв'язку. Тоді, використовуючи уривчастий зв'язок, до серверу надсилають лише зміни, що були зроблені клієнтом, а від серверу до клієнта -- лише ті зміни, що стосуються клієнта. Такий тип організації віддаленої комп'ютерної системи називають Базою Даних з Уривчастими Зв'язками (БДУЗ). БДУЗ знайшли широке застосування у автоматизації відділків продажу, обробці страхових випадків і взагалі при виконанні мобільних функцій.
Важливим фактором у таких комп'ютерних системах є своєчасний і ефективний обмін інформацією між клієнтом і базою даних серверу. Термін "синхронізація бази даних" часто використовують для опису процесу підтримання цілісності і відповідності даних у базах даних серверів і клієнтів. Існують багато варіантів такої синхронізації. Згідно з деякими відомими схемами, при обміні даними з ними пов'язують часову позначку, яка вказує на дату останнього оновлювального обміну інформацією. База даних серверу і база даних клієнта використовують цю часову позначку для визначення, які саме записи були оновлені. У інших схемах використовують бітову позначку для записів, що зазнали зміни. У інших варіантах передбачено зберігання попередніх даних для стеження за змінами. Звичайно надсилають лише ті записи, які зазнали змін після останньої дати обміну.
У системах БДУЗ для забезпечення постійного доступу необхідно, щоб кожний клієнт підтримував локальну копію спільних даних. Крім того, уривчастий зв'язок робить неможливим прямий обмін даними між клієнтами і, отже, для здійснення зв'язку між клієнтами і забезпечення спільного доступу до даних виникає потреба у певному посереднику. Звичайно функції такого посередника виконує база даних серверу, дані і структура якої є об'єднанням даних і структур клієнтів. Такий сервер є завжди доступним для клієнтів, що мають з ним уривчастий зв'язок. Клієнт надсилає оновлені дані до серверу. Сервер визначає тих клієнтів, для яких ці дані є спільними і які потребують копії цього оновлення. Отже, такий "клієнтоцентричний" підхід вимагає від серверу формувати окремі набори даних для кожного клієнта. На жаль, таке рішення призводить до ускладнення з появою кожного додаткового клієнта і породжує обмеження щодо максимальної кількості клієнтів, що мають обслуговуватись, оскільки для кожного додаткового клієнта сервер має повторювати усі операції, які він виконав для інших клієнтів.
Існує багато способів надійної синхронізації. Один з способів синхронізації віддалених баз даних описаний у патенті США 5 649 195. У цій системі кожний з віддалених комп'ютерів містить дублікат головної бази даних, а центральний комп'ютер зберігає у файлі усі зміни, зроблені у головній базі даних протягом зумовленої одиниці часу. Кожний запис зміни, що відповідає одній й тій же одиниці часу, пов'язують з певним номером сповіщення і порядковим номером. Послідовний номер визначає порядкове місце запису зміни у файлі. Останній за порядком з цих записів є останнім записом, пов'язаним з певним номером сповіщення. Для наступної одиниці часу номер сповіщення інкрементується і знову встановлюється початковий порядковий номер. Після зумовленої кількості часових одиниць файл записів зміни надсилається до віддалених копій бази даних. Віддалені комп'ютери, використовуючі номери сповіщення і порядкові номери, перевіряють порядок записів змін, щоб визначити, чи всі записи змін у сповіщенні були прийняті і належним чином використані для оновлення віддаленого дублікату бази даних.
Іншу систему оновлення інформації у базі даних описано у патенті США 5 491 820. Тут для системи клієнт/сервер у сервері використано об'єктно-орієнтовану базу даних, яка забезпечує даними уривчасто приєднуваних клієнтів. У цій системі база даних містить об'єкти даних, які можуть бути передані до клієнта, з'єднаного з сервером, і пізніше оновлені після відновлення зв'язку з сервером. Прийнявши цю інформацію, клієнт пов'язує час прийому з об'єктом даних. Надсилаючи вимогу оновлення об'єкту, клієнт передає список об'єктів, що підлягають оновленню, разом з часом прийому для кожного об'єкту. Сервер зберігає час останньої модифікації для кожного об'єкту і порівнює час прийому для кожного об'єкту даних з списку об'єктів, одержаного від клієнта, з часом останньої модифікації. Сервер формує нову версію об'єктів, які були модифіковані з часу останнього прийому.
У типовій системі синхронізації індивідуальний файл, що містить зміни і має бути надісланий, створюється у сервері для кожного клієнта системи. Це перевантажує сервер, збільшуючи у ньому об'єм обробки, необхідної для створення цих файлів, причому цей об'єм прямо пропорційно залежить від кількості клієнтів у системі. Виникає потреба у системі синхронізації бази даних, яка дозволяє масштабувати базу даних згідно з зростанням кількості клієнтів без погіршення ефективності роботи.
Суть винаходу
Взагалі винахід стосується способу, який зменшує зберігання і обробку у системі БДУЗ. Зменшення об'єму обробки робить сервер здатним обслуговувати більше клієнтів. Зокрема, винахід включає спосіб синхронізації комп'ютерної системи клієнта з базою даних серверу шляхом розділення даних, що підлягають розподіленню сервером, на групи і призначення однієї або більше груп кожній з комп'ютерних систем клієнтів. Зміни даних у групах зберігаються для подальшої передачі до клієнтів, які є абонентами груп.
Коли комп'ютерна система вводить номер або "з'єднується" з сервером, вона надсилає до нього зміни, внесені у її локальну базу даних. Далі сервер може оновити свою базу даних згідно з змінами, надісланими клієнтом. Після оновлення його бази даних сервер визначає, для яких груп ці зміни є спільними, і створює для цих груп файли модифікації. Після цього клієнти можуть завантажити файли модифікації для кожної з груп, що включають клієнта як абонента. Оскільки файли модифікації можуть містити надлишкові дані, клієнт оцінює їх, щоб визначити, чи треба прийняти, або злити, або ігнорувати певні зміни.
Кожний клієнт має список груп, абонентом яких він є. Коли клієнт з'єднується з сервером, він запитує файли модифікації для груп цього списку, з'єднує завантажені файли модифікації, відфільтровує зайві дані і оновлює власну базу даних.
Отже, об'єктом винаходу є спосіб синхронізації бази даних і система, що надає базі даних серверу здатність обслуговувати збільшену кількість комп'ютерних систем клієнтів.
Задачею винаходу є досягти цього групуванням даних для полегшення масштабування системи бази даних.
Ці ї інші задачі винаходу наведено для фахівців у подальшому описі з посиланнями на креслення, у яких: фіг. 1 - схема БДУЗ, фіг. 2 - детальна блок-схема компонентів клієнта і компонентів серверу, що використовуються у процесі оновлення клієнта сервером, фіг. За, 30, Зс - приклади групування даних у базі даних серверу і утворення зв'язку клієнта з цими групами згідно з винаходом, фіг. 4 - схема формату файла модифікації згідно з винаходом, фіг. Ба, 5Б, 5с - схема алгоритму способу винаходу.
Детальний опис винаходу
Фіг. 1 ілюструє основні компоненти системи 10 БДУЗ згідно з кращим втіленням винаходу. Система 10 включає комп'ютерні системи 16ба, 165, 16с клієнтів. Кожний клієнт має прикладні програми і локальну базу даних 15а, 150, 15сє. Комп'ютер-сервер 18 містить прикладні програми і базу даних 154 серверу, до яких комп'ютерні системи 16 клієнтів одержують доступ через проміжні зв'язки 26. У сервері 18 працює програма-адміністратор комп'ютерної мережі, яка керує доступом до мережі або до її частин. Комп'ютерні системи 16 клієнтів містять дані, спільні з базою даних 18 серверу і можуть одержувати доступ до серверу 18 через Інтернет, локальну мережу, глобальну мережу 26 або через телефонну лінію і модем. Сервер 18 може мати зв'язок з локальною мережею організації.
Структура і функції системи 10 БДУЗ дозволяють її серверу 18 і базі даних 154 серверу обслуговувати клієнтів більш ефективно ніж існуючі системи. Зокрема, винахід передбачає організацію вмісту бази даних серверу у вигляді певних груп і стеження за змінами даних у цих групах, а не у окремих клієнтів. Періодично для кожної групи створюється файл модифікації ("дельта" або "оновлення"), який містить усі відповідні зміни, що мали місце після створення останнього файлу модифікації. Комп'ютерні системи 16 клієнтів асоціюють з певними групами і, коли клієнт встановлює зв'язок з сервером 18, файли модифікації, що відповідають групі, передаються до клієнта або клієнтів, пов'язаних з цією групою і використовуються для оновлення індивідуальних баз даних клієнтів.
Комп'ютерні системи 16а, 160, 16с можуть бути віддаленими. У цьому випадку, якщо користувач однієї з цих віддалених систем 16 бажає оновлення даних поточною інформацією від бази даних 18 серверу, комп'ютерна система 16 встановлює з сервером зв'язок через глобальну мережу або телефонну лінію.
Перевагою системи і способу оновлення комп'ютерних систем клієнтів, передбачених винаходом, є те, що комп'ютерні системи клієнтів можна додавати до системи БДУЗ без створення у цій системі окремих файлів модифікації для кожного клієнта, доданого до системи. У такій системі дані у сервері можуть бути організовані у вигляді груп на основі змісту і семантики. Кожному з клієнтів залежно від його вимог призначаються одна або більше таких груп. Періодично сервер визначає для кожної з груп, які дані зазнали змін з часу останньої оцінки, і записує ці зміни у файл модифікації. Коли клієнт зв'язується з сервером, він одержує файли модифікації групи, абонентом якої він є, об'єднує одержані файли модифікації, відфільтровує зайві дані і оновлює локальну базу даних.
Отже, винахід передбачає "Інформаційно-центричний" підхід до розподілу даних. Згідно з таким підходом, складності зберігання і обробки у базі даних серверу не залежать від кількості клієнтів, і це полегшує масштабування серверу. Замість уваги до даних, потрібних індивідуальному клієнту, спосіб згідно з винаходом передбачає стеження за змінами у підмножинах даних, що стосуються груп. Отже, сервер має лише стежити за змінами у цих підмножинах даних замість стеження за змінами, що стосуються окремих клієнтів. Клієнти одержують від серверу ці підмножини, які містять релевантні клієнтам дані, і відфільтровують зайві дані, які їх не стосуються. Оскільки сервер стежить за обмеженою сукупністю підмножин даних, релевантних групам клієнтів, а не усім існуючим клієнтам, загальна масштабованість системи підвищується.
Синхронізація бази даних
Фіг. 2 містить блок-схему основних компонентів, що використовуються у процесі оновлення баз даних системи 10 БДУЗ. На фіг. 2 не показані відомі фахівцям компоненти стандартних комп'ютерних систем, які не є необхідними для розгляду винаходу, наприклад, адресні буфери, буфери пам'яті та ін. Комп'ютерні програми і файли даних (фіг. 2) використовуються на різних стадіях способу згідно з винаходом. Процедури винаходу можуть бути реалізовані на ПК, робочих станціях і серверах.
Як уже відзначалось, система винаходу підвищує здатність системи баз даних обробляти дані і обслуговувати більше клієнтів, ніж відомі системи. Групуванням даних у базі даних 154 у групи 80 даних і зв'язуванням індивідуальних файлів 86 модифікації ("дельта") з кожною групою 80 загальний об'єм операцій у системі 10 БДУЗ зменшується і, отже, масштабованість системи баз даних поліпшується. Наприклад, у системі 154 бази даних визначено чотири групи даних 8ба, 8060, 80с, 804. Компоненти даних у кожній з груп не є обов'язково ексклюзивними, тобто угруповання даних можуть містити посилання на одні й ті ж компоненти. Для кожної з груп 80 існує ряд пов'язаних з нею файлів модифікації. Адміністратор системи періодично створює для кожної групи новий файл модифікації, який містить усі оновлення даних, які відповідають групі і відбулись з часу створення останнього файлу модифікації. Файли 8Зба, 860, 8бс, 8ба модифікації відповідають групам даних 8б0а, 800, 80с, 804. Файли 8баа, 86бда оновлень відповідають файлам 8ба, 86а модифікації. Коли будь-який компонент даних у одній з груп 8ба - 804 зазнає змін, ці зміни записуються у базу даних. Хоча з системою 10 БДУЗ можуть бути з'єднані сотні клієнтів, для ідентифікації змін у групах 80ба - 804 у цьому прикладі використовується відносно невелика кількість файлів 8ба - 86баа. У відомих системах БДУЗ довелось би мати файли модифікації для кожного клієнти і ідентифікувати у них усі змінені компоненти даних, до яких клієнт має доступ. Отже, у цих системах система керування базою даних має зберігати і підтримувати набір файлів клієнта для кожного з клієнтів системи. Використання системи, передбаченої винаходом, у якій компоненти даних групуються у групи 80 даних і пов'язуються з файлами модифікації для кожної з цих груп, дозволяє суттєво знизити загальний об'єм операцій у системі БДУЗ.
Коли комп'ютерна система 16 клієнта встановлює зв'язок з базою даних 154 серверу, система 100 керування базою даних виконує функції інтерфейсу між базою даних 154 серверу і комп'ютерною системою 16с клієнта. Слід відзначити, що комп'ютерна система 1бс репрезентує комп'ютерні системи 1ба, 165 клієнта. Система 16с також має систему 106 керування базою даних, яка є інтерфейсом між докальною базою даних 15с і іншими комп'ютерними системами. У системі 10 комп'ютерна система 16 клієнта користується частиною даних, що містяться у базі даних і можуть розглядатись як підмножина даних бази даних серверу, яка зберігається у локальній базі даних 15с. Локальна база даних 15с містить інформацію, що використовується у роботі комп'ютерної системи 16с клієнта. Система 16с одержує дані від пов'язаної з нею групи 80 даних і зберігає її у локальній базі даних 15с. Подібним чином, коли зазнають змін компоненти даних у локальній базі даних 15с, ці модифікації передаються від комп'ютерної системи 16с клієнта до бази даних 154 серверу і використовуються для оновлення останньої. Під час передачі інформації від локальної бази даних 15с або від бази даних 154 серверу дані, що передаються, синхронізуються з відповідною базою даних.
Комп'ютерна система 16с клієнта, одержуючи доступ до бази даних. 154 серверу, має список або таблицю 88с сукупності груп, які їй потрібні. Комп'ютерна система клієнта входить у контакт з системою серверу і запитує поточні файли модифікації для груп, пов'язаних з комп'ютерною системою клієнта.
Відповідні операції у комп'ютерній системі 16с клієнта виконує керуючий програмний модуль 107. Протягом сеансу зв'язку комп'ютерна система 16с клієнта може передавати до бази даних 154 серверу ті транзакції і зміни даних, які впливають на дані у базі даних 154. Зміни даних, які мали місце у комп'ютерній системі 16с клієнта і впливають на дані у базі даних 154 серверу, вказуються у файлах 105 модифікації. Після цього база даних 154 серверу оновлюється згідно з змінами, що надійшли від комп'ютерної системи клієнта і відповідні зміни вносяться у файли модифікації, пов'язані з групами, що містять дані, модифіковані клієнтом.
Система 100 керування базою даних може отримати доступ до файлів модифікації, що відповідають групам даних, до яких клієнт має доступ. Ці файли містять послідовність транзакцій і послідовність операцій над відповідними групами даних. Файли 86 модифікації, що відповідають групам даних, до яких клієнт має доступ, передаються після цього до комп'ютерної системи 16с клієнта. У існуючих системах до системи керування базою даних клієнта надсилається єдиний файл клієнта. Згідно з винаходом, на відміну від таких систем, до комп'ютерної системи клієнта передаються кілька файлів модифікації, пов'язаних з обраними групами даних. Комп'ютерна система 16с клієнта оцінює кожний з цих файлів модифікації, щоб визначити, які оновлення мають бути стерті, реорганізовані або об'єднані для належної синхронізації локальної бази даних 15сє з базою даних 154 серверу. Для збереження цілісності бази даних комп'ютерна система 16 клієнта може профільтрувати і/або об'єднати файли 80 модифікації. Система 106 керування базою даних використовує обробляючий модуль 108 для фільтрування і об'єднання багатьох файлів модифікації, прийнятих від системи 100 керування базою даних.
З одною групою можуть бути асоційовані кілька файлів модифікації (фіг. 2). У кожному наборі або послідовності файлів модифікації, пов'язаних з одною групою, наприклад, 8ба, 8баа, кожному з цих файлів модифікації призначають порядкові номери. Коли комп'ютерна система 16с клієнта одержує доступ до серверу 18, ця комп'ютерна система клієнта передає до серверу порядковий номер останнього файлу оновлення, прийнятого нею від серверу. Сервер тоді передає до комп'ютерної системи 16с клієнта лише ті файли модифікації, які не були передані раніше, базуючись на порядковому номері, прийнятому від комп'ютерної системи 16с. Сервер надсилає лише файли модифікації з порядковими номерами, більшими за порядковий номер, прийнятий від комп'ютерної системи клієнта. Якщо кількість транзакцій, що містяться у файлі, перевищує певне значення, може бути створений окремий файл 86 модифікації після завершення зумовленого періоду часу або після того, як певна група приєднаних комп'ютерних систем клієнтів завершить внесення змін у дані певних груп даних. Винахід включає також інші очевидні для фахівців схеми визначення умов створення багатьох файлів модифікації для групи.
Фіг. За, З0, Зс ілюструють основну схему групування клієнтів. Приклади За, Зб, Зс розглядаються стосовно реляційної бази даних і відповідних таким базам процедур програмування. Щоб згрупувати дані, можна використати різні способи. Спосіб групування у конкретній системі залежить від багатьох факторів, включаючи швидкість обробки у сервері, розмір диску серверу і ширину діапазону мережі. Групування може бути статичним і динамічним.
При статичному групуванні (фіг. За, ЗБ, Зс) групи даних є відомими а ргіогі і їх визначає адміністратор.
Комп'ютерні системи клієнтів призначаються як абоненти або прив'язуються до обраних груп. Статичне групування знижує функціональне навантаження серверу, обслуговуючи розповсюдження файлів модифікації незалежно від приєднаних клієнтів. Як відомо, горизонтальні або вертикальні сегменти зв'язків даних називають фрагментами і визначають а ргійогі схемою сегментування. Фрагменти містяться у одній або кількох групах.
Можна також використовувати динамічне групування (не ілюстроване), при якому кількість і побудова груп залежать від параметрів, що постійно змінюються, наприклад, від поточного набору транзакцій і/або поточного набору клієнтів. Один з типів динамічного групування передбачає окрему групу для кожної транзакції і комп'ютерні системи клієнтів стають абонентами груп залежно від типів транзакцій. Такий тип групування називають групуванням за типами транзакцій. Іншим типом динамічного групування є групування за потужністю. Таке групування передбачає формування мінімальної кількості груп, щоб клієнти ставали абонентами мінімальної кількості груп і тому одержували мінімум надлишкових даних.
Динамічне групування допомагає знизити для клієнта ширину діапазону і кількість операцій фільтрування, оскільки передбачає надсилання лише тих даних, що стосуються поточного набору приєднаних клієнтів. Однак, таке групування більше завантажує сервер операціями, оскільки сервер має координувати угруповання для роботи з комбінаціями клієнтів і даних. При групуванні за потужністю сервер координує оновлення груп для передачі даних кожному набору приєднаних клієнтів. При групуванні за типами транзакцій сервер має зв'язок з кожним клієнтом окремо для виконання операцій оновлення для кожного релевантного клієнта.
На фіг. ЗЗа показано варіант організації даних у сервері. Запис 112 студента містить ідентифікатор 114 студента, його ім'я 116, його номер 118 телефону і змінну 120 класу, яка може визначати студентів 122 останнього курсу або студентів-випускників 124. Загальна схема серверу включає також запис 134 реєстрацій, який містить ідентифікатор 136 студента, ідентифікатор 138 курсу і ідентифікатор 140 студента- випускника. Згідно з схемою даних серверу передбачено також запис 150 курсу, який включає ідентифікатор 152 курсу, назву 154 курсу, і змінний запис 156 класу, який містить характеристику 158 студента останнього курсу і характеристику 160 студента-випускника.
Фіг. 36 містить таблицю ідентифікаторів груп. Групам даних у базі даних призначені ідентифікатори 202, 206, 210, 214 і 218. Група "студенти останнього курсу" (ідентифікатор 202) включає інформацію 112 про студента, де клас визначено як студенти 122 останнього курсу мінус номер телефону 118. Група "студенти- випускники" (ідентифікатор 206) включає інформацію 112 про студента, де клас визначено як студенти- випускники 124 без номера телефону 118, Група "студентські телефони" (ідентифікатор 210) включає запис 112 студента лише з ідентифікатором 114 студента і телефонним номером 118. Група "всі курси" (ідентифікатор 214) включає всі дані про курси з запису 150. Клас "всі реєстрації" (ідентифікатор 218) включає всі дані запису 134 реєстрацій.
Фіг. Зс ілюструє призначення клієнтів до груп. Спочатку цю таблицю використовує система керування базою даних серверу для визначення, які файли 86 модифікації є необхідними для клієнта. Клієнти останнього курсу призначені до групи 202 "студенти останнього курсу", до групи 214 "усі курси" і до групи 218 "всі реєстрації". Клієнти, які є студентами-випускниками, призначені до групи 206 "студенти-випускники", до групи 214 "усі курси" і до групи 218 "всі реєстрації". Клієнти-професори призначені до групи 206 "студенти-випускники", до групи 202 "студенти останнього курсу", до групи 210 "студентські телефони", до групи 214 "усі курси" і до групи 218 "всі реєстрації". Клієнти реєстрації призначені до групи 218 "всі реєстрації". Дані цих груп і асоціації використовуються для оновлення і синхронізації комп'ютерів системи
БДУЗ.
Сервер 18 обробляє згруповані оновлення, прийняті від клієнтів 16, а оновлення, виконані сервером 18, утворюють для кожної групи дельта-файл на основі знання даних, спільних з кожним клієнтом. Фіг. 4 ілюструє файл 86 модифікації (дельта-файл). Файл 86 модифікації для клієнта містить усі операції над набором даних, що відповідають змінам даних групи, до якої був призначений клієнт. Файл 86 модифікації включає послідовність транзакцій, наприклад, транзакцію А, транзакцію С, транзакцію А і транзакцію /, кожна з яких ідентифікується унікальним глобальним порядковим номером (наприклад, 1, 2, 3, ...).. Ці номери визначають порядок виконання транзакцій у сервері 18. Кожна транзакція репрезентує послідовність операцій 410, кожна з яких має унікальний порядковий номер, наприклад, ОРІ, ОР2, ОРЗ,
ОРА ї ОР5Б і ці номери вказують на порядок виконання операцій у транзакції. Кожна операція виконується лише над одним фрагментом. Кожна транзакція ідентифікує комп'ютерну систему 16 клієнта, у якій вона була вперше виконана як частина запису транзакції. Транзакції відповідає ідентифікаційний номер 416 клієнта.
Використовуючи порядкові номери 404 транзакцій, комп'ютерна система 16 може реконструювати порядок виконання операцій у сервері 18 незважаючи на фрагментацію операцій у файлах 400 модифікації.
Оскільки кожна операція виконується з одним фрагментом, між операціями не існує інтерреляційної залежності, за винятком залежностей від сторонніх ключів. Інтерреляційні операції на відношеннях без залежностей від сторонніх ключів можуть виконуватись у будь-якому порядку. Такі операції зберігають послідовний порядок у сервері. Якщо сторонній ключ породжений відношенням, яке називають "батьківським відношенням", а первинний ключ - відношенням, яке називають "нащадко-вим відношенням", то інтерреляційні операції на відношеннях з залежностями сторонніх ключів упорядковуються таким чином, що введення у батьківське відношення передує відповідному введенню у нащадкове відношення, а стирання у нащадковому відношенні передує стиранню у батьківському відношенні.
Фільтування
Як уже відзначалось, групи даних можуть містити інформацію, яку клієнт не повинен приймати, або таку, яку він уже має. Наприклад, якщо клієнт зробив зміну у даних бази даних, він вже має цю зміну або запис зміни, зробленої у базі даних. Отже, якщо файли модифікації, які містять усі виконані операції, включають операції оновлення, виконані певним клієнтом, то ці операції не вимагають обробки або використання, коли комп'ютерна система 16 клієнта приймає файли 86 модифікації для відповідних груп даних. Таким чином, у процесі виконання оновлень комп'ютерна система 16 здійснює операції фільтрування, відображення і об'єднання для забезпечення цілісності локальної бази даних. Типи обробки,
що виконується у комп'ютерній системі 16 клієнта включають рефлексивне фільтрування, об'єднання операцій і референційне цілісне упорядкування. Фільтрування розглядається на прикладах фіг. За, ЗБ, Зс.
Рефлексивним фільтруванням називають перевірку комп'ютерною системою клієнта файлів 86 модифікації на наявність переданих цій системі транзакцій, які походять від цієї системи. Схемним відображенням є процес виконання клієнтом синонімічних перетворень над іменами груп, які у локальній базі даних були найменовані інакше, ніж у базі даних 154 серверу. Цим під час оновлення забезпечується належна відповідність груп і цілісність даних груп у базах даних. Фільтрування даних згідно з відношенням, що визначається даними, внутрішніми відносно нього, називають інтерреляційним фільтруванням. Таке фільтрування видаляє зайві колонки і рядки даних, які могли б бути надіслані до клієнта. Наприклад, "студенти останнього курсу" одержують дані на базі відношень реєстрацій, але клієнти останнього курсу не мають права знайомитись з інформацією для випускників. Отже, інформація для випускників ігнорується або стирається з групи записів реєстрацій, коли вона передається до студента останнього курсу. Подібно до цього, клієнти-випускники одержують усі дані з запису курсів, але мають право одержувати інформацію лише про випускні курси. Фільтрування групи курсів (фіг. За, ЗБ, зс) для студентів останнього курсу означає, що інформація для випускників стирається або ігнорується. "Фільтрування даних" у групі, що є спільною, яке здійснюється на підставі даних таблиці з іншої бази даних, називають інтерреляційним фільтруванням. Таке фільтрування є необхідним тому, що не усі зайві дані відфільтровуються даними у групі. Наприклад, клієнти останнього курсу мають одержувати лише дані 218 групи реєстрацій для студентів останнього курсу, але для визначення, чи група 134 реєстрацій є групою для студентів останнього курсу, ідентифікатор курсу необхідно визначати, використовуючи групу 134 курсів.
У прикладі групування (фіг. 30) студент останнього курсу приймає усі дані реєстрацій у групі 218 "усі реєстрації". Після цього клієнт останнього курсу, використовуючи групу 214 курсів, визначає, які дані реєстрацій мають бути відфільтровані. Видалення дублікатів є процесом виявлення і стирання/відкидання дубльованих транзакцій. Такі транзакції трапляються внаслідок наявності однакових даних у кількох групах.
У прикладі (фіг. За, ЗБ, Зс) клієнт-професор об'єднує групу 202 студентів останнього курсу, групу 206 студентів-випускників і групу 210 студентських телефонів. Якщо видалити студента, транзакція буде надіслана до клієнта-професора двічі, оскільки група 210 студентських телефонів і група 202 студентів останнього курсу визначені через запис 112 студентів. У кожній з них є ідентифікатор 112 студента. Отже, клієнт-професор має виявити дубльовану транзакцію і виконати одне стирання для локальної бази даних 15а. "Об'єднання операцій" включає об'єднання операцій, які були подрібнені при занесенні у групи.
Операції транзакції можуть зазнати подрібнення при занесенні у групи. Клієнти мають забезпечити об'єднання цих операцій для збереження цілісності. Розглянемо послідовність операцій у сервері:
ВВЕСТИ (1000, "Джон Сміт", 555-5555, СТУД. ОСТ. КУРСУ) У "Студенти";
СТЕРТИ З "Студенти" ДЕ Ідент. студента - 10000.
Ця послідовність операцій для груп "Студенти останнього курсу" і "Студентські телефони" буде розділена на такі послідовності:
ВВЕСТИ (1000, "Джон Сміт", СТУД. ОСТ. КУРСУ) У "Студенти";
СТЕРТИ З "Студенти" ДЕ Ідент. студента - 1000; і
ВВЕСТИ (1000, 555-5555) У "Студенти";
СТЕРТИЗ "Студенти" ДЕ Ідент. студента- 1000.
Клієнт-професор має об'єднати транзакції з "Студентів останнього курсу" і "Студентських телефонів", таким чином, щоб (1) введення були об'єднані в одну операцію введення, (2) дубльовані стирання були усунені і (3) об'єднане введення було виконане перед стиранням. "Референційне цілісне упорядкування" включає таку обробку файлів модифікації, яка забезпечує цілісність при об'єднанні транзакцій з посиланнями на інші групи. У процесі об'єднання транзакцій клієнт має брати до уваги обмеження референційної цілісності. Виконання транзакцій у неналежному порядку клієнтом може призвести до відхилення у клієнта операції, яка була припустимою у сервері, і до порушення цілісності даних. Розглянемо два введення у сервері:
ВВЕСТИ (6555, "Теорія черг", ВИПУСКНИКИ) У "Курси";
ВВЕСТИ (1001, 6555) У "Реєстрації".
Ці два введення будуть прийняті клієнтом-студентом випускником від груп "Усі курси" і "Усі реєстрації" відповідно. Відзначими, що "Курси. Ідентифікатор курсу" є стороннім ключем "Реєстрація Ідентифікатор курсу" і тому необхідно зберегти порядок введення, зокрема, кортеж для таблиці "Курси" має бути введений до введення кортежу "Реєстрація" Взагалі, треба зберігати деякий порядок серед операцій над різними відношеннями, пов'язаними обмеженнями референційної цілісності
Процедури системи БДУЗ
Фіг 5а, 50, 5с ілюструють процедури, які, згідно з винаходом, використовуються для створення зв'язків комп'ютерної системи 16 клієнта з групами даних бази даних 154 серверу у процесі з'єднання останньої з комп'ютерною системою 16 клієнта Зокрема, описано процес синхронізації баз даних системи 10 БДУЗ
Операцією 502 комп'ютерна система 16 клієнта встановлює зв'язок з сервером 18, який приймає вимогу оновлення від комп'ютерної системи клієнта (опер 504) Далі операцією 512 файли 86 модифікації передаються до комп'ютерної системи 16 клієнта, яка надіслала вимогу Ця комп'ютерна система клієнта починає аналізувати файли 400 модифікації (опер 516), щоб визначити, які дані файлу 86 модифікації мають бути фільтровані, об'єднані, стерті або модифіковані
Операцією 518 здійснюється оцінювання ідентифікатора клієнта і файлу модифікації, а потім (опер 520) - визначення, чи здійснила комп'ютерна система 16 клієнта які-небудь транзакції у файлі модифікації Якщо так, операцією 522 відфільтровуються виконані клієнтом транзакції і здійснюється перехід до операції 524
Якщо ні (опер 520), також здійснюється перехід до операції 524, якою комп'ютерна система клієнта, якщо потрібно, здійснює синонімічне перетворення імен, згадане вище Далі операція 530 визначає, чи має клієнт прийняти усі дані групи, а операцією 532 здійснюється відфільтровування дубльованих даних, після чого здійснюється перехід до операції 540 Якщо клієнт має прийняти усі дані групи (опер 530), також здійснюється перехід до операції 540, якою визначається, чи потребує комп'ютерна система клієнта інформації з інших груп для надійного оновлення локальної бази даних 15с Якщо так, здійснюється перехід до операції 542 одержання необхідної для оновлення інформації від інших груп з переходом до операції 544, яка здійснює фільтрування інтерреляційних даних для виявлення необхідної інформації, як це було описано вище Далі операцією 546 перевіряється наявність дубльованих транзакцій Якщо таких транзакцій нема, здійснюється перехід до операції 556, а якщо вони є, то такі транзакції стираються (опер 554)
Операція 556 визначає необхідність об'єднання операцій, виявлених у файлах модифікації і, якщо необхідно, об'єднує файли. Далі операцією 562 оцінюється референційна цілісність файлів модифікації.
Процедура завершується операцією 566.
Наведений опис є лише прикладом і не обмежує винаходу, але дає змогу фахівцям, керуючись цим описом і викладеними концепціями винаходу, зробити необхідні модифікації, зміни і поширення у межах об'єму винаходу, визначеного формулою. ----- ТА ув то ек С, й І -ї ра Бен БАЗА ДАНИХ що яко кок ШІ й Й Й слклі? Пе г х, кети чи ПЕ й Х и 16 дв
ЕЕ / ЕЕ ШІ "Ше
БЕ і пня вазаданих Я ГО зносі МЕРЕЖА Їк.. зе і плани | І Ї р БАЗА ДАНИХ:
ТТ У / Є ви ДК /й Мооісеоішн ШИ «МНН, : --- ша ко я ит тс 156 ші ГГ с . пт
Й ФІГ, 1 -ї » й т ! зааня «ШО,
ше ве ЛИ пня пені, ша
БАЗА ДАНИХ д-12
Де ЕН зве г
І 108А 1302800 02с | 29 ! !
Сен шт Го сн ря дп рію іоном АК Ккадннк дп млі тік нені,
Я і дні пітінннн одт нд ортнт ! і гони ви й Ї
СИСТЕМА КЕРУВАННЯ БАЗОЮ ДАНИХ 106 | !
І ни ЗШ і вно, на
МОДУЛІ ОБ'ЄДНАННЯМИЛЬТРУВАННЯ 105 | І ід тт нн івдйлИи МОДИФІКАЦІЇ 105 потен рт ртеттеттннт і ЩІ ПІ! | Г. г і ші сш ШК Сл
НЕ НН ни нин пи: ооо
І кввиаючА ТАБЛИЦЯ ПРИЗНАЧЕННЯ ГРУП пеогалик МІ ВВС пен
Сн тот т і тв
СД п пі пп полин пд
Шиши п
ФАЙЛА) ЕФАЙНІВ | ФАЙНО? | ФАЙЛ 8 ФАЙЛЯА ФАВЛЯВІ І.
Мод. | Мод. Мод: | мод. рок. | мод. і вва || явАА |) ВБЕ І ) ввс о Вво 0) 880о
СИСТЕМА КЕРУВАННЯ БАЗОЮ ДАНИХ 00 3 ит 15 1 дини З Ким 1 І
ТРУПА 1: 1 гРУПА З ЕОгРУПА З) ГРУПА я
ОА. | 80. ОВО | яд.
Го аллала я НЕ Ок Пс тись нн
ФІГ. 2 в йо в 118 120 122 124
СТУДЕНТИ ПД.СТУДЕНТА, ІМ'Я, ТЕВП., КЛАС (СТУД.ОСТ.КУРСУ, ВИПУСКНИКИХ ї34 136 138 140
Гая бо. КЕ ИЩИ
РЕЄСТРАЦІЯ ПД.СТУДЕНТА, ІДКУРСУ, ВИПУСКНИКИ! 150 152 154 156 158 1650 ' т а Й Га Щ ГА
КУРСЦІД.КУРСУ, НАЗВА КУРСУ, КЛАС (СТУД.ОСТ.КУРСУ,. ВИПУСКНИКИВ
ФІГ. ЗА
ГРУПА ДАНІ ГРУПИ
СТУД.ОСТ. курсу СТУДЕНТИ (ІД.СТУДЕНТА, ІМ'Я, (СТУДОСТ.КУРСУХ 202
СТУД.ВИПУСКНИ. СТУДЕНТИ (ІД. СТУДЕНТА, ІМ'Я, (ВИПУСКНИКИ) з. 206
СТУДЛЕЛП. СТУДЕНТИ ІД.СТУДЕНТА, ТЕЛ. х-. рів
УСТКУРСИ КУРС (УСІ ДАНІ) - м .
УСІ РЕЄСТРАЦІЇ РЕЄСТРАЦІЇ (УСІ ДАНІ) -- В
ФІГ. ЗВ
ТИП КЛІЄНТА ПРИЗНАЧЕНІ ГРУПИ
СТУД.ОСТ.КУРСУ СТУДОСТКУРСУ ч- 802
УСІ КУРСИ
- 24
УСІ РЕЄСТРАЦІЇ хм ВІВ
ВИПУСКНИКИ ВИПУСКНИКИ з- ОВ.
УСІ КУРСИ
-- 214
УСІ РЕЄСТРАЦІЇ з. 248
ПРОФЕСОРИ БИПУСКНИКИ
І - 208
СТУД.ОСТ.КУРСУ м- 202
СТУД.ТЕЛ. - В
УСІ КУРСИ х- МА
УСІ РЕЄСТРАЦІЇ
Й - 218
РЕЄСТРАЦІЇ УСІ РЕЄСТРАЦІЇ
- 18
ФІГ. З
Ве п ав
ВОКАЛЬНИЙ й ра
МетрАНВ: | / ота
Гой ВИ НН о Ден анод ВН дні 020202 (АХ 0 2 С - Щ- - !
ТРАНЗАКЦІЯ А
1 - кпієнт і пррптту- ШИ ї г ові озон Ї ОРЕ | в
Іншими Бай ві
ТРАНЗАКЦІЯСЄ / їй ! й - уклент ож! сов || ов | ОРЗ ОР 3 ! ні ен шк ш ши
І вевиннни Во ов М г | С ТРАНЗАКЦІЯ В | ГГ
З тА п ктент)
І ; Ї Н ! г І ! Її орі Ї Ов | ОРЗ | ов фо з еле ! шини а и ни ин Я
Й ово орвз оРа ОР8
ТРАНЗАКЦІЯ У
4 | | т-8- щ і з клієнт о ор | ОР» | оз. | ОРЕ. тб дя | ше і «а с І , , е ЖИ, е р Шо о ре шк пит ше дн
ФІГ. 4 ши 502 ! и
З'ЄДНАННЯ З СЕРВЕРОМ шш
Н
І шин ІНН 5Ов
Ш ФАЙПУОНОВЛЕНЬ 2
І і
В | 51?
ПЕРЕДАЧА ФАЙЛІВ | ;
ОНОВЛЕНЬДО КЛІЄНТА
ЯКИЙ їх ВИМАГАВ. їй А
ФІГ. ба ще (х) п птн тн БІВ
ІПОЧАТОК ОЦІНЮВАННЯ ФАЙЛІВ . и
ОНОВЛЕНЬ У СИСТЕМІ КЛІЄНТА - нина нн нн и пи Ге 17 ОЦІНЮВАННЯ ІДЕНТИФІКАТОРА КЛІЄНТА, ши АСОЦІЙОВАНОГО З ТРАНЗАКЦІЄЮ ФАЙЛУ - : МОДИФІКАЦІЇ нн нн реко ТРАНЗАКЦІЇ КЛІЄНТА? Шин нн ше дн ! Шан и
То і ЕВ і Я я рення нт 522 й | ФІЛЬТРУВАННЯ (СТИРАННЯ) ШІ
Ї ВААСНИХ ТРАНЗАКЦІЙ КЛІЄНТА : т р! ! нн ин пн ; шин ПЕРЕТВОРЕННЯ (МЕН ї-- поповнив пон пн нн
Я ва 00 ну 530 жннттт се Дровв дня КЛІЄНТ МАЄ ПРИЙНЯТИ 7, й сто 0 ВСІОНОВПЕНІДАНІГРУЙИ? ос як нт
Шик мо и по і т о Шо ра
ВІДФІЛЬТРОВУВАННЯ ЗАЙВИХ ДАНИХ п. ! Ї днини птнячтн нти тенет жетон
Т ях пн нн ко
ФІГ, 50
Ки
М й ра ененн сад сн КЛІЄНТ ПОТРЕБУЄ я щ-ф ДАНИХ ВІД ІНШИХ ГРУП ДЛЯ не Я бе--о00 ПРИЙНЯТТЯ РІШЕННЯ? 0-7 пн не нн
ЕВ
. ва?
І т ШИ ри ! ОДЕРЖАННЯ ПОТРІБНОЇ ІНФОРМАЦІЇ - інн ше вай т той
ВІДФІЛЬТРОВУВАННЯ ІНТЕРРЕЛЯЦІЙНИХ ДАНИХ шт, : я р пяти 30 ДУБЛЬОВАНІЕ ТРАНЗАКЦІЇ? тен ши ш і ЧЕ ко сій І і Е ща уні коінясфекетенттніннснсюсння ! ! СТИРАННЯ ДУБЛЬОВАНИХ ТРАНЗАКЦІЙ (1-7 нин нів ц пд ко опо оте 1 . 558 п Са т - Шо
ОБ'ЄДНАННЯ ОБРАНИХ ТРАНЗАКЦІЙ 582 ля шк ви то
ЗАБЕЗПЕЧЕННЯ РЕФЕРЕНЦІЙНОЇ ЦІЛІСНОСТІ. пливи І п 5ВО
КІНЕЦЬ еще
З Я
ФІГ, 5с

Claims (22)

1. Спосіб оновлення баз даних у комп'ютері клієнта, який відрізняється тим, що включає групування даних у базі даних сервера згідно з вибраними критеріями, призначення доступу до однієї або більше груп для певного комп'ютера клієнта, запис змін даних кожної з груп у відповідний файл модифікації, передачу до комп'ютерної системи клієнта, що має локальну базу даних, файла модифікації, який містить вибрану частину даних від принаймні однієї з груп, призначених для комп'ютера клієнта, і оновлення локальної бази даних у комп'ютерній системі клієнта з використанням необхідної інформації з файла модифікації.
2. Спосіб за п. 1, який відрізняється тим, що додатково включає асоціювання сукупності файлів модифікації з групою і стеження за тим, який з сукупності файлів був надісланий до конкретної комп'ютерної системи клієнта.
З. Спосіб за п. 1, який відрізняється тим, що операцію групування даних здійснюють згідно з заздалегідь вибраними статичними критеріями.
4. Спосіб за п. 1, який відрізняється тим, що операцію групування даних здійснюють згідно з динамічно утвореними критеріями.
5. Спосіб за п. 2, який відрізняється тим, що додатково включає призначення унікального порядкового номера кожному з файлів модифікації.
6. Спосіб за п. 1, який відрізняється тим, що додатково включає операцію оновлення локальних баз даних комп'ютерних систем клієнта з використанням файлів модифікації, створених для запису змін даних у групах, до яких призначено комп'ютерні системи клієнта.
7. Спосіб за п. 1, який відрізняється тим, що додатково включає операцію передачі комп'ютерною системою клієнта модифікацій, виконаних у вибраних частинах, до бази даних сервера.
8. Спосіб за п. 7, який відрізняється тим, що додатково включає операцію оновлення бази даних сервера модифікаціями вибраних частин даних.
9. Спосіб за п. 8, який відрізняється тим, що включає визначення, які саме дані груп бази даних сервера були змінені, і створення на базі цих змін файлів модифікації і визначення, до яких вибраних груп призначено комп'ютерну систему клієнта, і передачу файлів модифікації, що відповідають вибраним групам, до комп'ютерної системи клієнта у відповідь на визначення вибраних груп, асоційованих з комп'ютерною системою клієнта.
10. Спосіб за п. 9, який відрізняється тим, що додатково включає оцінювання файлів модифікації у комп'ютерній системі клієнта для визначення наявності у першому файлі модифікації модифікацій, релевантних до модифікацій, що містяться у другому файлі модифікації, і обробку релевантних модифікацій для забезпечення сумісності між базою даних сервера і локальною базою даних.
11. Спосіб за п. 10, який відрізняється тим, що операція обробки включає визначення модифікацій, які необхідно стерти при оновленні локальної бази даних.
12. Спосіб за п. 11, який відрізняється тим, що операція обробки включає визначення, які транзакції файлів модифікації були виконані комп'ютерною системою клієнта у процесі оновлення, і стирання тих модифікацій, які були створені у файлах модифікації комп'ютерною системою клієнта у процесі оновлення.
13. Спосіб за п. 10, який відрізняється тим, що операція обробки включає визначення тих модифікацій у файлах модифікації, які мають дублікати у файлі модифікації, асоційованому з іншою групою, і стирання цих дублікатів з збереженням одного екземпляра модифікацій.
14. Спосіб за п. 10, який відрізняється тим, що операція обробки включає об'єднання релевантної інформації з різних файлів для формування транзакції, яка зберігає сумісність між базою даних сервера і локальною базою даних.
15. Спосіб за п. 1, який відрізняється тим, що операція запису змін включає підтримання списку змін, які були виконані у попередньому періоді існування зв'язку між комп'ютерною системою клієнта і базою даних сервера.
16. Спосіб за п. 1, який відрізняється тим, що операція призначення включає створення для комп'ютерних систем клієнта індексу клієнта, який пов'язує кожну комп'ютерну систему клієнта з групою даних на підставі вмісту асоційованих компонентів даних.
17. Спосіб за п. 1, який відрізняється тим, що включає визначення, яка комп'ютерна система клієнта з'єднана з базою даних сервера, і визначення, до якої вибраної групи призначено цю комп'ютерну систему клієнта, і передачу файлів модифікації, що відповідають вибраним групам, до комп'ютерної системи клієнта у відповідь на визначення вибраних груп, призначених для комп'ютерної системи клієнта.
18. Система оновлення комп'ютерних систем клієнтів даними з центральної комп'ютерної системи, яка відрізняється тим, що включає сукупність комп'ютерних систем клієнтів, базу даних у комп'ютерній системі сервера, яка містить дані, згруповані згідно з вибраними критеріями, а кожний клієнт призначений до певної групи, файл модифікації, який створюється у комп'ютерній системі сервера для кожної групи даних, що зазнали зміни, ії включає список модифікаційних транзакцій, які мали місце у групах даних, і програмний модуль, який оновлює локальну базу даних у комп'ютерній системі клієнта, базуючись на змінах у файлах модифікації.
19. Система за п. 18, яка відрізняється тим, що комп'ютерна система сервера створює асоціативні зв'язки вибраних груп даних з відповідними клієнтами.
20. Система за п. 18, яка відрізняється тим, що комп'ютерна система клієнта містить програмний модуль клієнта, який оцінює кожний з файлів модифікації і оновлює локальну базу даних, грунтуючись на оцінці і порівнянні даних файлів модифікації.
21. Система за п. 20, яка відрізняється тим, що програмний модуль клієнта оновлює локальну базу даних стиранням зайвої інформації з файлів модифікації.
22. Система за п. 20, яка відрізняється тим, що програмний модуль клієнта передає модифікації, виконані у вибраній частині, до бази даних сервера, а система сервера оновлює базу даних сервера модифікаціями вибраної частини.
UA2001042525A 1998-09-17 1999-09-17 Система і спосіб синхронізації і організації бази даних UA65638C2 (uk)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/156,075 US6226650B1 (en) 1998-09-17 1998-09-17 Database synchronization and organization system and method
PCT/US1999/021661 WO2000016222A1 (en) 1998-09-17 1999-09-17 Database synchronization and organization system and method

Publications (1)

Publication Number Publication Date
UA65638C2 true UA65638C2 (uk) 2004-04-15

Family

ID=22558001

Family Applications (1)

Application Number Title Priority Date Filing Date
UA2001042525A UA65638C2 (uk) 1998-09-17 1999-09-17 Система і спосіб синхронізації і організації бази даних

Country Status (12)

Country Link
US (1) US6226650B1 (uk)
EP (1) EP1114375A4 (uk)
JP (1) JP2003522344A (uk)
AU (1) AU755292B2 (uk)
BR (1) BR9913844A (uk)
CA (1) CA2344542A1 (uk)
EA (1) EA002931B1 (uk)
IL (1) IL142058A (uk)
MX (1) MXPA01002852A (uk)
UA (1) UA65638C2 (uk)
WO (1) WO2000016222A1 (uk)
ZA (1) ZA200102717B (uk)

Families Citing this family (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3614495A1 (de) * 1986-04-29 1987-11-05 Kloeckner Humboldt Deutz Ag Kraftstoffeinspritzvorrichtung fuer eine brennkraftmaschine
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US7885822B2 (en) 2001-05-09 2011-02-08 William Rex Akers System and method for electronic medical file management
US7956894B2 (en) 1997-10-14 2011-06-07 William Rex Akers Apparatus and method for computerized multi-media medical and pharmaceutical data organization and transmission
US6597392B1 (en) 1997-10-14 2003-07-22 Healthcare Vision, Inc. Apparatus and method for computerized multi-media data organization and transmission
US6493725B1 (en) * 1998-05-18 2002-12-10 Sharp Kabushiki Kaisha Database managing system
JP4406944B2 (ja) * 1998-11-11 2010-02-03 株式会社日立製作所 計算機システム及び問合せに対する処理分散システム
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US6658167B1 (en) * 1999-01-31 2003-12-02 Hewlett-Packard Development Company, L.P. On the fly server for modifying data characteristics for client-server network applications
AU763524B2 (en) * 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
US6681370B2 (en) * 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US7363330B1 (en) * 1999-06-07 2008-04-22 Symantec Corporation Work monitor with file synchronization
US6427168B1 (en) * 1999-07-26 2002-07-30 Microsoft Corporation Architecture for system monitoring using high-performance providers
US6339777B1 (en) * 1999-07-30 2002-01-15 International Business Machines Corporation Method and system for handling foreign key update in an object-oriented database environment
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6574729B1 (en) * 1999-08-26 2003-06-03 Lucent Technologies Inc. System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server
US6446048B1 (en) * 1999-09-03 2002-09-03 Intuit, Inc. Web-based entry of financial transaction information and subsequent download of such information
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US6839744B1 (en) * 1999-09-10 2005-01-04 Ianywhere Solutions, Inc. System, method, and computer program product for administering channels, content, and data for mobile devices
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
US20010047394A1 (en) * 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US20080215672A1 (en) * 1999-09-10 2008-09-04 Sybase 365, Inc. System, Method, and Computer Program Product for a Scalable, Configurable, Client/Server, Cross-Platform Browser for Mobile Devices
US6826539B2 (en) * 1999-12-31 2004-11-30 Xactware, Inc. Virtual structure data repository and directory
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7035878B1 (en) 2000-01-25 2006-04-25 Fusionone, Inc. Base rolling engine for data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6493727B1 (en) * 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
DE10017612A1 (de) * 2000-03-31 2001-10-11 Tillmann Roepenack Verfahren zum automatischen Aktualisieren eines Benutzer-Datensatzes mit Verwaltungsdaten
EP1190508B1 (en) 2000-05-03 2014-01-01 MITAC International Corporation Method and apparatus for interference reduction
US20020005801A1 (en) * 2000-05-03 2002-01-17 Sergey Lyusin Low signal-to-noise ratio positioning system
WO2001086882A2 (en) * 2000-05-05 2001-11-15 @ Hand Corporation System and method for extending an enterprise network to mobile devices
US6944651B2 (en) * 2000-05-19 2005-09-13 Fusionone, Inc. Single click synchronization of data from a public information store to a private information store
US6785868B1 (en) * 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US6721742B1 (en) * 2000-05-31 2004-04-13 International Business Machines Corporation Method, system and program products for modifying globally stored tables of a client-server environment
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US7143194B1 (en) * 2000-07-13 2006-11-28 Microsoft Corporation System and method for optimizing the data transfer between mirrored databases stored on both a client and server computer
US7013316B1 (en) * 2000-07-13 2006-03-14 Microsoft Corporation System and method for synchronizing multiple database files
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US6925476B1 (en) * 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US20060074727A1 (en) 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
US6879996B1 (en) * 2000-09-13 2005-04-12 Edward W. Laves Method and apparatus for displaying personal digital assistant synchronization data using primary and subordinate data fields
DE10046319A1 (de) * 2000-09-19 2002-04-04 Siemens Ag Vorrichtung und Verfahren zum Synchronisieren von Datenbanken in verteilten Kommunikationssystemen
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7587446B1 (en) 2000-11-10 2009-09-08 Fusionone, Inc. Acquisition and synchronization of digital media to a personal information space
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US6718349B2 (en) * 2000-12-14 2004-04-06 Borland Software Corporation Intelligent, optimistic concurrency database access scheme
US20020083151A1 (en) * 2000-12-22 2002-06-27 Robert Adams System and method for database access and management
JP2004528621A (ja) * 2001-01-03 2004-09-16 シンクロロジック インコーポレイテッド リモート・デバイス間のデータ同期のためのシステム及び方法
US6985915B2 (en) 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files
US7162478B2 (en) * 2001-02-28 2007-01-09 International Business Machines Corporation System and method for correlated fragmentations in databases
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US6829655B1 (en) * 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7366738B2 (en) * 2001-08-01 2008-04-29 Oracle International Corporation Method and system for object cache synchronization
US20030074379A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Apparatus and method of predicting file download time based on historical data
EP1444631A2 (en) * 2001-11-07 2004-08-11 SAP Aktiengesellschaft Multi-purpose configuration model
US7370044B2 (en) 2001-11-19 2008-05-06 Equifax, Inc. System and method for managing and updating information relating to economic entities
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7085784B2 (en) * 2002-01-10 2006-08-01 International Business Machines Corporation System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
WO2003077074A2 (en) * 2002-03-08 2003-09-18 Snapp Robert F A method for preventing improper correction of a database during an updating process
US7130874B2 (en) * 2002-03-12 2006-10-31 International Business Machines Corporation Method, system, and program for maintaining data in a distributed computing environment for processing transaction requests
US7133878B2 (en) 2002-03-21 2006-11-07 Sap Aktiengesellschaft External evaluation processes
US20030182167A1 (en) * 2002-03-21 2003-09-25 Wolfgang Kalthoff Goal management
AU2003219415A1 (en) * 2002-03-21 2003-10-08 Sap Aktiengesellschaft Synchronizing users on shared data with locks
US7031787B2 (en) 2002-03-21 2006-04-18 Sap Aktiengesellschaft Change management
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US11337047B1 (en) 2002-05-21 2022-05-17 M2M Solutions Llc System and method for remote asset management
US7464097B2 (en) * 2002-08-16 2008-12-09 Sap Ag Managing data integrity using a filter condition
US7127475B2 (en) * 2002-08-15 2006-10-24 Sap Aktiengesellschaft Managing data integrity
CN100410932C (zh) * 2002-09-03 2008-08-13 Sap股份公司 在数据管理系统中分布数据的方法和系统、共享数据的系统
US7236973B2 (en) * 2002-11-27 2007-06-26 Sap Aktiengesellschaft Collaborative master data management system for identifying similar objects including identical and non-identical attributes
US7509326B2 (en) * 2002-09-03 2009-03-24 Sap Ag Central master data management
US20040044730A1 (en) * 2002-09-03 2004-03-04 Holger Gockel Dynamic access of data
BR0306325A (pt) 2002-09-03 2004-09-28 Sap Ag Distribuição em gerenciamento de dados mestres
US8438238B2 (en) * 2002-10-16 2013-05-07 Sap Ag Master data access
US6760794B2 (en) 2002-11-22 2004-07-06 Honda Giken Kogyo Kabushiki Kaisha Method for decreasing downtime in vehicle identification number stamping operations
US7044196B2 (en) * 2003-01-31 2006-05-16 Cooligy,Inc Decoupled spring-loaded mounting apparatus and method of manufacturing thereof
US9691053B1 (en) 2003-02-13 2017-06-27 Sap Se System and method of master data management
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7054877B2 (en) * 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7308465B2 (en) * 2003-04-03 2007-12-11 Microsoft Corporation Playback graph for data synchronization
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US7899843B2 (en) * 2003-09-19 2011-03-01 International Business Machines Corporation Expanding the scope of an annotation to an entity level
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US7324473B2 (en) * 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7930149B2 (en) * 2003-12-19 2011-04-19 Sap Aktiengesellschaft Versioning of elements in a configuration model
US20050149474A1 (en) * 2003-12-30 2005-07-07 Wolfgang Kalthoff Master data entry
US7272776B2 (en) * 2003-12-30 2007-09-18 Sap Aktiengesellschaft Master data quality
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US7647256B2 (en) * 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
WO2005112586A2 (en) 2004-05-12 2005-12-01 Fusionone, Inc. Advanced contact identification system
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US7574456B2 (en) * 2004-12-16 2009-08-11 Sap Ag Bidirectional update of client-server objects
US8122012B2 (en) * 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7693888B2 (en) * 2005-05-10 2010-04-06 Siemens Communications, Inc. Data synchronizer with failover facility
JP4182083B2 (ja) * 2005-05-12 2008-11-19 キヤノン株式会社 ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム
US7962585B2 (en) * 2005-08-15 2011-06-14 Microsoft Corporation Partial item change tracking and synchronization
EP1755046A1 (de) * 2005-08-17 2007-02-21 Deutsche Post AG Verfahren und Anordnung von Vorrichtungen zur Bereitstellung von Daten mehrerer Datensysteme an wenigstens einem Client
US7600186B2 (en) * 2005-10-07 2009-10-06 Oracle International Corporation Generating a synonym dictionary representing a mapping of elements in different data models
US20070112827A1 (en) * 2005-11-10 2007-05-17 International Business Machines Corporation Abstract rule sets
US8001077B2 (en) * 2005-12-14 2011-08-16 International Business Machines Corporation Distributed method for synchronizing and updating bookmarks on multiple computer devices
CN100373384C (zh) * 2006-04-03 2008-03-05 西安理工大学 远程数据库的可靠下载与本地数据库的使用无冲突的方法
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US10019501B2 (en) * 2006-12-18 2018-07-10 International Business Machines Corporation Data store synchronization utilizing synchronization logs
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US7809696B2 (en) * 2006-12-28 2010-10-05 Sap, Ag System and method for matching similar master data using associated behavioral data
US7756845B2 (en) * 2006-12-28 2010-07-13 Yahoo! Inc. System and method for learning a weighted index to categorize objects
US20080162728A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Synchronization protocol for loosely coupled devices
US20080183576A1 (en) * 2007-01-30 2008-07-31 Sang Hun Kim Mobile service system and method using two-dimensional coupon code
KR20080071334A (ko) * 2007-01-30 2008-08-04 (주) 애니모비 2차원 코드의 판독부를 가지는 모바일 단말기로의 매체콘텐츠 전송 시스템 및 그 방법
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US8478861B2 (en) * 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
WO2009029889A1 (en) * 2007-08-31 2009-03-05 Clear Channel Management Services, L.P. Radio receiver and method for receiving and playing signals from multiple broadcast channels
WO2009043030A2 (en) 2007-09-28 2009-04-02 Xcerion Aktiebolag Network operating system
US20090150181A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for personal medical data database merging
US20090150451A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for selective merging of patient data
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US9128946B2 (en) * 2007-12-31 2015-09-08 Mastercard International Incorporated Systems and methods for platform-independent data file transfers
US20100257073A1 (en) * 2008-10-30 2010-10-07 Frank Stokes Duplicate Payment Prevention
US8078582B2 (en) * 2009-04-06 2011-12-13 Microsoft Corporation Data change ordering in multi-log based replication
US8108343B2 (en) * 2009-04-23 2012-01-31 Microsoft Corporation De-duplication and completeness in multi-log based replication
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8862617B2 (en) * 2010-02-09 2014-10-14 Google Inc. System and method for replicating objects in a distributed storage system
US9305069B2 (en) * 2010-02-09 2016-04-05 Google Inc. Method and system for uploading data into a distributed storage system
US8868508B2 (en) 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
US8352424B2 (en) 2010-02-09 2013-01-08 Google Inc. System and method for managing replicas of objects in a distributed storage system
US8380659B2 (en) * 2010-02-09 2013-02-19 Google Inc. Method and system for efficiently replicating data in non-relational databases
US8874523B2 (en) * 2010-02-09 2014-10-28 Google Inc. Method and system for providing efficient access to a tape storage system
US8615485B2 (en) * 2010-02-09 2013-12-24 Google, Inc. Method and system for managing weakly mutable data in a distributed storage system
US8671074B2 (en) 2010-04-12 2014-03-11 Microsoft Corporation Logical replication in clustered database system with adaptive cloning
CN101807210B (zh) * 2010-04-26 2015-04-01 中兴通讯股份有限公司 一种数据库间数据同步的方法、系统及设备
US8805783B2 (en) 2010-05-27 2014-08-12 Microsoft Corporation Synchronization of subsets of data including support for varying set membership
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
WO2012068124A2 (en) * 2010-11-16 2012-05-24 Gazit Group Usa, Inc. Mobile digital property portfolio management system
US10915549B2 (en) 2012-09-28 2021-02-09 Oracle International Corporation Techniques for keeping a copy of a pluggable database up to date with its source pluggable database in read-write mode
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US9396220B2 (en) 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9614932B2 (en) 2013-03-14 2017-04-04 Microsoft Technology Licensing, Llc Managing and implementing web application data snapshots
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
JP5954738B2 (ja) * 2013-03-19 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルのバックアップの処理を行うコンピュータ、システム、方法およびプログラム
US10037348B2 (en) 2013-04-08 2018-07-31 Nuodb, Inc. Database management system with database hibernation and bursting
US9558232B1 (en) * 2013-06-21 2017-01-31 EMC IP Holding Company LLC Data movement bulk copy operation
US9830372B2 (en) * 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
CN105723365B (zh) * 2013-11-19 2019-09-03 华为技术有限公司 用于优化索引、主数据库节点和订户数据库节点的方法
US9390120B1 (en) 2013-12-31 2016-07-12 Google Inc. System and methods for organizing hierarchical database replication
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
WO2016032803A1 (en) * 2014-08-27 2016-03-03 Alibaba Group Holding Limited Dynamic load-based merging
US10860604B1 (en) 2014-12-10 2020-12-08 Amazon Technologies, Inc. Scalable tracking for database udpates according to a secondary index
CN106156094B (zh) * 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
WO2017070590A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation Proxy databases
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
EP3365805B1 (en) 2015-10-23 2019-08-07 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
WO2017070572A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation Application containers for container databases
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10803078B2 (en) 2015-10-23 2020-10-13 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10936559B1 (en) 2016-09-28 2021-03-02 Amazon Technologies, Inc. Strongly-consistent secondary index for a distributed data set
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US11940990B1 (en) 2017-06-16 2024-03-26 Amazon Technologies, Inc. Global clock values for consistent queries to replicated data
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US11314717B1 (en) 2017-06-23 2022-04-26 Amazon Technologies, Inc. Scalable architecture for propagating updates to replicated data
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
SG11202001323XA (en) 2017-08-15 2020-03-30 Nuodb Inc Index splitting in distributed databases
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
CN107797820B (zh) * 2017-11-13 2021-03-23 北京百度网讯科技有限公司 用于生成补丁的方法和装置
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
WO2020000136A1 (en) 2018-06-25 2020-01-02 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of i/o requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11880385B1 (en) 2020-09-29 2024-01-23 Amazon Technologies, Inc. Ordering updates to secondary indexes using conditional operations
US11250022B1 (en) 2020-09-29 2022-02-15 Amazon Technologies, Inc. Offline index builds for database tables
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US12008014B2 (en) 2021-07-30 2024-06-11 Oracle International Corporation Data guard at PDB (pluggable database) level

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4645873A (en) 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US4648036A (en) 1985-03-06 1987-03-03 At&T Bell Laboratories Method for controlling query and update processing in a database system
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
JP2532148B2 (ja) 1990-01-19 1996-09-11 富士通株式会社 インテリジェント・ネットワ―クにおけるデ―タベ―ス管理方式
DE69232425T2 (de) * 1991-07-10 2002-10-10 Hitachi, Ltd. Sortierverfahren in einer verteilten Datenbank und Zugangsverfahren dazu
US5276901A (en) 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
DE4497149T1 (de) * 1993-09-24 1996-10-17 Oracle Corp Verfahren und Vorrichtung zum Replizieren von Daten
US5630124A (en) * 1993-12-06 1997-05-13 International Business Machines Corporation System and method for assuring atomicity of distributed update requests in a parallel database
DE4403614A1 (de) * 1994-02-05 1995-08-10 Philips Patentverwaltung Kommunikationssystem mit einem verteilten Datenbanksystem
US5687363A (en) 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5835757A (en) * 1994-03-30 1998-11-10 Siemens Telecom Networks Distributed database management system for servicing application requests in a telecommunications switching system
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5491820A (en) 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
US5649195A (en) 1995-05-22 1997-07-15 International Business Machines Corporation Systems and methods for synchronizing databases in a receive-only network
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US5870761A (en) * 1996-12-19 1999-02-09 Oracle Corporation Parallel queue propagation

Also Published As

Publication number Publication date
EP1114375A4 (en) 2006-05-10
US6226650B1 (en) 2001-05-01
BR9913844A (pt) 2002-01-15
AU6153299A (en) 2000-04-03
EP1114375A1 (en) 2001-07-11
EA002931B1 (ru) 2002-10-31
AU755292B2 (en) 2002-12-12
ZA200102717B (en) 2002-06-26
IL142058A (en) 2005-12-18
WO2000016222A1 (en) 2000-03-23
JP2003522344A (ja) 2003-07-22
CA2344542A1 (en) 2000-03-23
EA200100363A1 (ru) 2001-10-22
IL142058A0 (en) 2002-03-10
MXPA01002852A (es) 2003-06-06

Similar Documents

Publication Publication Date Title
UA65638C2 (uk) Система і спосіб синхронізації і організації бази даних
US10698922B2 (en) System and method for providing patient record synchronization in a healthcare setting
CN101552801B (zh) 一种在线浏览和下载用户群组通讯录的方法和系统
US7200806B2 (en) System and method for generating pre-populated forms
US7386575B2 (en) System and method for synchronizing related data elements in disparate storage systems
US6910053B1 (en) Method for data maintenance in a network of partially replicated database systems
US5911141A (en) On-line hierarchical form records identification
CN1126033C (zh) 将事件动态相关的系统
US6233588B1 (en) System for security access control in multiple regions
CN110399373A (zh) 一种区块链账本存储系统、存储查询方法及删除方法
CN104766024A (zh) 基于云平台的医疗系统病例信息存储调用方法
CN106886371B (zh) 缓存数据处理方法及装置
CN1695361B (zh) 远程通信网络中对数据库进行集中式数据管理和访问控制的设备与方法
CN106648903A (zh) 调用分布式文件系统的方法和装置
EP0996071A2 (en) Classification tree based information retrieval scheme
US20190229931A1 (en) Distributed telephone number ledger and register
CN106997557A (zh) 订单信息采集方法及装置
US6502130B1 (en) System and method for collecting connectivity data of an area network
US7395276B2 (en) Systems and methods for resolving telephone number discrepancies en masse
WO2003038669A1 (en) Directory request caching in distributed computer systems
CN117521039A (zh) 一种资源与权限管理方法及装置
KR102298565B1 (ko) 인사 채용 평가를 위한 프라이빗 블록체인 관리 시스템
CN114202307A (zh) 理财登记报送系统和设备
CN116668466B (zh) 一种基于互联网的碳资产信息云端同步方法
CN100403294C (zh) 一种实时修改客户端数据报表的方法