用于降低内存负载的方法以及装置制造方法及图纸

技术编号:17878610 阅读:36 留言:0更新日期:2018-05-06 00:31
本发明专利技术的实施方式提供了一种用于降低内存负载的方法,该方法包括:将计算内存模型的计算任务分配至离线计算集群;通过所述离线计算集群生成内存模型快照;线上内存集群加载所述内存模型快照;根据所述内存模型快照更新所述线上内存集群的内存模型。通过将计算内存模型的计算任务分配给离线计算集群,线上内存集群只需载入轻量级的内存模型快照即可,本发明专利技术的方法使得线上内存集群的负载大大降低,从而显著地降低了系统启动和更新过程的耗时,为用户带来了更好的体验,并且减少了数据中心访问量以及网络负载。此外,本发明专利技术实施方式还提供了一种计算机可读存储介质、用于降低内存负载的装置及计算设备。

Methods and devices used to reduce memory loads

The embodiment of the invention provides a method for reducing the memory load, which includes: assigning computing tasks to the computing memory model to an offline computing cluster; generating a memory model snapshot through the described off-line computing cluster; an online memory cluster loading the memory mode snapshot described; a snapshot based on the memory model. Update the memory model of the online memory cluster described. By assigning computing tasks to the computing memory model to an offline computing cluster, the online memory cluster only needs to load a lightweight memory model snapshot. This method makes the load of the online memory cluster greatly reduced, thus significantly reducing the time consuming of the system to start and update the process and bring the user better. Experience and reduce data center access and network load. In addition, the invention also provides a computer readable storage medium, a device for reducing the memory load and a computing device.

【技术实现步骤摘要】
用于降低内存负载的方法以及装置
本专利技术的实施方式涉及计算机领域,更具体地,本专利技术的实施方式涉及用于降低内存负载的方法、装置、计算设备以及计算机可读存储介质。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或者上下文。此处的描述不因为包括在本部分中就承认是现有技术。随着以虚拟化技术为代表的云计算技术的飞速发展,越来越多的企业开始使用云计算系统来提升系统运行效率和管理效率。云计算平台对虚拟机屏蔽了底层的硬件细节,不同类型的虚拟机可以同时运行在云系统里面的物理服务器上面,同时,云计算还具有虚拟机供应动态收缩,服务器资源高效整合等特点,都使得云计算的成为研究的热点。云计算环境下,资源是按需获取的,传统的虚拟机操作系统实现了对所有类型的应用程序的全局适应性,从而导致特定类型的硬件资源在使用的过程中,操作系统的调度成为瓶颈。云计算数据中心运行的负载一般不会随着时间变化而不断改变,可以看做一段时间内是特征稳定的。根据不同应用程序的资源消耗特征和瓶颈资源类型,负载可以分为五类:CPU密集型、内存密集型、I/O密集型、网络密集型和混合型。其中内存密集型主要消耗系统内存。目前一种降低内存密集型系统负载的方法是使用热点缓存,通过只储存热点的数据的方式降低内存的负载。当用户需要访问内存模型时先访问热点缓存,如果访问不到再去数据中心拿数据。
技术实现思路
但是,虽然上述现有技术的方案可以降低内存负载,出于还需要计算内存中的各种数据模型的原因,现有技术并不能降低计算负载。而且一旦热点缓存失效,需要访问数据中心,响应时间和网络负载会增加。因此在现有技术中,计算负载依然很高,容易触发不必要的内存回收流程,影响其他服务。此外,缓存失效网络负载会升高,阻塞网络请求。同时,高并发下缓存失效会造成响应时间过长,从而导致服务不可用,这是非常令人烦恼的技术问题。为此,非常需要一种改进的用于降低内存负载的方法、计算机可读存储介质、装置以及计算设备,以使内存负载降低,减少系统启动和更新的时间。在本上下文中,本专利技术实施方式期望提供一种用于降低内存负载的方法、计算机可读存储介质、装置以及计算设备。在本专利技术实施方式的第一方面中,提供了一种用于降低内存负载的方法,包括:将计算内存模型的计算任务分配至离线计算集群;通过所述离线计算集群生成内存模型快照;线上内存集群加载所述内存模型快照;根据所述内存模型快照更新所述线上内存集群的内存模型。在本专利技术的一个实施例中,所述将计算内存模型的计算任务分配至离线计算集群包括:通过调度中心进行分布式调度,将所述计算任务分配至所述离线计算集群的计算节点;每个计算节点定时轮询所述调度中心,抢占即将执行的计算任务;在所述调度中心添加对所述计算任务的锁;执行完所述计算任务后释放所述锁。在本专利技术的另一个实施例中,所述通过所述离线计算集群生成内存模型快照包括:采用对象的序列化机制将内存中对象形式的内存模型转换成文件形式的所述内存模型快照。在本专利技术的再一个实施例中,所述通过所述离线计算集群生成内存模型快照包括:将所述离线计算集群生成的所述内存模型快照写入第二快照文件;所述内存模型快照写入成功后,删除上一次生成的第一快照文件;将所述第二快照文件重命名成第一快照文件。在本专利技术的再一个实施例中,所述根据所述内存模型快照更新所述线上内存集群的内存模型包括:解析所述内存模型快照生成相应的内存模型;校验解析后的所述内存模型,判断数据校验是否成功;当数据校验失败时,重新计算所述内存模型;当数据校验成功时,进行心跳记录,记录所述内存模型的更新结果。在本专利技术的再一个实施例中,所述解析所述内存模型快照生成相应的内存模型包括:采用对象的序列化机制将文件形式的所述内存模型快照转换成对象形式的所述内存模型。在本专利技术的再一个实施例中,所述解析所述内存模型快照生成相应的内存模型包括:将所述线上内存集群解析的所述内存模型快照写入备份内存模型;所述内存模型快照解析成功后,用所述备份内存模型替换上一次更新的内存模型。在本专利技术的再一个实施例中,所述当数据校验失败时,重新计算所述内存模型包括:若当前时间和快照生成时间之间的差值大于预设的更新间隔时,判定所述内存模型快照过期,重新计算所述内存模型;和/或若所述离线计算集群计算得到的内存模型Hash值和所述线上内存集群更新所述内存模型后计算得到的内存模型Hash值不一致时,重新计算所述内存模型;和/或对所述线上内存集群更新的内存模型进行抽样校验,重新计算抽样的内存模型;当重新计算得到的抽样的内存模型和通过解析所述内存模型快照得到的内存模型不一致的比例超过预设阈值时,重新计算所述内存模型。在本专利技术的再一个实施例中,所述方法还包括:所述线上内存集群定时检查内存模型的更新情况;当所述内存模型未在预设时间更新时,重新计算所述内存模型。在本专利技术的再一个实施例中,所述方法还包括:所述离线计算集群将生成的所述内存模型快照上传至存储中心;所述离线计算集群通知所述线上内存集群更新内存模型。在本专利技术的再一个实施例中,所述离线计算集群基于Rsync的文件同步策略将所述内存模型快照上传至所述存储中心;和/或所述线上内存集群基于Rsync的文件同步策略加载所述内存模型快照。在本专利技术的再一个实施例中,所述线上内存集群为内存密集集群。在本专利技术实施方式的第二方面中,提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述方法实施方式中的各步骤,例如,将计算内存模型的计算任务分配至离线计算集群;通过所述离线计算集群生成内存模型快照;线上内存集群加载所述内存模型快照;根据所述内存模型快照更新所述线上内存集群的内存模型。在本专利技术的一个实施例中,所述将计算内存模型的计算任务分配至离线计算集群的步骤包括:通过调度中心进行分布式调度,将所述计算任务分配至所述离线计算集群的计算节点;每个计算节点定时轮询所述调度中心,抢占即将执行的计算任务;在所述调度中心添加对所述计算任务的锁;执行完所述计算任务后释放所述锁。在本专利技术的另一个实施例中,所述通过所述离线计算集群生成内存模型快照的步骤包括:采用对象的序列化机制将内存中对象形式的内存模型转换成文件形式的所述内存模型快照。在本专利技术的再一个实施例中,所述通过所述离线计算集群生成内存模型快照的步骤包括:将所述离线计算集群生成的所述内存模型快照写入第二快照文件;所述内存模型快照写入成功后,删除上一次生成的第一快照文件;将所述第二快照文件重命名成第一快照文件。在本专利技术的再一个实施例中,所述根据所述内存模型快照更新所述线上内存集群的内存模型的步骤包括:解析所述内存模型快照生成相应的内存模型;校验解析后的所述内存模型,判断数据校验是否成功;当数据校验失败时,重新计算所述内存模型;当数据校验成功时,进行心跳记录,记录所述内存模型的更新结果。在本专利技术的再一个实施例中,所述解析所述内存模型快照生成相应的内存模型的步骤包括:采用对象的序列化机制将文件形式的所述内存模型快照转换成对象形式的所述内存模型。在本专利技术的再一个实施例中,所述解析所述内存模型快照生成相应的内存模型的步骤包括:将所述线上内存集群解析的所述内存模型快照写入备份内存模型;所述内存模型快照解析成功后,用所述备份内存模型替换上一次更新的内存模型。在本本文档来自技高网...
用于降低内存负载的方法以及装置

【技术保护点】
一种用于降低内存负载的方法,包括:将计算内存模型的计算任务分配至离线计算集群;通过所述离线计算集群生成内存模型快照;线上内存集群加载所述内存模型快照;根据所述内存模型快照更新所述线上内存集群的内存模型。

【技术特征摘要】
1.一种用于降低内存负载的方法,包括:将计算内存模型的计算任务分配至离线计算集群;通过所述离线计算集群生成内存模型快照;线上内存集群加载所述内存模型快照;根据所述内存模型快照更新所述线上内存集群的内存模型。2.如权利要求1所述的方法,其中,所述将计算内存模型的计算任务分配至离线计算集群包括:通过调度中心进行分布式调度,将所述计算任务分配至所述离线计算集群的计算节点;每个计算节点定时轮询所述调度中心,抢占即将执行的计算任务;在所述调度中心添加对所述计算任务的锁;执行完所述计算任务后释放所述锁。3.如权利要求1所述的方法,其中,所述通过所述离线计算集群生成内存模型快照包括:将所述离线计算集群生成的所述内存模型快照写入第二快照文件;所述内存模型快照写入成功后,删除上一次生成的第一快照文件,将所述第二快照文件重命名成第一快照文件。4.如权利要求1所述的方法,其中,所述根据所述内存模型快照更新所述线上内存集群的内存模型包括:解析所述内存模型快照生成相应的内存模型;校验解析后的所述内存模型,判断数据校验是否成功;当数据校验失败时,重新计算所述内存模型;当数据校验成功时,进行心跳记录,记录所述内存模型的更新结果。5.如权利要求4所述的方法,其中,所述解析所述内存模型快照生成相应的内存模型包括:将所述线上内存集群解析的所述内存模型快照写入备份内存模型;所述内存模型快照解析成功后,用所述备份内存模型替换上一次更新的内存模型。6.如权利要求4所述的方法,其中,所述当数据校验失败时,重新计算所述内...

【专利技术属性】
技术研发人员:袁博范启弘傅凌进毛成军沈琦
申请(专利权)人:网易无尾熊杭州科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1