CN105335362A - 实时数据的处理方法及***、即时处理*** - Google Patents
实时数据的处理方法及***、即时处理*** Download PDFInfo
- Publication number
- CN105335362A CN105335362A CN201410229319.1A CN201410229319A CN105335362A CN 105335362 A CN105335362 A CN 105335362A CN 201410229319 A CN201410229319 A CN 201410229319A CN 105335362 A CN105335362 A CN 105335362A
- Authority
- CN
- China
- Prior art keywords
- node
- real time
- treating
- disposal system
- time data
- 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.)
- Granted
Links
Landscapes
- Processing Of Solid Wastes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种实时数据的处理方法及***、即时处理***。本申请实施例通过合并节点获得实时处理***发送的实时数据,进而根据分发策略,在所述至少一个本地节点中,或者合并节点和所述至少一个本地节点中,确定一个节点,以作为处理节点,使得处理节点能够将所述实时数据写入所述即时处理***中,从而实现了即时处理***能够针对实时数据进行灵活计算或者查询。
Description
【技术领域】
本申请涉及数据处理技术,尤其涉及一种实时数据的处理方法及***、即时处理***。
【背景技术】
即时处理***,可以针对离线数据进行灵活计算或者查询即无法预知规则的计算。例如,计算会员中诚信通会员和非诚信通会员的男女比例,或者,再例如,计算会员中诚信通会员和非诚信通会员的交易勋章比例,或者,再例如,计算会员中诚信通会员和非诚信通会员的实地认证比例等。
然而,现有的即时处理***无法针对实时数据进行灵活计算或者查询。
【发明内容】
本申请的多个方面提供一种实时数据的处理方法及***、即时处理***,用以实现即时处理***能够针对实时数据进行灵活计算或者查询,特别可以适用于对海量实时数据的计算或者查询。
本申请的一方面,提供一种实时数据的处理方法,应用于即时处理***中,所述即时处理***包括合并节点和至少一个本地节点,所述方法包括:
所述合并节点获得实时处理***发送的实时数据;
所述合并节点根据分发策略,确定一个节点作为处理节点,用以将所述实时数据写入所述即时处理***中;其中,
所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述合并节点根据分发策略,确定一个节点,以作为处理节点之后,还包括:
所述处理节点将所述实时数据写入所述即时处理***中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点将所述实时数据写入所述即时处理***中,包括:
所述处理节点创建所述实时数据的全文索引文件;
所述处理节点将所述全文索引文件写入所述即时处理***中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点将所述全文索引文件写入所述即时处理***中,包括:
所述处理节点监控所述实时数据的状态条件;
若所述状态条件满足第一写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述状态条件满足第一写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中,包括:
若所述实时数据的接收时间达到第一最大可见时间,或者,所述实时数据的数量达到第一最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点将所述全文索引文件写入所述即时处理***中,还包括:
若所述状态条件满足第二写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的存储设备写入所述即时处理***的慢速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述状态条件满足第二写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备中,包括:
若所述实时数据的接收时间达到第二最大可见时间,或者,所述实时数据的数量达到第二最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点监控所述实时数据的状态条件之后,还包括:
若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,所述处理节点启动新的查询引擎,用以进行所述实时数据的即时查询。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点启动新的查询引擎,用以进行所述实时数据的即时查询之后,还包括:
所述合并节点接收数据查询请求,所述数据查询请求中包含查询条件;
所述合并节点将数据查询请求分发给所述至少一个本地节点;
所述至少一个本地节点中每个本地节点,或者所述至少一个本地节点中每个本地节点和所述合并节点,分别执行查询条件所对应的计算操作,以获得查询结果,并返回给所述合并节点;
所述合并节点将所述查询结果进行合并,以获得最终的查询结果。
本申请的另一方面,提供一种即时处理***,包括合并节点和至少一个本地节点,其中,
所述合并节点,用于获得实时处理***发送的实时数据;以及根据分发策略,确定一个处理节点;其中,所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点;
所述处理节点,用于将所述实时数据写入所述即时处理***中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述合并节点和所述至少一个本地节点形成分布式云架构。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,具体用于
创建所述实时数据的全文索引文件;
将所述全文索引文件写入所述即时处理***中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,具体用于
监控所述实时数据的状态条件;以及
若所述状态条件满足第一写入条件,将所述全文索引文件写入所述即时处理***的快速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,具体用于
若所述实时数据的接收时间达到第一最大可见时间,或者,所述实时数据的数量达到第一最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,具体用于
若所述状态条件满足第二写入条件,将所述全文索引文件写入所述即时处理***的存储设备写入所述即时处理***的慢速存储设备中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,具体用于
若所述实时数据的接收时间达到第二最大可见时间,或者,所述实时数据的数量达到第二最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理节点,还用于
若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,启动新的查询引擎,用以进行所述实时数据的即时查询。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述合并节点,还用于
接收数据查询请求,所述数据查询请求中包含查询条件;
将数据查询请求分发给所述至少一个本地节点,以使得所述至少一个本地节点中每个本地节点,或者所述至少一个本地节点中每个本地节点和所述合并节点,分别执行查询条件所对应的计算操作,以获得查询结果;
获得所述查询结果;
将所述查询结果进行合并,以获得最终的查询结果。
本申请的另一方面,提供一种实时数据的处理***,包括实时处理***和上述一方面所提供的即时处理***;其中,
所述实时处理***,用于向所述即时处理***发送所述实时数据。
由上述技术方案可知,本申请实施例通过合并节点获得实时处理***发送的实时数据,进而根据分发策略,在所述至少一个本地节点中,或者合并节点和所述至少一个本地节点中,确定一个节点,以作为处理节点,使得处理节点能够将所述实时数据写入所述即时处理***中,从而实现了即时处理***能够针对实时数据进行灵活计算或者查询。
另外,采用本申请提供的技术方案,由于即时处理***能够针对实时数据进行灵活计算或者查询,因此,能够有效提高实时数据即时查询的灵活性。
另外,采用本申请提供的技术方案,由于创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的实时数据的处理方法的流程示意图;
图2为本申请另一实施例提供的即时处理***的结构示意图;
图3为本申请另一实施例提供的实时数据的处理***的结构示意图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请一实施例提供的实时数据的处理方法的流程示意图,应用于即时处理***中,如图2所示,所述即时处理***包括合并节点和至少一个本地节点,如图1所示。
101、所述合并节点获得实时处理***发送的实时数据。
可选地,在本实施例的一个可能的实现方式中,所述合并节点所接收的实时数据可以为实时处理***所直接接收的实时数据源所产生的流数据(StreamingData),例如,网络监控***、金融分析***、交通流量预测***、万维网(WorldWideWeb,简称为Web)等应用***所产生的流数据,或者还可以为实时处理***对所接收的实时数据源所产生的流数据,按照固定规则进行计算,例如求和等,所获得的计算结果,本实施例对此不进行特别限定。
具体地,实时处理***可以通过调用即时处理***的数据更新应用程序接口(ApplicationProgrammingInterface,API),由即时处理***的请求处理组件接收所发送的数据写入请求,所述数据写入请求中包含实时数据。请求处理组件将所述数据写入请求发送给合并节点,由所述合并节点负责处理所述数据写入请求。
其中,所述合并节点可以是预先配置的一个固定节点,或者还可以是请求处理组件随机选择的一个本地节点,或者还可以是请求处理组件根据选举策略选择的一个本地节点,本实施例对此不进行特别限定。
102、所述合并节点根据分发策略,确定一个节点作为处理节点,用以将所述实时数据写入所述即时处理***中。
其中,所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点。
可选地,在本实施例的一个可能的实现方式中,如果所述合并节点是预先配置的一个固定节点,那么,在102中,所述合并节点则可以根据分发策略,从所述至少一个本地节点中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述至少一个本地节点中的一个本地节点。
可选地,在本实施例的一个可能的实现方式中,如果所述合并节点是请求处理组件随机选择的一个本地节点,或者是请求处理组件根据选举策略选择的一个本地节点,那么,在102中,所述合并节点则可以根据分发策略,从所述合并节点和所述至少一个本地节点中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述合并节点或所述至少一个本地节点中的一个本地节点。
具体地,所述分发策略可以包括但不限于哈希运算策略和轮询策略,本实施例对此不进行特别限定。
例如,所述合并节点可以对实时数据的标识信息(ID)进行哈希运算,确定一个对应的节点,以作为处理节点;或者,再例如,所述合并节点还可以采用轮询策略,顺次选择一个节点,以作为处理节点;本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在102之后,所述处理节点将所述实时数据写入所述即时处理***中。
具体地,合并节点可以将数据写入请求交付给处理节点。可以理解的是,如果所述合并节点是预先配置的一个固定节点,所述合并节点具体可以将数据写入请求转发给处理节点;如果所述合并节点是请求处理组件随机选择的一个本地节点,或者是请求处理组件根据选举策略选择的一个本地节点,所述合并节点具体可以不再转发,直接对数据写入请求进行后续操作。
接收到所述数据写入请求之后,所述处理节点具体可以创建所述实时数据的全文索引文件。然后,所述处理节点则可以将所述全文索引文件写入所述即时处理***中。具体地,创建全文索引文件方法的详细描述可以参见现有技术中的相关内容,此处不再赘述。
这样,由于处理节点创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
在此所谓的“实时处理”,又称流式处理即流程查询和计算,是指随时应用的运行随时进行处理。例如,大型售卖网站的双11活动中,会随时计算截止当前的交易额。在阿里巴巴,这个应用叫交易直播厅。数据流随着时间不断产生,每来一批数据流(其时间间隔可以根据应用设置为秒级、分钟级等),就计算一次。
在此所谓的“即时处理”是指在应用运行之后,很短时间内进行处理。例如,用户发出一次请求,很短时间内应用内部计算完成,然后返回结果。
所述处理节点创建完毕所述实时数据的全文索引文件之后,可以立即将所述全文索引文件写入所述即时处理***中,或者还可以不立即将所述全文索引文件写入所述即时处理***中,而是待所述实时数据满足一定条件之后,再将所述全文索引文件写入所述即时处理***中。这样,可以有效降低即时处理***的***开销。
例如,所述处理节点具体可以通过监控所述实时数据的状态条件,有选择性地执行将所述全文索引文件写入所述即时处理***中的操作。
例如,若所述状态条件满足第一写入条件,例如,所述实时数据的接收时间达到第一最大可见时间即maxTime1,或者,再例如,所述实时数据的数量达到第一最大文档数即maxDoc1等,所述处理节点则可以将所述全文索引文件写入所述即时处理***的快速存储设备,例如,内存中。其中,所述即时处理***的内存可以为电脑的内存,或者还可以为手机的运行内存即***内存,例如,随机存储器(RandomAccessMemory,RAM)等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为软提交操作。
或者,再例如,若所述状态条件满足第二写入条件,例如,所述实时数据的接收时间达到第二最大可见时间即maxTime2,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc2等,所述处理节点则可以将所述全文索引文件写入所述即时处理***的慢速存储设备,例如,硬盘,或者还可以为手机的非运行内存即物理内存,例如,只读存储器(Read-OnlyMemory,ROM)和内存卡等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为硬提交操作。
或者,再例如,若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,例如,所述第一写入条件可以为所述实时数据的接收时间达到第一最大可见时间即maxTime1,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc1等;例如,所述第二写入条件可以为所述实时数据的接收时间达到第一最大可见时间即maxTime2,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc2等,所述处理节点则可以进一步启动新的查询引擎,用以进行所述实时数据的即时查询。
可以理解的是,第一写入条件与第二写入条件没有任何关系,本实施例对此不进行特别限定。
至此,即时处理***能够实现将实时数据以全文索引文件的形式,写入即时处理***中,从而保证了实时数据的即时查询。
这样,应用***程序可以通过调用即时处理***的查询API,由即时处理***的请求处理组件接收所发送的数据查询请求,所述数据查询请求中包含查询条件。请求处理组件将所述数据查询请求发送给合并节点,由所述合并节点负责处理所述数据查询请求。
具体地,合并节点可以将数据查询请求分发给所述至少一个本地节点。可以理解的是,如果所述合并节点是预先配置的一个固定节点,所述合并节点具体可以将数据查询请求分发给所述至少一个本地节点,该合并节点不再对该数据查询请求执行后续操作;如果所述合并节点是请求处理组件随机选择的一个本地节点,或者是请求处理组件根据选举策略选择的一个本地节点,所述合并节点具体可以将数据查询请求分发给所述至少一个本地节点的同时,该合并节点继续对该数据查询请求执行后续操作。
接收到所述数据查询请求之后,所述至少一个本地节点中每个本地节点,或者所述至少一个本地节点中每个本地节点和所述合并节点,分别进行查询即执行查询条件所对应的计算操作,以获得查询结果,并返回给合并节点,进而由合并节点将查询结果进行合并,以获得最终的查询结果,并返回给应用***。
至此,即时处理***针对实时数据执行完毕一次灵活计算或者查询。
需要说明的是,本实施例中,所述合并节点和所述至少一个本地节点形成分布式云架构。具体可以通过配置管理中心例如,ZooKeeper等,进行集中式的信息配置与管理,能够实现自动容错和请求的自动负载均衡。例如,每个节点即合并节点和所述至少一个本地节点中每个本地节点,可以包括一个主用节点和至少一个备用节点。若主用节点出现故障不可用时,一个备用节点可以作为主用节点,继续提供服务,以实现自动容错。每个备用节点都可以根据均衡策略,有机会成为主用节点,提供服务,以实现请求的自动负载均衡。
随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着互联网的发展,数据呈***式增长,出现大量的实时数据,可以称之为海量实时数据。由于采用了由合并节点和至少一个本地节点所形成的分布式云架构,以及结合本发明提供的技术方案,能够很好地对这种海量实时数据进行即时查询或者计算。
本实施例中,通过合并节点获得实时处理***发送的实时数据,进而根据分发策略,在所述至少一个本地节点中,或者合并节点和所述至少一个本地节点中,确定一个节点,以作为处理节点,使得处理节点能够将所述实时数据写入所述即时处理***中,从而实现了即时处理***能够针对实时数据进行灵活计算或者查询。
另外,采用本申请提供的技术方案,由于即时处理***能够针对实时数据进行灵活计算或者查询,因此,能够有效提高实时数据即时查询的灵活性。
另外,采用本申请提供的技术方案,由于创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2为本申请另一实施例提供的即时处理***的结构示意图,如图2所示。本实施例的即时处理***可以包括合并节点21和至少一个本地节点221、222……22n。其中,n为大于或等于1的整数。该合并节点21和该本地节点221、222……22n通过有线或者无线的网络进行连接。合并节点21和至少一个本地节点221、222……22n,这些节点构成一个集群,该集群可以由1台或多台服务器构成,每个节点占用一部分集群的处理资源,也就是说,每个节点对应一台服务器,每台服务器上可以部署多个节点。
其中,
所述合并节点21,用于获得实时处理***发送的实时数据;以及根据分发策略,确定一个处理节点;其中,所述处理节点包括所述合并节点21或所述至少一个本地节点221、222……22n中的一个本地节点22i,i为大于0,且小于或等于n的整数。
所述处理节点,用于将所述实时数据写入所述即时处理***中。
可选地,在本实施例的一个可能的实现方式中,所述合并节点21所接收的实时数据可以为实时处理***所直接接收的实时数据源所产生的流数据(StreamingData),例如,网络监控***、金融分析***、交通流量预测***、Web等应用***所产生的流数据,或者还可以为实时处理***对所接收的实时数据源所产生的流数据,按照固定规则进行计算,例如求和等,所获得的计算结果,本实施例对此不进行特别限定。
具体地,实时处理***25可以通过调用即时处理***的数据更新应用程序接口(ApplicationProgrammingInterface,API)23,由即时处理***的请求处理组件接收所发送的数据写入请求,所述数据写入请求中包含实时数据。请求处理组件将所述数据写入请求发送给合并节点21,由所述合并节点21负责处理所述数据写入请求。
其中,所述合并节点21可以是预先配置的一个固定节点,或者还可以是请求处理组件随机选择的一个本地节点22j,j为大于0,且小于或等于n的整数,或者还可以是请求处理组件根据选举策略选择的一个本地节点22j,j为大于0,且小于或等于n的整数,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,如果所述合并节点21是预先配置的一个固定节点,那么,所述合并节点21则可以根据分发策略,从所述至少一个本地节点221、222……22n中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述至少一个本地节点221、222……22n中的一个本地节点22i,i为大于0,且小于或等于n的整数。
可选地,在本实施例的一个可能的实现方式中,如果所述合并节点21是请求处理组件随机选择的一个本地节点22j,或者是请求处理组件根据选举策略选择的一个本地节点22j,那么,所述合并节点21则可以根据分发策略,所述合并节点21根据分发策略,从所述合并节点21和所述至少一个本地节点221、222……22n中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述合并节点21或所述至少一个本地节点221、222……22n中的一个本地节点22i。
具体地,所述分发策略可以包括但不限于哈希运算策略和轮询策略,本实施例对此不进行特别限定。
例如,所述合并节点21可以对实时数据的标识信息(ID)进行哈希运算,确定一个对应的节点,以作为处理节点;或者,再例如,所述合并节点21还可以采用轮询策略,顺次选择一个节点,以作为处理节点;本实施例对此不进行特别限定。
具体地,合并节点21可以将数据写入请求交付给处理节点。可以理解的是,如果所述合并节点21是预先配置的一个固定节点,所述合并节点21具体可以将数据写入请求转发给处理节点;如果所述合并节点21是请求处理组件随机选择的一个本地节点22j,或者是请求处理组件根据选举策略选择的一个本地节点22j,所述合并节点21具体可以不再转发,直接对数据写入请求进行后续操作。
接收到所述数据写入请求之后,所述处理节点具体可以用于创建所述实时数据的全文索引文件;以及将所述全文索引文件写入所述即时处理***中。具体地,创建全文索引文件方法的详细描述可以参见现有技术中的相关内容,此处不再赘述。
这样,由于处理节点创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
在此所谓的“实时处理”,又称流式处理即流程查询和计算,是指随时应用的运行随时进行处理。例如,大型售卖网站的双11活动中,会随时计算截止当前的交易额。在阿里巴巴,这个应用叫交易直播厅。数据流随着时间不断产生,每来一批数据流(其时间间隔可以根据应用设置为秒级、分钟级等),就计算一次。
在此所谓的“即时处理”是指在应用运行之后,很短时间内进行处理。例如,用户发出一次请求,很短时间内应用内部计算完成,然后返回结果。
所述处理节点创建完毕所述实时数据的全文索引文件之后,可以立即将所述全文索引文件写入所述即时处理***中,或者还可以不立即将所述全文索引文件写入所述即时处理***中,而是待所述实时数据满足一定条件之后,再将所述全文索引文件写入所述即时处理***中。这样,可以有效降低即时处理***的***开销。
例如,所述处理节点具体可以通过监控所述实时数据的状态条件,有选择性地执行将所述全文索引文件写入所述即时处理***中的操作。
例如,若所述状态条件满足第一写入条件,例如,所述实时数据的接收时间达到第一最大可见时间即maxTime1,或者,再例如,所述实时数据的数量达到第一最大文档数即maxDoc1等,所述处理节点则可以将所述全文索引文件写入所述即时处理***的快速存储设备,例如,内存中。其中,所述即时处理***的内存可以为电脑的内存,或者还可以为手机的运行内存即***内存,例如,随机存储器(RandomAccessMemory,RAM)等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为软提交操作。
或者,再例如,若所述状态条件满足第二写入条件,例如,所述实时数据的接收时间达到第二最大可见时间即maxTime2,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc2等,所述处理节点则可以将所述全文索引文件写入所述即时处理***的慢速存储设备,例如,硬盘,或者还可以为手机的非运行内存即物理内存,例如,只读存储器(Read-OnlyMemory,ROM)和内存卡等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为硬提交操作。
或者,再例如,若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,例如,所述第一写入条件可以为所述实时数据的接收时间达到第一最大可见时间即maxTime1,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc1等;例如,所述第二写入条件可以为所述实时数据的接收时间达到第一最大可见时间即maxTime2,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDoc2等,所述处理节点则可以进一步启动新的查询引擎,用以进行所述实时数据的即时查询。
可以理解的是,第一写入条件与第二写入条件没有任何关系,本实施例对此不进行特别限定。
至此,即时处理***能够实现将实时数据以全文索引文件的形式,写入即时处理***中,从而保证了实时数据的即时查询。
这样,应用***程序26可以通过调用即时处理***的查询API24,由即时处理***的请求处理组件接收所发送的数据查询请求,所述数据查询请求中包含查询条件。请求处理组件将所述数据查询请求发送给合并节点21,由所述合并节点21负责处理所述数据查询请求。
具体地,合并节点21可以将数据查询请求分发给所述至少一个本地节点221、222……22n。可以理解的是,如果所述合并节点21是预先配置的一个固定节点,所述合并节点21具体可以将数据查询请求分发给所述至少一个本地节点221、222……22n,该合并节点21不再对该数据查询请求执行后续操作;如果所述合并节点21是请求处理组件随机选择的一个本地节点22j,或者是请求处理组件根据选举策略选择的一个本地节点22j,所述合并节点21具体可以将数据查询请求分发给所述至少一个本地节点221、222……22n的同时,该合并节点21继续对该数据查询请求执行后续操作。
接收到所述数据查询请求之后,所述至少一个本地节点221、222……22n中每个本地节点,或者所述至少一个本地节点221、222……22n中每个本地节点和所述合并节点21,分别进行查询即执行查询条件所对应的计算操作,以获得查询结果,并返回给合并节点21,进而由合并节点21将查询结果进行合并,以获得最终的查询结果,并返回给应用***。
至此,即时处理***针对实时数据执行完毕一次灵活计算或者查询。
需要说明的是,本实施例中,所述合并节点和所述至少一个本地节点形成分布式云架构。具体可以通过配置管理中心例如,ZooKeeper等,进行集中式的信息配置与管理,能够实现自动容错和请求的自动负载均衡。例如,每个节点即合并节点21和所述至少一个本地节点221、222……22n中每个本地节点,可以包括一个主用节点和至少一个备用节点。若主用节点出现故障不可用时,一个备用节点可以作为主用节点,继续提供服务,以实现自动容错。每个备用节点都可以根据均衡策略,有机会成为主用节点,提供服务,以实现请求的自动负载均衡。
随着信息社会的发展,越来越多的信息被数据化,尤其是伴随着互联网的发展,数据呈***式增长,出现大量的实时数据,可以称之为海量实时数据。由于采用了由合并节点和至少一个本地节点所形成的分布式云架构,以及结合本发明提供的技术方案,能够很好地处理这种海量实时数据。
本实施例中,通过合并节点获得实时处理***发送的实时数据,进而根据分发策略,在所述至少一个本地节点中,或者合并节点和所述至少一个本地节点中,确定一个节点,以作为处理节点,使得处理节点能够将所述实时数据写入所述即时处理***中,从而实现了即时处理***能够针对实时数据进行灵活计算或者查询。
另外,采用本申请提供的技术方案,由于即时处理***能够针对实时数据进行灵活计算或者查询,因此,能够有效提高实时数据即时查询的灵活性。
另外,采用本申请提供的技术方案,由于创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
图3为本申请另一实施例提供的实时数据的处理***的结构示意图,如图3所示。本实施例的实时数据的处理***可以包括实时处理***31和图2对应的实施例所提供的即时处理***32。其中,
所述实时处理***31,用于向所述即时处理***32发送所述实时数据。
所述即时处理***32的详细描述可以参见图2对应的实施例中的相关内容,此处不再赘述。
本实施例中,通过合并节点获得实时处理***发送的实时数据,进而根据分发策略,在所述至少一个本地节点中,或者合并节点和所述至少一个本地节点中,确定一个节点,以作为处理节点,使得处理节点能够将所述实时数据写入所述即时处理***中,从而实现了即时处理***能够针对实时数据进行灵活计算或者查询。
另外,采用本申请提供的技术方案,由于即时处理***能够针对实时数据进行灵活计算或者查询,因此,能够有效提高实时数据即时查询的灵活性。
另外,采用本申请提供的技术方案,由于创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理***中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理***的***开销,从而提高了实时数据即时查询的效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种实时数据的处理方法,其特征在于,应用于即时处理***中,所述即时处理***包括合并节点和至少一个本地节点,所述方法包括:
所述合并节点获得实时处理***发送的实时数据;
所述合并节点根据分发策略,确定一个节点作为处理节点,用以将所述实时数据写入所述即时处理***中;其中,
所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点。
2.根据权利要求1所述的方法,其特征在于,所述合并节点根据分发策略,确定一个节点,以作为处理节点之后,还包括:
所述处理节点将所述实时数据写入所述即时处理***中。
3.根据权利要求2所述的方法,其特征在于,所述处理节点将所述实时数据写入所述即时处理***中,包括:
所述处理节点创建所述实时数据的全文索引文件;
所述处理节点将所述全文索引文件写入所述即时处理***中。
4.根据权利要求3所述的方法,其特征在于,所述处理节点将所述全文索引文件写入所述即时处理***中,包括:
所述处理节点监控所述实时数据的状态条件;
若所述状态条件满足第一写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
5.根据权利要求4所述的方法,其特征在于,所述若所述状态条件满足第一写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中,包括:
若所述实时数据的接收时间达到第一最大可见时间,或者,所述实时数据的数量达到第一最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
6.根据权利要求3所述的方法,其特征在于,所述处理节点将所述全文索引文件写入所述即时处理***中,还包括:
若所述状态条件满足第二写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的存储设备写入所述即时处理***的慢速存储设备中。
7.根据权利要求6所述的方法,其特征在于,所述若所述状态条件满足第二写入条件,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备中,包括:
若所述实时数据的接收时间达到第二最大可见时间,或者,所述实时数据的数量达到第二最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备中。
8.根据权利要求4~7中任一权利要求所述的方法,其特征在于,所述处理节点监控所述实时数据的状态条件之后,还包括:
若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,所述处理节点启动新的查询引擎,用以进行所述实时数据的即时查询。
9.根据权利要求8所述的方法,其特征在于,所述处理节点启动新的查询引擎,用以进行所述实时数据的即时查询之后,还包括:
所述合并节点接收数据查询请求,所述数据查询请求中包含查询条件;
所述合并节点将数据查询请求分发给所述至少一个本地节点;
所述至少一个本地节点中每个本地节点,或者所述至少一个本地节点中每个本地节点和所述合并节点,分别执行查询条件所对应的计算操作,以获得查询结果,并返回给所述合并节点;
所述合并节点将所述查询结果进行合并,以获得最终的查询结果。
10.一种即时处理***,其特征在于,包括合并节点和至少一个本地节点;其中,
所述合并节点,用于获得实时处理***发送的实时数据;以及根据分发策略,确定一个处理节点;其中,所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点;
所述处理节点,用于将所述实时数据写入所述即时处理***中。
11.根据权利要求10所述的即时处理***,其特征在于,所述合并节点和所述至少一个本地节点形成分布式云架构。
12.根据权利要求10所述的即时处理***,其特征在于,所述处理节点,具体用于
创建所述实时数据的全文索引文件;
将所述全文索引文件写入所述即时处理***中。
13.根据权利要求12所述的即时处理***,其特征在于,所述处理节点,具体用于
监控所述实时数据的状态条件;以及
若所述状态条件满足第一写入条件,将所述全文索引文件写入所述即时处理***的快速存储设备中。
14.根据权利要求13所述的即时处理***,其特征在于,所述处理节点,具体用于
若所述实时数据的接收时间达到第一最大可见时间,或者,所述实时数据的数量达到第一最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的快速存储设备中。
15.根据权利要求12所述的即时处理***,其特征在于,所述处理节点,具体用于
若所述状态条件满足第二写入条件,将所述全文索引文件写入所述即时处理***的存储设备写入所述即时处理***的慢速存储设备中。
16.根据权利要求15所述的即时处理***,其特征在于,所述处理节点,具体用于
若所述实时数据的接收时间达到第二最大可见时间,或者,所述实时数据的数量达到第二最大文档数,所述处理节点将所述全文索引文件写入所述即时处理***的慢速存储设备。
17.根据权利要求12~16任一权利要求所述的即时处理***,其特征在于,所述处理节点,还用于
若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,启动新的查询引擎,用以进行所述实时数据的即时查询。
18.根据权利要求17所述的即时处理***,其特征在于,所述合并节点,还用于
接收数据查询请求,所述数据查询请求中包含查询条件;
将数据查询请求分发给所述至少一个本地节点,以使得所述至少一个本地节点中每个本地节点,或者所述至少一个本地节点中每个本地节点和所述合并节点,分别执行查询条件所对应的计算操作,以获得查询结果;
获得所述查询结果;
将所述查询结果进行合并,以获得最终的查询结果。
19.一种实时数据的处理***,其特征在于,包括实时处理***和权利要求10~18任一权利要求所述的即时处理***;其中,
所述实时处理***,用于向所述即时处理***发送所述实时数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229319.1A CN105335362B (zh) | 2014-05-28 | 2014-05-28 | 实时数据的处理方法及***、即时处理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410229319.1A CN105335362B (zh) | 2014-05-28 | 2014-05-28 | 实时数据的处理方法及***、即时处理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335362A true CN105335362A (zh) | 2016-02-17 |
CN105335362B CN105335362B (zh) | 2019-06-11 |
Family
ID=55285906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410229319.1A Active CN105335362B (zh) | 2014-05-28 | 2014-05-28 | 实时数据的处理方法及***、即时处理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335362B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391541A (zh) * | 2017-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种实时数据合并方法和装置 |
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN111310170A (zh) * | 2020-01-16 | 2020-06-19 | 深信服科技股份有限公司 | 应用程序的防泄密方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313400A1 (en) * | 2006-06-13 | 2009-12-17 | International Business Machines Corp. | Dynamic stabilization for a stream processing system |
CN102118405A (zh) * | 2009-12-31 | 2011-07-06 | 比亚迪股份有限公司 | 一种应用于实时视频数据传输的p2p网络*** |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN103152287A (zh) * | 2013-03-27 | 2013-06-12 | 恒生电子股份有限公司 | 一种实时数据的可靠接收方法及装置 |
CN103338261A (zh) * | 2013-07-04 | 2013-10-02 | 北京泰乐德信息技术有限公司 | 一种轨道交通监测数据的存储和处理方法及*** |
CN103560943A (zh) * | 2013-10-31 | 2014-02-05 | 北京邮电大学 | 支持海量数据实时处理的网络分析***和方法 |
-
2014
- 2014-05-28 CN CN201410229319.1A patent/CN105335362B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313400A1 (en) * | 2006-06-13 | 2009-12-17 | International Business Machines Corp. | Dynamic stabilization for a stream processing system |
CN102118405A (zh) * | 2009-12-31 | 2011-07-06 | 比亚迪股份有限公司 | 一种应用于实时视频数据传输的p2p网络*** |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN103152287A (zh) * | 2013-03-27 | 2013-06-12 | 恒生电子股份有限公司 | 一种实时数据的可靠接收方法及装置 |
CN103338261A (zh) * | 2013-07-04 | 2013-10-02 | 北京泰乐德信息技术有限公司 | 一种轨道交通监测数据的存储和处理方法及*** |
CN103560943A (zh) * | 2013-10-31 | 2014-02-05 | 北京邮电大学 | 支持海量数据实时处理的网络分析***和方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN109074377B (zh) * | 2016-03-29 | 2024-04-16 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN107391541A (zh) * | 2017-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种实时数据合并方法和装置 |
CN107391541B (zh) * | 2017-05-16 | 2020-10-20 | 创新先进技术有限公司 | 一种实时数据合并方法和装置 |
CN111310170A (zh) * | 2020-01-16 | 2020-06-19 | 深信服科技股份有限公司 | 应用程序的防泄密方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105335362B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
US9110884B2 (en) | Message publishing and subscribing method and apparatus | |
US9330199B2 (en) | Striping of directed graphs and nodes with improved functionality | |
CN105471760A (zh) | 一种路由方法、负载均衡的装置及数据通信*** | |
CN106528289B (zh) | 资源的操作处理方法及装置 | |
CN105491078A (zh) | Soa***中的数据处理方法及装置、soa*** | |
CN108563697A (zh) | 一种数据处理方法、装置和存储介质 | |
CN103581317B (zh) | 一种网络资源共享的方法 | |
CN110910143A (zh) | 身份标识生成方法、装置、相关节点及介质 | |
CN107888700B (zh) | 一种共享云渲染***及其处理方法 | |
CN114202027A (zh) | 执行配置信息的生成方法、模型训练方法和装置 | |
CN105373746B (zh) | 一种分布式数据处理方法和装置 | |
CN105335362A (zh) | 实时数据的处理方法及***、即时处理*** | |
CN103581273A (zh) | 一种分布式***执行业务的方法、装置及*** | |
CN105872635A (zh) | 视频资源分发的方法和装置 | |
US20200004785A1 (en) | Automatic grouping based on user behavior | |
CN106874371A (zh) | 一种数据处理方法及装置 | |
CN105335313A (zh) | 一种基础数据的传输方法及装置 | |
CN111858585A (zh) | 区块链策略处理装置、计算机可读存储介质及终端设备 | |
CN116703071A (zh) | 资源共享方法、装置及设备和存储介质 | |
CN105429795A (zh) | 一种告警监控***及方法 | |
CN114172958B (zh) | 隐私计算节点、***、方法、装置以及存储介质 | |
CN104699799A (zh) | 基于跨***数据传输方法 | |
CN104915246A (zh) | 一种基于工作流的高可配分布式实时计算引擎及控制方法 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211125 Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Alibaba (China) Network Technology Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |