一种基于python的实时配置及动态运算系统技术方案

技术编号:33734490 阅读:9 留言:0更新日期:2022-06-08 21:30
本发明专利技术公开了一种基于python的实时配置及动态运算系统,实时配置包括:(1)分析业务需求,并结合用户数据和已有的其它系统,提取可配置内容;(2)在本系统管理后台开始配置,数据源、计算任务、计算项配置项分别对应不同的配置表,通过可视化的管理后台可以比较方便的进行配置;(3)配置数据源;(4)配置计算任务;(5)配置计算项;(6)配置计算任务的返回结果;(7)保存完成配置,并设置为生效,动态运算系统包括:(1)第三方调用本系统接口;(2)本系统根据参数找到计算任务;(3)创建计算任务执行器等。该基于python的实时配置及动态运算系统提供了一种新业务实现方式,通过配置即可实现业务逻辑,非常灵活。非常灵活。非常灵活。

【技术实现步骤摘要】
一种基于python的实时配置及动态运算系统


[0001]本专利技术涉及互联网软件开发
,具体为一种基于python的实时配置及动态运算系统。

技术介绍

[0002]Python目前支持对字符串表达式进行运算,可按照需求传入不同的参数和值,最终返回表达式的值。该功能提供了自定义输入表达式和数据源,不用修改代码即可获得结果的可行性。
[0003]另一方面,产品的需求迭代迅速,经常会有参数、结果的变动,或者上线很短时间用于观察效果的需求,那么此时就需要快速修改代码并上线,但传统的开发上线流程很难达到分钟内修改完成。
[0004]最后一方面,服务器成本、研发人力都是有限的,我们希望有一种更敏捷的开发手段,资源更节省的方法,有一个可以对非研发人员进行一定培训后也能将需求转为配置的系统。
[0005]现存的系统配置或配置中心等,其配置数据都是静态配置,是不存在代码逻辑的,要使用这些配置,需要由研发人员书写代码并编译代码上线后才能读取配置、使用代码,对于紧急需求来说,耗时太长,且功能的开发上线需要在特定外界环境才能进行,有一定的外界环境和人员限制,所以我们提出了一种基于python的实时配置及动态运算系统,以便于解决上述中提出的问题。

技术实现思路

