CN105550206B - 结构化查询语句的版本控制方法及装置 - Google Patents
结构化查询语句的版本控制方法及装置 Download PDFInfo
- Publication number
- CN105550206B CN105550206B CN201510870519.XA CN201510870519A CN105550206B CN 105550206 B CN105550206 B CN 105550206B CN 201510870519 A CN201510870519 A CN 201510870519A CN 105550206 B CN105550206 B CN 105550206B
- Authority
- CN
- China
- Prior art keywords
- version
- sql statement
- sentence
- version number
- description 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.)
- Active
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
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种结构化查询语句的版本控制方法,包括:接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识;为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中;接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。本发明还公开了一种结构化查询语句的版本控制装置。本发明中结构化查询语句的版本控制方法及装置可以对表单提交的SQL语句进行版本控制,从而提高执行效率。
Description
技术领域
本发明涉及图像识别技术领域,尤其涉及一种结构化查询语句的版本控制方法及装置。
背景技术
随着互联网技术的发展,越来越多的用户数据被记录在服务器的记录中,因此对服务器记录的用户数据的大数据分析平台应运而生。而在传统技术中的大数据平台里,用户通常使用SQL(Structured Query Language,结构化查询语言)作为检索式对大数据平台中的用户数据进行分析和处理。但随着该业务需求后续的变更升级,对于同一条SQL,期间可能会发生多次修改,并且在团队协作中可能是不同的用户修改,但是后面的修改不一定是正确的,这时候就需要对这条SQL进行历史版本查看、对比和回滚操作。
传统技术中的版本控制工具通常使用SVN(Subversion的简称),是一个开放源代码的版本控制。它针对的目标是文件,当用户的文件发生改变后并提交至SVN的后台服务器,SVN的后台服务器可以为用户的每次提交生成唯一的版本,这样用户在需要的时候,就能对相应的文件进行历史版本查询、对比和回滚操作。
然而,在传统技术中的大数据平台中,需要进行版本控制的是用户输入的结构化查询语句,SVN只能作用在文件上,对文件版本进行管理,不能实施在网页提交的表单。因此,传统技术中没有提供对通过网页提交的表单进行版本控制的方法,不能对大数据平台中用户输入的结构化查询语句的版本进行控制。
发明内容
基于此,为解决上述提到的传统技术中无法使用SVN工具对通过表单提交的SQL语句进行版本控制的技术问题,特提出了一种结构化查询语句的版本控制方法。
一种结构化查询语句的版本控制方法,包括:
接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识;
为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中;
接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。
在其中一个实施例中,所述提取所述SQL语句存储请求携带的SQL语句以及对应的语句标识的步骤包括:
获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;
将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识。
在其中一个实施例中,所述将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中的步骤之前还包括:
将所述提取的SQL语句以及版本描述信息序列化成json对象。
在其中一个实施例中,所述将所述提取的SQL语句以及版本描述信息序列化成json对象的步骤之后还包括:
以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
在其中一个实施例中,所述将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中的步骤还包括:
根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
在其中一个实施例中,所述以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象的步骤还包括:
获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
在其中一个实施例中,所述接收SQL语句版本回滚请求的步骤之前还包括:
接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息;
所述接收SQL语句版本回滚请求的步骤为:
接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
此外,为解决上述提到的传统技术中无法使用SVN工具对通过表单提交的SQL语句进行版本控制的技术问题,特提出了一种结构化查询语句的版本控制装置。
一种结构化查询语句的版本控制装置,包括:
SQL语句接收模块,用于接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识;
SQL语句存储模块,用于为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中;
SQL语句回滚模块,用于接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。
在其中一个实施例中,所述SQL语句接收模块还用于获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识。
在其中一个实施例中,所述SQL语句存储模块还用于将所述提取的SQL语句以及版本描述信息序列化成json对象。
在其中一个实施例中,所述SQL语句存储模块还用于以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
在其中一个实施例中,所述SQL语句存储模块还用于根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
在其中一个实施例中,所述SQL语句存储模块还用于获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
在其中一个实施例中,所述SQL语句接收模块还用于接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息;
接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
实施本发明实施例,将具有如下有益效果:
采用了上述结构化查询语句的版本控制方法及装置之后,用户可通过页面表单提交在同一个SQL语句输入位置输入的多次SQL语句,而服务器可为该多个版本的SQL语句各自分配相应的版本号,然后再依据版本号将该多个版本的SQL语句存储在数据库中。在需要对SQL语句进行回滚时,则根据相应的版本号即可获取相应版本的SQL语句。与传统技术相比,不需要使用SVN工具,服务器也不需要先将表单数据提取后生成文件存储,然后再通过SVN工具的接口函数进行版本管理,从而实现了对表单提交的SQL语句的版本管理,提高了执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种结构化查询语句的版本控制方法的流程图;
图2为一个实施例中终端输入SQL语句进行保存的页面的界面示意图;
图3为一个实施例中将输入的SQL语句转化为版本控制对象的过程图;
图4为一个实施例中在多版本中选择某版本进行回滚的页面的界面示意图;
图5为一个实施例中一种结构化查询语句的版本控制装置的示意图;
图6为一个实施例中运行前述结构化查询语句的版本控制方法的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决上述提到的传统技术中无法使用SVN工具对通过表单提交的SQL语句进行版本控制的技术问题,在本实施例中,特提出了一种结构化查询语句的版本控制方法,该方法可依赖于计算机实现,可运行于基于冯诺依曼体系的计算机系统上。该计算机程序可以是数据分析工具、大数据分析平台、具有大量用户数据的互联网应用的web应用程序(B/S架构)或服务器端应用程序(C/S架构),。该计算机系统可以是数据分析工具、大数据分析平台、具有大量用户数据的互联网应用的服务器设备。
具体的,如图1所示,该方法包括:
步骤S102:接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识。
结构化查询SQL语句存储请求即为用户在使用大数据分析平台时,对输入的SQL语句进行存储的请求。在大数据平台中,数据分析用户若要分析某类用户的行为特征,则会在大数据平台中输入SQL语句来得到相应的检索数据,从而完成对用户行为特征的分析,在分析过程中,可能需要尝试输入多个SQL语句来得到最优的检索数据进行分析。
例如,数据分析用户在可能在尝试输入SQL语句时,尝试多个年龄关键字进行检索,第一次尝试输入关键字为年龄小于20的检索式,查找年龄小于20的用户,第二次尝试输入关键字为年龄小于21的检索式,查找年龄小于21的用户,第三次尝试输入关键字为年龄小于22的检索式,查找年龄小于22的用户,若经过检索得知,以年龄小于20作为关键字进行检索得到的检索数据最适合用户的行为特征分析,则需要重新输入关键字为年龄小于20的SQL语句。
因此,如图2所示,在本实施例中,提供了结构化查询SQL语句存储页面,该页面上可包括版本描述信息输入框(例如图2中供分析者输入的用于区分版本的与具体分析业务相关的任务ID和任务名称)和SQL语句。版本描述信息即为用户为了区分每次输入SQL语句的不同而输入的可供用户阅读的描述信息,后续用户可根据该版本描述信息知晓在此次利用该SQL语句进行检索时更改了哪些内容或执行了何种额外的任务,从而对每次输入的SQL语句进行区分。用户将每一次检索时输入的SQL语句添加到结构化查询SQL语句存储页面,然后点击存储即提交了SQL语句存储请求。
在另一个实施例中,对SQL语句的存储也可自动完成,也就是说,可在大数据平台的数据检索页面中,若用户输入了SQL语句进行对数据表中用户数据进行增删改查的操作,提交了操作请求之后,服务器不仅执行该SQL语句,还自动生成SQL语句存储请求,对进行输入的SQL语句进行存储,相当于存储了用户的操作记录。
语句标识即为与输入SQL语句的输入位置对应的标识。在本实施例中,可获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识。
也就是说,若用户在某个SQL语句存储页面或者某个SQL语句检索页面中的某个SQL语句输入框中输入了SQL语句进行对数据表中用户数据进行增删改查的操作,提交了SQL语句存储请求,则可获取该SQL语句存储请求对应的SQL语句存储页面或者SQL语句检索页面的页面标识(可以是url链接)以及该页面中SQL语句输入框的标识,然后将其作为输入的SQL语句的语句标识。若用户后续在同样的页面中的相同的SQL语句输入框中输入了不同的SQL语句,则该SQL语句与前次输入的SQL语句具有相同的语句标识。
步骤S104:为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号存储到数据表中。
版本号即为用于区分用户每次输入的SQL语句的标识符。采用递增的版本号,可用于区分用户在相同的SQL语句输入框输入SQL语句式的批次。例如,用户第一次在输入SQL语句进行存储时,版本号可分配为1;用户第二次在输入SQL语句进行存储时,版本号可分配为2。在本实施例中,版本号可由web应用程序分配,也可由web应用程序通过数据库接口函数调用数据库自身的自增函数进行分配。
分配了版本号之后,则可以语句标识作为主键,将SQL语句存储到数据库中,其中,语句标识即对应数据表中的语句标识属性(Attribute),SQL语句则对应数据表中的相应的内容属性,版本描述信息则对应数据表中的描述信息属性,版本号则对应数据表中的相应的版本号属性。
也就是说,用户第一次在对应语句标识S的输入框中输入了SQL语句A,并添加了版本描述信息A进行存储时,数据表中将添加一条记录项,该记录项的语句标识属性为S,内容属性为SQL语句A,描述信息属性为版本描述信息A,版本号属性为1;用户第二次在对应语句标识S的输入框中输入了SQL语句B,并添加了版本描述信息B进行存储时,数据表中将再添加一条记录项,该记录项的语句标识属性为S,内容属性为SQL语句B,描述信息属性为版本描述信息B,版本号属性为2。
优选的,将所述SQL语句以及所述分配的版本号存储到数据表中的步骤之前还包括:
将所述提取的SQL语句以及版本描述信息序列化成json对象。
如图2和图3所示,若版本描述信息中包括taskID和taskName两个属性,则,可生成json对象,其中taskID即为页面中输入的“DemoID”,taskName即为页面中输入的“演示任务”,从而可生成键值对式的json对象的字符串,可将该字符串作为整体存储到数据表中的内容属性中。
进一步的,将所述提取的SQL语句以及版本描述信息序列化成json对象的步骤之后还包括:
以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
优选的,还可获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
例如,在一个应用场景中,版本控制对象可包含多个属性值类型:
1)svnId:版本号,唯一表示一个版本,采用自增ID
2)pageId:页面标识,唯一表示一个页面
3)objectId:页面对象标识,表示一个页面下的唯一页面对象
4)content:序列化成json字符串内容的SQL语句和版本描述信息
5)submitUser:提交用户,提交SQL语句存储请求的用户账号
6)submitTime:提交时间,接收到SQL语句存储请求的系统时间
再如图3所示,可将根据SQL语句存储请求提取到的页面标识pageId、页面对象标识objectId、序列化成json字符串内容的SQL语句和版本描述信息的content,分配的版本号svnId以及提交用户submitUser、提交时间submitTime封装在一个对象svn中。在版本控制对象中加入提交用户和提交时间可使得在多人写作场景中分析者可知晓每次提交的SQL语句由哪个用户提交,从而方便查找错误和协同分析。
创建了该svn对象并缓存在内存之后,则可根据预设的对象关系映射(ORM,ObjectRelational Mapping)将其存储到数据表中。即根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
例如,可预先创建的ORM的映射配置为,版本控制对象svn对象的svnId映射数据表的svnId字段(Attribute)、版本控制对象svn对象的pageId映射数据表的pageId字段(Attribute)、版本控制对象svn对象的objectId映射数据表的objectId字段(Attribute)、版本控制对象svn对象的content映射数据表的content字段(Attribute)、版本控制对象svn对象的submitUser映射数据表的submitUser字段(Attribute)以及版本控制对象svn对象的submitTime映射数据表的submitTime字段(Attribute)。则可根据该预先创建的ORM的映射配置将svn的各个属性值映射到字段中,从而完成持久化的存储。
步骤S106:接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。
分析用户也可通过输入语句标识和版本号来查询特定页面上的特定SQL语句输入框中在某个版本下输入的SQL语句以及相应的版本描述信息。如图4所示,若用户在某个SQL语句输入区域中输入的SQL语句在数据表中已存在版本11,其中版本11的SQL语句与版本5的SQL语句有区别,版本描述信息也不同。则若用户在希望回滚到版本5时,可以版本5和该SQL语句输入区域对应的语句标识作为输入参数生成SQL语句版本回滚请求。服务器接收到该SQL语句版本回滚请求之后,则可以该语句标识和版本5作为参数进行查询,得到相应的json字符串,然后将该json字符串反序列化成json对象,然后提取其中与页面上相应的SQL语句输入框和版本描述信息输入框对应的内容,将其填充到相应的位置,如图4中,版本信息中的任务名称即由版本11的“演示任务XXXXX”回滚到了版本5的“演示任务”,SQL语句也相应得到了回滚。
优选的,接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息。
接收SQL语句版本回滚请求的步骤则可具体为:接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
也就是说,在页面P的某个SQL语句输入框I处,可展示下拉菜单,该下拉菜单中包含有与页面P和SQL语句输入框I对应的版本号列表,该版本号列表由服务器通过以pageID=P和objectID=I为参数查询数据表得到,其中包含了与pageID=P和objectID=I对应的所有数据项的版本号字段的值。用户可通过在下拉菜单中选择版本号来确定展示的或执行的SQL语句的版本。若用户选择了版本号V,则用户操作的终端根据pageID=P、objectID=I和svnID=V生成SQL语句版本回滚请求,服务器即可根据pageID=P、objectID=I和svnID=V为检索条件查找相应的json字符串,然后将该json字符串反序列化成json对象后,将相应的SQL语句和版本描述信息展示在页面P的SQL语句输入框I的位置,从而方便用户查看或再次对数据表中的用户数据进行处理。
此外,为解决上述提到的传统技术中无法使用SVN工具对通过表单提交的SQL语句进行版本控制的技术问题,在一个实施例中,如图5所示,特提出了一种结构化查询语句的版本控制装置,包括:SQL语句接收模块102、SQL语句存储模块104和SQL语句回滚模块106,其中:
SQL语句接收模块102,用于接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识。
SQL语句存储模块104,用于为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中。
SQL语句回滚模块106,用于接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。
在本实施例中,SQL语句接收模块102还用于获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识。
在本实施例中,SQL语句存储模块104还用于将所述提取的SQL语句以及版本描述信息序列化成json对象。
在本实施例中,SQL语句存储模块104还用于以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
在本实施例中,SQL语句存储模块104还用于根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
在本实施例中,SQL语句存储模块104还用于获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
在本实施例中,SQL语句接收模块106还用于接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息;接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
实施本发明实施例,将具有如下有益效果:
采用了上述结构化查询语句的版本控制方法及装置之后,用户可通过页面表单提交在同一个SQL语句输入位置输入的多次SQL语句,而服务器可为该多个版本的SQL语句各自分配相应的版本号,然后再依据版本号将该多个版本的SQL语句存储在数据库中。在需要对SQL语句进行回滚时,则根据相应的版本号即可获取相应版本的SQL语句。与传统技术相比,不需要使用SVN工具,服务器也不需要先将表单数据提取后生成文件存储,然后再通过SVN工具的接口函数进行版本管理,从而实现了对表单提交的SQL语句的版本管理,提高了执行效率。
在一个实施例中,如图6所示,图6展示了一种运行上述结构化查询语句的版本控制方法的基于冯诺依曼体系的计算机系统10。该计算机系统10可以是智能手机、平板电脑、掌上电脑,笔记本电脑或个人电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口1001、处理器1002、存储器1003和输出接口1004。其中,外部输入接口1001可选的至少可包括网络接口10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口1004可包括显示屏10042和音响/喇叭10044等设备。
在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统10的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统10中形成逻辑上的SQL语句接收模块102、SQL语句存储模块104和SQL语句回滚模块106。且在上述结构化查询语句的版本控制方法执行过程中,输入的参数均通过外部输入接口1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口1004进行输出。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种结构化查询语句的版本控制方法,其特征在于,包括:
接收结构化查询SQL语句存储请求,获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识,在页面标识和所述对象标识相同时,所述语句标识相同;
为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中,版本号用于区分在所述语句标识相同时对应的不同SQL语句;
接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息。
2.根据权利要求1所述的结构化查询语句的版本控制方法,其特征在于,所述将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中的步骤之前还包括:
将所述提取的SQL语句以及版本描述信息序列化成json对象。
3.根据权利要求2所述的结构化查询语句的版本控制方法,其特征在于,所述将所述提取的SQL语句以及版本描述信息序列化成json对象的步骤之后还包括:
以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
4.根据权利要求3所述的结构化查询语句的版本控制方法,其特征在于,所述将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中的步骤还包括:
根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
5.根据权利要求3所述的结构化查询语句的版本控制方法,其特征在于,所述以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象的步骤还包括:
获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
6.根据权利要求1至5任一项所述的结构化查询语句的版本控制方法,其特征在于,所述接收SQL语句版本回滚请求的步骤之前还包括:
接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息;
所述接收SQL语句版本回滚请求的步骤为:
接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
7.一种结构化查询语句的版本控制装置,其特征在于,包括:
SQL语句接收模块,用于接收结构化查询SQL语句存储请求,提取所述SQL语句存储请求携带的SQL语句、版本描述信息以及对应的语句标识;
SQL语句存储模块,用于为所述语句标识分配递增的版本号,将所述语句标识、SQL语句、版本描述信息以及所述分配的版本号对应存储到数据表中,版本号用于区分在所述语句标识相同时对应的不同SQL语句;
SQL语句回滚模块,用于接收SQL语句版本回滚请求,提取所述SQL语句版本回滚请求携带的语句标识和版本号,在所述数据表中查询与所述语句标识和版本号对应的SQL语句以及版本描述信息;
所述SQL语句接收模块还用于获取所述SQL语句存储请求对应的页面的页面标识以及在所述页面中对应的页面对象的对象标识;将页面标识和所述对象标识作为所述SQL语句存储请求携带的SQL语句对应的语句标识,在页面标识和所述对象标识相同时,所述语句标识相同。
8.根据权利要求7所述的结构化查询语句的版本控制装置,其特征在于,所述SQL语句存储模块还用于将所述提取的SQL语句以及版本描述信息序列化成json对象。
9.根据权利要求8所述的结构化查询语句的版本控制装置,其特征在于,所述SQL语句存储模块还用于以所述语句标识、版本号以及提取的SQL语句序列化成的json对象作为属性值生成相应的版本控制对象,将所述版本控制对象缓存在内存中。
10.根据权利要求9所述的结构化查询语句的版本控制装置,其特征在于,所述SQL语句存储模块还用于根据预设的版本控制对象的属性值与所述数据表的属性值的映射关系,将所述版本控制对象的属性值存储到所述数据表中各自对应的字段中。
11.根据权利要求9所述的结构化查询语句的版本控制装置,其特征在于,所述SQL语句存储模块还用于获取所述SQL语句存储请求对应的提交用户标识以及提交时间,将所述提交用户标识以及提交时间作为属性值添加到所述版本控制对象中。
12.根据权利要求7至11任一项所述的结构化查询语句的版本控制装置,其特征在于,所述SQL语句接收模块还用于接收SQL语句版本查看请求,提取所述SQL语句版本查看请求携带的语句标识,在所述数据表中查找与所述语句标识对应的版本号以及与该版本号对应的版本描述信息,以列表的形式展示所述版本号以及与该版本号对应的版本描述信息;
接收通过在所述列表中选中版本号生成的SQL语句版本回滚请求,所述SQL语句版本回滚请求携带的语句标识为所述列表对应的语句标识,所述SQL语句版本回滚请求携带的版本号为选中的版本号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870519.XA CN105550206B (zh) | 2015-12-01 | 2015-12-01 | 结构化查询语句的版本控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510870519.XA CN105550206B (zh) | 2015-12-01 | 2015-12-01 | 结构化查询语句的版本控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550206A CN105550206A (zh) | 2016-05-04 |
CN105550206B true CN105550206B (zh) | 2019-10-29 |
Family
ID=55829395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510870519.XA Active CN105550206B (zh) | 2015-12-01 | 2015-12-01 | 结构化查询语句的版本控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550206B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930506A (zh) * | 2016-05-10 | 2016-09-07 | 乐视控股(北京)有限公司 | 对象检索方法和对象存储系统 |
CN107491454A (zh) * | 2016-06-13 | 2017-12-19 | 百度在线网络技术(北京)有限公司 | 数据查询方法及装置 |
CN109033381A (zh) * | 2018-07-27 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种业务请求的执行方法、装置及设备 |
CN109240735B (zh) * | 2018-07-27 | 2021-09-24 | 平安科技(深圳)有限公司 | 需求回滚方案填写方法、装置、终端及可读存储介质 |
CN109299067B (zh) * | 2018-08-22 | 2021-04-20 | 北京百度网讯科技有限公司 | 页面访问方法、装置和存储介质 |
CN109977026A (zh) * | 2019-04-04 | 2019-07-05 | 天津字节跳动科技有限公司 | 测试网页回滚方法和装置 |
CN111651364B (zh) * | 2020-07-01 | 2023-04-28 | 中国银行股份有限公司 | 并行开发下的sql检查方法及装置 |
CN115344585B (zh) * | 2022-08-03 | 2024-03-19 | 盐城天眼察微科技有限公司 | 数据版本管理方法、装置以及存储介质和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043648A (zh) * | 2007-03-09 | 2007-09-26 | 中国移动通信集团福建有限公司 | 业务服务交换系统 |
CN101127045A (zh) * | 2007-09-25 | 2008-02-20 | 中兴通讯股份有限公司 | 数据库可重复读实现方法、装置及数据库管理系统 |
CN101136783A (zh) * | 2007-10-15 | 2008-03-05 | 中兴通讯股份有限公司 | 一种网管系统配置数据的备份、恢复方法及装置 |
CN101692205A (zh) * | 2009-05-27 | 2010-04-07 | 上海文广新闻传媒集团 | 三维财经分析软件 |
CN101923573A (zh) * | 2010-08-09 | 2010-12-22 | 哈尔滨工程大学 | 一种针对数据丢失的数据库数据快速恢复方法 |
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN103198071A (zh) * | 2012-01-06 | 2013-07-10 | 中国移动通信集团山东有限公司 | 数据报表生成方法及其装置 |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
CN103842973A (zh) * | 2011-10-05 | 2014-06-04 | 国际商业机器公司 | 监视存储过程的执行 |
-
2015
- 2015-12-01 CN CN201510870519.XA patent/CN105550206B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043648A (zh) * | 2007-03-09 | 2007-09-26 | 中国移动通信集团福建有限公司 | 业务服务交换系统 |
CN101127045A (zh) * | 2007-09-25 | 2008-02-20 | 中兴通讯股份有限公司 | 数据库可重复读实现方法、装置及数据库管理系统 |
CN101136783A (zh) * | 2007-10-15 | 2008-03-05 | 中兴通讯股份有限公司 | 一种网管系统配置数据的备份、恢复方法及装置 |
CN101692205A (zh) * | 2009-05-27 | 2010-04-07 | 上海文广新闻传媒集团 | 三维财经分析软件 |
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
CN101923573A (zh) * | 2010-08-09 | 2010-12-22 | 哈尔滨工程大学 | 一种针对数据丢失的数据库数据快速恢复方法 |
CN102541884A (zh) * | 2010-12-10 | 2012-07-04 | 中国移动通信集团贵州有限公司 | 数据库优化方法和装置 |
CN103842973A (zh) * | 2011-10-05 | 2014-06-04 | 国际商业机器公司 | 监视存储过程的执行 |
CN103198071A (zh) * | 2012-01-06 | 2013-07-10 | 中国移动通信集团山东有限公司 | 数据报表生成方法及其装置 |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105550206A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550206B (zh) | 结构化查询语句的版本控制方法及装置 | |
CA2684822C (en) | Data transformation based on a technical design document | |
CN109145078B (zh) | 对本机应用的应用页面建索引 | |
CA3088695C (en) | Method and system for decoding user intent from natural language queries | |
US20240265053A1 (en) | Indexing Access Limited Native Applications | |
CN109033406B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN110537180A (zh) | 用于直接浏览器内标记因特网内容中的元素的系统和方法 | |
JP2017157192A (ja) | キーワードに基づいて画像とコンテンツアイテムをマッチングする方法 | |
US10216831B2 (en) | Search results summarized with tokens | |
CA2909257C (en) | Combinatorial business intelligence | |
US10423672B2 (en) | Network resource-specific search assistance | |
CN107704601A (zh) | 大数据检索方法与系统、计算机存储介质及电子设备 | |
CN106687949A (zh) | 本地应用的搜索结果 | |
WO2013071305A2 (en) | Systems and methods for manipulating data using natural language commands | |
US11314829B2 (en) | Action recommendation engine | |
CN111403011B (zh) | 挂号科室推送方法、装置、系统、电子设备及存储介质 | |
US20210157861A1 (en) | Systems, apparatuses, and method for document ingestion | |
US11409959B2 (en) | Representation learning for tax rule bootstrapping | |
JP2009037501A (ja) | 情報検索装置、情報検索方法およびプログラム | |
WO2024234614A1 (zh) | 信息处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
EP3238105B1 (en) | Application partial deep link to a corresponding resource | |
US20150149497A1 (en) | Determining problem resolutions within a networked computing environment | |
US20120284224A1 (en) | Build of website knowledge tables | |
CN109726292A (zh) | 面向大规模多语种数据的文本分析方法和装置 | |
CA3164515A1 (en) | Customer recognition system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 High-tech Zone, Zhuhai City, Guangdong Province, Unit 1, Fourth Floor C, Building A, Headquarters Base No. 1, Qianwan Third Road, Tangjiawan Town Applicant after: ZHUHAI DUOWAN INFORMATION TECHNOLOGY LIMITED Address before: 511442 29 floors, B-1 Building, Wanda Commercial Square North District, Wanbo Business Center, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Applicant before: ZHUHAI DUOWAN INFORMATION TECHNOLOGY LIMITED |
|
GR01 | Patent grant | ||
GR01 | Patent grant |