CN106909351B - 一种基于uefi固件的ext文件系统的实现方法 - Google Patents

一种基于uefi固件的ext文件系统的实现方法 Download PDF

Info

Publication number
CN106909351B
CN106909351B CN201510969256.8A CN201510969256A CN106909351B CN 106909351 B CN106909351 B CN 106909351B CN 201510969256 A CN201510969256 A CN 201510969256A CN 106909351 B CN106909351 B CN 106909351B
Authority
CN
China
Prior art keywords
file system
ext
function
driver
protocol
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
CN201510969256.8A
Other languages
English (en)
Other versions
CN106909351A (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.)
Kunlun Taike (Beijing) Technology Co.,Ltd.
Original Assignee
Cetc Beijing 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 Cetc Beijing Co ltd filed Critical Cetc Beijing Co ltd
Priority to CN201510969256.8A priority Critical patent/CN106909351B/zh
Publication of CN106909351A publication Critical patent/CN106909351A/zh
Application granted granted Critical
Publication of CN106909351B publication Critical patent/CN106909351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于UEFI固件的EXT文件系统的实现方法,属于计算机固件技术领域,包括如下步骤:采用UEFI固件加载EXT的驱动,并运行驱动的入口函数,在EXT驱动的入口函数处安装一个EFI驱动绑定协议类型的通信协议Protocol;UEFI固件查找EXT中所有的块设备,当查找到一个块设备之后,判断这个块设备是否有DiskIo Protocol;若有,则判断当前块设备中的文件系统是否为EXT文件系统;若是,则初始化EXT驱动所需的全局变量;并给Start函数安装一个EFI简单文件系统协议类型的Protocol,向外部提供文件系统的访问接口函数OpenVolume;UEFI固件或其他驱动就通过OpenVolume来获取访问EXT文件系统的操作接口函数;由此,完成了基于UEFI固件的EXT文件系统的实现。

Description

一种基于UEFI固件的EXT文件系统的实现方法
技术领域
本发明属于计算机固件技术领域,涉及一种基于UEFI固件的EXT文件系统的实现方法。
背景技术
UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)规范是从EFI(Extensible Firmware Interface,可扩展固件接口)发展而来的。EFI是Intel为PC固件(或称为BIOS)的体系结构、接口和服务提出的建议标准。UEFI是由EFI 1.10为基础发展而来,它的所有者己不再是Intel,而是一个称为Unified EFI Form的国际组织。
EXT文件系统(EXT文件系统Extended File system)文件系统是Linux最传统的磁盘文件系统。文件系统会将磁盘中存储数据的单元划分成一个个的块(后面简称为block),每一个block都有一个编号。一般文件系统划分的block大小为512字节,有的文件系统划分block大小为1024字节。EXT文件系统中,第二个block为超级块(后面称为Super Block),Super Block里面记录的是整个文件系统的基本信息,包括这个文件系统中block和inode的总数量,以及block和inode的使用情况。EXT文件系统中将文件分为目录文件,普通文件和链表文件等几种。文件的文件名、属性和文件的实际数据是分开存储的,即存放在不同的block中。inode是存放文件名和文件属性的block,一个文件对应一个inode,同时inode记录了文件实际数据所在的block号。
Inte1在推出EFI规范的时候同时也推出了遵循EFI规范的固件开发工具包,称为EDK(EFI Develop Kit),EDK的升级版本为EDK II。在EDK或者EDK II中有对FAT(FileAllocation Table,微软发明的一种文件系统)文件系统的支持,但是没有对EXT文件系统的支持。而本发明就是基于UEFI固件来实现EXT文件系统,使在UEFI固件下可以对EXT文件系统进行支持,即可以以文件的形式来访问EXT文件系统内的文件。
目前UEFI固件中只有FAT文件系统的实现,尚未发现实现EXT文件系统。
发明内容
有鉴于此,本发明提供了一种基于UEFI固件的EXT文件系统的实现方法,本发明就是在UEFI固件层实现EXT文件系统,提供符合UEFI规范的文件系统读写接口函数。
为了达到上述目的,本发明的技术方案包括如下步骤:
步骤一、采用统一的可扩展固件接口UEFI固件加载扩展EXT文件系统驱动,并运行驱动的入口函数,在EXT文件系统驱动的入口函数处安装一个可扩展固件接口EFI的驱动绑定协议EFI_DRIVER_BINDING_PROTOCOL类型的Protocol;
步骤二、UEFI固件查找硬件平台中所有的块设备,当查找到一个块设备之后,调用所有EFI_DRIVER_BINDING_PROTOCOL类型的Support函数,当调用到EXT文件系统驱动所安装的EFI_DRIVER_BINDING_PROTOCOL类型的Support函数时,Support函数判断这个块设备是否有DiskIo Protocol,如果有则驱动匹配成功进入步骤三;若没有则驱动匹配不成功,UEFI固件重复执行本步骤二,继续查找块设备直至驱动匹配成功;其中,每个块设备中均安装有一个DiskIo Protocol;
步骤三、对于驱动匹配成功的当前块设备,UEFI固件调用EXT文件系统的EFI_DRIVER_BINDING_PROTOCOL类型的开始Start函数,Start函数利用DiskIo读取当前块设备中的超级块Super Block,然后按照EXT文件系统规范解析Super Block,并判断Super Block的MAGIC标志位是否为EXT文件系统的MAGIC标志位,如果是则表明当前块设备中的文件系统是EXT文件系统则进入步骤四,否则当前块设备的文件系统不是EXT文件系统;
步骤四、步骤三中确定为EXT文件系统后,利用DiskIo读取EXT文件系统根目录中的inode信息,并利用这些信息来初始化EXT文件系统驱动所需的全局变量;
步骤五、EXT文件系统的EFI_DRIVER_BINDING_PROTOCOL类型的Start函数安装一个EFI的简单文件系统协议EFI_SIMPLE_FILE_SYSTEM_PROTOCOL类型的Protocol,并通过这个Protocol向外部提供文件系统的访问接口函数Open Volume;
步骤六、UEFI固件或其他驱动就通过所述访问接口函数Open Volume来获取访问EXT文件系统的操作接口函数;由此,完成了基于UEFI固件的EXT文件系统的实现。
进一步地,块设备为整块磁盘或者是磁盘的一个分区。
进一步地,操作接口函数包括打开函数Open,关闭函数Close,删除函数Delete,读函数Read,写函数Write,当前位置获取函数GetPosition,当前位置设置函数SetPosition,文件属性获取函数GetInfo,文件属性设置函数SetInfo,刷新文件函数Flush。
有益效果:
1、目前UEFI固件中只有FAT文件系统的实现,尚未发现EXT文件系统的实现,本发明就是在UEFI固件层实现EXT文件系统,提供符合UEFI规范的文件系统读写接口函数;
2、本发明基于UEFI固件实现了一套EXT文件系统的驱动,使UEFI固件可以对磁盘的EXT文件系统分区下的文件进行打开、关闭、读、写、删除、定位、获取文件属性,设置文件属性等操作。
附图说明
图1为EXT文件系统驱动模块结构图。
图2为EXT文件系统驱动模块流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明的目的是为了克服己有技术的缺陷,为了解决UEFI固件层对EXT文件系统的支持问题,提出一种基于UEFI固件的EXT文件系统的实现的方法。
UEFI规范将固件分为SEC、PEI、DXE、BDS、TSL、RT、AL共7个阶段,每个阶段都实现不同的功能。UEFI固件的特性是可扩展性和模块化,即UEFI固件下的大部分功能都是以模块化的驱动(Driver)形式实现的,这些驱动大部分是在PEI阶段和DXE阶段进行加载和运行的,同一阶段的驱动都有一个统一形式的入口函数,驱动的功能是进行一些硬件初始化工作或提供一些函数接口供外部调用。当一个驱动需要给外部提供函数接口时,它是通过安装一个PPI(PEI阶段)或者安装一个Protocol(DXE阶段)来实现的。即驱动在内部安装一个PPI或Protocol,而外部需要调用这个驱动的函数接口的时候,先通过UEFI固件的系统函数找到这个Protocol,然后,通过这个Protocol来调用驱动的接口函数。
本发明就是在DXE阶段实现一个驱动,并安装一个Protocol来给外部提供一些函数接口,来实现EXT文件系统的打开、关闭、删除、读出、写入、获取文件位置、设置文件位置、获取文件属性、设置文件属性等文件操作。如图1所示为EXT文件系统驱动模块结构图。
EXT文件系统驱动模块主要包括以下4个子模块:
1)识别分区:该子模块用于读取硬盘设备、解析超级块,识别硬盘EXT文件系统分区;
2)参数配置:该子模块用于读取根文件以及Inode等文件系统信息,并对EXT文件系统驱动的变量进行配置;
3) DXE驱动接口:该子模块用于对外部调用提供访问接口,包括Support、Start、Stop;
4)文件系统操作:该子模块用于实现对文件系统中文件的增、删、改等操作,具体包括Open、Close、Delete、Read、Write、GetPosition、SetPosition、Getinfo、Setinfo、
Flush。
本发明实现的驱动是一个UEFI Driver Module类型的驱动,UEFI Driver Module是UEFI规范中定义的一种驱动类型,这类驱动会在驱动入口函数中安装一个EFI_DRIVER_BINDING_PROTOCOL类型的Protocol,这个Protocol会给外部提供三个接口函数,分别为Supported函数,Start函数和Stop函数,这三个函数主要供UEFI固件的基础代码调用。UEFI固件在发现一个对象(这个对象可以为一个硬件,如一块硬盘,也可以为一个硬件的一部分,如硬盘的一个分区)的时候,会通过调用所有的EFI_DRIVER_BINDING_PROTOCOL类型的Supported函数来判断哪个Driver有可能能驱动这个对象,即Driver能和对象匹配的上。如果Supported函数返回成功,则表明想要的驱动和这个对象能匹配的上,则固件会调用相应的Start函数来执行相应的驱动内容。在Start函数里面,会进行一些硬件或其他的初始化动作,并且按照需要安装-些Protocol,而这些安装的Protocol就是这个驱动提供给外部的接口函数。EFI_DRIVER_BINDING_PROTOCOL类型的Stop函数是在卸载驱动的时候被调用的。
如图2所示,本发明方法是通过下述技术方案实现的:
一种基于UEFI固件的EXT文件系统的实现的方法,其基本实施过程如下:
步骤一、采用统一的可扩展固件接口UEFI固件加载扩展EXT文件系统驱动,并运行驱动的入口函数,在EXT文件系统驱动的入口函数处安装一个可扩展固件接口EFI的驱动绑定协议EFI_DRIVER_BINDING_PROTOCOL类型的Protocol;
步骤二、UEFI固件找到一个块设备(可以为整块磁盘或者是磁盘的一个分区,一般都会安装一个DiskIo Protocol)后,会调用所有EFI_DRIVER_BINDING_PROTOCOL类型的Support函数,当调用到EXT文件系统驱动所安装的EFI_DRIVER_BINDING_PROTOCOL类型的Support函数时,Support函数会判断这个对象是否有DiskIo Protocol,如果有则驱动匹配成功;
步骤三、当步骤二执行成功后,UEFI固件会调用EXT文件系统的EFI_DRIVER_BINDING_PROTOCOL类型的Start函数。Start函数会利用DiskIo读取磁盘的Super Block,然后按照EXT文件系统规范解析Super Block,并判断Super Block的MAGIC标志位是否为EXT文件系统的MAGIC标志位,如果是则表明当前磁盘中的文件系统是EXT文件系统;
步骤四、步骤三中确定为EXT文件系统后,利用DiskIo读取EXT文件系统根目录
(Root Directory)的inode信息,并利用这些信息来初始化EXT文件系统驱动所需要的一些全局变量;
步骤五、步骤四完成后,Start函数会安装一个EFI_SIMPLE_FILE_SYSTEM_PROTOCOL类型的Protocol,并通过这个Protocol向外部提供访问文件系统的接口函数OpenVo lume;
步骤六、步骤五完成后,UEFI固件或其他驱动就可以通过EFI_SIMPLE_FILE_SYSTE
M_PROTOCOL的OpenVolume来获取访问EXT文件系统的接口函数,这些接口函数包括Open、Close、Delete、Read、Write、GetPosition、SetPosition、Getinfo、Setinfo、Flush等,分别对应文件的打开、关闭、删除、读、写、获取当起位置、设置当前位置、获取文件属性、设置文件属性、刷新文件等操作。
自此,就完成了基于UEFI固件的EXT文件系统的实现。
综上,以上仅为本发明的较佳实施例而己,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围。

Claims (3)

1.一种基于UEFI固件的EXT文件系统的实现方法,其特征在于,包括如下步骤:
步骤一、采用统一的可扩展固件接口UEFI固件加载扩展EXT文件系统驱动,并运行驱动的入口函数,在EXT文件系统驱动的入口函数处安装一个可扩展固件接口EFI的驱动绑定协议EFI_DRIVER_BINDING_PROTOCOL类型的Protocol;
步骤二、UEFI固件查找硬件平台中所有的块设备,当查找到一个块设备之后,调用所有EFI_DRIVER_BINDING_PROTOCOL类型的Support函数,当调用到EXT文件系统驱动所安装的EFI_DRIVER_BINDING_PROTOCOL类型的Support函数时,Support函数判断这个块设备是否有DiskIo Protocol,如果有则驱动匹配成功进入步骤三;若没有则驱动匹配不成功,UEFI固件重复执行本步骤二,继续查找块设备直至驱动匹配成功;其中,每个块设备中均安装有一个DiskIo Protocol;
步骤三、对于驱动匹配成功的当前块设备,UEFI固件调用EXT文件系统的EFI_DRIVER_BINDING_PROTOCOL类型的开始Start函数,Start函数利用DiskIo读取当前块设备中的超级块Super Block,然后按照EXT文件系统规范解析Super Block,并判断Super Block的MAGIC标志位是否为EXT文件系统的MAGIC标志位,如果是则表明当前块设备中的文件系统是EXT文件系统则进入步骤四,否则当前块设备的文件系统不是EXT文件系统;
步骤四、步骤三中确定为EXT文件系统后,利用DiskIo读取EXT文件系统根目录中的inode信息,并利用这些信息来初始化EXT文件系统驱动所需的全局变量;
步骤五、EXT文件系统的EFI_DRIVER_BINDING_PROTOCOL类型的Start函数安装一个EFI的简单文件系统协议EFI_SIMPLE_FILE_SYSTEM_PROTOCOL类型的Protocol,并通过这个Protocol向外部提供文件系统的访问接口函数Open Volume;
步骤六、UEFI固件或其他驱动就通过所述访问接口函数Open Volume来获取访问EXT文件系统的操作接口函数;由此,完成了基于UEFI固件的EXT文件系统的实现。
2.如权利要求1所述的一种基于UEFI固件的EXT文件系统的实现方法,其特征在于,所述块设备为整块磁盘或者是磁盘的一个分区。
3.如权利要求1所述的一种基于UEFI固件的EXT文件系统的实现方法,其特征在于,所述操作接口函数包括打开函数Open,关闭函数Close,删除函数Delete,读函数Read,写函数Write,当前位置获取函数GetPosition,当前位置设置函数SetPosition,文件属性获取函数GetInfo,文件属性设置函数SetInfo,刷新文件函数Flush。
CN201510969256.8A 2015-12-22 2015-12-22 一种基于uefi固件的ext文件系统的实现方法 Active CN106909351B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510969256.8A CN106909351B (zh) 2015-12-22 2015-12-22 一种基于uefi固件的ext文件系统的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510969256.8A CN106909351B (zh) 2015-12-22 2015-12-22 一种基于uefi固件的ext文件系统的实现方法

Publications (2)

Publication Number Publication Date
CN106909351A CN106909351A (zh) 2017-06-30
CN106909351B true CN106909351B (zh) 2021-04-20

Family

ID=59200395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510969256.8A Active CN106909351B (zh) 2015-12-22 2015-12-22 一种基于uefi固件的ext文件系统的实现方法

Country Status (1)

Country Link
CN (1) CN106909351B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423068A (zh) * 2017-07-31 2017-12-01 山东超越数控电子有限公司 在uefi bios中实现多种文件系统的方法
CN108388461A (zh) * 2018-02-27 2018-08-10 山东超越数控电子股份有限公司 一种用于固件的屏幕图像截取方法与装置
CN108920194A (zh) * 2018-06-08 2018-11-30 山东超越数控电子股份有限公司 一种国产平台bios启动ext文件系统的方法
CN112395166A (zh) * 2020-11-27 2021-02-23 中电科技(北京)有限公司 读取系统日志的方法、uefi和计算机
CN113157325A (zh) * 2021-03-30 2021-07-23 深圳市吉方工控有限公司 一种通过识别数据内容来定位存储设备端口的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032445A1 (en) * 2007-08-01 2009-03-12 Devicevm, Inc. Integration model for instant-on environment
CN101587451A (zh) * 2008-05-20 2009-11-25 研祥智能科技股份有限公司 一种基于efi固件的数据备份和恢复方法
CN101661473A (zh) * 2007-11-06 2010-03-03 三星电子株式会社 固态存储器、计算机系统以及操作固态存储器的方法
CN104516787A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种信息处理的方法及电子设备
CN104572166A (zh) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 一种基于飞腾台式计算机的uefi固件实现方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US20110225408A1 (en) * 2010-03-10 2011-09-15 Ren Guo Cache boot mechanism
US8490116B2 (en) * 2010-12-17 2013-07-16 Phoenix Technologies Ltd. Emulating legacy video using UEFI
TWI486874B (zh) * 2012-03-27 2015-06-01 華擎科技股份有限公司 電子裝置及開機方法
CN103207797B (zh) * 2013-03-15 2013-11-27 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
CN103176868B (zh) * 2013-04-02 2017-07-28 浪潮电子信息产业股份有限公司 一种文件状态备份方法
US10146556B2 (en) * 2013-11-21 2018-12-04 Dell Products L.P. System and method to perform an OS boot using service location protocol and launching OS using a dynamic update of network boot order without a reboot
CN103777981A (zh) * 2014-01-13 2014-05-07 中南大学 一种适用于x86架构的多操作系统远程加载实现方法
CN104580136A (zh) * 2014-09-10 2015-04-29 中电科技(北京)有限公司 一种基于uefi的远程身份验证系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032445A1 (en) * 2007-08-01 2009-03-12 Devicevm, Inc. Integration model for instant-on environment
CN101661473A (zh) * 2007-11-06 2010-03-03 三星电子株式会社 固态存储器、计算机系统以及操作固态存储器的方法
CN101587451A (zh) * 2008-05-20 2009-11-25 研祥智能科技股份有限公司 一种基于efi固件的数据备份和恢复方法
CN104516787A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种信息处理的方法及电子设备
CN104572166A (zh) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 一种基于飞腾台式计算机的uefi固件实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BIOS安全更新及保护系统设计;赵丽娜;陈小春;张超;肖思莹;《微型机与应用》;20150430;第287页-第291页 *
基于固件的终端安全管理系统研究与应用;陈小春;孙亮;赵丽娜;《信息网络安全》;20150930;第2-4页 *

Also Published As

Publication number Publication date
CN106909351A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN106909351B (zh) 一种基于uefi固件的ext文件系统的实现方法
US8954805B2 (en) Computer booting method and computer system
US7493314B2 (en) System and method for providing access to computer files across computer operating systems
US7669021B2 (en) File system based offline disk management
US10831464B2 (en) Installation of operating system
US8433890B2 (en) Preparing and preserving a system configuration during a hot upgrade
US8751785B2 (en) Memory tagging and preservation during a hot upgrade
US20070061818A1 (en) Detection of devices during operating system setup
US20120117367A1 (en) Electronic apparatus and booting method thereof
US20100268867A1 (en) Method and apparatus for updating firmware as a background task
CN101650660A (zh) 从中央存储装置引导计算机系统
CN105824678A (zh) 一种操作系统安装方法及装置
CN102999349B (zh) 一种软件升级方法
US20230266958A1 (en) Method for creating private image in public cloud and related device
CN106484719B (zh) 一种扩展手机存储的方法及终端
CN111433747B (zh) 用于加载操作系统的虚拟存储器
CN114816491A (zh) 用于多系统移动终端的系统升级方法、装置及终端
US11249767B2 (en) Boot assist zero overhead flash extended file system
Votipka et al. Passe-partout: A general collection methodology for Android devices
CN110928840B (zh) 一种qnx6文件系统读取方法
CN108647034A (zh) 一种单移动硬盘安装多个操作系统的方法
US10572241B2 (en) Method and apparatus for installing operation system
CN111782474A (zh) 日志处理方法、装置、电子设备和介质
KR102429346B1 (ko) 메모리 업그레이드 시스템 및 방법
US7925876B2 (en) Computer with extensible firmware interface implementing parallel storage-device enumeration

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee after: CLP Technology (Beijing) Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee before: CETC (BEIJING) Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee after: Kunlun Taike (Beijing) Technology Co.,Ltd.

Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing

Patentee before: CLP Technology (Beijing) Co.,Ltd.