1 .一种数据同步过程中增量数据的解析方法,包括:
获取数据库日志;
将所述数据库日志划分为设定数量的数据块,在预设的全局登记区中按顺序定义所述
数据块的块号并将所述数据块定义为未读取状态;
利用多个读取线程按照所述块号分别读取所述数据块,每个所述读取线程将读取完成
的数据块放入各自的队列中。
2.根据权利要求1所述的数据同步过程中增量数据的解析方法,其中,
每个所述读取线程按照所述块号分别读取所述数据块的步骤包括:
在所述全局登记区查询顺序最靠前且为未读取状态的块号;
根据块号找到对应的数据块开始读取;
将读取完成的所述数据块放入自己对应的队列中。
3 .根据权利要求2所述的数据同步过程中增量数据的解析方法,其中,
根据块号找到对应的数据块开始读取的步骤之前包括;
在所述全局登记区将查询到的所述块号进行加锁,以防止其他读取线程对所述块号进
行查询。
4 .根据权利要求2所述的数据同步过程中增量数据的解析方法,其中,
将读取完成的数据块放入自己对应的队列中的步骤之后包括:
判断所述队列是否已满,若是,停止所述读取线程的读取工作,并进入等待阶段,若否,
返回执行在所述全局登记区查询顺序最靠前且为未读取状态的块号的步骤。
5 .根据权利要求4所述的数据同步过程中增量数据的解析方法,其中,
停止所述读取线程的读取工作,并进入等待阶段的步骤之后包括:
判断所述读取线程的等待时间是否超出阈值,若是,终止所述读取线程的读取工作,待
所述读取线程对应的队列存有的全部数据被解析完成后,将所述读取线程退出,若否,返回
执行判断队列是否已满的步骤。
6 .根据权利要求1所述的数据同步过程中增量数据的解析方法,其中,
在每个所述读取线程将读取完成的数据块放入各自的队列中的步骤之后,还包括:
在所述全局登记区中将已放入队列的所述数据块的状态信息更新为已读取状态,并将
所述数据块所在的队列号录入所述全局登记区;
利用解析线程从所述多个读取线程的队列的队首中挑选块号顺序最靠前的数据块进
行解析。
7 .根据权利要求6所述的数据同步过程中增量数据的解析方法,其中,
解析线程从所述多个读取线程的队列的队首中挑选块号顺序最靠前的数据块进行解
析的步骤包括:
在所述全局登记区查询顺序最靠前的且为已读取状态的块号;
按照查询到的所述块号到相应的队列号对应的队列中取出所述数据块并对所述数据
块进行解析;
在所述全局登记区将所述数据块的状态信息更新为已解析状态。
8.根据权利要求7所述的数据同步过程中增量数据的解析方法,其中,
按照查询到的块号到相应的队列号对应的队列中取出所述数据块并对所述数据块进
权 利 要 求 书
1/2 页
2
相关文档
评论