CN107016039B - Database writing method and database system - Google Patents

Database writing method and database system Download PDF

Info

Publication number
CN107016039B
CN107016039B CN201710009722.7A CN201710009722A CN107016039B CN 107016039 B CN107016039 B CN 107016039B CN 201710009722 A CN201710009722 A CN 201710009722A CN 107016039 B CN107016039 B CN 107016039B
Authority
CN
China
Prior art keywords
processing node
log data
stream processing
area
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.)
Active
Application number
CN201710009722.7A
Other languages
Chinese (zh)
Other versions
CN107016039A (en
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710009722.7A priority Critical patent/CN107016039B/en
Publication of CN107016039A publication Critical patent/CN107016039A/en
Application granted granted Critical
Publication of CN107016039B publication Critical patent/CN107016039B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application discloses a writing method and a system of an Hbase database, wherein the method comprises the following steps: receiving, at a first stream processing node, first log data distributed by a stream distribution node; analyzing and processing the logs in the first log data in the first stream processing node to obtain second log data, and determining tables and areas corresponding to the logs in the second log data; the content carried by the log in the second log data is routed to the corresponding second stream processing node at the first stream processing node according to the table and the area; combining the received logs according to the tables and the areas at the second stream processing node to form third log data; and at the second stream processing node, the table name in the third log data is called a first table, and the area identifier is data of a first area identifier, and the area server corresponding to the first table and the first area identifier in the Hbase database is used for writing the area corresponding to the first table and the first area identifier in a put operation mode.

Description

Database writing method and database system
Technical Field
The present application relates to the field of databases, and in particular, to a database writing method and a database system.
Background
In the existing Jstorm application, the write operation of the Jstorm application in an Hbase database merges the log content into a line according to an index + minute version before storing an original log and an extracted index; meanwhile, the index is stored in the memory and the deduplication operation is carried out, so that the writing frequency is reduced. However, the number of original logs is large, the writing amount is large, and the existing streaming processing application such as Jstorm has a bottleneck on writing of the Hbase database.
How to avoid the bottleneck of writing the Hbase database and improve the writing efficiency of the Hbase database is the technical problem to be solved by the application.
Disclosure of Invention
The embodiment of the application provides a database writing method and a stream processing system, which can improve the writing efficiency of an Hbase database.
In a first aspect, a method for writing a Hbase database is provided, which includes:
receiving first log data distributed by a stream distribution node at a first stream processing node, wherein the stream distribution node is a message source node for reading and distributing original log data to be written into an Hbase database, and the first stream processing node is a message stream processing node for directly receiving the data distributed by the stream distribution node;
analyzing and processing the logs in the first log data in the first stream processing node to obtain second log data, and determining tables and areas corresponding to the logs in the second log data;
routing the content carried by the log in the second log data to a corresponding second stream processing node according to the table and the area at the first stream processing node, wherein the second stream processing node is a terminal message stream processing node of the stream distribution node;
combining the received logs according to the tables and the areas at the second stream processing node to form third log data;
and at the second stream processing node, the table name in the third log data is called a first table, and the area identifier is data of a first area identifier, and the area server corresponding to the first table and the first area identifier in the Hbase database is used for writing the area corresponding to the first table and the first area identifier in a put operation mode.
In a second aspect, there is provided a stream processing system comprising: a stream distribution node, a first stream processing node, and a second stream processing node, wherein,
the stream distribution node reads original log data to be written into an Hbase database and distributes the original log data to each first stream processing node;
the first stream processing node receives first log data distributed by the stream distribution node, analyzes and processes a log in the first log data to obtain second log data, determines a table and an area corresponding to the log in the second log data, and routes content carried by the log in the second log data to the corresponding second stream processing node according to the table and the area, wherein the first stream processing node is an information stream processing node which directly receives the data distributed by the stream distribution node;
and a second stream processing node, merging the received logs according to a table and an area to form third log data, and naming a table in the third log data as a first table, where an area identifier is data of a first area identifier, and writing the data into the area corresponding to the first table and the first area identifier in a put operation manner through an area server corresponding to the first table and the first area identifier in an Hbase database, where the second stream processing node is an end message stream processing node of the stream distribution node.
As can be seen from the above technical solutions provided in the embodiments of the present application, the log data is routed to the second stream processing node corresponding to the table and the area according to the table and the area, and the log data belonging to the same area of the same table is merged into the same area at the second stream processing node, and is then written into the Hbase database through the area server corresponding to the table and the area, so that the number of times of remote procedure Call Protocol (RPC) connection of the client of the Hbase database can be reduced, the number of times of writing is reduced, and the writing performance of the Hbase database is improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
FIG. 1 is a schematic diagram of a Storm or Jstorm flow processing framework.
FIG. 2 is a schematic diagram of Hbase database access.
Fig. 3 is a flowchart of a writing method of the Hbase database according to an embodiment of the present application.
Fig. 4 is a detailed flowchart of a writing method of the Hbase database according to an embodiment of the present application.
Fig. 5 is a schematic structural diagram of an electronic device of an embodiment of the present application.
FIG. 6 is a block diagram of a stream processing system according to an embodiment of the present application.
Detailed Description
To facilitate understanding of the embodiments of the present application, several elements that will be introduced in the description of the embodiments of the present application are first introduced herein.
Storm: is a real-time processing system developed by BackType. Storm can easily write and expand complex real-time computations in a computer cluster. Storm ensures that every message is processed and the processing speed is fast, in a small cluster, millions of messages can be processed per second. The term Storm includes message Stream (Stream), message source (Spout), message handler (Bolt), Task (Task), Worker (Worker), Stream Grouping, Topology, and the like. Stream is the data being processed; spout is the data source; bolt processes data; task is a thread running in either Spout or Bolt; worker is the process that runs these threads.
Message Streams (Streams): the message flow is the most key abstraction in Storm, one is a tuple sequence without boundaries, and tuple is a data structure used in Storm and can be regarded as a Java object without a method. These tuple sequences will be created and processed in parallel on the cluster in a distributed manner. The definition of the message flow is mainly to define the tuple in the message flow, in order to better use the tuple, it is necessary to take a name for each field in the tuple, and the types of the different tuple fields are the same, i.e. the first field of the two tuple fields is the same type, the second field is the same type, but the types of the first field and the second field may be different.
Message sources (sources): spouts is the producer of a stream of messages in a computing task (Topology) in a Storm cluster, and is typically a source of data (e.g., a database or file system) that loads data and then transmits messages to Topology. Each of the sources may transmit multiple message streams.
Message handler (Bolts): all the logic of message processing is done in Bolt, where operations such as filtering, sorting, aggregating, computing, querying databases, etc. can be done. Bolt may do simple message handling operations, e.g., Bolt may not do anything, but simply forward the received message to other bolts. Bolt can also handle complex message flows, requiring many bolts. In actual use, one message often needs to go through a plurality of processing steps.
Jstorm: is a MapReduce computing system similar to Hadoop, which is a real-time computing model sourced by Alibaba, rewrites a native Storm model (written by a mixture of Clojue and Java) by using Java, and makes many improvements on the original basis. In Jstorm, each Stream has a source of the Stream, i.e., the Tuple source, which is abstracted as Spout. After having Spout, the relevant content needs to be processed next. Similarly, the process of Jstorm is abstracted to Bolt, which can flow into any number of input streams of Bolt for processing, and can also send new streams to other bolts for use. In Jstorm, only a specific Spout needs to be turned on, the tube flowing out of the Spout is directed to a specific Bolt, and then the Bolt processes the incoming stream and then directs it to other bolts and the like.
Hbase: is a distributed, column-oriented open source database. In Hbase, data is stored in the form of a table. The table of Hbase consists of rows and columns, which can be divided into multiple column families; the table of Hbase takes row key as a main key for retrieval; the table of Hbase is divided into a plurality of regions (regions) in the row direction, each Region being the smallest unit of distributed storage. In the Hbase database, a Client (Client), a Zookeeper, a Master, a,
The Client (Client) comprises an interface for accessing the Hbase, and the Client maintains some caches to accelerate the access to the Hbase, such as the position information of the Region.
Zookeeper: ensure that there is only one manager (Master) in the cluster at any time; storing all the addressing entries of the Region; monitoring the state of a regional Server (Region Server) in real time, and notifying the online and offline information of the Region Server to a Master in real time; the schema for Hbase is stored, including which tables (tables) are included, which columns family are included in each table, and so on.
Manager (Master): distributing regions for Region servers (Region servers); the load balancing of the RegionServer is carried out; discovering a failed Region Server and redistributing regions thereon; recovering garbage files on the GFS; and processing the schema updating request.
Region Server (Region Server): the Region Server maintains the regions allocated to it by the Master, and processes the IO requests to the regions; the Region Server is also responsible for splitting regions that become too large during operation.
In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
FIG. 1 is a schematic flow diagram of a data flow of a flow processing tool such as Storm or Jstorm. As shown in fig. 1, the message source Spout node randomly distributes the data stream to the Bolt node, and the Bolt node receives the data stream, processes the data stream, and transmits the data stream to the next Bolt node. Wherein, the data stream can be transmitted in the structure form of tuple. The Spout node in fig. 1 is a stream distribution node or a message stream source node in the present application, and the Bolt node is a message stream processing node in the present application.
FIG. 2 is a schematic flow chart of the data stored in the Hbase database according to the embodiment of the present application. As shown in FIG. 2, when a user calls the HbaseClientapi to perform puts by using Storm or Jstorm, the Hbase Client queries the Region servers to which the data belongs and performs rpc requests to process the data for multiple times. After receiving a write request of a client, a server-side Region server firstly deserializes the write request into a Put object, and then performs various checking operations, such as checking whether a Region is read-only, whether the memstore size exceeds a blockingmemstore size, and the like. After the inspection is completed, the following operations may be performed:
(1) acquiring a row lock and a Region update shared lock;
(2) starting a write transaction;
(3) writing a buffer memstore;
(4) additionally writing HLog;
(5) releasing the row lock and the sharing lock;
(6) synchronizing HLog to HDFS;
(7) ending the write transaction;
(8) and starting a flush thread to flush data to the hard disk.
Fig. 3 is a flowchart of a writing method of the Hbase database according to an embodiment of the present application. The method of FIG. 3 is performed by a Storm application or Jstorm application. The method of fig. 3 may include:
s301, the first stream processing node receives the first log data distributed by the stream distribution node.
The stream distribution node is a message source node for reading and distributing original log data ready to be written into an Hbase database, and the first stream processing node is a message stream processing node for directly receiving the data distributed by the stream distribution node.
It should be understood that in the Storm or jstom system, the stream distribution node is an Spout node, and the first stream processing node is connected to the Spout node and directly receives the message stream processing node from which the Spout node distributes data.
It should be understood that, in the embodiment of the present application, the stream distribution node may constantly read the raw log data ready to be written to the Hbase database and distribute the log data to the respective first stream processing nodes in the form of a data stream. Typically, the stream distribution node is sent in a random manner when distributing the log data. Of course, if the stream distribution node changes the sending mechanism, the embodiment of the present application is not limited herein.
S302, in the first stream processing node, analyzing and processing the log in the first log data to obtain second log data, and determining a table and an area corresponding to the log in the second log data.
It should be understood that when the first stream processing node parses the log of the first log data, it typically parses the log item by item, and determines the table (table) and the area (Region) corresponding to each log.
And S303, routing the content carried by the log in the second log data to the corresponding second stream processing node according to the table and the area at the first stream processing node.
Wherein the second stream processing node is an end message stream processing node of the stream distribution node.
It should be understood that the second stream processing node is an end message stream processing node of the stream distribution node, which means that the second stream processing node is a leaf node of message stream processing, and the second stream processing node does not pass the stream to the next stream processing node. Taking the Storm system or the Jstorm system as an example, the second stream processing node is an end stream processing node in the Storm system or the Jstorm system, and the stream is not transferred to the next Bolt node in the Storm system or the Jstorm system.
It should be understood that in the embodiment of the present application, the logs of the same area under the same table will flow to the same end message flow processing node.
S304, the received logs are merged according to the table and the area at the second stream processing node to form third log data.
It should be understood that, in the second stream processing node, merging the received logs according to the table and the area means merging log data belonging to the same area of the same table into one area.
S305, at the second stream processing node, the table name in the third log data is called as a first table, and the area identifier is data of a first area identifier, and the area server corresponding to the first table and the first area identifier in the Hbase database writes the data into the area corresponding to the first table and the first area identifier in a push operation manner.
It should be understood that in the embodiment of the present application, the Region identifier may be a Region number or other identifier capable of uniquely identifying a Region.
Of course, it should be understood that the stream distribution node and the Bolt node in the present application may also be replaced by nodes having similar functions in other stream processing systems, and the embodiments of the present application are not limited herein.
In the embodiment of the application, the log data is routed to the second stream processing node corresponding to the table and the area according to the table and the area, the log data belonging to the same area of the same table is merged into the same area at the second stream processing node, and the log data is written into the Hbase database through the area server corresponding to the table and the area, so that the rpc connection times of the client of the Hbase database can be reduced, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
In simulation training, the method of the embodiment of the application can improve the throughput of Hbase by 50% under the condition of ensuring the stability of Hbase cluster.
Optionally, as an embodiment, the step S302 is specifically implemented as:
analyzing and processing the logs in the first log data in the first stream processing node, and performing structuring processing to obtain structured log data;
indexing the structured log data in the first stream processing node according to the table to which the structured log data belongs and the keyword key;
in the first flow processing node, the structured log data is subjected to content combination according to the table, the index and the preset time version or according to the table and the index to form the second log;
and determining a table and an area corresponding to the log in the second log according to the table and the index in the first flow processing node.
In the embodiment of the application, the first stream processing node merges the contents of the log data according to the table, the index and the predetermined time version, or according to the table and the index, so that the rpc connection times of the client of the Hbase database can be reduced, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
Optionally, as an embodiment, step S303 is specifically implemented as:
sending the log in the second log data to a third stream processing node at the first stream processing node, wherein the third stream processing node is a message processor node for transmitting the content of the second log data between the first stream processing node and the second stream processing node;
at the third stream processing node, combining the contents of the received second log data according to the table, the index and the preset time version, or according to the table and the index to form fourth log data;
and routing the content carried by the fourth data to the corresponding second stream processing node at the third stream processing node according to the table and the area.
In the embodiment of the application, the third stream processing node between the first stream processing node and the second stream processing node merges the contents of the log data according to the table, the index and the predetermined time version, or according to the table and the index, so that the rpc connection times of the client of the Hbase database can be reduced, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
Optionally, when log merging is performed according to the table, the index, and the predetermined time version, the predetermined time version is a 30 second version, a minute version, a 5 minute version, or a 10 minute version.
Optionally, as an embodiment, the step S305 is specifically implemented as: when the table name in the third log data is called a first table, and the data with the area identifier as the first area identifier is greater than or equal to a first predetermined threshold, the table name in the third log data is called the first table, and the area identifier as the data of the first area identifier, and the area corresponding to the first table and the first area identifier is written in a put operation mode through an area server corresponding to the first table and the first area identifier in an Hbase database.
In the embodiment of the application, by performing the writing operation again when the data of one Region is greater than or equal to the first predetermined threshold, the rpc connection times of the client of the Hbase database can be reduced, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
Optionally, as another embodiment, step S305 is specifically implemented as: when the time for writing the data with the area identifier as the first area identifier in the third log data into the Hbase database is greater than or equal to a second predetermined threshold, the table name in the third log data is referred to as a first table, the area identifier is referred to as the data of the first area identifier, and the area corresponding to the first table and the first area identifier is written into the first table in a put operation manner through the area server corresponding to the first table and the first area identifier in the Hbase database.
In the embodiment of the application, the rpc connection times of the client of the Hbase database can be reduced by performing the writing operation at intervals of the second preset time, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
The method of the embodiments of the present application will be further described with reference to specific embodiments.
Fig. 4 is a specific flowchart of a writing method of the Hbase database according to an embodiment of the present application. In the embodiment shown in fig. 4, the spit and Bolt nodes of Jstorm are taken as examples to be combined with the Hbase database. Of course, it should be understood that the stream distribution node and the Bolt node in the present application may also be replaced by nodes having similar functions in other stream processing systems, and the embodiments of the present application are not limited herein. In this embodiment of the present application, Bolt nodes are divided into 3 classes, which are a first stream processing node that directly receives data from a stream distribution node, a terminal node for message processing, or a second stream processing node that is a leaf node, and a third stream processing node located on a routing path between the first stream processing node and the second stream processing node.
Of course, it should be understood that although fig. 4 shows only one third stream processing node on the routing path between the first stream processing node and the second stream processing node, in practical applications, a plurality of third stream processing nodes may also be included on the routing path between the first stream processing node and the second stream processing node. In addition, in the embodiment of the present application, there may be no third stream processing node.
The method of fig. 4 includes:
401, the Spout node distributes log data.
In this embodiment of the application, the Spout node is the stream distribution node in the embodiment shown in fig. 3.
The Spout node may pull the raw log data of the Hbase database in blocks and distribute the raw log data to downstream nodes in batches.
And 402, carrying out log analysis, processing and sending by the split bolt node.
In the embodiment of the present application, the splitbelt node is the first flow processing node of the embodiment shown in fig. 3.
It should be understood that, in the embodiment of the present application, after receiving the log data distributed in Spout, the splitbelt node needs to parse the log first. The log parsing is performed on the original log in order to structure the log text data. For example,
original log:
2016-12-12 07:05:32,162[3005][lian.du,S,-,open/abnormalEvents.json,null,null]
when the original log is analyzed, the number can be adopted to perform text segmentation. In addition, it can be defined that the value to be saved is the entire original log, or that the link to the corresponding access is to be saved such as: jen/abnormal events, and so on. Reference is made to the prior art for specific implementations.
After the log analysis is completed, index extraction can be performed on the data, and the index is used as a rowkey route.
In the embodiment of the present application, table (table) + area (Region) information is required to be used as a routing policy.
Taking the log as an example, a lia can be defined as a query index by configuration. The query index is defined to be saved in rowkey of Hbase, and subsequent queries can be used for data query through rowkey.
In addition, in the embodiment of the present application, in order to determine the Region to which the log belongs, a thread for reading the Region information may be established. Since the Region of the Hbase table is defined by rowkey, the query by rowkey is distributed to the Region, such as:
Region ID start key End key
1 00001 00100
2 00101 00200
When rowkey is 00099, the thread reading the Region information can know that the corresponding Region Id is 1.
After the splitbelt node determines the information of the table and the Region of the log, the structured log data can be sent to the next Bolt node according to the routing strategy of the table and the Region.
Of course, it should be understood that in the splitbelt node, the log content can also be merged according to table + rowkey for the data. The input for merging the log content is the index and value after the structured log.
For example, assume that two pieces of data to be merged are as follows:
Key value
lian.du open/abnormalEvents.json
lian.du open/other.json
the output results are as follows:
Figure BDA0001204289690000121
the purpose of merging the log contents is to merge a plurality of logs with the same index key into one log when saving the log into the Hbase database, and it can be simply understood that a plurality of values are saved separately by "number".
In addition, because of the huge log data, in order to avoid too large value caused by combining too many logs, combining according to table + rowkey + predetermined time version may be considered. The predetermined time version may be a 30 second version, a minute version, a 5 minute version, or a 10 minute version, among others. For example, merging according to the table + rowkey + minute version indicates merging the log contents of the same table and rowkey within 1 minute.
403, the midBolt node performs processing and routing transmission.
In this embodiment of the present application, a midBolt node is a third stream processing node in the embodiment shown in fig. 3.
After the midBolt node receives the log data routed to the node by the upstream node, the log data can be processed according to the actual situation.
Alternatively, as a solution, the midBolt node may directly route the log data routed to the node to the next Bolt node.
Or, optionally, as another scheme, the midBolt node may also merge the log content of the data according to table + rowkey, or merge the log content according to table + rowkey + a predetermined time version, and then route the merged log data to the next Bolt node.
Of course, it should be understood that step 403 is optional.
404, hbaseregionbelt nodes merge, write.
In the embodiment of the present application, the hbaseregionbelt node is the second stream processing node of the embodiment shown in fig. 3.
The HbaseRegionBolt node has the main function of performing Region combination on the log data routed to the node according to table + Region, namely combining the logs with the same table name and Region identification into the same Region. Specifically, the Region identifier may be a number of the Region.
After Region merging is completed, for each Region, the hbaseregion bolt node may establish a connection with a Region server corresponding to the Region, and write the log data into the Hbase database through the Region server in a put operation manner. It should be understood that the RegionServer here is the region server of the embodiment shown in fig. 3.
Specifically, the HbaseRegionBolt node may write data of the Region into the Hbase database when the file size corresponding to the Region is greater than or equal to a predetermined threshold.
Alternatively, the HbaseRegionBolt node may periodically write the log corresponding to the Region into the Hbase database.
FIG. 5 shows a schematic block diagram of an electronic device according to an exemplary embodiment of the present application. Referring to fig. 5, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, but may also include hardware required for other services. The processor reads the corresponding computer program from the nonvolatile memory into the memory and then runs the computer program to form a device for unlocking the user interface on a logic level. Of course, besides the software implementation, the present application does not exclude other implementations, such as logic devices or a combination of software and hardware, and the like, that is, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or logic devices.
Fig. 6 is a schematic block diagram of a stream processing system 600 according to an embodiment of the present application. Referring to fig. 6, in one software implementation, stream processing system 600 may include a stream distribution node 610, a first stream processing node 620, and a second stream processing node 630, wherein,
a stream distribution node 610 that reads original log data to be written in the Hbase database and distributes the read original log data to each first stream processing node 620;
a first stream processing node 620, configured to receive first log data distributed by the stream distribution node 610, analyze and process a log in the first log data to obtain second log data, determine a table and an area corresponding to the log in the second log data, and route content carried by the log in the second log data to the corresponding second stream processing node 630 according to the table and the area, where the first stream processing node 620 is an information stream processing node that directly receives data distributed by the stream distribution node 610;
the second stream processing node 630 merges the received logs according to a table and an area to form third log data, and names a table in the third log data as a first table, where an area identifier is data of a first area identifier, and writes an area corresponding to the first table and the first area identifier in a put operation manner through an area server corresponding to the first table and the first area identifier in the Hbase database, where the second stream processing node 630 is an end message stream processing node of the stream distribution node 610.
In the embodiment of the application, the log data are routed to the second stream processing node corresponding to the table and the area according to the table and the area, the log data of the same table and the same area are merged into the same area at the second stream processing node, and then the log data are written into the Hbase database through the area server corresponding to the table and the area, so that rpc connection times of a client of the Hbase database can be reduced, the writing times can be reduced, and the writing performance of the Hbase database can be improved.
Optionally, as an embodiment, the parsing, in the first stream processing node 620, the processing a log in the first log data to obtain second log data, and determining a table and an area corresponding to the log in the second log data includes:
the first stream processing node 620 parses and processes the logs in the first log data to perform structuring processing to obtain structured log data;
the first stream processing node 620 indexes the structured log data according to the table to which the structured log data belongs and the key;
the first stream processing node 620 performs content merging on the structured log data according to the table, the index and the predetermined time version, or according to the table and the index to form the second log;
the first flow processing node 620 determines the table and the area corresponding to the log in the second log according to the table and the index.
Optionally, as another embodiment, the system further includes a third stream processing node, which is a message handler node that transfers the content of the second log data between the first stream processing node 620 and the second stream processing node 630,
the routing, by the first stream processing node 620, the content carried by the log in the second log data to the corresponding second stream processing node 630 according to the table and the area includes: the first stream processing node 620 sends the log in the second log data to the third stream processing node, and the third stream processing node processes and routes the log to the corresponding second stream processing node 630;
wherein the processing and routing of the third stream processing node to the corresponding second stream processing node 630 includes: the third stream processing node combines the received second log data according to the table, the index and the preset time version, or according to the table and the index to form fourth log data; the third stream processing node routes the content carried by the fourth data to the corresponding second stream processing node 630 according to the table and the area.
Further, in the above two embodiments, when the merging is performed in accordance with the table, the index, and the predetermined time version, the predetermined time version is a 30-second version, a minute version, a 5-minute version, or a 10-minute version.
Optionally, as an embodiment, the writing, by the second stream processing node 630, a table name in the third log data is referred to as a first table, and a region identifier is data of a first region identifier, and the writing, in a put operation manner, of a region corresponding to the first table and the first region identifier by a region server corresponding to the first table and the first region identifier in the Hbase database includes:
when the table name in the third log data is the first table, and the data whose area identifier is the first area identifier is greater than or equal to the first predetermined threshold, the second stream processing node 630 refers to the table name in the third log data as the first table, and the data whose area identifier is the first area identifier, and writes the area corresponding to the first table and the first area identifier in a put operation manner through the area server corresponding to the first table and the first area identifier in the Hbase database.
Optionally, as an embodiment, the writing, by the second stream processing node 630, a table name in the third log data is referred to as a first table, and a region identifier is data of a first region identifier, and the writing, in a put operation manner, of a region corresponding to the first table and the first region identifier by a region server corresponding to the first table and the first region identifier in the Hbase database includes:
when the time from the table name in the third log data to the table name of the first table and the time from the data with the area identifier of the first area identifier to the Hbase database is greater than or equal to a second predetermined threshold, the second stream processing node 630 sets the table name in the third log data to the first table and sets the area identifier of the third table to the data with the area identifier of the first area identifier, and writes the area corresponding to the first table and the first area identifier in a put operation manner through the area server corresponding to the first table and the first area identifier in the Hbase database.
The stream processing system 600 may also execute the method in the embodiment shown in fig. 3, and the specific implementation may refer to the embodiments shown in fig. 3 and fig. 4, which is not described herein again in this embodiment of the present application.
The embodiment of the application also discloses a computer readable storage medium for storing a computer program, wherein the computer program comprises instructions for executing the method in the embodiment shown in the figure 3.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Language Description Language), traffic, pl (core unified Programming Language), HDCal, JHDL (Java Hardware Description Language), langue, Lola, HDL, laspam, hardsradware (Hardware Description Language), vhjhd (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (12)

1. A writing method of an Hbase database, the method comprising:
receiving first log data distributed by a stream distribution node at a first stream processing node, wherein the stream distribution node is a source node for reading original log data ready to be written into an Hbase database and distributing message streams, and the first stream processing node is a message stream processing node for directly receiving the data distributed by the stream distribution node;
analyzing and processing the logs in the first log data in a first stream processing node to obtain second log data, and determining a table and an area corresponding to the logs in the second log data;
routing the content carried by the log in the second log data to a corresponding second stream processing node according to a table and an area at the first stream processing node, wherein the second stream processing node is a terminal message stream processing node of the stream distribution node;
combining the received logs according to a table and an area in a second stream processing node to form third log data, wherein the combining of the received logs according to the table and the area in the second stream processing node means that the log data belonging to the same area of the same table are combined into one area;
and at a second stream processing node, writing data with a table name as a first table and an area identifier as a first area identifier in the third log data into an area corresponding to the first table and the first area identifier in a push put operation manner through an area server corresponding to the first table and the first area identifier in an Hbase database.
2. The method of claim 1, wherein the parsing, in the first stream processing node, the processing the log in the first log data to obtain second log data, and determining the table and the area corresponding to the log in the second log data comprises:
analyzing and processing logs in the first log data in a first stream processing node, and performing structuring processing to obtain structured log data;
indexing the structured log data in a first stream processing node according to a table to which the structured log data belongs and a keyword key;
performing content combination on the structured log data in the first stream processing node according to the table, the index and the preset time version or according to the table and the index to form second log data;
and determining a table and an area corresponding to the log in the second log data according to the table and the index in the first flow processing node.
3. The method of claim 1, wherein routing, at a first stream processing node, content carried by logs in the second log data to a corresponding second stream processing node according to tables and areas comprises:
sending the log in the second log data to a third stream processing node at the first stream processing node, wherein the third stream processing node is a message processor node for transmitting the content of the second log data between the first stream processing node and the second stream processing node;
at a third stream processing node, combining the contents of the received second log data according to the table, the index and a preset time version, or according to the table and the index to form fourth log data;
and routing the content carried by the fourth log data to the corresponding second stream processing node at the third stream processing node according to the table and the area.
4. The method of claim 2 or 3,
when combined according to the table, index, and predetermined time version, the predetermined time version is a 30 second version, a 1 minute version, a 5 minute version, or a 10 minute version.
5. The method of any one of claims 1-3,
writing a table name in the third log data as a first table and an area identifier as data of a first area identifier into an area corresponding to the first table and the first area identifier in a put operation mode through an area server corresponding to the first table and the first area identifier in an Hbase database, including:
when the table name in the third log data is called a first table, and the data with the area identifier as the first area identifier is greater than or equal to a first preset threshold, the table name in the third log data is called the first table, the area identifier as the data of the first area identifier, and the area corresponding to the first table and the first area identifier is written in a put operation mode through an area server corresponding to the first table and the first area identifier in an Hbase database.
6. The method of any one of claims 1-3,
writing a table name in the third log data as a first table and an area identifier as data of a first area identifier into an area corresponding to the first table and the first area identifier in a put operation mode through an area server corresponding to the first table and the first area identifier in an Hbase database, including:
when the time for writing the data with the first area identifier in the third log data into the Hbase database is greater than or equal to a second predetermined threshold, the table name in the third log data is referred to as a first table, the area identifier is referred to as the data of the first area identifier, and the area corresponding to the first table and the first area identifier is written in a put operation mode through the area server corresponding to the first table and the first area identifier in the Hbase database.
7. A stream processing system, comprising: a stream distribution node, a first stream processing node, and a second stream processing node, wherein,
the stream distribution node reads original log data to be written into an Hbase database and distributes the original log data to each first stream processing node;
the first stream processing node receives first log data distributed by a stream distribution node, analyzes and processes a log in the first log data to obtain second log data, determines a table and an area corresponding to the log in the second log data, and routes content carried by the log in the second log data to the corresponding second stream processing node according to the table and the area, wherein the first stream processing node is an information stream processing node which directly receives the data distributed by the stream distribution node;
and a second stream processing node, merging the received logs according to tables and areas to form third log data, and naming a table in the third log data as a first table, where an area identifier is data of a first area identifier, and writing the third log data into an area corresponding to the first table and the first area identifier in a push operation manner through an area server corresponding to the first table and the first area identifier in an Hbase database, where the second stream processing node is an end message stream processing node of the stream distribution node, and in the second stream processing node, merging the received logs according to tables and areas refers to merging log data belonging to the same area of the same table into one area.
8. The system of claim 7, wherein the parsing the log in the first stream processing node to obtain second log data, and the determining the table and the area corresponding to the log in the second log data comprises:
the first stream processing node analyzes and processes the logs in the first log data and carries out structuring processing to obtain structured log data;
the first stream processing node indexes the structured log data according to the table to which the structured log data belongs and the keyword key;
the first flow processing node merges the contents of the structured log data according to the table, the index and the preset time version or according to the table and the index to form the second log data;
and the first flow processing node determines a table and an area corresponding to the log in the second log data according to the table and the index.
9. The system of claim 7, further comprising a third stream processing node, the third stream processing node being a message handler node that passes the contents of the second log data between the first stream processing node and the second stream processing node,
the first stream processing node routing the content carried by the log in the second log data to the corresponding second stream processing node according to the table and the area comprises: the first stream processing node sends the log in the second log data to a third stream processing node, and the third stream processing node processes and routes the log to the corresponding second stream processing node;
wherein the processing and routing of the third stream processing node to the corresponding second stream processing node comprises: the third stream processing node combines the contents of the received second log data according to the table, the index and the preset time version, or according to the table and the index to form fourth log data; and the third stream processing node routes the content carried by the fourth log data to the corresponding second stream processing node according to the table and the area.
10. The system of claim 8 or 9,
when combined according to the table, index, and predetermined time version, the predetermined time version is a 30 second version, a 1 minute version, a 5 minute version, or a 10 minute version.
11. The system of any one of claims 7-9,
the second stream processing node refers to a table name in the third log data as a first table, and writes a region corresponding to the first table and the first region identifier in a put operation manner through a region server corresponding to the first table and the first region identifier in an Hbase database, where the data includes data of the first region identifier and a region name in the third log data, and the data includes:
when the table name in the third log data is called a first table, and the data with the area identifier as the first area identifier is greater than or equal to a first predetermined threshold, the second stream processing node calls the table name in the third log data as the first table, and writes the data with the area identifier as the first area identifier into the area corresponding to the first table and the first area identifier in a put operation manner through the area server corresponding to the first table and the first area identifier in the Hbase database.
12. The system of any one of claims 7-9,
the second stream processing node refers to a table name in the third log data as a first table, and writes a region corresponding to the first table and the first region identifier in a put operation manner through a region server corresponding to the first table and the first region identifier in an Hbase database, where the data includes data of the first region identifier and a region name in the third log data, and the data includes:
when the time for writing the data with the area identifier as the first area identifier in the third log data into the Hbase database is greater than or equal to a second predetermined threshold, the second stream processing node writes the table name in the third log data as the first table and the area identifier as the data of the first area identifier into the first table, and writes the area corresponding to the first table and the first area identifier in a put operation manner through the area server corresponding to the first table and the first area identifier in the Hbase database.
CN201710009722.7A 2017-01-06 2017-01-06 Database writing method and database system Active CN107016039B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710009722.7A CN107016039B (en) 2017-01-06 2017-01-06 Database writing method and database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710009722.7A CN107016039B (en) 2017-01-06 2017-01-06 Database writing method and database system

Publications (2)

Publication Number Publication Date
CN107016039A CN107016039A (en) 2017-08-04
CN107016039B true CN107016039B (en) 2020-11-03

Family

ID=59440596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710009722.7A Active CN107016039B (en) 2017-01-06 2017-01-06 Database writing method and database system

Country Status (1)

Country Link
CN (1) CN107016039B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117423B (en) * 2017-06-23 2022-05-03 阿里巴巴集团控股有限公司 Table partition configuration method, device and system of database system
CN109951508B (en) * 2017-12-21 2022-02-25 中国移动通信集团重庆有限公司 Zookeeper-based request coordination method and device, computer equipment and storage medium
CN110569222B (en) * 2019-08-23 2022-11-15 浙江大搜车软件技术有限公司 Link tracking method and device, computer equipment and readable storage medium
CN111309805B (en) * 2019-12-13 2023-10-20 华为技术有限公司 Data reading and writing method and device for database
CN112084171B (en) * 2020-08-14 2024-04-12 浪潮思科网络科技有限公司 Operation log writing method, device, equipment and medium based on Cassandra database
CN112328702B (en) * 2020-12-04 2024-03-26 中信银行股份有限公司 Data synchronization method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
CN103617211A (en) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 HBase loaded data importing method
CN103838830A (en) * 2014-02-18 2014-06-04 广东亿迅科技有限公司 Data management method and system of HBase database
CN104077420A (en) * 2014-07-21 2014-10-01 北京京东尚科信息技术有限公司 Method and device for importing data into HBase database
CN104199901A (en) * 2014-08-27 2014-12-10 浪潮集团有限公司 Method for batch merging of hbase table regions
US20150339075A1 (en) * 2010-09-29 2015-11-26 Jae-Hyeon Ju Non-volatile memory systems and methods of managing power of the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
US20150339075A1 (en) * 2010-09-29 2015-11-26 Jae-Hyeon Ju Non-volatile memory systems and methods of managing power of the same
CN103617211A (en) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 HBase loaded data importing method
CN103838830A (en) * 2014-02-18 2014-06-04 广东亿迅科技有限公司 Data management method and system of HBase database
CN104077420A (en) * 2014-07-21 2014-10-01 北京京东尚科信息技术有限公司 Method and device for importing data into HBase database
CN104199901A (en) * 2014-08-27 2014-12-10 浪潮集团有限公司 Method for batch merging of hbase table regions

Also Published As

Publication number Publication date
CN107016039A (en) 2017-08-04

Similar Documents

Publication Publication Date Title
CN107016039B (en) Database writing method and database system
US8326821B2 (en) Transforming relational queries into stream processing
CN111241078A (en) Data analysis system, data analysis method and device
Brenna et al. Distributed event stream processing with non-deterministic finite automata
US8677366B2 (en) Systems and methods for processing hierarchical data in a map-reduce framework
CN113067883B (en) Data transmission method, device, computer equipment and storage medium
US9122725B2 (en) Tuple routing in a streaming application
CN107038161B (en) Equipment and method for filtering data
CN103617211A (en) HBase loaded data importing method
CN110928851B (en) Method, device and equipment for processing log information and storage medium
Li et al. The overview of big data storage and management
CN110555038A (en) Data processing system, method and device
CN111680017A (en) Data synchronization method and device
CN111221851A (en) Lucene-based mass data query and storage method and device
US10592500B2 (en) Eviction stream for data joins
CN112506887B (en) Vehicle terminal CAN bus data processing method and device
CN117056303B (en) Data storage method and device suitable for military operation big data
US9690800B2 (en) Tracking tuples to reduce redundancy in a graph
CN113672668A (en) Log real-time processing method and device in big data scene
KR101955376B1 (en) Processing method for a relational query in distributed stream processing engine based on shared-nothing architecture, recording medium and device for performing the method
US9830368B1 (en) Asynchronous parallel processing of log data
CN116501805A (en) Stream data system, computer equipment and medium
Park et al. A development of streaming big data analysis system using in-memory cluster computing framework: Spark
CN114048228A (en) State storage updating method, device, equipment and storage medium
CN113590651A (en) Cross-cluster data processing system and method based on HQL

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant