数据采集方法、数据采集平台、客户端及业务服务器与流程

文档序号:15347558发布日期:2018-09-04 22:56阅读:306来源:国知局

本发明属于软件开发技术领域,尤其涉及一种数据采集方法、数据采集平台、客户端及业务服务器。



背景技术:

计算机信息化系统中的数据分为结构化数据和非结构化数据。结构化数据的格式和排列形式是较有规律的,一般包含两种形式,其一是指可以使用关系型数据库表示和存储的二维形式的数据;其二是指虽不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,以用来分隔语义元素以及对记录和字段进行分层的数据(也被称为半结构化数据)。相比之下,非结构化数据的格式非常多样,标准也是多样性的,而且在技术上非结构化信息比结构化信息更难标准化和理解,是不方便用数据库、二维逻辑表来表现的数据;具体而言,非结构化数据包括一些格式的办公文档、图片、音频和视频信息等等。

为了实现对用户数据的收集,目前相关技术提出了一些解决方案,例如有基于开源的技术如apacheflume和apachesqoop所实现的数据采集方案;也还有商家(如阿里云)所提供的一些数据集成方案。

但是,本申请的发明人在实践本申请的过程中发现目前相关技术至少存在以下缺陷:一方面,目前的数据采集方案一般都是针对结构化数据的收集,且是以主动式的数据收集方式所实施的,都无法实现被动式的数据收集方案;另一方面,由于非结构化数据对客户端和协议的统一性要求高、数据量大,导致目前相关技术也难以实现对非结构化数据的有效收集。



技术实现要素:

本发明实施例提供一种数据采集方法、数据采集平台、客户端及业务服务器,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种数据采集方法,应用于数据采集平台,所述方法包括:基于主动数据采集服务,采集业务服务器中的结构化数据和对应于所述结构化数据的第一日志信息;基于被动数据采集服务,接收客户端所发送的与所述结构化数据相关的非结构化数据和对应于所述非结构化数据的第二日志信息,其中所述第一日志信息与所述第二日志信息相互关联;基于所述第一日志信息和所述第二日志信息,关联存储所述结构化数据和所述非结构化数据。

第二方面,本发明实施例提供一种数据采集方法,应用于客户端,所述方法包括:获取非结构化数据和对应于所述非结构化数据的第二日志信息;为所述第二日志信息分配唯一的关联id;发送所述关联id至用于管理所述客户端的业务服务器,以使得所述业务服务器能够基于所述关联id关联所述第二日志信息和对应于结构化数据的第一日志信息,其中所述结构化数据与所述非结构数据相关;基于被动数据采集服务,发送所述非结构化数据和具有所述关联id的所述第二日志信息至数据采集平台。

第三方面,本发明实施例提供一种数据采集方法,应用于业务服务器,所述方法包括:从客户端接收已被分配至第二日志信息的关联id,其中所述第二日志信息对应于非结构化数据;获取与所述非结构化数据相关的结构化数据和对应于所述结构化数据的第一日志信息;为所述第一日志信息分配所述关联id,以关联所述第一日志信息与所述第二日志信息;其中,所述结构化数据和具有所述关联id的所述第一日志信息,用于基于主动数据采集服务而被数据采集平台主动采集。

第四方面,本发明实施例提供一种数据采集平台,包括:主动采集程序模块,用于基于主动数据采集服务,采集业务服务器中的结构化数据和对应于所述结构化数据的第一日志信息;被动采集程序模块,用于基于被动数据采集服务,接收客户端所发送的与所述结构化数据相关的非结构化数据和对应于所述非结构化数据的第二日志信息,其中所述第一日志信息与所述第二日志信息相互关联;关联存储程序模块,用于基于所述第一日志信息和所述第二日志信息,关联存储所述结构化数据和所述非结构化数据。

第五方面,本发明实施例提供一种客户端,包括:信息获取程序模块,用于获取非结构化数据和对应于所述非结构化数据的第二日志信息;关联id分配程序模块,用于为所述第二日志信息分配唯一的关联id;关联id发送程序模块,用于发送所述关联id至用于管理所述客户端的业务服务器,以使得所述业务服务器能够基于所述关联id关联所述第二日志信息和对应于结构化数据的第一日志信息,其中所述结构化数据与所述非结构数据相关;被动服务响应程序模块,用于基于被动数据采集服务,发送所述非结构化数据和具有所述关联id的所述第二日志信息至数据采集平台。

第六方面,本发明实施例提供一种业务服务器,包括:关联id接收程序模块,用于从客户端接收已被分配至第二日志信息的关联id,其中所述第二日志信息对应于非结构化数据;信息获取程序模块,用于获取与所述非结构化数据相关的结构化数据和对应于所述结构化数据的第一日志信息;关联id分配程序模块,为所述第一日志信息分配所述关联id,以关联所述第一日志信息与所述第二日志信息;其中,所述结构化数据和具有所述关联id的所述第一日志信息,用于基于主动数据采集服务而被数据采集平台主动采集。

第七方面,本发明实施例提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法的步骤。

第八方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明实施例的有益效果在于:其一,基于数据的日志信息的关联性,关联存储在业务服务器端的结构化数据及与该结构化数据相关的在客户端的非结构化数据,实现了对非结构化数据和结构化数据两类数据的关联存储,并提供了一种对非结构化数据的被动收集方案,使得所收集的数据可以进行统一存储,并可以方便后期的分析、挖掘等工作;其二,通过实施了主动数据采集服务和被动数据采集服务的混合数据收集方案,相比于单纯的主动数据采集方案,提高了数据的传输效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的应用于数据采集平台的数据采集方法的一实施例的流程图;

图2为本发明实施例中的应用于客户端的数据采集方法的一实施例的流程图;

图3为本发明实施例中的应用于业务服务器的数据采集方法的一实施例流程图;

图4为本发明实施例中的应用数据采集方法的架构的一实施例的框架示意图;

图5为图4所示的本发明实施例的架构的工作原理流程图;

图6为本发明实施例的数据采集平台的一实施例的结构框图;

图7为本发明实施例的客户端的一实施例的结构框图;

图8为本发明实施例的业务服务器的一实施例的结构框图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

如图1所示,本发明的一实施例的应用于数据采集平台的数据采集方法,包括:

s11、基于主动数据采集服务,采集业务服务器中的结构化数据和对应于结构化数据的第一日志信息;

具体地,关于结构化数据的定义,其可以包含使用关系型数据库表示和存储的二维形式的数据、以及半结构化数据,例如可以部分参照背景技术的说明,在此不加以赘述。另外,基于主动数据采集服务,业务平台可以从作为被动数据源的业务服务器采集业务服务器端(例如业务服务器的数据库)所存储的结构化数据。在本实施例中所提及的术语“数据”与“日志”的说明可以参照目前业界的相关定义和说明,以及关于数据与日志之间的关系,可以理解的是,数据是存储在数据库中的,存储在数据库中的针对数据的更新、插入等都可以在日志信息中作出相应的记载或备份。

s12、基于被动数据采集服务,接收客户端所发送的与结构化数据相关的非结构化数据和对应于非结构化数据的第二日志信息,其中第一日志信息与第二日志信息相互关联;

具体地,非结构化数据例如可以是语音数据、图片、视频数据等。其中,关于非结构化数据和结构化数据之间的相关性的说明,作为示例,在业务服务器所运营的业务服务(例如基于特定app的服务)中,用户通过客户端对该业务服务输入语音数据,相应地在业务服务器端就会产生针对该语音数据的结构化数据。其中,关于第一日志信息与第二日志信息之间的关联是如何实现的,需说明的是,其例如可以是通过在客户端和业务服务器端针对关联的日志信息维护相同或相应的具有唯一性的关联id,通过对该相同的关联id的识别,就可以实现对关联日志信息以及关联数据的识别,以上基于关联id的实施方式仅用作示例,不能作为对本发明实施例的限定。

s13、基于第一日志信息和第二日志信息,关联存储结构化数据和非结构化数据。

需继续强调的是,如果数据采集平台想要实现对非结构化数据的收集,就需要解决非结构化数据与结构化数据之间如何关联的问题,而这一问题也是目前业界所致力研究的。相应地,在本实施例中,由于相关的结构化数据和非结构化数据之间的日志信息是相互关联的,以此通过对该相互关联的日志信息的收集,并基于该所收集的相互关联的日志信息就能够实现对结构化数据和非结构化数据的关联及统一存储。并且,在本实施例中,通过主动数据采集服务和被动数据采集服务的混合实施、双管齐下,提高了数据收集的效率。

作为本发明实施例的进一步的公开和优化,结构化数据和非结构化数据是在数据采集平台的数据库单元中存储的,以及在将所收集的数据发送到数据库单元之前,对数据、尤其是非结构化数据进行数据压缩,并将经过压缩的该非结构化数据和结构化数据发送至数据库单元进行存储,实现了数据采集平台对大存储量的非结构化数据(例如语音数据)的主动压缩,由此进一步提高了数据传输和收集的效率,也解决了目前相关技术中因语音数据等非结构化数据的数据量大所导致的非结构化数据难以收集的问题。

如图2所示,本发明的一实施例的应用于客户端的数据采集方法,包括:

s21、获取非结构化数据和对应于非结构化数据的第二日志信息;

其中,关于非结构化数据和该第二日志信息的相应性的描述,可以参照图1所示实施例的描述,在此便不再赘述。

s22、为第二日志信息分配唯一的关联id;

具体地,作为示例,可以是在客户端配置有关联id生成器,以及基于该id生成器为非结构化数据的日志信息分配关联id。

s23、发送关联id至用于管理客户端的业务服务器,以使得业务服务器能够基于关联id关联第二日志信息和对应于结构化数据的第一日志信息,其中结构化数据与非结构数据相关;

具体地,关于结构化数据与非结构数据相关性的描述,可以参照图1所示实施例的描述,在此便不再赘述。以及,关于业务服务器如何基于关联id来关联结构数据和非结构数据的日志信息,其可以是将该所接收的关联id直接分配给结构数据所对应的日志信息以完成关联;也可以是在业务服务器端也配置有关联id生成器,使得业务服务器基于该所接收的关联id为结构数据分配相同或相应的关联id等等,且以上实施方式的描述仅为示例,不用作限制本发明的保护范围。

s24、基于被动数据采集服务,发送非结构化数据和具有关联id的第二日志信息至数据采集平台。

更具体地,作为主动数据源的客户端可以将非结构化数据和具有关联id的第二日志信息主动上传至数据采集平台,以使得数据采集平台能够被动收集客户端的语音数据、图片数据等。可以理解的是,基于被动数据采集服务所采集的数据,相对于基于主动数据采集服务所得到的数据能够更加贴近用户的内心真意表达,对于后期的数据分析和数据挖掘,有更高的参考价值。以及,需说明的是,在本实施例中的非结构化数据可以是基于某一终端应用(例如app应用)的数据,还可以是基于客户端的浏览器所产生的数据等。通过本实施例的实施,实现了数据采集平台对客户端非结构化数据的被动采集,为主动数据源的被动采集提供了一种新的策略。

如图3所示,本发明的一实施例的应用于业务服务器的数据采集方法,包括:

s31、从客户端接收已被分配至第二日志信息的关联id,其中第二日志信息对应于非结构化数据;

s32、获取与非结构化数据相关的结构化数据和对应于结构化数据的第一日志信息;

s33、基于该关联id,关联第一日志信息与第二日志信息;其中,结构化数据和具有关联id的第一日志信息,用于基于主动数据采集服务而被数据采集平台主动采集。

具体地,可以是在业务服务器直接将所接收的关联id直接分配至结构化数据的日志信息;其还可以是业务服务器中设置有关联id生成器,当接收到对应于特定的关联id的触发信号时,基于该触发信号使能该关联id生成器以生成相同的或相应的关联id,并将该所生成的关联id分配至结构数据的日志信息,且以上实施方式都在本发明的保护范围内。

通过本实施例,关联主动数据和被动数据,将有关联性的结构化数据的日志信息和非结构化数据的日志信息通过关联id关联在一起,为实现非结构化数据和结构化数据之间的关联存储提供了一种新的策略。

如图4所示,本发明的一实施例的应用数据采集方法的架构的框架示意图,包括数据采集平台401、业务服务器402和客户端403,其中数据采集平台401包含数据库单元4013、databus集群4011和logbus集群4012,业务服务器402包含数据库4021和关联id生成器4022,客户端403包含终端应用4031和关联id生成器4032,其中终端应用4031可以是由业务服务器402所运营的应用,也可以是其他应用(例如浏览器应用等)。

更具体地,参见图5示出了图4中的架构的工作原理流程图,包括:

s51:客户端生成非结构化数据和相应的第二日志信息;

其中,该非结构化数据和第二日志信息例如可以来自于终端应用4031等。

s52:业务服务器生成针对该非结构化数据的结构化数据及相应的第一日志信息;

s53:客户端的关联id生成器为第二日志信息生成关联id,并将该关联id上传至业务服务器;

s54:业务服务器利用所具有的关联id生成器,并根据所接收的关联id生成相应的关联id,并将该所生成的关联id分配至第一日志信息;

s55:客户端主动上传具有关联id的第二日志信息和非结构化数据至logbus集群;

其中,客户端可以是设置有埋点,然后集群与客户端之间可以是通过基于埋点技术来实现对非结构化数据的被动收集。

s56:databus集群主动采集业务服务器的结构化数据和具有关联id的第一日志信息;

s57:logbus集群压缩所接收的非结构化数据,并将经压缩的非结构化数据和具有关联id的第二日志信息上传至数据库单元,以及databus集群上传结构化数据及具有关联id的第一日志信息上传至数据库单元;

s58:数据库单元对所接收的结构化数据和非结构化数据进行关联存储。

在本实施例中,由于采用了具有不同数据采集服务的服务器集群来实现对不同类型的数据源的数据的收集,使得在新数据源服务需要上线的时候,可以根据新数据源的类型,通过框架加插件的形式,例如增添相应类型的集群等,使得新数据源的接入开发周期得到的大大的缩短,提高了新服务上线的效率。

在该系统架构的结构分布上,主要分为三层,最底层是基于业务服务器402和客户端403的数据源,中间层是基于数据采集服务的databus集群4011和logbus集群4012,最高层是用于对数据进行统一存储的数据库单元4013。位于中间层的databus集群4011是基于主动采集服务的,以对被动数据源(例如数据库4021中的结构化数据)进行采集;以及,位于中间层的logbus集群4012是基于被动采集服务的,以为主动数据源进行数据采集服务,该主动数据源例如可以是终端应用4031所生成的非结构化数据(例如语音数据)及与之相应的日志信息。需说明的是,为了实现业务服务器402和客户端403所上传的数据的相互关联性,本实施例中通过分别在业务服务器402和客户端403分别设置相对应的关联id生成器4022和4032,以在非结构化数据生成时,其所对应的日志信息以及针对该非结构化数据的结构数据的日志信息都会被附加上相同或相应的关联id,以实现对日志信息的关联,也为结构化数据和非结构化数据之间的关联提供了一种新的策略。优选地,作为示例,在logbus集群4012收集到语音数据时,可以主动压缩该语音数据,并将经主动压缩的该语音数据上传至数据库单元4013,由此提高了数据传输性能,加快了数据传输效率。更优选地,作为示例,业务服务器402可以是配置有微服务架构,实现了针对业务的可配置化管理(例如添加或删除某一微服务),相应地,采集集群402和403可以更方便地使用框架加插件式架构的更新来提高采集系统的可扩展能力,使得新接入的数据源的能够更有效率、方便地被收集到。最高层的数据库单元4013是一个统一的数据存储层,用于对结构化数据和非结构化数据进行统一的数据存储。

需说明的是,关于基于主动采集服务的集群4011和基于被动采集服务的集群4012,由于二者对于数据大小、生成频率、采集频率都存在区别,所以本实施例还提出可以基于预定周期来对所采集的结构化数据和非结构化数据按照统一的逻辑视图进行一致化处理,且处于上述采集服务的差异化表现,该预定周期优选为以天为单位(例如1天),以在后期对该统一存储的结构化数据和非结构化数据,并实现可以基于统一的逻辑视图访问数据,提高了后期数据分析及挖掘的效率和体验。

本申请的发明人应用图4所示的实施例的技术方案对现有技术中的数据采集架构作出了改进,对所取得的效果进行了相应的测试,经过多次实验及测试得到以下量化的数据:其一。通过对数据的主动压缩方法,语音数据上传速度提高了30%,结构化数据上传提高了50%,数据的平均占用空间减少了20%;其二,通过数据采集的混合方案实施,数据实施接入从原来的2-3天缩减到一天左右,效率提高了2-3倍左右;其三。针对业务服务器中的微服务架构,在新数据源接入开发时,可以通过对各采集服务使用框架加插件的方式作出相应的调整,大大缩减了新数据源的接入开发时间,从原来的一周左右的时间缩减到了2-3天,效率提高了1倍。

如图6所示,本发明实施例还提供一种数据采集平台600,包括:

主动采集程序模块610,用于基于主动数据采集服务,采集业务服务器中的结构化数据和对应于结构化数据的第一日志信息;

被动采集程序模块620,用于基于被动数据采集服务,接收客户端所发送的与结构化数据相关的非结构化数据和对应于非结构化数据的第二日志信息,其中第一日志信息与第二日志信息相互关联;

关联存储程序模块630,用于基于第一日志信息和第二日志信息,关联存储结构化数据和非结构化数据。

在一些实施例中,数据采集平台600还包括:主动压缩程序模块,用于主动压缩所接收到的所述非结构化数据;存储执行程序模块,用于关联并存储所述结构化数据和经压缩的所述非结构化数据。

在一些实施例中,主动采集程序模块610包含基于主动数据采集服务的第一集群,以及被动采集程序模块620包含基于被动数据采集服务的第二集群。

在一些实施例中,数据采集平台600还包括:逻辑视图一致程序模块,用于基于预定周期,对所关联存储的所述结构化数据和所述非结构化数据按照统一的逻辑视图进行一致。

如图7所示,本发明实施例提供一种客户端700,包括:

信息获取程序模块710,用于获取非结构化数据和对应于非结构化数据的第二日志信息;

关联id分配程序模块720,用于为第二日志信息分配唯一的关联id;

关联id发送程序模块730,用于发送关联id至用于管理客户端的业务服务器,以使得业务服务器能够基于关联id关联第二日志信息和对应于结构化数据的第一日志信息,其中结构化数据与非结构数据相关;

被动服务响应程序模块740,用于基于被动数据采集服务,发送非结构化数据和具有关联id的第二日志信息至数据采集平台。

在一些实施例中,客户端配置有数据埋点。

如图8所示,本发明实施例提供一种业务服务器800,包括:

关联id接收程序模块810,用于从客户端接收已被分配至第二日志信息的关联id,其中第二日志信息对应于非结构化数据;

信息获取程序模块820,用于获取与非结构化数据相关的结构化数据和对应于结构化数据的第一日志信息;

关联id分配程序模块830,为第一日志信息分配关联id,以关联第一日志信息与第二日志信息;其中,结构化数据和具有关联id的第一日志信息,用于基于主动数据采集服务而被数据采集平台主动采集。

在一些实施例中,业务服务器配置有微服务架构。

上述本发明实施例的系统及服务器可用于执行本发明中相应的方法实施例,并相应的达到上述本发明方法实施例所达到的技术效果,这里不再赘述。

本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

另一方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行如上在客户端、业务服务器及数据采集平台任意一端所执行的数据采集方法的步骤。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的客户端以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)其他具有数据交互功能的电子装置。

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

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

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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