CN114064685A - 数据标准化访问方法及其装置、设备、介质、产品 - Google Patents
数据标准化访问方法及其装置、设备、介质、产品 Download PDFInfo
- Publication number
- CN114064685A CN114064685A CN202111231694.6A CN202111231694A CN114064685A CN 114064685 A CN114064685 A CN 114064685A CN 202111231694 A CN202111231694 A CN 202111231694A CN 114064685 A CN114064685 A CN 114064685A
- Authority
- CN
- China
- Prior art keywords
- data access
- standard
- data
- instruction
- expression
- 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 49
- 230000014509 gene expression Effects 0.000 claims abstract description 88
- 238000004590 computer program Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 13
- 238000004891 communication Methods 0.000 description 13
- 230000018109 developmental process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
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/24—Querying
- G06F16/242—Query formulation
-
- 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/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开一种数据标准化访问方法及其装置、设备、介质、产品,所述方法包括:获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树;根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果。本申请能实现多数据库引擎之间的数据访问方式的标准化,提升数据访问效率,降低开发成本。
Description
技术领域
本申请涉及服务器后台访问技术,尤其涉及一种数据标准化访问方法及其相应的装置、计算机设备、计算机可读存储介质,以及计算机程序产品。
背景技术
系统之间交互需要定义多种多样的协议,当系统之间通信的协议包含逻辑关系时,事情就会变地更加复杂起来,常规多参数组合方式往往需要多个参数进行组合使用,而这种组合往往又会形成协议上的歧义,例如当参数A存在的时候,参数B的值无意义,再比如当参数A存在时候,参数B必须有值,那么文档针对参数A、B的关系将要大篇幅论述,即便如此依然会造成用户使用时候的误解,诸如此类,容易导致系统之间的交互产生意想不到的故障。
另一示例中,当服务系统A封装了服务系统B和服务系统C时候,服务系统A的协议就会变得纷繁复杂,并且随着时间的推移,协议会过度膨胀,同时服务系统A的业务使用方也会被要求对B和C的协议要求有一定的了解,那么 A需要一个统一标准的协议来可以同时路由到B和C的协议上也就显地非常重要。现有技术中,这种多服务系统之间的通信,缺乏相应的协议,因此无法处理多服务系统间的高效通信。
发明内容
本申请的首要目的在于解决上述问题至少之一而提供一种数据标准化访问方法及其相应的装置、计算机设备、计算机可读存储介质、计算机程序产品。
为满足本申请的各个目的,本申请采用如下技术方案:
适应本申请的目的之一而提供的一种数据标准化访问方法,包括如下步骤:
响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;
调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中;
根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;
向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令。
具体的实施例中,所述统一协议规范包含所述标准指令符、标准数据项以及标准运算符相对应的词法定义信息,以及包括用于实现语法树转换所需的语法结构定义信息。
较佳的实施例中,所述统一协议规范中,根据不同的预设应用场景构造多个相应的定义模块,每个定义模块用于定义与其相应的预设应用场景相对应的词法定义信息及语法结构定义信息。
较佳的实施例中,所述数据访问表达式根据统一协议规范被编制为符合自然语言习惯的表达形式。
深化的实施例中,本方法置于统一服务器中执行,其响应多用户多应用场景的数据访问指令,而将数据访问指令解析为相应的执行指令集后,传输到各应用场景相对应的数据库中执行,以获取所述的数据访问结果应答所述数据访问指令。
较佳的实施例中,所述应用场景包括数据搜索应用场景、数据排序应用场景、数据计算应用场景中任意一项或多项。
适应本申请的目的之一而提供的一种数据标准化访问装置,包括:表达式获取模块、语法树转换模块、指令集生成模块,以及执行与响应模块,其中,所述表达式获取模块,用于响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;所述语法树转换模块,用于调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中;所述指令集生成模块,用于根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;所述执行与响应模块,用于向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令。
具体的实施例中,所述统一协议规范包含所述标准指令符、标准数据项以及标准运算符相对应的词法定义信息,以及包括用于实现语法树转换所需的语法结构定义信息。
较佳的实施例中,所述统一协议规范中,根据不同的预设应用场景构造多个相应的定义模块,每个定义模块用于定义与其相应的预设应用场景相对应的词法定义信息及语法结构定义信息。
较佳的实施例中,所述数据访问表达式根据统一协议规范被编制为符合自然语言习惯的表达形式。
深化的实施例中,本装置置于统一服务器中运行,其响应多用户多应用场景的数据访问指令,而将数据访问指令解析为相应的执行指令集后,传输到各应用场景相对应的数据库中执行,以获取所述的数据访问结果应答所述数据访问指令。
较佳的实施例中,所述应用场景包括数据搜索应用场景、数据排序应用场景、数据计算应用场景中任意一项或多项。
适应本申请的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的数据标准化访问方法的步骤。
适应本申请的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的数据标准化访问方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
适应本申请的另一目的而提供的一种计算机程序产品,包括计算机程序/ 指令,该计算机程序/指令被处理器执行时实现本申请任意一种实施例中所述方法的步骤。
相对于现有技术,本申请的优势如下:
本申请通过统一协议规范实现将数据访问指令中的数据访问表达式到不同服务系统的数据库的执行指令集之间的解析转换,能够将以符合统一协议规范的数据访问表达式转换为其对应的数据库的可执行指令,方便采用统一格式的自然语言进行数据访问表达式的编制,从而避免出现采用不同协议时容易引起的参数歧义的问题,同时也避免了不同系统之间为实现通信对接访问而需付出的各种繁琐开发代价,能够在大大提升数据访问效率的同时,降低软件工程开发成本。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请的数据标准化访问方法的典型实施例的流程示意图;
图2为本申请的数据标准化访问装置的原理框图;
图3为本申请所采用的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS (Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
本申请的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
本申请中所引用或可能引用到的神经网络模型,除非明文指定,既可部署于远程服务器且在客户端实施远程调用,也可部署于设备能力胜任的客户端直接调用,某些实施例中,当其运行于客户端时,其相应的智能可通过迁移学习来获得,以便降低对客户端硬件运行资源的要求,避免过度占用客户端硬件运行资源。
本申请所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本申请的技术方案所调用即可。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
本申请的一种数据标准化访问方法,可被编程为计算机程序产品,部署于服务集群中运行而实现,以便藉此通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品进行人机交互而执行该方法。
请参阅图1,本申请的数据标准化访问方法在其典型实施例中,包括如下步骤:
步骤S1100、响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符:
本申请示例性的网络逻辑架构中,其包括多个服务系统,每个服务系统均用于实现某种确保的服务功能,各个服务系统均可保留应用各自相适应的通信协议,且不同服务系统可以采用不同的数据库引擎,用于存储相应的数据。服务系统之间可以跨系统进行数据访问,其中任意一方可以适应业务需求而向任意另一方向发送数据访问指令,另一方执行该数据访问指令后向相对方返回相关的执行结果。
所述的数据库引擎,包括提供任意数据存储形式的能力的服务,例如, SQL、Oracle、Redis、HBase等,各式各样的专业数据库引擎,也包括诸如按照一定的组织逻辑存储于服务器存储空间内的服务能力等,只要相应的服务系统能够协助对这些能力相对应的数据进行对应的访问,即可将这些能力相对应的数据访问服务视为相应的数据库引擎,将这些能力提供的存储机制等同视为实现了相应的数据库。
对于所述服务系统而言,每个服务系统可以拥有不同的所述数据库,用于存储和处理各种各样的数据,在外部请求或指令需要调用时,通过执行相应的执行指令,获取相应的数据,或者对相应的数据进行执行指令相应的处理,然后将执行结果反馈给相应的请求方或指令发出方,从而实现跨服务系统的数据交互。
外部请求或指令发起对一个或多个所述的服务系统的数据访问时,需要提供相应的数据访问表达式,接收该数据访问表达式的服务系统通过配置集成本申请的统一协议,因此可以在统一协议的作用下,对所述数据访问表达式进行相应的处理。
根据本申请的统一协议,配置了统一协议的服务系统将遵循该统一协议的相关规范,即统一协议规范,以便对所述数据访问表达式进行相应的解析处理。
根据所述统一协议规范,所述服务系统将配置了数据库访问所需的相关关键词和语法结构相关的定义,至少包含两大定义信息,分别是词法定义信息和语法结构定义信息。
所述词法定义信息,是指对数据访问表达式所需采用的关键词的定义信息,这些关键词包括但不限于构造一个数据访问表达式所需的标准指令符、标准数据项以及标准运算符。所述标准指令符用于解析转换为指示相应的数据库执行具体指令的对应项,所述标准数据项用于解析转换为指向相应的数据库中的具体数据的对应项,即字段,所述标准运算符用于解析转换为相应的数据库所兼容的各种运算符对应项。
词法定义信息中的关键词,在统一协议中,按照预设应用场景进行分场景进行规范。对此,可以预先划分出多个应用场景,例如数据搜索应用场景、数据排序应用场景、数据计算应用场景等。
对于数据搜索应用场景,用于描述响应执行搜索相关的需求,当需要对提供搜索相关的服务系统的数据库中的数据进行访问时,与访问相对应所需的相关标准指令符、标准数据项以及标准运算符均进行预先定义,使得这一应用场景相应的标准指令符、标准数据项以及标准运算符均能被解析转换为该服务系统相应的数据库引擎所能支持执行的对应项,至此,相应的定义信息便可构成一个逻辑上独立且对应于该数据搜索应用场景的定义模块。
对于数据排序应用场景,用于描述响应执行数据排序相关的需求,当需要对提供数据排序相关的服务系统的数据库中的数据进行访问时,与访问相对应所需的相关标准指令符、标准数据项以及标准运算符均进行预先定义,使得这一应用场景相应的标准指令符、标准数据项以及标准运算符均能被解析转换为该服务系统相应的数据库引擎所能支持执行的对应项,至此,相应的定义信息便可构成一个逻辑上独立且对应于该数据排序应用场景的定义模块。
对于数据计算应用场景,用于描述响应执行数据计算相关的需求,当需要对提供数据计算相关的服务系统的数据库中的数据进行访问时,与访问相对应所需的相关标准指令符、标准数据项以及标准运算符均进行预先定义,使得这一应用场景相应的标准指令符、标准数据项以及标准运算符均能被解析转换为该服务系统相应的数据库引擎所能支持执行的对应项,至此,相应的定义信息便可构成一个逻辑上独立且对应于该数据计算应用场景的定义模块。
据此,各个不同应用场景在所述统一协议中均具有相对应的定义模块。需要指出的是,每个定义模块中对各个关键词的定义,既可仅包括一个服务系统相对应的关键词,也可以包括多个服务系统相对应的关键词,以便实现跨服务系统之间的定义信息的互通,可由本领域技术人员灵活设定。
对于所述的各个定义模块,除了包括所述的词法定义信息之外,还需包括其所包括的词法定义信息相对应的语法结构定义信息,以便据此通过所述语法结构定义信息实现对根据数据访问表达式获得的标准指令符、标准数据项以及标准运算符的对应项的梳理,后续可据此对语法分析器生成的语法树进行相应的解析。应当理解,不同的数据库引擎,彼此的语法结构定义信息可能不同,也即,所述语法结构定义信息通常遵循数据库引擎自身的规范而对应编制。
由此可见,每个定义模块均主要包括一个预设应用场景所需的词法定义信息和与之相应的语法结构定义信息,统一协议中包含一个或多个这样的定义模块,对于遵循该定义模块的协议规范所构造的数据访问表达式,便可根据该定义模块所描述的协议规范对其进行对应的解析转换。
所述的定义模块中,词法定义信息所涉及的标准指令符以及标准运算符均被预先定义为自然语言中的词汇,例如英文单词,语法结构定义信息同理也在统一协议中按照自然语言语法习惯定义出数据访问表达式应有的语法结构,以使数据访问的发起方能够以符合自然语言习惯的表达形式构造相应的数据访问表达式。藉此,开发人员开发过程中编制相关代码时,便可根据统一协议规范,基于自然语言习惯进行数据访问表达式相关的标准化代码的编写,使得其所开发的相关应用程序在运行之后,便可对应构造出符合自然语言表述习惯的数据访问表达式。
据此,本申请中,所述的数据访问表达式的格式,基本按照自然语言习惯进行表述,例如,以下的表达式相比较各种数据库引擎原始的表达式,将更接近自然语言习惯:
Search‘keyword’in(‘title weight 2’)by‘or’use ‘hightlight’minMatch‘80%’
此一示例性的表达式中,根据统一协议规范,Search……in……by…… use……minMatch……可以视为标准指令符,单引号内标示部分词汇如keyword、 title等可视为标准数据项,单引号内标示部分词汇如weight、hightlight等可视为标准运算符,至于2、‘80%’等,可以视为相应的传参即可。据此,可以看出,相较于SQL、Redis等不同数据库引擎提供的各不相同的表述词汇而言,统一协议规范下的语言表述不仅实现了统一,而且更接近自然语言表述。据此,开发人员在开发相关代码时,更易标准化实施。
步骤S1200、调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中:
本申请中,采用语法分析器负责对数据访问表达式进行解析,首先通过语法分析器将所述的数据访问表达式转换为语法树,相应的,数据访问表达式中的标准指令符、标准数据项以及标签运算符便被对应转换为所述语法树的节点中。
所述语法分析器实现对所述统一协议规范的应用,语法分析器可以实现为包括扫描器、编译器以及解释器,其中,扫描器负责根据所述统一协议规范的定义模块中的词法定义信息和语法结构定义信息对数据访问表达式进行分析量化形成字符组,也即实现分词,使数据访问表达式可以被编译器所理解,但并不考虑上下文信息。所述编译器负责根据目标服务系统的数据库引擎所支持的语法将所述字符组重新组织,转换为该数据库引擎所能支持的序列,该编译器最终将该序列抽象为语法树,各个字符组于是被存储于语法树的各个节点中,应当理解,各个字符组在此处已被转换为所述数据库引擎所规范的表述形式。而所述的解释器,用于对语法树实施解析转换,将在后一步骤中进一步说明,此处暂且不表。
所述的语法分析器,可以采用ANTLR来实施,ANTLR—Another Tool for LanguageRecognition,其前身是PCCTS,适于为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架。ANTLR可以通过断言 (Predicate)解决识别冲突;支持动作(Action)和返回值(Return Value) 来;且可以根据输入自动生成语法树并可视化地显示出来。因此,本领域技术人员可以根据本申请所揭示的实现原理,采用ANTLR为基础工具来实现本申请所需的语法分析器,利用这一语法分析器来根据统一协议规范对数据访问表达式进行解析转换,生成相应的语法树,借此可以降低本申请的技术方案的实施成本。
步骤S1300、根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项:
对语法树的进一步解析转换,可以借助所述的解释器来实现。同理,所述解释器根据所述统一协议规范中定义的语法结构定义信息及词法定义信息,对数据访问表达式的语法树进行解析转换,便可生成与数据访问指令相对应的执行指令集,不难理解,所述的执行指令集中,将包括数据表达式中的所述标准指令符、标准数据项以及标准运算符的结构化的对应项。
以先前示例的符合自然语言习惯的数据访问表达式为例,其中的关键词 weight、highlight等,目前惯用的各种数据库引擎均未对其进行相应的定义,因此,数据库引擎无法直接理解其对应的指令,本申请中,在编制统一协议规范时,便定义了此类关键词相对应的执行指令,在这种情况下,遵守该统一协议规范的解释器便可以根据统一协议而解析语法树,在解析过程中针对此类关键词将其一一对应转换为目标数据库引擎预先定义的执行指令,用于构造所述的执行指令集。
可以理解,执行指令集中的所述执行指令,是目标数据库引擎所能支持的执行指令,一条符合自然语言习惯的数据访问表达式经解析转换之后,可能被转换为包含多个所述的执行指令,当执行指令集提交给相关数据库引擎执行时,数据库引擎可以按序调用执行指令执行之。
可以理解,在对语法树进行解析转换的过程中,如果涉及多个服务系统的不同数据库引擎的数据调用,语法分析器可以相应的获得多个数据库引擎相对应的执行指令集,后续将不同的执行指令集对应分发给相应的数据库引擎执行即可。
至于语法分析器为数据访问表达式确定其相应的数据库引擎的规则,可以在统一协议中进行规范,通过在定义模块的词法定义信息中预先编制好各个标准指令符、标准数据项以及标准数据项与目标数据库引擎之间的对应关系,便可根据数据访问表达式对应到相应的目标数据引擎,从而确保数据库引擎的选用对于数据库访问表达式的构造而言是透明的,也即,用户无需预先在数据访问表达式中指定服务系统或其数据库引擎,只需遵循统一协议规范进行数据访问表达式的构造即可,进一步简化了开发难度,提升开发效率。
步骤S1400、向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令:
当经过语法分析器的解析转换获得数据访问表达式的执行指令集之后,便可将该执行指令集提交给相应的服务系统的数据库引擎(数据库),相应的数据库引擎获取到该执行指令集之后,无需再行解析,只需按照执行指令集中的各条执行指令进行逐条执行即可,最后获得的执行结果,作为数据访问表达式相对应的数据访问结果,用于应答所述数据访问指令。
针对数据访问表达式被解析转换为多个执行指令集的情况,不同的数据库引擎会返回或者传递其各自的数据访问结果,对于多源数据访问结果的情况,在语法分析器生成的某一执行指令集中,将涉及到对其他数据库引擎的数据访问所得的数据访问结果的调用相应的执行指令,这种情况下,本申请可以预先实现对这种跨服务系统之间的数据传输,使得多个数据访问结果最终合并为数据访问表达式所期望的一个数据访问结果来输出。
较佳的实施例中,将本申请的数据标准化访问方法实现于一个统一了不同服务系统之间的业务逻辑的服务器中执行,便其并发响应多用户多应用场景的数据访问指令,而将数据访问指令解析为相应的执行指令集后,传输到各应用场景相对应的数据库中执行,以获取所述的数据访问结果应答所述数据访问指令。由此,实现对多服务系统之间的业务整合,实现完全标准化的数据访问,能大大提升数据访问效率,降低数据访问相关技术开发难度,节省软件工程开发成本。
本申请的数据标准化访问方法的一个示例性应用场景中是电商平台的后台开发的软件工程组织场景,电商平台中通过多个不同的数据库引擎提供后台存储服务,相应构成多个服务系统,例如与商品搜索相关的服务系统,与商品统计数据相关的服务系统等,软件工程的开发团队通过相同或不同的开发框架进行电商平台相关的各类网页、应用程序的开发,同时可能应用不同的多种开发语言,这种情况下,开发人员只需根据本申请的统一协议规范进行相应的代码开发即可,后续代码被运行之后,便可由实现了本申请的方法的相应服务器响应所述代码相应的指令,而根据数据访问表达式获取到相应的数据访问结果。当然,其他类似的应用场景也可以应用本申请的方案,同理可体现本申请的创造精神的优势。
综上所述,本申请通过统一协议规范实现将数据访问指令中的数据访问表达式到不同服务系统的数据库的执行指令集之间的解析转换,能够将以符合统一协议规范的数据访问表达式转换为其对应的数据库的可执行指令,方便采用统一格式的自然语言进行数据访问表达式的编制,从而避免出现采用不同协议时容易引起的参数歧义的问题,同时也避免了不同系统之间为实现通信对接访问而需付出的各种繁琐开发代价,能够在大大提升数据访问效率的同时,降低软件工程开发成本。
请参阅图2,适应本申请的目的之一而提供的一种数据标准化访问装置,包括:表达式获取模块1100、语法树转换模块1200、指令集生成模块1300,以及执行与响应模块1400,其中,所述表达式获取模块1100,用于响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;所述语法树转换模块 1200,用于调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中;所述指令集生成模块1300,用于根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;所述执行与响应模块1400,用于向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令。
具体的实施例中,所述统一协议规范包含所述标准指令符、标准数据项以及标准运算符相对应的词法定义信息,以及包括用于实现语法树转换所需的语法结构定义信息。
较佳的实施例中,所述统一协议规范中,根据不同的预设应用场景构造多个相应的定义模块,每个定义模块用于定义与其相应的预设应用场景相对应的词法定义信息及语法结构定义信息。
较佳的实施例中,所述数据访问表达式根据统一协议规范被编制为符合自然语言习惯的表达形式。
深化的实施例中,本装置置于统一服务器中运行,其响应多用户多应用场景的数据访问指令,而将数据访问指令解析为相应的执行指令集后,传输到各应用场景相对应的数据库中执行,以获取所述的数据访问结果应答所述数据访问指令。
较佳的实施例中,所述应用场景包括数据搜索应用场景、数据排序应用场景、数据计算应用场景中任意一项或多项。
为解决上述技术问题,本申请实施例还提供计算机设备。如图3所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据标准化访问方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的数据标准化访问方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图 3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图2中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本申请的数据标准化访问装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的数据标准化访问方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本申请任一实施例所述方法的步骤。
本领域普通技术人员可以理解实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read- Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请能实现多数据库引擎服务系统之间的数据访问方式的标准化,提升数据访问效率,降低软件工程开发成本。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据标准化访问方法,其特征在于,包括如下步骤:
响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;
调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中;
根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;
向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令。
2.根据权利要求1所述的数据标准化访问方法,其特征在于,所述统一协议规范包含所述标准指令符、标准数据项以及标准运算符相对应的词法定义信息,以及包括用于实现语法树转换所需的语法结构定义信息。
3.根据权利要求2所述的数据标准化访问方法,其特征在于,所述统一协议规范中,根据不同的预设应用场景构造多个相应的定义模块,每个定义模块用于定义与其相应的预设应用场景相对应的词法定义信息及语法结构定义信息。
4.根据权利要求1所述的数据标准化访问方法,其特征在于,所述数据访问表达式根据统一协议规范被编制为符合自然语言习惯的表达形式。
5.根据权利要求1至4中任意一项所述的数据标准化访问方法,其特征在于,本方法置于统一服务器中执行,其响应多用户多应用场景的数据访问指令,而将数据访问指令解析为相应的执行指令集后,传输到各应用场景相对应的数据库中执行,以获取所述的数据访问结果应答所述数据访问指令。
6.根据权利要求5所述的数据标准化访问方法,其特征在于,所述应用场景包括数据搜索应用场景、数据排序应用场景、数据计算应用场景中任意一项或多项。
7.一种数据标准化访问装置,其特征在于,包括:
表达式获取模块,用于响应数据访问指令,获取该指令中符合统一协议规范的数据访问表达式,所述数据访问表达式包含标准指令符、标准数据项以及标准运算符;
语法树转换模块,用于调用语法分析器根据统一协议规范对所述数据访问表达式进行语法树生成,获取所述数据访问表达式相对应的语法树,所述标准指令符、标准数据项以及标准运算符被存储于所述语法树的节点中;
指令集生成模块,用于根据统一协议规范对语法树进行解析转换,生成与所述数据访问指令相对应的数据库的执行指令集,所述执行指令集中包含所述标准指令符、标准数据项以及标准运算符的结构化的对应项;
执行与响应模块,用于向所述数据库提交以执行所述的执行指令集,获取相应的数据访问结果应答所述数据访问指令。
8.一种计算机设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至6中任意一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至6中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任意一项中所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231694.6A CN114064685A (zh) | 2021-10-22 | 2021-10-22 | 数据标准化访问方法及其装置、设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231694.6A CN114064685A (zh) | 2021-10-22 | 2021-10-22 | 数据标准化访问方法及其装置、设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064685A true CN114064685A (zh) | 2022-02-18 |
Family
ID=80235167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111231694.6A Pending CN114064685A (zh) | 2021-10-22 | 2021-10-22 | 数据标准化访问方法及其装置、设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064685A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185980A (zh) * | 2022-09-07 | 2022-10-14 | 武汉星雪数据科技有限公司 | 医院病案数据检索方法、装置、设备及存储介质 |
-
2021
- 2021-10-22 CN CN202111231694.6A patent/CN114064685A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185980A (zh) * | 2022-09-07 | 2022-10-14 | 武汉星雪数据科技有限公司 | 医院病案数据检索方法、装置、设备及存储介质 |
CN115185980B (zh) * | 2022-09-07 | 2023-01-31 | 武汉星雪数据科技有限公司 | 医院病案数据检索方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814404B2 (en) | System and method for applying workflow of generic services to component based applications for devices | |
US7509649B2 (en) | System and method for conversion of generic services' applications into component based applications for devices | |
US8751558B2 (en) | Mashup infrastructure with learning mechanism | |
CN103942228B (zh) | 规则引擎、计算方法、业务系统及调用方法 | |
US8782673B2 (en) | Sharing of first class objects across multiple interpreted programming languages | |
US20080208830A1 (en) | Automated transformation of structured and unstructured content | |
CN111026931B (zh) | 一种数据查询方法、装置、设备及介质 | |
US20080077565A1 (en) | Method for finding at least one web service, among a plurality of web services described by respective semantic descriptions, in different forms or languages | |
CN109522341A (zh) | 实现基于sql的流式数据处理引擎的方法、装置、设备 | |
CN113467972B (zh) | 通信接口构造方法、装置以及计算机设备、存储介质 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN113419740B (zh) | 程序数据流的分析方法、装置、电子设备及可读存储介质 | |
CN110083749A (zh) | 用于软件快速开发的检索、复用、环境搭建的系统及方法 | |
CN110109983B (zh) | 一种操作Redis数据库的方法和装置 | |
CA2538561C (en) | System and method for conversion of web services applications into component based applications for devices | |
CN114064601A (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN114064685A (zh) | 数据标准化访问方法及其装置、设备、介质、产品 | |
EP4195092B1 (en) | Text processing method and apparatus, system, device, and storage medium | |
KR100611101B1 (ko) | 로봇 서비스 플랜 생성 시스템 및 방법 | |
CN114064044A (zh) | 商品信息存取控制方法及其装置、设备、介质、产品 | |
CN114661746A (zh) | 语句转换方法、装置、电子设备及存储介质 | |
CN112764718A (zh) | 一种代码多端使用的方法、装置、存储介质及电子设备 | |
Chen et al. | Towards agile application integration with M2M platforms | |
CN117195863B (zh) | 字典/字段的解析方法、装置、微服务系统及存储介质 | |
Voit et al. | The method of translation of the diagram with one type directed links into the inhibitor petri net |
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 |