CN112235396B - 内容处理链路调整方法、装置、计算机设备和存储介质 - Google Patents

内容处理链路调整方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112235396B
CN112235396B CN202011091563.8A CN202011091563A CN112235396B CN 112235396 B CN112235396 B CN 112235396B CN 202011091563 A CN202011091563 A CN 202011091563A CN 112235396 B CN112235396 B CN 112235396B
Authority
CN
China
Prior art keywords
link
content
scheduling
task
processing
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
Application number
CN202011091563.8A
Other languages
English (en)
Other versions
CN112235396A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011091563.8A priority Critical patent/CN112235396B/zh
Publication of CN112235396A publication Critical patent/CN112235396A/zh
Application granted granted Critical
Publication of CN112235396B publication Critical patent/CN112235396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/55Push-based network services
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种内容处理链路调整方法、装置、计算机设备和存储介质。该方法包括:获取目标内容的第一调度任务与相应第一内容处理链路;按照第一内容处理链路执行第一调度任务;当检测到目标内容的更新内容属性时,根据更新内容属性得到目标内容属性集,生成目标内容的第二调度任务;根据目标内容属性集确定第二调度任务对应的第二内容处理链路;当第一内容处理链路与第二内容处理链路存在冲突链路处理节点时,停止执行第一调度任务,按照时序遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点的输出结果标识;当根据输出结果标识未查询到节点输出结果时,执行该链路处理节点对应的调度子任务。采用本方法能够提高内容处理效率。

Description

内容处理链路调整方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种内容处理链路调整方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术与互联网技术的不断发展,越来越多的多媒体信息借助于互联网进行传播与呈现,人们足不出户就能够方便快捷的获取到各种多媒体信息。图片、文章与视频等多媒体信息可理解为内容。当用户通过各种平台发布内容时,调度服务器会从相应平台获取用户所发布的内容,按照预配置的内容处理链路对所获取到的内容进行处理,并将处理后的内容推送至相应平台进行展示。若内容对应的内容属性发生更新,会按照预配置的内容处理链路重新对内容进行处理。但是,该种内容处理方式存在处理效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高内容处理效率的内容处理链路调整方法、装置、计算机设备和存储介质。
一种内容处理链路调整方法,所述方法包括:
获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
按照所述第一内容处理链路执行所述第一调度任务;
当检测到所述目标内容的更新内容属性时,根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;
根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
一种内容处理链路调整装置,所述装置包括:
获取模块,用于获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
任务执行模块,用于按照所述第一内容处理链路执行所述第一调度任务;
所述获取模块,还用于当检测到所述目标内容的更新内容属性时,根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;
所述获取模块,还用于根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
链路调整模块,用于当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
所述任务执行模块,还用于当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
按照所述第一内容处理链路执行所述第一调度任务;
当检测到所述目标内容的更新内容属性时,根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;
根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
按照所述第一内容处理链路执行所述第一调度任务;
当检测到所述目标内容的更新内容属性时,根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;
根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
上述内容处理链路调整方法、装置、计算机设备和存储介质,在按照第一调度任务对应的第一内容处理链路,执行目标内容对应的第一调度任务的过程中,或者,在第一调度任务执行完毕后,若检测到目标内容的内容属性存在更新,则生成目标内容对应的第二调度任务,并根据内容属性更新后的目标内容属性集优化得到第二内容处理链路,若第一内容处理链路与第二内容处理链路中存在冲突的链路处理节点,表明第一调度任务与第二调度任务存在冲突,则停止执行第一调度任务,并按照时序遍历第二内容处理链路中的链路处理节点,根据依次遍历的链路处理节点当前对应的输出结果标识是否存在节点输出结果,确定第二调度任务中所需执行的调度子任务,并通过执行所需执行的各调度子任务实现对内容属性更新后的目标内容的处理,能够在保证目标内容的处理准确性的情况下,节省处理资源,提高内容处理效率。
附图说明
图1为一个实施例中内容处理链路调整方法的应用环境图;
图2为一个实施例中内容处理链路调整方法的流程示意图;
图3为一个实施例中根据目标内容的初始内容属性集所确定的第一内容处理链路的链路结构示意图;
图4为一个实施例中调度***的架构图;
图5为另一个实施例中内容处理链路调整方法的流程示意图;
图6为一个实施例中内容处理链路调整装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的内容处理链路调整方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与调度服务器104进行通信。调度服务器104获取目标内容对应的第一调度任务与第一调度任务对应的第一内容处理链路,按照第一内容处理链路执行第一调度任务,当检测到目标内容的更新内容属性时,根据更新内容属性得到目标内容的目标内容属性集,以及生成目标内容对应的第二调度任务,并根据目标内容属性集确定第二调度任务对应的第二内容处理链路,当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,停止第一调度任务的执行,按照时序遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识,当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行当前遍历的链路处理节点对应的调度子任务。调度服务器104可从终端102获取待处理的目标内容,还可将处理后的目标内容通过终端102进行展示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,调度服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,调度服务器104与调度***对应,用于实现调度***的内容处理与调度功能。
在一个实施例中,如图2所示,提供了一种内容处理链路调整方法,以该方法应用于图1中的调度服务器为例进行说明,包括以下步骤:
步骤202,获取目标内容对应的第一调度任务与第一调度任务对应的第一内容处理链路。
其中,目标内容是指待处理的内容。内容是指图片、文章与视频等多媒体信息。第一调度任务是指目标内容当前对应的调度任务,具体可以是指目标内容对应的、且当前正在执行的或即将执行的调度任务。第一内容处理链路是指执行第一调度任务时所参照的处理链路或执行链路,第一内容处理链路包括多个按照时序排列的链路处理节点,每个链路处理节点与第一调度任务中的一个调度子任务对应,基于链路处理节点能够获取到用于执行相应调度子任务的处理逻辑。
具体地,调度服务器生成目标内容对应的第一调度任务,根据目标内容对应的初始内容属性集,查询与该初始内容属性集相匹配的内容处理链路,将所查询到的内容处理链路确定为第一调度任务对应的第一内容处理链路。可以理解,初始内容属性集是由目标内容当前对应的内容属性组成的集合。初始内容属性集与根据更新内容属性集所得到的目标内容属性集相对应。
在一个实施例中,内容属性是指内容的属性特征,比如内容类型、内容来源、内容作者、内容作者的热度或知名度、内容标题、内容正文、内容数据量、是否推荐、是否分享等,在此不一一列举。
在一个实施例中,当获取待处理的目标内容时,调度服务器生成目标内容对应的第一调度任务,以及获取目标内容对应的初始内容属性集,并将针对该初始内容属性集预配置的内容处理链路,确定为该第一调度任务对应的第一内容处理链路。
在一个实施例中,目标内容对应的调度任务与内容属性集一一对应,若目标内容的内容属性存在更新,会根据更新内容属性得到新的内容属性集,相应地,会针对内容属性更新后的目标内容生成新的调度任务,该新的调度任务与新的内容属性集相对应。调度服务器预配置有多个内容属性集,并针对每个内容属性集预配置有相匹配的内容处理链路,由此,基于调度任务对应的内容属性集,能够确定该调度任务对应的内容处理链路。
在一个实施例中,若根据目标内容的初始内容属性集没有查询到相匹配的内容处理链路,则从预配置的多个内容属性集中筛选与该初始内容属性集匹配度最高的内容属性集,并将所筛选出的内容属性集所匹配的内容处理链路,确定为该初始内容属性集所匹配的内容处理链路,也即是将该内容处理链路确定为相应第一调度任务所对应的第一内容处理链路。可以理解,两个内容属性集之间的匹配度,可基于现有的匹配度计算方式来确定,在此不再赘述。
步骤204,按照第一内容处理链路执行第一调度任务。
具体地,调度服务器在获取到目标内容对应的第一调度任务所对应的第一内容处理链路后,按照该第一内容处理链路执行相应的第一调度任务,以实现对目标内容的处理。可以理解,调度服务器按照第一内容处理链路执行第一调度任务的过程,即是按照第一内容处理链路对目标内容进行处理。
步骤206,当检测到目标内容的更新内容属性时,根据更新内容属性得到目标内容的目标内容属性集,并生成目标内容对应的第二调度任务。
具体地,调度服务器动态检测目标内容对应的内容属性的更新,当检测到目标内容的内容属性存在更新时,获取更新后的内容属性,作为更新内容属性。调度服务器根据目标内容对应的更新内容属性与初始内容属性集,得到相应的目标内容属性集,也即是根据更新内容属性更新初始内容属性集中相应的内容属性,得到目标内容属性集。相应地,调度服务器针对内容属性更新后的目标内容生成相应的第二调度任务,以便于通过执行该第二调度任务实现对该内容属性更新后的目标内容的处理。
步骤208,根据目标内容属性集确定第二调度任务对应的第二内容处理链路。
具体地,调度服务器在得到目标内容对应的目标内容属性集与第二调度任务后,根据目标内容属性集查询与该目标内容属性集相匹配的内容处理链路,并将所查询到的内容处理链路确定为第二调度任务所对应的第二内容处理链路。
可以理解,由于目标内容对应的初始内容属性集与目标内容属性集不一致,由此,基于初始内容属性集确定的第一内容处理链路,与基于目标内容属性集确定的第二内容处理链路,可能相同也可能不同,具体依据针对初始内容属性集与目标内容属性集分别预配置的内容处理链路来确定。
举例说明,假设目标内容为一篇文章,根据目标内容的初始内容属性集确定第一调度任务对应的第一内容处理链路为“图片内链化、标题处理、正文理解、人工审核”,在按照第一内容处理链路执行第一调度任务的过程中,假设当第一调度任务执行至“标题处理”这一链路处理节点所对应的调度子任务时,文章的标题被更新了,则根据“内容标题”这一更新内容属性得到目标内容属性集,以及生成第二调度任务,并根据目标内容属性集确定第二调度任务对应的第二内容处理链路为“图片内链化、标题处理、正文理解、人工审核”。由此可见,当目标内容的内容属性发生更新时,基于更新前后的内容属性集所确定的内容处理链路可能一致。
还举例说明,假设目标内容对应的更新内容属性为“无需人工审核”,则根据目标内容属性集确定第二内容处理链路为“图片内链化、标题处理、正文理解”,由此可见,第一内容处理链路与第二内容处理链路不一致,且第二内容处理链路相较于第一内容处理链路,减少了链路处理节点的调用,优化了内容处理链路,能够了节省资源的同时,提取内容处理速度。
步骤210,当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,停止第一调度任务的执行,按照时序遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识。
其中,第二内容处理链路中包括多个按照时序排列的链路处理节点,每个链路处理节点对应一个调度子任务,每个链路处理节点对应有节点输入参数与节点输出结果,根据节点输入参数执行相应的调度子任务,能够得到相应的节点输出结果。链路处理节点对应的输出结果标识用于标识该链路处理节点的节点输出结果。链路处理节点的节点输入参数包括该链路处理节点所依赖的内容属性、该链路处理节点的节点版本号,以及第二内容处理链路中该链路处理节点的前一个链路处理节点的节点输出结果等中的一个或多个。
具体地,调度服务器将目标内容对应的第一内容处理链路与第二内容处理链路进行比较,以根据比较结果判定第一内容处理链路与第二内容处理链路是否存在冲突。当第一内容处理链路与第二内容处理链路中存在冲突的链路处理节点时,表明第一内容处理链路与第二内容处理链路存在冲突,也即是表明目标内容对应的第一调度任务与第二调度任务存在冲突,调度服务器则停止执行第一调度任务,并按照时序依次遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识。
在一个实施例中,当第一内容处理链路与第二内容处理链路中存在相同的链路处理节点时,则判定第一内容处理链路与第二内容处理链路中存在冲突的链路处理节点。
在一个实施例中,调度服务器在按照时序遍历第二内容处理链路中的链路处理节点的过程中,根据当前遍历的链路处理节点当前对应的节点输入参数,确定该当前遍历的链路处理节点当前对应的输出结果标识。
步骤212,当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行当前遍历的链路处理节点对应的调度子任务。
其中,第二内容处理链路中的每个链路处理节点对应第二调度任务中的一个调度子任务,通过执行第二调度任务中的各个调度子任务,实现对内容属性更新后的目标内容的处理。
具体地,调度服务器在得到当前遍历的链路处理节点当前对应的输出结果标识后,根据所得到的输出结果标识在本地查询对应缓存的节点输出结果。若查询到节点输出结果,则表明该当前遍历的链路处理节点对应的调度子任务已被执行过,且该当前遍历的链路处理节点对应的节点输出结果能够被复用,则无需再重复执行该当前遍历的链路处理节点对应的调度子任务。若未查询到节点输出结果,则表明该当前遍历的链路处理节点对应的调度子任务尚未被执行过,或者,该当前遍历的链路处理节点对应的调度子任务虽已被执行过、但该当前遍历的链路处理节点对应的节点输出结果不能被复用,则需要重新执行该当前遍历的链路处理节点对应的调度子任务。
在一个实施例中,若当前遍历的链路处理节点在得到目标内容对应的第二内容处理链路之前已被执行过,则该当前遍历的链路处理节点在本地已缓存有相应的输出结果标识与节点输出结果。若当前遍历的链路处理节点当前对应的输出结果标识与已缓存的输出结果标识不一致,则根据该当前对应的输出结果标识在本地查询不到相应的节点输出结果,也即是表明所缓存的节点输出结果不能被复用。可以理解,由于当前遍历的链路处理节点当前对应的输出结果标识,是由该当前遍历的链路处理节点当前对应的节点输入参数唯一确定的,由此,若节点输入参数发生更新,则需重新执行该当前遍历的链路处理节点对应的调度子任务。
上述内容处理链路调整方法,在按照第一调度任务对应的第一内容处理链路,执行目标内容对应的第一调度任务的过程中,或者,在第一调度任务执行完毕后,若检测到目标内容的内容属性存在更新,则生成目标内容对应的第二调度任务,并根据内容属性更新后的目标内容属性集优化得到第二内容处理链路,若第一内容处理链路与第二内容处理链路中存在冲突的链路处理节点,表明第一调度任务与第二调度任务存在冲突,则停止执行第一调度任务,并按照时序遍历第二内容处理链路中的链路处理节点,根据依次遍历的链路处理节点当前对应的输出结果标识是否存在节点输出结果,确定第二调度任务中所需执行的调度子任务,并通过执行所需执行的各调度子任务实现对内容属性更新后的目标内容的处理,能够在保证目标内容的处理准确性的情况下,节省处理资源,提高处理效率。
在一个实施例中,按照时序遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识,包括:按照时序遍历第二内容处理链路中的链路处理节点;获取当前遍历的链路处理节点对应的节点输入参数;节点输入参数包括当前遍历的链路处理节点所依赖的内容属性;根据节点输入参数得到当前遍历的链路处理节点当前对应的输出结果标识。
具体地,调度服务器按照时序依次遍历第二内容处理链路中的链路处理节点,根据当前遍历的链路处理节点对应的节点标识,获取该当前遍历的链路处理节点所依赖的内容属性所对应的属性标识,并从目标内容对应的目标内容属性集中获取该属性标识所对应的内容属性,将所获取到的内容属性作为该当前遍历的链路处理节点对应的节点输入参数。进一步地,调度服务器根据当前遍历的链路处理节点对应的节点输入参数,得到该当前遍历的链路处理节点所对应的输出结果标识。
在一个实施例中,调度服务器根据所获取到的节点输入参数,按照预设映射关系得到相应的输出结果标识。其中,预设映射关系比如可以是对节点输入参数进行哈希运算,或者,通过MD5算法(Message-Digest Algorithm 5,报文摘要算法)将节点输入参数转换为二进制字符串,并将所转换得到的二进制字符串作为相应的输出结果标识。
在一个实施例中,在按照目标内容对应的内容处理链路执行相应调度任务的过程中,调度服务器在执行完毕单个链路处理节点所对应的调度子任务后,会将该链路处理节点对应的节点输出结果,与由该链路处理节点的节点输入参数确定的输出结果标识对应缓存在本地,以便于基于节点输入参数能够从本地查询到相应的节点输出结果。
在一个具体的实施例中,预设映射关系为Key=MD5Sum(pa,pb,pc,…),其中,Key表示输出结果标识,pa,pb,pc,…表示节点输入参数,MD5Sum()表示将节点输入参数转换为输出结果标识时所采用的MD5算法。可以理解,当节点输入参数包括多个节点输入子参数时,该多个节点输入子参数按照预设顺序进行排序。相应地,输出结果标识对应的节点输出结果可通过Value来表征,由此,若本地存储有输出结果标识对应的节点输出结果,则根据输出结果标识能够查询到相应的节点输出结果。
在一个实施例中,针对每个链路处理节点,节点输入参数与输出结果标识唯一对应,若节点输入参数发生变化,相应的输出结果标识也必然发生变化。由此,若链路处理节点所依赖的内容属性存在更新,则该链路处理节点当前对应的输出结果标识也会对应更新,则根据该当前对应的输出结果标识在本地不能查询到相应的节点输出结果,由此,表明该链路处理节点对应的调度子任务需要重新执行。相应地,若链路处理节点所依赖的内容属性没有更新,且根据由该链路处理节点当前对应的节点输入参数所确定的输出结果标识,能够在本地查询到相应的节点输出结果,则表明该链路处理节点的节点输出结果能够被复用,由此表明该链路处理节点对应的调度子任务无需重新执行,从而能够节省资源,提高处理性能。
举例说明,假设目标内容为一篇文章,目标内容对应的第一调度任务所对应的第一内容处理链路为“图片内链化、标题处理、正文理解、人工审核”,还假设当第一调度任务执行至“标题处理”这一链路处理节点所对应的调度子任务时,文章的标题被更新了,目标内容对应的第二调度任务所对应的第二内容处理链路为“图片内链化、标题处理、正文理解、人工审核”。由于,“图片内链化”这一链路处理节点对应的调度子任务已被执行,且该链路处理节点所依赖的内容属性没有发生更新,则该链路处理节点对应的节点输出结果能够被复用,无需再重复执行,而“标题处理”这一链路处理节点所对应的调度子任务虽已被执行,但是由于该链路处理节点所依赖的内容属性发生了更新,由此,该链路处理节点对应的节点输出结果不能被复用,需要重复执行该链路处理节点对应的调度子任务。
在一个实施例中,由于在按照内容处理链路执行调度任务的过程中,会将链路处理节点对应的节点输出结果与输出结果标识对应的缓存在本地,而针对目标内容对应的多个调度任务分别确定的内容处理链路中可能包括相同的链路处理节点。由此,针对第二内容处理链路中的各个链路处理节点,若某个链路处理节点对应的调度子任务已被执行过,且根据该链路处理节点当前对应的输出结果标识能够查询到相应的节点输出结果,则表征该节点输出结果能够被复用,则无需在执行该链路处理节点对应的调度子任务,相应地,若某个链路处理节点对应的调度子任务尚未被执行过,则基于该链路处理节点当前对应的输出结果标识在本地不能查询到相应的节点输出结果,则需要执行该链路处理节点对应的调度子任务。
上述实施例中,在按照时序遍历第二内容处理链路中的链路处理节点的过程中,根据当前遍历的链路处理节点在目标内容属性集中所依赖的内容属性,确定该链路处理节点当前对应的输出结果标识,以便于在所依赖的内容属性发生更新,或者,针对目标内容尚未执行该链路处理节点所对应的调度子任务时,根据相应输出结果标识判定该链路处理节点所对应的调度子任务需要被重新执行,而在该链路处理节点对应的节点输出结果能够被重用时,则重用该节点输出结果,而不再重复执行该链路处理节点对应的调度子任务,从而能够降低链路处理节点的重复调用,在节省资源的同时,提高调度服务器的处理能力,以及目标内容的处理效率。
在一个实施例中,节点输入参数还包括当前遍历的链路处理节点的前一个链路处理节点当前对应的节点输出结果。
具体地,调度服务器按照上述方式获取当前遍历的链路处理节点所依赖的内容属性,以及从第二内容处理链路中确定当前遍历的链路处理节点的前一个链路处理节点,获取该前一个链路处理节点当前对应的节点输出结果,并将当前遍历的链路处理节点所依赖的内容属性,以及该前一个链路处理节点当前对应的节点输出结果,作为该当前遍历的链路处理节点所对应的节点输入参数,并根据节点输入参数按照上述方式得到该当前遍历的链路处理节点当前对应的输出结果标识。
上述实施例中,根据当前遍历的链路处理节点所依赖的内容属性,以及前一个遍历的链路处理节点当前对应的节点输出结果,得到该当前遍历的链路处理节点对应的输出结果标识,这样,若当前遍历的链路处理节点与该链路处理节点的前一个链路处理节点各自对应的调度子任务,在得到第二内容处理链路之前已被执行过,且在相应调度子任务被执行后,当前遍历的链路处理节点所依赖的内容属性没有发生更新,且该前一个链路处理节点对应的节点输出结果能够被复用,则无需再执行该当前遍历的链路处理节点对应的调度子任务,能够避免额外的重复执行调度子任务,从而能够在节省资源的同时,提高内容处理效率。
在一个实施例中,节点输入参数还包括当前遍历的链路处理节点当前对应的节点版本标识。
其中,内容处理链路中的每个链路处理节点对应有节点版本标识,当链路处理节点的版本发生更新时,会对应更新该链路处理节点的节点版本标识。节点版本标识用于唯一标识链路处理节点的版本。
具体地,调度服务器在按照时序遍历第二内容处理链路中的链路处理节点的过程中,还会获取当前遍历的链路处理节点当前对应的节点版本标识,并将该当前遍历的链路处理节点所依赖的内容属性与当前对应的节点版本标识,以及该前一个链路处理节点当前对应的节点输出结果,作为该当前遍历的链路处理节点所对应的节点输入参数,并根据节点输入参数按照上述方式得到该当前遍历的链路处理节点当前对应的输出结果标识。
上述实施例中,当前遍历的链路处理节点对应的节点输入参数,包括该当前遍历的链路处理节点所依赖的内容属性与当前对应的节点版本标识,以及该前一个链路处理节点当前对应的节点输出结果,根据由该节点输入参数得到的输出节点标识,确定该当前遍历的链路处理节点对应的调度子任务是否需要被重新执行,这样,当节点输入参数中的任一个节点输入子参数发生变化,均会重新执行该当前遍历的链路处理节点对应的调度子任务,能够在保证内容处理准确性的情况下,降低调度子任务的冗余执行,从而能够提高内容处理效率。
在一个实施例中,步骤202,包括:获取待处理的目标内容对应的第一调度任务;根据目标内容的初始内容属性集,确定第一调度任务的任务优先级;按照任务优先级将第一调度任务缓存至等待队列;当满足任务执行条件时,从等待队列中提取第一调度任务,并根据初始内容属性集确定第一调度任务对应的第一内容处理链路。
其中,任务优先级是指任务处理的优先级。等待队列是用于缓存等待执行且尚未执行的调度任务,等待队列中所缓存的调度任务按照任务优先级进行排序。任务执行条件是从等待队列中提取所缓存的调度任务,并针对所提取出的调度任务触发任务执行流程的依据或条件。任务执行条件比如第一调度任务为等待队列中任务优先级最高的调度任务、且调度服务器中存在可用于执行该第一调度任务的资源。第一调度任务为等待队列中任务优先级最高的调度任务,是指第一调度任务当前处于等待队列的队首位置。用于执行第一调度任务的资源,是指调度服务器中分配用于执行调度任务的处理资源或计算资源,比如任务执行进程或任务执行线程等,在此不作具体限定。
具体地,调度服务器获取待处理的目标内容,生成目标内容对应的第一调度任务,以及获取目标内容对应的初始内容属性集。调度服务器查询与初始内容属性集相匹配的任务优先级,将所查询到的任务优先级确定为第一调度任务对应的任务优先级,并按照所确定的任务优先级将第一调度任务缓存至等待队列。调度服务器动态检测等待队列中所缓存的第一调度任务是否满足任务执行条件。当判定满足任务执行条件时,调度服务器从等待队列中提取该第一调度任务,并根据相应目标内容所对应的初始内容属性集,确定该第一调度任务对应的第一内容处理链路。
在一个实施例中,针对等待队列中所缓存的每个调度任务,调度服务器均会动态检测其是否满足任务执行条件,并在判定满足任务执行条件时,从等待队列中提取该满足任务执行条件的调度任务,并根据相应目标内容的初始内容属性集,确定该调度任务对应的内容处理链路。
在一个实施例中,目标内容对应的调度任务与内容属性集一一对应,若目标内容的内容属性存在更新,会根据更新内容属性得到新的内容属性集,相应地,会针对内容属性更新后的目标内容生成新的调度任务,该新的调度任务与新的内容属性集相对应。调度服务器预配置有多个内容属性集,并针对每个内容属性集预配置有相匹配的任务优先级,由此,基于调度任务对应的内容属性集,能够确定该调度任务对应的任务优先级。
上述实施例中,针对待处理的目标内容,按照由目标内容的初始内容属性集确定的任务优先级,将相应的第一调度任务缓存至等待队列,直至满足任务执行条件时,从缓存队列中提取该第一调度任务,并根据相应初始内容属性集确定该第一调度任务所对应的第一内容处理链路,以便于按照第一内容处理链路执行该第一调度任务。这样,在调度服务器的资源有限的情况下,能够缓解调度服务器的处理压力,保证目标内容的处理可靠性,提升单个目标内容的处理效率。
在一个实施例中,步骤208,包括:根据更新内容属性确定第二调度任务的任务执行时机;当达到任务执行时机时,获取目标内容对应的分布式锁;当获取到分布式锁时,根据目标内容属性集确定第二调度任务对应的第二内容处理链路。
其中,任务执行时机是指执行调度任务的时机,比如立即执行,还比如自生成调度任务时起达到预设时长后执行,还比如晚上九点执行,在此不作具体限定。分布式锁是指在调度服务器内部共享的锁,每个目标内容对应有一个分布式锁,若目标内容对应有多个调度任务,只有获取到该目标内容的分布式锁的调度任务才能够被执行。
在一个实施例中,调度服务器针对每个内容属性预配置有相应的任务执行时机,由此,当目标内容的内容属性发生更新时,能够根据更新内容属性确定基于该更新内容属性触发生成的调度任务所对应的任务执行时机,也即是将针对该更新内容属性预配置的任务执行时机,确定为基于该更新内容属性触发生成的调度任务所对应的任务执行时机。
具体地,调度服务器在检测到目标内容的更新内容属性时,根据所检测到的更新内容属性确定第二调度任务的任务执行时机,并实时检测是否达到第二调度任务的任务执行时机。当判定达到第二调度任务的任务执行时机时,调度服务器则针对第二调度任务获取目标内容对应的分布式锁。若获取到目标内容对应的分布式锁,则将所获取到的分布式锁分配给第二调度任务,并根据目标内容的目标内容属性集确定该第二调度任务对应的第二内容处理链路。
在一个实施例中,目标内容的处理被抽象成调度任务,而调度任务的处理资源(也即是目标内容)是存在竞争关系的,一个正在处理的目标内容,不能同时被多个调度任务占有。这样,若目标内容对应有多个第二调度任务,只有获取到分布式锁的第二调度任务会被执行。
在一个实施例中,调度服务器中包括多个任务调度单元与分布式锁控制单元,获取到目标内容对应的调度任务的任务调度单元,在达到所获取到的调度任务的任务执行时机时,会向分布式锁控制单元请求目标内容对应的分布式锁,并将所请求到的分布式锁分配给所获取到的调度任务。可以理解,分布式锁控制单元在初始获取到待处理的目标内容时,生成该目标内容对应的分布式锁。
上述实施例中,针对待处理的每个目标内容配置相应的分布式锁,获取到分布式锁的调度任务才会被执行,这样,通过分布式锁机制,保证了目标内容以及目标内容对应的处理结果的一致性,从而提高了数据安全性。
图3为一个实施例中根据目标内容的初始内容属性集所确定的第一内容处理链路的链路结构示意图。如图3所示,该第一内容处理链路中包括节点1至9共9个链路处理节点,以及由该9个链路处理节点组成的多条链路处理路径,每个链路处理节点对应第一调度任务中的一个调度子任务,也即是对应一个算法或功能能力单元。可以理解,若在按照第一内容处理链路执行第一调度任务的过程中,或者,在第一调度任务执行完毕后,检测到目标内容的内容属性的更新,根据内容属性更新后的目标内容属性集所确定的第二内容处理链路中不包括链路处理节点5和8,由此,在执行第一调度任务的过程中,无论链路处理节点5和8各自对应的调度子任务是否已执行,在按照第二内容处理链路执行第二调度任务的过程中,均无需再执行该两个链路处理节点对应的调度子任务,由此,在内容属性更新后,能够自动寻找最佳路径,获得最优执行路径,从而能够减少模块的调用,由此,在节省调度服务器资源的同时,能够提高内容处理速度。
进一步地,在按照第一内容处理链路执行第一调度任务的过程中,假设在执行链路处理节点7对应的调度子任务时,目标内容的内容属性发生更新,根据内容属性更新后的目标内容属性集确定的第二内容处理链路与图3所示的第一内容处理链路一致,且第二内容处理链路中的链路处理节点2依赖更新内容属性,链路处理节点5依赖链路处理节点2的节点输出结果,由此,能够确定链路处理节点2对应的调度子任务需要重新执行。若重新执行链路处理节点2对应的调度子任务所得到的节点输出结果,与在执行第一调度任务的过程中针对链路处理节点2所得到的节点输出结果一致,则表明链路处理节点5对应的节点输出结果可以复用,则无需再重复执行链路处理节点5对应的调度子任务,从而能够节省资源,提高内容处理效率。
在一个实施例中,内容处理链路调整方法应用于调度服务器;调度服务器包括任务调度单元与任务执行单元;当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,通过任务调度单元将第二调度任务与相应第二内容处理链路发送至任务执行单元;通过任务执行单元停止执行第一调度任务,按照第二内容处理链路执行第二调度任务,并在第二调度任务执行完毕得到相应任务执行结果时,通过异步回调方式将任务执行结果反馈至任务调度单元。
具体地,调度服务器包括任务调度单元与任务执行单元。调度服务器通过任务调度单元获取目标内容对应的第一调度任务,以及第一调度任务对应的第一内容处理链路,将所获取到的第一调度任务与相应第一内容处理链路,发送至任务执行单元。调度服务器通过任务执行单元,按照所接收到的按照第一内容处理链路执行相应第一调度任务,并在第一调度任务执行完毕时,将所得到的任务执行结果,通过异步回调方式反馈至任务调度单元,以便于通过任务调度单元将任务执行结果发送至相应计算机设备。
进一步地,调度服务器通过任务调度单元动态检测目标内容的更新内容属性,若在第一调度任务的执行过程中,或者,第一调度任务执行完毕后,检测到目标内容的更新内容属性,则根据更新内容属性得到目标内容的目标内容属性集,生成目标内容对应的第二调度任务,并根据目标内容属性集确定第二调度任务对应的第二内容处理链路,当判定第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,将第二调度任务与相应第二内容处理链路发送至任务执行单元。调度服务器通过任务执行单元停止执行第一调度任务,并按照第二内容处理链路执行第二调度任务,在第二调度任务执行完毕得到相应任务执行结果时,通过异步回调方式将所得到的任务执行结果反馈至任务调度单元。
可以理解,调度服务器通过任务执行单元,按照本申请中一个或多个实施例中提供的第二调度任务执行方式,根据第二内容处理链路执行相应的第二调度任务。
在一个实施例中,待处理的目标内容通常有多个,每个目标内容可对应有一个或多个调度任务,由此,调度服务器将目标内容的处理抽象成调度任务,通过任务调度单元将针对每个调度任务确定的内容处理链路,以及相应调度任务发送至任务执行单元,并通过调度集群按照所接收到的内容处理链路处理相应的调度任务,并将所得到的任务处理结果通过异步回调方式反馈至任务调度单元。这样,调度服务器内部通过采用异步机制,降低内部各个功能单元之间的耦合依赖。
在一个实施例中,任务调度单元包括调度网关单元、任务网关单元、优先级策略单元、拓扑策略单元、任务管理单元。任务执行单元包括调度集群单元、分布式流控单元等。调度服务器通过任务网关单元生成目标内容对应的调度任务,将所生成的调度任务缓存至任务管理单元,并通过事件通知调度网关单元从任务管理单元提取调度任务。调度服务器通过调度网关单元调用优先级策略单元来确定调度任务对应的任务优先级,以及调用拓扑策略单元来确定调度任务对应的内容处理链路。调度服务器通过调度集群单元,按照内容处理链路执行相应的调度任务,并通过异步回调方式将任务处理结果反馈至调度网关单元。调度服务器通过分布式流控单元,控制调度任务的发送时机。
图4为一个实施例中调度***的架构图。本申请中一个或多个实施例汇总的调度服务器对应图4所示的调度***。如图4所示,调度***包括入库单元调度网关单元、任务网关单元、优先级策略单元、拓扑策略单元、任务管理单元、调度集群单元、分布式流控单元、流水管道单元、重放单元、压测单元等。当用户从各个平台发布内容时,内容会经过入库单元进入调度***,调度***通过任务网关单元创建调度任务,将调度任务缓存至任务管理单元,并通过事件通知调度网关单元提取调度任务执行调度。调度***通过调度网关单元提取调度任务后,调用优先级策略单元获取该调度任务的任务优先级,并按照任务优先级将调度任务缓存至等待队列中,当调度任务可被执行时,也即是当满足任务执行条件时,通过调度网关单元调用拓扑策略单元获取该调度任务所需执行的内容处理链路,并将调度任务和内容处理链路发送至调度集群单元,以启动调度内容的执行流程。调度***通过调度集群单元按照内容处理链路执行相应调度任务,并执行完调度任务后将任务执行结果通过异步回调方式反馈至调度网关单元,通过调度网关单元将内容最终出库。
进一步地,调度***在按照内容处理链路执行调度任务的过程中,调度任务所关联的内容被外部更新时,调度***会通过任务网关单元收到事件通知,该事件通知中所携带的更新内容属性会被记录在任务管理单元对应的HBase(开源存储组件,用于存储待处理的内容)存储中。调度***通过调度网关单元检测该更新内容属性与当前正在执行的调度任务是否存在冲突依赖,若检测到更新内容属性与当前正在执行的调度任务存在冲突依赖(例如,内容处理链路中的某个链路处理节点依赖内容标题这一内容属性,外部更新修改了该内容属性,所以产生了读写冲突),调度***则自动终止当前正在执行的调度任务,并根据由更新内容属性得到的目标内容属性集,重新优化该内容对应的新的内容处理链路,以便于按照优化后的内容处理链路处理该内容属性更新后的内容。
进一步地,调度***通过优先级策略单元对接优先级管理平台,通过拓扑策略单元对接策略管理平台。任务管理单元还对应有CDB(Cloud Database,云数据库)与CKV(Cloud Key Value,键值对云存储服务),用于存储调度***在处理内容过程中所生成的数据。调度***通过分布式流控控制调度集群单元所需执行的调度任务的流量或数量。调度***通过流水管道采集调度集群单元的日志或流水,并存储至ES集群(ElasticSearch,一个分布式全文搜索服务器)。当内容处理链路中的链路处理节点的节点版本发生更新时,调度***可通过重放单元对比节点版本更新请前后的链路处理节点所对应的调度子任务的任务执行结果。调度***通过压测单元进行压测,并对接重放管理平台。
如图4所示,调度集群单元还对应有能力货架,该能力货架按照处理时序划分为预处理层、前置过滤层、理解加工层与后置过滤层等多个功能层,每个功能层中包括多个链路处理节点所对应的调度子任务,比如预处理层包括内链存储、结构化、转码抽帧等,前置过滤层包括旧闻过滤、安全打击与策略过滤等,理解加工层包括智能选图、分类标签与视频画风等,后置过滤层包括去重过滤与低质过滤等。调度***通过调度集群单元借助于能力货架执行内容处理链路中各个链路处理节点对应的调度子任务。
如图5所示,在一个实施例中,提供了一种内容处理链路调整方法,该方法具体包括以下步骤:
步骤502,获取待处理的目标内容对应的第一调度任务。
步骤504,根据目标内容的初始内容属性集,确定第一调度任务的任务优先级。
步骤506,按照任务优先级将第一调度任务缓存至等待队列。
步骤508,当满足任务执行条件时,从等待队列中提取第一调度任务,并根据初始内容属性集确定第一调度任务对应的第一内容处理链路。
步骤510,按照第一内容处理链路执行第一调度任务。
步骤512,当检测到目标内容的更新内容属性时,根据更新内容属性得到目标内容的目标内容属性集,并生成目标内容对应的第二调度任务。
步骤514,根据更新内容属性确定第二调度任务的任务执行时机。
步骤516,当达到任务执行时机时,获取目标内容对应的分布式锁。
步骤518,若获取到分布式锁,根据目标内容属性集确定第二调度任务对应的第二内容处理链路。
步骤520,当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,停止第一调度任务的执行,按照时序遍历第二内容处理链路中的链路处理节点。
步骤522,获取当前遍历的链路处理节点对应的节点输入参数;节点输入参数包括当前遍历的链路处理节点所依赖的内容属性、当前遍历的链路处理节点的前一个链路处理节点当前对应的节点输出结果,以及当前遍历的链路处理节点当前对应的节点版本标识。
步骤524,根据节点输入参数得到当前遍历的链路处理节点当前对应的输出结果标识。
步骤526,当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行当前遍历的链路处理节点对应的调度子任务。
上述实施例中,在按照第一内容处理链路执行第一调度任务的过程中,或者,在第一调度任务执行完毕后,当检测到目标内容的内容属性发生更新后,根据内容属性更新后的目标内容属性集优化得到目标内容对应的第二调度所对应的第二内容处理链路,并根据第二内容处理链路中各个链路处理节点当前对应的节点输入参数,得到相应的输出结果标识,并根据输出结果标识确定相应的链路处理节点对应的调度子任务是否需要重新执行,并通过执行所需重新执行的链路处理节点对应的调度子任务,来实现对内容属性更新后的目标内容的处理。这样,能够降低因为调度子任务的冗余执行所带来的数据处理压力,从而能够提高处理能够和性能,同时,通过建立内容、内容属性、节点输入参数、节点输出结果与拓扑依赖之间的关系,能够自动计算、优化内容处理链路,从而实现内容在链路处理中的处理效率。进一步地,通过分布式锁的抢占,能够包括内容的数据一致性,从而能够保证内容的安全性。
在一个实施例中,本申请中一个或多个实施例中所涉及的内容处理链路可理解为拓扑图或拓扑结构,内容处理链路中的链路处理路径可理解为拓扑图中的拓扑路径,内容处理链路中的链路处理节点可理解为拓扑图中的拓扑节点。由此,在目标内容的内容属性发生更新时,根据更新内容属性优化得到第二内容处理链路,也可理解为对处理目标内容所依赖的拓扑图及拓扑图中的拓扑路径进行优化,以达到节省处理资源、提升处理速度、减少处理冲突,以及加速内容调度的技术效果。
应该理解的是,虽然图2与图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2与图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种内容处理链路调整装置600,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块601、任务执行模块602和链路调整模块603,其中:
获取模块601,用于获取目标内容对应的第一调度任务与第一调度任务对应的第一内容处理链路;
任务执行模块602,用于按照第一内容处理链路执行第一调度任务;
获取模块601,还用于当检测到目标内容的更新内容属性时,根据更新内容属性得到目标内容的目标内容属性集,并生成目标内容对应的第二调度任务;
获取模块601,还用于根据目标内容属性集确定第二调度任务对应的第二内容处理链路;
链路调整模块603,用于当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,停止第一调度任务的执行,按照时序遍历第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
任务执行模块602,还用于当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行当前遍历的链路处理节点对应的调度子任务。
在一个实施例中,链路调整模块603,还用于按照时序遍历第二内容处理链路中的链路处理节点;获取当前遍历的链路处理节点对应的节点输入参数;节点输入参数包括当前遍历的链路处理节点所依赖的内容属性;根据节点输入参数得到当前遍历的链路处理节点当前对应的输出结果标识。
在一个实施例中,节点输入参数还包括当前遍历的链路处理节点的前一个链路处理节点当前对应的节点输出结果。
在一个实施例中,节点输入参数还包括当前遍历的链路处理节点当前对应的节点版本标识。
在一个实施例中,获取模块601,还用于获取待处理的目标内容对应的第一调度任务;根据目标内容的初始内容属性集,确定第一调度任务的任务优先级;按照任务优先级将第一调度任务缓存至等待队列;当满足任务执行条件时,从等待队列中提取第一调度任务,并根据初始内容属性集确定第一调度任务对应的第一内容处理链路。
在一个实施例中,获取模块601,还用于根据更新内容属性确定第二调度任务的任务执行时机;当达到任务执行时机时,获取目标内容对应的分布式锁;若获取到分布式锁,根据目标内容属性集确定第二调度任务对应的第二内容处理链路。
在一个实施例中,内容处理链路调整装置应用于调度服务器;调度服务器包括任务调度单元与任务执行单元;当第一内容处理链路与第二内容处理链路存在冲突的链路处理节点时,通过任务调度单元将第二调度任务与相应第二内容处理链路发送至任务执行单元;通过任务执行单元停止执行第一调度任务,按照第二内容处理链路执行第二调度任务,并在第二调度任务执行完毕得到相应任务执行结果时,通过异步回调方式将任务执行结果反馈至任务调度单元。
关于内容处理链路调整装置装置的具体限定可以参见上文中对于内容处理链路调整装置方法的限定,在此不再赘述。上述内容处理链路调整装置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是调度服务器,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标内容与相应的内容属性集,以及针对内容属性集预配置的内容处理链路。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种内容处理链路调整装置方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种内容处理链路调整方法,其特征在于,所述方法包括:
获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
按照所述第一内容处理链路执行所述第一调度任务;
当检测到所述目标内容的更新内容属性时,若所述更新内容属性与所述第一调度任务存在冲突依赖,则根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;其中,当所述第一内容处理链路的链路处理节点依赖所述更新内容属性时,所述更新内容属性与所述第一调度任务存在冲突依赖;
根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
2.根据权利要求1所述的方法,其特征在于,所述按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识,包括:
按照时序遍历所述第二内容处理链路中的链路处理节点;
获取当前遍历的链路处理节点对应的节点输入参数;所述节点输入参数包括所述当前遍历的链路处理节点所依赖的内容属性;
根据所述节点输入参数得到所述当前遍历的链路处理节点当前对应的输出结果标识。
3.根据权利要求2所述的方法,其特征在于,所述节点输入参数还包括所述当前遍历的链路处理节点的前一个链路处理节点当前对应的节点输出结果。
4.根据权利要求3所述的方法,其特征在于,所述节点输入参数还包括所述当前遍历的链路处理节点当前对应的节点版本标识。
5.根据权利要求1所述的方法,其特征在于,所述获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路,包括:
获取待处理的目标内容对应的第一调度任务;
根据所述目标内容的初始内容属性集,确定所述第一调度任务的任务优先级;
按照所述任务优先级将所述第一调度任务缓存至等待队列;
当满足任务执行条件时,从所述等待队列中提取所述第一调度任务,并根据所述初始内容属性集确定所述第一调度任务对应的第一内容处理链路。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路,包括:
根据所述更新内容属性确定所述第二调度任务的任务执行时机;
当达到所述任务执行时机时,获取所述目标内容对应的分布式锁;
若获取到所述分布式锁,根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述方法应用于调度服务器;所述调度服务器包括任务调度单元与任务执行单元;当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,通过所述任务调度单元将所述第二调度任务与相应第二内容处理链路发送至所述任务执行单元;通过所述任务执行单元停止执行所述第一调度任务,按照所述第二内容处理链路执行所述第二调度任务,并在所述第二调度任务执行完毕得到相应任务执行结果时,通过异步回调方式将所述任务执行结果反馈至所述任务调度单元。
8.一种内容处理链路调整装置,其特征在于,所述装置包括:
获取模块,用于获取目标内容对应的第一调度任务与所述第一调度任务对应的第一内容处理链路;
任务执行模块,用于按照所述第一内容处理链路执行所述第一调度任务;
所述获取模块,还用于当检测到所述目标内容的更新内容属性时,若所述更新内容属性与所述第一调度任务存在冲突依赖,则根据所述更新内容属性得到所述目标内容的目标内容属性集,并生成所述目标内容对应的第二调度任务;其中,当所述第一内容处理链路的链路处理节点依赖所述更新内容属性时,所述更新内容属性与所述第一调度任务存在冲突依赖;
所述获取模块,还用于根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路;
链路调整模块,用于当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,停止所述第一调度任务的执行,按照时序遍历所述第二内容处理链路中的链路处理节点,得到当前遍历的链路处理节点当前对应的输出结果标识;
所述任务执行模块,还用于当根据当前得到的输出结果标识未查询到相应的节点输出结果时,执行所述当前遍历的链路处理节点对应的调度子任务。
9.根据权利要求8所述的装置,其特征在于,所述链路调整模块,还用于按照时序遍历所述第二内容处理链路中的链路处理节点;获取当前遍历的链路处理节点对应的节点输入参数;所述节点输入参数包括所述当前遍历的链路处理节点所依赖的内容属性;根据所述节点输入参数得到所述当前遍历的链路处理节点当前对应的输出结果标识。
10.根据权利要求9所述的装置,其特征在于,所述节点输入参数还包括所述当前遍历的链路处理节点的前一个链路处理节点当前对应的节点输出结果。
11.根据权利要求10所述的装置,其特征在于,所述节点输入参数还包括所述当前遍历的链路处理节点当前对应的节点版本标识。
12.根据权利要求8所述的装置,其特征在于,所述获取模块,还用于获取待处理的目标内容对应的第一调度任务;根据所述目标内容的初始内容属性集,确定所述第一调度任务的任务优先级;按照所述任务优先级将所述第一调度任务缓存至等待队列;当满足任务执行条件时,从所述等待队列中提取所述第一调度任务,并根据所述初始内容属性集确定所述第一调度任务对应的第一内容处理链路。
13.根据权利要求8所述的装置,其特征在于,所述获取模块,还用于根据所述更新内容属性确定所述第二调度任务的任务执行时机;当达到所述任务执行时机时,获取所述目标内容对应的分布式锁;若获取到所述分布式锁,根据所述目标内容属性集确定所述第二调度任务对应的第二内容处理链路。
14.根据权利要求8至13任意一项所述的装置,其特征在于,所述内容处理链路调整装置应用于调度服务器;所述调度服务器包括任务调度单元与任务执行单元;当所述第一内容处理链路与所述第二内容处理链路存在冲突的链路处理节点时,通过所述任务调度单元将所述第二调度任务与相应第二内容处理链路发送至所述任务执行单元;通过所述任务执行单元停止执行所述第一调度任务,按照所述第二内容处理链路执行所述第二调度任务,并在所述第二调度任务执行完毕得到相应任务执行结果时,通过异步回调方式将所述任务执行结果反馈至所述任务调度单元。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011091563.8A 2020-10-13 2020-10-13 内容处理链路调整方法、装置、计算机设备和存储介质 Active CN112235396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011091563.8A CN112235396B (zh) 2020-10-13 2020-10-13 内容处理链路调整方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011091563.8A CN112235396B (zh) 2020-10-13 2020-10-13 内容处理链路调整方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112235396A CN112235396A (zh) 2021-01-15
CN112235396B true CN112235396B (zh) 2022-03-01

Family

ID=74112521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011091563.8A Active CN112235396B (zh) 2020-10-13 2020-10-13 内容处理链路调整方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112235396B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242641B (zh) * 2021-04-23 2023-12-19 奇安信科技集团股份有限公司 策略下发结果预览方法、装置以及计算机设备
CN113918126B (zh) * 2021-09-14 2022-06-10 北京柏睿数据技术股份有限公司 一种基于图算法的ai建模流程编排方法和***
CN115174286B (zh) * 2022-05-12 2023-11-14 芜湖美的厨卫电器制造有限公司 预防链路重复执行的方法及装置、计算机存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109087054A (zh) * 2018-06-01 2018-12-25 平安科技(深圳)有限公司 协同办公数据流处理方法、装置、计算机设备及存储介质
CN110597858A (zh) * 2019-08-30 2019-12-20 深圳壹账通智能科技有限公司 任务数据处理方法、装置、计算机设备和存储介质
WO2020151177A1 (zh) * 2019-01-25 2020-07-30 平安科技(深圳)有限公司 基于大数据行为调度应用任务的方法、服务器及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444885B2 (en) * 2014-03-18 2016-09-13 Vmware, Inc. Workflow processing in a distributed computing environment
CN107295027A (zh) * 2016-03-30 2017-10-24 ***通信有限公司研究院 一种内容注入方法、装置及控制器
US10719795B2 (en) * 2017-10-27 2020-07-21 International Business Machines Corporation Cognitive learning workflow execution
CN110018860B (zh) * 2019-04-04 2022-11-08 深圳市永兴元科技股份有限公司 工作流管理方法、装置、设备和计算机存储介质
CN111224843B (zh) * 2019-12-31 2022-01-07 北京百度网讯科技有限公司 资源链路监控方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109087054A (zh) * 2018-06-01 2018-12-25 平安科技(深圳)有限公司 协同办公数据流处理方法、装置、计算机设备及存储介质
WO2020151177A1 (zh) * 2019-01-25 2020-07-30 平安科技(深圳)有限公司 基于大数据行为调度应用任务的方法、服务器及存储介质
CN110597858A (zh) * 2019-08-30 2019-12-20 深圳壹账通智能科技有限公司 任务数据处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112235396A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN112235396B (zh) 内容处理链路调整方法、装置、计算机设备和存储介质
CN109033123B (zh) 基于大数据的查询方法、装置、计算机设备和存储介质
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN109271447B (zh) 数据同步方法、装置、计算机设备和存储介质
US9563426B1 (en) Partitioned key-value store with atomic memory operations
CN112948450B (zh) 用于实时推荐的Flink流式处理引擎方法、装置及计算机设备
CN110784498B (zh) 一种个性化数据容灾方法及装置
US8635682B2 (en) Propagating security identity information to components of a composite application
WO2019128984A1 (zh) 容器的安全策略的处理方法和相关装置
WO2021208844A1 (zh) 虚拟化容器管理方法、***和存储介质
US11762860B1 (en) Dynamic concurrency level management for database queries
US11720607B2 (en) System for lightweight objects
CN111796767B (zh) 一种分布式文件***及数据管理方法
CN111737021A (zh) 并行任务的处理方法、装置、电子设备及存储介质
US11379268B1 (en) Affinity-based routing and execution for workflow service
CN115185679A (zh) 人工智能算法的任务处理方法、装置、服务器及存储介质
CN107181773A (zh) 分布式存储***的数据存储及数据管理方法、设备
EP3555767A1 (en) Partial storage of large files in distinct storage systems
CN113849119B (zh) 存储方法、存储装置和计算机可读存储介质
US20160203032A1 (en) Series data parallel analysis infrastructure and parallel distributed processing method therefor
US20170286440A1 (en) Method, business processing server and data processing server for storing and searching transaction history data
CN116954680A (zh) 存储***的插件更新方法、装置、设备、介质及程序产品
US9009731B2 (en) Conversion of lightweight object to a heavyweight object
US10536390B1 (en) Requesting embedded hypermedia resources in data interchange format documents
CN115708061A (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