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

交互数据的流转监控方法及装置、存储介质及电子装置与流程

2022-08-17 09:51:50 来源:中国专利 TAG:


1.本发明涉及通信领域,具体而言,涉及一种交互数据的流转监控方法及装置、存储介质及电子装置。


背景技术:

2.随着物联网的快速发展,越来越多的家庭中具有智能家电设备,在用户使用智能家电设备的时候,例如在语音交互场景中,语音后台程序在处理用户的请求的时候,会将请求的参数和响应通过异步的方式发送到消息队列kafka中,进而通过kafka流转到不同类型的数据库中,在处理过程中,可能会由于数据格式问题或网络压力过大或io负载过高等意外情况导致数据未能成功的写入到数据库中,进而会导致数据丢失。
3.针对相关技术,在消息中间件将数据发送至数据消费设备的过程中,并不会对未成功发送的数据进行补录,导致数据丢失的问题,目前尚未提出有效的解决方案。
4.因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。


技术实现要素:

5.本发明实施例提供了一种交互数据的流转监控方法及装置、存储介质及电子装置,以至少解决在消息中间件将数据发送至数据消费设备的过程中,并不会对未成功发送的数据进行补录,导致数据丢失的问题。
6.根据本发明实施例的一方面,提供一种交互数据的流转监控方法,包括:在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
7.进一步地,所述将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,包括:在所述第一数据集合是从所述目标交互设备的日志信息中获取到的数据集合的情况下,将所述第二数据集合中包括的相同交互场景中的交互数据存储在所述目标数据库中的同一块存储位置上,其中,所述一组交互场景中的相同交互场景中的至少部分交互数据在所述日志信息中的记录位置不相邻。
8.进一步地,在确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备之前,所述方法还包括:通过所述消息中间件将所述
第一数据集合中包括的所述一组交互场景中的每个交互场景中的交互数据,分别存储到所述消息中间件对应的多块缓存空间中,其中,所述多块缓存空间中的每块缓存空间用于缓存对应的所述一组交互场景中的一个交互场景中的交互数据。
9.进一步地,在确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备之前,所述方法还包括:通过所述消息中间件依次从所述多块缓存空间中读取所述一组交互场景中的各个交互场景中的交互数据,并通过所述第一线程将从所述多块缓存空间中读取出的交互数据发送至所述数据消费设备。
10.进一步地,所述通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,包括:以一个交互场景中的交互数据为单位,通过所述第二线程将所述目标数据库中存储的所述部分或全部交互场景中的各个交互场景中的交互数据发送至所述数据消费设备。
11.进一步地,所述通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,包括:在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据;在确定出所述目标数据库中存储有未发送成功的所述目标交互场景中的交互数据的情况下,通过所述第二线程将所述目标数据库中存储的所述目标交互场景中的交互数据发送至所述数据消费设备。
12.进一步地,所述在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据,包括:在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,将所述数据消费设备上的所述目标交互场景中的交互数据与一组消费设备上的所述目标交互场景中的交互数据进行比较,其中,所述消息中间件用于将所述第一数据集合分别发送给所述数据消费设备和所述一组消费设备;在所述数据消费设备上的所述目标交互场景中的交互数据与所述一组消费设备中的至少n个消费设备上的所述目标交互场景中的交互数据不同时,确定出所述数据消费设备上的所述目标交互场景中的交互数据不完整,并确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据,其中,n为大于或等于1的正整数。
13.根据本发明实施例的另一方面,还提供了一种交互数据的流转监控装置,包括:确定模块,用于在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;存储模块,用于在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;发送模块,用于通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
14.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机
可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述交互数据的流转监控方法。
15.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述交互数据的流转监控方法。
16.通过本发明,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定第一数据集合中的数据是否被消息中间件通过第一线程成功发送至数据消费设备,并在第一数据集合中存在未被消息中间件成功发送至数据消费设备的第二数据集合的情况下,将第二数据集合存储至目标数据库中,并通过第二线程将目标数据库中存储的第二数据集合中包括的部分或全部交互场景中的交互数据发送至数据消费设备。采用上述技术方案,实现了在消息中间件存在未成功发送至数据消费设备的数据的时候,将未成功发送的数据进行数据补录,避免了数据丢失。解决了在消息中间件将数据发送至数据消费设备的过程中,并不会对未成功发送的数据进行补录,导致数据丢失的问题。
附图说明
17.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
18.图1是本发明实施例的交互数据的流转监控方法的计算机终端的硬件结构框图;
19.图2是根据本发明实施例的交互数据的流转监控方法的流程图;
20.图3是根据本发明实施例的交互数据的流转监控方法的框架图;
21.图4是根据本发明实施例的交互数据的流转监控装置的结构框图(一)。
22.图5是根据本发明实施例的交互数据的流转监控装置的结构框图(二)。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.本技术实施例中所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的交互数据的流转监控方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)
处理器102(处理器102可以包括但不限于微处理器(microprocessor unit,简称是mpu)或可编程逻辑器件(programmable logic device,简称是pld))和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
26.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的交互数据的流转监控方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
27.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
28.为了解决上述问题,在本实施例中提供了一种交互数据的流转监控方法,图2是根据本发明实施例的交互数据的流转监控方法的流程图,该流程包括如下步骤:
29.步骤s202,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;
30.在一个示例性的实施例中,上述消息中间件包括但不限于kafka,其中,kafka是由apache软件基金会开发的一个开源流处理平台,由scala和java编写。是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。
31.需要说明的是,在一个示例性的实施例中,上述交互数据可以为用户与目标交互设备进行语音交互所产生的交互数据,目标交互设备包括但不限于智能音箱,智能冰箱,智能空调等,上述一组交互场景包括但不限于:语音交互场景,控制交互场景等。
32.步骤s204,在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;
33.需要说明的是,在一个示例性的实施例中,上述目标数据库为redis,其中,redis即为远程字典服务,是一个开源的使用ansic语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。
34.步骤s206,通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的
部分或全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
35.通过上述步骤,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定第一数据集合中的数据是否被消息中间件通过第一线程成功发送至数据消费设备,并在第一数据集合中存在未被消息中间件成功发送至数据消费设备的第二数据集合的情况下,将第二数据集合存储至目标数据库中,并通过第二线程将目标数据库中存储的第二数据集合中包括的部分或全部交互场景中的交互数据发送至数据消费设备。采用上述技术方案,实现了在消息中间件存在未成功发送至数据消费设备的数据的时候,将未成功发送的数据进行数据补录,避免了数据丢失。解决了在消息中间件将数据发送至数据消费设备的过程中,并不会对未成功发送的数据进行补录,导致数据丢失的问题。
36.在一个示例性的实施例中,在执行上述步骤s202之前,可以通过所述消息中间件将所述第一数据集合中包括的所述一组交互场景中的每个交互场景中的交互数据,分别存储到所述消息中间件对应的多块缓存空间中,其中,所述多块缓存空间中的每块缓存空间用于缓存对应的所述一组交互场景中的一个交互场景中的交互数据。
37.需要说明的是,如果消息中间件为kafka,则上述缓存空间相当于kafka中的一个主题,其中,kafka将一组数据抽象归纳为一个主题。也就是说,一个主题就是对应一个数据的分类,生产者将数据发送到特定的主题,有消费者订阅该主题后进行消费处理。
38.在一个示例性的实施例中,在确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备之前,还需要通过所述消息中间件依次从所述多块缓存空间中读取所述一组交互场景中的各个交互场景中的交互数据,并通过所述第一线程将从所述多块缓存空间中读取出的交互数据发送至所述数据消费设备。
39.具体的,消息中间件依次从将多个缓存空间中的每个缓存空间中读取一组交互场景中的一个交互场景的交互数据,并依次将一个交互场景的交互数据通过第一线程发送至数据消费设备。
40.在一个示例性的实施例中,上述将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,可以通过以下方式实现:在所述第一数据集合是从所述目标交互设备的日志信息中获取到的数据集合的情况下,将所述第二数据集合中包括的相同交互场景中的交互数据存储在所述目标数据库中的同一块存储位置上。需要说明的是,所述一组交互场景中的相同交互场景中的至少部分交互数据在所述日志信息中的记录位置不相邻。
41.也就是说,在将第二数据集合存放在目标数据库的时候,由于第二数据集合中存在不同交互场景的数据,进而为了方便后续从交互场景的层次进行补录,将第二数据集合中具有相同交互场景的交互数据存储在目标数据库中的同一块存储位置。
42.上述步骤s206有多种实现方式,在一个示例性的实施例中,可以通过以下方式实现:以一个交互场景中的交互数据为单位,通过所述第二线程将所述目标数据库中存储的所述部分或全部交互场景中的各个交互场景中的交互数据发送至所述数据消费设备。
43.在一个示例性的实施例中,还可以通过该以下方式实现:在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据;在确定出所述目标数据库中存储有未
发送成功的所述目标交互场景中的交互数据的情况下,通过所述第二线程将所述目标数据库中存储的所述目标交互场景中的交互数据发送至所述数据消费设备。
44.具体的,在一个示例性的实施例中,在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据,可以通过以下方式实现:在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,将所述数据消费设备上的所述目标交互场景中的交互数据与一组消费设备上的所述目标交互场景中的交互数据进行比较,其中,所述消息中间件用于将所述第一数据集合分别发送给所述数据消费设备和所述一组消费设备;在所述数据消费设备上的所述目标交互场景中的交互数据与所述一组消费设备中的至少n个消费设备上的所述目标交互场景中的交互数据不同时,确定出所述数据消费设备上的所述目标交互场景中的交互数据不完整,并确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据,其中,n为大于或等于1的正整数。
45.在一个可选的实施例中,还可以统计消息中间件发送给数据消费设备的数据的第一数量,以及数据消费数据接收到的数据的第二数量,进而在第一数量与第二数量不相等的情况下,通过通信软件将第一数量和第二数量的差发送至管理人员,告知管理人员存在多少数据没有成功发送。
46.进一步地,还可以确定通过目标数据库补录给数据消费设备的数据的第三数量,进而在第四数量与第三数量的差通过通信软件发送至管理人员,告知管理人员存在多个数据未补录成功,其中第四数量为第一数量和第二数量的差。
47.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述交互数据的流转监控方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:
48.在一个可选的实施例中,图3是根据本发明实施例的交互数据的流转监控方法的框架图,具体的,本技术实施例包括以下部分:
49.(1)语音应用程序通过异步的方式将数据发送到kafka指定的主题中,可减少对主线程的阻塞;
50.(2)数据处理应用在处理数据的过程中,如果检测到发生异常,则通过锁的方式来将数据持久化到redis数据库中,避免过多应用流转数据造成的数据丢失;
51.(3)每隔一段时间统计kafka流转到各个数据库中的数量,并用邮件通知工作人员;
52.(4)在数据流转中,如果流转失败会将数据写入redis数据库中,在一段时间后,将redis数据库中的数据补录到各个数据库中,完成数据补录,并邮件通知工作人员补录的数据和补录失败的数量。
53.需要说明的是,完成数据补录功能是一个单独的线程,不会对原有的业务造成影响,同时,在发生异常后,数据补录线程能够近实时的收到消息,进行数据处理,保证了数据补录的实时性。
54.即本技术实施例,在数据流转发生异常的情况下,能够在不影响主流程的情况下快速对流转的数据进行统计并用邮件的方式通知工作人员,并且如果在数据流转过程中发现数据流转失败的情况下,则可以进行自动补录,并通知工作人员补录成功和未补录的数
据量,工作人员收到未补录成功的数据量,可到redis中查询对应的数据,进行检查数据结构或者批量处理,再次进行入库。
55.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
56.在本实施例中还提供了一种交互数据的流转监控装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
57.图4是根据本发明实施例的交互数据的流转监控装置的结构框图(一),该装置包括:
58.确定模块42,用于在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;
59.存储模块44,用于在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;
60.发送模块46,用于通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
61.通过上述装置,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定第一数据集合中的数据是否被消息中间件通过第一线程成功发送至数据消费设备,并在第一数据集合中存在未被消息中间件成功发送至数据消费设备的第二数据集合的情况下,将第二数据集合存储至目标数据库中,并通过第二线程将目标数据库中存储的第二数据集合中包括的部分或全部交互场景中的交互数据发送至数据消费设备。采用上述技术方案,实现了在消息中间件存在未成功发送至数据消费设备的数据的时候,将未成功发送的数据进行数据补录,避免了数据丢失。解决了在消息中间件将数据发送至数据消费设备的过程中,并不会对未成功发送的数据进行补录,导致数据丢失的问题。
62.在一个示例性的实施例中,存储模块44,还用于在所述第一数据集合是从所述目标交互设备的日志信息中获取到的数据集合的情况下,将所述第二数据集合中包括的相同交互场景中的交互数据存储在所述目标数据库中的同一块存储位置上,其中,所述一组交互场景中的相同交互场景中的至少部分交互数据在所述日志信息中的记录位置不相邻。
63.在一个示例性的实施例中,存储模块44,还用于通过所述消息中间件将所述第一
数据集合中包括的所述一组交互场景中的每个交互场景中的交互数据,分别存储到所述消息中间件对应的多块缓存空间中,其中,所述多块缓存空间中的每块缓存空间用于缓存对应的所述一组交互场景中的一个交互场景中的交互数据。
64.图5是根据本发明实施例的交互数据的流转监控装置的结构框图(二),该装置包括:处理模块48。
65.在一个示例性的实施例中,处理模块48,还用于通过所述消息中间件依次从所述多块缓存空间中读取所述一组交互场景中的各个交互场景中的交互数据,并通过所述第一线程将从所述多块缓存空间中读取出的交互数据发送至所述数据消费设备。
66.在一个示例性的实施例中,发送模块46,还用于以一个交互场景中的交互数据为单位,通过所述第二线程将所述目标数据库中存储的所述部分或全部交互场景中的各个交互场景中的交互数据发送至所述数据消费设备。
67.在一个示例性的实施例中,发送模块46,还用于在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据;在确定出所述目标数据库中存储有未发送成功的所述目标交互场景中的交互数据的情况下,通过所述第二线程将所述目标数据库中存储的所述目标交互场景中的交互数据发送至所述数据消费设备。
68.在一个示例性的实施例中,处理模块48,还用于在检测到所述数据消费设备需要对目标交互场景中的交互数据进行处理的情况下,将所述数据消费设备上的所述目标交互场景中的交互数据与一组消费设备上的所述目标交互场景中的交互数据进行比较,其中,所述消息中间件用于将所述第一数据集合分别发送给所述数据消费设备和所述一组消费设备;在所述数据消费设备上的所述目标交互场景中的交互数据与所述一组消费设备中的至少n个消费设备上的所述目标交互场景中的交互数据不同时,确定出所述数据消费设备上的所述目标交互场景中的交互数据不完整,并确定所述目标数据库中是否存储有未发送成功的所述目标交互场景中的交互数据,其中,n为大于或等于1的正整数。
69.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
70.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
71.s1,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;
72.s2,在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;
73.s3,通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或
全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
74.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
75.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
76.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
77.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
78.s1,在消息中间件通过第一线程发送第一数据集合至数据消费设备的情况下,确定所述第一数据集合中的数据是否被所述消息中间件通过所述第一线程成功发送至所述数据消费设备,其中,所述第一数据集合包括目标交互设备在使用时的交互数据,所述第一数据集合中的交互数据是所述数据消费设备订阅的、所述目标交互设备的一组交互场景中的交互数据;
79.s2,在所述第一数据集合中存在未被所述消息中间件成功发送至所述数据消费设备的第二数据集合的情况下,将所述第一数据集合中未成功发送至所述数据消费设备的所述第二数据集合存储至目标数据库中,其中,所述第二数据集合包括所述一组交互场景中的一个或多个交互场景中的交互数据;
80.s3,通过第二线程将所述目标数据库中存储的所述第二数据集合中包括的部分或全部交互场景中的交互数据发送至所述数据消费设备,其中,所述第一线程与所述第二线程为异步线程。
81.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
82.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
83.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
84.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献