CN107729136A - 一种基于fpga的处理优先级配置方法及装置 - Google Patents

一种基于fpga的处理优先级配置方法及装置 Download PDF

Info

Publication number
CN107729136A
CN107729136A CN201610662565.5A CN201610662565A CN107729136A CN 107729136 A CN107729136 A CN 107729136A CN 201610662565 A CN201610662565 A CN 201610662565A CN 107729136 A CN107729136 A CN 107729136A
Authority
CN
China
Prior art keywords
logic controller
plc
programmable logic
business
processing priority
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.)
Granted
Application number
CN201610662565.5A
Other languages
English (en)
Other versions
CN107729136B (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 CN201610662565.5A priority Critical patent/CN107729136B/zh
Publication of CN107729136A publication Critical patent/CN107729136A/zh
Application granted granted Critical
Publication of CN107729136B publication Critical patent/CN107729136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

本发明实施例公开了一种基于FPGA的处理优先级配置方法及装置,所述方法包括:在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的;在业务执行阶段,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识;获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理。采用本发明实施例,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。

Description

一种基于FPGA的处理优先级配置方法及装置
技术领域
本发明涉及电子技术领域,尤其涉及一种基于FPGA的处理优先级配置方法及装置。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,FPGA)是在可编程阵列逻辑(Programmable Array Logic,PAL)、通用阵列逻辑(generic array logic,GAL)或者复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件的基础上进一步发展的产物。近年来基于FPGA的异构计算在数据中心中运用广泛,由于业务的多变和多样性(实时性、非实时性、高处理优先级、低处理优先级等),形成了FPGA中知识产权(intellectual property,IP)核的多样性。在异构计算平台中,IP核可以通过多路数据仲裁单元完成对外部存储单元中存储的业务参数的分时访问。而传统的数据仲裁单元基于固定处理优先级仲裁(即各个IP核的处理优先级固定不变)或者均等仲裁(即各个IP核的处理优先级相同,通过轮询机制处理各个IP核中运行的业务),当指定IP核的处理优先级较低且需要在该IP核中运行的业务对实时性需求较高时,将无法满足该业务的实时需求,需要对FPGA进行硬件设计更新,降低该异构计算平台的通用性。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于FPGA的处理优先级配置方法及装置,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。
为了解决上述技术问题,本发明实施例提供了一种基于FPGA的处理优先级配置方法,所述方法应用于包括可编程逻辑控制器集合的终端中,所述可编程逻辑控制器集合包括至少两个可编程逻辑控制器,所述方法包括:
在业务部署阶段,对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,所述处理优先级是根据所部署业务的实时需求等级来确定的;
在业务执行阶段,根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识;
获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
相应地,本发明实施例还提供了一种基于FPGA的处理优先级配置装置,所述装置包括可编程逻辑控制器集合,所述可编程逻辑控制器集合包括至少两个可编程逻辑控制器,所述装置包括:
优先级配置单元,用于在业务部署阶段,对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,所述处理优先级是根据所部署业务的实时需求等级来确定的;
控制器确定单元,用于在业务执行阶段,根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识;
业务处理单元,用于获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
实施本发明实施例,通过在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的;在业务执行阶段,根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识,获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1是本发明实施例中提供的一种基于FPGA的处理优先级配置系统的架构示意图;
图2是本发明实施例中提供的一种基于FPGA的处理优先级配置方法的流程示意图;
图3是本发明实施例中提供的一种IP核和数据读写控制单元的结构示意图;
图4是本发明实施例中提供的一种基于FPGA的处理优先级配置装置的结构示意图;
图5是本发明实施例中提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于FPGA的处理优先级配置方法,在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的;在业务执行阶段,根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识,获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。
上述基于FPGA的处理优先级配置方法可以运行在FPGA执行单元中,其中,FPGA执行单元可以集成在终端中,则终端可以包括处理器和FPGA执行单元,处理器和FPGA执行单元之间可以传输数据,以便处理器根据当前需要处理的业务的业务类型,将该业务部署到指定的可编程逻辑控制器中,并为指定的可编程逻辑控制器动态配置处理优先级,将配置的处理优先级发送给FPGA执行单元,其中为指定的可编程逻辑控制器配置的处理优先级与该业务的业务类型相匹配,例如该业务为直播视频编码,该业务的实时需求较大,则控制器为指定的可编程逻辑控制器配置的处理优先级较高,以满足该业务的实时需求。可选的,FPGA执行单元可以外置于终端,即终端可以与FPGA执行单元之间建立通信连接,并通过与FPGA执行单元之间建立的通信连接和FPGA执行单元之间传输数据,例如,终端根据当前需要处理的业务的业务类型,将该业务部署到指定的可编程逻辑控制器中,并为指定的可编程逻辑控制器动态配置处理优先级,将配置的处理优先级发送给FPGA执行单元,其中为指定的可编程逻辑控制器配置的处理优先级与该业务的业务类型相匹配,例如该业务为直播视频编码,该业务的实时需求较大,则FPGA执行单元为指定的可编程逻辑控制器配置的处理优先级较高,以满足该业务的实时需求。其中,终端可以包括平板电脑、手机或个人计算机(Personal Computer,PC)等。
可编程逻辑控制器是一种具有某种确定功能的集成电路、器件或部件,示例性的,可编程逻辑控制器可以为IP核。不同可编程逻辑控制器可以实现不同的逻辑功能,可选的,不同可编程逻辑控制器也可以实现相同的逻辑功能,例如第一可编程逻辑控制器以及第二可编程逻辑控制器可以实现视频编码功能,第三可编程逻辑控制器可以实现视频解码功能,等等。当前需要处理的业务为对视频进行编码时,为该业务指定的可编程逻辑控制器可以为第一可编程逻辑控制器或者第二可编程逻辑控制器;当前需要处理的业务为对视频进行解码时,为该业务指定的可编程逻辑控制器可以为第三可编程逻辑控制器。其中,在同一时间段内可以为同一可编程逻辑控制器指定一个业务。当一个业务处理完成时,可以删除为该业务所指定可编程逻辑控制器配置的处理优先级。
请参见图1,图1是本发明实施例公开的一种基于FPGA的处理优先级配置系统的架构示意图,如图1所示,该基于FPGA的处理优先级配置系统可以包括上位机、FPGA执行单元以及存储单元,其中上位机和FPGA执行单元之间建立通信连接,FPGA执行单元和存储单元之间建立通信连接。上位机是指可以发出操控命令的终端设备,示例性的,上位机可以包括工控机、工作站或者触摸屏等。存储单元可以用于存储各个业务的业务参数,例如需要编码的视频等。
FPGA执行单元可以包括配置寄存器、控制寄存器、可编程逻辑控制器集合,实时处理优先级队列、静态高处理优先级队列、各个可编程逻辑控制器对应的动态处理优先级计算单元、最高动态处理优先级选择单元、读写处理优先级仲裁单元、数据读写控制单元。其中,可编程逻辑控制器集合可以包括至少两个可编程逻辑控制器及其对应的处理优先级寄存单元,本发明实施例以可编程逻辑控制器集合包括两个可编程逻辑控制器为例进行描述,例如可编程逻辑控制器集合包括第一可编程逻辑控制器和第二可编程逻辑控制器,其中第一可编程逻辑控制器对应的处理优先级寄存单元为第一处理优先级寄存单元,第一可编程逻辑控制器对应的动态处理优先级计算单元为第一动态处理优先级计算单元;第二可编程逻辑控制器对应的处理优先级寄存单元为第二处理优先级寄存单元,第二可编程逻辑控制器对应的动态处理优先级计算单元为第二动态处理优先级计算单元。其中,上位机分别与配置寄存器以及控制寄存器之间建立通信连接,配置寄存器和控制寄存器分别与可编程逻辑控制器集合之间建立通信连接,第一可编程逻辑控制器与第一处理优先级寄存单元之间建立通信连接,第二可编程逻辑控制器与第二处理优先级寄存单元之间建立通信连接。第一处理优先级寄存单元分别与实时处理优先级队列、静态高处理优先级队列以及第一动态处理优先级计算单元之间建立通信连接,第二处理优先级寄存单元分别与实时处理优先级队列、静态高处理优先级队列以及第二动态处理优先级计算单元之间建立通信连接。第一动态处理优先级计算单元和第二动态处理优先级计算单元分别与最高动态处理优先级选择单元之间建立通信连接,实时处理优先级队列、静态高处理优先级队列以及最高动态处理优先级选择单元分别与读写处理优先级仲裁单元之间建立通信连接,读写处理优先级仲裁单元通过数据读写控制单元与存储单元之间建立通信连接,数据读写控制单元与第一可编程逻辑控制器和第二可编程逻辑控制器之间建立通信连接。
其中,上位机,用于接收到当前需要处理的业务的业务请求信息之后,通过FPGA执行单元将该业务的业务参数存储到存储单元中,并根据业务类型在可编程逻辑控制器集合中确定为该业务指定的可编程逻辑控制器,并获取业务类型对应的实时需求等级,为该可编程逻辑控制器配置与该业务的实时需求等级匹配的处理优先级,将配置的可编程逻辑控制器的处理优先级、控制器标识以及部署在该可编程逻辑控制器中的业务的业务标识发送给配置寄存器。
配置寄存器,用于将该业务的业务标识以及配置的处理优先级存储到该可编程逻辑控制器对应的处理优先级寄存单元。其中,实时需求等级可以包括第一实时等级、第二实时等级以及第三实时等级,位于第一实时等级的业务对实时性需求较低,例如离线视频的编解码等,第二实时等级的业务对实时性需求较高,例如网页排版等,第三实时等级的业务对实时需求最高,例如直播视频的编解码或者即时通信等,即时通信可以包括微信会话或者社会性网络服务(Social Networking Services,SNS)会话等。可选的,配置寄存器还可以为该可编程逻辑控制器配置处理时长。
控制寄存器,用于配置寄存器将该业务的业务标识以及配置的处理优先级存储到该可编程逻辑控制器对应的处理优先级寄存单元之后,向该可编程逻辑控制器发送控制指令,以控制该可编程逻辑控制器开始运行。
该可编程逻辑控制器对应的动态处理优先级计算单元,用于确定该可编程逻辑控制器的处理优先级位于第一实时等级对应的第一处理优先级内,当检测到周期信号时,将预置因子与该可编程逻辑控制器的处理优先级进行运算,以对该可编程逻辑控制器的处理优先级进行更新,并存储业务标识、控制器标识以及该控制器标识所对应可编程逻辑控制器的当前处理优先级。
静态高处理优先级队列,用于确定该可编程逻辑控制器的处理优先级为第二实时等级对应的第二处理优先级,并存储业务标识、控制器标识以及该控制器标识所对应可编程逻辑控制器的当前处理优先级。
实时处理优先级队列,用于确定该可编程逻辑控制器的处理优先级为第三实时等级对应的第三处理优先级,并存储业务标识、控制器标识以及该控制器标识所对应可编程逻辑控制器的当前处理优先级。可选的,当实时处理优先级队列中控制器标识对应可编程逻辑控制器的数量大于预设数量阈值时,向上位机发送第一反馈信息,上位机可以确定数据读写控制单元和可编程逻辑控制器之间的传输带宽不能满足业务的实时性需求,需要上位机降低部署在可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量,以确保实时需求较高的业务能够被及时响应。
读写处理优先级仲裁单元,用于根据处理优先级在各个控制器标识中确定应该优先响应的控制器标识所对应的可编程逻辑控制器,将确定得到的控制器标识以及业务标识发送给数据读写控制单元。
数据读写控制单元,用于根据业务标识在存储单元中获取该业务标识所对应业务的业务参数,将该业务参数发送给控制器标识所对应的可编程逻辑控制器。
可编程逻辑控制器,用于对该业务参数进行处理,以完成对该业务参数所对应业务的处理。
可选的,可编程逻辑控制器,还用于从接收到运行指令开始经过配置的处理时长的时间段内未接收到数据读写控制单元发送的业务参数时,向上位机发送第二反馈信息,以提示上位机在该可编程逻辑控制器中部署的业务出现处理超时,上位机可以根据该业务的业务属性判断是否需要调整被部署了该业务的可编程逻辑控制器的处理优先级。当上位机接收到的第二反馈信息的数量较多时,表明存储单元的读写带宽不能满足业务实时性的需要,以便研发人员有针对性地优化该基于FPGA的处理优先级配置系统。
示例性的,在业务部署阶段,接收到关于业务的业务请求信息之后,可以将该业务的业务标识和业务参数关联存储到存储单元中。还可以根据该业务的业务类型将该业务部署到指定可编程逻辑控制器中,例如该业务的业务类型为视频编码时,可以将该业务部署到具有视频编码功能的可编程逻辑控制器中,又如该业务的业务类型为视频解码时,可以将该业务部署到具有视频解码功能的可编程逻辑控制器中。
进一步的,可以根据业务类型和实时需求等级的对应关系,获取该业务的实时需求等级,并根据实时需求等级和处理优先级的对应关系,对被部署了该业务的可编程逻辑控制器配置处理优先级。其中第一实时等级对应的第一处理优先级包括至少两个子处理优先级,例如第一处理优先级∈[0,N],第二实时等级对应的第二处理优先级为N+1,第三实时等级对应的第三处理优先级为N+2,第三处理优先级高于第二处理优先级,第二处理优先级高于第一处理优先级,N为预先设定的数值,例如10或者100等,具体不受本发明实施例的限定,研发人员可结合不同场景对N进行相应的修改。例如,当该业务的业务类型为视频编码时,由于视频编码对实时性需求较高,因此可以根据该业务的业务类型确定该业务的实时需求等级为第三实时等级,进而对被部署了该业务的可编程逻辑控制器配置的处理优先级为N+2,将该业务的业务标识和配置的处理优先级存储到该可编程逻辑控制器对应的处理优先级寄存单元中。又如,当该业务的业务类型为网页排版时,由于网页排版对实时性需求较低,因此可以根据该业务的业务类型确定该业务的实时需求等级为第一实时等级,可以根据该业务的实时需求等级和已经配置为第一处理优先级的可编程逻辑控制器,对被部署了该业务的可编程逻辑控制器配置处理优先级,其中对被部署了该业务的可编程逻辑控制器配置的处理优先级和已经配置为第一处理优先级的可编程逻辑控制器对应的处理优先级各不相同,例如N=10,可编程逻辑控制器为IP核,已经配置为第一处理优先级的可编程逻辑控制器包括IP0、IP1以及IP2,其中IP0对应的处理优先级为1,IP1对应的处理优先级为5,IP2对应的处理优先级为10,若该业务的实时性需求高于部署在IP1中的业务的实时性需求,则可以将被部署该业务的可编程逻辑控制器的处理优先级配置为6~9中的任一数值,例如7,并将该业务的业务标识和配置的处理优先级存储到该可编程逻辑控制器对应的处理优先级寄存单元中。可选的,还可以为该业务配置处理时长,其中,不同实时需求等级的业务可以配置不同的处理时长,例如第一实时等级的业务配置的处理时长可以为30μs,第二实时等级的业务配置的处理时长可以为20μs,第三实时等级的业务配置的处理时长可以为10μs。可选的,不同实时需求等级的业务配置的处理时长可以相同,例如各个业务的处理时长均配置为20μs。
示例性的,在业务执行阶段,将业务参数存储到存储单元,且对被部署了业务的可编程逻辑控制器配置处理优先级之后,控制寄存器可以向该可编程逻辑控制器发送运行指令,进而将该可编程逻辑控制器对应的处理优先级寄存单元中的业务标识、处理优先级以及该可编程逻辑控制器的控制器标识存储到指定的处理优先级队列中。例如,该可编程逻辑控制器的处理优先级为N+2,则可以将该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识存储到实时处理优先级队列中。又如,该可编程逻辑控制器的处理优先级为N+1,则可以将该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识存储到静态高处理优先级队列中。又如该可编程逻辑控制器的处理优先级∈[0,N],则可以将该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识发送到该可编程逻辑控制器对应的动态处理优先级计算单元中。进一步的,读写处理优先级仲裁单元确定处理优先级最高的可编程逻辑控制器的控制器标识,并将该控制器标识对应的业务标识发送给数据读写控制单元,数据读写控制单元根据该业务标识在存储单元中获取该业务标识所对应业务的业务参数,将该业务参数发送给该控制器标识所对应的可编程逻辑控制器。可选的,该控制器标识所对应的可编程逻辑控制器对获取到的业务参数进行处理,以完成对在该可编程逻辑控制器中部署的业务的处理之后,可以将该可编程逻辑控制器的处理优先级以及部署在该可编程逻辑控制器中的业务的业务参数清空,例如删除该可编程逻辑控制器对应的处理优先级寄存单元中存储的处理优先级,删除存储单元中存储的部署在该可编程逻辑控制器中的业务的业务参数,若该可编程逻辑控制器中部署的业务的实时需求等级为第一实时等级,则删除该可编程逻辑控制器对应的动态处理优先级计算单元中存储的该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识;若该可编程逻辑控制器中部署的业务的实时需求等级为第二实时等级,则删除静态高处理优先级队列中存储的该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识;若该可编程逻辑控制器中部署的业务的实时需求等级为第三实时等级,则删除实时处理优先级队列中存储的该可编程逻辑控制器的控制器标识、处理优先级以及部署在该可编程逻辑控制器中的业务的业务标识。
需要说明的是,存储到实时处理优先级队列中的各个可编程逻辑控制器的处理优先级保持不变,存储到静态高处理优先级队列中的各个可编程逻辑控制器的处理优先级保持不变,发送到动态处理优先级计算单元中的各个可编程逻辑控制器的处理优先级将会进行更新。例如,任意一个业务处理完成时,读写处理优先级仲裁单元将会向各个动态处理优先级计算单元发送周期信号,动态处理优先级计算单元接收到周期信号时,将预置因子与控制器标识所对应可编程逻辑控制器的处理优先级进行相加,预置因子为对该可编程逻辑控制器配置的原始处理优先级,例如动态处理优先级计算单元接收到第一个周期信号时,将接收到的处理优先级由p更新为2p,其中p为对IP标识对应的可编程逻辑控制器配置的初始处理优先级;动态处理优先级计算单元接收到第二个周期信号时,将接收到的处理优先级由2p更新为3p;动态处理优先级计算单元接收到第n个周期信号时,将接收到的处理优先级更新为(n+1)*p。又如,任意一个业务处理完成时,读写处理优先级仲裁单元将会向各个动态处理优先级计算单元发送周期信号,动态处理优先级计算单元接收到周期信号时,将预置因子与控制器标识所对应可编程逻辑控制器的处理优先级进行相乘,例如预置因子为2,动态处理优先级计算单元接收到第一个周期信号时,将接收到的处理优先级由p更新为2p,其中p为对IP标识对应的可编程逻辑控制器配置的初始处理优先级;动态处理优先级计算单元接收到第二个周期信号时,将接收到的处理优先级由2p更新为4p;动态处理优先级计算单元接收到第三个周期信号时,将接收到的处理优先级更新为8p。本发明实施对配置了第一处理优先级的可编程逻辑控制器的处理优先级进行更新,可避免配置的处理优先级较低导致部署在该可编程逻辑控制器中的业务长时间不能执行,可提高业务处理的有效性。
需要说明的是,对可编程逻辑控制器进行更新的过程中,如果将预置因子与处理优先级为第一处理优先级的可编程逻辑控制器的处理优先级进行运算得到的运算结果大于N,则动态处理优先级计算单元将该可编程逻辑控制器的处理优先级调整为N。从动态处理优先级计算单元将该可编程逻辑控制器的处理优先级调整为N开始到再次接收到周期信号的时间段内,可编程逻辑控制器未接收到数据读写控制单元发送的业务参数时,动态处理优先级计算单元将处理优先级调整为N的可编程逻辑控制器的控制器标识和业务标识发送到静态高处理优先级队列中,以便静态高处理优先级队列将该控制器标识所对应可编程逻辑控制器的处理优先级更新为N+1。本发明实施例可避免处理优先级为第一处理优先级的可编程逻辑控制器中部署的业务长时间不能执行,可提高业务处理的有效性。
具体实现中,在业务执行阶段,读写处理优先级仲裁单元可以检测实时处理优先级队列中是否存在控制器标识、处理优先级及其对应的业务标识,当实时处理优先级队列中存在控制器标识、处理优先级及其对应的业务标识时,读写处理优先级仲裁单元可以获取各个业务标识所对应业务的部署时间,将部署时间最早的业务所对应业务标识发送给数据读写控制单元,或者读写处理优先级仲裁单元获取各个处理优先级存储至实时处理优先级队列的存储时间,确定存储时间最早的处理优先级对应的业务标识,将该业务标识发送给数据读写控制单元。当实时处理优先级队列中不存在控制器标识、处理优先级及其对应的业务标识时,读写处理优先级仲裁单元可以检测静态高处理优先级队列中是否存在控制器标识、处理优先级及其对应的业务标识,当静态高处理优先级队列中存在控制器标识、处理优先级及其对应的业务标识时,读写处理优先级仲裁单元可以获取各个业务标识所对应业务的部署时间,将部署时间最早的业务所对应业务标识发送给数据读写控制单元,或者读写处理优先级仲裁单元获取各个处理优先级存储至静态高处理优先级队列的存储时间,确定存储时间最早的处理优先级对应的业务标识,将该业务标识发送给数据读写控制单元。当静态高处理优先级队列中不存在控制器标识、处理优先级及其对应的业务标识时,最高动态处理优先级选择单元可以在各个动态处理优先级计算单元中确定处理优先级最高的可编程逻辑控制器所对应的控制器标识,并将该控制器标识对应的业务标识通过处理优先级仲裁单元发送给数据读写控制单元。
以图3所示的可编程逻辑控制器和数据读写控制单元的结构示意图为例,可编程逻辑控制器为IP核,如果已经被部署业务的可编程逻辑控制器中IP0的处理优先级最高,则数据读写控制单元可以根据IP0地址线上的地址信号,读写存储单元中部署在IP0中的业务的业务参数,并通过IP0的数据线传输包含该业务参数的数据信号,其中IP0的片选信号有效(例如IP0的片选信号为高电平),其他已经被部署业务的可编程逻辑控制器的片选信号为无效(例如其他可编程逻辑控制器的片选信号为低电平)。
可选的,各个已经被部署业务的可编程逻辑控制器在运行之前可配置处理时长T,如果T=0,则认为该可编程逻辑控制器没有超时检测。如果T大于0,则在该可编程逻辑控制器接收到运行指令时开始计时,当该可编程逻辑控制器在处理时长T内还没有被响应,则产生第二反馈信息,该第二反馈信息记录在该可编程逻辑控制器对应的状态寄存器内,同时产生中断信号通知上位机,上位机可通过分析状态寄存器确定部署在对应可编程逻辑控制器中的业务出现处理超时,同时可以根据业务类型判断是否需要调整被部署该业务的可编程逻辑控制器的处理优先级。进一步的,如果第二反馈信息的数量较多,则说明业务参数的传输带宽不能满足业务读写实时性的需要,该第二反馈信息可引导研发人员有针对性地优化系统。
基于图1所示的基于FPGA的处理优先级配置系统的框架示意图,本发明另一实施例公开了图2所示的一种基于FPGA的处理优先级配置方法的流程示意图。如图2所示,该基于FPGA的处理优先级配置方法可以包括以下步骤:
S201,在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的。
终端可以在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,其中处理优先级是根据所部署业务的实时需求等级来确定的。例如,可编程逻辑控制器为IP核,终端根据IP核中所部署业务的业务类型确定该业务的实时需求较低,则终端可以确定该业务的实时需求等级为第一实时等级,进而将被部署了该业务的IP核的处理优先级配置为第一实时等级对应的第一处理优先级。又如,终端根据IP核中所部署业务的业务类型确定该业务的实时需求较高,则终端可以确定该业务的实时需求等级为第三实时等级,进而将被部署了该业务的IP核的处理优先级配置为第三实时等级对应的第三处理优先级。
可选的,终端可以获取在可编程逻辑控制器集合所包含的各个可编程逻辑控制器中部署的业务的业务类型,根据业务类型和实时需求等级的对应关系,获取所部署业务的实时需求等级,根据实时需求等级和处理优先级的对应关系,对各个已经被部署了业务的可编程逻辑控制器配置处理优先级。其中,实时需求等级包括第一实时等级、第二实时等级以及第三实时等级,第三实时等级对应的第三处理优先级高于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级高于第一实时等级对应的第一处理优先级,第一处理优先级为m,0≤m≤N,m、N均为正整数。
可选的,当检测到周期信号时,终端可以将各个被部署了实时需求等级为第一实时等级的业务的可编程逻辑控制器作为第一可编程逻辑控制器,将预置因子与第一可编程逻辑控制器的处理优先级进行运算,以对第一可编程逻辑控制器的处理优先级进行更新。其中,周期信号是任意一个业务处理完成时生成的。预置因子可以为预先设定的数值或者对该可编程逻辑控制器配置的原始处理优先级等。例如,任意一个业务处理完成时终端生成一个周期信号,该周期信号触发终端将预置因子与第一IP核的处理优先级进行相乘,得到更新后的第一IP核的处理优先级。又如,任意一个业务处理完成时终端生成一个周期信号,该周期信号触发终端将预置因子与第一IP核的处理优先级进行相加,得到更新后的第一IP核的处理优先级。
可选的,当更新后的第一可编程逻辑控制器的处理优先级大于N时,终端可以将更新后的第一可编程逻辑控制器的处理优先级调整为第一处理优先级中的最大子处理优先级,第一处理优先级包括至少两个子处理优先级。例如,第一处理优先级∈[0,N],N=10,第一处理优先级包括11个子处理优先级,其中最大子处理优先级为10,第一IP核当前的处理优先级为6,预置因子为2,终端检测到周期信号时,将第一IP核当前的处理优先级和预置因子进行相乘得到更新后的第一IP核的处理优先级,即12>10,则终端可以将更新后的第一IP核的处理优先级调整为10。
可选的,当检测到周期信号且未处理在调整为最大子处理优先级的第一可编程逻辑控制器中部署的业务时,终端可以将调整为最大子处理优先级的第一可编程逻辑控制器的处理优先级更新为第二处理优先级。例如,最大子处理优先级为10,终端将第一IP核的处理优先级调整为10之后,在检测到周期信号且未处理该第一IP核中部署的业务时,终端可以将该第一IP核的处理优先级更新为第二处理优先级,其中第二处理优先级可以为N+1,即11。
S202,在业务执行阶段,根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识。
在业务执行阶段,终端可以根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识。例如,第一实时等级对应的第一处理优先级小于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级小于第三实时等级对应的第三处理优先级,则终端可以检测是否存在处理优先级为第三处理优先级的IP核,当存在处理优先级为第三处理优先级的IP核时,终端可以将该IP核作为目标IP核。当不存在处理优先级为第三处理优先级的IP核时,终端可以检测是否存在处理优先级为第二处理优先级的IP核,当存在处理优先级为第二处理优先级的IP核时,终端可以将该IP核作为目标IP核。当不存在处理优先级为第二处理优先级的IP核时,终端可以在各个处理优先级为第三处理优先级的IP核中确定处理优先级最高的IP核,并将确定得到的IP核作为目标IP核。
可选的,当已经被部署了业务的可编程逻辑控制器的最大处理优先级为第二处理优先级,且已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为第二处理优先级的可编程逻辑控制器时,终端可以获取各个处理优先级为第二处理优先级的可编程逻辑控制器的部署时间,将部署时间最早的可编程逻辑控制器作为目标可编程逻辑控制器。例如,终端接收到关于业务的业务请求信息时,根据该业务的业务类型将该业务部署到指定的IP核中,进而获取该IP核的部署时间,当已经被部署了业务的IP核的最大处理优先级为第二处理优先级,且已经被部署了业务的IP核中存在至少两个处理优先级为第二处理优先级的IP核时,终端可以获取各个处理优先级为第二处理优先级的IP核的部署时间,将部署时间最早的IP核作为目标IP核。
可选的,当已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为第三处理优先级的可编程逻辑控制器时,终端可以获取各个处理优先级为第三处理优先级的可编程逻辑控制器的部署时间,将部署时间最早的可编程逻辑控制器作为目标可编程逻辑控制器。例如,终端接收到关于业务的业务请求信息时,根据该业务的业务类型将该业务部署到指定的IP核中,进而获取该IP核的部署时间,当已经被部署了业务的IP核中存在至少两个处理优先级为第三处理优先级的IP核时,终端可以获取各个处理优先级为第三处理优先级的IP核的部署时间,将部署时间最早的IP核作为目标IP核。
可选的,当处理优先级为第三处理优先级的可编程逻辑控制器的数量大于预设数量阈值时,终端可以输出第一反馈信息,第一反馈信息用于指示降低部署在可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量。
S203,获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理。
终端确定在目标可编程逻辑控制器中部署的业务的业务标识之后,可以获取该业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理。
可选的,终端可以为各个已经被部署了业务的可编程逻辑控制器配置处理时长,当从已经被部署了业务的可编程逻辑控制器运行开始经过处理时长的时间段内未处理部署在可编程逻辑控制器中的业务时,终端可以输出第二反馈信息,第二反馈信息用于指示调整可编程逻辑控制器的处理优先级。
本发明实施例中,在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的;在业务执行阶段,根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识,获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。
请参见图4,图4是本发明实施例中提供的一种基于FPGA的处理优先级配置装置的结构示意图,本发明实施例中的基于FPGA的处理优先级配置装置可以应用于终端中,如图所示本实施例中的基于FPGA的处理优先级配置装置可以包括可编程逻辑控制器集合,可编程逻辑控制器集合可以包括至少两个可编程逻辑控制器,基于FPGA的处理优先级配置装置至少可以包括优先级配置单元401、控制器确定单元402以及业务处理单元403,其中:
优先级配置单元401,用于在业务部署阶段,对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,所述处理优先级是根据所部署业务的实时需求等级来确定的。
控制器确定单元402,用于在业务执行阶段,根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识。
业务处理单元403,用于获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
可选的,所述优先级配置单元401,具体用于:
获取在所述可编程逻辑控制器集合所包含的各个可编程逻辑控制器中部署的业务的业务类型。
根据业务类型和实时需求等级的对应关系,获取所部署业务的实时需求等级,其中,所述实时需求等级包括第一实时等级、第二实时等级以及第三实时等级。
根据实时需求等级和处理优先级的对应关系,对所述各个已经被部署了业务的可编程逻辑控制器配置处理优先级,第三实时等级对应的第三处理优先级高于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级高于第一实时等级对应的第一处理优先级,第一处理优先级为m,0≤m≤N,m、N均为正整数。
可选的,所述控制器确定单元402,还用于当检测到周期信号时,将各个被部署了实时需求等级为第一实时等级的业务的可编程逻辑控制器作为第一可编程逻辑控制器,所述周期信号是任意一个业务处理完成时生成的。
进一步的,本发明实施例中的基于FPGA的处理优先级配置装置还可以包括:
优先级更新单元404,用于将预置因子与所述第一可编程逻辑控制器的处理优先级进行运算,以对所述第一可编程逻辑控制器的处理优先级进行更新。
可选的,所述优先级更新单元404,还用于当更新后的第一可编程逻辑控制器的处理优先级大于N时,将所述更新后的第一可编程逻辑控制器的处理优先级调整为所述第一处理优先级中的最大子处理优先级,所述第一处理优先级包括至少两个子处理优先级。
可选的,所述优先级更新单元404,用于当检测到周期信号且未处理在调整为所述最大子处理优先级的第一可编程逻辑控制器中部署的业务时,将所述调整为所述最大子处理优先级的第一可编程逻辑控制器的处理优先级更新为所述第二处理优先级。
可选的,所述控制器确定单元402,具体用于:
当所述已经被部署了业务的可编程逻辑控制器的最大处理优先级为所述第二处理优先级,且所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第二处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第二处理优先级的可编程逻辑控制器的部署时间。
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
可选的,所述控制器确定单元402,具体用于:
当所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第三处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第三处理优先级的可编程逻辑控制器的部署时间。
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
可选的,本发明实施例中的基于FPGA的处理优先级配置装置还可以包括:
反馈信息输出单元405,用于当处理优先级为所述第三处理优先级的可编程逻辑控制器的数量大于预设数量阈值时,输出第一反馈信息,所述第一反馈信息用于指示降低部署在所述可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量。
可选的,本发明实施例中的基于FPGA的处理优先级配置装置还可以包括:
处理时长配置单元406,用于为所述各个已经被部署了业务的可编程逻辑控制器配置处理时长。
反馈信息输出单元405,用于当从所述已经被部署了业务的可编程逻辑控制器运行开始经过所述处理时长的时间段内未处理部署在所述可编程逻辑控制器中的业务时,输出第二反馈信息,所述第二反馈信息用于指示调整所述可编程逻辑控制器的处理优先级。
本发明实施例中,优先级配置单元401在业务部署阶段,对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的,控制器确定单元402在业务执行阶段,根据可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在目标可编程逻辑控制器中部署的业务的业务标识,业务处理单元403获取业务标识所对应业务的业务参数,并通过目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在目标可编程逻辑控制器中部署的业务的处理,可提高基于FPGA的处理优先级配置系统的通用性,提升业务处理的有效性。
请参见图5,图5为本发明实施例提供的一种终端的结构示意图,本发明实施例提供的终端可以用于实施上述图2所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2所示的本发明实施例。
如图5所示,该终端包括:至少一个处理器501,例如CPU,至少一个输入装置503,至少一个输出装置504,存储器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,输入装置503具体可以为控制面板等,用于接收业务请求信息,业务请求信息携带业务类型和业务参数。其中,输出装置504具体可以为显示屏等,用于输出第一反馈信息或者第二反馈信息。其中,存储器505可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储包含预设用户界面的网页等。存储器505可选的可以包含至少一个位于远离前述处理器501的存储装置。处理器501可以结合图4所示的基于FPGA的处理优先级配置装置。存储器505中存储一组程序代码,且处理器501、输入装置503以及输出装置504调用存储器505中存储的程序代码,用于执行以下操作:
在业务部署阶段,处理器501对可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,处理优先级是根据所部署业务的实时需求等级来确定的。
在业务执行阶段,处理器501根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识。
处理器501获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
可选的,处理器501对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,具体可以为:
获取在所述可编程逻辑控制器集合所包含的各个可编程逻辑控制器中部署的业务的业务类型。
根据业务类型和实时需求等级的对应关系,获取所部署业务的实时需求等级,其中,所述实时需求等级包括第一实时等级、第二实时等级以及第三实时等级。
根据实时需求等级和处理优先级的对应关系,对所述各个已经被部署了业务的可编程逻辑控制器配置处理优先级,第三实时等级对应的第三处理优先级高于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级高于第一实时等级对应的第一处理优先级,第一处理优先级为m,0≤m≤N,m、N均为正整数。
可选的,当检测到周期信号时,处理器501将各个被部署了实时需求等级为第一实时等级的业务的可编程逻辑控制器作为第一可编程逻辑控制器,所述周期信号是任意一个业务处理完成时生成的。
处理器501将预置因子与所述第一可编程逻辑控制器的处理优先级进行运算,以对所述第一可编程逻辑控制器的处理优先级进行更新。
可选的,当更新后的第一可编程逻辑控制器的处理优先级大于N时,处理器501将所述更新后的第一可编程逻辑控制器的处理优先级调整为所述第一处理优先级中的最大子处理优先级,所述第一处理优先级包括至少两个子处理优先级。
可选的,当检测到周期信号且未处理在调整为所述最大子处理优先级的第一可编程逻辑控制器中部署的业务时,处理器501将所述调整为所述最大子处理优先级的第一可编程逻辑控制器的处理优先级更新为所述第二处理优先级。
可选的,处理器501根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,具体可以为:
当所述已经被部署了业务的可编程逻辑控制器的最大处理优先级为所述第二处理优先级,且所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第二处理优先级的可编程逻辑控制器时,处理器501获取各个所述处理优先级为所述第二处理优先级的可编程逻辑控制器的部署时间。
处理器501将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
可选的,处理器501根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,具体可以为:
当所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第三处理优先级的可编程逻辑控制器时,处理器501获取各个所述处理优先级为所述第三处理优先级的可编程逻辑控制器的部署时间。
处理器501将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
可选的,当处理优先级为所述第三处理优先级的可编程逻辑控制器的数量大于预设数量阈值时,输出装置504输出第一反馈信息,所述第一反馈信息用于指示降低部署在所述可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量。
可选的,处理器501还可以为所述各个已经被部署了业务的可编程逻辑控制器配置处理时长。
当从所述已经被部署了业务的可编程逻辑控制器运行开始经过所述处理时长的时间段内未处理部署在所述可编程逻辑控制器中的业务时,输出装置504输出第二反馈信息,所述第二反馈信息用于指示调整所述可编程逻辑控制器的处理优先级。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图2介绍的方法实施例中的部分或全部流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (18)

1.一种基于现场可编程逻辑门阵列FPGA的处理优先级配置方法,所述方法应用于包括可编程逻辑控制器集合的终端中,所述可编程逻辑控制器集合包括至少两个可编程逻辑控制器,其特征在于,所述方法包括:
在业务部署阶段,对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,所述处理优先级是根据所部署业务的实时需求等级来确定的;
在业务执行阶段,根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识;
获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
2.根据权利要求1所述方法,其特征在于,所述对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,包括:
获取在所述可编程逻辑控制器集合所包含的各个可编程逻辑控制器中部署的业务的业务类型;
根据业务类型和实时需求等级的对应关系,获取所部署业务的实时需求等级,其中,所述实时需求等级包括第一实时等级、第二实时等级以及第三实时等级;
根据实时需求等级和处理优先级的对应关系,对所述各个已经被部署了业务的可编程逻辑控制器配置处理优先级,第三实时等级对应的第三处理优先级高于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级高于第一实时等级对应的第一处理优先级,第一处理优先级为m,0≤m≤N,m、N均为正整数。
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
当检测到周期信号时,将各个被部署了实时需求等级为第一实时等级的业务的可编程逻辑控制器作为第一可编程逻辑控制器,所述周期信号是任意一个业务处理完成时生成的;
将预置因子与所述第一可编程逻辑控制器的处理优先级进行运算,以对所述第一可编程逻辑控制器的处理优先级进行更新。
4.根据权利要求3所述方法,其特征在于,所述方法还包括:
当更新后的第一可编程逻辑控制器的处理优先级大于N时,将所述更新后的第一可编程逻辑控制器的处理优先级调整为所述第一处理优先级中的最大子处理优先级,所述第一处理优先级包括至少两个子处理优先级。
5.根据权利要求4所述方法,其特征在于,所述方法还包括:
当检测到周期信号且未处理在调整为所述最大子处理优先级的第一可编程逻辑控制器中部署的业务时,将所述调整为所述最大子处理优先级的第一可编程逻辑控制器的处理优先级更新为所述第二处理优先级。
6.根据权利要求2所述方法,其特征在于,所述根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,包括:
当所述已经被部署了业务的可编程逻辑控制器的最大处理优先级为所述第二处理优先级,且所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第二处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第二处理优先级的可编程逻辑控制器的部署时间;
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
7.根据权利要求2所述方法,其特征在于,所述根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,包括:
当所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第三处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第三处理优先级的可编程逻辑控制器的部署时间;
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
8.根据权利要求7所述方法,其特征在于,所述方法还包括:
当处理优先级为所述第三处理优先级的可编程逻辑控制器的数量大于预设数量阈值时,输出第一反馈信息,所述第一反馈信息用于指示降低部署在所述可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量。
9.根据权利要求1~8任一项所述方法,其特征在于,所述方法还包括:
为所述各个已经被部署了业务的可编程逻辑控制器配置处理时长;
当从所述已经被部署了业务的可编程逻辑控制器运行开始经过所述处理时长的时间段内未处理部署在所述可编程逻辑控制器中的业务时,输出第二反馈信息,所述第二反馈信息用于指示调整所述可编程逻辑控制器的处理优先级。
10.一种基于现场可编程逻辑门阵列FPGA的处理优先级配置装置,所述装置包括知识产权可编程逻辑控制器集合,所述可编程逻辑控制器集合包括至少两个可编程逻辑控制器,其特征在于,所述装置包括:
优先级配置单元,用于在业务部署阶段,对所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器配置处理优先级,所述处理优先级是根据所部署业务的实时需求等级来确定的;
控制器确定单元,用于在业务执行阶段,根据所述可编程逻辑控制器集合中各个已经被部署了业务的可编程逻辑控制器的处理优先级,将处理优先级最高的可编程逻辑控制器作为目标可编程逻辑控制器,并确定在所述目标可编程逻辑控制器中部署的业务的业务标识;
业务处理单元,用于获取所述业务标识所对应业务的业务参数,并通过所述目标可编程逻辑控制器对获取到的业务参数进行处理,以完成对在所述目标可编程逻辑控制器中部署的业务的处理。
11.根据权利要求10所述装置,其特征在于,所述优先级配置单元,具体用于:
获取在所述可编程逻辑控制器集合所包含的各个可编程逻辑控制器中部署的业务的业务类型;
根据业务类型和实时需求等级的对应关系,获取所部署业务的实时需求等级,其中,所述实时需求等级包括第一实时等级、第二实时等级以及第三实时等级;
根据实时需求等级和处理优先级的对应关系,对所述各个已经被部署了业务的可编程逻辑控制器配置处理优先级,第三实时等级对应的第三处理优先级高于第二实时等级对应的第二处理优先级,第二实时等级对应的第二处理优先级高于第一实时等级对应的第一处理优先级,第一处理优先级为m,0≤m≤N,m、N均为正整数。
12.根据权利要求11所述装置,其特征在于,
所述控制器确定单元,还用于当检测到周期信号时,将各个被部署了实时需求等级为第一实时等级的业务的可编程逻辑控制器作为第一可编程逻辑控制器,所述周期信号是任意一个业务处理完成时生成的;
所述装置还包括:
优先级更新单元,用于将预置因子与所述第一可编程逻辑控制器的处理优先级进行运算,以对所述第一可编程逻辑控制器的处理优先级进行更新。
13.根据权利要求12所述装置,其特征在于,
所述优先级更新单元,还用于当更新后的第一可编程逻辑控制器的处理优先级大于N时,将所述更新后的第一可编程逻辑控制器的处理优先级调整为所述第一处理优先级中的最大子处理优先级,所述第一处理优先级包括至少两个子处理优先级。
14.根据权利要求13所述装置,其特征在于,
所述优先级更新单元,用于当检测到周期信号且未处理在调整为所述最大子处理优先级的第一可编程逻辑控制器中部署的业务时,将所述调整为所述最大子处理优先级的第一可编程逻辑控制器的处理优先级更新为所述第二处理优先级。
15.根据权利要求11所述装置,其特征在于,所述控制器确定单元,具体用于:
当所述已经被部署了业务的可编程逻辑控制器的最大处理优先级为所述第二处理优先级,且所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第二处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第二处理优先级的可编程逻辑控制器的部署时间;
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
16.根据权利要求11所述装置,其特征在于,所述控制器确定单元,具体用于:
当所述已经被部署了业务的可编程逻辑控制器中存在至少两个处理优先级为所述第三处理优先级的可编程逻辑控制器时,获取各个所述处理优先级为所述第三处理优先级的可编程逻辑控制器的部署时间;
将部署时间最早的可编程逻辑控制器作为所述目标可编程逻辑控制器。
17.根据权利要求16所述装置,其特征在于,所述装置还包括:
反馈信息输出单元,用于当处理优先级为所述第三处理优先级的可编程逻辑控制器的数量大于预设数量阈值时,输出第一反馈信息,所述第一反馈信息用于指示降低部署在所述可编程逻辑控制器集合的可编程逻辑控制器中实时需求等级为第三实时等级的业务的业务数量。
18.根据权利要求10~17任一项所述装置,其特征在于,所述装置还包括:
处理时长配置单元,用于为所述各个已经被部署了业务的可编程逻辑控制器配置处理时长;
反馈信息输出单元,用于当从所述已经被部署了业务的可编程逻辑控制器运行开始经过所述处理时长的时间段内未处理部署在所述可编程逻辑控制器中的业务时,输出第二反馈信息,所述第二反馈信息用于指示调整所述可编程逻辑控制器的处理优先级。
CN201610662565.5A 2016-08-12 2016-08-12 一种基于fpga的处理优先级配置方法及装置 Active CN107729136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610662565.5A CN107729136B (zh) 2016-08-12 2016-08-12 一种基于fpga的处理优先级配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610662565.5A CN107729136B (zh) 2016-08-12 2016-08-12 一种基于fpga的处理优先级配置方法及装置

Publications (2)

Publication Number Publication Date
CN107729136A true CN107729136A (zh) 2018-02-23
CN107729136B CN107729136B (zh) 2021-03-26

Family

ID=61200934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610662565.5A Active CN107729136B (zh) 2016-08-12 2016-08-12 一种基于fpga的处理优先级配置方法及装置

Country Status (1)

Country Link
CN (1) CN107729136B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888770A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 用于发送信息的方法和装置
CN111026519A (zh) * 2018-10-10 2020-04-17 上海宝信软件股份有限公司 基于分布式的任务优先级调度方法和系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016996B1 (en) * 2002-04-15 2006-03-21 Schober Richard L Method and apparatus to detect a timeout condition for a data item within a process
CN102117244A (zh) * 2010-01-05 2011-07-06 上海硅知识产权交易中心有限公司 一种支持多个音视频ip核寻址ddr的控制结构
CN103078808A (zh) * 2012-12-29 2013-05-01 大连环宇移动科技有限公司 适用于多流正则表达式匹配的数据流交换复用系统及方法
CN103458439A (zh) * 2013-08-26 2013-12-18 黄东 一种基于异构网络中的业务优先级的移动台切换方法
CN103488531A (zh) * 2013-09-26 2014-01-01 中国船舶重工集团公司第七一六研究所 基于多核处理器和fpga的软硬件混合实时任务调度方法
CN104615488A (zh) * 2015-01-16 2015-05-13 华为技术有限公司 异构多核可重构计算平台上任务调度的方法和装置
CN104965942A (zh) * 2015-06-08 2015-10-07 浪潮集团有限公司 一种基于fpga的网络服务质量ip核

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016996B1 (en) * 2002-04-15 2006-03-21 Schober Richard L Method and apparatus to detect a timeout condition for a data item within a process
CN102117244A (zh) * 2010-01-05 2011-07-06 上海硅知识产权交易中心有限公司 一种支持多个音视频ip核寻址ddr的控制结构
CN103078808A (zh) * 2012-12-29 2013-05-01 大连环宇移动科技有限公司 适用于多流正则表达式匹配的数据流交换复用系统及方法
CN103458439A (zh) * 2013-08-26 2013-12-18 黄东 一种基于异构网络中的业务优先级的移动台切换方法
CN103488531A (zh) * 2013-09-26 2014-01-01 中国船舶重工集团公司第七一六研究所 基于多核处理器和fpga的软硬件混合实时任务调度方法
CN104615488A (zh) * 2015-01-16 2015-05-13 华为技术有限公司 异构多核可重构计算平台上任务调度的方法和装置
CN104965942A (zh) * 2015-06-08 2015-10-07 浪潮集团有限公司 一种基于fpga的网络服务质量ip核

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888770A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 用于发送信息的方法和装置
CN111026519A (zh) * 2018-10-10 2020-04-17 上海宝信软件股份有限公司 基于分布式的任务优先级调度方法和系统及存储介质
CN111026519B (zh) * 2018-10-10 2023-11-10 上海宝信软件股份有限公司 基于分布式的任务优先级调度方法和系统及存储介质

Also Published As

Publication number Publication date
CN107729136B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN107180090B (zh) 基于电子书的阅读打卡方法、电子设备及计算机存储介质
CN104503831B (zh) 设备优化方法及装置
CN106685990A (zh) 一种基于工业互联网操作系统的安全性检测方法及装置
CN105812195A (zh) 计算机识别批量账户的方法和装置
CN101324947A (zh) 一种自动化点餐和结算的方法及系统
CN110515793A (zh) 系统性能监控方法、装置、设备及存储介质
CN110097170A (zh) 信息推送对象预测模型获取方法、终端及存储介质
CN106888120A (zh) 一种物联网管理的方法、装置及系统
CN106798964A (zh) 家用电疗仪系统以及电疗仪控制方法
CN107943697A (zh) 问题分配方法、装置、系统、服务器和计算机存储介质
CN109685255A (zh) 一种预测用户流失的方法和装置
CN107748509A (zh) 基于单片机收发控制的asi通信从机实施方法
CN107729136A (zh) 一种基于fpga的处理优先级配置方法及装置
CN114595987A (zh) 多设备集中管理方法、装置、系统、电子设备及存储介质
CN107045546A (zh) 一种网页处理方法、装置及智能终端
CN107679889B (zh) 一种潜在客户的识别方法及终端设备
CN107885691A (zh) 串口数据传输方法、分布式设备及主机
CN107623696A (zh) 一种基于用户行为特征的用户身份验证方法及装置
CN107146098A (zh) 一种广告运营配置方法及其设备
CN207099116U (zh) 数据采集及远程控制装置
CN109284828A (zh) 一种超参数调优方法、装置及设备
CN113347060B (zh) 基于流程自动化的电力网络故障检测方法、装置和系统
JP2024014654A (ja) 情報処理方法、プログラム及び情報処理システム
CN107505887A (zh) 安全控制显示单元、带有显示单元的安全控制系统及方法
CN109492747A (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