System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于分布式消息队列的数据处理方法和系统技术方案_技高网

基于分布式消息队列的数据处理方法和系统技术方案

技术编号:41911429 阅读:4 留言:0更新日期:2024-07-05 14:14
本申请的实施例提供了基于分布式消息队列的数据处理方法和系统,方法包括:响应于接收到业务系统发送的数据请求,生产端的序列化器从数据请求中抽取与当前消费端对应的数据模式;生产端的序列化器将数据模式向模式管理系统进行注册,根据数据模式对应答数据进行模式处理,生成模式应答数据,并将数据模式ID和模式应答数据添加到消息中间件;当前消费端从消息中间件获取数据模式ID和模式应答数据,当前消费端的反序列化器提取数据模式ID,通过模式管理系统查询数据模式ID对应的数据模式,根据数据模式对模式应答数据进行反序列化;将反序列化后的模式应答数据进行消费。以此方式,能够支持动态配置、自动感知、无侵入和动态权限配置。

【技术实现步骤摘要】

本申请的实施例涉及数据处理领域,尤其涉及基于分布式消息队列的数据处理方法、系统、设备和计算机可读存储介质。


技术介绍

1、随着分布式系统的发展,消息中间件的地位也在逐步上升。由于消息中间件对主题的内容结构没有严格的限制,交由用户自行定义,可以是结构化(二维表、数据库表)、半结构化(json、xml)、非结构化(二进制)的。虽然提供了灵活性,但同时也带来一些问题。第一,由于没有严格的结构定义,消费端在处理数据的时候不知道数据的结构,无法处理;第二,由于没有数据的元数据信息,消息中间件的数据权限控制只做到了主题(topic、subject)这一级别的,没有做更细粒度的控制。对于非结构化的数据,权限控制到主题级别完全够用。但实际使用中更多的还是结构化、半结构化的业务数据,这类数据的权限控制到主题级别,粒度态粗,不能满足的需求,需要一种细粒度权限控制来解决用户的痛点。

2、针对第一个问题,目前市场上行之有效的方法是:1.提前人为约定数据结构 2.写入数据的时候附上元数据。

3、针对第二个问题,目前市面上一种常用的方法是:按字段拆分数据写到不同的主题,然后为不同的主题配置不同的用户权限,从而实现不同的用户访问不同字段的数据,进而完成消息的细粒度的数据权限控制。


技术实现思路

1、根据本申请的实施例,提供了一种基于分布式消息队列的数据处理方案,能够实现针对发布的同一份消息主题,多个不同的订阅者只订阅主题中的部分数据,支持动态配置、自动感知、无侵入和动态权限配置。

2、在本申请的第一方面,提供了一种基于分布式消息队列的数据处理方法,包括:

3、响应于接收到业务系统发送的数据请求,生产端的序列化器从所述数据请求中抽取与所述当前消费端对应的数据模式;

4、生产端的序列化器将所述数据模式向模式管理系统进行注册,根据所述数据模式对应答数据进行模式处理,生成模式应答数据,并将数据模式id和模式应答数据添加到消息中间件;

5、当前消费端从消息中间件获取数据模式id和模式应答数据,当前消费端的反序列化器提取数据模式id,通过模式管理系统查询所述数据模式id对应的数据模式,根据数据模式对所述模式应答数据进行反序列化;将反序列化后的模式应答数据进行消费。

6、在一些实施例中,所述数据模式包括数据的类型和字段;

7、其中,所述类型包括:

8、schemadesc、schema和field;

9、所述字段包括:

10、唯一标识、主题、版本、模式类型和模式。

11、在一些实施例中,所述通过模式管理系统查询所述数据模式id对应的数据模式,包括:

12、通过模式管理系统查询所述数据模式id对应的数据模式和当前消费端的字段权限。

13、在一些实施例中,还包括:

14、根据数据模式中的类型和字段,确定所述当前消费端的权限等级。

15、在一些实施例中,还包括:

16、根据数据模式对消费端的权限进行预先设定:

17、消费端在的反序列化器在通过模式管理系统查询数据模式id对应的数据模式后,根据数据模式中的类型和字段,确定所述当前消费端的权限等级。

18、在一些实施例中,所述根据数据模式对所述模式应答数据进行反序列化,包括:

19、根据数据模式对所述模式应答数据进行反序列化,并根据当前消费端的权限等级,对所述模式应答数据进行对应的字段裁剪、字段脱敏和/或字段加密。

20、在一些实施例中,所述数据请求包括消费端的权限等级,所述权限等级是预先在模式管理系统配置的。

21、在本申请的第二方面,提供了一种基于分布式消息队列的数据处理系统,包括:

22、生产端和消费端,设置在生产端的序列化器和设置在消费端的反序列化器,以及模式管理系统;其中,

23、生产端用于接收业务系统发送的数据请求;

24、序列化器用于从所述数据请求中抽取与所述当前消费端对应的数据模式;将所述数据模式向模式管理系统进行注册,根据所述数据模式对应答数据进行模式处理,生成模式应答数据,并将数据模式id和模式应答数据添加到消息中间件;

25、消费端用于从消息中间件获取数据模式id和模式应答数据;将反序列化后的模式应答数据进行消费;

26、反序列化器用于提取数据模式id,通过模式管理系统查询所述数据模式id对应的数据模式,根据数据模式对所述模式应答数据进行反序列化。

27、在本申请的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

28、在本申请的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本申请的第一方面的方法。

29、本申请实施例提供的基于分布式消息队列的数据处理方法,通过接收消费端发送的数据请求;解析所述数据请求,提取所述数据请求中的数据模式;根据所述数据模式,确定所述消费端的权限等级和所述消费端请求的数据信息;根据所述数据信息,从数据库中获取对应的目标数据;根据所述权限等级,对所述目标数据进行处理;将处理后的目标数据发送至所述消费端,能够实现针对发布的同一份消息主题,多个不同的订阅者只订阅主题中的部分数据,支持动态配置、自动感知、无侵入和动态权限配置。

30、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。

本文档来自技高网
...

【技术保护点】

1.一种基于分布式消息队列的数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述数据模式包括数据的类型和字段;

3.根据权利要求2所述的方法,其特征在于,所述通过模式管理系统查询所述数据模式ID对应的数据模式,包括:

4.根据权利要求2所述的方法,其特征在于,还包括:

5.根据权利要求2所述的方法,其特征在于,还包括:

6.发送数据请求时,将消费端的权限写入数据模式中的权限字段。

7.根据权利要求5所述的方法,其特征在于,所述根据数据模式对所述模式应答数据进行反序列化,包括:

8.根据权利要求1所述的方法,其特征在于,所述数据请求包括消费端的权限等级,所述权限等级是预先在模式管理系统配置的。

9.一种基于分布式消息队列的数据处理系统,其特征在于,包括:

10.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~7中任一项所述的方法。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~7中任一项所述的方法。

...

【技术特征摘要】

1.一种基于分布式消息队列的数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述数据模式包括数据的类型和字段;

3.根据权利要求2所述的方法,其特征在于,所述通过模式管理系统查询所述数据模式id对应的数据模式,包括:

4.根据权利要求2所述的方法,其特征在于,还包括:

5.根据权利要求2所述的方法,其特征在于,还包括:

6.发送数据请求时,将消费端的权限写入数据模式中的权限字段。

7.根据权利要求5所述的方法,其特征在于,所述根据数据模式对所述...

【专利技术属性】
技术研发人员:田越孙彦辉汪跃辉申忠玲张英杰樊树荣
申请(专利权)人:北京友友天宇系统技术有限公司
类型:发明
国别省市:

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

1