CN106875184B - 异常场景模拟方法、装置及设备 - Google Patents

异常场景模拟方法、装置及设备 Download PDF

Info

Publication number
CN106875184B
CN106875184B CN201610653124.9A CN201610653124A CN106875184B CN 106875184 B CN106875184 B CN 106875184B CN 201610653124 A CN201610653124 A CN 201610653124A CN 106875184 B CN106875184 B CN 106875184B
Authority
CN
China
Prior art keywords
information
interception
abnormal
configuration
return code
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
CN201610653124.9A
Other languages
English (en)
Other versions
CN106875184A (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 Nova Technology Singapore Holdings 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 CN201610653124.9A priority Critical patent/CN106875184B/zh
Publication of CN106875184A publication Critical patent/CN106875184A/zh
Application granted granted Critical
Publication of CN106875184B publication Critical patent/CN106875184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请是关于异常场景模拟方法、装置及设备,所述方法包括:接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;根据判断结果确定是否将所述第一信息转换为所述异常信息,从而通过拦截机制实现自动化模拟异常场景,避免了人工修改造成的人力浪费、效率低以及出错率高的问题,进一步提高了恢复机制验证效率。

Description

异常场景模拟方法、装置及设备
技术领域
本申请涉及互联网技术领域,尤其涉及异常场景模拟方法、装置及设备。
背景技术
在一些系统中,需要将接收的第一信息转换为第二信息。第二信息是经过转换后,本系统可直接使用的信息。在网络异常、配置异常等异常场景下,将第一信息进行转换获得的信息为异常信息,针对异常信息可以采用恢复机制进行第二信息的恢复。在产品上线前,需要对产品各功能进行验证,特别是对恢复机制进行验证,则可以通过模拟异常场景的方式进行恢复机制的验证。
以支付渠道中掉单查询验证为例,在发起业务请求前,人工将缓存中各返回码对应的结果状态修改为异常结果状态,在发起业务请求后,接收支付渠道对应的支付端发送的包含交易返回码的交易结果信息,根据缓存中的映射关系将交易返回码转换为相应的结果状态。由于人工已将所有返回码的结果状态修改为异常结果状态,因此转换后的结果状态为异常结果状态,即该次交易处于掉单状态,则启动掉单查询的恢复机制。监测到恢复机制启动时,人工将缓存中各返回码对应的结果状态恢复为正确的结果状态,以使恢复机制启动后,向信息端发送查询信息,根据接收的查询返回码、查询结果中的交易返回码以及恢复后的映射关系获得正确的结果状态,从而对掉单查询进行验证。
可见,需要人工模拟异常场景,浪费了人力资源、且效率低。
发明内容
本申请提供异常场景模拟方法、装置及设备,以解决现有技术浪费人力、模拟效率低的问题。
根据本申请实施例的第一方面,提供一种异常场景模拟方法,包括:
接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
根据判断结果确定是否将所述第一信息转换为所述异常信息。
根据本申请实施例的第二方面,提供一种异常场景模拟方法,所述方法包括:
拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息;
查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息;
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态。
根据本申请实施例的第三方面,提供一种异常场景模拟装置,所述装置包括:
拦截模块,用于接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
判断模块,用于根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
转换模块,用于根据判断结果确定是否将所述第一信息转换为所述异常信息。
根据本申请实施例的第四方面,提供一种异常场景模拟装置,所述装置包括:
请求拦截模块,用于拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息;
信息查询模块,用于查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息;
转换模块,用于:
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态。
根据本申请实施例的第五方面,提供一种设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
根据判断结果确定是否将所述第一信息转换为所述异常信息。
应用本申请实施例异常场景模拟方法、装置及设备时,在接收到信息端发送的第一信息时,拦截转换请求,通过第一信息判断是否满足预存的拦截配置中的拦截条件的方式,来决定是否将第一信息转换为异常信息,从而通过拦截机制实现自动化模拟异常场景,避免了人工修改造成的人力浪费、效率低以及出错率高的问题,进一步提高了恢复机制验证效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请异常场景模拟方法的一个实施例流程图。
图2为本申请异常场景模拟方法的另一个实施例流程图。
图3为本申请异常场景模拟方法的另一个实施例流程图。
图4为本申请异常场景模拟装置所在设备的一种硬件结构图。
图5为本申请异常场景模拟装置的一个实施例框图。
图6为本申请异常场景模拟装置的另一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在一些系统中,需要将接收的第一信息转换为可识别的第二信息。在网络异常、配置异常等异常场景下,将第一信息进行转换获得的信息为异常信息,针对异常信息可以采用恢复机制进行第二信息的恢复。在产品上线前,需要对产品各功能进行验证,特别是对恢复机制进行验证,而验证过程中不能确定是否出现异常场景,则可以通过模拟异常场景的方式进行恢复机制的验证。
相关技术中,工作人员在系统每次接收信息端发送的第一信息之前,预先将本地配置信息中的映射关系进行修改,将第一信息映射的第二信息修改为异常信息。在系统接收信息端发送的第一信息时,由于本地配置信息中的映射关系已被篡改,则根据已篡改的映射关系将第一信息转换为异常信息。在确定转换结果为异常信息时,判定出现异常场景,启动恢复机制。为了实现恢复机制的验证,工作人员需要将本地配置信息中的映射关系进行恢复,以使恢复机制基于正确的配置信息恢复出正确的第二信息。
可见,在模拟异常场景过程中需要人工参与,浪费人力资源,模拟效率低,从而导致恢复机制验证的效率低。
为了节省人力、提高模拟效率,本申请提供一种异常场景模拟方法。该方法适用于需要将接收的第一信息转换为可识别的第二信息、且通过恢复机制对转换的异常信息进行恢复的系统中。在该系统设计中,对网络异常、配置异常等异常场景,可等同于将第二信息转换为异常信息。针对异常信息,采用恢复机制进行恢复。为了实现异常场景的模拟的自动化,可以在接收到信息端发送的第一信息时,拦截转换请求,通过第一信息判断是否满足预存的拦截配置中的拦截条件的方式,来决定是否将第一信息转换为异常信息,从而通过拦截机制实现自动化模拟异常场景,避免了人工修改造成的人力浪费、效率低以及出错率高的问题,进一步提高了恢复机制验证效率。
如图1所示,图1为本申请异常场景模拟方法的一个实施例流程图,包括以下步骤101至步骤103:
在步骤101中,接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求。
在步骤102中,根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息。
在步骤103中,根据判断结果确定是否将所述第一信息转换为所述异常信息。
其中,第一信息是信息端发送的需要本执行端转换的信息。信息端是发送第一信息的一端,例如,信息端可以是支付渠道对应的支付端。用户在第三方支付场景下选择的通道可以称为支付渠道,比如用户在支付页面选择工商银行进行支付,工商银行这条渠道为本次支付的支付渠道。基于此,本方法执行端可以为第三方支付平台,如支付宝支付平台、百度钱包支付平台、微信支付平台、财付通支付平台等。又如,信息端可以是接入支付平台的外部商户平台,如百度外卖、美团外卖,本方法执行端可以为支付平台。又如,信息端可以是支付平台,本方法执行端可以为外部商户平台等。
在接收到信息端发送的第一信息时,可以生成转换请求,转换请求用于将第一信息转换为第二信息。第二信息是经过转换后,本系统可直接使用的信息。相关技术中直接根据转换请求从本地存储的配置信息中映射出第一信息对应的第二信息。而本申请为了模拟异常场景,采用拦截机制拦截该转换请求。在一个例子中,可以采用面向切面的拦截机制拦截转换请求,并执行步骤102和步骤103。
在拦截转换请求后,可以根据第一信息判断预存的拦截配置中的拦截条件是否满足。拦截配置可以包括拦截条件和拦截条件对应的异常信息。
其中,拦截条件是预先设定的用于判断是否将第一信息转换为异常信息的条件,可以通过第一信息判断拦截条件是否满足。例如,可以判断第一信息是否为满足拦截条件的信息;也可以判断第一信息当前所在的运行环境是否为拦截条件中指定的预发布环境等。
异常信息是在真实异常场景下产生的异于所述第二信息的信息,例如,异常信息可以是在异常场景下将第一信息转换后得到的信息,也可以是在异常场景下没有收到第一信息产生的异常信息。
其中,真实的异常场景可以是一种异常场景,则可以通过拦截的方式模拟异常信息对应的某一种异常场景。真实的异常场景也可以是多种异常场景,利用一种异常信息来表示多种异常场景下产生的信息,从而实现通过拦截的方式模拟多种异常场景。例如,可以用“未知状态”来表示一种或多种真实异常场景下产生的异常信息。比如,网络异常时,本系统在设定时间内无法收到相应的第一信息,则可以等同于目前业务处于未知状态。又如第二信息不可识别时,可以等同于目前业务处于未知状态。
在根据第一信息判断预存的拦截配置中的拦截条件是否满足后,可以根据判断结果确定是否将第一信息转换为异常信息。由于异常信息是在真实异常场景下产生的异于所述第二信息的信息,因此,将第一信息转换为异常信息相当于将当前的环境模拟为异常环境,从而实现异常环境的自动化模拟。
在一个例子中,当所述拦截条件满足时,将所述第一信息转换为所述异常信息;当所述拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为第二信息,所述配置信息包括第一信息与第二信息之间的映射关系。
可见,在拦截条件不满足时,可以跳出拦截程序,跳出拦截程序可以理解为终止拦截程序,跳出拦截程序后,可以执行原有的转换服务,通过本地存储的配置信息进行正常的信息转换,从而可以获得正常的第二信息。
在该例子中,可以通过控制拦截条件来限制拦截的转换请求,实现针对接收到不同信息自动确定是否进行异常场景模拟。以恢复机制中的查询恢复机制为例,可以将交易后接收到的交易结果信息限定为满足拦截条件,将查询后接收到的查询结果信息限定为不满足拦截条件,则将交易结果信息转换为异常信息,而不将查询结果信息转换为异常信息,实现自动化确定是否进行异常信息转换,无需工作人员将本地配置信息中的映射关系进行恢复,避免了人工恢复造成的人力浪费。
由上述实施例可见,在接收到信息端发送的第一信息时,拦截转换请求,通过判断转换请求是否满足预存的拦截配置中的拦截条件的方式,来决定是否将第一信息转换为异常信息,在满足拦截条件时将第一信息转换为异常信息,在不满足拦截条件时进行正常的信息转换,从而通过拦截机制实现自动化模拟异常场景,并且无需工作人员将本地配置信息中的映射关系进行恢复,避免了人工修改和恢复造成的人力浪费、效率低以及出错率高的问题,从而可以提高恢复机制验证效率。
在一个可选的实现方式中,可以接收用于操作内存的注入请求,根据所述注入请求确定需要增加拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中,根据所述注入请求确定需要清空缓存区中的拦截配置时,清空所述缓存区中的拦截配置。
该实施例列举了预先注入拦截配置和清除拦截配置的方法。拦截配置中包括拦截条件和拦截条件对应的异常信息。其中,可以根据注入请求确定对应内存的缓存区,并在该缓存区执行新增拦截配置操作或清除拦截配置操作。注入请求是用于操作内存的请求,可以是在缓存区中写入拦截配置的请求,也可以是清除缓存区中拦截配置的请求。
在一个例子中,可以通过注入请求中是否携带拦截配置来确定注入请求类型。例如,当注入请求中携带拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中;当注入请求为空时,清空所述缓存区中的拦截配置。
在另一个例子中,也可以通过请求命令确定注入请求类型,例如,若注入请求为注入拦截配置请求,则将拦截配置缓存在缓存区中;又如,若注入请求为清空请求/无效请求等,则清空所述缓存区中的拦截配置。
在一个例子中,可以采用JMX(Java Management Extensions,即Java管理扩展)技术进行拦截配置的写入和删除,实现对运行时内存进行操作,该种方式比较容易实现。
以下以一个具体的应用场景为例进行说明。在该实施例中,信息端可以为支付渠道对应的支付端,第一信息可以包括指示交易结果的返回码或指示查询结果的返回码。当第一信息包括指示交易结果的返回码时,第一信息为支付端返回的有关交易结果的信息。当第一信息包括指示查询结果的返回码时,第一信息是启动恢复机制进行查询后支付端返回的有关查询结果的信息。为了验证查询恢复机制,在配置拦截条件时,可以将支付端返回的有关交易结果的信息配置为满足拦截条件,将支付端返回的有关查询结果的信息配置为不满足拦截条件。该实施例方法可以适用于基于返回码判断交易状态的系统中,例如第三方支付平台中。
在出现网络异常、配置异常等异常场景时,支付渠道对应的支付端和本执行端之间会出现掉单。所谓掉单是支付过程中因网络、系统不稳定等导致的超时、无结果等情况。将掉单的状态进行恢复,称为恢复。恢复可以有两种方式,一种是通过重发实现恢复,这种方式可以解决由网络问题导致的掉单。另一种是通过掉单查询实现恢复,通过向渠道端发送查询信息,根据接收的查询返回码、查询结果中的交易返回码获得正确的结果状态,实现恢复。可见,掉单查询是用来恢复的一种手段。
对于一笔交易的结果,可以通过接口+返回码的形式来映射出交易结果信息的结果状态,即将交易结果信息转换为结果状态,该结果状态是本系统可识别的唯一表示交易成败的状态信息。在异常场景下会产生异常结果状态,即掉单。检测到异常结果状态后,可以启动查询的恢复机制。对于查询交易的返回码可以有两层处理,查询交易本身的查询返回码只用于表示本次查询调用是否成功,查询的结果若为成功,则可以利用查询结果中的交易返回码(即原流水的返回码)再做一次返回码映射,从而获得正确的结果状态,实现结果状态的恢复。其中,交易返回码可以包括支付返回码、退款返回码、提现返回码等。
例如,resultCode为查询接口的返回码,origResultCode为原交易的返回码:
Figure BDA0001074834200000101
另外,作为其中一种本地存储的配置信息,可以如下所示:
接口名称 返回码 结果状态 描述
支付接口A 0000 S 成功
支付接口A 0001 U 未知
支付接口A 0002 F 失败
查询接口B 0000 S 成功
查询接口B 0003 F 失败
通过对比配置信息可知,【查询接口B,返回码0000】对应的结果状态为S,表示查询成功,其中查询结果含原流水结果,例如【支付接口A,返回码0000】,根据配置信息可以确定原交易也成功。
支付渠道上线前,需要符合一系列标准,在发布之前会有一系列的设计开发,是否符合设计标准,需要在真实的场景下验证。支付渠道验证中其中一个验证是掉单查询验证。为了实现掉单查询验证,需要进行异常场景模拟。为了避免现有技术中人工模拟异常场景导致人力浪费、效率低的缺陷,本申请提供一种异常场景模拟方法。如图2所示,图2为本申请异常场景模拟方法的另一个实施例流程图,包括以下步骤201至步骤204:
在步骤201中,接收到支付渠道对应的支付端发送的包括指示交易结果的返回码或指示查询结果的返回码的第一信息时,拦截转换请求,所述转换请求用于将所述第一信息转换为可识别的结果信息。其中,结果信息可以是用于标识结果的一种状态信息,是本系统可识别的唯一表示成败的状态信息。
在步骤202中,根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常结果信息,所述异常结果信息用来表示真实异常场景下产生的信息。
在一个例子中,异常结果信息可以为未知状态,从而实现将异常场景等同于返回了未知状态,即未知结果。
在步骤203中,当所述拦截条件满足时,将所述第一信息转换为所述异常结果信息。
在步骤204中,当所述拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为相应的结果信息。
其中,当拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为相应的结果信息,相当于跳出拦截程序,所述拦截程序是拦截转换请求的程序,所述配置信息包括第一信息与结果信息之间的映射关系。本地存储的配置信息中记录的是正确的映射关系,从而可以将第一信息转换为正确的结果信息。
在步骤201之前,可以进行拦截配置的注入或删除。具体的,可以通过操作内存的入口接收用于操作内存的注入请求;根据所述注入请求确定需要清空缓存区中的拦截配置时,清空所述缓存区中的拦截配置;根据所述注入请求确定需要增加拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中。
其中,拦截配置可以包括拦截条件和拦截条件对应的异常结果信息。拦截条件是根据第一信息判断是否进行异常场景模拟的条件,在一个可选的实现方式中,拦截条件可以包括下述一种或多种条件:
第一种条件:如果拦截配置包括渠道信息,所述第一信息中的渠道信息与拦截配置中的渠道信息匹配。
第一信息中可以包括渠道信息,如果拦截配置包括渠道信息,则可以判断第一信息中的渠道信息是否与拦截配置中的渠道信息匹配,如果匹配,则判定满足拦截条件。其中,拦截配置中可以包括一个或多个渠道信息,只要第一信息中的渠道信息在拦截配置的渠道信息中,则判定第一信息中的渠道信息与拦截配置中的渠道信息匹配。
在一个例子中,渠道信息可以是交易渠道标识,则可以判断第一信息中的交易渠道标识是否在拦截配置的拦截渠道标识中,如果在,则满足拦截条件。
其中,拦截渠道标识是用于标识支付渠道的标识,可以是数字、字符串、符号、字母等,只要能唯一标识支付渠道即可。在拦截配置中可以存储一个或多个拦截渠道标识,根据每次需要验证的支付渠道确定拦截配置中存储的拦截渠道标识。
第二种条件:如果拦截配置包括接口信息,所述第一信息中的接口信息与拦截配置中的接口信息匹配。
其中,接口是为完成某类业务而提供与外界交互的机制。不同类型的交易对应不同的接口信息。
在该条件中,可以判断第一信息中的接口信息是否与拦截配置中的接口信息匹配,如果匹配,则判定满足拦截条件。拦截配置中可以包括一个或多个接口信息,只要第一信息中的接口信息在拦截配置的接口信息中,则判定第一信息中的接口信息与拦截配置中的接口信息匹配。
在一个例子中,接口信息可以是接口标识,不同的交易对应不同的接口标识,例如接口A用于标识支付,接口C用于标识退款等。本条件可以通过接口标识来限定交易类型,从而对指定交易类型进行异常场景模拟。
另外,不仅交易对应有相应的接口标识,查询也对应有相应的接口标识。为了实现查询的恢复机制,可以限定拦截配置的拦截接口标识中不包括查询接口标识,则在检测到掉单时,可以根据启动查询的恢复机制,从支付渠道对应的支付端进行查询,接收到包括指示查询结果的返回码的第一信息时,由于第一信息中的查询接口标识不在拦截配置中,则不满足拦截条件,可以跳出拦截程序,根据转换请求和本地存储的配置信息将第一信息转换为正确的结果信息。具体的,将第一信息中的查询返回码和配置信息进行映射,确定查询为成功状态时,将第一信息中的交易返回码和配置信息进行映射,从而将交易返回码转换成对应的结果信息。
可见,无需工作人员将本地配置信息中的映射关系进行恢复,避免了人工恢复造成的人力浪费。
第三种条件:如果拦截配置包括交易返回码,所述第一信息中的返回码与拦截配置中的交易返回码匹配。
其中,不同支付渠道对应的支付端与第三方支付平台规约的交易返回码不同,例如某些规约中0000可以表示成功,在另一些规约中1111可以表示成功。在该实施例中,可以通过第一信息中的交易返回码来判断拦截条件是否满足,若满足,则将第一信息转换为异常结果信息,实现异常场景模拟。
第四种条件:当前运行环境为指定的预发布环境。
当前运行环境是指本次结果信息所在运行环境。其中,为用户提供真实的体验服务的环境称为生产环境。数据、用户、服务均都是真实存在的。预发布环境属于生产环境的一个特例,在这个环境里,应用属于最新版本,这个环境验证通过后,才可真正的发布到生产环境。只有特定的用户群体才能访问预发布环境。
本实施例将异常场景模拟限定在预发布环境中,从而不会影响用户在生成环境中的实际操作,不会由于模拟的异常场景影响用户体验。
可以理解的是,上述条件可以进行自由组合,在同时满足组合条件时,才将第一信息转换为异常结果信息,进而进行掉单查询的验证。例如,拦截配置示例:
{
"渠道A":{"接口A":"状态U"},
"渠道A":{"接口B":"状态U"},
"渠道B":{"接口A":"状态U"}
}
可见,可以在接收到支付渠道对应的支付端发送的第一信息时,拦截转换请求,根据第一信息判断预存的拦截配置中的拦截条件是否满足,当拦截条件满足时,将第一信息转换为异常结果状态U。
本申请列举其中一种组合进行说明,该异常场景模拟方法包括以下步骤:
拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息。
查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息。
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态。
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态。
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态。
其中,本实施例所述返回码查询请求是在系统接收到包括返回码的信息后,需要将返回码进行转换的转换请求。可见,可以通过返回码查询请求中携带的渠道信息和/或接口信息、以及拦截配置信息中的待拦截的渠道信息和\或接口信息,从而判断是否将返回码对应的状态更改为异常状态,从而实现异常场景的模拟。
进一步的,本申请还列举一个具体应用实例进行说明。如图3所示,图3为本申请异常场景模拟方法的另一个实施例流程图,包括以下步骤301至步骤306:
在步骤301中,接收到携带返回码的第一信息时,拦截转换请求。
在步骤302中,判断当前运行环境是否为预发布环境,若是,则进入步骤304,否则进入步骤303。
在步骤303中,根据转换请求和本地存储的配置信息将第一信息中返回码的状态转换为正常的结果状态。
在步骤304中,根据第一信息判断当前支付渠道是否为拦截渠道,若是,则进入步骤305,否则进入步骤303。
在步骤305中,判断第一信息中的接口标识是否在拦截配置的拦截接口标识中,若是,则进入步骤306,否则进入步骤303。
在步骤306中,将第一信息中返回码的状态转换为未知状态。
可以理解的是,步骤302、304、305三个判断步骤没有绝对的先后顺序,具体可根据需要调整。
可见,本实施例中对网络异常、返回码不可识别等异常场景,等同于返回了未知状态。通过多种条件判断是否将第一信息转换为未知状态,可以避免误拦截。
另外,在缓存区中除了将注入请求中携带的拦截配置缓存在缓存区中外,还可以根据注入请求清空缓存区中的拦截配置。可以理解的是,针对一些已经验证过的功能,可以将其对应的拦截配置进行删除,避免对新功能进行验证时,由于旧拦截配置影响对新功能的验证。
通过上述异常场景模拟方法模拟异常场景后,可以根据所模拟的异常场景对渠道验证过程中掉单查询进行验证。例如可以利用用例的方式实现对渠道验证过程中掉单查询进行验证。例如,对同一银行卡支付预设金额,第一次正常支付,第二次在本方法模拟的异常场景下进行支付,若两次结果相同,则掉单查询功能验证通过。
可以理解的是,具体的验证方法可以采用相关技术中的验证方法,在此不再一一赘述。
与本申请异常场景模拟方法的实施例相对应,本申请还提供了异常场景模拟装置及设备的实施例。
本申请异常场景模拟装置的实施例可以应用在需要将接收的第一信息转换为可识别的第二信息、且通过恢复机制对转换的异常信息进行恢复的各种设备上,例如,该设备可以包括服务器、服务器集群或者云平台等。其中,装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请异常场景模拟装置431所在设备的一种硬件结构图,除了图4所示的处理器410、内存430、网络接口440、以及非易失性存储器420之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,图4中不再一一示出。
参见图5,为本申请异常场景模拟装置的一个实施例框图:
该装置包括:拦截模块510、判断模块520和转换模块530。
其中,拦截模块510,用于接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求。
判断模块520,用于根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息。
转换模块530,用于根据判断结果确定是否将所述第一信息转换为所述异常信息。
在一个可选的实现方式中,所述转换模块530(图5未示出)包括:
第一转换子模块,用于当所述拦截条件满足时,将所述第一信息转换为所述异常信息。
第二转换子模块,用于当所述拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为第二信息,所述配置信息包括第一信息与第二信息之间的映射关系。
在一个可选的实现方式中,所述信息端为支付渠道对应的支付端,所述第一信息包括指示交易结果的返回码或指示查询结果的返回码,所述拦截条件包括下述一种或多种条件:
如果拦截配置包括渠道信息,所述第一信息中的渠道信息与拦截配置中的渠道信息匹配。
如果拦截配置包括接口信息,所述第一信息中的接口信息与拦截配置中的接口信息匹配。
如果拦截配置包括交易返回码,所述第一信息中的返回码与拦截配置中的交易返回码匹配。
当前运行环境为指定的预发布环境。
在一个可选的实现方式中,所述装置还包括:
验证模块,用于根据所模拟的异常场景对渠道验证过程中掉单查询进行验证。
在一个可选的实现方式中,所述装置还包括:
请求接收模块,用于接收用于操作内存的注入请求。
添加模块,用于根据所述注入请求确定需要增加拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中。
清除模块,用于根据所述注入请求确定需要清空缓存区中的拦截配置时,清空所述缓存区中的拦截配置。
参见图6,为本申请异常场景模拟装置的另一个实施例框图:
该装置包括:请求拦截模块610、信息查询模块620和转换模块630。
其中,请求拦截模块610,用于拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息。
信息查询模块620,用于查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息。
转换模块630,用于:
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态。
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态。
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态。
基于此,本申请还提供一种设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求。
根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息。
根据判断结果确定是否将所述第一信息转换为所述异常信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (13)

1.一种异常场景模拟方法,其特征在于,所述方法应用于将接收的第一信息转换为可识别的第二信息、且通过恢复机制对转换的异常信息进行恢复的系统中,所述方法包括:
接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
根据判断结果确定是否将所述第一信息转换为所述异常信息。
2.根据权利要求1所述的方法,其特征在于,所述根据判断结果确定是否将所述第一信息转换为所述异常信息,包括:
当所述拦截条件满足时,将所述第一信息转换为所述异常信息;
当所述拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为第二信息,所述配置信息包括第一信息与第二信息之间的映射关系。
3.根据权利要求1所述的方法,其特征在于,所述信息端为支付渠道对应的支付端,所述第一信息包括指示交易结果的返回码或指示查询结果的返回码,所述拦截条件包括下述一种或多种条件:
如果拦截配置包括渠道信息,所述第一信息中的渠道信息与拦截配置中的渠道信息匹配;
如果拦截配置包括接口信息,所述第一信息中的接口信息与拦截配置中的接口信息匹配;
如果拦截配置包括交易返回码,所述第一信息中的返回码与拦截配置中的交易返回码匹配;
当前运行环境为指定的预发布环境。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所模拟的异常场景对渠道验证过程中掉单查询进行验证。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收用于操作内存的注入请求;
根据所述注入请求确定需要增加拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中;
根据所述注入请求确定需要清空缓存区中的拦截配置时,清空所述缓存区中的拦截配置。
6.一种异常场景模拟方法,其特征在于,所述方法包括:
拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息;
查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息;
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态;
其中,所述异常状态通过恢复机制进行恢复。
7.一种异常场景模拟装置,其特征在于,所述装置配置在将接收的第一信息转换为可识别的第二信息、且通过恢复机制对转换的异常信息进行恢复的系统中,所述装置包括:
拦截模块,用于接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
判断模块,用于根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
转换模块,用于根据判断结果确定是否将所述第一信息转换为所述异常信息。
8.根据权利要求7所述的装置,其特征在于,所述转换模块包括:
第一转换子模块,用于当所述拦截条件满足时,将所述第一信息转换为所述异常信息;
第二转换子模块,用于当所述拦截条件不满足时,根据所述转换请求和本地存储的配置信息将所述第一信息转换为第二信息,所述配置信息包括第一信息与第二信息之间的映射关系。
9.根据权利要求7所述的装置,其特征在于,所述信息端为支付渠道对应的支付端,所述第一信息包括指示交易结果的返回码或指示查询结果的返回码,所述拦截条件包括下述一种或多种条件:
如果拦截配置包括渠道信息,所述第一信息中的渠道信息与拦截配置中的渠道信息匹配;
如果拦截配置包括接口信息,所述第一信息中的接口信息与拦截配置中的接口信息匹配;
如果拦截配置包括交易返回码,所述第一信息中的返回码与拦截配置中的交易返回码匹配;
当前运行环境为指定的预发布环境。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
验证模块,用于根据所模拟的异常场景对渠道验证过程中掉单查询进行验证。
11.根据权利要求7至10任一项所述的装置,其特征在于,所述装置还包括:
请求接收模块,用于接收用于操作内存的注入请求;
添加模块,用于根据所述注入请求确定需要增加拦截配置时,将所述注入请求中携带的拦截配置缓存在缓存区中;
清除模块,用于根据所述注入请求确定需要清空缓存区中的拦截配置时,清空所述缓存区中的拦截配置。
12.一种异常场景模拟装置,其特征在于,所述装置包括:
请求拦截模块,用于拦截返回码查询请求,所述返回码查询请求携带渠道信息和/或接口信息;
信息查询模块,用于查询预先注入的拦截配置信息,所述拦截配置信息包括待拦截的渠道信息和\或接口信息;
转换模块,用于:
如果拦截配置信息包括渠道信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和拦截配置信息中渠道信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的接口信息和拦截配置信息中接口信息一致时,将该返回码对应的状态更改为异常状态;
如果拦截配置信息包括渠道信息和接口信息,则当前运行环境为指定的预发布环境、且返回码查询请求中携带的渠道信息和接口信息分别与拦截配置信息中的渠道信息和接口信息一致时,将该返回码对应的状态更改为异常状态;
其中,所述异常状态通过恢复机制进行恢复。
13.一种电子设备,其特征在于,所述电子设备用于将接收的第一信息转换为可识别的第二信息、且通过恢复机制对转换的异常信息进行恢复,所述电子设备包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收到信息端发送的第一信息时,拦截将所述第一信息转换为第二信息的转换请求;
根据所述第一信息判断预存的拦截配置中的拦截条件是否满足,所述拦截配置中包括拦截条件和拦截条件对应的异常信息,所述异常信息是在真实异常场景下产生的异于所述第二信息的信息;
根据判断结果确定是否将所述第一信息转换为所述异常信息。
CN201610653124.9A 2016-08-10 2016-08-10 异常场景模拟方法、装置及设备 Active CN106875184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610653124.9A CN106875184B (zh) 2016-08-10 2016-08-10 异常场景模拟方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610653124.9A CN106875184B (zh) 2016-08-10 2016-08-10 异常场景模拟方法、装置及设备

Publications (2)

Publication Number Publication Date
CN106875184A CN106875184A (zh) 2017-06-20
CN106875184B true CN106875184B (zh) 2020-07-24

Family

ID=59238943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610653124.9A Active CN106875184B (zh) 2016-08-10 2016-08-10 异常场景模拟方法、装置及设备

Country Status (1)

Country Link
CN (1) CN106875184B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559583B (zh) * 2017-09-27 2022-04-05 华为技术有限公司 故障模拟方法及其装置
CN108345535B (zh) * 2017-12-26 2022-03-04 创新先进技术有限公司 mock测试方法、装置及设备
CN109558313B (zh) * 2018-11-09 2021-08-17 口碑(上海)信息技术有限公司 构建异常测试场景的方法及装置
CN113342556B (zh) * 2020-03-02 2024-10-01 北京金山云网络技术有限公司 系统服务的修复方法、装置和服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130965A (zh) * 2011-04-13 2011-07-20 北京邮电大学 一种基于规则引擎的服务动态组合方法和系统
CN104090839A (zh) * 2014-07-02 2014-10-08 中国银行股份有限公司 异常场景模拟测试方法及装置
CN105389226A (zh) * 2015-10-23 2016-03-09 上海斐讯数据通信技术有限公司 一种访问共享内存异常的系统及方法
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102130965A (zh) * 2011-04-13 2011-07-20 北京邮电大学 一种基于规则引擎的服务动态组合方法和系统
CN104090839A (zh) * 2014-07-02 2014-10-08 中国银行股份有限公司 异常场景模拟测试方法及装置
CN105389226A (zh) * 2015-10-23 2016-03-09 上海斐讯数据通信技术有限公司 一种访问共享内存异常的系统及方法
CN105427096A (zh) * 2015-12-25 2016-03-23 北京奇虎科技有限公司 支付安全沙箱实现方法及系统与应用程序监控方法及系统

Also Published As

Publication number Publication date
CN106875184A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
RU2768197C1 (ru) Способ и система серверной архитектуры для объединения платежей, компьютерное устройство и носитель данных
CN108829581B (zh) 应用程序测试方法、装置、计算机设备及存储介质
CN106875184B (zh) 异常场景模拟方法、装置及设备
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
CN110912893B (zh) 一种账号合并方法
CN111260421B (zh) 一种基于区块链的电子发票管控方法及装置
CN110795166B (zh) 一种数据处理方法及装置
CN111064725A (zh) 一种代码零入侵接口校验方法和校验装置
CN110807209B (zh) 一种数据处理方法、设备及存储介质
CN112581129A (zh) 区块链交易数据治理方法及装置、计算机设备及存储介质
CN105184559B (zh) 一种支付系统及方法
CN113360210A (zh) 数据对账方法、装置、计算机设备和存储介质
CN106875175B (zh) 一种便于支付主体扩展的方法和装置
CN110598479B (zh) 一种数据处理方法、装置以及计算机可读存储介质
CN102143468B (zh) 计费、资费更新、提供服务的方法及系统
CN110262892B (zh) 一种基于分布式存储数据链的票务发布方法、装置及数据链节点
US11693750B2 (en) Virtual device for providing test data
CN115760390A (zh) 业务数据处理方法、装置和网点终端设备
CN116414628A (zh) 一种新旧系统切换过程中交易请求的处理方法和装置
CN112732676B (zh) 基于区块链的数据迁移方法、装置、设备及存储介质
CN111797590B (zh) 数据核对方法、装置和设备
CN111010676B (zh) 一种短信缓存方法、装置及系统
CN111770080A (zh) 一种设备指纹的恢复方法及装置
CN115220714A (zh) 应用程序编程接口的开发方法及装置
CN107294936B (zh) 姓名验证方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
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: 20200924

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: 20200924

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.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240221

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

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

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands