一种任务分解及并行处理方法与流程

文档序号:14175097阅读:2544来源:国知局

本发明涉及电力系统的数据处理方法,尤其指一种任务分解及并行处理方法。



背景技术:

电力系统的统一接口平台将要承接多个系统的数据发布请求,采集系统数据量不但种类繁多,数据量也十分庞大,因而目前常用的单线程的处理机制无法满足客户端高时效、高并发的数据需求。数据查询处理时间和整合时间多,处理效率低,当查询的数据量过大时,存在大文件读写异常风险,为了解决这些问题,亟需一种任务分解及并行处理方法。



技术实现要素:

本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种任务分解及并行处理方法,以达到提高处理速度,减少大文件读写异常风险的目的。为此,本发明采取以下技术方案。

一种任务分解及并行处理方法,外部系统包括配网抢修指挥平台、调度电能量系统、营销业务系统及电能质量在线监测系统,任务分解及并行处理方法的特征在于其包括以下步骤:

1)外部系统发起数据请求,用电信息采集系统统一接口服务平台验证通过后,首先对对象参数进行解析;

2)用电信息采集系统统一接口服务平台解析外部需求入参,区分按单位查询数据和非与单位相关数据;

3)用电信息采集系统统一接口服务平台进一步分析单位层级,单位层级包括市级、县级、或供电所级;

4)用电信息采集系统统一接口服务平台根据单位层级与数据需求、时间要求估算系统需要支出的性能,匹配预先配置的分解规则;对于外部请求的账号,用电信息采集系统统一接口服务平台对每一个账号配置分解规则,若该账号没有配置,则使用通用分解规则;

5)如果是市级单位,将市级单位进行单位分化,将市级单位转化为多个县级或所级单位;如果是县级单位,并且可以进行单位分化时,将县级单位转化为多个所级;

6)根据系统当前资源情况分配处理线程数量,执行数据查询和组织工作;统一平台为数据发布配置三个线程池:少量数据查询池、小单位查询池、大单位查询池,任务处理时根据各数据请求特点选择合理的线程池执行;

7)对于分解的外部需求,用电信息采集系统统一接口服务平台告知外部系统生成的文件名称,外部系统根据文件名称下载文件。

本技术方案采用数据并行处理机制的思路,其由客户端发起全省(或全市)的数据需求,并在客户端发起数据请求后,再由统一接口平台自动按市级或县级(可配置)分多个线程来并发执行任务。统一接口平台的并行处理机制主要是通过多线程实现多组数据的并发抽取和处理,将一个程序分成几个并行的任务,各个任务按不同的执行路线并行工作,独立完成其功能且互不干扰。多线程技术在加快程序响应,提高系统吞吐量和资源利用率,改善用户任务之间的通信效率,发挥多处理机硬件性能,优化整个应用系统性能等方面有举足轻重的作用。

本技术方案首先解析外部数据请求,并将外部请求按事先配置的分解规则进行分解,采用基于线程池的多线程并发处理机制,同时查询多个地区、不同类型的数据,大大减少数据查询的处理时间和整合时间,极大地提高了处理效率,同时也规避了大文件读写异常风险。满足了用电信息采集系统统一接口服务平台将面对众多的外部系统数据请求。

作为对上述技术方案的进一步完善和补充,本发明还包括以下附加技术特征。

在根据系统当前资源情况分配处理线程数量时,分为多种情况,包括市级单位查询线程分配、县级单位查询线程分配、供电所级单位查询线程分配;少量处理线程经少量数据查询池执行;小单位处理线程经小单位查询池执行、大单位处理线程经大单位查询池执行;

当为市级单位时,线程分配包括以下步骤:

11)进行规则匹配;

12)判断是否按市级查询;

13)若按市级查询时,进入大单位处理线程,

14)若不按市级查询时,将单位分化,分成多个子级单位,进入小单位处理线程;

当为县级单位时,线程分配包括以下步骤:

21)进行规则匹配;

22)判断是否按县级查询;

23)若按县级查询时,进入小单位处理线程,

24)若不按县级查询时,将单位分化,分成多个子级单位,进入小单位处理线程;

当为供电所级单位时,直接进入小单位处理线程。

数据处理灵活,进一步提高处理效率。

进一步的,当为非与单位相关数据,进入少量数据处理线程。非单位数据进入少量数据处理线程,可以有效的节约线程数,提高并行处理的能力。

进一步的,末经单位分化处理的大单位处理线程、小单位处理线程和少量数据处理线程均需要进行超过阈值判断步骤,当查询的数据量超过设定的阈值时,生成文件并返回文件名,当查询的数据量未超过设定的阈值时,直接返回查询结果。

有益效果:

(1)本技术方案可将一个线程分解为多个处理,合理利用线程池空闲资源,提高信息响应速度。

(2)多个子级单位查询,提升数据查询效率。

(3)多个文件并行处理,规避了单个大文件读写异常风险。

附图说明

图1是本发明流程图。

具体实施方式

以下结合说明书附图对本发明的技术方案做进一步的详细说明。

外部系统包括配网抢修指挥平台、调度电能量系统、营销业务系统及电能质量在线监测系统。如图1所示,本技术方案包括以下步骤:

s1外部系统发起数据请求,用电信息采集系统统一接口服务平台验证通过后,首先对对象参数进行解析;

s2用电信息采集系统统一接口服务平台解析外部需求入参,区分按单位查询数据和非与单位相关数据;

s3用电信息采集系统统一接口服务平台进一步分析单位层级,单位层级包括市级、县级、或供电所级;

s4用电信息采集系统统一接口服务平台根据单位层级与数据需求、时间要求估算系统需要支出的性能,匹配预先配置的分解规则;对于外部请求的账号,用电信息采集系统统一接口服务平台对每一个账号配置分解规则,若该账号没有配置,则使用通用分解规则;

s5如果是市级单位,将市级单位进行单位分化,将市级单位转化为多个县级、所级单位;如果是县级单位,并且可以进行单位分化时,将县级单位转化为多个所级;

s6根据系统当前资源情况分配处理线程数量,执行数据抽取和组织工作;统一平台为数据发布配置三个线程池:少量数据查询池、小单位查询池、大单位查询池,任务处理时根据各数据请求特点选择合理的线程池执行;

在根据系统当前资源情况分配处理线程数量时,分为多种情况,包括市级单位查询线程分配、县级单位查询线程分配、供电所级单位查询线程分配;少量处理线程经少量数据查询池执行;小单位处理线程经小单位查询池执行、大单位处理线程经大单位查询池执行;

a、当为市级单位时,线程分配包括以下步骤:

s611进行规则匹配;

s612判断是否按市级查询;

s613若按市级查询时,进入大单位处理线程,

s614若不按市级查询时,将单位分化,分成多个子级单位,进入小单位处理线程;

b、当为县级单位时,线程分配包括以下步骤:

s621进行规则匹配;

s622判断是否按县级查询;

s623若按县级查询时,进入小单位处理线程,

s624若不按县级查询时,将单位分化,分成多个子级单位,进入小单位处理线程;

c、当为供电所级单位时,直接进入小单位处理线程;

s7)对于分解的外部需求,用电信息采集系统统一接口服务平台告知外部系统生成的文件名称,外部系统根据文件名称下载文件。

本技术方案采用数据并行处理机制的思路,其由客户端发起全省(或全市)的数据需求,并在客户端发起数据请求后,再由统一接口平台自动按市级或县级(可配置)分多个线程来并发执行任务。统一接口平台的并行处理机制主要是通过多线程实现多组数据的并发抽取和处理,将一个程序分成几个并行的任务,各个任务按不同的执行路线并行工作,独立完成其功能且互不干扰。多线程技术在加快程序响应,提高系统吞吐量和资源利用率,改善用户任务之间的通信效率,发挥多处理机硬件性能,优化整个应用系统性能等方面有举足轻重的作用。

本技术方案首先解析外部数据请求,并将外部请求按事先配置的分解规则进行分解,采用基于线程池的多线程并发处理机制,同时抽取多个地区、不同类型的数据,大大减少数据抽取处理时间和整合时间,极大地提高了处理效率,同时也规避了大文件读写异常风险。满足了用电信息采集系统统一接口服务平台将面对众多的外部系统数据请求。

为有效的节约线程数,提高并行处理的能力。当为非与单位相关数据,进入少量数据处理线程。非单位数据进入少量数据处理线程,

为减少读写异常风险,末经单位分化处理的大单位处理线程、小单位处理线程和少量数据处理线程均需要进行超过阈值判断步骤,当查询的数据量超过设定的阈值时,生成文件并返回文件名,当查询的数据量未超过设定的阈值时,直接返回查询结果。

以上图1所示的一种任务分解及并行处理方法是本发明的具体实施例,已经体现出本发明实质性特点和进步,可根据实际的使用需要,在本发明的启示下,对其进行的等同修改,均在本方案的保护范围之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1