CN113268499A - 数据采集方法、装置、数据采集***及服务器 - Google Patents
数据采集方法、装置、数据采集***及服务器 Download PDFInfo
- Publication number
- CN113268499A CN113268499A CN202110622833.1A CN202110622833A CN113268499A CN 113268499 A CN113268499 A CN 113268499A CN 202110622833 A CN202110622833 A CN 202110622833A CN 113268499 A CN113268499 A CN 113268499A
- Authority
- CN
- China
- Prior art keywords
- data
- terminal
- data set
- target
- access mode
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims description 38
- 230000008859 change Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer 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/24—Querying
- G06F16/245—Query processing
-
- 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/23—Updating
-
- 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/25—Integrating or interfacing systems involving database management systems
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及一种数据采集方法、装置、数据采集***及服务器,所述方法包括:服务器接收终端通过第一数据接入方式采集并上报的第一数据集;对第一数据集进行完整性校验;在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,第二数据接入方式与第一数据接入方式不同。由此,可以实现将至少两种数据接入方式组合应用,这相较于仅采用单一的数据接入方式而言,可以使得收集到的数据更全面,更好地满足数据分析需求。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据采集方法、装置、数据采集***及服务器。
背景技术
智慧园区中集成了大量业务***,例如视频监控***、智慧消防***、门禁访客***、酒店PMS(Production Management System,设备管理体系)***、能源管理***、智能照明***等等。
在进行诸如客流统计、热销/滞销商品分析、订单信息分析等运营分析任务时,或者实现预测、推荐、决策等算法应用时,都需要将大量业务***的数据接入统一的数据管理平台,以由数据管理平台对接入的数据进行处理分析,以及持久化以支撑后续数据融合。
发明内容
鉴于此,本发明实施例提供一种数据采集方法、装置、数据采集***及服务器。
第一方面,本发明实施例提供一种数据采集方法,应用于服务器,所述服务器接入有至少一个终端,所述终端支持至少两种数据接入方式,所述方法包括:
接收所述终端通过第一数据接入方式采集并上报的第一数据集;
对所述第一数据集进行完整性校验;
在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
可选的,所述对所述第一数据集进行完整性校验,包括:
获取数据需求表;
从所述数据需求表中解析出待获取的至少一个目标字段;
针对每一所述目标字段,确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据;
若针对每一所述目标字段,所述第一数据集中均存在与所述目标字段相匹配的目标数据,则确定所述第一数据集通过完整性校验;
若针对任意所述目标字段,所述第一数据集中不存在与所述目标字段相匹配的目标数据,则确定所述第一数据集未通过所述完整性校验。
可选的,所述确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据,包括:
确定所述目标字段的语义向量,以及确定所述第一数据集中各第一数据所属字段的语义向量;
确定所述目标字段的语义向量和各所述第一数据所属字段的语义向量之间的距离;
若存在任意所述距离大于设定的距离阈值,则确定所述第一数据集中存在与所述目标字段相匹配的目标数据;
若不存在任一所述距离大于所述距离阈值,则确定第一数据集中不存在与所述目标字段相匹配的目标数据。
可选的,所述控制所述终端通过至少两种所述数据接入方式中,除所述第一数据接入方式以外的其他数据接入方式采集并上报第二数据集,包括:
确定数据查询语句,所述数据查询语句用于指示从所述终端中查询设定字段的数据,所述设定字段指所述第一数据集中不存在与其相匹配的目标数据的目标字段;
向所述终端发送所述数据查询语句,以使所述终端执行所述数据查询语句并上报查询到的第二数据集。
可选的,所述确定数据查询语句,包括:
获取所述终端中数据库的元数据信息,所述数据库包括多个数据表;
根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表;
构建用于指示从所述目标数据表中查询所述设定字段的数据查询语句。
可选的,所述元数据信息至少包括多个所述数据表的表名;
所述根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表,包括:
分别确定所述设定字段和各所述表名对应的语义向量;
针对每一所述表名,确定所述表名对应的语义向量与所述设定字段对应的语义向量之间的距离;
从各所述数据表中选择出目标数据表,所述目标数据表对应的所述距离满足设定条件。
可选的,所述第一数据接入方式包括下述至少之一:埋点接入方式、捕获数据变更方式、接口接入方式;
其中,在所述第一数据接入方式包括所述埋点接入方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端在检测到预设的埋点触发事件时所采集并上报的第一数据集,所述第一数据集包括所述埋点触发事件对应的埋点数据;
在所述第一数据接入方式包括所述捕获数据变更方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端在捕获到数据库发生变更时所采集并上报的第一数据集,所述第一数据集至少包括所述数据库中发生变更的数据;
在所述第一数据接入方式包括所述接口接入方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端调用预设的数据查询接口所查询到并上报的第一数据集。
第二方面,本发明实施例提供一种数据采集***,所述数据采集***包括服务器、至少一个终端,至少一个所述终端接入所述服务器,且所述终端支持至少两种数据接入方式;
所述终端,通过第一数据接入方式采集并向所述服务器上报第一数据集;
所述服务器,对所述第一数据集进行完整性校验;
所述服务器,在确定所述第一数据集未通过所述完整性校验时,控制所述终端第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
可选的,所述数据采集***还包括:消息传输组件;
所述终端,通过所述消息传输组件向所述服务器上报所述第一数据集/第二数据集。
可选的,所述终端包括下述至少之一:埋点组件、捕获组件、接口组件,所述接口组件至少包括数据查询接口;
在所述终端包括所述埋点组件时,所述终端通过所述埋点组件在检测到预设的埋点触发事件时采集并向所述服务器上报所述第一数据集,所述第一数据集包括所述埋点触发事件对应的埋点数据;
在所述终端包括所述捕获组件时,所述终端通过所述捕获组件在捕获到数据库发生变更时采集并向所述服务器上报所述第一数据集,所述第一数据集至少包括所述数据库中发生变更的数据;
在所述终端包括所述接口组件时,所述终端通过调用所述接口组件中的所述数据查询接口进行数据查询,并将查询到的数据作为所述第一数据集上报至所述服务器。
第三方面,本发明实施例提供一种数据采集装置,应用于服务器,所述服务器接入有至少一个终端,所述终端支持至少两种数据接入方式,所述装置包括:
接入模块,用于接收所述终端通过第一数据接入方式采集并上报的第一数据集;
校验模块,用于对所述第一数据集进行完整性校验;
所述接入模块,还用于在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
第四方面,本发明实施例提供一种服务器,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据采集程序,以实现第一方面中任一项所述的数据采集方法。
第五方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项所述的数据采集方法。
本发明实施例提供的技术方案,通过服务器在接收到终端通过第一数据接入方式采集并上报的第一数据集后,对第一数据集进行完整性校验,在确定第一数据集未通过完整性校验时,控制终端通过其支持的至少两种数据接入方式中,与第一数据接入方式不同的第二数据接入方式采集并上报第二数据集,可以实现将至少两种数据接入方式组合应用,这相较于仅采用单一的数据接入方式而言,可以使得收集到的数据更全面,更好地满足数据分析需求。
附图说明
图1为本发明实施例提供的一种数据采集***的***架构示意图;
图2为本发明实施例提供的一种数据采集方法的实施例流程图;
图3为本发明实施例提供的一种数据采集装置的实施例框图;
图4为本发明实施例提供的一种设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种数据采集***的***架构示意图。图1所示数据采集***10中包括:服务器11、终端12~14。其中,终端12~14可以是硬件,也可以是软件,当终端为硬件时,终端可以是支持数据传输的各种电子设备,包括但不限于智能手机、平板电脑、台式计算机、膝上型便携计算机等,当终端为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。
终端12~14接入服务器11,且每一终端可支持至少两种数据接入方式。这里,终端接入服务器是指终端与服务器建立起通信连接,从而终端与服务器之间能够进行数据传输。数据接入则是指将数据从源端(例如终端)经过抽取、转换等操作加载至目标端(例如服务器)。
作为一个实施例,以终端12为例,终端12可包括下述至少之一:埋点组件、捕获组件、接口组件,该接口组件至少包括数据查询接口。本发明实施例中,终端12通过上述任一组件,可实现采集本端数据,并将采集到的数据上报给服务器11,这也就实现了将终端12侧的数据接入至服务器11。至于具体是如何实现将终端12侧的数据接入至服务器11的,在下文中通过图2所示流程进行说明,这里先不详述。
作为一个实施例,数据采集***10中还包括:消息传输组件15。可选的,消息传输组件15为Kafka。在图1所示例的数据采集***10中,终端12~14可通过消息传输组件15向服务器上报数据,实现数据接入。
需要说明的是,图1中所示终端的数量仅仅作为示例性说明,在实践中,数据采集***10可包括任意数目的终端,本发明实施例对此不做限制。
参见图2,为本发明实施例提供的一种数据采集方法的实施例流程图。作为一个实施例,该方法可应用于图1中所示例的服务器11。如图2所示,该方法可包括以下步骤:
步骤201、接收终端通过第一数据接入方式采集并上报的第一数据集。
作为一个实施例,上述第一数据接入方式包括下述至少之一:埋点接入方式、捕获数据变更方式、接口接入方式,也即,第一数据接入方式可以为前述三者之一,也可以为前述三者中任意两者的组合,还可以为前述三者的组合。
其中,在第一数据接入方式包括埋点接入方式,也即终端支持埋点接入方式时,终端可在检测到预设的埋点触发事件时,采集埋点数据,并将采集到的埋点数据上报至服务器。如此,服务器可接收终端在检测到预设的埋点触发事件时,采集并上报的第一数据集。这里,第一数据集包括上述埋点数据。
具体地,在实践中,可由用户(例如运营人员、开发人员等)根据需求,在终端上设置埋点组件,如此,终端可通过埋点组件实现在检测到埋点触发事件时,采集埋点数据,并将采集到的埋点数据上报至服务器。
由此可见,埋点接入方式是一种以需求为导向的数据接入方式,应用埋点接入方式,可根据用户需求,在需要监控的位置处采集相应的信息,通过事件触发机制,将终端侧的数据接入服务器,以进行后续分析。
在一个例子中,终端可通过埋点接入方式,采集终端侧用户的各种行为(例如浏览行为、点击行为、评论行为、点赞行为等)数据,并将采集到的行为数据上报至服务器,以由服务器对用户的行为数据进行多维度的分析,还原出用户的使用场景,挖掘出用户的潜在需求等。
在第一数据接入方式包括捕获数据变更方式,也即终端支持捕获数据变更方式时,终端可在捕获到本地数据库发生变更时采集发生变更的数据,并将采集到的数据上报至服务器。如此,服务器可接收终端在捕获到数据库发生变更时所采集并上报的第一数据集。这里,第一数据集至少包括终端的数据库中发生变更的数据。
具体地,捕获数据变更方式是指在终端侧内置捕获组件,并在捕获组件中设置需要监控的数据库,从而实现通过捕获组件监控终端侧数据库,并在捕获到数据库变更(例如数据库发生增、删、改等操作)时,捕获发生变更的数据。这里,发生变更的数据可以包括变更前的数据和变更后的数据。
捕获组件例如可以是:Canal、Debezium、Maxwell、Flinkx等。其中,Canal和Maxwell支持MySQL类型的数据库,并且,需要MySQL数据库开启binlog日志,才能够实现上述捕获数据变更方式;Debezium和Flinkx则支持多种类型的数据库,以postgresql类型的数据库为例,其需要在配置文件中将wal_level=logical设置为逻辑复制流模式等,才能够实现上述捕获数据变更方式。
在第一数据接入方式包括接口接入方式,也即终端支持接口接入方式时,终端可调用本地预设的数据查询接口进行数据查询,并将查询到的数据上报至服务器。如此,服务器可接收终端通过调用预设的数据查询接口所查询到并上报的第一数据集。
具体地,在实践中,可由用户(例如运营人员、开发人员等)根据需求,在终端上设置接口组件,该接口组件至少包括数据查询接口,终端可以采取周期调用接口的方式,周期性地(例如每隔5分钟)调用数据查询接口进行数据查询,并将查询到的数据作为第一数据集上报至服务器。
由上述描述可见,埋点接入方式、捕获数据变更方式、接口接入方式各自具有不同的数据接入机制,且该三种数据接入方式有着各自的优缺点。
其中,埋点接入方式所收集的埋点数据是比较明确的,因此容易分析,但是,正是由于需求明确,从而需要开发人员配合,这就导致在需要埋点的终端数据比较多的情况下,埋点数据接入方式的实现可能难以推进,并且,在终端已经稳定运行后,若有新的埋点需求,则不方便对终端进行二次开发。
捕获数据变更方式所捕获到的数据能够较为完整、全面地表征出终端侧的数据变更情况,但是,这种方式所捕获到的数据格式是比较复杂的,数据也是比较零散的,这就导致服务器需要对终端上报的数据执行复杂的分析过程,才能够分析出多个数据之间的关联,进而才能够回溯出真正的事件信息。由此可见,采用捕获数据变更方式实现将终端侧的数据接入至服务器,增加了服务器侧的数据处理难度。
接口接入方式具有简单、易实现的优点,但是,这种方式无法满足数据接入的实时性要求,并且,对接口组件的抗压能力具有较高要求。
基于此,在本发明一种优选的实现方式中,可将第一数据接入方式设置为前述三者中任意两者的组合,或者前述三者的组合。
步骤202、对第一数据集进行完整性校验。
本发明实施例中,对第一数据集进行完整性校验的目的是:校验第一数据集中的数据是否完整。这里,是否完整的参照物可以是用户需求,例如用户提供的数据需求表,该数据需求表中可包括用户所需要的多个字段。这也就说,当第一数据集中包括用户所需要的全部字段的数据时,则意味着第一数据集完整,反之,当第一数据集中仅包括用户所需要的部分字段的数据时,则意味着第一数据集不完整。
具体地,作为一个可选的实现方式,可通过以下过程对第一数据集进行完整性校验:从获取到的数据需求表中解析出待获取的至少一个目标字段,然后,针对每一目标字段,确定第一数据集中是否存在与该目标字段相匹配的数据(以下称为目标数据),若针对每一目标字段,第一数据集中均存在与该目标字段相匹配的目标数据,则可确定第一数据集通过完整性校验;若针对任意(指一个或几个)目标字段,第一数据集中不存在与目标字段相匹配的目标数据,则可确定第一数据集未通过完整性校验。
需要说明的是,上述目标字段可从数据需求表中直接解析得到,也即,数据需求表中包含目标字段。上述目标字段还可从数据需求表中间接地解析得到,也即,数据需求表中不包含目标字段,而是包含用户所需求的字段,以及为得到该字段的数据所利用的字段间计算关系,在该种情况下,则可通过解析字段间计算关系,得到目标字段。举例来说,数据需求表中包括设定历史时间段内总交易额这一字段,而设定历史时间段内总交易额是一个统计值,其由交易时间、交易状态(交易成功、交易失败)、交易金额这三个字段的数据参与统计计算得到,因此,可将交易时间、交易状态、交易金额这三个字段确定为上述目标字段。
进一步地,作为一个实施例,在本步骤202中,可通过以下流程确定第一数据集中是否存在与目标字段相匹配的目标数据:确定目标字段的语义向量,以及确定第一数据集中各第一数据所属字段的语义向量;确定目标字段的语义向量和各第一数据所属字段的语义向量之间的距离;若存在任意距离大于设定的距离阈值,则确定第一数据集中存在与目标字段相匹配的目标数据,若不存在任一距离大于距离阈值,则确定第一数据集中不存在与目标字段相匹配的目标数据。可以理解的是,若两个语义向量之间的距离比较小,则意味着该两个语义向量比较相似,从而,该两个语义向量所对应的字段也就比较相似,进而,若目标字段的语义向量与第一数据所属字段的语义向量比较相似,则可认为该第一数据与该目标字段相匹配。
其中,作为一个可选的实现方式,可将目标字段或者第一数据所属字段输入至已训练的语义表达模型,得到对应的语义向量。这里,语义表达模型可以是对大量字段进行弱监督训练所得到的模型,例如可以是神经网络模型、深度学习模型等。
可选地,上述距离可以是余弦距离、欧式距离、曼哈顿距离等等。
步骤203、在确定第一数据集未通过完整性校验时,控制终端通过第二数据接入方式采集并上报第二数据集,第二数据接入方式与第一数据接入方式不同。
本发明实施例中,第一数据集未通过完整性校验,则意味着第一数据集不能够满足用户需求,因此,为了满足用户需求,本发明实施例提出,在确定第一数据集未通过完整性校验时,控制终端通过至少两种数据接入方式中,与第一数据接入方式不同的第二数据接入方式采集并上报第二数据集。
作为一个实施例,上述第二数据接入方式指使用数据查询语句进行查询的方式。基于此,在本步骤203中,在确定第一数据集未通过完整性校验时,确定数据查询语句,向终端发送该数据查询语句,以使终端执行该数据查询语句并上报查询到的第二数据集。这里,数据查询语句用于指示从终端中查询至少一个设定字段的数据,设定字段指第一数据集中不存在与其相匹配的目标数据的目标字段。
需要说明的是,上述所描述的第二数据接入方式的前提条件是:服务器具有访问终端数据库的权限,例如,上述数据查询语句携带终端数据库的账号密码,从而使得终端在接收到数据查询语句,通过对其中携带的账号密码进行认证,在认证通过后再执行接收到的数据查询语句。通过该种处理,可以保障终端数据库的安全。
具体地,作为一个实施例,确定数据查询语句包括:针对每一设定字段,获取终端中数据库的元数据信息,根据元数据信息,从数据库中确定包含设定字段的目标数据表。最后,构建用于指示从各目标数据表中查询各设定字段的数据查询语句。进一步地,元数据信息至少包括多个数据表的表名,基于此,根据元数据信息,从数据库中确定包含设定字段的目标数据表,包括:分别确定设定字段和各表名对应的语义向量,针对每一表名,确定表名对应的语义向量与设定字段对应的语义向量之间的距离,从各数据表中选择出目标数据表,目标数据表对应的距离满足设定条件。
可选地,上述设定条件可以指:目标数据表对应的距离大于其他数据表对应的距离,或者,目标数据表对应的距离小于设定的距离阈值。进一步地,当表名对应的语义向量与设定字段对应的语义向量之间的距离满足设定条件时,则意味着该表名与该设定字段之间的关联度越大,从而,当表名对应的语义向量与设定字段对应的语义向量之间的距离满足设定条件时,将该表名对应的数据表确定为包含该设定字段的目标数据表。
作为另一个实施例,在确定数据查询语句之前,还可输出各设定字段,然后从各设定字段中确定被选择的设定字段(以下称目标设备字段),最后利用上述所描述的确定数据查询语句的过程,构建用于指示从终端中查询目标设定字段的数据查询语句。由此可见,服务器在确定第一数据集中缺少设定字段时,可输出各设定字段,以由用户根据实际情况从中选择需求查询的设定字段。这里,用户可以选择全部的设定字段,也可以选择部分的设定字段,本发明实施例对此不做限制。在用户选择设定字段后,服务器则能够确定被选择的目标设定字段,然后,构建用于指示从终端中查询目标设定字段的数据查询语句。
此外,作为一个实施例,在向终端发送数据查询语句之前,还可输出该数据查询语句,之后当接收到用于指示执行数据查询语句的指示消息时,再向终端发送数据查询语句。通过该种处理,在提升用户体验的同时,还能够由用户进一步对自动构建的数据查询语句进行确认,以确保最终接入服务器的终端侧数据的准确度。
进一步地,通过将自动构建的数据查询语句展示给用户,供用户参考,可以达到辅助用户调整后续开发工作的效果。
此外,服务器在接收到第一数据集和/或第二数据集后,可对接收到的数据进行过滤、清洗、摊平、数据格式转换、抽取、加载等操作,并按照规定的数据格式将经过上述处理后的数据持久化到文件***或数据库中。
本发明实施例提供的技术方案,通过服务器在接收到终端通过第一数据接入方式采集并上报的第一数据集后,对第一数据集进行完整性校验,在确定第一数据集未通过完整性校验时,控制终端通过其支持的至少两种数据接入方式中,与第一数据接入方式不同的第二数据接入方式采集并上报第二数据集,可以实现将至少两种数据接入方式组合应用,这相较于仅采用单一的数据接入方式而言,可以使得收集到的数据更全面,更好地满足数据分析需求。
为便于理解本发明实施例,以下示出本发明实施例所提供数据采集方法的一示例性应用场景:
在智慧园区中,集成了大量业务***,例如视频监控***、智慧消防***、门禁访客***、酒店PMS***、能源管理***、智能照明***等等。在进行如客流统计、热销/滞销商品分析、订单信息分析等运营分析时,或者实现预测、推荐、决策等算法的应用时,都需要将上述业务***的数据接入统一的数据管理平台,并将接入数据进行持久化以支撑后续数据融合。
然而,在实践中,不同业务***的开发情况有所不同,这也就导致单一的数据接入方式无法适用于不同业务***开发情况具有差异的场景,对此,可通过本发明实施例提供的数据接入方式,实现为同一业务***提供多种不同的数据接入方式,以及为不同的业务***提供多种不同的数据接入方式,从而满足多个业务***的数据接入需求。在这一应用场景中,业务***则相当于图1中终端的角色,数据管理平台则相当于图1中服务器的角色。
进一步地,通过提供多种不同的数据接入方式,还能够为开发人员对业务***的数据接入进行开发的工作提供便利,从宏观上提高数据接入效率。
参见图3,为本发明实施例提供的一种数据采集装置的实施例框图。作为一个实施例,该装置可应用于图1中所示例的服务器,如图3所示,该装置包括:
接入模块31,用于接收终端通过第一数据接入方式采集并上报的第一数据集;
校验模块32,用于对所述第一数据集进行完整性校验;
所述接入模块31,还用于在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
可选的,所述校验模块32,具体用于:
获取数据需求表;从所述数据需求表中解析出待获取的至少一个目标字段;针对每一所述目标字段,确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据;若针对每一所述目标字段,所述第一数据集中均存在与所述目标字段相匹配的目标数据,则确定所述第一数据集通过完整性校验;若针对任意所述目标字段,所述第一数据集中不存在与所述目标字段相匹配的目标数据,则确定所述第一数据集未通过所述完整性校验。
可选的,所述校验模块32确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据,包括:
确定所述目标字段的语义向量,以及确定所述第一数据集中各第一数据所属字段的语义向量;确定所述目标字段的语义向量和各所述第一数据所属字段的语义向量之间的距离;若存在任意所述距离大于设定的距离阈值,则确定所述第一数据集中存在与所述目标字段相匹配的目标数据;若不存在任一所述距离大于所述距离阈值,则确定第一数据集中不存在与所述目标字段相匹配的目标数据。
可选的,所述接入模块31控制所述终端通过第二数据接入方式采集并上报第二数据集,包括:
确定数据查询语句,所述数据查询语句用于指示从所述终端中查询设定字段的数据,所述设定字段指所述第一数据集中不存在与其相匹配的目标数据的目标字段;向所述终端发送所述数据查询语句,以使所述终端执行所述数据查询语句并上报查询到的第二数据集。
可选的,所述接入模块31确定数据查询语句,包括:
获取所述终端中数据库的元数据信息,所述数据库包括多个数据表;根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表;构建用于指示从所述目标数据表中查询所述设定字段的数据查询语句。
可选的,所述元数据信息至少包括多个所述数据表的表名;所述接入模块31根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表,包括:
分别确定所述设定字段和各所述表名对应的语义向量;针对每一所述表名,确定所述表名对应的语义向量与所述设定字段对应的语义向量之间的距离;从各所述数据表中选择出目标数据表,所述目标数据表对应的所述距离满足设定条件。
可选的,所述第一数据接入方式包括下述至少之一:埋点接入方式、捕获数据变更方式、接口接入方式;
其中,在所述第一数据接入方式包括所述埋点接入方式时,所述接入模块31,用于接收所述终端在检测到预设的埋点触发事件时所采集并上报的第一数据集,所述第一数据集包括所述埋点触发事件对应的埋点数据;
在所述第一数据接入方式包括所述捕获数据变更方式时,所述接入模块31,用于接收所述终端在捕获到数据库发生变更时所采集并上报的第一数据集,所述第一数据集至少包括所述数据库中发生变更的数据;
在所述第一数据接入方式包括所述接口接入方式时,所述接入模块31,用于接收所述终端调用预设的数据查询接口所查询到并上报的第一数据集。
本发明实施例还提供了一种服务器,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
接收终端通过第一数据接入方式采集并上报的第一数据集;对所述第一数据集进行完整性校验;在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
上述服务器提到的通信总线可以是外设部件互连标准(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)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的数据采集方法的步骤。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种数据采集方法,其特征在于,应用于服务器,所述服务器接入有至少一个终端,所述终端支持至少两种数据接入方式,所述方法包括:
接收所述终端通过第一数据接入方式采集并上报的第一数据集;
对所述第一数据集进行完整性校验;
在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一数据集进行完整性校验,包括:
获取数据需求表;
从所述数据需求表中解析出待获取的至少一个目标字段;
针对每一所述目标字段,确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据;
若针对每一所述目标字段,所述第一数据集中均存在与所述目标字段相匹配的目标数据,则确定所述第一数据集通过完整性校验;
若针对任意所述目标字段,所述第一数据集中不存在与所述目标字段相匹配的目标数据,则确定所述第一数据集未通过所述完整性校验。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一数据集中是否存在与所述目标字段相匹配的目标数据,包括:
确定所述目标字段的语义向量,以及确定所述第一数据集中各第一数据所属字段的语义向量;
确定所述目标字段的语义向量和各所述第一数据所属字段的语义向量之间的距离;
若存在任意所述距离大于设定的距离阈值,则确定所述第一数据集中存在与所述目标字段相匹配的目标数据;
若不存在任一所述距离大于所述距离阈值,则确定第一数据集中不存在与所述目标字段相匹配的目标数据。
4.根据权利要求2所述的方法,其特征在于,所述控制所述终端通过至少两种所述数据接入方式中,除所述第一数据接入方式以外的其他数据接入方式采集并上报第二数据集,包括:
确定数据查询语句,所述数据查询语句用于指示从所述终端中查询设定字段的数据,所述设定字段指所述第一数据集中不存在与其相匹配的目标数据的目标字段;
向所述终端发送所述数据查询语句,以使所述终端执行所述数据查询语句并上报查询到的第二数据集。
5.根据权利要求4所述的方法,其特征在于,所述确定数据查询语句,包括:
获取所述终端中数据库的元数据信息,所述数据库包括多个数据表;
根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表;
构建用于指示从所述目标数据表中查询所述设定字段的数据查询语句。
6.根据权利要求5所述的方法,其特征在于,所述元数据信息至少包括多个所述数据表的表名;
所述根据所述元数据信息,从所述数据库中确定包含所述设定字段的目标数据表,包括:
分别确定所述设定字段和各所述表名对应的语义向量;
针对每一所述表名,确定所述表名对应的语义向量与所述设定字段对应的语义向量之间的距离;
从各所述数据表中选择出目标数据表,所述目标数据表对应的所述距离满足设定条件。
7.根据权利要求1所述的方法,其特征在于,所述第一数据接入方式包括下述至少之一:埋点接入方式、捕获数据变更方式、接口接入方式;
其中,在所述第一数据接入方式包括所述埋点接入方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端在检测到预设的埋点触发事件时所采集并上报的第一数据集,所述第一数据集包括所述埋点触发事件对应的埋点数据;
在所述第一数据接入方式包括所述捕获数据变更方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端在捕获到数据库发生变更时所采集并上报的第一数据集,所述第一数据集至少包括所述数据库中发生变更的数据;
在所述第一数据接入方式包括所述接口接入方式时,所述接收所述终端通过第一数据接入方式采集并上报的第一数据集,包括:接收所述终端调用预设的数据查询接口所查询到并上报的第一数据集。
8.一种数据采集***,其特征在于,所述数据采集***包括服务器、至少一个终端,至少一个所述终端接入所述服务器,且所述终端支持至少两种数据接入方式;
所述终端,通过第一数据接入方式采集并向所述服务器上报第一数据集;
所述服务器,对所述第一数据集进行完整性校验;
所述服务器,在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
9.根据权利要求8所述的数据采集***,其特征在于,所述数据采集***还包括:消息传输组件;
所述终端,通过所述消息传输组件向所述服务器上报所述第一数据集/第二数据集。
10.根据权利要求8所述的数据采集***,其特征在于,所述终端包括下述至少之一:埋点组件、捕获组件、接口组件,所述接口组件至少包括数据查询接口;
在所述终端包括所述埋点组件时,所述终端通过所述埋点组件在检测到预设的埋点触发事件时采集并向所述服务器上报所述第一数据集,所述第一数据集包括所述埋点触发事件对应的埋点数据;
在所述终端包括所述捕获组件时,所述终端通过所述捕获组件在捕获到数据库发生变更时采集并向所述服务器上报所述第一数据集,所述第一数据集至少包括所述数据库中发生变更的数据;
在所述终端包括所述接口组件时,所述终端通过调用所述接口组件中的所述数据查询接口进行数据查询,并将查询到的数据作为所述第一数据集上报至所述服务器。
11.一种数据采集装置,其特征在于,应用于服务器,所述服务器接入有至少一个终端,所述终端支持至少两种数据接入方式,所述装置包括:
接入模块,用于接收所述终端通过第一数据接入方式采集并上报的第一数据集;
校验模块,用于对所述第一数据集进行完整性校验;
所述接入模块,还用于在确定所述第一数据集未通过所述完整性校验时,控制所述终端通过第二数据接入方式采集并上报第二数据集,所述第二数据接入方式与所述第一数据接入方式不同。
12.一种服务器,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的数据采集程序,以实现权利要求1~7中任一项所述的数据采集方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110622833.1A CN113268499A (zh) | 2021-06-03 | 2021-06-03 | 数据采集方法、装置、数据采集***及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110622833.1A CN113268499A (zh) | 2021-06-03 | 2021-06-03 | 数据采集方法、装置、数据采集***及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268499A true CN113268499A (zh) | 2021-08-17 |
Family
ID=77234400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110622833.1A Pending CN113268499A (zh) | 2021-06-03 | 2021-06-03 | 数据采集方法、装置、数据采集***及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268499A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150641A (zh) * | 2017-06-15 | 2019-01-04 | 北京国双科技有限公司 | 一种数据采集、查询方法、装置、存储介质及处理器 |
WO2020024375A1 (zh) * | 2018-08-01 | 2020-02-06 | 平安科技(深圳)有限公司 | 一种数据传输管理的方法及装置 |
CN111240936A (zh) * | 2020-01-13 | 2020-06-05 | 北京点众科技股份有限公司 | 一种数据完整性校验的方法及设备 |
CN111241850A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 提供业务模型的方法及装置 |
-
2021
- 2021-06-03 CN CN202110622833.1A patent/CN113268499A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150641A (zh) * | 2017-06-15 | 2019-01-04 | 北京国双科技有限公司 | 一种数据采集、查询方法、装置、存储介质及处理器 |
WO2020024375A1 (zh) * | 2018-08-01 | 2020-02-06 | 平安科技(深圳)有限公司 | 一种数据传输管理的方法及装置 |
CN111240936A (zh) * | 2020-01-13 | 2020-06-05 | 北京点众科技股份有限公司 | 一种数据完整性校验的方法及设备 |
CN111241850A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 提供业务模型的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241711B (zh) | 基于预测模型的用户行为识别方法及装置 | |
CN110457195B (zh) | 客户端本地日志的获取方法、装置、服务器及存储介质 | |
WO2021174694A1 (zh) | 基于数据中心的运维监控方法、装置、设备及存储介质 | |
CN110912738B (zh) | 一种业务异常的处理方法、装置、平台及电子设备 | |
CN107222331B (zh) | 分布式应用***性能的监控方法、装置、存储介质及设备 | |
CN112182295B (zh) | 基于行为预测的业务处理方法、装置及电子设备 | |
EP4148618A1 (en) | Recognition method and device, security system, and storage medium | |
CN111198797A (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN114637884B (zh) | 一种电像计算时空轨迹与道路网的匹配方法、装置及设备 | |
CN113888024A (zh) | 操作监控方法、装置、电子设备及存储介质 | |
CN117670033A (zh) | 一种安全检查方法、***、电子设备及存储介质 | |
CN110704614B (zh) | 对应用中的用户群类型进行预测的信息处理方法及装置 | |
CN111784176A (zh) | 一种数据处理方法、装置、服务器及介质 | |
CN113268499A (zh) | 数据采集方法、装置、数据采集***及服务器 | |
CN111624635A (zh) | 一种移动终端的定位方法、***、服务器和存储介质 | |
CN116610503A (zh) | 部件检测方法及装置 | |
CN113656391A (zh) | 数据检测方法及装置、存储介质及电子设备 | |
CN105786865B (zh) | 一种检索***故障分析方法及装置 | |
CN108846634B (zh) | 一种案件自动授权方法及*** | |
CN112950438A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN113379285A (zh) | 建筑环境监测方法、装置、设备、存储介质及程序产品 | |
CN113190458A (zh) | 自动埋点数据分析的方法、装置、计算机设备和存储介质 | |
CN112527606A (zh) | 数据流程分析方法、装置、计算机设备及存储介质 | |
KR20170131007A (ko) | 데이터 분산 서비스 기반의 실시간 통신 감시 시스템 | |
CN112508207A (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 |