应用于节点系统的数据处理方法及装置制造方法及图纸

技术编号:21803176 阅读:39 留言:0更新日期:2019-08-07 11:34
本申请实施例提供了一种应用于节点系统的数据处理方法及装置,方法包括:第一节点控制器接收第一节点发送的数据访问请求,确定第一数据不是由第一节点控制器管理;第一节点控制器向与第二节点连接的所有节点中的处理器发送侦听请求;第一节点控制器接收第一目标处理器发送的针对第一数据的侦听响应,第一目标处理器为与第二节点连接的所有节点中的处理器中缓存有第一数据的处理器;第一节点控制器根据侦听响应中第一数据的状态获取第一数据并向第一节点发送第一数据。本方案可以在第二节点控制器出现故障时,通过将业务转移到另一个NC平面的第一节点控制器处理并进行广播侦听,使得系统依然可以正常的进行数据处理而不会宕机。

Data Processing Method and Device Applied to Node System

【技术实现步骤摘要】
应用于节点系统的数据处理方法及装置
本申请涉及电子
,尤其涉及一种应用于节点系统的数据处理方法及装置。
技术介绍
在高性能处理器组建的缓存一致性-非对称存储器访问(CC-NUMA,CacheCoherenceNon-UniformMemoryAccess)系统中,包括多个节点,由于处理器本身的扩展能力有限,所以需要将每个节点中的处理器分成多个,再用节点控制器(NC,NodeController)进行多处理器的扩展,以增加并行处理的处理器个数,提升系统性能。各节点上所有的处理器可以对系统中所有的处理器的内存进行一致性的访问,由于访问本节点内和其他各远端节点内存的时延不同,所以称为CC-NUMA系统。在CC-NUMA系统中,一个节点由若干个处理器构成,跨节点之间由节点控制器进行互联。但是,一个节点控制器处理能力有限,带宽有限。因此,为了缓解带宽压力,经常使用双节点控制器进行跨节点扩展,也即一个节点的两个节点控制器分别与另一个节点的两个节点控制器对应相连,形成两个NC平面,两个NC平面共同分担负载。但是,这里两个平面的负载分担指的仅仅是性能上的负载分担。实际上,两个平面分别处理各自管理范围的业务,并记录对应的目录信息,互相之间没有业务交集。这种方案的问题在于,两个平面相互没有对方的目录信息,因此任意一个节点控制器发生故障导致其对应的平面无法工作时,另一个平面并不能正确处理故障平面的相关业务,从而可能导致整个系统宕机。申请内容本申请实施例提供了一种应用于节点系统的数据处理方法及装置,以期解决任意一个节点控制器发生故障时的系统宕机问题。第一方面,本申请实施例提供了一种应用于节点系统的数据处理方法,节点系统包括多个节点,各节点中均包括两个节点控制器以及至少一个处理器,其中,多个节点包括第一节点和第二节点,第二节点包括第一节点控制器,包括:第一节点控制器接收第一节点发送的数据访问请求,数据访问请求用于请求获取第一数据;第一节点控制器确定第一数据不是由第一节点控制器管理;第一节点控制器向与第二节点连接的所有节点中的处理器发送侦听请求,侦听请求用于指示与第二节点连接的所有节点中的处理器根据侦听请求的类型确定第一数据的状态;第一节点控制器接收第一目标处理器发送的针对第一数据的侦听响应,第一目标处理器为与第二节点连接的所有节点中的处理器中缓存有第一数据的处理器,针对第一数据的侦听响应包括第一数据的状态;第一节点控制器根据侦听响应中第一数据的状态获取第一数据;第一节点控制器向第一节点发送第一数据。在该技术方案中,在第二节点控制器出现故障时,通过将第二节点控制器所在的NC平面处理的业务转移到第一节点控制器所在的另一个NC平面处理并进行广播侦听,使得系统依然可以正常的进行数据处理而不会宕机。在第一方面的第一种可能的实现方式中,第一数据的状态为无效状态,针对第一数据的侦听响应还包括第一数据;则第一节点控制器根据侦听响应中第一数据的无效状态从侦听响应中获取第一数据。在该技术方案中,第一数据的状态为无效状态,侦听响应中包括第一数据,说明系统中的其他节点中有对第一数据进行过更改的,那么第一节点控制器需要将最新的第一数据返回给数据访问请求的请求方即第一节点。在第一方面的第二种可能的实现方式中,第一数据的状态为共享状态,则第一节点控制器根据侦听响应中第一数据的共享状态从第二节点的内存储器中获取第一数据。在该技术方案中,第一数据的状态为共享状态,侦听响应不包括第一数据,说明系统中的其他节点中没有对第一数据进行过更改,因此第一节点控制器只需从内存储器中取出第一数据返回给数据访问请求的请求方即第一节点。结合第一方面或第一方面的第一种至第二种可能的实现方式,在第一方面的第三种可能的实现方式中,侦听请求的类型包括共享侦听请求或独占侦听请求。第二方面,本申请实施例提供了一种应用于节点系统的数据处理方法,节点系统包括多个节点,各节点中均包括两个节点控制器以及至少一个处理器,其中,多个节点包括第二节点,第二节点包括第二节点控制器,包括:第二节点控制器向与第二节点连接的所有节点中的处理器发送独占侦听请求,独占侦听请求用于指示与第二节点连接的所有节点中的处理器根据独占侦听请求的类型确定第二数据的状态为无效状态;第二节点控制器接收第二目标处理器发送的针对第二数据的独占侦听响应,第二目标处理器与第二节点连接的所有节点中的处理器中缓存有第二数据的处理器,针对第二数据的侦听响应包括第二数据的状态为无效状态;第二节点控制器确定第二节点控制器管理的第二数据的数据缓存目录为无效态,第二数据的数据缓存目录为无效态指示与第二节点连接的所有节点中的处理器中的第二数据的状态为无效状态。在该技术方案中,第二节点控制器恢复工作后,发送独占侦听广播,可以将缓存在其他所有节点中的第二数据都进行无效化,仅存在自身的内存储器中的第二数据是有效的,从而恢复对第二数据的控制。在第二方面的第一种可能的实现方式中,独占侦听响应还包括第二数据;则第二节点控制器还向第二节点的内存储器发送第二数据,第二数据用于替换内存储器中原有的第二数据。在该技术方案中,独占侦听响应中包括第二数据,说明系统中的其他节点中有对第二数据进行过更改的,那么第二节点控制器需要将最新的第二数据替换内存储器中的第二数据,以使内存储器中保存的是最新的第二数据结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,多个节点还包括第三节点;第二节点控制器接收第三节点发送的数据访问请求,数据访问请求用于请求获取第二数据;第二节点控制器向与第二节点连接的所有节点中的处理器发送侦听请求,侦听请求用于指示与第二节点连接的所有节点中的处理器根据侦听请求的类型确定第二数据的状态;第二节点控制器接收第三目标处理器发送的针对第二数据的侦听响应,第三目标处理器与第二节点连接的所有节点中的处理器中缓存有第二数据的处理器,针对第二数据的侦听响应包括第二数据的状态;第二节点控制器根据侦听响应中第二数据的状态获取第二数据并向第三节点发送第二数据;第二节点控制器在第二数据的数据缓存目录中记录第二数据的状态。在该技术方案中,在数据缓存目录无效化的同时,第二节点控制器也可以同步地利用广播侦听的方式对数据访问请求进行处理,保证在目录无效化完成之前,系统也可以正常运行。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,第二节点控制器向与第二节点连接的所有节点中的处理器发送侦听请求之前,第二节点控制器还接收内存访问控制器发送的针对第二数据的独占访问请求;则第二节点控制器向第二处理器发送针对第二数据的侦听请求之前,第二节点控制器还确定未接收到内存访问控制器发送的内存扫描结束通知,内存扫描结束通知用于指示第二节点控制器所属节点内存中第二节点控制器管理的所有数据的数据缓存目录均为无效态。在该技术方案中,内存扫描结束通知用于指示第二节点控制器所属节点内存中第二节点控制器管理的所有数据的数据缓存目录均为无效态。也即在数据缓存目录无效化完成之前,还需要以广播侦听的方式对数据访问请求进行处理。当数据缓存目录无效化完成之后,第二节点控制器就可以恢复到出故障前的正常工作状态,只需按照其记录的数据缓存目录进行数据处理,而不需要本文档来自技高网...

