CN111580800A - Golang语言下静态资源打包方法及装置 - Google Patents

Golang语言下静态资源打包方法及装置 Download PDF

Info

Publication number
CN111580800A
CN111580800A CN202010289744.5A CN202010289744A CN111580800A CN 111580800 A CN111580800 A CN 111580800A CN 202010289744 A CN202010289744 A CN 202010289744A CN 111580800 A CN111580800 A CN 111580800A
Authority
CN
China
Prior art keywords
file
golang
static
compressed file
compressed
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.)
Pending
Application number
CN202010289744.5A
Other languages
English (en)
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.)
Sina Technology China Co Ltd
Original Assignee
Sina Technology China 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 Sina Technology China Co Ltd filed Critical Sina Technology China Co Ltd
Priority to CN202010289744.5A priority Critical patent/CN111580800A/zh
Publication of CN111580800A publication Critical patent/CN111580800A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及Golang语言技术领域,具体Golang语言下静态资源打包方法及装置,所述方法包括:压缩存放有静态资源的文件夹,得到至少一个原压缩文件;将各原压缩文件转化为对应的Golang压缩文件;基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;转化各中间状态文件,打包生成最终执行文件。本发明能够提高静态资源打包的效率。

Description

Golang语言下静态资源打包方法及装置
技术领域
本发明涉及Golang语言技术领域,具体涉及Golang语言下静态资源打包方法及装置。
背景技术
Golang编译生成的可执行文件让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。
但是在web开发中往往有一些模板,如:配置文件、css、js、图片等其他类型的文件,这些文件被称为静态资源。静态资源是与Golang可执行文件是相互独立的,部署的时候要另外考虑将这些文件部署到生产环境。如果我们把静态资源和Golang执行文件打包成一个文件,就可以省去很多麻烦。
在现有技术中,打包静态资源时是一次性将所有文件全部顺序打包,而所有文件顺序进行编译速度慢,导致打包过程效率低下。
发明内容
本发明要解决的技术问题在于,克服现有的技术的不足,提供Golang语言下静态资源打包方法及装置,能够提高静态资源打包的效率。
为达到上述技术目的,一方面,本发明提供的Golang语言下静态资源打包方法,所述方法包括:
压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
将各原压缩文件转化为对应的Golang压缩文件;
基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
转化各中间状态文件,打包生成最终执行文件。
另一方面,本发明提供的Golang语言下静态资源打包装置,所述方法包括:
压缩单元,用于压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
转化单元,用于将各原压缩文件转化为对应的Golang压缩文件;
编译单元,用于基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
生成单元,用于转化各中间状态文件,打包生成最终执行文件。
在本发明中,首先将存放有静态资源的文件夹进行压缩,然后再转化为Golang压缩文件。针对Golang压缩文件使用多线程工作模式转换为中间状态文件,最后,将中间状态文件转化为最终执行文件。最终执行文件就能够在指定系统中进行部署。在上述过程中,多线程工作模式下,能够同时转换多个Golang压缩文件,由此,相比与单线程工作模式中顺序处理,提高了处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的方法流程示意图;
图2为本发明实施例的结构示意图;
图3为本发明实施例中静态资源在Golang源代码文件呈现的序列图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明所述的Golang语言下静态资源打包方法,包括:
101、压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
102、将各原压缩文件转化为对应的Golang压缩文件;
103、基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
104、转化各中间状态文件,打包生成最终执行文件。
进一步地,所述压缩存放有静态资源的文件夹,得到至少一个原压缩文件,具体包括:
1011、将待压缩的静态资源文件存放至文件夹;
1012、压缩文件夹得到静态压缩文件;
1013、将大小大于预设字节数的静态压缩文件切割生成多个原压缩文件;每个原压缩文件的大小都小于预设字节数。
更进一步地,所述压缩文件夹得到静态压缩文件之后,还包括:
1014、将大小小于等于预设字节数的静态压缩文件作为对应的原压缩文件。
在上述技术方案中,所述将各原压缩文件转化为对应的Golang压缩文件,具体包括:
1021、将各原压缩文件转换为对应的Golang源代码文件;所述Golang源代码文件中,静态资源被转化为十六进制形式;
1022、针对每个Golang源代码文件,将其中十六进制形式静态资源的各“\x”字符串删除,得到对应的Golang压缩文件。
优选地,所述转化各中间状态文件,打包生成最终执行文件,具体包括:
利用go build工具,编译各中间状态文件,从而打包生成最终执行文件。
如图2所示,本发明所述的Golang语言下静态资源打包装置,包括:
压缩单元11,用于压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
转化单元12,用于将各原压缩文件转化为对应的Golang压缩文件;
编译单元13,用于基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
生成单元14,用于转化各中间状态文件,打包生成最终执行文件。
进一步地,所述压缩单元11,具体用于:
将待压缩的静态资源文件存放至文件夹;
压缩文件夹得到静态压缩文件;
将大小大于预设字节数的静态压缩文件切割生成多个原压缩文件;每个原压缩文件的大小都小于预设字节数。
更进一步地,所述压缩单元11,还用于:
将大小小于等于预设字节数的静态压缩文件作为对应原压缩文件。
在上述技术方案中,所述转化单元12,具体用于:
将各原压缩文件转换为对应的Golang源代码文件;所述Golang源代码文件中,静态资源被转化为十六进制形式;
针对每个Golang源代码文件,将其中十六进制形式静态资源的各“\x”字符串删除,得到对应的Golang压缩文件。
优选地,所述生成单元14,具体用于:
利用go build工具,编译各中间状态文件,从而打包生成最终执行文件。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
在本实施例中文件名称以*.go结尾的文件我们称其为Golang源代码文件,除此之外的文件都称为静态资源,例如:图片、配置文件等其它项目所依懒的资源。
本实施例以将静态资源A打包为例:
步骤1、将静态资源A存放至文件夹a;
步骤2、压缩文件夹a,得到静态压缩文件a1;
步骤3、判断静态压缩文件a1是否大于100MB(预设字节数):
若是,则将静态压缩文件a1切割为若干个原压缩文件a2,并保证每个原压缩文件a2的大小都小于100MB;
若否,则将静态压缩文件a1作为对应原压缩文件a2。
步骤4、将每个原压缩文件a2,利用开源工具转换为Golang源代码文件a3(形式为*.go的文件);
如图3所示,在Golang源代码文件a3中,静态资源A被转化为十六进制形式。
步骤5、将各Golang源代码文件a3中的“\x”字符串删除,得到对应Golang压缩文件a4;
在本实施例中,Golang压缩文件a4的大小约为对应Golang源代码文件a3的50%左右。而在恢复文件的操作中,可以通过预定程序将“\x”字符串重新增加上。
步骤6、利用多线程工作模式,将每个Golang压缩文件a3编译成对应中间状态文件(形式为*.a的文件)a4;
在本实施例中,多线程工作模式相对于单线程来说,可提高工作效率。将一项工作划分成多个部分并且彼此不影响,又使用多线程工作模式同时处理被划分的多个部分工作,相比一个接一个顺序处理的单线程工作模式,效率会明显提高。
步骤7、利用go build工具,编译各中间状态文件a4,从而生成最终执行文件b。
在本实施例中,编译生成最终执行文件b时可以指定目标操作系统,生成的最终执行文件b可以在这类系统的任何机器上运行;并且最终执行文件b就能够被部署。
在本实施例中,不但提高了编译的速度,还减少了文件所占用的空间,从而使得压缩的效率明显提高。
本发明实施例提供了Golang语言下静态资源打包装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种Golang语言下静态资源打包方法,其特征在于,所述方法包括:
压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
将各原压缩文件转化为对应的Golang压缩文件;
基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
转化各中间状态文件,打包生成最终执行文件。
2.根据权利要求1所述的Golang语言下静态资源打包方法,其特征在于,所述压缩存放有静态资源的文件夹,得到至少一个原压缩文件,具体包括:
将待压缩的静态资源文件存放至文件夹;
压缩文件夹得到静态压缩文件;
将大小大于预设字节数的静态压缩文件切割生成多个原压缩文件;每个原压缩文件的大小都小于预设字节数。
3.根据权利要求2所述的Golang语言下静态资源打包方法,其特征在于,所述压缩文件夹得到静态压缩文件之后,还包括:
将大小小于等于预设字节数的静态压缩文件作为对应的原压缩文件。
4.根据权利要求1所述的Golang语言下静态资源打包方法,其特征在于,所述将各原压缩文件转化为对应的Golang压缩文件,具体包括:
将各原压缩文件转换为对应的Golang源代码文件;所述Golang源代码文件中,静态资源被转化为十六进制形式;
针对每个Golang源代码文件,将其中十六进制形式静态资源的各“\x”字符串删除,得到对应的Golang压缩文件。
5.根据权利要求1所述的Golang语言下静态资源打包方法,其特征在于,所述转化各中间状态文件,打包生成最终执行文件,具体包括:
利用go build工具,编译各中间状态文件,从而打包生成最终执行文件。
6.一种Golang语言下静态资源打包装置,其特征在于,所述方法包括:
压缩单元,用于压缩存放有静态资源的文件夹,得到至少一个原压缩文件;
转化单元,用于将各原压缩文件转化为对应的Golang压缩文件;
编译单元,用于基于多线程工作模式,将每个Golang压缩文件编译成对应的中间状态文件;
生成单元,用于转化各中间状态文件,打包生成最终执行文件。
7.根据权利要求6所述的Golang语言下静态资源打包装置,其特征在于,所述压缩单元,具体用于:
将待压缩的静态资源文件存放至文件夹;
压缩文件夹得到静态压缩文件;
将大小大于预设字节数的静态压缩文件切割生成多个原压缩文件;每个原压缩文件的大小都小于预设字节数。
8.根据权利要求7所述的Golang语言下静态资源打包装置,其特征在于,所述压缩单元,还用于:
将大小小于等于预设字节数的静态压缩文件作为对应的原压缩文件。
9.根据权利要求6所述的Golang语言下静态资源打包装置,其特征在于,所述转化单元,具体用于:
将各原压缩文件转换为对应的Golang源代码文件;所述Golang源代码文件中,静态资源被转化为十六进制形式;
针对每个Golang源代码文件,将其中十六进制形式静态资源的各“\x”字符串删除,得到对应的Golang压缩文件。
10.根据权利要求6所述的Golang语言下静态资源打包装置,其特征在于,所述生成单元,具体用于:
利用go build工具,编译各中间状态文件,从而打包生成最终执行文件。
CN202010289744.5A 2020-04-14 2020-04-14 Golang语言下静态资源打包方法及装置 Pending CN111580800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010289744.5A CN111580800A (zh) 2020-04-14 2020-04-14 Golang语言下静态资源打包方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010289744.5A CN111580800A (zh) 2020-04-14 2020-04-14 Golang语言下静态资源打包方法及装置

