一种更新数据信息的方法、数据节点、管理节点及系统的制作方法_4

文档序号:8430769阅读:来源:国知局
节点确定新的数据节点加入分布式数据库系统。
[0142]管理节点接收到数据节点发送的加入分布式数据库系统的请求,判断该数据节点是系统中被删除的异常数据节点,还是新的数据节点;若该数据节点是系统中被删除的异常数据节点,则读取该异常数据节点中最后一次存储的请求标识;根据管理节点中存储的请求标识的更新顺序确定向该异常数据节点发送的请求标识以及对应的数据更新请求;若该数据是新的数据节点,则对新的数据节点进行初始化处理,清除新的数据节点中的数据信息,并将管理节点中存储的请求标识以及对应的数据更新请求发送至新的数据节点。管理节点在确定发送加入请求的数据节点中更新顺序最近的请求标识与管理节点中存储的更新顺序最近的请求标识一致时,管理节点确定该发送加入请求的数据节点加入分布式数据库系统。
[0143]当发送的加入请求的数据节点是系统中被删除的异常数据节点时,只需要将请求标识的更新顺序将异常数据节点中的差量请求标识及对应的更新请求进行同步,减少了异常数据节点重新加入系统时,需要同步的数据量,缩短了异常节点的恢复时间。
[0144]如图3所示,为本发明实施例中一种数据节点更新数据信息的具体方法,该方法包括:
[0145]步骤301:数据节点接收到客户端发送的数据更新请求,通知其他数据节点该更新请求对应的数据信息进入分布式写锁;
[0146]步骤302:数据节点将接收到的数据更新请求发送至管理节点;
[0147]步骤303:数据节点接收到管理节点根据数据更新请求生成的请求标识;
[0148]步骤304:数据节点根据更新请求进行更新处理,同时将更新请求及对应的请求标识进行广播;
[0149]步骤305:数据节点判断在设定的时间长度内其他数据节点是否都反馈了更新请求响应信息,若全部反馈了更新请求响应信息,则执行步骤309,否则执行步骤306 ;
[0150]步骤306:数据节点确定未反馈更新请求响应信息的数据节点为异常数据节点;
[0151]步骤307:数据节点将异常数据节点的节点信息发送至管理节点;
[0152]步骤308:数据节点接收到管理节点发送的异常数据节点删除完成的信息;
[0153]步骤309:数据节点通知其他数据节点该更新请求对应的数据信息释放分布式写锁;
[0154]步骤310:数据节点向发送更新请求的客户端发送更新请求成功的信息,并结束本流程。
[0155]如图4所示,为本发明实施例中数据节点加入分布式数据系统的方法,该方法包括:
[0156]步骤401:管理节点接收到数据节点发送的加入分布式数据库系统的请求;
[0157]步骤402:管理节点判断该数据节点是否为系统中被删除的异常数据节点,若是被删除的异常数据节点,则执行步骤403,否则,执行步骤407 ;
[0158]步骤403:管理节点读取该异常数据节点中最后一次存储的请求标识;
[0159]步骤404:管理节点根据管理节点中存储的请求标识的更新顺序确定向该异常数据节点发送的请求标识以及对应的数据更新请求;
[0160]步骤405:管理节点确定该数据节点中更新顺序最近的请求标识与管理节点中存储的更新顺序最近的请求标识一致;
[0161]步骤406:管理节点确定该数据节点加入分布式数据库系统,并结束本流程;
[0162]步骤407:管理节点对数据节点进行初始化处理;
[0163]步骤408:管理节点将存储的请求标识以及对应的数据更新请求发送至数据节点,并执行步骤405。
[0164]基于同一发明构思,本发明实施例中还提供了一种更新数据信息的数据节点,由于该数据节点解决问题的原理与本发明实施例一种更新数据信息的方法相似,因此该数据节点的实施可以参见方法的实施,重复之处不再赘述。
[0165]如图5所示,为本发明实施例中一种更新数据信息的数据节点,该数据节点包括:
[0166]更新请求处理单元501,用于接收到客户端发送的数据更新请求,根据数据更新请求对对应的数据信息进行更新处理,并将数据更新请求进行广播;
[0167]请求标识接收单元502,用于接收管理节点发送的根据数据更新请求生成的请求标识;请求标识是管理节点为每个数据更新请求分配的用于表示更新顺序的标识;
[0168]更新请求执行单元503,用于根据数据更新请求更新对应的数据信息,并在更新后的数据信息中存储对应的请求标识;
[0169]更新请求广播单元504,用于将数据更新请求以及对应的请求标识进行广播,通知系统中其它数据节点根据数据更新请求进行数据信息更新处理,并在更新成功后存储该数据更新请求对应的请求标识;
[0170]更新信息处理单元505,用于在接收到系统中其它数据节点发送的更新请求响应信息后,向客户端发送数据更新请求成功的信息。
[0171]其中,更新请求处理单元501,具体用于:将接收到的更新请求发送至管理节点;接收管理节点发送的根据数据更新请求生成的请求标识;请求标识是管理节点为每个数据更新请求分配的用于表示更新顺序的标识;根据数据更新请求更新对应的数据信息,并在更新后的数据信息中存储对应的请求标识。
[0172]更新请求处理单元501在接收到数据更新请求后,通知其他数据节点该更新请求对应的数据信息进入分布式写锁,即当前不允许其他节点对更新请求对应的数据信息进行任何操作。更新请求处理单元501将更新请求发送至管理节点;管理节点根据数据更新请求分配的请求标识,并将请求标识发送至更新请求对应的数据节点。
[0173]其中管理节点分配的请求标识是表示数据更新请求的更新顺序的标识;如管理节点按照接收到数据更新请求的先后顺序生成序列号;管理节点接收到一个更新请求后,读取当前最大序列号,将当前最大序列号加I作为该更新请求的请求标识,将该请求标识发送至对应的数据节点;并且管理节点存储该请求标识及对应的更新数据请求。或,管理节点按照接收到数据更新请求的时间,生成一个时间标识,将该时间标识作为请求标识;若管理节点在同一时刻收到多个更新请求,则在该多个更新请求对应的时间标识上分别添加一个标识符,以表示同一时刻收到的多个更新请求对应的时间标识的先后顺序;管理节点按照时间标识的先后顺序对时间标识进行存储,并存储该时间标识对应的数据更新请求。
[0174]更新请求执行单元503在接收到该更新请求对应请求标识后,根据更新请求对对应的数据信息进行更新处理;同时,更新请求广播单元504将数据更新请求以及对应的请求标识进行广播,通知系统中其它数据节点根据数据更新请求进行数据信息更新处理,并在更新成功后存储该数据更新请求对应的请求标识。
[0175]系统中的其他数据节点在接收到更新请求以及对应的请求标识后,根据更新请求对对应的数据进行更新处理,并在更新处理成功后,存储该数据更新请求对应的数据标识。系统中的其他数据节点在更新处理成功后向进行广播的数据节点发送更新请求响应信息。其中若其他数据节点根据更新请求进行更新处理发生异常,则异常数据节点不记录该更新请求对应的请求标识。
[0176]更新请求广播单元504还用于:将数据更新请求以及对应的请求标识进行广播后,确定在设定的时长内未反馈更新请求响应信息的数据节点为异常数据节点;将异常数据节点的节点信息发送至管理节点,通知管理节点根据异常数据节点的节点信息将异常数据节点从系统中删除;接收所述管理节点发送的异常数据节点删除完成的信息。其中异常数据节点的节点信息包括异常数据节点的地址或异常数据节点的标识。
[0177]更新信息处理单元505,还用于:确定将数据更新请求以及对应的请求标识进行广播后,确定在设定的时长内未反馈更新请求响应信息的数据节点为异常数据节点;将异常数据节点的节点信息发送至管理节点,通知管理节点根据异常数据节点的节点信息将异常数据节点从系统中删除;异常数据节点的节点信息包括异常数据节点的地址或异常数据节点的标识;接收管理节点发送的异常数据节点删除完成的信息,通知更新信息发送单元向客户端发送数据更新请求成功的信息。
[0178]更新信息处理单元505具体用于:将数据更新请求以及对应的请求标识进行广播后,开始计时,判断在设定的时间长度内系统中的其他数据节点是否都反馈了更新请求响应信息,若全部反馈了更新请求响应信息,则释放分布式写锁,并向发送更新请求的客户端发送更新请求成功的信息;若部分数据节点未反馈更新请求响应信息,则确定未反馈更新请求响应信息的数据节点为异常数据节点。其中异常数据节点不记录该更新请求对应的请求标识。
[0179]更新信息处理单元505,具体用于:确定未反馈更新请求响应信息的异常数据节点的节点信息,并将该异常数据节点的节点信息发送至管理节点,其中异常数据节点的节点信息包括异常数据节点的地址或异常数据节点的标识。管理节点在接收到异常数据节点的节点信息后,根据节点信息确定发生异常的数据节点,将该异常数据节点从系统中删除,并向系统后台发出告警信息,向后台发送发生异常的数据节点的节点信息。
[0180]更新信息处理单元505,具体用于:数据节点在接收到系统中其它数据节点发送的更新请求响应信息,确定系统中存在异常数据节点,将异常数据节点上报至管理节点,并接收到管理节点发送的异常数据节点删除完成的信息,释放分布式写锁,并向发送数据更新请求的客户端发送更新请求成功的信息。
[0181]本发明实施例中,更新请求处理单元501还用于:接收到分布式数据系统中的其他数据节点广播的更新请求及对应的请求标识;更新请求执行单元503还用于:根据广播的更新请求对对应的数据进行更新处理,并在更新成功后存储该更新请求对应的请求标识;更新请求广播单元504还用于:在存储请求标识之后,向所述进行广播的数据节点发送更新请求响应信息。
[0182]如图6所示,为本发明实施例中一种更新数据信息的管理节点,该管理节点包括:
[0183]信息处理单元601,用于接收到数据节点发送的更新请求,为更新请求分配一个用于表示更新顺序的请求标识,将所述请求标识发送至数据节点;
[0184]信息存储单元602,用于按照更新顺序存储更新请求及对应的请求标识。
[0185]其中,信息处理单元601,具体用于:接收到数据节点发送的更新请求时,为更新请求分配一个用于表示更新顺序的请求标识,将请求标识发送至数据节点;信息处理单元601分配的请求标识是表示数据更新请求的更新顺序的标识;如信息处理单元601按照接收到数据更新请求的先后顺序生成序列号;接收到一个更新请求后,读取当前最大序列号,将当前最大序列号加I作为该更新请求的请求标识,将该请求标识发送至对应的数据节点;并且管理节点存储该请求标识及对应的更新数据请求。或,信息处理单元601接收到数据更新请求的时间,生成一个时间标识,将该时间标识作为请求标识;若信息处理单元601在同一时刻收到多个更新请求,则在该多个更新请求对应的时间标识上分别添加一个标识符,以表示同一时刻收到的多个更新请求对应的时间标识的先后顺序;信息处理单元601按照时间标识的先后顺序对时间标识进行存储,并存储该
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1