一种基于缓存的数据存储系统及方法

文档序号:6587237阅读:223来源:国知局
专利名称:一种基于缓存的数据存储系统及方法
一种基于缓存的数据存储系统及方法
技术领域
本发明涉及适用于J2EE分布式平台采集数据存储领域,特别涉及一种基于缓存的数据存 储系统及方法。
背景技术
在采用J2EE分布式大型数据应用系统中,系统的各个应用模块可能安装在不同的应用服 务器中,如果系统是按正常的流程直接将数据存储到数据库中,而当由于某些原因造成系统 应用模块之间的网络连接异常或是应用服务器异常不能进行数据存储,这样就会造成已采集 数据不能正常及时的保存至数据库中,造成数据的缺失,从而影响了数据存储的完整性。而 且在系统从网络异常或软件异常中恢复正常后,系统又要对缺失数据进行重复的采集存储抄 作,从而降低了效率。
发明内容
为了解决现有技术J2EE分布式大型数据应用系统已采集数据不能正常及时的保存至数据 库中,造成数据的缺失,影响数据存储的完整性,从网络异常或软件异常中恢复正常后,系 统又要对缺失数据进行重复的采集存储抄作,降低效率的技术问题,本发明提供了一种基于 缓存的数据存储系统及方法。
本发明解决现有技术存在的技术问题所采用的技术方案是提供一种基于缓存的数据存 储系统。所述基于缓存的数据存储系统包括用于检测连接至应用服务器的网络或应用服务 器异常的第一检测单元;用于对采集客户端的数据进行磁盘缓存的第一磁盘文件缓存单元; 用于数据存储或处理的应用服务器;所述第一检测单元分别与第一磁盘文件缓存单元及应用 服务器连接,所述第一磁盘文件缓存单元与应用服务器连接。
根据本发明所述的基于缓存的数据存储系统一优选技术方案所述基于缓存的数据存储 系统进一步包括用于检测连接至数据库的网络或数据库异常的第二检测单元;用于对应用 服务器输出的数据进行磁盘缓存的第二磁盘文件缓存单元;和用于数据存储的数据库;所述 第二检测单元分别与第二磁盘文件缓存单元及数据库连接,所述第二磁盘文件缓存单元与数 据库连接。
根据本发明所述的基于缓存的数据存储系统一优选技术方案所述基于缓存的数据存储系统进一步包括用于对采集客户端的数据进行内存空间缓存的第一内存缓存单元和用于对 应用服务器输出的数据进行内存空间缓存的第二内存缓存单元;所述第一内存缓存单元连接
于第一检测单元与应用服务器之间,所述第二内存缓存单元连接于第二检测单元与数据库之 间。
根据本发明所述的基于缓存的数据存储系统一优选技术方案所述基于缓存的数据存储 系统采用J2EE平台的JB0SS应用服务器或Weblogic应用服务器+0racle数据库或Sybase数据库 构成。
本发明提供一种基于缓存的数据存储方法。所述基于缓存的数据存储方法包括以下步骤 :第一步.将采集客户端的数据送入磁盘文件缓存单元进行磁盘缓存;第二步.将磁盘文件 缓存的数据送入应用服务器处理、存储。
根据本发明所述的基于缓存的数据存储方法一优选技术方案所述第一步的详细步骤如 下检测连接至存储单元的网络或存储单元是否异常,如果连接至存储单元的网络或存储单 元正常,则将采集客户端的数据直接送入存储单元;如果连接至存储单元的网络或存储单元 发生异常,则将采集客户端的数据送入磁盘文件缓存单元进行磁盘缓存;所述第二步的详细 步骤如下如果连接至存储单元的网络或存储单元恢复正常,则将磁盘文件缓存单元的数据 送入存储单元存储。
根据本发明所述的基于缓存的数据存储方法一优选技术方案所述第一步进一步包括 在采集客户端的数据存入应用服务器前,对采集客户端的数据进行内存空间缓存的步骤。
根据本发明所述的基于缓存的数据存储方法一优选技术方案所述基于缓存的数据存储 方法进一步包括以下步骤第三步.将应用服务器输出的数据送入磁盘文件缓存单元进行磁 盘文件缓存;第四步.将磁盘文件缓存的数据送入数据库。
根据本发明所述的基于缓存的数据存储方法一优选技术方案所述第三步的详细步骤如 下检测连接至数据库的网络或数据库是否异常,如果连接至数据库的网络或数据库正常, 则将应用服务器输出的数据直接送入数据库;如果连接至数据库的网络或数据库发生异常, 则将应用服务器输出的数据送入磁盘文件缓存单元进行磁盘文件缓存;所述第四步的详细步 骤如下如果连接至数据库的网络或数据库恢复正常,则将磁盘文件缓存单元的数据送入数 据库。
根据本发明所述的基于缓存的数据存储方法一优选技术方案所述第三步进一步包括 在应用服务器输出的数据存入数据库前,对应用服务器输出的数据进行内存缓存的步骤。
采用上述系统及方法时,通过在数据采集客户端和应用服务器端增加了数据缓存操作,在数据传送至下一步之前先进行一步缓存操作,如果出现应用服务器异常或网络产生异常的 情况下能将已采集到的数据保存在缓存中,而当整个系统恢复正常运行后,系统又能同步的 从缓存中取出数据进行正常的存储操作,避免了因为异常造成的数据存储缺失及系统恢复正 常后重复采集数据的问题,从而最大限度的保证已采集数据存储的完整性,避免了重复操作 数据工作提高了效率。

图l是本发明实施例基于缓存的数据存储系统的结构框架示意图; 图2是本发明实施例基于缓存的数据存储方法的流程示意图; 图3是本发明实施例基于缓存的数据存储方法的系统结构示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细说明。
本发明的通过对系统中不同的应用模块实施不同的数据缓存方式来保证已采集到的数据 能正常的存储到数据库中,避免因为网络异常原因或是应用服务器异常造成的已采集的数据 不能正常存储到数据库而丢失的问题。最大程度的保证了系统在出现问题恢复后对数据重复 采集问题。
参照图l,图l是本发明实施例基于缓存的数据存储系统的结构框架示意图。本实施例 中,所述基于缓存的数据存储系统包括用于检测连接至应用服务器的网络或应用服务器异
常的第一检测单元101;用于对采集客户端的数据进行内存缓存的第一内存缓存单元107;用 于对采集客户端的数据进行磁盘缓存的第一磁盘文件缓存单元102;用于数据存储或处理的 应用服务器103;用于检测连接至数据库的网络或数据库异常的第二检测单元104;用于对应 用服务器输出的数据进行内存缓存的第二内存缓存单元108;用于对应用服务器输出的数据 进行磁盘缓存的第二磁盘文件缓存单元105;和用于数据存储的数据库106;所述第一检测单
元IOI、第一内存缓存单元107、应用服务器103、第二检测单元104、第二内存缓存单元108 及数据库106依次连接,所述第一磁盘文件缓存单元102分别与第一检测单元101和应用服务 器103连接,所述第二磁盘文件缓存单元105分别与第二检测单元104和数据库106连接。
参照图2,图2是本发明实施例基于缓存的数据存储方法的流程示意图。如图2所示所 述基于缓存的数据存储方法包括以下步骤第一步.将采集客户端的数据送入磁盘文件缓存 单元进行磁盘缓存;第二步.将磁盘文件缓存的数据送入应用服务器处理、存储,第三步. 将应用服务器输出的数据送入磁盘文件缓存单元进行磁盘文件缓存;第四步.将磁盘文件缓 存的数据送入数据库。
6其中,所述第一步具体为检测连接至存储单元的网络或存储单元是否异常,如果连接 至存储单元的网络或存储单元正常,则将采集客户端的数据直接送入存储单元;如果连接至
存储单元的网络或存储单元发生异常,则将采集客户端的数据送入磁盘文件缓存单元进行磁
盘缓存,其中,所述第一步进一步包括在采集客户端的数据存入应用服务器前,对采集客 户端的数据进行内存空间缓存的步骤。
所述第二步具体为如果连接至存储单元的网络或存储单元恢复正常,则将磁盘文件缓 存单元的数据送入存储单元存储。
所述第三步具体为检测连接至数据库的网络或数据库是否异常,如果连接至数据库的 网络或数据库正常,则将应用服务器输出的数据直接送入数据库;如果连接至数据库的网络 或数据库发生异常,则将应用服务器输出的数据送入磁盘文件缓存单元进行磁盘文件缓存, 其中,所述第三步进一步包括在应用服务器输出的数据存入数据库前,对应用服务器输出 的数据进行内存缓存的步骤。
所述第四步具体为如果连接至数据库的网络或数据库恢复正常,则将磁盘文件缓存单 元的数据送入数据库。
本实施例中,在对采集到的数据进行正常的处理过程中,如果采集客户端连接至应用服 务器的网络正常并且应用服务器运行正常,采集数据的客户端首先会将数据缓存至内存空间 中,再同步从内存空间中取出数据通过EJB上送至应用服务器,再由应用服务器进行数据处 理。如果采集客户端连接至应用服务器的网络异常或是应用服务器本身运行异常,则采集数 据客户端会首先将数据写入到预先指定好的数据文件中进行保存, 一旦当网络恢复正常连接 或是应用服务器恢复正常运行,再从采集客户端会同步从数据文件中取出数据通过EJB上送
至应用服务器,再由应用服务器进行数据处理。当应用服务器接收到由采集客户端上送过来 的数据,按照正常的数据流程,如果应用服务器连接至数据库的网络连接正常,应用服务器 会首先将数据缓存至内存空间中,再同步从内存空间中取出数据存储至数据库中。如果连接 至数据库的网络连接异常,应用服务器会同步将从采集客户端中接收到的数据写入到指定的 数据文件中进行存储,当连接至数据库的网络恢复正常连接,应用服务器会自动重连至数据 库,并同步在数据文件中取出数据存储至数据库中。
采用上述系统及方法时,通过在数据采集客户端和应用服务器端增加了数据缓存操作, 在数据传送至下一步之前先进行一步缓存操作,如果出现应用服务器异常或网络产生异常的 情况下能将已采集到的数据保存在缓存中,而当整个系统恢复正常运行后,系统又能同步的 从缓存中取出数据进行正常的存储操作,避免了因为异常造成的数据存储缺失及系统恢复正常后重复采集数据的问题,从而最大限度的保证已采集数据存储的完整性,避免了重复操作 数据工作提高了效率。
参照图3,图3是本发明实施例基于缓存的数据存储方法的结构示意图。
如图3所示第一步.将采集客户端输入数据进行缓存。第二步.将采集客户端缓存数据 发送到应用服务器进行缓存。第三步.从应用服务缓存数据中取出数据进行数据库存储
所述第一步及第二步具体为采集客户端200检测连接应用服务器500之间的网络连接是 否正常或是应用服务器500运行是否正常,如果网络连接和应用服务器运行正常则首先进行 内存空间缓存301,然后从内存空间缓存301中取出数据通过EJB接口400发送到应用服务器 500进行处理。如果网络连接不正常或应用服务器运行不正常,则进行磁盘文件缓存302,等 待网络连接恢复正常和应用服务器运行正常后,从磁盘文件缓存302中取出数据通过EJB数据 发送模块400发送到应用服务器500进行处理。
所述第二步具体为应用服务器500检测连接数据库的网络是否正常或是数据库600运行 是否正常,如果网络连接和数据库运行正常则首先在应用服务器500端进行内存缓存501,然 后从内存空间缓存501中取出数据存储至数据库600。如果网络连接不正常或是数据库运行异 常,则在应用服务器端500进行磁盘文件缓存502,等待网络恢复正常和数据库600运行正常 后,从磁盘文件缓存502中取数据存储到数据库600中。
以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明 的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本 发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种基于缓存的数据存储系统,其特征在于所述基于缓存的数据存储系统包括用于检测连接至应用服务器的网络或应用服务器异常的第一检测单元(101);用于对采集客户端的数据进行磁盘缓存的第一磁盘文件缓存单元(102);用于数据存储或处理的应用服务器(103);所述第一检测单元(101)分别与第一磁盘文件缓存单元(102)及应用服务器(103)连接,所述第一磁盘文件缓存单元(102)与应用服务器(103)连接。
2.根据权利要求l所述的基于缓存的数据存储系统,其特征在于所 述基于缓存的数据存储系统进一步包括用于检测连接至数据库的网络或数据库异常的第二检测单元(104);用于对应用服务器输出的数据进行磁盘缓存的第二磁盘文件缓存单元( 105);和用于数据存储的数据库(106);所述第二检测单元(104)分别与第二磁盘文件 缓存单元(105)及数据库(106)连接,所述第二磁盘文件缓存单元(105)与数据库(106 )连接。
3.根据权利要求2所述的基于缓存的数据存储系统,其特征在于所 述基于缓存的数据存储系统进一步包括用于对采集客户端的数据进行内存空间缓存的第一 内存缓存单元(107)和用于对应用服务器输出的数据进行内存空间缓存的第二内存缓存单 元(108);所述第一内存缓存单元(107)连接于第一检测单元(101)与应用服务器(103 )之间,所述第二内存缓存单元(108)连接于第二检测单元(104)与数据库(106)之间
4.根据权利要求3所述的基于缓存的数据存储系统,其特征在于所 述基于缓存的数据存储系统采用J2EE+JBOSS应用服务器或Weblogic应用服务器+Oracle数据 库或Sybase数据库构成。
5.一种基于缓存的数据存储方法,其特征在于所述基于缓存的数 据存储方法包括以下步骤a.将采集客户端的数据送入磁盘文件缓存单元进行磁盘缓存;b.将磁盘文件缓存的数据送入应用服务器处理、存储。
6.根据权利要求5所述的基于缓存的数据存储方法,其特征在于所 述基于缓存的数据存储方法的详细步骤如下a. 检测连接至存储单元的网络或存储单元是否异常,如果连接至存储单元的网络或存 储单元正常,则将采集客户端的数据直接送入存储单元;如果连接至存储单元的网络或存储 单元发生异常,则将采集客户端的数据送入磁盘文件缓存单元进行磁盘缓存;b. 如果连接至存储单元的网络或存储单元恢复正常,则将磁盘文件缓存单元的数据送 入存储单元存储。
7.根据权利要求6所述的基于缓存的数据存储方法,其特征在于所 述步骤a进一步包括在采集客户端的数据存入应用服务器前,对采集客户端的数据进行内存空间缓存的步骤。
8.根据权利要求5所述的基于缓存的数据存储方法,其特征在于所 述基于缓存的数据存储方法进一步包括以下步骤C.将应用服务器输出的数据送入磁盘文件缓存单元进行磁盘文件缓存;d.将磁盘文件缓存的数据送入数据库。
9.根据权利要求8所述的基于缓存的数据存储方法,其特征在于所 述步骤C具体为检测连接至数据库的网络或数据库是否异常,如果连接至数据库的网络或 数据库正常,则将应用服务器输出的数据直接送入数据库;如果连接至数据库的网络或数据 库发生异常,则将应用服务器输出的数据送入磁盘文件缓存单元进行磁盘文件缓存;所述步 骤d具体为如果连接至数据库的网络或数据库恢复正常,则将磁盘文件缓存单元的数据送 入数据库。
10.根据权利要求9所述的基于缓存的数据存储方法,其特征在于 所述步骤C进一步包括在应用服务器输出的数据存入数据库前,对应用服务器输出的数据 进行内存缓存的步骤。
全文摘要
本发明涉及一种基于缓存的数据存储系统及方法。所述系统包括用于检测连接至应用服务器的网络或应用服务器异常的第一检测单元;用于对采集客户端的数据进行磁盘缓存的第一磁盘文件缓存单元;用于数据存储或处理的应用服务器;所述第一检测单元分别与第一磁盘文件缓存单元及应用服务器连接,所述第一磁盘文件缓存单元与应用服务器连接。所述基于缓存的数据存储方法包括以下步骤第一步.将采集客户端的数据送入磁盘文件缓存单元进行磁盘缓存;第二步.将磁盘文件缓存的数据送入应用服务器处理、存储。本发明的系统及方法在发生网络服务异常情况下或程序某个模块发生异常时也不会影响到已采集数据的存储,保证了采集数据的完整性,提高了效率。
文档编号G06F12/08GK101576855SQ20091030345
公开日2009年11月11日 申请日期2009年6月19日 优先权日2009年6月19日
发明者利 张 申请人:深圳市科陆电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1