CN110825731B - 数据存储方法、装置、电子设备及存储介质 - Google Patents

数据存储方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110825731B
CN110825731B CN201910881337.0A CN201910881337A CN110825731B CN 110825731 B CN110825731 B CN 110825731B CN 201910881337 A CN201910881337 A CN 201910881337A CN 110825731 B CN110825731 B CN 110825731B
Authority
CN
China
Prior art keywords
data
target
buried point
stored
buried
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
Application number
CN201910881337.0A
Other languages
English (en)
Other versions
CN110825731A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910881337.0A priority Critical patent/CN110825731B/zh
Priority to PCT/CN2019/118140 priority patent/WO2021051589A1/zh
Publication of CN110825731A publication Critical patent/CN110825731A/zh
Application granted granted Critical
Publication of CN110825731B publication Critical patent/CN110825731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据存储方法、装置、电子设备及存储介质。所述数据存储方法能够当接收到埋点数据时,将所述埋点数据写入消息队列,实现对数据的临时存储,避免影响***正常运行的速度,并从所述消息队列中获取预设类型的目标埋点数据,从而实现对数据的二次筛选,避免数据的冗余,进一步对所述目标埋点数据进行解析,生成数据表,并将所述数据表存储在配置数据库中,从而实现对关系型数据的异步存储,避免造成***运行压力,对数据进行处理,有效提高***的运行性能,且由于存储的数据中各个数据间的关系更加明确,因此便于后续数据的使用。

Description

数据存储方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据存储方法、装置、电子设备及存储介质。
背景技术
现有技术方案中,业内多数产品的数据存储粒度较粗,只是简单的将数据混合在一起,而当用户想要从存储的数据中查找需要的数据时,不仅要在所有数据中进行查找,且由于数据间的关系混乱,将导致很难查找到需要的数据,不利于数据报表的产出和数据分析。
而如果在获取到数据的同时将数据直接存储在正在使用的服务器中,虽然能够解决数据存储粒度较粗的问题,但由于存储过程所占用的内存较高,将导致服务器运行缓慢,影响其他数据的正常执行。
因此,目前还无法在不影响服务器正常运行的情况下,解决数据存储粒度较粗的问题。
发明内容
鉴于以上内容,有必要提供一种数据存储方法、装置、电子设备及存储介质,能够实现对关系型数据的异步存储,避免造成***运行压力,有效提高***的运行性能。
一种数据存储方法,所述方法包括:
当接收到埋点数据时,将所述埋点数据写入消息队列;
从所述消息队列中获取预设类型的目标埋点数据;
对所述目标埋点数据进行解析,生成数据表;
将所述数据表存储在配置数据库中。
根据本发明优选实施例,所述方法还包括:
当检测到登陆信号时,获取所有数据操作类型;
显示所述所有数据操作类型;
当接收到对所述所有数据操作类型中任意操作类型的选择信号时,获取选择的第一操作类型对应的第一数据;
将所述第一数据确定为所述埋点数据。
根据本发明优选实施例,当接收到埋点数据时,所述方法还包括:
调用配置接口;
通过所述配置接口连接到配置服务器;
将所述埋点数据发送至所述配置服务器。
根据本发明优选实施例,所述从所述消息队列中获取预设类型的目标埋点数据包括以下一种或者多种方式的组合:
显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,获取选择的所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;及/或
确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据。
根据本发明优选实施例,所述对所述目标埋点数据进行解析,生成数据表包括:
连接至少一个服务器,以所述至少一个服务器对所述目标埋点数据进行解析,生成数据表。
根据本发明优选实施例,所述对所述目标埋点数据进行解析,生成数据表还包括:
采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系;
基于所述目标埋点数据中各个数据间的关系建立所述数据表。
根据本发明优选实施例,在将所述数据表存储在配置数据库中时,所述方法还包括:
检测除所述数据表之外的其他待存储数据;
当检测到有其他待存储数据时,将所述其他待存储数据及所述数据表同时存储在所述配置数据库中。
一种数据存储装置,所述装置包括:
写入单元,用于当接收到埋点数据时,将所述埋点数据写入消息队列;
获取单元,用于从所述消息队列中获取预设类型的目标埋点数据;
生成单元,用于对所述目标埋点数据进行解析,生成数据表;
存储单元,用于将所述数据表存储在配置数据库中。
根据本发明优选实施例,所述获取单元,还用于当检测到登陆信号时,获取所有数据操作类型;
所述装置还包括:
显示单元,用于显示所述所有数据操作类型;
所述获取单元,还用于当接收到对所述所有数据操作类型中任意操作类型的选择信号时,获取选择的第一操作类型对应的第一数据;
确定单元,用于将所述第一数据确定为所述埋点数据。
根据本发明优选实施例,所述装置还包括:
调用单元,用于当接收到埋点数据时,调用配置接口;
所述调用单元,还用于通过所述配置接口连接到配置服务器;
发送单元,用于将所述埋点数据发送至所述配置服务器。
根据本发明优选实施例,所述获取单元从所述消息队列中获取预设类型的目标埋点数据包括以下一种或者多种方式的组合:
显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,获取选择的所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;及/或
确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据。
根据本发明优选实施例,所述生成单元具体用于:
连接至少一个服务器,以所述至少一个服务器对所述目标埋点数据进行解析,生成数据表。
根据本发明优选实施例,所述生成单元具体还用于:
采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系;
基于所述目标埋点数据中各个数据间的关系建立所述数据表。
根据本发明优选实施例,所述装置还包括:
检测单元,用于在将所述数据表存储在配置数据库中时,检测除所述数据表之外的其他待存储数据;
所述存储单元,还用于当检测到有其他待存储数据时,将所述其他待存储数据及所述数据表同时存储在所述配置数据库中。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述数据存储方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述数据存储方法。
由以上技术方案可以看出,本发明能够当接收到埋点数据时,将所述埋点数据写入消息队列,实现对数据的临时存储,避免影响***正常运行的速度,并从所述消息队列中获取预设类型的目标埋点数据,从而实现对数据的二次筛选,避免数据的冗余,进一步对所述目标埋点数据进行解析,生成数据表,并将所述数据表存储在配置数据库中,从而实现对关系型数据的异步存储,避免造成***运行压力,有效提高***的运行性能,且由于存储的数据中各个数据间的关系更加明确,因此便于后续数据的使用。
附图说明
图1是本发明数据存储方法的较佳实施例的流程图。
图2是本发明数据存储装置的较佳实施例的功能模块图。
图3是本发明实现数据存储方法的较佳实施例的电子设备的结构示意图。
主要元件符号说明
电子设备 1
存储器 12
处理器 13
数据存储装置 11
写入单元 110
获取单元 111
生成单元 112
存储单元 113
显示单元 114
确定单元 115
调用单元 116
发送单元 117
检测单元 118
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明数据存储方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述数据存储方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当接收到埋点数据时,将所述埋点数据写入消息队列。
在本发明的至少一个实施例中,埋点是指针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。埋点是为了统计分析的需要,对用户行为的每一个事件进行埋点布置,并对这些数据结果进行分析,进一步优化产品或指导运营。
在本发明的至少一个实施例中,所述埋点数据则是指在上述过程中所产生的数据。
因此,所述埋点数据是针对指定的操作行为产生的,即所述埋点数据对应于至少一种约定的数据操作类型。
在本发明的至少一个实施例中,所述方法还包括:
当检测到登陆信号时,所述电子设备获取所有数据操作类型,进一步地,所述电子设备显示所述所有数据操作类型,当接收到对所述所有数据操作类型中任意操作类型的选择信号时,所述电子设备获取选择的第一操作类型对应的第一数据,更进一步地,所述电子设备将所述第一数据确定为所述埋点数据。
例如:(1)当检测到在配置界面上有职位转发的操作时,由于职位转发操作属于被选择的所述第一操作类型,因此,所述电子设备将职位转发操作所产生的数据确定为所述埋点数据。
(2)当检测到在所述配置界面上有查看工作岗位的操作时,由于查看工作岗位操作属于被选择的所述第一操作类型,因此,所述电子设备将查看工作岗位操作所产生的数据确定为所述埋点数据。
其中所述配置界面可以包括,但不限于:求职界面、内推界面等,本发明不限制。
通过上述实施方式,能够根据实际业务需求确定所述埋点数据,避免多余的数据存储带来数据的冗余。
在本发明的至少一个实施例中,所述消息队列(Message Queue,MQ)是分布式***中重要的组件,主要解决应用解耦、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前使用较多的消息队列包括,但不限于:ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
通过消息队列,能够使程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来进行通信的,不仅可以实现对所述埋点数据的临时存储,还可以避免由于采用所述电子设备进行存储给其他数据的执行带来影响,也就是说,通过异步存储的处理方式,能够有效解决所述电子设备运行性能的问题。
在本发明的至少一个实施例中,当所述电子设备接收到埋点数据时,所述方法还包括:
所述电子设备调用配置接口,通过所述配置接口连接到配置服务器,将所述埋点数据发送至所述配置服务器。
具体地,所述配置接口用于调用所述配置服务器,本发明对所述配置接口的设计方式不作限制。
具体地,所述配置服务器是指进行前端埋点的服务器。
进一步地,当所述电子设备检测到在一个页面上有所述第一操作类型的操作时,所述电子设备获取所述第一操作类型对应的第一数据,所述电子设备直接将所述第一数据发送至所述配置服务器,而所述电子设备无需参与到数据传输的过程中,并且,所述第一数据是原始的数据,没有经过任何的数据处理,因此,实现的是对获取到的原始数据所进行的存储,属于粗粒度的数据存储过程。
其中,所述埋点数据的数据类型为JSON(JavaScript Object Notation,JS对象简谱)数据交换格式。
进一步地,所述JSON数据交换格式是一种轻量级的数据交换语言,并且,所述JSON数据交换格式采用完全独立于编程语言的文本格式来存储和表示数据。
通过上述实施方式,无需利用所述电子设备进行数据的存储,节约了所述电子设备的内存,且通过上述存储过程,能够实现全数据存储,虽然存储的数据不便于解析,但是存储的数据不仅能够作为备份,还能够用于其他操作的执行。
并且,通过上述实施方式,能够使存储的数据更加全面,有效避免数据丢失,同时不会影响***的运行性能。
S11,从所述消息队列中获取预设类型的目标埋点数据。
在本发明的至少一个实施例中,所述目标埋点数据是指根据实际需求确定的,并且在存储之前需要进行数据关系解析的数据。
也就是说,所述目标埋点数据是在所述消息队列中存储的所述预设类型的数据。
其中,所述预设类型可以根据实际业务需求,在数据存储前进行约定并标记,或者由用户进行确定,本发明不限制。
例如:对于职位转发操作类型的埋点数据,根据预先约定,将开发职位转发操作进行标记,作为所述预设类型的目标埋点数据。
在本发明的至少一个实施例中,所述目标埋点数据作为数据解析的基础数据,需要进一步从所述埋点数据中筛选确定。
在本发明的至少一个实施例中,所述电子设备从所述消息队列中获取预设类型的目标埋点数据包括以下一种或者多种方式的组合:
(1)所述电子设备显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,获取选择的所述预设类型对应的第二数据,进一步地,所述电子设备将所述第二数据确定为所述目标埋点数据。
(2)所述电子设备确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,进一步地,所述电子设备将所述第二数据确定为所述目标埋点数据。
例如:所述电子设备从所述第一操作类型的所有子操作类型中进一步获取到开发职位转发操作作为所述预设类型,所述电子设备获取所述开发职位转发操作所产生的第二数据,进一步地,所述电子设备将所述第二数据确定为所述目标埋点数据。
通过上述实施方式,所述电子设备能够对所述第一操作类型所对应的第一数据进行进一步筛选,进而得到的所述第二数据作为所述目标埋点数据。
可以理解的是,鉴于有些数据是对数据分析及查询等类型的操作没有实质意义的,因此可以直接跳过这些多余的数据,所述电子设备无需对所述埋点数据中的所有数据都进行解析,避免造成数据的冗余,给数据库的存储造成负担,也不利于后续数据的调用。
S12,对所述目标埋点数据进行解析,生成数据表。
在本发明的至少一个实施例中,所述数据表是一个二进制数据表格,在所述数据表中,列数据是固定的,而行数据则不同。
通过解析所述目标埋点数据,能够得到关系型数据,即所述数据表,由于数据间的关联性较高,且数据间的关系明确,因此能够便于执行数据的查询及数据的分析等操作,使数据查询及数据分析的结果更加准确,提高数据的可用性。
在本发明的至少一个实施例中,所述电子设备对所述目标埋点数据进行解析,生成数据表包括:
所述电子设备连接至少一个服务器,以所述至少一个服务器对所述目标埋点数据进行解析,生成数据表。
具体地,所述至少一个服务器是指与所述电子设备相通信的服务器。
通过上述实施方式,能够实现多个服务器对所述目标埋点数据的并行解析,且无需占用所述电子设备的内存,提高数据执行的效率,并有效保证所述电子设备中其他数据的执行不受影响。
当然,在其他实施方式中,鉴于资源的限制,如果没有足够的服务器作为支撑,所述电子设备也可以自行对所述目标埋点数据进行解析,只要能够实现在存储前的数据解析,本发明不限制。
具体地,所述电子设备对所述目标埋点数据进行解析,生成数据表还包括:
所述电子设备采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系,进一步地,所述电子设备基于所述目标埋点数据中各个数据间的关系建立所述数据表。
通过上述实施方式,能够生成所述数据表,所述数据表是一种关系型数据,以关系数学模型来表示,并且在关系数学模型中以二维表的形式来描述数据,进而能够在进行数据存储的同时,对存储的数据中各个数据间的关系进行明确,便于后续数据的使用。
S13,将所述数据表存储在配置数据库中。
在本发明的至少一个实施例中,所述数据表在所述配置数据库中进行细粒度的数据存储,属于后端埋点的数据存储过程。并且,由于进行的是异步存储,所述电子设备没有在一接收到数据时就执行,因此不会影响到此过程中其他数据的执行,避免造成***运行压力,有效提高***的运行性能。
在本发明的至少一个实施例中,所述配置数据库可以是任意数据库,本发明不限制。
当然,为了避免对所述电子设备的运行速度造成影响,所述配置数据库可以优选为与所述电子设备相通信的外部数据库,这样,无论所述配置数据库中的存储量有多大,都不会影响所述电子设备的运行。
在本发明的至少一个实施例中,在将所述数据表存储在配置数据库中时,所述方法还包括:
所述电子设备检测除所述数据表之外的其他待存储数据,当检测到有其他待存储数据时,将所述其他待存储数据及所述数据表同时存储在所述配置数据库中。
通过上述实施方式,不仅能够实现对所述数据表的异步存储,同时还能够实现对数据的批量存储,以提高数据存储的效率,有效避免数据堵塞的情况。
由以上技术方案可以看出,本发明能够当接收到埋点数据时,将所述埋点数据写入消息队列,实现对数据的临时存储,避免影响***正常运行的速度,并从所述消息队列中获取预设类型的目标埋点数据,从而实现对数据的二次筛选,避免数据的冗余,进一步对所述目标埋点数据进行解析,生成数据表,并将所述数据表存储在配置数据库中,从而实现对关系型数据的异步存储,避免造成***运行压力,有效提高***的运行性能,且由于存储的数据中各个数据间的关系更加明确,因此便于后续数据的使用。
如图2所示,是本发明数据存储装置的较佳实施例的功能模块图。所述数据存储装置11包括写入单元110、获取单元111、生成单元112、存储单元113、显示单元114、确定单元115、调用单元116、发送单元117以及检测单元118。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到埋点数据时,写入单元110将所述埋点数据写入消息队列。
在本发明的至少一个实施例中,埋点是指针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。埋点是为了统计分析的需要,对用户行为的每一个事件进行埋点布置,并对这些数据结果进行分析,进一步优化产品或指导运营。
在本发明的至少一个实施例中,所述埋点数据则是指在上述过程中所产生的数据。
因此,所述埋点数据是针对指定的操作行为产生的,即所述埋点数据对应于至少一种约定的数据操作类型。
在本发明的至少一个实施例中,所述方法还包括:
当检测到登陆信号时,获取单元111获取所有数据操作类型,进一步地,显示单元114显示所述所有数据操作类型,当接收到对所述所有数据操作类型中任意操作类型的选择信号时,所述获取单元111获取选择的第一操作类型对应的第一数据,更进一步地,确定单元115将所述第一数据确定为所述埋点数据。
例如:(1)当检测到在配置界面上有职位转发的操作时,由于职位转发操作属于被选择的所述第一操作类型,因此,所述确定单元115将职位转发操作所产生的数据确定为所述埋点数据。
(2)当检测到在所述配置界面上有查看工作岗位的操作时,由于查看工作岗位操作属于被选择的所述第一操作类型,因此,所述确定单元115将查看工作岗位操作所产生的数据确定为所述埋点数据。
其中所述配置界面可以包括,但不限于:求职界面、内推界面等,本发明不限制。
通过上述实施方式,能够根据实际业务需求确定所述埋点数据,避免多余的数据存储带来数据的冗余。
在本发明的至少一个实施例中,所述消息队列(Message Queue,MQ)是分布式***中重要的组件,主要解决应用解耦、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前使用较多的消息队列包括,但不限于:ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
通过消息队列,能够使程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来进行通信的,不仅可以实现对所述埋点数据的临时存储,还可以避免由于采用电子设备进行存储给其他数据的执行带来影响,也就是说,通过异步存储的处理方式,能够有效解决所述电子设备运行性能的问题。
在本发明的至少一个实施例中,当所述写入单元110接收到埋点数据时,所述方法还包括:
调用单元116调用配置接口,通过所述配置接口连接到配置服务器,进一步地,发送单元117将所述埋点数据发送至所述配置服务器。
具体地,所述配置接口用于调用所述配置服务器,本发明对所述配置接口的设计方式不作限制。
具体地,所述配置服务器是指进行前端埋点的服务器。
进一步地,即当检测单元118检测到在一个页面上有所述第一操作类型的操作时,所述获取单元111获取所述第一操作类型对应的第一数据,所述发送单元117直接将所述第一数据发送至所述配置服务器,而所述电子设备无需参与到数据传输的过程中,并且,所述第一数据是原始的数据,没有经过任何的数据处理,因此,实现的是对获取到的原始数据所进行的存储,属于粗粒度的数据存储过程。
其中,所述埋点数据的数据类型为JSON(JavaScript Object Notation,JS对象简谱)数据交换格式。
进一步地,所述JSON数据交换格式是一种轻量级的数据交换语言,并且,所述JSON数据交换格式采用完全独立于编程语言的文本格式来存储和表示数据。
通过上述实施方式,无需利用所述电子设备进行数据的存储,节约了所述电子设备的内存,且通过上述存储过程,能够实现全数据存储,虽然存储的数据不便于解析,但是存储的数据不仅能够作为备份,还能够用于其他操作的执行。
并且,通过上述实施方式,能够使存储的数据更加全面,有效避免数据丢失,同时不会影响***的运行性能。
所述获取单元111从所述消息队列中获取预设类型的目标埋点数据。
在本发明的至少一个实施例中,所述目标埋点数据是指根据实际需求确定的,并且在存储之前需要进行数据关系解析的数据。
也就是说,所述目标埋点数据是在所述消息队列中存储的所述预设类型的数据。
其中,所述预设类型可以根据实际业务需求,在数据存储前进行约定并标记,或者由用户进行确定,本发明不限制。
例如:对于职位转发操作类型的埋点数据,根据预先约定,将开发职位转发操作进行标记,作为所述预设类型的目标埋点数据。
在本发明的至少一个实施例中,所述目标埋点数据作为数据解析的基础数据,需要进一步从所述埋点数据中筛选确定。
在本发明的至少一个实施例中,所述获取单元111从所述消息队列中获取预设类型的目标埋点数据包括以下一种或者多种方式的组合:
(1)所述获取单元111显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,进一步地,所述获取单元111获取选择的所述预设类型对应的第二数据,并将所述第二数据确定为所述目标埋点数据。
(2)所述获取单元111确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,进一步地,所述获取单元111将所述第二数据确定为所述目标埋点数据。
例如:所述获取单元111从所述第一操作类型的所有子操作类型中进一步获取到开发职位转发操作作为所述预设类型,所述获取单元111获取所述开发职位转发操作所产生的第二数据,并将所述第二数据确定为所述目标埋点数据。
通过上述实施方式,所述获取单元111能够对所述第一操作类型所对应的第一数据进行进一步筛选,进而得到的所述第二数据作为所述目标埋点数据。
可以理解的是,鉴于有些数据是对数据分析及查询等类型的操作没有实质意义的,因此可以直接跳过这些多余的数据,生成单元112无需对所述埋点数据中的所有数据都进行解析,避免造成数据的冗余,给数据库的存储造成负担,也不利于后续数据的调用。
所述生成单元112对所述目标埋点数据进行解析,生成数据表。
在本发明的至少一个实施例中,所述数据表是一个二进制数据表格,在所述数据表中,列数据是固定的,而行数据则不同。
通过解析所述目标埋点数据,能够得到关系型数据,即所述数据表,由于数据间的关联性较高,且数据间的关系明确,因此能够便于执行数据的查询及数据的分析等操作,使数据查询及数据分析的结果更加准确,提高数据的可用性。
在本发明的至少一个实施例中,所述生成单元112对所述目标埋点数据进行解析,生成数据表包括:
所述生成单元112连接至少一个服务器,以所述至少一个服务器对所述目标埋点数据进行解析,生成数据表。
具体地,所述至少一个服务器是指与所述电子设备相通信的服务器。
通过上述实施方式,能够实现多个服务器对所述目标埋点数据的并行解析,且无需占用所述电子设备的内存,提高数据执行的效率,并有效保证所述电子设备中其他数据的执行不受影响。
当然,在其他实施方式中,鉴于资源的限制,如果没有足够的服务器作为支撑,所述生成单元112也可以自行对所述目标埋点数据进行解析,只要能够实现在存储前的数据解析,本发明不限制。
具体地,所述生成单元112对所述目标埋点数据进行解析,生成数据表还包括:
所述生成单元112采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系,进一步地,所述生成单元112基于所述目标埋点数据中各个数据间的关系建立所述数据表。
通过上述实施方式,能够生成所述数据表,所述数据表是一种关系型数据,以关系数学模型来表示,并且在关系数学模型中以二维表的形式来描述数据,进而能够在进行数据存储的同时,对存储的数据中各个数据间的关系进行明确,便于后续数据的使用。
存储单元113将所述数据表存储在配置数据库中。
在本发明的至少一个实施例中,所述数据表在所述配置数据库中进行细粒度的数据存储,属于后端埋点的数据存储过程。并且,由于进行的是异步存储,没有在一接收到数据时就执行,因此不会影响到此过程中其他数据的执行,避免造成***运行压力,有效提高***的运行性能。
在本发明的至少一个实施例中,所述配置数据库可以是任意数据库,本发明不限制。
当然,为了避免对所述电子设备的运行速度造成影响,所述配置数据库可以优选为与所述电子设备相通信的外部数据库,这样,无论所述配置数据库中的存储量有多大,都不会影响所述电子设备的运行。
在本发明的至少一个实施例中,在将所述数据表存储在配置数据库中时,所述方法还包括:
所述检测单元118检测除所述数据表之外的其他待存储数据,当检测到有其他待存储数据时,所述存储单元113将所述其他待存储数据及所述数据表同时存储在所述配置数据库中。
通过上述实施方式,不仅能够实现对所述数据表的异步存储,同时还能够实现对数据的批量存储,以提高数据存储的效率,有效避免数据堵塞的情况。
由以上技术方案可以看出,本发明能够当接收到埋点数据时,将所述埋点数据写入消息队列,实现对数据的临时存储,避免影响***正常运行的速度,并从所述消息队列中获取预设类型的目标埋点数据,从而实现对数据的二次筛选,避免数据的冗余,进一步对所述目标埋点数据进行解析,生成数据表,并将所述数据表存储在配置数据库中,从而实现对关系型数据的异步存储,避免造成***运行压力,有效提高***的运行性能,且由于存储的数据中各个数据间的关系更加明确,因此便于后续数据的使用。
如图3所示,是本发明实现数据存储方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如数据存储程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作***以及安装的各类应用程序、程序代码等。
所述处理器13执行所述电子设备1的操作***以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个数据存储方法实施例中的步骤,例如图1所示的步骤S10、S11、S12、S13。
或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:当接收到埋点数据时,将所述埋点数据写入消息队列;从所述消息队列中获取预设类型的目标埋点数据;对所述目标埋点数据进行解析,生成数据表;将所述数据表存储在配置数据库中。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成写入单元110、获取单元111、生成单元112、存储单元113、显示单元114、确定单元115、调用单元116、发送单元117以及检测单元118。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据)等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如FIFO(First InFirst Out,)等。或者,所述存储器12也可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种数据存储方法,所述处理器13可执行所述多个指令从而实现:当接收到封装指令时,获取测试页面;当接收到埋点数据时,将所述埋点数据写入消息队列;从所述消息队列中获取预设类型的目标埋点数据;对所述目标埋点数据进行解析,生成数据表;将所述数据表存储在配置数据库中。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (6)

1.一种数据存储方法,其特征在于,所述方法包括:
当检测到登陆信号时,获取配置界面上的所有数据操作类型;显示所述所有数据操作类型;当接收到对所述所有数据操作类型中任意操作类型的选择信号时,获取选择的第一操作类型对应的第一数据;根据实际业务需求,将所述第一数据确定为埋点数据;
当接收到埋点数据时,将所述埋点数据写入消息队列;以及,调用配置接口;通过所述配置接口连接到配置服务器;将所述埋点数据发送至所述配置服务器;其中,通过所述消息队列,使得程序之间通过在所述消息队列中发送数据进行通信;
从所述消息队列中获取预设类型的目标埋点数据,包括:显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,获取选择的所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;及/或确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;
对所述目标埋点数据进行解析,生成数据表,包括:采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系;基于所述目标埋点数据中各个数据间的关系建立所述数据表,所述数据表以关系数学模型来表示,并且在所述关系数学模型中以二维表的形式来描述数据;
将所述数据表存储在配置数据库中。
2.如权利要求1所述的数据存储方法,其特征在于,所述对所述目标埋点数据进行解析,生成数据表包括:
连接至少一个服务器,以所述至少一个服务器对所述目标埋点数据进行解析,生成数据表。
3.如权利要求1所述的数据存储方法,其特征在于,在将所述数据表存储在配置数据库中时,所述方法还包括:
检测除所述数据表之外的其他待存储数据;
当检测到有其他待存储数据时,将所述其他待存储数据及所述数据表同时存储在所述配置数据库中。
4.一种用于实现如权利要求1至3中任意一项所述的数据存储方法的数据存储装置,其特征在于,所述装置包括:
写入单元,用于当接收到埋点数据时,将所述埋点数据写入消息队列;以及,调用配置接口;通过所述配置接口连接到配置服务器;将所述埋点数据发送至所述配置服务器;
获取单元,用于从所述消息队列中获取预设类型的目标埋点数据,包括:显示所述第一操作类型的所有子操作类型,当接收到对所述所有子操作类型中任意操作类型的选择信号时,获取选择的所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;及/或确定标记的操作类型作为所述预设类型,获取所述预设类型对应的第二数据,将所述第二数据确定为所述目标埋点数据;
生成单元,用于对所述目标埋点数据进行解析,生成数据表,包括:采用FastJson技术或者GSON技术解析所述目标埋点数据,得到所述目标埋点数据中各个数据间的关系;基于所述目标埋点数据中各个数据间的关系建立所述数据表,所述数据表以关系数学模型来表示,并且在所述关系数学模型中以二维表的形式来描述数据;
存储单元,用于将所述数据表存储在配置数据库中。
5.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至3中任意一项所述的数据存储方法。
6.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至3中任意一项所述的数据存储方法。
CN201910881337.0A 2019-09-18 2019-09-18 数据存储方法、装置、电子设备及存储介质 Active CN110825731B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910881337.0A CN110825731B (zh) 2019-09-18 2019-09-18 数据存储方法、装置、电子设备及存储介质
PCT/CN2019/118140 WO2021051589A1 (zh) 2019-09-18 2019-11-13 数据存储方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910881337.0A CN110825731B (zh) 2019-09-18 2019-09-18 数据存储方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110825731A CN110825731A (zh) 2020-02-21
CN110825731B true CN110825731B (zh) 2023-10-24

Family

ID=69547989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910881337.0A Active CN110825731B (zh) 2019-09-18 2019-09-18 数据存储方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN110825731B (zh)
WO (1) WO2021051589A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523073A (zh) * 2020-04-23 2020-08-11 深圳市商汤科技有限公司 数据的管理方法、装置、电子设备以及存储介质
CN112416945A (zh) * 2020-12-07 2021-02-26 恩亿科(北京)数据科技有限公司 基于大数据平台的数据处理方法、***和计算机设备
CN114168430A (zh) * 2022-01-06 2022-03-11 携程旅游网络技术(上海)有限公司 前端异常告警配置方法、***、设备及存储介质
US11922026B2 (en) 2022-02-16 2024-03-05 T-Mobile Usa, Inc. Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network
CN115134352B (zh) * 2022-06-27 2023-06-20 重庆长安汽车股份有限公司 一种埋点数据上传方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995266A (zh) * 2017-11-22 2018-05-04 平安科技(深圳)有限公司 埋点数据处理方法、装置、计算机设备和存储介质
CN107992506A (zh) * 2016-10-27 2018-05-04 北京京东尚科信息技术有限公司 信息处理方法及装置
CN108156006A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 一种埋点数据上报方法、装置及电子设备
CN108595450A (zh) * 2017-11-29 2018-09-28 五八有限公司 一种埋点数据库构建方法、埋点数据库及埋点查询方法
CN108874559A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 电子装置、分布式***业务链路分析方法及存储介质
CN110060118A (zh) * 2019-02-27 2019-07-26 浙江执御信息技术有限公司 一种订单履约全链路实时监控方法、装置及计算机设备
CN110147398A (zh) * 2019-04-25 2019-08-20 北京字节跳动网络技术有限公司 一种数据处理方法、装置、介质和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708899B (zh) * 2015-11-17 2021-04-27 阿里巴巴集团控股有限公司 自动埋点方法和装置
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及***
CN109582827A (zh) * 2018-11-30 2019-04-05 深圳市小牛普惠投资管理有限公司 无埋点数据采集方法、装置、计算机设备以及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992506A (zh) * 2016-10-27 2018-05-04 北京京东尚科信息技术有限公司 信息处理方法及装置
CN108156006A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 一种埋点数据上报方法、装置及电子设备
CN107995266A (zh) * 2017-11-22 2018-05-04 平安科技(深圳)有限公司 埋点数据处理方法、装置、计算机设备和存储介质
CN108595450A (zh) * 2017-11-29 2018-09-28 五八有限公司 一种埋点数据库构建方法、埋点数据库及埋点查询方法
CN108874559A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 电子装置、分布式***业务链路分析方法及存储介质
CN110060118A (zh) * 2019-02-27 2019-07-26 浙江执御信息技术有限公司 一种订单履约全链路实时监控方法、装置及计算机设备
CN110147398A (zh) * 2019-04-25 2019-08-20 北京字节跳动网络技术有限公司 一种数据处理方法、装置、介质和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式***中数据同步机制的研究与实现;崔伟;汪诗林;;计算机工程与设计(第10期);第2259-2261页 *

Also Published As

Publication number Publication date
WO2021051589A1 (zh) 2021-03-25
CN110825731A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
CN110825731B (zh) 数据存储方法、装置、电子设备及存储介质
US11755452B2 (en) Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system
CN112527848B (zh) 基于多数据源的报表数据查询方法、装置、***及存储介质
CN111209352B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110750592B (zh) 数据同步的方法、装置和终端设备
CN109359027B (zh) Monkey测试方法、装置、电子设备及计算机可读存储介质
CN111797351A (zh) 页面数据管理方法、装置、电子设备及介质
CN111814045B (zh) 数据查询方法、装置、电子设备及存储介质
CN111651363B (zh) 测试数据获取方法、装置、电子设备及介质
CN112711398A (zh) 埋点文件生成方法、装置、设备及存储介质
CN109634986B (zh) ***监测方法、装置、计算机及计算机可读存储介质
CN109800124B (zh) Cpu使用率监控方法、装置、电子设备及存储介质
CN113656369A (zh) 一种大数据场景下的日志分布式流式采集及计算方法
CN112181485A (zh) 脚本执行方法、装置、电子设备及存储介质
CN115314570B (zh) 基于协议开发框架的数据下发方法、装置、设备及介质
US11714699B2 (en) In-app failure intelligent data collection and analysis
US8966483B2 (en) Method and device for optimizing execution of software applications in a multiprocessor architecture comprising several input/output controllers and secondary computing units
CN109828885B (zh) RocketMQ内存监控方法、装置、电子设备及存储介质
CN109522211B (zh) 接口参数传递方法、装置、电子设备及存储介质
CN112364268A (zh) 资源获取方法、装置、电子设备及存储介质
CN114218000A (zh) 日志管理方法、装置、电子设备及计算机可读存储介质
CN112667614A (zh) 一种数据处理方法、装置及计算机设备
CN111741046A (zh) 数据上报方法、获取方法、装置、设备及介质
JP2013506898A5 (zh)
CN112286909A (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