CN117056378B - 一种缓存数据与全局实例数据的同步方法及相关设备 - Google Patents
一种缓存数据与全局实例数据的同步方法及相关设备 Download PDFInfo
- Publication number
- CN117056378B CN117056378B CN202311310616.4A CN202311310616A CN117056378B CN 117056378 B CN117056378 B CN 117056378B CN 202311310616 A CN202311310616 A CN 202311310616A CN 117056378 B CN117056378 B CN 117056378B
- Authority
- CN
- China
- Prior art keywords
- data
- query statement
- package function
- cache data
- instance data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000004048 modification Effects 0.000 claims abstract description 58
- 238000012986 modification Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 157
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据库的技术领域,具体提供了一种缓存数据与全局实例数据的同步方法及相关设备,其中同步方法包括:在执行查询语句的过程中,若接收到所述查询语句中包函数所涉及的缓存数据的修改指令,则根据所述修改指令对所述缓存数据进行修改,且保持所述包函数的实例数据不变;在所述查询语句执行结束后,或者下次执行查询语句时,根据修改后的所述缓存数据对所述实例数据进行更新。本发明的技术方案,由于在查询语句的执行过程中运行对缓存数据的修改,因此查询语句的执行不会对缓存数据的修改造成堵塞。并且在查询语句的执行过程中实例数据保持不变,因此可以在查询语句执行的过程中保证数据的一致性。
Description
技术领域
本发明涉及数据库的技术领域,特别是涉及一种缓存数据与全局实例数据的同步方法及相关设备。
背景技术
在数据库中有很多信息是共享的,比如关系表、类型和包的元信息,称之为数据定义。一般地,数据库系统本身会提供缓存机制来保证执行性能。访问缓存的使用方式大致分为两种,其中第一种方法是直接读取缓存数据,比如获取数据表的列信息等参与合法检查之类的操作,该方法无需创建实例。第二种是根据缓存数据创建上层应用的实例数据,在应用场景中存在唯一或多个内存实例数据,其中根据缓存数据创建上层应用的实例数据的典型应用场景是包函数,应用场景中存在唯一或多个内存实例数据常用的场景是PLSQL的函数中使用自定义类型定义变量。
对于上述的第二种方式,如果在执行查询语句的同时并发对缓存数据的修改,如果对缓存数据对应的实例数据进行修改,则会造成该查询语句执行过程中的数据不一致,从而影响查询语句执行的可靠性。为了解决该问题,现有技术中采用的技术方案是设置排他锁,即在执行查询语句时,禁止对该查询语句中包函数所涉及的缓存数据进行修改,在查询语句执行结束并解除排他锁后,再允许对缓存数据的修改。但是这种方法会造成阻塞,不能保证对缓存数据修改的时效性和准确性,影响数据库的可靠性。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的缓存数据与全局实例数据的同步方法及相关设备,能够解决现有技术中执行查询语句时对缓存数据修改造成阻塞的问题,达到提高数据库的可靠性的目的。
具体地,本发明提供了一种缓存数据与全局实例数据的同步方法,包括:
在执行查询语句时,获取所述查询语句中的包函数;
判断是否首次使用所述包函数;
若是,则创建所述包函数的实例数据,并生成所述包函数的使用记录,所述使用记录包括所述包函数的使用时间、创建所述包函数的实例数据的时间;
若否,则判断所述包函数对应的缓存数据是否被修改;
若所述包函数对应的缓存数据被修改,则根据修改后的所述缓存数据对所述包函数的实例数据进行更新;
在执行所述查询语句的过程中,若接收到所述缓存数据的修改指令,则根据所述修改指令对所述缓存数据进行修改,且保持所述实例数据不变。
根据本发明的一个实施例,在所述的根据修改后的所述缓存数据对所述包函数的实例数据进行更新后,还包括:
更新所述包函数的使用记录。
根据本发明的一个实施例,所述的判断是否首次使用所述包函数,包括:
判断是否存在所述包函数的使用记录;
若否,则是首次使用所述包函数。
根据本发明的一个实施例,当所述查询语句执行结束后,还包括:清理所述包函数的使用记录。
根据本发明的一个实施例,所述根据修改后的所述缓存数据对所述包函数的实例数据进行更新,包括:
若所述缓存数据被多次修改,则根据最后一次修改更新所述实例数据。
本发明提供的另一种缓存数据与全局实例数据的同步方法,包括:
在执行查询语句的过程中,若接收到所述查询语句中包函数所涉及的缓存数据的修改指令,则根据所述修改指令对所述缓存数据进行修改,且保持所述包函数的实例数据不变;
在所述查询语句执行结束后,根据修改后的所述缓存数据对所述实例数据进行更新。
根据本发明的一个实施例,所述的根据修改后的所述缓存数据对所述实例数据进行更新,包括:
若所述缓存数据被多次修改,则根据最后一次的修改结果生成新的所述实例数据。
另一方面,本发明还提供了一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时,实现根据上述任一项实施例所述的缓存数据与全局实例数据的同步方法。
另一方面,本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时,实现根据上述任一项实施例所述的缓存数据与全局实例数据的同步方法。
本发明所提供的技术方案,在执行查询语句的过程中,如果接收到该查询语句中包函数所涉及的缓存数据的修改指令,则根据修改指令对缓存数据进行修改,且保持该包函数的实例数据不变,并在下次执行查询语句时或者本次查询语句执行结束后,对该包函数的实例数据进行更新。由于在执行查询语句的过程中,可以根据修改指令对缓存数据进行修改,因此不会由于执行查询语句而对缓存数据的修改造成阻塞,从而提高对缓存数据修改的时效性和可靠性。并且在执行查询语句的过程中保持包函数的实例数据不变,能够在查询语句的执行过程中保持数据的一致性,以提高对查询语句执行的可靠性。本发明的技术方案中,当下次执行查询语句时或者本次查询语句执行结束后,对包函数的实例数据进行更新,下次执行查询语句时可以采用更新后的实例数据,因此可以保证查询语句执行的准确性,进而提高数据库的可靠性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的一种缓存数据与全局实例数据的同步方法的示意性流程图;
图2是根据本发明一个实施例的另一种缓存数据与全局实例数据的同步方法的示意性流程图;
图3是根据本发明一个实施例的又一种缓存数据与全局实例数据的同步方法的示意性流程图;
图4是根据本发明一个实施例的实例数据同步的过程示意图;
图5是根据本发明另一个实施例的一种缓存数据与全局实例数据的同步方法的示意性流程图;
图6是根据本发明另一个实施例的实例数据同步的过程示意图;
图7是根据本发明一个实施例的一种机器可读存储介质的示意图;
图8是根据本发明一个实施例的一种计算机设备的示意图。
具体实施方式
下面参照图1至图8来描述本发明实施例的一种缓存数据与全局实例数据的同步方法及相关设备。在本实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征,也即包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。当某个特征“包括或者包含”某个或某些其涵盖的特征时,除非另外特别地描述,这指示不排除其它特征和可以进一步包括其它特征。
在本实施例的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
请参阅图1,图1所示出的是本发明的一个实施例中的一种缓存数据与全局实例数据的同步方法的示意性流程图,该同步方法用于对数据库的全局实例数据进行同步处理,以达到提高数据库的可靠性的目的。下面结合图1所示出的流程对本实施例的同步方法做详细的介绍。
如图1所示,在本实施例中,缓存数据与全局实例数据的同步方法包括如下步骤:
步骤S1:在执行查询语句时,获取查询语句中的包函数。
执行查询语句时,通过对查询语句进行解析,以得到查询语句中的包函数,即查询语句中以pkg.为前缀的函数,例如查询语句
select * from where i ≥ pkg.f(j) + pkg.f(i)
在上述查询语句中,包函数是其中前缀为pkg.的函数f()。
步骤S2:判断是否首次使用上述查询语句中的包函数;
若否,则执行步骤S3。
步骤S3:判断上述包函数涉及的缓存数据是否被修改;
若否,则获取上述包函数的实例数据,并根据该实例数据进行数据查询;
若是,则执行步骤S4。
由于当查询语句中的包函数不是首次被使用时,数据库中存储有该包函数的实例数据,因此可以通过对数据库的存储数据进行查询,以得到该包函数的实例数据。
本实施例中,判断包函数涉及的缓存数据是否被修改,是指根据数据库的缓存数据更新日志,查询在上一次使用该包函数的过程中,以及从上一次使用该包函数完成后到本次执行查询语句之间的时间段内,该包函数涉及的缓存数据是否被修改。
步骤S4:根据修改后的缓存数据,对上述包函数的实例数据进行更新。
在本实施例中,可以根据当前的缓存数据生成包函数的新的实例数据,并将该新的实例数据替换原有的实例数据,以实现对包函数的实例数据的更新。
步骤S6:在执行查询语句的过程中,如果接收到查询语句中包函数所涉及的缓存数据的修改指令,则根据该修改指令对相应的缓存数据进行修改,并保持该查询语句中包函数的实例数据不变。
在本实施例中,在执行上述查询语句的过程中,如果接收到查询语句中包函数所涉及的缓存数据的修改指令,则根据该修改指令对相应的缓存数据进行修改,从而使查询语句的执行不会对缓存数据的修改造成阻塞,保证对缓存数据修改的时效性和可靠性。并且在执行查询语句的过程中,还保持查询语句中包函数的实例数据不变,即保持包函数的实例数据是原子不变的,从而在查询语句执行的过程中保持数据的一致性。
综上所述,通过本实施例的设置方式,在执行查询语句的过程中,如果接收到该查询语句中包函数所涉及的缓存数据的修改指令,则根据修改指令对缓存数据进行修改,且保持该包函数的实例数据不变,并在下次执行查询语句时对该包函数的实例数据进行更新。由于在执行查询语句的过程中,可以根据修改指令对缓存数据进行修改,因此不会由于执行查询语句而对缓存数据的修改造成阻塞,从而提高对缓存数据修改的时效性和可靠性。并且在执行查询语句的过程中保持包函数的实例数据不变,能够在查询语句的执行过程中保持数据的一致性,以提高对查询语句执行的可靠性。本发明的技术方案中,当下次执行查询语句时或者本次查询语句执行结束后,对包函数的实例数据进行更新,下次执行查询语句时可以采用更新后的实例数据,因此可以保证查询语句执行的准确性,进而提高数据库的可靠性。
在本发明的一个实施例中,在上述步骤S2中判断是否首次使用查询语句中的包函数后,还包括:
如果首次使用查询语句中的包函数,则构建该包函数的实例数据并进行存储,以及生成该包函数的使用记录。
通过本实施例的设置方式,可以在首次使用包函数时,生成该包函数的实例数据并进行缓存,并生成该包函数的使用记录,该使用记录可以至少包括该包函数的使用时间、创建该包函数的实例数据的时间,以便于对该包函数的使用记录进行查询,提高数据库的可靠性。
在本发明的一个实施例中,在上述步骤S4中对包函数的实例数据进行更新后,还包括:对该包函数的使用记录进行更新。
在本实施例中,对包函数的使用记录进行更新时,不仅记录包函数的使用时间,还需要记录该包函数的实例数据的更新时间,以便于对该包函数的使用记录、该包函数的实例数据的更新记录进行查询,从而进一步提高数据库的可靠性。
通过本实施例的设置方式,所得到的缓存数据与全局实例数据的同步方法的流程如图2所示,
步骤S1:在执行查询语句时,获取查询语句中的包函数。
步骤S2:判断是否首次使用上述查询语句中的包函数;
若否,则执行步骤S3;若是,则生成查询语句中包函数的实例数据,并执行步骤S5;
步骤S3:判断上述包函数涉及的缓存数据是否被修改;
若否,则获取上述包函数实例数据,并根据该实例数据进行数据查询;
若是,则执行步骤S4。
步骤S4:根据修改后的缓存数据,对上述包函数的实例数据进行更新。
步骤S5:生成当前使用的包函数的使用记录。
步骤S6:在执行查询语句的过程中,如果接收到查询语句中包函数所涉及的缓存数据的修改指令,则根据该修改指令对相应的缓存数据进行修改,并保持该查询语句中包函数的实例数据不变。
在本发明的一个实施例中,每次使用包函数时,都会生成该包函数的使用记录,例如记录该包函数的使用时间,并将各包函数的使用记录存储在数据库中,以形成包函数使用历史数据。相应地,在上述步骤S2中判断是否首次使用查询语句的包函数时,所采用的方法包括:
对包函数使用历史数据进行查询,以判断是否包函数使用历史数据中是否有上述查询语句中包函数的使用记录;
若是,则判断为不是首次使用该包函数,此时可认为数据库中存储有该包函数的实例数据;
若否,则判断为是首次使用该包函数,此时可认为数据库中没有存储该包函数的实例数据。
通过本实施例的设置方式,可以通过存储的使用记录数据获取包函数的使用记录,从而在执行查询语句时,可以快速判断出查询语句中的包函数是否被首次使用,达到提高执行查询语句的工作效率的目的。
在本发明的一个实施例中,还包括:在查询语句执行结束后,清理包函数的使用记录。
在本实施例中,清理包函数的使用记录可以为删除该包函数的所有使用记录并删除该包函数的实例数据,也可以仅保留该包函数最后的使用记录,并删除该包函数最后的使用记录外其他的所有的使用记录,但是不删除该包函数的实例数据,以减少该包函数的使用记录所占用的存储空间。
通过本实施例的设置方式,所得到的缓存数据与全局实例数据的同步方法如图3所示,
步骤S1:在执行查询语句时,获取查询语句中的包函数。
步骤S2:判断是否首次使用上述查询语句中的包函数;
若否,则执行步骤S3;若否,则生成查询语句中包函数的实例数据,并执行步骤S5;
步骤S3:判断上述包函数涉及的缓存数据是否被修改;
若否,则获取上述包函数实例数据,并根据该实例数据进行数据查询;
若是,则执行步骤S4。
步骤S4:根据修改后的缓存数据,对上述包函数的实例数据进行更新。
步骤S5:生成当前使用的包函数的使用记录。
步骤S6:在执行查询语句的过程中,如果接收到查询语句中包函数所涉及的缓存数据的修改指令,则根据该修改指令对相应的缓存数据进行修改,并保持该查询语句中包函数的实例数据不变。
步骤S7:在查询语句执行结束后,清理包函数的使用记录。
在本发明的一个实施例中,在上述步骤S4中根据修改后的缓存数据,对上述包函数的实例数据进行更新的方法包括:如果包函数所涉及的缓存数据被多次修改,则仅根据最后一次的修改更新实例数据。
在本实施例中,仅根据最后一次的修改更新实例数据,是指在更新包函数的实例数据时,仅根据当前的缓存数据对包函数的实例数据进行更新,以提高包函数的实例数据的可靠性。
以一种应用场景为例,如图4所示,在该应用场景中包函数所涉及的缓存数据包括缓存数据1、缓存数据2和缓存数据3,在场景1中执行查询语句1时,查询语句1中包函数的实例数据为根据此时的缓存数据所生成的实例数据1。在场景1中执行查询语句1的过程中,并发了场景2对缓存数据1、缓存数据2或者缓存数据3进行修改的修改2,以及场景3对缓存数据1、缓存数据2或者缓存数据3进行修改的修改3,并且修改2早于修改3。因此在执行查询语句2时,仅根据场景3修改后的缓存数据1、缓存数据2和缓存数据3对包函数的实例数据进行更新,即根据当前的缓存数据对包函数的实例数据进行更新,以将包函数的实例数据修改为实例数据3。
上述各实施例中的缓存数据与全局实例数据的同步方法,是在执行查询语句时,触发对包数据的实例数据的更新操作,即可以认为该同步方法是通过被动更新的方式,对包函数的实例数据进行更新。在其他实施例中,缓存数据与全局实例数据的同步方法也可以采用主动更新的方式,对包数据的实例数据进行更新,下面结合具体的实施例,对主动更新的方式做详细的介绍。
在本发明的一个实施例中,缓存数据与全局实例数据的同步方法的流程如图5所示,包括如下步骤:
步骤S21:在执行查询语句的过程中,若接收到该查询语句中包函数所涉及的缓存数据的修改指令,则根据该修改指令对相应的缓存数据进行修改,且保持查询语句中包函数的实例数据不变。
步骤S22:在上述查询语句执行结束后,根据修改后的缓存数据对涉及该缓存数据的包函数的实例数据进行更新。
在本实施例中,可以在上述查询语句执行结束后,立即根据修改后的缓存数据对包函数的实例数据进行更新,也可以在查询语句执行结束后的设定时间段内,根据修改后的缓存数据对包函数的实例数据进行更新。
综上所述,通本实施例的设置方式,在执行查询语句的过程中,如果接收到该查询语句中包函数所涉及的缓存数据的修改指令,则根据修改指令对缓存数据进行修改,且保持该包函数的实例数据不变,并在本次查询语句执行结束后,对该包函数的实例数据进行更新。由于在执行查询语句的过程中,可以根据修改指令对缓存数据进行修改,因此不会由于执行查询语句而对缓存数据的修改造成阻塞,从而提高对缓存数据修改的时效性和可靠性。并且在执行查询语句的过程中保持包函数的实例数据不变,能够在查询语句的执行过程中保持数据的一致性,以提高对查询语句执行的可靠性。本发明的技术方案中,当下次执行查询语句时或者本次查询语句执行结束后,对包函数的实例数据进行更新,下次执行查询语句时可以采用更新后的实例数据,因此可以保证查询语句执行的准确性,进而提高数据库的可靠性。
在本发明的一个实施例中,在上述步骤S22中根据修改后的缓存数据对包函数的实例数据进行更新的方法包括:如果包函数所涉及的缓存数据被多次修改,则仅根据最后一次的修改更新该包函数的实例数据。
如图6所示,包函数所涉及的缓存数据包括缓存数据1、缓存数据2和缓存数据3,在场景1中执行查询语句1时,查询语句1中包函数的实例数据为根据此时的缓存数据所生成的实例数据1。在场景1中执行查询语句1的过程中,并发了场景2对缓存数据1、缓存数据2或者缓存数据3进行修改的修改2,以及场景3对缓存数据1、缓存数据2或者缓存数据3进行修改的修改3,并且修改2早于修改3。因此在查询语句1执行结束后,仅根据场景3修改后的缓存数据1、缓存数据2和缓存数据3对包函数的实例数据进行更新,即根据当前的缓存数据对包函数的实例数据进行更新,以将包函数的实例数据修改为实例数据3。
本实施例还提供了一种机器可读存储介质和计算机设备。图7是根据本发明一个实施例的机器可读存储介质830的示意图;图8是根据本发明一个实施例的计算机设备900的示意图。机器可读存储介质830其上存储有机器可执行程序840,机器可执行程序840被处理器执行时实现上述任一实施例的缓存数据与全局实例数据的同步方法。
计算机设备900可以包括存储器920、处理器910及存储在存储器920上并在处理器910上运行的机器可执行程序840,并且处理器910执行机器可执行程序840时实现上述任一实施例的缓存数据与全局实例数据的同步方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质830可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,机器可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备900可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备900可以是云计算节点。计算机设备900可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备900可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备900可以包括适于执行存储的指令的处理器910、在操作期间为所述指令的操作提供临时存储空间的存储器920。处理器910可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器920可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器910可以通过系统互连(例如PCI、PCI-Express等)连接到适于将计算机设备900连接到一个或多个I/O设备(输入/输出设备)的I/O接口(输入/输出接口)。I/O设备可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。I/O设备可以是计算机设备900的内置组件,或者可以是外部连接到计算设备的设备。
处理器910也可以通过系统互连链接到适于将计算机设备900连接到显示设备的显示接口。显示设备可以包括作为计算机设备900的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备900的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备900连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解。
Claims (7)
1.一种缓存数据与全局实例数据的同步方法,其特征在于,包括:
在执行查询语句时,获取所述查询语句中的包函数;
判断是否首次使用所述包函数;
若是,则创建所述包函数的实例数据,并生成所述包函数的使用记录,所述使用记录包括所述包函数的使用时间、创建所述包函数的实例数据的时间;
若否,则判断所述包函数对应的缓存数据是否被修改;
若所述包函数对应的缓存数据被修改,则根据修改后的所述缓存数据对所述包函数的实例数据进行更新;
在执行所述查询语句的过程中,若接收到所述缓存数据的修改指令,则根据所述修改指令对所述缓存数据进行修改,且保持所述实例数据不变。
2.根据权利要求1所述的同步方法,其特征在于,
在所述的根据修改后的所述缓存数据对所述包函数的实例数据进行更新后,还包括:
更新所述包函数的使用记录。
3.根据权利要求1或2所述的同步方法,其特征在于,
所述的判断是否首次使用所述包函数,包括:
判断是否存在所述包函数的使用记录;
若否,则是首次使用所述包函数。
4.根据权利要求1所述的同步方法,其特征在于,
当所述查询语句执行结束后,还包括:清理所述包函数的使用记录。
5.根据权利要求1所述的同步方法,其特征在于,
所述根据修改后的所述缓存数据对所述包函数的实例数据进行更新,包括:
若所述缓存数据被多次修改,则根据最后一次修改更新所述实例数据。
6.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时,实现根据权利要求1至5任一项所述的缓存数据与全局实例数据的同步方法。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,所述处理器执行所述机器可执行程序时,实现根据权利要求1至5任一项所述的缓存数据与全局实例数据的同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311310616.4A CN117056378B (zh) | 2023-10-11 | 2023-10-11 | 一种缓存数据与全局实例数据的同步方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311310616.4A CN117056378B (zh) | 2023-10-11 | 2023-10-11 | 一种缓存数据与全局实例数据的同步方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117056378A CN117056378A (zh) | 2023-11-14 |
CN117056378B true CN117056378B (zh) | 2024-04-26 |
Family
ID=88655715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311310616.4A Active CN117056378B (zh) | 2023-10-11 | 2023-10-11 | 一种缓存数据与全局实例数据的同步方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056378B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404817A (zh) * | 2020-03-24 | 2020-07-10 | 深圳市吉祥腾达科技有限公司 | 一种提升网络通信设备分片数据包转发性能的方法及系统 |
CN113434597A (zh) * | 2021-06-25 | 2021-09-24 | 中国工商银行股份有限公司 | 数据同步方法、装置和电子设备 |
CN113596111A (zh) * | 2021-07-08 | 2021-11-02 | 南京智联达科技有限公司 | 一种基于分布式的节点间通信方法 |
CN114675987A (zh) * | 2022-04-18 | 2022-06-28 | 北京高途云集教育科技有限公司 | 一种缓存数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986147B2 (en) * | 2001-03-28 | 2006-01-10 | International Business Machines Corporation | Method for transparent, location-independent, remote procedure calls in a heterogeneous network environment |
-
2023
- 2023-10-11 CN CN202311310616.4A patent/CN117056378B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404817A (zh) * | 2020-03-24 | 2020-07-10 | 深圳市吉祥腾达科技有限公司 | 一种提升网络通信设备分片数据包转发性能的方法及系统 |
CN113434597A (zh) * | 2021-06-25 | 2021-09-24 | 中国工商银行股份有限公司 | 数据同步方法、装置和电子设备 |
CN113596111A (zh) * | 2021-07-08 | 2021-11-02 | 南京智联达科技有限公司 | 一种基于分布式的节点间通信方法 |
CN114675987A (zh) * | 2022-04-18 | 2022-06-28 | 北京高途云集教育科技有限公司 | 一种缓存数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117056378A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10506043B2 (en) | Rapid client-side component processing based on component relationships | |
US11288002B2 (en) | System and method for providing high availability data | |
US11556518B2 (en) | System and method for providing high availability data | |
CN106802932B (zh) | 一种数据库的路由方法、装置及数据库系统 | |
US9652220B2 (en) | Zero down-time deployment of new application versions | |
CN104252501B (zh) | 一种执行数据库操作命令的计算设备和方法 | |
CN112015595B (zh) | 主从数据库的切换方法、计算设备及存储介质 | |
EP2674868A1 (en) | Database update notification method | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
US11429311B1 (en) | Method and system for managing requests in a distributed system | |
CN117056378B (zh) | 一种缓存数据与全局实例数据的同步方法及相关设备 | |
JP2019061437A (ja) | 情報処理装置、情報処理システムおよびプログラム | |
CN116467310A (zh) | 无效索引的无锁标记方法、存储介质和计算机设备 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
JP6677605B2 (ja) | プログラム、ストレージシステム、およびストレージシステムの制御方法 | |
CN110633300A (zh) | 一种嵌套查询的断点续运行的方法及装置 | |
CN114969046A (zh) | 一种哈希连接的处理方法、存储介质与设备 | |
CN112905322B (zh) | 资源加锁的方法、计算设备及计算机存储介质 | |
CN113778975A (zh) | 基于分布式数据库的数据处理方法及装置 | |
CN109542631A (zh) | 一种备机的重演方法、装置、服务器及存储介质 | |
CN114791913B (zh) | 数据库的共享内存缓冲池处理方法、存储介质与设备 | |
CN114880356B (zh) | 数据库共享内存缓冲池的处理方法、存储介质与设备 | |
CN109240810B (zh) | 任务处理方法、装置及存储介质 | |
JP5673224B2 (ja) | 情報管理装置、情報管理方法、及びプログラム | |
US20220309050A1 (en) | Method and system for managing cross data source data access requests |
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 | ||
CP03 | Change of name, title or address |
Address after: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Patentee after: China Electronics Technology Group Jincang (Beijing) Technology Co.,Ltd. Country or region after: China Address before: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing Patentee before: BEIJING KINGBASE INFORMATION TECHNOLOGIES Inc. Country or region before: China |
|
CP03 | Change of name, title or address |