[发明专利]一种高并发SOA技术访问数据库的方法和系统有效
申请号: | 201310038549.5 | 申请日: | 2013-01-31 |
公开(公告)号: | CN103116627A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 马晓超 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 soa 技术 访问 数据库 方法 系统 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种高并发SOA技术访问数据库的方法和系统。
背景技术
SOA(Service-Oriented Architecture,面向服务的体系结构)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。SOA是云计算访问处理数据的业内流行的解决方案,是以处理业务上分散的数据为目标的。如果根据SOA访问量计算无需大规模的遍历,CPU负载非常小。可以利用散列方式,编写JSON格式的数据。JSON(JavaScript Object Notion)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
现有技术中采用客户端系统访问数据,利用ORM(Object Relation Mapping,对象关系映射)实时更新服务端发布的数据。但是由于SOA中各个客户端系统的相对独立性,信息待送的延迟性以及资源动态共享的复杂性,经常导致服务发布端的数据死锁现象与长任务数据处理带来的性能开销的发生,从而使整个系统的性能极大的下降,甚至导致系统PV(Page View,页面浏览量)值过大而导致的系统崩溃。
现有技术主要存在以下缺陷:
1.高并发频繁访问一个业务节点在云计算中是很常见的,由于既定的数据库吞吐量和并发访问造成了数据库的效率极其低下,甚至会造成数据死锁,给系统造成灾难性的毁灭。
2.增加了额外维护的成本,需要实时监测数据库的运行状态,单独的业务程序进行处理数据库死锁和高并发压力的负载。
3.ORM产品的缓存列表一旦出现对表结构的修改会清理缓存,大大降低了缓存的命中率,系统性能没有得到显著的提升。
发明内容
(一)要解决的技术问题
针对上述缺陷,本发明要解决的技术问题是如何解决高并发SOA技术访问数据库带来的数据死锁的问题,以及避免系统高性能访问数据带来的性能消耗,提高缓存的有效命中率。
(二)技术方案
为解决上述问题,本发明提供了一种高并发SOA技术访问数据库的方法,所述方法包括:
A:根据SOA访问量计算得出访问命中率高发的数据,并进行散列缓存,得到JSON格式的缓存数据;
B:将所述JSON格式的缓存数据散列存储在MAP集合中,并将所述MAP集合存储在内存或硬盘中的.
C:缓存所述MAP集合中的所有的修改数据操作的缓存数据,并将所述修改数据操作的缓存数据持久化到数据库;
D:当用SOA技术调用服务时,根据表名称和查询条件在所述内存中查询是否有缓存数据,如果有则使用缓存技术修改数据操作,把所需修改的数据处理纳入缓存,调用结束后返回客户端,后台根据已存入的缓存进行同步持久化数据库处理;
E:清除缓存。
优选地,进行散列缓存时编写JSON格式的结构的缓存,包括表操作K-V对、表数据条件K-V对和返回值数据K-V对;
其中的K代表对象的属性,V代表对应的属性值,所述表操作K-V对中的K为操作名称,V为操作的方式,分为增加数据、删除数据、修改数据和查询数据;
所述表数据条件K-V对中的K为条件名称,V为操作的条件,用拼接的字符串表示;
所述返回值数据K-V中的K为返回标记,V为返回数据的集合。
优选地,所述散列缓存具体包括:表结构有变化的缓存和表结构查询的缓存;
所述表结构有变化的缓存包括增加数据缓存、删除数据缓存和修改数据缓存,所述表结构查询的缓存即查询数据缓存。
优选地,所述步骤B中将所述MAP集合存储在内存或硬盘中。具体包括:判断所述MAP集合中是否有缓存过程中生成的缓存名称,如果没有该条缓存的缓存名称则将其存入到所述MAP集合中;如果有则判断所述MAP集合中的数据量是否在系统内存负载范围内,如果是在系统内存负载范围内则将所述MAP集合缓存到所述系统内存中,否则将所述MAP集合缓存到系统硬盘中。
优选地,所述步骤E中的清除缓存具体包括:
E1:查询出所述步骤C中表数据条件K-V对中的条件名称,并移除所有包含所述条件名称的查询数据操作的缓存数据;
E2:移除所述步骤C中修改数据操作的缓存数据。
为解决上述问题,本发明还提供了一种高并发SOA技术访问数据库的系统,所述系统包括:
缓存数据获取模块、缓存操作模块、持久化模块、缓存处理模块和缓存清除模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310038549.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提炼动物油脂的防爆框
- 下一篇:一种静电负反馈除色污染装置