CN110162302A - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110162302A
CN110162302A CN201910291003.8A CN201910291003A CN110162302A CN 110162302 A CN110162302 A CN 110162302A CN 201910291003 A CN201910291003 A CN 201910291003A CN 110162302 A CN110162302 A CN 110162302A
Authority
CN
China
Prior art keywords
graphic operation
targeted graphical
handling function
graphic
operation instruction
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.)
Granted
Application number
CN201910291003.8A
Other languages
English (en)
Other versions
CN110162302B (zh
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910291003.8A priority Critical patent/CN110162302B/zh
Publication of CN110162302A publication Critical patent/CN110162302A/zh
Application granted granted Critical
Publication of CN110162302B publication Critical patent/CN110162302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Programmable Controllers (AREA)

Abstract

本公开是关于一种数据处理方法、装置、电子设备及存储介质,该数据处理方法包括:拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;判断所述图形操作指令是否符合预设图形操作条件;当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。本公开的方法可以提升对图形操作的漏洞的定位效率以及定位准确率。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机软件技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
应用程序的图形开发一般在黑盒中,那么在进行黑盒测试时,测试人员需要将软件看着一个不能打开的黑匣子,在完全不考虑程序内部结构和内部特性的情况下,测试人员只可以在程序接口进行测试,以查看程序功能是否符合需求,或存在漏洞(bug)。那么当图形开发代码出现bug时,则测试人员很难定位问题,并对图形代码的调试。
此外,由于一次完整的图形绘制需要触发多次图形绘制操作,那么只要存在一次图形绘制操作的错误,就会导致本次图形绘制的失败。例如用户通过操作美颜软件想要对人脸图像的嘴唇涂一个颜色的口红,那么可以触发一个涂口红的图形绘制请求,但是一个涂口红的操作需要一系列图形操作指令的执行,才可以完成口红的涂抹。如果该一系列图形操作指令中有一个图形操作指令出现bug,将导致本次口红涂抹的美颜操作失败。显然,图形操作代码的bug定位显得尤为重要。
那么为了对图形操作代码进行bug的定位,相关技术中主要是通过获取图形操作软件的有关于图形操作的日志,并将该图形操作的日志进行打印,由开发人员根据开发经验从打印的日志中推测出bug的位置,从而便于调试图形操作代码。
显然,相关技术中从众多日志中人工推测图形操作bug位置的方案,普遍存在着定位bug效率低、定位bug准确率低的问题。
发明内容
为克服相关技术中从众多日志中人工推测图形操作bug位置的方案,所存在的定位bug效率低、定位bug准确率低的问题,本公开提供一种数据处理方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种数据处理方法,包括:
拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
判断所述图形操作指令是否符合预设图形操作条件;
当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
在一种可能的实施方式中,所述拦截应用程序中被触发的图形绘制请求所对应的图形操作指令,包括:
接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
将所述图形操作指令按照触发先后顺序依次缓存;
当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
所述判断所述图形操作指令是否符合预设图形操作条件之后,所述方法还包括:
当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,在沙盒程序中执行拦截到的每个所述图形操作指令,得到绘制的图形。
在一种可能的实施方式中,所述当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应,包括:
当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,拒绝将拦截到的每个所述图形操作指令下发给驱动。
在一种可能的实施方式中,所述预设图形操作条件包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限。
在一种可能的实施方式中,所述判断所述图形操作指令是否符合预设图形操作条件,包括:
获取所述图形操作指令对应的目标图形操作函数;
当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
在一种可能的实施方式中,所述预设标记包括第一预设标记,所述将拦截的所述图形操作指令提供给用户,包括:
将拦截到的所述图形操作指令按照触发先后顺序依次输出到日志文件中,其中,不符合所述预设图形操作条件的目标图形操作指令在所述日志文件中对应有第一预设标记;
将所述日志文件提供给用户。
在一种可能的实施方式中,所述预设标记包括第二预设标记,所述将拦截的所述图形操作指令提供给用户,还包括:
按照所述图形操作指令的触发先后顺序,将拦截到的所述图形操作指令,依次展示在所述应用程序的开发工具中,其中,不符合预设图形操作条件的目标图形操作指令在所述开发工具中对应有第二预设标记。
根据本公开实施例的第二方面,提供一种数据处理装置,包括:
拦截模块,被配置为拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
判断模块,被配置为判断所述图形操作指令是否符合预设图形操作条件;
停止模块,被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
提供模块,被配置为将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
在一种可能的实施方式中,所述拦截模块包括:
接收子模块,被配置为接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
缓存子模块,被配置为将所述图形操作指令按照触发先后顺序依次缓存;
拦截子模块,被配置为当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
在一种可能的实施方式中,所述装置还包括:
执行模块,被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,在沙盒程序中执行拦截到的每个所述图形操作指令,得到绘制的图形。
在一种可能的实施方式中,所述停止模块,还被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,拒绝将拦截到的每个所述图形操作指令下发给驱动。
在一种可能的实施方式中,所述预设图形操作条件包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限。
在一种可能的实施方式中,所述判断模块包括:
获取子模块,被配置为获取所述图形操作指令对应的目标图形操作函数;
第一判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
第二判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
第一确定子模块,被配置为若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
第二确定子模块,被配置为若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
在一种可能的实施方式中,所述提供模块包括:
输出子模块,被配置为将拦截到的所述图形操作指令按照触发先后顺序依次输出到日志文件中,其中,不符合所述预设图形操作条件的目标图形操作指令在所述日志文件中对应有第一预设标记,其中,所述预设标记包括所述第一预设标记;
第一提供子模块,被配置为将所述日志文件提供给用户。
在一种可能的实施方式中,所述提供模块还包括:
第二提供子模块,被配置为按照所述图形操作指令的触发先后顺序,将拦截到的所述图形操作指令,依次展示在所述应用程序的开发工具中,其中,不符合预设图形操作条件的目标图形操作指令在所述开发工具中对应有第二预设标记,其中,所述预设标记包括所述第一预设标记。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现上述任意一项所述的数据处理方法所执行的操作。
根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行一种以实现如上述任意一项所述的数据处理方法所执行的操作。
根据本公开实施例的第五方面,提供一种应用程序,所述应用程序由电子设备的处理器执行时,使得电子设备能够执行一种以实现如上述任意一项所述的数据处理方法所执行的操作。
本公开的实施例提供的技术方案可以包括以下有益效果:
这样,本公开实施例通过对应用程序中被触发的图形绘制请求所对应的图形操作指令进行拦截,并判断每个图形操作指令是否符合预设图形操作条件,若图形操作指令中存在不符合预设图形操作条件的目标图形操作指令,则停止对拦截到的每个图形操作指令的响应,降低应用程序出现bug的概率;并且,在存在不符合预设图形操作条件的目标图形操作指令的情况下,将拦截的图形操作指令提供给用户,且目标图形操作指令对应有预设标记,能够将可能出现bug的代码范围大幅缩小至该图形绘制请求对应的图形操作指令,以及其中的目标图形操作指令,大幅提升了图形操作bug的定位效率;而借助于预设图形操作条件进行图形操作指令的检查,则大幅提升了图形操作bug的定位准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种数据处理方法的流程图;
图2是根据一示例性实施例示出的一种数据处理方法的流程图;
图3是根据一示例性实施例示出的一种数据处理方法的流程图;
图4是根据一示例性实施例示出的一种数据处理装置的结构框图;
图5是根据一示例性实施例示出的一种用于数据处理的装置的框图;
图6是根据一示例性实施例示出的一种用于数据处理的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种数据处理方法的流程图,该数据处理方法应用于客户端,该方法具体可以包括以下步骤:
步骤101,拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
其中,本公开实施例的应用程序具有图形绘制功能,例如对图像的美颜功能。
在一个示例中,美颜功能的实现依次可以包括磨皮、将磨皮后的图像与原图融合、对融合后的图像提亮、对原始图像锐化、将锐化后的图像和提亮后的图像进行融合、对融合后的图像增加滤镜等等图形操作步骤。
对于上述图形操作步骤中的任意一个图形操作步骤而言,都可以划分为多个图形绘制请求。举例来说,磨皮操作的实现需要触发多个图形绘制请求,对于任意一个图形绘制请求都可以对应于一段完整的图形操作指令(包括一个或多个图形操作指令,可选地,步骤101中的图形操作指令的数量为多个。其中,每个图形操作指令可以理解为一个图形操作函数)。
在一个示例中,当用户操作应用程序触发图形绘制请求后,应用程序可以获取该图形绘制请求所对应的多个图形操作指令,并将多个图形操作指令下发给驱动,由GPU(图形处理器,Graphics Processing Unit)依次执行该多个图形操作指令进行图形绘制。
但是,由于一个图形绘制请求对应的一个或多个图形操作指令中的任意一个图形操作指令发生图形绘制异常,都会导致该图形绘制请求对应的图形绘制出错,为了便于开发人员对图形操作的bug位置进行定位,在本公开实施例中可以对应用程序中被触发的图形绘制请求所对应的一个或多个图形操作指令(该一个或多个图形操作指令是用于响应该图形绘制请求的一段完整的图形操作指令)进行拦截,然后进行步骤102的判断,从而确定是否将该一个或多个图形操作指令下发给下层驱动,完成图形的绘制。
在一种可能的实施方式中,在执行步骤101时,可以通过图2所示的方法来实现:
步骤201,接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
其中,当用户对应用程序进行操作而触发了图形绘制请求后,本公开实施例的方法可以接收到该图形绘制请求对应的图形操作指令。
其中,如上文所述,该图形操作指令是一段完整且连续的图形操作指令。
步骤202,将所述图形操作指令按照触发先后顺序依次缓存;
其中,如上文所述,该图形操作指令是一段完整且连续的图形操作指令,因此,当该图形操作指令的数量为多个时,该多个图形操作指令对应有触发先后顺序。这里,可以按照该触发先后顺序来依次将接收到的图形操作指令缓存。
步骤203,当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
其中,每当一个图形绘制请求对应的图形操作指令下发完毕后,都会下发一个与图形操作相关的预设结束信号,这样,当本公开实施例的方法接收到该预设结束信号,则可以确定本次触发的图形绘制请求的图形操作指令已经接收完毕,在传统技术中,如果接收到预设结束信号,则需要将该图形操作指令下发给驱动进行图形绘制,而本公开实施例的方法则可以将在接收到该预设结束信号之前而缓存的图形操作指令拦截下来,进行步骤102的判断,从而根据判断结果决定是否将该图形操作指令下发给驱动。
其中,预设结束信号包括但不限于以下几种:Draw系列函数、Flush函数、Finish函数、SwapBuffer及其等价函数、BlitCommandBuffer及其等价函数、SyncObject及其等价函数等。
这样,本公开实施例通过将接收到的图形操作指令按照触发先后顺序依次缓存,并在接收到预设结束信号的情况下,对缓存的图形操作指令进行是否符合预设图形操作条件的判断,能够确保与预设图形操作条件进行判断对比的图形操作指令是本次触发的图形绘制请求的一段完整的图形操作指令,不会存在部分图形操作指令未进行检查,而直接下发给下层驱动进行绘制的问题,从而实现了对每个被触发的图形绘制请求对应的全部图形操作指令的bug检查,提升对图形操作bug位置的定位准确率。
在一种可能的实施方式中,接收到的上述预设结束信号也可以按照数据的接收顺序依次存储在缓存中。例如应用程序中的两个图形绘制请求依次被触发,图形绘制请求1对应于图形操作指令1~3以及预设结束信号1,图形绘制请求2对应于图形操作指令4~6。那么本公开实施例的方法在对接收到的数据进行缓存时,依次缓存图形操作指令1、图形操作指令2、图形操作指令3、预设结束信号1、图形操作指令4、图形操作指令5、图形操作指令6、预设结束信号2。
例如步骤101中被触发的图形绘制请求为图形绘制请求2,那么本公开实施例在拦截图形操作指令时,则可以从缓存中将存储在最近接收到的两个预设结束信号之间的图形操作指令拦截,即,对这里的存储在预设结束信号1和预设结束2之间的图形操作指令4、图形操作指令5、图形操作指令6进行拦截。
另外,在一种可能的实施方式中,根据剩余内存的大小情况,本公开实施例的方法还可以将缓存中的图形操作指令以及预设结束信号按序存储到队列中,从而降低对内存的占用。
步骤102,判断所述图形操作指令是否符合预设图形操作条件;
其中,本公开实施例的方法预先配置了图形操作条件。该预设图形操作条件可以包括在图形绘制中需要遵循的图形操作的标准以及图形绘制开发人员根据经验确定的图形操作应答遵循的条件。
本公开实施例配置的预设图形操作条件可以使满足该预设图形操作条件的图形操作出现bug的概率大大降低,相反,如果一个图形绘制请求中的任意一个图形操作指令不符合该预设图形操作条件,则在利用该图形绘制请求对应的图形操作指令进行图形绘制时,则很容易出现图形绘制异常。
那么本步骤,可以判断所述图形操作指令中的每个图形操作指令是否均符合预设图形操作条件。
在一种可能的实施方式中,所述预设图形操作条件可以包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限。
其中,所述预设图形操作函数可以包括OpenGL(开放图形库,Open GraphicsLibrary)中的每个函数以及开发人员根据经验确定的一些图形操作函数。
而每个预设图形操作函数的预设条件(包括但不限于参数条件、操作权限)可以根据OpenGL定义的图形操作标准以及开发人员的经验而设置。
具体而言,对于预设图形操作函数的参数条件,可以设置每个预设图形操作函数中的参数要求(例如预设图形操作函数所引用的参数类型是否为预设参数类型,例如函数1只可以处理纹理数据,函数2只可以处理亮度数据);对于预设图形操作函数的操作权限,可以设置每个预设图形操作函数可以执行的具体操作,因为,一个预设图形操作函数可以执行的操作是有限的,因此,这里设置一个预设图形操作函数只可以执行其权限内的操作。
这样,本公开实施例通过预先配置图形操作条件,该预设图形操作条件可以包括预设图形操作函数的参数条件和/或预设图形操作函数的操作权限,从函数的参数条件、操作权限两方面对图形操作指令进行检查,从而能够较为准确的定位到可能存在bug的图形操作指令,该预设图形操作条件可以用于检测图形操作指令是否可能存在bug,从而提升了图形操作的bug定位准确率。
在一种可能的实施方式中,在执行步骤102时,可以通过图3所示的方法来实现:
步骤301,获取所述图形操作指令对应的目标图形操作函数;
其中,这里可以获取拦截到的每个图形操作指令对应的每个目标图形操作函数。
继续以上文的示例来举例说明,例如这里获取的图形操作指令,按照触发先后顺序依次为图形操作指令4、图形操作指令5和图形操作指令6,它们分别对应的函数依次为函数4、函数5和函数6。这里获取的目标图形操作函数不仅包括函数名、还包括函数的完整执行代码。
步骤302,当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
其中,可以利用目标图形操作函数的函数名在预设图形操作条件中查找是否存在对应该函数名的预设图形操作条件,如果所述预设图形操作条件包括目标图形操作函数的参数条件,也就是说,在预设图形操作条件中针对目标图形操作函数设置了参数条件,例如预设图形操作条件中设置有对应函数4的参数条件1、函数5的参数条件2和函数6的参数条件3。
那么这里可以从步骤301获取的数据(例如上述函数的完整执行代码)中,提取出函数4引用的参数信息(包括嵌套函数所引用或处理的参数),将该参数信息与该参数条件1进行对比,从而对函数3引用的参数类型等进行检查,如果一致,则说明该函数3在参数条件处通过了检查,说明函数3符合所述函数3的参数条件;如果不一致,则说明函数3不符合所述函数3的参数条件,且函数3不符合预设图形操作条件。
针对函数5,函数5的参数检查与这里列举的函数4的参数检查过程类似,这里不再赘述。
步骤303,当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
与步骤302类似,可以利用目标图形操作函数的函数名在预设图形操作条件中查找是否存在对应该函数名的预设图形操作条件,如果所述预设图形操作条件包括目标图形操作函数的操作权限,也就是说,在预设图形操作条件中针对目标图形操作函数设置了操作权限,例如预设图形操作条件中设置有对应函数4的操作权限1、函数5的操作权限2。
那么这里可以从步骤301获取的数据中,提取出函数4执行了哪些具体操作,而这些具体操作可以以嵌套在函数4中嵌套函数来体现,例如函数4包括嵌套函数1、嵌套函数2,而预设图形操作条件中针对函数4设置的操作权限只有嵌套函数1,那么,显然嵌套函数2执行的操作超出了函数4的操作权限,所以,函数4不符合函数4的操作权限,且函数4不符合预设图形操作条件。
相反,如果预设图形操作条件中针对函数4设置的操作权限包括嵌套函数1、嵌套函数2和嵌套函数3,那么函数4执行的操作都在其权限之内,所以,该函数4通过了操作权限的检查,即函数4符合函数4的操作权限。
针对函数5,函数5的操作权限检查与这里列举的函数4的操作权限检查过程类似,这里不再赘述。
步骤304,若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
步骤305,若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
也就是说,如果目标图形操作函数不符合,预设图形操作条件中针对该目标图形操作函数所配置的上述两个条件中的任意一个条件,则确定目标图形操作函数不符合预设图形操作条件;只有目标图形操作函数符合,预设图形操作条件中针对该目标图形操作函数所配置的所有条件(这里为上述两个条件),则确定该目标图形操作函数符合预设图形操作条件。而一个图形绘制请求对应有一个或多个目标图形操作函数,那么多个目标图形操作函数中只要存在一个目标图形操作函数不符合预设图形操作条件,则该图形绘制请求对应的多个目标图形操作函数均拒绝响应执行。相反,只要在该图形绘制请求对应的多个目标图形操作函数均符合预设图形操作条件的情况下,才说明该图形绘制请求对应的所有图形操作指令中存在bug的可能性很低,以便对它们进行下传至驱动进行执行。
另外,本公开对于步骤302和步骤303之间的执行顺序不做限制。
这样,本公开实施例通过获取拦截到的图形操作指令对应的目标图形操作函数,并利用预设图形操作条件来对目标图形操作函数的参数条件、操作权限进行检查,从而能够更加全面的对一个图形绘制请求所对应的每个目标图形操作函数进行全方位的检查,避免可能存在异常的目标图形操作函数被执行,而影响图形绘制的准确度,并利用该预设图形操作条件对可能存在bug的图形绘制请求对应的图形操作指令进行了有效拦截,便于对图形绘制bug定位。
在一种可能的实施方式中,经过上述步骤301~步骤305之后,可以识别多个目标图形操作函数中不符合预设图形操作条件的目标图形操作函数,然后,在拦截到的图形操作指令中,对将该目标图形操作函数所对应的目标图形操作指令设置预设标记。从而便于开发人员利用该预设标记快速定位可能存在bug的图形操作代码。另外,如果一个图形绘制请求对应的图形操作指令中存在被添加预设标记的目标图形操作指令,还可以在缓存或队列中对该图形绘制请求对应的图形操作指令设置一个区别于所述预设标记的统一标记,从而便于开发人员了解到哪个图形绘制请求对应的图形操作指令未被响应。
步骤103,当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
其中,在传统技术中不对任何图形操作指令进行拦截,而是在图形绘制请求被触发后,直接依次执行该图形绘制请求对应的图形操作指令,但是,发明人在实现本公开的过程中发现,该图形操作指令中任意一个图形操作指令的执行错误,都会导致本次图形绘制的错误,因此,本公开实施例的方法对每个被触发的图形绘制请求对应的图形操作指令进行拦截,在判断一个图形绘制请求对应的所有图形操作指令中存在不符合预设图形操作条件的目标图形操作指令的情况下,就停止对该图形绘制请求对应的所有的图形操作指令的响应。或者说,停止对该所有的图形操作指令对应的多个目标图形操作函数的执行。
在一种可能的实施方式中,在执行步骤103时,可以在所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令的情况下,以拒绝将拦截到的每个所述图形操作指令下发给驱动的方式来实现。
在传统方案中,如上文所述,在图形绘制请求被触发后,传统方案会直接依次执行该图形绘制请求对应的图形操作指令,但是在本公开实施例中,在经过判断确定所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令的情况下,则会拒绝将对应于所述图形绘制请求的所有图形操作指令下发给下层驱动,从而避免GPU执行该该图形绘制请求的图形绘制操作,出现bug。
这样,本公开实施例通过对每次触发的图形绘制请求对应的所有图形操作指令进行拦截,并将拦截到的每个图形操作指令与预设图形操作条件进行对比,在所述所有图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令的情况下,则拒绝将拦截到的所有图形操作指令下发给驱动,既避免了图形绘制错误,又避免了可能存在bug的图形操作指令的执行导致驱动出现紊乱的情况。
步骤104,将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
其中,当确定所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,则可以对拦截到的所述图形操作指令中的目标图形操作指令自动添加预设标记,那么在将拦截的所述图形操作指令提供给用户(例如开发人员)时,由于可能存在bug的目标图形操作指令对应有预设标记,这样,开发人员可以更加直观快速的对可能存在bug的目标图形操作指令进行定位,人工调试分析,该目标图形操作指令是否真的存在bug。
这样,本公开实施例通过对应用程序中被触发的图形绘制请求所对应的图形操作指令进行拦截,并判断每个图形操作指令是否符合预设图形操作条件,若图形操作指令中存在不符合预设图形操作条件的目标图形操作指令,则停止对该图形绘制请求对应的每个图形操作指令的响应,降低应用程序出现bug的概率;并且,在存在不符合预设图形操作条件的目标图形操作指令的情况下,将拦截的每个图形操作指令提供给用户,且目标图形操作指令对应有预设标记,能够将可能出现bug的代码范围大幅缩小至该图形绘制请求对应的图形操作指令,以及其中的目标图形操作指令,大幅提升了图形操作bug的定位效率;而借助于预设图形操作条件进行图形操作指令的检查,则大幅提升了图形操作bug的定位准确率。
在一种可能的实施方式中,对于拦截到的图形操作指令来说,它们之间具有触发先后顺序,该触发先后顺序可以以数据的方式被接收,也可以通过自动识别的方式来获取,本公开对此不做限制。
对于数据接收的方式,本公开实施例的方法在接收多个图形操作指令时,还可以接收到该多个图形操作指令的触发先后顺序数据;
对于自动识别的方式,本公开实施例的方法可以对该多个图形操作指令的接收顺序即为它们的触发先后顺序。
在一种可能的实施方式中,所述预设标记可以包括第一预设标记,那么在执行步骤104时,可以通过将拦截到的所述图形操作指令按照触发先后顺序依次输出到日志文件中,其中,不符合所述预设图形操作条件的目标图形操作指令在所述日志文件中对应有所述第一预设标记;然后,将所述日志文件提供给用户。
具体而言,本公开实施例的方法可以将拦截到的图形操作指令按照它们的触发先后顺序依次输出到日志文件中,并针对不符合所述预设图形操作条件的目标图形操作指令在所述日志文件中设置有第一预设标记(例如“警告”标记);然后,将该日志文件提供给开发人员查看。
这样,本公开实施例通过将拦截到的被触发的图形绘制请求对应的图形操作指令以日志文件的方式提供给开发人员,并且,日志文件中,对于存在不符合预设图形操作条件的目标图形操作指令设置有第一预设标记,将日志文件中的数据缩小至涉及目标图形操作指令的图形绘制请求的日志数据,使得开发人员浏览的日志数据量大幅降低,且针对存在bug可能性较高的目标图形操作指令还具有第一预设标记,从而更加能够便于开发人员定位bug位置。
在一种可能的实施方式中,所述预设标记可以包括第二预设标记,在执行步骤104时,还可以按照所述图形操作指令的触发先后顺序,将拦截到的所述图形操作指令,依次展示在所述应用程序的开发工具中,其中,不符合预设图形操作条件的目标图形操作指令在所述开发工具中对应有第二预设标记。
具体而言,开发人员在对上述应用程序进行调试的过程中,可以使用安装在本地的该应用程序的开发工具进行调试,因此,为了便于开发人员对该应用程序的调试修复以及定位bug的工作,本公开实施例的方法可以将拦截到的所述图形操作指令,按照所述图形操作指令的触发先后顺序,依次展示在所述应用程序的开发工具中,且不符合预设图形操作条件的目标图形操作指令的代码在所述开发工具中对应有第二预设标记(例如“!!!”)。这样,便于开发人员对bug进行定位。
在一种可能的实施方式中,如图1所示,在步骤102之后,本公开实施例的方法不仅可以执行步骤103,还可以执行步骤105:
步骤105,当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,在沙盒程序中执行拦截到的每个所述图形操作指令,得到绘制的图形。
一方面为了验证该拦截的图形操作指令是否会出现图形绘制异常,另一方面为了避免该拦截到的一组图形操作指令被执行的情况下所导致的绘制异常以影响主进程的运行的问题,在本公开实施例中,可以在沙盒程序中执行被拦截的该每个图形操作指令,当然也是按照该多个图形操作指令的触发先后顺序依次执行,从而得到绘制的图形,这样,开发人员就可以识别绘制的图形是否出现了错误或异常,也就验证了该多个图形操作指令中是否存在bug以及定位bug的位置。
由于沙盒程序独立于上述应用程序,因此,在沙盒程序中执行拦截到的每个图形操作指令,不会影响应用程序的正常运行。
其中,本公开对于步骤103和步骤105的执行顺序不做限制。
在一种可能的实施方式中,本公开实施例的方法预先在应用程序中配置有中间层,该中间层存储有图形操作指令与不同开发平台的开发语言之间的映射关系,那么本公开实施例的上述方法可以应用到所述中间层,这样,具有该中间层的应用程序可以不更换代码进行跨平台的安装,例如可以安装到IOS系统、安卓系统等。本公开实施例的中间层不仅可以实现上述任意一个实施例所述的处理方法,还可以在拦截到的所述图形操作指令均符合所述预设图形操作条件的情况下,按照所述映射关系,将拦截到的每个图形操作指令映射到该应用程序安装的平台所支持的目标语言下的多个新的图形操作指令,从而完成图形绘制。
这样,本公开实施例的方法通过在应用程序的中间层实现图形操作指令的拦截工作,可以使图形操作指令的拦截功能得到跨平台的应用,无需修改代码,一套代码可以复用,大幅降低了程序开发成本。
图4是根据一示例性实施例示出的一种数据处理装置的结构框图。参照图4,该装置包括:
拦截模块41,被配置为拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
判断模块42,被配置为判断所述图形操作指令是否符合预设图形操作条件;
停止模块43,被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
提供模块44,被配置为将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
在一种可能的实施方式中,所述拦截模块41包括:
接收子模块,被配置为接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
缓存子模块,被配置为将所述图形操作指令按照触发先后顺序依次缓存;
拦截子模块,被配置为当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
在一种可能的实施方式中,所述装置还包括:
执行模块,被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,在沙盒程序中执行拦截到的每个所述图形操作指令,得到绘制的图形。
在一种可能的实施方式中,所述停止模块43,还被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,拒绝将拦截到的每个所述图形操作指令下发给驱动。
在一种可能的实施方式中,所述预设图形操作条件包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限、预设图形操作函数的数据条件。
在一种可能的实施方式中,所述判断模块42包括:
获取子模块,被配置为获取所述图形操作指令对应的目标图形操作函数;
第一判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
第二判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
第一确定子模块,被配置为若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
第二确定子模块,被配置为若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
在一种可能的实施方式中,所述提供模块44包括:
输出子模块,被配置为将拦截到的所述图形操作指令按照触发先后顺序依次输出到日志文件中,其中,不符合所述预设图形操作条件的目标图形操作指令在所述日志文件中对应有第一预设标记,其中,所述预设标记包括所述第一预设标记;
第一提供子模块,被配置为将所述日志文件提供给用户。
在一种可能的实施方式中,所述提供模块44还包括:
第二提供子模块,被配置为按照所述图形操作指令的触发先后顺序,将拦截到的所述图形操作指令,依次展示在所述应用程序的开发工具中,其中,不符合预设图形操作条件的目标图形操作指令在所述开发工具中对应有第二预设标记,其中,所述预设标记包括所述第二预设标记。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包括指令的应用程序,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是根据一示例性实施例示出的一种用于数据处理的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图6,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法……
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
需要说明的是,本公开的执行主体可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务器。当电子设备如移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等时,如图5所示。当电子设备是服务器时,如图6所示。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
判断所述图形操作指令是否符合预设图形操作条件;
当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
2.根据权利要求1所述的数据处理方法,其特征在于,所述拦截应用程序中被触发的图形绘制请求所对应的图形操作指令,包括:
接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
将所述图形操作指令按照触发先后顺序依次缓存;
当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
3.根据权利要求1所述的数据处理方法,其特征在于,所述预设图形操作条件包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限。
4.根据权利要求3所述的数据处理方法,其特征在于,所述判断所述图形操作指令是否符合预设图形操作条件,包括:
获取所述图形操作指令对应的目标图形操作函数;
当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
5.一种数据处理装置,其特征在于,包括:
拦截模块,被配置为拦截应用程序中被触发的图形绘制请求所对应的图形操作指令;
判断模块,被配置为判断所述图形操作指令是否符合预设图形操作条件;
停止模块,被配置为当所述图形操作指令中存在不符合所述预设图形操作条件的目标图形操作指令时,停止对拦截到的每个所述图形操作指令的响应;
提供模块,被配置为将拦截的所述图形操作指令提供给用户,其中,不符合所述预设图形操作条件的目标图形操作指令对应有预设标记。
6.根据权利要求5所述的数据处理装置,其特征在于,所述拦截模块包括:
接收子模块,被配置为接收应用程序中被触发的图形绘制请求所对应的图形操作指令;
缓存子模块,被配置为将所述图形操作指令按照触发先后顺序依次缓存;
拦截子模块,被配置为当接收到与图形操作相关的预设结束信号时,将在接收到所述预设结束信号之前缓存的所述图形操作指令进行拦截。
7.根据权利要求5所述的数据处理装置,其特征在于,所述预设图形操作条件包括以下至少之一:预设图形操作函数的参数条件、预设图形操作函数的操作权限。
8.根据权利要求7所述的数据处理装置,其特征在于,所述判断模块包括:
获取子模块,被配置为获取所述图形操作指令对应的目标图形操作函数;
第一判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的参数条件时,判断每个所述目标图形操作函数的参数信息是否符合所述目标图形操作函数的参数条件;
第二判断子模块,被配置为当所述预设图形操作条件包括目标图形操作函数的操作权限时,判断每个所述目标图形操作函数的操作内容是否符合所述目标图形操作函数的操作权限;
第一确定子模块,被配置为若每个所述目标图形操作函数的参数信息均符合所述目标图形操作函数的参数条件、且每个所述目标图形操作函数的操作内容均符合所述目标图形操作函数的操作权限,则判定所述图形操作指令符合预设图形操作条件;
第二确定子模块,被配置为若存在任意一个目标图形操作函数的参数信息不符合所述目标图形操作函数的参数条件,或,存在任意一个目标图形操作函数的操作内容不符合所述目标图形操作函数的操作权限,则判定所述图形操作指令不符合预设图形操作条件。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至权利要求4中任意一项所述的数据处理方法所执行的操作。
10.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行一种以实现如权利要求1至权利要求4中任意一项所述的数据处理方法所执行的操作。
CN201910291003.8A 2019-04-11 2019-04-11 数据处理方法、装置、电子设备及存储介质 Active CN110162302B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910291003.8A CN110162302B (zh) 2019-04-11 2019-04-11 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910291003.8A CN110162302B (zh) 2019-04-11 2019-04-11 数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110162302A true CN110162302A (zh) 2019-08-23
CN110162302B CN110162302B (zh) 2023-06-20

Family

ID=67639135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910291003.8A Active CN110162302B (zh) 2019-04-11 2019-04-11 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110162302B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511213A (zh) * 2020-11-18 2021-03-16 四川安迪科技实业有限公司 基于日志分析的缺陷定位方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130057561A1 (en) * 2011-09-07 2013-03-07 Exent Technologies, Ltd. System and method for rendering graphics content associated with an application process to a display area managed by another process
US20130127858A1 (en) * 2009-05-29 2013-05-23 Luc Leroy Interception of Graphics API Calls for Optimization of Rendering
CN103838669A (zh) * 2012-11-26 2014-06-04 辉达公司 用于本地调试图形程序的系统、方法和计算机程序产品
US20150095874A1 (en) * 2013-09-30 2015-04-02 Applifier Oy Software development kit for capturing graphical image data
CN105917382A (zh) * 2014-01-21 2016-08-31 艾丽卡滑翔有限公司 用于交互式图形流传输的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130127858A1 (en) * 2009-05-29 2013-05-23 Luc Leroy Interception of Graphics API Calls for Optimization of Rendering
US20130057561A1 (en) * 2011-09-07 2013-03-07 Exent Technologies, Ltd. System and method for rendering graphics content associated with an application process to a display area managed by another process
CN103838669A (zh) * 2012-11-26 2014-06-04 辉达公司 用于本地调试图形程序的系统、方法和计算机程序产品
US20150095874A1 (en) * 2013-09-30 2015-04-02 Applifier Oy Software development kit for capturing graphical image data
CN105917382A (zh) * 2014-01-21 2016-08-31 艾丽卡滑翔有限公司 用于交互式图形流传输的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511213A (zh) * 2020-11-18 2021-03-16 四川安迪科技实业有限公司 基于日志分析的缺陷定位方法及系统
CN112511213B (zh) * 2020-11-18 2022-07-22 四川安迪科技实业有限公司 基于日志分析的缺陷定位方法及系统

Also Published As

Publication number Publication date
CN110162302B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
US11460918B2 (en) Managing and mapping multi-sided touch
US10948949B2 (en) Electronic apparatus having a hole area within screen and control method thereof
CN107038112B (zh) 应用界面的调试方法及装置
CN109582579B (zh) 应用程序测试方法、装置、电子设备及存储介质
US11237703B2 (en) Method for user-operation mode selection and terminals
EP3333690A2 (en) Object starting method and device
EP3316113A1 (en) Electronic device having hole area and method of controlling hole area thereof
CN104679599A (zh) 在应用程序间进行复制的方法和装置
CN107241495A (zh) 终端设备的分屏处理方法和装置
CN110209331A (zh) 信息提示方法及终端
CN111309209A (zh) 快速打开应用或应用功能的方法、装置及终端设备
CN111144877A (zh) 扫码支付方法及电子设备
CN110383244A (zh) 一种计算器的运行方法以及终端
CN112256563A (zh) 安卓应用稳定性测试方法、装置、电子设备及存储介质
CN111090529A (zh) 共享信息的方法及电子设备
CN108062669A (zh) 一种支付方法、终端及计算机可读存储介质
CN107608725A (zh) 一种信息处理方法及终端
CN104899059B (zh) 操作系统升级方法及装置
CN110162302A (zh) 数据处理方法、装置、电子设备及存储介质
CN107239236A (zh) 数据写入方法及装置
CN108763014B (zh) 信息提醒方法、装置、移动终端和计算机可读介质
CN106843689B (zh) 移动终端及超级截图实现方法
EP3185515B1 (en) Method and device for inputting information
CN106293629B (zh) 堆栈获取方法及装置
CN110162245B (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