CN112637130A - 一种基于消费队列的数据交换方法及系统 - Google Patents
一种基于消费队列的数据交换方法及系统 Download PDFInfo
- Publication number
- CN112637130A CN112637130A CN202011378206.XA CN202011378206A CN112637130A CN 112637130 A CN112637130 A CN 112637130A CN 202011378206 A CN202011378206 A CN 202011378206A CN 112637130 A CN112637130 A CN 112637130A
- Authority
- CN
- China
- Prior art keywords
- client
- data
- subscription task
- subscription
- consumption
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于消费队列的数据交换方法及系统,包括:接收外网服务器发送的客户端数据查询请求;解析客户端数据查询请求,将得到的订阅任务发送至元数据库,以得到消费队列;转换接收的内部订阅任务数据,将得到的外部订阅任务数据经外网服务器返回至相应客户端,其中所述内部订阅任务数据是通过消费客户端消费消息队列而得到。本发明客户端与内网订阅服务通过HTTP交互,不直接接触MQ数据;可通过客户端循环请求,获取数据。
Description
技术领域
本发明属于计算机网络领域,尤其涉及一种基于消费队列的数据交换方法及系统。
背景技术
随着互联网的发展和大数据技术的不断成熟,企业的外部客户端进行分析需要使用的数据量越来越大,而消息队列(Message Queue,MQ)技术为大量数据的传输提供了非常好的传输方式。
现有技术中因客户端直接消费MQ,所以外部客户端必须与内网MQ数据相连通,但这极大地增加了安全风险,已经不满足现在互联网企业的需求。因此现在急需一种数据交换方法来进行内网数据到客户端的传输,以使企业可以将内部数据存储和外部数据的使用进行分离。
发明内容
为解决上述问题,本发明提供一种基于消费队列的数据交换方法及系统,客户端不直接接触消费队列,以保证系统的安全性。
本发明技术解决方案包括:
一种基于消费队列的数据交换方法,适用于由客户端、外网服务器、内网服务器、元数据库与消费客户端组成的系统,其步骤包括:
1)接收外网服务器发送的客户端数据查询请求;
2)解析客户端数据查询请求,将得到的订阅任务发送至元数据库,以得到消费队列;
3)转换接收的内部订阅任务数据,将得到的外部订阅任务数据经外网服务器返回至相应客户端,其中所述内部订阅任务数据是通过消费客户端消费消息队列而得到。
进一步地,客户端数据查询请求的字段包括用户名、sql语句、交换方式和消费者组。
进一步地,根据用户名与元数据库,判断所述客户端数据查询请求的合规性。
进一步地,通过消费者组,获取消费客户端
进一步地,通过以下步骤得到所述订阅任务:
1)解析sql语句,获取所需topic、数据字段数量与字段规则;
2)依据交换方式拉取所需topic中的指定字段内容;
3)根据数据字段数量、指定字段内容与字段规则,获取订阅任务。
进一步地,在内网服务器内存中,依据字段规则判断数据字段数量与指定字段内容是否合规。
进一步地,获取元数据库的消费队列前,元数据库判断订阅任务中的数据字段数量和指定字段内容是否合规。
进一步地,所述系统还包括生产客户端;若元数据库内没有相应订阅任务,则通过生产客户端和订阅任务产生消费队列。
进一步地,在消费客户端消费生产客户端产生的消息队列之前,元数据库判断该消息队列是否合规。
进一步地,内部订阅任务数据的格式为byte数据。
进一步地,客户端数据查询请求与外部订阅任务数据的格式包括:HTTP格式。
一种基于消费队列的数据交换系统,包括:
客户端,用以产生客户端数据查询请求;
外网服务器,用以将客户端数据查询请求发送至内网服务器;将接收的外部订阅任务数据返回至客户端;
内网服务器,用以解析客户端数据查询请求,将得到的订阅任务发送至元数据库;转换接收的内部订阅任务数据,将得到的外部订阅任务数据发送至外网服务器;
元数据库,用以存储消息队列;
消费客户端,用以消费消息队列,得到内部订阅任务数据。
进一步地,还包括生产客户端,用以当元数据库没有相应消费队列时,根据订阅任务产生相应消费队列。
本发明与现有技术相比具有如下优点:
1、数据安全:客户端与内网订阅服务通过HTTP交互,不直接接触MQ数据。
2、实时性:通过客户端循环请求,获取数据。
附图说明
图1为本发明方法的数据流程图。
具体实施方式
以下结合具体实施例和附图对本发明进行详细说明,
由客户端通过HTTP的post方式发送request访问内网订阅服务,request以json格式组织,请求内容包含(uid用户名,sql语句,交换方式scopeEnum,group消费者组)四个字段,内网订阅服务接收到请求后,进行鉴权,通过访问元数据库,确定用户身份判断其消费权限,然后开始消费MQ中的数据,对数据进行核实后,再以HTTP返回客户端,由此保证客户端与MQ隔离。保证数据安全。客户端再次通过HTTP请求时,内网订阅服务查询元数据库发现其请求过数据,则直接消费MQ中的数据,对数据进行核实后,再以HTTP返回客户端,客户端实时请求,保障数据交换的实时性。
实例1交换技术(订阅)测试
Linux服务器2台,分别是服务器1和服务器2;
1、将用户的权限写入元数据库,用以判断用户请求的合规性。
2、由服务器1上的客户端以post的方式发送HTTP发送到服务器2端的8085端口。
3、服务器2上的订阅服务接到HTTP,调用页面接口,通过查询HTTP请求中的用户名在元数据库中的权限为正常状态,然后启动订阅任务程序,根据规则解析sql,获取所需要的topic和所需字段,并依据交换方式字段拉取指定topic中的数据,按照解析sql获得字段规则在内存中判断转化拉取的数据,获得指定格式的数据。
4、订阅任务请求元数据服务,判断拉取到数据字段数量和指定字段的内容已符合规定,将数据通过MQ的生产者客户端发送到临时MQ中。
5、接口服务获取客户端请求中消费者组,调用MQ的消费客户端消费临时MQ,获取订阅任务的数据,然后将订阅任务数据转换为byte数据,通过服务器2端的8085端口,以HTTP请求方式返回给客户端。
实例2交换技术(已存在的订阅任务)测试
Linux服务器2台,分别是服务器1和服务器2;
1、将用户的权限写入元数据库,用以判断用户请求的合规性。
2、由服务器1上的客户端以post的方式发送HTTP发送到内网服务器端的8085端口。
3、服务器2上的订阅服务接到HTTP,调用页面接口,通过查询HTTP请求中的用户名在元数据库中的权限为正常状态,随后请求元数据服务,判断订阅任务此前已经存在。
4、订阅接口请求元数据服务,得到已存在订阅任务所转存的临时MQ的topic,然后接口服务获取客户端请求中消费者组,调用MQ的消费客户端消费临时MQ的topic的数据,获取订阅任务的数据,然后将数据转换为byte数据,通过HTTP请求以数据流的方式返回给客户端。
实例3交换技术(不符合规范的订阅请求)测试
Linux服务器2台,分别是服务器1和服务器2;
1、将用户的权限写入元数据库,用以判断用户请求的合规性。
2、由服务器1上的客户端以post的方式发送HTTP发送到到内网服务器端的8085端口。
3、服务器2上的订阅服务接到HTTP,调用页面接口判断其权限为正常状态,解析sql获取过滤规则,然后请求元数据服务,判断sql不符合鉴权规则,禁止其拉取MQ中的数据。
4、订阅接口消费临时MQ,因sql不合规,临时MQ中没有转存数据,所以客户端订阅不到数据,将报错信息返回给客户端。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (10)
1.一种基于消费队列的数据交换方法,适用于由客户端、外网服务器、内网服务器、元数据库与消费客户端组成的系统,其步骤包括:
1)接收外网服务器发送的客户端数据查询请求;
2)解析客户端数据查询请求,将得到的订阅任务发送至元数据库,以得到消费队列;
3)转换接收的内部订阅任务数据,将得到的外部订阅任务数据经外网服务器返回至相应客户端,其中所述内部订阅任务数据是通过消费客户端消费消息队列而得到。
2.如权利要求1所述的方法,其特征在于,客户端数据查询请求的字段包括用户名、sql语句、交换方式和消费者组。
3.如权利要求2所述的方法,其特征在于,根据用户名与元数据库,判断所述客户端数据查询请求的合规性;通过消费者组,获取消费客户端。
4.如权利要求2所述的方法,其特征在于,通过以下步骤得到所述订阅任务:
1)解析sql语句,获取所需topic、数据字段数量与字段规则;
2)依据交换方式拉取所需topic中的指定字段内容;
3)根据数据字段数量、指定字段内容与字段规则,获取订阅任务。
5.如权利要求4所述的方法,其特征在于,在内网服务器内存中,依据字段规则判断数据字段数量与指定字段内容是否合规。
6.如权利要求4所述的方法,其特征在于,获取元数据库的消费队列前,元数据库判断订阅任务中的数据字段数量和指定字段内容是否合规。
7.如权利要求1所述的方法,其特征在于,所述系统还包括生产客户端;若元数据库内没有相应订阅任务,则通过生产客户端和订阅任务产生消费队列;在消费客户端消费生产客户端产生的消息队列之前,元数据库判断该消息队列是否合规。
8.如权利要求1所述的方法,其特征在于,内部订阅任务数据的格式为byte数据;客户端数据查询请求与外部订阅任务数据的格式包括:HTTP格式。
9.一种基于消费队列的数据交换系统,包括:
客户端,用以产生客户端数据查询请求;
外网服务器,用以将客户端数据查询请求发送至内网服务器;将接收的外部订阅任务数据返回至客户端;
内网服务器,用以解析客户端数据查询请求,将得到的订阅任务发送至元数据库;转换接收的内部订阅任务数据,将得到的外部订阅任务数据发送至外网服务器;
元数据库,用以存储消息队列;
消费客户端,用以消费消息队列,得到内部订阅任务数据。
10.如权利要求1所述的系统,其特征在于,还包括生产客户端,用以当元数据库没有相应消费队列时,根据订阅任务产生相应消费队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011378206.XA CN112637130A (zh) | 2020-11-30 | 2020-11-30 | 一种基于消费队列的数据交换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011378206.XA CN112637130A (zh) | 2020-11-30 | 2020-11-30 | 一种基于消费队列的数据交换方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112637130A true CN112637130A (zh) | 2021-04-09 |
Family
ID=75307251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011378206.XA Pending CN112637130A (zh) | 2020-11-30 | 2020-11-30 | 一种基于消费队列的数据交换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637130A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761322A (zh) * | 2021-09-02 | 2021-12-07 | 南方电网数字电网研究院有限公司 | 数据查询方法、系统、电子设备及存储介质 |
CN114661720A (zh) * | 2022-03-28 | 2022-06-24 | 浪潮卓数大数据产业发展有限公司 | 基于消息队列按权限分发数据的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307543A1 (en) * | 2010-06-14 | 2011-12-15 | Richard Allen Megginson | Servicing database operations using a messaging server |
CN108063772A (zh) * | 2018-01-18 | 2018-05-22 | 吉浦斯信息咨询(深圳)有限公司 | 一种基于服务侧的数据安全访问方法及系统 |
CN109711122A (zh) * | 2019-01-23 | 2019-05-03 | 北京奇艺世纪科技有限公司 | 一种权限管理方法、装置、系统、设备及可读存储介质 |
CN112000741A (zh) * | 2020-08-25 | 2020-11-27 | 中国南方电网有限责任公司 | 内外网数据交换系统、方法、装置、计算机设备和介质 |
-
2020
- 2020-11-30 CN CN202011378206.XA patent/CN112637130A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110307543A1 (en) * | 2010-06-14 | 2011-12-15 | Richard Allen Megginson | Servicing database operations using a messaging server |
CN108063772A (zh) * | 2018-01-18 | 2018-05-22 | 吉浦斯信息咨询(深圳)有限公司 | 一种基于服务侧的数据安全访问方法及系统 |
CN109711122A (zh) * | 2019-01-23 | 2019-05-03 | 北京奇艺世纪科技有限公司 | 一种权限管理方法、装置、系统、设备及可读存储介质 |
CN112000741A (zh) * | 2020-08-25 | 2020-11-27 | 中国南方电网有限责任公司 | 内外网数据交换系统、方法、装置、计算机设备和介质 |
Non-Patent Citations (2)
Title |
---|
吴晓凌: "《Android移动应用基础教程》", 31 May 2019 * |
陈宇翔: "《精通WebSphere MQ》", 30 September 2004, 安徽科学技术出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761322A (zh) * | 2021-09-02 | 2021-12-07 | 南方电网数字电网研究院有限公司 | 数据查询方法、系统、电子设备及存储介质 |
CN113761322B (zh) * | 2021-09-02 | 2024-02-09 | 南方电网数字电网研究院有限公司 | 数据查询方法、系统、电子设备及存储介质 |
CN114661720A (zh) * | 2022-03-28 | 2022-06-24 | 浪潮卓数大数据产业发展有限公司 | 基于消息队列按权限分发数据的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383533B (zh) | 报文格式转换方法及装置 | |
CN113839977B (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN112637130A (zh) | 一种基于消费队列的数据交换方法及系统 | |
WO2012109889A1 (zh) | 操作设备资源的方法和管理装置 | |
CN106487891B (zh) | 一种基于kafka的处理消息的方法 | |
EP2352269A1 (en) | Service access method and system | |
US20130094403A1 (en) | Method and apparatus for providing sensor network information | |
CA3168857A1 (en) | Method and apparatus for managing and controlling resource, device and storage medium | |
CN111427613B (zh) | 一种应用程序接口api管理方法和装置 | |
CN113761079A (zh) | 数据访问方法、系统和存储介质 | |
CN107241422B (zh) | 一种实时将外部用户及用户组信息同步进Apache Ranger的方法 | |
CN112417016B (zh) | 一种数据交换方法、系统、设备及存储介质 | |
CN112200465B (zh) | 基于多媒体信息智能分析的电力ai方法及系统 | |
CN103092982A (zh) | 基于多视图业务模型的信息服务系统 | |
CN112650767B (zh) | 一种数据过滤前置的数据交换方法及系统 | |
CN113687958A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN115346525A (zh) | 验证与数字助理应用交接的代理的操作状态 | |
CN115242787B (zh) | 消息处理系统及方法 | |
CN113297148B (zh) | 业务日志数据的采集方法、装置、设备及可读存储介质 | |
Adam | Usages of semantic web services technologies in IoT ecosystems and its impact in services delivery: A survey | |
CN114390033A (zh) | 基于可扩展通信协议的回路状态巡检仪采集系统及方法 | |
US20110125828A1 (en) | Service for Standardization of Resource Metadata Models Via Social Networking - Arriving at an Agreed Upon (Standard) Resource Meta-Model Via Social Consensus | |
CN107330089B (zh) | 跨网络结构化数据收集系统 | |
CN110704159A (zh) | 一种基于OpenStack的一体化云操作系统 | |
Wu et al. | An IoT Middleware of Data Service |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210409 |
|
WD01 | Invention patent application deemed withdrawn after publication |