一种计划市场数据文件生成方法、发布方法及系统与流程

    专利2022-07-08  92


    本发明涉及一种计划市场数据文件生成方法、发布方法及系统,属于电力调度生产组织数据交互领域。



    背景技术:

    随着大电网建设不断推进,新能源装机容量快速增长,市场化进程逐步加快,交直流大电网生产组织管理、大规模新能源消纳、电力现货市场建设等方面均对电力调度生产组织数据交互效率提出了更高要求。目前电力调度生产组织中,计划市场类应用业务输出结果数据需要发布给多级调度自动化系统、交易中心、调度管理系统等相关横纵向系统,通常这种跨系统的数据交互多以文件形式实现,其种类和相应的文件规范格式也随着计划市场规则演变而不断变化。

    目前常规计划市场数据文件的生成和发布,需要软件工程师基于收发双方约定好的规范格式,开发专用的独立接口程序,数据内容和文件规范紧耦合实现,多数据文件的生成和发布自动串行执行,再由工程运维人员部署在专用计算机数据发布系统中,进而实现满足规范要求的数据交互。一旦文件规范调整或者新增文件种类,则需要重复以上步骤,计划市场数据文件生成和发布效率低下,难以满足计划市场多种类、多变化、高效率的数据交互需求。



    技术实现要素:

    本发明提供了一种计划市场数据文件生成方法、发布方法及系统,解决了计划市场数据文件生成和发布效率低下的问题。

    为了解决上述技术问题,本发明所采用的技术方案是:

    一种计划市场数据文件生成方法,包括,

    采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件;

    对模板文件进行辨识和内容填充,生成计划市场数据文件。

    预设语法为,

    $:特殊域字段引导符,出现在某对象名称的首和尾,表示该对象名称为特殊域;

    %:变量定义引导符,出现在某对象名称的首和尾,表示该对象名称为变量;

    #:如果出现在特殊域首尾“$”引导符之间,则为特殊域字段输出规范格式间隔符,位于特殊域名称之后,该间隔符到结尾“$”引导符之间的部分为该特殊域的输出规范格式说明;如果出现在行首,则为输出规范格式行识别符,表示该符号之后为输出数据源或输出字段规范格式描述说明;

    &:变量输出规范格式间隔符,用于变量类型的输出规范格式间隔;

    ::变量类型字段与输出规范格式字段间的分隔符,与变量输出规范格式间隔符“&”配套使用,对变量进行详细描述。

    业务数据抽象包括,

    对特殊域进行定义,实现特殊域抽象;

    对变量进行定义,实现变量抽象。

    特殊域进行定义为,

    特殊域名称采用英文驼峰命名习惯;

    特殊域名称在模板文件范围内唯一,定义时由特殊域字段引导符标识;

    areaname:区域名称特殊域;

    areaid:区域编号标识特殊域;

    dataname:数据类型名称特殊域;

    createtime:文件生成时间特殊域;

    plandate:数据日期特殊域,表示业务数据的计划日期;

    prd96:数据时间96点下标特殊域,该特殊域用于标识数据时段的下标;

    prd288:数据时间288点下标特殊域,该特殊域用于标识数据时段的下标;

    index:数据行号特殊域,从1开始,随输出内容行数增加自动递增。

    变量定义为,

    变量名称采用英文驼峰命名习惯

    变量名称在模板文件范围内唯一,首尾使用变量定义引导符“%”;

    变量与其输出规范格式描述使用“:”符分隔;

    变量输出规范格式为多级,输出规范格式间使用“&”符间隔;

    变量输出规范格式描述中,第一级规范格式默认为变量类型。

    一种计划市场数据文件生成系统,包括,

    模板文件生成模块:采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件;

    计划市场数据文件生成模块:对模板文件进行辨识和内容填充,生成计划市场数据文件。

    一种计划市场数据文件发布方法,包括,

    获取需交互的多个计划市场数据;

    根据计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件。

    采用多个文件处理线程,生成多个计划市场数据文件,每个文件处理线程采用多个发布线程发布其生成的计划市场数据文件。

    一种计划市场数据文件发布系统,包括,

    获取模块:获取需交互的多个计划市场数据;

    计划市场数据文件生成模块:根据计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件。

    一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行计划市场数据文件生成方法或计划市场数据文件生成方法。

    本发明所达到的有益效果:本发明通过预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件,基于模板文件快速生成计划市场数据文件;同时本发明数据文件生成与发布采用并发架构,简化数据发布开发设计流程,快速适应不断变化的计划市场规则变化要求,有效提高数据发布效率。

    附图说明

    图1为本发明生成方法的流程图;

    图2为本发明发布方法的流程图;

    图3为文件生成引擎的流程图。

    具体实施方式

    下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

    如图1所示,一种计划市场数据文件生成方法,包括以下步骤:

    步骤1,定义模板文件的语法。

    具体语法定义如下:

    $:特殊域字段引导符,出现在某对象名称的首和尾,表示该对象名称为特殊域;

    %:变量定义引导符,出现在某对象名称的首和尾,表示该对象名称为变量;

    #:如果出现在特殊域首尾“$”引导符之间,则为特殊域字段输出规范格式间隔符,一般位于特殊域名称之后,该间隔符到结尾“$”引导符之间的部分为该特殊域的输出规范格式说明;如果出现在行首,则为输出规范格式行识别符,表示该符号之后为输出数据源或输出字段规范格式描述说明;

    &:变量输出规范格式间隔符,用于变量类型的输出规范格式间隔;

    :(冒号):变量类型字段与输出规范格式字段间的分隔符,与变量输出规范格式间隔符“&”配套使用,对变量进行详细描述。

    步骤2,采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式。

    基于上述语法,对特殊域进行定义,实现区域、计划日期等特殊域抽象,对变量进行定义,实现数据源等变量的抽象。

    特殊域进行定义如下:

    特殊域名称采用英文驼峰命名习惯,即各英文单词首尾相连,每个单词或其缩写的首字母大写,其余的小写;

    特殊域名称在模板文件范围内唯一,定义时由特殊域字段引导符标识;

    areaname:区域名称特殊域,该特殊域无输出规范格式描述;

    areaid:区域编号标识特殊域,该特殊域无输出规范格式描述;

    dataname:数据类型名称特殊域,该特殊域无输出规范格式描述;

    createtime:文件生成时间特殊域,该特殊域通常需要配置输出规范格式描述,如:“$createtime#%y%m%d_%h:%m:%s$”;其中“#”特殊域字段输出规范格式间隔符;%y表示年份,如2020;%m表示月份,取值范围1~12;%d表示日期,取值范围1~31;%h表示小时,取值范围0~23;%m表示分钟,取值范围0~59;%s表示秒数,取值范围0~59;上述输出规范格式是对文件生成时间特殊域的输出规范格式的描述,可根据约定的文件交互规范自由调整;

    plandate:数据日期特殊域,表示业务数据的计划日期;该特殊域通常需要配置输出规范格式,如:“$plandate#%y%m%d_%h:%m:%s#86400$”,该描述为两级输出规范格式,第一个“#”和第二个“#”之间部分为数据日期输出规范格式描述,含义同上,第二个“#”后的部分为数据日期的偏移秒数,正数表示向数据日期的未来方向偏移,负数表示向数据日期的历史方向偏移;

    prd96:数据时间96点下标特殊域,计划市场数据的时间间隔为15分钟时,全天数据点数即为96点,该特殊域用于标识数据时段的下标,该特殊域可配置输出规范格式描述,即:“$prd96#1$”,“#”符号后面数字表示下标偏移量,偏移量可正可负;

    prd288:数据时间288点下标特殊域,计划市场数据的时间间隔为5分钟时,全天数据点数即为288点,该特殊域用于标识数据时段的下标,该特殊域可配置输出规范格式描述,即:“$prd288#1$”,“#”符号后面数字表示下标偏移量,偏移量可正可负;

    index:数据行号特殊域,从1开始,随输出内容行数增加自动递增。

    变量定义如下:

    变量名称采用英文驼峰命名习惯;即各英文单词首尾相连,每个单词或其缩写的首字母大写,其余的小写;

    变量名称在模板文件范围内唯一,首尾使用变量定义引导符“%”,如%source%;

    变量与其输出规范格式描述使用“:”符分隔;

    变量输出规范格式为多级,输出规范格式间使用“&”符间隔;

    变量输出规范格式描述中,第一级规范格式默认为变量类型。

    基于上述步骤中的符号域、特殊域、变量的定义,可完整实现抽象,计划市场数据和相应的规范格式解耦。

    步骤3,生成描述业务数据和相应规范格式的模板文件。

    模板文件根据是否能够同时涵盖计划市场数据源定义和文件规范定义,可分为全模板文件和准模板文件。

    若待发布业务数据为出清熟数据,则可在模板文件中配置数据源变量,进行直接数据读取,这种数据其数据源和规范完全可通过模板文件描述,称为全模板文件;若待发布业务数据为多种类的原始数据,需要进行复杂的逻辑加工才能生成可发布的熟数据,这种业务数据的数据源无法通过简单的数据源变量描述,而需要提前开发对应的动态库插件,模板文件中定义其插件句柄以及规范格式,称为准模板文件。

    步骤4,对模板文件进行辨识和内容填充,生成计划市场数据文件。

    在实际操作中,如果新增数据交互文件或者调整已有文件规范,仅需工程运维人员配置和修改配套的模板文件即可,提高了计划市场数据交互效率。

    上述方法的软件系统包括:

    模板文件生成模块:采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件;

    计划市场数据文件生成模块:对模板文件进行辨识和内容填充,生成计划市场数据文件。

    计划市场类应用通常使用专用计算机软件实现数据发布,待发布数据存储在专用计算机数据库系统中,在数据发布时,需要在数据库中使用sql语言进行数据抽取,在数据文件在生成后,往往需要发送给多个目标地址。

    上述计划市场数据文件的发布方法,包括:

    1)获取需交互的多个计划市场数据;

    2)根据上述计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件;其中,采用多个文件处理线程,生成多个计划市场数据文件,每个文件处理线程采用多个发布线程发布其生成的计划市场数据文件。

    具体过程如图2所示,包括:

    s1)获取需交互的多个计划市场数据,确定数据种类、规范格式及发送目标地址;

    s2)对计划市场数据抽象,生成模板文件;

    s3)根据数据种类形成文件生成任务列表,创建文件处理多线程;

    s4)每个文件处理线程遍历任务列表中未完成任务,调用文件生成引擎,生成计划市场数据文件;

    如图3所示,文件生成引擎工作过程如下:

    41)获取数据文件生成任务配置参数,如模板文件名、路径名称等,并校验其有效性和完整性;

    42)解析数据文件生成配置的模板文件,识别模板特殊域字段、数据源变量、输出规范格式等信息;

    43)判断数据源变量配置类型,如果是全模板文件,则调用通用全模板文件生成方法生成目标文件,如果是准模板文件,则首先自动加载配置的插件句柄生成业务数据,再按照模板定义生成目标文件;

    44)如果配置敏感数据加密,则进行敏感数据文件加密处理;

    45)如果配置生成附属描述文件,则参考步骤41-步骤43逻辑生成配套附属描述文件。

    s5)每个文件处理线程在生成文件后,根据该类文件发送目标地址列表创建发布线程,并发执行发布任务,待所有发布线程执行完毕后,释放资源;

    s6)各文件处理线程并发执行,直到任务列表全部执行完成,释放文件处理线程资源;

    s7)分析各类文件生成和发布任务状态,给出数据发布状态汇总信息。

    上述方法对应的软件系统包括:

    获取模块:获取需交互的多个计划市场数据;

    计划市场数据文件生成模块:根据所述的一种计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件。

    本发明通过预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件,基于模板文件快速生成计划市场数据文件;同时本发明数据文件生成与发布采用并发架构,简化数据发布开发设计流程,快速适应不断变化的计划市场规则变化要求,有效提高数据发布效率。

    一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行计划市场数据文件生成方法或计划市场数据文件生成方法。

    一种计算设备,包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行计划市场数据文件生成方法或计划市场数据文件生成方法的指令。

    本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。


    技术特征:

    1.一种计划市场数据文件生成方法,其特征在于:包括,

    采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件;

    对模板文件进行辨识和内容填充,生成计划市场数据文件。

    2.根据权利要求1所述的一种计划市场数据文件生成方法,其特征在于:预设语法为,

    $:特殊域字段引导符,出现在某对象名称的首和尾,表示该对象名称为特殊域;

    %:变量定义引导符,出现在某对象名称的首和尾,表示该对象名称为变量;

    #:如果出现在特殊域首尾“$”引导符之间,则为特殊域字段输出规范格式间隔符,位于特殊域名称之后,该间隔符到结尾“$”引导符之间的部分为该特殊域的输出规范格式说明;如果出现在行首,则为输出规范格式行识别符,表示该符号之后为输出数据源或输出字段规范格式描述说明;

    &:变量输出规范格式间隔符,用于变量类型的输出规范格式间隔;

    ::变量类型字段与输出规范格式字段间的分隔符,与变量输出规范格式间隔符“&”配套使用,对变量进行详细描述。

    3.根据权利要求1所述的一种计划市场数据文件生成方法,其特征在于:业务数据抽象包括,

    对特殊域进行定义,实现特殊域抽象;

    对变量进行定义,实现变量抽象。

    4.根据权利要求3所述的一种计划市场数据文件生成方法,其特征在于:特殊域进行定义为,

    特殊域名称采用英文驼峰命名习惯;

    特殊域名称在模板文件范围内唯一,定义时由特殊域字段引导符标识;

    areaname:区域名称特殊域;

    areaid:区域编号标识特殊域;

    dataname:数据类型名称特殊域;

    createtime:文件生成时间特殊域;

    plandate:数据日期特殊域,表示业务数据的计划日期;

    prd96:数据时间96点下标特殊域,该特殊域用于标识数据时段的下标;

    prd288:数据时间288点下标特殊域,该特殊域用于标识数据时段的下标;

    index:数据行号特殊域,从1开始,随输出内容行数增加自动递增。

    5.根据权利要求3所述的一种计划市场数据文件生成方法,其特征在于:变量定义为,

    变量名称采用英文驼峰命名习惯

    变量名称在模板文件范围内唯一,首尾使用变量定义引导符“%”;

    变量与其输出规范格式描述使用“:”符分隔;

    变量输出规范格式为多级,输出规范格式间使用“&”符间隔;

    变量输出规范格式描述中,第一级规范格式默认为变量类型。

    6.一种计划市场数据文件生成系统,其特征在于:包括,

    模板文件生成模块:采用预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件;

    计划市场数据文件生成模块:对模板文件进行辨识和内容填充,生成计划市场数据文件。

    7.一种计划市场数据文件发布方法,其特征在于:包括,

    获取需交互的多个计划市场数据;

    根据权利要求1~5任意一项所述的一种计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件。

    8.根据权利要求7所述的一种计划市场数据文件发布方法,其特征在于:采用多个文件处理线程,生成多个计划市场数据文件,每个文件处理线程采用多个发布线程发布其生成的计划市场数据文件。

    9.一种计划市场数据文件发布系统,其特征在于:包括,

    获取模块:获取需交互的多个计划市场数据;

    计划市场数据文件生成模块:根据权利要求1~5任意一项所述的一种计划市场数据文件生成方法,采用多线程方式,生成并发布多个计划市场数据文件。

    10.一种存储一个或多个程序的计算机可读存储介质,其特征在于:所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1~5或7~8所述的方法中的任一方法。

    技术总结
    本发明公开了一种计划市场数据文件生成方法、发布方法及系统,本发明通过预设语法对计划市场数据进行抽象,解耦计划市场数据和相应的规范格式,生成描述业务数据和相应规范格式的模板文件,基于模板文件快速生成计划市场数据文件;同时本发明数据文件生成与发布采用并发架构,简化数据发布开发设计流程,快速适应不断变化的计划市场规则变化要求,有效提高数据发布效率。

    技术研发人员:彭虎;丁恰;昌力;吴炳祥;江涛;赵浚婧;曹荣章;沈茂亚;朱敏健;吴烁民
    受保护的技术使用者:国电南瑞科技股份有限公司
    技术研发日:2020.12.15
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-20114.html

    最新回复(0)