CN106776754A - 数据采集方法、装置及*** - Google Patents
数据采集方法、装置及*** Download PDFInfo
- Publication number
- CN106776754A CN106776754A CN201611032873.6A CN201611032873A CN106776754A CN 106776754 A CN106776754 A CN 106776754A CN 201611032873 A CN201611032873 A CN 201611032873A CN 106776754 A CN106776754 A CN 106776754A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- source database
- database
- collecting device
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据采集方法、装置及***,涉及互联网技术领域,能够在避免操作权限的基础上,减少对源数据库性能的影响。本发明的方法主要包括:监听源数据库的端口;当有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;将备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。本发明主要适用于通过数据采集实现数据库同步的场景中。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据采集方法、装置及***。
背景技术
在实际应用中,常常需要实现两个数据库的同步,即目标数据库所属的设备常常需要将源数据库发生的变化实时采集到目标数据库中。现有技术中主要有两种数据采集的方式:(1)通过扫描并分析源数据库归档日志的方式,识别出源数据库的数据变化,然后采集变化数据至目标数据库中;(2)通过启动源数据库自带的触发器的方式,实时监控源数据库的数据变化,然后采集变化数据至目标数据库中。
虽然上述两种数据采集方式都能够实现两个数据库的同步,但是却存在一定的缺陷。对于第一种方式,由于源数据库的归档操作需要数据库管理员权限,但是大多数金融机构出于安全考虑,都不愿意给予他人这么高的权限,所以当没有数据库管理员权限时,就无法采集到源数据库中的变化数据;对于第二种方式,由于触发器设置在源数据库上,所以启动触发器来实时监控数据变化后,会对源数据库的性能产生较大影响,例如实现增加、删除或者修改等操作的速度往往会降低一半以上。因此,在采集变化数据的过程中,如何在避免操作权限的基础上,减少对源数据库性能的影响是面临的一大难题。
发明内容
有鉴于此,本发明提供一种数据采集方法、装置及***,能够在避免操作权限的基础上,减少对源数据库性能的影响。
第一方面,本发明提供了一种数据采集方法,所述方法包括:
监听源数据库的端口;
当有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;
将备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
可选的,在截获并备份所述数据请求之后,所述方法还包括:
监听所述源数据库是否接收到提交指令,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令;
若接收到所述提交指令,则向所述采集设备发送提交通知,以使得所述采集设备根据所述提交通知启动数据采集。
第二方面,本发明提供了一种数据采集方法,所述方法包括:
接收被采集设备发送的数据请求,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听所述源数据库的端口获得的数据;
通过分析所述数据请求中的特定数据位确定所述数据请求的数据操作类型;
若所述数据操作类型为用于更新所述源数据库的操作类型,则从所述源数据库中采集所述数据请求中的数据对象对应的变化数据,并根据所述数据操作类型将所述变化数据同步至目标数据库中。
可选的,若所述数据操作类型为查询操作,则所述方法还包括:
丢弃所述数据请求。
可选的,从所述源数据库中采集所述数据请求中的数据对象对应的变化数据包括:
从所述数据请求中解析出数据对象;
当接收到所述被采集设备发送的、用于指示已接收到提交指令的提交通知后,从所述源数据库中采集所述数据对象对应的变化数据,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。
可选的,从所述数据请求中解析出数据对象包括:
从所述数据请求中解析出结构化查询语言SQL语句;
从所述SQL语句中提取所述数据对象。
可选的,所述用于更新所述源数据库的操作类型包括:增加操作、删除操作以及修改操作。
第三方面,本发明提供了一种数据采集装置,所述装置包括:
监听单元,用于监听源数据库的端口;
处理单元,用于当所述监听单元监听到有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;
发送单元,用于将所述处理单元备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
可选的,所述监听单元还用于在所述处理单元截获并备份所述数据请求之后,监听所述源数据库是否接收到提交指令,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令;
所述发送单元还用于当所述监听单元的监听结果为接收到所述提交指令时,向所述采集设备发送提交通知,以使得所述采集设备根据所述提交通知启动数据采集。
第四方面,本发明提供了一种数据采集装置,所述装置包括:
接收单元,用于接收被采集设备发送的数据请求,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听所述源数据库的端口获得的数据;
确定单元,用于通过分析所述接收单元接收到的所述数据请求中的特定数据位确定所述数据请求的数据操作类型;
采集单元,用于当所述确定单元确定所述数据操作类型为用于更新所述源数据库的操作类型时,从所述源数据库中采集所述数据请求中的数据对象对应的变化数据;
同步单元,用于根据所述数据操作类型将所述采集单元采集的所述变化数据同步至目标数据库中。
可选的,所述装置还包括:
丢弃单元,用于当所述确定单元确定所述数据操作类型为查询操作时,丢弃所述数据请求。
可选的,所述采集单元包括:
解析模块,用于从所述数据请求中解析出数据对象;
采集模块,用于当接收到所述被采集设备发送的、用于指示已接收到提交指令的提交通知后,从所述源数据库中采集所述数据对象对应的变化数据,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。
可选的,所述解析模块包括:
解析子模块,用于从所述数据请求中解析出结构化查询语言SQL语句;
提取子模块,用于从所述解析子模块解析出的所述SQL语句中提取所述数据对象。
可选的,所述用于更新所述源数据库的操作类型包括:增加操作、删除操作以及修改操作。
第五方面,本发明提供了一种数据采集***,所述***包括被采集设备以及采集设备;其中,所述被采集设备包括如第三方面所述的装置;所述采集设备包括如第四方面所述的装置。
借由上述技术方案,本发明提供的数据采集方法、装置及***,能够在源数据库所属设备上安装独立于源数据库的监听程序,然后由该监听程序仅监听源数据库的端口是否有数据请求,若有数据请求,则进行备份,并将备份的数据请求发送给采集设备,以便采集设备根据该数据请求获取用户对源数据库进行更新的操作信息,并根据更新的操作信息采集基于该操作信息更新后的源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据采集方法的流程图;
图2示出了本发明实施例提供的另一种数据采集方法的流程图;
图3示出了本发明实施例提供的一种数据采集过程中两设备的数据交互示意图;
图4示出了本发明实施例提供的一种数据采集装置的组成框图;
图5示出了本发明实施例提供的另一种数据采集装置的组成框图;
图6示出了本发明实施例提供的另一种数据采集装置的组成框图;
图7示出了本发明实施例提供的一种数据采集***示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据采集方法,该方法主要应用于被采集设备侧,如图1所示,该方法主要包括:
101、监听源数据库的端口。
在实际应用中,源数据库所属设备(即被采集设备)上可以安装一个独立于源数据库的监听程序,然后由该监听程序实时监听源数据库的端口,以便获知用户对源数据库进行的所有操作。
需要说明的是,当源数据库包括多个端口时,被采集设备中的监听程序可以监听所有端口,也可以监听指定的端口,但是所要监听的端口需要传输用于对源数据库进行更新的操作信息的数据请求。
102、当有数据请求访问所述端口时,截获并备份所述数据请求。
其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求,还包括对所述源数据库进行查询操作的数据请求。其中,更新操作主要包括:增加操作、删除操作以及修改操作。
在实际应用中,对源数据库进行增加操作、删除操作、修改操作以及查询操作的数据请求往往为TCP(Transmission Control Protocol,传输控制协议)类型的数据,而对源数据库进行其他操作的数据请求为其他协议的数据,因此在截获端口处访问的数据请求时,可以仅截获TCP类型的数据请求。
进一步的,由于TCP类型的数据请求中不仅包括增加、删除或修改操作,还包括查询操作,而查询操作不会对源数据库中的数据产生变化,所以为了进一步减小对源数据库性能的影响,可以仅备份增加、删除或者修改操作对应的数据请求,而不备份查询操作对应的数据请求。具体的,被采集设备截获TCP类型数据后,可以先通过分析数据请求中的特定数据位确定数据请求的数据操作类型;若数据操作类型是用于更新源数据库的操作类型(包括增加、删除或者修改操作),则备份对应的数据请求;若数据操作类型不是用于更新源数据库的操作类型(如查询操作),则不对对应的数据请求进行备份。
需要说明的是,当被采集设备中的监听程序截获并备份数据请求后,需要将截获的数据请求进行释放,以便继续基于该数据请求对源数据库进行对应操作。
103、将备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
在对截获的数据请求进行备份后,可以将备份的数据请求发送给采集设备,以使得采集设备在接收到数据请求后,先对该数据请求进行分析,然后从中获取对源数据库进行更新的操作信息,最后基于获取的操作信息从根据数据请求变化后的源数据库中采集对应的变化数据,并将采集的变化数据按照对应的数据操作类型同步至目标数据库中。
本发明实施例提供的数据采集方法,能够在源数据库所属设备上安装独立于源数据库的监听程序,然后由该监听程序仅监听源数据库的端口是否有数据请求,若有数据请求,则进行备份,并将备份的数据请求发送给采集设备,以便采集设备根据该数据请求获取用户对源数据库进行更新的操作信息,并根据更新的操作信息采集基于该操作信息更新后的源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
进一步的,当用户通过输入SQL(Structured Query Language,结构化查询语言)语句实现对源数据库的增加、删除、修改或者查询操作的过程中,只有当用户确认提交后,才能确定该操作有效,即当源数据库接收到提交指令后,才会基于该操作对源数据库进行处理。因此,为了使得采集设备获知何时数据请求真正有效,从而确定何时才能够从源数据库中采集到变化数据,本发明实施例还提供了以下方案:
在截获并备份所述数据请求之后,监听所述源数据库是否接收到提交指令;若接收到所述提交指令,则向所述采集设备发送提交通知,以使得所述采集设备根据所述提交通知启动数据采集。
其中,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。
进一步的,依据图1所示的方法,本发明的另一个实施例还提供了一种数据采集方法,该方法主要应用于采集设备侧,如图2所示,该方法主要包括:
201、接收被采集设备发送的数据请求。
其中,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听源数据库的端口获得的数据。当被采集设备备份所有的数据请求时,接收到的数据请求可能包括对源数据库进行更新的操作信息,也可能包括对源数据库进行查询的操作信息;当被采集设备仅备份用于更新源数据库的数据请求时,接收到的数据请求包括对源数据库进行更新的操作信息,具体可能为增加操作的操作信息,也可能为删除操作的操作信息,也可能为修改操作的操作新信息。
202、通过分析所述数据请求中的特定数据位确定所述数据请求的数据操作类型。
无论被采集设备在备份数据请求之前,是否通过对数据请求的数据操作类型进行识别而选择性地备份数据请求,采集设备在接收到被采集设备发送的数据请求后,需要先确定该数据请求具体的数据操作类型,再根据该具体的数据操作类型以及数据请求中的数据对象对源数据库中的变化数据进行采集。其中,数据对象为预设字段和对应的字段内容,主要包括列名和列值。
在实际应用中,数据请求由存储不同含义内容的不同数据位构成,例如有存储源IP(Internet Protocol,网间协议)地址、目的IP地址的数据位,有存储数据类型的数据位,有存储SQL语句的数据位。因此,在接收到数据请后,可以先提取用于存储数据操作类型的特定数据位,然后对该特定数据位中内容进行分析,确定对应的数据操作类型。
203、若所述数据操作类型为用于更新所述源数据库的操作类型,则从所述源数据库中采集所述数据请求中的数据对象对应的变化数据,并根据所述数据操作类型将所述变化数据同步至目标数据库中。
其中,所述用于更新所述源数据库的操作类型包括:增加操作、删除操作以及修改操作。当确定该数据操作类型为增加操作、删除操作或者修改操作时,采集设备可以继续获取并分析数据请求中包含的具体的数据对象,然后根据具体的数据对象从源数据库中采集对应的变化数据,最后将变化数据按照对应的数据操作类型同步至目标数据库中。
需要补充的是,当数据操作类型为删除操作时,由于源数据库中数据对象对应的变化数据已经被删除,所以无需从源数据库中查询该变化数据,可以直接将目标数据库中数据对象对应的变化数据删除,从而实现源数据库与目标数据库的同步。
需要说明的是,目标数据库可以为安装在采集设备中的数据库,也可以为安装在其他设备上的数据库,其所属设备在此不做限定。
此外,由于查询操作不会更改源数据库中的数据,所以若接收到的数据请求的数据操作类型为查询操作,则采集设备可以直接将所述数据请求进行丢弃,以便占用存储空间。
本发明实施例提供的数据采集方法,能够由采集设备接收被采集设备发送的、通过独立于源数据库的监听程序监听源数据库的端口获得的数据请求,然后对该数据请求的数据操作类型进行识别,当其数据操作类型是用于更新源数据库的操作类型时,通过分析该数据请求中的具体操作信息来采集源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
进一步的,上述步骤203的具体实现方式可以为:
(1)从所述数据请求中解析出数据对象;
具体的,采集设备可以先从所述数据请求中解析出SQL语句,然后从所述SQL语句中提取所述数据对象,并将提取的数据对象以及对应的数据操作类型存储在预设的存储空间中。
示例性的,若数据请求的数据操作类型为增加操作,解析出的SQL语句为“insertinto Students(姓名,性别,出生年月)values(‘李雷’,‘男’,‘1990/6/15’)”,则从该SQL语句中解析出的对象为“姓名:李雷;性别:男;出生年月:1990/6/15”。
(2)当接收到所述被采集设备发送的、用于指示已接收到提交指令的提交通知后,从所述源数据库中采集所述数据对象对应的变化数据,并根据所述数据操作类型将所述变化数据同步至目标数据库中。
其中,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。在被采集设备侧的实施例中提及只有当源数据库接收提交指令后,对应的数据请求才为有效的数据请求,因此当采集设备从所述数据请求中解析出数据对象后,需要先将该数据对象以及对应的数据操作类型进行缓存;当接收到被采集设备发送的提交通知后,才进行数据采集操作。
通过上述实施例可知,以被采集设备备份所有TCP类型数据为例,在实现两个数据库同步的过程中,被采集设备和采集设备所进行的数据交互过程可以如图3所示:
301、被采集设备上的监听程序监听源数据库的端口;
302、当有TCP类型的数据请求访问该端口时,截获并备份该数据请求;
303、在备份完成后,将备份的数据请求发送采集设备,以便采集设备执行步骤307;
304、在备份完成后,释放截获的数据请求;
其中,步骤303和步骤304不分先后顺序;可以先执行步骤303,再执行步骤304;也可以先执行步骤304,再执行步骤303;也可以同时执行步骤303和步骤304。
305、监听源数据库是否接收到提交指令;若没有接收到提交指令,则继续监听;若接收到提交指令,则执行步骤306;
306、向采集设备发送提交通知,以便采集设备执行步骤310;
307、采集设备接收被采集设备发送的数据请求;
308、识别数据请求的数据操作类型;若数据操作类型为增加操作、删除操作或者修改操作,则执行步骤309;若数据操作类型为查询操作,则执行步骤313;
309、从数据请求中解析出SQL语句,从SQL语句中提取数据对象,并将数据对象以及数据操作类型进行缓存;
310、采集设备接收被采集设备发送的提交通知;
311、采集设备获取缓存的数据对象,并从源数据库中采集该数据对象对应的变化数据。
312、根据数据操作类型将采集的变化数据同步至目标数据库中。
313、丢弃该数据请求。
进一步的,依据图1所示的方法,本发明的另一个实施例提供了一种数据采集装置,该装置主要应用于被采集设备侧,如图4所示,该装置主要包括:
监听单元41,用于监听源数据库的端口;
处理单元42,用于当所述监听单元41监听到有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;
需要说明的是,在获得备份的数据请求后,被采集设备还需要释放截获的数据请求,以便基于该数据请求对源数据库进行对应操作。
发送单元43,用于将所述处理单元42备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
进一步的,所述监听单元41还用于在所述处理单元42截获并备份所述数据请求之后,监听所述源数据库是否接收到提交指令,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令;
所述发送单元43还用于当所述监听单元41的监听结果为接收到所述提交指令时,向所述采集设备发送提交通知,以使得所述采集设备根据所述提交通知启动数据采集。
本发明实施例提供的数据采集装置,能够在源数据库所属设备上安装独立于源数据库的监听程序,然后由该监听程序仅监听源数据库的端口是否有数据请求,若有数据请求,则进行备份,并将备份的数据请求发送给采集设备,以便采集设备根据该数据请求获取用户对源数据库进行更新的操作信息,并根据更新的操作信息采集基于该操作信息更新后的源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
进一步的,依据图2所示的方法,本发明的另一个实施例提供了一种数据采集装置,该装置主要应用于采集设备侧,如图5所示,该装置主要包括:
接收单元51,用于接收被采集设备发送的数据请求,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听所述源数据库的端口获得的数据;
确定单元52,用于通过分析所述接收单元51接收到的所述数据请求中的特定数据位确定所述数据请求的数据操作类型;
采集单元53,用于当所述确定单元52确定所述数据操作类型为用于更新所述源数据库的操作类型时,从所述源数据库中采集所述数据请求中的数据对象对应的变化数据;
同步单元54,用于根据所述数据操作类型将所述采集单元53采集的所述变化数据同步至目标数据库中。
进一步的,如图6所示,所述装置还包括:
丢弃单元55,用于当所述确定单元52确定所述数据操作类型为查询操作时,丢弃所述数据请求。
进一步的,如图6所示,所述采集单元53包括:
解析模块531,用于从所述数据请求中解析出数据对象;
采集模块532,用于当接收到所述被采集设备发送的、用于指示已接收到提交指令的提交通知后,从所述源数据库中采集所述数据对象对应的变化数据,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。
进一步的,如图6所示,所述解析模块531包括:
解析子模块5311,用于从所述数据请求中解析出结构化查询语言SQL语句;
提取子模块5312,用于从所述解析子模块5311解析出的所述SQL语句中提取所述数据对象。
进一步的,所述用于更新所述源数据库的操作类型包括:增加操作、删除操作以及修改操作。
本发明实施例提供的数据采集装置,能够由采集设备接收被采集设备发送的、通过独立于源数据库的监听程序监听源数据库的端口获得的数据请求,然后对该数据请求的数据操作类型进行识别,当其数据操作类型是用于更新源数据库的操作类型时,通过分析该数据请求中的具体操作信息来采集源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
进一步的,依据上述装置实施例,本发明的另一个实施例提供了一种数据采集***,如图7所示,所述***包括被采集设备61以及采集设备62;其中,所述被采集设备61包括如图4所示的装置;所述采集设备62包括如图5或图6所示的装置。
本发明实施例提供的数据采集***,能够在源数据库所属设备上安装独立于源数据库的监听程序,然后由该监听程序仅监听源数据库的端口是否有数据请求,若有数据请求,则进行备份,并将备份的数据请求发送给采集设备,以便采集设备根据该数据请求获取用户对源数据库进行更新的操作信息,并根据更新的操作信息采集基于该操作信息更新后的源数据库中的变化数据。由此可知,与现有技术相比,本发明在监听源数据库的端口时并没有数据库管理员权限限制,并且由于监听程序独立于源数据库,且仅需监听源数据库的端口是否有数据请求访问,所以监听程序对源数据库的性能影响也相对较低。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据采集方法、装置及***中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种数据采集方法,其特征在于,所述方法包括:
监听源数据库的端口;
当有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;
将备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
2.根据权利要求1所述的方法,其特征在于,在截获并备份所述数据请求之后,所述方法还包括:
监听所述源数据库是否接收到提交指令,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令;
若接收到所述提交指令,则向所述采集设备发送提交通知,以使得所述采集设备根据所述提交通知启动数据采集。
3.一种数据采集方法,其特征在于,所述方法包括:
接收被采集设备发送的数据请求,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听所述源数据库的端口获得的数据;
通过分析所述数据请求中的特定数据位确定所述数据请求的数据操作类型;
若所述数据操作类型为用于更新所述源数据库的操作类型,则从所述源数据库中采集所述数据请求中的数据对象对应的变化数据,并根据所述数据操作类型将所述变化数据同步至目标数据库中。
4.根据权利要求3所述的方法,其特征在于,若所述数据操作类型为查询操作,则所述方法还包括:
丢弃所述数据请求。
5.根据权利要求3所述的方法,其特征在于,从所述源数据库中采集所述数据请求中的数据对象对应的变化数据包括:
从所述数据请求中解析出数据对象;
当接收到所述被采集设备发送的、用于指示已接收到提交指令的提交通知后,从所述源数据库中采集所述数据对象对应的变化数据,所述提交指令为用于向所述源数据库提交所述数据请求的操作指令。
6.根据权利要求5所述的方法,其特征在于,从所述数据请求中解析出数据对象包括:
从所述数据请求中解析出结构化查询语言SQL语句;
从所述SQL语句中提取所述数据对象。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述用于更新所述源数据库的操作类型包括:增加操作、删除操作以及修改操作。
8.一种数据采集装置,其特征在于,所述装置包括:
监听单元,用于监听源数据库的端口;
处理单元,用于当所述监听单元监听到有数据请求访问所述端口时,截获并备份所述数据请求,其中,截获的数据请求中包括对所述源数据库进行更新操作的数据请求;
发送单元,用于将所述处理单元备份的数据请求发送给采集设备,以便所述采集设备根据所述备份的数据请求,采集变化后的源数据库中的变化数据并同步至目标数据库。
9.一种数据采集装置,其特征在于,所述装置包括:
接收单元,用于接收被采集设备发送的数据请求,所述被采集设备为源数据库所属设备,所述数据请求为所述被采集设备通过监听所述源数据库的端口获得的数据;
确定单元,用于通过分析所述接收单元接收到的所述数据请求中的特定数据位确定所述数据请求的数据操作类型;
采集单元,用于当所述确定单元确定所述数据操作类型为用于更新所述源数据库的操作类型时,从所述源数据库中采集所述数据请求中的数据对象对应的变化数据;
同步单元,用于根据所述数据操作类型将所述采集单元采集的所述变化数据同步至目标数据库中。
10.一种数据采集***,其特征在于,所述***包括被采集设备以及采集设备;其中,所述被采集设备包括如权利要求8所述的装置;所述采集设备包括如权利要求9所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611032873.6A CN106776754B (zh) | 2016-11-14 | 2016-11-14 | 数据采集方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611032873.6A CN106776754B (zh) | 2016-11-14 | 2016-11-14 | 数据采集方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776754A true CN106776754A (zh) | 2017-05-31 |
CN106776754B CN106776754B (zh) | 2020-05-15 |
Family
ID=58970713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611032873.6A Active CN106776754B (zh) | 2016-11-14 | 2016-11-14 | 数据采集方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776754B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729461A (zh) * | 2017-10-11 | 2018-02-23 | 江苏税软软件科技有限公司 | 一种税务数据采集方法 |
CN109408573A (zh) * | 2018-10-11 | 2019-03-01 | 上海瀚银信息技术有限公司 | 一种数据库的数据采集***及数据采集方法 |
CN111124458A (zh) * | 2019-12-29 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种软件更新方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100591833B1 (ko) * | 2004-12-24 | 2006-06-20 | 주식회사 팬택앤큐리텔 | 개선된 외부 인터페이스 기능을 가진 이동통신 단말기와그를 이용한 이동통신 단말기의 모니터링 시스템 및 그 방법 |
CN102081611A (zh) * | 2009-11-26 | 2011-06-01 | 中兴通讯股份有限公司 | 一种主、备网管***数据库同步的实现方法及装置 |
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及*** |
CN105491106A (zh) * | 2015-11-18 | 2016-04-13 | 中国石油天然气集团公司 | 一种石油测井主从数据库***实时同步***和方法 |
-
2016
- 2016-11-14 CN CN201611032873.6A patent/CN106776754B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100591833B1 (ko) * | 2004-12-24 | 2006-06-20 | 주식회사 팬택앤큐리텔 | 개선된 외부 인터페이스 기능을 가진 이동통신 단말기와그를 이용한 이동통신 단말기의 모니터링 시스템 및 그 방법 |
CN102081611A (zh) * | 2009-11-26 | 2011-06-01 | 中兴通讯股份有限公司 | 一种主、备网管***数据库同步的实现方法及装置 |
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及*** |
CN105491106A (zh) * | 2015-11-18 | 2016-04-13 | 中国石油天然气集团公司 | 一种石油测井主从数据库***实时同步***和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729461A (zh) * | 2017-10-11 | 2018-02-23 | 江苏税软软件科技有限公司 | 一种税务数据采集方法 |
CN109408573A (zh) * | 2018-10-11 | 2019-03-01 | 上海瀚银信息技术有限公司 | 一种数据库的数据采集***及数据采集方法 |
CN111124458A (zh) * | 2019-12-29 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种软件更新方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106776754B (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855676B (zh) | 网络攻击的处理方法、装置及存储介质 | |
US9208309B2 (en) | Dynamically scanning a web application through use of web traffic information | |
CN112347485B (zh) | 多引擎获取漏洞并自动化渗透的处理方法 | |
US20110016528A1 (en) | Method and Device for Intrusion Detection | |
US20130073573A1 (en) | Query pipeline | |
CN110401632B (zh) | 一种恶意域名感染主机溯源方法 | |
CN111740868B (zh) | 告警数据的处理方法和装置及存储介质 | |
CN103152352A (zh) | 一种基于云计算环境的全信息安全取证监听方法和*** | |
CN106453320B (zh) | 恶意样本的识别方法及装置 | |
CN101605074A (zh) | 基于网络通讯行为特征监测木马的方法与*** | |
CN106776754A (zh) | 数据采集方法、装置及*** | |
CN115134099B (zh) | 基于全流量的网络攻击行为分析方法及装置 | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
CN113259467B (zh) | 一种基于大数据的网页资产指纹标签识别与发现方法 | |
CN106921713A (zh) | 一种资源缓存方法及装置 | |
CN115865525B (zh) | 日志数据处理方法、装置、电子设备和存储介质 | |
CN112257032B (zh) | 一种确定app责任主体的方法及*** | |
JP2019114241A (ja) | 統計的sqlパターン分析を通じてのsqlチューニング自動化方法およびシステム | |
CN109033188A (zh) | 一种元数据采集方法、装置、服务器和计算机可读介质 | |
KR20170088950A (ko) | 검색 엔진으로 웹 사이트 인증 데이터를 제공하기 위한 방법 및 장치 | |
CN110572364A (zh) | 一种虚拟化环境中威胁告警的实现方法 | |
US10038603B1 (en) | Packet capture collection tasking system | |
CN109921920A (zh) | 一种故障信息处理方法与相关装置 | |
CN112015910B (zh) | 域名知识库的生成方法、装置、计算机设备及存储介质 | |
CN111224823B (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 |