一种数据处理方法、装置、系统、电子设备及存储介质制造方法及图纸

技术编号:33648325 阅读:11 留言:0更新日期:2022-06-02 20:25
本公开提供了一种数据处理方法、装置、系统、电子设备及存储介质,涉及数据处理领域,尤其涉及大数据技术领域。具体实现方案为:接收RCMC接收模块发送的资源内容数据,资源内容数据的NID与RCMC处理模块具有映射关系;为接收到的资源内容数据的NID构造互斥锁,基于互斥锁将携带相同NID的资源内容数据依次写入数据库;每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中;基于本地队列中每条资源内容数据的NID的互斥锁,将本地队列中的资源内容数据推送至本地队列对应的第一消息中间件,以使得缓存服务从第一消息中间件中获取并缓存资源内容数据。可以避免缓存服务缓存错误版本的资源内容数据。缓存错误版本的资源内容数据。缓存错误版本的资源内容数据。

【技术实现步骤摘要】
一种数据处理方法、装置、系统、电子设备及存储介质


[0001]本公开涉及数据处理
,尤其涉及大数据


技术介绍

[0002]在分布式缓存系统中,当分布式缓存系统中的接收模块接收到更新后的资源内容数据时,可以将更新后的资源内容数据写入一个消息中间件。写入模块可以从该消息中间件中获取更新后的资源内容数据,将本次获取到的资源内容数据写入数据库,并将获取到的资源内容数据写入另一个消息中间件,以供缓存层获取更新后的资源内容数据。

技术实现思路

