CN105843886A - 一种基于多线程的电网离线模型数据查询方法 - Google Patents

一种基于多线程的电网离线模型数据查询方法 Download PDF

Info

Publication number
CN105843886A
CN105843886A CN201610162138.0A CN201610162138A CN105843886A CN 105843886 A CN105843886 A CN 105843886A CN 201610162138 A CN201610162138 A CN 201610162138A CN 105843886 A CN105843886 A CN 105843886A
Authority
CN
China
Prior art keywords
thread
task
model data
threads
electrical network
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
CN201610162138.0A
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.)
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
State Grid Sichuan Electric Power Co Ltd
Nari Technology Co Ltd
NARI Nanjing Control System Co Ltd
Nanjing NARI Group Corp
Original Assignee
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
State Grid Sichuan Electric Power Co Ltd
Nari Technology Co Ltd
NARI Nanjing Control System 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 State Grid Corp of China SGCC, State Grid Shanxi Electric Power Co Ltd, State Grid Sichuan Electric Power Co Ltd, Nari Technology Co Ltd, NARI Nanjing Control System Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201610162138.0A priority Critical patent/CN105843886A/zh
Publication of CN105843886A publication Critical patent/CN105843886A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多线程的电网离线模型数据查询方法,根据用户发出的电网离线模型数据查询请求,首先需要获取此次查询数据的总记录个数,然后获取设置好的记录个数基数值,并按照任务切分算法将查询任务进行切分,并将子任务放入任务队列交由线程池进行处理。本发明的方法可以大大缩短数据查询的时间,缓解了对数据进行处理和展示的时间紧张问题,极大地提高了电网模型数据的管理水平,使电网调度运行人员能够从全局的角度准确认知电网的运行状态及趋势,可以显著提升电网调度驾驭大电网的能力,并取得显著的安全效益。

Description

一种基于多线程的电网离线模型数据查询方法
技术领域
本发明涉及一种基于多线程的电网离线模型数据查询方法,属于电网调度自动化领域。
背景技术
随着电网通用模型描述规范(CIM/E)和电力系统图形描述规范(CIM/G)的广泛应用,电网调度、配网、变电站和电力设计院等部门和单位对离线环境下基于统一标准的模型和图形生成、维护的需求越来越强烈。对电网离线模型数据进行管理分析可以使电网调度运行人员能够从全局的角度准确认知电网的运行状态及趋势,可以显著提升电网调度驾驭大电网的能力,并取得显著的安全效益。因此,需要开展离线环境下模型和图形的快速存储和检索技术的研究,开发相应软件以便图模的维护能够脱离调度控制系统独立运行,以提升电网图模的标准化水平。
发明内容
本发明的目的在于在电网离线模型数据量较大的情况下,采用多线程的方法满足电网调度运行人员快速获得查询结果的需求,为电网调度运行人员提供良好的数据查询体验。
为达到上述目的,本发明采用的技术方案如下:
一种基于多线程的电网离线模型数据查询方法,包含以下步骤:
1)用户发出对电网离线模型数据的查询请求,获取此次查询数据的总记录个数,获取设置好的记录个数基数值;
2)按照任务切分算法将查询任务进行切分,得到若干个子任务,并将子任务放入任务队列交由线程池进行处理;
3)配置线程个数的初始值并创建线程池;
4)线程池处理各个子任务,并在子任务处理过程中实时监视各个线程和任务队列的状态。
前述的步骤1)中,所述对电网离线模型数据的查询只涉及对数据文件的读操作。
前述的步骤2)中,任务切分算法为:
子任务数量=(查询数据的总记录个数+记录个数基数值-1)/ 记录个数基数值,计算结果取整数。
前述的线程池动态配置线程个数,根据电网离线模型数据量的大小和CPU核数自动计算出需要的线程个数,线程个数计算方法为:
线程个数=min[3/5CPU核数,子任务数量] ,
当线程池中的线程个数达到3/5CPU核数,而任务队列中的任务仍有堆积时,则线程池以单个递增的方式增加创建线程,直至满足任务处理的需要。
前述的线程个数的最大值不超过CPU核数。
前述的步骤4)线程池处理各个子任务的过程为:首先读取线程个数的初始值,将线程个数的初始值作为线程池的初始大小,线程池自行判断各个线程的状态是否处于空闲,空闲线程循环从任务队列中提取子任务进行处理,直至任务队列为空,最后将创建的所有线程销毁;所述空闲线程是指当一个线程执行完任务后即被标记为空闲线程。
前述的当任务队列中的子任务数量远超过线程个数而出现任务堆积的情况时,线程池则会增加创建线程;当空闲线程过多时,线程池则会销毁部分线程。
前述的子任务之间互相独立,所述各个线程执行独立的任务,各个线程之间内存完全独立,不需要加线程锁。
本发明所达到的有益效果是:
本发明方法通过动态配置线程个数,并应用线程池技术来管理多线程,大大减少了多线程创建和销毁所需要的时间和系统资源,可以有效的缩短数据查询时间,从而为后续的数据处理节约出更多的时间,尽快的将数据查询结果展现出来,为用户提供更好的查询体验。
附图说明
图1为本发明的基于多线程的电网离线模型数据查询方法的总流程图;
图2 为任务切分流程图;
图3 为线程池处理任务流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,本发明的基于多线程的电网离线模型数据查询方法包括以下步骤:
1)按照本发明实现的应用程序在接收到用户发出的查询请求后,首先需要获取此次查询数据的总记录个数n,然后获取设置好的记录个数基数值m。对电网离线模型数据的查询只涉及到对数据文件的读操作。
2)按照任务切分算法将查询任务进行切分,得到若干个子任务,并将子任务放入任务队列交由线程池进行处理。切分后的子任务数量与线程池的线程个数之间存在着线性增长关系,直接影响着线程个数的增减,如图2所示任务切分过程为:获取查询数据的总记录个数n和记录个数基数值m,需要按照任务切分算法将查询任务进行切分,并将切分后的子任务放入任务队列等待处理。本发明的任务切分算法为:子任务数量=(n+m-1)/m,计算结果取整数。举例说明,如设置数据记录个数基数值为10万,当查询总记录个数为115万条时,按照数学运算表达式(n+m-1)/m进行任务切分,子任务数量为12个。
3)配置线程个数的初始值并创建线程池;线程池可动态配置线程个数,即根据电网离线模型数据量的大小和系统资源可自动计算出需要的线程个数,系统资源主要是CPU核数。本发明的线程个数计算方法为:线程个数=min[3/5CPU核数,子任务数量]。当线程池中的线程个数达到3/5CPU核数,而任务队列中的任务仍有堆积时,则线程池以单个递增的方式增加创建线程,直至满足任务处理的需要。在任何时候线程个数的最大值不应超过CPU核数。综合该方法的应用场景及工程经验,需要配置一个关于线程个数的初始值thread_num,此值即为线程池的初始大小。
4)应用线程池技术对多线程进行管理。线程池作为多线程的管理者,线程池处理各个子任务,并在任务处理过程中实时监视各个线程和任务队列的状态。如图3所示,线程池处理任务过程为:首先读取线程个数的初始值thread_num,将线程个数的初始值作为线程池的初始大小。线程池自行判断各个线程的状态是否处于空闲,空闲线程循环从任务队列中提取子任务进行处理,直至任务队列为空,最后将创建的所有线程销毁。当一个线程执行完任务后即被标记为空闲线程,可以由线程池再次分配任务使用。线程池中的线程个数并不固定,当任务队列中的子任务数量远超过线程个数而出现任务堆积的情况时,线程池则会增加创建线程。当空闲线程过多时,为了避免资源浪费,线程池则会销毁部分线程,直至所有任务执行完毕,最后将所有线程销毁。所有线程的创建、使用和销毁均有线程池进行管理。利用线程池来管理多线程,可以实现线程的重复利用,大大减少了线程的创建和销毁时间。
上述查询任务切分后的子任务之间互相独立,各个线程执行独立的任务,不需要交互和消息传递,各个线程之间内存完全独立,所以不需要加锁对线程进行管理。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种基于多线程的电网离线模型数据查询方法,其特征在于,包含以下步骤:
1)用户发出对电网离线模型数据的查询请求,获取此次查询数据的总记录个数,获取设置好的记录个数基数值;
2)按照任务切分算法将查询任务进行切分,得到若干个子任务,并将子任务放入任务队列交由线程池进行处理;
3)配置线程个数的初始值并创建线程池;
4)线程池处理各个子任务,并在子任务处理过程中实时监视各个线程和任务队列的状态。
2.根据权利要求1所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述步骤1)中,所述对电网离线模型数据的查询只涉及对数据文件的读操作。
3.根据权利要求1所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述步骤2)中,任务切分算法为:
子任务数量=(查询数据的总记录个数+记录个数基数值-1)/ 记录个数基数值,计算结果取整数。
4.根据权利要求1所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述线程池动态配置线程个数,根据电网离线模型数据量的大小和CPU核数自动计算出需要的线程个数,线程个数计算方法为:
线程个数=min[3/5CPU核数,子任务数量] ,
当线程池中的线程个数达到3/5CPU核数,而任务队列中的任务仍有堆积时,则线程池以单个递增的方式增加创建线程,直至满足任务处理的需要。
5.根据权利要求4所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述线程个数的最大值不超过CPU核数。
6.根据权利要求1所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述步骤4)线程池处理各个子任务的过程为:首先读取线程个数的初始值,将线程个数的初始值作为线程池的初始大小,线程池自行判断各个线程的状态是否处于空闲,空闲线程循环从任务队列中提取子任务进行处理,直至任务队列为空,最后将创建的所有线程销毁;所述空闲线程是指当一个线程执行完任务后即被标记为空闲线程。
7.根据权利要求6所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,当任务队列中的子任务数量远超过线程个数而出现任务堆积的情况时,线程池则会增加创建线程;当空闲线程过多时,线程池则会销毁部分线程。
8.根据权利要求1所述的一种基于多线程的电网离线模型数据查询方法,其特征在于,所述子任务之间互相独立,所述各个线程执行独立的任务,各个线程之间内存完全独立,不需要加线程锁。
CN201610162138.0A 2016-03-21 2016-03-21 一种基于多线程的电网离线模型数据查询方法 Pending CN105843886A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610162138.0A CN105843886A (zh) 2016-03-21 2016-03-21 一种基于多线程的电网离线模型数据查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610162138.0A CN105843886A (zh) 2016-03-21 2016-03-21 一种基于多线程的电网离线模型数据查询方法

Publications (1)

Publication Number Publication Date
CN105843886A true CN105843886A (zh) 2016-08-10

Family

ID=56587699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610162138.0A Pending CN105843886A (zh) 2016-03-21 2016-03-21 一种基于多线程的电网离线模型数据查询方法

Country Status (1)

Country Link
CN (1) CN105843886A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108492211A (zh) * 2018-04-04 2018-09-04 北京科东电力控制系统有限责任公司 应用于电力市场业务平台的计算方法及装置
CN109308214A (zh) * 2017-07-27 2019-02-05 北京京东尚科信息技术有限公司 数据任务处理方法和系统
CN109684064A (zh) * 2018-12-26 2019-04-26 亚信科技(中国)有限公司 一种任务调度方法及任务调度设备
CN110222075A (zh) * 2019-04-25 2019-09-10 视联动力信息技术股份有限公司 一种响应数据查询的方法、视联网系统以及mserver系统
CN110580188A (zh) * 2019-09-05 2019-12-17 珠海格力电器股份有限公司 一种多线程配网方法及存储介质
CN112800318A (zh) * 2021-04-14 2021-05-14 统信软件技术有限公司 一种邮件搜索方法及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN104376055A (zh) * 2014-11-04 2015-02-25 国电南瑞科技股份有限公司 一种基于分片技术的大模型数据比较方法
CN105260374A (zh) * 2015-07-17 2016-01-20 中国科学院计算技术研究所 异步流水线式的图查询方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN104376055A (zh) * 2014-11-04 2015-02-25 国电南瑞科技股份有限公司 一种基于分片技术的大模型数据比较方法
CN105260374A (zh) * 2015-07-17 2016-01-20 中国科学院计算技术研究所 异步流水线式的图查询方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308214A (zh) * 2017-07-27 2019-02-05 北京京东尚科信息技术有限公司 数据任务处理方法和系统
CN108492211A (zh) * 2018-04-04 2018-09-04 北京科东电力控制系统有限责任公司 应用于电力市场业务平台的计算方法及装置
CN109684064A (zh) * 2018-12-26 2019-04-26 亚信科技(中国)有限公司 一种任务调度方法及任务调度设备
CN110222075A (zh) * 2019-04-25 2019-09-10 视联动力信息技术股份有限公司 一种响应数据查询的方法、视联网系统以及mserver系统
CN110222075B (zh) * 2019-04-25 2021-11-19 视联动力信息技术股份有限公司 一种响应数据查询的方法、视联网系统以及mserver系统
CN110580188A (zh) * 2019-09-05 2019-12-17 珠海格力电器股份有限公司 一种多线程配网方法及存储介质
CN110580188B (zh) * 2019-09-05 2023-09-26 珠海格力电器股份有限公司 一种多线程配网方法及存储介质
CN112800318A (zh) * 2021-04-14 2021-05-14 统信软件技术有限公司 一种邮件搜索方法及计算设备
CN113343070A (zh) * 2021-04-14 2021-09-03 统信软件技术有限公司 一种邮件搜索方法及计算设备

Similar Documents

Publication Publication Date Title
CN105843886A (zh) 一种基于多线程的电网离线模型数据查询方法
CN108632365B (zh) 服务资源调整方法、相关装置和设备
US10474504B2 (en) Distributed node intra-group task scheduling method and system
CN107122857B (zh) 基于多智能体的车间多目标协同优化调度方法
CN104252390A (zh) 资源调度方法、装置和系统
CN104391749A (zh) 一种资源分配方法及装置
CN111597043B (zh) 一种全场景边缘计算方法、装置及系统
CN112559182B (zh) 资源分配方法、装置、设备及存储介质
CN104750549A (zh) 计算任务处理装置、方法及系统
Liu et al. A survey on virtual machine scheduling in cloud computing
CN104077189A (zh) 一种用于资源分配的方法和装置
CN105573827A (zh) 一种多机并行处理方法及装置
CN104363282A (zh) 一种云计算资源调度方法及装置
CN111459641A (zh) 一种跨机房的任务调度和任务处理的方法及装置
CN107807854A (zh) 一种自动调度节点机的方法及渲染任务处理方法
CN115543624A (zh) 异构算力编排调度方法、系统、设备及存储介质
CN102043676B (zh) 虚拟化数据中心调度方法及系统
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN104468710A (zh) 一种混合大数据处理系统及处理方法
CN107197013B (zh) 一种增强云计算环境节能系统
CN105550025A (zh) 分布式基础设施即服务(IaaS)调度方法及系统
CN116402318B (zh) 面向配电网的多级算力资源分配方法、装置及网络架构
CN104501848A (zh) 一种变电设备的数据接入方法及系统
Janpan et al. A virtual machine consolidation framework for CloudStack platforms
CN103973784A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170208

Address after: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Applicant after: NARI Technology Development Co., Ltd.

Applicant after: State Grid Corporation of China

Applicant after: STATE GRID SHANXI ELECTRIC POWER CO., LTD.

Applicant after: State Grid Sichuan Electric Power Corporation

Applicant after: SGCC NARI Nanjing Control System Co., Ltd.

Applicant after: Nanjing Nari Co., Ltd.

Address before: High road high tech Development Zone Nanjing city Jiangsu province 210061 No. 20

Applicant before: NARI Technology Development Co., Ltd.

Applicant before: State Grid Corporation of China

Applicant before: STATE GRID SHANXI ELECTRIC POWER CO., LTD.

Applicant before: State Grid Sichuan Electric Power Corporation

Applicant before: SGCC NARI Nanjing Control System Co., Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160810