CN116644134A - 一种互联互通语句的生成方法及装置 - Google Patents
一种互联互通语句的生成方法及装置 Download PDFInfo
- Publication number
- CN116644134A CN116644134A CN202310626606.5A CN202310626606A CN116644134A CN 116644134 A CN116644134 A CN 116644134A CN 202310626606 A CN202310626606 A CN 202310626606A CN 116644134 A CN116644134 A CN 116644134A
- Authority
- CN
- China
- Prior art keywords
- data
- hql
- processed
- data corresponding
- node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001360 synchronised effect Effects 0.000 claims abstract description 33
- 230000011218 segmentation Effects 0.000 claims description 72
- 230000014509 gene expression Effects 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008676 import Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种互联互通语句的生成方法及装置,涉及大数据技术领域。所述方法包括:获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。所述装置用于执行上述方法。本发明实施例提供的互联互通语句的生成方法及装置,提高了联互通语句的可靠性。
Description
技术领域
本发明涉及大数据技术领域,具体涉及一种互联互通语句的生成方法及装置。
背景技术
目前,分行依托总行互联互通体系每日从总行大规模并行处理(MassivelyParallel Processing,简称MPP)数据库、Hadoop集群拉取业务所需的数据表到分行Hadoop集群,从而实现总行数据的每日加载同步。
总行互联互通体系通过数据搬迁方式实现异构集群间数据的互联互通,解决业务跨集群的数据访问,使数据可以在多个集群之间高效共享。但接入应用需要采用互联互通特有的输入查询语言(Interactive Query Language,简称IQL)语法,而IQL在编写时需要在Hive SQL(以下简称HQL)头部添加注解,用以指明集群间需要做同步的数据。研发人员在编写语句过程中需要手工拼写,不仅十分耗时,还容易出现缺少某项要素或者要素填写不对等问题,导致脚本运行成功率不高,需要人工反复纠正校对。
发明内容
针对现有技术中的问题,本发明实施例提供一种互联互通语句的生成方法及装置,能够至少部分地解决现有技术中存在的问题。
第一方面,本发明提出一种互联互通语句的生成方法,包括:
获取待处理数据,所述待处理数据包括HQL语句;
拆解所述待处理数据,获得每条HQL语句;
解析每条HQL语句,获得每条HQL语句的解析结果;
根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
进一步地,所述解析每条HQL语句包括:
根据切分关键词对每条HQL语句进行切分,获得每条HQL语句的切分结果;其中,每条HQL语句的切分结果包括至少一个切分关键词对应的数据;
解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果。
进一步地,所述解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果包括:
若所述切分关键词对应的数据不是表达式,则将所述切分关键词对应的数据作为所述切分关键词对应的解析结果;
若所述切分关键词对应的数据是表达式,则采用二叉树结构解析规则对所述表达式进行解析,获得所述切分关键词对应的解析结果。
进一步地,所述二叉树结构解析规则包括:
若表达式包括解析标识,则以表达式为根节点,根据优先级最高的解析标识将表达式拆分为左节点对应的数据和右节点对应的数据;其中,解析标识是预设的;
若左节点对应的数据和/或右节点对应的数据不包括解析标识,则将相应的节点作为叶子节点;
若左节点对应的数据和/或右节点对应的数据包括解析标识,则继续对包括解析标识的左节点对应的数据和/或右节点对应的数据进行拆分,直到拆分获得的最后一级节点都是叶子节点;
其中,叶子节点对应的数据不包括解析标识。
进一步地,所述根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解包括:
将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中,生成所述待处理数据对应的同步注解。
进一步地,所述注解模板包括是三类引导字段、第一分隔符和第二分隔符;相应地,所示将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中包括:
从所述解析结果中分别获取每类引导字段对应的数据添加到每类引导字段之后,并将每类引导字段对应的数据以第一分隔符分开和将各类引导字段对应的数据之间以第二分隔符分开。
进一步地,本发明实施例提供的互联互通语句的生成方法,还包括:
根据所述待处理数据对应的同步注解以及所述待处理数据,输出待同步数据文件。
第二方面,本发明提供一种互联互通语句的生成装置,包括:
获取模块,用于获取待处理数据,所述待处理数据包括HQL语句;
拆解模块,用于拆解所述待处理数据,获得每条HQL语句;
解析模块,用于解析每条HQL语句,获得每条HQL语句的解析结果;
生成模块,用于根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
第三方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的互联互通语句的生成方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的互联互通语句的生成方法。
第五方面,本发明提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的互联互通语句的生成方法。
本发明实施例提供的互联互通语句的生成方法及装置,能够获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解,能够避免人工编写互联互通语句出现的错误,提高了联互通语句的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例提供的互联互通语句的生成方法的流程示意图。
图2是本发明第二实施例提供的互联互通语句的生成方法的流程示意图。
图3是本发明第三实施例提供的互联互通语句的生成方法的流程示意图。
图4是本发明第四实施例提供的表达式的解析示意图。
图5是本发明第五实施例提供的互联互通语句的生成装置的结构示意图。
图6是本发明第六实施例提供的互联互通语句的生成装置的结构示意图。
图7是本发明第七实施例提供的互联互通语句的生成装置的结构示意图。
图8是本发明第八实施例提供的互联互通语句的生成装置的结构示意图。
图9是本发明第九实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本申请中技术方案中对数据的获取、存储、使用、处理等均符合法律法规的相关规定。本申请实施例中的用户信息均是通过合法合规途径获得,并且对用户信息的获取、存储、使用、处理等经过客户授权同意的。
下面以服务器作为执行主体为例,对本发明实施例提供的互联互通语句的生成方法进行说明。可理解的是,本发明实施例提供的互联互通语句的生成方法的执行主体不限于服务器。
图1是本发明第一实施例提供的互联互通语句的生成方法的流程示意图,如图1所示,本发明实施例提供的互联互通语句的生成方法,包括:
S101、获取待处理数据,所述待处理数据包括HQL语句;
具体地,用户可以在客户端输入待处理数据或者以文件的形式导入待处理数据,然后通过客户端将待处理数据发送给服务器。服务器会接收到待处理数据,所述待处理数据包括HQL语句。其中,客户端包括但不限于笔记本电脑、台式机、平板电脑等设备。
例如,用户在客户端提供的页面上手动输入多条HQL语句,作为待处理数据。或者,用户通过在客户端提供的页面上,导入包括多条HQL语句的本地文件,将本地文件包括的内容作为待处理数据。
S102、拆解所述待处理数据,获得每条HQL语句;
具体地,所述服务器在获取到所述待处理数据之后,可以对所述待处理数据进行拆解,获得每条HQL语句。
例如,所述待处理数据包括的每条HQL语句以分号结尾,所述服务器可以通过分号从所述待处理数据中拆分出每条HQL语句。
S103、解析每条HQL语句,获得每条HQL语句的解析结果;
具体地,所述服务器对每条HQL语句进行解析,能够获得每条HQL语句的解析结果。所述解析结果可以包括每条HQL语句对应的表名、列名和条件字段。
S104、根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
具体地,所述服务器基于每条HQL语句的解析结果,填写注解模板能够获得每条HQL语句的同步注解,所述待处理数据包括的HQL语句的同步注解构成了所述待处理数据对应的同步注解。同步注解用于指明待处理数据涉及的数据库集群之间需要进行同步的数据。其中,所述注解模板是预设的,根据实际需要进行设置,本发明实施例不做限定。
本发明实施例提供的互联互通语句的生成方法,能够获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解,能够避免人工编写互联互通语句出现的错误,提高了联互通语句的可靠性。此外,由于能够自动生成互联互通语句,无需人工进行编写,提高了联互通语句的生成效率。
图2是本发明第二实施例提供的互联互通语句的生成方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,所述解析每条HQL语句包括:
S201、根据切分关键词对每条HQL语句进行切分,获得每条HQL语句的切分结果;其中,每条HQL语句的切分结果包括至少一个切分关键词对应的数据;
具体地,所述服务器按照切分关键词对每条HQL语句进行切分,以区分HQL语句中的关键词和非关键词,能够获得每条HQL语句的切分结果。每条HQL语句的切分结果包括至少一个关键词对应的数据。其中,切分关键词是预先设置的,根据实际需要进行设置,本发明实施例不做限定。可理解的是,一条HQL语句可以包括一个切分关键词,也可以包括2个及2个以上的切分关键词。
例如,切分关键词包括Select、From、where、On、left join、right join、innerjoin、Group by、having、Order by、asc、desc等。
例如,可以将两个切分关键词之间的内容作为两个切分关键词中排序靠前的切分关键词对应的数据;可以将切分关键词与结束符号之间的内容,作为切分关键词对应的数据。
S202、解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果。
具体地,所述服务器对每个切分关键词对应的数据进行解析,得到每个切分关键词对应的解析结果。每个切分关键词对应的解析结果可以包括表名、列名、条件字段等信息中的至少一种。
图3是本发明第三实施例提供的互联互通语句的生成方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果包括:
S301、若所述切分关键词对应的数据不是表达式,则将所述切分关键词对应的数据作为所述切分关键词对应的解析结果;
具体地,所述服务器可以通过第三方工具判断所述切分关键词对应的数据是不是表达式,如果所述切分关键词对应的数据不是表达式,那么直接将所述切分关键对应的数据作为所述切分关键词对应的解析结果,此时,所述切分关键词对应的解析结果为表名、列名或者条件字段。其中,第三方工具根据实际需要进行选择,本发明实施例不做限定。第三方工具可以以Jar包的形式存储。比如,第三方工具采用JSqlParser的jar包。
S302、若所述切分关键词对应的数据是表达式,则采用二叉树结构解析规则对所述表达式进行解析,获得所述切分关键词对应的解析结果。
具体地,所述服务器如果判断出所述切分关键词对应的数据是表达式,那么可以采用二叉树结构解析规则所述表达式进行解析,得到所述切分关键词对应的解析结果。其中,所述二叉树结构解析规则是预设的,根据实际需要进行设置,本发明实施例不做限定。比如,二叉树结构解析规则可以基于二叉树的前序遍历方法建立。
在上述各实施例的基础上,进一步地,所述二叉树结构解析规则包括:
若表达式包括解析标识,则以表达式为根节点,根据优先级最高的解析标识将表达式拆分为左节点对应的数据和右节点对应的数据;其中,解析标识是预设的;
若左节点对应的数据和/或右节点对应的数据不包括解析标识,则将相应的节点作为叶子节点;
若左节点对应的数据和/或右节点对应的数据包括解析标识,则继续对包括解析标识的左节点对应的数据和/或右节点对应的数据进行拆分,直到拆分获得的最后一级节点都是叶子节点;
其中,叶子节点对应的数据不包括解析标识。
具体地,所述切分关键词对应的数据是表达式,判断表达式中是否包括解析标识,如果表达式包括解析标识,说明可以对表达式进行拆分,那么以表达式为根节点,将从表达式中获得优先级最高的解析标识,将表达式中出现在优先级最高的解析标识之前的数据作为左节点对应的数据,将表达式中出现在优先级最高的解析标识之后的数据,作为右节点对应的数据,从而将表达式拆分为左节点和右节点。
判断左节点对应的数据是否包括解析标识,如果左节点对应的数据不包括解析标识,说明左节点对应的数据无法进行拆分,该左节点可以作为一个叶子节点,左节点对应的数据即为该叶子节点对应的数据。如果左节点对应的数据包括解析标识,说明可以对左节点对应的数据继续进行拆分,可以重复上面表达式的拆分过程,将左节点拆分为两个节点,然后分别判断拆分得到的两个节点对应的数据是否包括解析标识,直到所拆分得到的最后一级节点都是叶子节点。
同理,判断右节点对应的数据是否包括解析标识,如果右节点对应的数据不包括解析标识,说明右节点对应的数据无法进行拆分,该右节点可以作为一个叶子节点,左节点对应的数据即为该叶子节点对应的数据。如果右节点对应的数据包括解析标识,说明可以对右节点对应的数据继续进行拆分,可以重复上面表达式的拆分过程,将右节点拆分为两个节点,然后分别判断拆分得到的两个节点对应的数据是否包括解析标识,直到所拆分得到的最后一级节点都是叶子节点。
其中,叶子节点对应的数据不包括解析标识。解析标识根据实际需要进行设置,本发明实施例不做限定。解析标识例如为and、on、like、or、=、<>等,根据实际需要进行设置,本发明实施例不做限定。
例如,表达式A为:bb.t1 like'01205%'and(bb.t2 in('40','30','M0','70')or(bb.t3='20'and bb.4<>bb.t5)),表达式A对应的切分关键词为Where,表达式A的解析过程如图4所示。
表达式A包括like、and、or等解析标识,and为各个解析标识中优先级最高的解析标识,可以将表达式A作为根节点1对应的数据,将根节点1拆分为左节点11和右节点12,左节点11对应的数据为:bb.t1 like'01205%';右节点12对应的数据为(bb.t2 in('40','30','M0','70')or(bb.t3='20'and bb.4<>bb.t5))。
左节点11对应的数据包括解析标识like,继续将左节点拆分为两个节点:节点111和节点112,节点111对应的数据为bb.t1,节点112对应的数据为'01205%'。节点111和节点112为叶子节点。
右节点12对应的数据包括解析标识or等,继续将右节点拆分为两个节点:节点121和节点122,节点121对应的数据为bb.t2 in('40','30','M0','70'),节点112对应的数据为(bb.t3='20'and bb.4<>bb.t5)。
节点121对应的数据包括解析标识in,继续将节点121拆分为两个节点:节点1211和节点1212,节点1211对应的数据为bb.t2,节点1212对应的数据为('40','30','M0','70')。节点1211和节点1212为叶子节点。
节点112对应的数据包括解析标识and,继续将节点112拆分为两个节点:节点1121和节点1122,节点1121对应的数据为bb.t3='20',节点1122对应的数据为bb.4<>bb.t5。
节点1121对应的数据包括解析标识=,继续将节点1121拆分为两个节点:节点11211和节点11212,节点11211对应的数据为bb.t3,节点11212对应的数据为'20'。节点11211和节点11212为叶子节点。
节点1122对应的数据包括解析标识<>,继续将节点1122拆分为两个节点:节点11221和节点11222,节点11221对应的数据为bb.4,节点11222对应的数据为bb.t5。节点11221和节点11222为叶子节点。
表达式A解析完成之后,所获得的各个叶子节点对应的数据构成切分关键词Where对应的解析结果。
在上述各实施例的基础上,进一步地,所述根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解包括:
将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中,生成所述待处理数据对应的同步注解。
具体地,所述服务器从每条HQL语句的解析结果中获取相关信息,按照预设对应关系添加到所述注解模板中,得到每条HQL语句对应的同步注解,所述待处理数据对应的各条HQL语句对应的同步注解构成所述待处理数据对应的同步注解。其中,对应关系根据实际需要进行设置,本发明实施例不做限定。
例如,HQL语句的解析结果包括表名和列名,注解模板包括表名对应的字段table_name和列名对应的字段export_fields,服务器会从HQL语句的解析结果获取表名添加到注解模板的table_name之后,并获取列名添加到注解模板的export_fields之后,在注解模板中,table_name与export_fields以分隔符分隔。字段table_name与表名对应,以及字段export_fields与列名对应是预先设置的。
在上述各实施例的基础上,进一步地,所述注解模板包括是三类引导字段、第一分隔符和第二分隔符;相应地,所示将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中包括:
从所述解析结果中分别获取每类引导字段对应的数据添加到每类引导字段之后,并将每类引导字段对应的数据以第一分隔符分开和将各类引导字段对应的数据之间以第二分隔符分开。
具体地,所述注解模板包括三类引导字段和分隔符,所述引导字段用于标识哪些数据需要进行同步,所述第一分隔符用于区分每类引导字段对应的数据包括的多个数据,所述第二分隔符用于区分各类引导字段对应的数据。
所述服务器可以从所述解析结果中获取每类引导字段对应的数据,然后添加到所述注解模板的每类引导字段之后,如果存在多个数据,则以第一分隔符分开,并在每类引导字段对应的数据添加完成之后以第二分隔符结尾,以便于区分出各类引导字段对应的数据。其中,各类引导字段根据实际需要进行设置,本发明实施例不做限定。第一分隔符和第二分隔符根据实际需要进行设置,本发明实施例不做限定。
例如,注解模板包括table_name、export_fields和query_conditions三类引导字段,table_name对应于表名,将表名添加到table_name之后,如果有多个表名,则以第一分隔符“;”分开,table_name对应的表名添加完成之后,以第二分隔符“|”结尾。export_fields对应于列名,将列名添加到export_fields之后,如果有多个列名,则以第一分隔符“;”分开,export_fields对应的列名添加完成之后,以第二分隔符“|”结尾。query_conditions对应于查询条件,将查询条件添加到table_name之后,如果有多个查询条件,则以第一分隔符“;”分开,query_conditions对应的查询条件添加完成之后,以第二分隔符“|”结尾。
进一步地,所述注解模板还可以包括默认字段,默认字段对应的内容是预先设置的。默认字段根据实际需要进行设置,本发明实施例不做限定。
例如,在注解模板中设置src_cluster_name对应原始表所属的源集群的名称,设置src_db_name对应原始表所属的源库的名称,设置src_schema_name原始表所属的源模式的名称,设置dst_db_name对应计划将原始表搬到的目标库的名称等。
在上述各实施例的基础上,进一步地,本发明实施例提供的互联互通语句的生成方法还包括:
根据所述待处理数据对应的同步注解以及所述待处理数据,输出待同步数据文件。
具体地,所述服务器可以将所述待处理数据对应的同步注解以及所述待处理数据输出到同一份文件中,作为待同步数据文件。所述待同步数据文件用于进行数据同步。
例如,将所述待处理数据对应的同步注解添加到存储所述待处理数据的文件的头部,存储为待同步数据文件。
图5是本发明第五实施例提供的互联互通语句的生成装置的结构示意图,如图5所示,本发明实施例提供的互联互通语句的生成装置包括获取模块501、拆解模块502、解析模块503和生成模块504,其中:
获取模块501用于获取待处理数据,所述待处理数据包括HQL语句;拆解模块502用于拆解所述待处理数据,获得每条HQL语句;解析模块503用于解析每条HQL语句,获得每条HQL语句的解析结果;生成模块504用于根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
具体地,用户可以在客户端输入待处理数据或者以文件的形式导入待处理数据,然后通过客户端将待处理数据发送给获取模块501。获取模块501接收到待处理数据,所述待处理数据包括HQL语句。其中,客户端包括但不限于笔记本电脑、台式机、平板电脑等设备。
在获取到所述待处理数据之后,拆解模块502可以对所述待处理数据进行拆解,获得每条HQL语句。
解析模块503对每条HQL语句进行解析,能够获得每条HQL语句的解析结果。所述解析结果可以包括每条HQL语句对应的表名、列名和条件字段。
生成模块504基于每条HQL语句的解析结果,填写注解模板能够获得每条HQL语句的同步注解,所述待处理数据包括的HQL语句的同步注解构成了所述待处理数据对应的同步注解。同步注解用于指明待处理数据涉及的数据库集群之间需要进行同步的数据。其中,所述注解模板是预设的,根据实际需要进行设置,本发明实施例不做限定。
本发明实施例提供的互联互通语句的生成装置,能够获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解,能够避免人工编写互联互通语句出现的错误,提高了联互通语句的可靠性。此外,由于能够自动生成互联互通语句,无需人工进行编写,提高了联互通语句的生成效率。
图6是本发明第六实施例提供的互联互通语句的生成装置的结构示意图,如图6所示,在上述各实施例的基础上,进一步地,解析模块503包括切分单元5031和解析单元5032,其中:
切分单元5031用于根据切分关键词对每条HQL语句进行切分,获得每条HQL语句的切分结果;其中,每条HQL语句的切分结果包括至少一个切分关键词对应的数据;解析单元5032用于解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果。
图7是本发明第七实施例提供的互联互通语句的生成装置的结构示意图,如图7所示,在上述各实施例的基础上,进一步地,解析单元5032包括第一解析子单元50321和第二解析子单元50322,其中:
第一解析子单元50321用于若所述切分关键词对应的数据不是表达式,则将所述切分关键词对应的数据作为所述切分关键词对应的解析结果;第二解析子单元50322用于若所述切分关键词对应的数据是表达式,则采用二叉树结构解析规则对所述表达式进行解析,获得所述切分关键词对应的解析结果。
在上述各实施例的基础上,进一步地,所述二叉树结构解析规则包括:
若表达式包括解析标识,则以表达式为根节点,根据优先级最高的解析标识将表达式拆分为左节点对应的数据和右节点对应的数据;其中,解析标识是预设的;
若左节点对应的数据和/或右节点对应的数据不包括解析标识,则将相应的节点作为叶子节点;
若左节点对应的数据和/或右节点对应的数据包括解析标识,则继续对包括解析标识的左节点对应的数据和/或右节点对应的数据进行拆分,直到拆分获得的最后一级节点都是叶子节点;
其中,叶子节点对应的数据不包括解析标识。
在上述各实施例的基础上,进一步地,生成模块504具体用于:
将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中,生成所述待处理数据对应的同步注解。
在上述各实施例的基础上,进一步地,所述注解模板包括是三类引导字段和分割符;相应地,生成模块504还用于:
从所述解析结果中分别获取每类引导字段对应的数据添加到每类引导字段之后,并将每类引导字段对应的数据以第一分隔符分开和将各类引导字段对应的数据之间以第二分隔符分开。
图8是本发明第八实施例提供的互联互通语句的生成装置的结构示意图,如图8所示,在上述各实施例的基础上,进一步地,本发明实施例提供的互联互通语句的生成装置还包括输出模块505,其中:
输出模块505用于根据所述待处理数据对应的同步注解以及所述待处理数据,输出待同步数据文件。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的互联互通语句的生成方法可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对互联互通语句的生成方法的应用领域不做限定。
图9是本发明第九实施例提供的电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)901、通信接口(Communications Interface)902、存储器(memory)903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。处理器901可以调用存储器903中的逻辑指令,以执行如下方法:获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
此外,上述的存储器903中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待处理数据,所述待处理数据包括HQL语句;拆解所述待处理数据,获得每条HQL语句;解析每条HQL语句,获得每条HQL语句的解析结果;根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种互联互通语句的生成方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括HQL语句;
拆解所述待处理数据,获得每条HQL语句;
解析每条HQL语句,获得每条HQL语句的解析结果;
根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
2.根据权利要求1所述的方法,其特征在于,所述解析每条HQL语句包括:
根据切分关键词对每条HQL语句进行切分,获得每条HQL语句的切分结果;其中,每条HQL语句的切分结果包括至少一个切分关键词对应的数据;
解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果。
3.根据权利要求2所述的方法,其特征在于,所述解析每个切分关键词对应的数据,获得每个切分关键词对应的解析结果包括:
若所述切分关键词对应的数据不是表达式,则将所述切分关键词对应的数据作为所述切分关键词对应的解析结果;
若所述切分关键词对应的数据是表达式,则采用二叉树结构解析规则对所述表达式进行解析,获得所述切分关键词对应的解析结果。
4.根据权利要求3所述的方法,其特征在于,所述二叉树结构解析规则包括:
若表达式包括解析标识,则以表达式为根节点,根据优先级最高的解析标识将表达式拆分为左节点对应的数据和右节点对应的数据;其中,解析标识是预设的;
若左节点对应的数据和/或右节点对应的数据不包括解析标识,则将相应的节点作为叶子节点;
若左节点对应的数据和/或右节点对应的数据包括解析标识,则继续对包括解析标识的左节点对应的数据和/或右节点对应的数据进行拆分,直到拆分获得的最后一级节点都是叶子节点;
其中,叶子节点对应的数据不包括解析标识。
5.根据权利要求1所述的方法,其特征在于,所述根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解包括:
将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中,生成所述待处理数据对应的同步注解。
6.根据权利要求5所述的方法,其特征在于,所述注解模板包括是三类引导字段、第一分隔符和第二分隔符;相应地,所示将每条HQL语句的解析结果按照预设对应关系添加到所述注解模板中包括:
从所述解析结果中分别获取每类引导字段对应的数据添加到每类引导字段之后,并将每类引导字段对应的数据以第一分隔符分开和将各类引导字段对应的数据之间以第二分隔符分开。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
根据所述待处理数据对应的同步注解以及所述待处理数据,输出待同步数据文件。
8.一种互联互通语句的生成装置,其特征在于,包括:
获取模块,用于获取待处理数据,所述待处理数据包括HQL语句;
拆解模块,用于拆解所述待处理数据,获得每条HQL语句;
解析模块,用于解析每条HQL语句,获得每条HQL语句的解析结果;
生成模块,用于根据每条HQL语句的解析结果和注解模板,生成所述待处理数据对应的同步注解;其中,所述注解模板是预设的。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310626606.5A CN116644134A (zh) | 2023-05-30 | 2023-05-30 | 一种互联互通语句的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310626606.5A CN116644134A (zh) | 2023-05-30 | 2023-05-30 | 一种互联互通语句的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116644134A true CN116644134A (zh) | 2023-08-25 |
Family
ID=87615065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310626606.5A Pending CN116644134A (zh) | 2023-05-30 | 2023-05-30 | 一种互联互通语句的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644134A (zh) |
-
2023
- 2023-05-30 CN CN202310626606.5A patent/CN116644134A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933752B (zh) | 一种导出电子文档的方法和装置 | |
CN107704453B (zh) | 一种文字语义分析方法、文字语义分析终端及存储介质 | |
CN107729480B (zh) | 一种限定区域的文本信息抽取方法及装置 | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN112015722A (zh) | 数据库管理方法、数据血缘分析方法以及相关装置 | |
CN111008020A (zh) | 将逻辑表达式解析为通用查询语句的方法 | |
CN109683881B (zh) | 一种代码格式调整方法及装置 | |
CN109284088B (zh) | 一种信令大数据处理方法及电子设备 | |
CN105095180A (zh) | 一种中文人名播报方法及装置 | |
CN111221888A (zh) | 大数据分析系统及方法 | |
CN110275712B (zh) | 一种文本替换方法、装置及设备 | |
CN117216214A (zh) | 一种问答抽取的生成方法、装置、设备及介质 | |
CN116644134A (zh) | 一种互联互通语句的生成方法及装置 | |
CN114416107A (zh) | 翻译逻辑的方法、装置、存储介质和设备 | |
CN113239039B (zh) | 动态数据的存储方法、查询方法、管理方法及管理系统 | |
US20210117920A1 (en) | Patent preparation system | |
CN111159496B (zh) | 正则表达式nfa的构造方法及装置 | |
CN110825453B (zh) | 基于大数据平台的数据处理方法及装置 | |
CN112035416A (zh) | 数据血缘分析方法、装置、电子设备及存储介质 | |
CN117349332B (zh) | 一种应用程序编程接口api的生成方法、装置和电子设备 | |
CN115309391A (zh) | 代码片段复用方法、装置、电子设备和存储介质 | |
CN113220800B (zh) | 基于antlr的数据字段血缘分析方法及装置 | |
CN112949283B (zh) | 文本处理方法、装置、非易失性存储介质及处理器 | |
CN117370620B (zh) | 一种数据血缘的构建方法、装置、终端设备及存储介质 | |
CN111221846B (zh) | 一种sql语句的自动翻译方法及装置 |
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 |