CN103838654A - 一种多线程和并发测试模拟器及其测试方法 - Google Patents
一种多线程和并发测试模拟器及其测试方法 Download PDFInfo
- Publication number
- CN103838654A CN103838654A CN201210491393.1A CN201210491393A CN103838654A CN 103838654 A CN103838654 A CN 103838654A CN 201210491393 A CN201210491393 A CN 201210491393A CN 103838654 A CN103838654 A CN 103838654A
- Authority
- CN
- China
- Prior art keywords
- concurrent
- test
- multithreading
- executing device
- thread
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种多线程和并发测试模拟器及其测试方法,测试模拟器包括测试器、调度执行器和测试执行器,该测试器包括多线程控制器、并发控制器和线程调度池,该调度执行器与测试器相连,用于对线程进行调度,该测试执行器与调度执行器相连,用于对多线程的排队场景进行模拟并通过显示屏进行显示。本发明的测试模拟器在开发阶段为开发人员提供一个有效的轻量级的,易用的测试过程模器,能够检测系统的健壮性和性能,其配置简单,成本低。本发明的测试方法简单易用,不需要配置脚本,也不需要专业的测试技能。
Description
技术领域
本发明涉及应用系统检测技术领域,具体涉及一种多线程和并发测试模拟器及其测试方法。
背景技术
目前,对于应用系统中多线程和并发的测试,通常使用JMeter或LoadRunner等专业的压力测试工具进行测试,其中,JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试;LoadRunner是一种预测系统行为和性能的负载测试工具,通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。以上这两种工具配置比较复杂,要配置脚本,成本较高,同时还需要专业的测试技能。
发明内容
为了克服上述现有技术中存在的缺陷,本发明的目的是提供一种多线程和并发测试模拟器及其测试方法,该模拟器配置简单,成本低。该测试方法针对轻量级的系统,测试过程简单。
为了实现本发明的上述目的,根据本发明的一个方面,本发明提供了一种多线程和并发测试模拟器,包括测试器、调度执行器和测试执行器,所述测试器包括多线程控制器、并发控制器和线程调度池,所述多线程控制器用于对线程数量进行控制,所述并发控制器用于对并发的线程数量进行控制,所述线程调度池用于对并发进行控制,所述调度执行器与测试器相连,用于对线程进行调度,所述测试执行器与所述调度执行器相连,用于对多线程的排队场景进行模拟并通过显示屏进行显示。
本发明的多线程和并发测试模拟器在开发阶段为开发人员提供一个有效的轻量级的,易用的测试过程模器,能够检测系统的健壮性和性能,其配置简单,不需要配置脚本,成本低。
为了实现本发明的上述目的,根据本发明的二个方面,本发明提供了一种多线程和并发测试模拟器的测试方法,包括如下步骤:
S1:创建测试器和调度执行器,所述测试器包括多线程控制器、并发控制器和线程调度池,所述多线程控制器用于对线程数量进行控制,所述并发控制器用于对并发的线程数量进行控制,所述线程调度池用于对并发进行控制,所述调度执行器与测试器相连,用于对线程进行调度;
S2:选定测试模拟类,所述测试模拟类为步骤S1中线程的类;
S3:创建测试执行器,所述测试执行器与所述调度执行器相连,用于根据选定的测试模拟类对多线程的排队场景进行模拟;
S4:利用测试执行器对多线程的排队场景进行模拟并通过显示屏进行显示。
本发明针对多线程和并发环境下的工作情况,在开发阶段为开发人员提供一个有效的、轻量级的测试方法,该测试方法简单易用,不需要配置脚本,不需要专业的测试技能。
在本发明的一种优选实施例中,采用Spring的执行服务类ExecutorService作为测试执行器提供调度执行任务。
在本发明的另一种优选实施例中,所述调度执行器运行时设置有监控时间,当监控时间结束,所述调度执行器调度的线程被终止。
本发明通过设置监控时间,提高了线程执行器的效率。
在本发明的再一种优选实施例中,在所述步骤S1中,对线程数量和并发的线程数量设置默认值,所述线程数量默认值为100,所述并发的线程数量默认值为10。
本发明通过设置默认值,提高了容错性。
在本发明的再另一种优选实施例中,在所述步骤S1中还判断是否对并发进程进行同步处理。
本发明通过判断是否对并发进程进行同步处理,提高了模拟器测试的准确性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明多线程和并发测试模拟器的结构示意图;
图2是本发明多线程和并发测试模拟器的流程图;
图3是本发明一种优选实施例中的测试器和调度执行器的函数调用;
图4是本发明一种优选实施例中多线程和并发测试模拟器的测试方法的函数调用。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提供了一种多线程和并发测试模拟器,如图1所示,该多线程和并发测试模拟器1包括测试器10、调度执行器11和测试执行器12,该测试器10包括多线程控制器101、并发控制器102和线程调度池103,其中,多线程控制器101用于对线程数量进行控制,并发控制器102用于对并发的线程数量进行控制,线程调度池103用于对并发进行控制,调度执行器11与测试器10相连,用于对线程进行调度,测试执行器12与调度执行器11相连,用于对多线程的排队场景进行模拟并通过显示屏2进行显示。
本发明的多线程和并发测试模拟器在开发阶段为开发人员提供一个有效的轻量级的,易用的测试过程模拟器,能够检测系统的健壮性和性能,其配置简单,不需要配置脚本,成本低。
本发明还提供了一种多线程和并发测试模拟器的测试方法,如图2所示,其包括如下步骤:
S1:创建测试器和调度执行器,该测试器包括多线程控制器、并发控制器和线程调度池,多线程控制器用于对线程数量进行控制,并发控制器用于对并发的线程数量进行控制,线程调度池用于对并发进行控制,调度执行器与测试器相连,用于对线程进行调度;
S2:选定测试模拟类,该测试模拟类为步骤S1中线程的类;
S3:创建测试执行器,该测试执行器与调度执行器相连,用于根据选定的该测试模拟类对多线程的排队场景进行模拟;
S4:利用测试执行器对多线程的排队场景进行模拟并通过显示屏进行显示。
在本发明的一种优选实施方式中,该多线程和并发测试模拟器的测试方法包括如下步骤:
第一步:创建测试器和调度执行器,该测试器包括多线程控制器、并发控制器和线程调度池,多线程控制器用于对线程数量进行控制,并发控制器用于对并发的线程数量进行控制,线程调度池用于对并发的线程进行调度。
在本实施方式中,多线程可以是任意的程序操作,在本发明的一种更加优选的实施方式中,多线程是指发出点击操作的用户总数,并发是统一时间段内的进程数量峰值,线程调度池是对并发的控制,采用线程池技术来维护并发的可靠性,保证测试的平行性,在本实施方式中,线程调度池优选采用数据库连接池,由此可以通过多线程数量确定一个总的用户范围。
调度执行器分别与测试器的多线程控制器、并发控制器和线程调度池相连,用于对线程进行调度,在本实施方式中,具体采用的调度执行器是spr ing的执行服务类ExecutorService,在本发明的另外的优选实施方式中,该调度执行器还设置有线程池,用于对待调度线程的睡眠状态进行存储。
第二步:选定测试模拟类,该测试模拟类为第一步中线程的类,在本实施方式中,通过random机制来获取不同的测试模拟类。
第三步:创建测试执行器,该测试执行器与调度执行器相连,并利用该测试执行器对测试器内设置的多线程的排队场景进行模拟并通过显示屏进行显示。在本实施方式中,通过spring的执行服务类ExecutorService技术提供执行调度的服务,来模拟多线程的排队场景。在本实施方式中,测试执行器在对多线程的排队场景进行模拟的同时,还可以对测试结果进行统计,如对测试器中进程数量,运行的时间,调度执行器执行的结果,及并发测试的成功率等结果进行统计。
图3是本发明一种优选实施例中创建测试器和调度执行器的函数调用,第1行是在Spring环境中定义一个测试器simulatorRunner,第2行是定义线程数,第3行是定义并发数,第4行是定义持续时间,如果在持续时间约定的范围内测试失败,则将被标记为失败,第5行设置为true时,当一个线程执行一个测试模拟类时,除非线程池中的其它同级(并行)线程都已经执行完毕它才能执行,因此,实际上这样做的目的是保证了并发性,用平行来完成并发的目的,第6行是定义一个用来调度的调度执行器ExecutorService,执行提交测试动作,在本实施方式中,采用Scheduled ExecutorService,其是ExecutorService接口的一个实现类,第9行是在Spring环境中定义一个第6行提到的调度执行器,第10行当此属性为true时,测试模拟类运行出现异常时程序不会停止,仍然进行下个线程的测试,第11行是设置调度执行器的线程池的容量大小。如图3所示,在创建测试器时,需要对线程数量和并发的线程数量设置默认值,在本实施方式中,利用numberOfRuns设置线程模拟数,利用numberOfConcurrentStarts设置并发模拟数,在本发明的一种优选实施方式中,线程数量默认值为100,并发的线程数量默认值为10,并且该值的设置不要大于numberOfRuns中设置的数值。
在本实施方式中,在调度执行器运行时设置有监控时间,当监控时间结束,线程执行器被终止,同时还需要判断是否对并发进程进行同步处理。在本发明的一种优选实施方式中,利用coolDownPeriod设置监控时间,该监控时间根据任务要求进行选择,默认为1000毫秒,在此设置的时间一到,线程执行不管有没有结束都将被终止。在本实施方式中,还利用synchronizedScheduling判断是否对一个并发进程组同步处理,true表明可以同步进行一个并发数的工作,而false则是根据线程模拟数逐个执行,默认false。
在本实施方式中,通过random机制来获取不同的测试模拟类。例如具体的函数调用为“<bean id=”companys imulator”
class=”com.feinno.app.account.test.CompanySaveSimulator”>”,测试模拟类companySimulator来源于SimulatorBase类,实现基类中的run方法,并在此方法中执行业务逻辑动作。
图4示出了本发明多线程和并发测试模拟器的测试方法的函数调用,从图中可见,首先加载创建的测试器和调度执行器,然后加载测试执行器,在本实施方式中,同时启动测试监听器执行测试用例,提供设置接口接收线程数、并发数,以及针对运行后结果的分析所需要的停顿时间,该停顿时间是指在有多个测试模拟类运行的情况下,一个测试模拟类结束后执行下个测试模拟类的间隔时间,再后加载测试模拟类,将上述定义的测试器、sping提供的调度执行器和测试模拟类,通过spring的ExecutorService技术提供执行调度的服务,对测试模拟类进行执行测试,就可以实现多线程的排队场景模拟,最后通过打印机将测试结果打印输出。
本发明针对多线程和并发环境下的工作情况,在开发阶段为开发人员提供一个有效的、轻量级的测试方法,该测试方法简单易用,不需要配置脚本,不需要专业的测试技能。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种多线程和并发测试模拟器,其特征在于,包括测试器、调度执行器和测试执行器,所述测试器包括多线程控制器、并发控制器和线程调度池,所述多线程控制器用于对线程数量进行控制,所述并发控制器用于对并发的线程数量进行控制,所述线程调度池用于对并发进行控制,所述调度执行器与测试器相连,用于对线程进行调度,所述测试执行器与所述调度执行器相连,用于对多线程的排队场景进行模拟并通过显示屏进行显示。
2.如权利要求1所述的多线程和并发测试模拟器,其特征在于:所述测试执行器为spring的执行服务类ExecutorService。
3.如权利要求1所述的多线程和并发测试模拟器,其特征在于:所述线程数量默认值为100,所述并发的线程数量默认值为10。
4.一种多线程和并发测试模拟器的测试方法,其特征在于,包括如下步骤:
S1:创建测试器和调度执行器,所述测试器包括多线程控制器、并发控制器和线程调度池,所述多线程控制器用于对线程数量进行控制,所述并发控制器用于对并发的线程数量进行控制,所述线程调度池用于对并发进行控制,所述调度执行器与测试器相连,用于对线程进行调度;
S2:选定测试模拟类,所述测试模拟类为步骤S1中线程的类;
S3:创建测试执行器,所述测试执行器与所述调度执行器相连,用于根据所述选定的测试模拟类对多线程的排队场景进行模拟;
S4:利用测试执行器对多线程的排队场景进行模拟并通过显示屏进行显示。
5.如权利要求4所述的多线程和并发测试模拟器的测试方法,其特征在于:采用Spring的执行服务类ExecutorService作为测试执行器提供调度执行任务。
6.如权利要求4所述的多线程和并发测试模拟器的测试方法,其特征在于:所述调度执行器运行时设置有监控时间,当监控时间结束,所述调度执行器调度的线程被终止。
7.如权利要求4所述的多线程和并发测试模拟器的测试方法,其特征在于:在所述步骤S1中,对线程数量和并发的线程数量设置默认值,所述线程数量默认值为100,所述并发的线程数量默认值为10。
8.如权利要求4所述的多线程和并发测试模拟器的测试方法,其特征在于:在所述步骤S1中还判断是否对并发进程进行同步处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210491393.1A CN103838654B (zh) | 2012-11-27 | 2012-11-27 | 一种多线程和并发测试模拟器及其测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210491393.1A CN103838654B (zh) | 2012-11-27 | 2012-11-27 | 一种多线程和并发测试模拟器及其测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103838654A true CN103838654A (zh) | 2014-06-04 |
CN103838654B CN103838654B (zh) | 2016-01-13 |
Family
ID=50802182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210491393.1A Active CN103838654B (zh) | 2012-11-27 | 2012-11-27 | 一种多线程和并发测试模拟器及其测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838654B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138685A (zh) * | 2015-09-17 | 2015-12-09 | 福建新大陆软件工程有限公司 | 一种面向HBase的性能测试系统 |
CN105281979A (zh) * | 2015-10-29 | 2016-01-27 | 贵州电网有限责任公司电力调度控制中心 | 一种面向虚拟化应用平台的负载测试方法 |
CN105389261A (zh) * | 2015-12-23 | 2016-03-09 | 北京奇虎科技有限公司 | 异步测试的方法及装置 |
CN105607991A (zh) * | 2014-11-20 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种基于异步线程的测试方法和装置 |
CN109634853A (zh) * | 2018-11-30 | 2019-04-16 | 平安科技(深圳)有限公司 | 数据测试方法、系统、电子装置及计算机可读存储介质 |
CN110058990A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 性能测试方法及装置、计算机设备、存储介质 |
US10430321B1 (en) | 2018-08-21 | 2019-10-01 | International Business Machines Corporation | White box code concurrency testing for transaction processing |
CN111045891A (zh) * | 2019-12-11 | 2020-04-21 | 深圳前海环融联易信息科技服务有限公司 | 基于java多线程的监控方法、装置、设备以及存储介质 |
CN111639029A (zh) * | 2020-05-28 | 2020-09-08 | 深圳市吉祥腾达科技有限公司 | 一种软ac产品的可靠性测试方法及测试系统 |
CN111708700A (zh) * | 2020-06-17 | 2020-09-25 | 南京太司德智能电气有限公司 | 一种智能远动机闭环综合测试方法 |
CN112578259A (zh) * | 2019-09-29 | 2021-03-30 | 北京君正集成电路股份有限公司 | 一种具有数据空间设置的线程调度方法 |
CN113254894A (zh) * | 2021-04-30 | 2021-08-13 | 贵州小宝健康科技有限公司 | 一种面向高并发访问优化的内容管理系统 |
CN115623077A (zh) * | 2022-10-18 | 2023-01-17 | 开元华创科技(集团)有限公司 | 自主可控测试系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855068A (zh) * | 2005-04-29 | 2006-11-01 | 华为技术有限公司 | 测试多线程软件并发冲突的方法 |
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
-
2012
- 2012-11-27 CN CN201210491393.1A patent/CN103838654B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855068A (zh) * | 2005-04-29 | 2006-11-01 | 华为技术有限公司 | 测试多线程软件并发冲突的方法 |
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607991A (zh) * | 2014-11-20 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种基于异步线程的测试方法和装置 |
CN105138685B (zh) * | 2015-09-17 | 2018-11-16 | 福建新大陆软件工程有限公司 | 一种面向HBase的性能测试系统 |
CN105138685A (zh) * | 2015-09-17 | 2015-12-09 | 福建新大陆软件工程有限公司 | 一种面向HBase的性能测试系统 |
CN105281979A (zh) * | 2015-10-29 | 2016-01-27 | 贵州电网有限责任公司电力调度控制中心 | 一种面向虚拟化应用平台的负载测试方法 |
CN105389261A (zh) * | 2015-12-23 | 2016-03-09 | 北京奇虎科技有限公司 | 异步测试的方法及装置 |
CN105389261B (zh) * | 2015-12-23 | 2018-07-27 | 北京奇虎科技有限公司 | 异步测试的方法及装置 |
US10430321B1 (en) | 2018-08-21 | 2019-10-01 | International Business Machines Corporation | White box code concurrency testing for transaction processing |
US10956311B2 (en) | 2018-08-21 | 2021-03-23 | International Business Machines Corporation | White box code concurrency testing for transaction processing |
CN109634853A (zh) * | 2018-11-30 | 2019-04-16 | 平安科技(深圳)有限公司 | 数据测试方法、系统、电子装置及计算机可读存储介质 |
CN110058990A (zh) * | 2019-03-12 | 2019-07-26 | 平安普惠企业管理有限公司 | 性能测试方法及装置、计算机设备、存储介质 |
CN112578259A (zh) * | 2019-09-29 | 2021-03-30 | 北京君正集成电路股份有限公司 | 一种具有数据空间设置的线程调度方法 |
CN111045891A (zh) * | 2019-12-11 | 2020-04-21 | 深圳前海环融联易信息科技服务有限公司 | 基于java多线程的监控方法、装置、设备以及存储介质 |
CN111045891B (zh) * | 2019-12-11 | 2024-03-19 | 深圳前海环融联易信息科技服务有限公司 | 基于java多线程的监控方法、装置、设备以及存储介质 |
CN111639029A (zh) * | 2020-05-28 | 2020-09-08 | 深圳市吉祥腾达科技有限公司 | 一种软ac产品的可靠性测试方法及测试系统 |
CN111639029B (zh) * | 2020-05-28 | 2024-04-26 | 东莞市锐易电子科技有限公司 | 一种软ac产品的可靠性测试方法及测试系统 |
CN111708700B (zh) * | 2020-06-17 | 2023-10-20 | 南京太司德智能电气有限公司 | 一种智能远动机闭环综合测试方法 |
CN111708700A (zh) * | 2020-06-17 | 2020-09-25 | 南京太司德智能电气有限公司 | 一种智能远动机闭环综合测试方法 |
CN113254894A (zh) * | 2021-04-30 | 2021-08-13 | 贵州小宝健康科技有限公司 | 一种面向高并发访问优化的内容管理系统 |
CN115623077A (zh) * | 2022-10-18 | 2023-01-17 | 开元华创科技(集团)有限公司 | 自主可控测试系统 |
CN115623077B (zh) * | 2022-10-18 | 2023-08-18 | 开元华创科技(集团)有限公司 | 自主可控测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103838654B (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838654B (zh) | 一种多线程和并发测试模拟器及其测试方法 | |
CN103176895B (zh) | 一种回归测试方法和系统 | |
US9513966B2 (en) | Parallel processing in human-machine interface applications | |
CN104123219B (zh) | 测试软件的方法和设备 | |
US9098633B2 (en) | Application testing | |
US9239773B1 (en) | Method and system for debugging a program that includes declarative code and procedural code | |
US9703687B2 (en) | Monitor usable with continuous deployment | |
CN107135390A (zh) | 一种电视应用的自动化测试方法及系统 | |
CN103309800B (zh) | 一种网页自动化测试方法和系统 | |
JP2010250832A (ja) | 自動化設備の工業用コントローラをプログラムする方法および装置 | |
CN103389939A (zh) | 一种针对堆可控分配漏洞的检测方法及系统 | |
Woskowski | Applying industrial-strength testing techniques to critical care medical equipment | |
Gambi et al. | Automated testing of cloud-based elastic systems with AUToCLES | |
US10514407B2 (en) | Distributed test method applicable to system-level test of intelligent high voltage equipment | |
Winkler et al. | Automation component aspects for efficient unit testing | |
CN100559423C (zh) | 设备模拟器 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
JP6540473B2 (ja) | デバッグサポートシステム | |
US20130074042A1 (en) | Visualizing thread state during program debugging | |
Wienke et al. | Results of the survey: failures in robotics and intelligent systems | |
JP4811678B2 (ja) | Plcシミュレータ装置及びシミュレーションするためのプログラムとこれが記録された記録媒体 | |
CN101727326A (zh) | 一种图形用户界面的实现方法 | |
CN103246596A (zh) | 一种对基于时间控制的plc程序自动测试的方法 | |
CN106933713B (zh) | 硬件加速器的验证方法和验证系统 | |
Resmerita et al. | Verification of embedded control systems by simulation and program execution control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200605 Address after: Room 502-1, floor 5, building 2, courtyard 10, KEGU 1st Street, economic development zone, Daxing District, Beijing 100081 Patentee after: Singularity Xinyuan International Technology Development (Beijing) Co.,Ltd. Address before: 401121 Chongqing new high tech area in northern Yubei District Mount Huangshan South Road No. 5 Mercury Technology Building 1 floor office No. 3 Patentee before: A-MEDIA COMMUNICATION TECH Co.,Ltd. |