发明内容
本发明实施例的目的在于提供一种针对应用程序的数据处理方法、装置及电子设备,以避免应用程序无响应的情况发生,提高用户体验。具体技术方案如下:
第一方面,本发明实施例提供了一种针对应用程序的数据处理方法,应用于客户端,该方法可以包括:
获得配置信息读取指令;配置信息读取指令中携带有:待读取的第一配置信息的第一标识;第一配置信息为:生成客户端待显示的界面所需的信息;
从客户端所在电子设备的目标缓存中查找:与第一标识对应存储的第一配置信息;目标缓存中包括:电子设备的磁盘中存储的、生成客户端的一个或多个界面所需的信息;
根据查找到的第一配置信息生成待显示的界面。
可选地,在本发明实施例中,该方法还可以包括:
当在上述查找操作执行过程中接收到配置信息写指令时,放弃响应配置信息写指令;其中,配置信息写指令中携带有:第二配置信息和第二配置信息的第二标识;第二配置信息为:新增的、生成客户端的一个或多个界面所需的信息。
可选地,在本发明实施例中,该方法还可以包括:
当在上述查找操作执行完成后接收到配置信息写指令时,将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中。
可选地,在将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中之后,该方法还可以包括:
判断是否满足将目标缓存中的数据同步至磁盘的数据同步条件;
若是,将目标缓存中的数据同步至磁盘中。
可选地,在本发明实施例中,该数据同步条件可以包括:
目标缓存中的配置信息的数目超过预设阈值;
和/或,检测到存在线程需要调用:磁盘中存储的、生成客户端的一个或多个界面所需的信息。
可选地,目标缓存和目标存储区所支持的数据类型相同;其中,目标存储区为:磁盘中存储生成客户端的一个或多个界面所需的信息的区域。
第二方面,本发明实施例还提供了一种针对应用程序的数据处理装置,应用于客户端,该装置可以包括:
获得模块,用于获得配置信息读取指令;配置信息读取指令中携带有:待读取的第一配置信息的第一标识;第一配置信息为:生成客户端待显示的界面所需的信息;
查找模块,用于从客户端所在电子设备的目标缓存中查找:与第一标识对应存储的第一配置信息;目标缓存中包括:电子设备的磁盘中存储的、生成客户端的一个或多个界面所需的信息;
生成模块,用于根据查找到的第一配置信息生成待显示的界面。
可选地,在本发明实施例中,该装置还可以包括:
第一处理模块,用于当在上述查找操作执行过程中接收到配置信息写指令时,放弃响应配置信息写指令;其中,配置信息写指令中携带有:第二配置信息和第二配置信息的第二标识;第二配置信息为:新增的、生成客户端的一个或多个界面所需的信息。
可选地,在本发明实施例中,该装置还可以包括:
第二处理模块,用于当在上述查找操作执行完成后接收到配置信息写指令时,将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中。
可选地,在本发明实施例中,该装置还可以包括:
判断模块,用于在将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中之后,判断是否满足将目标缓存中的数据同步至磁盘的数据同步条件;
同步模块,用于在满足将目标缓存中的数据同步至磁盘的数据同步条件时,将目标缓存中的数据同步至磁盘中。
可选地,数据同步条件可以包括:
目标缓存中的配置信息的数目超过预设阈值;
和/或,检测到存在线程需要调用:磁盘中存储的、生成客户端的一个或多个界面所需的信息。
可选地,目标缓存和目标存储区所支持的数据类型相同;其中,目标存储区为:磁盘中存储生成客户端的一个或多个界面所需的信息的区域。
第三方面,本发明实施例还提供了一种电子设备,电子设备上安装有客户端,电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项针对应用程序的数据处理方法的方法步骤。
第四方面,本发明实施例还提供了一种可读存储介质,可读存储介质内存储有计算机程序,计算机程序被安装有客户端的电子设备的处理器执行时实现上述任一项针对应用程序的数据处理方法的方法步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在安装有客户端的电子设备上运行时,使得电子设备执行:上述任一项针对应用程序的数据处理方法的方法步骤。
在本发明实施例中,客户端当需要生成待显示的界面时,可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,应用程序(即客户端)在显示或更新应用程序的界面之前,需要从该应用程序所在电子设备的磁盘中读取用于显示或更新该界面的登陆账号、密码及窗口功能状态等配置信息。也就是说,需要磁盘中读取应用程序的这些配置信息。但是,由于磁盘的读写速度较慢,因而当存在多个线程频繁读取该配置信息时,该应用程序的界面主线程很可能长时间读取不到该配置信息,使得界面主线程阻塞,从而导致该应用程序无响应。
为了解决上述应用程序无响应的技术问题,本发明实施例提供了一种针对应用程序的数据处理方法、装置、电子设备及可读存储介质。
下面首先对本发明实施例提供的针对应用程序的数据处理方法进行说明。
本发明实施例提供的针对应用程序的数据处理方法的执行主体为客户端,该客户端安装于电子设备中,该电子设备包括但并不局限于手机、平板电脑、可穿戴设备和服务器。
参见图1,本发明实施例提供的针对应用程序的数据处理方法可以包括如下步骤:
S101:获得配置信息读取指令;配置信息读取指令中携带有:待读取的第一配置信息的第一标识;第一配置信息为:生成客户端待显示的界面所需的信息;
其中,当客户端需要生成待显示的界面时,该客户端可以获得配置信息读取指令。其中,该配置信息读取指令可以是客户端根据业务需求生成的,也可以是该客户端所在电子设备中的其他客户端发送给该客户端的,这都是合理的。
另外,该配置信息读取指令携带有:生成该待显示的界面所需的第一配置信息的第一标识。该第一配置信息可以为登陆账号、密码和窗口功能状态等,当然并不局限于此。
举例而言,当第一配置信息为登陆账号时,该第一配置信息的第一标识可以为ID,当然并不局限于此。
S102:从客户端所在电子设备的目标缓存中查找:与第一标识对应存储的第一配置信息;目标缓存中包括:电子设备的磁盘中存储的、生成客户端的一个或多个界面所需的信息;
在本实施例中,在将该客户端安装至该电子设备中后,该电子设备的磁盘中会存储有:生成该客户端的一个或多个界面所需的信息。
具体地,当该客户端为安卓系统客户端时,该客户端可以通过轻量级的存储类(例如SharedPreferences)来存储该客户端的登陆账号、密码及窗口功能状态等配置信息。其中,这些配置信息是生成该客户端的一个或多个界面所需的信息,该存储类中保存的数据主要是键值对(Key-Value)。当该客户端被安装到该电子设备中后,这些键值对会存储在该电子设备的磁盘中。
而且,在该客户端运行后,客户端会将磁盘中的这些键值对缓存到该电子设备的目标缓存中。这样,当客户端在获得配置信息读取指令后,由于目标缓存的读取速度较快,因而可以直接从目标缓存中快速地读取出与第一标识对应存储的第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。这样,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
其中,Value的数据类型可以是整数类型int、浮点型float和字符串类型String等,当然并不局限于此。其中,该目标缓存具体可以为RAM(random access memory,随机存取存储器),该目标缓存也可以称之为内存缓存。
S103:根据查找到的第一配置信息生成待显示的界面。
在查找到生成该客户端待显示的界面所需的第一配置信息后,可以根据该第一配置信息生成待显示的界面。这样,可以使客户端能够正常地显示该待显示界面,避免了应用程序无响应的情况发生。
在本发明实施例中,客户端当需要生成待显示的界面时,可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
下面对本发明实施例提供的针对应用程序的数据处理方法进行详细说明。
假设应用程序(即客户端)通过该客户端可以通过轻量级的SharedPreferences存储类来存储该客户端的登陆账号、密码及窗口功能状态等配置信息的。那么,由这些配置信息所生成的Key-Value键值对会被存储在该客户端所在电子设备的磁盘中。
当该客户端获得配置信息读取指令之后,由于该目标缓存中包括:该磁盘中存储的、生成该客户端的一个或多个界面所需的信息,因而该客户端可以从该电子设备的目标缓存中查找:与该配置信息读取指令中携带的第一标识对应存储的第一配置信息。其中,由于从目标缓存中查找该第一配置信息不需要触发磁盘的读写操作,因而避免了从磁盘的读取该第一配置信息需要长时间等待而造成的应用程序无响应的情况发生。
在查找到第一配置信息后,可以根据该第一配置信息生成待显示的界面。这样,可以使客户端能够正常地显示该待显示界面,避免了应用程序无响应的情况发生。其中,根据生成该待显示界面所需的数据来生成该待显示界面为现有技术,在此不做详述。
其中,在目标缓存中查找第一配置信息的过程中,客户端可能会接收到配置信息写指令。其中,该配置信息写指令中携带有:第二配置信息和第二配置信息的第二标识。第二配置信息为:新增的、生成该客户端的一个或多个界面所需的信息。
由于在查找第一配置信息的过程中向目标缓存写入信息时,会使查找到的第一配置信息很可能是被修改后的信息。这样,使得查找到的第一配置信息很可能不是该客户端想要查找的那个数据。因而,在该种情况下,为了避免数据污染,从而保证线程能够读取到正确的数据,可以放弃响应该配置信息写指令。这样,可以保证线程在读写该目标缓存的过程中是线程安全的。
当然,也可以先挂起该配置信息写指令,并在检测到查找第一配置信息的操作执行完毕后,响应该配置信息写指令,这也是合理的。
如果在目标缓存中查找到该第一配置信息后接收到配置信息写指令,那么,在该种情况下,可以将该配置信息写指令中所携带的第二配置信息和第二标识对应存储至该目标缓存中。这样,可以在该客户端运行过程中不断的更新目标缓存中的数据。
其中,可以通过Key-Value键值对的存储方式来对应存储该第二配置信息和第二标识。
在将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中之后,还可以判断是否满足将目标缓存中的数据同步至磁盘的数据同步条件。当满足数据同步条件时,可以将目标缓存中的数据同步至磁盘中。
具体地,可以将目标缓存中的数据同步至磁盘所存储的SharedPreferences存储类中。由于SharedPreferences存储类不仅能够保存数据,还能够实现不同客户端间的数据共享,因而在将新增的、生成该客户端的一个或多个界面所需的第二配置信息同步至SharedPreferences存储类后,该电子设备中的多个客户端可以共享该第二配置信息,实现数据共享。而且,还能使该电子设备在掉电时,该第二配置信息不丢失,保证了数据的安全性。
其中,当检测到目标缓存中的配置信息的数目超过预设阈值(例如10条)时,此时,可以确定满足数据同步条件。这样,可以使目标缓存中的配置信息的数目超过预设阈值时,才执行将目标缓存同步至磁盘的操作。这样,可以减少对磁盘进行读写的次数,从而降低电子设备的各个应用程序发生应用程序无响应的概率。
另外,还可以在检测到该电子设备中存在线程需要调用:该磁盘中存储的、生成客户端的一个或多个界面所需的信息时,确定满足数据同步条件。并在该线程调用该磁盘中存储的、生成客户端的一个或多个界面所需的信息之前,将目标缓存同步至磁盘。这样,可以使该线程从磁盘中调用得到的信息为最新的信息。
当然,还可以在检测到目标缓存中的配置信息的数目超过预设阈值,并且检测到该电子设备中存在线程需要调用:该磁盘中存储的、生成客户端的一个或多个界面所需的信息时,确定满足数据同步条件,这都是合理的。
另外,为了使该目标缓存中能够缓存该SharedPreferences存储类中的所有数据,让用户对该目标缓存无感知,还可以设置该目标缓存和目标存储区(即SharedPreferences存储类所对应的存储区域)所支持的数据类型相同。其中,目标存储区为:该磁盘中存储生成该客户端的一个或多个界面所需的信息的区域。
下面结合图2对本发明实施例提供的针对应用程序的数据处理方法进行说明。
参见图2,本发明实施例中的客户端执行如下步骤:
S201:获得配置信息读取指令或配置信息写指令;
S202:当获得配置信息读取指令时,从该客户端所在电子设备的目标缓存中读取:与该配置信息读取指令中携带的第一标识对应存储的第一配置信息;
S203:当获得配置信息写指令时,将该配置信息写指令中携带的第二配置信息和第二标识对应存储至该目标缓存中;
S204:在将第二配置信息和第二标识对应存储至该目标缓存后,判断该目标缓存中所存储的配置信息的数目是否超过预设阈值;若超过预设阈值,则触发步骤S205;
S205:将该目标缓存中所存储的数据同步至磁盘中。
可以理解的是,若未超过该预设预设,则放弃将该目标缓存中所存储的数据同步至磁盘中。
其中,本发明实施例中的客户端可以包括业务层、Key-Value缓存层和SharedPreferences层。该业务层可以接收用户发出的业务访问请求,并根据业务访问请求生成配置信息读取指令或配置信息写指令。Key-Value缓存层可以获得业务层所生成的配置信息读取指令或配置信息写指令。当Key-Value缓存层获得配置信息读取指令时,Key-Value缓存层可以在该客户端所在电子设备的目标缓存中查找:该配置信息读取指令中携带的第一标识所对应的第一配置信息。并且,可以将读取得到的第一配置信息返回给业务层。当Key-Value缓存层获得配置信息写指令时,Key-Value缓存层可以将配置信息写指令携带的第二标识和第二配置信息对应存储至目标缓存中。并在检测到满足数据同步条件时,可以将目标缓存中的数据同步至SharedPreferences层。SharedPreferences层中可以将同步得到的数据存储至SharedPreferences存储类中,其中,该存储类中的数据存储在该电子设备的磁盘中。
综上,应用本发明实施例,可以直接从电子设备的目标缓存中读取配置信息,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
相应于上述方法实施例,本发明实施例提供了一种针对应用程序的数据处理装置,应用于客户端,参见图3,该装置可以包括:
获得模块301,用于获得配置信息读取指令;配置信息读取指令中携带有:待读取的第一配置信息的第一标识;第一配置信息为:生成客户端待显示的界面所需的信息;
查找模块302,用于从客户端所在电子设备的目标缓存中查找:与第一标识对应存储的第一配置信息;目标缓存中包括:电子设备的磁盘中存储的、生成客户端的一个或多个界面所需的信息;
生成模块303,用于根据查找到的第一配置信息生成待显示的界面。
应用本发明实施例提供的装置,客户端当需要生成待显示的界面时,可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
可选地,在本发明的一个实施例中,该装置还可以包括:
第一处理模块,用于当在上述查找操作执行过程中接收到配置信息写指令时,放弃响应配置信息写指令;其中,配置信息写指令中携带有:第二配置信息和第二配置信息的第二标识;第二配置信息为:新增的、生成客户端的一个或多个界面所需的信息。
可选地,在本发明的另一个实施例中,该装置还可以包括:
第二处理模块,用于当在上述查找操作执行完成后接收到配置信息写指令时,将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中。
可选地,在本发明的又一个实施例中,该装置还可以包括:
判断模块,用于在将配置信息写指令中所携带的第二配置信息和第二标识对应存储至目标缓存中之后,判断是否满足将目标缓存中的数据同步至磁盘的数据同步条件;
同步模块,用于在满足将目标缓存中的数据同步至磁盘的数据同步条件时,将目标缓存中的数据同步至磁盘中。
可选地,该数据同步条件可以包括:
目标缓存中的配置信息的数目超过预设阈值;
和/或,检测到存在线程需要调用:磁盘中存储的、生成客户端的一个或多个界面所需的信息。
可选地,目标缓存和目标存储区所支持的数据类型相同;其中,目标存储区为:磁盘中存储生成客户端的一个或多个界面所需的信息的区域。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,该电子设备上安装有客户端,参见图4,该电子设备包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信;
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现上述任一项针对应用程序的数据处理方法的方法步骤。
在本发明实施例中,电子设备中的客户端当需要生成待显示的界面时,可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
相应于上述方法实施例,本发明实施例还提供了一种可读存储介质,该可读存储介质内存储有计算机程序,计算机程序被安装有客户端的电子设备的处理器执行时实现:上述任一项针对应用程序的数据处理方法的方法步骤。
本发明实施例提供的存储介质中存储的计算机程序被电子设备的处理器执行后,当电子设备中的客户端需要生成待显示的界面时,客户端可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
相应于上述方法实施例,本发明实施例还提供了一种包含指令的计算机程序产品,当其在安装有客户端的电子设备上运行时,使得电子设备执行:上述任一项针对应用程序的数据处理方法的方法步骤。
本发明实施例提供的包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备中的客户端当需要生成待显示的界面时,客户端可以获得携带第一标识的配置信息获取请求。其中,该第一标识为:生成该待显示的界面所需的第一配置信息的标识信息。由于客户端所在电子设备的目标缓存中包括:该电子设备的磁盘中存储的、生成该客户端的一个或多个界面所需的信息。因而,该客户端可以直接从目标缓存中查找:与该第一标识对应存储的第一配置信息。进而,可以根据查找到的第一配置信息生成该待显示的界面。这样,可以从目标缓存中快速地读取出第一配置信息,而不需要从电子设备的磁盘中读取第一配置信息。从而,避免了从电子设备的磁盘的读取配置信息需要长时间等待而造成的应用程序无响应的情况发生,提高了用户体验。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备和可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。