RU2012140253A - Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов - Google Patents

Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов Download PDF

Info

Publication number
RU2012140253A
RU2012140253A RU2012140253/08A RU2012140253A RU2012140253A RU 2012140253 A RU2012140253 A RU 2012140253A RU 2012140253/08 A RU2012140253/08 A RU 2012140253/08A RU 2012140253 A RU2012140253 A RU 2012140253A RU 2012140253 A RU2012140253 A RU 2012140253A
Authority
RU
Russia
Prior art keywords
file
lock
shared resource
create
hard link
Prior art date
Application number
RU2012140253/08A
Other languages
English (en)
Other versions
RU2526282C2 (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 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority to RU2012140253/08A priority Critical patent/RU2526282C2/ru
Priority to US13/938,660 priority patent/US9507817B2/en
Publication of RU2012140253A publication Critical patent/RU2012140253A/ru
Application granted granted Critical
Publication of RU2526282C2 publication Critical patent/RU2526282C2/ru

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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • 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/23Updating

Landscapes

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

Abstract

Способ синхронизации доступа к разделяемому ресурсу вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов, заключающийся в том, чтоассоциируют разделяемый ресурс с блокировочным файлом;вызывают системный вызов атомарного эксклюзивного создания и открытия временного файла с уникальным именем и в той же файловой системе, в которой предполагается создание блокировочного файла, со стороны текущего процесса, пытающегося получить доступ к разделяемому ресурсу; помещают во временный файл информацию о текущем процессе (PID и/или др. сведения, по которым можно определить наличие данного процесса в системе), который пытается обратиться к разделяемому ресурсу;осуществляют системный вызов создания жесткой ссылки с именем блокировочного файла на временный файл;если системный вызов создания жесткой ссылки выполнен успешно, то:удаляют жесткую ссылку на временный файл;обеспечивают выполнение текущим процессом операций с разделяемым ресурсом;удаляют блокировочный файл;если системный вызов создания жесткой ссылки выполнен с ошибкой, и ошибка не связана с тем, что файл с именем блокировочного файла уже существует, то удаляют временный файл;если системный вызов создания жесткой ссылки выполнен с ошибкой, и ошибка связана с тем, что файл с именем блокировочного файла уже существует, то;удаляют временный файл;осуществляют поиск процесса, указанного в существующем блокировочном файле, выполняя следующие действия:устанавливают файловую блокировку записи на существующий блокировочный файл;проверяют наличие в системе процесса, данные которого указаны в существующ

Claims (1)

  1. Способ синхронизации доступа к разделяемому ресурсу вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов, заключающийся в том, что
    ассоциируют разделяемый ресурс с блокировочным файлом;
    вызывают системный вызов атомарного эксклюзивного создания и открытия временного файла с уникальным именем и в той же файловой системе, в которой предполагается создание блокировочного файла, со стороны текущего процесса, пытающегося получить доступ к разделяемому ресурсу; помещают во временный файл информацию о текущем процессе (PID и/или др. сведения, по которым можно определить наличие данного процесса в системе), который пытается обратиться к разделяемому ресурсу;
    осуществляют системный вызов создания жесткой ссылки с именем блокировочного файла на временный файл;
    если системный вызов создания жесткой ссылки выполнен успешно, то:
    удаляют жесткую ссылку на временный файл;
    обеспечивают выполнение текущим процессом операций с разделяемым ресурсом;
    удаляют блокировочный файл;
    если системный вызов создания жесткой ссылки выполнен с ошибкой, и ошибка не связана с тем, что файл с именем блокировочного файла уже существует, то удаляют временный файл;
    если системный вызов создания жесткой ссылки выполнен с ошибкой, и ошибка связана с тем, что файл с именем блокировочного файла уже существует, то;
    удаляют временный файл;
    осуществляют поиск процесса, указанного в существующем блокировочном файле, выполняя следующие действия:
    устанавливают файловую блокировку записи на существующий блокировочный файл;
    проверяют наличие в системе процесса, данные которого указаны в существующем блокировочном файле;
    если текущий процесс в системе существует, то снимают файловую блокировку записи на существующий блокировочный файл;
    если текущий процесс в системе не существует, то выполняют устранение повисшей блокировки, осуществляя следующие действия:
    удаляют из существующего блокировочного файла предыдущие данные несуществующего процесса;
    заносят в существующий блокировочный файл данные текущего процесса;
    снимают файловую блокировку записи с существующего блокировочного файла;
    обеспечивают выполнение текущим процессом операций с разделяемым ресурсом;
    удаляют существующий блокировочный файл.
RU2012140253/08A 2012-09-21 2012-09-21 Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов RU2526282C2 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2012140253/08A RU2526282C2 (ru) 2012-09-21 2012-09-21 Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов
US13/938,660 US9507817B2 (en) 2012-09-21 2013-07-10 Method for synchronizing access to shared resources of a computing system and detecting and eliminating deadlocks using lock files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012140253/08A RU2526282C2 (ru) 2012-09-21 2012-09-21 Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов

Publications (2)

Publication Number Publication Date
RU2012140253A true RU2012140253A (ru) 2014-04-10
RU2526282C2 RU2526282C2 (ru) 2014-08-20

Family

ID=50339900

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012140253/08A RU2526282C2 (ru) 2012-09-21 2012-09-21 Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов

Country Status (2)

Country Link
US (1) US9507817B2 (ru)
RU (1) RU2526282C2 (ru)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584617B2 (en) * 2013-12-31 2017-02-28 Successfactors, Inc. Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data
RU2577200C1 (ru) * 2014-10-31 2016-03-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ синхронизации доступа к разделяемым ресурсам вычислительной системы под управлением posix-совместимой ос и обнаружения и устранения повисших блокировок с использованием блокировочных файлов
KR101806499B1 (ko) * 2016-06-10 2017-12-07 주식회사 지어소프트 파일 관리 방법 및 이를 이용한 파일 관리 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292792B1 (en) * 1999-03-26 2001-09-18 Intelligent Learning Systems, Inc. System and method for dynamic knowledge generation and distribution
US6714958B1 (en) * 1999-07-28 2004-03-30 International Business Machines Corporation Detecting and causing latent deadlocks in multi-threaded programs
US7509322B2 (en) * 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US7246119B2 (en) * 2002-03-08 2007-07-17 Kabushiki Kaisha Toshiba Method and implementation of session-based file locking for network applications
US7293033B1 (en) * 2002-03-27 2007-11-06 Swsoft Holdings, Ltd. System and method for providing effective file-sharing in a computer system to allow concurrent multi-user access
US8706760B2 (en) * 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US7617365B2 (en) * 2004-04-28 2009-11-10 Emc Corporation Systems and methods to avoid deadlock and guarantee mirror consistency during online mirror synchronization and verification
US7953932B2 (en) * 2008-02-13 2011-05-31 International Business Machines Corporation System and method for avoiding deadlocks when performing storage updates in a multi-processor environment

Also Published As

Publication number Publication date
RU2526282C2 (ru) 2014-08-20
US20140089256A1 (en) 2014-03-27
US9507817B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
TWI419003B (zh) 自動化分析與分類惡意程式之方法及系統
US9189135B2 (en) Three-dimensional GUI object stores in automation test tools
EA201891827A1 (ru) Реестр и способ автоматизированного администрирования смарт-контрактов, использующих блокчейн
JP2016522476A5 (ru)
US20180232259A1 (en) Distributed processing of mixed serial and concurrent workloads
JP2014096164A5 (ru)
JP2017068861A5 (ru)
JP2014501420A5 (ru)
JP2016541056A5 (ru)
CN106155839B (zh) 一种用于备份数据的方法与设备
US8448175B2 (en) Deadlock detection in a parallel program
JP2015508549A5 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
JP2005293578A5 (ru)
US10031814B2 (en) Collection record location as log tail beginning
EP2945072A1 (en) Method and apparatus for processing redo data of database
RU2012140253A (ru) Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов
US20180239634A1 (en) Transaction redo using skip element for object
WO2019006997A1 (zh) 程序死锁检测方法、存储介质、设备及系统
JP2016100003A (ja) ソフトウェア試験コードの生成方法及びコンピュータ可読ストレージ媒体
US20160306839A1 (en) Latest external dependee entity in transaction record
RU2015126784A (ru) Типы неизменяемых объектов
US20160306659A1 (en) Processing of data stream collection record sequence
IN2014KN01340A (ru)
US10102251B2 (en) Lockless open collection data structure
CN106033422A (zh) 一种数据库操作控制方法、装置及系统