首页> 中国专利> 多核处理器及多核处理器信号处理方法

多核处理器及多核处理器信号处理方法

摘要

本发明提供了一种多核处理器及多核处理器信号处理方法,该多核处理器包括集成在同一晶片上的线程分配内核以及多个线程执行内核,且所述线程分配内核分别与多个所述线程执行内核相连;所述线程分配内核,用于将所述多核处理器执行的线程分配给处于正常状态的线程执行内核;所述线程执行内核,用于执行由所述线程分配内核分配的线程。本发明通过线程分配内核向处于正常状态的线程执行内核分配线程,并且在分配线程过程中避开异常或损坏的线程执行内核,保证多核处理器在有异常内核的情况下还能够正常运行。

著录项

  • 公开/公告号CN112817760A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 深圳宏芯宇电子股份有限公司;

    申请/专利号CN202110116036.6

  • 发明设计人 赖振楠;

    申请日2021-01-28

  • 分类号G06F9/50(20060101);

  • 代理机构44217 深圳市顺天达专利商标代理有限公司;

  • 代理人陆军

  • 地址 518000 广东省深圳市福田区梅林街道梅都社区中康路136号深圳新一代产业园2栋2501

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域

本发明涉及多核处理器领域,更具体地说,涉及一种多核处理器及多核处理器信号处理方法。

背景技术

多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号,与单核处理器相比,能够大幅度提升了数据通信产品的软件处理能力,使系统性能得到进一步提升。

随着处理器计算能力的不断提升,处理器中的内核会越来越多。但是,当处理器的内核过多时,很难保证每一个内核的都能够正常进行工作,如果因为一个或少数几个内核出现异常而导致整个处理器不能运行,反而限制了多核处理器的实际应用。

发明内容

本发明实施例要解决的技术问题在于,针对上述多核处理器内有少数内核不能运行而导致整个处理器不能运行的问题,提供一种多核处理器及多核处理器信号处理方法。

本发明解决上述技术问题的技术方案是,第一方面,本发明实施例提供一种多核处理器,该多核处理器包括集成在同一晶片上的线程分配内核以及多个线程执行内核,且线程分配内核分别与多个线程执行内核相连;线程分配内核,用于将多核处理器执行的线程分配给处于正常状态的线程执行内核;线程执行内核,用于执行由线程分配内核分配的线程。

本发明的多核处理器包括线程分配内核和多核线程执行内核,通过线程分配内核向处于正常状态的线程执行内核分配线程,并且在分配线程过程中避开异常或损坏的线程执行内核,保证多核处理有异常内核的情况下还能够正常运行。

进一步,所述线程分配内核和线程执行内核分别连接到系统总线,且所述线程执行内核与系统总线之间串联连接有开关元件,每一开关元件的控制端与线程分配内核连接,所述线程分配内核通过控制所述开关元件的通断向所述线程执行内核分配线程。

其中,多核处理器还包括与线程分配内核和线程执行内核集成到同一晶片上的第一存储单元,第一存储单元存储有每一线程执行内核的状态信息,且状态信息包括正常状态信息和异常状态信息;线程分配内核与第一存储单元相连,并通过读取第一存储单元中存储的状态信息以确定处于正常状态的线程执行内核。

根据本发明另一个实施例的多核处理器,所述多核处理器包括集成到同一晶片上的多个线程分配内核和多个线程执行内核,且每一所述线程分配内核与至少一个所述线程执行内核相连;每一所述线程分配内核,用于将所述多核处理器执行的线程分配给与所述线程分配内核相连的并处于正常状态的线程执行内核;所述线程执行内核,用于执行由所述线程分配内核分配的线程。

优选地,每一所述线程执行内核经由开关元件连接到一组系统总线,每一线程执行内核与系统总线之间串联连接有开关元件,且每一开关元件的控制端与至少一个线程分配内核连接,所述线程分配内核通过控制所述开关元件的通断向所述线程执行内核分配线程。

优选地,所述线程分配内核包括第二存储单元,所述第二存储单元存储有与所述线程分配内核相连的线程执行内核的状态信息,且所述状态信息包括正常状态信息和异常状态信息;

所述线程分配内核通过读取所述第二存储单元中存储的状态信息以确定处于正常状态的线程执行内核。

另一方面,本发明提供了一种多核处理器信号处理方法,所述多核处理器包括集成在同一晶片上的至少一个线程分配内核以及多个线程执行内核,且每一所述线程分配内核分别与至少一个所述线程执行内核相连;所述方法包括:

每一所述线程分配内核获取与其相连的线程执行内核的状态信息,并根据所述状态信息确定所述线程执行内核的状态,所述状态包括正常状态和异常状态;

所述线程分配内核将需要所述多核处理器执行的线程分配给处于正常状态的线程执行内核;

所述线程执行内核执行所述线程分配内核分配的线程。

优选地,所述方法还包括:

每一所述线程分配内核分别向每一相连的线程执行内核分配一组测试指令线程;

将执行所述测试指令线程异常的线程执行内核标记为异常状态,和/或执行所述测试指令线程正常的线程执行内核标记为正常状态。

优选地,所述多核处理器包括与所述线程分配内核及线程执行内核集成在同一晶片内的存储单元,所述方法还包括:

将所述线程执行内核的状态信息写入所述存储单元;

所述线程分配内核通过读取所述存储单元获取与其相连的线程执行内核的状态信息,并根据所述状态信息确定所述线程执行内核的状态。

优选地,在所述每一所述线程分配内核获取相连的线程执行内核的状态信息,并根据所述状态信息确定所述线程执行内核的状态之后,所述方法还包括:

所述线程分配内核将最近一个需要所述多核处理器执行的线程分配给最早就绪的线程执行内核。

附图说明

图1是本发明实施例提供的多核处理器的结构示意图;

图2是本发明另一实施例提供的多核处理器的结构示意图;

图3是本发明另一实施例提供的多核处理器的结构示意图;

图4是本发明另一实施例提供的多核处理器的结构示意图;

图5是本发明另一实施例提供的多核处理器的结构示意图;

图6是本发明另一实施例提供的多核处理器的结构示意图;

图7是本发明实施例提供的多核处理器的信号处理方法的流程示意图;

图8是本发明另一实施例提供的多核处理器的信号处理方法的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种多核处理器,该多核处理器包括集成在同一晶片上的单个线程分配内核以及多个线程执行内核,所述线程分配内核分别与所述多个线程执行内核相连;线程分配内核,用于将多核处理器执行的线程分配给处于正常状态的线程执行内核;线程执行内核,用于执行由线程分配内核分配的线程。

具体如图1所示,本实施例的多核处理器100可以包括线程分配内核10和线程执行内核20,其中,线程执行内核20的数量可以是多个,例如,线程执行内核20可以包括第一线程执行内核21和第二线程执行内核22,此外,线程分配内核10还可以分别与第一线程执行内核21、第二线程执行内核22连接,具体地,线程分配内核10和第一线程执行内核21、第二线程执行内核22可分别连接到多核处理器100的系统总线。线程分配内核10负责线程分配,其将多核处理器100需要执行的线程分配给第一线程执行内核21和第二线程执行内核22,线程执行内核则执行对应的线程并输出执行结果。本发明实施例中,线程分配内核10可以先获取多核处理器100所有线程执行内核20的状态信息,该状态信息包括正常状态和异常状态,然后再根据获取的状态信息将需要执行的线程分配给处于正常状态的线程执行内核,如图1所示,当第一线程执行内核21、第二线程执行内核22均处于正常状态时,则两个线程执行内核可以分别独立执行分配的线程。

具体地,每一个线程执行内核可以分别通过一个开关元件连接到多核处理器100的系统总线,线程分配内核10则可以按照预设的时序,通过控制开关元件的开关状态来实现线程在第一线程执行内核21、第二线程执行内核22之间的分配。例如,在为第一线程执行内核21分配线程时,线程分配内核10可以控制第一线程执行内核21与系统总线之间的开关元件导通,并控制第二线程执行内核22与系统总线之间的开关元件断开,从而使得第一线程执行内核21可从系统总线获得相应的线程分配信号,并随后执行相应线程。而在为第二线程执行内核22分配线程时,线程分配内核10则可以控制第二线程执行内核22与系统总线之间的开关元件导通、并控制第一线程执行内核21与系统总线之间的开关元件断开,从而第二线程执行内核22可从系统总线获得相应的线程分配信号,并随后执行相应线程。

