数据处理系统的制作方法

文档序号:17721914发布日期:2019-05-22 02:13阅读:165来源:国知局
数据处理系统的制作方法

本申请涉及基于多云的数据持久化与查询的技术领域,特别是涉及一种数据处理系统。



背景技术:

基于多云的数据持久化与查询能够帮助用户处理跨区域、多数据中心、大规模时间序列数据持久化与查询的业务需求。典型的业务场景,例如,实时多云监控,大规模物联网等。

在多云监控或物联网的使用场景中,将需要面对以下技术问题:巨大的云计算服务商之间的网络带宽消耗;各个数据中心之间的距离可能达到上千公里,数据中心之间网络延迟大,网络不稳定;以及大数据持久化与分析压力。

大多现有的用于时间序列数据持久化的方案,往往需要将各个数据中心采集的时间序列数据部署在一个数据中心内部,从而形成了跨数据中心部署。因为时间序列数据或物联网数据的价值密度比较低,因此在跨数据中心部署的情况下,会造成巨大的跨数据中心网络带宽与流量成本。例如,由于各个数据中心采集的时间序列数据要传输到一个特定的数据中心内进行持久化,因此分隔上千公里的数据中心之间的数据传输需要占据大量的传输资源,并产生大量的费用。所以,现有的云计算服务商之间的数据处理将会造成消耗大量网络带宽、产生网络延时、网络不稳定以及大数据持久化与分析压力大等问题。

针对上述的现有技术中存在的在跨数据中心的数据处理时,会耗费大量资源及费用的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本公开的实施例提供了一种数据处理系统,以至少解决现有技术中存在的在跨数据中心的数据处理时,会耗费大量资源及费用的技术问题。

根据本公开实施例,提供了一种数据处理系统,包括:设置于不同区域的多个存储节点,其中存储节点配置用于存储从所对应的区域采集的时间序列数据;以及查询装置,配置为能够通过网络与存储节点通信,其中查询装置配置用于执行以下操作:从终端设备接收查询指令,查询指令用于查询存储于存储节点的时间序列数据;以及从存储节点获取与查询指令对应的目标数据,并将目标数据发送至终端设备。

在本公开实施例中,通过数据处理系统,无论是在各个存储节点获取时间序列数据的过程,还是用户通过终端设备查询监控该数据的过程,都能够有效地避免产生巨大的跨数据中心的网络流量和带宽。从而解决了现有技术中存在的跨数据中心的数据处理时,会耗费大量资源及费用的技术问题。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:

图1是用于实现根据本公开实施例1所述的数据处理系统的示意图;

图2是根据本公开实施例所述的查询装置的操作流程图;以及

图3是根据本公开实施例所述的存储节点所在区域的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例

图1是根据本实施例所述的数据处理系统的示意图。参照图1所示,该系统包括:多个存储节点,例如设置于不同区域10、20和30的多个存储节点1011、1012、1013、2011、2012、2013、3011、3012以及3013;以及查询装置110。其中,多个存储节点1011~3013分布在不同的区域(其中不同区域分别对应于不同的数据中心),用户130可以利用终端设备120通过查询装置110查询不同存储节点1011~3013的数据。

根据本实施例提供的数据处理系统,该系统包括:设置于不同区域10~30的多个存储节点1011~3013,其中存储节点1011~3013配置用于存储从所对应的区域采集的时间序列数据;以及查询装置110,配置为能够通过网络与存储节点1011~3013通信。

其中,图2示出了查询装置110所执行的操作的流程图。参考图2所示,查询装置110配置用于执行以下操作:

s202:从终端设备接收查询指令,查询指令用于查询存储于存储节点的时间序列数据;以及

s204:从存储节点获取与查询指令对应的目标数据,并将目标数据发送至终端设备。

正如背景技术中所述的,现有的用于时间序列数据持久化的方案,往往需要将各个数据中心采集的时间序列数据部署在一个数据中心内部,从而形成了跨数据中心部署。因为时间序列数据或物联网数据的价值密度比较低,因此在跨数据中心部署的情况下,会造成巨大的跨数据中心网络带宽与流量成本。例如,由于各个数据中心采集的时间序列数据要传输到一个特定的数据中心内进行持久化,因此分隔上千公里的数据中心之间的数据传输需要占据大量的传输资源,并产生大量的费用。所以,现有的云计算服务商之间的数据处理将会造成消耗大量网络带宽、产生网络延时、网络不稳定以及大数据持久化与分析压力大等问题。

针对背景技术中存在的问题,本实施例技术方案提供的数据处理系统可以在各个区域10~30分别设置存储节点。例如,区域10(例如北京)设置有存储节点1011~1013,区域20(例如美国某地区)设置有存储节点2011~2013,以及区域30(例如欧洲某地区)设置有存储节点3011~3013。其中,存储节点1011~1013、存储节点2011~2013以及存储节点3011~3013分别存储对应区域所采集的时间序列数据。例如但不限于,时间序列数据是通过物联网传感器所采集的农业方面的数据,或者时间序列数据也可以是对各个区域内的计算装置(例如服务器)进行监控产生的时间序列数据。

因此,由于本实施例的技术方案,在各个不同的区域10~30(对应于不同的数据中心)中分别设置有存储节点。因此各个区域所产生的时间序列数据可以保存在本区域(或者本数据中心)的存储节点中,而不必跨越数据中心去存储到设置于其他区域的存储节点。因此本实施例的技术方案避免了大量的跨数据中心的数据传输和网络流量,因此节省了网络带宽和流量成本。

此外,该数据处理系统还包括查询装置110,该查询装置110能够通过网络与多个存储节点1011~3013之间进行通信。并且该查询装置110配置为能够从终端设备120接收查询指令并且从存储节点获取与查询指令对应的目标数据,并将目标数据发送至终端设备120。

由于用户130所要查询的数据的数据量相对较少,因此当终端设备120通过查询装置110从各个区域或数据中心的存储节点获取监控该数据时,其产生的流量成本与网络带宽也很少,因此也不会产生巨大的跨数据中心的网络流量。

因此,综上所述,通过本实施例提供的数据处理系统,无论是在各个存储节点1011~3013获取时间序列数据的过程,还是用户通过终端设备120查询监控该数据的过程,都能够有效地避免产生巨大的跨数据中心的网络流量和带宽。从而解决了现有技术中存在的跨数据中心的数据处理时,会耗费大量资源及费用的技术问题。

此外,尽管图1中仅仅示出了一个查询装置110,但是本公开的方案不限与此。例如也可以在每个区域10~30各设置一个查询装置,各个查询装置可以在各区域内接收查询指令。如果该查询指令对应的目标数据,正是与该查询装置同一区域内的存储节点存储的数据,则能够快速返回目标数据。如果查询指令对应的目标数据是存储于其他区域的存储节点内的数据,则可以向该区域的查询装置发送查询请求,以便从该区域的存储节点获取查询数据。当然,也可以几个区域共享一个查询装置,其他区域使用不同的查询装置。例如区域10和区域20共享一个查询装置,区域30单独配置一个查询装置。

可选地,从存储节点获取与查询指令对应的目标数据的操作,包括:根据预先设定的第一映射信息,从多个存储节点中确定存储目标数据的目标存储节点,其中第一映射信息用于指示所存储的时间序列数据与多个存储节点之间的映射关系;以及从目标存储节点获取目标数据。

具体地,从存储节点获取与查询指令对应的目标数据的操作中,查询装置110根据预先设定的第一映射信息,从多个存储节点1011~3013中确定目标存储节点,其中第一映射信息用于指示所存储的时间序列数据与多个存储节点1011~3013之间的映射关系。例如,该查询指令是用户130通过终端设备120所发送的用于查询区域10的关于某一日期的温度的时间序列数据,然后查询装置110根据第一映射信息从多个存储节点1011~3013中确定与查询的目标数据所对应的目标存储节点1011。最终,查询装置110从目标存储节点1011中获取目标数据。

从而通过这种方式,使得待查询的数据与所要查询的存储节点相对应,保证了查询的操作更加有序,节省了操作时间以及各个存储节点的资源浪费。

可选地,系统还包括能够与查询装置通信的第一映射信息存储装置,第一映射信息存储装置配置用于执行以下操作:从查询装置接收第一映射信息,并存储所接收的第一映射信息;以及响应于从查询装置接收的获取第一映射信息的请求,将所存储的第一映射信息发送至查询装置。

具体地,参考图1所示,该系统还包括第一映射信息存储装置111,该第一映射信息存储装置111所执行的操作包括:从查询装置110接收第一映射信息,并存储第一映射信息。其中,该第一映射信息记录着不同时间序列数据与多个存储节点1011~3013之间的映射关系(可选地,该映射关系建立好不再变动)。在查询装置110由于故障等其他原因进行重启的情况下,第一映射信息存储装置111接收查询装置110发送的获取第一映射信息的请求,将该第一映射信息发送至查询装置110,从而保证了查询装置110内的第一映射信息的一致性,避免了系统因为宕机而造成数据丢失的问题发生。进而使得系统的信息存储更加有保障。

此外,在每个区域10~30各设置一个查询装置的情况下(或者区域10和20共享一个查询装置,区域30单独设置一个查询装置的情况下),如果查询装置接收的查询指令对应的目标数据是存储于其他区域的存储节点内的数据,可以从第一映射信息存储装置111确定目标数据对应的具体存储节点,然后向该区域的查询装置发送查询请求,以便从该区域的存储节点获取查询的数据。

可选地,查询装置还配置用于执行以下操作:在重新启动的情况下,向第一映射信息存储装置发送获取第一映射信息的请求;以及从第一映射信息存储装置接收第一映射信息。

具体地,在该查询装置110重启的情况下,向第一映射信息存储装置111发送获取第一映射信息的请求,然后查询装置110从第一映射信息存储装置111接收第一映射信息。从而通过这种方式,保证了系统信息的一致性,避免了系统因为宕机而造成数据丢失的问题发生。进而使得系统的信息存储更加有保障。

可选地,从存储节点获取与查询指令对应的目标数据的操作,包括:向多个存储节点分别发送与查询指令对应的查询请求;以及从多个存储节点中的至少一个存储节点获取响应于查询请求返回的目标数据。

具体地,从存储节点获取与查询指令对应的目标数据的操作中,查询装置110首先向多个存储节点1011~3013分别发送与查询指令(例如,该指令用于查询区域10的关于某一日期的温度的时间序列数据)对应的查询请求,然后从多个存储节点1011~3013中的至少一个存储节点获取响应于查询请求返回的目标数据。例如,存储节点1011响应该请求,将目标数据(区域10的关于某一日期的温度的时间序列数据)发送给查询装置110。从而,保证了所要查询的数据更加准确。

也就是说,在不确定数据在存储节点中的映射关系的情况下,查询装置110以广播形式向多个存储节点1011~3013进行查询;以及在确定数据的存储位置的情况下,根据映射关系向特定存储节点发起查询请求。

可选地,还包括:设置于不同区域的多个数据采集节点;设置于相同区域内的数据采集节点与存储节点之间的消息队列装置以及数据分发装置,其中消息队列装置配置用于从相同区域的数据采集节点接收时间序列数据,并将接收的时间序列数据以消息队列的方式缓存;以及数据分发装置配置用于从消息队列装置接收时间序列数据,并且根据预设的第二映射信息,将所接收的时间序列数据发送至相应的存储节点,其中第二映射信息用于表示相同区域内的数据采集节点与存储节点之间的对应关系。

具体地,图3示出了区域10(对应于一个数据中心)内的示意图,参考图3所示,还包括多个数据采集节点1041~1044。并且该区域10中的数据采集节点1041~1044和存储节点1011~1013之间还配置有消息队列装置102(例如:kafka分布式消息队列)和数据分发装置103。该消息队列装置102用于从相同区域(例如区域10)的数据采集节点1041~1044接收时间序列数据并将接收的时间序列数据以消息队列的方式缓存。然后,数据分发装置103通过多线程模式定时从消息队列装置102接收数据,将该数据重新封装,封装的数据中包含数据的来源参数,并根据第二映射信息将所接受的时间序列数据发送至相应的存储节点。其中,第二映射信息记录着数据采集节点1041~1044与存储节点1011~1013之间的映射关系,例如:数据采集节点1041与存储节点1011之间存在对应的关系,即数据采集节点1041所生成的时间序列数据通过数据分发装置103发送至节点1011中。

在具体的应用中,往往需要对同一个区域设置多个数据采集节点。例如对设置于一个区域内的多个服务器进行监控时,就需要针对每一个服务器设置一个监控该节点进行监控。再比如,对一个区域内的不同地点进行环境监控时,也需要在不同地点分别设置数据采集节点。在这种情况下,利用消息队列接收时间序列数据,从而保障了海量数据可以快速传输并且方便节点的扩展。并且数据分发装置104根据第二映射信息将多个数据采集节点采集的数据分别存储于不同的存储节点中,方便后期的查询操作。

可选地,还包括:能够与数据分发装置通信的第二映射信息存储装置,第二映射信息存储装置配置用于执行以下操作:从数据分发装置接收第二映射信息,并存储所接收的第二映射信息;以及响应于从数据分发装置接收的获取第二映射信息的请求,将所存储的第二映射信息发送至数据分发装置。

