1.一种移动云存储环境下缓存数据的预取方法,其是应用在移动终端中,其特征在于,所述方法包括以下步骤:
(1)接收用户请求,根据该用户请求向服务器请求文件列表,并将该文件列表显示给用户;
(2)在用户从文件列表中选择文件后判断用户选择的文件是否存在于移动终端的缓存中,若存在则进入步骤(3),否则进入步骤(4);
(3)直接从移动终端的缓存中提取用户选择的文件,然后进入步骤(6);
(4)向服务器发送HTTP请求,该HTTP请求中携带有与用户选择的文件对应的URL信息;
(5)从服务器接收与该URL信息对应的文件,该文件就是用户选择的文件;
(6)判断用户选择的文件是否存在有历史访问记录,如果没有则转入步骤(7),如果有则转入步骤(10);
(7)设置计数器n=1;
(8)预取用户选择文件的n个后继文件;
(9)判断该后继文件接下来是否被用户访问过,如果是则将预取的后继文件个数n加1,然后继续重复执行步骤(8),直至所有的后继文件都被预取完或用户停止访问该文件为止,否则返回步骤(7);
(10)通过计算访问该文件的后继文件的概率来确定是否对该后继文件进行预取,并确定对多少文件进行预取,其中在访问后继文件的概率乘积大于时,则提前从服务器预取该后继文件到本地。
2.根据权利要求1所述的预取方法,其特征在于,HTTP请求包括服务器的地址、用户的唯一标识符、以及用户选择文件的具体路径。
3.根据权利要求1所述的预取方法,其特征在于,步骤(10)包括以下子步骤:
(10-1)设置预取队列长度m为0。
(10-2)计算用户下一次选择的文件A后访问其后继文件B的概率其中FAB表示历史访问记录中访问文件A后访问A的后继文件B的总次数,FA表示历史访问记录中对文件A访问的总次数;
(10-3)判断是否有如是,则说明访问文件A后有50%以上的概率会访问A的后继文件B,将B加入预取队列,预取队列长度m加1,然后转步骤(10-4),否则返回步骤(10-1);
(10-4)计算后继文件B后访问其后续文件C的概率p2,方法同步骤(10-2);
(10-5)判断是否有若是则说明访问文件A后有50%以上的概率会基于文件列表访问A的后继文件B和C,并将C也加入预取队列,将预取长度m加1,并转步骤(10-6),否则转入步骤(10-7);
(10-6)重复执行上述步骤(10-5),直到p1*p2*...*pm-1>1/2且p1*p2*...*pm-1*pm<=1/2为止,此时预取队列长度为m-1;
(10-7)依次对预取队列中的文件进行预取;
(10-8)判断预取到的所有文件接下来是否被用户按顺序访问,若是则说明预取正确,过程结束,否则说明预取有误,然后返回步骤(10-1)。
4.一种移动云存储环境下缓存数据的预取系统,其是设置在移动终端中,其特征在于,所述系统包括:
第一模块,用于接收用户请求,根据该用户请求向服务器请求文件列表,并将该文件列表显示给用户。
第二模块,用于在用户从文件列表中选择文件后判断用户选择的文件 是否存在于移动终端的缓存中,若存在则进入第三模块,否则进入第四模块;
第三模块,用于直接从移动终端的缓存中提取用户选择的文件,然后进入第六模块;
第四模块,用于向服务器发送HTTP请求,该HTTP请求中携带有与用户选择的文件对应的URL信息;
第五模块,用于从服务器接收与该URL信息对应的文件,该文件就是用户选择的文件;
第六模块,用于判断用户选择的文件是否存在有历史访问记录,如果没有则转入第七模块,如果有则转入第十模块;
第七模块,用于设置计数器n=1;
第八模块,用于预取用户选择文件的n个后继文件;
第九模块,用于判断该后继文件接下来是否被用户访问过,如果是则将预取的后继文件个数n加1,然后继续重复执行第八模块,直至所有的后继文件都被预取完或用户停止访问该文件为止,否则返回第七模块;
第十模块,用于通过计算访问该文件的后继文件的概率来确定是否对该后继文件进行预取,并确定对多少文件进行预取,其中在访问后继文件的概率乘积大于时,则提前从服务器预取该后继文件到本地。