CN117112250A - 数据处理方法、装置、计算机设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117112250A CN117112250A CN202210970491.7A CN202210970491A CN117112250A CN 117112250 A CN117112250 A CN 117112250A CN 202210970491 A CN202210970491 A CN 202210970491A CN 117112250 A CN117112250 A CN 117112250A
- Authority
- CN
- China
- Prior art keywords
- request
- user
- data
- priority
- application
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims description 291
- 238000004590 computer program Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 8
- 230000008447 perception Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 235000003642 hunger Nutrition 0.000 description 4
- 230000037351 starvation Effects 0.000 description 4
- 230000002265 prevention Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据处理方法、装置、计算机设备及计算机可读存储介质,能够判断目标数据请求是否携带用户可感知标签;当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级;由于本申请实施例能够在目标数据请求携带用户可感知标签时,能够将目标数据请求添加至优先请求队列,如此能够对优先请求队列中的数据请求进行优先处理,从而提高数据请求的处理效率,进而能够提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据处理方法、装置、计算机设备及计算机可读存储介质。
背景技术
操作系统的IO请求会排入IO请求队列中等待IO调度器下发。其中,IO是Input(即,输入)以及Output(即,输出)的缩写,IO调度器用于确定IO请求在IO请求队列中的顺序。
IO请求队列中如果出现IO请求竞争时,IO请求的耗时会增长,例如,对于用户可感知的IO请求和用户不可感知的IO请求,均需要在同一IO请求队列中按照IO请求的请求时间先后顺序依次获取对应的数据,IO请求队列中请求数量越多,IO请求被处理的耗时越长,处理IO请求对应数据的耗时会越长。基于此,对于用户可感知的IO请求,由于用户可感知的IO请求处理耗时长,从而导致用户可感知的IO请求所对应的数据处理延时,进而出现设备卡顿被用户所感知到的,例如,设备播放媒体资源时,用户感知到出现媒体资源卡顿等。
因此,当IO请求队列的用户可感知的IO请求出现竞争时,存在用户可感知的IO请求处理耗时长,导致设备卡顿的问题。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及计算机可读存储介质,能够提高数据请求的处理效率,从而提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知。
一种数据处理方法,包括:
判断目标数据请求是否携带用户可感知标签;
当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
相应地,本申请实施例提供一种数据处理装置,包括:
判断单元,可以用于判断目标数据请求是否携带用户可感知标签;
添加单元,可以用于当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
在一些可选的申请实施例中,判断单元,还可以用于判断应用进程是否为用户可感知进程;当是时,添加单元为目标数据请求添加用户可感知标签。
在一些可选的申请实施例中,判断单元,用于获取应用进程的进程信息,进程信息包括前台进程信息、应用程序播放媒体资源的进程信息、应用程序绘制显示界面的进程信息,以及应用程序的关键服务的进程信息中的至少一种;根据应用进程的进程信息确定应用进程是否为用户可感知进程。
在一些可选的申请实施例中,判断单元,可以用于获取预设进程信息;若进程信息与预设进程信息匹配,则确定应用进程为用户可感知进程。
在一些可选的申请实施例中,添加单元,可以用于当目标数据请求携带用户可感知标签时,判断优先请求队列中所包含的数据请求的第一请求数量是否满足第一预设条件或者普通请求队列中所包含的数据请求的第二请求数量是否满足第二预设条件;当第一请求数量满足第一预设条件,或者第二请求数量满足第二预设条件时,将目标数据请求添加至优先请求队列。
在一些申请实施例中,数据处理装置还包括处理单元,处理单元可以用于当第一请求数量不满足第一预设条件,且第二请求数量不满足第二预设条件时,停止将目标数据请求添加至优先请求队列,并对优先请求队列中的第一请求数量进行清零操作;对优先请求队列中第一请求数量的数据请求进行处理;当对优先请求队列中第一请求数量的数据请求处理完毕后,对普通请求队列中的第二请求数量的数据请求进行处理。
在一些申请实施例中,添加单元,还可以用于当目标数据请求未携带用户可感知标签时,将目标数据请求添加至普通请求队列。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序适于处理器进行加载,以执行本申请实施例提供的任一种数据处理方法。
此外,本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请实施例所提供的任一种数据处理方法。
本申请实施例会判断每个数据请求是否携带用户可感知标签,携带了用户可感知标签的数据请求会被添加至优先请求队列,未携带用户可感知标签的数据请求则被添加至普通优先请求队列,由于优先请求队列中的一个或多个数据请求的处理优先级高于普通请求队列中的一个或多个数据请求的处理优先级使得用户可感知进程的数据请求能够被优先处理,从而提高数据请求的处理效率,进而能够提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知,提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的场景示意图;
图2是本申请实施例提供的数据处理方法的流程示意一图;
图3是本申请实施例提供的数据处理方法的流程示意二图;
图4是本申请实施例提供的将目标数据请求添加至优先请求队列的一种优选实施例示意图;
图5是本申请实施例提供的数据处理装置的结构示意图;
图6是本申请实施例提供的一种系统架构的示意图;
图7是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据处理方法、装置、计算机设备和计算机可读存储介质。其中,该数据处理装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,参见图1,以数据处理装置集成在计算机设备中为例,计算机设备判断目标数据请求是否携带用户可感知标签;当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
其中,数据请求可以包括数据输入请求和数据输出请求,也即IO请求。
其中,当目标数据请求携带用户可感知标签时,可以认为目标数据请求为用户可感知进程对应的数据请求,用户可感知进程可以是指进程状态是可被用户所感知到的应用进程。例如,应用进程的进程状态是播放媒体资源,该应用进程能够被用户感知到,此种情况,该应用进程对应的目标数据请求可携带用户可感知标签。
当目标数据请求未携带用户可感知标签时,可以认为目标数据请求为用户不可感知进程对应的数据请求,用户不可感知进程可以是指进程状态是不可被用户所感知到的应用进程。例如,应用进程的进程状态是在后台下载资源,该应用进程不能够被用户感知到,此种情况,该应用进程对应的目标数据请求不携带用户可感知标签。
由于当IO请求队列的用户可感知的IO请求出现竞争时,会存在用户可感知的IO请求处理耗时长,会导致设备卡顿的问题,基于此,本申请实施例将携带用户可感知标签的目标数据请求添加至优先请求队列,以优先对优先请求队列中的数据请求进行处理,如此可以提高而提高数据请求的处理效率,进而能够提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算机(PC,Personal Computer)、可穿戴设备、虚拟现实设备或其他可以获取数据的智能设备等设备。
如图2所示,该数据处理方法的具体流程如步骤S201至步骤S202:
S201、判断目标数据请求是否携带用户可感知标签。
本实施例中,计算机设备中可以运行一个或多个应用程序。计算机设备对每个应用程序所对应的一个或多个应用进程分别进行监听,每个应用进程在执行过程中都会产生相应的数据请求。本实施例中的数据请求包括针对于应用进程的数据输入请求或数据输出请求,也即IO请求。本实施例中,目标数据请求可以是指计算机设备当前所运行的任意一个应用程序所对应的任一应用进程所产生的一个或多个数据请求中的至少一个。本实施例中,计算机设备首先获取到针对于应用进程的目标数据请求,然后判断该目标数据请求是否携带了用户可感知标签。
其中,在本实施例中,应用进程的类型可以被设置为多种,其中包括但不限于用户可感知类型的进程(简称用户可感知进程)。具体的,用户可感知进程具体是指进程状态是能够被用户所感知到的应用进程。例如,当一个应用进程所对应的数据请求在被进行调度过程中,若耗时超过某一阈值时能够被用户所感知到,引起用户感受到卡顿的应用进程可以被定义为用户可感知进程。在本实施例中,用户可感知标签具体用于指示一个数据请求所对应的应用进程的类型是否为用户可感知进程。需要说明的是,本实施例对于用户可感知标签的具体表征形式以及其存在形式不进行限定。
S202、当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列。
本实施例中,数据请求队列可以被设置为多种类型,该多种类型包括但不限于如下两种类型:优先请求队列和普通请求队列。其中,优先请求队列中所包含的一个或多个数据请求的处理优先级高于普通请求队列中所包含的一个或多个数据请求的处理优先级。即当优先请求队列和普通请求队列中均包含数据请求时,计算机设备将基于请求队列的类型,优先对优先请求队列中的一个或多个数据请求进行处理,优先获取该优先请求队列中的一个或多个数据请求分别对应的数据,并驱动应用程序执行相应数据对应的应用进程。
本实施例中,当计算机设备在确定目标数据请求携带了用户可感知标签时,可以判定该目标数据请求对应的应用进程为用户可感知进程,因此可以将该目标数据请求加入优先请求队列中,使得目标数据请求的处理优先级可以高于于普通请求队列中的数据请求。
本申请实施例会判断每个数据请求是否携带用户可感知标签,携带了用户可感知标签的数据请求会被添加至优先请求队列,未携带用户可感知标签的数据请求则被添加至普通优先请求队列,由于优先请求队列中的一个或多个数据请求的处理优先级高于普通请求队列中的一个或多个数据请求的处理优先级使得用户可感知进程的数据请求能够被优先处理,从而提高数据请求的处理效率,进而能够提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知,提升用户体验。
基于图2实施例所描述的方法,接下来对本申请所提供的数据处理方法的其他实施例作进一步详细说明。
如图3所示,为本申请提供的数据处理方法的另一实施例示意图,具体流程如步骤S301至步骤S303所示:
S301、判断应用进程是否为用户可感知进程。
本实施例中,关于用户可感知进程的内容可以参阅图2中步骤S201的相关内容进行理解,此次不进行赘述。
本实施例中,计算机设备对每个应用程序所对应的一个或多个应用进程分别进行监听,并分别获取每个应用进程的进程信息。计算机设备会首先判断每个应用进程是否属于用户可直接感知应用或用户可间接感知应用,即:计算机设备会首先判断每个应用进程的类型是否为用户可感知进程。
具体地,本实施中,计算机设备判断应用进程是否为用户可感知进程的方式具体可以包括步骤3011和步骤3012:
3011、获取应用进程的进程信息。
其中,进程信息可以是指表征应用进程的运行状态的信息。具体的,本实施例中的进程信息可以包括前台进程信息、应用程序播放媒体资源的进程信息、应用程序绘制显示界面的进程信息,以及应用程序的关键服务的进程信息中的至少一种。
其中,应用程序的关键服务的进程信息可以是指在发生卡顿时直接或间接影响到用户体验的服务信息或守护进程信息,例如安卓的zygote,zygote是安卓的虚拟机进程。
其中,本实施例中,计算机设备可以通过对应用程序进行数据埋点的方式,可以获取到应用程序的进程信息。
3012、根据应用进程的进程信息确定应用进程是否为用户可感知进程。
本实施例中在获取应用进程的进程信息后,基于应用进程的进程信息确定应用进程是否为用户可感知进程。
在一些可选的实施例中,当进程信息包括前台进程信息时,可以基于应用进程是否处于前台来判定该应用进程是否为用户可感知进程。或者,当进程信息包括播放媒体资源的进程信息时,可以基于是否进行媒体资源播放来判定该应用进程是否为用户可感知进程。或者,当进程信息包括应用程序绘制显示界面的进程信息时,可以基于是否在绘制用户可见UI来判定该应用进程是否为用户可感知进程。或者,当进程信息包括应用程序的关键服务的进程信息时,可以通过关键服务的进程信息确定应用进程是否直接或间接影响到用户体验来确定该应用进程是否为用户可感知进程。需要说明的是,本实施例可以基于上述进程信息中的一种确定应用进程是否为用户可感知进程,也可以基于上述进程信息中的多种来共同确定应用进程是否为用户可感知进程,本申请对此不做限定。
在一些可选的实施例中,根据应用进程的进程信息确定应用进程是否为用户可感知进程的方式可以包括:获取预设进程信息;若该应用进程的进程信息与预设进程信息匹配,则确定应用进程为用户可感知进程。其中,当进程信息与至少一个预设进程信息相同时,此种情况可以称进程信息与预设进程信息匹配;当进程信息与所有预设进程信息均不同时,此种情况可以称进程信息与预设进程信息不匹配。其中,预设进程信息包括应用程序的预设前台进程信息、应用程序播放媒体资源的预设进程信息、应用程序绘制显示界面的预设进程信息,以及应用程序的关键服务的预设进程信息。具体来说,计算机设备分别获取应用进程的进程信息以及获取预设进程信息;判断进程信息是否与预设进程信息匹配;若进程信息与预设进程信息匹配,则确定应用进程为用户可感知进程,并设置确定应用进程为用户可感知进程;若进程信息与预设进程信息不匹配,则确定该应用进程不为用户可感知进程。
需要说明的是,本实施例中,除了基于应用进程的进程信息确定应用进程是否为用户可感知进程,还可以通过其他方式识别应用进程是否为用户可感知进程,例如,计算机设备预先设置了每种应用进程的类型,从而可以在应用进程被执行的过程中,通过预先设置的对应关系或者标识信息等直接识别出每个应用进程是否为用户可感知进程。
S302、当应用进程为用户可感知进程时,为该应用进程的数据请求添加用户可感知标签。
本实施例中,若确定该应用进程为用户可感知进程,针对于该应用进程所产生一个或多个数据请求,计算机设备会分别为该应用进程的每个数据请求添加用户可感知标签。
关于用户可感知标签的相关内容可以参阅图2的步骤201的相关内容进行理解,此处不进行赘述。
S303、获取目标数据请求,并判断目标数据请求是否携带用户可感知标签。
本实施例中的目标数据请求可以是计算机设备中的任一应用程序的任一应用进程/线程所对应的数据请求。关于判断目标数据请求是否携带用户可感知标签的内容可以参阅图2中的步骤201的相关内容进行理解,此处不进行赘述。
S304、当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列。
本实施例可以参阅图2中的步骤S202的相关内容进行理解,此处不进行赘述。
在一些可选的实施例中,当确定目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,具体可以包括:
(1)当目标数据请求携带用户可感知标签时,判断优先请求队列中所包含的数据请求的第一请求数量是否满足第一预设条件,和/或普通请求队列中所包含的数据请求的第二请求数量是否满足第二预设条件。
具体的,在目标数据请求携带用户可感知标签的情况下,在将目标数据请求添加至优先请求队列之前,计算机设备会首先获取当前时刻优先请求队列中所包含的数据请求的第一请求数量的信息和/或普通请求队列中所包含的数据请求的第二请求数量的信息。
示例性的,第一请求数量满足第一预设条件具体可以是指第一请求数量小于预设数量阈值。示例性的,第一请求数量满足第一预设条件具体可以是指第一请求数量属于预设数量范围;当第一请求数量不属于预设数量范围时,第一请求数量不满足第一预设条件。
示例性的,第二请求数量满足第二预设条件具体可以是指第二请求数量小于或等于候选数量阈值。示例性的,第二请求数量满足第二预设条件具体可以是第二请求数量属于候选数量范围。
(2)当第一请求数量满足第一预设条件,或者第二请求数量满足第二预设条件时,将目标数据请求添加至优先请求队列。
本实施例中,只有当第一请求数量满足第一预设条件和/或普通请求队列中所包含的数据请求的第二请求数量满足第二预设条件时,才会将目标数据请求添加至优先请求队列。
基于上述关于第一预设条件和第二预设条件的内容,本实施例提供将目标数据请求添加至优先请求队列的一种优选实施例,如图4所示。
401、当目标数据请求携带用户可感知标签时,计算机设备获取优先请求队列中所包含的数据请求的第一请求数量以及普通请求队列中的数据请求的第二请求数量。
402、判断优先请求队列中所包含的数据请求的第一请求数量是否大于或等于预设数量阈值。
403、判断普通请求队列中的数据请求的第二请求数量是否小于或等于候选数量阈值。
其中,候选数量阈值为0,即判断普通请求队列中是否存在数据请求。
404、若目标数据请求数量小于预设数量阈值,或者,普通请求队列中的第二请求数量小于或等于候选数量阈值0,即普通请求队列中不存在数据请求时,将目标数据请求添加至优先请求队列。
405、若目标数据请求数量大于或等于预设数量阈值,且普通请求队列中存在数据请求,则暂停将目标数据请求添加至优先请求队列,执行清零操作。
其中,当目标数据请求数量大于或等于预设数量阈值,且普通请求队列中存在数据请求,为防止非用户感知进程的数据请求一直不能被下发处理,则暂停将目标数据请求添加至优先请求队列,先对优先请求队列中当前已经包含的多个数据请求进行下发处理,使得优先请求队列中的目标数据请求数量得以清零。然后再对普通请求队列中的数据请求进行处理,本实施例中,可以对当前普通请求队列中的全部或者部分数据请求处理完成后,再执行将目标数据请求添加至优先请求队列的操作。
S305、若目标数据请求未携带用户可感知标签,则将目标数据请求添加至普通请求队列。
本申请实施例中,通过判断应用进程是否为用户可感知进程,为每个用户可感知进程的每个数据请求分配用户可感知标签,对于携带了用户可感知标签的数据请求会被添加至优先请求队列,未携带用户可感知标签的数据请求则被添加至普通优先请求队列,由于优先请求队列中的一个或多个数据请求的处理优先级高于普通请求队列中的一个或多个数据请求的处理优先级使得用户可感知进程的数据请求能够被优先处理,从而提高数据请求的处理效率,进而能够提高对用户可感知进程的数据请求对应的数据的处理效率,以避免设备卡顿被用户感知,提升用户体验。除此之外,基于图4所述的防饿死机制,还能避免非用户可感知进程的数据请求长时间得不到下发机会而产生其他的系统问题。
为了更好地实施以上方法,本申请实施例还提供一种数据处理装置,该数据处理装置可以集成在计算机设备,比如服务器或终端等设备中,该终端可以包括平板电脑、笔记本电脑和/或个人计算机等。
例如,如图5所示,该数据处理装置可以包括:判断单元501和添加单元502,如下:
判断单元501,用于判断目标数据请求是否携带用户可感知标签。
添加单元502,可以用于当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
本实施例中的数据处理装置,判断单元能够判断每个数据请求是否携带用户可感知标签,携带了用户可感知标签的数据请求则会被添加单元添加至优先请求队列由于优先请求队列中的一个或多个数据请求的处理优先级高于普通请求队列中的一个或多个数据请求的处理优先级使得用户可感知进程的数据请求能够被优先处理,从而提高数据请求的处理效率,进而能够提高对数据请求对应的数据的处理效率,以避免设备卡顿被用户感知,提升用户体验。
在一些可选的实施例中,判断单元501,还可以用于判断应用进程是否为用户可感知进程;当是时,为目标数据请求添加用户可感知标签。
在一些可选的实施例中,判断单元501,还可以用于获取应用进程的进程信息,进程信息包括前台进程信息、应用程序播放媒体资源的进程信息、应用程序绘制显示界面的进程信息,以及应用程序的关键服务的进程信息中的至少一种;根据应用进程的进程信息确定应用进程是否为用户可感知进程。
在一些可选的实施例中,判断单元501,还可以用于获取预设进程信息;若进程信息与预设进程信息匹配,则确定应用进程为用户可感知进程。
在一些可选的实施例中,添加单元502,可以用于当目标数据请求携带用户可感知标签时,判断优先请求队列中所包含的数据请求的第一请求数量是否满足第一预设条件或者普通请求队列中所包含的数据请求的第二请求数量是否满足第二预设条件;当第一请求数量满足第一预设条件,或者第二请求数量满足第二预设条件时,将目标数据请求添加至优先请求队列。
在一些可选的实施例中,添加单元502,可以用于当目标数据请求未携带用户可感知标签时,将目标数据请求添加至普通请求队列。
在一些可选的实施例中,数据处理装置还可以包括处理单元503,用于当第一请求数量不满足第一预设条件,且第二请求数量不满足第二预设条件时,停止将目标数据请求添加至优先请求队列,并对优先请求队列中的目标数据请求数量进行清零操作;对优先请求队列中当前包含的目标数据请求数量的数据请求进行处理;当对优先请求队列中目标数据请求数量的数据请求处理完毕后,对普通请求队列中的数据请求进行处理。
基于上述各实施例,本申请还提供一种系统架构的实施例示意图,如图6所示。该系统架构可以包括:感知判断模块、标签模块、防饿死模块和计算机设备驱动模块。
感知判断模块可以通过对一个或多个应用进程分别进行监听,分别获取每个应用进程的进程信息,并基于每个应用进程的进程信息判断每个应用进程是否为用户可感知进程。
需要说明的是,应用层可以包含一个或多个应用进程。示例性的,可以包括第一应用进程、第二应用进程和第三应用进程。其中,第一应用进程、第二应用进程和第三应用进程,可以是不同应用程序的不同进程,也可以是同一应用程序的不同进程,还可以是同一应用程序的同一或不同进程下的不同线程,还可以是不同应用程序的不同进程下的不同线程。例如,第一应用进程为第一应用程序的应用进程,第二应用进程为第二应用程序的应用进程,第三应用进程为第三应用程序的应用进程。示例性的,可以对第一应用程序的第一应用进程、第二应用程序的第二应用进程和第三应用程序的第三应用进程分别进行监听,如此,可以分别获取到第一应用进程的第一进程信息、第二应用进程的第二进程信息和第三应用进程的第三进程信息。感知判断模块可以基于第一应用程序的第一进程信息判断第一应用程序的第一应用进程是否为用户可感知进程、基于第二应用程序的第二进程信息进行判断第二应用程序的第二应用进程是否为用户可感知进程、基于第三应用程序的第三进程信息判断第三应用程序的第三应用进程是否为用户可感知进程。
标签模块,则可以根据感知判断模块的判断结果,给每个数据请求赋予标签。例如,标签模块在获取到第一应用程序的数据请求时,由于感知判断模块判定该第一应用进程为用户可感知进程,则标签模块为该数据请求添加用户可感知标签,并将该数据请求添加至优先请求队列。例如,当标签模块在获取到第二应用程序和/或第三应用程序的数据请求时,由于感知判断模块判定第二应用进程和第三应用程序不为用户可感知进程,基于此,标签模块将第二应用程序和/或第三应用程序的数据请求添加至普通请求队列。
防饿死模块,能够监控优先请求队列中的数据请求的第一请求数量,以及普通请求队列中的第二应用程序和/或第三应用程序的数据请求的第二请求数量;然后判断第一请求数量是否满足第一预设条件或者第二请求数量是否满足第二预设条件来对优先请求队列和普通请求队列中的数据请求进行相应处理。在一种优先的实施方式中,防饿死模块首先判断优先请求队列中第一请求数量是否小于预设数量阈值;若第一请求数量大于或等于该预设数量阈值,且第二请求数量为零,或者第一请求数量小于该预设数量阈值,则可以允许标签模块将第一应用进程的数据请求继续添加至优先请求队列;若第一请求数量大于或等于该预设数量阈值但普通请求队列中存在至少一个数据请求,则停止标签模块在优先请求队列中继续添加新的数据请求,并对优先请求队列中当前已包含的第一请求数量的数据请求进行清零操作,具体的可以是指对优先请求队列中当前已目标数据请求数量的数据请求进行数据处理,根据请求的数据,计算机设备驱动应用程序执行相应的第一应用进程,同时还可以将第一请求数量清零;在对优先请求队列中目标数据请求数量的第一目标数据请求处理完毕后,对普通请求队列中的至少一个数据请求进行处理,根据请求的数据,计算机设备驱动模块驱动应用程序执行相应的第二应用进程或第三应用进程。
其中,本申请实施例可以按照时间顺序获取优先请求队列或普通请求队列中的数据请求对应的数据。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例还提供一种计算机设备,如图7所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器701是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和计算机程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
计算机设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息通讯,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器701会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的计算机程序,从而实现各种功能,如下:
判断目标数据请求是否携带用户可感知标签;当目标数据请求携带用户可感知标签时,将目标数据请求添加至优先请求队列,其中,优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
其中,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种数据处理方法、装置、计算机设备及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
判断目标数据请求是否携带用户可感知标签;
当所述目标数据请求携带所述用户可感知标签时,将所述目标数据请求添加至优先请求队列,其中,所述优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
2.根据权利要求1所述的方法,其特征在于,所述判断目标数据请求是否携带用户可感知标签之前,还包括:
判断所述应用进程是否为用户可感知进程;
当是时,为所述应用进程的数据请求添加所述用户可感知标签。
3.根据权利要求2所述的方法,其特征在于,所述判断所述应用进程是否为用户可感知进程,包括:
获取所述应用进程的进程信息,所述进程信息包括前台进程信息、应用程序播放媒体资源的进程信息、应用程序绘制显示界面的进程信息,以及应用程序的关键服务的进程信息中的至少一种;
根据所述应用进程的进程信息确定所述应用进程是否为用户可感知进程。
4.根据权利要求3所述的方法,其特征在于,所述根据所述应用进程的进程信息确定所述应用进程是否为用户可感知进程,包括:
获取预设进程信息;
若所述进程信息与所述预设进程信息匹配,则确定所述应用进程为所述用户可感知进程。
5.根据权利要求1-4任一所述的方法,其特征在于,所述当所述目标数据请求携带所述用户可感知标签时,将所述目标数据请求添加至优先请求队列,包括:
当所述目标数据请求携带所述用户可感知标签时,判断所述优先请求队列中所包含的数据请求的第一请求数量是否满足第一预设条件或者所述普通请求队列中所包含的数据请求的第二请求数量是否满足第二预设条件;
当所述第一请求数量满足所述第一预设条件,或者所述第二请求数量满足第二预设条件时,将所述目标数据请求添加至所述优先请求队列。
6.根据权利要求5所述的方法,其特征在于,所述判断所述优先请求队列中所包含的数据请求的第一请求数量是否满足第一预设条件或者所述普通请求队列中所包含的数据请求的第二请求数量是否满足第二预设条件之后,还包括:
当所述第一请求数量不满足所述第一预设条件,且所述第二请求数量不满足所述第二预设条件时,停止将所述目标数据请求添加至所述优先请求队列,并对所述优先请求队列中的所述第一请求数量进行清零操作;
对所述优先请求队列中所述第一请求数量的数据请求进行处理;
当对所述优先请求队列中所述第一请求数量的数据请求处理完毕后,对所述普通请求队列中的所述第二请求数量的数据请求进行处理。
7.根据权利要求1-4任一所述的方法,其特征在于,所述判断目标数据请求是否携带用户可感知标签之后,还包括:
当所述目标数据请求未携带所述用户可感知标签时,将所述目标数据请求添加至所述普通请求队列。
8.一种数据处理装置,其特征在于,包括:
判断单元,用于判断目标数据请求是否携带用户可感知标签;
添加单元,用于当所述目标数据请求携带所述用户可感知标签时,将所述目标数据请求添加至优先请求队列,其中,所述优先请求队列中的数据请求的处理优先级高于普通请求队列中的数据请求的处理优先级。
9.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970491.7A CN117112250A (zh) | 2022-08-12 | 2022-08-12 | 数据处理方法、装置、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210970491.7A CN117112250A (zh) | 2022-08-12 | 2022-08-12 | 数据处理方法、装置、计算机设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112250A true CN117112250A (zh) | 2023-11-24 |
Family
ID=88800805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210970491.7A Pending CN117112250A (zh) | 2022-08-12 | 2022-08-12 | 数据处理方法、装置、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112250A (zh) |
-
2022
- 2022-08-12 CN CN202210970491.7A patent/CN117112250A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628216B2 (en) | I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
KR102052964B1 (ko) | 컴퓨팅 스케줄링 방법 및 시스템 | |
CN111831410A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
US9384050B2 (en) | Scheduling method and scheduling system for multi-core processor system | |
CN111459622B (zh) | 调度虚拟cpu的方法、装置、计算机设备和存储介质 | |
CN111475256A (zh) | 资源分配方法、装置及系统 | |
CN114356547A (zh) | 基于处理器虚拟化环境的低优阻塞方法及装置 | |
CN115904761A (zh) | 片上系统、车辆及视频处理单元虚拟化方法 | |
CN115080209A (zh) | 系统资源调度方法、装置、电子设备及存储介质 | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN110795323A (zh) | 负载统计方法、装置、存储介质及电子设备 | |
CN111831442A (zh) | 一种资源分配的方法、装置、存储介质及电子设备 | |
CN115756866A (zh) | 负载均衡方法、装置及存储介质 | |
CN117112250A (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 | |
CN116303132A (zh) | 一种数据缓存方法、装置、设备以及存储介质 | |
US20230076488A1 (en) | Machine-learning-based replenishment of interruptible workloads in cloud environment | |
CN111831412B (zh) | 中断处理方法、装置、存储介质及电子设备 | |
KR20110018618A (ko) | 다중 쓰레드의 비동기 입출력 처리 장치 및 그 방법 | |
US9483317B1 (en) | Using multiple central processing unit cores for packet forwarding in virtualized networks | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
CN112131029A (zh) | 广播处理方法、装置、计算机设备及存储介质 | |
CN106484536B (zh) | 一种io调度方法、装置和设备 | |
WO2022201281A1 (ja) | ライセンス管理装置、ライセンス管理方法及びコンピュータプログラム |
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 |