CN112688802B - 一种基于api网关的高效能交换中间件 - Google Patents

一种基于api网关的高效能交换中间件 Download PDF

Info

Publication number
CN112688802B
CN112688802B CN202011467480.4A CN202011467480A CN112688802B CN 112688802 B CN112688802 B CN 112688802B CN 202011467480 A CN202011467480 A CN 202011467480A CN 112688802 B CN112688802 B CN 112688802B
Authority
CN
China
Prior art keywords
thread
message
sequence
transmission
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011467480.4A
Other languages
English (en)
Other versions
CN112688802A (zh
Inventor
金震
王兆君
张京日
康进港
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing SunwayWorld Science and Technology Co Ltd
Original Assignee
Beijing SunwayWorld Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing SunwayWorld Science and Technology Co Ltd filed Critical Beijing SunwayWorld Science and Technology Co Ltd
Priority to CN202011467480.4A priority Critical patent/CN112688802B/zh
Publication of CN112688802A publication Critical patent/CN112688802A/zh
Application granted granted Critical
Publication of CN112688802B publication Critical patent/CN112688802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于API网关的高效能交换中间件,包括:设计器,用于接收用户的输入信息,获取应用服务;服务总线,用于对与应用服务相关的目标消息进行协议转换,并将转换结果传输到目标应用;源数据服务模块,用于创建源数据服务;分析监控模块,用于对设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控;API网关管理模块,用于基于源数据服务以及分析监控结果,对目标应用进行API管理。通过设计器获取应用服务,便于降低开发难度,通过设置API网关管理模块进行API管理,便于解决API资源的异构性强,难以复用的问题,且通过设置服务总线,便于降低服务之间的耦合性,进一步降低实施难度。

Description

一种基于API网关的高效能交换中间件
技术领域
本发明涉及信息交换技术领域,特别涉及一种基于API网关的高效能交换中间件。
背景技术
目前有很多基于多项技术的数据交换中间件实现的,通过这些中间件可以实现同步、异步交换数据、数据路由等基本的数据交换功能,但是,会存在如下问题:
1、在系统集成过程中编码多、实施难度大;
2、对于开发人员,需要关心安全检查,流量监控等辅助功能,架构师则需要为不同的API编写适配接口,API资源的异构性强,难以复用的问题。
因此,本发明提出一种基于API网关的高效能交换中间件。
发明内容
本发明提供一种基于API网关的高效能交换中间件,用以解决上述提出的技术问题。
本发明实施例提供一种基于API网关的高效能交换中间件,包括:
设计器,用于接收用户的输入信息,获取应用服务;
服务总线,用于对与应用服务相关的目标消息进行协议转换,并将转换结果传输到目标应用;
源数据服务模块,用于创建源数据服务;
分析监控模块,用于对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控;
API网关管理模块,用于基于源数据服务以及分析监控结果,对所述目标应用进行API管理。
在一种可能实现的方式中,
服务总线对目标消息进行协议转换,并将转换结果传输到目标应用包括:
识别目标消息的传输协议类型,并将所述目标消息放入安全传输通道中进行传入;
将所述目标消息进行消息路由以及数据格式的转换处理;
将处理后的消息结果放入安全传输通道中进行传出;
将传出的结果进行传输协议转换,并将转换后的结果传输到目标应用。
在一种可能实现的方式中,创建源数据服务包括:
定义源数据服务,包括:指定数据服务的详细信息,并启动所述指定数据服务的高级选项;
添加数据源,包括:向所述源数据服务中添加所述指定数据服务的待公开数据源的详细信息;
数据源操作,包括:根据启动结果,指定查询添加详细信息的源数据服务对应的待处理特定数据源中的数据;
将指定查询的数据公开为对应的指定服务,并创建得到源数据服务。
在一种可能实现的方式中,接收实施人员的输入信息,设计目标服务包括:
接收实施人员的输入信息,并通过图像化的方式设计目标服务。
在一种可能实现的方式中,所述API网关管理模块,包括:
API创建单元,用于生成应用程序接口,并将所述应用程序接口注册到API网关,发布给API消费单元使用;
API消费单元,用于当使用所述应用程序接口时,发送API请求到API网关;
API网关,用于对所述API请求进行预处理,并根据预处理结果对所述API网关进行过滤、拦截和监控;
其中,所述API消费单元,还用于展示用户可见的所有应用程序接口,且所述用户通过对应的展示界面查找、订阅所需的应用程序接口。
在一种可能实现的方式中,将所述目标消息进行消息路由以及数据格式的转换处理包括:
获取所述目标消息的当前消息路由器以及所述目标消息的当前数据格式;
确定所述用户的目标需求,并按照所述目标需求,从配置数据库中,自动输出转换配置,并将所述当前数据格式基于所述转换配置转换为与所述目标需求相关的目标数据格式;
同时,根据所述目标需求,确定需求属性,且确定所述目标消息的传输起点以及传输终点;
根据所述需求属性、传输起点以及传输终点,从传输规则库中调取传输规则,并按照所述传输规则,将所述目标消息进行转换传输。
在一种可能实现的方式中,按照所述传输规则,将所述目标消息进行转换传输之前,还包括:
确定所述目标消息的传输个数,并按照优先级将所述目标消息按照时间戳将所述目标消息传输到第一暂存区,同时,筛选符合预设条件的第一消息,并将所有的第一消息传输到第二暂存区进行存储;
同时,判断所述第一暂存区中的目标消息中的当前剩余消息中是否存在首次传输的第二消息,若存在,获取所有第二消息传输到第三暂存区进行存储;
提取所述第一暂存区的最后剩余消息中每个消息的关键序列,并从预先设定的序列映射表中,获取所述关键序列的序列极值;
标定所述序列极值不在预设极值范围内的关键序列,并将对应的消息作为第三消息传输到第四暂存区进行存储;
对所述第四暂存区中的第三消息进行预分析,确定每个所述第三消息的消息序列以及关键序列,并获取所述消息序列与关键序列的差别序列,同时,获取所述差别序列的差别权值;
确定所述关键序列与所述预设极值范围对应的预设序列的差异序列,并在所述关键序列中将差异序列进行标注,同时,确定所述差异序列中每个序列值在关键序列中的差异位置;
将所述差异位置以及差异位置对应的每个序列值传输到误差判别模型,判断对应的差异序列是否由于系统误差导致的;
若是,基于基于差别权值以及误差修复模型,将所述差异序列进行修复,并重构修复后的差异序列对应的关键序列;
确定重构后的关键序列对应的序列极值是否在预设极值范围内;
若在,将重构后的关键序列替换原先的关键序列,获得对应的重构的第三消息重新传输到第一暂存区;
若不在,将重构的第三消息继续暂存在第四暂存区;
根据预先设定的暂存区的传输规则,将对应的目标消息进行转换传输。
在一种可能实现的方式中,分析监控模块对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控的过程中,包括:
监控所述设计器在接收到用户的输入信息之后的第一线程集合;
监控所述服务总线在进行协议转换过程中的第二线程集合;
监控所述源数据服务模块创建源数据服务的第三线程集合;
确定所述第一线程集合中每个第一线程的权重值以及确定相邻第一线程之间的第一关联度;
确定所述第二线程集合中每个第二线程的权重值以及确定相邻第二线程之间的第二关联度;
确定所述第三线程集合中每个第三线程的权重值以及确定相邻第三线程之间的第三关联度;
根据如下公式,计算所述第一线程集合与第二线程集合的第一衔接值A1以及第二线程集合与第三线程集合的第二衔接值A2;
Figure BDA0002831258010000041
Figure BDA0002831258010000051
其中,I1表示所述第一线程集合中第一线程的总个数;I2表示所述第二线程集合中第二线程的总个数;βi1表示第一线程集合中第i1个第一线程集合的权重值;βi1+1表示第一线程集合中第i1+1个第一线程集合的权重值;Pi1,i1+1表示相邻的第i1个第一线程与第i1+1个第一线程之间的第一关联度;βi2表示第二线程集合中第i2个第二线程集合的权重值;βi2+1表示第二线程集合中第i2+1个第二线程集合的权重值;Pi2,i2+1表示相邻的第i2个第二线程与第i2+1个第二线程之间的第二关联度;Yi1表示第i1个第一线程的传输可靠值,且取值范围为[0.1,1];Yi2表示第i2个第二线程的传输可靠值,且取值范围为[0.1,1];I3表示所述第三线程集合中第三线程的总个数;βi3表示第三线程集合中第i3个第三线程集合的权重值;βi3+1表示第三线程集合中第i3+1个第三线程集合的权重值;Pi3,i3+1表示相邻的第i3个第三线程与第i3+1个第三线程之间的第三关联度;Yi3表示第i3个第三线程的传输可靠值,且取值范围为[0.1,1];
根据所述第一衔接值以及第二衔接值,确定所述设计器、服务总线以及源数据服务模块之间在进行消息传输过程中是否存在传输差异;
若所述第一衔接值以及第二衔接值都在对应的预设衔接范围内时,判定不存在传输差异,并按照所述第一线程集合、第二线程集合以及第三线程集合进行正常传输;
否则,对所述预设衔接范围进行修正处理,获得新的衔接范围,若所述第一衔接值和/或第二衔接值仍不在新的衔接范围内时,判定存在传输差异,此时,从所述第一线程集合、第二线程集合以及第三线程集合中提取差异线程;
同时,按照所述差异线程的权重值确定对应的修正线程方案,并按照所述修正线程方案对所述差异线程进行修正;
并按照修正后的第一线程集合、第二线程集合以及第三线程集合进行正常传输。
在一种可能实现的方式中,API网关管理模块,还用于在进行API管理的过程中,将管理结果进行可视化,且在可视化过程中,接收用户的访问指令,并对访问的应用程序接口进行调控。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于API网关的高效能交换中间件的结构图;
图2为本发明实施例中服务总线的消息传递结构图;
图3为本发明实施例中源数据服务的构建流程图;
图4为本发明实施例中API网关管理模块的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明实施例提供一种基于API网关的高效能交换中间件,如图1所示,包括:
设计器,用于接收用户的输入信息,获取应用服务;
服务总线,用于对与应用服务相关的目标消息进行协议转换,并将转换结果传输到目标应用;
源数据服务模块,用于创建源数据服务;
分析监控模块,用于对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控;
API网关管理模块,用于基于源数据服务以及分析监控结果,对所述目标应用进行API管理。
该实施例中,设计器本身是基于eclipse插件的方式来实现的,用户可以通过图形化的方式来设计所需要的服务,降低开发难度。
该实施例中,使用服务总线是因为异构应用程序之间的集成对企业至关重要。不同的服务可能使用不同的数据格式和通信协议,服务的地址可以任意改变。所有这些限制意味着的应用程序仍然紧密耦合在一起,使用服务总线可以减少不同服务和服务使用者之间的耦合。
该实施例中,源数据服务对应的平台是通过简单配置公布成定义好的接口。
该实施例中,分析监控模块是为了提供流数据分析、复杂事件处理、机器学习算法,便于有效理解事件、映射影响、模式识别,响应时间在毫秒级。
该实施例中,API网关管理模块,是为了提供了一个完整的API发布的解决方案,从创建和管理API,到监控API,AM提供了API整个生命周期所需要的各种控制,包含控制访问权限,访问流量,监控API的调用,版本控制等。
上述技术方案的有益效果是:通过设计器获取应用服务,便于降低开发难度,通过设置API网关管理模块进行API管理,便于解决API资源的异构性强,难以复用的问题,且通过设置服务总线,便于降低服务之间的耦合性,进一步降低实施难度。
实施例2:
在实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,如图2所示,
服务总线对目标消息进行协议转换,并将转换结果传输到目标应用包括:
识别目标消息的传输协议类型,并将所述目标消息放入安全传输通道中进行传入;
将所述目标消息进行消息路由以及数据格式的转换处理;
将处理后的消息结果放入安全传输通道中进行传出;
将传出的结果进行传输协议转换,并将转换后的结果传输到目标应用。
该实施例中,传输协议类型包括:http、https、soap、sap、nfc、jms、mail、tcp等。
该实施例中,消息数据格式的转换可以是基于消息构造器实现的,用来处理通用的JSON或者XML格式数据,通过拖拽化的配置实现消息转换。
该实施例中,消息路由可执行如下功能,基于内容和规则的消息路由(来回)、消息过滤、消息合并和消息的重新排序。消息路由控制组件如何接收消息,以及在处理后应该发送到何处去,入站路由控制服务如何处理入站消息(如,有选择地允许那些符合特定标准的消息),出站路由控制服务处理完消息后该将其发往何处(如,将其发送到接收者的列表,或将消息拆分,然后发送到不同的端点)。
该实施例中,进行转换处理,并将处理后的消息结果放入安全传输通道中进行传出例如还可以是依赖如下内容实现的:
EndPoint可连接到任何外部服务和接口,外部服务可以是rest、webservices、邮箱、JMS队列等。
代理服务是接收消息的虚拟服务,并可选择在将它们转发到给特定服务之前对其进行处理。此方法允许执行必要的转换并引入其他功能,而无需更改现有服务。任何可用的传输都可用于从代理服务接收和发送消息。
消息队列允许应用程序组件基于Java平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
定时任务支持定时运行提前设计好的指定流程。
QoS组件实现安全性的数据传输。
上述技术方案的有益效果是:便于有效的减少不同服务和服务使用者之间的耦合。
实施例3:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,如图3所示,创建源数据服务包括:
定义源数据服务,包括:指定数据服务的详细信息,并启动所述指定数据服务的高级选项;
添加数据源,包括:向所述源数据服务中添加所述指定数据服务的待公开数据源的详细信息;
数据源操作,包括:根据启动结果,指定查询添加详细信息的源数据服务对应的待处理特定数据源中的数据;
将指定查询的数据公开为对应的指定服务,并创建得到源数据服务。
该实施例中,详细信息例如数据服务的名称和描述。此外,还可以为数据服务启用高级选项,例如命名空间,批处理请求,数据流,传输设置和分布式事务设置。
该实施例中,可以将多个数据源添加到数据服务以实现数据联合。可以为数据源配置的参数取决于数据源的类型。
该实施例中,数据源操作,例如是创建查询以搜索数据源中的数据,或插入/更新/删除数据,且定义的查询将包含将用于执行查询功能的参数。
该实施例中,指定服务是包括:SOAP服务或者REST服务。
该实施例中,支持的数据源:任何RDBMS,CSV,Excel,Carbon数据源,Cassandra,GoogleSpreadsheets,RDF,JNDI数据源,自定义数据源,任何通过抓取的网页,MongoDB。
该实施例中,支持的数据库:MSSQL,DB2,Oracle,OpenEdge,TerraData,MySQL,PostgreSQL/EnterpriseDB,H2,Derby或任何带有JDBC驱动程序的数据库。
该实施例中,源数据服务可以是基于上述数据源和数据库确定的。
上述技术方案的有益效果是:通过创建源数据服务,便于提供简单易用的方式来促进接口开发工作。
实施例4:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,接收实施人员的输入信息,设计目标服务包括:
接收实施人员的输入信息,并通过图像化的方式设计目标服务。
上述技术方案的有益效果是:便于降低开发难度。
实施例5:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,所述API网关管理模块,如图4所示,包括:
API创建单元,用于生成应用程序接口,并将所述应用程序接口注册到API网关,发布给API消费单元使用;
API消费单元,用于当使用所述应用程序接口时,发送API请求到API网关;
API网关,用于对所述API请求进行预处理,并根据预处理结果对所述API网关进行过滤、拦截和监控;
其中,所述API消费单元,还用于展示用户可见的所有应用程序接口,且所述用户通过对应的展示界面查找、订阅所需的应用程序接口。
上述技术方案的有益效果是:通过获取适配的接口,便于降低开发工作量,其还便于实现资源的复用。
实施例6:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,将所述目标消息进行消息路由以及数据格式的转换处理包括:
获取所述目标消息的当前消息路由器以及所述目标消息的当前数据格式;确定所述用户的目标需求,并按照所述目标需求,从配置数据库中,自动输出转换配置,并将所述当前数据格式基于所述转换配置转换为与所述目标需求相关的目标数据格式;
同时,根据所述目标需求,确定需求属性,且确定所述目标消息的传输起点以及传输终点;
根据所述需求属性、传输起点以及传输终点,从传输规则库中调取传输规则,并按照所述传输规则,将所述目标消息进行转换传输。
该实施例中,转换配置是预先设定好的。
该实施例中,传输起点以及传输终点可以是与服务总线相关的传输通道的起点以及终点。
该实施例中,目标需求,例如是用户采用http协议进行消息的传输,因此,如果目标消息不是对应的http协议,需要将其转换为hppt协议,再进行传输。
上述技术方案的有益效果是:通过获取目标需求以及传输起点以及终点,便于数据的有效传输,降低服务耦合。
实施例7:
基于实施例6的基础上,按照所述传输规则,将所述目标消息进行转换传输之前,还包括:
确定所述目标消息的传输个数,并按照优先级将所述目标消息按照时间戳将所述目标消息传输到第一暂存区,同时,筛选符合预设条件的第一消息,并将所有的第一消息传输到第二暂存区进行存储;
同时,判断所述第一暂存区中的目标消息中的当前剩余消息中是否存在首次传输的第二消息,若存在,获取所有第二消息传输到第三暂存区进行存储;
提取所述第一暂存区的最后剩余消息中每个消息的关键序列,并从预先设定的序列映射表中,获取所述关键序列的序列极值;
标定所述序列极值不在预设极值范围内的关键序列,并将对应的消息作为第三消息传输到第四暂存区进行存储;
对所述第四暂存区中的第三消息进行预分析,确定每个所述第三消息的消息序列以及关键序列,并获取所述消息序列与关键序列的差别序列,同时,获取所述差别序列的差别权值;
确定所述关键序列与所述预设极值范围对应的预设序列的差异序列,并在所述关键序列中将差异序列进行标注,同时,确定所述差异序列中每个序列值在关键序列中的差异位置;
将所述差异位置以及差异位置对应的每个序列值传输到误差判别模型,判断对应的差异序列是否由于系统误差导致的;
若是,基于基于差别权值以及误差修复模型,将所述差异序列进行修复,并重构修复后的差异序列对应的关键序列;
确定重构后的关键序列对应的序列极值是否在预设极值范围内;
若在,将重构后的关键序列替换原先的关键序列,获得对应的重构的第三消息重新传输到第一暂存区;
若不在,将重构的第三消息继续暂存在第四暂存区;
根据预先设定的暂存区的传输规则,将对应的目标消息进行转换传输。
该实施例中,目标消息可以是多个,预设条件,例如是初始传输满足是http协议的。
该实施例中,四个暂存区都是为了存储目标消息,不过每个暂存区存储的目标消息的条件不同,且存储的目标消息的目标都是相同的,为了进行传输。
该实施例中,首次传输是为了确定之前是否有传输过相同的消息,便于提高传输效率,由于消息是与请求相关的指令,且每个指令中都有关键部分,因此获取关键序列,可以是由于二进制数值构成的,序列映射表是存储的各种序列以及对应的极值。
该实施例中,预设极值范围是预先设定好的,且每个预设极值都有其对应的序列。
该实施例中,对第三消息进行预分析是为了获取第三消息的序列,差别序列是指消息序列中除却关键序列之后的剩余序列;
该实施例中,差别权值即为剩余序列的权值,且对应的权值应小于关键序列对应的权值。
该实施例中,预设序列是指与关键序列相似度最大的序列,且差异序列是由预设序列与关键序列中不一致的序列构成的;
该实施例中,进行标注,是为了更好的获取到差异序列。
该实施例中,由于每个序列都存在对应的序列位置,通过确定差异序列中每个序列的位置,便于获得差异位置。
该实施例中,误差判别模型以及误差修复模型是预先训练好的。
该实施例中,系统误差,是指由于系统本身错误导致消息序列出现错误。
该实施例中,对差异序列进行修复,是为了修复由于系统误差导致的错误的序列。
上述技术方案的有益效果是:通过对目标消息进行预设条件筛选,便于将其进行初次划分,同时,通过设置首次传输的条件,便于将其进行二次划分,且通过对最后剩余消息进行判断进行三次划分,且基于三次划分的基础上,首先通过确定每个消息的关键序列,获得序列极值,进而进行四次划分,在四次划分的基础上,通过确定消息序列以及关键序列的差别序列,获取差别权值,进而通过将差异序列进行标注,便于后续对其进行有效修正,通过差异位置以及模型,便于有效的判断是否由于系统误差导致的,保证序列的准确性,通过替换序列,并反向存储,便于消息所在区域的有效存储,通过消息进行暂存区的划分,且根据暂存区的传输规则,便于有效的将不同区的数据进行优先级有效传输,为解决资源的异构性提供便利,且便于资源的有效使用。
实施例8:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,分析监控模块对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控的过程中,包括:
监控所述设计器在接收到用户的输入信息之后的第一线程集合;
监控所述服务总线在进行协议转换过程中的第二线程集合;
监控所述源数据服务模块创建源数据服务的第三线程集合;
确定所述第一线程集合中每个第一线程的权重值以及确定相邻第一线程之间的第一关联度;
确定所述第二线程集合中每个第二线程的权重值以及确定相邻第二线程之间的第二关联度;
确定所述第三线程集合中每个第三线程的权重值以及确定相邻第三线程之间的第三关联度;
根据如下公式,计算所述第一线程集合与第二线程集合的第一衔接值A1以及第二线程集合与第三线程集合的第二衔接值A2;
Figure BDA0002831258010000141
Figure BDA0002831258010000142
其中,I1表示所述第一线程集合中第一线程的总个数;I2表示所述第二线程集合中第二线程的总个数;βi1表示第一线程集合中第i1个第一线程集合的权重值;βi1+1表示第一线程集合中第i1+1个第一线程集合的权重值;Pi1,i1+1表示相邻的第i1个第一线程与第i1+1个第一线程之间的第一关联度;βi2表示第二线程集合中第i2个第二线程集合的权重值;βi2+1表示第二线程集合中第i2+1个第二线程集合的权重值;Pi2,i2+1表示相邻的第i2个第二线程与第i2+1个第二线程之间的第二关联度;Yi1表示第i1个第一线程的传输可靠值,且取值范围为[0.1,1];Yi2表示第i2个第二线程的传输可靠值,且取值范围为[0.1,1];I3表示所述第三线程集合中第三线程的总个数;βi3表示第三线程集合中第i3个第三线程集合的权重值;βi3+1表示第三线程集合中第i3+1个第三线程集合的权重值;Pi3,i3+1表示相邻的第i3个第三线程与第i3+1个第三线程之间的第三关联度;Yi3表示第i3个第三线程的传输可靠值,且取值范围为[0.1,1];
根据所述第一衔接值以及第二衔接值,确定所述设计器、服务总线以及源数据服务模块之间在进行消息传输过程中是否存在传输差异;
若所述第一衔接值以及第二衔接值都在对应的预设衔接范围内时,判定不存在传输差异,并按照所述第一线程集合、第二线程集合以及第三线程集合进行正常传输;
否则,对所述预设衔接范围进行修正处理,获得新的衔接范围,若所述第一衔接值和/或第二衔接值仍不在新的衔接范围内时,判定存在传输差异,此时,从所述第一线程集合、第二线程集合以及第三线程集合中提取差异线程;
同时,按照所述差异线程的权重值确定对应的修正线程方案,并按照所述修正线程方案对所述差异线程进行修正;
并按照修正后的第一线程集合、第二线程集合以及第三线程集合进行正常传输。
该实施例中,第一线程集合、第二线程集合以及第三线程集合是包括至少两个线程在内的。
该实施例中,传出差异是指线程集合中中的某些个线程存在故障。
该实施例中,对差异线程进行修正,就是指将其恢复正常。
该实施例中,关联度是与当前线程所接收的上一线程所传输的参数的数量等有关。
上述技术方案的有益效果是:通过获取设计器、服务总线以及源数据服务模块的进程集合,便于确定是否可以按照线程进行有效传输,通过计算第一线程集合与第二线程集合以及第二线程集合与第三线程集合之间的衔接值,便于有效确定是否在衔接范围内,当不在衔接范围内时,通过对衔接范围进行修正,并通过提取差异线程,再由差异线程对应的权重值所获取的修正线程方案对其进行修正,保证有效传输,便于间接降低服务之间的耦合性,进而进一步降低实施难度。
实施例9:
基于实施例1的基础上,本发明实施例提供一种基于API网关的高效能交换中间件,API网关管理模块,还用于在进行API管理的过程中,将管理结果进行可视化,且在可视化过程中,接收用户的访问指令,并对访问的应用程序接口进行调控。
上述技术方案的有益效果是:通过可视化,方便用户使用,通过接收访问指令,便于有效调控应用程序接口。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于API网关的高效能交换中间件,其特征在于,包括:
设计器,用于接收用户的输入信息,获取应用服务;
服务总线,用于对与应用服务相关的目标消息进行协议转换,并将转换结果传输到目标应用;
源数据服务模块,用于创建源数据服务;
分析监控模块,用于对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控;
API网关管理模块,用于基于源数据服务以及分析监控结果,对所述目标应用进行API管理;
所述API网关管理模块,包括:
API创建单元,用于生成应用程序接口,并将所述应用程序接口注册到API网关,发布给API消费单元使用;
API消费单元,用于当使用所述应用程序接口时,发送API请求到API网关;
API网关,用于对所述API请求进行预处理,并根据预处理结果对所述API网关进行过滤、拦截和监控;
其中,所述API消费单元,还用于展示用户可见的所有应用程序接口,且所述用户通过对应的展示界面查找、订阅所需的应用程序接口。
2.如权利要求1所述的高效能交换中间件,其特征在于,服务总线对目标消息进行协议转换,并将转换结果传输到目标应用包括:
识别目标消息的传输协议类型,并将所述目标消息放入安全传输通道中进行传入;
将所述目标消息进行消息路由以及数据格式的转换处理;
将处理后的消息结果放入安全传输通道中进行传出;
将传出的结果进行传输协议转换,并将转换后的结果传输到目标应用。
3.如权利要求1所述的高效能交换中间件,其特征在于,创建源数据服务包括:
定义源数据服务,包括:指定数据服务的详细信息,并启动所述指定数据服务的高级选项;
添加数据源,包括:向所述源数据服务中添加所述指定数据服务的待公开数据源的详细信息;
数据源操作,包括:根据启动结果,指定查询添加详细信息的源数据服务对应的待处理特定数据源中的数据;
将指定查询的数据公开为对应的指定服务,并创建得到源数据服务。
4.如权利要求1所述的高效能交换中间件,其特征在于,接收实施人员的输入信息,设计目标服务包括:
接收实施人员的输入信息,并通过图像化的方式设计目标服务。
5.如权利要求1所述的高效能交换中间件,其特征在于,将所述目标消息进行消息路由以及数据格式的转换处理包括:
获取所述目标消息的当前消息路由器以及所述目标消息的当前数据格式;
确定所述用户的目标需求,并按照所述目标需求,从配置数据库中,自动输出转换配置,并将所述当前数据格式基于所述转换配置转换为与所述目标需求相关的目标数据格式;
同时,根据所述目标需求,确定需求属性,且确定所述目标消息的传输起点以及传输终点;
根据所述需求属性、传输起点以及传输终点,从传输规则库中调取传输规则,并按照所述传输规则,将所述目标消息进行转换传输。
6.如权利要求5所述的高效能交换中间件,其特征在于,按照所述传输规则,将所述目标消息进行转换传输之前,还包括:
确定所述目标消息的传输个数,并按照优先级将所述目标消息按照时间戳将所述目标消息传输到第一暂存区,同时,筛选符合预设条件的第一消息,并将所有的第一消息传输到第二暂存区进行存储;
同时,判断所述第一暂存区中的目标消息中的当前剩余消息中是否存在首次传输的第二消息,若存在,获取所有第二消息传输到第三暂存区进行存储;
提取所述第一暂存区的最后剩余消息中每个消息的关键序列,并从预先设定的序列映射表中,获取所述关键序列的序列极值;
标定所述序列极值不在预设极值范围内的关键序列,并将对应的消息作为第三消息传输到第四暂存区进行存储;
对所述第四暂存区中的第三消息进行预分析,确定每个所述第三消息的消息序列以及关键序列,并获取所述消息序列与关键序列的差别序列,同时,获取所述差别序列的差别权值;
确定所述关键序列与所述预设极值范围对应的预设序列的差异序列,并在所述关键序列中将差异序列进行标注,同时,确定所述差异序列中每个序列值在关键序列中的差异位置;
将所述差异位置以及差异位置对应的每个序列值传输到误差判别模型,判断对应的差异序列是否由于系统误差导致的;
若是,基于差别权值以及误差修复模型,将所述差异序列进行修复,并重构修复后的差异序列对应的关键序列;
确定重构后的关键序列对应的序列极值是否在预设极值范围内;
若在,将重构后的关键序列替换原先的关键序列,获得对应的重构的第三消息重新传输到第一暂存区;
若不在,将重构的第三消息继续暂存在第四暂存区;
根据预先设定的暂存区的传输规则,将对应的目标消息进行转换传输。
7.如权利要求1所述的高效能交换中间件,其特征在于,分析监控模块对所述设计器、服务总线以及源数据服务模块的运行过程进行实时分析监控的过程中,包括:
监控所述设计器在接收到用户的输入信息之后的第一线程集合;
监控所述服务总线在进行协议转换过程中的第二线程集合;
监控所述源数据服务模块创建源数据服务的第三线程集合;
确定所述第一线程集合中每个第一线程的权重值以及确定相邻第一线程之间的第一关联度;
确定所述第二线程集合中每个第二线程的权重值以及确定相邻第二线程之间的第二关联度;
确定所述第三线程集合中每个第三线程的权重值以及确定相邻第三线程之间的第三关联度;
根据如下公式,计算所述第一线程集合与第二线程集合的第一衔接值A1以及第二线程集合与第三线程集合的第二衔接值A2;
Figure FDA0003138581830000041
Figure FDA0003138581830000042
其中,I1表示所述第一线程集合中第一线程的总个数;I2表示所述第二线程集合中第二线程的总个数;βi1表示第一线程集合中第i1个第一线程集合的权重值;βi1+1表示第一线程集合中第i1+1个第一线程集合的权重值;Pi1,i1+1表示相邻的第i1个第一线程与第i1+1个第一线程之间的第一关联度;βi2表示第二线程集合中第i2个第二线程集合的权重值;βi2+1表示第二线程集合中第i2+1个第二线程集合的权重值;Pi2,i2+1表示相邻的第i2个第二线程与第i2+1个第二线程之间的第二关联度;Yi1表示第i1个第一线程的传输可靠值,且取值范围为[0.1,1];Yi2表示第i2个第二线程的传输可靠值,且取值范围为[0.1,1];I3表示所述第三线程集合中第三线程的总个数;βi3表示第三线程集合中第i3个第三线程集合的权重值;βi3+1表示第三线程集合中第i3+1个第三线程集合的权重值;Pi3,i3+1表示相邻的第i3个第三线程与第i3+1个第三线程之间的第三关联度;Yi3表示第i3个第三线程的传输可靠值,且取值范围为[0.1,1];
根据所述第一衔接值以及第二衔接值,确定所述设计器、服务总线以及源数据服务模块之间在进行消息传输过程中是否存在传输差异;
若所述第一衔接值以及第二衔接值都在对应的预设衔接范围内时,判定不存在传输差异,并按照所述第一线程集合、第二线程集合以及第三线程集合进行正常传输;
否则,对所述预设衔接范围进行修正处理,获得新的衔接范围,若所述第一衔接值和/或第二衔接值仍不在新的衔接范围内时,判定存在传输差异,此时,从所述第一线程集合、第二线程集合以及第三线程集合中提取差异线程;
同时,按照所述差异线程的权重值确定对应的修正线程方案,并按照所述修正线程方案对所述差异线程进行修正;
并按照修正后的第一线程集合、第二线程集合以及第三线程集合进行正常传输。
8.如权利要求1所述的高效能交换中间件,其特征在于,
API网关管理模块,还用于在进行API管理的过程中,将管理结果进行可视化,且在可视化过程中,接收用户的访问指令,并对访问的应用程序接口进行调控。
CN202011467480.4A 2020-12-11 2020-12-11 一种基于api网关的高效能交换中间件 Active CN112688802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011467480.4A CN112688802B (zh) 2020-12-11 2020-12-11 一种基于api网关的高效能交换中间件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011467480.4A CN112688802B (zh) 2020-12-11 2020-12-11 一种基于api网关的高效能交换中间件

Publications (2)

Publication Number Publication Date
CN112688802A CN112688802A (zh) 2021-04-20
CN112688802B true CN112688802B (zh) 2021-08-27

Family

ID=75447594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011467480.4A Active CN112688802B (zh) 2020-12-11 2020-12-11 一种基于api网关的高效能交换中间件

Country Status (1)

Country Link
CN (1) CN112688802B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928608A (zh) * 2022-04-21 2022-08-19 北京达佳互联信息技术有限公司 一种多媒体资源的处理方法、装置、设备及存储介质
CN116401198B (zh) * 2023-06-08 2023-09-22 成都房联云码科技有限公司 一种基于sm2算法的接口总线系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706286A (en) * 1995-04-19 1998-01-06 Mci Communications Corporation SS7 gateway
CN102064959A (zh) * 2010-11-16 2011-05-18 西安电子科技大学 一种面向三网融合的数字家庭网络体系结构
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
CN110995746A (zh) * 2019-12-17 2020-04-10 神州数码融信软件有限公司 异构网络的微服务调用方法及api网关
CN111245916A (zh) * 2020-01-07 2020-06-05 苏宁云计算有限公司 基于微服务网关的服务调用方法、服务编排方法及装置
CN111970376A (zh) * 2020-08-28 2020-11-20 四川长虹电器股份有限公司 一种网关软件的跨平台应用系统及开发方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706286A (en) * 1995-04-19 1998-01-06 Mci Communications Corporation SS7 gateway
CN102064959A (zh) * 2010-11-16 2011-05-18 西安电子科技大学 一种面向三网融合的数字家庭网络体系结构
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
CN110995746A (zh) * 2019-12-17 2020-04-10 神州数码融信软件有限公司 异构网络的微服务调用方法及api网关
CN111245916A (zh) * 2020-01-07 2020-06-05 苏宁云计算有限公司 基于微服务网关的服务调用方法、服务编排方法及装置
CN111970376A (zh) * 2020-08-28 2020-11-20 四川长虹电器股份有限公司 一种网关软件的跨平台应用系统及开发方法

Also Published As

Publication number Publication date
CN112688802A (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN108667725A (zh) 一种基于多种接入及边缘计算的工业软网关以及实现方法
CN108305010B (zh) 一种工作流引擎系统及其跨平台、跨应用的流程推进方法
CN110032575A (zh) 数据查询方法、装置、设备和存储介质
CN112688802B (zh) 一种基于api网关的高效能交换中间件
CN109087004B (zh) 一种基于领域模型的公共工作流引擎系统
CN102637214A (zh) 基于数据库服务间的通用数据同步方法及其系统
CN110704518A (zh) 基于Flink引擎的业务数据处理方法及装置
US11385898B2 (en) Task orchestration method for data processing, orchestrator, device and readable storage medium
CN112905339B (zh) 任务调度执行方法、装置及系统
EP3172682B1 (en) Distributing and processing streams over one or more networks for on-the-fly schema evolution
CN110019312A (zh) 读写数据分离调度方法、装置、设备及介质
CN111966692A (zh) 针对数据仓库的数据处理方法、介质、装置和计算设备
US10795880B2 (en) System and method for inter-program file control communication
CN112989171A (zh) 数据查询方法、装置、设备及介质
CN106502842B (zh) 数据恢复方法及系统
CN105933396B (zh) 一种协同各渠道系统接口实现长流程的方法及系统
CN109905436A (zh) 根因事件的确定方法、装置及存储介质
US8566279B1 (en) Enhanced data collection techniques
CN112395339A (zh) 系统间数据准入校验方法、装置、计算机设备和存储介质
CN116661978A (zh) 一种分布式的流程处理方法、装置及分布式业务流程引擎
CN111125209A (zh) 一种支持多元异构类型数据的接入配置系统
CN113114757B (zh) 一种文件传输方法、装置和设备
CN116155689A (zh) 一种基于ClickHouse的高可用Kong网关日志分析方法及系统
CN115422225A (zh) 分布式事务处理方法及事务管理器、中间件、系统
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant