CN116680279A - 基于哈希索引的数据处理方法、系统、装置和计算机可读介质 - Google Patents

基于哈希索引的数据处理方法、系统、装置和计算机可读介质 Download PDF

Info

Publication number
CN116680279A
CN116680279A CN202310968534.2A CN202310968534A CN116680279A CN 116680279 A CN116680279 A CN 116680279A CN 202310968534 A CN202310968534 A CN 202310968534A CN 116680279 A CN116680279 A CN 116680279A
Authority
CN
China
Prior art keywords
hash index
hash
field
index value
database
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
Application number
CN202310968534.2A
Other languages
English (en)
Inventor
田显宁
刘贵平
陈轶欧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Cssca Technologies Co ltd
Original Assignee
Beijing Cssca Technologies Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Cssca Technologies Co ltd filed Critical Beijing Cssca Technologies Co ltd
Priority to CN202310968534.2A priority Critical patent/CN116680279A/zh
Publication of CN116680279A publication Critical patent/CN116680279A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于哈希索引的数据处理方法、系统、装置和计算机可读介质,属于数据处理领域,所述方法应用于数据库应用系统中,该数据库应用系统包括管理元件,所述方法包括:所述管理元件接收需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。本申请根据所述字段的数据类型确定指定的哈希索引值计算方法,结合特定哈希索引值生成规则,避免了哈希冲突。同时采用特定哈希索引值生成规则以及哈希索引值在数据库应用系统开发方面的三个层面地实施应用,在应用程序运行过程中,来自互联网SQL注入攻击无法生效。

Description

基于哈希索引的数据处理方法、系统、装置和计算机可读介质
技术领域
本申请数据处理领域,尤其涉及基于哈希索引的数据处理方法、系统、装置和计算机可读介质。
背景技术
通用应用系统开发采用哈希表作为其索引结构,这种哈希表存储空间有限,散列函数映射存在多对一的关系,容易造成哈希冲突,降低了系统的查询精度和访问效率。
通用应用系统开发和运行期, 物理表字段与程序中的业务对象之间一般通过对象关系映射ORM建立实体对应关系,这种对应关系大多体现在实际业务层面,这种对应关系在数据库表结构设计和系统构建之初就确定了,面对来自互联网SQL注入,未经授权的修改数据库等风险这种设计方法缺乏一定程度的保护。
发明内容
本申请的目的在于克服上述现有技术中存在的系统的查询精度和访问效率低下,以及未经授权的修改导致数据库风险问题,提供一基于哈希索引的数据处理方法、系统、装置和计算机可读介质。
本申请提供一种基于哈希索引的数据处理方法,应用于数据库中,该数据库包括管理元件,所述方法包括:
所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;
所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
可选地,所述哈希索引值计算方法,包括:
将所述字段值直接映射到哈希索引的范围内、散列函数、除余法、折叠法或者定义哈希函数。
可选地,所述根据所述哈希索引值执行数据操作,包括:
数据检索、更新、删除;
表的创建、修改、删除;
数据库的备份、恢复、优化、回滚以及两阶段提交。
可选地,所述字段包括:单个或多个字段。
可选地,所述物理数据库表包括一个或多个哈希索引字段。
本申请还提供一种基于哈希索引的数据处理系统,包括:处理模块和执行模块;
所述处理模块包括管理元件,所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,通过所述哈希索引值计算方法计算所述哈希索引值;
所述执行模块根据所述哈希索引值执行数据操作。
可选地,所述哈希索引值计算方法,包括:
将所述字段值直接映射到哈希索引的范围内、散列函数、除余法、折叠法或者定义哈希函数。
可选地,所述根据所述哈希索引值执行数据操作,包括:
数据检索、更新、删除;
表的创建、修改、删除;
数据库的备份、恢复、优化、回滚以及两阶段提交。
本申请还提供一种计算机装置,包括:
存储器,用于存储上述所述基于哈希索引的数据处理方法的计算机程序;
处理器,用于调取所述存储中存储的基于哈希索引的数据处理方法的计算机程序,执行:所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
本申请还提供一种计算机可读介质,存储有计算机程序;该计算机程序用于执行上述所述基于哈希索引的数据处理方法的步骤。
本申请的优点和有益效果:
本申请提供一种基于哈希索引的数据处理方法,应用于数据库中,该数据库包括管理元件,所述方法包括:所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。本申请在应用程序运行过程中根据所述字段的数据类型确定指定的哈希索引值计算方法,使得对所需复杂查询的组合进行配置分类,结合特定哈希索引值生成规则,避免了哈希冲突。也避免了未经优化的复杂的查询条件的SQL语句出现,有效提高数据库接口执行效率。
由于采用特定哈希索引值生成规则以及哈希索引值在数据库应用系统开发方面的三个层面地实施应用,在应用程序运行过程中,来自互联网SQL注入攻击无法生效,未经授权的修改数据库记录行为不会在系统中体现,也不会影响到在线业务的运行。
附图说明
图1是本申请中基于哈希索引的数据处理流程示意图。
图2是本申请中哈希索引字段结构示意图。
图3是本申请中哈希索引在应用软件开发中的实施示意图。
图4是本申请中基于哈希索引的数据处理系统示意图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步说明,以使本领域的技术人员更好地理解本申请并能予以实施。
以下内容均是为了详细说明本申请要保护的技术方案所提供的具体实施过程的示例,但是本申请还采用不同于此的描述的其他方式实施,本领域技术人员在本申请构思的指引下,采用不同的技术手段实现本申请,因此本申请不受下面具体实施例的限制。
本申请提供一种基于哈希索引的数据处理方法,应用于数据库中,该数据库包括管理元件,所述方法包括:所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。本申请在应用程序运行过程中根据所述字段的数据类型确定指定的哈希索引值计算方法,使得对所需复杂查询的组合进行配置分类,结合特定哈希索引值生成规则,避免了哈希冲突。也避免了未经优化的复杂的查询条件的SQL语句出现,有效提高数据库接口执行效率。
由于采用特定哈希索引值生成规则以及哈希索引值在数据库应用系统开发方面的三个层面地实施应用,在应用程序运行过程中,来自互联网SQL注入攻击无法生效,未经授权的修改数据库记录行为不会在系统中体现,也不会影响到在线业务的运行。
图1是本申请中基于哈希索引的数据处理流程示意图。
请参照图1所示,S101所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段。
本申请中,通过配置文件或配置界面,开发人员或系统管理人员可以灵活地对数据库表中的字段进行配置,确定哈希索引字段的组成范围和基本信息。同时,根据字段的数据类型,采用相应的哈希索引值生成规则,以实现数据的高效检索和管理。该方案支持多种数据库访问接口和不同类型的数据库系统。
具体的,通过配置文件或配置界面,设置数据库表的字段配置和哈希索引的基本信息,包括索引号、索引字段组成、是否可重复以及活动状态。
可以通过访问数据库管理系统(如MySQL、Oracle、SQL Server等)的配置文件来确定参与哈希索引构造的字段范围。配置文件通常是一个文本文件,其中包含了数据库的各种配置信息。另外,一些数据库管理系统也提供了系统配置功能界面,可以通过界面来配置数据库的相关设置。
在配置文件或系统配置功能界面中,查找相关的配置项,通常是以标识符、关键字或属性名的形式存在。找到适用于哈希索引的配置项,例如会找到一个类似于"hash_index_fields"的配置项。
根据需求,配置合适的字段范围。可以直接指定某个具体的字段,或者可以使用通配符或正则表达式来匹配多个字段。具体的配置方法因数据库管理系统而有所不同,可以参考相关文档或手册。
在确定了字段范围后,进一步配置数据库表中需要进行哈希索引的字段。将所述字段在数据库管理系统中结合数据库索引的特性,实现快速查询和数据保护等功能。
所述管理元件内置到所述数据库中,根据你所使用的具体数据库管理系统,打开相关的管理元件。所述管理元件可以是一个命令行界面、图形用户界面(GUI)或者其他管理工具。
通过所述管理元件连接到目标数据库。提供数据库的连接信息,例如数据库服务器地址、端口号、用户名和密码等。在连接成功后,选择需要进行哈希索引的数据库。这通常通过管理元件中的一些导航菜单或命令来进行操作。
在目标数据库中,选择要进行哈希索引的数据表。这可以通过浏览数据库结构、输入表名或使用特定的SQL语句来实现。在选定的数据表中,确定需要进行哈希索引的字段。这需要阅读数据表的结构或者使用查询语句来查看字段列表。
在所述管理元件中,使用相应的命令或选项来配置哈希索引。完成哈希索引的配置后,根据所述管理元件的要求,提交配置。具体的,所述提交所述配置包括执行一个命令、点击一个保存按钮或者使用相应的SQL语句。
完成配置后,进行验证步骤,确保哈希索引已成功创建。这可以包括执行一些查询语句,观察查询的执行计划或性能等指标。
进一步的,所述字段包括:单个或多个字段。其中,字段类型和长度不做限制。
请参照图1所示,S102所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
所述哈希索引值生成规则包括对各种关系型数据库和非关系型数据库常用的数据类型进行总结,确定可生成哈希索引值的常用数据类型,如字符型、字符串型、序列型、RAW格式型、日期型、短整型、整型、长整型、浮点型、双精度型。
所述哈希索引生成规则采用的算法类型根据字段数据类型包括字符哈希生成类型、字符串哈希生成类型、日期哈希生成类型、数值哈希生成类型。
举个例子:
字符哈希生成类型:对于字符类型的字段,可以使用字符串的哈希函数来生成哈希值。例如,对于字段"性别",可以使用字符串哈希函数将每个姓名转换为哈希值,如"F(女)"转换为哈希值0x46,"M(男)"转换为哈希值0x4D。
字符串哈希生成类型:对于字符串类型的字段,同样可以使用字符串哈希函数来生成哈希值。例如,对于字段"姓名",可以使用字符串哈希函数将每个地址转换为哈希值,如"123Main St"转换为哈希值0x313233204D61696E205374,"456 ParkAve"转换为哈希值0x343536205061726B20417665。
日期哈希生成类型:对于日期类型的字段,可以使用日期哈希函数将日期转换为哈希值。例如,对于字段"生日",可以使用日期哈希函数将每个生日转换为哈希值,如"1990-01-01"转换为哈希值0x135A0101,"1985-05-10"转换为哈希值0x1355050A。
数值哈希生成类型:对于数值类型的字段,可以使用数值哈希函数将数值转换为哈希值。例如,对于字段"年龄",可以使用数值哈希函数将每个年龄转换为哈希值,如18转换为哈希值0x8000000012,25转换为哈希值0x8000000019。
所述哈希索引生成规则的程序实现方式包括直接移位运算方式、利用编程语言提供的类型转换函数方法(转换为十六进制)等。
举个例子:
字符类型转换哈希:
int char_to_hash(uchar*dest, uchar*src )
{
*dest++ =conv_to_hash[*src>>4];
*dest++ =conv_to_hash[*src&15];
return ( 2 );
}
字符串类型转换哈希:
intstr_to_hex(uchar *dest, uchar*src, int size)
{
intret = size* 2;
while (--size>= 0) {
*dest++= conv_to_hash[*src>>4 ];
*dest++ = conv_to_hash[*s++&15];
}
return (ret);
}
日期类型转换哈希:
intdate_to_hex(uchar*dest, long days )
{
num_to_date(days,&&yy,&&mm,&dd);
cc = (uchar)yy/100;
yy = (uchar)yy%100;
dest[0] =conv_to_hex[cc>>4];
dest[1] = conv_to_hex[cc&15];
dest[2] =conv_to_hex[yy>>4];
dest[3] = conv_to_hex[yy&15];
dest[4] =conv_to_hex[mm>>4];
dest[5] = conv_to_hex[mm&15];
dest[6] =conv_to_hex[dd>>4];
dest[7] = conv_to_hex[dd&15];
return 8;
}
数值类型转换哈希:
首先将短整型、整型、长整型、浮点型、双精度型转换成数字形式的字符串,然后用统一的数值转换哈希的方法生成数值型哈希。
int numstr_to_hex(uchar *destination, uchar *source )
{
register UCHAR *dest,*src, num;
dest =destination;
src = source;
num =10 * (src[1]- '0') + (src[2] - '0');
if (src[0] =='.')
num+= 128;
*dest++ =conv_to_hex[num>>4];
*dest++ =conv_to_hex[num&15];
src += 3;
while ( *src ){
if( *(src + 1) ) {
num =10 * (src[0]- '0') + (src[1] - '0');
*dest++= conv_to_hex[num>>4];
*dest++= conv_to_hex[num&15];
src+= 2;
}else {
*dest++= '0';
*dest++= conv_to_hex[(src[0]-'0')];
src++;
}
}
return ( dest- destination );
}
所述的类型转换函数方法, 适用于类似Java、C#、Go、Python等高级编程语言开发场景。实施例如下所示:
字符串类型转化哈希:
int char_to_hash(tring *dest, char src )
{
dest =charToHex(src)
return ( 2 );
}
本申请中,所述哈希索引的状态有三种:不可用、可用和主索引。
当索引状态为不可用时,在数据处理过程中,与哈希索引相关的功能将不会执行。当索引状态为可用时,在数据处理过程中,哈希索引相关的功能将正常启用。主索引状态是可用状态的一种特例,表示当前索引是主索引,可以唯一标识表中的记录行。
此外,本申请所述管理元件还包含了索引模式选项,包括不优化、升序哈希优化、降序哈希优化和无哈希列。这些选项与数据库查询优化有关。不优化选项表示在进行数据库查询时,查询结果不指定排序规则,按照默认方式输出查询记录。升序哈希优化选项表示查询结果按照升序排序输出查询记录。降序哈希优化选项表示查询结果按照降序排序输出查询记录。无哈希列选项是一个保留选项,没有特殊的用途,仅保证概念上的完整性。
图3是本申请中哈希索引在应用软件开发中的实施示意图。
请参照图3所示,所述哈希索引在应用软件开发中的实施应用包括记录行级201、应用表级202和数据库级203操作三个层面。在记录行级201,通过数据库查询游标和哈希索引字段的信息进行哈希索引值的填充,并调用数据库访问接口进行数据库记录的查询、增加、删除和更新。应用表级202包括物理表结构的生成与删除、索引创建与删除时的哈希索引的操作。数据库级203包括事务提交与回滚、哈希索引值的更新与撤回。哈希索引的应用支持多种数据库访问接口,例如支持多种数据库访问接口,如ODBC、JDBC、OCI等,以便与不同类型的数据库系统进行交互。
根据字段的数据类型和哈希索引值生成规则,对数据进行哈希计算,生成哈希索引值并填充到相应的字段中。接着根据填充了哈希索引值的所述字段,记录行级、应用表级和数据库级的操作,包括查询、增加、删除、更新、物理表结构的生成与删除、索引的创建与删除、事务提交与回滚等。
具体的,通过查询游标和哈希索引字段范围,填充哈希索引值,并使用数据库访问接口进行数据库记录的查询、增加、删除和更新操作。包括物理表结构的生成与删除,索引的创建与删除,以及哈希索引的创建与删除。
本申请中,还在上述基础上,结合数据增加和深度神经网络,以提高使用哈希索引加快查询速度。
具体的,选择适当的字段作为哈希索引字段,并在数据库中创建哈希索引,以加速查询操作。对数据库中的数据进行增强操作,如旋转、缩放、平移、镜像等,以增加数据集的多样性和泛化能力。选择合适的深度神经网络模型,并根据问题的特征设计模型架构。在模型中,可以引入公式以处理复杂的计算或推理任务。
例如,可以使用逻辑回归模型,其公式可以表示为:
其中,w 和 b 分别代表模型的权重和偏置,x 代表输入数据特征,σ 表示激活函数(如Sigmoid函数),y 表示模型的输出结果。这个公式在构建深度神经网络模型时用于数据操作和结果预测。x1,x2, …, xn:输入数据特征,对应于哈希索引字段的值。
根据数据库表结构和模型要求,对数据进行准备和预处理。包括数据清洗、特征提取、特征缩放等操作。同样,还要应用数据增强技术对数据进行扩充。
使用经过数据增强的数据集对深度神经网络模型进行训练。通过选择适当的优化算法(如梯度下降)和损失函数,更新模型参数,使模型逐渐收敛到最优解。
通过调用训练好的深度神经网络模型,根据需求填充哈希索引字段的值。例如,在查询过程中,可以将查询条件作为神经网络的输入,并使用模型生成相应的预测结果。
根据需要,使用更新后的哈希索引值调用数据库访问接口进行查询、增加、删除和更新操作。这些操作可以借助数据库查询语言(如SQL)来实现。
本申请还提供一种基于哈希索引的数据处理系统,包括:处理模块201,执行模块202。
图2是本申请中基于哈希索引的数据处理系统示意图。
请参照图2所示,所述处理模块201包括管理元件,所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,通过所述哈希索引值计算方法计算所述哈希索引值。
本申请中,通过配置文件或配置界面,开发人员或系统管理人员可以灵活地对数据库表中的字段进行配置,确定哈希索引字段的组成范围和基本信息。同时,根据字段的数据类型,采用相应的哈希索引值生成规则,以实现数据的高效检索和管理。该方案支持多种数据库访问接口和不同类型的数据库系统。
具体的,通过配置文件或配置界面,设置数据库表的字段配置和哈希索引的基本信息,包括索引号、索引字段组成、是否可重复以及活动状态。
可以通过访问数据库管理系统(如MySQL、Oracle、SQL Server等)的配置文件来确定参与哈希索引构造的字段范围。配置文件通常是一个文本文件,其中包含了数据库的各种配置信息。另外,一些数据库管理系统也提供了系统配置功能界面,可以通过界面来配置数据库的相关设置。
在配置文件或系统配置功能界面中,查找相关的配置项,通常是以标识符、关键字或属性名的形式存在。找到适用于哈希索引的配置项,例如会找到一个类似于"hash_index_fields"的配置项。
根据需求,配置合适的字段范围。可以直接指定某个具体的字段,或者可以使用通配符或正则表达式来匹配多个字段。具体的配置方法因数据库管理系统而有所不同,可以参考相关文档或手册。
在确定了字段范围后,进一步配置数据库表中需要进行哈希索引的字段。将所述字段在数据库管理系统中结合数据库索引的特性,实现快速查询和数据保护等功能。
所述管理元件内置到所述数据库中,根据你所使用的具体数据库管理系统,打开相关的管理元件。这可以是一个命令行界面、图形用户界面(GUI)或者其他管理工具。
通过所述管理元件连接到目标数据库。提供数据库的连接信息,例如数据库服务器地址、端口号、用户名和密码等。在连接成功后,选择需要进行哈希索引的数据库。这通常通过管理元件中的一些导航菜单或命令来进行操作。
在目标数据库中,选择要进行哈希索引的数据表。这可以通过浏览数据库结构、输入表名或使用特定的SQL语句来实现。在选定的数据表中,确定需要进行哈希索引的字段。这需要阅读数据表的结构或者使用查询语句来查看字段列表。
在所述管理元件中,使用相应的命令或选项来配置哈希索引。完成哈希索引的配置后,根据所述管理元件的要求,提交配置。具体的,所述提交所述配置包括执行一个命令、点击一个保存按钮或者使用相应的SQL语句。
完成配置后,进行验证步骤,确保哈希索引已成功创建。这可以包括执行一些查询语句,观察查询的执行计划或性能等指标。
进一步的,所述字段包括:单个或多个字段。其中,字段类型和长度不做限制。
所述哈希索引值生成规则包括对各种关系型数据库和非关系型数据库常用的数据类型进行总结,确定可生成哈希索引值的常用数据类型,如字符型、字符串型、序列型、RAW格式型、日期型、短整型、整型、长整型、浮点型、双精度型。
所述哈希索引生成规则采用的算法类型根据字段数据类型包括字符哈希生成类型、字符串哈希生成类型、日期哈希生成类型、数值哈希生成类型。
举个例子:
字符哈希生成类型:对于字符类型的字段,可以使用字符串的哈希函数来生成哈希值。例如,对于字段"性别",可以使用字符串哈希函数将每个姓名转换为哈希值,如"F(女)"转换为哈希值0x46,"M(男)"转换为哈希值0x4D。
字符串哈希生成类型:对于字符串类型的字段,同样可以使用字符串哈希函数来生成哈希值。例如,对于字段"姓名",可以使用字符串哈希函数将每个地址转换为哈希值,如"123Main St"转换为哈希值0x313233204D61696E205374,"456 ParkAve"转换为哈希值0x343536205061726B20417665。
日期哈希生成类型:对于日期类型的字段,可以使用日期哈希函数将日期转换为哈希值。例如,对于字段"生日",可以使用日期哈希函数将每个生日转换为哈希值,如"1990-01-01"转换为哈希值0x135A0101,"1985-05-10"转换为哈希值0x1355050A。
数值哈希生成类型:对于数值类型的字段,可以使用数值哈希函数将数值转换为哈希值。例如,对于字段"年龄",可以使用数值哈希函数将每个年龄转换为哈希值,如18转换为哈希值0x8000000012,25转换为哈希值0x8000000019。
所述哈希索引生成规则的程序实现方式包括直接移位运算方式、利用编程语言提供的类型转换函数方法(转换为十六进制)等。
如图2所示哈希索引结构,包括:索引序号、是否重复标志、索引状态标志、索引模式选项标志、键大小、键组成数目、键组成和哈希信息;其中所述键组成包括有键组成1~键组成n;所述哈希信息包括哈希字段对应数据表中的列号、主键组成号、主键大小和主键组成信息。
本申请中,所述哈希索引的状态有三种:不可用、可用和主索引。
当索引状态为不可用时,在数据处理过程中,与哈希索引相关的功能将不会执行。当索引状态为可用时,在数据处理过程中,哈希索引相关的功能将正常启用。主索引状态是可用状态的一种特例,表示当前索引是主索引,可以唯一标识表中的记录行。
此外,本申请所述管理元件还包含了索引模式选项,包括不优化、升序哈希优化、降序哈希优化和无哈希列。这些选项与数据库查询优化有关。不优化选项表示在进行数据库查询时,查询结果不指定排序规则,按照默认方式输出查询记录。升序哈希优化选项表示查询结果按照升序排序输出查询记录。降序哈希优化选项表示查询结果按照降序排序输出查询记录。无哈希列选项是一个保留选项,没有特殊的用途,仅保证概念上的完整性。
请参照图2所示,所述执行模块202根据所述哈希索引值执行数据操作。
所述哈希索引在应用软件开发中的实施应用包括记录行级、应用表级和数据库级操作三个层面。在记录行级,通过数据库查询游标和哈希索引字段的信息进行哈希索引值的填充,并调用数据库访问接口进行数据库记录的查询、增加、删除和更新。应用表级包括物理表结构的生成与删除、索引创建与删除时的哈希索引的操作。数据库级包括事务提交与回滚、哈希索引值的更新与撤回。哈希索引的应用支持多种数据库访问接口,例如支持多种数据库访问接口,如ODBC、JDBC、OCI等,以便与不同类型的数据库系统进行交互。
根据字段的数据类型和哈希索引值生成规则,对数据进行哈希计算,生成哈希索引值并填充到相应的字段中。接着根据填充了哈希索引值的所述字段,记录行级、应用表级和数据库级的操作,包括查询、增加、删除、更新、物理表结构的生成与删除、索引的创建与删除、事务提交与回滚等。
具体的,通过查询游标和哈希索引字段范围,填充哈希索引值,并使用数据库访问接口进行数据库记录的查询、增加、删除和更新操作。包括物理表结构的生成与删除,索引的创建与删除,以及哈希索引的创建与删除。
本申请还提供一种计算机装置,包括:
存储器,用于存储上述所述基于哈希索引的数据处理方法的计算机程序;
处理器,用于调取所述存储中存储的基于哈希索引的数据处理方法的计算机程序,执行:所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
本申请还提供一种计算机可读介质,存储有计算机程序;该计算机程序用于执行上述所述基于哈希索引的数据处理方法的步骤。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种基于哈希索引的数据处理方法,其特征在于,应用于数据库应用系统中,该数据库应用系统包括管理元件,所述方法包括:
所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;
所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
2.根据权利要求1所述基于哈希索引的数据处理方法,其特征在于,所述哈希索引值计算方法,包括:
将所述字段值直接映射到哈希索引的范围内、散列函数、除余法、折叠法或者定义哈希函数。
3.根据权利要求1所述基于哈希索引的数据处理方法,其特征在于,所述根据所述哈希索引值执行数据操作,包括:
数据检索、更新、删除;
表的创建、修改、删除;
数据库的备份、恢复、优化、回滚以及两阶段提交。
4.根据权利要求1所述基于哈希索引的数据处理方法,其特征在于,所述字段包括:单个或多个字段。
5.根据权利要求1所述基于哈希索引的数据处理方法,其特征在于,所述物理数据库表包括一个或多个哈希索引字段。
6.一种基于哈希索引的数据处理系统,其特征在于,包括:处理模块和执行模块;
所述处理模块包括管理元件,所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,通过所述哈希索引值计算方法计算所述哈希索引值;
所述执行模块根据所述哈希索引值执行数据操作。
7.根据权利要求6所述基于哈希索引的数据处理系统,其特征在于,所述哈希索引值计算方法,包括:
将所述字段值直接映射到哈希索引的范围内、散列函数、除余法、折叠法或者定义哈希函数。
8.根据权利要求6所述基于哈希索引的数据处理系统,其特征在于,所述根据所述哈希索引值执行数据操作,包括:
数据检索、更新、删除;
表的创建、修改、删除;
数据库的备份、恢复、优化、回滚以及两阶段提交。
9.一种计算机装置,其特征在于,包括:
存储器,用于存储权利要求1~5任一项所述基于哈希索引的数据处理方法的计算机程序;
处理器,用于调取所述存储中存储的基于哈希索引的数据处理方法的计算机程序,执行:所述管理元件接收需要进行哈希索引的字段,所述字段包括通过配置文件或系统配置功能界面确定参与哈希索引构造的字段范围,在所述字段范围内进一步配置数据库表中需要进行哈希索引的字段;所述管理元件根据所述字段的数据类型确定指定的哈希索引值计算方法,并计算所述哈希索引值,根据所述哈希索引值执行数据操作。
10.一种计算机可读介质,其特征在于,存储有计算机程序;该计算机程序用于执行权利要求1~5任一项所述基于哈希索引的数据处理方法的步骤。
CN202310968534.2A 2023-08-03 2023-08-03 基于哈希索引的数据处理方法、系统、装置和计算机可读介质 Pending CN116680279A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310968534.2A CN116680279A (zh) 2023-08-03 2023-08-03 基于哈希索引的数据处理方法、系统、装置和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310968534.2A CN116680279A (zh) 2023-08-03 2023-08-03 基于哈希索引的数据处理方法、系统、装置和计算机可读介质

Publications (1)

Publication Number Publication Date
CN116680279A true CN116680279A (zh) 2023-09-01

Family

ID=87785885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310968534.2A Pending CN116680279A (zh) 2023-08-03 2023-08-03 基于哈希索引的数据处理方法、系统、装置和计算机可读介质

Country Status (1)

Country Link
CN (1) CN116680279A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464436A (zh) * 2002-06-26 2003-12-31 联想(北京)有限公司 嵌入式系统的数据存放及其查找组合方法
KR101649128B1 (ko) * 2015-03-06 2016-08-19 인하대학교 산학협력단 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치
CN112328636A (zh) * 2020-10-27 2021-02-05 上海金仕达软件科技有限公司 一种数据查找方法、装置及电子设备
CN116483833A (zh) * 2023-04-20 2023-07-25 中国工商银行股份有限公司 数据查询方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464436A (zh) * 2002-06-26 2003-12-31 联想(北京)有限公司 嵌入式系统的数据存放及其查找组合方法
KR101649128B1 (ko) * 2015-03-06 2016-08-19 인하대학교 산학협력단 충돌이 없는 해시 함수를 이용한 빅데이터 분석 방법 및 장치
CN112328636A (zh) * 2020-10-27 2021-02-05 上海金仕达软件科技有限公司 一种数据查找方法、装置及电子设备
CN116483833A (zh) * 2023-04-20 2023-07-25 中国工商银行股份有限公司 数据查询方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11593369B2 (en) Managing data queries
US11030247B2 (en) Layered graph data structure
US10210236B2 (en) Storing and retrieving data of a data cube
US6374252B1 (en) Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US7836100B2 (en) Calculating and storing data structures including using calculated columns associated with a database system
CN102426582B (zh) 数据操作管理装置和数据操作管理方法
US7480661B2 (en) Query services for database system
JP6070936B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2002505769A (ja) オブジェクト指向事例ベース推論フレームワーク・メカニズム
US20210318995A1 (en) Candidate element selection using significance metric values
KR102153259B1 (ko) 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법
US10235362B1 (en) Continuous translation refinement with automated delivery of re-translated content
Maran et al. Alternative approaches to data storing and processing
CN111666302A (zh) 用户排名的查询方法、装置、设备及存储介质
US11853756B2 (en) Calculation engine for performing calculations based on dependencies in a self-describing data system
US11921710B2 (en) Systems and methods for accessing data entities managed by a data processing system
Černjeka et al. NoSQL document store translation to data vault based EDW
Sutanta et al. A Hybrid Model Schema Matching Using Constraint-Based and Instance-Based.
CN116680279A (zh) 基于哈希索引的数据处理方法、系统、装置和计算机可读介质
JP2024505238A (ja) 論理データセットグループの操作を伴うデータ処理システム
Reniers et al. Schema design support for semi-structured data: Finding the sweet spot between NF and De-NF
US10261995B1 (en) Semantic and natural language processing for content categorization and routing
US10229113B1 (en) Leveraging content dimensions during the translation of human-readable languages
JP2019133534A (ja) 併合方法、併合装置、および併合プログラム
Altın et al. Analyzing The Encountered Problems and Possible Solutions of Converting Relational Databases to Graph Databases

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