CN108121514B - 元信息更新方法、装置、计算设备及计算机存储介质 - Google Patents

元信息更新方法、装置、计算设备及计算机存储介质 Download PDF

Info

Publication number
CN108121514B
CN108121514B CN201711473447.0A CN201711473447A CN108121514B CN 108121514 B CN108121514 B CN 108121514B CN 201711473447 A CN201711473447 A CN 201711473447A CN 108121514 B CN108121514 B CN 108121514B
Authority
CN
China
Prior art keywords
meta
information
updating
central node
information operation
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.)
Active
Application number
CN201711473447.0A
Other languages
English (en)
Other versions
CN108121514A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711473447.0A priority Critical patent/CN108121514B/zh
Publication of CN108121514A publication Critical patent/CN108121514A/zh
Application granted granted Critical
Publication of CN108121514B publication Critical patent/CN108121514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/13File access structures, e.g. distributed indices
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse 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/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

本发明公开了一种元信息更新方法、装置、计算设备及计算机存储介质。其中,方法应用于包括中心节点的分布式系统中,所述方法包括:接收元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中;从任务队列中获取预设时间段内累积的元信息操作指令,根据所获取的元信息操作指令对中心节点中的元信息进行更新,通过将元信息操作指令添加至任务队列中,从而将元信息操作指令由操作级别变为时间级别,降低了中心节点更新元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。

Description

元信息更新方法、装置、计算设备及计算机存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种元信息更新方法、装置、计算设备及计算机存储介质。
背景技术
随着信息技术的不断发展,分布式存储系统随之出现,分布式存储系统具有高度的内聚性和透明性,且满足了大规模数据存储的需求,因此,已得到了广泛的应用。在现有的有中心节点的分布式存储系统中,元信息的变化由中心节点集群负责,元信息可能由于数据节点存活状态变化、创建副本、删除副本等一系列原因而发生变化,当中心节点中的元信息发生变化后,数据节点都需要从中心节点拉取最新的元信息,造成数据节点大量的访问中心节点,而随着数据节点的增多,给中心节点造成的压力就越突显,从而导致雪崩现象出现,而且这种大量操作很容易导致中心节点丢失数据节点的心跳信息,而认为数据节点宕掉,进而更改元信息,再次引发雪崩现象。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的元信息更新方法、装置、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种元信息更新方法,方法应用于包括中心节点的分布式系统中,方法包括:
接收元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中;
从任务队列中获取预设时间段内累积的元信息操作指令,根据所获取的元信息操作指令对中心节点中的元信息进行更新。
根据本发明的另一方面,提供了一种元信息更新装置,装置应用于包括中心节点的分布式系统中,装置包括:
接收模块,适于接收元信息操作请求;
添加模块,适于将元信息操作请求所携带的元信息操作指令添加至任务队列中;
获取模块,适于从任务队列中获取预设时间段内累积的元信息操作指令;
第一更新模块,适于根据所获取的元信息操作指令对中心节点中的元信息进行更新。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述元信息更新方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述元信息更新方法对应的操作。
根据本发明提供的方案,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令进行处理,根据所获取的元信息操作指令对中心节点中的元信息进行更新,从而将元信息操作指令由操作级别变为时间级别,降低了中心节点更新元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的元信息更新方法的流程示意图;
图2示出了根据本发明另一个实施例的元信息更新方法的流程示意图;
图3示出了根据本发明又一个实施例的元信息更新方法的流程示意图;
图4示出了根据本发明一个实施例的元信息更新装置的结构示意图;
图5示出了根据本发明另一个实施例的元信息更新装置的结构示意图;
图6示出了根据本发明又一个实施例的元信息更新装置的结构示意图;
图7示出了根据本发明一个实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的元信息更新方法的流程示意图。该方法应用于包括中心节点的分布式系统中,如图1所示,该方法包括以下步骤:
步骤S100,接收元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中。
其中,元信息为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。每个数据节点都需要维护有各自的元信息。
在有中心节点的分布式存储系统中,元信息的更新由中心节点负责,数据节点通过从中心节点拉取最新的元信息来对其存储的元信息进行更新,在现有技术中,对于每一次元信息操作请求,中心节点都需要及时的对元信息作出更新,对元信息版本号进行更新,数据节点通过与中心节点建立心跳连接,来感知元信息版本号的变化,根据元信息版本号的变化从中心节点拉取最新的元信息,以对数据节点存储的元信息进行更新,就会使得分布式存储系统中所有数据节点都要获取最新元信息,大量数据节点频繁访问中心节点很容易引发雪崩现象,而且随着数据节点的增多,数据节点访问中心节点的次数增多,更容易引发雪崩。
在本发明实施例中,通过将所接收到的元信息操作请求中所携带的元信息操作指令添加至任务队列中,累积一段时间再对元信息操作指令进行处理,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
步骤S101,从任务队列中获取预设时间段内累积的元信息操作指令,根据所获取的元信息操作指令对中心节点中的元信息进行更新。
任务队列中存储了等待处理的元信息操作指令,因此,可以根据处理需求从任务队列中获取预设时间段内累积的元信息操作指令来进行处理,例如,可以获取1秒或2秒或3秒内累积的元信息操作指令,其中,本领域技术人员可以根据实际需要来设置预设时间段对应的时间,例如,可以是1秒或2秒或3秒或5秒,这里仅是举例说明,不具有任何限定作用,这里以1秒为例,在获取到1秒内累积的元信息操作指令后,可以根据1秒内的元信息操作指令对中心节点中的元信息进行更新,例如,删除、增加、修改等。
根据本发明上述实施例提供的方法,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令进行处理,根据所获取的元信息操作指令对中心节点中的元信息进行更新,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
图2示出了根据本发明另一个实施例的元信息更新方法的流程示意图。该方法应用于包括中心节点的分布式系统中,如图2所示,该方法包括以下步骤:
步骤S200,接收数据节点和/或管理端发送的元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中。
数据节点的增加、删除、宕机或网络中断,或者创建表、删除表等都会需要更新元信息,元信息操作请求可以是数据节点和/或管理端发送的,这里的操作请求可能是删除元信息、增加元信息、修改元信息等,在接收到数据节点和/或管理端发送的元信息操作请求之后,将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间再对元信息操作指令进行处理,从而将元信息操作指令由操作级别变为时间级别,可以一次处理完预设时间内累积的元信息,如此虽然执行了多次元信息的更新,但只需在更新成功修改一次元信息版本号,降低了更新中心节点中的元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
步骤S201,从任务队列中获取预设时间段内累积的元信息操作指令。
任务队列中存储了等待处理的元信息操作指令,因此,可以根据处理需求从任务队列中获取预设时间段内累积的元信息操作指令来进行处理,例如,可以获取1秒或2秒或3秒内累积的元信息操作指令,其中,本领域技术人员可以根据实际需要来设置预设时间段对应的时间,例如,可以是1秒或2秒或3秒或5秒,这里仅是举例说明,不具有任何限定作用。
下面将以获取1秒内累积的元信息操作指令为例进行说明。
步骤S202,对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
这里的归并处理是指将一些元信息操作指令进行归整或合并处理,达到压缩元信息操作指令的目的,一般情况下,数据节点的宕机、恢复都会涉及元信息更新,都会向中心节点发送元信息操作请求,若一数据节点在1秒宕机又恢复,则在本发明实施例中关于该数据节点所发送的两条元信息操作指令可以归并处理,也就是说,可以认为对该数据节点对应的元信息可以不用更新了,即若在预设时间段内存在同一数据节点宕机又恢复的元信息操作指令,则对所述元信息操作指令进行归并处理,这里仅是举例说明,不具有任何限定作用。
通过对所获取的元信息操作指令进行归并处理,可以减少元信息操作指令的数量,避免对中心节点中的元信息做无谓的操作,而导致的占用资源且浪费时间的问题。
步骤S203,一一遍历所获取的元信息操作指令,根据相应的元信息操作指令对中心节点中的元信息进行更新。
在对所获取的元信息操作指令进行归并处理之后,就需要根据所获取的元信息操作指令对中心节点中的元信息进行更新,在本发明实施例中,是根据所接收到的元信息操作请求时间先后,将元信息操作请求所携带的元信息操作指令添加至任务队列中,也就是说,在根据元信息操作指令对中心节点中的元信息进行更新时,也需要按照相应的顺序更新,以保证更新后的元信息的正确性。
具体地,可以一一遍历所获取的元信息操作指令,然后根据相应的元信息操作指令对中心节点中的元信息进行更新。
步骤S204,若根据所获取的元信息操作指令对中心节点中的元信息进行更新时出现错误,未处理的元信息操作指令的数量小于预设阈值,则将未处理的元信息操作指令压入至任务队列中。
虽然根据相应的元信息操作指令可以对中心节点中的元信息进行更新,但是很可能在更新过程中出现错误,因此,可能还有未处理的元信息操作指令,对于未处理的元信息操作指令,需要判断未处理的元信息操作指令的数量小于预设阈值,以确定是否将未处理的元信息操作指令压入至任务队列中,以在后期继续执行相应的元信息操作指令,若未处理的元信息操作指令的数量小于预设阈值,则可以将未处理的元信息操作指令压入至任务队列中,虽然可能存在元信息操作指令执行顺序改变的风险,但是已经尽可能降低了这种风险,进而保证更新后的元信息的正确性。
步骤S205,将未处理的元信息操作指令压入至任务队列中之后或者元信息更新成功之后,对中心节点中元信息对应的元信息版本号进行更新处理。
若对元信息更新成功,则需要对中心节点中记录的元信息版本号进行更新,例如,通过将元信息版本号加1的方式来对中心节点中元信息对应的元信息版本号进行更新处理,而且本发明实施例仅在根据1秒内累积的元信息操作指令对元信息进行更新后,对元信息版本号执行一次更新;或者是在将未处理的元信息操作指令压入至任务队列中之后,对元信息版本号执行一次更新,而不像现有技术中,每根据元信息操作指令对元信息进行一次更新就对元信息版本号执行一次更新,从而避免了频繁更新元信息版本号而导致的大量数据节点访问中心节点而造成的雪崩问题。
步骤S206,若更新元信息版本号操作失败,则在任务队列中添加更新元信息版本号的任务。
对中心节点中的元信息对应的元信息版本号进行更新处理,很可能出现更新元信息版本号操作失败的情况,此时,需要在任务队列中添加更新元信息版本号的任务,以再次对元信息版本号进行更新。
步骤S207,若更新元信息版本号操作成功,基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从中心节点拉取最新元信息。
在本发明实施例中,数据节点与中心节点通过心跳相互感知对方的存活等,若更新元信息版本号操作成功,中心节点可以基于心跳向数据节点返回更新后的元信息版本号,数据节点在获取到元信息版本号之后,将更新后的元信息版本号与数据节点自身记录的元信息版本号进行比对,若不一致,则可以从中心节点拉取最新元信息,对数据节点自身存储的元信息进行更新。
根据本发明上述实施例提供的方法,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,通过对所获取的元信息操作指令进行归并处理,可以压缩元信息操作指令,减少元信息操作指令的数量,避免对中心节点中的元信息做无谓的操作,而导致的占用资源且浪费时间的问题,根据所获取的元信息操作指令对中心节点中的元信息进行更新,在更新成功后,对中心节点中元信息对应的元信息版本号进行更新处理,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
图3示出了根据本发明又一个实施例的元信息更新方法的流程示意图。该方法应用于包括中心节点的分布式系统中,如图3所示,该方法包括以下步骤:
步骤S300,接收数据节点和/或管理端发送的元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中。
步骤S301,从任务队列中获取预设时间段内累积的元信息操作指令。
步骤S302,对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
图3所示实施例中的步骤S300-步骤S302与图2所示实施例中的步骤S200-步骤S202类似,这里不再赘述。
步骤S303,对中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理。
在对中心节点中的元信息进行更新之前,先对中心节点中的元信息进行快照处理,即拷贝中心节点中的元信息,由于快照与中心节点中的元信息完全相同,因此,可以先根据所获取的元信息操作指令对快照中的元信息进行更新处理,由于是对快照中的元信息进行更新处理,而未直接对中心节点中的元信息进行更新,因此在更新过程中出现错误,也不会对中心节点中的元信息造成影响,从而能够保证中心节点中的元信息的正确性,还能够避免因更新过程中出现错误而需将未处理的元信息操作指令压入至任务队列导致的元信息错误的问题。
步骤S304,若对快照中的元信息进行更新处理过程中出现错误,则丢弃快照。
基于心跳等机制,如果数据节点发送的元信息操作请求并未得到中心节点的响应,会再次向中心节点发送元信息操作请求,因此,若在对快照中的元信息进行更新处理过程中出现了错误,可以直接丢弃快照,重新从任务队列中获取下一个预设时间内的元信息操作指令进行元信息更新处理。
步骤S305,若对快照中的元信息进行更新处理成功,则将更新后快照应用到中心节点中的元信息,以完成元信息更新。
若对快照中的元信息进行更新处理成功,则可以将对快照中元信息进行更新的更新结果应用到中心节点中的元信息,举例说明,对于一数据分片对应的元信息进行3次更新,这里仅将第3次更新后的更新结果应用到中心节点中对应的元信息即可。
步骤S306,对中心节点中元信息对应的元信息版本号进行更新处理。
在步骤S305中对中心节点的元信息进行更新后,还需要对中心节点中记录的元信息版本号进行更新,例如,将元信息版本号加1来对中心节点中元信息对应的元信息版本号进行更新处理,而且本发明实施例仅在根据1秒内累积的元信息操作指令对元信息进行更新后,对元信息版本号执行一次更新,而不像现有技术中,每根据元信息操作指令对元信息进行一次更新就对元信息版本号执行一次更新,从而避免了频繁更新元信息版本号而导致的大量数据节点访问中心节点而造成的雪崩问题。
步骤S307,基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从中心节点拉取最新元信息。
在本发明实施例中,数据节点与中心节点通过心跳相互感知对方的存活等,在更新元信息版本号之后,中心节点可以基于心跳向数据节点返回更新后的元信息版本号,数据节点在获取到元信息版本号之后,将更新后的元信息版本号与数据节点自身记录的元信息版本号进行比对,若不一致,则可以从中心节点拉取最新元信息,对数据节点自身存储的元信息进行更新。
根据本发明上述实施例提供的方法,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,通过对所获取的元信息操作指令进行归并处理,可以压缩元信息操作指令,减少元信息操作指令的数量,避免对中心节点中的元信息做无谓的操作,而导致的占用资源且浪费时间的问题,对中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理,在对快照中的元信息进行更新处理成功后,将更新后快照应用到中心节点中的元信息,可以避免因直接对中心节点中的元信息更新,而在更新处理过程中出现错误时导致处理过程较为复杂,且处理不便的问题,在对元信息更新后,对中心节点中元信息对应的元信息版本号进行更新处理,减少了对元信息版本号更新次数,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
在本发明上述实施例中,可以通过异步线程实现,例如,工作线程接收元信息操作请求,并将元信息操作请求所携带的元信息操作指令添加至任务队列中,更新线程从任务队列中获取预设时间段内累积的元信息操作指令,并根据所获取的元信息操作指令对中心节点中的元信息进行更新。
图4示出了根据本发明一个实施例的元信息更新装置的结构示意图。该装置应用于包括中心节点的分布式系统中,如图4所示,该装置包括:接收模块400、添加模块410、获取模块420、第一更新模块430。
接收模块400,适于接收元信息操作请求。
添加模块410,适于将元信息操作请求所携带的元信息操作指令添加至任务队列中。
获取模块420,适于从任务队列中获取预设时间段内累积的元信息操作指令。
第一更新模块430,适于根据所获取的元信息操作指令对中心节点中的元信息进行更新。
根据本发明上述实施例提供的装置,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令进行处理,根据所获取的元信息操作指令对中心节点中的元信息进行更新,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
图5示出了根据本发明另一个实施例的元信息更新装置的结构示意图。该装置应用于包括中心节点的分布式系统中,如图5所示,该装置包括:接收模块500、添加模块510、获取模块520、归并处理模块530、第一更新模块540、压入模块550、第二更新模块560、返回模块570。
接收模块500,适于接收数据节点和/或管理端发送的元信息操作请求。
添加模块510,适于将元信息操作请求所携带的元信息操作指令添加至任务队列中。
获取模块520,适于从任务队列中获取预设时间段内累积的元信息操作指令。
归并处理模块530,适于对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
可选地,归并处理模块530进一步适于:若在预设时间段内存在同一数据节点宕机又恢复的元信息操作指令,则对元信息操作指令进行归并处理。
第一更新模块540,适于一一遍历所获取的元信息操作指令,根据相应的元信息操作指令对中心节点中的元信息进行更新。
压入模块550,适于若根据所获取的元信息操作指令对中心节点中的元信息进行更新时出现错误,未处理的元信息操作指令的数量小于预设阈值,则将未处理的元信息操作指令压入至任务队列中。
第二更新模块560,适于对中心节点中元信息对应的元信息版本号进行更新处理。
其中,添加模块510进一步适于:若更新元信息版本号操作失败,则在任务队列中添加更新元信息版本号的任务。
返回模块570,适于若更新元信息版本号操作成功,基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从中心节点拉取最新元信息。
根据本发明上述实施例提供的装置,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,通过对所获取的元信息操作指令进行归并处理,可以压缩元信息操作指令,减少元信息操作指令的数量,避免对中心节点中的元信息做无谓的操作,而导致的占用资源且浪费时间的问题,根据所获取的元信息操作指令对中心节点中的元信息进行更新,在更新成功后,对中心节点中元信息对应的元信息版本号进行更新处理,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
图6示出了根据本发明又一个实施例的元信息更新装置的结构示意图。该装置应用于包括中心节点的分布式系统中,如图6所示,该装置包括:接收模块600、添加模块610、获取模块620、归并处理模块630、第一更新模块640、第二更新模块650、返回模块660。
接收模块600,适于接收数据节点和/或管理端发送的元信息操作请求。
添加模块610,适于将元信息操作请求所携带的元信息操作指令添加至任务队列中。
获取模块620,适于从任务队列中获取预设时间段内累积的元信息操作指令。
归并处理模块630,适于对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
可选地,归并处理模块630进一步适于:若在预设时间段内存在同一数据节点宕机又恢复的元信息操作指令,则对元信息操作指令进行归并处理。
第一更新模块640,适于对中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理;若对快照中的元信息进行更新处理过程中出现错误,则丢弃快照;若对快照中的元信息进行更新处理成功,则将更新后快照应用到中心节点中的元信息,以完成元信息更新。
在完成对元信息更新之后,该装置还包括:第二更新模块650,适于对中心节点中元信息对应的元信息版本号进行更新处理。
返回模块660,适于基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从中心节点拉取最新元信息。
根据本发明上述实施例提供的装置,通过将元信息操作请求所携带的元信息操作指令添加至任务队列中,累积一段时间,再从任务队列中获取预设时间段内累积的元信息操作指令,从而将元信息操作指令由操作级别变为时间级别,降低了更新中心节点中的元信息的频率,通过对所获取的元信息操作指令进行归并处理,可以压缩元信息操作指令,减少元信息操作指令的数量,避免对中心节点中的元信息做无谓的操作,而导致的占用资源且浪费时间的问题,对中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理,在对快照中的元信息进行更新处理成功后,将更新后快照应用到中心节点中的元信息,可以避免因直接对中心节点中的元信息更新,而在更新处理过程中出现错误时导致处理过程较为复杂,且处理不便的问题,在对元信息更新后,对中心节点中元信息对应的元信息版本号进行更新处理,减少了对元信息版本号更新次数,进而减少了数据节点从中心节点拉取最新元信息的次数,降低了中心节点的负担,有效控制了雪崩现象出现的次数。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的元信息更新方法。
图7示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图7所示,该计算设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述元信息更新方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行上述任意方法实施例中的元信息更新方法。程序710中各步骤的具体实现可以参见上述元信息更新实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的元信息更新设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (20)

1.一种元信息更新方法,所述方法应用于包括中心节点的分布式系统中,所述方法包括:
接收元信息操作请求,并将所述元信息操作请求所携带的元信息操作指令添加至任务队列中;
从所述任务队列中获取预设时间段内累积的元信息操作指令,根据所获取的元信息操作指令对中心节点中的元信息进行更新;
所述根据所获取的元信息操作指令对中心节点中的元信息进行更新进一步包括:
对所述中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理;
若对快照中的元信息进行更新处理过程中出现错误,则丢弃所述快照;
若对快照中的元信息进行更新处理成功,则将更新后快照应用到中心节点中的元信息,以完成元信息更新。
2.根据权利要求1所述的方法,其中,在从所述任务队列中获取预设时间段内累积的元信息操作指令之后,所述方法还包括:对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
3.根据权利要求2所述的方法,其中,所述对所获取的元信息操作指令进行归并处理进一步包括:
若在预设时间段内存在同一数据节点宕机又恢复的元信息操作指令,则对所述元信息操作指令进行归并处理。
4.根据权利要求1-3任一项所述的方法,其中,在根据所获取的元信息操作指令对中心节点中的元信息进行更新之后,所述方法还包括:对所述中心节点中元信息对应的元信息版本号进行更新处理。
5.根据权利要求1-3任一项所述的方法,其中,所述根据所获取的元信息操作指令对中心节点中的元信息进行更新进一步包括:
一一遍历所获取的元信息操作指令,根据相应的元信息操作指令对中心节点中的元信息进行更新。
6.根据权利要求5所述的方法,其中,所述方法还包括:若根据所获取的元信息操作指令对中心节点中的元信息进行更新时出现错误,未处理的元信息操作指令的数量小于预设阈值,则将未处理的元信息操作指令压入至任务队列中。
7.根据权利要求4所述的方法,其中,所述方法还包括:若更新元信息版本号操作失败,则在任务队列中添加更新元信息版本号的任务。
8.根据权利要求4所述的方法,其中,在对所述中心节点中元信息对应的元信息版本号进行更新处理成功之后,所述方法还包括:
基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从所述中心节点拉取最新元信息。
9.根据权利要求1-3任一项所述的方法,其中,所述接收元信息操作请求具体为:接收数据节点和/或管理端发送的元信息操作请求。
10.一种元信息更新装置,所述装置应用于包括中心节点的分布式系统中,所述装置包括:
接收模块,适于接收元信息操作请求;
添加模块,适于将所述元信息操作请求所携带的元信息操作指令添加至任务队列中;
获取模块,适于从所述任务队列中获取预设时间段内累积的元信息操作指令;
第一更新模块,适于根据所获取的元信息操作指令对中心节点中的元信息进行更新;
所述第一更新模块,进一步适于对所述中心节点中的元信息进行快照处理,根据所获取的元信息操作指令对快照中的元信息进行更新处理;
若对快照中的元信息进行更新处理过程中出现错误,则丢弃所述快照;
若对快照中的元信息进行更新处理成功,则将更新后快照应用到中心节点中的元信息,以完成元信息更新。
11.根据权利要求10所述的装置,其中,所述装置还包括:归并处理模块,适于对所获取的元信息操作指令进行归并处理,以压缩元信息操作指令。
12.根据权利要求11所述的装置,其中,所述归并处理模块进一步适于:
若在预设时间段内存在同一数据节点宕机又恢复的元信息操作指令,则对所述元信息操作指令进行归并处理。
13.根据权利要求10-12任一项所述的装置,其中,所述装置还包括:第二更新模块,适于对所述中心节点中元信息对应的元信息版本号进行更新处理。
14.根据权利要求10-12任一项所述的装置,其中,所述第一更新模块进一步适于:
一一遍历所获取的元信息操作指令,根据相应的元信息操作指令对中心节点中的元信息进行更新。
15.根据权利要求14所述的装置,其中,所述装置还包括:压入模块,适于若根据所获取的元信息操作指令对中心节点中的元信息进行更新时出现错误,未处理的元信息操作指令的数量小于预设阈值,则将未处理的元信息操作指令压入至任务队列中。
16.根据权利要求13所述的装置,其中,所述添加模块进一步适于:若更新元信息版本号操作失败,则在任务队列中添加更新元信息版本号的任务。
17.根据权利要求13所述的装置,其中,所述装置还包括:返回模块,适于基于心跳机制向数据节点返回更新后的元信息版本号,以供数据节点根据更新后的元信息版本号从所述中心节点拉取最新元信息。
18.根据权利要求10-12任一项所述的装置,其中,所述接收模块具体适于:接收数据节点和/或管理端发送的元信息操作请求。
19.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-9中任一项所述的元信息更新方法对应的操作。
20.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-9中任一项所述的元信息更新方法对应的操作。
CN201711473447.0A 2017-12-29 2017-12-29 元信息更新方法、装置、计算设备及计算机存储介质 Active CN108121514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711473447.0A CN108121514B (zh) 2017-12-29 2017-12-29 元信息更新方法、装置、计算设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711473447.0A CN108121514B (zh) 2017-12-29 2017-12-29 元信息更新方法、装置、计算设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN108121514A CN108121514A (zh) 2018-06-05
CN108121514B true CN108121514B (zh) 2021-05-25

Family

ID=62232198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711473447.0A Active CN108121514B (zh) 2017-12-29 2017-12-29 元信息更新方法、装置、计算设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN108121514B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527807A (zh) * 2019-09-18 2021-03-19 银联数据服务有限公司 一种数据结构操作方法及装置
CN112817992B (zh) * 2021-01-29 2023-06-23 北京百度网讯科技有限公司 执行更改任务的方法、装置、电子设备以及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657483A (zh) * 2015-02-28 2015-05-27 华为技术有限公司 处理事务的方法、处理节点、中心节点和集群
CN106528876A (zh) * 2016-12-09 2017-03-22 北京奇虎科技有限公司 分布式系统的信息处理方法及分布式信息处理系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01291328A (ja) * 1988-05-18 1989-11-22 Mitsubishi Electric Corp インタプリタ形言語システム
CN102567445B (zh) * 2011-10-25 2014-07-02 无锡城市云计算中心有限公司 一种分布式文件系统中保证元数据一致性的方法
CN102567444B (zh) * 2011-10-25 2013-11-06 无锡城市云计算中心有限公司 一种分布式文件系统数据访问优化的方法
CN104794114B (zh) * 2014-01-16 2018-04-03 阿里巴巴集团控股有限公司 一种数据处理方法及装置
CN104021034B (zh) * 2014-06-24 2017-12-08 上海众源网络有限公司 任务处理方法及系统
CN104537050B (zh) * 2014-12-25 2017-12-15 华中科技大学 一种批量快速创建文件系统元数据和数据的方法
CN105824810B (zh) * 2015-01-04 2019-04-23 中国移动通信集团河北有限公司 一种Hadoop集群系统及数据处理方法
US9778961B2 (en) * 2015-09-14 2017-10-03 Qualcomm Incorporated Efficient scheduling of multi-versioned tasks
CN105353987A (zh) * 2015-11-13 2016-02-24 曙光信息产业股份有限公司 一种文件处理方法及装置
CN106850827A (zh) * 2017-02-24 2017-06-13 深圳市中博睿存信息技术有限公司 一种分布式文件系统元数据处理方法和装置
CN107436735A (zh) * 2017-07-28 2017-12-05 郑州云海信息技术有限公司 一种分布式文件系统中存储单元状态更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657483A (zh) * 2015-02-28 2015-05-27 华为技术有限公司 处理事务的方法、处理节点、中心节点和集群
CN106528876A (zh) * 2016-12-09 2017-03-22 北京奇虎科技有限公司 分布式系统的信息处理方法及分布式信息处理系统

