埋点数据的处理方法、装置、设备及存储介质与流程

专利检索2022-05-10  6



1.本技术涉及人工智能领域,尤其涉及埋点数据的处理方法、埋点数据的处理装置、计算机设备及存储介质。


背景技术:

2.信息查询成为很多场景中用户快速获取所需信息的渠道。例如在医疗领域中,为了提高问诊效率,一般需要患者先在自己的手机等终端设备中填写信息,以使医生能够可以从海量的电子病历中查询到对应患者所需的病历信息等,有助于为用户提供病历参考、避免出现药物过敏反应等情况。
3.这些信息一般包括大量的个人信息、身体状况信息和过往病史信息等信息,这些信息大部分都是患者的隐私信息,如果用户在手机填写好这些信息后,未经加密就把这些信息发送至服务端的话,信息很容易在传输途中被拦截并简单地获取到用户的隐私信息,甚至将这些信息用作不良用途,给用户造成不良的体验。


技术实现要素:

4.本技术提供了一种埋点数据的处理方法、埋点数据的处理装置、计算机设备及存储介质,旨在解决现有的数据在传输途中容易被拦截而造成隐私信息泄露的问题。
5.为实现上述目的,本技术提供一种埋点数据的处理方法,所述方法包括:
6.获取用户数据,并通过预设的埋点代码对所述用户数据进行监控,得到埋点数据;
7.获取网络传输协议参数,并根据所述网络传输协议参数生成源字符串,对所述源字符串进行加密,得到第一字符串;
8.根据所述第一字符串生成公钥生成指令,向服务端发送所述公钥生成指令,以使所述服务端基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息;
9.获取所述服务端反馈的公钥反馈信息,所述公钥反馈信息包括所述公钥和第二字符串;
10.若所述第一字符串与所述第二字符串一致,基于第二加密算法随机生成密码,并通过所述密码对所述埋点数据进行加密,得到加密数据;
11.通过所述公钥对所述密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至服务端,以使服务端基于所述加密数据和所述加密密码进行解密,得到并存储所述埋点数据。
12.为实现上述目的,本技术还提供一种埋点数据的处理装置,所述埋点数据的处理装置包括:
13.埋点数据获取模块,用于获取用户数据,并通过预设的埋点代码对所述用户数据进行监控,得到埋点数据;
14.字符串生成模块,用于获取网络传输协议参数,并根据所述网络传输协议参数生成源字符串,对所述源字符串进行加密,得到第一字符串;
15.公钥生成模块,用于根据所述第一字符串生成公钥生成指令,向服务端发送所述公钥生成指令,以使所述服务端基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息;
16.公钥获取模块,获取所述服务端反馈的公钥反馈信息,所述公钥反馈信息包括所述公钥和第二字符串;
17.数据加密模块,用于若所述第一字符串与所述第二字符串一致,基于第二加密算法随机生成密码,并通过所述密码对所述埋点数据进行加密,得到加密数据;
18.数据传输模块,用于通过所述公钥对所述密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至服务端,以使服务端基于所述加密数据和所述加密密码进行解密,得到并存储所述埋点数据。
19.此外,为实现上述目的,本技术还提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现本技术实施例提供的任一项所述的埋点数据的处理方法。
20.此外,为实现上述目的,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现本技术实施例提供的任一项所述的埋点数据的处理方法。
21.本技术实施例公开的埋点数据的处理方法、埋点数据的处理装置、设备及存储介质,通过埋点的方式获取有用的患者信息,并在发送、接收数据时对字符串进行验证,由此可以对患者信息进行采集并加密上传至服务器进行存储,由此可以保障用户信息的安全性,提高用户的问诊体验。
附图说明
22.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是本技术实施例提供的一种埋点数据的处理方法的场景示意图;
24.图2是本技术实施例提供的一种埋点数据的处理方法的流程示意图;
25.图3是本技术一实施例提供的一种埋点数据的处理装置的示意性框图;
26.图4是本技术一实施例提供的一种计算机设备的示意性框图。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,
但是在某些情况下,可以以不同于装置示意图中的模块划分。
29.在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
30.信息查询成为很多场景中用户快速获取所需信息的渠道。例如在医疗领域中,为了提高问诊效率,患者可以先在自己的手机等终端设备中填写自己的相关信息,以便医生在问诊或开药时能够快速查询到患者的相关信息,以达到辅助问诊或辅助开药的效果。
31.由于用户填写的信息一般都是自己的隐私信息,因此信息传递的安全性则是我们需要密切关注的问题。现有的加密方式一般只是简单的通过对称加密或非对称加密的方式进行加密。使用对称加密算法加解密的效率较高,影响了患者信息的快速上报,但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。而使用非对称加密算法能够保证秘钥的安全性,但是加解密的效率较低。因此亟需一种结合对称加密算法和非对称加密算法的加密方式来对用户信息(患者的隐私信息)进行加密。
32.为解决上述问题,本技术提供了一种用户数据上报方法,应用在客户端,所述客户端可以为终端设备,由此可以对患者信息进行采集并加密上传至服务器进行存储,由此可以保障用户信息的安全性,提高用户的问诊体验。
33.其中,所述终端设备可以包括诸如手机、平板电脑、个人数字助理(personal digital assistant,pda)等固定终端。服务器例如可以为单独的服务器或服务器集群。但为了便于理解,以下实施例将以应用于服务器的埋点数据的处理方法进行详细介绍。
34.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
35.如图1所示,本技术实施例提供的埋点数据的处理方法,可以应用于如图1所示的应用环境中。该应用环境中包含有终端设备110和服务器120,其中,终端设备110可以通过网络与服务器120进行通信。具体地,终端设备110通过埋点的方式得到埋点数据,再获取服务器120生成的公钥,并利用所述公钥对埋点数据进行加密,最后将加密后的埋点数据发送给服务器120,以使服务器120得到、存储并使用所述埋点数据。其中,服务器120可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
36.请参阅图2,图2是本技术实施例提供的一种埋点数据的处理方法的示意流程图。其中,该埋点数据的处理方法可以终端设备中,由此可以对患者信息进行采集并加密上传至服务器进行存储,由此可以保障用户信息的安全性,提高用户的问诊体验。
37.如图2所示,该埋点数据的处理方法包括步骤s101至步骤s106。
38.s101、获取用户数据,并通过预设的埋点代码对所述用户数据进行监控,得到埋点数据。
39.其中,所述用户数据可以为用户在客户端输入的数据比如患者数据,也可以是医院信息系统中的体检数据、图像数据等,所述预设的埋点代码为用于执行相应操作的代码比如获取患者过敏史对应的代码、获取体验数据中的异常参数对应的代码等等。所述埋点
数据为在所述用户数据通过所述埋点得到的数据,可以认为是对于本次诊断有用的数据,具体可以通过java的反射机制得到。
40.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
41.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
42.在一些实施例中,通过aop拦截所述日志记录注解并在所述用户数据中进行标注,得到埋点数据,所述日志记录注解为通过自定义注解的方式对预设的埋点代码添加日志注解。其中,所述自定义注解的目标元素类型包括构造函数、方法和字段,注解的作用时段为运行时有效,所述aop为面向切面编程,用于对用户数据进行监控并标注注解,所述日志记录注解为执行对应操作的注解。
43.由于一个医生往往要面对大量的病人,而每个病人有大量的个人信息,而往往对本次诊断有用的信息比较有限,因此可以通过自定义注解进行自动埋点并通过aop得到埋点数据,由此可以快速获取到对于本次诊断所需的患者信息。
44.具体地,通过java自定义注解的方式对预设的埋点代码添加日志记录注解对用户数据进行无痕埋点。比如需要获取患者过敏史,在java代码修改获取患者过敏史的方法上,添加自定义的注解@log(value="获取患者过敏史”),对此方法进行无痕埋点,而对业务逻辑代码无任何干扰。
45.对用户数据进行无痕埋点之后,通过aop拦截所述注解并在所述用户数据中进行标注,得到埋点数据。所述aop的特点是继承、多态和封装。也就是说,让不同的类设计不同的方法,便于代码分散到一个个的类中,降低代码的复杂程度,使类可重用。也可以说它是拦截者框架interceptor,想要对一些方法的参数进行监控,监控后可以像日志一样的给我们,程序运行时调用一个一个方法,我们在这些方法的前后插入方法,就像切面一样切进去插入拦截方法实现监控。基于aop的原理,利用拦截所述注解并在所述用户数据中进行标注,得到埋点数据。由此可以提高代码的可读性,降低对代码进行新增、修改、删除维护等操作的成本。
46.示例性的,在医疗领域中,当医生需要获取用户的过敏史信息以及获取过往病史信息时,具体在预设代码中设置获取用户的过敏史信息以及获取过往病史信息对应的注解,并通过aop拦截和标注出过敏史信息及过往病史信息。其中,得到的埋点数据可以包括患者的身份信息、患者的过敏史、用户的电话号码、看诊、复诊时间等信息。
47.在一些实施例中,根据需求信息编写所述日志记录注解,并基于aspectj编译方式生成预设的埋点代码;根据需要进行埋点的位置定义切入点匹配规则,基于所述切入点匹配规则在所述预设的埋点代码中添加日志记录注解。
48.其中,所述需求信息为需要获取的信息,比如在问诊场景下,需求信息可以为获取患者过敏史、获取患者体验数据中异常指标等等,所述aspectj是一种基于java平台的面向
切面编程的语言,定义了各种连接点集合来实现aop的概念,所述切入点匹配规则为每个注解对应的代码切入位置,具体是能够根据切入点匹配规则确定在何处注入一段特定代码的注解。
49.具体地,通过在gradle构建脚本中,定义任务来执行aspectj编译或使用第三方aspectj集成插件gradle

android

aspectj

plugin使执行aspectj编译,从而生成预设的埋点代码。
50.示例性的,若需要获取患者体验数据中异常指标,编写对应的日志记录注解,
51.基于aspectj编译方式生成预设的埋点代码;根据获取患者体验数据中异常指标对应的代码段确定需要进行埋点的位置,并定义切入点匹配规则,基于所述切入点匹配规则在所述预设的埋点代码中添加该日志记录注解,由此能够进行无痕埋点,能够对埋点进行统一管理,无需修改代码,有效减少工作量和维护成本。
52.在一些实施例中,在所述客户端的本地缓存中新建多个配置文件;其中,所述配置文件包括收集数据的脚本文件;将各个配置文件与对应的所述日志记录注解相关联;当所述日志记录注解被拦截时,调用与所述日志记录注解对应的配置文件进行数据收集,得到埋点数据。其中,每个日志记录注解对应一个用于收集对应数据的脚本文件。
53.示例性的,添加完日志记录注解后,在客户端的本地缓存中新建多个配置文件,将每个配置文件与每个日志记录注解相配对,当某一个日志记录注解比如是获取患者过敏史的注解被拦截时,调用与获取患者过敏史的注解对应的配置文件进行数据收集,得到埋点数据。
54.在一些实施例中,检测客户端的网络信号强度,并确定所述客户端的网络信号强度是否高于预设的信号强度阈值;若所述客户端的网络信号强度高于预设的信号强度阈值,对所述埋点数据进行数据压缩处理,得到所述埋点数据对应的数据压缩包;若所述客户端的网络信号强度不高于预设的信号强度阈值,对所述埋点数据进行缓存处理,并对缓存处理后的数据进行拆包,得到多个数据包,对所述多个数据包进行数据压缩处理,得到所述埋点数据对应的多个数据压缩包。由此可以通过检测网络确定埋点数据的上传策略,当网络状态良好(即客户端的网络信号强度高于预设的信号强度阈值)的时候,直接将对整个埋点数据进行压缩加密,并上传至服务端,由于埋点数据的数据量可能很大,当网络状态不好(即客户端的网络信号强度不高于预设的信号强度阈值)的时候,将埋点数据先进行拆包,再分别进行压缩并上传至服务端,避免由于网络不好而导致数据传输失败。
55.其中,一般用dbm来衡量手机信号强度,dbm表示功率绝对值的值,这个数值越大,表明信号越好,由于手机的信号强度一般较弱,折算成dbm一般为负数。因此预设的信号强度阈值一般为

90dbm,当然也可以为任意数值,在此不做具体限定。
56.具体地,对埋点数据进行gzip数据压缩处理,由此能够减少埋点数据的网络带宽占比,避免影响到客户端app的性能。对埋点数据进行缓存处理具体包括内存缓存和硬盘缓存,通过内存缓存把采集到的数据直接存放在数组中,累计到一定的程度上报,由此能够不影响当前客户端app的使用,在合适的时候上报;通过硬盘缓存可以在用户退出app或者无网络的情况下,把数据存储在本地数据库中,等到网络条件变好后再进行数据的采集并上报。
57.s102、获取网络传输协议参数,并根据所述网络传输协议参数生成源字符串,对所
述源字符串进行加密,得到第一字符串。
58.其中,所述网络传输协议参数可以包括时间戳、系统全局参数等tcp/ip参数,所述第一字符串为根据网络传输协议参数生成的字符串,放在从客户端传输到服务端的消息头中。由于客户端和服务端之间可以事先约定好具体使用的网络传输协议,并获取本次网络传输协议对应的参数,生成源字符串,因此该源字符串可以理解为是该客户端与服务端间通信独有的标识,通过对该标识进行加密,并在信息传输中加入该标识进行验证,能够确定传输信息的来源,使信息传输更安全。
59.示例性的,获取到网络传输协议参数可以包括时间戳、系统全局参数等参数,根据获取先后顺序进行排序,得到源字符串,再对源字符串进行加密,生成第一字符串。
60.在一些实施例中,对源字符串进行翻转处理,得到翻转后的字符串;基于哈希函数,对所述翻转后的字符串进行变换,得到变换后的字符串;基于md5加密算法,对变换后的字符串进行加密,得到第一字符串。其中,所述哈希函数为安全散列算法,具体可以包括sha

224算法、sha

256算法、sha

384算法和sha

512算法。由此可以通过对源字符串进行预设的处理以及加密,可以在后续的信息交互中验证信息的来源,确定接收的信息及数据的安全性。
61.具体地,可以通过哈希函数把翻转后的字符串压缩成摘要,使得数据量变小,将字符串的格式固定下来,并将字符串打乱混合,得到变换后的字符串。通过md5加密算法对变换后的字符串进行加密,可以在后续检测接收到的消息或数据的md5值,判断发送和接收时两次的md5值是否相同,由此可以确定数据的来源,避免数据被篡改,确保数据的安全性。
62.s103、根据所述第一字符串生成公钥生成指令,向服务端发送所述公钥生成指令,以使所述服务端基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息。
63.其中,服务端可以为医院信息系统的服务器,得到埋点数据之后,客户端向服务端发送公钥反馈消息,以使服务端生成公钥和对应的私钥,所述第一加密算法为非对称加密算法,可以包括sm2加密算法、rsa加密算法、ecc加密算法等。所述公钥反馈信息用于提示用户公钥已经生成的信息,并包括在客户端生成的公钥。
64.可以理解的是,所述公钥生成指令包括客户端生成的第一字符串,具体地,当服务端接收到公钥生成指令后,基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息。
65.示例性的,服务端可以基于sm2加密算法生成公钥和对应的私钥,并将所述公钥存储在生成的公钥反馈信息中,以使客户端利用所述公钥对埋点数据进行加密。同时将保存私钥保存起来,以使客户端在接收到加密后的埋点数据后,通过所述私钥对加密后的埋点数据进行解密,得到并存储所述埋点数据。
66.s104、获取所述服务端反馈的公钥反馈信息,所述公钥反馈信息包括所述公钥和第二字符串。
67.服务端响应于公钥生成请求,生成公钥和对应的私钥之后,客户端获取所述服务端发送的公钥反馈消息,所述公钥反馈消息包括公钥和第二字符串。其中,所述第二字符串放在从客户端传输到服务端的消息头中,用于与所述第一字符串进行比较,从而确定消息的来源,保证数据的安全性。通过客户端与服务端的交互,生成公钥和私钥,提高信息传输的安全性。
68.具体地,检测所述第一字符串与所述第二字符串是否一致;若所述第一字符串与所述第二字符串一致,随机生成密码;若所述第一字符串与所述第二字符串不一致,拦截所述公钥反馈消息,并在客户端上显示数据安全校验失败的提示信息。其中,所述数据安全校验失败的提示信息用于提醒用户信息可能被非法篡改,信息安全性较低。由此可以通过检测所述第一字符串与所述第二字符串,防止在信息传递过程被非法拦截,并伪造服务端生成公钥,一旦用户使用了伪造的公钥进行加密,就会造成用户信息的泄露。
69.检测所述第一字符串与所述第二字符串是否一致具体可以通过检测字符串的顺序是否一致、字符串中的字符是否一致以及字符串的md5值是否一致,如果消息被私自篡改的话,字符串的顺序、字符串中的字符以及字符串的md5值都会发生变化,由此可以确定消息是否被私自篡改,有效防止中间人攻击,保证了信息传输的安全性。
70.s105、若所述第一字符串与所述第二字符串一致,基于第二加密算法对所述埋点数据进行加密,得到加密数据。
71.具体地,若所述第一字符串与所述第二字符串一致,则说明传输的数据安全校验成功,基于第二加密算法随机生成一个密码。其中,所述第二加密算法为对称加密算法,具体可以包括sm4加密算法、des加密算法和aes加密算法等。
72.需要说明的是,由于受网络信号强度和数据传输效率的影响,可以直接对所述埋点数据进行加密,从而得到加密数据;也可以对埋点数据对应的数据压缩包进行加密,从而得到加密数据;还可以对埋点数据对应的多个数据压缩包进行加密,从而得到多个加密数据。
73.在一些实施例中,若所述第一字符串与所述第二字符串一致,基于第二加密算法随机生成密码,并通过所述密码对所述埋点数据进行加密,得到加密数据。由于埋点数据可能包括大量的患者信息,比如图片、医学影像、心电图等信息,这样埋点数据的数据量一般较大,而对称加密算法的加解密效率较高,因此可以通过对称加密算法对埋点数据进行加密。
74.示例性的,若所述第一字符串与所述第二字符串一致,可以通过国密sm2加密算法随机生成一个密码比如85@23@#4a3,通过该密码对埋点数据进行加密,实现了对埋点数据的加密。
75.需要说明的是,还可以通过多种加密算法对埋点数据进行加密,比如先利用国密sm2加密算法对埋点数据进行加密,再通过aes加密算法对加密后的数据进行再机密,得到加密数据。
76.s106、通过所述公钥对所述密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至服务端,以使服务端基于所述加密数据和所述加密密码进行解密,得到并存储所述埋点数据。
77.由于传输的数据安全校验成功,则获取的公钥能够确定是从对应的服务端发送过来的,因此可以使用该公钥对所述随机生成的密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至所述服务端。
78.在一些实施例中,将所述加密数据和所述加密密码发送至所述服务端,以使所述服务端通过所述私钥对所述加密密码进行解密,得到所述密码,并通过所述密码对所述加密数据进行解密,得到并存储所述埋点数据。由此结合了对称加密算法和非对称算法的优
点,增强了数据传输的安全性。即使加密数据和加密密码在信息传输途中被非法拦截,拦截者需要私钥才能对加密密码进行破译,而私钥一般只有其服务器才有,用于对公钥进行解密。此外,不能从加密密钥合理地计算出解密密钥,因此非对称算法的安全性能够得到保障。
79.示例性的,在服务器存储埋点数据之后,医生可以通过医院信息系统查询到对应患者的埋点数据即有用的患者信息,能够为医生起到辅助问诊、开药的效果,提高了问诊效率,从而实现了智能辅助诊疗。
80.在一些实施例中,将所述加密数据和所述加密密码发送至所述服务端之前,根据所述加密数据和对应的加密密码生成匹配信息,对所述匹配信息进行加密,并将所述匹配信息发送至所述服务端。其中,所述加密方式可以通过密码、对称加密算法或非对称加密算法进行加密,所述匹配信息用于在服务端匹配加密数据和加密密码,具体可以为映射关系,比如加密数据a1

加密密码a2。
81.示例性的,一般来说同段时间内会存在大量的患者上传自己的用户信息,因此存在多个加密数据和对应的多个加密密码时,为了增加数据传输的安全性,加密数据和对应的加密密码将以不同的传输通道进行传输,因此根据加密数据和对应的加密密码生成匹配信息,以便在服务端在大量的加密数据和加密密码进行匹配。
82.需要说明的是,加密数据、加密密码和匹配信息是使用不同的传输通道进行传输的,万一拦截者获取了密码,在成千上万个数据中,也无法得知密码对应的加密数据是哪一个,只有服务器能够通过消息头的匹配信息在接收到的数据中进行匹配确定,实现了数据的安全传输,防止信息泄露。
83.请参阅图3,图3是本技术一实施例提供的一种埋点数据的处理装置的示意性框图,该埋点数据的处理装置可以配置于客户端中,用于执行前述的埋点数据的处理方法。
84.如图3所示,该埋点数据的处理装置200包括:埋点数据获取模块201、字符串生成模块202、公钥生成模块203、公钥获取模块204、数据加密模块205和数据传输模块206。
85.埋点数据获取模块201,用于获取用户数据,并通过预设的埋点代码对所述用户数据进行监控,得到埋点数据;
86.字符串生成模块202,用于获取网络传输协议参数,并根据所述网络传输协议参数生成源字符串,对所述源字符串进行加密,得到第一字符串;
87.公钥生成模块203,用于根据所述第一字符串生成公钥生成指令,向服务端发送所述公钥生成指令,以使所述服务端基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息;
88.公钥获取模块204,获取所述服务端反馈的公钥反馈信息,所述公钥反馈信息包括所述公钥和第二字符串;
89.数据加密模块205,用于若所述第一字符串与所述第二字符串一致,基于第二加密算法随机生成密码,并通过所述密码对所述埋点数据进行加密,得到加密数据;
90.数据传输模块206,用于通过所述公钥对所述密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至服务端,以使服务端基于所述加密数据和所述加密密码进行解密,得到并存储所述埋点数据。
91.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,
上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
92.本技术的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费终端设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
93.示例性的,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
94.请参阅图4,图4是本技术实施例提供的一种计算机设备的示意图。该计算机设备可以是服务器。
95.如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括易失性存储介质、非易失性存储介质和内存储器。
96.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种埋点数据的处理方法。
97.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
98.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种埋点数据的处理方法。
99.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
100.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
101.其中,在一些实施方式中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:获取用户数据,并通过预设的埋点代码对所述用户数据进行监控,得到埋点数据;获取网络传输协议参数,并根据所述网络传输协议参数生成源字符串,对所述源字符串进行加密,得到第一字符串;根据所述第一字符串生成公钥生成指令,向服务端发送所述公钥生成指令,以使所述服务端基于第一加密算法生成公钥和对应的私钥并生成公钥反馈信息;获取所述服务端反馈的公钥反馈信息,所述公钥反馈信息包括所述公钥和第二字符串;若所述第一字符串与所述第二字符串一致,基于第二加密算法随机生成密码,并通过所述密码对所述埋点数据进行加密,得到加密数据;通过所述公钥对所述密码进行加密,得到加密密码,并将所述加密数据和所述加密密码发送至服务端,以使服务端基于所述加密数据和所述加密密码进行解密,得到并存储所述埋点数据。
102.在一些实施例中,所述处理器还用于:通过aop拦截所述日志记录注解并在所述用户数据中进行标注,得到埋点数据,所述日志记录注解为通过自定义注解的方式对预设的
埋点代码添加日志注解。
103.在一些实施例中,所述处理器还用于:根据需求信息编写所述日志记录注解,并基于aspectj编译方式生成预设的埋点代码;根据需要进行埋点的位置定义切入点匹配规则,基于所述切入点匹配规则在所述预设的埋点代码中添加日志记录注解。
104.在一些实施例中,所述处理器还用于:检测客户端的网络信号强度,并确定所述客户端的网络信号强度是否高于预设的信号强度阈值;若所述客户端的网络信号强度高于预设的信号强度阈值,对所述埋点数据进行数据压缩处理,得到所述埋点数据对应的数据压缩包;若所述客户端的网络信号强度不高于预设的信号强度阈值,对所述埋点数据进行缓存处理,并对缓存处理后的数据进行拆包,得到多个数据包,对所述多个数据包进行数据压缩处理,得到所述埋点数据对应的多个数据压缩包。
105.在一些实施例中,所述处理器还用于:对源字符串进行翻转处理,得到翻转后的字符串;基于哈希函数,对所述翻转后的字符串进行变换,得到变换后的字符串;基于md5加密算法,对所述变换后的字符串进行加密,得到第一字符串。
106.在一些实施例中,所述处理器还用于:若所述第一字符串与所述第二字符串不一致,拦截所述公钥反馈信息,并在客户端上显示数据安全校验失败的提示信息。
107.在一些实施例中,所述处理器还用于:根据所述加密数据和对应的加密密码生成匹配信息;对所述匹配信息进行加密,得到加密后的匹配信息,并将所述加密后的匹配信息发送至所述服务端。
108.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时实现本技术实施例提供的任一种埋点数据的处理方法。
109.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
110.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
111.本发明所指区块链语言模型的存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
112.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
转载请注明原文地址:https://win.8miu.com/read-50424.html

最新回复(0)