[发明专利]一种基于Python编程的自定义算法动态导入实现方法在审
申请号: | 201711345883.X | 申请日: | 2017-12-15 |
公开(公告)号: | CN107894890A | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 舒云;何涛 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 成都虹桥专利事务所(普通合伙)51124 | 代理人: | 吴中伟 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 python 编程 自定义 算法 动态 导入 实现 方法 | ||
技术领域
本发明涉及算法处理,具体涉及种基于Python编程的自定义算法动态导入实现方法。
背景技术
目前,随着公众市场的不断开拓,行业客户对项目需求趋向愈发个性化,在这一环境下,“定制”或者说“个性化”成为一个项目能否打动客户的关键。以往B/S系统架构中,web端多为提供固定的公用服务,难以满足客户的自定义需求。尤其是在数据分析这一领域,针对不同的数据,处理方式算法存在明显差异,客户需求的是能够自主定义算法的服务,而目前的云端系统不能满足客户的自定义算法处理数据的需求。
发明内容
本发明所要解决的技术问题是:针对传统技术中云端系统不能满足客户的自定义算法处理数据的需求的问题,提出一种基于Python编程的自定义算法动态导入实现方法,可供用户动态添加自定义算法。
本发明解决上述技术问题采用的技术方案是:
一种基于Python编程的自定义算法动态导入实现方法,包括以下步骤:
a.定义新的算法存储数据类型,将实际的算法程序内容改变为算法路径;
b.公开算法文件输入输出要求,将算法程序视为黑盒,系统仅提供输入,接收输出;
c.开放Django文件传输接口用于接收用户自定义的算法文件并存储;
d.记录算法存储路径到存储数据类型中;
e.在需要调用算法时,动态导入算法程序,将数据输入算法进行处理,输出处理结果。
作为进一步优化,步骤c中,在开放Django文件传输接口后,由后台管理员通过Django框架的xadmin管理平台进行算法文件上传并存储。
作为进一步优化,步骤b中,将算法程序视为黑盒,系统仅关注算法的输入与输出,算法内部实现由用户自主定义。
作为进一步优化,所述算法文件为Python编码文件。
本发明的有益效果是:通过对算法存储类型的重新定义,将实际的算法程序内容改变为算法路径,算法内容由用户自定义,并利用Python动态导入特性以及Django文件传输系统对用户上传的算法文件进行存储和记录存储路径,系统通过调用算法完成数据处理;
通过本发明可以为系统用户(特别是对数据处理算法有特别需求的系统用户)提供了在不修改已运行系统代码前提下动态的更新自定义算法的需求。
具体实施方式
针对传统技术中云端系统不能满足客户的自定义算法处理数据的需求的问题,本发明旨在提出一种基于Python编程的自定义算法动态导入实现方法,可供用户动态添加自定义算法。
本发明的自定义算法导入功能的实现包括以下几个部分:
1、算法数据类型定义:算法不再写死在程序中,而是新设计一种数据类型存储算法;
2、算法结构定义:保证不同的算法具有相同的输入与输出,以便系统调用;
3、算法动态调用:针对新的数据结构的普适性算法调用流程;
4、文件传输与存储:利用Django框架的文件传输相关功能实现。
在具体实现上,本发明包括:首先,定义新的算法存储数据类型,由实际的算法程序内容改变为算法路径。公开算法文件输入输出要求,将算法程序视为黑盒,系统仅提供输入,接收输出。开放Django文件传输接口用于接收用户自定义算法文件并存储,记录路径到存储数据类型中。在需要调用算法时,动态导入算法程序,将数据输入算法进行处理,输出处理结果。
其中,算法数据类型定义如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711345883.X/2.html,转载请声明来源钻瓜专利网。