CN109684438B - 一种具有父子层级结构检索数据的方法 - Google Patents

一种具有父子层级结构检索数据的方法 Download PDF

Info

Publication number
CN109684438B
CN109684438B CN201811599605.1A CN201811599605A CN109684438B CN 109684438 B CN109684438 B CN 109684438B CN 201811599605 A CN201811599605 A CN 201811599605A CN 109684438 B CN109684438 B CN 109684438B
Authority
CN
China
Prior art keywords
level
dictionary tree
child
label
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
CN201811599605.1A
Other languages
English (en)
Other versions
CN109684438A (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.)
Kelai Network Technology Co.,Ltd.
Original Assignee
Colasoft 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 Colasoft Co ltd filed Critical Colasoft Co ltd
Priority to CN201811599605.1A priority Critical patent/CN109684438B/zh
Publication of CN109684438A publication Critical patent/CN109684438A/zh
Application granted granted Critical
Publication of CN109684438B publication Critical patent/CN109684438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明属于信息检索技术领域,公开了一种具有父子层级结构检索数据的方法,该方法包括以下步骤:A.建立字典树,在系统中建立所需数据对应路径的字典树;B.第一级检索,从步骤B中保存的字典树子节点E开始,检索数据的第一层标签A;C.第二级检索,从步骤C中保存的字典树子节点M开始,检索数据的第一层标签A的子标签为子标签层级B;D.第三级检索,检索数据的子标签层级B的子标签为子标签层级C;E.第N次检索,第四次检索后进行第N次检索,继续查找字典树中是否有其它的子节点。通过这种实时保存字典树的当前查找节点的方式,避免从头开始查找。

Description

一种具有父子层级结构检索数据的方法
技术领域
本发明属于信息检索技术领域,尤其涉及一种具有父子层级结构检索数据的方法。
背景技术
在很多通过具有父子层级结构关系的文档(如JSON文档、XML文档)来传输业务数据的场景中,用户定义了一些需要检索的数据,然后需要检索文档来获取这些的数据,以便达到某种业务监控的目的。
例如存在下述需求,在如下格式的XML文档中,提取学生的姓名、年龄、年级、班级、城市等信息:
<info>
<teacher grade="3" class="1">
<name>李四</name>
<age>28</age>
<city>重庆</city>
</teacher>
<student grade="3" class="1">
<name>张三</name>
<age>8</age>
<city>成都</city>
</student>
<other1>
</other1>
<other2>
</other2>
</info>
传统的检索方法(简称方法一),是在XML文档中进行逐一查找来获取这些数据。即在文档中按顺序查找info student name三个标签,获取到学生的姓名。以此类推,通过重新查找其它标签来获取到其它期望的数据。
另一种检索方法(简称方法二),是在检索前将姓名、年龄等数据在XML文档中的路径与其输出函数建立映射关系,如路径info-student-name对应输出函数outputStudentName,当检索到info student name三个标签时,查找到其对应的输出函数,即可通过输出函数获取到学生的姓名。
上述方法一,是在文档中进行逐一查找,当每个文档需要检索的数据足够多时,如在上述文档中还想获取学生的其它信息,不管这些信息在文档中是否存在,都需要进行查找后才能确定,这种逐一查找标签的方法,势必会存在性能低下的问题,无法满足实时业务监控的需求。
上述方法二,每次查找路径对应的输出函数时,都要将标签按照层级关系,顺序拼接成一个字符串,此时涉及到字符串的内存申请、拷贝、释放等问题。且每次查找都是一次字符串的查找过程,要在所有的映射关系中进行匹配。另外,当查找完info-student-name后,再查找info-student-age时,路径info-student存在重复查找的缺陷,以及,当查找info-teacher-name时,会查找失败,浪费了之前的字符串拼接耗时。当XML文档中标签层级足够多时,上述几种缺陷也会对检索效率造成足够的影响。
发明内容
本发明的目的在于克服现有技术中存在的上述问题,提供一种具有父子层级结构检索数据的方法,能够对文档的标签按需,进行二次检索,且在检索过程中无需拼接字符串,就能获取到所有期望的数据,提升单个文档的检索效率。
为实现上述目的,本发明采用的技术方案如下。
一种具有父子层级结构检索数据的方法,其特征在于:该方法包括以下步骤:
a.建立字典树,在系统中建立所需数据对应路径的字典树,所述字典树中具有多个标签层级,标签层级之间具有分隔号;
b.第一级检索,从字典树的根节点开始,检索数据的标签层级A,如果字典树中存在标签层级A,且标签层级A有内容为分隔号的子节点E,则标签层级A在字典树中存在有二级子节点F,将字典树中的该子节点E压栈,进行第二级检索;如果标签层级A没有内容为分隔号的子节点E,则标签层级A在字典树中不存在二级子节点F,此时标签层级A的子标签不需要检索,则检索同级,如果存在同级,返回第一级检索,如果不存在同级,则结束;
c.第二级检索,从步骤b中保存的字典树子节点E开始,检索数据的标签层级A的子标签为子标签层级B,即数据的第二层标签,如果字典树中存在子标签层级B,且子标签层级B有内容为分隔号的子节点M,则说明子标签层级B在字典树中存在二级子节点N,由于子标签层级B是标签层级A的子标签,当前检索的数据在字典树中存在三级子节点N,则将字典树中的该子节点M压栈,进行第三级检索;如果没有内容为分隔号的子节点M,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,回退到字典树的根节点,返回第一级检索;如果字典树中不存在子标签层级B,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,返回到字典树的根节点,返回第一级检索;
d. 第三级检索,从步骤c中保存的字典树子节点M开始,检索数据的子标签层级B的子标签为子标签层级C,即数据的第三层标签,如果字典树中存在子标签层级C,且子标签层级C在字典树中存在二级子节点,则说明当前检索的数据在字典树中存在四级子节点,进行第四级检索,不存在四级子节点,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;如果字典树中不存在子标签层级C,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;
e. 第n次检索,第四次检索后进行第n次检索,继续查找字典树中是否有其它的子节点,直到没有用户所需的数据,则数据解析完毕,其中n≥5。
在步骤a中,所述路径的结束节点设有标记,所述标记绑定对应的多个输出函数。
所述数据包括XML、JSON和Excel文档。
所述分隔号为“-”、“、”或“.”隔离标签层级。
采用本发明的优点在于:
1、通过与字典树和栈相结合,在检索文档标签的过程中,每次检索子标签时,将字典树的当前查找节点压栈,检索完毕后出栈,通过这种实时保存字典树的当前查找节点的方式,避免从头开始查找,通过多次循环检索,实现了检索的递归过程,在递归过程中,将字典树中的位置压栈,递归结束后检索其同级节点时出栈,递归检索层级标签的时候,通过压栈和出栈能够获取当前查找节点,避免重复查找,解决了方法一中的逐一查找缺陷和方法二中字符串info-student重复查找的缺陷。
2、通过在字典树中查找标签时,标签本身即可判断,且当某个字符不同时可立即退出查找,解决了方法二中拼接字符串时内存申请、拷贝、释放的缺陷。
3、通过发现某标签在字典树中不存在时,意味着此标签及其子标签都不是需要检索的标签,此时可直接跳过此标签,解决了方法二中浪费查找info-teacher-name的缺陷。
4、通过整个文档的解析过程中,只需对标签按检索一次,即可完成所有数据的检索,解决了方法一中的逐一查找缺陷。
5、通过标记绑定对应的多个输出函数可以对应多个信息,便于查询更多的信息。
6、通过XML、JSON和Excel文档使用,应用范围广。
7、通过符号用于分隔号,便于观察标签层级之前的隔离点。
附图说明
图1为本发明流程示意图。
图2为本发明XML文档示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
实施例1
如图1所示,一种具有父子层级结构检索数据的方法,其特征在于:该方法包括以下步骤:
a.建立字典树,在系统中建立所需数据对应路径的字典树,所述字典树中具有多个标签层级,标签层级之间具有分隔号;
b.第一级检索,从字典树的根节点开始,检索数据的标签层级A,如果字典树中存在标签层级A,且标签层级A有内容为分隔号的子节点E,则标签层级A在字典树中存在有二级子节点F,将字典树中的该子节点E压栈,进行第二级检索;如果标签层级A没有内容为分隔号的子节点E,则标签层级A在字典树中不存在二级子节点F,此时标签层级A的子标签不需要检索,则检索同级,如果存在同级,返回第一级检索,如果不存在同级,则结束;
c.第二级检索,从步骤b中保存的字典树子节点E开始,检索数据的标签层级A的子标签为子标签层级B,即数据的第二层标签,如果字典树中存在子标签层级B,且子标签层级B有内容为分隔号的子节点M,则说明子标签层级B在字典树中存在二级子节点N,由于子标签层级B是标签层级A的子标签,当前检索的数据在字典树中存在三级子节点N,则将字典树中的该子节点M压栈,进行第三级检索;如果没有内容为分隔号的子节点M,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,回退到字典树的根节点,返回第一级检索;如果字典树中不存在子标签层级B,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,返回到字典树的根节点,返回第一级检索;
d. 第三级检索,从步骤c中保存的字典树子节点M开始,检索数据的子标签层级B的子标签为子标签层级C,即数据的第三层标签,如果字典树中存在子标签层级C,且子标签层级C在字典树中存在二级子节点,则说明当前检索的数据在字典树中存在四级子节点,进行第四级检索,不存在四级子节点,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;如果字典树中不存在子标签层级C,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;
e. 第n次检索,第四次检索后进行第n次检索,继续查找字典树中是否有其它的子节点,直到没有用户所需的数据,则数据解析完毕,其中n≥5。
在步骤a中,所述路径的结束节点设有标记,所述标记绑定对应的多个输出函数。
所述数据包括XML、JSON和Excel文档。
所述分隔号为“-”、“、”或“.”隔离标签层级。
采用本发明的优点在于:
通过与字典树和栈相结合,在检索文档标签的过程中,每次检索子标签时,将字典树的当前查找节点压栈,检索完毕后出栈,通过这种实时保存字典树的当前查找节点的方式,避免从头开始查找,通过多次循环检索,实现了检索的递归过程,在递归过程中,将字典树中的位置压栈,递归结束后检索其同级节点时出栈,递归检索层级标签的时候,通过压栈和出栈能够获取当前查找节点,避免重复查找,解决了方法一中的逐一查找缺陷和方法二中字符串info-student重复查找的缺陷。
通过在字典树中查找标签时,标签本身即可判断,且当某个字符不同时可立即退出查找,解决了方法二中拼接字符串时内存申请、拷贝、释放的缺陷。
通过发现某标签在字典树中不存在时,意味着此标签及其子标签都不是需要检索的标签,此时可直接跳过此标签,解决了方法二中浪费查找info-teacher-name的缺陷。
通过整个文档的解析过程中,只需对标签按检索一次,即可完成所有数据的检索,解决了方法一中的逐一查找缺陷。
通过标记绑定对应的多个输出函数可以对应多个信息,便于查询更多的信息。
通过XML、JSON和Excel文档使用,应用范围广。
通过符号用于分隔号,便于观察标签层级之前的隔离点。
以述格式的XML文档和需求为例,在检索前,建立所需数据对应路径的字典树,各标签层级之间以横杠符号“-”分隔,如图2所示,
第一步:每一个每个路径的结束节点设为特殊标记,如图2中的具有下划线的“name”、“age”、“grade”、“class”和“city”,表示需要输出数据,并为其绑定对应的输出函数,如“name”对应的输出函数为“outputName”、“age”对应的输出函数为“outputAge”,“class” 和“city”对应的输出函数为“outputClass”和“outputCity”;
第二步:检索第一级标签层级info时,查找字典树,发现在字典树中存在,且存在内容为标签分隔符的子节点E,说明info是需要检索的标签,将字典树的当前查找节点E压栈;
第三步:检索到第二级标签层级teacher,从字典树的查找栈顶节点E开始查找,其子节点F的字典为字符s,与t不相符,即可认为teacher查找失败,此时,意味着XML文档中的teacher标签不是需要检索的标签,甚至teacher标签的子标签也不是需要检索的标签,所以teacher标签及其子标签无需检索;
第四步:既然teacher标签层级及其子标签无需检索,则可以直接跳过,检索teacher的同级标签层级student,同第三步,从字典树的查找栈子节点E开始查找,发现在字典树中存在,且存在内容为标签分隔符的子节点M,说明student是需要检索的标签层级,将字典树的当前查找子节点M压栈;
第五步:检索到student标签层级的属性grade,从字典树的查找栈子节点M开始查找,发现在字典树中存在,且此路径存在输出标记,通过其绑定的输出函数,即可输出学生的年级信息;
第六步:依次检索下去,即可获取到所有需要的学生信息;
第七步:标签层级student及其子标签检索完成后,检索其相对应的标签层级other1,此时将字典树的查找栈子节点M出栈,得到当前查找子节点E,与第三步查找标签teacher一样,从字典树的查找栈顶子节点E开始查找,发现other1并不是需要检索的标签,直接跳过检索;依次类推,直到XML解析完毕。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

Claims (4)

1.一种具有父子层级结构检索数据的方法,其特征在于:该方法包括以下步骤:
a.建立字典树,在系统中建立所需数据对应路径的字典树,所述字典树中具有多个标签层级,标签层级之间具有分隔号;
b.第一级检索,从字典树的根节点开始,检索数据的标签层级A,如果字典树中存在标签层级A,且标签层级A有内容为分隔号的子节点E,则标签层级A在字典树中存在有二级子节点F,将字典树中的该子节点E压栈,进行第二级检索;如果标签层级A没有内容为分隔号的子节点E,则标签层级A在字典树中不存在二级子节点F,此时标签层级A的子标签不需要检索,则检索同级,如果存在同级,返回第一级检索,如果不存在同级,则结束;
c.第二级检索,从步骤b中保存的字典树子节点E开始,检索数据的标签层级A的子标签为子标签层级B,即数据的第二层标签,如果字典树中存在子标签层级B,且子标签层级B有内容为分隔号的子节点M,则说明子标签层级B在字典树中存在二级子节点N,由于子标签层级B是标签层级A的子标签,当前检索的数据在字典树中存在三级子节点N,则将字典树中的该子节点M压栈,进行第三级检索;如果没有内容为分隔号的子节点M,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,回退到字典树的根节点,返回第一级检索;如果字典树中不存在子标签层级B,则检索同级,存在同级,返回第二级检索,不存在同级,则将步骤b中保存的字典树子节点E出栈,返回到字典树的根节点,返回第一级检索;
d. 第三级检索,从步骤c中保存的字典树子节点M开始,检索数据的子标签层级B的子标签为子标签层级C,即数据的第三层标签,如果字典树中存在子标签层级C,且子标签层级C在字典树中存在二级子节点,则说明当前检索的数据在字典树中存在四级子节点,进行第四级检索,不存在四级子节点,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;如果字典树中不存在子标签层级C,则检索同级,存在同级,返回第三级检索,不存在同级,则将步骤c中保存的字典树子节点M出栈,回退到字典树的子节点E,返回第二级检索;
e. 第n次检索,第四次检索后进行第n次检索,继续查找字典树中是否有其它的子节点,直到没有用户所需的数据,则数据解析完毕,其中n≥5。
2.如权利要求1所述的一种具有父子层级结构检索数据的方法,其特征在于: 在步骤a中,所述路径的结束节点设有标记,所述标记绑定对应的多个输出函数。
3.如权利要求1所述的一种具有父子层级结构检索数据的方法,其特征在于:所述数据包括XML、JSON和Excel文档。
4.如权利要求1所述的一种具有父子层级结构检索数据的方法,其特征在于:所述分隔号为“-”、“、”或“.”隔离标签层级。
CN201811599605.1A 2018-12-26 2018-12-26 一种具有父子层级结构检索数据的方法 Active CN109684438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811599605.1A CN109684438B (zh) 2018-12-26 2018-12-26 一种具有父子层级结构检索数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811599605.1A CN109684438B (zh) 2018-12-26 2018-12-26 一种具有父子层级结构检索数据的方法

Publications (2)

Publication Number Publication Date
CN109684438A CN109684438A (zh) 2019-04-26
CN109684438B true CN109684438B (zh) 2020-11-13

Family

ID=66189534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811599605.1A Active CN109684438B (zh) 2018-12-26 2018-12-26 一种具有父子层级结构检索数据的方法

Country Status (1)

Country Link
CN (1) CN109684438B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543575B (zh) * 2019-08-28 2021-11-19 浙江鸿泉车联网有限公司 车载外置存储设备的媒体文件检索方法及装置
CN111026658B (zh) * 2019-12-03 2023-10-20 北京小米移动软件有限公司 快应用的调试方法及装置、介质
CN113065312A (zh) * 2020-01-02 2021-07-02 北京沃东天骏信息技术有限公司 一种文本标签的提取方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978328A (zh) * 2014-04-03 2015-10-14 北京奇虎科技有限公司 一种获取层级分类器以及文本分类的方法及装置
CN107491554A (zh) * 2017-09-01 2017-12-19 北京神州泰岳软件股份有限公司 文本分类器的构建方法、构建装置及文本分类方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012057A (en) * 1997-07-30 2000-01-04 Quarterdeck Corporation High speed data searching for information in a computer system
US20060020638A1 (en) * 2004-07-21 2006-01-26 Ori Software Development Ltd. Method and apparatus to efficiently navigate and update a pointerless trie
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
CN101271466B (zh) * 2008-04-30 2011-09-28 中山大学 一种基于自适应字典树的电子词典单词检索方法
KR102090269B1 (ko) * 2012-12-14 2020-03-17 삼성전자주식회사 정보 검색 방법, 그와 같은 기능을 갖는 디바이스 및 기록 매체
CN104462582B (zh) * 2014-12-30 2017-07-11 武汉大学 一种基于结构和内容二级过滤的Web数据相似性检测方法
CN106156103B (zh) * 2015-04-02 2019-11-26 广州爱九游信息技术有限公司 一种搜索处理方法及装置
CN105574088A (zh) * 2015-12-11 2016-05-11 成都科来软件有限公司 一种可配置的树形数据展示方法及装置
CN108197313B (zh) * 2018-02-01 2021-06-25 中国计量大学 通过16位Trie树实现空间优化的词典索引方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978328A (zh) * 2014-04-03 2015-10-14 北京奇虎科技有限公司 一种获取层级分类器以及文本分类的方法及装置
CN107491554A (zh) * 2017-09-01 2017-12-19 北京神州泰岳软件股份有限公司 文本分类器的构建方法、构建装置及文本分类方法

