CN110134737A - 数据变化监听方法及装置、电子设备和计算机可读存储介质 - Google Patents

数据变化监听方法及装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN110134737A
CN110134737A CN201910417906.6A CN201910417906A CN110134737A CN 110134737 A CN110134737 A CN 110134737A CN 201910417906 A CN201910417906 A CN 201910417906A CN 110134737 A CN110134737 A CN 110134737A
Authority
CN
China
Prior art keywords
data
information
modification information
data modification
railway passenger
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.)
Granted
Application number
CN201910417906.6A
Other languages
English (en)
Other versions
CN110134737B (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 Academy of Railway Sciences Corp Ltd CARS
Institute of Computing Technologies of CARS
Original Assignee
China Academy of Railway Sciences Corp Ltd CARS
Institute of Computing Technologies of CARS
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 Academy of Railway Sciences Corp Ltd CARS, Institute of Computing Technologies of CARS filed Critical China Academy of Railway Sciences Corp Ltd CARS
Priority to CN201910417906.6A priority Critical patent/CN110134737B/zh
Publication of CN110134737A publication Critical patent/CN110134737A/zh
Application granted granted Critical
Publication of CN110134737B publication Critical patent/CN110134737B/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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种数据变化监听方法及装置、电子设备和计算机可读存储介质,其中,该方法包括:获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;将所述第三数据变更信息发送至监听接收端。通过本发明的技术方案,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。

Description

数据变化监听方法及装置、电子设备和计算机可读存储介质
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种数据变化监听方法及装置、电子设备和计算机可读存储介质。
【背景技术】
随着铁路建设的发展和铁路服务改革的深入,铁路信息化得到广泛应用,随着12306等系统的运营,中国铁路信息化技术与中国高铁技术一样,已经进入到技术的前沿领域。
其中,铁路信息化系统中的餐饮系统、积分系统、人脸服务系统、二维码服务系统、候补系统等多个系统的数据库均依赖于铁路客票系统的数据库提供的数据进行工作。
然而,由于不同数据库的数据格式不同,故其他系统的数据库无法直接监听格式不同的铁路客票系统的数据库数据,或只能监听到乱码,影响了整个铁路信息化系统的顺利运行。
因此,如何使其他数据库能够顺利监听铁路客票系统的数据库数据,成为目前亟待解决的技术问题。
【发明内容】
本发明实施例提供了一种数据变化监听方法及装置、电子设备和计算机可读存储介质,旨在解决相关技术中因数据格式不一致造成的铁路客票系统的数据库数据难以被同步监听的技术问题,能够将数据变更信息转换为数据库高可用的SQL格式,使得不同的数据库均能读取和监听到该数据变更信息。
第一方面,本发明实施例提供了一种数据变化监听方法,包括:获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;将所述第三数据变更信息发送至监听接收端。
在本发明上述实施例中,可选地,在所述通过预设的规则引擎对所述第二数据变更信息进行处理的步骤之前,还包括:通过动态库获取包含复制选项的连接字符串;根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务;通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
在本发明上述实施例中,可选地,所述通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息的步骤,具体包括:按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令;根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
在本发明上述实施例中,可选地,所述规则配置信息包括:将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
在本发明上述实施例中,可选地,所述将所述第三数据变更信息发送至监听接收端的步骤,具体包括:将所述第三数据变更信息发送至与所述铁路客票系统数据库建立有同步复制服务的备用数据库;和/或将所述第三数据变更信息发送至与所述铁路客票系统数据库的数据传输节点相连接的访问中间件,以供外部终端通过所述访问中间件获取所述第三数据变更信息。
第二方面,本发明实施例提供了一种数据变化监听装置,包括:日志获取单元,用于获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;格式转换单元,用于将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;信息处理单元,用于通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;信息发送单元,用于将所述第三数据变更信息发送至监听接收端。
在本发明上述实施例中,可选地,还包括:字符串获取单元,用于在所述信息处理单元通过所述预设的规则引擎对所述第二数据变更信息进行处理之前,通过动态库获取包含复制选项的连接字符串;复制服务建立单元,用于根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务;信息复制单元,用于通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
在本发明上述实施例中,可选地,所述信息处理单元具体用于:按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令,以及根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
在本发明上述实施例中,可选地,所述规则配置信息包括:将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
在本发明上述实施例中,可选地,所述信息发送单元用于:将所述第三数据变更信息发送至与所述铁路客票系统数据库建立有同步复制服务的备用数据库;和/或将所述第三数据变更信息发送至与所述铁路客票系统数据库的数据传输节点相连接的访问中间件,以供外部终端通过所述访问中间件获取所述第三数据变更信息。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述第一方面中任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面中任一项所述的方法流程。
以上技术方案,针对相关技术中的因数据格式不一致造成的铁路客票系统的数据库数据难以被同步监听的技术问题,提出可获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志,该预写式日志能够在存储层面上表明数据更改内容。其中,客户端的业务执行信息会在铁路客票系统的数据库产生修改动作,预写式日志的核心在于,其数据写入是在数据相应修改动作执行之前进行的,换句话说,数据文件的修改必须在修改动作被预写式日志记录之后才被写入,由此可知,在将修改动作被预写式日志记录之后,铁路客票系统的数据库执行该修改动作,同时,预写式日志即可格式转换并被监听接收端监听的步骤,两者同时进行,提升了铁路客票系统与监听接收端的数据变动同步性能。
其中,铁路客票系统的数据库是基于PostgreSQL优化和定制化形成自主化的数据库,PostgreSQL是一个免费的对象-关系数据库服务器(数据库管理系统),它提供了相对其他开放源代码数据库系统和专有系统之外的另一种选择。
接着,通过解码器将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息,SQL(结构化查询语言)是高级的非过程化编程语言,允许用户在高层数据结构上工作,它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口,具有极大的灵活性。故转换为SQL格式的第二数据变更信息能够被其他数据库直接地进行监听,便于将数据变更信息有效同步至监听铁路客票系统数据库的其他数据库中去,降低了监听难度。
另外,预写式日志相当于在数据库的实际数据文件以外额外记录了数据变更内容,因此,采用基于预写式日志的监听方式,不会对监听铁路客票系统数据库的实际数据文件产生干扰,对监听铁路客票系统数据库的侵入性极小,相应地,对服务器产生的负载也小,适用于高并发环境下的数据库变动监听。
然后,通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息,预设的规则引擎中配置了对第二数据变更信息的处理规则,比如,合并指定数量的第二数据变更信息后进行才一次发送、将第二数据变更信息转换为指定的时间格式以适应监听接收到的读取需求等。预设的规则引擎内的配置信息可根据实际监听需要或数据传输便利性的需要进行灵活配置及更改,提升了数据监听的灵活性和实用性。
最终,将所述第三数据变更信息发送至监听接收端,监听接收端可以是需要同步铁路客票系统数据库的数据的其他数据库,也可以是其他任何通过访问中间件与铁路客票系统数据库连接的外部终端。
通过以上技术方案,能够在存储层面上表明数据更改内容,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本发明的一个实施例的数据变化监听方法的流程图;
图2示出了本发明的另一个实施例的数据变化监听方法的流程图;
图3示出了本发明的一个实施例的铁路信息化系统的框图;
图4示出了本发明的一个实施例的数据变化监听装置的框图;
图5示出了本发明的一个实施例的电子设备的框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1示出了本发明的一个实施例的数据变化监听方法的流程图。
如图1所示,本发明的一个实施例的数据变化监听方法的流程包括:
步骤102,获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志。
该预写式日志能够在存储层面上表明数据更改内容。其中,客户端的业务执行信息会在铁路客票系统的数据库产生修改动作,预写式日志的核心在于,其数据写入是在数据相应修改动作执行之前进行的,换句话说,数据文件的修改必须在修改动作被预写式日志记录之后才被写入,由此可知,在将修改动作被预写式日志记录之后,铁路客票系统的数据库执行该修改动作,同时,预写式日志即可格式转换并被监听接收端监听的步骤,两者同时进行,提升了铁路客票系统与监听接收端的数据变动同步性能。
其中,铁路客票系统的数据库是基于PostgreSQL优化和定制化形成自主化的数据库,PostgreSQL是一个免费的对象-关系数据库服务器(数据库管理系统),它提供了相对其他开放源代码数据库系统和专有系统之外的另一种选择。
步骤104,将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息。
接着,通过解码器将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息,SQL(结构化查询语言)是高级的非过程化编程语言,允许用户在高层数据结构上工作,它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口,具有极大的灵活性。故转换为SQL格式的第二数据变更信息能够被其他数据库直接地进行监听,便于将数据变更信息有效同步至监听铁路客票系统数据库的其他数据库中去,降低了监听难度。
另外,预写式日志相当于在数据库的实际数据文件以外额外记录了数据变更内容,因此,采用基于预写式日志的监听方式,不会对监听铁路客票系统数据库的实际数据文件产生干扰,对监听铁路客票系统数据库的侵入性极小,相应地,对服务器产生的负载也小,适用于高并发环境下的数据库变动监听。
步骤106,通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息。
通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息,预设的规则引擎中配置了对第二数据变更信息的处理规则,比如,合并指定数量的第二数据变更信息后进行才一次发送、将第二数据变更信息转换为指定的时间格式以适应监听接收到的读取需求等。预设的规则引擎内的配置信息可根据实际监听需要或数据传输便利性的需要进行灵活配置及更改,提升了数据监听的灵活性和实用性。
步骤108,将所述第三数据变更信息发送至监听接收端。
最终,将所述第三数据变更信息发送至监听接收端,监听接收端可以是需要同步铁路客票系统数据库的数据的其他数据库,也可以是其他任何通过访问中间件与铁路客票系统数据库连接的外部终端。
通过以上技术方案,能够在存储层面上表明数据更改内容,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。
图2示出了本发明的另一个实施例的数据变化监听方法的流程图。
如图2所示,本发明的另一个实施例的数据变化监听方法的流程包括:
步骤202,获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志。
该预写式日志能够在存储层面上表明数据更改内容。其中,客户端的业务执行信息会在铁路客票系统的数据库产生修改动作,预写式日志的核心在于,其数据写入是在数据相应修改动作执行之前进行的,换句话说,数据文件的修改必须在修改动作被预写式日志记录之后才被写入,由此可知,在将修改动作被预写式日志记录之后,铁路客票系统的数据库执行该修改动作,同时,预写式日志即可格式转换并被监听接收端监听的步骤,两者同时进行,提升了铁路客票系统与监听接收端的数据变动同步性能。
步骤204,将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息。
接着,通过解码器将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息,SQL(结构化查询语言)是高级的非过程化编程语言,允许用户在高层数据结构上工作,它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口,具有极大的灵活性。故转换为SQL格式的第二数据变更信息能够被其他数据库直接地进行监听,便于将数据变更信息有效同步至监听铁路客票系统数据库的其他数据库中去,降低了监听难度。
另外,预写式日志相当于在数据库的实际数据文件以外额外记录了数据变更内容,因此,采用基于预写式日志的监听方式,不会对监听铁路客票系统数据库的实际数据文件产生干扰,对监听铁路客票系统数据库的侵入性极小,相应地,对服务器产生的负载也小,适用于高并发环境下的数据库变动监听。
步骤206,通过动态库获取包含复制选项的连接字符串。
步骤208,根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务。
动态库又称动态链接库,是一个包含可由多个程序同时使用的代码和数据的库,多个应用程序可同时访问内存中单个动态链接库副本的内容,故有助于共享数据和资源。而访问动态库,并根据其包含复制选项的连接字符串创建复制服务,可将预写式日志中的数据变更信息通过复制服务提供至监听接收端,实现监听接收端对预写式日志的监听。
步骤210,通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
复制服务具有专用的接口,即指定复制接口,指定复制接口连接至指定位置,在建立复制服务后,可将复制内容也就是第二数据变更信息经指定复制接口发送至指定位置,便于进一步对第二数据变更信息进行处理。为复制服务采用专用的接口,可避免复制服务产生的复制数据与数据库原本的数据共用接口而造成的数据错误等问题。
步骤212,按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令。
步骤214,根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
其中,所述规则配置信息包括:将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
也就是说,可配置每预定时间间隔接收到的多条第二数据变更信息合并成第三数据变更信息统一发送,或配置第二数据变更信息达到预定数量后再合并成第三数据变更信息统一发送,以减少发送次数和发送占用线程,节省服务器的资源。同时,根据监听接收端的数量,还需要将第二数据变更信息复制相应的份数,以保证每个监听接收端都能顺利监听到数据。再者,不同数据库能够识别的时间格式不同,因此,为保证监听到的数据的时间信息准确性,可在发送至监听接收端之前,将第二数据变更信息的时间格式更改为该监听接收端能够读取的类型,得到时间格式不同的第三数据变更信息,再将第三数据变更信息发送至该监听接收端。
总之,规则引擎内的配置信息可根据实际监听需要或数据传输便利性的需要进行灵活配置及更改,提升了数据监听的灵活性和实用性。
步骤216,将所述第三数据变更信息发送至与所述铁路客票系统数据库建立有同步复制服务的备用数据库;和/或将所述第三数据变更信息发送至与所述铁路客票系统数据库的数据传输节点相连接的访问中间件,以供外部终端通过所述访问中间件获取所述第三数据变更信息。
最终,将所述第三数据变更信息发送至监听接收端,监听接收端可以是需要同步铁路客票系统数据库的数据的其他数据库,也可以是其他任何通过访问中间件与铁路客票系统数据库连接的外部终端。
通过以上技术方案,能够在存储层面上表明数据更改内容,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。
图3示出了本发明的一个实施例的铁路信息化系统的框图。
如图3所示,本发明的一个实施例的铁路信息化系统300包括铁路客票系统数据库302、数据变化监听装置304、备用数据库306、外部设备308、消息中间件310、客户端312和访问中间件314。
其中,铁路客票系统数据库302包括执行器3022和日志发送模块3024,执行器3022用于执行客户端312通过访问中间件314发送的业务请求,并生成业务执行信息,同时,还将根据该业务执行信息产生的第一数据变更信息写入预写式日志。
日志发送模块3024中具有解码器30242,解码器30242用于将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息,从而,日志发送模块3024可将SQL格式的第二数据变更信息发送至数据变化监听装置304进行处理。
其中,日志发送模块3024为铁路客票系统数据库302和数据变化监听装置304共有。日志发送模块3024的数量可以为一个,一个日志发送模块3024将SQL格式的第二数据变更信息经数据变化监听装置304处理后发送至多个对象,或者,日志发送模块3024的数量可以为多个,每个日志发送模块3024将SQL格式的第二数据变更信息经数据变化监听装置304处理后发送至一个对象。
这里所述的对象包括备用数据库306和外部设备308,备用数据库306与铁路客票系统数据库302建立有同步复制服务,外部设备308与铁路客票系统数据库302建立有向外复制服务,外部设备308通过消息中间件310实现对铁路客票系统数据库302的访问。
数据变化监听装置304包括规则引擎3042,规则引擎3042中设置有规则配置信息,所述规则配置信息包括:将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
也就是说,可配置每预定时间间隔接收到的多条第二数据变更信息合并成第三数据变更信息统一发送,或配置第二数据变更信息达到预定数量后再合并成第三数据变更信息统一发送,以减少发送次数和发送占用线程,节省服务器的资源。同时,根据监听接收端的数量,还需要将第二数据变更信息复制相应的份数,以保证每个监听接收端都能顺利监听到数据。再者,不同数据库能够识别的时间格式不同,因此,为保证监听到的数据的时间信息准确性,可在发送至监听接收端之前,将第二数据变更信息的时间格式更改为该监听接收端能够读取的类型,得到时间格式不同的第三数据变更信息,再将第三数据变更信息发送至该监听接收端。
总之,规则引擎3042内的配置信息可根据实际监听需要或数据传输便利性的需要进行灵活配置及更改,提升了数据监听的灵活性和实用性。
最终,将规则引擎3042中处理得到的第三数据变更信息发送至备用数据库306和外部设备308等监听接收端。由此,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。
图4示出了根据本发明的一个实施例的数据变化监听装置的框图。
如图4所示,根据本发明的一个实施例的数据变化监听装置400包括:日志获取单元402,用于获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;格式转换单元404,用于将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;信息处理单元406,用于通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;信息发送单元408,用于将所述第三数据变更信息发送至监听接收端。
该数据变化监听装置400使用图1至图3示出的实施例中任一项所述的方案,因此,具有上述所有技术效果,在此不再赘述。数据变化监听装置400还具有以下技术特征:
在本发明上述实施例中,可选地,还包括:字符串获取单元,用于在所述信息处理单元406通过所述预设的规则引擎对所述第二数据变更信息进行处理之前,通过动态库获取包含复制选项的连接字符串;复制服务建立单元,用于根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务;信息复制单元,用于通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
在本发明上述实施例中,可选地,所述信息处理单元406具体用于:按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令,以及根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
在本发明上述实施例中,可选地,所述规则配置信息包括:将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
在本发明上述实施例中,可选地,所述信息发送单元408用于:将所述第三数据变更信息发送至与所述铁路客票系统数据库建立有同步复制服务的备用数据库;和/或将所述第三数据变更信息发送至与所述铁路客票系统数据库的数据传输节点相连接的访问中间件,以供外部终端通过所述访问中间件获取所述第三数据变更信息。
图5示出了本发明的一个实施例的电子设备的框图。
如图5所示,本发明的一个实施例的电子设备500,包括至少一个存储器502;以及,与所述至少一个存储器502通信连接的处理器504;其中,所述存储器存储有可被所述至少一个处理器504执行的指令,所述指令被设置为用于执行上述图1至图3实施例中任一项所述的方案。因此,该电子设备500具有和图1至图3实施例中任一项相同的技术效果,在此不再赘述。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
另外,本发明实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述图1至图3实施例中任一项所述的方法流程。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,采用基于预写式日志的监听方式,避免了对监听铁路客票系统数据库的实际数据文件产生干扰的问题,对监听铁路客票系统数据库的侵入性极小,减小了服务器负载,适用于高并发环境,提升了数据监听的灵活性和实用性。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述数据变更信息,但这些数据变更信息不应限于这些术语。这些术语仅用来将数据变更信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一数据变更信息也可以被称为第二数据变更信息,类似地,第二数据变更信息也可以被称为第一数据变更信息。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种数据变化监听方法,其特征在于,包括:
获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;
将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;
通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;
将所述第三数据变更信息发送至监听接收端。
2.根据权利要求1所述的数据变化监听方法,其特征在于,在所述通过预设的规则引擎对所述第二数据变更信息进行处理的步骤之前,还包括:
通过动态库获取包含复制选项的连接字符串;
根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务;
通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
3.根据权利要求2所述的数据变化监听方法,其特征在于,所述通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息的步骤,具体包括:
按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令;
根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
4.根据权利要求3所述的数据变化监听方法,其特征在于,所述规则配置信息包括:
将预定时间间隔内接收到的所述第二数据变更信息进行合并处理;或者
当所述第二数据变更信息的数量达到预定数量时,将所述预定数量的所述第二数据变更信息进行合并处理;或者
将所述第二数据变更信息进行多次复制,并将每一个复制结果转换为指定时间格式,以将所述指定时间格式的所述复制结果发送至能够读取所述指定时间格式的所述监听接收端。
5.根据权利要求1至4中任一项所述的数据变化监听方法,其特征在于,所述将所述第三数据变更信息发送至监听接收端的步骤,具体包括:
将所述第三数据变更信息发送至与所述铁路客票系统数据库建立有同步复制服务的备用数据库;和/或
将所述第三数据变更信息发送至与所述铁路客票系统数据库的数据传输节点相连接的访问中间件,以供外部终端通过所述访问中间件获取所述第三数据变更信息。
6.一种数据变化监听装置,其特征在于,包括:
日志获取单元,用于获取铁路客票系统数据库中根据客户端的业务执行信息生成的与所述业务执行信息对应的预写式日志;
格式转换单元,用于将所述预写式日志记录的第一数据变更信息转换为SQL格式的第二数据变更信息;
信息处理单元,用于通过预设的规则引擎对所述第二数据变更信息进行处理,得到第三数据变更信息;
信息发送单元,用于将所述第三数据变更信息发送至监听接收端。
7.根据权利要求6所述的数据变化监听装置,其特征在于,还包括:
字符串获取单元,用于在所述信息处理单元通过所述预设的规则引擎对所述第二数据变更信息进行处理之前,通过动态库获取包含复制选项的连接字符串;
复制服务建立单元,用于根据所述包含复制选项的连接字符串,为所述预写式日志建立复制服务;
信息复制单元,用于通过所述复制服务将所述第二数据变更信息经指定复制接口复制至指定位置。
8.根据权利要求7所述的数据变化监听装置,其特征在于,所述信息处理单元具体用于:
按照所述预设的规则引擎中的规则配置信息,生成对应的处理指令,以及根据所述处理指令,对位于所述指定位置的所述第二数据变更信息进行所述规则配置信息对应的处理。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述权利要求1至5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至5中任一项所述的方法流程。
CN201910417906.6A 2019-05-20 2019-05-20 数据变化监听方法及装置、电子设备和计算机可读存储介质 Active CN110134737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910417906.6A CN110134737B (zh) 2019-05-20 2019-05-20 数据变化监听方法及装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910417906.6A CN110134737B (zh) 2019-05-20 2019-05-20 数据变化监听方法及装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110134737A true CN110134737A (zh) 2019-08-16
CN110134737B CN110134737B (zh) 2021-02-26

Family

ID=67571412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910417906.6A Active CN110134737B (zh) 2019-05-20 2019-05-20 数据变化监听方法及装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110134737B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581213A (zh) * 2020-05-06 2020-08-25 北京金堤科技有限公司 信息记录方法、装置、以及设备
CN112000678A (zh) * 2020-08-20 2020-11-27 北京达佳互联信息技术有限公司 数据同步方法、装置、服务器及存储介质
CN112052227A (zh) * 2020-09-25 2020-12-08 郑州阿帕斯数云信息科技有限公司 数据变更日志的处理方法、装置和电子设备
CN110134737B (zh) * 2019-05-20 2021-02-26 中国铁道科学研究院集团有限公司 数据变化监听方法及装置、电子设备和计算机可读存储介质
CN113268540A (zh) * 2021-03-26 2021-08-17 北京视博云信息技术有限公司 一种数据同步的方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086512A1 (en) * 2003-09-03 2005-04-21 Lg N-Sys Inc. Worm blocking system and method using hardware-based pattern matching
CN101183377A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于消息中间件的高可用性数据库集群
CN102073640A (zh) * 2009-11-19 2011-05-25 阿里巴巴集团控股有限公司 Sql语句的检测方法、系统及服务器
CN103560906A (zh) * 2013-10-22 2014-02-05 珠海多玩信息技术有限公司 数据复制的方法及装置
US20150370865A1 (en) * 2014-06-23 2015-12-24 Sang Il Song Framework for Visualizing Re-Written Queries to Database
CN108399256A (zh) * 2018-03-06 2018-08-14 北京慧萌信安软件技术有限公司 异构数据库内容同步方法、装置及中间件
CN108519908A (zh) * 2018-02-24 2018-09-11 国家计算机网络与信息安全管理中心 一种任务动态管理方法和装置
CN108763387A (zh) * 2018-05-20 2018-11-06 湖北九州云仓科技发展有限公司 异构平台的大数据融合方法、电子设备、存储介质及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134737B (zh) * 2019-05-20 2021-02-26 中国铁道科学研究院集团有限公司 数据变化监听方法及装置、电子设备和计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086512A1 (en) * 2003-09-03 2005-04-21 Lg N-Sys Inc. Worm blocking system and method using hardware-based pattern matching
CN101183377A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于消息中间件的高可用性数据库集群
CN102073640A (zh) * 2009-11-19 2011-05-25 阿里巴巴集团控股有限公司 Sql语句的检测方法、系统及服务器
CN103560906A (zh) * 2013-10-22 2014-02-05 珠海多玩信息技术有限公司 数据复制的方法及装置
US20150370865A1 (en) * 2014-06-23 2015-12-24 Sang Il Song Framework for Visualizing Re-Written Queries to Database
CN108519908A (zh) * 2018-02-24 2018-09-11 国家计算机网络与信息安全管理中心 一种任务动态管理方法和装置
CN108399256A (zh) * 2018-03-06 2018-08-14 北京慧萌信安软件技术有限公司 异构数据库内容同步方法、装置及中间件
CN108763387A (zh) * 2018-05-20 2018-11-06 湖北九州云仓科技发展有限公司 异构平台的大数据融合方法、电子设备、存储介质及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134737B (zh) * 2019-05-20 2021-02-26 中国铁道科学研究院集团有限公司 数据变化监听方法及装置、电子设备和计算机可读存储介质
CN111581213A (zh) * 2020-05-06 2020-08-25 北京金堤科技有限公司 信息记录方法、装置、以及设备
CN111581213B (zh) * 2020-05-06 2024-02-13 北京金堤科技有限公司 信息记录方法、装置、以及设备
CN112000678A (zh) * 2020-08-20 2020-11-27 北京达佳互联信息技术有限公司 数据同步方法、装置、服务器及存储介质
CN112052227A (zh) * 2020-09-25 2020-12-08 郑州阿帕斯数云信息科技有限公司 数据变更日志的处理方法、装置和电子设备
CN113268540A (zh) * 2021-03-26 2021-08-17 北京视博云信息技术有限公司 一种数据同步的方法及装置

Also Published As

Publication number Publication date
CN110134737B (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN110134737A (zh) 数据变化监听方法及装置、电子设备和计算机可读存储介质
CN111625452B (zh) 流量回放方法和系统
CN107273280B (zh) 一种日志处理方法、装置、电子设备和存储介质
US10956480B2 (en) System and method for generating dialogue graphs
US8959021B2 (en) Single interface for local and remote speech synthesis
CN107463409A (zh) 一种接口转换方法、接口转换器、存储介质及电子终端
CN111221793B (zh) 数据挖掘方法、平台、计算机设备及存储介质
CN114528044B (zh) 一种接口调用方法、装置、设备及介质
JP7439186B2 (ja) オーディオクエリのオーバーラップ処理の協調
CN111694866A (zh) 数据搜索及存储方法、数据搜索系统、装置、设备及介质
CN110928732A (zh) 服务器集群性能采样分析方法、装置及电子设备
CN111627446A (zh) 一种基于智能语音识别技术的通信会议系统
CN111666344A (zh) 异构数据同步方法及装置
CN109460365B (zh) 一种系统性能测试方法、装置、设备及存储介质
CN110580212B (zh) 应用程序的数据导出方法、装置、电子设备及存储介质
CN103379022B (zh) 一种基于互联网地图搜索的即时通讯方法和系统
CN115242787B (zh) 消息处理系统及方法
CN114756301B (zh) 日志处理方法、装置和系统
CN115238006A (zh) 检索数据同步方法、装置、设备及计算机存储介质
CN112286808B (zh) 应用程序的测试方法、装置、电子设备及介质
CN114567571A (zh) 性能测试方法、装置、电子设备和计算机可读存储介质
CN104834724B (zh) 一种数据库同步方法和装置
CN116418711A (zh) 服务网关的测试方法、设备、存储介质及产品
CN111930841A (zh) 数据同步方法及装置
CN112837678B (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