CN111797094A - 数据处理方法、装置和电子设备 - Google Patents
数据处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111797094A CN111797094A CN202010453156.0A CN202010453156A CN111797094A CN 111797094 A CN111797094 A CN 111797094A CN 202010453156 A CN202010453156 A CN 202010453156A CN 111797094 A CN111797094 A CN 111797094A
- Authority
- CN
- China
- Prior art keywords
- data
- structured
- service
- structured data
- stored
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 230000002085 persistent effect Effects 0.000 claims abstract description 153
- 230000002688 persistence Effects 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000013500 data storage Methods 0.000 claims abstract description 23
- 238000012217 deletion Methods 0.000 claims description 23
- 230000037430 deletion Effects 0.000 claims description 23
- 238000004140 cleaning Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了及一种数据处理方法、装置和电子设备;包括:数据服务获取待存储数据;数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据;数据服务将结构化数据和对象数据缓存于缓存区;持久化服务获取结构化数据和对象数据;持久化服务将结构化数据和对象数据存储至持久化存储区。该方式中,将待存储数据解析为体积小、查询频率高的结构化数据和体积大、查询频率低的对象数据,对结构化数据和对象数据进行分别存储、分别处理,能够提高数据存储、查询效率;同时将数据缓存和数据的持久化存储解耦,能够减少数据存储造成的持久化存储区堵塞。
Description
技术领域
本发明涉及数据存储技术领域,尤其是涉及一种数据处理方法、装置和电子设备。
背景技术
现有的视频图像信息库(视图库)用于存储视频和图像信息,通过实时存入的方式,将所有数据存入视频图像信息库的持久化存储区中。推送系统会在持久化存储区中轮询查找最近的更新数据,读取该最近的更新数据然后推送到订阅了该视频图像信息库的其他视频图像信息库。这些操作直接作用在持久化存储区中,将刚刚写入的数据进行取出、推送操作,大大降低了视频图像信息库的性能。而且,当需要存储数据过多时,将数据写入持久化存储区时系统负载较大,容易造成持久化存储区的阻塞。此外,现有的视频图像信息库未将数据体积小的结构化数据和数据体积大的对象数据分开存储,后续也就不能对结构化数据和对象数据分开进行数据处理,造成数据的处理、存储效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法、装置、信息库和电子设备,以降低占用持久化存储区的资源,提高持久化存储区的效率和视频图像信息库的性能。
第一方面,本发明实施例提供了一种数据处理方法,应用于存储服务器,存储服务器包括数据服务、持久化服务;存储服务器配置有缓存区和持久化存储区;方法包括:数据服务获取待存储数据;数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据;数据服务将结构化数据和对象数据缓存于缓存区;持久化服务获取结构化数据和对象数据;持久化服务将结构化数据和对象数据存储至持久化存储区。
在本发明较佳的实施例中,缓存区包含结构化数据缓存区和对象数据缓存区,持久化存储区包含结构化数据持久化存储区和对象数据持久化缓存区;数据服务将结构化数据和对象数据缓存于缓存区,包括:数据服务将结构化数据和对象数据分别缓存于结构化数据缓存区和对象数据缓存区;数据服务将结构化数据和对象数据存储至持久化存储区,包括:数据服务将结构化数据和对象数据分别存储于结构化数据持久化存储区和对象数据持久化存储区。
在本发明较佳的实施例中,上述数据服务将上述待存储数据解析为结构化数据和与上述结构化数据具有关联关系的对象数据,包括:上述数据服务将上述待存储数据中的图像数据替换为上述待存储数据分配的存储地址,得到上述结构化数据,上述存储地址中包含上述待存储数据中的图像数据的图像ID;上述数据服务将上述待存储数据中的图像数据进行图像处理,得到与述结构化数据具有关联关系的对象数据。
在本发明较佳的实施例中,上述数据服务将上述结构化数据和上述对象数据缓存于上述缓存区,包括:上述数据服务以上述待存储数据的资源ID为键值,上述结构化数据为内容,将上述结构化数据缓存于上述缓存区;上述数据服务以上述待存储数据的资源ID和上述待存储数据中包含的图像ID为键值,上述对象数据为内容,将上述对象数据缓存于上述缓存区。
在本发明较佳的实施例中,上述方法还包括:上述数据服务将上述结构化数据发布在消息队列;上述持久化服务获取上述结构化数据和上述对象数据,包括:上述持久化服务从上述消息队列获取上述结构化数据,上述持久化服务预先订阅上述消息队列。
在本发明较佳的实施例中,上述持久化服务获取上述结构化数据和上述对象数据还包括:上述持久化服务从上述结构化数据中包含的存储地址中解析出图像ID,在缓存区查询键值包含上述图像ID的对象数据,从而获取上述对象数据。
在本发明较佳的实施例中,上述存储服务器还包括推送服务,上述推送服务预先订阅上述消息队列;上述方法还包括:上述推送服务从上述消息队列获取上述结构化数据,并向上述待存储数据的订阅方推送上述结构化数据。
在本发明较佳的实施例中,上述方法还包括通过以下方式中的至少一种对缓存区缓存的数据进行清理:当已存储至上述持久化存储区的结构化数据在上述缓存区中的缓存时长达到第一时长时,从缓存区中清理上述已存储至上述持久化存储区的结构化数据;当已存储至上述持久化存储区的对象数据在上述缓存区中的缓存时长达到第二时长时,从缓存区中清理上述已存储至上述持久化存储区的对象数据;当上述缓存区缓存的数据量大于预设阈值时,清理上述结构化数据和/或上述对象数据。
在本发明较佳的实施例中,上述方法还包括:接收用户发送的删除指令,上述删除指令包括待删除数据的资源ID;清除上述持久化存储区中与待删除数据的资源ID对应的第一结构化数据;根据上述第一结构化数据中包含的第一存储地址,清除上述持久化存储区中与上述第一存储地址对应的第一对象数据;或者,清除上述持久化存储区中与上述待删除数据的资源ID对应的第一对象数据;若对象数据缓存区中存在键值包含上述待删除数据的资源ID的第二对象数据,将上述第二对象数据删除;若结构化数据缓存区中存在键值包含上述待删除数据的资源ID的第二结构化数据,将上述第二结构化数据删除或将上述第二结构化数据的内容标识为“已删除”。
在本发明较佳的实施例中,上述方法还包括:接收用户发送的查询指令,上述查询指令包括待查询数据的资源ID;在上述缓存区查询键值包含上述待查询数据的资源ID的第三结构化数据;若查询到上述第三结构化数据,则:若上述第三结构化数据具有删除标识,则将资源不存在的查询结果返回给上述查询指令的发送方;若上述第三结构化数据不具有删除标识,则将上述第三结构化数据和返回给上述查询指令的发送方。
在本发明较佳的实施例中,若上述第三结构化数据不具有删除标识,则将上述第三结构化数据和返回给上述查询指令的发送方,包括:若上述第三结构化数据不具有删除标识,在上述缓存区查询键值包含上述待查询数据的资源ID的第三对象数据;若查询到上述第三对象数据,则将上述第三结构化数据和上述第三对象数据返回给上述查询指令的发送方。
在本发明较佳的实施例中,若上述第三结构化数据不具有删除标识,则将上述第三结构化数据和返回给上述查询指令的发送方,还包括:若未查询到上述第三对象数据,则在上述持久化存储区查询上述待查询数据的资源ID对应的第三对象数据;若查询到上述第三对象数据,则将上述第三结构化数据和上述第三对象数据返回给上述查询指令的发送方。
在本发明较佳的实施例中,上述方法还包括:若未查询到上述第三结构化数据,则在上述持久化存储区查找与上述待查询数据的资源ID对应的第四结构化数据;若查找到上述第四结构化数据,则将上述第四结构化数据返回给上述查询指令的发送方。
在本发明较佳的实施例中,上述若查找到上述第四结构化数据,则将上述第四结构化数据返回给上述查询指令的发送方,包括:若查找到上述第四结构化数据,在上述持久化存储区查询上述待查询数据的资源ID对应的第四对象数据,将上述第四结构化数据和上述第四对象数据返回给上述查询指令的发送方。
在本发明较佳的实施例中,上述方法还包括:接收用户发送的查询指令,上述查询指令中包括对象数据存储地址;根据上述对象数据存储地址中的查询对象数据ID,在上述缓存区中查询键值包含上述查询对象数据ID的第五对象数据;若查询到上述第五对象数据,则将上述第五对象数据返回给上述请求的发送方;若未查询到上述第五对象数据,则根据上述对象数据存储地址,在上述对象数据持久化存储中查询第六对象数据,将上述第六对象数据返回给上述请求的发送方。
在本发明较佳的实施例中,上述方法还包括:上述存储服务器还包括接入服务,上述接入服务将接收到的上述待存储数据路由至数据服务。
第二方面,本发明实施例还提供一种数据处理装置,应用于存储服务器,存储服务器包括数据服务、持久化服务;存储服务器配置有缓存区和持久化存储区;装置包括:待存储数据获取模块,用于数据服务获取待存储数据;待存储数据解析模块,用于数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据;缓存区缓存模块,用于数据服务将结构化数据和对象数据缓存于缓存区;持久化服务获取模块,用于持久化服务获取结构化数据和对象数据;持久化服务存储模块,用于持久化服务将结构化数据和对象数据存储至持久化存储区。
第三方面,本发明实施例还提供一种电子设备,电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行时实现上述的数据处理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行如上述数据处理方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种数据处理方法、装置和电子设备,将待存储数据解析为体积小、查询频率高的结构化数据和体积大、查询频率低的对象数据,对结构化数据和对象数据进行分别存储、分别处理,能够提高数据存储、查询效率;同时将数据缓存和数据的持久化存储解耦,能够减少数据存储造成的持久化存储区堵塞。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电子设备的结构示意图;
图2为本发明实施例提供的一种存储服务器的结构示意图;
图3为本发明实施例提供的一种数据处理方法的流程图;
图4为本发明实施例提供的一种数据处理方法的流向示意图;
图5为本发明实施例提供的一种数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有的视频图像信息库会造成持久化存储区的阻塞,降低持久化存储区的效率和视频图像信息库的性能的问题,本发明实施例提供了一种数据处理方法、装置和电子设备,该技术可以应用于服务器、计算机、相机、手机、平板电脑等多种设备中,该技术可采用相应的软件和硬件实现,以下对本发明实施例进行详细介绍。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据处理方法进行详细介绍。
实施例一:
首先,参照图1来描述用于实现本发明实施例的数据处理方法、装置和电子设备的示例电子设备100。
如图1所示的一种电子设备的结构示意图,电子设备100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108以及一个或多个数据采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备也可以具有其他组件和结构。
处理设备102可以为智能终端,或者是包含中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对电子设备100中的其它组件的数据进行处理,还可以控制电子设备100中的其它组件以执行目标对象统计的功能。
存储装置104可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行程序指令,以实现下文的本发明实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
数据采集设备110可以采集待存储数据,并且将采集到的待存储数据存储在存储装置104中以供其它组件使用。
示例性地,用于实现根据本发明实施例的数据处理方法、装置和电子设备中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将数据采集设备110设置于可以采集到图片的指定位置。当上述电子设备中的各器件集成设置时,该电子设备可以被实现为诸如相机、智能手机、平板电脑、计算机等智能终端。
实施例二:
本实施例提供了一种数据处理方法,该方法应用于视图库的存储服务器,存储服务器包括数据服务、持久化服务;存储服务器配置有缓存区和持久化存储区。参见图2所示的一种存储服务器的结构示意图,如图2所示,存储服务器中包括缓存区和持久化存储区,存储服务器是指用于存储数据的服务器,需要存储数据时,会将数据写入存储服务器中,需要读取数据时,会从存储服务器中读取需要的数据。缓存区是数据交换的缓存区,缓存区会先于持久化存储区写入和读取数据。持久化存储区用于在缓存区之后写入和读取数据。也就是说,写入数据时,会首先写入缓存区,之后写入持久化存储区;读取数据时,会首先读取缓存区,缓存区中不存在想要的数据后再读取持久化存储区。
基于上述描述,如图3所示的一种数据处理方法的流程图,该数据处理方法包括如下步骤:
步骤S302,数据服务获取待存储数据。
在一例中,存储服务器可以包含接入服务。接入服务从用户或其他应用程序接收待存储数据,将接收到的待存储数据路由至多个数据服务中的一个数据服务,以使数据服务获取待存储数据。
步骤S304,数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据。
视图库的存储服务器接收到的待存储数据可以包含资源ID,资源类型,资源属性,资源所对应的图像等多个字段,通常是json格式。一个待存储数据的例子如下:
资源ID:0001234;
资源类型:人脸;
资源属性:男性;28岁;
资源对应的图像1:
图像1的图像ID:image0234;
图像1的拍摄时间:2020-1-1 23:54:24;
图像1的拍摄相机:相机ID 3445;
图像1的图像数据:人脸截图数据;
资源对应的图像2:
图像2的图像ID:image0235;
图像2的拍摄时间;2020-1-1 23:54:24;
图像2的拍摄相机:相机ID 3445;
图像2的图像数据:人脸截图对应的全景图数据。
其中,图像数据通常为base64串。
在对视图库中的数据进行查询时,通常会针对数据的资源ID、资源类型、资源属性、图像ID等字段(即数据中结构化数据)进行查询,当确定某个数据是所要的查询结果时,可将该数据对应的结构化数据返回作为结果,比要时才会将该数据对应图像数据一同返回作为结果。可见,数据中的结构化数据比数据中的图像数据查询频率高,而且,结构化数据比对象数据体积小,读写速度快。如果待存储数据作为一个整体进行存储和后续处理,待存储数据中的对象数据会影响结构化数据的存储和处理数据,因此,本申请实施例将待存储数据解析为互相关联的结构化数据和对象数据,以便后续分别存储、处理。
在一例中,数据服务将待存储数据中的图像数据替换为待存储数据分配的存储地址,得到结构化数据,存储地址中包含待存储数据中的图像数据的图像ID。也即,结构化数据中不包含图像数据。在一例中,可从待存储数据中获取图像ID,为每个图像ID分配一在持久化存储区的存储地址(如http://ip:port/cache/burket/imageID),如此,在对对象数据进行持久化存储时,可直接在该分配的地址进行持久化存储。续举前例,从前述待存储数据中解析出的结构化数据如下:
资源ID:0001234;
资源类型:人脸;
资源属性:男性;28岁;
资源对应的图像1:
图像1的图像ID:image0234;
图像1的拍摄时间:2020-1-1 23:54:24;
图像1的拍摄相机:相机ID 3445;
图像1的图像数据:image0234在持久化存储区的存储地址1;
资源对应的图像2:
图像2的图像ID:image0235;
图像2的拍摄时间:2020-1-1 23:54:24;
图像2的拍摄相机:相机ID 3445;
图像2的图像数据:image0235在持久化存储区的存储地址2。
在一例中,数据服务将待存储数据中的图像数据进行图像处理例如压缩处理,得到与结构化数据具有关联关系的对象数据。可以理解的是,生成对象数据时对图像进行压缩处理可进一步减少数据体积,提高IO速度。续举前例,图像ID为image0234的图像数据和图像ID为image0235的图像数据与资源ID为0001234的结构化数据对应,对这两个图像数据进行压缩得到与资源ID为0001234的结构化数据具有关联关系的对象数据。
步骤S306,数据服务将结构化数据和对象数据缓存于缓存区。
在一例中,将结构化数据和对象数据缓存于缓存区中的Redis数据库。
步骤S308,持久化服务获取结构化数据和对象数据;
步骤S310,持久化服务将结构化数据和对象数据存储至持久化存储区。
在一例中,缓存区包含结构化数据缓存区和对象数据缓存区,持久化存储区包含结构化数据持久化存储区和对象数据持久化缓存区,在对结构化数据和对象数据进行缓存和持久化存储时,将二者分别存入各自对应的缓存区和持久化存储区。
对持久化存储区进行IO操作相比于对缓存区进行IO操作会占用更多的资源。在数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据后,数据服务将二者分别存储于缓存区,持久化服务将二者分别存储于持久化存储区。后续需要读取数据时,可以首先读取缓存区,缓存区中不存在所需的数据后再读取持久化存储区,如此,可减少持久化存储区的IO次数,提高视图库性能。此外,本发明实施例由数据服务进行数据缓存操作,由持久化服务进行数据持久化操作,将缓存和持久化解耦,当需要存储的数据较多时能够减少持久化存储区负载,缓解持久化存储区的阻塞。
在一个具体实施方式中,步骤S306包括:
S3061:数据服务以待存储数据的资源ID为键值,结构化数据为内容,将结构化数据缓存于缓存区;
S3062:数据服务以待存储数据的资源ID和待存储数据中包含的图像ID为键值,对象数据为内容,将对象数据缓存于缓存区。
如此,以键值-内容的形式进行数据缓存,便于数据查询。
在一个具体实施方式中,数据处理方法还包括如下步骤:
步骤S307:数据服务将结构化数据发布在消息队列。
存储服务器还配置有消息队列,使数据服务得以将结构化数据发布在消息队列。如此,订阅消息队列的服务可从消息队列中直接获取结构化数据,而无需从持久化存储中获取结构化数据,提高了数据IO速度和视图库性能。
在一例中,发布在消息队列中的结构化数据是以资源ID为键值、结构化数据为内容的键值-内容形式;在一例中,消息队列为kafka。在一例中,kafka包含多个不同topic,每个topic对应一种资源类型,数据服务将不同资源类型的结构化数据发布在消息队列的不同主题(topic)。可以理解的是,不同资源类型数据的管理参数例如生命周期等不同,将不同资源类型的结构化数据发布在不同的消息队列,便于后续持久化服务将从不同topic获取的结构化数据对应的存储在不同的结构化数据持久化存储区,从而提高数据管理效率,具体可以参见图4所示的一种数据处理方法的流向示意图。
相应的,步骤S308包括步骤S3081:持久化服务从消息队列获取结构化数据。
持久化服务预先订阅消息队列。步骤S307可以在结构化数据缓存前、缓存中、缓存后进行。如此,一方面订阅消息队列的持久化服务可以第一时间获知哪些数据可以进行持久化存储了,另一方面持久化服务可直接获取到待存储的结构化数据,无需额外操作。通常情况下,持久化存储通常在结构化数据缓存后进行,持久化存储完毕将缓存中的数据删除。
步骤S308还可以包括步骤S3082:持久化服务从结构化数据中包含的存储地址中解析出图像ID,在缓存区查询键值包含图像ID的对象数据,从而获取对象数据。
对象数据体积较大,因此可以不通过消息队列的形式发布给持久化服务,而使持久化服务去缓存中获取对象数据。缓存于对象数据缓存区的对象数据的键值包含资源ID和图像ID,因此以图像ID可从对象数据缓存区获取到待进行持久化存储的对象数据。
在一个具体实施方式中,存储服务器还包括推送服务,推送服务预先订阅消息队列;数据处理方法还包括步骤S312:推送服务从消息队列获取结构化数据,并向待存储数据的订阅方推送结构化数据。
当其他视图库订阅了本视图库的数据时,本视图库的推送服务会将本视图库最近更新的数据推送给其他视图库。现有技术中,推送服务读取持久化存储中的数据并推送给其他视图库,本发明实施例使推送服务订阅消息队列,使推送服务可以第一时间获知最近更新了哪些数据、哪些数据可以进行推送了,无需等待数据写入到持久化存储区后再去持久化存储区读取数据后推送,大大提高了视图库的数据推送性能。
在一种具体的实施方式中,数据处理方法通过步骤S314、S316、S318中的至少一个对缓存区缓存的数据进行清理。
步骤S314:当已存储至持久化存储区的结构化数据在缓存区中的缓存时长达到第一时长时,从缓存区中清理已存储至持久化存储区的结构化数据。
步骤S316:当已存储至持久化存储区的对象数据在缓存区中的缓存时长达到第二时长时,从缓存区中清理已存储至持久化存储区的对象数据。
如果待存储数据已存储至持久化存储区,就可以将缓存区中相应数据删除。对缓存中的数据可以通过以下几种方式进行清除:第一种:可以在数据已持久化后立即删除缓存中的数据;第二种:可以默认缓存中数据在一定时长内就会存储到持久化存储区,在数据进入缓存区固定时长后将其删除;第三种:可以在数据持久化后再使其在缓存区中保留一定时长后删除。对于第二种和第三种方式,结构化数据访问频率高且体积小,可以在缓存区保留时间长一些,因此可以使结构化数据在缓存中的保留时长大于对象数据的保留时长,即第一时长通常大于第二时长。
对于第二种方式,无需获知数据是否已经进行了持久化,但是,可能出现将未持久化的数据从缓存中删除的情况。为避免这种情况,可设置报警机制。如果清除待存储数据时存在未存储至持久化存储区的目标数据,则需要报警,通过步骤B1-步骤B2执行:
步骤B1,如果清除待存储数据时存在未存储至持久化存储区的目标数据,则基于目标数据生成错误提示信息。
清除待存储数据时存在未存储至持久化存储区的目标数据,则说明目标数据还没有来得及上传至持久化存储区,就需要被清除,此时,需要向目标的上传方报警,也就是向目标的上传方发送错误提示信息。错误提示信息可以包括:何时因何原因需要删除目标数据,并标注目标数据的资源ID和目标数据在缓存区的存储地址,让目标的上传方确认是否要删除目标数据。
步骤B2,将错误提示信息发送至目标数据的上传方。
该方式中,如果清除待存储数据时存在未存储至持久化存储区的目标数据,则会向目标数据的上传方发送错误提示信息,提醒上传方目标数据会被删除,由上传方确认是否删除,降低误删除目标数据的可能性。
步骤S318:当缓存区缓存的数据量大于预设阈值时,清理结构化数据和/或对象数据。
在一例中,可以设置第一预设阈值和第二预设阈值,当缓存区缓存的数据量大于第一预设阈值时,清理结构化数据和/或对象数据;当缓存区缓存的数据量大于第二预设阈值时,停止数据向缓存区的写入,清理缓存中的数据直到缓存区缓存的数据量小于等于第一预设阈值再开始开放数据写入。
在一个具体实施方式中,数据处理方法还包括:
步骤S320:接收删除指令,删除指令包括待删除数据的资源ID;
在一例中,存储服务器还包括接入服务,接入服务接收用户或应用程序发出的包含待删除数据资源ID的删除指令,并将其路由给某数据服务。
步骤S322:清除持久化存储区中与待删除数据的资源ID对应的第一结构化数据。
步骤S324:根据第一结构化数据中包含的第一存储地址,清除持久化存储区中与第一存储地址对应的第一对象数据;或者,清除持久化存储区中与待删除数据的资源ID对应的第一对象数据;
在一例中,数据服务先清除持久化存储区中的待删除数据。其中,根据资源ID在持久化存储区查询资源ID对应的结构化数据。在一例中,对结构化数据的持久化存储完成后,会生成一用于标识结构化数据存储地址的offset,并将结构化数据的资源ID与offset对应存储。如此,可根据资源ID查找到offset,从而在持久化存储区查找到资源ID对应的结构化数据。一例中,结构化数据中存储与其具有关联关系的对象数据在持久化存储区的存储地址,可通过该存储地址查找到对应的对象数据。在另一例中,如果存储有资源ID和对象数据存储地址的对应关系,也可通过资源ID查找对象数据。
步骤S326:若对象数据缓存区中存在键值包含待删除数据的资源ID的第二对象数据,将第二对象数据删除;
步骤S328:若结构化数据缓存区中存在键值包含待删除数据的资源ID的第二结构化数据,将第二结构化数据删除或将第二结构化数据的内容标识为“已删除”。
若需要删除某条数据时,需要将缓存区的该条数据和持久化存储区的该条数据都删除。缓存区的数据会自动清除,因此通常情况下只需删除持久化存储区的数据,但不排除用户下发删除指令时缓存区的数据尚未自动清除的情况,因此需要检查缓存区的数据是否已经删除。在一例中,当缓存区中还保留有待删除数据时,将缓存中的结构化数据和对象数据均删除。在另一例中,将缓存中的对象数据删除,将结构化数据的内容标识为已删除。当用户查询某个资源ID的数据时,在缓存区和持久化存储区都查询不到该条数据后,才会给出该条数据不存在的查询结果,而如果在缓存区中能查询到某条数据但其标识为已删除,说明本视图库中不存在该条数据,无需再进行持久化存储区的查询即可给出该条数据不存在的查询结果,能够进一步提高查询效率。
在一些情形下,用户有数据查询需求,查询需求可以包括通过资源ID查找结构化数据,通过资源ID查找结构化数据和对象数据,通过资源属性查找结构化数据,通过资源属性查找结构化数据和对象数据。查询的总体原则是,先在缓存中查询待查询数据,如果缓存中存在待查询数据,则直接返回结果,如果缓存中不存在待查询数据,再去持久化存储区中查询待查询数据。如此,可提高查询效率,提升视图库性能。如果缓存区中没有待查询数据,持久化存储区中也没有待查询数据,则返回数据不存在的结果。在返回结果时,视用户需求决定只返回结构化数据还是同时返回结构化数据和对象数据。
在一个具体实施方式中,以查询指令中包含的是资源ID为例,数据处理方法还包括以下数据查询步骤:
步骤S330:接收查询指令,查询指令包括待查询数据的资源ID。
在一例中,可由接入服务将包含资源ID的查询指令路由给数据服务。
步骤S332:在缓存区查询键值包含待查询数据的资源ID的第三结构化数据;
步骤S334:若查询到第三结构化数据,则执行步骤S3341或步骤S3342:
步骤S3341:若第三结构化数据具有删除标识,则将资源不存在的查询结果返回给查询指令的发送方;
步骤S3342:若第三结构化数据不具有删除标识,在缓存区查询键值包含待查询数据的资源ID的第三对象数据;
步骤a:若查询到第三对象数据,则将第三结构化数据和第三对象数据返回给查询指令的发送方。
步骤b:若未查询到第三对象数据,则在持久化存储区查询待查询数据的资源ID对应的第三对象数据;若查询到第三对象数据,则将第三结构化数据和第三对象数据返回给查询指令的发送方。
步骤S336:若未查询到第三结构化数据,则在持久化存储区查找与待查询数据的资源ID对应的第四结构化数据;
步骤S338:若查找到第四结构化数据,在持久化存储区查询待查询数据的资源ID对应的第四对象数据,将第四结构化数据和第四对象数据返回给查询指令的发送方。
在另一具体实施方式中,以查询指令中包含的是资源属性为例,数据处理方法还包括以下数据查询步骤:
接收查询指令,查询指令包括待查询数据的资源属性;
在缓存区查询内容包含待查询数据的资源属性的第五结构化数据;
若查询到第五结构化数据,则:
若第五结构化数据具有删除标识,则将资源不存在的查询结果返回给查询指令的发送方;
若第五结构化数据不具有删除标识,则将第三结构化数据和返回给查询指令的发送方。
可以理解的是,在查询到第五结构化数据后,可以获得第五结构化数据的资源标识及第五结构化数据中包含的图像ID、对象数据地址,从而可以查询第五结构化数据对应的第五对象数据,在此不再赘述。
查询指令中也可以不包含结构化数据信息而只包含对象数据信息,即用户可以直接对图像进行查询。在另一具体实施方式中,数据处理方法还包括:
步骤S340:接收查询指令,查询指令中包括对象数据存储地址。
步骤S342:根据对象数据存储地址中的查询对象数据ID,在缓存区中查询键值包含查询对象数据ID的第五对象数据。
步骤S344:若查询到第五对象数据,则将第五对象数据返回给请求的发送方。
步骤S346:若未查询到第五对象数据,则根据对象数据存储地址,在对象数据持久化存储中查询第六对象数据,将第六对象数据返回给请求的发送方。
需要说明的是,查询指令中包含的对象数据存储地址可能与对象数据在持久化存储区中的对象数据存储地址并不一致,此时,需要将查询指令中的对象数据存储地址转化为持久化存储区中的对象数据存储地址,再对持久化存储区中的对象数据进行访问。
可以理解的是,在本实施方式中,也可以根据对象数据获取到其对应的结构化数据的资源ID,从而在缓存区或持久化存储区查询结构化数据,与步骤S344或步骤S346获得的对象数据一并返回给请求发送方。
对于已经存储在存储服务器的待存储数据,还可以进行修改。一般来说,结构化数据中的资源属性是根据对图像数据的结构化分析生成的,当结构化分析算法更新后,结构化数据中的资源属性也需要修改;当数据出现错误时,数据中的其他部分也可能需要修改。具体来说,可以通过步骤D1-步骤D4修改待存储数据:
步骤D1,接收数据修改指令。
数据修改指令包括待修改数据的资源ID,待修改数据的待修改字段,修改后的字段值。在一例中,接入服务接收数据修改指令并路由至数据服务,使数据服务进行数据修改操作。
步骤D2,从缓存区查找数据修改指令对应的待修改数据。
缓存区的数据会被定期清除,所以缓存区中可能不存在修改指令对应的待存储数据。
步骤D3,如果缓存区中存在数据修改指令对应的待修改数据,基于数据修改指令修改缓存区中的待修改数据。
具体的,将待修改数据待修改字段修改为修改后的字段值。
步骤D4,在持久化存储区查找数据修改指令对应的待修改数据,并基于数据修改指令修改持久化存储区中的待修改数据。
需要说明的是,步骤D2-D3可以与步骤D4互换顺序,即先执行步骤D4,再执行步骤D2-D3,或者,先执行步骤D2-D3,再执行步骤D4。
此外,由于待存储数据并不是实时存储至持久化存储区的,可能出现待修改数据存在于缓存区,但不存在于持久化存储区的情况,此时,由于持久化的数据与缓存的数据一致,只要缓存中的数据已修改,后续持久化存储的数据也是修改后的数据。
实施例三:
对应于上述方法实施例,参见图5所示的一种数据处理装置的结构示意图,该装置应用于存储服务器,存储服务器包括数据服务、持久化服务;存储服务器配置有缓存区和持久化存储区;该数据处理装置包括:
待存储数据获取模块51,用于数据服务获取待存储数据;
待存储数据解析模块52,用于数据服务将待存储数据解析为结构化数据和与结构化数据具有关联关系的对象数据;
缓存区缓存模块53,用于数据服务将结构化数据和对象数据缓存于缓存区;
持久化服务获取模块54,用于持久化服务获取结构化数据和对象数据;
持久化服务存储模块55,用于持久化服务将结构化数据和对象数据存储至持久化存储区。
本发明实施例提供的一种数据处理装置,将待存储数据解析为体积小、查询频率高的结构化数据和体积大、查询频率低的对象数据,对结构化数据和对象数据进行分别存储、分别处理,能够提高数据存储、查询效率;同时将数据缓存和数据的持久化存储解耦,能够减少数据存储造成的持久化存储区堵塞。
上述缓存区包含结构化数据缓存区和对象数据缓存区,持久化存储区包含结构化数据持久化存储区和对象数据持久化缓存区;上述缓存区缓存模块,用于数据服务将结构化数据和对象数据分别缓存于结构化数据缓存区和对象数据缓存区;上述持久化服务存储模块,用于持久化服务将结构化数据和对象数据分别存储于结构化数据持久化存储区和对象数据持久化存储区。
上述待存储数据解析模块,用于数据服务将待存储数据中的图像数据替换为待存储数据分配的存储地址,得到结构化数据,存储地址中包含待存储数据中的图像数据的图像ID;数据服务将待存储数据中的图像数据进行图像处理,得到与结构化数据具有关联关系的对象数据。
上述缓存区缓存模块,用于数据服务以待存储数据的资源ID为键值,结构化数据为内容,将结构化数据缓存于缓存区;数据服务以待存储数据的资源ID和待存储数据中包含的图像ID为键值,对象数据为内容,将对象数据缓存于缓存区。
上述装置还包括消息队列发布模块,用于:数据服务将结构化数据发布在消息队列;上述持久化服务获取模块,用于持久化服务从消息队列获取结构化数据,持久化服务预先订阅消息队列。
上述持久化服务获取模块,还用于持久化服务从结构化数据中包含的存储地址中解析出图像ID,在缓存区查询键值包含图像ID的对象数据,从而获取对象数据。
上述存储服务器还包括推送服务,推送服务预先订阅消息队列;上述装置还包括推送服务模块,用于:推送服务从消息队列获取结构化数据,并向待存储数据的订阅方推送结构化数据。
上述待存储数据具有不同的资源类型,上述消息队列发布模块,用于:数据服务将对应不同资源类型的结构化数据发布在消息队列的不同主题中;持久化服务将结构化数据和对象数据存储至持久化存储区包括:持久化服务将对应不同资源类型的结构化数据和对象数据存储至持久化存储区的不同子区。
上述装置包括数据清理模块,用于:通过以下方式中的至少一种对缓存区缓存的数据进行清理:当已存储至持久化存储区的结构化数据在缓存区中的缓存时长达到第一时长时,从缓存区中清理已存储至持久化存储区的结构化数据;当已存储至持久化存储区的对象数据在缓存区中的缓存时长达到第二时长时,从缓存区中清理已存储至持久化存储区的对象数据;当缓存区缓存的数据量大于预设阈值时,清理结构化数据和/或对象数据。
上述装置包括数据删除模块,用于:接收删除指令,删除指令包括待删除数据的资源ID;清除持久化存储区中与待删除数据的资源ID对应的第一结构化数据;根据第一结构化数据中包含的第一存储地址,清除持久化存储区中与第一存储地址对应的第一对象数据;或者,清除持久化存储区中与待删除数据的资源ID对应的第一对象数据;若对象数据缓存区中存在键值包含待删除数据的资源ID的第二对象数据,将第二对象数据删除;若结构化数据缓存区中存在键值包含待删除数据的资源ID的第二结构化数据,将第二结构化数据删除或将第二结构化数据的内容标识为“已删除”。
上述装置包括数据查询模块,用于:接收查询指令,查询指令包括待查询数据的资源ID;在缓存区查询键值包含待查询数据的资源ID的第三结构化数据;若查询到第三结构化数据,则:若第三结构化数据具有删除标识,则将资源不存在的查询结果返回给查询指令的发送方;若第三结构化数据不具有删除标识,则将第三结构化数据和返回给查询指令的发送方。
上述数据查询模块,用于:若第三结构化数据不具有删除标识,在缓存区查询键值包含待查询数据的资源ID的第三对象数据;若查询到第三对象数据,则将第三结构化数据和第三对象数据返回给查询指令的发送方。
上述数据查询模块,还用于:若未查询到第三对象数据,则在持久化存储区查询待查询数据的资源ID对应的第三对象数据;若查询到第三对象数据,则将第三结构化数据和第三对象数据返回给查询指令的发送方。
上述数据查询模块,还用于:若未查询到第三结构化数据,则在持久化存储区查找与待查询数据的资源ID对应的第四结构化数据;若查找到第四结构化数据,则将第四结构化数据返回给查询指令的发送方。
上述数据查询模块,用于:若查找到第四结构化数据,在持久化存储区查询待查询数据的资源ID对应的第四对象数据,将第四结构化数据和第四对象数据返回给查询指令的发送方。
上述数据查询模块,还用于:接收查询指令,查询指令中包括对象数据存储地址;根据对象数据存储地址中的查询对象数据ID,在缓存区中查询键值包含查询对象数据ID的第五对象数据;若查询到第五对象数据,则将第五对象数据返回给查询指令的发送方;若未查询到第五对象数据,则根据对象数据存储地址,在对象数据持久化存储中查询第六对象数据,将第六对象数据返回给查询指令的发送方。
上述装置还包括接入服务模块,用于:存储服务器还包括接入服务,接入服务将接收到的待存储数据路由至数据服务。
实施例四:
本发明实施例提供了一种电子设备,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现上述的数据处理方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行如数据处理方法的步骤。
本发明实施例所提供的数据处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种数据处理方法,其特征在于,应用于存储服务器,所述存储服务器包括数据服务、持久化服务;所述存储服务器配置有缓存区和持久化存储区;所述方法包括:
数据服务获取待存储数据;
所述数据服务将所述待存储数据解析为结构化数据和与所述结构化数据具有关联关系的对象数据;
所述数据服务将所述结构化数据和所述对象数据缓存于所述缓存区;
所述持久化服务获取所述结构化数据和所述对象数据;
所述持久化服务将所述结构化数据和所述对象数据存储至所述持久化存储区。
2.根据权利要求1所述的方法,所述缓存区包含结构化数据缓存区和对象数据缓存区,所述持久化存储区包含结构化数据持久化存储区和对象数据持久化缓存区;
所述数据服务将所述结构化数据和所述对象数据缓存于所述缓存区,包括:
所述数据服务将所述结构化数据和所述对象数据分别缓存于所述结构化数据缓存区和所述对象数据缓存区;
所述持久化服务将所述结构化数据和所述对象数据存储至所述持久化存储区,包括:
所述持久化服务将所述结构化数据和所述对象数据分别存储于所述结构化数据持久化存储区和所述对象数据持久化存储区。
3.根据权利要求1或2所述的方法,其特征在于,
所述数据服务将所述待存储数据解析为结构化数据和与所述结构化数据具有关联关系的对象数据,包括:
所述数据服务将所述待存储数据中的图像数据替换为所述待存储数据分配的存储地址,得到所述结构化数据,所述存储地址中包含所述待存储数据中的图像数据的图像ID;
所述数据服务将所述待存储数据中的图像数据进行图像处理,得到与所述结构化数据具有关联关系的对象数据。
4.根据权利要求3所述的方法,所述数据服务将所述结构化数据和所述对象数据缓存于所述缓存区,包括:
所述数据服务以所述待存储数据的资源ID为键值,所述结构化数据为内容,将所述结构化数据缓存于所述缓存区;
所述数据服务以所述待存储数据的资源ID和所述待存储数据中包含的图像ID为键值,所述对象数据为内容,将所述对象数据缓存于所述缓存区。
5.根据权利要求1所述的方法,所述方法还包括:所述数据服务将所述结构化数据发布在消息队列;
所述持久化服务获取所述结构化数据和所述对象数据,包括:
所述持久化服务从所述消息队列获取所述结构化数据,所述持久化服务预先订阅所述消息队列。
6.根据权利要求5所述的方法,所述持久化服务获取所述结构化数据和所述对象数据还包括:所述持久化服务从所述结构化数据中包含的存储地址中解析出图像ID,在缓存区查询键值包含所述图像ID的对象数据,从而获取所述对象数据。
7.根据权利要求5所述的方法,所述存储服务器还包括推送服务,所述推送服务预先订阅所述消息队列;
所述方法还包括:
所述推送服务从所述消息队列获取所述结构化数据,并向所述待存储数据的订阅方推送所述结构化数据。
8.根据权利要求5-7任一项所述的方法,所述待存储数据具有不同的资源类型,所述数据服务将所述结构化数据发布在消息队列包括:
所述数据服务将对应不同资源类型的所述结构化数据发布在消息队列的不同主题中;
所述持久化服务将所述结构化数据和所述对象数据存储至所述持久化存储区包括:
持久化服务将对应不同资源类型的所述结构化数据和所述对象数据存储至所述持久化存储区的不同子区。
9.根据权利要求1所述的方法,还包括:
通过以下方式中的至少一种对缓存区缓存的数据进行清理:
当已存储至所述持久化存储区的结构化数据在所述缓存区中的缓存时长达到第一时长时,从缓存区中清理所述已存储至所述持久化存储区的结构化数据;
当已存储至所述持久化存储区的对象数据在所述缓存区中的缓存时长达到第二时长时,从缓存区中清理所述已存储至所述持久化存储区的对象数据;
当所述缓存区缓存的数据量大于预设阈值时,清理所述结构化数据和/或所述对象数据。
10.根据权利要求1所述的方法,还包括:
接收删除指令,所述删除指令包括待删除数据的资源ID;
清除所述持久化存储区中与待删除数据的资源ID对应的第一结构化数据;
根据所述第一结构化数据中包含的第一存储地址,清除所述持久化存储区中与所述第一存储地址对应的第一对象数据;或者,清除所述持久化存储区中与所述待删除数据的资源ID对应的第一对象数据;
若对象数据缓存区中存在键值包含所述待删除数据的资源ID的第二对象数据,将所述第二对象数据删除;
若结构化数据缓存区中存在键值包含所述待删除数据的资源ID的第二结构化数据,将所述第二结构化数据删除或将所述第二结构化数据的内容标识为“已删除”。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收查询指令,所述查询指令包括待查询数据的资源ID;
在所述缓存区查询键值包含所述待查询数据的资源ID的第三结构化数据;
若查询到所述第三结构化数据,则:
若所述第三结构化数据具有删除标识,则将资源不存在的查询结果返回给所述查询指令的发送方;
若所述第三结构化数据不具有删除标识,则将所述第三结构化数据和返回给所述查询指令的发送方。
12.根据权利要求11所述的方法,其特征在于,若所述第三结构化数据不具有删除标识,则将所述第三结构化数据和返回给所述查询指令的发送方,包括:
若所述第三结构化数据不具有删除标识,在所述缓存区查询键值包含所述待查询数据的资源ID的第三对象数据;
若查询到所述第三对象数据,则将所述第三结构化数据和所述第三对象数据返回给所述查询指令的发送方。
13.根据权利要求12所述的方法,其特征在于,所述若所述第三结构化数据不具有删除标识,则将所述第三结构化数据和返回给所述查询指令的发送方,还包括,
若未查询到所述第三对象数据,则在所述持久化存储区查询所述待查询数据的资源ID对应的第三对象数据;
若查询到所述第三对象数据,则将所述第三结构化数据和所述第三对象数据返回给所述查询指令的发送方。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若未查询到所述第三结构化数据,则在所述持久化存储区查找与所述待查询数据的资源ID对应的第四结构化数据;
若查找到所述第四结构化数据,则将所述第四结构化数据返回给所述查询指令的发送方。
15.根据权利要求14所述的方法,其特征在于,所述若查找到所述第四结构化数据,则将所述第四结构化数据返回给所述查询指令的发送方,包括:
若查找到所述第四结构化数据,在所述持久化存储区查询所述待查询数据的资源ID对应的第四对象数据,将所述第四结构化数据和所述第四对象数据返回给所述查询指令的发送方。
16.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收查询指令,所述查询指令中包括对象数据存储地址;
根据所述对象数据存储地址中的查询对象数据ID,在所述缓存区中查询键值包含所述查询对象数据ID的第五对象数据;
若查询到所述第五对象数据,则将所述第五对象数据返回给所述查询指令的发送方;
若未查询到所述第五对象数据,则根据所述对象数据存储地址,在所述对象数据持久化存储中查询第六对象数据,将所述第六对象数据返回给所述查询指令的发送方。
17.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述存储服务器还包括接入服务,所述接入服务将接收到的所述待存储数据路由至数据服务。
18.一种数据处理装置,其特征在于,应用于存储服务器,所述存储服务器包括数据服务、持久化服务;所述存储服务器配置有缓存区和持久化存储区;所述装置包括:
待存储数据获取模块,用于数据服务获取待存储数据;
待存储数据解析模块,用于所述数据服务将所述待存储数据解析为结构化数据和与所述结构化数据具有关联关系的对象数据;
缓存区缓存模块,用于所述数据服务将所述结构化数据和所述对象数据缓存于所述缓存区;
持久化服务获取模块,用于所述持久化服务获取所述结构化数据和所述对象数据;
持久化服务存储模块,用于所述持久化服务将所述结构化数据和所述对象数据存储至所述持久化存储区。
19.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如权利要求1-17任一项所述的数据处理方法。
20.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理设备运行时执行如权利要求1至17任一项所述的数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453156.0A CN111797094A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置和电子设备 |
PCT/CN2020/119615 WO2021238011A1 (zh) | 2020-05-25 | 2020-09-30 | 数据处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453156.0A CN111797094A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797094A true CN111797094A (zh) | 2020-10-20 |
Family
ID=72806270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010453156.0A Pending CN111797094A (zh) | 2020-05-25 | 2020-05-25 | 数据处理方法、装置和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111797094A (zh) |
WO (1) | WO2021238011A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656683A (zh) * | 2021-07-12 | 2021-11-16 | 北京旷视科技有限公司 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573128A (zh) * | 2014-10-28 | 2015-04-29 | 北京国双科技有限公司 | 一种业务数据的处理方法、装置及服务器 |
CN106775498A (zh) * | 2017-01-23 | 2017-05-31 | 深圳国泰安教育技术股份有限公司 | 一种缓存数据同步方法及系统 |
CN107229639A (zh) * | 2016-03-24 | 2017-10-03 | 上海宝信软件股份有限公司 | 分布式实时数据库的存储系统 |
CN107562367A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于软件化存储系统读写数据的方法以及装置 |
CN110633296A (zh) * | 2018-05-31 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 数据查询方法、装置、介质及电子设备 |
CN110866201A (zh) * | 2019-11-14 | 2020-03-06 | 深圳前海环融联易信息科技服务有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9380431B1 (en) * | 2013-01-31 | 2016-06-28 | Palantir Technologies, Inc. | Use of teams in a mobile application |
US10671631B2 (en) * | 2016-10-31 | 2020-06-02 | Informatica Llc | Method, apparatus, and computer-readable medium for non-structured data profiling |
CN107169083B (zh) * | 2017-05-11 | 2020-03-31 | 聚龙融创科技有限公司 | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 |
CN110275983B (zh) * | 2019-06-05 | 2022-11-22 | 青岛海信网络科技股份有限公司 | 交通监控数据的检索方法及装置 |
-
2020
- 2020-05-25 CN CN202010453156.0A patent/CN111797094A/zh active Pending
- 2020-09-30 WO PCT/CN2020/119615 patent/WO2021238011A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573128A (zh) * | 2014-10-28 | 2015-04-29 | 北京国双科技有限公司 | 一种业务数据的处理方法、装置及服务器 |
CN107229639A (zh) * | 2016-03-24 | 2017-10-03 | 上海宝信软件股份有限公司 | 分布式实时数据库的存储系统 |
CN107562367A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于软件化存储系统读写数据的方法以及装置 |
CN106775498A (zh) * | 2017-01-23 | 2017-05-31 | 深圳国泰安教育技术股份有限公司 | 一种缓存数据同步方法及系统 |
CN110633296A (zh) * | 2018-05-31 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 数据查询方法、装置、介质及电子设备 |
CN110866201A (zh) * | 2019-11-14 | 2020-03-06 | 深圳前海环融联易信息科技服务有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656683A (zh) * | 2021-07-12 | 2021-11-16 | 北京旷视科技有限公司 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021238011A1 (zh) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413650B (zh) | 一种业务数据的处理方法、装置、设备和存储介质 | |
US7661036B1 (en) | Cache for collecting events on a monitored computer | |
US20050055383A1 (en) | Capturing session activity as in-memory snapshots using a time-based sampling technique within a database for performance tuning and problem diagnosis | |
CN111277847B (zh) | 直播中聊天消息的展示方法、装置、服务器及系统 | |
CN109740089A (zh) | 数据采集方法、装置、系统、可读存储介质及电子设备 | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
CN112579905A (zh) | 消息推送对象确定方法、装置、设备及存储介质 | |
CN109978114B (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN111797094A (zh) | 数据处理方法、装置和电子设备 | |
CN109522282B (zh) | 图片管理方法、装置、计算机装置及存储介质 | |
CN117149777A (zh) | 一种数据查询方法、装置、设备及存储介质 | |
CN111753141A (zh) | 一种数据管理方法及相关设备 | |
CN112764988B (zh) | 一种数据分段采集方法及装置 | |
CN112667149B (zh) | 一种数据热度感知方法、装置、设备及介质 | |
CN115509872A (zh) | 一种客户端行为数据采集方法及装置 | |
CN113805864A (zh) | 一种项目工程的生成方法、装置、电子设备及存储介质 | |
CN112000618A (zh) | 集群节点的文件变动管理方法、装置、设备及存储介质 | |
CN112948020A (zh) | 一种配置文件的处理方法和装置 | |
CN115878563B (zh) | 一种分布式文件系统目录级快照的实现方法及电子设备 | |
CN116662288A (zh) | 日志处理方法、装置、电子设备及存储介质 | |
US11863632B2 (en) | Method and system for application performance neutral, network bandwidth optimized capturing of resources used during the interaction of user with a web-based application to create monitoring data for an accurate visual reconstruction of the user experience | |
CN110008103B (zh) | 第三方应用程序的日志收集方法、系统、装置及存储介质 | |
CN108989245A (zh) | 用户数据存储方法及装置 | |
CN112584191B (zh) | 一种公屏消息的读取方法、装置、服务器和存储介质 | |
CN112714033B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |
|
RJ01 | Rejection of invention patent application after publication |