上述实施例中线程分配内核10、线程执行内核20的划分仅为功能性划分,在具体的应用中,可以根据多核处理器100的各个内核承担的具体功能,将内核划分为线程分配内核10和线程执行内核20,既可将多核处理器100中负责线程分配的内核定义为线程分配内核10,将多核处理器100中负责线程执行的内核定义为线程执行内核20。此外,在本实施例中,线程分配内核10和线程执行内核20的数量可以是多个,本领域技术人员对此应当清楚,本处不再赘述。

本实施例中,各个线程执行内核的状态信息或其他信息还可以存储到一个存储单元中,如图2所示,该存储单元可由集成到线程分配内核10的第一存储器41构成,并且该第一存储器41存储有每一个线程执行内核的状态信息,本发明实施例的状态信息分为两种:正常状态信息和异常状态信息。线程分配内核10通过读取第一存储器41中存储的状态信息以确定处于正常状态的线程执行内核。

第一存储器中41存储的状态信息可以表示各个线程执行内核的工作状态,参考图2,若线程分配内核10读取到某一个线程执行内核(如第一线程执行内核21)的状态信息为正常状态信息,则表示该线程执行内核能够正常执行线程;若读取到某一线程执行内核(第二线程执行内核22)的状态信息为异常状态信息,则表示该线程执行内核处于故障、损坏或异常状态,不能执行线程。在第一存储器中41中的线程执行内核的状态信息,可以是在本发明实施例的多核处理器100出厂前记录在第一存储器41中,多核处理器出厂前先对所有的线程执行内核进行检测,检测过程可以是由线程分配内核10分别给每一线程执行内核分配一线程,若某一线程执行内核21或22输出的结果正确,则在第一存储器41中将该线程执行内核21或22记录为正常状态;否则标记为异常状态,然后将每一线程执行内核21、22的状态和编号等信息存储到第一存储单元41中构成该多核处理器100的各个线程执行内核的状态信息。

如图2所示,该实施例中的第一线程执行内核21处于正常工作状态,其能够正常工作并执行线程;第二线程执行内核22处于异常状态,不能执行线程,(带有五角星“☆”符号标记的线程执行内核处于异常状态)。此外,本发明实施例中每一线程执行内核都能够执行多个线程,因此,在上述状况下,线程分配内核10可以将原本需要第二线程执行内核22执行的线程分配给第一线程执行内核21,而第一线程执行内核21则可以在不同的时间间隙内执行两个或两个以上的线程,从而实现当多核处理器100中有部分内核损坏的情况下仍正常运行,保证多核处理有异常内核的情况下的正常运行。具体地,线程分配内核10在分配线程时,控制线程执行内核22与系统总线之间的开关始终处于断开状态,从而相当于将线程执行内核22旁路。

上述第一存储器41具体可以是线程分配内核10的寄存器,该寄存器通过多个比特位分别记录各个线程执行内核的状态信息,并通过每一寄存器的比特位的序号来与线程执行内核21或22对应。即寄存器的每一比特位记录一个对应的线程执行内核21或22的状态,例如以“1”表示对应的线程执行内核处于正常状态,以“0”表示对应的线程执行内核处于异常状态。

参考图3,作为一种可选的实施方式,在本实施例中,多核处理器100还可以由独立于线程分配内核10的第二存储器42存储每一个线程执行内核的状态信息,且该状态信息包括正常状态信息和异常状态信息;线程分配内核10通过读取第二存储器42中存储的状态信息以确定处于正常状态的线程执行内核,以确定待分配线程的线程执行内核,其他工作原理与上述实施方式相同或者类似,可参见上述说明,本处不再赘述。此外该独立的第二存储器42还可以是该系统内其他具备存储功能的单元,在此不做限定。

