CN115774552A - 配置化的算法设计方法、装置、电子设备及可读存储介质 - Google Patents
配置化的算法设计方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115774552A CN115774552A CN202211634464.9A CN202211634464A CN115774552A CN 115774552 A CN115774552 A CN 115774552A CN 202211634464 A CN202211634464 A CN 202211634464A CN 115774552 A CN115774552 A CN 115774552A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- execution
- application
- operator list
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及算法设计技术领域,提供了一种配置化的算法设计方法、装置、电子设备及计算机可读存储介质,方法包括:获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;根据应用编码标记从预设的算法中台确定对应的目标应用程序;根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;根据阶段执行顺序信息确定对应的执行器组合;基于执行器组合对算子列表进行执行处理,得到算法执行结果。通过上述技术方案可以降低算法设计中的各个模块的耦合性,提高算法开发设计的效率。
Description
技术领域
本申请实施例涉及但不限于算法设计技术领域,尤其涉及一种配置化的算法设计方法、装置、电子设备及计算机可读存储介质。
背景技术
在金融行业中,往往存在多个工作系统,在现有的技术中,一套算法方案经常被应用于多个工作系统场景,为了避免重复开发,一般会搭建算法中台,通过租户化的形式提供服务;目前业内的中台方案一般针对业务需求分别开发对应的处理逻辑,通过简单的开发配置来控制功能模块,这样就会使得耦合性强,开发效率较低,而且无法满足算法类项目针对多个场景的大量配置化的需求。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
为了解决上述背景技术中提到的问题,本申请实施例提供了一种配置化的算法设计方法、装置、电子设备及计算机可读存储介质,降低算法设计中的各个模块的耦合性,提高算法开发设计的效率。
第一方面,本申请实施例提供了一种配置化的算法设计方法,所述方法包括:
获取算法配置请求参数,其中,所述算法配置请求参数携带有应用编码标记;
根据所述应用编码标记从预设的算法中台确定对应的目标应用程序;
根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,其中,所述算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
根据所述阶段执行顺序信息确定对应的执行器组合;
基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果。
根据本申请的一些实施例,所述算法中台包括多个所述目标应用程序,每个所述目标应用程序携带有应用场景属性信息,所述根据所述应用编码标记从预设的算法中台确定对应的目标应用程序,包括:
将所述应用编码标记与所述应用场景属性信息进行第一匹配处理得到应用匹配结果;
根据所述应用匹配结果从所述算法中台选定对应的所述目标应用程序。
根据本申请的一些实施例,所述目标应用程序携带有应用场景属性信息,所述内存映射表携带有应用执行标记信息,所述根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,包括:
将所述应用场景属性信息与所述应用执行标记信息进行第二匹配处理得到算法执行匹配结果;
根据所述算法执行匹配结果从所述内存映射表中选定对应的所述算子列表。
根据本申请的一些实施例,所述根据所述阶段执行顺序信息确定对应的执行器组合,包括:
对所述阶段执行顺序信息进行拆分得到多个阶段执行参数;
根据多个所述阶段执行参数从所述算法中台中选定对应的多个执行器;
将多个所述执行器进行联立处理得到所述执行器组合。
根据本申请的一些实施例,所述算子列表包括多个阶段算子,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果,包括:
根据多个所述阶段算子与所述执行器组合确定执行信息;
通过所述执行器组合根据所述执行信息对多个所述阶段算子按顺序进行执行处理,得到所述算法执行结果。
根据本申请的一些实施例,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果之后,所述方法还包括:
对所述算法执行结果进行分析处理得到算法执行效果信息;
根据所述算法执行效果信息对所述内存映射表中对应的所述算子列表进行调整处理,以使得所述内存映射表中的所述算子列表进行数据热刷新。
根据本申请的一些实施例,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果之后,所述方法还包括:
获取新的所述算法配置请求参数;
将新的所述算法配置请求参数与先前的所述算法配置请求参数进行对比,得到新增算法配置信息;
根据所述新增算法配置信息从所述内存映射表中获取新增的阶段算子;
将新增的所述阶段算子添加至先前的所述算子列表中,以形成新的所述算子列表;
对所述算子列表重新进行执行处理得到新的所述算法执行结果。
第二方面,本申请实施例还提供了一种内容推荐装置,所述装置包括:
第一处理模块,用于获取算法配置请求参数,其中,所述算法配置请求参数携带有应用编码标记;
第二处理模块,用于根据所述应用编码标记从预设的算法中台确定对应的目标应用程序;
第三处理模块,用于根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,其中,所述算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
第四处理模块,用于根据所述阶段执行顺序信息确定对应的执行器组合;
第五处理模块,用于基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面所述的配置化的算法设计方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上第一方面所述的配置化的算法设计方法。
根据本申请提供的实施例的配置化的算法设计方法,至少具有如下有益效果:在配置化的算法设计过程中,首先获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;接着根据应用编码标记从预设的算法中台确定对应的目标应用程序;然后根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;接着根据阶段执行顺序信息确定对应的执行器组合;最后基于执行器组合对算子列表进行执行处理,得到算法执行结果。通过上述技术方案,降低算法设计中的各个模块的耦合性,提高算法开发设计的效率。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请一个实施例提供的配置化的算法设计方法的流程图;
图2是本申请一个实施例提供的配置化的算法设计方法中,确定目标应用程序的流程图;
图3是本申请一个实施例提供的配置化的算法设计方法中,获取算子列表的流程图;
图4是本申请一个实施例提供的配置化的算法设计方法中,确定执行器组合的流程图;
图5是本申请一个实施例提供的配置化的算法设计方法中,对算子列表进行执行处理的流程图;
图6是本申请另一个实施例提供的配置化的算法设计方法的流程图;
图7是本申请另一个实施例提供的配置化的算法设计方法的流程图;
图8是本申请一个实施例提供的配置化的算法设计装置的示意图;
图9是本申请一个实施例提供的电子设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要注意的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在金融行业中,往往存在多个工作系统,在现有的技术中,一套算法方案经常被应用于多个工作系统场景,为了避免重复开发,一般会搭建算法中台,通过租户化的形式提供服务;目前业内的中台方案一般针对业务需求分别开发对应的处理逻辑,通过简单的开发配置来控制功能模块,这样就会使得耦合性强,开发效率较低,而且无法满足算法类项目针对多个场景的大量配置化的需求。
一套算法方案经常被服务于多个场景,为了避免重复开发,一般搭建算法中台,通过租户化的形式提供服务;但多个场景的基础数据一般并不相同,且存在个性化的需求,因此需要通过将算法配置化以满足各个业务的需求;算法相关项目在开发迭代过程中会经历“调试参数-效果评估-再调试参数”的反复优化过程,为了方便更改配置调试,降低对业务的影响,最好将算法组件化,通过配置组件编排的形式来搭建起一套完整的服务,这样每次调试只需更改对应组件的配置,耦合度低,系统稳定性佳,最后,算法的配置以及该算法组件本身最好提供热刷新的功能,以提升开发迭代的效率。
一个完善的算法中台需要对算法进行组件化,配置化并提供热刷新的功能,且需要能灵活编排以服务于多个场景。现有的业内的中台方案一般针对业务需求分别开发对应的处理逻辑,通过简单的开关配置来控制功能模块,不仅耦合性强,开发效率低,而且无法满足算法类项目的针对多个场景的大量的配置化的需求,在后期随着项目需求不断增多,复杂度不断上升,会变得难以维护。本申请实施例提出的配置化的配置化的算法设计方法可以解决上述问题,提升开发效率以及系统灵活性,稳定性。
本申请提供了一种配置化的算法设计方法、装置、电子设备及计算机可读存储介质,在配置化的算法设计过程中,首先获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;接着根据应用编码标记从预设的算法中台确定对应的目标应用程序;然后根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;接着根据阶段执行顺序信息确定对应的执行器组合;最后基于执行器组合对算子列表进行执行处理,得到算法执行结果。通过上述技术方案,降低算法设计中的各个模块的耦合性,提高算法开发设计的效率。
本申请实施例提供的配置化的算法设计方法,涉及算法设计技术领域。本申请实施例提供的配置化的算法设计方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现配置化的算法设计方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的配置化的算法设计方法的流程图,该配置化的算法设计方法包括但不限于步骤S100至S500。
步骤S100,获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;
步骤S200,根据应用编码标记从预设的算法中台确定对应的目标应用程序;
步骤S300,根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
步骤S400,根据阶段执行顺序信息确定对应的执行器组合;
步骤S500,基于执行器组合对算子列表进行执行处理,得到算法执行结果。
需要说明的是,在配置化的算法设计过程中,首先获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;接着根据应用编码标记从预设的算法中台确定对应的目标应用程序;然后根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;接着根据阶段执行顺序信息确定对应的执行器组合;最后基于执行器组合对算子列表进行执行处理,得到算法执行结果。通过上述技术方案,降低算法设计中的各个模块的耦合性,提高算法开发设计的效率。
需要说明的是,中台,一般应用于大型企业。一般是指搭建一个灵活快速应对变化的架构,快速实现前端提的需求,避免重复建设,达到提高工作效率目的;中台,作为平台型组织的一部分,是在前台需求单元和后台资源部门之间的组织模块,这些模块多半是传统组织中所谓的成本中心,它们负责把后台的资源整合成前台所需的“中间件”,方便随需调用;中台分为三类:业务中台、数据中台和组织中台。业务中台:多半是传统的成本中心,把后台的资源整合成前台需要的“中间件”,方便被随需调用。“业务中台”也被称为“有形的中台”,因为是有实体部门存在的;数据中台:应该被称之为“业务中台的数据化”,其让资源和能力在极度共享后形成数据汇集,并基于算法进行智能决策,以支持业务中台和组织中台的运作;组织中台:由财务、人力、战略等部门向前台派出的业务伙伴组成的团队;“组织中台”也被称为“无形的中台”,就是因为没有实体部门,渗透到每个业务单元。对于算法中台,对于多个业务需求,算法都是为了完成分类、回归和聚类三个目标;在组建算法的过程中,只需要开发算法接口,接口定义好字段后可以快速实现训练、调优和上线,算法代码具有通用性,尽可能地减少开发量。算法中台通过任务中心模块提供可视化智能算法管理功能,可以通过可视化界面部署算法服务、配置算法逻辑、控制算法启停、查看算法运行状态、监控算法服务对应硬件的各类使用率等。
值得注意的是,算法配置请求参数携带有应用编码标记,其中,应用编码标记对应着一个目标应用程序,具有唯一性;示例性地,目标应用程序具有标记1,而算法配置请求参数携带的应用编码标记为1,则该算法配置请求参数则与该目标应用程序是对应的。
可以理解的是,算法中台中具有多个目标应用程序,可以通过算法配置请求参数携带的应用编码标记从算法中台中选取得到相应的目标应用程序;而每个目标应用程序又会对应着内存映射表中的算子列表;算子列表携带有用于表征算子执行顺序的阶段执行顺序信息,可以通过阶段执行顺序信息确定对应的执行器组合;最后基于执行器组合对算子列表进行执行处理,以得到算法执行结果。
需要说明的是,目标应用程序,指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面;目标应用程序通常又被分为两部分:图形用户接口和引擎,与应用软件的概念不同;应用软件指使用的目的分类,可以是单一程序或其他从属组件的集合。
需要说明的是,内存映射表,是由一个文件到一块内存的映射。内存映射表与虚拟内存有些类似,通过内存映射表可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射表处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射表在处理大数据量的文件时能起到相当重要的作用。
需要说明的是,一套算法方案存在多个阶段,如预处理,业务处理,后处理等,因此将算子按阶段分组,每个阶段由一个或多个算子组合而成,阶段按配置顺序串行执行。
在一些实施例中,如图2所示,算法中台包括多个目标应用程序,每个目标应用程序携带有应用场景属性信息,上述步骤S200可以包括但不限于步骤S210至步骤S220。
步骤S210,将应用编码标记与应用场景属性信息进行第一匹配处理得到应用匹配结果;
步骤S220,根据应用匹配结果从算法中台选定对应的目标应用程序。
需要说明的是,算法中台包括了多个目标应用程序,每个目标应用程序携带有应用场景属性信息,在确定对应的目标应用程序的过程中,首先将应用编码标记与应用场景属性信息进行第一匹配处理就可以得到应用匹配结果;接着根据应用匹配结果从算法中台选定对应的目标应用程序。
值得注意的是,将应用编码标记与应用场景属性信息进行第一匹配处理的过程中,即将应用编码标记和应用场景属性信息进行对比匹配处理,从而得到匹配结果;示例性地,应用编码标记为3,而每个目标应用程序携带有应用场景属性信息,应用场景属性信息可以从1开始进行标记,将应用编码标记3与众多应用场景属性信息进行匹配对比的过程中,就会选定应用场景属性信息也为3的目标应用程序。
在一些实施例中,如图3所示,目标应用程序携带有应用场景属性信息,内存映射表携带有应用执行标记信息,上述步骤S300可以包括但不限于步骤S310至步骤S320。
步骤S310,将应用场景属性信息与应用执行标记信息进行第二匹配处理得到算法执行匹配结果;
步骤S320,根据算法执行匹配结果从内存映射表中选定对应的算子列表。
需要说明的是,目标应用程序携带有应用场景属性信息,内存映射表携带有应用执行标记信息;在选定算子列表的过程中,将应用场景属性信息与应用执行标记信息进行第二匹配处理得到算法执行匹配结果,接着根据算法执行匹配结果从内存映射表中选定对应的算子列表。
值得注意的是,目标应用程序携带有应用场景属性信息,内存映射表携带有应用执行标记信息,因此将应用场景属性信息和应用执行标记信息进行第二匹配处理就可以得到算法执行匹配结果;接着根据算法执行匹配结果从内存映射表中选定对应的算子列表。示例性地,目标应用程序携带的应用场景属性信息为2,内存映射表中携带有应用执行标记信息,应用执行标记信息为数量标记,即从1开始的数字,将应用场景属性信息和应用执行标记信息进行第二匹配处理的过程中就会从内存映射表中选定应用执行标记信息为2的算子列表,进而可以根据算法执行匹配结果从内存映射表中选定对应的算子列表。
需要说明的是,需要说明的是,内存映射表,是由一个文件到一块内存的映射。内存映射表与虚拟内存有些类似,通过内存映射表可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射表处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射表在处理大数据量的文件时能起到相当重要的作用。
需要说明的是,一套算法方案存在多个阶段,如预处理,业务处理,后处理等,因此将算子按阶段分组,每个阶段由一个或多个算子组合而成,阶段按配置顺序串行执行。
在一些实施例中,如图4所示,上述步骤S400可以包括但不限于步骤S410、步骤S420和步骤S430。
步骤S410,对阶段执行顺序信息进行拆分得到多个阶段执行参数;
步骤S420,根据多个阶段执行参数从算法中台中选定对应的多个执行器;
步骤S430,将多个执行器进行联立处理得到执行器组合。
需要说明的是,在确定执行器组合的过程中,首先对阶段执行顺序信息进行拆分处理就可以得到多个阶段执行参数;接着根据多个阶段执行参数从算法中台中选定对应的多个执行器;最后将多个执行器进行联立处理就可以得到执行器组合。
值得注意的是,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息,对阶段执行顺序信息进行拆分处理就可以得到多个阶段执行参数;根据多个阶段执行参数从算法中台中选定对应的多个执行器;每个阶段执行参数都会对应着一个执行器,最后将选取出来的多个执行器进行联立处理就可以得到执行器组合。
需要说明的是,每个执行器都可以对应地执行相应阶段的算子;一套算法方案存在多个阶段,如预处理,业务处理,后处理等,因此将算子按阶段分组,每个阶段由一个或多个算子组合而成,阶段按配置顺序串行执行。
值得注意的是,算法中台中存在着多个执行器,根据多个阶段执行参数就可以从算法中台中选定对应的多个执行器;最后将多个执行器进行联立处理就可以得到执行器组合,执行器组合可以按顺序地对算子列表进行执行操作处理。
在一些实施例中,如图5所示,算子列表包括多个阶段算子,上述步骤S500可以包括但不限于步骤S510和步骤S520。
步骤S510,根据多个阶段算子与执行器组合确定执行信息;
步骤S520,通过执行器组合根据执行信息对多个阶段算子按顺序进行执行处理,得到算法执行结果。
需要说明的是,算子列表包括多个阶段算子,在执行算法的过程中,首先根据多个阶段算子与执行器组合确定得到执行信息;接着通过执行器组合根据执行信息对多个阶段算子按顺序进行执行处理,就可以得到算法执行结果。
值得注意的是,根据多个阶段算子和执行器组合就可以确定执行信息;其中,执行器组合包括依次排列着的多个执行器,而各个执行器都按照执行的先后顺序进行排列,因此可以根据多个阶段算子和执行器进行组合确定执行信息;接着后续就可以通过执行器组合根据执行信息对多个阶段算子按顺序进行执行处理,从而得到算法执行结果。
在一些实施例中,如图6所示,执行完上述步骤S500之后还可以包括但不限于步骤S610和步骤S620。
步骤S610,对算法执行结果进行分析处理得到算法执行效果信息;
步骤S620,根据算法执行效果信息对内存映射表中对应的算子列表进行调整处理,以使得内存映射表中的算子列表进行数据热刷新。
需要说明的是,基于执行器组合对算子列表进行执行处理得到算法执行结果之后,还可以对算法执行结果进行分析处理得到算法执行效果信息;接着根据算法执行效果信息对内存映射表中对应的算子列表进行调整处理,以使得内存映射表中的算子列表可以进行数据热刷新。
值得注意的是,缓存中的数据一般以键值对的形式存在,键值中放数据本身,关键词中放数据的某种描述名。缓存的容量决定了其最大可容纳的数据条数,当容量已满时再向缓存中存入新的数据,缓存就会采取开始清理行为:清除掉已存的部分数据,从而为新数据腾地方。清理的策略(判定何时需要清理、具体如何清理数据)有很多种,决定了缓存的不同类型。数据热刷新为每一条存入的数据记录其被使用的次数,每次调用都会检查缓存大小是否超出容量,如超出就会开始清理行为:会从使用次数最少的数据开始清理,直到缓存大小处于容量以内。
可以理解的是,对算法执行结果进行分析处理即对算法的执行效果进行分析,从而得到算法执行效果信息;最后根据算法执行效果信息对内存映射表中对应的算子列表的相关执行参数进行修改调整处理,使得后续执行相关算子的过程中可以得到更好的执行效果。
在一些实施例中,如图7所示,上述步骤S500之后还可以包括但不限于步骤S710、步骤S720、步骤S730、步骤S740和步骤S750。
步骤S710,获取新的算法配置请求参数;
步骤S720,将新的算法配置请求参数与先前的算法配置请求参数进行对比,得到新增算法配置信息;
步骤S730,根据新增算法配置信息从内存映射表中获取新增的阶段算子;
步骤S740,将新增的阶段算子添加至先前的算子列表中,以形成新的算子列表;
步骤S750,对算子列表重新进行执行处理得到新的算法执行结果。
需要说明的是,在得到算法执行结果之后,还可以获取新的算法配置请求参数;接着将新的算法配置请求参数与先前的算法配置请求参数进行对比,得到新增算法配置信息;接着根据新增算法配置信息从内存映射表中获取新增的阶段算子;接着将新增的阶段算子添加至先前的算子列表中,以形成新的算子列表;最后对算子列表重新进行执行处理就可以得到新的算法执行结果。
值得注意的是,将新的算法配置请求参数与先前的算法配置请求参数进行对比就可以得到新增算法配置信息;根据新增算法配置信息就可以从内存映射表中获取新增的阶段算子,不需要再重新提取加载全部算子列表,使得算法的配置更加简便快捷。
值得注意的是,本申请实施例提出了一种配置化的配置化的算法设计方法,方法将算法类组件化,通过配置的形式加以编排,提供了合适的实例化算子的方式,并将算子按阶段分组,提供了阶段内的执行方式,灵活可拓展。在配置层面,将场景抽象为应用程序配置,各应用程序有对应的算法编排配置文件,细化至各算法类可以有其个性化配置,层次清晰,易于维护,可以满足多场景下算法项目的大量配置以及参数的需求。此外,配置文件保存于配置中心,算子可重新通过构造方法初始化,因此都具有可热刷的特性,可以满足算法项目开发迭代过程中快速反馈调参优化的需求,提升了开发效率。此外,还可以在同一场景下制定多套算法配置,以实现测试,灰度发布等功能。系统的各模块设计耦合性低,拓展性强,稳定性佳。
另外,如图8所示,本申请的一个实施例还提供了一种配置化的算法设计装置10,包括:
第一处理模块100,用于获取算法配置请求参数,其中,算法配置请求参数携带有应用编码标记;
第二处理模块200,用于根据应用编码标记从预设的算法中台确定对应的目标应用程序;
第三处理模块300,用于根据目标应用程序从预设的内存映射表中获取对应的算子列表,其中,算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
第四处理模块400,用于根据阶段执行顺序信息确定对应的执行器组合;
第五处理模块500,用于基于执行器组合对算子列表进行执行处理,得到算法执行结果。
该配置化的算法设计装置10的具体实施方式与上述配置化的算法设计方法的具体实施例基本相同,在此不再赘述。
另外,如图9所示,本申请的一个实施例还提供了一种电子设备700,该设备包括:存储器720、处理器710及存储在存储器720上并可在处理器710上运行的计算机程序。
处理器710和存储器720可以通过总线或者其他方式连接。
实现上述实施例的配置化的算法设计方法所需的非暂态软件程序以及指令存储在存储器720中,当被处理器710执行时,执行上述各实施例的配置化的算法设计方法,例如,执行以上描述的图1中的方法步骤S100至S500、图2中的方法步骤S210至S220、图3中的方法步骤S310至S320、图4中的方法步骤S410至S430、图5中的方法步骤S510至S520、图6中的方法步骤S610至S620和图7中的方法步骤S710至S750。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本申请的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器710或控制器执行,例如,被上述设备实施例中的一个处理器710执行,可使得上述处理器710执行上述实施例中的配置化的算法设计方法,例如,执行以上描述的图1中的方法步骤S100至S500、图2中的方法步骤S210至S220、图3中的方法步骤S310至S320、图4中的方法步骤S410至S430、图5中的方法步骤S510至S520、图6中的方法步骤S610至S620和图7中的方法步骤S710至S750。
上述各实施例可以结合使用,不同实施例之间名称相同的模块可相同可不同。
上述对本申请特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备、计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(Flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(Transitory Media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种配置化的算法设计方法,其特征在于,所述方法包括:
获取算法配置请求参数,其中,所述算法配置请求参数携带有应用编码标记;
根据所述应用编码标记从预设的算法中台确定对应的目标应用程序;
根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,其中,所述算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
根据所述阶段执行顺序信息确定对应的执行器组合;
基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果。
2.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述算法中台包括多个所述目标应用程序,每个所述目标应用程序携带有应用场景属性信息,所述根据所述应用编码标记从预设的算法中台确定对应的目标应用程序,包括:
将所述应用编码标记与所述应用场景属性信息进行第一匹配处理得到应用匹配结果;
根据所述应用匹配结果从所述算法中台选定对应的所述目标应用程序。
3.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述目标应用程序携带有应用场景属性信息,所述内存映射表携带有应用执行标记信息,所述根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,包括:
将所述应用场景属性信息与所述应用执行标记信息进行第二匹配处理得到算法执行匹配结果;
根据所述算法执行匹配结果从所述内存映射表中选定对应的所述算子列表。
4.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述根据所述阶段执行顺序信息确定对应的执行器组合,包括:
对所述阶段执行顺序信息进行拆分得到多个阶段执行参数;
根据多个所述阶段执行参数从所述算法中台中选定对应的多个执行器;
将多个所述执行器进行联立处理得到所述执行器组合。
5.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述算子列表包括多个阶段算子,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果,包括:
根据多个所述阶段算子与所述执行器组合确定执行信息;
通过所述执行器组合根据所述执行信息对多个所述阶段算子按顺序进行执行处理,得到所述算法执行结果。
6.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果之后,所述方法还包括:
对所述算法执行结果进行分析处理得到算法执行效果信息;
根据所述算法执行效果信息对所述内存映射表中对应的所述算子列表进行调整处理,以使得所述内存映射表中的所述算子列表进行数据热刷新。
7.根据权利要求1所述的配置化的算法设计方法,其特征在于,所述基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果之后,所述方法还包括:
获取新的所述算法配置请求参数;
将新的所述算法配置请求参数与先前的所述算法配置请求参数进行对比,得到新增算法配置信息;
根据所述新增算法配置信息从所述内存映射表中获取新增的阶段算子;
将新增的所述阶段算子添加至先前的所述算子列表中,以形成新的所述算子列表;
对所述算子列表重新进行执行处理得到新的所述算法执行结果。
8.一种配置化的算法设计装置,其特征在于,所述装置包括:
第一处理模块,用于获取算法配置请求参数,其中,所述算法配置请求参数携带有应用编码标记;
第二处理模块,用于根据所述应用编码标记从预设的算法中台确定对应的目标应用程序;
第三处理模块,用于根据所述目标应用程序从预设的内存映射表中获取对应的算子列表,其中,所述算子列表携带有用于表征算子执行顺序的阶段执行顺序信息;
第四处理模块,用于根据所述阶段执行顺序信息确定对应的执行器组合;
第五处理模块,用于基于所述执行器组合对所述算子列表进行执行处理,得到算法执行结果。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的配置化的算法设计方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行权利要求1至7中任意一项所述的配置化的算法设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634464.9A CN115774552A (zh) | 2022-12-19 | 2022-12-19 | 配置化的算法设计方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211634464.9A CN115774552A (zh) | 2022-12-19 | 2022-12-19 | 配置化的算法设计方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115774552A true CN115774552A (zh) | 2023-03-10 |
Family
ID=85392547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211634464.9A Pending CN115774552A (zh) | 2022-12-19 | 2022-12-19 | 配置化的算法设计方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115774552A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501477A (zh) * | 2023-06-28 | 2023-07-28 | 中国电子科技集团公司第十五研究所 | 一种数据自动化处理方法、装置和设备 |
CN116760647A (zh) * | 2023-08-22 | 2023-09-15 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
-
2022
- 2022-12-19 CN CN202211634464.9A patent/CN115774552A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501477A (zh) * | 2023-06-28 | 2023-07-28 | 中国电子科技集团公司第十五研究所 | 一种数据自动化处理方法、装置和设备 |
CN116501477B (zh) * | 2023-06-28 | 2023-09-15 | 中国电子科技集团公司第十五研究所 | 一种数据自动化处理方法、装置和设备 |
CN116760647A (zh) * | 2023-08-22 | 2023-09-15 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
CN116760647B (zh) * | 2023-08-22 | 2023-11-10 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115774552A (zh) | 配置化的算法设计方法、装置、电子设备及可读存储介质 | |
CN107506181A (zh) | 业务处理、数据处理方法、装置以及电子设备 | |
CN110008018A (zh) | 一种批量任务处理方法、装置及设备 | |
CN111966334B (zh) | 一种业务处理方法、装置及设备 | |
CN115828162A (zh) | 一种分类模型训练的方法、装置、存储介质及电子设备 | |
CN116243914A (zh) | 国际化软件开发的方法、国际化软件开发系统及服务器 | |
CN117370536B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN108804563B (zh) | 一种数据标注方法、装置以及设备 | |
CN112604273B (zh) | 数据驱动的游戏系统功能加载方法、设备及存储介质 | |
CN117421214A (zh) | 批量造数方法、装置、电子设备及计算机可读存储介质 | |
CN116521350B (zh) | 基于深度学习算法的etl调度方法及装置 | |
CN112231531A (zh) | 一种基于opentsdb的数据展示方法、设备及介质 | |
CN112182116A (zh) | 数据探查方法及装置 | |
CN110502551A (zh) | 数据读写方法、系统及架构组件 | |
CN116822606A (zh) | 一种异常检测模型的训练方法、装置、设备及存储介质 | |
US9262304B2 (en) | Methods and systems for testing interactions between mobile applications | |
CN115994252A (zh) | 数据处理方法、装置及设备 | |
CN115934161A (zh) | 一种代码变更的影响分析方法、装置以及设备 | |
US10310823B2 (en) | Program development support system and program development support software | |
CN115061928A (zh) | 微服务自动化测试方法、装置、电子设备及存储介质 | |
CN115689676A (zh) | 一种行业识别的方法、装置、存储介质及电子设备 | |
CN115130621A (zh) | 一种模型训练方法、装置、存储介质及电子设备 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
CN109903165B (zh) | 一种模型合并方法和装置 | |
CN112181407A (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 |