CN105446822B - 基于Linux的软件异常处理系统及方法 - Google Patents

基于Linux的软件异常处理系统及方法 Download PDF

Info

Publication number
CN105446822B
CN105446822B CN201510779683.XA CN201510779683A CN105446822B CN 105446822 B CN105446822 B CN 105446822B CN 201510779683 A CN201510779683 A CN 201510779683A CN 105446822 B CN105446822 B CN 105446822B
Authority
CN
China
Prior art keywords
abnormality processing
abnormal
exception
application program
abnormal nodes
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
CN201510779683.XA
Other languages
English (en)
Other versions
CN105446822A (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.)
Beijing Ucas Technology Co ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co 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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510779683.XA priority Critical patent/CN105446822B/zh
Publication of CN105446822A publication Critical patent/CN105446822A/zh
Application granted granted Critical
Publication of CN105446822B publication Critical patent/CN105446822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

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

Abstract

本发明提供一种基于Linux的软件异常处理系统及方法,所述系统包括:异常分析模块,检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中;异常处理模块,开启新的运行于实时优先级的异常处理流程运行异常处理系统,设置各种异常处理函数形成异常处理函数表;异常处理流程从所述异常分析模块的异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数。本发明通过异常处理代码在独立的执行流程中运行,在异常处理模块中启动新的执行流程处理异常,并以实时优先级运行;并且,充分利用了多核CPU的优势,有效避免污染应用程序的高速缓存。

Description

基于Linux的软件异常处理系统及方法
技术领域
本发明涉及一种软件异常处理系统,特别是涉及一种基于Linux的软件异常处理系统及方法。
背景技术
随着科技的迅猛发展,现代化计算机技术的更是日新月异的快速发展,CPU早已迈入了多核时代,操作系统也已经最大程度地支持多执行流程并行运行,但是,众所周知传统的应用程序至今仍然是基于单处理流程设计的,软件异常系统更是如此,并没有充分利用前述多核CPU所带来的性能上的提升。
即,传统应用程序是基于单处理流程设计,操作系统的软件异常系统也是单处理流程的,异常处理代码与应用程序代码在同一个流程中运行会损害高速缓存,因而并没能充分利用多核CPU所带来的性能提升。
鉴于上述问题的存在,一种新的、便捷而有效的改善软件异常处理的方法和系统的发明是势在必行的,以此可以充分利用前述多核CPU所带来的性能上的提升。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种异常处理代码在独立的执行流程中运行,以此充分利用多核CPU的优势,同时可以有效避免污染应用程序的高速缓存。
为实现上述目的及其他相关目的,本发明提供一种基于Linux的软件异常处理系统,其至少包括:
异常分析模块,检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中;
异常处理模块,开启新的运行于实时优先级的异常处理流程运行异常处理系统,设置各种异常处理函数形成异常处理函数表;异常处理流程从所述异常分析模块的异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数。
于本发明的一实施例中,所述的基于Linux的软件异常处理系统,所述异常处理函数表是由用户根据自身需求设置的。
于本发明的一实施例中,所述的基于Linux的软件异常处理系统,其所述异常处理函数将异常按严重程度分为三类,即第一类异常、第二类异常和第三类异常;所述异常处理函数首先获取异常类型,然后对不同异常做不同的处理,与系统相关的操作由内核进行,需要根据用户需求而变化的操作,提交给异常处理流程。
于本发明的一实施例中,所述的基于Linux的软件异常处理系统,其所述第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据,因此必须终止当前应用程序;
所述第二类异常与当前应用程序相关联,需唤醒相关的睡眠应用程序,并以出错的形式返回,相关的代码检查到这个出错退出后,选择退出应用程序或重新执行系统调用,然后把异常放在异常节点表中;
所述第三类异常与当前应用程序无关,只是刚好发生应用程序运行时,因此可以直接把异常放在异常节点表。
于本发明的一实施例中,所述的基于Linux的软件异常处理系统,其所述异常处理流程循环处理异常节点表中的节点,首先取出异常节点,再由查找对应的异常处理函数,然后运行查找到的函数。
为实现上述目的及其他相关目的,本发明还提供一种基于Linux的软件异常处理方法,其至少包括如下步骤:
检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中;
在系统运行应用程序前,开启新的运行于实时优先级的异常处理流程运行异常处理系统,设置各种异常处理函数形成异常处理函数表;异常处理流程从所述异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数。
于本发明的一实施例中,所述的基于Linux的软件异常处理方法,其所述异常处理函数表是由用户根据自身需求设置的。
于本发明的一实施例中,所述的基于Linux的软件异常处理方法,其所述异常处理函数将异常按严重程度分为三类,即第一类异常、第二类异常和第三类异常;所述异常处理函数首先获取异常类型,然后对不同异常做不同的处理,与系统相关的操作由内核进行,需要根据用户需求而变化的操作,提交给异常处理流程。
于本发明的一实施例中,所述的基于Linux的软件异常处理方法,其所述第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据,因此必须终止当前应用程序;
所述第二类异常与当前应用程序相关联,需唤醒相关的睡眠应用程序,并以出错的形式返回,相关的代码检查到这个出错退出后,选择退出应用程序或重新执行系统调用,然后把异常放在异常节点表中;
所述第三类异常与当前应用程序无关,只是刚好发生应用程序运行时,因此可以直接把异常放在异常节点表。
于本发明的一实施例中,所述的基于Linux的软件异常处理方法,其所述异常处理流程循环处理异常节点表中的节点,首先取出异常节点,再由查找对应的异常处理函数,然后运行查找到的函数。
如上所述,本发明的一种基于Linux的软件异常处理系统及方法,具有以下有益效果:
本发明通过异常处理代码在独立的执行流程中运行,在异常处理模块中启动新的执行流程处理异常,并以实时优先级运行;并且,在异常分析模块中对异常按严重程度分别处理,系统相关的操作在内核运行,应用相关的操作交由异常处理模块运行;如此,充分利用了多核CPU的优势,同时可以有效避免污染应用程序的高速缓存。
附图说明
图1显示为本发明基于Linux的软件异常处理系统的框架结构示意图。
图2显示为本发明基于Linux的软件异常处理方法的异常处理函数对三种异常按严重程度分别处理的原理示意图。
图3显示为本发明基于Linux的软件异常处理方法的异常处理函数的伪代码示意图。
图4显示为本发明基于Linux的软件异常处理方法的异常处理流程的伪代码流程示意图。
元件标号说明
100 异常处理系统
101 异常分析模块
102 异常处理模块
S21-S25 步骤S21-S25
S11-S15 步骤S11-S15
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1至图4所示,本发明提供一种基于Linux的软件异常处理方法及系统,本发明通过异常处理代码在独立的执行流程中运行,在异常处理模块中启动新的执行流程处理异常,并以实时优先级运行;并且,在异常分析模块中对异常按严重程度分别处理,系统相关的操作在内核运行,应用相关的操作交由异常处理模块运行;如此,充分利用了多核CPU的优势,同时可以有效避免污染应用程序的高速缓存。
本发明提供的一种基于Linux的软件异常处理方法,在实施过程中大致包括以下执行步骤:
执行步骤S11,系统在运行应用程序前,开启一个新的执行流程,运行异常处理系统,并运行于实时优先级,保证异常事件被及时处理。
执行步骤S12,在应用程序中,用户根据自身需求设置各种异常处理函数。异常处理流程从异常分析模块取得异常节点后,会查找异常处理函数表,并调用这里设置的异常处理函数。
执行步骤S13,内核检测到异常时,调用上述异常分析模块,所述异常分析模块将分析后的结果存放在异常节点表中;
执行步骤S14,异常处理流程运行于实时优先级,如此可以保证异常事件被及时处理。当异常分析模块将异常添加到异常节点表后,系统会及时取得该异常;
执行步骤S15,查询异常处理函数表,并执行查找到的异常处理函数。所述异常处理函数表是由用户根据自身需求设置的。
参考上述处理方法的执行步骤S11-S15,当内核检测到异常事件会调用异常处理函数exp_analysis,该函数对异常事件做具体分析后,会通过exp_put_node将异常事件存放在异常节点表中,异常处理流程exp_task会具体处理该异常事件。
请参考附图2、附图3所示,其分别是异常处理函数exp_analysis的原理图和伪代码图。
异常处理函数exp_analysis将异常按严重程度分为3类。即第一类异常、第二类异常和第三类异常。所述异常处理函数exp_analysis首先调用函数exp_type获取异常类型,然后对不同异常做不同的处理,与系统相关的操作由内核通过函数abort_app或wake_up进行,需要根据用户需求而变化的操作,通过exp_put_node提交给异常处理流程,方便用户修改异常处理方法。
所述第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据,因此必须通过函数abort_app终止当前应用程序。
所述第二类异常与当前应用程序相关联,需要通过函数wake_up唤醒相关的睡眠应用程序,并且应用程序的系统调用会以出错的形式返回,相关的代码检查到这个出错退出后,可以选择退出应用程序或重新执行系统调用,然后通过函数exp_put_node把异常放在异常节点表中。
所述第三类异常与当前应用程序无关,只是刚好发生应用程序运行时,因此可以直接通过函数exp_put_node把异常放在异常节点表。
请参考图4所示,其是异常处理流程exp_task的伪代码流程图。
所述异常处理流程exp_process循环处理异常节点表中的节点。首先通过函数exp_get_node取出异常节点,再由函数exp_get_func查找对应的异常处理函数,然后通过(*func)()运行查找到的函数。
下面是本发明方案具体实施例之一的整体实现方式,具体请参见图1所示。本发明提供的一种基于Linux的软件异常处理系统100,该异常处理系统100在整体上可以分为异常分析模块101、异常处理模块102两部分。所述异常分析模块101,开启新的运行于实时优先级的异常处理流程运行异常处理系统,设置各种异常处理函数形成异常处理函数表;异常处理流程从所述异常分析模块的异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数;所述异常处理模块102,检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中。
下面具体结合基于Linux的软件异常处理系统100,详细表述本发明基于Linux的软件异常处理方法的具体执行步骤:
执行步骤S21,系统在启用应用程序app_task之前,通过库函数pthread创建新的执行流程exp_task。exp_task运行于实时优先级,当异常分析模块101异常处理模块102提交异常后,异常处理流程exp_task会及时运行,保证异常事件被及时处理;
执行步骤S22,应用程序app_task根据用户自身的需求,通过函数exp_set_func给各种异常设置异常处理函数。异常处理流程exp_task从异常分析模块101取得异常节点后,会查找异常处理函数表,并调用这里设置的异常处理函数;
执行步骤S23,异常分析模块101通过函数exp_analysis对函数做具体分析后,将异常通过函数exp_put_node放入异常节点表,异常处理函数exp_analysis的原理参考图2和图3。该异常节点会被异常处理流程exp_task通过函数exp_get_node取得;
执行步骤S24,异常处理流程exp_task运行于实时优先级,可以保证异常事件被及时处理。当异常分析模块101将异常添加到异常节点表后,系统会及时通过函数exp_get_node取得该异常;
执行步骤S25,异常处理流程exp_task取得异常节点后,会调用函数exp_get_func在异常处理函数表中查找该异常对应的异常处理函数并运行。
总之,本发明提供一种基于Linux的软件异常处理方法及系统,其通过异常处理代码在独立的执行流程中运行,在异常处理模块中启动新的执行流程处理异常,并以实时优先级运行;并且,在异常分析模块中对异常按严重程度分别处理,系统相关的操作在内核运行,应用相关的操作交由异常处理模块运行;如此,充分利用了多核CPU的优势,同时可以有效避免污染应用程序的高速缓存。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (6)

1.一种基于Linux的软件异常处理系统,其特征在于,其至少包括:
异常分析模块,检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中;
异常处理模块,在系统运行应用程序前,开启新的运行于实时优先级的异常处理流程运行异常处理系统,设置各种异常处理函数形成异常处理函数表;异常处理流程从所述异常分析模块的异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数;
所述异常处理函数将异常按严重程度分为三类,即第一类异常、第二类异常和第三类异常;所述异常处理函数首先获取异常类型,然后对不同异常做不同的处理,与系统相关的操作由内核进行,需要根据用户需求而变化的操作提交给异常处理流程;
所述第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据,必须终止当前应用程序;
所述第二类异常与当前应用程序相关联,需唤醒相关的睡眠应用程序,并以出错的形式返回,相关的代码检查到这个出错退出后,选择退出应用程序或重新执行系统调用,然后把异常放在异常节点表中;
所述第三类异常与当前应用程序无关,只是刚好发生应用程序运行时,因此直接把异常放在异常节点表。
2.根据权利要求1所述的基于Linux的软件异常处理系统,其特征在于:所述异常处理函数表是由用户根据自身需求设置的。
3.根据权利要求1所述的基于Linux的软件异常处理系统,其特征在于:所述异常处理流程循环处理异常节点表中的节点,首先取出异常节点,再查找对应的异常处理函数,然后运行查找到的异常处理函数。
4.一种基于Linux的软件异常处理方法,其特征在于,其至少包括如下步骤:
检测系统异常时对所述异常进行分析并将分析后的异常节点存放在异常节点表中;
在系统运行应用程序前,开启新的运行于实时优先级的异常处理流程运行异常处理系统;
设置各种异常处理函数形成异常处理函数表;
异常处理流程从所述异常节点表中取得异常节点后,查找所述异常处理函数表,并调用执行异常处理函数;
所述异常处理函数将异常按严重程度分为三类,即第一类异常、第二类异常和第三类异常;所述异常处理函数首先获取异常类型,然后对不同异常做不同的处理,与系统相关的操作由内核进行,需要根据用户需求而变化的操作提交给异常处理流程;
所述第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据,必须终止当前应用程序;
所述第二类异常与当前应用程序相关联,需唤醒相关的睡眠应用程序,并以出错的形式返回,相关的代码检查到这个出错退出后,选择退出应用程序或重新执行系统调用,然后把异常放在异常节点表中;
所述第三类异常与当前应用程序无关,只是刚好发生应用程序运行时,因此直接把异常放在异常节点表。
5.根据权利要求4所述的基于Linux的软件异常处理方法,其特征在于:所述异常处理函数表是由用户根据自身需求设置的。
6.根据权利要求4所述的基于Linux的软件异常处理方法,其特征在于:所述异常处理流程循环处理异常节点表中的节点,首先取出异常节点,再查找对应的异常处理函数,然后运行查找到的异常处理函数。
CN201510779683.XA 2015-11-13 2015-11-13 基于Linux的软件异常处理系统及方法 Active CN105446822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510779683.XA CN105446822B (zh) 2015-11-13 2015-11-13 基于Linux的软件异常处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510779683.XA CN105446822B (zh) 2015-11-13 2015-11-13 基于Linux的软件异常处理系统及方法

Publications (2)

Publication Number Publication Date
CN105446822A CN105446822A (zh) 2016-03-30
CN105446822B true CN105446822B (zh) 2019-06-18

Family

ID=55557057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510779683.XA Active CN105446822B (zh) 2015-11-13 2015-11-13 基于Linux的软件异常处理系统及方法

Country Status (1)

Country Link
CN (1) CN105446822B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704356B (zh) 2017-06-12 2019-06-28 平安科技(深圳)有限公司 异常堆栈信息获取方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452420A (zh) * 2008-12-30 2009-06-10 中兴通讯股份有限公司 一种嵌入式软件异常监控和处理装置及其方法
CN101923508A (zh) * 2009-06-12 2010-12-22 中兴通讯股份有限公司 一种嵌入式系统中的异常处理方法及装置
CN102999412A (zh) * 2012-11-21 2013-03-27 浪潮电子信息产业股份有限公司 一种Linux下进程监护的方法
JP2015138512A (ja) * 2014-01-24 2015-07-30 富士通株式会社 状態監視装置、状態監視方法、及び状態監視プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100389404C (zh) * 2006-08-01 2008-05-21 西安西电捷通无线网络通信有限公司 一种计算机应用程序的监控及异常处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452420A (zh) * 2008-12-30 2009-06-10 中兴通讯股份有限公司 一种嵌入式软件异常监控和处理装置及其方法
CN101923508A (zh) * 2009-06-12 2010-12-22 中兴通讯股份有限公司 一种嵌入式系统中的异常处理方法及装置
CN102999412A (zh) * 2012-11-21 2013-03-27 浪潮电子信息产业股份有限公司 一种Linux下进程监护的方法
JP2015138512A (ja) * 2014-01-24 2015-07-30 富士通株式会社 状態監視装置、状態監視方法、及び状態監視プログラム

