首页> 中国专利> 一种基于MongoDB的公安网与政务网的数据同步系统和方法

一种基于MongoDB的公安网与政务网的数据同步系统和方法

摘要

本申请公开提供一种基于MongoDB的公安网与政务网的数据同步系统和方法,所述系统包括公安网与政务网,其中:所述政务网,用于通过软件控制获取政务网MongoDB中的信息数据生成Oplog文件,并将所述Oplog文件上传至边界外网FTP;所述公安网,用于通过边界内网FTP获取所述Oplog文件,根据所述Oplog文件恢复所述信息数据,并将所述信息数据存储于公安网MongoDB中,从而,保证政务网与公安网数据库中数据一致性,实现简单高效的同步系统,确保数据同步过程中的确保安全性和独立性。

著录项

  • 公开/公告号CN112256797A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 深圳物讯科技有限公司;

    申请/专利号CN202011190549.3

  • 发明设计人 岳湘黔;胡栋;王超;姚傲雪;江涌;

    申请日2020-10-30

  • 分类号G06F16/27(20190101);H04L29/08(20060101);

  • 代理机构44331 深圳壹舟知识产权代理事务所(普通合伙);

  • 代理人寇闯

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区科技南十二路007号九洲电器大厦901-1室

  • 入库时间 2023-06-19 09:40:06

说明书

技术领域

本发明涉及数据传输领域,尤其涉及一种基于MongoDB的公安网与政务网数据同步系统和方法。

背景技术

公安网,是通过全国公安部门组建的局域网,具有全国人民的个人详细资料、车辆详细资料、犯罪信息等。

根据《公安信息通信网安全管理规定》,经公安部批准,按照国家保密规定和标准,通过符合标准规范的边界接入平台实现公安信息网与互联网或者其它网络信息的安全交换。

在具体的《公安信息通信网边界接入平台安全规范》执行基础上,建立安全的政务网和公安网数据共享,满足日常工作需求。

如何建立一个简单、高效和安全的公安网与政务网的数据同步系统,还没有得到有效解决。

发明内容

为解决上述问题,本发明实施例提供一种基于MongoDB的公安网与政务网的数据同步系统和方法,该系统能够使公安网和政务网的数据库保持一致性,并保持互相业务系统没有耦合,系统构建过程简单高效,并且能够保证可靠的安全性。

第一方面,本申请提供了一种基于MongoDB的公安网与政务网的数据同步系统,包括公安网与政务网,其中:

所述政务网,用于通过软件控制获取政务网MongoDB中的信息数据生成Oplog文件,并将所述Oplog文件上传至边界外网FTP;

所述公安网,用于通过边界内网FTP获取所述Oplog文件,根据所述Oplog文件恢复所述信息数据,并将所述信息数据存储于公安网MongoDB中。

第二方面,本申请提供了一种基于MongoDB的公安网与政务网的数据同步方法,其特征在于,包括:

获取根据政务网MongoDB信息数据生成的Oplog文件,上传至边界外网FTP;

通过所述边界外网FTP将所述Oplog文件传送边界内网FTP中;

通过公安网的MongoDB接收所述Oplog文件,,根据所述Oplog文件恢复所述信息数据,并将所述信息数据存储于公安网MongoDB中。

第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第二方面中所述的部分或全部步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第二方面中所描述的部分或全部步骤。

第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第二方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

实施本发明实施例,具有如下有益效果:

可以看出,本申请实施例中所描述的基于MongoDB的公安网与政务网的数据同步系统和方法,通过将政务网与公安网搭建在同一版本的MongoDB副本级集群,生成Oplog文件,利用边界内网FTP和边界外网FTP传输,保证政务网与公安网数据库中数据一致性,实现简单高效的同步系统,并与业务系统没有耦合,确保数据同步过程中的安全性和独立性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于MongoDB的公安网与政务网的数据同步系统搭建示意图。

图2是是本申请实施例提供的一种基于MongoDB的公安网与政务网的数据同步方法的流程示意图。

图3是本申请实施例中所涉及的一种基于数据同步系统的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及所述附图中的术语″第一″、″第二″、″第三″和″第四″等是用于区别不同对象,而不是用于描述特定顺序。此外,术语″包括″和″具有″以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

由于本申请实施例涉及基于MongoDB的公安网与政务网的数据同步的系统和方法,为了便于理解,下面先对本申请实施例涉及的相关术语和相关介绍。

1、MongoDB

MongoDB是一个基于分布式文件存储的数据库,可为WEB应用提供可拓展的高性能数据存储解决方案。MongoDB所支持的数据结构非常松散,因此能够存储比较复杂的数据类型。此外,它所支持的查询语言非常强大,几乎可以实现类似关系数据库单表查询的大部分功能。

MongoDB主要的功能特性有面向集合存储、易存储对象类型数据;所具有的模式自由;支持动态查询;支持完全索引,包含内部对象;支持查询;支持复制和故障恢复;使用高效的二进制数据存储,包括大型对象;自动处理碎片,以支持云计算层次的拓展性;支持GoLang、RUBY、PYTHON、JAVA、PHP、C#等多种语言;可通过网络访问。

2、Oplog

Oplog是用于存储MongoDB数据库所有数据的操作记录的,实际是记录增删改和一些系统命令操作。Oplog是MongoDB实现复制集的关键数据结构,在复制集中Primary对数据库操作之后就会产生一个Oplog文档保存在local.oplog.rs集合中,Secondary成员会拉取Primary的Oplog并重放相同的操作,从而达到Secondary成员与Primary有一致的数据。实际上复制集中每一个成员都会保存Oplog,其他成员会根据连接延迟等因数选择最近的成员拉取Oplog数据。

3、FTP

FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。虽然现在通过HTTP协议下载的站点有很多,但是由于FTP协议可以很好地控制用户数量和宽带的分配,快速方便地上传、下载文件,因此FTP已成为网络中文件上传和下载的首选服务器。同时,它也是一个应用程序,用户可以通过它把自己的计算机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP服务的功能是实现完整文件的异地传输。

FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。因此,FTP服务是网络中经常采用的资源共享方式之一。

FTP的主要特点:使用两个平行连接:控制连接和数据连接,控制连接在两主机间传送控制命令,如用户身份、口令、改变目录命令等。数据连接只用于传送数据;在一个会话期间,FTP服务器必须维持用户状态,也就是说,和某一个用户的控制连接不能断开;FTP支持文件沿任意方向传输,当用户与一远程计算机建立连接后,用户可以获得一个远程文件也可以将一本地文件传输至远程机器。

请参阅图1,本申请实施例提供的一种基于MongoDB的公安网与政务网的数据同步系统搭建示意图,同步系统中包括10包括政务网100和公安网200,其中政务网100由政务网MongoDB数据库101、政务网FTP服务器102和政务网程序应用服务器103组成;公安网200由公安网MongoDB数据库201、公安网FTP服务器202和公安网程序应用服务器203组成。政务网FTP服务器102与公安网FTP服务器202通信连接。

其中,政务网100用于通过软件控制获取政务网MongoDB中的信息数据生成Oplog文件,并将所述Oplog文件上传至边界外网FTP;公安网200用于通过边界内网FTP获取所述Oplog文件,根据所述Oplog文件恢复所述信息数据,并将所述信息数据存储于公安网MongoDB中。

政务网100和公安网200搭建在同一版本的MongoDB副本级集群中,使用同一版本避免数据类型等不兼容。该MongoDB副本级集群包括主数据库、备份数据库、仲裁数据库。每个数据库又多个服务器组成。

在一个可能的实施例中,政务网100和公安网200共同搭建在由1台主数据库、2台备份数据库、1台仲裁数据库组成的MongoDB副本级集群中。其中每台数据库均需配置4台16G内存以上,硬盘容量在500G以上的,操作系统可为CentOS7.5的服务器。在这种配置搭建下,政务网MongoDB数据库101与公安网MongoDB数据库201可使用内存配置可以为服务器物理内存的75%,使用Oplog大小可以配置为20G到50G,能够保证短时间内的大数量的数据保存。

政务网FTP服务器102和公安网FTP服务器202都可设置为操作系统为CentOS7.5的服务器。作为FTP服务器,两个服务器的硬件配置要求4G以上内存,硬盘要求500G以上。利用FTP服务器安装好vsftpd服务,添加FTP用户,设置密码,组建好公安网边界服务。

政务网程序应用服务器103和公安网程序应用服务器203都可设置为操作系统为CentOS7.5的服务器。作为应用程序服务器,两个服务器的硬件配置要求32G以上内存,硬盘要求500G以上。在两个服务器中配置安装JDK环境,安装MongoDB程序,版本与数据库服务器的版本一致,分别部署政务网端、公安网端Java程序,Shell程序。

其中,政务网端Java程序需要把FTP的地址,账号,密码及FTP目录配置为政务网的FTP,Shell程序需修改MongoDB数据库地址,账号,密码为政务网MongoDB的。公安网端Java程序需要把FTP的地址,账号,密码及FTP目录配置为公安网的FTP,Shell程序需修改MongoDB数据库地址,账号,密码为公安网MongoDB数据库的。

通过本申请实施例所建立的同步系统,可以实现政务网MongoDB数据库101与公安网MongoDB数据库201的数据同步,建立起简单、高效且具有业务通用性,与业务系统没有耦合的公安网与政务网的数据同步系统。

在一个可能的实施例中,上述的数据同步系统在政务网端程序设置为每隔5分钟生成当前时间前5分钟内的数据,所生成的数据类型可以在政务网端Shell程序中修改。公安网端程序设置为每隔5分钟恢复当前时间前5分钟生成的oplog文件,即设立一个阈值时间为5分钟的数据缓存时间,每五分钟收集同步更新数据,避免长时间的导致的两端出现信息偏差。所述的阈值时间可根据情况进行调整,如数据短时间内更新较快的情况下,可将阈值时间缩短,保证信息同步的及时性。

当需要修改政务网和公安网的数据同步频率时,需同时修改政务网、公安网两端的程序执行间隔时间,确保频率一致,避免出现频率差异导致数据丢失,或造成接收的数据紊乱。

另有一种可能的实施例,通过在政务网的MongoDB数据库与公安网的MongoDB数据直接设置一个文件接口,直接进行数据的同步,更加高效。

参阅图2,图2提供了一种基于MongoDB的公安网与政务网的数据同步方法,包括以下步骤:

S1、获取根据政务网MongoDB信息数据生成的Oplog文件,上传至边界外网FTP.

具体地,政务网端软件控制MongoDB数据库,根据缓存于数据库中的数据生成Oplog文件,在将所述Oplog文件上传至边界外网FTP中,进行文件传输。

其中,通过存储在应用程序服务器的中JAVA程序、Shell程序控制MongoDB数据库生成Oplog文件。

S2、通过边界外网FTP将Oplog文件传送到边界内网FTP中。

具体地,在服务器中将根据信息数据生成的Oplog文件转换为FTP文件,在边界外网FTP上传所述FTP文件,在边界内网FTP获取所述FTP文件,将所述FTP文件恢复成为所述Oplog文件。

上述的边界外网FTP即政务网的FTP服务器,边界内网FTP即公安网的FTP服务器,边界外网FTP与边界内网FTP通信连接,通过两个FTP服务器传输FTP文件,确保文件简单有效地进行传输。

S3、通过公安网的MongoDB接收Oplog文件,恢复信息数据,并将信息数据存储于公安MongoDB中。

具体地,公安网端MongoDB数据库从边界内网FTP接收到Oplog文件,并将接受到的Oplog文件恢复成政务网中的数据信息,而后该数据信息存储于MongoDB数据库,完成政务我网与公安网的数据信息同步。

其中,政务网的应用程序服务器中通过Java程序需要把FTP的地址,账号,密码及FTP目录配置为政务网的FTP,Shell程序需修改MongoDB数据库地址,账号,密码为政务网MongoDB的。公安网的应用程序服务器中通过Java程序需要把FTP的地址,账号,密码及FTP目录配置为公安网的FTP,Shell程序需修改MongoDB数据库地址,账号,密码为公安网MongoDB的。通过配置账号和密码,添加FTP的地址,保证文件传输过程的安全性。

在上述的数据同步过程中,需要确定数据同步频率,即在政务网端确定一个阈值时间内的数据为一次数据同步的集合,根据设定的阈值时间间隔收取新增、改变的数据,将这段阈值时间内的数据转换为Oplog文件,进行文件传输。并且在公安网端设定同样的阈值时间,接收该Oplog文件,确保传输过程中的传输频率一致。

参阅图3,图3本申请实施例中所涉及的一种基于数据同步系统的电子设备的结构示意图。如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本实施例中,上述程序包括执行以下步骤的指令:

获取根据政务网MongoDB信息数据生成的Oplog文件,上传至边界外网FTP;

通过所述边界外网FTP将所述Oplog文件传送边界内网FTP中;

通过公安网的MongoDB接收所述Oplog文件,,根据所述Oplog文件恢复所述信息数据,并将所述信息数据存储于公安网MongoDB中。

可以看出,本申请实施例中所描述的基于MongoDB的公安网与政务网的数据同步系统和方法,通过将政务网与公安网搭建在同一版本的MongoDB副本级集群,生成Oplog文件,利用边界内网FTP和边界外网FTP传输,保证政务网与公安网数据库中数据一致性,实现简单高效的同步系统,并与业务系统没有耦合,确保安全性和独立性。

可选地,在所述边界外网FTP与所述边界内网FTP通信连接方面,上述程序执行以下步骤的指令:

所述通过所述边界外网FTP将所述Oplog文件传送边界内网FTP中,包括:

将所述Oplog文件转换为FTP文件,在所述边界外网FTP上传所述FTP文件,在所述边界内网FTP获取所述FTP文件,将所述FTP文件恢复成为所述Oplog文件。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号