CN112395359B - 一种基于数据库数据同步来实现http代理的方法和系统 - Google Patents

一种基于数据库数据同步来实现http代理的方法和系统 Download PDF

Info

Publication number
CN112395359B
CN112395359B CN202011372117.4A CN202011372117A CN112395359B CN 112395359 B CN112395359 B CN 112395359B CN 202011372117 A CN202011372117 A CN 202011372117A CN 112395359 B CN112395359 B CN 112395359B
Authority
CN
China
Prior art keywords
network
data
server
request
database
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
CN202011372117.4A
Other languages
English (en)
Other versions
CN112395359A (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.)
Wuhan Fiberhome Digtal Technology Co Ltd
Original Assignee
Wuhan Fiberhome Digtal 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 Wuhan Fiberhome Digtal Technology Co Ltd filed Critical Wuhan Fiberhome Digtal Technology Co Ltd
Priority to CN202011372117.4A priority Critical patent/CN112395359B/zh
Publication of CN112395359A publication Critical patent/CN112395359A/zh
Application granted granted Critical
Publication of CN112395359B publication Critical patent/CN112395359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

一种基于数据库数据同步来实现HTTP代理的方法,当用户发起HTTP请求时,Httpproxy服务器会对该请求进行拆分和标记,将请求URI和消息体封装JSON格式,并设置消息类型为请求数据,并为该条消息添加唯一标识,将拆分好的数据写入数据库,通过网闸同步数据库表数据。另一端网络获取该请求数据后,会重新组装并转发给目标服务器,目标服务器获取到应答数据后再将数据拆分,将应答状态和消息体封装JSON格式,并设置消息类型为应答数据,请求端获取数据后组装并返回给客户端。上述消息交换模式,以数据库为桥梁,两端都通过Httpproxy服务器消息转换和会话管理,无需开通HTTP端口,即可实现HTTP跨网请求,且各个模块支持集群部署,当用户量过大时候支持横向拓展系统的并发额能力。

Description

一种基于数据库数据同步来实现HTTP代理的方法和系统
技术领域
本发明涉及的是数据库领域,特别涉及一种基于数据库数据同步来实现HTTP代理的方法和系统。
背景技术
随着目前数字信息联网技术的快速发展,各行业专用通信网络的建立,形成包括铁路专网、教育专网、石化专网等信息网络分层的多元化广域网络。各个行业对信息联网应用建设日趋成熟。而某些特殊的网络应用,需要在不同的网络之间交互数据。比如铁路系统一线部门需要实时与铁路数据中心交换信息,传统模式是采用开放端口的方式,实现数据的交换。但在某些特殊的网络环境下或者对安全方面的需要,是无法开放HTTP端口的。这种情况下就无法部署基于HTTP协议的网络应用。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于大数据统计城市外来人员和常驻人口的方法及系统。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于数据库数据同步来实现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应答消息,并将请求回复给终端。
进一步地,S100中,将HTTP请求进行拆分,封装成JSON格式,至少包括:请求URI,消息类型、消息体以及唯一ID字段。
进一步地,S100中,写入数据库的具体方法为:封装后JSON写入数据库表MSG字段,同时写入MSGTPYE为0,代表消息类型为请求。
进一步地,网闸为第一网络和第二网络的边界程序,能提供第一网络和第二网络的数据库表的同步功能。
进一步地,S400-S500中,当第二网络中的Httpproxy服务器将请求数据转发给目标服务器后,会在预设时间内判断是否收到目标服务器应答数据,若预设时间内收到目标服务器应答数据,则执行S600;若预设时间内未收到目标服务器应答数据,则流程结束。
进一步地,S600中,第二网络中的Httpproxy服务器将应答数据拆分,并封装成JSON格式,至少包括:状态及错误码,消息体以及请求时携带的唯一ID。
进一步地,S600中,写入数据库的具体方法为:写入数据库表MSG字段,同时MSGTYPE写入1,代表应答消息。
进一步地,S900中,在预设时间内判断第一网络中的中的Httpproxy服务器是否订阅到kafka服务器的应答数据,若在预设时间内,第一网络中的中的Httpproxy服务器未订阅到kafka服务器的应答数据,将超时错误回复给客户端,流程结束。
本发明还公开了一种基于数据库数据同步来实现HTTP代理的系统,包括:Httpproxy服务器、kafka和kafka-connect服务器、数据库;其中:Httpproxy服务器、kafka和kafka-connect服务器、数据库都至少包含2个,分别设置于第一网络和第二网络;
Httpproxy服务器,用于接收第一网络的终端HTTP请求,并将HTTP请求进行拆分,封装成JSON格式,写入第一网络的数据库;用于订阅第二网络的kafka服务器的请求数据,将JSON格式的数据重新组装成HTTP请求,并将请求数据转发给第二网路的目标服务器;还用于接收第二网络的目标服务器应答数据,Httpproxy服务器将应答数据拆分,并封装成JSON格式,并写入第二网络中的数据库;
kafka-connect服务器,用于检测第二网络中的数据库数据是否变更,当数据库数据变更后,将请求数据取出发布到第二网络中的kafka服务器;还用于检测第一网络中的数据库数据是否变更,当数据库数据变更后,将应答数据取出发布到第一网络中的kafka服务器;
kafka服务器,用于和Httpproxy服务器进行信息交互,将终端的请求数据发送给第二网络的Httpproxy服务器;还用于将目标服务器的应答数据发送给第一网络的Httpproxy服务器;
数据库,通过网闸将第一网络和第二网络的数据进行同步,用于将请求数据和应答数据在第一网络和第二网络之间进行同步。
进一步地,Httpproxy服务器包括Consumer模块、Session模块和Datebase适配层;其中:
Consume模块,用于订阅kafka的消息,通过标记类型区分消息是请求还是应答,并转发到Session模块处理;
Session模块,用于会话的管理,包括处理HTTP请求及应答;
Datebase适配层,用于针对各个数据库API进行封装。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开的一种基于数据库数据同步来实现HTTP代理的方法和系统,在程序和架构方面提供了综合的解决方案,当用户发起HTTP请求时,Httpproxy会对该请求进行拆分和标记,将请求URI和消息体封装JSON格式,并设置消息类型TYEP,TYPE=0表示该条数据为请求数据,并为该条消息添加唯一标识,将拆分好的数据写入数据库,通过网闸同步数据库表数据。另一端网络获取该请求数据后,会重新组装并转发给目标服务器,目标服务器获取到应答数据后再将数据拆分,将应答状态和消息体封装JSON格式,并设置消息类型TYPE,TYPE=1表示该条数据为应答数据,请求端获取数据后组装并返回给客户端。上述消息交换模式,以数据库为桥梁,两端都通过Httpproxy消息转换和会话管理,无需开通HTTP端口,即可实现HTTP跨网请求,且各个模块支持集群部署,当用户量过大时候支持横向拓展系统的并发额能力。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种基于数据库数据同步来实现HTTP代理的方法的流程图;
图2为本发明实施例1中,一种基于数据库数据同步来实现HTTP代理的方法示意图;
图3为本发明实施例2中,一种基于数据库数据同步来实现HTTP代理的系统结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的某种特殊情况下无法部署基于HTTP协议的网络应用问题,本发明实施例提供一种基于数据库数据同步来实现HTTP代理的方法和系统。
实施例1
本实施例公开了一种基于数据库数据同步来实现HTTP代理的方法,如图1和2,包括:
S100.第一网络中的Httpproxy服务器接收到终端HTTP请求,并将HTTP请求进行拆分,封装成JSON格式,写入数据库。
在本实施例中,,S100中,将HTTP请求进行拆分,封装成JSON格式,至少包括:请求URI,消息类型、消息体以及唯一ID字段。
在本实施例中,S100中,写入数据库的具体方法为:封装后JSON写入数据库表MSG字段,同时写入MSGTPYE为0,代表消息类型为请求。
S200.利用网闸将第一网络中数据库写入的请求数据同步至第二网络数据库中;在本实施例中,网闸为第一网络和第二网络的边界程序,能提供第一网络和第二网络的数据库表的同步功能。
S300.第二网络中的kafka-connect服务器检测到数据库数据变更后,将请求数据取出发布到第二网络中的kafka服务器;
S400.第二网络中的Httpproxy服务器订阅到kafka服务器的请求数据,将JSON格式的数据重新组装成HTTP请求,并将请求数据转发给目标服务器,等待目标服务器的应答数据。
S500.目标服务器接收HTTP请求,根据HTTP请求,向第二网络中的Httpproxy服务器输出应答数据。
在本实施例中,S400-S500中,当第二网络中的Httpproxy服务器将请求数据转发给目标服务器后,会在预设时间内判断是否收到目标服务器应答数据,若预设时间内收到目标服务器应答数据,则执行S500;若预设时间内未收到目标服务器应答数据,则流程结束。在本实施例中,预设时间优选60秒。如果60秒内收到目标服务器应答数据,进入S600;否则流程结束。
S600.第二网络中的Httpproxy服务器将应答数据拆分,并封装成JSON格式,并写入第二网络中的数据库.
在本实施例中,S600中,第二网络中的Httpproxy服务器将应答数据拆分,并封装成JSON格式,至少包括:状态及错误码,消息体以及请求时携带的唯一ID。
在本实施例中,S600中,写入数据库的具体方法为:写入数据库表MSG字段,同时MSGTYPE写入1,代表应答消息。
S700.利用网闸将第二网络中数据库写入的应答数据同步至第一网络数据库中。
S800.第一网络中的kafka-connect服务器检测到数据变更,将应答数据提取,发布到第一网络中的kafka服务器中;
S900.第一网络中的中的Httpproxy服务器订阅到kafka服务器的应答数据,将JSON格式的数据重新组装成HTTP应答消息,并将请求回复给终端。
在本实施例中,S900中,在预设时间内判断第一网络中的中的Httpproxy服务器是否订阅到kafka服务器的应答数据,若在预设时间内,第一网络中的中的Httpproxy服务器未订阅到kafka服务器的应答数据,将超时错误回复给客户端,流程结束。优选的,预设时间为60秒。
本发明公开的一种基于数据库数据同步来实现HTTP代理的方法,在程序和架构方面提供了综合的解决方案,当用户发起HTTP请求时,Httpproxy会对该请求进行拆分和标记,将请求URI和消息体封装JSON格式,并设置消息类型TYEP,TYPE=0表示该条数据为请求数据,并为该条消息添加唯一标识,将拆分好的数据写入数据库,通过网闸同步数据库表数据。另一端网络获取该请求数据后,会重新组装并转发给目标服务器,目标服务器获取到应答数据后再将数据拆分,将应答状态和消息体封装JSON格式,并设置消息类型TYPE,TYPE=1表示该条数据为应答数据,请求端获取数据后组装并返回给客户端。上述消息交换模式,以数据库为桥梁,两端都通过Httpproxy消息转换和会话管理,无需开通HTTP端口,即可实现HTTP跨网请求,且各个模块支持集群部署,当用户量过大时候支持横向拓展系统的并发额能力。
实施例2
本实施例公开了一种基于数据库数据同步来实现HTTP代理的系统,如图3,包括:Httpproxy服务器、kafka和kafka-connect服务器、数据库;其中:Httpproxy服务器、kafka和kafka-connect服务器、数据库都至少包含2个,分别设置于第一网络和第二网络。在本实施例中,kafka服务器和kafka-connect服务器可以包含多台服务器,例如图2中是以单台服务器,单次HTTP请求为例进行说明,所述系统是通过HTTP/JSON-RPC消息和终端用户通信的。
Httpproxy服务器,用于消息解析和会话管理,以及包含底层的Database适配层的实现。在本实施例中,用于接收第一网络的终端HTTP请求,并将HTTP请求进行拆分,封装成JSON格式,写入第一网络的数据库;用于订阅第二网络的kafka服务器的请求数据,将JSON格式的数据重新组装成HTTP请求,并将请求数据转发给第二网路的目标服务器;还用于接收第二网络的目标服务器应答数据,Httpproxy服务器将应答数据拆分,并封装成JSON格式,并写入第二网络中的数据库;
kafka-connect服务器,用于在Kafka和其他系统之间进行扩展。在本实施例中,用于检测第二网络中的数据库数据是否变更,当数据库数据变更后,将请求数据取出发布到第二网络中的kafka服务器;还用于检测第一网络中的数据库数据是否变更,当数据库数据变更后,将应答数据取出发布到第一网络中的kafka服务器;
kafka服务器,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,在本实施例中,用于和Httpproxy服务器进行信息交互,将终端的请求数据发送给第二网络的Httpproxy服务器;还用于将目标服务器的应答数据发送给第一网络的Httpproxy服务器;
数据库,通过网闸将第一网络和第二网络的数据进行同步,用于将请求数据和应答数据在第一网络和第二网络之间进行同步。在本实施例中,数据库可以为Mysql、Oracle等数据库。
在一些优选实施例中,Httpproxy服务器包括Consumer模块、Session模块和Datebase适配层;其中:
Consume模块,用于订阅kafka的消息,通过标记类型区分消息是请求还是应答,并转发到Session模块处理;
Session模块,用于会话的管理,包括处理HTTP请求及应答;
Datebase适配层,用于针对各个数据库API进行封装。
本发明公开的一种基于数据库数据同步来实现HTTP代理的系统,在程序和架构方面提供了综合的解决方案,当用户发起HTTP请求时,Httpproxy会对该请求进行拆分和标记,将请求URI和消息体封装JSON格式,并设置消息类型TYEP,TYPE=0表示该条数据为请求数据,并为该条消息添加唯一标识,将拆分好的数据写入数据库,通过网闸同步数据库表数据。另一端网络获取该请求数据后,会重新组装并转发给目标服务器,目标服务器获取到应答数据后再将数据拆分,将应答状态和消息体封装JSON格式,并设置消息类型TYPE,TYPE=1表示该条数据为应答数据,请求端获取数据后组装并返回给客户端。上述消息交换模式,以数据库为桥梁,两端都通过Httpproxy消息转换和会话管理,无需开通HTTP端口,即可实现HTTP跨网请求,且各个模块支持集群部署,当用户量过大时候支持横向拓展系统的并发额能力。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

