[发明专利]一种基于数据库数据同步来实现HTTP代理的方法和系统有效
| 申请号: | 202011372117.4 | 申请日: | 2020-11-30 |
| 公开(公告)号: | CN112395359B | 公开(公告)日: | 2023-03-31 |
| 发明(设计)人: | 方辉 | 申请(专利权)人: | 武汉烽火众智数字技术有限责任公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;H04L67/02 |
| 代理公司: | 北京汇泽知识产权代理有限公司 11228 | 代理人: | 代婵 |
| 地址: | 430074 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 数据库 数据 同步 实现 http 代理 方法 系统 | ||
1.一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,包括:
S100.第一网络中的Httpproxy服务器接收到终端HTTP请求,并将HTTP请求进行拆分,封装成JSON格式,写入数据库;
S200.利用网闸将第一网络中数据库写入的请求数据同步至第二网络数据库中;网闸为第一网络和第二网络的边界程序,能提供第一网络和第二网络的数据库表的同步功能;
S300.第二网络中的kafka-connect服务器检测到数据库数据变更后,将请求数据取出发布到第二网络中的kafka服务器;
S400.第二网络中的Httpproxy服务器订阅到kafka服务器的请求数据,将JSON格式的数据重新组装成HTTP请求,并将请求数据转发给目标服务器;
S500.目标服务器接收HTTP请求,根据HTTP请求,向第二网络中的Httpproxy服务器输出应答数据;
S600.第二网络中的Httpproxy服务器将应答数据拆分,并封装成JSON格式,并写入第二网络中的数据库;
S700.利用网闸将第二网络中数据库写入的应答数据同步至第一网络数据库中;
S800.第一网络中的kafka-connect服务器检测到数据变更,将应答数据提取,发布到第一网络中的kafka服务器中;
S900.第一网络中的Httpproxy服务器订阅到kafka服务器的应答数据,将JSON格式的数据重新组装成HTTP应答消息,并将请求回复给终端;
具体的,Httpproxy服务器包括Consumer模块、Session模块和Datebase适配层;其中:
Consume模块,用于订阅kafka的消息,通过标记类型区分消息是请求还是应答,并转发到Session模块处理;
Session模块,用于会话的管理,包括处理HTTP请求及应答;
Datebase适配层,用于针对各个数据库API进行封装。
2.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S100中,将HTTP请求进行拆分,封装成JSON格式,至少包括:请求URI,消息类型、消息体以及唯一ID字段。
3.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S100中,写入数据库的具体方法为:封装后JSON写入数据库表MSG字段,同时写入MSGTPYE为0,代表消息类型为请求。
4.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S400-S500中,当第二网络中的Httpproxy服务器将请求数据转发给目标服务器后,会在预设时间内判断是否收到目标服务器应答数据,若预设时间内收到目标服务器应答数据,则执行S600;若预设时间内未收到目标服务器应答数据,则流程结束。
5.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S600中,第二网络中的Httpproxy服务器将应答数据拆分,并封装成JSON格式,至少包括:状态及错误码,消息体以及请求时携带的唯一ID。
6.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S600中,写入数据库的具体方法为:写入数据库表MSG字段,同时MSGTYPE写入1,代表应答消息。
7.如权利要求1的一种基于数据库数据同步来实现HTTP代理的方法,其特征在于,S900中,在预设时间内判断第一网络中的Httpproxy服务器是否订阅到kafka服务器的应答数据,若在预设时间内,第一网络中的Httpproxy服务器未订阅到kafka服务器的应答数据,将超时错误回复给客户端,流程结束。
8.一种基于数据库数据同步来实现HTTP代理的系统,其特征在于,包括:Httpproxy服务器、kafka和kafka-connect服务器、数据库;其中:Httpproxy服务器、kafka和kafka-connect服务器、数据库都至少包含2个,分别设置于第一网络和第二网络;
Httpproxy服务器,用于接收第一网络的终端HTTP请求,并将HTTP请求进行拆分,封装成JSON格式,写入第一网络的数据库;用于订阅第二网络的kafka服务器的请求数据,将JSON格式的数据重新组装成HTTP请求,并将请求数据转发给第二网路的目标服务器;还用于接收第二网络的目标服务器应答数据,Httpproxy服务器将应答数据拆分,并封装成JSON格式,并写入第二网络中的数据库;Httpproxy服务器包括Consumer模块、Session模块和Datebase适配层;其中:
Consume模块,用于订阅kafka的消息,通过标记类型区分消息是请求还是应答,并转发到Session模块处理;
Session模块,用于会话的管理,包括处理HTTP请求及应答;
Datebase适配层,用于针对各个数据库API进行封装;
kafka-connect服务器,用于检测第二网络中的数据库数据是否变更,当数据库数据变更后,将请求数据取出发布到第二网络中的kafka服务器;还用于检测第一网络中的数据库数据是否变更,当数据库数据变更后,将应答数据取出发布到第一网络中的kafka服务器;
kafka服务器,用于和Httpproxy服务器进行信息交互,将终端的请求数据发送给第二网络的Httpproxy服务器;还用于将目标服务器的应答数据发送给第一网络的Httpproxy服务器;
数据库,通过网闸将第一网络和第二网络的数据进行同步,用于将请求数据和应答数据在第一网络和第二网络之间进行同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉烽火众智数字技术有限责任公司,未经武汉烽火众智数字技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011372117.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





