数据即时查询的灵活性。
[0057]另外,采用本申请提供的技术方案,由于创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理系统中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理系统的系统开销,从而提高了实时数据即时查询的效率。
【【附图说明】】
[0058]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0059]图1为本申请一实施例提供的实时数据的处理方法的流程示意图;
[0060]图2为本申请另一实施例提供的即时处理系统的结构示意图;
[0061]图3为本申请另一实施例提供的实时数据的处理系统的结构示意图。
【【具体实施方式】】
[0062]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
[0063]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0064]图1为本申请一实施例提供的实时数据的处理方法的流程示意图,应用于即时处理系统中,如图2所示,所述即时处理系统包括合并节点和至少一个本地节点,如图1所示。
[0065]101、所述合并节点获得实时处理系统发送的实时数据。
[0066]可选地,在本实施例的一个可能的实现方式中,所述合并节点所接收的实时数据可以为实时处理系统所直接接收的实时数据源所产生的流数据(Streaming Data),例如,网络监控系统、金融分析系统、交通流量预测系统、万维网(World Wide Web,简称为Web)等应用系统所产生的流数据,或者还可以为实时处理系统对所接收的实时数据源所产生的流数据,按照固定规则进行计算,例如求和等,所获得的计算结果,本实施例对此不进行特别限定。
[0067]具体地,实时处理系统可以通过调用即时处理系统的数据更新应用程序接口(Applicat1n Programming Interface, API),由即时处理系统的请求处理组件接收所发送的数据写入请求,所述数据写入请求中包含实时数据。请求处理组件将所述数据写入请求发送给合并节点,由所述合并节点负责处理所述数据写入请求。
[0068]其中,所述合并节点可以是预先配置的一个固定节点,或者还可以是请求处理组件随机选择的一个本地节点,或者还可以是请求处理组件根据选举策略选择的一个本地节点,本实施例对此不进行特别限定。
[0069]102、所述合并节点根据分发策略,确定一个节点作为处理节点,用以将所述实时数据写入所述即时处理系统中。
[0070]其中,所述处理节点包括所述合并节点或所述至少一个本地节点中的一个本地节点。
[0071]可选地,在本实施例的一个可能的实现方式中,如果所述合并节点是预先配置的一个固定节点,那么,在102中,所述合并节点则可以根据分发策略,从所述至少一个本地节点中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述至少一个本地节点中的一个本地节点。
[0072]可选地,在本实施例的一个可能的实现方式中,如果所述合并节点是请求处理组件随机选择的一个本地节点,或者是请求处理组件根据选举策略选择的一个本地节点,那么,在102中,所述合并节点则可以根据分发策略,从所述合并节点和所述至少一个本地节点中,确定一个节点,以作为所述处理节点。此时,所述处理节点则可以为所述合并节点或所述至少一个本地节点中的一个本地节点。
[0073]具体地,所述分发策略可以包括但不限于哈希运算策略和轮询策略,本实施例对此不进行特别限定。
[0074]例如,所述合并节点可以对实时数据的标识信息(ID)进行哈希运算,确定一个对应的节点,以作为处理节点;或者,再例如,所述合并节点还可以采用轮询策略,顺次选择一个节点,以作为处理节点;本实施例对此不进行特别限定。
[0075]可选地,在本实施例的一个可能的实现方式中,在102之后,所述处理节点将所述实时数据写入所述即时处理系统中。
[0076]具体地,合并节点可以将数据写入请求交付给处理节点。可以理解的是,如果所述合并节点是预先配置的一个固定节点,所述合并节点具体可以将数据写入请求转发给处理节点;如果所述合并节点是请求处理组件随机选择的一个本地节点,或者是请求处理组件根据选举策略选择的一个本地节点,所述合并节点具体可以不再转发,直接对数据写入请求进行后续操作。
[0077]接收到所述数据写入请求之后,所述处理节点具体可以创建所述实时数据的全文索引文件。然后,所述处理节点则可以将所述全文索引文件写入所述即时处理系统中。具体地,创建全文索引文件方法的详细描述可以参见现有技术中的相关内容,此处不再赘述。
[0078]这样,由于处理节点创建了实时数据的全文索引文件,并将所述全文索引文件写入即时处理系统中,使得可以利用实时数据的全文索引文件进行实时数据的即时查询,而无需在整个的实时数据中进行查询,因此,能够降低即时处理系统的系统开销,从而提高了实时数据即时查询的效率。
[0079]在此所谓的“实时处理”,又称流式处理即流程查询和计算,是指随时应用的运行随时进行处理。例如,大型售卖网站的双11活动中,会随时计算截止当前的交易额。在阿里巴巴,这个应用叫交易直播厅。数据流随着时间不断产生,每来一批数据流(其时间间隔可以根据应用设置为秒级、分钟级等),就计算一次。
[0080]在此所谓的“即时处理”是指在应用运行之后,很短时间内进行处理。例如,用户发出一次请求,很短时间内应用内部计算完成,然后返回结果。
[0081]所述处理节点创建完毕所述实时数据的全文索引文件之后,可以立即将所述全文索引文件写入所述即时处理系统中,或者还可以不立即将所述全文索引文件写入所述即时处理系统中,而是待所述实时数据满足一定条件之后,再将所述全文索引文件写入所述即时处理系统中。这样,可以有效降低即时处理系统的系统开销。
[0082]例如,所述处理节点具体可以通过监控所述实时数据的状态条件,有选择性地执行将所述全文索引文件写入所述即时处理系统中的操作。
[0083]例如,若所述状态条件满足第一写入条件,例如,所述实时数据的接收时间达到第一最大可见时间即maxTimel,或者,再例如,所述实时数据的数量达到第一最大文档数即maxDocl等,所述处理节点则可以将所述全文索引文件写入所述即时处理系统的快速存储设备,例如,内存中。其中,所述即时处理系统的内存可以为电脑的内存,或者还可以为手机的运行内存即系统内存,例如,随机存储器(Random Access Memory, RAM)等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为软提交操作。
[0084]或者,再例如,若所述状态条件满足第二写入条件,例如,所述实时数据的接收时间达到第二最大可见时间即maXTime2,或者,再例如,所述实时数据的数量达到第二最大文档数即maxD0C2等,所述处理节点则可以将所述全文索引文件写入所述即时处理系统的慢速存储设备,例如,硬盘,或者还可以为手机的非运行内存即物理内存,例如,只读存储器(Read-Only Memory,ROM)和内存卡等,本实施例对此不进行限定。在一些情形下,所述实时数据的状态条件满足第一写入条件而执行的全文索引文件写入操作也可以被称为硬提交操作。
[0085]或者,再例如,若所述状态条件满足所述第一写入条件和所述第二写入条件中的至少一项,例如,所述第一写入条件可以为所述实时数据的接收时间达到第一最大可见时间即maxTimel,或者,再例如,所述实时数据的数量达到第二最大文档数即maxDocl等;例如,所述第二写入条件可以为所述实