CN113285853A - 日志上报方法、装置、终端及存储介质 - Google Patents
日志上报方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113285853A CN113285853A CN202110529983.8A CN202110529983A CN113285853A CN 113285853 A CN113285853 A CN 113285853A CN 202110529983 A CN202110529983 A CN 202110529983A CN 113285853 A CN113285853 A CN 113285853A
- Authority
- CN
- China
- Prior art keywords
- request
- network
- network request
- queue
- sent
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种日志上报方法、装置、终端及存储介质,涉及软件技术领域。该方法包括:响应于被触发的网络请求,若所述被触发的网络请求用于获取网页内容,则将所述被触发的网络请求缓存至第一请求队列中;若所述被触发的网络请求用于上报日志信息,则将所述被触发的网络请求缓存至第二请求队列中;优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求。在上述方法中,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而提高了网页应用的运行效率。
Description
技术领域
本公开涉及软件技术领域,尤其涉及日志上报方法、装置、终端及存储介质。
背景技术
在发布完成一个网页应用之后,需要对网页应用的运行情况进行监控,以及时获知该网页应用在运行过程中出现的问题,从而减少运行网页应用出现异常时对用户造成的影响。因此终端在运行该网页应用时,需要将该网页应用在运行过程中生成的日志信息以网络请求的形式发送给服务器,以实现对网页的运行情况的监控。
相关技术中,在用户操作网页应用的某个网页时,终端会生成该网页对应的日志信息;在日志信息生成之后,立即向服务器发送携带有该日志信息的网络请求。上述技术中,终端可能需要获取页面内容,此时终端需要向服务器发送用于获取网页内容的网络请求,而用于获取网页内容的网络请求和用于上报日志信息的网络请求共用一个线程通道,从而上报日志信息的网络请求可能会阻塞该线程通道,这样终端无法及时获取到网页内容,从而网页应用的运行出现卡顿,进而降低网页应用的运行效率。
发明内容
本公开提供一种日志上报方法、装置、终端及存储介质,能够提高网页应用的运行效率。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种日志上报方法,所述日志上报方法包括:
响应于被触发的网络请求,若所述被触发的网络请求用于获取网页内容,则将所述被触发的网络请求缓存至第一请求队列中;
若所述被触发的网络请求用于上报日志信息,则将所述被触发的网络请求缓存至第二请求队列中;
优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求。
在一些实施例中,所述优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求,包括:
周期性探测所述第一请求队列中的网络请求的请求状态;
若所述第一请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第一请求队列的头部最近,且请求状态为待发送的网络请求;
若所述第一请求队列中不存在请求状态为待发送的网络请求,则探测所述第二请求队列中的网络请求的请求状态;
若所述第二请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第二请求队列的头部最近,且请求状态为待发送的网络请求。
在另一些实施例中,向所述服务器发送任一请求队列中的网络请求的过程,包括:
确定所述任一请求队列中的每个网络请求的请求状态;
根据所述每个网络请求的请求状态,从所述任一请求队列中确定请求状态为待发送的至少一个网络请求;
按照所述至少一个网络请求在所述任一请求队列中的位置,依次向所述服务器发送所述至少一个网络请求。
在另一些实施例中,所述方法还包括:
在向所述服务器发送所述网络请求的过程中,将所述网络请求的请求状态由所述待发送修改为发送中;
在向所述服务器发送所述网络请求成功之后,将所述网络请求从其所在的请求队列中删除。
在另一些实施例中,所述方法还包括:
在将所述网络请求存储至其所在的请求队列之后,将所述网络请求的请求状态设置为待发送。
在另一些实施例中,所述将所述被触发的网络请求缓存至第一请求队列中,包括:
若所述被触发的网络请求用于获取的网页内容为关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的头部;
若所述被触发的网络请求用于获取的网页内容为非关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的尾部。
在另一些实施例中,所述方法还包括:
在向所述服务器发送所述第二请求队列中的所述每个网络请求的过程中,若所述第一请求队列中增加了待发送的网络请求,暂停向所述服务器发送所述第二请求队列中的网络请求;
向所述服务器发送所述第一请求队列中增加的网络请求;
在向所述服务器发送所述增加的网络请求之后,继续向所述服务器发送所述第二请求队列中的网络请求。
根据本公开实施例的第二方面,提供一种日志上报装置,所述日志上报装置包括:
请求缓存单元,被配置为执行响应于被触发的网络请求,若所述被触发的网络请求用于获取网页内容,则将所述被触发的网络请求缓存至第一请求队列中;若所述被触发的网络请求用于上报日志信息,则将所述被触发的网络请求缓存至所述第二请求队列中;
请求发送单元,被配置为执行优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求。
在一些实施例中,所述请求发送单元,包括:
状态探测子单元,被配置为执行周期性探测所述第一请求队列中的网络请求的请求状态;
请求发送子单元,被配置为执行若所述第一请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第一请求队列的头部最近,且请求状态为待发送的网络请求;
所述状态探测子单元,还被配置为执行若所述第一请求队列中不存在请求状态为待发送的网络请求,则探测所述第二请求队列中的网络请求的请求状态;
所述请求发送子单元,被配置为执行若所述第二请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第二请求队列的头部最近,且请求状态为待发送的网络请求。
在另一些实施例中,所述请求发送单元,包括:
第一确定子单元,被配置为执行确定任一请求队列中的每个网络请求的请求状态;
第二确定子单元,被配置为执行根据所述每个网络请求的请求状态,从所述任一请求队列中确定请求状态为待发送的至少一个网络请求;
所述请求发送子单元,还被配置为执行按照所述至少一个网络请求在所述任一请求队列中的位置,依次向所述服务器发送所述至少一个网络请求。
在另一些实施例中,所述装置还包括:
状态修改单元,被配置为执行在向所述服务器发送所述网络请求的过程中,将所述网络请求的请求状态由所述待发送修改为发送中;
请求删除单元,被配置为执行在向所述服务器发送所述网络请求成功之后,将所述网络请求从其所在的请求队列中删除。
在另一些实施例中,所述装置还包括:
状态设置单元,被配置为执行在将所述网络请求存储至其所在的请求队列之后,将所述网络请求的请求状态设置为待发送。
在另一些实施例中,所述请求缓存单元,被配置为执行若所述被触发的网络请求用于获取的网页内容为关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的头部;若所述被触发的网络请求用于获取的网页内容为非关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的尾部。
在另一些实施例中,所述装置还包括:
所述请求发送单元,还被配置为执行在向所述服务器发送所述第二请求队列中的所述每个网络请求的过程中,若所述第一请求队列中增加了请求状态为待发送的网络请求,则暂停向所述服务器发送所述第二请求队列中的网络请求;向所述服务器发送所述第一请求队列中增加的网络请求;在向所述服务器发送所述增加的网络请求之后,继续向所述服务器发送所述第二请求队列中的网络请求。
根据本公开实施例的第三方面,提供一种终端,所述终端包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述实施例所述的日志上报方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如上述实施例所述的日志上报方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述实施例所述的日志上报方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在本公开实施例中,通过将用于上报日志信息的网络请求和用于获取网页内容的网络请求分别缓存在不同的请求队列中,从而以请求队列的方式来优先向服务器发送用于获取网页内容的网络请求,再发送用于上报日志信息的网络请求,这样,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而保证能够及时获取到网页内容,提高了网页应用的运行效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种日志上报方法的实施环境的示意图。
图2是根据一示例性实施例示出的一种日志上报方法的流程图。
图3是根据一示例性实施例示出的一种日志上报方法的流程图。
图4是根据一示例性实施例示出的一种日志上报方法的流程图。
图5是根据一示例性实施例示出的一种日志上报方法的流程图。
图6是根据一示例性实施例示出的一种日志上报方法的流程图。
图7是根据一示例性实施例示出的一种日志上报装置的结构框图。
图8是根据一示例性实施例示出的一种终端的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
图1是根据一示例性实施例示出的一种日志上报方法的实施环境的示意图。参见图1,该实施环境至少包括终端10和服务器20。终端10和服务器20之间通过无线或者有线网络连接。
终端10上安装有由服务器20提供服务的网页应用,且终端10能够通过该网页应用实现例如数据交互等功能。在一些实施例中,该网页应用为终端10操作系统中的应用,或者为第三方提供的应用。该网页应用不仅具有网页运行功能,还具有日志上报功能。
在一些实施例中,该网页应用为用于访问业务办理网站的网页应用,例如,网页应用可以为浏览器或者包含webview(网页视图)控件的任一应用。在另一些实施例中,该网页应用可以为能够为小程序提供运行环境的任一应用。相应的,终端10无需下载和安装小程序,就可以基于网页应用提供的运行环境运行小程序。例如,该网页应用可以为社交应用。
其中,终端10为手机、平板电脑和PC(Personal Computer)设备等设备中的至少一种。服务器20可以为一台服务器、由多台服务器组成的服务器集群、云服务器、云计算平台和虚拟化中心中的至少一种。
本公开实施例提供的日志上报方法可以应用在任一网页应用的日志上报场景中。
例如,该网页应用可以为浏览器,该网页应用显示有视频网站的首页,该首页中显示有视频播放按钮,当用户通过终端触发该视频播放按钮时,终端生成该首页对应的日志信息,通过本公开实施例提供的日志上报方法,向服务器发送携带有该日志信息的网络请求,进而服务器能够基于该日志信息对该网页应用的运行情况进行监控。
再如,该网页应用可以为能够为小程序提供运行环境的应用,该网页应用中运行有用于视频拍摄的小程序,该小程序的首页中显示有视频拍摄按钮,当用户通过终端触发该视频拍摄按钮时,终端生成该首页对应的日志信息,通过本公开实施例提供的日志上报方法,向服务器发送携带有该日志信息的网络请求,进而服务器能够基于该日志信息对该网页应用的运行情况进行监控。
图2是根据一示例性实施例示出的一种日志上报方法的流程图,如图2所示,该日志上报方法用于终端中,包括以下步骤。
在步骤S21中,响应于被触发的网络请求,若该被触发的网络请求用于获取网页内容,则将该被触发的网络请求缓存至第一请求队列中。
在步骤S22中,若该被触发的网络请求用于上报日志信息,则将该被触发的网络请求缓存至第二请求队列中。
在步骤S23中,优先向服务器发送该第一请求队列中的网络请求,若该第一请求队列中不存在待发送的网络请求,则向该服务器发送该第二请求队列中的网络请求。
在一些实施例中,该优先向服务器发送该第一请求队列中的网络请求,若该第一请求队列中不存在待发送的网络请求,则向该服务器发送该第二请求队列中的网络请求,包括:
周期性探测该第一请求队列中的网络请求的请求状态;
若该第一请求队列中存在请求状态为待发送的网络请求,则向该服务器发送距离该第一请求队列的头部最近,且请求状态为待发送的网络请求;
若该第一请求队列中不存在请求状态为待发送的网络请求,则探测该第二请求队列中的网络请求的请求状态;
若该第二请求队列中存在请求状态为待发送的网络请求,则向该服务器发送距离该第二请求队列的头部最近,且请求状态为待发送的网络请求。
在另一些实施例中,向该服务器发送任一请求队列中的网络请求的过程,包括:
确定该任一请求队列中的每个网络请求的请求状态;
根据该每个网络请求的请求状态,从该任一请求队列中确定请求状态为待发送的至少一个网络请求;
按照该至少一个网络请求在该任一请求队列中的位置,依次向该服务器发送该至少一个网络请求。
在另一些实施例中,该方法还包括:
在向该服务器发送该网络请求的过程中,将该网络请求的请求状态由该待发送修改为发送中;
在向该服务器发送该网络请求成功之后,将该网络请求从其所在的请求队列中删除。
在另一些实施例中,该方法还包括:
在将该网络请求存储至其所在的请求队列之后,将该网络请求的请求状态设置为待发送。
在另一些实施例中,该将该被触发的网络请求缓存至第一请求队列中,包括:
若该被触发的网络请求用于获取的网页内容为关键内容,则将该被触发的网络请求缓存至该第一请求队列的头部;
若该被触发的网络请求用于获取的网页内容为非关键内容,则将该被触发的网络请求缓存至该第一请求队列的尾部。
在另一些实施例中,该方法还包括:
在向该服务器发送该第二请求队列中的该每个网络请求的过程中,若该第一请求队列中增加了待发送的网络请求,暂停向该服务器发送该第二请求队列中的网络请求;
向该服务器发送该第一请求队列中增加的网络请求;
在向该服务器发送该增加的网络请求之后,继续向该服务器发送该第二请求队列中的网络请求。
在本公开实施例中,通过将用于上报日志信息的网络请求和用于获取网页内容的网络请求分别缓存在不同的请求队列中,从而以请求队列的方式来优先向服务器发送用于获取网页内容的网络请求,再发送用于上报日志信息的网络请求,这样,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而保证能够及时获取到网页内容,提高了网页应用的运行效率。
图3是根据一示例性实施例示出的一种日志上报方法的流程图,如图3所示,该日志上报方法用于终端中,包括以下步骤。
在步骤S31中,终端确定网络请求被触发。
其中,终端中安装有网页应用,例如,浏览器、社交应用、支付应用、视频应用等。在运行网页应用的过程中,终端在显示界面显示该网页应用的任一网页,而用户可以通过终端对该网页进行触发操作,相应的,步骤S31的实现方式可以为:终端响应于对该网页应用的任一网页的触发操作,确定该网络请求被触发。
在本公开实施例中,该被触发的网络请求包括用于获取网页内容的网络请求或者用于上报日志信息的网络请求。
对于同一网页应用,用于获取网页内容的网络请求与用于上报日志信息的网络请求可能共用一个线程通道,而当用于获取网页内容的网络请求与用于上报日志信息的网络请求同时被触发时,则终端需同时向服务器发送该用于获取网页内容的网络请求与用于上报日志信息的网络请求,这样,该线程通道可能发生阻塞。
并且,由于终端通过API(Application Programming Interface,应用程序接口)向服务器发送网络请求,则对于同一个网页应用,用于获取网页内容的网络请求与用于上报日志信息的网络请求需通过同一个API来发送,而当第一网络请求与第二网络请求同时被触发时,该API接口也可能发送阻塞。
在一些实施例中,在确定网络请求被触发之后,终端可以先将该网络请求缓存至请求队列中,再向服务器发送请求队列中的网络请求。相应的,终端继续执行步骤S32或者步骤S33的操作,将该被触发的网络请求缓存至对应的请求队列中。
在步骤S32中,若被触发的网络请求用于获取网页内容,则终端将该被触发的网络请求缓存至第一请求队列中。
在本步骤中,终端将用于获取网页内容的网络请求缓存至第一请求队列中,也即是第一请求队列中的网络请求为用于获取网页内容的网络请求。
在一些实施例中,由于不同的网页内容的关键程度可能不同,因此,终端可以基于网页内容的关键程度,来确定该网络请求在第一请求队列中的缓存位置。相应的,终端将该被触发的网络请求缓存至第一请求队列中的实现方式至少包括以下两种情况:
第一种情况:若该被触发的网络请求用于获取的网页内容为关键内容,则终端将该被触发的网络请求缓存至该第一请求队列的头部。
其中,对于用于获取网页内容的网络请求,终端可以基于该网页内容的关键程度确定确定该网络内容是否为关键内容。相应的,若网页内容的关键程度高于预设程度,则终端确定该网页内容为关键内容;若网页内容的关键程度不高于预设程度,则终端确定该网页内容为非关键内容。
在该实施例中,终端事先设置有预设程度,该预设程度可以根据需要进行设置和更改,本公开对此不作具体限定。此外,终端事先对网页中能够获取的网页内容标注标签,该标签用于表示该网页内容的关键程度;则对于用于获取网页内容的网络请求,终端确定其用于获取的网页内容的关键程度的实现方式可以为:终端确定该网页内容的标签,将该标签对应的关键程度作为该网页内容的关键程度。
在该实施例中,若该网络请求用于获取关键内容,则说明该网络请求的优先级较高,即需要尽快向服务器发送,则对于用于获取关键内容的网络请求,终端直接向服务器发送该网络请求,或者,将该网络请求缓存至第一请求队列的头部,再向服务器发送该网络请求。
在一种可能的实现方式中,该被触发的网络请求的数量可能为多个,也即是终端同时触发了多个网络请求,此时,由于对于每个用于获取关键内容的网络请求来说,其用于获取的关键内容的类型可能不同,则终端可以根据关键内容的类型来确定该多个网络请求在第一请求队列中的缓存位置。
相应的,若该多个网络请求均为用于获取关键内容的网络请求,且该关键内容的类型包括文字类型和图像类型,则对于该多个网络请求,终端根据关键内容的类型,确定该多个网络请求在第一请求队列中的缓存位置的实现方式可以由以下几种实现方式来实现:
第一种实现方式:若该多个网络请求用于获取的关键内容的类型不同,则终端先将用于获取的关键内容的类型为图像类型的网络请求缓存至该第一请求队列的头部,再将用于获取的关键内容的类型为文字类型的网络请求缓存至该第一请求队列的头部。
在该实现方式中,由于先缓存用于获取图像类型的关键内容的网络请求,再缓存用于获取文字类型的关键内容的网络请求,进而保证了用于获取文字类型的关键内容的网络请求位于第一请求队列的头部,从而在后续在发送请求时,用于获取文字类型的关键内容的网络请求能够优先发送。
第二种实现方式:若该多个网络请求用于获取的关键内容的类型相同,则终端依次将该多个网络请求缓存至第一请求队列的头部。其中,终端对该多个网络请求的缓存顺序不作具体限定。
在该实现方式中,若用于获取的关键内容的类型相同,则无需对该多个网络请求进行进一步的排序,仅需将该多个网络请求均缓存在第一请求队列的头部即可。
第二种情况:若该被触发的网络请求用于获取的网页内容为非关键内容,终端将该被触发的网络请求缓存至该第一请求队列的尾部。
其中,若该网络请求用于获取非关键内容,则说明该网络请求的优先级较低,不需立即向服务器发送,则终端将该被触发的网络请求缓存至第一请求队列的尾部。
在一种可能的实现方式中,若同时有多个网络请求被触发,且该多个网络请求均为用于获取非关键内容,则终端依次将该多个网络请求缓存至第一请求队列的尾部。其中,终端对该多个网络请求的缓存顺序不作具体限定。
在本公开实施例中,通过根据网络内容的关键程度来确定网络请求在第一请求队列中的缓存位置,进而能够优先向服务器发送用于获取关键内容的网络请求,以保证网页应用的正常运行,进而提高了网页应用的运行效率。
在一些实施例中,在缓存网络请求时,终端可以为每个网络请求添加请求状态,以便于区分每个网络请求当前所处的状态;相应的,该方法还包括:在将该网络请求存储至其所在的请求队列之后,终端将该网络请求的请求状态设置为待发送。
在本步骤中,终端可以通过添加请求状态字段的方式来为每个网络请求添加请求状态,相应的,终端将该网络请求的请求状态设置为待发送的实现方式可以为:终端在该网络请求中添加请求状态字段,将该请求状态字段设置为第一数值,该第一数值用于表示该被触发的网络请求的请求状态为待发送。
其中,该第一数值的设置可以根据需要进行设置和更改,本公开对此不作具体限定;例如,待发送表示为0,发送中表示为1,发送成功表示为2等。在本公开实施例中,该请求状态字段的设置可以为第一数值,或者也可以为其他字段,本公开对此不作具体限定。
在本公开实施例中,通过为网络请求添加请求状态,这样能够基于请求状态确定待发送的网络请求,从而实现对请求队列中的不同网络请求的区分。
在步骤S33中,若被触发的网络请求用于上报日志信息,则终端将该被触发的网络请求缓存至第二请求队列中。
在本步骤中,终端将用于上报日志信息的网络请求缓存至第二请求队列中,也即是第二请求队列中的网络请求为用于上报日志信息的网络请求。
在运行网页应用的过程中,由于网页内容的获取的优先级高于日志信息的上报的优先级,也即是用于获取网页内容的网络请求的优先级高于用于上报日志信息的网络请求的优先级,因此,第一请求队列为优先队列(main_request_queue),第二请求队列为次要队列(inferior_request_queue)。
例如,参见图4,在有请求逻辑发生时,即生成网络请求时,终端先确定该网络请求是否为用于获取关键内容的网络请求,若是,则立即向服务器发送该网络请求,以及更新该网络请求的请求状态,若否,则确定是否为用于获取非关键内容的网络请求,若是,则缓存至优先队列,若否,则缓存至次要队列。
在本公开实施例中,通过将被触发的网络请求的缓存至不同的请求队列中,从而能够按照一定的发送顺序将请求队列中的网络请求发送至服务器,避免了发生因用于上报日志信息的网络请求占用了线程通道,导致用于获取网页内容的网络请求无法发送的现象,从而提高了网页应用的运行效率。
在本公开实施例中,终端优先向服务器发送该第一请求队列中的网络请求,若该第一请求队列中不存在待发送的网络请求,则向该服务器发送该第二请求队列中的网络请求;相应的,终端执行步骤S34-S37的操作。
在步骤S34中,终端周期性探测该第一请求队列中的网络请求的请求状态。
在一些实施例中,该步骤的实现方式可以为:终端通过请求探测器,每隔第一预设时长探测第一请求队列中的网络请求的请求状态。
其中,该第一预设时长可以根据需要进行设置和更改,本公开对此不作具体限定;例如,第一预设时长可以为3s、5s等。
在步骤S35中,若该第一请求队列中存在请求状态为待发送的网络请求,则终端向该服务器发送距离该第一请求队列的头部最近,且请求状态为待发送的网络请求。
在本步骤中,若第一请求队列中的请求状态为待发送的网络请求的数量为一个,则终端向服务器发送该网络请求;若第一请求队列中的请求状态为待发送的网络请求的数量为多个,则终端向服务器发送距离第一请求队列的头部最近的待发送的网络请求。
在一些实施例中,由于请求队列中的每个网络请求均具有请求状态,则本公开实施例提供的日志上报方法还包括以下步骤:
在向该服务器发送该网络请求的过程中,终端将该网络请求的请求状态由该待发送修改为发送中。
在该实施例中,终端将处于发送中的网络请求的请求状态更新为发送中,这样能够及时将待发送的网络请求和已发送的网络请求区分开,从而后续能够较方便的识别出待发送的网络请求,以免误将已发送的网络请求再次发送至服务器。
相应的,在向该服务器发送该网络请求成功之后,终端将该网络请求从其所在的请求队列中删除。
在一种可能的实现方式中,终端直接将发送成功的网络请求从其所在的请求队列中删除,以节省队列的缓存资源;在另一种可能的实现方式中,终端先将该发送成功的网络请求的请求状态修改为发送成功,再将请求状态修改为发送成功的网络请求从请求队列中删除。
在该实现方式中,终端可以每隔第二预设时长,将请求状态为发送成功的网络请求从其所在的请求队列中删除,以减少删除操作的操作次数,进而节省处理资源。
其中,该第二预设时长可以根据需要进行设置和更改,且该第二预设时长可以与第一预设时长相同或者不同,本公开对此不做具体限定;例如,该第二预设时长可以为6s、10s等。
在本公开实施例中,参见图5,第一预设时长为5s,终端通过请求探测器对第一请求队列中的网络请求进行请求状态的探测。若第一请求队列中存在请求状态为待发送的网络请求,则终端向服务器发送排在第一位的待发送的网络请求,以及将该网络请求的请求状态更新为发送中,在发送该网络请求成功之后,更新该网络请求的请求状态为发送成功,将该网络请求从第一请求队列中删除,得到新的第一请求队列。
在本公开实施例中,通过对网络请求的请求状态进行更新以及将发送成功的网络请求从其所在的请求队列中删除,不仅避免了发生误将已发送的网络请求再次发送至服务器的现象,还节省了请求队列的缓存资源。
在步骤S36中,若该第一请求队列中不存在请求状态为待发送的网络请求,则终端探测该第二请求队列中的网络请求的请求状态。
在本步骤中,终端探测第二请求队列中的网络请求的请求状态的实现方式与步骤S34的实现方式相似,在此不再赘述。
在步骤S37中,若该第二请求队列中存在请求状态为待发送的网络请求,则终端向该服务器发送距离该第二请求队列的头部最近,且请求状态为待发送的网络请求。
在一些实施例中,该步骤的实现方式与步骤S35的实现方式相似,在此不再赘述。
在本公开实施例中,通过周期性依次探测第一请求队列和第二请求队列中的网络请求的请求状态,从而及时向服务器发送待发送的网络请求,这样,既能优先发送用于获取网页内容的网络请求,且不耽误发送用于上报日志请求的网络请求,进而提高了日志上报的效率。
在本公开实施例中,若第二请求队列中不存在请求状态为待发送的网络请求,则终端继续执行步骤S34的操作,也即周期性探测第一请求队列中的网络请求的请求状态。
在本公开实施例中,通过将用于上报日志信息的网络请求和用于获取网页内容的网络请求分别缓存在不同的请求队列中,从而以请求队列的方式来优先向服务器发送用于获取网页内容的网络请求,再发送用于上报日志信息的网络请求,这样,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而保证能够及时获取到网页内容,提高了网页应用的运行效率。
图6是根据一示例性实施例示出的一种日志上报方法的流程图,如图6所示,该日志上报方法用于终端中,包括以下步骤。
在步骤S61中,终端确定网络请求被触发。
在步骤S62中,若被触发的网络请求用于获取网页内容,则终端将该被触发的网络请求缓存至第一请求队列中。
在步骤S63中,若被触发的网络请求用于上报日志信息,则终端将该被触发的网络请求缓存至第二请求队列中。
在一些实施例中,步骤S61-步骤S63的实现方式与步骤S31-步骤S33的实现方式相似,在此不再赘述。
在本公开实施例中,终端优先向服务器发送该第一请求队列中的网络请求,也即终端继续执行步骤S64-步骤S66的操作;若该第一请求队列中不存在待发送的网络请求,则向该服务器发送该第二请求队列中的网络请求,也即执行步骤S64-步骤S66的操作。
在步骤S64中,终端确定第一请求队列中的每个网络请求的请求状态。
在一些实施例中,终端通过请求探测器确定该第一请求队列中的每个网络请求的请求状态。
在步骤S65中,终端根据该每个网络请求的请求状态,从第一请求队列中确定请求状态为待发送的至少一个网络请求。
在本步骤中,终端从第一请求队列中缓存的网络请求中选择出请求状态为待发送的至少一个网络请求。
在本公开实施例中,若第一请求队列中存在至少一个待发送的网络请求,则终端向服务器发送完成该至少一个待发送的网络请求之后,再确定第二请求队列中的每个网络请求的请求状态。
在步骤S66中,终端按照该至少一个网络请求在该第一请求队列中的位置,依次向该服务器发送该至少一个网络请求。
在一些实施例中,对于任一请求队列中的网络请求,其在该请求队列中的位置为在将该网络请求缓存至请求队列时确定的,则终端直接按照该至少一个网络请求在该第一请求队列中的位置,从头部到尾部依次向服务器发送该至少一个网络请求即可。
在本公开实施例中,通过根据每个网络请求的请求状态来确定向服务器发送的发送顺序,从而能够及时获取网页内容,保证网页运行的流畅度。
在一些实施例中,在向该服务器发送该第一请求队列中的网络请求的过程中,第一请求队列中可能增加了待发送的网络请求,则终端需要对该待增加的网络请求进行相应处理。
在一种可能的实现方式中,若增加的网络请求为用于获取关键内容的网络请求,则终端可以直接将该网络请求缓存至第一请求队列的头部,将该网络请求的请求状态设置为待发送;或者,若第一请求队列的头部存在待发送的至少一个用于获取关键内容的网络请求,则终端将该网络请求的请求状态设置为暂不发送,在将第一请求队列中待发送的至少一个用于获取关键内容的网络请求发送成功之后,将该增加的网络请求缓存至第一请求队列的头部,将该网络请求的请求状态由暂不发送修改为待发送。
在另一种可能的实现方式中,若增加的网络请求为用于获取非关键内容的网络请求,则终端将该增加的网络请求缓存至第一请求队列的尾部。
在该实施例中,在将该增加的网络请求缓存至第一请求队列的头部之后,终端将该增加的网络请求添加进该待发送的至少一个网络请求中,得到更新后的待发送的至少一个网络请求,再执行步骤S66的操作。
在本公开实施例中,通过为在发送网络请求的过程中增加的网络请求设置灵活的发送方式,使得需要优先发送的网络请求能够优先发送,进而在提高网络请求发送的灵活性,保证了网页应用能够及时获取到网页内容,从而为网页应用的正常运行提供了技术支持。
在步骤S67中,若该第一请求队列中不存在待发送的网络请求,则终端向该服务器发送该第二请求队列中的网络请求。
在一些实施例中,终端向该服务器发送该第二请求队列中的网络请求的实现方式与步骤S34-S36的实现方式相似,在此不再赘述。
其中,在网页应用不存在待发送的用于获取网页内容的网络请求时,即第一请求队列中不存在待发送的网络请求时,终端确定用于发送网络请求的API处于空闲状态。若用于发送网络请求的API处于空闲状态,则终端可以向服务器上报日志信息,即执行步骤S37的操作。
在一些实施例中,在向该服务器发送该第二请求队列中的网络请求的过程中,第一请求队列中可能增加了待发送的网络请求,则本公开实施例提供的日志上报方法还包括以下步骤:
在向该服务器发送该第二请求队列中的该每个网络请求的过程中,若该第一请求队列中增加了待发送的网络请求,则终端暂停向该服务器发送该第二请求队列中的网络请求;向该服务器发送该第一请求队列中增加的网络请求;在向该服务器发送该增加的网络请求之后,继续向该服务器发送该第二请求队列中的网络请求。
在该实施例中,若该第一请求队列中增加了待发送的网络请求,而由于第一请求队列中的网络请求的优先级高于第二请求队列中的网络请求的优先级,则终端在将当前正在发送的用于日志上报的网络请求发送成功之后,向该服务器发送该第一请求队列中增加的网络请求。
在本公开实施例中,即使在向服务器发送第二请求队列中的网络请求的过程中,若第一请求队列中增加了待发送的网络请求,也是优先发送第一请求队列中待发送的网络请求,使得用于获取网页内容的网络请求始终能够被优先发送,从而能够避免网页的卡顿,进而提高了网页应用的运行效率。
在本公开实施例中,通过将用于上报日志信息的网络请求和用于获取网页内容的网络请求分别缓存在不同的请求队列中,从而以请求队列的方式来优先向服务器发送用于获取网页内容的网络请求,再发送用于上报日志信息的网络请求,这样,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而保证能够及时获取到网页内容,提高了网页应用的运行效率。
图7是根据一示例性实施例示出的一种日志上报装置70的结构框图。参见图7,该装置70包括请求缓存单元701和请求发送单元702:
请求缓存单元701,被配置为执行响应于被触发的网络请求,若该被触发的网络请求用于获取网页内容,则将该被触发的网络请求缓存至第一请求队列中;若该被触发的网络请求用于上报日志信息,则将该被触发的网络请求缓存至该第二请求队列中;
请求发送单元702,被配置为执行优先向服务器发送该第一请求队列中的网络请求,若该第一请求队列中不存在待发送的网络请求,则向该服务器发送该第二请求队列中的网络请求。
在一些实施例中,该请求发送单元702,包括:
状态探测子单元,被配置为执行周期性探测该第一请求队列中的网络请求的请求状态;
请求发送子单元,被配置为执行若该第一请求队列中存在请求状态为待发送的网络请求,则向该服务器发送距离该第一请求队列的头部最近,且请求状态为待发送的网络请求;
该状态探测子单元,还被配置为执行若该第一请求队列中不存在请求状态为待发送的网络请求,则探测该第二请求队列中的网络请求的请求状态;
该请求发送子单元,被配置为执行若该第二请求队列中存在请求状态为待发送的网络请求,则向该服务器发送距离该第二请求队列的头部最近,且请求状态为待发送的网络请求。
在另一些实施例中,该请求发送单元702,包括:
第一确定子单元,被配置为执行确定任一请求队列中的每个网络请求的请求状态;
第二确定子单元,被配置为执行根据该每个网络请求的请求状态,从该任一请求队列中确定请求状态为待发送的至少一个网络请求;
该请求发送子单元,还被配置为执行按照该至少一个网络请求在该任一请求队列中的位置,依次向该服务器发送该至少一个网络请求。
在另一些实施例中,该装置70还包括:
状态修改单元,被配置为执行在向该服务器发送该网络请求的过程中,将该网络请求的请求状态由该待发送修改为发送中;
请求删除单元,被配置为执行在向该服务器发送该网络请求成功之后,将该网络请求从其所在的请求队列中删除。
在另一些实施例中,该装置70还包括:
状态设置单元,被配置为执行在将该网络请求存储至其所在的请求队列之后,将该网络请求的请求状态设置为待发送。
在另一些实施例中,该请求缓存单元701,被配置为执行若该被触发的网络请求用于获取的网页内容为关键内容,则将该被触发的网络请求缓存至该第一请求队列的头部;若该被触发的网络请求用于获取的网页内容为非关键内容,则将该被触发的网络请求缓存至该第一请求队列的尾部。
在另一些实施例中,该装置70还包括:
该请求发送单元702,还被配置为执行在向该服务器发送该第二请求队列中的该每个网络请求的过程中,若该第一请求队列中增加了请求状态为待发送的网络请求,则暂停向该服务器发送该第二请求队列中的网络请求;向该服务器发送该第一请求队列中增加的网络请求;在向该服务器发送该增加的网络请求之后,继续向该服务器发送该第二请求队列中的网络请求。
在本公开实施例中,通过将用于上报日志信息的网络请求和用于获取网页内容的网络请求分别缓存在不同的请求队列中,从而以请求队列的方式来优先向服务器发送用于获取网页内容的网络请求,再发送用于上报日志信息的网络请求,这样,即使用于获取网页内容的网络请求和用于上报日志信息的网络请求共用同一线程通道,用于上报日志信息的网络请求也不会阻塞线程通道,进而保证能够及时获取到网页内容,提高了网页应用的运行效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种终端10的结构框图。该终端10可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端10还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端10包括有:处理器101和存储器102。
处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本公开中方法实施例提供的日志上报方法。
在一些实施例中,终端10还可选包括有:外围设备接口103和至少一个外围设备。处理器101、存储器102和外围设备接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口103相连。具体地,外围设备包括:射频电路104、显示屏105、摄像头组件106、音频电路107、定位组件108和电源109中的至少一种。
外围设备接口103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和外围设备接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和外围设备接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个,设置在终端10的前面板;在另一些实施例中,显示屏105可以为至少两个,分别设置在终端10的不同表面或呈折叠设计;在另一些实施例中,显示屏105可以是柔性显示屏,设置在终端10的弯曲表面上或折叠面上。甚至,显示屏105还可以设置成非矩形的不规则图形,也即异形屏。显示屏105可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件106用于采集图像或视频。可选地,摄像头组件106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器101进行处理,或者输入至射频电路104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端10的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器101或射频电路104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路107还可以包括耳机插孔。
定位组件108用于定位终端10的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源109用于为终端10中的各个组件进行供电。电源109可以是交流电、直流电、一次性电池或可充电电池。当电源109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端10还包括有一个或多个传感器110。该一个或多个传感器110包括但不限于:加速度传感器111、陀螺仪传感器112、压力传感器113、指纹传感器114、光学传感器115以及接近传感器116。
加速度传感器111可以检测以终端10建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器111可以用于检测重力加速度在三个坐标轴上的分量。处理器101可以根据加速度传感器111采集的重力加速度信号,控制显示屏105以横向视图或纵向视图进行用户界面的显示。加速度传感器111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器112可以检测终端10的机体方向及转动角度,陀螺仪传感器112可以与加速度传感器111协同采集用户对终端10的3D动作。处理器101根据陀螺仪传感器112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器113可以设置在终端10的侧边框和/或显示屏105的下层。当压力传感器113设置在终端10的侧边框时,可以检测用户对终端10的握持信号,由处理器101根据压力传感器113采集的握持信号进行左右手识别或快捷操作。当压力传感器113设置在显示屏105的下层时,由处理器101根据用户对显示屏105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器114用于采集用户的指纹,由处理器101根据指纹传感器114采集到的指纹识别用户的身份,或者,由指纹传感器114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器114可以被设置在终端10的正面、背面或侧面。当终端10上设置有物理按键或厂商Logo时,指纹传感器114可以与物理按键或厂商Logo集成在一起。
光学传感器115用于采集环境光强度。在一个实施例中,处理器101可以根据光学传感器115采集的环境光强度,控制显示屏105的显示亮度。具体地,当环境光强度较高时,调高显示屏105的显示亮度;当环境光强度较低时,调低显示屏105的显示亮度。在另一个实施例中,处理器101还可以根据光学传感器115采集的环境光强度,动态调整摄像头组件106的拍摄参数。
接近传感器116,也称距离传感器,通常设置在终端10的前面板。接近传感器116用于采集用户与终端10的正面之间的距离。在一个实施例中,当接近传感器116检测到用户与终端10的正面之间的距离逐渐变小时,由处理器101控制显示屏105从亮屏状态切换为息屏状态;当接近传感器116检测到用户与终端10的正面之间的距离逐渐变大时,由处理器101控制显示屏105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端10的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器102,上述指令可由终端10的处理器101执行以完成上述日志上报方法。可选地,该存储介质可以是非临时性计算机可读存储介质,当该计算机可读存储介质中的指令由终端10的处理器101执行时,使得终端10能够执行如上述实施例提供的日志上报方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述实施例提供的日志上报方法。
在一些实施例中,本公开实施例所涉及的计算机程序/指令可被部署在一个终端上执行,或者在位于一个地点的多个终端上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端上执行,分布在多个地点且通过通信网络互连的多个终端可以组成区块链系统。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种日志上报方法,其特征在于,包括:
响应于被触发的网络请求,若所述被触发的网络请求用于获取网页内容,则将所述被触发的网络请求缓存至第一请求队列中;
若所述被触发的网络请求用于上报日志信息,则将所述被触发的网络请求缓存至第二请求队列中;
优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求。
2.根据权利要求1所述的日志上报方法,其特征在于,所述优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,则向所述服务器发送所述第二请求队列中的网络请求,包括:
周期性探测所述第一请求队列中的网络请求的请求状态;
若所述第一请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第一请求队列的头部最近,且请求状态为待发送的网络请求;
若所述第一请求队列中不存在请求状态为待发送的网络请求,则探测所述第二请求队列中的网络请求的请求状态;
若所述第二请求队列中存在请求状态为待发送的网络请求,则向所述服务器发送距离所述第二请求队列的头部最近,且请求状态为待发送的网络请求。
3.根据权利要求1所述的日志上报方法,其特征在于,向所述服务器发送任一请求队列中的网络请求的过程,包括:
确定所述任一请求队列中的每个网络请求的请求状态;
根据所述每个网络请求的请求状态,从所述任一请求队列中确定请求状态为待发送的至少一个网络请求;
按照所述至少一个网络请求在所述任一请求队列中的位置,依次向所述服务器发送所述至少一个网络请求。
4.根据权利要求2或3所述的日志上报方法,其特征在于,所述方法还包括:
在向所述服务器发送所述网络请求的过程中,将所述网络请求的请求状态由所述待发送修改为发送中;
在向所述服务器发送所述网络请求成功之后,将所述网络请求从其所在的请求队列中删除。
5.根据权利要求2或3所述的日志上报方法,其特征在于,所述方法还包括:
在将所述网络请求存储至其所在的请求队列之后,将所述网络请求的请求状态设置为待发送。
6.根据权利要求1所述的日志上报方法,其特征在于,所述将所述被触发的网络请求缓存至第一请求队列中,包括:
若所述被触发的网络请求用于获取的网页内容为关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的头部;
若所述被触发的网络请求用于获取的网页内容为非关键内容,则将所述被触发的网络请求缓存至所述第一请求队列的尾部。
7.一种日志上报装置,其特征在于,包括:
请求缓存单元,被配置为执行响应于被触发的网络请求,若所述被触发的网络请求用于获取网页内容,则将所述被触发的网络请求缓存至第一请求队列中;若所述被触发的网络请求用于上报日志信息,则将所述被触发的网络请求缓存至所述第二请求队列中;
请求发送单元,被配置为执行优先向服务器发送所述第一请求队列中的网络请求,若所述第一请求队列中不存在待发送的网络请求,向所述服务器发送所述第二请求队列中的网络请求。
8.一种终端,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的日志上报方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如权利要求1至6中任一项所述的日志上报方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的日志上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110529983.8A CN113285853B (zh) | 2021-05-14 | 2021-05-14 | 日志上报方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110529983.8A CN113285853B (zh) | 2021-05-14 | 2021-05-14 | 日志上报方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113285853A true CN113285853A (zh) | 2021-08-20 |
CN113285853B CN113285853B (zh) | 2022-12-27 |
Family
ID=77279194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110529983.8A Active CN113285853B (zh) | 2021-05-14 | 2021-05-14 | 日志上报方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285853B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080196039A1 (en) * | 2007-02-14 | 2008-08-14 | Anthony Alan Garrard | Method, Apparatus and Software for Managing a Transactional Message Queue |
CN103986666A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种数据处理方法、装置和系统 |
CN105677744A (zh) * | 2015-12-28 | 2016-06-15 | 曙光信息产业股份有限公司 | 一种文件系统中提高服务质量的方法和装置 |
CN107609114A (zh) * | 2017-09-13 | 2018-01-19 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
US20200042349A1 (en) * | 2018-07-31 | 2020-02-06 | Nutanix, Inc. | Multi-level job processing queues |
-
2021
- 2021-05-14 CN CN202110529983.8A patent/CN113285853B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080196039A1 (en) * | 2007-02-14 | 2008-08-14 | Anthony Alan Garrard | Method, Apparatus and Software for Managing a Transactional Message Queue |
CN103986666A (zh) * | 2013-02-07 | 2014-08-13 | 华为技术有限公司 | 一种数据处理方法、装置和系统 |
CN105677744A (zh) * | 2015-12-28 | 2016-06-15 | 曙光信息产业股份有限公司 | 一种文件系统中提高服务质量的方法和装置 |
CN107609114A (zh) * | 2017-09-13 | 2018-01-19 | 广东欧珀移动通信有限公司 | 日志信息上报方法、装置及存储介质、adsp和终端 |
US20200042349A1 (en) * | 2018-07-31 | 2020-02-06 | Nutanix, Inc. | Multi-level job processing queues |
Also Published As
Publication number | Publication date |
---|---|
CN113285853B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN110308956B (zh) | 一种应用界面显示方法、装置及移动终端 | |
CN110602321B (zh) | 应用程序切换方法、装置、电子装置及存储介质 | |
CN109948087B (zh) | 网页资源的获取方法、装置及终端 | |
CN111327694B (zh) | 文件上传方法、装置、存储介质及电子设备 | |
CN109828915B (zh) | 一种调试应用程序的方法、装置、设备和存储介质 | |
CN113127130A (zh) | 页面跳转方法、装置及存储介质 | |
CN111159604A (zh) | 图片资源加载方法及装置 | |
CN111625315A (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN111191227A (zh) | 阻止恶意代码执行的方法和装置 | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
CN110032421B (zh) | 内存中图集的管理方法、装置、终端及存储介质 | |
CN112015612B (zh) | 一种获取卡顿信息的方法及装置 | |
CN110381155B (zh) | 任务管理方法、装置、存储介质及终端 | |
CN111275607A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN111241451A (zh) | 网页处理方法、装置、计算机设备及存储介质 | |
CN112181915A (zh) | 执行业务的方法、装置、终端和存储介质 | |
CN114785766A (zh) | 智能设备的控制方法、终端及服务器 | |
CN113285853B (zh) | 日志上报方法、装置、终端及存储介质 | |
CN111464829B (zh) | 切换媒体数据的方法、装置、设备及存储介质 | |
CN111158780B (zh) | 存储应用数据的方法、装置、电子设备及介质 | |
CN110941458B (zh) | 启动应用程序的方法、装置、设备及存储介质 | |
CN113836426A (zh) | 一种信息推送的方法、装置及电子设备 | |
CN110851435B (zh) | 一种存储数据的方法及装置 | |
CN109189525B (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 |