一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于消息队列的数据共享方法、装置及系统与流程

2022-12-19 23:09:35 来源:中国专利 TAG:


1.本技术涉及大数据技术领域,尤其涉及数据传输领域中的数据共享。本技术提出一种基于消息队列的数据共享方法、装置及系统。


背景技术:

2.消息队列(messges queue,mq)是在消息的传输过程中保存消息的容器。消息队列本质上是一个队列,而队列中存放的是一个个消息。消息(message)是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以较为复杂,例如可能嵌入复杂的对象结构。消息的发送方称为消息生产者(producer),消息的接收方称为消息消费者(consumer)。
3.消息队列中的数据经常需要被消息消费者消费,相关技术中,一方面,消息队列直接暴露给消息消费者,消息队列存在安全性问题,另一方面,一般情形下消息队列中的数据需要经过一定处理才具有意义,这些处理过程需要消息消费者自行开发,对消息消费者不友好。


技术实现要素:

4.本技术旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本技术的第一个目的在于提出一种基于消息队列的数据共享方法,以实现响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,有效避免将消息队列直接暴露给消息消费者,保证消息队列的安全性。同时,基于目标任务中包括的针对目标消息队列中存储数据的处理规则对获取的目标资源数据进行处理,可使得消息消费者无需自行开发处理过程。
6.本技术的第二个目的在于提出一种基于消息队列的数据共享装置。
7.本技术的第三个目的在于提出一种基于消息队列的数据共享系统。
8.本技术的第四个目的在于提出一种服务器。
9.本技术的第五个目的在于提出一种服务器。
10.本技术的第六个目的在于提出一种非瞬时计算机可读存储介质。
11.为达上述目的,本技术第一方面实施例提出了一种基于消息队列的数据共享方法,所述方法包括:
12.响应于针对目标任务的执行请求,根据所述目标任务包含的资源标识,从目标消息队列获取目标资源数据;所述目标任务还包括针对所述目标消息队列中存储数据的处理规则与针对处理结果的通知模式;
13.针对所述处理规则对获取的目标资源数据进行处理,得到处理结果;
14.根据所述通知模式,共享所述处理结果。
15.可选地,作为第一方面的第一种可能的实现方式,所述根据所述目标任务包含的资源标识,从目标消息队列获取目标资源数据,包括:
16.根据所述资源标识,获取目标资源数据信息,以根据所述目标资源数据信息中的数据连接信息,与存储了目标资源数据的目标消息队列建立连接;
17.通过建立的所述连接,获取所述目标资源数据。
18.可选地,作为第一方面的第二种可能的实现方式,所述处理规则包括比对规则,以及比对结果中保留的保留字段;所述针对所述处理规则对获取的目标资源数据进行处理,得到处理结果,包括:
19.从所述目标资源数据中筛选出符合所述比对规则的资源数据;
20.将符合所述比对规则的资源数据中与所述保留字段对应的数据确定为所述处理结果。
21.可选地,作为第一方面的第三种可能的实现方式,所述通知模式包括实时共享模式,周期共享模式,交互共享模式;所述根据所述通知模式,共享所述处理结果,包括:
22.响应于所述通知模式为实时共享模式,实时通过共享连接共享所述处理结果;所述共享连接包括websocket连接;
23.响应于所述通知模式为周期共享模式,根据预设周期内是否存在所述处理结果,确定对应的通知内容,并通过所述共享连接周期性共享所述通知内容;
24.响应于所述通知模式为交互共享模式,通过所述共享连接共享所述处理结果之后,接收通过所述共享连接发送的新的操作命令并做出相应的处理;所述新的操作命令包括但不限于:重设消费偏移量和查看消费详情。
25.可选地,作为第一方面的第四种可能的实现方式,所述响应于所述通知模式为周期共享模式,根据预设周期内是否存在所述处理结果,确定对应的通知内容,并通过所述共享连接周期性共享所述通知内容之后,还包括:
26.响应于预设周期内存在所述处理结果,接收针对所述处理结果的获取请求,共享所述处理结果。
27.可选地,作为第一方面的第五种可能的实现方式,所述针对所述处理规则对获取的目标资源数据进行处理,得到处理结果,包括:
28.根据所述目标任务包含的列信息,对所述目标资源数据进行转换,得到包含所述列信息的目标资源数据;
29.针对所述处理规则对包含所述列信息的目标资源数据进行处理,得到处理结果。
30.可选地,作为第一方面的第六种可能的实现方式,在执行所述目标任务之前,所述方法还包括:
31.接收基于任务接口发起的针对所述目标任务的创建请求,创建所述目标任务;所述目标任务中包含与所述任务接口对应的条件信息;所述条件信息包括但不限于:资源标识、比对规则、保留字段和通知模式。
32.可选地,作为第一方面的第七种可能的实现方式,所述任务接口为采用类类结构化查询语言sql写法创建的;所述任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口。
33.为达上述目的,本技术第二方面实施例提出了一种基于消息队列的数据共享装置,所述装置包括:
34.获取模块,用于响应于针对目标任务的执行请求,根据所述目标任务包含的资源
标识,从目标消息队列获取目标资源数据;所述目标任务还包括针对所述目标消息队列中存储数据的处理规则与针对处理结果的通知模式;
35.第一处理模块,用于针对所述处理规则对获取的目标资源数据进行处理,得到处理结果;
36.共享模块,用于根据所述通知模式,共享所述处理结果。
37.可选地,作为第二方面的第一种可能的实现方式,所述获取模块,还用于:
38.根据所述资源标识,获取目标资源数据信息,以根据所述目标资源数据信息中的数据连接信息,与存储了目标资源数据的目标消息队列建立连接;
39.通过建立的所述连接,获取所述目标资源数据。
40.可选地,作为第二方面的第二种可能的实现方式,所述处理规则包括比对规则,以及比对结果中保留的保留字段;所述第一处理模块,还用于:
41.从所述目标资源数据中筛选出符合所述比对规则的资源数据;
42.将符合所述比对规则的资源数据中与所述保留字段对应的数据确定为所述处理结果。
43.可选地,作为第二方面的第三种可能的实现方式,所述通知模式包括实时共享、周期共享、交互共享,所述共享模块,包括:
44.第一共享单元,用于响应于所述通知模式为实时共享模式,实时通过共享连接共享所述处理结果;所述共享连接包括websocket连接;
45.第二共享单元,用于响应于所述通知模式为周期共享模式,根据预设周期内是否存在所述处理结果,确定对应的通知内容,并通过所述共享连接周期性共享所述通知内容;
46.交互单元,用于响应于所述通知模式为交互共享模式,通过所述共享连接共享所述处理结果之后,接收通过所述共享连接发送的新的操作命令并做出相应的处理;所述新的操作命令包括但不限于:重设消费偏移量和查看消费详情。
47.可选地,作为第二方面的第四种可能的实现方式,所述装置,还包括:
48.第二处理模块,用于响应于预设周期内存在所述处理结果,接收针对所述处理结果的获取请求,共享所述处理结果。
49.可选地,作为第一方面的第五种可能的实现方式,所述第一处理模块,还用于:
50.根据所述目标任务包含的列信息,对所述目标资源数据进行转换,得到包含所述列信息的目标资源数据;
51.针对所述处理规则对包含所述列信息的目标资源数据进行处理,得到处理结果。
52.可选地,作为第二方面的第六种可能的实现方式,所述装置还包括:
53.第三处理模块,用于接收基于任务接口发起的针对所述目标任务的创建请求,创建所述目标任务;所述创建请求中包括与所述任务接口对应的条件信息;所述条件信息包括但不限于:资源标识、比对规则、保留字段和通知模式。
54.可选地,作为第二方面的第七种可能的实现方式,所述任务接口为采用类sql写法创建的;所述任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口。
55.为达上述目的,本技术第三方面实施例提出了一种基于消息队列的数据共享系统,所述基于消息队列的数据共享系统包括配置管理模块、任务管理模块及任务处理模块:
56.配置管理模块,用于维护资源数据信息,所述资源数据信息用于描述资源数据的基本信息,包括数据连接信息、资源信息和列信息;
57.任务管理模块,用于提供任务接口,所述任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口;
58.任务处理模块,用于执行第一方面所述的基于消息队列的数据共享方法。
59.为达上述目的,本技术第四方面实施例提出了一种服务器,包括:
60.至少一个处理器;以及
61.与所述至少一个处理器通信连接的存储器;其中,
62.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的基于消息队列的数据共享方法。
63.为达上述目的,本技术第五方面实施例提出了一种服务器,包括:
64.至少一个处理器;以及
65.与所述至少一个处理器通信连接的存储器;其中,
66.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够运行数据共享系统;
67.其中,所述数据共享系统包括配置管理模块、任务管理模块及任务处理模块;所述配置管理模块用于维护资源数据信息,所述资源数据信息用于描述资源数据的基本信息,包括数据连接信息、资源信息和列信息;所述任务管理模块用于向任务下发方提供任务接口,所述任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口;所述任务处理模块用于执行第一方面所述的基于消息队列的数据共享方法。
68.为达上述目的,本技术第六方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的基于消息队列的数据共享方法。
69.本技术实施例所提供的技术方案包含如下的有益效果:
70.通过响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式,从而针对处理规则对获取的目标资源数据进行处理,得到处理结果,进而根据通知模式,共享处理结果。由此,可实现响应于针对目标任务的执行请求,基于目标任务中包括的针对目标消息队列中存储数据的处理规则对获取的目标资源数据进行处理,使得消息消费者无需自行开发处理过程,同时,有效避免将消息队列直接暴露给消息消费者,保证消息队列的安全性。
71.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
72.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
73.图1为本技术实施例所提供的一种基于消息队列的数据共享方法的流程示意图;
74.图2为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图;
75.图3为本技术实施例所提供的一种场景下目标资源数据信息的示意图;
76.图4为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图;
77.图5为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图;
78.图6为本技术实施例所提供的一种场景下基于消息队列的数据共享方法的流程示意图;
79.图7为本技术实施例所提供的一种场景下基于消息队列的数据共享系统的模块示意图;
80.图8为本技术实施例所提供的一种基于消息队列的数据共享装置的结构示意图;
81.图9为本技术实施例所提供的另一种基于消息队列的数据共享装置的结构示意图;
82.图10为本技术实施例所提供的另一种基于消息队列的数据共享装置的结构示意图;以及
83.图11为本技术实施例提供的一个电子设备的结构示意图。
具体实施方式
84.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
85.消息队列中的数据经常需要被消息消费者消费,相关技术中,一方面,消息队列直接暴露给消息消费者,消息队列存在安全性问题,另一方面,一般情形下消息队列中的数据需要经过一定处理才具有意义,这些处理过程需要消息消费者自行开发,对消息消费者不友好。
86.针对上述问题,本技术实施例提供了一种基于消息队列的数据共享方法,以实现响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,有效避免将消息队列直接暴露给消息消费者,保证消息队列的安全性。同时,基于目标任务中包括的针对目标消息队列中存储数据的处理规则对获取的目标资源数据进行处理,可使得消息消费者无需自行开发处理过程。
87.在具体描述本技术实施例之前,为了便于理解,首先对常用技术词进行介绍:
88.消息,是指在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以较为复杂,例如可以嵌入复杂的对象结构。
89.消息队列,是指在消息的传输过程中保存消息的容器。当消息的接收者不可用时,消息队列会保留消息直至可以成功传递至接收者。在目前的生产环境中,使用较多的消息队列有kafka、activemq、rocketmq等。
90.topic(消息主题),是消息队列的一个概念,对应为消息队列中消息的分类。
91.websocket,是一种在单个tcp(transmission control protocol,传输控制协议)连接上进行全双工通讯的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在websocket api(application programming interface,应用程序编程接口)中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
92.下面参考附图描述本技术实施例的基于消息队列的数据共享方法、装置及系统。
93.图1为本技术实施例所提供的一种基于消息队列的数据共享方法的流程示意图。
94.如图1所示,该基于消息队列的数据共享方法包括以下步骤:
95.步骤101,响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式。
96.需要说明的是,本技术实施例的基于消息队列的数据共享方法可以由本技术实施例提供的基于消息队列的数据共享装置执行。该基于消息队列的数据推送装置可以为服务器,以执行数据共享功能,或者,该基于消息队列的数据推送装置可以配置在服务器中,以使该服务器能够执行数据共享功能。
97.在本实施例中,可以响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据。其中,资源标识用于标识资源数据。需要说明的是,目标任务中除了包括资源标识,还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式。
98.需要说明的是,在执行目标任务之前,需要先创建目标任务。可选地,可以响应于针对目标任务的创建请求,创建该目标任务。其中,目标任务的创建请求可以由任务下发方基于任务接口发起。其中,任务下发方可以理解为任意一基于任务接口发起任务请求的客户端。可选地,任务接口可以包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口,任务请求可以包括任务的创建请求、任务的取消请求、任务的查询请求、针对处理结果的获取请求和针对共享连接的建立请求。其中,任务接口可以是采用类sql(structured query language,结构化查询语言)写法创建的。
99.需要说明的是,任务下发方基于任务接口发起的任务请求与任务接口相对应,即任务下发方可以基于创建任务接口发起任务的创建请求;基于取消任务接口发起任务的取消请求;基于查询任务状态接口发起任务的查询请求;基于获取任务数据接口发起针对处理结果的获取请求;基于数据变化通知接口发起针对共享连接的建立请求。
100.可以理解的是,资源数据可以用于资源标识进行唯一性标识,从而可以基于根据目标任务包含的资源标识,从目标消息队列获取目标资源数据。
101.步骤102,针对处理规则对获取的目标资源数据进行处理,得到处理结果。
102.在本实施例中,由于目标任务中包括针对目标消息队列中存储数据的处理规则,从而可以根据该处理规则,对获取的目标资源数据进行处理,以得到处理结果。可选地,处理规则可以用于对获取的目标资源数据进行过滤处理,也可以用于对获取的目标资源数据进行分类处理,还可以用于对获取的目标资源数据进行格式转换处理,等等,本实施例中对此不作限制。
103.在本实施例的一种可能的实现方式中,响应于处理规则用于对获取的目标资源数
据进行过滤处理,处理规则可以为过滤规则,从而可以基于处理规则,从获取的目标资源数据过滤得到符合过滤规则的资源数据,并将符合过滤规则的资源数据作为处理结果。类似地,响应于处理规则用于对获取的目标资源数据进行分类处理,处理规则可以为分类规则,从而可以基于处理规则,对获取的目标资源数据进行分类,以得到分类后的资源数据,并将分类后的资源数据作为处理结果。以及,响应于处理规则用于对获取的目标资源数据进行格式转换处理,处理规则可以为格式转换规则,从而可以基于处理规则,将获取的目标资源数据的数据格式进行转换,以得到格式转换后的资源数据,并将格式转换后的资源数据作为处理结果。
104.步骤103,根据通知模式,共享处理结果。
105.在本实施例中,由于目标任务中包括针对处理结果的通知模式,从而可以根据该通知模式,对处理结果进行共享。其中,通知模式可以理解为共享处理结果时所采用的共享方式。可选地,通知模式可以为实时共享,也可以为周期共享,还可以为交互共享,本实施例中对此不作限制。
106.在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,本实施例中对此不作限制。类似地,数据共享方可以理解为任意一接收共享数据的客户端。
107.本技术实施例提供的基于消息队列的数据共享方法,通过响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式,从而针对处理规则对获取的目标资源数据进行处理,得到处理结果,进而根据通知模式,共享处理结果。由此,可实现响应于针对目标任务的执行请求,基于目标任务中包括的针对目标消息队列中存储数据的处理规则对获取的目标资源数据进行处理,使得消息消费者无需自行开发处理过程,同时,有效避免将消息队列直接暴露给消息消费者,保证消息队列的安全性。
108.为了清楚说明上一实施例,本实施例提供了另一种基于消息队列的数据共享方法,图2为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图。
109.如图2所示,该基于消息队列的数据共享方法可以包括以下步骤:
110.步骤201,接收基于任务接口发起的针对目标任务的创建请求,创建目标任务。
111.类似地,本技术实施例的基于消息队列的数据共享方法同样可以由本技术实施例提供的基于消息队列的数据共享装置执行。
112.在本实施例中,基于消息队列的数据共享装置可以接收基于任务接口发起的针对目标任务的创建请求,从而创建目标任务。可选地,针对目标任务的创建请求可以由任务下发方基于创建任务接口发起。其中,任务下发方可以理解为任意一基于任务接口发起任务请求的客户端。需要说明的是,创建请求中可以包括与创建任务接口对应的条件信息,其中,条件信息可以包括资源标识、比对规则、保留字段和通知模式,等等,本实施例中对此不作限制。
113.类似地,任务接口可以包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口,任务请求可以包括任务的创建请求、任务的取消请求、任务的查询请求、针对处理结果的获取请求和针对共享连接的建立请求。其中,任务接口可以是采用类sql(structured query language,结构化查询语言)写法创建的,从而作
为一种示例,创建任务接口的body体可以如下所示:
[0114][0115][0116]
其中,condition用于过滤消息队列里的消息,与条件信息中的比对规则对应,"condition":"intcol=1"表示期望获取intcol字段为1的数据;resourcename用于指示期望获取的数据的资源标识,与条件信息中的资源标识对应,"resourcename":"xiaogu"表示期望获取的数据的资源标识为xiaogu;dataitems用于指示过滤后的消息中需要保留的字段,与条件信息中的保留字段对应,"dataitems":[{"name":"intcol"},{"name":"stringcol"}],表示保留字段包括intcol字段和stringcol字段两个字段;datanotifymode用于指示共享数据时所采用的通知模式,与条件信息中的通知模式对应,"datanotifymode":"immediately"表示通知模式为实时共享。
[0117]
可以理解的是,由于创建请求中可以包括与创建任务接口对应的条件信息,其中,条件信息可以包括资源标识、比对规则、保留字段和通知模式,等等,从而创建的目标任务中会包含资源标识、针对目标消息队列中存储数据的处理规则和针对处理结果的通知模式,其中,针对目标消息队列中存储数据的处理规则包括比对规则和比对结果中保留的保留字段。
[0118]
步骤202,响应于针对目标任务的执行请求,根据目标任务包含的资源标识,获取目标资源数据信息,以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的消息队列建立连接。
[0119]
可以理解的是,由于目标任务中会包含资源标识、针对目标消息队列中存储数据的处理规则和针对处理结果的通知模式,从而在本实施例中,可以响应于针对目标任务的执行请求,根据目标任务包含的资源标识,获取目标资源数据信息,以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的消息队列建立连接。需要说明的是,目标资源数据信息是用于描述目标资源数据的基本信息的,可以包括数据连接信息、资源信息和
列信息。其中,数据连接信息用于记录与存储了目标资源数据的消息队列建立连接的信息,可以包括数据连接类型、数据链接名称、消息队列服务器,等等。资源信息用于记录目标资源数据的信息,可以包括资源标识、topic、目标资源基本信息(名称、描述等),等等。列信息用于指示期望获取的目标资源数据的数据格式,可以包括编号、列名、中文名称、英文名称、类型,等等。
[0120]
为了更加情况地说明目标资源数据信息,本实施例提供了如图3所示的一种场景下目标资源数据信息的示意图。通过图3可知,在数据连接信息中,数据连接类型是kafka,数据链接名称是kaf,消息队列服务器是xx.xxx.xxx.xxx:xxxx。其中,“xx.xxx.xxx.xxx:xxxx”可以示意性表示取值,例如,可以是10.157.143.200:2021,也可以是10.157.143.201:2021。需要说明的是,“x”并不表明对应位置仅包含一位字符,本领域技术人员知晓,“x”可以为一位字符,也可以为两位或者更多位字符,本实施例中对此不作限定。在资源信息中,资源标识是xiaogu,topic是xiaogu,名称是xiaogu,描述是
‑‑
,可选地,描述可以是使用文字对目标资源进行表述的描述,也可以是使用图片对目标资源进行表述的描述,本实施例中对此不做限制。在列信息中,一共列出了4个列信息,编号为1的列信息的列名是int-in-kafka,中文名称是intcoleng,英文名称是intcol,类型是int;编号为2的列信息的列名是double-in-kafka,中文名称是doublecoleng,英文名称是doublecol,类型是double;编号为3的列信息的列名是bool-in-kafka,中文名称是boolcoleng,英文名称是boolcol,类型是bool;编号为4的列信息的列名是string-in-kafka,中文名称是stringcoleng,英文名称是stringcol,类型是string。需要说明的是,图2所示的类信息仅为示意性举例,并不代表所有的资源数据信息中的列信息都只包括4个列信息,可选地,可以包括少于4个的列信息,也可以包括4个列信息,还可以包括大于4个的列信息,本实施例中对此不做限制。
[0121]
步骤203,通过建立的连接,获取目标资源数据。
[0122]
在本实施例中,由于可以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的消息队列建立连接,从而可以通过建立的连接,获取目标资源数据。作为一种可能的实现方式,可以通过使用msgrcv()函数来从消息队列中取出目标资源数据。
[0123]
步骤204,从目标资源数据中筛选出符合比对规则的资源数据。
[0124]
在本实施例中,由于目标任务中会包含资源标识、针对目标消息队列中存储数据的处理规则和针对处理结果的通知模式,其中,针对目标消息队列中存储数据的处理规则包括比对规则和比对结果中保留的保留字段,从而可以根据比对规则,从目标资源数据中筛选出符合比对规则的资源数据。其中,比对规则用于指示比中结果需要满足的条件,保留字段用于指示比对结果中需要保留的字段。
[0125]
例如,针对步骤201中创建任务接口的body体的示例,比对规则对应的是condition,其中,condition用于过滤消息队列里的消息,"condition":"intcol=1"表示期望获取intcol字段为1的数据,从而可以根据比对规则从目标资源数据中筛选出intcol字段为1的资源数据。
[0126]
步骤205,将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果。
[0127]
在本实施例的中,在基于比对规则从目标资源数据中筛选出符合比对规则的资源数据之后,可以将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果。作
为一种可能的实现方式,可以基于保留字段,对符合比对规则的资源数据的字段进行过滤,以将过滤得到的符合比对规则的资源数据中与保留字段对应的数据确定为处理结果。
[0128]
例如,针对上述步骤204筛选出的intcol字段为1的资源数据,由于保留字段对应的是步骤201中创建任务接口的body体中的dataitems,其中,dataitems用于指示过滤后的消息中需要保留的字段,"dataitems":[{"name":"intcol"},{"name":"stringcol"}]表示保留字段包括intcol字段和stringcol字段两个字段,从而可以基于保留字段,对筛选出的intcol字段为1的资源数据的字段进行过滤,仅保留intcol字段和stringcol字段,而将其他字段过滤掉,以将得到仅包括intcol字段和stringcol字段两个字段的资源数据确定为处理结果。
[0129]
步骤206,根据通知模式,共享处理结果。
[0130]
在本实施例中,在确定好处理结果之后,可以根据目标任务中包含的针对处理结果的通知模式,将处理结果进行对外共享。其中,通知模式可以理解为共享处理结果时所采用的共享方式。可选地,通知模式可以为实时共享,也可以为周期共享,还可以为交互共享,本实施例中对此不作限制。
[0131]
在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,本实施例中对此不作限制。作为一种可能的实现方式,由于任务下发方基于创建任务接口发起的创建任务请求中可以包括与创建任务接口对应的条件信息,从而可以在条件信息中还包括指定的数据共享方的情况下,根据通知模式,将处理结果共享给数据共享方,而在条件信息中不包括指定的数据共享方的情况下,根据通知模式,将处理结果共享给任务下发方。类似地,数据共享方可以理解为任意一接收共享数据的客户端。
[0132]
例如,针对步骤101中创建任务接口的body体的示例,通知模式对应的是datanotifymode,其中,datanotifymode用于指示共享数据时所采用的通知模式,"datanotifymode":"immediately"表示通知模式为实时共享,从而可以基于通知模式为实时共享,实时将确定好的处理结果共享给任务下发方或者数据共享方。
[0133]
本技术实施例提供的基于消息队列的数据共享方法,通过接收基于任务接口发起的针对目标任务的创建请求,创建目标任务,从而响应于针对目标任务的执行请求,根据目标任务包含的资源标识,获取目标资源数据信息,以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的消息队列建立连接,以通过建立的连接,获取目标资源数据,并在从目标资源数据中筛选出符合比对规则的资源数据之后,将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果,进而根据通知模式,共享处理结果。由此,可实现通过对外暴露任务接口的方式来避免将消息队列直接暴露给消息消费者。同时,由于针对目标消息队列中存储数据的处理规则包括比对规则和比对结果中保留的保留字段,可支持数据比对。
[0134]
通过上述分析可知,本技术实施例中可以根据通知模式,共享处理结果,为了清楚说明本技术中是如何根据通知模式,共享处理结果的,本实施例提供了如图4所示的基于消息队列的数据共享方法。
[0135]
图4为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图。如图4所示,该基于消息队列的数据共享方法可以包括以下步骤:
[0136]
步骤401,响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式。
[0137]
步骤402,针对处理规则对获取的目标资源数据进行处理,得到处理结果。
[0138]
需要说明的是,步骤401-402的具体实现过程可以参见上述实施例101-102的描述,原理相同,在此不再赘述。
[0139]
步骤403,响应于通知模式为实时共享模式,实时通过共享连接共享处理结果。
[0140]
在本实施例中,在目标任务包含的针对处理结果的通知模式为实时共享的情况下,可以实时通过共享连接共享处理结果。类似地,在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,本实施例中对此不作限制。
[0141]
例如,针对上一实施例步骤101中创建任务接口的body体的示例,通知模式对应的是datanotifymode,"datanotifymode":"immediately"表示通知模式为实时共享,从而可以在"datanotifymode":"immediately"的情况下,实时通过共享连接将处理结果共享给任务下发方或者数据共享方。
[0142]
需要说明的是,在本实施例中,能通过共享连接共享处理结果的前提是已经建立好了共享连接。由于在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,从而可以响应于数据共享方或任务下发方基于任务接口发起的针对共享连接的建立请求,与数据共享方或任务下发方建立共享连接,以在建立好共享连接之后,通过该共享连接主动向数据共享方或任务下发方共享数据。作为一种可能的实现方式,数据共享方或任务下发方可以基于数据变化通知接口发起针对共享连接的建立请求。
[0143]
可选地,共享连接可以为websocket连接。可以理解的是,由于建立的共享连接是websocket连接,从而能够实现客户端与服务端只需要完成一次交互就可以直接创建持久性的连接,并进行双向的数据传输,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
[0144]
步骤404,响应于通知模式为周期共享模式,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性共享通知内容。
[0145]
在本实施例中,在目标任务包含的针对处理结果的通知模式为周期共享的情况下,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性周期性共享通知内容。其中,对于预设周期的具体取值本实施例中并没有作出限定,可选地,可以根据人工经验进行设定,例如,可以将预设周期设定为1小时,或者,也可以根据实际应用需求进行动态调整,本实施例中对此不作限制。类似地,在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,本实施例中对此不作限制。
[0146]
例如,针对上一实施例步骤101中创建任务接口的body体的示例,通知模式对应的是datanotifymode,"datanotifymode":"cycle"表示通知模式为周期共享,从而可以在"datanotifymode":"cycle"的情况下,根据预设周期是否存在处理结果,确定对应的通知内容,通过共享连接周期性将通知内容共享给数据共享方或任务下发方。
[0147]
在本实施例的一种可能的实现方式中,可以在预设周期内存在处理结果的情况下,确定对应的通知内容为“在一个周期的时间内存在处理结果”,以及在预设周期内不存在处理结果的情况下,确定对应的通知内容为“在一个周期的时间内不存在处理结果”。
[0148]
需要说明的是,在预设周期内存在处理结果的情况下,数据共享方或任务下发方可以基于获取任务数据接口发起针对处理结果的获取请求,以获取处理结果。也就是说,在响应于通知模式为周期共享,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性共享通知内容之后,还可以响应于预设周期内存在处理结果,接收数据共享方或任务下发方基于任务接口发起的针对处理结果的获取请求,从而将处理结果共享给数据共享方或任务下发方。
[0149]
步骤405,响应于通知模式为交互共享模式,通过共享连接共享处理结果之后,接收通过共享连接发送的新的操作命令并做出相应的处理。
[0150]
在本实施例中,在目标任务包含的针对处理结果的通知模式为交互共享的情况下,可以在通过共享连接共享处理结果之后,接收通过共享连接发送的新的操作命令并做出相应的处理。其中,新的操作命令包括但不限于:重设消费偏移量和查看消费详情。类似地,在本实施例中,既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,本实施例中对此不作限制。
[0151]
可以理解的是,由于既可以将处理结果共享给任务下发方,也可以将处理结果共享给任务下发方所发起的任务请求中指定的数据共享方,从而在本实施例的一种可能的实现方式中,可以在通过共享连接将处理结果共享给数据共享方或任务下发方之后,接收数据共享方或任务下发方通过共享连接发送的新的操作命令并做出相应的处理。
[0152]
例如,针对上一实施例步骤101中创建任务接口的body体的示例,通知模式对应的是datanotifymode,"datanotifymode":"interactively"表示通知模式为交互共享,从而可以在"datanotifymode":"interactively"的情况下,先通过共享连接将处理结果共享给数据共享方或任务下发方,再接收数据共享方或任务下发方通过共享连接发送的新的操作命令并做出相应的处理。
[0153]
可以理解的是,由于新的操作命令包括但不限于:重设消费偏移量和查看消费详情,从而在本实施例的一种可能的实现方式中,响应于数据共享方或任务下发方通过共享连接发送的新的操作命令为重设消费偏移量,可以对获取消息队列中存储的目标资源数据时设置的消费偏移量进行重设,以从新的消费偏移量开始获取消息队列中存储的目标资源数据。响应于数据共享方或任务下发方通过共享连接发送的新的操作命令为查看消费详情,可以将当前时刻获取消息队列中存储的目标资源数据的消费信息返回给数据共享方或任务下发方。可选地,可以将当前时刻存储有目标资源数据的消息队列的topic、消费偏移量等消费信息返回给数据共享方或任务下发方。
[0154]
本技术实施例提供的基于消息队列的数据共享方法,可以响应于通知模式为实时共享模式,实时通过共享连接共享处理结果,或者,响应于通知模式为周期共享模式,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性共享所述通知内容,或者,响应于通知模式为交互共享模式,通过共享连接共享处理结果之后,接收通过共享连接发送的新的操作命令并做出相应的处理。由此,可实现通过共享连接在不同的通知模式下进行处理结果的共享。
[0155]
为了清楚说明上述实施例,本实施例提供了另一种基于消息队列的数据共享方法,图5为本技术实施例所提供的另一种基于消息队列的数据共享方法的流程示意图。
[0156]
如图5所示,该基于消息队列的数据共享方法可以包括以下步骤:
[0157]
步骤501,响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式。
[0158]
需要说明的是,本步骤的具体实现过程可以参见上述实施例101的描述,原理相同,在此不再赘述。
[0159]
步骤502,根据目标任务包含的列信息,对目标资源数据进行转换,得到包含列信息的目标资源数据。
[0160]
在本实施例中,由于消息队列中存储的目标资源数据可能和目标资源数据信息中的列信息所指示的期望获取的目标资源数据的数据格式不一致,从而需要根据目标资源数据信息中的列信息,对目标资源数据进行转换,去除掉不符合列信息得资源数据,得到包含列信息的目标资源数据。
[0161]
步骤503,针对处理规则对包含列信息的目标资源数据进行处理,得到处理结果。
[0162]
在本实施例中,在得到包含列信息的目标资源数据之后,可以根据目标任务中包含的针对目标消息队列中存储数据的处理规则,对包含列信息的目标资源数据进行处理,以得到处理结果。可选地,处理规则可以用于对得到的包含列信息的目标资源数据进行过滤处理,也可以用于对得到的包含列信息的目标资源数据进行分类处理,还可以用于对得到的包含列信息的目标资源数据进行格式转换处理,等等,本实施例中对此不作限制。
[0163]
在本实施例的一种可能的实现方式中,响应于处理规则用于对得到的包含列信息的目标资源数据进行过滤处理,处理规则可以为过滤规则,从而可以基于处理规则,从得到的包含列信息的目标资源数据过滤得到符合过滤规则的资源数据,并将符合过滤规则的资源数据作为处理结果。类似地,响应于处理规则用于对得到的包含列信息的目标资源数据进行分类处理,处理规则可以为分类规则,从而可以基于处理规则,对得到的包含列信息的目标资源数据进行分类,以得到分类后的资源数据,并将分类后的资源数据作为处理结果。以及,响应于处理规则用于对得到的包含列信息的目标资源数据进行格式转换处理,处理规则可以为格式转换规则,从而可以基于处理规则,将得到的包含列信息的目标资源数据的数据格式进行转换,以得到格式转换后的资源数据,并将格式转换后的资源数据作为处理结果。
[0164]
步骤504,根据通知模式,共享处理结果。
[0165]
需要说明的是,本步骤的具体实现过程可以参见上述实施例103的描述,原理相同,在此不再赘述。
[0166]
本技术实施例提供的基于消息队列的数据共享方法,在响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据之后,还需要根据目标任务包含的列信息,对目标资源数据进行转换,得到包含列信息的目标资源数据,从而针对处理规则对包含列信息的目标资源数据进行处理,得到处理结果,并根据通知模式,共享处理结果。
[0167]
为了更加清楚地说明上述实施例,本实施例提供了如图6所示的一种场景下基于
消息队列的数据共享方法的流程示意图。如图6所示,该基于消息队列的数据共享方法可以包括以下步骤:
[0168]
步骤601,与消息队列建立连接。
[0169]
这里,可以通过接收任务下发方基于任务接口发起的针对目标任务的创建请求,创建目标任务,从而响应于针对目标任务的执行请求,根据目标任务包含的的资源标识,获取目标资源数据信息,以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的消息队列建立连接。其中,任务下发方可以理解为任意一基于任务接口发起任务请求的客户端。
[0170]
可选地,任务接口可以包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口,任务请求可以包括任务的创建请求、任务的取消请求、任务的查询请求、针对处理结果的获取请求和针对共享连接的建立请求。其中,任务接口可以是采用类sql(structured query language,结构化查询语言)写法创建的。
[0171]
需要说明的是,创建请求中可以包括与创建任务接口对应的条件信息。其中,条件信息包括但不限于:资源标识和通知模式。由此,创建的目标任务中会包含资源标识和针对处理结果的通知模式。
[0172]
步骤602,获取消息队列中存储的目标资源数据,并对目标资源数据进行数据格式的转换。
[0173]
这里,在获取到消息队列中存储的目标资源数据之后,由于消息队列中存储的目标资源数据可能和目标资源数据信息中的列信息所指示的期望获取的目标资源数据的数据格式不一致,从而需要根据目标资源数据信息中的列信息,对目标资源数据进行转换,去除掉不符合列信息得资源数据,得到包含列信息的目标资源数据。
[0174]
步骤603,判断有无比对规则和保留字段。
[0175]
需要说明的是,这里,创建请求中包含的条件信息中可以只包括资源标识和通知模式,创建的目标任务中也可以只包含资源标识和针对处理结果的通知模式,从而需要判断有无比对规则和保留字段,以便针对不同的情况进行相应的处理。
[0176]
步骤604,响应于存在比对规则和保留字段,根据比对规则对目标资源数据进行过滤,以得到符合比对规则的资源数据,并将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果,进行存储。
[0177]
这里,在存在比对规则和保留字段的情况下,即在创建请求中包含的条件信息中除了包括资源标识和通知模式,还包括比对规则和保留字段的情况下,也即在创建的目标任务中除了包含资源标识和针对处理结果的通知模式,还包含针对目标消息队列中存储数据的处理规则,其中,针对目标消息队列中存储数据的处理规则包括比对规则和比对结果中保留的保留字段的情况下,可以基于比对规则对得到的包含列信息的目标资源数据进行过滤,以得到符合比对规则的资源数据,并对该资源数据进行存储。
[0178]
步骤605,响应于不存在比对规则和保留字段,则直接将目标资源数据确定为处理结果,并进行存储。
[0179]
这里,在不存在比对规则和保留字段的情况下,即在创建请求中包含的条件信息中只包括资源标识和通知模式,不包括比对规则和保留字段的情况下,也即在创建的目标任务中只包含资源标识和针对处理结果的通知模式,不包含针对目标消息队列中存储数据
的处理规则,其中,针对目标消息队列中存储数据的处理规则包括比对规则和比对结果中保留的保留字段的情况下,可以直接将目标资源数据确定为处理结果,并对该比中数据进行存储。
[0180]
步骤606,确定通知模式。
[0181]
这里,可以先确定通知模式,以便于执行对应的后续步骤。
[0182]
步骤607,响应于通知模式为实时共享,实时对存储的处理结果进行对外共享。
[0183]
这里,在数据通知模式为实时共享的情况下,可以实时对存储的处理结果进行对外共享。具体地,可以通过共享连接实时共享存储的处理结果。可选地,共享连接可以为websocket连接。处理结果既可以共享给任务下发方,也可以共享给任务下发方所发起的任务请求中指定的数据共享方。
[0184]
步骤608,响应于通知模式为周期共享,周期性地推送通知内容,其中,通知内容用于指示在预设周期内是否存在处理结果。
[0185]
这里,在通知模式为周期共享的情况下,可以周期性地推送通知内容,其中,通知内容用于指示在预设周期内是否存在处理结果。其中,对于预设周期的具体取值这里并没有作出限定,可选地,可以根据人工经验进行设定,例如,可以将预设周期设定为1小时,或者,也可以根据实际应用需求进行动态调整。
[0186]
作为一种可能的实现方式,可以响应于通知模式为周期共享,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性周期性共享通知内容。可选地,可以在预设周期内存在处理结果的情况下,确定对应的通知内容为“在一个周期的时间内存在处理结果”,以及在预设周期内不存在处理结果的情况下,确定对应的通知内容为“在一个周期的时间内不存在处理结果”。类似地,共享连接可以为websocket连接。处理结果既可以共享给任务下发方,也可以共享给任务下发方所发起的任务请求中指定的数据共享方。
[0187]
需要说明的是,在预设周期内存在处理结果的情况下,在将完成推送内容的推送之后,可以接收数据共享方或任务下发方基于任务接口发起的针对处理结果的获取请求,以对存储的处理结果进行对外共享。这里,针对处理结果的获取请求是基于获取任务数据接口发起的。
[0188]
步骤609,响应于通知模式为交互共享,在对存储的处理结果进行对外共享之后,接收新的操作命令并做出相应的处理。
[0189]
这里,在通知模式为实时共享的情况下,可以在对存储的处理结果进行对外共享之后,接收新的操作命令并做出相应的处理。其中,新的操作命令包括但不限于:重设消费偏移量和查看消费详情。
[0190]
可选地,响应于新的操作命令为重设消费偏移量,可以对获取消息队列中存储的目标资源数据时设置的消费偏移量进行重设,以从新的消费偏移量开始获取消息队列中存储的目标资源数据。响应于新的操作命令为查看消费详情,可以返回当前时刻获取消息队列中存储的目标资源数据的消费信息,具体地,可以返回当前时刻存储有目标资源数据的消息队列的topic、消费偏移量等消费信息。
[0191]
作为一种可能的实现方式,可以响应于通知模式为交互共享,在通过共享连接共享处理结果之后,接收通过共享连接发送的新的操作命令并做出相应的处理。类似地,共享
连接可以为websocket连接。处理结果既可以共享给任务下发方,也可以共享给任务下发方所发起的任务请求中指定的数据共享方。可以理解的是,由于处理结果既可以共享给任务下发方,也可以共享给任务下发方所发起的任务请求中指定的数据共享方,从而可以在通过共享连接将处理结果共享给数据共享方或任务下发方之后,接收数据共享方或任务下发方通过共享连接发送的新的操作命令并做出相应的处理。
[0192]
本技术实施例提供的基于消息队列的数据共享方法,通过消息队列建立连接,实现获取消息队列中存储的目标资源数据,并对目标资源数据进行数据格式的转换,从而在判断有无比对规则和保留字段之后,响应于存在比对规则和保留字段,根据比对规则对目标资源数据进行过滤,以得到符合比对规则的资源数据,并将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果,进行存储,或者,响应于不存在比对规则和保留字段,则直接将目标资源数据确定为处理结果,并进行存储,在确定通知模式之后,响应于通知模式为实时共享,实时对存储的处理结果进行对外共享,或者,响应于通知模式为周期共享,周期性地推送通知内容,其中,通知内容用于指示在预设周期内是否存在处理结果,或者,响应于通知模式为交互共享,在对存储的处理结果进行对外共享之后,接收新的操作命令并做出相应的处理。由此,可实现在支持数据比对的同时,能采用三种不同的共享方式将消息队列内的数据对外共享。
[0193]
为了实现上述实施例,本技术还提出一种基于消息队列的数据共享系统。
[0194]
图7为本技术实施例所提供的一种场景下基于消息队列的数据共享系统的模块示意图。
[0195]
如图7所示,该基于消息队列的数据共享系统包括:配置管理模块71、任务管理模块72和任务处理模块73。
[0196]
其中,配置管理模块71,用于维护资源数据信息,资源数据信息用于描述资源数据的基本信息,包括数据连接信息、资源信息和列信息;
[0197]
任务管理模块72,用于提供任务接口;任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口;
[0198]
任务处理模块73,用于执行本技术上述任一实施例提出的基于消息队列的数据共享方法。
[0199]
通过图7可知,配置管理者可以通过配置管理模块进行资源数据信息的配置和维护;任务下发方可以通过任务管理模块下发任务。配置管理模块中的资源数据信息和任务管理模块中的任务接口都可以存储到数据库中,从而将数据库存储的相关数据推送到任务处理模块,以执行本技术上述任一实施例提出的基于消息队列的数据共享方法。可以理解的是,任务处理模块进行共享的比中数据可以共享给任务下发方,也可以共享给任务下发方指定的数据共享方。需要说明的是,任务处理模块需要与存储了目标资源数据的消息队列建立连接,以获取消息队列中存储的目标资源数据。
[0200]
为了实现上述实施例,本技术还提出一种基于消息队列的数据共享装置。
[0201]
图8为本技术实施例提供的一种基于消息队列的数据共享装置的结构示意图。
[0202]
如图8所示,该基于消息队列的数据共享装置包括:获取模块81、第一处理模块82和共享模块83。
[0203]
获取模块81,用于响应于针对目标任务的执行请求,根据目标任务包含的资源标
识,从目标消息队列获取目标资源数据;目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式;
[0204]
第一处理模块82,用于针对处理规则对获取的目标资源数据进行处理,得到处理结果;
[0205]
共享模块83,用于根据通知模式,共享处理结果。
[0206]
进一步地,在本技术实施例的一种可能的实现方式中,获取模块81,还用于:
[0207]
根据资源标识,获取目标资源数据信息,以根据目标资源数据信息中的数据连接信息,与存储了目标资源数据的目标消息队列建立连接;
[0208]
通过建立的连接,获取目标资源数据。
[0209]
进一步地,在本技术实施例的一种可能的实现方式中,处理规则包括比对规则,以及比对结果中保留的保留字段;第一处理模块82,还用于:
[0210]
从目标资源数据中筛选出符合比对规则的资源数据;
[0211]
将符合比对规则的资源数据中与保留字段对应的数据确定为处理结果。
[0212]
进一步地,在本技术实施例的一种可能的实现方式中,通知模式包括实时共享、周期共享、交互共享,共享模块83,包括:
[0213]
第一共享单元,用于响应于通知模式为实时共享模式,实时共享连接共享处理结果;共享连接包括websocket连接;
[0214]
第二共享单元,用于响应于通知模式为周期共享模式,根据预设周期内是否存在处理结果,确定对应的通知内容,并通过共享连接周期性共享通知内容;
[0215]
交互单元,用于响应于通知模式为交互共享模式,通过共享连接共享处理结果之后,接收通过共享连接发送的新的操作命令并做出相应的处理;新的操作命令包括但不限于:重设消费偏移量和查看消费详情。
[0216]
进一步地,在本技术实施例的一种可能的实现方式中,第一处理模块82,还用于:
[0217]
根据目标任务包含的列信息,对目标资源数据进行转换,得到包含列信息的目标资源数据;
[0218]
针对处理规则对包含列信息的目标资源数据进行处理,得到处理结果。
[0219]
需要说明的是,前述对基于消息队列的数据共享方法实施例的解释说明也适用于该实施例的基于消息队列的数据共享装置,此处不再赘述。
[0220]
基于上述实施例,本技术实施例还提供了一种基于消息队列的数据共享装置的可能的实现方式,图9为本技术实施例提供的另一种基于消息队列的数据共享装置的结构示意图,在上一实施例的基础上,该基于消息队列的数据共享装置还包括:第二处理模块84。
[0221]
第二处理模块84,用于响应于预设周期内存在所述处理结果,接收针对所述处理结果的获取请求,共享所述处理结果。
[0222]
基于上述实施例,本技术实施例还提供了一种基于消息队列的数据共享装置的可能的实现方式,图10为本技术实施例提供的另一种基于消息队列的数据共享装置的结构示意图,在上述实施例的基础上,该基于消息队列的数据共享装置还包括:第三处理模块85。
[0223]
第三处理模块85,用于接收基于任务接口发起的针对目标任务的创建请求,创建目标任务;创建请求中包括与任务接口对应的条件信息;条件信息包括但不限于:资源标识、比对规则、保留字段和通知模式。
[0224]
进一步地,在本技术实施例的一种可能的实现方式中,任务接口为采用类sql写法创建的;任务接口包括创建任务接口、取消任务接口、查询任务状态接口、获取任务数据接口和数据变化通知接口。
[0225]
本技术实施例提供的基于消息队列的数据共享装置,通过响应于针对目标任务的执行请求,根据目标任务包含的资源标识,从目标消息队列获取目标资源数据,其中,目标任务还包括针对目标消息队列中存储数据的处理规则与针对处理结果的通知模式,从而针对处理规则对获取的目标资源数据进行处理,得到处理结果,进而根据通知模式,共享处理结果。由此,可实现响应于针对目标任务的执行请求,基于目标任务中包括的针对目标消息队列中存储数据的处理规则对获取的目标资源数据进行处理,使得消息消费者无需自行开发处理过程,同时,有效避免将消息队列直接暴露给消息消费者,保证消息队列的安全性。
[0226]
为了实现上述实施例,本技术还提出一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术上述任一实施例提出的基于消息队列的数据共享方法。
[0227]
图11为本技术实施例提供的一个电子设备的结构示意图。图11示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0228]
如图11所示,该电子设备可以包括:壳体11、处理器12、存储器13、电路板14和电源电路15,其中,电路板14安置在壳体11围成的空间内部,处理器12和存储器13设置在电路板14上;电源电路15,用于为上述电子设备的各个电路或器件供电;存储器13用于存储可执行程序代码;处理器12通过读取存储器13中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本技术上述任一实施例提出的基于消息队列的数据共享方法。
[0229]
处理器12对上述步骤的具体执行过程以及处理器12通过运行可执行程序代码来进一步执行的步骤,可以参见本技术图1-6所示方法实施例的描述,在此不再赘述。
[0230]
为了实现上述实施例,本技术还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本技术上述任一实施例提出的基于消息队列的数据共享方法。
[0231]
为了实现上述实施例,本技术还提出一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本技术上述任一实施例提出的基于消息队列的数据共享方法。
[0232]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0233]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0234]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0235]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0236]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0237]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0238]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0239]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献