数据处理方法和数据处理装置与流程

文档序号:15615102发布日期:2018-10-09 21:10阅读:144来源:国知局

本申请涉及信息处理领域,并且更具体地,涉及数据处理方法和数据处理装置。



背景技术:

向电信、数据通讯和其它网络服务提供商提供业务支持的软件工具可以称为运营支撑系统(operationsupportsystem,oss)。运营支撑系统可以包括业务支撑系统(businesssupportsystem,bss)。

业务支撑系统主要实现对业务、资费、营销的管理,以及对客户的管理和服务的过程。业务支撑系统主要包括:客服系统、计费系统、结算系统、经营分析系统等。

业务支撑系统所包括的系统间的接口会存在差异,或者业务支撑系统与其他系统间的接口会存在差异。通常情况下,这些接口存在差异的系统可以成为异构系统。

目前,可以通过企业服务总线(enterpriseservicebus,esb)系统实现这些异构系统的集成和对接。更具体地,可以使用企业服务总线系统中的映射关系信息实现异构系统的集成和对接。

企业服务总线系统中的映射关系可以通过基于企业服务总线系统的可视化映射工具开发得到的。通过基于企业服务总线系统的可视化映射工具开发映射关系的主要流程包括:可视化映射工具获取并显示源数据结构(即待映射的数据结构),源数据结构也可以称为源消息格式或源数据模型;可视化映射工具获取并显示目标数据结构(即映射后的数据结构),目标数据结构也可以称为目标消息格式或目标数据模型;可视化映射工具获取用户输入的操作指令;可视化映射工具根据用户输入的操作指令生成并显示源数据结构与目标数据结构之间的映射关系。

其中,在源数据结构或目标数据结构具有多层级的情况下,只有在源数据结构和目标数据结构的所有层级节点处于展开状态下,才会向用户显示源数据节点与目标数据节点之间的映射关系。

也就是说,用户要想通过可视化映射工具的显示界面获知源数据节点与目标数据节点之间的映射关系情况,必须将源数据结构和目标数据结构的所有层级节点展开,这样会影响映射关系的开发效率,进而影响企业服务总线的开发效率。



技术实现要素:

本申请提供一种数据处理方法和数据处理装置,能够提高企业服务总线系统的开发效率。

第一方面,本申请提供了一种数据处理方法。该数据处理方法包括:获取用户在第一界面输入的第一操作,所述第一界面中包括所述第一消息格式的树形图和第二消息格式的树形图,所述第一消息格式的第一节点处于展开状态,所述第一操作用于折叠所述第一消息格式的第一节点,所述第一消息格式与所述第二消息格式存在映射关系;根据所述第一操作显示第二界面,所述第二界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第一图形,所述第一消息格式的第一节点处于折叠状态,所述第一图形中显示第一子节点的数量,所述第一子节点为所述第一节点的子节点中、与所述第二消息格式存在映射关系的子节点。

本申请实施例的数据处理方法中,在节点处于折叠状态,即节点的子节点均不显示的情况下,可以显示这些不显示的子节点的映射情况。也就是说,用户在看不见子节点的情况下,仍然可以获知这些子节点的映射情况,从而可以提高映射关系的开发效率。

结合第一方面,在第一种可能的实现方式中,所述数据处理方法还包括:获取用户在所述第二界面输入的第二操作,所述第二操作包括点击所述第一图形;根据所述第二操作显示第三界面,所述第三界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第二图形,所述第一节点处于折叠状态,所述第二图形中显示所述第一子节点。

该实现方式中,用户点击第一子节点的数量后,可以在第一节点处于折叠的情况下显示这些第一子节点,使得用户在第一节点处于折叠的情况下,仍然可以获知第一节点中与第二消息格式存在映射关系的是哪些子节点,从而可以提高映射关系的开发效率。

结合第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述第二操作显示第三界面之前,所述数据处理方法还包括:根据所述第一操作生成第三数据结构,所述第三数据结构包括所述第一消息格式的名称、所述第一节点和所述第一子节点;其中,所述根据所述第二操作显示第三界面,包括:根据所述第二操作和所述第三数据结构显示所述第三界面。

该实现方式中,获取第二操作后,可以根据第三数据结构记录的第一消息格式、第一节点和第一子节点,获知第一节点的子节点中与第二消息格式存在映射关系的子节点并显示,而不用遍历第一节点的所有子节点,从而可以提高开发效率。

结合第一种可能的实现方式,在第三种可能的实现方式中,所述数据处理方法还包括:获取用户在所述第三界面输入的第三操作,所述第三操作包括点击所述第一子节点;根据所述第三操作显示第四界面,所述第四界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第三图形,所述第一节点处于折叠状态,所述第三图形指示所述第一子节点与所述第二消息格式的第二子节点之间存在映射关系。

该实现方式中,当用户点击第一子节点时,可以在第一节点处于折叠状态的情况下,显示第一子节点与第二节点之间的映射关系,从而可以提高开发效率。

结合第三种可能的实现方式,在第四种可能的实现方式中,所述第三数据结构还包括与所述第一子节点存在映射关系的所述第二子节点;其中,所述根据所述第三操作显示第四界面,包括:根据所述第三操作和所述第三数据结构显示所述第四界面。

该实现方式中,获取第三操作后,可以根据第三数据结构记录的内容,获知第二消息格式中与第一子节点存在映射关系的子节点并显示,从而可以提高开发效率。

结合第一方面或第一至第四中任意一种可能的实现方式,所述数据处理方法还包括:根据所述第一操作生成第四数据结构,所述第四数据结构包括所述第一消息格式的名称、第一节点和第一子节点的数量;获取用户在第五界面输入的第四操作,所述第五界面中包括所述第一消息格式的树形图和第二消息格式的树形图,所述第一节点的父节点处于展开状态,所述第四操作用于折叠所述父节点;根据所述第四数据结构确定第三子节点的数量,所述第三子节点为所述父节点的子节点中、与所述第二消息格式存在映射关系的节点;根据所述第四操作显示第六界面,所述第六界面包括所述第一消息格式的树形图、所述第二消息格式的树形图和第四图形,所述第四图形中显示所述第三子节点的数量,所述父节点处于折叠状态。

该实现方式中,用户输入操作、折叠第一节点的父节点,且确定该父节点的所有子节点中、与第二消息格式存在映射关系的节点的数量时,遍历到第一节点后,可以不用继续遍历第一节点的子节点有无与第二消息格式存在映射关系的节点,而是可以根据上述记录第一消息格式、第一节点和第一子节点的数量的数据结构,得到该父节点的子节点中与第二消息格式存在映射关系的部分子节点数量。从而可以提高开发效率。

第二方面,本申请提供了一种数据处理装置,所述数据处理装置包括用于执行第一方面或第一方面中任意一种可能的实现方式中的数据处理方法的模块。

第三方面,本申请提供了一种数据处理装置,所述数据处理装置处理器和显示器。所述处理器用于执行代码。当所述代码被执行时,所述处理器和显示器实现第一方面或第一方面中任意一种可能的实现方式中的数据处理方法。

第四方面,提供了一种计算机可读介质,所述计算机可读介质存储用于数据处理装置执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的数据处理方法的指令。

第五方面,提供了一种包含指令的计算机程序产品,当其在数据处理装置上运行时,使得数据处理装置执行第一方面或第一方面中任意一种可能的实现方式中的数据处理方法。

附图说明

图1是可以应用本申请实施例的数据处理方法的示意性界面。

图2是现有技术的数据处理方法的示意性界面图。

图3是本申请实施例的数据处理方法的示意性流程图。

图4是本申请实施例的数据处理方法的示意界面图。

图5是本申请实施例的数据处理方法的示意界面图。

图6是本申请实施例的数据处理方法的示意界面图。

图7是本申请实施例的数据处理装置的示意性结构图。

图8是本申请实施例的数据处理装置的示意性结构图。

具体实施方式

基于esb的可视化数据映射技术为用户提供了完全图像化的界面作为来进行数据映射关系的配置。基于esb的可视化数据映射技术中执行数据处理方法的数据处理装置通常可以称为可视化数据映射工具。

可视化数据映射工具可以以图形显示源消息格式和目标消息格式。且用户可以通过拖拽等操作生成并显示源消息格式与目标消息格式之间的映射关系。

如图1所示,可视化数据映射工具可以以树形图显示第一消息格式的所有节点和第二消息格式和所有节点。图1所示的界面只是一种示例,不应对本申请的数据处理方法和可视化数据映射工具构成限制。

图1中,第一消息格式可以是源消息格式,对应地,第二消息格式为目标消息格式;第一消息格式可以是目标消息格式,对应地,第二消息格式为源消息格式。

