CN113032089A - 一种基于api网关的分布式仿真服务构建方法 - Google Patents

一种基于api网关的分布式仿真服务构建方法 Download PDF

Info

Publication number
CN113032089A
CN113032089A CN202110066206.4A CN202110066206A CN113032089A CN 113032089 A CN113032089 A CN 113032089A CN 202110066206 A CN202110066206 A CN 202110066206A CN 113032089 A CN113032089 A CN 113032089A
Authority
CN
China
Prior art keywords
log
message
service
api gateway
user client
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.)
Granted
Application number
CN202110066206.4A
Other languages
English (en)
Other versions
CN113032089B (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.)
China Telecom Puxin Beijing Technology Development Co ltd
Original Assignee
China Telecom Puxin Beijing Technology Development 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 China Telecom Puxin Beijing Technology Development Co ltd filed Critical China Telecom Puxin Beijing Technology Development Co ltd
Priority to CN202110066206.4A priority Critical patent/CN113032089B/zh
Publication of CN113032089A publication Critical patent/CN113032089A/zh
Application granted granted Critical
Publication of CN113032089B publication Critical patent/CN113032089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于API网关的分布式仿真服务构建方法,包括:基于用户客户端向API网关发送请求服务消息;基于API网关解析请求服务消息,并将解析的消息转发给对应类型的预设服务器,且多个预设服务器构建成分布式仿真服务体系;基于分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理,并将预处理结果通过API网关传回用户客户端。用以通过设置可扩展的通信协议转换功能的API网关,将已有的服务整合在一起,来满足单一接口的需求。

Description

一种基于API网关的分布式仿真服务构建方法
技术领域
本发明涉及仿真服务技术领域,特别涉及一种基于API网关的分布式仿真服务构建方法。
背景技术
分布式仿真服务通常需要将分布在网络中的不同类型、不同功能甚至不同体系结构的仿真服务以一致的接口形式提供给用户使用,其中需要解决的关键问题是如何对用户屏蔽这些不同的技术细节,并将一些已有的服务快速的整合在一起来满足单一接口的需求。具有可扩展的通信协议转换功能的API网关可以解决这个问题。
因此,本发明提出一种基于API网关的分布式仿真服务构建方法。
发明内容
本发明提供一种基于API网关的分布式仿真服务构建方法,用以通过设置可扩展的通信协议转换功能的API网关,将已有的服务整合在一起,来满足单一接口的需求。
本发明提供一种基于API网关的分布式仿真服务构建方法,包括:
基于用户客户端向API网关发送请求服务消息;
基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器,且多个所述预设服务器构建成分布式仿真服务体系;
基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理,并将预处理结果通过所述API网关传回所述用户客户端。
在一种可能实现的方式中,
基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器包括:
基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息;
将所述匹配消息转发给对应类型的预设服务器;
其中,所述匹配消息即为解析的消息。
在一种可能实现的方式中,
基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息包括:
获取所述请求服务消息,分析获取所述请求服务消息的消息类型,并按照所述消息类型从转换数据库中调取相关的转换规则,并基于所述转换规则,将所述请求服务信息进行转换为序列集;
获取与所述用户客户端通讯连接的API网关的服务接口要求,并确定所述服务接口要求对应的可接收数据类型;
将所述消息类型与所述可接收数据类型进行匹配;
若匹配成功,基于所述API网关接收并解析所述序列集,获得匹配消息;
否则,按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集,并基于所述API网关接收并解析所述符合集,获得匹配消息。
在一种可能实现的方式中,
将所述匹配消息转发给对应类型的预设服务器包括:
确定所述匹配消息的数据类型,并从服务器集合中筛选与所述数据类型相匹配的预设服务器;
将所述匹配消息传输到所述预设服务器。
在一种可能实现的方式中,
按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集包括:
确定所述序列集中每个目标序列在存储空间的空间位位置,并判断所述空间位位置中是否存在重叠位置,若是,将所述重复位置对应目标序列进行标注,同时,基于所述重叠位置扩展空白位,并将标注的目标序列放置于所述空白位;
确定每个空间位和空白位上每个目标序列的当前类型,确定所述当前类型是否与所述可接收类型相匹配,若是,将对应的所述目标序列保留;
否则,确定不匹配的目标序列的待转换类型,并确定所述待转换类型与所述可接收数据类型进行直接转换的转换耗费能力;
当所述转换耗费能力大于预设耗费能力时,调取中间转换介质,并基于所述中间转换介质将所述待转换类型对应的目标序列转换为可接收数据类型的目标序列;
同时,确定中间耗费能力,若所述中间耗费能力小于所述转换耗费能力,则基于所述中间转换介质进行转换;
否则,基于所述可接收数据类型进行直接转换;
将转后的所有目标序列以及保留的目标序列进行重组,获得符合所述可接收数据类型的符合集。
在一种可能实现的方式中,
基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理之前,还包括:
基于时间戳,确定所述预设服务器在预设时间段内接收的所有解析的消息,并进行初次队列排序;
确定所述用户客户端的用户优先级,并按照所述用户优先级对初次队列排序结果进行调整,获得再次队列排序;
基于事件匹配库,匹配与所述解析的消息相关的目标事件,同时,确定所述再次队列排序中每个目标事件的可处理进程;
获取所述目标事件的事件属性,并按照所述事件属性筛选处理单元,确定所述处理单元的处理优先级;
按照所述处理优先级以及可处理进程,对再次队列排序进行调整,获得最后队列排序;
所述预设服务器按照最后队列排序结果对解析的消息进行预处理。
在一种可能实现的方式中,
基于所述API网关解析所述请求服务消息之前,还包括:
对解析所述请求服务消息的用户客户端的解析权限进行鉴定,且鉴定方式包括:
确定所述请求服务消息中是否存在与所述用户客户端相关的鉴别信息;
若存在与所述用户客户端相关的鉴别信息,则获取所述鉴别信息的鉴别序列,并基于真伪鉴别模型,从所述鉴别序列中筛选特征参数,将所述特征参数与鉴别序列分别与预设信息进行比对,若比对成功,判定所述鉴别信息为真,否则,判定所述鉴别信息为假,并不执行解析操作;
若不存在与所述用户客户端相关的鉴别信息,则捕捉所述用户客户端向所述API网关发送请求服务消息的服务日志;
激活所述服务日志,并根据激活结果,确定所述服务日志是否都被激活,根据激活结果,判断用户客户端是否具备解析权限。
在一种可能实现的方式中,
激活所述服务日志,并根据激活结果,确定所述服务日志都被激活时,基于日志解析规则表,解析所述服务日志,并获取到合格日志、待验证日志以及未知日志;
根据如下公式,计算所述待验证日志的合格值以及未知日志的合格值;
Figure 1
Figure 2
其中,H1表示所述待验证日志的合格值;K表示所述待验证日志的日志总条数;K表示所述合格日志的日志总条数;K表示所述未知日志的日志总条数;β(A,A)表示每条合格日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;H2表示所述未知日志的合格值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条合格日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;
根据所述待验证日志的合格值以及未知日志的合格值,确定所述待验证日志以及未知日志对所述API网关解析所述请求服务消息的危险因子;
根据所述危险因子,预测所述API网关在解析所述请求服务消息的过程中解析失败的概率;
若解析失败的概率大于预设概率,则所述API网关不对所述请求服务消息进行解析,且表明所述用户客户端不具备解析权限;
否则,对所述请求服务消息进行解析,且所述用户客户端具备解析权限。
在一种可能实现的方式中,
激活所述服务日志,并根据激活结果,确定存在未被激活的服务日志之后,确定未激活日志在所述服务日志中的当前位置以及对所述服务日志的占据比例;
根据所述当前位置以及占据比例,确定所述未激活日志的权值,当所述权值大于或等于阈值时,对未激活日志进行日志拆分;
对拆分后的每条日志进行日志格式化,并基于动态解析条件列表,对格式化后的每条日志结果进行条件筛选,获取每条格式化日志的解析子表;
基于所述解析子表对对应的格式化日志进行解析,并获取所有解析结果;
根据所述所有解析结果以及激活日志,判断所述用户客户端是否具备解析权限;
当所述权值小于所述阈值时,根据激活日志,判断所述用户客户端是否具备解析权限。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于API网关的分布式仿真服务构建方法的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1:
本发明提供一种基于API网关的分布式仿真服务构建方法,如图1所示,包括:
步骤1:基于用户客户端向API网关发送请求服务消息;
步骤2:基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器,且多个所述预设服务器构建成分布式仿真服务体系;
步骤3:基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理,并将预处理结果通过所述API网关传回所述用户客户端。
该实施例中,用户客户端、API网关以及预设服务器是运行在单台或联网的多台计算机上的程序,用户客户端向任一API网关发出请求服务消息,API 解析消息后将服务请求转发给请求对应类型的预设服务器上并执行,其后将执行的结果再通过API网关传回给用户客户端。
其中,API网关是可编程、可扩展的,能将用户客户端发来的HTTP协议的请求按不同服务的接口要求,转成TCP、UDP等不同协议、不同格式的消息来与预设服务器进行交互,其结果可以方便的把原有的运行在单机上的多个仿真软件转成统一的分布式仿真服务体系。与此同时,API网关还具有鉴权、日志等功能。相对于重新编写整套仿真服务软件,采用API网关的方式来构建分布式仿真服务具有开发工作量少,能充分利用原有仿真软件的优点。
该实施例中,预设服务器可以是仿真服务器,例如仿真引擎服务器、模型库服务器、消息队列服务器、数据处理服务器。
上述技术方案的有益效果是:通过设置可扩展的通信协议转换功能的API 网关,将已有的服务整合在一起,来满足单一接口的需求。
实施例2:
基于实施例1的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器包括:
基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息;
将所述匹配消息转发给对应类型的预设服务器;
其中,所述匹配消息即为解析的消息。
该实施例中,例如客户端发送的是HTTP协议的请求,需要将其转换为TCP、 UDP等协议,此时转换将HTTP转换为TCP、UDP等的接口即为对应服务接口。
上述技术方案的有益效果是:通过获取与请求服务消息相关的服务接口,便于将其进行转换,便于满足单一接口的需求。
实施例3:
基于实施例2的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息包括:
获取所述请求服务消息,分析获取所述请求服务消息的消息类型,并按照所述消息类型从转换数据库中调取相关的转换规则,并基于所述转换规则,将所述请求服务信息进行转换为序列集;
获取与所述用户客户端通讯连接的API网关的服务接口要求,并确定所述服务接口要求对应的可接收数据类型;
将所述消息类型与所述可接收数据类型进行匹配;
若匹配成功,基于所述API网关接收并解析所述序列集,获得匹配消息;
否则,按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集,并基于所述API网关接收并解析所述符合集,获得匹配消息。
该实施例中,转换规则,是为了将请求服务消息准换为序列集,例如,请求服务消息为HTTP类型,例如,将其转换为二进制数据;
该实施例中,服务接口要求,例如是可接收的数据类型等。
该实施例中,当消息类型与可接收数据类型不匹配时,例如,可接收数据类型是基于十进制数据的转换来建立连接的,此时,将二进制数据中需要转换的数值转换为十进制,不需要转换的数值继续保留。
上述技术方案的有益效果是:进行消息类型与可接收数据类型的匹配,是为了确定是否可以对序列集进行直接解析,提高工作效率,且通过对序列集进行调整,便于进一步提高不匹配时的转化效率。
实施例4:
基于实施例2的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,将所述匹配消息转发给对应类型的预设服务器包括:
确定所述匹配消息的数据类型,并从服务器集合中筛选与所述数据类型相匹配的预设服务器;
将所述匹配消息传输到所述预设服务器。
上述技术方案的有益效果是:通过筛选与数据类型相匹配的预设服务器,便于提高数据传输以及处理的效率。
实施例5:
基于实施例1的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集包括:
确定所述序列集中每个目标序列在存储空间的空间位位置,并判断所述空间位位置中是否存在重叠位置,若是,将所述重复位置对应目标序列进行标注,同时,基于所述重叠位置扩展空白位,并将标注的目标序列放置于所述空白位;
确定每个空间位和空白位上每个目标序列的当前类型,确定所述当前类型是否与所述可接收类型相匹配,若是,将对应的所述目标序列保留;
否则,确定不匹配的目标序列的待转换类型,并确定所述待转换类型与所述可接收数据类型进行直接转换的转换耗费能力;
当所述转换耗费能力大于预设耗费能力时,调取中间转换介质,并基于所述中间转换介质将所述待转换类型对应的目标序列转换为可接收数据类型的目标序列;
同时,确定中间耗费能力,若所述中间耗费能力小于所述转换耗费能力,则基于所述中间转换介质进行转换;
否则,基于所述可接收数据类型进行直接转换;
将转后的所有目标序列以及保留的目标序列进行重组,获得符合所述可接收数据类型的符合集。
该实施例中,序列集中的每个目标序列可以是单独的数值、字母等,对应的存储空间的空间位位置是每个目标序列在存储空间的位置,重叠位置,比如数值、字母混乱重写,导致原本的一个位置,出现两个或多个目标序列导致的位置重叠。
该实施例中,基于重叠位置扩展空白位,例如,重叠位置上,本应该为目标序列a,但是,此时,存在目标序列a和b,因此,在重叠位置一侧扩展空白位,将目标序列b放置在空白位上。
该实施例中,例如是将HTTP协议相关的数据类型直接转换为TCP协议相关的数据类型或者是调取中间转换介质,先将HTTP协议相关的数据类型转换为与中间转换介质相关的数据类型,然后再将与中间转换介质相关的数据类型转换为TCP协议相关的数据类型,由于是两种不同的转换方式,且在转换过程中,转换能力不同,比如转换效率,选取转换效率高的方式对可接收数据类型进行转换。
上述技术方案的有益效果是:通过确定目标序列的空间位位置,来判断是否存在重叠位置,当前存在时,扩展空白位,来进行相应目标序列的放置,保证目标序列的完整性,通过确定当前类型与可接收类型的匹配度,便于保留相匹配的目标序列,同时,便于通过直接或间接转换方式对不匹配的目标序列进行转换,不仅提高工作效率,还保证数据格式的统一性,进一步满足单一接口的整合需求。
实施例6:
基于实施例1的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理之前,还包括:
基于时间戳,确定所述预设服务器在预设时间段内接收的所有解析的消息,并进行初次队列排序;
确定所述用户客户端的用户优先级,并按照所述用户优先级对初次队列排序结果进行调整,获得再次队列排序;
基于事件匹配库,匹配与所述解析的消息相关的目标事件,同时,确定所述再次队列排序中每个目标事件的可处理进程;
获取所述目标事件的事件属性,并按照所述事件属性筛选处理单元,确定所述处理单元的处理优先级;
按照所述处理优先级以及可处理进程,对再次队列排序进行调整,获得最后队列排序;
所述预设服务器按照最后队列排序结果对解析的消息进行预处理。
该实施例中,初次队列排序,是仅仅基于时间戳来接收的所有解析的消息来确定的。
该实施例中,再次队列排序,是基于初次队列排序的基础上,根据用户优先级来再次调整,比如:初次队列排序结果为:解析的消息一>解析的消息二> 解析的消息三>解析的消息四>解析的消息五;
其中,解析的消息一对应用户客户端一;
解析的消息二对应用户客户端二;
解析的消息三对应用户客户端三;
解析的消息四对应用户客户端四;
解析的消息五对应用户客户端五;
若用户优先级的等级如下:用户客户端一>用户客户端二>用户客户端四> 用户客户端三>用户客户端五,此时,对应的再次队列排序为:解析的消息一> 解析的消息二>解析的消息四>解析的消息三>解析的消息五。
该实施例中,事件匹配库,是为了匹配与解析的消息相关的目标事件,例如,目标事件是,数据传输事件、触发事件等;
该实施例中,根据目标事件的事件属性以及可处理进程,来对再次队列序列进行调整,获得最后队列排序。
上述技术方案的有益效果是:通过三次队列排序,便于获得最后队列排序,且预设服务器按照最后队列排序结果对解析的消息进行预处理,便于保证处理的优先级,确保在处理过程中,处理的有效性以及解析消息的及时性。
实施例7:
基于实施例1的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,基于所述API网关解析所述请求服务消息之前,还包括:
对解析所述请求服务消息的用户客户端的解析权限进行鉴定,且鉴定方式包括:
确定所述请求服务消息中是否存在与所述用户客户端相关的鉴别信息;
若存在与所述用户客户端相关的鉴别信息,则获取所述鉴别信息的鉴别序列,并基于真伪鉴别模型,从所述鉴别序列中筛选特征参数,将所述特征参数与鉴别序列分别与预设信息进行比对,若比对成功,判定所述鉴别信息为真,否则,判定所述鉴别信息为假,并不执行解析操作;
若不存在与所述用户客户端相关的鉴别信息,则捕捉所述用户客户端向所述API网关发送请求服务消息的服务日志;
激活所述服务日志,并根据激活结果,确定所述服务日志是否都被激活,根据激活结果,判断用户客户端是否具备解析权限。
该实施例中,鉴定用户客户端的解析权限,是为了确定API网关是否可以解析其客户端传输的请求,避免浪费资源。
该实施例中,鉴别信息,可以是指与用户身份等相关的认证信息。
该实施例中,鉴别序列,是基于鉴别信息获取的,基于真伪鉴别模型来筛选特征参数,如:某个身份认证信息,将其与预设信息进行比对,来判别真假。
上述技术方案的有益效果是:通过对存在的鉴别信息进行鉴别序列的获取,再通过筛选特征参数,来与预设信息进行比对,判断真伪,当不存在鉴别信息时,通过捕捉服务日志,便于通过确定服务日志的被激活结果,来确定是否具备解析权限,不仅可以避免因为请求服务消息中存在危险信息而对API网关造成故障,也可以避免对API网关在解析过程中对资源的浪费。
实施例8:
在实施例7的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,激活所述服务日志,并根据激活结果,确定所述服务日志都被激活时,基于日志解析规则表,解析所述服务日志,并获取到合格日志、待验证日志以及未知日志;
根据如下公式,计算所述待验证日志的合格值以及未知日志的合格值;
Figure 100002_3
Figure 100002_4
其中,H1表示所述待验证日志的合格值;K表示所述待验证日志的日志总条数;K表示所述合格日志的日志总条数;K表示所述未知日志的日志总条数;β(A,A)表示每条合格日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;H2表示所述未知日志的合格值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条合格日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;
根据所述待验证日志的合格值以及未知日志的合格值,确定所述待验证日志以及未知日志对所述API网关解析所述请求服务消息的危险因子;
根据所述危险因子,预测所述API网关在解析所述请求服务消息的过程中解析失败的概率;
若解析失败的概率大于预设概率,则所述API网关不对所述请求服务消息进行解析,且表明所述用户客户端不具备解析权限;
否则,对所述请求服务消息进行解析,且所述用户客户端具备解析权限。
该实施例中,在激活服务日志,并根据激活结果,确定服务日志都被激活时,基于日志解析规则表,解析所述服务日志,并获取到合格日志、待验证日志以及未知日志,是为了方便后续对用户是否具备解析权限提供数据基础。
该实施例中,通过计算待验证日志的合格值以及未知日志的合格值,来综合确定对应的危险因子,如病毒攻击因子、程序互扰因子等。
该实施例中,由于病毒攻击、程序互绕等都会对解析造成一定的影响,因此,通过预测解析的失败的概率,可以明确确定用户客户端是否具备解析权限。
上述技术方案的有益效果是:通过获取合格日志、待验证日志以及未知日志,是为了方便后续对用户是否具备解析权限提供数据基础,通过计算待验证日志的合格值以及未知日志的合格值,便于来综合确定对应的危险因子,通过预测解析的失败的概率,可以明确确定用户客户端是否具备解析权限,进而不仅可以避免因为请求服务消息中存在危险信息而对API网关造成故障,也可以避免对API网关在解析过程中对资源的浪费。
实施例9:
在实施例1的基础上,本发明提供一种基于API网关的分布式仿真服务构建方法,
激活所述服务日志,并根据激活结果,确定存在未被激活的服务日志之后,确定未激活日志在所述服务日志中的当前位置以及对所述服务日志的占据比例;
根据所述当前位置以及占据比例,确定所述未激活日志的权值,当所述权值大于或等于阈值时,对未激活日志进行日志拆分;
对拆分后的每条日志进行日志格式化,并基于动态解析条件列表,对格式化后的每条日志结果进行条件筛选,获取每条格式化日志的解析子表;
基于所述解析子表对对应的格式化日志进行解析,并获取所有解析结果;
根据所述所有解析结果以及激活日志,判断所述用户客户端是否具备解析权限;
当所述权值小于所述阈值时,根据激活日志,判断所述用户客户端是否具备解析权限。
该实施例中,占据比例,可以是按照日志的占据容量等确定的。
该实施例中,由于位置不同,对应位置处的信息的重要程度也是不同的,因此,通过当前位置和占据比例,来确定未激活日志的权值,当权值大于或等于阈值时,方便对未激活日志进行有效拆分。
该实施例中,通过对拆分后的日志进行日志格式化,便于后续进行条件筛选,来获取解析子表。
该实施例中,条件筛选与解析子表,都是与用户客户端的解析权限等相关。
上述技术方案的有益效果是:通过根据当前位置和占据比例,来确定未激活日志的权值,且通过对日志进行格式化,便于进行条件筛选,进而获取解析子表,来获取解析结果,进而方便确定解析权限,进而不仅可以避免因为请求服务消息中存在危险信息而对API网关造成故障,也可以避免对API网关在解析过程中对资源的浪费。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种基于API网关的分布式仿真服务构建方法,其特征在于,包括:
基于用户客户端向API网关发送请求服务消息;
基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器,且多个所述预设服务器构建成分布式仿真服务体系;
基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理,并将预处理结果通过所述API网关传回所述用户客户端。
2.如权利要求1所述的分布式仿真服务构建方法,其特征在于,基于所述API网关解析所述请求服务消息,并将解析的消息转发给对应类型的预设服务器包括:
基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息;
将所述匹配消息转发给对应类型的预设服务器;
其中,所述匹配消息即为解析的消息。
3.如权利要求2所述的分布式仿真服务构建方法,其特征在于,基于所述API网关将所述用户客户端发送的请求服务消息按照对应服务接口要求,转换为匹配消息包括:
获取所述请求服务消息,分析获取所述请求服务消息的消息类型,并按照所述消息类型从转换数据库中调取相关的转换规则,并基于所述转换规则,将所述请求服务信息进行转换为序列集;
获取与所述用户客户端通讯连接的API网关的服务接口要求,并确定所述服务接口要求对应的可接收数据类型;
将所述消息类型与所述可接收数据类型进行匹配;
若匹配成功,基于所述API网关接收并解析所述序列集,获得匹配消息;
否则,按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集,并基于所述API网关接收并解析所述符合集,获得匹配消息。
4.如权利要求2所述的分布式仿真服务构建方法,其特征在于,将所述匹配消息转发给对应类型的预设服务器包括:
确定所述匹配消息的数据类型,并从服务器集合中筛选与所述数据类型相匹配的预设服务器;
将所述匹配消息传输到所述预设服务器。
5.如权利要求1所述的分布式仿真服务构建方法,其特征在于,按照所述可接收数据类型,对所述序列集进行调整,获得符合所述可接收数据类型的符合集包括:
确定所述序列集中每个目标序列在存储空间的空间位位置,并判断所述空间位位置中是否存在重叠位置,若是,将所述重复位置对应目标序列进行标注,同时,基于所述重叠位置扩展空白位,并将标注的目标序列放置于所述空白位;
确定每个空间位和空白位上每个目标序列的当前类型,确定所述当前类型是否与所述可接收类型相匹配,若是,将对应的所述目标序列保留;
否则,确定不匹配的目标序列的待转换类型,并确定所述待转换类型与所述可接收数据类型进行直接转换的转换耗费能力;
当所述转换耗费能力大于预设耗费能力时,调取中间转换介质,并基于所述中间转换介质将所述待转换类型对应的目标序列转换为可接收数据类型的目标序列;
同时,确定中间耗费能力,若所述中间耗费能力小于所述转换耗费能力,则基于所述中间转换介质进行转换;
否则,基于所述可接收数据类型进行直接转换;
将转后的所有目标序列以及保留的目标序列进行重组,获得符合所述可接收数据类型的符合集。
6.如权利要求1所述的分布式仿真服务构建方法,其特征在于,基于所述分布式仿真服务体系中对应的预设服务器对解析的消息进行预处理之前,还包括:
基于时间戳,确定所述预设服务器在预设时间段内接收的所有解析的消息,并进行初次队列排序;
确定所述用户客户端的用户优先级,并按照所述用户优先级对初次队列排序结果进行调整,获得再次队列排序;
基于事件匹配库,匹配与所述解析的消息相关的目标事件,同时,确定所述再次队列排序中每个目标事件的可处理进程;
获取所述目标事件的事件属性,并按照所述事件属性筛选处理单元,确定所述处理单元的处理优先级;
按照所述处理优先级以及可处理进程,对再次队列排序进行调整,获得最后队列排序;
所述预设服务器按照最后队列排序结果对解析的消息进行预处理。
7.如权利要求1所述的分布式仿真服务构建方法,其特征在于,基于所述API网关解析所述请求服务消息之前,还包括:
对解析所述请求服务消息的用户客户端的解析权限进行鉴定,且鉴定方式包括:
确定所述请求服务消息中是否存在与所述用户客户端相关的鉴别信息;
若存在与所述用户客户端相关的鉴别信息,则获取所述鉴别信息的鉴别序列,并基于真伪鉴别模型,从所述鉴别序列中筛选特征参数,将所述特征参数与鉴别序列分别与预设信息进行比对,若比对成功,判定所述鉴别信息为真,否则,判定所述鉴别信息为假,并不执行解析操作;
若不存在与所述用户客户端相关的鉴别信息,则捕捉所述用户客户端向所述API网关发送请求服务消息的服务日志;
激活所述服务日志,并根据激活结果,确定所述服务日志是否都被激活,根据激活结果,判断用户客户端是否具备解析权限。
8.如权利要求7所述的分布式仿真服务构建方法,其特征在于,激活所述服务日志,并根据激活结果,确定所述服务日志都被激活时,基于日志解析规则表,解析所述服务日志,并获取到合格日志、待验证日志以及未知日志;
根据如下公式,计算所述待验证日志的合格值以及未知日志的合格值;
Figure 3
Figure 4
其中,H1表示所述待验证日志的合格值;K表示所述待验证日志的日志总条数;K表示所述合格日志的日志总条数;K表示所述未知日志的日志总条数;β(A,A)表示每条合格日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;H2表示所述未知日志的合格值;β(A,A)表示每条未知日志A与每条待验证日志A之间的关联值;β(A,A)表示每条未知日志A与每条合格日志A之间的关联值;β(A,A,A)表示每条合格日志A、每条未知日志A与每条待验证日志A之间的关联值;
根据所述待验证日志的合格值以及未知日志的合格值,确定所述待验证日志以及未知日志对所述API网关解析所述请求服务消息的危险因子;
根据所述危险因子,预测所述API网关在解析所述请求服务消息的过程中解析失败的概率;
若解析失败的概率大于预设概率,则所述API网关不对所述请求服务消息进行解析,且表明所述用户客户端不具备解析权限;
否则,对所述请求服务消息进行解析,且所述用户客户端具备解析权限。
9.如权利要求7所述的分布式仿真服务构建方法,其特征在于,激活所述服务日志,并根据激活结果,确定存在未被激活的服务日志之后,确定未激活日志在所述服务日志中的当前位置以及对所述服务日志的占据比例;
根据所述当前位置以及占据比例,确定所述未激活日志的权值,当所述权值大于或等于阈值时,对未激活日志进行日志拆分;
对拆分后的每条日志进行日志格式化,并基于动态解析条件列表,对格式化后的每条日志结果进行条件筛选,获取每条格式化日志的解析子表;
基于所述解析子表对对应的格式化日志进行解析,并获取所有解析结果;
根据所述所有解析结果以及激活日志,判断所述用户客户端是否具备解析权限;
当所述权值小于所述阈值时,根据激活日志,判断所述用户客户端是否具备解析权限。
CN202110066206.4A 2021-01-18 2021-01-18 一种基于api网关的分布式仿真服务构建方法 Active CN113032089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110066206.4A CN113032089B (zh) 2021-01-18 2021-01-18 一种基于api网关的分布式仿真服务构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110066206.4A CN113032089B (zh) 2021-01-18 2021-01-18 一种基于api网关的分布式仿真服务构建方法

Publications (2)

Publication Number Publication Date
CN113032089A true CN113032089A (zh) 2021-06-25
CN113032089B CN113032089B (zh) 2023-02-28

Family

ID=76459962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110066206.4A Active CN113032089B (zh) 2021-01-18 2021-01-18 一种基于api网关的分布式仿真服务构建方法

Country Status (1)

Country Link
CN (1) CN113032089B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167724A (zh) * 2018-09-10 2019-01-08 四川长虹电器股份有限公司 一种api网关中实现数据预处理的方法
CN110753127A (zh) * 2019-10-29 2020-02-04 浪潮云信息技术有限公司 基于Kong的API网关实现请求参数转换的方法
CN111355743A (zh) * 2020-03-11 2020-06-30 成都卓杭网络科技股份有限公司 一种基于api网关的管理方法及其系统
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质
US10798189B1 (en) * 2019-04-16 2020-10-06 Honeywell International Inc. Systems and methods for providing or requesting avionics simulation data using API adapter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167724A (zh) * 2018-09-10 2019-01-08 四川长虹电器股份有限公司 一种api网关中实现数据预处理的方法
US10798189B1 (en) * 2019-04-16 2020-10-06 Honeywell International Inc. Systems and methods for providing or requesting avionics simulation data using API adapter
CN110753127A (zh) * 2019-10-29 2020-02-04 浪潮云信息技术有限公司 基于Kong的API网关实现请求参数转换的方法
CN111355743A (zh) * 2020-03-11 2020-06-30 成都卓杭网络科技股份有限公司 一种基于api网关的管理方法及其系统
CN111600909A (zh) * 2020-06-24 2020-08-28 腾讯科技(深圳)有限公司 数据处理方法、装置、协议转换设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
程庆华: "基于API服务网关技术的水文数据共享系统的构建", 《河南水利与南水北调》 *

Also Published As

Publication number Publication date
CN113032089B (zh) 2023-02-28

Similar Documents

Publication Publication Date Title
CN110740103A (zh) 业务请求处理方法、装置、计算机设备和存储介质
CN110535928B (zh) 一种区块链的java智能合约的事件推送方法
CN114679292B (zh) 基于网络空间测绘的蜜罐识别方法、装置、设备及介质
CN110933147A (zh) 一种基于云计算的信息技术分析系统
CN113282630B (zh) 基于接口切换的数据查询方法及装置
CN114024972A (zh) 一种长连接通信方法、系统、装置、设备及存储介质
CN112463772A (zh) 日志处理方法、装置、日志服务器及存储介质
CN110930254A (zh) 基于区块链的数据处理方法、装置、终端及介质
US7975273B2 (en) Fuzzing system and method of distributed computing environment (DCE) remote procedure call (RPC)
US7991827B1 (en) Network analysis system and method utilizing collected metadata
CN112579997B (zh) 一种用户权限配置方法、装置、计算机设备及存储介质
WO2022141024A1 (zh) 基于区块链技术的业务交易方法、系统及存储介质
CN113630418A (zh) 一种网络服务识别方法、装置、设备及介质
CN113177179A (zh) 数据请求连接管理方法、装置、设备及存储介质
CN110995489B (zh) 大数据平台服务器管理方法、装置、服务器及存储介质
CN113032089B (zh) 一种基于api网关的分布式仿真服务构建方法
CN112511384A (zh) 流量数据处理方法、装置、计算机设备和存储介质
CN109165513B (zh) 系统配置信息的巡检方法、装置和服务器
CN106936643B (zh) 一种设备联动方法以及终端设备
CN116089446A (zh) 一种结构化查询语句的优化控制方法及装置
CN115016821A (zh) 回调数据的灰度分发方法、装置、计算机设备和存储介质
CN115237998A (zh) 一种信息审核的处理方法和装置
CN112860398A (zh) 基于规则引擎的数据处理方法、装置、设备及介质
US20020083209A1 (en) Method and system for registering binary data
CN115604000B (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