System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种算法开发方法、装置、系统及存储介质。
技术介绍
1、在计算机科学领域、软件工程领域和算法设计领域中,软件系统的开发通常涉及到应用层和算法层的耦合,其中,应用层负责与用户交互,接收用户输入,并根据用户需求调用相应的算法层进行计算和处理,算法层则负责具体的算法实现,提供计算和处理功能,由于应用层和算法层的高度耦合,使得在对算法层的修改或新增都可能要求对应用层进行相应的调整和重新开发。
2、现有的处理方式是采用算法人员编写算法后对接软件人员,并通过文档或者配置文件告知软件人员算法名和算法参数,软件人员通过将算法添加进算法列表算法参数类型和需求添加ui进入软件。
3、在上述处理过程中,算法人员与软件人员的成本较大,且在协作时,可能会遇到数据一致性、参数格式的不匹配和版本控制的冲突等问题,从而会导致接口调用错误,从而延误开发进程,导致开发成本较大。
技术实现思路
1、本申请提供了一种算法开发方法、装置、系统及存储介质,能够有效降低软件的应用层和算法层的耦合度,使得当算法层的修改或新增时,无需再对应用层进行相应的调整和重新开发,不会对开发进程造成影响,且可而减少软件的开发和维护成本。
2、本申请第一方面提供了一种算法开发方法,所述方法包括:
3、定义算法接口特性参数;
4、根据所述算法接口特性参数定义输入参数和输出参数的参数说明;
5、根据所述算法接口特性参数和所述参数说明编译算法,并将所述
6、构建模板选择器;
7、在软件运行时,通过反射机制扫描并调用所述动态链接库的待选算法,并通过所述模板选择器根据所述待选算法的输入参数的数据类型自动匹配用户界面模板,所述待选算法为符合所述算法接口特性参数的算法;
8、根据用户操作信息从所述待选算法中确定目标算法后,调出所述目标算法的目标用户界面模板;
9、将用户输入的参数值输入所述目标用户界面模板,并将输出结果通过所述目标用户界面模板进行展示。
10、可选的,根据所述算法接口特性参数定义输入参数和输出参数的参数说明,包括:
11、获取所述算法接口特性参数中的算法名称和算法类型;
12、根据所述算法名称和所述算法类型定义输入参数和输出参数的参数说明,所述参数说明包括数据类型、参数分类和参数名,所述数据类型需要参数,初始化数据和参数状态。
13、可选的,通过所述模板选择器根据所述待选算法的输入参数的数据类型自动匹配用户界面模板,包括:
14、当输入参数的数据类型为bool时,则通过所述模板选择器根据数据类型bool自动匹配checkbox模板;
15、当输入参数的数据类型为int时,则通过所述模板选择器根据数据类型int自动匹配textbox模板;
16、当输入参数的数据类型为keyvalue数组时,则通过所述模板选择器根据数据类型keyvalue数组自动匹配combobox下拉选模板。
17、可选的,通过反射机制扫描并调用所述动态链接库的待选算法,包括:
18、通过反射机制扫描所述动态链接库中的算法;
19、判断所述动态链接库中的算法是否使用所述算法接口特性参数;
20、若是,则调用所述动态链接库的待选算法,所述待选算法为符合所述算法接口特性参数的算法。
21、可选的,将用户输入的参数值输入所述目标用户界面模板,并将输出结果通过所述目标用户界面模板进行展示,包括:
22、获取用户输入的参数值;
23、判断所述用户输入的参数值的数值类型是否符合所述目标算法输入参数的参数说明;
24、若是,则将所述用户输入的参数值输入所述目标用户界面模板,以获取输出结果;
25、将所述输出结果通过目标用户界面模板进行展示。
26、可选的,根据用户操作信息从所述待选算法中确定目标算法后,调出所述目标算法的目标用户界面模板,包括:
27、获取用户操作信息;
28、根据所述用户操作信息识别操作指令;
29、通过所述操作指令从所述待选算法中确定目标算法,并调出所述目标算法的目标用户界面模板。
30、可选的,在软件运行时,通过反射机制扫描并调用所述动态链接库的待选算法之前,所述方法还包括:
31、将所述动态连接库储存至所述软件的软件目录中。
32、本申请第二方面提供了一种算法开发系统,所述系统包括:
33、第一定义单元,用于定义算法接口特性参数;
34、第二定义单元,用于根据所述算法接口特性参数定义输入参数和输出参数的参数说明;
35、编译单元,用于根据所述算法接口特性参数和所述参数说明编译算法,并将所述算法和所述算法信息整理形成动态链接库;
36、构建单元,用于构建模板选择器;
37、调用单元,用于在软件运行时,通过反射机制扫描并调用所述动态链接库的待选算法,并通过所述模板选择器根据所述待选算法的输入参数的数据类型自动匹配用户界面模板,所述待选算法为符合所述算法接口特性参数的算法;
38、调出单元,用于根据用户操作信息从所述待选算法中确定目标算法后,调出所述目标算法的目标用户界面模板;
39、展示单元,用于将用户输入的参数值输入所述目标用户界面模板,并将输出结果通过所述目标用户界面模板进行展示。
40、本申请第三方面提供了一种算法开发装置,所述装置包括:
41、处理器、储存器、输入输出单元以及总线;
42、所述处理器与所述储存器、所述输入输出单元以及所述总线相连;
43、所述储存器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的方法。
44、本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的方法。
45、从以上技术方案可以看出,本申请具有以下优点:
46、1、可有效地降低软件的应用层和算法层的耦合度,从而使得在算法层的修改或新增时,不再需要对应用层进行相应的调整和重新开发,从而减少了软件系统的开发和维护成本。
47、2、通过引入模板选择器来选择不同的算法用户界面模板,从而可实现无论算法如何修改,修改的内容都可在用户界面模板上显示,而不需要依赖应用层进行调试。
48、3、有限保护算法层的实现方法,使得算法可以独立进行软件调试,不仅降低了软件系统的开发和维护难度,还提高了软件系统的可靠性和稳定性。
49、4、本申请方案不依赖于特定的编程语言和框架,具有良好的普适性和可扩展性。
50、5、通过算法模块化、动态加载、用户界面自适应的机本文档来自技高网...
【技术保护点】
1.一种算法开发方法,其特征在于,所述方法包括:
2.根据权利要求1所述的算法开发方法,其特征在于,根据所述算法接口特性参数定义输入参数和输出参数的参数说明,包括:
3.根据权利要求1所述的算法开发方法,其特征在于,通过所述模板选择器根据所述待选算法的输入参数的数据类型自动匹配用户界面模板,包括:
4.根据权利要求1所述的算法开发方法,其特征在于,通过反射机制扫描并调用所述动态链接库的待选算法,包括:
5.根据权利要求1所述的算法开发方法,其特征在于,将用户输入的参数值输入所述目标用户界面模板,并将输出结果通过所述目标用户界面模板进行展示,包括:
6.根据权利要求1所述的算法开发方法,其特征在于,根据用户操作信息从所述待选算法中确定目标算法后,调出所述目标算法的目标用户界面模板,包括:
7.根据权利要求1所述的算法开发方法,其特征在于,在软件运行时,通过反射机制扫描并调用所述动态链接库的待选算法之前,所述方法还包括:
8.一种算法开发系统,其特征在于,所述系统包括:
9.一种算法开发装
10.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至7中任一项所述方法。
...【技术特征摘要】
1.一种算法开发方法,其特征在于,所述方法包括:
2.根据权利要求1所述的算法开发方法,其特征在于,根据所述算法接口特性参数定义输入参数和输出参数的参数说明,包括:
3.根据权利要求1所述的算法开发方法,其特征在于,通过所述模板选择器根据所述待选算法的输入参数的数据类型自动匹配用户界面模板,包括:
4.根据权利要求1所述的算法开发方法,其特征在于,通过反射机制扫描并调用所述动态链接库的待选算法,包括:
5.根据权利要求1所述的算法开发方法,其特征在于,将用户输入的参数值输入所述目标用户界面模板,并将输出结果通过所述目标用户界面模板...
【专利技术属性】
技术研发人员:关明恒,邱海滨,杨硕,
申请(专利权)人:深圳精智达技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。