一种数据接入方法、装置、芯片和计算机存储介质

文档序号:424821 发布日期:2021-12-21 浏览:18次 >En<

阅读说明:本技术 一种数据接入方法、装置、芯片和计算机存储介质 (Data access method, device, chip and computer storage medium ) 是由 惠茹 刘衡祁 姜红 王毅 于 2020-06-18 设计创作,主要内容包括:本申请实施例公开了一种数据接入方法、装置、芯片和计算机存储介质。该方法包括:根据数据切换请求确定待切换接口和目标切换接口,所述待切换接口和目标切换接口发送相同的数据、包含相同数量的数据端口;根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口。上述实施例在进行接口切换时考虑了待切换接口和目标切换接口中各数据端口的时戳跳变点,防止了接口切换过程中数据丢失的情况,保证了接入数据的准确性。(The embodiment of the application discloses a data access method, a data access device, a chip and a computer storage medium. The method comprises the following steps: determining a to-be-switched interface and a target switching interface according to a data switching request, wherein the to-be-switched interface and the target switching interface send the same data and contain the same number of data ports; and controlling the data accessed into the optical transmission network to be switched to the target switching interface from the interface to be switched according to the time stamp jumping points of the data ports contained in the interface to be switched and the target switching interface. The embodiment considers the time stamp jumping points of each data port in the interface to be switched and the target switching interface when switching the interfaces, thereby preventing the data loss in the interface switching process and ensuring the accuracy of the access data.)

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。此外,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图1为本申请实施例提供的一种数据接入方法的流程图,本实施例可适用于将外部设备的数据接入OTN网络中的设备,供OTN网络中的设备使用,实施例不限定数据的类型,例如可以是外部设备发送的业务数据,外部设备与OTN网络中的设备通过芯片连接,该芯片集成在OTN网络中的设备上,以将外部设备发送的业务数据接入OTN网络中的设备,该方法可以由数据接入装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在芯片中,其中,芯片可以是具备数据处理功能的传输芯片。参考图1,该方法包括如下步骤:

S110、根据数据切换请求确定待切换接口和目标切换接口。

其中,待切换接口和目标切换接口发送相同的数据、包含相同数量的数据端口。本实施例的芯片具有两个数据接口,用于接收外部设备的数据,两个数据接口接收的数据完全相同,但该芯片最终只输出一份数据至OTN网络。每个数据接口对应一个通道,为了提升传输速率或满足多业务传输需求,一般在每个通道中设置多个数据端口,通过多个数据端口传输数据。本实施例的两个数据接口以包含多个数据端口为例,且数量相同。例如数据接口0和数据接口1均包含10个数据端口,分别为0-1至0-10、1-1至1-10,数据接口0中各数据端口的数据与数据接口1中各数据端口的数据相同,例如数据端口0-1中的数据与数据端口1-1中的数据相同。最终接入OTN网络的数据可以全部来自数据接口0,也可以全部来自数据接口1,还可以是部分来自数据接口0,部分来自数据接口1。

待切换接口和目标切换接口为在有数据切换请求时对两个数据接口进行的定义,待切换接口为当前需要切换的数据接口,目标切换接口为即将要切换到的目标数据接口。待切换接口和目标切换接口并不固定,例如待切换接口可以是数据接口0,也可以是数据接口1,当待切换接口为数据接口0时,目标切换接口为数据接口1,当待切换接口为数据接口1时,目标切换接口为数据接口0。数据切换请求为芯片获取的用于切换输出数据给OTN网络的数据接口的请求信息,实施例对具体的获取方式不进行限定,在一种情况下,可以通过检测外部设备的硬件开关状态获取,例如当检测到外部设备的硬件开关开启时,即获取了数据切换请求。硬件开关可以手动控制也可以自动控制。在另一种情况下,也可以预先设置数据切换的使能信号,通过软件控制使能信号的高低,例如当检测到使能信号为高时,即获取了数据切换请求。在另一种情况下,还可以由用户端直接发送。用户端可以是手机、电脑等智能终端,用户端与芯片可以通信。具体地,获取数据切换请求后,可以将当前输出给OTN网络的数据对应的数据接口作为待切换接口,将另一个数据接口作为目标切换接口。

S120、根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口。

外部设备一般以数据包的形式发送至芯片的两个数据接口,本实施例的数据包以OTNOFP(Over Packet Fabric Protocol)包为例,表示该数据包基于OFP协议发送,该协议帧头包含一个16比特的Timestamp域,该Timestamp域带有一个t us的时戳值,这些时戳值一般从最小递增到最大,然后跳变到最小,再循环从最小递增到最大,可选的,t为125us。时戳跳变点为时戳值从最大跳变到最小的点,两个数据接口中各对应数据端口的时戳值相同,同一个数据接口中各数据端口出现时戳跳变点的时刻可以相同也可以不同,两个数据接口中包含相同数据的数据端口出现时戳跳变点的时刻不同,例如数据接口0的数据端口0-1和数据接口1的数据端口1-1对应,则数据端口0-1出现时戳跳变点的时刻与数据端口1-1出现时戳跳变点的时刻不同。OFP包为TDM(时分复用,Time-division multiplexing)包的分片。本实施例中各数据端口的数据包也可以直接是TDM包。

图2为本申请实施例提供的一种数据端口的时戳跳变示意图。

图2示例性的给出了两个数据接口中包含相同数据的某数据端口的时戳跳变情况。T以125us为例,即每125us出现一次跳变,其中,时戳跳变点1和时戳跳变点3是数据端口0-1的时戳跳变点,即数据端口0-1的时戳值由125us跳变到0us的时刻,时戳跳变点2和时戳跳变点4是数据端口1-1的时戳跳变点。如果切换点和某时戳跳变点之间的T时间内出现另一个时戳跳变点,则认为切换点和某时戳跳变点之间为非安全区,不可以进行切换,其中T可以由芯片预先配置。图2示例性的给出了两个切换点,分别为切换点1和切换点2,切换点1和时戳跳变点2在T时间内出现了时戳跳变点1,则切换点1和时戳跳变点2之间为非安全区,不可以进行数据切换。时戳跳变点2和切换点2在T时间内未出现时戳跳变点,则时戳跳变点2和切换点2之间为安全区,可以进行数据切换。各数据端口的时戳跳变呈现周期性特点,即每隔125us出现一次时戳跳变。

如果数据切换发生在不安全区,会出现数据丢失的情况,导致接入OTN网络的数据不完整,影响接入数据的准确性,进而影响OTN网络中设备的使用。为此本实施例根据各数据端口的时戳跳变点,控制接入数据由待切换接口切换至目标切换接口,保证接入数据的准确性。由于每个数据接口包含多个数据端口,在一种情况下可以在检测到待切换的数据端口和目标数据端口均达到各自的时戳跳变时,将接入数据由待切换端口切换至目标切换端口,直至将待切换接口的所有数据端口全部切换至目标切换接口的数据端口,以此完成待切换接口到目标切换接口的切换。当然也可以从中选取部分数据端口进行切换,部分数据端口切换完毕后表示数据接口切换完毕,实施例对部分数据端口的数量以及选择方式不进行限定。

本申请实施例提供一种数据接入方法,根据数据切换请求确定待切换接口和目标切换接口,所述待切换接口和目标切换接口发送相同的数据、包含相同数量的数据端口;根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口。上述方法在进行接口切换时考虑了待切换接口和目标切换接口中各数据端口的时戳跳变点,防止了接口切换过程中数据丢失的情况,保证了接入数据的准确性。

图3为本申请实施例提供的另一种数据接入方法的流程图。

S310、根据数据切换请求确定待切换接口和目标切换接口。

S320、通过端口轮询的方式确定所述待切换接口中的待切换数据端口和所述目标切换接口中与所述待切换数据端口对应的目标数据端口。

通过端口轮询的方式可以保证每个数据端口都有均等机会接入OTN网络,例如待切换接口包括10个数据端口,编号分别为0-1至0-10,在一种情况下可以按照编号的顺序依次进行切换,例如首次切换的是数据端口0-1,其次是数据端口0-2,依次类推,直至0-10切换完毕。在另一种情况下,也可以根据数据内容选择切换顺序。

S330、针对每一个待切换数据端口和对应的目标数据端口,在所述待切换数据端口和目标数据端口达到各自的时戳跳变点之前,是否检测到第二存储装置的剩余空间满足预设条件,若是,执行S340,否则执行S350。

数据端口的时戳跳变点可以根据该数据端口中的OFP包对应的时戳值确定,例如时戳值为125us时,对应的时戳跳变点为时戳值由125us跳变到0us的时刻。第二存储装置用于存储所述目标数据端口中待切换的数据。本实施例的存储装置以fifo(先进先出,firstinput first output)存储器为例。数量以4个为例,分别为fifo_chg_0、fifo_chg_1、fifo_if_0和fifo_if_1,其中fifo_chg用于存储当前待切换的数据,例如fifo_chg_0用于存储待切换数据端口当前待切换的OFP包,fifo_chg_1用于存储目标数据端口当前待切换的OFP包,fifo_if用于存储切换之前的数据,例如fifo_if_0用于存储待切换接口切换之前的数据,fifo_if_1用于存储目标切换接口切换之前的数据。当然,fifo_chg_0和fifo_chg_1也可以互换,即fifo_chg_0也可以用于存储目标数据端口当前待切换的OFP包,fifo_chg_1也可以存储待切换数据端口当前待切换的OFP包。fifo_if_0和fifo_if_1也是类似。本实施例以fifo_chg_0存储待切换数据端口当前待切换的OFP包,fifo_chg_1存储目标数据端口当前待切换的OFP包,fifo_if_0存储待切换接口切换之前的数据,fifo_if_1存储目标切换接口切换之前的数据为例,并将fifo_chg_0记为第一存储装置,fifo_chg_1记为第二存储装置。

本实施例对数据端口设置有延时保护,例如在切换之前,先检测fifo_chg_1的剩余空间大小,如果检测到fifo_chg_1的剩余空间满足预设条件,则认为fifo_chg_1处于满的状态,则控制待切换数据端口强制切换到目标数据端口,同时上报满中断。其中预设条件可以是剩余空间为0,也可以是剩余空间小于预设空间阈值,预设空间阈值为一个较小的正数,本实施例对预设空间阈值的具体大小不进行限定。

S340、控制所述接入数据由所述待切换数据端口切换至所述目标数据端口。

S350、设定时间内是否检测所述待切换数据端口和目标数据端口达到各自的时戳跳变点,若是,执行S360,否则执行S370。

本实施例除了设置延时保护,还设置了超时保护,即如果切换之前,fifo_chg_1还有剩余空间,则进一步检测设定时间内待切换数据端口和目标数据端口是否达各自的时戳跳变点,如果待切换数据端口和目标数据端口至少之一未达到各自的时戳跳变点,则控制待切换数据端口强制切换到目标数据端口,并上报超时中断,否则按照正常情况进行切换。其中,设定时间的大小可以自行配置,最小为时戳值。

S360、获取第二存储装置的数据,并将所述数据接入所述光传输网,直至所述待切换接口的全部待切换数据端口切换完毕。

以待切换接口的数据端口0-1切换至目标切换接口的数据端口1-1为例,当检测到数据端口0-1达到其时戳跳变点,且数据端口1-1达到其时戳跳变点时,将fifo_chg_1中缓存的数据接入OTN网络,此时可以将fifo_chg_0复位,即清空或丢弃fifo_chg_0中存储的数据,为存储下一个待切换数据端口待切换的数据提供空间。需要说明的是,在将fifo_chg_1中缓存的数据接入OTN网络时,fifo_if_0和fifo_if_1保持空闲状态,即fifo_if_0和fifo_if_1保持当前既未缓存数据,也未有数据接入OTN网络。为了保证各数据端口都有均等机会接入OTN网络,本实施例对待切换接口的所有数据端口进行轮询,即当前数据端口切换完毕后,再切换下一个数据端口,并重复上述操作,直至待切换接口的全部数据端口切换完毕,所有端口切换完毕表示数据接口切换完毕。还需要说明的是,每次切换时只切换一个数据端口。数据接口切换完成后,将不需要切换的数据从fifo_if_0或fifo_if_1中接入OTN网络,例如待切换接口为数据接口0,对应的存储器为fifo_if_0,目标数据接口为数据接口1,对应的存储器为fifo_if_1,则切换完成后,将fifo_if_1中的数据接入OTN网络。

S370、控制所述接入数据由所述待切换数据端口切换至所述目标数据端口。

本实施例提供的数据接入方法在上述实施例的基础上,对待切换接口的每一个数据端口进行轮询,使其有均等机会接入OTN网络,而且在切换数据端口时根据待切换数据端口和目标数据端口的时戳跳变点,确定切换点,避免了数据切换出现在不安全区,导致数据丢失的情况,保证了接入数据的准确性,除此之外还对每个数据端口设置了延时保护和超时保护,确保在检测不到时戳跳变点时,系统不会出现卡死状态。

在上述实施例的基础上,本实施例在检测到待切换数据端口达到时戳跳变点时,缓存所述待切换数据端口的数据至第一存储装置;以及在检测到目标数据端口达到时戳跳变点时,缓存所述目标数据端口的数据至第二存储装置;所述第一存储装置用于存储所述待切换数据端口中待切换的数据。

第一存储装置可以是上述实施例提供的fifo_chg_0,用于存储待切换数据端口中待切换的数据。第二存储装置可以是上述实施例提供的fifo_chg_1,用于存储目标数据端口中待切换的数据。与传统的为每一个数据端口设置一个存储装置相比,本实施例在具备多数据端口的情况下,利用一个fifo_chg_0缓存各个待切换数据端口待切换的数据,利用一个fifo_chg_1缓存各个目标数据端口待切换的数据,利用一个fifo_if_0和一个fifo_if_1分别缓对应数据端口中不需要切换的数据,减少了存储装置的数量,节省了硬件资源的占用。

具体的,以待切换接口的数据端口0-1切换至目标切换接口的数据端口1-1为例,当检测到数据端口0-1达到其时戳跳变点时,将数据端口0-1中的OFP包写入fifo_chg_0,当检测到数据端口1-1达到其时戳跳变点时,将数据端口1-1中的OFP包写入fifo_chg_1。当检测到数据端口0-1和数据端口1-1均达到各自的时戳跳变点时,将fifo_chg_1中缓存的数据接入OTN网络,同时将fifo_chg_0复位,切换完成后,fifo_chg_1和fifo_chg_0均为空,可以继续为下一次切换提供存储空间。本实施例在保证各数据端口有均等机会接入OTN网络的同时,进一步减少了硬件资源的占用。

在上述实施例的基础上,在根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口之前,还包括:

控制所述待切换接口的各数据端口关闭,目标切换接口的各数据端口开启。

以从数据接口0切换到数据接口1为例,初始时,数据接口0的各个数据端口关闭(即使能信号为低),数据接口1的各个数据端口都打开(即使能信号为高)。假定当前待切换的数据端口号为0-1,目标数据端口号为1-1,则在检测到数据端口0-1的时戳跳变点时将OFP包写入fifo_chg_0,同时将数据端口0-1打开(即使能信号为高)。当fifo_chg_0和fifo_chg_1都为空,且数据接口1没有OFP包输入时,数据端口1-1关闭,此时认为数据端口0-1到数据端口1-1切换成功。

在上述实施例的基础上,在根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口之后,还包括:

控制所述待切换接口的各数据端口开启,目标切换接口的各数据端口关闭。

仍以从数据接口0切换到数据接口1为例,全部数据端口切换完毕之后,将数据接口0的各个数据端口打开,将数据接口1的各个数据端口关闭,等待下一次切换。

需要说明的是,上述实施例是在未收到各数据端口的告警信号或监测到各数据端口的告警信号消失后采取的操作。当然,如果监测到某数据端口出现告警信号,则直接执行切换操作,将未告警的数据端口的数据接入OTN网络,保证接入数据的质量。

下面结合一个具体的示例描述一下数据接入方法的实现过程。

示例一:从数据接口0切换到数据接口1,各包含N个数据端口

初始时将数据接口0的数据接入OTN网络,此时控制数据接口0的N个数据端口都关闭,数据接口1的N个数据端口都打开。接收到数据切换请求时,对各数据端口进行轮询,假定当前需要切换的端口号为0-1,在检测到数据端口0-1达到时戳跳变点时将OFP包写入fifo_chg_0,同时将数据端口0-1打开,在检测到数据接口1达到时戳跳变点时,将OFP包写入fifo_chg_1,在检测到数据接口0和数据接口1均达到各自的时戳跳变点时,将fifo_chg_0复位,在fifo_if_0和fifo_if_1空闲时,将fifo_chg_1中的数据接入OTN网络,当fifo_chg_0和fifo_chg_1均为空,且数据接口1没有OFP包输入时,将数据端口1-1关闭,此时认为数据端口0-1切换成功。然后确定下一个切换的数据端口,重复上述步骤,直至N个数据端口全部切换完成。N个数据端口全部切换完成后,控制数据接口0的N个数据端口全部打开,数据接口1的N个数据端口全部关闭。如果切换过程中出现延时或超时,则进行强制切换。

本实施例提供的数据接入方法有效解决了ONT承载多数据端口的1+1保护问题。在两个数据接口具备多个数据端口时,通过端口轮询机制,在多数据端口的场景下,使每个数据端口都有均等机会接入OTN网络,同时无需为每一个数据端口设置一个存储装置,减少了硬件资源的占用;利用时戳值的跳变,保证了数据的准确接收;而且每个数据端口都具有超时保护机制,确保在时戳跳变点找不到的情况下,系统不会出现卡死的状态。

图4为本申请实施例提供的一种数据接入装置的结构图,该装置可以执行上述实施例的数据接入方法,参考图4,该装置包括:

确定模块41,用于根据数据切换请求确定待切换接口和目标切换接口,所述待切换接口和目标切换接口发送相同的数据、包含相同数量的数据端口;

第一控制模块42,用于根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口。

本申请实施例提供一种数据接入装置,根据数据切换请求确定待切换接口和目标切换接口,所述待切换接口和目标切换接口发送相同的数据、包含相同数量的数据端口;根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口。上述装置在进行接口切换时考虑了待切换接口和目标切换接口中各数据端口的时戳跳变点,防止了接口切换过程中数据丢失的情况,保证了接入数据的准确性。

在上述实施例的基础上,第一控制模块42,包括:

轮询单元,用于通过端口轮询的方式确定所述待切换接口中的待切换数据端口和所述目标切换接口中与所述待切换数据端口对应的目标数据端口;

第一控制单元,用于针对每一个待切换数据端口和对应的目标数据端口,在检测到所述待切换数据端口和目标数据端口达到各自的时戳跳变点时,获取第二存储装置的数据,并将所述数据接入所述光传输网,直至所述待切换接口的全部待切换数据端口切换完毕,所述第二存储装置用于存储所述目标数据端口中待切换的数据。

在上述实施例的基础上,第一控制模块42,还包括:

缓存单元,用于在检测到待切换数据端口达到时戳跳变点时,缓存所述待切换数据端口的数据至第一存储装置;以及在检测到目标数据端口达到时戳跳变点时,缓存所述目标数据端口的数据至第二存储装置;所述第一存储装置用于存储所述待切换数据端口中待切换的数据。

在上述实施例的基础上,第一控制模块42,还包括:

第二控制单元,用于如果设定时间内未检测到待切换数据端口和/或目标数据端口达到各自的时戳跳变点,控制所述接入数据由所述待切换数据端口切换至所述目标数据端口。

在上述实施例的基础上,第一控制模块42,还包括:

在所述待切换数据端口和目标数据端口达到各自的时戳跳变点之前,如果检测到所述第二存储装置的剩余空间满足预设条件,控制所述接入数据由所述待切换数据端口切换至所述目标数据端口。

在上述实施例的基础上,该装置还包括:

第二控制模块,用于在根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口之前,控制所述待切换接口的各数据端口关闭,目标切换接口的各数据端口开启。

在上述实施例的基础上,该装置还包括:

第三控制模块,用于在根据所述待切换接口和目标切换接口中所包含数据端口的时戳跳变点,控制接入光传输网的数据由所述待切换接口切换至所述目标切换接口之后,控制所述待切换接口的各数据端口开启,目标切换接口的各数据端口关闭。

在上述实施例的基础上,所述待切换接口和目标切换接口中对应数据端口出现时戳跳变点的时刻不同。

本申请实施例提供的数据接入装置可执行上述实施例中的数据接入方法,具备执行方法相应的功能模块和有益效果。

图5为本申请实施例提供的一种芯片的结构图。

该芯片包括处理单元51、存储单元52、输入单元53和输出单元54,该芯片中处理单元51的数量可以是一个或多个,图5中以一个处理单元51为例。处理单元51与存储单元52、输入单元53和输出单元54可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储单元52作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中数据接入方法对应的程序指令/模块。处理单元51通过运行存储在存储单元52中的软件程序、指令以及模块,从而执行芯片的各种功能应用以及数据处理,即实现上述实施例的数据接入方法。

存储单元52主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储单元52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储单元52可进一步包括相对于处理单元51远程设置的存储器,这些远程存储器可以通过网络连接至芯片。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入单元53可用于接收输入的数字或字符信息,以及产生与芯片的用户设置以及功能控制有关的键信号输入。输出单元54可包括显示屏等显示设备、扬声器以及蜂鸣器等音频设备。

本申请实施例提供的芯片与上述实施例提供的数据接入方法属于同一构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行数据接入方法相同的有益效果。

本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现如本申请上述实施例所述的数据接入方法。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据接入方法中的操作,还可以执行本申请任意实施例所提供的数据接入方法中的相关操作,且具备相应的功能和有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本申请上述实施例所述的数据接入方法。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:光网络单元及其注册认证和配置方法、装置和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!