消息处理方法、系统及设备的制作方法

文档序号:7744857阅读:180来源:国知局
专利名称:消息处理方法、系统及设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及消息处理方法、系统及设备。
背景技术
电信硬件平台由小型机逐步向高级电信计算架构(Advanced TelecomComputing Architecture, ATCA)演进,ATCA架构中通过集群方式(如负荷分担集群,或N+m集群)达到与小型机一样的容量,负荷分担集群的ATCA架构包括接入节点、多个(至少两个)计算节点和数据节点,其中接入节点与系统中的所有计算节点连接,给外部系统提供接口,采用负荷分担算法如轮循将业务请求分发给相应的计算节点;计算节点与数据节点连接,负责业务逻辑处理;数据节点负责用户业务配置数据如业务订购关系的存取。接入节点通过心跳检测计算节点状态,当某个计算节点故障后,接入节点与故障计算节点的心跳丢失,接入节点自动隔离故障计算节点,不再给故障计算节点分发新的业务请求。现有负荷分担集群的ATCA构架中,某计算节点故障后,该计算节点正在处理的业务全部中断,影响用户体验。

发明内容
本发明实施例提供消息处理方法、系统及设备,保证在一个计算节点故障后,该计算节点上的业务不中断,从而提高用户体验。本发明实施例提供一种消息处理方法,包括接收会话过程消息,所述会话过程消息中包括会话标识;确定所述会话标识对应的会话不是本地计算节点建立的,向数据节点获取所述会话标识对应的会话状态数据和业务配置数据;根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。本发明实施例提供一种消息处理方法,包括接收会话过程消息,所述会话过程消息中包括会话标识,在本地会话表中查找是否包括所述会话标识对应的计算节点;当确定本地会话表中不包括所述会话标识对应的计算节点,则选择另一计算节点,并将所述会话过程消息发送给另一计算节点,以便所述另一计算节点根据所述会话过程消息中的会话标识进行会话的重建。本发明实施例提供一种计算节点,包括第一消息接收单元,用于接收会话过程消息,所述会话过程消息中包括会话标识;会话确定单元,用于确定所述第一消息接收单元接收的会话过程消息中会话标识
5对应的会话是非本地计算节点建立的;消息处理单元,用于向数据节点获取所述会话标识对应的会话状态数据和业务配置数据,根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。本发明实施例提供一种接入节点,包括第二消息接收单元,用于接收会话过程消息,所述所述会话过程消息中包括会话标识;查找单元,用于在本地会话表中查找是否包括所述第二消息接收单元接收的会话过程消息中会话标识对应的计算节点;选择发送单元,用于当所述查找单元查找到本地会话表中不包括所述会话标识对应的计算节点,则选择另一计算节点,并将所述会话过程消息发送给另一计算节点进行处理。本发明实施例提供一种消息处理系统,包括接入节点、至少两个计算节点;所述接入节点,用于接收会话过程消息,所述会话过程消息中包括会话标识,在本地会话表中查找是否包括所述会话过程消息中会话标识对应的计算节点;若不包括,则选择另一计算节点,并将所述会话过程消息发送给所述另一计算节点;所述计算节点,用于接收所述接入节点发送的会话过程消息;确定所述会话标识对应的会话不是本地计算节点建立的,向数据节点获取所述会话标识对应的会话状态数据和业务配置数据;根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。本发明实施例的消息处理方法包括接收包括会话标识的会话过程消息,当确定会话标识对应的会话不是本地计算节点建立的,向数据节点获取会话标识对应的会话状态数据和业务配置数据;根据会话状态数据和业务配置数据创建会话,并对该会话过程消息进行相应的处理。这样在建立会话后,如果一个计算节点发生故障,另一个计算节点会根据故障计算节点上建立的会话对应会话过程消息中的会话标识,向数据节点获取到会话状态数据和业务配置数据,并根据会话状态数据和业务配置数据建立会话,对会话过程消息进行保证会话不中断的相应处理,提高了用户体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本实施例消息处理方法所适用的系统结构示意图;图2是本发明方法实施例一提供的消息处理方法的流程图;图3是本发明方法实施例二提供的消息处理方法的流程图;图4是本发明实施例中提供的呼叫业务系统中计算节点的结构示意图;图5是本发明实施例提供的呼叫业务系统中消息处理的流程图;图6是本发明实施例提供的呼叫业务系统中计算节点进行消息处理的流程图7是本发明设备实施例提供的计算节点的结构示意图;图8是本发明设备实施例提供的另一计算节点的结构示意图;图9是本发明设备实施例提供的接入节点的结构示意图;图10是本发明设备实施例提供的另一接入节点的结构示意图;图11是本发明系统实施例提供的消息处理系统的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。一种消息处理方法,本发明实施例的方法应用于如图1所示的ATCA架构系统,包括主用接入节点、备用接入节点,与主用接入节点和备用接入节点连接的多个计算节点,及主用数据节点、备用数据节点,该实施例的方法流程图如图2所示,包括步骤101、计算节点接收会话过程消息,会话过程消息中包括会话标识。这里会话过程消息是指在该计算节点和对端通信的会话建立之后,计算节点接收到对端发送的消息,例如在呼叫业务系统中会话过程消息包括各类请求消息,如基本呼叫状态模型(Basic Call State Model, BCSM)、事件报告(Event Report BCSM, ERB)或申请计费报告(Apply Charging Report, ACR)等;还包括通知消息,如呼叫信息报告(Call Information Report)等。而在会话过程消息中都会包括会话标识,用来标识该会话过程消息是在哪个会话之下的,如呼叫业务系统中的对话号可以唯一标识一个呼叫。步骤102、该计算节点确定会话过程消息中的会话标识对应的会话不是本地计算节点建立的,从数据节点获取会话标识对应的会话状态数据和业务配置数据。计算节点在与对端建立会话后,将在本地计算节点储存会话标识,则在确定会话过程消息中的会话标识对应的会话是否是本地计算节点建立时,可以将会话过程消息中的会话标识与本地储存的会话标识进行匹配,若本地储存的会话标识中不包括会话过程消息中的会话标识,则确定该会话标识对应的会话不是本地计算节点建立的。在数据节点中储存着业务配置数据,业务配置数据主要是在会话过程中不会改变的数据,如业务订购关系等信息;在本实施例中,ATCA架构系统中的计算节点在与对端建立会话后,还会将该会话中的包括自动分配的信息会话状态数据储存到数据节点。其中会话状态数据是指在会话建立后产生的临时变化的数据,包括地址数据和/或计费状态数据,如协议状态机的状态,消息地址(ID)等。对于地址数据不需要持久化,是通过划分不同的取值范围来保证业务正确,这样在数据节点中只保存业务对应的取值范围即自动分配的信息,在会话建立后由计算节点向数据节点储存自动分配的信息后,不需要进行更新,例如在呼叫业务系统中会话状态数据具体为呼叫状态数据,正常呼叫的消息ID取值范围是1到100,异常呼叫的消息ID的取值范围是101到255,只需在数据节点中储存消息 ID的取值范围即可;而对于计费状态数据,则需要在会话建立后由计算节点向数据节点进行储存并更新。
可以理解,如果确定该会话状态数据对应会话是本地节点建立的,则按照现有的方法进行处理,在此不进行赘述。步骤103、计算节点根据会话状态数据和业务配置数据创建会话,并对会话过程消息进行相应的处理。根据会话状态数据和业务配置数据创建会话时,具体地,将该会话的会话标识与会话状态数据及业务配置数据对应储存,创建异常会话实例,且创建的异常会话实例可以不严格按照协议规定实现,能够处理会话建立成功之后的消息保证会话不中断即可,不需要处理会话建立之前的消息。在对会话过程消息进行相应处理时可以进行简易操作,可以不完全按照该计算节点对本地建立的会话中会话过程消息的处理方法进行处理,只需对会话过程消息的处理保证业务不中断即可。例如该计算节点接收到会话过程消息A,如果确定本地计算节点已储存了会话过程消息A中的会话标识,则需要返回应答消息,且发送要求对端回执的消息;如果确定本地计算节点没有储存会话过程消息A中的会话标识,则在创建会话后返回应答消息来保证业务不中断,而不发送要求对端回执的消息并不能使得业务中断,因此可以不发送。具体地,在对会话过程消息进行处理时,如果会话过程消息是通知消息,则可以忽略该通知消息;若是请求消息,则根据会话状态数据和业务配置数据来构造请求消息的应答消息。应答消息的内容包括请求消息中的参数、协议规定的参数、保存在数据节点的会话状态数据包括自动分配的信息、业务配置数据等参数,在构造应答消息时,需要先获得这些参数,并按照这些参数设置应答消息的结构。以移动网络增强逻辑的客户化应用(CAMEL Application Part,CAP)协议的ACR为例,当系统收到中间ACR消息后,需要构造申请计费 (AC)消息,并发给对端。在构造AC消息时,根据参数进行设置应答消息的结构如下表1所示表 1
消息ID 自动分配101 2 之间的整数,异常呼叫的消息ID取值范围是 101 &5,来自会话状态数据中的自动分配的信息。 操作类型协议规定为AC的操作类型用于计费。
aCh 账单计费特性(aCh Billing Charging Characteristics)包括计费时长; 计费时长(time Duration Charging)包括以下3个参数; 最大计费时长(max Call Period Duration):来自业务配置数据或会话状态数据,如5分钟;
如果超过时间则释放(release If duration Exceeded)来自业务配置数据, 如不释放;
信号音(Tone)来自业务配置数据,如不放音。
费率切换间隔(tari打Switch Interval)来自业务配置数据,如5分钟。 计费方(party To Charge)来自 ACR 消息的 party To Charge 字段。 在呼叫业务系统中,如果会话过程消息是中间ACR,则说明上一个计费周期已经用完,对端如果在指定时间内收不到新的计费周期,则会断开呼叫,所以为了保证呼叫不中断,计算节点还需要向在线计费系统(Online ChargingSystem,0CS)申请新的计费周期,并
8下发申请计费消息;当接收到最终ACR时,说明通话已经结束,只需向OCS确认计费,记录话单并释放呼叫;如果会话过程消息是ERB时,说明主叫或被叫已经挂机即通话已经结束,计算节点需要根据ERB记录话单并释放呼叫。可以理解,本实施例中的计算节点在对会话过程消息进行处理时,还可以包括该计算节点在建立一个新的会话后,将该会话对应的会话状态数据存储到数据节点。这样如果该计算节点发生故障,则系统中其他的计算节点即可获取该计算节点的会话状态数据, 并创建会话,使得该故障上建立的会话业务不中断。可见,本发明实施例的消息处理方法包括接收包括会话标识的会话过程消息,当确定会话标识对应的会话不是本地计算节点建立的,向数据节点获取会话标识对应的会话状态数据和业务配置数据;根据会话状态数据和业务配置数据创建会话,并对该会话过程消息进行相应的处理。这样在建立会话后,如果一个计算节点发生故障,另一个计算节点会根据故障计算节点上建立的会话对应会话过程消息中的会话标识,向数据节点获取到会话状态数据和业务配置数据,并根据会话状态数据和业务配置数据建立会话,对会话过程消息进行保证会话不中断的相应处理,提高了用户体验。在一个具体的实施例中,在上述步骤103的建立会话之前还包括确定会话过程消息是通知消息还是请求消息,如果是通知消息,则直接丢弃该通知消息;如果是请求消息,才执行步骤103建立会话并进行相应的处理。这样如果会话过程消息是通知消息时,可以不进行会话建立,减少了处理通知消息的时间。例如计算节点在确定接收的会话过程消息对应会话不是本地计算节点建立时,根据其中的会话标识到数据节点读取对应的会话状态数据和业务配置数据,包括协议类型、业务接入码(业务标识)、业务键、主叫号码、被叫号码、在OCS的会话ID、呼叫开始时间和最大计费时长等数据;然后根据协议类型,调用对应的解码函数对会话过程消息进行解码,如果确定会话过程消息是通知消息,则直接丢弃;如果确定是请求消息,则创建异常会话实例,把主叫号码、被叫号码、OCS的会话ID、呼叫开始时间绑定到该会话实例,即将该会话的会话标识与会话状态数据和业务配置数据对应储存,并启动心跳定时器,建立与对端的心跳 (Activity Test);最后根据业务接入码(业务标识)调用对应业务的简易流程(每种业务都有对应的简易流程)。方法实施例二一种消息处理方法,本发明实施例的方法应用于如图1所示的ATCA架构系统,流程图如图3所示,包括步骤201、接入节点接收会话过程消息,在会话过程消息中包括会话标识;步骤202、接入节点在本地会话表中查找是否包括会话标识对应的计算节点,若不包括,执行步骤203 ;若包括,则将会话过程消息发送给本地会话表中该会话标识对应的计算节点;可以理解,接入节点接收会话建立请求后,会按照负载均衡算法选择一个计算节点,并将会话建立请求发送给选择的计算节点进行会话建立,且将会话标识与计算节点的对应关系储存到本地会话表中,其中会话标识与该会话建立请求相对应。
9
当选择的计算节点与对端建立会话后,接入节点则接收对端的会话过程消息,并根据其中包含的会话标识转发给对应的计算节点进行处理。步骤203、接入节点会按照负载均衡算法选择另一计算节点,并将会话过程消息发送给另一计算节点,另一计算节点接收到会话过程消息后,按照如方法实施例一中的方法根据会话过程中的会话标识进行会话的重建,并对会话过程消息进行相应处理,在此不再赘述。如果接入节点在本地会话表中查找不到会话标识对应的计算节点,则说明该计算节点故障,需要选择另一个计算节点进行处理给会话过程消息。且需要在本地会话表中增加选择的另一计算节点与该会话过程消息中会话标识的对应关系。需要说明的是,本实施例中的接入节点会发送心跳消息给ATCA架构系统中的所有计算节点,当没有收到计算节点A的心跳应答消息,则认为计算节点A故障,删除本地会话表中计算节点A的记录。这样在知道故障的计算节点后能及时更新本地会话表,使得故障计算节点上建立的会话中会话过程消息能得到及时处理,使得业务不中断。可见,本实施例中的消息处理方法包括接收会话过程消息,包括会话标识,在本地会话表中查找是否包括该会话标识对应的计算节点;若不包括,则选择另一计算节点,并将会话过程消息发送给另一计算节点进行会话的重建。这样使得在一个计算发生故障时, 将故障计算节点上建立的会话中会话过程消息发送给其他任一正常的计算节点,由其他正常的计算节点进行会话重建后对会话过程消息进行相应处理,使得在计算节点发生故障后,会话业务不中断,提高了用户体验。以下以呼叫业务系统如下一代智能网(Next Generation IntelligentNetwork, NGIN)为例说明本发明实施例的消息处理方法,本系统中计算节点的结构如图4所示,包含了消息接收确定单元和消息处理单元,消息处理单元包括业务能力单元和业务逻辑单元, 其中消息接收确定单元与多个相同的协议能力的业务能力单元连接,负责与接入节点之间的消息转发和内部单元之间的消息转发;每个业务能力单元与多个业务逻辑单元连接,主要是协议栈的支持,包括智能网应用协议(Intelligent Network Application Protocol, INAP)、CAP、移动应用部分(MobiIeApplication Part, MAP)等智能网协议。参考图5所示,在实现某个计算节点故障后,故障计算节点上已经接通的呼叫不中断时,通过如下的步骤实现301、接入节点接入到一个新呼叫,即接收到启动检测点(Initial DetectionPoint, IDP),并且为该新呼叫分配一个计算节点,例如该接入节点可以按负荷分担算法选择可用的计算节点1,并将上述IDP消息发送给分配好的计算节点1,以使计算节点1为用户的呼叫建立一个呼叫会话。302、计算节点1中的消息接收确定单元接收接入节点发送的IDP,会选择一个业务能力单元来处理该IDP消息,将IDP转发给选择的业务能力单元,并在路由表中添加新呼叫的对话号与选择的业务能力单元的对应关系。业务能力单元接收到IDP,创建对话号对应的一个或多个协议状态机,并根据IDP 中的信息及用户的业务订购关系,创建业务能力单元侧的一个呼叫(Call)和两个对应于主、被叫的呼叫腿(Call Leg),通过通知呼叫(Notify Call)接口将呼叫上报给确定的业务逻辑单元;业务逻辑单元对应地创建一个呼叫和两个呼叫腿,这样计算节点通过建立了一个新的呼叫连接。在呼叫建立接通后,计算节点1将该呼叫对应的呼叫状态数据保存到数据节点中。特别在BCSM中,呼叫接通后,状态基本稳定,呼叫状态数据较少,且变化不频繁。可以理解,接入节点与计算节点之间通过事务处理能力应用部分(Transaction Capabilities Application Part, TCAP)协议承载消息,TCAP消息中的对话号可唯一标识一个呼叫,因此,将呼叫状态数据以对话号为关键字进行保存,如下表2所示表权利要求
1.一种消息处理方法,其特征在于,包括接收会话过程消息,所述会话过程消息中包括会话标识;确定所述会话标识对应的会话不是本地计算节点建立的,向数据节点获取所述会话标识对应的会话状态数据和业务配置数据;根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。
2.如权利要求1所述的方法,其特征在于,所述接收会话过程消息之前还包括在建立会话后,将所述会话对应的会话状态数据发送到所述数据节点进行存储,所述会话状态数据包括地址数据和/或计费状态数据。
3.如权利要求1所述的方法,其特征在于,所述确定所述会话标识对应的会话是非本地计算节点建立的具体包括将所述会话过程消息中的会话标识与本地储存的会话标识进行匹配,若所述本地储存的会话标识中不包括会话过程消息中的会话标识,则确定所述会话标识对应的会话是非本地计算节点建立的。
4.如权利要求1至3任一项所述的方法,其特征在于,所述对所述会话过程消息进行相应的处理具体包括若所述会话过程消息是通知消息,丢弃所述通知消息;若所述会话过程消息是请求消息,所述对所述会话过程消息进行相应的处理具体包括根据所述会话状态消息和业务配置数据构造所述请求消息的应答消息。
5.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述会话状态数据和业务配置数据创建会话之前,还包括确定所述会话过程消息是通知消息还是请求消息,若所述会话过程消息是通知消息, 则丢弃所述通知消息;若所述会话过程消息是请求消息,则根据所述会话状态数据和业务配置数据创建会话。
6.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述会话状态数据和业务配置数据创建会话,对所述会话过程消息进行相应的处理具体包括若所述会话过程消息是申请计费报告,将所述会话标识与会话状态数及业务配置数据对应储存,创建异常会话实例,向在线计费系统OCS申请新的计费周期,并下发申请计费消息;当接收到最终申请计费报告时,向所述在线计费系统OCS确认计费,记录话单并释放呼叫;若所述会话过程消息是基本呼叫状态模型BCSM事件报告,将所述会话标识与会话状态数及业务配置数据对应储存,创建异常会话实例,根据所述基本呼叫状态模型BCSM事件报告记录话单并释放呼叫。
7.一种消息处理方法,其特征在于,包括接收会话过程消息,所述会话过程消息中包括会话标识,在本地会话表中查找是否包括所述会话标识对应的计算节点;当确定本地会话表中不包括所述会话标识对应的计算节点,则选择另一计算节点,并将所述会话过程消息发送给另一计算节点,以便所述另一计算节点根据所述会话过程消息中的会话标识进行会话的重建。
8.如权利要求7所述的方法,其特征在于,还包括发送心跳消息给计算节点,当没有收到某一计算节点的心跳应答消息,删除本地会话表中所述某一计算节点的记录。
9.如权利要求7或8所述的方法,其特征在于,还包括在本地会话表中增加所述另一计算节点与所述会话标识的对应关系。
10.一种计算节点,其特征在于,包括第一消息接收单元,用于接收会话过程消息,所述会话过程消息中包括会话标识; 会话确定单元,用于确定所述第一消息接收单元接收的会话过程消息中会话标识对应的会话是非本地计算节点建立的;消息处理单元,用于向数据节点获取所述会话标识对应的会话状态数据和业务配置数据,根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。
11.如权利要求10所述的计算节点,其特征在于,所述会话确定单元具体用于将所述会话过程消息中的会话标识与本地储存的会话标识进行匹配,若所述本地储存的会话标识中不包括会话过程消息中的会话标识,则确定所述会话标识对应的会话是非本地计算节点建立的。
12.如权利要求11所述的计算节点,其特征在于,所述消息处理单元具体包括业务能力单元和业务逻辑单元;业务能力单元,用于当所述会话确定单元确定会话标识对应的会话是非本地计算节点建立的,向所述数据节点获取所述会话标识对应的会话状态数据和业务配置数据,根据所述会话状态数据和业务配置数据创建业务能力单元侧的会话;并将所述会话通过异常会话上报接口上报给业务逻辑单元;将会话过程消息通过异常消息发送接口发送给业务逻辑单元;业务逻辑单元,用于接收到所述业务能力单元上报的会话及发送的会话过程消息,根据所述会话状态数据和业务配置数据创建业务逻辑单元侧的会话,并对所述会话过程消息进行相应的处理;所述会话确定单元还用于将所述会话过程消息发送给所述会话标识对应的业务能力单元。
13.一种接入节点,其特征在于,包括第二消息接收单元,用于接收会话过程消息,所述会话过程消息中包括会话标识; 查找单元,用于在本地会话表中查找是否包括所述第二消息接收单元接收的会话过程消息中会话标识对应的计算节点;选择发送单元,用于当所述查找单元查找到本地会话表中不包括所述会话标识对应的计算节点,则选择另一计算节点,并将所述会话过程消息发送给另一计算节点进行处理。
14.如权利要求13所述的接入节点,其特征在于,还包括心跳检测单元,用于发送心跳消息给计算节点,当没有收到某一计算节点的心跳应答消息,删除本地会话表中所述某一计算节点的记录。
15.如权利要求13或14所述的接入节点,其特征在于,还包括对应关系增加单元,用于在本地会话表中增加所述另一计算节点与所述会话过程消息的对应关系。
16.一种消息处理系统,其特征在于,包括接入节点、至少两个计算节点;所述接入节点,用于接收会话过程消息,所述会话过程消息中包括会话标识,在本地会话表中查找是否包括所述会话过程消息中会话标识对应的计算节点;若不包括,则选择另一计算节点,并将所述会话过程消息发送给所述另一计算节点;所述计算节点,用于接收所述接入节点发送的会话过程消息;确定所述会话标识对应的会话不是本地计算节点建立的,向数据节点获取所述会话标识对应的会话状态数据和业务配置数据;根据所述会话状态数据和业务配置数据创建会话,并对所述会话过程消息进行相应的处理。
17.如权利要求16所述的消息处理系统,其特征在于,还包括数据节点,用于储存所述至少两个计算节点上建立会话的会话状态数据和业务配置数据。
全文摘要
本发明实施例公开了消息处理方法、系统及设备,应用于通信技术领域。本发明实施例的消息处理方法包括接收包括会话标识的会话过程消息,当确定会话标识对应的会话不是本地计算节点建立的,向数据节点获取会话标识对应的会话状态数据和业务配置数据;根据会话状态数据和业务配置数据创建会话,并对该会话过程消息进行相应的处理。这样在建立会话后,如果一个计算节点发生故障,另一个计算节点会根据故障计算节点上建立的会话对应会话过程消息中的会话标识,向数据节点获取到会话状态数据和业务配置数据,并根据会话状态数据和业务配置数据建立会话,对会话过程消息进行保证会话不中断的相应处理,提高了用户体验。
文档编号H04L12/56GK102208988SQ201010135808
公开日2011年10月5日 申请日期2010年3月29日 优先权日2010年3月29日
发明者韦光胜 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1