CN112000741B - 内外网数据交换系统、方法、装置、计算机设备和介质 - Google Patents

内外网数据交换系统、方法、装置、计算机设备和介质 Download PDF

Info

Publication number
CN112000741B
CN112000741B CN202010862959.1A CN202010862959A CN112000741B CN 112000741 B CN112000741 B CN 112000741B CN 202010862959 A CN202010862959 A CN 202010862959A CN 112000741 B CN112000741 B CN 112000741B
Authority
CN
China
Prior art keywords
data
external network
synchronous
internal
synchronization
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
CN202010862959.1A
Other languages
English (en)
Other versions
CN112000741A (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 Southern Power Grid Co Ltd
Original Assignee
China Southern Power Grid 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 Southern Power Grid Co Ltd filed Critical China Southern Power Grid Co Ltd
Priority to CN202010862959.1A priority Critical patent/CN112000741B/zh
Publication of CN112000741A publication Critical patent/CN112000741A/zh
Application granted granted Critical
Publication of CN112000741B publication Critical patent/CN112000741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种内外网数据交换系统、方法、装置、计算机设备和存储介质。本申请能够实现在内外网隔离的情况下内外网数据库数据快速同步。该系统包括:外网数据同步服务器、数据交换系统和内网数据同步客户端,其中,数据交换系统包括内外网消息队列、外网文件同步服务器、内网文件同步服务器以及内外网交换平台,通过外网消息队列存储同步数据,并由外网文件同步服务器从外网消息队列中读取上述同步数据,经内外网交换平台传输至内网文件同步客户端,再由内网文件同步客户端将上述同步数据发送至内网消息队列,内网数据同步客户端从内网消息队列中读取上述同步数据后进行入库操作。

Description

内外网数据交换系统、方法、装置、计算机设备和介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种内外网数据交换系统、方法、装置、计算机设备和存储介质。
背景技术
在业务系统架构中,数据库主要用于持久化数据、保存数据变更集、记录状态转换关系,是现在业务系统中不可或缺的一部分。
企业多采用内外网隔离的方式部署企业内网,目的是为了保护企业内部敏感数据,防止黑客攻击。但由于企业经营的需要,还是不可避免地需要与外网进行信息交互。例如企业与外界的交易数据的传输需要在外网和内网同时建立数据库进行交易数据的存储和交互。
目前,业务系统之间的数据交换一般通过socket方式传输数据报文,且数据报文常以json格式和xml格式为主,但这种通过socket方式传输数据报文的方式需要网络互通才能进行数据交换,因此目前的数据传输方式不适合内外网两机房网络隔离的业务系统。
发明内容
基于此,有必要针对上述技术问题,提供一种内外网数据交换系统、方法、装置、计算机设备和存储介质。
一种内外网数据交换系统,包括:外网数据同步服务器、数据交换系统以及内网数据同步客户端;所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列;其中,
所述外网数据同步服务器,用于采集数据库操作日志,根据所述数据库操作日志生成预设格式的同步数据,将所述同步数据发送至所述外网消息队列存储;
所述数据交换系统,用于通过所述外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
通过所述内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;
所述内网数据同步客户端,用于从所述内网消息队列读取所述同步数据,基于所述同步数据进行同步数据入库。
在其中一个实施例中,所述外网数据同步服务器,进一步用于按照针对数据库的预设表白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的所述数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成所述预设格式的同步数据。
在其中一个实施例中,所述内网数据同步客户端,进一步用于从所述内网消息队列读取所述同步数据,根据所述同步数据匹配对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作。
在其中一个实施例中,所述预设格式为json格式;所述同步数据文件为所述json格式的同步数据文件;所述外网消息队列和所述内网消息队列基于kafka服务器构建。
一种内外网数据交换方法,应用于数据交换系统,所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列,所述方法包括:
通过外网消息队列接收并存储外网数据同步服务器发送的预设格式的同步数据;所述预设格式的同步数据是由外网数据同步服务器采集数据库操作日志,并根据所述数据库操作日志生成的预设格式的同步数据;
通过外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
通过内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;其中,所述内网消息队列存储的所述预设格式的同步数据被内网数据同步客户端读取后,由所述内网数据同步客户端基于所述同步数据进行同步数据入库。
在其中一个实施例中,所述预设格式的同步数据是由所述外网数据同步服务器采集所述数据库操作日志后,分别按照针对数据库的预设白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的所述数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成的预设格式的同步数据。
在其中一个实施例中,所述内网数据同步客户端,进一步用于从所述内网消息队列读取所述同步数据,根据所述同步数据匹配对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作。
一种内外网数据交换装置,应用于数据交换系统,,所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列所述装置包括:
同步数据接收模块,用于通过外网消息队列接收并存储外网数据同步服务器发送的预设格式的同步数据;所述预设格式的同步数据是由外网数据同步服务器采集数据库操作日志,并根据所述数据库操作日志生成的预设格式的同步数据;
同步数据读取模块,用于通过外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
同步数据发送模块,用于通过内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;其中所述内网消息队列存储的所述预设格式的同步数据被内网数据同步客户端读取后,由所述内网数据同步客户端基于所述同步数据进行同步数据入库。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的内外网数据交换方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述的内外网数据交换方法的步骤。
上述内外网数据交换系统、方法、装置、计算机设备和存储介质,通过设置数据交换系统为外网数据同步服务器和内网数据同步客户端实现实时数据交换,其中,数据交换系统包括内外网消息队列、外网文件同步服务器、内网文件同步服务器以及内外网交换平台,通过外网消息队列存储同步数据,并由外网文件同步服务器从外网消息队列中读取上述同步数据,经内外网交换平台传输至内网文件同步客户端,再由内网文件同步客户端将上述同步数据发送至内网消息队列,内网数据同步客户端从内网消息队列中读取上述同步数据后进行入库操作。本申请通过设置内外网消息队列,并由内网数据同步客户端主动从内网消息队列中读取其中存储的同步数据,实现了实时同步内外网数据库中的数据;同时设置内外网交换平台,解决了在内外网隔离的情况下外网数据库更新后内网数据还没来得及同步的问题,实现了内外网数据库数据快速同步。
附图说明
图1为一个实施例中内外网数据交换方法的应用环境图;
图2为一个实施例中内外网数据交换系统的结构示意图;
图3为一个实施例中内外网数据交换方法的流程示意图;
图4为另一个实施例中内外网数据交换方法的流程示意图;
图5为一个实施例中内外网数据交换装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的内外网数据交换方法,可以应用于如图1所示的应用环境中。图1为一实施例的内外网数据交换系统的应用环境图,包括外网数据同步服务器101、数据交换系统102和内网数据同步客户端103。其中,数据交换系统102包括:外网消息队列1021、外网文件同步服务器1022、内外网交换平台1023、内网文件同步客户端1024和内网消息队列1025。上述各应用部件都可以用独立的服务器或者是多个服务器组成的服务器集群来实现;外网数据同步服务器101、外网消息队列1021和外网文件同步服务器1022位于外网网络上,而内网数据同步客户端103、内网文件同步客户端1024和内网消息队列1025位于内网网络上,外网网络与内网网络相互隔离,避免来自互联网的黑客入侵内网或内网信息泄露,内外网之间可通往内外网交换平台1023实现有限的信息交互,内外网交换平台1023可以用硬件或软件来实现。
在另一个实施例中,如图2所示,图2示出了另一个内外网数据交换系统的结构示意图,包括外网数据同步服务器201、数据交换系统202和内网数据同步客户端203。其中,数据交换系统202包括:外网消息队列2021、外网文件同步服务器2022、内外网交换平台2023、内网文件同步客户端2024和内网消息队列2025。下面以图2为例,对上述内外网数据交换系统进行说明。
在本实施例中,外网数据同步服务器201,用于采集数据库操作日志,根据数据库操作日志生成预设格式的同步数据,将该同步数据发送至外网消息队列2021存储。
其中,数据库操作日志是指针对数据库改变所做的记录,例如某一账号针对数据库中数据的增加、修改、删除等操作,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中,对于任何每一个数据操作过程,日志都有非常全面的记录,根据这些记录可以将数据库中的数据文件恢复成操作前的状态,也可以根据数据库操作日志实现内外网的数据同步。外网数据同步服务器201采集的数据库操作日志可以是自身的数据库操作记录,也可以是其它服务器或服务器集群的操作记录。外网数据同步服务器201将采集到的数据库操作日志转变为预设格式的同步数据,例如统一转变为JSON格式的同步数据,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在一些实施例中,外网数据同步服务器201还可以将采集到的数据库操作日志转变为其它格式的数据,例如可以是XML(Extensible Markup Language,可扩展标记语言)格式的同步数据;外网数据同步服务器201将上述统一格式的同步数据发送至外网消息队列2021中存储。消息队列2021,在实际应用中,也称消息系统,是指发送者把自己想要发送的信息放入一个容器中,然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者异地的消息接收程序再从该队列中取出发给它的消息进行处理的系统。
数据交换系统202,用于通过外网文件同步服务器2022从外网消息队列2021读取同步数据,并写入同步数据文件,将同步数据文件上传至内外网交换平台2023存储;
具体地,外网文件同步服务器2022从外网消息队列2021中读取自己需要的同步数据,例如外网文件同步服务器2022中包含多个服务器,每个服务器都从外网消息队列2021中读取自己需要的同步数据,并写入同步数据文件,将同步数据文件上传至内外网交换平台2023,通过SFTP(Secure File Transfer Protocol,安全文件传送协议)存储。
可选地,可设置上述外网文件同步服务器2022单向访问上述外网消息队列2021,即上述外网文件同步服务器2022每隔预设时间,例如每隔3秒向上述外网消息队列2021发起轮询请求,若有对应的同步数据,则读取该同步数据。
上述数据交换系统202,还用于通过内网文件同步客户端2024从内外网交换平台2023下载同步数据文件,读取同步数据文件中的预设格式的同步数据,将同步数据发送至内网消息队列2025存储;
具体地,内网文件同步客户端2024通过安全文件传送协议从内外网交换平台2023下载上述同步数据文件,从中读取预设格式的同步数据,例如上述JSON格式的同步数据,也可以是其他格式例如XML格式的同步数据,并将这些同步数据发送至内网消息队列2025存储。
内网数据同步客户端203,用于从内网消息队列2025读取同步数据,基于同步数据进行同步数据入库。
具体地,内网数据同步客户端203从内网消息队列2025读取同步数据,即外网的数据库操作日志,根据该数据库操作日志执行对应的操作针对对应的内网数据库的数据进行更新。
可选地,可设置内网数据同步客户端203单向访问内网消息队列2025,若内网数据同步客户端203包含多个服务器,则每个服务器每隔预设时间,例如每隔3秒向上述内网消息队列2025发起轮询请求,若有对应的同步数据,则读取该同步数据,并根据该同步数据进行同步数据入库操作。
上述实施例,通过设置数据交换系统为外网数据同步服务器和内网数据同步客户端实现实时数据交换,其中,数据交换系统包括内外网消息队列、外网文件同步服务器、内网文件同步服务器以及内外网交换平台,通过外网消息队列存储同步数据,并由外网文件同步服务器从外网消息队列中读取上述同步数据,经内外网交换平台传输至内网文件同步客户端,再由内网文件同步客户端将上述同步数据发送至内网消息队列,内网数据同步客户端从内网消息队列中读取上述同步数据后进行入库操作,实现了实时同步内外网数据库中的数据;同时设置内外网交换平台,解决了在内外网隔离的情况下外网数据库更新后内网数据还没来得及同步的问题,实现了内外网数据库数据快速同步。
在一实施例中,外网数据同步服务器201,进一步用于按照针对数据库的预设表白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成预设格式的同步数据。
具体地,外网数据同步服务器201在采集到数据库操作日志后,还需要依次对数据库操作日志按照预设的表白名单、表字段白名单、表黑名单和表字段黑名单进行过滤,根据过滤后的数据库操作日志生成预设格式的同步数据,例如可以是JSON格式的同步数据。
上述实施例,通过在外网数据同步服务器201上预设白名单、表字段白名单、表黑名单和表字段黑名单针对外网的数据库操作日志进行过滤,避免内网数据误操作,为内网数据库更新节省了操作步骤,也保证了内网数据库的安全。
在一实施例中,内网数据同步客户端203,进一步用于从内网消息队列2025读取同步数据,根据同步数据匹配对应的数据库并生成对应的数据库执行语句,根据数据库执行语句执行针对对应的数据库的数据入库操作。
具体地,内网数据同步客户端203上存储有数据落库表,其上存储有内网各个数据库的相关信息,内网数据同步客户端203从内网消息队列2025读取同步数据,根据数据落库表匹配上述同步数据对应的数据库,并根据同步数据生成数据库执行语句,例如sql(Structured Query Language,结构化查询语言)语句,并执行对应的sql语句,实现同步数据入库。
上述实施例,通过在内网数据同步客户端203设置数据落库表,根据数据落库表匹配同步数据,可实现对不同的数据库同时管理,避免数据混乱。
在一实施例中,上述预设格式为json格式;上述同步数据文件为json格式的同步数据文件;上述外网消息队列2021和内网消息队列2025基于kafka服务器构建。
具体地,在上述内外网数据交换系统中,所有的数据格式均为统一的格式,例如上述外网数据同步服务器201采集到数据库操作日志后,将数据库操作日志转换为json格式的同步数据,并上传到外网消息队列2021,外网文件同步服务器2022读取该同步数据后,将该同步数据生成json格式的同步数据文件。同理,内网中的同步数据和同步数据文件也均为json格式。
上述外网消息队列2021和内网消息队列2025基于kafka服务器构建,其中,Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,也是一种通过集群来提供实时消息的消息系统。它可以处理消费者在网站中的所有动作流数据。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。且在Kafka中可实现数据备份功能,若其中有一个分区被破坏,则另一分区中存有该分区数据的副本,保障了数据的安全。
在本实施例中,通过统一内外网数据交换系统中所有数据的格式为json格式,且设置内外网消息队列为基于分布式发布订阅模式的Kafka消息系统,解决了当外网数据库数据操作频繁且大量的情况下的高吞吐量需求,也通过Kafka消息系统的数据备份功能保障了数据的安全,降低了数据丢失的风险。
本申请还提供了一种内外网数据交换方法,如图3所示,图3示出了一实施例中内外网数据交换方法的流程示意图,以该方法应用于图2中的数据交换系统202为例,进行说明。该方法包括:
S301,通过外网消息队2021接收并存储外网数据同步服务器201发送的预设格式的同步数据;预设格式的同步数据是由外网数据同步服务器201采集数据库操作日志,并根据数据库操作日志生成的预设格式的同步数据;
具体地,外网数据同步服务器201用于采集数据库操作日志,并将采集到的数据库操作日志转变为预设格式的同步数据,例如统一转变为JSON格式的同步数据,在一些实施例中,外网数据同步服务器201还可以将采集到的数据库操作日志转变为其它格式的数据,例如可以是XML格式的同步数据;外网数据同步服务器201将上述统一格式的同步数据发送至外网消息队列2021中存储。
S302,通过外网文件同步服务器2022从外网消息队列2021读取同步数据,并写入同步数据文件,将同步数据文件上传至内外网交换平台2023存储;
具体地,外网文件同步服务器2022从外网消息队列2021中读取自己需要的同步数据,例如外网文件同步服务器2022中包含多个服务器,每个服务器都从外网消息队列2021中读取自己需要的同步数据,并写入同步数据文件,将同步数据文件上传至内外网交换平台2023,通过SFTP(Secure File Transfer Protocol,安全文件传送协议)存储。
可选地,可设置上述外网文件同步服务器2022单向访问上述外网消息队列2021,即上述外网文件同步服务器2022每隔预设时间,例如每隔3秒向上述外网消息队列2021发起轮询请求,若有对应的同步数据,则读取该同步数据。
S303,通过内网文件同步客户端2024从内外网交换平台2023下载同步数据文件,读取同步数据文件中的预设格式的同步数据,将同步数据发送至内网消息队列2025存储;其中,内网消息队列2025存储的预设格式的同步数据被内网数据同步客户端203读取后,由内网数据同步客户端203基于同步数据进行同步数据入库。
具体地,内网文件同步客户端2024通过安全文件传送协议从内外网交换平台2023下载上述同步数据文件,从中读取预设格式的同步数据,例如上述JSON格式的同步数据,也可以是其他格式例如XML格式的同步数据,并将这些同步数据发送至内网消息队列2025存储。内网数据同步客户端203从内网消息队列2025读取同步数据,即外网的数据库操作日志,根据该数据库操作日志执行对应的操作针对对应的内网数据库的数据进行更新。
可选地,可设置内网数据同步客户端203单向访问内网消息队列2025,若内网数据同步客户端203包含多个服务器,则每个服务器每隔预设时间,例如每隔3秒向上述内网消息队列2025发起轮询请求,若有对应的同步数据,则读取该同步数据,并根据该同步数据进行同步数据入库操作。
上述实施例,通过设置数据交换系统为外网数据同步服务器和内网数据同步客户端实现实时数据交换,其中,数据交换系统包括内外网消息队列、外网文件同步服务器、内网文件同步服务器以及内外网交换平台,通过外网消息队列存储同步数据,并由外网文件同步服务器从外网消息队列中读取上述同步数据,经内外网交换平台传输至内网文件同步客户端,再由内网文件同步客户端将上述同步数据发送至内网消息队列,内网数据同步客户端从内网消息队列中读取上述同步数据后进行入库操作,实现了实时同步内外网数据库中的数据;同时设置内外网交换平台,解决了在内外网隔离的情况下外网数据库更新后内网数据还没来得及同步的问题,实现了内外网数据库数据快速同步。
在一实施例中,预设格式的同步数据是由外网数据同步服务器采集数据库操作日志后,分别按照针对数据库的预设白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成的预设格式的同步数据。
具体地,外网数据同步服务器201在采集到数据库操作日志后,还需要依次对数据库操作日志按照预设的表白名单、表字段白名单、表黑名单和表字段黑名单进行过滤,根据过滤后的数据库操作日志生成预设格式的同步数据,例如可以是JSON格式的同步数据。
上述实施例,通过在外网数据同步服务器201上预设白名单、表字段白名单、表黑名单和表字段黑名单针对外网的数据库操作日志进行过滤,避免内网数据误操作,为内网数据库更新节省了操作步骤,也保证了内网数据库的安全。
在一实施例中,内网数据同步客户端203,进一步用于从内网消息队列读取同步数据,根据同步数据匹配对应的数据库并生成对应的数据库执行语句,根据数据库执行语句执行针对对应的数据库的数据入库操作。
具体地,内网数据同步客户端203上存储有数据落库表,其上存储有内网各个数据库的相关信息,内网数据同步客户端203从内网消息队列2025读取同步数据,根据数据落库表匹配上述同步数据对应的数据库,并根据同步数据生成数据库执行语句,例如sql语句,并执行对应的sql语句,实现同步数据入库。
上述实施例,通过在内网数据同步客户端203设置数据落库表,根据数据落库表匹配同步数据,可实现对不同的数据库同时管理,避免数据混乱。
在一实施例中,上述预设格式为json格式;上述同步数据文件为json格式的同步数据文件;上述外网消息队列2021和内网消息队列2025基于kafka服务器构建。
具体地,在上述内外网数据交换系统中,所有的数据格式均为统一的格式,例如上述外网数据同步服务器201采集到数据库操作日志后,将数据库操作日志转换为json格式的同步数据,并上传到外网消息队列2021,外网文件同步服务器2022读取该同步数据后,将该同步数据生成json格式的同步数据文件。同理,内网中的同步数据和同步数据文件也均为json格式。上述外网消息队列2021和内网消息队列2025基于kafka服务器构建。
在本实施例中,通过统一内外网数据交换系统中所有数据的格式为json格式,且设置内外网消息队列为基于分布式发布订阅模式的Kafka消息系统,解决了当外网数据库数据操作频繁且大量的情况下的高吞吐量需求,也通过Kafka消息系统的数据备份功能保障了数据的安全,降低了数据丢失的风险。
在一实施例中,如图4所示,图4示出了一具体应用场景中的内外网数据交换方法的流程图,其具体流程如下:
步骤S401:数据同步服务器采集数据库操作日志;
步骤S402:数据同步服务器针对数据库操作日志进行表白名单过滤;
步骤S403:数据同步服务器针对数据库操作日志进行表字器白名单过滤;
步骤S404:数据同步服务器针对数据库操作日志进行表黑名单过滤;
步骤S405:数据同步服务器针对数据库操作日志进行表字器黑名单过滤;
步骤S406:数据同步服务器生成json格式同步数据;
步骤S407:数据同步服务器将json格式同步数据发送至外网kafka消息系统;
步骤S408:json格式同步数据被存储在外网kafka消息系统上;
步骤S409:外网文件同步服务器读取kafka消息系统存储的json格式同步数据;
步骤S410:外网文件同步服务器将json格式同步数据写入同步数据文件;
步骤S411:文件同步服务端上传同步数据文件到内外网交换平台sftp;
步骤S412:同步数据文件被存储在内外网交换平台sftp上;
步骤S413:内外网文件同步客户端下载同步数据文件;
步骤S414:内网文件同步客户端读取同步数据文件中的json格式同步数据;
步骤S415:内网文件同步客户端发送json格式同步数据到内网kafka消息系统;
步骤S416:json格式同步数据被存储在内网kafka消息系统上;
步骤S417:内网数据同步客户端读取kafka消息系统上的json格式同步数据;
步骤S418:内网数据同步客户端匹配配置的目标数据库;
步骤S419:内网数据同步客户端根据json格式同步数据,生成可执行的数据库sql语句;
步骤S420:内网数据同步客户端执行数据库sql语句;
步骤S421:内网数据同步客户端进行同步数据入库;
上述实施例在内外网系统间通过数据库操作日志进行数据交互时,对数据格式进行规范化,实现了内外网网络隔离下的数据同步。
应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种内外网数据交换装置500,应用于数据交换系统,包括:同步数据接收模块501、同步数据读取模块502和同步数据发送模块503,其中:
同步数据接收模块501,用于通过外网消息队列接收并存储外网数据同步服务器发送的预设格式的同步数据;所述预设格式的同步数据是由外网数据同步服务器采集数据库操作日志,并根据所述数据库操作日志生成的预设格式的同步数据;
同步数据读取模块502,用于通过外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
同步数据发送模块503,用于通过内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;其中所述内网消息队列存储的所述预设格式的同步数据被内网数据同步客户端读取后,由所述内网数据同步客户端基于所述同步数据进行同步数据入库。
在一实施例中,所述预设格式的同步数据是由所述外网数据同步服务器采集所述数据库操作日志后,分别按照针对数据库的预设白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的所述数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成的预设格式的同步数据。
在一实施例中,上述同步数据发送模块503,进一步用于通过内网数据同步客户端从所述内网消息队列读取所述同步数据,根据所述同步数据匹配对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作。
在一实施例中,所述预设格式为json格式;所述同步数据文件为所述json格式的同步数据文件;所述外网消息队列和所述内网消息队列基于kafka服务器构建。
关于内外网数据交换装置的具体限定可以参见上文中对于内外网数据交换方法的限定,在此不再赘述。上述内外网数据交换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据库操作日志的同步数据或同步数据文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种内外网数据交换方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种内外网数据交换系统,其特征在于,包括:外网数据同步服务器、数据交换系统以及内网数据同步客户端;所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列;其中,
所述外网数据同步服务器,用于采集数据库操作日志,根据所述数据库操作日志生成统一的预设格式的同步数据,将所述同步数据发送至所述外网消息队列存储;
所述数据交换系统,用于通过所述外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
通过所述内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;
所述内网数据同步客户端,用于从所述内网消息队列读取所述同步数据,根据存储的数据落库表,匹配所述同步数据对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作,进行同步数据入库。
2.根据权利要求1所述的系统,其特征在于,所述外网数据同步服务器,进一步用于按照针对数据库的预设表白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的所述数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成所述预设格式的同步数据。
3.根据权利要求1至2任一项所述的系统,其特征在于,所述预设格式为json格式;所述同步数据文件为所述json格式的同步数据文件;所述外网消息队列和所述内网消息队列基于kafka服务器构建。
4.一种内外网数据交换方法,其特征在于,应用于数据交换系统,所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列,所述方法包括:
通过外网消息队列接收并存储外网数据同步服务器发送的统一的预设格式的同步数据;所述预设格式的同步数据是由外网数据同步服务器采集数据库操作日志,并根据所述数据库操作日志生成的预设格式的同步数据;
通过外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
通过内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;其中,所述内网消息队列存储的所述预设格式的同步数据被内网数据同步客户端读取后,由所述内网数据同步客户端根据存储的数据落库表,匹配所述同步数据对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作,进行同步数据入库。
5.根据权利要求4所述的方法,其特征在于,所述预设格式的同步数据是由所述外网数据同步服务器采集所述数据库操作日志后,分别按照针对数据库的预设白名单、表字段白名单、表黑名单和表字段黑名单,对采集得到的所述数据库操作日志进行过滤,并根据过滤后的数据库操作日志生成的预设格式的同步数据。
6.一种内外网数据交换装置,其特征在于,应用于数据交换系统,所述数据交换系统包括外网消息队列、外网文件同步服务器、内外网交换平台、内网文件同步客户端和内网消息队列,所述装置包括:
同步数据接收模块,用于通过外网消息队列接收并存储外网数据同步服务器发送的统一的预设格式的同步数据;所述预设格式的同步数据是由外网数据同步服务器采集数据库操作日志,并根据所述数据库操作日志生成的预设格式的同步数据;
同步数据读取模块,用于通过外网文件同步服务器从所述外网消息队列读取所述同步数据,并写入同步数据文件,将所述同步数据文件上传至所述内外网交换平台存储;
同步数据发送模块,用于通过内网文件同步客户端从所述内外网交换平台下载所述同步数据文件,读取所述同步数据文件中的所述预设格式的同步数据,将所述同步数据发送至所述内网消息队列存储;其中所述内网消息队列存储的所述预设格式的同步数据被内网数据同步客户端读取后,由所述内网数据同步客户端根据存储的数据落库表,匹配所述同步数据对应的数据库并生成对应的数据库执行语句,根据所述数据库执行语句执行针对所述对应的数据库的数据入库操作,进行同步数据入库。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求4至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求4至5中任一项所述的方法的步骤。
CN202010862959.1A 2020-08-25 2020-08-25 内外网数据交换系统、方法、装置、计算机设备和介质 Active CN112000741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010862959.1A CN112000741B (zh) 2020-08-25 2020-08-25 内外网数据交换系统、方法、装置、计算机设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010862959.1A CN112000741B (zh) 2020-08-25 2020-08-25 内外网数据交换系统、方法、装置、计算机设备和介质

Publications (2)

Publication Number Publication Date
CN112000741A CN112000741A (zh) 2020-11-27
CN112000741B true CN112000741B (zh) 2024-05-03

Family

ID=73471818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010862959.1A Active CN112000741B (zh) 2020-08-25 2020-08-25 内外网数据交换系统、方法、装置、计算机设备和介质

Country Status (1)

Country Link
CN (1) CN112000741B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637130A (zh) * 2020-11-30 2021-04-09 中国科学院信息工程研究所 一种基于消费队列的数据交换方法及系统
CN112583918B (zh) * 2020-12-11 2022-11-18 广州润普网络科技有限公司 内外网文档交互系统、方法及存储介质
CN112769774B (zh) * 2020-12-24 2023-04-18 国网冀北电力有限公司信息通信分公司 数据摆渡系统及方法
CN113472736B (zh) * 2021-05-14 2023-06-02 山东英信计算机技术有限公司 一种内外网数据传输的方法、装置、设备及可读介质
CN113364634B (zh) * 2021-06-18 2023-01-31 广州中爆数字信息科技股份有限公司 内外网数据传输的状态检测方法、装置、设备及存储介质
CN113360475B (zh) * 2021-06-18 2022-12-09 广州中爆数字信息科技股份有限公司 基于内网终端的数据运维方法、装置、设备及存储介质
CN113342845B (zh) * 2021-06-23 2024-02-20 乐刷科技有限公司 数据同步方法、计算机设备及可读存储介质
CN114697121A (zh) * 2022-04-08 2022-07-01 南方电网数字电网研究院有限公司 电力监控系统的数据处理方法、装置、计算机设备
CN114911872B (zh) * 2022-07-18 2022-12-27 北京智芯微电子科技有限公司 内外网数据同步方法、装置、系统、外网服务器及存储介质
CN115348090A (zh) * 2022-08-16 2022-11-15 中国联合网络通信集团有限公司 企业内外网交互方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284781A (ja) * 2004-03-30 2005-10-13 Nomura Research Institute Ltd Mqデータ同期システム及びmqデータ同期プログラム
CN108306847A (zh) * 2017-01-13 2018-07-20 北京国双科技有限公司 通信系统及方法
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN108920659A (zh) * 2018-07-03 2018-11-30 广州唯品会信息科技有限公司 数据处理系统及其数据处理方法、计算机可读存储介质
CN109189749A (zh) * 2018-09-03 2019-01-11 中国平安人寿保险股份有限公司 文件同步方法及终端设备
CN111400394A (zh) * 2019-08-28 2020-07-10 江苏瑞中数据股份有限公司 一种跨安全区域的分布式数据库实时同步方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284781A (ja) * 2004-03-30 2005-10-13 Nomura Research Institute Ltd Mqデータ同期システム及びmqデータ同期プログラム
CN108306847A (zh) * 2017-01-13 2018-07-20 北京国双科技有限公司 通信系统及方法
CN108920659A (zh) * 2018-07-03 2018-11-30 广州唯品会信息科技有限公司 数据处理系统及其数据处理方法、计算机可读存储介质
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN109189749A (zh) * 2018-09-03 2019-01-11 中国平安人寿保险股份有限公司 文件同步方法及终端设备
CN111400394A (zh) * 2019-08-28 2020-07-10 江苏瑞中数据股份有限公司 一种跨安全区域的分布式数据库实时同步方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于Hadoop的工业大数据存储分析系统;范旭辉;;科技创新与应用;20200731(23);全文 *
基于SQL还原法的异构数据库同步技术的研究与实现;郑海明;;计算机时代(10);第16-17页 *
海量日志分析在浙江电力的应用与实践;蒋鸿城;陈可;耿继朴;戚伟强;沈志豪;;浙江电力(12);全文 *
郑海明 ; .基于SQL还原法的异构数据库同步技术的研究与实现.计算机时代.2008,(10),第16-17页. *

Also Published As

Publication number Publication date
CN112000741A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112000741B (zh) 内外网数据交换系统、方法、装置、计算机设备和介质
US20140310241A1 (en) Virtual file system for automated data replication and review
US11429566B2 (en) Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
US11991094B2 (en) Metadata driven static determination of controller availability
CN113704790A (zh) 一种异常日志信息汇总方法及计算机设备
CN109885577A (zh) 数据处理方法、装置、终端及存储介质
US10585678B2 (en) Insertion of custom activities in an orchestrated application suite
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
US10545667B1 (en) Dynamic data partitioning for stateless request routing
CN115517009B (zh) 集群管理方法、集群管理装置、存储介质与电子设备
US20180336171A1 (en) System and method for constructing extensible event log with javascript object notation (json) encoded payload data
CN112865927B (zh) 消息送达验证方法、装置、计算机设备和存储介质
JP7353076B2 (ja) 会話関連データを収集する方法、コンピュータプログラム、コンピュータ機器及びサーバーシステム
CN115658794B (zh) 数据查询方法、装置、计算机设备和存储介质
CN112949797B (zh) 一种信息载体的管理方法、装置、存储介质及服务器
CN113448775A (zh) 多源异构数据备份方法及装置
CN112035471A (zh) 一种事务处理方法及计算机设备
US11188513B2 (en) Logfile collection and consolidation
CN111522783B (zh) 数据同步方法、装置、电子设备及计算机可读存储介质
CN115604667B (zh) 消息发送方法、装置、计算机设备和存储介质
CN113254262B (zh) 一种数据库容灾方法、装置和电子设备
CN116684282B (zh) 新增云端服务器初始化方法、装置和计算机设备
CN116991815B (zh) 一种分布式存储系统的日志收集方法、装置、设备及介质
US11895192B1 (en) Managing subscriptions to resource updates made via a target interface
CN117539962B (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