CN113779030A - 枚举值查询方法、可读存储介质及计算机程序产品 - Google Patents
枚举值查询方法、可读存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN113779030A CN113779030A CN202111067581.7A CN202111067581A CN113779030A CN 113779030 A CN113779030 A CN 113779030A CN 202111067581 A CN202111067581 A CN 202111067581A CN 113779030 A CN113779030 A CN 113779030A
- Authority
- CN
- China
- Prior art keywords
- enumeration
- value
- field
- enumerated
- comment
- 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.)
- Granted
Links
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/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/23—Updating
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提出枚举值查询方法、可读存储介质及计算机程序产品。方法包括:创建枚举字典表;在数据库的各表中搜索注释字段;响应于搜索到一注释字段,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;从所述枚举值注释字段中提取枚举值及所述枚举值代表的业务含义;从所述枚举值注释字段所在的表中提取所述枚举值注释字段对应的枚举字段;将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存。本发明实施例实现了对数据库表中的枚举字段的枚举值及其代表的含义的自动查询。
Description
技术领域
本发明实施例涉及枚举值查询方法、可读存储介质及计算机程序产品。
背景技术
业务的数据库表中有很多字段都是枚举字段,枚举值需要被有效地维护,以保证数据应用可以及时获取枚举值的含义,从而进行数据开发和统计分析。目前的枚举值维护方式为人工维护,在有数据需求提出时,由需求提出者向业务开发工程师查询代码,根据代码列出所需枚举字段的全部枚举值,业务开发工程师在开发时也要单独处理枚举值及其对应的含义。
以下为一个数据库表示例。其中,business_type字段代表业务类型,由于数据库表中并未定义业务类型的不同取值所代表的业务类型,因此,不论是业务类型的已有取值还是新增取值,都无法直观地得知其代表的是什么业务。
现有的维护数据库表中的枚举值的方法的缺点如下:
一、效率较低
需要业务产品提出者、业务开发工程师及数据工程师等手动单独处理枚举字段;
二、时效差
枚举值有更新和新增时不能保证变更信息被及时通知到相关人员进行迭代修改;
三、数据不准确
有些信息统计强依赖枚举值映射关系,如果不能及时准确地维护,会导致统计信息的错误,产生错误的分析结论。
发明内容
本发明实施例提出枚举值查询方法、可读存储介质及计算机程序产品,以实现对数据库表中的枚举字段的枚举值及其代表的业务含义的自动查询。
本发明实施例的技术方案是这样实现的:
一种枚举值查询方法,该方法包括:
创建枚举字典表;
在数据库的各表中搜索注释字段;
响应于搜索到一注释字段,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;
从所述枚举值注释字段中提取枚举值及所述枚举值代表的业务含义;
从所述枚举值注释字段所在的表中提取所述枚举值注释字段对应的枚举字段;将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存。
所述从该注释字段中搜索枚举值注释标志符,包括:
从该注释字段中搜索预设的枚举值注释开始符和结束符。
所述枚举值注释开始符、结束符分别为:{、}。
所述从所述枚举值注释字段中提取枚举值及所述枚举值代表的业务含义,包括:
提取枚举值注释开始符和结束符之间的字符串;
从所述字符串中搜索枚举值列举分隔符;
根据所述枚举值列举分隔符,将所述字符串划分为多个子字符串;
从每个子字符串中提取每一枚举值及每一枚举值代表的业务含义。
所述将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存之后,进一步包括:
在所述数据库的各表中搜索注释字段;
当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;
从所述枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段;
在所述枚举值注释字段所在的表中搜索所述枚举字段的所有枚举值;
将搜索到的所述枚举字段的所有枚举值与保存的所述枚举字典表项中所述枚举字段的所有枚举值进行匹配;
若发现搜索到的所述枚举字段的一个或多个枚举值未与保存的所述枚举字典表项中所述枚举字段的任一枚举值匹配上,则确定所述一个或多个枚举值为所述枚举字段的新增枚举值。
所述确定所述一个或多个枚举值为所述枚举字段的新增枚举值之后,进一步包括:
将所述一个或多个枚举值提供给数据库维护者,以提示数据库维护者为所述一个或多个枚举值增加注释。
所述在数据库的各表中搜索注释字段,包括:
根据预先设定的需进行枚举值注释查询的数据库的标识信息,登录所述标识信息对应的数据库,在登录到的数据库的各表中搜索注释字段。
所述将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存,包括:
将所述枚举字段所在的表的标识、所在的数据库的标识、所述枚举字段的名称分别和每一枚举值及每一枚举值代表的业务含义进行组合,得到每一枚举值对应的所述枚举字典表项。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的枚举值查询方法的步骤。
一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一项所述的枚举值查询方法的步骤。
本发明实施例实现了对数据库表中的枚举字段的枚举值及其代表的含义的自动查询。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的枚举值查询方法流程图;
图2为本发明另一实施例提供的枚举值查询方法流程图;
图3为本发明一实施例提供的枚举值查询装置的结构示意图;
图4为本发明实施例提供的一种电子设备的示例性结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本发明实施例提出一种枚举值查询方法,该方法中,创建枚举字典表;在数据库的各表中搜索注释字段;响应于搜索到一注释字段,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;从该枚举值注释字段中提取枚举值及枚举值代表的业务含义;从该枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段;将提取的枚举字段、提取的枚举值及枚举值代表的业务含义作为该枚举字典表中的枚举字典表项进行保存。本发明实施例实现了对数据库表中的枚举字段的枚举值及其代表的含义的自动查询。
图1为本发明一实施例提供的枚举值查询方法流程图,其具体步骤如下:
步骤101:创建枚举字典表。
表1为枚举字典表的一个示例:
枚举字段名 | 枚举值 | 枚举值代表的业务含义 |
… | … | … |
… | … | … |
… | … | … |
表1
即,枚举字典表中共包含三个参数:枚举字段名、枚举值以及枚举值代表的业务含义。下面的每一行用于存储一条表项,每条表项中包含该三个参数的参数值。由于初始时还没有存入任何表项的内容,因此所有表项的内容都为空。
步骤102:在数据库的各表中搜索注释字段。
具体地,注释字段的字段名通常为COMMENT,在数据库中搜索到COMMENT,就表示搜索到了注释字段。
一可选实施例中,根据预先设定的需进行枚举值注释查询的数据库的标识信息,登录该标识信息对应的数据库,在登录到的数据库的各表中搜索注释字段。
步骤103:当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段。
一可选实施例中,从该注释字段中搜索枚举值注释标志符包括:从该注释字段中搜索预设的枚举值注释开始符和结束符。
例如:预先设定枚举值标志符为:起始符为“{”、结束符为“}”,则在搜索到COMMENT后,再在其后搜索“{”和“}”,若搜索到,则确定该注释字段为枚举值注释字段。
步骤104:从该枚举值注释字段中提取枚举值及枚举值代表的业务含义。
一可选实施例中,本步骤具体包括:提取枚举值注释开始符和结束符之间的字符串;从该字符串中搜索枚举值列举分隔符;根据各枚举值列举分隔符,将该字符串划分为多个子字符串;从每个子字符串中提取每一枚举值及每一枚举值代表的业务含义。
例如:预先设定枚举值列举分隔符为“,”,则根据“,”,将开始符“{”和结束符“}”之间的字符串划分为多个子字符串,每个子字符串中包含一个枚举值及该枚举值代表的业务含义。
步骤105:从该枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段。
在表的SQL(Structured Query Language,结构化查询语言)中,枚举值注释字段通常紧跟在其对应的枚举字段之后,则从枚举值注释字段开始向前搜索距离其最近的字段,即可得到其对应的枚举字段。
步骤106:将该枚举字段、从该枚举值注释字段中提取的枚举值及提取的枚举值代表的业务含义作为该枚举字典表中的枚举字典表项进行保存。一实施例中,本步骤具体包括:将该枚举字段所在的表的标识、所在的数据库的标识、该枚举字段的名称分别和每一枚举值及其代表的业务含义进行组合,得到每一枚举值对应的枚举字典表项。
上述实施例中,通过在数据库的各表中搜索注释字段,并根据枚举值注释标志符,挑选枚举值注释字段,从该枚举值注释字段中提取枚举值及枚举值代表的业务含义,将枚举字段、提取的枚举值及提取的枚举值代表的业务含义作为枚举字典表项进行保存,从而实现了对数据库表中的枚举字段的枚举值及其代表的含义的自动查询,无需手动操作,效率高,且准确性能够得到保证。
考虑到:在实际应用中,可能存在:数据库的表中的枚举字段增加了新的取值,但是却没有对应地增加该新的取值代表的业务含义的注释,根据该情况给出如下解决方案:
步骤106之后,进一步包括:在该数据库的各表中搜索注释字段;当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;从该枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段;在该枚举值注释字段所在的表中搜索该枚举字段的所有枚举值;将搜索到的该枚举字段的所有枚举值与保存的枚举字典表项中该枚举字段的所有枚举值进行匹配;若发现搜索到的该枚举字段的一个或多个枚举值未与保存的枚举字典表项中该枚举字段的任一枚举值匹配上,则确定该一个或多个枚举值为所述枚举字段的新增枚举值。
通过上述实施例能够对数据库的表中的枚举字段新增的且未被注释其业务含义的枚举值进行检测。
一可选实施例中,确定该一个或多个枚举值为所述枚举字段的新增枚举值之后,进一步包括:将该一个或多个枚举值提供给数据库开发者,以提示数据库维护者为该一个或多个枚举值增加注释。
图2为本发明另一实施例提供的枚举值查询方法流程图,其具体步骤如下:
步骤201:创建枚举字典表。
即,枚举字典表中的参数可以包括:主键id、数据库端口号、数据库名、表名、枚举字段名、枚举值、枚举值代表的业务含义及枚举字典表项的创建时间。
枚举字典表的建表SQL的一个示例如下:
表2为枚举字典表的另一示例:
表2
步骤202:当预设的枚举值注释查询周期到来时,删除上一枚举值注释查询周期保存的所有枚举字典表项。
每条枚举字典表项对应一个枚举字段的一个枚举值。
如表2所示,每条枚举字典表项中包含如下参数的参数值:主键id、数据库端口号、数据库名、表名、枚举字段名、枚举值、枚举值代表的业务含义及该枚举字典表项的创建时间。
步骤203:根据预先设定的需要定时进行枚举值注释查询的数据库的标识信息,登录对应的数据库,遍历该数据库的各个表,查找COMMENT字段。
数据库的标识信息可以用:数据库端口号、数据库地址和数据库名共同表示。进一步地,数据库的标识信息还可包括:数据库账号,或者数据库账号+密码,以登录数据库时使用。
预先设定用于枚举值注释的COMMENT字段的格式可以为:
COMMENT'枚举字段名{"枚举值1":"枚举值1代表的含义","枚举值2":"枚举值2代表的含义",..."枚举值n":"枚举值n代表的含义"}',n为正整数。
例如:一个COMMENT字段为:COMMENT'业务类型{"1":"装修业务","2":"质保金业务"}'。
步骤204:当查找到一COMMENT字段时,通过正则表达式检测COMMENT字段中是否存在“{”和“}”符号,若存在,则提取“{”和“}”之间的JSON字符串。
若COMMENT字段不存在“{”和“}”符号,则确定该字段不为枚举值注释字段,不执行后续步骤。
步骤205:根据JSON字符串中的枚举值列表分隔符,将该字符串划分为多个子字符串;从每个子字符串中提取每一枚举值及每一枚举值代表的业务含义。
步骤206:从该COMMENT字段所在的表中提取该COMMENT字段对应的枚举字段名。
在表的SQL中,COMMENT字段通常是紧跟在其对应的枚举字段后的,从COMMENT字段向前搜索最近的字段即为其对应的枚举字段。
步骤207:将该COMMENT字段所对应的主键id、数据库端口号、数据库名、表名和枚举字段名分别和该枚举字段的每一枚举及其代表的业务含义及当前时间分别进行组合,每个组合对应一条新的枚举字典表项,将各枚举字典表项保存到枚举字典表中。
例如:表3为已写入表项内容的枚举字典表示例:
表3
步骤208:当预设的新增枚举值查询周期到来时,根据预先设定的需要定时进行新增枚举值查询的数据库的标识信息,登录对应的数据库,遍历该数据库的各个表,查找COMMENT字段。
数据库的标识信息可以用:数据库端口号、数据库地址和数据库名共同表示。进一步地,数据库的标识信息还可包括:数据库账号,或者数据库账号+密码,以登录数据库时使用。
本步骤中的预先设定的需要定时进行新增枚举值查询的数据库的标识信息与步骤203中的预先设定的需要定时进行枚举值注释查询的数据库的标识信息相同,可以只设定一次即可。
新增枚举值查询周期通常紧跟在枚举值注释查询周期之后,例如:可设定每天的10:15为枚举值注释查询周期的开始时刻,每天的10:30为新增枚举值查询周期的开始时刻,在枚举值注释查询周期的开始时刻和新增枚举值查询周期的开始时刻之间不允许对数据库的各表进行操作,例如:不允许进行建表操作和Alert操作等。
步骤209:当查找到一COMMENT字段时,通过正则表达式检测该COMMENT字段是否存在“{”和“}”符号,若存在,则在该COMMENT字段所在表中查找该COMMENT字段对应的枚举字段。
步骤210:在该COMMENT字段所在表中遍历该枚举字段的枚举值。
步骤211:当遍历完毕,得到该枚举字段的所有枚举值。
在遍历该枚举字段的枚举值时,同一枚举值可能会遍历到多次,此时要进行去重操作,即每个枚举值只保存一次。
步骤212:根据该COMMENT字段所在的表对应的数据库端口号、数据库名、表名和该枚举字段名,在已保存的所有枚举字典表项中查找匹配的枚举字典表项。
步骤213:将步骤211中得到的该枚举字段的所有枚举值与步骤212查找到的匹配的所有枚举字典表项中的所有枚举值进行匹配,若步骤211中得到的该枚举字段的一个或多个枚举值未与步骤212查找到的匹配的任一枚举字典表项中的任一枚举值匹配上,则确定该一个或多个枚举值为该枚举字段的新增枚举值,将该一个或多个枚举值所在的表对应的数据库端口号、数据库名、表名和该枚举字段名通过邮件报警等方式提供给数据库维护人员,以提示数据库维护人员为该一个或多个枚举值添加注释。
通过上述实施例进一步实现了在枚举字段新增枚举值时能够被自动检测且及时通知到数据库维护人员。
图3为本发明实施例提供的枚举值查询装置的结构示意图,该装置主要包括:
查询模块31,用于创建枚举字典表,在数据库的各表中搜索注释字段;当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;从该枚举值注释字段中提取枚举值及枚举值代表的业务含义;从该枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段。
表项保存模块32,用于将查询模块31得到的该枚举字段、提取的枚举值及提取的枚举值代表的业务含义作为枚举字典表中的枚举字典表项进行保存。
一可选实施例中,查询模块31从该注释字段中搜索枚举值注释标志符,包括:从该注释字段中搜索预设的枚举值注释开始符和结束符。
一可选实施例中,查询模块31从该枚举值注释字段中提取枚举值及枚举值代表的业务含义,包括:提取枚举值注释开始符和结束符之间的字符串;从该字符串中搜索枚举值列举分隔符;根据该枚举值列举分隔符,将该字符串划分为多个子字符串;从每个子字符串中提取每一枚举值及其代表的业务含义。
一可选实施例中,该装置进一步包括:新增枚举值检测模块,用于在该数据库的各表中搜索注释字段;当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;从该枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段;在该枚举值注释字段所在的表中搜索该枚举字段的所有枚举值;将搜索到的该枚举字段的所有枚举值与保存的枚举字典表项中该枚举字段的所有枚举值进行匹配;若发现搜索到的该枚举字段的一个或多个枚举值未与保存的枚举字典表项中该枚举字段的任一枚举值匹配上,则确定该一个或多个枚举值为该枚举字段的新增枚举值。
一可选实施例中,新增枚举值检测模块确定该一个或多个枚举值为该枚举字段的新增枚举值之后,进一步用于:将该一个或多个枚举值提供给数据库维护者,以提示数据库维护者为该一个或多个枚举值增加注释。
一可选实施例中,查询模块31在数据库的各表中搜索注释字段,包括:根据预先设定的需进行枚举值注释查询的数据库的标识信息,登录该标识信息对应的数据库,在登录到的数据库的各表中搜索注释字段。
一可选实施例中,表项保存模块32将该枚举字段、提取的枚举值及提取的枚举值代表的业务含义作为该枚举字典表中的枚举字典表项进行保存,包括:将该枚举字段所在的表的标识、所在的数据库的标识、该枚举字段的名称分别和每一枚举值及其代表的业务含义进行组合,得到每一枚举值对应的枚举字典表项。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一实施例所述的枚举值查询方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述枚举值查询方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上枚举值查询方法中的步骤。
根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
如图4所示,本发明实施例还提供一种电子设备。如图4所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器41、一个或一个以上计算机可读存储介质的存储器42以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器42的程序时,可以实现上述枚举值查询方法。
具体的,实际应用中,该电子设备还可以包括电源43、输入输出单元44等部件。本领域技术人员可以理解,图4中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器41是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器42内的软件程序和/或模块,以及调用存储在存储器42内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器42可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器41通过运行存储在存储器42的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器42还可以包括存储器控制器,以提供处理器41对存储器42的访问。
该电子设备还包括给各个部件供电的电源43,可以通过电源管理系统与处理器41逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源43还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入输出单元44,该输入单元输出44可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。该输入单元输出44还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种枚举值查询方法,其特征在于,该方法包括:
创建枚举字典表;
在数据库的各表中搜索注释字段;
响应于搜索到一注释字段,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;
从所述枚举值注释字段中提取枚举值及所述枚举值代表的业务含义;
从所述枚举值注释字段所在的表中提取所述枚举值注释字段对应的枚举字段;将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存。
2.根据权利要求1所述的方法,其特征在于,所述从该注释字段中搜索枚举值注释标志符,包括:
从该注释字段中搜索预设的枚举值注释开始符和结束符。
3.根据权利要求1所述的方法,其特征在于,所述枚举值注释开始符、结束符分别为:{、}。
4.根据权利要求2所述的方法,其特征在于,所述从所述枚举值注释字段中提取枚举值及所述枚举值代表的业务含义,包括:
提取枚举值注释开始符和结束符之间的字符串;
从所述字符串中搜索枚举值列举分隔符;
根据所述枚举值列举分隔符,将所述字符串划分为多个子字符串;
从每个子字符串中提取每一枚举值及每一枚举值代表的业务含义。
5.根据权利要求1所述的方法,其特征在于,所述将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存之后,进一步包括:
在所述数据库的各表中搜索注释字段;
当搜索到一注释字段时,从该注释字段中搜索枚举值注释标志符,若搜索到,则确定该注释字段为枚举值注释字段;
从所述枚举值注释字段所在的表中提取该枚举值注释字段对应的枚举字段;
在所述枚举值注释字段所在的表中搜索所述枚举字段的所有枚举值;
将搜索到的所述枚举字段的所有枚举值与保存的所述枚举字典表项中所述枚举字段的所有枚举值进行匹配;
若发现搜索到的所述枚举字段的一个或多个枚举值未与保存的所述枚举字典表项中所述枚举字段的任一枚举值匹配上,则确定所述一个或多个枚举值为所述枚举字段的新增枚举值。
6.根据权利要求5所述的方法,其特征在于,所述确定所述一个或多个枚举值为所述枚举字段的新增枚举值之后,进一步包括:
将所述一个或多个枚举值提供给数据库维护者,以提示数据库维护者为所述一个或多个枚举值增加注释。
7.根据权利要求1所述的方法,其特征在于,所述在数据库的各表中搜索注释字段,包括:
根据预先设定的需进行枚举值注释查询的数据库的标识信息,登录所述标识信息对应的数据库,在登录到的数据库的各表中搜索注释字段。
8.根据权利要求1所述的方法,其特征在于,所述将所述枚举字段、所述枚举值及所述枚举值代表的业务含义作为所述枚举字典表中的枚举字典表项进行保存,包括:
将所述枚举字段所在的表的标识、所在的数据库的标识、所述枚举字段的名称分别和每一枚举值及每一枚举值代表的业务含义进行组合,得到每一枚举值对应的所述枚举字典表项。
9.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至8中任一项所述的枚举值查询方法的步骤。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现如权利要求1至8中任一项所述的枚举值查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111067581.7A CN113779030B (zh) | 2021-09-13 | 2021-09-13 | 枚举值查询方法、可读存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111067581.7A CN113779030B (zh) | 2021-09-13 | 2021-09-13 | 枚举值查询方法、可读存储介质及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779030A true CN113779030A (zh) | 2021-12-10 |
CN113779030B CN113779030B (zh) | 2023-08-08 |
Family
ID=78842984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111067581.7A Active CN113779030B (zh) | 2021-09-13 | 2021-09-13 | 枚举值查询方法、可读存储介质及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779030B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975055A (zh) * | 2023-06-29 | 2023-10-31 | 数字宁波科技有限公司 | 一种基于机器学习的分析政务数据相关枚举字段判定系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183139A1 (en) * | 2008-01-11 | 2009-07-16 | The Mathworks, Inc. | Enumeration classes |
CN103020064A (zh) * | 2011-09-20 | 2013-04-03 | 佳都新太科技股份有限公司 | 一种通过注解方式生成查询条件的方法和配置 |
US20170046388A1 (en) * | 2015-08-11 | 2017-02-16 | Sybase, Inc. | Accelerating Database Queries Using Composite Union Enumeration |
CN109766085A (zh) * | 2018-12-29 | 2019-05-17 | 苏宁易购集团股份有限公司 | 一种处理枚举类型代码的方法及装置 |
CN111324511A (zh) * | 2020-02-24 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 报警规则的生成方法、装置、电子设备及存储介质 |
CN111611004A (zh) * | 2019-02-25 | 2020-09-01 | 国际商业机器公司 | 使用基于枚举模式的注释进行程序合成 |
CN112115125A (zh) * | 2020-09-27 | 2020-12-22 | 北京人大金仓信息技术股份有限公司 | 数据库访问对象名称解析方法、装置及电子设备 |
CN112507067A (zh) * | 2020-11-30 | 2021-03-16 | 厦门海西医药交易中心有限公司 | 一种缓存插入式注解器及注解方法 |
-
2021
- 2021-09-13 CN CN202111067581.7A patent/CN113779030B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183139A1 (en) * | 2008-01-11 | 2009-07-16 | The Mathworks, Inc. | Enumeration classes |
CN103020064A (zh) * | 2011-09-20 | 2013-04-03 | 佳都新太科技股份有限公司 | 一种通过注解方式生成查询条件的方法和配置 |
US20170046388A1 (en) * | 2015-08-11 | 2017-02-16 | Sybase, Inc. | Accelerating Database Queries Using Composite Union Enumeration |
CN109766085A (zh) * | 2018-12-29 | 2019-05-17 | 苏宁易购集团股份有限公司 | 一种处理枚举类型代码的方法及装置 |
CN111611004A (zh) * | 2019-02-25 | 2020-09-01 | 国际商业机器公司 | 使用基于枚举模式的注释进行程序合成 |
CN111324511A (zh) * | 2020-02-24 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 报警规则的生成方法、装置、电子设备及存储介质 |
CN112115125A (zh) * | 2020-09-27 | 2020-12-22 | 北京人大金仓信息技术股份有限公司 | 数据库访问对象名称解析方法、装置及电子设备 |
CN112507067A (zh) * | 2020-11-30 | 2021-03-16 | 厦门海西医药交易中心有限公司 | 一种缓存插入式注解器及注解方法 |
Non-Patent Citations (2)
Title |
---|
ALBERT M P等: "Automatic query-Centic API for Routine Access to Linked Data", 《INTERNATIONAL SEMANTIC WEB CONFERENCE 2017》, pages 334 - 349 * |
郭红领等: "IFC数据模型至关系型数据库的自动映射", 《清华大学学报(自然科学版)》, vol. 61, no. 02, pages 152 - 160 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975055A (zh) * | 2023-06-29 | 2023-10-31 | 数字宁波科技有限公司 | 一种基于机器学习的分析政务数据相关枚举字段判定系统 |
CN116975055B (zh) * | 2023-06-29 | 2024-02-13 | 数字宁波科技有限公司 | 一种基于机器学习的分析政务数据相关枚举字段判定系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113779030B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022121171A1 (zh) | 相似文本匹配方法、装置、电子设备及计算机存储介质 | |
CN110532019B (zh) | 一种软件代码片段历史追溯的方法 | |
US10002142B2 (en) | Method and apparatus for generating schema of non-relational database | |
US9009175B2 (en) | System and method for database migration and validation | |
CN110442847B (zh) | 基于代码仓库过程管理的代码相似性检测方法及装置 | |
CN111767334B (zh) | 信息抽取方法、装置、电子设备及存储介质 | |
WO2020209963A1 (en) | Leveraging a collection of training tables to accurately predict errors within a variety of tables | |
CN111125116A (zh) | 定位业务表中代码字段及对应代码表的方法及系统 | |
CN113779030B (zh) | 枚举值查询方法、可读存储介质及计算机程序产品 | |
CN104424399A (zh) | 一种基于病毒蛋白质本体的知识导航的方法、装置和系统 | |
CN113760891A (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111078988B (zh) | 一种电力服务信息热点检索方法、装置和电子设备 | |
CN115329150A (zh) | 生成搜索条件树的方法、装置、电子设备及存储介质 | |
CN114003619A (zh) | 一种数据库查询的方法、装置、电子设备及存储介质 | |
CN114443165A (zh) | 一种基于国产cpu和数据库的sql文件检查方法及系统 | |
CN109739835B (zh) | 一种数据版本保存方法及装置 | |
US10866993B2 (en) | Managing online help information in a data center | |
CN111813749A (zh) | 文件过滤方法及装置、电子设备、存储介质 | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
CN113001538A (zh) | 一种命令解析方法及系统 | |
CN111078671A (zh) | 数据表字段的修改方法、装置、设备和介质 | |
CN111061482B (zh) | 字符串中参数的解析方法、装置、存储介质及电子设备 | |
CN106293897B (zh) | 组件自动化调度系统 | |
CN118035210A (zh) | 数据库的数据字典管理方法、存储介质、设备及产品 | |
CN112347122A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |