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

数据读取方法及装置、电子设备和存储介质与流程

2022-09-07 14:33:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种数据读取方法及装置、电子设备和存储介质。


背景技术:

2.在大量告警数据的查询场景中,通常伴随着多次访问数据库的情况,大量的访问请求会使得数据库的响应时间的增加,影响读取效率。


技术实现要素:

3.本公开提出了一种数据读取技术方案。
4.根据本公开的一方面,提供了一种数据读取方法,包括:响应于接收到针对告警数据的数据获取请求,获取所述数据获取请求中的告警列表,所述告警列表用于指示待获取的告警数据;根据所述告警列表,查询分布式缓存中是否存在所述告警数据,得到查询结果;根据所述查询结果,获取所述告警数据,并向所述数据获取请求的发送端返回获取到的告警数据。
5.在一种可能的实现方式中,所述根据所述查询结果,获取所述告警数据,包括:在所述查询结果指示所述分布式缓存中存在所述告警数据的情况下,从所述分布式缓存中读取所述告警数据。
6.在一种可能的实现方式中,所述根据所述查询结果,获取所述告警数据,包括:在所述查询结果指示所述分布式缓存中不存在所述告警数据的情况下,根据所述告警列表,从数据库中批量读取所述告警数据,并为所述告警数据设置分布式缓存。
7.在一种可能的实现方式中,所述向所述数据获取请求的发送端返回获取到的告警数据,包括:根据获取的所述告警数据,确定告警检测任务对目标视频的检测结果,所述告警检测任务用于检测所述目标视频中发生的告警事件;在所述检测结果指示所述目标视频中的告警事件未结束的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据。
8.在一种可能的实现方式中,在获取到所述告警检测任务对目标视频的检测结果之后,所述向所述数据获取请求的发送端返回获取到的告警数据,还包括:在所述检测结果指示所述目标视频中的告警事件已结束的情况下,判断本地缓存中是否存在所述告警事件对应的状态信息;在所述本地缓存中存在所述状态信息的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据;其中,所述状态信息包括所述告警检测任务的任务状态信息与所述告警事件的告警状态信息中的至少一种,所述任务状态信息表征所述告警检测任务是否结束,所述告警状态信息表征所述告警事件是否结束。
9.在一种可能的实现方式中,在判断本地缓存中是否存在所述告警事件对应的状态信息之后,所述向所述数据获取请求的发送端返回获取到的告警数据,还包括:在所述本地缓存中不存在所述状态信息的情况下,为所述状态信息设置本地缓存,并向所述数据获取
请求的发送端返回从数据库中批量读取的告警数据;根据所述告警检测任务的检测结果,执行异步更新任务,所述异步更新任务包括与为所述状态信息设置本地缓存的任务异步,和/或,与向所述数据获取请求的发送端返回从数据库中批量读取的告警数据的任务异步的更新任务;以及,所述异步更新任务包括:异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新所述分布式缓存中的告警数据中的至少一种。
10.在一种可能的实现方式中,所述根据所述告警检测任务的检测结果,执行异步更新任务,包括:利用线程池,为所述异步更新任务分别分配处理线程;利用所述处理线程,根据所述告警检测任务的检测结果,执行所述异步更新任务。
11.根据本公开的一方面,提供了一种数据读取装置,包括:获取模块,用于响应于接收到针对告警数据的数据获取请求,获取所述数据获取请求中的告警列表,所述告警列表用于指示待获取的告警数据;查询模块,用于根据所述告警列表,查询分布式缓存中是否存在所述告警数据,得到查询结果;返回模块,用于根据所述查询结果,获取所述告警数据,并向所述数据获取请求的发送端返回获取到的告警数据。
12.在一种可能的实现方式中,所述返回模块,包括:读取子模块,用于在所述查询结果指示所述分布式缓存中存在所述告警数据的情况下,从所述分布式缓存中读取所述告警数据。
13.在一种可能的实现方式中,所述返回模块,包括:批量读取子模块,用于在所述查询结果指示所述分布式缓存中不存在所述告警数据的情况下,根据所述告警列表,从数据库中批量读取所述告警数据,并为所述告警数据设置分布式缓存。
14.在一种可能的实现方式中,所述返回模块,包括:检测结果确定子模块,用于根据获取的所述告警数据,确定告警检测任务对目标视频的检测结果,所述告警检测任务用于检测所述目标视频中发生的告警事件;返回子模块,用于在所述检测结果指示所述目标视频中的告警事件未结束的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据。
15.在一种可能的实现方式中,在获取到所述告警检测任务对目标视频的检测结果之后,所述返回模块,还包括:判断子模块,用于在所述检测结果指示所述目标视频中的告警事件已结束的情况下,判断本地缓存中是否存在所述告警事件对应的状态信息;批量返回子模块,用于在所述本地缓存中存在所述状态信息的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据;其中,所述状态信息包括所述告警检测任务的任务状态信息与所述告警事件的告警状态信息中的至少一种,所述任务状态信息表征所述告警检测任务是否结束,所述告警状态信息表征所述告警事件是否结束。
16.在一种可能的实现方式中,在判断本地缓存中是否存在所述告警事件对应的状态信息之后,所述返回模块,还包括:缓存设置子模块,用于在所述本地缓存中不存在所述状态信息的情况下,为所述状态信息设置本地缓存,并向所述数据获取请求的发送端返回从数据库中批量读取的告警数据;任务执行子模块,用于根据所述告警检测任务的检测结果,执行异步更新任务,所述异步更新任务包括与为所述状态信息设置本地缓存的任务异步,和/或,与向所述数据获取请求的发送端返回从数据库中批量读取的告警数据的任务异步的更新任务;以及,所述异步更新任务包括:异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新所述分布式缓存中的告警数据中的至少一种。
17.在一种可能的实现方式中,所述根据所述告警检测任务的检测结果,执行异步更新任务,包括:利用线程池,为所述异步更新任务分别分配处理线程;利用所述处理线程,根据所述告警检测任务的检测结果,执行所述异步更新任务。
18.根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
19.根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
20.在本公开实施例中,在获取到数据获取请求中的告警列表后,通过先查询分布式缓存中是否存在告警数据,并依据查询结果来获取告警数据,可以减少访问数据库的次数,提高数据读取效率。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
23.图1示出根据本公开实施例的数据读取方法的流程图。
24.图2示出根据本公开实施例的一种数据读取方法的流程示意图。
25.图3示出根据本公开实施例的数据读取装置的框图。
26.图4示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
27.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
28.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
29.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
30.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
31.图1示出根据本公开实施例的数据读取方法的流程图,所述数据读取方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,
pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现,或者,可通过服务器执行所述方法。如图1所示,所述数据读取方法包括:
32.在步骤s11中,响应于接收到针对告警数据的数据获取请求,获取数据获取请求中的告警列表,告警列表用于指示待获取的告警数据。
33.其中,数据获取请求例如可以是前端(例如应用客户端、web网页客户端等)发起的请求,该请求可以是http(hyper text transfer protocol,超文本传输协议)请求。告警列表中指示的待获取的告警数据,可以理解为,用户期望从数据库中读取的数据。
34.应理解的是,当用户期望从数据库中查询告警数据时,可以通过前端指示所要查询的告警数据,前端可以基于用户指示的所要查询的告警数据,生成数据获取请求,并发送给本公开中数据读取方法的执行主体,数据获取请求中可以包括告警列表。
35.在步骤s12中,根据告警列表,查询分布式缓存中是否存在告警数据,得到查询结果。
36.可知晓的是,分布式缓存是由一个服务端实现管理和控制多个边端节点存储数据的缓存方式;分布式缓存能够高性能地读取数据、能够动态地扩展缓存节点、能够自动发现和切换故障节点、能够自动均衡数据分区。
37.在一种可能的实现方式中,可以为数据库中存储的告警数据设置分布式缓存,在通过步骤s11获取到告警列表后,可以先查询分布式缓存中是否有告警列表中指示的告警数据,得到查询结果。其中,查询结果可以指示分布式缓存中是否存在告警数据。
38.在步骤s13中,根据查询结果,获取告警数据,并向数据获取请求的发送端返回获取到的告警数据。
39.如上所述,查询结果可以指示分布式缓存中是否存在告警数据,在一种可能的实现方式中,根据查询结果,获取告警数据,包括:在查询结果指示分布式缓存中存在所述告警数据的情况下,从分布式缓存中读取告警数据。通过该方式,可以减少访问数据库的次数,提高数据读取效率。
40.在一种可能的实现方式中,根据查询结果,获取告警数据,还包括:在查询结果指示分布式缓存中不存在告警数据的情况下,根据告警列表,从数据库中批量读取告警数据,并为告警数据设置分布式缓存。通过该方式,可以提升从数据库读取数据的访问性能,为告警数据设置分布式缓存,可以便于之后直接从分布式缓存中读取数据,从而整体减少访问数据库的次数,提高数据读取效率。
41.其中,根据告警列表,从数据库中批量读取告警数据,可以包括:基于告警列表确定访问数据库所需的全部访问参数,并基于全部访问参数以及数据库对外提供的访问接口(io接口),生成批量读取请求,进而利用该批量读取请求从数据库中单次批量读取告警数据,从而降低io访问次数,提高数据处理效率。应理解的是,本领域技术人员可以采用其它批量读取请求的生成方式,以及本领域技术人员可以采用本领域已知的分布式缓存设置方式,为告警数据设置分布式缓存,对此本公开实施例不作限制。
42.在一种可能的实现方式中,数据获取请求的发送端,可以理解为发送数据获取请求的前端(例如上述应用客户端、web网页客户端等)。应理解的是,本领域技术人员可以采用本领域已知的数据传输方式,将获取到的告警数据返回给数据获取请求的发送端,对此
本公开实施例不作限制。
43.在本公开实施例中,在获取到数据获取请求中的告警列表后,通过先查询分布式缓存中是否存在告警数据,并依据查询结果来获取告警数据,可以减少访问数据库的次数,从而减少数据库本身的运算时长以及接口调用的访问时长,提高数据查询效率。
44.如上所述,可以从数据库中批量读取告警数据。在一种可能的实现方式中,在步骤s13中,向数据获取请求的发送端返回获取到的告警数据,包括:
45.根据获取的告警数据,确定告警检测任务对目标视频的检测结果;在检测结果指示目标视频中的告警事件未结束的情况下,向数据获取请求的发送端返回从数据库中批量读取的告警数据。通过该方式,可以有效地返回批量读取的告警数据,提高数据读取效率。
46.其中,告警检测任务用于检测目标视频中发生的告警事件,或者说可以检测目标视频中是否发生告警事件,并在检测到发生告警事件的情况下,生成告警事件对应的告警数据,告警数据可以包括目标视频中发生告警事件时的告警图像以及该告警图像对应的检测结果中的至少一种。
47.其中,根据获取的告警数据,确定告警检测任务对目标视频的检测结果,可以包括:通过循环地获取批量告警数据,分析出批量告警数据中指示告警事件是否结束的检测结果,即告警检测任务对目标视频的检测结果。例如,某个告警检测任务在检测到发生告警事件期间产生了500张抓拍的告警图像,单次获取100张(用户可以设置单次获取的数量),然后分析这100张告警图像的检测结果是否包含指示告警结束的检测结果,若未找到指示告警事件结束的检测结果(也即检测结果指示告警事件未结束),则返回批量读取的告警数据,若找到了指示告警事件结束的检测结果,则可以更新相应的状态信息。
48.其中,目标视频可以例如是目标场景中设置的摄像头所采集的视频,告警图像可以是从目标视频中提取的发生告警事件时的图像帧,或还可以是目标场景中发生告警事件时摄像头所抓拍的图像,对此本公开实施例不作限制。目标场景例如可以是街道、厨房等需要检测告警事件的场景,告警事件可以理解为触发告警的异常事件,例如车辆的违章事件、厨师的违规操作事件等。应理解的是,本公开实施例对于目标视频的来源、告警事件的类型等不作限制,以及,本领域技术人员可以采用本领域已知的视频检测技术,设计并开发出用于检测视频中告警事件的告警检测任务,对此本公开实施例不作限制。
49.其中,检测结果可以例如包括目标视频中发生告警事件的对象、告警事件的类型等,其中,例如可以通过检测框指示目标视频中发生告警事件的对象。应理解的是,不同告警检测任务可以检测不同的告警事件,可以对目标视频执行至少一种告警检测任务,得到目标视频中不同告警事件的检测结果,检测结果可以指示目标视频中是否发生告警事件,也可以在发生告警事件后指示目标视频中的告警事件是否结束。
50.如上所述,检测结果可以指示目标视频中的告警事件是否已结束,在一种可能的实现方式中,在获取到告警检测任务对目标视频的检测结果之后,在步骤s13中,向数据获取请求的发送端返回获取到的告警数据,还包括:
51.在检测结果指示目标视频中的告警事件已结束的情况下,判断本地缓存中是否存在告警事件对应的状态信息;在本地缓存中存在状态信息的情况下,向数据获取请求的发送端返回从数据库中批量读取的告警数据,也可以在返回告警信息的同时返回最新的状态信息。通过该方式,可以有效地返回批量读取的告警数据,提高数据读取效率。
52.其中,状态信息包括告警检测任务的任务状态信息与告警事件的告警状态信息中的至少一种,任务状态信息表征告警检测任务是否结束,告警状态信息表征告警事件是否结束。应理解的是,告警检测任务是否结束,也即告警检测任务是否结束对目标视频的告警检测,告警事件是否结束,也即目标视频中的告警事件是否结束。
53.其中,本地缓存可以理解为上述执行主体本地的缓存,本地缓存可以用于存放告警事件对应的状态信息,若本地缓存中已存有告警事件的状态信息,意味着本地缓存中已记录告警事件对应的状态信息,那么可以直接向数据获取请求的发送端返回从数据库中批量读取的告警数据,也可以在返回告警信息的同时返回最新的状态信息。
54.在一种可能的实现方式中,在判断本地缓存中是否存在告警事件对应的状态信息之后,在步骤s13中,向数据获取请求的发送端返回获取到的告警数据,还包括:
55.在本地缓存中不存在状态信息的情况下,为状态信息设置本地缓存,并向数据获取请求的发送端返回从数据库中批量读取的告警数据;根据告警检测任务的检测结果,执行异步更新任务,异步更新任务包括与为状态信息设置本地缓存的任务异步,和/或,与向数据获取请求的发送端返回从数据库中批量读取的告警数据的任务异步的更新任务;以及,异步更新任务包括:异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新分布式缓存中的告警数据中的至少一种。
56.通过该方式,无需等待数据库中的状态信息和/或分布式缓存中告警数据更新后,再向数据获取请求的发送端返回告警数据,提高数据读取效率,并且可以实现数据库中的状态信息与分布式缓存中告警数据的异步更新,也即能够在任务状态和/或告警状态发生变化之后,异步地执行告警数据的返回与底层数据库中状态信息的写入更新,无需等待底层数据库中写入更新状态信息后再返回告警数据。
57.应理解的是,本领域技术人员可以采用本领域已知的本地缓存设置技术,异步地为告警事件对应的状态信息设置本地缓存,对此本公开实施例不作限制。如上所述,告警检测任务的检测结果可以指示告警事件是否结束,在告警事件未结束的情况下,可以异步地与向数据获取请求的发送端返回从数据库中批量读取的告警数据;或者,在告警事件结束的情况下,可以异步更新数据库中的告警状态信息为告警结束,并异步更新分布式缓存中的告警数据。
58.在一种可能的实现方式中,检测结果中还可以携带告警检测任务的任务状态信息,这样可以实现根据告警检测任务的检测结果,异步更新数据库中的任务状态信息。当然,还可以单独调用告警检测任务对外提供的相关接口,来查询告警检测任务的任务状态信息,并基于查询到的任务状态信息,更新数据库中的任务状态信息,对此本公开实施例不作限制。
59.其中,异步更新数据库中的任务状态信息,可以理解为,将数据库中的任务状态信息更新为告警检测任务当前最新的告警状态,例如,若告警检测任务当前已结束对目标视频的告警检测,则将任务状态信息更新为任务结束;异步更新数据库中的告警状态信息,可以理解为,将数据库中的告警状态信息更新为告警事件当前最新的告警状态,例如,检测结果指示告警事件结束,则将告警状态信息更新为告警结束;以及若检测结果指示告警事件结束,则可以异步更新分布式缓存中的告警数据,也即将为告警数据设置的分布式缓存,异步更新为存有告警事件对应的全部告警数据,也即更新后的分布式缓存中会存有告警事件
对应的全部告警数据,也即从告警事件开始到告警事件结束之间产生的告警数据。
60.如上所述,异步更新任务可能包括异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新分布式缓存中的告警数据中的至少一种。在一种可能的实现方式中,根据告警检测任务的检测结果,执行异步更新任务,包括:利用线程池,为异步更新任务分别分配处理线程;利用处理线程,根据告警检测任务的检测结果,执行异步更新任务。通过该方式,可以实现多线程并发执行异步更新任务,提高数据库中状态信息和/或分布式缓存中告警数据的更新效率。
61.其中,线程池中可存有空闲的处理线程,可以利用线程池为各个异步更新任务各自分配一个空闲的处理线程,利用各个异步更新任务对应的各个空闲的处理线程,并发执行异步更新任务,异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新分布式缓存中的告警数据。应理解的是,对于线程池中空闲的处理线程的具体分配方式,本公开实施例不作限制。
62.图2示出根据本公开实施例的一种数据读取方法的流程示意图,如图2所示,该数据读取方法包括:
63.获取数据获取请求中的告警列表;判断分布式缓存中是否存在对应的告警数据;若分布式缓存中存在告警数据,则从分布式缓存中读取告警数据,并返回读取的告警数据,也即向数据获取请求的发送端返回读取的告警数据;
64.若分布式缓存中不存在告警数据,则根据告警列表,从数据库中单次批量读取告警数据,也即从数据库中单次批量读取告警列表指示的全部告警数据,并为批量读取的告警数据设置分布式缓存以及向数据获取请求的发送端返回读取的告警数据;其中,在从数据库中批量读取告警数据时,可以根据告警列表生成批量读取请求,通过批量读取请求从数据库批量读取告警数据;
65.在向数据获取请求的发送端返回读取的告警数据时,可以先判断告警事件是否结束,也即判断告警事件是否是结束状态;在告警事件不是结束状态的情况下,可以将从数据库中批量读取的告警数据返回给上述发送端;在告警事件是结束状态的情况下,同步更新数据库中记录的状态信息,并从本地缓存中查询异步更新的状态信息;
66.若本地缓存中查询到存在上述状态信息,则向上述发送端返回批量读取的告警数据;若本地缓存中查询到不存在上述状态信息,则为状态信息设置本地缓存并向上述发送端返回批量读取的告警数据;以及为更新数据库中的状态信息与更新分布式缓存中的告警数据分别分配处理线程,并发异步更新数据库中的状态信息与分布式缓存中的告警数据。
67.根据本公开的实施例,能够利用本地缓存、分布式缓存、异步更新、多线程处理等方式,优化数据库的接口访问,提升java应用系统的性能,相应减少访问请求的响应时长,间接地提高数据库的吞吐量,提高资源利用率,提升用户体验,提升数据读取效率。
68.可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
69.此外,本公开还提供了数据读取装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种数据读取方法,相应技术方案和描述和参见方法部分的
相应记载,不再赘述。
70.图3示出根据本公开实施例的数据读取装置的框图,如图3所示,所述装置包括:
71.获取模块101,用于响应于接收到针对告警数据的数据获取请求,获取所述数据获取请求中的告警列表,所述告警列表用于指示待获取的告警数据;
72.查询模块102,用于根据所述告警列表,查询分布式缓存中是否存在所述告警数据,得到查询结果;
73.返回模块103,用于根据所述查询结果,获取所述告警数据,并向所述数据获取请求的发送端返回获取到的告警数据。
74.在一种可能的实现方式中,所述返回模块103,包括:读取子模块,用于在所述查询结果指示所述分布式缓存中存在所述告警数据的情况下,从所述分布式缓存中读取所述告警数据。
75.在一种可能的实现方式中,所述返回模块103,包括:批量读取子模块,用于在所述查询结果指示所述分布式缓存中不存在所述告警数据的情况下,根据所述告警列表,从数据库中批量读取所述告警数据,并为所述告警数据设置分布式缓存。
76.在一种可能的实现方式中,所述返回模块103,包括:检测结果确定子模块,用于根据获取的所述告警数据,确定告警检测任务对目标视频的检测结果,所述告警检测任务用于检测所述目标视频中发生的告警事件;返回子模块,用于在所述检测结果指示所述目标视频中的告警事件未结束的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据。
77.在一种可能的实现方式中,在获取到所述告警检测任务对目标视频的检测结果之后,所述返回模块103,还包括:判断子模块,用于在所述检测结果指示所述目标视频中的告警事件已结束的情况下,判断本地缓存中是否存在所述告警事件对应的状态信息;批量返回子模块,用于在所述本地缓存中存在所述状态信息的情况下,向所述数据获取请求的发送端返回从数据库中批量读取的告警数据;其中,所述状态信息包括所述告警检测任务的任务状态信息与所述告警事件的告警状态信息中的至少一种,所述任务状态信息表征所述告警检测任务是否结束,所述告警状态信息表征所述告警事件是否结束。
78.在一种可能的实现方式中,在判断本地缓存中是否存在所述告警事件对应的状态信息之后,所述返回模块103,还包括:缓存设置子模块,用于在所述本地缓存中不存在所述状态信息的情况下,为所述状态信息设置本地缓存,并向所述数据获取请求的发送端返回从数据库中批量读取的告警数据;任务执行子模块,用于根据所述告警检测任务的检测结果,执行异步更新任务,所述异步更新任务包括与为所述状态信息设置本地缓存的任务异步,和/或,与向所述数据获取请求的发送端返回从数据库中批量读取的告警数据的任务异步的更新任务;以及,所述异步更新任务包括:异步更新数据库中的任务状态信息、异步更新数据库中的告警状态信息以及异步更新所述分布式缓存中的告警数据中的至少一种。
79.在一种可能的实现方式中,所述根据所述告警检测任务的检测结果,执行异步更新任务,包括:利用线程池,为所述异步更新任务分别分配处理线程;利用所述处理线程,根据所述告警检测任务的检测结果,执行所述异步更新任务。
80.在本公开实施例中,在获取到数据获取请求中的告警列表后,通过先查询分布式缓存中是否存在告警数据,并依据查询结果来获取告警数据,可以减少访问数据库的次数,
提高数据读取效率。
81.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
82.本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
83.本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
84.本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
85.电子设备可以被提供为终端、服务器或其它形态的设备。
86.图4示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
87.电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(windows server
tm
),苹果公司推出的基于图形用户界面操作系统(mac os x
tm
),多用户多进程的计算机操作系统(unix
tm
),自由和开放原代码的类unix操作系统(linux
tm
),开放原代码的类unix操作系统(freebsd
tm
)或类似。
88.在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
89.本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
90.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
91.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
92.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
93.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
94.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
95.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
96.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动
作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
97.该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
98.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
99.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
100.若本技术技术方案涉及个人信息,应用本技术技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本技术技术方案涉及敏感个人信息,应用本技术技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
101.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

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

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

相关文献