CN113609145B - 数据库处理方法、装置、电子设备、存储介质及产品 - Google Patents
数据库处理方法、装置、电子设备、存储介质及产品 Download PDFInfo
- Publication number
- CN113609145B CN113609145B CN202110893534.1A CN202110893534A CN113609145B CN 113609145 B CN113609145 B CN 113609145B CN 202110893534 A CN202110893534 A CN 202110893534A CN 113609145 B CN113609145 B CN 113609145B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- service
- online
- determining
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000012360 testing method Methods 0.000 claims abstract description 273
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004458 analytical method Methods 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 40
- 230000008859 change Effects 0.000 claims description 38
- 230000009191 jumping Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012508 change request Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了数据库处理方法、装置、电子设备、存储介质及产品,涉及计算机技术领域,尤其涉及云计算领域。具体实现方案为:确定预上线的第一数据库;为所述第一数据库建立线下查询服务;基于所述线下查询服务,对多个第一数据库执行多次测试服务,获得多个测试结果;在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库。本公开的实施例提高了数据库更新效率。
Description
技术领域
本公开涉及计算机技术中的云计算领域,尤其涉及一种数据库处理方法、装置、电子设备、存储介质及产品。
背景技术
在人工智能领域中,特别是提供数据查询服务的领域中,服务端需要将数据存储于数据库中,以便于用户查询。例如,电子商务领域中的商品查询服务需要依赖于数据库,资产交易平台中的房屋查询服务需要依赖于房产数据库。为了确保用户查询到的数据的时效性,需要对数据库及时进行更新。
现有技术中,在对数据库进行上线时,需要确定最新的数据库,并将数据库传输到数据发布平台,由数据发布平台将服务端中原有的数据库替换为新的数据库,完成数据库上线。在数据库上线之后,需要对上线的数据库进行服务测试,一旦测试失败,需要还原为原有数据库。对预上线的数据库进行检查以及修改之后,可以再次通过数据发布平台上线,导致数据库的更新成本较高,更新效率较低。
发明内容
本公开提供了一种用于数据库上线的数据库处理方法、装置、电子设备、存储介质及产品。
根据本公开的第一方面,提供了一种数据库处理方法,包括:
确定预上线的第一数据库;
为所述第一数据库建立线下查询服务;
基于所述线下查询服务,对所述第一数据库执行多次测试服务,获得多个测试结果;
在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库。
根据本公开的第二方面,提供了一种数据库处理装置,包括:
第一确定单元,用于确定预上线的第一数据库;
第一生成单元,用于为所述第一数据库建立线下查询服务;
服务测试单元,用于基于所述线下查询服务,对所述第一数据库执行多次测试服务,获得多个测试结果;
数据库变更单元,用于在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库。
根据本公开的第三方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
根据本公开的技术利用为预上线的第一数据库建立线下查询服务,并针对该线下查询服务进行服务测试,以在多个测试结果满足数据库上线条件的情况下,将线上查询服务的数据库变更为所述第一数据库。解决了数据库上线时,若上线失败需要还原原有数据库,然后再执行二次上线导致的数据库上线成本较高,效率较低的技术问题,利用线下测试方式对预上线的数据库进行线下测试,以在线下测试成功时,再进行上线,避免出现无效上线,降低上线成本,提高上线效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种网络架构的示意图;
图2是根据本公开第一实施例的一种数据库处理方法的流程图;
图3是根据本公开第二实施例的一种数据库处理方法的流程图;
图4是根据本公开第三实施例的一种数据库处理方法的流程图;
图5是根据本公开第四实施例的一种数据库处理方法的流程图;
图6是根据本公开第五实施例的一种数据库处理方法的流程图;
图7是根据本公开实施例的一种数据库更新的应用示意图;
图8是根据本公开第六实施例的一种数据库处理方法的流程图;
图9a是根据本公开实施例的一种线上查询服务的架构示意图;
图9b是根据本公开实施例的一种线下查询服务的架构示意图;
图10是根据本公开实施例的一种数据库处理装置的结构示意图;
图11是用来实现本公开实施例的数据库处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供一种数据库处理方法、装置、电子设备、存储介质及产品,应用于计算机技术领域中的云计算领域,以避免出现无效上线,降低上线成本,提高上线效率。
现有技术中,各种数据查询服务需要依赖于数据库。用户可以向提供数据查询服务的终端发起查询服务,查询服务中可以包括待查询数据,数据查询服务端可以根据待查询数据,从其对应的数据库中获取与该待查询数据匹配的目标数据,并利用目标数据生成召回信息,将召回信息反馈给用户。但是,在实际应用中,数据库中的数据是在不断变动的。例如,在电子商务场景中,产品发布之后可能需要下架,并不再出售该商品;在资产交易平台中,房产信息发布之后,可能由于交易成功或者房东停止交易等原因,将房产下架。因此,需要根据商家或者房东更新的数据,对数据库进行更新。现有的数据更新方式为,将新的数据库直接进行上线,并在上线成功之后,对数据查询服务进行服务测试。若服务测试失败,则需要将新上线的数据库还原为原有数据库,这就导致数据库更新失败,产生了无效更新,提高了更新成本,降低了更新效率。
为了解决现有技术种,数据库上线成本较高的技术问题,发明人想到是否可以对待更新的数据库进行线下测试,并在线下测试成功之后,再将数据库上线,据此,发明人提出了本公开实施例的技术方案。
本公开实施例中,利用为预上线的第一数据库建立线下查询服务,并针对该线下查询服务进行服务测试,以在多个测试结果满足数据库上线条件的情况下,将线上查询服务的数据库变更为第一数据库。解决了数据库上线时,若上线失败需要还原原有数据库,然后再执行二次上线导致的数据库上线成本较高,效率较低的技术问题,利用线下测试方式对预上线的数据库进行线下测试,以在线下测试成功时,再进行上线,避免出现无效上线,降低上线成本,提高上线效率。
图1是根据本公开提供的用于数据库上线的数据库处理方法的一个应用的网络架构图。如图1所示,该网络架构中可以包括一个服务器1以及一个与该服务器1通过局域网或者广域网进行网络连接的电子设备2,假设该电子设备可以为个人计算机2。该服务器1例如可以为普通服务器,超级个人计算机,云服务器等类型的服务器,本公开中对服务器的具体类型并不作出过多限定。电子设备2例如可以为计算机、笔记本、平板电脑、服务器、云服务器等,本公中对电子设备的具体类型并不作出过多限定。服务器1中配置有第一数据库对应的线上查询服务。任一用户设备3可以与服务器1通过局域网或者广域网进行网络连接。用户设备3例如可以为计算机、平板电脑、笔记本电脑、可穿戴设备、智能家电、车载设备等终端设备,本公开实施例中对用户设备的具体类型并不作出过多限定。
用户设备3可以向服务器1发起数据查询请求,服务器1可以向用户设备反馈查询到的召回信息。电子设备2可以确定预上线的第一数据库,并为第一数据库建立线下查询服务,针对该线下查询服务进行服务测试,以在多个测试结果满足数据库上线条件的情况下,将服务器1中的线上查询服务的数据库变更为第一数据库。在线下测试成功时,再进行上线,避免出现无效上线,降低上线成本,提高上线效率。
下面将结合其他附图对本公开的技术方案进行详细介绍。
如图2所示,为本公开第一实施例提供的一种数据库处理方法的流程图,该方法可以包括:
201:确定预上线的第一数据库。
本公开实施例的技术方案可以应用于图1所示网络架构的电子设备中,电子设备例如可以为计算机、笔记本、平板电脑、服务器、云服务器等,本公开中对电子设备的具体类型并不作出过多限定。
第一数据库可以为响应于用户触发的数据库上线请求时确定。其中,用户可以通过用户设备3发起数据库的上线请求。
202:为第一数据库建立线下查询服务。
线下查询服务可以为模拟线上查询服务的服务,具体可以将线上查询服务中的第二数据库替换为第一数据库。
203:基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果。
其中,线下查询服务可以为模拟为用户提供查询服务的应用程序。
可选地,对第一数据库执行多次测试服务具体可以是,模拟或者拦截多个用户请求,将多个用户请求发送至线下查询服务,以使得线下查询服务从第一数据库中查询相应的数据,以根据查询到的数据生成召回信息。若从第一数据库中未查询到相应的数据,可以生成空的召回信息。多个测试结果即可以为获得的多个测试服务分别对应的召回信息。
204:在多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为第一数据库。
线上查询服务可以为当前为用户提供查询服务的应用程序,在进行数据查询时,可以查询第二数据库中的数据,并在获得数据时,利用查询获得的数据生成召回信息。在未获得数据时,直接生成空召回信息,最后召回信息可以反馈给用户。
根据本公开的技术方案,利用为预上线的第一数据库建立线下查询服务,并针对该线下查询服务进行服务测试,以在多个测试结果满足数据库上线条件的情况下,将线上查询服务的数据库变更为第一数据库。解决了数据库上线时,若上线失败需要还原原有数据库,然后再执行二次上线导致的数据库上线成本较高,效率较低的技术问题,利用线下测试方式对预上线的数据库进行线下测试,以在线下测试成功时,再进行上线,避免出现无效上线,降低上线成本,提高上线效率。
在图2所示实施例中,对多个测试结果满足数据库上线条件进行了限定,为了对多个测试结果充分利用,以不断对数据库的上线过程进行准确测试,因此,在步骤203:基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果之后,该方法还可以包括:
在多个测试结果不满足数据库上线条件的情况下,返回至确定预上线的第一数据库的步骤继续执行。
图3为本公开第二实施例提供的一种数据库处理方法的又一个实施例的流程图,该方法可以包括以下几个步骤:
301:确定预上线的第一数据库。
302:为第一数据库建立线下查询服务。
303:基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果。
可选地,基于线下查询服务对第一数据库执行多次测试服务,获得多个测试结果可以包括:确定多个测试服务分别对应的待查询数据,获得多个待查询数据;将多个待查询数据分别输入到线下查询服务,以供线下查询服务执行多个待查询服务的查询,获得多个待查询数据分别对应的召回信息,以利用多个召回信息分别生成对应的测试结果,获得多个测试结果。
其中,多个测试服务可以为拦截用户的查询请求获得。多个测试服务也可以由模拟用户的查询请求获得。线下查询服务响应查询请求,可以从第一数据库中查询待查询数据对应的目标数据。在实际的线上查询服务与线下查询服务的处理过程相同,不同之处在于,线上查询服务可以将查询到的目标数据作为召回信息反馈给用户。
待查询数据可以由用户提供,与查询服务提供的服务种类相关。以线上房源查询服务为例,待查询数据可以为房源位置数据、房源区域数据、小区名称数据或者房源链接数据等。
304:判断多个测试结果是否满足数据库上线条件;如果是,执行步骤305,如果否,执行步骤301。
在多个测试结果不满足数据库上线条件的情况下,可以输出测试失败的提示信息。
305:将线上查询服务的第二数据库变更为第一数据库。
本实施例中,针对预上线的第一数据库,可以为第一数据库建立线下查询服务。以基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果。从而利用多个测试结果判断数据库是否满足上线条件。在测多个测试结果满足上线条件的情况下,将线上查询服务的第二数据库替换为第一数据库。通过对线下查询服务进行多次测试服务,以对数据库的上线条件进行准确判断,提高判断准确性。
为了对数据库进行更准确的测试,作为一个实施例,在多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为第一数据库可以包括:
在多个测试结果均为获得召回信息的情况下,确定多个测试结果满足数据库上线条件。
将线上查询服务的第二数据库变更为第一数据库。
可选地,测试结果可以包括召回信息。当从第二数据库中查询到目标数据时,可以根据查询到的目标数据生成召回信息。当从第二数据库中未查询到目标数据时,可以生成空的召回信息。
本实施例中,利用测试结果是否获得召回信息为条件,判断多个测试结果是否满足数据库上线条件,以将线上查询服务的第一数据库变更为第二数据库。实现数据库上线的准确判断。
作为又一个实施例,在多个测试结果不满足上线条件的情况下,返回至确定预上线的第一数据库的步骤继续执行可以包括:
在多个测试结果中存在至少一个测试结果的召回信息为空的情况下,确定多个测试结果不满足数据库上线条件,返回至确定预上线的第一数据库的步骤继续执行。
本实施例中,在确定多个测试结果不满足数据库上线条件时,可以重新确定第一数据库,并继续对新的第一数据库进行上线测试。通过对数据库进行上线测试,可以不断实现对数据库的更新,以实现数据库上线,提高数据库的上线测试效率。
在一种可能的设计中,其中,在多个测试结果中存在至少一个测试结果的召回信息为空的情况下,该方法还可以包括:
获得召回信息为空的至少一个干预测试结果;
对至少一个干预测试结果分别对应的测试服务未获得召回信息的原因进行干预分析,获得至少一个分析结果。
其中,任一个分析结果包括:数据变更引起的召回信息为空或者非数据变更引起的召回信息为空。
可选地,在获得至少一个分析结果之后,可以根据至少一个分析结果对数据库上线条件进一步进行判断。此时,在至少一个分析结果均为因数据变更引起的召回信息为空的情况下,确定多个测试结果满足数据库上线条件。在至少一个分析结果中存在一个或者一个以上的分析结果为非数据变更引起的召回信息为空的情况下,确定多个测试结果不满足数据库上线条件。
本实施例中,根据测试结果对召回信息为空的至少一个干预测试结果进行了干预分析,以利用分析结果对第一数据库的上线条件进行准确判断,获得准确的数据库上线判断结果,提高判断准确性。
为了便于理解,可以结合附图4对召回分析过程的详细描述。参考图4,与图3的不同之处在于,在步骤303基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果之后,步骤304:判断多个测试结果是否满足上线条件具体可以按照如下步骤执行:
401:判断多个测试结果是否存在召回信息为空的测试结果;如果否,确定多个测试结果满足数据库上线条件,执行步骤405;如果是,执行步骤402。
402:获得召回信息为空的至少一个干预测试结果。
403:对至少一个干预测试结果分别对应的测试服务未获得召回信息的原因进行干预分析,获得至少一个分析结果。
其中,任一个分析结果包括:数据变更引起的召回信息为空或者非数据变更引起的召回信息为空。
404:判断至少一个分析结果中是否存均为数据变更引起的召回信息为空;如果是,确定多个测试结果满足数据库上线条件,执行步骤305;如果否,执行步骤301。
本实施例中,根据测试结果对召回信息为空的至少一个干预测试结果进行了干预分析,以排除测试结果中召回信息为空由正常的数据变更引擎的正常结果。对第一数据库的上线条件进行了更准确的限定,获得更准确的数据库上线判断结果,提高判断准确性。
在对图4所示实施例中的对干预测试结果未获得召回信息的原因进行分析时,进一步,可选地,在对至少一个干预测试结果分别对应的测试服务未获得测试结果的原因进行干预分析,获得至少一个分析结果可以包括:
确定至少一个干预测试结果分别对应的干预测试服务。
针对任一个干预测试服务,利用该干预测试服务对应的待查询数据的数据状态,确定该干预测试服务的分析结果。
至少一个干预测试服务可以为向线下查询服务发起的多个测试服务中未获得召回信息的测试服务。
本公开实施例中,获取召回信息为空的干预测试结果对应的干预测试服务,以针对任一个干预测试服务进行数据分析,以获取准确的分析结果,获得干预测试的准确分析结果。
在一种可能的设计中,针对任一个干预测试服务,利用干预测试服务对应的待查询数据的数据状态,确定干预测试服务的分析结果可以包括:
针对任一个干预测试服务,确定干预测试服务对应的待查询数据。
根据待查询数据关联的父节点数据,确定待查询数据在第一数据库中的数据状态。
在待查询数据的数据状态为下架状态的情况下,确定待查询数据的分析结果为数据变更因引起的召回信息为空。
在待查询数据的数据状态的未下架状态的情况下,确定待查询数据的分析结果为非数据变更引起的召回结果为空。
可选地,可以从待查询数据关联的父节点数据中查询待查询数据的数据状态。以查询服务为房源查询服务为例,待查询数据可以为待查询房源,在待查询房源的召回信息为空时,可以待查询房源的父节点数据,也即小区房源数据,中查询该待查询房源的数据状态,若该待查询房源的数据状态为下架状态,确定房源的召回信息为空的分析结果为房源下架引起,若该待查询房源的数据状态为未下架状态,确定该房源召回信息为空的分析结果为非数据变更引起。
待查询数据关联的父节点数据可以为待房源数据的上一级数据,例如,单个房源链接的父节点数据为小区房源数据,小区房源数据的父节点数据为区域房源数据。区域节点数据的父节点数据为城区房源数据。城区房源数据的父节点数据为城市房源数据。若待查询数据未关联父节点数据,则直接确定第一数据库的数据异常。
其中,若分析结果为数据变更引起的召回信息为空,则说明是由于数据变更引起的召回信息为空,数据查询正常。若分析结果为数据变更引起的召回信息为空,则说明并非数据变更引起的召回信息为空,数据查询异常,需要对第一数据库的数据异常原因进行排除。因此,确定干预测试服务的分析结果为非数据变更引起的召回结果为空的情况下,可以输出数据库异常的提示信息,以提示用户对第一数据库的异常原因进行分析,从而在数据库异常修复后,再次发起数据库上线。
本实施例中,对干预测试服务进行干预分析过程中,可以查询待查询数据关联的父节点。并根据父节点中记载的待查询数据的数据状态,确定待查询数据的召回信息为空的原因。实现对待查询数据的数据状态的准确确认,获得准确的数据分析结果,提高数据分析的有效性。
在确定第一数据库满足上线条件,对第一数据库进行上线时,具体的上线方式可以如图5所示,在多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为第一数据库可以包括以下几个步骤:
501:在多个测试结果满足数据库上线条件的情况下,确定配置线上查询服务的主服务节点以及多个从服务节点。
主服务节点以及从服务节点中均可以配置线上查询服务。通常,主服务节点可以为服务网络的控制节点,对服务请求进行调配,以及对从节点的服务状态监控。通常,主服务节点与从服务节点可以为分布式网络系统。主服务节点可以设置于北京,从服务节点可以设置于杭州、重庆、贵州等城市,以便于对不同地区的服务进行快速相应,减少数据传输时间。
502:将主服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
503:对主服务节点中数据库更新后的线上查询服务进行线上测试,获得第一测试结果。
对主服务节点更新后的线上查询服务进行线上测试的方式与本公开其他实施例中涉及的线下测试的方式相同,为了描述的简洁性,在此不再赘述。
504:在第一测试结果为测试通过的情况下,将从服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
本实施例中,在对第一数据库的线下查询服务测试成功时,可以按照主从结构对第一数据库进行上线。具体可以先对主服务节点进行上线,以在主服务节点进行线上测试,并在主服务节点线上测试通过时,再对从服务节点进行上线。通过按照服务器中主从上线方式进行分批上线,可以避免从服务节点因出现上线失败导致的无效上线,提高上线的准确性以及可靠性,提高数据库的上线效率。
在一些实施例中,在第一测试结果为测试未通过的情况下,将主服务节点中的线上查询服务的第一数据库还原为第二数据库,并输出第一数据库上线失败的提示信息。此外,在输出线上测试失败的提示信息之后,还可以返回至确定预上线的第一数据库的步骤继续执行,以获得新的第一数据库,并再次执行线下测试。
通过对主服务节点进行测试,可以实现主要节点的线上测试。除对主服务节点进行测试以获得主要节点的测试结果,之外,还可以对从服务节点中的关键节点进行测试。
因此,步骤504:在第一测试结果为测试通过的情况下,将从服务节点中配置的线上查询服务的第二数据库变更为第一数据库可以包括:
确定从服务节点中属于关键节点的第一服务节点以及属于非关键节点的第二服务节点。
将第一服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
对第一服务节点中数据库变更后的线上查询服务进行线上测试,获得第二测试结果。
在第二测试结果为测试通过的情况下,将第二服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
对从服务节点更新后的线上查询服务进行线上测试的方式与本公开其他实施例中涉及的线下测试的方式相同,为了描述的简洁性,在此不再赘述。
本实施例中,在主服务节点上线成功之后,可以对从服务节点中的关键节点进行上线,并在关键节点上线成功之后,再对其他的服务节点进行上线。通过分批上线,可以实现数据库的有效上线,避免因无效上线导致的上线效率降低,提高数据库上线的效率以及可靠性。
为了便于理解,如图6所示,为根据本公开第五实施例的一种数据库处理方法的流程图,该方法可以包括以下几个步骤:
601:在多个测试结果满足数据库上线条件的情况下,可以确定配置线上查询服务的主服务节点以及多个从服务节点。
需要说明的是,本实施例中部分步骤与前述实施例中部分步骤相同,为了描述的简洁性考虑,在此不再赘述。
602:将主服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
603:对主服务节点中数据库更新后的线上查询服务进行线上测试,获得第一测试结果。
604:判断第一测试结果是否为测试通过;如果是,执行步骤605;如果否,执行步骤610。
605:确定从服务节点中属于关键节点的第一服务节点以及属于非关键节点的第二服务节点。
606:将第一服务节点中配置的线上查询服务的第二数据库变更为第一数据库;对第一服务节点中数据库变更后的线上查询服务进行线上测试,获得第二测试结果。
607:判断第二测试结果是否为测试通过;如果是,执行步骤608;如果否,执行步骤610。
608:将第二服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
609:将主服务节点中的线上查询服务的第一数据库还原为第二数据库。
610:将从服务节点以及主服务节点各自线上查询服务的第一数据库还原为第二数据库。
在将主服务节点或者从服务节点的线下查询服务的第一数据库还原为第二数据库之后,可以输出第一数据库上线失败的提示信息。
本实施例中,在对第一数据库的线下查询服务测试成功时,可以按照主从结构对第一数据库进行上线。具体可以先对主服务节点进行上线,以在主服务节点进行线上测试,并在主服务节点线上测试通过时,再对从服务节点中的关键服务节点进行上线。在关键服务节点上线成功之后,可以将非关键服务节点进行上线。通过按照服务器中主从、关键非关键的顺序上线方式进行分批上线,可以避免从服务节点因出现上线失败导致的无效上线,提高上线的准确性以及可靠性,提高数据库的上线效率。
作为一个实施例,确定预上线的第一数据库可以包括:
获取多个初始数据。
在多个初始数据满足数据更新条件的情况下,根据多个初始数据,生成第一数据库。
其中,多个初始数据可以由多个商家用户提供。例如,在线上房源查询场景中,多个初始数据可以为多个房源用户,房东可以为商家用户,商家可以线上发布待出售或者待出租的房源。用户可以发起查询请求,以查询某房源,或者某区域的房源。
本实施例中,利用多个初始数据对数据库进行更新。通过对多个初始数据进行数据更新条件的判断,实现对第一数据库的准确更新,实现数据库的准确更新,避免因不满足数据更新条件而产生无效更新,提高更新精度以及准确度。
在一种可能的设计中,根据多个初始数据,生成第一数据库可以包括:
针对任一个初始数据,确定初始数据中的属性数据以及扩展数据,以获得多个初始数据分别对应的属性数据以及扩展数据;
根据多个初始数据分别对应的属性数据,生成键值类型的第一子数据库;
根据多个初始数据分别对应的扩展数据,生成字典类型的第二子数据库;
确定第一子数据库以及第二子数据库构成的第一数据库。
任一初始数据可以为数据库中存储的一条数据,可以包括状态数据、具体的内容数据、描述数据、名称数据、标识数据等,本公开实施例中对初始数据的具体数据内容并不作出过多限定。以初始数据为房源数据为例,房源数据中除状态数据之外,还可以包含:图像、视频、环境描述数据、房东内容数据等,还可以包括与该房源关联房源的链接数据等。
属性数据可以为描述产品属性的相关内容,例如,名称数据即为一种属性数据。
扩展数据可以为产品周边相关的内容,例如,与房源关联房源的链接数据,房源周围的学校或者商超数据等即为扩展数据。
可选地,第一子数据库可以为键值类型的数据库,例如可以为redis(键值对)数据库。第二子数据库可以为内容数据库,例如可以为dict(字典)数据库。
本实施例中,在对第一数据库进行更新时,按照数据类型的不同,将多个初始数据各自属于不同属性的数据存储至相对应的子数据库中。将属性数据存储至第一子数据库,将扩展数据存储至第二子数据库。通过按照属性将数据分开存储,可以实现数据的准确存储,提高数据的存储效率,以便于后续使用过程中,可以按照数据属性使用相应的数据库,从两个子数据库中同时完成数据的查询,提高数据库的使用效率。
作为一种可能的实现方式,多个初始数据是否满足数据更新条件可以通过以下实施方式确定。
该包括还可以包括:
确定多个初始数据分别对应的数据状态;其中,任一个数据状态包括:下架状态以及非下架状态;
确定多个初始数据中数据状态为下架状态的初始数据的数量,获得下架数量;
在下架数量低于数量阈值的情况下,确定多个初始数据满足数据更新条件。
在房源查询服务中,由于多个初始数据的数据量非常大,可以从多个初始数据中选择目标区域的多个区域数据,以确定多个区域数据中数据状态为下架状态的数据数量,以获得下架数据。目标区域可以为重点监控区域,例如,可以为北京区域,上海区域。
当下架数据低于数量阈值时,说明数据下架数量正常,可以进行正常的数据更新。当下架数据高于数量阈值时,说明数据下架数量异常,此时,需要排查数据异常原因,需要终止对第一数据库的上线。
本实施例中,利用多个初始数据进行第一数据库更新过程中,通过对多个初始数据中,下架数量第一数量阈值进行判断,以确认数据是否异常。当下架数量过高,说明数据异常。当下架数量低于数量阈值的情况下,确定多个初始数据属于正常的数据更新,满足数据更新条件。可以对第一数据库进行准确更新。通过对数据的异监控,实现第一数据库的准确有效更新,提高更新效率。
在一种可能的设计中,在下架数量高于数量阈值的情况下,确定多个初始数据不满足数据更新条件。
作为又一种可能的实现方式,多个是否满足数据更新条件还可以通过以下实施方式确定。
确定第一数据库前一次的第一生成时间;
根据预设数据更新频率,确定第一数据库最新一次的第二生成时间;
在到达第二生成时间的情况下,确定多个初始数据满足数据更新条件。
本实施例中,对数据库进行更新条件判断时,可以根据预设更新频率判断是否达到更新时间,在达到更新时间时,可以确定多个初始数据满足数据更新条件,以进行数据库的更新。通过设置频率的更新方式,可以实现数据库的自动更新,提高更新效率以及准确度。
为了便于理解,图7为本公开提供的一种数据库更新的应用示意图。
参考图7,多个用户,可以通过其各自的用户设备5,例如,手机、平板电脑、个人计算机、可穿戴设备、智能家电等电子设备,向数据库的管理节4发送至少一个初始数据。在实际应用中,用户还可以通过用户设备变更初始数据。本公开使用的多个初始数据为当前处理时刻的第一数据库中所有初始数据。管理节点4可以为图1所示的服务器1,管理节点4具体可以用于:
701:确定当前的多个初始数据。
之后,可以通过以下两种实施方式判断多个初始数据是否满足更新条件。
其中,第一种实施方式可以包括以下几个步骤:
702:确定多个初始数据分别对应的数据状态。
703:确定多个初始数据中数据状态为下架状态的初始数据的数量,获得下架数量。
704:在下架数量低于数量阈值的情况下,确定多个初始数据满足更新条件。
其中,第二种实施方式可以包括以下几个步骤:
705:根据预设数据更新频率,确定第一数据库最新一次的第二生成时间;在到达第二生成时间的情况下,确定多个初始数据满足数据更新条件。
在多个初始数据满足数据更新条件时,可以进行数据更新。
具体的更新步骤如下:
706:根据多个初始数据分别对应的属性数据,生成键值类型的第一子数据库。
707:根据多个初始数据分别对应的扩展数据,生成字典类型的第二子数据库。
708:确定第一子数据库以及第二子数据库构成的第一数据库。
本实施例中,用户可以提供初始数据,以在初始数据满足更新条件时,利用本公开提供的两种实施方式,对产品数据库进行更新,以获得相应的数据库。以用户为切入点,实现数据的准确获取,提高数据库的更新效率。
在为第一数据库建立线下查询服务之前,可以对第一数据库的版本号对第一数据库是否需要更新进行判断,获得高效的判断结果。作为一个实施例,为第一数据库建立线下查询服务之前,该方法还可以包括:
为第一数据库生成第一版本号;
关联存储第一数据库以及第一版本号。
其中,为第一数据库建立线下查询服务可以包括:
获取线上查询服务的第二数据库的第二版本号;
在第一版本号高于第二版本号的情况下,为第一数据库建立线下查询服务。
其中,第二数据库的第二版本号可以为在第二数据库更新时,为第二数据库生成的。
其中,关联存储第一数据库以及第二版本号可以包括:将第一数据库以及第一版本号发送至分布式文件系统,以供分布式文件系统将第一数据库以及第一版本号关联存储。
在对第一数据库进行线下测试时,可以从分布式文本系统获取第一数据库的第一版本号以及第二数据库的第二版本号。
在又一种可能的设计中,获取线上查询服务的第二数据库的第二版本号之前,还包括:
响应于针对第一数据库的数据库上线请求,获取第一数据库的第一版本号。
本实施例中,为了便于数据库的上线判断,在数据库生成时,还可以为数据库生成版本号,绑定数据库以及版本号,以便于利用数据库的版本号进行快速比较,判断第一数据库是否与第二数据库相同,如果不同,再执行相应的数据库上线工作,实现第一数据库的准确上线,避免出现无效上线,提高上线准确度。
在启动第一数据库的线下测试时,参考图8,为本公开第六实施例的一种数据库处理方法的流程图,该方法可以包括以下几个步骤:
801:响应于针对第一数据库的数据库上线请求,获取第一数据库的第一版本号。
802:获取线上查询服务的第二数据库对应第二版本号。
803:判断第一版本号是否高于第二版本号;如果是,执行步骤804;如果否,执行步骤808。
804:获取预上线的第一数据库。
805:为第一数据库建立线下查询服务。
806:基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果。
807:在多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为第一数据库。
808:终止第一数据库的数据库上线请求。
本实施例中,通过利用版本号对数据库是否上线进行准确判断,提高判断效率以及判断准确度。
作为一种可能的实现方式,为第一数据库建立线下查询服务可以包括:
获取线上查询服务中除第二数据库的服务环境信息;
根据服务环境信息以及第一数据库,生成线下查询服务。
本实施例中,通过获取第二数据库的服务环境信息,以根据服务环境信息以及第一数据库,生成线下查询服务,实现第一数据库的线下查询服务的快速建立,使得第一数据库的测试环境与实际的线上测试相同,实现准确而有效的线下测试。
下面将结合附图对第一数据库的线下查询服务的建立过程的一个应用场景进行详细介绍。
如图9a所示的一种线上查询服务的架构图,在实际应用中,线上查询服务可以以网页页面或者查询页面的形式向通过用户的客户端,例如,手机客户端的查询页面901。手机客户端可以与线上查询服务建立通信连接,将用户发送的查询信息发送至线上查询服务902的接口。线上查询服务除与线上第二数据库903的接口连接之外,还可以与诸多环境信息建立连接。服务环境信息例如可以包括:酒店信息904、驾车信息905、房源和小区关系信息906,包含价格等筛选信息907、区域检索信息908、公交信息909、出租车信息910等。
在为第一数据库建立线下查询服务时,可以通过线上查询服务的服务环境信息,以及第一数据库建立该线下查询服务。如图9b所示的线下查询服务的架构图,与图9a的不同之处在于,线下查询服务,并不与客户端建立连接,接收模拟的测试服务911,第二数据库被替换为第一数据库912。
如图10所示,为本公开第十实施例提供的一种数据库处理装置的一个实施例的结构示意图,该用于数据库线下测试的装置1000可以包括以下几个单元:
第一确定单元1001,用于确定预上线的第一数据库;
第一生成单元1002,用于为第一数据库建立线下查询服务;
服务测试单元1003,用于基于线下查询服务,对第一数据库执行多次测试服务,获得多个测试结果;
数据库变更单元1004,用于在多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为第一数据库。
作为一个实施例,装置还可以包括:
跳转返回单元,用于在多个测试结果不满足数据库上线条件的情况下,跳转至第一确定单元。
在一种可能的设计中,数据库变更单元可以包括:
第一召回模块,用于在多个测试结果均为获得召回信息的情况下,确定多个测试结果满足数据库上线条件;
第一变更模块,用于将线上查询服务的第二数据库变更为第一数据库。
作为又一种可能的实现方式,跳转返回单元可以包括:
第二召回模块,用于在多个测试结果中存在至少一个测试结果的召回信息为空的情况下,确定多个测试结果不满足数据库上线条件,跳转至第一确定单元。
在某些实施例中,该装置还可以包括:
结果召回单元,用于获得召回信息为空的至少一个干预测试结果;
干预分析单元,用于对至少一个干预测试结果分别对应的测试服务未获得测试结果的原因进行干预分析,获得至少一个分析结果;
其中,任一个分析结果包括:数据变更引起的召回信息为空或者不因数据变更引起的召回信息为空。
作为又一个实施例,该装置还可以包括:
召回确定单元,用于在至少一个分析结果均为数据变更引起的召回信息为空的情况下,确定多个测试结果满足数据库上线条件。
在某些实施例中,干预分析单元可以包括:
服务确定模块,用于确定至少一个干预测试结果分别对应的干预测试服务;
状态查询模块,用于针对任一个干预测试服务,利用干预测试服务对应的待查询数据的数据状态,确定干预测试服务的分析结果。
在一种可能的设计中,状态查询模块可以包括:
数据确定子模块,用于针对任一个干预测试服务,确定干预测试服务对应的待查询数据;
状态确定子模块,用于根据待查询数据关联的父节点数据,确定待查询数据在第一数据库中的数据状态;
第一确定子模块,用于在待查询数据的数据状态为下架状态的情况下,确定待查询数据的分析结果为数据变更引起的召回信息为空;
第二确定子模块,用于在待查询数据的数据状态为未下架状态的情况下,确定待查询数据的分析结果为不因数据变更引起的召回信息为空。
作为一种可能的实现方式,数据库变更单元可以包括:
节点确定模块,用于在多个测试结果满足数据库上线条件的情况下,确定配置线上查询服务的主服务节点以及多个从服务节点;
第一变更模块,用于将主服务节点中配置的线上查询服务的第二数据库变更为第一数据库;
第一测试模块,用于对主服务节点中数据库更新后的线上查询服务进行线上测试,获得第一测试结果;
第二变更模块,用于在第一测试结果为测试通过的情况下,将从服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
在某些实施例中,第二变更模块,可以包括:
节点确定子模块,用于确定从服务节点中属于关键节点的第一服务节点以及属于非关键节点的第二服务节点;
第一变更子模块,用于在第一测试结果为测试通过的情况下,将第一服务节点中配置的线上查询服务的第二数据库变更为第一数据库;
第一测试子模块,用于对第一服务节点中数据库变更后的线上查询服务进行线上测试,获得第二测试结果;
第二变更子模块,用于在第二测试结果为测试通过的情况下,将第二服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
作为一种可能的实现方式,第一确定单元可以包括:
数据获取模块,用于获取多个商家用户提供的多个初始数据;
数据库生成模块,用于在多个初始数据满足数据更新条件的情况下,根据多个初始数据,生成第一数据库。
作为一个实施例,数据库生成模块可以包括:
数据处理子模块,用于针对任一个初始数据,确定初始数据中的属性数据以及扩展数据,以获得多个初始数据分别对应的属性数据以及扩展数据;
第一生成子模块,用于根据多个初始数据分别对应的属性数据,生成键值类型的第一子数据库;
第二生成子模块,用于根据多个初始数据分别对应的扩展数据,生成字典类型的第二子数据库;
数据库子模块,用于确定第一子数据库以及第二子数据库构成的第一数据库。
作为一个实施例,该装置还包括:
状态确定单元,用于确定多个初始数据分别对应的数据状态;其中,任一个数据状态包括:下架状态以及非下架状态;
下架确定单元,用于确定多个初始数据中数据状态为下架状态的初始数据的数量,获得下架数量;
第一更新单元,用于在下架数量高于数量阈值的情况下,确定多个初始数据满足数据更新条件。
作为又一个实施例,该装置还可以包括:
时间确定单元,用于确定第一数据库前一次的第一生成时间;
时间更新单元,用于根据预设数据更新频率,确定第一数据库最新一次的第二生成时间;
第二更新单元,用于在到达第二生成时间的情况下,确定多个初始数据满足数据更新条件。
在一种可能的设计中,还该装置还可以包括:
版本确定单元,用于为第一数据库生成第一版本号;
数据存储单元,用于将第一数据库以及第一版本号发送至分布式文件系统,以供分布式文件系统存储第一数据库以及第一版本号;
第一生成单元包括:
版本查询模块,用于获取线上查询服务的第二数据库的第二版本号;
服务建立模块,用于在第一版本号高于第二版本号的情况下,为第一数据库建立线下查询服务。
作为又一个实施例,该装置还可以包括:
请求响应单元,用于响应于数据库变更请求,从分布式文本系统获取第一数据库以及第一版本号。
在某些实施例中,第一生成单元可以包括:
环境获取模块,用于获取线上查询服务中除第二数据库的服务环境信息;
服务生成模块,用于根据服务环境信息以及第一数据库,生成线下查询服务。
本实施例提供的基于数据库装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如数据库处理方法。例如,在一些实施例中,数据库处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的数据库处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据库处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机,以解决了传统物理主机与VPS服务("VirtualPrivate Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (28)
1.一种数据库处理方法,包括:
确定预上线的第一数据库;
为所述第一数据库建立线下查询服务;
基于所述线下查询服务,对所述第一数据库执行多次测试服务,获得多个测试结果;
在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库;
在所述多个测试结果不满足数据库上线条件的情况下,返回至所述确定预上线的第一数据库的步骤继续执行;
所述在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库包括:
在所述多个测试结果均为获得召回信息的情况下,确定所述多个测试结果满足数据库上线条件;
在所述多个测试结果满足数据库上线条件的情况下,确定配置所述线上查询服务的主服务节点以及多个从服务节点;
将所述主服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
对所述主服务节点中数据库更新后的线上查询服务进行线上测试,获得第一测试结果;
在所述第一测试结果为测试通过的情况下,将所述从服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
所述在所述多个测试结果不满足数据库上线条件的情况下,返回至所述确定预上线的第一数据库的步骤继续执行包括:
在所述多个测试结果中存在至少一个测试结果的召回信息为空的情况下,确定所述多个测试结果不满足数据库上线条件,返回至确定预上线的第一数据库的步骤继续执行。
2.根据权利要求1所述的方法,其中,所述在所述多个测试结果中存在至少一个测试结果的召回信息为空的情况下,还包括:
获得召回信息为空的所述至少一个干预测试结果;
对所述至少一个干预测试结果分别对应的测试服务未获得召回信息的原因进行干预分析,获得至少一个分析结果;
其中,任一个分析结果包括:数据变更引起的召回信息为空或者非数据变更引起的召回信息为空。
3.根据权利要求2所述的方法,还包括:
在所述至少一个分析结果均为数据变更引起的召回信息为空的情况下,确定所述多个测试结果满足数据库上线条件。
4.根据权利要求2所述的方法,其中,所述对所述至少一个干预测试结果分别对应的测试服务未获得测试结果的原因进行干预分析,获得至少一个分析结果包括:
确定所述至少一个干预测试结果分别对应的干预测试服务;
针对任一个干预测试服务,利用所述干预测试服务对应的待查询数据的数据状态,确定所述干预测试服务的分析结果。
5.根据权利要求4所述的方法,其中,所述针对任一个干预测试服务,利用所述干预测试服务对应的待查询数据的数据状态,确定所述干预测试服务的分析结果,包括:
针对任一个干预测试服务,确定所述干预测试服务对应的待查询数据;
根据所述待查询数据关联的父节点数据,确定所述待查询数据在所述第一数据库中的数据状态;
在所述待查询数据的数据状态为下架状态的情况下,确定所述待查询数据的分析结果为数据变更引起的召回信息为空;
在所述待查询数据的数据状态为未下架状态的情况下,确定所述待查询数据的分析结果为非数据变更引起的召回信息为空。
6.根据权利要求1所述的方法,其中,所述将所述从服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库,包括:
确定所述从服务节点中属于关键节点的第一服务节点以及属于非关键节点的第二服务节点;
将所述第一服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
对所述第一服务节点中数据库变更后的线上查询服务进行线上测试,获得第二测试结果;
在所述第二测试结果为测试通过的情况下,将所述第二服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
7.根据权利要求1~5任一项所述的方法,其中,所述确定预上线的第一数据库包括:
获取多个商家用户提供的多个初始数据;
在所述多个初始数据满足数据更新条件的情况下,根据所述多个初始数据,生成所述第一数据库。
8.根据权利要求7所述的方法,其中,所述根据所述多个初始数据,生成所述第一数据库包括:
针对任一个初始数据,确定所述初始数据中的属性数据以及扩展数据,以获得多个初始数据分别对应的属性数据以及扩展数据;
根据所述多个初始数据分别对应的属性数据,生成键值类型的第一子数据库;
根据所述多个初始数据分别对应的扩展数据,生成字典类型的第二子数据库;
确定所述第一子数据库以及所述第二子数据库构成的所述第一数据库。
9.根据权利要求7所述的方法,还包括:
确定所述多个初始数据分别对应的数据状态;其中,任一个数据状态包括:下架状态以及非下架状态;
确定所述多个初始数据中数据状态为下架状态的初始数据的数量,获得下架数量;
在所述下架数量低于数量阈值的情况下,确定所述多个初始数据满足数据更新条件。
10.根据权利要求7所述的方法,其中,还包括:
确定所述第一数据库前一次的第一生成时间;
根据预设数据更新频率,确定所述第一数据库最新一次的第二生成时间;
在到达所述第二生成时间的情况下,确定所述多个初始数据满足数据更新条件。
11.根据权利要求1~5任一项所述的方法,还包括:
为所述第一数据库生成第一版本号;
关联存储所述第一数据库以及所述第一版本号;
所述为所述第一数据库建立线下查询服务包括:
获取所述线上查询服务的所述第二数据库对应第二版本号;
在所述第一版本号高于所述第二版本号的情况下,为所述第一数据库建立线下查询服务。
12.根据权利要求11所述的方法,其中,所述获取所述线上查询服务的所述第二数据库的第二版本号之前,还包括:
响应于针对所述第一数据库的数据库上线请求,获取所述第一数据库的所述第一版本号。
13.根据权利要求1~5任一项所述的方法,其中,所述为所述第一数据库建立线下查询服务包括:
获取所述线上查询服务中除所述第二数据库的服务环境信息;
根据所述服务环境信息以及所述第一数据库,生成所述线下查询服务。
14.一种数据库处理装置,包括:
第一确定单元,用于确定预上线的第一数据库;
第一生成单元,用于为所述第一数据库建立线下查询服务;
服务测试单元,用于基于所述线下查询服务,对所述第一数据库执行多次测试服务,获得多个测试结果;
数据库变更单元,用于在所述多个测试结果满足数据库上线条件的情况下,将线上查询服务的第二数据库变更为所述第一数据库;
跳转返回单元,用于在所述多个测试结果不满足数据库上线条件的情况下,跳转至所述第一确定单元;
所述数据库变更单元包括:
第一召回模块,用于在所述多个测试结果均为获得召回信息的情况下,确定所述多个测试结果满足数据库上线条件;
节点确定模块,用于在所述多个测试结果满足数据库上线条件的情况下,确定配置所述线上查询服务的主服务节点以及多个从服务节点;
第一变更模块,用于将所述主服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
第一测试模块,用于对所述主服务节点中数据库更新后的线上查询服务进行线上测试,获得第一测试结果;
第二变更模块,用于在所述第一测试结果为测试通过的情况下,将所述从服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
所述跳转返回单元包括:
第二召回模块,用于在所述多个测试结果中存在至少一个测试结果的召回信息为空的情况下,确定所述多个测试结果不满足数据库上线条件,跳转至所述第一确定单元。
15.根据权利要求14所述的装置,还包括:
结果召回单元,用于获得召回信息为空的所述至少一个干预测试结果;
干预分析单元,用于对所述至少一个干预测试结果分别对应的测试服务未获得测试结果的原因进行干预分析,获得至少一个分析结果;
其中,任一个分析结果包括:数据变更引起的召回信息为空或者不因数据变更引起的召回信息为空。
16.根据权利要求15所述的装置,还包括:
召回确定单元,用于在所述至少一个分析结果均为数据变更引起的召回信息为空的情况下,确定所述多个测试结果满足数据库上线条件。
17.根据权利要求15所述的装置,其中,所述干预分析单元包括:
服务确定模块,用于确定所述至少一个干预测试结果分别对应的干预测试服务;
状态查询模块,用于针对任一个干预测试服务,利用所述干预测试服务对应的待查询数据的数据状态,确定所述干预测试服务的分析结果。
18.根据权利要求17所述的装置,其中,所述状态查询模块,包括:
数据确定子模块,用于针对任一个干预测试服务,确定所述干预测试服务对应的待查询数据;
状态确定子模块,用于根据所述待查询数据关联的父节点数据,确定所述待查询数据在所述第一数据库中的数据状态;
第一确定子模块,用于在所述待查询数据的数据状态为下架状态的情况下,确定所述待查询数据的分析结果为数据变更引起的召回信息为空;
第二确定子模块,用于在所述待查询数据的数据状态为未下架状态的情况下,确定所述待查询数据的分析结果为不因数据变更引起的召回信息为空。
19.根据权利要求18所述的装置,其中,所述第二变更模块,包括:
节点确定子模块,用于确定所述从服务节点中属于关键节点的第一服务节点以及属于非关键节点的第二服务节点;
第一变更子模块,用于在所述第一测试结果为测试通过的情况下,将所述第一服务节点中配置的线上查询服务的第二数据库变更为所述第一数据库;
第一测试子模块,用于对所述第一服务节点中数据库变更后的线上查询服务进行线上测试,获得第二测试结果;
第二变更子模块,用于在所述第二测试结果为测试通过的情况下,将所述第二服务节点中配置的线上查询服务的第二数据库变更为第一数据库。
20.根据权利要求14~18任一项所述的装置,其中,所述第一确定单元包括:
数据获取模块,用于获取多个商家用户提供的多个初始数据;
数据库生成模块,用于在所述多个初始数据满足数据更新条件的情况下,根据所述多个初始数据,生成所述第一数据库。
21.根据权利要求20所述的装置,其中,所述数据库生成模块包括:
数据处理子模块,用于针对任一个初始数据,确定所述初始数据中的属性数据以及扩展数据,以获得多个初始数据分别对应的属性数据以及扩展数据;
第一生成子模块,用于根据所述多个初始数据分别对应的属性数据,生成键值类型的第一子数据库;
第二生成子模块,用于根据所述多个初始数据分别对应的扩展数据,生成字典类型的第二子数据库;
数据库子模块,用于确定所述第一子数据库以及所述第二子数据库构成的所述第一数据库。
22.根据权利要求21所述的装置,还包括:
状态确定单元,用于确定所述多个初始数据分别对应的数据状态;其中,任一个数据状态包括:下架状态以及非下架状态;
下架确定单元,用于确定所述多个初始数据中数据状态为下架状态的初始数据的数量,获得下架数量;
第一更新单元,用于在所述下架数量高于数量阈值的情况下,确定所述多个初始数据满足数据更新条件。
23.根据权利要求21所述的装置,其中,还包括:
时间确定单元,用于确定所述第一数据库前一次的第一生成时间;
时间更新单元,用于根据预设数据更新频率,确定所述第一数据库最新一次的第二生成时间;
第二更新单元,用于在到达所述第二生成时间的情况下,确定所述多个初始数据满足数据更新条件。
24.根据权利要求14~18任一项所述的装置,还包括:
版本确定单元,用于为所述第一数据库生成第一版本号;
数据存储单元,用于将所述第一数据库以及所述第一版本号发送至分布式文件系统,以供所述分布式文件系统存储所述第一数据库以及所述第一版本号;
所述第一生成单元包括:
版本查询模块,用于获取所述线上查询服务的所述第二数据库的第二版本号;
服务建立模块,用于在所述第一版本号高于所述第二版本号的情况下,为所述第一数据库建立线下查询服务。
25.根据权利要求24所述的装置,还包括:
请求响应单元,用于响应于数据库变更请求,从所述分布式文本系统获取所述第一数据库以及所述第一版本号。
26.根据权利要求14~18任一项所述的装置,其中,所述第一生成单元包括:
环境获取模块,用于获取所述线上查询服务中除所述第二数据库的服务环境信息;
服务生成模块,用于根据所述服务环境信息以及所述第一数据库,生成所述线下查询服务。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110893534.1A CN113609145B (zh) | 2021-08-04 | 2021-08-04 | 数据库处理方法、装置、电子设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110893534.1A CN113609145B (zh) | 2021-08-04 | 2021-08-04 | 数据库处理方法、装置、电子设备、存储介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609145A CN113609145A (zh) | 2021-11-05 |
CN113609145B true CN113609145B (zh) | 2023-07-04 |
Family
ID=78306879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110893534.1A Active CN113609145B (zh) | 2021-08-04 | 2021-08-04 | 数据库处理方法、装置、电子设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609145B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673994A (zh) * | 2019-09-20 | 2020-01-10 | 北京百度网讯科技有限公司 | 数据库测试方法及装置 |
CN113010535A (zh) * | 2021-03-12 | 2021-06-22 | 北京百度网讯科技有限公司 | 缓存数据的更新方法、装置、设备和存储介质 |
CN113127312A (zh) * | 2019-12-30 | 2021-07-16 | 北京金山云网络技术有限公司 | 用于数据库性能测试的方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087103B2 (en) * | 2011-06-27 | 2015-07-21 | International Business Machines Corporation | Enhancing online querying service using client memorization |
-
2021
- 2021-08-04 CN CN202110893534.1A patent/CN113609145B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673994A (zh) * | 2019-09-20 | 2020-01-10 | 北京百度网讯科技有限公司 | 数据库测试方法及装置 |
CN113127312A (zh) * | 2019-12-30 | 2021-07-16 | 北京金山云网络技术有限公司 | 用于数据库性能测试的方法、装置、电子设备及存储介质 |
CN113010535A (zh) * | 2021-03-12 | 2021-06-22 | 北京百度网讯科技有限公司 | 缓存数据的更新方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
The role of C9orf72 in neurodegenerative disorders: a systematic review, an updated meta-analysis, and the creation of an online database;Chrysoula Marogianni等;《Neurobiology of Aging》;全文 * |
海量信息存储中数据库性能优化方法;黄楠;;科技通报(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609145A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113342345A (zh) | 深度学习框架的算子融合方法、装置 | |
CN115016321A (zh) | 一种硬件在环自动化测试方法、装置及系统 | |
CN113220573A (zh) | 用于微服务架构的测试方法、装置和电子设备 | |
CN114389969B (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN114116288A (zh) | 故障处理方法、装置及计算机程序产品 | |
CN114064925A (zh) | 知识图谱的构建方法、数据查询方法、装置、设备和介质 | |
CN113609145B (zh) | 数据库处理方法、装置、电子设备、存储介质及产品 | |
CN116860751A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN116028517A (zh) | 一种融合数据库系统及电子设备 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN115203158A (zh) | 一种数据比对方法、装置、设备以及存储介质 | |
CN112860796B (zh) | 用于同步数据的方法、装置、设备以及存储介质 | |
CN115309730A (zh) | 数据审核方法、装置、电子设备及存储介质 | |
CN115455091A (zh) | 数据生成方法、装置、电子设备和存储介质 | |
CN114417070A (zh) | 数据权限的收敛方法、装置、设备以及存储介质 | |
CN113595870B (zh) | 推送消息的处理方法、装置、电子设备及存储介质 | |
CN116204441B (zh) | 索引数据结构的性能测试方法、装置、设备及存储介质 | |
CN113626409B (zh) | 一种测试资料处理方法、装置、设备及存储介质 | |
CN115277652B (zh) | 基于推理服务的流媒体处理方法、装置、电子设备 | |
CN114358288B (zh) | 生成知识图谱的方法、信息推荐方法、装置及电子设备 | |
CN113239296B (zh) | 小程序的展示方法、装置、设备和介质 | |
CN114996157A (zh) | 变更代码的风险识别方法、装置、设备以及存储介质 | |
CN114840544A (zh) | 数据发布方法、数据更新方法、装置、设备及存储介质 | |
CN114238149A (zh) | 账务系统的批量测试方法、电子设备及存储介质 | |
CN115617616A (zh) | 一种服务器fru的运行监测方法、装置、设备及存储介质 |
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 |