1.本技术涉及应用程序开发技术领域,特别是涉及一种应用程序生成方法、装置、设备及存储介质。
背景技术:
2.随着移动应用越来越普及、云计算等技术越来越成熟,企业it需求成倍增加,更多的企业加入了数字化转型的浪潮,开始基于自身业务发开对应的应用程序。
3.然而传统的软件开发需要专业开发人员针对实际需求,人工编写代码,非软件开发企业受软件开发技术和软件开发经验的限制,开发软件的周期较长,开发效果较差,这使得企业创新被其目前的软件开发能力所阻碍,因此迫切需要能够实现应用程序高效开发的方式。
技术实现要素:
4.本技术实施例提供一种应用程序生成方法、装置、设备及存储介质,旨在快速简洁地实现应用程序的开发。
5.本技术实施例第一方面提供一种应用程序生成方法,应用于终端,所述方法包括:
6.根据接收的至少一个关键字,确定待开发程序所应用的场景属性;
7.根据所述场景属性,确定配置模板;
8.根据所述至少一个关键字,从至少一个现有平台系统检索至少一个调用接口,并将所述至少一个调用接口显示在终端界面;
9.响应所述终端界面基于用户操作生成的指令信息,将所述至少一个调用接口配置在所述配置模板中,生成应用程序。
10.可选地,根据所述至少一个关键字,从至少一个现有平台系统检索至少一个调用接口,并将所述至少一个调用接口显示在终端界面,包括:
11.获取所述至少一个现有平台系统中所有接口的功能性字段;其中,所述功能性字段包括名称字段、描述字段以及作用字段;
12.分别计算每个接口的功能性字段与所述关键字的匹配度;
13.根据每个接口的功能性字段与所述关键字的匹配度,从至少一个现有平台系统检索用于实现所述待开发程序阶段性功能的调用接口。
14.可选地,分别计算每个接口的功能性字段与所述关键字的匹配度,包括:
15.针对任意接口的功能性字段,计算所述功能性字段的取值与所述关键字的字符串相似度;
16.对所述功能性字段的取值进行分词,得到第一分词集合;
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.第二分词子单元,用于对所述关键字进行分词,得到第二分词集合;
47.第二计算子单元,用于针对所述第一分词集合中的任意元素,分别计算该任意元素与所述第二分词集合中每个元素的相似度,得到该任意元素的相似度集合;
48.叠加子单元,用于叠加所述第一分词集合中每个元素的相似度集合,得到所述功能性字段的取值与所述关键字的语义相似度;
49.第三计算子单元,用于根据任意接口的所述字符串相似度和所述语义相似度,计算该任意接口的功能性字段与所述关键字的匹配度。
50.可选地,所述第二确定模块包括:
51.第一生成子模块,用于根据第一输入界面接收的执行参数,生成配置有执行参数的配置模板;其中,所述执行参数包括设备开启条件和设备开启时间;所述第一输入界面是在所述场景属性是执行类时生成的;
52.第二生成子模块,用于根据第二输入界面接收的提醒参数,生成配置有提醒参数的配置模板;其中,所述提醒参数包括触发消息提醒条件、消息发送周期以及消息发送时间;所述第一输入界面是在所述场景属性是提醒类时生成的。
53.可选地,所述配置模块包括:
54.确定子模块,用于根据所述指令信息,确定任意调用接口的前置接口;其中,所述前置接口用于提供该任意调用接口的输入数据;
55.处理子模块,用于针对任意调用接口,按照预设的接口数据标准,对所述前置接口的输出数据进行标准化处理;
56.适配子模块,用于对完成标准化处理的前置接口和该任意调用接口进行接口适配;
57.第三生成子模块,用于根据完成接口适配的至少一个调用接口,生成应用程序。
58.可选地,所述装置还包括:
59.统计模块,用于统计样本接口信息中的各个字段,得到样本字段集合;
60.设置模块,用于根据每个样本字段与接口功能相关的频率,设置每个样本字段的权重值;
61.所述获取子模块包括:
62.获取子单元,用于针对所述至少一个现有平台系统中任意现有接口,获取该接口的多个功能性字段,和每个功能性字段的权重值。
63.本技术实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本技术第一方面所述的方法中的步骤。
64.本技术实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本技术第一方面所述的方法的步骤。
65.本技术实施例根据接收的功能性关键字,在已投入使用的系统平台中检索到能够实现待开发应用程序需求的功能的单接口,或者多个协作接口,将检索到的接口作为调用接口在可视界面显示,以使用户可以进一步确定终端检索到的接口是否符合待开发应用程序需求的功能。同时,根据接收的功能性关键字,确定配置模板,再响应终端界面基于用户操作生成的指令信息,将单接口或者多个协作接口配置在配置模板中,终端直接运行配置模板的脚本文件和配置参数,生成应用程序。上述整个生成应用程序的过程,无需开发人员预先编写实现应用程序的逻辑代码,也无需开发人员编写实现功能片段的代码,直接调用已有系统平台中现成的接口,通过接口协作,实现待开发应用程序的功能,快速简洁地完成应用程序的开发。同时,本技术实施例针对待开发应用程序所应用的场景属性,设置不同的配置模板,避免由于已有系统平台接口复杂多样导致的业务界面配置冗余复杂的现象。
附图说明
66.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
67.图1是本技术实施例提出的应用程序生成方法的步骤流程图;
68.图2是本技术一种实施例生成应用程序的流程图;
69.图3是本技术一种示例中的可视界面的示意图;
70.图4是本技术一种示例得到的前置接口输出数据树的结构示意图
71.图5是本技术实施例提出的应用程序生成装置的功能模块图。
具体实施方式
72.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
73.图1是本技术实施例提出的应用程序生成方法的步骤流程图,如图1所示,应用于终端,终端包括手机、电脑、平板等;步骤包括:
74.步骤s11:根据接收的至少一个关键字,确定待开发程序所应用的场景属性。
75.用户根据需求的程序功能,在终端界面键入实现程序功能需求的功能性关键字,对接口协作信息或者单接口信息,和配置模板进行查询。
76.步骤s12:根据所述场景属性,确定配置模板。
77.待开发程序所应用的场景属性包括执行类和提醒类。在本技术一种示例中,终端根据用户输入的关键字所在城市、雾霾和提醒,确定待开发程序所应用的场景属性是提醒类,进而在本地存储的模板中选择提醒类的配置模板。
78.不同配置模板的框架、脚本文件以及待填写配置参数不同。
79.步骤s13:根据所述至少一个关键字,从至少一个现有平台系统检索至少一个调用接口,并将所述至少一个调用接口显示在终端界面。
80.调用接口是检索各个已有平台系统的接口后,选择调用的目标接口。
81.在本技术一种示例中,终端根据用户输入的关键字所在城市、雾霾和提醒,检索到某打车平台的定位接口、某天气预报系统的雾霾检测接口以及某消息推送平台的消息发送接口,将上述定位接口、雾霾检测接口以及消息发送接口显示在终端的可视界面,以使用户能够基于可视界面,对上述接口实施点击、拖拽、长按等操作。
82.步骤s14:响应所述终端界面基于用户操作生成的指令信息,将所述至少一个调用接口配置在所述配置模板中,生成应用程序。
83.指令信息可以是将特定接口填入配置模板特定位置的信息。终端根据指令信息,将调用接口配置在配置模板后,运行配置模板的脚本文件和配置参数,生成待开发程序的可执行代码,调用各个接口的程序片段,完成应用程序的低代码开发。
84.本技术实施例根据接收的功能性关键字,在已投入使用的系统平台中检索到能够实现待开发应用程序需求的功能的单接口,或者多个协作接口,将检索到的接口作为调用接口在可视界面显示,以使用户可以进一步确定终端检索到的接口是否符合待开发应用程序需求的功能。同时,根据接收的功能性关键字,确定配置模板,再响应终端界面基于用户操作生成的指令信息,将单接口或者多个协作接口配置在配置模板中,终端直接运行配置模板的脚本文件和配置参数,生成应用程序。上述整个生成应用程序的过程,无需开发人员预先编写实现应用程序的逻辑代码,也无需开发人员编写实现功能片段的代码,直接调用已有系统平台中现成的接口,通过接口协作,实现待开发应用程序的功能,快速简洁地完成应用程序的开发。同时,本技术实施例针对待开发应用程序所应用的场景属性,设置不同的配置模板,避免由于已有系统平台接口复杂多样导致的业务界面配置冗余复杂的现象。
85.本技术实施例还针对将至少一个调用接口配置在配置模板中,运行配置模板的脚本文件和配置参数,调用各个调用接口的程序片段,实现调用接口的协作的过程中存在的可能问题:在调用接口位于不同平台系统时,由于系统平台的程序差异,调用接口的数据格式和数据结构不同,造成调用接口间协作过程困难而低效,提出一种接口协作方法,以解决上述问题。
86.图2是本技术一种实施例生成应用程序的流程图,如图2所示,响应所述终端界面基于用户操作生成的指令信息,在所述配置模板中,配置所述至少一个调用接口,生成应用程序包括:
87.步骤s21:根据所述指令信息,确定任意调用接口的前置接口;其中,所述前置接口用于提供该任意调用接口的输入数据;
88.任意调用接口的前置接口是指输出调用接口输入数据的调用接口。在本技术一种示例中,终端检索到多个调用接口包括定位接口、雾霾检测接口以及消息发送接口,根据指令信息确定定位接口是雾霾检测接口的前置接口,雾霾检测接口是消息发送接口的前置接口,消息发送接口是雾霾检测接口的后置接口,雾霾检测接口是定位接口的后置接口。在将定位接口的输出数据输入到雾霾检测接口,调用雾霾检测接口的程序片段运行,检测到雾霾指数后,雾霾检测接口能够输出包含其前置接口信息的输出数据,雾霾检测接口输出指定地点的雾霾指数的数据。
89.图3是本技术一种示例中的可视界面的示意图,在本示例中基于该可视界面确定雾霾检测接口的前置接口。如图3所示,根据响应用户的点击操作、拖拽操作生成的指令信
息,将雾霾检测接口的输入与定位接口的输出连接,确定了雾霾检测接口的前置接口是定位接口。
90.步骤s22:针对任意调用接口,按照预设的接口数据标准,对所述前置接口的输出数据进行标准化处理。
91.按照预设的接口数据标准,对前置接口的输出数据进行标准化处理,得到标准化数据,包括:
92.根据调用接口数据的需求,确定所述预设的接口数据标准的根目录;其中,所述根目录包括:业务状态码字段、调用情况说明消息字段以及响应数据字段;
93.申请人发现已有应用程序的接口虽然具有不同的数据结构,但已有应用程序的接口返回的数据都包含信息:业务状态码,调用情况说明消息,以及响应数据。本技术实施例根据上述发现的调用接口数据的需求,设置了预设的接口数据标准,本技术设置的预设的接口数据标准的根目录是业务状态码字段、调用情况说明消息字段以及响应数据字段。
94.根据业务状态码字段,可以判断接口调用是否成功;根据调用情况说明消息字段,可以判断接口调用是否成功返回数据;响应数据字段接口表示接口返回的信息主体,代表所有业务信息数据,用于直接提取接口的后置接口的输入数据。
95.将所述前置接口的基本类型确定为叶子节点;其中,所述基本类型包括字符串、数字、布尔值以及列表;
96.本技术采用统一的数据获取方式,从前置接口中获取得到格式是json的输出数据。将字符串“string”、数字“number”、布尔值(boolean)以及列表“arraylist”四种基本类型确定为叶子节点。在遍历前置节点的json格式输出数据的过程中,遍历到上述四种基本类型时,会停止遍历,或从另一条路径开始遍历。
97.将所述前置接口的每个对象类型作为遍历子树;对象类型是指object类型。
98.在本技术一种示例中,假设新闻网站接口的json格式输出数据是:
[0099][0100][0101]
object类型包括:head、rtnmsg、rtncode、body、news。从上述json格式输出数据的根路径向下遍历,读取到上述object类型的字段时,将object类型作为遍历子树,继续读取
object类型的子节点。例如,读取head字段后,紧接着读取head字段的子节点rtnmsg字段,rtnmsg字段仍然是object类型,因此读取rtnmsg字段的子节点“请求成功”的字符串,“请求成功”四种基本类型中的字符串,是叶子节点,因此“请求成功”是遍历子树:head-rtnmsg
‑“
请求成功”的遍历终点。重新从根路径向下遍历,依次读取head字段、rtncode字段、“000000”字段,结束对另一个遍历子树的遍历。最后依次读取body字段、news字段后,读取到基本类型中的列表“arraylist”,即使列表中包含object类型也无需继续向下读取。通过上述遍历json格式输出数据的方法,得到前置接口输出数据树,图4是本技术一种示例得到的前置接口输出数据树的结构示意图,如图4所示,可以从该前置接口输出数据树中直接提取得到数据值1、数据值2以及数据值3。数据值1是“请求成功”、数据值2是“000000”,数据值3是:
[0102]“[{“id”:“20170313/42857340-0”,//新闻id
[0103]“title”:“田亮骑摩托车走钢索遇大风,高喊:我还活着”//新闻标题,
[0104]“issuetime”:“2017-03-13 10:56”//发布时间,}
[0105]
{
[0106]“id”:“20170313/42857339-0”,//新闻id
[0107]“title”:“天后也曾有低潮!蔡依林自爆8难前很自卑”,//新闻标题
[0108]“issuetime”:“2017-03-13”10:56”,//发布时间,}]”[0109]
本技术另一种实施例在获取数据值的同时,还会获取与数据值对应的关键词。具体获取关键词,和与关键词匹配的数据值的方法如下:
[0110]
针对任意遍历子树,在遍历到的当前节点不是所述叶子节点时,提取所述当前节点的第一字符串;在遍历到的当前节点是所述叶子节点时,拼接至少一个第一字符串,得到所述关键词,并将所述当前节点的第二字符串确定为所述与每个关键词匹配的数据值。
[0111]
关键词是从前置接口的输出数据中提取出来的,关键字是将数据值映射到预设的接口数据标准后,提取得到的根目录的字符串。
[0112]
第一字符串可以是非叶子节点的节点字符。第二字符串可以是叶子节点的节点字符。
[0113]
继续参考图4,以遍历子树head-rtnmsg
‑“
请求成功”为例,在未遍历到叶子节点“请求成功”时,提取head节点的第一字符串head,继续读取head的子节点rtnmsg,提取rtnmsg节点的第一字符串rtnmsg,在读取到叶子节点“请求成功”时,拼接head和rtnmsg,得到关键词“head rtnmsg”,提取叶子节点的节点字符得到与关键词“head rtnmsg”匹配的数据值“请求成功”。
[0114]
采取上述方法遍历每个遍历子树可以得到其他的关键词与数据值,将关键词作为key,数据值作为value,得到第一key-value集合,第一key-value集合中包括关键词:“head rtnmsg”、“head rtncode”、“body news”,以及分别与上述各关键词对应的数据值。关键词和其对应的数据值组成键值对,是第一key-value集合中的元素。例如:key(head rtnmsg)-value(“请求成功”)是第一key-value集合中的键值对。
[0115]
将所述叶子节点作为遍历终点,依次遍历多个遍历子树,得到多个所述数据值;
[0116]
分别将每个数据值映射到与该数据值对应的根目录下,得到所述标准化数据。
[0117]
将所述叶子节点作为遍历终点,依次遍历多个遍历子树,得到多个所述数据值,包
括:
[0118]
针对任意遍历子树,在遍历到的当前节点不是所述叶子节点时,提取所述当前节点的第一字符串;
[0119]
在遍历到的当前节点是所述叶子节点时,拼接至少一个第一字符串,得到关键词,并将所述当前节点的第二字符串确定为所述与每个关键词匹配的数据值。
[0120]
得到标准化数据,还需要进行以下处理:
[0121]
所述方法还包括:
[0122]
分别统计业务状态码字段样本、调用情况说明消息字段样本以及响应数据字段样本中的高频词段;
[0123]
在本技术一种示例中,从前置接口定位应用接口获取输出数据,并对该输出数据进行标准化处理后,得到标准化数据:tncode-{请求成功}、rtnmsg-{000000}、data seat-{北纬30
°
东经102
°
}以及data tem-{36℃},根据后置接口雾霾检测接口的功能是检测用户所在城市的雾霾,确定雾霾检测接口输入数据的关键值是城市。
[0124]
分别将每个数据值映射到与该数据值对应的根目录下,得到所述标准化数据,包括:
[0125]
将最大权重系数对应的字段样本确定为该任意数据值的目标字段样本;
[0126]
将该任意数据值映射到与所述目标字段样本对应的根目录下,得到所述标准化数据。
[0127]
本技术实施例根据已有系统平台的接口返回的数据都包含信息:业务状态码,调用情况说明消息,以及响应数据的现状,设置根目录包括业务状态码字段、调用情况说明消息字段以及响应数据字段的接口数据标准。读取前置接口的输出数据后,从输出数据中提取指定数据,将指定数据映射到根目录业务状态码字段、调用情况说明消息字段或响应数据字段下,完成输出数据的标准化处理。
[0128]
从输出数据中提取指定数据的方式可以采用,按照输出数据的json格式,依次遍历输出数据的各个节点,查找到业务状态码字段对应的数据值、调用情况说明消息字段对应的数据值、响应数据字段对应的数据值。
[0129]
在本技术一种示例中,遍历新闻网站接口的输出数据,查找到业务状态码字段“rtnmsg”对应的数据值1:“请求成功”、情况说明消息字段“rtncode”对应的数据2:“000000”、响应数据字段“data news”对应的数据值3:
[0130][0131][0132]
将业务状态码字段和数据值1组成键值对,将调用情况说明消息字段和数据值2组成键值对key-value,将响应数据字段和数据值3组成键值对,得到包含三组键值对的标准
化数据。
[0133]
步骤s23:对完成标准化处理的前置接口和该任意调用接口进行接口适配。
[0134]
接口适配可以指根据后置接口需求的输入数据,从前置接口完成准化处理后得到的数据中,提取用于输入后置接口的数据,并将提取的数据进行格式转换,得到与后置接口的数据格式和数据接口匹配的数据。
[0135]
从所述标准化数据中确定与所述前置接口的后置接口的输入数据匹配的目标数据值;
[0136]
根据数据转换示例库,提取函数序列程序;其中,所述函数序列程序用于将所述目标数据值转换为符合所述后置接口的数据格式;
[0137]
利用所述函数序列程序对所述目标数据值进行数据转换;
[0138]
将经过数据转换的目标数据值输入所述后置接口,调用所述后置接口的程序运行,以使所述后置接口的程序在运行时将所述经过数据转换的目标数据值作为输入数据,并输出携带所述前置接口信息的结果。
[0139]
在本技术一种示例中,从前置接口定位应用接口获取输出数据,并对该输出数据进行标准化处理后,得到标准化数据:tncode-{请求成功}、rtnmsg-{000000}、data seat-{北纬30
°
东经102
°
}以及data tem-{36℃},根据后置接口雾霾检测接口的功能是检测用户所在城市的雾霾,确定雾霾检测接口输入数据的关键值是城市。
[0140]
继续说明本技术上述示例,分别计算tncode、rtnmsg以及seat与城市的相似度。
[0141]
假设有两个待比较的字符串str1、str2,其中str1为较短的字符串(str1长度≤str2长度)。对str1和str2两个字符串相似度的计算方法有两种:基于字符的字符串相似度计算方法,以及基于语义的字符串语义相似度计算方法。
[0142]
基于字符的字符串相似度计算方法的具体实现过程是:计算出str1的所有长度大于2的子串得到str1的子串集s1,按长度由大到小的顺序遍历s1中str1的子字符串1,并利用字符串匹配算法判断子字符串1是否也为str2的子字符串,如果子字符串1同时是st
r1
、str2的子字符串,子字符串作为公共子串,则获取其长度做为str1和str2的最大公共子串长度len(str1,str2),并结束操作。如果遍历s1直到结束都没有符合的公共子串,则len的值为0。假设较长的字符串str2的长度为l,则定义str1与str2之间的相似度值sim等于最大公共子串的长度与较长的字符串长度之比,即sim=len(str1,str2)/l。
[0143]
基于语义的字符串语义相似度计算方法的实现过程是:分别将str1,str2进行分词,得到str1的分词集分别set1,str2的分词集set2。遍历set1与set2计算出set1中的元素wi与set2中的元素wj的相似度,记为similariry(wi,wj)。i的取值范围是1至n,n是set1中的元素数量,j的取值范围是1至m,m是set2中的元素数量。进一步得到str1和str2的相似度,计算方式如式(1)所示:
[0144][0145]
完成前置接口与后置接口的数据映射后,按照映射关系,将前置接口的输出数据输入到后置接口,调用后置接口的程序运行,输出最终结果,进而完成来自不同平台或系统的接口的多接口协作。但由于不同接口间的数据差异问题,直接将前置接口提供的数据原封不动地代入后置接口数据的相应字段作为输入,往往会发生错误。因此本技术实施例对前置接口的目标数据值进行了数据格式和数据结构的转换,得到能够被后置接口正确识别
的数据。
[0146]
根据所述后置接口的功能,确定所述后置接口的输入数据的关键值;
[0147]
从所述标准化数据中确定与所述前置接口的后置接口的输入数据匹配的目标数据值,包括:
[0148]
分别计算每个关键字与所述关键值的相似度;
[0149]
将具有最大相似度的关键字确定为所述目标关键字;
[0150]
将与所述目标关键字匹配的数据值确定为所述目标数据值。
[0151]
根据数据转换示例库,提取函数序列程序,包括:
[0152]
在所述数据转换示例库中,查询满足所述前置接口、所述前置接口以及所述目标关键字的第一转换示例;
[0153]
根据查询结果,提取所述函数序列程序。
[0154]
根据查询结果,提取所述函数序列程序,包括:
[0155]
在所述数据转换示例库中存在所述第一转换示例时,从所述目标转换示例中提取所述函数序列程序;
[0156]
在所述数据转换示例库中不存在所述第一转换示例时,在所述数据转换示例库中查询满足所述目标数据值的格式和所述后置接口所需数据格式的至少一个第二转换示例;
[0157]
根据所述至少一个第二转换示例,从预先设置的函数库中匹配得到多个函数;
[0158]
按照数据转换逻辑,组合所述多个函数,得到所述函数序列程序;
[0159]
将所述函数序列程序、所述前置接口、所述前置接口以及所述目标关键字以及所述目标数据值的格式存储在所述数据转换示例库中。
[0160]
接口适配也可以指,根据键值对中的key值,为前置接口输出数据与后置接口输入数据建立一一对应关系。然后判断前后接口对应的数据之间是否存在格式差异,阻碍后置接口的调用。如果存在格式差异的问题,则需要对前置接口所提供的数据进行一定的转换,而后再用转换后的数据调用后置接口,完成接口间的协作,从而实现低代码开发过程的程序逻辑复用。
[0161]
本技术实施例通过计算关键字与键值对中的key值的相似度的方式,从前置接口完成准化处理后得到的数据中,查询得到用于输入后置接口的数据。
[0162]
在本技术一种示例中,假设任意调用接口是雾霾检测接口,任意调用接口的前置接口是定位接口,对定位接口输出数据进行标准化处理后,得到的标准化数据包括:业务状态码字段“rtnmsg
”‑“
请求成功”、情况说明消息字段“rtncode
”‑“
000000”、响应数据字段“data seat
”‑
{北纬30
°
,东经102
°
}。根据用户输入的功能性关键字雾霾、检测,确定雾霾检测接口需要输入的数据是城市city,分别计算rtnmsg、rtncode以及seat与city的相似度,确定响应数据字段“data seat
”‑
{北纬30
°
,东经102
°
}与雾霾检测接口输入数据的对应关系,查询得到键值对“data seat
”‑
{北纬30
°
,东经102
°
}中的数据值是雾霾检测接口的输入数据。
[0163]
本技术实施例在确定从前置接口完成准化处理后得到的数据中,查询得到用于输入后置接口的数据后,基于历史转换实例的方式,对数据值进行格式转换。具体在所述数据转换示例库中,查询满足前置接口、前置接口以及键值对“data seat”中key值匹配的转换示例;从转换示例提取多个函数,用提取的多个函数对数据值进行数据格式转换。
[0164]
在本技术一种示例中,匹配转换实例,从转换实例中提取多个函数,利用提取的多个函数组成的函数序列程序对数据值进行数据转换的整体过程可以包括如下流程:
[0165]
1、先定义函数集合f
set
,和数据格式集合p
set
。中f
set
中包含大量的数据转换相关的函数,用来维护所有的数据转换过程中所需要调用的所有函数。而p
set
用来维护接口数据所属的格式类别集。这两个集合会随着转换任务的执行不断丰富和完善。
[0166]
2、建立包含历史转换示例的数据转换示例库,历史转换示例是多次数据装换过程中,将多个前置接口的输出数据的格式转换为符合其后置接口输入要求的数据格式过程中,存储的多条相关信息。
[0167]
3、接口间数据转换的过程可以采用(2)式表示:
[0168][0169]
其中,api1表示前置接口,a表示前置接口目标数据值,a.format=a表示目标数据值的格式是a,b.format=b表示目标数据值的格式是b,[f1,f2,
…
]表示函数序列程序,[f1,f2,
…
]中的函数f1和f2按照转换格式的逻辑顺序排列。(2)式表示前置接口api1输出数据中关键字为key1的数据a,数据a格式为a,经过执行函数序列程序[f1,f2,
…
]处理后,转换为后置接口api2输入数据中关键值为key2的字段下数据b的过程,数据b的格式为b。
[0170]
4、首先检索数据转换示例库,判断多个历史转换实例中是否有满足前置接口为api1,后置接口为api2,前置接口的关键字为key1,后置接口的关键值为key2的历史转换实例。如果恰好有这样的转换实例,则执行这个历史转换实例中的函数序列,完成数据的转换。
[0171]
5、如果数据转换示例库中并没有满足条件的历史转换实例,则需要首先对数据a与数据b进行格式匹配,分别找到它们对应的格式a和b。检索数据转换示例库,寻找所有从格式a转换到格式b的实例,并从中挑选若干个转换实例作为示例,函数集合f
set
作为函数代码库,利用基于示例的数据转换方法,得到转换函数序列程序,完成数据转换。
[0172]
步骤s24:根据完成接口适配的至少一个调用接口,生成应用程序。
[0173]
在根据关键字从现有平台系统检索出单个调用接口时,运行配置模板预先设置的脚本文件的配置参数,对调用接口中的程序片段进行调用,生成应用程序。
[0174]
在根据关键字从现有平台系统检索出多个调用接口时,运行配置模板预先设置的脚本文件的配置参数,先对位于配置模板总输入位置的第一个调用接口进行程序调用,得到第一个调用接口的输出数据,将输出数据输入第一个调用接口的后置接口,继续对该后置接口进行程序调用,直至位于配置模板总输出位置的最后一个调用接口输出结果。保存各个接口程序运行的记录和程序代码,结合配置模板的脚本文件和配置参数,得到应用程序。
[0175]
本技术另一种实施例提出从现有平台系统检索调用接口的具体方法。对于多接口协作而言,每个接口的功能性主要通过协作流程中最终的各个接口体现,因此本技术实施例先对大量现有平台系统中接口的功能性字段进行统计。以在具体应用时,直接得到接口的功能性字段,计算关键字与统计的功能性字段的相似度,查找能够满足用户所需功能的单个接口或多接口协作信息。
[0176]
步骤s31:获取所述至少一个现有平台系统中所有接口的功能性字段;其中,所述
功能性字段包括名称字段、描述字段以及作用字段。在本技术一种示例中名称字段是接口基本信息中的“name”字符,描述字段是接口基本信息中的“description”字段,作用字段是接口基本信息中的“function”字段。
[0177]
在获取至少一个现有平台系统中接口的功能性字段之后,还可以将所有功能性字段组成功能性字段集合。并对功能性字段集合中的所有元素进行权重赋值。统计样本接口信息中的各个字段,得到样本字段集合;根据每个样本字段与接口功能相关的频率,设置每个样本字段的权重值。以在应用检索接口时,准确选择平台系统已有接口的功能性字段。具体地,针对所述至少一个现有平台系统中任意现有接口,获取该接口的多个功能性字段,和每个功能性字段的权重值。
[0178]
在本技术一种示例中,统计某电商平台的接口基本信息中的功能性字段,得到功能性字段集合{function,description,name}。分别根据function,description,name出现在某电商平台的各个接口基本信息中的频率,对function赋值权重0.1,对description赋值权重0.8,对name赋值权重0.25。
[0179]
步骤s32:分别计算每个接口的功能性字段与所述关键字的匹配度。
[0180]
针对特定的系统平台,提取得的每个接口的功能性字段后,以功能性字段作为依据,在接口的基本信息中匹配得到功能性字段的取值,计算功能性字段的取值的关键字的相似度,得到功能性字段与所述关键字的匹配度。
[0181]
具体地,针对任意接口的功能性字段,计算所述功能性字段的取值与所述关键字的字符串相似度;对所述功能性字段的取值进行分词,得到第一分词集合;对所述关键字进行分词,得到第二分词集合;针对所述第一分词集合中的任意元素,分别计算该任意元素与所述第二分词集合中每个元素的相似度,得到该任意元素的相似度集合;叠加所述第一分词集合中每个元素的相似度集合,得到所述功能性字段的取值与所述关键字的语义相似度;根据任意接口的所述字符串相似度和所述语义相似度,计算该任意接口的功能性字段与所述关键字的匹配度。
[0182]
继续说明本技术上述示例,接收到用户输入的为所在城市,对某打车平台的各个接口进行查询,检索出某打车平台的各个接口中能执行确定所在城市的接口。首先获得预先统计的功能性字段集合{function,description,name},再依次针对每个接口,从接口中匹配得到上述功能性字段的取值,假设当前针对的是定位接口,获取功能性字段的取值分别是function经度纬度,description获取乘客的位置,name定位。先计算经纬度、位置、定位与城市的字符相似度,再对经纬度、位置、定位分词,得到第一分词集合{经度、纬度、乘客、位置、定位},对所在城市进行分词,得到第二分词集合{所、在、城市},分别计算经度与所、在、城市的相似度,纬度与所、在、城市的相似度,乘客与所、在、城市的相似度,位置与所、在、城市的相似度,定位与所、在、城市的相似度,对上述每一种相似度进行累加,得到定位接口与关键字的匹配度。
[0183]
步骤s33:根据每个接口的功能性字段与所述关键字的匹配度,从至少一个现有平台系统检索用于实现所述待开发程序阶段性功能的调用接口。
[0184]
阶段性功能是指实现待开发应用程序输出结果的过程中需求的功能。示例地,用户需求待开发应用程序实现的功能是对所在城市雾霾进行预警,那么实现待开发程序阶段性功能包括:定位功能、雾霾检测功能和消息提醒功能。
[0185]
本技术另一种实施例提出确定配置模板的一种实现方式,在该实现方式中,终端根据场景属性的具体取值是执行类或提醒类,确定不同的配置模板,将配置模板显示在可视界面,根据配置模板的参数需求,弹出数据输入窗口或者其他输入界面,接收用户输入的执行参数或提醒参数,生成完整的配置有执行参数的配置模板。
[0186]
根据第一输入界面接收的执行参数,生成配置有执行参数的配置模板;其中,所述执行参数包括设备开启条件和设备开启时间;所述第一输入界面是在所述场景属性是执行类时生成的;第一输入界面是在场景属性是执行类时,终端基于确定的配置界面生成的输入界面。
[0187]
示例地,执行参数可以是开启雾霾净化器的条件、雾霾净化器每一次工作的持续时间等。
[0188]
根据第二输入界面接收的提醒参数,生成配置有提醒参数的配置模板;其中,所述提醒参数包括触发消息提醒条件、消息发送周期以及消息发送时间;所述第一输入界面是在所述场景属性是提醒类时生成的。第二输入界面是在场景属性是提醒类时,终端基于确定的配置界面生成的输入界面。
[0189]
示例地,提醒参数可以是触发提醒消息的条件、发送提醒消息的间隔时长、提醒消息发送的次数等。
[0190]
基于同一发明构思,本技术实施例提供一种应用程序生成装置。图5是本技术实施例提出的应用程序生成装置的功能模块图。如图5所示,该装置包括:
[0191]
第一确定模块51,用于根据接收的至少一个关键字,确定待开发程序所应用的场景属性;
[0192]
第二确定模块52,用于根据所述场景属性,确定配置模板;
[0193]
检索模块53,用于根据所述至少一个关键字,从至少一个现有平台系统检索至少一个调用接口,并将所述至少一个调用接口显示在终端界面;
[0194]
配置模块54,用于响应所述终端界面基于用户操作生成的指令信息,将所述至少一个调用接口配置在所述配置模板中,生成应用程序。
[0195]
可选地,所述检索模块包括:
[0196]
获取子模块,用于获取所述至少一个现有平台系统中所有接口的功能性字段;其中,所述功能性字段包括名称字段、描述字段以及作用字段;
[0197]
计算子模块,用于分别计算每个接口的功能性字段与所述关键字的匹配度;
[0198]
检索子模块,用于根据每个接口的功能性字段与所述关键字的匹配度,从至少一个现有平台系统检索用于实现所述待开发程序阶段性功能的调用接口。
[0199]
可选地,所述计算模块包括:
[0200]
第一计算子单元,用于针对任意接口的功能性字段,计算所述功能性字段的取值与所述关键字的字符串相似度;
[0201]
第一分词子单元,用于对所述功能性字段的取值进行分词,得到第一分词集合;
[0202]
第二分词子单元,用于对所述关键字进行分词,得到第二分词集合;
[0203]
第二计算子单元,用于针对所述第一分词集合中的任意元素,分别计算该任意元素与所述第二分词集合中每个元素的相似度,得到该任意元素的相似度集合;
[0204]
叠加子单元,用于叠加所述第一分词集合中每个元素的相似度集合,得到所述功
能性字段的取值与所述关键字的语义相似度;
[0205]
第三计算子单元,用于根据任意接口的所述字符串相似度和所述语义相似度,计算该任意接口的功能性字段与所述关键字的匹配度。
[0206]
可选地,所述第二确定模块包括:
[0207]
第一生成子模块,用于根据第一输入界面接收的执行参数,生成配置有执行参数的配置模板;其中,所述执行参数包括设备开启条件和设备开启时间;所述第一输入界面是在所述场景属性是执行类时生成的;
[0208]
第二生成子模块,用于根据第二输入界面接收的提醒参数,生成配置有提醒参数的配置模板;其中,所述提醒参数包括触发消息提醒条件、消息发送周期以及消息发送时间;所述第一输入界面是在所述场景属性是提醒类时生成的。
[0209]
可选地,所述配置模块包括:
[0210]
确定子模块,用于根据所述指令信息,确定任意调用接口的前置接口;其中,所述前置接口用于提供该任意调用接口的输入数据;
[0211]
处理子模块,用于针对任意调用接口,按照预设的接口数据标准,对所述前置接口的输出数据进行标准化处理;
[0212]
适配子模块,用于对完成标准化处理的前置接口和该任意调用接口进行接口适配;
[0213]
第三生成子模块,用于根据完成接口适配的至少一个调用接口,生成应用程序。
[0214]
可选地,所述装置还包括:
[0215]
统计模块,用于统计样本接口信息中的各个字段,得到样本字段集合;
[0216]
设置模块,用于根据每个样本字段与接口功能相关的频率,设置每个样本字段的权重值;
[0217]
所述获取子模块包括:
[0218]
获取子单元,用于针对所述至少一个现有平台系统中任意现有接口,获取该接口的多个功能性字段,和每个功能性字段的权重值。
[0219]
基于同一发明构思,本技术另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术上述任一实施例所述的应用程序生成方法中的步骤。
[0220]
基于同一发明构思,本技术另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本技术上述任一实施例所述的应用程序生成方法中的步骤。
[0221]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0222]
本说明书中的各个实施例均采用递进或说明的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0223]
本领域内的技术人员应明白,本技术实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本技术实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上
实施的计算机程序产品的形式。
[0224]
本技术实施例是参照根据本技术实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0225]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0226]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0227]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0228]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0229]
以上对本技术所提供的一种应用程序生成方法、装置、设备及存储介质,进行了详细介绍,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
转载请注明原文地址:https://win.8miu.com/read-1057812.html