数据处理方法和装置与流程

文档序号:11064815阅读:242来源:国知局
数据处理方法和装置与制造工艺

本申请涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。



背景技术:

在数据采集系统中,一般在程序初始化时,数据采集系统从配置站点获取必要配置参数,例如,数据接收地址、采样率等,如果在数据待发送时没有读取到必要的配置参数,则会导致数据丢失,例如,获取配置参数时网络连接中断导致配置获取失败,或网络速度较慢,在数据待发送时数据采集系统还未获取到配置参数,这些情况都会导致数据丢失。

针对相关技术中因获取数据采集系统的配置参数延迟或失败导致发送的数据丢失的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种数据处理方法和装置,以解决相关技术中因获取配置参数延迟导致发送的数据丢失的问题。

为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。该方法包括:将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据;检测是否已获取到数据采集系统的配置参数;当检测出已获取到配置参数时,根据已获取到的配置参数发送数据队列中的数据;以及当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。

进一步地,当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据包括:从配置站点获取配置参数,其中,配置站点用于设置数据采集系统的配置参数;以及判断获取配置参数是否成功,其中,当从配置站点获取配置参数成功时,则根据已获取到的配置参数发送数据队列中的数据,当从配置站点获取配置参数失败时,返回执行将待发送数据存储至数据队列中。

进一步地,从配置站点获取配置参数包括:获取数据采集系统的唯一标识;根据数据采集系统的唯一标识从配置站点中读取数据采集系统的配置文件;以及从数据采集系统的配置文件中获取配置参数。

进一步地,在已获取到配置参数之后,该方法还包括:检测配置站点中数据采集 系统的配置参数是否进行了更新;以及在检测出配置站点中数据采集系统的配置参数进行了更新时,重新从配置站点中获取数据采集系统的配置参数。

进一步地,在根据已获取到的配置参数发送数据队列中的数据之前,该方法还包括:检测网络环境是否适于发送数据;以及在检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据。

进一步地,配置参数包括采样率和数据发送地址,根据已获取到的配置参数发送数据队列中的数据包括:根据采样率判断是否需要发送数据队列中的数据,其中,在判断出需要发送数据队列中的数据时,根据数据发送地址发送数据队列中的数据。

为了实现上述目的,根据本申请的另一方面,提供了一种数据处理装置。该装置包括:存储单元,用于将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据;第一检测单元,用于检测是否已获取到数据采集系统的配置参数;第一发送单元,用于在第一检测单元检测出已获取到配置参数时,根据已获取到的配置参数发送数据队列中的数据;以及第二发送单元,用于在第一检测单元检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。

进一步地,第二发送单元包括:获取模块,用于从配置站点获取配置参数,其中,配置站点用于设置数据采集系统的配置参数;以及第一判断模块,用于判断获取配置参数是否成功,其中,当从配置站点获取配置参数成功时,则根据已获取到的配置参数发送数据队列中的数据,当从配置站点获取配置参数失败时,返回存储单元执行将待发送数据存储至数据队列中。

进一步地,该装置还包括:第二检测单元,用于检测配置站点中数据采集系统的配置参数是否进行了更新;以及获取单元,用于在检测出配置站点中数据采集系统的配置参数进行了更新时,重新从配置站点中获取数据采集系统的配置参数。

进一步地,该装置还包括:第三检测单元,用于检测网络环境是否适于发送数据,其中,第一发送单元用于在第一检测单元检测出已获取到配置参数,且在第三检测单元检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据,第二发送单元用于在第一检测单元检测出未获取到配置参数时,获取配置参数,且在第三检测单元检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据。

本申请通过将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据;检测是否已获取到数据采集系统的配置参数;当检测出已获取到配置参数时,根据已获取到的配置参数发送数据队列中的数据;以及当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。通过对 待发送数据进行缓存以及在需要发送数据时获取配置参数,从而可以保证在网络中断导致暂时获取配置参数失败或是获取配置参数延迟时数据都不会丢失,解决了相关技术中因获取数据采集系统的配置参数延迟或是失败时导致发送的数据丢失的问题,进而达到了在获取数据采集系统的配置参数延迟或是失败时防止数据丢失的效果。

附图说明

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

图1是根据本申请第一实施例的数据处理方法的流程图;

图2是根据本申请第二实施例的数据处理方法的流程图;以及

图3是根据本申请实施例的数据处理装置示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

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

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

为了便于描述,以下对本申请实施例涉及的几个术语进行说明:

数据采集系统,是一种将数据采集软件开发工具包(Software Development Kit,简称SDK)嵌入网页页面或应用程序(俗称App)等数据源中,获取指定数据并发送至指定服务器的系统。

Lazy模式,是指在需要发送数据时获取配置参数,而不是在程序初始化时获取配置参数。

根据本申请实施例,提供了一种数据处理方法,图1是根据本申请第一实施例的数据处理方法的流程图。如图1所示,该方法包括如下的步骤S102至步骤S108:

步骤S102:将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据。

本申请实施例的待发送数据为数据采集系统采集的数据,例如,数据采集系统采集的终端数据,在用户通过终端访问应用程序或是网页时,数据采集系统则对该终端数据进行采集,例如,采集该用户终端的访问时间、访问内容、终端的类型等数据。本申请实施例在获取到待发送数据后,先将该待发送数据存储至数据队列中,防止在数据采集系统尚未获取到配置参数时出现数据丢失。

步骤S104:检测是否已获取到数据采集系统的配置参数。

数据采集系统的配置参数可以包括数据接收地址、采样率等信息。具体地,可以通过检测数据采集系统的本地存储区是否存储有配置参数来检测是否已经获取到数据采集系统的配置参数,其中,在数据采集系统的本地存储区已经存储有数据采集系统的配置参数时,则说明已获取到数据采集系统的配置参数,否则,则说明未获取到数据采集系统的配置参数。

步骤S106:当检测出已获取到时,根据已获取到的配置参数发送数据队列中的数据。

根据已获取到的配置参数发送数据队列中的数据,例如,按照队列顺序将数据队列中的数据发送至数据接收地址。

步骤S108:当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。

本申请实施例在检测出数据采集系统的本地存储区未存储有配置参数时,获取数据采集系统的配置参数,并根据已获取到的配置参数发送数据队列中的数据。

可选地,当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据包括:从配置站点获取配置参数,其中,配置站点用于设置数据采集系统的配置参数;以及判断获取配置参数是否成功,其中,当从配置站点获取配置参数成功时,则根据已获取到的配置参数发送数据队列中的数据,当从配置站点获取配置参数失败时,返回执行将待发送数据存储至数据队列中。

具体地,可以预先在特定服务器上创建数据采集系统的配置参数的配置站点,在该配置站点的目录下创建配置文件samplerate.config,其中,配置文件可以采用可扩展标记语言(extensible markup language,简称为xml)格式。

可选地,从配置站点获取配置参数包括:获取数据采集系统的唯一标识;根据数据采集系统的唯一标识从配置站点中读取数据采集系统的配置文件;以及从数据采集系统的配置文件中获取配置参数。

本申请实施例可以通过配置站点为多个数据采集系统配置参数,具体地,可以为多个数据采集系统分配不同的唯一标识,从而可以根据每个数据采集系统的唯一标识即可从配置站点中查找到该数据采集系统的配置文件。

具体地,本申请实施例在检测出未获取到配置参数时,首先获取目标数据采集系统(即当前需要获取配置参数的数据采集系统)的唯一标识,在获取到目标数据采集系统的标识后,根据其唯一标识从配置站点中读取该目标数据采集系统的配置文件,例如,samplerate.config,如果成功读取到其配置文件,则从该配置文件中获取目标数据采集系统的配置参数,并根据该配置参数发送数据队列中缓存的待发送数据;如果在从配置站点读取其配置文件(即获取配置参数失败)失败,则返回执行上述步骤S102,即继续将目标数据采集系统采集的数据存储至数据队列中。

需要说明的是,如果在配置参数下载和更新过程中又有待发送数据进入数据队列,可以在获取到配置参数后一起被发送。在数据队列中数据都发送成功后,对数据队列进行清理。

本申请实施例通过将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据;检测是否已获取到数据采集系统的配置参数;当检测出已获取到配置参数时,根据已获取到的配置参数发送数据队列中的数据;以及当检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。通过对待发送数据进行缓存以及在需要发送数据时获取配置参数,相比于现有技术中仅在程序初始化时获取配置参数,可以保证在网络中断导致暂时获取配置参数延失败或是获取配置参数延迟时数据都不会丢失,解决了相关技术中因获取数据采集系统的配置参数延迟导致发送的数据丢失的问题,进而达到了在网络中断或是获取数据采集系统的配置参数延迟时防止数据丢失的效果。

优选地,在已获取到配置参数之后,该方法还包括:检测配置站点中数据采集系统的配置参数是否进行了更新;以及在检测出配置站点中数据采集系统的配置参数进行了更新时,重新从配置站点中获取数据采集系统的配置参数。

本申请实施例可以随时通过配置站点对数据采集系统的配置参数进行更新。具体 地,在配置站点中目标数据采集系统(即当前需要进行数据发送的数据采集系统)的配置参数进行了更新时,重新从配置站点中获取该目标数据采集系统的配置参数,并根据新的配置参数进行数据处理,例如,按照配置参数中新的接收地址发送数据。

可选地,检测配置站点中数据采集系统的配置参数是否进行了更新可以是对更新状态的值进行检测,其中,更新状态可以通过不同的标识符进行标识,例如,1和0,其中,1表示进行了更新,0表示未进行更新,在配置站点中数据采集系统的配置参数进行了更新时,将更新状态的值置为1,在配置站点中数据采集系统的配置参数未进行更新时,将更新状态的值置为0。

优选地,为了进一步避免数据在发送过程中丢失,在根据已获取到的配置参数发送数据队列中的数据之前,该方法还包括:检测网络环境是否适于发送数据;以及在检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据。

本申请实施例的网络环境可以包括联网状态、所连接网络的类型和网络速度等。例如,当检测到网络环境为WIFI网络环境且网络速度大于一定阈值时,则确定网络环境适于发送数据,否则,则确定网络环境不适于发送数据。

优选地,配置参数包括采样率和数据发送地址,在根据已获取到的配置参数发送数据队列中的数据之前,该方法还包括:根据采样率判断是否需要发送数据队列中的数据,其中,在判断出需要发送数据队列中的数据时,根据数据发送地址发送数据队列中的数据。

在数据采集系统中,对于数据源范围特别大无法采集全量数据或者数据处理能力达不到处理全量数据的要求时会对数据源进行采样。本申请实施例根据采样率判断是否需要发送数据队列中的数据,其中,在判断出需要发送数据队列中的数据时,则根据数据发送地址发送数据队列中的数,在判断出不需要发送数据队列中的数据时,则直接清除数据队列中的数据。

例如,用户通过终端访问某个视频网页时,内嵌在该视频网页的数据采集系统开始采集对应的终端数据并缓存至数据队列中,在获取到数据采集系统的配置参数之后,根据采样率判断是否需要采集该用户的终端数据,在判断出不需要采集该用户的终端数据时,从数据队列中直接清除该终端数据,在判断出需要采集该用户的终端数据时,则根据发送地址发送数据队列中的终端数据。

具体地,根据采样率判断是否需要采集该用户的终端数据包括:判断用户的终端是否处于采样范围内,其中,如果该终端处于采样范围内,则需要采集该终端数据,否则,则不需要采集该终端数据,其中,采样率和采样范围一一对应,例如,采样率为0.5,其对应的采样范围为(0,500),采样率为0.3,其对应的采样范围为(0,300)。

图2是根据本申请第二实施例的数据处理方法的流程图,如图2所示,该方法包括如下的步骤S202至步骤S216:

步骤S202:创建数据队列。

终端程序启动时,SDK(即数据采集系统)创建一个数据队列,用于存储待发送的数据,其中,待发送数据为数据采集系统采集的数据,例如,数据采集系统采集的终端数据,在用户通过终端访问应用程序或是网页时,数据采集系统则对该终端数据进行采集,例如,采集该用户的访问时间、访问内容、终端的类型等数据。

步骤S204:等待待发送数据进入数据队列。

在创建数据队列之后,将待发送数据存储至数据队列中。

步骤S206:待发送数据进入数据队列。

步骤S208:判断配置参数是否已更新。

配置参数可以包括数据接收地址、采样率等信息。本申请实施例判断配置参数是否已更新即判断数据采集系统的本地存储区是否存储有其配置参数。具体地,在每次有待发送数据进入数据队列后,判断所需配置参数是否已经更新,如果所需配置参数已经更新则执行步骤S216,按照队列顺序依次发送队列中的数据;如果所需配置参数没有更新,则执行步骤S210,尝试从配置站点中获取配置参数,例如,从配置站点中下载最新的配置参数。

步骤S210:从配置站点获取配置参数。

具体地,可以预先在特定服务器上创建数据采集系统的配置参数的配置站点,在该配置站点的目录下创建配置文件samplerate.config,其中,配置文件可以采用可扩展标记语言(extensible markup language,简称为xml)格式。

本申请实施例在判断出配置参数没有更新时,尝试从配置站点中下载最新配置参数。

步骤S212:判断获取配置参数是否成功。

如果从配置站点获取配置参数成功,则执行步骤S214;如果从配置站点获取配置参数失败,则返回执行步骤S204,等待下一次数据进入数据队列后重新获取配置参数。

可选地,如果在配置参数下载和更新过程中又有数据进入数据队列,就可以在此过程中一起被发送。

步骤S214:更新配置参数。

获取配置参数成功以后更新配置,例如,将获取到的配置参数存储至本地存储区中。

步骤S216:依次发送数据队列中的数据。

配置更新完毕后,按照队列顺序依次发送数据队列中的数据。

需要说明的是,在数据队列中的数据都成功发送后,清除数据队列中的数据。

本申请实施例通过Lazy模式的获取配置时机,以及数据队列存储数据的方法,解决了网络暂时中断或存在延迟的情况下数据会丢失的问题,保证数据不会因配置获取暂时失败或延迟导致数据丢失。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本申请实施例的另一方面,提供了一种数据处理装置,该数据处理装置可以用于执行本申请实施例的数据处理方法,本申请实施例的数据处理方法也可以通过本申请实施例的数据处理装置来执行。

图3是根据本申请实施例的数据处理装置的示意图,如图3所示,该装置包括:存储单元10,第一检测单元20,第一发送单元30和第二发送单元40。

存储单元10,用于将待发送数据存储至数据队列中,其中,待发送数据为数据采集系统采集的数据。

本申请实施例的待发送数据为数据采集系统采集的数据,例如,数据采集系统采集的终端数据,在用户通过终端访问应用程序或是网页时,数据采集系统则对该终端数据进行采集,例如,采集该用户终端的访问时间、访问内容、终端的类型等数据。

第一检测单元20,用于检测是否已获取到数据采集系统的配置参数。

数据采集系统的配置参数可以包括数据接收地址、采样率等信息。

第一发送单元30,用于在检测出已获取到配置参数时,根据已获取到的配置参数发送数据队列中的数据。

第二发送单元40,用于在检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。

本申请实施例通过存储单元10将待发送数据存储至数据队列中;第一检测单元20检测是否已获取到数据采集系统的配置参数;第一发送单元30在检测出已获取到 配置参数时,根据已获取到的配置参数发送数据队列中的数据;以及第二发送单元40在检测出未获取到配置参数时,获取配置参数,并根据已获取到的配置参数发送数据队列中的数据。通过对待发送数据进行缓存以及在需要发送数据时获取配置参数,从而可以保证在网络中断或是获取配置参数延迟时数据都不会丢失,解决了相关技术中因获取数据采集系统的配置参数延迟导致发送的数据丢失的问题,进而达到了在网络中断或是获取数据采集系统的配置参数延迟时防止数据丢失的效果。

可选地,第二发送单元40包括:获取模块,用于从配置站点获取配置参数,其中,配置站点用于设置数据采集系统的配置参数;以及第一判断模块,用于判断获取配置参数是否成功,其中,当从配置站点获取配置参数成功时,则根据已获取到的配置参数发送数据队列中的数据,当从配置站点获取配置参数失败时,返回存储单元执行将待发送数据存储至数据队列中。

可选地,获取模块包括:第一获取子模块,用于获取数据采集系统的唯一标识;读取子模块,用于根据数据采集系统的唯一标识从配置站点中读取数据采集系统的配置文件;以及第二获取子模块,用于从数据采集系统的配置文件中获取配置参数。例如,唯一标识可以是一串数字或字母,第一获取子模块根据这一串数字或者字母组成的标识来识别数据采集系统的身份,第二获取子模块从配置站点中读取与数据采集系统对应的配置文件。

可选地,该装置还包括:第二检测单元,用于检测配置站点中数据采集系统的配置参数是否进行了更新;以及获取单元,用于在检测出配置站点中数据采集系统的配置参数进行了更新时,重新从配置站点中获取数据采集系统的配置参数。

可选地,该装置还包括:第三检测单元,用于检测网络环境是否适于发送数据,其中,第一发送单元30用于在第一检测单元20检测出已获取到配置参数,且在第三检测单元检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据,第二发送单元40用于在第一检测单元20检测出未获取到配置参数时,获取配置参数,且在第三检测单元检测出网络环境适于发送数据时,根据已获取到的配置参数发送数据队列中的数据。

可选地,配置参数包括采样率和数据发送地址,第一数据发送单元30或第二数据发送单元40还包括:第二判断模块,用于根据采样率判断是否需要发送数据队列中的数据;以及发送模块,用于在判断出需要发送数据队列中的数据时,根据数据发送地址发送数据队列中的数据。

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

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

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

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

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

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

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

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