CN111625552B - 数据收集方法、装置、设备和可读存储介质 - Google Patents
数据收集方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN111625552B CN111625552B CN202010432574.1A CN202010432574A CN111625552B CN 111625552 B CN111625552 B CN 111625552B CN 202010432574 A CN202010432574 A CN 202010432574A CN 111625552 B CN111625552 B CN 111625552B
- Authority
- CN
- China
- Prior art keywords
- change
- operation information
- statement
- business
- database
- 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
Links
- 238000013480 data collection Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 184
- 238000003780 insertion Methods 0.000 claims abstract description 25
- 230000037431 insertion Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims description 33
- 230000001360 synchronised effect Effects 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 19
- 238000007405 data analysis Methods 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229920001971 elastomer Polymers 0.000 description 1
- 239000000806 elastomer Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/23—Updating
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据收集方法、装置、设备和可读存储介质,涉及大数据技术领域和云计算技术领域。具体实现方案为:获取用户的操作请求,并从所述操作请求中提取用户操作信息;生成将所述用户操作信息写入至业务数据库的插入语句;将所述插入语句和业务数据变更语句提交至所述业务数据库,以供所述业务数据库通过执行所述插入语句写入所述用户操作信息,以及通过执行所述业务数据变更语句对业务数据进行变更;根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息。本申请实施例完整收集用户操作信息和变更前后的业务数据;同时达到数据收集与业务的解耦。
Description
技术领域
本申请涉及计算机技术,尤其涉及大数据技术领域。
背景技术
现有业务系统的运行模式一般为,响应于用户的操作请求执行一系列的操作,在业务数据库中变更相应的业务数据。在此过程中,需要将用户操作信息和变更前后的业务数据完整地记录下来,以便进行安全校验、用户画像分析、数据同步、事后回溯等功能的二次开发,进而提高产品的竞争力。
现有技术中,通常是在业务代码中找到特定的代码片段,进行日志埋点。如果不能完整获取到用户操作信息和变更前后的业务数据,还需要多次查询业务数据库获取业务数据,增加数据库的读写压力,增加了性能损耗;而且,日志埋点的方式导致与原有业务逻辑高度耦合,降低了代码的可读性和可扩展性;同时增加了业务系统接口的耗时,影响业务系统性能。
发明内容
本申请实施例提供了一种数据收集方法、装置、设备和可读存储介质,以完整收集用户操作信息和变更前后的业务数据;同时达到数据收集与业务的解耦,减轻数据库的读写压力。
第一方面,本申请实施例提供了一种数据收集方法,包括:
获取用户的操作请求,并从所述操作请求中提取用户操作信息;
生成将所述用户操作信息写入至业务数据库的插入语句;
将所述插入语句和业务数据变更语句提交至所述业务数据库,以供所述业务数据库通过执行所述插入语句写入所述用户操作信息,以及通过执行所述业务数据变更语句对业务数据进行变更;其中,所述业务数据变更语句是业务系统响应于所述用户的操作请求生成的;
根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息。
第二方面,本申请实施例提供了一种数据收集装置,包括:
获取模块,用于获取用户的操作请求,并从所述操作请求中提取用户操作信息;
生成模块,用于生成将所述用户操作信息写入至业务数据库的插入语句;
提交模块,用于将所述插入语句和业务数据变更语句提交至所述业务数据库,以供所述业务数据库通过执行所述插入语句写入所述用户操作信息,以及通过执行所述业务数据变更语句对业务数据进行变更;其中,所述业务数据变更语句是业务系统响应于所述用户的操作请求生成的;
收集模块,用于根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一实施例所提供的一种数据收集方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行任一实施例所提供的一种数据收集方法。
根据本申请的技术完整收集用户操作信息和变更前后的业务数据;同时达到数据收集与业务的解耦,减轻数据库的读写压力。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1a是本申请实施例中的第一种数据收集方法的流程图;
图1b是本申请实施例中的数据收集装置对业务系统进行数据收集的流程示意图;
图2是本申请实施例中的第二种数据收集方法的流程图;
图3是本申请实施例中的第三种数据收集方法的流程图;
图4是本申请实施例中的第四种数据收集方法的流程图;
图5是本申请实施例中的数据收集的流程示意图;
图6是本申请实施例中的数据收集装置的结构图;
图7是用来实现本申请实施例的数据收集方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
根据本申请的实施例,图1a是本申请实施例中的第一种数据收集方法的流程图,本申请实施例适用于对业务系统中变更前后的业务数据和用户操作信息进行收集的情况。该方法通过基于数据收集装置执行,该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中,该电子设备可以是服务器,也可以是终端。可选的,业务系统可以运行在电子设备中,或者运行在其它设备中,并与该电子设备通信连接。
图1b是本申请实施例中的数据收集装置对业务系统进行数据收集的流程示意图。结合图1b,图1a所示的数据收集方法,包括:
S110、获取用户的操作请求,并从操作请求中提取用户操作信息。
用户通过终端向业务系统发送操作请求,数据收集装置从业务系统获取用户的操作请求。
本实施例不限定各种业务场景,如购物业务场景、理财业务场景和社交业务场景;相应的,本实施例也不限于各种内容的操作请求,如登录、购买、发送消息等。
该操作请求中携带用户操作信息。用户操作信息包括用户的信息和操作行为信息,用户的信息包括但不限于用户的名称、手机号、地理位置等;操作行为信息为操作请求的具体内容,如登录、购买和发送消息。基于此,电子设备从操作请求中提取其携带的用户操作信息。
S120、生成将用户操作信息写入至业务数据库的插入语句。
业务数据库为业务系统中配置的数据库,用于存储业务数据。预先在业务数据库中新建操作记录表,用于写入用户操作信息。
具体的,业务数据库为关系型数据库管理系统(MySQL),插入语句属于SQL(Structured Query Language,结构化查询语言)语句,该SQL语句用于将用户操作信息写入操作记录表中。示例性的,插入语句为sql="insert into操作记录表(字段1)values(用户操作信息)"。
S130、将插入语句和业务数据变更语句提交至业务数据库,以供业务数据库通过执行插入语句写入用户操作信息,以及通过执行业务数据变更语句对业务数据进行变更;其中,业务数据变更语句是业务系统响应于用户的操作请求生成的。
对于业务系统来说,其接收用户的操作请求,并响应于操作请求生成业务数据变更语句。业务数据变更语句为导致业务数据库中的业务数据发生变更的数据库操作语句。例如,用户的操作请求是新用户的注册请求,则该业务数据变更语句为新用户的注册信息的插入语句;又例如,用户的操作请求是密码变更请求,则该业务数据变更语句为将旧密码改写为新密码的更新语句;此外,业务数据变更语句还可以是业务数据的删除语句。值得说明的是,业务数据变更语句也为SQL语句。
数据收集装置从业务系统获取业务数据变更语句,并将业务数据变更语句和本地生成的插入语句一起提交至业务数据库。业务数据库通过执行业务数据变更语句对业务数据进行变更,以及通过执行插入语句,插入用户操作信息。具体的,将用户操作信息写入业务数据库的操作记录表中。
值得说明的是,操作请求的数量一般为一个,业务系统响应于该操作请求生成数据库操作语句,数据库操作语句中可以包括业务数据变更语句和不会导致业务数据发生变更的语句中的至少一项,业务数据变更语句的数量为至少一个。具体的,响应于该操作请求生成的全部业务数据变更语句需要与插入语句一起提交至业务数据库。当然,如果响应于该操作请求还生成不会导致业务数据发生变更的语句,也可以与业务数据变更语句和插入语句一起提交至业务数据库。
如果业务系统响应于用户的操作请求仅生成不会导致业务数据发生变更的语句,则仅将该不会导致业务数据发生变更的语句提交至业务数据库即可,不需要与插入语句一起提交至业务数据库。示例性的,如果用户的操作请求为查询或读取某些信息,业务系统会生成查询语句。由于查询语句不会导致业务数据发生变更,则仅将查询语句提交至业务数据库即可。
S140、根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。
二进制日志(binary log),又称binlog,是记录所有数据库表结构变更(例如CREATE、ALTER TABLE)以及表数据修改(INSERT、UPDATE、DELETE)的日志。示例性的,如果binlog为语句模式(Statement),会记录导致表结构或表数据发生变更的SQL语句,即本实施例中的业务数据变更语句和插入语句。基于此,数据收集装置可以从二进制日志同步业务数据变更语句和插入语句,进行数据同步,从而收集到变更前后的业务数据和用户操作信息。
本实施例中,通过提取操作请求中的用户操作信息,并将用户操作信息的插入语句提交至业务数据库,从而根据业务数据库的二进制日志收集到用户操作信息,不需要从数据库中读取;通过将业务数据变更语句也提交至业务数据库,从而根据业务数据库的二进制日志收集到变更前后的业务数据,也不需要从数据库中读取;通过将插入语句和业务数据变更语句提交至业务数据库,关联用户操作信息和变更前后的业务数据,从而完整收集到操作请求关联的全部数据。
本实施例提供的方法具有以下技术效果:1)数据采集不侵入业务代码,不增加业务代码的复杂性,不影响业务代码的可读性,有利于提高系统性能;同时易于扩展,在业务数据库的表结构不发生变化时,可以一直根据二进制日志收集数据,不受业务系统本身的业务逻辑的影响;2)业务数据库执行业务数据变更语句对业务数据进行变更,属于业务系统本身的业务逻辑;相应的,为了采集用户操作信息,只对业务数据库额外产生一次用户操作信息的插入,对数据库的读写影响非常小;3)数据收集是独立于业务代码进行的,丝毫不会影响业务系统中业务接口的性能;同时数据收集装置还可随时抽离出去,作为独立的产品开发,易于管理。
根据本申请的实施例,图2是本申请实施例中的第二种数据收集方法的流程图,本申请实施例在上述各实施例的技术方案的基础上进行优化。
可选的,将操作“将插入语句和业务数据变更语句提交至业务数据库”细化为“将插入语句和业务数据变更语句以一个事务提交至业务数据库”。
具体的,事务具有原子性、一致性、分离性和持久性。本实施例将插入语句和业务数据变更语句组成同一个事务,使得插入语句和业务数据变更语句要么全部执行成功,要么全部执行失败,加强了用户操作信息和变更前后的业务数据的关联性,保证数据收集的完整性。
示例性的,使用"start transaction"开启业务数据库的事务,遍历每条插入语句和业务数据变更语句,将遍历到的语句以一个事务进行提交;如果存在执行失败的语句,执行事务回滚。
可选的,在操作“生成将用户操作信息写入至业务数据库的插入语句”之前,追加“获取业务系统响应于操作请求生成的数据库操作语句;启动将数据库操作语句以一个事务提交至业务数据库的目标操作;响应于数据库操作语句包括业务数据变更语句,对目标操作进行拦截”。
可选的,将操作“将插入语句和业务数据变更语句以一个事务提交至业务数据库”细化为“在事务中添加插入语句,并将添加后的事务提交至业务数据库”。
可选的,将操作“根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息”细化为“从二进制日志中读取属于同一事务的语句,并根据属于同一事务的语句,还原变更前后的业务数据和用户操作信息”。
如图2所示的数据收集方法,包括:
S210、获取用户的操作请求,并从操作请求中提取用户操作信息。
S220、获取业务系统响应于操作请求生成的数据库操作语句。
本实施例中,数据库操作语句包括业务数据变更语句和不会导致业务数据发生变更的语句(如查询语句)中的至少一项。
S230、启动将数据库操作语句以一个事务提交至业务数据库的目标操作。
为了方便描述和区分,将事务提交操作成为目标操作。
示例性的,使用"start transaction"开启业务数据库的事务,遍历每条数据库操作语句,将遍历到的语句以一个事务进行提交;如果存在执行失败的语句,执行事务回滚。
S240、响应于数据库操作语句包括业务数据变更语句,对目标操作进行拦截。
具体的,实现一个mysql拦截器,在事务提交至业务数据库之前,响应于事务中包括业务数据变更语句,对该目标操作进行拦截。其中,业务数据变更语句包括业务数据的插入语句、业务数据的更新语句和业务数据的删除语句。
值得说明的是,数据库操作语句可以全部为业务数据变更语句,也可以一部分为业务数据变更语句,另一部分为不会导致业务数据发生变更的语句。
S250、生成将用户操作信息写入至业务数据库的插入语句。
如果对目标操作进行了拦截,说明用户的操作请求的响应过程会导致业务数据的变更,则需要进行数据收集。因此,生成将用户操作信息写入至业务数据库的插入语句,以便将用户操作信息存储至业务数据库中,与变更前后的业务数据一起被收集。
S260、在事务中添加插入语句,并将添加后的事务提交至业务数据库。
可以在事务中的任何位置添加插入语句,可选的,逐个检测事务中的语句,在检测到事务中的业务数据变更语句时,也就是在操作请求的响应过程中,第一次发起业务数据的变更时,添加该插入语句。如此,添加后的事务同时包括插入语句和业务数据变更语句。
本实施例中,通过拦截数据库操作语句的事务提交操作,进而在事务中包括业务数据变更语句时添加插入语句,从而将插入语句和业务数据变更语句组成一个事务;同时,尽量减少对业务代码的侵入,提高系统性能。
S270、从二进制日志中读取属于同一事务的语句,并根据属于同一事务的语句,还原变更前后的业务数据和用户操作信息。
在二进制日志中,属于同一事务的语句会被打上同一标识,且属于不同事务的语句分块存储,从而通过标识和存储位置区分属于不同事务的语句。
本实施例中,通过将插入语句和业务数据变更语句以一个事务提交,从而能够在二进制日志中标识和分块存储不同事务的语句,以便读取出属于同一事务的语句,从而准确收集到操作请求关联的全部数据。
根据本申请的实施例,图3是本申请实施例中的第三种数据收集方法的流程图,本申请实施例在上述各实施例的技术方案的基础上进行优化。
可选的,将操作“获取用户的操作请求,并从操作请求中提取用户操作信息”细化为“从业务系统的业务接口拦截用户的操作请求,并从操作请求中提取用户操作信息”。
可选的,在操作“获取用户的操作请求,并从操作请求中提取用户操作信息”之后,追加“将用户操作信息存储至线程上下文中;其中,线程上下文属于用于响应操作请求的线程”;相应的,将操作“生成将用户操作信息写入至业务数据库的插入语句”细化为“从线程上下文中读取用户操作信息,并生成将用户操作信息写入至业务数据库的插入语句”。
如图3所示的数据收集方法,包括:
S310、从业务系统的业务接口拦截用户的操作请求,并从操作请求中提取用户操作信息。
用户通过终端向业务系统的业务接口发送操作请求,用户的操作请求进入到业务系统的业务接口。
在业务接口中实现一个前置拦截器或者注解,在业务接口处理用户的操作请求前,从业务接口获取用户请求中携带的用户操作信息。可选的,可以根据业务场景的实际需要增加接口的相关参数,比如请求时间,从而完善收集的用户操作信息。
S320、将用户操作信息存储至线程上下文中;其中,线程上下文属于用于响应操作请求的线程。
对操作请求的响应过程由一条线程执行,下一操作请求的响应过程由另一条线程执行。在一线程执行操作请求的响应过程的任意时刻,均可以读取该线程的线程上下文中的内容。基于此,将用户操作信息存储至线程上下文中,以方便后续从线程上下文中读取用户操作信息。
S330、从线程上下文中读取用户操作信息,并生成将用户操作信息写入至业务数据库的插入语句。
S340、将插入语句和业务数据变更语句提交至业务数据库,以供业务数据库通过执行插入语句写入用户操作信息,以及通过执行业务数据变更语句对业务数据进行变更;其中,业务数据变更语句是业务系统响应于用户的操作请求生成的。
S350、根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。
本实施例中,通过从业务系统的业务接口拦截用户的操作请求,从而获取到操作请求中的用户操作信息;进而将操作信息存储至线程上下文中,方便在执行操作请求的响应过程的任意时刻,均可以读取该线程的线程上下文中的内容。
本申请实施例中,图4是本申请实施例中的第四种数据收集方法的流程图,本申请实施例在上述各实施例的技术方案的基础上进行优化。
可选的,将操作“根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息”细化为,追加“通过同步组件根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息”。
可选的,在操作“通过同步组件根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息”之后,追加“获取同步组件中的变更前后的业务数据和用户操作信息;将变更前后的业务数据和用户操作信息进行合并,得到完整的用户数据”。
如图4所示的数据收集方法,包括:
S410、获取用户的操作请求,并从操作请求中提取用户操作信息。
S420、生成将用户操作信息写入至业务数据库的插入语句。
S430、将插入语句和业务数据变更语句提交至业务数据库,以供业务数据库通过执行插入语句写入用户操作信息,以及通过执行业务数据变更语句对业务数据进行变更;其中,业务数据变更语句是业务系统响应于用户的操作请求生成的。
S440、通过同步组件根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。
具体的,业务数据库(MySQL)的主(master)节点在发生数据变更后会产生binlog日志,用于从(slave)节点同步数据。
在数据收集装置中搭建一个同步组件,如canal。其原理是:把自己伪装(fake)成业务数据库的slave节点,向业务数据库的master节点发送业务数据库的标准Dump协议。master节点接收到该协议后会将binlog日志发送给同步组件。此时,同步组件可以读取binlog日志中记载的插入语句和业务数据变更语句,并且可以根据插入语句和业务数据变更语句还原变更前后的全部业务数据和用户操作信息。
S450、获取同步组件中的变更前后的业务数据和用户操作信息。
在S440执行结束后,变更前后的业务数据和用户操作信息均存储在同步组件中,需要将这些数据和信息从同步组件中导出,以便后续处理。
在一可选实施方式中,通过数据解析客户端向同步组件订阅变更前后的业务数据和用户操作信息,并接收同步组件发布的变更前后的业务数据和用户操作信息。
具体的,数据解析客户端是与同步组件进行交互的客户端,部署在数据收集装置中。数据解析客户端向同步组件订阅变更前后的业务数据和用户操作信息。同步组件在同步到变更前后的业务数据和用户操作信息之后,主动向数据解析客户端发布变更前后的业务数据和用户操作信息。
在另一可选实施方式中,通过数据解析客户端按照设定的轮询方式,请求同步组件中的变更前后的业务数据和用户操作信息。
对数据解析客户端的描述详见上述可选实施方式,此处不再赘述。其中,设定的轮询方式包括请求的时间间隔,长轮询或者短轮询等。数据解析客户端按照设定的轮询方式,向同步组件发送请求。同步组件响应于数据解析客户端发送的请求,返回变更前后的业务数据和用户操作信息。
S460、将变更前后的业务数据和用户操作信息进行合并,得到完整的用户数据。
数据解析客户端获取到同步组件返回的数据和信息,对返回的数据和信息进行解析,得到与同一操作请求关联的用户操作信息和变更前后的业务数据,可选的,变更前后的业务数据包括但不限于:数据库名、数据表名、字段名、变更前的数据和变更后的数据。
将与同一操作请求关联的用户操作信息和变更前后的业务数据进行合并,得到完整的用户数据。
进一步的,将数据解析客户端中生产的完整的用户数据,根据实际的需求场景进行归类、合并和数据清洗等操作后,存入数据存储组件,如Elasticsearch,该Elasticsearch是一个基于Lucene的搜索服务器。由此生成的数据可以满足数据同步、安全审计、用户画像分析、事后回溯等多种场景的功能实现,极大的丰富了产品功能,用低耦合、易扩展、高性能的方式完成了业务场景的数据采集。
本实施例中,通过同步组件根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息,利用业务数据库的固有功能,无需对进行读写操作,即可收集到变更前后的业务数据和用户操作信息,减轻数据库的读写压力。
进一步的,通过将变更前后的业务数据和用户操作信息进行合并,从而实现用户数据的完整收集。
进一步的,通过订阅或轮询的方式获取同步组件中的信息和相关数据,实现获取操作的及时性和准确性。
图5是本申请实施例中的数据收集的流程示意图,下面结合图5,对上述各实施例的方法进行详细说明。
步骤①:用户的操作请求进入到业务系统的业务接口。
步骤②:数据收集装置通过前置拦截器或者注解,在业务接口处理操作请求前,获取操作请求,并从中提取操作请求携带的用户操作信息。将用户操作信息存入线程上下文中。
步骤③:业务系统按照业务接口的原有业务逻辑,接收用户的操作请求,并响应于操作请求生成数据库操作语句,数据库操作语句包括业务数据变更语句。数据收集装置获取业务系统响应于操作请求生成的数据库操作语句,并启动将数据库操作语句以一个事务提交至业务数据库的目标操作,从而将事务提交统一管理,即同一个操作请求的数据变更应该以一个数据库事务提交。
步骤④:数据收集装置通过mysql拦截器,响应于数据库操作语句包括业务数据变更语句,对目标操作进行拦截。简而言之,mysql拦截器对数据库的插入、更新和删除操作进行拦截。这里需要预先新建一张操作记录表存放用户操作信息。在拦截器中读取线程上下文中的用户操作信息,并生成将用户操作信息写入至业务数据库的插入语句。在每个操作请求的第一次发起数据库变更时,将插入语句添加至拦截的事务中,此时插入语句和数据库操作语句(包括业务数据变更语句)以一个事务提交。后续获取该事务的所有数据,则完成了关联用户操作信息和变更前后的业务数据的目标。
步骤⑤:业务接口产生的业务数据变更会记录到业务数据库中。master节点在发生数据变更后会产生binlog日志,用于slave节点同步数据。binlog日志会以事务分块,每个事务中都包含一条操作记录表的插入记录(用户操作信息)和业务接口产生的变更前后的业务数据。图5示出了两个事务分块,每个事务具有不同的标识:XID,每个事务包括用户操作信息的插入语句:Insert into record和3条业务数据变更语句:Insert into intent();Update intent set;Delete intent where。
步骤⑥:数据收集装置通过binlog同步组件,根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。binlog同步组件把自己伪装(fake)成业务数据库的slave节点,向业务数据库的master节点发送业务数据库的标准Dump协议。master节点接收到该协议后会将binlog日志发送给同步组件。此时,同步组件可以读取binlog日志中记载的插入语句和业务数据变更语句,并且可以根据插入语句和业务数据变更语句还原变更前后的全部业务数据和用户操作信息。
步骤⑦:数据收集装置通过数据解析客户端,实时订阅或轮询binlog同步组件。对binlog同步组件返回的变更前后的业务数据和用户操作信息,以事务作为基本单位进行解析,每个事务中可以读取到一条用户操作信息和多个变更前后的业务数据。
步骤⑧:数据收集装置通过数据解析客户端将属于同一事务的一条用户操作信息和多个变更前后的业务数据进行合并,得到完整的用户数据。
步骤⑨:数据收集装置将数据解析客户端中生成的完整的用户数据,根据实际的需求场景进行归类、合并和数据清洗等生成源数据,存入数据存储组件。
根据本申请的实施例,图6是本申请实施例中的数据收集装置的结构图,本申请实施例适用于对业务系统中变更前后的业务数据和用户操作信息进行收集的情况,该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中。
如图6所示的一种数据收集装置600,包括:获取模块601、生成模块602、提交模块603和收集模块604;其中,
获取模块601,用于获取用户的操作请求,并从操作请求中提取用户操作信息;
生成模块602,用于生成将用户操作信息写入至业务数据库的插入语句;
提交模块603,用于将插入语句和业务数据变更语句提交至业务数据库,以供业务数据库通过执行插入语句写入用户操作信息,以及通过执行业务数据变更语句对业务数据进行变更;其中,业务数据变更语句是业务系统响应于用户的操作请求生成的;
收集模块604,用于根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。
本申请实施例中,通过提取操作请求中的用户操作信息,并将用户操作信息的插入语句提交至业务数据库,从而根据业务数据库的二进制日志收集到用户操作信息,不需要从数据库中读取;通过将业务数据变更语句也提交至业务数据库,从而根据业务数据库的二进制日志收集到变更前后的业务数据,也不需要从数据库中读取;通过将插入语句和业务数据变更语句提交至业务数据库,关联用户操作信息和变更前后的业务数据,从而完整收集到操作请求关联的全部数据。
进一步的,提交模块603具体用于将插入语句和业务数据变更语句以一个事务提交至业务数据库。
进一步的,该装置还包括语句获取模块、启动模块和拦截模块,其中,语句获取模块用于在生成将所述用户操作信息写入至业务数据库的插入语句之前,获取业务系统响应于操作请求生成的数据库操作语句;启动模块用于启动将数据库操作语句以一个事务提交至业务数据库的目标操作;拦截模块用于响应于数据库操作语句包括业务数据变更语句,对目标操作进行拦截;相应的,提交模块603具体用于在事务中添加插入语句,并将添加后的事务提交至业务数据库。
进一步的,收集模块604具体用于从二进制日志中读取属于同一事务的语句,并根据属于同一事务的语句,还原变更前后的业务数据和用户操作信息。
进一步的,获取模块601具体用于从业务系统的业务接口拦截用户的操作请求,并从操作请求中提取用户操作信息。
进一步的,该装置还包括存储模块,用于在获取用户的操作请求,并从所述操作请求中提取用户操作信息之后,将用户操作信息存储至线程上下文中;其中,线程上下文属于用于响应操作请求的线程;相应的,生成模块602具体用于从线程上下文中读取用户操作信息,并生成将用户操作信息写入至业务数据库的插入语句。
进一步的,收集模块604具体用于通过同步组件根据业务数据库的二进制日志,收集变更前后的业务数据和用户操作信息。
进一步的,该装置还包括数据和信息获取模块和合并模块,其中,数据和信息获取模块用于在所述通过同步组件根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息之后,获取同步组件中的变更前后的业务数据和用户操作信息;合并模块用于获取同步组件中的变更前后的业务数据和用户操作信息;将变更前后的业务数据和用户操作信息进行合并,得到完整的用户数据。
进一步的,数据和信息获取模块具体用于通过数据解析客户端向同步组件订阅变更前后的业务数据和用户操作信息,并接收同步组件发布的变更前后的业务数据和用户操作信息;或者,通过数据解析客户端按照设定的轮询方式,请求同步组件中的变更前后的业务数据和用户操作信息。
上述数据收集装置可执行本申请任意实施例所提供的数据收集方法,具备执行数据收集方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是实现本申请实施例的数据收集方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的数据收集方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据收集方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据收集的方法对应的程序指令/模块(例如,附图6所示的包括获取模块601、生成模块602、提交模块603和收集模块604)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据收集的方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现数据收集方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至执行数据收集方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行数据收集方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与执行数据收集方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种数据收集方法,其特征在于,包括:
获取用户的操作请求,并从所述操作请求中提取用户操作信息;
将所述用户操作信息存储至线程上下文中;其中,所述线程上下文属于用于响应所述操作请求的线程;
获取业务系统响应于所述操作请求生成的数据库操作语句;其中,所述数据库操作语句包括业务数据变更语句和不会导致业务数据发生变更的语句中的至少一项;
启动将所述数据库操作语句以一个事务提交至所述业务数据库的目标操作;响应于所述数据库操作语句包括业务数据变更语句,对所述目标操作进行拦截;
从所述线程上下文中读取所述用户操作信息,并生成将所述用户操作信息写入至业务数据库的插入语句;
在所述事务中添加所述插入语句,遍历每条插入语句和业务数据变更语句,并将遍历到的语句以一个事务提交至所述业务数据库,以供所述业务数据库通过执行所述插入语句写入所述用户操作信息,以及通过执行所述业务数据变更语句对业务数据进行变更;其中,如果存在执行失败的语句,执行事务回滚;其中,所述业务数据变更语句是业务系统响应于所述用户的操作请求生成的;所述插入语句和所述业务数据变更语句为结构化查询语言SQL语句;
根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息;
其中,所述根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息,包括:
从所述二进制日志中读取属于同一事务的语句,并根据所述属于同一事务的语句,还原变更前后的业务数据和所述用户操作信息。
2.根据权利要求1所述的方法,其特征在于,所述获取用户的操作请求,并从所述操作请求中提取用户操作信息,包括:
从所述业务系统的业务接口拦截所述用户的操作请求,并从所述操作请求中提取用户操作信息。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息,包括:
通过同步组件根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息。
4.根据权利要求3所述的方法,其特征在于,在所述通过同步组件根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息之后,还包括:
获取所述同步组件中的变更前后的业务数据和所述用户操作信息;
将所述变更前后的业务数据和所述用户操作信息进行合并,得到完整的用户数据。
5.根据权利要求4所述的方法,其特征在于,所述获取所述同步组件中的变更前后的业务数据和所述用户操作信息,包括:
通过数据解析客户端向所述同步组件订阅所述变更前后的业务数据和所述用户操作信息,并接收所述同步组件发布的所述变更前后的业务数据和所述用户操作信息;或者,
通过数据解析客户端按照设定的轮询方式,请求所述同步组件中的变更前后的业务数据和所述用户操作信息。
6.一种数据收集装置,其特征在于,包括:
获取模块,用于获取用户的操作请求,并从所述操作请求中提取用户操作信息;
生成模块,用于生成将所述用户操作信息写入至业务数据库的插入语句;
提交模块,用于将所述插入语句和业务数据变更语句提交至所述业务数据库,以供所述业务数据库通过执行所述插入语句写入所述用户操作信息,以及通过执行所述业务数据变更语句对业务数据进行变更;其中,所述业务数据变更语句是业务系统响应于所述用户的操作请求生成的;所述插入语句和所述业务数据变更语句为结构化查询语言SQL语句;
收集模块,用于根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息;
所述提交模块,具体用于将所述插入语句和业务数据变更语句以一个事务提交至所述业务数据库;
所述装置还包括:
语句获取模块,用于在生成将所述用户操作信息写入至业务数据库的插入语句之前,获取所述业务系统响应于所述操作请求生成的数据库操作语句;其中,所述数据库操作语句包括业务数据变更语句和不会导致业务数据发生变更的语句中的至少一项;
启动模块,用于启动将所述数据库操作语句以一个事务提交至所述业务数据库的目标操作;
拦截模块,用于响应于所述数据库操作语句包括业务数据变更语句,对所述目标操作进行拦截;
所述提交模块,具体用于在所述事务中添加所述插入语句,并将遍历到的语句以一个事务提交至所述业务数据库;其中,如果存在执行失败的语句,执行事务回滚;
所述收集模块,具体用于从所述二进制日志中读取属于同一事务的语句,并根据所述属于同一事务的语句,还原变更前后的业务数据和所述用户操作信息;
所述装置还包括:
存储模块,用于在获取用户的操作请求,并从所述操作请求中提取用户操作信息之后,将所述用户操作信息存储至线程上下文中;其中,所述线程上下文属于用于响应所述操作请求的线程;
所述生成模块,具体用于从所述线程上下文中读取所述用户操作信息,并生成将所述用户操作信息写入至业务数据库的插入语句。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,具体用于从所述业务系统的业务接口拦截所述用户的操作请求,并从所述操作请求中提取用户操作信息。
8.根据权利要求6-7任一项所述的装置,其特征在于,
所述收集模块,具体用于通过同步组件根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
数据和信息获取模块,用于在所述通过同步组件根据所述业务数据库的二进制日志,收集变更前后的业务数据和所述用户操作信息之后,获取所述同步组件中的变更前后的业务数据和所述用户操作信息;
合并模块,用于将所述变更前后的业务数据和所述用户操作信息进行合并,得到完整的用户数据。
10.根据权利要求9所述的装置,其特征在于,
所述数据和信息获取模块,具体用于通过数据解析客户端向所述同步组件订阅所述变更前后的业务数据和所述用户操作信息,并接收所述同步组件发布的所述变更前后的业务数据和所述用户操作信息;或者,通过数据解析客户端按照设定的轮询方式,请求所述同步组件中的变更前后的业务数据和所述用户操作信息。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的一种数据收集方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的一种数据收集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010432574.1A CN111625552B (zh) | 2020-05-20 | 2020-05-20 | 数据收集方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010432574.1A CN111625552B (zh) | 2020-05-20 | 2020-05-20 | 数据收集方法、装置、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625552A CN111625552A (zh) | 2020-09-04 |
CN111625552B true CN111625552B (zh) | 2024-01-02 |
Family
ID=72259978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010432574.1A Active CN111625552B (zh) | 2020-05-20 | 2020-05-20 | 数据收集方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625552B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395157B (zh) * | 2020-11-13 | 2023-08-08 | 广州至真信息科技有限公司 | 审计日志的获取方法、装置、计算机设备和存储介质 |
CN112416710A (zh) * | 2020-11-19 | 2021-02-26 | 京东数字科技控股股份有限公司 | 用户操作的记录方法、装置、电子设备及存储介质 |
CN112559638B (zh) * | 2021-02-20 | 2021-05-07 | 恒生电子股份有限公司 | 数据同步的方法、装置、设备和存储介质 |
CN113535687B (zh) * | 2021-07-29 | 2024-01-26 | 北京互金新融科技有限公司 | 数据变量管理方法、装置、计算机可读存储介质及处理器 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156720A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种数据恢复的方法、装置和系统 |
CN102682038A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据库变更方法以及装置 |
CN104866580A (zh) * | 2015-05-26 | 2015-08-26 | 梁猛 | 一种数据库变更对现有业务影响的快速侦测方法 |
CN105608086A (zh) * | 2014-11-17 | 2016-05-25 | 中兴通讯股份有限公司 | 分布式数据库系统的事务处理方法及装置 |
CN107122290A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 日志信息的记录方法及装置 |
CN107704369A (zh) * | 2017-08-31 | 2018-02-16 | 云宏信息科技股份有限公司 | 一种操作日志的记录方法、电子设备、存储介质、系统 |
CN108874964A (zh) * | 2018-06-07 | 2018-11-23 | 火烈鸟网络(广州)股份有限公司 | 一种监控数据库的方法及系统 |
CN109241181A (zh) * | 2018-08-08 | 2019-01-18 | 北京百度网讯科技有限公司 | 数据库操作方法和装置 |
CN110198327A (zh) * | 2018-03-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
CN110209684A (zh) * | 2019-06-03 | 2019-09-06 | 深圳前海微众银行股份有限公司 | 数据库ddl变更操作的跟踪方法、装置、系统及介质 |
CN110222028A (zh) * | 2019-04-30 | 2019-09-10 | 重庆小雨点小额贷款有限公司 | 一种数据管理方法、装置、设备及存储介质 |
CN110597914A (zh) * | 2019-09-18 | 2019-12-20 | 北京思维造物信息科技股份有限公司 | 数据传输系统、方法、装置及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080249988A1 (en) * | 2007-04-06 | 2008-10-09 | International Business Machines Corporation | Computer programming method and system for performing a reversal of selected structured query language operations within a database transaction |
US20090182707A1 (en) * | 2008-01-10 | 2009-07-16 | Dbix Corporation | Database changeset management system and method |
WO2012169028A1 (ja) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | 操作ログ管理システム及び操作ログ管理方法 |
US9727598B2 (en) * | 2012-12-19 | 2017-08-08 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for fixing logical or physical corruption in databases using LSM trees |
CN107220142B (zh) * | 2016-03-22 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 执行数据恢复操作的方法及装置 |
-
2020
- 2020-05-20 CN CN202010432574.1A patent/CN111625552B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682038A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据库变更方法以及装置 |
CN102156720A (zh) * | 2011-03-28 | 2011-08-17 | 中国人民解放军国防科学技术大学 | 一种数据恢复的方法、装置和系统 |
CN105608086A (zh) * | 2014-11-17 | 2016-05-25 | 中兴通讯股份有限公司 | 分布式数据库系统的事务处理方法及装置 |
CN104866580A (zh) * | 2015-05-26 | 2015-08-26 | 梁猛 | 一种数据库变更对现有业务影响的快速侦测方法 |
CN107122290A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 日志信息的记录方法及装置 |
CN107704369A (zh) * | 2017-08-31 | 2018-02-16 | 云宏信息科技股份有限公司 | 一种操作日志的记录方法、电子设备、存储介质、系统 |
CN110198327A (zh) * | 2018-03-05 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
CN108874964A (zh) * | 2018-06-07 | 2018-11-23 | 火烈鸟网络(广州)股份有限公司 | 一种监控数据库的方法及系统 |
CN109241181A (zh) * | 2018-08-08 | 2019-01-18 | 北京百度网讯科技有限公司 | 数据库操作方法和装置 |
CN110222028A (zh) * | 2019-04-30 | 2019-09-10 | 重庆小雨点小额贷款有限公司 | 一种数据管理方法、装置、设备及存储介质 |
CN110209684A (zh) * | 2019-06-03 | 2019-09-06 | 深圳前海微众银行股份有限公司 | 数据库ddl变更操作的跟踪方法、装置、系统及介质 |
CN110597914A (zh) * | 2019-09-18 | 2019-12-20 | 北京思维造物信息科技股份有限公司 | 数据传输系统、方法、装置及设备 |
Non-Patent Citations (6)
Title |
---|
Bind Any Data to a Form by Generating Recordsets;Leigh Purvis;《 Access Advisor》;20071231;第15卷(第8期);全文 * |
Bo Yang ; Yi-Ming Wei ; Yunbing Hou ; Hui Li ; Pengtao Wang.Life cycle environmental impact assessment of fuel mix-based biomass co-firing plants with CO2 capture and storage.Applied Energy.2019,第252卷(第C期),全文. * |
S. J. Choi ; H. Y. Youn ; H. S. Lee.On Highly Secure and Available Data Storage Systems.Lecture notes in computer science.2004,全文. * |
基于SQL还原法的异构数据库同步技术的研究与实现;郑海明;《计算机时代》;20081002(第10期);全文 * |
基于事务日志的数据库恢复机制研究;林烈青;;现代计算机(专业版)(第08期);全文 * |
多用户大数据量的数据库访问优化与设计;谢姗姗;周国祥;石雷;;合肥工业大学学报(自然科学版)(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111625552A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625552B (zh) | 数据收集方法、装置、设备和可读存储介质 | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
US10353756B2 (en) | Cluster-based processing of unstructured log messages | |
US20210209416A1 (en) | Method and apparatus for generating event theme | |
CN111639027B (zh) | 一种测试方法、装置及电子设备 | |
CN110737682A (zh) | 一种缓存操作方法、装置、存储介质和电子设备 | |
WO2021036684A1 (zh) | 分布式数据同步方法、装置、设备及可读存储介质 | |
CN111460285A (zh) | 信息处理方法、装置、电子设备和存储介质 | |
CN110162522A (zh) | 一种分布式数据搜索系统及方法 | |
JP2022031625A (ja) | 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
US20190266169A1 (en) | System and method for management of a database system | |
CN112800058A (zh) | 一种HBase二级索引的实现方法 | |
US20240037084A1 (en) | Method and apparatus for storing data | |
CN112328658B (zh) | 用户档案数据处理方法、装置、设备及存储介质 | |
CN111414487B (zh) | 事件主题的关联扩展方法、装置、设备及介质 | |
US11163801B2 (en) | Execution of queries in relational databases | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
CN111984797A (zh) | 客户身份识别装置及方法 | |
CN107644103B (zh) | 一种可追溯信息来源的信息存储的方法和系统 | |
US20210216598A1 (en) | Method and apparatus for mining tag, device, and storage medium | |
KR101656011B1 (ko) | 빅데이터 기반 고장 모니터링 시스템 및 방법 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN111782721A (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN111506787A (zh) | 网页更新的方法、装置、电子设备和计算机可读存储介质 | |
WO2021139183A1 (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 |