用于数据库和存储器感知路由器的方法和设备的制造方法_3

文档序号:9916566阅读:来源:国知局
典型拓扑之一为多主数据库集群。作为示例性实施例,数据库集群中存在3个节点,所有节点均允许写入。这时候,每个节点中的每个变化将同步到剩余两个节点以保持底层的分布式网络环境的一致性。分布式网络环境可采用现有“网状”或“星型”方案中的任意一者。
[0094]在任一方案中,提出了与本发明的目标一致的多个缓存以及基于这些缓存的路由重新计算。
[0095]在不考虑底层拓扑的情况下,当存在多个订户但每个订户附着到不同的边缘路由器时,简单的缓存技术是不够的。
[0096]在如图8适当所示的场景中,以及通过缓存技术,还需要对数据包进行合适地路由。因此,当主DB节点路由器识别DB集群的拓扑为上述性质时,主DB节点路由器计算到每个节点的路径。基于该计算,DB集群在可以使用缓存的网络中建立路径。在示例性实施例中,这些路径可以通过RSVP-TE (针对流量工程扩展的资源预留协议)或MPLS-TE机制建立。
[0097]图8示出了本发明的该实施例,该实施例涉及一些特定条件下的包的实际路由和缓存。通常,路由器I使用路由器2中的缓存数据创建路径以及用于向路由器3进行路由的标签,反之亦然。
[0098]当路由器I确定包在路由器2中缓存并且包需要立刻传输到路由器3时,路由器I使用已缓存的指纹以及该路径标签。路由器2在接收指纹和特定标签时处理包并将包数据转换为实际数据并随后将实际数据转发到路由器3。
[0099]该技术特征本质上节省了“2个单元距离”,否则这些就是冗余数据。
[0100]本发明的另一实施例涉及为从DB操作角度表达的不同性质的流(例如,“重做流(REDO stream)”、“全镜像流(Full Mirror stream)”、“优先级流(Pr1rity Stream),,)应用特定策略。
[0101]数据库感知路由器配置有各种连接参数以及策略。一个示例性实施例包括具有最大MTU(最大传输单元)的初始镜像流的连接以及压缩。数据库感知路由器使用提及的策略创建标签交换路径。这种标签交换路径通过CSPF和LDP实施。主数据库节点边缘路由器在流传输中确定流的性质并应用合适的策略。
[0102]本质上,创建基于路由器配置的最大MTU(最大传输单元)路径以允许路由该路径上的初始镜像(完全同步)包。
[0103]图9示出了示例性MDER(主DB节点边缘路由器)中配置的数据。
[0104]图10示出了MDER(主DB节点边缘路由器)在分布式网络环境中进行通告和订阅的流程图。
[0105]与本发明一致的由MDER(主DB节点边缘路由器)进行的通告和订阅包括但不限于以下步骤。
[0106]起初MDER(主DB节点边缘路由器)在配置有复制服务时将该服务通告给整个分布式网络。任意DB感知路由器接收该通告并存储通告信息。当DB感知路由器配置有订户信息及相应的集群信息时,DB感知路由器向MDER订阅服务。此时,该节点成为SDER(订户数据库边缘路由器)。示例性实施例中的订阅可以通过XMPP、Jabber或SIP呈现(RFC-3265)等订阅协议之一来处理。
[0107]对于每个添加到集群中的订户DB节点,配置相应的SDER(订户数据库边缘路由器)并且该SDER订阅服务。因此,在实施例中,如果SDER(订户数据库边缘路由器)配置有2个订户DB节点,那么该SDER将订阅两次服务。MDER(主DB节点边缘路由器)在接收订阅时检查该SDER(订户数据库边缘路由器)是否已订阅。如果该SDER(订户数据库边缘路由器)已订阅该服务,那么MDER在MDER-SDER链路上开启缓存。
[0108]在另一实施例中,主数据库将REDO日志信息发送给其订户。MDER(主DB节点边缘路由器)知道REDO日志的概念。MDER(主DB节点边缘路由器)拦截来自主DB节点的包并尝试确定该包是否为REDO日志包。在典型实施例中的所述确定可通过配置IP地址和端口号实现。
[0109]此处,特定的(源IP+目的IP+目的端口)还可与信道关联并且该信道可与REDO日志策略关联。或者,MDRR可配备有REDO消息的报文格式并且通过使用DPI(深度报文检测)技术可以确定包的性质。因此,路由器对数据复制流量流性质的确定以及策略的选择性应用是本发明的关键技术特征。
[0110]参照图10解释通告和订阅步骤。主DB边缘路由器(1001)配置了复制(主)服务。之后,复制服务由主DB边缘路由器通告/发布(1002)。相应的订户DB边缘路由器存储复制服务通告(1003)并配置复制(订户)服务(1004)。
[0111]之后,订户DB边缘路由器确定是否已存在这种服务的通告/发布。如果存在这种服务的通告,那么由订户DB边缘路由器发送订阅并且由主DB边缘路由器接收该订阅(1007)。
[0112]主DB边缘路由器在接收所述订阅(1007)时确定路由器是否已订阅(1008),如果已订阅,开启缓存(I 009)并随后存储订阅详情(I 011)。如果未订阅,存储订阅详情(I 011)(而不开启缓存)。
[0113]图11示出了REDO缓存优化的流程图。
[0114]此处,一旦MDER(主数据库节点边缘路由器)确定包为REDO包,MDER尝试对该包进行最优缓存。如果该MDER-SDER路径上存在多个订阅者节点,那么该包必定重复JDER检查缓存是否在该MDER-SDER路径上开启。如果开启,那么MDER继续如以上流程图所述处理包。要注意的另一关键点在于给缓存的包贴上标签。该标签可以与SDER预协商或由SDER/MDER静态地配置。一旦SDER接收具有该标签的包,SDER将指纹转换为实际包并将实际的包转发到订户。需要周期性地调整主-SI和主-S2之间的TCP流。如果不调整,那么由于网络环境流可能具有偏置,并且缓存失败。
[0115]参照图11,MDER(主DB节点边缘路由器)确定从主数据库接收(1102)的数据包是否为REDO数据(1103)。如果接收的数据为REDO数据,从数据包中提取目的地址并将目的地址与查找边缘路由器信息(1105)进行匹配。如果确定还没有为边缘路由器缓存数据包,转发数据包(I 108)。
[0116]否则,如果已经为边缘路由器缓存数据包,为整个包生成指纹(1107)。如果指纹已经存在(1109),存储指纹和数据包(1110)并转发这两者(1111)。
[0117]如果指纹已不存在,给包数据贴上标签并仅转发指纹。
[0118]在本发明的范围内对数据包进行指纹识别是一种使用包的特点创建唯一密钥的方法,通过该方法可以在缓存中唯一确定包。
[0119]因此,对IP包/数据包进行优化缓存基于开启缓存。对物理复制日志(DB中的REDO)以及逻辑复制日志(DB中的SQL)进行缓存。
[0120]图12示出了参照图11如上所述的用于优化的REDO缓存的相应序列图。
[0121]参照图12的序列图,主数据库(DB)向主DB边缘路由器发送第一RED0-1 (1200)。主DB边缘路由器随后缓存所述接收到的第一RED0-1 (1202)。之后,主DB边缘路由器将第一RED0-1以及指纹转发到订户数据库(DB)路由器(1203)。订户数据库路由器将RED0-1包转发到订户数据库(DB) (I)。同时,(由于不知道底层拓扑的主数据库存在两个订户数据库,)主数据库(DB)将第二 RED0-1发送到主DB边缘路由器(1201)。主DB边缘路由器随后提取指纹(1204)并将指纹(1205)转发到订户数据库(DB)路由器(1205)。之后,订户数据库路由器将RED0-1转发到订户数据库2(1207)。
[0122]图13示出了基于缓存的最优路由的示例性网络图。
[0123]在本发明的典型实施例中,MDER在确定DB(数据库)集群的拓扑之后尝试最优地使用缓存。如果新SDER订阅到MDER并且SDER仅拥有一名订户,MDER尝试找出是否存在任意已订阅的邻近SDER。如果存在,MDER尝试创建“交换路径”用于优化MDER。
[0124]在图13中,发往SI(订户I)的第一REDO通过RE发送(路由器2)。标记该包进行缓存。当相同的REDO被发送到S2(订户2)时,指纹切换到R2(路由器2)。随后,R2(路由器2)检索实际的数据包并将该数据包转发到R3(路由器3),R3随后将该数据包转发到S2(订户2)。
[0125]确切地说,参照图13,本发明的分布式网络环境的示例性实施例包括主数据库(M)、两名订户(S1、S2)、一个边缘路由器(Rl)以及两个订户路由器(R2、R3)。
[0126]主数据库(M)为其两个订户(S1、S2)分别发送一个RED0(1301)。边缘路由器(Rl)接收这两个RED0,但是仅为订户2(S2)将指纹发送给路由器2(R2)。
[0127]路由器R2随后为SI (订户I)发送REDO并且还将一个单独的REDO转发给路由器3(R3)。实际上,路由器3(R3)将REDO转发给订户2(S2)。
[0128]图14示出了基于缓存的最优路由的示例性路径创建。
[0129]在该实施例中,使路由器知道多种类型的DB复制流量,流量在DB(数据库)节点之间流动。每种类型的流量示为一个信道。数据复制流量可以为常规REDO(同步)流量或初始(或完整)镜像或优先级包(特定类型的DDL)。对于每种类型的流量,在路由器中配置多种策略。本发明的路由器设备在路由器中创建规则,例如开启压缩的完全冗余消除。MDER还创建特殊路径或标签以适配这些信道。对于初始(或完整)镜像,路由器创建具有最大MTU (最大传输单元)的路径。类似地,MDER为优先信道创建到目的地的另一标记的路径。MDER从来不为优先级信道开启压缩。
[0130]MDER(主数据库边缘路由器)检测信道的机制包括但不限于IP+Port配置或使用DPI。
[0131]另外,DB(数据库)节点主动与路由器进行交互以提供多种输入,这样路由器可以最优操作以建立拓扑。
[0132]通过实施配置或SNMP或Netconf等管
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1