本发明另一个实施例提供的多核处理器,其中多核处理器包括集成到同一晶片上的多个线程分配内核和多个线程执行内核,且每一线程分配内核与至少一个线程执行内核相连;每一线程分配内核,用于将多核处理器执行的线程分配给与线程分配内核相连的并处于正常状态的线程执行内核;线程执行内核,用于执行由线程分配内核分配的线程。对于线程的分配,每一所述线程执行内核经由开关元件连接到系统总线,且每一线程执行内核与系统总线之间的开关元件的控制端与一个线程分配内核连接,所述线程分配内核通过控制所述开关元件的导通与断开向所述线程执行内核分配线程。

具体如图4所示,多核处理器可以包括三个线程分配内核,分别为第一线程分配内核11、第二线程分配内核12和第三线程分配内核13,以及九个线程执行内核(其中,线程分配内核和线程执行内核的数量可以根据产品的需求来确定,此处仅为示例性说明),参见图4,还可以将线程执行内核20平均分为三组,如将第三线程执行内核23、第四线程执行内核24、第五线程执行内核25作为第一组,第六线程执行内核26、第七线程执行内核27、第八线程执行内核28作为第二组,第九线程执行内核29、第十线程执行内核30、第十一线程执行内核31作为第三组。

此外,为了对本实施例进行更为详尽的说明,在本实施中,每一个线程分配内核还可以分别对应连接和控制一组线程执行内核,例如:第一线程分配内核11可以与第一组线程执行内核相对应并连接,第二线程分配内核12则可以和第二组线程执行内核对应连接,第三线程分配内核13则可以和第三组线程执行内核对应连接。因此,在进行线程分配时,每一线程分配内核可以将线程分配给与其对应连接的线程执行内核组时,若某一组线程执行内核都处于异常状态,则与该组线程执行内核对应的线程分配内核不进行线程分配工作。例如:线程分配内核11可以与第一组线程执行内核对应,则在线程分配时,线程分配内核11可以将线程分配给第一组的第三线程执行内核23、第四线程执行内核24、第五线程执行内核25,而当第一组的三个线程执行内核都处于异常状态时,则线程分配内核11则不进行线程分配工作。

具体实现中,所述线程分配内核和线程执行内核可以分别连接到系统总线,且每一所述线程执行内核与系统总线之间串联连接有开关元件,且每一开关元件的控制端与至少一个线程分配内核连接,所述线程分配内核通过控制所述开关元件的通断向所述线程执行内核分配线程。例如,在本实施例中,第一线程分配内核11与第一组线程执行内核相对应并连接,即第一线程分配内核11通过开关元件连接并控制第一组的第三线程执行内核23、第四线程执行内核24、第五线程执行内核25之间的线程分配。第二线程分配内核12则可以通过开关元件控制第二组的第六线程执行内核26、第七线程执行内核27、第八线程执行内核28之间的线程分配,第三线程分配内核13则可以和第三组线程执行内核对应连接,并通过开关元件控制线程在第九线程执行内核29、第十线程执行内核30、第十一线程执行内核31之间的分配。显而易见的,当线程分配内核通过开关元件连接控制的线程执行内核不同时,则线程分配内核所控制的线程执行内核则各不相同,例如:当第一线程分配内核11与所有线程执行内核(包括第三至第十一线程执行内核)连接的开关元件连接时,则第一线程分配11可以控制需要分配线程在所有线程执行内核之间的分配。此外第一线程分配内核11还可以获取各个线程执行内核的状态信息,并且根据在状态信息进行具体线程的分配。具体实现方式可以根据实际需要进行更改,在此不做具体限定。

参见图4,图中标志有五角星“☆”符号的线程执行内核代表该内核处于异常状态,不能执行线程。因此,在本实施例的线程分配内核在分配线程时,线程分配内核可以绕过对应组内处于异常状态的线程执行内核,将线程分配给其他处于正常状态的线程执行内核,并将原本分配给处于异常状态的线程执行内核执行的线程重新分配,重新分配时一般可以选择对应组内已经确定的等待分配线程的线程执行内核。如图4所示,第一线程分配内核11在分配线程前能够获取对应第一组内的第三线程执行内核23、第四线程执行内核24、第五线程执行内核25的状态信息,并在根据所获取的状态信息确认第四线程执行内核24处于异常状态(损坏或异常),与该组线程执行内核对应的线程分配内核11在分配线程时,可以绕过第四线程执行内核24,分别给第三线程执行内核23和第五线程执行内核25分配线程,此外,如上述实施例中所述,第三线程执行内核23还可以执行了多个线程(其中这多个线程是在不同的时间间隙执行)。

参考图5,是本发明另一个实施例的多核处理器,本实施例的多核处理器还包括分别内置于多个线程分配内核的第二存储单元,该第二存储单元可以包括第三存储器43、第四存储器44、第五存储器45,且每一线程分配内核10通过读取其内置的第三存储器43、第四存储器44、第五存储器45中存储的线程执行内核的状态信息以确定处于正常状态的线程执行内核。具体的,第三存储单元43可以存储有至少对应第一组线程执行内核(第三线程执行内核23、第四线程执行内核24、第五线程执行内核25)的状态信息,当然也可以存储有其他组的内核状态信息,在此没有不做限定。上述线程执行内核的状态信息的获取可参见上述实施例中的说明,本处不再赘述。此外,第三存储器43、第四存储器44、第五存储器45同样可以是相应线程分配内核内的寄存器,相关原理可参见上述描述,本处不再赘述。

具体地,第三存储器43、第四存储器44、第五存储器45中存储的状态信息可以表示各个线程执行内核的工作状态,若线程分配内核接收到的线程执行内核的状态信息为正常状态信息,则表示该线程执行内核能够正常执行线程;若接收到的线程执行内核的状态信息为异常状态信息,则表示该线程执行内核处于故障、损坏或异常状态,不能执行线程。而线程执行内核中的状态信息,可以是在本发明实施例的多核处理器100出厂前存储在相应储存器中,多核处理器100出厂前可以先对所有的线程执行内核进行检测,检测过程则可以由与线程执行内核直接或间接连接的线程分配内核分配检测线程,若该检测线程执行内核输出的结果正确,则将该线程执行内核标记为正常状态;否则标记为异常状态,然后将每一线程执行内核的状态和编号等信息存储到存储器中构成线程执行内核20的状态信息,具体的,当本发明实施例的存储单元的存储量较小时,可只存储与其对应组的线程执行内核的状态信息;当存储单元的存储量较大时,单个存储单元则可以存储有所有线程执行内核的状态信息。

参考图6,是本发明另一个实施例的多核处理器,在本实施例中,该多核处理器可包括独立于线程分配内核10的第六存储器46,且该多核处理器通过第六存储器46存储有每一个线程执行内核的状态信息,上述状态信息包括正常状态信息和异常状态信息;线程分配内核10通过读取第六存储器46中存储的状态信息以确定所有线程执行内核当中处于正常状态的线程执行内核。上述包含第六存储器46的多核处理器100的工作原理与上述说明相同或类似,相关说明可以参见上述相关描述,本处不再赘述。

基于本发明的多核处理器,本发明提供了一种多核处理器信号处理方法来处理本发明多核处理器的信号。本发明的多核处理器包括集成在同一晶片上的至少一个线程分配内核以及多个线程执行内核,且每一线程分配内核分别与至少一个线程执行内核相连。如图7所示,本实施例的信号处理方法包括以下步骤:

步骤S51,每一线程分配内核获取与其相连的线程执行内核的状态信息,并根据状态信息确定线程执行内核的状态。

具体地,在一个处理器内部的核数较多时,不能保证每个内核都能够正常运行,线程分配内核根据线程执行内核的状态信息来分配线程给线程执行内核,其中线程执行内核的状态包括正常状态和异常状态,处于正常状态的线程执行内核可以正常运行(即能够执行线程);处于异常状态的则无法执行线程。其中,线程执行内核的状态信息是通过状态测试获取并存储在相应的存储单元中,线程分配内核与存储单元连接,可以随时获取线程执行内核的状态信息。

本实施例线程执行内核的状态测试的具体过程包括:每一线程分配内核分别向每一相连的线程执行内核分配一组测试指令线程;将执行测试指令线程异常的线程执行内核标记为异常状态,和/或执行测试指令线程正常的线程执行内核标记为正常状态。

具体地,线程执行内核的状态测试过程一般在该多核处理器使用前或出厂前进行(适用于线程执行内核状态稳定、不易损坏的情况下),测试时线程分配内核向直接或间接相连的线程执行内核分配一组测试指令线程,线程执行内核执行测试指令线程并输出相应的结果。若某一线程执行内核输出的结果符合要求,将该线程执行内核记录为正常状态,否则记录为异常状态。本发明实施例的状态测试过程也可以在多核处理器使用过程中,按照用户设定的周期定期进行,并更新存储在存储单元内线程执行内核的状态信息(适用于线程执行内核状态不稳定、容易损坏或出现故障情况下)。

在多核处理器中,每一个内核有相应的编号,本实施例线程执行内核的状态信息包括每一个线程执行内核的状态和编号,多核处理器包括与线程分配内核及线程执行内核集成在同一晶片内的存储单元,本实施例的信号处理方法将线程执行内核的状态信息写入存储单元;并且线程分配内核可以通过读取存储单元获取与其相连的线程执行内核的状态信息,然后根据状态信息确定线程执行内核的状态。

步骤S52,线程分配内核将需要多核处理器执行的线程分配给处于正常状态的线程执行内核。

步骤S53,线程执行内核执行内核执行线程所分配的线程。

具体地,每一线程执行内核分别通过一个开关元件连接到多核处理器的系统总线,线程分配内核按照预设的时序,通过控制开关元件的状态为线程执行内核分配线程。例如在为线程执行内核分配线程时,若某一线程执行内核处于正常状态,则线程分配内核控制该线程执行内核与系统总线之间的开关元件导通;若某一线程执行内核处于异常状态,则控制该线程执行内核与系统总线之间的开关元件断开,从而线程执行内核可从系统总线获得相应的信号。

每一线程分配内核在向线程执行内核分配线程前,先从存储单元中获取每一个线程执行内核的状态信息。线程分配内核确认每一个线程执行内核的状态后,在分配线程时绕过处于异常状态的线程执行内核,将所有线程分配给处于正常状态的线程来执行。

本实施例的线程分配内核在分配时,线程分配内核将最近一个需要多核处理器执行的线程分配给最早就绪的线程执行内核,即将线程分配内核中下一个待分配的线程分配给已结束线程执行任务、且最早处于等待状态的线程执行内核。因此有些处于正常状态的线程执行内核需要执行两个或两个以上的线程,每个线程在不同的时间间隙被执行;或者为了保持线程平衡,每一个线程分配内核获取与其对应的线程执行内核的状态信息,并根据处于正常状态的线程执行内核的数量分配相应的线程,比如一个线程分配内核与四个线程执行内核连接,四个线程执行内核中有三个处于正常状态,则该线程分配内核分配三个线程。

具体如图8所示,图中包括线程分配内核10和多个线程执行内核20,线程分配内核10分别给每一组线程执行内核分配线程。线程执行内核20中有“☆”标记的是处于异常状态,不能执行线程。图8中线程执行内核阵列中的第一行有一个线程执行内核处于异常状态,第三行有两个线程执行内核处于异常状态,本实施例可以根据每一行线程执行内核处于正常状态的内核分配线程,如线程分配内核10向第一行线程执行内核分配3个线程,向第三行线程执行内核分配2个线程,向第二行和第四行线程执行内核分别分配4个线程,都避开了处于异常状态的线程执行内核。

本发明实施例的多核处理器信号处理方法仅仅是示意性的,线程执行内核的数量不限于图8中的实际个数,即本发明可以应用于包含16个内核以上的处理器,如32核、64核、甚至核数更多的处理器。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号