发明内容
本申请提供一种数据处理方法、装置、设备、存储介质及程序产品,用以解决目前的解决APP的iOS客户端运行时出现的数据读取异常问题的方法存在的,不能够避免APP在实际使用过程中发生的,因数据读取异常问题引起的APP页面显示异常、APP崩溃闪退等后果的问题。
第一方面,本申请提供一种数据处理方法,所述方法应用于电子设备,所述电子设备上部署有应用程序的iOS客户端,所述方法包括:
获取显示所述应用程序的待显示页面所需的第一数据集;
确定所述第一数据集是否为所述应用程序显示异常的问题数据集;
若所述第一数据集为所述应用程序显示异常的问题数据集,则修复所述第一数据集;
利用修复后的第一数据集显示所述待显示页面。
可选地,所述确定所述第一数据集是否为所述应用程序显示异常的问题数据集,包括:
根据所述第一数据集是否越界,以及,所述第一数据集中是否存在取值为空的数据,确定所述第一数据集是否为所述应用程序显示异常的问题数据集;
若所述第一数据集越界和/或所述第一数据集存在取值为空的数据,则确定所述第一数据集为所述应用程序显示异常的问题数据集;或者,
若所述第一数据集未越界、且所述第一数据集无取值为空的数据,则确定所述第一数据集非所述应用程序显示异常的问题数据集。
可选地,所述修复所述第一数据集,包括:
若所述第一数据集越界,则在所述第一数据集中添加M个数据;所述M的取值与所述第一数据集越界的数量相关;
和/或,若所述第一数据集存在取值为空的数据,则将所述第一数据集中的取值为空的数据的取值替换为第一预设取值。
可选地,所述确定所述第一数据集是否为所述应用程序显示异常的问题数据集之后,所述方法还包括:
若所述第一数据集为所述应用程序显示异常的问题数据集,则向所述应用程序的服务器上报所述第一数据集为所述应用程序显示异常的问题数据集。
可选地,所述方法还包括:
获取所述应用程序当前页面待存储至所述电子设备的本地数据库的第二数据集;
确定所述第二数据集是否为所述应用程序存储异常的问题数据;
若所述第二数据集为所述应用程序存储异常的问题数据集,则修复所述第二数据集;
存储修复后的第二数据集。
可选地,所述确定所述第二数据集是否为所述应用程序存储异常的问题数据集,包括:
根据所述第二数据集的数据格式是否异常,以及,所述第二数据集中是否存在取值为空的数据,确定所述第二数据集是否为所述应用程序存储异常的问题数据集;
若所述第二数据集的数据格式错误和/或所述第二数据集存在取值为空的数据,则确定所述第二数据集为所述应用程序存储异常的问题数据集;或者,
若所述第二数据集的数据格式正确、且所述第二数据集无取值为空的数据,则确定所述第二数据集非所述应用程序存储异常的问题数据集。
可选地,所述修复所述第二数据集,包括:
若所述第二数据集的数据格式错误,则根据所述第二数据集对应的类型,对所述第二数据集进行类型转换;
和/或,若所述第二数据集存在取值为空的数据,则将所述第二数据集中的取值为空的数据的取值替换为第二预设取值。
可选地,所述确定所述第二数据集是否为导致所述应用程序存储异常的问题数据集之后,所述方法还包括:
若所述第二数据集为所述应用程序存储异常的问题数据集,则向所述应用程序的服务器上报所述第二数据集为存储异常的问题数据集。
第二方面,本申请提供一种数据处理装置,所述装置应用于电子设备,所述电子设备上部署有应用程序的iOS客户端,所述装置包括:
获取模块,用于获取显示所述应用程序的当前页面所需的第一数据集;
确定模块,用于确定所述第一数据集是否为所述应用程序显示异常的问题数据集;
修复模块,用于在所述第一数据集为所述应用程序显示异常的问题数据集时,修复所述第一数据集;
显示模块,用于利用修复后的第一数据集显示所述当前页面。
第三方面,本申请提供一种电子设备,所述电子设备包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请提供的数据处理方法、装置、设备、存储介质及程序产品,在电子设备显示应用程序待显示页面之前,可以先检查电子设备显示该应用程序的待显示页面所需的第一数据集是否为会导致显示异常的问题数据集,在检查出该第一数据集为问题数据集后,可以及时地修复该第一数据集,使得电子设备可以利用修复后的数据集显示该待显示页面。该方法能够及时修复问题数据集,从而避免了由数据读取异常问题造成的电子设备的APP页面显示异常、崩溃闪退等严重后果,进而提升了用户体验。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先,对本申请所涉及的名词进行解释:
应用平台:是指用以审核、展示和下载电子设备适用的应用程序的平台。
数据格式:是指多个数据集合在一起的组合形式,包括数组(Array)、列表(list)、字典(dictionary)等。
其中,数据的类型可以是数值、字符或二进制数等。
数组:是指多个同类型数据组成的有序集合。例如Array=[1,2,3,4]。
列表:线性列表的简称,是指多个同类型或不同类型的数据按照一定的线性顺序,排列而成的有序集合。例如list=[1,2,3,a]。
字典:是指多个同类型或不同类型的数据组成的无序集合。例如dict={"username":"zhangsan","password":123456}。
其中,数组中的每个数据都有与其唯一对应的一个索引值,且数组中首个数据的索引值为0。当出现数组中的数据丢失、索引值错误等情况时,可能会出现数组越界的情况,即,数组的部分索引值未能与数组中的数据形成对应。例如:正常情况下,数组Array1=[1,2,3,4]中的四个数据所对应的索引值分别是0、1、2和3。示例性地,当数组中的数据丢失1个,例如丢失数据后的数组Array1′=[1,2,3],而该数组的索引值仍然为0、1、2和3,就会出现索引值3(代表数组中的第四个数据)没有对应数据的情况。
类似地,字典中的每个数据都有与其唯一对应的一个键(key)值。当出现字典中的数据丢失、key值错误等情况时,可能会出现字典越界的情况,即,字典的部分key值未能与字典中的数据形成对应。例如:字典dict1={key1:value1,key2:value2},表示该字典dict1的键值key1与数据value1对应,键值key2与数据value2对应。示例性地,当字典中的key值错误地多出了一个key3,就会出现键值key3没有对应数据的情况。
上述数组越界和字典越界可以统称为数据越界。电子设备显示APP页面前,需要从本地数据库中读取显示该页面所需的数据集,如果该数据集出现上述的数组越界和/或字典越界问题,可能会导致APP页面出现例如黑屏、报错等显示异常,还可能导致APP突然停止运行,崩溃闪退。
另外,电子设备在从本地数据库中读取APP数据的过程中,还可能出现读取出的数据取值为空的数据情况。其中,取值为空的数据是指没有数据值的数据,例如空值(null)、空指针对象(nil)等。这种情况也会导致APP页面显示异常。
上述数据越界、读取出的数据取值为空的问题可以统称为数据读取异常问题,这种问题会导致电子设备的APP页面显示异常、APP崩溃闪退等严重后果。
目前的解决方法是:在APP上载至iOS的应用平台供用户下载使用之前,先进行运行测试,以检查出APP实际使用中可能会出现的数据读取异常问题。APP开发行者会对运行测试过程中暴露出的数据读取异常问题进行处理,然后重新打包处理后的APP,将其交由应用平台审核后上载至应用平台。然而,由于运行测试阶段持续时间短,且该阶段中涉及到的APP应用场景也有限,实际使用APP过程中仍然会出现因在测试阶段中未被发现的数据读取异常问题引起的,APP页面显示异常、APP崩溃闪退等情况。
上述解决方法不能够避免APP在实际使用过程中发生的,因数据读取异常问题引起的APP页面显示异常、APP崩溃闪退等后果。
考虑到上述问题,本申请提供了一种数据处理方法,该方法改变了电子设备的iOS系统的数据读取方式,使电子设备在读取APP数据过程中,可以在数据读取异常时自动修复问题数据集,避免由数据读取异常问题造成的APP页面显示异常、崩溃闪退等严重后果。
示例性地,可以利用电子设备的iOS系统提供的运行时(runtime)机制方法交换(Method Swizzling),实现上述数据处理方法的改写。其中,Method Swizzling是能够将iOS系统原本的数据处理方法改写为其他自定义方法的工具。关于如何利用MethodSwizzling完成数据处理方法的改写,可以参见现有技术,在此不再赘述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1是本申请实施例提供的一种数据处理方法的流程示意图。如图1所示,本申请该方法可以包括:
S101,获取显示应用程序的待显示页面所需的第一数据集。
其中,应用程序的待显示页面是指,应用程序即将从当前页面跳转显示的下一个页面。
本申请所提供的数据处理方法不限制上述第一数据集的数据格式,该第一数据集的数据格式例如可以是数组、列表或字典中的任一个,但本申请并不以此为限,该第一数据集的数据格式也可以是其他种类。
作为一种可能的实现方式,电子设备可以根据应用程序的待显示页面的标识,例如页面名称、页面编号等,获知显示该待显示页面所需要的所有数据,还可以从电子设备的本地数据库中读取出该待显示页面所需要的所有数据,并将这些数据组成第一数据集。
作为另一种可能的实现方式,电子设备例如还可以将显示当前页面所需要的所有数据,与显示待显示页面所需要的所有数据进行比较,然后确定出在已具备显示当前页面所需要的所有数据的情况下,显示待显示页面所需要的增加的数据。然后,电子设备可以从电子设备的本地数据库中获取前述显示待显示页面所需要的增加的数据,将其与显示当前页面所需要的所有数据合并,组成第一数据集。
在该种实现方式下,电子设备还可以直接将确定出的、在已具备显示当前页面所需要的所有数据的情况下显示待显示页面所需要的增加的数据,作为第一数据集。
S102,确定第一数据集是否为应用程序显示异常的问题数据集。
其中,显示异常是指应用程序显示页面时出现的页面乱码、页面黑屏、页面报错等,不能正常显示页面的情况。
示例性地,电子设备可以根据第一数据集是否越界,以及,第一数据集中是否存在取值为空的数据,确定第一数据集是否为应用程序显示异常的问题数据集。其中,取值为空的数据是指没有数据值的数据,例如空值(null)、空指针对象(nil)等。
示例性地,当第一数据集的数据格式为数组时,电子设备可以通过比较该第一数据集中的数据数量和索引值的最大值,判断出该第一数据集是否越界。例如,第一数据集中具有m(m为不小于1的整数)个数据,第一数据集的索引值的最大值为n(n为不小于0的整数),则当m>n时,可以认为该第一数据集没有越界,当m≤n时,可以认为该第一数据集越界。
或者,当第一数据集的数据格式为字典时,电子设备可以通过比较该第一数据集中的数据数量和key值数量,判断出该第一数据集是否越界。例如,第一数据集中具有m(m为不小于1的整数)个数据和n(n为不小于1的整数)个key值,则当m≥n时,可以认为该第一数据集没有越界,当m<n时,可以认为该第一数据集越界。
示例性地,当电子设备检测发现第一数据集越界但不存在取值为空的数据、第一数据集存在取值为空的数据但未越界、第一数据集越界且存在取值为空的数据时,电子设备均可以确定该第一数据集为应用程序显示异常的问题数据集。当电子设备检测发现第一数据集未越界、且第一数据集无取值为空的数据时,电子设备则可以确定该第一数据集非应用程序显示异常的问题数据集。
S103,在第一数据集为应用程序显示异常的问题数据集时,修复第一数据集。
示例性地,在第一数据集越界时,电子设备则可以在第一数据集中添加M(M为不小于1的整数)个数据;M的取值与第一数据集越界的数量相关。
例如,当第一数据集的数据格式为数组,且该第一数据集中具有m(m为不小于1的整数)个数据、索引值的最大值为n(n为不小于0的整数)时,若m小于等于n,则电子设备可以在该第一数据集中添加M(M=n-m+1)个数据,以使m大于n。
和/或,当第一数据集存在取值为空的数据时,则电子设备可以将第一数据集中的取值为空的数据的取值替换为第一预设取值。
其中,第一预设取值可以是用户自定义的,例如取0。或者,第一预设取值还可以是电子设备随机选取出来的。例如,当第一数据集中的数据类型为二进制数、第一数据集存在取值为空的数据时,电子设备可以随机选取“0”或“1”,作为第一预设取值。
应理解,上述电子设备随机选取第一预设取值,可以是电子设备随机选取出一个第一预设取值后,用该取值替换第一数据集中的所有取值为空的数据,也可以是电子设备在每次遇到取值为空的数据时,电子设备都进行一次随机选取第一预设取值的操作,本申请对此不加限制。
S104,利用修复后的第一数据集显示待显示页面。
示例性地,电子设备可以利用该修复后的第一数据集渲染并显示该待显示页面。
示例性地,应用程序页面显示异常时的电子设备界面示例图可以参照图2,利用修复后的第一数据集显示的待显示页面可以参照图3。如图2所示,当第一数据集为问题数据集时,如果电子设备直接利用该第一数据集显示待显示页面,电子设备可能会显示报错页面,而无法显示待显示页面。参照图3,当电子设备利用本申请所提供的数据处理方法,将导致应用程序页面显示异常的第一数据集进行了上述步骤S103中的修复操作后,电子设备可以利用修复后的第一数据集显示出待显示页面,不会出现页面报错等显示异常问题。
本申请提供的数据处理方法,在电子设备加载显示应用程序的待显示页面之前,可以先检查显示该应用程序的待显示页面所需的第一数据集是否为会导致显示异常的问题数据集,在检查出该第一数据集为问题数据集后,可以及时地修复该第一数据集,使得电子设备可以利用修复后的数据集显示该应用程序的待显示页面。该方法能够及时修复问题数据集,从而避免了由数据读取异常问题造成的APP页面显示异常、崩溃闪退等严重后果,进而提升了用户体验。
进一步地,在上述实施例的基础上,即在确定第一数据集为应用程序显示异常的问题数据集之后,本申请提供的数据处理方法还可以向应用程序的服务器上报第一数据集为应用程序显示异常的问题数据集。
示例性地,当第一数据集为数组时,电子设备可以通过与该第一数据集对应的接口,向应用程序的服务器上报消息,以提示该第一数据集为应用程序显示异常的问题数据集。其中,电子设备上报的消息例如可以包括第一数据集的标识(例如第一数据集的编号)、第一数据集导致显示异常的原因(例如越界)、电子设备修复该第一数据集的方法(例如增加了几个数据值、增加的数据值分别是多少)等中至少一项。
示例性地,应用程序开发人员可以通过该服务器,查看到上述电子设备上报的消息。示例性地,应用程序开发人员可以利用电子设备上报的消息确定出导致应用程序出现显示异常的问题数据集的位置和该数据集导致显示异常的原因等。通过收集上述信息,应用程序开发人员可以在应用程序的下一次版本升级或补丁上传时,将已收集到的问题数据集进行修复。
另外,电子设备运行APP时会产生运行数据,这些运行数据需要被存储进入本地数据库。电子设备在运行APP以实现其不同功能时会产生不同数据格式的运行数据,而APP某一功能所对应的运行数据的数据格式应该相同。如果电子设备在运行APP以实现其某一功能时产生的运行数据中,出现了不符合该功能所对应的运行数据的正确数据格式的数据,可以将该数据称为数据格式错误的数据。数据格式错误的数据在进行存储时就会出现例如存储失败、数据丢失等存储异常。
电子设备在将APP的运行数据存入本地数据库的过程中,还可能出现运行数据是取值为空的数据的情况。其中,取值为空的数据是指没有数据值的数据,例如空值(null)、空指针对象(nil)等。这种情况也会导致APP存储异常。
上述数据格式错误、存入的数据取值为空的问题可以统称为数据存储异常问题,这种问题会导致的APP存储异常、APP崩溃闪退等严重后果。
目前,上述问题的解决方法也是利用上载APP至应用平台之前的运行测试过程,来发现和处理一部分上述数据存储异常问题后,再重新打包处理后的APP,将其交由应用平台审核后上载至应用平台。然而,上述解决方法不能够避免在APP实际使用过程中发生的,因数据存储异常问题引起的APP存储异常、APP崩溃闪退等后果。
考虑到上述问题,本申请在上述实施例的基础上,还提供了一种数据处理方法,该方法能够在电子设备运行APP过程中出现了数据存储异常问题时,及时修复问题数据集,避免由数据存储异常问题造成的APP存储异常、APP崩溃闪退等后果。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。
图4是本申请实施例提供的另一种数据处理方法的流程示意图。如图4所示,本申请提供的数据处理方法还可以进一步地包括:
S201,获取应用程序当前页面待存储至电子设备的本地数据库的第二数据集。
其中,应用程序当前页面是指应用程序正在显示的页面。
本申请所提供的数据处理方法不限制上述第二数据集的数据格式,该第二数据集的数据格式例如可以是数组、列表或字典中的任一个,但本申请并不以此为限,该第二数据集的数据格式也可以是其他种类。
示例性地,从电子设备中加载该应用程序当前页面的处理器可以提供到应用程序当前页面待存储至电子设备的本地数据库的第二数据集。
S202,确定第二数据集是否为应用程序存储异常的问题数据。
其中,存储异常是指应用程序的运行数据进行存储时就会出现例如存储失败、数据丢失等情况。
示例性地,电子设备可以根据第二数据集的数据格式是否异常,以及,第二数据集中是否存在取值为空的数据,确定第二数据集是否为应用程序存储异常的问题数据集。
示例性地,当第二数据集的数据格式错误但不存在取值为空的数据、第二数据集的数据格式没有错误但存在取值为空的数据、第二数据集的数据格式错误且存在取值为空的数据时,电子设备均可以确定第二数据集为应用程序存储异常的问题数据集。当第二数据集的数据格式正确且第二数据集无取值为空的数据时,电子设备则可以确定第二数据集非应用程序存储异常的问题数据集。
S203,在第二数据集为应用程序存储异常的问题数据集时,修复第二数据集。
示例性地,在第二数据集的数据格式错误时,电子设备可以根据第二数据集对应的类型,对第二数据集进行类型转换。其中,第二数据集的数据格式错误是指,第二数据集的数据格式,与其所对应的应用程序功能所产生的运行数据的正确数据格式不符。
例如,第二数据集的数据格式为数组,而与其所对应的应用程序的功能产生的运行数据的正确数据格式为字典,则电子设备可以将该第二数据集的数据格式转换为字典。
关于数据格式之间的具体转换方法,可以参见现有技术,在此不再赘述。
和/或,当第二数据集存在取值为空的数据时,电子设备可以将第二数据集中的取值为空的数据的取值替换为第二预设取值。
其中,第二预设取值可以是用户自定义的,例如取0。或者,第一预设取值还可以是电子设备根据随机选取出来的。例如,当第二数据集的数据类型为数值时,电子设备可以在一定数值范围(例如0~9)中随机选取一个数值作为第二预设取值。
应理解,上述电子设备随机选取第二预设取值,可以是电子设备随机选取出一个第二预设取值后,用该取值替换第二数据集中的所有取值为空的数据,也可以是电子设备在每次遇到取值为空的数据时,电子设备都进行一次随机选取第二预设取值的操作,本申请对此不加限制。
S204,存储修复后的第二数据集。
示例性地,电子设备可以将修复后的第二数据集存储至本地数据库中。
本申请提供的数据处理方法,在电子设备将应用程序运行产生的第二数据集存储进入本地数据库中之前,可以先判断该第二数据集的数据格式是否为会导致应用程序存储异常的问题数据集,在检查出该第二数据集为问题数据集后,可以及时地修复该第二数据集,使得该第二数据集可以顺利保存至本地数据库中,从而避免了问题数据集导致的存储失败、数据丢失、应用程序崩溃闪退等严重后果,进而提升了用户体验。
进一步地,在上述实施例的基础上,即在确定第二数据集为应用程序存储异常的问题数据集之后,本申请所提供的数据处理方法还可以向应用程序的服务器上报第二数据集为存储异常的问题数据集。
示例性地,电子设备可以将第二数据集为存储异常的问题数据集这一消息上报给应用程序的服务器。
电子设备如何上报上述消息以及上报该消息的目的,可以参见前述实施例,在此不再赘述。
一方面,本申请实施例提供的数据处理方法,在电子设备存储和/或读取应用程序的数据之前,能够对数据集进行检查,并及时对问题数据集进行自动修复处理,保证了电子设备运行应用程序的连续性。另一方面,上述方法还能够将问题数据集上报给应用程序的服务器,使得开发人员可以准确获知该问题数据集的相关信息,并在下次升级或补丁上传时使该应用程序时彻底修复该问题数据集。
示例性地,上述实施例中的全部或部分方法,可以通过在电子设备中加入一个封装好的数据处理容器来实现。以电子设备通过数据处理容器来实现上述实施例中的全部方法为例,本申请提供的数据处理方法中所涉及的数据流向示意图,可以参照图5。
如图5所示,电子设备运行应用程序会产生第二数据集(应用程序的运行数据)。在存入电子设备的本地数据库之前,电子设备可以检测第二数据集是否为导致应用程序存储异常的问题数据集。若电子设备检测发现第二数据集不是问题数据集,则电子设备可以将其存入本地数据库中。或者,若电子设备检测发现第二数据集为问题数据集,则电子设备可以将其进行修复,并将其信息上报给应用程序的服务器,还可以将修复后的第二数据集存入本地数据库中。
继续参照图5,电子设备显示应用程序的待显示页面之前,需要从电子设备的本地数据库中读取显示该待显示页面所需的第一数据集。在电子设备利用第一数据集显示该待显示页面之前,电子设备可以检测该第一数据集是否为导致应用程序显示异常的问题数据集。若电子设备检测发现第一数据集不是问题数据集,则电子设备可以利用该第一数据集渲染并显示应用程序的待显示页面。或者,若电子设备检测发现第一数据集为问题数据集,则电子设备可以将其进行修复,并将其信息上报给应用程序的服务器,还可以利用修复后的第一数据集渲染并显示应用程序的待显示页面。
图6是本申请实施例提供的一种数据处理装置的结构示意图。如图6所示,该装置包括:获取模块21、确定模块22、修复模块23和显示模块24。可选地,该装置例如还可以包括:上报模块25和/或存储模块26。其中:
获取模块21,用于获取显示应用程序的当前页面所需的第一数据集;
确定模块22,用于确定第一数据集是否为应用程序显示异常的问题数据集;
修复模块23,用于在第一数据集为应用程序显示异常的问题数据集时,修复第一数据集;
显示模块24,用于利用修复后的第一数据集显示当前页面。
可选地,确定模块22,具体用于根据第一数据集是否越界,以及,第一数据集中是否存在取值为空的数据,确定第一数据集是否为应用程序显示异常的问题数据集;在第一数据集越界和/或第一数据集存在取值为空的数据时,确定第一数据集为应用程序显示异常的问题数据集;或者,在第一数据集未越界、且第一数据集无取值为空的数据时,确定第一数据集非应用程序显示异常的问题数据集。
可选地,修复模块23,具体用于在第一数据集越界时,在第一数据集中添加M个数据;M的取值与第一数据集越界的数量相关;和/或,在第一数据集存在取值为空的数据时,将第一数据集中的取值为空的数据的取值替换为第一预设取值。
可选地,上报模块25,用于在确定第一数据集为应用程序显示异常的问题数据集之后,向应用程序的服务器上报第一数据集为应用程序显示异常的问题数据集。
可选地,获取模块21,还用于获取应用程序当前页面待存储至电子设备的本地数据库的第二数据集;确定模块22,还用于确定第二数据集是否为应用程序存储异常的问题数据;修复模块23,还用于在第二数据集为应用程序存储异常的问题数据集时,修复第二数据集;存储模块26,用于存储修复后的第二数据集。
可选地,确定模块22,还用于根据第二数据集的数据类型是否异常,以及,第二数据集中是否存在取值为空的数据,确定第二数据集是否为应用程序存储异常的问题数据集;在第二数据集的数据类型错误和/或第二数据集存在取值为空的数据时,确定第二数据集为应用程序存储异常的问题数据集;或者,在第二数据集的数据类型正确、且第二数据集无取值为空的数据时,确定第二数据集非应用程序存储异常的问题数据集。
可选地,修复模块23,还用于在第二数据集的数据类型错误时,根据第二数据集对应的类型,对第二数据集进行类型转换;和/或,在第二数据集存在取值为空的数据时,将第二数据集中的取值为空的数据的取值替换为第二预设取值。
可选地,上报模块25,还用于在确定第二数据集为应用程序存储异常的问题数据集之后,向应用程序的服务器上报第二数据集为存储异常的问题数据集。
本申请提供的数据处理装置,用于执行前述数据处理方法实施例,其实现原理与技术效果类似,对此不再赘述。
图7是本申请实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备400可以包括:至少一个处理器401和存储器402。
存储器402,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器402可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器401用于执行存储器402存储的计算机执行指令,以实现前述方法实施例所描述的数据处理方法。其中,处理器401可能是一个中央处理器(Central ProcessingUnit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选地,该电子设备400还可以包括显示屏404,用于显示经处理器401执行数学和几何计算后,渲染得到的图像。
可选地,该电子设备400还可以包括通信接口403。在具体实现上,如果通信接口403、存储器402和处理器401独立实现,则通信接口403、存储器402和处理器401可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果通信接口403、存储器402和处理器401集成在一块芯片上实现,则通信接口403、存储器402和处理器401可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、RAM存储器、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的数据处理方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的数据处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。