CN116048822A - 一种高吞吐的并行日志存储系统及方法 - Google Patents
一种高吞吐的并行日志存储系统及方法 Download PDFInfo
- Publication number
- CN116048822A CN116048822A CN202310344817.XA CN202310344817A CN116048822A CN 116048822 A CN116048822 A CN 116048822A CN 202310344817 A CN202310344817 A CN 202310344817A CN 116048822 A CN116048822 A CN 116048822A
- Authority
- CN
- China
- Prior art keywords
- task request
- target
- queuing
- budget
- storage
- 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.)
- Granted
Links
Images
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及存储系统技术领域,公开了一种高吞吐的并行日志存储系统及方法,该系统包括前端设备;后端设备;具有若干个存储设备的存储服务器;其中,前端设备接收任务请求,并将接收到的任务请求向目标后端设备传输;后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。本发明通过后端设备根据排队预算选择性的接收前端设备传输的任务请求,以此向存储服务器的目标存储设备传输任务请求,并利用存储服务器的目标存储设备执行任务请求对应的存储动作,解决了现有技术存储系统中缓存过满及请求拥堵的技术问题。
Description
技术领域
本发明涉及存储系统技术领域,尤其是一种高吞吐的并行日志存储系统及方法。
背景技术
如今,企业和数据中心正在向分布式和无服务器存储系统发展,而不是传统的文件系统。由于这种转变,为用户和各方分配足够的资源以满足他们的服务级别需求在分布式存储系统中变得至关重要。服务质量(QoS)是一个试图解决这些挑战的研究领域。系统组件和请求的可调度性对于实现分布式存储中的QoS目标至关重要。许多QoS解决方案是通过在系统体系结构的不同级别上的请求调度来设计和实现的。
然而,存储后端中的缓存过满现象会影响系统的请求可调度性。在存储服务器中,由于存储后端缓存区过大,当服务器立即向存储后端提交所有请求时,会发生缓存区溢出。现有技术中,有许多研究工作都试图解决网络系统的缓存问题。然而,这些工作都不适用于存储系统环境和工作负载。
因此,如何解决存储系统中缓存过满及请求拥堵的现象,是一个亟需解决的技术问题。
发明内容
本发明的主要目的在于提供一种高吞吐的并行日志存储系统及方法,旨在解决目前存储系统存在缓存过满及请求拥堵的技术问题。
为实现上述目的,本发明提供一种高吞吐的并行日志存储系统,其特征在于,所述高吞吐的并行日志存储系统,具有:
前端设备;
后端设备;
具有若干个存储设备的存储服务器;
其中,所述前端设备接收任务请求,并将接收到的任务请求向目标后端设备传输;
其中,所述后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。
可选的,所述前端设备,具有:
任务请求传输模块;
所述任务请求传输模块接收任务请求,生成任务请求队列,并按任务请求队列将接收到的任务请求依次向后端设备传输。
可选的,所述后端设备,具有:
任务请求接收模块;
所述任务请求接收模块在接收到前端设备传输的任务请求时,判断排队预算是否大于零,若是,接收任务请求;若否,拒绝接收任务请求。
可选的,所述后端设备,还具有:
请求成本生成模块;
所述请求成本生成模块根据接收的目标任务请求的附加信息,生成目标任务请求的请求成本。
可选的,所述附加信息包括目标任务请求对应的存储大小和存储性质。
可选的,所述后端设备,还具有:
排队预算生成模块;
排队预算更新模块;
其中,所述排队预算生成模块为后端设备生成初始的排队预算;
其中,所述排队预算更新模块用于在接收到前端设备的目标任务请求时,基于目标任务的请求成本更新排队预算;所述排队预算更新模块还用于获取后端设备的后端延迟,并根据后端延迟更新排队预算。
可选的,所述排队预算更新模块,具有:
第一初始化单元,用于初始化第一循环间隔值和违规次数;
第一循环单元,用于获取后端设备的后端延迟值和预设目标值,判断后端延迟值是否大于预设目标值,若是,减少排队预算;若否,增加排队预算;
第一更新单元,用于在循环单元执行一次循环后,更新违规次数和第一循环间隔值;
第一等待单元,用于控制第一循环单元执行一次排队预算更新之后,等待第一循环间隔值之后执行下一次排队预算更新。
可选的,所述更新单元更新违规次数和循环间隔值,具体包括:
在增加排队预算时,违规次数归零;在减少排队预算时,违规次数计数一次;
在增加排队预算时,循环间隔值归零;在减少排队预算时,循环间隔值更新的表达式,具体为:
其中,INTERVAL为循环间隔值,violation-count为违规次数。
可选的,所述后端设备,还具有:
预设目标值更新模块;
所述预设目标值更新模块获取后端设备的后端吞吐量,并根据后端吞吐量更新预设目标值。
可选的,所述预设目标值更新模块,具有:
第二初始化单元,用于初始化第二循环间隔值和吞吐量目标历史队列;
第二循环单元,用于获取前次等待第二循环间隔值时后端设备的后端吞吐量,将包含预设目标值和后端吞吐量的元组添加至吞吐量目标历史队列,判断吞吐量目标历史队列的长度是否超过预设值,若是,从吞吐量目标历史队列中移除最旧的元组;
第二更新单元,用于根据吞吐量目标历史队列进行吞吐量目标历史回归的对数曲线,更新预设目标值;
第二等待单元,用于控制第二循环单元执行一次预设目标值更新之后,等待第二循环间隔值之后执行下一次预设目标值更新。
可选的,所述第二更新单元更新预设目标值,具体包括:
根据吞吐量目标历史队列进行吞吐量目标历史回归的对数曲线;其中,对数曲线的表达式,具体为:
其中,x为吞吐量目标,b为拟合出的系数,α为拟合出的常量;
根据对数曲线,确定最优目标;其中,所述最优目标的表达式,具体为:
其中,optimal-target为最优目标,为一个独立于工作负载的参数;
根据最优目标,确定更新后的预设目标值;其中,所述更新后的预设目标值等于模为最优目标的对数正态噪声。
此外,为了实现上述目的,本发明还提供了一种高吞吐的并行日志存储方法,所述方法包括如下步骤:
前端设备在接收到任务请求时,将接收到的任务请求向目标后端设备传输;
目标后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。
本发明的有益效果为:本发明实施例提出的一种高吞吐的并行日志存储系统及方法,该系统包括前端设备;后端设备;具有若干个存储设备的存储服务器;其中,所述前端设备接收任务请求,并将接收到的任务请求向目标后端设备传输;所述后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。本发明通过后端设备根据排队预算选择性的接收前端设备传输的任务请求,以此向存储服务器的目标存储设备传输任务请求,并利用存储服务器的目标存储设备执行任务请求对应的存储动作,解决了现有技术存储系统中缓存过满及请求拥堵的技术问题。
附图说明
图1为本发明所提供的一种高吞吐的并行日志存储系统实施例的示意图;
图2为本发明中快速循环算法的运行逻辑示意图;
图3为本发明中基于后端延迟和后端吞吐量的自适应延迟受控调配的示意图;
图4为本发明中慢速循环算法的运行逻辑示意图;
图5为本发明所提供的一种高吞吐的并行日志存储系统控制信号的融合生成方法实施例的流程示意图。
附图标记:
10-前端设备;20-后端设备;30-存储服务器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种高吞吐的并行日志存储系统,参照图1,图1为本发明高吞吐的并行日志存储系统实施例的示意图。
本发明实施例提出的一种高吞吐的并行日志存储系统,该高吞吐的并行日志存储系统包括前端设备10、后端设备20和具有若干个存储设备的存储服务器30。
需要说明的是,所述前端设备10接收任务请求,并将接收到的任务请求向目标后端设备20传输;所述后端设备20根据排队预算判断是否接收任务请求,并在接收到前端设备10传输的任务请求时,向存储服务器30的目标存储设备传输任务请求,以使存储服务器30的目标存储设备中执行任务请求对应的存储动作。
其中,前端设备10用于接收用户的任务请求,该前端设备10可以为用户侧的客户机,在接收到任务请求时,将该任务请求向目标后端设备20传输。
其中,后端设备20用于根据排队预算判断是否接收前端设备10传输的任务请求,该后端设备20可以为交互设备,通过交互设备实现客户机与存储服务器30的数据传输。同时,该后端设备20还用于根据后端延迟调整排队预算,以实现自适应延迟调整的存储系统任务请求调配。
其中,存储服务器30用于接收后端设备20的任务请求,并在存储服务器30中若干个存储设备中的目标存储设备执行任务请求对应的存储动作。
在优选的实施例中,所述前端设备10,具有:任务请求传输模块。
需要说明的是,所述任务请求传输模块在前端设备10接收到任务请求时,生成任务请求队列,并按任务请求队列将接收到的任务请求依次向后端设备20传输。
其中,前端设备只要在接收到任务请求时,就将该任务请求放入任务请求队列,通过该任务请求队列不断的向后端设备20传输任务请求,该任务请求队列先入先出的特性,能够保证任务请求依次向后端设备20传输,并等待后端设备20接收该任务请求。
在优选的实施例中,所述后端设备20,具有:任务请求接收模块。
需要说明的是,所述任务请求接收模块在接收到前端设备10传输的任务请求时,判断排队预算是否大于零,若是,接收任务请求;若否,拒绝接收任务请求。
其中,前端设备10的任务请求传输模块在不断的向后端设备20传输任务请求时,后端设备20的任务请求接收模块不会对每个传输的任务请求进行接收,而是在接收之前判断当前排队预算是否大于零,只有在排队预算大于零时,接收任务请求,否则,拒绝接收。以此,实现后端设备20根据当前系统的缓存资源量化值(即本实施例的排队预算)对前端设备10传输的任务请求进行选择性接收。在另一个实施例中,还可配置任务请求传输模块仅在排队预算大于目标任务请求成本时对目标任务请求进行接收。
在优选的实施例中,所述后端设备20,还具有:请求成本生成模块。
需要说明的是,所述请求成本生成模块根据前端设备10传输的目标任务请求的附加信息,生成目标任务请求的请求成本。
其中,后端设备20配置有请求成本生成模块,用于在接收到目标任务请求时,对该任务请求所需要的缓存资源进行量化,即生成目标任务请求的请求成本,以使后端设备20能够通过缓存资源需求量化的方式来更新系统处理该任务请求后的缓存资源量化值(即本实施例的排队预算)。
更进一步的,所述附加信息包括目标任务请求对应的存储大小和存储性质。任务请求通过配置附加信息将此次任务请求需求的存储大小以及此次任务请求对应的存储性质进行记录,以使后端设备20在接收到任务请求时,可根据该任务请求量化缓存需求,依此更新排队预算。
在优选的实施例中,所述后端设备20,还具有:排队预算生成模块和排队预算更新模块。
需要说明的是,所述排队预算生成模块为后端设备20生成初始的排队预算;所述排队预算更新模块用于在接收到前端设备10传输的目标任务请求时,基于目标任务的请求成本更新排队预算;所述排队预算更新模块还用于获取后端设备20的后端延迟,并根据后端延迟更新排队预算。
其中,排队预算生成模块用于系统预先为后端设备20设置排队预算,以该初始的排队预算执行排队预算更新;排队预算更新模块会在两种情况时进行更新,其一是后端设备20接收到前端设备10传输的任务请求时,排队预算减少任务请求对应的请求成本;其二是获取后端设备20的后端延迟,根据后端延迟来更新排队预算。
在优选的实施例中,所述排队预算更新模块,具有:第一初始化单元、第一循环单元、第一更新单元和第一等待单元。
需要说明的是,第一初始化单元,用于初始化第一循环间隔值和违规次数;第一循环单元,用于获取后端设备20的后端延迟值和预设目标值,判断后端延迟值是否大于预设目标值,若是,减少排队预算;若否,增加排队预算;第一更新单元,用于在循环单元执行一次循环后,更新违规次数和第一循环间隔值;第一等待单元,用于控制第一循环单元执行一次排队预算更新之后,等待第一循环间隔值之后执行下一次排队预算更新。
更进一步的,更新单元更新违规次数和循环间隔值,具体为:
A1:在增加排队预算时,违规次数归零;在减少排队预算时,违规次数计数一次;
A2:在增加排队预算时,循环间隔值归零;在减少排队预算时,循环间隔值更新的表达式,具体为:
其中,INTERVAL为循环间隔值,violation-count为违规次数。
本实施例通过提出一种快速循环算法,用于监控后端延迟并通过控制基于目标参数的后端排队预算,减少使用给定目标的后端延迟。在实际应用中,如图2所示,排队预算更新模块执行快速循环算法的运行逻辑如下:
Step1:违规次数(violation-count)为0。
Step2:令第一循环间隔值(INTERVAL)为最小初始间隔。
Step3:开始进行循环,如果最小延迟(min-latency)大于预设目标值(TARGET),则通过最小延迟目标(min-latency-target)减少后端排队预算,此时violation-count计数一次。令INTERVAL为:
如果满足最小延迟小于预设目标值(TARGET)这一条件,则通过预算增量增加后端排队预算,INTERVAL等于初始INTERVAL,并且让violation-count等于0。
Step4:以INTERVAL为等待时间等待下一次循环开始。
其中,min-latency-target和initial-low-interval为预先设定的值,min-latency是服务器设备所测量的值,即当前的后端延迟,TARGET是完全依赖于服务器工作符合的参数。
本实施例提供一种高吞吐的并行日志存储系统,该系统通过后端设备20根据后端延迟实时调整排队预算,并通过后端设备20根据排队预算判断是否接收前端设备传输的任务请求,进而将接收的任务请求传输至存储服务器的目标存储设备执行,通过自适应延迟受控调配,解决了现有技术存储系统中缓存过满及请求拥堵的技术问题。
在另一实施例中,所述高吞吐的并行日志存储系统中,所述后端设备20,还具有:预设目标值更新模块。
需要说明的是,所述预设目标值更新模块获取后端设备20的后端吞吐量,并根据后端吞吐量更新预设目标值。
其中,预设目标值更新模块根据后端设备20的后端吞吐量来更新预设目标值,以此通过预设目标值更新模块和排队预算更新模块,如图3所示,实现基于后端延迟和后端吞吐量的自适应延迟受控调配。
在优选的实施例中,所述预设目标值更新模块,具有:第二初始化单元、第二循环单元、第二更新单元和第二等待单元。
需要说明的是,第二初始化单元,用于初始化第二循环间隔值和吞吐量目标历史队列;第二循环单元,用于获取前次等待第二循环间隔值时后端设备20的后端吞吐量,将包含预设目标值和后端吞吐量的元组添加至吞吐量目标历史队列,判断吞吐量目标历史队列的长度是否超过预设值,若是,从吞吐量目标历史队列中移除最旧的元组;第二更新单元,用于根据吞吐量目标历史队列进行吞吐量目标历史回归的对数曲线,更新预设目标值;第二等待单元,用于控制第二循环单元执行一次预设目标值更新之后,等待第二循环间隔值之后执行下一次预设目标值更新。
更进一步的,第二更新单元更新预设目标值,具体为:
B1:根据吞吐量目标历史队列进行吞吐量目标历史回归的对数曲线;其中,对数曲线的表达式,具体为:
其中,x为吞吐量目标,b为拟合出的系数,α为拟合出的常量;
B2:根据对数曲线,确定最优目标;其中,所述最优目标的表达式,具体为:
其中,optimal-target为最优目标,为一个独立于工作负载的参数;
B3:根据最优目标,确定更新后的预设目标值;其中,所述更新后的预设目标值等于模为最优目标的对数正态噪声。
本实施例通过提出一种慢速循环算法,用于监控后端吞吐量,并试图通过控制队列预算调整受控延迟的目标参数来平衡吞吐量损失和延迟减少,由于后端的吞吐量通常由于压缩或设备行为等外部来源的影响而不稳定,因此在较长间隔内进行低频采样是保持优化稳定的最佳方法。在实际应用中,如图4所示,预设目标值更新模块执行慢速循环算法的运行逻辑如下:
Step1:令第二循环间隔值INTERVAL为初始高延迟(initial-high-interval)。
Step2:定义一个吞吐量目标历史队列(throughput-target-history)。
Step3:开始循环,令吞吐量等于通过INTERVAL的后端吞吐量。
Step4:添加元组(TARGET,throughput)到throughput-target-history中。
Step5:throughput-target-history的长度大于阈值,则从throughput-target-history中移除最旧的数据。
Step6:通过对吞吐量目标历史的回归找到对数曲线:
其中,x为吞吐量目标,b为拟合出的系数,α为拟合出的常量;
Step7:求得最优目标:
Step8:TARGET等于对数正态噪声,模为最优目标。
Step9:以INTERVAL为等待时间等待下一次循环开始。
其中,是一个独立于工作负载的参数,它提供对吞吐量延迟权衡的控制。initial-high-interval为预先定义的值,throughput为服务器设备所测量的值,即前次等待第二循环间隔时后端设备20的后端吞吐量。因此,可以根据任何工作负载的不同吞吐量延迟权衡偏好来部署系统,以实现高吞吐低延迟。
本实施例提供一种高吞吐的并行日志存储系统,该系统使用快慢循环逻辑对对吞吐量延迟进行控制,引入了一个独立于工作负载的参数,它提供对吞吐量延迟权衡的控制,减少了实际运行中请求队列拥堵的问题。
本发明实施例提供了一种高吞吐的并行日志存储方法,参照图5,图5为本发明高吞吐的并行日志存储方法实施例的流程示意图。
如图5所示,本发明实施例提出的高吞吐的并行日志存储方法基于上述任意实施例提供的高吞吐的并行日志存储系统,该高吞吐的并行日志存储方法,包括如下步骤:
S100:前端设备在接收到任务请求时,将接收到的任务请求向目标后端设备传输;
S200:目标后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。
本实施例提出一种高吞吐的并行日志存储方法,该方法通过后端设备根据排队预算选择性的接收前端设备传输的任务请求,以此向存储服务器的目标存储设备传输任务请求,并利用存储服务器的目标存储设备执行任务请求对应的存储动作,解决了现有技术存储系统中缓存过满及请求拥堵的技术问题。
本发明高吞吐的并行日志存储方法的其他实施例或具体实现方式可参照上述各系统实施例,此处不再赘述。
在本发明的实施例的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“坚直”、“水平”、“中心”、“顶”、“底”、“顶部”、“底部”、“内”、“外”、“内侧”、“外侧”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。其中,“里侧”是指内部或围起来的区域或空间。“外围”是指某特定部件或特定区域的周围的区域。
在本发明的实施例的描述中,术语“第一”、“第二”、“第三”、“第四”仅用以描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”、“第四”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“组装”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的实施例的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
在本发明的实施例的描述中,需要理解的是,“-”和“~”表示的是两个数值之同的范围,并且该范围包括端点。例如:“A-B”表示大于或等于A,且小于或等于B的范围。“A~B”表示大于或等于A,且小于或等于B的范围。
在本发明的实施例的描述中,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种高吞吐的并行日志存储系统,其特征在于,所述高吞吐的并行日志存储系统,具有:
前端设备;
后端设备;
具有若干个存储设备的存储服务器;
其中,所述前端设备接收任务请求,并将接收到的任务请求向目标后端设备传输;
其中,所述后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。
2.根据权利要求1所述的高吞吐的并行日志存储系统,其特征在于,所述前端设备,具有:
任务请求传输模块;
所述任务请求传输模块接收任务请求,生成任务请求队列,并按任务请求队列将接收到的任务请求依次向后端设备传输。
3.根据权利要求1所述的高吞吐的并行日志存储系统,其特征在于,所述后端设备,具有:
任务请求接收模块;
所述任务请求接收模块在接收到前端设备传输的任务请求时,判断排队预算是否大于零,若是,接收任务请求;若否,拒绝接收任务请求。
4.根据权利要求1所述的高吞吐的并行日志存储系统,其特征在于,所述后端设备,还具有:
请求成本生成模块;
所述请求成本生成模块根据接收的目标任务请求的附加信息,生成目标任务请求的请求成本。
5.根据权利要求4所述的高吞吐的并行日志存储系统,其特征在于,所述附加信息包括目标任务请求对应的存储大小和存储性质。
6.根据权利要求4所述的高吞吐的并行日志存储系统,其特征在于,所述后端设备,还具有:
排队预算生成模块;
排队预算更新模块;
其中,所述排队预算生成模块为后端设备生成初始的排队预算;
其中,所述排队预算更新模块用于在接收到前端设备传输的目标任务请求时,基于目标任务的请求成本更新排队预算;所述排队预算更新模块还用于获取后端设备的后端延迟,并根据后端延迟更新排队预算。
7.根据权利要求6所述的高吞吐的并行日志存储系统,其特征在于,所述排队预算更新模块,具有:
第一初始化单元,用于初始化第一循环间隔值和违规次数;
第一循环单元,用于获取后端设备的后端延迟值和预设目标值,判断后端延迟值是否大于预设目标值,若是,减少排队预算;若否,增加排队预算;
第一更新单元,用于在循环单元执行一次循环后,更新违规次数和第一循环间隔值;
第一等待单元,用于控制第一循环单元执行一次排队预算更新之后,等待第一循环间隔值之后执行下一次排队预算更新。
8.根据权利要求7所述的高吞吐的并行日志存储系统,其特征在于,所述后端设备,还具有:
预设目标值更新模块;
所述预设目标值更新模块获取后端设备的后端吞吐量,并根据后端吞吐量更新预设目标值。
9.根据权利要求8所述的高吞吐的并行日志存储系统,其特征在于,所述预设目标值更新模块,具有:
第二初始化单元,用于初始化第二循环间隔值和吞吐量目标历史队列;
第二循环单元,用于获取前次等待第二循环间隔值时后端设备的后端吞吐量,将包含预设目标值和后端吞吐量的元组添加至吞吐量目标历史队列,判断吞吐量目标历史队列的长度是否超过预设值,若是,从吞吐量目标历史队列中移除最旧的元组;
第二更新单元,用于根据吞吐量目标历史队列进行吞吐量目标历史回归的对数曲线,更新预设目标值;
第二等待单元,用于控制第二循环单元执行一次预设目标值更新之后,等待第二循环间隔值之后执行下一次预设目标值更新。
10.一种高吞吐的并行日志存储方法,其特征在于,所述方法包括如下步骤:
前端设备在接收到任务请求时,将接收到的任务请求向目标后端设备传输;
目标后端设备根据排队预算判断是否接收任务请求,并在接收到前端设备传输的任务请求时,向存储服务器的目标存储设备传输任务请求,以使存储服务器的目标存储设备执行任务请求对应的存储动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310344817.XA CN116048822B (zh) | 2023-04-03 | 2023-04-03 | 一种高吞吐的并行日志存储系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310344817.XA CN116048822B (zh) | 2023-04-03 | 2023-04-03 | 一种高吞吐的并行日志存储系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048822A true CN116048822A (zh) | 2023-05-02 |
CN116048822B CN116048822B (zh) | 2023-07-07 |
Family
ID=86131708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310344817.XA Active CN116048822B (zh) | 2023-04-03 | 2023-04-03 | 一种高吞吐的并行日志存储系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048822B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005321910A (ja) * | 2004-05-07 | 2005-11-17 | Softbank Bb Corp | ログデータ管理システム、方法、及びプログラム |
CN104115463A (zh) * | 2011-11-07 | 2014-10-22 | 网络流逻辑公司 | 用于处理网络元数据的流式传输方法和系统 |
US20170171132A1 (en) * | 2015-12-10 | 2017-06-15 | Facebook, Inc. | Techniques for ephemeral messaging with a message queue |
CN107835095A (zh) * | 2017-11-20 | 2018-03-23 | 杭州迪普科技股份有限公司 | 一种日志的处理方法及装置 |
CN109547541A (zh) * | 2018-11-12 | 2019-03-29 | 安徽师范大学 | 雾计算环境下基于过滤及分配机制的节点低开销协作方法 |
CN109743137A (zh) * | 2019-01-10 | 2019-05-10 | 浙江小泰科技有限公司 | 一种支持更新的分布式延迟消息队列处理系统 |
CN110912723A (zh) * | 2018-09-17 | 2020-03-24 | 华为技术有限公司 | 通信方法和装置 |
CN113918358A (zh) * | 2021-09-17 | 2022-01-11 | 远景智能国际私人投资有限公司 | 日志发送方法、装置及日志管理系统 |
-
2023
- 2023-04-03 CN CN202310344817.XA patent/CN116048822B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005321910A (ja) * | 2004-05-07 | 2005-11-17 | Softbank Bb Corp | ログデータ管理システム、方法、及びプログラム |
CN104115463A (zh) * | 2011-11-07 | 2014-10-22 | 网络流逻辑公司 | 用于处理网络元数据的流式传输方法和系统 |
US20170171132A1 (en) * | 2015-12-10 | 2017-06-15 | Facebook, Inc. | Techniques for ephemeral messaging with a message queue |
CN107835095A (zh) * | 2017-11-20 | 2018-03-23 | 杭州迪普科技股份有限公司 | 一种日志的处理方法及装置 |
CN110912723A (zh) * | 2018-09-17 | 2020-03-24 | 华为技术有限公司 | 通信方法和装置 |
CN109547541A (zh) * | 2018-11-12 | 2019-03-29 | 安徽师范大学 | 雾计算环境下基于过滤及分配机制的节点低开销协作方法 |
CN109743137A (zh) * | 2019-01-10 | 2019-05-10 | 浙江小泰科技有限公司 | 一种支持更新的分布式延迟消息队列处理系统 |
CN113918358A (zh) * | 2021-09-17 | 2022-01-11 | 远景智能国际私人投资有限公司 | 日志发送方法、装置及日志管理系统 |
Non-Patent Citations (2)
Title |
---|
WANNENG SHU 等: "Research on strong agile response task scheduling optimization enhancement with optimal resource usage in green cloud computing", 《FUTURE GENERATION COMPUTER SYSTEMS》, pages 12 - 20 * |
张梅 等: "基于海量日志数据的系统吞吐量优化方案", 《区域治理》, pages 217 - 218 * |
Also Published As
Publication number | Publication date |
---|---|
CN116048822B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575536B2 (en) | Methods and apparatus to estimate power performance of a job that runs on multiple nodes of a distributed computer system | |
CA2723930C (en) | Work queue selection on a local processor within a multiple processor architecture | |
KR101242954B1 (ko) | 저장부로 향하는 입/출력(i/o) 요청을 큐잉할지 여부를 결정하기 위한 우선순위의 이용 | |
US8204032B2 (en) | Information polling method, apparatus and system | |
US9071540B2 (en) | Proxy server, hierarchical network system, and distributed workload management method | |
CN112512018B (zh) | 一种基于移动边缘计算的协作车辆间任务动态卸载方法 | |
US7526552B2 (en) | Stable, minimal skew resource flow control technique in large scale enterprise storage systems | |
US10146583B2 (en) | System and method for dynamically managing compute and I/O resources in data processing systems | |
US10834008B2 (en) | Arbitration of multiple-thousands of flows for convergence enhanced ethernet | |
US20130007386A1 (en) | Memory arbiter with latency guarantees for multiple ports | |
CN108092908B (zh) | 控制流量的方法和发送端设备 | |
US10965613B2 (en) | Multi-pipe bandwidth control in hosted systems | |
CN111225209A (zh) | 视频数据推流方法、装置、终端及存储介质 | |
CN108769253B (zh) | 一种分布式系统访问性能优化的自适应预取控制方法 | |
CN116048822B (zh) | 一种高吞吐的并行日志存储系统及方法 | |
WO2023122954A1 (zh) | 针对交互式应用的服务质量感知的多渲染任务调度方法 | |
US10397797B2 (en) | Devices, systems, and methods for resource allocation of shared spectrum | |
US20130044745A1 (en) | Communication apparatus, communication method, and computer product | |
CN111818122A (zh) | 基于流量公平的广域网数据预取方法 | |
KR20210066502A (ko) | 강화학습 기반 이타적 스케줄링 장치 및 방법 | |
CN110381537B (zh) | 一种基于QoE的带宽限速方法、装置、设备及存储介质 | |
US8732514B2 (en) | Using pulses to control work ingress | |
CN112684988A (zh) | 基于分布式存储的QoS方法及系统 | |
WO2018051424A1 (ja) | サーバ計算機および計算機制御方法 | |
CN107277862B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |