CN110580202A - 服务器系统内消息的处理方法、装置及系统 - Google Patents
服务器系统内消息的处理方法、装置及系统 Download PDFInfo
- Publication number
- CN110580202A CN110580202A CN201910481358.3A CN201910481358A CN110580202A CN 110580202 A CN110580202 A CN 110580202A CN 201910481358 A CN201910481358 A CN 201910481358A CN 110580202 A CN110580202 A CN 110580202A
- Authority
- CN
- China
- Prior art keywords
- message
- server system
- information
- storage area
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000004044 response Effects 0.000 claims description 88
- 230000005540 biological transmission Effects 0.000 claims description 54
- 230000001276 controlling effect Effects 0.000 claims description 16
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000003672 processing method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开一种服务器系统内消息的处理方法、装置及系统,其中,所述方法包括:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。采用本申请所述的服务器系统内消息的处理方法,可以根据服务器系统内接收设备端的空间状态,对服务器系统内设备之间发送的消息进行准确的控制,防止服务器系统内设备之间发生拥塞,从而提高了服务器系统的运算效率。
Description
技术领域
本申请涉及服务器系统内消息传输控制领域,具体涉及一种服务器系统内消息的处理方法。另外还涉及一种服务器系统内消息的处理的装置及系统。
背景技术
服务器,又称伺服器,是一种提供计算服务的计算设备,由处理器、内存、系统总线、硬盘以及处理器等设备构成。由于服务器内部设备之间和不同服务器之间都需要不断响应服务请求消息,并进行处理,因此,提高服务器内部设备之间和不同服务器之间数据处理的运行效率,防止设备之间的消息发生拥塞,成为本领域技术人员共同追求的技术目标。
为了解决上述问题,现有技术中通常采用点对点Credit流控的反压机制对服务器系统内部设备之间或者不同服务器系统之间通过系统总线传输的消息进行控制。但是,随着网络技术的快速发展,需要服务器系统响应并进行处理的请求消息越来越多,上述现有技术的实现方式通常不够精确,无法有效解决服务器系统内部设备之间或者不同服务器系统之间的消息拥塞问题。导致服务器系统内各个设备或者不同服务器系统之间对系统总线的争用问题越发凸显,形成的拥塞严重影响了服务器系统的数据处理的运行效率。造成的拥塞一方面导致消息的无序带宽竞争,另一方面拥塞反压至所有与拥塞设备通信的设备,造成服务器严重性能下降。
发明内容
本申请提供一种服务器系统内消息的处理方法,以解决现有技术中存在的无法有效解决服务器系统内部的消息拥塞导致的数据处理效率低下的问题。本申请另外提供一种服务器系统内消息的处理的装置及系统。
本申请提供的服务器系统内消息的处理方法,包括:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
可选的,所述服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,包括:所述第二设备向所述第一设备发送针对所述第一设备的第一消息存储区的当前空间信息的请求消息;所述第二设备获得所述第一设备针对所述请求消息返回的携带有所述第一设备的第一消息存储区的当前空间信息的响应消息;从所述响应消息中获得所述第一设备的第一消息存储区的当前空间信息。
可选的,所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制,包括:在所述第二设备向所述第一设备发送所述第一消息之前,将所述第一消息需要占用的空间信息与所述当前空间信息进行比对,若所述当前空间信息满足所述第一消息需要占用的空间大小,则向所述第一设备端发送所述第一消息,若所述当前空间信息不满足所述第一消息需要占用的空间大小,则停止向所述第一设备端发送所述第一消息。
可选的,所述服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,包括:所述第二设备获得所述第一设备返回的携带有所述第一设备的第一消息存储区的Credit值的响应消息;其中,所述Credit值为所述第一设备的第一消息存储区包含的流量控制基本单元的信任值;从所述响应消息中读取Credit值;根据所述Credit值确定所述第一设备的第一消息存储区的当前空间信息。
可选的,所述的服务器系统内消息的处理方法还包括:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的指示Credit值;所述第二设备根据所述指示Credit值对所述第一消息的发送进行控制。
可选的,所述的服务器系统内消息的处理方法,还包括:当所述指示Credit值为设置的初始Credit值,则启动对所述第一消息的发送进行控制;当所述指示Credit值为设置的目标Credit值,则取消对所述第一消息的发送进行控制。
相应的,本申请还提供一种服务器系统内消息的处理方法,包括:获得服务器系统内的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述服务器系统内的第二设备向所述第一设备发出的第一消息;向所述第二设备发送携带有所述当前空间信息的响应信息,所述响应信息用于触发所述第二设备对所述第一消息的发送进行控制。
可选的,所述的服务器系统内消息的处理方法,所述向所述第二设备发送携带有所述当前空间信息的响应信息,包括:所述第一设备获得所述第二设备发出的获取所述第一设备的第一消息存储区的当前空间信息的请求消息;所述第一设备针对所述请求消息向所述第二设备返回携带有所述第一设备的第一消息存储区的当前空间信息的响应消息。
可选的,所述的服务器系统内消息的处理方法还包括:对所述当前空间信息进行量化,获得针对所述当前空间信息的Credit值,其中,Credit值用于表示所述第一设备的第一消息存储区的当前剩余空间大小。
可选的,所述的服务器系统内消息的处理方法,还包括:向所述第二设备发送携带有初始Credit值的响应信息;其中,所述携带有初始Credit值的响应信息用于启动对所述第一消息的发送进行控制;向所述第二设备发送携带有目标Credit值的响应信息;其中,所述携带有目标Credit值的响应信息用于取消对所述第一消息的发送进行控制。
相应的,本申请还提供一种服务器系统内消息的处理方法,包括:获得服务器系统内第一设备的第一消息存储区的空间信息,所述第一消息存储区用于缓存所述第一设备从所述服务器系统内的第二设备接收的第一消息;根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息;其中,所述第二消息为所述第一设备向所述第二设备发送的消息,所述第一消息是所述第二设备针对所述第二消息的响应消息。
可选的,所述根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息,包括:根据所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述剩余空间信息与所述限速信息成负相关。
可选的,所述的服务器系统内消息的处理方法,还包括:获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;所述根据所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息,具体包括:根据所述传输线路中所述第一消息需要占用的空间大小和所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
可选的,所述的服务器系统内消息的处理方法,还包括:获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;根据所述传输线路中所述第一消息需要占用的空间大小,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
可选的,所述获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据,包括:获得所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据;根据所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据的差值,获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据。
可选的,所述的服务器系统内消息的处理方法,还包括:获得所述第一消息存储区的剩余空间信息;若所述剩余空间信息小于或等于设置的空间信息阈值,则利用所述当前空间信息确定的限速信息控制所述第一设备向所述第二设备发送第二消息的速度。
相应的,本申请还提供一种服务器系统内消息的处理装置,包括:当前空间信息获得单元和第一控制单元;所述当前空间信息获得单元,用于服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第一控制单元,用于所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
可选的,所述当前空间信息获得单元具体用于:所述第二设备向所述第一设备发送针对所述第一设备的第一消息存储区的当前空间信息的请求消息;所述第二设备获得所述第一设备针对所述请求消息返回的携带有所述第一设备的第一消息存储区的当前空间信息的响应消息;从所述响应消息中获得所述第一设备的第一消息存储区的当前空间信息。
可选的,所述第一控制单元具体用于:在所述第二设备向所述第一设备发送所述第一消息之前,将所述第一消息需要占用的空间信息与所述当前空间信息进行比对,若所述当前空间信息满足所述第一消息需要占用的空间大小,则向所述第一设备端发送所述第一消息,若所述当前空间信息不满足所述第一消息需要占用的空间大小,则停止向所述第一设备端发送所述第一消息。
可选的,所述当前空间信息获得单元具体用于:所述第二设备获得所述第一设备返回的携带有所述第一设备的第一消息存储区的Credit值的响应消息;其中,所述Credit值为所述第一设备的第一消息存储区包含的流量控制基本单元的信任值;从所述响应消息中读取Credit值;根据所述Credit值确定所述第一设备的第一消息存储区的当前空间信息。
可选的,所述的服务器系统内消息的处理装置,还包括:指示Credit值获得单元和第二控单元;所述指示Credit值获得单元,用于服务器系统内的第二设备获得所述服务器系统内的第一设备提供的指示Credit值;所述第二控单元,用于所述第二设备根据所述指示Credit值对所述第一消息的发送进行控制。
可选的,所述第二控单元具体用于:当所述指示Credit值为设置的初始Credit值,则启动对所述第一消息的发送进行控制;当所述指示Credit值为设置的目标Credit值,则取消对所述第一消息的发送进行控制。
相应的,本申请还提供一种服务器系统内消息的处理装置,包括:当前空间信息获得单元和响应信息发送单元;所述当前空间信息获得单元,用于获得服务器系统内的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述服务器系统内的第二设备向所述第一设备发出的第一消息;所述响应信息发送单元,用于向所述第二设备发送携带有所述当前空间信息的响应信息,所述响应信息用于触发所述第二设备对所述第一消息的发送进行控制。
可选的,所述响应信息发送单元具体用于:所述第一设备获得所述第二设备发出的获取所述第一设备的第一消息存储区的当前空间信息的请求消息;所述第一设备针对所述请求消息向所述第二设备返回携带有所述第一设备的第一消息存储区的当前空间信息的响应消息。
可选的,所述的服务器系统内消息的处理装置,还包括:空间信息量化单元;所述空间信息量化单元,用于对所述当前空间信息进行量化,获得针对所述当前空间信息的Credit值,其中,Credit值用于表示所述第一设备的第一消息存储区的当前剩余空间大小。
可选的,所述的服务器系统内消息的处理装置,还包括:第一响应信息发送单元和第二响应信息发送单元;所述第一响应信息发送单元,用于向所述第二设备发送携带有初始Credit值的响应信息;其中,所述携带有初始Credit值的响应信息用于启动对所述第一消息的发送进行控制;所述第二响应信息发送单,用于向所述第二设备发送携带有目标Credit值的响应信息;其中,所述携带有目标Credit值的响应信息用于取消对所述第一消息的发送进行控制。
相应的,本申请还提供一种服务器系统内消息的处理装置,包括:空间信息获得单元和限速信息获得单元;所述空间信息获得单元,用于获得服务器系统内第一设备的第一消息存储区的空间信息,所述第一消息存储区用于缓存所述第一设备从所述服务器系统内的第二设备接收的第一消息;所述限速信息获得单元,用于根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息;其中,所述第二消息为所述第一设备向所述第二设备发送的消息,所述第一消息是所述第二设备针对所述第二消息的响应消息。
可选的,所述限速信息获得单元具体用于:根据所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述剩余空间信息与所述限速信息成负相关。
可选的,所述的服务器系统内消息的处理装置,还包括:空间信息量化单元和空间信息大小确定单元;所述空间信息量化单元,用于获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;所述空间信息大小确定单元,用于根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;所述限速信息获得单元具体用于:根据所述传输线路中所述第一消息需要占用的空间大小和所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
可选的,所述的服务器系统内消息的处理装置,还包括:空间信息量化单元和空间信息大小确定单元;所述空间信息量化单元,用于获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;所述空间信息大小确定单元,用于根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;所述限速信息获得单元,用于根据所述传输线路中所述第一消息需要占用的空间大小,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
可选的,所述空间信息量化单元具体用于:获得所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据;根据所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据的差值,获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据。
可选的,所述的服务器系统内消息的处理装置,还包括:获得所述第一消息存储区的剩余空间信息;若所述剩余空间信息小于或等于设置的空间信息阈值,则利用所述当前空间信息确定的限速信息控制所述第一设备向所述第二设备发送第二消息的速度。
相应的,本申请还提供一种服务器系统内消息的处理系统,包括:上述所述的服务器系统内消息的处理装置。
相应的,本申请还提供一种电子设备,包括:处理器和存储器;存储器用于存储服务器系统内消息的处理方法的程序,该设备通电并通过所述处理器运行该服务器系统内消息的处理方法的程序后,执行下述步骤:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
相应的,本申请还提供一种存储设备,存储有服务器系统内消息的处理方法的程序,该程序被处理器运行,执行下述步骤:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
与现有技术相比,本申请具有以下优点:
采用本申请提供的服务器系统内消息的处理方法,可以根据服务器系统内消息接收设备端的空间状态,对服务器系统内设备之间发送的消息进行准确的控制,防止服务器系统内设备之间发生消息拥塞,从而提高了服务器系统的数据处理效率。
附图说明
图1为本发明实施例提供的一种服务器系统内消息的处理方法的流程图;
图2为本发明实施例提供的一种服务器系统内消息的处理装置的示意图;
图3为本发明实施例提供的一种电子设备的示意图;
图4为本发明实施例提供的一种服务器系统内消息拥塞的示意图;
图5a为本发明实施例提供的一种服务器系统内CPL(Completion)消息的处理方法应用前的流程图;
图5b为本发明实施例提供的一种服务器系统内CPL(Completion)消息的处理方法应用中的流程图;
图5c为本发明实施例提供的一种服务器系统内CPL(Completion)消息的处理方法的流程图;
图6a为本发明实施例提供的一种服务器系统内Post消息的处理方法应用前的第一阶段的流程图;
图6b为本发明实施例提供的一种服务器系统内Post消息的处理方法应用中的第二阶段的流程图;
图6c为本发明实施例提供的一种服务器系统内Post消息的处理方法应用中的第三阶段的流程图;
图6d为本发明实施例提供的一种服务器系统内Post消息的处理方法应用中的第四阶段的流程图;
图7为本发明实施例提供的一种服务器系统内Post消息接收端的处理方法的示意图;
图8为本发明实施例提供的一种服务器系统内Post消息发送端的处理方法的示意图;
图9为本发明实施例提供的一种服务器系统内的设备系统总线接口装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此,本发明不受下面公开的具体实施例的限制。
下面基于本发明提供的服务器系统内消息的处理方法,对其实施例进行详细描述。请参考图1所示,其为本发明实施例提供的一种服务器系统内消息的处理方法的流程图。
本发明所述的实施例可以基于传统的服务器、服务器集群或者云服务器实现,具体实现过程包括以下步骤:
步骤S101:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息。
在本发明实施例中,所述的服务器系统可以是传统的服务器系统、服务器集群系统或云服务器系统,很多时候也可以是其他用于提供计算服务的计算设备系统。
所述的第一设备可以是指服务器系统内接收第一消息的接收设备端,相应的,所述的第二设备可以是指服务器系统内发送第一消息的发送设备端。所述的第一消息可以是指服务器系统内的接收设备端读取发送设备端的数据时获得的返回消息(例如:CPL:Completion消息等),也可以是指服务器系统内的发送设备端写往接收设备端且不需要接收设备端返回确认通知的Post消息(例如:Post Write消息等)。需要说明的是,在本发明实施例中,所述的第一设备可以是指至少一个接收设备,各个接收设备都可以接收第二设备发出的第一消息。在所述第二设备可以针对上述各个接收设备分别记录其提供的内部第一消息存储区的当前空间信息。并且所述记录的所述当前空间信息可以根据各个接收设备返回的响应信息携带的Credit值进行实时的更新。其中,所述的第一消息存储区可以是指第一消息缓存区。
如图4所述,其为本发明实施例提供的一种服务器系统内消息拥塞的示意图。计算设备1读内存获得的返回消息(CPL:completion消息),与网卡2写往计算设备1的Post消息(Post Write消息)在服务器系统内设备间进行传输过程中容易发生碰撞,造成的拥塞导致消息之间的无序带宽竞争。
需要说明的是,图4中的计算设备1和计算设备2可以是指服务器系统内提供计算能力的处理器等;所述的存储设备1可以是指服务器系统内用于存储信息的硬盘等;所述的系统总线1可以是指连接服务器系统内部主要组件的计算机总线,主要包括:数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)等。另外,图4中的计算设备3可以是指中央处理器(CPU,Central Processing Unit)内部提供计算能力的运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)等;所述的存储设备2可以是指用于缓存信息的高速缓冲存储器(Cache);所述的系统总线2可以是指连接实现所述计算设备3和所述存储设备2之间联系的数据(Data)、控制及状态的总线(Bus)。
此外,所述的第一消息也可以是Non-Post消息、Post Credit请求消息等,相应的,所述第一消息存储区用于缓存第二设备向第一设备发送的第一消息,其可以是指多个接收存储区队列,例如:由用于缓存Post消息的Post消息接收存储区队列、用于缓存Non-Post消息的Non-Post消息接收存储区队列、用于缓存CPL消息的CPL消息接收存储区队列以及用于缓存Post Credit请求消息的Post Credit请求消息接收存储区队列等组成的消息存储区。
如图8所示,其为本发明实施例提供的一种服务器系统内Post消息发送端的处理方法的示意图。
在具体的实施过程中,所述的服务器系统内的第二设备获得服务器系统内的第一设备提供的第一设备的第一消息存储区的当前空间信息,具体可以通过如下方式实现:
1)第二设备向第一设备发送针对第一设备的第一消息存储区的当前空间信息的请求消息。
2)第二设备获得第一设备针对请求消息返回的携带有所述第一设备的第一消息存储区的当前空间信息的响应消息。
3)从响应消息中获得第一设备的第一消息存储区的当前空间信息。
以Post消息为例进行说明,当Post消息发送设备端(第二设备)向Post消息接收设备端(第一设备)发送针对第一设备的第一消息存储区的当前空间信息的请求消息。当Post消息发送设备端(第二设备)获得Post消息接收设备端(第一设备)针对所述请求信息返回的包含Credit值的响应信息。其中,Credit值为用于缓存Post消息的Post消息接收存储区队列对应流控基本单元的信任值,所述Credit值可以基于用于缓存Post消息的Post消息接收存储区队列对应流控基本单元的数量和预先设置的流控基本单元的字节数进行计算获得。从所述响应消息中读取Credit值,根据Credit值确定Post消息接收设备端(第一设备)的Post消息接收存储区(第一消息存储区)的当前空间信息。
步骤S102:所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
上述步骤S101获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息。为本步骤针对所述服务器系统内第一消息的发送进行控制做了数据准备工作。在步骤S102中,可以根据服务器系统内设备消息接收端的空间状态,对服务器系统内设备之间发送的消息进行有效的控制,防止服务器系统内设备之间发生消息拥塞。
在本发明实施例中,所述的第二设备根据当前空间信息针对第一消息的发送进行控制,具体可以通过如下方式实现:
第二设备记录第一设备中第一消息存储区的当前空间信息后,判断所述当前空间信息是否达到预先设置的空间信息阈值,若是,则触发本发明提供的拥塞控制机制,即:根据当前空间信息针对第一消息的发送进行控制。
所述根据当前空间信息针对第一消息的发送进行控制,具体包括:在第二设备向第一设备发送第一消息之前,将第一消息需要占用的空间信息与当前空间信息进行比对,若当前空间信息满足第一消息需要占用的空间大小,则向第一设备端发送第一消息,若当前空间信息不满足第一消息需要占用的空间大小,则停止向第一设备端发送第一消息。
若服务器系统内的第二设备获得服务器系统内的第一设备返回的响应信息中包含指示Credit值,则根据指示Credit值对第一消息的发送进行控制。
所述根据指示Credit值对第一消息的发送进行控制,具体包括:当指示Credit值为设置的初始Credit值,则启动对第一消息的发送进行控制,当指示Credit值为设置的目标Credit值,则取消对第一消息的发送进行控制。
以Post消息为例进行说明,如图6a-6d所示,其为本发明实施例提供的一种服务器系统内Post消息的处理方法的各个应用阶段的流程图。
在本发明所述的实施例中,设备A(接收设备)可以是指本发明所述的第一设备,设备B(发送设备)可以是指本发明所述的第二设备,Post消息可以是指本发明所述的第一消息。其中,所述设备A可以为多个接收设备,各个接收设备都为接收设备B发出的Post消息的设备。在设备B可以针对上述多个接收设备分别记录一个Post远端Credit值,通过所述Post远端Credit值获得各个接收设备的当前空间信息,根据获得的当前空间信息对设备B发出的Post消息进行控制。需要说明的是,该Post远端Credit值可以根据设备A返回的响应消息携带的Credit值更新,当Post远端Credit值满足Post消息长度时,Post消息才可以被发送至设备A。
在具体实施过程中,可以将本发明所述的实施例分为四个阶段:
第一阶段为Post消息拥塞控制关闭阶段,此时不需要设备B(Post消息发送设备端)根据设备A(Post消息接收设备端)的当前空间信息对Post消息(第一消息)的发送进行控制。设备B可以直接向设备A发送所述Post消息。
第二阶段为Post消息拥塞控制激活阶段,此时,判断设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息是否达到预设的空间信息阈值,若是,则设备A向设备B发送携带有指示Credit值的响应消息。所述的指示Credit值为设置的初始Credit值,使得设备B可以根据初始Credit值对第一消息(Post消息)的发送进行控制。需要说明的是,所述的初始Credit值可以是指用于触发对第一消息的发送进行控制开启的控制指令字符串,也可以只是表示当前剩余空间信息的其他指令信息。
第三阶段为Post消息拥塞控制开启阶段,此时,设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息已达到或超过预设的空间信息阈值,需要设备B在此期间内向设备A发送针对设备A的第一消息存储区的当前空间信息的请求消息,由设备A向设备B发送返回携带有指示Credit值的响应消息。根据响应信息中的Credit值,判定是否继续向所述设备A发送Post消息。
第四阶段为Post消息拥塞控制取消阶段,此时,判断设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息是否低于预设的空间信息阈值,若是,则设备A向设备B发送携带有指示Credit值的响应消息。所述的指示Credit值为设置的目标Credit值,使得设备B可以根据目标Credit值对Post消息(第一消息)的发送进行取消控制。需要说明的是,所述的初始Credit值可以是指用于触发对Post消息的发送进行控制取消的控制指令字符串,也可以只是表示当前剩余空间信息的指令信息。采用本申请提供的服务器系统内消息的处理方法,可以根据服务器系统内设备消息接收端的空间状态,对服务器系统内设备之间发送的消息进行准确的控制,防止服务器系统内设备之间发生消息拥塞,从而提高了服务器系统的运算效率。
上述服务器系统内消息的处理方法的执行主体是基于第一消息的发送设备端展开的,与上述提供的服务器系统内消息的处理方法相对应,本发明还提供一种基于第一消息的接收设备端展开的服务器系统内消息的处理方法。由于该第一消息的接收设备端的服务器系统内消息的处理方法的实施例相似于上述第一消息的发送设备端的服务器系统内消息的处理方法的实施例,所以描述的比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的服务器系统内消息的处理方法的实施例仅是示意性的。请参考图7所示,其为本发明实施例提供的一种服务器系统内Post消息接收端的处理方法的示意图。
本发明实施例所述的服务器系统内消息的处理方法包括如下步骤:
步骤S201:获得服务器系统内的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述服务器系统内的第二设备向所述第一设备发出的第一消息。
步骤S202:向所述第二设备发送携带有所述当前空间信息的响应信息,所述响应信息用于触发所述第二设备对所述第一消息的发送进行控制。
在本发明所述的实施例中,所述的向第二设备发送携带有当前空间信息的响应信息,具体可以通过如下方式实现:
第一设备获得第二设备发出的获取第一设备的第一消息存储区的当前空间信息的请求消息。第一设备针对请求消息向第二设备返回携带有第一设备的第一消息存储区的当前空间信息的响应消息。
在具体实施过程中,还可以对当前空间信息进行量化,获得针对当前空间信息的Credit值,其中,Credit值用于表示第一设备的第一消息存储区的当前剩余空间大小。
此外,还可以向第二设备发送携带有初始Credit值或目标Credit值的响应信息;其中,携带有初始Credit值的响应信息用于启动对所述第一消息的发送进行控制,携带有目标Credit值的响应信息用于取消对所述第一消息的发送进行控制。
上述两种服务器系统内消息的处理方法针对第一消息可以是CPL消息也可以是Post消息,与上述提供的服务器系统内消息的处理方法相对应,本发明还提供另一种针对CPL消息服务器系统内消息的处理方法。请参考图5a和5b所示,其分别为本发明实施例提供的一种服务器系统内CPL(Completion)消息的处理方法应用前和应用中的流程图。
步骤S301:获得服务器系统内第一设备的第一消息存储区的空间信息,所述第一消息存储区用于缓存所述第一设备从所述服务器系统内的第二设备接收的第一消息。
步骤S302:根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息;其中,所述第二消息为所述第一设备向所述第二设备发送的消息,所述第一消息是所述第二设备针对所述第二消息的响应消息。
在本发明所述的实施例中,所述的根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息,具体可以通过如下方式实现:根据第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,剩余空间信息与所述限速信息成负相关。
在具体实施过程中,还可以获得第一设备和所述第二设备之间的传输线路中第一消息的量化数据,根据传输线路中第一消息的量化数据,确定传输线路中所述第一消息需要占用的空间大小。相应的,根据第一消息存储区的剩余空间信息,获得针对第二消息的限速信息,具体包括:根据传输线路中第一消息需要占用的空间大小和第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,传输线路中所述第一消息需要占用的空间大小与限速信息成负相关。
需要说明的是,所述的获得第一设备和第二设备之间的传输线路中第一消息的量化数据,具体可以通过如下方式实现:获得第一设备发出的第二消息的量化数据和第一设备接收的第一消息的量化数据;根据第一设备发出的第二消息的量化数据和第一设备接收的第一消息的量化数据的差值,获得第一设备和第二设备之间的传输线路中第一消息的量化数据。
如图9所示,其为本发明实施例提供的一种服务器系统内的设备系统总线接口装置的示意图。
所述的设备系统总线接口装置可以安装在第一设备、第二设备与系统总线之间的接口处,用于控制第一设备内部功能模块与系统总线之间、第二设备内部功能模块与系统总线之间、第一设备内部功能模块与系统总线以及第二设备内部功能模块之间进行消息交互传输。
所述控制消息交互传输的步骤包括:
步骤一:服务器系统内的第二设备获得服务器系统内的第一设备提供的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向第一设备发送的第一消息。
步骤二:第二设备根据当前空间信息针对第一消息的发送进行控制。
在具体实施过程中,所述的设备系统总线接口装置可以包括:系统控制器、发送模块和接收模块。其中,发送模块可以包括CPL消息发送队列903、Post消息发送队列904、Non-post消息发送队列905、Post远端Credit管理模块906、输出调度器901和流量分配调度器902等。接收模块可以包括CPL消息接收存储区907、Post消息接收存储区908、Non-post消息接收存储区909、Post Credit请求消息接收存储区910、Post Credit响应消息接收存储区911以及Post本地Credit管理模块912等。
所述系统控制器用于控制第一设备内部功能模块、第二设备内部功能模块与系统总线的进行消息交互传输,例如:PCIE接口控制器、CCIX接口控制器、GenZ接口控制器等。
发送模块可以用于缓存第一设备或第二设备内部功能模块的发出消息,并执行本发明提供的服务器系统内消息的处理方法,控制消息的发送。CPL消息发送队列、Post消息发送队列和Non-post消息发送队列分别用于缓存来自第一设备内部功能模块的CPL消息、Post消息和Non-post消息。
Post远端Credit管理模块用于根据接收模块获得的携带有Credit值的响应消息、输出调度器发送Post消息情况并计算Post远端Credit值,将Post远端Credit值输出给输出调度器。
流量分配调度器可以用于执行本发明提供的服务器系统内消息的处理方法,控制Non-post消息发送队列处理速度,针对第二设备的请求消息返回根据Post本地Credit模块提供的携带有Credit值的响应消息。
输出调度器用于执行本发明提供的服务器系统内消息的处理方法,在发送方Post消息拥塞控制开启阶段产生请求消息,控制Post消息的发送速度。同时实现CPL消息、Post消息、Non-post消息、响应消息、请求消息的输出仲裁。
Post Credit请求接收存储区用于接收发送设备的Post Credit请求,然后传递给发送模块的流量分配调度器,由流量分配调度器去产生携带有Credit值的响应消息。
Post接收存储区用于接收发送设备的Post消息,并转发至第一设备内部功能模块。将第一设备Post接收存储区状态提供给Post本地Credit管理模块,以生成Credit值。
CPL消息接收存储区用于接收第二设备的CPL消息,并转发至第一设备内部功能模块;将CPL消息接收存储区状态提供给流量分配调度器,作为进行CPL消息进行控制的判断依据。
Non-post消息接收存储区用于接收第二设备的CPL消息,并转发至第一设备内部功能模块。
Post Credit响应接收存储区用于接收第一设备的响应消息,将其中Credit值提取后传给Post远端Credit管理模块,供其计算Post远端Credit值。
Post本地Credit模块用于根据Post消息接收存储区的状态、系统总线峰值带宽计算可以分配给发送设备的Credit总量,并将该Credit总量提供给流量分配调度器,由流量分配调度器决定如何将Credit总量分配给各个响应消息。
与上述提供的服务器系统内消息的处理方法相对应,本发明还提供一种服务器系统内消息的处理装置。由于该装置的实施例相似于上述方法实施例,所以描述的比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的服务器系统内消息的处理装置的实施例仅是示意性的。请参考图2所示,其为本发明实施例提供的一种服务器系统内消息的处理装置的示意图。
本发明实施例所述的服务器系统内消息的处理装置包括如下部分:
当前空间信息获得单元201,用于服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息。
在本发明实施例中,所述的服务器系统可以是传统的服务器系统、服务器集群系统或云服务器系统,很多时候也可以是其他用于提供计算服务的计算设备系统。
所述的第一设备可以是指服务器系统内接收第一消息的接收设备端,相应的,所述的第二设备可以是指服务器系统内发送第一消息的发送设备端。所述的第一消息可以是指服务器系统内的接收设备端读取发送设备端的数据时获得的返回消息(例如:CPL:Completion消息等),也可以是指服务器系统内的发送设备端写往接收设备端且不需要接收设备端返回确认通知的Post消息(例如:Post Write消息等)。需要说明的是,在本发明实施例中,所述的第一设备可以是指至少一个接收设备,各个接收设备都可以接收第二设备发出的第一消息。在所述第二设备可以针对上述各个接收设备分别记录其提供的内部第一消息存储区的当前空间信息。并且所述记录的所述当前空间信息可以根据各个接收设备返回的响应信息携带的Credit值进行实时的更新。
如图4所述,其为本发明实施例提供的一种服务器系统内消息拥塞的示意图。计算设备1读内存获得的返回消息(CPL:completion消息),与网卡2写往计算设备1的Post消息(Post Write消息)在服务器系统内设备间进行传输过程中容易发生碰撞,造成的拥塞导致消息之间的无序带宽竞争。需要说明的是,图4中的计算设备1和计算设备2可以是指服务器系统内提供计算能力的处理器等;所述的存储设备1可以是指服务器系统内用于存储信息的硬盘等;所述的系统总线1可以是指连接服务器系统内部主要组件的计算机总线,主要包括:数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)等。另外,图4中的计算设备3可以是指中央处理器(CPU,Central Processing Unit)内部提供计算能力的运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)等;所述的存储设备2可以是指用于缓存信息的高速缓冲存储器(Cache);所述的系统总线2可以是指连接实现所述计算设备3和所述存储设备2之间联系的数据(Data)、控制及状态的总线(Bus)。
此外,所述的第一消息也可以是Non-Post消息、Post Credit请求消息等,相应的,所述第一消息存储区用于缓存第二设备向第一设备发送的第一消息,其可以是指多个接收存储区队列,例如:由用于缓存Post消息的Post消息接收存储区队列、用于缓存Non-Post消息的Non-Post消息接收存储区队列、用于缓存CPL消息的CPL消息接收存储区队列以及用于缓存Post Credit请求消息的Post Credit请求消息接收存储区队列等组成的消息存储区。
如图8所示,其为本发明实施例提供的一种服务器系统内Post消息发送端的处理方法的示意图。
在具体的实施过程中,所述的服务器系统内的第二设备获得服务器系统内的第一设备提供的第一设备的第一消息存储区的当前空间信息,具体可以通过如下方式实现:
1)第二设备向第一设备发送针对第一设备的第一消息存储区的当前空间信息的请求消息。
2)第二设备获得第一设备针对请求消息返回的携带有所述第一设备的第一消息存储区的当前空间信息的响应消息。
3)从响应消息中获得第一设备的第一消息存储区的当前空间信息。
以Post消息为例进行说明,当Post消息发送设备端(第二设备)向Post消息接收设备端(第一设备)发送针对第一设备的第一消息存储区的当前空间信息的请求消息。当Post消息发送设备端(第二设备)获得Post消息接收设备端(第一设备)针对所述请求信息返回的包含Credit值的响应信息。其中,Credit值为用于缓存Post消息的Post消息接收存储区队列对应流控基本单元的信任值,所述Credit值可以基于用于缓存Post消息的Post消息接收存储区队列对应流控基本单元的数量和预先设置的流控基本单元的字节数进行计算获得。从所述响应消息中读取Credit值,根据Credit值确定Post消息接收设备端(第一设备)的Post消息接收存储区(第一消息存储区)的当前空间信息。
第一控制单元202,用于所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
上述当前空间信息获得单元201获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息。为第一控制单元202对所述服务器系统内第一消息的发送进行控制做了数据准备工作。在第一控制单元202中,可以根据服务器系统内设备消息接收端的空间状态,对服务器系统内设备之间发送的消息进行有效的控制,防止服务器系统内设备之间发生消息拥塞。
在本发明实施例中,所述的第二设备根据当前空间信息针对第一消息的发送进行控制,具体可以通过如下方式实现:
第二设备记录第一设备中第一消息存储区的当前空间信息后,判断所述当前空间信息是否达到预先设置的空间信息阈值,若是,则触发本发明提供的拥塞控制机制,即:根据当前空间信息针对第一消息的发送进行控制。
所述根据当前空间信息针对第一消息的发送进行控制,具体包括:在第二设备向第一设备发送第一消息之前,将第一消息需要占用的空间信息与当前空间信息进行比对,若当前空间信息满足第一消息需要占用的空间大小,则向第一设备端发送第一消息,若当前空间信息不满足第一消息需要占用的空间大小,则停止向第一设备端发送第一消息。
若服务器系统内的第二设备获得服务器系统内的第一设备返回的响应信息中包含指示Credit值,则根据指示Credit值对第一消息的发送进行控制。
所述根据指示Credit值对第一消息的发送进行控制,具体包括:当指示Credit值为设置的初始Credit值,则启动对第一消息的发送进行控制,当指示Credit值为设置的目标Credit值,则取消对第一消息的发送进行控制。
以Post消息为例进行说明,如图6所示,其为本发明实施例提供的一种服务器系统内Post消息的处理方法的流程图。
在本发明所述的实施例中,设备A(接收设备)可以是指本发明所述的第一设备,设备B(发送设备)可以是指本发明所述的第二设备,Post消息可以是指本发明所述的第一消息。其中,所述设备A可以为多个接收设备,各个接收设备都为接收设备B发出的Post消息的设备。在设备B可以针对上述多个接收设备分别记录一个Post远端Credit值,通过所述Post远端Credit值获得各个接收设备的当前空间信息,根据获得的当前空间信息对设备B发出的Post消息进行控制。需要说明的是,该Post远端Credit值可以根据设备A返回的响应消息携带的Credit值更新,当Post远端Credit值满足Post消息长度时,Post消息才可以被发送至设备A。
在具体实施过程中,可以将本发明所述的实施例分为四个阶段:
第一阶段为Post消息拥塞控制关闭阶段,此时不需要设备B(Post消息发送设备端)根据设备A(Post消息接收设备端)的当前空间信息对Post消息(第一消息)的发送进行控制。设备B可以直接向设备A发送所述Post消息。
第二阶段为Post消息拥塞控制激活阶段,此时,判断设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息是否达到预设的空间信息阈值,若是,则设备A向设备B发送携带有指示Credit值的响应消息。所述的指示Credit值为设置的初始Credit值,使得设备B可以根据初始Credit值对第一消息(Post消息)的发送进行控制。需要说明的是,所述的初始Credit值可以是指用于触发对第一消息的发送进行控制开启的控制指令字符串,也可以只是表示当前剩余空间信息的其他指令信息。
第三阶段为Post消息拥塞控制开启阶段,此时,设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息已达到或超过预设的空间信息阈值,需要设备B在此期间内向设备A发送针对设备A的第一消息存储区的当前空间信息的请求消息,由设备A向设备B发送返回携带有指示Credit值的响应消息。根据响应信息中的Credit值,判定是否继续向所述设备A发送Post消息。
第四阶段为Post消息拥塞控制取消阶段,此时,判断设备A(Post消息接收设备端)内第一消息存储区(用于缓存Post消息的Post消息接收存储区队列)中当前空间信息是否低于预设的空间信息阈值,若是,则设备A向设备B发送携带有指示Credit值的响应消息。所述的指示Credit值为设置的目标Credit值,使得设备B可以根据目标Credit值对Post消息(第一消息)的发送进行取消控制。需要说明的是,所述的初始Credit值可以是指用于触发对Post消息的发送进行控制取消的控制指令字符串,也可以只是表示当前剩余空间信息的指令信息。
采用本申请提供的服务器系统内消息的处理装置,可以根据服务器系统内设备消息接收端的空间状态,对服务器系统内设备之间发送的消息进行准确的控制,防止服务器系统内设备之间发生消息拥塞,从而提高了服务器系统的运算效率。
与上述提供的服务器系统内消息的处理方法相对应,本发明还提供一种电子设备。请参见图3所示,其为本发明实施例提供的一种电子设备的示意图。
本发明提供的电子设备具体包括:处理器302和存储器301。其中,存储器301用于存储服务器系统内消息的处理方法的程序,该设备通电并通过所述处理器302运行该服务器系统内消息的处理方法的程序后,执行下述步骤:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
与上述提供的服务器系统内消息的处理方法相对应,本发明还提供一种存储设备,该存储设备存储有服务器系统内消息的处理方法的程序,该程序被处理器运行,执行步骤一:服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息。步骤二:所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此,本发明的保护范围应当以本发明权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (22)
1.一种服务器系统内消息的处理方法,其特征在于,包括:
服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;
所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
2.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,所述服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,包括:
所述第二设备向所述第一设备发送针对所述第一设备的第一消息存储区的当前空间信息的请求消息;
所述第二设备获得所述第一设备针对所述请求消息返回的携带有所述第一设备的第一消息存储区的当前空间信息的响应消息;
从所述响应消息中获得所述第一设备的第一消息存储区的当前空间信息。
3.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制,包括:
在所述第二设备向所述第一设备发送所述第一消息之前,将所述第一消息需要占用的空间信息与所述当前空间信息进行比对,若所述当前空间信息满足所述第一消息需要占用的空间大小,则向所述第一设备端发送所述第一消息,若所述当前空间信息不满足所述第一消息需要占用的空间大小,则停止向所述第一设备端发送所述第一消息。
4.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,所述服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,包括:
所述第二设备获得所述第一设备返回的携带有所述第一设备的第一消息存储区的Credit值的响应消息;其中,所述Credit值为所述第一设备的第一消息存储区包含的流量控制基本单元的信任值;
从所述响应消息中读取Credit值;
根据所述Credit值确定所述第一设备的第一消息存储区的当前空间信息。
5.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,还包括:
服务器系统内的第二设备获得所述服务器系统内的第一设备提供的指示Credit值;
所述第二设备根据所述指示Credit值对所述第一消息的发送进行控制。
6.根据权利要求5所述的服务器系统内消息的处理方法,其特征在于,所述第二设备根据所述指示Credit值对所述第一消息的发送进行控制,包括:
当所述指示Credit值为设置的初始Credit值,则启动对所述第一消息的发送进行控制;
当所述指示Credit值为设置的目标Credit值,则取消对所述第一消息的发送进行控制。
7.一种服务器系统内消息的处理方法,其特征在于,包括:
获得服务器系统内的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述服务器系统内的第二设备向所述第一设备发出的第一消息;
向所述第二设备发送携带有所述当前空间信息的响应信息,所述响应信息用于触发所述第二设备对所述第一消息的发送进行控制。
8.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,所述向所述第二设备发送携带有所述当前空间信息的响应信息,包括:
所述第一设备获得所述第二设备发出的获取所述第一设备的第一消息存储区的当前空间信息的请求消息;
所述第一设备针对所述请求消息向所述第二设备返回携带有所述第一设备的第一消息存储区的当前空间信息的响应消息。
9.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,还包括:
对所述当前空间信息进行量化,获得针对所述当前空间信息的Credit值,其中,Credit值用于表示所述第一设备的第一消息存储区的当前剩余空间大小。
10.根据权利要求1所述的服务器系统内消息的处理方法,其特征在于,还包括:
向所述第二设备发送携带有初始Credit值的响应信息;其中,所述携带有初始Credit值的响应信息用于启动对所述第一消息的发送进行控制;
向所述第二设备发送携带有目标Credit值的响应信息;其中,所述携带有目标Credit值的响应信息用于取消对所述第一消息的发送进行控制。
11.一种服务器系统内消息的处理方法,其特征在于,包括:
获得服务器系统内第一设备的第一消息存储区的空间信息,所述第一消息存储区用于缓存所述第一设备从所述服务器系统内的第二设备接收的第一消息;
根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息;其中,所述第二消息为所述第一设备向所述第二设备发送的消息,所述第一消息是所述第二设备针对所述第二消息的响应消息。
12.根据权利要求11所述的服务器系统内消息的处理方法,其特征在于,所述根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息,包括:
根据所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述剩余空间信息与所述限速信息成负相关。
13.根据权利要求12所述的服务器系统内消息的处理方法,其特征在于,还包括:
获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;
根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;
所述根据所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息,具体包括:
根据所述传输线路中所述第一消息需要占用的空间大小和所述第一消息存储区的剩余空间信息,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
14.根据权利要求11所述的服务器系统内消息的处理方法,其特征在于,还包括:
获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据;
根据所述传输线路中所述第一消息的量化数据,确定所述传输线路中所述第一消息需要占用的空间大小;
根据所述传输线路中所述第一消息需要占用的空间大小,获得针对第二消息的限速信息;其中,所述传输线路中所述第一消息需要占用的空间大小与所述限速信息成负相关。
15.根据权利要求14所述的服务器系统内消息的处理方法,其特征在于,所述获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据,包括:
获得所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据;
根据所述第一设备发出的所述第二消息的量化数据和所述第一设备接收的所述第一消息的量化数据的差值,获得所述第一设备和所述第二设备之间的传输线路中所述第一消息的量化数据。
16.根据权利要求11所述的服务器系统内消息的处理方法,其特征在于,还包括:
获得所述第一消息存储区的剩余空间信息;
若所述剩余空间信息小于或等于设置的空间信息阈值,则利用所述当前空间信息确定的限速信息控制所述第一设备向所述第二设备发送第二消息的速度。
17.一种服务器系统内消息的处理装置,其特征在于,包括:当前空间信息获得单元和第一控制单元;
所述当前空间信息获得单元,用于服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;
所述第一控制单元,用于所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
18.一种服务器系统内消息的处理装置,其特征在于,包括:当前空间信息获得单元和响应信息发送单元;
所述当前空间信息获得单元,用于获得服务器系统内的第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述服务器系统内的第二设备向所述第一设备发出的第一消息;
所述响应信息发送单元,用于向所述第二设备发送携带有所述当前空间信息的响应信息,所述响应信息用于触发所述第二设备对所述第一消息的发送进行控制。
19.一种服务器系统内消息的处理装置,其特征在于,包括:空间信息获得单元和限速信息获得单元;
所述空间信息获得单元,用于获得服务器系统内第一设备的第一消息存储区的空间信息,所述第一消息存储区用于缓存所述第一设备从所述服务器系统内的第二设备接收的第一消息;
所述限速信息获得单元,用于根据所述第一消息存储区的空间信息,获得针对第二消息的限速信息;其中,所述第二消息为所述第一设备向所述第二设备发送的消息,所述第一消息是所述第二设备针对所述第二消息的响应消息。
20.一种服务器系统内消息的处理系统,其特征在于,包括:上述权利要求17所述的服务器系统内消息的处理装置、上述权利要求18所述的服务器系统内消息的处理装置以及上述权利要求19所述的服务器系统内消息的处理装置。
21.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储服务器系统内消息的处理方法的程序,该设备通电并通过所述处理器运行该服务器系统内消息的处理方法的程序后,执行下述步骤:
服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;
所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
22.一种存储设备,其特征在于,存储有服务器系统内消息的处理方法的程序,该程序被处理器运行,执行下述步骤:
服务器系统内的第二设备获得所述服务器系统内的第一设备提供的所述第一设备的第一消息存储区的当前空间信息,所述第一消息存储区用于缓存所述第二设备向所述第一设备发送的第一消息;
所述第二设备根据所述当前空间信息针对所述第一消息的发送进行控制。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481358.3A CN110580202A (zh) | 2019-06-04 | 2019-06-04 | 服务器系统内消息的处理方法、装置及系统 |
PCT/CN2020/093905 WO2020244498A1 (zh) | 2019-06-04 | 2020-06-02 | 服务器系统内消息的处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481358.3A CN110580202A (zh) | 2019-06-04 | 2019-06-04 | 服务器系统内消息的处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110580202A true CN110580202A (zh) | 2019-12-17 |
Family
ID=68810451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910481358.3A Pending CN110580202A (zh) | 2019-06-04 | 2019-06-04 | 服务器系统内消息的处理方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110580202A (zh) |
WO (1) | WO2020244498A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020244498A1 (zh) * | 2019-06-04 | 2020-12-10 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534173A (zh) * | 2009-04-20 | 2009-09-16 | 福建星网锐捷网络有限公司 | 一种数据流量控制方法和系统 |
US7609710B1 (en) * | 2008-01-24 | 2009-10-27 | Qlogic, Corporation | Method and system for credit management in a networking system |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
CN103890746A (zh) * | 2012-09-28 | 2014-06-25 | 华为技术有限公司 | 报文发送控制方法、处理方法、设备及系统 |
CN104054065A (zh) * | 2011-10-28 | 2014-09-17 | 卡尔雷公司 | 片上网络中的流管理 |
CN104123262A (zh) * | 2009-05-29 | 2014-10-29 | 英特尔公司 | 在PCIExpress上启用基于ID的流的方法和装置 |
CN109739800A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 节点控制器的调度系统及fpga板卡 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100574310C (zh) * | 2007-08-24 | 2009-12-23 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
CN100596114C (zh) * | 2007-08-24 | 2010-03-24 | 中国科学院计算技术研究所 | 一种基于信誉的流量控制系统、装置和方法 |
KR102523418B1 (ko) * | 2015-12-17 | 2023-04-19 | 삼성전자주식회사 | 프로세서 및 프로세서에서 데이터를 처리하는 방법 |
CN108768898A (zh) * | 2018-04-03 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种片上网络传输报文的方法及其装置 |
CN110580202A (zh) * | 2019-06-04 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
-
2019
- 2019-06-04 CN CN201910481358.3A patent/CN110580202A/zh active Pending
-
2020
- 2020-06-02 WO PCT/CN2020/093905 patent/WO2020244498A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609710B1 (en) * | 2008-01-24 | 2009-10-27 | Qlogic, Corporation | Method and system for credit management in a networking system |
CN101534173A (zh) * | 2009-04-20 | 2009-09-16 | 福建星网锐捷网络有限公司 | 一种数据流量控制方法和系统 |
CN104123262A (zh) * | 2009-05-29 | 2014-10-29 | 英特尔公司 | 在PCIExpress上启用基于ID的流的方法和装置 |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
CN104054065A (zh) * | 2011-10-28 | 2014-09-17 | 卡尔雷公司 | 片上网络中的流管理 |
CN103890746A (zh) * | 2012-09-28 | 2014-06-25 | 华为技术有限公司 | 报文发送控制方法、处理方法、设备及系统 |
CN109739800A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 节点控制器的调度系统及fpga板卡 |
Non-Patent Citations (1)
Title |
---|
夏寅星等: "PCI Express流控机制的研究与实现", 《信息技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020244498A1 (zh) * | 2019-06-04 | 2020-12-10 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020244498A1 (zh) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7840720B2 (en) | Using priority to determine whether to queue an input/output (I/O) request directed to storage | |
CN110737534A (zh) | 任务的处理方法、装置和服务器 | |
US20060200456A1 (en) | System, method and circuit for responding to a client data service request | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN112948149A (zh) | 一种远端内存共享方法、装置、电子设备及存储介质 | |
CN111045782A (zh) | 日志处理方法、装置、电子设备和计算机可读存储介质 | |
CN108984104B (zh) | 用于缓存管理的方法和设备 | |
CN113366433A (zh) | 处理输入/输出存储指令 | |
CN115964319A (zh) | 远程直接内存访问的数据处理方法及相关产品 | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
US10250517B2 (en) | Completion-side client throttling | |
CN110580202A (zh) | 服务器系统内消息的处理方法、装置及系统 | |
CN110235105B (zh) | 用于在受信任客户端组件中的服务器处理之后的客户端侧节流的系统和方法 | |
WO2019109902A1 (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN112306693B (zh) | 数据包的处理方法和设备 | |
CN116490867A (zh) | 共享数据架构处理客户端重置系统和方法 | |
WO2024066668A1 (en) | Fast memory clear of system memory | |
CN116248699B (zh) | 多副本场景下的数据读取方法、装置、设备及存储介质 | |
CN109284257B (zh) | 一种日志写入方法、装置、电子设备及存储介质 | |
CN112073325B (zh) | 数据拥塞控制及带宽预估方法 | |
CN105637483B (zh) | 线程迁移方法、装置和系统 | |
JP2014174597A (ja) | インメモリ型分散データベース、データ分散方法及びプログラム | |
CN102609217B (zh) | 一种io设备的高速存储方法及系统 | |
CN109614249B (zh) | 一种模拟多核通信的方法、装置和计算机可读存储介质 | |
CN114063891B (zh) | 管理数据传输的方法、设备和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40018366 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191217 |
|
RJ01 | Rejection of invention patent application after publication |