数据预热方法、装置、服务器及存储介质制造方法及图纸

技术编号:21453818 阅读:30 留言:0更新日期:2019-06-26 04:44
本申请公开了一种数据预热方法、装置、服务器及存储介质,属于数据缓存技术领域。该方法包括:获取待预热的多条数据的数据摘要,基于多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热多条数据所需的线程数,基于可预热数据条数、线程数和多条数据中每条数据的存储地址,对多条数据进行预热。本申请中,由于该多条数据的数据量均处于参考数据量范围内,因此可以基于可预热数据条数、该线程数和该多条数据中每条数据的存储地址,在参考数据预热时长内完成对该多条数据的预热。从而能够在参数数据预热时长后终端请求数据时,确保传输至终端的数据是完整的。

【技术实现步骤摘要】
数据预热方法、装置、服务器及存储介质
本申请涉及数据缓存
,特别涉及一种数据预热方法、装置、服务器及存储介质。
技术介绍
在互联网应用的大部分业务场景中,需要服务器从其他的数据存储设备中获取数据,并传输至终端。在终端数量较多且终端请求的数据量巨大的业务场景中,为了可以让数据更快、更全的传输至终端,最普遍的做法是将数据存储设备中存储的数据预先缓存至服务器的内存中。这样,在服务器接收到终端发送的请求时,可以启动对应的服务进程,通过该服务进程从服务器的内存中获取对应的数据,进而传输至终端。实际应用中,服务器可能会因为一些因素而重启,这样,就需要重新将数据加载至服务器的内存中,以实现数据的预热。具体地,服务器重启时,可以启动服务进程,并向服务网关发送通知消息,以指示服务进程可以开始对外提供服务。同时,还可以通过该服务进程进行数据预热。由于该服务进程进行数据预热的过程需要一定的时间,如果在数据预热的过程中接收到终端发送的请求,此时,按照上述方法传输至终端的数据可能并不完整。
技术实现思路
本申请提供了一种数据预热方法、装置、服务器及存储介质,可以解决服务进程在对提供服务时传输数据的不完整的问题。所述技术方案如下:第一方面,提供了一种数据预热方法,所述方法包括:获取待预热的多条数据的数据摘要,所述数据摘要中包括所述多条数据的数据条数、每条数据的数据量和存储地址,所述多条数据的数据量均处于参考数据量范围内;基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,所述参考数据预热时长是指服务进程的重启时刻与通知发送时刻之间的时长,所述通知发送时刻是指所述服务进程向服务网关发送能够对外提供服务的通知的时刻;基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热。可选地,所述基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,包括:确定所述多条数据的数据量中的最大数据量;基于所述最大数据量,确定一个线程在所述参考数据预热时长内的可预热数据条数;基于所述多条数据的数据条数和所述可预热数据条数,确定预热所述多条数据所需的线程数。可选地,所述基于所述最大数据量,确定一个线程在所述参考数据预热时长内的可预热数据条数,包括:将一个线程在单位时长内的可预热数据量与所述参考数据预热时长之间的乘积,确定为一个线程在所述参考预热时长内的可预热数据总量;将一个线程在所述参考预热时长内的可预热数据总量与所述最大数据量之间比值向下取整,得到一个线程在所述参考数据预热时长内的可预热数据条数。可选地,所述基于所述多条数据的数据条数和所述可预热数据条数,确定预热所述多条数据所需的线程数,包括:将所述多条数据的数据条数与所述可预热数据条数之间的比值向上取整,得到所述线程数。可选地,所述基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热,包括:创建多个线程,所述多个线程的数量与所述线程数相等;根据所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,确定每个线程对应的至少一条数据的存储地址;对于所述多个线程中的第一线程,根据所述第一线程对应的至少一条数据的存储地址,通过所述第一线程,对所述第一线程对应的至少一条数据进行预热,所述第一线程为所述多个线程中的任一线程。可选地,每条数据的存储地址包括每条数据的起始地址和结束地址;所述根据所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,确定每个线程对应的至少一条数据的存储地址,包括:根据所述可预热数据条数和所述线程数,将所述多条数据划分为多组数据,每组数据包括至少一条数据;根据每组数据包括的每条数据的起始地址和结束地址,确定分配给所述多个线程中每个线程的一组数据的起始地址和结束地址。第二方面,提供了一种数据预热装置,所述装置包括:获取模块,用于获取待预热的多条数据的数据摘要,所述数据摘要中包括所述多条数据的数据条数、每条数据的数据量和存储地址,所述多条数据的数据量均处于参考数据量范围内;确定模块,用于基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,所述参考数据预热时长是指服务进程的重启时刻与通知发送时刻之间的时长,所述通知发送时刻是指所述服务进程向服务网关发送能够对外提供服务的通知的时刻;预热模块,用于基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热。可选地,所述确定模块包括:第一确定单元,用于确定所述多条数据的数据量中的最大数据量;第二确定单元,用于基于所述最大数据量,确定一个线程在所述参考数据预热时长内的可预热数据条数;第三确定单元,用于基于所述多条数据的数据条数和所述可预热数据条数,确定预热所述多条数据所需的线程数。可选地,所述第二确定单元主要用于:将一个线程在单位时长内的可预热数据量与所述参考数据预热时长之间的乘积,确定为一个线程在所述参考预热时长内的可预热数据总量;将一个线程在所述参考预热时长内的可预热数据总量与所述最大数据量之间比值向下取整,得到一个线程在所述参考数据预热时长内的可预热数据条数。可选地,所述第三确定单元主要用于:将所述多条数据的数据条数与所述可预热数据条数之间的比值向上取整,得到所述线程数。可选地,所述预热模块包括:创建单元,用于创建多个线程,所述多个线程的数量与所述线程数相等;第四确定单元,用于根据所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,确定每个线程对应的至少一条数据的存储地址;预热单元,用于对于所述多个线程中的第一线程,根据所述第一线程对应的至少一条数据的存储地址,通过所述第一线程,对所述第一线程对应的至少一条数据进行预热,所述第一线程为所述多个线程中的任一线程。可选地,每条数据的存储地址包括每条数据的起始地址和结束地址;所述第四确定单元主要用于:根据所述可预热数据条数和所述线程数,将所述多条数据划分为多组数据,每组数据包括至少一条数据;根据每组数据包括的每条数据的起始地址和结束地址,确定分配给所述多个线程中每个线程的一组数据的起始地址和结束地址。第三方面,提供了一种服务器,所述服务器包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;所述存储器用于存放计算机程序;所述处理器用于执行所述存储器上所存放的程序,以实现上述第一方面提供的所述方法的步骤。第四方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的所述方法的步骤。第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的所述方法的步骤。本申请提供的技术方案带来的有益效果至少可以包括:在本申请中,参考数据预热时长是指服务进程的重启时刻与通知发送时刻之间的时长,通知发送时刻是指服务进程向服务网关发送能够对外提供服务的通知的时刻,也即是,在本文档来自技高网...

【技术保护点】
1.一种数据预热方法,其特征在于,所述方法包括:获取待预热的多条数据的数据摘要,所述数据摘要中包括所述多条数据的数据条数、每条数据的数据量和存储地址,所述多条数据的数据量均处于参考数据量范围内;基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,所述参考数据预热时长是指服务进程的重启时刻与通知发送时刻之间的时长,所述通知发送时刻是指所述服务进程向服务网关发送能够对外提供服务的通知的时刻;基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热。

【技术特征摘要】
1.一种数据预热方法,其特征在于,所述方法包括:获取待预热的多条数据的数据摘要,所述数据摘要中包括所述多条数据的数据条数、每条数据的数据量和存储地址,所述多条数据的数据量均处于参考数据量范围内;基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,所述参考数据预热时长是指服务进程的重启时刻与通知发送时刻之间的时长,所述通知发送时刻是指所述服务进程向服务网关发送能够对外提供服务的通知的时刻;基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热。2.如权利要求1所述的方法,其特征在于,所述基于所述多条数据的数据条数和每条数据的数据量,确定一个线程在参考数据预热时长内的可预热数据条数,以及预热所述多条数据所需的线程数,包括:确定所述多条数据的数据量中的最大数据量;基于所述最大数据量,确定一个线程在所述参考数据预热时长内的可预热数据条数;基于所述多条数据的数据条数和所述可预热数据条数,确定预热所述多条数据所需的线程数。3.如权利要求2所述的方法,其特征在于,所述基于所述最大数据量,确定一个线程在所述参考数据预热时长内的可预热数据条数,包括:将一个线程在单位时长内的可预热数据量与所述参考数据预热时长之间的乘积,确定为一个线程在所述参考预热时长内的可预热数据总量;将一个线程在所述参考预热时长内的可预热数据总量与所述最大数据量之间比值向下取整,得到一个线程在所述参考数据预热时长内的可预热数据条数。4.如权利要求2所述的方法,其特征在于,所述基于所述多条数据的数据条数和所述可预热数据条数,确定预热所述多条数据所需的线程数,包括:将所述多条数据的数据条数与所述可预热数据条数之间的比值向上取整,得到所述线程数。5.如权利要求1所述的方法,其特征在于,所述基于所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,对所述多条数据进行预热,包括:创建多个线程,所述多个线程的数量与所述线程数相等;根据所述可预热数据条数、所述线程数和所述多条数据中每条数据的存储地址,确定每个线程对应的至少一条数据的存储地址;对于所述多个线程中的第一线程,根据所述第...

【专利技术属性】
技术研发人员:杨子国
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东,44

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

1