图1中,“θ”表示节点处于展开状态,即该节点的第一级子节点处于显示状态。连接线两端的节点即为有映射关系的节点。其中,可视化数据映射工具获取到用户在第一消息格式的某个节点与第二消息格式的某个节点间输入了连接线后,可视化数据映射工具可以记录该两个节点之间存在映射关系。

由图1所示,第一数据结构的节点2至节点9是节点1的子节点,节点8和节点9是节点7的子节点;第二数据结构的节点2、节点5和节点6是节点1的子节点,节点3和节点4是节点2的子节点,节点8和节点9是节点7的子节点。第一消息格式的节点2与第二消息格式的节点5有映射关系,第一消息格式的节点3与第二消息格式的节点3有映射关系,第一消息格式的节点4与第二消息格式的节点5有映射关系,第一消息格式的节点6与第二消息格式的节点8由映射关系,第一消息格式的节点8和第二消息格式的节点6由映射关系。

其中,第一消息格式和第二消息格式中的节点可以表示函数或者操作符等。

现有的可视化数据映射工具和其数据处理方法中,当某个节点处于折叠状态,即不显示该节点的所有层次的任意子节点时,用户很难通过显示界面获知源消息格式与源消息格式之间的映射关系,从而会影响映射关系的开发效率,从而降低esb的开发效率。

如图2所示,当用户点击节点1前的“θ”图标,使得节点1处于折叠状态(或称为收缩状态)时,界面上不显示节点1的所有子节点。此时,用户就会很难获知第一消息格式与第二消息格式之间的映射关系。其中,“⊕”表示节点1处于折叠状态。

因此,本申请实施例提出了基于esb的可视化数据映射工具的数据处理方法,能够在节点处于折叠状态时,可以更好地向用户显示源数据格式与目标数据格式之间的映射关系,从而可以使得用户可以更快地进行映射关系的配置,进而可以开发效率。

图3为本申请实施例的数据处理方法的示意性流程图。应理解,图3示出了数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图3中的各个操作的变形。此外,图3中的各个步骤可以按照与图3呈现的不同的顺序来执行,并且有可能并非要执行图3中的全部操作。

s310,获取用户在第一界面输入的第一操作,第一界面中包括第一消息格式的树形图和第二消息格式的树形图,第一消息格式的第一节点处于展开状态,第一操作用于折叠第一消息格式的第一节点,第一消息格式与第二消息格式存在映射关系。

第一消息格式和第二消息格式可以是用于记录数据的数据结构。

其中,第一界面的一种示例如图1所示。此时,第一节点可以是图1中所示的节点1。第一操作的一种示例为用户点击节点1前表示节点1处于展开状态的图标“θ”。

具体地,可视化数据映射工具可以执行以下操作:获取用户输入的操作指令,如输入节点之间的连接线操作;显示第一界面;根据用户输入的操作记录第一消息格式中的节点和第二消息格式中节点的映射关系,如根据用户输入的连接线记录节点间的映射关系。

s320,根据第一操作显示第二界面,第二界面中包括第一消息格式的树形图、第二消息格式的树形图和第一图形,第一消息格式的第一节点处于折叠状态,第一图形中显示第一子节点的数量,第一子节点为第一节点的子节点中、与第二消息格式存在映射关系的子节点。

具体地,根据第一操作显示第二界面可以包括:获取用于折叠第一节点的第一操作;处理模块遍历之前记录的映射关系,确定第一节点和其所有子节点中与第二消息格式存在映射关系的节点(可以称为第一子节点)数量;显示第一节点处理折叠状态的第二界面,且在第二界面中显示上述确定的节点数量。其中,显示第二界面的具体实现方式可以参考现有技术,此处不再赘述。

应注意,此处所述的第一节点的所有子节点包括第一节点下所有层级的子节点。

图4是本申请实施例中第二界面的一个示意图。如图4所示,可视化数据映射工具可以在处于折叠状态的节点1旁边显示一个图形(即第一图形),该图形中包括数值4,表示节点1的所有子节点中,有4个节点与第二消息格式有映射关系。

由图4可知,本申请实施例的数据处理方法中,可视化数据映射工具在节点处于折叠状态,即节点的子节点均不显示的情况下,可以显示这些不显示的子节点的映射情况。也就是说,用户在看不见子节点的情况下,仍然可以获知这些子节点的映射情况,从而可以提高映射关系的开发效率,进而可以提高esb的开发效率。

s310中,可选地,可视化数据映射工具遍历之前记录的映射关系,确定第一子节点数量后,可以记录第一消息格式、第一节点和第一子节点数量的对应关系。具体地,可以生成记录第一消息格式的名称、第一节点和第一子节点数量的数据结构。

这样,若用户输入操作、折叠第一节点的父节点,则可视化数据映射工具确定该父节点的所有子节点中、与第二消息格式存在映射关系的节点的数量时,其遍历到第一节点后,可以不用继续遍历第一节点的子节点有无与第二消息格式存在映射关系的节点,而是可以根据上述记录第一消息格式、第一节点和第一子节点的数量的数据结构,得到该父节点的子节点中与第二消息格式存在映射关系的部分子节点数量。从而可以提高可视化数据映射工具的处理效率,提高用户的体验度。

本申请实施例的数据处理方法中,可选地,当用户在第二界面输入第二操作,可视化数据映射工具获取用户在第二界面输入的第二操作后,可视化数据映射工具可以根据第二操作显示第三界面。

其中,第二操作可以包括点击第一图形,或者说点击第一子节点的数量;第三界面中可以包括第一消息格式的树形图、第二消息格式的树形图和第二图形,第一节点处于折叠状态,第二图形中显示第一子节点。

图5为第三界面的一种示意图。如图5所示,节点1处于折叠状态时,用户节点第一图形“④”,可视化数据映射工具就可以显示节点1中与第二消息格式有映射关系的节点2、节点3、节点4和节点6,而节点5则不用显示。

也就是说,用户点击第一子节点的数量后,可视化数据映射工具可以在第一节点处于折叠的情况下显示这些第一子节点,使得用户在第一节点处于折叠的情况下,仍然可以获知第一节点中与第二消息格式存在映射关系的是哪些子节点,从而可以提高映射关系的开发效率。

尤其在第一节点的子节点中,只有部分节点与第二消息格式存在映射关系时,该数据处理方法使得可视化数据映射工具可以不用显示第一节点的全部子节点,而是只显示部分子节点,即可让用户获取第一节点的子节点的映射情况。

本申请实施例中,可选地,在可视化数据映射工具遍历第一节点的所有子节点,以确定这些子节点中与第二消息格式存在映射关系的节点为第一子节点时,可视化数据映射工具还可以生成记录第一消息格式、第一节点、第一子节点的数据结构(可以称为第三数据结构)。

这样,根据第二操作显示第三界面,具体可以包括:根据第二操作和第三数据结构显示第三界面。

也即是说,可视化数据映射工具获取第二操作后,可以根据第三数据结构记录的第一消息格式、第一节点和第一子节点,获知第一节点的子节点中与第二消息格式存在映射关系的子节点并显示,而不用遍历第一节点的所有子节点。

本申请实施例的数据处理方法中,可选地,还可以包括:获取用户在第三界面输入的第三操作,第三操作包括点击第一子节点;根据第三操作显示第四界面,第四界面中包括第一消息格式的树形图、第二消息格式的树形图和第三图形,第一节点处于折叠状态,第三图形指示第一子节点与第二消息格式的第二子节点之间存在映射关系。

也就是说,当用户点击第一子节点时,可视化数据映射工具可以显示第一子节点与第二消息格式中与该第一子节点存在映射关系的节点(可以称为第二节点)之间的映射关系。如可视化数据映射工具可以通过在第一子节点和第二节点之间显示连接线来告知用户第一子节点与第二节点之间存在映射关系,或者可视化数据映射工具可以显示与其他连接线图形、颜色或粗线不一样的连接点来告知用户第一子节点与第二节点之间存在映射关系。

第四界面的一种示意图如图6所示。其中,用户点击第一消息格式的节点3后,可视化数据映射工具可以在第一消息格式的节点1与第二消息格式的节点3之间显示一条连接线,表示第一消息格式的节点3与第二消息格式的节点3之间存在映射关系。

可选地,可视化数据映射工具遍历第一节点的所有子节点,以确定这些子节点中与第二消息格式存在映射关系的节点为第一子节点,并生成记录第一消息格式、第一节点、第一子节点的第三数据结构时,该第三数据结构中还可以记录与第一子节点存在映射关系的第二子节点。

这样,根据第三操作显示第四界面,可以包括:根据第三操作和第三数据结构显示第四界面。

具体地,用户点击第一消息格式的节点3后,可视化数据映射工具可以根据第三数据结构记录的第一消息格式、第一节点、第一子节点和第二子节点,确定第二消息格式中与第一子节点存在映射关系的节点为第二子节点,从而可以在第一节点与第二子节点之间显示表示存在映射关系的连接线。

