CN112925617A - 数据处理方法、装置及系统 - Google Patents

数据处理方法、装置及系统 Download PDF

Info

Publication number
CN112925617A
CN112925617A CN202110120825.7A CN202110120825A CN112925617A CN 112925617 A CN112925617 A CN 112925617A CN 202110120825 A CN202110120825 A CN 202110120825A CN 112925617 A CN112925617 A CN 112925617A
Authority
CN
China
Prior art keywords
access requests
queue
processing
threads
calling
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
Application number
CN202110120825.7A
Other languages
English (en)
Inventor
谢刚
程喜红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Youheng Network Technology Co Ltd
Original Assignee
Changsha Youheng Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changsha Youheng Network Technology Co Ltd filed Critical Changsha Youheng Network Technology Co Ltd
Priority to CN202110120825.7A priority Critical patent/CN112925617A/zh
Publication of CN112925617A publication Critical patent/CN112925617A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority 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

数据处理方法、装置及系统
技术领域
本申请实施例涉及计算机应用技术领域,尤其涉及一种数据处理方法、装置及系统。
背景技术
随着互联网技术的发展,用户访问服务器,以获取数据的情况越来越多。系统需要处理的请求数量也在增加。在实际应用中,会存在大量用户同时访问服务器的情况,此时,系统需要处理大量请求,可能会超过系统处理请求的能力,从而影响系统稳定。
目前,为了保护系统稳定,在处理大量请求时,通常会采用限流的方法,例如可以为系统设置最大请求数量,当请求数量超过该最大请求数量时,拒绝对超出的请求进行处理,该方法无法有效进行请求处理,影响用户体验。
发明内容
本申请实施例提供一种数据处理方法、装置及系统,实现了对访问请求的有效处理。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
接收多个访问请求;
判断所述多个访问请求的数量是否超过阈值;
若否,调用第一数量个线程处理所述多个访问请求;
若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
第二方面,本申请实施例中提供了一种数据处理装置,包括:
接收模块,用于接收多个访问请求;
判断模块,用于判断所述多个访问请求的数量是否超过阈值;
第一处理模块,若判断模块结果为否,用于调用第一数量个线程处理所述多个访问请求;
第二处理模块,若判断模块结果为是,用于调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
第三处理模块,用于调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
第三方面,本申请实施例中提供了一种数据处理系统,包括存储组件及处理组件;
所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
接收多个访问请求;
判断所述多个访问请求的数量是否超过阈值;
若否,调用第一数量个线程处理所述多个访问请求;
若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
本申请实施例中,通过对访问请求的数量设置阈值,并判断接收到的多个访问请求是否超过该阈值,当超过阈值时,对于阈值数量个访问请求进行处理,并将未处理的剩余访问请求保存至至少一个队列中,以调用第三数量个线程定时从该至少一个队列中获取并处理访问请求,实现了对访问请求的处理,避免出现拒绝处理访问请求的情况,提高了用户体验。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或传统方案中的技术方案,下面将对实施例或传统方案描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请提供的一种数据处理方法一个实施例的流程图;
图2示出了本申请提供的一种数据处理装置一个实施例的结构示意图;
图3示出了本申请提供的一种数据处理系统一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以应用于服务器处理访问请求的场景。随着用户访问服务器的情况越来越多。系统需要处理的请求数量也在增加。在实际应用中,会存在大量用户同时访问服务器的情况,此时,系统需要处理大量请求,可能会超过系统处理请求的能力,从而影响系统稳定。
目前,为了保护系统稳定,在处理大量请求时,通常会采用限流的方法,例如可以为系统设置最大请求数量,当请求数量超过该最大请求数量时,拒绝对超出的请求进行处理,该方法无法有效进行请求处理,影响用户体验。
因此,发明人经过一系列研究提出了本申请的技术方案,本申请实施例提供了一种数据处理方法,包括接收多个访问请求;判断所述多个访问请求的数量是否超过阈值;若否,调用第一数量个线程处理所述多个访问请求;若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
通过对访问请求的数量设置阈值,并判断接收到的多个访问请求是否超过该阈值,当超过阈值时,对于阈值数量个访问请求进行处理,并将未处理的剩余访问请求保存至至少一个队列中,以调用第三数量个线程定时从该至少一个队列中获取并处理访问请求,实现了对访问请求的处理,避免出现拒绝处理访问请求的情况,提高了用户体验。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请提供的一种数据处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:接收多个访问请求。
本申请实施例中,该访问请求可以是由客户端发起,针对服务器端进行访问的请求,例如可以包括获取数据的请求等。其中,客户端可以配置在用户设备中,如手机、平板电脑、计算机设备等智能终端设备,例如可以是用户智能终端设备中的应用程序(Application,简称APP)等。
服务器端接收多个访问请求可以是,接收短时间内由多个客户端发起的访问请求。其中,该时间范围可以根据实际情况进行设置,例如可以是1秒钟内。
102:判断多个访问请求的数量是否超过阈值。
由于服务器端处理访问请求的能力受服务器的性能影响,为了确保服务器的性能稳定,可以预先为该服务器设置处理访问请求的数量阈值。例如,该阈值可以设置为十万,则可以表明服务器可以在1秒钟内最多处理十万个访问请求。
接收到多个访问请求之后,服务器端即可以确定该多个访问请求的数量。则在对该多个访问请求进行处理之前,服务器端可以对该多个访问请求的数量及阈值进行比较,从而判断该多个访问请求的数量是否超过阈值。
若该多个访问请求的数量没有超过阈值,以阈值是十万为例,该多个访问请求的数量例如可以是八万,则表明对该多个访问请求进行处理位于服务器的处理能力范围内,不会影响服务器性能的稳定性,可以执行步骤103的处理操作;若该多个访问请求的数量超过阈值,例如该多个访问请求的数量可以是二十万,则表明对该多个访问请求进行处理超出了服务器的处理能力范围,会影响服务器性能的稳定性,可以执行步骤104的操作。
103:若否,调用第一数量个线程处理多个访问请求。
若判断该多个访问请求的数量没有超过阈值,则表明对该多个访问请求的处理位于服务器的处理能力范围内,可以直接对该多个访问请求进行处理。
其中,服务器可以调用线程处理访问请求。具体地,为了提高访问请求的处理速度,可以调用多个线程进行处理。该多个线程的数量可以根据实际情况进行设置,为了便于描述,可以将该多个线程的数量称为第一数量。该第一数量例如可以是固定数值,或者还可以与访问请求的数量相同,由此可以调用第一数量个线程对该多个访问请求进行同步处理,提高处理效率。
104:若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中。
若判断该多个访问请求的数量超过阈值,则表明对该多个访问请求的处理超出了服务器的处理能力范围,无法直接对全部的访问请求进行处理。此时,服务器可以优先处理阈值数量个访问请求,并将剩余访问请求放入至少一个队列中,以等待处理。
具体地,服务器在对阈值数量个访问请求进行处理也可以是调用多个线程进行处理。为了与前面描述的多个线程进行区分,可以将此处调用多个线程的数量称为第二数量。其中,第二数量也可以根据实际情况进行设置,该线程的数量可以与前面步骤中线程的数量一致,也可以不一致。例如,该第二数量与第一数量可以一致,也可以不一致,第二数量可以是固定数值,也可以与访问请求的数量相同,也即是与阈值数量相同等。
105:调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求。
其中,对于放入至少一个队列中的剩余访问请求进行处理时,可以是调用多个线程进行处理。为了与前面描述的多个线程进行区分,可以将此处调用多个线程的数量称为第三数量,该第三数量也可以根据实际情况进行设置。
由于该剩余访问请求的数量可以是较大的数值,则该第三数量可以小于该剩余访问请求的数量。因此,可以调用第三数量个线程对剩余访问请求进行定时处理,也即是定时从该至少一个队列中获取并处理剩余访问请求。例如可以是每隔0.1秒从至少一个队列中获取并处理剩余访问请求。
在实际应用中,为了提高调用多个线程对访问请求进行处理的处理效率,还可以采用调用线程池的方式来实现。其中,线程池可以包括多个线程,在执行处理任务时,可以从中选择一个空闲线程来执行处理任务,且在执行完成后,该线程可以返回线程池中成为空闲状态,等待执行下一个任务,避免持续创建和关闭线程,造成资源消耗。例如,可以调用线程池定时从至少一个队列中获取并处理剩余访问请求等。其中,对访问请求的处理过程将在后面部分进行详细说明。
本实施例中,通过对访问请求的数量设置阈值,并判断接收到的多个访问请求是否超过该阈值,当超过阈值时,对于阈值数量个访问请求进行处理,并将未处理的剩余访问请求保存至至少一个队列中,以调用第三数量个线程定时从该至少一个队列中获取并处理访问请求,实现了对访问请求的处理,避免出现拒绝处理访问请求的情况,提高了用户体验。
在实际应用中,由于服务器端接收到的访问请求数量较多,且需要将该多个访问请求的数量与阈值进行比较,则在某些实施例中,该方法还可以包括:
按照多个访问请求的发起顺序,利用计数器对多个访问请求进行计数。
由于各访问请求的发起顺序并不相同,则可以按照对应的发起顺序,利用计数器对多个访问请求进行计数。具体地,接收到下一个访问请求时,可以将计数器中的计数结果加1。其中,该计数结果可以保存在计数器中,该计数结果还可以用于确定接收到的访问请求的数量。
进一步地,该计数器中的计数结果可以基于接收到的访问请求数量进行累加,则处理完成一个访问请求时,该计数器中的计数结果可以减1。因此,在某些实施例中,该方法还可以包括:
基于当前处理完成的访问请求数量,更新计数器。
在实际应用中,由于服务器将未处理的访问请求放入了至少一个队列中以等待调用多线程进行处理,则为了确保访问请求处理的一致性,不受至少一个队列及多线程并发处理的干扰,可以利用与至少一个队列对应的至少一个计数器进行计数,其中,该至少一个计数器可以与至少一个队列一一对应。具体地,可以是利用每一个队列对应的计数器,基于该队列中处理完成的访问请求数量,更新该计数器。其中,该至少一个队列可以实现为分布式队列,与此对应的,该至少一个计数器可以实现为分布式计数器。
为了进一步提高访问请求处理的一致性,在某些实施例中,将未处理的剩余访问请求保存至至少一个队列中可以包括:
按照轮询方式,将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求可以包括:
按照轮询方式,调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求。
本申请实施例中,由于提供的队列为至少一个队列,则为了确保对访问请求处理的一致性,在将剩余访问请求保存至该至少一个队列以及从该至少一个队列中取出待处理的剩余访问请求时,可以按照轮询方式来实现。
例如,以提供的队列是三个队列为例,剩余访问请求可以包括a、b、c、d、e、f等。则将上述剩余访问请求保存至该三个队列中时,可以是将访问请求a保存至队列一,将访问请求b保存至队列二,将访问请求c保存至队列三,将访问请求d保存至队列一,将访问请求e保存至队列二等。与此对应的,调用多个线程从三个队列中获取上述剩余访问请求时,可以按照保存顺序,从队列一中获取访问请求a进行处理,从队列二中获取访问请求b进行处理,从队列三中获取访问请求c进行处理,从队列一中获取访问请求d进行处理,从队列二中获取访问请求e进行处理等,从而确保访问数据处理的一致性。
下面将对访问请求的处理过程进行详细的说明。以访问请求是获取数据的请求为例,服务器对访问请求进行处理,也即是从数据库中获取与该访问请求对应的请求数据,并将该请求数据返回至对应的客户端。在实际应用中,会存在多个访问请求一致的情况,此时服务器将会对同一访问请求进行重复处理,且重复访问数据库以获取同样的请求数据,容易造成资源浪费。因此,在某些实施例中,访问请求的处理过程可以包括:
查找缓存中是否存在访问请求对应的处理结果;
若是,将处理结果返回至相应请求端;
若否,处理访问请求获得处理结果,将处理结果返回至相应请求端,并将处理结果保存至缓存中。
本申请实施例中,接收到访问请求后,可以优先进行是否对该访问请求进行过处理的判断。若已经对该访问请求进行过处理,则可以直接获取对应的处理结果,否则对该访问请求进行处理。
具体地,对于处理过的访问请求,其对应的处理结果可以保存在缓存中。则上述判断过程可以实现为,查找缓存中是否存在访问请求对应的处理结果。若存在,则可以表明已经对该访问请求进行过处理,可以直接将缓存中的处理结果返回至相应的请求端,即客户端。若不存在,则可以表明并未对该访问请求进行过处理,此时可以处理访问请求并获得处理结果,将处理结果返回至相应请求端,并将处理结果保存至缓存中,以便于后续访问请求的处理。
实际应用中,该访问请求与其对应的处理结果可以由键值对的形式保存在缓存中,例如key-value。其中,key可以表示关键字,每一个访问请求都可以有各自的关键字,value可以表示值,与每一个访问请求对应的处理结果可以与值进行对应。则在对访问请求进行处理时,可以根据该访问请求的关键字查找缓存中是否存在与该关键字对应的值。
在实际应用中,该缓存可以包括本地缓存及非本地缓存等。非本地缓存可以包括远程字典服务(Remote Dictionary Server,简称Redis)缓存等。其中,Redis缓存由于其性能特点,可以确保处理分布式队列中访问请求的一致性。本地缓存及非本地缓存的选取可以根据实际情况进行设定。
通过查找缓存中是否存在与访问请求对应的处理结果,当存在时,无需对访问请求进行重复处理,直接将处理结果返回至相应的请求端,当不存在时,对访问请求进行处理并获得处理结果,将处理结果返回至相应请求端,并将处理结果保存至缓存中,避免了服务器对访问请求进行重复处理,提高了处理效率。
在实际应用中,为了确保上述处理方法可以顺利实现,在接收访问请求之前,该方法还可以包括:
基于用户的设置请求,确定队列数量和处理周期;
按照队列数量创建至少一个队列。
其中,在接收多个访问请求之前,可以对上述处理方法中涉及的参数进行配置。该参数可以包括服务器处理访问请求的数量阈值,至少一个队列的队列数量以及调用多个线程定时从至少一个队列中获取并处理剩余访问请求的处理周期等。基于用户针对上述参数的设置请求,可以确定阈值、队列数量及处理周期等。例如,阈值可以设置为10万,队列数量可以设置为3个,处理周期可以设置为0.1秒等。
则按照设置的队列数量,可以创建该至少一个队列,如创建3个队列。根据实际应用中的具体情况,可以对该队列数量进行修改。例如,若某一时间范围内,对服务器的访问请求较少,则可以减少该队列数量,如设置为2个;若某一时间范围内,对服务器的访问请求较多,设置的队列数量可能无法保存大量的访问请求,则可以增加队列数量,如设置为4个等,此处不进行具体限定。
进一步地,按照设置的处理周期,可以调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求。例如,可以调用第三数量个线程,每隔0.1秒从至少一个队列中获取并处理剩余访问请求。
如图2所示,为本申请提供的一种数据处理装置一个实施例的结构示意图,该装置可以包括以下几个模块:
接收模块201,用于接收多个访问请求;
判断模块202,用于判断多个访问请求的数量是否超过阈值;
第一处理模块203,若判断模块结果为否,用于调用第一数量个线程处理多个访问请求;
第二处理模块204,若判断模块结果为是,用于调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
第三处理模块205,用于调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求。
本实施例中,通过对访问请求的数量设置阈值,并判断接收到的多个访问请求是否超过该阈值,当超过阈值时,对于阈值数量个访问请求进行处理,并将未处理的剩余访问请求保存至至少一个队列中,以调用第三数量个线程定时从该至少一个队列中获取并处理访问请求,实现了对访问请求的处理,避免出现拒绝处理访问请求的情况,提高了用户体验。
在某些实施例中,该装置还可以包括:
计数模块,用于按照多个访问请求的发起顺序,利用计数器对多个访问请求进行计数。
在某些实施例中,该计数模块可以包括:
计数单元,用于利用至少一个计数器对至少一个队列中的剩余访问请求进行计数;至少一个计数器与至少一个队列对应。
在某些实施例中,该装置还可以包括:
更新模块,用于基于当前处理完成的访问请求数量,更新计数器。
在某些实施例中,处理模块还可以包括:
查找单元,用于查找缓存中是否存在访问请求对应的处理结果;
第一处理单元,若查找单元结果为是,用于将处理结果返回至相应请求端;
第二处理单元,若查找单元结果为否,用于处理访问请求获得处理结果,将处理结果返回至相应请求端,并将处理结果保存至缓存中。
在某些实施例中,第二处理模块204可以包括:
保存单元,用于按照轮询方式,将未处理的剩余访问请求保存至至少一个队列中;
第三处理模块205可以包括:
第三处理单元,用于按照轮询方式,调用第三数量个线程定时从至少一个队列中获取并处理访问请求。
如图3所示,为本申请提供的一种数据处理系统一个实施例的结构示意图,包括存储组件301及处理组件302;
存储组件301存储一条或多条计算机程序指令;该一条或多条计算机程序指令以供处理组件302调用并执行;
处理组件302用于:
接收多个访问请求;
判断多个访问请求的数量是否超过阈值;
若否,调用第一数量个线程处理多个访问请求;
若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从至少一个队列中获取并处理剩余访问请求。
本实施例中,通过对访问请求的数量设置阈值,并判断接收到的多个访问请求是否超过该阈值,当超过阈值时,对于阈值数量个访问请求进行处理,并将未处理的剩余访问请求保存至至少一个队列中,以调用第三数量个线程定时从该至少一个队列中获取并处理访问请求,实现了对访问请求的处理,避免出现拒绝处理访问请求的情况,提高了用户体验。
其中,处理组件302可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件301被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对传统方案做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种数据处理方法,其特征在于,包括:
接收多个访问请求;
判断所述多个访问请求的数量是否超过阈值;
若否,调用第一数量个线程处理所述多个访问请求;
若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照所述多个访问请求的发起顺序,利用计数器对所述多个访问请求进行计数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
利用至少一个计数器对所述至少一个队列中的剩余访问请求进行计数;所述至少一个计数器与所述至少一个队列对应。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于当前处理完成的访问请求数量,更新所述计数器。
5.根据权利要求1所述的方法,其特征在于,所述访问请求的处理过程包括:
查找缓存中是否存在所述访问请求对应的处理结果;
若是,将所述处理结果返回至相应请求端;
若否,处理所述访问请求获得处理结果,将所述处理结果返回至相应请求端,并将所述处理结果保存至所述缓存中。
6.根据权利要求1所述的方法,其特征在于,所述将未处理的剩余访问请求保存至至少一个队列中包括:
按照轮询方式,将未处理的剩余访问请求保存至至少一个队列中;
所述调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求包括:
按照轮询方式,调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于用户的设置请求,确定队列数量和处理周期;
按照所述队列数量创建所述至少一个队列。
8.根据权利要求7所述的方法,其特征在于,所述调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求包括:
按照所述处理周期,调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
9.一种数据处理装置,其特征在于,包括:
接收模块,用于接收多个访问请求;
判断模块,用于判断所述多个访问请求的数量是否超过阈值;
第一处理模块,若判断模块结果为否,用于调用第一数量个线程处理所述多个访问请求;
第二处理模块,若判断模块结果为是,用于调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
第三处理模块,用于调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
计数模块,用于按照所述多个访问请求的发起顺序,利用计数器对所述多个访问请求进行计数。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
更新模块,用于基于当前处理完成的访问请求数量,更新所述计数器。
12.一种数据处理系统,其特征在于,包括存储组件及处理组件;
所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行;
所述处理组件用于:
接收多个访问请求;
判断所述多个访问请求的数量是否超过阈值;
若否,调用第一数量个线程处理所述多个访问请求;
若是,调用第二数量个线程处理阈值数量个访问请求,并将未处理的剩余访问请求保存至至少一个队列中;
调用第三数量个线程定时从所述至少一个队列中获取并处理所述剩余访问请求。
CN202110120825.7A 2021-01-28 2021-01-28 数据处理方法、装置及系统 Pending CN112925617A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110120825.7A CN112925617A (zh) 2021-01-28 2021-01-28 数据处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110120825.7A CN112925617A (zh) 2021-01-28 2021-01-28 数据处理方法、装置及系统

Publications (1)

Publication Number Publication Date
CN112925617A true CN112925617A (zh) 2021-06-08

Family

ID=76168158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110120825.7A Pending CN112925617A (zh) 2021-01-28 2021-01-28 数据处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112925617A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408088A (zh) * 2014-11-11 2015-03-11 北京奇虎科技有限公司 并发请求的控制方法及装置
CN107229623A (zh) * 2016-03-23 2017-10-03 泰康保险集团股份有限公司 数据查询处理方法及装置
CN110401697A (zh) * 2019-06-26 2019-11-01 苏州浪潮智能科技有限公司 一种并发处理http请求的方法、系统及设备
CN110417879A (zh) * 2019-07-18 2019-11-05 北京蜜莱坞网络科技有限公司 一种消息处理方法、装置、设备及存储介质
CN110569123A (zh) * 2019-07-31 2019-12-13 苏宁云计算有限公司 线程分配方法、装置、计算机设备和存储介质
CN111913815A (zh) * 2020-07-12 2020-11-10 中信银行股份有限公司 调用请求的处理方法、装置、电子设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408088A (zh) * 2014-11-11 2015-03-11 北京奇虎科技有限公司 并发请求的控制方法及装置
CN107229623A (zh) * 2016-03-23 2017-10-03 泰康保险集团股份有限公司 数据查询处理方法及装置
CN110401697A (zh) * 2019-06-26 2019-11-01 苏州浪潮智能科技有限公司 一种并发处理http请求的方法、系统及设备
CN110417879A (zh) * 2019-07-18 2019-11-05 北京蜜莱坞网络科技有限公司 一种消息处理方法、装置、设备及存储介质
CN110569123A (zh) * 2019-07-31 2019-12-13 苏宁云计算有限公司 线程分配方法、装置、计算机设备和存储介质
CN111913815A (zh) * 2020-07-12 2020-11-10 中信银行股份有限公司 调用请求的处理方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110489447B (zh) 数据查询方法、装置、计算机设备和存储介质
WO2020228177A1 (zh) 批量数据处理方法、装置、计算机设备及存储介质
CN107766101B (zh) App启动事件的处理方法、装置和设备
CN111367693B (zh) 基于消息队列调度插件任务的方法、系统、设备及介质
CN111552567B (zh) 一种线程管理方法、装置、电子设备及存储介质
CN111565154A (zh) 图像识别请求处理方法、装置、计算机设备和存储介质
CN111190727A (zh) 内存的异步析构方法、装置、计算机设备及存储介质
CN111381961A (zh) 一种处理定时任务的方法、装置与电子设备
CN111290842A (zh) 一种任务执行方法和装置
CN110865877B (zh) 一种任务请求的响应方法及设备
CN111294377A (zh) 一种依赖关系的网络请求发送方法、终端装置及存储介质
CN112925617A (zh) 数据处理方法、装置及系统
CN109976885B (zh) 基于多任务操作系统的事件处理方法、装置及存储介质
CN116541167A (zh) 系统流量控制方法、装置、电子设备及计算机可读介质
CN111078735A (zh) 一种查询请求处理方法及装置
CN116366634A (zh) 一种文件下载方法、装置、终端、源服务器及介质
CN116126719A (zh) 接口测试方法、装置、电子设备及存储介质
CN107689979B (zh) 一种下载请求处理方法和处理设备
CN109933426B (zh) 服务调用的处理方法、装置、电子设备及可读存储介质
CN111159236A (zh) 数据处理方法、装置、电子设备及存储介质
CN113220429A (zh) Java线程池的任务处理方法、装置、设备和介质
CN113806065A (zh) 一种数据处理的方法、装置和存储介质
CN112231090A (zh) 应用进程管理方法、装置及终端设备
CN115442432B (zh) 一种控制方法、装置、设备及存储介质
CN118034942B (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