CN105528431B - 一种基于分布式系统的海量交通数据快速处理方法 - Google Patents

一种基于分布式系统的海量交通数据快速处理方法 Download PDF

Info

Publication number
CN105528431B
CN105528431B CN201510925950.XA CN201510925950A CN105528431B CN 105528431 B CN105528431 B CN 105528431B CN 201510925950 A CN201510925950 A CN 201510925950A CN 105528431 B CN105528431 B CN 105528431B
Authority
CN
China
Prior art keywords
traffic data
traffic
data
memory
zone
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
CN201510925950.XA
Other languages
English (en)
Other versions
CN105528431A (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.)
New wisdom cognition Marketing Data Services Ltd
Original Assignee
New Wisdom Cognition Marketing Data Services 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 New Wisdom Cognition Marketing Data Services Ltd filed Critical New Wisdom Cognition Marketing Data Services Ltd
Priority to CN201510925950.XA priority Critical patent/CN105528431B/zh
Publication of CN105528431A publication Critical patent/CN105528431A/zh
Application granted granted Critical
Publication of CN105528431B publication Critical patent/CN105528431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

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

Abstract

本发明提供一种基于分布式系统的海量交通数据快速处理方法,包括:步骤a:在时间和空间上将海量交通数据分块,分块后的所述交通数据具有时间属性标识和空间属性标识;步骤b:在内存中以细粒度存储一定数量的常用的所述交通数据,在文件系统中以粗粒度存储除所述内存存储的交通数据之外的交通数据;步骤c:当处理程序请求处理数据时,判断所请求的交通数据是否在内存中;步骤d:如果所请求的交通数据存储在内存中,则直接处理相应数据;以及步骤e:如果所请求的交通数据存储在所述文件系统中,则先根据文件信息从所述文件系统中将所述交通数据读入内存,再对所述交通数据进行处理。本发明方法查询速度快,且效率高。

Description

一种基于分布式系统的海量交通数据快速处理方法
技术领域
本发明涉及分布式内存计算平台Spark以及分布式文件系统HDFS领域,特别涉及一种基于分布式系统的海量交通数据快速处理方法。
背景技术
Spark是一个内存计算框架,提供和Hadoop(分布式系统基础框架)类似的MapReduce操作,但是中间结果不是存在文件系统上,而是在内存中,相比于Hadoop,在运算速度上有很大提升。
HDFS的全称为Hadoop Distributed Filesystem,是Hadoop的旗舰级文件系统。其思想来源于Google文件系统(Google File System,GFS),并适合一次写入、多次读取的访问模式,满足城市多源数据应用场景。它是一个适合存储大文件的分布式文件系统,可以作为Hadoop和Spark的数据源。
在内存中使用缓存技术,将常用数据块在内存中持久化,加快数据的处理速度。借助于Spark中的RDD(Resilient Distributed Datasets,弹性分布式数据集)将数据在内存中做标记并持久化,使得数据能被快速定位及访问。在内存中的预留空间使用完时,使用一种替换算法将不常用的数据块从内存中删除,目前比较适合的替换方法是最近最少使用(LRU)替换算法。
而随着目前城市交通发展迅速,交通数据量日益庞大,数据处理费时、效率低。如何在分布式系统的基础上实现快速处理海量交通数据正成为研究的方向。
发明内容
本发明针对上述交通数据量大,处理比较费时的技术问题,提出一种基于分布式系统的海量交通数据快速处理方法,该方法查询速度快,且效率高。
一种基于分布式系统的海量交通数据快速处理方法,包括以下步骤:
步骤a:在时间和空间上将海量交通数据分块,分块后的所述交通数据具有时间属性标识和空间属性标识;
步骤b:在内存中以细粒度存储一定数量的常用的所述交通数据,在文件系统中以粗粒度存储除所述内存存储的交通数据之外的交通数据;
步骤c:当处理程序请求处理数据时,判断所请求的交通数据是否在内存中;
步骤d:如果所请求的交通数据存储在内存中,则直接处理相应数据;以及
步骤e:如果所请求的交通数据存储在所述文件系统中,则先根据文件信息从所述文件系统中将所述交通数据读入内存,再对所述交通数据进行处理。
优选地,所述在时间上将交通数据分块是将每天的交通数据按顺序分为五个时间段:凌晨、早高峰、平峰即早晚高峰之间、晚高峰以及深夜,并用数字1~5作为其时间属性标识。
优选地,所述在空间上将交通数据分块是根据所述交通数据产生地点的经纬度信息找到其对应的交通小区,并将小区编号作为其空间属性标识。
优选地,所述交通小区是根据城市居民区以及交通道路将城市划分而成的小区,所述交通小区具有包括小区编号、交通小区质心、交通小区边界点集以及交通小区描述的域。
优选地,所述找到交通数据对应的交通小区包括如下步骤:
步骤a1:获取所述交通数据产生地点P的经度和纬度信息;
步骤a2:计算点P和所有交通小区质心之间的距离,并按照距离从近到远排序;步骤a3:按照所述顺序根据计算获得的所述距离判断所述点P是否在对应的交通小区内;
步骤a4:如果在对应的交通小区内,则返回对应的小区编号;否则继续找,如果最后也没有找到,则返回-1;
步骤a5:找到所述交通数据对应的交通小区后,在所述交通数据上增加一个字段,记录其对应的交通小区编号,作为空间属性标识。
优选地,步骤b中,在内存中以细粒度存储交通数据,是同时按照时间和小区号进行划分,将时间和小区号(<时间,小区号>)两者结合起来作为所述交通数据的键值。
优选地,步骤b中,在文件系统中以粗粒度存储交通数据,是在各个时间段的基础上,将所有交通小区分为若干个集合,并在文件开始位置记录各个小区在文件中的位置信息。
优选地,步骤c中,对于要处理的交通数据,根据其时间和空间属性查找其是否存在内存中。
优选地,步骤e中根据文件信息从所述文件系统中读取所述交通数据进一步包括以下步骤:
步骤e1:根据时间和空间属性获得所述交通数据所在的文件的文件名以定位该文件;
步骤e2:根据所述文件开头的数据位置索引信息,找到交通数据在文件中的具体位置,以快速读取。
优选地,所述内存中只保留一部分空间用于缓存所述常用交通数据,当新的交通数据需要读入内存时,若内存中预留空间不足,则根据最近最少使用原则从内存中剔除一部分数据,并将所需数据读入内存中。
根据本发明的机遇分布式系统的交通数据处理方法,对于海量交通数据,可以快速、高效地查询,大大提高了数据处理效率。
附图说明
图1是根据本发明方法的数据处理流程图。
图2是HDFS与内存映射关系图。
图3是内存数据细粒度存储示意图。
图4为北京市的交通小区划分示意图。
具体实施方式
以下结合附图对本发明进行详细说明。以下实施例并不是对本发明的限制。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中。
图1是根据本发明方法的数据处理流程图,包含数据的预处理过程(步骤S1~S2)和数据请求处理过程(步骤S3~S6)。
下面先对数据的预处理过程进行详细说明。预处理包括将原始数据按照时间和空间划分,增加时间和空间标识字段,并按照规则存储在文件系统上。
首先在时间和空间上将海量交通数据分块,分块后的所述交通数据具有时间属性标识和空间属性标识(步骤S1)。
城市交通系统每天都会产生大量的数据,对数据进行的大部分操作并不需要每次都对所有文件进行,而是根据某种属性选择一部分数据进行操作。即使要处理大量的数据,由于内存的限制,也需要对数据进行分块处理,所以需要提高的就是获取相应数据块的速度。由于交通数据在时间和空间的分布上有明显的规律(客流聚集、早晚高峰等),所以选择时间和空间这两个属性来作为海量交通数据分块的指标。
1)关于在时间上分块
交通数据中时间字段是以字符串格式存储的,格式为yyyy-MM-dd HH:mm:ss(如2015-08-3014:42:32)。根据客流规律,将每天按时间分为五个时间段:凌晨、早高峰、平峰(早晚高峰之间)、晚高峰以及深夜,分别用数字1到5作为时间属性标识。分时段方法如下:对于时段[startTime,endTime),只需要将每条数据的时间字段time和startTime、endTime进行比较即可。
2)关于在空间上分块
在空间上分块指根据交通数据产生地点的经纬度信息,找到其对应的交通小区。如图4所示为北京市的交通小区划分示意图。交通小区是一种对城市的划分方法,根据城市居民区以及交通道路将城市划分为一个个小区。它具有包括小区编号、交通小区质心、交通小区边界点集以及交通小区描述的多个域(如下表所示),另外还包括周长、面积等信息。
说明
id 交通小区编号,从1开始
center 交通小区质心
pointsList 交通小区边界点集
desc 交通小区描述,如“工人体育场”
circumference 交通小区周长,单位:m
area 交通小区面积,单位:m<sup>2</sup>
划分交通数据块时以交通小区作为最小的划分单元。根据该交通数据产生地点的经纬度信息找到其所属交通小区的方法如下:
步骤a1:获取该交通数据产生地点P的经度和纬度信息,如(lng,lat);
步骤a2:计算点P和所有交通小区质心之间的距离,并按照距离从近到远排序;
步骤a3:按照该顺序根据计算获得的距离判断该地点P是否在对应的交通小区内;
步骤a4:如果在对应的交通小区内,则返回对应的小区编号;否则继续找,如果最后也没有找到,则返回-1;以及
步骤a5:找到该交通数据对应的交通小区后,在交通数据上增加一个字段,记录其对应的交通小区编号,作为空间属性标识。
如上所述,交通数据分块后,使得处理程序能够快速获取所需部分的数据。
接下来,在内存中以细粒度存储一定数量的常用的交通数据,在文件系统中以粗粒度存储除其它交通数据(步骤S2)。
若把交通数据只按照时间或者仅仅按照空间属性来划分数据块,那么从内存中提取另一种属性就需要读取多个这样的数据块后读取其中的部分数据,这会使得数据的访问效率变低。这就需要将数据的粒度变得更小,使用时间和空间两种属性同时划分数据。对于M个时间段以及N个小区,就会产生M×N个数据块。这种情况下数据的组合会更加灵活和快速。
另一方面,HDFS是面向大文件设计的,当存在大量的小文件时,会极大地降低HDFS的访问效率。本发明针对这个问题提出了分区而治的方法:在内存中以细粒度存储交交通数据;在文件系统上以粗粒度存储交通数据文件;同时在文件中提供细粒度的索引,加快数据从文件到内存的转化。具体如下:
1)在内存中,使用Spark提供的RDD来存储数据,使用时间和空间标识组合作为数据块的键值(标识)。在时间和空间标识中间加特殊符号(如'#')作为分隔,例如,“20150802#02#35”表示它所对应的是2015年8月2号早高峰时段,在35号交通小区内的数据。如图3所示是内存数据细粒度存储示意图。本方法在内存中将数据以细粒度划分,就是为了使得基于各种属性的数据集合的获取更加方便和灵活。
2)在文件系统中,使用类似于内存数据块的键值作为文件名。例如,将500个交通小区分为五组(五个交通小区组),分别用1至5代表,第i(1<=i<=5)组包含的小区范围是[(i-1)*100+1,i*100]。如第1组表示的小区编号范围是[1,100]。将每个时段分为5组小区数据分别存入5个文件中。文件名定义为date#t#groupId,其中date是日期,t为时段,groupId表示交通小区组编号。如“20150802#02#1”表示它所对应的是2015年8月2号早高峰时段,在1号交通小区组内的所有交通小区的数据。为了使得文件中某一小区的数据能够被快速转换到内存,还要在每个文件的开头建立各个小区交通数据在文件中的位置索引。
位置索引格式为:zoneId,startLine,endLine。其中zoneId是指小区编号,作为小区的标识;startLine指的是特定小区编号的数据在此文件中的开始行号;endLine指的是此小区的数据在文件中的结束行号。通过这三个字段即可获得任意一个交通小区数据在文件中的位置。
交通小区组:一个交通小区组包含多个交通小区,按照上面的划分,[1,100],[101,200],...等分别是一个交通小区组,每个组有对应的数字编号(groupId)作为标识。
图2是HDFS(文件系统)与内存映射关系图。数据在HDFS上是以粗粒度存储的,在内存中以细粒度存储,所以在文件系统上一个文件可以对应多个内存数据块。图中b1,b2,...分别代表某一时段的不同交通小区的数据。也就是说,文件系统中例如b1,b2和b3共同组成一个文件,而在内存中则将它们分开,b1,b2,b3分成三个内存数据块分开存储。
数据预处理完成后,即可以进行数据请求处理。下面详细介绍数据请求处理过程(步骤S3~S6)。
处理程序请求处理交通数据,该交通数据为日期为date、时段为t、小区编号为zoneId的数据(步骤S3)。
判断所请求的交通数据是否在内存中(步骤S4)。该步骤中,先确定所需数据的时间和空间属性标识,然后根据这两个属性判断内存中是否已经包含所需数据。即:首先确定数据的键值key="date#t#zoneId",然后查找内存中是否存在此键值。
如果所请求的交通数据存储在内存中,则直接从内存中提取并处理相应数据(步骤S6)。
如果所请求的交通数据不在内存中,则需要从文件系统中找到交通数据并读入内存(步骤S5)。然后再对所述交通数据进行处理。具体包括如下步骤:
e1:找到该交通数据的小区编号zoneId对应的交通小区组号groupId,然后根据date,t以及groupId确定数据文件名(文件路径名)filepath;
e2:根据获得的前述filepath,访问HDFS上对应的文件,读取文件开头的小区数据索引信息,快速找到数据在文件中的行号范围,并读取小区编号为zoneId的数据块;
e3:将数据读入内存后,持久化并设置"date#t#zoneId"作为键值。
通过上述方法,即可快速而高效地从分布式文件系统中读取交通数据至内存中。
本发明方法中,内存中只保留一部分空间(大小根据实际环境而定)用于缓存经常需要处理的交通数据。当新的数据要读入内存时,若内存中预留空间剩余不足,则根据最近最少使用(LRU)原则从内存中剔除一部分数据,并将所需数据读入内存中,最后再对内存中的数据做相应的处理。
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。通过这种内存替换算法,可以使用有限的内存空间来尽可能好的提高数据的访问效率。
显然,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求书范围内。

Claims (8)

1.一种基于分布式系统的海量交通数据快速处理方法,其特征在于,包括以下步骤:
步骤a:在时间和空间上将海量交通数据分块,分块后的所述交通数据具有时间属性标识和空间属性标识;
步骤b:在内存中以细粒度存储一定数量的常用的所述交通数据,在文件系统中以粗粒度存储除所述内存存储的交通数据之外的交通数据;
步骤c:当处理程序请求处理数据时,判断所请求的交通数据是否在内存中;
步骤d:如果所请求的交通数据存储在内存中,则直接处理相应数据;以及
步骤e:如果所请求的交通数据存储在所述文件系统中,则先根据文件信息从所述文件系统中将所述交通数据读入内存,再对所述交通数据进行处理,
步骤b中,在内存中以细粒度存储交通数据,是同时按照时间和小区号进行划分,将时间和小区号<时间,小区号>两者结合起来作为所述交通数据的键值;在文件系统中以粗粒度存储交通数据,是在各个时间段的基础上,将所有交通小区分为若干个集合,并在文件开始位置记录各个小区在文件中的位置信息。
2.根据权利要求1所述的方法,其特征在于,所述在时间上将交通数据分块是将每天的交通数据按顺序分为五个时间段:凌晨、早高峰、平峰即早晚高峰之间、晚高峰以及深夜,并用数字1~5作为其时间属性标识。
3.根据权利要求2所述的方法,其特征在于,所述在空间上将交通数据分块是根据所述交通数据产生地点的经纬度信息找到其对应的交通小区,并将小区编号作为其空间属性标识。
4.根据权利要求3所述的方法,其特征在于,所述交通小区是根据城市居民区以及交通道路将城市划分而成的小区,所述交通小区具有包括小区编号、交通小区质心、交通小区边界点集以及交通小区描述的域。
5.根据权利要求4所述的方法,其特征在于,找到交通数据对应的交通小区包括如下步骤:
步骤a1:获取所述交通数据产生地点P的经度和纬度信息;
步骤a2:计算点P和所有交通小区质心之间的距离,并按照距离从近到远排序;
步骤a3:按照顺序根据计算获得的所述距离判断所述点P是否在对应的交通小区内;
步骤a4:如果在对应的交通小区内,则返回对应的小区编号;否则继续找,如果最后也没有找到,则返回-1;以及
步骤a5:找到所述交通数据对应的交通小区后,在所述交通数据上增加一个字段,记录其对应的交通小区编号,作为空间属性标识。
6.根据权利要求5所述的方法,其特征在于,步骤c中,对于要处理的交通数据,根据其时间和空间属性查找其是否存在内存中。
7.根据权利要求6所述的方法,其特征在于,步骤e中根据文件信息从所述文件系统中读取所述交通数据进一步包括以下步骤:
步骤e1:根据时间和空间属性获得所述交通数据所在的文件的文件名以定位该文件;和
步骤e2:根据所述文件开头的数据位置索引信息,找到交通数据在文件中的具体位置,以快速读取。
8.根据权利要求1所述的方法,其特征在于,所述内存中只保留一部分空间用于缓存常用交通数据,当新的交通数据需要读入内存时,若内存中预留空间不足,则根据最近最少使用原则从内存中剔除一部分数据,并将所需数据读入内存中。
CN201510925950.XA 2015-12-11 2015-12-11 一种基于分布式系统的海量交通数据快速处理方法 Active CN105528431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510925950.XA CN105528431B (zh) 2015-12-11 2015-12-11 一种基于分布式系统的海量交通数据快速处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510925950.XA CN105528431B (zh) 2015-12-11 2015-12-11 一种基于分布式系统的海量交通数据快速处理方法

