一种基于解释器和解析器实现地理信息服务的系统及方法

文档序号:6613627阅读:229来源:国知局
专利名称:一种基于解释器和解析器实现地理信息服务的系统及方法
技术领域
本发明涉及一种实现地理信息服务的技术,尤其涉及一种基于描述地理信息服务语言(GDL, GIS Description Language)解释器和地理信息系统(GIS, Geographic Information System )解析器实现地理信息服务的系统及方法。
背景技术
呼叫处理语言(CPL)为基于扩展性标记语言(XML)的脚本语言,用于 描述IP电话系统中的呼叫控制操作,XML的扩展性体现在允许业务开发者定 义创建业务所需的标签。但是,用CPL编写的CPL业务脚本仅限于描述IP电 话这种呼叫业务类型。然而,用户对业务类型的需求是多样化的,为了满足用户对多业务类型的 需求,现有技术基于XML的扩展性,通过增加消息标签对CPL进行语法上的 扩展,以及相应地增加包括定位、短信、彩信以及GIS等多种业务类型的能力 构件标签,对CPL进行业务能力上的扩展,使扩展后的CPL能处理除呼叫业 务类型之外,包括定位、短信、彩信以及GIS等在内的其他业务类型。这里, 扩展后的CPL称为扩展CPL。并且,通过扩展CPL的翻译器,将基于扩展CPL 编写的扩展CPL业务脚本翻译并转换成底层代码。但是,现有技术仅支持多种 业务类型的接入,目前,还不能基于扩展CPL业务脚本,以及基于扩展CPL 的翻译器,来具体实现地理信息服务。发明内容有鉴于此,本发明的主要目的在于提供一种基于GDL解释器和GIS解析 器实现地理信息服务的系统,能基于扩展CPL业务脚本,以及基于扩展CPL 的翻译器,来具体实现地理信息服务。
本发明的另一目的在于提供一种基于GDL解释器和GIS解析器实现地理 信息服务的方法,能基于扩展CPL业务脚本,以及基于扩展CPL的翻译器, 来具体实现地理信息服务。为达到上述目的,本发明的技术方案是这样实现的一种基于GDL解释器和GIS解析器实现地理信息服务的系统,该系统包 括描述地理信息服务语言GDL解释器、地理信息系统GIS解析器、和互联 网地理信息系统WebGIS服务器;其中,GDL解释器,用于通过GDL翻译器,并调用GDL构件库,先将输入的 GDL业务脚本翻译成可执行的目标代码,然后进行编译和打包,最终将打包后 的目标代码部署到业务运行平台中形成GDL业务实例,发送给所述GIS解析器;GIS解析器,从所述GDL解释器获取所述GDL业务实例后,用于从所述 GDL业务实例中解析出GIS业务类型,以及提取出相应的请求参数,发送给所 述WebGIS服务器,并调用WebGIS服务器中相对应底层GIS引擎提供的各种 接口,经由所述底层GIS引擎,从GIS数据库中获取所述GIS业务类型相对应 的GIS数据;WebGIS服务器,用于将其包括的所述底层GIS引擎和所述GIS数据库提 供给所述GIS解析器。其中,所述GDL翻译器包括设置在GDL翻译器中的系统总控模块,所 述系统总控模块用于对获取的GDL业务脚本进行翻译,并创建配置模块和翻译 总控模块。其中,所述GDL翻译器还包括由所述系统总控模块创建的配置模块和翻译 总控模块,配置模块和翻译总控模块分别与所述系统总控模块相连,且配置模 块与翻译总控模块相连;其中,所述配置模块,用于以配置文件的方式从所述GDL业务脚本的信息中提取 配置信息,并获取配置信息中的GDL业务脚本的存放路径、消息类存放路径以 及所述GDL构件库中构件类的存放路径; 所述翻译总控模块用于根据所述配置信息对所述GDL业务脚本进行翻译。其中,所述GDL翻译器还包括依序相连的GDL业务脚本加载模块、GDL 业务脚本翻译模块、文件生成模块以及编译模块,GDL业务脚本加载模块、GDL 业务脚本翻译模块、文件生成模块和编译模块分别与所述翻译总控模块相连; 其中,GDL业务脚本加载模块,用于对获取的所述GDL业务脚本进行词法以及 语法校验,并且加载为一棵dom对象的标签节点树;GDL业务脚本翻译模块,用于根据所述配置信息以及所述GDL业务脚本 中业务描述文件所描述的信息,调用所述GDL构件库,对所述dom对象的标 签节点树进行翻译,并将所述GDL业务脚本编译成所述可执行的目标代码;并 且,将所述可执行的目标代码放入所述配置模块中的代码存储区里;文件生成模块,用于根据所述可执行的目标代码以及所述业务描述文件所 描述的信息,生成完整的目标代码文件;编译模块,用于将所述目标代码文件编译为以类方式描述的目标代码文件;相应的,所述翻译总控模块,用于具体以调度GDL业务脚本加载模块、 GDL业务脚本翻译模块、文件生成模块以及编译模块的方式对所述GDL业务 脚本进行翻译。其中,所述GDL翻译器还包括打包模块,所述打包模块与所述编译模块相 连,将所述以类方式描述的目标代码文件、所有配置文件、资源文件,以及自 动生成的业务文件一起进行打包,并将打包后的目标代码部署到业务运行平台 中形成GDL业务实例。其中,GIS解析器包括查找业务解析模块、地图业务解析模块、路径业 务解析模块、网关业务解析模块、地理编码和反编码业务解析模块;并且,每个解析模块,确定所述GDL业务实例中请求的GIS业务类型后, 用于根据所述GIS业务类型,调用相应的解析模块进行业务解析;同时,提取 出相应的请求参数,并根据请求的所述GIS业务类型,调用相对应的底层GIS 引擎,从GIS数据库获取相对应的GIS数据。
一种基于GDL解释器和GIS解析器实现地理信息服务的方法,该方法包 括以下步骤A、 根据用户需要在业务开发平台编写好GDL业务脚本;B、 将输入GDL解释器的所述GDL业务脚本翻译成可执行的目标代码, 进行编译和打包,之后,将打包后的目标代码部署到业务运行平台中形成GDL业务实例;C、 GIS解析器从所述GDL业务实例中解析出GIS业务类型,以及提取出 相应的请求参数后,根据请求的所述GIS业务类型,调用相对应的底层GIS引 擎,从GIS数据库获取相对应的GIS数据。其中,步骤A中所述GDL业务脚本中包括与所述GIS业务类型相对应的 GDL标签;相应的,步骤B中将所述GDL业务脚本翻译成可执行的目标代码具体为 根据所述GDL业务脚本中的所述GDL标签,加载相对应的GDL构件库;之 后,根据所述GDL构件库中的构件类,将所述GDL业务脚本翻译成可执行的 目标代码。其中,所述GDL标签包括查找业务相关的标签、地图业务相关的标签、路 径业务相关的标签、网关业务相关的标签、以及地理编码和反编码业务相关的 标签;相应的,所述GDL构件库包括查找业务相关的构件库、地图业务相关的构 件库、路径业务相关的构件库、网关业务相关的构件库、以及地理编码和反编 码业务相关的构件库。本发明基于扩展CPL业务脚本的原理,编写包括GDL标签的GDL业务脚 本,并基于扩展CPL的翻译器的原理,设计GDL翻译器和GDL构件库;根据 GDL标签与相对应的GDL构件库,将输入GDL解释器的GDL业务脚本翻译 成互联网地理信息系统(WebGIS)服务器能识别的、可执行的目标代码;通过 GIS解析器从目标代码中解析出GIS业务类型和请求参数,并调用WebGIS服 务器中相应底层GIS引擎提供的各种接口,经由底层GIS引擎,从GIS数据库
中获取GIS业务类型相对应的GIS数据。从而釆用本发明的系统及方法,具体 实现了地理信息服务。


图1为本发明系统的组成结构示意图;图2为本发明GDL解释器的组成结构示意图;图3为本发明GIS解析器的组成结构示意图;图4为本发明GDL翻译器中模块的组成结构示意图;图5为本发明GDL构件库的组成结构示意图;图6为本发明方法原理的实现示意图。
具体实施方式
本发明的核心思想是基于扩展CPL业务脚本的原理,编写包括GDL标 签的GDL业务脚本,并基于扩展CPL的翻译器的原理,设计GDL翻译器和 GDL构件库;根据GDL标签与相对应的GDL构件库,将输入GDL解释器的 GDL业务脚本翻译成WebGIS服务器能识别的、可执行的目标代码;通过GIS 解析器从目标代码中解析出GIS业务类型和请求参数,并调用WebGIS服务器 中相应底层GIS引擎提供的各种接口,经由底层GIS引擎,从GIS数据库中获 取GIS业务类型相对应的GIS数据,从而,具体实现了地理信息服务。为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照 附图,对本发明进一步详细说明。一种基于GDL解释器和GIS解析器实现地理信息服务的系统,如图1所 示,该系统包括GDL解释器1、 GIS解析器2、和WebGIS服务器3。其中,GDL解释器1用于通过GDL翻译器,并调用GDL构件库,先将输 入GDL解释器1的GDL业务脚本翻译成可执行的GDL目标代码,然后进行 编译和打包,最终将打包后的目标代码部署到业务运行平台中形成GDL业务实 例,发送给GIS解析器2。这里,GDL翻译器和GDL构件库皆位于GDL解释
器l内。这里,如图2所示,图2中,GDL解释器1包括GDL翻译器11和GDL 构件库12, GDL翻译器11获取输入GDL翻译器11的GDL业务脚本,调用 GDL构件库12,将GDL业务脚本翻译成可执行的GDL目标代码后,输出给 GDL解析器2。其中,GIS解析器2,从GDL解释器1获取GDL业务实例后,用于从GDL 业务实例中解析出GIS业务类型,以及提取出相应的请求参数,发送给WebGIS 服务器3,并调用WebGIS服务器3中相对应底层GIS引擎提供的各种接口 , 经由底层GIS引擎,从GIS数据库中获取GIS业务类型相对应的GIS数据。这 里,底层GIS引擎和GIS数据库皆位于WebGIS服务器3内,并且,GIS解析 器2经由底层GIS引擎和GIS数据库相连。WebGIS服务器3,用于将其包括 的底层GIS引擎和GIS数据库提供给GIS解析器2。这里,如图3所示,GIS解析器2包括GIS解析器适配层21、查找业务 解析模块22、地图业务解析模块23、路径业务解析模块24、网关业务解析模 块25、地理编码和反编码业务解析模块26。并且,每个解析模块,确定GDL 业务实例中请求的GIS业务类型后,用于根据GIS业务类型,调用相应的解析 模块进行业务解析。同时,提取出相应的请求参数,并根据请求的GIS业务类 型,调用相对应的底层GIS引擎,从GIS数据库获取相对应的GIS数据。举例子来说,比如,确定GDL业务实例中请求的GIS业务类型为查找业 务后,那么,根据GIS业务类型,调用查找业务解析模块进行业务解析。同时, 提取出与该查找业务相应的请求参数,并根据请求的查找业务,调用与该查找 业务相对应的底层GIS引擎,从GIS数据库获取与该查找业务相对应的GIS数 据。一种基于GDL解释器和GIS解析器实现地理信息服务的系统,针对GDL 翻译器11而言,具体来说GDL翻译器11是GDL解释器1的核心部件之一,如图2、图4所示,GDL 翻译器ll包括设置在GDL翻译器ll中的系统总控模块lll,系统总控模块 111用于对获取的GDL业务脚本进行翻译,并创建配置模块112和翻译总控模 块113。其中,GDL翻译器11还包括由系统总控模块111创建的配置模块112和 翻译总控模块113,配置模块112和翻译总控模块113分别与系统总控模块111 相连,且配置模块112与翻译总控模块113相连。这里,配置模块112用于以 配置文件的方式从GDL业务脚本的信息中提取配置信息,并获取配置信息中的 GDL业务脚本的存放路径、消息类存放路径以及GDL构件库12中构件类的存 放路径。翻译总控模块113用于根据配置信息对GDL业务脚本进行翻译。其中,GDL翻译器还包括依序相连的GDL业务脚本加载模块114、 GDL 业务脚本翻译模块115、文件生成模块116以及编译模块117。 GDL业务脚本 加载模块114、 GDL业务脚本翻译模块115、文件生成模块116和编译模块117 分别与所述翻译总控模块相连。这里,GDL业务脚本加载模块114用于对获取的GDL业务脚本进行词法 以及语法校验,并且加载为一棵dom对象的标签节点树。针对dom对象具体来 说,由于CPL基于XML, XML具有用于XML的简单应用程序编程接口 ( SAX ) 和文档对象模型(DOM)两种通用接口,对应不同接口采用不同的XML解析 技术。那么,当釆用DOM解析技术时,dom是实现了 DOM的Java开发包, 用于根据GDL业务脚本中GDL标签的执行顺序,先对基于XML的GDL业务 脚本进行转换并生成一棵与该标签执行顺序对应的、dom对象的标签节点树, 再对dom对象的标签节点树进行操作。GDL业务脚本翻译模块115用于根据配置信息以及GDL业务脚本中业务 描述文件所描述的信息,调用GDL构件库12,对dom对象的标签节点树进行 翻译,并将GDL业务脚本编译成可执行的目标代码,如图4中所示的Java代 码;并且,将可执行的目标代码放入配置模块112中的代码存储区里。文件生成模块116用于根据可执行的目标代码以及业务描述文件所描述的 信息,生成完整的目标代码文件,如图4中所示的Java文件。编译模块117用 于将目标代码文件编译为以类方式描述的目标代码文件,如图4中所示的Class文件。相应的,翻译总控模块113,用于具体以调度GDL业务脚本加载模块114、 GDL业务脚本翻译模块115、文件生成模块116以及编译模块117的方式对GDL业务脚本进行翻译。其中,GDL翻译器11还包括打包模块118,打包模块118与编译模块117 相连,也由翻译总控模块113进行调度。打包模块118将以类方式描述的目标 代码文件、所有配置文件、资源文件,以及自动生成的业务文件一起进行打包, 并将打包后的目标代码部署到业务运行平台中形成GDL业务实例。针对GDL构件库12而言,具体来说GDL构件库12也是GDL解释器1的核心部件之一,如图2、图5所示, GDL构件库12包括GDL业务解析适配层121、查找业务相关的构件库122、 地图业务相关的构件库123、路径业务相关的构件库124、网关业务相关的构件 库125、以及地理编码和反编码业务相关的构件库126。GDL构件库12主要用于解析请求的GDL业务脚本中的不同GDL标签。 其中,GDL业务脚本中包括与GIS业务类型相对应的GDL标签。并且,GDL 标签包括查找业务相关的标签、地图业务相关的标签、路径业务相关的标签、 网关业务相关的标签、以及地理编码和反编码业务相关的标签。相应的,与GDL 标签相对应的GDL构件库包括查找业务相关的构件库122、地图业务相关的 构件库123、路径业务相关的构件库124、网关业务相关的构件库125、以及地 理编码和反编码业务相关的构件库126。那么,GDL构件库12解析请求的GDL业务脚本中的不同GDL标签的过 程具体为GDL业务解析适配层121先解析出GDL业务脚本的GDL标签属于 何种标签,之后GDL翻译器11才调用该GDL标签对应的构件库,对GDL标 签进行解析,最后,将GDL业务脚本解析成相应的Java代码,并为后期的编 译、打包和部署到业务运行平台做好准备。一种基于GDL解释器和GIS解析器实现地理信息服务的方法,如图6所 示,该方法包括以下步骤步骤IOI、根据用户需要在业务开发平台编写好GDL业务脚本。这里,GDL业务脚本可以理解为根据用户具体业务需要,预先编写好的通 用GDL业务模板,并且通过该通用GDL业务模板,能实现查找业务、路径业 务、网关业务、以及地理编码和反编码业务的功能。步骤102、将输入GDL解释器的GDL业务脚本翻译成可执行的目标代码, 进行编译和打包,之后,将打包后的目标代码部署到业务运行平台中形成GDL 业务实例。步骤103、 GIS解析器从GDL业务实例中解析出GIS业务类型,以及提取 出相应的请求参数后,根据请求的GIS业务类型,调用相对应的底层GIS引擎, 从GIS数据库获取相对应的GIS数据。其中,步骤101中GDL业务脚本中包括与GIS业务类型相对应的GDL标 签。这里,GDL标签包括查找业务相关的标签、地图业务相关的标签、路径业 务相关的标签、网关业务相关的标签、以及地理编码和反编码业务相关的标签。那么,相应的,步骤102中将GDL业务脚本翻译成可执行的目标代码具体 为根据GDL业务脚本中的GDL标签,加载相对应的GDL构件库;之后, 根据GDL构件库中的构件类,将GDL业务脚本翻译成可执行的目标代码。这 里,与GDL标签相对应的GDL构件库包括查找业务相关的构件库、地图业务 相关的构件库、路径业务相关的构件库、网关业务相关的构件库、以及地理编 码和反编码业务相关的构件库。实施例一用户属于税务系统,并且请求的GIS业务类型为查找业务,则 本实施例中的方法流程包括以下步骤步骤201、用户属于税务系统,则针对用户的需要,预先在业务开发平台 编写好针对税务系统的GDL业务脚本。这里,针对税务系统的GDL业务脚本也可以理解为针对税务系统的通用 GDL业务模板,并且通过该通用GDL业务模板,能实现查找业务、路径业务、 网关业务、以及地理编码和反编码业务的功能。步骤202、用户向GDL解释器请求GIS业务,该请求中封装具体请求参数
和需加载的通用GDL业务模板的名字。这里,通用GDL业务模板为针对税务系统的通用GDL业务模板。并且, 如果根据当初用户的需要,给用户设定的通用GDL业务模板具体实现的业务功 能比较宽泛,则需要用户提供较多的具体请求参数;否则,需要用户提供的具 体请求参数很少,可能只需要一两个就可以了。步骤203、由于请求的GIS业务类型为查找业务,因此,根据加载的针对 税务系统通用GDL业务模板中的查找业务相关的标签,加载查找业务相关的构 件库;之后,根据查找业务相关构件库中的构件类,将针对税务系统的通用GDL 业务模板翻译成可执行的目标代码;进行编译和打包后,将打包后的目标代码 部署到业务运行平台中形成GDL业务实例。步骤204、GIS解析器从GDL业务实例中解析出GIS业务类型为查找业务, 以及提取出与查找业务相对应的请求参数后,根据请求的查找业务,调用与该 査找业务相对应的底层GIS引擎,从GIS数据库获取与该查找业务相对应的 GIS数据。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种基于GDL解释器和GIS解析器实现地理信息服务的系统,其特征在于,该系统包括描述地理信息服务语言GDL解释器、地理信息系统GIS解析器、和互联网地理信息系统WebGIS服务器;其中,GDL解释器,用于通过GDL翻译器,并调用GDL构件库,先将输入的GDL业务脚本翻译成可执行的目标代码,然后进行编译和打包,最终将打包后的目标代码部署到业务运行平台中形成GDL业务实例,发送给所述GIS解析器;GIS解析器,从所述GDL解释器获取所述GDL业务实例后,用于从所述GDL业务实例中解析出GIS业务类型,以及提取出相应的请求参数,发送给所述WebGIS服务器,并调用WebGIS服务器中相对应底层GIS引擎提供的各种接口,经由所述底层GIS引擎,从GIS数据库中获取所述GIS业务类型相对应的GIS数据;WebGIS服务器,用于将其包括的所述底层GIS引擎和所述GIS数据库提供给所述GIS解析器。
2、 根据权利要求l所述的系统,其特征在于,所述GDL翻译器包括设 置在GDL翻译器中的系统总控模块,所述系统总控模块用于对获取的GDL业 务脚本进行翻译,并创建配置模块和翻译总控模块。
3、 根据权利要求2所述的系统,其特征在于,所述GDL翻译器还包括由 所述系统总控模块创建的配置模块和翻译总控模块,配置模块和翻译总控模块 分别与所述系统总控模块相连,且配置模块与翻译总控模块相连;其中,所述配置模块,用于以配置文件的方式从所述GDL业务脚本的信息中提取 配置信息,并获取配置信息中的GDL业务脚本的存放路径、消息类存放路径以 及所述GDL构件库中构件类的存放路径;所述翻译总控模块用于根据所述配置信息对所述GDL业务脚本进行翻译。
4、 根据权利要求3所述的系统,其特征在于,所述GDL翻译器还包括依 序相连的GDL业务脚本加载模块、GDL业务脚本翻译模块、文件生成模块以 及编译模块,GDL业务脚本加载模块、GDL业务脚本翻译模块、文件生成模 块和编译模块分别与所述翻译总控模块相连;其中,GDL业务脚本加载模块,用于对获取的所述GDL业务脚本进行词法以及 语法校验,并且加载为一棵dom对象的标签节点树;GDL业务脚本翻译模块,用于根据所述配置信息以及所述GDL业务脚本 中业务描述文件所描述的信息,调用所述GDL构件库,对所述dom对象的标 签节点树进行翻译,并将所述GDL业务脚本编译成所述可执行的目标代码;并 且,将所述可执行的目标代码放入所述配置模块中的代码存储区里;文件生成模块,用于根据所述可执行的目标代码以及所述业务描述文件所 描述的信息,生成完整的目标代码文件;编译模块,用于将所述目标代码文件编译为以类方式描述的目标代码文件;相应的,所述翻译总控模块,用于具体以调度GDL业务脚本加载模块、 GDL业务脚本翻译模块、文件生成模块以及编译模块的方式对所述GDL业务 脚本进行翻译。
5、 根据权利要求4所述的系统,其特征在于,所述GDL翻译器还包括打 包模块,所述打包模块与所述编译模块相连,将所述以类方式描述的目标代码 文件、所有配置文件、资源文件,以及自动生成的业务文件一起进行打包,并 将打包后的目标代码部署到业务运行平台中形成GDL业务实例。
6、 根据权利要求1至4中任一项所述的系统,其特征在于,GIS解析器包 括查找业务解析模块、地图业务解析模块、路径业务解析模块、网关业务解 析模块、地理编码和反编码业务解析模块;并且,每个解析模块,确定所述GDL业务实例中请求的GIS业务类型后, 用于根据所述GIS业务类型,调用相应的解析模块进行业务解析;同时,提取 出相应的请求参数,并根据请求的所述GIS业务类型,调用相对应的底层GIS 引擎,从GIS数据库获取相对应的GIS数据。
7、 一种基于GDL解释器和GIS解析器实现地理信息服务的方法,其特征 在于,该方法包括以下步骤A、 根据用户需要在业务开发平台编写好GDL业务脚本;B、 将输入GDL解释器的所述GDL业务脚本翻译成可执行的目标代码, 进行编译和打包,之后,将打包后的目标代码部署到业务运行平台中形成GDL 业务实例;C、 GIS解析器从所述GDL业务实例中解析出GIS业务类型,以及提取出 相应的请求参数后,根据请求的所述GIS业务类型,调用相对应的底层GIS引 擎,从GIS数据库获取相对应的GIS数据。
8、 根据权利要求7所述的方法,其特征在于,步骤A中所述GDL业务脚 本中包括与所述GIS业务类型相对应的GDL标签;相应的,步骤B中将所述GDL业务脚本翻译成可执行的目标代码具体为 根据所述GDL业务脚本中的所述GDL标签,加载相对应的GDL构件库;之 后,根据所述GDL构件库中的构件类,将所述GDL业务脚本翻译成可执行的 目标代码。
9、 根据权利要求8所述的方法,其特征在于,所述GDL标签包括查找业 务相关的标签、地图业务相关的标签、路径业务相关的标签、网关业务相关的 标签、以及地理编码和反编码业务相关的标签;相应的,所述GDL构件库包括查找业务相关的构件库、地图业务相关的构 件库、路径业务相关的构件库、网关业务相关的构件库、以及地理编码和反编 码业务相关的构件库。
全文摘要
本发明公开了一种基于解释器和解析器实现地理信息服务的系统,该系统包括描述地理信息服务语言(GDL)解释器、地理信息系统(GIS)解析器、和互联网地理信息系统(WebGIS)服务器;GDL解释器,用于通过GDL翻译器,调用GDL构件库,将GDL业务脚本翻译成可执行的目标代码,将打包后的目标代码部署到业务运行平台中形成GDL业务实例;GIS解析器,用于从GDL业务实例中解析出GIS业务类型和请求参数,调用WebGIS服务器中底层GIS引擎提供的接口,从GIS数据库中获取相应GIS数据。本发明还同时公开了一种基于解释器和解析器实现地理信息服务的方法。采用本发明的系统及方法,能具体实现地理信息服务。
文档编号G06F9/44GK101126985SQ20071017590
公开日2008年2月20日 申请日期2007年10月15日 优先权日2007年10月15日
发明者孟祥武, 张玉洁, 晶 罗, 陈俊亮 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1