CN110688231B - 读写请求统计信息的处理方法、装置和系统 - Google Patents
读写请求统计信息的处理方法、装置和系统 Download PDFInfo
- Publication number
- CN110688231B CN110688231B CN201810725123.XA CN201810725123A CN110688231B CN 110688231 B CN110688231 B CN 110688231B CN 201810725123 A CN201810725123 A CN 201810725123A CN 110688231 B CN110688231 B CN 110688231B
- Authority
- CN
- China
- Prior art keywords
- read
- thread
- time unit
- write
- statistical information
- 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
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Abstract
本发明公开了一种读写请求统计信息的处理方法、装置和系统。其中,该方法包括:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。本发明解决了现有的加锁统计信息方式导致信息统计效率低的技术问题。
Description
技术领域
本发明涉及信息处理领域,具体而言,涉及一种读写请求统计信息的处理方法、装置和系统。
背景技术
目前,在块存储系统的实现中,需要若干层级的IO(Input Output,读写)转发系统将云磁盘的IO请求递交到物理硬盘中,其中,每一级的IO转发系统都会维护当前的统计信息,例如,已处理的IO请求的数量、当前正在处理的IO请求的信息等。上述统计信息通常由IO转发系统中负责处理IO请求的读写线程来进行更新操作。此外,信息统计的结果需要通过运维接口进行展示,例如,运维人员可通过调用展示命令来查看5分钟内,每秒的IO请求处理数量。在实际应用中,由于运维接口所在的线程与IO处理线程之间可能同时去获取和修改相同的统计数据,因此运维接口所在的线程与IO处理线程之间也需要互斥。
在现有技术中,可通过在统计信息的内存区域设置互斥锁来使多个线程间互斥。如图1和图2所示,图1示出了更新统计信息的方法流程,图2示出了读取统计信息的方法流程,其中,图1为IO处理线程,图2为运维线程。由图1和图2可知,当需要读取或者修改统计信息时,首先获取互斥锁的使用权,即请求获取互斥锁。如果有其他线程已经获取该互斥锁,则该线程需要排队等候。在获取到互斥锁之后,可执行对应的业务命令。例如,对于IO处理线程,则获取当前时间戳对应的秒级统计数据存储区域,然后更新该存储区域内的统计信息,在统计信息更新完毕之后,解除互斥锁的占用;对于运维线程,则是拉取指定时间范围内所有的秒级统计数据,并解除互斥锁的占用。
然而,对线程进行加锁耗时较大,当IO转发系统对操作耗时很敏感时,加锁操作可能会给服务器带来较为明显的性能损失。另外,在多线程的场景下,多个线程需要互斥访问同一个区域,互斥操作部分的代码等于同时只能一个线程在执行,这对计算机性能产生了较大的影响。
针对上述现有的加锁统计信息方式导致信息统计效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种读写请求统计信息的处理方法、装置和系统,以至少解决现有的加锁统计信息方式导致信息统计效率低的技术问题。
根据本发明实施例的一个方面,提供了一种读写请求统计信息的处理方法,包括:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
根据本发明实施例的另一方面,还提供了一种读写请求统计信息的处理装置,包括:第一控制模块,用于控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;第二控制模块,用于控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备中执行如下步骤:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
根据本发明实施例的另一方面,还提供了一种计算机设备,包括:处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
根据本发明实施例的另一方面,还提供了一种读写请求统计信息的处理系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
在本发明实施例中,采用为每个读写线程设置对应的存储区域的方式,通过控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,并控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求,达到了在不使用互斥锁的情况下完成多个线程之间的数据更新的目的,从而实现了提高信息统计效率的技术效果,进而解决了现有的加锁统计信息方式导致信息统计效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种更新统计信息的方法流程;
图2是根据现有技术的一种读取统计信息的方法流程;
图3是根据本发明实施例的一种读写请求统计信息的处理方法的流程图;
图4是根据本发明实施例的一种可选的读写线程的流程图;
图5是根据本发明实施例的一种可选的运维线程的流程图;
图6是根据本发明实施例的一种可选的读写线程对应的存储区域集合的示意图;
图7是根据本发明实施例的一种读写请求统计信息的处理装置的结构示意图;以及
图8是根据本发明实施例的一种计算机设备的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
云服务器,由云主机厂商所提供,基于云计算技术生产出来,用于使用户通过远程登陆的方式对服务器进行操作管理,其中,用户对云服务器的操作管理与对普通的远程物理服务器的操作管理相同。
云磁盘,为建立在分布式存储系统上的磁盘实例,其中,在云服务器中,云磁盘可作为计算机磁盘进行读写。
IO请求,指用户对云磁盘进行读写操作时所产生的读写请求,其中,每个读写请求为一个IO请求。
IO转发系统,指从使用云磁盘的云服务器到后端存储数据的存储系统之间,需要多台物理服务器传输数据,每台服务器中具有转发IO请求的程序或应用,该程序或应用即为IO转发系统。
多线程IO转发系统,指为提高系统的性能,使IO转发系统使用多个线程同时进行转发的系统。
统计信息采集,指为使运维人员了解服务器的运行状况,IO转发系统中需要采集和统计IO请求的相关信息,例如,预设时间段内处理的IO请求的个数、处理消耗的时间等。服务器在处理每个IO请求时需要对统计数据进行更新,而并根据运维人员的需求展示数据。
按秒统计信息,指按秒分类整理IO请求的统计信息,例如,统计每秒执行的IO请求的数量、执行IO请求的总时长等数据。其中,按秒统计的性能数据能够有效反映整个系统的性能变化趋势,是运维人员关注的信息。
互斥锁,为操作系统所提供的编程对象,用于保证在任意时刻,仅允许一个线程访问该对象。
实施例1
根据本发明实施例,还提供了一种读写请求统计信息的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,还需要说明的是,现有技术通过设置互斥锁来为保证多个线程间的互斥。具体的,在更新每秒的统计数据时,负责统计数据的读写线程需要根据该IO请求的完成时间点,确定该时间点所对应的秒级统计数据的存储区域,并更新该存储区域中的统计信息。例如,服务器在1分20秒30时完成了一个IO请求,则对应的读写线程需要找到该IO请求所对应的秒级统计数据存储区域,即用于记录1分20秒00至1分21秒00这一时长内的统计数据存储区域,然后再向该统计数据存储中更新信息,例如,对已完成的IO请求数量进行加一操作。在多线程的IO转发系统中,有可能多个IO请求对应的线程需要同时更新按秒统计的信息,此时需要保证多个IO请求对应的线程之间的互斥,以避免多个线程同时修改同一信息。此外,信息统计的结果需要通过运维接口进行展示,例如,运维人员可通过调用展示命令来查看5分钟内,每秒的IO请求处理数量。在实际应用中,为避免运维展示占用IO请求处理的时间,以造成延时,展示命令一般在其他线程中执行,而不会在IO请求处理的线程中执行。由于运维接口所在的线程与IO处理线程之间可能同时去获取和修改相同的统计数据,因此运维接口所在的线程与IO处理线程之间也需要互斥。然而,对线程进行加锁耗时较大,当IO转发系统对操作耗时很敏感时,加锁操作可能会给服务器带来较为明显的性能损失。另外,在多线程的场景下,多个线程需要互斥访问同一个区域,互斥操作部分的代码等于同时只能一个线程在执行,这对计算机性能产生了较大的影响。
为解决上述问题,本实施例提供了一种读写请求统计信息的处理方法,其中,图3是根据本发明实施例一的读写请求统计信息的处理方法的流程图,由图3可知,该方法包括以下步骤:
步骤S302,控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求。
需要说明的是,由于每个读写线程对应的从存储区域相互独立,因此,多个读写线程可同时对对应的存储区域进行操作,而不会影响其他读写线程对存储区域的访问。如图4所示的读写线程的流程图,IO线程1和IO线程N之间对存储区域的操作互不影响。另外,由于每个读写线程可对应至少一个存储区域,因此,读写线程与存储区域之间具有对应关系,无需互斥锁即可实现多个读写线程同时对存储区域内统计信息的更新,降低了系统消耗,提高了信息统计的效率。
另外,当前时间单元的数量级为秒级,例如,当前时间单元为一秒。为保证多个读写线程的时间同步,对于单机服务器,可使不同线程之间的时间戳相同;对于多机服务器,可采用网络时间协议NTP(Network Time Protocol)来控制多个读写线程的时间同步。
步骤S304,控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
需要说明的是,除IO线程(即读写线程)需要读取存储区域的数据之外,运维命令所在的线程也需要对存储区域中的数据进行读取以进行展示。为避免运维线程与IO线程同时访问相同的存储区域,可使运维线程只能获取当前时间单元之前(例如,当前时间单元之前的1秒)的统计数据,在如图5所示的运维线程中,当前时间单元为t,则运维线程可获取t-1秒之前的存储区域内的数据。
由上述内容可知,IO线程只会修改当前时间单元的存储区域内的数据,并不会对其他时间单元内存储区域内的数据进行修改。因此,通过步骤S304可使IO线程和运维线程不会在同一时间对相同的存储区域进行访问,两者之间无需加锁。
此外,还需要说明的是,通过步骤S304,多个IO线程和运维线程可以互不冲突地访问所需要的数据区域,进而提高了服务器处理数据的效率。
基于上述步骤S302至步骤S304所限定的方案,可以获知,通过控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,并控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求。
容易注意到的是,由于每个读写线程对应的从存储区域相互独立,因此,多个读写线程可同时对对应的存储区域进行操作,而不会影响其他读写线程对存储区域的访问。另外,由于读写线程与运维线程访问存储区域的时间不同,因此,多个读写线程和运维线程可以互不冲突地访问所需要的数据区域,进而提高了服务器处理数据的效率。
由此可见,本申请所提供的读写请求统计信息的处理方法可以达到在不使用互斥锁的情况下完成多个线程之间的数据更新的目的,从而实现了提高信息统计效率的技术效果,进而解决了现有的加锁统计信息方式导致信息统计效率低的技术问题。
在一种可选的方案中,控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,可以包括:
步骤S3020,获取与每个读写线程对应的存储区域集合,其中,存储区域集合按照时间单元分为多个存储区域;
步骤S3022,从存储区域集合中查找与当前时间单元对应的存储区域;
步骤S3024,控制每个读写线程在查找到的存储区域内同步更新统计信息。
具体的,每个读写线程对应一个存储区域集合,如图6所示的读写线程对应的存储区域集合,由图6可知,每个存储集合包含多个时间单元对应的存储区域,例如,t-1秒数据的存储区域、t-2秒数据的存储区域以及t秒数据的存储区域。服务器确定当前时间单元为t,然后从存储区域集合中查找与当前时间单元t对应的存储区域,并获取该存储区域对应的数据,即t秒数据。此时,读写线程即可对该数据进行更新统计。
在一种可选的方案中,控制至少一个运维线程在当前时间单元内获取至少一个读写线程在预设时间范围内同步更新的统计信息可以包括:
步骤S3040,控制至少一个运维线程按照预设时间顺序依次获取每个读写线程在预设时间范围内每个相同时间单元内更新的统计数据;
步骤S3042,控制至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计,得到至少一个读写线程在预设时间范围的每个相同时间单元内同步更新的统计信息。
具体的,如图5所示,在运维线程下,运维线程获取每个IO线程的存储区域,并从第t-1秒开始向前对每个线程的存储区域进行遍历,即在获取第t-1秒内的数据之后,再获取第t-2秒内的数据。然后将获取到的每个存储区域内的数据进行求和计算,得到每个时间单元内同步更新的统计信息,并将统计结果存储在结果集合中。
进一步的,可通过如下方法控制至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计:
步骤S4040,确定在每个相同时间单元内获取到的每个读写线程更新的统计数据的统计类型;
步骤S4042,控制至少一个运维线程采用与统计类型对应的统计方式对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计。
具体的,仍以图5为例进行说明。运维线程遍历到了IO线程x的第k秒的数据,并将该份数据存储至结果集合中,作为结果集合的第k秒数据。如果在此之前,已有其他线程,例如,其他的运维线程,在结果集合中存储入第k秒的数据,则当前的运维线程将当前遍历到IO线程x的第k秒的数据与结果集合中第k秒的数据进行集成,并将加成结果存储至第k秒数据对应的存储区域内,以实现对每秒数据的n个线程的加成。其中,具体加成方式由具体所要统计的数据类型确定,例如,对总数类型的数据进行求和处理,对求平均值类型的数据进行平均处理。在对IO线程中的数据遍历完毕之后,结果集合中将存储从t-1秒开始的,每一秒时间里的统计数据。其中,上述统计数据为n个线程数据的加成结果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的读写请求统计信息的处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述读写请求统计信息的处理方法的读写请求统计信息的处理装置,如图7所示,该装置包括:第一控制模块701以及第二控制模块703。
其中,第一控制模块701,用于控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;第二控制模块703,用于控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息。
需要说明的是,当前时间单元的数量级为秒级,例如,当前时间单元为一秒。
此处,需要说明的是,上述第一控制模块701以及第二控制模块703对应于实施例1中的步骤S302至步骤S304,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,对于多机服务器,采用网络时间协议来控制多个读写线程的时间同步。
在一种可选的方案中,第一控制模块包括:第一获取模块、查找模块以及第三控制模块。其中,第一获取模块,用于获取与每个读写线程对应的存储区域集合,其中,存储区域集合按照时间单元分为多个存储区域;查找模块,用于从存储区域集合中查找与当前时间单元对应的存储区域;第三控制模块,用于控制每个读写线程在查找到的存储区域内同步更新统计信息。
此处,需要说明的是,上述第一获取模块、查找模块以及第三控制模块对应于实施例1中的步骤S3020至步骤S3024,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,第二控制模块包括:第四控制模块以及第五控制模块。其中,第四控制模块,用于控制至少一个运维线程按照预设时间顺序依次获取每个读写线程在预设时间范围内每个相同时间单元内更新的统计数据;第五控制模块,用于控制至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计,得到至少一个读写线程在预设时间范围的每个相同时间单元内同步更新的统计信息。
此处,需要说明的是,上述第四控制模块以及第五控制模块对应于实施例1中的步骤S3040至步骤S3042,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的方案中,第五控制模块包括:确定模块以及第六控制模块。其中,确定模块,用于确定在每个相同时间单元内获取到的每个读写线程更新的统计数据的统计类型;第六控制模块,用于控制至少一个运维线程采用与统计类型对应的统计方式对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计。
此处,需要说明的是,上述确定模块以及第六控制模块对应于实施例1中的步骤S4040至步骤S4042,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
实施例3
本发明的实施例可以提供一种计算机设备,该计算机设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
图8示出了一种计算机设备的硬件结构框图。如图8所示,计算机设备A可以包括一个或多个(图中采用802a、802b,……,802n来示出)处理器802(处理器802可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器804、以及用于通信功能的传输装置806。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机设备A还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
应当注意到的是上述一个或多个处理器802和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机设备A中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
处理器802可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,其中,当前时间单元的数量级为秒级,例如,当前时间单元为一秒。
存储器804可用于存储应用软件的软件程序以及模块,如本申请实施例中的读写请求统计信息的处理方法对应的程序指令/数据存储装置,处理器802通过运行存储在存储器804内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的读写请求统计信息的处理方法。存储器804可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器804可进一步包括相对于处理器802远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备A的通信供应商提供的无线网络。在一个实例中,传输装置806包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置806可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机设备A的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图8所示的计算机设备A可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图8仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备A中的部件的类型。
在本实施例中,上述计算机设备A可以执行应用程序的读写请求统计信息的处理方法中以下步骤的程序代码:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,其中,当前时间单元的数量级为秒级,例如,当前时间单元为一秒。
在本实施例中,上述计算机设备A可以执行应用程序的读写请求统计信息的处理方法中以下步骤的程序代码:获取与每个读写线程对应的存储区域集合,其中,存储区域集合按照时间单元分为多个存储区域;从存储区域集合中查找与当前时间单元对应的存储区域;控制每个读写线程在查找到的存储区域内同步更新统计信息。
在本实施例中,上述计算机设备A可以执行应用程序的读写请求统计信息的处理方法中以下步骤的程序代码:控制至少一个运维线程按照预设时间顺序依次获取每个读写线程在预设时间范围内每个相同时间单元内更新的统计数据;控制至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计,得到至少一个读写线程在预设时间范围的每个相同时间单元内同步更新的统计信息。
在本实施例中,上述计算机设备A可以执行应用程序的读写请求统计信息的处理方法中以下步骤的程序代码:确定在每个相同时间单元内获取到的每个读写线程更新的统计数据的统计类型;控制至少一个运维线程采用与统计类型对应的统计方式对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算机设备A还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的读写请求统计信息的处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,其中,当前时间单元的数量级为秒级,例如,当前时间单元为一秒。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取与每个读写线程对应的存储区域集合,其中,存储区域集合按照时间单元分为多个存储区域;从存储区域集合中查找与当前时间单元对应的存储区域;控制每个读写线程在查找到的存储区域内同步更新统计信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:控制至少一个运维线程按照预设时间顺序依次获取每个读写线程在预设时间范围内每个相同时间单元内更新的统计数据;控制至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计,得到至少一个读写线程在预设时间范围的每个相同时间单元内同步更新的统计信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定在每个相同时间单元内获取到的每个读写线程更新的统计数据的统计类型;控制至少一个运维线程采用与统计类型对应的统计方式对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计。
实施例5
本发明的实施例还提供了一种读写请求统计信息的处理系统,其中,该系统包括:处理器;以及存储器。
其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内更新统计信息,其中,每个读写线程记录统计信息的存储区域相互独立,统计信息至少用于记录每个读写线程在当前时间单元内处理过的读写请求;控制至少一个运维线程在当前时间单元内获取至少一个读写线程在当前时间单元之前的预设时间范围内同步更新的统计信息,并对获取到的统计结果进行展示。
需要说明的是,对于多机服务器,采用网络时间协议来控制多个读写线程的时间同步。
在一种可选的方案中,处理器获取与每个读写线程对应的存储区域集合,并从存储区域集合中查找与当前时间单元对应的存储区域,然后控制每个读写线程在查找到的存储区域内同步更新统计信息,其中,存储区域集合按照时间单元分为多个存储区域。
在一种可选的方案中,处理器控制至少一个运维线程按照预设时间顺序依次获取每个读写线程在预设时间范围内相同单位时间内更新的统计数据,然后控制至少一个运维线程对相同单位时间内获取到的每个读写线程更新的统计数据进行综合统计,得到至少一个读写线程在预设时间范围的每个单位时间内同步更新的统计信息。
在一种可选的方案中,处理器首先确定在相同单位时间内获取到的每个读写线程更新的统计数据的统计类型,然后再控制至少一个运维线程采用与统计类型对应的统计方式对相同单位时间内获取到的每个读写线程更新的统计数据进行综合统计。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种读写请求统计信息的处理方法,其特征在于,包括:
控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内同步更新统计信息,其中,所述存储区域与时间单元对应,每个读写线程记录所述统计信息的存储区域相互独立,所述统计信息至少用于记录每个读写线程在所述当前时间单元内处理过的读写请求;
控制至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息。
2.根据权利要求1所述的方法,其特征在于,控制所述至少一个读写线程在所述当前时间单元内分别在每个读写线程对应的存储区域内更新所述统计信息包括:
获取与每个读写线程对应的存储区域集合,其中,所述存储区域集合按照时间单元分为多个存储区域;
从所述存储区域集合中查找与所述当前时间单元对应的存储区域;
控制每个读写线程在查找到的存储区域内同步更新所述统计信息。
3.根据权利要求1所述的方法,其特征在于,对于多机服务器,采用网络时间协议来控制多个读写线程的时间同步。
4.根据权利要求1所述的方法,其特征在于,控制所述至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息包括:
控制所述至少一个运维线程按照预设时间顺序依次获取每个读写线程在所述预设时间范围内每个相同时间单元内更新的统计数据;
控制所述至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计,得到所述至少一个读写线程在所述预设时间范围的每个相同时间单元内同步更新的统计信息。
5.根据权利要求4所述的方法,其特征在于,控制所述至少一个运维线程分别针对每个相同时间单元内获取到的每个读写线程更新的统计数据进行综合统计包括:
确定在每个相同时间单元内获取到的每个读写线程更新的统计数据的统计类型;
控制所述至少一个运维线程采用与所述统计类型对应的统计方式对每个相同时间单元内获取到的每个读写线程更新的统计数据进行统计。
6.根据权利要求1所述的方法,其特征在于,所述当前时间单元的数量级为秒级。
7.根据权利要求6所述的方法,其特征在于,所述当前时间单元为一秒。
8.一种读写请求统计信息的处理装置,其特征在于,包括:
第一控制模块,用于控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内同步更新统计信息,其中,所述存储区域与时间单元对应,每个读写线程记录所述统计信息的存储区域相互独立,所述统计信息至少用于记录每个读写线程在所述当前时间单元内处理过的读写请求;
第二控制模块,用于控制至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时执行如下步骤:
控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内同步更新统计信息,其中,所述存储区域与时间单元对应,每个读写线程记录所述统计信息的存储区域相互独立,所述统计信息至少用于记录每个读写线程在所述当前时间单元内处理过的读写请求;
控制至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息。
10.一种计算机设备,其特征在于,包括:处理器,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:
控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内同步更新统计信息,其中,所述存储区域与时间单元对应,每个读写线程记录所述统计信息的存储区域相互独立,所述统计信息至少用于记录每个读写线程在所述当前时间单元内处理过的读写请求;
控制至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息。
11.一种读写请求统计信息的处理系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
控制至少一个读写线程在当前时间单元内分别在每个读写线程对应的存储区域内同步更新统计信息,其中,所述存储区域与时间单元对应,每个读写线程记录所述统计信息的存储区域相互独立,所述统计信息至少用于记录每个读写线程在所述当前时间单元内处理过的读写请求;
控制至少一个运维线程在所述当前时间单元内获取所述至少一个读写线程在所述当前时间单元之前的预设时间范围内同步更新的统计信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810725123.XA CN110688231B (zh) | 2018-07-04 | 2018-07-04 | 读写请求统计信息的处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810725123.XA CN110688231B (zh) | 2018-07-04 | 2018-07-04 | 读写请求统计信息的处理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688231A CN110688231A (zh) | 2020-01-14 |
CN110688231B true CN110688231B (zh) | 2023-02-28 |
Family
ID=69107248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810725123.XA Active CN110688231B (zh) | 2018-07-04 | 2018-07-04 | 读写请求统计信息的处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688231B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106489132A (zh) * | 2014-09-19 | 2017-03-08 | 华为技术有限公司 | 读写数据的方法、装置、存储设备和计算机系统 |
CN108108463A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 基于时间片调度的同步任务处理方法及装置 |
CN108182119A (zh) * | 2017-11-28 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 读写分离控制方法和装置、存储介质及电子装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069790B2 (en) * | 2013-03-14 | 2015-06-30 | Stephen P. LORD | Multi-threaded message passing journal |
-
2018
- 2018-07-04 CN CN201810725123.XA patent/CN110688231B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106489132A (zh) * | 2014-09-19 | 2017-03-08 | 华为技术有限公司 | 读写数据的方法、装置、存储设备和计算机系统 |
CN108182119A (zh) * | 2017-11-28 | 2018-06-19 | 腾讯科技(深圳)有限公司 | 读写分离控制方法和装置、存储介质及电子装置 |
CN108108463A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 基于时间片调度的同步任务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110688231A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062367B (zh) | 一种数据列表的上传方法及其终端 | |
CN110136209B (zh) | 一种摄像头标定方法、装置及计算机可读存储介质 | |
CN110825772A (zh) | 多个服务实例的内存数据的同步方法、装置及存储介质 | |
CN110795496A (zh) | 数据同步方法、装置及系统 | |
CN111008026A (zh) | 集群管理方法、装置及系统 | |
CN110928681A (zh) | 数据的处理方法和装置、存储介质及电子装置 | |
CN110572365A (zh) | 多协议服务器管理方法、系统、终端设备及存储介质 | |
CN110781215A (zh) | 数据的查询方法、装置以及存储介质 | |
CN110941634A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN110704198B (zh) | 数据操作方法、装置、存储介质以及处理器 | |
CN107135108A (zh) | 网络连接列表的更新方法及系统 | |
CN114430366A (zh) | 信息采集应用下发方法、相关装置及计算机程序产品 | |
CN112671878B (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN110688231B (zh) | 读写请求统计信息的处理方法、装置和系统 | |
US20170308418A1 (en) | Information processing device, information processing program, and information processing method | |
CN112069190B (zh) | 一种分批数据获取方法、装置、设备及介质 | |
WO2018000622A1 (zh) | Wms系统与erp系统的同步方法及系统 | |
CN110958287B (zh) | 操作对象数据同步方法、装置及系统 | |
CN110309120B (zh) | 数据处理方法和数据处理装置 | |
CN110659299B (zh) | 数据更新的方法及装置、前端开发客户端 | |
CN102377580A (zh) | 性能数据的上传方法和设备 | |
CN110858201B (zh) | 数据处理方法及系统、处理器、存储介质 | |
CN108737001A (zh) | 一种数据处理方法及相关设备 | |
CN110347683B (zh) | 一种数据表合并处理方法及装置 | |
CN110045929B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230601 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |