基于Nginx网关的服务请求方法、装置、设备及介质制造方法及图纸

技术编号:38152552 阅读:10 留言:0更新日期:2023-07-13 09:17
本发明专利技术涉及互联网技术领域,提供一种基于Nginx网关的服务请求方法、装置、设备及介质,能够对基于Nginx的证券行情系统的原生Nginx stream模块的源码进行优化得到Nginx统一网关,利用Nginx统一网关单一的披露端口监听各行情客户端发送的请求数据,对外只披露一个端口,降低了被攻击的风险,解析目标行情客户端发送的服务请求所携带的服务类型请求协议得到服务类型,根据服务类型在与Nginx统一网关相关联的上游服务器群组中选择目标服务器对服务请求进行响应,行情客户端通过统一网关的单个端口即可访问到不同后端服务器,降低了证券行情系统的运维难度,且通过服务类型请求协议便于灵活的扩展后端服务类型。议便于灵活的扩展后端服务类型。议便于灵活的扩展后端服务类型。

【技术实现步骤摘要】
基于Nginx网关的服务请求方法、装置、设备及介质


[0001]本专利技术涉及互联网
,尤其涉及一种基于Nginx网关的服务请求方法、装置、设备及介质。

技术介绍

[0002]随着金融市场的不断开放,投资者的机构化、量化与高频交易参与市场的程度越来越高,证券行情数据也越来越精细化,后端程序也在微服务化,因此,对基于TCP(Transmission Control Protocol,传输控制协议)流类型的服务端的IP(Internet Protocol,网际互连协议)以及端口资源占用会增加,同时也增加了防火墙等安全设备的配置和维护难度,且券商对系统的安全性要求也越来越高。
[0003]并且,由于证券行情数据处理和服务的精细化,后端服务也越来越多,现有接入网关针对每种服务都占用一个TCP流的后端服务IP+端口资源,容易出现端口冲突、防火墙配置复杂、证券行情系统的运维复杂度提高、运维成本提高等问题,且对外披露的IP和端口越多,被攻击的风险也会极大的增加。

技术实现思路

[0004]鉴于以上内容,有必要提供一种基于Nginx网关的服务请求方法、装置、设备及介质,旨在解决基于Nginx的证券行情系统在进行服务请求时由于多端口而导致的安全性低,且运维难度大的问题。
[0005]一种基于Nginx网关的服务请求方法,所述基于Nginx网关的服务请求方法包括:获取基于Nginx的证券行情系统的原生Nginx stream模块;对所述原生Nginx stream模块的源码进行优化,得到Nginx统一网关;利用所述Nginx统一网关单一的披露端口监听各行情客户端发送的请求数据;当监听到目标行情客户端发送的服务请求时,对所述目标行情客户端进行鉴权;当所述目标行情客户端通过鉴权时,获取所述服务请求所携带的服务类型请求协议;解析所述服务类型请求协议,得到所述目标行情客户端请求的服务类型;根据所述服务类型在与所述Nginx统一网关相关联的上游服务器群组中进行遍历,得到候选服务器群组;从所述候选服务器群组中选择目标服务器;利用所述目标服务器对所述服务请求进行响应。
[0006]根据本专利技术优选实施例,所述对所述原生Nginx stream模块的源码进行优化,得到Nginx统一网关包括:获取所述原生Nginx stream模块的配置文件中的upstream域;向所述upstream域中添加服务类型字段,以添加所述服务类型字段至所述原生Nginx stream模块的ngx_stream_upstream_srv_conf_s结构中,得到修订后的所述原生
Nginx stream模块的源码作为修订源码;基于所述修订源码中的
‑‑
with

stream参数编译所述修订源码,得到所述Nginx统一网关。
[0007]根据本专利技术优选实施例,所述获取所述服务请求所携带的服务类型请求协议包括:获取与所述目标行情客户端建立TCP连接的所述披露端口;通过三次TCP握手后,获取通过所述披露端口传送的首个报文作为所述服务类型请求协议。
[0008]根据本专利技术优选实施例,所述解析所述服务类型请求协议,得到所述目标行情客户端请求的服务类型包括:解析所述服务类型请求协议,得到所述服务类型请求协议中的所述服务类型字段;根据所述服务类型字段确定所述服务类型;其中,所述服务类型请求协议中包括协议合法性判断字段、协议版本号、消息类型、消息长度、所述服务类型请求协议的当前长度及所述服务类型字段。
[0009]根据本专利技术优选实施例,所述方法还包括:检测所述协议合法性判断字段是否为预设数值;当所述协议合法性判断字段为所述预设数值时,确定所述服务类型请求协议合法;或者当所述协议合法性判断字段不为所述预设数值时,确定所述服务类型请求协议不合法;及在对所述服务类型请求协议进行扩展兼容时,获取扩展兼容后所述服务类型请求协议的长度;当所述扩展兼容后所述服务类型请求协议的长度大于所述消息长度时,发出异常提示信息。
[0010]根据本专利技术优选实施例,所述从所述候选服务器群组中选择目标服务器包括:从所述候选服务器群组中获取当前连接数最少的服务器作为所述目标服务器;或者从所述候选服务器群组中获取上次轮询到的服务器,根据预设轮询策略确定与所述上次轮询到的服务器对应的下一服务器,将所述下一服务器确定为所述目标服务器;或者从所述候选服务器群组中获取剩余连接数最多的服务器作为所述目标服务器。
[0011]根据本专利技术优选实施例,所述利用所述目标服务器对所述服务请求进行响应包括:建立所述目标服务器与所述Nginx统一网关的TCP链路;通过所述TCP链路将所述服务请求传输至所述目标服务器;通过所述TCP链路接收所述目标服务器对所述服务请求的响应结果;通过所述Nginx统一网关将所述响应结果传输至所述目标行情客户端。
[0012]一种基于Nginx网关的服务请求装置,所述基于Nginx网关的服务请求装置包括:获取单元,用于获取基于Nginx的证券行情系统的原生Nginx stream模块;优化单元,用于对所述原生Nginx stream模块的源码进行优化,得到Nginx统一网关;
监听单元,用于利用所述Nginx统一网关单一的披露端口监听各行情客户端发送的请求数据;鉴权单元,用于当监听到目标行情客户端发送的服务请求时,对所述目标行情客户端进行鉴权;所述获取单元,还用于当所述目标行情客户端通过鉴权时,获取所述服务请求所携带的服务类型请求协议;解析单元,用于解析所述服务类型请求协议,得到所述目标行情客户端请求的服务类型;遍历单元,用于根据所述服务类型在与所述Nginx统一网关相关联的上游服务器群组中进行遍历,得到候选服务器群组;选择单元,用于从所述候选服务器群组中选择目标服务器;响应单元,用于利用所述目标服务器对所述服务请求进行响应。
[0013]一种计算机设备,所述计算机设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现所述基于Nginx网关的服务请求方法。
[0014]一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现所述基于Nginx网关的服务请求方法。
[0015]由以上技术方案可以看出,本专利技术能够对基于Nginx的证券行情系统的原生Nginx stream模块的源码进行优化得到Nginx统一网关,利用Nginx统一网关单一的披露端口监听各行情客户端发送的请求数据,对外只披露一个端口,降低了被攻击的风险,获取目标行情客户端发送的服务请求所携带的服务类型请求协议,解析服务类型请求协议得到目标行情客户端请求的服务类型,并根据服务类型在与Nginx统一网关相关联的上游服务器群组中进行遍历,得到候选服务器群组,从候选服务器群组中选择目标服务器对服务请求进行响应,行情客户端通过指定的统一网关的单个IP+端口对即可访问到不同的后端服务器,降低了证券行情系统的运维难度,且通过服务类型请求协议便于灵活的扩展后端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Nginx网关的服务请求方法,其特征在于,所述基于Nginx网关的服务请求方法包括:获取基于Nginx的证券行情系统的原生Nginx stream模块;对所述原生Nginx stream模块的源码进行优化,得到Nginx统一网关;利用所述Nginx统一网关单一的披露端口监听各行情客户端发送的请求数据;当监听到目标行情客户端发送的服务请求时,对所述目标行情客户端进行鉴权;当所述目标行情客户端通过鉴权时,获取所述服务请求所携带的服务类型请求协议;解析所述服务类型请求协议,得到所述目标行情客户端请求的服务类型;根据所述服务类型在与所述Nginx统一网关相关联的上游服务器群组中进行遍历,得到候选服务器群组;从所述候选服务器群组中选择目标服务器;利用所述目标服务器对所述服务请求进行响应。2.如权利要求1所述的基于Nginx网关的服务请求方法,其特征在于,所述对所述原生Nginx stream模块的源码进行优化,得到Nginx统一网关包括:获取所述原生Nginx stream模块的配置文件中的upstream域;向所述upstream域中添加服务类型字段,以添加所述服务类型字段至所述原生Nginx stream模块的ngx_stream_upstream_srv_conf_s结构中,得到修订后的所述原生Nginx stream模块的源码作为修订源码;基于所述修订源码中的
‑‑
with

stream参数编译所述修订源码,得到所述Nginx统一网关。3.如权利要求2所述的基于Nginx网关的服务请求方法,其特征在于,所述获取所述服务请求所携带的服务类型请求协议包括:获取与所述目标行情客户端建立TCP连接的所述披露端口;通过三次TCP握手后,获取通过所述披露端口传送的首个报文作为所述服务类型请求协议。4.如权利要求2所述的基于Nginx网关的服务请求方法,其特征在于,所述解析所述服务类型请求协议,得到所述目标行情客户端请求的服务类型包括:解析所述服务类型请求协议,得到所述服务类型请求协议中的所述服务类型字段;根据所述服务类型字段确定所述服务类型;其中,所述服务类型请求协议中包括协议合法性判断字段、协议版本号、消息类型、消息长度、所述服务类型请求协议的当前长度及所述服务类型字段。5.如权利要求4所述的基于Nginx网关的服务请求方法,其特征在于,所述方法还包括:检测所述协议合法性判断字段是否为预设数值;当所述协议合法性判断字段为所述预设数值时,确定所述服务类型请求协议合法;或者当所述协议合法性判断字段不为所述预设数值时...

【专利技术属性】
技术研发人员:何志东李秋军彭云雄阳小鲜
申请(专利权)人:华锐分布式技术长沙有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1