CN112688980B - 资源分发方法、装置、计算机设备 - Google Patents
资源分发方法、装置、计算机设备 Download PDFInfo
- Publication number
- CN112688980B CN112688980B CN201910993417.5A CN201910993417A CN112688980B CN 112688980 B CN112688980 B CN 112688980B CN 201910993417 A CN201910993417 A CN 201910993417A CN 112688980 B CN112688980 B CN 112688980B
- Authority
- CN
- China
- Prior art keywords
- resource
- acquired
- edge node
- distribution
- identification information
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种资源分发方法、装置、计算机设备及可读存储介质,属于内容分发网络技术领域。本发明的资源分发方法包括:接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息;根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点;向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息;控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源;将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。本发明可以兼容两种分发模式。
Description
技术领域
本发明涉及内容分发网络领域,尤其涉及一种资源分发方法、装置、计算机设备。
背景技术
在现有的内容分发网络(Content Delivery Network,CDN)架构中,有两种常见的分发模式,分别是主动分发模式(参照图1)以及被动回源模式(参照图2)。主动分发模式在资源被用户访问之前就已经分发到边缘节点,边缘节点不支持回源。然而,由于主动分发模式不支持回源,因而主动分发模式不用承担因回源而产生的性能损耗,但是主动分发模式由于不支持回源,因而主动分发模式不能承担新的资源。被动回源模式在资源被用户访问的时候,边缘节点会检查本地缓存中是否存在资源,若不存在资源,则边缘节点会向源站节点发起回源请求,以从源站节点中获取资源。然而,由于被动回源模式支持回源,因此,被动回源模式需要承担因回源而产生的性能损耗,但是被动回源模式具有架构简单的优点。
在现有技术中,虽然CDN架构的分发模式有两种,但是在同一个CDN架构中仅仅只能实现一种分发模式,而不能同时兼容两种分发模式,以便使得CDN架构同时具有两种架构的优点。
发明内容
有鉴于此,现提供一种资源分发方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中CDN架构不能兼容两种分发模式的问题。
本发明提供了一种资源分发方法,包括:
接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息;
根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点;
向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息;
控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源;
将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。
可选地,所述控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源包括:
控制所述第一边缘节点根据所述标识信息判断所述第一边缘节点本地是否存储有所述待获取资源;
当所述第一边缘节点本地没有存储所述待获取资源时,控制所述第一边缘节点向源站节点请求所述待获取资源,并控制所述第一边缘节点将所述源站节点提供的资源分发给所述计算机设备。
可选地,所述控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源还包括:
当所述第一边缘节点本地存储有所述待获取资源时,控制所述第一边缘节点将所述待获取资源分发给所述计算机设备。
可选地,所述资源分发还包括:
接收第一计算机设备发送的资源获取请求,所述资源获取请求包括所述待获取资源的标识信息;
根据所述分发记录将所述第一边缘节点作为所述第一计算机设备的资源分发节点;
控制所述第一边缘节点为所述第一计算机设备分发所述待获取资源。
可选地,所述根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点包括:
根据所述资源获取请求中包含的IP地址以及所述待获取资源的标识信息确定为所述计算机设备分发所述待获取资源的第一边缘节点。
本发明还提供了一种资源分发装置,包括:
接收模块,用于接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息;
确定模块,用于根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点;
发送模块,用于向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息;
控制模块,用于控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源;
写入模块,用于将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。
本发明还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述技术方案的有益效果:
本发明实施例通过在接收计算机设备发送的资源获取请求时,根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点,然后向所述第一边缘节点发送分发指令,并控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源,并在第一边缘节点向计算机设备分发所述待获取资源时,不管第一边缘节点是否存在所述待获取资源,都将分发成功的记录写入数据库中,从而可以在边缘节点中不存在所述待获取资源时,可以通过被动回源模式来为计算机设备分发资源,在边缘节点中存在所述待获取资源时,可以根据分发记录来采用主动分发模式为计算机设备分发资源,进而实现兼容两种分发模式。
附图说明
图1为本发明主动分发模式的示意图;
图2为本发明被动回源模式的示意图;
图3为本发明所述资源分发的系统框架图的一种实施例的框架图;
图4为本发明所述的资源分发方法的一种实施例的流程图;
图5为本发明控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源的步骤细化流程图;
图6为本发明所述的资源分发方法的另一种实施例的流程图;
图7为本发明所述的资源分发装置的一种实施例的模块图;
图8为本发明实施例提供的执行资源分发方法的计算机设备的硬件结构示意图;
图9为本发明资源分发模式的示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
图3示意性示出了根据本申请实施例的资源分发方法的应用环境示意图。在示例性的实施例中,该系统架构可以包括计算机设备101、CDN服务器102、边缘节点103、源站节点104。计算机设备101与CDN服务器102之间、CDN服务器102与边缘节点103之间、边缘节点103与源服节点104之间可通过有线或者无线网络6的方式进行连接。
需要说明的是,边缘节点也称CDN节点、Cache节点等,是相对于网络的复杂结构而提出的一个概念,指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度。
计算机设备101用于接收用户输入的资源获取请求,并向CDN服务器102发送资源获取请求;计算机设备101可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网进行通信,计算机设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备、智能手机、智能手表、平板电脑或连接到无线调制解调器的其它处理设备,以及各种形式的计算机设备等。
CDN服务器102可以是用于与计算机设备101进行通信的网络设备;用于接收计算机设备发送的资源获取请求,并将接收到的资源获取请求转发至边缘节点103,该CDN服务器中安装有调度程序,以调度对应的边缘节点为计算机设备分发资源,该CDN服务器优选为全局负载均衡设备。
边缘节点103用于存储源站节点104中的资源,比如静态资源,静态资源包括但不,限于图片文件、文本文件、音频文件、视频文件、动画文件、PPT文件、Word文件、Excel文件、PDF文件、软件包文件、压缩包文件等各种不依赖于程序动态生成的文件。边缘节点103在接收到资源获取请求后,根据资源获取请求中的待获取资源标识确定出对应的资源。
源服节点104中存储有计算机设备需要访问的资源;源服节点104可以是一个源的源服务器,也可以是多个源的源服务器。比如百度服务器属于一个源的源服务器,B站服务器属于另一个源的源服务器。
基于图3所示的系统架构,提出了一种资源分发方法。参阅图4,其为本发明一实施例的资源分发方法的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以资源分发装置为执行主体进行示例性描述,从图中可以看出,本实施例中所提供的资源分发方法包括:
步骤S40、接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息。
具体地,所述资源获取请求可以为wap请求,也可以为http请求。当用户需要获取某个资源时,用户通过选中计算机设备上显示的页面上的内容URL,以触发计算机设备发送资源获取请求,从而使得资源分发装置可以接收到资源获取请求。
所述资源获取请求可以用于获取图片、文件、视频、音频等。所述资源获取请求中携带有待获取资源的标识信息,以便CDN服务器或边缘节点根据所述标识信息确定对应的资源,其中,该标识信息用于唯一标识该待获取资源,该标识信息可以为待获取资源的内容名称或者待获取资源的ID等。
步骤S41、根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点。
具体地,所述第一边缘节点调度策略为用于为所述计算机设备调用合适的边缘节点来处理计算机设备发送的资源获取请求的策略,该策略是预先设定的,比如,该策略可以为一种根据资源获取请求中的IP地址来选择合适的边缘节点处理所述资源获取请求的策略,通过该策略可以选择离用户距离最近的边缘节点来处理所述资源获取请求。该策略也可以为一种根据资源获取请求中包括待获取资源的标识信息来选择合适的边缘节点处理所述资源获取请求的策略,通过该策略可以选出包含有所述待获取资源的边缘节点处理所述资源获取请求的策略。
在一实施方式中,所述根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点包括:
根据所述资源获取请求中包含的IP地址以及所述待获取资源的标识信息确定为所述计算机设备分发所述待获取资源的第一边缘节点。
具体地,在确定为所述计算机设备分发所述待获取资源的第一边缘节点时,可以结合资源获取请求中包含的IP地址以及待获取资源的标识信息来确定,比如,可以先通过资源获取请求中包含的IP地址选中离用户距离最近的多个边缘节点,然后进一步根据待获取资源的标识信息从选出的多个边缘节点中挑出本地中存储有所述待获取资源的边缘节点作为所述第一边缘节点。在另一实施方式中,也可以先根据待获取资源的标识信息从选出的多个边缘节点中挑出本地中存储有所述待获取资源的多个边缘节点,然后进一步根据资源获取请求中包含的IP地址从选出的多个边缘节点中挑出离用户距离最近的边缘节点作为所述第一边缘节点。
步骤S42、向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息。
步骤S43,控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源。
具体地,所述分发指令用于所述计算机设备与所述第一边缘节点建立通信连接,以便所述第一边缘节点可以为所述第一计算机设备分发所述待获取资源。
所述分发指令中还携带有所述待获取资源的标识信息,以便所述第一边缘节点可以根据该标识信息来查找到该标识信息对应的资源,并在找到该标识信息对应的资源之后,将该资源通过建立的通信链路分发给所述计算机设备。
在一实施方式中,参照图5,所述控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源包括:
步骤S50,控制所述第一边缘节点根据所述标识信息判断所述第一边缘节点本地是否存储有所述待获取资源。
具体地,第一边缘节点在接收到分发指令之后,会根据该分发指令中包含的待获取资源的标识信息来判断第一边缘节点本地中是否存储有该标识信息对应的资源,即判断该第一边缘节点本地中是否存储有所述待获取资源。
需要说明的是,第一边缘节点本地存储的资源为源站节点分发的,源站节点可以根据预设的分发规则将其中的资源分发到不同的边缘节点中。
步骤S51,当所述第一边缘节点本地没有存储所述待获取资源时,控制所述第一边缘节点向源站节点请求所述待获取资源,并控制所述第一边缘节点将所述源站节点提供的资源分发给所述计算机设备。
具体地,源站节点中存储有所有资源,当第一边缘节点本地没有存储所述待获取资源时,可以触发一个控制指令,以控制第一边缘节点向源站节点发送一个携带待获取资源标识信息的资源请求命令,以便源站节点在接收到该资源请求命令时,根据该资源请求命令从其存储的资源中查找与该标识信息相匹配的资源,并在找到该资源之后,将该资源返回给第一边缘节点。第一边缘节点在接收到源站节点返回的资源之后,即可以将该资源发送给所述计算机设备,同时可以在本地存储该资源,以便下次其他用户获取该资源时,可以直接从该第一边缘节点中获取。
本发明实施例通过在第一边缘节点中不存在资源时,可以采用被动回源模式向源站节点获取所述待获取资源,从而使得本发明实施例中的架构可以承担新的资源。
步骤S52,当所述第一边缘节点本地存储有所述待获取资源时,控制所述第一边缘节点将所述待获取资源分发给所述计算机设备。
具体地,当第一边缘节点的本地存储有所述待获取资源时,可以直接触发一个控制指令,以控制第一边缘节点直接将其本地存储的所述待获取资源分发给计算机设备。
本实施例中,通过在第一边缘节点的本地存储有所述待获取资源时,直接采用主动分发模式将资源分发给计算机设备,当第一边缘节点的本地没有存储所述待获取资源时,采用被动回源模式向源站节点获取所述待获取资源,并在获取到资源之后,将该资源分发给计算机设备,从而实现兼容两种分发模式。
步骤S44,将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。
具体地,参照图9,在本实施例中的资源分发模式与现有的主动分发模式的不同点在于,现有的主动分发模式只有在边缘节点完成资源的分发之后,才会将分发记录写入数据库中,以通过数据库记录各个边缘节点存储有哪些资源。然而,本发明实施例中的分发模式,则不用在边缘节点完成资源分发之后,才将分发记录写入数据库中,而是在发送分发指令的同时或在发送分发指令之后,就会将分发记录写入到数据库中,不用管该资源是否被第一边缘节点成功分发至计算机设备,从而使得当第一边缘节点存在用户访问的资源时,即可直接根据分发记录调用第一边缘节点实现对用户访问的资源的分发,提高获取资源的响应速度,在第一边缘节点中不存在用户访问的资源时,再下次用户访问该资源时,也可以根据该分发记录调用第一边缘节点实现对用户访问的资源的分发,而不用去源站节点获取该资源,从而可以提高获取资源的响应速度。
在本实施例中,所述待获取资源的存储地址可以为一个真实的存储地址,也可以为一个假的存储地址。比如,当该第一边缘节点A的本地存储有所述待获取资源a,则可以在分发记录中记录如下内容:第一边缘节点A中存储有资源a,此时,该分发记录中记录的所述待获取资源的存储地址即为一个真实的存储地址;当该第一边缘节点A的本地没有存储有所述待获取资源a,也可以在分发记录中记录如下内容:第一边缘节点A中存储有资源a,此时,该分发记录中记录的所述待获取资源的存储地址即为一个假的存储地址,即第一边缘节点A中没有存储有资源a,仍然将第一边缘节点A的地址作为所述待获取资源的存储地址。
本发明实施例通过在接收计算机设备发送的资源获取请求时,根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点,然后向所述第一边缘节点发送分发指令,并控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源,并在第一边缘节点向计算机设备分发所述待获取资源时,不管第一边缘节点是否存在所述待获取资源,都将分发成功的记录写入数据库中,从而可以在边缘节点中不存在所述待获取资源时,可以通过被动回源模式来为计算机设备分发资源,在边缘节点中存在所述待获取资源时,可以根据分发记录来采用主动分发模式为计算机设备分发资源,进而实现兼容两种分发模式。
进一步地,基于上述实施例提出本发明资源分发方法的另一实施例,参阅图6所示,其为本发明另一实施例的资源分发方法的流程示意图,从图中可以看出,本实施例中所提供的资源分发方法包括:
步骤S60,接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息。
步骤S61,根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点。
步骤S62,向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息。
步骤S63,控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源。
步骤S64,将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。
具体地,步骤S60-S64与上述实施例中的步骤S40-S44相同,在本实施例中不再赘述。
步骤S65,接收第一计算机设备发送的资源获取请求,所述资源获取请求包括所述待获取资源的标识信息。
步骤S66,根据所述分发记录将所述第一边缘节点作为所述第一计算机设备的资源分发节点。
步骤S67,控制所述第一边缘节点为所述第一计算机设备分发所述待获取资源。
具体地,第一计算机设备A可以为上述实施例中提到的计算机设备,也可以为与上述实施例中提到的计算机设备所不同的其他计算机设备。当该第一计算机设备A在计算机设备101之后发送资源获取请求,以获取所述待获取资源时,由于分发记录中已记录具体哪个边缘节点存储有所述待获取资源,因此,在接收到获取所述待获取资源的资源请求时,即可以直接根据该分发记录中记录的所述待获取资源的存储地址来判定所述第一边缘节点作为所述第一计算机设备的资源分发节点,然后就可以通过该第一边缘节点直接为所述第一计算机设备分发所述待获取资源,而不用再次通过被动回源模式向源站节点请求获取该资源,从而可以省去因回源而产生的性能损耗。
参阅图7所示,是本发明资源分发装置700一实施例的程序模块图。
本实施例中,所述资源分发装置700包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本发明各实施例的资源分发功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,资源分发装置700可以被划分为一个或多个模块。例如,在图7中,所述资源分发装置700可以被分割成接收模块701、确定模块702、发送模块703,控制模块704及写入模块705。其中:
接收模块701,用于接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息。
具体地,所述资源获取请求可以为wap请求,也可以为http请求。当用户需要获取某个资源时,用户通过选中计算机设备上显示的页面上的内容URL,以触发计算机设备发送资源获取请求,从而使得资源分发装置可以接收到资源获取请求。
所述资源获取请求可以用于获取图片、文件、视频、音频等。所述资源获取请求中携带有待获取资源的标识信息,以便CDN服务器或边缘节点根据所述标识信息确定对应的资源,其中,该标识信息用于唯一标识该待获取资源,该标识信息可以为待获取资源的内容名称或者待获取资源的ID等。
确定模块702,用于根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点。
具体地,所述第一边缘节点调度策略为用于为所述计算机设备调用合适的边缘节点来处理计算机设备发送的资源获取请求的策略,该策略是预先设定的,比如,该策略可以为一种根据资源获取请求中的IP地址来选择合适的边缘节点处理所述资源获取请求的策略,通过该策略可以选择离用户距离最近的边缘节点来处理所述资源获取请求。该策略也可以为一种根据资源获取请求中包括待获取资源的标识信息来选择合适的边缘节点处理所述资源获取请求的策略,通过该策略可以选出包含有所述待获取资源的边缘节点处理所述资源获取请求的策略。
在一实施方式中,所述确定模块702,还用于根据所述资源获取请求中包含的IP地址以及所述待获取资源的标识信息确定为所述计算机设备分发所述待获取资源的第一边缘节点。
具体地,在确定为所述计算机设备分发所述待获取资源的第一边缘节点时,可以结合资源获取请求中包含的IP地址以及待获取资源的标识信息来确定,比如,可以先通过资源获取请求中包含的IP地址选中离用户距离最近的多个边缘节点,然后进一步根据待获取资源的标识信息从选出的多个边缘节点中挑出本地中存储有所述待获取资源的边缘节点作为所述第一边缘节点。在另一实施方式中,也可以先根据待获取资源的标识信息从选出的多个边缘节点中挑出本地中存储有所述待获取资源的多个边缘节点,然后进一步根据资源获取请求中包含的IP地址从选出的多个边缘节点中挑出离用户距离最近的边缘节点作为所述第一边缘节点。
发送模块703,用于向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息。
控制模块704,用于向所述第一边缘节点发送分发指令,并控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源。
具体地,所述分发指令用于所述计算机设备与所述第一边缘节点建立通信连接,以便所述第一边缘节点可以为所述第一计算机设备分发所述待获取资源。
所述分发指令中还携带有所述待获取资源的标识信息,以便所述第一边缘节点可以根据该标识信息来查找到该标识信息对应的资源,并在找到该标识信息对应的资源之后,将该资源通过建立的通信链路分发给所述计算机设备。
在一实施方式中,所述控制模块704,还用于控制所述第一边缘节点根据所述标识信息判断所述第一边缘节点本地是否存储有所述待获取资源。
具体地,第一边缘节点在接收到分发指令之后,会根据该分发指令中包含的待获取资源的标识信息来判断第一边缘节点本地中是否存储有该标识信息对应的资源,即判断该第一边缘节点本地中是否存储有所述待获取资源。
需要说明的是,第一边缘节点本地存储的资源为源站节点分发的,源站节点可以根据预设的分发规则将其中的资源分发到不同的边缘节点中。
所述控制模块704,还用于当所述第一边缘节点本地没有存储所述待获取资源时,控制所述第一边缘节点向源站节点请求所述待获取资源,并控制所述第一边缘节点将所述源站节点提供的资源分发给所述计算机设备。
具体地,源站节点中存储有所有资源,当第一边缘节点本地没有存储所述待获取资源时,可以触发一个控制指令,以控制第一边缘节点向源站节点发送一个携带待获取资源标识信息的资源请求命令,以便源站节点在接收到该资源请求命令时,根据该资源请求命令从其存储的资源中查找与该标识信息相匹配的资源,并在找到该资源之后,将该资源返回给第一边缘节点。第一边缘节点在接收到源站节点返回的资源之后,即可以将该资源发送给所述计算机设备,同时可以在本地存储该资源,以便下次其他用户获取该资源时,可以直接从该第一边缘节点中获取。
本发明实施例通过在第一边缘节点中不存在资源时,可以采用被动回源模式向源站节点获取所述待获取资源,从而使得本发明实施例中的架构可以承担新的资源。
在另一实施方式中,所述控制模块704,还用于当所述第一边缘节点本地存储有所述待获取资源时,控制所述第一边缘节点将所述待获取资源分发给所述计算机设备。
具体地,当第一边缘节点的本地存储有所述待获取资源时,可以直接触发一个控制指令,以控制第一边缘节点直接将其本地存储的所述待获取资源分发给计算机设备。
本实施例中,通过在第一边缘节点的本地存储有所述待获取资源时,直接采用主动分发模式将资源分发给计算机设备,当第一边缘节点的本地没有存储所述待获取资源时,采用被动回源模式向源站节点获取所述待获取资源,并在获取到资源之后,将该资源分发给计算机设备,从而实现兼容两种分发模式。
写入模块705,用于将分发记录写入数据库中,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址。
具体地,参照图9,在本实施例中的资源分发模式与现有的主动分发模式的不同点在于,现有的主动分发模式只有在边缘节点完成资源的分发之后,才会将分发记录写入数据库中,以通过数据库记录各个边缘节点存储有哪些资源。然而,本发明实施例中的分发模式,则不用在边缘节点完成资源分发之后,才将分发记录写入数据库中,而是在发送分发指令的同时或在发送分发指令之后,就会将分发记录写入到数据库中,不用管该资源是否被第一边缘节点成功分发至计算机设备,从而使得当第一边缘节点存在用户访问的资源时,即可直接根据分发记录调用第一边缘节点实现对用户访问的资源的分发,提高获取资源的响应速度,在第一边缘节点中不存在用户访问的资源时,再下次用户访问该资源时,也可以根据该分发记录调用第一边缘节点实现对用户访问的资源的分发,而不用去源站节点获取该资源,从而可以提高获取资源的响应速度。
在本实施例中,所述待获取资源的存储地址可以为一个真实的存储地址,也可以为一个假的存储地址。比如,当该第一边缘节点A的本地存储有所述待获取资源a,则可以在分发记录中记录如下内容:第一边缘节点A中存储有资源a,此时,该分发记录中记录的所述待获取资源的存储地址即为一个真实的存储地址;当该第一边缘节点A的本地没有存储有所述待获取资源a,也可以在分发记录中记录如下内容:第一边缘节点A中存储有资源a,此时,该分发记录中记录的所述待获取资源的存储地址即为一个假的存储地址,即第一边缘节点A中没有存储有资源a,仍然将第一边缘节点A的地址作为所述待获取资源的存储地址。
本发明实施例通过在接收计算机设备发送的资源获取请求时,根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点,然后向所述第一边缘节点发送分发指令,并控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源,并在第一边缘节点向计算机设备分发所述待获取资源时,不管第一边缘节点是否存在所述待获取资源,都将分发成功的记录写入数据库中,从而可以在边缘节点中不存在所述待获取资源时,可以通过被动回源模式来为计算机设备分发资源,在边缘节点中存在所述待获取资源时,可以根据分发记录来采用主动分发模式为计算机设备分发资源,进而实现兼容两种分发模式。
进一步地,在一实施方式中,所述接收模块701,还用于接收第一计算机设备发送的资源获取请求,所述资源获取请求包括所述待获取资源的标识信息。
所述确定模块702,还用于根据所述分发记录将所述第一边缘节点作为所述第一计算机设备的资源分发节点。
所述控制模块704,还用于控制所述第一边缘节点为所述第一计算机设备分发所述待获取资源。
具体地,第一计算机设备A可以为上述实施例中提到的计算机设备,也可以为与上述实施例中提到的计算机设备所不同的其他计算机设备。当该第一计算机设备A在计算机设备101之后发送资源获取请求,以获取所述待获取资源时,由于分发记录中已记录具体哪个边缘节点存储有所述待获取资源,因此,在接收到获取所述待获取资源的资源请求时,即可以直接根据该分发记录中记录的所述待获取资源的存储地址来判定所述第一边缘节点作为所述第一计算机设备的资源分发节点,然后就可以通过该第一边缘节点直接为所述第一计算机设备分发所述待获取资源,而不用再次通过被动回源模式向源站节点请求获取该资源,从而可以省去因回源而产生的性能损耗。
图8示意性示出了根据本申请实施例的适于实现资源分发方法的计算机设备800的硬件架构示意图。本实施例中,计算机设备101是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备800至少包括但不限于:可通过系统总线相互通信链接存储器801、处理器802、网络接口803。其中:
存储器801至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器801可以是计算机设备800的内部存储模块,例如该计算机设备800的硬盘或内存。在另一些实施例中,存储器801也可以是计算机设备800的外部存储设备,例如该计算机设备800上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器801还可以既包括计算机设备800的内部存储模块也包括其外部存储设备。本实施例中,存储器801通常用于存储安装于计算机设备800的操作系统和各类应用软件,例如资源分发方法的程序代码等。此外,存储器801还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器802在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器802通常用于控制计算机设备800的总体操作,例如执行与计算机设备800进行数据交互或者通信相关的控制和处理等。本实施例中,处理器802用于运行存储器801中存储的程序代码或者处理数据。
网络接口803可包括无线网络接口或有线网络接口,该网络接口803通常用于在计算机设备800与第一计算机设备之间建立通信链接。例如,网络接口803用于通过网络将计算机设备800与外部计算机设备相连,在计算机设备800与外部计算机设备之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件801~803的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。在本实施例中,存储于存储器801中的资源分发方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器802)所执行,以完成本发明。
本申请实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的资源分发方法的步骤。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (6)
1.一种资源分发方法,其特征在于,包括:
接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息;
根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点;
向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息;
控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源;
将分发记录写入数据库中,所述分发记录用于资源分发,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址;
所述控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源包括:
控制所述第一边缘节点根据所述标识信息判断所述第一边缘节点本地是否存储有所述待获取资源;
当所述第一边缘节点本地没有存储所述待获取资源时,控制所述第一边缘节点向源站节点请求所述待获取资源,并控制所述第一边缘节点将所述源站节点提供的资源分发给所述计算机设备;
当所述第一边缘节点本地存储有所述待获取资源时,控制所述第一边缘节点将所述待获取资源分发给所述计算机设备。
2.根据权利要求1所述的资源分发方法,其特征在于,所述资源分发还包括:
接收第一计算机设备发送的资源获取请求,所述资源获取请求包括所述待获取资源的标识信息;
根据所述分发记录将所述第一边缘节点作为所述第一计算机设备的资源分发节点;
控制所述第一边缘节点为所述第一计算机设备分发所述待获取资源。
3.根据权利要求1至2任一项所述的资源分发方法,其特征在于,所述根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点包括:
根据所述资源获取请求中包含的IP地址以及所述待获取资源的标识信息确定为所述计算机设备分发所述待获取资源的第一边缘节点。
4.一种资源分发装置,其特征在于,包括:
接收模块,用于接收计算机设备发送的资源获取请求,所述资源获取请求中包括待获取资源的标识信息;
确定模块,用于根据预设的边缘节点调度策略确定为所述计算机设备分发所述待获取资源的第一边缘节点;
发送模块,用于向所述第一边缘节点发送分发指令,所述分发指令包括所述待获取资源的标识信息;
控制模块,用于控制所述第一边缘节点根据所述待获取资源的标识信息为所述计算机设备分发所述待获取资源;
写入模块,用于将分发记录写入数据库中,所述分发记录用于资源分发,其中,所述分发记录包括所述待获取资源的标识信息以及所述待获取资源的存储地址;
所述控制模块,还用于控制所述第一边缘节点根据所述标识信息判断所述第一边缘节点本地是否存储有所述待获取资源,以及用于当所述第一边缘节点本地没有存储所述待获取资源时,控制所述第一边缘节点向源站节点请求所述待获取资源,并控制所述第一边缘节点将所述源站节点提供的资源分发给所述计算机设备;
所述控制模块,还用于当所述第一边缘节点本地存储有所述待获取资源时,控制所述第一边缘节点将所述待获取资源分发给所述计算机设备。
5.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述的资源分发方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至3任一项所述的资源分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993417.5A CN112688980B (zh) | 2019-10-18 | 2019-10-18 | 资源分发方法、装置、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993417.5A CN112688980B (zh) | 2019-10-18 | 2019-10-18 | 资源分发方法、装置、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112688980A CN112688980A (zh) | 2021-04-20 |
CN112688980B true CN112688980B (zh) | 2022-10-25 |
Family
ID=75445589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910993417.5A Active CN112688980B (zh) | 2019-10-18 | 2019-10-18 | 资源分发方法、装置、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112688980B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873302B (zh) * | 2021-09-29 | 2024-04-26 | 北京金山云网络技术有限公司 | 内容分发方法、装置、存储介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
CN108737372A (zh) * | 2018-04-09 | 2018-11-02 | 北京大米科技有限公司 | 一种流媒体回放方法、计算机设备及可读介质 |
CN109660578A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | Cdn的回源处理方法及装置、系统 |
CN109981765A (zh) * | 2019-03-18 | 2019-07-05 | 北京百度网讯科技有限公司 | 用于确定内容分发网络的访问路径的方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4179093B2 (ja) * | 2003-07-31 | 2008-11-12 | ソニー株式会社 | コンテンツ配信システムおよび方法、コンテンツ配信サーバ |
CN101262488B (zh) * | 2007-03-09 | 2012-05-09 | 中兴通讯股份有限公司 | 一种内容分发网络系统及方法 |
CN103747112A (zh) * | 2013-12-24 | 2014-04-23 | 乐视网信息技术(北京)股份有限公司 | 一种cdn回源的方法、第一服务器及系统 |
CN106101264B (zh) * | 2016-07-20 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 内容分发网络日志推送方法、装置和系统 |
CN108023812B (zh) * | 2016-10-31 | 2021-06-08 | 华为技术有限公司 | 云计算系统的内容分发方法及装置、计算节点及系统 |
CN109391640A (zh) * | 2017-08-03 | 2019-02-26 | 中国移动通信有限公司研究院 | 动态内容访问加速方法、系统、介质和计算装置 |
CN108848530B (zh) * | 2018-07-10 | 2020-09-18 | 网宿科技股份有限公司 | 一种获取网络资源的方法、装置及调度服务器 |
-
2019
- 2019-10-18 CN CN201910993417.5A patent/CN112688980B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277561A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 内容分发网络 |
CN109660578A (zh) * | 2017-10-11 | 2019-04-19 | 阿里巴巴集团控股有限公司 | Cdn的回源处理方法及装置、系统 |
CN108737372A (zh) * | 2018-04-09 | 2018-11-02 | 北京大米科技有限公司 | 一种流媒体回放方法、计算机设备及可读介质 |
CN109981765A (zh) * | 2019-03-18 | 2019-07-05 | 北京百度网讯科技有限公司 | 用于确定内容分发网络的访问路径的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112688980A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11762703B2 (en) | Multi-region request-driven code execution system | |
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN108052675B (zh) | 日志管理方法、系统及计算机可读存储介质 | |
CN109976667B (zh) | 一种镜像管理方法、装置及系统 | |
CN110557284B (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN104954468A (zh) | 资源的分配方法及装置 | |
CN111414389B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
CN106933871A (zh) | 短链接处理方法、装置及短链接服务器 | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN112422702A (zh) | Cdn回源方法、系统及计算机设备 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US8856365B2 (en) | Computer-implemented method, computer system and computer readable medium | |
CN110196843B (zh) | 一种基于容器集群的文件分发方法及容器集群 | |
CN110737857A (zh) | 一种后端分页加速方法、系统、终端及存储介质 | |
CN108900627B (zh) | 一种网络请求方法、终端装置及存储介质 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN109495553A (zh) | 一种网页显示控制方法、系统及反向代理服务器 | |
CN112422450B (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN112579622A (zh) | 业务数据的处理方法、装置及设备 | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN109977677A (zh) | 漏洞信息收集方法、装置、设备及可读存储介质 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN113992662A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |