本发明专利技术提供了一种基于云计算的大数据处理方法,该方法包括:在云存储系统中建立两级索引,包括主索引和本地索引,当接收到用户检索请求时,以主索引作为唯一入口,通过主索引的定位将检索操作转到本地索引中以获取数据。本发明专利技术提出了一种数据检索方法,有效支持多种形式的检索,可扩展性强,改善了主索引的并发性,动态实时性好,保证了索引结构整体负载均衡。
【技术实现步骤摘要】
本专利技术涉及数据处理,特别涉及一种。
技术介绍
云计算系统能够提供海量存储、可靠服务,因此日益受到重视。在云基础设施中,由成千上万台互相连接在一起的计算机构成提供服务的“云”,大量的用户可以同时共享这块“云”,并根据自己的实际需求对所需资源进行剪裁。作为云数据处理中的一个重要组成部分,当前的云存储系统绝大部分都采用分布式散列表的方式来构建索引,数据被组织成键值对的形式。因此,这类云存储系统只支持关键字查找,并通过点式检索来访问数据。然而,在对于如今发展起来的大数据的实际应用中,用户可能倾向于采用多个键值来进行多维度检索,此时现有的解决方案只能通过运行一个后台批处理任务来扫描整个数据集然后得到检索结果。然而,这类解决方案缺乏实时性,新存入的数据元组不能被及时地检索到,必须等到后台的批处理任务完成扫描才可被检索。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种,包括:在云存储系统中建立两级索引,包括主索引和本地索引,当接收到用户检索请求时,以主索引作为唯一入口,通过主索引的定位将检索操作转到本地索引中以获取数据。优选地,所述在云存储系统中建立两级索引,进一步包括:首先对待索引的数据集进行分割,按照平均的原则,分成包含等量数据的子集,划分的个数与下级的本地索引服务器相等;然后将划分好的数据子集与下级索引服务器一一对应,在各下级索引服务器中以链式队列为基础建立本地索引;各本地索引选择一部分节点作为自己索引范围的代表,并发布到上级的主索引中;发布时,抽取这些被发布节点的元数据,所述元数据包括索引的键、本地索引服务器IP地址、本地索引服务器磁盘物理块号,并仅将元数据发送到上级主索引中;主索引接收到下级各本地索引发布的元数据后,通过链式队列的形式将这些元数据组织成一个全局的索引,在逻辑上将下级各独立的本地索引关联起来;上级的主索引作为整个索引的入口,通过主索引的定位,检索操作转到下级某一个具体的本地索引上,最终在下级找到需要的数据,然后返回;其中,在本地索引发布向上级发布节点时,采用自顶向下的方式逐步增加发布的主节点数量,首先,每一个本地索引将最高级的节点发布到主索引中,接着各本地索引根据发布后预估的检索速度增加比和发布后主索引内存占用的增长比来判断是否要继续往下级发布,在向下扩展发布的时候,仅将之前没有包含的新节点的元数据发送给上级的主索引,即仅在主索引中插入之前没有的节点。优选地:在提交数据更新之前,每个事务先检查在该事务读取数据后,有没有其他事务修改了该数据;如果其他事务有更新,将正在提交的事务进行回滚;所述的链式队列每个节点中还包含2个标志位和1个锁;其中,marked标志位用于标识该节点是否正在被删除;linked标志位标识该节点是否完全插入,即所有层次的指针域都更新完毕,每一个节点分别维护一个锁lock ;另外还定义2个哨兵节点head和tail,其键值分别为常数min_int 和 max_int ;所述链式队列的定位操作首先从哨兵节点head的最高级开始查找,依次下降,每一级查找到待查询键值k所在位置或者哨兵节点tail停止,如果找到k对应的节点,则更新节点i表示该节点的最高级,记录其每级对应的前驱节点pre;所述链式队列的插入操作包括:1)首先调用定位操作,返回定位的结果,如果找到当前节点,即键值为k的节点已经存在,不能插入,否则,进入步骤2的操作; 2)对前驱节点数组pre自下向上加锁;3)验证返回的pre和后继节点数组succ的下一节点是否发生变化,若pre和succ的下一节点发生变化,则先释放刚才的锁,然后重新定位pre和succ ;如果pre和succ都没有发生了变化,进行步骤4 ;4)从底级开始向上进行插入操作,然后置linked标志位为true,表示插入节点已经完全链接,最后释放所有的锁;所述链式队列的删除操作将指定的节点删除,首先定位节点,然后判定当前节点的状态是否为完全链接,且没有正在被删除,如果该节点状态合理,则对该节点上锁,然而有可能该节点已经被其他线程删除,此时返回false,否则,置节点marked标志位为true然后自下向上对前驱节点上锁,如果succ和pre的状态发生改变,则释放之前的锁,然后重新定位节点;最后,进行节点的物理删除然后释放所有锁,返回true ;所述链式队列的检索操作先通过定位查找节点的位置,然后返回检索结果,以及相应的前驱节点和后继节点;如果没有找到相应节点,当前节点正在被删除,或当前节点没有完全连接,则检索失败;如果找到相应节点,并且该节点没有正在被删除且完全链接,则检索成功。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种数据检索方法,有效支持多种形式的检索,可扩展性强,改善了主索引的并发性,动态实时性好,保证了索引结构整体负载均衡。【附图说明】图1是根据本专利技术实施例的的流程图。【具体实施方式】下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种。图1是根据本专利技术实施例的流程图。本专利技术利用自定义的索引结构,有效支持多种形式的检索,可扩展性强,且动态实时性好;利用划分和组合算法,解决局部服务器中的热点问题,保证了索引结构整体的负载均衡。此外,本专利技术还在上级主索引中引入链式队列,提尚了主索引的承载性能,改善了主索引的并发性,提尚整体索引的吞吐率。本专利技术将整个索引结构分为上下两级,索引的数据具体存储在下级的索引中,而上级的索引则起到一个定位和导向的作用。在索引建立的时候,首先会对待索引的数据集进行分割,按照平均的原则,分成包含等量数据的子集(划分的个数与下级的本地索引服务器相等)。然后,划分好的数据子集与下级索引服务器一一对应,在各下级索引服务器中以链式队列为基础建立本地索引。在本地索引建立完成的基础上,各本地索引会选择一部分节点作为自己索引范围的“代表”,并发布到上级的主索引中。发布时,并不是直接将下级节点原封不动的拷贝给上级节点,而是抽取这些被发布节点的元数据(包括索引的键、本地索引服务器IP地址、本地索引服务器磁盘物理块号),仅将元数据发送到上级索引中,以达到减轻上级索引的内存开销,并存储更多节点的目的。主索引接收到下级各本地索引发布的元数据后,通过链式队列的形式将这些元数据组织成一个全局的索引,在逻辑上将下级各独立的本地索引关联起来,维持了索引空间的整体一致性。上级的主索引作为整个索引的入口,通过主索引的定位,检索操作转到下级某一个具体的本地索引上,最终在下级找到需要的数据,然后返回。[0022当前第1页1 2 3 本文档来自技高网...
【技术保护点】
一种基于云计算的大数据处理方法,其特征在于,包括:在云存储系统中建立两级索引,包括主索引和本地索引,当接收到用户检索请求时,以主索引作为唯一入口,通过主索引的定位将检索操作转到本地索引中以获取数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:赖真霖,文君,
申请(专利权)人:成都四象联创科技有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。