[0006]本专利技术的目的在于提供一种基于python的实时配置及动态运算系统,以解决上述
技术介绍
提出的目前市场上现存的系统配置或配置中心等,其配置数据都是静态配置,是不存在代码逻辑的,要使用这些配置,需要由研发人员书写代码并编译代码上线后才能读取配置、使用代码,对于紧急需求来说,耗时太长,且功能的开发上线需要在特定外界环境才能进行,有一定的外界环境和人员限制的问题。
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于python的实时配置及动态运算系统,实时配置包括:
[0008](1)分析业务需求,并结合用户数据和已有的其它系统,提取可配置内容;
[0009](2)在本系统管理后台开始配置,数据源、计算任务、计算项配置项分别对应不同的配置表,通过可视化的管理后台可以比较方便的进行配置;
[0010](3)配置数据源;
[0011](4)配置计算任务;
[0012](5)配置计算项;
[0013](6)配置计算任务的返回结果;
[0014](7)保存完成配置,并设置为生效。
[0015]优选的,所述一种基于python的实时配置及动态运算系统,动态运算系统包括:
[0016](1)第三方调用本系统接口;
[0017](2)本系统根据参数找到计算任务;
[0018](3)创建计算任务执行器;
[0019](4)执行器加载计算任务相关联配置并初始化变量;
[0020](5)执行器解析配置并执行计算;
[0021](6)计算结果处理可根据配置持久化保存到数据库;
[0022](7)返回结果给第三方。
[0023]优选的,所述数据源可以看作程序开发中的加载数据,数据来源包括但不限于数据库、其它微服务接口、静态配置数据等,通过配置表达式调用内置方法实现动态加载数据。数据源分为全局数据源和用户数据源,全局数据源等于全局共用的静态配置,用户数据源即用户相关数据。
[0024]优选的,所述计算项可以看作程序开发中的一行代码,计算项可使用数据源做为变量,通过配置表达式结合变量实现一次实时计算。
[0025]优选的,所述计算任务可以看作程序开发中的一个可执行程序或方法,计算任务包含多个计算项,计算项产生的结果可做为变量被后续计算项使用。合理编排计算项的计算逻辑,然后实现一个执行器并通过控制计算项的执行顺序,理论上可以实现任何业务逻辑。
[0026]与现有技术相比,本专利技术的有益效果是:该基于python的实时配置及动态运算系统提供了一种新业务实现方式,通过配置即可实现业务逻辑,非常灵活。
附图说明
[0027]图1为本专利技术一种基于python的实时配置及动态运算系统配置流程示意图;
[0028]图2为本专利技术一种基于python的实时配置及动态运算系统调用流程示意图;
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]实施例一
[0031]一种基于python的实时配置及动态运算系统,以一门课程考试包括笔试分和面试分各50分,考试通过需总分大于60,判断一个学生是否考试通过为例,具体步骤如下:
[0032]1.为方便配置表达式,以及方便计算项对数据的使用,本系统对变量做了一些约定,并内置了三个对象。
[0033]变量及约定:
[0034]1)t_xx:临时变量
[0035]2)d_xx:数据源加载的数据
[0036]内置对象:
[0037]1)t:提供常用的内置方法,比如t.load_data_from_mysql()用来从mysql加载数据,t.load_data_from_service()用来从其它微服务加载数据,等等;
[0038]2)v:可操作以上三种变量,比如v.t_score=1;
[0039]3)r:可操作输出结果,比如r.t_result=1。
[0040]2.分析业务需求,并结合用户数据和已有的其它系统,提取可配置内容;
[0041]3.在本系统管理后台开始配置,数据源、计算任务、计算项配置项分别对应不同的配置表,通过可视化的管理后台可以比较方便的进行配置;
[0042]4.配置数据源,本例较简单只需配置一个数据源,创建名为d_user_score的数据源,通过学号(user_no)获取用户分数,表达式:t.load_data(user_no,其它参数...);
[0043]5.配置计算任务,创建任务名为exam_result的计算任务,接收参数学号(user_no);
[0044]6.配置计算项:
[0045]计算项1:调用数据源,数据源加载后可通过v.d_user_score访问;
[0046]计算项2:笔试分和面试分相加(表达式:v.d_user_score.x+v.d_user_score.y)并赋值给临时变量t_total_score;
[0047]计算项3:总分是否大于60(表达式:v.t_total_score>60)并赋值给临时变量t_result;
[0048]7.配置计算任务的返回结果,t_result已为想要结果,可直接返回(表达式:r.t_result);
[0049]8.配置完成,配置内容持久化保存到数据库中,并设置为生效。...

【技术保护点】

【技术特征摘要】
1.一种基于python的实时配置及动态运算系统,其特征在于,实时配置包括:(1)分析业务需求,并结合用户数据和已有的其它系统,提取可配置内容;(2)在本系统管理后台开始配置,数据源、计算任务、计算项配置项分别对应不同的配置表,通过可视化的管理后台可以比较方便的进行配置;(3)配置数据源;(4)配置计算任务;(5)配置计算项;(6)配置计算任务的返回结果;(7)保存完成配置,并设置为生效。2.根据权利要求1所述的一种基于python的实时配置及动态运算系统,其特征在于,动态运算系统包括:(1)第三方调用本系统接口;(2)本系统根据参数找到计算任务;(3)创建计算任务执行器;(4)执行器加载计算任务相关联配置并初始化变量;(5)执行器解析配置并执行计算;(6)计算结果处理可根据配置持久化保存到数据库;(7)返回结果给第三方。3.根据权利要求1所述的一种基于python的实...

【专利技术属性】
技术研发人员:王黎明王强
申请(专利权)人:上海旭荣网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1