CN113741796B - 一种终端应用的数据持久化方法和装置 - Google Patents

一种终端应用的数据持久化方法和装置 Download PDF

Info

Publication number
CN113741796B
CN113741796B CN202010686617.9A CN202010686617A CN113741796B CN 113741796 B CN113741796 B CN 113741796B CN 202010686617 A CN202010686617 A CN 202010686617A CN 113741796 B CN113741796 B CN 113741796B
Authority
CN
China
Prior art keywords
terminal
data
storage
persistence
data storage
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
Application number
CN202010686617.9A
Other languages
English (en)
Other versions
CN113741796A (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 Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010686617.9A priority Critical patent/CN113741796B/zh
Publication of CN113741796A publication Critical patent/CN113741796A/zh
Application granted granted Critical
Publication of CN113741796B publication Critical patent/CN113741796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Abstract

本发明公开了一种终端应用的数据持久化方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。该实施方式提高了应用数据的持久化处理效率,进而充分发挥了应用的性能,提升了用户体验。

Description

一种终端应用的数据持久化方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种终端应用的数据持久化方法和装置。
背景技术
移动终端上的应用在使用过程中会产生数据,为了保证即使在终端处于关机的情况下,应用上的关键性数据也不会丢失,需要对终端应用的关键性数据进行持久化。现有的移动终端的应用大多采用数据库存储方式对待持久化的数据进行存储。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
由于不同终端标识(终端的型号、系统版本、品牌等)的移动终端的性能存在较大差异,对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差。
发明内容
有鉴于此,本发明实施例提供一种终端应用的数据持久化方法和装置,能够针对不同终端标识采用不同的数据存储方式对应用数据进行持久化处理,提高了应用数据的持久化处理效率,进而充分发挥了应用的性能,提升了用户体验。
为实现上述目的,根据本发明实施例的第一方面,提供了一种终端应用的数据持久化方法,应用于服务端,包括:
接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;
根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
进一步地,存储排序表是根据下列步骤进行确定的:
获取不同终端标识对应终端应用的历史存储记录;
根据历史存储记录确定各数据存储方式对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据存储效率确定该终端标识对应的数据存储方式的存储顺序;
根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
进一步地,在数据持久化请求中包括的终端标识为新增终端标识的情况下,终端应用的数据持久化方法还包括:
分别采用各数据存储方式对该新增终端标识对应的终端应用进行数据持久化处理并确定存储效率,进而确定该新增终端标识对应的数据存储方式的存储顺序;
根据该新增终端标识对应的数据存储方式的存储顺序对存储排序表进行更新。
进一步地,数据持久化请求中还包括待持久化数据对应的需求存储空间大小,根据终端标识和存储排序表确定终端应用对应的目标数据存储方式的步骤还包括:
根据终端标识和存储排序表确定该终端标识对应的数据存储方式的存储顺序;
根据该存储顺序依次获取各数据存储方式对应数据存储装置的闲置存储空间大小,根据闲置存储空间大小和待持久化数据对应的需求存储空间大小确定目标数据存储方式。
进一步地,终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。
根据本发明实施例的第二方面,提供了一种终端应用的数据持久化方法,应用于终端,包括:
向服务端发送数据持久化请求,数据持久化请求中包括终端标识;
接收服务端根据终端标识和存储排序表确定的目标数据存储方式,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序;
向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
根据本发明实施例的第三方面,提供了一种终端应用的数据持久化装置,设置于服务端,包括:
数据持久化请求接收模块,用于接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;
目标数据存储方式确定模块,用于根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
根据本发明实施例的第四方面,提供了一种终端应用的数据持久化装置,设置于终端,包括:
数据持久化请求发送模块,用于向服务端发送数据持久化请求,数据持久化请求中包括终端标识;
目标数据存储方式接收模块,用于接收服务端根据终端标识和存储排序表确定的目标数据存储方式,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序;
数据持久化模块,用于向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
根据本发明实施例的第五方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一种终端应用的数据持久化方法。
根据本发明实施例的第六方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一种终端应用的数据持久化方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例提供的终端应用的数据持久化方法的主要流程的示意图;
图2a是根据本发明第二实施例提供的终端应用的数据持久化方法的主要流程的示意图;
图2b是图2a所述实施例提供的确定目标数据存储方式的示意图;
图3a是根据本发明第三实施例提供的终端应用的数据持久化装置的主要模块的示意图;
图3b是图3a所述装置中存储排序表确定模块对应的结构示意图;
图4是根据本发明第四实施例提供的终端应用的数据持久化装置的主要模块的示意图;
图5是根据本发明第五实施例提供的终端应用的数据持久化系统的主要框架示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的客户端设备或服务端的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以互相组合。
图1是根据本发明第一实施例提供的终端应用的数据持久化方法的主要流程的示意图;如图1所示,本发明实施例提供的终端应用的数据持久化方法应用于服务端,主要包括:
步骤S101,接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识。
其中,上述终端是指手机、笔记本、平板电脑等。终端应用是指安装上述终端上的应用程序,其在移动端系统分类上主要包括iOSApp(Application,应用程序)、Android Apk(AndroidPackage,安卓安装包)和windows phone的xap和appx(windows phone操作系统对应的应用商店中的应用程序格式)。
通过上述设置,服务端接收终端应用发送的包含终端标识的数据持久化请求,有利于后续服务端根据该终端标识为该终端应用确定一个适当的数据存储方式,以提高终端应用的数据持久化效率。
具体地,根据本发明实施例,上述终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。需说明的是,标识可以采用数字、字母或者特殊符号等进行表征。
步骤S102,根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
通过服务端中指示了不同终端标识对应的数据存储方式的存储顺序的存储排序表,结合数据持久化请求中指示的终端标识,可以为当前终端标识对应的终端应用确定一个目标数据存储方法,进而利用目标数据存储方式对终端应用的待持久化数据进行持久化处理以实现针对不同终端标识的终端应用采用不同的数据存储方式对应用数据进行持久化。由于目标存储方式是存储消耗时间最短的数据存储方式,其对终端CPU(CentralProcessing Unit/Processor,中央处理器)占用时间也最短,因而,提高应用数据的持久化效率,进而充分发挥应用的性能,提升用户体验的技术效果。
根据本发明实施例,上述存储排序表是根据下列步骤进行确定的:
获取不同终端标识对应终端应用的历史存储记录;
根据历史存储记录确定各数据存储方式对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据存储效率确定该终端标识对应的数据存储方式的存储顺序;
根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
通过上述设置,获取各终端标识对应的终端应用的历史存储记录,以同一终端标识对应的终端应用采用不同的数据存储方式对应的存储效率(具体地,可采用Input/Output效率作为存储效率,即根据存储所消耗的时间与存储数据的大小来确定)。然后根据不同数据存储方式对应的存储效率来确定该终端标识对应的数据存储方式的存储顺序,进而根据各终端标识对应的数据存储方式的存储效率来生成存储排序表。
具体地,根据本发明实施例,上述生成存储排序表是以终端标识为基本单元进行确定;根据本发明实施例的一具体实施方式,对终端标识进行进一步划分,以终端应用的类型作为基本单元,进而得到同一终端标识下不同终端应用的类型对应的数据存储方式的存储顺序。
进一步地,根据本发明实施例,在数据持久化请求中包括的终端标识为新增终端标识的情况下,终端应用的数据持久化方法还包括:
分别采用各数据存储方式对该新增终端标识对应的终端应用进行数据持久化处理并确定存储效率,进而确定该新增终端标识对应的数据存储方式的存储顺序;
根据该新增终端标识对应的数据存储方式的存储顺序对存储排序表进行更新。
通过上述设置,对于新增终端标识(如由于终端系统版本更新产生的新增终端标识等),可以利用不同的数据存储标识对该新增终端标识对应的终端应用的应用数据进行持久化,然后根据持久化处理过程的存储效率来确定该新增终端标识对应的数据存储方式的存储顺序。
根据本发明实施例的一具体实施方式,对于新增终端标识,还可以随机匹配一种数据存储方式对其终端应用数据进行持久化,统计相应的存储效率,当统计样本量达到一定数值时,根据该统计的存储效率来确定该新增终端标识对应的数据存储方式的存储顺序,然后对存储排序表进行更新。
优选地,根据本发明实施例,上述数据持久化请求中还包括待持久化数据对应的需求存储空间大小,根据终端标识和存储排序表确定终端应用对应的目标数据存储方式的步骤还包括:
根据终端标识和存储排序表确定该终端标识对应的数据存储方式的存储顺序;
根据该存储顺序依次获取各数据存储方式对应数据存储装置的闲置存储空间大小,根据闲置存储空间大小和待持久化数据对应的需求存储空间大小确定目标数据存储方式。
需要说明的是,可以根据实际需求,根据该终端标识对应的数据存储方式的存储顺序,确定闲置存储空间大于待持久化数据对应的需求存储空间的数据存储方式作为目标存储方式。另一方面,还可以确定根据上述存储顺序,确定多个(大于或等于两个)数据存储方式作为目标存储方式。
根据本发明实施例的技术方案,因为采用接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
图2a是根据本发明第二实施例提供的终端应用的数据持久化方法的主要流程的示意图;如图2a所示,本发明实施例提供的终端应用的数据持久化方法应用于终端,具体地,本发明实施例应用于基于Android系统的移动终端,主要包括:
步骤S201,向服务端发送数据持久化请求,数据持久化请求中包括终端标识。
基于安卓系统的终端品牌、系统版本、终端型号均众多,导致终端性能参差不齐,应用运行时,均采用数据库存储方式对待持久化的数据进行存储,存储方式单一,不能充分发挥应用的读写性能,影响用户体验。
具体地,根据本发明实施例,上述终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。需说明的是,标识可以采用数字、字母或者特殊符号等进行表征。
步骤S202,接收服务端根据终端标识和存储排序表确定的目标数据存储方式。
具体地,基于安卓系统的终端向服务端发送包括终端标识的数据持久化请求后,服务端根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
目前,安卓平台可以按照以下五种数据存储方式将待持久化的数据存储:SharedPreferences(轻量级文件存储方式)、Internal Storage(安卓系统的内部存储方式)、External Storage(安卓系统的外部存储方式)、SQLite Databases(安卓系统的轻量级数据库存储方式)和Network Connection(网络连接存储方式)。其中,对于大文件的应用数据,本地存储方式包括:Internal Storage、External Storage和SQLite Databases。
服务端内的存储排序表是根据下列步骤进行确定的:获取不同终端标识对应终端应用的历史存储记录;根据历史存储记录确定各数据存储方式(对于基于安卓系统的终端,主要是Internal Storage、External Storage和SQLite Databases这三种对于大文件的应用数据的本地存储方式)对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据存储效率确定该终端标识对应的数据存储方式的存储顺序;根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
通过上述设置,获取各终端标识对应的终端应用的历史存储记录,以同一终端标识对应的终端应用采用不同的数据存储方式对应的存储效率(具体地,可采用读写效率作为存储效率,即根据存储所消耗的时间与存储数据的大小来确定)。然后根据不同数据存储方式对应的存效率来确定该终端标识对应的数据存储方式的存储顺序,进而根据各终端标识对应的数据存储方式的存储效率来生成存储排序表。
图2b是图2a所述实施例提供的确定目标存储方式的示意图;如图2b所示,安卓终端(Android Client)向服务端(Server)发起数据持久化请求后,服务端通过访问DB(Database,数据库)查看可执行持久化处理的数据存储方式,通过比对服务端内的存储排序表(即图中所示排行榜Rank),若可执行的数据存储方式在排行榜中,则根据最佳IO(Input/Output,输入/输出)策略确定目标数据存储方式,其中最佳IO策略是指,根据实际需求,根据该终端标识对应的可执行持久化处理的数据存储方式的排序,确定闲置存储空间大于待持久化数据对应的需求存储空间的数据存储方式作为目标存储方式;若可执行的数据存储方式不在排行榜中,则采用随机IO策略来确定各数据存储方式对应的IORecord(IO耗时数据,用于表征上述存储效率),然后将该数据上传至服务端,在服务端侧更新存储排序表,随机IO策略是指,针对新增终端标识,每次随机为其确定一种数据存储方式,并统计该数据存储方式对应的存储效率,当统计样本量达到一定数值时,根据该统计的存储效率来确定该新增终端标识对应的数据存储方式的存储顺序,然后对存储排序表进行更新。
步骤S203,向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
通过上述步骤获取到服务端返回的目标数据存储方式后,终端只需向目标数据存储方式对应的数据存储装置发送待持久化数据,就可以完成终端应用的待持久化数据进行持久化处理。
根据本发明实施例的技术方案,因为采用向服务端发送数据持久化请求,数据持久化请求中包括终端标识;接收服务端根据终端标识和存储排序表确定的目标数据存储方式;向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
图3a是根据本发明第三实施例提供的终端应用的数据持久化装置的主要模块的示意图;如图3a所示,本发明实施例提供的终端应用的数据持久化装置300主要包括:
数据持久化请求接收模块301,用于接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识。
其中,上述终端是指手机、笔记本、平板电脑等。终端应用是指安装上述终端上的应用程序。
通过上述设置,服务端接收终端应用发送的包含终端标识的数据持久化请求,有利于后续服务端根据该终端标识为该终端应用确定一个适当的数据存储方式,以提高终端应用的数据持久化效率。
具体地,根据本发明实施例,上述终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。需说明的是,标识可以采用数字、字母或者特殊符号等进行表征。
目标数据存储方式确定模块302,用于根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
通过服务端中指示了不同终端标识对应的数据存储方式的存储顺序的存储排序表,结合数据持久化请求中指示的终端标识,可以为当前终端标识对应的终端应用确定一个目标数据存储方法,进而利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,以实现针对不同终端标识的终端应用采用不同的数据存储方式对应用数据进行持久化,提高应用数据的持久化效率,进而充分发挥应用的性能,提升用户体验的技术效果。
根据本发明实施例,上述终端应用的数据持久化装置300还包括存储排序表确定模块,用于:
获取不同终端标识对应终端应用的历史存储记录;
根据历史存储记录确定各数据存储方式对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据存储效率确定该终端标识对应的数据存储方式的存储顺序;
根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
通过上述设置,获取各终端标识对应的终端应用的历史存储记录,以同一终端标识对应的终端应用采用不同的数据存储方式对应的存储效率(具体地,可采用读写效率作为存储效率,即根据存储所消耗的时间与存储数据的大小来确定)。然后根据不同数据存储方式对应的存效率来确定该终端标识对应的数据存储方式的存储顺序,进而根据各终端标识对应的数据存储方式的存储效率来生成存储排序表。
图3b是图3a所述装置中存储排序表确定模块对应的结构示意图;如图3b所示,本发明实施例提供的存储排序表确定模块主要包括:
IORecord(IO耗时数据,用于表征上述存储效率)/存储效率确定单位,用于统计终端针对各数据存储类型进行持久化的数据,包括,终端系统版本、终端品牌类型、数据存储方式及其对应的IO耗时时长(需要说明的是,图3b中采用手机终端仅为示例,并不作为对本发明的限定),另,确定各数据存储方式对应的IO耗时时长的步骤可以在终端侧执行,也可以在服务端侧执行;
Rank(排行榜)/存储排序表确定模块,用于根据上述存储效率来针对各终端标识(终端你系统版本、终端品牌类型等)确定各存储方式对应的存储顺序。
具体地,根据本发明实施例,上述生成存储排序表是以终端标识为基本单元进行确定;根据本发明实施例的一具体实施方式,存储排序表确定模块还用于对终端标识进行进一步划分,以终端应用的类型作为基本单元,进而得到同一终端标识下不同终端应用的类型对应的数据存储方式的存储顺序。
进一步地,根据本发明实施例,上述终端应用的数据持久化装置300还包括存储排序表更新模块,在数据持久化请求中包括的终端标识为新增终端标识的情况下,存储排序表更新模块用于:
分别采用各数据存储方式对该新增终端标识对应的终端应用进行数据持久化处理并确定存储效率,进而确定该新增终端标识对应的数据存储方式的存储顺序;
根据该新增终端标识对应的数据存储方式的存储顺序对存储排序表进行更新。
通过上述设置,对于新增终端标识(如由于终端系统版本更新产生的新增终端标识等),可以利用不同的数据存储标识对该新增终端标识对应的终端应用的应用数据进行持久化,然后根据持久化处理过程的存储效率来确定该新增终端标识对应的数据存储方式的存储顺序。
可替代的,根据本发明实施例的一具体实施方式,存储排序表更新模块还用于:为新增终端标识随机匹配一种数据存储方式对其终端应用数据进行持久化,统计相应的存储效率,当统计样本量达到一定数值时,根据该统计的存储效率来确定该新增终端标识对应的数据存储方式的存储顺序,然后对存储排序表进行更新。
优选地,根据本发明实施例,上述数据持久化请求中还包括待持久化数据对应的需求存储空间大小,目标数据存储方式确定模块302还用于:
根据终端标识和存储排序表确定该终端标识对应的数据存储方式的存储顺序;
根据该存储顺序依次获取各数据存储方式对应数据存储装置的闲置存储空间大小,根据闲置存储空间大小和待持久化数据对应的需求存储空间大小确定目标数据存储方式。
需要说明的是,可以根据实际需求,根据该终端标识对应的数据存储方式的存储顺序,确定闲置存储空间大于待持久化数据对应的需求存储空间的数据存储方式作为目标存储方式。另一方面,还可以确定根据上述存储顺序,确定至少一个数据存储方式作为目标存储方式。
根据本发明实施例的技术方案,因为采用接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
图4是根据本发明第四实施例提供的终端应用的数据持久化装置的主要模块的示意图;如图4所示,本发明实施例提供的终端应用的数据持久化装置主要包括:
数据持久化请求发送模块401,用于向服务端发送数据持久化请求,数据持久化请求中包括终端标识。
基于安卓系统的终端品牌、系统版本、终端型号均众多,导致终端性能参差不齐,应用运行时,均采用数据库存储方式对待持久化的数据进行存储,存储方式单一,不能充分发挥应用的读写性能,影响用户体验。
具体地,根据本发明实施例,上述终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。需说明的是,标识可以采用数字、字母或者特殊符号等进行表征。
目标数据存储方式接收模块402,用于接收服务端根据终端标识和存储排序表确定的目标数据存储方式。
具体地,基于安卓系统的终端向服务端发送包括终端标识的数据持久化请求后,服务端根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
目前,安卓平台可以按照以下五种数据存储方式将待持久化的数据存储:SharedPreferences(轻量级文件存储方式)、Internal Storage(安卓系统的内部存储方式)、External Storage(安卓系统的外部存储方式)、SQLite Databases(安卓系统的轻量级数据库存储方式)和Network Connection(网络连接存储方式)。其中,对于大文件的应用数据,本地存储方式包括:Internal Storage、External Storage和SQLite Databases。
服务端内的存储排序表是根据下列步骤进行确定的:获取不同终端标识对应终端应用的历史存储记录;根据历史存储记录确定各数据存储方式(对于基于安卓系统的终端,主要是Internal Storage、External Storage和SQLite Databases这三种对于大文件的应用数据的本地存储方式)对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据存储效率确定该终端标识对应的数据存储方式的存储顺序;根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
通过上述设置,获取各终端标识对应的终端应用的历史存储记录,以同一终端标识对应的终端应用采用不同的数据存储方式对应的存储效率(具体地,可采用读写效率作为存储效率,即根据存储所消耗的时间与存储数据的大小来确定)。然后根据不同数据存储方式对应的存效率来确定该终端标识对应的数据存储方式的存储顺序,进而根据各终端标识对应的数据存储方式的存储效率来生成存储排序表。
数据持久化模块403,用于向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
通过上述步骤获取到服务端返回的目标数据存储方式后,终端只需向目标数据存储方式对应的数据存储装置发送待持久化数据,就可以完成终端应用的待持久化数据进行持久化处理。
根据本发明实施例的技术方案,因为采用向服务端发送数据持久化请求,数据持久化请求中包括终端标识;接收服务端根据终端标识和存储排序表确定的目标数据存储方式;向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
图5是根据本发明第五实施例提供的终端应用的数据持久化系统的主要框架示意图;本发明实施例的一应用场景是基于Android系统的终端,如图5所示,本发明实施例提供的终端应用的数据持久化系统主要包括:
设置于终端的终端应用的数据持久化装置,基于Android系统的终端对应的大文件数据存储方式主要包括Interal Stroage、External Stroage和SqLite DataBases。针对不同的数据存储方式记录IO耗时数据,然后将相应的IO耗时数据发送至服务端,以创建存储排序表。然后终端应用向服务端发送包含终端标识的数据持久化请求后,接收服务端根据该终端标识和存储排序表确定目标存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理。
设置服务端的终端应用的数据持久化装置,用于接收终端发送的IO耗时数据,通过数据处理服务模块对该IO耗时数据进行排序处理构建存储排序表(即IO性能排行榜);在接收到终端发送的数据持久化请求后,根据数据持久化请求中包括的终端标识和存储排序表的比对确定采取最佳IO策略还是随机IO策略,以为该终端应用匹配目标数据存储方式。
数据库,用于接收并存储终端应用发送的待持久化数据。
根据本发明实施例的技术方案,因为采用向服务端发送数据持久化请求,数据持久化请求中包括终端标识;接收服务端根据终端标识和存储排序表确定的目标数据存储方式;向目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
图6示出了可以应用本发明实施例的终端应用的数据持久化方法或终端应用的数据持久化装置的示例性系统架构600。
如图6所示,系统架构600可以包括客户端设备601、602、603,网络604和服务端605。网络604用以在客户端设备601、602、603和服务端605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用客户端设备601、602、603通过网络604与服务端605交互,以接收或发送消息等。客户端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
客户端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务端605可以是提供各种服务的服务端,例如对用户利用客户端设备601、602、603所浏览的购物类网站提供支持的后台管理服务端(仅为示例)。后台管理服务端可以对接收到的数据持久化请求等数据进行分析等处理,并将处理结果(例如目标数据存储方式--仅为示例)反馈给客户端设备。
需要说明的是,本发明实施例所提供的终端应用的数据持久化方法一般由服务端605执行,相应地,终端应用的数据持久化装置一般设置于服务端605中。
应该理解,图6中的客户端设备、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端设备、网络和服务端。
下面参考图7,其示出了适于用来实现本发明实施例的客户端设备的计算机系统700的结构示意图。图7示出的客户端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,上述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括数据持久化请求发送模块、目标数据存储方式接收模块和数据持久化模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,数据持久化请求发送模块还可以被描述为“用于向服务端发送数据持久化请求,数据持久化请求中包括终端标识的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
根据本发明实施例的技术方案,因为采用接收终端应用发送的数据持久化请求,数据持久化请求中包括终端标识;根据终端标识和存储排序表确定终端应用对应的目标数据存储方式,以利用目标数据存储方式对终端应用的待持久化数据进行持久化处理,其中,存储排序表指示了不同终端标识对应的数据存储方式的存储顺序的技术方案,解决了现有方法中对于具备不同终端标识的终端应用采用同一种数据存储方式对应用数据进行持久化,常导致应用数据持久化效率较低,且不能充分发挥应用的性能,用户体验差的技术问题,进而实现了针对不同终端标识采用不同的数据存储方式对应用数据进行持久化,提高了应用数据的持久化效率,进而充分发挥了应用的性能,提升了用户体验的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种终端应用的数据持久化方法,其特征在于,应用于服务端,包括:
接收终端应用发送的数据持久化请求,所述数据持久化请求中包括终端标识;
根据所述终端标识和存储排序表确定所述终端应用对应的目标数据存储方式,以利用所述目标数据存储方式对所述终端应用的待持久化数据进行持久化处理,其中,所述存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
2.根据权利要求1所述的终端应用的数据持久化方法,其特征在于,所述存储排序表是根据下列步骤进行确定的:
获取不同终端标识对应终端应用的历史存储记录;
根据所述历史存储记录确定各数据存储方式对同一终端标识对应终端应用进行数据持久化处理时的存储效率,再根据所述存储效率确定该终端标识对应的数据存储方式的存储顺序;
根据各终端标识对应的数据存储方式的存储顺序生成存储排序表。
3.根据权利要求1所述的终端应用的数据持久化方法,其特征在于,在所述数据持久化请求中包括的终端标识为新增终端标识的情况下,所述终端应用的数据持久化方法还包括:
分别采用各数据存储方式对该新增终端标识对应的终端应用进行数据持久化处理并确定存储效率,进而确定该新增终端标识对应的数据存储方式的存储顺序;
根据该新增终端标识对应的数据存储方式的存储顺序对所述存储排序表进行更新。
4.根据权利要求1所述的终端应用的数据持久化方法,所述数据持久化请求中还包括所述待持久化数据对应的需求存储空间大小,所述根据终端标识和存储排序表确定所述终端应用对应的目标数据存储方式的步骤还包括:
根据所述终端标识和存储排序表确定该终端标识对应的数据存储方式的存储顺序;
根据该存储顺序依次获取各数据存储方式对应数据存储装置的闲置存储空间大小,根据所述闲置存储空间大小和所述待持久化数据对应的需求存储空间大小确定所述目标数据存储方式。
5.根据权利要求1所述的终端应用的数据持久化方法,其特征在于,所述终端标识下列信息中的至少一种:终端品牌、终端系统版本和终端型号。
6.一种终端应用的数据持久化方法,其特征在于,应用于终端,包括:
向服务端发送数据持久化请求,所述数据持久化请求中包括终端标识;
接收所述服务端根据所述终端标识和存储排序表确定的目标数据存储方式,其中,所述存储排序表指示了不同终端标识对应的数据存储方式的存储顺序;
向所述目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
7.一种终端应用的数据持久化装置,其特征在于,设置于服务端,包括:
数据持久化请求接收模块,用于接收终端应用发送的数据持久化请求,所述数据持久化请求中包括终端标识;
目标数据存储方式确定模块,用于根据所述终端标识和存储排序表确定所述终端应用对应的目标数据存储方式,以利用所述目标数据存储方式对所述终端应用的待持久化数据进行持久化处理,其中,所述存储排序表指示了不同终端标识对应的数据存储方式的存储顺序。
8.一种终端应用的数据持久化装置,其特征在于,设置于终端,包括:
数据持久化请求发送模块,用于向服务端发送数据持久化请求,所述数据持久化请求中包括终端标识;
目标数据存储方式接收模块,用于接收所述服务端根据所述终端标识和存储排序表确定的目标数据存储方式,其中,所述存储排序表指示了不同终端标识对应的数据存储方式的存储顺序;
数据持久化模块,用于向所述目标数据存储方式对应的数据存储装置发送待持久化数据,以完成终端应用的待持久化数据进行持久化处理。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5、6中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5、6中任一所述的方法。
CN202010686617.9A 2020-07-16 2020-07-16 一种终端应用的数据持久化方法和装置 Active CN113741796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010686617.9A CN113741796B (zh) 2020-07-16 2020-07-16 一种终端应用的数据持久化方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010686617.9A CN113741796B (zh) 2020-07-16 2020-07-16 一种终端应用的数据持久化方法和装置

Publications (2)

Publication Number Publication Date
CN113741796A CN113741796A (zh) 2021-12-03
CN113741796B true CN113741796B (zh) 2024-04-16

Family

ID=78727990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010686617.9A Active CN113741796B (zh) 2020-07-16 2020-07-16 一种终端应用的数据持久化方法和装置

Country Status (1)

Country Link
CN (1) CN113741796B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011020360A1 (zh) * 2009-08-19 2011-02-24 北京书生国际信息技术有限公司 一种文档的存储方法
CN103425462A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 一种工作流数据持久化的方法和装置
CN104866339A (zh) * 2015-04-27 2015-08-26 努比亚技术有限公司 Fota数据的分布式持久化管理方法、系统和装置
CN107315533A (zh) * 2016-04-26 2017-11-03 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN110019081A (zh) * 2017-07-20 2019-07-16 中兴通讯股份有限公司 数据持久化处理方法、装置、系统及可读存储介质
CN111104456A (zh) * 2019-10-12 2020-05-05 深圳壹账通智能科技有限公司 数据持久化存储方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011020360A1 (zh) * 2009-08-19 2011-02-24 北京书生国际信息技术有限公司 一种文档的存储方法
CN103425462A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 一种工作流数据持久化的方法和装置
CN104866339A (zh) * 2015-04-27 2015-08-26 努比亚技术有限公司 Fota数据的分布式持久化管理方法、系统和装置
CN107315533A (zh) * 2016-04-26 2017-11-03 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN110019081A (zh) * 2017-07-20 2019-07-16 中兴通讯股份有限公司 数据持久化处理方法、装置、系统及可读存储介质
CN111104456A (zh) * 2019-10-12 2020-05-05 深圳壹账通智能科技有限公司 数据持久化存储方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XML数据存储方式的性能评价研究;於志勇;杨志义;於志文;李长德;;计算机工程与应用;20060611(17);全文 *

Also Published As

Publication number Publication date
CN113741796A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
CN109582873B (zh) 用于推送信息的方法和装置
US10534425B2 (en) Processing method and device for saving power, mobile terminal and cloud server
CN110781373B (zh) 榜单更新方法、装置、可读介质和电子设备
US20190327105A1 (en) Method and apparatus for pushing information
CN110502256A (zh) 一种软件升级方法、终端及存储介质
CN112835904A (zh) 一种数据处理方法和数据处理装置
CN109753424B (zh) Ab测试的方法和装置
CN114116247A (zh) 基于Redis的消息处理方法、装置、系统、服务器和介质
CN116880990A (zh) 任务执行方法、装置、电子设备及计算机可读存储介质
CN113741796B (zh) 一种终端应用的数据持久化方法和装置
CN107256244B (zh) 数据处理方法和系统
CN111460020B (zh) 用于解析消息的方法、装置、电子设备和介质
CN110619079B (zh) 用于推送信息的方法和装置
CN113127561B (zh) 业务单号的生成方法、装置、电子设备和存储介质
CN109213815B (zh) 控制执行次数的方法、装置、服务器终端以及可读介质
CN112836201A (zh) 多平台信息互通的方法、装置、设备和计算机可读介质
CN113127416A (zh) 数据查询方法和装置
CN112131287A (zh) 一种读取数据的方法和装置
CN113362097B (zh) 一种用户确定方法和装置
CN113760488B (zh) 调度任务的方法、装置、设备和计算机可读介质
CN110716885B (zh) 数据管理方法、装置、电子设备和存储介质
CN111460273B (zh) 信息推送方法和装置
CN112311833B (zh) 数据更新方法和装置
CN112883009B (zh) 用于处理数据的方法和装置
CN109240878B (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