CN112685670A - 一种数据调度方法及装置 - Google Patents
一种数据调度方法及装置 Download PDFInfo
- Publication number
- CN112685670A CN112685670A CN202011633670.9A CN202011633670A CN112685670A CN 112685670 A CN112685670 A CN 112685670A CN 202011633670 A CN202011633670 A CN 202011633670A CN 112685670 A CN112685670 A CN 112685670A
- Authority
- CN
- China
- Prior art keywords
- data
- accessed
- memory
- cache
- cache controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 230000015654 memory Effects 0.000 claims abstract description 360
- 239000003795 chemical substances by application Substances 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 5
- 238000005859 coupling reaction Methods 0.000 abstract description 5
- 230000004044 response Effects 0.000 description 64
- 238000013461 design Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供一种数据调度方法及装置,该方法应用于缓存节点,该缓存节点包括代理模块、缓存控制器,N级存储器,N级存储器中的每一级存储器的访问速度递增;该方法包括:代理模块接收客户端发送的访问请求,该访问请求用于请求待访问数据;缓存控制器接收代理模块转发的该访问请求,确定该待访问数据在N级存储器中的存储位置,后续缓存控制器或代理模块可以根据该存储位置获取该待访问数据。本申请中缓存节点内缓存控制器和N级存储器互相独立,降低了缓存控制器、N级存储器以及Http代理之间的耦合性,当N级存储器中有任一级存储器有更新操作时,不会影响缓存控制器确定待访问数据的存储位置,减少对缓存节点正常运行的影响。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据调度方法及装置。
背景技术
内容分发网络(content delivery network,CDN)是指利用分布在不同区域的缓存节点服务器群组成流量分配管理网络平台,为用户提供内容的分散存储和高速缓存,并根据网络动态流量和负载状况,将内容分发到快速、稳定的缓存服务器上,提高用户内容的访问响应速度和服务的可用性服务。内容提供商可以通过CDN为用户提供大量的内容,例如,视频、音频以及文字等等,并通过广告或者收取内容播放费的形式进行盈利。其中,内容可以是视频、音频以及文字等等。
当前缓存服务器的架构有局限性,还有较大的提升空间。
发明内容
本申请提供一种数据调度方法及装置,用于提高缓存节点在不同应用场景中的灵活性、提升效率。
第一方面,本申请提供一种数据调度方法,该方法可以应用于缓存节点,其中,缓存节点包括代理模块、缓存控制器,N级存储器,N级存储器中的每一级存储器的访问速度递增,N取正整数;该方法包括:代理模块接收客户端发送的访问请求,访问请求用于请求待访问数据;缓存控制器接收所述代理模块转发的访问请求,确定待访问数据在所述N级存储器的第一存储位置,并将所述第一存储位置发送至所述代理模块;代理模块从第一存储位置获取所述待访问数据,并将待访问数据发送至客户端;缓存控制器根据待访问数据的优先级确定待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
通过上述设计,缓存控制器管理调度N级存储器,并确定待访问数据的存储位置,缓存节点内缓存控制器和N级存储器互相独立,降低了缓存控制器、N级存储器以及Http代理之间的耦合性,当N级存储器中有任一级存储器有更新操作时,不会影响缓存控制器确定待访问数据的存储位置,减少对缓存节点正常运行的影响。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最高级别,将所述待访问数据设置在所述N级存储器的第1级存储器中。
通过上述设计,加速了热度为最高级别的数据的访问速度,降低时延。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最低级别,将所述待访问数据设置在所述N级存储器的第N级存储器中。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的访问请求的次数,和/或所述待访问数据对应的域名缓存策略确定所述待访问数据的优先级。
在一种可能的实现方法中,该方法还包括:所述缓存控制器接收控制平台发送的所述域名缓存策略,所述域名缓存策略包含所述待访问数据的域名信息以及所述待访问数据的优先级信息。
在一种可能的实现方法中,第一存储位置用于指示所述第一数据在第m级存储器上的存储位置,该第m级存储器为,N级存储器中存储有第一数据的一级或多级存储器中性能最高的存储器。
通过上述设计,缓存控制器有多种数据交互方式,可以灵活适配多种不同应用场景,实用性更强。
在一种可能的实现方法中,缓存控制器确定该待访问数据的第二存储位置,该第二存储位置对应的存储器的访问速度高于所述第一存储位置对应的存储器的访问速度。
在一种可能的实现方法中,缓存控制器根据该访问请求确定待访问数据的热度,并根据所述热度和/或所述域名缓存策略确定所述第二存储位置。
通过上述设计,由于N级存储器中每一级存储器的性能不同,随着数据的被访问的热度值的变化和用户的域名缓存策略确定该数据的准入位置,例如第一数据存储在性能较低的存储器中,当第一数据的热度值较高时,可以将第一数据写入性能较高的存储器中,这样便能够缩短第一数据的访问时延,同时满足用户的个性化使用需求。
在一种可能的实现方法中,所述缓存控制器从所述第一存储位置获取所述待访问数据,并将所述待访问数据写入所述第二存储位置;或
所述缓存控制器将所述第二存储位置发送给所述代理模块;
所述代理模块从所述第一存储位置获取所述待访问数据之后,还包括:
所述代理模块将所述待访问数据的副本写入所述第二存储位置。
在一种可能的实现方法中,缓存控制器为可拆卸插件;代理模块为Http代理;缓存控制器具有至少两个Http接口,至少两个Http接口包括第一Http接口和第二Http接口,第一Http接口用于与Http代理通信,第二Http接口用于与存储器交互数据。
通过上述设计,缓存控制器可以采用Http接口与Http代理和存储器交互,可移植性更强。
第二方面,本申请实施例提供了另一种数据调度方法,应用于缓存节点,所述缓存节点包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数,所述方法包括:所述代理模块接收客户端发送的访问请求,所述访问请求用于请求待访问数据;所述缓存控制器接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并从所述存储位置获取所述待访问数据,以及将获取的所述待访问数据发送给所述代理模块;所述代理模块接收所述缓存控制器发送的所述待访问数据,并将所述待访问数据发送至所述客户端;所述缓存控制器根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
通过上述设计,缓存控制器管理调度N级存储器,并确定待访问数据的存储位置,缓存节点内缓存控制器和N级存储器互相独立,降低了缓存控制器、N级存储器以及Http代理之间的耦合性,当N级存储器中有任一级存储器有更新操作时,不会影响缓存控制器确定待访问数据的存储位置,减少对缓存节点正常运行的影响。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最高级别,将所述待访问数据设置在所述N级存储器的第1级存储器中。
通过上述设计,加速了热度为最高级别的数据的访问速度,降低时延。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最低级别,将所述待访问数据设置在所述N级存储器的第N级存储器中。
在一种可能的实现方法中,所述缓存控制器根据所述待访问数据的访问请求的次数,和/或所述待访问数据对应的域名缓存策略确定所述待访问数据的优先级。
在一种可能的实现方法中,该方法还包括:所述缓存控制器接收控制平台发送的所述域名缓存策略,所述域名缓存策略包含所述待访问数据的域名信息以及所述待访问数据的优先级信息。
在一种可能的实现方法中,第一存储位置用于指示所述第一数据在第m级存储器上的存储位置,该第m级存储器为,N级存储器中存储有第一数据的一级或多级存储器中性能最高的存储器。
通过上述设计,缓存控制器有多种数据交互方式,可以灵活适配多种不同应用场景,实用性更强。
在一种可能的实现方法中,缓存控制器确定该待访问数据的第二存储位置,该第二存储位置对应的存储器的访问速度高于所述第一存储位置对应的存储器的访问速度。
在一种可能的实现方法中,缓存控制器根据该访问请求确定待访问数据的热度,并根据所述热度和/或所述域名缓存策略确定所述第二存储位置。
通过上述设计,由于N级存储器中每一级存储器的性能不同,随着数据的被访问的热度值的变化和用户的域名缓存策略确定该数据的准入位置,例如第一数据存储在性能较低的存储器中,当第一数据的热度值较高时,可以将第一数据写入性能较高的存储器中,这样便能够缩短第一数据的访问时延,同时满足用户的个性化使用需求。
在一种可能的实现方法中,所述缓存控制器从所述第一存储位置获取所述待访问数据,并将所述待访问数据写入所述第二存储位置;或
所述缓存控制器将所述第二存储位置发送给所述代理模块;
所述代理模块从所述第一存储位置获取所述待访问数据之后,还包括:
所述代理模块将所述待访问数据的副本写入所述第二存储位置。
在一种可能的实现方法中,缓存控制器为可拆卸插件;代理模块为Http代理;缓存控制器具有至少两个Http接口,至少两个Http接口包括第一Http接口和第二Http接口,第一Http接口用于与Http代理通信,第二Http接口用于与存储器交互数据。
通过上述设计,缓存控制器可以采用Http接口与Http代理和存储器交互,可以移植性更强。
第三方面,本申请实施例提供了一种数据调度系统,该系统包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数;
在一个可能的设计中,代理模块用于执行第一方面的方法中代理模块所执行的各个步骤所执行的功能。缓存控制器用于执行第一方面的方法中缓存控制器所执行的各个步骤所执行的功能。
示例性地,所述代理模块,用于接收客户端发送的访问请求,所述访问请求用于请求待访问数据;所述缓存控制器,用于接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并将所述存储位置发送至所述代理模块;所述代理模块,用于从所述存储位置获取所述待访问数据,并将所述待访问数据发送至所述客户端;所述缓存控制器,还用于根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
第四方面,本申请实施例提供了另一种数据调度系统,该系统包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数;
在一个可能的设计中,代理模块用于执行第二方面的方法中代理模块所执行的各个步骤所执行的功能。缓存控制器用于执行第二方面的方法中缓存控制器所执行的各个步骤所执行的功能。
示例性地,所述代理模块,用于接收客户端发送的访问请求,所述访问请求用于请求待访问数据;所述缓存控制器,用于接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并从所述存储位置获取所述待访问数据,以及将获取的所述待访问数据发送给所述代理模块;所述代理模块,用于接收所述缓存控制器发送的所述待访问数据,并将所述待访问数据发送至所述客户端;所述缓存控制器,用于根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
第五方面,本申请实施例还提供了一种装置,该装置包括多个功能单元,这些功能单元可以执行第一方面的方法中各个步骤所执行的功能,或执行第二方面的方法中各个步骤所执行的功能。这些功能单元可以通过硬件实现,也可以通过软件实现。在一个可能的设计中,该装置包括代理单元、多级存储单元以及缓存控制单元。
第六方面,本申请实施例还提供了一种装置,该装置包括处理器、存储器和收发机,所述存储器中存储有程序指令,所述处理器运行所述存储器中的程序指令,通过收发机与其他设备通信,以实现第一方面所提供的方法,或实现第二方面所提供的方法。
第七方面,本申请实施例还提供了一种装置,该装置包括至少一个处理器和接口电路,所述处理器用于通过所述接口电路与其它装置通信,以实现第一方面所提供的方法,或实现第二方面所提供的方法。
第八方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所提供的方法或执行上述第二方面所提供的方法。
上述第三方面至第五方面中任意一个方面或设计可以达到的技术效果描述,请参照上述第一方面至第二方面中任意一个可能设计可以达到的技术效果,重复之处不予描述。
附图说明
图1a为本申请实施例提供的一种可能的网络架构示意图;
图1b为现有的一种缓存节点的架构示意图;
图2a为本申请实施例提供的一种缓存节点的架构示意图;
图2b为本申请实施例提供的另一种缓存节点的架构示意图;
图3为本申请实施例提供的一种数据调度方法所对应的流程示意图;
图4为本申请实施例提供的实施例一所对应的流程示意图;
图5为本申请实施例提供的实施例二的方法流程示意图;
图6为本申请实施例提供的实施例三的方法流程示意图;
图7为本申请实施例提供的实施例四的方法流程示意图;
图8为本申请实施例提供的另一种缓存节点的结构示意图;
图9为本申请实施例提供的一种缓存控制器的结构示意图;
图10为本申请实施例提供的另一种缓存控制器的结构示意图。
具体实施方式
参见图1a,图1a是本申请涉及的一种内容分发网络(content delivery network,CDN)的结构示意图。CDN系统包括源站节点10、控制平台20、内容分发网络CDN、客户端101-105。其中,内容分发网络CDN包括中心缓存节点60-61以及边缘缓存节点70-74。
客户端101-105通常是用户侧设备,用于供用户使用以访问源站节点10的内容数据。举例来说,客户端可以是智能手机、平板电脑、台式计算机、车载设备以及可穿戴设备等等,此处不作具体限定。
源站节点10通常设置在远离客户端101-105的数据中心,用于存储大量的内容数据。举例来说,源站节点10可以是提供娱乐、体育、新闻或者影视等等视频观看或下载的网站的节点,可以是提供音乐或者书籍等等的音频播放的网站的节点,可以是提供新闻、文章以及书籍等等文字阅读的网站的节点等等,此处不作具体限定。
中心缓存节点是边缘缓存节点73-74的上级节点,同时,中心缓存节点60-61也是源站节点10的下级节点,也就是说,中心缓存节点可以在边缘缓存节点和源站之间起到承上启下的作用。
边缘缓存节点70-74,也可以称之为代理缓存(surroigate),距离终端设备仅有“一跳”(single hop)之遥,用于缓存源站节点10下发给边缘缓存节点70-74的内容数据,以便客户端101-105的就近访问。具体地来说,边缘缓存节点70-74中存储了源站节点10的镜像,并且,边缘缓存节点70-74通常设置于网络边缘,因此,边缘缓存节点70-74可以代替源站节点10向客户端101-105提供内容数据,从而实现内容数据的边缘存储和传播,解决网络拥挤的状况,提高客户端101-105访问源站节点10的响应速度。
为了保证数据能够尽快从边缘缓存节点70-74发送到客户端101-105,边缘缓存节点70-74和客户端101-105必须遵循以下设置:
边缘缓存节点70-74设置在不同的地域。举例而言,边缘缓存节点70可设置在华南地区,边缘缓存节点71设置在华中地区,边缘缓存节点72设置在华西地区,边缘缓存节点73设置在华北地区,边缘缓存节点74设置在华东地区。
客户端101-105设置在不同的地域。举例而言,客户端101可设置在华南地区,客户端102设置在华中地区,客户端103设置在华西地区,客户端104设置在华北地区,客户端105设置在华东地区。
也就是说,客户端101位于华南地区,因此客户端101与边缘缓存节点70在同一区域,两者的距离最近;客户端102位于华中地区,因此客户端102与边缘缓存节点71在同一区域,两者的距离最近;客户端103位于华西地区,因此客户端103与边缘缓存节点72在同一区域,两者的距离最近;客户端104位于华北地区,因此客户端104与边缘缓存节点73在同一区域,两者的距离最近;客户端105位于华东地区,因此客户端105与边缘缓存节点74在同一区域,两者的距离最近。
在其他实施例中,源站节点的数量不仅限于2个,可以是其他正整数,中心缓存节点的数量不仅限于2个,可以是其他正整数,边缘缓存节点的数量也不限于5个,可以是其他正整数,此次不作具体限定。
需要说明的是,图1a所示的内容分发网络的架构仅为示意,本实施例对内容分发网络的架构不做限定,例如还可以包括调度服务器,或称为域名解析服务器,调度服务器存储有租户所租赁的所有缓存节点的信息、例如位置信息、IP地址等等。调度服务器用于接收客户端的访问请求,根据客户端所在的位置以及访问请求中携带的域名,调度该客户端将访问请求发送至距离该客户端最近的边缘缓存节点上,具体的,调度服务器将该选中的边缘缓存节点的IP地址发送给客户端,以促成客户端和边缘缓存节点的互联。
下文为便于将边缘缓存节点、中心缓存节点统称为缓存节点,如上文所述,缓存节点之所以称为代理缓存,是因为缓存节点上集成有代理模块和缓存模块,示例性地,代理模块可以是超文本传输协议(hypertext transfer protocol,Http)代理,缓存模块可以是cache存储,下面以Http代理和cache存储为例对缓存节点进行介绍。
请参见图1b,为现有一种缓存节点的架构示意图。如图1b所示,缓存节点包括Http代理和cache存储。其中,cache存储用于缓存源站的数据,Http代理用于接收并解析用户通过客户端发送的访问请求,随后从cache存储中获取用户请求的数据,并将该数据反馈给客户端。
在实际应用中,缓存节点内缓存的数据可以分为相对热数据、相对冷数据。可以理解,相对热数据可以是那些被访问频次较高的数据,反之则为相对冷数据。上述架构中,为了提高热数据的反馈效率,现有cache存储内会嵌入缓存调度算法(通常为LRU算法)来识别热数据,并将热数据拷贝至性能较高的存储器内。
例如,cache存储内包括内存和硬盘,其中,内存可以是与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快。与内存不同的是,硬盘读写数据的速度比内存慢,通常用于持久性地存储数据。在本实施例中,缓存的源站的所有数据均可以先存储在硬盘中,通过LRU算法识别出其中的热数据,具体的,LRU算法能够根据最近一段时间内的数据被访问频次来识别热数据,其核心思想是“如果该数据最近被访问过,那么将来被访问的几率也更高”。随后,cache存储可以将识别出的热数据从硬盘拷贝至内存中。这样,将来该数据再次被访问时,可以以较快的速度反馈给客户端,以此缩短反馈时延,提高用户体验。
由于缓存调度算法嵌入在cache存储内,如果cache存储内有硬件或软件变更,例如cache存储扩容或缩容或基于硬件的更改调整缓存调度算法时,均需要都需要重新启动cache存储才能使新的配置生效,耦合性比较强,降低了缓存节点的工作效率。
鉴于此,本申请提供了一种新的缓存节点的构架,以及基于此架构提供了一种数据调度方法,具体的,本申请提供的缓存节点包括Http代理、缓存控制器,N级存储器,所述N级存储器中的每一级存储器具有不同的性能,所述N取正整数。该数据调度方法包括:缓存控制器从控制平台获取域名缓存策略,根据域名缓存策略将数据存放到N级存储器中,并记录全局热点信息,所述全局热点信息包括数据和该数据的存储位置的对应关系,该存储位置可以存储于N级存储器中的一级或多级存储器中;接收访问请求,该访问请求用于请求第一数据,缓存控制器根据该全局热点信息确定第一数据的第一存储位置,该第一存储位置可以是该数据被存储的一级或多级存储器中访问速度最快的存储器中的位置。
上述方式,由缓存控制器来管理N级存储器,并通过全局热点信息记录数据的存储位置,Http代理、缓存控制器和N级存储器互相独立,降低了缓存控制器、N级存储器以及Http代理之间的耦合性,这样,当N级存储器中有任一级存储器有更新操作时,不会影响缓存控制器的热度统计,即对全局热度信息不会造成影响,从而避免影响缓存节点的正常运行。
接下来结合具体的附图对本申请实施例中的缓存节点进行具体介绍。
请参见图2a,为本申请实施例提供的一种缓存节点的内部结构示意图。如图2a所示,该缓存节点包括Http代理、缓存控制器、N级存储器(图2a是以N=3,L1、L2和L3为例示出的,但本实施例对此不做限定)。本申请实施例中,缓存控制器可以以插件化的方式插接在缓存节点中,示例性地,该缓存控制器可以以标准化的Http接口与Http代理或者存储器实现互联。这里的标准化Http接口仅为举例,本申请实施例对缓存控制器的接口协议或形式不做限定,可以是现有的标准协议接口,也可以是未来的标准协议接口。缓存节点可以通过探测缓存控制器的接口的方式来检测缓存节点内是否安装有缓存控制器。
其中,Http代理,用于从源站或者上一级缓存节点获取源站的数据,本领域技术人员可以称之为回源,Http代理可以将回源的数据存储于HDD存储器中。应理解,随着数据的热度变化,该数据还可能被存储到固态驱动器(solid state disk或solid state drive,SSD)存储器或者内存缓存中。或者,Http代理也可以将回源的数据发送给缓存控制器,由缓存控制器将该数据写入一级或多级存储器中。Http代理,还用于接收客户端发送的第一Http请求(即访问请求),该第一Http请求用于请求第一数据。示例性地,缓存控制器发送第二Http请求,该第二Http请求用于请求第一数据;其中,第二Http请求可以是第一Http请求。可选的,缓存控制器也可以向N级存储器中的一级或多级存储器,例如图2a中的SSD存储器或HDD存储器,发送第三Http请求以获取用户请求访问的数据,第三Http请求可以是一个新的Http请求,也可以是第二Http请求。缓存控制器还用于向Http代理发送响应,该响应可以是第一数据,也可以是第一数据的存储位置等。对应的,Http代理,还用于接收缓存控制器发送的响应或者根据缓存控制器的响应,从N级存储器中获取用户请求访问的数据,并将获取的数据发送给客户端。
N级存储器,可以包括一级存储器(记为L1层)、二级存储器(记为L2层)和三级存储器(记为L3层),其中每一级存储器的性能不同。例如,L1层为内存缓存(示例性地,L1层可以位于缓存控制器中),在该架构中,具有最高的性能,最快的读写速度;其次是L2层,L2层可以是SSD存储器;最后是L3层,L3层可以是硬盘驱动器(hard disk drive,HDD)存储器;相应的,L1可以用于存储热数据;L2层可以用于存储温数据,L3层可以用于存储源站下发的所有数据,或者说用户访问过的所有数据。当然,后续,L3层、L2层、L1层也可以基于淘汰策略选择性将一些缓存数据删除,避免长期占用存储资源。
缓存控制器,用于接收控制平台发送的域名缓存策略。控制平台也可以理解为租户管理平台,示例性地,该域名缓存策略可以包括但不限于下列中的一项或多项:租户的域名信息、优先级信息、保存时间等。还用于对N级存储器进行管理,基于缓存策略将数据拷贝(或者说写入)至不同层级的存储器内,例如,将来自优先级较高的域名的数据拷贝至内存缓存,将来自优先级次高的域名的数据存放在SDD存储器。同时,将数据的标识和该数据的存储位置记录在全局热点信息中。其中,数据的标识可以是根据该数据的统一资源定位系统(uniform resource locator,URL)地址生成的索引值或哈希值等,本申请实施例对此不做限定。
缓存控制器,还用于接收Http代理发送的第二Http请求,其中第二Http请求用于请求第一数据,随后,基于全局热点信息确定该第一数据的第一存储位置。第一存储位置可以是第一数据在第m级存储器上的存储位置,第m存储器为存储有第一数据的一级或多级存储器中性能最高的一级存储器,也可以理解为该第一数据的最快获取位置。示例性地,若该第一数据存储于L1层内,如图2a所示,L1层可以位于缓存控制器中,则第一存储位置为内存缓存中第一数据的存储位置,也可以称为在内存缓存命中,则缓存控制器可以直接从自身的L1层获取该第一数据,将该第一数据发送给Http代理,节省了缓存控制器与从其他层级存储器例如L2层或者L3层交互的时间。再示例性地,若该第一数据存储于L2层或L3层,则第一存储位置为第一数据在SSD存储器中的存储位置,或称第一数据在SSD存储器命中,则缓存控制器可以向SSD存储器或HDD存储器发送第三Http请求,对应的,SSD存储器向缓存控制器返回第一数据。
需要说明的是,图2a仅为举例,本申请实施例对缓存节点的具体结构不做限定,实际上,本实施例适用的缓存节点可以具有比图2a更多或者更少的部件,请参见图2b,图2b为本申请实施例提供的另一种缓存节点的架构示意图。例如,缓存控制器内未集成内存缓存,或者说缓存控制器的内存资源不对缓存数据开放。又例如,Http代理内包含高热内存缓存(记为L0层),其中,L0层可以用于存储高热数据,例如播放量较高的直播数据在当前直播时刻之前一段时间内的视频数据,用户可以获取该视频数据观看直播。或者缓存节点不具有内存缓存,或者内存缓存不位于缓存控制器中,本申请实施例对各部件的部署形式也不做限定。
上述介绍仅为部分介绍,并不构成对上述各元件的功能限定,本实施例中,上述各器件还可以具有更多的模块或功能,例如,多级存储器可以具有智能决策能力、自动标注能力、知识学习能力等等,下文会进行介绍,这里不做重点说明。
接下来对本申请实施例提供的数据调度方法进行具体说明。
下面请参考图3,图3为本申请实施例提供的一种数据调度方法所对应的流程示意图。该方法可以应用图2a或图2b所示的缓存节点中。该方法包括如下步骤:
步骤300:客户端发送访问请求至代理模块,对应的,代理模块接收客户端发送的访问请求。
其中,该访问请求用于请求待访问数据。
步骤301:代理模块将访问请求发送给缓存控制器,对应的,缓存控制器接收代理模块转发的访问请求。
步骤302:缓存控制器确定该待访问数据的存储位置。
示例性地,缓存控制器根据全局热点信息确定该待访问数据的存储位置。
步骤303a,缓存控制器将该待访问数据的存储位置发送给代理模块。
步骤304a,代理模块根据该存储位置从N级存储器中获取该待访问数据。
步骤303b,缓存控制器根据该存储位置从N级存储器中获取该待访问数据。
步骤304b,缓存控制器向代理模块发送该待访问数据,对应的,代理模块接收缓存控制器发送的该待访问数据。
步骤305,代理模块将该待访问数据发送给客户端,对应的,客户端接收该代理模块发送的该待访问数据。
需要说明的是,步骤303a至步骤304a所示的方法与步骤303b至步骤304b所示的方式可以在同一缓存控制器例如,图2a所示的缓存控制器执行;也可以是根据不同的缓存控制器的结构,实现不同的方式,例如,图2a所示的缓存控制器可以执行步骤303b至步骤304b;图2b所示的缓存控制器可以执行步骤303a至步骤304b。
下面结合具体的实施例,对本实施例提供的数据调度方法的具体流程进行举例说明。
实施例一
请参考图4,图4为本申请实施例提供的一种数据调度方法所对应的流程示意图。该方法可以应用图2a或图2b所示的缓存节点中。该方法包括如下步骤:
步骤401:缓存控制器接收控制平台发送的域名缓存策略。
具体的,域名缓存策略可以包括但不限于下列中的一项或多项:域名信息、优先级信息、保存时间等。其中,域名信息用于指示域名;保存时间用于缓存节点确定保存该域名的数据的时间,或者是该数据的淘汰周期等。
具体的,优先级信息用于指示该域名的数据的优先级,示例性地,不同的优先级对应不同的存储器层级,优先级的等级与存储器层级一一对应。例如,优先级包括高、中、低三个等级,则高等级可以对应内存缓存;中等级可以对应SSD存储器,低等级则可以对应HDD存储器。再示例性地,该域名缓存策略可以用于确定准入算法的特征因子,或者说特征的权重,例如,数据的特征为域名和热度值,准入算法为将数据的域名的加权值和数据的热度值的加权值进行求和,若域名缓存策略指示该第一域名的优先级较高,则第一域名的权重或第一域名的数据的热度值的权重也会较高,这样在热度值相同的情况下,相对于优先级较低的域名的数据,第一域名的数据满足准入条件的机会也可能更大。
步骤402:缓存控制器根据域名缓存策略确定数据在所述N级存储器中的存储位置,并更新全局热点信息。
一种可实施的方式,Http代理将接收到的数据存储至HDD存储器中,缓存控制器根据域名缓存策略将不同域名的数据分别迁移或拷贝至对应层级的存储器中。另一种可实施的方式,Http代理将接收到的数据发送至缓存控制器,缓存控制器根据域名缓存策略将不同域名的数据存储至对应层级的存储器中。又一种可实施的方式,数据已存储在缓存节点内,且随着数据的热度值变化,缓存控制器可以根据域名缓存策略确定数据满足的准入策略,并控制将该数据存储至该准入策略对应的存储器内,例如,缓存节点上集成有SSD存储器和HDD存储器,对应的,准入策略包括SSD准入策略,若数据当前存储在HDD存储器上,且满足SSD准入策略,则将该数据存储到SSD存储器中。
具体的,该全局热点信息包括数据的标识和数据的存储位置的对应关系。
步骤403:缓存控制器接收访问请求,该访问请求用于请求第一数据。
在步骤403之前,Http代理接收客户端发送的访问请求,该访问请求用于请求第一数据。Http代理向缓存控制器发送该访问请求。
步骤404:缓存控制器根据全局热点信息确定第一数据的第一存储位置。
步骤405:缓存控制器向Http代理发送响应。
具体的,该响应可以是第一数据;这里的第一数据可以是存储在缓存控制器上的数据,也可以是缓存控制器从其他存储器中获取的。或者,
该响应为第一数据的第一存储位置,即缓存控制器不需要获取第一数据,只是将第一存储位置反馈给Http代理。或者,
该响应为第一数据或该第一存储位置;例如,第一数据存储在缓存控制器上时,缓存控制器可以将第一数据发送给Http代理,若第一数据未存储在缓存控制器上,缓存控制器可以将第一存储位置发送给Http代理。
实施例二
请参考图5,图5为本申请实施例提供的第一种数据调度方法所对应的流程示意图。该方法可以应用图2a所示的缓存节点中。该实施例中,N级存储器对Http代理不可见,即Http代理不会直接与N级存储器交互。用户的访问请求以及第一数据均通过缓存节点,可以理解为,缓存控制器为Http代理和多级存储器之间的通信桥梁。
该方法包括如下步骤:
步骤501,客户端发送访问请求,对应的,Http代理接收该访问请求,该访问请求用于请求第一数据。
步骤502,Http代理将该访问请求发送至缓存控制器,对应的,缓存控制器接收来自该Http代理的访问请求。
步骤503,缓存控制器根据全局热点信息确定该第一数据的第一存储位置。
应理解,该第一数据可以存储在多级存储器中,例如存储在HDD存储器中,同时在内存缓存中也存储有该第一数据。当第一数据的存储位置有多个时,缓存控制器确定该第一数据的第一存储位置,也即最快获取位置,即性能相对较高的存储器中的存储位置。例如,第一数据同时存储在内存缓存和HDD存储器中,则该第一数据的第一存储位置为该第一数据在内存缓存中的存储位置。又例如,第一数据存储同时存储在SSD存储器和HDD存储器中,则该第一数据的第一存储位置为该第一数据在SSD存储器中的存储位置。
步骤504,缓存控制器更新第一数据的热度值。
缓存控制器根据本次的访问请求,更新第一数据的热度值。示例性地,第一数据的热度值可以是根据该第一数据在其所在的存储器内的一段时间内的被访问频次确定的。也可以是根据其他算法确定的,本申请实施例对此不做限定,下文中类似之处不再重复说明。
步骤505a,若第一存储位置位于内存缓存(L1层)中,则缓存控制器向内存缓存发送第一Http调度请求,对应的,内存缓存接收缓存控制器发送的第一Http调度请求。
步骤506a,内存缓存向缓存控制器发送第一数据。
步骤507,缓存控制器向Http代理发送响应,对应的,Http代理接收该响应。具体的,该访问响应为第一数据。
步骤508,Http代理向客户端发送该响应,对应的,客户端接收该Http代理发送的响应。
步骤505b,若第一存储位置位于SSD存储器中,则缓存控制器向SSD存储器发送第二Http调度请求,对应的,SSD存储器接收缓存控制器发送的第二Http调度请求。
步骤505b,SSD存储器向缓存控制器发送第一数据。
步骤509a,缓存控制器根据更新后的第一数据的热度值判断该第一数据是否满足的内存准入策略,如果是,则执行步骤510a;否则,退出流程。
如前所述,本申请实施例中,缓存控制器内集成了准入算法,准入算法用于根据数据的一个或多个特征和对应的权重确定该数据的准入值。参见上文中步骤402介绍的准入算法的举例说明,此处不再赘述。
一种可实施的方式,在图2a所示的缓存节点中,缓存控制器的准入策略包括:内存准入策略和SSD准入策略。示例性地,内存准入策略为,数据的热度值不低于第一准入阈值;SSD准入策略为,数据的热度值不低于第二准入阈值。其中,第一准入阈值大于第二准入阈值可能相同,也可能不同,通常,第一准入阈值大于第二准入阈值,下文会对准入阈值进行介绍。
举例来说,若第一数据原存储在HDD存储器中或SDD存储器,且更新后第一数据的热度值不低于第一准入阈值,则该第一数据满足内存准入策略。后续,缓存控制器将该第一数据写入内存缓存中(请参见步骤510a至步骤511a)。若第一数据原存储在HDD存储器中,更新后第一数据的热度值不低于第二准入阈值,则该第一数据满足SDD准入策略,后续,缓存控制器将该第一数据写入SDD存储器中(请参见步骤510b至步骤511b)。
具体的,本申请中,内存准入策略和SSD准入策略中的准入阈值(例如第一准入阈值、第二准入阈值)是动态的值,可以根据存储器内存储的部分或全部数据的平均热度值确定的,例如,第一准入阈值可以是根据当前内存缓存中所存储的全部数据的平均热度值确定的,其中,平均热度值是根据内存缓存中存储的每一块数据的热度值确定的。应理解,内存缓存中存储的数据的热度变化,则对应的准入阈值也会随之变化。
一种可实施的方式,在判断第一数据是否满足内存准入策略时,可以根据该第一数据对应的域名缓存策略确定准入算法中部分或全部参数的权重,如前所述,各参数可以包括热度值、域名等,并将更新后第一数据的热度值和内存缓存当前的准入阈值(也就是上文中的第一准入阈值),代入准入算法中,以计算该第一数据的加权热度值,若加权热度值大于第一准入阈值,则第一数据满足内存准入策略,否则,第一数据不满足内存准入策略。举例来说,更新后第一数据的热度值为50,第一准入阈值为55,若通过准入算法确定第一数据的加权热度值为60,则该第一数据满足内存准入策略。同理,下文中判断第一数据是否满足SSD准入策略的方式类似,下文不再重复说明。
需要说明的是,步骤509是以图2a所示的三级存储器为例,本申请实施例中准入策略是与存储器的层级相关的,例如若缓存节点包含三级以上的存储器时,对应的准入策略也可以大于2个,或若在图2b所示的缓存节点中,准入策略可以仅包括SDD准入策略,本申请实施例对此不做限定。
步骤510a,缓存控制器将第一数据发送至内存缓存。
一种可实施的方式,缓存控制器在将第一数据发送给Http代理之前,对第一数据进行复制,得到第一数据的副本,将第一数据的副本写入内存缓存。
步骤511a,内存缓存写入该第一数据。
步骤512a,内存缓存向缓存控制器发送第一写入完成响应,对应的,缓存控制器接收该第一写入完成响应。
具体的,该第一写入完成响应用于指示第一数据已写入内存缓存。可选的,还可以指示第一数据在内存缓存中的存储位置。
步骤505c,若第一存储位置位于HDD存储器中,则缓存控制器向HDD存储器发送第三Http调度请求,对应的,HDD存储器接收缓存控制器发送的第三Http调度请求。
步骤506c,HDD存储器向缓存控制器发送第一数据。
可选的,该第一数据未存储在该缓存节点中,缓存节点向上一级缓存节点进行回源操作,获取该第一数据。上一级缓存节点可以是源站也可以是其他缓存节点。或者,若第一数据未存储在该缓存节点,则缓存节点也可以向客户端发送用于指示没有第一数据的响应。
步骤509b,缓存控制器根据更新后的第一数据的热度值判断该第一数据是否满足的SSD准入策略,如果是,则执行步骤510b;否则,退出流程。
步骤510b,缓存控制器将第一数据发送至SSD存储器。
步骤511b,SSD存储器写入该第一数据。
步骤512b,SSD存储器向缓存控制器发送第二写入完成响应,对应的,缓存控制器接收该第二写入完成响应。
具体的,该第二写入完成响应用于指示第一数据已写入SSD存储器。可选的,还可以指示第一数据在SSD存储器中的存储位置。
在步骤512a或步骤512b中,第一数据的副本所在的存储位置也可以称为第二存储位置。
步骤513,缓存控制器更新全局热点信息。
具体的,缓存控制器根据第一写入响应或第二写入响应更新全局热点信息中第一数据的存储位置,该存储位置可以是该第一数据所在的存储器,也可以是第一数据在存储器中的存储地址,示例性地,该存储地址可以是逻辑地址也可以是物理地址,本实施例对此不做限定。
示例性地,若缓存控制器是将第一数据的副本写入第二存储位置,则缓存控制器根据第二存储位置将第一数据和第二存储位置的对应关系添加至全局热点信息中。应理解的是,该全局热点信息中仍保存第一数据与第一存储位置的对应关系。若缓存控制器是将第一数据从第一存储位置迁移至第二存储位置,则将第一数据和第二存储位置的对应关系添加至全局热点信息之外,还需要将第一数据和第一存储位置的对应关系删除。
通过上述设计,不论是与Http代理互联,还是访问SSD存储器或HDD存储器,缓存控制器均可以采用Http标准协议。并且,由缓存控制器记录数据的存储位置,以及根据数据的准入值对数据的存储位置进行调度管理,不需要外围部件干预,交互方式更加简单。适用于硬件(例如CPU)资源充裕,且时延不特别敏感的场景。
实施例三
下面请参考图6,图6为本申请实施例提供的第二种数据调度方法所对应的流程示意图。该方法可以应用于图2b所示的缓存节点中,N级存储器对Http代理可见,即Http代理可以与存储器交互。该方法包括如下步骤:
步骤601,客户端发送访问请求,对应的,Http代理接收该访问请求,该访问请求用于请求第一数据。
步骤602,Http代理将该访问请求发送至缓存控制器,对应的,缓存控制器接收来自该Http代理的访问请求。
步骤603,缓存控制器根据全局热点信息确定该第一数据的第一存储位置。
步骤604,缓存控制器更新第一数据的热度值。
步骤605a,缓存控制器向Http代理发送第一响应,对应的,Http代理接收该缓存控制器发送的第一响应。具体的,该第一响应包括第一数据的第一存储位置。
步骤606a,若第一存储位置位于SSD存储器中,则Http代理向SSD存储器发送第一Http调度请求,对应的,SSD存储器接收Http代理发送的第一Http调度请求。
步骤607a,SSD存储器向Http代理发送第一数据。
步骤608,Http代理向客户端发送第二响应,对应的,客户端接收该Http代理发送的第二响应。具体的,该第二响应包括第一数据。
步骤605b,若第一存储位置位于HDD存储器中,则缓存控制器根据更新后第一数据的热度值判断该第一数据是否满足SSD准入策略,如果是,则执行步骤607b;否则,执行步骤606b。
步骤606b,缓存控制器向Http代理发送第三响应,对应的,Http代理接收缓存控制器发送的第三响应。具体的,该第三响应包括第一数据的第一存储位置。
步骤607b,缓存控制器向Http代理发送第四响应,对应的,Http代理接收该缓存控制器发送的第四响应。具体的,该第四响应包括第一数据的第一存储位置和准入标识。
该准入标识,用于表示第一数据所满足的准入策略或者用于指示第二存储位置。在图2b所示的架构中,N级存储器包括SSD存储器和HDD存储器,因此,准入策略包括SSD准入策略。对应的,该准入标识也可以称为SSD准入标识,用于指示将第一数据写入SSD存储器。
当然,如前所述的本申请实施例对准入策略的数量不做限定,准入策略可以随着存储器的层级数量变化而变化,因此,本申请实施例对准入标识的数量也不做限定。如果存在多个准入策略,则可以通过不同的准入标识来区分不同的准入策略,或者通过同一个准入标识的不同值来表示不同的准入策略,本实施例对此也不做限定。
步骤608b,Http代理向HDD存储器发送第二Http调度请求,对应的,HDD存储器接收Http代理发送的第二Http调度请求。
步骤609b,HDD存储器向Http代理发送第一数据。
步骤610b,Http代理向客户端发送第五响应,对应的,客户端接收该Http代理发送的第五响应。具体的,该第五响应包括第一数据。
步骤611b,若第四响应还包括准入标识,则Http代理将第一数据的副本发送至SSD存储器。
示例性地,Http代理在向客户端发送第五响应之前,判断第四响应是否包含准入标识,如果包含,对第一数据进行复制,得到第一数据的副本,在步骤611b将第一数据的副本发送至SSD存储器。
步骤612b,SSD存储器写入该第一数据。
步骤613b,SSD存储器将写入完成响应发送给Http代理,对应的,Http代理接收SSD存储器发送的写入完成响应。
具体的,该写入完成响应用于指示第一数据在SSD存储器中的存储位置。该存储位置可以是SDD存储器和/或SDD存储器存储第一数据的存储空间。
步骤614b,Http代理向缓存控制器发送该第一数据的存储位置更新信息,对应的,缓存控制器接收Http代理发送的该第一数据的存储位置更新信息。
具体的,该存储位置更新信息用于指示该第一数据的新的存储位置,即第一数据迁入至SDD存储器中的存储位置,如前所述,该存储位置可以是SDD存储器和/或SDD存储器存储第一数据的存储空间。
步骤615b,缓存控制器根据该第一数据的存储位置更新全局热点信息。
关于步骤601至步骤604、步骤615b请分别参见步骤501至步骤504、步骤513的介绍,此处不再重复说明。
上述方式,SSD存储器和HDD存储器对Http代理可见,当第一数据在SSD存储器或HDD存储时,Http代理可以从SSD存储器或HDD存储器获取第一数据,上述方式对硬件资源要求最低,适用于硬件资源(例如处理器或存储)不足的老旧设备场景。
实施例四
下面请参考图7,图7为本申请实施例提供的第三种数据调度方法所对应的流程示意图。该方法可以应用图2a所示的缓存节点中。该方法包括如下步骤:
步骤701,客户端发送访问请求,对应的,Http代理接收该访问请求,该访问请求用于请求第一数据。
步骤702,Http代理将该访问请求发送至缓存控制器,对应的,缓存控制器接收来自该Http代理的访问请求。
步骤703,缓存控制器根据全局热点信息确定该第一数据的第一存储位置。
步骤704,缓存控制器更新第一数据的热度值。
步骤705a,若第一存储位置位于内存缓存(L1层)中,则缓存控制器向内存缓存发送第一Http调度请求,对应的,内存缓存接收缓存控制器发送的第一Http调度请求。
步骤706a,内存缓存向缓存控制器发送第一数据。
步骤707a,缓存控制器向Http代理发送第一响应,对应的,Http代理接收该第一响应。具体的,该第一响应包括第一数据。
步骤708a,Http代理向客户端发送该第一响应,对应的,客户端接收该Http代理发送的第一响应。
步骤705b,若第一存储位置位于SSD存储器,则缓存控制器向Http代理发送第二响应,对应的,Http代理接收缓存控制器发送的第二响应。具体的,该第二响应包括第一数据的第一存储位置。
步骤706b,Http代理向SSD存储器发送第二Http调度请求,对应的,SSD存储器接收Http代理发送的第二Http调度请求。
步骤707b,SSD存储器向Http代理发送第一数据,对应的,Http代理接收SSD存储器发送的第一数据。
步骤708b,缓存控制器根据更新后第一数据的热度值判断第一数据是否满足内存准入策略;如果是,则执行步骤709b,否则,退出流程。
步骤708可以参见步骤504的描述,此处不再赘述。
步骤709b,缓存控制器向SSD存储器发送第三Http调度请求,对应的,SSD存储器接收Http代理发送的第三Http调度请求。
步骤710b,SSD存储器向缓存控制器发送第一数据,对应的,缓存控制器接收SSD存储器发送的第一数据。
步骤711b,缓存控制器将第一数据发送至内存缓存。
步骤712b,内存缓存写入第一数据。
步骤713b,内存缓存向缓存控制器发送第一写入完成响应,对应的,缓存控制器接收该第一写入完成响应。
需要说明的是,步骤705b~步骤707b与步骤708b~步骤713b是两个独立的流程,步骤705b~步骤707b中的任一步骤与步骤708b之间没有严格的时间限定,例如,步骤705b和步骤708b可以是同时执行的,也可以是先执行步骤708b再执行步骤705b,本申请实施例对此不做限定。
步骤705c,若第一存储位置位于HDD存储器,则缓存控制器向Http代理发送第三响应,对应的,Http代理接收缓存控制器发送的第三响应。具体的,该第三响应包括第一数据的第一存储位置。
步骤706c,Http代理向HDD存储器发送第四Http调度请求,对应的,HDD存储器接收Http代理发送的第四Http调度请求。
步骤707c,HDD存储器向Http代理发送第一数据,对应的,Http代理接收HDD存储器发送的第一数据。
步骤708c,缓存控制器根据更新后第一数据的热度值判断第一数据是否满足SSD准入策略;如果是,则执行步骤709c,否则,退出流程。
需要说明的是,上述仅为举例说明,在第一数据存储在HDD存储器场景中,还可以判断更新后第一数据是否满足内存准入策略,若第一数据不满足内存准入策略,再判断第一数据是否满足SSD准入策略,具体请参见步骤708b至步骤713b的描述,此处不再赘述。
步骤709c,缓存控制器向HDD存储器发送第五Http调度请求,对应的,HDD存储器接收Http代理发送的第五Http调度请求。
步骤710c,HDD存储器向缓存控制器发送第一数据,对应的,缓存控制器接收HDD存储器发送的第一数据。
步骤711c,缓存控制器将第一数据发送至SDD存储器。
步骤712c,SDD存储器写入第一数据。
步骤713c,SDD存储器向缓存控制器发送第二写入完成响应,对应的,缓存控制器接收该第二写入完成响应。
步骤714,缓存控制器更新全局热点信息。
关于步骤701至步骤704、步骤714请分别参见步骤501至步骤504、步骤513的介绍,此处不再重复说明。
需要说明的是,步骤708a和步骤708b之间没有严格的时间顺序,可以是同时执行,也可以是顺序执行,例如先执行步骤708a,再执行步骤708b,或者先执行步骤708b再执行步骤708a,本申请实施例对此不做限定,同理,步骤708a和步骤708c之间也没有严格的时间顺序,本申请实施例对此不做限定,此处不再重复说明。
上述设计,SSD存储器和HDD存储器对Http代理可见,当第一数据存储在内存缓存时,缓存控制器可以直接将第一数据发送给Http代理,若第一数据在SSD存储器或HDD存储时,Http代理可以从SSD存储器或HDD存储器获取第一数据,适用于硬件(CPU)资源充裕,同时业务对时延要求比较高的场景。
本申请实施例中,缓存控制器中集成了智能AI学习型缓存算法框架,能够随着业务流量实时动态采集分析样本,通过智能缓存画像模块提取数据特征,通过历史记录学习预测数据热度,通过挑战算法选择(SSD、内存)最优准入策略,通过自回馈修正算法参数阈值,可以在保证系统性能的基础上,实现命中率有效提升。
基于与方法实施例同一发明构思,本申请实施例还提供了一种装置,用于执行上述方法实施例中图4、图5、图6或图7缓存节点执行的功能,如图8所示,该装置包括代理单元801、缓存控制单元802和N级存储单元803。所述N级存储单元中的每一级存储单元具有不同的性能,所述N取正整数。
缓存控制单元802,用于从控制平台获取域名缓存策略,域名缓存策略包括域名信息,用于确定域名信息对应的数据的存储位置;还用于根据所述域名策略将第一数据存储到所述N级存储器中,并将所述第一数据的存储位置记录至全局热点信息,所述第一数据为所述域名信息对应的数据;还用于接收访问请求,所述访问请求用于请求第一数据;并根据所述全局热点信息确定所述第一数据的第一存储位置。具体实现方式请参见图4中的步骤401-404,及图5中的步骤502、步骤503,及图6中的步骤602及603,及图7中的步骤702、步骤703的描述,此处不再赘述。
代理单元801,用于从接收客户端的访问请求,并将该访问请求发送至缓存控制单元。参见步骤图4中的步骤401,及图5中的步骤501,及图6中的步骤601,及图7中的步骤701的描述,此处不再赘述。
在一种可能的实现方式中,所述缓存控制单元802在根据所述全局热点信息确定所述第一数据的第一存储位置之后,还用于发送响应;所述响应为所述第一数据;或,所述响应为所述第一数据在第m级存储器上的第一存储位置,所述第m级存储器为,所述N级存储单元803中存储有所述第一数据的一级或多级存储器中性能最高的存储器;或,所述响应为所述第一数据或为所述第一数据在所述第m级存储器上的第一存储位置。
在一种可能的实现方式中,所述缓存控制单元802上集成有所述N级存储单元803中的一级或多级存储器;
所述缓存控制单元802具体用于:若所述第一数据位于所述缓存控制单元802中,将所述第一数据发送给所述代理单元;若所述第一数据未位于所述缓存控制单元中,将所述第一存储位置发送给所述代理单元801。
在一种可能的实现方式中,所述缓存控制单元802还用于:确定所述第一数据的第二存储位置;所述第二存储位置对应的存储器的性能与所述第一存储位置对应的存储器的性能不同。
在一种可能的实现方式中,所述缓存控制单元802向所述代理单元发送所述第一数据之后,还用于:将所述第一数据的副本写入所述第二存储位置;或
所述缓存控制单元802向所述代理模块发送所述第一存储位置时,具体用于:将所述第一存储位置和所述第二存储位置发送给所述代理单元801,由所述代理单元801在所述第一存储位置获取所述第一数据后,将所述第一数据的副本写入所述第二存储位置。
在一种可能的实现方式中,所述缓存控制单元802为可拆卸插件;所述代理单元801为Http代理;
所述缓存控制单元802具有至少两个Http接口,所述至少两个Http接口包括第一Http接口和第二Http接口,所述第一Http接口用于与所述Http代理通信,所述第二Http接口用于与所述N级存储单元中的一级或多级存储单元交互数据。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信装置,用于执行上述方法实施例中缓存控制器执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图9所示,该通信装置900包括通信单元901和处理单元902。
本申请实施例中,通信单元也可以称为收发单元,可以包括发送单元和/或接收单元,分别用于执行上文方法实施例中云缓存控制器发送和接收的步骤。
以下,结合图3至图7详细说明本申请实施例提供的装置。应理解,该装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
在一种可实施的方式中,通信单元901,用于接收代理模块转发用户触发的访问请求,该访问请求用于请求待访问数据;
处理单元902,用于确定待访问数据在N级存储器中的存储位置;具体实现方式请参见图3中的步骤302,图4中的步骤404,图5中的步骤503,及图6中步骤603及图7中的步骤703的描述,此处不再赘述。
通信单元901,还用于从所述存储位置获取所述待访问数据,并将所述待访问数据发送给代理模块。具体实现方式请参见图3中的步骤303b-步骤304b,图5中的步骤505a至步骤506a或步骤505b至步骤506b或步骤505c至步骤506c及图7中的步骤705a至步骤706a的描述,此处不再赘述。
在另一种可实施的方式中,通信单元901,用于接收代理模块转发用户触发的访问请求,该访问请求用于请求待访问数据;
处理单元902,用于根据全局热度信息确定待访问数据在N级存储器中的存储位置;具体实现方式请参见图3中的步骤302,图4中的步骤404,图5中的步骤503,及图6中步骤603及图7中的步骤703的描述,此处不再赘述。
通信单元901,还用于将存储位置发送至代理模块。具体实现方式请参见图3中的步骤303a,图6中的步骤605a或步骤606b或步骤607b,及图7中步骤705b或步骤705c的描述,此处不再赘述。
在一个简单的实施例中,本领域的技术人员可以想到如图5至图7所示的实施例中缓存控制器采用图10所示的形式。
如图10所示的装置1000,包括至少一个处理器1001、存储器1002,可选的,还可以包括通信接口1003。
存储器1002可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1002可以是上述存储器的组合。
存储器1002可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,闪存,硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD)、或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1002可以是上述存储器的组合。
本申请实施例中不限定上述处理器1001以及存储器1002之间的具体连接介质。
处理器1001可以为中央处理器(central processing unit,CPU),该处理器1001还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、人工智能芯片、片上芯片等。通用处理器可以是微处理器或者是任何常规的处理器等。具有数据收发功能,能够与其他设备进行通信,在如图9所述的装置中,也可以设置独立的数据收发模块,例如通信接口1003,用于收发数据;处理器301在与其他设备进行通信时,可以通过通信接口1003进行数据传输,例如接收代理模块发送的访问请求,向代理模块发送待访问数据的存储位置,或待访问数据。
当所述缓存控制器采用图10所示的形式时,图10中的处理器1001可以通过调用存储器1002中存储的计算机执行指令,使得所述装置1000可以执行上述任一方法实施例中的所述检测装置执行的方法。
具体的,图9的通信单元、处理单元的功能/实现过程均可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现。或者,图9中的处理单元的功能/实现过程可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现,图9的通信单元的功能/实现过程可以通过图10中的通信接口1003来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。“多个”是指两个或两个以上,其它量词与之类似。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (26)
1.一种数据调度方法,其特征在于,应用于缓存节点,所述缓存节点包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数,所述方法包括:
所述代理模块接收客户端发送的访问请求,所述访问请求用于请求待访问数据;
所述缓存控制器接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的第一存储位置,并将所述第一存储位置发送至所述代理模块;
所述代理模块从所述第一存储位置获取所述待访问数据,并将所述待访问数据发送至所述客户端;
所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
2.根据权利要求1所述的方法,其特征在于,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:
所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最高级别,将所述待访问数据设置在所述N级存储器的第1级存储器中。
3.根据权利要求1或2所述的方法,其特征在于,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:
所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最低级别,将所述待访问数据设置在所述N级存储器的第N级存储器中。
4.根据权利要求2或3所述的方法,其特征在于,该方法还包括:
所述缓存控制器根据所述待访问数据的访问请求的次数,和/或所述待访问数据对应的域名缓存策略确定所述待访问数据的优先级。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
所述缓存控制器接收控制平台发送的所述域名缓存策略,所述域名缓存策略包含所述待访问数据的域名信息以及所述待访问数据的优先级信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述缓存控制器确定所述第一数据的第二存储位置;所述第二存储位置对应的存储器的访问速度高于所述第一存储位置对应的存储器的访问速度。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述缓存控制器从所述第一存储位置获取所述待访问数据,并将所述待访问数据写入所述第二存储位置;或
所述缓存控制器将所述第二存储位置发送给所述代理模块;
所述代理模块从所述第一存储位置获取所述待访问数据之后,还包括:
所述代理模块将所述待访问数据的副本写入所述第二存储位置。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述缓存控制器为可拆卸插件;所述代理模块为Http代理;
所述缓存控制器具有至少两个Http接口,所述至少两个Http接口包括第一Http接口和第二Http接口,所述第一Http接口用于与所述Http代理通信,所述第二Http接口用于与所述存储器交互数据。
9.一种数据调度方法,其特征在于,应用于缓存节点,所述缓存节点包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数,所述方法包括:
所述代理模块接收客户端发送的访问请求,所述访问请求用于请求待访问数据;
所述缓存控制器接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并从所述存储位置获取所述待访问数据,以及将获取的所述待访问数据发送给所述代理模块;
所述代理模块接收所述缓存控制器发送的所述待访问数据,并将所述待访问数据发送至所述客户端;
所述缓存控制器根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
10.根据权利要求9所述的方法,其特征在于,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:
所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最高级别,将所述待访问数据设置在所述N级存储器的第1级存储器中。
11.根据权利要求9或10所述的方法,其特征在于,所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,包括:
所述缓存控制器根据所述待访问数据的优先级确定所述待访问数据的热度为最低级别,将所述待访问数据设置在所述N级存储器的第N级存储器中。
12.根据权利要求10或11所述的方法,其特征在于,该方法还包括:
所述缓存控制器根据所述待访问数据的访问请求的次数,和/或所述待访问数据对应的域名缓存策略确定所述待访问数据的优先级。
13.根据权利要求12所述的方法,其特征在于,该方法还包括:
所述缓存控制器接收控制平台发送的所述域名缓存策略,所述域名缓存策略包含所述待访问数据的域名信息以及所述待访问数据的优先级信息。
14.一种数据调度系统,其特征在于,所述系统包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数;
所述代理模块,用于接收客户端发送的访问请求,所述访问请求用于请求待访问数据;
所述缓存控制器,用于接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并将所述存储位置发送至所述代理模块;
所述代理模块,用于从所述存储位置获取所述待访问数据,并将所述待访问数据发送至所述客户端;
所述缓存控制器,还用于根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
15.一种数据调度系统,其特征在于,所述系统包括代理模块、缓存控制器,N级存储器,所述N级存储器中的每一级存储器的访问速度递增,所述N取正整数:
所述代理模块,用于接收客户端发送的访问请求,所述访问请求用于请求待访问数据;
所述缓存控制器,用于接收所述代理模块转发的所述访问请求,确定所述待访问数据在所述N级存储器的存储位置,并从所述存储位置获取所述待访问数据,以及将获取的所述待访问数据发送给所述代理模块;
所述代理模块,用于接收所述缓存控制器发送的所述待访问数据,并将所述待访问数据发送至所述客户端;
所述缓存控制器,用于根据所述待访问数据的访问请求的次数确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
16.一种装置,其特征在于,该装置包括代理单元、缓存控制单元,N级存储单元,所述N级存储单元中的每一级存储单元的访问速度递增,所述N取正整数:
所述代理单元,用于接收客户端发送的访问请求,所述访问请求用于请求待访问数据;
所述缓存控制单元,用于接收所述代理单元转发的所述访问请求,确定所述待访问数据在所述N级存储器的第一存储位置,并将所述第一存储位置发送至所述代理模块;
所述代理单元,用于从所述第一存储位置获取所述待访问数据,并将所述待访问数据发送至所述客户端;
所述缓存控制器,还用于根据所述待访问数据的优先级确定所述待访问数据的热度,并根据所述热度将所述待访问数据设置在所述N级存储器的第m级存储器中,其中m大于或等于1且小于等于N。
17.根据权利要求16所述的装置,其特征在于,所述缓存控制单元具体用于:根据所述待访问数据的优先级确定所述待访问数据的热度为最高级别,将所述待访问数据设置在所述N级存储单元的第1级存储单元中。
18.根据权利要求16或17所述的装置,其特征在于,所述缓存控制单元具体用于:根据所述待访问数据的优先级确定所述待访问数据的热度为最低级别,将所述待访问数据设置在所述N级存储器的第N级存储器中。
19.根据权利要求17或18所述的装置,其特征在于,所述缓存控制单元还用于:根据所述待访问数据的访问请求的次数,和/或所述待访问数据对应的域名缓存策略确定所述待访问数据的优先级。
20.根据权利要求19所述的装置,其特征在于,所述缓存控制单元还用于:接收控制平台发送的所述域名缓存策略,所述域名缓存策略包含所述待访问数据的域名信息以及所述待访问数据的优先级信息。
21.根据权利要求16-20任一项所述的装置,其特征在于,所述缓存控制单元还用于确定所述第一数据的第二存储位置;所述第二存储位置对应的存储器的访问速度高于所述第一存储位置对应的存储器的访问速度。
22.根据权利要求21所述的装置,其特征在于,所述缓存控制单元还用于从所述第一存储位置获取所述待访问数据,并将所述待访问数据写入所述第二存储位置;或
将所述第二存储位置发送给所述代理模块;所述代理单元,用于从所述第一存储位置获取所述待访问数据之后,将所述待访问数据的副本写入所述第二存储位置。
23.根据权利要求16-22任一项所述的装置,其特征在于,所述缓存控制单元为可拆卸插件;所述代理单元为Http代理;所述缓存控制单元具有至少两个Http接口,所述至少两个Http接口包括第一Http接口和第二Http接口,所述第一Http接口用于与所述Http代理通信,所述第二Http接口用于与所述存储器交互数据。
24.一种装置,其特征在于,该装置包括用于执行权利要求9-13任意一项所述方法的步骤的至少一个单元。
25.一种装置,其特征在于,包括一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述装置执行如权利要求1-8任一项所述的方法,或执行如权利要求9-13任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在流程编排装置上运行时,使得所述装置执行如权利要求1-8任一所述的方法,或执行如权利要求9-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633670.9A CN112685670A (zh) | 2020-12-31 | 2020-12-31 | 一种数据调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633670.9A CN112685670A (zh) | 2020-12-31 | 2020-12-31 | 一种数据调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685670A true CN112685670A (zh) | 2021-04-20 |
Family
ID=75456198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633670.9A Pending CN112685670A (zh) | 2020-12-31 | 2020-12-31 | 一种数据调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685670A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389890A (zh) * | 2022-01-20 | 2022-04-22 | 网宿科技股份有限公司 | 一种用户请求的代理方法、服务器及存储介质 |
CN115543220A (zh) * | 2022-11-29 | 2022-12-30 | 广东省绿算技术有限公司 | 访问管理方法、装置和计算机设备、存储介质 |
CN115933997A (zh) * | 2023-01-30 | 2023-04-07 | 南京芯驰半导体科技有限公司 | 数据访问方法、相关设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011143946A1 (zh) * | 2011-01-24 | 2011-11-24 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN104050249A (zh) * | 2011-12-31 | 2014-09-17 | 北京奇虎科技有限公司 | 分布式查询引擎系统和方法及元数据服务器 |
CN104375895A (zh) * | 2013-08-13 | 2015-02-25 | 华为技术有限公司 | 用于多种存储器间的数据存储调度方法以及装置 |
CN107888687A (zh) * | 2017-11-15 | 2018-04-06 | 长沙证通云计算有限公司 | 一种基于分布式存储系统的代理客户端存储加速方法及系统 |
US10496290B1 (en) * | 2017-04-11 | 2019-12-03 | EMC IP Holding Company LLC | Method and system for window-based churn handling in data cache |
-
2020
- 2020-12-31 CN CN202011633670.9A patent/CN112685670A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011143946A1 (zh) * | 2011-01-24 | 2011-11-24 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN104050249A (zh) * | 2011-12-31 | 2014-09-17 | 北京奇虎科技有限公司 | 分布式查询引擎系统和方法及元数据服务器 |
CN104375895A (zh) * | 2013-08-13 | 2015-02-25 | 华为技术有限公司 | 用于多种存储器间的数据存储调度方法以及装置 |
US10496290B1 (en) * | 2017-04-11 | 2019-12-03 | EMC IP Holding Company LLC | Method and system for window-based churn handling in data cache |
CN107888687A (zh) * | 2017-11-15 | 2018-04-06 | 长沙证通云计算有限公司 | 一种基于分布式存储系统的代理客户端存储加速方法及系统 |
Non-Patent Citations (1)
Title |
---|
陈新宇等: "《中台战略 中台建设与数字商业》", 31 October 2019, 机械工业出版社, pages: 67 - 68 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389890A (zh) * | 2022-01-20 | 2022-04-22 | 网宿科技股份有限公司 | 一种用户请求的代理方法、服务器及存储介质 |
CN114389890B (zh) * | 2022-01-20 | 2023-10-20 | 网宿科技股份有限公司 | 一种用户请求的代理方法、服务器及存储介质 |
CN115543220A (zh) * | 2022-11-29 | 2022-12-30 | 广东省绿算技术有限公司 | 访问管理方法、装置和计算机设备、存储介质 |
CN115543220B (zh) * | 2022-11-29 | 2023-03-24 | 广东省绿算技术有限公司 | 访问管理方法、装置和计算机设备、存储介质 |
CN115933997A (zh) * | 2023-01-30 | 2023-04-07 | 南京芯驰半导体科技有限公司 | 数据访问方法、相关设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685670A (zh) | 一种数据调度方法及装置 | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
US9882975B2 (en) | Method and apparatus for buffering and obtaining resources, resource buffering system | |
US10057367B2 (en) | Systems and methods for data caching in a communications network | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
CN106464669B (zh) | 基于访问模式的智能文件预取 | |
US11818209B2 (en) | State management and object storage in a distributed cloud computing network | |
US10326854B2 (en) | Method and apparatus for data caching in a communications network | |
US11550713B1 (en) | Garbage collection in distributed systems using life cycled storage roots | |
WO2011143946A1 (zh) | 一种cdn中边缘服务器的多级缓存管理方法与系统 | |
US10579597B1 (en) | Data-tiering service with multiple cold tier quality of service levels | |
JP5259835B2 (ja) | データノード装置、ピア情報取得方法およびシステム | |
US11675501B2 (en) | Streaming data service with isolated read channels | |
US11509700B2 (en) | Stream data record reads using push-mode persistent connections | |
WO2018049563A1 (en) | Systems and methods for caching | |
US11593270B1 (en) | Fast distributed caching using erasure coded object parts | |
Cohen et al. | Self-adjusting advertisement of cache indicators with bandwidth constraints | |
US11070600B1 (en) | Optimization techniques to support lagging readers at streaming data service | |
US20230026912A1 (en) | Systems and methods for storing content items in secondary storage | |
US11625358B1 (en) | Automatic object archiving based on user selections | |
Chen et al. | A greedy approach for caching in distributed data stores | |
Dai et al. | Dasc: A privacy-protected data access system with cache mechanism for smartphones | |
CN114124971B (zh) | 一种基于边缘缓存的cdn-p2p网络的内容副本放置方法 | |
US11741078B1 (en) | Witness service for ensuring data consistency in a distributed storage system | |
CN109672900B (zh) | 一种热点内容列表的生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |