[发明专利]一种高并发SOA技术访问数据库的方法和系统有效
申请号: | 201310038549.5 | 申请日: | 2013-01-31 |
公开(公告)号: | CN103116627A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 马晓超 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 soa 技术 访问 数据库 方法 系统 | ||
1.一种高并发SOA技术访问数据库的方法,其特征在于,所述方法具体包括:
A:根据SOA访问量计算得出访问命中率高发的数据,并进行散列缓存,得到JSON格式的缓存数据;
B:将所述JSON格式的缓存数据散列存储在MAP集合中,并将所述MAP集合存储在内存或硬盘中;
C:缓存所述MAP集合中的所有的修改数据操作的缓存数据,并将所述修改数据操作的缓存数据持久化到数据库;
D:当用SOA技术调用服务时,根据表名称和查询条件在所述内存中查询是否有缓存数据,如果有则使用缓存技术修改数据操作,把所需修改的数据处理纳入缓存,调用结束后返回客户端,后台根据已存入的缓存进行同步持久化数据库处理;
E:清除缓存。
2.如权利要求1所述的方法,其特征在于,所述步骤A中进行散列缓存时编写JSON格式的结构的缓存,包括表操作K-V对、表数据条件K-V对和返回值数据K-V对;
其中的K代表对象的属性,V代表对应的属性值,所述表操作K-V对中的K为操作名称,V为操作的方式,分为增加数据、删除数据、修改数据和查询数据;
所述表数据条件K-V对中的K为条件名称,V为操作的条件,用拼接的字符串表示;
所述返回值数据K-V中的K为返回标记,V为返回数据的集合。
3.如权利要求1或2所述的方法,其特征在于,所述散列缓存具体包括:表结构有变化的缓存和表结构查询的缓存;
所述表结构有变化的缓存包括增加数据缓存、删除数据缓存和修改数据缓存,所述表结构查询的缓存即查询数据缓存。
4.如权利要求1所述的方法,其特征在于,所述步骤B中将所述MAP集合存储在内存或硬盘中具体包括:判断所述MAP集合中是否有缓存过程中生成的缓存名称,如果没有该条缓存的缓存名称则将其存入到所述MAP集合中;如果有则判断所述MAP集合中的数据量是否在系统内存负载范围内,如果是在系统内存负载范围内则将所述MAP集合缓存到所述系统内存中,否则将所述MAP集合缓存到系统硬盘中。
5.如权利要求1所述的方法,其特征在于,所述步骤E中的清除缓存具体包括:
E1:查询出所述步骤C中表数据条件K-V对中的条件名称,并移除所有包含所述条件名称的查询数据操作的缓存数据;
E2:移除所述步骤C中修改数据操作的缓存数据。
6.一种高并发SOA技术访问数据库的系统,其特征在于,所述系统具体包括:缓存数据获取模块、缓存操作模块、持久化模块、缓存处理模块和缓存清除模块;
所述缓存数据获取模块,用于根据SOA访问量计算得出访问命中率高发的数据,并进行散列缓存,得到JSON格式的缓存数据;
所述缓存操作模块,用于将所述JSON格式的缓存数据散列存储在MAP集合中,并将所述MAP集合存储在内存或硬盘中;
所述持久化模块,用于缓存所述MAP集合中的所有的修改数据操作的缓存数据,并将所述修改数据操作的缓存数据持久化到数据库;
所述缓存处理模块,用于当用SOA技术调用服务时,根据表名称和查询条件在所述内存中查询是否有缓存数据,如果有则使用缓存技术修改数据操作,把所需修改的数据处理纳入缓存,调用结束后返回客户端,后台根据已存入的缓存进行同步持久化数据库处理;
所述缓存清除模块,用于清除缓存。
7.如权利要求6所述的系统,其特征在于,所述缓存数据获取模块包括:第一缓存模块和第二缓存模块;
所述第一缓存模块用于表结构有变化的缓存,包括增加数据缓存、删除数据缓存和修改数据缓存;
所述第二缓存模块用于表结构查询的缓存,即查询数据缓存。
8.如权利要求6所述的系统,其特征在于,所述缓存操作模块包括:第一判断模块、存入模块、第二判断模块、缓存至内存模块和缓存至硬盘模块;
所述第一判断模块,用于判断所述MAP集合中是否有缓存过程中生成的缓存名称,如果没有该条缓存的缓存名称则进入所述存入模块,如果有则进入第二判断模块;
所述存入模块,用于所述缓存存入到所述MAP集合中,如果是在系统内存负载范围内则进入所述缓存至内存模块,否则进入所述缓存至硬盘模块;
所述缓存至内存模块,用于将所述MAP集合缓存到所述系统内存中;
所述缓存至硬盘模块,用于将所述MAP集合缓存到所述系统硬盘中。
9.如权利要求6所述的系统,其特征在于,所述清除缓存模块包括:第一移除模块和第二移除模块;
所述第一移除模块,用于查询出所述持久化模块中表数据条件K-V对中的条件名称,并移除所有包含所述条件名称的查询数据操作的缓存数据;
所述第二移除模块,用于移除所述持久化模块中修改数据操作的缓存数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310038549.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提炼动物油脂的防爆框
- 下一篇:一种静电负反馈除色污染装置