CN114254025A - 数据存储方法和装置、存储介质及电子装置 - Google Patents
数据存储方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114254025A CN114254025A CN202111538981.1A CN202111538981A CN114254025A CN 114254025 A CN114254025 A CN 114254025A CN 202111538981 A CN202111538981 A CN 202111538981A CN 114254025 A CN114254025 A CN 114254025A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- database
- relational database
- interface
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013500 data storage Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 121
- 238000012795 verification Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 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/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据存储方法和装置、存储介质及电子装置,其中,上述方法包括:对终端设备发送的业务请求进行校验;在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库,采用上述技术方案,解决了在处理业务数据的情况下,对业务数据的存储效率较低的问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种数据存储方法和装置、存储介质及电子装置。
背景技术
目前,随着各行各业的业务服务的业务量爆发式增长,业务服务的数据量成倍的增加,导致业务服务的数据存储难度更是呈指数级增长,在目前的数据存储场景中,针对不同的业务服务会配置不同的数据库来完成业务服务与数据库的数据交互,因此,数据库中存储着海量的业务服务的数据以及相关的缓存数据。由于业务服务与数据库为高耦合状态,在一些处理业务数据的情况下,如果对数据库本身进行升级或者更新,会对业务数据的存储过程造成影响,进而降低业务数据的存储效率。
相关技术中,在处理业务数据的情况下,对业务数据的存储效率较低的问题。
针对相关技术中,在处理业务数据的情况下,对业务数据的存储效率较低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据存储方法和装置、存储介质及电子装置,以至少解决相关技术中,在处理业务数据的情况下,对业务数据的存储效率较低的问题。
根据本申请实施例的一个实施例,提供了一种数据存储方法,包括:对终端设备发送的业务请求进行校验;在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
在一个示例性实施例中,通过以下方式对所述业务请求进行校验:解析所述业务请求,得到所述业务请求中携带的令牌和所述业务请求中的业务权限;在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限存在于白名单中,则确定所述业务请求通过校验;或者,在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限不存在于黑名单中,则确定所述业务请求通过校验。
在一个示例性实施例中,访问DB数据库中的第一数据和非关系型数据库中的第二数据的过程中,所述方法还包括:确定所述业务请求的业务类型;基于所述业务类型确定对所述第一数据和所述第二数据进行业务处理的业务处理条件;在确定所述业务处理条件对应于所述DB数据库的第一访问接口的情况下,通过所述业务服务节点的微服务调用接口连接所述第一访问接口,以建立所述业务服务节点与所述DB数据库之间的访问通道;基于所述访问通道访问所述DB数据库中的第一数据;其中,所述微服务调用接口为所述业务服务节点面向所述DB数据库的调用接口。
在一个示例性实施例中,将所述业务处理结果存储至所述非关系型数据库包括:通过使用所述微服务调用接口连接所述非关系型数据库的数据存储接口;通过所述数据存储接口将所述业务处理结果存储至所述非关系型数据库。
在一个示例性实施例中,所述方法还包括:在确定所述业务处理条件对应于所述非关系型数据库的第二访问接口的情况下,通过使用所述业务服务节点的外部应用服务接口调用所述非关系型数据库的应用程序编程接口API,其中,所述第二访问接口为所述非关系型数据库中的业务数据接口;在所述API调用成功的情况下,通过所述API访问所述非关系型数据库的第二数据中的第二业务数据;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问成功的情况下,根据所述业务请求对所述非关系型数据库的第二数据中的第二业务数据进行操作,得到业务操作结果;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问失败的情况下,基于所述访问通道访问所述DB数据库中的第一数据,并根据所述业务请求对所述DB数据库中的第一数据进行操作,得到所述业务操作结果。
在一个示例性实施例中,将所述业务处理结果存储至所述非关系型数据库包括:通过所述业务服务节点的外部应用服务对得到的所述业务操作结果进行业务处理;将业务处理后的业务操作结果存储至所述非关系型数据库。
在一个示例性实施例中,将所述业务处理结果存储至所述非关系型数据库之后,所述方法还包括:确定向所述终端设备发送的业务处理结果的数据标准;根据所述数据标准封装所述业务处理结果,得到符合所述数据标准的业务处理结果,并将所述符合所述数据标准的业务处理结果返回给所述终端设备。
根据本申请实施例的另一个实施例,还提供了一种数据存储装置,包括:校验模块,用于对终端设备发送的业务请求进行校验;访问模块,用于在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;存储模块,用于对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据存储方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据存储方法。
在本申请实施例中,通过对终端设备发送的业务请求进行校验,在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,并对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库,通过采用上述技术方案,解决了在处理业务数据的情况下,对业务数据的存储效率较低的问题,进而提高了业务数据的存储效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种数据存储方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的数据存储方法的流程图;
图3是根据本申请实施例的数据存储方法的示意图(一);
图4是根据本申请实施例的数据存储方法的示意图(二);
图5是根据本申请实施例的一种数据存储装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种数据存储方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据存储方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据存储方法,应用于上述计算机终端,图2是根据本申请实施例的数据存储方法的流程图,该流程包括如下步骤:
步骤S202,对终端设备发送的业务请求进行校验;
需要说明的是,上述终端设备可以包括手机、平板、蓝牙耳机、可穿戴式智能设备等,但不限于此。
步骤S204,在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
需要说明的是,上述非关系型数据库可以包括Redis数据库、Membase、MongoDB等,但不限于此。
需要说明的是,所述DB数据库可以理解为依照某种数据模型组织起来并存放二级存储器中的数据集合,例如,关系型数据库。
步骤S206,对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
通过上述步骤,对终端设备发送的业务请求进行校验;在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库,解决了相关技术中,在处理业务数据的情况下,对业务数据的存储效率较低的问题,进而提高了业务数据的存储效率。
在一个示例性实施例中,为了更好的理解上述步骤S202中如何对终端设备发送的业务请求进行校验,提出了可以通过以下方式对所述业务请求进行校验的技术方案,具体为:解析所述业务请求,得到所述业务请求中携带的令牌和所述业务请求中的业务权限;在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限存在于白名单中,则确定所述业务请求通过校验;或者,在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限不存在于黑名单中,则确定所述业务请求通过校验。
需要说明的是,可以根据移动终端的终端类型设置业务请求的业务权限,也可以根据发起业务请求的业务账号设置业务请求的业务权限,并将设置好的业务权限存储在白名单中。
需要说明的是,上述白名单存储业务请求能够使用的业务权限。上述黑名单存储业务请求禁止使用的业务权限。
例如,在一个实施例中,在确定上述移动终端的终端类型为蓝牙耳机,且上述移动终端发起的业务请求为通话的情况下,设置业务请求的业务权限为语音通话权限。在其他实施例中,在确定发起业务请求的业务账号为会员账号,且上述移动终端发起的业务请求为充话费的情况下,设置业务请求的业务权限为话费打折权限。
在一个实施例中,如果确定上述移动终端的终端类型为蓝牙耳机,且上述移动终端发起的业务请求为通话,业务请求的业务权限为语音通话权限的情况下,如果确定在上述白名单中查找到由蓝牙耳机发起的业务请求可以使用的业务权限为语音通话权限,则确定由蓝牙耳机发起的通话通过校验。或者确定在上述黑名单中没有查找到由蓝牙耳机发起的业务请求禁止使用的业务权限为语音通话权限,则确定由蓝牙耳机发起的通话通过校验。
在一个示例性实施例中,为了更好的理解上述步骤S204中如何访问DB数据库中的第一数据和非关系型数据库中的第二数据,在访问DB数据库中的第一数据和非关系型数据库中的第二数据的过程中,提出了一种技术方案,具体步骤包括:确定所述业务请求的业务类型;基于所述业务类型确定对所述第一数据和所述第二数据进行业务处理的业务处理条件;在确定所述业务处理条件对应于所述DB数据库的第一访问接口的情况下,通过所述业务服务节点的微服务调用接口连接所述第一访问接口,以建立所述业务服务节点与所述DB数据库之间的访问通道;基于所述访问通道访问所述DB数据库中的第一数据;其中,所述微服务调用接口为所述业务服务节点面向所述DB数据库的调用接口。
需要说明的是,业务处理条件可以理解为业务类型对应的业务处理时间,则基于业务类型确定对第一数据和第二数据进行业务处理的业务处理条件的过程为:将业务类型对应的业务处理时间小于第一预设值的情况设置为对第二数据进行业务处理的业务处理条件,并通过非关系型数据库的第二访问接口访问非关系型数据库。将业务类型对应的业务处理时间大于第一预设值的情况设置为对第一数据进行业务处理的业务处理条件,并通过DB数据库的第一访问接口访问DB数据库。
其中,上述第一预设值可以为1秒、1小时、1天、1周等,本申请对此不做限制。
其中,在其他实施例中,可以通过上述业务服务节点的微服务调用接口访问非关系型数据库,本申请对此不做限制。
在一个示例性实施例中,提出了一种将所述业务处理结果存储至所述非关系型数据库的技术方案,具体步骤包括:通过使用所述微服务调用接口连接所述非关系型数据库的数据存储接口;通过所述数据存储接口将所述业务处理结果存储至所述非关系型数据库。
在一个示例性实施例中,还提出了一种技术方案,具体步骤包括:在确定所述业务处理条件对应于所述非关系型数据库的第二访问接口的情况下,通过使用所述业务服务节点的外部应用服务接口调用所述非关系型数据库的应用程序编程接口API,其中,所述第二访问接口为所述非关系型数据库中的业务数据接口;在所述API调用成功的情况下,通过所述API访问所述非关系型数据库的第二数据中的第二业务数据;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问成功的情况下,根据所述业务请求对所述非关系型数据库的第二数据中的第二业务数据进行操作,得到业务操作结果;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问失败的情况下,基于所述访问通道访问所述DB数据库中的第一数据,并根据所述业务请求对所述DB数据库中的第一数据进行操作,得到所述业务操作结果。
需要说明的是,上述API为Application Programming Interface,是一种预先定义的应用程序的接口,例如函数接口。
在一个示例性实施例中,提供了一种将所述业务处理结果存储至所述非关系型数据库的技术方案,具体步骤包括:通过所述业务服务节点的外部应用服务对得到的所述业务操作结果进行业务处理;将业务处理后的业务操作结果存储至所述非关系型数据库。
在一个示例性实施例中,提供了一种将所述业务处理结果存储至所述非关系型数据库之后的技术方案,具体步骤包括:确定向所述终端设备发送的业务处理结果的数据标准;根据所述数据标准封装所述业务处理结果,得到符合所述数据标准的业务处理结果,并将所述符合所述数据标准的业务处理结果返回给所述终端设备。
在一个实施例中,通过使用SpringBoot框架构建数据库的基础服务,并将业务服务节点与数据库分别注册到Nacos(Dynamic Naming and Configuration Service,动态服务注册和配置中心)进行业务数据的负载均衡处理,在Nacos中添加Redis数据库的交互操作接口(相当于上述第二访问接口),为业务服务节点配置连接到Redis数据库的服务调用接口(相当于上述外部应用服务接口)。在接收到移动终端发送的业务请求的情况下,可以通过Jedis接收业务请求,并根据业务请求,使用服务调用接口调用Redis数据库的API来对Redis数据库中的第二数据进行操作,得到业务操作结果,继而通过业务服务节点的外部应用服务对得到的业务操作结果进行业务处理,将业务处理后的业务操作结果存储至Redis数据库。
需要说明的是,上述SpringBoot框架可以理解为JAVA平台的一种开源应用框架,用来提供具有控制反转特性的容器。
需要说明的是,上述Nacos能够用来部署多个业务服务节点,并提升业务服务的稳定性,提高业务服务的效率,已经在Nacos完成注册的多个服务节点与服务接口,彼此可以通过Feign定义的接口(相当于上述微服务调用接口)进行数据调用,或者也可以直接调用API接口进行数据调用。
其中,Feign是一个接口声明式调用框架,可以理解为一种Web Service网页服务客户端,相当于提供了一个客户端接口,可以在不调用API接口的情况下实现API的调用操作,常用在微服务(一种面向开发单个应用的服务架构)模式下,简化微服务之间的调用过程,提供负载均衡的微服务功能。
需要说明的是,上述Redis的交互操作接口可以包括数据获取接口,数据配置接口,数据删除接口,数据修改接口以及针对不同数据类型的操作接口,但不限于此。
需要说明的是,上述Jedis可以理解为一种基于JAVA语言的Redis客户端,其中,Redis数据库的默认软件包文档格式为jar(Java Archive)。用户可以通过Jedis编写jar形式的文档完成对Redis数据库中的数据操作。
通过上述实施例,可以通过Feign实现访问Redis数据库,或者通过Redis数据库的API实现访问Redis数据库,对业务数据的处理过程与业务数据的存储过程进行解耦化,提高了业务数据的存储效率。
为了更好的理解上述数据存储方法的过程,以下再结合可选实施例对上述数据存储的实现方法流程进行说明,但不用于限定本申请实施例的技术方案。
在本实施例中提供了一种数据存储方法,图3是根据本申请实施例的数据存储方法的示意图(一),如图3所示,提出了一种面向微服务模式下的业务数据的存储方法,具体如下步骤:
其中,在图3中,服务网关与分布式A服务节点共同完成上述业务服务节点的功能,
步骤S301:客户端(安装在上述移动终端内)发送请求(相当于上述业务请求)。
步骤S302:服务网关对请求进行拦截,并进行token(令牌)校验和权限名单校验,最后进行请求转发。
需要说明的是,上述权限名单包括黑名单和白名单。在token(令牌)校验通过后,对权限名单进行校验。即在确定请求对应的业务类型存在于白名单的情况下,确定请求通过校验。也可以在确定请求对应的业务类型不存在于黑名单的情况下,确定请求通过校验。
步骤S303:服务网关通过Fegin定义的接口(相当于上述微服务调用接口)进行数据调用,访问分布式A服务节点(相当于上述业务服务节点)。
步骤S304:分布式A服务节点访问存储在DB数据库中的分布式A服务节点的业务数据。
步骤S305:DB数据库返回请求对应的业务数据。
步骤S306:对得到的业务数据进行业务处理。
例如,如果请求为语音通话,那么在通话结束后,根据业务数据生成通话记录。
步骤S307:Fegin服务间调用,即分布式A服务节点使用Fegin定义的接口访问分布式Redis数据库,将业务数据的处理结果存储至分布式Redis数据库,并将处理业务数据时产生的缓存数据存储至分布式Redis数据库。
步骤S308:分布式Redis数据库向分布式A服务节点返回存储结果。
步骤S309:分布式A服务节点将业务处理结果返回至服务网关。
步骤S310:服务网关对业务处理结果进行封装。
步骤S311:服务网关将封装后的业务处理结果返回至客户端。
通过上述步骤,能够在处理业务数据的同时,完成对业务数据的存储过程。由于Redis数据库中存储有业务数据以及处理业务数据时的缓存数据,既可以通过Redis数据库完成业务数据的处理与存储,也可以使用数据库与Redis数据库配合完成业务数据的处理与存储。进一步地,在面向微服务模式时,通过Feign调用功能访问业务数据,能够提高对业务数据的访问速度,并提高存储效率。
在本实施例中提供了一种数据存储方法,图4是根据本申请实施例的数据存储方法的示意图(二),如图4所示,通过面向应用服务节点(相当于上述业务服务节点)提供Redis数据库的API,能够通过应用服务节点的外部应用服务使用Http协议远程调用Redis数据库。其中,图4中的应用服务节点与图3中的分布式A服务节点的功能相同,都用来实现上述业务服务节点的功能,图4中的Redis数据库与图3中的分布式Redis数据库的功能相同,都用来实现上述非关系型数据库的功能。
步骤S401-S402、步骤S404-S406、步骤S408-S411与上述图3中的步骤S301-S302、步骤S304-S306、步骤S308-S311类似,本申请在此不再赘述。
其中,在图4中,服务网关与应用服务节点共同完成上述业务服务节点的功能,
对其余不同的步骤的说明如下:
步骤S403:服务网关根据请求访问应用服务节点,调用应用服务节点提供的应用服务。
步骤S407:应用服务节点的通过HTTP协议(相当于上述外部应用服务接口)远程调用Redis数据库的API,通过API访问所述非关系型数据库
通过上述步骤,能够在处理业务数据的同时,完成对业务数据的存储过程,提高了对业务数据进行处理时的稳定性,也提高了业务数据的存储效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图5是根据本申请实施例的一种数据存储装置的结构框图。如图5所示,包括:
校验模块52,用于对终端设备发送的业务请求进行校验;
需要说明的是,上述终端设备可以包括手机、平板、蓝牙耳机、可穿戴式智能设备等,但不限于此。
访问模块54,用于在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
需要说明的是,上述非关系型数据库可以包括Redis数据库、Membase、MongoDB等,但不限于此。
存储模块56,用于对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
需要说明的是,所述DB数据库可以理解为依照某种数据模型组织起来并存放二级存储器中的数据集合,例如,关系型数据库。
通过上述装置,对终端设备发送的业务请求进行校验;在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库,解决了相关技术中,在处理业务数据的情况下,对业务数据的存储效率较低的问题,进而提高了业务数据的存储效率。
可选的,在一个示例性实施例中,上述校验模块还用于解析所述业务请求,得到所述业务请求中携带的令牌和所述业务请求中的业务权限;在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限存在于白名单中,则确定所述业务请求通过校验;或者,在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限不存在于黑名单中,则确定所述业务请求通过校验。
需要说明的是,可以根据移动终端的终端类型设置业务请求的业务权限,也可以根据发起业务请求的业务账号设置业务请求的业务权限,并将设置好的业务权限存储在白名单中。
需要说明的是,上述白名单存储业务请求能够使用的业务权限。上述黑名单存储业务请求禁止使用的业务权限。
例如,在一个实施例中,在确定上述移动终端的终端类型为蓝牙耳机,且上述移动终端发起的业务请求为通话的情况下,设置业务请求的业务权限为语音通话权限。在其他实施例中,在确定发起业务请求的业务账号为会员账号,且上述移动终端发起的业务请求为充话费的情况下,设置业务请求的业务权限为话费打折权限。
在一个实施例中,如果确定上述移动终端的终端类型为蓝牙耳机,且上述移动终端发起的业务请求为通话,业务请求的业务权限为语音通话权限的情况下,如果确定在上述白名单中查找到由蓝牙耳机发起的业务请求可以使用的业务权限为语音通话权限,则确定由蓝牙耳机发起的通话通过校验。或者确定在上述黑名单中没有查找到由蓝牙耳机发起的业务请求禁止使用的业务权限为语音通话权限,则确定由蓝牙耳机发起的通话通过校验。
可选的,在一个示例性实施例中,上述访问模块还用于确定所述业务请求的业务类型;基于所述业务类型确定对所述第一数据和所述第二数据进行业务处理的业务处理条件;在确定所述业务处理条件对应于所述DB数据库的第一访问接口的情况下,通过所述业务服务节点的微服务调用接口连接所述第一访问接口,以建立所述业务服务节点与所述DB数据库之间的访问通道;基于所述访问通道访问所述DB数据库中的第一数据;其中,所述微服务调用接口为所述业务服务节点面向所述DB数据库的调用接口。
需要说明的是,业务处理条件可以理解为业务类型对应的业务处理时间,则基于业务类型确定对第一数据和第二数据进行业务处理的业务处理条件的过程为:将业务类型对应的业务处理时间小于第一预设值的情况设置为对第二数据进行业务处理的业务处理条件,并通过非关系型数据库的第二访问接口访问非关系型数据库。将业务类型对应的业务处理时间大于第一预设值的情况设置为对第一数据进行业务处理的业务处理条件,并通过DB数据库的第一访问接口访问DB数据库。
其中,上述第一预设值可以为1秒、1小时、1天、1周等,本申请对此不做限制。
其中,在其他实施例中,可以通过上述业务服务节点的微服务调用接口访问非关系型数据库,本申请对此不做限制。
可选的,在一个示例性实施例中,上述数据存储装置还包括连接模块,用于通过使用所述微服务调用接口连接所述非关系型数据库的数据存储接口;通过所述数据存储接口将所述业务处理结果存储至所述非关系型数据库。
可选的,在一个示例性实施例中,上述数据存储装置还包括调用模块,用于在确定所述业务处理条件对应于所述非关系型数据库的第二访问接口的情况下,通过使用所述业务服务节点的外部应用服务接口调用所述非关系型数据库的应用程序编程接口API,其中,所述第二访问接口为所述非关系型数据库中的业务数据接口;在所述API调用成功的情况下,通过所述API访问所述非关系型数据库的第二数据中的第二业务数据;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问成功的情况下,根据所述业务请求对所述非关系型数据库的第二数据中的第二业务数据进行操作,得到业务操作结果;在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问失败的情况下,基于所述访问通道访问所述DB数据库中的第一数据,并根据所述业务请求对所述DB数据库中的第一数据进行操作,得到所述业务操作结果。
需要说明的是,上述API为Application Programming Interface,是一种预先定义的应用程序的接口,例如函数接口。
可选的,在一个示例性实施例中,上述数据存储装置还包括处理模块,用于通过所述业务服务节点的外部应用服务对得到的所述业务操作结果进行业务处理;将业务处理后的业务操作结果存储至所述非关系型数据库。
可选的,在一个示例性实施例中,上述数据存储装置还包括封装模块,用于确定向所述终端设备发送的业务处理结果的数据标准;根据所述数据标准封装所述业务处理结果,得到符合所述数据标准的业务处理结果,并将所述符合所述数据标准的业务处理结果返回给所述终端设备。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,对终端设备发送的业务请求进行校验;
S2,在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
S3,对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,对终端设备发送的业务请求进行校验;
S2,在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
S3,对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
对终端设备发送的业务请求进行校验;
在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
2.根据权利要求1所述的数据存储方法,其特征在于,通过以下方式对所述业务请求进行校验:
解析所述业务请求,得到所述业务请求中携带的令牌和所述业务请求中的业务权限;
在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限存在于白名单中,则确定所述业务请求通过校验;
或者,在所述业务请求中携带的令牌通过校验的情况下,如果确定所述业务权限不存在于黑名单中,则确定所述业务请求通过校验。
3.根据权利要求1所述的数据存储方法,其特征在于,访问DB数据库中的第一数据和非关系型数据库中的第二数据的过程中,所述方法还包括:
确定所述业务请求的业务类型;
基于所述业务类型确定对所述第一数据和所述第二数据进行业务处理的业务处理条件;
在确定所述业务处理条件对应于所述DB数据库的第一访问接口的情况下,通过所述业务服务节点的微服务调用接口连接所述第一访问接口,以建立所述业务服务节点与所述DB数据库之间的访问通道;
基于所述访问通道访问所述DB数据库中的第一数据;
其中,所述微服务调用接口为所述业务服务节点面向所述DB数据库的调用接口。
4.根据权利要求3所述的数据存储方法,其特征在于,将所述业务处理结果存储至所述非关系型数据库包括:
通过使用所述微服务调用接口连接所述非关系型数据库的数据存储接口;
通过所述数据存储接口将所述业务处理结果存储至所述非关系型数据库。
5.根据权利要求3所述的数据存储方法,其特征在于,所述方法还包括:
在确定所述业务处理条件对应于所述非关系型数据库的第二访问接口的情况下,通过使用所述业务服务节点的外部应用服务接口调用所述非关系型数据库的应用程序编程接口API,其中,所述第二访问接口为所述非关系型数据库中的业务数据接口;
在所述API调用成功的情况下,通过所述API访问所述非关系型数据库的第二数据中的第二业务数据;
在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问成功的情况下,根据所述业务请求对所述非关系型数据库的第二数据中的第二业务数据进行操作,得到业务操作结果;
在确定通过所述API访问所述非关系型数据库的第二数据中的第二业务数据的结果为访问失败的情况下,基于所述访问通道访问所述DB数据库中的第一数据,并根据所述业务请求对所述DB数据库中的第一数据进行操作,得到所述业务操作结果。
6.根据权利要求5所述的数据存储方法,其特征在于,将所述业务处理结果存储至所述非关系型数据库包括:
通过所述业务服务节点的外部应用服务对得到的所述业务操作结果进行业务处理;
将业务处理后的业务操作结果存储至所述非关系型数据库。
7.根据权利要求1所述的数据存储方法,其特征在于,将所述业务处理结果存储至所述非关系型数据库之后,所述方法还包括:
确定向所述终端设备发送的业务处理结果的数据标准;
根据所述数据标准封装所述业务处理结果,得到符合所述数据标准的业务处理结果,并将所述符合所述数据标准的业务处理结果返回给所述终端设备。
8.一种数据存储装置,其特征在于,包括:
校验模块,用于对终端设备发送的业务请求进行校验;
访问模块,用于在确定所述业务请求通过校验的情况下,访问DB数据库中的第一数据和非关系型数据库中的第二数据,其中,所述第一数据包括:业务服务节点的第一业务数据,所述第二数据包括:所述业务服务节点的第二业务数据以及所述业务服务节点处理所述第二业务数据时产生的缓存数据,所述DB数据库和所述非关系型数据库相互独立;
存储模块,用于对所述第一数据和所述第二数据进行业务处理,得到业务处理结果,并将所述业务处理结果存储至所述非关系型数据库。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538981.1A CN114254025A (zh) | 2021-12-15 | 2021-12-15 | 数据存储方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538981.1A CN114254025A (zh) | 2021-12-15 | 2021-12-15 | 数据存储方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254025A true CN114254025A (zh) | 2022-03-29 |
Family
ID=80792482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538981.1A Pending CN114254025A (zh) | 2021-12-15 | 2021-12-15 | 数据存储方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254025A (zh) |
-
2021
- 2021-12-15 CN CN202111538981.1A patent/CN114254025A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10089106B2 (en) | Communications network, computer architecture, computer-implemented method and computer program product for development and management of femtocell-based applications | |
KR101894919B1 (ko) | 기본 네트워크들과의 서비스 계층 과금 상관을 위한 방법들 및 장치들 | |
US9888290B1 (en) | Service denial notification in secure socket layer (SSL) processing | |
EP2887702A1 (en) | Method and device for providing a secure element with a subscription profile | |
US7809368B2 (en) | Architecture for location independent, automated integration testing and quality assurance of next generation IMS services | |
EP3759955B1 (en) | Methods, devices, and computer programs for provisioning or controlling operator profiles in terminals | |
CN114467325A (zh) | 用于rsp过程的验证的测试方法以及提供该等测试方法的主动测试系统 | |
CN113225761A (zh) | 一种选择网络切片的方法及电子设备 | |
AU2014411891B2 (en) | Charging control apparatus, method, and system | |
CN113541981B (zh) | 网络切片的成员管理方法及系统 | |
CN101895844A (zh) | 通信智能卡应用下载安装的方法 | |
CN114254025A (zh) | 数据存储方法和装置、存储介质及电子装置 | |
CN107864488B (zh) | 一种基站业务自动测试的方法、装置及系统 | |
KR20200068101A (ko) | 비정상 iot 단말을 검출하는 장치 및 방법 | |
CN115186254A (zh) | 一种数据访问控制方法及装置、终端设备 | |
CN108388475A (zh) | 一种基于终端类型配置api资源的方法及系统 | |
CN110650071B (zh) | 用户设备的接入管理方法、装置和管理服务器 | |
CN113934552A (zh) | 功能代码的确定方法及装置、存储介质、电子装置 | |
CN107846300B (zh) | 一种提供业务接口的方法及装置 | |
CN109831480A (zh) | 一种链接访问监测方法及装置 | |
EP3955557B1 (en) | Control apparatus, control method, and program | |
CN113434848B (zh) | 数据采集方法、装置、存储介质及电子设备 | |
CN114285908B (zh) | 网元适配方法、装置、设备和计算机可读存储介质 | |
US10616421B2 (en) | Grafting and separation of mobile telephone number lines | |
CN114268910B (zh) | 集群网络的群组信息下发方法及设备 |
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 |