CN116225403A - 领域特定语言数据处理方法和装置、计算设备、存储介质 - Google Patents

领域特定语言数据处理方法和装置、计算设备、存储介质 Download PDF

Info

Publication number
CN116225403A
CN116225403A CN202310300903.0A CN202310300903A CN116225403A CN 116225403 A CN116225403 A CN 116225403A CN 202310300903 A CN202310300903 A CN 202310300903A CN 116225403 A CN116225403 A CN 116225403A
Authority
CN
China
Prior art keywords
instance
interpretation
version
data
version information
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
CN202310300903.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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202310300903.0A priority Critical patent/CN116225403A/zh
Publication of CN116225403A publication Critical patent/CN116225403A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种领域特定语言数据处理方法和装置、计算设备、存储介质;涉及计算机技术领域。该方法包括:获取包括第一版本信息的第一数据,第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;根据第一映射关系,确定与第一版本信息对应的目标解释实例;第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;调用目标解释实例对第一数据进行解释处理。本公开可以解决相关技术中DSL版本更新带来的对应编辑器和解释器频繁更新而引起的维护成本高,迭代周期短及DSL版本更新效率低的问题。

Description

领域特定语言数据处理方法和装置、计算设备、存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种领域特定语言数据处理方法和装置、计算设备、存储介质。
背景技术
在应用程序的开发过程中,往往会把应用在逻辑上表示为各种元素的集合体,例如,页面、模型,而各种元素一般会采用领域特定语言(Domain-Specific Languages,DSL)来表达。
由于DSL本身的结构和语法是不停更新的,而不同的DSL版本需要适应性的编辑器和解释器来对其进行编辑和解释。这样就会造成只要DSL更新就要开发对应的编辑器和解释器,这将会增加大量的维护成本、开发成本,降低应用迭代的周期。此外,每次DSL版本更新都需要修改大量的DSL结构及内容,版本更新和维护的难度大,更新效率低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种领域特定语言数据处理方法和装置、计算设备、存储介质,进而在一定程度上解决了相关技术中DSL版本更新带来的对应编辑器和解释器频繁更新而引起的维护成本高,迭代周期短及DSL版本更新效率低的问题。
根据本公开的第一方面,提供了一种领域特定语言数据处理方法,包括:获取领域特定语言第一数据,所述第一数据包括第一版本信息,所述第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;根据第一映射关系,确定与所述第一版本信息对应的目标解释实例;所述第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;调用所述目标解释实例对所述第一数据进行解释处理,以执行对应任务。
可选地,所述根据第一映射关系,确定目标解释实例,包括:根据所述第一映射关系,构建第一路由表;根据所述第一版本信息,在所述第一路由表中查找出所述目标解释实例。
可选地,所述在所述第一路由表中查找出所述目标解释实例,包括:在所述第一路由表中筛选出与所述第一版本号相同的第一候选解释实例;响应于所述第一候选解释实例中存在与所述第二版本号兼容的第二候选解释实例,根据所述第二版本号和所述第三版本号,在所述第二候选解释实例确定所述目标解释实例。
可选地,所述在所述第二候选解释实例确定所述目标解释实例,包括:响应于所述第二候选解释实例中存在与所述第二版本号相同的第三候选解释实例,确定所述第三候选解释实例中最新的第三版本号对应的解释实例为目标解释实例;响应于所述第二候选解释实例中不存在与所述第二版本号相同的解释实例,将所述第二候选解释实例中最新的第二版本号和最新的第三版本号对应的解释实例确定为所述目标解释实例。
可选地,所述方法还包括:响应于所述第一候选解释实例中不存在与所述第二版本号兼容的解释实例,或者,所述第一路由表中不存在与所述第一版本号相同的解释实例,生成异常日志。
可选地,所述获取第一数据,包括:通过编辑器的编辑实例生成所述第一数据,所述第一数据的第一版本信息为根据所述编辑实例的版本信息确定的。
可选地,所述获取第一数据,包括:将第二数据导入编辑器,所述第二数据包括第二版本信息,所述第二版本信息的表示方式与所述第一版本信息相同;根据第二映射关系,确定与所述第二版本信息对应的目标编辑实例;所述第二映射关系为根据不同版本之间的兼容性在所述编辑实例与所述版本信息之间建立的映射关系;利用所述目标编辑实例编辑处理所述第二数据,以获得第一数据。
可选地,所述方法还包括:根据所述第二映射关系,构建第二路由表;响应于所述第一数据与所述第二数据的数据结构不同,在所述第二路由表中查找出与所述目标编辑实例对应的候选版本信息;确定所述第一版本信息为所述候选版本信息中的最新版本。
可选地,所述方法还包括:响应于所述第一数据与所述第二数据的数据结构相同,确定所述第一版本信息为所述第二版本信息。
根据本公开的第二方面,提供一种领域特定语言数据处理装置,装置包括:获取模块、第一确定模块和处理模块,其中:获取模块,用于获取领域特定语言第一数据,所述第一数据包括第一版本信息,所述第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;第一确定模块,用于根据第一映射关系,确定与所述第一版本信息对应的目标解释实例;所述第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;处理模块,用于调用所述目标解释实例对所述第一数据进行解释处理,以执行对应任务。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。
根据本公开的第四方面,提供一种计算设备,包括:一个或多个处理器;以及存储装置,用于一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述任一实施例所述的方法。
根据本公开的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在计算机上运行时,使得所述计算机执行上述任一实施例所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的领域特定语言数据处理方法中,一方面,可以通过双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号来表示第一数据的版本信息,通过该表示方式表示DSL版本,能够在更新的DSL兼容之前版本的情况下,避免对编辑器和解释器的重复开发过程,节省开发资源,降低维护难度。另一方面,通过在版本信息与其相互兼容的解释实例之间建立第一映射关系,实现目标解释实例的快速确定,加快数据处理速度,降低维护成本、开发成本,延长应用迭代的周期。此外,通过领域特定语言版本信息既降低了DSL及对应编辑器和解释器的版本数量,又可以避免每次对DSL结构和内容的重复开发,降低版本更新、维护难度,提高更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本公开的一个实施例中领域特定语言数据处理方法的流程图。
图2示意性示出了根据本公开的一个实施例中获取第一数据的过程流程图。
图3示意性示出了根据本公开的一个实施例的目标解释实例确定过程的流程图。
图4示意性示出了根据本公开的另一个实施例中领域特定语言数据处理方法的过程流程图。
图5示意性示出了根据本公开的一个实施例中领域特定语言数据处理装置的结构框图。
图6示出了适于用来实现本公开实施例的计算设备框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本申请实施例提供的领域特定语言数据处理方法可以在各种开发平台上实现,例如低代码开发平台。其执行主体可以包括由终端和后端服务器组成的交互系统。终端可以但不限于为手机、平板电脑、个人电脑(Personal Computer,PC)、智能电视以及任何终端设备上安装的客户端(Client)。客户端可以是生活服务类应用、即时通信类应用、社交类应用以及购物类应用等等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,也可以是区块链中的节点。
上述执行主体并不构成对本申请的限定,为了便于描述,本申请实施例均以执行主体是低代码开发平台为例进行说明。
下面,结合具体的实施例,对本说明书实施例披露的领域特定语言数据处理方法进行介绍。
参考图1所示,本公开提供的一种示例实施方式的领域特定语言数据处理方法,可以包括以下步骤。
步骤S110,获取领域特定语言第一数据,第一数据包括第一版本信息,第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号。
步骤S120,根据第一映射关系,确定与第一版本信息对应的目标解释实例;第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系。
步骤S130,调用目标解释实例对第一数据进行解释处理,以执行对应任务。
在本示例实施方式所提供的领域特定语言数据处理方法中,一方面,可以通过双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号来表示第一数据的版本信息,通过该表示方式表示DSL版本,能够在更新的DSL兼容之前版本的情况下,避免对编辑器和解释器的重复开发过程,节省开发资源,降低维护难度。另一方面,通过在版本信息与其相互兼容的解释实例之间建立第一映射关系,实现目标解释实例的快速确定,加快数据处理速度,降低维护成本、开发成本,延长应用迭代的周期。此外,通过DSL版本信息既降低了DSL及对应编辑器和解释器的版本数量,又可以避免每次对DSL结构和内容的重复开发,降低版本更新、维护难度,提高更新效率。
以下对本公开的各个步骤进行更加详细的描述。
在步骤S110中,获取领域特定语言第一数据,第一数据包括第一DSL版本信息。
在本示例实施方式中,第一数据是指待执行的DSL数据,第一数据可以包括DSL类型、DSL版本信息(即第一版本信息)、DSL内容等,还可以包括其他信息,本示例对此不做限定。第一数据可以是文件类型,例如,可以在编辑器中采用编辑实例编辑DSL数据,并将数据从编辑器中导出为DSL文件。当在运行应用过程中触发对应DSL文件的启动事件,解释器会获取该DSL文件以执行。
在本示例实施方式中,第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号。其中,不同的第一版本号之间是互相不兼容的,第二版本号可以是新版本兼容老版本的兼容方式,第三版本号是向前、后均兼容的,也就是不同的第三版本号之间是相互兼容。
示例性地,第一版本信息表示为X.Y.Z,X表示第一版本号(大版本),不同的X之间是不兼容的;Y表示第二版本号,是功能迭代更新,可以是向后兼容的;Z表示第三版本号,是缺陷、漏洞的修补(BUG修改),可以是向前、向后都兼容的。X、Y、Z可以是数字,例如,DSL版本号为1.3.1,表示其大版本为1,功能迭代版本为3,BUG修改版本为1,版本号为1.3.1的DSL能够兼容版本号为1.2.8的DSL,但是后者却不能兼容前者。
通过以上的版本表示方式能够快速的确定不同版本之间是否能够兼容,进而避免每次DSL更新都大量修改DSL结构和内容,对能够兼容的版本可以减少修改数据量,降低DSL版本更新、维护难度。
在一些实施例中,可以通过编辑器的编辑实例生成第一数据。
在本示例实施方式中,可以通过编辑器的编辑实例新建第一数据,此种方式获取的第一数据对应的版本信息即第一版本信息是根据编辑实例的版本信息确定的。可以将每个编辑实例与对应的版本信息进行绑定,当采用编辑实例生成DSL数据时,即可确定对应的版本信息。编辑实例是指编辑器中用于编辑DSL数据的工具,编辑器中可以包括多个编辑实例,新建第一数据时可以任选一个编辑实例。
在另一些实施例中,参考图2,可以通过以下步骤获取第一数据。
步骤S210,将第二数据导入编辑器,第二数据包括第二版本信息。
在本示例实施方式中,第二数据是指已经编辑好的DSL数据。当需要将在其他设备或平台上编辑好的DSL数据导入当前平台进行执行时,则将该编辑好的数据导入平台的编辑器中。该第二数据中包括第二版本信息,第二版本信息的表示方式与第一版本信息相同,即第二版本信息也包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号。
步骤S220,根据第二映射关系,构建第二路由表。
在本示例实施方式中,可以根据不同DSL版本之间的兼容性,预先在编辑实例与版本信息之间建立第二映射关系。示例性地,每个编辑实例可以绑定有对应的版本信息,可以根据该绑定关系建立第一初始路由表,再根据不同版本信息之间的兼容性,将能够兼容的版本信息绑定的编辑实例共享,生成第二路由表。这样当出现一个能够兼容之前版本(如修改漏洞)的DSL新版本,则可以使用未修改前的DSL版本对应的编辑实例来编辑该DSL新版本。
步骤S230,在第二路由表中,确定与第二版本信息对应的目标编辑实例。
在本示例实施方式中,在第二路由表中匹配查找与第二版本信息对应的目标编辑实例,目标编辑实例可以包括一个或多个,当存在多个时可以根据预先配置优先规则确定一个使用。
步骤S240,利用目标编辑实例编辑处理第二数据,以获得第一数据。
在本示例实施方式中,对于外部导入的DSL数据,需要通过目标编辑实例打开或/和编辑,但是经过目标编辑实例处理之后,该导入DSL的版本信息可能会发生变化,需要进一步通过后续步骤确定其DSL版本信息。
步骤S250,判断第一数据与第二数据的数据结构是否相同,若是则转入步骤S260,否则转入步骤S270。
在本示例实施方式中,可以通过对比导入编辑器时的第二数据与目标编辑实例处理的DSL数据的数据结构,示例性地,可以在第二数据导入时保留导入的第二数据的快照,通过对比两个DSL数据的SCHEMA是否有变化,确定当前编辑DSL的版本信息。
步骤S260,在第二路由表中查找出与目标编辑实例对应的候选版本信息;确定第一版本信息为候选版本信息中的最新版本。
在本示例实施方式中,当SCHEMA有变化,在第二路由表中查找出与目标编辑实例对应的候选版本信息;确定第一版本信息为候选版本信息中的最新版本。
步骤S270,确定第一版本信息为第二版本信息。
在本示例实施方式中,当SCHEMA没有变化,则导入时的DSL版本信息即为其导出时的版本信息。
在以上实施例中,确定目标编辑实例处理的DSL的版本信息之后,可以对该DSL数据导出编辑器,形成待执行文件。
在步骤S120中,根据第一映射关系,确定与第一版本信息对应的目标解释实例。
在本示例实施方式中,可以根据不同版本之间的兼容性,预先在解释实例与版本信息之间建立第一映射关系。示例性地,可以预先配置解释实例与版本信息之间对应关系,在配置对应关系时可以根据不同版本之间的兼容性,将能够兼容的不同版本的DSL的解释实例共享。
示例性地,参考图3,可以通过以下步骤确定目标解释实例。
步骤S310,根据第一映射关系,构建第一路由表。
在本示例实施方式中,可以将第一映射关系中的版本信息与解释实例的对应关系生成第一路由表,通过该第一路由表可以快速定位目标解释实例。
在本示例实施方式中,可以根据每个解释实例绑定的DSL版本信息,建立第二初始路由表,再根据不同DSL版本信息之间的兼容性,将能够兼容的DSL版本信息绑定的解释实例共享,生成第一路由表。这样当出现一个与之前版本能够兼容的DSL新版本,则可以使用未修改前的DSL版本对应的解释实例来解释该DSL新版本。
步骤S320,确定第一路由表中是否存在与第一版本号相同的第一候选解释实例,若是,则转入步骤S330,否则转至步骤S370。
在本示例实施方式中,第一版本号表示DSL的大版本,不同第一版本号之间不兼容,因此必须要筛选第一版本号相同的解释实例。
步骤S330,确定第一候选解释实例中是否存在与第二版本号兼容的第二候选解释实例,若是,则转入步骤S340,否则转至步骤S370。
在本示例实施方式中,第二版本号为单向兼容,即新的第二版本号可以兼容之前的第二版本号,例如,版本1.3.1可以兼容版本1.2.1。当版本号采用数字表示时,则可以在第一候选解释实例中查找第二版本号大于等于第一版本信息中的对应版本号,当查找到则存在第二候选解释实例。
步骤S340,确定第二候选解释实例中是否存在与第二版本号相同的第三候选解释实例,若是,则转入步骤S350,否则转至步骤S360。
步骤S350,确定第三候选解释实例中最新的第三版本号对应的解释实例为目标解释实例。
在本示例实施方式中,最新的第三版本号是指第三版本号的最高版本,例如,当采用数字表示版本号时,最新的第三版本号就是最大的第三版本号。
步骤S360,将第二候选解释实例中最新的第二版本号和最新的第三版本号对应的解释实例确定为目标解释实例。
在本示例实施方式中,最新的版本号是指最高版本,可以将最高的第二版本号和第三版本号对应的解释实例作为目标解释实例。例如,当第二候选解释实例对应的版本信息有1.3.2、1.3.3、1.4.5、1.5.6、1.3.6,则可以将版本信息为1.5.6对应的解释实例为目标解释实例。当第二版本号和第三版本号最新版本不同时,可以根据实际情况确定,也可以根据预设优先级进行选择(如以第二版本号为准),本示例对此不做限定。
步骤S370,确定找不到目标解释实例,生成异常日志。
在本示例实施方式中,可以生成异常日志,即报错日志,以进行执行反馈。
在步骤S130中,调用目标解释实例对第一数据进行解释处理,以执行对应任务。
在本示例实施方式中,调用目标解释实例对第一数据进行解释处理,以完成执行。
举例而言,如图4所示,本公开的领域特定语言数据处理方法可以在平台的编辑器410和解释器420上执行。编辑器410中包括多个编辑实例411和第二路由表412,解释器420中包括多个解释实例421和第一路由表422。具体可以通过以下步骤实现。
第一步,将已编辑好的第二数据导入编辑器。
第二步,在第二路由表中确定与第二数据的第二版本信息对应的目标编辑实例。
第三步,通过目标编辑实例编辑处理第二数据。
第四步,确定编辑处理后的DSL数据与导入时的第二数据的数据结构是否相同,若是,转至第五步,否则,转至第六步。
第五步,确定第二版本信息为编辑处理后的DSL数据的版本信息。
第六步,在第二路由表中查找出与目标编辑实例对应的候选版本信息;确定候选版本信息中的最新版本为编辑处理后的DSL数据的版本信息(第一版本信息)。
第七步,将含有第一版本信息的编辑处理后的DSL数据导出形成第一数据。
第八步,在第一路由表中查找确定与第一版本信息对应的目标解释实例。
第九步,调用目标解释实例对第一数据进行解释处理,以执行对应任务。
以上实施例中第二步和第八步中的查找确定过程可以根据版本信息中的第一版本号、第二版本号和第三版本号依次进行,对于第二版本号和第三版本号,在没有相同版本号的情况下取最高版本即可。
本公开针对现有DSL版本更新带来的大量DSL结构和内容的修改、编辑器和解释器的对应开发更新,引起的更新维护难度大、成本高、时间长的问题。
一方面,将DSL对应的修改更新情况进行分类,如版本大改、功能迭代和查漏补缺等类型,再将该分类情况映射于DSL的版本表示中,通过该版本表示可以减小对改动较小更新的DSL结构调整和修改量,同时,可以避免对具有兼容性新版本的编辑器和解释器的大幅度修改,降低DSL版本更新的维护难度,同时提高维护更新效率。另一方面,通过在DSL版本信息与解释实例/编辑实例之间建立映射关系,能够实现DSL数据的快速处理,提高数据处理效率。
进一步的,本示例实施方式中,还提供了一种领域特定语言数据处理装置500。该领域特定语言数据处理装置500可以应用于开发平台。参考图5所示,该领域特定语言数据处理装置500可以包括:获取模块510、第一确定模块520和处理模块530,获取模块510,用于获取领域特定语言第一数据,第一数据包括第一版本信息,第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;第一确定模块520,用于根据第一映射关系,确定与第一版本信息对应的目标解释实例;第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;处理模块530,用于调用目标解释实例对第一数据进行解释处理,以执行对应任务。
在本公开的一种示例性实施例中,第一确定模块520包括第一构建模块和查找模块,第一构建模块用于根据第一映射关系,构建第一路由表;查找模块用于根据第一版本信息,在第一路由表中查找出目标解释实例。
在本公开的一种示例性实施例中,查找模块还用于:在第一路由表中筛选出与第一版本号相同的第一候选解释实例;响应于第一候选解释实例中存在与第二版本号兼容的第二候选解释实例,根据第二版本号和第三版本号,在第二候选解释实例确定目标解释实例。
在本公开的一种示例性实施例中,查找模块还用于:响应于第二候选解释实例中存在与第二版本号相同的第三候选解释实例,确定第三候选解释实例中最新的第三版本号对应的解释实例为目标解释实例;响应于第二候选解释实例中不存在与第二版本号相同的解释实例,将第二候选解释实例中最新的第二版本号和最新的第三版本号对应的解释实例确定为目标解释实例。
在本公开的一种示例性实施例中,获取模块510包括第一获取子模块,第一获取子模块用于通过编辑器的编辑实例生成第一数据,第一数据的第一版本信息为根据编辑实例的版本信息确定的。
在本公开的一种示例性实施例中,获取模块510还包括第二获取子模块,第二获取子模块用于:将第二数据导入编辑器,第二数据包括第二版本信息,第二版本信息的表示方式与第一版本信息相同;根据第二映射关系,确定与第二版本信息对应的目标编辑实例;第二映射关系为根据不同版本之间的兼容性在编辑实例与版本信息之间建立的映射关系;利用目标编辑实例编辑处理第二数据,以获得第一数据。
在本公开的一种示例性实施例中,装置还包括:第二构建模块和第二确定模块,第二构建模块用于根据第二映射关系,构建第二路由表;第二确定模块用于响应于第一数据与第二数据的数据结构不同,在第二路由表中查找出与目标编辑实例对应的候选版本信息;确定第一版本信息为候选版本信息中的最新版本。
在本公开的一种示例性实施例中,第二确定模块还用于:响应于第一数据与第二数据的数据结构相同,确定第一版本信息为第二版本信息。
上述领域特定语言数据处理装置中各模块或单元的具体细节已经在对应的领域特定语言数据处理方法中进行了详细的描述,因此此处不再赘述。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该计算机设备执行时,使得该计算机设备实现如下述实施例中的方法。例如,计算机设备可以实现如图1~图4所示的各个步骤等。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
下面参照图6来描述根据本公开的这种实施例的计算设备600。图6显示的计算设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,计算设备600以通用计算设备的形式表现。计算设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
计算设备600也可以与一个或多个外部设备670(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算设备600交互的设备通信,和/或与使得该计算机设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,计算设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器660通过总线630与计算设备600的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RA标识系统、磁带驱动器以及数据备份存储系统等。
在示例性实施例中,还提供了一种计算机程序产品,例如,可以包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质;当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述实施例中的方法。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等,均应视为本公开的一部分。
应可理解的是,本说明书公开和限定的本公开延伸到文中和/或附图中提到或明显的两个或两个以上单独特征的所有可替代组合。所有这些不同的组合构成本公开的多个可替代方面。本说明书的实施方式说明了已知用于实现本公开的最佳方式,并且将使本领域技术人员能够利用本公开。

Claims (13)

1.一种领域特定语言数据处理方法,其特征在于,包括:
获取领域特定语言第一数据,所述第一数据包括第一版本信息,所述第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;
根据第一映射关系,确定与所述第一版本信息对应的目标解释实例;所述第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;
调用所述目标解释实例对所述第一数据进行解释处理,以执行对应任务。
2.根据权利要求1所述的领域特定语言数据处理方法,其特征在于,所述根据第一映射关系,确定目标解释实例,包括:
根据所述第一映射关系,构建第一路由表;
根据所述第一版本信息,在所述第一路由表中查找出所述目标解释实例。
3.根据权利要求2所述的领域特定语言数据处理方法,其特征在于,所述在所述第一路由表中查找出所述目标解释实例,包括:
在所述第一路由表中筛选出与所述第一版本号相同的第一候选解释实例;
响应于所述第一候选解释实例中存在与所述第二版本号兼容的第二候选解释实例,根据所述第二版本号和所述第三版本号,在所述第二候选解释实例确定所述目标解释实例。
4.根据权利要求3所述的领域特定语言数据处理方法,其特征在于,所述在所述第二候选解释实例确定所述目标解释实例,包括:
响应于所述第二候选解释实例中存在与所述第二版本号相同的第三候选解释实例,确定所述第三候选解释实例中最新的第三版本号对应的解释实例为目标解释实例;
响应于所述第二候选解释实例中不存在与所述第二版本号相同的解释实例,将所述第二候选解释实例中最新的第二版本号和最新的第三版本号对应的解释实例确定为所述目标解释实例。
5.根据权利要求3所述的领域特定语言数据处理方法,其特征在于,所述方法还包括:
响应于所述第一候选解释实例中不存在与所述第二版本号兼容的解释实例,或者,所述第一路由表中不存在与所述第一版本号相同的解释实例,生成异常日志。
6.根据权利要求1所述的领域特定语言数据处理方法,其特征在于,所述获取第一数据,包括:
通过编辑器的编辑实例生成所述第一数据,所述第一数据的第一版本信息为根据所述编辑实例的版本信息确定的。
7.根据权利要求1所述的领域特定语言数据处理方法,其特征在于,所述获取第一数据,包括:
将第二数据导入编辑器,所述第二数据包括第二版本信息,所述第二版本信息的表示方式与所述第一版本信息相同;
根据第二映射关系,确定与所述第二版本信息对应的目标编辑实例;所述第二映射关系为根据不同版本之间的兼容性在所述编辑实例与所述版本信息之间建立的映射关系;
利用所述目标编辑实例编辑处理所述第二数据,以获得所述第一数据。
8.根据权利要求7所述的领域特定语言数据处理方法,其特征在于,所述方法还包括:
根据所述第二映射关系,构建第二路由表;
响应于所述第一数据与所述第二数据的数据结构不同,在所述第二路由表中查找出与所述目标编辑实例对应的候选版本信息;
确定所述第一版本信息为所述候选版本信息中的最新版本。
9.根据权利要求7所述的领域特定语言数据处理方法,其特征在于,所述方法还包括:
响应于所述第一数据与所述第二数据的数据结构相同,确定所述第一版本信息为所述第二版本信息。
10.一种领域特定语言数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取领域特定语言第一数据,所述第一数据包括第一版本信息,所述第一版本信息包括双向不兼容的第一版本号、单向兼容的第二版本号和双向兼容的第三版本号;
第一确定模块,用于根据第一映射关系,确定与所述第一版本信息对应的目标解释实例;所述第一映射关系为根据不同版本之间的兼容性在版本信息与解释实例之间建立的对应关系;
处理模块,用于调用所述目标解释实例对所述第一数据进行解释处理,以执行对应任务。
11.一种计算设备,其特征在于,包括:一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述的方法。
CN202310300903.0A 2023-03-24 2023-03-24 领域特定语言数据处理方法和装置、计算设备、存储介质 Pending CN116225403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310300903.0A CN116225403A (zh) 2023-03-24 2023-03-24 领域特定语言数据处理方法和装置、计算设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310300903.0A CN116225403A (zh) 2023-03-24 2023-03-24 领域特定语言数据处理方法和装置、计算设备、存储介质

Publications (1)

Publication Number Publication Date
CN116225403A true CN116225403A (zh) 2023-06-06

Family

ID=86571329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310300903.0A Pending CN116225403A (zh) 2023-03-24 2023-03-24 领域特定语言数据处理方法和装置、计算设备、存储介质

Country Status (1)

Country Link
CN (1) CN116225403A (zh)

Similar Documents

Publication Publication Date Title
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
US11934287B2 (en) Method, electronic device and computer program product for processing data
CN110764748B (zh) 代码调用方法、装置、终端及存储介质
CN114528044B (zh) 一种接口调用方法、装置、设备及介质
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN110555030A (zh) 一种sql语句的处理方法和装置
CN113238740B (zh) 代码生成方法、代码生成装置、存储介质及电子设备
CN109726217B (zh) 一种数据库操作方法、装置、设备及存储介质
CN110941655A (zh) 一种数据格式转换方法及装置
CN113419789A (zh) 数据模型脚本的生成方法和装置
CN113419740A (zh) 程序数据流的分析方法、装置、电子设备及可读存储介质
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN114356964A (zh) 数据血缘构建方法、装置、存储介质及电子设备
CN110737678B (zh) 一种数据查找方法、装置、设备和存储介质
CN116149632A (zh) 业务逻辑定制方法和装置、计算机设备、存储介质
CN108182241B (zh) 一种数据交互的优化方法、装置、服务器及存储介质
CN116225403A (zh) 领域特定语言数据处理方法和装置、计算设备、存储介质
CN112988278B (zh) 资源文件的meta文件修改方法、装置、电子设备及存储介质
CN112711602B (zh) 一种存储过程的运行方法、装置,数据库系统及存储介质
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN114003583A (zh) 一种目标格式数据请求体的构建方法、装置、介质及设备
CN112612474A (zh) 产品移植方法、装置、存储介质和电子设备
CN113760240A (zh) 一种生成数据模型的方法和装置
CN115563183B (zh) 查询方法、装置及程序产品
CN117118962B (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