CN112380184A - 事务处理方法、装置、电子设备及可读存储介质 - Google Patents

事务处理方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112380184A
CN112380184A CN202011313702.7A CN202011313702A CN112380184A CN 112380184 A CN112380184 A CN 112380184A CN 202011313702 A CN202011313702 A CN 202011313702A CN 112380184 A CN112380184 A CN 112380184A
Authority
CN
China
Prior art keywords
transaction
statement
child node
target fragment
node
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202011313702.7A
Other languages
English (en)
Other versions
CN112380184B (zh
Inventor
杨勇强
郑鹏飞
孙研
周飞
芦伟
王猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011313702.7A priority Critical patent/CN112380184B/zh
Publication of CN112380184A publication Critical patent/CN112380184A/zh
Priority to EP21179081.1A priority patent/EP3866022A3/en
Priority to KR1020210076429A priority patent/KR20210082396A/ko
Priority to US17/347,698 priority patent/US20210311914A1/en
Priority to JP2021145462A priority patent/JP7290694B2/ja
Application granted granted Critical
Publication of CN112380184B publication Critical patent/CN112380184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/18File system types
    • G06F16/182Distributed file systems
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/172Caching, prefetching or hoarding of files
    • 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/18File system types
    • G06F16/1865Transactional 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是用来实现本申请实施例的事务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例可以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。说明书以及权利要求中“和/或”表示所连接对象的至少其中之一。
云服务(cloud service)是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。云服务通常指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。
云存储(cloud storage)是一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。云存储的概念与云计算类似。云计算(cloud computing)指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
请参见图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_id)进行数据分片,以使文件系统目录树包括多个分片,每个分片包括一个父节点标识的数据,即相同父节点标识的数据在一个分片。其中父节点标识比如为父节点的索引号。比如,以图1所示的父节点b为例,索引号2的数据会在一个分片,即图1中虚线所框的数据在一个分片。这样,可以将目前的针对文件系统目录树的操作转变为分片内操作,且由于分片内是相同父节点标识的数据,因此分片内操作的冲突率会较低,从而降低了事务处理的冲突率。
可选的,在本申请实施例中,对于分片,可以提供一个复制组,也即在一个复制组内,使用多副本通过多服务机器对其提供服务,并在一服务机器出现故障的情况下,通过其他服务机器提供服务,以提升可用性和可靠性。
请参见图3,图3是本申请实施例提供的一种事务处理方法的流程图,该方法应用于电子设备,如图3所示,该方法包括如下步骤:
步骤31:接收针对文件系统目录树中的目标分片的操作请求。
本实施例中,文件系统目录树存储在分布式文件系统的命名空间中,该命名空间比如为层级命名空间。文件系统目录树可包括多个分片,每个分片包括一个父节点标识的数据,即相同父节点标识的数据在一个分片。
可选的,上述操作请求包括但不限于创建(creat)请求、查询(lookup)请求、改写(rename)请求等。
一具体示例中,分布式文件系统包括多个客户端,上述操作请求可以是用户通过任一客户端发送的。
步骤32:将操作请求转化为与目标分片关联的事务操作语句。
本实施例中,操作请求针对的是文件系统目录树中的目标分片,该目标分片可以是一个分片或多个分片。基于此,根据操作请求针对的目标分片,将操作请求转化为与目标分片关联的事务操作语句。
步骤33:根据事务操作语句处理目标分片。
可理解的,由于事务操作语句是与目标分片关联的,因此根据事务操作语句处理相应目标分片即可。
本申请实施例的事务处理方法,通过接收针对文件系统目录树中的目标分片的操作请求,该文件系统目录树包括多个分片,每个分片包括一个父节点标识的数据,并将操作请求转化为与目标分片关联的事务操作语句,根据事务操作语句处理目标分片,可以将目前的针对文件系统目录树的操作转变为分片内操作,且由于分片内是相同父节点标识的数据,因此分片内操作的冲突率会较低,从而降低了事务处理的冲突率。
可选的,为了实现灵活调整及扩展文件系统目录树中的分片,本申请实施例中的命名空间可以划分为语义层和存储层。存储层中存储有文件系统目录树。存储层可理解为支持事务的分布式非关系型数据库(Not Only Structured Query Language,NoSQL)/高性能数据库(New Structured Query Language,NewSQL),支持事务以及二级索引等。语义层自身无状态,在存储层的基础上提供语义逻辑。
也就是说,本申请实施例中的命名空间实质上提供了存储和语义两部分功能,分别对应文件系统目录树的存储和操作,存储是指文件系统目录树的内容不会丢失,操作是指支持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所示的文件系统目录树为例,在父节点a下删除b并添加aa的过程可以包括:S1,客户端发起改写请求如rename(1,b,1,aa);S2,在语义层生成增删事务语句如insert_with_delete(1,b,1,aa)并发送至存储层,以通过存储服务在inode号1指示的目标分片中实现删除b并添加aa的操作。
可选的,在涉及跨分片事务的情况下,该改写请求可以包括第二父节点标识、第三孩子节点的名称、第三父节点标识和第四孩子节点的名称。其中,第二父节点标识和第三父节点标识用于指示目标分片。第三孩子节点的名称用于表示在相应目标分片中删除该孩子节点的数据。第四孩子节点的名称用于表示在相应目标分片中添加该孩子节点的数据。
进一步的,在接收到上述改写请求之后,可以生成删除事务语句和插入事务语句;该删除事务语句包括第二父节点标识和第三孩子节点的名称,该插入事务语句包括第三父节点标识和第四孩子节点的名称;并根据该删除事务语句,在第二父节点标识指示的目标分片中删除第三孩子节点的数据,以及,根据该插入事务语句,在第三父节点标识指示的目标分片中添加第四孩子节点的数据。这样通过使用父节点标识,可以灵活调整分片。
比如,以图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包括:
第一生成单元,用于根据所述孩子节点的名称,生成所述孩子节点的索引号;
第二生成单元,用于生成插入事务语句;其中,所述插入事务语句包括属性标识和所述孩子节点的索引号;
所述处理模块53还用于:根据所述插入事务语句,将所述孩子节点的数据添加至所述目标分片。
可选的,所述转化模块52还包括:
第三生成单元,用于生成更新事务语句;其中,所述更新事务语句包括所述父节点标识和所述孩子节点的名称;
所述处理模块53还用于:根据所述更新事务语句,在所述目标分片中更新所述父节点的属性信息。
可选的,所述操作请求包括查询请求;所述转化模块52包括:
获取单元,用于根据所述孩子节点的名称,获取所述孩子节点的索引号;
第四生成单元,用于生成查找事务语句;其中,所述查找事务语句包括属性标识和所述孩子节点的索引号;
所述处理模块53还用于:根据所述查找事务语句,从所述目标分片中查询得到所述孩子节点的数据。
可选的,所述操作请求包括改写请求;所述改写请求包括第一父节点标识、第一孩子节点的名称和第二孩子节点的名称;
所述转化模块52包括:
第五生成单元,用于生成增删事务语句;其中,所述增删事务语句包括所述第一父节点标识、所述第一孩子节点的名称和所述第二孩子节点的名称;
所述处理模块53还用于:根据所述增删事务语句,在所述第一父节点标识指示的目标分片中删除所述第一孩子节点的数据,以及在所述第一父节点标识指示的目标分片中添加所述第二孩子节点的数据。
可选的,所述操作请求包括改写请求;所述改写请求包括第二父节点标识、第三孩子节点的名称、第三父节点标识和第四孩子节点的名称;
所述转化模块52包括:
第六生成单元,用于生成删除事务语句和插入事务语句;其中,所述删除事务语句包括所述第二父节点标识和所述第三孩子节点的名称,所述插入事务语句包括所述第三父节点标识和所述第四孩子节点的名称;
所述处理模块53还用于:根据所述删除事务语句,在所述第二父节点标识指示的目标分片中删除所述第三孩子节点的数据,以及,根据所述插入事务语句,在所述第三父节点标识指示的目标分片中添加所述第四孩子节点的数据。
可理解的,本申请实施例的事务处理装置50,可以实现上述图3所示方法实施例中实现的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图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 (18)

1.一种事务处理方法,包括:
接收针对文件系统目录树中的目标分片的操作请求;其中,所述文件系统目录树存储在分布式文件系统的命名空间中,所述文件系统目录树包括多个分片,每个所述分片包括一个父节点标识的数据;
将所述操作请求转化为与所述目标分片关联的事务操作语句;
根据所述事务操作语句处理所述目标分片。
2.根据权利要求1所述的方法,其中,所述命名空间包括语义层和存储层;所述存储层中存储有所述文件系统目录树;
所述将所述操作请求转化为与所述目标分片关联的事务操作语句,包括:在所述语义层中将所述操作请求转化为与所述目标分片关联的事务操作语句;
所述根据所述事务操作语句处理所述目标分片,包括:在所述存储层中根据所述事务操作语句处理所述目标分片。
3.根据权利要求1所述的方法,其中,所述操作请求包括父节点标识和所述父节点标识对应的父节点下的孩子节点的名称,所述父节点标识用于指示所述目标分片。
4.根据权利要求3所述的方法,其中,
所述操作请求包括创建请求;所述将所述操作请求转化为与所述目标分片关联的事务操作语句,包括:
根据所述孩子节点的名称,生成所述孩子节点的索引号;
生成插入事务语句;其中,所述插入事务语句包括属性标识和所述孩子节点的索引号;
其中,所述根据所述事务操作语句处理所述目标分片,包括:
根据所述插入事务语句,将所述孩子节点的数据添加至所述目标分片。
5.根据权利要求4所述的方法,其中,在生成所述孩子节点的索引号之后,所述方法还包括:
生成更新事务语句;其中,所述更新事务语句包括所述父节点标识和所述孩子节点的名称;
其中,所述根据所述事务操作语句处理所述目标分片,还包括:
根据所述更新事务语句,在所述目标分片中更新所述父节点的属性信息。
6.根据权利要求3所述的方法,其中,
所述操作请求包括查询请求;所述将所述操作请求转化为与所述目标分片关联的事务操作语句,包括:
根据所述孩子节点的名称,获取所述孩子节点的索引号;
生成查找事务语句;其中,所述查找事务语句包括属性标识和所述孩子节点的索引号;
其中,所述根据所述事务操作语句处理所述目标分片,包括:
根据所述查找事务语句,从所述目标分片中查询得到所述孩子节点的数据。
7.根据权利要求3所述的方法,其中,所述操作请求包括改写请求;所述改写请求包括第一父节点标识、第一孩子节点的名称和第二孩子节点的名称;
所述将所述操作请求转化为与所述目标分片关联的事务操作语句,包括:
生成增删事务语句;其中,所述增删事务语句包括所述第一父节点标识、所述第一孩子节点的名称和所述第二孩子节点的名称;
其中,所述根据所述事务操作语句处理所述目标分片,包括:
根据所述增删事务语句,在所述第一父节点标识指示的目标分片中删除所述第一孩子节点的数据,以及在所述第一父节点标识指示的目标分片中添加所述第二孩子节点的数据。
8.根据权利要求3所述的方法,其中,所述操作请求包括改写请求;所述改写请求包括第二父节点标识、第三孩子节点的名称、第三父节点标识和第四孩子节点的名称;
所述将所述操作请求转化为与所述目标分片关联的事务操作语句,包括:
生成删除事务语句和插入事务语句;其中,所述删除事务语句包括所述第二父节点标识和所述第三孩子节点的名称,所述插入事务语句包括所述第三父节点标识和所述第四孩子节点的名称;
其中,根据所述事务操作语句处理所述目标分片,包括:
根据所述删除事务语句,在所述第二父节点标识指示的目标分片中删除所述第三孩子节点的数据,以及,根据所述插入事务语句,在所述第三父节点标识指示的目标分片中添加所述第四孩子节点的数据。
9.一种事务处理装置,包括:
接收模块,用于接收针对文件系统目录树中的目标分片的操作请求;其中,所述文件系统目录树存储在分布式文件系统的命名空间中,所述文件系统目录树包括多个分片,每个所述分片包括一个父节点标识的数据;
转化模块,用于将所述操作请求转化为与所述目标分片关联的事务操作语句;
处理模块,用于根据所述事务操作语句处理所述目标分片。
10.根据权利要求9所述的装置,其中,所述命名空间包括语义层和存储层;所述存储层中存储有所述文件系统目录树;
所述转化模块还用于:在所述语义层中将所述操作请求转化为与所述目标分片关联的事务操作语句;
所述处理模块还用于:在所述存储层中根据所述事务操作语句处理所述目标分片。
11.根据权利要求9所述的装置,其中,所述操作请求包括父节点标识和所述父节点标识对应的父节点下的孩子节点的名称,所述父节点标识用于指示所述目标分片。
12.根据权利要求11所述的装置,其中,所述操作请求包括创建请求;所述转化模块包括:
第一生成单元,用于根据所述孩子节点的名称,生成所述孩子节点的索引号;
第二生成单元,用于生成插入事务语句;其中,所述插入事务语句包括属性标识和所述孩子节点的索引号;
所述处理模块还用于:根据所述插入事务语句,将所述孩子节点的数据添加至所述目标分片。
13.根据权利要求12所述的装置,其中,所述转化模块还包括:
第三生成单元,用于生成更新事务语句;其中,所述更新事务语句包括所述父节点标识和所述孩子节点的名称;
所述处理模块还用于:根据所述更新事务语句,在所述目标分片中更新所述父节点的属性信息。
14.根据权利要求11所述的装置,其中,所述操作请求包括查询请求;所述转化模块包括:
获取单元,用于根据所述孩子节点的名称,获取所述孩子节点的索引号;
第四生成单元,用于生成查找事务语句;其中,所述查找事务语句包括属性标识和所述孩子节点的索引号;
所述处理模块还用于:根据所述查找事务语句,从所述目标分片中查询得到所述孩子节点的数据。
15.根据权利要求11所述的装置,其中,所述操作请求包括改写请求;所述改写请求包括第一父节点标识、第一孩子节点的名称和第二孩子节点的名称;
所述转化模块包括:
第五生成单元,用于生成增删事务语句;其中,所述增删事务语句包括所述第一父节点标识、所述第一孩子节点的名称和所述第二孩子节点的名称;
所述处理模块还用于:根据所述增删事务语句,在所述第一父节点标识指示的目标分片中删除所述第一孩子节点的数据,以及在所述第一父节点标识指示的目标分片中添加所述第二孩子节点的数据。
16.根据权利要求11所述的装置,其中,所述操作请求包括改写请求;所述改写请求包括第二父节点标识、第三孩子节点的名称、第三父节点标识和第四孩子节点的名称;
所述转化模块包括:
第六生成单元,用于生成删除事务语句和插入事务语句;其中,所述删除事务语句包括所述第二父节点标识和所述第三孩子节点的名称,所述插入事务语句包括所述第三父节点标识和所述第四孩子节点的名称;
所述处理模块还用于:根据所述删除事务语句,在所述第二父节点标识指示的目标分片中删除所述第三孩子节点的数据,以及,根据所述插入事务语句,在所述第三父节点标识指示的目标分片中添加所述第四孩子节点的数据。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
CN202011313702.7A 2020-11-20 2020-11-20 事务处理方法、装置、电子设备及可读存储介质 Active CN112380184B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202011313702.7A CN112380184B (zh) 2020-11-20 2020-11-20 事务处理方法、装置、电子设备及可读存储介质
EP21179081.1A EP3866022A3 (en) 2020-11-20 2021-06-11 Transaction processing method and device, electronic device and readable storage medium
KR1020210076429A KR20210082396A (ko) 2020-11-20 2021-06-14 트랜잭션 처리 방법, 장치, 전자 기기, 판독 가능 저장 매체 및 컴퓨터 프로그램
US17/347,698 US20210311914A1 (en) 2020-11-20 2021-06-15 Transaction processing method and device, electronic device and readable storage medium
JP2021145462A JP7290694B2 (ja) 2020-11-20 2021-09-07 トランザクション処理方法、装置、電子機器及び読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011313702.7A CN112380184B (zh) 2020-11-20 2020-11-20 事务处理方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112380184A true CN112380184A (zh) 2021-02-19
CN112380184B CN112380184B (zh) 2024-06-28

