一种分布式数据的获取方法及系统技术方案

技术编号:17561483 阅读:25 留言:0更新日期:2018-03-28 12:04
本发明专利技术提供了一种分布式数据的获取方法及系统,其方法包括:S10创建守护进程;S20所述守护进程监听是否有原始数据的信息推送;S30若未监听到有所述原始数据的信息推送,所述守护进程继续保持监听状态;S40若监听到有所述原始数据的信息推送,根据所述原始数据的主题类型创建多个子进程,所述守护进程将所述原始数据分配给相应的子进程;S50所述子进程从所述原始数据中获取分布式数据。本发明专利技术使分布式数据获取更为便捷、高效,成功率更高。

A method and system for obtaining distributed data

The present invention provides a method and a system for acquiring distributed data, the method comprises: creating S10 daemon; the S20 daemon to monitor whether the original data information push; S30 if not listening to the original data of the information push, the daemon to keep monitoring state; if the monitor S40 to hear the original data information push, the original data type to create multiple sub processes according to the theme, the daemon sends the original data assigned to the corresponding sub process; S50 the sub process to obtain the distributed data from the original data. The invention makes the distributed data acquisition more convenient, efficient and more successful.

【技术实现步骤摘要】
一种分布式数据的获取方法及系统
本专利技术涉及数据采集领域,尤指一种分布式数据的获取方法及系统。
技术介绍
分布式数据有很多种类,其实kafka集群中的数据就是其中的一种。kafka全称是ApacheKafka,最初是由Linkedin公司开发并开源的一种分布式消息系统,因为其分布式及高吞吐率而被广泛使用。它可以处理网站中所有的动作流数据,这种动作(例如搜索、浏览)是现代网络中的许多社会功能的关键因素。Kafka中涉及几个概念,生产者、消费者、broker、topic等。生产者即为生产数据的一方,英文为producer;消费者就是使用数据的一方,英文consumer;Broker即为kafka集群的节点,每个kafka集群由多个broker组成,这些broker相互关联,共同对外提供服务;Topic即为业务数据类型,比如路由器的心跳数据等。当前分布式数据的获取方法一般是基于swoole来获取分布式数据;但是需要引入第三方插件swoole,使用比较麻烦,需要考虑兼容性问题,并且不方便对程序进行调试,也不方便完善错误程序。目前使用php作为kafka消费者从kafka获取数据的方式都较为简单,采用的都是单一进程的方式,经常出现获取数据失败的情况,出现错误查找困难,获取数据的速度慢、获取的数据量小等问题。因此,需要提供一种更为便捷、高效、数据获取成功率更高的分布式数据的获取方式。
技术实现思路
本专利技术的目的是提供一种分布式数据的获取方法及系统,提高了系统的兼容性,使分布式数据获取更为便捷、高效,成功率更高。本专利技术提供的技术方案如下:本专利技术提供了一种分布式数据的获取方法,包括步骤:S10创建守护进程;S20所述守护进程监听是否有原始数据的信息推送;S30若未监听到有所述原始数据的信息推送,所述守护进程继续保持监听状态;S40若监听到有所述原始数据的信息推送,根据所述原始数据的主题类型创建多个子进程,所述守护进程将所述原始数据分配给相应的子进程;S50所述子进程从所述原始数据中获取分布式数据。优选的,步骤S50之后包括:S60所述守护进程读取预先设定在配置文件中的重启时间;S61所述守护进程根据读取到的重启时间,对所述子进程进行定时;S62当所述子进程的运行时间达到所述重启时间时,所述守护进程重新启动所述子进程。优选的,步骤S50之后还包括:S70所述守护进程记录所述守护进程和所述子进程的工作日志;S71所述守护进程根据预先获取的所述原始数据,以及所述工作日志,同步所述守护进程和所述子进程的工作数据。优选的,步骤S10中创建所述守护进程具体包括:S101清除文件掩码;S102创建一个进程;S103对所述进程进行处理,使所述进程脱离终端控制,成为所述守护进程。优选的,步骤S50具体包括:S501所述子进程根据所述原始数据的业务类型,创建任务线程;S502所述任务线程从所述原始数据中获取所述分布式数据。本专利技术还提供了一种分布式数据的获取系统,包括:守护进程创建模块,用于创建守护进程;监听模块,所述进程创建模块电连接,用于通过守护进程监听是否有原始数据的信息推送;所述监听模块还用于若未监听到有所述原始数据的信息推送,通过所述守护进程继续保持监听状态;子进程创建模块,用于若监听到有所述原始数据的信息推送,根据所述原始数据的主题类型创建多个子进程;分配模块,与所述进程创建模块电连接,用于通过所述守护进程将所述原始数据分配给相应的子进程;数据获取模块,与所述监听模块、进程创建模块电连接,用于通过所述子进程从所述原始分布式数据中获取分布式数据。优选的,还包括:读取模块,用于通过所述守护进程读取预先设定在配置文件中的重启时间;定时模块,与所述读取模块电连接,用于通过所述守护进程根据读取到的重启时间,对所述子进程进行定时;重启控制模块,与所述定时模块电连接,当所述子进程的运行时间达到所述重启时间时,通过所述守护进程重新启动所述子进程。优选的,还包括:日志记录模块,用于通过所述守护进程记录所述守护进程和所述子进程的工作日志;数据同步模块,用于通过所述守护进程根据预先获取的所述原始数据,以及所述工作日志,同步所述守护进程和所述子进程的工作数据。优选的,所述守护进程创建模块还包括:处理子模块,用于清除文件掩码;创建子模块,用于创建一个进程;所述处理子模块还用于对所述进程进行处理,使所述进程脱离终端控制,成为所述守护进程。优选的,所述数据获取模块包括:线程创建子模块,所述子进程根据接收到的所述任务,创建任务线程;数据获取子模块,与所述线程创建子模块电连接,根据所述任务线程从所述原始数据中获取所述分布式数据。通过本专利技术提供的一种分布式数据的获取方法及系统,能够带来以下至少一种有益效果:1、通过直接用原生代码编写守护进程以及子进程来获取分布式数据信息,无需引入第三方插件,使得系统的兼容性更强。2、使用原生代码编写各个进程,使得系统出现错误时,更容易查找错误,系统的调试也更加方便。3、可以根据分布式数据的类型创建多个子进程,分配不同的数据获取任务给不同的子进程,采用多进程的方式,有效提高了数据获取的效率,以及数据获取的成功率。4、定时重启子进程,避免子进程长时间运行而假死,提高了系统资源的利用率。5、守护进程能够脱离终端的控制,不用第三方插件来启用守护进程,在终端开启之后会持续在后台运行,保持工作状态。6、子进程根据原始数据不同的业务类型,创建不同的任务线程来获取分布式数据,使获取到的数据更为精确,获取数据的效率更高。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种分布式数据的获取方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术一种分布式数据的获取方法的一个实施例的流程图;图2是本专利技术一种分布式数据的获取方法的另一个实施例的流程图;图3是本专利技术一种分布式数据的获取方法的另一个实施例的流程图;图4是本专利技术一种分布式数据的获取系统的另一个实施例的结构示意图;图5是本专利技术一种分布式数据的获取系统的另一个实施例的结构示意图。附图标号说明:1-守护进程创建模块、11-处理子模块、12-创建子模块、2-监听模块、3-子进程创建模块、4-分配模块、5-数据获取模块、51-线程创建子模块、52-数据获取子模块。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本专利技术相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。如图1所示,本专利技术一种分布式数据的获取方法的一个实施例,包括:S10创建守护进程;S20所述守护进程监听是否有原始数据的信息推送;S30若未监听到有所述原始数据的信息推送,所述守护进程继续保持监听状态;S40若监听到有所述原始数据的信息推送,根据所述原始数据创建子进程本文档来自技高网...
一种分布式数据的获取方法及系统

【技术保护点】
一种分布式数据的获取方法,其特征在于,包括步骤:S10创建守护进程;S20所述守护进程监听是否有原始数据的信息推送;S30若未监听到有所述原始数据的信息推送,所述守护进程继续保持监听状态;S40若监听到有所述原始数据的信息推送,根据所述原始数据的主题类型创建多个子进程,所述守护进程将所述原始数据分配给相应的子进程;S50所述子进程从所述原始数据中获取分布式数据。

【技术特征摘要】
1.一种分布式数据的获取方法,其特征在于,包括步骤:S10创建守护进程;S20所述守护进程监听是否有原始数据的信息推送;S30若未监听到有所述原始数据的信息推送,所述守护进程继续保持监听状态;S40若监听到有所述原始数据的信息推送,根据所述原始数据的主题类型创建多个子进程,所述守护进程将所述原始数据分配给相应的子进程;S50所述子进程从所述原始数据中获取分布式数据。2.如权利要求1所述的一种分布式数据的获取方法,其特征在于,步骤S50之后包括:S60所述守护进程读取预先设定在配置文件中的重启时间;S61所述守护进程根据读取到的重启时间,对所述子进程进行定时;S62当所述子进程的运行时间达到所述重启时间时,所述守护进程重新启动所述子进程。3.如权利要求1所述的一种分布式数据的获取方法,其特征在于,步骤S50之后还包括:S70所述守护进程记录所述守护进程和所述子进程的工作日志;S71所述守护进程根据预先获取的所述原始数据,以及所述工作日志,同步所述守护进程和所述子进程的工作数据。4.如权利要求1所述的一种分布式数据的获取方法,其特征在于,步骤S10中创建所述守护进程具体包括:S101清除文件掩码;S102创建一个进程;S103对所述进程进行处理,使所述进程脱离终端控制,成为所述守护进程。5.如权利要求1~4中任一项所述的一种分布式数据的获取方法,其特征在于,步骤S50具体包括:S501所述子进程根据所述原始数据的业务类型,创建任务线程;S502所述任务线程从所述原始数据中获取所述分布式数据。6.一种分布式数据的获取系统,其特征在于,包括:守护进程创建模块,用于创建守护进程;监听模块,所述进程创建模块电连接,用于通过守护进程监听是否有原始数据的信息推送...

【专利技术属性】
技术研发人员:陈云龙
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1