CN114385388A - 算法的处理方法、装置、电子设备及存储介质 - Google Patents
算法的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114385388A CN114385388A CN202210297882.7A CN202210297882A CN114385388A CN 114385388 A CN114385388 A CN 114385388A CN 202210297882 A CN202210297882 A CN 202210297882A CN 114385388 A CN114385388 A CN 114385388A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- data source
- information
- definition information
- parameters
- 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
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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明涉及数据处理的技术领域,提供了一种算法的处理方法、装置、电子设备及存储介质。其中,该方法包括:获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码;获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数;通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。用户仅需要提供算法的定义信息和算法的实例的运行信息,算法逻辑框架可以通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。因此,用户无需提供调用数据源所需的算法,可以提高算法编写的效率。
Description
技术领域
本发明涉及数据处理的技术领域,尤其是涉及一种算法的处理方法、装置、电子设备及存储介质。
背景技术
随着大数据时代的到来和人工智能的崛起,机器学习所能处理的场景更加广泛和多样。构建的模型需要对批量数据进行处理,为了达到实时性的要求还需要直接对流式数据进行实时预测,还要具备将模型应用在企业应用和微服务上的能力。为了取得更好的业务效果,算法工程师们需要尝试更多更复杂的模型,需要处理更大的数据集。因此,高效能的算法组件和便捷操作平台对开发者的帮助越来越重要,使得数据分析和应用开发人员能够轻松搭建端到端的业务流程。
然而,算法工程师在实际开发的过程中,经常存在以下问题:(1)算法工程师取数难的问题:当今数据存储技术发展迅速,各种数据库层出不穷,算法工程师需要花费大量精力去应对数据接入的工作。(2)算法包部署运行管理的问题:算法工程师的专业领域是算法的编写,对于算法包最终的部署和运行需要大量的运维知识以及很深的架构设计经验,这些都不是算法工程师关注的重点。
发明内容
有鉴于此,本发明的目的在于提供一种算法的处理方法、装置、电子设备及存储介质,用户无需处理算法包部署和数据接入的工作,以提高算法编写的效率。
第一方面,本发明实施例提供了一种算法的处理方法,应用于算法逻辑框架,算法逻辑框架封装有多个数据源的调用组件;方法包括:获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码;获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数;通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
在本申请较佳的实施例中,上述定义信息还包括算法的名称、描述和版本;输入参数和输出参数均包括属性名称、类型和说明;运行参数包括参数名称和类型。
在本申请较佳的实施例中,上述代码包括算法的算法包或者存储地址。
在本申请较佳的实施例中,上述输入数据源和输出数据源至少包括以下之一:关系型数据库、非关系型数据库、大数据存储库、消息中间件或自定义接口。
在本申请较佳的实施例中,上述运行信息还包括实例名称和运行策略;运行策略包括:不自动执行、固定频率执行、通过表达式精确执行或调用触发。
在本申请较佳的实施例中,上述通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法的步骤,包括:通过调用组件调用运行信息中的输入数据源和输出数据源;基于定义信息中的代码,以及调用的输入数据源和输出数据源运行算法。
在本申请较佳的实施例中,上述获取算法的实例的运行信息的步骤之后,方法还包括:存储算法的定义信息和算法的实例的运行信息。
在本申请较佳的实施例中,上述方法还包括:响应查找指令,查找定义信息或运行信息;或者,响应修改指令,修改定义信息或运行信息。
第二方面,本发明实施例还提供一种算法的处理装置,应用于算法逻辑框架,算法逻辑框架封装有多个数据源的调用组件;方法包括:定义信息获取模块,用于获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码;运行信息获取模块,用于获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数;算法运行模块,用于通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
第三方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述算法的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述算法的处理方法。
本发明实施例带来了以下有益效果:
本发明实施例还提供了一种算法的处理方法、装置、电子设备及存储介质,用户仅需要提供算法的定义信息和算法的实例的运行信息,算法逻辑框架可以通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。因此,用户无需提供调用数据源所需的算法,无需处理算法包部署和数据接入的工作,可以提高算法编写的效率。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种算法的处理方法的流程图;
图2为本发明实施例提供的另一种算法的处理方法的流程图;
图3为本发明实施例提供的一种算法逻辑框架的图形用户界面的示意图;
图4为本发明实施例提供的另一种算法逻辑框架的图形用户界面的示意图;
图5为本发明实施例提供的另一种算法逻辑框架的图形用户界面的示意图;
图6为本发明实施例提供的一种算法的处理装置的结构示意图;
图7为本发明实施例提供的另一种算法的处理装置的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,随着大数据时代的到来和人工智能的崛起,机器学习所能处理的场景更加广泛和多样。构建的模型需要对批量数据进行处理,为了达到实时性的要求还需要直接对流式数据进行实时预测,还要具备将模型应用在企业应用和微服务上的能力。流式数据的特征是数据会源源不断的从各个地方汇集过来,来源众多,格式复杂,数据量巨大,对于流式数据的处理,有这样的一种观点,即数据的价值将随着时间的流逝而降低,因此数据生成后最好能够尽快的进行处理,实时的响应计算结果,而非等到数据累积以后再定期地进行处理,这样,对应的数据处理工具必须具备高性能,实时性,分布式和易用性几个特征。
为了取得更好的业务效果,算法工程师们需要尝试更多更复杂的模型,需要处理更大的数据集。因此,高效能的算法组件和便捷操作平台对开发者的帮助越来越重要,使得数据分析和应用开发人员能够轻松搭建端到端的业务流程。
然而,算法工程师在实际开发的过程中,经常存在以下问题:
(1)算法工程师取数难的问题:当今数据存储技术发展迅速,各种数据库层出不穷,算法工程师需要花费大量精力去应对数据接入的工作。
(2)算法包部署运行管理的问题:算法工程师的专业领域是算法的编写,对于算法包最终的部署和运行需要大量的运维知识以及很深的架构设计经验,这些都不是算法工程师关注的重点。
基于此,本发明实施例提供的一种算法的处理方法、装置、电子设备及存储介质,具体涉及一种算法逻辑框架,可以同时解决将算法快速落地产生价值的问题,数据分析和应用开发人员不用去关注算法本身,直接使用训练好的模型,实现端到端的业务应用。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种算法的处理方法进行详细介绍。
实施例一:
本发明实施例提供一种算法的处理方法,该方法应用于算法逻辑框架,算法逻辑框架封装有多个数据源的调用组件。通过上述调用组件,就可以调用预先设置完成的数据源(一般为数据库)。例如:预先设置有关系型数据库A和非关系型数据库B,算法逻辑框架分别封装有A和B的调用组件a和b,可以通过调用组件a调用关系型数据库A,通过调用组件b调用非关系型数据库B。
基于上述描述,参见图1所示的一种算法的处理方法的流程图,该算法的处理方法包括如下步骤:
步骤S102,获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码。
其中,本实施例的算法的定义信息可以由用户编写并输入,例如:可以是算法工程师编写并输入的。此外,本实施例的算法也可以是与算法逻辑框架连接的其他模块输入的。例如:用户可以预先编写并将算法存储在某一数据库模块,算法逻辑框架可以从该数据库模块获取本实施例的算法。
本发明实施例的算法由算法工程师编写,算法工程师可以将算法的定义信息上传到算法逻辑框架中,从而完成算法的管理、修改和发布。算法的定义信息是由算法工程师在开发时,进行定义,核心是算法以及算法运行时需要的参数。
其中,算法的定义信息包括算法的输入参数、输出参数、运行参数和代码。算法的输入参数即算法工程师对输入参数进行定义,可以包括输入参数的参数名称、类型、说明等内容;算法的输出参数即算法工程师对输出参数进行定义,可以包括输出参数的参数名称、类型、说明等内容;算法的运行参数即算法工程师对算法运行过程中的参数进行定义,可以包括运行参数的参数名称和类型等内容。
对于算法的代码,算法工程师可以将编写的算法压缩成算法包,将算法包上传至算法逻辑框架,或者算法工程师也可以将算法的存储地址(可以为github的地址)发送至算法逻辑框架。
步骤S104,获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数。
其中,与算法的定义信息类似,本实施例的算法的实例的运行信息也可以由用户编写并输入,也可以是与算法逻辑框架连接的其他模块输入的。
算法的实例是算法执行时,装配上实际需要的数据,实例的运行信息包括实例的输入数据源、输出数据源和运行参数。算法工程师可以将实例的运行信息上传到算法逻辑框架中,从而确定实例的输入数据源、输出数据源和运行参数。
其中,输入数据源也可以称为输入源,输出数据源也可以称为输出源,也即,算法逻辑框架可以通过调用组件直接调用输入数据源和输出数据源,无需算法工程师自己调用输入数据源和输出数据源,省去了算法工程师学习每个数据库语言的时间成本,从而提高了算法工程师编写算法的效率。
步骤S106,通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
在算法工程师上传算法的定义信息和实例的运行信息之后,算法逻辑框架可以通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
本实施例中可以通过算法工程师上传算法的定义信息和实例的运行信息,算法工程师根据需要编写算法的代码以及选择数据源,算法逻辑框架可以根据算法工程师的需要采用调用组件调用数据源,并且运行算法工程师上传的代码。
与预先设置算法池和数据源池,算法工程师从预先设置的算法池和数据源池分别选择算法和数据源的传统方式相比,本实施例中的算法工程师可以根据需求编写合适的算法、选择合适的数据源,并不受算法池和数据源池的限制。
例如,上述传统方式的算法池包括3个算法、数据源池包括5个数据源,算法工程师只能从上述3个算法和5个数据源中进行选择,自由度较低。而本实施例中的算法逻辑框架并不会限制算法工程师编写的代码和选择的数据源的类型,因此,算法工程师可以根据需要编写算法的代码以及选择数据源,算法工程师的自由度较高。
并且,上述传统方式中如果算法工程师想要在数据源池中增加新的数据源,需要花费额外的时间和精力去学习该数据源的调用算法,费时费力。本实施例中的算法工程师只需要选择合适的数据源,由调用组件执行数据源的调用操作,无需算法工程师学习数据源的调用算法,可以节约算法工程师的时间和精力。
本发明实施例还提供了一种算法的处理方法,算法工程师仅需要提供算法的定义信息和算法的实例的运行信息,算法逻辑框架可以通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法算法工程师无需提供调用数据源所需的算法,调用组件可以直接完成数据源的调用操作。因此,算法工程师无需处理算法包部署和数据接入的工作,可以提高算法编写的效率。
实施例二:
本实施例提供了另一种算法的处理方法,该方法在上述实施例的基础上实现,如图2所示的另一种算法的处理方法的流程图,本实施例中的算法的处理方法包括如下步骤:
步骤S202,获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码。
参见图3所示的一种算法逻辑框架的图形用户界面的示意图,其中,图3中的图形用户界面可以供算法工程师上传算法的定义信息。算法的定义信息是由算法工程师在开发时,进行定义,核心是算法以及算法运行时需要的参数。如图3所示,算法的定义信息还包括算法的名称、描述和版本;输入参数和输出参数均包括属性名称、类型和说明;运行参数包括参数名称和类型。
算法的名称和描述用于说明该算法解决的问题。算法的输入参数和输出参数由属性名称、类型、说明构成。算法的运行参数包括参数名称和类型们用于在算法运行时,进行动态调节。如图3所示,算法的名称是test,描述是测试算法,版本是1.0。
算法的代码是算法工程师的研发成果,算法工程师可以上传算法包或者存储地址(例如git代码库的存储地址)。然而,这两种上传方式都需要算法的开发代码和实际运行代码分割开,可能存在打包时环境和依赖的差异性,造成算法执行时异常。
因此,可以通过conda+jupyter notebook的环境依赖管理和交互式开发模式来保持开发环境的依赖和代码整体移植到生产环境,解决不确定因素造成的影响。
步骤S204,获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数。
经过上述步骤,算法被定义完成,之后就需要进行实例的组装。参见图4所示的另一种算法逻辑框架的图形用户界面的示意图,算法的实例是算法执行时,装配上实际需要的数据,包括输入参数数据源、运行参数和执行策略。
如图4所示,可以添加输入数据源Source和输出数据源Sink,其中,输入数据源和输出数据源至少包括以下之一:关系型数据库、非关系型数据库、大数据存储库、消息中间件或自定义接口。目前可以支持的类型有关系性数据库:Mysql、Pgsql;非关系型数据库:Mongodb、Redis;大数据存储:Hbase;消息中间件:Kfka;自定义接口:RPC调用等。
此外,上述运行信息还包括实例名称和运行策略,如图4所示,实例名称可以是test1;运行策略包括:不自动执行、固定频率执行、通过表达式精确执行或调用触发。运行参数用于制定动态参数的实际内容,如图4所示,定义运行参数的key1为0.5。执行策略可以包括:None:不会自动执行;Fixed:固定频率执行;Cron:通过表达式精准执行;Api:调用触发。
步骤S206,存储算法的定义信息和算法的实例的运行信息。
在确定算法和实例之后,可以将算法的定义信息和算法的实例的运行信息存储至物理服务器或者云服务器中,并可以对存储的算法和实例进行启动、停止和上下线的管理,例如:查找、修改、运行等。
步骤S208,通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
众所周知,要想操作数据库就必须要熟悉它们的数据库语言,而非关系型(Nosql)数据库却没有统一的数据库语言,这给程序员的工作增添了难度。我们希望用一套通用的数据库查询语言,来解决这个难题。
其中,sql语句是每个程序员都掌握的基本技能,所以我们设想提供统一的sql查询引擎,将用户的sql语句转换成对应种类的数据库语句,解决多种数据库的统一使用。
本实施例中的调用组件包括查询引擎,是功能主要逻辑实现的地方。
其中,上述查询引擎包括proxy层(代理层)、parse层(语法解析层)和connector层(数据连接层),查询引擎的主要工作原理是:proxy层接收上述定义信息和运行信息后,可以对定义信息和运行信息进行参数格式、安全等验证,保障定义信息和运行信息的合法有效。parse层对定义信息和运行信息进行sql语法的解析,生成执行计划,基于解析的运行信息明确查询的对象和条件。connector层将执行计划转换成对应数据库种类的语句,调用数据库驱动程序进行执行,最后封装结果并返回。
具体来说,用户首先设定调用组件的数据源信息、sql脚本、参数格式、调度策略等,然后启动调用组件的程序,调用组件可以在上述调度策略下被执行,此时需要通过查询引擎去获取数据。
1. 调用组件的程序接收上述定义信息和运行信息之后,首先会提取运行信息包括所述实例的输入数据源、输出数据源和运行参数,即数据源相关的信息。将上述数据源相关的信息交给proxy代理层。代理层克根据上述调用组件的数据源信息验证接收的数据源相关的信息是否有缺失、数据源是否是支持的数据源种类、是否包含sql注入等安全漏洞。
2.上述验证均通过后,parse层的语法解析器通过预先定义的语法规则文件,对定义信息和运行信息进行sql语法的解析,确定数据源的类型,得到查询的对象(可以称为Statement对象),对Statement对象进一步解析生成一系列的执行计划ExecutionPlan。
3. parse层解析完成后,可以根据数据源的类型交给相对应的connector层的数据链接器,数据源的类型如Hive Connector、Mongo Connector等,上述数据链接器可以将执行计划ExecutionPlan还原成对应类型的查询语句,调用对应的数据库驱动完成数据库查询。
这里需要说明的是,如果组件要支持一种新的数据源,只需要调用组件的开发者编写这种数据源的数据链接器,通过这种方式保证了数据源的扩展性。调用组件的开发者与上述逻辑算法框架的用户不为同一人,以使逻辑算法框架的用户(即算法工程师)专心编写算法,无需分心开发调用组件,可以节约算法框架的用户的时间和精力,提高算法工程师编写算法的效率。
因此,本实施例可以通过调用组件解决了数据的查询问题,而且通过sql的方式,让用户可以灵活的在数据源中精细化的筛选出算法执行所需的数据。
本实施例的逻辑算法框架的设计模式是声明式,即算法工程师预设定义算法需要的数据和执行策略,启动程序后根据声明的内容,进行任务执行。上述逻辑算法框架可以支持多种数据源,例如:关系性数据库:Mysql、Pgsql;非关系型数据库:Mongodb、Redis;大数据存储:Hbase;消息中间件:Kfka;自定义接口:RPC调用等。
本实施例的所有数据源可以统一使用标准sql读取数据,通过调用组件的代理层,将标准sql转化为各自数据源的查询脚本,实现了数据读取标准化;还可以通过sql动态筛选数据,实现了数据精细化。
此外,上述逻辑算法框架的作业方式可以为流批一体式,使用常规数据源是批量作业,也可以使用流式数据源(例如:kafka)进行流式作业。
步骤S210,响应查找指令,查找定义信息或运行信息。
步骤S212,响应修改指令,修改定义信息或运行信息。
参见图5所示的另一种算法逻辑框架的图形用户界面的示意图,算法实例可按照条件进行搜索后查看和修改,算法发布后就能按照设定的运行方式进行执行,而数据输入和输出会按照声明自动传递。算法工程师输入查找指令,就可以根据上述查找指令查找定义信息或运行信息;算法工程师输入修改指令,就可以根据上述修改指令修改定义信息或运行信息;用算法工程师输入算法运行指令,就可以根据上述算法运行指令运行算法。
如图5所示,算法工程师可以通过“选择算法”的输入框输入查找指令,查找定义信息或运行信息;通过“操作”下方的按钮输入应修改指令,修改定义信息或运行信息。图5中都可以对算法A和算法B进行操作,其中,算法A已经运行,算法B尚未运行;算法A的修改时间是时间A,修改人为XX,算法B的修改时间是时间B,修改人为YYY。
具体地,可以通过下述步骤运行算法:通过调用组件调用运行信息中的输入数据源和输出数据源;基于定义信息中的代码,以及调用的输入数据源和输出数据源运行算法。
先通过算法逻辑框架预先设置的调用组件调用运行信息中的输入数据源和输出数据源对应的数据库,并且基于算法工程师上传的算法代码和调用的数据库运行算法。因此,算法工程师只需要上传算法的定义信息和实例的运行信息,就可以完成算法的开发,无需学习数据库的调用方式,大大减少了算法工程师的开发难度,提高了算法的编写效率。
本发明实施例提供的上述方法,可以通过算法逻辑框架提供图形用户界面,算法工程师可以通过上述界面给算法声明需要的数据源。这样算法工程师不需要去研究不同的数据源如何获取数据,交给算法逻辑框架来处理。而算法逻辑框架内部是将各种数据源的调用封装成各个组件,组件的好处是可以替换和重复使用。算法工程师开发的时声明自己的需要的开发数据,而在业务使用的时声明实际的业务数据,数据源也可以使用不同种类。
并且,该方法中上述算法逻辑框架还可以提供算法和模型的管理、执行策略、上下线等功能。用户通过可视化界面调整运行策略,计算资源调度和存储资源由框架去自动分配。
实施例三:
对应于上述方法实施例,本发明实施例提供了一种算法的处理装置,应用于算法逻辑框架,算法逻辑框架封装有多个数据源的调用组件。参见图6所示的一种算法的处理装置的结构示意图,该算法的处理装置包括:
定义信息获取模块61,用于获取用户编写并输入的算法的定义信息;其中,定义信息包括算法的输入参数、输出参数、运行参数和代码;
运行信息获取模块62,用于获取用户编写并输入的算法的实例的运行信息;其中,运行信息包括实例的输入数据源、输出数据源和运行参数;
算法运行模块63,用于通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法。
本发明实施例还提供了一种算法的处理装置,算法工程师仅需要提供算法的定义信息和算法的实例的运行信息,算法逻辑框架可以通过调用组件调用运行信息对应的数据源,并基于定义信息和调用的数据源运行算法算法工程师无需提供调用数据源所需的算法,调用组件可以直接完成数据源的调用操作。因此,算法工程师无需处理算法包部署和数据接入的工作,可以提高算法编写的效率。
上述定义信息还包括算法的名称、描述和版本;输入参数和输出参数均包括属性名称、类型和说明;运行参数包括参数名称和类型。
上述代码包括算法的算法包或者存储地址。
上述输入数据源和输出数据源至少包括以下之一:关系型数据库、非关系型数据库、大数据存储库、消息中间件或自定义接口。
上述运行信息还包括实例名称和运行策略;运行策略包括:不自动执行、固定频率执行、通过表达式精确执行或调用触发。
上述算法运行模块,用于通过调用组件调用运行信息中的输入数据源和输出数据源;基于定义信息中的代码,以及调用的输入数据源和输出数据源运行算法。
参见图7所示的另一种算法的处理装置的结构示意图,该算法的处理装置还包括:算法和实例存储模块64,与运行信息获取模块62连接,算法和实例存储模块64用于存储算法的定义信息和算法的实例的运行信息。
如图7所示,该算法的处理装置还包括:算法查找模块65,与算法和实例存储模块64连接,算法查找模块65用于存响应查找指令,查找定义信息或运行信息;或者,响应修改指令,修改定义信息或运行信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的算法的处理装置的具体工作过程,可以参考前述的算法的处理方法的实施例中的对应过程,在此不再赘述。
实施例四:
本发明实施例还提供了一种电子设备,用于运行上述算法的处理方法;参见图8所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述算法的处理方法。
进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述算法的处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的算法的处理方法、装置、电子设备及存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种算法的处理方法,其特征在于,应用于算法逻辑框架,所述算法逻辑框架封装有多个数据源的调用组件;所述方法包括:
获取用户编写并输入的算法的定义信息;其中,所述定义信息包括所述算法的输入参数、输出参数、运行参数和代码;
获取用户编写并输入的所述算法的实例的运行信息;其中,所述运行信息包括所述实例的输入数据源、输出数据源和运行参数;
通过所述调用组件调用所述运行信息对应的数据源,并基于所述定义信息和调用的所述数据源运行所述算法。
2.根据权利要求1所述的方法,其特征在于,所述定义信息还包括所述算法的名称、描述和版本;所述输入参数和所述输出参数均包括属性名称、类型和说明;所述运行参数包括参数名称和类型。
3.根据权利要求1所述的方法,其特征在于,所述代码包括所述算法的算法包或者存储地址。
4.根据权利要求1所述的方法,其特征在于,所述输入数据源和输出数据源至少包括以下之一:关系型数据库、非关系型数据库、大数据存储库、消息中间件或自定义接口。
5.根据权利要求1所述的方法,其特征在于,所述运行信息还包括实例名称和运行策略;所述运行策略包括:不自动执行、固定频率执行、通过表达式精确执行或调用触发。
6.根据权利要求1所述的方法,其特征在于,通过所述调用组件调用所述运行信息对应的数据源,并基于所述定义信息和调用的所述数据源运行所述算法的步骤,包括:
通过所述调用组件调用所述运行信息中的输入数据源和输出数据源;
基于所述定义信息中的代码,以及调用的所述输入数据源和所述输出数据源运行所述算法。
7.根据权利要求1所述的方法,其特征在于,获取所述算法的实例的运行信息的步骤之后,所述方法还包括:
存储所述算法的定义信息和所述算法的实例的运行信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应查找指令,查找所述定义信息或所述运行信息;
或者,响应修改指令,修改所述定义信息或所述运行信息。
9.一种算法的处理装置,其特征在于,应用于算法逻辑框架,所述算法逻辑框架封装有多个数据源的调用组件;所述装置包括:
定义信息获取模块,用于获取用户编写并输入的算法的定义信息;其中,所述定义信息包括所述算法的输入参数、输出参数、运行参数和代码;
运行信息获取模块,用于获取用户编写并输入的所述算法的实例的运行信息;其中,所述运行信息包括所述实例的输入数据源、输出数据源和运行参数;
算法运行模块,用于通过所述调用组件调用所述运行信息对应的数据源,并基于所述定义信息和调用的所述数据源运行所述算法。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至8任一项所述的算法的处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至8任一项所述的算法的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297882.7A CN114385388B (zh) | 2022-03-25 | 2022-03-25 | 算法的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297882.7A CN114385388B (zh) | 2022-03-25 | 2022-03-25 | 算法的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385388A true CN114385388A (zh) | 2022-04-22 |
CN114385388B CN114385388B (zh) | 2022-09-13 |
Family
ID=81205607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210297882.7A Active CN114385388B (zh) | 2022-03-25 | 2022-03-25 | 算法的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385388B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120191690A1 (en) * | 2011-01-25 | 2012-07-26 | Muthian George | Parameter expressions for modeling user defined function execution in analytical data processing systems |
WO2015148423A1 (en) * | 2014-03-27 | 2015-10-01 | Microsoft Technology Licensing, Llc | Hierarchical directives-based management of runtime behaviors |
US20170161266A1 (en) * | 2014-05-22 | 2017-06-08 | Hewlett Packard Enterprise Development Lp | User defined function, class creation for external data source access |
CN110221829A (zh) * | 2019-05-10 | 2019-09-10 | 杭州米雅信息科技有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN110659028A (zh) * | 2019-09-30 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 数据处理系统、方法、装置、电子设备及存储介质 |
CN111124385A (zh) * | 2019-12-02 | 2020-05-08 | 深圳航天科技创新研究院 | 一种基于数据库的电源设计软件的自动生成方法及系统 |
-
2022
- 2022-03-25 CN CN202210297882.7A patent/CN114385388B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120191690A1 (en) * | 2011-01-25 | 2012-07-26 | Muthian George | Parameter expressions for modeling user defined function execution in analytical data processing systems |
WO2015148423A1 (en) * | 2014-03-27 | 2015-10-01 | Microsoft Technology Licensing, Llc | Hierarchical directives-based management of runtime behaviors |
US20170161266A1 (en) * | 2014-05-22 | 2017-06-08 | Hewlett Packard Enterprise Development Lp | User defined function, class creation for external data source access |
CN110221829A (zh) * | 2019-05-10 | 2019-09-10 | 杭州米雅信息科技有限公司 | 信息处理方法及其系统、计算机系统及计算机可读介质 |
CN110659028A (zh) * | 2019-09-30 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 数据处理系统、方法、装置、电子设备及存储介质 |
CN111124385A (zh) * | 2019-12-02 | 2020-05-08 | 深圳航天科技创新研究院 | 一种基于数据库的电源设计软件的自动生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114385388B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797298B2 (en) | Automating identification of code snippets for library suggestion models | |
US11494181B2 (en) | Automating generation of library suggestion engine models | |
US11875148B2 (en) | Library model addition | |
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN106874019A (zh) | 一种骨架代码的生成方法和骨架代码生成器 | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN112835924A (zh) | 实时计算任务处理方法、装置、设备及存储介质 | |
CN113986241B (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
US20210405980A1 (en) | Long method autofix engine | |
CN115357898B (zh) | 一种java组件的依赖分析方法、装置及介质 | |
CN110347588B (zh) | 软件验证方法、装置、计算机设备和存储介质 | |
CN106681781B (zh) | 实时计算业务的实现方法和系统 | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
CN110019207B (zh) | 数据处理方法和装置以及脚本显示方法和装置 | |
CN114385388B (zh) | 算法的处理方法、装置、电子设备及存储介质 | |
Lu et al. | Zen-CC: An automated and incremental conformance checking solution to support interactive product configuration | |
Mane et al. | A Domain Specific Language to Provide Middleware for Interoperability among SaaS and DaaS/DBaaS through a Metamodel Approach. | |
CN110704742A (zh) | 一种特征提取方法及装置 | |
CN114237615A (zh) | 一种基于决策树模型的打包方法及相关设备 | |
CN115268923A (zh) | 代码检查方法、装置和电子设备 | |
Franchini | Verification and synthesis of Infrastructure-as-Code through satisfiability modulo theories | |
CN117950635A (zh) | 平台的应用开发方法、装置、电子设备及存储介质 | |
CN117312713A (zh) | 一种信创环境基于浏览器自动化流程处理的方法和系统 | |
CN118585451A (zh) | 一种基于GitLab的代码审核方法、系统、设备及介质 | |
CN118260341A (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 |