【技术实现步骤摘要】
对象列举方法、设备及计算机存储介质
本专利技术涉及接口调用
,尤其涉及一种对象列举方法、设备及计算机存储介质。
技术介绍
存储桶是对象存储中用于存储对象的容器,在存储桶中,对象由键(key)进行唯一地标识。对象接口中的列举对象(listobjects)接口可以列举出存储桶中的对象。在调用列举对象接口时,至少需要将标记值(marker)作为列举对象接口的入参,marker用于指示一次列举的起始位置。为了获取存储桶中的全部对象,目前的方案是串行循环调用列举对象接口直到列举对象接口的返回值为空。具体地,在首次调用列举对象接口时将marker设置为“空值(null)”,后续每次调用列举接口时将marker设置为上次调用返回的最后一个对象的键,直到列举对象接口的返回值为空,然后将每次调用返回的对象进行合并,就得到了存储桶中的全部对象。由于上述方案在循环调用列举对象接口时依赖于上次调用的返回值,并且每次调用最多可以返回的对象个数为定值,因此列举效率非常低。举例来说,假设每次调用时接口的返回时间为0.5秒,每次调用最多返回1000个对象,那么列举1000万个对象需要调用1 ...
【技术保护点】
1.一种对象列举方法,其特征在于,包括:以预定间隔对存储桶中的对象的键进行取样以获取区间标记集合,其中所述区间标记集合包括多个区间标记,所述多个区间标记为对所述存储桶中的对象的键进行取样的取样结果;同步列举所述区间标记集合中任意两两相邻的区间标记对应的对象,以获取多个列举对象结果;合并所述多个列举对象结果。
【技术特征摘要】
1.一种对象列举方法,其特征在于,包括:以预定间隔对存储桶中的对象的键进行取样以获取区间标记集合,其中所述区间标记集合包括多个区间标记,所述多个区间标记为对所述存储桶中的对象的键进行取样的取样结果;同步列举所述区间标记集合中任意两两相邻的区间标记对应的对象,以获取多个列举对象结果;合并所述多个列举对象结果。2.根据权利要求1所述的方法,其特征在于,所述同步列举所述区间标记集合中任意两两相邻的区间标记对应的对象,包括:将所述多个区间标记分别分配至多个处理单元,其中,一个区间标记对应一个处理单元,以使得所述多个处理单元将与自身对应的区间标记作为列举对象接口的入参,从所述存储桶中列举对象直到列举出的对象结果中包括所述区间标记集合中与自身对应的区间标记不相同的区间标记所标识的对象,或者直到列举出的对象结果中包含的对象个数小于所述列举对象接口的最大返回值。3.根据权利要求1或2所述的方法,其特征在于,所述多个区间标记中的第一个区间标记为空值。4.根据权利要求1~3任一项所述的方法,其特征在于,所述合并所述多个列举对象结果之后,所述方法还包括:对合并后的所述多个列举对象结果进行去重。5.一种对象列举设备,其特征在于,包括:取样模块,用于以预定间隔对存储桶中的对象的键进行取样以获取区间标记集合,其中所述区间标记集合包括多个区间标记,所述多个区间标记为对...
【专利技术属性】
技术研发人员:刘畅,袁立非,赵梓健,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。