【技术实现步骤摘要】
基于多线程的数据同步方法、装置、设备和存储介质
本专利技术涉及数据处理
,尤其涉及一种基于多线程的数据同步方法、装置、设备和存储介质。
技术介绍
为了增加数据的读效率,一般会将数据库中的部分用户经常访问的数据放在缓存中。一般缓存的更新都是在数据库数据更新的同时进行。但是缓存的更新不及时造成的数据读取错误的问题也十分的严重。例如当一个商品a价格在数据库中已经由a1更新成a2,但是缓存中可能由于缓存的延迟没有及时同步更新。此时,用户在读取缓存中a中的数据时,获得a=a1,缓存中的数据延迟后,才被同步更新成a2,这就造成了部分用户不能及时获取到真实的数据,导致如价格计算错误等严重后果,影响用户体验。
技术实现思路
有鉴于此,有必要针对数据库与缓存数据更新不一致,存在较大的延时问题,提供一种基于多线程的数据同步方法、装置、设备和存储介质。一种基于多线程的数据同步方法,包括:批量创建多个队列,对每个所述队列开启一条独立的线程,用以执行对应所述队列中的操作任务;获取操作任务,所述操作任务中包含有数据名称,对所述数据名称通过哈希算法计算得到哈希值,将所述哈希值与预设的队列选择 ...
【技术保护点】
1.一种基于多线程的数据同步方法,其特征在于,包括:批量创建多个队列,对每个所述队列开启一条独立的线程,用以执行对应所述队列中的操作任务;获取操作任务,所述操作任务中包含有数据名称,对所述数据名称通过哈希算法计算得到哈希值,将所述哈希值与预设的队列选择规则进行比较,得到与所述哈希值对应的指定队列名称,将所述操作任务放入所述指定队列名称对应的队列中;启动多个线程,通过多个所述线程分别执行对应队列中的所述操作任务。
【技术特征摘要】
1.一种基于多线程的数据同步方法,其特征在于,包括:批量创建多个队列,对每个所述队列开启一条独立的线程,用以执行对应所述队列中的操作任务;获取操作任务,所述操作任务中包含有数据名称,对所述数据名称通过哈希算法计算得到哈希值,将所述哈希值与预设的队列选择规则进行比较,得到与所述哈希值对应的指定队列名称,将所述操作任务放入所述指定队列名称对应的队列中;启动多个线程,通过多个所述线程分别执行对应队列中的所述操作任务。2.根据权利要求1所述的基于多线程的数据同步方法,其特征在于,所述批量创建多个队列,对每个所述队列开启一条独立的线程,用以执行对应所述队列中的操作任务,包括:定义一个队列类,包括定义存放数据位置、头指针和尾指针;批量创建队列,定义每个所述队列的队列名称和队列长度,初始化每个所述队列,且将每个所述队列的头指针和尾指针都指向空;开启多个线程,对每个所述队列指定一条独立的线程,用以独立执行所述队列中的操作任务。3.根据权利要求1所述的基于多线程的数据同步方法,其特征在于,所述对所述数据名称通过哈希算法计算得到哈希值,包括:将所述数据名称转换成位字符串;对所述位字符串进行补位,以使所述位字符串的长度在对512取模后余数为448;对补位后的所述位字符串进行补长度,将补好长度的所述位字符串分成至少一个512位的数据块;将多个所述数据块定义为M1,M2,M3……Mn,对第Mi个所述数据块计算消息摘要:将Mi分成16个字W0,W1,W1……W15;当t=16到79时,令Wt=S1(Wt-3XORWt-8XORWt-14XORWt-16),其中,Sn(X)表示循环左移操作符,X为一个字,n为整数,0≤n≤32,t为循环次数;令A=H0,B=H1,C=H2,D=H3,E=H4,其中H0到H4为5个32位寄存器,初始化为:H0=0x67452301,H1=0xEFCDAB89,H2=0x98BADCFE,H3=0x10325476,H4=0xC3D2E1F0;当t=0到79时,执行如下循环:TEMP=S5(A)+ft(B,C,D)+E+Wt+Kt;E=D,D=C,C=S30(B),B=A,A=TEMP;其中,TEMP为缓冲区;当0≤t≤19时:Kt=0x5A827999,ft(B,C,D)=(BANDC)OR((NOTB)ANDD);当20≤t≤39时:Kt=0x6ED9EBA1,ft(B,C,D)=(BXORCXORD);当40≤t≤59时:Kt=0x8F1BBCDC,ft(B,C,D)=(BANDC)OR(BANDD)OR(CANDD);当60≤t≤79时:Kt=0xCA62C1D6,ft(B,C,D)=(BXORCXORD);令H0=H0+A,H1=H1+B,H2=H2+C,H3=H3+D,H4=H4+E,依次对Mn个所述数据块计算消息摘要,得到顺序标识为H0、H1、H2、H3、H4的字符串,所述字符串即为计算得到的所述哈希值。4.根据权利要求3所述的基于多线程的数据同步方法,其特征在于,所述对补位后的所述位字符串进行补长度...
【专利技术属性】
技术研发人员:杨小彦,
申请(专利权)人:平安普惠企业管理有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。