Also Published As

Publication number Publication date
CN109684438A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109684438B (zh) 一种具有父子层级结构检索数据的方法
US7886224B2 (en) System and method for transforming tabular form date into structured document
AU2012200872B2 (en) Search apparatus, search method, and program
CN108268580A (zh) 基于知识图谱的问答方法及装置
US8756260B2 (en) System for organizing computer data
JP2005092889A (ja) ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法
CN111159385A (zh) 一种基于动态知识图谱的无模板通用智能问答方法
CN111460149B (zh) 文本分类方法、相关设备及可读存储介质
CN102982010A (zh) 提取文档结构的方法和装置
CN112672370B (zh) 网元指标数据的自动检测方法及系统、设备和存储介质
WO2006059425A1 (ja) データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法
US7574516B2 (en) Mechanisms for transferring raw data from one data structure to another representing the same item
CN108446115A (zh) 一种代码复用的方法及装置
JP2006350729A (ja) アプリケーションソフトウェア構築方法、アプリケーションソフトウェア構築処理プログラム及びアプリケーションソフトウェア構築装置
CN113642320A (zh) 文档目录结构的提取方法、装置、设备和介质
CN110909523A (zh) 一种数据处理方法及装置
CN115048532A (zh) 基于知识图谱的汽车维修场景智能问答机器人及设计方法
CN106933844B (zh) 面向大规模rdf数据的可达性查询索引的构建方法
CN113608903A (zh) 一种基于xml语言的故障管理方法
CN103870493A (zh) 对页面进行自动录入的系统和方法
US6662190B2 (en) Learning automatic data extraction system
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器
CN105740292A (zh) 一种解码方法及装置
CN109460467B (zh) 一种网络信息分类体系构建方法
JP2013218627A (ja) 構造化文書からの情報抽出方法、装置、及びプログラム

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610000 No. 06, floor 15, unit 2, building 1, No. 28, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee after: Chengdu Shumo Technology Co.,Ltd.

Address before: 610000 Chengdu City, Sichuan Province, China (Sichuan) Free Trade Pilot Zone, North Tianfu Avenue, Chengdu High-tech Zone, 966, 4 buildings, 1 Unit 13 and 14 floors

Patentee before: COLASOFT Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220325

Address after: 610041 12th, 13th and 14th floors, unit 1, building 4, No. 966, north section of Tianfu Avenue, high tech Zone, Chengdu, Sichuan

Patentee after: Kelai Network Technology Co.,Ltd.

Address before: 610000 No. 06, floor 15, unit 2, building 1, No. 28, north section of Tianfu Avenue, Chengdu hi tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan

Patentee before: Chengdu Shumo Technology Co.,Ltd.