CN111078197A - 生成可执行文件的方法及装置 - Google Patents

生成可执行文件的方法及装置 Download PDF

Info

Publication number
CN111078197A
CN111078197A CN201911145661.2A CN201911145661A CN111078197A CN 111078197 A CN111078197 A CN 111078197A CN 201911145661 A CN201911145661 A CN 201911145661A CN 111078197 A CN111078197 A CN 111078197A
Authority
CN
China
Prior art keywords
node
list
map table
key
unit
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
CN201911145661.2A
Other languages
English (en)
Other versions
CN111078197B (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.)
Beijing Mininglamp Software System Co ltd
Original Assignee
Beijing Mininglamp Software 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 Beijing Mininglamp Software System Co ltd filed Critical Beijing Mininglamp Software System Co ltd
Priority to CN201911145661.2A priority Critical patent/CN111078197B/zh
Publication of CN111078197A publication Critical patent/CN111078197A/zh
Application granted granted Critical
Publication of CN111078197B publication Critical patent/CN111078197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明实施例公开了一种生成可执行文件的方法及装置,应用于大数据平台,其中该方法包括:根据单元节点列表生成第一映射Map表;根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表;按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。如此,通过将大数据模型的可编辑文件转换成可执行文件,从而能够将大数据模型的可编辑文件放到Hadoop集群上运行。

Description

生成可执行文件的方法及装置
技术领域
本发明实施例涉及大数据技术,尤指一种生成可执行文件的方法及装置。
背景技术
大数据(Big Data)概念是1998年由SGI首席科学家John Masey在USENIX大会上提出的。他当时发表了一篇名为Big Data and the Next Wave of Infrastress的论文,使用了大数据来描述数据爆炸的现象。
数据模型(Data Model)是数据特征的抽象。数据(Data)是描述事物的符号记录,模型(Model)是现实世界的抽象。数据模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。业务人员在使用大数据建造数据模型的时候,需要保存并能在Hadoop环境上运行,因此需要将大数据模型的可编辑文件转换成可执行文件才可以提交到Hadoop集群上运行。
发明内容
有鉴于此,本发明实施例提供了一种生成可执行文件的方法,应用于大数据平台,包括:
根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
本发明实施例还提供了一种生成可执行文件的装置,应用于大数据平台,包括:
第一生成单元,用于根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
第二生成单元,用于根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
第三生成单元,用于根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
第四生成单元,用于根据节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
本发明实施例还提供了一种生成可执行文件的装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述生成可执行文件的方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述生成可执行文件的方法的步骤。
本发明实施例提供的技术方案,通过将大数据模型的可编辑文件转换成可执行文件,从而能够将大数据模型的可编辑文件放到Hadoop集群上运行。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本发明一实施例提供的一种生成可执行文件的方法的流程示意图;
图2为本发明另一实施例提供的一种生成可执行文件的方法的流程示意图;
图3为本发明另一实施例提供的一种生成可执行文件的方法的流程示意图;
图4为本发明一实施例提供的一种生成可执行文件的装置的结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
图1为本发明一实施例提供的一种生成可执行文件的方法的流程示意图,如图1所示,该方法应用于大数据平台,包括:
步骤101,根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
步骤102,根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
步骤103,根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
步骤104,按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
其中,所述单元节点列表中单元节点的类型包括以下至少之一::
筛选节点,关联节点,算子节点,内置函数节点;
所述单元节点列表中单元节点的信息包括单元节点内容,
其中,筛选节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,输出数据列表,分组方式,排序方式,筛选条件;
关联节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,关联条件。
算子节点内容包括以下至少之一:节点编号,名称,类型,算子位置引用,算子参数,实例参数。
内置函数节点包括以下至少之一:节点编号,名称,类型,函数名称,函数参数。
其中,所述执行路径列表中每一个执行路径的信息包括以下至少之一:开始节点编号,结束节点编号,路径类型,路径值,路径值单位;
所述入口单元节点列表中入口单元节点的信息包括节点编号。
其中,所述根据单元节点列表生成第一映射Map表,包括:
遍历预先保存的所述单元节点列表,生成节点编号为Key,单元节点内容为Value的第一Map表。
其中,所述根据所述第一Map表和执行路径列表生成第二Map表和第三Map表,包括:
遍历预先保存的所述执行路径列表,针对每一个执行路径执行如下操作:
检查所述第一Map表中的Key是否包含了第一执行路径的开始节点编号和结束节点编号;
当不包含所述开始节点编号和结束节点编号中任一个时,从所述执行路径列表中删除所述第一执行路径,继续遍历下一个执行路径;
当同时包含所述开始节点编号和结束节点编号时,将所述开始节点编号作为Key,所述结束节点编号作为Value保存到第二Map表中;检查第三Map表中是否包含Key为所述结束节点编号;
当第三Map表中不包含Key为所述结束节点编号时,新建一个空的无重复的编号列表,将所述结束节点编号作为Key,新建的编号列表作为Value保存到第三Map表中;
当第三Map表中包含Key为所述结束节点编号时,查找到所述结束节点编号为Key对应的Value的编号列表,并将所述结束节点编号加入查找到的编号列表。
其中,所述根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,包括:
遍历预先保存的所述入口单元节点列表,将所述入口单元节点列表中的节点编号按顺序加入节点标识列表;
遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
从所述第二Map表中获取Key为所述节点标识列表中第一节点编号的Value得到所述第一节点编号对应的第一结束节点编号;
检查所述第三Map表中是否包含Key为所述第一结束节点编号;
若不包含时,将所述第一结束节点编号加入所述节点标识列表;
若包含时,从所述第三Map表中获取Key为所述第一结束节点编号的Value的第一节点编号列表,并从所述第一节点编号列表中删除第一节点编号,删除后若所述第一节点编号列表保存的编号个数为0则将所述第一结束节点编号加入所述节点标识列表。
其中,所述按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件,包括:
按顺序遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
根据所述节点标识列表中的第一节点编号,从所述第一Map表中获取Key为第一节点编号的Value的单元节点内容;
遍历完成,根据每个单元节点内容按顺序生成每个单元节点对应的执行语句,将生成的所有的执行语句按顺序保存成可执行文件。
本发明实施例提供的技术方案,通过将数据模型文件转换成可执行文件,从而能够将大数据模型文件放到Hadoop集群上运行。
本发明的另一种实施例提供了一种大数据模型的可编辑文件格式。
本实施例中,大数据模型的存储格式(也可成为模型格式)由Json格式定义。大数据模型的存储格式描述的内容主要分为两种。一是Jar文件描述,二是有向无环图(DAG)描述。其中,Jar文件描述的内容包括但不限于:文件名,入口位置,执行参数。DAG描述的内容包括但不限于:单元节点列表,执行路径列表,入口单元节点列表。
其中,大数据模型描述内容为Jar文件描述的模型,不需要复杂的可执行文件的生成方法,在此不再赘述。
本实施例中,大数据模型的存储格式描述的内容为DAG描述的模型,DAG描述的内容包括单元节点列表,执行路径列表,入口单元节点列表等组成的可编辑文件。
其中,单元节点列表中单元节点的类型包括但不限于:筛选节点,关联节点,算子节点,内置函数节点。
所述单元节点列表中单元节点的信息包括单元节点内容。
具体而言,大数据模型由多个步骤组成,每个步骤是一个单元节点,单元节点之间有依赖关系,即:一个单元节点执行的前提条件是其前面的一个或多个单元节点已经执行完成。可选地,单元节点列表的格式采用Json格式,示例如下:
Figure BDA0002282104280000071
其中,筛选节点内容包括但不限于:节点编号,名称,类型,格式,数据源,输出数据列表,分组方式,排序方式,筛选条件。
关联节点内容包括但不限于:节点编号,名称,类型,格式,数据源,关联条件。
算子节点内容包括但不限于:节点编号,名称,类型,算子位置引用,算子参数,实例参数。
内置函数节点内容包括但不限于:节点编号,名称,类型,函数名称,函数参数。
其中,单元节点列表包含了大数据模型的全部单元节点。
其中,所述执行路径列表中每一个执行路径的信息包括但不限于:开始节点编号,结束节点编号,路径类型,路径值,路径值单位。
具体而言,执行路径描述了大数据模型的各个单元节点之间的依赖关系以及执行的前后顺序。
可选地,执行路径列表的格式采用Json格式,示例如下:
Figure BDA0002282104280000081
上述其他内容是指路径类型、路径值、路径值单位等元素。
其中,执行路径列表包含了大数据模型的全部执行路径。
其中,所述入口单元节点列表中入口单元节点的信息包含但不限于:节点编号。
具体而言,入口单元节点是大数据模型中的一种单元节点,是指没有依赖的前提条件,不依赖于其他节点就可以直接执行的节点。
可选地,入口单元节点列表的格式采用Json格式,示例如下:
Figure BDA0002282104280000091
其中,入口单元节点列表包含了大数据模型的全部入口单元节点。
其中,大数据模型的存储格式中还可以支持变量,变量定义为:$表示开始的字符,其中:$r表示单元节点执行结果,$r后可直接附带数字,$timestamp表示当前时间戳。
可选地,变量示例如下:
$r1就是第一个单元节点执行结果
$r2就是第二个单元节点执行结果
其中,$r1、$r2都是单元节点列表中的编号。
本发明实施例提供的基于大数据模型的可编辑文件格式,能够将数据分析的结果有效的保存,并能后续便于编辑。
图2为本发明另一实施例提供的一种生成可执行文件的方法的流程示意图,如图2所示,该方法应用于大数据平台,包括:
步骤201,遍历预先保存的单元节点列表,生成节点编号为Key,单元节点内容为Value的第一映射Map表;
其中,所述第一Map表的键名Key为节点编号,键值Value为单元节点内容。
步骤202,遍历预先保存的执行路径列表,针对每一个执行路径执行如下操作:
检查所述第一Map表中的Key是否包含了第一执行路径的开始节点编号和结束节点编号;
当不包含所述开始节点编号和结束节点编号中任一个时,从所述执行路径列表中删除所述第一执行路径,继续遍历下一个执行路径;
当同时包含所述开始节点编号和结束节点编号时,将所述开始节点编号作为Key,所述结束节点编号作为Value保存到第二Map表中;检查第三Map表中是否包含Key为所述结束节点编号;
当第三Map表中不包含Key为所述结束节点编号时,新建一个空的无重复的编号列表,将所述结束节点编号作为Key,新建的编号列表作为Value保存到第三Map表中;
当第三Map表中包含Key为所述结束节点编号时,查找到所述结束节点编号为Key对应的Value的编号列表,并将所述结束节点编号加入查找到的编号列表;
其中,遍历完成,保存所述第二Map表和第三Map表。
其中,可以预先定义一个节点编号为Key,节点编号列表为Value的映射表为第二Map表;预先定义一个节点编号为Key,节点编号为Value的映射表为第三Map表。
步骤203,遍历预先保存的入口单元节点列表,将所述入口单元节点列表中的节点编号按顺序加入节点标识列表;
步骤204,遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
从所述第二Map表中获取Key为所述节点标识列表中第一节点编号的Value得到所述第一节点编号对应的第一结束节点编号;
检查所述第三Map表中是否包含Key为所述第一结束节点编号;
若不包含时,将所述第一结束节点编号加入所述节点标识列表;
若包含时,从所述第三Map表中获取Key为所述第一结束节点编号的Value的第一节点编号列表,并从所述第一节点编号列表中删除第一节点编号,删除后若所述第一节点编号列表保存的编号个数为0则将所述第一结束节点编号加入所述节点标识列表;
可选地,示例如下:
假设结束第一节点编号1、2是第三Map表中保存的key,对应的第一节点编号列表1、2都是是第三Map表中保存的value,则第三Map表包含的内容如下:
Figure BDA0002282104280000111
上述列举的第三Map表即是一个前提条件检查列表,所有的前提条件都满足了,则继续后面的操作。例如Map中value有两个记录,分表有3个和2个前提条件,每满足一个前提条件就删除一个(即从所述第一节点编号列表中删除一个第一节点编号),前提条件都满足了(删除后若所述第一节点编号列表保存的编号个数为0)继续后面的操作,即将所述第一结束节点编号加入所述节点标识列表。
步骤205,按顺序遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
根据所述节点标识列表中的第一节点编号,从所述第一Map表中获取Key为第一节点编号的Value的单元节点内容;
步骤206,根据每个单元节点内容按顺序生成每个单元节点对应的执行语句,将生成的所有的执行语句按顺序保存成可执行文件。
本发明实施例提供的技术方案,通过将可编辑文件即单元节点列表、执行路径列表、入口单元节点列表转换成可编辑文件,从而方便将大数据模型可编辑文件放到Hadoop集群上运行。
图3为本发明另一实施例提供的一种生成可执行文件的方法的流程示意图,如图3所示,该方法应用于大数据平台,包括:
步骤301,初始化映射表toMap和fromMap;
具体而言,预先定义一个节点编号为Key,节点编号为Value的映射表为:fromMap(即第二Map表);预先定义一个节点编号为Key,节点编号列表为Value的映射表为:toMap(即第三Map表)。
其中,节点编号列表是指多个节点编好的集合。
可选地,节点编号列表示例如下:
Figure BDA0002282104280000121
其中,fromMap保存的是所有执行路径的开始节点编号和结束节点编号。例如,一个开始节点编号可以对应有多个结束节点编号,因此fromMap的Key-Value格式示例如下:开始编号对应结束编号。
其中,ToMap保存的是执行路径的一个结束节点编号及其对应的多个开始节点编号。节点编号列表指包含了某一个节点的所有前提条件。例如,一个结束节点有多个执行路径接入,所以一个结束节点编号就对应有多个开始节点编号,ToMap的的Key-Value格式示例如下:结束编号对应开始编号列表。
步骤302,遍历模型存储文件中的单元节点列表X,生成节点编号为Key,单元节点内容为Value的映射表Map为:nodeMap(即第一Map表);
步骤303,遍历执行路径列表Y,针对每一个执行路径执行如下操作:
检查nodeMap中的key是否包含单个执行路径的开始节点编号A和结束节点编号B:当不包含开始节点编号A和结束节点编号B中任一个时,则删除该执行路径,不执行后续步骤,继续遍历下一个执行路径;当同时包含开始节点编号A和结束节点编号B时,将开始节点编号A作为Key,结束节点编号B作为Value保存到fromMap中;
检查toMap中是否包含Key为结束节点编号B:若不包含,则新建一个空的无重复的节点编号列表C,将结束节点编号B为Key,空节点列表C为Value保存到toMap中;若包含,则从toMap中查找到结束节点编号B为Key对应的Value的无重复的节点编号列表D,并将结束节点编号B加入节点编号列表D;
其中,遍历完成后,保存映射表toMap和fromMap;
步骤304,将toMap复制一份命名为:checkMap(即第三Map表);
本步骤中,toMap复制的目的是用于做检查,保证数据完整性、有效性。
步骤305,定义节点编号有序列表命名为:idListSorted(节点标识列表);
其中,idListSorted是一种普通的列表,通过数据排序便于查找。
可选地,idListSorted的格式示例如下:
Figure BDA0002282104280000131
步骤306,遍历入口单元节点列表Z,将节点编号按顺序加入idListSorted列表;
步骤307,遍历idListSorted列表,对每个节点编号F执行如下操作:
从fromMap中获取Key为节点编号F的Value得到结束节点编号E,检查toCheckMap是否包含结束节点编号E;
若包含,则从toCheckMap获取Key为结束节点编号E的Value为节点编号列表G,并从节点编号列表G中删除节点编号F,若编号列表G保存的个数为0则将结束节点编号E加入到idListSorted列表;若不包含,则将结束节点编号E加入到idListSorted列表;
其中,从节点编号列表G中删除节点编号F的目的是做前提条件检查。若编号列表G保存的个数不为0,表示前提条件不完全满足,所以什么都不用处理,继续下一个迭代。
其中,idListSorted列表中的节点编号按照加入列表的时间排序,即先加入的放在前面。
步骤308,按顺序遍历idListSorted列表,从nodeMap获取实际的单元节点内容,并生成每个单元节点对应的执行语句;
其中,遍历完成后执行步骤309。
其中,生成执行语句可以采用现有的任何一种执行语句生成算法或工作,在此并不作具体限定。例如,可以生成生成sql或者spark程序。
步骤309,输出模型可执行文件。
其中,所述输出模型可执行文件,包括:将所有的执行语句,按顺序保存成可执行文件。
本发明实施例提供的技术方案,将大数据模型可编辑文件即单元节点列表,执行路径列表,入口单元节点列表转换成可执行文件,从而能够放到Hadoop集群上运行。
图4为本发明一实施例提供的一种生成可执行文件的装置的结构示意图,如图4所示,该装置应用于大数据平台,包括:
第一生成单元,用于根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
第二生成单元,用于根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
第三生成单元,用于根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
第四生成单元,用于根据节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
其中,所述单元节点列表中单元节点的类型包括以下至少之一::
筛选节点,关联节点,算子节点,内置函数节点;
所述单元节点列表中单元节点的信息包括单元节点内容,
其中,筛选节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,输出数据列表,分组方式,排序方式,筛选条件;
关联节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,关联条件。
算子节点内容包括以下至少之一:节点编号,名称,类型,算子位置引用,算子参数,实例参数。
内置函数节点包括以下至少之一:节点编号,名称,类型,函数名称,函数参数。
其中,所述执行路径列表中每一个执行路径的信息包括以下至少之一:开始节点编号,结束节点编号,路径类型,路径值,路径值单位;
所述入口单元节点列表中入口单元节点的信息包括节点编号。
其中,所述第一生成单元,具体用于遍历预先保存的所述单元节点列表,生成节点编号为Key,单元节点内容为Value的第一Map表。
其中,所述第二生成单元,具体用于遍历预先保存的所述执行路径列表,针对每一个执行路径执行如下操作:
检查所述第一Map表中的Key是否包含了第一执行路径的开始节点编号和结束节点编号;
当不包含所述开始节点编号和结束节点编号中任一个时,从所述执行路径列表中删除所述第一执行路径,继续遍历下一个执行路径;
当同时包含所述开始节点编号和结束节点编号时,将所述开始节点编号作为Key,所述结束节点编号作为Value保存到第二Map表中;检查第三Map表中是否包含Key为所述结束节点编号;
当第三Map表中不包含Key为所述结束节点编号时,新建一个空的无重复的编号列表,将所述结束节点编号作为Key,新建的编号列表作为Value保存到第三Map表中;
当第三Map表中包含Key为所述结束节点编号时,查找到所述结束节点编号为Key对应的Value的编号列表,并将所述结束节点编号加入查找到的编号列表。
其中,所述第三生成单元,具体用于遍历预先保存的所述入口单元节点列表,将所述入口单元节点列表中的节点编号按顺序加入节点标识列表;
遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
从所述第二Map表中获取Key为所述节点标识列表中第一节点编号的Value得到所述第一节点编号对应的第一结束节点编号;
检查所述第三Map表中是否包含Key为所述第一结束节点编号;
若不包含时,将所述第一结束节点编号加入所述节点标识列表;
若包含时,从所述第三Map表中获取Key为所述第一结束节点编号的Value的第一节点编号列表,并从所述第一节点编号列表中删除第一节点编号,删除后若所述第一节点编号列表保存的编号个数为0则将所述第一结束节点编号加入所述节点标识列表。
其中,所述第四生成单元,具体用于按顺序遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
根据所述节点标识列表中的第一节点编号,从所述第一Map表中获取Key为第一节点编号的Value的单元节点内容;
遍历完成,根据每个单元节点内容按顺序生成每个单元节点对应的执行语句,将生成的所有的执行语句按顺序保存成可执行文件。
本发明实施例提供的技术方案,通过将数据模型文件转换成可执行文件,从而能够将大数据模型文件放到Hadoop集群上运行。
本发明实施例还提供了一种生成可执行文件的装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述生成可执行文件的方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项所述生成可执行文件的方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种生成可执行文件的方法,其特征在于,应用于大数据平台,包括:
根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
2.根据权利要求1所述的方法,其特征在于,所述单元节点列表中单元节点的类型包括以下至少之一:
筛选节点,关联节点,算子节点,内置函数节点;
所述单元节点列表中单元节点的信息包括单元节点内容,
其中,筛选节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,输出数据列表,分组方式,排序方式,筛选条件;
关联节点内容包括以下至少之一:节点编号,名称,类型,格式,数据源,关联条件;
算子节点内容包括以下至少之一:节点编号,名称,类型,算子位置引用,算子参数,实例参数;
内置函数节点包括以下至少之一:节点编号,名称,类型,函数名称,函数参数。
3.根据权利要求1所述的方法,其特征在于,所述执行路径列表中每一个执行路径的信息包括以下至少之一:开始节点编号,结束节点编号,路径类型,路径值,路径值单位;
所述入口单元节点列表中入口单元节点的信息包括节点编号。
4.根据权利要求1所述的方法,其特征在于,所述根据单元节点列表生成第一映射Map表,包括:
遍历预先保存的所述单元节点列表,生成节点编号为Key,单元节点内容为Value的第一Map表。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一Map表和执行路径列表生成第二Map表和第三Map表,包括:
遍历预先保存的所述执行路径列表,针对每一个执行路径执行如下操作:
检查所述第一Map表中的Key是否包含了第一执行路径的开始节点编号和结束节点编号;
当不包含所述开始节点编号和结束节点编号中任一个时,从所述执行路径列表中删除所述第一执行路径,继续遍历下一个执行路径;
当同时包含所述开始节点编号和结束节点编号时,将所述开始节点编号作为Key,所述结束节点编号作为Value保存到第二Map表中;检查第三Map表中是否包含Key为所述结束节点编号;
当第三Map表中不包含Key为所述结束节点编号时,新建一个空的无重复的编号列表,将所述结束节点编号作为Key,新建的编号列表作为Value保存到第三Map表中;
当第三Map表中包含Key为所述结束节点编号时,查找到所述结束节点编号为Key对应的Value的编号列表,并将所述结束节点编号加入查找到的编号列表。
6.根据权利要求1所述的方法,其特征在于,所述根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,包括:
遍历预先保存的入口单元节点列表,将所述入口单元节点列表中的节点编号按顺序加入节点标识列表;
遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
从所述第二Map表中获取Key为所述节点标识列表中第一节点编号的Value得到所述第一节点编号对应的第一结束节点编号;
检查所述第三Map表中是否包含Key为所述第一结束节点编号;
若不包含时,将所述第一结束节点编号加入所述节点标识列表;
若包含时,从所述第三Map表中获取Key为所述第一结束节点编号的Value的第一节点编号列表,并从所述第一节点编号列表中删除第一节点编号,删除后若所述第一节点编号列表保存的编号个数为0则将所述第一结束节点编号加入所述节点标识列表。
7.根据权利要求1所述的方法,其特征在于,所述按照节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件,包括:
按顺序遍历所述节点标识列表,针对所述节点标识列表中每一个节点编号执行如下操作:
根据所述节点标识列表中的第一节点编号,从所述第一Map表中获取Key为第一节点编号的Value的单元节点内容;
遍历完成,根据每个单元节点内容按顺序生成每个单元节点对应的执行语句,将生成的所有的执行语句按顺序保存成可执行文件。
8.一种生成可执行文件的装置,其特征在于,应用于大数据平台,包括:
第一生成单元,用于根据单元节点列表生成第一映射Map表;所述第一Map表的键名Key为节点编号,键值Value为单元节点内容;
第二生成单元,用于根据所述第一Map表和执行路径列表生成第二Map表和第三Map表;所述第二Map表的键名Key为执行路径的开始节点编号,键值Value为执行路径的结束节点编号;所述第三Map表的键名Key为执行路径的结束节点编号,键值Value为节点编号列表;
第三生成单元,用于根据入口单元节点列表、所述第二Map表和第三Map表生成节点标识列表,所述节点标识列表包括按顺序排列的节点编号;
第四生成单元,用于根据节点标识列表中节点编号的顺序从第一Map表中获取对应的单元节点内容,生成每个单元节点对应的执行语句,将所有的执行语句保存为可执行文件。
9.一种生成可执行文件的装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述生成可执行文件的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现如权利要求1至7中任一项所述生成可执行文件的方法的步骤。
CN201911145661.2A 2019-11-21 2019-11-21 生成可执行文件的方法及装置 Active CN111078197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911145661.2A CN111078197B (zh) 2019-11-21 2019-11-21 生成可执行文件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911145661.2A CN111078197B (zh) 2019-11-21 2019-11-21 生成可执行文件的方法及装置

Publications (2)

Publication Number Publication Date
CN111078197A true CN111078197A (zh) 2020-04-28
CN111078197B CN111078197B (zh) 2023-05-09

Family

ID=70311369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911145661.2A Active CN111078197B (zh) 2019-11-21 2019-11-21 生成可执行文件的方法及装置

Country Status (1)

Country Link
CN (1) CN111078197B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050183018A1 (en) * 2003-04-04 2005-08-18 Sony Corporation Information processing device and method, program, and recording medium
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN109992259A (zh) * 2019-04-15 2019-07-09 成都四方伟业软件股份有限公司 函数动态创建方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050183018A1 (en) * 2003-04-04 2005-08-18 Sony Corporation Information processing device and method, program, and recording medium
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN109992259A (zh) * 2019-04-15 2019-07-09 成都四方伟业软件股份有限公司 函数动态创建方法、装置及电子设备

Also Published As

Publication number Publication date
CN111078197B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
US10324909B2 (en) Omega names: name generation and derivation utilizing nested three or more attributes
CN108089893B (zh) 冗余资源的确定方法、装置、终端设备与存储介质
CN111324577B (zh) 一种Yml文件读写的方法及装置
US11481440B2 (en) System and method for processing metadata to determine an object sequence
CN107315764B (zh) 一种非关系型数据库关联数据的更新方法及系统
US9483508B1 (en) Omega names: name generation and derivation
CN107085613B (zh) 入库文件的过滤方法和装置
CN110727687A (zh) 一种物料清单转换方法及其系统
CN107330014B (zh) 一种数据表的创建方法与设备
US8176080B2 (en) Desensitizing character strings
US20210334292A1 (en) System and method for reconciliation of data in multiple systems using permutation matching
US20110246479A1 (en) Creating Indexes for Databases
US20180268029A1 (en) Metafutures-based Graphed Data Lookup
CN106547573A (zh) 一种程序文件对比方法及装置
CN111984666A (zh) 数据库访问方法、装置、计算机可读存储介质和计算机设备
CN113553458A (zh) 图数据库中的数据导出方法及装置
CN111078197B (zh) 生成可执行文件的方法及装置
CN109299106B (zh) 数据查询方法和装置
CN113934726A (zh) 一种随机平滑分表方法、终端及存储介质
JPH06215037A (ja) インデックスの自動更新装置
CN106681914B (zh) 电视机画面质量调试方法及装置
US11740867B2 (en) Data sorting method, apparatus and device, storage medium and program product
CN115203490B (zh) 图数据库中List列表容器数据类型的查询方法及装置
US11275725B2 (en) Transporting a database structure from a first version to a second version
CN118193032B (zh) 消除无效依赖库的方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant