CN110941791A - 一种可配置式算法实现方法及装置 - Google Patents
一种可配置式算法实现方法及装置 Download PDFInfo
- Publication number
- CN110941791A CN110941791A CN201911133010.1A CN201911133010A CN110941791A CN 110941791 A CN110941791 A CN 110941791A CN 201911133010 A CN201911133010 A CN 201911133010A CN 110941791 A CN110941791 A CN 110941791A
- Authority
- CN
- China
- Prior art keywords
- execution
- algorithm
- execution unit
- request information
- acquiring
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Accounting & Taxation (AREA)
- Mathematical Optimization (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种可配置式算法实现方法及装置,包括:定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息;从预存的执行单元库中获取算法执行请求信息中涉及的执行单元;根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。本申请以执行单元为基础组装成算法模型,能够有效的实现不同算法间功能的共享,能够有效的利用现有的执行单元组装新的算法模型,大量的减少了算法实现及维护工作量及工作难度。
Description
技术领域
本申请属于金融算法领域,具体地讲,涉及一种可配置式算法实现方法。
背景技术
随着金融行业快速发展的同时,大量的问题与难点也随之出现,特别是在风险、安全以及投资研究等几个方面。针对这几个方面的问题,在金融领域也应运而生了大量的复杂的金融算法,金融算法涉及复杂的科学计算并且需要种类繁多的数据,例如交易数据、资讯数据以及社会舆情等等。另外,大部分算法是以历史数据为基础来推演后续发展,涉及的时间跨度大,因此,目前金融算法领域内面临一个问题,即如何快速地在系统中实现这些算法,并有效提高算法的搭建及运行效率。
发明内容
本申请提供了一种可配置式算法实现方法及装置,以解决现有的金融算法开发期间算法各部分功能无法得到很好的复用,新算法模型的开发速度慢可变更维护性差以及在算法模型运行时无法实现执行单元在不同算法请求中共享而导致性能消耗较高的问题。
根据本申请的一个方面,提供了一种可配置式算法实现方法,包括:定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息;
从预存的执行单元库中获取算法执行请求信息中涉及的执行单元;
根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
在一实施例中,根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果,包括:
检验缓存中是否存在当前执行单元的执行结果数据;
如果是,获取执行结果数据并继续运行下一个执行单元;
如果否,运行当前执行单元。
在一实施例中,本方法还包括:
通过消息服务器发布算法执行请求信息;
通过调度服务器从消息服务器中获取算法执行请求信息;
检验执行单元请求队列中是否存在与算法执行请求信息相同的请求,如果不存在,则将算法执行请求信息添加至算法请求队列中。
在一实施例中,运行当前执行单元包括:
判断当前执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取计算执行结果;
如果不是,将当前执行单元执行生成的执行结果数据存入缓存。
在一实施例中,本算法实现方法还包括:
判断算法执行请求信息中涉及的执行单元是否均执行完毕,如果是,则当前执行单元执行生成的执行结果数据即为算法执行结果。
根据本申请的另一个方面,还提供了一种可配置式算法实现装置,包括:
获取信息模块,用于定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息;
获取执行单元模块,用于从预存的执行单元库中获取算法执行请求信息中涉及的执行单元;
调用模块,用于根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
在一实施例中,调用模块包括:
检验模块,用于检验缓存中是否存在当前执行单元的执行结果数据;
获取结果数据模块,用于如果缓存中存在,获取执行结果数据并继续运行下一个执行单元;
运行模块,用于如果缓存中不存在,运行当前执行单元。
在一实施例中,本装置还包括:
消息发布模块,用于通过消息服务器发布算法执行请求信息;
调度请求模块,用于通过调度服务器从消息服务器中获取算法执行请求信息;
消息检验添加模块,用于检验执行单元请求队列中是否存在与算法执行请求信息相同的请求,如果不存在,则将算法执行请求信息添加至算法请求队列中。
在一实施例中,运行模块包括:
判断及调用模块,用于判断当前执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取计算执行结果;
如果不是,将当前执行单元执行生成的执行结果数据存入缓存。
在一实施例中,本装置还包括:
执行判断模块,用于判断算法执行请求信息中涉及的执行单元是否均执行完毕,如果是,则当前执行单元执行生成的执行结果数据即为算法执行结果。
本申请提供了一种可配置式算法实现方法及装置,首先,技术人员分析所有算法模型涉及的内外部数据及计算处理逻辑,然后将算法模型的功能抽取为一个个执行单元,每个执行单元需要设置对应的输入参数及产出结果数据。通过执行单元可配置式这样的方式保证算法(模型)间功能能够更好地得到复用,有利于加快新算法模型的开发及变更维护,并且,在算法运行时能够实现以执行单元为基础进行算法内部层面的功能并发、相同执行单元的执行结果在不同算法请求中共享从而提升算法的执行效率、减少性能消耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一种可配置式算法实现方法的流程图。
图2为本申请实施例中根据配置信息中各执行单元的先后关系调用执行单元的方法流程图。
图3为本申请实施例中一种可配置式算法实现方法的流程图。
图4为本申请实施例中运行当前执行单元的方法流程图。
图5为本申请实施例中三类执行单元通过协作来实现一个算法的示意图。
图6为本申请实施例中算法模型依赖关系示意图。
图7为本申请实施例中算法模型配置方式示意图。
图8为本申请实施例中一种可配置式算法实现方法运行时的处理流程图。
图9为本申请的一种可配置式算法实现装置结构框图。
图10为本申请实施例中调用模块的结构框图。
图11为本申请实施例中一种可配置式算法实现装置结构框图。
图12为本申请中可配置式算法实现方法的一种电子设备的具体实施方式。
图13为本申请提供的一种可配置执行单元的算法实现模型运行平台示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有的金融算法开发期间,算法各部分功能无法得到很好的复用,新算法模型的开发速度慢可变更维护性差以及在算法模型运行时无法实现执行单元在不同算法请求中共享而导致性能消耗较高的问题。
基于上述问题,本申请提供了一种可配置执行单元的算法实现模型运行平台,该平台接收由终端发送来的信息及数据,如图13所示,该平台具有一个配置服务器用于提供配置功能,既将若干个执行单元组合成算法实现模型;该平台还具有一个执行服务器用于提供执行服务,执行服务器中包括算法主控服务器、调度服务器、消息服务器以及科学计算服务器,算法主控服务器包括执行请求管理功能和缓存,其中的执行请求管理功能负责从算法请求队列中获取算法执行请求信息,调度服务器负责从执行单元请求队列中获取请求。
本申请基于上述平台提供了一种可配置式算法实现方法如图1所示,包括以下步骤:
S101:定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息。
算法实现模型是一个重要的核心概念,在本申请中一个算法实现模型对应着一个金融算法。所谓金融算法是指运用数学模型和计算机的数据组织、数据分析工具来解决金融领域的各类复杂问题的计算机方法,算法实现模型通过XML方式来配置算法实现过程中涉及到的算法参数、执行单元序列、计算结果产出物等重要元素,在算法实现模型执行过程中,算法执行引擎先通过读取算法实现模型来获取参数并按序调用执行单元,最后返回计算结果数据。
上述的参数实际为算法参数,指在算法实现模型执行过程中需要调用者来提供的算法计算对象、计算时间区间、频率以及内部控制选项等相关数据。
而上文中提及的执行单元为算法实现模型的核心组成部分,在一个算法执行过程中,通常会划分为三个处理步骤,首先获取算法所需要的数据,然后对获取的数据加工处理,最后执行计算得到结果。在不同的算法中存在着大量相同的逻辑处理,为了达到逻辑处理在不同算法间的共用,本申请将算法拆解为一个个执行单元,多个执行单元通过配置组装得到新的算法实现模型,在算法实现模型中需要配置算法实现模型的配置信息,配置信息中有执行单元间的相互依赖关系、执行先后顺序以及执行单元之间的数据传递关系等等。
在一具体实施例中,如图8所示,一个主控服务器按一定时间间隔定时从算法请求队列中获取算法执行请求信息(比如,时间间隔可以为5秒一次),并在根据请求信息获取到所需的执行单元后,再获取与该请求信息对应的算法实现模型配置信息。值得注意的是,算法实现模型配置信息为文件格式,预存在执行单元中的。
S102:从预存的执行单元库中获取算法执行请求信息中涉及的执行单元。
在一具体实施例中,技术人员首先分析所有算法模型涉及的内外部数据及计算处理逻辑,然后通过本申请提供的平台按照独立复用原则将算法模型拆解为一个个执行单元,每个执行单元需要设置对应的输入参数及产出结果数据。将拆解后得到的执行单元按照类别存入执行单元库中,执行单元的类别通常划分为DataProvider、DataMapper及Calculator三大类,这三类执行单元通过协作来实现一个算法,具体实现方式如图5所示。在获取到算法执行请求信息中涉及的执行单元之后按照执行的先后关系去执行单元库中轮询调用执行单元。
S103:根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
在一具体实施例中,组成算法实现模型的执行单元存在先后关系,既需要先运行某一执行单元得到结果后才能继续运行下一个执行单元,如图6和图7所示,为一个算法实现模型中执行单元存在的先后关系,首先运行执行单元1后才能够继续运行执行单元21和执行单元2N,而执行单元31和32依赖于执行单元21的运行结果,执行单元3N又依赖于执行单元2N的运行结果。
图1所示的流程的执行主体可以为服务器、PC、移动终端,该方法实现了算法实现模型的可配置化,提升了算法实现效率。
在一实施例中,如图2所示,根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果,包括:
S201:检验缓存中是否存在当前执行单元的执行结果数据。
在一具体实施例中,由于在某一算法实现模型A调用执行单元C之前,可能另一算法实现模型B曾调用过执行单元C,此时,执行单元C之前运行时得到的执行结果数据存放在缓存中,为了实现在不同算法实现模型执行时相同的执行单元的执行结果数据能够实现共享,那么在该算法实现模型A调用该执行单元C之前,需要先检验缓存中是否已经存在当前执行单元C运行过后得到的执行结果数据,以便于达到执行单元的执行结果数据共享的目的,这样能够大幅提高运行效率,不必重复运行执行单元。
S202:如果是,获取执行结果数据并继续运行下一个执行单元。
如果缓存中存在当前执行单元的执行结果数据,那么则不必再运行当前执行单元,直接利用该数据然后继续运行下一个执行单元。
S203:如果否,运行当前执行单元。
如果缓存中不存在当前执行单元的执行结果数据,那么需要运行当前的执行单元,然后得到执行结果数据后才能继续调用下一个执行单元来实现本算法实现模型的运算。
在一实施例中,如图3所示,本申请提供的方法还包括:执行主体
S301:通过消息服务器发布算法执行请求信息。
通过消息服务器发布算法执行请求信息,发布后,该请求信息就存在与消息服务器中。
S302:通过调度服务器从消息服务器中获取算法执行请求信息。
调度服务器从消息服务器中获取该算法执行请求信息并根据该请求信息进行下一步的操作。
S303:检验执行单元请求队列中是否存在与算法执行请求信息相同的请求,如果不存在,则将算法执行请求信息添加至算法请求队列中。
调度服务器检验在执行单元请求队列中是否存在与该算法执行请求信息相同或者相近似的请求,如果存在,那就不需要添加该请求信息,如果不存在,就将该请求信息添加至执行单元请求队列中。
在一实施例中,如图4所示,运行当前执行单元包括:
S401:判断当前执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取计算执行结果。
当应用的场景需要进行科学计算的时候,由于科学计算相对复杂,则需要调用专业的科学计算服务器进行处理,此时通过判断当前执行单元是否涉及科学计算来决定是否该调用科学计算服务。
S402:如果不是,将当前执行单元执行生成的执行结果数据存入缓存。
将执行单元运行完得到的执行结果数据放入缓存中,再通过消息服务器出发执行单元运行完毕的消息。
在一实施例中,本算法实现方法还包括:
判断算法执行请求信息中涉及的执行单元是否均执行完毕,如果是,则当前执行单元执行生成的执行结果数据即为算法执行结果。
如果算法实现模型中所有的执行单元均已执行完毕,那么当前这个执行单元(最后一个执行单元)的执行结果数据就是本算法实现模型的算法执行结果。
为了更好地帮助理解本发明,在后续的部分里面以流动性风险管理算法中两个简单基础相似的算法L1,L2的实现进行配套说明,其中L1、L2算法简单解说一下:
对样本期间内的日L1求平均即得到流动性风险指标L1,而样本期限的长度作为参数由用户自行设定。
对于算法L1,L2来说需要获取组合样本期间持仓信息及其证券基础信息与行情信息,其对应的DataProvider大致如下:
获取风险绩效对象持仓数据、开始日期、结束日期、资产组合编号列表;
获取证券基础信息、证券代码信息;
获取证券行情数据、开始日期、结束日期以及证券代码列表。
对于L1,L2最终计算来说需要样本期间每天的持有股票的最大成交价格、最低成交价格、成交量、流通量,为了后续的计算步骤能够得到公用,需要提供两个mapper来屏蔽投资组合与基准间的数据来源差异,转换成计算所需的公共参数,其配置大致如下:
采用中间算法L1L2数据转换类;
输入持仓汇总数据,计算权重时作分母用;输入持仓数据、持仓相关证券基础数据、证券行情数据、精度以及舍入模式;
采用中间算法基准L1L2数据转换类;
输入指数成分数据、证券信息、证券行情数据、精度以及舍入模式;
采用换手率计算、平均换手率计算、L1计算、L2计算。
对于L1、L2来说,在获取到Mapper转换后的公告数据后,需要计算换手率,平均换手率,计算L1,L2的最终结果值,其涉及的配置大致如下:
采用每日L1计算;
获取组合持仓汇总数据、组合持仓数据、算法L1输入参数、L1计算输入参数,根据组合持仓获取对应的证券代码;根据证券代码获取证券基础信息;根据组合持仓证券获取对应的证券行情信息来计算换手率及L1。
对于L1来说需要配置两个算法,一个是针对投资组合L1计算,一个是针对基准L1计算,其对应的算法模型配置文件大致如下:
调用基准L1算法,求平均;
获取指数成分数据并据此获取对应的证券信息;
根据证券代码获取证券基础信息并根据指数成分获取对应的证券行情信息;
获取基准L1输入参数;
计算换手率及L1。
对于算法L2来说,同理需要配置两个算法分别针对投资组合与基准,其实现过程大致如下:
获取组合持仓数据并据此获得对应的证券代码;根据证券代码获取证券基础信息;根据组合持仓证券获取对应的证券行情信息;
获取L2输入参数;
根据上述信息计算换手率以及平均换手率并计算L2。
通过L1,L2算法的配置实现可以看出因为执行单元的提出及公用,会大量的减少算法实现开发的任务量及复杂度。
基于同一发明构思,本申请实施例还提供了一种可配置式算法实现的装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该可配置式算法实现的装置解决问题的原理与可配置式算法实现的方法相似,因此可配置式算法实现的装置的实施可以参见可配置式算法实现的方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9为本申请实施例中的一种可配置式算法实现的装置的结构框图,如图9所示,该装置包括:
获取信息模块501,用于定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息。
获取执行单元模块502,用于从预存的执行单元库中获取算法执行请求信息中涉及的执行单元。
调用模块503,用于根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
在一实施例中,如图10所示,调用模块503包括:
检验模块901,用于检验缓存中是否存在当前执行单元的执行结果数据;
获取结果数据模块902,用于如果缓存中存在,获取执行结果数据并继续运行下一个执行单元;
运行模块903,用于如果缓存中不存在,运行当前执行单元。
在一实施例中,如图11所示,本装置还包括:
消息发布模块1001,用于通过消息服务器发布算法执行请求信息;
调度请求模块1002,用于通过调度服务器从消息服务器中获取算法执行请求信息;
消息检验添加模块1003,用于检验执行单元请求队列中是否存在与算法执行请求信息相同的请求,如果不存在,则将算法执行请求信息添加至算法请求队列中。
在一实施例中,运行模块903包括:
判断及调用模块,用于判断当前执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取计算执行结果;
如果不是,将当前执行单元执行生成的执行结果数据存入缓存。
在一实施例中,本装置还包括:
执行判断模块,用于判断算法执行请求信息中涉及的执行单元是否均执行完毕,如果是,则当前执行单元执行生成的执行结果数据即为算法执行结果。
在一具体实施例中,本发明所提供的方法基于JAVA+Python语言实现。
本申请以执行单元为基础组装成算法模型,能够有效地实现不同算法间功能的共享能够有效的利用现有的执行单元组装新的算法模型,大量的减少了算法实现及维护工作量及工作难度。
同时,本申请将复杂算法分解为一个个子的执行单元,在运行的时候有利于算法负载均衡,同时可以对相同的请求进行合并计算,减少重复的计算工作,大大提高算法执行效率以及执行并发度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图12,所述电子设备具体包括如下内容:
处理器(processor)1101、内存1102、通信接口(Communications Interface)1103、总线1104和非易失性存储器1105;
其中,所述处理器1101、内存1102、通信接口1103通过所述总线1104完成相互间的通信;
所述处理器1101用于调用所述内存1102和非易失性存储器1105中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息。
S102:从预存的执行单元库中获取算法执行请求信息中涉及的执行单元。
S103:根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:定时从算法请求队列中获取算法执行请求信息以及算法执行请求信息对应的算法实现模型的配置信息。
S102:从预存的执行单元库中获取算法执行请求信息中涉及的执行单元。
S103:根据配置信息中各执行单元的先后关系调用执行单元,获得算法执行结果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (12)
1.一种可配置式算法实现方法,其特征在于,包括:
定时从算法请求队列中获取算法执行请求信息以及所述算法执行请求信息对应的算法实现模型的配置信息;
从预存的执行单元库中获取所述算法执行请求信息中涉及的执行单元;
根据所述配置信息中各所述执行单元的先后关系调用所述执行单元,获得算法执行结果。
2.根据权利要求1所述的算法实现方法,其特征在于,所述根据所述配置信息中各所述执行单元的先后关系调用所述执行单元,获得算法执行结果,包括:
检验缓存中是否存在当前执行单元的执行结果数据;
如果是,获取所述执行结果数据并继续运行下一个执行单元;
如果否,运行当前所述执行单元。
3.根据权利要求2所述的算法实现方法,其特征在于,还包括:
通过消息服务器发布所述算法执行请求信息;
通过调度服务器从所述消息服务器中获取所述算法执行请求信息;
检验执行单元请求队列中是否存在与所述算法执行请求信息相同的请求,如果不存在,则将所述算法执行请求信息添加至算法请求队列中。
4.根据权利要求2或3所述的算法实现方法,其特征在于,所述运行当前所述执行单元,包括:
判断当前所述执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取所述计算执行结果;
如果不是,将当前所述执行单元执行生成的所述执行结果数据存入缓存。
5.根据权利要求4所述的算法实现方法,其特征在于,还包括:
判断所述算法执行请求信息中涉及的所述执行单元是否均执行完毕,如果是,则当前所述执行单元执行生成的所述执行结果数据即为所述算法执行结果。
6.一种可配置式算法实现装置,其特征在于,包括:
获取信息模块,用于定时从算法请求队列中获取算法执行请求信息以及所述算法执行请求信息对应的算法实现模型的配置信息;
获取执行单元模块,用于从预存的执行单元库中获取所述算法执行请求信息中涉及的执行单元;
调用模块,用于根据所述配置信息中各所述执行单元的先后关系调用所述执行单元,获得算法执行结果。
7.根据权利要求6所述的算法实现装置,其特征在于,所述调用模块包括:
检验模块,用于检验缓存中是否存在当前执行单元的执行结果数据;
获取结果数据模块,用于如果缓存中存在,获取所述执行结果数据并继续运行下一个执行单元;
运行模块,用于如果缓存中不存在,运行当前所述执行单元。
8.根据权利要求7所述的算法实现装置,其特征在于,还包括:
消息发布模块,用于通过消息服务器发布所述算法执行请求信息;
调度请求模块,用于通过调度服务器从所述消息服务器中获取所述算法执行请求信息;
消息检验添加模块,用于检验执行单元请求队列中是否存在与所述算法执行请求信息相同的请求,如果不存在,则将所述算法执行请求信息添加至算法请求队列中。
9.根据权利要求7或8所述的算法实现装置,其特征在于,所述运行模块包括:
判断及调用模块,用于判断当前所述执行单元是否涉及科学计算,如果是,则调用科学计算服务处理并获取所述计算执行结果;
如果不是,将当前所述执行单元执行生成的所述执行结果数据存入缓存。
10.根据权利要求9所述的算法实现装置,其特征在于,还包括:
执行判断模块,用于判断所述算法执行请求信息中涉及的所述执行单元是否均执行完毕,如果是,则当前所述执行单元执行生成的所述执行结果数据即为所述算法执行结果。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5中任一项所述可配置式算法实现方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述可配置式算法实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911133010.1A CN110941791A (zh) | 2019-11-19 | 2019-11-19 | 一种可配置式算法实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911133010.1A CN110941791A (zh) | 2019-11-19 | 2019-11-19 | 一种可配置式算法实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110941791A true CN110941791A (zh) | 2020-03-31 |
Family
ID=69906873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911133010.1A Pending CN110941791A (zh) | 2019-11-19 | 2019-11-19 | 一种可配置式算法实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941791A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020811A (zh) * | 2016-05-13 | 2016-10-12 | 乐视控股(北京)有限公司 | 算法模型的开发方法和装置 |
CN106502775A (zh) * | 2016-10-14 | 2017-03-15 | 福州瑞芯微电子股份有限公司 | 一种分时调度dsp算法的方法和系统 |
CN107451663A (zh) * | 2017-07-06 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 算法组件化、基于算法组件建模方法、装置以及电子设备 |
CN108701149A (zh) * | 2016-12-27 | 2018-10-23 | 华为技术有限公司 | 一种智能推荐方法和终端 |
CN108874541A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式运算方法、装置、计算机设备及存储介质 |
CN109324793A (zh) * | 2018-10-24 | 2019-02-12 | 北京奇虎科技有限公司 | 支持算法组件化的处理系统及方法 |
CN110162387A (zh) * | 2019-04-09 | 2019-08-23 | 口口相传(北京)网络技术有限公司 | 线程调度方法、装置、计算机设备及计算机可读存储介质 |
-
2019
- 2019-11-19 CN CN201911133010.1A patent/CN110941791A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020811A (zh) * | 2016-05-13 | 2016-10-12 | 乐视控股(北京)有限公司 | 算法模型的开发方法和装置 |
CN106502775A (zh) * | 2016-10-14 | 2017-03-15 | 福州瑞芯微电子股份有限公司 | 一种分时调度dsp算法的方法和系统 |
CN108701149A (zh) * | 2016-12-27 | 2018-10-23 | 华为技术有限公司 | 一种智能推荐方法和终端 |
CN107451663A (zh) * | 2017-07-06 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 算法组件化、基于算法组件建模方法、装置以及电子设备 |
CN108874541A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式运算方法、装置、计算机设备及存储介质 |
CN109324793A (zh) * | 2018-10-24 | 2019-02-12 | 北京奇虎科技有限公司 | 支持算法组件化的处理系统及方法 |
CN110162387A (zh) * | 2019-04-09 | 2019-08-23 | 口口相传(北京)网络技术有限公司 | 线程调度方法、装置、计算机设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Heinrich et al. | Integrating business process simulation and information system simulation for performance prediction | |
Van den Bossche et al. | Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds | |
US8504400B2 (en) | Dynamically optimized distributed cloud computing-based business process management (BPM) system | |
US10628766B2 (en) | Method and system for enabling dynamic capacity planning | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
Bae et al. | Planning of business process execution in Business Process Management environments | |
CN110781180B (zh) | 一种数据筛选方法和数据筛选装置 | |
CN103023980A (zh) | 一种云平台处理用户服务请求的方法和系统 | |
Türker et al. | An integrated approach for shift scheduling and rostering problems with break times for inbound call centers | |
CN114564294A (zh) | 智能服务编排方法、装置、计算机设备及存储介质 | |
CN109865292A (zh) | 一种基于游戏引擎的游戏资源构建方法和装置 | |
CN108282586B (zh) | 基于业务线的预测方法、装置、存储介质及终端 | |
CN116708451A (zh) | 一种边云协同调度方法及系统 | |
CN110941791A (zh) | 一种可配置式算法实现方法及装置 | |
CN114596009B (zh) | 智算中心的算力资源部署方法、装置、设备及存储介质 | |
CN107645411B (zh) | 一种基于线性规划的通道流量调拨方法及装置 | |
Chen et al. | A software product line process simulator | |
Wang et al. | A cost-effective service composition method for mass customized QoS requirements | |
CN113283517B (zh) | 一种家政服务匹配方法、系统和计算机设备 | |
CN113420419B (zh) | 一种微服务场景下的业务流程模型分析方法 | |
CN115034674A (zh) | 计费管理方法、系统和电子设备 | |
CN114723455A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN112508295A (zh) | 基于业务图谱和马尔可夫模型的来电业务预测方法及系统 | |
CN113065734A (zh) | 基于指标体系的决策树构建方法及系统、设备、存储介质 | |
CN109472530A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220920 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |