数据处理方法、装置、存储介质和计算机设备与流程

文档序号:31927383发布日期:2022-10-25 23:07阅读:45来源:国知局
数据处理方法、装置、存储介质和计算机设备与流程

1.本技术涉及工业设备数据管理技术领域,尤其是涉及到一种数据处理方法、装置、存储介质和计算机设备。


背景技术:

2.相关技术中,在对智慧矿山相关系统进行数据对接时,由于综采工作面底层设备各式各样的数据协议,从而对上层系统的开发带来不小的挑战。并且智慧矿山的上层系统也有若干,这就需要对底层设备数据协议解析进行重复开发,导致数据传输效率过低,且无法保证数据格式的统一性。


技术实现要素:

3.有鉴于此,本技术提供了一种数据处理方法、装置、存储介质和计算机设备。
4.根据本技术的一个方面,提供了一种数据处理方法,用于工业通信网关,工业通信网关与第一设备通信连接,包括:
5.响应于数据处理请求,获取第一设备的通信通道;
6.根据通信通道和预设对照表,在多个预设协议类型中,确定第一设备对应的协议类型,其中,预设对照表中包括第一设备与其所支持的至少一个预设协议类型的关联关系;
7.根据协议类型,确定第一设备的通信协议;
8.根据通信协议,接入第一设备,得到第一设备的第一数据;
9.根据通信协议,对第一数据进行数据解析,得到第二数据;
10.利用预设模型,对第二数据进行数据转换,生成目标数据。
11.可选地,响应于数据处理请求,获取第一设备的通信通道之前,还包括:
12.响应于工业通信网关的启动指令,控制单体程序运行;
13.获取单体程序的单体代码;
14.根据单体代码,确定单体程序对应的多个第二设备的多个通信通道;
15.获取多个通信通道的多个协议接口对象和多个数据转接接口对象;
16.将多个协议接口对象和多个数据转换接口对象注入至预设容器。
17.可选地,响应于数据处理请求,获取第一设备的通信通道之前,还包括:
18.控制工业通信网关与云端通信连接;
19.接收云端发送的配置信息,其中,配置信息包括预设模型参数和预设对照表参数;
20.将配置信息存储至数据库内作为预存信息。
21.可选地,根据通信协议,接入第一设备,得到第一设备的第一数据之后,还包括:
22.获取工业通信网关的信号强度值;
23.根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态。
24.可选地,根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态之后,还包括:
25.当工业通信网关与云端之间网络连接异常时,调用预设数据库内的预存信息;
26.根据预存信息,对第一设备的第一数据进行数据处理。
27.可选地,预设对照表包括单体列表、通信通道列表和预设协议类型之间的对应关系;
28.其中,单体列表包括单体程序的单体身份标识和单体代码;
29.通信通道列表包括多个第二设备的多个通信通道身份标识、多个通信协议和多个通信端口号。
30.可选地,预设协议类型包括以下至少一种:modbus协议、can协议和设备专属协议。
31.根据本技术的另一方面,提供了一种数据处理装置,用于工业通信网关,工业通信网关与第一设备通信连接,包括:
32.第一获取模块,用于响应于数据处理请求,获取第一设备的通信通道;
33.第一确定模块,用于根据通信通道和预设对照表,在多个预设协议类型中,确定第一设备对应的协议类型,其中,预设对照表中包括第一设备与其所支持的至少一个预设协议类型的关联关系;
34.第二确定模块,用于根据协议类型,确定第一设备的通信协议;
35.第一生成模块,用于根据通信协议,接入第一设备,得到第一设备的第一数据;
36.第二生成模块,用于根据通信协议,对第一数据进行数据解析,得到第二数据;
37.第三生成模块,用于利用预设模型,对第二数据进行数据转换,生成目标数据。
38.可选地,数据处理装置,还包括:
39.控制模块,用于响应于工业通信网关的启动指令,控制单体程序运行;
40.第二获取模块,用于获取单体程序的单体代码;
41.第三确定模块,用于根据单体代码,确定单体程序对应的多个第二设备的多个通信通道;
42.第三获取模块,用于获取多个通信通道的多个协议接口对象和多个数据转接接口对象;
43.注入模块,用于将多个协议接口对象和多个数据转换接口对象注入至预设容器。
44.可选地,控制模块,还用于控制工业通信网关与云端通信连接;
45.数据处理装置,还包括:
46.接收模块,用于接收云端发送的配置信息,其中,配置信息包括预设模型参数和预设对照表参数;
47.存储模块,用于将配置信息存储至数据库内作为预存信息。
48.可选地,数据处理装置,还包括:
49.第四获取模块,用于获取工业通信网关的信号强度值;
50.第四确定模块,用于根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态。
51.可选地,数据处理装置,还包括:
52.调用模块,用于当工业通信网关与云端之间网络连接异常时,调用预设数据库内的预存信息;
53.处理模块,用于根据预存信息,对第一设备的第一数据进行数据处理。
54.可选地,预设对照表包括单体列表、通信通道列表和预设协议类型之间的对应关系;
55.其中,单体列表包括单体程序的单体身份标识和单体代码;
56.通信通道列表包括多个第二设备的多个通信通道身份标识、多个通信协议和多个通信端口号。
57.可选地,预设协议类型包括以下至少一种:modbus协议、can协议和设备专属协议。
58.借由上述技术方案,对综采工作面设备协议进行抽象分类处理,有效降低了数据解析的工作量,降低对综采工作面设备数据接入的开发成本。进一步地,引入物模型定义,利用物模型将底层设备解析来的不规则数据进行格式化,可输出统一格式的数据类型,实现了综采工作面数据标准化,使得后续上层系统收到的数据均为格式统一的类型,有效减少了数据解析的开发工作,提升了开发效率。
59.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
60.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
61.图1示出了本技术实施例提供的一种数据处理方法的流程示意图;
62.图2示出了本技术具体实施例提供的基于综采工作面的高负载数据处理方法的流程示意图;
63.图3示出了本技术实施例提供的一种数据处理装置的结构示意图。
具体实施方式
64.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
65.在本实施例中提供了一种数据处理方法,如图1所示,该方法包括:
66.步骤102,响应于数据处理请求,获取第一设备的通信通道;
67.步骤104,根据通信通道和预设对照表,在多个预设协议类型中,确定第一设备对应的协议类型;
68.步骤106,根据协议类型,确定第一设备的通信协议;
69.步骤108,根据通信协议,接入第一设备,得到第一设备的第一数据;
70.步骤110,根据通信协议,对第一数据进行数据解析,得到第二数据;
71.步骤112,利用预设模型,对第二数据进行数据转换,生成目标数据。
72.本技术实施例提出了一种数据处理方法,用于工业通信网关,其中,工业通信网关与第一设备通信连接,第一设备为综采工作面的底层设备。具体地,接收到数据处理指令后,获取底层设备的通信通道和第一数据,需要说明的是,第一数据为底层设备实时采集到的工况数据。其后,根据底层设备的通信通道和云端所发送的预设对照表,在多个预设协议类型内,筛选出该底层设备的通信通道对应的协议类型,使得底层设备能够应用配置好的
协议数据进行解析,无需修改协议代码重新对协议进行解析开发。
73.进一步地,根据底层设备的协议类型,确定该底层设备的通信协议。其后,根据通信协议进行协议解析接入底层设备,以接收底层设备的第一数据。当通信连接成功后,对第一数据进行数据解析,得到解析后的第二数据。在数据解析完成后,利用预设模型,对第二数据进行数据转换生成目标数据。
74.可选地,将生成的目标数据发送至中间件,使得中间件能够根据数据的数据类型将目标数据传输至上层各个客户端。
75.可以理解的是,预设对照表中包括第一设备与其所支持的至少一个预设协议类型的关联关系,当第一设备所对应的协议类型为多个时,可以根据系统存储的历史数据,在多个协议类型中确定出与第一设备最适配的一个作为第一设备的应用协议。
76.可以理解的是,通信协议是指通讯的双方对数据传送控制的一种约定,对报文格式、同步方式、传送速度、检纠错方式、以及控制字符定义等方面制定了统一的规范。不同设备类型的工业设备所支持的通信协议不同。预设通信类型包括modbus(一种应用层报文传输协议)通信协议、can通用协议以及各个设备厂商所规定的设备专属通信协议,此外,还可以根据应用需求,将其他底层设备对应的通信协议添加至预设通信类型中。本技术通过对各类底层设备协议类型进行抽象处理后,对modbus点表及can身份标识等关键协议数据进行配置,使得无论什么设备应用的该协议,都可无需修改代码重新对协议进行解析开发。需要说明的是,对于专属设备的私有协议,抽象出必要的接口,后续再有私有协议接入时,也可大大减少协议解析开发量。
77.可选地,预设模型为物模型,物模型指的是底层设备解析到上层设备使用的统一的数据模型,物模型的结构在服务器数据库中进行定义。其中,物模型的数据类型包括服务、事件和属性三大类。具体地,服务指的是上层系统发送给底层设备的控制命令数据;事件指的是底层设备的报警类型数据,例如,油位过高报警等。除上述数据外,其他数据类型都数据属性类型,例如底层设备采集到的温度、电流、电流等数据。当数据解析完成后,将解析完成的数据根据其相应的数据类型转换成服务、事件或属性类型的数据对象发送给中间件。
78.可选地,预设对照表包括单体列表、通信通道列表和预设协议类型之间的对应关系;其中,单体列表包括单体程序的单体身份标识和单体代码;通信通道列表包括多个第二设备的多个通信通道身份标识、多个通信协议和多个通信端口号。通过创建通信通道列表和单体列表,根据单体列表、通信通道列表和预设协议类型生成预设对照表,在获取到单体程序连接的设备通信后,可以利用预设对照表快速确定其对应的协议类型,进而确定其通信协议,有效提高了开发效率。需要说明的是,单体列表中,单体身份标识为主键,同时也作为通信通道列表的外键;通信通道列表中,通信通道身份标识为主键,单体身份标识为外键。
79.通过应用本实施例的技术方案,对综采工作面设备协议进行抽象分类处理,有效降低了数据解析的工作量,降低对综采工作面设备数据接入的开发成本。进一步地,引入物模型定义,利用物模型将底层设备解析来的不规则数据进行格式化,可输出统一格式的数据类型,实现了综采工作面数据标准化,使得后续上层系统收到的数据均为格式统一的类型,有效减少了数据解析的开发工作,提升了开发效率。
80.在本技术实施例中,可选地,步骤102之前,还包括:响应于工业通信网关的启动指令,控制单体程序运行;获取单体程序的单体代码;根据单体代码,确定单体程序对应的多个第二设备的多个通信通道;获取多个通信通道的多个协议接口对象和多个数据转接接口对象;将多个协议接口对象和多个数据转换接口对象注入至预设容器。
81.在该实施例中,当单体程序启动时,通过单体代码获取到该单体所要连接的多个通信通道,根据这些通信通道对象对应的协议类型,将相应的协议接口对象和数据转换接口对象注入到预设容器中。
82.进一步地,将多个协议接口对象和多个数据转换接口对象注入至预设容器后,将预设容器中的协议接口对象取出并添加到全局字典中,对该字典进行循环遍历,依次调用接口对象中的通信连接方式进行通信连接。当通信连接成功时,开始进入数据解析流程进行数据解析,当数据解析完成后,调用转换模块接口对象中的数据转换方法,通过该转换方法,使得所有数据格式化成统一的物模型数据对象,最后通过中间件将解析后的数据转发给上层各个客户端。
83.可选地,预设容器为ioc(inversion of control,控制反转)容器。
84.可以理解的是,利用微服务思想,通过单体架构形式对协议进行解析,把对每个设备的通道叫做通信通道,其中,每个单体中可以加载一个或多个通道通信,每个通信通道对应一种通信协议。在系统部署时,可以通过集群部署的方式,同时启动多个单体服务,多个通道通信的数据协议解析并行处理。
85.通过上述方式,基于微服务思想,引入unity框架搭建系统。降低了综采工作面接入设备数据时程序开发的耦合度,有效提高了程序的可扩展性。
86.在本技术实施例中,可选地,步骤102之前,还包括:控制工业通信网关与云端通信连接;接收云端发送的配置信息,其中,所述配置信息包括预设模型参数和预设对照表参数;将配置信息存储至数据库内作为预存信息。
87.在该实施例中,由于云端部署正在地面,数据解析、转换功能部署在工业通信网关,而工业通信网关通常位于井下设备边缘端,基于井下恶劣工况环境,必然会发生网络意外中断的情况。为了确保对井下设备采集到的数据的数据解析和数据转换能够正常运行,当单体程序启动时,从云端中加载物模型参数、通信通道的预设对照表参数等最新配置信息,将这些配置信息存储至数据库。在程序运行期间,与配置信息的交互都是通过数据库进行。
88.可选地,数据库还存储了预设的最新一段时间的配置信息,当程序启动检测到云端连接失败时,会自动从数据库中加载配置,从而保证数据解析和数据转换可以正常运行。进一步地,当网络恢复正常后,对数据库中的缓存数据进行自动同步。
89.可选地,数据库可以为redis数据库或sqlite数据库。
90.通过上述方式,通过引入数据库缓存,可以使工业通信网关内的数据解析和数据转换脱离云端独立运行,进而确保由于网络连接异常导致工业通信网关无法与云端信息交互时,数据解析也能够正常运行,提高了数据解析的稳定性和可靠性。
91.在本技术实施例中,可选地,步骤108之后,还包括:获取工业通信网关的信号强度值;根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态。
92.在该实施例中,获取工业通信网关的信号强度值,根据信号强度值和预设阈值,来
检测工业通信网关与云端之间网络连接状态。具体地,当检测到信号强度值大于预设阈值时,也即工业通信网关与云端之间的信号较强,说明工业通信网关与云端之间网络连接状态良好;进一步地,当检测到信号强度值小于胡等于预设阈值时,也即工业通信网关与云端之间的信号较弱,说明工业通信网关与云端之间处于网络断开状态,此时可发出网络异常警报,提升工业通信网关运行的可靠性。
93.可以理解的是,预设阈值为预设信号强度阈值,可以根据井下设备所在的当前工况来设定,本技术在此不做具体限定。
94.在本技术实施例中,可选地,根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态之后,还包括:当工业通信网关与云端之间网络连接异常时,调用预设数据库内的预存信息;根据预存信息,对第一设备的第一数据进行数据处理。
95.在该实施例中,在数据库内存储最新一段时间的配置信息作为预存信息。当程序启动检测到云端连接失败时,会自动从数据库中加载预存信息,根据预存信息,对第一设备的采集数据进行数据处理,从而保证在网络异常状态下,数据解析和数据转换可以正常运行。
96.在本技术的一个具体实施例中,如图2所示,提出了一种基于综采工作面的高负载数据处理方法,该方法包括:
97.步骤202,响应于数据处理请求,判断云端是否存储有单体配置,若是,进入步骤204,若否,进入步骤206;
98.步骤204,获取单体代码;
99.步骤206,输入单体代码;
100.步骤208,加载单体配置信息;
101.步骤210,判断云端与工业通信网关通信连接是否成功,若是,进入步骤212,若否,进入步骤214;
102.步骤212,创建预设容器,将配置信息发送并存储至工业通信网关的数据库;
103.步骤214,读取工业通信网关的数据库内的配置信息;
104.步骤216,将多个协议接口对象和多个数据转换接口对象注入至预设容器;
105.步骤218,对第一设备的第一数据进行协议数据解析,得到第二数据;
106.步骤220,对第二数据进行协议数据转换,生成目标数据;
107.步骤222,将目标数据发送至中间件。
108.本技术实施例提出了一种基于综采工作面的高负载数据处理方法。具体地,创建通信通道列表、单体列表,其中,单体列表关键字段包括单体id(identity document,身份标识)及单体代码,其中单体id为主键,同时也作为通信通道表的外键,单体代码作为一个单体程序的唯一代码。进一步地,通信通道列表关键字段包括通信通道id、单体id、通信ip(internet protocol,网络之间互联协议)、通信端口号、通信协议类型,其中通信通道id为主键,单体id为外键,通信ip和端口号为底层设备的通信信息,通信协议类型包括modbus协议、通用can协议及其他私有协议。
109.进一步地,基于ioc思想,引入unity框架。当单体程序启动时,通过单体代码获取到该单体程序所有要连接的通信通道,根据这些通信通道对象对应的协议类型,将相应的协议接口对象及数据转换接口对象注入到预设容器中。其后,将预设容器中的协议接口对
象取出并添加到全局字典中,对该字典进行循环遍历,依次调用接口对象中的通信连接方式。当通信连接成功时,开始进入数据解析流程,数据解析完成后,调用转换模块接口对象中的数据转换方法,通过该转换方法,使得所有数据格式化成统一的物模型对象,最后通过中间件系统将解析后的数据转发给上层各个客户端。
110.其中,物模型指的是从底层设备解析到上层设备使用的一种统一的数据模型,物模型的结构在云端进行定义,其中物模型的数据类型包括服务、事件及属性三大类。服务指的是上层系统发送给底层设备的控制命令数据,事件指的是底层设备的报警类型数据,例如油位过高报警等,除上述数据外,其他数据类型都属于属性类型。当数据解析完成后,根据相应的数据类型转换成服务、事件或属性类型的数据对象发送给中间件。
111.进一步地,由于云端部署在地面,而数据解析、转换等功能在井下设备边缘端进行部署,这必然会面临网络意外中断的情况,为确保数据解析、数据转换正常运行,本技术引入了redis高速缓存技术。当单体程序启动时,系统从数据库中加载最新配置信息,并将该配置信息存入到redis数据库,在程序运行期间,与配置信息的交互都是通过redis数据库进行,并且redis数据库还存储了最新一段时间的配置信息。当程序启动检测到云端连接失败时,会自动从redis数据库中加载配置信息,从而保证系统可正常运行,当网络恢复正常后,对redis数据库中的缓存数据进行自动同步。
112.本技术实施例提供的基于综采工作面的高负载数据处理方法,通过对综采工作面设备协议进行抽象分类处理,可以极大的降低数据解析的工作量,降低对综采工作面设备数据接入的开发成本。进一步地,通过引入ioc思想,降低了综采工作面接入设备数据时程序开发的耦合度,增加程序的可扩展性。同时,通过单体架构设计,多个单体同时部署方式,降低了单服务器的负载压力,从而提高了对综采工作面设备数据解析的效率,且增加了系统部署的灵活性,根据现场综采工作面需求,可选择简化部署或复杂部署。
113.进一步的,作为图1方法的具体实现,本技术实施例提供了一种数据处理装置,用于工业通信网关,工业通信网关与第一设备通信连接,如图3所示,该装置包括:
114.第一获取模块,用于响应于数据处理请求,获取第一设备的通信通道;
115.第一确定模块,用于根据通信通道和预设对照表,在多个预设协议类型中,确定第一设备对应的协议类型,其中,预设对照表中包括第一设备与其所支持的至少一个预设协议类型的关联关系;
116.第二确定模块,用于根据协议类型,确定第一设备的通信协议;
117.第一生成模块,用于根据通信协议,接入第一设备,得到第一设备的第一数据;
118.第二生成模块,用于根据通信协议,对第一数据进行数据解析,得到第二数据;
119.第三生成模块,用于利用预设模型,对第二数据进行数据转换,生成目标数据。
120.可选地,数据处理装置,还包括:
121.控制模块,用于响应于工业通信网关的启动指令,控制单体程序运行;
122.第二获取模块,用于获取单体程序的单体代码;
123.第三确定模块,用于根据单体代码,确定单体程序对应的多个第二设备的多个通信通道;
124.第三获取模块,用于获取多个通信通道的多个协议接口对象和多个数据转接接口对象;
125.注入模块,用于将多个协议接口对象和多个数据转换接口对象注入至预设容器。
126.可选地,控制模块,还用于控制工业通信网关与云端通信连接;
127.数据处理装置,还包括:
128.接收模块,用于接收云端发送的配置信息,其中,配置信息包括预设模型参数和预设对照表参数;
129.存储模块,用于将配置信息存储至数据库内作为预存信息。
130.可选地,数据处理装置,还包括:
131.第四获取模块,用于获取工业通信网关的信号强度值;
132.第四确定模块,用于根据信号强度值和预设阈值,确定工业通信网关与云端之间的网络连接状态。
133.可选地,数据处理装置,还包括:
134.调用模块,用于当工业通信网关与云端之间网络连接异常时,调用预设数据库内的预存信息;
135.处理模块,用于根据预存信息,对第一设备的第一数据进行数据处理。
136.可选地,预设对照表包括单体列表、通信通道列表和预设协议类型之间的对应关系;
137.其中,单体列表包括单体程序的单体身份标识和单体代码;
138.通信通道列表包括多个第二设备的多个通信通道身份标识、多个通信协议和多个通信端口号。
139.可选地,预设协议类型包括以下至少一种:modbus协议、can协议和设备专属协议。
140.需要说明的是,本技术实施例提供的一种数据处理装置所涉及各功能单元的其他相应描述,可以参考图1方法中的对应描述,在此不再赘述。
141.基于上述如图1所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1所示的数据处理方法。
142.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
143.基于上述如图1所示的方法,以及图3所示的虚拟装置实施例,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1所示的数据处理方法。
144.可选地,该计算机设备还包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
145.本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
146.存储介质中还包括操作系统、网络通信模块。操作系统是管理和保存计算机设备
硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
147.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现对综采工作面设备协议进行抽象分类处理,有效降低了数据解析的工作量,降低对综采工作面设备数据接入的开发成本。进一步地,引入物模型定义,利用物模型将底层设备解析来的不规则数据进行格式化,可输出统一格式的数据类型,使得综采工作面数据标准化,使得后续上层系统收到的数据均为格式统一的类型,有效减少了数据解析的开发工作,从而提升了开发效率。
148.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
149.上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1