电力公共数据资源池数据检索应用方法研究
王瀛 刘哲甫 肖威
摘要:“十三五”期间,国家电网公司逐步推广公共数据资源池,数据检索速度逐渐成为影响公共数据资源池性能的关键因素。利用机器学习的技术,提前预判目标数据并加载到高速缓冲区,既能够提高数据检索效率,加快数据检索请求处理速度,又能提升数据中心的数据资源管理能力,从根本上解决公共数据资源池性能瓶颈。本文首先介绍电力公共数据资源池资源检索方法,然后基于机器学习详细叙述电力公共数据资源池的数据预判学习算法,最后对应用成果进行展望和分析。该应用结合多种机器学习手段能够加快数据资源池整合速度,使公共数据资源池真正成为国家电网公司应用系统的数据集中地。
关键词:数据资源池 机器学习 数据检索 应用方法
中图分类号:TM63 文献标识码:A
国家电网公司要求基于数据中心公共数据资源池,已纳管数据资源逐步支撑业务数据共享工作,现阶段省级公司已实现包括全部统推系统及自建系统的数据字典接入,并通过数据管理服务平台统一纳管。机器学习作为目前比较热门的一种技术,利用机器学习的技术,使得数据资源池可以提前分析用户需要的数据并加载到高速缓冲区中,提高数据资源池的检索效率,提高资源池的整体运转效率,加速数据资源池的推广应用。
1 公共数据资源池数据检索方法介绍
公共数据资源池存储区域主要划分为ODS缓冲区、ODS统一视图区和数据仓库区。本文中仅对数据资源池中的检索及预判功能进行阐述,其他资源池功能略过不提。
检索功能包含:数据检索请求队列、检索控制模块。检索请求队列接收各个业务系统的检索请求。检索控制模块负责调度请求以及与其他模块进行交互以便执行检索请求。
预判功能包含:预判模块、预判控制模块、预判学习模块。预判控制模块负责与其他外部模块交互,获取检索请求,通过预判模块分析结果后,提前加载相关数据至高速缓存区,提高检索速度。同时,可以将检索的最终结果输入学习模块,供学习模块进行分析学习,提高预判的准确性。
存储分为功能数据区和业务数据区,其中功能数据区的高速缓冲区保存预判数据,供检索请求进行检索;检索结果存储区存储检索后的结果,检索时的条件以及其他需要的数据,供预判模块分析学习使用。统一视图区和数据仓库区为公共数据资源池的公有模块。
数据资源检索的数据来源分为三部分,分别是高速缓冲区、统一视图区、数据仓库区。其中高速缓冲区为高速读写的区域,为检索模块专用的缓冲区。统一视图区与数据仓库区为整个数据资源池所共有的。检索优先级顺序为高速缓冲区>统一视图区>数据仓库区。由于高速缓冲区数据读取速度快,所以提高高速缓冲区的命中率,就可以提高各个业务系统在请求数据时的速度。所以利用机器学习技术,提高数据预判,预加载的准确性。
2 数据预判的学习算法
1950年,图灵提出了“图灵测试”,使得人工智能成了计算机科学领域的一个重要研究课题[1]。目前,机器学习比较经典的算法包括:逻辑回归模型、神经网络算法、决策树算法等多种算法[2]。各类算法在不同的领域中大放光彩,形成了目前各行各业热门的AI机器人。数据查询作为数据资源池最大的功能,也是使用最频繁的功能,其查询的速度快慢成了数据资源池能否顺利推广的重点之一。
2.1数据预判的学习算法
2.1.1查询数据预判学习
查询数据根据在队列中等待调度的查询请求进行分析,根據请求的关键字进行预判,然后提前加载该数据。将查询请求中的查询语句转换为词袋(Bag of Words)形式的向量,此时将不再包含请求语句中的词语顺序关系。自然语言处理中,经常使用n-gram模型。如果不考虑各个词语之间的相关性(n=1),则得到查询语句的unigram(1-gram)特征,如果提取一级关联特征(n=1,即当前词只跟前一个词相关),则得到文档的bigram(2-gram)特征[3]。
2.1.2常规数据预判学习
常规数据预判分为两部分,一部分为周期可能数据,一部分为临时可能数据。周期可能数据具有周期性,一般跟随业务高峰期发生。在高峰期间数据可能需要多次查询,一旦形成周期,就相对比较稳定。临时可能数据为各业务系统临时查询的数据,不具备稳定性。所以对于数据预判,需要结合周期数据和临时数据。
我们将采用“多描述器数据预判算法”[4],通过多个描述器,分别记录用户临时数据UTD(User Temp Data)、用户周期数据UCD(UserCycle Data)、业务系统临时数据STD(System Temp Data)、业务系统周期数据SCD(System Cycle Data),各个描述器被赋予了一定的权值,以描述该描述器在整个学习过程中所起到的影响。例如某系统业务性比较强,则可以给该系统的SCD增加权值,提高数据的稳定性;如果某系统数据性比较强,则增加UTD权值,提高数据的灵活性。
数据预判DA(Data Anticipation)由以上值确定:DA=(UTD,ωUTD,UCD,ωUCD,STD,ωSTD, SCD,ωSCD),其中ωUTD,ωUCD,ωSTD,ωSCD分别是UTD,UCD,STD,SCD的权值。可以得出该用户u(user)使用该业务系统s(system)在该时间t(time)对该数据D(Data)的可能需求概率:
2.1.3数据结果集
目前数据资源池刚刚推广,尚处于数据整合阶段,接入系统并不算太多。所以对于目前阶段,通过常规数据判断和查询数据判断,可以将数据结果集位图为B=Bust∪BQ。并且以常规数据判断为主,查询数据判断为辅。查询数据判断可以依照压力大小决定是否启用。
获得最终结果集位图B后,可以根据位图文件中记录的0/1值,加载对应的数据块。随着数据资源池的推广,接入数据资源池的系统越来越多,数据量越来越大,检索请求越来越多,会导致检索请求的调度时间越来越长,查询数据判断准确与否将比较重要,则可以将数据集以查询数据判断为主,常规数据判断为辅。
2.2数据预判的训练方法及训练集
先执行正常的查询流程,并将查询条件、查询结果、查询时间、用户、所属系统等等相关数据存储到检索结果存储区。选取典型系统,作为第一批训练系统,积累一个月数据作为初始数据集T,然后开放上述系统的预判学习功能,将初始集T的数据随机分成两部分T1和T2,其中T1占初始集T的80%,作为训练集,T2占初始集T的20%,作为验证集,以训练集T1为学习数据进行预判学习,获得预判模块V1;以验证集T2对V1进行验证,完善V1。如果能够达到预期的效果并且完全开放预测模块后,可将每次预测的结果作为学习素材进入预判学习模块进行继续学习,以便继续提高预判的成功率。可以根据效果由管理员调整预判策略、预判学习策略,达到最适合的性能。预判结果稳定后,预判模块可升级为V2,作为稳定版持续使用。
3 结束语
通过机器学习,可以提前判断出用户所需数据,从而提前加载至高速缓冲区,提高查询命中率,提高用户查询的效率。然而本文所描述的仅仅是整个数据资源池中的一部分,数据预判部分还需要与数据调度、数据存储策略、数据传输、并行加载等多个部分结合,才能成为一个整体。随着国家电网数据资源池的逐步推广应用,还可以通过多种机器学习手段进行不同的训练,并将结果集进行整合汇总,从而在提高预判准确性的同时,还可以精准预判,减少冗余数据加载,可以减少加载时间,节约存储空间,再一步提高检索效率,加快数据资源池整合速度,使数据资源池真正成为国家电网信息系统的数据集中地。
参考文献:
[1] 张润,王永滨.机器学习及其算法和发展研究[J].中国传媒大学学报(自然科学版)自然科学版,2016, 23(2):10- 18.
[2] 邴欣.机器学习在推荐系统中的应用[D].山东大学,2016.
摘要:“十三五”期间,国家电网公司逐步推广公共数据资源池,数据检索速度逐渐成为影响公共数据资源池性能的关键因素。利用机器学习的技术,提前预判目标数据并加载到高速缓冲区,既能够提高数据检索效率,加快数据检索请求处理速度,又能提升数据中心的数据资源管理能力,从根本上解决公共数据资源池性能瓶颈。本文首先介绍电力公共数据资源池资源检索方法,然后基于机器学习详细叙述电力公共数据资源池的数据预判学习算法,最后对应用成果进行展望和分析。该应用结合多种机器学习手段能够加快数据资源池整合速度,使公共数据资源池真正成为国家电网公司应用系统的数据集中地。
关键词:数据资源池 机器学习 数据检索 应用方法
中图分类号:TM63 文献标识码:A
国家电网公司要求基于数据中心公共数据资源池,已纳管数据资源逐步支撑业务数据共享工作,现阶段省级公司已实现包括全部统推系统及自建系统的数据字典接入,并通过数据管理服务平台统一纳管。机器学习作为目前比较热门的一种技术,利用机器学习的技术,使得数据资源池可以提前分析用户需要的数据并加载到高速缓冲区中,提高数据资源池的检索效率,提高资源池的整体运转效率,加速数据资源池的推广应用。
1 公共数据资源池数据检索方法介绍
公共数据资源池存储区域主要划分为ODS缓冲区、ODS统一视图区和数据仓库区。本文中仅对数据资源池中的检索及预判功能进行阐述,其他资源池功能略过不提。
检索功能包含:数据检索请求队列、检索控制模块。检索请求队列接收各个业务系统的检索请求。检索控制模块负责调度请求以及与其他模块进行交互以便执行检索请求。
预判功能包含:预判模块、预判控制模块、预判学习模块。预判控制模块负责与其他外部模块交互,获取检索请求,通过预判模块分析结果后,提前加载相关数据至高速缓存区,提高检索速度。同时,可以将检索的最终结果输入学习模块,供学习模块进行分析学习,提高预判的准确性。
存储分为功能数据区和业务数据区,其中功能数据区的高速缓冲区保存预判数据,供检索请求进行检索;检索结果存储区存储检索后的结果,检索时的条件以及其他需要的数据,供预判模块分析学习使用。统一视图区和数据仓库区为公共数据资源池的公有模块。
数据资源检索的数据来源分为三部分,分别是高速缓冲区、统一视图区、数据仓库区。其中高速缓冲区为高速读写的区域,为检索模块专用的缓冲区。统一视图区与数据仓库区为整个数据资源池所共有的。检索优先级顺序为高速缓冲区>统一视图区>数据仓库区。由于高速缓冲区数据读取速度快,所以提高高速缓冲区的命中率,就可以提高各个业务系统在请求数据时的速度。所以利用机器学习技术,提高数据预判,预加载的准确性。
2 数据预判的学习算法
1950年,图灵提出了“图灵测试”,使得人工智能成了计算机科学领域的一个重要研究课题[1]。目前,机器学习比较经典的算法包括:逻辑回归模型、神经网络算法、决策树算法等多种算法[2]。各类算法在不同的领域中大放光彩,形成了目前各行各业热门的AI机器人。数据查询作为数据资源池最大的功能,也是使用最频繁的功能,其查询的速度快慢成了数据资源池能否顺利推广的重点之一。
2.1数据预判的学习算法
2.1.1查询数据预判学习
查询数据根据在队列中等待调度的查询请求进行分析,根據请求的关键字进行预判,然后提前加载该数据。将查询请求中的查询语句转换为词袋(Bag of Words)形式的向量,此时将不再包含请求语句中的词语顺序关系。自然语言处理中,经常使用n-gram模型。如果不考虑各个词语之间的相关性(n=1),则得到查询语句的unigram(1-gram)特征,如果提取一级关联特征(n=1,即当前词只跟前一个词相关),则得到文档的bigram(2-gram)特征[3]。
2.1.2常规数据预判学习
常规数据预判分为两部分,一部分为周期可能数据,一部分为临时可能数据。周期可能数据具有周期性,一般跟随业务高峰期发生。在高峰期间数据可能需要多次查询,一旦形成周期,就相对比较稳定。临时可能数据为各业务系统临时查询的数据,不具备稳定性。所以对于数据预判,需要结合周期数据和临时数据。
我们将采用“多描述器数据预判算法”[4],通过多个描述器,分别记录用户临时数据UTD(User Temp Data)、用户周期数据UCD(UserCycle Data)、业务系统临时数据STD(System Temp Data)、业务系统周期数据SCD(System Cycle Data),各个描述器被赋予了一定的权值,以描述该描述器在整个学习过程中所起到的影响。例如某系统业务性比较强,则可以给该系统的SCD增加权值,提高数据的稳定性;如果某系统数据性比较强,则增加UTD权值,提高数据的灵活性。
数据预判DA(Data Anticipation)由以上值确定:DA=(UTD,ωUTD,UCD,ωUCD,STD,ωSTD, SCD,ωSCD),其中ωUTD,ωUCD,ωSTD,ωSCD分别是UTD,UCD,STD,SCD的权值。可以得出该用户u(user)使用该业务系统s(system)在该时间t(time)对该数据D(Data)的可能需求概率:
2.1.3数据结果集
目前数据资源池刚刚推广,尚处于数据整合阶段,接入系统并不算太多。所以对于目前阶段,通过常规数据判断和查询数据判断,可以将数据结果集位图为B=Bust∪BQ。并且以常规数据判断为主,查询数据判断为辅。查询数据判断可以依照压力大小决定是否启用。
获得最终结果集位图B后,可以根据位图文件中记录的0/1值,加载对应的数据块。随着数据资源池的推广,接入数据资源池的系统越来越多,数据量越来越大,检索请求越来越多,会导致检索请求的调度时间越来越长,查询数据判断准确与否将比较重要,则可以将数据集以查询数据判断为主,常规数据判断为辅。
2.2数据预判的训练方法及训练集
先执行正常的查询流程,并将查询条件、查询结果、查询时间、用户、所属系统等等相关数据存储到检索结果存储区。选取典型系统,作为第一批训练系统,积累一个月数据作为初始数据集T,然后开放上述系统的预判学习功能,将初始集T的数据随机分成两部分T1和T2,其中T1占初始集T的80%,作为训练集,T2占初始集T的20%,作为验证集,以训练集T1为学习数据进行预判学习,获得预判模块V1;以验证集T2对V1进行验证,完善V1。如果能够达到预期的效果并且完全开放预测模块后,可将每次预测的结果作为学习素材进入预判学习模块进行继续学习,以便继续提高预判的成功率。可以根据效果由管理员调整预判策略、预判学习策略,达到最适合的性能。预判结果稳定后,预判模块可升级为V2,作为稳定版持续使用。
3 结束语
通过机器学习,可以提前判断出用户所需数据,从而提前加载至高速缓冲区,提高查询命中率,提高用户查询的效率。然而本文所描述的仅仅是整个数据资源池中的一部分,数据预判部分还需要与数据调度、数据存储策略、数据传输、并行加载等多个部分结合,才能成为一个整体。随着国家电网数据资源池的逐步推广应用,还可以通过多种机器学习手段进行不同的训练,并将结果集进行整合汇总,从而在提高预判准确性的同时,还可以精准预判,减少冗余数据加载,可以减少加载时间,节约存储空间,再一步提高检索效率,加快数据资源池整合速度,使数据资源池真正成为国家电网信息系统的数据集中地。
参考文献:
[1] 张润,王永滨.机器学习及其算法和发展研究[J].中国传媒大学学报(自然科学版)自然科学版,2016, 23(2):10- 18.
[2] 邴欣.机器学习在推荐系统中的应用[D].山东大学,2016.