[发明专利]数据输出方法及装置有效
申请号: | 201210371896.5 | 申请日: | 2012-09-28 |
公开(公告)号: | CN102929943A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 张艳伟 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 梁军 |
地址: | 300457 天津市滨海新区第一大*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 输出 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据输出方法及装置。
背景技术
在现有技术中,普通网页在处理时会尽可能的减少输出内容,以确保良好的用户体验,但是,在进行大数据量的网页输出时,例如,团购导航输出的数据量会随团购业务的不断扩展而逐步增加。如何保证数据的高时效性,减少输出时间,保证系统的高可靠性,是急需解决的问题。
目前,在现有技术中,在网页输出数据量比较少的情况下,读取缓存时,会判断缓存状态,如果失效或不存在,将访问数据库获取新数据,并同时更新缓存。
在输出数据量比较少时,这种解决方案是可以接受的,但当输出数据量不断增加后,输出消耗总时间显著增加,缓存访问并发访问次数增大,尤其是遇到并发访问加大时,同时缓存又失效,系统随时有宕机的可能性。
发明内容
本发明提供一种数据输出方法及装置,以在进行大数据量的网页输出时,保证数据的高时效性,减少输出时间,保证系统的高可靠性。
本发明提供一种数据输出方法,包括步骤1和步骤2,其中,步骤1和步骤2为异步操作,具体地:步骤1,获取数据输出请求,判断预先设置的存储空间中是否存在相应合法的输出数据,如果存在,则发送输出数据,如果不存在,则判断预先设置在预定服务器中的数据文件中是否存在相应合法的输出数据;如果数据文件中存在该输出数据,则从数据文件中获取该输出数据并发送,如果数据文件中不存在该输出数据,则从数据库中读取该输出数据并发送,并根据从数据库中读取的输出数据异步更新存储空间以及数据文件;步骤2,根据预先设置的缓存时间戳、以及存储在存储空间中的哈希表判断保存在存储空间和/或数据文件中的各个输出数据是否处于有效期内,如果判断为否,则从数据库中读取相应的输出数据,并根据从数据库中读取的输出数据更新存储空间和/或数据文件,如果判断为是,结束操作,其中,哈希表中包括:各个输出数据的标识信息和最后更新时间。
优选地,存储空间具体包括:内存、以及分布式缓存;缓存时间戳为预先设置的更新时间间隔;哈希表存储在内存中。
优选地,步骤1具体包括:步骤100,根据缓存时间戳、以及哈希表判断内存中是否存在相应合法的输出数据,如果存在,执行步骤107,否则,执行步骤101;步骤101,根据缓存时间戳、以及哈希表判断分布式缓存中是否存在相应合法的输出数据,如果存在,执行步骤107,否则,执行步骤103;步骤103,根据缓存时间戳、以及哈希表判断数据文件中是否存在相应合法的输出数据,如果存在,执行步骤107,否则,执行步骤104;步骤104,从数据库中读取相应的输出数据,判断输出数据是否合法,如果合法,则执行步骤105,否则,结束操作;步骤105,判断输出数据是否已发送,如果判断为是,异步执行步骤106,否则,执行步骤107;步骤106,跟据从数据库中读取的输出数据更新存储空间以及数据文件;步骤107;发送输出数据。
优选地,根据缓存时间戳、以及哈希表判断内存、分布式缓存或数据文件中是否存在相应的合法的输出数据具体包括:根据输出数据的标识信息判断内存、分布式缓存、或数据文件中是否存在相应的输出数据;如果存在,则从内存中读取哈希表,并根据标识信息查询哈希表,获取相应的输出数据的最后更新时间;将最后更新时间加上缓存时间戳,获取时间和,将时间和与当前时间进行比较,如果时间和小于或等于当前时间,则确定输出数据不合法;如果时间和大于当前时间,则确定输出数据合法。
优选地,步骤106具体包括:步骤1061,启动同步锁机制,其中,同步锁机制为:在同一时间内,只允许一个线程更新存储空间以及数据文件中相应的输出数据,其他线程等待;步骤1062,判断输出数据的大小是否大于或等于预先设置的阈值,如果判断为是,执行步骤1603,否则,执行步骤1604;步骤1603,根据从数据库中读取的输出数据更新内存,执行步骤1605;步骤1604,根据从数据库中读取的输出数据更新分布式缓存,执行步骤1605;步骤1605,根据从数据库中读取的输出数据更新数据文件。
优选地,根据预先设置的缓存时间戳、以及存储在存储空间中的哈希表判断保存在存储空间和/或数据文件中的各个输出数据是否处于有效期内具体包括:从内存中读取哈希表,获取各个输出数据的标识信息和最后更新时间;将最后更新时间加上缓存时间戳,获取时间和,将时间和与当前时间进行比较,如果时间和小于或等于当前时间,则确定与标识信息相对应的输出数据已不在有效期内,需要进行更新;如果时间和大于当前时间,则确定与标识信息相对应的输出数据在有效期内,不需要进行更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210371896.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据同步方法、装置及系统
- 下一篇:数据处理的方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置