CN113626188A - 任务推送方法、装置、计算机设备和存储介质 - Google Patents

任务推送方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113626188A
CN113626188A CN202110882713.5A CN202110882713A CN113626188A CN 113626188 A CN113626188 A CN 113626188A CN 202110882713 A CN202110882713 A CN 202110882713A CN 113626188 A CN113626188 A CN 113626188A
Authority
CN
China
Prior art keywords
task
attribute information
information
content node
target
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
Application number
CN202110882713.5A
Other languages
English (en)
Inventor
王奋逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunfan Acceleration Technology Co ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Shenzhen Yunfan Acceleration Technology Co ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Yunfan Acceleration Technology Co ltd, Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Shenzhen Yunfan Acceleration Technology Co ltd
Priority to CN202110882713.5A priority Critical patent/CN113626188A/zh
Publication of CN113626188A publication Critical patent/CN113626188A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种任务推送方法、装置、计算机设备和存储介质。涉及云计算技术领域。所述方法包括:消息中间件保存服务器下发的任务信息,其中任务信息携带有第一任务和第一任务的第一属性信息,并且接收目标内容节点的任务读取请求,在确定目标内容节点的第二属性信息与第一任务的第一属性信息匹配的情况下,将第一任务作为任务读取请求的响应,返回给目标内容节点。各个内容节点主动从消息中间件拉取服务器为其分配的待执行的任务,无需服务器将各个待执行的任务一一下发给对应的内容节点,节约了服务器的数据资源的同时也提高了任务分发效率。

Description

任务推送方法、装置、计算机设备和存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种任务推送方法、装置、计算机设备和存储介质。
背景技术
CDN(Content Delivery Network,内容分发网络)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN网络中,主服务器与内容节点通信连接,当需要内容节点进行任务处理时,内容节点会等待服务器将待执行任务一一下发至对应的内容节点中,使得内容节点能够执行分到的任务,但是这种任务分发方式的任务分发效率较低,且会占用服务器较多的资源用于实现任务下发。
发明内容
为了解决上述技术问题,本申请提供了一种任务推送方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种任务推送方法,包括:
保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
接收目标内容节点的任务读取请求;
在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
第二方面,本申请提供了一种任务推送方法,应用于内容节点,所述方法包括:
在满足触发条件的情况下,向消息中间件发送任务读取请求,其中,所述任务读取请求用于请求所述消息中间件发送所述内容节点匹配的待执行任务;
接收来自所述消息中间件的响应信息;
在所述响应信息携带有第一任务的情况下,执行所述第一任务,其中,所述第一任务的第一属性信息与所述内容节点的第二属性信息匹配。
第三方面,本申请提供了一种任务推送方法,应用于服务器,所述方法包括:
获取多个内容节点的上报数据,其中,所述上报数据用于指示内容节点的运行状态;
根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息,其中,每个所述任务信息携带对应的属性信息;
发送所述多个任务信息至消息中间件。
第四方面,本申请提供了一种任务推送装置,包括:
任务接收模块,用于保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
请求接收模块,用于接收目标内容节点的任务读取请求;
任务转发模块,用于在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
第五方面,本申请提供了一种任务推送装置,包括:
请求发送模块,用于在满足触发条件的情况下,向消息中间件发送任务读取请求,其中,所述任务读取请求用于请求所述消息中间件发送所述内容节点匹配的待执行任务;
响应接收模块,用于接收来自所述消息中间件的响应信息;
任务执行模块,用于在所述响应信息携带有第一任务的情况下,执行所述第一任务,其中,所述第一任务的第一属性信息与所述内容节点的第二属性信息匹配。
第六方面,本申请提供了一种任务推送装置,包括:
数据获取模块,用于获取多个内容节点的上报数据,其中,所述上报数据用于指示内容节点的运行状态;
任务生成模块,用于根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息,其中,每个所述任务信息携带对应的属性信息;
任务发送模块,用于发送所述多个任务信息至消息中间件。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
接收目标内容节点的任务读取请求;
在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
接收目标内容节点的任务读取请求;
在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
上述任务推送方法、装置、计算机设备和存储介质,所述方法包括:保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;接收目标内容节点的任务读取请求;在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。通过消息中间件统一保存服务器下发的任务信息,各个内容节点主动从消息中间件中拉取服务器为其分配的待执行的任务,无需服务器将各个待执行的任务一一下发给对应的内容节点,节约了服务器的数据资源的同时也提高了任务分发效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中任务推送方法的应用环境图;
图2为一个实施例中任务推送方法应用于消息中间件的流程示意图;
图3为一个实施例中任务推送方法应用于内容节点的流程示意图;
图4为一个实施例中任务推送方法应用于服务器的流程示意图;
图5为一个实施例中任务推送装置的结构框图;
图6为一个实施例中任务推送装置的结构框图;
图7为一个实施例中任务推送装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中任务推送方法的应用环境图。参照图1,该任务推送方法应用于任务推送系统。该任务推送系统包括内容节点110、消息中间件120和服务器130。内容节点110、消息中间件120和服务器130进行网络连接。内容节点110具体可以为家庭节点或CDN节点,家庭节点为普通用户家庭利用闲置带宽提供下载服务的路由器或机顶盒等。CDN节点为内容分发网络(Content Delivery Network,CDN网络)中的节点。服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,图2为一个实施例中一种任务推送方法的流程示意图,参照图2,提供了一种任务推送方法。本实施例主要以该方法应用于上述图1中的消息中间件120来举例说明,该任务推送方法具体包括如下步骤:
步骤S210,保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息。
在本实施例中,消息中间件保存服务器下发的任务信息,该任务信息携带有第一任务和第一任务的第一属性信息,第一任务为服务器为内容节点分配的待执行任务,待执行任务具体可以是文件刷新任务、文件预热任务、负载任务或其他内容节点能够执行的任务。属性信息则用于标识与待执行任务的执行对象相关的字段信息,属性信息包括但不限于执行对象的IP地址、节点区域、节点服务能力以及存储状态等字段。内容节点用于向内容分发网络请求文件的终端提供所请求的文件。
步骤S220,接收目标内容节点的任务读取请求。
在本实施例中,任务读取请求用于目标内容节点从消息中间件中获取与目标内容节点相关的任务信息。任务读取请求可以在目标内容节点满足预设的触发条件时生成的,具体满足触发条件包括但不限于通过定时轮询的方式在目标内容节点处生成任务读取请求;也可以是在目标内容节点启动时自动生成任务读取请求;或是根据客户端的数据请求在目标内容节点处生成任务读取请求,具体的触发条件本实施例不做具体限定。
步骤S230,在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
在本实施例中,消息中间件获取并保存服务器下发的任务信息,并且接收到目标内容节点的任务读取请求后,会将第一任务的第一属性信息与目标内容节点的任务读取请求中的第二属性信息进行比对,确定两者信息是否匹配,若匹配,表示目标内容节点是第一任务的执行对象,则将第一任务作为任务读取请求的响应,返回给目标内容节点。其中第二属性信息用于指示目标内容节点的运行状态。
具体地,在确定第一任务的第一属性信息与目标内容节点的任务读取请求中的第二属性信息一致后,消息中间件将第一任务封装成响应信息,发送至目标内容节点,目标内容节点在接收到封装后的响应信息后,能够解析得到对应的待执行任务,并执行对应的待执行任务。例如待执行任务为文件刷新任务,则根据第一任务到指示的目标地址下载对应的目标文件,将下载的目标文件用于更新目标内容节点中缓存的旧版本的文件,即删除旧版本的文件,从而实现对目标内容节点中原本缓存的文件资源进行更新。其中目标文件具体可以是URL资源、视频资源、文档资源、图片资源等任意形式的流媒体资源。
在一个实施例中,所述方法还包括按照如下方式确定所述第二属性信息与所述第一属性信息是否匹配:消息中间件获取第一属性信息中目标字段的字段值和第二属性信息中目标字段的字段值,在第一属性信息中目标字段的字段值和第二属性信息中目标字段的字段值相同、或第一属性信息中目标字段的字段值包括第二属性信息中目标字段的字段值的情况下,则确定第二属性信息与第一属性信息匹配;如果第一属性信息中目标字段的字段值和第二属性信息中目标字段的字段值不同,则确定第二属性信息与第一属性信息不匹配。其中第二属性信息中包括多个字段,每一个字段用于标识一个属性维度,而多个字段中包括本实施例中所提到的目标字段。
具体地,以目标字段为节点区域为例进行说明:若第二属性信息中的目标字段为节点区域,具体的字段值为A区域,而第一属性信息中的目标字段同样为节点区域,具体的字段值为A区域,则确定第二属性信息与第一属性信息匹配;若第二属性信息中的目标字段为节点区域,具体的字段值为A区域,而第一属性信息中的目标字段同样为节点区域,具体的字段值为B区域,但是B区域在设定上是包含A区域的,即第一属性信息中节点区域的字段值B区域包含有第二属性信息中节点区域的字段值A区域,则确定第二属性信息与第一属性信息匹配。
若第二属性信息中的目标字段为节点区域,具体的字段值为A区域,而第一属性信息中的目标字段同样为节点区域,具体的字段值为C区域,则确定第二属性信息与第一属性信息不匹配;若第二属性信息中的目标字段为节点区域,具体的字段值为A区域,而第一属性信息中的目标字段同样为节点区域,具体的字段值为D区域,但是字段值D区域在设定上并不包含A区域的,即第一属性信息中节点区域的字段值D区域不包含第二属性信息中节点区域的字段值A区域,则确定第二属性信息与第一属性信息不匹配。
在一个实施例中,关于获取第一属性信息中目标字段的字段值和第二属性信息中目标字段的字段值,具体包括:获取第一任务的匹配条件,按照匹配条件获取第一属性信息中目标字段的字段值和第二属性信息中目标字段的字段值。
具体地,匹配条件是用于指示第二属性信息中多个字段中的目标字段,即按照目标字段对第一属性信息和第二属性信息进行比对,目标字段包括但不限于请求的IP地址、节点区域、节点服务能力以及存储状态等,例如:第一任务的匹配条件指示的目标字段为IP地址,则比对判断第一属性信息中的IP地址与第二属性信息中的IP地址是否一致;或者,第一任务的匹配条件指示的目标字段为节点区域,则匹配第一属性信息中的节点区域与第二属性信息中的节点区域是否存在关联关系,以此类推。在实际应用中,不同的任务预设有不同的匹配条件,匹配条件能够决定第一属性信息与第二属性信息进行匹配的目标字段。
在一个实施例中,消息中间件在接收到内容分发网络中目标节点的任务读取请求后,还会执行如下方法:消息中间件在目标内容节点的第二属性信息与第一任务的第一属性信息不匹配的情况下,会从其他任务中查找其对应的属性信息与目标内容节点的任务读取请求中的第二属性信息所匹配的第二任务;在查找到对应的第二任务的情况下,将第二任务作为任务读取请求的响应,返回给目标内容节点;若未查找到对应的第二任务,则将标识任务读取失败的信息返回给目标内容节点。
其中,消息中间件中保存有多个不同的任务,本实施例中不同的任务以其他任务作为对第一任务的区分,每一不同的任务各自带有对应的属性信息,例如第一任务则对应有第一属性信息,第二任务则对应有第二属性信息。消息中间件可以在接收到第一任务的同时,一并接收服务器所下发的多个不同的任务进行保存,以便后续进行匹配;也可以在确定第一任务的第一属性信息与第二属性信息不匹配的情况下,再自主地向服务器请求多个不同的任务进行匹配。
具体地,当消息中间件在确定目标内容节点的第二属性信息与第一任务的第一属性信息不匹配的情况下,会从其他任务中查找属性信息与第二属性信息相匹配的任务作为第二任务;若无法从其他任务中查找到属性信息与第二属性信息相匹配的任务,则将表示任务读取失败的信息封装成响应信息返回给目标内容节点,以告知目标内容节点当前服务器不存在与之相匹配的待执行任务。
在一个具体实施例中,目标内容节点包括CDN节点,即消息中间件在接收到CDN节点的任务读取请求的情况下,将与CDN接点对应的第一任务作为任务读取请求的响应,返回至CDN节点。其中CDN节点又称为边缘节点、Cache节点等,CDN节点可作为缓存服务器为客户端提供数据服务。对应的,消息中间件在确定第一属性信息与第二属性信息不匹配的情况下,将属性信息与第二属性信息相匹配的第二任务封装成响应信息返回给CDN节点;消息中间件在无法查找到与第二属性信息相匹配的任务的情况下,将表示任务读取失败的信息封装成响应信息返回给CDN节点,以告知CDN节点当前消息中间件中不存在与之对应的待执行任务。
在一个实施例中,目标内容节点包括家庭节点,即消息中间件在接收到家庭节点的任务读取请求的情况下,将与家庭节点对应的第一任务作为任务读取请求的响应,返回给内容分发网络中的家庭节点。对应的,消息中间件在确定第一属性信息与第二属性信息不匹配的情况下,将属性信息与第二属性信息相匹配的第二任务封装成响应信息返回给家庭节点;消息中间件在无法查找到与第二属性信息相匹配的任务的情况下,将表示任务读取失败的信息封装成响应信息返回给家庭节点,以告知家庭节点当前消息中间件中不存在与之对应的待执行任务。
在一个实施例中,任务信息预设有对应的时效信息,该时效信息用于标识任务信息所对应的过期时限,当任务信息保存的时长达到过期时限时,则消息中间件会删除保存的任务信息,从而解决任务信息缓存过久造成缓存冗余的问题。
在一个实施例中,图3为一个实施例中一种任务推送方法的流程示意图,参照图3,提供了一种任务推送方法。本实施例主要以该方法应用于上述图1中的内容分发网络中的内容节点110来举例说明,该任务推送方法具体包括如下步骤:
步骤S310,在满足触发条件的情况下,向消息中间件发送任务读取请求。
在本实施例中,任务读取请求用于目标内容节点从消息中间件中获取与自身相关的待执行任务,该待执行任务用于指示服务器为目标内容节点所分配的任务,例如服务器指示目标内容节点需要下载或者更新的目标文件。
满足触发条件包括但不限于通过定时轮询的方式在目标内容节点处生成任务读取请求,即目标内容节点按照触发周期定期向消息中间件送任务读取请求;也可以是在目标内容节点启动时自动生成任务读取请求;或是根据客户端的数据请求在目标内容节点处生成任务读取请求。
步骤S320,接收来自消息中间件的响应信息。
在一个实施例中,响应信息包括消息中间件返回的与目标内容节点相关的待执行任务或表示任务读取失败的信息,目标内容节点能够获取到消息中间件返回的响应,该响应具体通过以下过程进行返回:消息中间件获取并保存服务器下发的任务信息,并且接收到目标内容节点的任务读取请求后,会将第一任务的第一属性信息与目标内容节点的任务读取请求中的第二属性信息进行匹配,确定两者信息是否匹配,若匹配,则将第一任务作为任务读取请求的响应,返回给目标内容节点。其中第二属性信息用于指示目标内容节点的运行状态。
步骤S330,在响应信息携带有第一任务的情况下,按照第一任务的目标地址下载对应的目标文件,其中,第一任务的第一属性信息与内容节点的第二属性信息匹配。
在一个实施例中,消息中间件在确定第一任务的第一属性信息与目标内容节点的任务读取请求中的第二属性信息相匹配后,消息中间件将第一任务封装成响应信息,发送至目标内容节点中。目标内容节点在接收到响应信息后,能够解析得到对应的第一任务,并执行第一任务,例如第一任务为文件刷新任务,则按照第一任务中的目标地址中下载对应的目标文件,并删除目标内容节点中与目标文件对应的旧版本的文件,从而实现对目标内容节点中原本缓存的文件资源进行更新;若未获取到第一任务,则说明消息中间件中暂时还没有需要目标内容节点执行的待执行任务。
在一个实施例中,图4为一个实施例中一种任务推送方法的流程示意图,参照图4,提供了一种任务推送方法。本实施例主要以该方法应用于上述图1中的服务器来举例说明,该任务推送方法具体包括如下步骤:
S410,获取多个内容节点的上报数据。
在本实施例中,服务器与多个内容节点通信连接,服务器能够获取到多个内容节点实时上传的上报数据,通过该上报数据能够获取对应的内容节点的运行状态以及属性信息,例如资源占用情况、负载均衡状态等状态数据。
S420,根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息。
在本实施例中,文件更新记录是指文件内容的具体更新记录,文件内容具体可以是存储在服务器中的内容和/或存储在源站服务器中的内容,若文件内容是存储在源站服务器中,则服务器需要获取源站服务器中文件内容更新变化对应的更新记录;若文件内容是存储在服务器中的内容,则需要根据自身存储的文件内容的更新变化生成对应的更新记录。最终将从源站服务器获取的更新记录与服务器本身存储的更新记录进行汇总,得到所述文件更新记录,文件更新记录具体包括下载文件、删除文件或修改文件等操作记录,以及访问文件频次较高的区域以及该区域相关的字段信息。例如某一文件在某一时刻发生更新,则会生成对应的文件更新记录,以备后续的调用查询。
S430,发送多个任务信息至消息中间件。
在本实施例中,服务器将多个任务信息发送至消息中间件中进行保存,以便后续各个内容节点自主从消息中间件中拉取与自己相关的任务信息。本实施例中各个内容节点通过任务读取请求的方式主动从消息中间件拉取服务器为其分配的待执行的任务,无需服务器将各个待执行的任务一下发给对应的内容节点,节约了服务器的数据资源的同时也提高了任务分发效率。
在一个实施例中,服务器还获取各个区域内文件内容的访问频次,根据文件更新记录、各个文件内容的访问频次以及内容节点的运行状态生成多个任务信息,例如,在指定区域内目标文件的访问频次较高,根据文件更新记录发现目标文件发生更新,则会生成用于更新指定区域内的内容节点中目标文件的文件刷新任务,该文件刷新任务可以对应一个或多个内容节点,服务器将文件刷新任务以及需要执行该任务的内容节点的属性信息封装为所述任务信息发送至消息中间件,便于内容节点自主从消息中间件中拉取与自己关联的任务信息,在指定区域内的内容节点在拉取到该文件刷新任务的情况下,执行该文件刷新任务,即按照文件刷新任务中的目标地址下载新的目标文件,以更新内容节点内旧版本的目标文件。
图2-图4为一个实施例中任务推送方法的流程示意图。应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种任务推送装置,包括:
任务接收模块510,用于保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
请求接收模块520,用于接收目标内容节点的任务读取请求;
任务转发模块530,用于在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
在一个实施例中,所述任务转发模块530还用于:
获取所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值,其中,所述第二属性信息的多个字段中的每个字段用于表示一个属性维度,所述多个字段包括所述目标字段;
在所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值相同、或所述第一属性信息中目标字段的字段值包括所述第二属性信息中目标字段的字段值的情况下,确定所述第二属性信息与所述第一属性信息匹配;
在所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值不同的情况下,确定所述第二属性信息与所述第一属性信息不匹配。
在一个实施例中,所述任务转发模块530还用于:
获取所述第一任务的匹配条件,其中,所述匹配条件用于指示所述多个字段中的所述目标字段;
按照所述匹配条件获取所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值。
在一个实施例中,所述任务转发模块530还用于:
在确定所述目标内容节点的第二属性信息与所述第一任务的第一属性信息不匹配的情况下,从其他任务中查找属性信息与所述目标内容节点的第二属性信息匹配的第二任务,其中,所述其他任务与所述第一任务不同;
在查找到所述第二任务的情况下,将所述第二任务作为所述任务读取请求的响应,返回给所述目标内容节点;
在未查找到所述第二任务的情况下,将表示任务读取失败的信息返回给所述目标内容节点。
在一个实施例中,所述任务转发模块530还用于:
将所述第一任务作为所述任务读取请求的响应,返回给所述内容分发网络中的CDN节点,其中,所述目标内容节点包括所述CDN节点;
将所述第一任务作为所述任务读取请求的响应,返回给所述内容分发网络中的家庭节点,其中,所述目标内容节点包括所述家庭节点。
在一个实施例中,所述装置还包括删除模块,所述删除模块用于:
在获取到所述任务信息的时长达到过期时限的情况下,删除所述任务信息。
在一个实施例中,参照图6,本实施例提供了一种任务推送装置,所述装置包括:
请求发送模块610,用于在满足触发条件的情况下,向消息中间件发送任务读取请求,其中,所述任务读取请求用于请求所述消息中间件发送所述内容节点匹配的待执行任务;
响应接收模块620,用于接收来自所述消息中间件的响应信息;
任务执行模块630,用于在所述响应信息携带有第一任务的情况下,执行所述第一任务,其中,所述第一任务的第一属性信息与所述内容节点的第二属性信息匹配。
在一个实施例中,所述触发条件包括触发周期,所述请求发送模块610还用于:
按照触发周期定期向所述消息中间件发送任务读取请求。
在一个实施例中,参照图7,本实施例提供了一种任务推送装置,所述装置包括:
数据获取模块710,用于获取多个内容节点的上报数据,其中,所述上报数据用于指示内容节点的运行状态;
任务生成模块720,用于根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息,其中,每个所述任务信息携带对应的属性信息;
任务发送模块730,用于发送所述多个任务信息至消息中间件。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的内容节点110(或服务器)。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现任务推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行任务推送方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的任务推送装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该任务推送装置的各个程序模块,比如,图5所示的任务接收模块510、请求接收模块520和任务转发模块530。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的任务推送方法中的步骤。
图8所示的计算机设备可以通过如图5所示的任务推送装置中的任务接收模块510执行保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息。计算机设备可通过请求接收模块520执行接收目标内容节点的任务读取请求。计算机设备可通过任务转发模块530执行在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种任务推送方法,其特征在于,应用于消息中间件,所述方法包括:
保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
接收目标内容节点的任务读取请求;
在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括按照如下方式确定所述第二属性信息与所述第一属性信息是否匹配:
获取所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值,其中,所述第二属性信息的多个字段中的每个字段用于表示一个属性维度,所述多个字段包括所述目标字段;
在所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值相同、或所述第一属性信息中目标字段的字段值包括所述第二属性信息中目标字段的字段值的情况下,确定所述第二属性信息与所述第一属性信息匹配;
在所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值不同的情况下,确定所述第二属性信息与所述第一属性信息不匹配。
3.根据权利要求2所述的方法,其特征在于,获取所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值包括:
获取所述第一任务的匹配条件,其中,所述匹配条件用于指示所述多个字段中的所述目标字段;
按照所述匹配条件获取所述第一属性信息中目标字段的字段值和所述第二属性信息中目标字段的字段值。
4.根据权利要求1所述的方法,其特征在于,在接收目标内容节点的任务读取请求之后,所述方法还包括:
在确定所述目标内容节点的第二属性信息与所述第一任务的第一属性信息不匹配的情况下,从其他任务中查找属性信息与所述目标内容节点的第二属性信息匹配的第二任务,其中,所述其他任务与所述第一任务不同;
在查找到所述第二任务的情况下,将所述第二任务作为所述任务读取请求的响应,返回给所述目标内容节点;
在未查找到所述第二任务的情况下,将表示任务读取失败的信息返回给所述目标内容节点。
5.根据权利要求1所述的方法,其特征在于,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点包括:
将所述第一任务作为所述任务读取请求的响应,返回给所述内容分发网络中的CDN节点,其中,所述目标内容节点包括所述CDN节点;
将所述第一任务作为所述任务读取请求的响应,返回给所述内容分发网络中的家庭节点,其中,所述目标内容节点包括所述家庭节点。
6.根据权利要求1所述的方法,其特征在于,所述接收服务器下发的任务信息之后,所述方法还包括:
在获取到所述任务信息的时长达到过期时限的情况下,删除所述任务信息。
7.一种任务推送方法,其特征在于,应用于内容节点,所述方法包括:
在满足触发条件的情况下,向消息中间件发送任务读取请求,其中,所述任务读取请求用于请求所述消息中间件发送所述内容节点匹配的待执行任务;
接收来自所述消息中间件的响应信息;
在所述响应信息携带有第一任务的情况下,执行所述第一任务,其中,所述第一任务的第一属性信息与所述内容节点的第二属性信息匹配。
8.根据权利要求7所述的方法,其特征在于,所述触发条件包括触发周期,其中,所述在满足触发条件的情况下,向所述消息中间件发送任务读取请求,包括:
按照触发周期定期向所述消息中间件发送任务读取请求。
9.一种任务推送方法,其特征在于,应用于服务器,所述方法包括:
获取多个内容节点的上报数据,其中,所述上报数据用于指示内容节点的运行状态;
根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息,其中,每个所述任务信息携带对应的属性信息;
发送所述多个任务信息至消息中间件。
10.一种任务推送装置,其特征在于,所述装置包括:
任务接收模块,用于保存服务器下发的任务信息,其中,所述任务信息携带有第一任务和所述第一任务的第一属性信息;
请求接收模块,用于接收目标内容节点的任务读取请求;
任务转发模块,用于在所述目标内容节点的第二属性信息与所述第一任务的第一属性信息匹配的情况下,将所述第一任务作为所述任务读取请求的响应,返回给所述目标内容节点。
11.一种任务推送装置,其特征在于,所述装置包括:
请求发送模块,用于在满足触发条件的情况下,向消息中间件发送任务读取请求,其中,所述任务读取请求用于请求所述消息中间件发送内容节点匹配的待执行任务;
响应接收模块,用于接收来自所述消息中间件的响应信息;
任务执行模块,用于在所述响应信息携带有第一任务的情况下,执行所述第一任务,其中,所述第一任务的第一属性信息与所述内容节点的第二属性信息匹配。
12.一种任务推送装置,其特征在于,所述装置包括:
数据获取模块,用于获取多个内容节点的上报数据,其中,所述上报数据用于指示内容节点的运行状态;
任务生成模块,用于根据各个内容节点的上报数据以及数据库中的文件更新记录,生成多个任务信息,其中,每个所述任务信息携带对应的属性信息;
任务发送模块,用于发送所述多个任务信息至消息中间件。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
CN202110882713.5A 2021-08-02 2021-08-02 任务推送方法、装置、计算机设备和存储介质 Pending CN113626188A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110882713.5A CN113626188A (zh) 2021-08-02 2021-08-02 任务推送方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110882713.5A CN113626188A (zh) 2021-08-02 2021-08-02 任务推送方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113626188A true CN113626188A (zh) 2021-11-09

Family

ID=78382231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110882713.5A Pending CN113626188A (zh) 2021-08-02 2021-08-02 任务推送方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113626188A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154044A (zh) * 2021-11-10 2022-03-08 创优数字科技(广东)有限公司 消息推送方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114154044A (zh) * 2021-11-10 2022-03-08 创优数字科技(广东)有限公司 消息推送方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN111200657B (zh) 一种管理资源状态信息的方法和资源下载系统
CN108173774B (zh) 一种客户端的升级方法及系统
CN111970315A (zh) 推送消息的方法、装置及系统
US9906595B2 (en) Content source discovery
CN108200132B (zh) 资源获取方法、装置、设备及计算机可读存储介质
CN108683668A (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN114153581A (zh) 数据处理方法、装置、计算机设备和存储介质
CN113630457B (zh) 任务调度方法、装置、计算机设备和存储介质
CN112087335A (zh) 流量实验方法、装置及存储介质
CN110392119B (zh) 一种数据传输方法及基站
US9665732B2 (en) Secure Download from internet marketplace
CN113626188A (zh) 任务推送方法、装置、计算机设备和存储介质
CN113612866B (zh) 地址检测方法、装置、计算机设备和存储介质
CN107357557B (zh) 一种信息更新方法及装置
CN111193789A (zh) 订阅信息推送方法、装置、计算机设备和可读存储介质
CN113645288A (zh) 数据下载方法、装置、计算机设备和存储介质
CN113542418A (zh) 文件管理方法、装置、电子设备及存储介质
CN110741617A (zh) 资源更新方法、装置、计算机设备和存储介质
CN108337280B (zh) 一种资源更新方法及装置
CN110300140B (zh) 用于云分发网络中内容更新的方法、刷新客户端及网络节点
CN113873302B (zh) 内容分发方法、装置、存储介质和电子设备
CN115185997A (zh) 一种主机信息处理方法、装置、电子设备及存储介质
CN112383606B (zh) 一种桌面容器镜像增量p2p分发方法及设备
CN111125580B (zh) 网络资源获取方法、装置、电子设备及存储介质
CN113612841A (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