CN103218360A - 工业实时数据库采用内存池技术实现动态内存管理的方法 - Google Patents

工业实时数据库采用内存池技术实现动态内存管理的方法 Download PDF

Info

Publication number
CN103218360A
CN103218360A CN2012100166474A CN201210016647A CN103218360A CN 103218360 A CN103218360 A CN 103218360A CN 2012100166474 A CN2012100166474 A CN 2012100166474A CN 201210016647 A CN201210016647 A CN 201210016647A CN 103218360 A CN103218360 A CN 103218360A
Authority
CN
China
Prior art keywords
memory
memory pool
task
industrial real
time data
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
Application number
CN2012100166474A
Other languages
English (en)
Other versions
CN103218360B (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.)
China Petroleum Longhui Automation Engineering Co., Ltd.
China National Petroleum Corp
China Petroleum Pipeline Engineering Corp
Original Assignee
CHINA PETROLEUM LONGHUI AUTOMATION ENGINEERING Co Ltd
China National Petroleum Corp
China Petroleum Pipeline Bureau 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 CHINA PETROLEUM LONGHUI AUTOMATION ENGINEERING Co Ltd, China National Petroleum Corp, China Petroleum Pipeline Bureau Co Ltd filed Critical CHINA PETROLEUM LONGHUI AUTOMATION ENGINEERING Co Ltd
Priority to CN201210016647.4A priority Critical patent/CN103218360B/zh
Publication of CN103218360A publication Critical patent/CN103218360A/zh
Application granted granted Critical
Publication of CN103218360B publication Critical patent/CN103218360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是一种工业实时数据库采用内存池技术实现动态内存管理的方法。其步骤为:1)通过对工业实时数据库典型应用场景、功能、运行模式等进行分析,合理规划任务以及内存使用情况;2)对每个任务创建一个或多个内存池,生成内存池句柄作为参数传递给后续处理模块,并根据该任务的功能,预先分配一定的内存大小;3)在任务运行过程中,根据需要使用内存池进行需要分配和释放,对于返回参数或模块之间传递的数据,不用释放,直接在内存池中分配并赋值返回给调用方;4)当任务完成后,统一销毁内存池,在内存池中分配的内存一次性释放。本发明能提高工业实时数据库动态内存管理性能、运行效率以及简化动态内存使用方法。

Description

工业实时数据库采用内存池技术实现动态内存管理的方法
技术领域
本发明是一种工业实时数据库采用内存池技术实现动态内存管理的方法。涉及信息的存储、数据的识别和控制技术领域。
背景技术
工业实时数据库为大型SCADA系统中的核心组件,一般应用于大型控制中心,对容量、吞吐量、并发性和实时性等性能指标有苛刻的要求,例如:北京油气调控中心,预计系统容量超过50万个信号量,每秒处理为10万以上事件,100个左右的客户端并发访问。这样的系统在运行时,涉及频繁的大小不等的内存分配释放的,采用C或C++语言开发,通常是调用C运行库的内存管理函数。这样做带来的问题有:C运行库的内存管理函数是整个进程共用,多线程并发访问对性能有较大影响;进程访问的内存分配释放,在测试中发现,其性能受系统其它运行程序影响较大,在要求实时性比较高的应用中,这种不确定性给性能优化带来一定困难;工业实时数据库通常是运行于后台的服务程序,需要高效的传递复杂数据类型,在网络数据流和内存数据结构之间转化必然涉及内存分配释放,这要求客户端和服务端对内存有统一的处理方式;C运行库要求程序开发人员成对进行分配和释放,给开发人员带来较大负担,很容易造成内存泄露,而且这样的缺陷极不容易发现。
如错误!未找到引用源。为工业实时数据库体系结构,实时存储引擎是一个高速的嵌入式数据管理引擎,存放的所有信息数据,支持整个系统运行。其重要的数据处理流程是,数据采集器把一批(如50个)采集的信号量发送给工业实时数据库,工业实时数据库在内存或磁盘上检索这些信号量的配置信息,根据配置信息处理这些信号量,如报警、计算,处理完成后保存数据,并把数据推送给需要的客户端。
从逻辑上讲,工业实时数据库按“点”(信号量)组织数据,由于采用实时存储引擎存储全局信息,任务之间的数据关联性比较小,调用的上下文关系简单,因此比较容易把工业实时数据库处理逻辑划分为相对独立的“任务”,以这样任务考虑和优化动态内存的管理方法是非常合适的。同样,工业实时数据库还有其它处理任务,如客户端查询,对配置信息的修改,后台的统计分析,都适用于这样的特点。
目前,一般编程方法中使用内存分配和释放不足
CN101799773A公开了一种并行计算的内存访问方法;CN102053872A公开了一种终端交易性能测试方法;US2009/0006502A1公开了一种基于特定应用的堆管理方法。它们都没有公开对每个任务创建一个或多个缓冲池并在完成任务后统一销毁内存池的技术,当然也就没有由此带来的提高服务程序运行效率、简化动态内存变成负担的技术效果。
发明内容
本发明的目的是发明一种能提高工业实时数据库动态内存管理性能、运行效率以及简化动态内存使用方法的工业实时数据库采用内存池技术实现动态内存管理的方法。
在大型工业实时数据库系统中使用内存池技术管理和组织动态内存的方法,通过把工业实时数据库的处理逻辑或业务划分为相对独立任务,每个任务使用一个或多个内存池用于管理该任务中的内存分配,实现内存多次分配,统一释放。
本发明在分析工业实时数据库特点的基础,为了克服采用一般编程方法中使用内存分配和释放的不足,提出采用内存池管理动态内存的方法,可以大大提高服务程序的运行效率,简化开发人员动态内存编程的负担,并且具有一定普遍性。
工业实时数据库体系结构如图1所示,在网络调用及任务调度层实现网络调用,在实时报警、实时计算、订阅发布、数据下行、采集管理层实现业务逻辑处理,在实时数据关系逻辑表示层和实时数据存储管理层实现实时存储引擎。
其方法如下:
1.提出从按“任务”的角度看待工业实时数据库对动态内存的使用过程;通过对工业实时数据库典型应用场景、功能、运行模式等进行分析,合理规划任务以及内存使用情况;
2.对每个任务创建一个或多个内存池,生成内存池句柄作为参数传递给后续处理模块,并根据该任务的功能,预先分配一定的内存大小(缺省4K),以提高使用效率;
3.在任务运行过程中,根据需要使用内存池进行需要分配和释放,对于返回参数或模块之间传递的数据,可以不用释放,直接在内存池中分配并赋值返回给调用方即可;
4.当任务完成后,不需要逐一释放返回参数或传递的数据,统一销毁内存池,在内存池中分配的内存一次性释放。
具体步骤如图2所示:
1)客户端应用创建内存池;
2)发起网络调用,传入内存池句柄;
3)输入参数打包发给远程工业实时数据库,等待应答;此步与等待客户端请求均转下步;
4)接收客户端请求,创建内存池;
5)把输入参数和内存池句柄作为参数传递给业务处理模块;
6)在若干业务模块中处理客户端请求,使用内存池管理动态内存,同时在内存池分配动态内存保存输出参数;
7)内存池中的输出参数打包转化为网络字节流,回传给客户端调用;
8)后一路销毁内存池,本次请求过程使用的内存释放;另一路为收到服务器应答数据流,解包后,在内存池里分配内存保存返回参数;
9)客户端应用根据业务需要使用返回数据;
10)销毁内存池,所有远程调用使用的内存释放。
本发明指的任务是工业实时数据是完成一定功能的运行逻辑。任务可以是一次或多次网络调用,现场采集信号量的实时数据的入库,一条SQL语句的执行过程,客户端查询或数据下行,后台实时统计分析等。任务之间相对隔离,全局共享信息都由实时存储引擎维护,基本可以避免任务之间数据交叉访问的情况。任务的执行时间比较短,大概在几十毫秒到几秒的数据量级,不会长时间占用过多的内存。
本发明采用的内存池是一种非常轻量级的内存池,存在的生命周期也比较短,不必过多考虑内存空间优化的问题,因而可以采用效率极高的动态内存分配算法,并且内存池本身很容易创建和销毁;内存池创建时预先向系统申请一块大小适当的内存块(如4K),当内存不够用时,内存池自动向系统申请一块较大的内存块补充到内存池中进行管理;在程序运行过程中,当需要动态内存时,内存池在内部分配一块可用的空间给任务,程序不需要逐一释放在内存池中分配的内存,在任务完成后,销毁内存池,所有分配的内存全部释放给操作系统;在程序调试阶段,很容易跟踪到内存使用情况,为系统优化提供重要依据。
在任务的执行过程用内存池管理动态内存优势在于:在一个局部范围内根据程序执行的功能最大程度的优化动态内存管理效率;把程序运行过程,把大小不等的内存请求转化为大小适当,并且按操作系统内存页面对齐的内存块请求和释放;通常任务都是在一个线程中完成,避免了内存使用过程中的并发操作,不同任务之间使用的内存是相互隔离的;开发人员不必小心翼翼处理内存分配和释放,可以根据需要在任务过程中只分配,不释放,在任务完成后销毁内存池,所有分配的内存都被释放;在远程调用过程中,可以用于分配复杂的数据类型,规范网络调用的数据传输,为客户端开发人员提供逻辑上一致的内存管理视图。
如错误!未找到引用源。所示为客户端程序在调用工业实时数据库功能时,内存池应用的一个示例,在远程调用过程中,客户端和服务端各自创建了一个内存池,用于处理本次调用请求的“任务”。可以看到,在这种环境下应用内存池,巧妙的处理了输入输出参数传递时动态内存的分配和释放,无论在客户端还是工业实时数据库服务端,内存池的创建和销毁是由网络调度层完成,实际业务逻辑开发人员可以不关心参数的传递和内存池创建销毁等细节,这对于简化开发工作,提高代码质量有极大的帮助。
附图说明
图1工业实时数据库体系结构图
图2内存池应用图
具体实施方式
实施例.本方法在某油气管道SCADA系统软件国产化项目中,作为该项目验证关键技术之一,进行了大量的实验和测试,并且作为核心技术固化到系统整个架构之中,经过测试,性能有明显的提升,同时该发明很大程度简化动态内存使用,提供代码开发效率。
如下步骤:
1.提出从按“任务”的角度看待工业实时数据库对动态内存的使用过程;通过对工业实时数据库典型应用场景、功能、运行模式等进行分析,合理规划任务以及内存使用情况;
2.对每个任务创建一个或多个内存池,生成内存池句柄作为参数传递给后续处理模块,并根据该任务的功能,预先分配一定的内存大小(缺省4K),以提高使用效率;
3.在任务运行过程中,根据需要使用内存池进行需要分配和释放,对于返回参数或模块之间传递的数据,可以不用释放,直接在内存池中分配并赋值返回给调用方即可;
4.当任务完成后,不需要逐一释放返回参数或传递的数据,统一销毁内存池,在内存池中分配的内存一次性释放。
以下给出两组比较有代表的测试对比。测试机器为工作站,4核CPU(IntelCore 2 Q66002.4GHz),2G内存,Windows Server 2003企业版。
性能对比1,单纯内存分配性能比较。
定义2000个指针的数组,依次分配从1个字节到10K字节的内存,在下一次循环过程中释放再分配,共计循环10000次,统计时间,测试10次取平均值。
采用内存池技术用时平均3.5秒。
使用CRT运行库用时平均24.7秒。
性能对比2,模拟工业实时数据库数据处理性能比较。
模拟测试工业实时数据库处理实时数据(信号量)的流程,包括查询该点的配置信息,逻辑处理,数据入库的过程。调用开发测试程序直接调用工业实时数据库接口。其中配置信息查询和实时数据入库涉及较多动态内存分配,尤其对于复杂不定长数据类型的处理。
在测试场景中,分别定义2个表,其中一个是含有20个复杂数据类型字段的表(实际上,工程应用中不会用到很多复杂数据类型),模拟配置信息,另一个是定义4个字段的表,模拟实时数据,分别生成100万条记录。在这两个表上开发测试程序,用于模拟实时数据库对数据的处理过程。测试结果为:
采用内存池技术,平均每秒处理7.0万条实时数据。
采用CRT内存分配,平均每秒处理5.8万条实时数据。
可以看出,在测试1中,采用内存池技术,比全局的CRT内存管理效率高了一个数量级;测试2中,在实时数据引擎的性能优化到极致的情况下,采用内存池优化处理过程动态内存的使用,又使得性能提高20%左右。

Claims (6)

1.一种工业实时数据库采用内存池技术实现动态内存管理的方法,其特征在于步骤为:
1)提出从按“任务”的角度看待工业实时数据库对动态内存的使用过程;通过对工业实时数据库典型应用场景、功能、运行模式等进行分析,合理规划任务以及内存使用情况;
2)对每个任务创建一个或多个内存池,生成内存池句柄作为参数传递给后续处理模块,并根据该任务的功能,预先分配一定的内存大小,以提高使用效率;
3)在任务运行过程中,根据需要使用内存池进行需要分配和释放,对于返回参数或模块之间传递的数据,可以不用释放,直接在内存池中分配并赋值返回给调用方即可;
4)当任务完成后,不需要逐一释放返回参数或传递的数据,统一销毁内存池,在内存池中分配的内存一次性释放。
2.根据权利要求1所述的工业实时数据库采用内存池技术实现动态内存管理的方法,其特征在于具体步骤为:
1)客户端应用创建内存池;
2)发起网络吊用,传入内存池句柄;
3)输入参数打包发给远程工业实时数据库,等待应答;此步与等待客户端请求均转下步;
4)接收客户端请求,创建内存池;
5)把输入参数和内存池句柄作为参数传递给业务处理模块;
6)在若干业务模块中处理客户端请求,使用内存池管理动态内存,同时在内存池分配动态内存保存输出参数;
7)内存池中的输出参数打包转化为网络字节流,回传给客户端调用;
8)后一路销毁内存池,本次请求过程使用的内存释放;另一路为收到服务器应答数据流,解包后,在内存池里分配内存保存返回参数;
9)客户端应用根据业务需要使用返回数据;
10)销毁内存池,所有远程调用使用的内存释放。
3.根据权利要求1或2所述的工业实时数据库采用内存池技术实现动态内存管理的方法,其特征在于所述内存池是一种轻量级的内存池。
4.根据权利要求1或2所述的工业实时数据库采用内存池技术实现动态内存管理的方法,其特征在于在一个任务执行过程中进行动态内存优化。
5.根据权利要求1或2所述的一种工业实时数据库中采用内存池技术优化动态内存的方法,其特征在于:任务执行过程中,使用属于该任务内存池分配释放内存,返回数据和模块之间传递的数据,只分配不释放。
6.根据权利要求1或2所述的一种工业实时数据库中采用内存池技术优化动态内存的方法,其特征在于:一个任务结束后,一次性释放在执行过程分配的内存。
CN201210016647.4A 2012-01-18 2012-01-18 工业实时数据库采用内存池技术实现动态内存管理的方法 Active CN103218360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210016647.4A CN103218360B (zh) 2012-01-18 2012-01-18 工业实时数据库采用内存池技术实现动态内存管理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210016647.4A CN103218360B (zh) 2012-01-18 2012-01-18 工业实时数据库采用内存池技术实现动态内存管理的方法

Publications (2)

Publication Number Publication Date
CN103218360A true CN103218360A (zh) 2013-07-24
CN103218360B CN103218360B (zh) 2016-08-03

Family

ID=48816163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210016647.4A Active CN103218360B (zh) 2012-01-18 2012-01-18 工业实时数据库采用内存池技术实现动态内存管理的方法

Country Status (1)

Country Link
CN (1) CN103218360B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488577A (zh) * 2013-09-22 2014-01-01 北京航空航天大学 一种基于用途编号的用户程序内存分配及批量回收的方法及装置
CN103914337A (zh) * 2014-03-24 2014-07-09 小米科技有限责任公司 服务调用方法、装置及终端
EP2963558A1 (en) * 2014-06-26 2016-01-06 Wipro Limited Systems and methods for performing memory management in a distributed environment
CN106293885A (zh) * 2015-05-20 2017-01-04 联芯科技有限公司 任务创建、挂起和恢复方法
CN107220127A (zh) * 2017-05-31 2017-09-29 合肥东芯通信股份有限公司 内存管理方法、内存申请和释放方法及装置
CN107609159A (zh) * 2017-09-26 2018-01-19 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN112817838A (zh) * 2019-11-18 2021-05-18 迈普通信技术股份有限公司 内存泄漏信息处理方法、装置、电子设备及存储介质
CN113806076A (zh) * 2021-08-13 2021-12-17 苏州浪潮智能科技有限公司 一种四控环境内存分配的方法、装置、设备及可读介质
CN107783818B (zh) * 2017-10-13 2021-12-24 北京百度网讯科技有限公司 深度学习任务处理方法、装置、设备及存储介质
CN113849309A (zh) * 2021-09-26 2021-12-28 北京元年科技股份有限公司 一种业务对象的内存分配方法以及装置
CN116186142A (zh) * 2023-03-08 2023-05-30 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
US20090006502A1 (en) * 2007-06-26 2009-01-01 Microsoft Corporation Application-Specific Heap Management
CN101504617A (zh) * 2009-03-23 2009-08-12 华为技术有限公司 一种基于处理器共享内存的数据发送、接收方法及装置
CN101577716A (zh) * 2009-06-10 2009-11-11 中国科学院计算技术研究所 基于InfiniBand网络的分布式存储方法和系统
CN101799773A (zh) * 2010-04-07 2010-08-11 福州福昕软件开发有限公司 并行计算的内存访问方法
CN101872303A (zh) * 2010-06-03 2010-10-27 深圳天源迪科信息技术股份有限公司 处理Diameter协议消息的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
US20090006502A1 (en) * 2007-06-26 2009-01-01 Microsoft Corporation Application-Specific Heap Management
CN101504617A (zh) * 2009-03-23 2009-08-12 华为技术有限公司 一种基于处理器共享内存的数据发送、接收方法及装置
CN101577716A (zh) * 2009-06-10 2009-11-11 中国科学院计算技术研究所 基于InfiniBand网络的分布式存储方法和系统
CN101799773A (zh) * 2010-04-07 2010-08-11 福州福昕软件开发有限公司 并行计算的内存访问方法
CN101872303A (zh) * 2010-06-03 2010-10-27 深圳天源迪科信息技术股份有限公司 处理Diameter协议消息的方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488577A (zh) * 2013-09-22 2014-01-01 北京航空航天大学 一种基于用途编号的用户程序内存分配及批量回收的方法及装置
CN103914337A (zh) * 2014-03-24 2014-07-09 小米科技有限责任公司 服务调用方法、装置及终端
CN103914337B (zh) * 2014-03-24 2016-04-13 小米科技有限责任公司 服务调用方法、装置及终端
EP2963558A1 (en) * 2014-06-26 2016-01-06 Wipro Limited Systems and methods for performing memory management in a distributed environment
CN106293885B (zh) * 2015-05-20 2019-06-28 联芯科技有限公司 任务创建、挂起和恢复方法
CN106293885A (zh) * 2015-05-20 2017-01-04 联芯科技有限公司 任务创建、挂起和恢复方法
CN107220127B (zh) * 2017-05-31 2020-12-01 合肥东芯通信股份有限公司 内存管理方法、内存申请和释放方法及装置
CN107220127A (zh) * 2017-05-31 2017-09-29 合肥东芯通信股份有限公司 内存管理方法、内存申请和释放方法及装置
CN107609159A (zh) * 2017-09-26 2018-01-19 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN107783818B (zh) * 2017-10-13 2021-12-24 北京百度网讯科技有限公司 深度学习任务处理方法、装置、设备及存储介质
CN112817838A (zh) * 2019-11-18 2021-05-18 迈普通信技术股份有限公司 内存泄漏信息处理方法、装置、电子设备及存储介质
CN113806076A (zh) * 2021-08-13 2021-12-17 苏州浪潮智能科技有限公司 一种四控环境内存分配的方法、装置、设备及可读介质
CN113806076B (zh) * 2021-08-13 2023-08-04 苏州浪潮智能科技有限公司 一种四控环境内存分配的方法、装置、设备及可读介质
CN113849309A (zh) * 2021-09-26 2021-12-28 北京元年科技股份有限公司 一种业务对象的内存分配方法以及装置
CN113849309B (zh) * 2021-09-26 2022-09-16 北京元年科技股份有限公司 一种业务对象的内存分配方法以及装置
CN116186142A (zh) * 2023-03-08 2023-05-30 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统
CN116186142B (zh) * 2023-03-08 2023-12-22 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统

Also Published As

Publication number Publication date
CN103218360B (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
CN103218360A (zh) 工业实时数据库采用内存池技术实现动态内存管理的方法
CA2826797C (en) Methods and systems for loading data into a temporal data warehouse
CN106777101B (zh) 数据处理引擎
Wu et al. Optimizing data warehousing applications for GPUs using kernel fusion/fission
CN108470228A (zh) 财务数据稽核方法及稽核系统
CN102479225B (zh) 一种分布式数据分析和处理方法及系统
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
CN110750650A (zh) 企业知识图谱的构建方法及装置
CN101908015A (zh) 一种基于构件生成测试案例的装置及方法
CN104850635B (zh) 一种多数据源环境下数据缺失自动检查及集中监控方法
CN105677691A (zh) 巨量串流数据实时处理方法及其装置与应用系统
CN107402926A (zh) 一种查询方法以及查询设备
CN111061732A (zh) 一种基于大数据处理的报表生成方法
CN105138685A (zh) 一种面向HBase的性能测试系统
CN201435074Y (zh) 一种基于构件生成测试案例的装置
CN111552628A (zh) 一种针对图数据库及图服务接口进行分布式压测系统及方法
CN112286957A (zh) 基于结构化查询语言的bi系统的api应用方法及系统
CN107506381A (zh) 一种大数据分布式调度分析方法、系统装置及存储介质
CN104636244A (zh) 一种java+mysql+shell打造的服务器监控方法
CN105761008A (zh) 一种用于信号设备维护的智能生产管理方法
CN110879753B (zh) 基于自动化集群资源管理的gpu加速性能优化方法和系统
CN106709016B (zh) 一种基于服务总线的数据交换方法
CN112631754A (zh) 数据处理方法、装置、存储介质及电子装置
CN113094406A (zh) 一种电力营销数据治理方法以及系统
CN104461832A (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
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170214

Address after: 100007 Dongcheng District, Dongzhimen, China, North Street, No. 9 Oil Mansion, No.

Patentee after: China National Petroleum Corporation

Patentee after: China Petroleum Pipeline Bureau Engineering Co., Ltd.

Patentee after: China Petroleum Longhui Automation Engineering Co., Ltd.

Address before: 100007 Dongcheng District, Dongzhimen, China, North Street, No. 9 Oil Mansion, No.

Patentee before: China National Petroleum Corporation

Patentee before: China Petroleum and Natural Gas Pipeline Bureau

Patentee before: China Petroleum Longhui Automation Engineering Co., Ltd.