数据存储方法、装置、介质及设备
文献发布时间:2024-01-17 01:14:25
技术领域
本申请涉及电子通信技术领域,尤其涉及一种数据更新技术领域,特别涉及一种数据存储方法、装置、介质及设备。
背景技术
银行目前存在这样的业务场景,通过配置业务命中规则,对实时消息进行判断,如果客户命中规则则判定用户命中该事件,并将事件的编码、客户号及命中时间存储到数据库中,以提供查询服务。目前银行一般会选择elasticsearch(分布式搜索和分析引擎)作为存储工具,但随着业务量的增加,业务配置的事件、客户命中数据及数据更新频率也跟着增加,导致数据库压力骤增,致使数据库的数据维护成本上升。
发明内容
本申请实施例提供一种数据存储方法、装置、介质及设备,利用本申请实施例提供的数据存储方法,通过预先给每个业务方配置一个独立的MongoDB数据库,利用批量消费同时处理多条数据,然后根据每条数据自带的业务方标签分类后写入对应的MongoDB数据库中,再进一步写入对应的数据表。不仅能够增大数据处理的吞吐量,还能够每个业务方存储的数据是隔离的,当其中一个业务方对应的MongoDB数据库出现问题时,不会影响其他业务方的MongoDB数据库正常使用,同时可以减轻数据库的存储压力。
本申请实施例一方面提供了一种数据存储方法,所述数据存储方法包括:
监听命中预设规则的目标业务数据;
判断所述目标业务数据是否在预设时间段内首次产生;
将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
获取所述待写入数据携带的业务方标签;
根据所述业务方标签查找对应的数据库地址;
根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
在本申请实施例所述的数据存储方法中,所述根据所述数据库地址,将所述待写入数据写入对应的目标数据库,包括:
将所述待写入数据推送至RocketMQ,由所述RocketMQ根据所述数据库地址,将所述待写入数据进行批量写入对应的目标数据库。
在本申请实施例所述的数据存储方法中,在所述将所述待写入数据写入对应的目标数据库之后,所述方法还包括:
获取与所述待写入数据携带的业务方标签对应的数据表地址;
根据所述数据表地址,将所述待写入数据写入所述目标数据库中对应的目标数据表。
在本申请实施例所述的数据存储方法中,每个所述数据库中包括至少两个数据表,所述至少两个数据表分别用于存储不同写入时间段的业务数据;
所述将所述待写入数据写入所述目标数据库中对应的目标数据表,包括:
根据所述待写入数据写入时刻所属的时间段写入对应的目标数据表。
在本申请实施例所述的数据存储方法中,在所述得到计算结果之后,所述方法还包括:
接收针对目标数据表的移除请求;
获取所述移除请求中包含的数据表编号;
将与所述数据表编号对应的目标数据表从数据库中移除。
在本申请实施例所述的数据存储方法中,所述数据库为MongoDB数据库。
相应的,本申请实施例另一方面还提供了一种数据存储装置,所述数据存储装置包括:
数据监听模块,用于监听命中预设规则的目标业务数据;
数据判断模块,用于判断所述目标业务数据是否在预设时间段内首次产生;
数据确定模块,用于将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
数据获取模块,用于获取所述待写入数据携带的业务方标签;
数据查找模块,用于根据所述业务方标签查找对应的数据库地址;
数据写入模块,用于根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
在本申请实施例所述的数据存储装置中,所述数据写入模块,用于将所述待写入数据推送至RocketMQ,由所述RocketMQ根据所述数据库地址,将所述待写入数据进行批量写入对应的目标数据库。
相应的,本申请实施例另一方面还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的数据存储方法。
相应的,本申请实施例另一方面还提供了一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的数据存储方法。
本申请实施例提供了一种数据存储方法、装置、介质及设备,该方法通过监听命中预设规则的目标业务数据;判断所述目标业务数据是否在预设时间段内首次产生;将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;获取所述待写入数据携带的业务方标签;根据所述业务方标签查找对应的数据库地址;根据所述数据库地址,将所述待写入数据写入对应的目标数据库。利用本申请实施例提供的数据存储方法,通过预先给每个业务方配置一个独立的MongoDB数据库,利用批量消费同时处理多条数据,然后根据每条数据自带的业务方标签分类后写入对应的MongoDB数据库中,再进一步写入对应的数据表。不仅能够增大数据处理的吞吐量,还能够每个业务方存储的数据是隔离的,当其中一个业务方对应的MongoDB数据库出现问题时,不会影响其他业务方的MongoDB数据库正常使用,同时可以减轻数据库的存储压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据存储方法的流程示意图。
图2为本申请实施例提供的数据存储装置的结构示意图。
图3为本申请实施例提供的数据存储装置的另一结构示意图。
图4为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
需要说明的是,以下内容是对本方案背景做出的简单介绍:
本方案提供的数据存储方法主要是围绕“目前大多数数据在存储时都是通过在一个数据库中划出多个不同的数据存储区域来存储不同类型的数据,但是采用这种方式不仅会影响数据库的存储压力还不便于数据管理”这一问题提出的。可以理解的是,银行目前存在这样的业务场景,通过配置业务命中规则,对实时消息进行判断,如果客户命中规则则判定用户命中该事件,并将事件的编码、客户号及命中时间存储到数据库中,以提供查询服务。目前银行一般会选择elasticsearch作为存储工具,但随着业务量的增加,业务配置的事件、客户命中数据及数据更新频率也跟着增加,导致数据库压力骤增,致使数据库的数据维护成本上升。
需要解释的是,Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
为了解决上述技术问题,本申请实施例提供一种数据存储方法。利用本申请实施例提供的数据存储方法,通过预先给每个业务方配置一个独立的MongoDB数据库,利用批量消费同时处理多条数据,然后根据每条数据自带的业务方标签分类后写入对应的MongoDB数据库中,再进一步写入对应的数据表。不仅能够增大数据处理的吞吐量,还能够每个业务方存储的数据是隔离的,当其中一个业务方对应的MongoDB数据库出现问题时,不会影响其他业务方的MongoDB数据库正常使用,同时可以减轻数据库的存储压力。
请参阅图1,图1为本申请实施例提供的数据存储方法的流程示意图。所述数据存储方法,应用于终端设备中。可选地,该终端设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电及车载终端等,但并不局限于此。
在一实施例中,所述方法可以包括以下步骤:
步骤101,监听命中预设规则的目标业务数据。
其中,预设规则指的是人为预先设定的命中规则,例如“客户浏览一个特定产品的页面”,此为一条预设规则,当监听到特定产品的页面出现客户浏览的操作时,则将该条产生的数据作为目标业务数据。
步骤102,判断所述目标业务数据是否在预设时间段内首次产生。
在本实施例,如果客户在一个事件中第一次命中,则新增插入数据库,后续再命中该事件,则只更新命中时间。通过将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据,能够减少访问数据库次数,从而降低数据库的压力。
因此,需要先判断目标业务数据是否在预设时间段内首次产生。
步骤103,将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据。
在本实施例中,本方案重点关注的目标业务数据是实时更新数据,只有满足在指定时间段内最后一次更新的数据才是目标业务数据,基于此条件下获取到的目标业务数据才能够匹配银行业务中的实时活动。示例性地,假设银行方是根据客户登录指定页面的活跃度(登录时间越接近当前时间说明活跃度越高)确定客户对指定页面推广产品的关注程度,当存在客户1和客户2分别在同一天的上午和下午登录指定页面,由于客户2是在下午登录指定页面即距离当前时间更近,即判定客户2对指定页面中推广的产品关注程度更高,可以有针对性地向客户2推送营销活动消息。而对于客户1可以向其推送活动提醒消息,提升客户1的活跃度。
基于上述介绍,通过将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据,能够减少访问数据库次数,从而降低数据库的压力。具体可以根据客户号+组合事件(在xx时间段浏览页面3秒)为主键判断,如果存在则更新,如果不存在就新增插入。减少了访问数据库次数,从而降低了数据库的压力。
步骤104,获取所述待写入数据携带的业务方标签。
其中,待写入数据携带的业务方标签可以采用ID号来表示,用于表示不同待写入数据对应的业务方信息。
步骤105,根据所述业务方标签查找对应的数据库地址。
其中,通过预先将不同的业务方标签与其对应的数据库地址进行映射,建立业务方标签与数据库地址之间的映射关系表,便于快速查找业务方标签对应的数据库地址,进而将待写入数据写入对应的数据库中。
步骤106,根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
其中,当业务方接入的时候,通过为每个业务方单独申请一套MongoDB数据库,这样每个业务方存储的数据是隔离的,当其中一个业务方MongoDB数据库出现问题时,不会影响其他业务方的MongoDB数据库的使用。
需要解释的是,MongoDB数据库是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB数据库是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
在一些实施例中,可以通过将待写入数据推送至RocketMQ,由RocketMQ根据数据库地址,将待写入数据进行批量写入对应的目标数据库。使用RocketMQ实现批量消费,比如每次消费10-100条数据,可以增大数据处理的吞吐量。
在一些实施例中,在将待写入数据写入对应的目标数据库之后,该方法还包括以下步骤:
获取与待写入数据携带的业务方标签对应的数据表地址;根据数据表地址,将待写入数据写入目标数据库中对应的目标数据表。
在一个业务方MongoDB数据库中,按照一个季度创建一张表,比如2022年第一个季度,则创建表business_202201,一年创建4张表。那数据怎么存入这些表呢。根据业务方配置事件的创建日期来判断,如果事件在第一个季度创建的,则写入business_202201。这样就可以对数据进行生命周期管理。对于创建时间比较早的事件,一般都在一个季度表中,可以把这些季度表的数据进行删除,保证的数据不会一直膨胀。
具体地,可以向运行本申请提供的数据存储方法的终端设备发出针对目标数据表的移除请求;终端设备通过获取移除请求中包含的数据表编号;根据数据表编号将与其对应的目标数据表中数据库中移除。在每个数据库中配置多个数据表存储不同时间段的数据,并根据可以根据需要将其他任意数据表删除。相比只有一个数据表的方案,本方案对数据删除的操作性更强。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的数据存储方法通过监听命中预设规则的目标业务数据;判断所述目标业务数据是否在预设时间段内首次产生;将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;获取所述待写入数据携带的业务方标签;根据所述业务方标签查找对应的数据库地址;根据所述数据库地址,将所述待写入数据写入对应的目标数据库。利用本申请实施例提供的数据存储方法,通过预先给每个业务方配置一个独立的MongoDB数据库,利用批量消费同时处理多条数据,然后根据每条数据自带的业务方标签分类后写入对应的MongoDB数据库中,再进一步写入对应的数据表。不仅能够增大数据处理的吞吐量,还能够每个业务方存储的数据是隔离的,当其中一个业务方对应的MongoDB数据库出现问题时,不会影响其他业务方的MongoDB数据库正常使用,同时可以减轻数据库的存储压力。
本申请实施例还提供一种数据存储装置,所述数据存储装置可以集成在终端设备中。
请参阅图2,图2为本申请实施例提供的数据存储装置的结构示意图。数据存储装置30可以包括:
数据监听模块31,用于监听命中预设规则的目标业务数据;
数据判断模块32,用于判断所述目标业务数据是否在预设时间段内首次产生;
数据确定模块33,用于将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
数据获取模块34,用于获取所述待写入数据携带的业务方标签;
数据查找模块35,用于根据所述业务方标签查找对应的数据库地址;
数据写入模块36,用于根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
在一些实施例中,所述数据写入模块36,用于将所述待写入数据推送至RocketMQ,由所述RocketMQ根据所述数据库地址,将所述待写入数据进行批量写入对应的目标数据库。
在一些实施例中,所述装置还包括二次数据写入模块,用于获取与所述待写入数据携带的业务方标签对应的数据表地址;根据所述数据表地址,将所述待写入数据写入所述目标数据库中对应的目标数据表。
在一些实施例中,每个所述数据库中包括至少两个数据表,所述至少两个数据表分别用于存储不同写入时间段的业务数据;所述二次数据写入模块,用于根据所述待写入数据写入时刻所属的时间段写入对应的目标数据表。
在一些实施例中,所述装置还包括移除模块,用于接收针对目标数据表的移除请求;获取所述移除请求中包含的数据表编号;将与所述数据表编号对应的目标数据表从数据库中移除。
在一些实施例中,所述数据库为MongoDB数据库。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。
由上可知,本申请实施例提供的数据存储装置30,其中数据监听模块31用于监听命中预设规则的目标业务数据;数据判断模块32用于判断所述目标业务数据是否在预设时间段内首次产生;数据确定模块33用于将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;数据获取模块34用于获取所述待写入数据携带的业务方标签;数据查找模块35用于根据所述业务方标签查找对应的数据库地址;数据写入模块36用于根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
请参阅图3,图3为本申请实施例提供的数据存储装置的另一结构示意图,数据存储装置30包括存储器120、一个或多个处理器180、以及一个或多个应用程序,其中该一个或多个应用程序被存储于该存储器120中,并配置为由该处理器180执行;该处理器180可以包括数据监听模块31,数据判断模块32,数据确定模块33,数据获取模块34,数据查找模块35及数据写入模块36。
例如,以上各个部件的结构和连接关系可以如下:
存储器120可用于存储应用程序和数据。存储器120存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据存储。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180对存储器120的访问。
处理器180是装置的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行装置的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
具体在本实施例中,处理器180会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而实现各种功能:
数据监听指令,用于监听命中预设规则的目标业务数据;
数据判断指令,用于判断所述目标业务数据是否在预设时间段内首次产生;
数据确定指令,用于将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
数据获取指令,用于获取所述待写入数据携带的业务方标签;
数据查找指令,用于根据所述业务方标签查找对应的数据库地址;
数据写入指令,用于根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
在一些实施例中,所述数据写入指令,用于将所述待写入数据推送至RocketMQ,由所述RocketMQ根据所述数据库地址,将所述待写入数据进行批量写入对应的目标数据库。
在一些实施例中,所述程序还包括二次写入指令,用于获取与所述待写入数据携带的业务方标签对应的数据表地址;根据所述数据表地址,将所述待写入数据写入所述目标数据库中对应的目标数据表。
在一些实施例中,每个所述数据库中包括至少两个数据表,所述至少两个数据表分别用于存储不同写入时间段的业务数据;所述二次写入指令,用于根据所述待写入数据写入时刻所属的时间段写入对应的目标数据表。
在一些实施例中,所述程序还包括移除指令,用于接收针对目标数据表的移除请求;获取所述移除请求中包含的数据表编号;将与所述数据表编号对应的目标数据表从数据库中移除。
在一些实施例中,所述数据库为MongoDB数据库。
本申请实施例还提供一种终端设备。所述终端设备可以是服务器、智能手机、电脑、平板电脑等设备。
请参阅图4,图4示出了本申请实施例提供的终端设备的结构示意图,该终端设备可以用于实施上述实施例中提供的数据存储方法。该终端设备1200可以为智能手机或平板电脑。
如图4所示,终端设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图4中示出的终端设备1200结构并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。
存储器120可用于存储软件程序以及模块,如上述实施例中数据存储方法对应的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据存储,可以根据终端设备所处的当前场景来自动选择振动提醒模式来进行数据更新,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了终端设备的智能性。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至终端设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触控显示屏或者触控板,可收集用户在其上或附近的触控操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触控检测装置和触控控制器两个部分。其中,触控检测装置检测用户的触控方位,并检测触控操作带来的信号,将信号传送给触控控制器;触控控制器从触控检测装置上接收触控信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触控操作后,传送给处理器180以确定触控事件的类型,随后处理器180根据触控事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1200的通信。
终端设备1200通过传输模块170(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了传输模块170,但是可以理解的是,其并不属于终端设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备1200还包括给各个部件供电的电源190,在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备1200的显示单元140是触控屏显示器,终端设备1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序包含用于进行以下操作的指令:
数据监听指令,用于监听命中预设规则的目标业务数据;
数据判断指令,用于判断所述目标业务数据是否在预设时间段内首次产生;
数据确定指令,用于将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
数据获取指令,用于获取所述待写入数据携带的业务方标签;
数据查找指令,用于根据所述业务方标签查找对应的数据库地址;
数据写入指令,用于根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
在一些实施例中,所述数据写入指令,用于将所述待写入数据推送至RocketMQ,由所述RocketMQ根据所述数据库地址,将所述待写入数据进行批量写入对应的目标数据库。
在一些实施例中,所述程序还包括二次写入指令,用于获取与所述待写入数据携带的业务方标签对应的数据表地址;根据所述数据表地址,将所述待写入数据写入所述目标数据库中对应的目标数据表。
在一些实施例中,每个所述数据库中包括至少两个数据表,所述至少两个数据表分别用于存储不同写入时间段的业务数据;所述二次写入指令,用于根据所述待写入数据写入时刻所属的时间段写入对应的目标数据表。
在一些实施例中,所述程序还包括移除指令,用于接收针对目标数据表的移除请求;获取所述移除请求中包含的数据表编号;将与所述数据表编号对应的目标数据表从数据库中移除。
在一些实施例中,所述数据库为MongoDB数据库。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的数据存储方法:
监听命中预设规则的目标业务数据;
判断所述目标业务数据是否在预设时间段内首次产生;
将首次产生的目标业务数据或非首次产生且距离当前时刻最近的目标业务数据作为待写入数据;
获取所述待写入数据携带的业务方标签;
根据所述业务方标签查找对应的数据库地址;
根据所述数据库地址,将所述待写入数据写入对应的目标数据库。
需要说明的是,对本申请所述数据存储方法而言,本领域普通测试人员可以理解实现本申请实施例所述数据存储方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在终端设备的存储器中,并被该终端设备内的至少一个处理器执行,在执行过程中可包括如所述数据存储方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,ReadOnly Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述数据存储装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的数据存储方法、装置、介质及设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
- 一种数据存储方法、调度装置、系统、设备及存储介质
- 一种元数据存储方法、装置、设备及计算机可读存储介质
- 一种即时通信的数据存储方法、装置、电子设备和介质
- 多版本数据存储管理方法及装置、电子设备、存储介质
- 海量数据存储方法、装置、存储介质及电子设备
- 具有链接区的数据存储介质和将数据记录在该数据存储介质上或从该数据存储介质再现数据的设备和方法
- 制造光学数据存储介质的方法、光学数据存储介质和执行所述方法的设备