一种以API方式实现数据导出的方法及装置与流程

专利2022-06-29  77


本发明涉及互联网技术领域,尤其涉及一种以api方式实现数据导出的方法及装置。



背景技术:

目前在企业中运行的很多系统不能够提供api,且无法通过修改系统导出相应api需要数据。而在很多场景下,例如集成场景下,为了实现自动化业务,需要系统提供大量的api。

现有的技术一般通过自动化脚本、通过数据库导出方式,制作模拟操流程等方式实现。

通过自动化脚本实现时具有一定局限性,有些系统没有提供命令等形式的接口实现自动化脚本。

通过数据库导出api的方式存在数据库表关联复杂,没有源码的情况下很难理清数据表和字段间的关系,从数据库到界面提供的数据之间可能还有复杂的计算过程。并且在实施上具有很大的难度。

通过制作模拟操作流程目前有以下不足:

1、从标记数据到最终产生业务需要的api过程比较冗长、不能及时有效导出大批量的api

2、技术复杂度比较高,如果使用机器学习等技术,还需要额外的模型训练等过程,且机器学习会受限于样本覆盖面,学习到的模式不完全透明等因素,存在一些风险

2、实现过程中需要先将标记的数据生成api,然后在仿真平台重新组合,在构建复杂业务的api时,必然涉及到多次子api调用的过程,以及更深的调用层次,增加了系统的复杂度。

4、如果使用鼠标精灵等,还存在无法实现api输入操作的问题。



技术实现要素:

为了解决上述技术问题,本发明提供了一种以api方式实现数据导出的方法及装置。

本发明提供的以api方式实现数据导出的方法,包括:

确定用户的数据目标项,记录为获取所述数据目标项的具体内容所执行的操作过程,根据所述操作过程确定所述数据目标项对应的操作流程,所述操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;

根据业务使用需要确定数据目标项集合;

根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

根据所述数据目标项集合和数据目标项集合的操作流程构建api调用函数。

上述方法还具有以下特点:

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:

从所述数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。

上述方法还具有以下特点:

所述输入来源是指到达所述操作的流程对应界面的不同输入途径中的参数,所述输出来源是指通往所述操作的流程对应界面的不同输出途径中的参数。

上述方法还具有以下特点:

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

上述方法还具有以下特点:

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:将所述数据目标项集合的操作流程拆分为多个子流程,使用不同的子流程构建出不同组合方式的操作流程,判断不同组合方式的操作流程的消耗度,选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,所述消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

本发明提供的以api方式实现数据导出的装置,包括:

第一确定模块,用于确定用户的数据目标项,记录为获取所述数据目标项的具体内容所执行的操作过程,根据所述操作过程确定所述数据目标项对应的操作流程,所述操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;

第二确定模块,用于根据业务使用需要确定数据目标项集合;

第三确定模块,用于根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

构建模块,用于根据所述数据目标项集合和数据目标项集合的操作流程构建api调用函数。

上述装置还具有以下特点:

所述第三确定模块包括合并单元,用于从所述数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。

上述装置还具有以下特点:

所述输入来源是指到达所述操作的流程对应界面的不同输入途径中的参数,所述输出来源是指通往所述操作的流程对应界面的不同输出途径中的参数。

上述装置还具有以下特点:

所述第三确定模块包括并行执行单元,用于从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

上述装置还具有以下特点:

所述第三确定模块包括:

拆分单元,用于将所述数据目标项集合的操作流程拆分为多个子流程;

组合单元,用于使用不同的子流程构建出不同组合方式的操作流程;

判断单元,用于判断不同组合方式的操作流程的消耗度;

选择单元,用于选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,所述消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

本发明可以自动以api方式实现数据导出,大大提高数据导出的效率,并且可智能化的对api执行过程进行合并、并行、组合等操作,进一步提高执行效率。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中以api方式实现数据导出的方法的流程图。

图2是实施例中以api方式实现数据导出的装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实施例中以api方式实现数据导出的方法的流程图,此方法包括:

步骤101,确定用户的数据目标项,记录为获取此数据目标项的具体内容所执行的操作过程,根据此操作过程确定此数据目标项对应的操作流程,此操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数。

步骤102,根据业务使用需要确定数据目标项集合;

步骤103,根据数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

步骤104,根据数据目标项集合和数据目标项集合的操作流程构建api调用函数。

其中,

步骤101中,确定用户的数据目标项,记录为获取此数据目标项的具体内容所执行的操作过程,根据此操作过程确定此数据目标项对应的操作流程,此操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数。其中,操作参数是用于模拟操作所需的参数,例如键盘输入值等。数据目标项与为获取此数据目标项的具体内容所执行的操作过程可以存储于系统之内的缓存中,也可以存储于系统之外的存储器内记永久保存。

步骤102中,数据目标项集合可以根据业务需要是一个单独的数据项,也可以是一定粒度的数据项的聚合。

步骤103中,根据数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程还包括:从数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。其中,关于输入的来源,可以有多种到达此操作的对应界面的途径,输入的来源是指到达此操作的对应界面的不同途径中的参数,使用不同途径中的参数到达此操作的对应界面即为选择不同的输入的来源。例如:用户等级不同时,对系统进行配置操作时使用的配置参数不同,不同的输入的来源是指不同用户等级下的输入参数。输出来源与输入来源的含义同理。输出来源是指通往所述操作的流程对应界面的不同输出途径中的参数。

例如:

一个资产管理系统,需要用户名密码登录。资产管理系统内有资产价值表和资产归属表。业务上需要一个api提供某项资产的价值和归属信息。

记录器将记录获取到某个资产价值的操作过程,资产信息在界面中的格式和位置信息。同样记录资产归属的信息。将记录数据项:

资产价值参数:资产id操作过程:登陆,打开资产价值,输入id等

资产归属参数:资产id操作过程:登陆,打开资产归属,输入id等

运算器根据业务需要,提取数据项“资产价值”和“资产归属”,根据参数信息,生成api参数表如下:

生成api参数表:资产id

生成操作集合,集合包括相关数据项的所有操作流程。

在本具体实施例中,两个过程中都有相同的过程“登陆”,且“登陆”操作的输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同,因此能够被合并。优化器根据操作流程集合,合并登陆操作,实现类似如下的流程:

登陆,打开资产价值,输入id,获取资产价值信息,打开资产归属,输入id,获取资产归属

将参数表以及操作流程和相应的api定义交付给执行器,用于api被调用时自动执行流程。

步骤103中,根据数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程还可以包括:从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

步骤103中,根据数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程还包括:将数据目标项集合的操作流程拆分为多个子流程,使用不同的子流程构建出不同组合方式的操作流程,判断不同组合方式的操作流程的消耗度,选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,所述消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

其中,消耗度最小的组合方式的操作流程还可以称为最短路径,例如:将流程图中的流程拆分成若干流程节点构成的子序列,例如把a->b->c->d拆分出a->b,b->c,a->b->c等,分析这些子序列的输入、输出、起始界面和终止界面,如果其中多个序列的输入、输出、起始界面和终止界面相同,可以认为它们的最终结果是一致的。此时根据序列长度或预估的序列性能,从中选择出最好的结果,并将最好的序列用于替换其他位置,从而达到最短路径的优化。

例如:

1){opentaobao.com/login}{typeusernamefromrequest.args.username}{typepasswordfromrequest.args.password}{clickelement[id=login]}{clickelement[id=userinfo]}{clickelement[name=积分详情]}{getelement[name=积分]}

2){opentaobao.com/login}{typeusernamefromrequest.args.username}{typepasswordfromrequest.args.password}{clickelement[id=login]}{clickelement[name=积分管理]}{getelement[name=积分等级]}

在上述实施例中,打开相同页面,登陆后进入同一个页面,满足“相同的子流程,相同的输入输出来源和位置,起始和终结环境”,因此可以合并两个过程。

在上述实施例中,获取积分等级和积分的页面相同,因此“userinfo->积分详情”和“积分管理”是等价的,因此可以选择最短操作路径,这里统一优化为“积分管理”。

本方法中还支持人工操作,使相关工作人员可根据需要进一步优化流程图,并回退部分优化器的优化操作。

通过上述方法的描述情况可知,本方法通过记录人工操作和标注的过程,并产生一个不同数据项对应的操作流程图和相应操作所需参数的关系表。根据业务的需要将数据项重新组合,组合后根据查表获取所有数据所需的操作集合,并通过一个优化器做操作流程的合并等优化,以及产生对应所有流程所需的参数,并最终生成一个可被调用的api。

图2是以api方式实现数据导出的装置的结构图,此装置包括:

第一确定模块,用于确定用户的数据目标项,记录为获取数据目标项的具体内容所执行的操作过程,根据操作过程确定数据目标项对应的操作流程,操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;

第二确定模块,用于根据业务使用需要确定数据目标项集合;

第三确定模块,用于根据数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

构建模块,用于根据数据目标项集合和数据目标项集合的操作流程构建api调用函数。

其中,第三确定模块包括合并单元,用于从数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。

第三确定模块包括并行执行单元,用于从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

第三确定模块还包括:

拆分单元,用于将数据目标项集合的操作流程拆分为多个子流程;

组合单元,用于使用不同的子流程构建出不同组合方式的操作流程;

判断单元,用于判断不同组合方式的操作流程的消耗度;

选择单元,用于选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。


技术特征:

1.一种以api方式实现数据导出的方法,其特征在于,包括:

确定用户的数据目标项,记录为获取所述数据目标项的具体内容所执行的操作过程,根据所述操作过程确定所述数据目标项对应的操作流程,所述操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;

根据业务使用需要确定数据目标项集合;

根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

根据所述数据目标项集合和数据目标项集合的操作流程构建api调用函数。

2.如权利要求1所述的以api方式实现数据导出的方法,其特征在于,

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:

从所述数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。

3.如权利要求1所述的以api方式实现数据导出的方法,其特征在于,

所述输入来源是指到达所述操作的流程对应界面的不同输入途径中的参数,所述输出来源是指通往所述操作的流程对应界面的不同输出途径中的参数。

4.如权利要求1所述的以api方式实现数据导出的方法,其特征在于,

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

5.如权利要求1所述的以api方式实现数据导出的方法,其特征在于,

所述根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程包括:将所述数据目标项集合的操作流程拆分为多个子流程,使用不同的子流程构建出不同组合方式的操作流程,判断不同组合方式的操作流程的消耗度,选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,所述消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

6.一种以api方式实现数据导出的装置,其特征在于,包括:

第一确定模块,用于确定用户的数据目标项,记录为获取所述数据目标项的具体内容所执行的操作过程,根据所述操作过程确定所述数据目标项对应的操作流程,所述操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;

第二确定模块,用于根据业务使用需要确定数据目标项集合;

第三确定模块,用于根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;

构建模块,用于根据所述数据目标项集合和数据目标项集合的操作流程构建api调用函数。

7.如权利要求6所述的以api方式实现数据导出的装置,其特征在于,

所述第三确定模块包括合并单元,用于从所述数据目标项集合内所有数据目标项的操作流程中确定出可合并的操作动作,可合并的操作动作是在流程中输入来源、输入位置、输入内容,输出来源以及输出内容,流程起始的界面状态,流程结束的界面状态均相同的操作动作。

8.如权利要求7所述的以api方式实现数据导出的装置,其特征在于,

所述输入来源是指到达所述操作的流程对应界面的不同输入途径中的参数,所述输出来源是指通往所述操作的流程对应界面的不同输出途径中的参数。

9.如权利要求6所述的以api方式实现数据导出的装置,其特征在于,

所述第三确定模块包括并行执行单元,用于从所有数据目标项的操作流程中确定相互独立并且可以并列执行的子流程,将可以并行执行的子流程同时执行。

10.如权利要求6所述的以api方式实现数据导出的装置,其特征在于,

所述第三确定模块包括:

拆分单元,用于将所述数据目标项集合的操作流程拆分为多个子流程;

组合单元,用于使用不同的子流程构建出不同组合方式的操作流程;

判断单元,用于判断不同组合方式的操作流程的消耗度;

选择单元,用于选择消耗度最小的组合方式的操作流程作为确定出的数据目标项集合的操作流程,所述消耗度包括以下参数中的至少一种:耗时、耗费的处理能力、耗费的网络能力。

技术总结
本发明公开了一种以API方式实现数据导出的方法及装置,此方法包括:确定用户的数据目标项,记录为获取所述数据目标项的具体内容所执行的操作过程,根据所述操作过程确定所述数据目标项对应的操作流程,所述操作流程包括至少一个操作节点,每个操作节点包括操作动作和操作参数;根据业务使用需要确定数据目标项集合;根据所述数据目标项集合中所有数据目标项的操作流程确定数据目标项集合的操作流程;根据所述数据目标项集合和数据目标项集合的操作流程构建API调用函数。本发明可以自动以API方式实现数据导出,大大提高数据导出的效率,并且可智能化的对API执行过程进行合并、并行、组合等操作,进一步提高执行效率。

技术研发人员:李逸骏;陈明生;卢江滨;赵鹏
受保护的技术使用者:北京数聚鑫云信息技术有限公司
技术研发日:2018.11.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-25272.html

最新回复(0)