Also Published As

Publication number Publication date
CN108121514A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
US9652492B2 (en) Out-of-order execution of strictly-ordered transactional workloads
US10452487B2 (en) Data processing apparatus and method
CN107644075B (zh) 收集页面信息的方法和装置
CN110612516A (zh) 在备份失败后改善备份性能
CN110968478A (zh) 日志采集方法、服务器及计算机存储介质
US11061889B2 (en) Systems and methods of managing manifest refresh in a database
CN110753084A (zh) 上链数据读取方法、缓存服务器及计算机可读存储介质
CN108121514B (zh) 元信息更新方法、装置、计算设备及计算机存储介质
CN107368563B (zh) 数据库数据的删除方法及装置、电子设备、存储介质
CN109710679B (zh) 数据抽取方法及装置
US20150220517A1 (en) Efficient conflict resolution among stateless processes
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
CN117076416A (zh) 一种优化目录容量嵌套配额的方法、系统、设备和介质
CN111753141B (zh) 一种数据管理方法及相关设备
US9948587B2 (en) Data deduplication at the network interfaces
CN108228813B (zh) 分布式系统中副本数据库的删除方法及装置
CN111625500B (zh) 文件快照方法及装置、电子设备和存储介质
CN111756602B (zh) 神经网络模型训练中的通信超时检测方法和相关产品
CN111061719B (zh) 数据收集方法、装置、设备和存储介质
CN113806309A (zh) 基于分布式锁的元数据删除方法、系统、终端及存储介质
US20050165862A1 (en) Autonomic and fully recovering filesystem operations
CN113868278B (zh) 一种数据处理方法、装置及设备
US20160210320A1 (en) Log acquisition management program, log acquisition management device, and log acquisition management method
CN117407370A (zh) 检查点文件处理方法及系统、电子设备和存储介质
CN114330772A (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