[0003]本公开提供了一种数据处理方法、装置、系统、电子设备及存储介质。
[0004]根据本公开的一方面,提供了一种数据处理方法,所述方法应用于资源内容管理中心RCMC处理模块,所述方法包括:
[0005]接收RCMC接收模块发送的资源内容数据,所述资源内容数据携带消息标识NID,所述资源内容数据的NID与所述RCMC处理模块具有映射关系;
[0006]为接收到的资源内容数据的NID构造互斥锁,基于互斥锁将携带相同NID的资源内容数据依次写入数据库;
[0007]每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中;
[0008]基于所述本地队列中每条资源内容数据的NID的互斥锁,将所述本地队列中的资源内容数据推送至所述本地队列对应的第一消息中间件,以使得缓存服务从所述第一消息中间件中获取并缓存资源内容数据。
[0009]根据本公开的第二方面,提供了一种数据处理装置,所述装置应用于资源内容管理中心RCMC处理模块,所述装置包括:
[0010]接收单元,用于接收RCMC接收模块发送的资源内容数据,所述资源内容数据携带消息标识NID,所述资源内容数据的NID与所述RCMC处理模块具有映射关系;
[0011]写入单元,用于为接收到的资源内容数据的NID构造互斥锁,基于互斥锁将携带相同NID的资源内容数据依次写入数据库;
[0012]添加单元,用于每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中;
[0013]推送单元,用于基于所述本地队列中每条资源内容数据的NID的互斥锁,将所述本地队列中的资源内容数据推送至所述本地队列对应的第一消息中间件,以使得缓存服务从所述第一消息中间件中获取并缓存资源内容数据。
[0014]根据本公开的第三方面,提供了一种数据处理系统,包括:多个RCMC接收模块、多个RCMC处理模块、数据库、第一消息中间件和缓存服务;
[0015]每个RCMC接收模块,用于向与资源内容数据的NID具有映射关系的RCMC处理模块发送资源内容数据;
[0016]每个RCMC处理模块,用于执行上述第一方面所述的方法步骤;
[0017]所述缓存服务,用于从所述第一消息中间件中获取并缓存资源内容数据。
[0018]根据本公开的第四方面,提供了一种电子设备,包括:
[0019]至少一个处理器;以及
[0020]与所述至少一个处理器通信连接的存储器;其中,
[0021]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
[0022]根据本公开的第五方面,提供了了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
[0023]根据本公开的第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述第一方面所述的方法。
[0024]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0025]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0026]图1为本公开实施例提供的一种写入模块的示意图;
[0027]图2为本公开实施例提供的一种数据处理方法的流程图;
[0028]图3为本公开实施例提供的RCMC处理模块向数据库写入数据的方法的示例性示意图;
[0029]图4为本公开实施例提供的RCMC接收模块向RCMC处理模块发送数据的方法的示例性示意图;
[0030]图5为本公开实施例提供的RCMC处理模块向第一消息中间件推送数据的方法的示例性示意图;
[0031]图6为本公开实施例提供的数据处理装置的结构示意图;
[0032]图7为本公开实施例提供的数据处理系统的框图;
[0033]图8是用来实现本公开实施例的数据处理方法的电子设备的框图。
具体实施方式
[0034]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0035]在相关技术中,写入模块从一个消息中间件中获取资源内容数据后,可将获取到的资源内容数据写入数据库,然后将已写入数据库的资源内容数据写入另一消息中间件,进而缓存服务从该消息中间件中获取并缓存资源内容数据。
[0036]由于资源内容数据不一定携带版本号,当同一资源的资源内容数据更新频率较高时,或者当写入模块出现机器抖动等故障时,会导致写入另一消息中间件的资源内容数据顺序与资源内容数据实际更新的顺序不一致,从而导致缓存服务缓存错误版本的资源内容
数据。
[0037]举例而言,如果同一资源的资源内容数据被频繁更新,假设该资源为一篇文章,该文章先被作者进行了一次修改,然后立刻被管理员屏蔽,那么写入模块可以获取到两条资源内容数据,第一条为作者对该文章的修改数据,第二条为该文章被管理员屏蔽的数据。
[0038]写入模块先将第一条数据写入数据库,然后将第二条数据写入数据库。由于第二条数据的数据量较小,可能会出现第二条数据先被处理完并先被推送至消息中间件,第一条数据后被处理完并后被推送至消息中间件,导致缓存服务先获取到第二条数据,然后获取到第一条数据,如此,缓存服务将缓存的第二条数据覆盖第一条数据,导致缓存服务缓存的数据版本与数据库中存储的数据版本不一致,缓存服务缓存的数据版本出现错误。进一步地,业务服务从缓存服务中获取到第二条数据后,将会根据第二条数据将文章展示为作者修改后的效果,导致该文章未被屏蔽,出现业务错误。
[0039]为了解决上述问题,本公开实施例提供了一种数据处理方法,该方法应用于资源内容管理中心(Resource Content Management Center,RCMC)处理模块,其中,该RCMC处理模块可以为数据处理系统中的任一RCMC处理模块。数据处理系统中包括多个RCMC接收模块、多个RCMC处理模块、数据库、第一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,所述方法应用于资源内容管理中心RCMC处理模块,所述方法包括:接收RCMC接收模块发送的资源内容数据,所述资源内容数据携带消息标识NID,所述资源内容数据的NID与所述RCMC处理模块具有映射关系;为接收到的资源内容数据的NID构造互斥锁,基于互斥锁将携带相同NID的资源内容数据依次写入数据库;每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中;基于所述本地队列中每条资源内容数据的NID的互斥锁,将所述本地队列中的资源内容数据推送至所述本地队列对应的第一消息中间件,以使得缓存服务从所述第一消息中间件中获取并缓存资源内容数据。2.根据权利要求1所述的方法,其中,基于所述本地队列中每条资源内容数据的NID的互斥锁,将所述本地队列中的资源内容数据推送至所述本地队列对应的第一消息中间件,包括:通过预设数量个线程获取所述本地队列预设窗口中的每条资源内容数据,其中,所述预设窗口中包括所述本地队列中前预设数量条资源内容数据;通过每个线程基于获取到的资源内容数据的NID的互斥锁,将获取到的资源内容数据推送至所述本地队列对应的第一消息中间件。3.根据权利要求1或2所述的方法,其中,每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中,包括:每完成对一条资源内容数据的写入,在该资源内容数据需要被写入缓存层的情况下,将该资源内容数据添加至与该资源内容数据所需被推送的第一消息中间件对应的本地队列中,其中,多个第一消息中间件与所述RCMC处理模块中的多个本地队列具有一一对应的关系。4.根据权利要求1所述的方法,其中,所述RCMC处理模块接收到的资源内容数据为:所述RCMC接收模块对获取到的资源内容数据的NID进行一致性哈希运算得到哈希值后,所确定出的与所述RCMC处理模块具有预设映射关系的哈希值对应的资源内容数据。5.根据权利要求4所述的方法,其中,所述RCMC接收模块获取到的资源内容数据来自于第二消息中间件,所述第二消息中间件用于缓存更新后的资源内容数据。6.一种数据处理装置,所述装置应用于资源内容管理中心RCMC处理模块,所述装置包括:接收单元,用于接收RCMC接收模块发送的资源内容数据,所述资源内容数据携带消息标识NID,所述资源内容数据的NID与所述RCMC处理模块具有映射关系;写入单元,用于为接收到的资源内容数据的NID构造互斥锁,基于互斥锁将携带相同NID的资源内容数据依次写入数据库;添加单元,用于每完成对一条资源内容数据的写入,将该资源内容数据添加至本地队列中;推送单元,用于基于所述本地队列中每条资源内容数据的NID的互斥锁,将所述本地队列中的资源内容数据推送至所述本地队列对应的第一消息中间件,以使得缓存服务从所述第一消息中间件中获取并缓存资源内容数据。...

【专利技术属性】
技术研发人员:任鸿翔朱超
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1