CN115391702A - 一种基于前端页面的埋点数据处理方法及设备 - Google Patents

一种基于前端页面的埋点数据处理方法及设备 Download PDF

Info

Publication number
CN115391702A
CN115391702A CN202210885102.0A CN202210885102A CN115391702A CN 115391702 A CN115391702 A CN 115391702A CN 202210885102 A CN202210885102 A CN 202210885102A CN 115391702 A CN115391702 A CN 115391702A
Authority
CN
China
Prior art keywords
data
buried point
local storage
current time
storage library
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
Application number
CN202210885102.0A
Other languages
English (en)
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.)
Shanghai Wanwu Xinsheng Environmental Technology Group Co
Original Assignee
Shanghai Wanwu Xinsheng Environmental Technology Group Co
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 Shanghai Wanwu Xinsheng Environmental Technology Group Co filed Critical Shanghai Wanwu Xinsheng Environmental Technology Group Co
Priority to CN202210885102.0A priority Critical patent/CN115391702A/zh
Publication of CN115391702A publication Critical patent/CN115391702A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的目的是提供一种基于前端页面的埋点数据处理方法及设备,本申请通过创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;获取当前次访问所述前端页面时所记录的埋点数据;响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据,利用本地存储库先对获取得到的埋点数据进行存储,再进行埋点数据的上传,有效防止埋点数据丢失,并在不牺牲用户使用体验的情况下,降低埋点数据丢失概率,提高埋点数据的精准性。

Description

一种基于前端页面的埋点数据处理方法及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于前端页面的埋点数据处理方法及设备。
背景技术
在软件开发过程中,为了更好的了解用户需求,实现全方位服务用户的开发理念,当用户使用各个应用程序时,软件开发的后台系统都会对用户的操作进行信息记录,从而方便分析得到每个用户的特点。
现有技术中,大多数使用子午线埋点方案实现上述功能,子午线埋点方案是通过软件开发人员在后台系统中进行相应的操作,比如通过点击自动或手动,从而完成自动或者手动的埋点数据上报;但是,在页面跳转时,仍然会有异步发送请求,发生埋点请求未发送成功的情况,此时页面已经卸载,最终造成埋点数据的丢失。为了解决上述问题,软件开发人员只能手动阻塞页面跳转的时间(比如,200ms或者其他任何时长),来保证埋点数据在页面卸载前能正常发送,不但牺牲了用户体验,而且在极端情况下,埋点数据仍存在丢失。
发明内容
本申请的一个目的是提供一种基于前端页面的埋点数据处理方法及设备,解决了页面跳转过程中埋点数据丢失的问题,实现了在不影响用户体验的情况下,保证埋点数据不丢失,并且提高埋点数据的精准性。
根据本申请的一个方面,提供了一种基于前端页面的埋点数据处理方法,其中,所述方法包括:
创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;
获取当前次访问所述前端页面时所记录的埋点数据;
响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据。
进一步地,上述方法中,所述将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述方法还包括:
当所述当前次对应的埋点数据发送成功,则将所述当前次对应的埋点数据从所述本地存储库清除。
进一步地,上述方法中,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述方法还包括:
当所述当前次对应的埋点数据发送失败,则在下一次进入所述前端页面的访问时,检查所述本地存储库是否存在未发送成功的埋点数据,
若是,则将所述本地存储库中的、未发送成功的埋点数据发送给所述后台服务器,并在发送成功后,将发送成功的埋点数据从所述本地存储库清除;
其中,所述本地存储库中的、未发送成功的埋点数据包括:所述当前次对应的埋点数据。
进一步地,上述方法中,所述本地存储库中的、未发送成功的埋点数据还包括:除当前次访问前端页面时所记录的埋点数据以外的历史埋点数据。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种基于前端页面的埋点数据处理方法。
根据本申请的另一方面,还提供了一种基于前端页面的埋点数据处理设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种基于前端页面的埋点数据处理方法。
与现有技术相比,本申请通过创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;获取当前次访问所述前端页面时所记录的埋点数据;响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据,利用本地存储库先对获取得到的埋点数据进行存储,再进行埋点数据的上传,有效防止埋点数据丢失,并在不牺牲用户使用体验的情况下,降低埋点数据丢失概率,提高埋点数据的精准性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种基于前端页面的埋点数据处理方法的流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本申请的一个方面提出了一种基于前端页面的埋点数据处理方法的流程示意图,其中,所述方法包括步骤S11、步骤S12及步骤S13,具体包括如下步骤:
步骤S11,创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;在此,所述埋点数据包括但不限于用户在访问前端页面时进行的交互操作所记录的数据信息,实现对用户实时埋点数据的存储备份。
步骤S12,获取当前次访问所述前端页面时所记录的埋点数据。
步骤S13,响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据;在此,所述埋点上报指令可以是软件开发人员主动发出埋点上报指令,也可以是软件后台系统进行设置自动发出埋点上报指令等。
通过上述步骤S11至步骤S13,利用创建的用于存储埋点数据的本地存储库,对每次用户访问页面时的埋点数据进行存储,实现在响应于埋点上报指令后,先对埋点数据存储至本地存储库,再进行埋点数据的发送,提高埋点数据安全性,在防止埋点数据丢失的情况下,不影响用户使用。
在本申请一优选实施例中,创建用于存储用户每次访问前端页面时记录的埋点数据的本地存储库A;根据用户1本次对前端页面访问时交互操作,获取得到用户1本次的埋点数据1;优选软件开发人员触发埋点上报指令,响应于该埋点上报指令,将本次用户1交互操作对应的埋点数据1存储至本地存储库A,并向后台服务器发送本次埋点数据1,完成对埋点数据1的先存储后上报的数据处理。
接着本申请上述实施例,所述步骤S13中将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述方法还包括:
当所述当前次对应的埋点数据发送成功,则将所述当前次对应的埋点数据从所述本地存储库清除。
在此,当前次对应的埋点数据发送后,可以响应于后台服务器接收到埋点数据后,向本地存储库返回的成功接收指令,也可以响应于本地存储器自身判断埋点数据是否发送成功,仅在当前次对应的埋点数据发送成功后,才进行当前次埋点数据的删除,为埋点数据提供双重数据保障,实现确保埋点数据没有丢失的情况下,对本地存储库进行对应内存的释放,减小本地存储库的运行压力,从而提高软件运行速度,增强用户体验。
在本申请一优选实施例中,创建本地存储库A;获取用户1本次的埋点数据1;优选软件开发人员触发埋点上报指令,响应于该埋点上报指令,将本次用户1的埋点数据1存储至本地存储库A后,向后台服务器发送本次对应的埋点数据1,优选本地存储库A自身判断埋点数据1已发送成功,将本次对应的埋点数据1从本地存储库A中删除。
接着本申请上述实施例,其中,步骤S13中将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述一种基于前端页面的埋点数据处理方法还包括:
当所述当前次对应的埋点数据发送失败,则在下一次进入所述前端页面的访问时,检查所述本地存储库是否存在未发送成功的埋点数据,
若是,则将所述本地存储库中的、未发送成功的埋点数据发送给所述后台服务器,并在发送成功后,将发送成功的埋点数据从所述本地存储库清除;需要说明的是,在实际应用场景中存在多方面的原因会造成埋点数据的发送失败,比如,网络中断、后台服务器连接失败等。
其中,所述本地存储库中的、未发送成功的埋点数据包括:所述当前次对应的埋点数据,实现对未发送成功埋点数据的存储,防止因发送失败导致的埋点数据丢失,从而提高埋点数据的完整性。
在本申请一优选实施例中,创建本地存储库B;获取用户2第一次访问前端页面的埋点数据2;响应于本次触发的埋点上报指令,将用户2的埋点数据2存储至本地存储库B,并向后台服务器发送埋点数据2,若埋点数据2发送失败,当用户2第二次打开前端页面访问时,检查得到本地存储库B中存在用户2第一次在前端页面中的埋点数据2,将本地存储库B中、未发送成功的埋点数据2重新发送至后台服务器,优选后台服务器接收后,返回本地存储库B成功接收指令,本地存储库B将用户2第一次的埋点数据2清除,并重新开始存储用户2第二次的埋点数据。
接着本申请上述实施例,其中,所述本地存储库中的、未发送成功的埋点数据还包括:除当前次访问前端页面时所记录的埋点数据以外的历史埋点数据;在此,所述历史埋点数据是指除当前次访问前端页面以外的其他历史访问次所记录的且未发送成功的埋点数据,为用户所有埋点数据提供存储保障,降低埋点数据丢失概率,为软件开发过程中数据分析带来稳定数据来源。
例如,当用户每次打开前端页面时,都将检查本地存储库中是否存在用户的历史埋点数据,若存在,本地存储库将历史埋点数据自动发送至后台服务器,并在发送成功后,对历史埋点数据清除,释放本地存储库内存。
同时,在本申请实际应用场景中,首先,在系统页面中正确引入针对埋点数据以及本地存储库的软件封装包;创建本地存储库,并通过本地存储库同步对埋点数据进行存储,并将每次存储的埋点数据上报至后台服务器。
在每次进入本站前端页面时,检查本地存储库中是否存在未发送成功的历史埋点数据,若存在,则将历史埋点数据正常发送至后台服务器,发送成功后清除历史埋点数据;在每次触发埋点数据上报时,首先将埋点数据发送至本地存储库进行信息存储,然后再发送埋点数据至后台服务器,在发送成功后同样清除本地存储库中的埋点数据,不但保证用户每次的埋点数据都上报至后台服务器,从而避免每次跳转前端页面时存在埋点上报丢失的问题。
在本申请实际应用场景中,可以通过如下代码实现一种基于前端页面的埋点数据处理方法的具体步骤:
//引入埋点发送请求方法
import{logSend}from"../../../../assets/js/util"
const PPLogKey='PPLogKey
//获取存储信息
const getLocalStorage=()=>localStoragegetltem(PPLogKey);
//写入存储信息
constsetLocalStorage=(loglnfo)=>localStoragesetltem(PPLogKeyJSONstring ify(loginfo));
//删除存储信息
constremoveLocalStorage=()=>localStorageremoveltem(PPLogKey)
//发送埋点信息
constsendLog=(loginfo)=>{
//存储当前要发送的信息
setLocalStorage(loginfo);
//发送埋点数据,发送成功后清除存储信息
logSend(loginfo)then(()=>removeLocalStorage())
}
//当页面加载完成时,检查localStorage中是否有未发送成功的log信息
window.onload=()=>{
const loglnfo=getLocalStorage();
if(loginfo){
//如果检查到未发送的log信息,则启动发送信息,发送成功后清除
localStorage sendLog(loginfo)
}
}
//当页面点击触发到上报埋点时
document.addEventListener(‘click’,()=>sendLog(/**埋点信息*/))
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种基于前端页面的埋点数据处理方法。
根据本申请的另一方面,还提供了一种基于前端页面的埋点数据处理设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种基于前端页面的埋点数据处理方法。
在此,所述一种基于前端页面的埋点数据处理设备中的各实施例的详细内容,具体可参见上述一种基于前端页面的埋点数据处理方法的实施例的对应部分,在此,不再赘述。
综上所述,本申请通过创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;获取当前次访问所述前端页面时所记录的埋点数据;响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据,利用本地存储库先对获取得到的埋点数据进行存储,再进行埋点数据的上传,有效防止埋点数据丢失,并在不牺牲用户使用体验的情况下,降低埋点数据丢失概率,提高埋点数据的精准性。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (6)

1.一种基于前端页面的埋点数据处理方法,其中,所述方法包括:
创建本地存储库,所述本地存储库用于存储每次访问前端页面时所记录的埋点数据;
获取当前次访问所述前端页面时所记录的埋点数据;
响应于当前次触发的埋点上报指令,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据。
2.根据权利要求1所述的方法,其中,所述将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述方法还包括:
当所述当前次对应的埋点数据发送成功,则将所述当前次对应的埋点数据从所述本地存储库清除。
3.根据权利要求1所述的方法,其中,将所述当前次对应的埋点数据存储至所述本地存储库后,向后台服务器发送所述当前次对应的埋点数据之后,所述方法还包括:
当所述当前次对应的埋点数据发送失败,则在下一次进入所述前端页面的访问时,检查所述本地存储库是否存在未发送成功的埋点数据,
若是,则将所述本地存储库中的、未发送成功的埋点数据发送给所述后台服务器,并在发送成功后,将发送成功的埋点数据从所述本地存储库清除;
其中,所述本地存储库中的、未发送成功的埋点数据包括:所述当前次对应的埋点数据。
4.根据权利要求3所述的方法,其中,所述本地存储库中的、未发送成功的埋点数据还包括:除当前次访问前端页面时所记录的埋点数据以外的历史埋点数据。
5.一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至4中任一项所述的方法。
6.一种基于前端页面的埋点数据处理设备,其中,该设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4所述的方法。
CN202210885102.0A 2022-07-26 2022-07-26 一种基于前端页面的埋点数据处理方法及设备 Pending CN115391702A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210885102.0A CN115391702A (zh) 2022-07-26 2022-07-26 一种基于前端页面的埋点数据处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210885102.0A CN115391702A (zh) 2022-07-26 2022-07-26 一种基于前端页面的埋点数据处理方法及设备

Publications (1)

Publication Number Publication Date
CN115391702A true CN115391702A (zh) 2022-11-25

Family

ID=84116680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210885102.0A Pending CN115391702A (zh) 2022-07-26 2022-07-26 一种基于前端页面的埋点数据处理方法及设备

Country Status (1)

Country Link
CN (1) CN115391702A (zh)

Similar Documents

Publication Publication Date Title
US11614867B2 (en) Distributed storage system-based data processing method and storage device
CN107122297B (zh) 用于测试接口的请求消息生成的方法及设备
CN107122296B (zh) 用于测试接口的数据断言的方法及设备
CN111767226B (zh) 一种云计算平台资源的测试方法、系统及设备
CN110362547B (zh) 日志文件的编码、解析、存储方法和装置
CN107092535B (zh) 用于测试接口的数据存储的方法及设备
CN111813791A (zh) 一种分布式补偿事务的方法及设备
CN112486719B (zh) 一种用于rpc接口调用失败处理的方法及设备
CN105160018A (zh) 一种复制/粘贴图片的方法、装置和系统
CN110134538B (zh) 快速定位问题日志的方法、装置、介质和电子设备
CN111314535A (zh) 手机质检过程记录方法及设备
CN111552618B (zh) 一种收集日志的方法及设备
CN114895975B (zh) 一种服务端系统的预热方法及设备
CN115391702A (zh) 一种基于前端页面的埋点数据处理方法及设备
CN109656825B (zh) 美术资源处理的方法及装置、电子设备、存储介质
CN116484137A (zh) 数据还原方法、装置、及电子设备和存储介质
CN111435323A (zh) 信息的传输方法、装置、终端、服务器及存储介质
CN116010244A (zh) 自动化测试方法、装置、电子设备及存储介质
CN116185706A (zh) 数据备份方法、装置、计算及存储介质及电子设备
CN114510300A (zh) 一种在派生类中嵌入目标对象的方法及设备
CN111737223B (zh) 一种文件拷贝方法、装置、设备及存储介质
CN112765129A (zh) 一种实现数据库数据版本管理的方法与设备
CN113535477A (zh) 一种用于数据容灾恢复的方法与设备
CN113760696A (zh) 一种程序问题定位方法、装置、电子设备和存储介质
CN112131193B (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