一种石油测井主从数据库系统实时同步系统和方法
【技术领域】
[0001]本发明涉及石油测井数据库系统领域,特别是涉及一种石油测井主从数据库系统实时同步系统和方法。
【背景技术】
[0002]测井数据库系统主要用于对各类测井数据进行管理以及基于数据库,对数据进行相关的处理、解释、评价等应用。随着数据库技术的发展、测井评价水平的不断提高以及对多井分析、区域综合评价需求的越来越强烈,传统的基于文件的处理无法满足目前的业务需求,因此,基于数据库的应用在石油行业已经成为一种趋势,随之面临的就是测井数据的共享和安全问题,而数据同步是解决数据共享和数据安全的一种有效的手段之一。然而对于数据库系统来讲,现有的数据同步方法有很多,但是无法满足数据文件和数据库数据同时同步、数据延时同步、同步验证等问题。
【发明内容】
[0003]为克服现有技术中的问题,本发明的目的是提供一种石油测井主从数据库系统实时同步接口,该接口提供实时监控服务、实时同步、失败处理、数据比对核实再次同步功能,提高数据的实时性,保证数据的完整。
[0004]为实现上述目的,本发明采用如下的技术方案:
[0005]—种石油测井主从数据库系统实时同步方法,包括以下步骤:
[0006]a)接口拦截器对主数据库的接口进行拦截,将拦截到的接口的参数及数据记录到数据库文件F中,通过接口管理器进行管理,同时将拦截到的接口发送到主数据库的实时监听器;
[0007]b)主数据库的实时监听器将所拦截到的接口实时发送到从数据库,并实时监控需要同步接口的调用情况、文件的传输情况、网络情况以及从数据库接收情况;
[0008]c)从数据库将接收到的接口,记录到数据库文件F中,并通过接口管理器进行管理;
[0009]d)主数据库通过数据传输器,将接口和需要解析的数据文件传输到从数据库中,从数据库的实时监听器进行监听,并接收接口和需要解析的数据文件;
[0010]e)从数据库按照接收的接口和需要解析的数据文件的先后顺序,反射执行接口和需要解析的数据文件,完成同步。
[0011 ]所述主数据库、从数据库数据结构、功能一致,并且异地部署。
[0012]进行步骤a)前,对主数据库和从数据库通过配置信息管理器进行定义和设置。
[0013]定义主数据库和从数据库的服务地址和端口、同步命令发送和接收端口、文件发送和接收端口、同步模式、失败命令处理模式、失败命令再次同步定时器。
[0014]进行步骤a)前,对主数据库的接口进行定义,主数据库的接口为涉及到修改数据的接口,包括增加、删除、更新、文件传输以及文件解析。
[0015]所述数据库文件F为多个,按照时间命名,命名为YMDH.db,其中Y表示年,Μ表示月,D表示日,Η表示小时。
[0016]所述数据库文件F中的参数及数据的格式为接口名、所属类、调用时间、调用服务器ΙΡ、端口、状态、开始调用时间、结束调用时间和参数。
[0017]实时发送到从数据库的接口,如果由于网络原因,导致发送失败,则会记录到数据库文件F中,是否发送成功状态置为0标识。
[0018]发送失败的接口,根据同步配置文件,定时再次发送进行同步;反射执行接口时,如果执行失败,则将失败的接口记录到数据库文件F中,并将是否执行成功状态置为0标识。
[0019]—种石油测井主从数据库系统实时同步系统,包括:
[0020]1)接口管理器,用于管理拦截到的接口,通过定义文件定义接口规范,同步的接口为使数据发送改变的接口,包括增加、删除、修改、更新、文件传送标志接口及传送文件接Ρ;
[0021]2)实时监听器,用于实时监控同步接口的调用情况、文件的传输情况、网络情况以及对方数据库接收情况;
[0022]3)接口拦截器,用于拦截接口,并按照时间存储到数据库文件F中;
[0023]4)配置信息管理器,用于管理两个数据库以及两个同步实时监听器的配置信息;
[0024]5)数据传输器,用于传送测井数据文件及文件正确性比对。
[0025]与现有技术相比,本发明具有的有益效果:
[0026]本发明通过接口拦截器,接口拦截器对主数据库的接口进行拦截,将拦截到的接口的参数及数据记录到数据库文件F中,通过接口管理器进行管理,同时将拦截到的接口发送到主数据库的实时监听器;主数据库的实时监听器将所拦截到的接口实时发送到从数据库,并实时监控需要同步接口的调用情况、文件的传输情况、网络情况以及从数据库接收情况;从数据库将接收到的接口,记录到数据库文件F中,并通过接口管理器进行管理;主数据库通过数据传输器,将数据文件传输到从数据库中,从数据库的实时监听器进行监听,并接收接口和文件;从数据库按照接收的接口和文件先后顺序,反射执行接口,完成同步,能够实现数据文件和数据库数据同时同步,克服了现有技术中无法满足数据文件和数据库数据同时同步的问题,本发明具有方法简单,易于实现的优点,并且实现了数据的共享,保证了数据的安全。
[0027]进一步的,本发明通过自定义数据同步各个参数控制数据同步的类型及操作,大大提高了系统的扩展性,相比于传统的数据同步接口,本接口能够满足主从数据库系统之间的实时同步,并且在网络环境或者系统异常情况下,具备异常处理方案,当环境或者系统恢复正常后,能够自动将之前的未同步数据进行同步,保证数据的完整性。应用本发明的数据库系统,支持异地部署同步,由于两个系统数据完全一致,使用用户可以根据自己的网络情况选择使用一个数据库系统,降低系统用户的并发访问量。
【附图说明】
[0028]图1为本发明系统的原理及流程图。
[0029]图2为同步系统参数说明图。
【具体实施方式】
[0030]为使本发明的技术方案、优点更加清楚,下面结合附图和具体实例对本发明进行进一步说明。
[0031 ]主数据库系统和从数据库系统,具有如下特点:
[0032]a)主从数据库系统由关系型数据库和数据文件组成,关系型数据库中存储数据文件的综合索引信息以及文件内部结构信息。
[0033]b)主从数据库系统数据结构、功能一致。
[0034]c)主从数据库系统异地部署。
[0035]—种石油测井主从数据库系统实时同步系统,包括:
[0036]1)接口管理器,用于管理需要拦截到的接口,通过定义文件定义接口规范。通常情况下,需要同步的接口为会使数据发送改变的接口,包括增加、删除、修改、更新、文件传送标志接口及传送文件接口 ;
[0037]2)实时监听器,用于实时监控需要同步接口的调用情况、文件的传输情况、网络情况以及对方数据库接收情况;
[0038]3)接口拦截器,用于拦截接口,并按照时间存储到数据库文件F中;
[0039]4)配置信息管理器,用于管理两个数据库以及两个同步实时监听器的配置信息;
[0040]5)数据传输器,用于传送测井数据文件及文件正确性比对。
[0041 ]本发明中数据库文件F为多个,按照时间命名,命名为YMDH.db,其中Y表示年,Μ表示月,D表示日,Η表示小时。
[0042]基于上述石油测井主从数据库系统实时同步系统的实时同步方法,包括以下步骤:
[0043]a)对主数据库和从数据库通过配置信息管理器进行定义和设置,定义主数据库和从数据库的服务地址和端口、同步命令发送和接收端口、文件发送和接收端口、同步模式、失败命令处理模式、失败命令再次同步定时器等。
[0044]对主数据库的接口进行定义,主数据库的接口为涉及到修改数据的接口,包括增加、删除、更新、文件传输以及文件解析等。
[0045]主数据库系统和从数据库系统在检测到同步启动后,则生成的数据库唯一主键为带有数据库节点标识的主键,该主键作为一条记录的唯一主键。
[0046]接口拦截器对主数据库的接口进行拦截,将拦截到的接口的参数及数据记录到一个数据库文件F中,同时将拦截到的接口发送到主数据库的实时监听器;
[0047]b)主数据库的实时监听器将所拦截到的接口实时发送到从数据库,并实时监控需要同步接口的调用情况、文件的传输情况、网络情况以及从数据库接收情况;拦截的接口按照接口调用顺序存储到一个数据库文件F中,数据库文件F按照小时生成,按照日期进行组织。如果因为网络原因,接口发送失败,则会在数据库文件中记录这条接口的记录设置为失败标识,再根据配置文件中定义的失败同步定时时间,再次发送该接口命令。
[0048]c)从数据库将接收到的接口,记录到数据库文件F中,并通过接口管理器进行管理;其中,数据库文件F为多个,按照时间命名,命名为YMDH.db,其中Y表示年,Μ表示月,D表示日,Η表示小时。数据库文件F中的参数及数据的格式为接口名、所属类、调用时间、、调用服务器IP、端口、状态、开始调用时间、结束调用时间和参数。如果从数据库系统中执行接口失败,则会把执行失败的命令记录到一个error目录