CN109587075B - 一种业务处理方法、装置、设备及存储介质 - Google Patents
一种业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109587075B CN109587075B CN201811428295.7A CN201811428295A CN109587075B CN 109587075 B CN109587075 B CN 109587075B CN 201811428295 A CN201811428295 A CN 201811428295A CN 109587075 B CN109587075 B CN 109587075B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- qos
- thread
- preset
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种业务处理方法、装置、设备及存储介质,其中,所述方法包括:在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,或者,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
Description
技术领域
本申请涉及计算机领域,涉及但不限于一种业务处理方法、装置、设备及存储介质。
背景技术
目前,云计算基础架构平台广泛用在共有云或者私有云中,在云计算基础架构平台中,众多的虚机共享分布式存储,其中,服务质量(Quality of Service,QoS)是分布式存储的一个基本功能。QoS可以用来限制众多的虚机或用户的流量,一般QoS包括总读写次数(Input/Output Per Second,IOPS)、每秒读次数(Read-Input/Output Per Second,R-IOPS)、每秒写次数(Write-Input/Output Per Second,W-IOPS)、读写混合总带宽(BandWidth,BW)、读带宽(Read-Band Width,R-BW)、写带宽(Write-Band Width,W-BW)。
现有技术中QoS系统实现的方法通常是利用一个定时器线程,定时去采集数据流量数据,再将此数据除以时间间隔,就可以得到流量数据,然后根据用户设置的QoS限额,控制业务流量主线程进行流量限额。
但是,采用现有技术的方法,每一个业务流量线程就需要一个定时线程去进行业务采样,这会占用大量的业务线程资源;并且还会由于线程之间的切换而造成流量损耗。
发明内容
有鉴于此,本申请实施例提供一种业务处理方法、装置、设备及存储介质,能够有效较少业务系统中的线程数量;对于具有大量用户的共享分布式存储系统,能够有效减少资源浪费。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种业务处理方法,包括:
在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;
根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和/或,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;
根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
在其他实施例中,所述方法还包括:
建立所述预设业务周期内的数据统计列表;其中,所述数据统计列表中包括至少两个数据统计项;
当所述业务系统中存在业务线程的数据输入或数据输出时,将当前时刻所统计的业务总数据写入对应的数据统计项中,其中,所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和;
对应地,所述根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据,包括:根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据。
在其他实施例中,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,所述根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据,包括:
将当前时刻对应的数据统计项中的业务总数据,确定为所述业务线程的QoS共享数据。
在其他实施例中,当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,所述根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据,包括:
根据所述起始时刻的业务总数据和当前时刻的业务总数据,确定所述业务线程的数据流速;
将所述数据流速确定为所述业务线程的QoS共享数据。
在其他实施例中,所述方法还包括:
如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。
在其他实施例中,所述根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量,包括:
如果所述QoS共享数据小于所述预设数据量阈值时,允许所述业务线程的数据正常输入和输出;
如果所述QoS共享数据大于或等于所述预设数据量阈值时,禁止所述业务线程的数据输入和输出。
在其他实施例中,所述根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据,包括:
当所述业务线程的数量为一个时,根据所述业务线程的数据统计项中的业务总数据,确定所述业务线程的QoS共享数据;
当所述业务线程的数量为多个时,根据全部业务线程的数据统计项中的业务总数据之和,确定所述业务线程的QoS共享数据。
第二方面,本申请实施例提供一种业务处理装置,包括:
获取单元,用于在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;
确定单元,用于根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,或者,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;
控制单元,用于根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
第三方面,本申请实施例提供一种业务处理设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
所述可执行指令配置为执行上述业务处理方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述业务处理方法。
本申请实施例提供一种业务处理方法、装置、设备及存储介质,其中,所述方法包括:在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。这样,由于是在业务系统初次存在数据输入或输出时,开始统计业务线程的QoS共享数据,并实现对业务线程的数据流量的控制,因此,无需额外的定时器线程,从而能够有效较少业务系统中的线程数量;对于具有大量用户的共享分布式存储系统,能够有效减少资源浪费。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1A为相关技术中QoS系统的结构示意图;
图1B为相关技术中QoS系统业务处理方法的实现流程示意图;
图2为本申请实施例一所提供的业务处理方法的实现流程示意图;
图3为本申请实施例二所提供的业务处理方法的实现流程示意图;
图4为本申请实施例三所提供的业务处理方法的实现流程示意图;
图5为本申请实施例四所提供的业务处理方法的实现流程示意图;
图6A为本申请实施例所提供的业务处理方法中QoS系统的结构示意图;
图6B为本申请实施例所提供的QoS即时计算算法示意图;
图7为本申请实施例所提供的业务处理方法的实现流程示意图;
图8为本申请实施例所提供的业务处理装置的组成结构示意图;
图9为本申请实施例所提供的业务处理设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
相关技术中,QoS系统实现的方法通常是利用一个定时器线程,定时去采集流量数据,将此流量数据除以时间间隔,就可以得到数据流速,然后根据用户设置的QoS限额,控制业务流量主线程进行流量限额。
图1A为相关技术中QoS系统的结构示意图,如图1A所述,所述QoS系统中的线程至少包括:业务输入输出(Input/Output,I/O)主线程11、定时触发线程12和QoS主控线程13。
其中,所述业务I/O主线程11,用于实现业务数据的输入和输出,在所述业务I/O主线程下,具有至少一个I/O数据101。
所述定时触发线程12,用于控制QoS定时采样程序121实现对所述业务I/O主线程11中的I/O数据101进行定时采样,其中,所述QoS定时采样程序121,不仅用于对所述业务I/O主线程11中的I/O数据101进行定时采样,还用于将采样得到的数据进行计算得到QoS线性度量数据122,并将所述QoS线性度量数据122发送给QoS控制程序131。
所述QoS主控线程13,用于控制QoS控制程序131实现对所述业务I/O主线程11中的I/O数据101进行控制,并且,所述QoS主控线程13还会基于单个QoS限额指标132对所述业务I/O主线程11中的I/O数据101进行控制。
图1B为相关技术中QoS系统业务处理方法的实现流程示意图,如图1B所示,所述方法包括以下步骤:
步骤S101,通过定时触发线程来启动QoS定时采样程序,获取业务流量数据。
这里,所述业务流量数据包括读写次数和/或数据流量。
步骤S102,将所述业务流量数据除以时间间隔,得到QoS线性度量数据。
这里,之所以将QoS线性度量数据称为线性,是因为该数据可定时获得。
步骤S103,QoS控制程序根据QoS线性度量数据来进行QoS控制,单个业务,使用单个QoS限额指标。
由相关技术中的方案可以看出,相关技术中,需要建立更多的线程,如定时触发线程,甚至还需要独立的控制线程。并且,对在客户端进行QoS控制,如果客户端出现冻结,就无法使定时触发线程工作。另外,线程切换需要占用更多的资源,即使没有数据访问,Qos采样线程还得存在。
基于相关技术中所存在的上述问题,本申请实施例提供一种业务处理方法在业务数据I/O的驱动下,即时计算QoS度量数据,进而实现对业务数据流量的即时控制。无需额外的线程,从而能够有效较少业务系统中的线程数量;对于具有大量用户的共享分布式存储系统,能够有效减少资源浪费。
图2为本申请实施例一所提供的业务处理方法的实现流程示意图,如图2所示,所述方法包括以下步骤:
步骤S201,在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据。
这里,所述业务系统包括但不限于是Qos系统。所述预设业务周期可以为所述业务系统预先设置的,例如,所述业务周期可以为2秒或者更长时间,本实施例对此不做限定。
所述业务系统包括即时计算模块和即时控制模块,在预设业务周期内,当业务系统中初次存在数据的输入或输出时,则触发所述即时计算模块开始获取业务系统的业务数据。这样,只有当业务系统中存储数据输入输出时,才触发统计业务数据,可以无需额外的定时器线程来进行定时采样,并且,如果没有数据输入输出,则不会进行数据采样,可以减小系统工作量,避免系统资源浪费。
本实施例中,所述业务数据可以为输入的请求数据或者输出的处理数据中的至少一种,当即时计算模块在采集业务数据时,可以根据系统预设的条件进行对应数据的采集。也就是说,如果系统预设的条件是采集输入的请求数据,则仅采集输入数据;如果系统预设的条件是即采集输入的请求数据,也采集输出的处理数据,则同时采集输入数据和输出数据。
需要说明的是,本实施例中,即时计算模块在被触发开始采集数据后,仅采集当前业务周期内的数据,当该业务周期结束时,即时计算模块停止数据采集工作。并在下一个业务周期开始后,在被触发之后才开始下一轮的数据采集工作。如果在当前业务周期内,存在多个业务线程,则采集多个业务线程的数据,得到的业务数据为多个业务线程的数据之和。
在本申请实施例中,所述即时计算模块采集业务线程在每一时刻的业务数据,可以以数据列表的形式采集数据,在数据列表中对应每一时刻均具有一个数据单元格,即时计算模块可以将每一时刻采集的数据记录到对应的数据单元格中,从而实现在一个业务周期内对数据的采集。当然,该数据列表在下一个业务周期内,可以被重复使用。
步骤S202,根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据。
这里,所述QoS共享数据为所述业务系统中全部或者部分业务线程的数据流量之和。当所述QoS共享数据为所述业务系统中全部业务线程的数据流量之和时,所述即时计算模块将当前业务周期的开始时刻至当前时刻所统计的全部业务线程的数据流量相加,所得的数据流量之和即为所述QoS共享数据;当所述QoS共享数据为所述业务系统中部分业务线程的数据流量之和时,所述即时计算模块将当前业务周期的开始时刻至当前时刻所统计的对应部分业务线程的数据流量相加,所得的数据流量之和即为所述QoS共享数据。
本实施例中,所述QoS共享数据可以为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和/或,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速。
举例来说,当统计的业务数据为以下至少之一时:IOPS、R-IOPS、W-IOPS,则所述QoS共享数据为所述业务线程在所述预设业务周期内IOPS和/或R-IOPS和/或W-IOPS的数据总量。当统计的业务数据为以下至少之一时:BW、R-BW、W-BW,则所述QoS共享数据为所述业务线程在所述预设业务周期内BW和/或R-BW和/或W-BW的值。
当然,所述QoS共享数据还可以为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速,也就是说,所述QoS共享数据不仅包括数据总量,还包括数据流速。
步骤S203,根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
这里,所述预设数据量阈值为业务系统预先设置的数据限额,包括数据总量限额和数据流速限额。
所述预设数据量阈值的种类根据所述QoS共享数据确定,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,则所述预设数据量阈值为所述数据总量限额;当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,则所述预设数据量阈值为所述数据流速限额;当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,则所述预设数据量阈值为数据总量限额和数据流速限额。
本实施例中,所述即时控制模块控制所述业务线程的数据流量,其中,所控制的数据流量包括以下之一:禁止所述业务线程的数据输入和/或输出、允许所述业务线程的数据正常输入和/或输出、允许所述业务线程的数据部分输入和/或输出。
本申请实施例提供的业务处理方法,首先,在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;然后,根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;最后,根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。这样,由于是在业务系统初次存在数据输入或输出时,开始统计业务线程的QoS共享数据,并实现对业务线程的数据流量的控制,因此,无需额外的定时器线程,从而能够有效较少业务系统中的线程数量;对于具有大量用户的共享分布式存储系统,能够有效减少资源浪费。
图3为本申请实施例二所提供的业务处理方法的实现流程示意图,如图3所示,所述方法包括以下步骤:
步骤S301,建立预设业务周期内的数据统计列表。
这里,所述数据统计列表中包括至少两个数据统计项,所述数据统计项是根据时间顺序均匀划分的,每一时刻对应一个数据统计项。所述数据统计项用于记录对应时刻所采集的业务数据。
步骤S302,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据。
这里,在预设业务周期内,当业务系统中初次存在数据的输入或输出时,则触发即时计算模块开始获取业务线程在每一时刻的业务数据。这样,只有当业务系统中存储数据输入输出时,才触发统计业务数据,可以无需额外的定时器线程来进行定时采样,并且,如果没有数据输入输出,则不会进行数据采样,可以减小系统工作量,避免系统资源浪费。
步骤S303,将当前时刻所统计的业务总数据写入对应的数据统计项中。
这里,所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和,也就是说,所述当前时刻所统计的业务总数据为当前时刻之前所统计的全部数据,或者,所述当前时刻所统计的业务总数据为当前时刻采集的业务数据,与当前时刻的前一时刻所对应的数据统计项中记录的数据之和。
举例来说,在第一时刻,采集的业务数据为1,则数据统计列表中的第一个数据统计项记录的数据为1;在第二时刻,采集的业务数据为2,则数据统计列表中的第二个数据统计项记录的数据为3(即为1+2);在第三时刻,采集的业务数据为2,则数据统计列表中的第三个数据统计项记录的数据为5(即为1+2+2,或者,为3+2)。
步骤S304,根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据。
这里,由于所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和,因此,可以将当前时刻的业务总数据直接确定为所述QoS共享数据。
举例来说,如果当前时刻为第三时刻,此时数据统计列表中的第三个数据统计项记录的数据为5,那么,所述QoS共享数据可以确定为5。显然,本实施例的方案,可以通过数据统计列表直接获取当前时刻对应的统计项记录,并获取该统计项记录中记录的数据,将该数据直接确定为所述QoS共享数据,避免了在确定所述QoS共享数据需要大量的计算过程而产生的时延。
本实施例中,所述QoS共享数据的种类可以根据数据统计项中记录的业务总数据的种类来确定,所述业务总数据的种类包括数据总量和/或数据流速,因此,所述QoS共享数据的种类也包括数据总量和/或数据流速。那么,步骤S304包括以下三种实现方式:
方式一:步骤S3041,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,将当前时刻对应的数据统计项中的业务总数据,确定为所述业务线程的QoS共享数据。
这里,可以直接获取当前时刻对应的数据统计项中记录的数据,将该数据确定为所述QoS共享数据。如果当前时刻为业务周期的终止时刻,则直接获取终止时刻的业务总数据,将该业务总数据确定为所述QoS共享数据。
方式二:步骤S3042,当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,根据所述起始时刻的业务总数据和当前时刻的业务总数据,确定所述业务线程的数据流速。
这里,确定所述数据流速,可以通过获取起始时刻的业务总数据和当前时刻的业务总数据,计算当前时刻与起始时刻的业务总数据的差值,再将该差值除以当前时刻与起始时刻的时间差,即可得到所述数据流速。
步骤S3043,将所述数据流速确定为所述业务线程的QoS共享数据。
这里,所述QoS共享数据即为所述数据流速。
方式三:步骤S3044,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和所述业务线程在所述预设业务周期内的数据流速时,将当前时刻对应的数据统计项中的业务总数据,和根据所述起始时刻的业务总数据和当前时刻的业务总数据所确定的数据流速,确定为所述业务线程的QoS共享数据。
这里,所述数据总量同上述方式一中的数据总量,所述数据流速同上述方式二中的数据流速。所不同的是,方式三中的QoS共享数据即包括数据总量,又包括数据流速。
步骤S305,根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
这里,所述预设数据量阈值为业务系统预先设置的数据限额,包括数据总量限额和数据流速限额。
所述预设数据量阈值的种类根据所述QoS共享数据确定,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,则所述预设数据量阈值为所述数据总量限额;当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,则所述预设数据量阈值为所述数据流速限额;当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,则所述预设数据量阈值为数据总量限额和数据流速限额。
本实施例中,所述即时控制模块控制所述业务线程的数据流量,其中,所控制的数据流量包括以下之一:禁止所述业务线程的数据输入和/或输出、允许所述业务线程的数据正常输入和/或输出、允许所述业务线程的数据部分输入和/或输出。
本申请实施例提供的业务处理方法,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据,这样,能够有效较少业务系统中的线程数量;对于具有大量用户的共享分布式存储系统,能够有效减少资源浪费。另外,建立预设业务周期内的数据统计列表,当所述业务系统中存在业务线程的数据输入或数据输出时,将当前时刻所统计的业务总数据写入对应的数据统计项中。这样,可以通过数据统计列表直接获取当前时刻对应的统计项记录,并获取该统计项记录中记录的数据,将该数据直接确定为所述QoS共享数据,避免了在确定所述QoS共享数据需要大量的计算过程而产生的时延。
图4为本申请实施例三所提供的业务处理方法的实现流程示意图,如图4所示,所述方法包括以下步骤:
步骤S401,建立预设业务周期内的数据统计列表。
步骤S402,当业务系统中初次存在业务线程的数据输入或数据输出时,开始获取所述业务线程在每一时刻的业务数据。
步骤S403,将当前时刻所统计的业务总数据写入对应的数据统计项中。
需要说明的是,步骤S401至步骤S403与上述步骤S301至步骤S303相同。
步骤S404,如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。
这里,如果业务系统中的全部业务线程在当前时刻均无数据的输入或者输出,则在当前时刻采集的业务数据为零,因此认为当前时刻未统计到有效的业务数据。
由于当前时刻采集的业务数据为零,因此,直接将当前时刻的前一时刻所对应的数据统计项直接的业务总数据,写入当当前时刻的数据统计项中。
举例来说,在第一时刻,采集的业务数据为1,则数据统计列表中的第一个数据统计项记录的数据为1;在第二时刻,采集的业务数据为2,则数据统计列表中的第二个数据统计项记录的数据为3(即为1+2);在第三时刻,采集的业务数据为0(即没有统计到有效的业务数据),则直接将第二个数据统计项中的数据记录在第三个数据统计项中,即在第三个数据统计项中记录的数据为3。
步骤S405,根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据。
步骤S406,根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
需要说明的是,步骤S405至步骤S406与上述步骤S304至步骤S305相同。
本申请实施例提供的业务处理方法,建立预设业务周期内的数据统计列表,如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。这样,可以保证在后续时刻统计数据时,数据统计项中的数据,可以直接根据前一时刻数据统计向中记载的数据,与当前时刻采集的业务数据进行计算快速得到,无需再检索前一时刻之前的统计数据,能够方便数据统计,提高系统数据统计效率。
图5为本申请实施例四所提供的业务处理方法的实现流程示意图,如图5所示,所述方法包括以下步骤:
步骤S501,在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据。
需要说明的是,步骤S501与上述步骤S201相同。
步骤S502,当所述业务线程的数量为一个时,根据所述业务线程的数据统计项中的业务总数据,确定所述业务线程的QoS共享数据。
这里,如果所述业务系统中仅有一个业务线程,则仅统计该一个业务线程的数据,将该一个业务线程的业务总数据,确定为所述QoS共享数据。
步骤S503,当所述业务线程的数量为多个时,根据全部业务线程的数据统计项中的业务总数据之和,确定所述业务线程的QoS共享数据。
这里,如果所述业务系统中具有多个业务线程时,则需要统计全部业务线程的数据,将全部业务线程的业务总数据之和,确定为所述QoS共享数据。
步骤S504,如果所述QoS共享数据小于所述预设数据量阈值时,允许所述业务线程的数据正常输入和输出。
这里,如果所述QoS共享数据小于所述预设数据量阈值时,表明当前流过的数据总量或者当前数据流速未达到预设的限制峰值,还具有一定的数据空间,可以继续正常输入和输出数据,或者,可以以更高的数据流速输入和输出数据。
步骤S505,如果所述QoS共享数据大于或等于所述预设数据量阈值时,禁止所述业务线程的数据输入和输出。
这里,如果所述QoS共享数据大于或等于所述预设数据量阈值时,表明当前流过的数据总量或者当前数据流速已经超出预设限额,因此,禁止所述业务线程的数据输入和输出。
基于上述实施例,本申请实施例再提供一种业务处理方法,所述方法在业务流程里增加QoS即时计算模块,即时计算QoS数据,其中,QoS即时计算模块即时计算数据,在业务数据I/O的驱动下,即时计算得到QoS度量数据,并存入共享数据。另外,在业务流程里增加QoS即时控制模块,根据QoS度量数据,共享QoS额度数据,计算业务流程限流时间,QoS即时控制模块对业务I/O流量限流。
图6A为本申请实施例所提供的业务处理方法中QoS系统的结构示意图,如图6A所示,所述QoS系统包括:QoS即时计算模块61和QoS即时控制模块62。其中,当业务I/O主线程610中有I/O数据611流过时,触发QoS即时计算模块61开始工作,所述QoS即时计算模块61,用于通过QoS即时计算算法计算QoS共享数据612,并将QoS共享数据612和QoS限额指标613一起发送给QoS即时控制模块62,以使所述QoS即时控制模块62根据QoS共享数据612和QoS限额指标613对业务I/O主线程610进行控制。
本实施例中,QoS共享数据612包括QoS非线性度量数据614。所述QoS非线性度量数据,还包含有来自于所述QoS系统中其他业务线程的QoS非线性度量数据615、616、617……
图6B为本申请实施例所提供的QoS即时计算算法示意图,如图6B所示,建立数据统计列表,该数据统计列表中包括至少一个数据统计项,每个数据统计项用于统计数据。图6B中的数据统计列表对应2秒预设时间周期,在该数据统计列表中,可以同时统计W-IOPS、R-IOPS、IOPS(其中,IOPS等于W-IOPS和R-IOPS之和)、W-BW、R-BW、BW(其中,BW等于W-BW和R-BW之和)。
基于上述QoS即时计算算法,本申请实施例提供一种业务处理方法,如图7所示,为本申请实施例所提供的业务处理方法的实现流程示意图,所述方法包括以下步骤:
步骤S701,Qos即时计算模块计算QoS度量数据。
这里,Qos即时计算模块首先建立固定间隔时间(比如2ms)的数据位置(即数据统计项);每次业务有数据流发生,计算对应时间的数据位置,然后把此时的数据总量填写到合适数据位置,如果前面的数据位置没有填写数据总量,就复制上一个有数据总量位置的数据。固定间隔时间的数据位置循环使用,可设置总数据长度,如图6B所示的QoS即时计算算法示意图,总数据长度设为2S。由于总数据长度为2S,因此,首尾数据之差除2,即为每秒数据量,即为所述QoS度量数据,此QoS度量数据可为数据字节数,也可以数据发生次数,因此计算出来就分别为每秒数据带宽或者IOPS。
步骤S702,Qos即时计算模块根据QoS度量数据确定Qos非线性度量数据。
这里,Qos即时计算模块是有数据流量时才度量,没有数据流量时,QoS度量数据自然为0。对需要对外定时发布流量的业务,只需定时去获取此QoS度量数据即可,如果获取不到,缺省QoS度量数据为0。由于该QoS度量数据为非线性度量数据,因此,将该QoS度量数据确定为Qos非线性度量数据。
步骤S703,业务系统确定Qos共享限额指标。
这里,如果有多个业务(不管是单用户的其他客户端,还是多用户的业务)需要共享QoS限额,利用Qos共享限额指标来实现多个业务共享QoS数据,QoS即时控制模块叠加多个Qos非线性度量数据即可得到QoS共享数据。
步骤S704,QoS即时控制模块对业务系统进行控制。
这里,QoS即时控制模块也是无需使用单独的线程,直接在业务I/O线程里面,根据QoS共享数据和Qos共享限额指标(即上述预设数据量阈值)直接对业务流量进行限流即可。
本申请实施例提供的业务处理方法,通过用户流量驱动上述QoS系统的业务处理方法,并且多用户存储共享,或者单用户存储但多客户端共享的业务处理方法。能够减少线程数,对提供大量用户的共享分布式存储系统,可以减少大量的资源;方便建立多用户共享或者特定用户域共享QoS系统资源。
基于前述的实施例,本申请实施例提供一种业务处理装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过业务处理设备中的处理器来实现;当然也可通过逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图8为本申请实施例所提供的业务处理装置的组成结构示意图,如图8所示,该数据处理装置800包括:
获取单元801,用于在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,获取所述业务线程在每一时刻的业务数据;
确定单元802,用于根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,或者,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;
控制单元803,用于根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量。
在其他实施例中,所述装置还包括:建立单元,用于建立所述预设业务周期内的数据统计列表;其中,所述数据统计列表中包括至少两个数据统计项;
第一写入单元,用于当所述业务系统中存在业务线程的数据输入或数据输出时,将当前时刻所统计的业务总数据写入对应的数据统计项中,其中,所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和;
对应地,所述确定单元包括:第一确定模块,用于根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据。
在其他实施例中,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,所述第一确定模块包括:第二确定模块,用于将当前时刻对应的数据统计项中的业务总数据,确定为所述业务线程的QoS共享数据。
在其他实施例中,当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,所述第一确定模块包括:第三确定模块,用于根据所述起始时刻的业务总数据和当前时刻的业务总数据,确定所述业务线程的数据流速;将所述数据流速确定为所述业务线程的QoS共享数据。
在其他实施例中,所述装置还包括:第二写入单元,用于如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。
在其他实施例中,所述控制单元包括:第一控制模块,用于如果所述QoS共享数据小于所述预设数据量阈值时,允许所述业务线程的数据正常输入和输出;第二控制模块,用于如果所述QoS共享数据大于或等于所述预设数据量阈值时,禁止所述业务线程的数据输入和输出。
在其他实施例中,所述第一确定模块包括:
第四确定模块,用于当所述业务线程的数量为一个时,根据所述业务线程的数据统计项中的业务总数据,确定所述业务线程的QoS共享数据;
第五确定模块,用于当所述业务线程的数量为多个时,根据全部业务线程的数据统计项中的业务总数据之和,确定所述业务线程的QoS共享数据。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的业务处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应的,本申请实施例提供一种业务处理设备,图9为本申请实施例所提供的业务处理设备的组成结构示意图,如图9所示,所述业务处理设备900至少包括:处理器901、通信接口902和配置为存储可执行指令的存储介质903,其中:
处理器901通常控制所述业务处理设备900的总体操作。
通信接口902可以使业务处理设备通过网络与其他终端或服务器通信。
存储介质903配置为存储由处理器901可执行的指令和应用,还可以缓存待处理器901以及业务处理设备900中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种业务处理方法,包括:
在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,触发开始获取所述业务线程在每一时刻的业务数据;
根据所述每一时刻的业务数据,确定所述业务线程的服务质量QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,和/或,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;
根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量;
所述方法还包括:
建立所述预设业务周期内的数据统计列表;其中,所述数据统计列表中包括至少两个数据统计项;所述数据统计项是根据时间顺序均匀划分的,每一时刻对应一个所述数据统计项;
当所述业务系统中存在业务线程的数据输入或数据输出时,将当前时刻所统计的业务总数据写入对应的数据统计项中,其中,所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和;
对应地,所述根据所述每一时刻的业务数据,确定所述业务线程的QoS共享数据,包括:当所述业务线程的数量为多个时,根据全部业务线程的数据统计项中的业务总数据之和,确定所述业务线程的QoS共享数据;
如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。
2.根据权利要求1所述的方法,当所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量时,所述根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据,包括:
将当前时刻对应的数据统计项中的业务总数据,确定为所述业务线程的QoS共享数据。
3.根据权利要求1所述的方法,当所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速时,所述根据所述数据统计项中的业务总数据,确定所述业务线程的QoS共享数据,包括:
根据所述起始时刻的业务总数据和当前时刻的业务总数据,确定所述业务线程的数据流速;
将所述数据流速确定为所述业务线程的QoS共享数据。
4.根据权利要求1所述的方法,所述根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量,包括:
如果所述QoS共享数据小于所述预设数据量阈值时,允许所述业务线程的数据正常输入和输出;
如果所述QoS共享数据大于或等于所述预设数据量阈值时,禁止所述业务线程的数据输入和输出。
5.一种业务处理装置,包括:
获取单元,用于在预设业务周期内,当业务系统中初次存在业务线程的数据输入或数据输出时,触发开始获取所述业务线程在每一时刻的业务数据;
建立单元,用于建立所述预设业务周期内的数据统计列表;其中,所述数据统计列表中包括至少两个数据统计项;所述数据统计项是根据时间顺序均匀划分的,每一时刻对应一个所述数据统计项;
第一写入单元,用于当所述业务系统中存在业务线程的数据输入或数据输出时,将当前时刻所统计的业务总数据写入对应的数据统计项中,其中,所述业务总数据为所述预设业务周期的起始时刻至当前时刻的所述业务数据之和;
确定单元,包括第一确定模块,所述第一确定模块用于当所述业务线程的数量为多个时,根据全部业务线程的数据统计项中的业务总数据之和,确定所述业务线程的QoS共享数据;其中,所述QoS共享数据为所述业务线程在所述预设业务周期内输入和/或输出的数据总量,或者,所述QoS共享数据为所述业务线程在所述预设业务周期内的数据流速;
控制单元,用于根据所述QoS共享数据和预设数据量阈值,控制所述业务线程的数据流量;
第二写入单元,用于如果当前时刻未统计到有效的业务数据时,将与当前时刻相邻的前一时刻所对应的数据统计项中的业务总数据,写入至当前时刻对应的数据统计项中。
6.一种业务处理设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:所述处理器配置为执行存储的可执行指令;
所述可执行指令配置为执行上述权利要求1至4任一项所提供的业务处理方法。
7.一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令配置为执行上述权利要求1至4任一项所提供的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811428295.7A CN109587075B (zh) | 2018-11-27 | 2018-11-27 | 一种业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811428295.7A CN109587075B (zh) | 2018-11-27 | 2018-11-27 | 一种业务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109587075A CN109587075A (zh) | 2019-04-05 |
CN109587075B true CN109587075B (zh) | 2023-07-21 |
Family
ID=65925022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811428295.7A Active CN109587075B (zh) | 2018-11-27 | 2018-11-27 | 一种业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587075B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324211A (zh) * | 2019-08-08 | 2019-10-11 | 宜人恒业科技发展(北京)有限公司 | 一种数据获取方法及装置 |
CN111708496A (zh) * | 2020-06-19 | 2020-09-25 | 广州市品高软件股份有限公司 | 一种读写请求的调度方法、存储介质以及分布式存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612842A (zh) * | 2017-09-07 | 2018-01-19 | 携程商旅信息服务(上海)有限公司 | 基于令牌管理的数据采集方法、系统、设备及存储介质 |
CN107704622A (zh) * | 2017-10-27 | 2018-02-16 | 成都艾薇尼尔信息技术有限公司 | 一种基于大数据分析的智能商业服务系统 |
CN108282411A (zh) * | 2017-12-29 | 2018-07-13 | 北京五八信息技术有限公司 | 一种访问限流方法、装置、设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136916A1 (en) * | 2004-12-17 | 2006-06-22 | Rowland John R | Method and apparatus for transaction performance and availability management based on program component monitor plugins and transaction performance monitors |
CN101114946A (zh) * | 2007-09-12 | 2008-01-30 | 中兴通讯股份有限公司 | 在电信网管系统中性能对象数据的采集方法 |
-
2018
- 2018-11-27 CN CN201811428295.7A patent/CN109587075B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612842A (zh) * | 2017-09-07 | 2018-01-19 | 携程商旅信息服务(上海)有限公司 | 基于令牌管理的数据采集方法、系统、设备及存储介质 |
CN107704622A (zh) * | 2017-10-27 | 2018-02-16 | 成都艾薇尼尔信息技术有限公司 | 一种基于大数据分析的智能商业服务系统 |
CN108282411A (zh) * | 2017-12-29 | 2018-07-13 | 北京五八信息技术有限公司 | 一种访问限流方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109587075A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343965A (zh) | 资源调整方法、装置、云平台和服务器 | |
CN109587075B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN110661824B (zh) | 分布式集群中服务器的流量调控方法及存储介质 | |
EP2713270A1 (en) | Resource scheduling method and device | |
CN110855741B (zh) | 业务的自适应接入方法和装置、存储介质、电子装置 | |
US11050649B2 (en) | Delay measurement method of network node device, apparatus, and network node device | |
CN111163018A (zh) | 网络设备及其降低传输时延的方法 | |
CN105242955A (zh) | 一种虚拟机磁盘输入输出调度方法及系统 | |
CN102710502B (zh) | 一种基于消耗时间的网络限速方法及装置 | |
CN111030883A (zh) | 一种电力信息传输时延分析方法、装置、设备和存储介质 | |
US20230195315A1 (en) | Nonvolatile memory scheduling method, system and device, and readable storage medium | |
CN114338159A (zh) | 访问限制方法、装置、非易失性存储介质及处理器 | |
CN101854259B (zh) | 一种数据包的计数方法及系统 | |
CN106534231B (zh) | 一种网络资源的使用限额的控制方法、装置及系统 | |
CN108664322A (zh) | 数据处理方法及系统 | |
CN109787922B (zh) | 一种获取队列长度的方法、设备及计算机可读存储介质 | |
CN104219102B (zh) | 一种网络数据压缩统计的方法、装置和系统 | |
CN110045924A (zh) | 分级存储方法、装置、电子设备及计算机可读存储介质 | |
CN113079062B (zh) | 一种资源调整方法、装置、计算机设备和存储介质 | |
CN112671667B (zh) | 一种虚拟转发设备的转发限速方法及系统 | |
CN108810074A (zh) | 数据传输方法、装置及系统、终端 | |
CN114513469A (zh) | 分布式系统的流量整形方法、装置和存储介质 | |
CN111767188B (zh) | 一种训练任务监控方法及装置 | |
CN109560965B (zh) | 一种分布式系统的流量获取方法、装置及设备 | |
CN108989461B (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 |