本申请实施例中,可选地,可视化数据映射工具获取用户输入的用于展开某个节点(可以处称为第四节点)的操作后,若可视化数据映射工具确定第四节点的某个子节点(可以称为第三子节点)处于折叠状态,即第三子节点有子节点且这些子节点均不显示,则可视化数据映射工具可以将第三子节点作为s310中的第一节点,执行图3所示的数据处理方法,具体细节此处不再描述。

图7是本申请一个实施例的数据处理装置的示意性结构图。应理解,图7示出的数据处理装置700仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图7中的各个模块的功能相似的模块,或者并非要包括图7中的所有模块。数据处理装置700也可以称为可视化数据映射工具。

处理模块710,用于获取用户在第一界面输入的第一操作,所述第一界面中包括所述第一消息格式的树形图和第二消息格式的树形图,所述第一消息格式的第一节点处于展开状态,所述第一操作用于折叠所述第一消息格式的第一节点,所述第一消息格式与所述第二消息格式存在映射关系。

显示模块720,用于根据所述第一操作显示第二界面,所述第二界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第一图形,所述第一消息格式的第一节点处于折叠状态,所述第一图形中显示第一子节点的数量,所述第一子节点为所述第一节点的子节点中、与所述第二消息格式存在映射关系的子节点。

本申请实施例的数据处理装置,在节点处于折叠状态,即节点的子节点均不显示的情况下,可以显示这些不显示的子节点的映射情况。也就是说,用户在看不见子节点的情况下,仍然可以获知这些子节点的映射情况,从而可以提高映射关系的开发效率,进而可以提高esb的开发效率。

可选地,所述处理模块还用于获取用户在所述第二界面输入的第二操作,所述第二操作包括点击所述第一图形;所述显示模块还用于根据所述第二操作显示第三界面,所述第三界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第二图形,所述第一节点处于折叠状态,所述第二图形中显示所述第一子节点。

可选地,所述显示模块根据所述第二操作显示第三界面之前,所述处理模块还用于根据所述第一操作生成第三数据结构,所述第三数据结构包括所述第一消息格式的名称、所述第一节点和所述第一子节点;其中,所述显示模块具体用于根据所述第二操作和所述第三数据结构显示所述第三界面。

可选地,所述处理模块还用于获取用户在所述第三界面输入的第三操作,所述第三操作包括点击所述第一子节点;所述显示模块还用于根据所述第三操作显示第四界面,所述第四界面中包括所述第一消息格式的树形图、所述第二消息格式的树形图和第三图形,所述第一节点处于折叠状态,所述第三图形指示所述第一子节点与所述第二消息格式的第二子节点之间存在映射关系。

可选地,所述第三数据结构还包括与所述第一子节点存在映射关系的所述第二子节点;其中,所述显示模块具体用于根据所述第三操作和所述第三数据结构显示所述第四界面。

可选地,所述处理模块还用于根据所述第一操作生成第四数据结构,所述第四数据结构包括所述第一消息格式的名称、第一节点和第一子节点的数量;所述处理模块还用于获取用户在第五界面输入的第四操作,所述第五界面中包括所述第一消息格式的树形图和第二消息格式的树形图,所述第一节点的父节点处于展开状态,所述第四操作用于折叠所述父节点;所述处理模块还用于根据所述第四数据结构确定第三子节点的数量,所述第三子节点为所述父节点的子节点中、与所述第二消息格式存在映射关系的节点;所述显示模块还用于根据所述第四操作显示第六界面,所述第六界面包括所述第一消息格式的树形图、所述第二消息格式的树形图和第四图形,所述第四图形中显示所述第三子节点的数量,所述父节点处于折叠状态。

应理解,图7所示的数据处理装置的各个单元的上述和其它操作和/或功能分别为了实现图3的数据处理方法中由可视化数据映射工具执行的相应流程,为了简洁,在此不再赘述。

图8是本申请另一个实施例的数据处理装置的示意性结构图。应理解,图8示出的数据处理装置800仅是示例,本申请实施例的数据处理装置还可包括其他模块或单元,或者包括与图8中的各个模块的功能相似的模块,或者并非要包括图8中的所有模块。

处理器810可以用于实现图7中的处理模块710能够实现的操作或步骤,显示器8200可以用于实现图7中的显示模块7200能够实现的操作或步骤。为了简洁,此处不再赘述。

其中,处理器810中可以集成有存储器。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1