Publications (1)

Publication Number Publication Date
CN111580800A true CN111580800A (zh) 2020-08-25

Family

ID=72122642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010289744.5A Pending CN111580800A (zh) 2020-04-14 2020-04-14 Golang语言下静态资源打包方法及装置

Country Status (1)

Country Link
CN (1) CN111580800A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150274924A1 (en) * 2014-04-01 2015-10-01 Council Of Scientific & Industrial Research Electrostatic dissipative foams and process for the preparation thereof
CN107632920A (zh) * 2017-09-16 2018-01-26 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控方法
CN109564599A (zh) * 2016-03-31 2019-04-02 克劳斯公司 用于创建和执行数据驱动法律合同的系统和方法
CN109656617A (zh) * 2018-11-30 2019-04-19 武汉烽火信息集成技术有限公司 一种Web Service前端部署方法、存储介质、电子设备及系统
CN110636111A (zh) * 2019-08-22 2019-12-31 北京达佳互联信息技术有限公司 资源打包方法、装置、电子设备及存储介质
CN110837359A (zh) * 2019-11-06 2020-02-25 北京小狗智能机器人技术有限公司 一种以GOLANG语言实现的MVC Web框架

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150274924A1 (en) * 2014-04-01 2015-10-01 Council Of Scientific & Industrial Research Electrostatic dissipative foams and process for the preparation thereof
CN109564599A (zh) * 2016-03-31 2019-04-02 克劳斯公司 用于创建和执行数据驱动法律合同的系统和方法
CN107632920A (zh) * 2017-09-16 2018-01-26 广西电网有限责任公司电力科学研究院 一种输变电设备监测装置深度监控方法
CN109656617A (zh) * 2018-11-30 2019-04-19 武汉烽火信息集成技术有限公司 一种Web Service前端部署方法、存储介质、电子设备及系统
CN110636111A (zh) * 2019-08-22 2019-12-31 北京达佳互联信息技术有限公司 资源打包方法、装置、电子设备及存储介质
CN110837359A (zh) * 2019-11-06 2020-02-25 北京小狗智能机器人技术有限公司 一种以GOLANG语言实现的MVC Web框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李祥生等: "《Turbo Assembler汇编大全程序设计技巧 上》", 中国科学院希望高级电脑技术公司 , pages: 54 - 56 *

Similar Documents

Publication Publication Date Title
US20130111451A1 (en) Program Log Record Optimization
US8756407B2 (en) Configuration rule prototyping tool
CN111176717B (zh) 生成安装包的方法、装置及电子设备
JP6479184B2 (ja) コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置
EP1717719A1 (en) Application conversion of source data
CN108595187A (zh) 安卓安装包集成软件开发工具包的法、装置及存储介质
CN108052327A (zh) 一种内核模块编译、加载方法及装置
CN116627429B (zh) 一种汇编代码生成方法、装置及电子设备和存储介质
CN112148263B (zh) 前端标准框架及其生成方法、装置、设备及存储介质
CN111580800A (zh) Golang语言下静态资源打包方法及装置
CN112667342A (zh) 用于继电保护装置可视化逻辑编辑的脚本驱动方法及系统
CN112765112A (zh) 一种安装包打包和解包方法
CN114816772B (zh) 基于兼容层运行的应用的排错方法、排错系统及计算设备
CN111352641A (zh) 借助批处理的自动打包方法、装置、计算机设备及存储介质
CN111984591A (zh) 文件存储、读取方法、装置、设备及计算机可读存储介质
CN110489121B (zh) 一种皮肤包文件的生成方法及系统
CN112953721B (zh) 一种ipa文件的解析方法、装置、设备及存储介质
CN111427756B (zh) 对单个硬盘进行混合压力测试的方法、系统、设备及介质
CN114416057A (zh) 项目代码打包方法、装置、终端设备及存储介质
CN113934748A (zh) 混合型sql脚本文件生成方法、执行方法及装置
CN111273940B (zh) 将程序文件上传至代码仓库的方法及装置
CN113282284A (zh) 一种适配多定制化项目的打包方法及打包系统
CN113094086A (zh) 组件集成方法、装置、计算机可读存储介质及电子设备
JP6097118B2 (ja) プログラム変換装置、プログラム実行装置、プログラム変換方法および変換プログラム
CN111273944B (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
TA01 Transfer of patent application right

Effective date of registration: 20230419

Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193

Applicant after: Sina Technology (China) Co.,Ltd.

Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193

Applicant before: Sina.com Technology (China) Co.,Ltd.

TA01 Transfer of patent application right