业务消息的处理方法和装置、存储介质及电子装置制造方法及图纸

技术编号:34475327 阅读:10 留言:0更新日期:2022-08-10 08:50
本申请公开了一种业务消息的处理方法和装置、存储介质及电子装置,涉及智能家居/智慧家庭技术领域,该方法包括:从消息中间件获取第一设备生产的一组第一增量消息,每个第一增量消息携带有用于标识每个第一增量消息生产顺序的消息标识;当第一消息标识和一组第一增量消息的消息标识不连续时,从目标数据库中拉取与目标业务对应的第一待同步数据,第一消息标识为第二设备上当前已同步的、目标业务的增量消息的消息标识,目标数据库中存储有与目标业务对应的第一全量数据,第一待同步数据用于将第二设备上与目标业务对应的业务数据同步为第一全量数据;使用第一待同步数据将第二设备上与目标业务对应的业务数据同步为第一全量数据。量数据。量数据。

【技术实现步骤摘要】
业务消息的处理方法和装置、存储介质及电子装置


[0001]本申请涉及计算机领域,具体而言,涉及一种业务消息的处理方法和装置、存储介质及电子装置。

技术介绍

[0002]消息中间件是在分布式系统中完成消息的发送和接收的软件,其广泛应用于系统解耦、异步消息、消息同步等场景。在一些业务场景中,通过消息中间件存储的可以是通过增量消息所发送的消息的增量数据。为了保障业务能够进行,需要保障消息中间件发送的增量数据的可靠性。
[0003]在进行增量消息处理时,为了保证消息处理(比如,对于消息查询请求的处理)的可靠性,可以在使用消息中间件的同时,采用定时缓存失效策略:通过为消息中间件缓存的增量数据设置过期时间,并在确定缓存的增量数据过期之后,通过调用实时接口从保存有消息的全量数据的数据库中获取消息的增量数据并更新缓存的内容,可以避免由于缓存的增量数据丢失导致业务无法准确执行。
[0004]然而,频繁调用实时接口会导致实时接口压力增大,接口响应时间变长,而不停更新过期时间,有可能会导致消息处理的延迟。由此可见,相关技术中使用消息中间件处理消息的方式,存在由于需要频繁调用实时接口导致的消息处理的响应速度慢的问题。

技术实现思路

[0005]本申请实施例提供了一种业务消息的处理方法和装置、存储介质及电子装置,以至少解决相关技术中使用消息中间件处理消息的方式存在由于需要频繁调用实时接口导致的消息处理的响应速度慢的技术问题。
[0006]根据本申请实施例的一个方面,提供了一种业务消息的处理方法,包括:从消息中间件获取第一设备生产的一组第一增量消息,其中,所述一组第一增量消息中的每个第一增量消息包含与目标业务对应的增量数据,所述每个第一增量消息携带有用于标识所述每个第一增量消息的生产顺序的消息标识;在第一消息标识和所述一组第一增量消息的消息标识不连续的情况下,从目标数据库中拉取与所述目标业务对应的第一待同步数据,其中,所述第一消息标识为第二设备上当前已同步的、所述目标业务的增量消息的消息标识,所述目标数据库中存储有与所述目标业务对应的第一全量数据,所述第一待同步数据用于将所述第二设备上与目标业务对应的业务数据同步为所述第一全量数据;使用所述第一待同步数据将所述第二设备上与所述目标业务对应的业务数据同步为所述第一全量数据。
[0007]根据本申请实施例的另一个方面,还提供了一种业务消息的处理装置,包括:第一获取单元,用于从消息中间件获取第一设备生产的一组第一增量消息,其中,所述一组第一增量消息中的每个第一增量消息包含与目标业务对应的增量数据,所述每个第一增量消息携带有用于标识所述每个第一增量消息的生产顺序的消息标识;第一拉取单元,用于在第一消息标识和所述一组第一增量消息的消息标识不连续的情况下,从目标数据库中拉取与
所述目标业务对应的第一待同步数据,其中,所述第一消息标识为第二设备上当前已同步的、所述目标业务的增量消息的消息标识,所述目标数据库中存储有与所述目标业务对应的第一全量数据,所述第一待同步数据用于将所述第二设备上与目标业务对应的业务数据同步为所述第一全量数据;第一同步单元,用于使用所述第一待同步数据将所述第二设备上与所述目标业务对应的业务数据同步为所述第一全量数据。
[0008]在一个示例性实施例中,所述装置还包括:发送单元,用于在所述从消息中间件获取第一设备生产的一组第一增量消息之前,响应于所述目标业务的业务处理指令,向所述消息中间件发送第一查询请求,其中,所述第一查询请求用于请求查询所述第一设备生产的、与所述目标业务对应的增量消息,所述一组第一增量消息是所述消息中间件响应于所述第一查询请求返回的增量消息。
[0009]在一个示例性实施例中,所述发送单元包括:获取模块,用于响应于所述目标业务的业务处理指令,获取所述第一消息标识,其中,所述第一消息标识为所述第二设备上已同步的、与所述目标业务对应的增量消息的消息标识中的最大消息标识;第一发送模块,用于向所述消息中间件发送所述第一查询请求,其中,所述第一查询请求携带有所述第一设备的设备标识和所述第一消息标识,所述第一查询请求用于请求查询所述第一设备生产的、与所述目标业务对应的增量消息中,消息标识大于所述第一消息标识的增量消息。
[0010]在一个示例性实施例中,所述装置还包括:第一确定单元,用于在所述从消息中间件获取第一设备生产的一组第一增量消息之后,确定所述一组第一增量消息的消息标识中大于所述第一消息标识的消息标识,得到一组消息标识,其中,所述第一消息标识为所述第二设备上已同步的增量消息中的最大消息标识;第二确定单元,用于在所述第一消息标识和所述一组消息标识不满足预设连续条件的情况下,确定所述第一消息标识和所述一组第一增量消息的消息标识不连续;第三确定单元,用于在所述第一消息标识和所述一组消息标识满足预设连续条件的情况下,确定所述第一消息标识和所述一组第一增量消息的消息标识连续;其中,所述预设连续条件为所述一组消息标识中的消息标识依次连续、且所述一组消息标识中的最小消息标识与所述第一消息标识连续。
[0011]在一个示例性实施例中,所述第一拉取单元包括:第二发送模块,用于向所述目标数据库发送业务数据请求,其中,所述业务数据请求用于请求所述第一设备生产的、与所述目标业务对应的全量数据;第一接收模块,用于接收所述目标数据库响应于所述业务数据请求返回的所述第一全量数据,其中,所述第一待同步数据为所述第一全量数据;或者,第一确定模块,用于确定所述一组第一增量消息的消息标识中大于所述第一消息标识的消息标识,得到一组消息标识,其中,所述第一消息标识为所述第二设备上已同步的增量消息中的最大消息标识;第二确定模块,用于确定所述一组消息标识和所述第一消息标识中缺失的消息标识,得到一组缺失消息标识;第三发送模块,用于向所述目标数据库发送的增量消息请求,其中,所述增量消息请求用于请求所述第一设备生产的、消息标识为所述一组缺失消息标识中的缺失消息标识的增量消息;第二接收模块,用于接收所述目标数据库响应于所述增量消息请求返回的一组缺失增量消息,其中,所述一组缺失增量消息与所述一组缺失消息标识一一对应,所述第一待同步数据为所述一组缺失增量消息中包含的、与所述目标业务对应的增量数据。
[0012]在一个示例性实施例中,所述装置还包括:第二同步单元,用于在所述从消息中间
件获取第一设备生产的一组第一增量消息之后,在所述第一消息标识和所述一组第一增量消息的消息标识连续的情况下,使用所述每个第一增量消息中包含的、与所述目标业务对应的增量数据,对所述第二设备上与所述目标业务对应的业务数据进行同步,得到与所述目标业务对应的已同步业务消息。
[0013]在一个示例性实施例中,所述装置还包括:第二获取单元,用于在从消息中间件获取第一设备生产的一组第一增量消息之后,在目标核查时间到达的情况下,从所述消息中间件获取所述第一设备生产的一组第二增量消息,其中,所述一组第二增量消息中的每个第二增量消息包含与所述目标业务对应的增量数据,所述每个第二增量消息携带有用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务消息的处理方法,其特征在于,包括:从消息中间件获取第一设备生产的一组第一增量消息,其中,所述一组第一增量消息中的每个第一增量消息包含与目标业务对应的增量数据,所述每个第一增量消息携带有用于标识所述每个第一增量消息的生产顺序的消息标识;在第一消息标识和所述一组第一增量消息的消息标识不连续的情况下,从目标数据库中拉取与所述目标业务对应的第一待同步数据,其中,所述第一消息标识为第二设备上当前已同步的、所述目标业务的增量消息的消息标识,所述目标数据库中存储有与所述目标业务对应的第一全量数据,所述第一待同步数据用于将所述第二设备上与目标业务对应的业务数据同步为所述第一全量数据;使用所述第一待同步数据将所述第二设备上与所述目标业务对应的业务数据同步为所述第一全量数据。2.根据权利要求1所述的方法,其特征在于,在所述从消息中间件获取第一设备生产的一组第一增量消息之前,所述方法还包括:响应于所述目标业务的业务处理指令,向所述消息中间件发送第一查询请求,其中,所述第一查询请求用于请求查询所述第一设备生产的、与所述目标业务对应的增量消息,所述一组第一增量消息是所述消息中间件响应于所述第一查询请求返回的增量消息。3.根据权利要求2所述的方法,其特征在于,所述响应于所述目标业务的业务处理指令,向所述消息中间件发送第一查询请求,包括:响应于所述目标业务的业务处理指令,获取所述第一消息标识,其中,所述第一消息标识为所述第二设备上已同步的、与所述目标业务对应的增量消息的消息标识中的最大消息标识;向所述消息中间件发送所述第一查询请求,其中,所述第一查询请求携带有所述第一设备的设备标识和所述第一消息标识,所述第一查询请求用于请求查询所述第一设备生产的、与所述目标业务对应的增量消息中,消息标识大于所述第一消息标识的增量消息。4.根据权利要求1所述的方法,其特征在于,在所述从消息中间件获取第一设备生产的一组第一增量消息之后,所述方法还包括:确定所述一组第一增量消息的消息标识中大于所述第一消息标识的消息标识,得到一组消息标识,其中,所述第一消息标识为所述第二设备上已同步的增量消息中的最大消息标识;在所述第一消息标识和所述一组消息标识不满足预设连续条件的情况下,确定所述第一消息标识和所述一组第一增量消息的消息标识不连续;在所述第一消息标识和所述一组消息标识满足预设连续条件的情况下,确定所述第一消息标识和所述一组第一增量消息的消息标识连续;其中,所述预设连续条件为所述一组消息标识中的消息标识依次连续、且所述一组消息标识中的最小消息标识与所述第一消息标识连续。5.根据权利要求1所述的方法,其特征在于,所述从目标数据库中拉取与所述目标业务对应的第一待同步数据,包括:向所述目标数据库发送业务数据请求,其中,所述业务数据请求用于请求所述第一设备生产的、与所述目标业务对应的全量数据;接收所述目标数据库响应于所述业务数据请
求返回的所述第一全量数据,其中,所述第一待同步数据为所述第一全量数据;或者,确定所述一组第一增量消息的消息标识中大于所述第一消息标识的消息标识,得到一组消息标识,其中,所述第一消息标识为所述第二设备上已同步的...

【专利技术属性】
技术研发人员:李凯凯
申请(专利权)人:海尔智家股份有限公司
类型:发明
国别省市:

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

1