CN116501365B - 基于算法平台的资源调用方法、装置及设备 - Google Patents

基于算法平台的资源调用方法、装置及设备 Download PDF

Info

Publication number
CN116501365B
CN116501365B CN202310750121.7A CN202310750121A CN116501365B CN 116501365 B CN116501365 B CN 116501365B CN 202310750121 A CN202310750121 A CN 202310750121A CN 116501365 B CN116501365 B CN 116501365B
Authority
CN
China
Prior art keywords
task
algorithm
execution
executed
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.)
Active
Application number
CN202310750121.7A
Other languages
English (en)
Other versions
CN116501365A (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.)
Fast Power Beijing New Energy Technology Co ltd
Original Assignee
Fast Power Beijing New Energy Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fast Power Beijing New Energy Technology Co ltd filed Critical Fast Power Beijing New Energy Technology Co ltd
Priority to CN202310750121.7A priority Critical patent/CN116501365B/zh
Priority to CN202311287767.2A priority patent/CN117453265A/zh
Publication of CN116501365A publication Critical patent/CN116501365A/zh
Application granted granted Critical
Publication of CN116501365B publication Critical patent/CN116501365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于算法平台的资源调用方法、装置及设备,涉及计算机技术领域,通过算法任务在不同业务场景中使用的编排加工信息来避免项目开发中重复的代码开发测试,提升资源调用效率。其中方法包括:接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,利用编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,响应于目标算法任务的执行,确定待执行任务模块以及待执行任务模块关联的操作项目,当目标算法任务跳转至待执行任务模块时,利用待执行任务模块关联的操作项目调用相应的资源接口,获取待执行任务模块的数据资源。

Description

基于算法平台的资源调用方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种基于算法平台的资源调用方法、装置及设备。
背景技术
相关技术在当前项目的算法开发过程中,一种是开发新算法,另一种是改写既有算法,由于算法运行的环境不同,编译的文件可能有所差别,可根据运行平台编译成不同的文件,按照实际需要部署算法,以使得算法中的资源能够被准确调用,对于明确的规则,可通过调用资源的接口或者直接调用服务端的接口来进行代码开发测试。然而,实际应用中算法中资源分布比较分散,调用时接口规范不同,需要的数据来源不同,使得每次调用都需要进行重复的代码开发测试,不利于开发资源的灵活输出,影响资源调用效率。
发明内容
有鉴于此,本申请提供了一种基于算法平台的资源调用方法、装置及设备,主要目的在于解决现有技术中每次调用都需要进行重复的代码开发测试,不利于开发资源的灵活输出,影响资源调用效率的问题。
根据本申请的第一个方面,提供了一种基于算法平台的资源调用方法,该方法包括:
接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息;
利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,所述算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目;
响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目;
当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
进一步地,所述接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,具体包括:
接收项目开发中涉及的算法任务,针对每个算法任务进行需求规则的解析,确定算法任务在不同业务场景对接的各个执行步骤以及算法任务在每个执行步骤涉及的操作信息;
利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息。
进一步地,所述利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息,具体包括:
利用所述算法任务在每个执行步骤涉及的操作信息,对每个执行步骤对接的输入资源和输出资源进行配置,确定每个执行步骤的加工流程;
根据所述每个执行步骤的加工流程,将算法任务在不同业务场景对接的各个执行步骤拆解为数据处理操作;
按照流转顺序对所述数据处理操作进行编排,得到算法任务在不同业务场景中使用的编排加工信息。
进一步地,所述利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,具体包括:
利用所述编排加工信息,确定算法任务在每个执行步骤关联的资源参数;
根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
进一步地,所述根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,具体包括:
根据所述算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目;
若是,则将所述任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
进一步地,在所述响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目之前,所述方法还包括:
获取算法任务的至少一个数据来源,判断算法任务在使用至少一个数据来源的情况下是否需要数据源信息扩展;
若是,则将待扩展的数据源信息添加至编排加工信息中,并根据所述待扩展的数据源信息在算法平台中发布相应的任务模块。
进一步地,在所述当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源之后,所述方法还包括:
按照执行模板中记录的流转顺序控制目标算法任务在待执行任务模块关联的操作项目之间进行跳转;
在当前待执行任务模块中关联的操作项目执行完毕的情况下,控制目标算法任务跳转至下一待执行任务模块,直至目标算法任务的执行模板中所有待执行任务模块流转完毕。
根据本申请的第二个方面,提供了一种基于算法平台的资源调用装置,该装置包括:
获取单元,用于接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息;
组合单元,用于利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,所述算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目;
确定单元,用于响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目;
调用单元,用于当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
进一步地,所述获取单元包括:
解析模块,用于接收项目开发中涉及的算法任务,针对每个算法任务进行需求规则的解析,确定算法任务在不同业务场景对接的各个执行步骤以及算法任务在每个执行步骤涉及的操作信息;
编排模块,用于利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息。
进一步地,所述编排模块,具体用于利用所述算法任务在每个执行步骤涉及的操作信息,对每个执行步骤对接的输入资源和输出资源进行配置,确定每个执行步骤的加工流程;根据所述每个执行步骤的加工流程,将算法任务在不同业务场景对接的各个执行步骤拆解为数据处理操作;按照流转顺序对所述数据处理操作进行编排,得到算法任务在不同业务场景中使用的编排加工信息。
进一步地,所述组合单元包括:
确定模块,用于利用所述编排加工信息,确定算法任务在每个执行步骤关联的资源参数;
组合模块,用于根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
进一步地,所述组合模块,具体用于根据所述算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目;若是,则将所述任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
进一步地,所述装置还包括:
判断单元,用于在所述响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目之前,获取算法任务的至少一个数据来源,判断算法任务在使用至少一个数据来源的情况下是否需要数据源信息扩展;
发布单元,用于若是,则将待扩展的数据源信息添加至编排加工信息中,并根据所述待扩展的数据源信息在算法平台中发布相应的任务模块。
进一步地,所述装置还包括:
控制单元,用于在所述当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源之后,按照执行模板中记录的流转顺序控制目标算法任务在待执行任务模块关联的操作项目之间进行跳转,在当前待执行任务模块中关联的操作项目执行完毕的情况下,控制目标算法任务跳转至下一待执行任务模块,直至目标算法任务的执行模板中所有待执行任务模块流转完毕。
根据本申请的第四个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于算法平台的资源调用方法。
根据本申请的第五方面,提供了一种基于算法平台的资源调用设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于算法平台的资源调用方法。
借由上述技术方案,本申请提供的一种基于算法平台的资源调用方法、装置及设备,通过接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,利用编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,该算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及任务模块在相应操作功能上适配的操作项目,响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目,当目标算法任务跳转至待执行任务模块时,利用待执行任务模块关联的操作项目调用相应的资源接口,根据资源接口提供的资源传输协议获取待执行任务模块的数据资源。与目前现有方式中通过调用资源的接口或者直接调用服务端的接口来进行代码开发测试的方式相比,本申请通过算法任务在不同业务场景中使用的编排加工信息来避免项目开发中重复的代码开发测试,只需选取算法任务适配的任务模块以及操作项目进行配置,有利于开发资源的灵活输出,提升资源调用效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例中基于算法平台的资源调用方法的流程示意图;
图2是图1中步骤101的一具体实施方式流程示意图;
图3是图1中步骤102的一具体实施方式流程示意图;
图4是本申请另一实施例中基于算法平台的资源调用方法的流程示意图;
图5是本申请另一实施例中基于算法平台的资源调用方法的流程示意图;
图6示出了本申请实施例提供的一种基于算法平台的资源调用装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
相关技术在当前项目的算法开发过程中,一种是开发新算法,另一种是改写既有算法,由于算法运行的环境不同,编译的文件可能有所差别,可根据运行平台编译成不同的文件,按照实际需要部署算法,以使得算法中的资源能够被准确调用,对于明确的规则,可通过调用资源的接口或者直接调用服务端的接口来进行代码开发测试。然而,实际应用中算法中资源分布比较分散,调用时接口规范不同,需要的数据来源不同,使得每次调用都需要进行重复的代码开发测试,不利于开发资源的灵活输出,影响资源调用效率。
为了解决上述问题,本实施例提供了一种基于算法平台的资源调用方法,如图1所示,该方法应用于服务端,包括如下步骤:
101、接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息。
算法任务是项目开发中必不可少的部分,能够引导开发者在面对项目功能时使用什么思路去实现,算法任务可使用至少一种计算机算法或者算法组合来实现,该计算机算法是一系列解决问题的清洗指令。算法代表着用系统的方法描述解决问题的策略机制,也就是说,通过算法任务能够对符合一定规范的输入,在有限的时间内获得所要求的输出。如果一个算法有缺陷或者不适合用于某个问题,执行这个算法将不会解决这个问题,不同的计算机算法可能用不同的时间、空间或效率来完成同样的算法任务。在项目开发中常用的算法任务可以包括但不局限于推荐算法、图像识别算法、自然语言处理算法、聚类算法等,具体可根据实际业务需求选择合适的算法进行项目开发。
考虑到不同业务场景中算法任务的执行流程是不同的,需要结合业务场景中的任务描述和触发条件对每个算法任务在不同业务场景中使用进行编排加工,进一步获取每个算法任务在不同业务场景中使用的编排加工信息,形成一个可执行的工作流程。这里任务描述,示例性的,对于用户行为分析算法任务,具体编排加工信息会在用户登录或者访问购物网站时,对用户行为进行分析,如浏览商品、加购物车、下单等操作,分析用户的兴趣爱好和购买倾向,为后续推荐算法提供数据支持。对于物流规划算法任务,具体编排加工信息会在用户下单时,基于订单信息和仓库信息,规划最优的物流方案,提高物流效率和降低成本。
对于本发明实施例的执行主体可以为基于算法平台的资源调用装置,可以应用服务端,通过获取算法任务在不同业务场景中使用的编排加工信息,将算法任务中的执行步骤按照一定的顺序或逻辑组合起来,形成一个完整的计算流程或业务流程的过程,避免项目开发过程中重复的代码开发,进一步利用编排加工信息选取适配的任务模块进行灵活组合,从一定程度上方便算法任务中自定义数据的配置需求。
102、利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
其中,算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目,这里算法平台能够根据算法任务的各种需求信息搭建出适配不同业务场景的任务模块,通过任务模块之间的依赖和组合可实现算法任务的功能,该任务模块可以包括但不局限于数据获取模块、数据分析模块、算法模块、数据输出模块等,每个任务模块可提供相应功能的执行对象,数据获取模块的执行对象可以是后台、数据仓库等,数据分析模块的执行对象可以是数据模型、用户画像等。
在一种可实施方式中,利用编排加工信息中据输入数据和输出数据的数据类型以及格式要求等,从算法平台中适配出算法任务的任务模块和操作项目,进而将任务模块和操作项目进行组合得到算法任务的执行模板。具体地,可以利用编排加工信息确定算法任务的输入和输出要求,根据算法任务的输入和输出要求,在编排加工信息中搜索符合条件的任务模块,比较任务模块的输入要求与算法任务的要求,筛选出符合要求的算法模块,进一步对符合要求的算法模块进行操作项目的筛选和组合,最终得到算法任务的执行模板。举例来说,算法任务是图像识别算法,输入是一张彩色图片,输出是识别结果的标签和概率,利用编排加工信息在算法平台中搜索到任务模块包括图像处理模块、特征提取模块、分类模块等,然后逐个比较任务模块的输入输出要求,筛选出符合要求的任务模块,这里可以使用图像处理模块对图片进行预处理,再使用分类模块进行分类,并将分类结果输出为标签和概率。应说明的是,在选择每个模块时,还需要考虑操作项目的选择和组合,例如,在图像处理模块中选择对比度调整和亮度增强的操作项目,以获得更好的图像质量。
103、响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目。
在本实施例中,目标算法任务的执行可通过定时触发,例如,每天8点触发执行,还可以通过条件触发,例如,当订单量达到一定数值时触发执行,还可以通过手动触发等,这里不进行限定。
可以理解的是,由于算法任务的执行模板是结合项目开发的业务场景进行配置的,这里在实际使用目标算法任务时也需要结合相应业务场景来配置执行模板,进而保证执行模板中待执行任务模块以及待执行任务模块关联的操作项目与业务场景也是相适应的。
104、当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
在本实施例中,目标算法任务在执行过程中,会按照流转顺序跳转至不同任务模块中执行操作项目,该跳转顺序为在目标算法任务中预先配置好的模块执行顺序,并在操作项目执行过程中,调用相应的资源接口,根据资源接口提供的资源传输协议使用相应的工具或代码获取待执行任务模块的数据资源。
具体获取待执行任务模块的数据资源可以包括如下步骤:首先获取资源接口的URL地址和参数,根据资源接口提供的传输协议(如HTTP、FTP等),使用相应的工具或代码向资源接口发送请求,接收资源接口返回的数据,并根据数据格式(如JSON、XML等)进行解析并提取需要的数据,对数据进行处理、分析或存储,得到待执行任务模块的数据资源。例如,如果一个待执行任务模块为用户管理,对应操作项目是用户列表,并且该操作项目关联的资源接口是HTTP接口,其URL地址为“http://example.com/api/userList”,参数为“page=1&pageSize=10”,则获取数据资源的过程如下:首先确定待执行任务模块名称为“用户管理”,对应的操作项目为“用户列表”,查找“用户列表”操作项目关联的资源接口,发现该资源接口是一个HTTP接口,其地址为“http://example.com/api/userList”,参数为“page=1&pageSize=10”,使用HTTP工具向该URL地址发送请求,带上参数“page=1&pageSize=10”,接收返回的数据,根据格式进行解析并提取需要的数据进行处理,得到“用户管理”关联的数据资源。
本申请实施例提供的基于算法平台的资源调用方法,通过接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,利用编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,该算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及任务模块在相应操作功能上适配的操作项目,响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目,当目标算法任务跳转至待执行任务模块时,利用待执行任务模块关联的操作项目调用相应的资源接口,根据资源接口提供的资源传输协议获取待执行任务模块的数据资源。与目前现有方式中通过调用资源的接口或者直接调用服务端的接口来进行代码开发测试的方式相比,本申请通过算法任务在不同业务场景中使用的编排加工信息来避免项目开发中重复的代码开发测试,只需选取算法任务适配的任务模块以及操作项目进行配置,有利于开发资源的灵活输出,提升资源调用效率。
具体地,在上述实施例中,如图2所示,步骤101包括如下步骤:
201、接收项目开发中涉及的算法任务,针对每个算法任务进行需求规则的解析,确定算法任务在不同业务场景对接的各个执行步骤以及算法任务在每个执行步骤涉及的操作信息。
202、利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息。
通常情况下,项目开发中的算法任务往往包含一些明确的需求规则,例如,一个推荐给用户的内容列表,可能分页加载过程中内容不能有重复,过滤掉屏蔽的或者特定的内容,按照某个字段大小进行排序,推荐总数量的限制等等。
具体在对各个执行步骤进行公操作编排的过程中,可以利用算法任务在每个执行步骤涉及的操作信息,对每个执行步骤对接的输入资源和输出资源进行配置,确定每个执行步骤的加工流程,根据每个执行步骤的加工流程,将算法任务在不同业务场景对接的各个执行步骤拆解为数据处理操作,按照流转顺序对数据处理操作进行编排,得到算法任务在不同业务场景中使用的编排加工信息。
在一种可能实现的方式中,每个算法在不同业务场景中使用的编排加工信息可以包括但不局限于以下几个方面:
任务节点信息:每个算法任务在编排加工中的节点信息,如节点ID、节点名称、节点类型等。
任务节点之间的依赖关系:每个算法任务中节点之间具有依赖关系,如前置依赖,后续节点等,也可以是条件依赖、并行依赖等不同类型的依赖。
任务执行参数:每个算法任务在执行时所需的输入参数和输出参数信息。
任务执行状态:每个算法任务在执行时的状态信息,如任务是否执行成果、执行耗时、执行结果等。
在实际应用场景中,编排方式可以采用Liteflow开源技术,通过编写Java代码实现具体的算法任务,然后在Liteflow平台上进行配置和编排,形成一个可执行的工作流程,最后通过SpringCloudAlibaba技术,可以将算法任务部署到不同的计算机节点上,实现分布式计算和高可用性。同时,利用Springboot技术,可以快速构建和部署算法任务的应用程序,使得项目开发的算法任务可按照编排好的规则进行流转。
具体地,在上述实施例中,如图3所示,步骤102包括如下步骤:
301、利用所述编排加工信息,确定算法任务在每个执行步骤关联的资源参数。
302、根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
可以理解的是,考虑到算法任务具有特定的操作流程,编排加工信息将算法任务的操作流程划分至多个执行步骤,算法平台中的每个任务模块可以对应一个执行步骤,也可以对应多个执行步骤,相应的,通过任务模块中至少一个操作项目来实现算法任务的执行步骤。
在一种可实现的方式中,考虑到每个执行步骤都会关联有资源参数,例如,数据格式参数、数据类型参数以及接口参数等,具体可以根据算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目,若是,则将任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。这里资源参数匹配目标操作项目的过程可以是判断数据格式是否相匹配,判断数据类型是否一致以及接口参数是否相匹配等。
进一步地,在上述实施例中,如图4所示,在步骤103之前,方法还包括如下步骤:
401、获取算法任务的至少一个数据来源,判断算法任务在使用至少一个数据来源的情况下是否需要数据源信息扩展。
402、若是,则将待扩展的数据源信息添加至编排加工信息中,并根据所述待扩展的数据源信息在算法平台中发布相应的任务模块。
可以理解的是,考虑到算法任务的输入可能需要多种数据来源,而多种数据来源在算法执行之前往往需要数据合并、数据拆分以及数据转换等处理,在这种情况下数据源信息扩展必不可少,这里可以通过算法的执行需求进行语法逻辑查找,使用查找到的语法逻辑将多种数据来源的信息重新组成一个json或者xml数据,以满足算法任务的准确执行,同时将语法逻辑的相应执行信息作为待扩展的数据源信息添加至编排加工信息中,根据语法逻辑在算法平台中发布相应的任务模块。例如,数据合并任务模块、数据拆分任务模块、数据转换任务模块等。
在实际应用过程中,对于待扩展的数据源信息比较复杂的情况下,会有无法配置达到的情况,也就是语法逻辑无法执行算法,此时刻加入脚本代码之心的任务模块,通过脚本代码执行的任务模块可同样实现算法功能。
进一步地,在上述实施例中,在步骤104之后,方法还包括如下步骤:
按照执行模板中记录的流转顺序控制目标算法任务在待执行任务模块关联的操作项目之间进行跳转,在当前待执行任务模块中关联的操作项目执行完毕的情况下,控制目标算法任务跳转至下一待执行任务模块,直至目标算法任务的执行模板中所有待执行任务模块流转完毕。
在实际应用场景中,如图5所示,基于算法平台的资源调用过程中可以涉及到以下几个任务模块:输入模块、数据加工模块、算法调用模块、数据输出模块,为了满足多种输入需求,在输入模块中可对接Mysqul数据输入、数据仓库输入、Http数据输入等操作项目,在数据加工模块中可对接json拼接、xml拼接、Groovy脚本数据处理、python脚本数据处理等操作项目,算法调用模块中可将算法统一发布为httpapi接口通用调用方式,经过数据处理模块后的数据可轻松拼装到httpapi参数中,可轻松配置各种算法的操作项目,为了满足多种输出需求,在输出模块中可同样对接Mysqul数据输出、数据仓库输出、Http数据输出等操作项目。整个资源调用过程按照软件开发思想做到了隔离变化,将较为容易的部分放到配置换机中,不易变的实现放到代码中,通过增加任务模块可满足不同业务场景的算法任务,将不变和变化的部分有机分开,将相对不变的数据输入、数据加工、算法调用以及数据输出等任务模块进行编排加工,以实现静态部分到动态的编排配置进行转换,避免了重复开发浪费的时间成本,提升资源调用效率。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于算法平台的资源调用装置,如图6所示,该装置包括:获取单元51、组合单元52、确定单元53、调用单元54。
获取单元51,用于接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息;
组合单元52,用于利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,所述算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目;
确定单元53,用于响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目;
调用单元54,用于当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
本发明实施例提供的基于算法平台的资源调用装置,通过接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,利用编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,该算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及任务模块在相应操作功能上适配的操作项目,响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目,当目标算法任务跳转至待执行任务模块时,利用待执行任务模块关联的操作项目调用相应的资源接口,根据资源接口提供的资源传输协议获取待执行任务模块的数据资源。与目前现有方式中通过调用资源的接口或者直接调用服务端的接口来进行代码开发测试的方式相比,本申请通过算法任务在不同业务场景中使用的编排加工信息来避免项目开发中重复的代码开发测试,只需选取算法任务适配的任务模块以及操作项目进行配置,有利于开发资源的灵活输出,提升资源调用效率。
在具体的应用场景中,所述获取单元51包括:
解析模块,用于接收项目开发中涉及的算法任务,针对每个算法任务进行需求规则的解析,确定算法任务在不同业务场景对接的各个执行步骤以及算法任务在每个执行步骤涉及的操作信息;
编排模块,用于利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息。
在具体的应用场景中,所述编排模块,具体用于利用所述算法任务在每个执行步骤涉及的操作信息,对每个执行步骤对接的输入资源和输出资源进行配置,确定每个执行步骤的加工流程;根据所述每个执行步骤的加工流程,将算法任务在不同业务场景对接的各个执行步骤拆解为数据处理操作;按照流转顺序对所述数据处理操作进行编排,得到算法任务在不同业务场景中使用的编排加工信息。
在具体的应用场景中,所述组合单元52包括:
确定模块,用于利用所述编排加工信息,确定算法任务在每个执行步骤关联的资源参数;
组合模块,用于根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
在具体的应用场景中,所述组合模块,具体用于根据所述算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目;若是,则将所述任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
在具体的应用场景中,所述装置还包括:
判断单元,用于在所述响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目之前,获取算法任务的至少一个数据来源,判断算法任务在使用至少一个数据来源的情况下是否需要数据源信息扩展;
发布单元,用于若是,则将待扩展的数据源信息添加至编排加工信息中,并根据所述待扩展的数据源信息在算法平台中发布相应的任务模块。
在具体的应用场景中,所述装置还包括:
控制单元,用于在所述当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源之后,按照执行模板中记录的流转顺序控制目标算法任务在待执行任务模块关联的操作项目之间进行跳转,在当前待执行任务模块中关联的操作项目执行完毕的情况下,控制目标算法任务跳转至下一待执行任务模块,直至目标算法任务的执行模板中所有待执行任务模块流转完毕。
需要说明的是,本实施例提供的一种可应用于操作系统侧的基于算法平台的资源调用装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1-图5所示的方法,以及图6所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种客户端实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1-图5所示的基于算法平台的资源调用方法。
可选的,上述实体设备都还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种基于算法平台的资源调用的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述基于算法平台的资源调用的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请通过算法任务在不同业务场景中使用的编排加工信息来避免项目开发中重复的代码开发测试,只需选取算法任务适配的任务模块以及操作项目进行配置,有利于开发资源的灵活输出,提升资源调用效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (9)

1.一种基于算法平台的资源调用方法,其特征在于,包括:
接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,所述编排加工信息为结合业务场景中的任务描述和触发条件对每个算法任务在不同业务场景中的使用进行编排加工;
利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,所述算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目,具体利用所述编排加工信息将算法任务的操作流程划分至多个执行步骤,算法平台中每个任务模块对应一个或多个执行步骤,每个执行步骤关联有资源参数,根据算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目,若是,则将任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板;
响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目;
当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
2.根据权利要求1所述的方法,其特征在于,所述接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,具体包括:
接收项目开发中涉及的算法任务,针对每个算法任务进行需求规则的解析,确定算法任务在不同业务场景对接的各个执行步骤以及算法任务在每个执行步骤涉及的操作信息;
利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息。
3.根据权利要求2所述的方法,其特征在于,所述利用所述算法任务在每个执行步骤涉及的操作信息,对算法任务在不同业务场景对接的各个执行步骤进行操作编排,得到算法任务在不同业务场景中使用的编排加工信息,具体包括:
利用所述算法任务在每个执行步骤涉及的操作信息,对每个执行步骤对接的输入资源和输出资源进行配置,确定每个执行步骤的加工流程;
根据所述每个执行步骤的加工流程,将算法任务在不同业务场景对接的各个执行步骤拆解为数据处理操作;
按照流转顺序对所述数据处理操作进行编排,得到算法任务在不同业务场景中使用的编排加工信息。
4.根据权利要求1所述的方法,其特征在于,所述利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,具体包括:
利用所述编排加工信息,确定算法任务在每个执行步骤关联的资源参数;
根据所述算法任务在每个执行步骤关联的资源参数,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目之前,所述方法还包括:
获取算法任务的至少一个数据来源,判断算法任务在使用至少一个数据来源的情况下是否需要数据源信息扩展;
若是,则将待扩展的数据源信息添加至编排加工信息中,并根据所述待扩展的数据源信息在算法平台中发布相应的任务模块。
6.根据权利要求1-4中任一项所述的方法,其特征在于,在所述当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源之后,所述方法还包括:
按照执行模板中记录的流转顺序控制目标算法任务在待执行任务模块关联的操作项目之间进行跳转,在当前待执行任务模块中关联的操作项目执行完毕的情况下,控制目标算法任务跳转至下一待执行任务模块,直至目标算法任务的执行模板中所有待执行任务模块流转完毕。
7.一种基于算法平台的资源调用装置,其特征在于,包括:
获取单元,用于接收项目开发中涉及的算法任务,获取每个算法任务在不同业务场景中使用的编排加工信息,所述编排加工信息为结合业务场景中的任务描述和触发条件对每个算法任务在不同业务场景中的使用进行编排加工;
组合单元,用于利用所述编排加工信息,在算法平台中选取算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板,所述算法平台预先配置有算法任务在不同执行功能上适配的任务模块以及所述任务模块在相应操作功能上适配的操作项目,具体利用所述编排加工信息将算法任务的操作流程划分至多个执行步骤,算法平台中每个任务模块对应一个或多个执行步骤,每个执行步骤关联有资源参数,根据算法任务在每个执行步骤关联的资源参数,遍历算法平台中每个任务模块,判断任务模块中是否存在资源参数相匹配的目标操作项目,若是,则将任务模块以及目标操作项目作为算法任务适配的任务模块以及操作项目进行组合,得到算法任务的执行模板;
确定单元,用于响应于目标算法任务的执行,根据目标算法任务的执行模板确定待执行任务模块以及待执行任务模块关联的操作项目;
调用单元,用于当目标算法任务跳转至待执行任务模块时,利用所述待执行任务模块关联的操作项目调用相应的资源接口,根据所述资源接口提供的资源传输协议获取待执行任务模块的数据资源。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的基于算法平台的资源调用方法。
9.一种基于算法平台的资源调用设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述的基于算法平台的资源调用方法。
CN202310750121.7A 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备 Active CN116501365B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310750121.7A CN116501365B (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备
CN202311287767.2A CN117453265A (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310750121.7A CN116501365B (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311287767.2A Division CN117453265A (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备

Publications (2)

Publication Number Publication Date
CN116501365A CN116501365A (zh) 2023-07-28
CN116501365B true CN116501365B (zh) 2023-11-24

Family

ID=87328682

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311287767.2A Pending CN117453265A (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备
CN202310750121.7A Active CN116501365B (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202311287767.2A Pending CN117453265A (zh) 2023-06-25 2023-06-25 基于算法平台的资源调用方法、装置及设备

Country Status (1)

Country Link
CN (2) CN117453265A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108012090A (zh) * 2017-10-25 2018-05-08 北京川上科技有限公司 一种视频处理方法、装置、移动终端及存储介质
CN111158708A (zh) * 2019-12-25 2020-05-15 上海精鲲计算机科技有限公司 一种任务编排引擎系统
CN112181602A (zh) * 2020-10-23 2021-01-05 济南浪潮数据技术有限公司 一种资源编排方法、装置及电子设备和存储介质
CN112751856A (zh) * 2020-12-30 2021-05-04 湖南快乐阳光互动娱乐传媒有限公司 一种可编排流程的媒体处理系统
CN115529850A (zh) * 2021-04-26 2022-12-27 华为技术有限公司 电子装置和电子装置的图像处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115523A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Method and apparatus for allocating tasks and resources for a project lifecycle

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108012090A (zh) * 2017-10-25 2018-05-08 北京川上科技有限公司 一种视频处理方法、装置、移动终端及存储介质
CN111158708A (zh) * 2019-12-25 2020-05-15 上海精鲲计算机科技有限公司 一种任务编排引擎系统
CN112181602A (zh) * 2020-10-23 2021-01-05 济南浪潮数据技术有限公司 一种资源编排方法、装置及电子设备和存储介质
CN112751856A (zh) * 2020-12-30 2021-05-04 湖南快乐阳光互动娱乐传媒有限公司 一种可编排流程的媒体处理系统
CN115529850A (zh) * 2021-04-26 2022-12-27 华为技术有限公司 电子装置和电子装置的图像处理方法

Also Published As

Publication number Publication date
CN117453265A (zh) 2024-01-26
CN116501365A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
US11263005B2 (en) Techniques to deploy an application as a cloud computing service
US9342330B2 (en) Deploying a user-configured virtual appliance template including a portion of an existing computing application to enhance functionality
US20230126597A1 (en) Container orchestration framework
US20200175570A1 (en) Method for processing orders and electronic device
CN108021954B (zh) 业务过程的启动方法和装置
CN107807841B (zh) 服务器模拟方法、装置、设备及可读存储介质
CN113918232B (zh) 一种算法服务的调用方法、装置、服务器和存储介质
CN111988429A (zh) 算法调度方法以及系统
CN112085567A (zh) 商品推荐方法、装置、电子设备以及可读介质
US20180101367A1 (en) Dynamically building mobile applications
KR102205686B1 (ko) 후보 문자 순위화 방법 및 장치와 문자 입력 방법 및 장치
CN116501365B (zh) 基于算法平台的资源调用方法、装置及设备
US11893383B2 (en) Configuration properties management for software
US20200097271A1 (en) Method and system for operating a software application on a processor of a mobile device
CN113468446B (zh) 一种支持识别第三方二维码数据的方法、系统及设备
US8036921B2 (en) System and method for optimization process repeatability in an on-demand computing environment
CN114169733A (zh) 一种资源分配方法和装置
CN109284097B (zh) 实现复杂数据分析的方法、设备、系统及存储介质
US12032956B2 (en) Techniques to deploy an application as a cloud computing service
US11985213B1 (en) Stateless triggering and execution of interactive computing kernels
US12020008B2 (en) Extensibility recommendation system for custom code objects
US20230103049A1 (en) Developer-focused context-aware application security platform
US20220197901A1 (en) Ai model optimization method and apparatus
CN115658130A (zh) 一种资源扫描方法、装置、计算机设备及可读存储介质
CN112817574A (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