CN106815219A - 数据库编辑器的编辑方法和装置 - Google Patents
数据库编辑器的编辑方法和装置 Download PDFInfo
- Publication number
- CN106815219A CN106815219A CN201510846434.8A CN201510846434A CN106815219A CN 106815219 A CN106815219 A CN 106815219A CN 201510846434 A CN201510846434 A CN 201510846434A CN 106815219 A CN106815219 A CN 106815219A
- Authority
- CN
- China
- Prior art keywords
- content
- field
- editor
- data
- editor position
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库编辑器的编辑方法和装置。其中,该方法包括:当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。本发明解决了相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题。
Description
技术领域
本发明涉及数据库领域,具体而言,涉及一种数据库编辑器的编辑方法和装置。
背景技术
随着信息技术和市场的发展,数据管理已不再是简单的数据存储和数据管理,而是转变成用户所需要的各种数据管理的方式。为了满足用户需求,数据库(Datebase)技术应运而生,数据库是按照数据结构来组织、存储和管理数据的仓库。用户在对数据库中的数据进行管理的过程中,需要使用数据库编辑器对数据库中的内容进行编辑。常见的数据库编辑器有SQL、Access、Oracle等。
为了提高用户编辑数据库内容的效率,很多数据库编辑器为用户提供了关键字(比如select、codemirror、ace等)的自动补全功能,在用户使用数据库编辑器编辑数据库内容时,根据用户输入的内容能够模糊查询数据库中的表和字段。但是,相关技术中的数据库编辑器自动补全关键字存在以下缺陷:
1、数据库编辑器提示的补全内容不精确。数据库编辑器在网络端预先定义了所有的关键字,当用户输入某个字符时,将该字符与预先定义的关键字进行匹配以获得该字符的补全内容。由于数据库中任何位置都有可能出现各种关键字,且在字符匹配之间未对用户输入的内容进行解析,因此,将会造成数据库编辑器对用户输入的内容进行自动补全时提示的补全内容不精确。
2、数据库编辑器进行自动补全时将所有的表和字段在本地进行缓存,当数据库的数据量超过一定量时,将会导致网络页面挂死的问题。
针对相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据库编辑器的编辑方法和装置,以至少解决相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题。
根据本发明实施例的一个方面,提供了一种数据库编辑器的编辑方法,包括:当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
根据本发明实施例的另一方面,还提供了一种数据库编辑器的编辑装置,包括:第一确定模块,用于在监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;解析模块,用于通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;第二确定模块,用于根据属性信息确定是否存在与编辑位置相匹配的内容;输出模块,用于在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
在本发明实施例中,当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息的方式,通过解析数据库编辑器中编辑的数据库内容,获取与编辑位置相匹配的属性信息,根据该属性信息在编辑位置补全与编辑位置相匹配的内容,达到了在网络端使用数据库编辑器时提示用户完成与编辑位置相匹配的内容的自动填充的目的,从而实现了在数据库编辑器中编辑数据库内容时,快速精确补全与编辑位置相匹配的数据库内容的技术效果,进而解决了相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据库编辑器的编辑方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的数据库编辑器的编辑方法的流程图;
图3是根据本发明实施例的数据库编辑器的编辑方法的实现架构的示意图;
图4是根据本发明实施例的一种可选地数据库编辑器的编辑方法的流程图;
图5是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图;
图6是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图;
图7是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图;
图8是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图;
图9是根据本发明实施例的一种优选地数据库编辑器的编辑方法的流程图;
图10是根据本发明实施例的数据库编辑器的编辑装置的示意图;
图11是根据本发明实施例的一种可选地数据库编辑器的编辑装置的示意图;
图12是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图;
图13是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图;
图14是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图;
图15是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图;
图16是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图;以及
图17是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
数据库,是指以一定方式存储在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合。
数据库编辑器,用于对数据库中的数据库内容进行编辑的工具。
编辑位置,为当前正在编辑的内容在数据库内容中的位置。
实施例1
根据本发明实施例,还提供了一种数据库编辑器的编辑方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种数据库编辑器的编辑方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据库编辑器的编辑方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据库编辑器的编辑方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network I nterface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的数据库编辑器的编辑方法。图2是根据本发明实施例的数据库编辑器的编辑方法的流程图。
如图2所示,该实施例的数据库编辑器的编辑方法可以包括以下步骤:
步骤S12,当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置。
在步骤S12提供的技术方案中,数据库中可以包括至少一个表,每个数据表中可以包括至少一个列,每列中可以包括至少一个字段,其中,每个表或者每个列均对应有唯一的标识符。例如,表1是数据库中的数据表X1,如表1所示,X1表中包括A和B两列,其中,A列中包括Aciton,Actor,B列中包括Black,Baby。在实际场景中,数据库中的表和列的数量较大,用不同的标识符区别不同的表和列,能够达到便于从数据库中快速准确地查找所需的表或者列中的数据的效果。
表1数据库中的数据表X1
X1表
A | B | |
1 | Action | Black |
2 | Actor | Baby |
数据库编辑器可以为用于编辑数据库中的数据库内容的工具,比如SQL、Access、Orac le等。用户可以在网络端通过使用数据库编辑器对数据库中的数据库内容进行编辑,以实现对数据库中数据的管理。用户使用数据库编辑器可以编辑的数据库内容可以包括关键字(比如selcet、from、where等)、表、列等。在网络端,用户可以在数据库内容中的任意位置编辑数据库内容,用户对数据库内容的编辑位置可以为当前用户正在编辑的内容在数据库内容中的位置。类似于Word编辑器,编辑位置可以是编辑界面中光标所在的位置,或者其他用于标记的图标所在的位置等。优选地,该实施例将编辑界面中闪烁光标所在的位置确定为当前用户的编辑位置,以闪烁光标的形式在编辑界面中突出显示,能够方便用户快速准确定位编辑位置,进而提高用户编辑效率。可选地,该实施例还可以使用键盘或者鼠标等工具更改编辑位置,使得用户可以方便地对任意位置处的数据库内容进行编辑,极大地提高了用户对数据库内容的编辑效率。
在实际应用场景中,该实施例可以基于任意一种数据库编辑器设计事件监听器,即在数据库编辑器之上增加一层事件监听,利用该事件监听器监听用户是否在数据库编辑器中对数据库内容进行编辑,当监听到用户正在数据库编辑器中对数据库内容进行编辑时,利用该事件监听器还可以读取光标所在位置,进而确定当前用户对数据库内容进行编辑时的编辑位置,进而触发后续对用户编辑的数据库内容进行解析的动作。
步骤S14,通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息。
在步骤S14提供的技术方案中,该实施例在监听到用户编辑数据库内容时,会截取当前编辑位置处的用户编辑的数据库内容,并对截取到的数据库内容进行解析。可选地,用户编辑的数据库内容可以是用户输入的字符或者字符串,用户编辑的数据库内容可以位于编辑位置的前面,也可以位于编辑位置的后面。例如,编辑界面中的编辑位置为闪烁光标所在的位置,该实施例在截取用户编辑的数据库内容时,优选地截取该闪烁光标前面的字符或者字符串。
该实施例对当前在数据库编辑器中编辑的数据库内容进行解析,可以包括解析用户编辑的数据库内容以及该数据库内容属于哪个类型,比如表、列和关键字。以SQL编辑器为例,在实际应用场景中,该实施例可以设置SQL解析器用于解析该SQL编辑器中用户在编辑位置处编辑的SQL内容,并判断用户编辑的SQL内容属于哪种类型。该实施例通过解析当前在数据库编辑器中编辑的数据库内容,能够获取到与该编辑位置相关联的属性信息,其中,与编辑位置相关联的属性信息可以包括用户在该编辑位置编辑的数据库内容,以及用户编辑的数据库内容的类型。也就是说,该实施例中与编辑位置相关联的属性信息可以为用户在编辑位置编辑的数据库内容以及该数据库内容的类型。
该实施例通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息,根据解析后获取到的与编辑位置相关联的属性信息对用户编辑的数据库内容进行补全,能够提高对编辑位置处用户编辑的数据库内容进行补全的准确度,进而达到提高用户使用体验的效果。
步骤S16,根据属性信息确定是否存在与编辑位置相匹配的内容。
在步骤S16提供的方案中,该实施例预先将用于补全用户编辑的数据库内容的各种表和字段均存储于源数据库中,而在本地缓存中只缓存部分使用较为频繁的数据库内容,比如使用较为频繁的关键字。这样有利于减轻网络负担,能够避免本地缓存中数据量较大时网络页面会挂死的问题,进而达到提高用户使用体验的效果。
可选地,该实施例在根据属性信息确定是否存在与编辑位置相匹配的内容时,可以先从本地缓存中查找是否存在类型、内容均与用户编辑的数据库内容相匹配的内容,如果本地缓存中不存在类型、内容均与用户编辑的数据库内容相匹配的内容,则异步请求源数据库,从源数据库中查找类型、内容均与用户编辑的数据库内容相匹配的内容。如果本地缓存或者源数据库中存在类型、内容均与用户编辑的数据库内容相匹配的内容,则执行步骤S18,如果本地缓存和源数据库中均不存在类型、内容均与用户编辑的数据库内容相匹配的内容,则结束对用户编辑的数据库内容的补全,继续监听用户是否在数据库编辑器中对数据库内容进行编辑。
在实际应用场景中,该实施例可以在数据库编辑器中设置数据缓存组件,该数据缓存组件可以用于缓存一些固定的关键字,还可以用于向后台的源数据库请求数据,并将从源数据库中请求到的数据进行二次缓存。
该实施例利用本地缓存和源数据库结合的方式存储用于补全用户编辑的数据库内容,在根据与编辑位置相关联的属性信息确定是否存在与编辑位置相匹配的内容时,首先从本地缓存中查找,当查找不到与编辑位置相匹配的内容时,再从源数据库中查找。通过上述前后端异步请求的方式获取与编辑位置相匹配的内容,能够保证在数据量较大的情况下实现表和字段的自动补全,进而达到了优化网络性能,提高用户编辑效率的效果。
步骤S18,在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
在步骤S18提供的方案中,当确定本地缓存或者源数据库中存在与编辑位置相匹配的内容时,该实施例会输出提示信息,其中,输出的提示信息主要用于提示用户在编辑位置补全的数据库内容。可选地,与编辑位置相匹配的内容可以是一个,也可以是多个,当与编辑位置相匹配的内容是多个时,该实施例可以采用列表的形式逐条显示。用户可以在该显示列表中利用鼠标或者键盘选择自己所需的数据库内容,以实现在编辑位置自动补全数据库内容。该实施例采用显示提示信息供用户选择的方式补全编辑位置的数据库内容,有利于保证补全的数据库内容的准确性,同时增加用户选择功能,能够达到增加与用户的交互功能,提高用户使用体验的效果。
可选地,该实施例还可以将与编辑位置相匹配的内容直接填充在编辑位置,该方式可以适用于获取到的与编辑位置相匹配的内容只有一个的情景。通过将与编辑位置相匹配的内容直接填充至编辑位置,能够缩短用户编辑数据库内容的时长,提高用户编辑数据库内容的效率。
在实际应用场景中,该实施例可以在数据库编辑器中设置自动提示组件,该自动提示组件可以用于在数据库编辑器上展现匹配到的数据,当用户从展现的数据中选择某一数据后自动在数据库编辑器中补全输入的数据库内容。
图3是根据本发明实施例的数据库编辑器的编辑方法的实现架构的示意图,如图3所示,该实现架构300可以包括:
事件监听器32,该实施例可以基于任意一种数据库编辑器实现,在数据库编辑器之上增加一层事件监听,可以用于监听用户在编辑位置编辑的数据库内容,用于触发后续的对用户编辑的数据库内容进行解析的动作。
解析器34,当数据库编辑器为SQL编辑器时,解析器34为SQL解析器,可以用于对用户在编辑位置编辑的数据库内容进行解析,判断编辑位置处的数据库内容属于哪种类型。
数据缓存组件36,可以用于在本地缓存中缓存一些固定的关键字,还可以用于通过网络端向后台的源数据库异步请求数据,并将请求到的数据在本地缓存中进行二次缓存。
自动提示组件38,可以用于在数据库编辑器上展现与编辑位置相匹配的数据,用户选择所需的数据库内容后自动在数据库编辑器中补全用户编辑的数据库内容。
在图3所示的实现架构中,通过步骤S12至步骤S18,该实施例通过对用户在编辑位置编辑的数据库内容进行解析,根据解析得到的编辑位置的属性信息从本地缓存或者源数据库中查找与编辑位置的相匹配的数据库内容,能够解决相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题,进而实现在数据库编辑器中编辑数据库内容时,快速精确补全与编辑位置相匹配的数据库内容,以及在数据量较大时减缓网络负担,保障网络页面不会出现挂死的技术效果。
作为一种可选地实施例,图4是根据本发明实施例的一种可选地数据库编辑器的编辑方法的流程图,如图4所示,步骤S14通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息可以包括以下步骤:
步骤S142,按照编辑位置截取数据库内容中待分析的数据库语句。
在步骤S142提供的方案中,编辑位置是通过步骤S12确定得到的位置,待分析的数据库语句可以是从该编辑位置之前至第一个数据库语句结束字符,以及从该编辑位置之后第一个数据库语句结束字符包含的语句。其中,数据库语句结束字符根据数据库编辑器的不同而不同,比如SQL编辑器中数据库语句结束字符为分号“;”,也就是说,编辑位置所在的两个分号之间的语句为待分析的数据库语句。
步骤S144,按照预定义的类型属性确定数据库语句中包含的每个字段的字段类型,其中,字段类型包括:表、列和关键字。
在步骤S144提供的方案中,预定义的类型属性可以包括表、列和关键字。数据库语句中可以包括至少一个字段,每个字段的字段类型可以相同,也可以不同。该实施例在获取待分析的数据库语句后,根据预定义的类型属性会分析该数据库语句中每个字段的字段类型,其中,每个字段的字段类型可以为表、列或者关键字。该实施例分析数据库语句中每个字段的字段类型是为了准确地分析编辑位置处的字段的字段类型,以达到精确地补全编辑位置处的数据库内容的目的。
步骤S146,根据每个字段的字段类型,确定数据库语句中位于编辑位置的字段的字段类型。
在步骤S146提供的方案中,编辑位置可以位于一个数据库语句中的任意一个字段所在的位置,该实施例优选地将编辑位置之前的第一个字段确定为编辑位置的字段,该确定方式与Word编辑器中光标位置处的字符的确定方法相同。通过步骤S162可以确定数据库语句中每个字段的字段属性,当确定位于编辑位置的字段后,其字段类型便可以确定。
步骤S148,根据位于编辑位置的字段的字段类型和字段内容,生成与编辑位置相关联的属性信息。
在步骤S148提供的方案中,与编辑位置相关联的属性信息可以为编辑位置处的字段的字段内容和字段类型。具体地,编辑位置的字段的字段内容可以通过步骤S142按照编辑位置截取待分析的数据库语句时能够获取到,编辑位置的字段的字段可以通过步骤S144和步骤S146获取到。
可选地,在步骤S148生成与编辑位置相关联的属性信息后,该实施例可以将与该编辑位置相关联的属性信息进行存储,以便于用户再次对该编辑位置进行数据库内容的编辑时,可以快速地调用之前已经存储的与该编辑位置相关联的属性信息,能够达到提高用户对数据库内容的编辑效率。
通过上述步骤S142和步骤S148,通过解析当前在数据库编辑器中编辑的数据库内容,可以精确地获取到与该编辑位置相关联的属性信息,以便于后续根据该属性信息精确地补全与该编辑位置相匹配的数据库内容。
作为一种可选地实施例,该实施例步骤S12确定编辑位置可以通过读取光标在数据库内容中显示的光标位置作为编辑位置,其中,位于编辑位置的字段内容为位于光标位置之前的字符或字符串。该实施例通过读取光标位置来确定编辑位置以及编辑位置的字段内容,方便简单,且比较符合用户的编辑习惯。
作为一种可选地实施例,图5是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图,如图5所示,步骤S16根据属性信息确定是否存在与编辑位置相匹配的内容之前,该实施例的数据库编辑器的编辑方法还可以包括以下步骤:
步骤S15,判断位于编辑位置的字段的字段类型是否为关键字。
该实施例预先定义有数据库编辑器使用的关键字,比如selcet、from、with等。位于编辑位置的字段的字段类型可以通过该实施例步骤S146获取。在位于编辑位置的字段的字段类型为关键字的情况下,返回步骤S12继续监听数据库编辑器是否对数据库内容进行编辑;在位于编辑位置的字段的字段类型不是关键字的情况下,进入步骤S16执行根据属性信息确定是否存在与编辑位置相匹配的内容的步骤。
现有技术已经能够实现对数据库编辑器中的关键字进行自动补全,故该实施例只针对在位于编辑位置的字段的字段类型不是关键字的情况下,如何自动补全编辑位置处的数据库内容,比如表和字段。由于表和字段的数据量较大,该实施例针对表和字段提供了精确地自动补全方案,能够达到缓解网络压力,优化网络页面性能的效果。
作为一种可选地实施例,图6是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图,如图6所示,步骤S16根据属性信息确定是否存在与编辑位置相匹配的内容可以包括以下步骤:
步骤S162,根据属性信息从本地缓存中查询是否存在与编辑位置相匹配的内容。如果在本地缓存中查询成功,则执行步骤S18生成并输出提示信息;如果在本地缓存中查询失败,则执行步骤S164。
步骤S164,异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容。如果查询成功,则执行步骤S18生成并输出提示信息;如果查询失败,则结束本次事件,其中,查询请求可以包括与编辑位置相关联的属性信息,该属性信息可以包括位于编辑位置的字段的字段类型和字段内容。
该实施例预先在本地缓存中存储有部分使用较为频繁的数据库内容,在后台的源数据库中存储有数据量较大的表和字段。在步骤S162和步骤S164提供的方案中,该实施例首先从本地缓存中查询是否存在与编辑位置相匹配的内容,在本地缓存中不存在与编辑位置相匹配的内容的情况下,再向源数据库异步发送查询请求,从源数据库中查询是否存在与编辑位置相匹配的内容。上述方式能够保证在数据量较大的情况下实现表和字段的自动补全,而不会造成网络页面挂死的问题,进而达到了优化网络页面性能,提高用户使用体验的效果。
作为一种可选地实施例,图7是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图,如图7所示,步骤S162根据属性信息从本地缓存中查询是否存在与编辑位置相匹配的内容可以包括以下步骤:
步骤S1622,查询本地缓存中是否存在与字段类型和字段内容相同的内容。在查询失败的情况下,执行步骤S1624;在查询成功的情况下,执行步骤S18。
该实施例中与编辑位置相匹配的内容为与编辑位置的字段内容和字段类型均相同的数据库内容。从本地缓存中查询是否存在与编辑位置相匹配的内容包括从本地缓存中查询是否存在与编辑位置的字段内容与字段类型均相同的数据库内容。该实施例在查询与编辑位置相匹配的数据库内容时考虑了编辑位置的字段内容和字段类型,这样能够提高查询结果的准确性,能够达到自动补全编辑位置处的数据库内容的精度,进而提高用户使用体验的效果。
步骤S1624,判断字段类型是否为表字段或列字段。如果字段类型为表字段或列字段,则进入步骤S164执行异步发送查询请求至源数据库的步骤;如果字段类型不是表字段或列字段,则结束本次事件。
在步骤S1624提供的方案中,本地缓存中存储有关键字,当本地缓存中不存在与编辑位置的字段类型相同的数据库内容时,说明编辑位置的字段类型不是关键字,则需要进一步判断编辑位置的字段类型是否是表字段或者列字段。如果判断出是表字段或者列字段,由于表和字段均存储在后台的源数据库中,故此时该实施例会异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容。如果判断出不是表字段,也不是列字段,则说明关键位置的字段类型不属于能够自动补全的数据库内容,则直接结束补全操作。
该实施例通过精确解析编辑位置的字段类型和字段内容,能够提高对编辑位置的数据库内容进行自动补全的精确度。同时,从本地缓存或者源数据库中查询与编辑位置相匹配的数据库内容时,通过查询字段类型和字段内容均相同的数据库内容,可以进一步地提高对编辑位置的数据库内容进行补全的精确度。而且采用实时的前后端异步请求方式能够保证在数据量较大的情况下网页页面也不出现挂死的问题,优化了网络页面性能,提高了用户的使用体验。
作为一种可选地实施例,步骤S18输出提示信息可以包括:将提示信息在数据库编辑器中展示,和/或将提示信息填充至编辑位置,其中,提示信息可以包括:与编辑位置相匹配的内容。该实施例为用户提供了两种不同的补全方式,用户可以根据实际需求进行调整。采用自动填充的方式节省了用户操作,能够提高用户对数据库内容的编辑效率。采用展示供用户自己选择的方式,能够精确确定用户所需的数据库内容,提高了数据库内容的补全精度,同时增加了与用户的交互性,提高了用户的使用体验。
作为一种可选地实施例,图8是根据本发明实施例的另一种可选地数据库编辑器的编辑方法的流程图,如图8所示,在步骤S12确定编辑位置之后,该实施例的数据库编辑器的编辑方法还可以包括以下步骤:
步骤S13,在数据库内容中扫描位于编辑位置之前或之后的内容。
如果位于编辑位置之前或之后的内容包括注释字符或注释字符串,则结束本次事件;如果位于编辑位置之前或之后的内容包括数据库语句结束字符,则进入步骤S14解析数据库内容。
在步骤S13提供的方案中,注释字符或注释字符串用于表示该数据库语句为用于解释性的语句,不属于有效的数据库语句。数据库编辑器对添加注释字符或注释字符串的数据库语句不做任何执行操作。注释字符或注释字符串可以位于标号“//*”以及“*//”之间,注释字符或注释字符串可以是汉字,也可以是用于解释的标识符等。有效地数据库语句为不包含注释字符或注释字符串,且包含数据库语句结束字符的语句。比如,SQL编辑器中有效地SQL语句为两个分号“;”之间的语句,其中,分号“;”为SQL编辑器中的数据库语句结束字符。
该实施例通过判断编辑位置之前或之后的数据库语句是否为有效的数据库语句,能够保证截取到的编辑位置处的待分析的数据库语句的有效性,进而提高解析得到的与编辑位置相关联的属性信息的准确性,实现精确定位需要补全的数据库内容,提高用户使用提要的效果。
下面结合图9详细介绍本申请的一种优选实施例。图9是根据本发明实施例的一种优选地数据库编辑器的编辑方法的流程图,如图9所示,该方法包括以下步骤:
步骤S21,用户在数据库编辑器中输入内容。该优选实施例中的数据库编辑器可以是SQL、Access、Oracle等。用户使用数据库编辑器可以对任意位置的数据库内容进行编辑,以达到管理数据库中的数据,其中,用户对数据库内容的编辑位置可以为当前用户正在编辑的内容在数据库内容中的位置。用户使用数据库编辑器可以编辑的数据库内容可以包括关键字(比如select、from、where等)、表、列等。
步骤S22,对输入事件进行监听。该优选实施例在数据库编辑器中可以设置事件监听器,用于监听用户在数据库编辑器中的输入内容。当事件监听器监听到用户在数据库编辑器中输入内容时,事件监听器触发对用户的输入内容进行解析的动作。
步骤S23,对输入内容进行解析。该优选实施例在监听到用户编辑数据库内容时,会截取当前编辑位置处的用户编辑的数据库内容,并对截取到的数据库内容进行解析。该优选实施例对用户的输入内容,即当前在数据库编辑器中编辑的数据库内容进行解析,可以包括解析用户编辑的数据库内容以及该数据库内容属于哪个类型,比如表、列和关键字。该优选实施例可以设置解析器用于解析该数据库编辑器中用户在编辑位置处编辑的内容,并判断用户编辑的数据库内容属于哪种类型。该实施例通过解析当前在数据库编辑器中编辑的数据库内容,能够获取到与该编辑位置相关联的属性信息,其中,与编辑位置相关联的属性信息可以包括用户在该编辑位置编辑的数据库内容,以及用户编辑的数据库内容的类型。
具体地,步骤S23对输入内容进行解析可以包括步骤S231至步骤S234,其中:
步骤S231,按照编辑位置截取待分析的数据库语句。该优选实施例中待分析的数据库语句可以是从该编辑位置之前至第一个数据库语句结束字符,以及从该编辑位置之后第一个数据库语句结束字符包含的语句。数据库语句结束字符根据数据库编辑器的不同而不同,比如SQL编辑器中数据库语句结束字符为分号“;”。
步骤S232,按照预定义的类型属性确定数据库语句中每个字段的字段类型。该优选实施例中预定义的类型属性可以包括表、列和关键字。数据库语句中可以包括至少一个字段,每个字段的字段类型可以相同,也可以不同。该实施例分析数据库语句中每个字段的字段类型是为了准确地分析编辑位置处的字段的字段类型,以达到精确地补全编辑位置处的数据库内容的目的。
步骤S233,获取位于编辑位置的字段的字段类型。该优选实施例可以将编辑位置之前的第一个字段确定为编辑位置的字段。在确定数据库语句中每个字段的字段属性,以及确定位于编辑位置的字段后,位于编辑位置的字段的字段类型便可以确定。
步骤S234,根据位于编辑位置的字段的字段类型和字段内容,生成与编辑位置相关联的属性信息。该优选实施例中与编辑位置相关联的属性信息可以为编辑位置处的字段的字段内容和字段类型。
通过上述步骤S231和步骤S234,通过解析当前在数据库编辑器中编辑的数据库内容,可以精确地获取到与该编辑位置相关联的属性信息,以便于后续根据该属性信息精确地补全与该编辑位置相匹配的数据库内容。
步骤S24,编辑位置的字段类型是否为关键字。该优选实施例预先定义有数据库编辑器使用的关键字,比如select、from、with等。如果编辑位置的字段类型为关键字,则返回步骤22继续监听输入事件;如果编辑位置的字段类型不是关键字,则执行步骤S25。
步骤S25,查询与编辑位置匹配的数据库内容。该优选实施例预先将用于补全用户编辑的数据库内容的各种表和字段均存储于源数据库中,而在本地缓存中只缓存部分使用较为频繁的数据库内容,比如使用较为频繁的关键字。根据属性信息确定是否存在与编辑位置相匹配的内容时,可以先从本地缓存中查找是否存在类型、内容均与用户编辑的数据库内容相匹配的内容,如果本地缓存中不存在类型、内容均与用户编辑的数据库内容相匹配的内容,则异步请求源数据库,从源数据库中查找类型、内容均与用户编辑的数据库内容相匹配的内容。该优选实施例还可以在数据库编辑器中设置数据缓存组件,该数据缓存组件可以用于缓存一些固定的关键字,还可以用于向后台的源数据库请求数据,并将从源数据库中请求到的数据进行二次缓存。通过上述前后端异步请求的方式获取与编辑位置相匹配的内容,能够保证在数据量较大的情况下实现表和字段的自动补全,进而达到了优化网络性能,提高用户编辑效率的效果。
具体地,步骤S25可以包括步骤S251至步骤S256,其中:
步骤S251,接收位于编辑位置的字段的字段类型和字段内容。该优选实施例中与编辑位置相匹配的内容为与编辑位置的字段内容和字段类型均相同的数据库内容。位于编辑位置的字段的字段类型和字段内容可以通过该优选实施例中步骤S231和步骤S234得到。
步骤S252,判断本地缓存中是否存在与字段类型和字段内容均相同的内容。如果不存在,则执行步骤S253;如果存在,则执行步骤S254。从本地缓存中查询是否存在与编辑位置相匹配的内容包括从本地缓存中查询是否存在与编辑位置的字段内容与字段类型均相同的数据库内容。该实施例在查询与编辑位置相匹配的数据库内容时考虑了编辑位置的字段内容和字段类型,这样能够提高查询结果的准确性,能够达到自动补全编辑位置处的数据库内容的精度。
步骤S253,判断字段类型是否为表字段或列字段。如果是,则执行步骤S255;如果不是,则执行步骤S256。本地缓存中存储有关键字,当本地缓存中不存在与编辑位置的字段类型相同的数据库内容时,说明编辑位置的字段类型不是关键字,则需要进一步判断编辑位置的字段类型是否是表字段或者列字段。如果判断出是表字段或者列字段,由于表和字段均存储在后台的源数据库中,故此时该优选实施例会异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容。如果判断出不是表字段,也不是列字段,则说明关键位置的字段类型不属于能够自动补全的数据库内容,则直接结束补全操作。
步骤S254,生成提示信息。
步骤S255,异步发送查询请求至源数据库。从源数据库查询是否存在与编辑位置相匹配的内容,如果查询成功,则生成输出提示信息;如果查询失败,则结束本次事件,其中,查询请求可以包括与编辑位置相关联的属性信息。
步骤S256,结束本次事件。
通过上述步骤S251和步骤S256,该优选实施例首先从本地缓存中查询是否存在与编辑位置相匹配的内容,在本地缓存中不存在与编辑位置相匹配的内容的情况下,再向源数据库异步发送查询请求,从源数据库中查询是否存在与编辑位置相匹配的内容。该优选实施例能够保证在数据量较大的情况下实现表和字段的自动补全,而不会造成网络页面挂死的问题,进而达到了优化网络页面性能,提高用户使用体验的效果。
步骤S26,输出提示信息。输出的提示信息主要用于提示用户在编辑位置补全的数据库内容。该优选实施例可以采用列表的形式逐条显示。用户可以在该显示列表中利用鼠标或者键盘选择自己所需的数据库内容,以实现在编辑位置自动补全数据库内容,这样有利于保证补全的数据库内容的准确性,同时增加用户选择功能,能够达到增加与用户的交互功能,提高用户使用体验的效果。可选地,该优选实施例还可以将与编辑位置相匹配的内容直接填充在编辑位置,通过将与编辑位置相匹配的内容直接填充至编辑位置,能够缩短用户编辑数据库内容的时长,提高用户编辑数据库内容的效率。
通过上述步骤S21至步骤S26,该优选实施例通过对用户在编辑位置编辑的数据库内容进行解析,根据解析得到的编辑位置的属性信息从本地缓存或者源数据库中查找与编辑位置的相匹配的数据库内容,能够解决相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题,进而实现在数据库编辑器中编辑数据库内容时,快速精确补全与编辑位置相匹配的数据库内容,以及在数据量较大时减缓网络负担,保障网络页面不会出现挂死的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据库编辑器的编辑方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据库编辑器的编辑方法的数据库编辑器的编辑装置。图10是根据本发明实施例的数据库编辑器的编辑装置的示意图,如图10所示,该装置包括:
第一确定模块22,用于在监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;解析模块24,用于通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;第二确定模块26,用于根据属性信息确定是否存在与编辑位置相匹配的内容;输出模块28,用于在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
需要说明的是,该实施例中的第一确定模块22可以用于执行本申请实施例一中的步骤S12,该实施例中的解析模块24可以用于执行本申请实施例一中的步骤S14,该实施例中的第二确定模块26可以用于执行本申请实施例一中的步骤S16,该实施例中的输出模块28可以用于执行本申请实施例一中的步骤S18。
此处需要说明的是,上述第一确定模块22、解析模块24、第二确定模块26和输出模块28对应于实施例一中的步骤S12至步骤S18,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
作为一种可选地实施例,图11是根据本发明实施例的一种可选地数据库编辑器的编辑装置的示意图,如图11所示,解析模块24可以包括:截取模块242,用于按照编辑位置截取数据库内容中待分析的数据库语句;第一子确定模块244,用于按照预定义的类型属性确定数据库语句中包含的每个字段的字段类型,其中,字段类型包括:表、列和关键字;第二子确定模块246,用于根据每个字段的字段类型,确定数据库语句中位于编辑位置的字段的字段类型;生成模块248,用于根据位于编辑位置的字段的字段类型和字段内容,生成与编辑位置相关联的属性信息。
需要说明的是,上述截取模块242、第一子确定模块244、第二子确定模块246和生成模块248分别对应于实施例一中的步骤S142至步骤S148,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
作为一种可选地实施例,该实施例的数据库编辑器的编辑装置还可以包括:读取模块,用于读取光标在数据库内容中显示的光标位置作为编辑位置,其中,位于编辑位置的字段内容为位于光标位置之前的字符或字符串。
作为一种可选地实施例,图12是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图,如图12所示,该实施例的数据库编辑器的编辑装置还可以包括:第一判断模块25,用于判断位于编辑位置的字段的字段类型是否为关键字,其中,在位于编辑位置的字段的字段类型为关键字的情况下,返回第一确定模块22继续监听数据库编辑器是否对数据库内容进行编辑;在位于编辑位置的字段的字段类型不是关键字的情况下,进入第二确定模块26执行根据属性信息确定是否存在与编辑位置相匹配的内容的步骤。
需要说明的是,第一判断模块25对应于实施例一中的步骤S15,该模块与步骤S15所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
作为一种可选地实施例,图13是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图,如图13所示,第二确定模块26可以包括:查询模块262,用于根据属性信息从本地缓存中查询是否存在与编辑位置相匹配的内容,其中,当在本地缓存中查询成功时,进入输出模块28生成提示信息;请求模块264,用于当在本地缓存中查询失败时,异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容,如果查询成功,则进入输出模块28生成提示信息,如果查询失败,则结束本次事件,其中,查询请求包括属性信息。
需要说明的是,查询模块262和请求模块264对应于实施例一中的步骤S162和步骤S164,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
作为一种可选地实施例,图14是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图,如图14所示,查询模块262可以包括:第一子查询模块2622,用于查询本地缓存中是否存在与字段类型和字段内容相同的内容;第二判断模块2624,用于在查询失败的情况下,判断字段类型是否为表字段或列字段,其中,在字段类型为表字段或列字段时,进入请求模块264执行异步发送查询请求至源数据库的步骤;在字段类型不是表字段或列字段时,结束本次事件。其中,属性信息包括:位于编辑位置的字段的字段类型和字段内容
需要说明的是,第一子查询模块2622和第二判断模块2624对应于实施例一中的步骤S1622和步骤S1624,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
作为一种可选地实施例,图15是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图,如图15所示,输出模块28包括:展示模块282,用于将提示信息在数据库编辑器中展示;和/或填充模块284,用于将提示信息填充至编辑位置,其中,提示信息包括:与编辑位置相匹配的内容。
作为一种可选地实施例,图16是根据本发明实施例的另一种可选地数据库编辑器的编辑装置的示意图,如图16所示,该实施例的数据库编辑器的编辑装置还可以包括:扫描模块23,用于在数据库内容中扫描位于编辑位置之前或之后的内容,其中,在位于编辑位置之前或之后的内容包括注释字符或注释字符串时,结束本次事件;在位于编辑位置之前或之后的内容包括数据库语句结束字符时,进入解析模块24执行解析数据库内容的步骤。
需要说明的是,扫描模块23对应于实施例一中的步骤S13,该模块与步骤S13所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
该实施例的数据库编辑器的编辑装置,通过上述模块22至模块28对用户在编辑位置编辑的数据库内容进行解析,根据解析得到的编辑位置的属性信息从本地缓存或者源数据库中查找与编辑位置的相匹配的数据库内容,能够解决相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题,进而实现在数据库编辑器中编辑数据库内容时,快速精确补全与编辑位置相匹配的数据库内容,以及在数据量较大时减缓网络负担,保障网络页面不会出现挂死的技术效果。
实施例3
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行数据库编辑器的编辑方法中以下步骤的程序代码:当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
可选地,图17是根据本发明实施例的一种计算机终端的结构框图。如图17所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1702、存储器1704、以及传输装置1706。
其中,存储器1704可用于存储软件程序以及模块,如本发明实施例中的数据库编辑器的编辑方法和装置对应的程序指令/模块,处理器1702通过运行存储在存储器1704内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据库编辑器的编辑方法。存储器1704可包括高速随机存储器1704,还可以包括非易失性存储器1704,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器1704。在一些实例中,存储器1704可进一步包括相对于处理器1702远程设置的存储器1704,这些远程存储器1704可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器1702可以通过传输装置1706调用存储器1704存储的信息及应用程序,以执行下述步骤:当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
可选的,上述处理器1702还可以执行如下步骤的程序代码:按照编辑位置截取数据库内容中待分析的数据库语句;按照预定义的类型属性确定数据库语句中包含的每个字段的字段类型,其中,字段类型包括:表、列和关键字;根据每个字段的字段类型,确定数据库语句中位于编辑位置的字段的字段类型;根据位于编辑位置的字段的字段类型和字段内容,生成与编辑位置相关联的属性信息。
可选的,上述处理器1702还可以执行如下步骤的程序代码:读取光标在数据库内容中显示的光标位置作为编辑位置,其中,位于编辑位置的字段内容为位于光标位置之前的字符或字符串。
可选的,上述处理器1702还可以执行如下步骤的程序代码:判断位于编辑位置的字段的字段类型是否为关键字;在位于编辑位置的字段的字段类型为关键字的情况下,返回继续监听数据库编辑器是否对数据库内容进行编辑;在位于编辑位置的字段的字段类型不是关键字的情况下,进入执行根据属性信息确定是否存在与编辑位置相匹配的内容的步骤。
可选的,上述处理器1702还可以执行如下步骤的程序代码:根据属性信息从本地缓存中查询是否存在与编辑位置相匹配的内容;如果在本地缓存中查询成功,则生成提示信息;如果在本地缓存中查询失败,则异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容,如果查询成功,则生成提示信息,如果失败,则结束本次事件,其中,查询请求包括属性信息。
可选的,上述处理器1702还可以执行如下步骤的程序代码:查询本地缓存中是否存在与字段类型和字段内容相同的内容;在查询失败的情况下,判断字段类型是否为表字段或列字段;如果字段类型为表字段或列字段,则进入执行异步发送查询请求至源数据库的步骤;如果字段类型不是表字段或列字段,则结束本次事件。
可选的,上述处理器1702还可以执行如下步骤的程序代码:将提示信息在数据库编辑器中展示,和/或将提示信息填充至编辑位置,其中,提示信息包括:与编辑位置相匹配的内容。
可选的,上述处理器1702还可以执行如下步骤的程序代码:在数据库内容中扫描位于编辑位置之前或之后的内容;如果位于编辑位置之前或之后的内容包括注释字符或注释字符串,则结束本次事件;如果位于编辑位置之前或之后的内容包括数据库语句结束字符,则进入解析数据库内容的步骤。
采用本发明实施例,提供了一种数据库编辑器的编辑方法和装置的方案。通过解析数据库编辑器中编辑的数据库内容,获取与编辑位置相匹配的属性信息,根据该属性信息在编辑位置补全与编辑位置相匹配的内容,达到了在网络端使用数据库编辑器时提示用户完成与编辑位置相匹配的内容的自动填充的目的,从而实现了在数据库编辑器中编辑数据库内容时,快速精确补全与编辑位置相匹配的数据库内容的技术效果,进而解决了相关技术中使用数据库编辑器编辑数据库内容时,由于未对用户输入的内容进行解析,导致对用户输入的内容进行自动补全时提示的补全内容不精确的技术问题。
本领域普通技术人员可以理解,图17所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图17其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图17中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图17所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据库编辑器的编辑方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,编辑位置为当前正在编辑的内容在数据库内容中的位置;通过解析当前在数据库编辑器中编辑的数据库内容,获取与编辑位置相关联的属性信息;根据属性信息确定是否存在与编辑位置相匹配的内容;在确定存在与编辑位置相匹配的内容的情况下,输出提示信息。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:按照编辑位置截取数据库内容中待分析的数据库语句;按照预定义的类型属性确定数据库语句中包含的每个字段的字段类型,其中,字段类型包括:表、列和关键字;根据每个字段的字段类型,确定数据库语句中位于编辑位置的字段的字段类型;根据位于编辑位置的字段的字段类型和字段内容,生成与编辑位置相关联的属性信息。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:读取光标在数据库内容中显示的光标位置作为编辑位置,其中,位于编辑位置的字段内容为位于光标位置之前的字符或字符串。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:判断位于编辑位置的字段的字段类型是否为关键字;在位于编辑位置的字段的字段类型为关键字的情况下,返回继续监听数据库编辑器是否对数据库内容进行编辑;在位于编辑位置的字段的字段类型不是关键字的情况下,进入执行根据属性信息确定是否存在与编辑位置相匹配的内容的步骤。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:根据属性信息从本地缓存中查询是否存在与编辑位置相匹配的内容;如果在本地缓存中查询成功,则生成提示信息;如果在本地缓存中查询失败,则异步发送查询请求至源数据库,从源数据库查询是否存在与编辑位置相匹配的内容,如果查询成功,则生成提示信息,如果失败,则结束本次事件,其中,查询请求包括属性信息。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:查询本地缓存中是否存在与字段类型和字段内容相同的内容;在查询失败的情况下,判断字段类型是否为表字段或列字段;如果字段类型为表字段或列字段,则进入执行异步发送查询请求至源数据库的步骤;如果字段类型不是表字段或列字段,则结束本次事件。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:将提示信息在数据库编辑器中展示,和/或将提示信息填充至编辑位置,其中,提示信息包括:与编辑位置相匹配的内容。
可选地,在本实施例中,存储介质还可以被设置为存储用于执行以下步骤的程序代码:在数据库内容中扫描位于编辑位置之前或之后的内容;如果位于编辑位置之前或之后的内容包括注释字符或注释字符串,则结束本次事件;如果位于编辑位置之前或之后的内容包括数据库语句结束字符,则进入解析数据库内容的步骤。
此处需要说明的是,上述计算机终端群中的任意一个可以与网站服务器和扫描器建立通信关系,扫描器可以扫描计算机终端上php执行的web应用程序的值命令。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种数据库编辑器的编辑方法,其特征在于,包括:
当监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,所述编辑位置为当前正在编辑的内容在所述数据库内容中的位置;
通过解析当前在所述数据库编辑器中编辑的所述数据库内容,获取与所述编辑位置相关联的属性信息;
根据所述属性信息确定是否存在与所述编辑位置相匹配的内容;
在确定存在与所述编辑位置相匹配的内容的情况下,输出提示信息。
2.根据权利要求1所述的方法,其特征在于,通过解析当前在所述数据库编辑器中编辑的所述数据库内容,获取与所述编辑位置相关联的属性信息包括:
按照所述编辑位置截取所述数据库内容中待分析的数据库语句;
按照预定义的类型属性确定所述数据库语句中包含的每个字段的字段类型,其中,所述字段类型包括:表、列和关键字;
根据所述每个字段的字段类型,确定所述数据库语句中位于所述编辑位置的字段的字段类型;
根据所述位于所述编辑位置的字段的所述字段类型和字段内容,生成与所述编辑位置相关联的属性信息。
3.根据权利要求2所述的方法,其特征在于,读取光标在所述数据库内容中显示的光标位置作为所述编辑位置,其中,位于所述编辑位置的所述字段内容为位于所述光标位置之前的字符或字符串。
4.根据权利要求2所述的方法,其特征在于,在根据所述属性信息确定是否存在与所述编辑位置相匹配的内容之前,所述方法还包括:
判断位于所述编辑位置的字段的字段类型是否为所述关键字;
在位于所述编辑位置的字段的字段类型为所述关键字的情况下,返回继续监听所述数据库编辑器是否对所述数据库内容进行编辑;
在位于所述编辑位置的字段的字段类型不是所述关键字的情况下,进入执行根据所述属性信息确定是否存在与所述编辑位置相匹配的内容的步骤。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,根据所述属性信息确定是否存在与所述编辑位置相匹配的内容包括:
根据所述属性信息从本地缓存中查询是否存在与所述编辑位置相匹配的内容;
如果在所述本地缓存中查询成功,则生成所述提示信息;
如果在所述本地缓存中查询失败,则异步发送查询请求至源数据库,从所述源数据库查询是否存在与所述编辑位置相匹配的内容,如果查询成功,则生成所述提示信息,如果失败,则结束本次事件,其中,所述查询请求包括所述属性信息。
6.根据权利要求5所述的方法,其特征在于,所述属性信息包括:位于所述编辑位置的字段的所述字段类型和字段内容,其中,根据所述属性信息从本地缓存中查询是否存在与所述编辑位置相匹配的内容包括:
查询所述本地缓存中是否存在与所述字段类型和所述字段内容相同的内容;
在查询失败的情况下,判断所述字段类型是否为表字段或列字段;
如果所述字段类型为所述表字段或所述列字段,则进入执行所述异步发送查询请求至源数据库的步骤;
如果所述字段类型不是所述表字段或所述列字段,则结束本次事件。
7.根据权利要求6所述的方法,其特征在于,输出提示信息包括:将所述提示信息在所述数据库编辑器中展示,和/或将所述提示信息填充至所述编辑位置,其中,所述提示信息包括:与所述编辑位置相匹配的内容。
8.根据权利要求1所述的方法,其特征在于,在确定编辑位置之后,所述方法还包括:
在所述数据库内容中扫描位于所述编辑位置之前或之后的内容;
如果位于所述编辑位置之前或之后的内容包括注释字符或注释字符串,则结束本次事件;
如果位于所述编辑位置之前或之后的内容包括数据库语句结束字符,则进入解析所述数据库内容的步骤。
9.一种数据库编辑器的编辑装置,其特征在于,包括:
第一确定模块,用于在监听到在数据库编辑器中对数据库内容进行编辑时,确定编辑位置,其中,所述编辑位置为当前正在编辑的内容在所述数据库内容中的位置;
解析模块,用于通过解析当前在所述数据库编辑器中编辑的所述数据库内容,获取与所述编辑位置相关联的属性信息;
第二确定模块,用于根据所述属性信息确定是否存在与所述编辑位置相匹配的内容;
输出模块,用于在确定存在与所述编辑位置相匹配的内容的情况下,输出提示信息。
10.根据权利要求9所述的装置,其特征在于,所述解析模块包括:
截取模块,用于按照所述编辑位置截取所述数据库内容中待分析的数据库语句;
第一子确定模块,用于按照预定义的类型属性确定所述数据库语句中包含的每个字段的字段类型,其中,所述字段类型包括:表、列和关键字;
第二子确定模块,用于根据所述每个字段的字段类型,确定所述数据库语句中位于所述编辑位置的字段的字段类型;
生成模块,用于根据所述位于所述编辑位置的字段的所述字段类型和字段内容,生成与所述编辑位置相关联的属性信息。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:读取模块,用于读取光标在所述数据库内容中显示的光标位置作为所述编辑位置,其中,位于所述编辑位置的所述字段内容为位于所述光标位置之前的字符或字符串。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于判断位于所述编辑位置的字段的字段类型是否为所述关键字;
其中,在位于所述编辑位置的字段的字段类型为所述关键字的情况下,返回所述第一确定模块继续监听所述数据库编辑器是否对所述数据库内容进行编辑,在位于所述编辑位置的字段的字段类型不是所述关键字的情况下,进入所述第二确定模块执行根据所述属性信息确定是否存在与所述编辑位置相匹配的内容的步骤。
13.根据权利要求9至12中任意一项所述的装置,其特征在于,所述第二确定模块包括:
查询模块,用于根据所述属性信息从本地缓存中查询是否存在与所述编辑位置相匹配的内容,其中,当在所述本地缓存中查询成功时,返回所述输出模块执行生成所述提示信息;
请求模块,用于当在所述本地缓存中查询失败时,异步发送查询请求至源数据库,从所述源数据库查询是否存在与所述编辑位置相匹配的内容,如果查询成功,则返回所述输出模块执行生成所述提示信息,如果查询失败,则结束本次事件,其中,所述查询请求包括所述属性信息。
14.根据权利要求13所述的装置,其特征在于,所述属性信息包括:位于所述编辑位置的字段的所述字段类型和字段内容,其中,所述查询模块包括:
第一子查询模块,用于查询所述本地缓存中是否存在与所述字段类型和所述字段内容相同的内容;
第二判断模块,用于在查询失败的情况下,判断所述字段类型是否为表字段或列字段,其中,在所述字段类型为所述表字段或所述列字段时,进入所述请求模块执行所述异步发送查询请求至源数据库的步骤,在所述字段类型不是所述表字段或所述列字段时,结束本次事件。
15.根据权利要求14所述的装置,其特征在于,所述输出模块包括:
展示模块,用于将所述提示信息在所述数据库编辑器中展示;和/或
填充模块,用于将所述提示信息填充至所述编辑位置,其中,所述提示信息包括:与所述编辑位置相匹配的内容。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
扫描模块,用于在所述数据库内容中扫描位于所述编辑位置之前或之后的内容,
其中,在位于所述编辑位置之前或之后的内容包括注释字符或注释字符串时,结束本次事件,在位于所述编辑位置之前或之后的内容包括数据库语句结束字符时,进入所述解析模块解析所述数据库内容的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510846434.8A CN106815219A (zh) | 2015-11-27 | 2015-11-27 | 数据库编辑器的编辑方法和装置 |
PCT/CN2016/106327 WO2017088702A1 (zh) | 2015-11-27 | 2016-11-18 | 数据库编辑器的编辑方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510846434.8A CN106815219A (zh) | 2015-11-27 | 2015-11-27 | 数据库编辑器的编辑方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106815219A true CN106815219A (zh) | 2017-06-09 |
Family
ID=58763026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510846434.8A Pending CN106815219A (zh) | 2015-11-27 | 2015-11-27 | 数据库编辑器的编辑方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106815219A (zh) |
WO (1) | WO2017088702A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415922A (zh) * | 2017-09-30 | 2018-08-17 | 平安科技(深圳)有限公司 | 数据库修改方法及应用服务器 |
CN109933318A (zh) * | 2019-04-01 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种Angular内SQL在线编辑器的实现方法 |
CN114328572A (zh) * | 2020-09-28 | 2022-04-12 | 北京鸿享技术服务有限公司 | 基于sql解析器的数据查询方法、装置、系统及介质 |
CN114780520A (zh) * | 2022-05-05 | 2022-07-22 | 广州市易工品科技有限公司 | 数据建模方法、装置、电子设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895462A (zh) * | 2018-09-12 | 2020-03-20 | 富士施乐株式会社 | 非暂时性计算机可读介质 |
CN111857688A (zh) * | 2020-07-22 | 2020-10-30 | 中国平安财产保险股份有限公司 | Sql代码自动补全方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845300A (en) * | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
CN101258496A (zh) * | 2005-09-08 | 2008-09-03 | 微软公司 | 用对数据库的查询自动填充 |
CN102902753A (zh) * | 2012-09-20 | 2013-01-30 | 北京奇虎科技有限公司 | 用于补全搜索词及建立个体兴趣模型的方法及装置 |
-
2015
- 2015-11-27 CN CN201510846434.8A patent/CN106815219A/zh active Pending
-
2016
- 2016-11-18 WO PCT/CN2016/106327 patent/WO2017088702A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845300A (en) * | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
CN101258496A (zh) * | 2005-09-08 | 2008-09-03 | 微软公司 | 用对数据库的查询自动填充 |
CN102902753A (zh) * | 2012-09-20 | 2013-01-30 | 北京奇虎科技有限公司 | 用于补全搜索词及建立个体兴趣模型的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415922A (zh) * | 2017-09-30 | 2018-08-17 | 平安科技(深圳)有限公司 | 数据库修改方法及应用服务器 |
CN108415922B (zh) * | 2017-09-30 | 2021-10-22 | 平安科技(深圳)有限公司 | 数据库修改方法及应用服务器 |
CN109933318A (zh) * | 2019-04-01 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种Angular内SQL在线编辑器的实现方法 |
CN114328572A (zh) * | 2020-09-28 | 2022-04-12 | 北京鸿享技术服务有限公司 | 基于sql解析器的数据查询方法、装置、系统及介质 |
CN114780520A (zh) * | 2022-05-05 | 2022-07-22 | 广州市易工品科技有限公司 | 数据建模方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017088702A1 (zh) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815219A (zh) | 数据库编辑器的编辑方法和装置 | |
CN107832468B (zh) | 需求识别方法和装置 | |
US8788525B2 (en) | Data model for machine data for semantic search | |
CN110807085B (zh) | 故障信息的查询方法及装置、存储介质、电子装置 | |
CN103902535B (zh) | 获取联想词的方法、装置及系统 | |
CN106096037A (zh) | 基于人工智能的搜索结果聚合方法、装置以及搜索引擎 | |
CN112749266A (zh) | 一种工业问答方法、装置、系统、设备及存储介质 | |
CN106909638A (zh) | 一种基于用户查询日志实时发现热点视频的方法和装置 | |
CN106649363A (zh) | 数据查询方法及装置 | |
CN110737634A (zh) | 日志搜索方法、客户端、服务端与计算机可读存储介质 | |
CN107977678A (zh) | 用于输出信息的方法和装置 | |
CN107784113A (zh) | Html网页数据采集方法、装置和计算机可读存储介质 | |
CN103093377B (zh) | 一种广告投放方法和系统 | |
CN114610963A (zh) | 定制数据展示方法、系统、计算机设备及存储介质 | |
CN107370628B (zh) | 基于埋点的日志处理方法及系统 | |
CN106446289B (zh) | 基于Pinpoint的信息查询方法和装置 | |
CN111460333A (zh) | 一种实时搜索数据分析系统 | |
CN103268347A (zh) | 一种基于短信的移动互联网搜索系统及实现方法 | |
CN103699590B (zh) | 提供图文教程类问题解决方案的方法和服务器 | |
CN113157904A (zh) | 基于dfa算法的敏感词过滤方法及系统 | |
CN116226494B (zh) | 一种用于信息搜索的爬虫系统及方法 | |
CN105989176A (zh) | 数据处理方法及装置 | |
CN108073661A (zh) | 数据检索方法及装置、报表生成系统及方法 | |
CN105491136A (zh) | 消息发送方法和装置 | |
CN103257718B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170609 |
|
RJ01 | Rejection of invention patent application after publication |