Technique for serializing data structure updates and retrievals without requiring searchers to use locks

   
   

The present invention provides a method, system, and computer program product for reliably and efficiently serializing access to data structures (i.e. updates and retrievals) without requiring searchers to use locks. The disclosed technique ensures that the contents of the data structure remain valid during access operations, yet does not require searchers to perform compute-intensive comparison operations to determine validity. Two trees are used at all times. Searches proceed against a first tree, while the second tree is used for performing updates. The steps required to carry out a particular update operation are stored as a queued transaction. When the update to the second tree completes, the trees are switched. The queued transaction is applied to the now-out-of-date tree, such that the nodes of this tree do not need to be searched or otherwise evaluated in order to perform the update, thereby optimizing the process of bringing this tree into synchronization with the tree that is now being used by the searchers. The two trees are repeatedly switched as additional update operations are performed. Atomic operations are used to ensure proper synchronization between the search and update processing on the trees.

A invenção atual fornece um método, um sistema, e um produto do programa de computador para confiantemente e eficientemente colocando em série o acesso às estruturas de dados (isto é updates e retrievals) sem reque searchers usar fechamentos. A técnica divulgada assegura-se de que os índices da estrutura de dados remanesçam válidos durante operações do acesso, contudo não se requer searchers executar operações comput-compute-intensive da comparação para determinar a validez. Duas árvores são usadas em todas as vezes. As buscas proseguem de encontro a uma primeira árvore, quando a segunda árvore for usada executando updates. As etapas requeridas realizar uma operação particular do update são armazenadas como uma transação enfileirada. Quando o update à segunda árvore termina, as árvores estão comutadas. A transação enfileirada é aplicada à árvore da agora-para fora-$$$-DATA, tal que os nós desta árvore não necessitam ser procurarados ou avaliado de outra maneira a fim executar o update, optimizing desse modo o processo de trazer esta árvore na sincronização com a árvore que está sendo usada agora pelos searchers. As duas árvores são comutadas repetidamente enquanto as operações adicionais do update são executadas. As operações atômicas são usadas assegurar a sincronização apropriada entre a busca e atualizar processar nas árvores.

 
Web www.patentalert.com

< Secure multi database system including a client, multi database server, and database server

< Information storage, retrieval and delivery system and method operable with a computer network

> Method and apparatus for sending and tracking resume data sent via URL

> File or database manager systems based on a fractal hierarchical index structure

~ 00168