本技术属于通信,尤其涉及一种事件订阅方法、装置、计算机可读存储介质及终端设备。
背景技术:
1、网络摄像机(ip camera,ipc)的事件上报功能是其基本功能之一。通过事件上报功能,ipc能够实时检测和向网络硬盘录像机(network video recorder,nvr)报告各种关键事件,如运动检测、镜头遮挡、人形识别、人脸识别、车辆识别等;这些关键事件能够使管理人员能更高效地筛选监控数据,提升监控效率。然而,现有技术中网络摄像机的事件订阅方法无法灵活地适应实际业务需求,导致用户体验较差。
技术实现思路
1、有鉴于此,本技术实施例提供了一种事件订阅方法、装置、计算机可读存储介质及终端设备,以解决现有技术中的事件订阅方法无法灵活地适应实际业务需求,导致用户体验较差的问题。
2、本技术实施例的第一方面提供了一种事件订阅方法,应用于发布端,所述方法可以包括:
3、响应于订阅端发送的订阅列表请求,向所述订阅端下发预设的可订阅列表;其中,所述可订阅列表包括各个可订阅主题;
4、响应于所述订阅端发送的订阅请求,根据所述订阅请求进行事件监测;其中,所述订阅请求中包括所述订阅端订阅的各个订阅主题;
5、若事件监测结果触发订阅主题,则根据所述事件监测结果生成对应的事件报文,并将所述事件报文上报至所述订阅端。
6、在第一方面的一种具体实现方式中,所述各个可订阅主题包括各个可订阅子设备主题,可订阅子设备主题为由与所述发布端连接的外围子设备产生的可订阅主题。
7、在第一方面的一种具体实现方式中,所述根据所述事件监测结果生成对应的事件报文,可以包括:
8、根据所述事件监测结果和预设的报文格式,生成对应的事件报文;
9、其中,所述报文格式包括数据交换格式拓展部分,或者,所述报文格式包括数据交换格式拓展部分和图像二进制数据部分,所述数据交换格式拓展部分用于填充所述事件报文的报文主体,所述图像二进制数据部分用于填充图像或者特征数据的二进制数据。
10、在第一方面的一种具体实现方式中,在所述响应于订阅端的订阅列表请求,向所述订阅端下发预设的订阅列表之前,还可以包括:
11、响应于所述订阅端发送的鉴权请求,对所述订阅端进行鉴权;
12、若鉴权成功,则向所述订阅端发送鉴权成功回复信息。
13、在第一方面的一种具体实现方式中,还可以包括:
14、在预设的接收时长内接收所述订阅端发送的心跳包;
15、若在所述接收时长内接收到所述心跳包,则向所述订阅端发送心跳包回复信息;其中,所述心跳包回复信息用于维持与所述订阅端的连接。
16、在第一方面的一种具体实现方式中,还可以包括:
17、响应于所述订阅端发送的退订请求,确定与所述退订请求对应的退订主题;
18、停止对所述退订主题进行事件监测与事件上报。
19、本技术实施例的第二方面提供了一种事件订阅方法,应用于订阅端,所述方法可以包括:
20、向发布端发送订阅列表请求;其中,所述订阅列表请求用于指示所述发布端发送可订阅列表;
21、接收所述发布端下发的可订阅列表;其中,所述可订阅列表包括各个可订阅主题;
22、根据所述可订阅列表,确定各个订阅主题;
23、根据各个订阅主题,向所述发布端发送订阅请求;其中,所述订阅请求用于指示所述发布端对各个订阅主题进行事件监测和事件上报;
24、接收所述发布端上报的事件报文。
25、在第二方面的一种具体实现方式中,在所述向发布端发送订阅列表请求之前,还可以包括:
26、根据所述订阅端的账号信息,向所述发布端发送鉴权请求;
27、若接收到所述发布端发送的鉴权成功回复信息,则确认鉴权成功。
28、在第二方面的一种具体实现方式中,还可以包括:
29、按照预设的发送时间间隔向所述发布端发送心跳包;其中,所述心跳包用于维持与所述发布端的连接;
30、若在预设的接收时长内接收到所述发布端发送的心跳包回复信息,则维持与所述发布端的连接。
31、在第二方面的一种具体实现方式中,还可以包括:
32、根据退订主题,确定对应的退订请求;
33、向所述发布端发送所述退订请求;其中,所述退订请求用于指示所述发布端停止对退订主题进行事件监测和事件上报。
34、本技术实施例的第三方面提供了一种事件订阅装置,应用于发布端,所述装置可以包括:
35、列表下发模块,用于响应于订阅端发送的订阅列表请求,向所述订阅端下发预设的可订阅列表;其中,所述可订阅列表包括各个可订阅主题;
36、事件监测模块,用于响应于所述订阅端发送的订阅请求,根据所述订阅请求进行事件监测;其中,所述订阅请求中包括所述订阅端订阅的各个订阅主题;
37、事件上报模块,用于若事件监测结果触发订阅主题,则根据所述事件监测结果生成对应的事件报文,并将所述事件报文上报至所述订阅端。
38、在第三方面的一种具体实现方式中,所述各个可订阅主题包括各个可订阅子设备主题,可订阅子设备主题为由与所述发布端连接的外围子设备产生的可订阅主题。
39、在第三方面的一种具体实现方式中,所述事件上报模块还可以包括:
40、事件报文生成子模块,用于根据所述事件监测结果和预设的报文格式,生成对应的事件报文;其中,所述报文格式包括数据交换格式拓展部分,或者,所述报文格式包括数据交换格式拓展部分和图像二进制数据部分,所述数据交换格式拓展部分用于填充所述事件报文的报文主体,所述图像二进制数据部分用于填充图像或者特征数据的二进制数据。
41、在第三方面的一种具体实现方式中,所述事件订阅装置还可以包括:
42、鉴权模块,用于响应于所述订阅端发送的鉴权请求,对所述订阅端进行鉴权;
43、回复信息发送模块,用于若鉴权成功,则向所述订阅端发送鉴权成功回复信息。
44、在第三方面的一种具体实现方式中,所述事件订阅装置还可以包括:
45、心跳包接收模块,用于在预设的接收时长内接收所述订阅端发送的心跳包;
46、信息发送模块,用于若在所述接收时长内接收到所述心跳包,则向所述订阅端发送心跳包回复信息;其中,所述心跳包回复信息用于维持与所述订阅端的连接。
47、在第三方面的一种具体实现方式中,所述事件订阅装置还可以包括:
48、退订主题确定模块,用于响应于所述订阅端发送的退订请求,确定与所述退订请求对应的退订主题;
49、停止上报模块,用于停止对所述退订主题进行事件监测与事件上报。
50、本技术实施例的第四方面提供了一种事件订阅装置,应用于订阅端,所述装置可以包括:
51、列表请求发送模块,用于向发布端发送订阅列表请求;其中,所述订阅列表请求用于指示所述发布端发送可订阅列表;
52、列表接收模块,用于接收所述发布端下发的可订阅列表;其中,所述可订阅列表包括各个可订阅主题;
53、订阅主题确定模块,用于根据所述可订阅列表,确定各个订阅主题;
54、订阅请求发送模块,用于根据各个订阅主题,向所述发布端发送订阅请求;其中,所述订阅请求用于指示所述发布端对各个订阅主题进行事件监测和事件上报;
55、事件报文接收模块,用于接收所述发布端上报的事件报文。
56、在第四方面的一种具体实现方式中,所述装置还可以包括:
57、鉴权请求模块,用于根据所述订阅端的账号信息,向所述发布端发送鉴权请求;
58、鉴权确认模块,用于若接收到所述发布端发送的鉴权成功回复信息,则确认鉴权成功。
59、在第四方面的一种具体实现方式中,所述装置还可以包括:
60、心跳包发送模块,用于按照预设的发送时间间隔向所述发布端发送心跳包;其中,所述心跳包用于维持与所述发布端的连接;
61、连接维持模块,用于若在预设的接收时长内接收到所述发布端发送的心跳包回复信息,则维持与所述发布端的连接。
62、在第四方面的一种具体实现方式中,所述装置还可以包括:
63、退订请求确定模块,用于根据退订主题,确定对应的退订请求;
64、退订请求发送模块,用于向所述发布端发送所述退订请求;其中,所述退订请求用于指示所述发布端停止对退订主题进行事件监测和事件上报。
65、本技术实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种发布端一侧的事件订阅方法的步骤;或者,实现上述任一种订阅端一侧的事件订阅方法的步骤。
66、本技术实施例的第六方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种发布端一侧的事件订阅方法的步骤;或者,实现上述任一种订阅端一侧的事件订阅方法的步骤。
67、本技术实施例的第七方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述任一种发布端一侧的事件订阅方法的步骤;或者,执行上述任一种订阅端一侧的事件订阅方法的步骤。
68、本技术实施例与现有技术相比存在的有益效果是:在本技术实施例中,发布端可以向订阅端下发可订阅列表,从而订阅端可以得知各个可订阅主题,据此,订阅端可以根据实际业务需求确定出各个订阅主题,并向发布端发送订阅请求;发布端根据订阅端发送的订阅请求,可以进行事件监测与事件上报。通过本技术实施例,订阅端可以根据实际需求确定出各个订阅主题,而发布端则可以根据对应的订阅请求进行事件监测和事件上报,从而可以更灵活地适应实际业务需求,有助于提升用户体验。