前端数据存储方法、装置及存储介质与流程

文档序号:28602213发布日期:2022-01-22 11:31阅读:118来源:国知局
前端数据存储方法、装置及存储介质与流程

1.本发明涉及数据存储技术,尤其涉及一种前端数据存储方法、装置及存储介质。


背景技术:

2.移动端中使用前端混合开发能够很快速高效的开发ui,但是若涉及大量数据保存的场景则无法实现,究其原因即是前端大数据的存储是个弊端,现有技术中的前端存储方案具有限制性多、无法实现大量数据存储的缺点。
3.为了解决端存储方案具有限制性多、无法实现大量数据存储的缺点,可以采用移动端的realm移动数据库替代sqlite和coredata和移动端数据解析handyjson两者结合转换数据存储方式进行数据的存储,该种方式虽然具有速度快、可跨平台、可视化的优点,但是现有技术中,还无法使realm数据库存储的数据和内存与handyjson解析对象数据之间实现识别、兼容。


技术实现要素:

4.本发明实施例提供一种前端数据存储方法、装置及存储介质,可以使前端的realm数据库对handyjson解析对象数据进行识别、兼容存储,使得前端在数据存储时具有更强的兼容性,提高了前端的适应性。
5.本发明实施例的第一方面,提供一种前端数据存储方法,包括:
6.基于转换模型将接收到的预设格式的数据转换处理得到第一类型数据,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储;
7.前端数据库基于接收到的调取请求通过第二抽象转换接口将第二类型数据转换为第一类型数据,转换模型将所述第一类型数据转换为预设格式的数据,所述第一类型数据或预设格式的数据被前端调用制作ui。
8.可选地,在第一方面的一种可能实现方式中,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据包括:
9.所述第一类型数据为object model数据,所述第二类型数据为realm object model数据;
10.基于所述第一抽象转换接口调用第一抽象转换方法对object model数据转换得到realm object model数据并添加相应的标记日期;
11.前端数据库为realm数据库,realm数据库基于所述标记日期(add realm data)对所述realm object model数据存储。
12.可选地,在第一方面的一种可能实现方式中,前端数据库基于接收到的调取请求通过第二抽象转换接口将第二类型数据转换为第一类型数据包括:
13.所述第一类型数据为object model数据,所述第二类型数据为realm object model数据;
14.根据所述调取请求选定相应的realm object model数据;
15.基于所述第二抽象转换接口调用第二抽象转换方法对所述realm object model数据进行转换得到object model数据并添加相应的原始日期(add original date),以使前端基于所述object model数据和原始日期对所述object model数据处理。
16.可选地,在第一方面的一种可能实现方式中,获取所述前端数据库在当前时刻所存储数据的总存储量以及前端数据库的额定存储量;
17.判断所述总存储量与所述额定存储量的比值大于第一预设比例,获取所述前端数据库中先前预设时间段的所有存储信息,所述存储信息包括多个存储数据;
18.对先前预设时间段的所有存储数据按照其被调取的次数进行降序排序得到第一排序集合a(a1,a2,

,an),其中an为所有存储信息中第n个位置的存储数据;
19.确定第一排序集合a(a1,a2,

,an)中的删除分界点ai,将a1至ai中的所有存储数据分别删除。
20.可选地,在第一方面的一种可能实现方式中,基于所述第一排序集合a(a1,a2,

,an)得到与其对应的第二排序集合b1(b1,b2,

,bn),其中bn为第n个存储数据an的数据量值;
21.获取第二排序集合b(b1,b2,

,bn)中满足以下公式条件的数据量值确定分界集合b2(bz,b
z+1


,bn),
[0022][0023]
其中,b
p
为第p个存储数据的数据量值,bm第m个存储数据的数据量值,k为第二预设比例;
[0024]
确定分界集合b2(bz,b
z+1


,bn)中被调取的次数最多的数据量值bi所对应的存储数据ai,将所述存储数据ai作为删除分界点ai。
[0025]
可选地,在第一方面的一种可能实现方式中,还包括:
[0026]
判断非分界集合b3(b1,b2,

,b
z-1
)存在低于预设调取次数的数据量值,则提取低于预设调取次数的数据量值生成推荐集合,所述推荐集合为b4(b
x
,b
x+1


,bn);
[0027]
对所述推荐集合为b4(b
x
,b
k+1


,bn)显示;
[0028]
接收用户的确认数据将所述b
x
作为新的删除分界点,获取所述第一排序集合a(a1,a2,

,an)中与所述b
x
对应的新的删除分界点a
x

[0029]
删除第一排序集合a(a1,a2,

,an)中a
x
至an的所有数据。
[0030]
可选地,在第一方面的一种可能实现方式中,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储包括:
[0031]
在所述第二类型数据产生的时刻生成身份标签;
[0032]
在所述第二类型数据产生的时刻生成时刻标签;
[0033]
在所述第二类型数据产生的时刻获取所述第二类型数据的数据量值标签;
[0034]
基于每一个第二类型数据、第二类型数据对应的身份标签、第二类型数据对应的时刻标签以及第二类型数据对应的量值标签生成存储数据。
[0035]
可选地,在第一方面的一种可能实现方式中,还包括:
[0036]
对所述第二类型数据中每个身份标签对应的存储数据进行监测,获取每个存储数
据被调取的次数进行存储。
[0037]
本发明实施例的第二方面,提供一种前端数据存储装置,包括:
[0038]
第一转换模块,用于基于转换模型将接收到的预设格式的数据转换处理得到第一类型数据,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储;
[0039]
第二转换模块,用于使前端数据库基于接收到的调取请求通过第二抽象转换接口将第二类型数据转换为第一类型数据,转换模型将所述第一类型数据转换为预设格式的数据,所述第一类型数据或预设格式的数据被前端调用制作ui。
[0040]
本发明实施例的第三方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法。
[0041]
本发明提供的一种前端数据存储方法、装置及存储介质,通过设置抽象转换接口,解决了realm数据库和handyjson解析数据的两者之间无法直接转换、存储的问题,使得realm数据库和handyjson之间的数据不仅可以直接转换,还具有速度快、跨平台、可视化、支持加密的优点。
[0042]
本发明可以对前端数据库、realm数据库中存储的数据进行检测,并在前端数据库、realm数据库中存储的信息、数据达到一定的数值时进行主动删除、清理。并且在主动进行清理时,本发明会根据每个存储数据调取的次数、数据量值确定相应的删除分界点,使得在删除相应的数据时更加的符合用户使用规律,保障所删除的数据较大可能为用户不会再调取、使用,在保障前端可以有足够的空间对接下来的数据进行存储时,删除了用户大概率不会使用到的历史存储的数据。
[0043]
本发明提供的技术方案,会根据存储数据被调取的次数进行主动推荐,在用户对主动推荐进行确认选择后,本发明会对原删除分界点进行更新得到新的删除分界点,使得前端数据库、realm数据库中先前存储的存储数据删除量较多,提高了前端数据库、realm数据库的剩余存储空间。
附图说明
[0044]
图1为前端数据存储方法的第一种实施方式的流程图;
[0045]
图2为前端数据存储方法中的数据流传输示意图;
[0046]
图3为前端数据存储装置的第一种实施方式的结构图。
具体实施方式
[0047]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在
这里图示或描述的那些以外的顺序实施。
[0049]
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0050]
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0051]
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含a、b和c”、“包含a、b、c”是指a、b、c三者都包含,“包含a、b或c”是指包含a、b、c三者之一,“包含a、b和/或c”是指包含a、b、c三者中任1个或任2个或3个。
[0052]
应当理解,在本发明中,“与a对应的b”、“与a相对应的b”、“a与b相对应”或者“b与a相对应”,表示b与a相关联,根据a可以确定b。根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。a与b的匹配,是a与b的相似度大于或等于预设的阈值。
[0053]
取决于语境,如在此所使用的“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。
[0054]
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0055]
add realm data:标记日期;add original date:原始日期;
[0056]
object model数据:对象模型数据,原始json数据通过handyjson转换为object model数据;
[0057]
json:json(javascript object notation,js对象简谱)是一种轻量级的数据交换格式。它基于ecmascript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得json成为理想的数据交换语言;
[0058]
realm数据库:realm是一个mvcc(多版本并发控制)数据库;
[0059]
realm object model数据:realm数据库能够存储的数据;
[0060]
ui:交互界面。
[0061]
如图1所示,本发明提供一种前端数据存储方法,前端数据存储方法具体包括:
[0062]
步骤s110、基于转换模型将接收到的预设格式的数据转换处理得到第一类型数据,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储。
[0063]
在一个可能的实施方式中,第一类型数据为object model数据,所述第二类型数据为realm object model数据。
[0064]
如图2所示,步骤s110具体包括:
[0065]
基于所述第一抽象转换接口调用第一抽象转换方法对object model数据转换得到realm object model数据并添加相应的标记日期。本发明提供的方法可以应用于移动终
端处使用,在得到object model数据前,移动终端会接收到原始json数据,转换模型对json数据采取handyjson处理得到解析对象数据,该解析对象数据即为object model数据。本发明会对object model数据转换得到realm object model数据并添加相应的标记日期。
[0066]
前端数据库为realm数据库,realm数据库基于所述标记日期(add realm data)对所述realm object model数据存储。realm数据库会根据标记日期(add realm data)对realm object model数据存储,realm数据库中可能会设置多个存储单元,每个存储单元用于存储不同标记日期(add realm data)的realm object model数据,通过以上方式能够按照时间维度对realm object model数据进行归类存储。
[0067]
以上的步骤,完成对原始json数据转换为object model数据的步骤。
[0068]
本发明会预先设置第一抽象方法,第一抽象方法为将object model数据转换为realm object model数据的源代码。通过第一抽象转换接口可以调取第一抽象方法实现对object model数据的转换。
[0069]
步骤s120、前端数据库基于接收到的调取请求通过第二抽象转换接口将第二类型数据转换为第一类型数据,转换模型将所述第一类型数据转换为预设格式的数据,所述第一类型数据或预设格式的数据被前端调用制作ui。
[0070]
步骤s120具体包括:包括:
[0071]
所述第一类型数据为object model数据,所述第二类型数据为realm object model数据;
[0072]
根据所述调取请求选定相应的realm object model数据;
[0073]
基于所述第二抽象转换接口调用第二抽象转换方法对所述realm object model数据进行转换得到object model数据并添加相应的原始日期(add original date),以使前端基于所述object model数据和原始日期对所述object model数据处理。该原始日期可以是与标记日期相对应的日期。
[0074]
以上的步骤,完成对object model数据转换为原始json数据的步骤。
[0075]
本发明会预先设置第二抽象方法,第二抽象方法为将realm object model数据转换为object model数据的源代码。通过第二抽象转换接口可以调取第二抽象方法实现对realm object model数据的转换,然后通过转换模型将realm object model数据转换为原始json数据。
[0076]
通过步骤s110可以实现对原始json数据在realm数据库中进行存储,通过步骤s120可以将realm数据库中存储的realm object model数据转换为object model数据、原始json数据,使得移动终端、移动前端可以根据object model数据、原始json数据进行相应的ui制作。
[0077]
通过以上的方式,使得本发明提供的技术方案,不仅具有速度快、可跨平台、可视化的优点,还可以使realm数据库存储的数据和内存与handyjson解析对象数据之间实现识别、兼容。
[0078]
本发明提供的实施例,优选的,获取所述前端数据库在当前时刻所存储数据的总存储量以及前端数据库的额定存储量。由于移动前端多为手机、平板等移动设备,其内存的存储量是有限的,所以本发明会确定移动前端为前端数据库所分配的额定存储量以前当前时刻前端数据库所具有的总存储量,根据当前时刻前端数据库所具有的总存储量与额定存
储量的关系确定对前端数据库中的数据进行调整。
[0079]
判断所述总存储量与所述额定存储量的比值大于第一预设比例,获取所述前端数据库中先前预设时间段的所有存储信息,所述存储信息包括多个存储数据。当总存储量与所述额定存储量的比值大于第一预设比例时,则证明总存储量的占比可能较多,所以此时需要获取先前预设时间段的所有存储信息。先前预设时间段可以是根据实际情况设置,先前预设时间段的所有存储信息可以是一年前的所有存储信息,例如说当前时间是2021年9月9日,则一年前的所有存储信息则是2020年9月9日之前的所有存储信息。
[0080]
对先前预设时间段的所有存储数据按照其被调取的次数进行降序排序得到第一排序集合a(a1,a2,

,an),其中an为所有存储信息中第n个位置的存储数据。由于用户在制作ui时,其可能对不同的素材、存储数据的调取情况是不同的,未被调取过的存储数据、或者是调取次数较少的存储数据其大概率是不需要的、或者是需求较低的存储数据,本发明根据该客观规律会对先前预设时间段所有的存储数据按照调取次数进行排序得到第一排序集合a(a1,a2,

,an),第一排序集合a中的a1可以看做是调取次数最多的存储数据,an可以看做是调取次数最少的存储数据。
[0081]
确定第一排序集合a(a1,a2,

,an)中的删除分界点ai,将ai至an中的所有存储数据分别删除。本发明需要在第一排序集合a(a1,a2,

,an)中确定一个删除分界点,根据该分界点可以确定哪些存储数据删除、哪些存储数据保留。通过第一排序集合a(a1,a2,

,an)可以快速对所有的存储数据归类及删除,即将第一排序集合a(a1,a2,

,an)根据删除分界点ai归类为需要删除的数据和不需要删除的数据,需要删除的数据集合可以看做是(ai,a
i+1


,an),不需要删除的数据集合可以看做是(a1,a2,

,a
i-1
),i大于2,该种形式、方式能够快速的删除相应的存储数据。
[0082]
本发明提供的技术方案,优选的,基于所述第一排序集合a(a1,a2,

,an)得到与其对应的第二排序集合b1(b1,b2,

,bn),其中bn为第n个存储数据an的数据量值。本发明中的第二排序集合b1是根据第一排序集合a得到的,第二排序集合b1中的数据量值与第一排序集合a中的存储数据是一一对应的。
[0083]
获取第二排序集合b(b1,b2,

,bn)中满足以下公式条件的数据量值确定分界集合b2(bz,b
z+1


,bn),
[0084][0085]
其中,b
p
为第p个存储数据的数据量值,bm第m个存储数据的数据量值,k为第二预设比例。第二预设比例可以是0.8、0.9等等。当第二预设比例为0.8时,大于0.8的b
p
则会认为是需要删除的数据量值,此时的数据量值是具有多个的,此时生成分界集合b2(bz,b
z+1


,bn)。
[0086]
确定分界集合b2(bz,b
z+1


,bn)中被调取的次数最多的数据量值bi所对应的存储数据ai,将所述存储数据ai作为删除分界点ai。本发明需要在分界集合b2(bz,b
z+1


,bn)中确定相应的分界点,所以本发明会确认被调取的次数最多的数据量值bi所对应的存储数据ai,比该bi调取次数少的数据量值都应该被删除,所以本发明通过上述的方式确定删除分界
点ai。
[0087]
本发明提供的技术方案,优选的,还包括:
[0088]
判断非分界集合b3(b1,b2,

,b
z-1
)存在低于预设调取次数的数据量值,则提取低于预设调取次数的数据量值生成推荐集合,所述推荐集合为b4(b
x
,b
x+1


,bn)。本发明中的非分界集合是与分界集合相反的集合,可以这样理解b3=b-b2,预设调取次数可以是3次、4次等等,本发明会预先设置预设调取次数,当较多的存储数据调取次数小于3次、4次时,则证明此时较多的数据都处于被触发较少的状态,可以在清理内存时一并清理。所以本发明会主动提取低于预设调取次数的数据量值生成推荐集合。
[0089]
对所述推荐集合b4(b
x
,b
x+1


,bn)显示。本发明在得到推荐集合后,会将推荐集合进行主动显示、展示,使用户可以根据推荐集合确定是否需要进行数据的删除处理。
[0090]
接收用户的确认数据将所述b
x
作为新的删除分界点,获取所述第一排序集合a(a1,a2,

,an)中与所述b
x
对应的新的删除分界点a
x
。当用户决定对推荐集合中相应的存储数据进行删除处理时,会向前端输入确认数据,此时本发明会将b
x
作为新的删除分界点。
[0091]
删除第一排序集合a(a1,a2,

,an)中a
x
至an的所有数据。本发明会得到与b
x
对应的新的分界点a
x
,删除a
x
至an所对应的所有存储数据,本发明的技术方案,能够主动推荐对存储数据的删除量值,协助用户进行更适宜的内存清理操作。
[0092]
本发明提供的技术方案,优选的,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储包括:
[0093]
在所述第二类型数据产生的时刻生成身份标签。身份标签可以是oo1a等等,用来对第二类型数据进行身份标记。
[0094]
在所述第二类型数据产生的时刻生成时刻标签。例如说第二类型数据时2021年10月7日23:28:52生成的,则时刻标签为2021年10月7日23:28:52。
[0095]
在所述第二类型数据产生的时刻获取所述第二类型数据的数据量值标签。数据量值标签可以是数据的数据量值,例如说1gb等等。
[0096]
基于每一个第二类型数据、第二类型数据对应的身份标签、第二类型数据对应的时刻标签以及第二类型数据对应的量值标签生成存储数据。本发明中的存储数据是一个融合数据,包括了第二类型数据本身的代码信息,还包括了第二数据在身份维度、时间维度以及量值维度的信息。
[0097]
本发明提供的技术方案,优选的,还包括:
[0098]
对所述第二类型数据中每个身份标签对应的存储数据进行监测,获取每个存储数据被调取的次数进行存储。
[0099]
为了实现本发明实施例所提供的前端数据存储方法,本发明的实施例还提供一种前端数据存储装置。
[0100]
如图3所示,本发明的实施例提供一种前端数据存储装置,前端数据存储装置包括:
[0101]
第一转换模块,用于基于转换模型将接收到的预设格式的数据转换处理得到第一类型数据,将所述第一类型数据按照预设的第一抽象转换接口转换为第二类型数据,以使所述第二类型数据在前端数据库中存储;
[0102]
第二转换模块,用于使前端数据库基于接收到的调取请求通过第二抽象转换接口
将第二类型数据转换为第一类型数据,转换模型将所述第一类型数据转换为预设格式的数据,所述第一类型数据或预设格式的数据被前端调用制作ui。
[0103]
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。另外,该asic可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(rom)、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0104]
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
[0105]
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0106]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1