CN104794114B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN104794114B
CN104794114B CN201410020530.2A CN201410020530A CN104794114B CN 104794114 B CN104794114 B CN 104794114B CN 201410020530 A CN201410020530 A CN 201410020530A CN 104794114 B CN104794114 B CN 104794114B
Authority
CN
China
Prior art keywords
processing
data
server
database
read
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.)
Active
Application number
CN201410020530.2A
Other languages
English (en)
Other versions
CN104794114A (zh
Inventor
黄晓锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410020530.2A priority Critical patent/CN104794114B/zh
Publication of CN104794114A publication Critical patent/CN104794114A/zh
Application granted granted Critical
Publication of CN104794114B publication Critical patent/CN104794114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据处理方法及装置,用以解决现有技术中服务器重启后读取流数据时浪费网络资源,可能再次发生故障的问题。该方法分布式服务器对接收到的流数据进行第一处理得到第一处理数据后,向第一处理数据中添加该分布式服务器的服务器标识,并发送给数据库存储,当分布式服务器重启后,从数据库中读取携带该服务器标识的第一处理数据。通过上述方法,分布式服务器在发生故障并重启后,无需从数据库中读取全量的第一处理数据,只需读取携带该分布式服务器自身的服务器标识的第一处理数据,因此可有效降低分布式服务器从数据库中读取数据的数据量,从而节省了网络资源,分布式服务器也不会因读取的数据过多导致自身内存溢出而再次发生故障。

Description

一种数据处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下,流数据可被视为一个随时间延续而无限增长的动态数据集合。由于流数据具有数据量巨大的特性,因此,通常采用分布式服务器处理流数据。
目前,分布式服务器处理流数据的过程一般是:分布式服务器接收目标设备发送的流数据,并对接收到的流数据进行处理,再将接收到的流数据和处理后得到的结果数据发送给数据库存储。
对于流数据的处理而言,主要的处理是去重处理和累加处理。例如,要对某电子商务网站各商品类目下每天的买家数量进行统计时,则一个分布式服务器接收该电子商务网站实时发送的一个商品类目下的新增订单数据,也就是流数据,并对订单数据中携带相同买家标识的数据进行去重处理,将去重处理后的数据的数量累加到结果数据中,最后将去重处理后的数据和结果数据发送给数据库存储。
假设某个分布式服务器接收到的流数据是用户A购买了某商品类目下的商品1、用户B购买了该商品类目下的商品2、用户A购买了该商品类目下的商品2,则该分布式服务器对接收到的这三条流数据进行去重处理后得到的数据就是用户A和用户B,再将去重处理后的这两条数据累加到结果数据中,就得到了该商品类目下的买家数量。
可见,由于分布式服务器在对流数据进行去重处理时,需要对比当前接收的流数据与之前接收的流数据中指定类型的信息(如上述用户标识)是否相同,因此,分布式服务器在处理流数据的整个过程中,都需要把流数据和结果数据存储在自身的内存中。
在上述过程中,各分布式服务器由应用管理中心统一进行管理控制,各分布式服务器会按照设定的时间间隔向应用管理中心发送心跳检测报文,如果应用管理中心监测到某个分布式服务器没有在设定时间内发来心跳检测报文,则确定该分布式服务器出现故障,控制该分布式服务器进行重启。
然而,对于一个分布式服务器来说,当该分布式服务器重启后会清除自身内存中的所有数据,而由于分布式服务器处理后续的流数据是要基于之前已经处理过的流数据和结果数据进行处理的,因此,在清除自身内存中的数据后,分布式服务器需要从数据库中读取该分布式服务器之前已经处理过的流数据和结果数据,以便基于读取的流数据和结果数据对后续接收到的流数据进行处理。但由于数据库中存储了多个分布式服务器发送的处理后的流数据和结果数据,重启后的该分布式服务器却并不能获知数据库中存储的哪些流数据和结果数据是该分布式服务器处理后续的流数据所要基于的流数据和结果数据,也即,重启后的该分布式服务器并不能获知数据库中存储的哪些流数据和结果数据是该分布式服务器之前发送给数据库的流数据和结果数据,从而,分布式服务器重启后只能从数据库中读取全量的流数据和结果数据,而由于数据库中存储的不只是出现故障的这一个分布式服务器发来的流数据,而是所有分布式服务器发来的流数据,因此,出现故障的分布式服务器重启后从数据库中读取全量的流数据的数据量是非常巨大的,这不仅会浪费网络资源,而且也很可能会造成分布式服务器自身的内存溢出而再次出现故障并重启,从而陷入不断重启的死循环,无法正常处理流数据。
例如,由服务器1、服务器2、服务器3这三个分布式服务器分别统计类目a、类目b、类目c这三个商品类目下的处理流数据,这三个分布式服务器都将自身去重处理后的流数据以及累加处理后得到的结果数据发送给数据库存储。当服务器1出现故障而重启后,由于其并不能获知数据库中存储的哪些流数据是服务器1之前发送给数据库的,因此服务器1只能从数据库中读取全量的流数据,即,服务器1从数据库中读取的流数据不仅仅是之前服务器1发送给数据库存储的流数据,而是之前这三个服务器发送给数据库存储的全部流数据,其数据量远大于服务器1发送给数据库存储的流数据的数据量,这样不仅浪费了传输这些数据所消耗的网络资源,服务器1也很有可能由于自身的内存溢出而再次故障重启。
发明内容
本申请实施例提供一种数据处理方法及装置,用以解决现有技术中当服务器故障重启后从数据库中读取流数据时浪费网络资源,也很可能再次发生故障的问题。
本申请实施例提供的一种数据处理方法,包括:
分布式服务器接收流数据;并
基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据;
在所述第一处理数据中添加所述分布式服务器的服务器标识,将添加了所述服务器标识的第一处理数据发送给数据库存储;
当所述分布式服务器重启后,根据自身的服务器标识,从所述数据库中读取携带所述服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据继续进行第一处理。
本申请实施例提供的一种数据处理装置,包括:
接收模块,用于接收流数据;
第一处理模块,用于基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据;
第一添加模块,用于在所述第一处理数据中添加所述装置的服务器标识;
发送模块,用于将添加了所述服务器标识的第一处理数据发送给数据库存储;
第一读取模块,用于当所述装置重启后,根据所述装置的服务器标识,从所述数据库中读取携带所述服务器标识的第一处理数据;
所述第一处理模块还用于,基于读取的第一处理数据对所述接收模块接收到的后续流数据继续进行第一处理。
本申请实施例提供一种数据处理方法及装置,该方法分布式服务器对接收到的流数据进行第一处理得到第一处理数据后,向第一处理数据中添加该分布式服务器的服务器标识,并发送给数据库存储,当分布式服务器重启后,从数据库中读取携带该服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据继续进行第一处理。通过上述方法,分布式服务器在发生故障并重启后,无需从数据库中读取全量的第一处理数据,只需读取携带该分布式服务器自身的服务器标识的第一处理数据即可,因此可有效降低分布式服务器从数据库中读取数据的数据量,从而节省了网络资源,分布式服务器也不会因读取的数据过多导致自身内存溢出而再次发生故障。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的数据处理过程;
图2为本申请实施例提供的数据处理装置结构示意图。
具体实施方式
现有技术中,在分布式服务器在重启后,分布式服务器并不能获知数据库中存储的哪些流数据是进行后续处理所要基于的数据,因此只能将数据库中存储的全量流数据读取到内存中,这不仅浪费网络资源,而且也容易导致分布式服务器自身的内存溢出,近而再次出现故障并重启。本申请实施例旨在减少分布式服务器重启后需要从数据库中读取数据的数据量,并避免因数据量过大导致的再次重启的问题。具体方法为:分布式服务器处理流数据后,将分布式服务器自身的服务器标识添加到其处理后的数据中再发送给数据库存储,从而分布式服务器在发生故障并重启后,只需从数据库中读取携带该分布式服务器自身的服务器标识的数据即可,可有效降低分布式服务器从数据库中读取数据的数据量,节省网络资源,也不会因读取的数据过多导致自身内存溢出而再次发生故障。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的数据处理过程,具体包括以下步骤:
S101:分布式服务器接收流数据。
在本申请实施例中,可预设分布式处理***中的每个分布式服务器的对应的第一处理维度标识,其中,在预设每个分布式服务器对应的第一处理维度标识时,可预设一个分布式服务器对应一个第一处理维度标识。所述的第一处理维度标识为分布式服务器要对流数据所要进行的第一处理对应的处理维度标识,第一处理维度标识携带在流数据中,即,一个第一处理维度标识对应的分布式服务器就表示该分布式服务器要对接收到的流数据进行该第一处理维度标识对应的第一处理。则分布式服务器可接收携带与该分布式服务器对应的第一处理维度标识的流数据。
具体的,上述各第一处理维度标识以及第一处理维度标识与分布式服务器的对应关系可保存在产生流数据的目标设备中,当目标设备产生流数据后,则可根据流数据中携带的具体信息,将相应的第一处理维度标识添加在流数据中,并根据各第一处理维度标识与分布式服务器的对应关系,将添加了第一处理维度标识后的流数据发送给相应的分布式服务器。另外,目标设备可实时的将产生的流数据添加第一处理维度标识并发送给分布式服务器,即,产生流数据后立刻添加第一处理维度标识并发送给分布式服务器,也可周期性的将本周期内产生的流数据添加第一处理维度标识并发送给分布式服务器。
还可预置一个独立于目标设备和各分布式服务器的分发器,并将各第一处理维度标识以及第一处理维度标识与分布式服务器的对应关系保存在分发器中,则各目标设备产生流数据后,可将流数据发送给分发器,再由分发器将第一处理维度标识添加到流数据中并发送给分布式服务器,即,分布式服务器可接收从分发器发来的携带与该分布式服务器对应的第一处理维度标识的流数据。具体的,分发器接收到目标设备发来的流数据后,可根据流数据中携带的具体信息,将相应的第一处理维度标识添加到流数据中,再根据各第一处理维度标识与分布式服务器的对应关系,将添加了第一处理维度标识的流数据发送给相应的分布式服务器。分发器可将接收到的流数据实时的添加第一处理维度标识并发送给分布式服务器,也可周期性的将本周期内接收到的流数据添加第一处理维度标识并发送给分布式服务器。
以由分发器向分布式服务器发送流数据为例进行说明。例如,第一处理包括两种,第一种是对当天购买类目a下商品的买家进行去重处理,第二种是对当天购买类目b下商品的买家进行去重处理,则可预设第一种第一处理对应的第一处理维度标识为011,第二种第一处理对应的第一处理维度标识为012,并预设第一处理维度标识011与服务器1的对应关系、第一处理维度标识012与服务器2的对应关系。也即,服务器1所要进行的第一处理为对类目a下当天的买家进行去重处理,服务器2所要进行的第一处理为对类目b下当天的买家进行去重处理。将预设的第一处理维度标识011、012和第一处理维度标识与分布式服务器的对应关系保存在分发器中。
分发器接收到目标设备发来的流数据后,如果该流数据中携带的具体信息中包括类目a的类目信息和买家信息,则将第一处理维度标识011添加到该流数据中,并根据第一处理维度标识011与服务器1的对应关系,将添加了011后的流数据发送给服务器1,如果该流数据中携带的具体信息中包括类目b的类目信息和买家信息,则将第一处理维度标识012添加到该流数据中,并根据第一处理维度标识012与服务器2的对应关系,将添加了012后的流数据发送给服务器2。相应的,服务器1和服务器2分别接收从分发器发来的流数据。
S102:基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据。
在本申请实施例中,所述的第一处理包括去重处理、排序处理等,也即,本申请所述的第一处理是要根据之前进行第一处理得到的处理结果继续进行第一处理的数据处理方法。
继续沿用上例,由于服务器1所要进行的第一处理为对类目a下的买家进行去重处理,因此假设服务器1接收到分发器发送的流数据为:用户A购买了类目a下的商品1、用户B购买了类目a下的商品2、用户A购买了类目a下的商品2,则服务器1可对接收到的这三条流数据进行去重处理,也就是第一处理,得到的第一处理数据即为用户A和用户B。
S103:在第一处理数据中添加该分布式服务器的服务器标识,将添加了服务器标识的第一处理数据发送给数据库存储。
在本申请实施例中,可预先为分布式处理***中的每个分布式服务器设置相应的服务器标识,各分布式服务器可保存自身的服务器标识。当分布式服务器通过上述步骤S102对流数据进行第一处理得到第一处理数据后,服务器可将自身的服务器标识添加到该第一处理数据中。
继续沿用上例,假设服务器1的服务器标识为001,则服务器1对接收到的流数据进行去重处理(即,第一处理)得到第一处理数据用户A和用户B后,可将自身的标识001添加到得到的第一处理数据用户A和用户B中,添加后的第一处理数据即为001+用户A和001+用户B。
另外,每个分布式服务器与服务器标识的对应关系还可保存在分布式处理***的应用管理中心中,当分布式服务器启动时可由应用管理中心将分布式服务器对应的服务器标识发送给分布式服务器。例如,应用管理中心可保存分布式服务器的互联网协议(InternetProtocol,IP)地址与服务器标识(如001等)的对应关系,或者保存分布式服务器的媒体接入控制(MediaAccessControl,MAC)地址与服务器标识的对应关系,并在分布式服务器启动时,根据分布式服务器的IP地址或MAC地址,将对应的服务器标识发送给分布式服务器。当然,服务器标识也可直接设定为该分布式服务器的IP地址或MAC地址,只要可唯一标识该分布式服务器即可。
S104:当分布式服务器重启后,根据自身的服务器标识,从数据库中读取携带该服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据进行第一处理。
在本申请实施例中,由于分布式服务器发送给数据库的第一处理数据中携带了该分布式服务器自身的服务器标识,因此,如果该分布式服务器发生故障并重启,则可根据自身的服务器标识,获知数据库中存储的携带该服务器标识的第一处理数据就是该分布式服务器重启后进行后续处理所要基于的数据,从而只需从数据库中读取携带该服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据进行第一处理即可,而无需从数据库中读取全量的数据。
继续沿用上例,当服务器1发生故障并重启后,可根据该服务器1自身的服务器标识001,从数据库中读取携带001的第一处理数据,再基于读取的第一处理数据对接收到的后续流数据继续进行第一处理。具体的,如果服务器标识001是预先保存在该服务器1中的,则服务器1重启后,可根据自身保存的服务器标识001,从数据库中获取相应的第一处理数据,如果服务器标识001是预先保存在应用管理中心中的,则服务器1重启后,可从应用管理中心获取该服务器标识001,并根据获取的服务器标识001,从数据库中获取相应的第一处理数据。
由上例可以看出,服务器1发生故障并重启后,只需从数据库中读取携带该服务器1的服务器标识001的第一处理数据即可,而无需读取其他分布式服务器发送给数据库的数据,因此可有效降低从数据库中读取数据的数据量,节省了从数据库向服务器传输数据所消耗的网络资源,而且也可有效避免服务器因读取的数据过多导致自身内存溢出而再次出现故障并重启。
在本申请实施例中,服务器对接收到的流数据进行第一处理得到第一处理数据后,可继续对第一处理数据进行第二处理得到第二处理数据,并将第二处理数据也发送给数据库保存,其中,第二处理包括累加处理、求平均值处理、求最大值处理、求最小值处理等,本申请中所述的第二处理是要基于第一处理得到的处理结果和之前进行第二处理得到的处理结果继续进行第二处理的数据处理方法。
与第一处理对应的第一处理维度标识类似的,本申请实施例中也可预设各分布式服务器对应的第二处理维度标识。本申请中所述的第二处理维度标识是第二处理对应的处理维度标识,也可采用与添加第一处理维度标识类似的方法,将预设的第二处理维度标识以及第二处理维度标识与各分布式服务器的对应关系保存在目标设备中,由目标设备在产生流数据时将第二处理维度标识添加到流数据中,或者,将预设的第二处理维度标识以及第二处理维度标识与各分布式服务器的对应关系保存在分发器中,由分发器将第二处理维度标识添加到目标设备发来的流数据中。在本申请实施例中,分布式服务器对某个流数据进行第一处理得到的第一处理数据后,该第一处理数据中仍携带该流数据中携带的第二处理维度标识。
当然,也可根据预设的各第二处理维度标识与分布式服务器的对应关系,将各第二处理维度标识直接保存在对应的分布式服务器中,当分布式服务器对流数据进行第一处理得到第一处理数据后,由分布式服务器将其保存的第二处理维度标识添加到第一处理数据中。
本申请实施例中在预设第一处理维度标识和第二处理维度标识时,均可采用消息摘要算法第五版(Message Digest Algorithm,MD5)进行设定。如,假设第一处理为对当天购买类目a下商品的买家进行去重处理,当天为2013年12月9日,则可采用MD5算法,根据“2013年12月9日”、“类目a”和“去重”,设定该第一处理对应的第一处理维度标识为011。
由于分布式服务器得到的第一处理数据中携带第二处理对应的第二处理维度标识,因此,分布式服务器在对得到的第一处理数据进行第二处理(如,累加处理)得到第二处理数据后,可根据该第一处理数据中携带的第二处理维度标识,在得到的第二处理数据中也添加该第二处理维度标识,并将添加了第二处理维度标识的第二处理数据发送给数据库存储。
继续沿用上例,假设第二处理包括两种,第一种是对去重处理(第一处理)后的当天购买类目a下商品的买家进行累加处理,第二种是对去重处理后的当天购买类目b下商品的买家进行累加处理,则可预设第一种第二处理对应的第二处理维度标识为021,第二种第二处理对应的第二处理维度标识为022,并预设第二处理维度标识021与服务器1的对应关系,预设第二处理维度标识022与服务器2的对应关系。也即,服务器1所要进行的第二处理为对经过去重处理(第一处理)后的当天购买类目a下商品的买家进行累加,服务器2所要进行的第二处理为对经过去重处理(第一处理)后的当天购买类目b下商品的买家进行累加。
可见,本申请实施例中的第二处理维度标识实际上是标识了一个分布式服务器最终要得到一个什么样的数据,如上例中服务器1最重要的到的数据是当天购买类目a下商品的买家数量,这样的数据被标识为021。
当然,分布式服务器还可以在第一处理数据和/或第二处理数据中添加其他信息,例如,还可在第一处理数据中添加第一处理对应的处理目标标识,如果第一处理是去重处理,去重处理的目标是买家标识,也即,相同买家标识的数据只记为一条数据,则第一处理对应的处理目标标识即为买家标识。
假设由分发器向流数据添加第一处理维度标识和第二处理维度标识,且预设的服务器1对应的第一处理维度标识为011,表示服务器1所要进行的第一处理为对当天购买类目a下商品的买家进行去重处理,预设的服务器1对应的第二处理维度标识为021,表示服务器1所要进行的第二处理为对去重后的当天购买类目a下商品的买家进行累加处理,则假设分发器接收到的流数据如表1所示。
买家用户标识 商品类目 商品标识
用户A 类目a 商品1
用户B 类目a 商品2
用户A 类目a 商品2
表1
则分发器确定由于接收到的如表1所示的流数据中包含买家用户标识和类目a,因此,将第一处理维度标识011和第二处理维度标识021添加到如表1所示的流数据中,得到的流数据如表2所示。
表2
得到如表2所示的流数据后,分发器根据第一处理维度标识011或第二处理维度标识021与服务器1的对应关系,将如表2所示的流数据发送给服务器1。
服务器1接收到携带第一处理维度标识和第二处理维度标识的流数据后,则对接收到的流数据进行去重处理(即,第一处理),得到去重数据(即,第一处理数据),再将该服务器1自身的服务器标识001添加到去重数据中,得到的去重数据如表3所示。
服务器标识 第一处理维度标识 第二处理维度标识 用户标识
001 011 021 用户A
001 011 021 用户B
表3
根据得到的如表3所示的去重数据,服务器1继续对去重数据进行累加处理(即,第二处理),得到的累加数据(即,第二处理数据)即为2+N,N为原有的类目a下的买家数量,2+N表示在原有的类目a下的买家数量的基础上累加2,再根据如表3所示的去重数据中携带的第二处理维度标识021,将第二处理维度标识021也添加到累加数据中,得到的累加数据如表4所示。
第二处理维度标识 累加量
021 2+N
表4
得到了如表3所示的去重数据和如表4所示的累加数据后,服务器1则将如表3所示的去重数据和如表4所示的累加数据发送给数据库存储。
后续的,如果分布式服务器发生故障重启,则分布式服务器在根据自身的服务器标识读取携带该服务器标识的第一处理数据后,可根据从数据库中读取的第一处理数据中携带的第二处理维度标识,从数据库中读取携带该第二处理维度标识的第二处理数据,并基于读取的第一处理数据对接收到的后续流数据继续进行第一处理,再基于对接收到的后续流数据进行第一处理得到的第一后续处理数据和读取的第二处理数据,对第一后续处理数据继续进行第二处理。
继续沿用上例,服务器1则将如表3所示的去重数据和如表4所示的累加数据发送给数据库存储后,如果发生故障并重启,则可根据自身的服务器标识001,从数据库中读取如表3所示的去重数据,再根据读取的如表3所示的去重数据中携带的第二处理维度标识021,从数据库中读取携带该第二处理维度标识021的累加数据,即如表4所示的数据,然后,服务器1可基于读取的去重数据,对接收到的后续流数据继续进行去重处理,并基于对接收到的后续流数据进行去重处理得到的后续去重数据以及读取的累加数据,对后续去重数据继续进行累加处理。
通过上述方法,分布式服务器在从数据库中读取第一处理数据时,可根据自身的服务器标识读取携带该服务器标识的第一处理数据,以减小从数据库中读取第一处理数据的数据量,在从数据库中读取第二处理数据时,根据读取的第一处理数据中携带的第二处理维度标识,读取携带相同第二处理维度标识的第二处理数据,也可减小从数据库中读取第二处理数据的数据量,从而可进一步降低从数据库中读取数据的数据量,减少传输数据所耗费的网络资源,并进一步保证服务器不会因读取的数据过多导致内存溢出而再次出现故障。
进一步的,为了加快分布式服务器的故障恢复速度,本申请实施例中分布式服务器在重启后,可在从数据库中读取了携带该分布式服务器自身的服务器标识的第一处理数据后直接对接收到的后续流数据继续进行第一处理,而无需等待分布式服务器从数据库中读取第二处理数据。也即,分布式服务器重启后,可在读取了携带该分布式服务器自身的服务器标识的第一处理数据后直接对接收到的后续流数据继续进行第一处理,并在对接收到的后续流数据进行第一处理的过程中,根据读取的第一处理数据中携带的第二处理维度标识,从数据库中读取携带该第二处理维度标识的第二处理数据。
另外,由于在实际应用场景中,分布式服务器处理的数据一般都是某个时间段内的数据,例如,假设上例中服务器1要得到的是2013年12月9日类目a下的买家数量,则如果服务器1在重启后只根据自身的服务器标识001从数据库中读取第一处理数据,就会将之前(包括2013年12月8日、2013年12月7日等)该服务器1发送给数据库的第一处理数据读取出来,因此,为了进一步减小分布式服务器重启后从数据库中读取数据的数据量,本申请实施例中分布式服务器在对接收到的流数据进行第一处理的到第一处理数据后,除了要将分布式服务器自身的服务器标识添加到第一处理数据中以外,还要将接收到该第一处理数据对应的流数据的接收时刻信息添加到第一处理数据中,再将添加了服务器标识和接收时刻信息的第一处理数据发送给数据库存储。相应的,分布式服务器重启后,在从数据库中读取携带该分布式服务器自身的服务器标识的第一处理数据时,则可根据预先划分的各时间段,确定当前时刻所属的时间段,从数据库中读取携带该服务器标识、且携带的接收时刻信息落入当前时刻所属的时间段内的第一处理数据。
继续沿用上例,假设服务器1接收到分发器发送的如表2所示的流数据的接收时刻为2013年12月9日上午9点,则服务器1可对如表2所示的流数据进行去重处理(即,第一处理)得到去重数据(即,第一处理数据),再将服务器1自身的服务器标识001以及接收到该流数据的接收时刻信息添加到去重数据中,得到如表5所示的去重数据。
表5
接下来,服务器1根据如表5所示的去重数据,对该去重数据进行累加处理(即,第二处理)得到如表4所示的累加数据(即,第二处理数据),并将如表5所示的去重数据和如表4所示的累加数据发送给数据库存储。
假设预先划分的时间段是每天为一个时间段,即每天的0点到24点为一个时间段,则在服务器1重启后,如果当前时刻为2013年12月9日上午10点,则服务器1确定当前时刻所属的时间段为2013年12月9日0点到24点这个时间段,因此从数据库中读取携带该服务器1的服务器标识001、且携带的接收时刻落入当前时刻所属的时间段内(当前时刻所属的时间段也就是2013年12月9日0点到24点这个时间段)的第一处理数据,读取的第一处理数据即为如表5所示的去重数据,而不会读取到2013年12月8日或之前服务器1发送给数据库的去重数据。
进一步的,分布式服务器重启后,在根据读取的第一处理数据中携带的第二处理维度标识,从数据库中读取携带该第二处理维度标识的第二处理数据之前,可判断自身的内存中是否存在携带该第二处理维度标识的第二处理数据,若存在,则无需从数据库中读取携带该第二处理维度标识的第二处理数据,若不存在,则从数据库中读取携带该第二处理维度标识的第二处理数据。这是因为:如果分布式服务器是刚刚重启的,那么其内存中一定不存在携带该第二处理维度标识的第二处理数据,由于对接收到的后续流数据进行第一处理得到第一后续处理数据后,需要基于第一后续处理数据和携带该第二处理维度标识的第二处理数据对第一后续处理数据进行第二处理,因此,需要从数据库中读取携带该第二处理维度标识的第二处理数据,而读取后,分布式服务器的内存中就已经存在了携带该第二处理维度标识的第二处理数据,因此,如果分布式服务器再次接收到后续的流数据,就无需再从数据库中读取。
另外,分布式服务器在从数据库中读取携带该第二处理维度标识的第二处理数据之前,还可判断接收到的后续流数据的接收时刻所属的时间段与分布式服务器重启前接收到的流数据的接收时刻所属的时间段是否相同。若相同,则从数据库中读取携带该第二处理维度标识的第二处理数据,若不同,则无需从数据库中读取携带该第二处理维度标识的第二处理数据。这是因为:如果分布式服务器重启后接收到的流数据的接收时刻已经跨越了划分时间段的时间点,也即,分布式服务器重启后接收到的流数据的接收时刻所属的时间段与上一次接收到流数据的接收时刻所属的时间段不同,则分布式服务器无需基于之前的第二处理数据进行第二处理,而是直接进行第二处理即可,因此,如果分布式服务器接收到后续流数据的接收时刻所属的时间段与分布式服务器重启前接收到的流数据的接收时刻所属的时间段不同,则无需从数据库中读取第二处理数据。例如,分布式服务器在2013年12月9日的23点59分重启,重启后接收到的后续流数据已经是2013年12月10日的0点1分,而由于划分的时间段为每天是一个时间段,要得到的数据是每天的买家数量,则显然对接收到的后续流数据所进行的累加处理无需再根据12月9日的累加数据进行累加,因此,此时即使分布式服务器的内存中不存在携带该第二处理维度标识的第二处理数据,服务器也无需从数据库中读取。
当然,分布式服务器在从数据库中读取携带该第二处理维度标识的第二处理数据之前,也可在判断自身的内存中是否存在携带该第二处理维度标识的第二处理数据的同时,判断接收到的后续流数据的接收时刻所属的时间段与分布式服务器重启前接收到的流数据的接收时刻所属的时间段是否相同。当分布式服务器确定自身的内存中不存在携带该第二处理维度标识的第二处理数据、且接收到后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从数据库中读取携带该第二处理维度标识的第二处理数据。当分布式服务器确定自身的内存中存在携带该第二处理维度标识的第二处理数据,或者接收到后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段不同时,则无需从数据库中读取携带该第二处理维度标识的第二处理数据。
另外,数据库在存储由分布式服务器发来的第一处理数据时,可将携带相同服务器标识且相同接收时刻所属的时间段的第一处理数据存储在若干个连续的存储位置上,具体可以以“服务器标识+接收时刻所属的时间段”为键值,将相同键值的第一处理数据存储在若干个连续的存储位置上。则分布式服务器在从数据库中读取第一处理数据时,可读取键值为“该分布式服务器的服务器标识+当前时刻所属的时间段”所在的存储位置中的所有数据。
在本申请实施例中,为了进一步节省数据库与分布式服务器之间传输数据所消耗的网络资源,分布式服务器从数据库中读取第一处理数据时,数据库可对要传输给分布式服务器的第一处理数据进行压缩,分布式服务器则可从数据库中读取携带该分布式服务器的服务器标识、且由数据库压缩的第一处理数据。相应的,分布式服务器基于读取的第一处理数据对接收到的后续流数据继续进行第一处理时,则可对读取的第一处理数据进行解压缩,并基于解压缩后的第一处理数据对接收到的后续流数据进行第一处理。
以上为本申请实施例提供的数据处理方法,基于同样的思路,本申请还提供一种数据处理装置,如图2所示。
图2为本申请实施例提供的数据处理装置结构示意图,具体包括:
接收模块201,用于接收流数据;
第一处理模块202,用于基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据;
第一添加模块203,用于在所述第一处理数据中添加所述装置的服务器标识;
发送模块204,用于将添加了所述服务器标识的第一处理数据发送给数据库存储;
第一读取模块205,用于当所述装置重启后,根据所述装置的服务器标识,从所述数据库中读取携带所述服务器标识的第一处理数据;
所述第一处理模块202还用于,基于读取的第一处理数据对所述接收模块201接收到的后续流数据继续进行第一处理。
所述接收模块201具体用于,接收携带与所述装置对应的第一处理维度标识的流数据,其中,所述第一处理维度标识是所述装置要对接收到的流数据进行的第一处理对应的处理维度标识,所述第一处理维度标识与所述装置的对应关系是预先设定的。
所述装置还包括:
第二处理模块206,用于在所述第一处理模块202对接收到的流数据进行第一处理得到第一处理数据之后,对所述第一处理数据进行第二处理得到第二处理数据;
第二添加模块207,用于根据所述第一处理数据中携带的第二处理维度标识,在所述第二处理数据中添加所述第二处理维度标识,其中,所述第二处理维度标识是所述第二处理对应的处理维度标识;
所述发送模块204还用于,将添加了所述第二处理维度标识的第二处理数据发送给数据库存储;
第二读取模块208,用于在所述第一处理模块202基于读取的第一处理数据对接收到的后续流数据继续进行第一处理之后,根据所述第一读取模块205从所述数据库中读取的第一处理数据中携带的第二处理维度标识,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;
所述第二处理模块206还用于,基于所述第一处理模块202对接收到的后续流数据进行第一处理得到的第一后续处理数据和所述第二读取模块208读取的第二处理数据,对所述第一后续处理数据进行第二处理。
所述第一添加模块203还用于,在所述第一处理数据中添加接收时刻信息,所述接收时刻信息为所述接收模块201接收到所述第一处理数据对应的流数据的时刻信息;
所述第一读取模块205具体用于,根据预先划分的各时间段,确定当前时刻所属的时间段,从所述数据库中读取携带所述服务器标识、且携带的接收时刻信息落入所述当前时刻所属的时间段内的第一处理数据。
所述第二读取模块208具体用于,当所述分布式服务器确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者,当所述分布式服务器接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者,当所述分布式服务器确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据、且接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据。
具体的上述数据处理装置可位于服务器中。
本申请实施例提供一种数据处理方法及装置,该方法分布式服务器对接收到的流数据进行第一处理得到第一处理数据后,向第一处理数据中添加该分布式服务器的服务器标识,并发送给数据库存储,当分布式服务器重启后,从数据库中读取携带该服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据继续进行第一处理。通过上述方法,分布式服务器在发生故障并重启后,无需从数据库中读取全量的第一处理数据,只需读取携带该分布式服务器自身的服务器标识的第一处理数据即可,因此可有效降低分布式服务器从数据库中读取数据的数据量,从而节省了网络资源,分布式服务器也不会因读取的数据过多导致自身内存溢出而再次发生故障。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
分布式服务器接收流数据;并
基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据;
在所述第一处理数据中添加所述分布式服务器的服务器标识,将添加了所述服务器标识的第一处理数据发送给数据库存储;
当所述分布式服务器重启后,根据自身的服务器标识,从所述数据库中读取携带所述服务器标识的第一处理数据,并基于读取的第一处理数据对接收到的后续流数据继续进行第一处理。
2.如权利要求1所述的方法,其特征在于,分布式服务器接收流数据,具体包括:
所述分布式服务器接收携带与所述分布式服务器对应的第一处理维度标识的流数据,其中,所述第一处理维度标识是所述分布式服务器要对接收到的流数据进行的第一处理对应的处理维度标识,所述第一处理维度标识与所述分布式服务器的对应关系是预先设定的。
3.如权利要求1所述的方法,其特征在于,对接收到的流数据进行第一处理得到第一处理数据之后,所述方法还包括:
对所述第一处理数据进行第二处理得到第二处理数据;并
根据所述第一处理数据中携带的第二处理维度标识,在所述第二处理数据中添加所述第二处理维度标识,将添加了所述第二处理维度标识的第二处理数据发送给数据库存储,其中,所述第二处理维度标识是所述第二处理对应的处理维度标识;
当所述分布式服务器重启后,基于读取的第一处理数据对接收到的后续流数据继续进行第一处理之后,所述方法还包括:
根据从所述数据库中读取的第一处理数据中携带的第二处理维度标识,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;
基于对接收到的后续流数据进行第一处理得到的第一后续处理数据和读取的第二处理数据,对所述第一后续处理数据继续进行第二处理。
4.如权利要求3所述的方法,其特征在于,对接收到的流数据进行第一处理得到第一处理数据之后,所述方法还包括:
在所述第一处理数据中添加接收时刻信息,所述接收时刻信息为所述服务器接收到所述第一处理数据对应的流数据的时刻信息;
从所述数据库中读取携带所述服务器标识的第一处理数据,具体包括:
根据预先划分的各时间段,确定当前时刻所属的时间段,从所述数据库中读取携带所述服务器标识、且携带的接收时刻信息落入所述当前时刻所属的时间段内的第一处理数据。
5.如权利要求4所述的方法,其特征在于,当所述分布式服务器确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者
当所述分布式服务器接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者
当所述分布式服务器确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据、且接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据。
6.一种数据处理装置,其特征在于,包括:
接收模块,用于接收流数据;
第一处理模块,用于基于自身保存的对之前接收到的前续流数据进行第一处理得到的第一前续处理数据,对接收到的流数据进行第一处理得到第一处理数据;
第一添加模块,用于在所述第一处理数据中添加所述装置的服务器标识;
发送模块,用于将添加了所述服务器标识的第一处理数据发送给数据库存储;
第一读取模块,用于当所述装置重启后,根据所述装置的服务器标识,从所述数据库中读取携带所述服务器标识的第一处理数据;
所述第一处理模块还用于,基于读取的第一处理数据对所述接收模块接收到的后续流数据继续进行第一处理。
7.如权利要求6所述的装置,其特征在于,所述接收模块具体用于,接收携带与所述装置对应的第一处理维度标识的流数据,其中,所述第一处理维度标识是所述装置要对接收到的流数据进行的第一处理对应的处理维度标识,所述第一处理维度标识与所述装置的对应关系是预先设定的。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二处理模块,用于在所述第一处理模块对接收到的流数据进行第一处理得到第一处理数据之后,对所述第一处理数据进行第二处理得到第二处理数据;
第二添加模块,用于根据所述第一处理数据中携带的第二处理维度标识,在所述第二处理数据中添加所述第二处理维度标识,其中,所述第二处理维度标识是所述第二处理对应的处理维度标识;
所述发送模块还用于,将添加了所述第二处理维度标识的第二处理数据发送给数据库存储;
第二读取模块,用于在所述第一处理模块基于读取的第一处理数据对接收到的后续流数据继续进行第一处理之后,根据所述第一读取模块从所述数据库中读取的第一处理数据中携带的第二处理维度标识,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;
所述第二处理模块还用于,基于所述第一处理模块对接收到的后续流数据进行第一处理得到的第一后续处理数据和所述第二读取模块读取的第二处理数据,对所述第一后续处理数据进行第二处理。
9.如权利要求8所述的装置,其特征在于,所述第一添加模块还用于,在所述第一处理数据中添加接收时刻信息,所述接收时刻信息为所述接收模块接收到所述第一处理数据对应的流数据的时刻信息;
所述第一读取模块具体用于,根据预先划分的各时间段,确定当前时刻所属的时间段,从所述数据库中读取携带所述服务器标识、且携带的接收时刻信息落入所述当前时刻所属的时间段内的第一处理数据。
10.如权利要求9所述的装置,其特征在于,所述第二读取模块具体用于,当所述装置确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者,当所述装置接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据;或者,当所述装置确定自身的内存中不存在携带所述第二处理维度标识的第二处理数据、且接收到所述后续流数据的接收时刻所属的时间段与重启前接收到的流数据的接收时刻所属的时间段相同时,从所述数据库中读取携带所述第二处理维度标识的第二处理数据。
CN201410020530.2A 2014-01-16 2014-01-16 一种数据处理方法及装置 Active CN104794114B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410020530.2A CN104794114B (zh) 2014-01-16 2014-01-16 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410020530.2A CN104794114B (zh) 2014-01-16 2014-01-16 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN104794114A CN104794114A (zh) 2015-07-22
CN104794114B true CN104794114B (zh) 2018-04-03

Family

ID=53558911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410020530.2A Active CN104794114B (zh) 2014-01-16 2014-01-16 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN104794114B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106952085B (zh) * 2016-01-06 2021-06-25 创新先进技术有限公司 一种数据存储与业务处理的方法及装置
CN106874320A (zh) * 2016-06-20 2017-06-20 阿里巴巴集团控股有限公司 分布式流式数据处理的方法和装置
CN106339448A (zh) * 2016-08-24 2017-01-18 苏州新科兰德科技有限公司 一种基于Spark的流式数据处理方法及装置
CN108960691B (zh) * 2017-05-18 2022-02-01 北京京东振世信息技术有限公司 用于服务器***的确定物品库存的方法和装置
CN108108126B (zh) * 2017-12-15 2021-05-28 北京奇艺世纪科技有限公司 一种数据处理方法、装置及设备
CN108121514B (zh) * 2017-12-29 2021-05-25 北京奇虎科技有限公司 元信息更新方法、装置、计算设备及计算机存储介质
CN109885729B (zh) * 2019-02-20 2021-07-20 北京奇艺世纪科技有限公司 一种显示数据的方法、装置及***
CN110297578B (zh) * 2019-06-27 2021-06-25 北京金山安全软件有限公司 批量处理海量数据中部分数据的方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832119A (en) * 1993-11-18 1998-11-03 Digimarc Corporation Methods for controlling systems using control signals embedded in empirical data
CN103095758A (zh) * 2011-11-01 2013-05-08 北大方正集团有限公司 一种分布式文件***及该***中处理文件数据的方法
CN103188282A (zh) * 2011-12-27 2013-07-03 腾讯科技(北京)有限公司 文件同步的方法、***及设备
CN103237075A (zh) * 2013-04-24 2013-08-07 广州市动景计算机科技有限公司 一种数据同步方法、装置及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832119A (en) * 1993-11-18 1998-11-03 Digimarc Corporation Methods for controlling systems using control signals embedded in empirical data
US5832119C1 (en) * 1993-11-18 2002-03-05 Digimarc Corp Methods for controlling systems using control signals embedded in empirical data
CN103095758A (zh) * 2011-11-01 2013-05-08 北大方正集团有限公司 一种分布式文件***及该***中处理文件数据的方法
CN103188282A (zh) * 2011-12-27 2013-07-03 腾讯科技(北京)有限公司 文件同步的方法、***及设备
CN103237075A (zh) * 2013-04-24 2013-08-07 广州市动景计算机科技有限公司 一种数据同步方法、装置及***

Also Published As

Publication number Publication date
CN104794114A (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN104794114B (zh) 一种数据处理方法及装置
CN109669776B (zh) 检测任务的处理方法、装置和***
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN108965485A (zh) 容器资源的管理方法、装置和云平台
CN106815254A (zh) 一种数据处理方法和装置
CN104750620B (zh) 一种内存迁移方法及装置
TWI686703B (zh) 資料儲存與業務處理的方法及裝置
US10698863B2 (en) Method and apparatus for clearing data in cloud storage system
CN108255628A (zh) 一种数据处理方法及装置
CN110599148A (zh) 集群数据处理方法、装置、计算机集群及可读存储介质
CN106469391A (zh) 扣减库存数据的方法和装置
CN112258301A (zh) 商品推荐方法、装置、***、可读存储介质及电子设备
CN103248636B (zh) 离线下载的***及方法
CN104504028A (zh) 一种指标值的计算方法、装置及***
US20160042311A1 (en) Information operation
CN111428143A (zh) 一种商品推荐方法及***、服务器及存储介质
US11061926B2 (en) Data warehouse management and synchronization systems and methods
US11038957B2 (en) Apparatus and method for efficient, coordinated, distributed execution
CN106101710A (zh) 一种分布式视频转码方法及装置
CN104794128B (zh) 数据处理方法和装置
US20170048169A1 (en) Message queue replication with message ownership migration
CN106888238A (zh) 一种数据同步方法及装置
US10311557B2 (en) Automated tonal balancing
WO2016169420A1 (zh) 一种业务请求执行状态的查询方法、装置及***
US10572486B2 (en) Data communication in a distributed data grid

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant