一种多领域仿真模型集成方法及系统

文档序号:31535441发布日期:2022-09-16 22:16阅读:206来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种多领域仿真模型集成方法及系统

1.本发明涉及一种多领域仿真模型集成方法及系统,属于集成仿真技术领域。


背景技术:

2.复杂装备具有结构复杂、零部件关系复杂、机理复杂的特性,涉及多领域知识的强耦合。因此,针对复杂装备及其系统的模型构建流程往往以自底向上的模式展开,由各领域专业人员建立各个零部件、功能模块的白盒、灰盒、黑盒模型,形成子系统,再通过模型组合的形式实现复杂系统联合仿真。当各领域专业人员不具备其他领域知识和同等信息时,就需要多次循环迭代来对各部分功能模块的设计特征和参数进行调整。在模型调校过程中还可能出现诸多不可预测的功能耦合,交叠甚至冲突。不论是建模过程、仿真推演过程还是组合调校过程都是非常复杂且成本高昂的。
3.现有仿真模型库管理系统大多数针对单一领域,部分可以对多个领域进行支持,但范围有限,难以满足对复杂装备产品系统进行建模与仿真的需要。
4.例如simulink,其本身是一个可以涵盖多领域的仿真软件,它的模块类库中提供了非常丰富的模块,可以解决很多问题,但在面临某一领域的较为专业的问题的时候,其描述能力有限,需要借助其他建模仿真软件的能力,于是,simulink提供了s-function模块用于封装其他建模软件的模型,通过将模块进行对应的设置,实现模块与外部建模仿真软件的连接,以此方式可以实现按照其基础模块的使用方式对外部的建模仿真软件进行集成,最终,通过多个s-function模块以及其自己的各种模块的组合,完成对一个复杂产品系统模型的构建。但目前仍有相当多的领域和软件是光凭s-function这样的模块难以对接的,如尚未与simulink达成合作的软件,以及新开发成功的软件,其难以在短时间内与simulink等实现对接等;其次,对于仿真软件的支持,仅限于相关建模软件的开发人员,外部的单独的建模仿真从业者很难参与到某两类模型的接口构建;第三,在实际应用过程中,如果一个项目本身在将多个领域的子模型进行整合的过程中,拒绝或无法将作simulink等建模仿真软件作为基底,则按照该方案进行复杂系统模型的整合也是无法办到的。
5.又如对仿真模型进行统一描述的规范function mock-up interface,简称fmi标准,通过xml文件来描述模型,通过已经编译的c代码来执行模型,以此来实现模型交换和联合仿真。其xml文件中记录着用以启动模型的各类信息,如模型变量列表、变量索引值(用以对变量进行修改)、变量类型(如参数、输入、输出等),以及其他启动模型的必要信息;然后将模型按照对应的要求编译并封装为链接库,最后将它们全部打包成一个fmu格式的压缩包,使得模型运行不必要启动原本的仿真软件。在使用模型时,只需从xml文件中读取启动模型的必要信息,将fmi提供的函数库加载入进行模型集成的环境内,即可通过fmi规范提供的各类函数来对模型进行诸如初始化、数据输入和读出、单步运行等操作,以实现对模型的调用。但fmi标准依然存在大量的建模仿真软件无法对接;其次,某一建模仿真软件要与fmi进行对接,同样需要该建模仿真软件的开发人员根据自身软件特点、按照fmi的规范设计格式转换工具;最后,即使是已经实现了与fmi标准进行对接的建模仿真软件,其功能性
有些也会打折扣,涉及如某些仿真模型仅支持fmu的导出或导入、建模仿真软件版本兼容问题、模型交换和联合仿真是否同时支持问题。


技术实现要素:

6.本发明要解决的技术问题是:克服现有技术的不足,解决了多领域仿真模型的统一集成问题。
7.本发明目的通过以下技术方案予以实现:
8.一种多领域仿真模型集成方法,包括:
9.建立多领域模型库,对不同模型的输入、输出、依赖文件采用堆叠方式,分类型、索引、描述三列存入数据库,其中多个变量或多个文件之间采用分隔符分隔;
10.对每个模型,确定模型特征,至少包括输入类型、求解器;
11.对每个模型,模型信息包括实例名称、参数列表、输入输出列表、可用函数列表;
12.根据模型特征、模型信息、多领域模型库,确定集成接口,集成接口包括模型获取模块、模型启动模块、数据输入模块、仿真推进模块、数据读出模块;
13.模型获取模块,用于连接数据库与模型库中的模型文件;通过数据库寻找模型文件的对应信息,并将该对应信息展现给用户;还根据用户的需要,调用模型文件;
14.模型启动模块,用于与模型求解器对接的接口;对于动态链接库类型的模型,建立接口读取模型对应的动态链接库并使用动态链接库中的函数;对于使用独立求解器的模型,启动对应的仿真软件的求解器,通过从编程语言环境向求解器发送命令的方式实现模型的启动;
15.数据输入模块,用于对模型输入进行操作的接口;对于数据流型模型,采用将文件或数据矩阵读入,载入数据流型模型对应的工作空间用以仿真,对参数型模型,通过数据输入模块进行参数修改;
16.仿真推进模块,用于运行仿真模型的接口,通过按仿真步长运行或者启动仿真流程的方式推进仿真模型运行,对于使用独立求解器的仿真模型,根据用户需要运行其对应的求解器从而获得仿真运行结果;
17.数据读出模块,用于读出仿真模型的多种类型数据;通过判断用户读取的数据类型,从模型实例或者模型描述文件中获取对应结果提供给用户。
18.优选的,所述编程语言环境为c++编程语言环境。
19.优选的,所述多个变量或多个文件之间采用均采用分号分隔。
20.优选的,所述输入、输出、依赖文件包括模型代号、模型名称、所属库、模型地址、启动文件、模型功能、输入类型、输入格式、输入描述、输出类型、输出格式、输出描述、依赖文件名、依赖文件地址、依赖文件描述、启动指令、补充描述。
21.优选的,所述模型获取模块,对不同类型的模型生成对应的用于启动模型的数据以及模型的属性信息。
22.一种多领域仿真模型集成系统,包括模型库系统、集成接口;
23.模型库系统,对不同模型的输入、输出、依赖文件采用堆叠方式,分类型、索引、描述三列存入数据库,其中多个变量或多个文件之间采用分隔符分隔;
24.集成接口包括模型获取模块、模型启动模块、数据输入模块、仿真推进模块、数据
读出模块;
25.模型获取模块,用于连接数据库与模型库中的模型文件;通过数据库寻找模型文件的对应信息,并将该对应信息展现给用户;还根据用户的需要,调用模型文件;
26.模型启动模块,用于与模型求解器对接的接口;对于动态链接库类型的模型,建立接口读取模型对应的动态链接库并使用动态链接库中的函数;对于使用独立求解器的模型,启动对应的仿真软件的求解器,通过从编程语言环境向求解器发送命令的方式实现模型的启动;
27.数据输入模块,用于对模型输入进行操作的接口;对于数据流型模型,采用将文件或数据矩阵读入,载入数据流型模型对应的工作空间用以仿真,对参数型模型,通过数据输入模块进行参数修改;
28.仿真推进模块,用于运行仿真模型的接口,通过按仿真步长运行或者启动仿真流程的方式推进仿真模型运行,对于使用独立求解器的仿真模型,根据用户需要运行其对应的求解器从而获得仿真运行结果;
29.数据读出模块,用于读出仿真模型的多种类型数据;通过判断用户读取的数据类型,从模型实例或者模型描述文件中获取对应结果提供给用户。
30.本发明相比于现有技术具有如下有益效果:
31.(1)本发明构建接口以函数形式存在,不规定多领域模型采用固定预设形式,可以全面保留模型原本功能;
32.(2)本发明提供了集成接口的设计方案,打破了仿真模型类型有限间的壁垒,能够集成更多类型的仿真模型;
33.(3)本发明不基于建模仿真平台,不存在必须使用某一建模软件作为基底的情况,具有更好的适用性和更广的适用范围;
34.(4)本发明对不同仿真模型间的支持程度相同,不存在软件版本、功能等方面的差异问题。
35.(5)通过分析通过不同的建模仿真软件建立的模型的特征,按照不同分类设计了它们的通用集成方式,使得在同一类别下的仿真模型可以按照相同的思路设计接口,根据对应的思路,为每个特定仿真软件下建立的模型设计了集成接口,使得最终在c++编程语言的环境下,可以对多类不同的仿真模型进行调用,为模型集成提供可能性;
36.(6)使用了基于对象的模型描述方法,通过映射的方式,将位于原本仿真环境中的模型实例与使用模型时所在的仿真环境实例相连接,并通过创建文件的方式对在原本仿真环境不支持生成模型实例的模型进行对象化描述,从而实现在同一环境下对不同类型的仿真模型进行相同操作;
37.(7)通过分析不同仿真模型间的信息共性与特性,建立一套针对多类仿真模型的信息描述方案,记录其诸如模型输入输出数目类型、模型种类、启动方式、所属类等信息,通过数据库形式对其进行统计,建立一套模型库工具对其进行管理及启动,提高仿真模型集成过程的效率。
附图说明
38.图1为模型信息分类图。
39.图2为模型特征图。
40.图3为模型实例数据及来源。
41.图4为模型集成接口结构图。
42.图5为数据信息通用描述格式。
具体实施方式
43.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步详细描述。
44.一种多领域仿真模型集成方法及系统,多领域模型信息统一描述模板,通过数据库,按照一定的存储格式对模型信息进行存储,方便模型信息搜索,提供启动仿真的必要信息;使用数据库对模型输入输出数据进行堆叠存储以提高使用效率;基于对象的模型类的映射方案,使得所有类型模型均可用c++语言的类表示,以创建模型实例;多领域模型统一调用方式,使得所有类型的模型均可使用c++语言的函数进行调用,以进行仿真;仿真数据的格式转化策略,拥有通用数据描述方式以方便传输,并针对每一类模型采用一套数据转化模块,以适应对应的模型类型。
45.一种多领域仿真模型集成系统,包括多领域模型库系统和多领域模型集成接口。
46.(1)模型库系统
47.一般有如下四类信息,分别为数据信息,文件信息,功能信息和身份信息,如图1所示。其中,数据信息主要描述模型与外部交互的格式,如输入、输出、参数等信息,文件信息主要用于寻找模型文件用于启动等操作,如文件名、地址名等,功能信息用于描述模型功能,身份信息用于确认模型本身是什么,如其名称、所属库、模型代号等。
48.为了组织多领域模型,模型信息需要录入到数据库中,且数据库中信息与模型文件信息应当一一对应。同时,不同类模型间在模型输入、输出、参数形式、运行逻辑上都有着较大的差别,须采用一套描述格式,使得其在能够统一地描述模型信息的同时,还具有足够的可拓展性,即能够涵盖已有的模型的独特信息,同时还能支持新加入的其他形式的模型。
49.在对不同领域模型进行描述,以及对同类模型的不同个体进行描述时,须考虑模型间的输入、输出个数差异,而数据库单条涵盖的信息个数在数据库定义时就已经固定,做不到根据模型不同而调整长度,为了解决这个问题,通常会设计单独的xml文件对诸如输入、输出、参数等信息进行描述,其没有利用到数据库的存入、读取快速的特点,不直观,且可搜索性差。本发明将输入、输出、依赖文件等对于不同模型有不同长度的对象使用堆叠方式,存入数据库的三列中,将其分为类型、索引和描述,多个变量或文件间,用“;”分隔符进行堆叠,该方案确保了模型库对于模型输入输出等参数的不同条件下的包容度和可拓展性,且不必要使用单独的文件对模型进行描述,提高了效率。在对不同类型的仿真模型进行信息读取时,通过模型信息获取模块来分别对这些信息进行处理,以获得用户可以读懂且模型可以识别的信息。模型信息的描述形式如下表1所示:
50.表1
[0051][0052][0053]
针对不同的模型,其输入输出的引用形式是不同的,如对于函数类型的模型,须指定单个变量的数据类型名,否则求解器无法识别,于是,数据库中存放的便是其数据类型以及输入变量名;对于有限元分析模型等将参数作为模型输入的模型,则其一般不强调数据类型,而是数据的单位,于是,数据库中存放的便是其数据对应的单位,如mm,以及单个数据
对应的索引,以便找到该变量进行读出和修改等操作。
[0054]
模型的基础且通用的信息均由数据库进行存储,而针对模型间较为特殊的部分,以及使用该模型的详细注意事项,数据库中存放了其依赖文件的各项信息,如fmu模型的modeldescription.xml文件,以及其他模型的一些用户手册或操作文档等,以补充模型库描述的信息,方便用户使用模型库。
[0055]
(2)多领域模型集成接口
[0056]
为了达到不同的仿真目的,模型可以是参数型输入或者数据流输入,或二者兼有,通过对数据流型输入进行处理,仿真模型可以获得预期的结果,达成数据处理的目的,如一个电路的模型,输入一个电压根据时间进行变化的数据流输入,获得其中某一电路元件的输出,如风扇转速等。通过参数的变动,仿真模型可以产生不同的运行效果,通过这些不同的运行结果,可以分析机理,从而预测实际系统运行效果,以及获得实际系统运行的合适参数等,如一个车间模型,通过修改其制造速度等参数,可以获得不同的运行结果。模型也可以兼顾上述两种目的。
[0057]
为了获得运行结果,仿真模型的运行需要依靠求解器,在与编程语言进行对接的过程中,仿真模型可以使用建模时使用的建模仿真软件进行求解,这样的方式可以获得更加完整全面的仿真功能,通过软件提供的编程语言接口与外部进行参数、设置、结构以及数据上的沟通;仿真模型还可以用动态链接库等方式直接由编程语言所在求解器进行求解,通过牺牲部分功能来获得更加高效的运行,并摆脱原本的运行环境,使得模型的运行条件更为简单。
[0058]
真实系统的运行在参数设置相同的情况下也会出现不同的运行结果,为了反应系统的这种不确定性,部分仿真模型也可以在多次运行的情况下输出不同的结果,方便使用者根据运行结果分析提取不同参数条件下的运行特征,从而对系统性质进行分析,并方便找出合适的运行参数等,如分析堵车情况的模型,即使车速、来车速度等参数都相同,在进行模型初始化的时候随机产生车的初始位置,或者产生了随机扰动,也会产生不同的运行结果。
[0059]
如图2所示,多种类型的模型的特点涵盖了多种情况,根据不同场景,需要不同的集成接口,以适应模型在某一指标下的不同特征。
[0060]
为了使得模型的使用方式更为统一,本发明采用了一套模型映射方案,使得所有的仿真模型都可以在编程语言环境下,通过类的方式进行调用。
[0061]
在对多类建模仿真软件建立的仿真模型进行操作的时候,由于需要使用到不同建模仿真软件的求解器,且不同求解器的使用逻辑和调用函数各有特点,无法用相同的方式使用这些调用函数,但是使用统一的调用函数来调用模型才是更高效的方法。
[0062]
在使用模型时,为了使得可以根据初始化参数的不同同时构建多个模型,应创建模型实例,其结果是产生一个位于编程语言环境的模型实例,方便建模仿真的从业者对其进行直接的操作。对于使用各自原本求解器的仿真模型,其运行时,在对应的求解器内部会存在自身的实例,该模块负责将该原本环境实例与当前环境实例做映射,使得对当前实例进行的操作可以输入到模型运行所处求解器,达成相同操作结果。
[0063]
对于一个模型实例,如图3所示,其应包含模型基本信息:实例名称、参数列表、输入输出列表、可用函数列表,实例名称由用户定义,参数和输入输出列表从数据库中获得,
可用函数列表由集成接口本身提供,根据仿真模型类型生成对应的函数列表。此外,根据模型特殊情况,还可以有包含其他信息,如在其原本环境下不存在模型实例的模型,在创建模型实例时需要用到实例地址。
[0064]
根据以上模型特征、模型信息以及模型库的要求,集成接口由以下功能模块构成,如图4所示:
[0065]
模型获取模块,用于连接数据库与模型文件,通过数据库寻找模型对应信息,并将信息展现给使用者,同时,还根据用户的需要,获取对应的模型提供给其他的功能模块。
[0066]
模型启动模块,用于与模型求解器对接的接口,对于动态链接库类型的模型,由于其于编程语言环境运行,所以建立接口,可以读取模型对应的动态链接库并可以使用其中的函数;对于使用独立求解器的模型,启动对应的仿真软件的求解器,并从编程语言环境向其发送命令以完成相应的接口函数。
[0067]
数据输入模块,用于对模型输入进行操作的接口,对于数据流型模型,满足将文件或数据矩阵读入,载入模型对应的工作空间用以仿真;对参数型模型,提供参数的修改功能。
[0068]
仿真推进模块,用于运行仿真模型的接口,通过按仿真步长运行或者启动仿真流程的方式推进仿真模型运行,对于使用独立求解器的仿真模型,则根据用户需要运行其对应的解决方案从而获得仿真运行结果。
[0069]
数据读出模块,仿真模型有多种类型的数据可以读出,如当次运行结果、属性列表、当前属性值、默认属性值等,且这些数据从不同的渠道获得,该模块判断用户读取的数据类型,然后从模型实例或者模型描述文件等来源获取对应结果提供给使用者。最后,经过上述功能模块,用户获取了所需输出。
[0070]
更具体的:
[0071]
模型获取模块用于将模型与数据库联系起来,从模型信息数据库获得使用模型所需要的一切信息。根据前文提到的模型信息描述,数据库可以对不同领域的模型的各类重要信息进行存储,在使用模型前,须将模型信息录入数据库以方便管理。根据数据库的相关使用语句方法,对不同类型的模型生成对应的用于启动模型的数据以及模型的属性信息等。
[0072]
模型启动模块用于打通在不同仿真环境下运行的模型的壁垒。当模型已经封装为动态链接库,在使用模型时,该模块负责将动态链接库导入,以此来使用链接库内的函数,达成调用模型的目的;当模型运行必须依赖其所处的原本环境时,在调用模型前,模块负责启动对应的求解器,在不打开原本仿真软件界面的情况下实现模型的运行,达成调用模型的目的。该模块最终创建一个模型实例,在创建类实例的过程中,对于以dll形式存在的模型,在当前环境按照创建类实例的方式创建模型实例;对于允许创建原本仿真环境的模型实例的模型,如matlab模型,每当需要创建一个实例时,在原本仿真环境内创建一个实例,在当前环境下创建一个对应实例,使得该类的属性及方法与其在原本环境中的相同,在修改属性时,将数据传入原本仿真环境并按照对应的变量进行修改,在调用方法时,先将方法参数传入原本仿真环境,再将命令传入原本仿真环境来调用某一方法;对于原本仿真环境不支持创建模型实例的模型,以创建临时模型文件的方式产生模型实例,即在启动模型的过程中,在当前环境创建模型实例,初始化时,按照对应的设置创建临时模型文件,并在该
实例中存入模型路径,记录该模型的初始化信息以区分不同实例,使用完毕后,删除实例过程中将临时模型文件一并删除。
[0073]
数据输入模块,用于对不同输入类型的模型实现数据的导入,当模型为数据流输入时,接口负责将输入数据文件或变量按所需的逐步输入或整体运行的方式提供给模型;当模型为参数型输入时,接口负责读取模型参数列表、获取模型的当前值以及对指定参数进行修改。
[0074]
由于本发明涵盖多类模型,其仿真运行所需要的数据格式和组织形式各异,所以本发明采用了一套通用的数据描述形式,如图5所示,以方便传输,在某一类型模型需要用到该数据时,再根据其类型将数据进行转化。通过此方式,不必设计每类模型间的数据格式转化工具,而只需要为每类模型建立单独一个数据格式转化工具,使得运行更加高效。
[0075]
该数据格式较为简单且可拓展性强,通过.csv格式对数据进行存储,并将第一列作为数据类型索引,以目前所包含的模型,暂包括时间、输入、参数、输出等四类,第二列作为变量名,第三列作为数据格式,第四列开始为数据,以此方式存储的数据,可以存储仿真所有所需信息,四类信息无法满足的情况下,可以在后续行中再添加新的信息以满足所需情况,在解析数据时,通过识别第一列的标志,以获取不同类别的信息。
[0076]
仿真推进模块用于运行模型,对于位于编程语言环境运行的模型,该模块提供单步仿真的函数,通过组合单步仿真函数,获得一个定时长仿真的效果,该方法可以精确获得每一步的数据,为与其他模型进行联合仿真提供可能,同时也可直接通过设置定时长仿真的属性进行定时长仿真;对于在模型原本环境进行运行的模型,该模块负责选择模型在原本环境设置的解决方案并运行,解决方案即为求解器设置不同的条件,以获得不同的仿真结果,通过选择不同的解决方案获得不同的定时长仿真结果。
[0077]
数据读出模块可以从未运行过的模型实例、运行完毕的模型实例以及模型的描述文件中获取,包括运行结果,属性列表,当前属性值以及默认属性值等,其中运行结果、属性列表和当前属性值由模型实例获得,属性列表和默认属性值可由模型的描述文件中获得。
[0078]
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
[0079]
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 复杂既有钢筋混凝土框架结构安...
  • 车道线检测方法、装置、设备及...
  • 气体污染源扩散模拟预测算法的...
  • 一种三维影像采集与沉浸式生成...
  • 一种信息处理方法、装置、电子...
  • 覆盖率报告生成方法、装置、设...
  • 一种分散交流实现多面积扩散的...
  • 一种基于人体姿态估计的运动型...
  • 一种基于服务注册机制的动态任...
  • 应用于SPINANDFLAS...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

玻璃钢生产厂家玻璃钢狼人雕塑供应商石龙玻璃钢雕塑石材玻璃钢雕塑设计德州玻璃钢雕塑厂古朴的玻璃钢艺术雕塑晋中玻璃钢广场雕塑商场美陈制作工厂河北桐乡玻璃钢雕塑公司张店玻璃钢雕塑楚雄玻璃钢卡通雕塑电话赣州玻璃钢雕塑生产厂家无锡灰色玻璃钢花盆玻璃钢雕塑公仔定制高档玻璃钢花盆玻璃钢恐龙雕塑合作公司清远楼盘玻璃钢雕塑台州玻璃钢仿铜雕塑厂家供应泉州玻璃钢花盆工厂玻璃钢观音雕塑景观雕塑厂家玻璃钢佛山园林玻璃钢雕塑漯河知名玻璃钢人物雕塑厂家美陈玻璃钢动物雕塑代理价格天津抽象玻璃钢雕塑供应商铜川公园玻璃钢雕塑公司青海景区玻璃钢雕塑设计玻璃钢雕塑小八路浙江多彩玻璃钢雕塑批发春节商场美陈活动图片大全长沙人物玻璃钢雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化