Also Published As

Publication number Publication date
CN105446822A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN104899369A (zh) 一种利用perl脚本的仿真器多线程运行方法
CN111797157B (zh) 一种数据处理方法、系统及电子设备和存储介质
US20120079459A1 (en) Tracing multiple threads via breakpoints
Jin et al. Fast: Fpga-based subgraph matching on massive graphs
US8819640B2 (en) Establishing cloud debug breakpoints assigned to users
CN106919462B (zh) 一种生成处理器故障记录的方法及装置
CN104077220A (zh) Mips架构操作系统内核的调试方法和装置
US20160188243A1 (en) Memory access protection using processor transactional memory support
CN1866219A (zh) 基于自动化测试脚本对被测对象进行测试的方法和系统
US9239732B2 (en) Unrolling aggregation operations in asynchronous programming code having multiple levels in hierarchy
CN105446822B (zh) 基于Linux的软件异常处理系统及方法
CN104516726B (zh) 一种指令处理的方法及装置
CN102455941A (zh) 一种基于范式的多任务调度方法、装置及通信终端
US20240045787A1 (en) Code inspection method under weak memory ordering architecture and corresponding device
CN102541738B (zh) 加速多核cpu抗软错误测试的方法
US20120159451A1 (en) Identifying threads that encounter an instruction at which another thread is halted
CN101470662B (zh) 一种多核mips平台下并行系统调试方法
US9116719B2 (en) Partial commits in dynamic binary translation based systems
Yi et al. Explaining software failures by cascade fault localization
US9164813B2 (en) Using a debug engine to identify threads that wait for a mutex
US10061681B2 (en) System for discovering bugs using interval algebra query language
US8650183B2 (en) System and method for processing an SQL query made against a relational database
CN102103527A (zh) 具有错误处理装置的多内核dsp电路和错误处理方法
CN111694686B (zh) 一种异常服务的处理方法、装置、电子设备及存储介质
CN110908869B (zh) 一种应用程序数据监控方法、装置、设备及储存介质

Legal Events

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

Effective date of registration: 20201209

Address after: Dai Xi Zhen Shang Qiang Lu, Wuxing District, Huzhou City, Zhejiang Province

Patentee after: HUZHOU AIDI ELECTRIC Co.,Ltd.

Address before: 201616 No. 3666 Sixian Road, Songjiang District, Shanghai

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220909

Address after: 16 / F, building 51 (satellite building), Beijing satellite factory, 63 Zhichun Road, Haidian District, Beijing

Patentee after: BEIJING UCAS TECHNOLOGY Co.,Ltd.

Address before: Dai Xi Zhen Shang Qiang Lu, Wuxing District, Huzhou City, Zhejiang Province

Patentee before: HUZHOU AIDI ELECTRIC Co.,Ltd.

TR01 Transfer of patent right