Claims (8)

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服务器;
数据库,通过网闸将第一网络和第二网络的数据进行同步,用于将请求数据和应答数据在第一网络和第二网络之间进行同步。
CN202011372117.4A 2020-11-30 2020-11-30 一种基于数据库数据同步来实现http代理的方法和系统 Active CN112395359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011372117.4A CN112395359B (zh) 2020-11-30 2020-11-30 一种基于数据库数据同步来实现http代理的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011372117.4A CN112395359B (zh) 2020-11-30 2020-11-30 一种基于数据库数据同步来实现http代理的方法和系统

Publications (2)

Publication Number Publication Date
CN112395359A CN112395359A (zh) 2021-02-23
CN112395359B true CN112395359B (zh) 2023-03-31

Family

ID=74605597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011372117.4A Active CN112395359B (zh) 2020-11-30 2020-11-30 一种基于数据库数据同步来实现http代理的方法和系统

Country Status (1)

Country Link
CN (1) CN112395359B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114547524B (zh) * 2022-03-07 2023-03-03 无锡雪浪数制科技有限公司 一种同步http接口数据的方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726260A (zh) * 2019-03-21 2020-09-29 阿里巴巴集团控股有限公司 一种网络请求回复信息格式转换的测试方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US9654576B2 (en) * 2014-09-12 2017-05-16 Sap Se Database triggered push notification
CN107454094A (zh) * 2017-08-23 2017-12-08 北京明朝万达科技股份有限公司 一种数据交互方法和系统
CN107453953B (zh) * 2017-08-30 2020-09-15 苏州朗动网络科技有限公司 一种基于httpclient的数据更新系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726260A (zh) * 2019-03-21 2020-09-29 阿里巴巴集团控股有限公司 一种网络请求回复信息格式转换的测试方法、装置和系统

Also Published As

Publication number Publication date
CN112395359A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN107018147B (zh) 一种物联网通信方法及系统、网关模块
EP2636199B1 (en) Signalling gateway, method, computer program and computer program product for communication between http and sip
CN111787066A (zh) 一种基于大数据、ai的物联网数据平台
US8200739B2 (en) Arrangement and method relating to load distribution
EP1497966A1 (en) Method for implementing content delivery network (cdn) internetworking, respective networks and interface component
CN106911664B (zh) 会话发起协议(sip)路由器
US7870418B2 (en) Enhanced presence routing and roster fidelity by proactive crashed endpoint detection
US20070109976A1 (en) Dynamic peer application discovery
US10834033B2 (en) Method and system for transferring messages between messaging systems
CN112395359B (zh) 一种基于数据库数据同步来实现http代理的方法和系统
CN113727464B (zh) 一种满足sip流媒体服务器高并发通话的建立方法和装置
US20120265886A1 (en) Service templates for an ip multimedia subsystem
EP2560329B1 (en) Method and processing system for routing a message request
CN110661871A (zh) 一种数据传输方法及mqtt服务器
CN109857572B (zh) 实现远程调用的方法、装置、设备及计算机可读存储介质
CN101223746B (zh) 寻呼模式消息收发
CN101854703B (zh) 获取状态信息的方法、服务器及系统
CN101217533B (zh) 同步大头像的方法及实现该方法的群组服务器和终端
CN110087227B (zh) 一种基于ims架构的分布式呈现业务的系统及方法
CN101166142A (zh) 一种使提交报告消息正确路由的方法及网关
US8060568B2 (en) Real time messaging framework hub to intercept and retransmit messages for a messaging facility
JP2005236670A (ja) セッション確立、セッション確立処理装置及びプログラム
US20090083364A1 (en) Data communication system, terminal, catalog server, data communication method, and communication program product
CN114500660B (zh) 请求处理方法、装置、设备及计算机可读存储介质
Zhou et al. Two patterns in conversion between HTTP2 and CoAP: Request-Reponse and Publish-Subscribe

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