混合数据存储的对象关系映射框架的设计与实现
这是一篇关于对象关系映射,混合存储,非关系数据库,分布式缓存的论文, 主要内容为随着企业应用的复杂度越来越高,需求变化越来越快,处理的数据模型越来越多样化,基于关系数据库开发的应用已经开始难以应对这样的变化。随着云计算以及非关系数据库的发展,越来越多的应用希望能够转向非关系数据库之上,但是这对于现有应用的迁移以及新开发应用的可维护性又提出了挑战。 对于透明化的处理在关系数据库和非关系数据库之上的数据持久化的操作是问题的关键,本研究首先分析非关系数据库Cassandra的数据模型和存储特性,然后结合已有的比较成熟的对象关系映射框架(Hibernate,iBatis,JPA,TopLink),设计并实现了一个混合存储的对象关系映射框架。 研究主要工作是通过对象关系映射的思想,对非关系数据库的数据持久化操作进行封装,从而实现非关系数据库的对象关系映射。然后,在此基础之上,结合已经成熟的Hibernate框架,使得整个框架能够支持对混合存储的操作的封装。最后,为了在SaaS应用的特殊环境下提高基于该对象关系映射框架的应用的性能,使用分布式缓存Memcached作为ORM框架的全局二级缓存,利用分散在各个服务器上的空闲内存资源来缓存应用的查询结果,从而提高SaaS应用的性能。 本研究还对混合数据存储的对象关系框架进行了一系列的功能、性能方面的测试。功能测试使用划分等价类的方式测试了JPA标准可能处理的26种对象关系,整个框架工作正常。性能测试结果指出在查询的时候使用全局缓存的ORM框架能够得到比较好的性能,而对于大量的对象持久化操作时,适合使用数据库自带的批量操作来执行。 本研究为非关系数据库的对象关系映射框架提出了一个可行的实现方式,并减小了在使用时关系数据库与非关系数据库之间的差异,让应用开发人员能够通过统一的接口来实现应用的业务逻辑。降低了基于非关系数据库应用的开发和维护成本,方便了已有的基于关系数据库的应用向非关系数据库的迁移工作。
云环境下数据分布式缓存技术与应用
这是一篇关于分布式文件系统,元数据管理,分布式缓存,云数据库的论文, 主要内容为随着经济社会的发展,医疗行业信息化成为近年来的研究热点。目前多数医疗信息系统在设计之初没有考虑云计算与大数据时代带来的海量数据存储需求,随着使用规模的不断扩大,这些系统无法承载高并发的访问流量。分布式缓存技术是目前非常热门且有应用前景的技术,具有传统存储技术无法比拟的优势。为了实现云环境下医疗数据的高效存储,本文基于分布式缓存技术设计并实现了放疗数据存储系统,构建了一种云环境下的数据缓存模型,主要存储放疗工作中产生的结构化数据与文件数据,提升了放疗质控系统在数据存取上的效率,提高了医院信息化的水平。通过分析国内外的相关文献,将分布式缓存技术应用于云文件存储以及云数据库存储,设计了基于分布式缓存的放疗数据存储系统。该系统在架构上分为四个层次,应用层、接口层、数据处理层和服务集成层。采用HDFS构建云文件存储服务、MySQL构建云数据库存储服务以及Redis构建分布式缓存服务。并且采用微服务的设计理念,基于SpringBoot框架完成了所有功能的编码。针对原生HDFS存储模型中的NameNode的单点问题,对比了现有的元数据管理方案,最后基于Redis分布式缓存设计了一种可扩展、高可用的元数据缓存模型。该方法构建了分布式缓存中间层,将元数据加载到Redis集群中进行管理,可以防止单一节点失效带来的服务中断。该模型作为基础设施为整个系统提供存储服务。对所设计的系统进行开发与测试,测试结果表明基于分布式缓存的放疗数据存储系统可以满足放疗科室所有的实际需求,该系统具有较高的工程价值,并且系统已在实际环境中上线运行,在实践中检验了系统的功能和性能,得到了相关医务工作者的认可。
SDN控制器集群下分布式缓存系统的设计与实现
这是一篇关于SDN,分布式缓存,Infinispan,Hotrod,数据一致性,序列化的论文, 主要内容为随着云计算、虚拟化技术的迅速发展,数据中心的规模也在不断的扩张,SDN控制器负责管理运维数据中心设备,因此控制器集群的规模也在不断的扩大。日益复杂的网络需求及控制器集群规模的限制使得控制器集群不能通过简单的增加服务器解决复杂的网络问题(高并发、高可用等问题)。分布式缓存介于控制器系统与数据库系统之间,引入分布式缓存的目的,一方面可以缓解数据库的压力,另一方面能够提高控制器集群的响应、处理速度,使得控制器能够提供更加可靠、高效、稳定的服务。当前市面的上缓存产品各有特点,但是无法同时满足复杂系统的业务需求,如服务器端的分布式部署、缓存系统安全性需求、缓存系统与其他服务集成(Hibernate、Spring Session、Hadoop)、分布式代码执行等。所以需要根据现有产品特点对缓存产品进行二次开发以满足当前系统的业务需求。本文分析对比了两种缓存产品的优缺点后选择使用Infinispan缓存技术,该缓存技术满足上述几种业务需求。但是Infinispan同时存在几点不足之处,如下所示:1.当缓存集群与控制器集群分开部署时,高并发的对同一 key的读请求会建立大量重复的网络连接,消耗网络资源,所以需要新的缓存机制解决该问题。2.当系统为C/S形式部署时,使用HotRod协议无法远程开启事务,缓存客户端并没有实现分布式事务,所以会产生数据不一致问题和原子性写操作问题。3.网络传输需要对内存对象进行序列化和反序列化操作,当前系统使用的是Jboss Marshalling,序列化后的数据过大并且序列化速度较慢,降低网络性能。4.传统的增加虚拟节点的缓存算法存在分布不均及低性能问题,客户端查询缓存服务器速度较慢,采用的哈希算法当节点较少时会导致数据分布不均匀。针对上述Infinispan存在的问题提出以下解决方案并进行仿真实验验证理论研究的可行性。1.本地缓存子模块将重复请求的缓存内容保存在本地,保证下次相同的key请求操作直接查询本地内存,该机制可以有效的减小网络开销,极大的提高缓存系统性能。2.本文提出的解决方案是为缓存条目增加唯一标识来保证数据的一致性。在创建缓存的时候在服务器端生成一个唯一的版本号,下次修改或者删除缓存条目需要对比客户端发送的版本号与服务器端版本号,判断是否一致,若一致则进行缓存操作。使用服务器端拦截器结合客户端自定义缓存操作模拟客户端分布式事务,解决写操作原子性问题。3.Kryo与Externalizer4J结合不仅可以预生成序列化文件,而且针对Java内置的数据类型都有特定的序列化器,并且支持自定义序列化器,该方案提高了序列化的速度,减小了序列化文件的大小。并优化空集合提高序列化速度。4.本文提出的基于段的一致性哈希算法,是对虚拟节点方案的改进,将所有虚拟节点与服务器的映射信息保存在数组内,提高了缓存操作时查找服务器的速度,使用的MurmurHash算法提高了哈希的速度并且使得数据分布更加均匀。最后针对本文给出的设计思路与实现方案进行仿真实验,验证上述方案的可行性。仿真实验表明,提出的优化改进方案能够有效的提高缓存系统的性能,解决缓存系统扩展性问题、数据不一致问题、序列化问题及缓存分布问题。
分布式架构下的电商平台的设计与实现
这是一篇关于电商平台,负载均衡,分布式架构,高并发访问,分布式缓存,分布式锁的论文, 主要内容为近几年互联网的热潮带动着人们生活方式的转型,催生着互联网应用的创业浪潮。结合传统企业的转型,利用互联网带来的流量优势和便捷高效的特性,衍生出诸多新型的商业模式创新,例如移动支付,共享经济,在线社交,电子商务,在线购物,互联网金融等。其中在线购物作为电子商务的子应用领域已经融入人们生活方式,从经济规模来看如今已占到国内零售总额的22.7%,无疑已经成为社会经济发展不可或缺的重要构成因素,因此对于电商平台的建设和关键技术的研究具有重要的实践意义和应用价值。在此背景下基于互联网公司主流前后端分离开发思想,利用当前主流开发框架,本系统实现了一套用户在线购物的电商平台网站。区别于传统的电商平台开发,本系统遵循软件工程思想中规范化的开发流程,按照项目从需求分析,技术选型,数据库设计,系统设计到最终功能实现,在完善业务功能的同时着重从技术架构的层面对传统电商网站开发中的单体应用架构进行优化升级,通过借助Nginx负载均衡并利用分布式集群的方式提高平台由于高并发访问带来的性能瓶颈。在单体应用和分布式应用对比方面,项目采用Redis分布式缓存,解决传统单体服务应用在分布式集群下session会话管理的问题,结合Docker技术实现PXC架构下的数据库集群方案。并采用最新的Spring Schedule技术实现分布式集群下定时关闭超时订单的任务。由于集群状态下分布式任务调度涉及到资源竞争的问题,因此本项目设计实现一套分布式锁的方案,结合Redis缓存解决集群中锁资源竞争的难题,在避免系统产生死锁情况的发生的同时,有效的完善了系统在多节点同时执行任务调度方面造成的系统开销,节省系统资源。同时由于本系统采用分布式集群的架构方案进行部署,所以系统在高可用方面得到增强,在可维护性和可扩展性等方面也都具有显著的特点。本项目在结合当前主流开发技术和实际需求的情况下,分析了购物商城平台系统在当今生活当中的重要性,完成了一套购物商城平台的设计实现。项目利用分布式技术选型对传统开发方式进行改进,在架构方面进行升级,提高了系统的高可用性和响应性能。其中利用主流分布式缓存技术构建分布式缓存服务器解决集群状态下由于多节点造成的系统关键问题以及通过结合Redis缓存设计一套集群状态下对分布式任务调度造成的锁资源竞争问题,防止系统死锁的同时解决任务调度问题的方案,无论是在核心业务功能实现的逻辑方面还是分布式系统架构设计方面的开发方案对于中小型企业在电子商务网站建设开发方面都有一定的参考和借鉴价值。以及本项目采用的Docker容器化技术搭建的PXC集群DB实现数据负载和设计的Redis分布式集群无论是对于目前的会话管理、分布式锁资源竞争管理,还是对于以后扩展升级的缓存系统和异步消息队列的实现,都可以作为一定的参考实现。结合本项目的规范化开发流程和完善的业务功能实现,在经过接口测试、功能测试和压力测试之后,目前本系统已经正常运行。
SDN控制器集群下分布式缓存系统的设计与实现
这是一篇关于SDN,分布式缓存,Infinispan,Hotrod,数据一致性,序列化的论文, 主要内容为随着云计算、虚拟化技术的迅速发展,数据中心的规模也在不断的扩张,SDN控制器负责管理运维数据中心设备,因此控制器集群的规模也在不断的扩大。日益复杂的网络需求及控制器集群规模的限制使得控制器集群不能通过简单的增加服务器解决复杂的网络问题(高并发、高可用等问题)。分布式缓存介于控制器系统与数据库系统之间,引入分布式缓存的目的,一方面可以缓解数据库的压力,另一方面能够提高控制器集群的响应、处理速度,使得控制器能够提供更加可靠、高效、稳定的服务。当前市面的上缓存产品各有特点,但是无法同时满足复杂系统的业务需求,如服务器端的分布式部署、缓存系统安全性需求、缓存系统与其他服务集成(Hibernate、Spring Session、Hadoop)、分布式代码执行等。所以需要根据现有产品特点对缓存产品进行二次开发以满足当前系统的业务需求。本文分析对比了两种缓存产品的优缺点后选择使用Infinispan缓存技术,该缓存技术满足上述几种业务需求。但是Infinispan同时存在几点不足之处,如下所示:1.当缓存集群与控制器集群分开部署时,高并发的对同一 key的读请求会建立大量重复的网络连接,消耗网络资源,所以需要新的缓存机制解决该问题。2.当系统为C/S形式部署时,使用HotRod协议无法远程开启事务,缓存客户端并没有实现分布式事务,所以会产生数据不一致问题和原子性写操作问题。3.网络传输需要对内存对象进行序列化和反序列化操作,当前系统使用的是Jboss Marshalling,序列化后的数据过大并且序列化速度较慢,降低网络性能。4.传统的增加虚拟节点的缓存算法存在分布不均及低性能问题,客户端查询缓存服务器速度较慢,采用的哈希算法当节点较少时会导致数据分布不均匀。针对上述Infinispan存在的问题提出以下解决方案并进行仿真实验验证理论研究的可行性。1.本地缓存子模块将重复请求的缓存内容保存在本地,保证下次相同的key请求操作直接查询本地内存,该机制可以有效的减小网络开销,极大的提高缓存系统性能。2.本文提出的解决方案是为缓存条目增加唯一标识来保证数据的一致性。在创建缓存的时候在服务器端生成一个唯一的版本号,下次修改或者删除缓存条目需要对比客户端发送的版本号与服务器端版本号,判断是否一致,若一致则进行缓存操作。使用服务器端拦截器结合客户端自定义缓存操作模拟客户端分布式事务,解决写操作原子性问题。3.Kryo与Externalizer4J结合不仅可以预生成序列化文件,而且针对Java内置的数据类型都有特定的序列化器,并且支持自定义序列化器,该方案提高了序列化的速度,减小了序列化文件的大小。并优化空集合提高序列化速度。4.本文提出的基于段的一致性哈希算法,是对虚拟节点方案的改进,将所有虚拟节点与服务器的映射信息保存在数组内,提高了缓存操作时查找服务器的速度,使用的MurmurHash算法提高了哈希的速度并且使得数据分布更加均匀。最后针对本文给出的设计思路与实现方案进行仿真实验,验证上述方案的可行性。仿真实验表明,提出的优化改进方案能够有效的提高缓存系统的性能,解决缓存系统扩展性问题、数据不一致问题、序列化问题及缓存分布问题。
基于分布式互联网架构的移动商城的设计与实现
这是一篇关于移动电子商务,搜索引擎,分布式文件系统,分布式缓存的论文, 主要内容为近年来我国电子商务市场发展迅速,作为国家战略性新兴产业纳入国家十二五规划。同时,国家通过制订一系列的标准、法规对电子商务的市场环境和交易行为不断进行规范和治理,这为我国网络购物市场的发展迎来了更多的机遇与挑战。我国电子商务经过十余年的发展,PC端应用已日趋成熟并走向世界的前列,而移动电子商务具有随时随地、灵活方便的优势,伴随智能移动终端的普及得以高速发展,截止2015年移动电商的成交量已经超过PC端,成为电子商务发展最快、最受欢迎的分支领域。移动电子商务作为电子商务领域的新星,得到各大电子商务服务商的追捧,并逐步开展在移动电商领域的布局,为了能够在激烈的市场竞争中得到一席之地,移动电商在建设过程中面临更多要求和挑战,如在用户体验方面,在秒杀、闪购、团购等商业行为造成突发流量、大订单的冲击方面,对系统设计及后台支撑能力提出了更高的要求,这也给系统的架构设计及采用的关键技术提出的更多的挑战。因此在进行电子商务平台设计时不仅要考虑如何解决大数据量的存储与访问、大并发量等关键问题,还要考虑系统的扩展性、可维护性以及降低系统维护成本等问题,否则将无法在激烈的社会竞争中生存。本课题主要开展移动电子商务系统建设涉及的主流互联网技术的应用研究,并对关键技术进行POC验证,选择能够更好解决移动电商大数据存储、快速搜索以及大并发等问题关键技术,构建一套基于搜索引擎、分布式文件系统、分布式缓存等主流互联网技术的移动电子商城应用,打造适合时代及技术发展需要的移动电子商务系统。
SDN控制器集群下分布式缓存系统的设计与实现
这是一篇关于SDN,分布式缓存,Infinispan,Hotrod,数据一致性,序列化的论文, 主要内容为随着云计算、虚拟化技术的迅速发展,数据中心的规模也在不断的扩张,SDN控制器负责管理运维数据中心设备,因此控制器集群的规模也在不断的扩大。日益复杂的网络需求及控制器集群规模的限制使得控制器集群不能通过简单的增加服务器解决复杂的网络问题(高并发、高可用等问题)。分布式缓存介于控制器系统与数据库系统之间,引入分布式缓存的目的,一方面可以缓解数据库的压力,另一方面能够提高控制器集群的响应、处理速度,使得控制器能够提供更加可靠、高效、稳定的服务。当前市面的上缓存产品各有特点,但是无法同时满足复杂系统的业务需求,如服务器端的分布式部署、缓存系统安全性需求、缓存系统与其他服务集成(Hibernate、Spring Session、Hadoop)、分布式代码执行等。所以需要根据现有产品特点对缓存产品进行二次开发以满足当前系统的业务需求。本文分析对比了两种缓存产品的优缺点后选择使用Infinispan缓存技术,该缓存技术满足上述几种业务需求。但是Infinispan同时存在几点不足之处,如下所示:1.当缓存集群与控制器集群分开部署时,高并发的对同一 key的读请求会建立大量重复的网络连接,消耗网络资源,所以需要新的缓存机制解决该问题。2.当系统为C/S形式部署时,使用HotRod协议无法远程开启事务,缓存客户端并没有实现分布式事务,所以会产生数据不一致问题和原子性写操作问题。3.网络传输需要对内存对象进行序列化和反序列化操作,当前系统使用的是Jboss Marshalling,序列化后的数据过大并且序列化速度较慢,降低网络性能。4.传统的增加虚拟节点的缓存算法存在分布不均及低性能问题,客户端查询缓存服务器速度较慢,采用的哈希算法当节点较少时会导致数据分布不均匀。针对上述Infinispan存在的问题提出以下解决方案并进行仿真实验验证理论研究的可行性。1.本地缓存子模块将重复请求的缓存内容保存在本地,保证下次相同的key请求操作直接查询本地内存,该机制可以有效的减小网络开销,极大的提高缓存系统性能。2.本文提出的解决方案是为缓存条目增加唯一标识来保证数据的一致性。在创建缓存的时候在服务器端生成一个唯一的版本号,下次修改或者删除缓存条目需要对比客户端发送的版本号与服务器端版本号,判断是否一致,若一致则进行缓存操作。使用服务器端拦截器结合客户端自定义缓存操作模拟客户端分布式事务,解决写操作原子性问题。3.Kryo与Externalizer4J结合不仅可以预生成序列化文件,而且针对Java内置的数据类型都有特定的序列化器,并且支持自定义序列化器,该方案提高了序列化的速度,减小了序列化文件的大小。并优化空集合提高序列化速度。4.本文提出的基于段的一致性哈希算法,是对虚拟节点方案的改进,将所有虚拟节点与服务器的映射信息保存在数组内,提高了缓存操作时查找服务器的速度,使用的MurmurHash算法提高了哈希的速度并且使得数据分布更加均匀。最后针对本文给出的设计思路与实现方案进行仿真实验,验证上述方案的可行性。仿真实验表明,提出的优化改进方案能够有效的提高缓存系统的性能,解决缓存系统扩展性问题、数据不一致问题、序列化问题及缓存分布问题。
SDN控制器集群下分布式缓存系统的设计与实现
这是一篇关于SDN,分布式缓存,Infinispan,Hotrod,数据一致性,序列化的论文, 主要内容为随着云计算、虚拟化技术的迅速发展,数据中心的规模也在不断的扩张,SDN控制器负责管理运维数据中心设备,因此控制器集群的规模也在不断的扩大。日益复杂的网络需求及控制器集群规模的限制使得控制器集群不能通过简单的增加服务器解决复杂的网络问题(高并发、高可用等问题)。分布式缓存介于控制器系统与数据库系统之间,引入分布式缓存的目的,一方面可以缓解数据库的压力,另一方面能够提高控制器集群的响应、处理速度,使得控制器能够提供更加可靠、高效、稳定的服务。当前市面的上缓存产品各有特点,但是无法同时满足复杂系统的业务需求,如服务器端的分布式部署、缓存系统安全性需求、缓存系统与其他服务集成(Hibernate、Spring Session、Hadoop)、分布式代码执行等。所以需要根据现有产品特点对缓存产品进行二次开发以满足当前系统的业务需求。本文分析对比了两种缓存产品的优缺点后选择使用Infinispan缓存技术,该缓存技术满足上述几种业务需求。但是Infinispan同时存在几点不足之处,如下所示:1.当缓存集群与控制器集群分开部署时,高并发的对同一 key的读请求会建立大量重复的网络连接,消耗网络资源,所以需要新的缓存机制解决该问题。2.当系统为C/S形式部署时,使用HotRod协议无法远程开启事务,缓存客户端并没有实现分布式事务,所以会产生数据不一致问题和原子性写操作问题。3.网络传输需要对内存对象进行序列化和反序列化操作,当前系统使用的是Jboss Marshalling,序列化后的数据过大并且序列化速度较慢,降低网络性能。4.传统的增加虚拟节点的缓存算法存在分布不均及低性能问题,客户端查询缓存服务器速度较慢,采用的哈希算法当节点较少时会导致数据分布不均匀。针对上述Infinispan存在的问题提出以下解决方案并进行仿真实验验证理论研究的可行性。1.本地缓存子模块将重复请求的缓存内容保存在本地,保证下次相同的key请求操作直接查询本地内存,该机制可以有效的减小网络开销,极大的提高缓存系统性能。2.本文提出的解决方案是为缓存条目增加唯一标识来保证数据的一致性。在创建缓存的时候在服务器端生成一个唯一的版本号,下次修改或者删除缓存条目需要对比客户端发送的版本号与服务器端版本号,判断是否一致,若一致则进行缓存操作。使用服务器端拦截器结合客户端自定义缓存操作模拟客户端分布式事务,解决写操作原子性问题。3.Kryo与Externalizer4J结合不仅可以预生成序列化文件,而且针对Java内置的数据类型都有特定的序列化器,并且支持自定义序列化器,该方案提高了序列化的速度,减小了序列化文件的大小。并优化空集合提高序列化速度。4.本文提出的基于段的一致性哈希算法,是对虚拟节点方案的改进,将所有虚拟节点与服务器的映射信息保存在数组内,提高了缓存操作时查找服务器的速度,使用的MurmurHash算法提高了哈希的速度并且使得数据分布更加均匀。最后针对本文给出的设计思路与实现方案进行仿真实验,验证上述方案的可行性。仿真实验表明,提出的优化改进方案能够有效的提高缓存系统的性能,解决缓存系统扩展性问题、数据不一致问题、序列化问题及缓存分布问题。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码海岸 ,原文地址:https://m.bishedaima.com/lunwen/46528.html