分布式数据库系统中的异步垃圾收集的制作方法_2

文档序号:9872425阅读:来源:国知局
读存储器(R0M)、闪存或任意其它合适的内存系统。例如,内存设备204可以包括动态随机存取存储器(DRAM)。计算设备200还可以包括图形处理单元(GPU)208。如图所示,CPU 202可以通过总线206耦接至GPU 208oGPU208可以被配置为实施计算设备200内的任意数量的图形操作。例如,GPU 208可以被配置为渲染或操控将向计算设备200的用户显示的图形图像、图形帧、视频等等。
[0023]CPU 202可以通过总线206连接至输入/输出(I/O)设备接口 210,1/0设备接口 210被配置为将计算设备200连接至一个或多个I/O设备212。1/0设备212可以包括例如键盘和指点设备,其中指点设备可以包括触摸板或触摸屏等等。I/O设备212可以是计算设备200的内置组件,或可以是外部地连接至计算设备200的设备。
[0024]CPU 202还可以通过总线206链接至显示接口214,显示接口214被配置为将计算设备200连接至显不设备216。显不设备216可以包括显不屏,该显不屏是计算设备200的内置组件。显示设备216还可以包括外部地连接至计算设备200的计算机显示器、电视或投影仪等等。
[0025]此外,计算设备200可以通过总线106连接至处理流水线102。处理流水线102可以包括一个或多个处理器218。在实施例中,如关于图1描述的,处理流水线102包括用于处理流水线的每个级的一个处理器218。
[0026]计算设备还包括存储设备220。存储设备220是物理内存,如硬驱、光驱、U盘、驱动器阵列、或它们的任意组合。存储设备220还可以包括远程存储驱动器。存储设备220包括存储来自分布式数据库的数据的任意数量的数据储存器222。数据储存器222可以包括数据储存器222内的数据库的数代。数据储存器222还可以存储来自处理流水线102的每个级的中间数据。如本文讨论的,处理流水线的每个级的垃圾收集器线程可以用于从数据储存器222中删除数据。
[0027]计算设备200还可以包括网络接口控制器(NIC)224,NIC 224可以被配置为通过总线206将计算设备200连接至网络226。网络226可以是广域网(WAN)、局域网(LAN)或互联网等等。
[0028]图2的框图的目的不在于指示计算设备200应包括图2所示的所有组件。此外,根据特定实现方式的细节,计算设备200可以包括图2中未示出的任意数量的其它组件。
[0029]图3是用于分布式数据库系统中的异步垃圾收集的方法流程图300。在一些实施例中,分布式数据库系统可以是ExpressQuery数据库。此外,分布式数据库系统可以是使用无共享理念设计的,其中每个服务器不存储关于分布式数据库系统的状态信息。
[0030]在框302处,建立用于垃圾收集的一组候选。用于垃圾收集的该组候选可以由主控器建立。在一些情况下,主控器是分布式数据库系统中用于存储指示在存储器上保留什么信息以及该信息的位置的状态信息的唯一进程。
[0031 ]在框304处,向流水线的每个级传送垃圾收集任务。主控器可以与所有服务器上的处理流水线中的每个级通信,以传送垃圾收集任务。在框306处,基于用于垃圾收集的该组候选,从流水线的每个级中移除数据。处理流水线的每个级中的垃圾收集线程可以用于执行垃圾收集任务以及移除由该垃圾收集任务指示的数据。
[0032]图4是用于分布式数据库系统中的异步垃圾收集的方法流程图400。在框402处,建立用于垃圾收集的一组候选。主控器可以在无共享架构中使用,以协调整个系统的处理。在框404处,从该组候选中移除在活跃事务中使用的候选。主控器可以用于从代列表中滤掉要移除的数据库的各代。例如,主控器可以滤掉受活跃事务影响的任何代。在实施例中,主控器与事务管理器通信,以滤掉受活跃事务影响的代。主控器还可以滤掉用于确保数据可靠性和安全性的代。通过这样的方式,针对形成数据库的相同的一组文件执行事务内的所有查询,并且分布式数据库系统的数据是一致的。
[0033]在框406处,向流水线的每个级的垃圾收集线程发送垃圾收集任务。主控器可以与所有服务器上的处理流水线的每个级通信,以传送垃圾收集任务。流水线的每个级随后可以向其相应的垃圾收集线程传送该垃圾收集任务。垃圾收集线程可以称为垃圾收集器。垃圾收集器与在流水线的每个级处实施的其它任务并行运行。此外,垃圾收集器不阻止主控器编排任意其它级处的任何其它任务。此外,垃圾收集器不阻止流水线的任何级。结果,垃圾收集器对分布式数据库系统没有性能影响。
[0034]在框408处,为每个垃圾收集任务获取数据库名和路径。数据库名和路径可以用于定位受垃圾收集任务影响的数据。在框410处,从存储器中移除与数据库名和路径有关的任何数据。
[0035]图3和图4的方法流程图的目的不在于表示方法流程图300和方法流程图400中每个应包括图3和图4中示出的所有组件。此外,根据特定实现方式的细节,方法流程图300和方法流程图400可以包括比所示出的框更少或更多的框,并且方法流程图300的框可以包括在方法流程图400中,并且方法流程图400的框可以包括在方法流程图300中。
[0036]图5是示出使在分布式数据库系统中能够进行垃圾收集的有形非暂时性计算机可读介质500的框图。计算机可读介质500可以由处理器502通过计算机总线504访问。此外,计算机可读介质500可以包括代码,该代码用于指导处理器502实施当前方法的步骤。
[0037]本文讨论的各软件组件可以存储在图5所示的有形非暂时性计算机可读介质500上。例如,构造模块506可以被配置为建立用于垃圾收集的一组候选。在一些情况下,主控器可以用于从代的列表中滤掉要移除的数据库的各代。传送模块508可以被配置为传送垃圾收集任务。在示例中,由主控器向流水线的每个级发送垃圾收集任务,且随后,每个级可以向其垃圾收集线程发送垃圾收集任务。删除模块510可以被配置为基于用于垃圾收集的该组候选,从流水线的每个级中移除数据。
[0038]将理解,图5的目的不在于表示上面讨论的所有软件组件在每种情况下都应包括在有形非暂时性计算机可读介质500中。此外,根据特定实现方式,图5中未示出的任意数量的其它软件组件可以包括在该有形非暂时性计算机可读介质500中。例如,许可可以用于使根据功率封顶策略能够修改封顶区(capping zone)。
[0039]尽管本技术可以允许各种修改和可选形式,但是仅通过示例示出上面介绍的示例性实施例。将理解到,该技术的目的不在于受限于本文公开的特定示例。事实上,本技术包括落在所附权利要求的真实精神和范围内的所有替代、修改和等同。
【主权项】
1.一种用于分布式数据库系统中的异步垃圾收集的方法,包括: 建立用于垃圾收集的一组候选; 向流水线的每个级传送垃圾收集任务;以及 基于所述用于垃圾收集的一组候选和所述垃圾收集任务,从所述流水线的每个级中移除数据,其中所述垃圾收集任务不阻止所述流水线的任何级执行。2.根据权利要求1所述的方法,其中在从流水线的每个级中移除数据之前,从所述用于垃圾收集的一组候选中移除在活跃事务中使用的候选。3.根据权利要求1所述的方法,其中向所述流水线的每个级的垃圾收集线程传送所述垃圾收集任务。4.根据权利要求1所述的方法,其中针对每个传送的垃圾收集任务获取要移除的数据的数据库名和路径。5.根据权利要求1所述的方法,其中由在所述流水线的每个级的多个进程中的每个中运行的单个线程处理所述垃圾收集任务。6.根据权利要求1所述的方法,其中所述流水线的每个级不维护所述数据库的任何状态,并且不确定将移除什么数据。7.—种用于分布式数据库中的异步垃圾收集的系统: 处理流水线,具有多个处理级,其中每个处理级与其它处理级分离; 存储设备,存储指令,所述存储设备包括处理器可执行代码,该处理器可执行代码在由每个处理级执行时被配置为: 从主控器接收垃圾收集任务; 向每个处理级中的垃圾收集线程发送所述垃圾收集任务; 基于所述垃圾收集任务获取待删除的每一组数据的数据库名和路径;以及 从存储位置删除所述一组数据。8.根据权利要求7所述的系统,其中所述主控器针对所述数据库的多代建立要进行垃圾收集的一组候选。9.根据权利要求7所述的系统,其中所述主控器滤掉与有正在运行的事务有关的代。10.根据权利要求7所述的系统,其中所述主控器和事务管理器通过基于来自所述事务管理器的信息而滤掉具有正在运行的事务的候选,协调要进行垃圾收集的一组候选。11.根据权利要求7所述的系统,其中所述垃圾收集任务包括信息,使得每个处理级的所述垃圾收集线程能够识别将从存储器中删除的数据。12.根据权利要求7所述的系统,其中每个处理级的所述垃圾收集器线程与所述其它处理级的垃圾收集器线程并行执行。13.根据权利要求7所述的系统,其中所述垃圾收集器线程不阻止由所述主控器或任何处理级进行的任何处理。14.根据权利要求7所述的系统,其中当所述垃圾收集任务被发送至所述垃圾收集线程时,所述垃圾收集任务被增加至所述垃圾收集线程的队列。15.—种有形的非暂时性计算机可读介质,包括代码,该代码用于指导处理器: 构造用于垃圾收集的一组候选; 向流水线的每个级传送垃圾收集任务;以及基于所述用于垃圾收集的一组候选,从所述流水线的每个级中删除数据。
【专利摘要】本文描述一种用于分布式数据库系统中的异步垃圾收集的方法。该方法包括:建立用于垃圾收集的一组候选,以及向流水线的每个级传送垃圾收集任务。该方法还包括基于该用于垃圾收集的一组候选,从该流水线的每个级中移除数据。
【IPC分类】G06F12/00, G06F9/38
【公开号】CN105637489
【申请号】CN201380080167
【发明人】塞巴斯蒂安·坦德尔
【申请人】慧与发展有限责任合伙企业
【公开日】2016年6月1日
【申请日】2013年10月30日
【公告号】US20160210228, WO2015065369A1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1