CN106708711B - 一种日志信息输出控制方法及装置 - Google Patents

一种日志信息输出控制方法及装置 Download PDF

Info

Publication number
CN106708711B
CN106708711B CN201510792464.5A CN201510792464A CN106708711B CN 106708711 B CN106708711 B CN 106708711B CN 201510792464 A CN201510792464 A CN 201510792464A CN 106708711 B CN106708711 B CN 106708711B
Authority
CN
China
Prior art keywords
log information
service
service processing
log
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510792464.5A
Other languages
English (en)
Other versions
CN106708711A (zh
Inventor
李招昕
魏宏
张勇
卢伟勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510792464.5A priority Critical patent/CN106708711B/zh
Publication of CN106708711A publication Critical patent/CN106708711A/zh
Application granted granted Critical
Publication of CN106708711B publication Critical patent/CN106708711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种日志信息输出控制方法及装置。一种日志信息输出控制方法包括:接收业务处理请求;判断所述业务处理请求中是否携带测试业务标识;如果是,则在对应于所述业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。应用本申请所提供的技术方案,不需要重新启动***就可以针对不同的需求灵活控制日志信息的输出级别。

Description

一种日志信息输出控制方法及装置
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种日志信息输出控制方法及装置。
背景技术
日志是一种用于记录***运行情况的文本信息,当***出现故障时,维护人员可以通过分析日志信息的方式来排查故障,此外,日志信息也是对***进行优化或调整时的重要依据。
日志信息的输出包括写入日志文件、在控制台展现等方式,根据所记录事件的重要程度,日志信息被划分为若干级别,例如,一种四级分类体系下的日志信息级别包括debug、info、warn和error,其重要程度为:debug<info<warn<error。在***正常运行过程中,会产生大量的日志信息,基于性能方面的考虑,一般会将***配置为仅对比较重要的日志信息(例如warn及以上级别)进行输出,而当需要进行故障排查时或其他功能测试时,***维护人员则希望看到包括debug、info在内的更为详尽的日志信息。为满足上述需求,现有技术的实现方式是通过重启***、加载不同的配置文件以控制日志信息的输出级别,然而对于在线运行的***而言,重启的代价往往是非常大的,为了改变日志信息的输出级别而频繁重启***可能会导致更为严重的问题,例如,引起暂时性的服务不可用。
发明内容
针对上述技术问题,本申请提供一种日志信息输出控制方法及装置,技术方案如下:
一种日志信息输出控制方法,该方法包括:
接收业务处理请求;
判断所述业务处理请求中是否携带测试业务标识;
如果是,则在对应于所述业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;
否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
一种日志信息输出控制装置,该装置包括:
业务请求接收模块,用于接收业务处理请求;
业务类型识别模块,用于判断所述业务处理请求中是否携带测试业务标识;
日志信息输出模块,用于在所述业务处理请求中携带测试业务标识的情况下,在对应于所述业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
应用本申请所提供的技术方案,在***维护人员发出的测试业务请求中添加一个特殊标识,对于***而言,能够根据业务处理请求中是否携带该标识来识别当前要处理的业务是正常的线上业务还是用于模拟线上环境的测试业务,并且进一步根据识别结果控制日志信息的输出级别。与现有技术相比,不需要重新启动***就可以针对不同的需求灵活控制日志信息的输出级别。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请的日志信息输出控制方法的流程示意图;
图2是本申请的一种日志信息输出架构示意图;
图3是本申请的MrpLogger日志记录器的架构示意图;
图4是本申请的日志信息输出控制装置的结构示意图。
具体实施方式
针对现有技术所存在的问题,本申请所提出的解决方案是,在业务请求中增加特定的标识位,对于一般线上业务和用于模拟线上环境的测试业务进行区分,这样,***在接收业务请求后,可以根据请求中的标识位判断出本次请求的业务是正常的线上业务还是测试业务,然后根据判断结果确定在本次业务的处理过程中需要输出何种级别的日志信息。
为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
图1所示,为本申请提供的日志信息输出控制方法的流程图,该方法可以包括以下步骤:
S101,接收业务处理请求;
S102,判断所述业务处理请求中是否携带测试业务标识,如果是则执行S103,否则执行S104;
S103,则在本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;
S104,否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
为了便于描述,在后文中将***正常运行时所处理的一般业务称为“非测试业务”,根据本申请方案,为了对非测试业务和用于模拟线上环境的测试业务进行区分,采用在业务请求中增加特定标识位的方式。为了尽量减少对原有***的改动,可以在仅在测试业务请求中增加一个特定标识位,然后为***的日志输出装置增加解析业务请求并识别该标识位的功能。当然,也可以在非测试业务请求和测试业务请求中统一增加标识位,通过赋予不同标识位取值的方式来实现对两种业务请求的区分,本申请对此并不需要进行限定。
***在接收到一次业务处理请求后,在处理对应的业务之前,先对业务处理请求进行解析,根据该请求中是否携带测试业务标识,判断本次需要处理的业务是测试业务还是一般线上业务。如果是非测试业务,则在后续处理本次业务的过程中,按照***默认的输出级别配置对日志信息进行输出,如果是测试业务,则在后续处理本次业务的过程中,按照测试业务所需的级别对日志信息进行输出。
例如,***采用包含debug、info、warn和error的四级日志信息分类体系,在***正常运行期间,默认的配置是仅输出warn及以上级别的日志信息,为了满足测试需求,可以配置为对于测试业务输出全部级别的日志信息。这样,***接收到业务处理请求后,如果判断出本次业务为非测试业务,则输出warn和error级别的日志信息,如果判断出本次业务为测试业务,则输出debug、info、warn和error级别的日志信息。
可以理解的是,如果还有进一步细化的多种日志信息输出级别控制需求,可以使用多个标记位取值,例如,规定标识位取1时,输出info、warn和error三种级别的日志信息,标识位取2时,输出debug、info、warn和error四种级别的日志信息,等等。当然,也可以在业务请求中另行增加新的标识位以实现上述功能,本申请对此并不需要进行限定。
根据本申请方案,可以使用多种方式实现日志信息的输出。例如,按照输出时机的不同,可以分为实时输出和延时输出;而按照输出形式的不同,又可以分为将日志信息写入日志文件、在命令行控制台进行显示输出、在网页进行显示输出等。对于输出方式的控制,可以使用***默认的方式,也可以在业务处理请求中进一步增加一个输出方式标识位,利用不同的数值代表不同的日志信息输出方式,例如以0代表实时输出、1代表延时输出,等等。用户在需要对***进行测试时,可以手动选择所期望的日志信息输出方式,在生成测试业务处理请求时,会根据用户的选择在请求的输出方式标识位写入不同的数值,以便***进行区分。
在需要对日志信息进行延时输出时,可以预先分配一部分缓存空间用于存储所输出的日志信息,对于已经写入缓存的日志信息,可以采用周期性取出的方式,也可以采用事件触发取出的方式,例如在业务请求处理完成后取出、在缓存的中的日志信息达到一定数值后取出、根据用户的手动触发操作从缓存取出,等等。根据实际需求,从缓存中取出的日志信息后,进一步的处理方式可以是直接做显示输出,或者写入日志文件等等,对从缓存中所取出的日志信息处理完毕后,可以将这部分日志信息从缓存中清除。
图2所示,为本申请提供的一种日志信息输出控制架构示意图,下面分别对各个部分进行说明:
Thread Local通道容器:是预先划分出的缓存空间,用于临时存放输出的日志信息,并且根据用户的手动操作从缓存中取出日志信息在网页控制台页面上进行显示。
通道标记位过滤:是Thread Local通道容器的开关,当上层有日志信息输出时,根据该标记检测Thread Local通道容器是否开启,如果开启则将日志信息输出到ThreadLocal通道容器中,否则会忽略此次日志信息输出操作。
通道统一访问接口:底层存储容器暴露给上层日志信息输出组件的统一接口。
通用接口、Debug Trace Appender输出器和MrpLogger是三种输出组件,三种输出组件均可以输出日志信息,区别仅在于使用方式。
MrpLogger日志记录器:如图3所示,MrpLogger包含两个日志记录体系的日志记录器,记为LogA和LogB。其中LogA是处理测试业务时所使用的记录器,对应的日志输出位置为Debug Trace Appender输出器,最终的输出方式为根据用户的操作在网页控制台页面进行显示日志信息,LogB是处理非测试业务时所使用的记录器,对应的日志输出方式为实时写入日志文件或实时在命令行控制台进行显示输出。
Debug Trace Appender输出器:具有两种功能:一方面,可以作为MrpLogger日志记录器的一个输出位置组件,配合MrpLogger中的LogA将更为丰富日志信息输出到网页控制台页面;另一方面,当执行非测试业务时,可以将默认级别的日志信息输出到日志文件。
通用接口:既可以用于输出非测试业务对应的默认级别日志信息,也可以用于输出测试业务对应的更为丰富日志信息,输出的方式仅支持在网页控制台页面进行显示。
根据上述架构,用户在需要对***进行测试时、并且希望在网页控制台页面看到日志信息时,首先通过操作打开通道标记位过滤开关,然后发出测试业务处理请求,该请求中携带测试业务标识,***接收到该请求后,根据标识确定该请求属于测试业务请求。同时,根据图2所示出的架构,根据该标识还能够进一步确定输出方式为网页控制台页面进行显示。在本次业务的后续执行过程中,***按照测试业务的需求输出更为丰富的日志信息至Thread Local通道容器。当请求处理结束时,***从Thread Local通道容器取出已缓存的日志信息,并将日志通过http协议传输到网页控制台页面显示,并且清除Thread Local通道容器中缓存的内容和关闭通道标记位过滤开关。
需要说明的是,图2所示的架构仅是本申请日志输出控制方案的一种具体实施方式,并不应理解为对本申请方案的限定。
相应于上述方法实施例,本申请还提供一种日志信息输出控制装置,参见图4所示,该装置可以包括:
业务请求接收模块110,用于接收业务处理请求;
业务类型识别模块120,用于判断业务处理请求中是否携带测试业务标识;
日志信息输出模块130,用于在所述业务处理请求中携带测试业务标识的情况下,在对应于业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
在本申请的一种具体实施方式中,业务处理请求中还携带日志信息输出方式标识;日志信息输出模块130可以具体用于:根据日志信息输出方式标识,控制本次业务处理过程中的日志信息输出方式。
在本申请的一种具体实施方式中,日志信息输出模块130对日志信息进行输出的方式可以包括:
将日志信息写入预设的缓存位置,或
对日志信息进行实时显示输出或实时写入日志文件。
在本申请的一种具体实施方式中,日志信息输出模块130还可以用于:
将日志信息写入预设的缓存位置后,根据预设的取出条件,对缓存中的日志信息进行显示输出或写入日志文件。
在本申请的一种具体实施方式中,日志信息输出模块130还可以用于:
将已进行显示输出或已写入日志文件日志的信息从缓存中清除。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种日志信息输出控制方法,其特征在于,该方法包括:
接收业务处理请求;
判断所述业务处理请求中是否携带测试业务标识,其中,所述测试业务标识用于表征本次请求的业务属于测试业务;
如果是,则在对应于所述业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;
否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
2.根据权利要求1所述的方法,其特征在于,所述业务处理请求中还携带日志信息输出方式标识;
所述对日志信息进行输出,包括:根据所述日志信息输出方式标识,控制本次业务处理过程中的日志信息输出方式。
3.根据权利要求1或2所述的方法,其特征在于,所述对日志信息进行输出的方式包括:
将日志信息写入预设的缓存位置,或
对日志信息进行实时显示输出或实时写入日志文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将日志信息写入预设的缓存位置后,根据预设的取出条件,对缓存中的日志信息进行显示输出或写入日志文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将已进行显示输出或已写入日志文件日志的信息从缓存中清除。
6.一种日志信息输出控制装置,其特征在于,该装置包括:
业务请求接收模块,用于接收业务处理请求;
业务类型识别模块,用于判断所述业务处理请求中是否携带测试业务标识,其中,所述测试业务标识用于表征本次请求的业务属于测试业务;
日志信息输出模块,用于在所述业务处理请求中携带测试业务标识的情况下,在对应于所述业务处理请求的本次业务处理过程中,按照预设的测试业务所需级别对日志信息进行输出;否则,在本次业务处理过程中,按照默认的输出级别配置对日志信息进行输出。
7.根据权利要求6所述的装置,其特征在于,所述业务处理请求中还携带日志信息输出方式标识;
所述日志信息输出模块,具体用于:根据所述日志信息输出方式标识,控制本次业务处理过程中的日志信息输出方式。
8.根据权利要求6或7所述的装置,其特征在于,所述日志信息输出模块对日志信息进行输出的方式包括:
将日志信息写入预设的缓存位置,或
对日志信息进行实时显示输出或实时写入日志文件。
9.根据权利要求8所述的装置,其特征在于,所述日志信息输出模块还用于:
将日志信息写入预设的缓存位置后,根据预设的取出条件,对缓存中的日志信息进行显示输出或写入日志文件。
10.根据权利要求9所述的装置,其特征在于,所述日志信息输出模块还用于:
将已进行显示输出或已写入日志文件日志的信息从缓存中清除。
CN201510792464.5A 2015-11-17 2015-11-17 一种日志信息输出控制方法及装置 Active CN106708711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510792464.5A CN106708711B (zh) 2015-11-17 2015-11-17 一种日志信息输出控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510792464.5A CN106708711B (zh) 2015-11-17 2015-11-17 一种日志信息输出控制方法及装置

Publications (2)

Publication Number Publication Date
CN106708711A CN106708711A (zh) 2017-05-24
CN106708711B true CN106708711B (zh) 2020-01-31

Family

ID=58932906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510792464.5A Active CN106708711B (zh) 2015-11-17 2015-11-17 一种日志信息输出控制方法及装置

Country Status (1)

Country Link
CN (1) CN106708711B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107219841A (zh) * 2017-05-27 2017-09-29 深圳市沃特沃德股份有限公司 属性访问控制方法和装置
CN109445721A (zh) * 2017-11-06 2019-03-08 贵阳朗玛信息技术股份有限公司 一种规范日志信息打印的方法及装置
CN109189633A (zh) * 2018-07-27 2019-01-11 西安交通大学 全息实时的模型运行监控方法
CN111435327B (zh) * 2019-01-15 2023-11-14 菜鸟智能物流控股有限公司 一种日志记录的处理方法、装置及***
CN110231921B (zh) * 2019-06-06 2024-03-29 深圳前海微众银行股份有限公司 日志打印方法、装置、设备及计算机可读存储介质
CN110750372B (zh) * 2019-10-16 2024-05-14 深圳技威时代科技有限公司 基于共享内存的日志***及日志管理方法
CN111367867B (zh) * 2020-03-05 2023-03-21 腾讯云计算(北京)有限责任公司 日志信息处理方法、装置、电子设备及存储介质
CN114490336A (zh) * 2021-12-28 2022-05-13 阿里云计算有限公司 一种联调测试方法、接入***、前端及存储介质
CN114726752A (zh) * 2022-04-22 2022-07-08 深圳市科脉技术股份有限公司 日志信息的处理方法、装置、终端及存储介质
CN115689503A (zh) * 2022-08-15 2023-02-03 江苏北辰知识产权事务所有限公司 多端项目协作***及其信息共建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2011013A2 (en) * 2006-04-05 2009-01-07 Arcsight, Inc. Merging multi-line log entries
CN103268277A (zh) * 2013-04-23 2013-08-28 青岛海信传媒网络技术有限公司 一种输出日志信息的方法及***
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN104461844A (zh) * 2014-10-31 2015-03-25 大唐移动通信设备有限公司 一种基于规则的日志服务方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2011013A2 (en) * 2006-04-05 2009-01-07 Arcsight, Inc. Merging multi-line log entries
CN103268277A (zh) * 2013-04-23 2013-08-28 青岛海信传媒网络技术有限公司 一种输出日志信息的方法及***
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN104461844A (zh) * 2014-10-31 2015-03-25 大唐移动通信设备有限公司 一种基于规则的日志服务方法

Also Published As

Publication number Publication date
CN106708711A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN106708711B (zh) 一种日志信息输出控制方法及装置
CN104268055B (zh) 一种程序异常的监控方法和装置
CN104317709B (zh) 软件性能测试方法和***
US10341215B2 (en) Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US20150074649A1 (en) Techniques for testing applications
CN108241580B (zh) 客户端程序的测试方法及终端
CN108459951B (zh) 测试方法和装置
CN104601770A (zh) 一种终端及其流畅性评测方法
CN111737128A (zh) 线上测试方法及灰度分流设备、存储介质
CN104572446A (zh) 一种自动化测试方法及***
WO2017123344A1 (en) Client-side activity monitoring
CN105207832A (zh) 一种服务器压力测试方法和装置
CN111723018A (zh) 性能压力测试方法、装置、设备及存储介质
CN110297743B (zh) 一种负载测试方法、装置和存储介质
CN111309570A (zh) 压力测试方法、介质、装置和计算设备
US9170906B2 (en) Base protocol layer testing device
CN111176974B (zh) 容灾测试方法、装置、计算机可读介质及电子设备
CN112162925A (zh) 一种基于服务虚拟化的测试方法和***
CN113676368B (zh) 一种运用于ats网络性能测试的方法及装置
CN114840248A (zh) 一种基于企业级分布式应用服务的***灰度发布方法
CN110750445A (zh) 一种yarn组件高可用性功能的测试方法、***及设备
CN111290942A (zh) 压力测试方法、装置以及计算机可读介质
CN109587349B (zh) 多媒体坐席线路测试方法及装置、电子设备、存储介质
CN102546652A (zh) 一种服务器负载平衡***及方法
CN107622013B (zh) 一种分布式***测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.