Publications (2)

Publication Number Publication Date
CN105528431A CN105528431A (zh) 2016-04-27
CN105528431B true CN105528431B (zh) 2019-05-14

Family

ID=55770654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510925950.XA Active CN105528431B (zh) 2015-12-11 2015-12-11 一种基于分布式系统的海量交通数据快速处理方法

Country Status (1)

Country Link
CN (1) CN105528431B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112991729B (zh) * 2021-02-25 2022-05-20 杭州海康威视数字技术股份有限公司 时段划分方法、装置以及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799486A (zh) * 2012-06-18 2012-11-28 北京大学 一种MapReduce系统中的数据采样和划分方法
CN104598495A (zh) * 2013-10-31 2015-05-06 南京中兴新软件有限责任公司 基于分布式文件系统的分级存储方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829690B1 (en) * 2000-05-23 2004-12-07 Navteq North America, Llc Method and system for accessing spatially organized geographic data in blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799486A (zh) * 2012-06-18 2012-11-28 北京大学 一种MapReduce系统中的数据采样和划分方法
CN104598495A (zh) * 2013-10-31 2015-05-06 南京中兴新软件有限责任公司 基于分布式文件系统的分级存储方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
分布式流处理技术综述;崔星灿等;《计算机研究与发展》;20150215;第52卷(第2期);第318-332页
常规城市公共交通系统规划关键技术研究;杨涛;《中国优秀硕士学位论文全文数据库》;20090115(第01期);第32-44、66-74页

Also Published As

Publication number Publication date
CN105528431A (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
CN102999519B (zh) 一种数据库的读写方法及系统
CN110162528A (zh) 海量大数据检索方法及系统
CN100523735C (zh) 一种基于小网格路网组织结构的快速地图匹配方法
CN104850572B (zh) HBase非主键索引构建与查询方法及其系统
CN102890722B (zh) 应用于时序历史数据库的索引方法
CN104246722B (zh) 用于基于哈希表排除数据重复的存储系统,存储控制器及方法
CN107167136B (zh) 一种面向电子地图的位置推荐方法及系统
CN103488709B (zh) 一种索引建立方法及系统、检索方法及系统
CN104199827B (zh) 基于局部敏感哈希的大规模多媒体数据的高维索引方法
CN110413611A (zh) 数据存储、查询方法及装置
CN110268399A (zh) 用于维护操作的合并树修改
KR100903961B1 (ko) 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템
CN109635068A (zh) 云计算环境下的海量遥感数据高效组织及快速检索方法
CN104765876A (zh) 海量gnss小文件云存储方法
CN106599040A (zh) 一种面向云存储的分层索引方法与检索方法
CN106682042B (zh) 一种关系数据缓存及查询方法及装置
CN106557272A (zh) 一种高效的传感器历史数据归档方法
WO2015100549A1 (zh) 一种图数据查询方法及装置
CN103577418A (zh) 海量文档分布式检索排重系统和方法
CN104765782B (zh) 一种索引排序更新方法及装置
CN105468728B (zh) 一种获取截面数据的方法和系统
CN105528431B (zh) 一种基于分布式系统的海量交通数据快速处理方法
CN107133334A (zh) 基于高带宽存储系统的数据同步方法
CN102354301A (zh) 缓存分区方法
Brakatsoulas et al. Practical data management techniques for vehicle tracking data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 201209 Chuansha Road, Shanghai, No. 221, room 11, building 955

Applicant after: Bocom Intelligent Network Technology Co. Ltd.

Address before: 201209 Chuansha Road, Shanghai, No. 221, room 11, building 955

Applicant before: BOCOM Smart Network Technologies Inc.

COR Change of bibliographic data
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190411

Address after: 201201 221, room 11, 955 Chuansha Road, Pudong New Area, Shanghai.

Applicant after: New wisdom cognition Marketing Data Services Ltd

Address before: 201209 221, room 11, 955 Chuansha Road, Pudong New Area, Shanghai.

Applicant before: Bocom Intelligent Network Technology Co. Ltd.

GR01 Patent grant
GR01 Patent grant