CN116302449A - 跨智能体的算法资源调度方法、装置、设备和介质 - Google Patents
跨智能体的算法资源调度方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116302449A CN116302449A CN202310557298.5A CN202310557298A CN116302449A CN 116302449 A CN116302449 A CN 116302449A CN 202310557298 A CN202310557298 A CN 202310557298A CN 116302449 A CN116302449 A CN 116302449A
- Authority
- CN
- China
- Prior art keywords
- task
- algorithm
- proxy node
- node
- resource
- 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
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 859
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000006854 communication Effects 0.000 claims description 80
- 238000004891 communication Methods 0.000 claims description 76
- 238000012545 processing Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 294
- 230000008901 benefit Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 239000003999 initiator Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013016 damping Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000009257 reactivity Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了跨智能体的算法资源调度方法、装置、设备和介质。该算法资源调度方法包括:接收来自第一代理节点的第一任务协同请求;基于第一任务协同请求,得到任务标签,并生成第二任务协同请求;发送第二任务协同请求至第二代理节点,以便第二代理节点根据任务标签确定目标算法资源;接收来自第二代理节点的目标算法资源;发送目标算法资源至第一代理节点。本公开实施例能够提高智能体的任务执行效率与算法资源利用率。本公开实施例可应用于智能医疗、智能交通、智能城市管理等场景。
Description
技术领域
本公开涉及大数据领域,特别是涉及跨智能体的算法资源调度方法、装置、设备和介质。
背景技术
智能体是指在某一环境中,能够自主对环境中的变化作出反应并解决环境中存在的问题的计算实体。想要保证智能体可以对环境变化作出正确反应以及高效的解决问题,需要向智能体提供大量的算法资源。
但是,单个智能体中存储的算法资源是有限的。目前,在相关技术中缺少能在不同智能体之间进行实时算法资源互通与统一协同调度的方法,这使得智能体在执行任务的效率较低,也使智能体中的算法资源利用率较低,造成了算法资源浪费。
发明内容
本公开实施例提供了跨智能体的算法资源调度方法、装置、设备和介质,能够提高智能体的任务执行效率与算法资源利用率。
根据本公开的一方面,提供了一种算法资源调度方法,所述算法资源调度方法用于跨智能体系统的中心节点,所述跨智能体系统至少包括所述中心节点、第一代理节点、第二代理节点、第一智能体和第二智能体,所述中心节点分别与所述第一代理节点和所述第二代理节点通信连接,所述第一智能体与所述第一代理节点通信连接,所述第二智能体与所述第二代理节点通信连接;
所述算法资源调度方法包括:
接收来自第一代理节点的第一任务协同请求,所述第一任务协同请求由第一智能体发送至所述第一代理节点;
基于所述第一任务协同请求,得到任务标签,并生成第二任务协同请求,所述任务标签用于表征所述第一任务协同请求的关键信息,所述第二任务协同请求中含有所述任务标签;
发送所述第二任务协同请求至第二代理节点,以便所述第二代理节点根据所述任务标签确定目标算法资源,所述目标算法资源由所述第二智能体发送至所述第二代理节点;
接收来自所述第二代理节点的所述目标算法资源;
发送所述目标算法资源至所述第一代理节点,以便所述第一智能体调用所述第一代理节点中的所述目标算法资源。
根据本公开的一方面,提供了一种跨智能体的算法资源调度装置,包括:
第一接收单元,用于接收来自第一代理节点的第一任务协同请求,所述第一任务协同请求由第一智能体发送至所述第一代理节点;
第一生成单元,用于基于所述第一任务协同请求,得到任务标签,并生成第二任务协同请求,所述任务标签用于表征所述第一任务协同请求的关键信息,所述第二任务协同请求中含有所述任务标签;
第一发送单元,用于发送所述第二任务协同请求至第二代理节点,以便所述第二代理节点根据所述任务标签确定目标算法资源,所述目标算法资源由所述第二智能体发送至所述第二代理节点;
第二接收单元,用于接收来自所述第二代理节点的所述目标算法资源;
第二发送单元,用于发送所述目标算法资源至所述第一代理节点,以便所述第一智能体调用所述第一代理节点中的所述目标算法资源。
进一步地,所述第二代理节点中存储有多个候选算法资源;
所述目标算法资源由所述第二代理节点通过以下方式确定:
获取所述第二代理节点中的每一个所述候选算法资源的算法资源标签,所述算法资源标签用于表征所述候选算法资源的关键信息;
将所述算法资源标签与所述任务标签匹配程度最高的候选算法资源,确定为所述目标算法资源。
进一步地,所述算法资源调用装置还包括:
第三接收单元,用于接收来自所述第一代理节点的任务完成结果;
第三发送单元,用于将所述任务完成结果发送至所述第二代理节点,以便所述第二代理节点将所述任务完成结果记录在算法资源使用记录中,所述任务完成结果指示了使用所述目标算法资源执行所述第一任务协同请求对应的任务是否成功;
所述第二代理节点中存储有多个候选算法资源;所述目标算法资源由所述第二代理节点通过以下方式确定:
获取所述第二代理节点中的每一个所述候选算法资源的算法资源标签,所述算法资源标签用来表示所述候选算法资源的特征;
根据所述任务标签与所述算法资源标签的匹配程度,生成算法资源候选集合,所述算法资源候选集合中包括多个所述算法资源标签与所述任务标签匹配程度符合第一预设条件的所述候选算法资源;
基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数;
将所述实用性分数最高的所述候选算法资源确定为所述目标算法资源。
进一步地,所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功次数;
所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功次数,得到所述候选算法资源处理任务的成功率;根据所述成功率,确定所述候选算法资源的所述实用性分数;
或者,
所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功时间;所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率;根据所述成功时间占比率,确定所述候选算法资源的所述实用性分数;
或者,
所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功次数与任务成功时间;所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功次数,得到所述候选算法资源处理任务的成功率;根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率;根据所述成功率和所述成功时间占比率,确定所述候选算法资源的所述实用性分数。
进一步地,所述根据所述任务成功次数,得到所述候选算法资源处理任务的成功率,包括:
根据当前测算的所述候选算法资源的所述任务成功次数和执行总次数的比值关系,得到第一占比率;
根据每一个所述候选算法资源的所述任务成功次数和执行总次数的比值关系,得到第二占比率;
根据所述第一占比率和所述第二占比率,得到所述候选算法资源处理任务的所述成功率。
进一步地,所述第二任务协同请求中包含所述第一代理节点发出所述第一任务协同请求的第一时间;
所述任务成功时间通过以下方式确定:
记录接收到所述任务完成结果的第二时间;
根据所述第一时间与所述第二时间确定成功执行所述第一任务协同请求对应的任务的所述目标算法资源的所述任务成功时间;
所述根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率,包括:
根据当前测算的所述候选算法资源的所述任务成功时间与所述任务成功次数的比值关系,得到第一比率;
根据每一个所述候选算法资源的所述任务成功时间与所述任务成功次数的比值关系,得到第二比率;
根据所述第一比率与所述第二比率,得到所述候选算法资源处理任务的所述成功时间占比率。
进一步地,所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源执行不同任务难度的所述第一任务协同请求对应的任务的任务成功次数与任务成功时间;
所述基于所述算法资源使用记录确定每一个所述候选算法资源的实用性分数包括:
根据所述第二任务协同请求,确定所述第一任务协同请求对应的待处理任务的第一任务难度;
获取每一个所述候选算法资源执行所述第一任务难度的任务的第一任务成功次数与第一任务成功时间;
根据所述第一任务成功次数与所述第一任务成功时间,确定所述实用性分数。
进一步地,所述第二代理节点通过以下方式获取多个所述候选算法资源:
接收来自所述第二智能体的通信通道建立请求;
基于所述通信通道建立请求建立通信通道;
创建算法资源存储消息队列;
通过线程池创建所述通信通道的监听线程,以接收来自所述第二智能体的所述候选算法资源,并将所述候选算法资源存储至所述消息队列。
进一步地,所述第二代理节点有多个;
所述第二接收单元具体用于:
接收来自多个所述第二代理节点的多个所述目标算法资源;
将多个所述目标算法资源打包,生成目标算法资源包;
所述第二发送单元具体用于:将所述目标算法资源包发送至所述第一代理节点,以便所述第一智能体调用所述目标算法资源包,并确定最优目标算法资源,所述目标算法资源包中含有所述最优目标算法资源。
进一步地,所述算法资源调度装置还包括:
第四接收单元,用于接收来自所述第二代理节点的注册请求,所述注册请求中含有代理节点参数;
第二生成单元,用于基于所述注册请求,生成所述第二代理节点的代理节点标识、节点公钥与节点私钥,其中,不同的所述第二代理节点的所述代理节点标识互不相同,所述节点公钥用来对发送至所述第二代理节点的所述第二任务协同请求进行加密,所述节点私钥用来对接收来自于所述第二代理节点的目标算法资源进行解密;
第一存储单元,用于存储所述代理节点参数、所述代理节点标识、所述节点公钥与所述节点私钥;
第四发送单元,用于将所述代理节点标识、所述节点公钥与节点私钥发送至所述第二代理节点,其中,所述节点公钥在所述第二代理节点中用来对目标算法资源进行加密,所述节点私钥在所述第二代理节点中用来对第二任务协同请求进行解密。
进一步地,所述第一发送单元具体用于:
基于所述代理节点标识与所述代理节点参数,向所述第二代理节点发送所述第二任务协同请求;
如果所述第二代理节点响应所述第二任务协同请求失败,按照预定时间周期向所述第二代理节点发送所述第二任务协同请求。
进一步地,所述第二生成单元具体用于:
获取注册所述第二代理节点时的时间戳;
获取所述中心节点的标识;
获取在同一所述时间戳注册所述第二代理节点的序列号;
基于所述时间戳、所述中心节点的标识、和所述序列号,生成所述代理节点标识。
根据本公开的一方面,提供了一种算法资源调度方法,所述算法资源调度方法用于跨智能体系统的第一代理节点,包括:
接收来自第一智能体的第一任务协同请求;
将所述第一任务协同请求发送至中心节点;
接收并存储来自所述中心节点的目标算法资源,所述目标算法资源由第二代理节点响应于中心节点转发的第二任务协同请求生成并发送给所述中心节点的,所述第二任务协同请求中含有任务标签,所述任务标签是所述中心节点基于第一任务协同请求生成的,用来表征所述第一任务协同请求的关键信息;
将所述目标算法资源发送给所述第一智能体,以便所述第一智能体使用所述目标算法资源处理所述第一任务协同请求对应的任务。
根据本公开的一方面,提供了一种算法资源调度方法,所述算法资源调度方法用于跨智能体系统的第二代理节点,包括:
接收并存储来自第二智能体的候选算法资源;
接收来自中心节点的第二任务协同请求,所述第二任务协同请求中含有任务标签,所述任务标签是所述中心节点基于第一任务协同请求生成的,用来表示所述第一任务协同请求的关键信息,所述第一任务协同请求由第一代理节点发送至所述中心节点;
根据所述任务标签,在所述候选算法资源中确定目标算法资源;
将所述目标算法资源发送给所述中心节点,以便所述中心节点将所述目标算法资源发送给所述第一代理节点。
根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的跨智能体的算法资源调度方法。
根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的跨智能体的算法资源调度方法。
根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的跨智能体的算法资源调度方法。
本公开实施例中,每一个智能体与一个代理节点相连,代理节点存储该智能体传入的算法资源;多个代理节点与一个中心节点相连,中心节点作为不同代理节点之间的枢纽,起到了对不同智能体的算法资源进行统一协同调度的作用。当第一智能体向第一代理节点发送了第一任务协同请求后,第一代理节点会将第一任务协同请求转发给中心节点;中心节点对第一任务协同请求进行处理,生成第二代理节点可应用于找到目标算法资源的第二任务协同请求。根据第二任务协同请求,第二代理节点从第二智能体上传的算法资源中找到目标算法资源;第二代理节点将目标算法资源发送给中心节点,由中心节点转发给第一代理节点;第一智能节点存储目标算法资源,第一智能体在需要的时候可直接从第一代理节点中调用目标算法资源。通过以上过程,本公开实施例实现了算法资源在不同智能体之间的协同调度,以保证智能体可以准确地对环境变化作出反应以及高效执行任务,提高了智能体的任务执行效率与算法资源利用率。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1是本公开实施例提供的跨智能体的算法资源调度方法的一种体系架构图;
图2是本公开实施例的跨智能体的算法资源调度方法的中心节点侧的流程图;
图3是建立智能子系统与第一代理节点之间的通信通道的示意图;
图4是建立智能子系统与第一代理节点之间的通信通道的一种流程图;
图5是第一代理节点在中心节点注册的一种流程图;
图6是生成代理节点标识的一种流程图;
图7是代理节点标识的一个具体结构示意图;
图8是中心节点向第二代理节点发送第二任务协同请求的一种流程图;
图9是确定目标算法资源的一种流程图;
图10是在图2的基础上加入返回任务完成结果过程的流程图;
图11是确定目标算法资源的另一种流程图;
图12是确定候选算法资源成功率的一种流程图;
图13是确定候选算法资源成功时间占比率的一种流程图;
图14是确定实用性分数的一种流程图;
图15是本公开实施例的跨智能体的算法资源调度方法的一个详细流程图;
图16是本公开实施例的跨智能体的算法资源调度方法的第一代理节点侧的流程图;
图17是本公开实施例的跨智能体的算法资源调度方法的第二代理节点侧的流程图;
图18A是本公开实施例的跨智能体的算法资源调度方法的整体结构示意图;
图18B是智能体与代理节点之间通信通道建立过程的示意图;
图18C是代理节点在中心节点注册过程的示意图;
图19是本公开实施例的跨智能体的算法资源调度方法的第二代理节点侧的业务流程图;
图20是本公开实施例的跨智能体的算法资源调度方法的整体流程图;
图21是根据本公开实施例的跨智能体的算法资源调度装置的框图;
图22是根据本公开实施例图2所示的跨智能体的算法资源调度方法的终端结构图;
图23是根据本公开实施例图2所示的跨智能体的算法资源调度方法的服务器结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
智能体:指在某一环境下,能持续自主地发挥作用,具有自治性、反应性、社会性、主动性等特征的计算实体。智能体既可以是硬件(如机器人),也可以是软件(如软件平台系统)。自治性是指智能体能根据外界环境的变化,自动地对自己的行为和状态进行调整;反应性是指能对外界的刺激作出反应的能力;社会性是指智能体具有与其他智能体进行合作的能力;主动性是指智能体对于外界环境的改变可以主动采取活动。智能体可以是设置在复杂动态环境中,自治地感知环境信息,自主采取行动,并实现一系列预先设定的目标或任务的计算系统。例如,城市智能体为覆盖范围一定范围的计算实体,统一规划管理、具有居住、教育、购物、休闲、娱乐等一系列完整生活功能,且以互联网接入作为区域规划必备功能,利用4C(即计算机、通信与网络、自控和IC卡),通过有效的传输网络,将多元的信息服务与管理、物业管理与安防、危险救护、居住与购物、智能化集成,为城市区域内的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的生活环境的城市综合区域或城市社区。
RabbitMQ:是一个消息队列,它可以为系统提供一个通用的消息发送和接收的通道,并保证消息在传输过程中的安全。
线程池:线程池是一种多线程处理形式,在处理过程中,将任务添加到消息队列中,然后创建线程后启动这些任务。线程池可以对所有线程进行统一的管理和控制,从而提高了系统的运行效率,降低运行压力。
HTTP协议:超文本传输协议(Hyper Text Transfer Protocol,简称HTTP协议),它是基于TCP协议的应用层传输协议。当需要通过HTTP协议访问一个系统,需要该系统的网络协议(Internet Protocol,简称IP)与端口。
本公开实施例应用的系统体系构架及场景说明
图1是根据本公开的实施例的算法资源调度方法所应用的系统体系构架图,它包括:智能体、代理节点、和中心节点。
智能体在本方法中可以用来根据任务需要发起任务协同请求,也可以将自己的算法资源上传到与之直接连接的代理节点中,以供其他智能体调用。智能体可以是:城市、手机、汽车等。智能体中可以包括多个子系统,每个子系统负责的主要事务与计算任务不同,因此需要的算法资源也不同。例如,一个城市智能体中包括:警务子系统、交通子系统、医疗子系统、与教育子系统等。
代理节点与智能体直接相连,用来对智能体中的算法资源进行统一化、标签化管理。由于智能体有两个角色,分别是任务请求发起方与算法资源提供方,代理节点会根据智能体的角色来执行对应的操作。当智能体作为任务请求发起方时,代理节点首先接收来自于智能体的任务协同请求,再将任务协同请求转发给中心节点;当其他智能体的代理节点提供目标算法资源后,代理节点接收并存储来自中心节点的目标算法资源以供智能体在需要的时候直接调用。当智能体作为算法资源提供方时,代理节点可以直接接收并存储来自智能体的算法资源;当接收到来自中心节点的任务协同请求后,会在来自智能体的算法资源中确定目标算法资源,并返回给中心节点。
中心节点是本公开实施例的算法资源调度方法中负责对算法资源进行统一协同调度的枢纽。与多个代理节点相连,先接收来自任务请求发起方的代理节点的任务协同请求,将任务协同请求中的内容进行提取与整理,确定能表征任务协同请求关键信息的任务标签,生成一个新的任务协同请求,再将新的任务协同请求发送给算法资源提供方的代理节点。在接收到来自算法资源提供方的代理节点的目标算法资源后,将目标算法资源转发给任务请求发起方的代理节点。通过中心节点,实现了不同智能体的算法资源可以进行相互调用的效果,提高了智能体的任务处理效率与算法资源利用率。具体的实施方式将在下文的详细描述中展开。
本公开实施例可以应用在多种场景下。例如,一个城市智能体需要完成追捕一名嫌疑人的任务。当这个城市智能体本身的算法资源无法完成时,这个城市智能体需要向其他城市智能体发布任务协同请求以获得更优的算法资源来帮助完成任务。在发布任务协同请求时需要确定任务标题、任务类型、与任务具体描述。在本例中,任务标题为“协同追击嫌疑人”,任务类型为“警务任务”,任务具体描述为:“本市发布一项嫌疑人搜索任务,主要包括:根据嫌疑人出现的位置预测行动轨迹、对指定位置出现的人进行人脸识别,根据行动轨迹与人脸识别确定嫌疑人的最终位置”。任务信息确定完成后,生成任务协同请求,发送至与该城市智能体连接的代理节点。
代理节点接收到任务协同请求后,将任务协同请求发送给中心节点。中心节点收到任务协同请求后,根据请求中的任务标题、任务难度、和任务具体描述确定该任务的任务标签。本例中,确定的任务标签包括:“行动轨迹”和“人脸识别”。中心节点根据任务标签生成新的任务协同请求,并将新的任务协同请求发送给除发出请求的代理节点以外的所有其他代理节点。
其他代理节点在接收到该任务协同请求后,根据任务标签在节点的算法资源库中找可以用于处理该任务的效果最优的目标算法资源,并将目标算法资源发回给中心节点。中心节点在接收到所有其他代理节点发回的目标算法资源后,将所有目标算法资源整理打包,发送给发起任务协同请求的代理节点。代理节点将收到的目标算法资源存储进算法资源库中。智能体调用代理节点存储的目标算法资源以执行追击嫌疑人的任务。
以上是以发布追击嫌疑人任务协同请求为例,进行跨城市智能体的算法资源调度的过程。
本公开实施例的总体说明
根据本公开的一个实施例,提供了一种跨智能体的算法资源调度方法。
算法资源是智能体在执行计算任务时需要用到的算法。算法资源根据执行计算任务类型的不同被划分为不同的类别。例如,用于针对某个问题做预测需要使用的预测算法、对事务进行分类需要使用的分类算法、与用于发现事务间关联关系的关联规则算法等。
智能体在对环境作出反应或在执行任务的过程中,往往会因为自身存储的算法资源有限而导致任务完成效果不好。目前,相关技术中缺少能在不同智能体之间进行实时算法资源调度的方法,这使得智能体的任务执行效率较低、执行结果较差。而且在一个智能体中,没有参与计算任务的算法资源只能被闲置,这导致了算法资源利用率较低,从而造成算法资源浪费。本公开实施例提供了一种算法资源可以在不同智能体之间进行实时调度的方法,以提高算法资源调度的效率与算法资源利用率,避免了算法资源浪费。
根据本公开的一个实施例,算法资源调度方法用于跨智能体系统的中心节点,跨智能体系统至少包括中心节点、第一代理节点、第二代理节点、第一智能体和第二智能体,中心节点分别与第一代理节点和第二代理节点通信连接,第一智能体与第一代理节点通信连接,第二智能体与第二代理节点通信连接;
算法资源调度方法应用于中心节点,如图2所示,包括:
步骤210、接收来自第一代理节点的第一任务协同请求;
步骤220、基于第一任务协同请求,确定任务标签,并生成第二任务协同请求;
步骤230、发送第二任务协同请求至第二代理节点,以便第二代理节点根据任务标签确定目标算法资源;
步骤240、接收来自第二代理节点的目标算法资源;
步骤250、发送目标算法资源至第一代理节点。
在上述步骤中,第一智能体作为任务发起方,第二智能体作为算法资源提供方。需要说明的是,第二智能体也可以作为任务发起方,向第一智能体发送任务协同请求;第一智能体也可以作为算法资源提供方,向第二智能体提供算法资源;第一代理节点与第二代理节点均可以根据连接智能体的角色来执行对应的操作。以下内容中针对第一代理节点的描述,适用于第二代理节点;针对第二代理节点的描述,同样适用于第一代理节点。
下面对上述步骤210-250进行详细描述。
步骤210中,中心节点接收来自第一代理节点的第一任务协同请求,其中,第一任务协同请求是由第一智能体发送给第一代理节点的,用于向其他智能体发起算法资源调度的请求以完成第一智能体需要完成的任务。
在第一代理节点接收第一任务协同请求之前,需要建立第一智能体与第一代理节点之间的通信通道。
在一个实施例中,由第一代理节点建立与第一智能体之间的通信通道,具体包括:接收来自第一智能体的通信通道建立请求;基于通信通道建立请求建立通信通道;创建算法资源存储消息队列与算法资源回执消息队列;通过线程池创建通信通道的监听线程。
通信通道建立请求中包括:第一智能体名称、算法资源需求类型、第一智能体描述。
基于通信通道建立请求建立通信通道,包括:为第一智能体分配智能体标识;基于智能体标识生成账号与密码,账号与密码用来在每一次第一智能体与第一代理节点的通信过程中进行身份验证。
算法资源存储消息队列用来传输由第一智能体发送到第一代理节点的算法资源或第一任务协同请求;算法资源回执消息队列用来传输第一智能体从第一代理节点中调用的算法资源。创建算法资源存储消息队列与算法资源回执消息队列可以基于RabbitMQ进行开发。
通过线程池创建通信通道的监听线程,用来控制算法资源存储消息队列与算法资源回执消息队列的状态,保证消息队列可以正常维持智能体与代理节点之间的通信。当通信通道连接异常,监听线程提供了异常重连机制,保证了通信通道的稳定性。
上述建立第一智能体与第一代理节点之间的通信通道的优点是:采取通信通道进行信息传输可以提高信息传输效率;在每一次传输时使用账号与密码进行身份验证提高了传输过程中的安全性;利用线程池创建消息队列监听提高了通信通道的稳定性,降低了算法资源消耗,使通信过程更加便于管理。
在另一个实施例中,一个智能体中包含多个智能子系统,每个智能子系统负责一个智能体中的不同功能模块。例如,城市智能体中包括:交通智能子系统、医疗智能子系统、警务智能子系统、和教育智能子系统等。划分智能子系统的原因是:每个智能子系统的职能不同,处理的任务就会不同,需要的算法资源也不同。因此,由智能子系统发出的任务协同请求与算法资源的类别更加明确。
在本实施例中,每一个智能体对应一个代理节点,智能体中的智能子系统分别与这个代理节点建立通道。如图3所示,第一智能体中包括多个智能子系统,每个智能子系统都与第一代理节点直接存在一条独立的通道。由第一代理节点建立与第一智能子系统之间的通信通道,具体包括:接收来自第一智能子系统的通信通道建立请求;基于通信通道建立请求建立通信通道;创建算法资源存储消息队列与算法资源回执消息队列;通过线程池创建通信通道的监听线程。
通信通道建立请求中包括:第一智能子系统名称、算法资源需求类型、第一智能子系统描述。
基于通信通道建立请求建立通信通道,包括:为第一智能子系统分配智能子系统标识,不同智能子系统的智能子系统标识是不同的;基于智能子系统标识生成该智能子系统对应的唯一的账号与密码,账号与密码用来在每一次第一智能子系统与第一代理节点的通信过程中进行身份验证,实现了不同智能子系统之间进行数据权限隔离。
每一个智能子系统与第一代理节点之间的算法资源存储消息队列和算法资源回执消息队列是独立的,监听线程也是独立的。也就是说,不同智能子系统与第一代理节点之间的通信过程是互不影响的。
上述建立智能子系统与第一代理节点之间的通信通道的优点是:不同的智能子系统使用不同的通信通道与第一代理节点进行交流,且不同通信通道之间的传输过程互不影响,提高了通信传输的效率;不同智能子系统的需求类型不同,所以在进行算法资源调用过程中,可以针对特定的需求类型进行调用,提高了算法资源调用的准确性。
图4展示了第一智能子系统与第一代理节点进行通信的过程,前4步为通信通道的建立过程,在前述内容中已详细描述,此处不再赘述。在通信通道建立完成后,第一代理节点可执行第5步:通过算法资源存储消息队列读取算法资源或任务协同请求,通过算法资源回执消息队列向第一智能子系统发送算法资源。
当第一智能子系统是任务发起方时,会通过算法资源存储消息队列向第一代理节点发送任务协同请求,第一代理节点在接收到算法资源存储消息队列中的消息后,判定该消息为任务协同请求,则发送给中心节点。第一代理节点接收到来自于中心节点反馈的目标算法资源后,将目标算法资源存储起来,在第一智能子系统需要调用目标算法资源时,将目标算法资源通过算法资源回执消息队列发送给第一智能子系统。
当第一智能子系统是算法资源提供方时,会通过算法资源存储消息队列向第一代理节点发送算法资源,第一代理节点接收到算法资源后存储起来以供其他代理节点调用。
中心节点在接收来自第一代理节点的第一任务协同请求之前,需要注册第一代理节点的信息,以保证可以响应第一代理节点发送的第一任务协同请求。
在一个实施例中,如图5所示,在中心节点注册第一代理节点信息,包括:
步骤510、接收来自第一代理节点的注册请求,注册请求中含有代理节点参数;
步骤520、判断第一代理节点是否已经注册,若已经注册,则响应给第一代理节点注册失败信息;若没有注册,则基于注册请求,生成第一代理节点的代理节点标识、节点公钥、与节点私钥;
步骤530、存储代理节点参数、代理节点标识、节点公钥与节点私钥;
步骤540、将代理节点标识、节点公钥与节点私钥发送至第一代理节点。
第一代理节点与中心节点基于HTTP协议进行连接,代理节点参数包括第一代理节点的代理节点名称、IP、与端口。
第一代理节点在中心节点中只需要进行一次注册,之后可以直接通过HTTP协议进行连接,无需重复注册。因此,如果中心节点收到来自已经注册的代理节点的注册请求,会向该代理节点发送失败信息。
如果中心节点第一次收到第一代理节点发送的注册请求,则会为第一代理节点生成唯一的节点标识、节点公钥、与节点私钥。
节点标识用来区分在中心节点中注册的不同代理节点。在一个实施例中,如图6所示,生成第一代理节点的代理节点标识,包括:
步骤610、获取注册第一代理节点时的时间戳;
步骤620、获取中心节点的标识;
步骤630、获取在同一时间戳注册第一代理节点的序列号;
步骤640、基于时间戳、中心节点的标识、和序列号,生成代理节点标识。
步骤610中,中心节点可以获取注册第一代理节点的时间信息作为时间戳。时间戳的精度一方面受到中心节点的时钟精度的限制,例如,中心节点的时钟精度最高为毫秒级,则时间戳的时间精度最高不超过毫秒级;时间戳的精度另一方面受到代理节点标识结构中分配给时间戳的位数(比特数)的限制,例如,代理节点标识结构中分配给时间戳的位数最高只能容纳毫秒级时间信息,则时间戳的时间精度最高不超过毫秒级。例如,一个时间戳的时间精度为毫秒级,时间戳包括41个比特,其中,3个比特用于表征年,4个比特用于表征月,6个比特用于表征日期,6个比特用于表征小时,6个比特用于表征分钟,6个比特用于表征秒,10个比特用于表征毫秒。
步骤620中,中心节点的标识用来识别中心节点。如果智能体的数量庞大,只有一个中心节点进行算法资源统一协同调度效率较低,因此设置多个中心节点可以同时进行多个算法资源调度任务,从而提高算法资源调度的效率。不同的中心节点的标识不同。服务器可容纳的中心节点的数量受代理节点标识结构中分配给中心节点的标识的位数的限制。例如,代理节点标识中分配给中心节点标识的位数为8比特,则对应服务器最高可容纳256个中心节点。
步骤630中,如果是同一中心节点在同一时间戳内注册的代理节点,则可以用序列号区分。中心节点可以采用自增序列产生序列号。例如,自增序列的初始值为“0000000000”,则中心节点在某一时间戳注册的第一个代理节点的序列号为“0000000000”,在该时间戳内注册的第二个代理节点的序列号为“0000000001”,在该时间戳内注册的第三个代理节点的序列号为“0000000011”,依次类推。到了下一个时间戳,中心节点的自增序列重置为初始值“0000000000”,并继续根据时间戳内注册的代理节点顺序为代理节点赋予对应的序列号。这样,实现了在同一中心节点同一时间戳内生成的代理节点的序列号不同的效果。
可以理解的是,同一中心节点在同一时间戳内注册代理节点的最大数量,受到代理节点标识结构中分配给序列号的位数的限制。例如,代理节点标识结构中分配给序列号的位数为8比特,则序列号最大值对应的十进制数为255,表征中心节点在同一时间戳内注册代理节点的最大数量为256个。
步骤640中,基于时间戳、中心节点的标识、和序列号,生成代理节点标识。示例性的,代理节点标识的结构如图7所示。该示例的代理节点标识包含64比特。其中,1个比特作为启用标志位,启用标志位为1时表示代理节点标识启用,启用标志位为0时表示代理节点标识停用;41比特作为时间戳,时间戳的精度可以达到毫秒级;12个比特作为中心节点的标识,中心节点的标识的位数支持服务器可以容纳4096个中心节点,可满足超大规模跨智能体系统的算法资源调度要求;10比特作为中心节点的序列号,序列号的位数可以满足同一中心节点在同一时间戳内注册1024个代理节点的要求。
图7的代理节点标识的优点在于,在不同的中心节点注册的代理节点可以用过中心节点的标识区分,在同一中心节点不同时间注册的代理节点可以通过时间戳区分,在同一中心节点同一时间注册的代理节点可以通过序列号区分,时间戳、中心节点的标识、和序列号的组合提高了代理节点的区分度,在进行跨智能体算法资源调度的过程中,提高了中心节点与代理节点之间沟通的效率。
需要说明的是,中心节点在生成代理节点标识的过程中,步骤610、步骤620和步骤630可以以任意顺序执行,也可以并行执行。
第一代理节点的节点公钥与节点私钥只用于第一代理节点与中心节点之间的信息传输。因此中心节点需要将第一代理节点的代理节点标识与节点公钥和节点私钥对应保存。在中心节点中,节点公钥用来对发送至第一代理节点的任务协同请求或目标算法资源进行加密,节点私钥用来对接收来自第一代理节点的任务协同请求或目标算法资源进行解密。中心节点还需要将代理节点标识、节点公钥与节点私钥发送给第一代理节点,在第一代理节点中,节点公钥用来对发送给中心节点的目标算法资源或任务协同请求进行加密,节点私钥用来对接收来自中心节点的任务协同请求或目标算法资源进行解密。
其他代理节点无法获得第一代理节点的节点公钥与节点私钥,每个代理节点的节点公钥与节点私钥都是唯一的。因此,生成节点公钥与节点私钥提高了代理节点与中心节点之间信息传输的安全性。
第一任务协同请求包括:任务标题、任务需求描述、与代理节点标识。
步骤220中,中心节点生成的第二任务协同请求与第一任务协同请求是不同的,第二任务协同请求中含有的任务标签是中心节点基于第一任务协同请求中的任务需求描述,利用任务标签提取算法生成的。
任务标签用于表征第一任务协同请求的关键信息。例如,第一任务协同请求中的任务需求描述是:“使用预测轨迹模型,用于根据嫌疑人出现的地点预测轨迹。”利用任务标签提取算法后提取出的关键词为“预测轨迹”,将这个关键词作为任务标签,表征了第一任务请求的关键信息。
在一个实施例中,任务标签提取算法是利用任务需求描述中词语的共现关系获取关键词。具体包括:
将任务需求描述按照完整的句子进行分割;
对于每个句子,进行词性标注,保留特定词性的词。例如,名词、动词、形容词,保留的词作为候选关键词;
构建候选关键词图,其中,图的节点为候选关键词,边为根据候选词之间的共现关系生成的,当两个候选关键词在预定长度的窗口中共现,则构造这两个候选关键词的边。
获取每个候选关键词的权重,使用的公式为:
其中,表示节点/>的权重;/>为指向/>的节点集合;/>为节点/>指向的节点的集合;/>为节点/>和节点/>之间的边的权重;d为阻尼系数,代表从图中一个节点指向其他任意节点的概率。在一些实施例中,阻尼系数d的取值可以根据需要设定,例如,可以设d=0.85。
通过公式1,经过多次迭代,可以得到每个候选关键词的权重,权重越高表示该候选关键词在任务需求描述中越重要,越能表征任务需求描述的关键信息。
最终,选择权重最高的候选关键词作为第一任务协同请求的任务标签。
通过本实施例的算法确定任务标签的优点是:算法不需要进行提前训练,根据文本内容即可得到关键词,提高了确定任务标签过程的灵活性。
第二任务协同请求中包括:任务标题、任务标签、代理节点标识、中心节点标识。
本实施例的优点在于,步骤220通过将第一任务协同请求转换为带有任务标签的第二任务协同请求,以方便第二代理节点接收到第二任务协同请求后,根据任务标签进行算法资源匹配和推荐。
步骤230中,中心节点将第二任务协同请求发送给第二代理节点。第二代理节点是在中心节点注册的、除第一代理节点之外的全部代理节点。
在一个实施例中,如图8所示,发送第二任务协同请求至第二代理节点,包括:
步骤810、基于代理节点标识与代理节点参数,向第二代理节点发送第二任务协同请求;
步骤820、如果第二代理节点响应第二任务协同请求失败,按照预定时间周期向第二代理节点发送第二任务协同请求。
在一些实施例中,第二代理节点指的是与中心节点通信连接的,除了请求方第一代理节点之外的任一代理节点。中心节点可以通过广播的方式向第二代理节点发送第二任务协同请求。
在本实施例中,中心节点首先查询注册的所有第二代理节点的代理节点标识与代理节点参数,再通过HTTP请求的方式,向第二代理节点发送第二任务协同请求。
如果第二代理节点响应第二任务协同请求失败,则在中心节点中标记该第二代理节点为“发送失败”。之后,每隔预定时间向标记“发送失败”的第二代理节点重新发送第二任务协同请求,直到第二代理节点响应成功或者第一任务协同请求对应的待处理任务已经完成。
如果第二代理节点成功响应第二任务协同请求,则在中心节点中标记该第二代理节点为“发送成功”,并等待第二代理节点发送推荐的目标算法资源。
步骤810-820的优点在于,确保每个第二代理节点都可以提供一个推荐的目标算法资源,使得调用的算法资源更加全面,提高了完成第一任务协同请求对应的待处理任务的成功率。
第二代理节点在接收到第二任务协同请求后,首先需要使用由中心节点生成的节点私钥对第二任务协同请求进行解密,再从多个候选算法资源中确定与第二任务协同请求中任务标签匹配的目标算法资源。其中,候选算法资源来自第二智能体,获取多个候选算法资源的过程,包括:
接收来自第二智能体的通信通道建立请求;
基于通信通道建立请求建立通信通道;
创建算法资源存储消息队列;
通过线程池创建通信通道的监听线程,以接收来自第二智能体的候选算法资源,并将候选算法资源存储至消息队列。
上述步骤中包括建立第二智能体与第二代理节点之间的通信通道的过程,与建立第一智能体和第一代理节点之间的通信通道的过程相同,此处不再赘述。
第二代理节点接收到的候选算法资源包含的公共参数如表1所示:
表 1
表1为上传候选算法资源需要的公共参数的参数名称以及每个参数名称的参数说明。
“sourceID”是指算法资源来源的标识。在一个实施例中,sourceID为智能体标识。在另一个实施例中,智能体中包含多个智能子系统,每一个智能子系统与第二代理节点独立连接,且每个智能子系统有一个唯一的智能子系统标识,在本实施例中,sourceID是上传候选算法资源的智能子系统标识。
“resourceID”是指候选算法资源的算法资源标识,是由第二代理节点为候选算法资源生成的标识。如果候选算法资源是第一次传入第二代理节点,则不需要传入算法资源标识参数;如果要对已经传入第二代理节点的候选算法资源进行更新或删除操作,则需要传入对应候选算法资源的算法资源标识。
“deleted”是一个布尔值,如果要对候选算法资源执行删除操作,则该参数的值为1,否则,该参数的值为0。
“cooperationRange”是指候选算法资源的协同范围,也就是候选算法资源可以使用的范围,包括:本域、跨域、与全域。当协同范围为本域,则表示该候选算法资源只能应用于算法资源来源的智能体或智能子系统;当协同范围为跨域,则表示该候选算法资源只能应用于其他智能体或智能子系统;当协同范围为全域,则表示该候选算法资源可应用于算法资源来源的智能体或智能子系统,也可以调用到其他智能体或智能子系统。
“type”表示候选算法资源的类型,例如,算法资源可以是:预测算法、分类算法、关联规则算法、图像处理算法、自然语言处理算法等。“type”可以用数字来表示,例如:1表示预测算法、2表示分类算法、3表示关联规则算法、4表示图像处理算法、5表示自然语言处理算法等。
除上述参数以外,算法资源的参数还可以包括:算法地址、算法说明、与算法参数配置。
例如,一个算法类算法资源上传至第二代理节点的参数为{“sourceId”: “1001”,“name”:“协同模型”,“cooperationRange”:“1”, “resourceId”:“143662738846”,“type”:“model”,“file_addr”:“http://type.dwerb.cn”,“comment”:“345”,“param_config”:“56789”}。其中,“sourceId”、 “name”、 “cooperationRange” “resourceId”、 “type”为算法资源的公共参数;“file_addr”为算法资源需要上传的算法地址参数; “comment”为算法资源需要上传的算法说明参数;“param_config”为算法资源需要上传的算法参数配置参数。
第二代理节点接收到候选算法资源后,会为候选算法资源生成唯一的算法资源标识。生成算法资源标识的过程,包括:
获取接收候选算法资源时的时间戳;
获取第二代理节点的代理节点标识;
获取在同一时间戳接收的候选算法资源的序列号;
基于时间戳、代理节点标识、序列号,生成算法资源标识。
详细描述与前述实施例中中心节点为代理节点生成代理节点标识的过程相似,此处不再赘述。
在一个实施例中,如图9所示,第二代理节点根据任务标签确定目标算法资源,包括:
步骤910、获取第二代理节点中的每一个候选算法资源的算法资源标签;
步骤920、将算法资源标签与任务标签匹配程度最高的候选算法资源,确定为目标算法资源。
算法资源标签用来表征候选算法资源的关键信息。算法资源标签在第二代理节点存储候选算法资源时生成。
在一个实施例中,为候选算法资源生成算法资源标签可以通过人工赋予算法资源标签的方式。通过人工赋予算法资源标签的优点在于,得到的算法资源标签更加准确,从而提高获取目标算法资源的准确性。
在另一个实施例中,为候选算法资源生成算法资源标签可以通过模型确定,即将候选算法资源名称输入模型,直接得到算法资源对应的算法资源标签。通过模型确定算法资源标签的优点在于,减少人力,提高了获取算法资源标签的效率。
算法资源标签生成后与候选算法资源对应存储,步骤910中,第二代理节点可以直接从本地获取候选算法资源的算法资源标签。
可采取算法对算法资源标签与任务标签进行比较,得到算法资源标签与任务标签的匹配程度。
在一个实施例中,确定算法资源标签与任务标签的匹配程度的方式为计算算法资源标签字符串与任务标签字符串之间的编辑距离。编辑距离是指两个字符串之间,由一个字符串转成另一个字符串所需的最少编辑操作次数。编辑操作包括:将一个字符更换为另一个字符、插入一个字符、删除一个字符。例如,字符串“abc”到字符串“abd之间的编辑距离为1,可通过更换一个字符得到;字符串“abc”到字符串“abcd”之间的编辑距离为1,可通过插入一个字符得到;字符串“abcd”到字符串“acd”之间的编辑距离为1,可通过删除一个字符得到。
编辑距离的计算公式为:
公式2中,如果i或j等于0,那么算法资源标签前i个字符和任务标签前j个字符之间的编辑距离为;否则,通过三种操作,得出算法资源标签与任务标签之间的编辑距离。/>是指针对增加一个字符的操作得出的编辑距离;/>是指删除一个字符的操作得出的编辑距离;/>是指修改一个字符得出的编辑距离。选择三种操作中得到结果最小的作为算法资源标签前i个字符和任务标签前j个字符之间的编辑距离,以此类推得到算法资源标签与任务标签之间的编辑距离。
由于编辑距离越短则表示算法资源标签与任务标签的相似程度越高,所以,选择编辑距离最短的算法资源标签对应的候选算法资源作为目标算法资源。
算法资源标签与任务标签分别是根据候选算法资源与待处理任务提取的关键信息。对算法资源标签与任务标签进行对比,本质上,是对候选算法资源的关键信息与待完成任务的关键信息进行对比。所以,步骤910-920的优点在于,不需要对比候选算法资源与待处理任务的全部内容就可以得到准确的目标算法资源匹配结果,提高了确定目标算法资源的计算效率。
在另一个实施例中,如图10所示,在步骤250之后,算法资源调度方法还包括:
步骤1010、接收来自第一代理节点的任务完成结果;
步骤1020、将任务完成结果发送至第二代理节点,以便第二代理节点将任务完成结果记录在算法资源使用记录中。
在步骤250之后,第一智能体调用第一代理节点中的目标算法资源以解决待处理任务。由于目标算法资源有多个,包括中心节点接收到的来自于已注册的、除第一代理节点以外的全部第二代理节点的目标算法资源。所以为了得到最优的可解决待处理任务的算法资源,第一智能体使用全部目标算法资源,可以最终得到最好效果的目标算法资源为最优的目标算法资源。
任务完成结果指示了全部目标算法资源执行第一任务协同请求对应的任务是否成功。其中,最优的目标算法资源记录为成功,其他目标算法资源记录为失败。
第一智能体将任务完成结果发送给第一代理节点,由第一代理节点反馈给中心节点,中心节点再将任务完成结果反馈给标记为“发送成功”的第二代理节点。在一些实施例中,中心节点可以通过广播的方式向第二代理节点发送任务完成结果。
第二代理节点在接收到任务完成结果后,将任务完成结果记录在算法资源使用记录中,以便第二代理节点在之后的任务协同请求中,通过算法资源使用记录确定目标算法资源。基于步骤1010-1020,如图11所示,目标算法资源由第二代理节点通过以下方式确定:
步骤1110、获取第二代理节点中的每一个候选算法资源的算法资源标签;
步骤1120、根据任务标签与算法资源标签的匹配程度,生成算法资源候选集合;
步骤1130、基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数;
步骤1140、将实用性分数最高的候选算法资源确定为目标算法资源。
获取算法资源标签的过程和确定任务标签与算法资源标签的匹配程度的过程在前述实施例中已经详细描述,此处不再赘述。但是,在本实施例中,根据任务标签与算法资源标签的匹配程度,生成一个算法资源候选集合。算法资源候选集合中包括多个算法资源标签与任务标签匹配程度符合第一预设条件的候选算法资源。
在一个实施例中,第一预设条件是候选算法资源的算法资源标签与任务标签匹配程度是所有候选算法资源中最高的。在本实施例中,如果匹配程度最高的候选算法资源只有1个,那个不需要进行步骤1130-1140。通过最高的匹配程度确定算法资源候选集合的优点在于,得到的候选算法资源都是与任务标签关联度最高的,所以从中确定的最终目标算法资源的结果准确性较高。
在一个实施例中,第一预设条件是候选算法资源的算法资源标签与任务标签匹配程度符合预定比例。例如,第二代理节点中共有50个候选算法资源,预定比例是10%,那么第一预设条件是算法资源标签与任务标签匹配程度是50个候选算法资源中前10%的候选算法资源,也就是匹配程度排列前5名的候选算法资源。通过预定比例确定多个候选算法资源的优点在于,在确定算法资源标签与目标标签的过程中可能会出现误差,所以设定预定比例可以减少计算误差对于目标算法资源确定结果的影响,提高了容错性。
步骤1130中,对算法资源候选集合中的每一个候选算法资源计算实用性分数。实用性分数表示了候选算法资源在的实际任务中的表现。
在一个实施例中,算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功次数。根据任务完成结果在算法资源使用记录中将任务执行成功的候选算法资源的任务成功次数加1。基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:根据任务成功次数,得到候选算法资源处理任务的成功率;根据成功率,确定候选算法资源的实用性分数。
在一个实施例中,如图12所示,根据任务成功次数,得到候选算法资源处理任务的成功率,包括:
步骤1210、根据当前测算的候选算法资源的任务成功次数和执行总次数的比值关系,得到第一占比率;
步骤1220、根据每一个候选算法资源的任务成功次数和执行总次数的比值关系,得到第二占比率;
步骤1230、根据第一占比率和第二占比率,得到候选算法资源处理任务的成功率。
步骤1210中,设第一占比率为ravg(i),i表示当前测算的候选算法资源。ravg(i)= rvsn(i)/rrn(i),其中,rvsn(i)为当前测算的候选算法资源的任务成功次数,rrn(i)为当前测算的候选算法资源在之前的任务请求中被推荐为目标算法资源的执行总次数,执行总次数在算法资源使用记录中每一次作为目标算法资源被推荐时加1。例如,候选算法资源A的rvsn(A)为10,rrn(A)为25,则该候选算法资源的第一占比率ravg(A)= 10/25=0.4。
步骤1220中,设第二占比率为ravg(s),s表示算法资源使用记录中的所有算法资源。ravg(s) = rvsn(s)/rrn(s),其中,rvsn(s)为算法资源使用记录中所有算法资源的成功次数,rrn(s)为算法资源使用记录中所有算法资源的执行总次数。例如,算法资源使用记录中,候选算法资源A的rvsn(A)为10,rrn(A)为25;候选算法资源B的rvsn(B)为5,rrn(B)为22;候选算法资源C的rvsn(C)为12,rrn(C)为24;候选算法资源D的rvsn(D)为8,rrn(D)为30,那么rvsn(s)= 10+5+12+8=35,rrn(s)= 25+22+24+30=101,那么ravg(s)=0.35。
步骤1230中,设成功率为rvs(i,s),表示当前测算的候选算法资源在总算法资源中的成功率。rvs(i,s)=ravg(i)/ravg(s)。例如,候选算法资源A的成功率rvs(A,s) =ravg(A)/ravg(s)=0.4/0.35=1.14。
步骤1210-1230的优点在于,通过当前测算候选算法资源的成功次数占比与全部候选算法资源的成功次数占比的比较,可以直观地得知当前测算候选算法资源在全部候选算法资源中的表现,让候选算法资源之间的比较更加公平,进一步提高了通过实用性分数确定目标算法资源的准确性。
在得到成功率结果后,成功率结果可直接作为当前测算的候选算法资源的实用性分数。
成功率是评估候选算法资源实用性的最直接的依据,成功率越高就表示当前测算的候选算法资源在全部候选算法资源中的表现越好,作为第二代理节点的推荐解决待处理任务的成功的可能性越高。因此,根据成功率确定候选算法资源的实用性分数的优点在于,提高了确定目标算法资源的准确性。
在另一个实施例中,算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功时间。以第一代理节点发起第一任务协同请求的时间作为开始时间;以第二代理节点收到任务完成结果的时间作为结束时间,开始时间与结束时间之间的时间长度作为任务成功时间。第二代理节点在接收到的任务完成结果后,将算法资源使用记录中任务成功的候选算法资源的任务成功时间加上执行当前任务的任务成功时间。例如,候选算法资源A在算法资源使用记录中原本的任务成功时间为20分钟,任务完成结果中候选算法资源A执行任务成功,任务成功时间为6分钟,那么算法资源使用记录中候选算法资源A的任务成功时间更新为26分钟。
基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:根据任务成功时间,得到候选算法资源处理任务的成功时间占比率;根据成功时间占比率,确定候选算法资源的实用性分数。
在一个实施例中,第二代理节点接收到的第二任务协同请求中包含第一代理节点发出第一任务协同请求的第一时间。
第二代理节点确定任务成功时间,包括:记录接收到任务完成结果的第二时间;根据第一时间与第二时间确定成功执行第一任务协同请求对应的任务的目标算法资源的任务成功时间。
如图13所示,根据任务成功时间,得到候选算法资源处理任务的成功时间占比率,包括:
步骤1310、根据当前测算的候选算法资源的任务成功时间与任务成功次数的比值关系,得到第一比率;
步骤1320、根据每一个候选算法资源的任务成功时间与任务成功次数的比值关系,得到第二比率;
步骤1330、根据第一比率与第二比率,得到候选算法资源处理任务的成功时间占比率。
步骤1310中,设第一比率为tavg(i),i表示当前测算的候选算法资源。tavg(i) =trpt(i)/rvsn(i),其中,trpt(i)为当前测算的候选算法资源在算法资源使用记录中记录的任务成功时间;rvsn(i)为当前测算的候选算法资源的任务成功次数。例如,候选算法资源A的trpt(i)为26分钟,rvsn(i)为10次,则候选算法资源A的第一比率tavg(i)=26/10=2.6。第一比率用来表示当前测算的候选算法资源成功完成一次任务的平均时间。
步骤1320中,设第二占比率为tavg(s),s表示算法资源使用记录中的所有算法资源。tavg(s)=trpt(s)/rvsn(s),其中,trpt(s)算法资源使用记录中所有算法资源的任务成功时间总和,rvsn(s)为算法资源使用记录中所有算法资源的成功次数总和。例如,算法资源使用记录中,候选算法资源A的trpt(A)为26分钟,rvsn(A)为10次;候选算法资源B的trpt(B)为15分钟,rvsn(B)为5次;候选算法资源C的trpt(C)为30分钟,rvsn(C)为12次;候选算法资源D的trpt(D)为22分钟,rvsn(D)为8次,那么trpt(s)= 26+15+30+22=93,rvsn(s)=10+5+12+8=35,那么tavg(s)=2.66。
步骤1330中,设成功时间占比率为rvsp(i,s),表示当前测算的候选算法资源在总算法资源中的成功时间占比率。rvsp(i,s)=tavg(s)/tavg(i)。例如,候选算法资源A的成功时间占比率rvsp(A,s)=tavg(s)/tavg(A)=1.02。
任务成功时间可以用来表示候选算法资源的任务完成效率,任务成功时间越短,表示执行效率越高,候选算法资源的表现效果越好。因此,步骤1310-1330的优点在于,如果当前测算的候选算法资源的成功时间占比率越高,则表示该候选算法资源与其他候选算法资源相比执行效率越高,使得候选算法资源之间的比较更加公平,进一步提高了通过实用性分数确定目标算法资源的准确性。
在得到成功时间占比率后,可直接以成功时间占比率作为当前测算的候选算法资源的实用性分数。
成功时间占比率可以用来表示候选算法资源的执行任务成功的效率。执行效率越高表示在执行当前待处理任务所需的时间越短,进而提高第一智能体解决任务的效率。
在另一个实施例中,算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功次数与任务成功时间。
基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:根据任务成功次数,得到候选算法资源处理任务的成功率;根据任务成功时间,得到候选算法资源处理任务的成功时间占比率;根据成功率和成功时间占比率,确定候选算法资源的实用性分数。
在本实施例中,成功率与成功时间占比率的计算过程在前述实施例中已经详细描述,此处不再赘述。
设实用性分数为rps(i,s),rps(i,s)=rvs(i,s)+rvsp(i,s),其中rvs(i,s)为当前测算的候选算法资源的成功率,rvsp(i,s)为当前测算的候选算法资源的成功时间占比率。例如,候选算法资源A的rvs(A,s)为1.14;rvsp(A,s)为1.02,则候选算法资源A的实用性分数rps(A,s)为2.16(1.14+1.02)。
本实施例的优点在于,同时考虑候选算法资源的成功率与成功时间占比率,提高了确定目标算法资源的准确性与第一智能体解决任务的效率。
在一个实施例中,第一任务协同请求与第二任务协同请求中包括对应的待处理任务的任务难度;算法资源使用记录中包括:第二代理节点中的每一个候选算法资源执行不同任务难度的第一任务协同请求对应的任务的任务成功次数与任务成功时间。任务难度包括:低难度、中难度、与高难度,由第一智能体在发出第一任务协同请求时确认。
在一个实施例中,如图14所示,基于算法资源使用记录确定每一个候选算法资源的实用性分数包括:
步骤1410、根据第二任务协同请求,确定第一任务协同请求对应的待处理任务的第一任务难度;
步骤1420、获取每一个候选算法资源执行第一任务难度的任务的第一任务成功次数与第一任务成功时间;
步骤1430、根据第一任务成功次数与第一任务成功时间,确定实用性分数。
第二任务协同请求中包括待处理任务的第一任务难度,可直接在第二任务协同请求中获取;
根据第一任务难度获取算法资源使用记录中的第一任务次数与第一任务时间。例如,第一任务难度为“高难度”,候选算法资源A在算法资源使用记录中:低难度对应的任务成功次数为8,任务成功时间为15分钟;中难度对应的任务成功次数为6,任务成功时间为14分钟;高难度对应的任务成功次数为5,任务成功时间为15分钟,那么获取候选算法资源A在“高难度”对应的第一任务成功次数与第一任务成功时间。
根据第一任务成功次数与第一任务成功时间,确定实用性分数的具体计算方式与前述实施例中计算实用性分数的方法相似。不同之处在于,本实施例中只针对第一任务难度来计算实用性分数,在计算过程中使用的任务成功次数与任务成功时间均基于算法资源使用记录中第一任务难度对应的值。例如,本实施例在计算成功率时,根据当前测算的候选算法资源在第一任务难度的任务成功次数与执行总次数,得到第一占比率;根据每一个候选算法资源在第一任务难度的任务成功次数与执行总次数,得到第二占比率;最后根据第一占比率与第二占比率得到候选算法资源在第一任务难度的成功率。同理,本实施例在计算成功时间占比率时,最终得到的是候选算法资源在第一任务难度的成功时间占比率。
根据任务难度来确定候选算法资源的实用性分数可以让得到的候选算法资源更具有针对性,有些候选算法资源可能在高难度任务中表现较好,但是在低难度和中难度任务中相较其他候选算法资源较差。所以,步骤1410-1430的优点在于,不需要使用算法资源使用记录中的全部数据就可以得到更加具有针对性的目标算法资源,在提高确定目标算法资源准确度的同时,提高了计算效率。
在另一个实施例中,基于算法资源使用记录确定每一个候选算法资源的实用性分数包括:
获取每一个候选算法资源在每一种难度的任务成功次数与任务成功时间;
基于任务成功次数与任务成功时间确定每一个候选算法资源在每一种难度的算法资源处理的成功率与任务成功时间占比率;
基于每一个候选算法资源的每一种难度的的成功率与任务成功时间占比率确定每一种候选算法资源的总体任务成功率与总体任务成功时间占比率;
基于总体任务成功率与总体任务成功时间占比率确定每一个候选算法资源的实用性分数。
基于每一种难度的任务成功率确定总体任务成功率的计算公式为:
公式3中,l表示低难度任务;m表示中难度任务;h表示高难度任务,/表示当前测算的候选算法资源在执行低难度任务时的成功率;/>/表示当前测算的候选算法资源在执行中难度任务时的成功率;/>/表示当前测算的候选算法资源在执行高难度任务时的成功率。在某一难度的成功率时基于当前测算的候选算法资源与算法资源使用记录中记录的所有算法资源在对应难度的任务成功次数与执行总次数确定的,在前述实施例中已详细说明,此处不再赘述。当前测算的候选算法资源的总体任务成功率为候选算法资源在三种难度的任务的成功率之和。例如,候选算法资源A执行低难度任务的成功率为1.2;执行中难度任务的成功率为1.3;执行低难度任务的成功率为1.0,那么/>=1.2+1.3+1.0=3.5。
基于每一种难度的任务成功时间占比率确定总体任务成功时间占比率的计算公式为:
公式4中,//>表示当前测算的候选算法资源在执行低难度任务时的任务成功时间占比率;/>//>表示当前测算的候选算法资源在执行中难度任务时的任务成功时间占比率;/>//>表示当前测算的候选算法资源在执行高难度任务时的任务成功时间占比率。在某一难度的任务成功时间占比率基于当前测算的候选算法资源的任务成功时间与任务成功次数确定的,在前述实施例中已详细说明,此处不再赘述。当前测算的候选算法资源的总体任务成功时间占比率为候选算法资源在三种难度的任务成功时间占比率之和。例如,候选算法资源A执行低难度任务的任务成功时间占比率为1.5;执行中难度任务的成功率为1.2;执行低难度任务的成功率为0.9,那么=1.5+1.2+0.9=3.6。
基于总体任务成功率与总体任务成功时间占比率确定候选算法资源的实用性分数的计算公式为:rps(i,s)=rvs(i,s)+rvsp(i,s),其中rvs(i,s)为当前测算的候选算法资源的总体任务成功率,rvsp(i,s)为当前测算的候选算法资源的总体成功时间占比率。例如,在上例中,候选算法资源A的实用性分数rps(A,s)=3.5+3.6=7.1。
本实施例的优点在于,将候选算法资源的成功率与任务成功时间占比率按照任务难度分别计算考虑到了任务难度对于候选算法资源的影响,再将不同难度的成功率与任务成功时间占比率加和得到总体成功率与总体任务成功时间占比率,公平地体现了不同任务难度对于候选算法资源的实用性分数的影响。因此,本实施例在提高确定适用性分数的同时,提高了不同任务难度的任务对实用性分数影响的公平性。
上述为第二代理节点从候选算法资源中确定目标算法资源的过程。
在确定目标算法资源后,使用中心节点为第二代理节点生成的节点公钥对目标算法资源进行加密,将加密后的算法资源发送给中心节点。
步骤240中,中心节点接收到第二代理节点的加密的目标算法资源,使用第二代理节点的节点私钥对目标算法资源进行解密。
在一个实施例中,第二代理节点有多个,接收来自第二代理节点的目标算法资源,包括:接收来自多个第二代理节点的多个目标算法资源;将多个目标算法资源打包,生成目标算法资源包。
将多个目标算法资源打包统一发送给第一代理节点,便于第一代理节点整理目标算法资源,也节省了传输成本。
对目标算法资源包使用第一代理节点的节点公钥进行加密,保证了传输过程的安全性。
步骤250中,发送目标算法资源至第一代理节点,包括:将目标算法资源包发送至第一代理节点。
第一代理节点在接收到目标算法资源包后,使用节点私钥对目标算法资源包进行解密,之后将目标算法资源包中的目标算法资源存储本地的算法资源库中。第一智能体会从第一代理节点中调用全部目标算法资源,并从中确定最优的目标算法资源以完成任务。
图15是本公开实施例方法应用于中心节点的整体流程图。首先由第一代理节点向中心节点发送第一任务协同请求;中心节点基于第一任务协同请求生成第二任务协同请求;中心节点发送第二任务协同请求至第二代理节点,如果第二代理节点没有成功响应,则重复发送,如果成功响应,则等待响应成功的第二代理节点的目标算法资源推荐结果;第二代理节点则根据第二任务协同请求进行算法资源匹配,将匹配好的目标算法资源推荐结果发送给中心节点;中心节点将目标算法资源推荐结果发送给第一代理节点。至此,中心节点完成本公开实施例的算法资源调度方法。
根据本公开的一个实施例,算法资源调度方法应用于第一代理节点,如图16所示,包括:
步骤1610、接收来自第一智能体的第一任务协同请求;
步骤1620、将第一任务协同请求发送至中心节点;
步骤1630、接收并存储来自中心节点的目标算法资源;
步骤1640、将目标算法资源发送给第一智能体。
步骤1610-1640是本公开实施例在第一代理节点侧的方法,详细过程已在前述中心节点侧描述,此处不再赘述。
根据本公开的一个实施例,算法资源调度方法应用于第二代理节点,如图17所示,包括:
步骤1710、接收并存储来自第二智能体的候选算法资源;
步骤1720、接收来自中心节点的第二任务协同请求;
步骤1730、根据任务标签,在候选算法资源中确定目标算法资源;
步骤1740、将目标算法资源发送给中心节点。
步骤1710-1740是本公开实施例在第二代理节点侧的方法,详细过程已在前述中心节点侧描述,此处不再赘述。
图18A是本公开实施例的跨智能体的算法资源调度方法的整体结构示意图,图中包括:第一智能体、第二智能体、第一代理节点、第二代理节点与中心节点。
需要说明的是,在进行跨智能体的算法资源调度之前,需要建立智能体与代理节点之间通信通道。智能体与代理节点之间通信通道建立的过程如图18B所示,智能体(可以是如图18A中的第一智能体或第二智能体)向对应连接的代理节点(可以是如图18A中与第一智能体对应连接的第一代理节点,或者,与第二智能体对应连接的第二代理节点)发送通信通道建立请求;代理节点根据信通道建立请求建立智能体与代理节点之间的通信通道。通信通道是双向的。在一些实施例中,智能体可通过通信通道向代理节点传输算法资源,以供代理节点存储和调用;或者,智能体可通过通信通道向代理节点发送任务协同请求,以触发跨智能体算法资源的协同调度;或者,代理节点可向智能体发送来自其他智能体的算法资源,以实现对智能体发出的任务协同请求的响应。
第一代理节点与第二代理节点中都包括:算法资源库模块、任务管理模块、算法资源标签管理模块、实用性评分模块、算法资源匹配模块、与算法资源加密共享模块。算法资源库模块用来存储来自于智能体的算法资源与来自其他智能体的目标算法资源。例如,前述实施例中第二代理节点接收由第二智能体发送候选算法资源后,将候选算法资源存储在算法资源库模块。任务管理模块用来接收来自智能体的任务协同请求并将任务协同请求发送给中心节点。算法资源标签管理模块用来管理算法资源标签,在前述实施例中,根据候选算法资源生成算法资源标签后将算法资源标签存储在算法资源标签管理模块。实用性评分模块用来对候选算法资源进行打分,例如,用于执行前述实施例的步骤1210-1230或步骤1310-1330或步骤1410-1430,对候选算法资源的实用性进行打分。算法资源匹配用来根据算法资源标签与实用性评分确定目标算法资源,例如,用于执行前述实施例的步骤910-920或步骤1110-1140。算法资源加密共享模块用来对存储代理节点的节点公钥与节点私钥,并对目标算法资源进行加密。
中心节点中包括:节点管理模块、任务标签提取模块、与协同调度模块。在进行跨智能体的算法资源调度之前,各个代理节点需要在中心节点注册。节点管理模块用来管理注册的代理节点,代理节点在中心节点注册的过程如图18C所示,具体过程参照前述实施例中步骤510-540与步骤610-640。任务标签提取模块用来提取第一任务协同请求对应的待处理任务的任务标签,例如,用于执行前述实施例的步骤220。协同调度模块主要负责与其他代理节点进行目标算法资源与任务协同请求的传输,例如,用于接收来自第一代理节点的第一任务协同请求;向第二代理节点发送第二任务协同请求;接收来自第二代理节点的目标算法资源;向第一代理节点发送目标算法资源。每个部分的详细描述已在前序内容中说明,此处不再赘述。
需要说明的是,第一代理节点和第二代理节点均为具有完整代理节点功能。在实际应用过程中,第一代理节点和第二代理节点的地位可以互换,第一智能体和第二智能体的地位可以互换。例如,某跨智能体系统包括中心节点、代理节点A、代理节点B、智能体α和智能体β,中心节点分别与代理节点A和代理节点B通信连接,智能体α与代理节点A通信连接,智能体β与代理节点B通信连接。某一时刻,智能体α通过代理节点A发出协同请求,此时,智能体α为第一智能体,代理节点A为第一代理节点;智能体β通过代理节点B为智能体α提供目标算法资源,此时,智能体β为第二智能体,代理节点B为第二代理节点。另一时刻,智能体β通过代理节点B发出协同请求,此时,智能体β为第一智能体,代理节点B为第一代理节点;智能体α通过代理节点A为智能体β提供目标算法资源,此时,智能体α为第二智能体,代理节点A为第二代理节点。
图19是本公开实施例的第二代理节点侧的业务流程图,包括:智能体系统向代理节点提出通信通道建立请求;代理节点输入智能体系统信息并建立通信通道;智能体系统接入通信通道,并通过通信通道向代理节点传输候选算法资源;代理节点保存候选算法资源,并为候选算法资源生成全局唯一的算法资源标识;代理节点为候选算法资源生成算法资源标签;代理节点向中心节点发起节点注册请求;中心节点存储代理节点信息,为代理节点生成节点公钥与节点私钥,并发送给注册的代理节点;代理节点接收节点公钥与节点私钥;中心节点接收来自其他代理节点的任务协同请求(未示出)后,对任务进行解析,获取任务标签并广播;代理节点在接收到任务标签后,与算法资源标签比较以确定目标算法资源;使用节点公钥对目标算法资源进行加密,传输给中心节点;中心节点在接收目标算法资源后,将目标算法资源传输给发起任务协同请求的代理节点,并接收来自该代理节点的任务完成结果(未示出),将任务完成结果返回给代理节点;代理节点将任务完成结果记录在算法资源使用记录中,用于实用性评分;实用性评分也会参与确定目标算法资源的过程。
图20是本公开实施例的整体流程图,包括中心节点侧、第一代理节点侧、与第二代理节点侧的所有步骤,是本公开实施例的跨智能体的算法资源调度方法的整体流程,包括:第一代理节点接收来自第一智能体的第一任务协同请求;中心节点接收来自第一代理节点的第一任务协同请求;中心节点基于第一任务协同请求,确定任务标签,并生成第二任务协同请求;中心节点将第二任务协同请求发送至第二代理节点;第二代理节点接收并存储来自第二智能体的候选算法资源;第二代理节点根据任务标签在候选算法资源中确定目标算法资源;第二代理节点将目标算法资源发送至中心节点;中心节点将目标算法资源发送至第一代理节点;第一代理节点将目标算法资源发送至第一智能体;任务完成后,中心节点接收来自第一代理节点的任务完成请求;中心节点将任务完成请求发送至第二代理节点;第二代理节点将任务完成结果记录在算法资源使用记录中,以便在之后的任务请求中根据算法资源使用记录确定目标算法资源。
本公开实施例的装置和设备描述
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的目标对象相关数据。
图21为本公开实施例提供的跨智能体的算法资源调度装置2100的结构图。该算法资源调度装置2100包括:
第一接收单元2110,用于接收来自第一代理节点的第一任务协同请求,第一任务协同请求由第一智能体发送至第一代理节点;
第一生成单元2120,用于基于第一任务协同请求,得到任务标签,并生成第二任务协同请求,任务标签用于表征第一任务协同请求的关键信息,第二任务协同请求中含有任务标签;
第一发送单元2130,用于发送第二任务协同请求至第二代理节点,以便第二代理节点根据任务标签确定目标算法资源,目标算法资源由第二智能体发送至第二代理节点;
第二接收单元2140,用于接收来自第二代理节点的目标算法资源;
第二发送单元2150,用于发送目标算法资源至第一代理节点,以便第一智能体调用第一代理节点中的目标算法资源。
进一步地,第二代理节点中存储有多个候选算法资源;
目标算法资源由第二代理节点通过以下方式确定:
获取第二代理节点中的每一个候选算法资源的算法资源标签,算法资源标签用于表征候选算法资源的关键信息;
将算法资源标签与任务标签匹配程度最高的候选算法资源,确定为目标算法资源。
进一步地,算法资源调用装置2100还包括:
第三接收单元(未示出),用于接收来自第一代理节点的任务完成结果;
第三发送单元(未示出),用于将任务完成结果发送至第二代理节点,以便第二代理节点将任务完成结果记录在算法资源使用记录中,任务完成结果指示了使用目标算法资源执行第一任务协同请求对应的任务是否成功;
第二代理节点中存储有多个候选算法资源;目标算法资源由第二代理节点通过以下方式确定:
获取第二代理节点中的每一个候选算法资源的算法资源标签,算法资源标签用来表示候选算法资源的特征;
根据任务标签与算法资源标签的匹配程度,生成算法资源候选集合,算法资源候选集合中包括多个算法资源标签与任务标签匹配程度符合第一预设条件的候选算法资源;
基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数;
将实用性分数最高的候选算法资源确定为目标算法资源。
进一步地,算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功次数;
基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:
根据任务成功次数,得到候选算法资源处理任务的成功率;根据成功率,确定候选算法资源的实用性分数;
或者,
算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功时间;基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:
根据任务成功时间,得到候选算法资源处理任务的成功时间占比率;根据成功时间占比率,确定候选算法资源的实用性分数;
或者,
算法资源使用记录中包括:第二代理节点中的每一个候选算法资源的任务成功次数与任务成功时间;基于算法资源使用记录确定算法资源候选集合中的每一个候选算法资源的实用性分数,包括:
根据任务成功次数,得到候选算法资源处理任务的成功率;根据任务成功时间,得到候选算法资源处理任务的成功时间占比率;根据成功率和成功时间占比率,确定候选算法资源的实用性分数。
进一步地,根据任务成功次数,得到候选算法资源处理任务的成功率,包括:
根据当前测算的候选算法资源的任务成功次数和执行总次数的比值关系,得到第一占比率;
根据每一个候选算法资源的任务成功次数和执行总次数的比值关系,得到第二占比率;
根据第一占比率和第二占比率,得到候选算法资源处理任务的成功率。
进一步地,第二任务协同请求中包含第一代理节点发出第一任务协同请求的第一时间;
任务成功时间通过以下方式确定:
记录接收到任务完成结果的第二时间;
根据第一时间与第二时间确定成功执行第一任务协同请求对应的任务的目标算法资源的任务成功时间;
根据任务成功时间,得到候选算法资源处理任务的成功时间占比率,包括:
根据当前测算的候选算法资源的任务成功时间与任务成功次数的比值关系,得到第一比率;
根据每一个候选算法资源的任务成功时间与任务成功次数的比值关系,得到第二比率;
根据第一比率与第二比率,得到候选算法资源处理任务的成功时间占比率。
进一步地,算法资源使用记录中包括:第二代理节点中的每一个候选算法资源执行不同任务难度的第一任务协同请求对应的任务的任务成功次数与任务成功时间;
基于算法资源使用记录确定每一个候选算法资源的实用性分数包括:
根据第二任务协同请求,确定第一任务协同请求对应的待处理任务的第一任务难度;
获取每一个候选算法资源执行第一任务难度的任务的第一任务成功次数与第一任务成功时间;
根据第一任务成功次数与第一任务成功时间,确定实用性分数。
进一步地,第二代理节点通过以下方式获取多个候选算法资源:
接收来自第二智能体的通信通道建立请求;
基于通信通道建立请求建立通信通道;
创建算法资源存储消息队列;
通过线程池创建通信通道的监听线程,以接收来自第二智能体的候选算法资源,并将候选算法资源存储至消息队列。
进一步地,第二代理节点有多个;
第二接收单元2140具体用于:
接收来自多个第二代理节点的多个目标算法资源;
将多个目标算法资源打包,生成目标算法资源包;
第二发送单元2150具体用于:将目标算法资源包发送至第一代理节点,以便第一智能体调用目标算法资源包,并确定最优目标算法资源,目标算法资源包中含有最优目标算法资源。
进一步地,算法资源调度装置2100还包括:
第四接收单元(未示出),用于接收来自第二代理节点的注册请求,注册请求中含有代理节点参数;
第二生成单元(未示出),用于基于注册请求,生成第二代理节点的代理节点标识、节点公钥与节点私钥,其中,不同的第二代理节点的代理节点标识互不相同,节点公钥用来对发送至第二代理节点的第二任务协同请求进行加密,节点私钥用来对接收来自于第二代理节点的目标算法资源进行解密;
第一存储单元(未示出),用于存储代理节点参数、代理节点标识、节点公钥与节点私钥;
第四发送单元(未示出),用于将代理节点标识、节点公钥与节点私钥发送至第二代理节点,其中,节点公钥在第二代理节点中用来对目标算法资源进行加密,节点私钥在第二代理节点中用来对第二任务协同请求进行解密。
进一步地,第一发送单元2130具体用于:
基于代理节点标识与代理节点参数,向第二代理节点发送第二任务协同请求;
如果第二代理节点响应第二任务协同请求失败,按照预定时间周期向第二代理节点发送第二任务协同请求。
进一步地,第二生成单元(未示出)具体用于:
获取注册第二代理节点时的时间戳;
获取中心节点的标识;
获取在同一时间戳注册第二代理节点的序列号;
基于时间戳、中心节点的标识、和序列号,生成代理节点标识。
参照图22,图22为实现本公开实施例的对象终端的部分的结构框图,该对象终端包括:射频(Radio Frequency,简称RF)电路2210、存储器2215、输入单元2230、显示单元2240、传感器2250、音频电路2260、无线保真(wireless fidelity,简称WiFi)模块2270、处理器2280、以及电源2290等部件。本领域技术人员可以理解,图22示出的对象终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路2210可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器2280处理;另外,将设计上行的数据发送给基站。
存储器2215可用于存储软件程序以及模块,处理器2280通过运行存储在存储器2215的软件程序以及模块,从而执行对象终端的各种功能应用以及数据处理。
输入单元2230可用于接收输入的数字或字符信息,以及产生与对象终端的设置以及功能控制有关的键信号输入。具体地,输入单元2230可包括触控面板2231以及其他输入装置2232。
显示单元2240可用于显示输入的信息或提供的信息以及对象终端的各种菜单。显示单元2240可包括显示面板2241。
音频电路2260、扬声器2261,传声器2262可提供音频接口。
在本实施例中,该对象终端所包括的处理器2280可以执行前面实施例的跨智能体的算法资源调度方法。
本公开实施例的对象终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本发明实施例可应用于各种场景,包括但不限于智能医疗、智能交通、智能城市管理等。
图23为实施本公开实施例的服务器的部分的结构框图。服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central ProcessingUnits,简称CPU)2322(例如,一个或一个以上处理器)和存储器2332,一个或一个以上存储应用程序2342或数据2344的存储介质2330(例如一个或一个以上海量存储装置)。其中,存储器2332和存储介质2330可以是短暂存储或持久存储。存储在存储介质2330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器2300中的一系列指令操作。更进一步地,中央处理器2322可以设置为与存储介质2330通信,在服务器2300上执行存储介质2330中的一系列指令操作。
服务器2300还可以包括一个或一个以上电源2326,一个或一个以上有线或无线网络接口2350,一个或一个以上输入输出接口2358,和/或,一个或一个以上操作系统2341,例如Windows ServerTM,Mac OS XTM,UnixTM ,LinuxTM,FreeBSDTM等等。
服务器2300中的中央处理器2322可以用于执行本公开实施例的跨智能体的算法资源调度方法。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的跨智能体的算法资源调度方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的跨智能体的算法资源调度方法。
本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。
Claims (18)
1.一种跨智能体的算法资源调度方法,其特征在于,所述算法资源调度方法用于跨智能体系统的中心节点,所述跨智能体系统至少包括所述中心节点、第一代理节点、第二代理节点、第一智能体和第二智能体,所述中心节点分别与所述第一代理节点和所述第二代理节点通信连接,所述第一智能体与所述第一代理节点通信连接,所述第二智能体与所述第二代理节点通信连接;
所述算法资源调度方法包括:
接收来自第一代理节点的第一任务协同请求,所述第一任务协同请求由第一智能体发送至所述第一代理节点;
基于所述第一任务协同请求,得到任务标签,并生成第二任务协同请求,所述任务标签用于表征所述第一任务协同请求的关键信息,所述第二任务协同请求中含有所述任务标签;
发送所述第二任务协同请求至第二代理节点,以便所述第二代理节点根据所述任务标签确定目标算法资源,所述目标算法资源由所述第二智能体发送至所述第二代理节点;
接收来自所述第二代理节点的所述目标算法资源;
发送所述目标算法资源至所述第一代理节点,以便所述第一智能体调用所述第一代理节点中的所述目标算法资源。
2.根据权利要求1所述的算法资源调度方法,其特征在于,所述第二代理节点中存储有多个候选算法资源;
所述目标算法资源由所述第二代理节点通过以下方式确定:
获取所述第二代理节点中的每一个所述候选算法资源的算法资源标签,所述算法资源标签用于表征所述候选算法资源的关键信息;
将所述算法资源标签与所述任务标签匹配程度最高的候选算法资源,确定为所述目标算法资源。
3.根据权利要求1所述的算法资源调度方法,其特征在于,在发送所述目标算法资源至所述第一代理节点之后,所述算法资源调度方法还包括:
接收来自所述第一代理节点的任务完成结果;
将所述任务完成结果发送至所述第二代理节点,以便所述第二代理节点将所述任务完成结果记录在算法资源使用记录中,所述任务完成结果指示了使用所述目标算法资源执行所述第一任务协同请求对应的任务是否成功;
所述第二代理节点中存储有多个候选算法资源;所述目标算法资源由所述第二代理节点通过以下方式确定:
获取所述第二代理节点中的每一个所述候选算法资源的算法资源标签,所述算法资源标签用来表示所述候选算法资源的特征;
根据所述任务标签与所述算法资源标签的匹配程度,生成算法资源候选集合,所述算法资源候选集合中包括多个所述算法资源标签与所述任务标签匹配程度符合第一预设条件的所述候选算法资源;
基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数;
将所述实用性分数最高的所述候选算法资源确定为所述目标算法资源。
4.根据权利要求3所述的算法资源调度方法,其特征在于,所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功次数;
所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功次数,得到所述候选算法资源处理任务的成功率;根据所述成功率,确定所述候选算法资源的所述实用性分数;
或者,
所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功时间;所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率;根据所述成功时间占比率,确定所述候选算法资源的所述实用性分数;
或者,
所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源的任务成功次数与任务成功时间;所述基于所述算法资源使用记录确定所述算法资源候选集合中的每一个所述候选算法资源的实用性分数,包括:
根据所述任务成功次数,得到所述候选算法资源处理任务的成功率;根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率;根据所述成功率和所述成功时间占比率,确定所述候选算法资源的所述实用性分数。
5.根据权利要求4所述的算法资源调度方法,其特征在于,所述根据所述任务成功次数,得到所述候选算法资源处理任务的成功率,包括:
根据当前测算的所述候选算法资源的所述任务成功次数和执行总次数的比值关系,得到第一占比率;
根据每一个所述候选算法资源的所述任务成功次数和执行总次数的比值关系,得到第二占比率;
根据所述第一占比率和所述第二占比率,得到所述候选算法资源处理任务的所述成功率。
6.根据权利要求4所述的算法资源调度方法,其特征在于,所述第二任务协同请求中包含所述第一代理节点发出所述第一任务协同请求的第一时间;
所述任务成功时间通过以下方式确定:
记录接收到所述任务完成结果的第二时间;
根据所述第一时间与所述第二时间确定成功执行所述第一任务协同请求对应的任务的所述目标算法资源的所述任务成功时间;
所述根据所述任务成功时间,得到所述候选算法资源处理任务的成功时间占比率,包括:
根据当前测算的所述候选算法资源的所述任务成功时间与所述任务成功次数的比值关系,得到第一比率;
根据每一个所述候选算法资源的所述任务成功时间与所述任务成功次数的比值关系,得到第二比率;
根据所述第一比率与所述第二比率,得到所述候选算法资源处理任务的所述成功时间占比率。
7.根据权利要求4所述的算法资源调度方法,其特征在于,所述算法资源使用记录中包括:所述第二代理节点中的每一个所述候选算法资源执行不同任务难度的所述第一任务协同请求对应的任务的任务成功次数与任务成功时间;
所述基于所述算法资源使用记录确定每一个所述候选算法资源的实用性分数包括:
根据所述第二任务协同请求,确定所述第一任务协同请求对应的待处理任务的第一任务难度;
获取每一个所述候选算法资源执行所述第一任务难度的任务的第一任务成功次数与第一任务成功时间;
根据所述第一任务成功次数与所述第一任务成功时间,确定所述实用性分数。
8.根据权利要求2或3所述的算法资源调度方法,其特征在于,所述第二代理节点通过以下方式获取多个所述候选算法资源:
接收来自所述第二智能体的通信通道建立请求;
基于所述通信通道建立请求建立通信通道;
创建算法资源存储消息队列;
通过线程池创建所述通信通道的监听线程,以接收来自所述第二智能体的所述候选算法资源,并将所述候选算法资源存储至所述消息队列。
9.根据权利要求1所述的算法资源调度方法,其特征在于,所述第二代理节点有多个;
所述接收来自所述第二代理节点的所述目标算法资源,包括:
接收来自多个所述第二代理节点的多个所述目标算法资源;
将多个所述目标算法资源打包,生成目标算法资源包;
发送所述目标算法资源至所述第一代理节点,包括:将所述目标算法资源包发送至所述第一代理节点,以便所述第一智能体调用所述目标算法资源包,并确定最优目标算法资源,所述目标算法资源包中含有所述最优目标算法资源。
10.根据权利要求1所述的算法资源调度方法,其特征在于,在发送所述第二任务协同请求至第二代理节点之前,所述算法资源调度方法还包括:
接收来自所述第二代理节点的注册请求,所述注册请求中含有代理节点参数;
基于所述注册请求,生成所述第二代理节点的代理节点标识、节点公钥与节点私钥,其中,不同的所述第二代理节点的所述代理节点标识互不相同,所述节点公钥用来对发送至所述第二代理节点的所述第二任务协同请求进行加密,所述节点私钥用来对接收来自于所述第二代理节点的目标算法资源进行解密;
存储所述代理节点参数、所述代理节点标识、所述节点公钥与所述节点私钥;
将所述代理节点标识、所述节点公钥与节点私钥发送至所述第二代理节点,其中,所述节点公钥在所述第二代理节点中用来对目标算法资源进行加密,所述节点私钥在所述第二代理节点中用来对第二任务协同请求进行解密。
11.根据权利要求10所述的算法资源调度方法,其特征在于,所述发送所述第二协同请求至第二代理节点,包括:
基于所述代理节点标识与所述代理节点参数,向所述第二代理节点发送所述第二任务协同请求;
如果所述第二代理节点响应所述第二任务协同请求失败,按照预定时间周期向所述第二代理节点发送所述第二任务协同请求。
12.根据权利要求10所述的算法资源调度方法,其特征在于,所述生成所述第二代理节点的代理节点标识,包括:
获取注册所述第二代理节点时的时间戳;
获取所述中心节点的标识;
获取在同一所述时间戳注册所述第二代理节点的序列号;
基于所述时间戳、所述中心节点的标识、和所述序列号,生成所述代理节点标识。
13.一种跨智能体的算法资源调度方法,其特征在于,所述算法资源调度方法用于第一代理节点,包括:
接收来自第一智能体的第一任务协同请求;
将所述第一任务协同请求发送至中心节点;
接收并存储来自所述中心节点的目标算法资源,所述目标算法资源由第二代理节点响应于中心节点转发的第二任务协同请求生成并发送给所述中心节点的,所述第二任务协同请求中含有任务标签,所述任务标签是所述中心节点基于第一任务协同请求生成的,用来表征所述第一任务协同请求的关键信息;
将所述目标算法资源发送给所述第一智能体,以便所述第一智能体使用所述目标算法资源处理所述第一任务协同请求对应的任务。
14.一种跨智能体的算法资源调度方法,其特征在于,所述算法资源调度方法用于第二代理节点,包括:
接收并存储来自第二智能体的候选算法资源;
接收来自中心节点的第二任务协同请求,所述第二任务协同请求中含有任务标签,所述任务标签是所述中心节点基于第一任务协同请求生成的,用来表示所述第一任务协同请求的关键信息,所述第一任务协同请求由第一代理节点发送至所述中心节点;
根据所述任务标签,在所述候选算法资源中确定目标算法资源;
将所述目标算法资源发送给所述中心节点,以便所述中心节点将所述目标算法资源发送给所述第一代理节点。
15.一种跨智能体的算法资源调度装置,其特征在于,包括:
第一接收单元,用于接收来自第一代理节点的第一任务协同请求,所述第一任务协同请求由第一智能体发送至所述第一代理节点;
第一生成单元,用于基于所述第一任务协同请求,得到任务标签,并生成第二任务协同请求,所述任务标签用于表征所述第一任务协同请求的关键信息,所述第二任务协同请求中含有所述任务标签;
第一发送单元,用于发送所述第二任务协同请求至第二代理节点,以便所述第二代理节点根据所述任务标签确定目标算法资源,所述目标算法资源由所述第二智能体发送至所述第二代理节点;
第二接收单元,用于接收来自所述第二代理节点的所述目标算法资源;
第二发送单元,用于发送所述目标算法资源至所述第一代理节点,以便所述第一智能体调用所述第一代理节点中的所述目标算法资源。
16.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至14任意一项所述的跨智能体的算法资源调度方法。
17.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至14任意一项所述的跨智能体的算法资源调度方法。
18.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行根据权利要求1至14任意一项所述的跨智能体的算法资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557298.5A CN116302449B (zh) | 2023-05-17 | 2023-05-17 | 跨智能体的算法资源调度方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310557298.5A CN116302449B (zh) | 2023-05-17 | 2023-05-17 | 跨智能体的算法资源调度方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116302449A true CN116302449A (zh) | 2023-06-23 |
CN116302449B CN116302449B (zh) | 2023-08-22 |
Family
ID=86798141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310557298.5A Active CN116302449B (zh) | 2023-05-17 | 2023-05-17 | 跨智能体的算法资源调度方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302449B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259543A1 (en) * | 2008-04-09 | 2009-10-15 | Charles River Analytics, Inc | Sensor network optimization algorithm |
CN107122857A (zh) * | 2017-04-26 | 2017-09-01 | 南京航空航天大学 | 基于多智能体的车间多目标协同优化调度方法 |
CN109218406A (zh) * | 2018-08-13 | 2019-01-15 | 广西大学 | 一种面向智慧城市的跨域协作服务方法 |
CN109669462A (zh) * | 2019-01-08 | 2019-04-23 | 电子科技大学中山学院 | 智能规划方法及系统 |
CN110515732A (zh) * | 2019-08-23 | 2019-11-29 | 中国人民解放军国防科技大学 | 一种基于资源受限机器人深度学习推理的任务分配方法 |
CN111983923A (zh) * | 2020-07-17 | 2020-11-24 | 鹏城实验室 | 一种受限多智能体系统编队控制方法、系统及设备 |
CN114745317A (zh) * | 2022-02-09 | 2022-07-12 | 北京邮电大学 | 面向算力网络的计算任务调度方法及相关设备 |
CN114979182A (zh) * | 2022-03-22 | 2022-08-30 | 大连理工大学 | 一种基于区块链的工业5g-u物联网资源调度方法 |
CN115930933A (zh) * | 2022-09-20 | 2023-04-07 | 江苏海洋大学 | 一种基于集群控制的多智能体协同建图方法 |
CN115955685A (zh) * | 2023-03-10 | 2023-04-11 | 鹏城实验室 | 多智能体协同路由方法、设备及计算机存储介质 |
CN116069498A (zh) * | 2022-12-12 | 2023-05-05 | 之江实验室 | 一种分布式算力调度方法、装置、电子设备及存储介质 |
-
2023
- 2023-05-17 CN CN202310557298.5A patent/CN116302449B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090259543A1 (en) * | 2008-04-09 | 2009-10-15 | Charles River Analytics, Inc | Sensor network optimization algorithm |
CN107122857A (zh) * | 2017-04-26 | 2017-09-01 | 南京航空航天大学 | 基于多智能体的车间多目标协同优化调度方法 |
CN109218406A (zh) * | 2018-08-13 | 2019-01-15 | 广西大学 | 一种面向智慧城市的跨域协作服务方法 |
CN109669462A (zh) * | 2019-01-08 | 2019-04-23 | 电子科技大学中山学院 | 智能规划方法及系统 |
CN110515732A (zh) * | 2019-08-23 | 2019-11-29 | 中国人民解放军国防科技大学 | 一种基于资源受限机器人深度学习推理的任务分配方法 |
CN111983923A (zh) * | 2020-07-17 | 2020-11-24 | 鹏城实验室 | 一种受限多智能体系统编队控制方法、系统及设备 |
CN114745317A (zh) * | 2022-02-09 | 2022-07-12 | 北京邮电大学 | 面向算力网络的计算任务调度方法及相关设备 |
CN114979182A (zh) * | 2022-03-22 | 2022-08-30 | 大连理工大学 | 一种基于区块链的工业5g-u物联网资源调度方法 |
CN115930933A (zh) * | 2022-09-20 | 2023-04-07 | 江苏海洋大学 | 一种基于集群控制的多智能体协同建图方法 |
CN116069498A (zh) * | 2022-12-12 | 2023-05-05 | 之江实验室 | 一种分布式算力调度方法、装置、电子设备及存储介质 |
CN115955685A (zh) * | 2023-03-10 | 2023-04-11 | 鹏城实验室 | 多智能体协同路由方法、设备及计算机存储介质 |
Non-Patent Citations (4)
Title |
---|
FADOUA FELLIR等: "A multi-Agent based model for task scheduling in cloud-fog computing platform", 《2020 IEEE INTERNATIONAL CONFERENCE ON INFORMATICS, IOT, AND ENABLING TECHNOLOGIES (ICIOT)》, pages 377 - 382 * |
HUI LIN等: "Semi-supervised Crowd Counting via Density Agency", 《MM \'22: PROCEEDINGS OF THE 30TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA》, pages 1416 * |
胡裕靖: "多智能体强化学习中的博弈、均衡和知识迁移", 《中国博士学位论文全文数据库 信息科技辑》, pages 140 - 20 * |
闫嵩琦: "智能电网的信息化系统管理实现", 《微型电脑应用》, vol. 36, no. 10, pages 161 - 164 * |
Also Published As
Publication number | Publication date |
---|---|
CN116302449B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112883412B (zh) | 基于分组的数据通信的设备标识符相关操作处理 | |
US9342554B2 (en) | Techniques to generate mass push notifications | |
KR20210018532A (ko) | 스택 데이터 구조 백그라운드의 디지털 어시스턴트 프로세싱 | |
CN111954173A (zh) | 发送短信的方法、装置、服务器及计算机可读存储介质 | |
CN107291744A (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN111753324B (zh) | 私有数据的处理方法、计算方法及所适用的设备 | |
CN104750718B (zh) | 一种数据信息的搜索方法和设备 | |
CN116383246A (zh) | 联合查询方法以及装置 | |
CN114170700A (zh) | 一种考勤方法及装置 | |
CN105974901A (zh) | 一种远程控制系统及方法 | |
CN116302449B (zh) | 跨智能体的算法资源调度方法、装置、设备和介质 | |
CN116094907B (zh) | 投诉信息的处理方法、装置及存储介质 | |
US20220311766A1 (en) | Sensor-based authentication, notification, and assistance systems | |
US9785711B2 (en) | Online location sharing through an internet service search engine | |
US11736336B2 (en) | Real-time monitoring of machine learning models in service orchestration plane | |
CN109040331A (zh) | 电子名片的处理方法、装置、计算设备和存储介质 | |
Khalid et al. | Intelligent use of fog devices in edge‐cloud paradigm to assist in E‐polling | |
CN112528138A (zh) | 社区活动信息准确推荐方法、终端设备及可读存储介质 | |
US20130137461A1 (en) | Method and apparatus for inserting location data into messages at a communication gateway | |
CN115134405B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
EP4443851A1 (en) | Data processing method, system and apparatus, device, and storage medium | |
CN118070828A (zh) | 基于场所码信息的处理方法、装置、电子设备及存储介质 | |
CN117172903A (zh) | 一种业务信息处理方法、装置、设备及可读存储介质 | |
CN118821186A (zh) | 一种数据查询方法和相关装置 | |
CN116737235A (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 |