CN113656683A - 订阅数据推送方法、装置、系统、电子设备及存储介质 - Google Patents
订阅数据推送方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113656683A CN113656683A CN202110786258.9A CN202110786258A CN113656683A CN 113656683 A CN113656683 A CN 113656683A CN 202110786258 A CN202110786258 A CN 202110786258A CN 113656683 A CN113656683 A CN 113656683A
- Authority
- CN
- China
- Prior art keywords
- data
- subscription
- current
- structured data
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012216 screening Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 54
- 238000013500 data storage Methods 0.000 claims description 27
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种订阅数据推送方法、装置、系统、电子设备及存储介质,其中订阅数据推送方法和装置应用于订阅数据推送系统中的存储节点;所述方法包括:获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
Description
技术领域
本发明涉及视频图像技术领域,具体而言,涉及一种订阅数据推送方法、装置、系统、电子设备及存储介质。
背景技术
订阅数据推送系统通常包括用于存储视频图像信息数据的多个存储节点,当用户需要获取存储节点中存储的视频或者图像信息(将用户要获取的数据推送给用户的过程也称为数据出库)时,通常采用订阅方式,首先通过订阅数据推送系统的入口创建订阅任务,订阅任务中指定需要订阅的视频或者图像信息的存储时间、类型及所需的数据形式等属性信息,存储节点执行订阅任务,向用户发送满足用户要求的视频或者图像信息。
现有的订阅方式,一个节点上部署任务服务,多个存储节点上部署数据推送服务,部署有任务服务的节点接收用户发起的订阅任务,并将订阅任务分配给某个存储节点上的数据推送服务,该存储节点上的数据推送服务从各存储节点上获取订阅任务对应的数据,推送给订阅接收地址。可见,各存储节点中满足订阅任务要求的视频或者图像信息都会由该存储节点上的数据推送服务推送至用户,由此导致视频或者图像信息通过该存储节点返回用户时给网络带宽带来巨大的压力,进而降低了出库效率。
发明内容
本发明的目的在于提供一种订阅数据推送方法、装置、系统、电子设备及存储介质,每个存储节点对存储于其上的订阅数据进行出库,以实现多个存储节点并发出库,提高了出库效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种订阅数据推送方法,应用于订阅数据推送系统中的存储节点;所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址;所述方法包括:获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
第二方面,本发明提供一种订阅数据推送装置,所述订阅数据推送装置为订阅数据推送系统中的存储节点,所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址;所述装置包括:任务获取模块,用于获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;数据查找模块,用于查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;筛选模块,用于根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;处理模块,用于根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;推送模块,用于将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
第三方面,本发明提供一种订阅数据推送方法,应用于订阅数据推送系统,所述订阅数据推送系统包括多个存储节点和一网关;所述网关接收入库请求,并将入库请求路由至所述多个存储节点中的一个;多个所述存储节点执行本发明第一方面提供订阅数据推送方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
第四方面,本发明提供一种订阅数据推送系统,所述订阅数据推送系统包括多个存储节点和一网关;所述网关接收入库请求,并将入库请求路由至所述多个存储节点中的一个;多个所述存储节点执行本发明第一方面提供订阅数据推送方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
第五方面,本发明提供一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的订阅数据推送方法。
第六方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的订阅数据推送方法。
相对于现有技术,本发明使入库数据分布式存储于各存储节点,在订阅任务有更新时及时地通知所有存储节点,使所有存储节点可以并行执行更新后的订阅任务,以实现所有存储节点并发出库,提高了出库效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的订阅数据推送系统的架构图。
图2示出了本发明实施例提供的存储节点的方框示意图。
图3示出了本发明实施例提供的一种订阅数据推送方法的流程图。
图4示出了本发明实施例提供的一种订阅数据推送装置的流程图。
图标:10-存储节点;11-处理器;12-存储器;13-总线;14-通信接口;20-网关;30-外部系统;100-订阅数据推送装置;110-任务获取模块;120-数据查找模块;130-筛选模块;140-处理模块;150-推送模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
现有技术中,订阅数据推送系统通常包括存储节点,还可以包括网关,其中,存储节点用于存储视频、图像等数据,网关用于实现订阅数据推送系统和外部系统之间的通信。请参考图1,图1示出了本发明实施例提供的订阅数据推送系统的架构图,订阅数据推送系统包括存储节点10、网关20,外部系统30和网关20通信连接,网关20与存储节点10通信连接,当网关20为多个时,多个网关20与多个存储节点10可以通过网络通信,存储节点10也可以为多个,多个存储节点10可以组成存储集群,同一个存储集群中的存储节点10之间可以通过专门的组件进行通信。
外部系统30通过网关20获取存储节点10中存储的视频或图像数据时,通常采用订阅方式,订阅是订阅者(即请求视频或图像的外部系统30)向数据(在视频图像信息系统中,数据信息通常指视频数据或图像数据)持有者发送的订阅请求,在一种情况下,订阅者和数据持有者之间可以是上级和下级的关系,此时,上级系统向下级系统发起订阅请求,下级系统把符合条件的数据返回给上级系统,上级系统和下级系统是相对而言的,上下级可以理解为按管辖权区分时的大小关系,例如,上级系统可以是总公司的视频图像信息系统,对应的下级系统可以是分公司的视频图像信息系统等;上下级还可以理解为级联时系统架构中的上下连接关系,例如,某个局域网为上级系统,该局域网包括的子网为下级系统。另一种情况下,订阅者和数据持有者也可以是同级别的系统,或者是跨越不同管辖区域的单位,或者是不同网络类型的系统。视频或者图像数据可以涵盖人脸、人员、机动车、非机动车、物品、场景等类型的数据。
订阅请求通常也称为订阅任务,订阅者发起订阅任务,存储节点10执行订阅任务,以便将满足订阅任务要求的视频或者图片返回至订阅者,订阅任务的要求通常包括、但不限于订阅时间(即视频或者图片产生或存储的时间)、订阅内容接收地址、订阅内容类型等。订阅者也可以对订阅任务进行更新操作,更新操作包括新建订阅任务、修改订阅任务、删除订阅任务和查询订阅任务,当订阅任务更新时,存储节点10根据更新后的订阅任务进行相应的操作,例如,正在订阅任务被修改后,存储节点10执行修改后的订阅任务,以便将满足修改后的订阅任务的视频或者图片返回至订阅者。
现有技术中,订阅任务由多个存储节点10中的其中一个存储节点10统一管理,即外部系统通过网关20将订阅任务下发至管理订阅任务的存储节点10,由该存储节点10统一负责处理该订阅任务,其他存储节点10上符合订阅任务要求的视频或者图像最终通过该存储节点10出库(推送给订阅者),也就是说,订阅数据推送的出口只有一个,发明人发现,在此情况下出库效率特别低,以500KB的图片为例,在千兆网条件下,每秒最多只能推送1000/8MBps÷500/1024MB=256个图片。这还没有将入库(即视频或图片存储至存储节点)占据的带宽计算在内。一般中型规模的订阅数据推送系统的外部系统的接入设备的数量可达成百上千,大规模的订阅数据推送系统的接入设备数量甚或数万。以每个接入设备每秒平均抓拍0.5张图片举例,1000路接入设备每秒就能产生500张图。当入库(数据被存入订阅数据推送系统的存储节点)的速度大于每秒256个图片时,出库速度将会永远落后于入库速度,造成数据积压。视频和图片具有存储周期(到期后的视频和图片被删除),不可能无限积压下去,最终会有视频和/或图片来不及向订阅者推送即因到达存储周期而被删除。另外,在存储节点10之间也将产生图片数据传输,进一步增加了消耗的系统资源。由以上分析可知,只有一个出库出口导致视频和/或图片传输时给网络带宽造成极大的压力,最终导致出库效率低下。
针对上述问题以及对上述问题的分析,本申请实施例提出一种订阅数据推送方法、装置、存储节点及存储介质,可以实现所有存储节点并发出库,由此提高了出库效率,下面将对其进行详细描述。
请参照图2,图2提供了图1中存储节点10的方框示意图。存储节点10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与网关20通信连接,存储节点10之间通过网络通信连接。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如本申请实施例的订阅数据推送装置,订阅数据推送装置包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本申请实施例的订阅数据推送方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
在图1和图2的基础上,本发明实施例提供一种订阅数据推送方法,该订阅数据推送方法可以应用于图1和图2中的存储节点10,所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址。
一个对象数据中可以包含至少一个子对象数据。可以理解的是,当一个对象数据包含多个子对象数据时,子对象数据与和其具有对应关系的子结构化数据组成子数据对,子结构化数据包含与该子结构化数据组成子数据对的子对象数据在本存储节点上的存储地址。
请参照图3,图3示出了本发明实施例提供的一种订阅数据推送方法的流程图,该方法包括以下步骤:
步骤S100,获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端、当前筛选条件。
一例中,存储节点上维护一个节点订阅任务列表,从其对应的节点订阅任务列表中获取当前订阅任务。节点订阅任务列表中维护有待执行的多个订阅任务,订阅任务中指定了其所要订阅的数据对应的时间段,根据订阅数据对应的时间段,可确定开始执行订阅任务的时间。当前订阅任务是指当前要执行的订阅任务。若某个订阅任务开始执行的时间到达,将该订阅任务作为当前订阅任务。例如,当前时刻为4点,某订阅任务订阅的是5点-6点产生的数据,则当到达5点时,订阅任务所要订阅的数据开始产生,订阅任务准备开始执行,将该订阅任务作为当前订阅任务。再例如,当前时刻为4点,某订阅任务订阅的是2点-3点产生的数据,则订阅任务所要订阅的数据已经产生,可直接将该订阅任务作为当前订阅任务。
除了指定订阅的数据对应的时间段之外,订阅任务中还可指定数据接收端、筛选条件。筛选条件表明订阅任务所要订阅的数据有何要求。相应的,当前订阅任务中可指定当前订阅时间段、当前接收端和当前筛选条件。例如,当前订阅时间段为5点-6点,当前筛选条件为“车辆彩色局部图”,表明当前订阅任务订阅的是5点-6点产生的、包含的目标为车辆、图像为彩色图像、图像视野为局部图的数据。
步骤S200,查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是其对应的对象数据存储于所述存储节点的结构化数据。
对象数据可以是视频或图像。对象数据对应的结构化数据可以是用于描述对象数据的信息,例如对象数据对应的结构化数据可以包含对象数据的ID、对象数据中所包含目标的类型、对象数据中所包含目标的属性、拍摄对象数据的设备的ID、对象数据的图像类型、对象数据的拍摄时间、对象数据的图像视野中的一种或多种。对象数据对应的结构化数据中还可以包括对象数据在存储节点上的存储地址。一个对象数据中可以包括相互关联的多个子对象数据,例如一个对象数据中可以包含3个子对象数据,3个子对象数据分别为:一张全景图(全景图中包含两辆车)、全景图对应的车辆局部图1、全景图中包含的车辆局部图2。相应的,该对象数据对应的结构化数据中也包含3个子结构化数据,3个子结构化数据分别包括其对应的子对象数据在存储节点上的存储地址。
结构化数据在当前订阅时间段内,可以指结构化数据产生时间在当前订阅时间段内,也可以指结构化数据对应的对象数据的产生时间在当前订阅时间段内,还可以指结构化数据存储于结构化数据存储空间的时间在当前订阅时间段内,或指对象数据存储与存储节点的时间在当前订阅时间段内,还可以指结构化数据或对象数据对应的入库数据产生的时间或达到订阅数据推送系统的时间在当前订阅时间段内。
多个存储节点组成存储集群。订阅数据推送系统中还有用于存储结构化数据的结构化数据存储空间。一例中,每个存I储节点既存储有对象数据,又存储有结构化数据,此时,多个存储节点组成对象存储集群和结构化存储集群。即,结构化数据存储空间分布于各存储节点。另一例中,每个存储节点都存储有对象数据,少量存储节点存储有结构化数据。即,结构化数据存储空间分布于某些存储节点。另一例中,每个存储节点都存储有对象数据,单为结构化数据设置一结构化数据存储设备,结构化存储设备存入所有结构化数据。因此,当一个存储节点存储有某对象数据时,与该对象数据组成一个数据对的结构化数据可以存储于该存储节点,也可以不存储在该存储节点,例如可以将集群中各存储节点的对象数据对应的结构化数据统一存储在一个结构化数据存储设备。需要注意的是,无论结构化数据存储在其他存储节点,还是存储在统一的结构化数据存储空间,本存储节点均可通过与结构化存储空间的通信连接获取到结构化数据。
可理解的是,对象数据通常为视频、图像等,数据较大、频繁传输会占用较大带宽,结构化数据较小,传输过程不会对带宽、数据处理速度造成太大影响。因此,即便结构化数据和其对应的对象数据未存储于同一存储节点,必要时,对象数据的存储节点可从结构化数据所在存储空间获取结构化数据而不对带宽、数据处理速度造成太大影响。
对象数据可按一定策略均匀存储于各存储节点,如此,在执行当前订阅任务时,每个存储节点均查找当前订阅时段内的本节点结构化数据,根据本节点结构化数据生成本存储节点对应的待推送数据,再由本存储节点上的数据推送服务进行推送,即可实现多个存储节点对当前订阅任务所要订阅的订阅数据的并行推送。
一例中,对象数据所在的入库数据被路由到存储节点,存储节点将入库数据中的对象数据存储至存储节点,将入库数据中的对象数据删除或置空,并用在入库数据中添加对象数据在存储节点上的存储地址,得到对象数据对应的结构化数据,再将结构化数据存储至结构化数据存储空间。如前所述,结构化数据存储空间可以位于本存储节点,也可以位于其他存储节点,还可以位于结构化数据存储设备。
步骤S300,根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据。
实际场景不同,所要订阅的数据信息也不一样,例如,有些场景下,只需要车辆信息,有些场景下,只需要驾驶员的信息。为了使推送的订阅内容更符合接收端的需要,可设置筛选条件,通过筛选条件筛选出目标结构化数据。
结构化数据是对象数据的描述信息,包括对象数据的属性。筛选条件可以对应结构化数据中包含的一个属性或多个属性的组合,若结构化数据中某属性的属性值满足筛选条件中的属性值,则当前订阅时段内的本节点结构化数据是目标结构化数据。筛选条件还可设为任意值,即无论结构化数据中该属性的属性值为何值,均作为目标结构化数据。
一例中,以结构化数据中图像类型(TYPE)这一属性的取值作为筛选条件。该属性的属性值可以为车辆全景图、车辆彩色局部图、车牌二值化图、驾驶员面部特征图、车标、违章合成图、场景图等。
一例中,筛选条件中可要求图像类型为车牌二值化图,此时结构化数据的图像类型这一属性的属性值为车牌二值化图的结构化数据为目标结构化数据。一例中,筛选条件中可要求图像类型为一般图片(即任意值),即无论结构化数据的图像类型这一属性的属性值为何值,都将其作为目标结构化数据。
一个结构化数据包括多个子结构化数据时,使用筛选条件对当前订阅时段内的本节点结构化数据进行筛选的粒度可以是子结构化数据的粒度。例如,可以筛选出一个结构化数据中多个子结构化数据中的一个。
例如,本节点结构化数据有3个,数据格式如下表所示。
当前筛选条件1为图像类型为01即车辆大图,本节点结构化数据2(Type=10)、本节点结构化数据3(Type=14)不符合要求,被筛选出去,本节点结构化数据1的第1个子结构化数据也被筛选出去,只剩下本节点结构化数据1的第2个子结构化数据作为目标结构化数据。
当前筛选条件2为图像类型为100即一般图片,一般图片等同于全部,所以不对Type进行筛选,当前订阅时段内的本节点结构化数据均作为目标结构化数据。
步骤S400,根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据。
例如,一些订阅任务中,要求待推送数据为结构化数据,此时根据目标结构化数据即可得到待推送数据;一些订阅任务中,要求待推送数据为结构化数据和对象数据组合起来的数据,此时需要根据目标结构化数据对应的对象数据和目标结构化数据,得到待推送数据。
步骤S500,将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务对应的订阅数据的子集。
订阅数据推送系统中各存储节点均负责将对象数据存储在本存储节点的待推送数据推送至当前接收端,从而并行进行订阅数据推送。当对对象数据采用分布式存储时,待推送数据对应的对象数据存储于多个存储节点,也就是说,每个存储节点推送的待推送数据均为当前订阅任务对应的订阅数据的一部分,每个存储节点推送的待推送数据均为当前订阅任务对应的订阅数据的子集。
当前接收端可以是一个或多个IP地址,当前接收端是多个IP地址的情况下,订阅数据推送服务随机选择其中一个进行推送。连续多次(例如3次)推送失败,将取消该订阅任务。
本申请实施例中,入库数据在存入存储节点时已经分散存储在各存储节点上。理想情况下,各个存储节点上存储的数据是均匀分布的,对于向接收端推送256个图片的订阅任务,由于这些图片分散在各个存储节点上面,N个存储节点中的每个负责推送其中的数据量,出库速度随着存储节点数量增加而线性增加。在最糟糕情况下,所有入库数据存储在一个存储节点,那么出库速度退化到上述现有技术的速度。因此,本申请实施例所取得的出库速度一定是不小于上述现有技术的。并且,各存储节点之间将不会存在对象数据的传输,节省了内部带宽。
一种具体实施方式中,所述当前订阅任务还包括当前数据处理条件,所述当前数据处理条件包括图像视野和/或处理方式;每个结构化数据包括至少一个子结构化数据,每个子结构化数据对应一图像视野。
不同订阅任务的接收端对其所订阅的数据可能有不同要求,需要存储节点将结构化数据和/或对象数据处理成接收端需要的形式后推送给接收端。因此,在确定了目标结构化数据后,需要对目标结构化数据进行处理,得到满足接收端要求的待推送数据。
图像视野可以是子结构化数据中包含的一种属性,也可以是根据预先确定的图像类型和图像视野的对应关系、根据图像类型确定出来的值。例如图像类型为车辆全景图时,其对应的图像视野为全景图,图像类型为车牌彩色局部图时,其对应的图像视野为局部图。
通常情况下,对不同视野的子结构化数据的处理方式可能不同。当前数据处理条件用于表征在生成待推送数据时,需要对各种图像视野的子结构化数据进行何种方式的处理。子结构化数据对应的图像视野可以为全景图、局部图中一者;处理方式可以为在待推送数据中保留子结构化数据对应的子对象数据在存储节点的存储地址,在待推送数据中保留子结构化数据对应的子对象数据,从待推送数据中丢弃该子结构化数据中一者。当数据处理条件为图像视野和处理方式的组合时,可得到多种可能的数据处理条件,例如:对于全景图和局部图对应的子结构化数据,都保留其对应的子结构化数据对应的子对象数据在存储节点的存储地址;或者,对于全景图和局部图对应的子结构化数据,都保留其对应的子结构化数据对应的子对象数据;或者,对于全景图和局部图中的一者对应的子结构化数据,保留其对应的子对象数据在存储节点的存储地址,对于另一者对应的子结构化数据,保留其对应的子对象数据;或者,对于全景图和局部图中的一者对应的子结构化数据,从待推送数据中丢弃该子结构化数据,另一者对应的子结构化数据,在待推送数据中保留其对应的子对象数据。
步骤S400包括以下步骤:
步骤S410:若当前数据处理条件包括对第一图像视野的子结构化数据进行第一处理方式的处理,则确定所述目标结构化数据所述第一图像视野的子结构化数据为目标子结构化数据;其中,第一处理方式为在待推送数据中保留子结构化数据对应的子对象数据。
目标结构化数据中可能包括多条子结构化数据,将目标结构化数据所述第一图像视野的子结构化数据为目标子结构化数据。
步骤S420:根据所述目标子结构化数据中包括的子对象数据存储地址获取所述目标子结构化数据对应的目标子对象数据;
子结构化数据包含与该子结构化数据组成子数据对的子对象数据在本存储节点上的存储地址,因此可根据目标子结构化数据中包括的子对象数据存储地址获取目标子结构化数据对应的目标子对象数据。
步骤S430:将所述目标子对象数据添加到所述目标子结构化数据,得到所述待推送数据;
举例来说,第一处理方式为在待推送数据中保留子结构化数据对应的子对象数据,且第一图像视野为全景图,即当前数据处理条件中要求对全景图对应的子结构化数据,在待推送数据中保留(或称为加入)该子结构化数据对应的子对象数据。此时,可将目标结构化数据中,对应的子对象数据的图像视野为全景图的子结构化数据作为目标子结构化数据,根据目标子结构化数据中包括的子对象数据存储地址获取所述目标子结构化数据对应的目标子对象数据(必然存储于本存储节点上),将目标子对象数据加入目标子结构化数据中,得到所述待推送数据。可以理解的是,目标子结构化数据中,目标子对象数据的存储地址可以删除,也可以不删除。
第二处理方式为在待推送数据中保留子结构化数据对应的子对象数据的存储地址(通常体现为URL),因为子结构化数据中本来就包含子对象数据的存储地址,无需对目标结构化数据中对应于第二处理方式的目标子结构化数据进行处理。
若当前数据处理条件包括对第二图像视野的子结构化数据进行第二处理方式的处理,则不对所述目标结构化数据中第二图像视野的子结构化数据进行处理。
此种方式下,将待推送数据发送给接收端后,接收端可在需要获取对象数据时根据结构化数据中包含的对象数据的存储地址获取对象数据。
第三处理方式为从待推送数据中丢弃该子结构化数据,则将目标结构化数据中与第三处理方式对应的子结构化数据删除。
若当前数据处理条件包括对第三图像视野的子结构化数据进行第三处理方式的处理,则将所述目标结构化数据中第三图像视野的子结构化数据删除。
表1示出了数据处理条件的几个例子。
表1
例如,当前处理条件为:对全景图对应的子结构化数据进行第二处理方式的处理,对局部图对应的子结构化数据进行第一处理方式的处理。
用当前处理条件对当前筛选条件1筛选出的目标结构化数据进行处理。当前筛选条件1筛选出的目标结构化数据的图像类型为车辆大图,根据图像类型和图像视野的对应关系,车辆大图对应出来的图像视野为全景图,所以无需对目标结构化数据进行处理,直接推送即可。
用当前处理条件对当前筛选条件2筛选出的目标结构化数据进行处理。当前筛选条件2筛选出的本节点结构化数据对应的图像视野如下,本节点结构化数据1的第1个子结构化数据:局部图,本节点结构化数据1的第2个子结构化数据:全景图,本节点结构化数据2:局部图,本节点结构化数据3:全景图。因此,针对本节点结构化数据1的第1个子结构化数据和本节点结构化数据2,根据子结构化数据中的对象数据存储地址StoragePath获取原始BASE64字符串即对象数据,这样把键值对"Data":"BASE64字符串1"和"Data":"BASE64字符串3"添加到相应的结构化数据里(如果结构化数据中键Data存在但其值为空,则只将BASE64字符串1和BASE64字符串3添加到结构化数据中),本节点结构化数据1的第2个子结构化数据和本节点结构化数据3因为是全景图无需处理,得到待推送数据。
需要说明的是,上述步骤是订阅内容为图片时的一种具体实现方式,当订阅内容为视频时,也可以按照与之类似的方式进行处理,例如,从视频中挑选出具有代表性的图像帧,将图像帧按照与图片类似的方式进行处理,或者根据场景需要预先对视频进行分类,设定不同的类型等,本领域技术人员完全可以在本发明实施例记载的图片处理的方法、在不付出创造性的前提下,得到视频处理的方法。
可见,本具体实施方式中,在生成待推送数据的过程中,只需从本存储节点上获取目标子对象数据,各存储节点之间不会存在对象数据的传输,节省了内部带宽。而且,可以为不同图像视野的子对象数据设置不同的处理方式,大大增加了推送数据的灵活性,能够满足接收端的不同需求。
在一个具体实施方式中,订阅数据推送方法还包括:
步骤S500:接收被路由至存储节点的入库数据。
入库数据可以是图像采集设备拍摄的并经过结构化处理的数据,可包含于入库请求中,也可在入库请求被路由至某存储节点后被发送至该存储节点。因此,入库数据中通常包括对象数据(可以是图像的编码数据,例如base64编码数据)及对对象数据进行处理后得到的、用于对对象数据进行描述的结构化数据。
订阅数据推送系统中可包括多个存储节点,当接收到入库请求时,入库数据会被人工或自动(例如通过网关)路由至某个存储节点,以便该存储节点对入库数据中的对象数据进行存储,或者,对入库数据中的对象数据和结构化数据进行存储。
可以理解的是,不考虑入库数据被订阅的频率的情况下,为使多个入库数据在各存储节点中均匀存储,以便后续最大化的提高数据推送速度,路由可以遵循均衡策略。
订阅数据推送系统包括3个存储节点:存储节点a、存储节点b和存储节点c,待入库的入库数据有三个,分别为数据1、数据2和数据3,三个入库数据根据均衡原则,分别发往3个存储节点进行存储。
可选的,每一存储节点10在收到入库请求/入库数据时,优先把接收到的入库数据中的对象数据存储至本地,只有当存储本地失败时才会将该入库数据转发至其他存储节点10进行存储。
步骤S600:将所述入库数据中的对象数据存储于所述存储节点,得到所述入库数据对应的对象数据在所述存储节点上的第一对象数据存储地址。
若对象数据包括多个子对象数据,则将入库数据中的各子对象数据存储于本存储节点,得到各子对象数据在本存储节点上的子对象数据存储地址。
在本实施例中,将对象数据存储至存储节点,存储节点返回存储该对象数据的存储地址(也称为StoragePath),例如,将图片的BASE64字符串存入本存储节点,其中存储地址StoragePath中包括本存储节点10的IP地址,每一对象数据对应一个唯一的存储地址StoragePath。
步骤S700:将所述入库数据中的对象数据删除,将第一对象数据存储地址添加至所述入库数据,得到所述入库数据对应的结构化数据。
将入库数据中的对象数据删除,可以指将入库数据中的键值对"Data":"BASE64字符串"删除,也可以指将入库数据的原始BASE64字符串置空得到"Data":""。
若对象数据包括多个子对象数据,在将子对象数据存储至存储节点后,可将入库数据中的子对象数据删除,将每个子对象数据存储地址添加至其对应的子结构化数据,得到入库数据对应的结构化数据,也即子对象数据对应的子结构化数据。
步骤S800:将入库数据对应的结构化数据存入结构化数据存储空间。
如前所述,结构化数据可存入存储节点上的结构化数据存储空间,也可为多个存储节点设置共同的结构化数据存储空间。
本实施方式中,将入库数据中的结构化数据和对象数据分开存储,不仅便于结构化数据的索引,而且便于待推送数据的准备。如前所述,某些接收端需要的是不包括对象数据的待推送数据(例如出于对象数据的传输占用带宽考虑),只在用户需要查看某对象数据时,才根据待推送数据中包含的对象数据地址实时从订阅数据推送系统获取对象数据。
在一个具体实施方式中,步骤S100包括:
步骤S110:从存储节点对应的节点订阅任务列表中获取当前订阅任务。
每个存储节点可维护一节点订阅任务列表,各节点的节点订阅任务列表是相同的。如此,各节点的节点订阅任务列表中都包含A订阅任务,当A订阅任务成为当前订阅任务时,各节点可并行推送各自存储的A订阅任务对应的订阅数据。
相应的,订阅数据推送方法还包括:
步骤S900:接收所述节点订阅任务列表需要更新的更新消息,根据所述更新消息更新所述节点订阅任务列表。
一例中,由一个部署了订阅任务服务的第一存储节点接收任务更新请求,并根据更新请求向第二存储节点发送更新消息。
第一存储节点可以是图1中多个存储节点10中的任意一个存储节点,第二存储节点为多个存储节点10中除存储节点之外的存储节点10。任务更新请求可包括需要更新的目标订阅任务和更新的类型。目标订阅任务指用户想要对其进行更新的订阅任务,更新的类型包括创建、修改、查询和删除。当更新请求用于创建目标订阅任务时,该目标订阅任务会添加至订阅任务列表中,当更新请求用于修改目标订阅任务时,该订阅任务列表中目标订阅任务会根据更新请求进行修改,当更新请求用于删除目标订阅任务时,该目标订阅任务会从订阅任务列表中删除。
第一存储节点接收到任务更新请求后,为了使第二存储节点上的节点任务列表同步更新,第一存储节点需要将表征订阅任务列表有更新的更新消息发送至第二存储节点。
一例中,网关接收任务更新请求并路由至第一存储节点。
可以理解的是,如果第一存储节点也需要执行数据推送任务,第一存储节点也需要根据更新请求对本节点上的节点任务列表进行更新。
在本实施例中,若任务更新请求是对目标订阅任务进行创建、修改或删除,则第一存储节点向第二存储节点发送表征节点订阅任务列表有更新的更新消息,最终实现第一存储节点和第二存储节点并发执行创建或者修改后的目标订阅任务,达到目标订阅任务相关的订阅内容在第一存储节点和其他存储节点的同时推送的目的。
作为一种实现方式,当任务更新请求为创建目标订阅任务时,此时,任务更新请求可以包括创建命令和创建配置信息,创建命令指创建目标订阅任务的命令,创建配置信息用于表征要创建的目标订阅任务的配置,创建配置信息包括、但不限于目标订阅任务的名称、订阅时间、订阅内容接收地址等。例如,创建配置信息为:{task001;(20190101000000-20200101000000);http://photo.test.com/rurl2},其中,task001为目标订阅任务的名称,20190101000000-20200101000000为订阅时间,http://photo.test.com/rurl2为订阅内容接收地址。
作为另一种实现方式,当任务更新请求为修改目标订阅任务时,此时任务更新请求可以包括修改配置信息,修改配置信息可以包括、但不限于目标订阅任务的标识、订阅时间、订阅内容接收地址等。
在本实施例中,节点订阅任务列表中可以包括多个订阅任务,每一订阅任务可以包括该订阅任务的标识,及该订阅任务的订阅配置信息,可以根据目标订阅任务的标识判断订阅任务列表中是否存在目标订阅任务,若存在,则利用修改配置信息修改订阅任务列表中目标订阅任务的订阅配置信息,若不存在,则将目标订阅任务作为一个新的订阅任务添加至订阅任务列表中。
在本实施例中,若任务更新请求是对目标订阅任务进行删除时,第一存储节点向其他存储节点发送表征订阅任务列表有更新的更新消息,最终实现第一存储节点和其他存储节点的节点任务列表中删除目标订阅任务,若其正在执行,则停止执行目标订阅任务,达到目标订阅任务相关的订阅内容在存储节点和其他存储节点均停止推送的目的。若订阅任务列表中不存在目标订阅任务,则不处理,根据实际需要可以返回删除失败,或者不返回任何信息。
需要说明的是,作为一种实现方式,第一存储节点可以使用ETCD组件在节点订阅任务列表需要更新时及时同步给其他存储节点,当然也可以使用其他技术实现订阅任务列表在存储节点和其他存储节点之间的同步,例如zookeeper等技术。
还需要说明的是,除了对目标订阅任务进行更新,还可以查询目标订阅任务。由于不需要更新订阅任务列表,此时,存储节点不会向其他存储节点发送更新消息,存储节点在从订阅任务列表中找到目标订阅任务后,将目标订阅任务的订阅配置信息返回给网关20。
作为一种具体实施方式,当查询目标订阅任务时,网关20向存储节点发送更新请求中所包含的更新类型为查询,更新请求中可以包括待查订阅任务的标识,第一存储节点可以依据待查订阅任务的标识判断订阅任务列表中是否存在待查订阅任务,当存在时,将待查订阅任务的订阅配置信息返回至网关20,更新请求中也可以不包括待查订阅任务的标识,此时可以将订阅任务列表中预设个数的订阅任务作为待查订阅任务,将每一待查订阅任务的订阅配置信息均返回至网关20,或者将订阅任务列表中所有订阅任务作为待查订阅任务,将每一待查订阅任务的订阅配置信息均返回至网关20。
本发明实施例提供的上述订阅数据推送方法,能够在订阅任务有更新时及时地通知所有存储节点,使所有存储节点可以同时执行更新后的订阅任务,以实现所有存储节点并发出库,提高了出库效率。
在一个具体实施方式中,所述当前订阅时间段被按照时长单位划分为多个当前订阅子时间段;
步骤S100同前述实施方式,在此不再赘述。
步骤S200包括:按照各所述当前订阅子时间段的时间先后顺序,依次查找当前订阅时间段内各当前订阅子时间段内的本节点结构化数据;
当前订阅时间段为[a,b],待推送数据时间片段[A,b],已推送数据时间片段为[a,A)。从起始时刻a开始推送数据。起始时刻,A=a,随着数据推送的进行,A越来越接近b,待推送数据时间片段[A,b]的时间范围越来越小,直至为0,代表当前订阅任务所要订阅的订阅数据推送完成。
具体的,初始化A=a,inc为时长单位,例如,inc=10秒。若A=b,则订阅推送完成。
[A,A+inc)为当前订阅子时间段(若A+inc>b,则令A+inc=b,说明是当前订阅时间段内的最后一个子时间段)。一例中,根据时间范围[A,A+inc)查询结构化数据存储空间,得到当前订阅子时间段内的本节点结构化数据。另一例中,根据时间范围[A,A+inc)和订阅种类查询结构化数据存储空间,得到当前订阅子时间段内本节点结构化数据。在此情况下,在对本节点结构化数据进行查询时不仅加入了时间条件还加入了订阅种类条件,缩小查询结果范围,便于后续处理。可以理解的是,结构化数据包含与该结构化数据组成数据对的对象数据在存储节点上的存储地址,对结构化数据存储空间进行查询时,该存储地址中包含本存储节点IP的结构化数据即为本节点结构化数据。
结构化数据在当前订阅子时间段内的含义与结构化数据在当前订阅时间端内的含义相似,在此不再赘述。
步骤300包括:根据当前筛选条件,从所述当前订阅子时段内的本节点结构化数据中确定目标结构化数据。
如此,可从步骤S200中得到的结构化数据中进一步筛选出符合当前筛选条件的目标结构化数据。
步骤S400包括:根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据。
如果目标结构化数据是与当前订阅子时间段对应的,则待推送数据也是当前订阅子时间段对应的待推送数据。
步骤S500包括:将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
同样的,如果目标结构化数据是与当前订阅子时间段对应的,则待推送数据也是当前订阅子时间段对应的待推送数据。
可以理解的是,对于当前订阅子时间段[t,t+时长单位),可先通过步骤S200查找当前订阅子时间段内的本节点结构化数据,再根据步骤S300根据当前筛选条件,从所述当前订阅子时段内的本节点结构化数据中确定目标结构化数据。再通过步骤S400和S500进行当前订阅子时间段对应的待推送数据的生成和推送。接着,当前订阅子时间段更新为[t+时长单位,t+2*时长单位),再次执行步骤S200-S500,直至订阅数据推送完成或当前订阅任务被取消。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种订阅数据推送装置100的实现方式。请参照图4,图4示出了本发明实施例提供的订阅数据推送装置100的方框示意图。需要说明的是,本实施例所提供的订阅数据推送装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
订阅数据推送装置100包括任务获取模块110、数据查找模块120、筛选模块130、处理模块140及推送模块150。
任务获取模块110,用于获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;
数据查找模块120,用于查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;
筛选模块130,用于根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;
处理模块140,用于根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;
推送模块150,用于将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
本发明实施例还提供一种订阅数据推送方法,应用于订阅数据推送系统,所述订阅数据推送系统包括多个存储节点和一网关;
所述网关接收入库请求,并将入库请求路由至所述多个存储节点中的一个。网关负责对外部请求进行路由,若外部请求为入库请求,则将入库请求路由至所述多个存储节点中的一个,若外部请求为订阅请求,则将订阅请求路由至订阅任务服务。
多个所述存储节点执行本发明第一方面任一实施例所述的方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
一例中,多个所述存储节点中的每个存储节点均有一与其对应的网关,多个网关与多个存储节点一一对应,存储节点通过其对应的网关将待推送数据推送至当前接收端。网关还接收路由至其对应存储节点的入库请求。
在一个具体实施方式中,至少一个所述存储节点接收针对目标订阅任务的更新请求,根据所述更新请求,向所述订阅数据推送系统中的其他所述存储节点发送表征节点订阅任务列表需要更新的更新消息。
在本实施方式中,订阅任务服务部署在订阅任务系统的一个存储节点上。部署有订阅任务服务的存储节点根据更新消息中包含的所要更新的订阅任务和更新方式(增删改)维护节点订阅任务列表并向其他存储节点发送更新消息。
相应的,本发明实施例还提供一种订阅数据推送系统,所述订阅数据推送系统包括多个存储节点和一网关;所述网关用于将入库请求路由至所述多个存储节点中的一个,多个所述存储节点用于执行本发明第一方面任一实施例所述的方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
在一个具体实施方式中,至少一个所述存储节点还用于接收针对目标订阅任务的更新请求,根据所述更新请求,向所述订阅数据推送系统中的其他所述存储节点发送表征节点订阅任务列表需要更新的更新消息。
一例中,多个所述存储节点中的每个存储节点均有一与其对应的网关,多个网关与多个存储节点一一对应,存储节点通过其对应的网关将待推送数据推送至当前接收端。网关还接收路由至其对应存储节点的入库请求。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的订阅数据推送方法。
综上所述,本发明实施例提供了一种订阅数据推送方法、装置、系统、电子设备及存储介质,其中订阅数据推送方法和装置应用于订阅数据推送系统中的存储节点;所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址;所述方法包括:获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。与现有技术相比,本发明实施例能够在订阅任务有更新时及时地通知所有存储节点,使所有存储节点可以同时执行更新后的订阅任务,以实现所有存储节点并发出库,提高了出库速度和出库效率。并且,各存储节点之间将不会存在对象数据的传输,节省了内部带宽。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种订阅数据推送方法,其特征在于,应用于订阅数据推送系统中的存储节点;所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址;所述方法包括:
获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;
查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;
根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;
根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;
将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
2.根据权利要求1所述的订阅方法,其特征在于,所述当前订阅任务还包括当前数据处理条件,所述当前数据处理条件包括图像视野和/或处理方式;每个结构化数据包括至少一个子结构化数据,每个子结构化数据对应一图像视野;
所述根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据,包括:
若当前数据处理条件包括对第一图像视野的子结构化数据进行第一处理方式的处理,则确定所述目标结构化数据所述第一图像视野的子结构化数据为目标子结构化数据,根据所述目标子结构化数据中包括的子对象数据存储地址获取所述目标子结构化数据对应的目标子对象数据,将所述目标子对象数据添加到所述目标子结构化数据,得到所述待推送数据;其中,第一处理方式为在待推送数据中保留子结构化数据对应的子对象数据。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收被路由至所述存储节点的入库数据;
将所述入库数据中的对象数据存储于所述存储节点,得到所述入库数据对应的对象数据在所述存储节点上的第一对象数据存储地址;
用所述第一对象数据存储地址替换所述入库数据中的对象数据,得到所述入库数据对应的结构化数据;
将所述入库数据对应的结构化数据存入结构化数据存储空间。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述获取当前订阅任务,包括:
从所述存储节点对应的节点订阅任务列表中获取当前订阅任务;
所述方法还包括:
接收表征所述节点订阅任务列表需要更新的更新消息,根据所述更新消息更新所述节点订阅任务列表。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述当前订阅时间段包含按照时长单位划分的多个当前订阅子时间段;
所述查找当前订阅时段内的本节点结构化数据,包括:
按照各所述当前订阅子时间段的时间先后顺序,依次查找当前订阅时间段内各当前订阅子时间段内的本节点结构化数据。
6.一种订阅数据推送装置,其特征在于,所述订阅数据推送装置为订阅数据推送系统中的存储节点,所述存储节点上存储多个对象数据,所述对象数据与和其具有对应关系的结构化数据组成数据对,所述结构化数据包含与该结构化数据组成数据对的对象数据在所述存储节点上的存储地址;所述装置包括:
任务获取模块,用于获取当前订阅任务;所述当前订阅任务包括当前订阅时间段、当前接收端和当前筛选条件;
数据查找模块,用于查找当前订阅时段内的本节点结构化数据;所述本节点结构化数据是与其组成数据对的对象数据存储于本存储节点的结构化数据;
筛选模块,用于根据当前筛选条件,从所述当前订阅时段内的本节点结构化数据中确定目标结构化数据;
处理模块,用于根据所述目标结构化数据对应的对象数据和/或所述目标结构化数据,得到待推送数据;
推送模块,用于将所述待推送数据推送至所述当前接收端,所述待推送数据为所述当前订阅任务所要订阅的订阅数据的子集。
7.一种订阅数据推送方法,其特征在于,应用于订阅数据推送系统,所述订阅数据推送系统包括多个存储节点和一网关;
所述网关接收入库请求,并将入库请求路由至所述多个存储节点中的一个;
多个所述存储节点执行权利要求1-5任一项所述的方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
8.根据权利要求7所述的订阅数据推送方法,其特征在于,至少一个所述存储节点接收针对目标订阅任务的更新请求,根据所述更新请求,向所述订阅数据推送系统中的其他所述存储节点发送表征节点订阅任务列表需要更新的更新消息。
9.一种订阅数据推送系统,其特征在于,所述订阅数据推送系统包括多个存储节点和一网关;
所述网关用于将入库请求路由至所述多个存储节点中的一个,
多个所述存储节点用于执行权利要求1-5任一项所述的方法,并行进行当前订阅任务所要订阅的订阅数据的推送。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5或7-8中任一项所述的订阅数据推送方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5或7-8中任一项所述的订阅数据推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110786258.9A CN113656683A (zh) | 2021-07-12 | 2021-07-12 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110786258.9A CN113656683A (zh) | 2021-07-12 | 2021-07-12 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656683A true CN113656683A (zh) | 2021-11-16 |
Family
ID=78477966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110786258.9A Pending CN113656683A (zh) | 2021-07-12 | 2021-07-12 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656683A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174513A (zh) * | 2022-05-30 | 2022-10-11 | 青岛海尔科技有限公司 | 消息推送方法及装置、存储介质及电子装置 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859139A (zh) * | 2005-10-26 | 2006-11-08 | 华为技术有限公司 | 一种呈现信息的通知方法和系统 |
CN1949770A (zh) * | 2005-10-14 | 2007-04-18 | 华为技术有限公司 | 一种推送信息提供方法及推送代理装置 |
US20070156842A1 (en) * | 2005-12-29 | 2007-07-05 | Vermeulen Allan H | Distributed storage system with web services client interface |
US20120079082A1 (en) * | 2009-06-11 | 2012-03-29 | Zte Corporation | User Data Convergence Network System and Method for Subscription to Notification |
CN102547385A (zh) * | 2011-12-29 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式推流的方法、装置及系统 |
US20120191856A1 (en) * | 2011-01-26 | 2012-07-26 | International Business Machines Corporation | Elastic and scalable publish/subscribe service |
US20140376470A1 (en) * | 2011-12-30 | 2014-12-25 | Telefonaktiebolaget L M Ericsson (Publ) | Policy and charging control (pcc) for nat64 and dns64 |
US20160275190A1 (en) * | 2013-10-21 | 2016-09-22 | Convida Wireless, Llc | Crawling of m2m devices |
US20170012909A1 (en) * | 2015-07-07 | 2017-01-12 | International Business Machines Corporation | Control of messages in publish/subscribe system |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
CN109885764A (zh) * | 2019-01-29 | 2019-06-14 | 努比亚技术有限公司 | 一种订阅信息处理方法、移动终端及计算机可读存储介质 |
US20190335011A1 (en) * | 2017-05-18 | 2019-10-31 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and device for information pushin |
CN110875935A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 消息发布、处理、订阅方法、装置及系统 |
CN111352577A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视系统技术有限公司 | 一种对象存储方法及装置 |
CN111614761A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 区块链消息传输方法、装置、计算机以及可读存储介质 |
CN111931064A (zh) * | 2020-08-28 | 2020-11-13 | 张坚伟 | 基于大数据和人工智能的信息解析方法及云服务信息平台 |
CN112015820A (zh) * | 2020-09-01 | 2020-12-01 | 杭州欧若数网科技有限公司 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
US10986387B1 (en) * | 2018-09-26 | 2021-04-20 | Amazon Technologies, Inc. | Content management for a distributed cache of a wireless mesh network |
CN113014662A (zh) * | 2021-03-11 | 2021-06-22 | 联想(北京)有限公司 | 数据处理方法及基于NVMe-oF协议的存储系统 |
US20210194967A1 (en) * | 2018-05-18 | 2021-06-24 | Boe Technology Group Co., Ltd. | Subscription server, subscription terminal, information subscription method and system |
-
2021
- 2021-07-12 CN CN202110786258.9A patent/CN113656683A/zh active Pending
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949770A (zh) * | 2005-10-14 | 2007-04-18 | 华为技术有限公司 | 一种推送信息提供方法及推送代理装置 |
CN1859139A (zh) * | 2005-10-26 | 2006-11-08 | 华为技术有限公司 | 一种呈现信息的通知方法和系统 |
US20070156842A1 (en) * | 2005-12-29 | 2007-07-05 | Vermeulen Allan H | Distributed storage system with web services client interface |
US20120079082A1 (en) * | 2009-06-11 | 2012-03-29 | Zte Corporation | User Data Convergence Network System and Method for Subscription to Notification |
US20120191856A1 (en) * | 2011-01-26 | 2012-07-26 | International Business Machines Corporation | Elastic and scalable publish/subscribe service |
CN102547385A (zh) * | 2011-12-29 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式推流的方法、装置及系统 |
US20140376470A1 (en) * | 2011-12-30 | 2014-12-25 | Telefonaktiebolaget L M Ericsson (Publ) | Policy and charging control (pcc) for nat64 and dns64 |
US20160275190A1 (en) * | 2013-10-21 | 2016-09-22 | Convida Wireless, Llc | Crawling of m2m devices |
US20170012909A1 (en) * | 2015-07-07 | 2017-01-12 | International Business Machines Corporation | Control of messages in publish/subscribe system |
US20190335011A1 (en) * | 2017-05-18 | 2019-10-31 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and device for information pushin |
CN109120885A (zh) * | 2017-06-26 | 2019-01-01 | 杭州海康威视数字技术股份有限公司 | 视频数据获取方法及装置 |
US20210194967A1 (en) * | 2018-05-18 | 2021-06-24 | Boe Technology Group Co., Ltd. | Subscription server, subscription terminal, information subscription method and system |
CN110875935A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 消息发布、处理、订阅方法、装置及系统 |
US10986387B1 (en) * | 2018-09-26 | 2021-04-20 | Amazon Technologies, Inc. | Content management for a distributed cache of a wireless mesh network |
CN111352577A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视系统技术有限公司 | 一种对象存储方法及装置 |
CN109885764A (zh) * | 2019-01-29 | 2019-06-14 | 努比亚技术有限公司 | 一种订阅信息处理方法、移动终端及计算机可读存储介质 |
CN111614761A (zh) * | 2020-05-21 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 区块链消息传输方法、装置、计算机以及可读存储介质 |
CN111931064A (zh) * | 2020-08-28 | 2020-11-13 | 张坚伟 | 基于大数据和人工智能的信息解析方法及云服务信息平台 |
CN112015820A (zh) * | 2020-09-01 | 2020-12-01 | 杭州欧若数网科技有限公司 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
CN113014662A (zh) * | 2021-03-11 | 2021-06-22 | 联想(北京)有限公司 | 数据处理方法及基于NVMe-oF协议的存储系统 |
Non-Patent Citations (1)
Title |
---|
虞哲英;关贝;昝道广;吕荫润;毕丽阳;王永吉;: "一种不依赖用户行为数据的科研文献推送系统", 文献与数据学报, vol. 1, no. 02, pages 76 - 89 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174513A (zh) * | 2022-05-30 | 2022-10-11 | 青岛海尔科技有限公司 | 消息推送方法及装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377431B (zh) | 多注册中心场景下服务调用方法及装置 | |
US20140025723A1 (en) | Cloud storage system and data storage and sharing method based on the system | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN110635987A (zh) | 一种报文传输方法、装置、设备及机器可读存储介质 | |
CN109462640B (zh) | 一种元数据同步方法、数据端、交互系统及介质 | |
CN113055976A (zh) | 基于局域网的无线投屏方法、装置、设备及存储介质 | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
CN113656683A (zh) | 订阅数据推送方法、装置、系统、电子设备及存储介质 | |
CN110311855B (zh) | 用户消息处理方法、装置、电子设备及存储介质 | |
US10102286B2 (en) | Local object instance discovery for metric collection on network elements | |
US20190104096A1 (en) | Managing specialized objects in a message store | |
CN109962834B (zh) | 信息处理方法、系统、终端和计算机存储介质 | |
CN113965538B (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN111367921A (zh) | 数据对象的刷新方法及装置 | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN105933352B (zh) | 基于客户端的服务器之间数据同步方法、客户端及系统 | |
CN114268940A (zh) | Mesh网络拓扑图显示方法、系统、设备及存储介质 | |
CN114422591A (zh) | 点对点通信方法、数据通信系统、计算机设备、存储介质 | |
CN113590323A (zh) | 面向MapReduce的数据传输方法、装置、设备及存储介质 | |
CN113395309A (zh) | 一种通信方法及计算机网络 | |
CN111125580A (zh) | 网络资源获取方法、装置、电子设备及存储介质 | |
CN113452766B (zh) | 节点切换的方法、装置、存储介质及电子装置 | |
CN110263195B (zh) | 一种图片流同步多端服务器的方法 | |
CN110399512B (zh) | 一种图谱存储管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |