数据聚合方法及装置与流程

文档序号:11286343阅读:237来源:国知局
数据聚合方法及装置与流程

本发明涉及信息技术领域,尤其涉及一种数据聚合方法及装置。



背景技术:

随着互联网的不断发展,在云环境下进行业务数据的存储与统计也越来越普遍。例如,对qps(querypersecond,每秒查询率)、pv(pageview,页面浏览量)等不同类别的业务数据进行存储与统计。由于在云环境下存储的数据量很大,因此在对云环境中存储的海量业务数据进行统计时,需要对海量的业务数据进行聚合。

目前,在对云环境中存储的海量业务数据进行聚合时,首先将不同时间段接收到的各个类别的业务数据写入到文件中,然后从文件中读取需要聚合的某一类别的全部业务数据,最后将读取的业务数据按照时间进行排序后发送给计算服务器进行数据聚合,例如发送给mapreduce(映射归约)服务器进行数据聚合,具体可以如图5所示。然而,由于在进行数据聚合时,需要对文件进行读写操作,而为了解决进行文件读写操作过程中存在的文件锁冲突的问题,会在数据聚合时进行一次保存有待聚合数据的文件复制过程,从而造成数据计算的延迟较高,并且由于还需要将读取的业务数据按照时间进行一次排序,从而造成数据聚合的过程较为繁琐,数据聚合操作的效率较低,数据聚合操作延迟较高;同时由于业务数据在从文件中读取并完成聚合操作后,如果再次接收到与进行聚合操作的业务数据时间相同或者时间更早的业务数据,再次接收到的这部分业务数据将被丢弃,从而造成数据聚合统计的精确度较低。



技术实现要素:

有鉴于此,本发明提供一种数据聚合方法及装置,主要目的是解决在对云环境中存储的海量业务数据进行聚合时存在数据聚合操作延迟较高的 技术问题。

与此同时,本发明还提供一种数据聚合方法及装置,主要目的是解决数据聚合统计精确度较低的技术问题。

为达到上述目的,本发明提供如下技术方案:

一方面,本发明提供一种数据聚合方法,包括:

数据聚合服务器接收业务数据服务器发送的业务数据,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间;

检测所述时间戳是否大于目标时间戳,所述目标时间戳为所述数据聚合服务器上一次接收到所述业务数据服务器发送的业务数据携带的时间戳;

若所述时间戳大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合,所述目标时间戳对应的业务数据保存在预置存储位置。

另一方面,本发明提供一种数据聚合装置,包括:

接收单元,用于接收业务数据服务器发送的业务数据,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间;

检测单元,用于检测所述接收单元接收的所述时间戳是否大于目标时间戳,所述目标时间戳为上一次接收到所述业务数据服务器发送的业务数据携带的时间戳;

聚合单元,用于若所述检测单元检测所述时间戳大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合,所述目标时间戳对应的业务数据保存在预置存储位置。

借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:

本发明提供的一种数据聚合方法及装置,当需要对云环境中存储的海量业务数据进行聚合时,首先数据聚合服务器接收业务数据服务器发送的业务数据,然后实时检测业务数据中携带的时间戳是否大于所述数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,若大 于,则将时间戳与数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳相同的业务数据进行数据聚合。与目前在对云环境中存储的海量业务数据进行聚合时,都需要对用于存储业务数据的文件进行读写操作,并且还需要将读取的业务数据按照时间进行一次排序,同时如果再次接收到与进行聚合操作的业务数据时间相同或者时间更早的业务数据,这部分业务数据将被丢弃相比,本发明由于只需要通过检测当前业务数据的时间戳是否大于数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,即可实现对不同时间段的业务数据进行聚合,提高数据聚合的效率,并且由于检测操作是实时进行的,可以降低数据聚合操作的延迟,提高数据聚合的实时性;同时由于本发明中设置了时间容忍期,可以对当前接收到的时间较早的业务数据进行聚合操作,进而提高了数据聚合统计的精确度。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种数据聚合方法的流程图;

图2示出了本发明实施例提供的另一种数据聚合方法的流程图;

图3示出了本发明实施例提供的一种数据聚合装置的结构示意图;

图4示出了本发明实施例提供的另一种数据聚合装置的结构示意图;

图5示出了本发明提供的现有数据聚合流程示意图;

图6示出了本发明实施例提供的不同业务数据服务器中业务数据时间戳示意图;

图7示出了本发明实施例提供的不同数据聚合服务器本地时间示意图;

图8示出了本发明实施例提供的数据聚合服务器中不同业务数据的时 间戳示意图;

图9示出了本发明实施例提供的业务数据服务器时间与数据聚合服务器时间的映射方式示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供的一种数据聚合方法,如图1所示,所述方法包括:

101、数据聚合服务器接收业务数据服务器发送的业务数据。

其中,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间。例如,业务数据服务器接收到业务数据的时间为10:01,则数据聚合服务器接收到的业务数据中携带的时间戳为10:01。所述数据聚合服务器用于对业务数据服务器发送的业务数据进行聚合处理;所述业务数据可以为qps(querypersecond,每秒查询率)、pv(pageview,页面浏览量)等不同类别的业务数据,也可以为同一类别不同应用的业务数据,如应用a和应用b的pv数据,本发明实施例不做限定。

102、检测所述时间戳是否大于目标时间戳。

其中,所述目标时间戳为所述数据聚合服务器上一次接收到所述业务数据服务器发送的业务数据时该业务数据携带的时间戳。不同时间戳可以按照时间顺序以列表、时间轴等方式进行展示,本发明实施例不做限定,例如,当不同时间戳按照时间顺序以时间轴等方式进行展示时,时间轴上的时间会不断向前滚动,以保证时间轴上的时间为当前时间。对于本发明实施例,通过检测所述时间戳是否大于目标时间戳,即检测当前接收到的业务数据的时间与上一次接收到业务数据的时间是否发生变化,从而确定是否触发业务数据聚合操作,从而保证了对业务数据进行聚合操作的实时性。

对于本发明实施例,可以以秒为单位配置时间戳、以分钟为单位配置 时间戳等,本发明实施例不做限定。当以秒为单位配置时间戳时,不同时间戳以秒来进行区分,如10:01:01、10:01:02、10:01:03等;当以分钟为单位配置时间戳时,不同时间戳以分钟来进行区分,如10:01、10:02、10:03,其中,10:01:01-10:01:59都归为10:01,以此类推。

例如,业务数据服务器以分钟为单位配置时间戳,若数据聚合服务器当前接收业务数据服务器发送的业务数据携带的时间戳为10:01,数据聚合服务器上一次接收业务数据服务器发送的业务数据携带的时间戳同为10:01,则确定不触发业务数据聚合操作;若数据聚合服务器当前接收业务数据服务器发送的业务数据携带的时间戳为10:02,大于数据聚合服务器上一次接收业务数据服务器发送的业务数据携带的时间戳10:01,则确定触发业务数据聚合操作。

103、若所述时间戳大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合。

其中,所述目标时间戳对应的业务数据保存在预置存储位置。所述预置存储位置可以为预置映射关系表、预置队列等,本发明实施例不做限定。对于本发明实施例,若所述时间戳大于所述目标时间戳,如由10:01变为了10:02、或者由10:01:01变为了10:01:02,说明当前业务数据携带的时间戳向前发生了变化,即实时触发对上一时间戳的全部业务数据进行聚合操作,从而保证了业务数据聚合操作的实时性,提高了业务数据的聚合操作效率。

本发明实施例提供的一种数据聚合方法,当需要对云环境中存储的海量业务数据进行聚合时,首先数据聚合服务器接收业务数据服务器发送的业务数据,然后实时检测业务数据中携带的时间戳是否大于所述数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,若大于,则将时间戳与数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳相同的业务数据进行数据聚合。与目前在对云环境中存储的海量业务数据进行聚合时,都需要对用于存储业务数据的文件进行读写操作,并且还需要将读取的业务数据按照时间进行一次排序相比,本发明由于只需要通过检测当前业务数据的时间戳是否大于数据聚合服务器 上一次接收到业务数据服务器发送的业务数据携带的时间戳,即可实现对不同时间段的业务数据进行聚合,提高数据聚合的效率,并且由于检测操作是实时进行的,可以降低数据聚合操作的延迟,同时可以提高数据聚合的实时性。

进一步地,本发明实施例提供另一种数据聚合方法,如图2所示,所述方法包括:

201、数据聚合服务器接收业务数据服务器发送的业务数据。

其中,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间。所述数据聚合服务器和所述业务数据的相应描述可以参照图1所述实施例的对应描述,在此不再赘述。

202、检测所述时间戳是否大于目标时间戳。

其中,所述目标时间戳为所述数据聚合服务器上一次接收到所述业务数据服务器发送的业务数据时该业务数据携带的时间戳。所述时间戳的配置方式的具体描述可以参照图1所述实施例的对应描述,在此不再赘述。

对于本发明实施例,通过检测所述时间戳是否大于目标时间戳,即检测当前接收到的业务数据的时间与上一次接收到业务数据的时间是否向前发生变化,从而确定是否触发业务数据聚合操作,从而保证了对业务数据进行聚合操作的实时性。

进一步地,步骤202之后还可以包括:若所述时间戳与所述目标时间戳相同,则将当前接收到的所述业务数据缓存到与所述目标时间戳对应的预置队列中。其中,所述预置队列中缓存有时间戳为所述目标时间戳的全部业务数据。不同预置队列分别缓存有时间戳不同的业务数据,由于对队列进行缓存和读取操作的延迟较低,因此,将业务数据缓存到队列中,可以进一步降低数据聚合操作的延迟,提高数据聚合操作的实时性。若所述时间戳小于所述目标时间戳,则将当前接收到的所述业务数据删除。如时间戳由10:01变为了09:50,则将当前接收到的时间戳为09:50的业务数据删除,从而保证数据聚合的准确性。

203、若所述时间戳大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合。

其中,所述目标时间戳对应的业务数据保存在预置存储位置。所述预置存储位置可以为预置映射关系表、预置队列等,本发明实施例不做限定。

对于本发明实施例,步骤203之前还可以包括:判断当前接收到所述业务数据之后的第一预置时间段内,是否接收到时间戳为所述目标时间戳的业务数据。需要说明的是,当某一个时间戳的业务数据进行聚合后,由于传输数据延迟等原因,业务数据服务器有可能再次接收到该时间戳的业务数据,此时,如果不对延迟接收到的业务数据进行处理,会造成业务数据的丢失,进而使得业务数据聚合的准确性较低,因此,在进行数据聚合之前,通过配置时间容忍期,即第一预置时间段,可以避免延迟接收到的业务数据的丢失,提高业务数据聚合统计的准确性。

其中,所述第一预置时间段可以根据时间戳的配置单位进行配置。例如,若时间戳的配置单位为秒,则第一预置时间段可以为1秒、2秒等,若时间戳的配置单位为分钟,则第一预置时间段可以为1分钟、2分钟等。通过根据时间戳的配置单位配置第一预置时间段,可以进一步提高时间容忍期的配置准确性,进而进一步提高业务数据聚合的准确性。

此时,步骤203具体可以包括:若未接收到,则将时间戳为所述目标时间戳的业务数据进行数据聚合;若接收到,则将在所述第一预置时间段内接收到的所述业务数据和时间戳为所述目标时间戳的业务数据进行数据聚合。

例如,业务数据服务器以分钟为单位配置时间戳,则此时将第一预置时间段配置为5分钟。若数据聚合服务器当前接收业务数据服务器发送的业务数据携带的时间戳为10:02,数据聚合服务器上一次接收业务数据服务器发送的业务数据携带的时间戳为10:01,则在对时间戳为10:01的业务数据进行聚合前,判断从当前时间开始后的五分钟内是否接收到携带的时间戳为10:01的业务数据,若接收到,则将在五分钟内接收到的时间戳为10:01的业务数据和之前接收到的时间戳为10:01的业务数据进行数据聚合;若未接收到,说明此时不存在延迟的业务数据,将时间戳为10:01的业务数据进行数据聚合,从而保证了数据聚合的准确性。

进一步地,步骤203之后还可以包括:建立与当前接收到的业务数据 的时间戳对应的队列;将所述业务数据缓存在所述队列中。由于不同时间戳对应不同的队列,因此通过新建队列对当前接收到的业务数据进行保存。

204、判断所述业务数据服务器是否终止接收与所述当前接收到的业务数据类型相同的业务数据。

其中,类型相同的业务数据具体可以为业务数据类型相同的业务数据,例如,判断是否终止接收类别为qps的业务数据;类型相同的业务数据具体还可以为相同应用的业务数据,例如,判断是否终止接收应用a的业务数据。

对于本发明实施例,步骤204具体可以包括:判断在当前接收到所述业务数据之后的第二预置时间段内,是否接收到与所述业务数据类型相同的业务数据;若未接收到,则确认所述业务数据服务器终止接收与所述业务数据类型相同的业务数据。需要说明的是,若在当前接收到所述业务数据之后的一定时间段内,未接收到与所述业务数据类型相同的业务数据,可以确定业务数据服务器终止接收与所述当前接收到的业务数据类型相同的业务数据。

其中,第二预置时间段具体可以根据时间戳的配置单位进行配置。例如,若时间戳的配置单位为秒,则第二预置时间段可以为1秒、2秒等,若时间戳的配置单位为分钟,则第二预置时间段可以为1分钟、2分钟等。通过根据时间戳的配置单位配置第二预置时间段,可以进一步提高终止接收业务数据的判断精度,进而提高业务数据聚合操作的准确性。

205、若所述业务数据服务器终止接收与所述业务数据类型相同的业务数据,则对当前接收到的业务数据进行数据聚合。

对于本发明实施例,当业务数据服务器终止接收与所述业务数据类型相同的业务数据时,说明数据聚合服务器不再接收该类型业务数据,即此时无法通过再次接收到该类型业务数据来判断该类型业务数据的时间戳是否发生变化,因此在该种情况下,直接对当前接收到的业务数据进行数据聚合,可以保证当业务数据服务器终止接收与所述业务数据类型相同的业务数据时,也可以完成对当前接收到的业务数据进行数据聚合。

对于本发明实施例,步骤205具体可以包括:若所述业务数据服务器 终止接收与所述业务数据类型相同的业务数据,则获取与当前时间戳不同的下一个相邻时间戳对应的聚合计算服务器的本地时间,所述业务数据服务器配置的每一个不同的时间戳分别对应一个聚合计算服务器的本地时间,具体可以如图9所示;根据所述聚合计算服务器的本地时间对当前接收到的业务数据进行数据聚合。其中,数据聚合服务器的本地时间可以按照时间顺序以列表、时间轴等方式进行展示,本发明实施例不做限定。

需要说明的是,由于网络状况条件、不同服务器的时间存在差异等问题,会使得数据聚合服务器的本地时间与业务数据服务器配置的时间戳并不相同,例如,如图6和图7所示,业务数据服务器1的业务数据由数据聚合服务器1处理,可以看出业务数据服务器1配置的时间戳为10:01:01,而此时对应的数据聚合服务器1的本地时间为10:03:01,可见数据聚合服务器的本地时间与对应的业务数据服务器配置的时间戳并不相同;并且在数据聚合服务器中,在同一时刻同一个监控项的不同业务数据到达数据聚合服务器的时间戳也可能不同,不同监控项的时间戳也可能不同,例如,如图8所示,对于监控项相同的业务数据pv,在同一时刻应用a中该业务数据的时间戳10:00:00与应用b中该业务数据的时间戳10:01:10不同;对于监控项不同的业务数据pv与rt,业务数据的时间戳也不相同。另外,由于业务数据采集手段的原因,业务数据到达数据聚合服务器的时间与该业务数据到达业务数据服务器的时间不同,例如,如图9所示,某一个业务数据到达业务数据服务器的时间为10:01,该业务数据到达数据聚合服务器的时间为10:03,因此,在做实时数据聚合时,通过采用业务数据服务器配置的时间戳作为触发时间,而不同时采用数据聚合服务器本地时间作为触发时间,可以保证数据聚合的准确。并且通过按照时间顺序建立业务数据服务器配置的每一个不同的时间戳与数据聚合服务器的本地时间之间的一一对应关系,可以保证时间的一致性,当业务数据服务器终止接收某一类别的业务数据时,通过数据聚合服务器的本地时间依然可以保证准确进行该类别业务数据的聚合操作。

对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:如图9所示,数据聚合服务器在时间轴sb点接收业务数据服务器发送 的业务数据,获取该业务数据携带的时间戳为11:02,检测到大于上一次在时间轴sa点接收业务数据服务器发送的业务数据携带的时间戳11:01,此时对时间戳为11:01的业务数据进行数据集合。进一步地,判断在从当前时间开始的5分钟内,未接收到与时间戳为11:02的业务数据类型相同的业务数据,可以确定业务数据服务器终止接收与时间戳为11:02的业务数据类型相同的业务数据,此时当数据聚合服务器的本地时间到达11:07时(对应业务数据服务器的11:03),对时间戳为11:02的业务数据进行数据聚合,从而保证对时间戳为11:02的业务数据进行数据聚合。

本发明实施例提供的另一种数据聚合方法,当需要对云环境中存储的海量业务数据进行聚合时,首先数据聚合服务器接收业务数据服务器发送的业务数据,然后实时检测业务数据中携带的时间戳是否大于所述数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,若大于,则将时间戳与数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳相同的业务数据进行数据聚合。与目前在对云环境中存储的海量业务数据进行聚合时,都需要对用于存储业务数据的文件进行读写操作,并且还需要将读取的业务数据按照时间进行一次排序,同时如果再次接收到与进行聚合操作的业务数据时间相同或者时间更早的业务数据,这部分业务数据将被丢弃相比,本发明实施例由于只需要通过检测当前业务数据的时间戳是否大于数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,即可实现对不同时间段的业务数据进行聚合,提高数据聚合的效率,并且由于检测操作是实时进行的,可以降低数据聚合操作的延迟,提高数据聚合的实时性;同时由于本发明实施例中设置了时间容忍期,可以对当前接收到的时间较早的业务数据进行聚合操作,进而提高了数据聚合统计的精确度。

进一步地,作为图1所示方法的具体实现,本发明实施例提供一种数据聚合装置,如图3所示,所述装置可以包括:接收单元31、检测单元32、聚合单元33。

接收单元31,用于接收业务数据服务器发送的业务数据,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数 据的时间;

检测单元32,用于检测所述接收单元31接收的所述时间戳是否大于目标时间戳,所述目标时间戳为上一次接收到所述业务数据服务器发送的业务数据携带的时间戳;

聚合单元33,用于若所述检测单元32检测所述时间戳大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合,所述目标时间戳对应的业务数据保存在预置存储位置。

需要说明的是,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明实施例提供的一种数据聚合装置,当需要对云环境中存储的海量业务数据进行聚合时,首先数据聚合服务器接收业务数据服务器发送的业务数据,然后实时检测业务数据中携带的时间戳是否大于所述数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,若大于,则将时间戳与数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳相同的业务数据进行数据聚合。与目前在对云环境中存储的海量业务数据进行聚合时,都需要对用于存储业务数据的文件进行读写操作,并且还需要将读取的业务数据按照时间进行一次排序相比,本发明由于只需要通过检测当前业务数据的时间戳是否大于数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,即可实现对不同时间段的业务数据进行聚合,提高数据聚合的效率,并且由于检测操作是实时进行的,可以降低数据聚合操作的延迟,同时可以提高数据聚合的实时性。

进一步地,作为图2所示方法的具体实现,本发明实施例提供一种数据聚合装置,如图4所示,所述装置可以包括:接收单元41、检测单元42、聚合单元43。

接收单元41,用于接收业务数据服务器发送的业务数据,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间;

检测单元42,用于检测所述接收单元41接收的所述时间戳是否大于目标时间戳,所述目标时间戳为上一次接收到所述业务数据服务器发送的业务数据携带的时间戳;

聚合单元43,用于若所述检测单元42检测所述时间戳是否大于所述目标时间戳,则将时间戳为所述目标时间戳的业务数据进行数据聚合,所述目标时间戳对应的业务数据保存在预置存储位置。

进一步地,所述装置还包括:判断单元44。

所述判断单元44,用于判断当前接收到所述业务数据之后的第一预置时间段内,是否接收到时间戳为所述目标时间戳的业务数据;

所述聚合单元43,具体用于若当前接收到所述业务数据之后的第一预置时间段内未接收到时间戳为所述目标时间戳的业务数据,则将时间戳为所述目标时间戳的业务数据进行数据聚合;或者

若当前接收到所述业务数据之后的第一预置时间段内接收到时间戳为所述目标时间戳的业务数据,则将在所述第一预置时间段内接收到的所述业务数据和时间戳为所述目标时间戳的业务数据进行数据聚合。

进一步地,所述判断单元44,还用于判断所述业务数据服务器是否终止接收与所述当前接收到的业务数据类型相同的业务数据;

所述聚合单元43,还用于若所述业务数据服务器终止接收与所述业务数据类型相同的业务数据,则对当前接收到的业务数据进行数据聚合。

进一步地,所述装置还包括:确认单元45。

所述判断单元44,具体用于判断在当前接收到所述业务数据之后的第二预置时间段内,是否接收到与所述业务数据类型相同的业务数据;

所述确认单元45,用于若未接收到,则确认所述业务数据服务器终止接收与所述业务数据类型相同的业务数据。

进一步地,所述聚合单元43具体可以包括:获取模块4301、聚合模块4302。

获取模块4301,用于若所述业务数据服务器终止接收与所述业务数据类型相同的业务数据,则获取与当前时间戳不同的下一个相邻时间戳对应的聚合计算服务器的本地时间,所述业务数据服务器配置的每一个不同的 时间戳分别对应一个聚合计算服务器的本地时间;

聚合模块4302,用于根据所述聚合计算服务器的本地时间对当前接收到的业务数据进行数据聚合。

进一步地,所述装置还包括:缓存单元46、删除单元47。

缓存单元46,用于若所述时间戳与所述目标时间戳相同,则将当前接收到的所述业务数据缓存到与所述目标时间戳对应的预置队列中,所述预置队列中缓存有时间戳为所述目标时间戳的全部业务数据;

删除单元47,用于若所述时间戳小于所述目标时间戳,则将当前接收到的所述业务数据删除。

进一步地,所述装置还包括:建立单元48。

所述建立单元48,用于建立与当前接收到的业务数据的时间戳对应的队列;

所述缓存单元46,还用于将所述业务数据缓存在所述队列中。

需要说明的是,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明实施例提供的另一种数据聚合装置,当需要对云环境中存储的海量业务数据进行聚合时,首先数据聚合服务器接收业务数据服务器发送的业务数据,然后实时检测业务数据中携带的时间戳是否大于所述数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,若大于,则将时间戳与数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳相同的业务数据进行数据聚合。与目前在对云环境中存储的海量业务数据进行聚合时,都需要对用于存储业务数据的文件进行读写操作,并且还需要将读取的业务数据按照时间进行一次排序,同时如果再次接收到与进行聚合操作的业务数据时间相同或者时间更早的业务数据,这部分业务数据将被丢弃相比,本发明实施例由于只需要通过检测当前业务数据的时间戳是否大于数据聚合服务器上一次接收到业务数据服务器发送的业务数据携带的时间戳,即可实现对不同时间段的业务数据进行聚合,提高数据聚合的效率,并且由于检测操作是实时进行的,可以降 低数据聚合操作的延迟,提高数据聚合的实时性;同时由于本发明实施例中设置了时间容忍期,可以对当前接收到的时间较早的业务数据进行聚合操作,进而提高了数据聚合统计的精确度。

所述数据聚合装置包括处理器和存储器,上述接收单元、检测单元、聚合单元、判断单元、确认单元、缓存单元、删除单元、建立单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决在对图表中被选中的图形进行显示时存在显示卡顿的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:数据聚合服务器接收业务数据服务器发送的业务数据,所述业务数据携带有时间戳,所述时间戳用于标识所述业务服务器接收到所述业务数据的时间;检测所述时间戳是否大于目标时间戳,所述目标时间戳为所述数据聚合服务器上一次接收到所述业务数据服务器发送的业务数据携带的时间戳;若所述时间戳大于所述目标时间戳不相同,则将时间戳为所述目标时间戳的业务数据进行数据聚合,所述目标时间戳对应的业务数据保存在预置存储位置。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的数据聚合方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现 流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读 介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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