KR20210082396A - 트랜잭션 처리 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 - Google Patents
트랜잭션 처리 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR20210082396A KR20210082396A KR1020210076429A KR20210076429A KR20210082396A KR 20210082396 A KR20210082396 A KR 20210082396A KR 1020210076429 A KR1020210076429 A KR 1020210076429A KR 20210076429 A KR20210076429 A KR 20210076429A KR 20210082396 A KR20210082396 A KR 20210082396A
- Authority
- KR
- South Korea
- Prior art keywords
- transaction
- phrase
- child node
- parent node
- name
- Prior art date
Links
- 238000004590 computer program Methods 0.000 title claims abstract description 10
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 21
- 238000003780 insertion Methods 0.000 claims description 20
- 230000037431 insertion Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 15
- 230000037430 deletion Effects 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 abstract description 5
- 239000000306 component Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 101000772194 Homo sapiens Transthyretin Proteins 0.000 description 4
- 102100029290 Transthyretin Human genes 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 개시는 트랜잭션 처리 방법, 장치, 전자 기기 및 판독 가능 저장 매체를 제공하며, 클라우드 서비스 및 클라우드 스토리지 기술분야에 관한 것이다. 구체적인 구현방안은, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하는 단계로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인 수신하는 단계; 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계; 및 상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계; 를 포함한다. 본 개시의 방안에 따라, 트랜잭션 처리의 충돌율을 감소시킬 수 있다.
Description
본 개시는 컴퓨터 기술분야에 관한 것으로, 특히 클라우드 서비스 및 클라우드 스토리지에 관한 것이다.
계층형 네임스페이스와 같이 네임스페이스는 분산 파일시스템의 코어 구성 부분이고, 네임스페이스에는 파일시스템 디렉토리 트리가 저장되어 있다. 파일시스템 디렉토리 트리는 통상적으로 계층 구조로, 복수 개의 인덱스 노드를 포함하며, 각 인덱스 노드는 하나의 부모 노드를 갖고, 하나의 부모 노드는 복수 개의 자식 노드를 가질 수 있다. 이러한 경우, 파일시스템 디렉토리 트리중 복잡한 노드 관계로, 현재 파일시스템 디렉토리 트리에서의 조작은 통상적으로 크로스 노드 트랜잭션 조작인 것으로 되고 있다.
본 개시의 실시예는 트랜잭션 처리 방법, 장치, 전자 기기 및 판독 가능 저장 매체를 제공한다.
본 개시의 일 측면에 있어서, 트랜잭션 처리 방법을 제공하며, 상기 방법은,
파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하는 단계로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인, 수신하는 단계;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계; 및
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계; 를 포함한다.
본 개시의 또 다른 일 측면에 있어서, 트랜잭션 처리 장치를 제공하며, 상기 트랜잭션 처리 장치는,
파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하기 위한 수신 모듈로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인, 수신 모듈;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하기 위한 전환 모듈; 및
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하기 위한 처리 모듈; 을 포함한다.
본 개시의 또 다른 일 측면에 있어서, 전자 기기를 제공하며, 상기 전자 기기는,
적어도 하나의 프로세서; 및
적어도 하나의 프로세서와 통신으로 연결되는 메모리; 를 포함하며, 그중,
상기 메모리에 상기 적어도 하나의 프로세서에 의해 실행될 수 있는 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서로 하여금 위에서 기술된 방법을 수행하도록 한다.
본 개시의 또 다른 일 측면에 있어서, 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체를 더 제공하며, 상기 컴퓨터 명령은 상기 컴퓨터로 하여금 위에서 기술된 방법을 수행하도록 한다.
본 개시의 기술에 따라 현재 파일시스템 디렉토리 트리에서의 크로스 노드 트랜잭션 조작에 의해 초래된 충돌율이 높은 문제를 해결하였고, 트랜잭션 처리의 충돌율을 감소시킨다.
이해해야 할 것은, 본 개시의 부분적으로 설명된 내용들은 본 개시의 실시예의 포인트를 표시하거나 또는 중요한 특징을 표시하는 것이 아니며, 또한 본 개시의 청구 범위에 대해 제한하기 위한 것이 아님은 자명한 것이다. 본 개시의 기타 특징들은 아래와 같은 설명을 통해 본 개시의 기타 특징들은 아래와 같은 설명을 통해 쉽게 이해할 수 있을 것이다.
도면들은 더 바람직하게 해당 방안을 이해하기 위한 것으로, 본 개시에 대한 한정을 구성하지 않는다. 그중,
도 1은 본 개시의 실시예에서 제공하는 파일시스템 디렉토리 트리의 구조 예시도이다.
도 2는 본 개시의 실시예의 도 1중의 파일시스템 디렉토리 트리에 대응하는 데이터 테이블도이다.
도 3은 본 개시의 실시예에서 제공하는 트랜잭션 처리 방법의 흐름도이다.
도 4는 본 개시의 실시예에서의 트랜잭션 처리 과정의 예시도이다.
도 5는 본 개시의 실시예에서 제공하는 트랜잭션 처리 장치의 구조 예시도이다.
도 6은 본 개시의 실시예의 트랜잭션 처리 방법을 구현하기 위한 전자 기기의 블록도이다.
도 1은 본 개시의 실시예에서 제공하는 파일시스템 디렉토리 트리의 구조 예시도이다.
도 2는 본 개시의 실시예의 도 1중의 파일시스템 디렉토리 트리에 대응하는 데이터 테이블도이다.
도 3은 본 개시의 실시예에서 제공하는 트랜잭션 처리 방법의 흐름도이다.
도 4는 본 개시의 실시예에서의 트랜잭션 처리 과정의 예시도이다.
도 5는 본 개시의 실시예에서 제공하는 트랜잭션 처리 장치의 구조 예시도이다.
도 6은 본 개시의 실시예의 트랜잭션 처리 방법을 구현하기 위한 전자 기기의 블록도이다.
이하, 본 개시의 실시예에서의 도면을 결부시켜, 본 개시의 실시예에 따른 기술방안을 명확하고 완전하게 설명하기로 한다. 그 중에는 이해를 돕기 위한 본 개시의 실시예의 각종 디테일도 포함되어 있으며, 전술한 실시예들은 단지 예시적인 것이며, 해당 기술분야에서 통상의 지식을 가진 자들은 본 개시의 실시예에 대해 본 개시의 정신 및 특허청구범위를 일탈하지 않고 다양한 개변 및 변형을 진행할 수 있다. 간단 명료하게 설명하기 위해, 아래에서는 해당 기술분야에 공지된 기능 및 구조에 대해 진일보하여 기술하지 않기로 한다.
본 출원의 설명과 청구항에서 "제1", "제2" 등은 특정 순서의 설명 또는 순차적인 순서를 설명하는 것이 아니고, 유사한 대상을 구별하기 위한 것이다. 이렇게 사용된 데이터는 적절한 경우 교체될 수 있고, 이는 상술한 본 출원의 실시예가 본 명세서에서 도시된 내용 또는 설명한 내용 이외의 순서를 포함할 수 있게 한다. 이외, 본 명세서에서, 용어 ‘포함’, ‘내포’ 또는 기타 임의의 변체는 비배타적인 포함을 포괄하며, 예컨대, 일련의 단계 또는 유닛을 포함하는 과정, 방법, 시스템, 물품 또는 기기는, 명시적으로 열거한 그런 단계 및 유닛에만 한정될 것이 아니라, 명시적으로 열거되지 않거나 또는 이러한 과정, 방법, 물품 또는 기기에 고유한 기타 단계 또는 유닛을 더 포함하도록 할 것을 의도한다. 본 명세서에 "및/또는" 은 연결 대상의 적어도 하나임을 나타낸다.
클라우드 서비스(cloud service)는 인터넷을 토대로 한 관련 서비스의 증가, 사용 및 인터렉션 모드이고, 통상적으로 인터넷을 통한 동적 확장성 및 종종 가상화를 제공하는 자원에 관한 것이다. 클라우드는 네트워크, 인터넷을 비유한다. 클라우드 서비스는 통상적으로 네트워크를 통해 필요에 따라, 쉽게 확장할 수 있는 방식으로 필요한 서비스를 획득하는 것을 의미한다. 이러한 서비스는 IT 및 소프트웨어, 인터넷에 관한 것일 수 있고, 기타 서비스일 수도 있다.
클라우드 스토리지(cloud storage)는 온라인으로 저장하는 모드이고, 즉 데이터를 전용 서버상에 저장하는 것이 아니라, 통상적으로 제3 자가 위탁 관리하는 여러 개의 가상 서버에 저장한다. 클라우드 스토리지의 개념은 클라우드 컴퓨팅과 유사하다. 클라우드 컴퓨팅(cloud computing)은 네트워크 액세스를 통해 물리 또는 가상 자원 풀을 탄성-확장 가능하게 공유하는 것을 의미하고, 자원은 서버, 조작 시스템, 네트워크, 소프트웨어, 애플리케이션 및 저장 기기 등을 포함할 수 있으며, 또한 수요에 따라, 셀프 서비스의 방식으로 자원에 대해 배치 및 관리를 진행할 수 있는 기술 체계이다. 클라우드 컴퓨팅 기술을 통해, 인공지능, 블록체인(Blockchain) 등 기술 애플리케이션, 모델 훈련을 위해 고-효율적이고 강대한 데이터 처리 능력을 제공할 수 있다.
도 1 및 도 2을 참조하면, 도 1은 본 개시의 실시예에서 제공하는 파일시스템 디렉토리 트리의 구조 예시도이고, 도 2는 도 1중의 파일시스템 디렉토리 트리에 대응하는 데이터 테이블도이다. 도 1 및 도 2에 도시된 바와 같이, 본 개시의 실시예에서의 파일시스템 디렉토리 트리는 계층 구조이고, 파일시스템 디렉토리 트리는 복수 개의 인덱스 노드를 포함하고, 각 인덱스 노드가 구비한 속성 정보는 노드 타입(type), 노드 크기(size), 노드 상태 개변 날짜(mtime), 노드하의 자식 수(nlink) 등을 포함하나 이에 한정되지 않는다. 이러한 속성 정보는 구체적인 구현에 따라 적절하게 확장될 수 있다. 각 인덱스 노드는 하나의 부모 노드를 갖고, 하나의 부모 노드는 복수 개의 자식 노드를 가질 수 있다. 각 인덱스 노드마다 유일한 하나의 인덱스(inode) 번호가 있다.
도 1에 도시된 파일시스템 디렉토리 트리를 예로 들면, 상기 파일시스템 디렉토리 트리는 10개의 인덱스 노드를 포함하고, 각각 a, b, c, d, e, f, g, file1 및 file2이다. 그중, b의 부모 노드는 a이고, b의 자식 노드는 c 및 d이며, b의 형제 노드는 e이고, attr는 속성을 나타내는데, 구체적으로 부모 노드의 속성을 나타내고, attr 노드는 대외적으로 단독 노드의 형태로 나타나고, 즉 a/b에 대한 리스트(list) 조작 결과는 단지 c 및 d뿐이다. 도 1에 도시된 파일시스템 디렉토리 트리는 예를 들어 설명한 것이고, 본 개시의 실시예에서의 파일시스템 디렉토리 트리에 대해 한정하지 않는다.
현재 파일시스템 디렉토리 트리에서의 크로스 노드 트랜잭션 조작에 의해 초래된 충돌율이 높은 문제를 해결하기 위해, 본 개시의 실시예는 파일시스템 디렉토리 트리에 대해, 부모 노드 식별자(parent_i)에 따라 데이터 샤드를 진행하도록 할 것을 제출하였으며, 파일시스템 디렉토리 트리로 하여금 복수 개의 샤드를 포함하도록 하고, 각 샤드마다 하나의 부모 노드 식별자의 데이터를 포함하도록 하며, 즉 동일한 부모 노드 식별자의 데이터는 하나의 샤드에 위치한다. 그 중, 부모 노드 식별자는 예를 들면, 부모 노드의 인덱스 번호이다. 예를 들면, 도 1에 도시된 부모 노드 b를 예로 들면, 인덱스 번호가 2인 데이터는 하나의 샤드에 위치하고, 즉 도 1중 점선으로 표시된 프레임의 데이터는 하나의 샤드에 위치한다. 이로서, 현재 파일시스템 디렉토리 트리에 대한 조작을 샤드내 조작으로 전환할 수 있으며, 샤드내는 동일한 부모 노드 식별자의 데이터이기에, 샤드내 조작의 충돌율은 비교적 낮으며, 따라서 트랜잭션 처리의 충돌율을 감소시킨다.
선택적으로, 본 개시의 실시예에서, 샤드에 대해, 하나의 복제 그룹을 제공할 수 있으며, 즉 하나의 복제 그룹내에서, 멀티 부본을 사용하여 멀티 서비스 기계를 통해 그에 대해 서비스를 제공할 수 있으며, 하나의 서비스 기계에 고장이 발생할 경우, 기타 서비스 기계를 통해 서비스를 제공하여, 가용성 및 신뢰성을 향상시킨다.
도 3을 참조하면, 도 3은 본 개시의 실시예에서 제공하는 트랜잭션 처리 방법의 흐름도이며, 상기 방법은 전자 기기에 응용되고, 도 3에 도시된 바와 같이, 상기 방법은 아래와 같은 단계를 포함한다.
단계 31: 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신한다.
본 개시의 실시예에서, 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스테이지에 저장되어 있으며, 상기 네임스테이지는 예를 들면, 계층형 네임스테이지이다. 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함할 수 있고, 각 샤드는 하나의 부모 노드 식별자의 데이터를 포함하고, 즉 동일한 부모 노드 식별자의 데이터는 하나의 샤드에 위치한다.
선택적으로, 상술한 조작 요청은 크리에이트(creat) 요청, 룩업(lookup) 요청, 리네임(rename) 요청 등을 포함하나 이에 한정되지 않는다.
하나의 구체적인 예에서, 분산 파일시스템은 복수 개의 클라이언트를 포함하고, 상술한 조작 요청은 사용자가 어느 하나의 클라이언트를 통해 송신한 것일 수 있다.
단계 32: 조작 요청을 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환한다.
본 개시의 실시예에서, 조작 요청은 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 것이며, 상기 타겟 샤드는 하나 또는 복수 개의 샤드일 수 있다. 이것을 토대로, 조작 요청에 따른 타겟 샤드에 대해, 조작 요청을 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환한다.
단계 33: 트랜잭션 조작 어구에 따라 타겟 샤드를 처리한다.
이해할 수 있는 것은, 트랜잭션 조작 어구는 타겟 샤드와 관련된 것이기에, 트랜잭션 조작 어구에 따라 상응한 타겟 샤드를 처리하면 된다.
본 개시의 실시예의 트랜잭션 처리 방법은, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하며, 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하고, 트랜잭션 조작 어구에 따라 타겟 샤드를 처리하는 것을 통해, 현재 파일시스템 디렉토리 트리에 대한 조작을 샤드내 조작으로 전환할 수 있으며, 샤드내에는 동일한 부모 노드 식별자의 데이터이기에, 샤드내 조작의 충돌율은 비교적 낮으며, 따라서 트랜잭션 처리의 충돌율을 감소시킨다.
선택적으로, 파일시스템 디렉토리 트리중의 샤드를 유연하게 조정하고 확장하는 것을 구현하기 위해, 본 개시의 실시예에서의 네임스페이스를 시맨틱 층 및 저장 층으로 나눌 수 있다. 저장 층에는 파일시스템 디렉토리 트리가 저장되어 있다. 저장 층은 트랜잭션을 지원하는 분산 비관계형 데이터베이스(Not Only Structured Query Language,NoSQL)/고성능 데이터베이스(New Structured Query Language,NewSQL)로 이해될 수 있으며, 트랜잭션 및 2급 인덱스를 지원한다. 시맨틱 층은 그 자체로 무상태이고, 저장 층의 기초상에서 시맨틱 논리를 제공한다.
즉, 본 개시의 실시예에서의 네임스페이스는 실질적으로 각각 파일시스템 디렉토리 트리의 저장 및 조작에 대응하는 저장 기능 및 시맨틱 기능 두부분의 기능을 제공하였으며, 저장은 파일시스템 디렉토리 트리의 내용을 잃어버리지 않는 것을 의미하고, 조작은 create, rmdir, lookup 및 rename 등의 디렉토리 트리 조작을 지원하는 것을 의미한다.
선택적으로, 네임스페이스는 시맨틱 층 및 저장 층을 포함할 경우, 상술한 조작 요청을 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는 구체적으로, 시맨틱 층 중에서 조작 요청을 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계이고; 상술한 트랜잭션 조작 어구에 따라 타겟 샤드를 처리하는 단계는, 저장 층 중에서 트랜잭션 조작 어구에 따라 타겟 샤드를 처리하는 단계이다. 이로서, 저장 층으로 하여금 확장성, 가용성, 신뢰성 등을 제공하도록 하고 또한 트랜잭션 처리를 지원하도록 하며, 시맨틱 층으로 하여금 시맨틱 논리를 제공하도록 할 수 있으며, 따라서 저장 및 조작을 분리시켜, 저장 층중에서 유연하게 샤드를 조정하고 확장하는 것을 구현한다.
예를 들면, 도 4에 도시된 바와 같이, 클라이언트가 발기한 조작 요청에 대해, 시맨틱 층에서 시맨틱 서비스를 이용하여 저장 층의 복수 개의 트랜잭션 조작으로 분해될 수 있으며, 저장 층에서 저장 서비스를 이용하여 상응한 트랜잭션 조작을 수행할 수 있다.
본 개시의 실시예에서, 부모 노드 식별자에 따라 파일시스템 디렉토리 트리에 대해 데이터 샤드를 진행하는 것을 토대로, 메인 키(parent_id, name) 즉 부모 노드 식별자 및 상응한 자식 노드의 네임을 통해 조작 요청을 발기할 수 있다. 선택적으로, 조작 요청은 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함할 수 있으며, 부모 노드 식별자는 타겟 샤드를 지시하기 위한 것이다.
아래에서는 구체적인 트랜잭션 처리 과정을 결부하여 본 출원에 대해 상세하게 설명하려 한다.
1) 크리에이트 트랜잭션, 즉, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청은 크리에이트(create) 요청을 포함한다.
상기 1)에서, 크리에이트 요청은 적어도 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함한다. 그중, 부모 노드 식별자는 타겟 샤드를 지시하기 위한 것이다. 자식 노드의 네임은 타겟 샤드중에서 해당 자식 노드의 데이터를 추가하는 것을 나타내기 위한 것이다.
진일보하여, 상술한 크리에이트 요청을 수신한 후, 자식 노드의 네임에 따라, 자식 노드의 인덱스 번호를 생성하고, 트랜잭션 삽입 어구를 생성할 수 있으며, 상기 트랜잭션 삽입 어구는 속성 식별자 및 자식 노드의 인덱스 번호를 포함한다. 그후, 생성된 트랜잭션 삽입 어구에 따라, 상기 자식 노드의 데이터를 타겟 샤드에 추가하여, 크리에이트 과정을 완성할 수 있다.
선택적으로, 본 개시의 실시예에서, 자식 노드의 인덱스 번호를 생성한 후, 트랜잭션 업데이트 어구를 더 생성할 수 있으며, 상기 트랜잭션 업데이트 어구는 상응한 부모 노드의 속성 정보를 업데이트하도록 지시하기 위한 것이고, 상기 트랜잭션 업데이트 어구는 적어도 부모 노드 식별자 및 자식 노드의 네임을 포함한다. 그후, 생성된 트랜잭션 업데이트 어구에 따라, 타겟 샤드중에서 상응한 부모 노드의 속성 정보를 업데이트할 수 있다.
이로서, 부모 노드 식별자를 사용하는 것을 통해, 유연하게 샤드를 확장할 수 있다.
예를 들면, 도 1에 도시된 파일시스템 디렉토리 트리를 예로 들면, 부모 노드 a하에 b를 크리에이트하는 과정은, S1: 클라이언트가 create(1, b)와 같이 크리에이트 요청을 발기하는 단계; S2: 시맨틱 층이 b를 위해 유일한 하나의 inode 번호 2를 생성하는 단계; S3: 시맨틱 층에서 insert(2, /ATTR)와 같이 트랜잭션 삽입 어구를 생성하여 저장 층으로 송신하며, 저장 서비스를 통해 inode 번호 1이 지시한 타겟 샤드중에서 b의 데이터를 추가하는 단계; 및 S4: 시맨틱 층에서 insert_with_update(1, b)와 같이 트랜잭션 업데이트 어구를 생성하여, 저장 서비스를 통해 타겟 샤드중에서 부모 노드의 속성 정보를 업데이트하는 단계; 를 포함할 수 있으며, 상기 조작은 암시적으로 (1, /ATTR)의 nlink 속성을 추가하고 (1, /ATTR)의 mtime 등 속성을 업데이트 하는 조작을 포함한다. 설명해야 할 것은, S3과 S4는 두개의 단독 조작이기에, S3와 S4는 병행할 수 있다.
2)룩업 트랜잭션, 즉, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청은 룩업(lookup) 요청을 포함한다.
상기 2)에서, 룩업 요청은 적어도 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함한다. 그중, 부모 노드 식별자는 타겟 샤드를 지시하기 위한 것이다. 자식 노드의 네임은 타겟 샤드중에서 해당 자식 노드의 데이터를 룩업하는 것을 나타내기 위한 것이다.
진일보하여, 상술한 룩업 요청을 수신한 후, 자식 노드의 네임에 따라, 자식 노드의 인덱스 번호를 획득하여, 트랜잭션 룩업 어구를 생성할 수 있으며, 상기 트랜잭션 룩업 어구는 속성 식별자 및 자식 노드의 인덱스 번호를 포함한다. 그후, 생성된 트랜잭션 룩업 어구에 따라, 타겟 샤드중에서 해당 자식 노드의 데이터를 룩업하고 획득하여, 룩업 과정을 완성할 수 있다. 이로하여, 부모 노드 식별자를 사용하는 것을 통해, 룩업 과정을 신속하게 구현할 수 있다.
예를 들면, 도 1에 도시된 파일시스템 디렉토리 트리를 예로 들면, 부모 노드 a하에서 b를 룩업하는 과정은, S1: 클라이언트가 lookup(1, b)와 같이 룩업 요청을 발기하는 단계; S2: 시맨틱 층에서 get(1, b)와 같이 트랜잭션 룩업 어구를 생성하여 저장 층으로 송신하며, 저장 서비스를 통해 b의 inode 번호 2를 획득하는 단계; S3: 시맨틱 층에서 get(2, /ATTR)와 같이 트랜잭션 룩업 어구를 생성하여 저장 층으로 송신하고, 저장 서비스를 통해 inode 번호 1이 지시한 타겟 샤드중에서 속성 정보와 같이 b의 데이터를 획득하는 단계; 및 S4: b의 속성 정보를 클라이언트로 리턴하는 단계; 를 포함한다.
3)리네임 트랜잭션, 즉, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청은 리네임(rename) 요청을 포함한다.
rename 조작은 하나의 인덱스 노드를 파일시스템 디렉토리 트리중의 또 다른 하나의 위치로 이동하는 것을 의미한다. 예를 들면, rename (a/b, a/aa)는 노드 a/b를 a/aa로 이동하는 것을 의미하는데, 이 예는 동일한 부모 노드하의 이동이고, 크로스 샤드 트랜잭션과 관련되지 않고, 직접 싱글 샤드내에서 완성할 수 있으며, 예를 더 들면, rename(a/b, a/e/bb)은 크로스 샤드 트랜잭션에 관한 것으로, 상이한 부모 노드하의 이동을 나타낸다.
선택적으로, 상기 3)에서, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청은 리네임 요청을 포함한다. 크로스 샤드 트랜잭션과 관련되지 않은 경우, 상기 리네임 요청은 제1 부모 노드 식별자, 제1 자식 노드의 네임 및 제2 자식 노드의 네임을 포함할 수 있다. 그중, 제1 부모 노드 식별자는 타겟 샤드를 지시하기 위한 것이다. 제1 자식 노드의 네임은 타겟 샤드중에서 해당 자식 노드의 데이터를 삭제하는 것을 나타내기 위한 것이다. 제2 자식 노드의 네임은 타겟 샤드중에서 해당 자식 노드의 데이터를 추가하는 것을 나타내기 위한 것이다.
진일보하여, 상술한 리네임 요청을 수신한 후, 트랜잭션 증가 삭제 어구를 생성할 수 있고, 상기 트랜잭션 증가 삭제 어구는 제1 부모 노드 식별자, 제1 자식 노드의 네임 및 제2 자식 노드의 네임을 포함하고, 트랜잭션 증가 삭제 어구에 따라, 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 제1 자식 노드의 데이터를 삭제하고, 또한 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 제2 자식 노드의 데이터를 추가한다. 이로서, 부모 노드 식별자를 사용하는 것을 통해, 유연하게 샤드를 조정할 수 있다.
예를 들면, 도 1에 도시된 파일시스템 디렉토리 트리를 예로 들면, 부모 노드 a하에서 b를 삭제하고 aa를 추가하는 과정은, S1: 클라이언트가 rename(1, b, 1, aa)와 같이 리네임 요청을 발기하는 단계; 및 S2: 시맨틱 층에서 insert_with_delete(1, b, 1, aa)와 같이 트랜잭션 증가 삭제 어구를 생성하여 저장 층으로 송신하고, 저장 서비스를 통해 inode 번호 1이 지시한 타겟 샤드중에서 b를 삭제하고 aa를 추가하는 조작을 구현하는 단계; 를 포함할 수 있다.
선택적으로, 크로스 샤드 트랜잭션과 관련되는 경우, 상기 리네임 요청은 제2 부모 노드 식별자, 제3 자식 노드의 네임, 제3부모 노드 식별자 및 제4 자식 노드의 네임을 포함할 수 있다. 그중, 제2 부모 노드 식별자 및 제3 부모 노드 식별자는 타겟 샤드를 지시하기 위한 것이다. 제3 자식 노드의 네임은 상응한 타겟 샤드중에서 해당 자식 노드의 데이터를 삭제하는 것을 나타내기 위한 것이다. 제4 자식 노드의 네임은 상응한 타겟 샤드중에서 해당 자식 노드의 데이터를 추가하는 것을 나타내기 위한 것이다.
진일보하여, 상술한 리네임 요청을 수신한 후, 트랜잭션 삭제 어구 및 트랜잭션 삽입 어구를 생성할 수 있으며; 상기 트랜잭션 삭제 어구는 제2 부모 노드 식별자 및 제3 자식 노드의 네임을 포함하고, 상기 트랜잭션 삽입 어구는 제3 부모 노드 식별자 및 제4 자식 노드의 네임을 포함하며; 상기 트랜잭션 삭제 어구에 따라, 제2 부모 노드 식별자가 지시한 타겟 샤드중에서 제3 자식 노드의 데이터를 삭제하고, 또한, 상기 트랜잭션 삽입 어구에 따라, 제3 부모 노드 식별자가 지시한 타겟 샤드중에서 제4 자식 노드의 데이터를 추가한다. 이로서, 부모 노드 식별자를 사용하는 것을 통해, 유연하게 샤드를 조정할 수 있다.
예를 들면, 도 1에 도시된 파일시스템 디렉토리 트리를 예로 들면, 부모 노드 a하에서 b를 삭제하고 부모 노드 e에 aa를 추가하는 과정은, S1: 클라이언트가 rename(1,b, 7, bb)와 같이 리네임 요청을 발기하는 단계; 및 S2: 시맨틱 층에서 delete(1, b)와 같이 트랜잭션 삭제 어구를 생성하고 insert(7,bb)와 같이 트랜잭션 삽입 어구를 생성하여 저장 층으로 송신하고, 저장 서비스를 통해 inode 번호 1이 지시한 타겟 샤드중에서 b를 삭제하는 조작을 구현하고 및 inode 번호 7이 지시한 타겟 샤드중에서 bb를 추가하는 조작을 구현하는 단계; 를 포함한다.
도 5를 참조하면, 도 5는 본 개시의 실시예에서 제공하는 트랜잭션 처리 장치의 구조 예시도이고, 도 5에 도시된 바와 같이, 상기 트랜잭션 처리 장치(50)는,
파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하기 위한 수신 모듈로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인, 수신 모듈(51);
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하기 위한 전환 모듈(52); 및
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하기 위한 처리 모듈(53); 을 포함한다.
선택적으로, 상기 네임스페이스는 시맨틱 층 및 저장 층을 포함하고; 상기 저장 층에 상기 파일시스템 디렉토리 트리가 저장되어 있으며;
상기 전환 모듈(52)은 또한, 상기 시맨틱 층중에서 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하기 위한 것이며;
상기 처리 모듈(53)은 또한, 상기 저장 층중에서 상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하기 위한 것이다.
선택적으로, 상기 조작 요청은 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함하며, 상기 부모 노드 식별자는 상기 타겟 샤드를 지시하기 위한 것이다.
선택적으로, 상기 조작 요청은 크리에이트 요청을 포함하고; 상기 전환 모듈(52)은,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 생성하기 위한 제1 생성 유닛; 및
트랜잭션 삽입 어구를 생성하기 위한 제2 생성 유닛으로서, 상기 트랜잭션 삽입 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 제2 생성 유닛; 을 포함하며,
상기 처리 모듈(53)은 또한, 상기 트랜잭션 삽입 어구에 따라, 상기 자식 노드의 데이터를 상기 타겟 샤드에 추가하기 위한 것이다.
선택적으로, 상기 전환 모듈(52)은,
트랜잭션 업데이트 어구를 생성하기 위한 제3 생성 유닛으로서, 상기 트랜잭션 업데이트 어구는 상기 부모 노드 식별자 및 상기 자식 노드의 네임을 포함하는 것인, 제3 생성 유닛; 을 더 포함하며,
상기 처리 모듈(53)은 또한, 상기 트랜잭션 업데이트 어구에 따라, 상기 타겟 샤드중에서 상기 부모 노드의 속성 정보를 업데이트하기 위한 것이다.
선택적으로, 상기 조작 요청은 룩업 요청을 포함하고; 상기 전환 모듈(52)은,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 획득하기 위한 획득 유닛; 및
트랜잭션 룩업 어구를 생성하기 위한 제4 생성 유닛으로서, 상기 트랜잭션 룩업 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 제4 생성 유닛; 을 포함하며,
상기 처리 모듈(53)은 또한, 상기 트랜잭션 룩업 어구에 따라, 상기 타겟 샤드중에서 상기 자식 노드의 데이터를 룩업하고 획득하기 위한 것이다.
선택적으로, 상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제1 부모 노드 식별자, 제1 자식 노드의 네임 및 제2 자식 노드의 네임을 포함하며;
상기 전환 모듈(52)은,
트랜잭션 증가 삭제 어구를 생성하기 위한 제5 생성 유닛으로서, 상기 트랜잭션 증가 삭제 어구는 상기 제1 부모 노드 식별자, 상기 제1 자식 노드의 네임 및 상기 제2 자식 노드의 네임을 포함하는 것인, 제5 생성 유닛; 을 포함하며,
상기 처리 모듈(53)은 또한, 상기 트랜잭션 증가 삭제 어구에 따라, 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제1 자식 노드의 데이터를 삭제하고, 또한 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제2 자식 노드의 데이터를 추가하기 위한 것이다.
선택적으로, 상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제2 부모 노드 식별자, 제3 자식 노드의 네임, 제3 부모 노드 식별자 및 제4 자식 노드의 네임을 포함하며;
상기 전환 모듈(52)은,
트랜잭션 삭제 어구 및 트랜잭션 삽입 어구를 생성하기 위한 제6 생성 유닛으로서, 상기 트랜잭션 삭제 어구는 상기 제2 부모 노드 식별자 및 상기 제3 자식 노드의 네임을 포함하고, 상기 트랜잭션 삽입 어구는 상기 제3 부모 노드 식별자 및 상기 제4 자식 노드의 네임을 포함하는 것인, 제6 생성 유닛; 을 포함하며,
상기 처리 모듈(53)은 또한, 상기 트랜잭션 삭제 어구에 따라, 상기 제2 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제3 자식 노드의 데이터를 삭제하고, 또한, 상기 트랜잭션 삽입 어구에 따라, 상기 제3 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제4 자식 노드의 데이터를 추가하기 위한 것이다.
이해할 수 있는 것은, 본 개시의 실시예의 트랜잭션 처리 장치(50)는, 상술한 도 3에 도시된 방법 실시예의 각각의 과정을 구현할 수 있으며, 동일한 바람직한 효과를 달성할 수 있는바, 중복되는 설명을 피하기 위해, 여기서 더 이상 상세하게 기술하기 않기로 한다.
본 개시의 실시예에 따라, 본 개시는 전자 기기 및 판독 가능 저장 매체를 더 제공한다.
도 6에 도시된 바와 같이, 도 6은 본 개시의 실시예의 트랜잭션 처리 방법에 따른 전자 기기의 블록도이다. 전자 기기는 예를 들면, 랩탑 컴퓨터, 데스크톱 컴퓨터, 워킹 테이블, 개인용 디지털 보조기, 서버, 블레이드 서버, 대형 컴퓨터, 및 기타 적합한 컴퓨터와 같이 다양한 형태의 디지털 컴퓨터를 나타낸다. 전자 기기는 또한 다양한 형태의 이동 장치를 나타낼 수 있으며, 예컨대, 개인용 디지털 프로세스, 셀룰러 휴대폰, 스마트 휴대폰, 웨어러블 기기 및 기타 유사한 컴퓨팅 장치이다. 본문에서 나타내는 컴포넌트, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것이지, 본 명세서에 설명된 및/또는 요구하는 본 개시의 구현을 제한하기 위함이 아님은 자명한 것이다.
도 6에 도시된 바와 같이, 상기 전자 기기는, 하나 또는 복수 개의 프로세서(601), 메모리(602), 및 각 컴포넌트들을 연결하기 위한 인터페이스를 포함하고, 고속 인터페이스 및 저속 인터페이스를 포함한다. 각 컴포넌트들은 상이한 버스를 이용하여 서로 연결되고, 코먼 메인 플레이트 상에 설치되거나 또는 수요에 따라 기타 방식으로 설치될 수 있다. 프로세서는 전자 기기내에서 수행하는 명령에 대해 처리를 진행할 수 있으며, 메모리에 저장되거나 또는 메모리상에 외부 입력/출력 장치(예컨대, 인터페이스에 연결되는 표시 기기)상에서 GUI의 그래픽 정보를 나타내는 명령을 포함한다. 기타 실시방식에 있어서, 필요하다면, 복수 개의 프로세서 및/또는 복수 개의 버스를 복수 개의 메모리 및 복수 개의 메모리와 함께 사용할 수 있다. 동일하게, 복수 개의 전자 기기를 연결할 수 있으며, 각 기기들은 부분적으로 필요한 조작을 제공한다(예컨대, 서버 어레이, 블레이드 서버, 또는 멀티 프로세서 시스템). 도 6에서는 하나의 프로세서(601)를 예로 들었다.
메모리(602)는 본 개시에서 제공하는 비일시적 컴퓨터 판독 가능 저장 매체이다. 그중, 상기 메모리에 적어도 하나의 프로세서에 의해 실행되는 명령이 저장되어 있으며, 상기 적어도 하나의 프로세서로 하여금 본 개시에서 제공하는 트랜잭션 처리 방법을 수행하도록 한다. 본 개시의 비일시적 컴퓨터 판독 가능 저장 매체에 컴퓨터 명령이 저장되어 있으며, 상기 컴퓨터 명령은 컴퓨터로 하여금 본 개시에서 제공하는 트랜잭션 처리 방법을 수행하도록 하기 위한 것이다.
메모리(602)는 하나의 비일시적 컴퓨터 판독 가능 저장 매체로서, 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터가 실행가능한 프로그램 및 모듈을 저장하기 위한 것이며, 예를 들면, 본 개시의 실시예에서의 트랜잭션 처리 방법에 대응되는 명령/모듈(예컨대, 도 5에 도시된 수신 모듈(51) 전환 모듈(52) 및 처리 모듈(53))이다. 프로세서(601)는 메모리(602)중의 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행하는 것을 통해, 따라서 서버의 각종 기능 애플리케이션 및 데이터 처리를 수행하며, 즉 상술한 방법 실시예에서의 트랜잭션 처리 방법을 구현한다.
메모리(602)는 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있으며, 그중, 프로그램 저장 영역은 작업 시스템, 적어도 하나의 기능에 필요한 애플리케이션 등을 저장할 수 있으며; 데이터 저장 영역은 트랜잭션 처리 방법의 전자 기기의 사용에 따라 작성된 데이터 등을 저장할 수 있다. 또한, 메모리(602)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비일시적 메모리를 포함할 수도 있으며, 예컨대 적어도 하나의 자기 디스크 저장 디바이스, 플래시 메모리 디바이스 또는 기타 비일시적 솔리드 스테이트 저장 디바이스를 더 포함할 수 있다. 일부 실시예에서, 메모리(602)는 선택적으로 프로세서(601)와 상대적으로 원격 설치된 메모리를 포함할 수 있으며, 이러한 원격 메모리는 네트워크를 통해 트랜잭션 처리 방법에 따른 전자 기기에 연결될 수 있다. 상술한 네트워크의 실시예는 인터넷, 기업 내부 네트워크, 로컬 영역 네트워크, 이동 통신망 및 이들의 조합을 포함할 수 있으나 이에 한정되지 않는다.
트랜잭션 처리 방법에 따른 전자 기기는, 입력 장치(603) 및 출력 장치(604)를 더 포함할 수 있다. 프로세서(601), 메모리(602), 입력 장치(603) 및 출력 장치(604)는 버스 또는 기타 방식을 통해 연결될 수 있고, 도 6에서는 버스를 통해 연결된 것으로 예를 들었다.
입력 장치(603)는 입력된 숫자 또는 문자 부호 정보를 수신하고, 트랜잭션 처리 방법에 따른 전자 기기의 사용자 설정 및 기능 제어와 관련된 키 신호 입력을 산생시킬 수 있는바. 예컨대, 입력 장치는 터치 패널, 기능키, 마우스, 트랙패널, 터치 패널, 표시 로드, 하나 또는 복수 개의 마우스 버튼, 트랙볼, 조이스틱 등 입력 장치이다. 출력 장치(604)는 표시 기기, 보조 조명 장치(예컨대, LED) 및 촉각 피드백 장치(예컨대, 진동 전기) 등을 포함할 수 있다. 상기 표시 기기는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 및 플라즈마 디스플레이를 포함할 수 있으나, 이에 한정되지 않는다. 일부 실시방식에서, 표시 기기는 터치 스크린일 수 있다.
여기서 설명되는 시스템 및 기술의 각종 실시방식들은 디지털 전기 회로 시스템, 집적 회로 시스템, 전용 ASIC(전용 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 각종 실시방식은, 하나 또는 복수 개의 컴퓨터 프로그램에서 구현하는 방식을 포함할 수 있으며, 상기 하나 또는 복수 개의 컴퓨터 프로그램은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 시스템에서 실행 및/또는 해석될 수 있으며, 상기 프로그램 가능한 프로세서는 전용 또는 범용으로 프로그램 가능한 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로부터 데이터 및 명령을 수신할 수 있으며, 데이터 및 명령을 상기 저장 시스템, 상기 적어도 하나의 입력 장치, 및 상기 적어도 하나의 출력 장치로 전송한다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드로도 칭할 수 있음)은 프로그램 가능한 프로세서의 기계 명령을 포함하며, 고급 과정 및/또는 대상을 향한 프로그램 언어 및/또는 어셈블링/기계 언어를 이용하여 이러한 컴퓨팅 프로그램을 구현할 수 있다. 본문에서 사용되는 용어 “기계 판독 가능 매체” 및 “컴퓨터 판독 가능 매체”는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능한 매체를 포함하는, 기계 명령 및/또는 데이터를 프로그램 가능한 프로세서의 임의의 컴퓨터 프로그램 제품, 기기, 및/또는 장치(예컨대, 자기 디스크, 광 디스크, 메모리, 프로그램 가능한 로직 장치(PLD))를 의미한다. 용어 “기계 판독 가능 신호”는 기계 명령 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위한 임의의 신호를 의미한다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 설명된 시스템 및 기술을 컴퓨터에서 실시할 수 있으며, 상기 컴퓨터는, 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(예컨대, CRT (칼라 음극선관) 또는 LCD(액정 디스플레이) 모니터); 및 키보드 및 포인팅 장치(예컨대, 마우스 또는 트랙볼)를 구비하고, 사용자는 상기 키보드 및 포인팅 장치를 통해 입력을 컴퓨터에 제공할 수 있다. 기타 타입의 장치는 사용자와의 인터렉션을 제공할 수 있으며; 예컨대, 사용자에게 제공된 피드백은 임의의 형태의 센싱 피드백(예컨대, 시각적 피드백, 청각적 피드백, 또는 촉각 피드백)일 수 있으며; 그리고 임의의 형태(음향 입력, 음성 입력, 또는 촉각 입력)를 사용하여 사용자로부터의 입력을 수신할 수 있다.
여기서 설명된 시스템 및 기술을 백스테이지 컴포넌트를 포함하는 컴퓨팅 시스템(예컨대, 데이터 서버), 또는 중간 컴포넌트를 포함하는 컴퓨팅 시스템(예컨대, 애플리케이션 서버), 또는 전방 컴포넌트를 포함하는 컴퓨팅 시스템(예컨대, 그래픽 사용자 인터페이스 또는 네트워크 브라우저를 구비한 사용자 컴퓨터, 사용자는 상기 그래픽 사용자 인터페이스 또는 상기 네트워크 브라우저를 통해 여기에서 설명된 시스템 및 기술의 실시방식을 인터렉션할 수 있음), 또는 이런 백스테이지 컴포넌트, 중간 컴포넌트, 또는 전방 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신(예컨대, 통신 네트워크)에 의해 서로 연결될 수 있다. 통신 네트워크의 예는 로컬 네트워크(LAN), 광역 네트워크(WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있고, 통상적으로 통신 네트워크를 통해 서로 인터렉션을 진행한다. 상응한 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 구비한 컴퓨터 프로그램을 통해 클라이언트와 서버의 관계가 생성되며, 서버는 분산 시스템의 서버일 수 있고, 또는 블록체인을 결합한 서버일 수도 있다.
본 개시의 실시예의 기술방안에 따라, 파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 샤드는 하나의 부모 노드 식별자의 데이터를 포함하며, 조작 요청을 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하고, 트랜잭션 조작 어구에 따라 타겟 샤드를 처리한다. 이로서, 현재 파일시스템 디렉토리 트리에 대한 조작을 샤드내 조작으로 전환할 수 있으며, 샤드내는 동일한 부모 노드 식별자의 데이터이기에, 샤드내 조작의 충돌율은 비교적 낮으며, 따라서 트랜잭션 처리의 충돌율을 감소시킨다.
위에서 도시된 각종 형태의 흐름을 사용하여, 단계를 재정렬, 추가 또는 삭제할 수 있다. 예를 들면, 본 개시에서 기재된 각 단계들은 병렬적으로 수행될 수 있고, 또한 순차적으로 수행될 수도 있으며, 상이한 순서로 수행될 수도 있는바, 단지 본 출원에서 개시한 기술방안이 희망하는 결과를 구현할 수만 있다면, 본문에서는 이에 대해 한정하지 않는다.
상술한 구체적인 실시방식은, 본 개시의 보호 범위의 한정을 구성하지 않는다. 해당 기술분야에서 통상의 지식을 가진 자들은 본 개시의 실시예에서의 설계 요구 및 기타 요소에 따라, 다양한 개변, 조합, 서브 조합 및 교체를 진행할 수 있다. 본 개시의 정신 및 특허청구범위를 일탈하지 않고, 이러한 개변, 등가 교체 및 변형은 본 개시의 청구범위 및 그와 동등한 기술 범위 내에 속하며, 본 개시에서는 이러한 개변 및 변형을 청구범위 내에 귀속시키고자 한다.
Claims (19)
- 트랜잭션 처리 방법에 있어서,
파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하는 단계로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인, 수신하는 단계;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계; 및
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계;
를 포함하는 트랜잭션 처리 방법. - 제1 항에 있어서,
상기 네임스페이스는 시맨틱 층 및 저장 층을 포함하고; 상기 저장 층에 상기 파일시스템 디렉토리 트리가 저장되어 있으며;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는,
상기 시맨틱 층중에서 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계를 포함하며;
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 저장 층중에서 상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계를 포함하는 것인,
트랜잭션 처리 방법. - 제1 항에 있어서,
상기 조작 요청은 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함하며, 상기 부모 노드 식별자는 상기 타겟 샤드를 지시하기 위한 것인 트랜잭션 처리 방법. - 제3 항에 있어서,
상기 조작 요청은 크리에이트 요청을 포함하고; 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 생성하는 단계; 및
트랜잭션 삽입 어구를 생성하는 단계로서, 상기 트랜잭션 삽입 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 생성하는 단계; 를 포함하며,
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 트랜잭션 삽입 어구에 따라, 상기 자식 노드의 데이터를 상기 타겟 샤드에 추가하는 단계; 를 포함하는 것인,
트랜잭션 처리 방법. - 제4 항에 있어서,
상기 자식 노드의 인덱스 번호를 생성한 후, 상기 방법은,
트랜잭션 업데이트 어구를 생성하는 단계로서, 상기 트랜잭션 업데이트 어구는 상기 부모 노드 식별자 및 상기 자식 노드의 네임을 포함하는 것인, 생성하는 단계; 를 더 포함하며,
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 트랜잭션 업데이트 어구에 따라, 상기 타겟 샤드중에서 상기 부모 노드의 속성 정보를 업데이트하는 단계; 를 더 포함하는 것인,
트랜잭션 처리 방법. - 제3 항에 있어서,
상기 조작 요청은 룩업 요청을 포함하고; 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 획득하는 단계; 및
트랜잭션 룩업 어구를 생성하는 단계로서, 상기 트랜잭션 룩업 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 생성하는 단계; 를 포함하며,
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 트랜잭션 룩업 어구에 따라, 상기 타겟 샤드중에서 상기 자식 노드의 데이터를 룩업하고 획득하는 단계; 를 포함하는 것인,
트랜잭션 처리 방법. - 제3 항에 있어서,
상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제1 부모 노드 식별자, 제1 자식 노드의 네임 및 제2 자식 노드의 네임을 포함하며;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는,
트랜잭션 증가 삭제 어구를 생성하는 단계로서, 상기 트랜잭션 증가 삭제 어구는 상기 제1 부모 노드 식별자, 상기 제1 자식 노드의 네임 및 상기 제2 자식 노드의 네임을 포함하는 것인, 생성하는 단계; 를 포함하며,
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 트랜잭션 증가 삭제 어구에 따라, 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제1 자식 노드의 데이터를 삭제하고, 또한 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제2 자식 노드의 데이터를 추가하는 단계; 를 포함하는 것인,
트랜잭션 처리 방법. - 제3 항에 있어서,
상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제2 부모 노드 식별자, 제3 자식 노드의 네임, 제3 부모 노드 식별자 및 제4 자식 노드의 네임을 포함하며;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하는 단계는,
트랜잭션 삭제 어구 및 트랜잭션 삽입 어구를 생성하는 단계로서, 상기 트랜잭션 삭제 어구는 상기 제2 부모 노드 식별자 및 상기 제3 자식 노드의 네임을 포함하고, 상기 트랜잭션 삽입 어구는 상기 제3 부모 노드 식별자 및 상기 제4 자식 노드의 네임을 포함하는 것인, 생성하는 단계; 를 포함하며,
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하는 단계는,
상기 트랜잭션 삭제 어구에 따라, 상기 제2 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제3 자식 노드의 데이터를 삭제하고, 또한, 상기 트랜잭션 삽입 어구에 따라, 상기 제3 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제4 자식 노드의 데이터를 추가하는 단계; 를 포함하는 것인,
트랜잭션 처리 방법. - 트랜잭션 처리 장치에 있어서,
파일시스템 디렉토리 트리중의 타겟 샤드에 대한 조작 요청을 수신하기 위한 수신 모듈로서, 상기 파일시스템 디렉토리 트리는 분산 파일시스템의 네임스페이스에 저장되어 있고, 상기 파일시스템 디렉토리 트리는 복수 개의 샤드를 포함하고, 각 상기 샤드는 하나의 부모 노드 식별자의 데이터를 포함하는 것인, 수신 모듈;
상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하기 위한 전환 모듈; 및
상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하기 위한 처리 모듈;
을 포함하는 트랜잭션 처리 장치. - 제9 항에 있어서,
상기 네임스페이스는 시맨틱 층 및 저장 층을 포함하고; 상기 저장 층에 상기 파일시스템 디렉토리 트리가 저장되어 있으며;
상기 전환 모듈은 또한, 상기 시맨틱 층중에서 상기 조작 요청을 상기 타겟 샤드와 관련된 트랜잭션 조작 어구로 전환하기 위한 것이며;
상기 처리 모듈은 또한, 상기 저장 층중에서 상기 트랜잭션 조작 어구에 따라 상기 타겟 샤드를 처리하기 위한 것인,
트랜잭션 처리 장치. - 제9 항에 있어서,
상기 조작 요청은 부모 노드 식별자 및 상기 부모 노드 식별자에 대응하는 부모 노드하의 자식 노드의 네임을 포함하며, 상기 부모 노드 식별자는 상기 타겟 샤드를 지시하기 위한 것인,
트랜잭션 처리 장치. - 제11 항에 있어서,
상기 조작 요청은 크리에이트 요청을 포함하고; 상기 전환 모듈은,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 생성하기 위한 제1 생성 유닛; 및
트랜잭션 삽입 어구를 생성하기 위한 제2 생성 유닛으로서, 상기 트랜잭션 삽입 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 제2 생성 유닛; 을 포함하며,
상기 처리 모듈은 또한, 상기 트랜잭션 삽입 어구에 따라, 상기 자식 노드의 데이터를 상기 타겟 샤드에 추가하기 위한 것인,
트랜잭션 처리 장치. - 제12 항에 있어서,
상기 전환 모듈은,
트랜잭션 업데이트 어구를 생성하기 위한 제3 생성 유닛으로서, 상기 트랜잭션 업데이트 어구는 상기 부모 노드 식별자 및 상기 자식 노드의 네임을 포함하는 것인, 제3 생성 유닛; 을 더 포함하며,
상기 처리 모듈은 또한, 상기 트랜잭션 업데이트 어구에 따라, 상기 타겟 샤드중에서 상기 부모 노드의 속성 정보를 업데이트하기 위한 것인,
트랜잭션 처리 장치. - 제11 항에 있어서,
상기 조작 요청은 룩업 요청을 포함하고; 상기 전환 모듈은,
상기 자식 노드의 네임에 따라, 상기 자식 노드의 인덱스 번호를 획득하기 위한 획득 유닛; 및
트랜잭션 룩업 어구를 생성하기 위한 제4 생성 유닛으로서, 상기 트랜잭션 룩업 어구는 속성 식별자 및 상기 자식 노드의 인덱스 번호를 포함하는 것인, 제4 생성 유닛; 을 포함하며,
상기 처리 모듈은 또한, 상기 트랜잭션 룩업 어구에 따라, 상기 타겟 샤드중에서 상기 자식 노드의 데이터를 룩업하고 획득하기 위한 것인,
트랜잭션 처리 장치. - 제11 항에 있어서,
상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제1 부모 노드 식별자, 제1 자식 노드의 네임 및 제2 자식 노드의 네임을 포함하며;
상기 전환 모듈은,
트랜잭션 증가 삭제 어구를 생성하기 위한 제5 생성 유닛으로서, 상기 트랜잭션 증가 삭제 어구는 상기 제1 부모 노드 식별자, 상기 제1 자식 노드의 네임 및 상기 제2 자식 노드의 네임을 포함하는 것인, 제5 생성 유닛; 을 포함하며,
상기 처리 모듈은 또한, 상기 트랜잭션 증가 삭제 어구에 따라, 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제1 자식 노드의 데이터를 삭제하고, 또한 상기 제1 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제2 자식 노드의 데이터를 추가하기 위한 것인,
트랜잭션 처리 장치. - 제11 항에 있어서,
상기 조작 요청은 리네임 요청을 포함하고; 상기 리네임 요청은 제2 부모 노드 식별자, 제3 자식 노드의 네임, 제3 부모 노드 식별자 및 제4 자식 노드의 네임을 포함하며;
상기 전환 모듈은,
트랜잭션 삭제 어구 및 트랜잭션 삽입 어구를 생성하기 위한 제6 생성 유닛으로서, 상기 트랜잭션 삭제 어구는 상기 제2 부모 노드 식별자 및 상기 제3 자식 노드의 네임을 포함하고, 상기 트랜잭션 삽입 어구는 상기 제3 부모 노드 식별자 및 상기 제4 자식 노드의 네임을 포함하는 것인, 제6 생성 유닛; 을 포함하며,
상기 처리 모듈은 또한, 상기 트랜잭션 삭제 어구에 따라, 상기 제2 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제3 자식 노드의 데이터를 삭제하고, 또한, 상기 트랜잭션 삽입 어구에 따라, 상기 제3 부모 노드 식별자가 지시한 타겟 샤드중에서 상기 제4 자식 노드의 데이터를 추가하기 위한 것인,
트랜잭션 처리 장치. - 전자 기기에 있어서,
적어도 하나의 프로세서; 및
적어도 하나의 프로세서와 통신으로 연결되는 메모리; 를 포함하며, 그중,
상기 메모리에 상기 적어도 하나의 프로세서에 의해 실행될 수 있는 명령이 저장되어 있고, 상기 명령은 상기 적어도 하나의 프로세서에 의해 실행되어, 상기 적어도 하나의 프로세서로 하여금 청구항 제1 항 내지 제8 항 중 어느 한 항에 따른 방법을 수행하도록 하는 것인,
전자 기기. - 컴퓨터 명령이 저장되어 있는 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
상기 컴퓨터 명령은 상기 컴퓨터로 하여금 제1 항 내지 제8 항 중 어느 한 항에 따른 방법을 수행하도록 하는 것인,
비일시적 컴퓨터 판독 가능 저장 매체. - 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 적어도 하나의 프로세서에 의해 실행될 경우, 청구항 제1항 내지 제8항 중 어느 한 항에 따른 상기 방법을 구현하는 것인,
컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011313702.7 | 2020-11-20 | ||
CN202011313702.7A CN112380184B (zh) | 2020-11-20 | 2020-11-20 | 事务处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210082396A true KR20210082396A (ko) | 2021-07-05 |
Family
ID=74587204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210076429A KR20210082396A (ko) | 2020-11-20 | 2021-06-14 | 트랜잭션 처리 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210311914A1 (ko) |
EP (1) | EP3866022A3 (ko) |
JP (1) | JP7290694B2 (ko) |
KR (1) | KR20210082396A (ko) |
CN (1) | CN112380184B (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553126A (zh) * | 2021-07-06 | 2021-10-26 | 网易(杭州)网络有限公司 | 数据的处理方法和装置 |
WO2023234526A1 (ko) * | 2022-06-03 | 2023-12-07 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 인터샤드 트랜잭션 시스템 및 방법 |
WO2024111952A1 (ko) * | 2022-11-24 | 2024-05-30 | 재단법인대구경북과학기술원 | 샤딩 기반의 키-값 캐싱 시스템 및 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679487B (zh) * | 2022-03-25 | 2023-12-22 | 度小满科技(北京)有限公司 | 链路处理方法、装置、存储介质、处理器 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006032A (ja) | 2001-06-19 | 2003-01-10 | Fujitsu Ltd | 分散ファイル共有システム |
US7124147B2 (en) * | 2003-04-29 | 2006-10-17 | Hewlett-Packard Development Company, L.P. | Data structures related to documents, and querying such data structures |
JP4931660B2 (ja) * | 2007-03-23 | 2012-05-16 | 株式会社日立製作所 | データ移行処理装置 |
JP4327869B2 (ja) | 2007-07-26 | 2009-09-09 | 株式会社日立製作所 | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US8676851B1 (en) * | 2012-08-30 | 2014-03-18 | Google Inc. | Executing transactions in distributed storage systems |
CN104793988B (zh) * | 2014-01-20 | 2019-01-22 | 阿里巴巴集团控股有限公司 | 跨数据库分布式事务的实现方法和装置 |
CN105608086B (zh) * | 2014-11-17 | 2021-07-27 | 中兴通讯股份有限公司 | 分布式数据库系统的事务处理方法及装置 |
US20170091262A1 (en) * | 2015-09-25 | 2017-03-30 | Netapp, Inc. | Object storage backed file system cache |
US10929419B2 (en) * | 2015-09-25 | 2021-02-23 | Netapp, Inc. | Object storage backed file system |
CN106933872A (zh) | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种通过传统文件系统接口访问云存储服务的方法及装置 |
CN105955804B (zh) * | 2016-04-22 | 2018-06-05 | 星环信息科技(上海)有限公司 | 一种处理分布式事务的方法与设备 |
US20180189124A1 (en) * | 2017-01-03 | 2018-07-05 | International Business Machines Corporation | Rebuilding the namespace in a hierarchical union mounted file system |
CN107239569A (zh) * | 2017-06-27 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式文件系统子树存储方法及装置 |
US20190354518A1 (en) * | 2018-05-01 | 2019-11-21 | Michael Zochowski | Chain mesh network for decentralized transaction systems |
US11301421B2 (en) * | 2018-05-25 | 2022-04-12 | Microsoft Technology Licensing, Llc | Scalable multi-tier storage structures and techniques for accessing entries therein |
US11442902B2 (en) * | 2018-06-21 | 2022-09-13 | Nasuni Corporation | Shard-level synchronization of cloud-based data store and local file system with dynamic sharding |
CN111258957B (zh) * | 2020-01-10 | 2023-06-02 | 北京百度网讯科技有限公司 | 分布式文件系统目录更新方法、装置、设备和介质 |
CN111459882B (zh) * | 2020-03-30 | 2023-08-29 | 北京百度网讯科技有限公司 | 分布式文件系统的命名空间事务处理方法和装置 |
CN111858641A (zh) * | 2020-07-30 | 2020-10-30 | 中国工商银行股份有限公司 | 事务处理方法、装置、电子设备和可读存储介质 |
-
2020
- 2020-11-20 CN CN202011313702.7A patent/CN112380184B/zh active Active
-
2021
- 2021-06-11 EP EP21179081.1A patent/EP3866022A3/en active Pending
- 2021-06-14 KR KR1020210076429A patent/KR20210082396A/ko not_active Application Discontinuation
- 2021-06-15 US US17/347,698 patent/US20210311914A1/en not_active Abandoned
- 2021-09-07 JP JP2021145462A patent/JP7290694B2/ja active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553126A (zh) * | 2021-07-06 | 2021-10-26 | 网易(杭州)网络有限公司 | 数据的处理方法和装置 |
CN113553126B (zh) * | 2021-07-06 | 2024-03-22 | 网易(杭州)网络有限公司 | 数据的处理方法和装置 |
WO2023234526A1 (ko) * | 2022-06-03 | 2023-12-07 | 주식회사 블룸테크놀로지 | 블록체인 네트워크에서 인터샤드 트랜잭션 시스템 및 방법 |
WO2024111952A1 (ko) * | 2022-11-24 | 2024-05-30 | 재단법인대구경북과학기술원 | 샤딩 기반의 키-값 캐싱 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN112380184B (zh) | 2024-06-28 |
EP3866022A2 (en) | 2021-08-18 |
CN112380184A (zh) | 2021-02-19 |
US20210311914A1 (en) | 2021-10-07 |
JP7290694B2 (ja) | 2023-06-13 |
JP2022003538A (ja) | 2022-01-11 |
EP3866022A3 (en) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210082396A (ko) | 트랜잭션 처리 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램 | |
US11256746B2 (en) | Hash-based efficient secondary indexing for graph data stored in non-relational data stores | |
US10311077B2 (en) | Database table conversion | |
US20210108931A1 (en) | Method and apparatus for determining hybrid travel route, device and storage medium | |
TWI671643B (zh) | 配置變更方法、設備及系統 | |
CN111858628B (zh) | 基于数据库的管理方法、平台、电子设备及存储介质 | |
KR102564543B1 (ko) | 행렬식 텍스트를 저장하는 방법, 장치 및 전자기기 | |
CN111858796B (zh) | 地理信息系统引擎系统及实现方法、装置及存储介质 | |
JP7397928B2 (ja) | 分散データベースのグローバルセカンダリインデックス方法及びその装置 | |
US20210216212A1 (en) | Method and apparatus for processing data | |
CN111259060B (zh) | 数据查询的方法及装置 | |
JP2022141980A (ja) | メタデータのスナップショット方法及びそのスナップ装置 | |
US20220101216A1 (en) | Business Content Output Method, Apparatus, Storage Medium and Program Product | |
EP2972970B1 (en) | Locale-based sorting on mobile devices | |
US11188594B2 (en) | Wildcard searches using numeric string hash | |
EP3958141A1 (en) | Data processing method and apparatus, and device and storage medium | |
US20140019410A1 (en) | Using Database Content for Multiple Business Data Systems Connected to One Database | |
US11983483B2 (en) | Web site preview generation with action control | |
CN113656144B (zh) | 一种数据发布系统、方法、装置、电子设备及存储介质 | |
CN113326038B (zh) | 用于提供服务的方法、装置、设备、存储介质及程序产品 | |
CN112269664A (zh) | 云服务器资源管理方法、装置及系统 | |
CN111858652A (zh) | 基于消息队列的跨数据源查询方法、系统及服务器节点 | |
CN112069541B (zh) | 权限管理、查询方法和装置 | |
US20210288938A1 (en) | Network Data Processing Method, Apparatus, Electronic Device, and Storage Medium | |
CN117858136A (zh) | 一种快速切换enumdns路由数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |