CN113760540B - 一种任务处理方法和相关装置 - Google Patents
一种任务处理方法和相关装置 Download PDFInfo
- Publication number
- CN113760540B CN113760540B CN202110866414.2A CN202110866414A CN113760540B CN 113760540 B CN113760540 B CN 113760540B CN 202110866414 A CN202110866414 A CN 202110866414A CN 113760540 B CN113760540 B CN 113760540B
- Authority
- CN
- China
- Prior art keywords
- task
- target
- processed
- ring
- processing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 88
- 230000006870 function Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 28
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual 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/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
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种任务处理方法和相关装置,为了提高任务的合理性,先确定目标系统所包括系统模块数量,然后根据该系统模块数量确定目标系统所对应任务环的数量,该任务环用于执行目标系统中的任务。随后,可以获取待处理任务,该待处理任务对应于目标系统模块,若确定目标任务环中不包括该目标系统模块对应的任务,则可以将该待处理任务存入目标任务环中进行处理,从而可以保障每一个任务环中不会具有对应相同系统模块的任务,进而在以任务环为单位进行任务处理时,可以避免出现系统模块之间的竞争,导致某些模块的任务无法及时处理的情况,提高了任务处理的合理性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务处理方法和相关装置。
背景技术
随着社会的发展,存储设备的硬件规格也在不断升级,多核心CPU以及对称多处理器的使用越来越普遍,所以,存储系统不可避免地会涉及多线程编程。在多线程开发环境下,线程模型的设计架构,很大程度上决定了存储系统的性能。
在相关技术中,只是简单的将所有的任务随机分配到多线程中进行处理,线程模型设计不合理,造成存储IO性能低,响应速度慢,严重影响存储产品的竞争力。
发明内容
为了解决上述技术问题,本申请提供了一种任务处理方法,处理设备可以以任务环为单位进行任务处理,其中,同一任务环中不会具有对应相同系统模块的多个任务,从而保障了每个模块中的任务都可以得到均衡的处理,提高任务处理的合理性。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种任务处理方法,所述方法包括:
确定目标系统所包括系统模块数量;
根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
获取待处理任务,所述待处理任务对应于目标系统模块;
若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述将所述待处理任务存入所述目标任务环中进行处理,包括:
确定所述待处理任务对应的函数指针和节点指针,所述函数指针用于标识所述待处理任务对应的入口函数,所述节点指针用于标识所述待处理任务;
根据所述函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述目标系统中包括多个任务环线程,每个任务环线程中具有多个任务环,所述任务环线程的数量是基于所述目标系统对应的核心数量确定的。
在一种可能的实现方式中,所述方法还包括:
确定所述待处理任务对应的目标任务资源类型;
所述若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理,包括:
若确定所述目标任务环中不包括所述目标系统模块对应的任务,且所述目标任务环中包括对应所述目标任务资源类型的任务,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述多个任务环线程中包括目标任务环线程,所述方法还包括:
响应于所述目标任务环线程中出现任务完成,将所述目标任务环线程对应的线程时间同步为系统时间;
确定所述目标任务环线程对应的线程时间与所述多个任务环线程中的其他任务环线程所对应线程时间之间的时间差;
将所述多个任务环线程中时间差大于预设阈值的任务环线程确定为异常任务环线程;
重启所述异常任务环线程。
第二方面,本申请实施例公开了一种任务处理装置,所述装置包括第一确定单元、第二确定单元、获取单元和处理单元:
所述第一确定单元,用于确定目标系统所包括系统模块数量;
所述第二确定单元,用于根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
所述获取单元,用于获取待处理任务,所述待处理任务对应于目标系统模块;
所述处理单元,用于若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述处理单元具体用于:
确定所述待处理任务对应的函数指针和节点指针,所述函数指针用于标识所述待处理任务对应的入口函数,所述节点指针用于标识所述待处理任务;
根据所述函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述目标系统中包括多个任务环线程,每个任务环线程中具有多个任务环,所述任务环线程的数量是基于所述目标系统对应的核心数量确定的。
第三方面,本申请实施例公开了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任意一项所述的任务处理方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行第一方面中任意一项所述的任务处理方法。
由上述技术方案可以看出,为了提高任务的合理性,可以先确定目标系统所包括系统模块数量,然后根据该系统模块数量确定目标系统所对应任务环的数量,该任务环用于执行目标系统中的任务。随后,可以获取待处理任务,该待处理任务对应于目标系统模块,在将任务分配至任务环之前,可以先确定目标任务环中是否包括该目标系统模块对应的任务,若确定目标任务环中不包括该目标系统模块对应的任务,则可以将该待处理任务存入目标任务环中进行处理,从而可以保障每一个任务环中不会具有对应相同系统模块的任务,进而在以任务环为单位进行任务处理时,可以避免出现系统模块之间的竞争,导致某些模块的任务无法及时处理的情况,提高了任务处理的合理性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务处理方法的流程图;
图2为本申请实施例提供的一种任务环的示意图;
图3为本申请实施例提供的一种任务处理方法的示意图;
图4为本申请实施例提供的一种任务处理装置的结构框图;
图5为本申请实施例提供的一种计算机设备的结构图;
图6为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
一个好的线程模型,应当能够合理控制线程数量,能够均衡CPU负载,优化CPU使用率。如果线程模型设计不合理,则会造成存储IO性能低,响应速度慢,严重影响存储产品的竞争力。对一个复杂的存储系统而言,不仅要处理大量的IO事件,还要处理很多系统内部事件,以及进行大量的算法运算,因此一些开源项目的针对IO密集型请求的线程模型并不能直接应用于存储系统。
在相关技术中,处理设备在获取任务后并不会对任务所对应的系统模块,只会按照获取任务的顺序对任务进行处理,这就会导致出现一直处理同一系统模块的任务导致其他系统模块任务无法及时处理的情况,造成模块之间的任务冲突,合理性较差。
为了解决上述技术问题,本申请实施例提供了一种任务处理方法,处理设备可以以任务环为单位进行任务处理,其中,同一任务环中不会具有对应相同系统模块的多个任务,从而保障了每个模块中的任务都可以得到均衡的处理,提高任务处理的合理性。
可以理解的是,该方法可以应用于处理设备上,该处理设备为能够进行任务处理的处理设备,例如可以为具有任务处理功能的终端设备或服务器。该方法可以通过终端设备或服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为计算机、手机等设备。服务器可以理解为是应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
接下来,将结合附图,对本申请实施例提供的一种任务处理方法进行介绍。参见图1,图1为本申请实施例提供的一种任务处理方法的流程图,该方法包括:
S101:确定目标系统所包括系统模块数量。
其中,目标系统可以为任意一个具有任务处理需求的系统。为了针对该目标系统设置合理的任务环数量,避免出现单一任务环处理较多任务的情况,处理设备可以先确定出该目标系统所对应的系统模块数量,该系统模块数量能够在一定程度上体现出系统里所需处理的任务数量。
S102:根据系统模块数量,确定目标系统所对应任务环的数量。
该任务环用于执行目标系统中的任务,通过基于系统模块数量来确定任务环的数量,处理设备可以实现对任务环数量的合理设定。
S103:获取待处理任务。
其中,该待处理任务对应于目标系统模块,每一个“任务”代表着一个执行流程。
S104:若确定目标任务环中不包括目标系统模块对应的任务,将待处理任务存入目标任务环中进行处理。
为了使每一个系统模块中的任务都能够得到较为均衡和合理的处理,在以任务环为基础进行任务处理时,处理设备可以为同一任务环分配不同系统模块的任务,从而使每个系统模块的任务都能够得到较为均衡的处理。处理设备可以确定该目标任务环中是否包括目标系统模块对应的任务,若确定不包括,则可以将该待处理任务存入目标任务环中进行处理。
由上述技术方案可以看出,为了提高任务的合理性,可以先确定目标系统所包括系统模块数量,然后根据该系统模块数量确定目标系统所对应任务环的数量,该任务环用于执行目标系统中的任务。随后,可以获取待处理任务,该待处理任务对应于目标系统模块,在将任务分配至任务环之前,可以先确定目标任务环中是否包括该目标系统模块对应的任务,若确定目标任务环中不包括该目标系统模块对应的任务,则可以将该待处理任务存入目标任务环中进行处理,从而可以保障每一个任务环中不会具有对应相同系统模块的任务,进而在以任务环为单位进行任务处理时,可以避免出现系统模块之间的竞争,导致某些模块的任务无法及时处理的情况,提高了任务处理的合理性。
可以理解的是,在代码中,每个“任务”对应的数据结构可以由两部分组成:节点指针和函数指针。函数指针记录了每个任务的入口函数,节点指针用来指向下一个任务。因此,在一种可能的实现方式中,处理设备可以先确定待处理任务对应的函数指针和节点指针,该函数指针用于标识所述待处理任务对应的入口函数,该节点指针用于标识待处理任务。处理设备可以根据函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
如图2所示,图2展示了一种任务环的示意图,该任务环中共有4个任务。
此外,为了进一步提高任务处理效率,在一种可能的实现方式中,该目标系统中可以包括多个任务环线程,每个任务环线程中可以具有多个任务环,任务环线程的数量是基于目标系统对应的核心数量确定的。从而,通过多个任务环线程,可以实现任务的并行处理,在贴合目标系统处理功能的前提下进一步提高处理效率。
如图3所示,每一个任务环线程可以对应于一个任务队列,任务队列可以是一个任务环类型的,x*y的二维数组。如图3所示,是一个最简单的2*2的二维数组。每一行代表一个任务队列,下图有两个任务队列,任务队列的个数取决于线程的个数。每一行一共有y列,每一列是一个任务环。任务环的个数取决于系统的模块个数。
在系统初始化时,创建X个全局可用的线程,X是CPU核心数,即每个线程固定运行到某个CPU核心上。每个线程和一个任务队列绑定,只执行这个任务队列上的任务,所以任务队列的数量和线程的数量是一样的,都等价于CPU核心数量。这样设计的好处是:一方面实现了线程、CPU核心、任务队列三者的绑定,可以通过动态任务分配来均衡CPU负载。另一方面,每个全局线程所能执行的任务可以来自于各个模块,从而控制了线程数量,极大降低了线程切换的开销。
线程在执行任务队列上的任务时,执行顺序是:先执行第1个任务环上的任务,然后执行第2个任务环上的任务,然后是第3个任务环上的任务,依次循环往复。每个任务环上的任务一次至多执行10个。这样设计的好处是:保证了每个任务环的任务执行次数都是平等的,不存在竞争关系,只有任务环内部的任务才存在竞争关系,这样把任务按模块放在任务环中,就能避免模块间的竞争。
此外,为了进一步提高任务处理效率,在一种可能的实现方式中,处理设备还可以将需要相同资源的任务放到相同的任务环中进行处理,从而减少任务锁的使用。
处理设备可以先确定待处理任务对应的目标任务资源类型,若确定目标任务环中不包括目标系统模块对应的任务,且目标任务环中包括对应目标任务资源类型的任务,则可以将待处理任务存入目标任务环中进行处理,从而避免同步机制造成的额外开销。
可以理解的是,在任务执行的过程中,可能会出现任务卡顿的情况,例如某一任务在任务环中执行了较长时间仍然未执行完毕,此时如果继续执行,可能会导致其他任务无法得到及时的处理。为了合理处理这种情况,在一种可能的实现方式中,处理设备可以为每一个任务环线程设置线程时间。在多个任务环线程中包括目标任务环线程,该目标任务环线程为多个任务环线程中的任意一个,处理设备可以对目标任务环线程中的任务执行情况进行监控,响应于该目标任务环线程中出现任务完成,则将目标任务环线程对应的线程时间同步为系统时间,该系统时间是指该目标系统所对应的时间。
随后,处理设备可以对目标任务环线程之外的其他任务环线程进行检测,并确定目标任务环线程对应的线程时间与多个任务环线程中的其他任务环线程所对应线程时间之间的时间差。可以理解的是,由于在每次执行完任务后,线程时间都会与系统时间进行同步,因此,若出现任务环线程的线程时间与该目标任务环线程的时间差距过大,即与系统时间差距过大,则说明该任务环线程出现了执行任务时间过长、任务处理卡顿的情况。基于此,处理设备可以将多个任务环线程中时间差大于预设阈值的任务环线程确定为异常任务环线程,然后重启异常任务环线程,使后续任务能够顺利执行。
为了便于理解本申请实施例提供的技术方案,接下来,将结合一种实际应用场景,对本申请实施例提供的一种任务处理方法进行介绍。
首先,处理设备可以创建任务,给任务的函数指针赋值,并将节点指针指向自身。
随后,处理设备可以将任务放入某个任务队列中,可以指定某个任务队列,也可以不指定任务队列。在不指定的情况下,将放入默认的任务队列,默认的任务队列即上一个任务默认被放入的队列号+1。这样设计的好处是,指定任务队列,就相当于指定了某个线程,即某个CPU核心去执行任务。如果把一些需要访问相同资源的任务放在同一个任务队列中,能减少锁的使用,从而避免同步机制造成的开销。
在任务的执行过程中,可以调用任务的函数指针来执行具体的任务内容。
任务在执行完毕之后自动触发出队动作,出队时会重置任务的节点指针和函数指针,这样就能释放任务资源。
同时,处理设备可以给每个任务环线程设置一个线程时钟,当线程处理完当前的任务后,在执行下一个任务之前,用系统时钟时间来更新当前线程的线程时钟的时间。每个线程在更新当前线程的时钟时间之后,会检查其他线程的时钟时间和系统时钟时间是否相差800ms,如果相差达到了800ms,就表示对应线程执行某任务800ms后也没有执行完,那么就有可能是线程发生阻塞。检测到线程发生阻塞后,处理设备可以自动重启存储系统,通过重置数据来解决问题。
线程时钟的引入能有效应对线程阻塞问题,但是对于某些任务而言,本身的执行时间就比较长,很容易超过800ms,比如一些写文件的任务等。这种任务不适合放在上述有线程时钟的线程中。为了解决此问题,处理设备可以另外创建一个全局可用的线程,可以称为“慢线程”。慢线程没有线程时钟,并且没有绑定CPU核心,它适合用来处理一些耗时任务。
基于上述实施例提供的一种任务处理方法,本申请实施例还提供了一种任务处理装置,参见图4,图4为本申请实施例提供的一种任务处理装置400的结构框图,该装置400包括第一确定单元401、第二确定单元402、获取单元403和处理单元404:
第一确定单元401,用于确定目标系统所包括系统模块数量;
第二确定单元402,用于根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
获取单元403,用于获取待处理任务,所述待处理任务对应于目标系统模块;
处理单元404,用于若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,处理单元404具体用于:
确定所述待处理任务对应的函数指针和节点指针,所述函数指针用于标识所述待处理任务对应的入口函数,所述节点指针用于标识所述待处理任务;
根据所述函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述目标系统中包括多个任务环线程,每个任务环线程中具有多个任务环,所述任务环线程的数量是基于所述目标系统对应的核心数量确定的。
在一种可能的实现方式中,装置400还包括第三确定单元:
第三确定单元,用于确定所述待处理任务对应的目标任务资源类型;
处理单元404具体用于:
若确定所述目标任务环中不包括所述目标系统模块对应的任务,且所述目标任务环中包括对应所述目标任务资源类型的任务,将所述待处理任务存入所述目标任务环中进行处理。
在一种可能的实现方式中,所述多个任务环线程中包括目标任务环线程,装置400还包括同步单元、第四确定单元、第五确定单元和重启单元:
同步单元,用于响应于所述目标任务环线程中出现任务完成,将所述目标任务环线程对应的线程时间同步为系统时间;
第四确定单元,用于确定所述目标任务环线程对应的线程时间与所述多个任务环线程中的其他任务环线程所对应线程时间之间的时间差;
第五确定单元,用于将所述多个任务环线程中时间差大于预设阈值的任务环线程确定为异常任务环线程;
重启单元,用于重启所述异常任务环线程。
本申请实施例还提供了一种计算机设备,下面结合附图对该设备进行介绍。请参见图5所示,本申请实施例提供了一种设备,该设备还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意智能终端,以终端设备为手机为例:
图5示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,简称RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(Wireless Fidelity,简称WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称GSM)、通用分组无线服务(GeneralPacket Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图5中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,该终端设备所包括的处理器780还具有以下功能:
确定目标系统所包括系统模块数量;
根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
获取待处理任务,所述待处理任务对应于目标系统模块;
若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理。
本申请实施例还提供一种服务器,请参见图6所示,图6为本申请实施例提供的服务器800的结构图,服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于图6所示的服务器结构。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的任务处理方法中的任意一种实施方式。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种任务处理方法,其特征在于,所述方法包括:
确定目标系统所包括系统模块数量;
根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
获取待处理任务,所述待处理任务对应于目标系统模块;
若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理;
其中,所述目标系统中包括多个任务环线程,每个任务环线程中具有多个任务环,所述任务环线程的数量是基于所述目标系统对应的CPU核心数量确定的。
2.根据权利要求1所述的方法,其特征在于,所述将所述待处理任务存入所述目标任务环中进行处理,包括:
确定所述待处理任务对应的函数指针和节点指针,所述函数指针用于标识所述待处理任务对应的入口函数,所述节点指针用于标识所述待处理任务;
根据所述函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述待处理任务对应的目标任务资源类型;
所述若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理,包括:
若确定所述目标任务环中不包括所述目标系统模块对应的任务,且所述目标任务环中包括对应所述目标任务资源类型的任务,将所述待处理任务存入所述目标任务环中进行处理。
4.根据权利要求1所述的方法,其特征在于,所述多个任务环线程中包括目标任务环线程,所述方法还包括:
响应于所述目标任务环线程中出现任务完成,将所述目标任务环线程对应的线程时间同步为系统时间;
确定所述目标任务环线程对应的线程时间与所述多个任务环线程中的其他任务环线程所对应线程时间之间的时间差;
将所述多个任务环线程中时间差大于预设阈值的任务环线程确定为异常任务环线程;
重启所述异常任务环线程。
5.一种任务处理装置,其特征在于,所述装置包括第一确定单元、第二确定单元、获取单元和处理单元:
所述第一确定单元,用于确定目标系统所包括系统模块数量;
所述第二确定单元,用于根据所述系统模块数量,确定目标系统所对应任务环的数量,所述任务环用于执行所述目标系统中的任务;
所述获取单元,用于获取待处理任务,所述待处理任务对应于目标系统模块;
所述处理单元,用于若确定目标任务环中不包括所述目标系统模块对应的任务,将所述待处理任务存入所述目标任务环中进行处理;
其中,所述目标系统中包括多个任务环线程,每个任务环线程中具有多个任务环,所述任务环线程的数量是基于所述目标系统对应的CPU核心数量确定的。
6.根据权利要求5所述的装置,其特征在于,所述处理单元具体用于:
确定所述待处理任务对应的函数指针和节点指针,所述函数指针用于标识所述待处理任务对应的入口函数,所述节点指针用于标识所述待处理任务;
根据所述函数指针和所述节点指针,将所述待处理任务存入所述目标任务环中进行处理。
7.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-4中任意一项所述的任务处理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-4中任意一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866414.2A CN113760540B (zh) | 2021-07-29 | 2021-07-29 | 一种任务处理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866414.2A CN113760540B (zh) | 2021-07-29 | 2021-07-29 | 一种任务处理方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760540A CN113760540A (zh) | 2021-12-07 |
CN113760540B true CN113760540B (zh) | 2023-08-25 |
Family
ID=78788197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866414.2A Active CN113760540B (zh) | 2021-07-29 | 2021-07-29 | 一种任务处理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760540B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753354A (zh) * | 2018-11-26 | 2019-05-14 | 平安科技(深圳)有限公司 | 基于多线程的流媒体任务的处理方法、装置及计算机设备 |
CN111831410A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 任务处理方法、装置、存储介质及电子设备 |
-
2021
- 2021-07-29 CN CN202110866414.2A patent/CN113760540B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753354A (zh) * | 2018-11-26 | 2019-05-14 | 平安科技(深圳)有限公司 | 基于多线程的流媒体任务的处理方法、装置及计算机设备 |
CN111831410A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 任务处理方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113760540A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102148948B1 (ko) | 전자 장치의 멀티 태스킹 방법 및 그 전자 장치 | |
EP3333733B1 (en) | Method and device for use in parallel execution of terminal database | |
US10956316B2 (en) | Method and device for processing reclaimable memory pages, and storage medium | |
EP3277029B1 (en) | Electronic device and method for operating the same | |
CN107368400B (zh) | Cpu监测方法、装置、计算机可读存储介质和移动终端 | |
CN108702421B (zh) | 用于控制应用和组件的电子设备和方法 | |
CN106371900B (zh) | 一种实现异步调用的数据处理方法及装置 | |
WO2019128540A1 (zh) | 资源管理方法、移动终端及计算机可读存储介质 | |
EP3506114B1 (en) | Memory processing method and device and storage medium | |
CN106775685B (zh) | 唤醒锁释放方法和装置、移动终端 | |
CN110888821A (zh) | 一种内存管理方法及装置 | |
CN110865884A (zh) | 一种内存管理方法及装置 | |
CN109992364B (zh) | 应用冻结方法、装置、计算机设备和计算机可读存储介质 | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN110018885B (zh) | 应用程序冻结方法、装置、存储介质和终端 | |
WO2024037068A1 (zh) | 任务调度方法、电子设备及计算机可读存储介质 | |
CN113760540B (zh) | 一种任务处理方法和相关装置 | |
CN109992369B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN110045811B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN110007968B (zh) | 信息处理方法、装置、计算机设备和计算机可读存储介质 | |
CN109426572B (zh) | 任务处理方法、装置及电子设备 | |
CN106445692B (zh) | 一种网络服务控制方法及装置 | |
CN114189436B (zh) | 一种多集群配置部署方法、装置、电子设备和存储介质 | |
CN112306667B (zh) | 一种动画播放方法、装置、计算机设备和存储介质 | |
CN113867940B (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 |