一种基于缓存技术的SaaS应用软件性能优化方法

文档序号:6486119阅读:474来源:国知局
专利名称:一种基于缓存技术的SaaS应用软件性能优化方法
技术领域
本发明涉及一种基于缓存技术的MaS应用软件性能优化方法,尤其是一种基于缓存技术的^aS应用软件性能优化方法,属于计算机网络通信领域。
背景技术
随着^aS和云计算技术的成熟和不断实践,越来越多的软件将从桌面平台移植到互联网这个广大的平台。软件即服务的理念将使网络应用变得越来越普及,人们在互联网上购买的将不仅仅是软件,更是一种服务。随着社会的发展,使用^aS应用服务的企业将会越来越多,针对那些在业务处理过程当中变化相对较少的数据,如用户权限,在传统的应用软件中,每次权限检查都涉及到用户,权限,角色的关联表查询,在传统的企业应用中这种查询做起来很简单,但是在MaS模型下,特别是Multi-Tenant架构下,SaaS应用并发度很高,几乎每个操作都涉及权限检查,数据库压力可想而知。本发明是基于MaS模式,针对目前MaS软件普遍存在的性能优化这一技术难题, 从利用数据缓存技术这一方面解决^aS应用系统的性能优化问题。使用者通过使用本系统,提高了数据库处理数据时的能力,减少了客户端与数据库进行交互的次数,缩短了用户查看页面的速度。显然,现有^aS应用系统的数据库处理数据时的能力较低,已经不能满足当今各个企业的要求。

