[发明专利]一种基于网络的邮件读取方法在审
申请号: | 201510145343.1 | 申请日: | 2015-03-30 |
公开(公告)号: | CN104735152A | 公开(公告)日: | 2015-06-24 |
发明(设计)人: | 罗阳;陈虹宇;王峻岭 | 申请(专利权)人: | 四川神琥科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 郭霞 |
地址: | 610041 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 网络 邮件 读取 方法 | ||
1.一种基于网络的邮件读取方法,其特征在于,包括:
将到达客户端的应用请求转换为配置数据请求或者数据内容请求,触发客户端的事件驱动层,然后通过数据传输层将请求远程发送给服务器端的数据传输层,服务器端收到请求后将请求传送给事件处理层进行数据读写;
所述客户端通过缓存来存储服务器邮件的配置数据信息和数据内容信息,同时利用RAM和数据库永久存储来缓存所述配置数据,其中将正在引用的配置数据缓存在RAM中,并且在RAM中维护配置数据的引用计数,当引用计数变为0时,将配置数据从RAM中替换出去,并永久存储到数据库中。
2.根据权利要求1所述的方法,其特征在于,所述客户端通过缓存来存储服务器邮件的配置数据信息和数据内容信息,进一步包括:
在系统初始时设置配置数据的超期时间,在每次从服务器端获得配置数据信息时,记录当时的系统时间,当访问配置数据时,通过系统当前时间与从服务器端获得配置数据时记录的系统时间进行比较,如果两者的差值小于设定的超期时间,则认为配置数据有效,直接从缓存中获取配置数据;否则认为配置数据失效,重新从服务器端获得配置数据;
采取如下方式确定客户端缓存中数据内容的有效性:如果其配置数据有效,则认为其缓存中的数据有效;如果其配置数据失效,待重新远程获得配置数据后,通过比较缓存中已失效配置数据的修改时间与新获得配置数据的修改时间是否相同进行判定,如果相同则认为缓存中数据内容有效;否则认为缓存中的数据已经失效,并将客户端缓存中的数据删除;如果在客户端发生了写操作,在客户端的写过程直接将数据写到客户端本地缓存中,并将写片段的状态标记为脏,向上层应用返回写操作成功;
在系统初始时设定缓存空间的上限阈值和下限阈值,并设计清理线程,该线程默认处于休眠状态,在系统运行过程中一旦检测到缓存容量达到设定的上限阈值,则唤醒清理线程,释放已占用的缓存空间以保证缓存空间在设定的阈值范围内。
3.根据权利要求2所述的方法,其特征在于,所述唤醒清理线程,释放已占用的缓存空间,进一步包括:
所述唤醒清理线程首先删除被替换到数据库中的对象所占用的数据缓存,如果此时剩余缓存空间达到下限阈值,则线程转入休眠状态;否则继续根据对象的访问时间,删除驻留在RAM中的对象对应的数据缓存,直到剩余缓存空间达到下限阈值,然后线程转入休眠状态,替换到数据库中的对象按照访问时间从小到大排序,在RAM中对象则根据访问时间进行LRU排序,在删除缓存数据过程中,若存在脏数据,则需要先将对应的脏数据刷新到服务器端,再释放对应的缓存空间。
4.根据权利要求3所述的方法,其特征在于,还包括:在客户端收到读请求后根据读请求的片段信息查询客户端缓存,确定对应的数据缓存是否存在,如果存在则直接从缓存中读取,否则从服务器端读取,读取后将对应的数据以及片段信息缓存在客户端,以便后续的读请求继续访问;
采用片段数据缓存,每个片段都对应着<offset,size>二元组,其中offset代表文件数据在邮件中的偏移位置,size代表缓存中该片段的大小;
通过节点访问相应对象的配置数据和文件数据,节点与文件/目录一一对应,所述文件数据的缓存存在3种状态:清洁状态、脏状态以及锁定状态;所述清洁状态表明缓存数据与服务器端的源数据完全一致;所述脏状态表明客户端对缓存文件发生过写操作而没有将脏数据刷新到服务器端;所述锁定状态表明客户端正在将脏数据刷新到服务器端;
数据节点被创建时,节点处于清洁状态,此时对该节点执行读操作不会改变节点的状态,但对该节点执行写操作会使节点处于脏状态;当节点处于脏状态时,对该节点的读/写操作均不会修改节点的状态,但对该节点执行刷新操作时,则会使节点处于锁定状态;当节点处于锁定状态时,对该节点执行读操作不修改节点的状态,当刷新操作完成后并且在数据刷新期间没有被修改,则节点会变为清洁状态,否则节点会再次进入脏状态;上述刷新操作是指将客户端对数据的修改同步到服务器端的过程,在刷新数据到服务器端的过程中,按照对应的片段信息读取客户端缓存中的脏数据,并将数据通过web写到服务器端,该过程结束后,将节点的状态标识为清洁状态,即此时该节点对应的缓存数据与服务器端源数据是一致的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川神琥科技有限公司;,未经四川神琥科技有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510145343.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能用电信息采集终端的规约转换方法
- 下一篇:一种远端文件读取方法及系统