具体地,参考图3所示,系统还包括与数据分发装置103通信的第二映射信息存储装置105。该第二映射信息存储装置105从数据分发装置103接收并存储第二映射信息;以及在数据分发装置103因为故障等原因重新启动的情况下,第二映射信息存储装置105将第二映射信息发送至数据分发装置103。从而,保证了数据分发装置103内的第二映射信息的一致性,避免了系统因为宕机而造成数据丢失的问题发生。进而使得系统的信息存储更加有保障。

可选地,数据分发装置还配置用于执行以下操作:在重新启动的情况下,向第二映射信息存储装置发送获取第二映射信息的请求;以及从第二映射信息存储装置接收第二映射信息。

具体地,在数据分发装置103重启的情况下,数据分发装置103向第二映射信息存储装置105发送获取第二映射信息的请求,然后第二映射信息存储装置105将该第二映射信息发送至数据分发装置103。保证了数据可以同步,避免了系统因为宕机而造成数据丢失的问题发生。进而使得系统的信息存储更加有保障。

可选地,第二映射信息是通过以下操作生成:根据数据采集节点的标识,计算标识的哈希值;对哈希值进行取模计算,确定监控该节点与存储节点之间的映射关系;以及根据所确定的映射关系,生成第二映射信息。

具体地,生成第二映射信息的操作中,系统根据数据采集节点1041~1044的标识,计算该标识的哈希值,然后将哈希值进行取模计算。其中,系统第一次启动时会计算每个数据采集节点的哈希值,然后通过取模计算,得出与存储节点(例如,存储节点1011~1013)的map关系,以key-value形式保存。例如:数据采集节点1041的标识为s,然后系统计算标识s的哈希值。然后该系统对该哈希值进行取模运算(计算过程例如:m=s%3),得到的m值(模值)范围为0、1、2。然后根据该取值范围,将数据采集节点1041~1044与存储节点1011~1013生成映射关系。最终根据该映射关系生成第二映射信息。从而,通过这种方式,将数据采集节点1041~1044的标识进行哈希计算以及取模计算,最终确定每个数据采集节点与存储节点之间的映射关系,保证了每个数据采集节点1041~1044所生成的数据可以保存在固定的位置,使得时间序列数据的存储方式更加严谨,并且时间序列数据的存储存在规律,方便后期的查询操作。此外,通过这种方式,时间序列数据存储在各个存储节点的分布也更加平均。此外,在多个节点都执行查询或者写入操作,但是又没有记录该节点与存储节点的映射关系的情况下,也可以通过哈希计算确定该节点与存储节点之间的映射关系,从而提高获得数据位置进行检索查询的效率。

可选地,消息队列装置还配置用于执行以下操作:从相同区域的数据采集节点接收时间序列数据;在所接收的时间序列数据的数量达到预定阈值的情况下,将所接收的时间序列数据批量发送至相应的存储节点。

具体地,消息队列装置102从相同区域的数据采集节点(例如,数据采集节点1041~1044)接收时间序列数据,并且接收的时间序列数据的数量达到预定阈值的情况下(例如,当数据量达到2000条时),将所接收的时间序列数据批量发送至相应的存储节点。从而,避免了因逐条发送而占用资源的的情况发生,加快了系统的工作效率。并且采取阈值的方式,可以根据时间序列数据的流量大小灵活确定阈值,可以使该系统适合不同场景的应用。

需要补充的是,该数据处理系统采用分布式设计,对于距离跨越上千公里的存储节点(即,存储节点1011~3013),可以实现集中管理。通过集群分布式持久化时间序列数据,不会因为分布式持久化影响时间序列计算中聚合计算与重采样等数据分析能力,这是与常见的基于key-value方式存储的大数据系统具有明显区别的。因为良好的时间序列计算能力,分析执行效率较其他系统性能优势明显。并且本方案数据持久化部分可无限扩展,不存在瓶颈。本方案采用时间序列数据库,存储和查询比关系型数据库存储和查询更加高效。

从而,通过本实施例提供的数据处理系统,无论是在各个存储节点1011~3013获取时间序列数据的过程,还是用户130通过终端设备120查询监控该数据的过程,都能够有效地避免产生巨大的跨数据中心的网络流量和带宽。从而解决了现有技术中存在的跨数据中心的数据处理时,会耗费大量资源及费用的技术问题。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1