一种基于用户频繁访问序列模型的Web应用性能测试方法

文档序号:10654437阅读:257来源:国知局
一种基于用户频繁访问序列模型的Web应用性能测试方法
【专利摘要】本发明公开了一种基于用户频繁访问序列模型的Web应用性能测试方法,包括步骤:1)日志数据采集和预处理;2)用户访问序列挖掘;3)制定测试模型和相应测试场景;4)搭建测试环境和监控工具;5)进行性能测试并得到结果。本发明可直接应用于实际Web应用性能测试工程中,采用本发明中基于用户访问频繁序列模型的测试方法可提高Web应用性能测试的准确性,并能有效获取Web应用的实际表现及性能瓶颈。
【专利说明】
-种基于用户频繁访问序列模型的Web应用性能测试方法
技术领域
[0001] 本发明设及Web应用性能测试的技术领域,尤其是指一种基于用户频繁访问序列 模型的Web应用性能测试方法。
【背景技术】
[0002] 近年来,Web应用无论是在数量还是质量上都取得了迅速的发展,各式应用已经深 入到了社会生活的方方面面。与此同时,Web应用的功能也变得越来越复杂,带来的用户数 量和类型也越来越多,应用相关的数据量也越来越庞大,Web应用的性能需求所带来问题亦 越发凸显。因此,如何开发出性能卓越且稳定的Web应用被放在了 Web平台的重要的位置,成 了Web项目公司和其开发者密切关注的问题。要想提高Web应用的性能,首先就需要对Web应 用进行有效的性能测试,通过合理的测试方案设计和规范化的测试过程,发现和定位Web应 用所存在的缺陷和瓶颈。
[0003] 性能测试即是通过自动化的测试工具模拟多种正常、峰值W及异常负载条件来对 系统的各项性能指标进行测试。现有Web应用性能测试方法种类繁多,测试方案的思路也各 不相同,一般来说的性能测试方案和其测试方法存在W下两个难点:
[0004] (1)繁杂的功能点在性能测试优先级上难W选择:随着Web技术的发展,Web应用的 功能也变得更加强大,其自身的结构也变得越来越复杂,一个复杂的Web应用往往包含很多 种功能各不相同的模块,因此设计测试方案时需要做出选择。是对所有的功能模块进行覆 盖性测试,还是根据测试方案设计师对业务的调研和自身的经验来选择所需测试的功能业 务模块?前者的执行必然需要耗费大量的时间和精力,大大增加了测试执行和分析的难度, 而后者存在测试设计人员主观看法影响和经验不足的风险。此外,一个Web应用中的某些业 务往往有很复杂的功能关系,各个功能往往不是彼此独立的,在对应业务中是相辅相成的, 因此,一个Web应用需要有准确量化的参考指标作为测试方案设计的依据,测试结果的准确 性和有效性才是可靠的。
[0005] (2)设计的测试场景难W模拟生产环境下的真实情况:一个Web应用往往有很多不 同的用户,每位用户都有不同的使用目的和用户偏好,其对Web应用的访问和操作访问往往 会表现出较大的差异性。在应用的使用过程中,一些用户可能对某些功能模块表现出特别 的访问偏好,一些用户则对应用的访问较为松散,还有一些用户则会在较短的时间间隔内 进行大量的访问。因此,不同用户即使从同一个页面作为入口进入Web应用,每个用户所产 生的点击流却都会有所不同,在每个页面停留和思考的时间也比较难掌握,在性能测试的 时候,需要把运些因素考虑进去,适当调整脚本的执行且进行有依据的虚拟用户数和用户 化ink Time等参数变化,方可使测试工具所模拟的测试场景能够有效地反应出真实的情况 的。

【发明内容】

[0006] 本发明的目的在于克服现有技术的不足,提供一种基于用户频繁访问序列模型的 Web应用性能测试方法,结合用户频繁访问序列生成测试场景,解决现有Web应用性能测试 方案存在的制定不准确、执行复杂、测试工作重复等问题。该方法操作简易,只需在规范的 性能测试基础上提交一份Web应用日志就能提供一套完整的测试场景,为性能测试方案中 的业务提取和场景设计提供可靠的依据。此外,使用Web应用用户访问日志构建的测试场 景,使得测试所得到的结果能够最大限度地接近真实环境,再结合对测试环境的有效监控, 有效地得到Web应用的性能结果和性能瓶颈。
[0007]为实现上述目的,本发明所提供的技术方案为:一种基于用户频繁访问序列模型 的Web应用性能测试方法,包括W下步骤:
[000引1)从Web应用服务器采集日志数据,并对其进行过滤、持久化、识别运些预处理工 作;
[0009] 2)对步骤1)得到的日志数据进行用户访问序列的挖掘,并结合业务序列出现的频 繁程度,筛选出待测试的访问序列;
[0010] 3)依据步骤2)所得待测试频繁序列结果,进行性能测试模型和其相应测试场景的 制定;
[0011] 4)参照Web应用生产环境架构和配置,进行Web应用测试环境的创建,并部署系统、 中间件相关监控工具;
[0012] 5)依据步骤3)所得性能测试场景,执行现聯并得到现聯结果和现聯环境各服务器 和中间件的监控结果,供性能分析和瓶颈分析。
[0013] 步骤1)中,对获取Web日志数据进行预处理,具体包括W下步骤:
[0014] 1.1)从服务器采集日志数据并对其进行过滤,删除或者标记无关的、错误的和无 效的日志数据;
[0015] 1.2)对步骤1.1)中得到的日志数据进行持久化存储处理,就用户IP地址、请求时 间、用户请求方法、协议版本、请求URL、请求页面、引用URL、引用页面、状态返回码、发送字 节数、请求所使用浏览器和终端字段进行有效存储;
[0016] 1.3)提取步骤1.2)中未被过滤的用户识别关联字段和数据对用户进行识别,进而 进行用户请求的划分,并将用户请求按照时间进行排序。
[0017] 步骤2)中,包括W下步骤:
[0018] 2.1)在用户请求划分的数据基础上,进行用户会话识别,采用会话时间长度阀值 Tl和请求间隔长度阀值T2相结合的方法来识别用户的会话;
[0019] 2.2)在划分好的用户会话中,对用户会话序列进行补充,解决请求丢失、会话序列 断开影响;
[0020] 2.3)依据步骤2.1)和2.2)描述规则,进行用户访问序列的挖掘,运用用户会话识 别和序列补充脚本,通过遍历预处理后的日志数据得到所需序列统计,并对各序列出现次 数进行统计;
[0021] 2.4)对步骤2.3)中得到的用户访问序列集合进行过滤和筛选,去掉无效的用户访 问序列,进而依据Web应用具体的业务对应表,分析序列对应的具体业务,W序列出现次数 作为参考,结合Web应用性能测试需求,得到待测试的用户访问序列集合。
[0022] 步骤3)中,包括W下步骤:
[0023] 3.1)使用HP公司负载测试工具LoadRunner进行待测试序列的脚本录制及对其基 准测试,记录序列脚本运行时间,用于计算虚拟用户数;
[0024] 3.2)构建待测试序列集合的通用性能测试场景模板,填入挖掘统计数据,制定性 能测试场景;
[0025] 3.3)根据需求做出压力调整,即通过调整各业务的TPS,从而增加该业务的并发虚 拟用户数,对Web应用的压力也同比增加。
[0026] 步骤4)中根据Web应用的生产环境架构和配置,包括分布式架构部署、服务器内 存、CPU信息克隆一套测试环境,有效地进行生产环境和测试环境的比较测试和瓶颈分析, 且在此基础上,根据服务器操作系统和职责的不同,按照实际所列监控内容表,对各服务器 操作系统和中间件的性能进行监控;
[0027] 在测试和监控环境部署完成的基础上,开展步骤5),依据已经制定的性能测试场 景,使用LoadRunner进行混合脚本的执行,得到性能测试结果W及各服务器和各中间件的 性能表现,供Web应用性能和瓶颈分析。
[0028] 本发明与现有技术相比,具有如下优点与有益效果:
[0029] 1、通过对Web日志数据进行处理和挖掘,得到用户访问频繁序列,用于生成测试场 景模型,从而对Web应用性能测试方案和测试场景的设计提供准确、有效的参考依据。
[0030] 2、通过对高峰时段关键序列的出现次数进行整理和统计,并分析用户占比和 化ink Time,融入测试场景模型,提高性能测试场景的仿真程度。
[0031] 3、参考生产环境搭建的测试环境测试,并对环境各服务器和中间件性能进行全面 的监控,可为Web应用性能瓶颈的定位提供有效参考。
【附图说明】
[0032] 图1为基于用户频繁访问序列模型的Web应用性能测试方法的流程图。
[0033] 图2为对获取Web日志数据进行预处理的流程图。
[0034] 图3为实施例Web应用的拓扑结构示意图。
[0035] 图4为对日志数据进行用户访问序列的挖掘和待测试序列筛选的流程图。
[0036] 图5为制定测试模型和其相应测试场景流程的示意图。
[0037] 图6为Web应用性能测试监控内容(Windows服务器及其中间件)。
[0038] 图7为Web应用性能测试监控内容化inux服务器及其中间件)。
【具体实施方式】
[0039] 下面结合具体实施例对本发明作进一步说明。
[0040] 如图1所示,本实施例所述的基于用户频繁访问序列模型的Web应用性能测试方 法,包括W下步骤:
[0041] 1)从Web应用服务器采集日志数据,并对其进行过滤、持久化、识别等预处理工作;
[0042] 2)对步骤1)得到的日志数据进行用户访问序列的挖掘,并结合业务序列出现的频 繁程度,筛选出待测试的访问序列;
[0043] 3)依据步骤2)所得待测试频繁序列结果,进行性能测试模型和其相应测试场景的 制定;
[0044] 4)参照Web应用生产环境架构和配置,进行Web应用测试环境的创建,并部署系统、 中间件相关监控工具;
[0045] 5)依据步骤3)所得性能测试场景,执行测试并得到测试结果和测试环境各服务器 和中间件的监控结果,供性能分析和瓶颈分析。
[0046] 如图2所示,在步骤1)中对获取Web日志数据进行预处理,细化步骤如下:
[0047] 1.1)从服务器采集日志数据并对其进行过滤,删除(或者标记)无关的、错误的或 者无效的日志数据。
[004引该步骤中提到的服务器日志,主要是各客户端访问Web应用在服务器上产生的相 应数据。本发明从Nginx服务器运行日志中获取样例日志数据,日志文件记录每个用户请求 发起的详细请求信息。
[0049] 由于网络环境的复杂性,Web应用功能的多样性W及用户偏好和环境的不可控性, Web日志中很多数据是不能使用、错误或者与本发明挖掘算法无关的数据,因此需要对获取 的Web日志进行过滤。一过滤Web日志数据中的图片、视频、脚本等非用户的显式请求,如 肝G,肝66,6伴,〔55,朽等结尾的请求数据;二过滤返回状态为错误的请求,一般状态返回码 为300-599指示的是各种不同类别的错误,需要过滤;S只保留WGET作为请求方法的数据, 一般只有GET方法是表示为用户主动的访问行为;四依据Web应用具体情况,选择Web应用的 高峰时段(高峰时段即各Web应用用户高峰访问时段),如实施例Web应用用户访问高峰时段 为下午7时至晚上卵寸,此步骤将过滤掉此时间段W外的日志数据。
[0050] 如下表1所示,为本发明实施例的部分日志数据,最后一列标注了该行数据是否需 要过滤或者删除。
[0051] 表1:部分Nginx日志数据及其过滤(删除)选择
[0化2]
[0053] I. 2)对步骤1.1)中得到的日志数据进行持久化存储处理,就用户IP地址、请求时 间、用户请求方法、协议版本、请求URL、请求页面、引用URL、引用页面、状态返回码、发送字 节数、请求所使用浏览器和终端等字段进行存储。本发明在此步骤中,同时利用图3的Web应 用拓扑图得出并存储请求页面、引用页面两个额外字段(可根据具体Web应用结合请求URL 和引用U化得出请求页面和引用页面),用于后续步骤的表述和序列挖掘。存储容器选择可 根据数据量大小和存储服务器部署情况而定,通过CSV文件、关系型数据库或者Nosql数据 库进行存储。下表2为部分Nginx日志数据的持久化存储。
[0054] 表2:部分Nginx日志数据的持久化存储
[0化5]
[0化61
[0057] 1.3)提取步骤1.2)所存储的用户识别关联数据对用户进行识别,然后进行用户请 求的划分,并将用户请求按照时间进行排序(同时间则按照原先顺序):
[005引该步骤采用基于IP地址和代理结合的方法。首先从持久化数据中获取用户IP地 址、代理、操作系统和终端信息;之后按照W下规则进行识别:判断如果用户IP地址不同,贝U 认为是不同的用户;如果用户IP地址相同,判断操作系统(用户代理域)或终端信息(浏览器 或者移动设备)不同,则认为是不同的用户;如果操作系统(用户代理域)或终端信息(浏览 器或者移动设备信息)都相同,则根据Web应用页面拓扑结构判断该请求访问的页面能够从 已访问所有页面到达,若不能则认为是不同的用户。下表3是按照W上原则,对用户识别和 请求划分的结果样例。
[0059] 表3:用户识别及请求划分后的部分日志数据
[0060]
[0061]
[0062] 如图4所示,在步骤2)中对数据进行用户访问序列的挖掘,细化步骤如下:
[0063] 2.1)在步骤1)中用户识别和请求划分的基础上,进行用户会话识别。
[0064] 在时间较长的日志当中,用户可能多次访问Web应用,进行会话识别就是要将同一 用户的同一次会话识别出来。本发明采用会话时间长度阀值Tl(一般Web应用设为30分钟, 可根据应用具体情况做调整)和请求间隔长度阀值T2(-般Web应用设为10分钟,可根据应 用具体情况做修改)相结合的方法来识别用户的一次会话。会话初始请求时间to,之后该用 户的其他请求时间ti,ti如果满足t广to<Tl,且ti-ti-i<T2的话,则认为ti和to是属于同一个 会话。
[0065] 2.2)在划分好的用户会话中,对用户会话序列进行补充。
[0066] 当用户对Web应用进行操作的时候,会有几种情况是不会将请求记录在Web日志当 中的,如在执行完成某个action(操作)之后,JSP页面即刻进行擅染而不会产生在日志中产 生JSP请求,又如用户按下浏览器的"后退"按钮或者直接通过U化访问本地已经缓存了的页 面,运些访问请求不会被送到服务器端,所W也不会在Web日志中被记录。
[0067] 针对运类情况,本发明对用户会话序列进行了补充,根据网站的拓扑结构,将断开 的用户会话序列补充完善。如果在用户的请求日志记录中有多个页面都包含与当前请求页 的链接,则将请求时间最接近当前页的页面或者操作作为当前请求页的来源,从而补充其 前一步的JSP作为序列的上一个页面。用户序列补充遵循一个原则就是在用户的一次会话 的序列中,除了起始页面外,每个页面同它上一个页面存在链接关系,不应出现断开现象。 [006引例如,电商Web应用系统查看购物车业务,存在home化ge . jsp-〉login . jsp-〉 myCart.jsp运样的用户会话序列,在Login操作结束后,应该会先跳转到主页后才会进行购 物车的查看,此处应根据电商Web应用的拓扑结构进行序列补充,得到home化ge . jsp-〉 login. jsp-〉homeF*age. jsp-〉myCa;rt. jsp。又如图3实施例的Web应用拓扑结构图,有用户会 话序列4-〉8-光-〉6-〉]?,根据拓扑结构图补充为4-〉8-光-〉8-〉6-〉1-〉]\1。
[0069] 2.3)进行用户访问序列的挖掘,并对各序列出现次数进行统计。
[0070] 结合上述步骤2.1)、2.2),本发明进行了用户会话识别和序列补充脚本的编写,通 过遍历预处理后的日志数据,展开对用户访问序列的挖掘,进而可得结果样式如下表4,表4 是实施例的部分用户会话的访问序列,和表3做出比较,用户1因为中途访问时间间隔较大, 被拆分成了两次会话,用户3因为有出现请求链断开,故脚本对用户3的运次会话序列进行 了补充。
[0071 ]表4:实施例的部分用户会话的访问序列
[0072]
[0073]
[0074] 通过上述挖掘脚本的执行,得到了海量的序列集合,通过对序列集合的归纳整理, 可得到表5结构的序列统计结果,表5中数据为样例结果,出现次数排序由多到少。需要说明 的是,根据本发明中用户会话来挖掘序列,如果某序列X包含某序列y,X序列中的y序列的出 现次数不会包含在序列X的出现次数中,即各自独立,此外,序列X和序列y的化ink Time也 各自独立,W反应真实情况。
[0075] 表5:挖掘序列统计结果
[0076]
[0077] 2.4)对得到的用户访问序列集合进行过滤,再依据业务需求和序列频繁程度选择 待测试的序列集合。工作细化如下:
[0078] 对得到的用户访问序列集合进行筛选,去掉无效的用户访问序列(如不遵循用户 会话序列进行补充原则的序列),然后依据业务对应表,分析序列得到序列对应的具体业 务,W序列出现次数作为参考,结合Web应用性能测试需求得到待测试的用户访问序列集 厶 1=1 O
[0079] 如图5所示,在步骤3)中进行性能测试场景的制定,该步骤细化步骤如下:
[0080] 3.1)录制待测试序列的脚本及对其基准测试
[0081 ] 本发明实用例使用的负载测试工具为HP公司开发的Loa化unner工具,LoadRunner 是一种预测系统行为和性能的负载测试工具,通过W模拟上千万用户实施并发负载及实时 性能监测的方式来确认和查找测试目标所存在的问题。
[0082] 在此步骤中,本发明通过LoadRunner对待测试序列的操作脚本进行录制,并在录 制好的脚本中加入统计好的化ink Time, W单用户,单序列脚本执行作为基准测试场景,测 出各序列脚本的基准执行时间(Tl,T2,…,Tn)。
[0083] 3.2)制定性能测试场景
[0084] 性能测试中有W下两项公式,与本发明场景设计有关。
[0085] c.TPSn=Nn/(3600*hours);--获得各序列在高峰时段的TPS [00化]d.化sern=TPSn*Tn--获得各序列并发虚拟用户数;
[0087] 通过上述两个公式,结合在步骤2.3)中得到的各待测试序列出现次数N和步骤 3.1)中得到的各序列脚本基准测试执行时间T,可制定出测试场景模型如下表6。
[0088] 表6:制定出的测试场景模型
[0089]
[0090] 3.3)根据需求做出压力调整(可选择步骤)
[0091] 通常步骤1)获取的Web应用日志是近期一段时间的用户访问记录,上述步骤3.2) 中设计的测试场景是针对Web应用在现阶段用户数基础上的性能表现。如有计划对Web应用 进行推广或者对某些业务开展一些活动,那么用户数增加随时可能会让Web应用的性能表 现不佳,因此,根据本发明中提出的方法,调整各业务的TPS(如按照预计增大TPS倍数),从 而增加了该业务的并发虚拟用户数,对Web应用的压力也就增肌。通过运种方式可W评估推 广或者活动开展后,Web应用的性能表现。
[0092] 在步骤4)中参照Web应用生产环境,进行Web应用测试环境的创建,工作细化如下: 为了避免性能测试所带来的压力影响生产环境的正常运维,本发明所进行的性能测试需要 搭建一个有效的、具有参考价值的测试环境。根据Web应用生产环境架构和配置,包括分布 式架构部署、服务器内存、CPU等信息克隆一套测试环境。如搭建测试环境时受到设备限制, 可使用虚拟机代替物理机,使用虚拟机代替的前提为测试环境和生产环境的架构部署和网 络部署都需要相同,W便于有效地进行生产环境和测试环境的比较测试和瓶颈分析。
[0093] 在环境部署相同的基础上,对Web应用进行部署,其中需保证Web应用的源码,数据 库内容,图片、视频等多媒体内容的一致性,测试结果才具有参考性。此外,根据服务器操作 系统和职责的不同,需要对各服务器操作系统和中间件的性能监控做好准备,本发明实施 例的Web应用性能测试监控内容如图6和图7所示,打勾项为该服务器需监控的内容。
[0094] 在步骤5)中进行Web应用的性能测试并得到测试结果和测试环境各服务器和中间 件的监控结果,工作细化如下:
[00M]按照步骤3)得到的测试场景,使用LoadRunner可W有效地构建测试场景和执行场 景脚本,并能够得到全面的测试结果,在规范性能测试的基础上,有W下=点需要注意:一 依据性能测试的场景设计,对序列中各个功能点的化ink Time做出配置,起到最好的仿真 效果;二做好脚本的参数化工作,如相同账号避免重复登陆,查询避免重复关键字等,可避 免服务器或者本地缓存所带来的性能误差;=配置好脚本返回值的校验(即检查点设置), W便监测在各压力下Web应用的事务的成功率。在测试结束后,得到L財生能测试结果W及各 服务器和各中间件的性能表现,供Web应用性能和瓶颈分析。
[0096] W上所述实施例只为本发明之较佳实施例,并非W此限制本发明的实施范围,故 凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
【主权项】
1. 一种基于用户频繁访问序列模型的Web应用性能测试方法,其特征在于,包括以下步 骤: 1) 从Web应用服务器采集日志数据,并对其进行过滤、持久化、识别这些预处理工作; 2) 对步骤1)得到的日志数据进行用户访问序列的挖掘,并结合业务序列出现的频繁程 度,筛选出待测试的访问序列; 3) 依据步骤2)所得待测试频繁序列结果,进行性能测试模型和其相应测试场景的制 定; 4) 参照Web应用生产环境架构和配置,进行Web应用测试环境的创建,并部署系统、中间 件相关监控工具; 5) 依据步骤3)所得性能测试场景,执行测试并得到测试结果和测试环境各服务器和中 间件的监控结果,供性能分析和瓶颈分析。2. 根据权利要求1所述的一种基于用户频繁访问序列模型的Web应用性能测试方法,其 特征在于,步骤1)中,对获取Web日志数据进行预处理,具体包括以下步骤: 1.1) 从服务器采集日志数据并对其进行过滤,删除或者标记无关的、错误的和无效的 日志数据; 1.2) 对步骤1.1)中得到的日志数据进行持久化存储处理,就用户IP地址、请求时间、用 户请求方法、协议版本、请求URL、请求页面、引用URL、引用页面、状态返回码、发送字节数、 请求所使用浏览器和终端字段进行有效存储; 1.3) 提取步骤1.2)中未被过滤的用户识别关联字段和数据对用户进行识别,进而进行 用户请求的划分,并将用户请求按照时间进行排序。3. 根据权利要求1所述的一种基于用户频繁访问序列模型的Web应用性能测试方法,其 特征在于,步骤2)中,包括以下步骤: 2.1) 在用户请求划分的数据基础上,进行用户会话识别,采用会话时间长度阀值?\和请 求间隔长度阀值!^相结合的方法来识别用户的会话; 2.2) 在划分好的用户会话中,对用户会话序列进行补充,解决请求丢失、会话序列断开 影响; 2.3) 依据步骤2.1)和2.2)描述规则,进行用户访问序列的挖掘,运用用户会话识别和 序列补充脚本,通过遍历预处理后的日志数据得到所需序列统计,并对各序列出现次数进 行统计; 2.4) 对步骤2.3)中得到的用户访问序列集合进行过滤和筛选,去掉无效的用户访问序 列,进而依据Web应用具体的业务对应表,分析序列对应的具体业务,以序列出现次数作为 参考,结合Web应用性能测试需求,得到待测试的用户访问序列集合。4. 根据权利要求1所述的一种基于用户频繁访问序列模型的Web应用性能测试方法,其 特征在于,步骤3)中,包括以下步骤: 3.1) 使用HP公司负载测试工具LoadRunner进行待测试序列的脚本录制及对其基准测 试,记录序列脚本运行时间,用于计算虚拟用户数; 3.2) 构建待测试序列集合的通用性能测试场景模板,填入挖掘统计数据,制定性能测 试场景; 3.3) 根据需求做出压力调整,即通过调整各业务的TPS,从而增加该业务的并发虚拟用 户数,对Web应用的压力也同比增加。5.根据权利要求1所述的一种基于用户频繁访问序列模型的Web应用性能测试方法,其 特征在于:步骤4)中根据Web应用的生产环境架构和配置,包括分布式架构部署、服务器内 存、CPU信息克隆一套测试环境,有效地进行生产环境和测试环境的比较测试和瓶颈分析, 且在此基础上,根据服务器操作系统和职责的不同,按照实际所列监控内容表,对各服务器 操作系统和中间件的性能进行监控; 在测试和监控环境部署完成的基础上,开展步骤5),依据已经制定的性能测试场景,使 用LoadRunner进行混合脚本的执行,得到性能测试结果以及各服务器和各中间件的性能表 现,供Web应用性能和瓶颈分析。
【文档编号】G06F11/36GK106021079SQ201610298856
【公开日】2016年10月12日
【申请日】2016年5月6日
【发明人】陆璐, 邱少健
【申请人】华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1