CN109033327B - 一种中文地址树的管理系统和管理方法 - Google Patents

一种中文地址树的管理系统和管理方法 Download PDF

Info

Publication number
CN109033327B
CN109033327B CN201810796537.1A CN201810796537A CN109033327B CN 109033327 B CN109033327 B CN 109033327B CN 201810796537 A CN201810796537 A CN 201810796537A CN 109033327 B CN109033327 B CN 109033327B
Authority
CN
China
Prior art keywords
address unit
address
tree
turning
module
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
CN201810796537.1A
Other languages
English (en)
Other versions
CN109033327A (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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201810796537.1A priority Critical patent/CN109033327B/zh
Publication of CN109033327A publication Critical patent/CN109033327A/zh
Application granted granted Critical
Publication of CN109033327B publication Critical patent/CN109033327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开一种中文地址树的管理系统和管理方法,涉及计算机技术领域;本发明系统包括地址树删除模块,用于删除整个地址树;地址单元查询模块,用于根据地址单元编号定位到对应的地址单元;地址单元更新模块,用于修改给定地址单元编号对应的地址单元的属性;地址单元删除模块,用于删除给定地址单元编号对应的地址单元;地址单元添加模块,用于将给定地址单元编号对应的地址单元添加到中文地址树中,实现包含地址树删除、地址树查询、地址树结点的增删改等功能的管理系统,从而提高中文地址树性能和工程化实施速度。

Description

一种中文地址树的管理系统和管理方法
技术领域
本发明公开一种中文地址树的管理系统和管理方法,涉及计算机技术领域。
背景技术
中文地址分析是自然语言处理领域的重要任务,是关系抽取、语义搜索、智能问答等人工智能应用领域的技术基础。
为了使用计算机处理中文地址,需要有效存储中文地址数据。目前,常用的中文地址数据存储方案包括下述两种:一是地址词典库,将不同级别的所有中文地址(包括别名和简称)存储在数据库中,并建立对应的索引;二是地址树,将不同级别地址单元存储在树形结构中,从根结点到叶结点,分别表示省、市、县、乡(镇、街道)等级别地址单元,从而构成地址树,但是,当前中文地址树缺乏管理系统,不能合理应用地址树,本发明公开一种中文地址树的管理系统和管理方法,针对当前中文地址树缺乏管理的问题,设计实现包含地址树删除、地址树查询、地址树结点的增删改等功能的管理系统及相应的中文地址树处理方法,从而提高中文地址树性能和工程化实施速度。
发明内容
本发明针对现有技术存在当前中文地址树管理系统匮乏的问题,提供一种中文地址树的管理系统和管理方法,实现包含地址树删除、地址树查询、地址树结点的增删改等功能的管理系统,从而提高中文地址树性能和工程化实施速度。
提出的具体方案是:
一种中文地址树的管理系统,包括:
地址树删除模块,用于删除整个地址树;
地址单元查询模块,用于根据地址单元编号定位到对应的地址单元;
地址单元更新模块,用于修改给定地址单元编号对应的地址单元的属性;
地址单元删除模块,用于删除给定地址单元编号对应的地址单元;
地址单元添加模块,用于将给定地址单元编号对应的地址单元添加到中文地址树中。
一种中文地址树的管理方法,利用所述的系统对中文地址树进行管理,其中利用地址树删除模块进行删除整个地址树的操作;
利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作;
利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作;
利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作;
利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作。
所述的方法中,中文地址树由不同级别地址单元构成,每个地址单元包含匹配列表、名称结点、属性结点,其中匹配列表存储地址单元标准名称和所有别名的首字符,且指向别名首字符对应的名称结点,匹配列表指向其上级地址单元属性结点;名称结点使用列表形式存储与匹配列表中地址单元名称对应的别名首字符,同时指向地址单元的属性结点;属性结点存储每个地址单元的属性,属性结点的编号表示地址单元级别,属性结点指向下级地址单元的匹配列表。
所述的方法中,中文地址树的地址单元编号,是地址单元的唯一编号,地址单元编号存储在地址单元的属性结点的编号中,地址单元编号的数字及数字所在位序表示地址单元的信息。
所述的方法利用地址树删除模块进行删除整个地址树的操作,具体步骤如下:
S11:按照从左到右的顺序,后序遍历中文地址树根结点的各个子树;
S12:读取当前访问地址单元的属性结点;
S13:判断属性结点是否是最末一级地址单元的取值,如果是,跳转S15;
S14:判断属性结点指向下级地址单元的匹配列表是否为空,如果不是,跳转S16;
S15:删除当前访问地址单元;
S16:判断下一个要访问的是否是中文地址树根结点,如果不是,跳转S11,否则跳转S17;
S7:删除中文地址树根结点。
所述的方法中,步骤S15中删除当前访问地址单元的具体过程为:
S151:按照匹配列表->名称结点->属性结点的顺序定位到属性结点;
S152:删除属性结点,同时定位到匹配列表;
S153:读取匹配列表的第1个别名首字符;
S154:访问匹配项对应的名称链表;
S155:逐个删除名称链表中的元素;
S156:判断匹配列表是否读取完毕,如果没有,跳转S157,否则跳转S158;
S157:读取匹配列表的下1个别名首字符,跳转S154;
S158:删除匹配列表。
所述的方法中,利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作,其中设定上级地址单元编号是下级地址单元编号前缀,假设待查询地址编号是MS,步骤如下:
S21:按照从左到右的顺序,访问中文地址树根结点的第1个孩子;
S22:读取当前地址单元的属性结点;
S23:获取属性结点编号TS;
S24:判断TS是否和MS相同,如果是,跳转至S2E;
S25:判断TS是否是MS的前缀,如果是,跳转至S26,否则跳转至S28;
S26:判断属性结点是否是最末一级地址单元的取值,如果是,转至S2F;
S27:按照从左到右的顺序,访问当前地址单元的第1个孩子,转S22;
S28:判断当前地址单元的右兄弟是否存在,如果存在,转至S29,否则转至S2A;
S29:访问当前地址单元的右兄弟,转至S22;
S2A:判断当前地址单元的上级结点是否是根结点,如果是,转至S2B,否则转至S2D;
S2B:判断中文地址树根结点的下一个孩子是否存在,如果存在,转至S2C,否则转至S2F;
S2C:访问中文地址树根结点的下一个孩子,转至S22;
S2D:访问当前地址单元的上级结点,转至S22;
S2E:返回当前地址单元;
S2F:返回不存在对应地址单元的信息。
所述的方法中,利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作,使用地址单元查询模块定位到目标地址单元后使用新属性替换原有的属性,假设待修改地址单元编号是MS,步骤如下:
S31:使用地址单元查询模块查询MS对应的地址单元AU;
S32:判断AU是否存在,如果不存在,转至S33,否则转至S34;
S33:返回不存在对应地址单元的信息;
S34:用新属性替换AU对应的属性。
所述的方法中,利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作, 使用地址单元查询模块定位到目标地址单元后进行删除,假设待查询地址单元编号是MS,步骤如下:
S41:使用地址单元查询模块查询MS对应的地址单元AU;
S42:判断AU是否存在,如果不存在,转至S43,否则转至S44;
S43:返回不存在的对应的地址单元的信息;
S44:建立地址单元AU的上级地址单元和下级地址单元之间的连接关系;
所述步骤S44中具体包括:
S441:通过AU的匹配列表,找到其上级地址单元的属性结点;
S442:通过AU的属性结点,找到其下级地址单元的匹配列表数组;
S443:建立从AU的上级地址单元的属性结点到AU的下级地址单元的匹配列表数组中每个元素的指针;
S45:按照步骤S15删除地址单元AU。
所述的方法中,利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作,使用地址单元查询模块定位到上级地址单元后再定位下级地址单元,假设待插入的地址单元编号是MS,步骤如下:
S51:使用地址单元查询模块查询MS对应的地址单元AU;
S52:判断AU是否存在,如果存在,转至S53,否则转至S54;
S53:返回不能添加已存在地址单元的信息;
S54:将MS赋值给CS;
S55:计算CS对应的上级地址单元的编码,所述的编码命名为ParentCS;
S56:判断ParentCS是否合法,如果非法,转至S5K;
S57:使用地址单元查询模块查询ParentCS对应的地址单元ParetnAU;
S58:判断ParetnAU是否存在,如果存在,转至S5A;
S59:将ParentCS赋值给CS,转至S55;
S5A:生成地址编号MS对应的地址单元MSAddrNode;
S5B:建立从MSAddrNode匹配列表到ParetnAU属性结点的指针;
S5C:按照从左到右的顺序,访问ParetnAU的第1个孩子CurrChild;
S5D:获取CurrChild的地址单元编号KS;
S5E:判断MS是否是KS的前缀,如果是,转至S5F,否则转至S5H;
S5F:删除ParetnAU属性结点和CurrChild匹配列表之间的指针;
S5G:建立MSAddrNode属性结点和CurrChild匹配列表之间的指针;
S5H:判断ParetnAU的孩子是否访问完,如果没有,转至S5I,否则转至S5J;
S5I:按照从左到右的顺序,访问ParetnAU的下1个孩子CurrChild,转至S5D;
S5J:返回所生成的地址单元MSAddrNode的信息;
S5K:返回地址单元编号非法的信息。
本发明的有益之处是:
本发明提供一种中文地址树的管理系统和管理方法,根据中文地址树后期维护的需要,对中文地址树进行管理,分别可进行删除、地址单元查询\更新\删除\添加等操作,基本覆盖其维护涉及的所有方面;并且本发明综合后序遍历、上下级地址单元编号的包含关系、地址单元3部分的结构特征,对中文地址树进行操作处理,从而不断地完善和优化中文地址树,提高其实用价值。
附图说明
图1本发明的中文地址树管理系统的功能模块示意图;
图2实施例中本发明中中文地址树局部的示意图;
图3本发明中地址树删除模块处理步骤流程图;
图4是地址树删除模块中处理步骤S15的具体步骤流程图
图5是地址单元查询模块处理步骤流程图;
图6是地址单元更新模块处理步骤流程图;
图7是地址单元删除模块处理步骤流程图;
图8是地址单元删除模块中步骤S44的具体步骤流程图;
图9是地址单元添加模块处理步骤流程图。
具体实施方式
本发明提供一种中文地址树的管理系统,包括:
地址树删除模块,用于删除整个地址树;
地址单元查询模块,用于根据地址单元编号定位到对应的地址单元;
地址单元更新模块,用于修改给定地址单元编号对应的地址单元的属性;
地址单元删除模块,用于删除给定地址单元编号对应的地址单元;
地址单元添加模块,用于将给定地址单元编号对应的地址单元添加到中文地址树中。
同时提供与上述方法相对应的一种中文地址树的管理方法,利用所述的系统对中文地址树进行管理,其中利用地址树删除模块进行删除整个地址树的操作;
利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作;
利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作;
利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作;
利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作。
对本发明的内容结合附图进行进一步说明。
以我国地址划分为例,其中根据《GB/T 10114-2003县级以下行政区划代码编制规则》、《GB/T 2260-2017 中华人民共和国行政区划代码》,我国地址可以划分为国家、省、市、县、乡(镇、街道)等级别,编号分别是0、1、2、3、4,每个级别对应的基本元素称为地址单元。实际地址由一个或多个地址单元按照从左到右、级别编号递增的顺序连接而成。例如:河南省洛阳市西工区汉屯路街道,就是由“河南省”、“洛阳市”、“西工区”、“汉屯路街道”这4个不同级别的地址单元连接形成。
我国地理地址,别名众多,除了法定规范的地址名称外,不少地区还拥有其它名称,称为别名。在实用过程中,实际地址通常省略地址单元中的“省”、“市”、“县”等标志性术语。
跳跃连接:在连接地址单元形成实际地址的过程中,相邻地址单元的级别编号存在跳跃。例如,山东省阳谷县宁阳镇,“山东省”和“阳谷县”的级别编号分别是1和3,二者之间省略了级别编号是2的“泰安市”。
利用本发明方法,其中本发明方法中的中文地址树,由代表省、市、县、乡(镇、街道)等不同级别地址单元所构成,根节点是为便于管理省级地址单元而设计,其级别设置为0,以图2中中文地址树的局部图为例,是3级地址单元,分别是省、市、县,构成的中文地址树局部,每个地址单元由三部分构成:
a.匹配列表
如图2中连续方格构成的矩形结点所示,从左到右,每个方格存储地址单元标准名称和所有别名的首字符,即匹配项,且指向与首字符对应的名称链表,最右边是地址单元级别;每个匹配列表均有指向其上级地址单元属性结点的指针;
b.名称结点
如图2中向左凸出的鼓状结点所示,使用列表形式存储首字符与对应匹配列表中方格结点相同的地址单元名称和长度,同时指向地址单元的属性结点;
c.属性结点
如图2中的椭圆形结点所示,存储每个地址单元的属性,包括:编号、名称、级别、是否最末一级地址单元、父结点编号等;同时指向下级地址单元的匹配列表;在一般情况下,属性结点指向相邻下级地址单元的匹配列表,但有时会跨越相邻下级地址单元,指向非相邻下级地址单元的匹配列表,称为跳跃指针;每个属性结点均有指向其对应地址单元匹配列表的指针。图2中属性结点的编号表示地址单元级别。
本发明方法中中文地址树的地址单元编号,是每个地址单元的唯一编号;
所有地址单元的编号可以是9位,其中,第1-2位是省级编号,第3-4位是市级编号,第5-6位是县级编号,第7-9位是乡(镇、街道)级编号;
对于乡、镇、街道级别的地址单元,其9位编号全部占用;对于县或县以上级别的地址单元,仅用到前面的若干位,后面不用的位均补0;
上级地址单元的编号,是其下级地址单元编号的前缀;
对同一地址单元的所有直接下级地址单元来说,它们根据其编号,按照字典序在地址树中从左到右进行排列;
为了使用方便,地址单元编号存储在属性结点的“编号”属性中。
利用本发明针对上述中文地址树,可以进行相应的管理,比如利用地址树删除模块进行删除整个地址树的操作,具体步骤如下:
S11:按照从左到右的顺序,后序遍历中文地址树根结点的各个子树;
S12:读取当前访问地址单元的属性结点;
S13:判断属性结点是否是最末一级地址单元的取值,如果是,跳转S15;
S14:判断属性结点指向下级地址单元的匹配列表是否为空,如果不是,跳转S16;
S15:删除当前访问地址单元;
S16:判断下一个要访问的是否是中文地址树根结点,如果不是,跳转S11,否则跳转S17;
S7:删除中文地址树根结点。
上述过程中,步骤S15中删除当前访问地址单元的具体过程为:
S151:按照匹配列表->名称结点->属性结点的顺序定位到属性结点;
S152:删除属性结点,同时定位到匹配列表;
S153:读取匹配列表的第1个别名首字符;
S154:访问匹配项对应的名称链表;
S155:逐个删除名称链表中的元素;
S156:判断匹配列表是否读取完毕,如果没有,跳转S157,否则跳转S158;
S157:读取匹配列表的下1个别名首字符,跳转S154;
S158:删除匹配列表。
当需要查询地址单元时,利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作,其中设定上级地址单元编号是下级地址单元编号前缀,假设待查询地址编号是MS,步骤如下:
S21:按照从左到右的顺序,访问中文地址树根结点的第1个孩子;
S22:读取当前地址单元的属性结点;
S23:获取属性结点编号TS;
S24:判断TS是否和MS相同,如果是,跳转至S2E;
S25:判断TS是否是MS的前缀,如果是,跳转至S26,否则跳转至S28;
S26:判断属性结点是否是最末一级地址单元的取值,如果是,转至S2F;
S27:按照从左到右的顺序,访问当前地址单元的第1个孩子,转S22;
S28:判断当前地址单元的右兄弟是否存在,如果存在,转至S29,否则转至S2A;
S29:访问当前地址单元的右兄弟,转至S22;
S2A:判断当前地址单元的上级结点是否是根结点,如果是,转至S2B,否则转至S2D;
S2B:判断中文地址树根结点的下一个孩子是否存在,如果存在,转至S2C,否则转至S2F;
S2C:访问中文地址树根结点的下一个孩子,转至S22;
S2D:访问当前地址单元的上级结点,转至S22;
S2E:返回当前地址单元;
S2F:返回不存在对应地址单元的信息。
需要进行地址单元的属性修改时,利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作,使用地址单元查询模块定位到目标地址单元后使用新属性替换原有的属性,假设待修改地址单元编号是MS,步骤如下:
S31:使用地址单元查询模块查询MS对应的地址单元AU;
S32:判断AU是否存在,如果不存在,转至S33,否则转至S34;
S33:返回不存在对应地址单元的信息;
S34:用新属性替换AU对应的属性。
需要删除个别地址单元时,利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作, 使用地址单元查询模块定位到目标地址单元后进行删除,假设待查询地址单元编号是MS,步骤如下:
S41:使用地址单元查询模块查询MS对应的地址单元AU;
S42:判断AU是否存在,如果不存在,转至S43,否则转至S44;
S43:返回不存在的对应的地址单元的信息;
S44:建立地址单元AU的上级地址单元和下级地址单元之间的连接关系;
所述步骤S44中具体包括:
S441:通过AU的匹配列表,找到其上级地址单元的属性结点;
S442:通过AU的属性结点,找到其下级地址单元的匹配列表数组;
S443:建立从AU的上级地址单元的属性结点到AU的下级地址单元的匹配列表数组中每个元素的指针;
S45:按照步骤S15删除地址单元AU。
需要添加个别地址单元时,利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作,使用地址单元查询模块定位到上级地址单元后再定位下级地址单元,假设待插入的地址单元编号是MS,步骤如下:
S51:使用地址单元查询模块查询MS对应的地址单元AU;
S52:判断AU是否存在,如果存在,转至S53,否则转至S54;
S53:返回不能添加已存在地址单元的信息;
S54:将MS赋值给CS;
S55:计算CS对应的上级地址单元的编码,所述的编码命名为ParentCS;
S56:判断ParentCS是否合法,如果非法,转至S5K;
S57:使用地址单元查询模块查询ParentCS对应的地址单元ParetnAU;
S58:判断ParetnAU是否存在,如果存在,转至S5A;
S59:将ParentCS赋值给CS,转至S55;
S5A:生成地址编号MS对应的地址单元MSAddrNode;
S5B:建立从MSAddrNode匹配列表到ParetnAU属性结点的指针;
S5C:按照从左到右的顺序,访问ParetnAU的第1个孩子CurrChild;
S5D:获取CurrChild的地址单元编号KS;
S5E:判断MS是否是KS的前缀,如果是,转至S5F,否则转至S5H;
S5F:删除ParetnAU属性结点和CurrChild匹配列表之间的指针;
S5G:建立MSAddrNode属性结点和CurrChild匹配列表之间的指针;
S5H:判断ParetnAU的孩子是否访问完,如果没有,转至S5I,否则转至S5J;
S5I:按照从左到右的顺序,访问ParetnAU的下1个孩子CurrChild,转至S5D;
S5J:返回所生成的地址单元MSAddrNode的信息;
S5K:返回地址单元编号非法的信息。

Claims (10)

1.一种中文地址树的管理系统,其特征在于
包括:
地址树删除模块,用于删除整个中文地址树,所述中文地址树由不同级别地址单元构成,每个地址单元包含匹配列表、名称结点、属性结点,删除整个中文地址树的操作,具体步骤如下:
S11:按照从左到右的顺序,后序遍历中文地址树根结点的各个子树;
S12:读取当前访问地址单元的属性结点;
S13:判断属性结点是否是最末一级地址单元的取值,如果是,跳转S15;
S14:判断属性结点指向下级地址单元的匹配列表是否为空,如果不是,跳转S16;
S15:删除当前访问地址单元;
S16:判断下一个要访问的是否是中文地址树根结点,如果不是,跳转S11,否则跳转S17;
S17:删除中文地址树根结点;
地址单元查询模块,用于根据地址单元编号定位到对应的地址单元;
地址单元更新模块,用于修改给定地址单元编号对应的地址单元的属性;
地址单元删除模块,用于删除给定地址单元编号对应的地址单元;
地址单元添加模块,用于将给定地址单元编号对应的地址单元添加到中文地址树中。
2.一种中文地址树的管理方法,其特征在于利用权利要求1所述的系统对中文地址树进行管理,所述中文地址树由不同级别地址单元构成,每个地址单元包含匹配列表、名称结点、属性结点,其中所述的管理包括利用地址树删除模块进行删除整个中文地址树的操作,具体步骤如下:
S11:按照从左到右的顺序,后序遍历中文地址树根结点的各个子树;
S12:读取当前访问地址单元的属性结点;
S13:判断属性结点是否是最末一级地址单元的取值,如果是,跳转S15;
S14:判断属性结点指向下级地址单元的匹配列表是否为空,如果不是,跳转S16;
S15:删除当前访问地址单元;
S16:判断下一个要访问的是否是中文地址树根结点,如果不是,跳转S11,否则跳转S17;
S17:删除中文地址树根结点;
利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作;
利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作;
利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作;
利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作。
3.根据权利要求2所述的方法,其特征在于所述匹配列表存储地址单元标准名称和所有别名的首字符,且指向别名首字符对应的名称结点,匹配列表指向其上级地址单元属性结点;名称结点使用列表形式存储与匹配列表中地址单元名称对应的别名首字符,同时指向地址单元的属性结点;属性结点存储每个地址单元的属性,属性结点的编号表示地址单元级别,属性结点指向下级地址单元的匹配列表。
4.根据权利要求3所述的方法,其特征在于所述中文地址树的地址单元编号,是地址单元的唯一编号,地址单元编号存储在地址单元的属性结点的编号中,地址单元编号的数字及数字所在位序表示地址单元的信息。
5.根据权利要求4所述的方法,其特征在于步骤S15中删除当前访问地址单元的具体过程为:
S151:按照匹配列表->名称结点->属性结点的顺序定位到属性结点;
S152:删除属性结点,同时定位到匹配列表;
S153:读取匹配列表的第1个别名首字符;
S154:访问匹配项对应的名称链表;
S155:逐个删除名称链表中的元素;
S156:判断匹配列表是否读取完毕,如果没有,跳转S157,否则跳转S158;
S157:读取匹配列表的下1个别名首字符,跳转S154;
S158:删除匹配列表。
6.根据权利要求4或5所述的方法,其特征在于利用地址单元查询模块进行根据地址单元编号定位到对应的地址单元的操作,其中设定上级地址单元编号是下级地址单元编号前缀,假设待查询地址编号是MS,步骤如下:
S21:按照从左到右的顺序,访问中文地址树根结点的第1个孩子;
S22:读取当前地址单元的属性结点;
S23:获取属性结点编号TS;
S24:判断TS是否和MS相同,如果是,跳转至S2E;
S25:判断TS是否是MS的前缀,如果是,跳转至S26,否则跳转至S28;
S26:判断属性结点是否是最末一级地址单元的取值,如果是,转至S2F;
S27:按照从左到右的顺序,访问当前地址单元的第1个孩子,转S22;
S28:判断当前地址单元的右兄弟是否存在,如果存在,转至S29,否则转至S2A;
S29:访问当前地址单元的右兄弟,转至S22;
S2A:判断当前地址单元的上级结点是否是根结点,如果是,转至S2B,否则转至S2D;
S2B:判断中文地址树根结点的下一个孩子是否存在,如果存在,转至S2C,否则转至S2F;
S2C:访问中文地址树根结点的下一个孩子,转至S22;
S2D:访问当前地址单元的上级结点,转至S22;
S2E:返回当前地址单元;
S2F:返回不存在对应地址单元的信息。
7.根据权利要求6所述的方法,其特征在于利用地址单元更新模块进行修改给定地址单元编号对应的地址单元的属性的操作,使用地址单元查询模块定位到目标地址单元后使用新属性替换原有的属性,假设待修改地址单元编号是MS,步骤如下:
S31:使用地址单元查询模块查询MS对应的地址单元AU;
S32:判断AU是否存在,如果不存在,转至S33,否则转至S34;
S33:返回不存在对应地址单元的信息;
S34:用新属性替换AU对应的属性。
8.根据权利要求7所述的方法,其特征在于利用地址单元删除模块进行删除给定地址单元编号对应的地址单元的操作,使用地址单元查询模块定位到目标地址单元后进行删除,假设待查询地址单元编号是MS,步骤如下:
S41:使用地址单元查询模块查询MS对应的地址单元AU;
S42:判断AU是否存在,如果不存在,转至S43,否则转至S44;
S43:返回不存在的对应的地址单元的信息;
S44:建立地址单元AU的上级地址单元和下级地址单元之间的连接关系;
所述步骤S44中具体包括:
S441:通过AU的匹配列表,找到其上级地址单元的属性结点;
S442:通过AU的属性结点,找到其下级地址单元的匹配列表数组;
S443:建立从AU的上级地址单元的属性结点到AU的下级地址单元的匹配列表数组中每个元素的指针;
S45:按照步骤S15删除地址单元AU。
9.根据权利要求6所述的方法,其特征在于利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作,使用地址单元查询模块定位到上级地址单元后再定位下级地址单元,假设待插入的地址单元编号是MS,步骤如下:
S51:使用地址单元查询模块查询MS对应的地址单元AU;
S52:判断AU是否存在,如果存在,转至S53,否则转至S54;
S53:返回不能添加已存在地址单元的信息;
S54:将MS赋值给CS;
S55:计算CS对应的上级地址单元的编码,所述的编码命名为ParentCS;
S56:判断ParentCS是否合法,如果非法,转至S5K;
S57:使用地址单元查询模块查询ParentCS对应的地址单元ParetnAU;
S58:判断ParetnAU是否存在,如果存在,转至S5A;
S59:将ParentCS赋值给CS,转至S55;
S5A:生成地址编号MS对应的地址单元MSAddrNode;
S5B:建立从MSAddrNode匹配列表到ParetnAU属性结点的指针;
S5C:按照从左到右的顺序,访问ParetnAU的第1个孩子CurrChild;
S5D:获取CurrChild的地址单元编号KS;
S5E:判断MS是否是KS的前缀,如果是,转至S5F,否则转至S5H;
S5F:删除ParetnAU属性结点和CurrChild匹配列表之间的指针;
S5G:建立MSAddrNode属性结点和CurrChild匹配列表之间的指针;
S5H:判断ParetnAU的孩子是否访问完,如果没有,转至S5I,否则转至S5J;
S5I:按照从左到右的顺序,访问ParetnAU的下1个孩子CurrChild,转至S5D;
S5J:返回所生成的地址单元MSAddrNode的信息;
S5K:返回地址单元编号非法的信息。
10.根据权利要求8所述的方法,其特征在于利用地址单元添加模块进行将给定地址单元编号对应的地址单元添加到中文地址树中的操作,使用地址单元查询模块定位到上级地址单元后再定位下级地址单元,假设待插入的地址单元编号是MS,步骤如下:
S51:使用地址单元查询模块查询MS对应的地址单元AU;
S52:判断AU是否存在,如果存在,转至S53,否则转至S54;
S53:返回不能添加已存在地址单元的信息;
S54:将MS赋值给CS;
S55:计算CS对应的上级地址单元的编码,所述的编码命名为ParentCS;
S56:判断ParentCS是否合法,如果非法,转至S5K;
S57:使用地址单元查询模块查询ParentCS对应的地址单元ParetnAU;
S58:判断ParetnAU是否存在,如果存在,转至S5A;
S59:将ParentCS赋值给CS,转至S55;
S5A:生成地址编号MS对应的地址单元MSAddrNode;
S5B:建立从MSAddrNode匹配列表到ParetnAU属性结点的指针;
S5C:按照从左到右的顺序,访问ParetnAU的第1个孩子CurrChild;
S5D:获取CurrChild的地址单元编号KS;
S5E:判断MS是否是KS的前缀,如果是,转至S5F,否则转至S5H;
S5F:删除ParetnAU属性结点和CurrChild匹配列表之间的指针;
S5G:建立MSAddrNode属性结点和CurrChild匹配列表之间的指针;
S5H:判断ParetnAU的孩子是否访问完,如果没有,转至S5I,否则转至S5J;
S5I:按照从左到右的顺序,访问ParetnAU的下1个孩子CurrChild,转至S5D;
S5J:返回所生成的地址单元MSAddrNode的信息;
S5K:返回地址单元编号非法的信息。
CN201810796537.1A 2018-07-19 2018-07-19 一种中文地址树的管理系统和管理方法 Active CN109033327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810796537.1A CN109033327B (zh) 2018-07-19 2018-07-19 一种中文地址树的管理系统和管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810796537.1A CN109033327B (zh) 2018-07-19 2018-07-19 一种中文地址树的管理系统和管理方法

Publications (2)

Publication Number Publication Date
CN109033327A CN109033327A (zh) 2018-12-18
CN109033327B true CN109033327B (zh) 2021-09-28

Family

ID=64644274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810796537.1A Active CN109033327B (zh) 2018-07-19 2018-07-19 一种中文地址树的管理系统和管理方法

Country Status (1)

Country Link
CN (1) CN109033327B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914544A (zh) * 2014-04-03 2014-07-09 浙江大学 一种基于地址特征词的多层次快速中文地址匹配方法
CN105119834A (zh) * 2015-07-17 2015-12-02 西安空间无线电技术研究所 一种基于复合trie树结构的源地址目的地址联合查找方法
CN106649464A (zh) * 2016-09-26 2017-05-10 深圳市数字城市工程研究中心 一种中文地址树的构建方法及装置
CN107679187A (zh) * 2017-09-30 2018-02-09 浪潮软件股份有限公司 一种中文地址树的构建方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935256B2 (en) * 2012-03-02 2015-01-13 Cleversafe, Inc. Expanding a hierarchical dispersed storage index
US9965383B2 (en) * 2014-08-05 2018-05-08 Netapp, Inc. File system indirection technique for directly managing solid state devices
US9471297B2 (en) * 2014-09-10 2016-10-18 Kcura Llc Methods and apparatus for uninstalling a software application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914544A (zh) * 2014-04-03 2014-07-09 浙江大学 一种基于地址特征词的多层次快速中文地址匹配方法
CN105119834A (zh) * 2015-07-17 2015-12-02 西安空间无线电技术研究所 一种基于复合trie树结构的源地址目的地址联合查找方法
CN106649464A (zh) * 2016-09-26 2017-05-10 深圳市数字城市工程研究中心 一种中文地址树的构建方法及装置
CN107679187A (zh) * 2017-09-30 2018-02-09 浪潮软件股份有限公司 一种中文地址树的构建方法及装置

Also Published As

Publication number Publication date
CN109033327A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN101577662B (zh) 一种基于树形数据结构的最长前缀匹配方法和装置
CN107092659B (zh) 一种通用的树形结构存储解析方法
US20100250536A1 (en) Method for integrating road names and points of interest in source data
JP2004518226A (ja) データベースシステムおよびクエリオプティマイザ
US20170091245A1 (en) Index management
KR101678149B1 (ko) 데이터베이스의 데이터 탐색방법 및 그 장치와 이를 위한 컴퓨터 프로그램
CN100334429C (zh) 电子地图数据存储与更新的方法
CN107748778B (zh) 一种提取地址的方法及装置
US20130024649A1 (en) Method and device for storing routing table entry
US7464100B2 (en) Reorganization-free mapping of objects in databases using a mapping chain
CN103365991A (zh) 一种基于一维线性空间实现Trie树的词典存储管理方法
US20230195769A1 (en) Computer system and method for indexing and retrieval of partially specified type-less semi-infinite information
WO2020106635A1 (en) Presenting updated data using persisting views
CN104008205A (zh) 一种内容路由的查询方法及系统
CN114840487A (zh) 分布式文件系统的元数据管理方法和装置
CN109033327B (zh) 一种中文地址树的管理系统和管理方法
CN105677805A (zh) 一种利用protobuf的数据存储、读取方法及装置
CN116680278B (zh) 数据处理方法、装置、电子设备及存储介质
CN105025013A (zh) 基于优先级Trie树的动态IP匹配模型
CN104636471A (zh) 一种程序代码的查找方法及装置
CN105843809A (zh) 数据处理方法和装置
US20060015516A1 (en) Method and apparatus for adding supplemental information to PATRICIA tries
CN113821508B (zh) 一种数组索引的实现方法和系统
CN106250443A (zh) 基于内存全文检索解决数据库复杂文本查询的方法及系统
WO2016022019A1 (en) Method for data input into a database

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

Effective date of registration: 20210908

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province

Applicant before: INSPUR GROUP Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant