法律状态公告日
法律状态信息
法律状态
2023-02-28
未缴年费专利权终止 IPC(主分类):G06F17/30 专利号:ZL2009100258633 申请日:20090311 授权公告日:20110427
专利权的终止
2011-04-27
授权
授权
2009-09-30
实质审查的生效
实质审查的生效
2009-08-05
公开
公开
技术领域
本发明涉及计算机技术领域的数据缓冲技术,应用于数据共享平台对外服务的提供,用于解决各部门对于调用操作型数据存储ODS对外服务的性能要求,为一种用于数据共享平台的构建缓冲的方法。
背景技术
操作型数据存储ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和联机事务处理OLTP系统的部分特征,它是面向主题的、集成的、当前或接近当前的、不断变化的数据。
目前现有的数据共享服务的缓冲构建都是单节点、按单主机缓冲,一般都在数据提供服务的5个节点的第4个节点提供缓冲,也就是在数据库访问层提供缓冲,这只能满足少量服务调用,而无法满足多用户并发和大数据量调用性能的要求,这样在数据共享平台下,现有的缓冲构建就不能满足各部门对于调用操作型数据存储ODS对外服务的性能要求。
发明内容
本发明要解决的问题是:传统缓冲无法满足多用户并发和大数据量调用性能的要求,针对各部门对于调用ODS对外服务的性能要求,提出一种基于SOA架构的构建缓冲的方法。
本发明的技术方案为:用于数据共享平台的构建缓冲的方法,建立基于SOA的系统架构,系统架构由Apache前端、Java应用程序模块、SOA服务器和数据库组成,Apache前端连接Java应用程序模块,Java应用程序模块远程连接SOA服务器,SOA服务器连接数据库,然后按以下步骤进行缓冲:
A.采用分布式的缓冲方案,对架构中的四个模块和SOA服务器与数据库间的连接分别进行缓冲;
B.对四个模块和SOA服务器与数据库间的连接实施缓冲数据策略,分析每个数据服务,统计出不同数据重复利用的频率,按照数据高低进行排序,优先选择一部分重复频率高的资源;
C.针对缓冲对象选择数据资源颗粒度,依据资源的特点考虑,对业务较复杂的聚集对象选择小颗粒度的缓冲,相反就选择大颗粒度的缓冲;
D.针对业务逻辑实施资源过期策略,缓冲在各缓存中的数据对象,采用针对业务的过期策略,分配不同的过期时间;
E.对每台服务器的数据量的评估:对每台服务器缓冲多少数据、缓冲对象的大小、资源活跃度进行评估;对于远程缓冲,依据内存、缓冲对象的大小、压缩率、KEY分布的均衡度等进行评估;
F.网络流量评估:在远程环境下必须评估网络流量,评估公式为:缓冲对象尺寸×每秒访问次数;
G.进行资源序列化。
本发明分布式的缓冲方案为:在Apache前端采用Apache相关的缓冲扩展;在其它三个模块和SOA服务器与数据库间的连接使用分布式缓存系统MemCached:对于Java应用程序模块,缓存Web页面,业务数据对象;对于SOA服务器,缓存业务数据对象,服务相关配置信息,数据路由规则;对于SOA服务器与数据库间的连接,实现通用数据反问层,实现统一数据源查询,业务数据对象在这里也进行缓存;对于数据库模块,增加服务器内存,调整数据库缓冲,调整数据库本身的特性。
本发明对于Java应用程序模块和SOA服务器,在Java应用程序模块设置本地缓冲集群,完全缓冲整个对象关系,使用分布式缓存系统MemCached实现,SOA服务器采用缓冲群,设置多个缓存,即Cache+Cache集群,分别完全缓冲各个对象。
本发明资源序列化为Java领域的资源序列化,包括Java序列化、资源对象内部、资源对象内部的数据属性和对象序列化。
本发明针对数据共享服务提供的5个节点的特性,相应提供不通策略的缓冲,比如在web层,缓冲web页面,在SOA层和java程序层提供Cache集群,缓冲java序列对象;在整体数据共享平台上,采用了分布式缓冲,可以有效的使缓冲服务器和应用服务器分离,降低了应用服务器负载。本发明每台服务器的缓存都有高效的数据量和网络流量等评估,便于资源序列化。本发明在两台缓存分布式服务器的情况下,能够对web访问性能提高100%访问速度;能够对ODS对外服务并发性能提高2-3倍。
附图说明
图1为本发明建立的基于SOA的系统架构。
图2为本发明分布式缓冲方案的实施示意图。
具体实施方式
如图1,数据共享服务提供了1—5五个节点,本发明首先建立基于SOA的系统架构,系统架构由Apache前端、Java应用程序模块、SOA服务器和数据库组成,Apache前端连接Java应用程序模块,Java应用程序模块远程连接SOA服务器,SOA服务器连接数据库。
下面结合图2说明本发明的构建缓冲方法:
A.采用分布式的缓冲方案,对架构中的四个模块和SOA服务器与数据库间的连接分别进行缓冲:在Apache前端采用Apache相关的缓冲扩展;在其它三个模块和SOA服务器与数据库间的连接使用分布式缓存系统MemCached:对于Java应用程序模块,缓存Web页面,业务数据对象;对于SOA服务器,缓存业务数据对象,服务相关配置信息,数据路由规则;对于SOA服务器与数据库间的连接,实现通用数据反问层,实现统一数据源查询,业务数据对象在这里也进行缓存;对于数据库,增加服务器内存,调整数据库缓冲,调整数据库本身的特性实现性能的提升;其中,对于Java应用程序模块和SOA服务器,在Java应用程序模块设置本地缓冲集群,完全缓冲整个对象关系,使用分布式缓存系统MemCached实现,SOA服务器采用缓冲群,设置多个缓存,即Cache+Cache集群,分别完全缓冲各个对象;
B.对四个模块和SOA服务器与数据库间的连接实施缓冲数据策略,对每个数据服务的分析,统计出不同数据重复利用的频率,按照数据高低进行排序,优先选择一部分重复频率搞的资源;
C.针对缓冲对象选择数据资源颗粒度,依据资源的特点考虑,对业务较复杂的聚集对象选择小颗粒度的缓冲,相反就选择大颗粒度的缓冲;
D.针对业务逻辑实施资源过期策略,缓冲在各缓存中的数据对象采用针对业务的过期策略,分配不同的过期时间;
E.对每台服务器的数据量的评估:对每台服务器缓冲多少数据、缓冲对象的大小、资源活跃度进行评估;对于远程缓冲,依据内存、缓冲对象的大小、压缩率、KEY分布的均衡度等进行评估;
F.网络流量评估:在远程环境下必须评估网络流量,评估公式为:缓冲对象尺寸×每秒访问次数;
G.进行资源序列化,资源序列化为Java领域的资源序列化,包括Java序列化、资源对象内部、资源对象内部的数据属性和对象序列化。
机译: 设置用于管接头定位器的缓冲器,用于管道的密封件以及在管道中定位纵向接缝的方法。要构建用于在管道中定位纵向接缝的装置以及一套用于管道的缓冲器和管道缓冲区
机译: 用于构建包括缓冲器状态报告的数据单元的设备和方法
机译: 用于可编程互连电路的电平恢复缓冲器及其构建方法