Family

ID=74587204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011313702.7A Active CN112380184B (zh) 2020-11-20 2020-11-20 事务处理方法、装置、电子设备及可读存储介质

Country Status (5)

Country Link
US (1) US20210311914A1 (zh)
EP (1) EP3866022A3 (zh)
JP (1) JP7290694B2 (zh)
KR (1) KR20210082396A (zh)
CN (1) CN112380184B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679487A (zh) * 2022-03-25 2022-06-28 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553126B (zh) * 2021-07-06 2024-03-22 网易(杭州)网络有限公司 数据的处理方法和装置
KR102596700B1 (ko) * 2022-06-03 2023-11-09 주식회사 블룸테크놀로지 블록체인 네트워크에서 인터샤드 트랜잭션 시스템 및 방법
KR20240077233A (ko) * 2022-11-24 2024-05-31 재단법인대구경북과학기술원 샤딩 기반의 키-값 캐싱 시스템 및 방법

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221229A1 (en) * 2003-04-29 2004-11-04 Hewlett-Packard Development Company, L.P. Data structures related to documents, and querying such data structures
US8676851B1 (en) * 2012-08-30 2014-03-18 Google Inc. Executing transactions in distributed storage systems
CN104793988A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 跨数据库分布式事务的实现方法和装置
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
US20170091262A1 (en) * 2015-09-25 2017-03-30 Netapp, Inc. Object storage backed file system cache
US20170091296A1 (en) * 2015-09-25 2017-03-30 Netapp, Inc. Object storage backed file system
CN107239569A (zh) * 2017-06-27 2017-10-10 郑州云海信息技术有限公司 一种分布式文件系统子树存储方法及装置
US20170308566A1 (en) * 2016-04-22 2017-10-26 Transwarp Technology (Shanghai) Co., Ltd. Method and device for processing distributed transaction
US20180189124A1 (en) * 2017-01-03 2018-07-05 International Business Machines Corporation Rebuilding the namespace in a hierarchical union mounted file system
US20190354518A1 (en) * 2018-05-01 2019-11-21 Michael Zochowski Chain mesh network for decentralized transaction systems
US20190392051A1 (en) * 2018-06-21 2019-12-26 Nasuni Corporation Shard-level synchronization of cloud-based data store and local file system with dynamic sharding
CN111258957A (zh) * 2020-01-10 2020-06-09 北京百度网讯科技有限公司 分布式文件系统目录更新方法、装置、设备和介质
CN111459882A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 分布式文件系统的命名空间事务处理方法和装置
CN111858641A (zh) * 2020-07-30 2020-10-30 中国工商银行股份有限公司 事务处理方法、装置、电子设备和可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006032A (ja) 2001-06-19 2003-01-10 Fujitsu Ltd 分散ファイル共有システム
JP4931660B2 (ja) * 2007-03-23 2012-05-16 株式会社日立製作所 データ移行処理装置
JP4327869B2 (ja) 2007-07-26 2009-09-09 株式会社日立製作所 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
CN106933872A (zh) 2015-12-30 2017-07-07 阿里巴巴集团控股有限公司 一种通过传统文件系统接口访问云存储服务的方法及装置
US11301421B2 (en) * 2018-05-25 2022-04-12 Microsoft Technology Licensing, Llc Scalable multi-tier storage structures and techniques for accessing entries therein

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221229A1 (en) * 2003-04-29 2004-11-04 Hewlett-Packard Development Company, L.P. Data structures related to documents, and querying such data structures
US8676851B1 (en) * 2012-08-30 2014-03-18 Google Inc. Executing transactions in distributed storage systems
CN104793988A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 跨数据库分布式事务的实现方法和装置
CN105608086A (zh) * 2014-11-17 2016-05-25 中兴通讯股份有限公司 分布式数据库系统的事务处理方法及装置
US20170091262A1 (en) * 2015-09-25 2017-03-30 Netapp, Inc. Object storage backed file system cache
US20170091296A1 (en) * 2015-09-25 2017-03-30 Netapp, Inc. Object storage backed file system
US20170308566A1 (en) * 2016-04-22 2017-10-26 Transwarp Technology (Shanghai) Co., Ltd. Method and device for processing distributed transaction
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
US20190392051A1 (en) * 2018-06-21 2019-12-26 Nasuni Corporation Shard-level synchronization of cloud-based data store and local file system with dynamic sharding
CN111258957A (zh) * 2020-01-10 2020-06-09 北京百度网讯科技有限公司 分布式文件系统目录更新方法、装置、设备和介质
CN111459882A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 分布式文件系统的命名空间事务处理方法和装置
CN111858641A (zh) * 2020-07-30 2020-10-30 中国工商银行股份有限公司 事务处理方法、装置、电子设备和可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王洋;刘星;须成忠;江松;王刚;文韬;范小朋;陆平;: "大规模分布式文件系统元数据管理综述", 集成技术, no. 02, 15 March 2016 (2016-03-15) *
赵志峰;张卫;: "一种云存储目录元数据管理系统", 广播与电视技术, no. 02, 15 February 2013 (2013-02-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679487A (zh) * 2022-03-25 2022-06-28 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器
CN114679487B (zh) * 2022-03-25 2023-12-22 度小满科技(北京)有限公司 链路处理方法、装置、存储介质、处理器

Also Published As

Publication number Publication date
CN112380184B (zh) 2024-06-28
EP3866022A2 (en) 2021-08-18
KR20210082396A (ko) 2021-07-05
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
CN112380184B (zh) 事务处理方法、装置、电子设备及可读存储介质
CN112269789B (zh) 存储数据的方法和装置、以及读取数据的方法和装置
CN111639078A (zh) 数据查询方法、装置、电子设备以及可读存储介质
CN111523001B (zh) 用于存储数据的方法、装置、设备以及存储介质
CN111966633B (zh) 用于查询目录下子节点的方法、装置、电子设备及介质
CN111241108B (zh) 基于键值对kv系统的索引方法、装置、电子设备和介质
US20210133217A1 (en) Method and apparatus for importing data into graph database, electronic device and medium
CN113868251B (zh) 分布式数据库的全局二级索引方法及其装置
CN112015468B (zh) 一种接口文档处理方法、装置、电子设备以及存储介质
CN111258957B (zh) 分布式文件系统目录更新方法、装置、设备和介质
CN111177476A (zh) 数据查询方法、装置、电子设备及可读存储介质
CN110619002A (zh) 数据处理方法、装置及存储介质
US9916360B2 (en) Joining operations in document oriented databases
US20210216212A1 (en) Method and apparatus for processing data
CN111858796A (zh) 地理信息系统引擎系统及实现方法、装置及存储介质
CN111259107A (zh) 行列式文本的存储方法、装置以及电子设备
CN111459882B (zh) 分布式文件系统的命名空间事务处理方法和装置
CN111339191A (zh) 一种区块链的数据存储方法、装置、设备和介质
CN111259060B (zh) 数据查询的方法及装置
CN111767321A (zh) 节点关系网络的确定方法、装置、电子设备和存储介质
US11188594B2 (en) Wildcard searches using numeric string hash
CN111290714B (zh) 数据读取方法和装置
CN112559194A (zh) 应用数据的处理方法、装置及设备
CN112084204A (zh) 浏览数据处理方法、装置、终端及存储介质
CN112799585A (zh) 数据处理方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant