CN111782467A - 埋点数据收集上报的方法、装置及介质 - Google Patents

埋点数据收集上报的方法、装置及介质 Download PDF

Info

Publication number
CN111782467A
CN111782467A CN202010599433.9A CN202010599433A CN111782467A CN 111782467 A CN111782467 A CN 111782467A CN 202010599433 A CN202010599433 A CN 202010599433A CN 111782467 A CN111782467 A CN 111782467A
Authority
CN
China
Prior art keywords
buried point
point data
single queue
data
server
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
CN202010599433.9A
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.)
Xiamen Meishao Co ltd
Original Assignee
Xiamen Meishao 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 Xiamen Meishao Co ltd filed Critical Xiamen Meishao Co ltd
Priority to CN202010599433.9A priority Critical patent/CN111782467A/zh
Publication of CN111782467A publication Critical patent/CN111782467A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种埋点数据收集上报的方法、装置及计算机可读存储介质,该方法包括:构建TCP通道和单队列;将所述应用的埋点数据加入所述单队列;通过所述TCP通道建立所述单队列与应用对应服务端的连接;通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据。本发明在不改变上层业务代码和埋点统计、代码修改量少的前提下,简化了埋点数据上报流程,在整体上提高了埋点数据收集上报的实时性和可靠性。

Description

埋点数据收集上报的方法、装置及介质
技术领域
本发明属于计算机技术领域,更具体而言,涉及一种埋点数据收集上报的方法、装置及介质。
背景技术
为了更加精准的为用户提供服务,应用(APP)、网站等会通过埋点的方式收集大量的埋点数据,例如性能指标数据(页面加载时间、页面加载时长等)、用户操作数据(用户浏览、跳转、评论、分享等),并将收集的埋点数据上报给对应的服务端,通过对埋点数据分析得到的各项数据改进应用、网站等的性能。
HTTP的全称是超文本传输协议,是互联网上最广泛的一种网络协议。现有技术是采用HTTP请求的方式向服务端上报应用收集的埋点数据,通过HTTP网络协议建立应用、网站与操作系统后台的接口以及操作系统队列与服务端的网络连接,然后通过操作系统的队列直接对收集的埋点数据进行并发。虽然在高并发、大访问量的前提下能够做到埋点数据实时上报,但是却存在以下问题:
(1)应用每一次HTTP请求,都要与操作系统后台服务器建立连接,建立连接过程缓慢,降低应用埋点数据上报的实时性;
(2)高并发要求同时处理多个HTTP请求,需要同时与操作系统后台服务器建立多个连接,导致操作系统后台服务器的负载过高,影响应用性能;
(3)操作系统需要同时对客户端多个应用的埋点数据进行上报,需要上报的埋点数据量巨大,容易出现堆积,出现延迟及数据丢失,影响埋点数据上报的实时性和可靠性。
发明内容
本发明的主要目的在于提供一种埋点数据收集上报的方法、装置及计算机可读存储介质,通过建立全局唯一的TCP通道,使应用能够直接将收集的埋点数据上报至服务端,不仅提高应用埋点数据上报的实时性和可靠性,而且不会影响应用性能。
根据本发明的第一方面,提供了一种埋点数据收集上报的方法,包括:
构建TCP通道和单队列;
将所述应用收集的埋点数据加入所述单队列;
通过所述TCP通道建立所述单队列与对应服务端的连接;
通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据。
通过自建的单队列单条发送取代原有的利用操作系统队列高并发,不仅避免了高并发影响APP性能,而且,由于自建了发送埋点数据的单队列和传输埋点数据的TCP通道,不需要操作系统参与,就能直接将埋点数据发送至服务端,因此,单队列发送与TCP通道传输相结合后,简化掉与操作系统的后台建立连接这一耗时过程,且TCP通道比HTTP的数据传输速度更快,所以在整体上提高了埋点数据收集上报的实时性和可靠性。
本发明一个特定的实施例中,将所述应用的埋点数据加入所述单队列,包括:
将来自应用的上层业务的所述埋点数据存入本地;
将本地存储的所述埋点数据加入所述单队列。在埋点数据量剧增时,能够避免放生数据堵塞,导致数据丢失,提高了埋点数据上报的可靠性。
本发明一个特定的实施例中,在所述通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据之后,还包括:如果所述埋点数据成功发送至所述服务端,从本地删除所述埋点数据。能够节省本地的存储空间,避免因存储空间不足对客户端上应用运行造成影响。
本发明一个特定的实施例中,所述通过所述TCP通道建立所述单队列与对应服务端的连接,还包括:
如果通过所述TCP通道建立所述单队列与应用对应服务端的连接失败;
利用HTTP建立单队列与服务端的网络连接,并通过HTTP通道向服务端发送单队列中的埋点数据。不仅能够提高埋点数据上报的可靠性,而且保证埋点数据上报的及时性。
本发明一个特定的实施例中,所述通过所述TCP通道建立所述单队列与应用对应服务端的连接,还包括:
如果通过所述TCP通道建立所述单队列与应用对应服务端的连接失败,每隔第一预设时间,通过所述TCP通道建立所述单队列与应用对应服务端的连接。在故障解除后,保证第一时间采用更优的方案上报埋点数据。
本发明另一个特定的实施例中,所述通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据之后,还包括:
如果所述埋点数据未成功发送至所述服务端,使用HTTP向所述服务端重新发送所述埋点数据。采用多通道进行埋点数据上报,不仅能够提高数据上报的可靠性,还可以尽量保证埋点数据上报的及时性。
本发明另一个特定的实施例中,还包括:
如果所述埋点数据未成功发送至所述服务端,将所述埋点数据存入待发送区;
将所述待发送区存储的埋点数据加入单队列。
保证未成功发送至服务端的埋点数据不丢失,且最终能够上报给服务端,提高了埋点数据上报的可靠性。
本发明另一个特定的实施例中,所述将所述待发送区存储的埋点数据加入单队列,包括:
每隔第二预设时间,判断CPU是否为空闲状态,如果CPU为空闲状态,遍历所述待发送区,将所述待发送区存储的埋点数据加入单队列。由于待发送区存储的埋点数据已经失去了实时性,选择CPU在空闲状态发送,不会对新的埋点数据实时性造成影响。
根据本发明的第二方面,提供了一种埋点数据收集上报的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的数据收集上报的方法。
根据本发明的第三方面,提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面所述的数据收集上报的方法。
本发明上述技术方案中的一个技术方案至少具有如下优点或有益效果之一:通过自建的单队列单条发送取代原有的利用操作系统队列高并发,不仅避免了高并发影响APP性能的问题,而且,由于自建了发送埋点数据的单队列和传输埋点数据的TCP通道,不需要操作系统参与,就能直接将埋点数据发送至服务端,因此,单队列发送与TCP通道传输相结合后,简化掉与操作系统的后台建立连接这一耗时过程,且TCP通道比HTTP的数据传输速度更快,所以在整体上提高了埋点数据收集上报的实时性和可靠性。另外,本发明实施例只需要从上层业务获取埋点数据,并不改变上层业务代码和埋点统计,代码修改量少,不影响上层业务性能。
附图说明
图1是本发明实施例提供的一种埋点数据收集上报的方法的流程图;
图2是本发明实施例中步骤S300的流程图;
图3是本发明实施例中步骤S400的流程图;
图4是采用本发明实施例进行埋点数据收集上报的流程图;
图5是本发明实施例提供的一种埋点数据收集上报的装置的结构框图。
具体实施方式
下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”以及“第二”的特征可以明示或者隐含地包括一个或者更多个特征。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”应做广义理解,例如,可以是固定连接或活动连接,也可以是可拆卸连接或不可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通、间接连通或两个元件的相互作用关系。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同方案。
参照图1所示,为本发明实施例提供的一种埋点数据收集上报的方法,应用于客户端的应用(APP),用于将APP通过埋点方式收集的埋点数据上报给APP的服务端。
步骤S100、构建全局(应用本实施例的客户端上)唯一的TCP(TransmissionControl Protocol,传输控制协议)通道和一个单队列,在构建过程中,不改变应用的上层业务代码,不对应用的上层业务性能有影响;在本发明的一实施例中,应用被打开,触发TCP通道和单队列构建程序,开始执行步骤S100。
步骤S200、将应用上层业务实时收集的埋点数据加入单队列,采用单队列方式进行埋点数据发送,避免高并发影响APP性能。
步骤S300、通过TCP通道建立单队列与对应服务端的连接;在本实施例中可以在执行完S200后马上执行步骤S300,也可以是在接收到埋点数据上报请求后执行步骤S300,通过TCP建立连接后,在不断电、断网或客户端出现故障的情况下,通过TCP通道建立的连接不会断,不需要每次收到埋点数据上报请求都重新建立连接,速度比HTTP更快。
步骤S400、通过TCP通道将单队列中的埋点数据发送给服务端。本实施例不再使用操作系统队列并发,而是使用自己创建的单队列进行发送,不仅避免高并发影响APP性能,而且由于与TCP通道结合,不需要反复同操作系统的后台服务器建立连接,与高并发相比,采用单队列发送的实时性并没有降低,而TCP通道比HTTP的数据传输速度更快,因此埋点数据收集上报的整体实时性比现有方案更好。
本发明实施例通过自建的单队列单条发送取代原有的利用操作系统队列高并发,不仅避免了高并发影响APP性能的问题,而且,由于自建了发送埋点数据的单队列和传输埋点数据的TCP通道,不需要操作系统参与,就能直接将埋点数据发送至服务端,因此,单队列发送与TCP通道传输相结合后,简化掉与操作系统的后台建立连接这一耗时过程,且TCP通道比HTTP的数据传输速度更快,所以在整体上提高了埋点数据收集上报的实时性和可靠性。另外,本实施例只需要从上层业务获取埋点数据,并不改变上层业务代码和埋点统计,代码修改量少,不影响上层业务性能。
在埋点数据上报过程中,如果埋点数据量太大超出队列处理能力,会发生堵塞,造成埋点数据丢失。为了避免发生因埋点数据量太大造成堵塞,优先保证埋点数据收集上报的可靠性,将应用上层业务实时收集的埋点数据先存入本地,再从本地加入单队列,这样即使埋点数据量突然剧增,都会先存入本地,不会堆积在单队列中造成堵塞进而导致数据丢失。因为客户端数据存储速度较快,大约在0.0001毫秒,比埋点数据通过网络传输的过程耗时小几万倍,所以在将埋点数据通过网络传送至服务端的过程中,将埋点数据存储至本地对网络传输实时性的影响可以忽略。在本实施例的步骤S300包括以下步骤:
从应用的上层业务获取上层业务实时收集的埋点数据(应用上层业务通过埋点实时收集的数据),并将获取的埋点数据存储至本地(应用所在客户端),可见本实施例并没有修改应用的上层业务代码,只需从上层业务上获取埋点数据,代码修改量少,且不影响上层业务的性能;
将本地存储的埋点数据发送至单队列中;本实施例为了保证埋点数据收集上报的实时性,先存入本地的埋点数据先发送至单队列中,避免在数据量不大时出现个别埋点数据上报延迟的情况。
本实施例为了保证埋点数据能够及时上报,提高埋点上报的可靠性,在步骤S300中,如果通过TCP通道建立单队列与对应服务端的连接失败,通过HTTP建立单队列与服务端的网络连接,然后,通过HTTP通道向服务端发送单队列中的埋点数据。
为了能够尽早使用TCP通道上报埋点数据,如果通过TCP通道建立单队列与对应服务端的连接失败,每隔第一预设时间(根据用户要求进行设置),都尝试通过TCP通道埋点数据建立单队列与对应服务端的连接,直到连接成功,通过TCP上报埋点数据。所以,如图2所示,步骤S300包括以下步骤:
步骤S301、通过TCP通道建立单队列与对应服务端的连接;
步骤S302、判断通过TCP通道建立单队列与对应服务端的连接是否成功,如果是执行步骤S400;否则,执行步骤S303;
步骤S303、开始进行计时,同时,发送HTTP请求,通过HTTP建立单队列与服务端的网络连接,并通过HTTP通道向服务端发送单队列中的埋点数据;
步骤S304、在计时时间达到第一预设时间时,执行步骤S301。
因为网络异常等原因,会造成通过TCP通道向服务端发送埋点数据失败;而在实际应用中,存在HTTP传输链路与TCP不同的情况,即使TCP通道因网络异常无法向服务端成功发送埋点数据,使用HTTP发送也可能会成功,所以,为了不影响埋点数据上报的及时性,在本发明的另一实施例中,采用多通道上报,如果通过TCP通道向服务端发送单队列中的埋点数据失败,埋点数据未成功发送至服务端,则使用HTTP向服务端重新发送该埋点数据,尽量保证埋点数据上报的及时性以及避免埋点数据丢失,提高埋点数据上报的及时和可靠。
为了避免丢失未成功发送至服务端的埋点数据,进一步提升埋点数据收集上报的可靠性,在本发明的另一实施例中,步骤S400还包括:
如果向服务端发送埋点数据失败,埋点数据未成功发送至服务端,将发送失败的数据存储在待发送区;
将待发送区存储的埋点数据逐个加入单队列,然后再执行步骤S400,将待发送区的埋点数据向服务端重新发送,此时,优先考虑可靠性,保证发送失败的埋点数据不丢失。本实施例的埋点数据未成功发送至服务端包括两种情况:
(1)通过TCP通道向服务端发送埋点数据,埋点数据未成功发送至服务端;该情况是只采用TCP通道单通道进行性埋点数据上报,埋点数据未成功发送至服务端后,不再尝试使用HTTP通道重新发送;
(2)通过HTTP通道向服务端发送埋点数据,埋点数据未成功发送至服务端;其中,包括:通过TCP通道建立单队列与应用对应服务端的连接失败后,通过HTTP通道向服务端发送埋点数据,埋点数据未成功发送至服务端;以及,通过TCP通道向服务端发送单队列中的埋点数据,埋点数据未成功发送至服务端,然后通过HTTP通道向服务端发送埋点数据,埋点数据仍然未成功发送至服务端。
在本实施例中,将待发送区存储的埋点数据加入单队列,包括以下步骤:
每隔第二预设时间(如3秒、10秒、15秒等),判断CPU是否为空闲状态;
如果CPU是空闲状态,遍历待发送区,将待发送区存储的埋点数据加入单队列,执行步骤S400,重新向服务端发送;
如果不是空闲状态,继续等待,并在第二预设时间预后,再判断CPU是否为空闲状态,开始下一次的CPU空闲状态判断步骤。如果是正在将待发送区存储的埋点数据加入单队列时,判定为不是空闲状态,停止加入单队列的动作,继续等待,直到空闲状态时,继续将待发送区存储的埋点数据加入单队列,避免影响新收集埋点数据上报及时性。
在步骤S200中,为了避免数据丢失会将来自上层业务的埋点数存入本地,但是埋点数据量很大,而本地存储空间却有限,为了节省本地的存储空间,避免因存储空间不足对客户端上应用运行造成影响以及重复发送,在本实施例中,步骤S400还包括:
如果埋点数据成功发送至服务端,从本地删除发送成功的埋点数据;本实施例将埋点数据发送至服务端后,会收到服务端返回的发送成功消息,接收到发送成功消息后,从本地删除发送成功的该埋点数据,无论是采用哪种方式将埋点数据发送至服务端的,所以,本实施例的埋点数据成功发送至服务端包括两种情况:
(1)通过TCP通道向服务端发送埋点数据,埋点数据成功发送至服务端;
(2)通过HTTP通道向服务端发送埋点数据,埋点数据成功发送至服务端。其中,包括:通过TCP通道建立单队列与应用对应服务端的连接失败后,通过HTTP通道向服务端发送埋点数据;以及,通过TCP通道向服务端发送单队列中的埋点数据,埋点数据未成功发送至服务端,通过HTTP通道向服务端发送埋点数据。
如图3所示,步骤S400包括以下步骤:
步骤S401、通过TCP通道向服务端发送单队列中的埋点数据。
步骤S402、判断埋点数据是否成功发送至服务端,如果成功发送至服务端,执行步骤S406;否则,执行步骤S403;在本实施例中,如果在第三预设时间(即数据收发超时设置,根据应用系统的要求,进行第三预设时间设置)内收到服务端返回的发送成功消息,判定为埋点数据成功发送至服务端,如果在第三预设时间内没有收到服务端返回的发送成功消息,判定为埋点数据未成功发送至服务端。
步骤S403、发送HTTP请求,通过HTTP协议与服务端建立网络连接,通过HTTP通道向服务端重新发送未成功发送至服务端的埋点数据,然后执行步骤S404。
步骤S404、判断埋点数据是否成功发送至服务端,如果成功发送至服务端,执行步骤S406;否则,执行步骤S405。
步骤S405、将未成功发送至服务端的埋点数据存入待发送区,并在CPU为空闲状态时,将待发送区的埋点数据添加至单队列,然后重新执行步骤S400。
步骤S406、从本地删除成功发送至服务端的埋点数据。
步骤S407、结束本条埋点数据的发送程序。
如图4所示,为采用本发明实施例进行埋点数据收集上报的流程图,包括以下步骤:
步骤A1、从应用的上层业务获取埋点数据;其中,埋点数据是上层业务通过埋点方式收集的数据;
步骤A2、将从每个上层业务获取的埋点数据在本地进行存储;
步骤A3、将本地存储的埋点数据添加至单队列;
步骤A4、通过TCP通道建立单队列与应用对应服务端的连接,如果连接成功,执行步骤A5;否则,执行步骤A6;
步骤A5、通过TCP通道向服务端发送单队列中的埋点数据,如果成功发送至服务端,执行步骤A8;否则,执行步骤A6;
步骤A6、发送HTTP请求,通过HTTP协议与服务端建立网络连接,通过HTTP通道向服务端发送埋点数据,如果成功发送至服务端,执行步骤A8;否则,执行步骤A7;
步骤A7、将未成功发送至服务端的埋点数据存入待发送区,并在CPU为空闲状态时,将待发送区中的埋点数据添加至单队列,然后执行步骤A4;
步骤A8、从本地删除已发送至服务端的埋点数据,然后结束本条埋点数据的上报程序。
如图5所示,本发明实施例还提供了一种埋点数据收集上报的装置,该装置安装在智能设备上或应用中。
具体地,该装置包括:一个或多个处理器200和存储器100,图5中以一个处理器200及存储器100为例。处理器200和存储器100可以通过总线或者其他方式连接,如以通过总线连接为例。
存储器100作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例中的一种埋点数据收集上报的方法。处理器200通过运行存储在存储器100中的非暂态软件程序以及指令,从而实现上述本发明实施例中的一种埋点数据收集上报的方法。
存储器100可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储执行上述实施例中的一种埋点数据收集上报的方法所需的数据等。此外,存储器100可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例中的一种埋点数据收集上报的方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述实施例中的一种埋点数据收集上报的方法,例如,执行以上描述的图1中的方法步骤S100至步骤S400、图2中的方法步骤S301至步骤S304、图3中的方法步骤S401至步骤S407、图4中的方法步骤A1至步骤A8。
另外,本发明的一个实施例还提供了计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得上述一个或多个处理器执行上述实施例中的一种埋点数据收集上报的方法,例如,执行以上描述的图1中的方法步骤S100至步骤S400、图2中的方法步骤S301至步骤S304、图3中的方法步骤S401至步骤S407、图4中的方法步骤A1至步骤A8。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (10)

1.一种埋点数据收集上报的方法,其特征在于,包括:
构建TCP通道和单队列;
将应用收集的埋点数据加入所述单队列;
通过所述TCP通道建立所述单队列与对应服务端的连接;
通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据。
2.根据权利要求1所述的方法,其特征在于,将所述应用的埋点数据加入所述单队列,包括:
将来自应用的上层业务的所述埋点数据存入本地;
将本地存储的所述埋点数据加入所述单队列。
3.根据权利要求2所述的方法,其特征在于,在所述通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据之后,还包括:如果所述埋点数据成功发送至所述服务端,从本地删除所述埋点数据。
4.根据权利要去1所述的方法,其特征在于,所述通过所述TCP通道建立所述单队列与应用对应服务端的连接,还包括:
如果通过所述TCP通道建立所述单队列与对应服务端的连接失败;
利用HTTP建立单队列与服务端的网络连接,并通过HTTP通道向服务端发送单队列中的埋点数据。
5.根据权利要去1所述的方法,其特征在于,所述通过所述TCP通道建立所述单队列与应用对应服务端的连接,还包括:
如果通过所述TCP通道建立所述单队列与应用对应服务端的连接失败,每隔第一预设时间,通过所述TCP通道建立所述单队列与应用对应服务端的连接。
6.根据权利要去1所述的方法,其特征在于,所述通过所述TCP通道向所述服务端发送所述单队列中的所述埋点数据之后,还包括:
如果所述埋点数据未成功发送至所述服务端,使用HTTP向所述服务端重新发送所述埋点数据。
7.根据权利要求1至6任意一项所述的方法,其特征在于,还包括:
如果所述埋点数据未成功发送至所述服务端,将所述埋点数据存入待发送区;
将所述待发送区存储的埋点数据加入单队列。
8.根据权利要求7所述的方法,其特征在于,所述将所述待发送区存储的埋点数据加入单队列,包括:
每隔第二预设时间,判断CPU是否为空闲状态,如果CPU为空闲状态,遍历所述待发送区,将所述待发送区存储的埋点数据加入单队列。
9.一种埋点数据收集上报的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8中任意一项所述的数据收集上报的方法。
10.计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行权利要求1至8中任意一项所述的数据收集上报的方法。
CN202010599433.9A 2020-06-28 2020-06-28 埋点数据收集上报的方法、装置及介质 Pending CN111782467A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010599433.9A CN111782467A (zh) 2020-06-28 2020-06-28 埋点数据收集上报的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010599433.9A CN111782467A (zh) 2020-06-28 2020-06-28 埋点数据收集上报的方法、装置及介质

Publications (1)

Publication Number Publication Date
CN111782467A true CN111782467A (zh) 2020-10-16

Family

ID=72761651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010599433.9A Pending CN111782467A (zh) 2020-06-28 2020-06-28 埋点数据收集上报的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN111782467A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139157A (zh) * 2011-11-28 2013-06-05 北京南车时代信息技术有限公司 一种基于socket的网络通信方法、装置及系统
CN106603598A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 处理业务请求的方法及装置
US20180241835A1 (en) * 2017-02-21 2018-08-23 Experian Health, Inc. Monitoring highly distributed computer systems
CN109547234A (zh) * 2018-10-18 2019-03-29 广州市百果园信息技术有限公司 一种数据处理、上报方法、装置、设备和存储介质
CN110764972A (zh) * 2019-10-31 2020-02-07 重庆长安汽车股份有限公司 去app化车机埋点方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139157A (zh) * 2011-11-28 2013-06-05 北京南车时代信息技术有限公司 一种基于socket的网络通信方法、装置及系统
CN106603598A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 处理业务请求的方法及装置
US20180241835A1 (en) * 2017-02-21 2018-08-23 Experian Health, Inc. Monitoring highly distributed computer systems
CN109547234A (zh) * 2018-10-18 2019-03-29 广州市百果园信息技术有限公司 一种数据处理、上报方法、装置、设备和存储介质
CN110764972A (zh) * 2019-10-31 2020-02-07 重庆长安汽车股份有限公司 去app化车机埋点方法

Similar Documents

Publication Publication Date Title
CN111752803A (zh) 埋点数据收集上报的方法、装置及介质
EP3873066A1 (en) Method for managing resource state information, and resource downloading system
CN110460412B (zh) 用于数据传输的方法和rdma网卡
CN112118315A (zh) 数据处理系统、方法、装置、电子设备和存储介质
KR20130082070A (ko) 통신 장치 및 통신 방법
US10687271B2 (en) Network accessing method
CN112205036A (zh) 动态信道绑定的系统和方法
CN109525376B (zh) 快速重传方法、装置及终端设备
CN1114308C (zh) 无线通信系统中分配无线资源的方法
WO2012075970A1 (zh) 一种获取媒体内容的方法、设备及系统
CN110120980A (zh) 非稳定链路的可靠文件传输方法、计算机设备及存储介质
CN110661673B (zh) 一种心跳检测的方法及装置
JPH11340986A (ja) 無線通信システムで用いられる装置とプログラム記録媒体
CN113986501A (zh) 实时数据库api无中断调用方法、系统、存储介质及服务器
CN116566921A (zh) 远程直接内存访问读取的拥塞控制方法、系统及存储介质
CN113301284B (zh) 执法记录仪系统和流程
CN102685143B (zh) 音频数据的传输方法以及客户端、服务器
CN111404842B (zh) 数据传输方法、装置及计算机存储介质
US11115474B2 (en) Data transmission and network interface controller
CN111818582B (zh) 数据传输方法、装置及电子设备
CN117579611A (zh) 数据传输方法、装置、存储介质及电子装置
CN111782467A (zh) 埋点数据收集上报的方法、装置及介质
CN108988994B (zh) 报文的重传方法及装置
US10659375B2 (en) Controlling data rate based on domain and radio usage history
CN117319165A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201016