发明内容
本发明的目的在于针对以上现有技术存在的不足,提出一种可以解决基于MaS 模式性能优化的管理软件,通过数据缓存组件,将数据库中被频繁读取而改动很少的数据存放到缓存里,从而减缓数据库压力,达到提高系统性能的效果。为了达到以上目的,本发明含有如下组件客户端运行软件一用于和客户端进行交互的软件终端系统;数据库-一用于存放系统要记录的数据信息;数据访问组件——用以访问数据库的数据;数据缓存组件一存放被频繁读取而改动很少的数据;数据库由以下部分组成用户表---记录所有的用户基础数据;数据缓存组件由以下几个方法组成StoreKey (String key)—存储对象(key);GetKey (String key)-—获取对象(key);ConnectToMemcached ()—与 Memcached 月艮务建立连接;用户使用步骤为步骤一使用客户端运行软件,新建所有用户信息,包括用户的用户名,姓名等等, 服务器运行软件将调用数据访问组件将用户基本信息保存到数据库的用户表中;
步骤二 使用客户端运行软件,调用缓存组件的CormectToMemcached ()方法,以开启一个单独的进程的方式与Memcached服务建立连接,相当于开启一个服务端 (Server),Memcached是以守护程序方式运行于服务器中,随时接受客户端(Client)的连接操作,Server监听本机的ip和本机的端口号,并且一旦启动,服务就一直处于可用状态。 Memcached进程运行之后,会预申请一块较大的内存空间,自己进行管理,用完之后再申请一块,而不是每次需要的时候去向操作系统申请;步骤三使用客户端运行软件,调用缓存组件的MoreKey (String key)方法进行存对象操作,每个被存的对象都有一个唯一的标识符key,存操作均通过这个key进行,保存的时候还可以设置有效期。保存在Memcached中的对象实际上是放置在内存中的,而不是在硬盘上;每个服务端(Server)只是对自己的数据进行管理。客户端(Client)通过指定服务端(Server)的ip地址,将需要缓存的对象或数据是以key->ValUe对的形式保存在服务端(Server);步骤四使用客户端运行软件,调用缓存组件的GetKey (String key)方法进行取对象操作,每个被取的对象都有一个唯一的标识符key,取操作均通过这个key进行,当需要获取对象数据时,客户端(Client)将key的值通过hash进行转换;通过获得的值可以确定它被保存在了哪个服务端(Server)上,然后再向该服务端(Server)发出请求,服务端 (Server)响应客户端(Client)的请求,将对象或数据传给请求的客户端(Client)。如此,本系统针对目前^aS软件普遍存在的性能优化这一技术难题,从利用数据缓存技术这一方面解决^aS应用系统的性能优化问题。使用者通过使用本系统,提高了数据库处理数据时的能力,减少了客户端与数据库进行交互的次数,缩短了用户查看页面的速度。
具体实施例方式实施例一使用MyEclipse 5. 5软件开发工具开发客户端和服务器运行软件,使用市场上专用的数据库管理工具,Oracle 9i建立系统所需要的数据库,采用MyEclipse 5. 5作为界面开发工具,具体方式为为了达到以上目的,本发明含有如下组件客户端运行软件一用于和客户端进行交互的软件终端系统;数据库-一用于存放系统要记录的数据信息;数据访问组件——用以访问数据库的数据;数据缓存组件一存放被频繁读取而改动很少的数据;数据库由以下部分组成用户表-一记录所有的用户基础数据;缓存组件由以下几个方法组成StoreKey (String key)—存储对象(key);GetKey (String key)—获取对象(key);ConnectToMemcached ()—与 Memcached 月艮务建立连接;用户使用步骤为
步骤一使用客户端运行软件,新建所有用户信息,包括用户的用户名,姓名等等, 服务器运行软件将调用数据访问组件将用户基本信息保存到数据库的用户表中;步骤二 使用客户端运行软件,调用缓存组件的CormectToMemcached ()方法,以开启一个单独的进程的方式与Memcached服务建立连接,相当于开启一个服务端 (Server),Memcached是以守护程序方式运行于服务器中,随时接受客户端(Client)的连接操作,Server监听本机的ip和本机的端口号,并且一旦启动,服务就一直处于可用状态。 Memcached进程运行之后,会预申请一块较大的内存空间,自己进行管理,用完之后再申请一块,而不是每次需要的时候去向操作系统申请;步骤三使用客户端运行软件,调用缓存组件的MoreKey (String key)方法进行存对象操作,每个被存的对象都有一个唯一的标识符key,存操作均通过这个key进行,保存的时候还可以设置有效期。保存在Memcached中的对象实际上是放置在内存中的,而不是在硬盘上;每个服务端(Server)只是对自己的数据进行管理。客户端(Client)通过指定服务端(Server)的ip地址,将需要缓存的对象或数据是以key->ValUe对的形式保存在服务端(Server);步骤四使用客户端运行软件,调用缓存组件的GetKey (String key)方法进行取对象操作,每个被取的对象都有一个唯一的标识符key,取操作均通过这个key进行,当需要获取对象数据时,客户端(Client)将key的值通过hash进行转换;通过获得的值可以确定它被保存在了哪个服务端(Server)上,然后再向该服务端(Server)发出请求,服务端 (Server)响应客户端(Client)的请求,将对象或数据传给请求的客户端(Client)。除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
权利要求
1.一种基于缓存技术的^aS应用软件性能优化方法,其特征在于在数据访问过程中, 将数据库中被频繁读取而改动很少的数据存放到预设置的数据缓存组件里,减少了客户端与数据库进行交互的次数,从而减缓数据库压力,缩短了用户查看页面的速度,达到提高系统性能的效果。
2.根据权利要求1所述一种基于缓存技术的^aS应用软件性能优化方法,其特征在于包含如下组件数据库,用以存放系统要记录的数据信息;数据访问组件,用以访问数据库的数据;缓存组件,用以存放被频繁读取而改动很少的数据。
全文摘要
本发明涉及一种基于缓存技术的应用软件性能优化方法,尤其是一种基于缓存技术的SaaS应用软件性能优化方法,属于计算机网络通信领域。在SaaS模式下,每次权限检查都涉及到用户,权限,角色的关联表查询,由此造成数据访问效率低下。本发明将数据库中被频繁读取而改动很少的数据存放到预设置的数据缓存组件里,减少了客户端与数据库进行交互的次数,从而减缓数据库压力,缩短了用户查看页面的速度,达到提高系统性能的效果。
文档编号G06F17/30GK102456011SQ20101051350
公开日2012年5月16日 申请日期2010年10月21日 优先权日2010年10月21日
发明者朱炜 申请人:镇江金软计算机科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1