用于集群系统的数据加载方法、装置和集群系统的制作方法

文档序号:9261405阅读:316来源:国知局
用于集群系统的数据加载方法、装置和集群系统的制作方法
【技术领域】
[0001]本申请涉及集群系统领域,具体而言,涉及一种用于集群系统的数据加载方法、装置和集群系统。
【背景技术】
[0002]随着互联网、电子商务行业的快速发展,互联网中的服务器系统通常会进行大规模的数据运算,最典型的场景就是一些诸如规则引擎、分类算法等需要大量计算的应用。为了提高数据运算的速度,通常采用集群系统作为服务器系统,其中,集群系统常常是单一主控机(single master)+多工作机(many workers)模式,worker实现数据的存储、读写、分析处理等,master保存部分或全部元数据、实现worker的任务分配、状态监控、负载平衡、故障监测和故障恢复等。Master常常使用heartbeat+lease或类似机制监控worker的状态,向worker定期交换信息以监控集群系统状态和发送控制命令。
[0003]在集群系统进行数据计算过程中,如果用于计算的规则信息数据分布在数据库,则集群系统在计算过程中需要从该数据库中实时读取,数据读取效率低,从而导致严重的性能问题。目前采用的方案就是使用分布式缓存解决集群系统中读取数据库(例如DB数据库)数据的效率问题。
[0004]分布式缓存是在分布式环境中使用的缓存技术,常用的缓存主要是各服务器本地缓存,缓存的工作原理是当服务器系统需要读取一个数据时,首先从服务器的缓存中查找,如果找到,则立即读取;如果没有找到,就用相对慢的速度从数据库或者其他地区读取数据后放入到缓存中,正是这样的读取机制使得应用对数据的读取效率大大提高。分布式缓存为提高效能而设计,和单个系统的缓存不同的是,在集群系统中,分布式缓存分布于多台机器,多台机器在逻辑上使用相同的缓存数据。
[0005]如图1所示,一个集群系统中包括一个处于主控的主控机、多个服务器和数据库,主控机作为集群系统的管理者进行着集群系统中各个服务器的管理和控制。当需要进行数据计算时,主控机发出指令,控制各服务器更新缓存,以从数据库中进行数据读取缓存。
[0006]发明人发现,在高并发的场景下,集群服务器中多个服务器分别加载数据库中的数据会带来瞬间大量的数据库查询。另外,如果从缓存未查询到数据,在将数据缓存到服务器本地时,同样会带来大规模数据库的读写,这对集群系统的稳定性带来极大的挑战。在高并发的场景下,无论是从数据库中查询数据还是从数据库中加载数据,都会给数据库带来巨大的运行压力,降低数据库的使用寿命。
[0007]针对现有技术中数据库的运行压力大导致使用寿命短的问题,目前尚未提出有效的解决方案。

【发明内容】

[0008]本申请的主要目的在于提供一种用于集群系统的数据加载方法、装置和集群系统,以解决数据库的运行压力大导致使用寿命短问题。
[0009]为了实现上述目的,根据本申请的一个方面,提供了一种用于集群系统的数据加载方法。根据本申请的用于集群系统的数据加载方法包括:集群系统中的第一服务器读取数据库中的数据,并对读取的数据进行缓存,得到缓存数据;集群系统中的第二服务器读取缓存数据;以及集群系统中的第二服务器加载读取到的缓存数据。
[0010]进一步地,集群系统中的第一服务器对读取的数据进行缓存包括:集群系统中的第一服务器将读取的数据缓存到集群系统中的第一服务器本地;或者集群系统中的第一服务器将读取的数据缓存到缓存系统,缓存系统为用于缓存数据的系统。
[0011 ] 进一步地,集群系统中的第二服务器为多个服务器,其中,集群系统中的第二服务器读取缓存数据包括:多个服务器从集群系统中的第一服务器读取缓存数据;或者多个服务器从缓存系统读取缓存数据。
[0012]进一步地,缓存系统为nosql集群缓存系统,其中,集群系统中的第一服务器将读取的数据缓存到缓存系统包括:集群系统中的第一服务器将读取的数据保存到nosql集群缓存系统中,集群系统中的第二服务器读取缓存数据包括:多个服务器从nosql集群缓存系统读取缓存数据。
[0013]为了实现上述目的,根据本申请的一个方面,提供了一种用于集群系统的数据加载装置。根据本申请的用于集群系统的数据加载装置包括:缓存单元,用于使得集群系统中的第一服务器读取数据库中的数据,并对读取的数据进行缓存,得到缓存数据;读取单元,用于使得集群系统中的第二服务器读取缓存数据;以及加载单元,用于使得集群系统中的第二服务器加载读取到的缓存数据。
[0014]进一步地,缓存单元包括:第一缓存模块,用于使得集群系统中的第一服务器将读取的数据缓存到集群系统中的第一服务器本地;或者第二缓存模块,用于使得集群系统中的第一服务器将读取的数据缓存到缓存系统,缓存系统为用于缓存数据的系统。
[0015]进一步地,集群系统中的第二服务器为多个服务器,其中,读取单元包括:第一读取模块,用于使得多个服务器从集群系统中的第一服务器读取缓存数据;或者第二读取模块,用于使得多个服务器从缓存系统读取缓存数据。
[0016]进一步地,缓存系统为nosql集群缓存系统,其中,第二缓存模块还用于使得集群系统中的第一服务器将读取的数据保存到nosql集群缓存系统中,读取单元还用于使得多个服务器从nosql集群缓存系统读取缓存数据。
[0017]为了实现上述目的,根据本申请的另一方面,提供了一种集群系统。根据本申请的集群系统包括:第一服务器,用于读取数据库中的数据,并对读取的数据进行缓存,得到缓存数据;以及第二服务器,用于读取缓存数据,并加载读取到的缓存数据。
[0018]进一步地,集群系统还包括缓存系统,第一服务器海用于将从数据库中读取的数据缓存到缓存系统中,其中,第二服务器还用于从缓存系统中读取缓存数据,并将读取的缓存数据加载到第二服务器本地。
[0019]进一步地,缓存系统为nosql集群缓存系统,第二服务器为多个服务器,其中,第一服务器还用于将读取的数据保存到nosql集群缓存系统中,多个服务器从nosql集群缓存系统读取缓存数据,并将读取的缓存数据加载到多个服务器本地。
[0020]通过本申请实施例,第一服务器读取数据库的数据,并对读取的数据进行缓存,得到缓存数据,第二服务器读取该缓存数据,并加载该缓存数据,第二服务器无需从数据库中读取数据,从而减少集群系统中服务器向数据库发出的数据请求和读取,通过第一服务器来读取数据库的数据,并进行缓存,解决了数据库的运行压力大导致使用寿命短的问题,达到了减低数据库运行压力进而延长数据库使用寿命的效果。
【附图说明】
[0021 ] 构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0022]图1是根据现有技术的集群系统的示意图;
[0023]图2是根据本申请实施例的集群系统的示意图;
[0024]图3是根据本申请实施例的集群系统的工作时序图;
[0025]图4是根据本申请实施例的用于集群系统的数据加载方法的流程图;以及
[0026]图5是根据本申请实施例的用于集群系统的数据加载装置的示意图。
【具体实施方式】
[0027]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0028]为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0029]需要说明的是,本申请的说明书和权利要求书及上述附图中的术
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1