用于存储元数据的方法、设备和计算机程序产品技术

技术编号:24120922 阅读:15 留言:0更新日期:2020-05-13 03:03
本公开的实施例涉及用于存储元数据的方法、设备和计算机程序产品。该方法包括基于要存储的元数据项的集合,确定第一序列和第二序列,第一序列和第二序列分别包括多个键值对,每个键值对包括集合中一个元数据项以及与元数据项相对应的关键字。该方法还包括使得第一协程利用可用计算资源处理第一序列。该方法还包括响应于可用于第一协程处理第一序列的计算资源低于第一阈值,使得与第一协程不同的第二协程处理第二序列。通过使用该方法,可以提高处理器的利用率,并且使得元数据被更快地存储到外部存储装置。

【技术实现步骤摘要】
用于存储元数据的方法、设备和计算机程序产品
本公开的实施例涉及数据的管理领域,具体地涉及用于存储元数据的方法、设备和计算机程序产品。
技术介绍
随着计算机应用的增加,用户通过计算机来处理不同的任务。因此,导致用户的数据在计算机应用中变得越来越多。而对于用户数据的存储,采用大容量的存储设备来进行合理的存储变得越来越得重要。因此,存储设备提供商提供了各种不同类型的存储设备来存储海量的数据。通过利用这些存储设备,用户可以很方便的对数据进行存储、读取。随着用户数据的增加,针对用户数据的元数据的量也在增加。对元数据的存储也开始变得重要。因此,为了存储元数据,存储设备提供商设计了针对元数据的各种存储结构。由于元数据比较重要,如何合理存储元数据变成了需要解决的问题。
技术实现思路
本公开的实施例提供了一种用于存储元数据的方法、设备和计算机程序产品。根据本公开的第一方面,提供了一种用于存储元数据的方法。该方法包括基于要存储的元数据项的集合,确定第一序列和第二序列,第一序列和第二序列分别包括多个键值对,每个键值对包括集合中一个元数据项以及与元数据项相对应的关键字。该方法还包括使得第一协程利用可用计算资源处理第一序列。该方法还包括响应于可用于第一协程处理第一序列的计算资源低于第一阈值,使得与第一协程不同的第二协程处理第二序列。根据本公开的第二方面,提供了一种用于存储元数据的电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,动作包括:基于要存储的元数据项的集合,确定第一序列和第二序列,第一序列和第二序列分别包括多个键值对,每个键值对包括集合中一个元数据项以及与元数据项相对应的关键字;使得第一协程利用可用计算资源处理第一序列;以及响应于可用于第一协程处理第一序列的计算资源低于第一阈值,使得与第一协程不同的第二协程处理第二序列。根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;图2图示了根据本公开的实施例的用于示出元数据存储位置的示意图200;图3图示了根据本公开的实施例的用于存储元数据的方法300的示意图;图4图示了根据本公开的实施例的用于描述协程工作的示例400的示意图;图5图示了根据本公开的实施例的用于存储元数据的一个过程500的示意图;图6图示了根据本公开的实施例的用于存储元数据的另一个过程500的示意图;图7图示了根据本公开的实施例的用于描述元数据存储位置的示例700的示意图;图8图示了适于用来实施本公开内容的实施例的示例设备800的示意性框图。在各个附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。针对用户数据的元数据的存储,一般会将元数据从存储器中存储到外部存储装置中。在外部存储装置中采用特定的数据结构来存储元数据以便于元数据的读取和获得。在存储元数据时,一般会采用单个线程来进行数据存储。然而,由于在存储元数据的过程会先将外部存储装置中的数据页中的数据块读取到存储引擎中,然后将要存储的元数据更新到该数据块,然后再将数据块冲刷到外部存储装置。在该过程中涉及与外部存储装置的交互。然而,在从外部存储装置读取数据和向存储装置写入数据时,由于输入输出过程比较慢,处理器在进行输入输出的过程中不能被充分利用。因此,降低了元数据存储到外部存储装置的速度,也降低了计算资源的利用率。为了提高将元数据存储到外部存储装置的速度,一般会采用多线程并行处理元数据的存储。然而,由于并行线程在处理数据的过程中是竞争资源的。因此,为了保证数据的一致性,对两个线程都要处理的数据页需要进行锁定处理等。这种竞争使得计算资源过多的处理这些事务,从而降低了并行带来的好处。因此,多线程并行也存在处理器利用率且存储速度慢的问题。为了解决上述问题,本公开提出了一种用于存储元数据的方法。在该方法中采用协程来处理待存储的元数据。在处理过程中,通过将要存储的多个元数据及元数据的关键字划分为多个序列,然后将多个序列分配给多个协程进行处理。在协程处理这些序列的过程中,将与序列中的第一个元数据的关键字相关联的数据块标识为关键数据块。协程会用元数据及元数据的关键字更新其所在的数据块并将非关键数据块存储到外部存储装置。在协程完成非关键数据块的存储后,再统一对关键数据块进行存储。通过使用该方法,在一个协程输入输出数据时调用另一个协程,使得协程可以充分的利用计算资源,提高了将元数据存储到外部存储装置的效率,进而改进了整个存储系统处理数据的速度。图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图。该示例环境100包括设备102,该设备102用于获得针对用户数据的元数据,并将用户数据的元数据存储在存储器104上。该设备102可以实现为任何类型的设备,包括但不限于移动电话(例如,智能手机)、膝上型计算机、便携式数字助理(PDA)、电子书(电子书)阅读器、便携式游戏机、便携式媒体播放器、游戏机、机顶盒(STB)、智能电视(TV)、个人计算机、膝上型计算机、车载计算机(例如,导航单元)等。设备102内具有存储器104。该存储器104用于保存元数据据。当该存储器104内保存的元数据超过预定量时,存储器104中的元数据会被转移到存储装置108。在一个示例中,在存储器104内以键值对的形式存储元数据。该键值对中的值对应于元数据,而键为从元数据获得的关键字。备选地,附加地,在存储器104中存储的键值对是以键的大小进本文档来自技高网...

【技术保护点】
1.一种用于存储元数据的方法,该方法包括:/n基于要存储的元数据项的集合,确定第一序列和第二序列,所述第一序列和所述第二序列分别包括多个键值对,每个键值对包括所述集合中一个元数据项以及与所述元数据项相对应的关键字;/n使得所述第一协程利用可用计算资源处理所述第一序列;以及/n响应于可用于所述第一协程处理所述第一序列的计算资源低于第一阈值,使得与所述第一协程不同的第二协程处理所述第二序列。/n

【技术特征摘要】
1.一种用于存储元数据的方法,该方法包括:
基于要存储的元数据项的集合,确定第一序列和第二序列,所述第一序列和所述第二序列分别包括多个键值对,每个键值对包括所述集合中一个元数据项以及与所述元数据项相对应的关键字;
使得所述第一协程利用可用计算资源处理所述第一序列;以及
响应于可用于所述第一协程处理所述第一序列的计算资源低于第一阈值,使得与所述第一协程不同的第二协程处理所述第二序列。


2.根据权利要求1所述的方法,还包括:
响应于所述第一协程处理的、与所述第一序列相关联的输入/输出操作的数目超过阈值数目,确定所述第一协程所使用的所述计算资源低于所述第一阈值。


3.根据权利要求1所述的方法,还包括:
使得所述第一协程停止处理所述第一序列。


4.根据权利要求3所述的方法,还包括:
响应于可用于所述第一协程处理所述第一序列的计算资源高于所述第一阈值,使得所述第一协程继续处理所述第一序列。


5.根据权利要求1所述的方法,其中使得所述第一协程处理所述第一序列包括使得所述第一协程:
确定存储装置中包括的与所述第一序列中的第一键值对相匹配的关联键值对,所述第一键值对中的第一关键字与所述关联键值对中的第二关键字匹配;
获得所述关联键值对所在的所述存储装置中的关键存储页面中的键值对集合;
利用所述第一键值对更新所述键值对集合;
响应于所述第一协程和所述第二协程完成针对所述第一序列和所述第二序列的处理,将更新后的所述键值对集合存储到所述关键存储页面。


6.根据权利要求5所述的方法,其中使得所述第一协程处理所述第一序列包括使得所述第一协程:
确定存储装置中包括的与所述第一序列中的所述第一键值对以外的剩余键值对相匹配的一组关联键值对,所述剩余键值对中的关键字分别与所述一组关联键值对中的关键字匹配;
获得所述一组关联键值对所在的所述存储装置中的一组待更新存储页面,其中所述一组待更新存储页面中不包括所述关键存储页面;
利用所述剩余键值对,更新从所述一组待更新存储页面中所获取的键值对集合;
将更新后的所述键值对集合分别存储到一组目标存储页面;以及使得所述存储装置利用所述一组目标存储页面的地址来更新所述一组待更新存储页面的地址。


7.一种用于存储元数据的电子设备,所述电子设备包括:
处理器;以及
存储器,存储有计算机程序指令,处理器运行存储器中的所述计算机程序指令控制所述电子设备执行动作,所述动作包括:...

【专利技术属性】
技术研发人员:吴雨润吴佳磊孙骜
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1