【技术保护点】
1.一种应用于节点系统的数据处理方法,其特征在于,所述节点系统包括多个节点,各节点中均包括两个节点控制器以及至少一个处理器,其中,所述多个节点包括第一节点和第二节点,所述第二节点包括第一节点控制器,所述方法包括:所述第一节点控制器接收所述第一节点发送的数据访问请求,所述数据访问请求用于请求获取第一数据;所述第一节点控制器确定所述第一数据不是由所述第一节点控制器管理;所述第一节点控制器向与所述第二节点连接的所有节点中的处理器发送侦听请求,所述侦听请求用于指示所述与所述第二节点连接的所有节点中的处理器根据所述侦听请求的类型确定所述第一数据的状态;所述第一节点控制器接收第一目标处理器发送的针对所述第一数据的侦听响应,所述第一目标处理器为与所述第二节点连接的所有节点中的处理器中缓存有所述第一数据的处理器,所述针对所述第一数据的侦听响应包括所述第一数据的状态;所述第一节点控制器根据所述侦听响应中所述第一数据的状态获取所述第一数据;所述第一节点控制器向所述第一节点发送所述第一数据。

【技术特征摘要】
1.一种应用于节点系统的数据处理方法,其特征在于,所述节点系统包括多个节点,各节点中均包括两个节点控制器以及至少一个处理器,其中,所述多个节点包括第一节点和第二节点,所述第二节点包括第一节点控制器,所述方法包括:所述第一节点控制器接收所述第一节点发送的数据访问请求,所述数据访问请求用于请求获取第一数据;所述第一节点控制器确定所述第一数据不是由所述第一节点控制器管理;所述第一节点控制器向与所述第二节点连接的所有节点中的处理器发送侦听请求,所述侦听请求用于指示所述与所述第二节点连接的所有节点中的处理器根据所述侦听请求的类型确定所述第一数据的状态;所述第一节点控制器接收第一目标处理器发送的针对所述第一数据的侦听响应,所述第一目标处理器为与所述第二节点连接的所有节点中的处理器中缓存有所述第一数据的处理器,所述针对所述第一数据的侦听响应包括所述第一数据的状态;所述第一节点控制器根据所述侦听响应中所述第一数据的状态获取所述第一数据;所述第一节点控制器向所述第一节点发送所述第一数据。2.如权利要求1所述的方法,其特征在于,所述第一数据的状态为无效状态,所述针对所述第一数据的侦听响应还包括所述第一数据;所述第一节点控制器根据所述侦听响应中所述第一数据的状态获取所述第一数据包括:所述第一节点控制器根据所述侦听响应中所述第一数据的所述无效状态从所述侦听响应中获取所述第一数据。3.如权利要求1所述的方法,其特征在于,所述第一数据的状态为共享状态,所述第一节点控制器根据所述侦听响应中所述第一数据的状态获取所述第一数据包括:所述第一节点控制器根据所述侦听响应中所述第一数据的所述共享状态从所述第二节点的内存储器中获取所述第一数据。4.如权利要求1-3任一项所述的方法,其特征在于,所述侦听请求的类型包括共享侦听请求或独占侦听请求。5.一种应用于节点系统的数据处理方法,其特征在于,所述节点系统包括多个节点,各节点中均包括两个节点控制器以及至少一个处理器,其中,所述多个节点包括第二节点,所述第二节点包括第二节点控制器,所述方法包括:所述第二节点控制器向与所述第二节点连接的所有节点中的处理器发送独占侦听请求,所述独占侦听请求用于指示所述与所述第二节点连接的所有节点中的处理器根据所述独占侦听请求的类型确定所述第二数据的状态为无效状态;所述第二节点控制器接收第二目标处理器发送的针对所述第二数据的独占侦听响应,所述第二目标处理器与所述第二节点连接的所有节点中的处理器中缓存有所述第二数据的处理器,所述针对所述第二数据的侦听响应包括所述第二数据的状态为无效状态;所述第二节点控制器确定所述第二节点控制器管理的所述第二数据的数据缓存目录为无效态,所述第二数据的数据缓存目录为无效态指示所述与所述第二节点连接的所有节点中的处理器中的所述第二数据的状态为无效状态。6.如权利要求5所述的方法,其特征在于,所述独占侦听响应还包括所述第二数据;所述方法还包括:所述第二节点控制器向所述第二节点的内存储器发送所述第二数据,所述第二数据用于替换所述内存储器中原有的第二数据。7.如权利要求5或6所述的方法,其特征在于,所述多个节点还包括第三节点;所述方法还包括:所述第二节点控制器接收所述第三节点发送的数据访问请求,所述数据访问请求用于请求获取所述第二数据;所述第二节点控制器向与所述第二节点连接的所有节点中的处理器发送侦听请求,所述侦听请求用于指示所述与所述第二节点连接的所有节点中的处理器根据所述侦听请求的类型确定所述第二数据的状态;所述第二节点控制器接收第三目标处理器发送的针对所述第二数据的侦听响应,所述第三目标处理器与所述第二节点连接的所有节点中的处理器中缓存有所述第二数据的处理器,所述针对所述第二数据的侦听响应包括所述第二数据的状态;所述第二节点控制器根据所述侦听响应中所述第二数据的状态获取所述第二数据并向所述第三节点发送所述第二数据;所述第二节点控制器在所述第二数据的数据缓存目录中记录所述第二数据的状态。8.如权利要求7所述的方法,其特征在于,所述第二节点控制器向与所述第二节点连接的所有节点中的处理器发送侦听请求之前,还包括:所述第二节点控制器接收内存访问控制器发送的所述针对所述第二数据的独占访问请求;所述第二节点控制器向与所述第二节点连接的所有节点中的处理器发送侦听请求之前,还包括:所述第二节点控制器确定未接收到所述内存...

【专利技术属性】
技术研发人员:程永波贺成洪兰可嘉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1