CN114281648A - 一种数据采集方法、装置、电子设备及存储介质 - Google Patents
一种数据采集方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114281648A CN114281648A CN202111607890.9A CN202111607890A CN114281648A CN 114281648 A CN114281648 A CN 114281648A CN 202111607890 A CN202111607890 A CN 202111607890A CN 114281648 A CN114281648 A CN 114281648A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- target task
- aggregation
- processed
- 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
Images
Abstract
本发明提供了一种数据采集方法、装置、电子设备及存储介质,该方法应用于移动端设备,包括:从云端设备获取目标任务的任务信息,任务信息中包括目标任务的埋点信息、数据筛选条件及时间窗口,云端设备用于对任务信息进行存储;根据埋点信息,确定目标任务的数据埋点,并从数据埋点获取符合数据筛选条件的埋点数据,作为待处理数据;按照时间窗口,对待处理数据进行聚合,得到聚合结果,并将聚合结果存储为目标任务的数据文件。这样,根据任务信息进行数据埋点,对数据进行聚合,就可以获取目标任务对应的数据文件,如需要修改目标任务所需要的数据,只需在云端设备对任务信息进行修改,数据的获取方式较为灵活,局限性较小。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据采集方法、装置、电子设备及存储介质。
背景技术
在收集用户行为数据的场景下,移动端具有天然的用户行为数据优势,可以直接与用户进行交互,获取用户的行为数据。
目前在移动端通常采取硬编码形式获取用户行为数据,也就是说,直接将需要获取的用户行为数据的信息嵌入到程序或其他可执行对象的源代码中,在程序或代码的执行过程中实现用户行为数据的获取。
但是,由于硬编码数据通常只能通过编辑源代码和重新编译可执行文件来修改,因此,目前的用户行为数据的获取方式不灵活,需要针对特定需求的进行开发,然后跟随版本发布进行迭代更新,数据难于有效利用,局限性非常大,灵活性非常差。
发明内容
为解决上述技术问题,本发明示出了一种数据采集方法、装置、电子设备及存储介质。
本发明提供了一种数据采集方法,应用于移动端设备,所述方法包括:
从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储为所述目标任务的数据文件。
可选地,所述目标任务包括多个,所述根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据,包括:
根据所述目标任务的埋点信息,生成每个数据埋点的分发索引,所述分发索引用于指示每个数据埋点与至少一个所述目标任务之间的对应关系;
对所述数据埋点进行监听,根据所述分发索引,确定监听到的埋点数据对应的目标任务;
判断所述监听到的埋点数据是否符合所述数据埋点对应的任一目标任务的数据筛选条件,若符合,则将监听到的埋点数据作为所述任一目标任务的待处理数据。
可选地,所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
将所述任务信息的获取时间作为起始时间,确定所述目标任务的多个时间窗口的截止时间;
当达到任一时间窗口的截止时间时,对所述任一时间窗口内获取到的待处理数据进行聚合,得到聚合结果。
可选地,所述任务信息中还包括第一聚合规则,所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
按照所述时间窗口,根据所述第一聚合规则对所述待处理数据进行聚合,得到聚合结果;
其中,所述第一聚合规则包括以下至少一种:数据个数统计、最大值计算以及最小值计算。
可选地,所述任务信息中还包括保存周期,所述将所述聚合结果存储为所述目标任务的数据文件,包括:
在当前时间与上一次将所述聚合结果存储至所述目标任务的数据文件的时间之间的时间差超出所述保存周期之后,将未被存储的所述聚合结果存储为所述目标任务的数据文件。
可选地,所述任务信息中还包括预设操作,所述预设操作用于触发对所述聚合结果的存储,所述将所述聚合结果存储为所述目标任务的数据文件,包括:
响应于所述预设操作,检测所述目标任务的聚合结果是否发生更新;
若发生更新,则将更新后的所述聚合结果存储为所述目标任务的数据文件。
可选地,所述任务信息中还包括查询时间及第二聚合规则,在所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果之后,所述方法还包括:
从所述聚合结果中获取在所述查询时间内的待查询数据;
根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果;
所述将所述聚合结果存储为所述目标任务的数据文件,包括:
将所述聚合结果及所述查询结果存储为所述目标任务的数据文件。
可选地,所述聚合结果中的每个数据均具有对应的键值对,所述根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果,包括:
根据所述第二聚合规则,对所述待查询数据的键值对进行聚合,得到查询结果。
可选地,每个待处理数据包括多个数据项,所述任务信息中还包括分组数据项及聚合数据项,所述分组数据项用于对所述待处理数据进行分组,所述聚合数据项用于对所述待处理数据进行聚合;
所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
基于所述分组数据项,对每个时间窗口内的所述待处理数据进行分组;
对每个分组内的所述待处理数据的聚合数据项进行聚合,得到该分组对应的聚合结果。
本发明还提供了一种数据采集装置,应用于移动端设备,所述装置包括:
信息获取模块,用于从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
数据获取模块,用于根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
聚合模块,用于按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储为所述目标任务的数据文件。
可选地,所述目标任务包括多个,所述数据获取模块,用于:
根据所述目标任务的埋点信息,生成每个数据埋点的分发索引,所述分发索引用于指示每个数据埋点与至少一个所述目标任务之间的对应关系;
对所述数据埋点进行监听,根据所述分发索引,确定监听到的埋点数据对应的目标任务;
判断所述监听到的埋点数据是否符合所述数据埋点对应的任一目标任务的数据筛选条件,若符合,则将监听到的埋点数据作为所述任一目标任务的待处理数据。
可选地,所述聚合模块,用于:
将所述任务信息的获取时间作为起始时间,确定所述目标任务的多个时间窗口的截止时间;
当达到任一时间窗口的截止时间时,对所述任一时间窗口内获取到的待处理数据进行聚合,得到聚合结果。
可选地,所述任务信息中还包括第一聚合规则,所述聚合模块,用于:
按照所述时间窗口,根据所述第一聚合规则对所述待处理数据进行聚合,得到聚合结果;
其中,所述第一聚合规则包括以下至少一种:数据个数统计、最大值计算以及最小值计算。
可选地,所述任务信息中还包括保存周期,所述聚合模块,用于:
在当前时间与上一次将所述聚合结果存储至所述目标任务的数据文件的时间之间的时间差超出所述保存周期之后,将未被存储的所述聚合结果存储为所述目标任务的数据文件。
可选地,所述任务信息中还包括预设操作,所述预设操作用于触发对所述聚合结果的存储,所述聚合模块,用于:
响应于所述预设操作,检测所述目标任务的聚合结果是否发生更新;
若发生更新,则将更新后的所述聚合结果存储为所述目标任务的数据文件。
可选地,所述任务信息中还包括查询时间及第二聚合规则,聚合模块,还用于:
从所述聚合结果中获取在所述查询时间内的待查询数据;
根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果;
将所述聚合结果及所述查询结果存储为所述目标任务的数据文件。
可选地,所述聚合结果中的每个数据均具有对应的键值对,所述聚合模块,用于:
根据所述查询规则,对所述待查询数据的键值对进行聚合,得到查询结果。
可选地,每个待处理数据包括多个数据项,所述任务信息中还包括分组数据项及聚合数据项,所述分组数据项用于对所述待处理数据进行分组,所述聚合数据项用于对所述待处理数据进行聚合;
所述聚合模块,用于:
基于所述分组数据项,对每个时间窗口内的所述待处理数据进行分组;
对每个分组内的所述待处理数据的聚合数据项进行聚合,得到该分组对应的聚合结果。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一所述的数据采集方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述的数据采集方法的步骤。
与现有技术相比,本发明包括以下优点:
在本发明中,移动端设备从云端设备获取目标任务的任务信息,任务信息中包括目标任务的埋点信息、数据筛选条件及时间窗口,云端设备用于对任务信息进行存储;然后,根据埋点信息,确定目标任务的数据埋点,并从数据埋点获取符合数据筛选条件的埋点数据,作为待处理数据;进而,按照时间窗口,对待处理数据进行聚合,得到聚合结果,并将聚合结果存储为目标任务的数据文件。
这样,根据任务信息进行数据埋点,并对数据进行聚合,就可以获取到目标任务对应的数据文件,如果需要修改目标任务所需要的数据,只需在云端设备对任务信息进行修改,不需要重新编辑源代码和重新编译可执行文件,因此,数据的获取方式较为灵活,局限性较小。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明的一种数据采集方法的步骤流程图;
图2是本发明的一种数据采集方法的方案示意图;
图3是本发明的一种数据采集装置的结构框图;
图4是本发明的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
下面将通过具体的实施例,对本发明实施例提供的数据采集方法进行详细描述。
参照图1,示出了本发明的一种数据采集方法的步骤流程图,应用于移动端设备,该方法具体可以包括如下步骤:
S101:从云端设备获取目标任务的任务信息,任务信息中包括目标任务的埋点信息、数据筛选条件及时间窗口,云端设备用于对任务信息进行存储。
在本发明中,移动端设备可以向云端设备发送任务获取请求,在任务获取请求中携带移动端设备的设备信息,进而,云端设备可以响应于接收到的任务获取请求,将目标任务的任务信息发送至移动端设备。或者,云端设备也可以在生成目标任务的任务信息后,根据预先获取的设备信息,将生成的任务信息推送至移动端设备。
任务信息可以包括目标任务的埋点信息、数据筛选条件及时间窗口,任务信息存储在云端设备中,用户可以通过与云端设备的交互,在目标任务的配置文件中对任务信息进行配置。而且,在云端设备中,可以同时存储多个目标任务,对应的,移动端设备也可以执行多个目标任务,这样,可以针对不同的业务需求,采集到更丰富更有针对性的数据,从而有利于后续基于待处理数据的数据分析,比如,如果待处理数据是用于对新模型进行训练,那么,目标任务的灵活配置使得在新模型上线前的特征预热变得更加容易。
其中,目标任务的埋点信息用于确定目标任务的数据埋点,也就是目标任务所需要的数据内容的来源,数据埋点是数据采集的一种重要方式,其基本原理是当用户在移动端设备的行为满足某种条件的时候,比如进入某个页面、点击某个按钮等,会自动触发记录和存储,然后这些数据会被收集,作为埋点数据。
数据筛选条件用于对埋点数据进行筛选,可以理解,通过数据埋点采集到的埋点数据可能是多样的,通过数据筛选条件,可以从埋点数据中筛选出目标任务所需的埋点数据,作为待处理数据进行后续的处理。
时间窗口是后续用于进行聚合计算的时间窗口,也就是说,针对每个时间窗口内的数据进行聚合处理,这样,既可以节约存储资源和计算量。
另外,任务信息中还可以包括第一聚合规则、分组数据项、聚合数据项、查询时间以及第二聚合规则等信息,还可以包括目标任务的版本、名称、ID(Identity document,身份标识)、数据源名称等信息,其中,数据源名称可以唯一标识埋点数据的来源,比如,埋点数据的来源可以为用户行为日志或QoS(Quality of Service,服务质量)日志,等等。具体可以根据用户的需求进行设定。
S102:根据埋点信息,确定目标任务的数据埋点,并从数据埋点获取符合数据筛选条件的埋点数据,作为待处理数据。
其中,每个埋点数据可以包括多个数据项,比如,若埋点数据的来源为用户行为日志,那么,埋点数据的数据项可以包括页面信息、行为信息以及时间信息等,若埋点数据的来源为QoS日志,那么,埋点数据的数据项可以包括端口号码、带宽信息以及协议信息等。这些数据项可以在埋点数据的数据字典中进行记录。举例而言,若埋点数据为表示用户点击行为的数据,那么,该埋点数据可以表示为{“rpage”:“播放页”,“action”:“点击”,……}。
一种实现方式中,目标任务包括多个,那么,可以根据目标任务的埋点信息,生成每个数据埋点的分发索引,分发索引用于指示每个数据埋点与至少一个目标任务之间的对应关系。举例而言,分发索引可以表示为:{‘数据源名称1’:[“任务1”,”任务2”],‘数据源名称2’:[“任务3”]},其中,“数据源名称1”和“数据源名称2”代表数据埋点,“任务1”、”任务2”和“任务3”代表不同的目标任务,也就是说,“数据源名称1”对应“任务1”和”任务2”两个目标任务,“数据源名称2”对应“任务3”一个目标任务。
然后,对数据埋点进行监听,根据分发索引,确定监听到的埋点数据对应的目标任务;进而,判断监听到的埋点数据是否符合数据埋点对应的任一目标任务的数据筛选条件,若符合,则将监听到的埋点数据作为任一目标任务的待处理数据。
这样,对于每个数据埋点,根据分发索引,只需对监听到的埋点数据进行一次遍历,就可以将埋点数据分发至其对应的不同目标任务中,而不需要根据每个目标任务分别对同一埋点数据进行遍历,从而避免对同一数据埋点的避免重复遍历,提高处理速度。
本步骤中,从数据埋点获取符合数据筛选条件的埋点数据,可以调用where语句进行判断,where语句支持简单条件和组合条件,比如,简单条件可以为:筛选数据项“t”取值为22的埋点数据,作为待处理数据,而组合条件即为多个简单条件的组合,当同时满足多个简单条件时,埋点数据可以作为待处理数据。
这样,不符合数据筛选条件的数据被过滤掉,符合数据筛选条件的数据作为待处理数据,进入下一步,减少了后续聚合时需要处理的数据量,节约了系统资源。
S103:按照时间窗口,对待处理数据进行聚合,得到聚合结果,并将聚合结果存储至目标任务的数据文件。
一种实现方式中,按照时间窗口,对待处理数据进行聚合,得到聚合结果,包括:
将任务信息的获取时间作为起始时间,确定目标任务的多个时间窗口的截止时间;当达到任一时间窗口的截止时间时,对该时间窗口内获取到的待处理数据进行聚合,得到聚合结果。
也就是说,对待处理数据的聚合是基于时间窗口进行的,比如,时间窗口可以为10毫秒,那么,每采集10毫秒的待处理数据之后,进行一次聚合,这样,可以减少目标任务聚合的次数,节约计算资源,同时,可以维持对待处理数据的动态处理。
一种实现方式中,任务信息中还包括第一聚合规则,对待处理数据进行聚合,得到聚合结果,包括:根据第一聚合规则对待处理数据进行聚合,得到聚合结果;其中,第一聚合规则包括以下至少一种:数据总数统计、最大值计算以及最小值计算。其中,对待处理数据进行聚合可以调用select条件语句,在select条件语句中,数据个数统计可以采用count算子,最大值计算可以采用max算子,最小值计算可以采用min算子。这样,可以通过不同的第一聚合规则,对待处理数据进行聚合,数据的聚合较为灵活,而且,聚合后的待处理数据具有较小的数据量,也便于后续的存储和查询。
一种实现方式中,每个待处理数据包括多个数据项,任务信息中还包括分组数据项及聚合数据项,分组数据项用于对待处理数据进行分组,聚合数据项用于对待处理数据进行聚合,也就是说,根据分组数据项对待处理数据进行分组,在每个分组内对聚合数据项进行聚合处理,在待处理数据的聚合结果中包括每个分组对应的聚合结果。
那么,对待处理数据进行聚合,得到聚合结果,可以包括:基于分组数据项,对每个时间窗口内的待处理数据进行分组;然后,对每个分组内的待处理数据的聚合数据项进行聚合,得到该分组对应的聚合结果。也就是说,将分组数据项相同的待处理数据分为一组,得到多个分组,然后,基于聚合数据项,对每个分组中待处理数据进行聚合处理,从而得到每个分组对应的聚合结果。
其中,可以通过调用groupBy语句确定分组数据项,比如,分组数据项可以包括“rpage”、“block”和“rseat”,那么,只有这三项取值均相同的待处理数据会被分为一组,然后,可以调用select语句对分组后的待处理数据进行聚合,得到每个分组的聚合结果。
分组数据项及聚合数据项都可以根据目标任务的业务需求进行配置,这样,可以从不同的分组对待处理数据进行聚合,对待处理数据的聚合分析较为灵活,而且可以实现较为复杂的数据聚合处理。
一种实现方式中,任务信息中还包括查询时间及第二聚合规则,在按照所述时间窗口,对待处理数据进行聚合,得到聚合结果之后,可以对聚合结果进行进一步的聚合。具体可以包括如下步骤:
从聚合结果中获取在查询时间内的待查询数据;然后,根据第二聚合规则,对待查询数据进行聚合,得到查询结果,进而,可以将聚合结果及查询结果均存储至目标任务的数据文件。
其中,第二聚合规则是对基于第一聚合规则的聚合结果进行再一次聚合处理的规则,可以包括数据总数统计、最大值计算以及最小值计算等。比如,如果第一聚合规则为计算每个时间窗口内的待处理数据的最大值,那么,第二聚合规则可以是对每个时间窗口内的待处理数据的最大值进行进一步的聚合,如计算每个时间窗口内的待处理数据的最大值之和,等等,具体不做限定。
这样,可以基于第二聚合规则,在基于第一聚合规则的聚合结果的基础上进行二次聚合,有利于实现对待处理数据的极速查询,为移动端智能等场景提供非常坚实的数据基础。
其中,聚合结果中的每个数据均具有对应的键值对,根据第二聚合规则,对待查询数据进行聚合,得到查询结果,也就是根据第二聚合规则,对待查询数据的键值对进行聚合,得到查询结果。
可以理解,每个待查询数据都具有对应的键(key)和值(value),其中,key与待查询数据是一一对应的,因此,基于键值对的查询较为方便快捷。
举例而言,可以调用result={}语句创建查询字典,进行查询,以第二聚合规则为数据总数统计count为例,待查询数据的键值对表示为ts-id和ts-value,那么,如果某个待查询数据的ts-id不在result创建的查询字典中,那么,聚合结果为result[ts-id]=ts-value,即数据总数不变,如果ts-id在result创建的查询字典中,那么,聚合结果为result[ts-id]=result[ts-id]+ts-value,即数据总数需要加上ts-value。
在得到聚合结果之后,可以对聚合结果进行保存,一种实现方式中,任务信息中还包括保存周期,将聚合结果存储为目标任务的数据文件,包括:在当前时间与上一次将聚合结果存储至目标任务的数据文件的时间之间的时间差超出保存周期之后,将未被存储的聚合结果存储为目标任务的数据文件。
举例而言,保存周期可以为5分钟,若当前时间与上一次将聚合结果进行存储的时间之差到达5分钟,则对最近的5分钟内的聚合结果进行存储。这样,根据保存周期进行数据存储,每次数据写入可以存储多个聚合结果,从而可以减少数据写入的次数,减少对系统资源的占用。
另一种实现方式中,任务信息中还可以包括预设操作,预设操作用于触发对聚合结果的存储,那么,可以响应于预设操作,检测目标任务的聚合结果是否发生更新,若发生更新,则将更新后的聚合结果存储为目标任务的数据文件。举例而言,预设操作可以为从后台切换到前台的切换操作,等等,具体不做限定。
这样,可以与用户进行交互,响应于用户的预设操作,在一些关键场景或数据容易丢失的场景及时存储聚合结果,同时也可以减少数据的写入次数,减少对系统资源的占用。
一种实现方式中,对于目标任务的数据文件可以仅在程序的生命周期内有效,当程序关闭后,则数据文件失效,从而减少对系统资源的占用。
如图2所示,为本发明的方案示意图,在本发明中,云端设备中包括目标任务配置后台,也就是说,目标任务的任务信息的配置可以在云端设备进行,进而,在移动端设备包括数据采集中心,可以根据目标任务的任务信息确定数据埋点,进而对埋点数据进行分发,生成各个目标任务对应的聚合结果。
由以上可见,本发明提供的方案中,根据任务信息进行数据埋点,并对数据进行聚合,就可以获取到目标任务对应的数据文件,如果需要修改目标任务所需要的数据,只需对任务信息进行修改,不需要重新编辑源代码和重新编译可执行文件,因此,数据的获取方式较为灵活,局限性较小。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本发明所必须的。
参照图3,示出了本发明的一种数据采集装置的结构框图,应用于移动端设备,该装置具体可以包括如下模块:
信息获取模块201,用于从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
数据获取模块202,用于根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
聚合模块203,用于按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储为所述目标任务的数据文件。
一种实现方式中,所述目标任务包括多个,所述数据获取模块202,用于:
根据所述目标任务的埋点信息,生成每个数据埋点的分发索引,所述分发索引用于指示每个数据埋点与至少一个所述目标任务之间的对应关系;
对所述数据埋点进行监听,根据所述分发索引,确定监听到的埋点数据对应的目标任务;
判断所述监听到的埋点数据是否符合所述数据埋点对应的任一目标任务的数据筛选条件,若符合,则将监听到的埋点数据作为所述任一目标任务的待处理数据。
一种实现方式中,所述聚合模块203,用于:
将所述任务信息的获取时间作为起始时间,确定所述目标任务的多个时间窗口的截止时间;
当达到任一时间窗口的截止时间时,对所述任一时间窗口内获取到的待处理数据进行聚合,得到聚合结果。
一种实现方式中,所述任务信息中还包括第一聚合规则,所述聚合模块203,用于:
按照所述时间窗口,根据所述第一聚合规则对所述待处理数据进行聚合,得到聚合结果;
其中,所述第一聚合规则包括以下至少一种:数据个数统计、最大值计算以及最小值计算。
一种实现方式中,所述任务信息中还包括保存周期,所述聚合模块203,用于:
在当前时间与上一次将所述聚合结果存储至所述目标任务的数据文件的时间之间的时间差超出所述保存周期之后,将未被存储的所述聚合结果存储为所述目标任务的数据文件。
一种实现方式中,所述任务信息中还包括预设操作,所述预设操作用于触发对所述聚合结果的存储,所述聚合模块203,用于:
响应于所述预设操作,检测所述目标任务的聚合结果是否发生更新;
若发生更新,则将更新后的所述聚合结果存储为所述目标任务的数据文件。
一种实现方式中,所述任务信息中还包括查询时间及第二聚合规则,聚合模块203,还用于:
从所述聚合结果中获取在所述查询时间内的待查询数据;
根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果;
将所述聚合结果及所述查询结果存储为所述目标任务的数据文件。
一种实现方式中,所述聚合结果中的每个数据均具有对应的键值对,所述聚合模块203,用于:
根据所述查询规则,对所述待查询数据的键值对进行聚合,得到查询结果。
一种实现方式中,每个待处理数据包括多个数据项,所述任务信息中还包括分组数据项及聚合数据项,所述分组数据项用于对所述待处理数据进行分组,所述聚合数据项用于对所述待处理数据进行聚合;
所述聚合模块203,用于:
基于所述分组数据项,对所述待处理数据进行分组;
针对每个分组,对每个时间窗口内的所述待处理数据进行分组;
对每个分组内的所述待处理数据的聚合数据项进行聚合,得到该分组对应的聚合结果。
由以上可见,在本发明提供的方案中,根据任务信息进行数据埋点,并对数据进行聚合,就可以获取到目标任务对应的数据文件,如果需要修改目标任务所需要的数据,只需对任务信息进行修改,不需要重新编辑源代码和重新编译可执行文件,因此,数据的获取方式较为灵活,局限性较小。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储至所述目标任务的数据文件。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,在本发明提供的方案中,根据任务信息进行数据埋点,并对数据进行聚合,就可以获取到目标任务对应的数据文件,如果需要修改目标任务所需要的数据,只需对任务信息进行修改,不需要重新编辑源代码和重新编译可执行文件,因此,数据的获取方式较为灵活,局限性较小。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据采集方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据采集方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种数据采集方法,其特征在于,应用于移动端设备,所述方法包括:
从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储为所述目标任务的数据文件。
2.根据权利要求1所述的方法,其特征在于,所述目标任务包括多个,所述根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据,包括:
根据所述目标任务的埋点信息,生成每个数据埋点的分发索引,所述分发索引用于指示每个数据埋点与至少一个所述目标任务之间的对应关系;
对所述数据埋点进行监听,根据所述分发索引,确定监听到的埋点数据对应的目标任务;
判断所述监听到的埋点数据是否符合所述数据埋点对应的任一目标任务的数据筛选条件,若符合,则将监听到的埋点数据作为所述任一目标任务的待处理数据。
3.根据权利要求1所述的方法,其特征在于,所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
将所述任务信息的获取时间作为起始时间,确定所述目标任务的多个时间窗口的截止时间;
当达到任一时间窗口的截止时间时,对所述任一时间窗口内获取到的待处理数据进行聚合,得到聚合结果。
4.根据权利要求1所述的方法,其特征在于,所述任务信息中还包括第一聚合规则,所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
按照所述时间窗口,根据所述第一聚合规则对所述待处理数据进行聚合,得到聚合结果;
其中,所述第一聚合规则包括以下至少一种:数据个数统计、最大值计算以及最小值计算。
5.根据权利要求1所述的方法,其特征在于,所述任务信息中还包括保存周期,所述将所述聚合结果存储为所述目标任务的数据文件,包括:
在当前时间与上一次将所述聚合结果存储至所述目标任务的数据文件的时间之间的时间差超出所述保存周期之后,将未被存储的所述聚合结果存储为所述目标任务的数据文件。
6.根据权利要求1所述的方法,其特征在于,所述任务信息中还包括预设操作,所述预设操作用于触发对所述聚合结果的存储,所述将所述聚合结果存储为所述目标任务的数据文件,包括:
响应于所述预设操作,检测所述目标任务的聚合结果是否发生更新;
若发生更新,则将更新后的所述聚合结果存储为所述目标任务的数据文件。
7.根据权利要求1所述的方法,其特征在于,所述任务信息中还包括查询时间及第二聚合规则,在所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果之后,所述方法还包括:
从所述聚合结果中获取在所述查询时间内的待查询数据;
根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果;
所述将所述聚合结果存储为所述目标任务的数据文件,包括:
将所述聚合结果及所述查询结果存储为所述目标任务的数据文件。
8.根据权利要求7所述的方法,其特征在于,所述聚合结果中的每个数据均具有对应的键值对,所述根据所述第二聚合规则,对所述待查询数据进行聚合,得到查询结果,包括:
根据所述第二聚合规则,对所述待查询数据的键值对进行聚合,得到查询结果。
9.根据权利要求1所述的方法,其特征在于,每个待处理数据包括多个数据项,所述任务信息中还包括分组数据项及聚合数据项,所述分组数据项用于对所述待处理数据进行分组,所述聚合数据项用于对所述待处理数据进行聚合;
所述按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,包括:
基于所述分组数据项,对每个时间窗口内的所述待处理数据进行分组;
对每个分组内的所述待处理数据的聚合数据项进行聚合,得到该分组对应的聚合结果。
10.一种数据采集装置,其特征在于,应用于移动端设备,所述装置包括:
信息获取模块,用于从云端设备获取目标任务的任务信息,所述任务信息中包括所述目标任务的埋点信息、数据筛选条件及时间窗口,所述云端设备用于对所述任务信息进行存储;
数据获取模块,用于根据所述埋点信息,确定所述目标任务的数据埋点,并从所述数据埋点获取符合所述数据筛选条件的埋点数据,作为待处理数据;
聚合模块,用于按照所述时间窗口,对所述待处理数据进行聚合,得到聚合结果,并将所述聚合结果存储为所述目标任务的数据文件。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9中任一项所述的数据采集方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的数据采集方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111607890.9A CN114281648A (zh) | 2021-12-23 | 2021-12-23 | 一种数据采集方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111607890.9A CN114281648A (zh) | 2021-12-23 | 2021-12-23 | 一种数据采集方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281648A true CN114281648A (zh) | 2022-04-05 |
Family
ID=80875725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111607890.9A Pending CN114281648A (zh) | 2021-12-23 | 2021-12-23 | 一种数据采集方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281648A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174501A (zh) * | 2022-05-23 | 2022-10-11 | 未名智算(北京)科技有限公司 | 一种用于网内聚合传输的服务系统和服务方法 |
CN115378882A (zh) * | 2022-08-18 | 2022-11-22 | 中国联合网络通信集团有限公司 | 流数据处理方法、装置、设备及介质 |
-
2021
- 2021-12-23 CN CN202111607890.9A patent/CN114281648A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174501A (zh) * | 2022-05-23 | 2022-10-11 | 未名智算(北京)科技有限公司 | 一种用于网内聚合传输的服务系统和服务方法 |
CN115378882A (zh) * | 2022-08-18 | 2022-11-22 | 中国联合网络通信集团有限公司 | 流数据处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145489B (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
CN108089893B (zh) | 冗余资源的确定方法、装置、终端设备与存储介质 | |
CN114281648A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
CN109543891B (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN109241084B (zh) | 数据的查询方法、终端设备及介质 | |
CN112306700A (zh) | 一种异常rpc请求的诊断方法和装置 | |
CN112115039B (zh) | 测试用例生成方法、装置及设备 | |
CN110321364B (zh) | 信用卡管理系统的交易数据查询方法、装置及终端 | |
CN108876644B (zh) | 一种基于社交网络的相似账号计算方法及装置 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN112612832B (zh) | 节点分析方法、装置、设备及存储介质 | |
CN111400045B (zh) | 一种负载均衡方法及装置 | |
CN110020166B (zh) | 一种数据分析方法及相关设备 | |
CN110022343B (zh) | 自适应事件聚合 | |
CN113127693A (zh) | 一种流量数据包统计方法、装置、设备及存储介质 | |
CN108287659B (zh) | 一种基于实时数据流的数据采样方法、装置及电子设备 | |
CN110737691B (zh) | 用于处理访问行为数据的方法和装置 | |
CN110990350A (zh) | 日志的解析方法及装置 | |
CN114039878B (zh) | 一种网络请求的处理方法、装置、电子设备及存储介质 | |
CN110674386B (zh) | 资源推荐方法、装置及存储介质 | |
CN111291127A (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN111045983A (zh) | 核电站电子文件管理方法、装置、终端设备及介质 | |
CN111813765B (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 |