一种基于混合模式移动应用的数据本地存储控制方法及装置的制造方法_3

文档序号:9352902阅读:来源:国知局
权重系数为Wls,C与S的比值的权重系数为ts。
[0069] 按照以下原则确定各权重系数的取值:Wl=4,其中【表示范围X~y之间的中 位数,X表示需存储的内容的大小L会取到的最小值,y表示需存储的内容的大小L会达到 的最大值;Wh=^,其中F表示所述本地存储文件平均每天的存储次数;Wls在± 2%丨HL 的范围内,其中,及表示所述移动终端的平均可用空间的大小;1。;3在^土2%的范围内,亡 表示平均每个混合模式移动应用占用的空间大小。
[0070] 本【具体实施方式】中,L的值一般在2~100B之间,中位数是50B,转换单位就是 0. 05KB,所以L的平均值.Z:为0. 05KB,Wi的值取20 (使得平均值乘上权重系数正好为1), 从而将L的平均值调整为1。
[0071] 设每个月存储的次数为1~30次,平均为15次/30天,所以平均每天的存储次数 虿为0. 5次,则^取2,从而将H的平均值调整为1。
[0072] 设移动终端的平均可用空间f的大小为2048M,L的平均值f为0. 05KB,则^为 0. 05KBA2048*1024)KB,因此Wls在£±2%的范围内,以将f:调整为1。本【具体实施方式】 L 〇 Wls取值为40000000,取整数,使得计算便捷。
[0073] LocalStorage文件的大小的范围为0~5M,则平均每个LocalStorage文件大小 为2. 5MB,设平均每个HybridApp含有5个LocalStorage文件,则平均每个HybridApp占 用空间C为12. 5MB。如移动终端中的平均可用空间f的大小为2048M,则?^为25/4096, S 因此^在| ±2%啲范围内,以将*1调整到1。本【具体实施方式】中,Wcs取值160,取整数, 使得计算便捷。
[0074] 表1权重系数的值
[0075]
[0076]
[0077] 定义当前LocalStorage文件的存储度Q如下:
[0078]
[0079] 存储度Q是衡量LocalStorage文件是否接受存储请求的指标。步骤306判断存储 度Q是否超过存储度设定阈值,当Q超过某一阀值时就接受存储请求,否则拒绝存储请求。
[0080] 本【具体实施方式】的存储判断步骤中,创新性的引入文件的存储度公式,利用该公 式来判断文件是否存储。需说明的是,上述确定权重系数以及定义的存储度公式只是一种 示例,其余稍作变化的形式也是可行的,例如,在确定权重系数时,上述方式是将四个加和 项都分配为"1"来确定权重系数的,也可以根据各项在系统的重要程度分配不同的值,例如 将Wh=4,其余3个权重系数不变,即是将第二加和项分配为"2",其余三个加和项仍然分 配为"1",此种情形下存储度判断时更加关注目标本地存储文件的读取频率。再例如,在计 算存储度时,上述公式21也可稍作变化,例如将L、H、||中的一者或者多者调整为平 方,然后再加和。总的来说,上述确定过程和公式只是一种示例,不构成限制。
[0081] 步骤103 :存储清理步骤:
[0082] HybridApp中的LocalStorage存储是永久存储,只要App不删除就会永久存 储在移动终端。这样的机制对于移动终端显然是合理的。但是,对于一些过时的、不用的 LocalStorage记录或文件应当对其进行清理管理。该存储清理步骤就是对LocalStorage 存储文件起清理管理的作用。该步骤包括在线清理步骤和离线清理步骤两种情形。
[0083] 在线清理步骤的流程图如图4所示,包括以下步骤:
[0084] 步骤401 :判断SL+L是否小于等于目标容量,其中,SL表示要存储到的所述本地存 储文件的当前大小,L表示所述需存储的内容的大小。
[0085] 为了更好的、有效的利用移动端的存储空间,本【具体实施方式】严格地要求单个 LocalStorage文件遵守5M的上限,即本【具体实施方式】中目标容量定为5M,在其他实施方 式可根据实际情况进行调整。当产生LocalStorage存储请求时,通过查询数据库获得要 存储到的目标LocalStorage文件的大小为SL(KB),而需存储内容的大小为L(KB),所以当 (SL+L) /1024 < 5M时,通过清理步骤的处理(步骤404),接受存储请求,否则不通过,继续 执行下一步。
[0086] 删除LocalStorage文件中不重要的存储记录:
[0087] 当单个LocalStorage文件的存储大于5M时,现有的机制允许其继续进行存储,当 超过某一上限时(如10M),就会出现三种情况:停止存储、随机覆盖存储、文件失效。这三种 情况都存在一定的缺陷。在本【具体实施方式】中,提出一种新的机制,当(SL+L)/1024>5M时, 进入步骤402 :把LocalStorage文件存储的记录中按最近一次读取时间排序(读取时间早 的记录排在前面);步骤403:删除前n条记录,本【具体实施方式】中n= 10。删除之后,返回 步骤401,判断(SL+L)/1024 < 5M是否成立,如不成立则循环进行,直至通过清理步骤的处 理,将请求存储的信息存入目标LocalStorage文件中。
[0088] 离线清理步骤(也为周期性清理步骤)用于周期性删除系统中的不重要的 LocalStorage文件。对整个移动终端的LocalStorage文件进行周期性(如每隔10天)清 除,对于使用频率小、长期不使用的或者使用价值小的LocalStorage文件进行删除。离线 清理步骤中,对各本地存储文件均进行如图5所示的处理,包括以下步骤:
[0089] 步骤501 :获取LocalStorage文件未使用的天数。
[0090] 具体地,从数据库中获取该LocalStorage文件上一次被使用的日期T1,同时获得 当前系统的日期T2,LocalStorage文件未使用的天数为T,T= (T2-T1)。
[0091] 步骤502 :获取LocalStorage文件的读取频率
[0092] 具体地,从数据库中获取该LocalStorage文件的读取次数P及文件建立日期U1, 同时获得当前系统的日期U2,则LocalStorage文件的读取频率为F(单位为次/天),F=PAU2-U1)。
[0093] 步骤503 :获取LocalStorage文件的大小,具体地,从数据库中获取LocalStorage 文件的大小D。
[0094] 步骤504 :获取系统剩余空间的大小
[0095] 具体地,以Android平台为例,通过Android的系统函数getAvailableBlocks(单 位为KB)获得移动端当前可用的空间大小SI(B),S=S1/1024 (单位为KB),则系统剩余空 间的大小为S(KB)。
[0096] 步骤505 :判断是否删除该LocalStorage文件
[0097] 为了判断当前正在处理的LocalStorage文件是否应该删除。本【具体实施方式】中 引入了以下的一些参数:未使用的时间T(单位为天,通过步骤501获得),对于长时间不用 的LocalStorage文件显然可以删除。使用频率F(单位为次/天,通过步骤502获得),使 用频率小说明LocalStorage的使用价值小。文件的大小D(通过步骤503获得),文件越大 说明空间代价越大;移动终端的剩余可用空间大小S(通过(4)获得),剩余空间说明移动 终端继续进行存储的承受能力。
[0098] 为使各因素起到作用更加合理,分别引入相应的权重系数Wt、Wf、Wfd(F/D的权重系 数)、Wds (D/S的权重系数)。具体地,按照如下方式确定各权重系数:,其中f表示 本地存储文件未使用天数的平均值;Wf ,其中歹表示本地存储文件平均每天的存储次 r 数;Wfd=#,其中,吞表示平均每个本地存储文件的大小;wds在±2%丨的范围内,f表 示所述移动终端的平均可用空间的大小。
[0099] 本【具体实施方式】中,T的值一般在0~30天之间,平均值为15天,所以Wt的值取 1/15 (使T的平均值J乘上权重系数恰好等于1),以将T的平均值调整为1。
[0100] 设每个月存储的次数为1~30次,平均为15次/30天,所以本地存储文件平均每 天的存储次数,为〇. 5次,所以Wf取2,以将F的平均值调整为1。
[0101] F为〇. 5次LocalStorage文件的大小的范围为0~5M,则平均每个 LocalStorage文件大小〇为2. 5MB,则-二-为0? 5/2. 5 = 0? 2,所以W:M =二=5,以将兑调整 DFD 为1。
[0102] 设系统的平均剩余可用空间f的大小为2048MB,D的平均值D的大小为2. 5MB,则 7Tvn Y为5/4096,则Wds在4±2%的范围内,已将7调整为1。本【具体实施方式】中,Wds取800,SDS 取整数,使得计算便捷。
[0103] 表2:权重系数的值
[0104]
[0105] 定义判断LocalStorage文件是否该删除的删除度V如下:
[0106]
[0107] 删除度V是判断LocalStorage文件是否该删除的指标,当某一LocalStorage文 件的删除度V大于删除度阀值时,就把该L
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1