CN113704262A - 一种业务数据存储方法、装置、设备及可读存储介质 - Google Patents

一种业务数据存储方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113704262A
CN113704262A CN202110996139.6A CN202110996139A CN113704262A CN 113704262 A CN113704262 A CN 113704262A CN 202110996139 A CN202110996139 A CN 202110996139A CN 113704262 A CN113704262 A CN 113704262A
Authority
CN
China
Prior art keywords
dimension object
target
dimension
binary
value
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.)
Granted
Application number
CN202110996139.6A
Other languages
English (en)
Other versions
CN113704262B (zh
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.)
Shenzhen Lutong Network Technology Co ltd
Original Assignee
Shenzhen Lutong Network Technology 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 Shenzhen Lutong Network Technology Co ltd filed Critical Shenzhen Lutong Network Technology Co ltd
Priority to CN202110996139.6A priority Critical patent/CN113704262B/zh
Publication of CN113704262A publication Critical patent/CN113704262A/zh
Application granted granted Critical
Publication of CN113704262B publication Critical patent/CN113704262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2291User-Defined Types; Storage management thereof
    • 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/2282Tablespace storage structures; Management thereof
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种业务数据存储方法,包括:当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建;利用二进制数值对创建得到的各维度对象进行层级标记;获取目标业务数据包含的各业务指标;分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组;获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象;结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。本发明实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率。本发明还公开了一种装置、设备及存储介质,具有相应技术效果。

Description

一种业务数据存储方法、装置、设备及可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种业务数据存储方法、装置、设备及计算机可读存储介质。
背景技术
现有的业务数据统计存储方案大都是通过代码层面实现,通过用于访问数据库的JDBC(Java Database Connectivity)连接在代码内拼接SQL(Structured QueryLanguage)调用执行方法进行数据计算。其实现方案步骤可概括为:首先,依据业务需要设计统计维度SQL,然后进行编码拼接相关语句;其次,通过JDBC连接数据库,调用方法到数据中执行SQL;再者,得到相关统计计算的结果,提交保存到数据库表中;最后,当用户查询时,根据维度拼接查询条件,再到数据库执行sql获取相应数据。
但是现有的业务数据统计存储方案是纯代码层面的数据统计,sql语句在代码中拼接,各个维度需逐层判断,代码复杂度高,易出漏洞(bug)。并且因为是JDBC连接调用数据库进行数据交互,当数据量较大或多线程时,卡顿明显,反应速度慢,数据存储效率低,甚至锁表锁库。
综上所述,如何有效地解决现有的业务数据存储方案代码复杂度高,数据存储效率低,易发生锁表锁库等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种业务数据存储方法,该方法实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率,降低了锁表锁库的概率;本发明的另一目的是提供一种业务数据存储装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种业务数据存储方法,包括:
当接收到待存储的目标业务数据时,对所述目标业务数据进行维度对象创建;
利用二进制数值对创建得到的各维度对象进行层级标记;其中,所述二进制数值为除最高位为1之外其余位均为0的二进制数值;
获取所述目标业务数据包含的各业务指标;
分别针对各所述业务指标对各所述维度对象进行组合注册,得到各维度对象组;
获取各所述维度对象组分别对应的二进制组合值,并根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象;其中,所述二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;
结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作。
在本发明的一种具体实施方式中,根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象,包括:
对每个所述二进制组合值分别与各所述维度对象对应的二进制数值进行按位与计算,得到各按位与结果值;
将各非零的按位与结果值分别对应的维度对象确定为所述维度对象组包含的各目标维度对象。
在本发明的一种具体实施方式中,分别针对各所述业务指标对各所述维度对象进行组合注册,包括:
获取所述目标业务数据对应的各预设业务模式;
根据各所述预设业务模式分别针对各所述业务指标对各所述维度对象进行组合注册。
在本发明的一种具体实施方式中,结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作,包括:
结合各所述二进制组合值和各所述目标维度对象将所述目标业务数据存储至预设数据库统计表中。
在本发明的一种具体实施方式中,在对所述目标业务数据进行维度对象创建之后,还包括:
对接收到的维度对象拓展请求进行解析,得到待拓展维度对象;
将所述待拓展维度对象添加至所述目标业务数据对应的原维度对象集中。
在本发明的一种具体实施方式中,在结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作之后,还包括:
对接收到的业务数据查询请求进行解析,得到由所述二进制组合值和/或各所述目标维度对象构成的数据查询条件;
按照所述数据查询条件进行业务数据查询操作。
在本发明的一种具体实施方式中,按照所述数据查询条件进行业务数据查询操作,包括:
判断是否存在与所述数据查询条件中包含的所述二进制组合值和/或各所述目标维度对象相匹配的预存业务数据;
若是,则将匹配成功的预存业务数据确定为目标业务数据。
一种业务数据存储装置,包括:
维度对象创建模块,用于当接收到待存储的目标业务数据时,对所述目标业务数据进行维度对象创建;
层级标记模块,用于利用二进制数值对创建得到的各维度对象进行层级标记;其中,所述二进制数值为除最高位为1之外其余位均为0的二进制数值;
业务指标获取模块,用于获取所述目标业务数据包含的各业务指标;
组合注册模块,用于分别针对各所述业务指标对各所述维度对象进行组合注册,得到各维度对象组;
组合值及维度对象确定模块,用于获取各所述维度对象组分别对应的二进制组合值,并根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象;其中,所述二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;
数据存储模块,用于结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作。
一种业务数据存储设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述业务数据存储方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述业务数据存储方法的步骤。
本发明所提供的业务数据存储方法,当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建;利用二进制数值对创建得到的各维度对象进行层级标记;其中,二进制数值为除最高位为1之外其余位均为0的二进制数值;获取目标业务数据包含的各业务指标;分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组;获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象;其中,二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。
由上述技术方案可知,通过为待存储的目标业务数据创建维度对象,并为创建得到的各维度对象分配二进制数值进行层级标记,对各维度对象进行组合注册,从而得到由多个维度对象构成的各维度对象组,通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到各维度对象组分别对应的二进制组合值,根据各二进制组合值确定各维度对象组分别包含的各目标维度对象,结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。通过利用二进制标记进行维度对象分层,利用维度对象组合进行业务数据存储,实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率,降低了锁表锁库的概率。
相应的,本发明还提供了与上述业务数据存储方法相对应的业务数据存储装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中业务数据存储方法的一种实施流程图;
图2为本发明实施例中业务数据存储方法的另一种实施流程图;
图3为本发明实施例中一种业务数据存储装置的结构框图;
图4为本发明实施例中一种业务数据存储设备的结构框图;
图5为本实施例提供的一种业务数据存储设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中业务数据存储方法的一种实施流程图,该方法可以包括以下步骤:
S101:当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建。
当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建。可以根据目标业务数据所属的领域进行维度对象创建,如在交互式网络电视(iptv)领域,可能涉及的维度对象可以包含页面、省份、地市、运营商、版本、平台、渠道、入口等。
S102:利用二进制数值对创建得到的各维度对象进行层级标记。
其中,二进制数值为除最高位为1之外其余位均为0的二进制数值。
在为目标业务数据创建得到各维度对象之后,利用除最高位为1之外其余位均为0的二进制数值对创建得到的各维度对象进行层级标记,选取2的n次方对创建得到的各维度对象进行标记,n为非负整数。即利用(1)2^0、(2)2^1、(4)2^2、(8)2^3、(16)2^4、(32)2^5、(64)2^6、(128)2^7、(256)2^8等,对创建得到的各维度对象进行层级标记。承接上述举例,如表1所示,表1为iptv领域中对各维度对象进行层级标记得到的维度对象标记表。
表1
Figure BDA0003233889540000061
S103:获取目标业务数据包含的各业务指标。
在利用二进制数值对创建得到的各维度对象进行层级标记之后,获取目标业务数据包含的各业务指标。各业务指标可以包括访问用户数、访问时长等指标。
S104:分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组。
在获取目标业务数据包含的各业务指标之后,分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组。如可以针对访问用户数对页面、省份两个维度对象进行组合,得到由页面和省份构成的维度对象组。
S105:获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象。
其中,二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到。
在分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组之后,对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到各维度对象组分别对应的二进制组合值。获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象。如对各目标维度对象分别对应的二进制数值进行累加计算得到的各二进制组合值可以包括:2+4=6、4+8=12、4+8+16=28、4+8+16+32=60、4+8+16+32+64=124等,由于每个维度对象对应的二进制数值为除最高位为1之外其余位均为0的二进制数值,因此二进制组合值对应的各二进位分别对应一个维度对象,若某维度对象对应的二进制位为1,则说明该二进制组合值对应的维度对象组包含该维度对象,若某维度对象对应的二进制位为0,则说明该二进制组合值对应的维度对象组不包含该维度对象。
S106:结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。
在根据各二进制组合值确定出各维度对象组分别包含的各目标维度对象之后,结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。承接上述举例,当确定二进制组合值为6,维度对象组包含的各目标维度对象为页面和省份时,针对访问用户数这一指标,进行特定页面各省份分别对应的访问用户数的存储操作。存储内容包含二进制组合值6、页面和省份两个目标维度对象、特定页面各省份分别对应的访问用户数,从而当后续需要对某页面各身份分别对应的访问用户数进行查询时,可以直接根据二进制组合值6或者页面和省份两个目标维度对象进行查询。
通过利用二进制标记进行维度对象分层,利用维度对象组合进行业务数据存储,实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率,降低了锁表锁库的概率。
由上述技术方案可知,通过为待存储的目标业务数据创建维度对象,并为创建得到的各维度对象分配二进制数值进行层级标记,对各维度对象进行组合注册,从而得到由多个维度对象构成的各维度对象组,通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到各维度对象组分别对应的二进制组合值,根据各二进制组合值确定各维度对象组分别包含的各目标维度对象,结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。通过利用二进制标记进行维度对象分层,利用维度对象组合进行业务数据存储,实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率,降低了锁表锁库的概率。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中业务数据存储方法的另一种实施流程图,该方法可以包括以下步骤:
S201:当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建。
在本发明的一种具体实施方式中,在对目标业务数据进行维度对象创建之后,该方法还可以包括以下步骤:
步骤一:对接收到的维度对象拓展请求进行解析,得到待拓展维度对象;
步骤二:将待拓展维度对象添加至目标业务数据对应的原维度对象集中。
为方便描述,可以将上述两个步骤结合起来进行说明。
当需要对维度对象进行拓展时,生成维度对象拓展请求,维度对象拓展请求中包含待拓展维度对象。对接收到的维度对象拓展请求进行解析,得到待拓展维度对象,将待拓展维度对象添加至目标业务数据对应的原维度对象集中,原维度对象集即为由先前创建的各维度对象构成的维度对象集。从而实现了维度对象的动态拓展。
S202:利用二进制数值对创建得到的各维度对象进行层级标记。
其中,二进制数值为除最高位为1之外其余位均为0的二进制数值;
S203:获取目标业务数据包含的各业务指标。
S204:获取目标业务数据对应的各预设业务模式。
预先设置目标业务数据包含的业务模式,获取目标业务数据对应的各预设业务模式。如在iptv领域,可以针对页面的用户访问数这一业务指标设置省份、地市两种业务模式下的统计存储方案。
S205:根据各预设业务模式分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组。
在获取到目标业务数据对应的各预设业务模式之后,根据各预设业务模式分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组。承接步骤S205中的举例,根据页面的用户访问数这一业务指标设置的省份、地市两种业务模式,对页面和省份两个对象维度进行组合,得到包含页面和省份的维度对象组,并对页面和地市两个对象维度进行组合,得到包含页面和地市的维度对象组。
S206:获取各维度对象组分别对应的二进制组合值,并对每个二进制组合值分别与各维度对象对应的二进制数值进行按位与计算,得到各按位与结果值。
其中,二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到。
在组合注册得到各维度对象组之后,获取各维度对象组分别对应的二进制组合值,并对每个二进制组合值分别与各维度对象对应的二进制数值进行按位与计算,得到各按位与结果值。由于维度对象层级标记数值的相对特殊性,维度对象组对应的二进制组合值与维度对象组中各维度对象的二进制数值按位与运算的结果值为该维度对象的二进制数值本身,按位与计算规则为:1&1=1、1&0=0、0&1=0、0&0=0,如:6&4=4、6&2=2、28&4=4、28&8=8、28&16=16等等。如表2所示,表2为按位与计算表。
表2
Figure BDA0003233889540000091
Figure BDA0003233889540000101
S207:将各非零的按位与结果值分别对应的维度对象确定为维度对象组包含的各目标维度对象。
在得到各按位与结果值之后,对于非零的按位与结果值,说明存在该非零的按位与结果值对应的维度对象,从而将各非零的按位与结果值分别对应的维度对象确定为维度对象组包含的各目标维度对象。
通过选取2的n次方对创建得到的各维度对象进行标记,利用了其特殊性,巧妙的实现了累加和按位与向下计算等于其本身的逻辑,实现了对维度对象组包含的各目标维度对象的快速识别。
S208:结合各二进制组合值和各目标维度对象将目标业务数据存储至预设数据库统计表中。
在确定出各维度对象组分别包含的各目标维度对象之后,结合各二进制组合值和各目标维度对象将目标业务数据存储至预设数据库统计表中。通过预先设计数据库统计表,存储各目标维度对象和对应的二进制组合值,形成前后关联,实现计算与查询闭环。
S209:对接收到的业务数据查询请求进行解析,得到由二进制组合值和/或各目标维度对象构成的数据查询条件。
当需要对预先存储的业务数据进行查询时,生成业务数据查询请求,业务数据查询请求中包含由二进制组合值和/或各目标维度对象构成的数据查询条件,如仅包含二进制组合值,仅包含各目标维度对象,或者既包含二进制组合值、也包含各目标维度对象。在接收到业务数据查询请求之后,通过对接收到的业务数据查询请求进行解析,得到由二进制组合值和/或各目标维度对象构成的数据查询条件。
S210:按照数据查询条件进行业务数据查询操作。
在解析得到由二进制组合值和/或各目标维度对象构成的数据查询条件之后,按照数据查询条件进行业务数据查询操作,从而匹配是否预存有满足相应查询条件的业务数据。
假设数据查询条件从省份(4)、运营商(16)、版本(32)三个维度中选定,数据统计结果将按周期(日/周/月)对相应指标的业务数据进行逐条存储。如表2所示,表3为一种业务数据记录表。
表3
Figure BDA0003233889540000111
以表3的第三行为例,表示针对指标编号为STTN1001的指标,在2021年8月8日,省份标识号为440000的省份范围内的指标数值为1896061。从而用户通过在后台可视化界面选择对应维度条件,即可查询数据,简单快速。
对指标设置可以包括访问量、访问用户、点播量、有效点播量、访问时长、点播时长、订购转化率等。
在本发明的一种具体实施方式中,步骤S210可以包括以下步骤:
步骤一:判断是否存在与数据查询条件中包含的二进制组合值和/或各目标维度对象相匹配的预存业务数据,若是,则执行步骤二,若否,则执行步骤三;
步骤二:将匹配成功的预存业务数据确定为目标业务数据;
步骤三:输出业务数据查询失败提示信息。
为方便描述,可以将上述三个步骤结合起来进行说明。
在解析得到由二进制组合值和/或各目标维度对象构成的数据查询条件之后,判断是否存在与数据查询条件中包含的二进制组合值和/或各目标维度对象相匹配的预存业务数据,若是,则说明数据查询条件有效,将匹配成功的预存业务数据确定为目标业务数据,若否,则数据查询条件无效,输出业务数据查询失败提示信息。
相应于上面的方法实施例,本发明还提供了一种业务数据存储装置,下文描述的业务数据存储装置与上文描述的业务数据存储方法可相互对应参照。
参见图3,图3为本发明实施例中一种业务数据存储装置的结构框图,该装置可以包括:
维度对象创建模块31,用于当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建;
层级标记模块32,用于利用二进制数值对创建得到的各维度对象进行层级标记;其中,二进制数值为除最高位为1之外其余位均为0的二进制数值;
业务指标获取模块33,用于获取目标业务数据包含的各业务指标;
组合注册模块34,用于分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组;
组合值及维度对象确定模块35,用于获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象;其中,二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;
数据存储模块36,用于结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。
由上述技术方案可知,通过为待存储的目标业务数据创建维度对象,并为创建得到的各维度对象分配二进制数值进行层级标记,对各维度对象进行组合注册,从而得到由多个维度对象构成的各维度对象组,通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到各维度对象组分别对应的二进制组合值,根据各二进制组合值确定各维度对象组分别包含的各目标维度对象,结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。通过利用二进制标记进行维度对象分层,利用维度对象组合进行业务数据存储,实现了将代码与数据统计存储的解耦分离,降低了代码复杂度,提高了数据存储效率,降低了锁表锁库的概率。
在本发明的一种具体实施方式中,组合值及维度对象确定模块35包括:
按位与计算子模块,用于对每个二进制组合值分别与各维度对象对应的二进制数值进行按位与计算,得到各按位与结果值;
维度对象确定子模块,用于将各非零的按位与结果值分别对应的维度对象确定为维度对象组包含的各目标维度对象。
在本发明的一种具体实施方式中,组合注册模块34包括:
业务模式获取子模块,用于获取目标业务数据对应的各预设业务模式;
组合注册子模块,用于根据各预设业务模式分别针对各业务指标对各维度对象进行组合注册。
在本发明的一种具体实施方式中,数据存储模块36具体为结合各二进制组合值和各目标维度对象将目标业务数据存储至预设数据库统计表中的模块。
在本发明的一种具体实施方式中,该装置还可以包括:
拓展请求解析模块,用于在对目标业务数据进行维度对象创建之后,对接收到的维度对象拓展请求进行解析,得到待拓展维度对象;
维度对象添加模块,用于将待拓展维度对象添加至目标业务数据对应的原维度对象集中。
在本发明的一种具体实施方式中,该装置还可以包括:
查询条件获得模块,用于在结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作之后,对接收到的业务数据查询请求进行解析,得到由二进制组合值和/或各目标维度对象构成的数据查询条件;
数据查询模块,用于按照数据查询条件进行业务数据查询操作。
在本发明的一种具体实施方式中,数据查询模块包括:
判断子模块,用于判断是否存在与数据查询条件中包含的二进制组合值和/或各目标维度对象相匹配的预存业务数据;
业务数据确定子模块,用于当确定存在与数据查询条件中包含的二进制组合值和/或各目标维度对象相匹配的预存业务数据时,将匹配成功的预存业务数据确定为目标业务数据。
相应于上面的方法实施例,参见图4,图4为本发明所提供的业务数据存储设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的业务数据存储方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种业务数据存储设备的具体结构示意图,该业务数据存储设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在业务数据存储设备301上执行存储器332中的一系列指令操作。
业务数据存储设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的业务数据存储方法中的步骤可以由业务数据存储设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
当接收到待存储的目标业务数据时,对目标业务数据进行维度对象创建;利用二进制数值对创建得到的各维度对象进行层级标记;其中,二进制数值为除最高位为1之外其余位均为0的二进制数值;获取目标业务数据包含的各业务指标;分别针对各业务指标对各维度对象进行组合注册,得到各维度对象组;获取各维度对象组分别对应的二进制组合值,并根据各二进制组合值确定各维度对象组分别包含的各目标维度对象;其中,二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;结合各二进制组合值和各目标维度对象对目标业务数据进行存储操作。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种业务数据存储方法,其特征在于,包括:
当接收到待存储的目标业务数据时,对所述目标业务数据进行维度对象创建;
利用二进制数值对创建得到的各维度对象进行层级标记;其中,所述二进制数值为除最高位为1之外其余位均为0的二进制数值;
获取所述目标业务数据包含的各业务指标;
分别针对各所述业务指标对各所述维度对象进行组合注册,得到各维度对象组;
获取各所述维度对象组分别对应的二进制组合值,并根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象;其中,所述二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;
结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作。
2.根据权利要求1所述的业务数据存储方法,其特征在于,根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象,包括:
对每个所述二进制组合值分别与各所述维度对象对应的二进制数值进行按位与计算,得到各按位与结果值;
将各非零的按位与结果值分别对应的维度对象确定为所述维度对象组包含的各目标维度对象。
3.根据权利要求1所述的业务数据存储方法,其特征在于,分别针对各所述业务指标对各所述维度对象进行组合注册,包括:
获取所述目标业务数据对应的各预设业务模式;
根据各所述预设业务模式分别针对各所述业务指标对各所述维度对象进行组合注册。
4.根据权利要求1所述的业务数据存储方法,其特征在于,结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作,包括:
结合各所述二进制组合值和各所述目标维度对象将所述目标业务数据存储至预设数据库统计表中。
5.根据权利要求1所述的业务数据存储方法,其特征在于,在对所述目标业务数据进行维度对象创建之后,还包括:
对接收到的维度对象拓展请求进行解析,得到待拓展维度对象;
将所述待拓展维度对象添加至所述目标业务数据对应的原维度对象集中。
6.根据权利要求1至5任一项所述的业务数据存储方法,其特征在于,在结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作之后,还包括:
对接收到的业务数据查询请求进行解析,得到由所述二进制组合值和/或各所述目标维度对象构成的数据查询条件;
按照所述数据查询条件进行业务数据查询操作。
7.根据权利要求6所述的业务数据存储方法,其特征在于,按照所述数据查询条件进行业务数据查询操作,包括:
判断是否存在与所述数据查询条件中包含的所述二进制组合值和/或各所述目标维度对象相匹配的预存业务数据;
若是,则将匹配成功的预存业务数据确定为目标业务数据。
8.一种业务数据存储装置,其特征在于,包括:
维度对象创建模块,用于当接收到待存储的目标业务数据时,对所述目标业务数据进行维度对象创建;
层级标记模块,用于利用二进制数值对创建得到的各维度对象进行层级标记;其中,所述二进制数值为除最高位为1之外其余位均为0的二进制数值;
业务指标获取模块,用于获取所述目标业务数据包含的各业务指标;
组合注册模块,用于分别针对各所述业务指标对各所述维度对象进行组合注册,得到各维度对象组;
组合值及维度对象确定模块,用于获取各所述维度对象组分别对应的二进制组合值,并根据各所述二进制组合值确定各所述维度对象组分别包含的各目标维度对象;其中,所述二进制组合值为通过对维度对象组中包含的各目标维度对象分别对应的二进制数值进行累加计算得到;
数据存储模块,用于结合各所述二进制组合值和各所述目标维度对象对所述目标业务数据进行存储操作。
9.一种业务数据存储设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述业务数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述业务数据存储方法的步骤。
CN202110996139.6A 2021-08-27 2021-08-27 一种业务数据存储方法、装置、设备及可读存储介质 Active CN113704262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110996139.6A CN113704262B (zh) 2021-08-27 2021-08-27 一种业务数据存储方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110996139.6A CN113704262B (zh) 2021-08-27 2021-08-27 一种业务数据存储方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113704262A true CN113704262A (zh) 2021-11-26
CN113704262B CN113704262B (zh) 2022-11-15

Family

ID=78656040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110996139.6A Active CN113704262B (zh) 2021-08-27 2021-08-27 一种业务数据存储方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113704262B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006370A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Advanced techniques for sql generation of performancepoint business rules
CN106407207A (zh) * 2015-07-29 2017-02-15 阿里巴巴集团控股有限公司 一种实时新增数据更新方法和装置
CN110427438A (zh) * 2019-07-30 2019-11-08 中国工商银行股份有限公司 数据处理方法及其装置、电子设备和介质
CN112001382A (zh) * 2020-09-22 2020-11-27 北京零态空间数码科技有限公司 身份识别系统及方法
CN112765163A (zh) * 2020-12-31 2021-05-07 蔚来汽车科技(安徽)有限公司 一种可任意扩展维度的数据指标存储方法、系统及装置
CN113126953A (zh) * 2019-12-30 2021-07-16 三星电子株式会社 针对浮点处理的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006370A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Advanced techniques for sql generation of performancepoint business rules
CN106407207A (zh) * 2015-07-29 2017-02-15 阿里巴巴集团控股有限公司 一种实时新增数据更新方法和装置
CN110427438A (zh) * 2019-07-30 2019-11-08 中国工商银行股份有限公司 数据处理方法及其装置、电子设备和介质
CN113126953A (zh) * 2019-12-30 2021-07-16 三星电子株式会社 针对浮点处理的方法和装置
CN112001382A (zh) * 2020-09-22 2020-11-27 北京零态空间数码科技有限公司 身份识别系统及方法
CN112765163A (zh) * 2020-12-31 2021-05-07 蔚来汽车科技(安徽)有限公司 一种可任意扩展维度的数据指标存储方法、系统及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张崇: "基于GIS的农产品指标数据库表结构设计研究", 《计算机工程与设计》 *

Also Published As

Publication number Publication date
CN113704262B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
CN110222236B (zh) Xml报文模板的生成及更新方法及其系统
CN107038207B (zh) 一种数据查询方法、数据处理方法及装置
CN110795455B (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
CN112685433B (zh) 元数据更新方法、装置、电子设备及计算机可读存储介质
CN111414378B (zh) 一种基于GraphQL的类元数据框架
KR20030031283A (ko) 객체관계형 데이터베이스 관리 시스템 및 그것의 클래스인스턴스 삭제 방법
CN113704262B (zh) 一种业务数据存储方法、装置、设备及可读存储介质
CN112182021B (zh) 一种用户数据查询方法、装置和系统
CN116303628B (zh) 基于Elasticsearch的告警数据查询方法、系统及设备
CN115357286B (zh) 一种程序文件对比方法、装置、电子设备及存储介质
CN116775488A (zh) 异常数据确定方法、装置、设备、介质及产品
CN115168310A (zh) 一种ldap系统中的日志管理方法、设备、介质及系统
CN110569243B (zh) 一种数据查询方法、数据查询插件和数据查询服务器
CN114490651A (zh) 数据存储方法及装置
CN114238391A (zh) 数据分页查询方法、装置、电子设备及存储介质
CN114547050A (zh) 批处理内容判重方法、系统、装置、终端设备及存储介质
CN114510605A (zh) 数据存储方法、装置、电子设备及存储介质
WO2010007597A1 (en) Apparatus and method for searching information
CN115396395B (zh) 确定ip地址的地理位置的方法及装置
US7962473B2 (en) Methods and apparatus for performing structural joins for answering containment queries
CN114072799A (zh) Node.js组件漏洞检测方法及系统
CN110689133A (zh) 一种训练机器学习引擎的方法、系统及相关装置
CN113742758B (zh) 基于中台的数据集权限管控方法、系统及存储介质
CN114692208B (zh) 一种数据查询服务权限的处理方法
CN115454354B (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
GR01 Patent grant
GR01 Patent grant