外部接口适配方法、装置和外部接口适配器与流程

文档序号:17398201发布日期:2019-04-13 00:59阅读:254来源:国知局
外部接口适配方法、装置和外部接口适配器与流程

本发明涉及通信技术领域,特别涉及一种外部接口适配方法、装置和外部接口适配器。



背景技术:

目前java技术通信的接口种类繁多,有http接口、https接口、mqtt传输、websocket接口和webservice接口等,通信原理各不相同,现有市场上有各种接口调用测试工具,并且当系统接入外部接口时,通常需要开发人员定制化开发才能调用外部接口,无法对外部接口进行自动适配,加大了系统调用外部接口的复杂度,使用极为不便。



技术实现要素:

鉴于上述问题,本发明提供一种外部接口适配方法、装置和外部接口适配器,当系统接入外部接口时,能够自动适配外部接口,降低了接口调用的复杂性,提高了接口适配的便利性。

一种外部接口适配方法,包括:

通过用户层获取用户定义信息并发送至业务层;

通过上述业务层对上述用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至上述外部接口,以使上述外部接口对上述预设格式信息进行适配并生成对应的适配结果;

通过采集层接收上述外部接口发送的上述适配结果,并根据上述适配结果判断是否同上述外部接口适配成功;若是,则通过上述采集层根据预设算法对上述适配结果进行解析,得到对应的适配数据,将上述适配数据转换成数据表数据并通过采集层发送至展示层进行展示;若否,则通过上述采集层将上述适配结果发送至上述展示层进行展示。

在一个实施例中,上述方法还包括:

通过上述展示层获取用户保存指令,根据上述用户保存指令,将对应的用户保存信息发送至后台数据库进行保存。

在一个实施例中,上述通过用户层获取用户定义信息并发送至业务层的步骤包括:

通过用户层获取用户定义信息并发送至预设缓存器进行保存;

根据上述用户定义信息对应的数据量大小,通过上述预设缓存器使用对应的线程池将上述用户定义信息发送至业务层。

在一个实施例中,上述预设缓存器包括ehcache缓存、redis缓存和memcache缓存中的任意一种。

此外,还提供了一种外部接口适配装置,包括:

信息获取与发送单元,用于通过用户层获取用户定义信息并发送至业务层;

信息转换与发送单元,用于通过上述业务层对上述用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至上述外部接口,以使上述外部接口对上述预设格式信息进行适配并生成对应的适配结果;

适配结果获取单元,用于通过采集层接收上述外部接口发送的上述适配结果;

判断单元,用于根据上述适配结果判断是否同上述外部接口适配成功,若是,则进入第一处理单元,若否,则进入第二处理单元;

第一处理单元,用于根据预设算法对上述适配结果进行解析,得到对应的适配数据,将上述适配数据转换成数据表数据并发送至展示层进行展示;

第二处理单元,用于通过所述采集层将所述适配结果发送至所述展示层进行展示并返回至所述通过用户层获取用户定义信息并发送至业务层的步骤执行,直至适配成功。

在一个实施例中,上述装置还包括:

数据保存单元,用于通过上述展示层获取用户保存指令,根据上述用户保存指令,将对应的用户保存信息发送至后台数据库进行保存。

在一个实施例中,上述信息获取与发送单元包括:

信息获取子单元,用于通过用户层获取用户定义信息;

信息发送子单元,用于通过用户层将所述用户定义信息发送至预设缓存器进行保存,根据上述用户定义信息对应的数据量大小,通过上述预设缓存器使用对应的线程池将上述用户定义信息发送至业务层。

此外,还提供了一种外部接口适配器,包括:

用户层,用于获取用户定义信息并发送至业务层;

上述业务层,用于对上述用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至上述外部接口,以使上述外部接口对上述预设格式信息进行适配并生成对应的适配结果;

采集层,用于接收上述外部接口发送的上述适配结果,并根据上述适配结果判断是否同上述外部接口适配成功;若是,则依据预设算法对上述适配结果进行解析,得到对应的适配数据,进一步将上述适配数据转换成数据表数据并发送至展示层;若否,则通过所述采集层将所述适配结果发送至所述展示层并返回至所述通过用户层获取用户定义信息并发送至业务层的步骤执行,直至适配成功;

所述展示层,用于将接收到的所述数据表数据或所述适配结果进行展示。

在一个实施例中,上述外部接口适配器还包括:

存储器,用于接收上述展示层发送的用户保存信息并进行保存。

在一个实施例中,上述外部接口适配器还包括预设缓存器,上述预设缓存器还用于接收上述用户层发送的用户定义信息,并根据上述用户定义信息对应的数据量大小,使用对应的线程池将上述用户定义信息发送至业务层。

上述外部接口适配方法、装置和外部接口适配器,通过用户层获取用户定义信息并发送至业务层,通过业务层对用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至外部接口,以使外部接口对预设格式信息进行适配并生成对应的适配结果,通过采集层接收外部接口发送的适配结果,并根据适配结果判断是否同外部接口适配成功;若是,则通过采集层根据预设算法对适配结果进行解析,得到对应的适配数据,将适配数据转换成数据表数据并发送至展示层进行展示;若否,则通过所述采集层将所述适配结果发送至所述展示层进行展示并返回至所述通过用户层获取用户定义信息并发送至业务层的步骤执行,直至适配成功,通过设置用户层,将外部接口调用由定制化开发交给用户自定义,使得用户可以直接定义外部接口具体参数信息,生成用户定义信息,不仅方便用户灵活修改,也减少了开发和维护成本,编排出更符合用户需求的接口,简化了用户的操作,为用户提供了极大的便利;进一步的,通过用户层、业务层、采集层和展示层相互的配合,使得系统适配外部接口时可维护性更强,间接提高了开发人员的开发效率,也使得用户不必自己分析数据,提高了数据分析的效率,使得当前系统接入外部接口时,能够自动适配外部接口,从整体上降低了调用外部接口的复杂性,提高了外部接口适配的便利性,增强了外部接口适配的可维护性。

附图说明

图1为一个实施例中外部接口适配方法的应用环境图;

图2为一个实施例中外部接口适配方法的流程示意图;

图3为另一个实施例中外部接口适配方法的流程示意图;

图4为一个实施例中获取用户定义信息并发送至业务层的流程示意图;

图5为一个实施例中一种外部接口适配装置的结构框图;

图6为另一个实施例中一种外部接口适配装置的结构框图;

图7为一个实施例中信息获取与发送单元的结构框图;

图8为一个实施例中一种外部接口适配器的结构框图;

图9为另一个实施例中一种外部接口适配器的结构框图;

图10为又一个实施例中一种外部接口适配器的结构框图。

具体实施方式

在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。

在下文中,可在本公开的各种实施例中使用的术语“包括”或“可包括”指示所公开的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本公开的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

在本公开的各种实施例中,表述“或”或“a或/和b中的至少一个”包括同时列出的文字的任何组合或所有组合。例如,表述“a或b”或“a或/和b中的至少一个”可包括a、可包括b或可包括a和b二者。

在本公开的各种实施例中使用的表述(诸如“第一”、“第二”等)可修饰在各种实施例中的各种组成元件,不过可不限制相应组成元件。例如,以上表述并不限制所述元件的顺序和/或重要性。以上表述仅用于将一个元件与其它元件区别开的目的。例如,第一用户装置和第二用户装置指示不同用户装置,尽管二者都是用户装置。例如,在不脱离本公开的各种实施例的范围的情况下,第一元件可被称为第二元件,同样地,第二元件也可被称为第一元件。

应注意到:如果描述将一个组成元件“连接”到另一组成元件,则可将第一组成元件直接连接到第二组成元件,并且可在第一组成元件和第二组成元件之间“连接”第三组成元件。相反地,当将一个组成元件“直接连接”到另一组成元件时,可理解为在第一组成元件和第二组成元件之间不存在第三组成元件。

在本公开的各种实施例中使用的术语“用户”可指示使用电子装置的人或使用电子装置的装置(例如,人工智能电子装置)。

在本公开的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本公开的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本公开的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本公开的各种实施例中被清楚地限定。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。

图1为一个实施例中一种外部接口适配方法的应用环境图。其中,101表示当前系统,102表示外部接口,当前系统101通常需要调用外部接口102,外部接口102包括http接口、https接口、mqtt传输、websocket接口和webservice接口中的任意一种。

在一个实施例中,如图2所示,提供了一种外部接口适配方法,包括:

步骤s110,通过用户层获取用户定义信息并发送至业务层。

用户定义信息一般包括用户接口类型、接口地址、接口参数、头参数、接口协议和接口方法中一种或者多种,用户层一般采取可视化的方法,通过下拉和输入结合的方式简化用户操作。

在一个实施例中,外部接口例如:http/https/webservice/websocket,接口的路径地址:www.baidu.com,接口参数为接口传入参数,例如:departid=1001,datestart=2018-12-0123:59:59,头文件参数为接口的头参数,例如:http的content-type(内容类型)。

通过设置用户层,将外部接口调用由定制化开发交给用户自定义,使得用户可以直接定义外部接口具体参数信息,生成用户定义信息,不仅方便用户灵活修改,也减少了开发和维护成本,编排出更符合用户需求的接口,简化了用户的操作,为用户提供了极大的便利。

当前系统通过用户层获得用户定义信息后可进一步发送至业务层进行处理。

步骤s120,通过业务层对用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至外部接口,以使外部接口对预设格式信息进行适配并生成对应的适配结果。

其中,当前系统通过业务层可以对用户定义信息进行格式转换,在获取用户定义信息对其进行解析后,可以首先判断接口类型,然后根据接口类型,将用户定义信息中对应的各项信息转换成对应的预设格式信息,进一步发送给外部接口,外部接口接收到该预设格式信息后进行识别适配,并生成对应的适配结果。

在一个实施例中,例如,接口类型为http,用户设置了三个查询参数,例如departid,startdate和enddate,系统将参数及对应值放入hashmap集合,在调用外部接口时,转换为同http接口类型相对应的json字符串传给外部接口。

步骤s130,通过采集层接收外部接口发送的适配结果,并根据适配结果判断是否同外部接口适配成功,若是,则进入步骤s140,若否,则进入步骤s150。

通过采集层接收外部接口发送的适配结果后,可以根据适配结果初步判断是否同外部接口适配成功,如果适配成功,则进入步骤s140,如果不成功,则进入步骤s150。

在一个实施例中,如果匹配不成功,适配结果通常为空值或者有错误标志的字符串,采集层接收到该适配结果会捕捉到对应的不成功信息,判断匹配不成功,进入步骤s150。

在一个实施例中,如果匹配成功,通常适配结果中带有匹配成功的标志信息,当前系统可以通过采集层进行捕捉识别,这里可采用python算法函数中的scikit-learn机器学习模块来提高采集层判断匹配成功与否,经过长时间的机器学习,可以大大提高系统判断是否同外部接口适配成功的正确率。

其中,当前系统通过采集层在接收适配结果时,对于数据量较大的适配结果,一般可以采取kafka队列或者rabbitmq队列,缩短数据传输时间,提高系统同时收集数据的能力和效率。

步骤s140,通过采集层根据预设算法对适配结果进行解析,得到对应的适配数据,将适配数据转换成数据表数据并通过采集层发送至展示层进行展示。

当前系统一般通过采集层根据预设算法对适配结果进行解析,首先获得对应的适配数据格式,然后进一步利用预设算法函数获得对应的适配数据内容,其中预设算法一般包括具有自主学习能力的预设大数据算法,例如预设的python算法函数中的scikit-learn机器学习模块,提高了数据解析处理的效率。

其中,解析数据格式时可以采用hadoop集群并发解析或者多线程方式进行解析,以提高对应的解析效率。

其中,当前系统通过采集层能够进一步适配数据转换成数据表数据并发送至展示层进行展示,将适配数据转换成数据表数据主要使得展示层在展示数据时,能够让用户清楚直观的进行查看和删减,一般数据表数据采用二维形式数据表数据。

步骤s150,通过采集层将适配结果发送至展示层进行展示并返回至步骤s110执行,直至适配成功。

其中,当前系统同外部接口适配不成功后,通过采集层直接将获取的适配结果发送至展示层进行展示,使得用户能够获得适配结果中对应的适配不成功结果,进一步重新进入用户层进行设置,然后通过用户层便可获取用户定义信息,返回步骤s110,重复上述适配方法过程,直至适配成功。

上述外部接口适配方法,通过设置用户层,将外部接口调用由定制化开发交给用户自定义,使得用户可以直接定义外部接口具体参数信息,生成用户定义信息,不仅方便用户灵活修改,也减少了开发和维护成本,编排出更符合用户需求的接口,简化了用户的操作,为用户提供了极大的便利;进一步的,通过用户层、业务层、采集层和展示层相互的配合,使得系统适配外部接口时可维护性更强,间接提高了开发人员的开发效率,也使得用户不必自己分析数据,提高了数据分析的效率,使得当前系统接入外部接口时,能够自动适配外部接口,从整体上降低了调用外部接口的复杂性,提高了外部接口适配的便利性,增强了接口适配的可维护性。

在一个实施例中,如图3所示,上述方法还包括:

步骤s160,通过上述展示层获取用户保存指令,根据上述用户保存指令,将对应的用户保存信息发送至后台数据库进行保存。

其中,当前系统通过展示层主要以路径列表的数据库数据表形式展示给用户,路径能定位到适配数据中数据内容具体的位置,用户根据需要对展示内容进行删减,然后保存时生成用户保存指令,当前系统通过展示层根据用户修改的路径从上述适配数据中选取数据内容并判断对应路径是否存在,如果显示路径非法或在适配数据中没有对应数据内容,则重新提示提示用户修改;如果路径存在,则将根据用户保存指令,将对应的用户保存信息发送至后台数据库进行保存。

通过展示层,使得用户能够对返回的适配数据进行删减,进一步能够使得用户能够保存有效数据内容,为后续的数据内容的查询和调取奠定基础。

在一个实施例中,如图4所示,步骤s110包括:

步骤s112,通过用户层获取用户定义信息并发送至预设缓存器进行保存。

为降低系统内存负担,提高系统处理能力,一般可以通过设置预设缓存器的方法,用户层获取用户定义信息后可进一步发送至预设缓存器进行暂存。

步骤s114,根据上述用户定义信息对应的数据量大小,通过上述预设缓存器使用对应的线程池将上述用户定义信息发送至业务层。

其中,在设置预设缓存器时,一般设计成线程池数量与数据量正相关,根据用户定义信息数据量的大小,可以对业务层使用线程池的数量进行限制,以合理的限制业务层对线程池的消费,当前系统通过预设缓存器使用匹配对应的线程池数量,将上述用户定义信息发送至业务层。

通过设置上述预设缓存器,能够合理利用内存储存原理,能减少用户层与后台数据库的交互次数,缩短整个系统响应时间,提高整个适配过程的效率。

在一个实施例中,上述预设缓存器包括ehcache缓存、redis缓存和memcache缓存中的任意一种。

此外,如图5所示,还提供了一种外部接口适配装置,包括:

信息获取与发送单元210,用于通过用户层获取用户定义信息并发送至业务层;

信息转换与发送单元220,用于通过业务层对用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至外部接口,以使外部接口对预设格式信息进行适配并生成对应的适配结果;

适配结果获取单元230,用于通过采集层接收外部接口发送的适配结果;

判断单元240,用于根据适配结果判断是否同外部接口适配成功,若是,则进入第一处理单元250,若否,则进入第二处理单元260;

第一处理单元250,用于根据预设算法对适配结果进行解析,得到对应的适配数据,将适配数据转换成数据表数据并通过采集层发送至展示层进行展示;

第二处理单元260,用于通过所述采集层将所述适配结果发送至所述展示层进行展示并返回至所述通过用户层获取用户定义信息并发送至业务层的步骤执行,直至适配成功。

在一个实施例中,如图6所示,上述装置还包括:

数据保存单元270,用于通过展示层获取用户保存指令,根据用户保存指令,将对应的用户保存信息发送至后台数据库进行保存。

在一个实施例中,如图7所示,信息获取与发送单元210包括:

信息获取子单元212,用于通过用户层获取用户定义信息;

信息发送子单元214,用于通过用户层将所述用户定义信息发送至预设缓存器进行保存,根据用户定义信息对应的数据量大小,通过预设缓存器使用对应的线程池将用户定义信息发送至业务层。

此外,还提供了一种外部接口适配器300,如图8所示,与上述外部接口适配方法相对应,包括:

用户层301,用于获取用户定义信息并发送至业务层302;

业务层302,用于对用户定义信息进行格式适配转换,得到对应的预设格式信息并发送至外部接口,以使外部接口对预设格式信息进行适配并生成对应的适配结果;

采集层303,用于接收外部接口发送的适配结果,并根据适配结果判断是否同外部接口适配成功;若是,则依据预设算法对适配结果进行解析,得到对应的适配数据,进一步将适配数据转换成数据表数据并发送至展示层304;若否,则通过所述采集层将所述适配结果发送至所述展示层304并返回至所述通过用户层获取用户定义信息并发送至业务层的步骤执行,直至适配成功;

所述展示层304,用于将接收到的所述数据表数据或所述适配结果进行展示。

上述外部接口适配器300,通过设置用户层301,将外部接口调用由定制化开发交给用户自定义,使得用户可以直接定义外部接口具体参数信息,生成用户定义信息,不仅方便用户灵活修改,也减少了开发和维护成本,编排出更符合用户需求的接口,简化了用户的操作,为用户提供了极大的便利;进一步的,通过用户层301、业务层302、采集层303和展示层304相互的配合,使得系统适配外部接口时可维护性更强,间接提高了开发人员的开发效率,也使得用户不必自己分析数据,提高了数据分析的效率,使得当系统接入外部接口时,能够自动适配外部接口,从整体上降低了调用外部接口的复杂性,提高了外部接口适配的便利性,增强了外部接口适配器300的可维护性。

在一个实施例中,如图9所示,外部接口适配器400,除包括用户层301、业务层302、采集层303和展示层304外,还包括:

存储器305,用于接收展示层303发送的用户保存信息并进行保存。

在一个实施例中,如图10所示,外部接口适配器还包括预设缓存器306,预设缓存器306还用于接收用户层301发送的用户定义信息,并根据用户定义信息对应的数据量大小,使用对应的线程池将用户定义信息发送至业务层302。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1