CN111737661A - 异常堆栈处理方法、系统、电子设备及存储介质 - Google Patents

异常堆栈处理方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN111737661A
CN111737661A CN202010440251.7A CN202010440251A CN111737661A CN 111737661 A CN111737661 A CN 111737661A CN 202010440251 A CN202010440251 A CN 202010440251A CN 111737661 A CN111737661 A CN 111737661A
Authority
CN
China
Prior art keywords
aliasing
mapping file
local memory
processing
confusion
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
CN202010440251.7A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010440251.7A priority Critical patent/CN111737661A/zh
Publication of CN111737661A publication Critical patent/CN111737661A/zh
Priority to PCT/CN2020/131660 priority patent/WO2021232729A1/zh
Priority to US17/423,144 priority patent/US11775309B2/en
Priority to JP2022534451A priority patent/JP2023507273A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Abstract

本申请公开了异常堆栈处理方法、系统、电子设备及存储介质,涉及移动互联网领域,其中的方法可包括:包括至少两个执行器的分布式流式处理系统中的任一执行器分别进行以下处理:当每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,消息中间件中保存有所收集的各用户产生的异常堆栈;针对任一异常堆栈,获取异常堆栈对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理。应用本申请所述方案,可提升处理速度等。

Description

异常堆栈处理方法、系统、电子设备及存储介质
技术领域
本申请涉及计算机应用技术,特别涉及移动互联网领域的异常堆栈处理方法、系统、电子设备及存储介质。
背景技术
由于各种不确定因素如网络、手机性能、应用(APP)新功能迭代上线等的影响,用户手机APP发生崩溃或卡顿的情况时有发生。
安卓APP应用厂商为了避免项目打包成应用程序包(apk)后,他人通过反编译手段获得项目源码,通常都会对项目源码进行一定的混淆处理。
目前的处理方式中,反混淆全球广域网(web)服务器获取到上报的由于安卓APP崩溃或卡顿等产生的异常堆栈时,会对异常堆栈进行反混淆处理,然后将处理结果返回给研发人员进行数据分析等。但这种方式的处理速度较慢,仅适用于小部分用户的处理。
发明内容
本申请提供了异常堆栈处理方法、系统、电子设备及存储介质。
一种异常堆栈处理方法,包括:
包括至少两个执行器的分布式流式处理系统中的任一执行器分别进行以下处理:
当每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,所述消息中间件中保存有所收集的各用户产生的异常堆栈;
针对任一异常堆栈,获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
一种异常堆栈处理系统,所述系统为分布式流式处理系统,其中包括:至少两个执行器,所述执行器中包括:获取模块以及处理模块;
所述获取模块,用于当所在执行器每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,所述消息中间件中保存有所收集的各用户产生的异常堆栈;
所述处理模块,用于针对任一异常堆栈,获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如以上所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:可将各用户产生的异常堆栈收集到消息中间件中,分布式流式处理系统中的各执行器每次处于空闲状态时,可分别从消息中间件中获取至少一条异常堆栈并进行反混淆处理,即各执行器可并行地对异常堆栈进行反混淆处理,从而提升了处理速度,进而可对全量用户的异常堆栈进行反混淆处理,从而可为研发人员提供更为全面的处理结果数据,以便研发人员进行更为有效合理的数据分析等。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请所述异常堆栈处理方法实施例的流程图;
图2为本申请所述反混淆映射文件的获取逻辑顺序示意图;
图3为本申请所述解析后的反混淆映射文件的示意图;
图4为本申请所述异常堆栈处理方法的整体实现过程示意图;
图5为本申请所述异常堆栈处理系统实施例50的组成结构示意图;
图6为根据本申请实施例所述方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请所述异常堆栈处理方法实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,包括至少两个执行器的分布式流式处理系统中的任一执行器分别按照102-103所示方式进行处理。
在102中,当每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,消息中间件中保存有所收集的各用户产生的异常堆栈。
在103中,针对任一异常堆栈,获取异常堆栈对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理。
本实施例所述的消息中间件中可保存有所收集的各用户产生的异常堆栈。优选地,当移动端日志(如崩溃、卡顿日志)落盘到日志中台中的磁盘后,通过扫描落盘文件可将崩溃或卡顿日志写到消息中间件中,即将异常堆栈写到消息中间件中。消息中间件可为Kafka等。
分布式流式处理系统可为以Spark集群的结构化流(Structured Streaming)为核心的分布式流式处理系统。分布式流式处理系统中可包括多个执行器(Executor),具体数量可根据实际需要而定,执行器可订阅消息中间件,拉取其中的异常堆栈进行处理后写入存储系统,如弹性搜索(ES,Elastic Search)系统。
每个执行器每次处于空闲状态,均可从消息中间件中拉取至少一条异常堆栈,具体数量可根据实际需要而定,如可按照先进先出的原则进行拉取,针对拉取到的任一异常堆栈,可获取异常堆栈对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理,将处理结果写入存储系统。其中,若执行器一次拉取多条异常堆栈,那么可依次对各异常堆栈进行处理,或者,也可启动多个线程,并行地对各异常堆栈进行处理,具体方式不限,当拉取的异常堆栈均处理完毕后,则可认为处于空闲状态,从而再次拉取。
即各执行器可并行地对异常堆栈进行反混淆处理,从而提升了处理速度,进而可对全量用户的异常堆栈进行反混淆处理,从而可为研发人员提供更为全面的处理结果数据,以便研发人员进行更为有效合理的数据分析等。
在分布式流式处理系统中,系统也可能会面临崩溃、重启等情况,因此要求系统对数据(异常堆栈)的处理具有幂等性,即精确消费一次数据的语义,可通过检查(Checkpoint)机制,保证数据的消费是至少一次的,在存储系统中,可通过id来区分数据,一条数据即使多次消费也只会存储一次,从而保证了整个系统的幂等性要求。
在整体的设计中,异常堆栈的处理和收集通过消息中间件进行了解耦,当处于流量高峰期时,未能消费完的异常堆栈会保存在消息中间件的磁盘上,而流量高峰期的时间通常都是较短的,待流量高峰期结束,可将消息中间件中累积的异常堆栈及时处理完从而实现较好的压力控制。
执行器获取异常堆栈对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理时,可首先确定本地内存中是否存储有所需的反混淆映射文件,若是,则可利用本地内存中存储的反混淆映射文件对异常堆栈进行反混淆处理。现有技术中,反混淆web服务器会获取预先保存到服务器磁盘上的反混淆映射文件,利用反混淆映射文件对异常堆栈进行反混淆处理,而内存的读写速度远大于磁盘,这样,从本地内存中获取反混淆映射文件并进行反混淆处理,可显著的提升处理速度。如何进行反混淆处理为现有技术。
若确定本地内存中未存储所需的反混淆映射文件,但预定服务器中存储有所需的反混淆映射文件,可从预定服务器中获取所需的反混淆映射文件,并可利用获取到的反混淆映射文件对异常堆栈进行反混淆处理。
若确定本地内存中未存储所需的反混淆映射文件,且预定服务器中未存储所需的反混淆映射文件,可从预定平台中获取所需的反混淆映射文件,并可利用获取到的反混淆映射文件对异常堆栈进行反混淆处理。
预定服务器可为采用键值(Key-Value)数据存储形式的远程字典服务(Redis,Remote Dictionary Server)服务器。预定平台可为灰度平台,即公司内部平台。
可以看出,本实施例中提供了一种多级存储机制,从而确保了执行器可及时获取到所需的反混淆映射文件,进而提升了反混淆处理的成功率等。
若所需的反混淆映射文件存储在本地内存中,则使用本地内存中存储的反混淆映射文件,若未存储在本地内存中,但存储在预定服务器中,则使用预定服务器中存储的反混淆映射文件,若本地内存和预定服务器中均未存储,则使用预定平台中存储的反混淆映射文件,相应地,处理速度会依次变慢,因此可优先使用本地内存中存储的反混淆映射文件,其次使用预定服务器中存储的反混淆映射文件,最后使用预定平台中存储的反混淆映射文件。基于上述介绍,图2为本申请所述反混淆映射文件的获取逻辑顺序示意图。
从预定服务器中获取到所需的反混淆映射文件之后,若确定反混淆映射文件符合存储条件,还可将反混淆映射文件存储到本地内存中。从预定平台中获取到所需的反混淆映射文件之后,可将反混淆映射文件存储到预定服务器中,并且,若确定反混淆映射文件符合存储条件,还可将反混淆映射文件存储到本地内存中。
符合存储条件具体是指何种条件不作限制,比如,可以是指存在空闲存储空间,或者是指符合预定替换策略等,所述预定替换策略可为W-TinyLFU替换策略等。
通过将反混淆映射文件存储到本地内存中,使得后续再次需要使用反混淆映射文件时,可直接从本地内存中获取,从而提升了反混淆处理速度。另外,通过将反混淆映射文件存储到预定服务器中,可防止实时程序宕机重启时内存数据丢失。
另外,若本地内存中的任一反混淆映射文件超过预定时长未被使用,可将反混淆映射文件从本地内存中删除,和/或,当向本地内存中存入反混淆映射文件时,可根据预定的替换策略确定出需要替换的反混淆映射文件,并将需要替换的反混淆映射文件从本地内存中删除。所述预定时长的具体取值可根据实际需要而定。
本地内存的存储空间(容量)是有限的,通过上述方式,可尽量确保频繁被使用的反混淆映射文件留在本地内存中,从而提高了本地内存中的反混淆映射文件的命中率,进而提升了反混淆处理速度等。此外,本地内存具备高并发能力,支持并行的互不干扰的读写。
在将反混淆映射文件存储到本地内存中时,还可将反混淆映射文件解析为M组哈希映射(HashMap)的形式后进行存储,M为大于一的正整数。相应地,在利用本地内存中存储的反混淆映射文件对异常堆栈进行反混淆处理时,可利用解析后的反混淆映射文件对异常堆栈进行反混淆处理。
图3为本申请所述解析后的反混淆映射文件的示意图。如图3所示,可将反混淆映射文件解析为三组HashMap的形式,分别为类映射(ClassMap)、字段映射(FieldMap)和方法映射(MethodMap)。
即将纯文本格式的反混淆映射文件拆解映射为多组HashMap的数据结构,将时间复杂度从O(N)降低到O(1),从而进一步提升了反混淆处理速度。
综合上述介绍,图4为本申请所述异常堆栈处理方法的整体实现过程示意图,如图4所示,存储到存储系统中的处理结果可通过数据分析展示平台展示给研发人员,以便研发人员进行后续处理,其它实现请参照前述相关说明,不再赘述。
需要说明的是,对于前述的方法实施例,为了简单描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
以上是关于方法实施例的介绍,以下通过系统实施例,对本申请所述方案进行进一步说明。
图5为本申请所述异常堆栈处理系统实施例50的组成结构示意图。所述系统可为分布式流式处理系统,其中可包括:至少两个执行器501(为简化附图,图5中仅表示出了一个执行器501),每个执行器501中可分别包括:获取模块5011以及处理模块5012。
获取模块5011,用于当所在执行器每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,消息中间件中保存有所收集的各用户产生的异常堆栈。
处理模块5012,用于针对任一异常堆栈,获取异常堆栈对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理,并可将处理结果写入存储系统。
针对异常堆栈,处理模块5012若确定本地内存中存储有对应的反混淆映射文件,则可利用本地内存中存储的反混淆映射文件对异常堆栈进行反混淆处理。处理模块5012若确定本地内存中未存储对应的反混淆映射文件,但预定服务器中存储有对应的反混淆映射文件,则可从预定服务器中获取反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理,若确定本地内存中未存储对应的反混淆映射文件,且预定服务器中未存储对应的反混淆映射文件,则可从预定平台中获取对应的反混淆映射文件,利用获取到的反混淆映射文件对异常堆栈进行反混淆处理。
处理模块5012从预定服务器中获取到反混淆映射文件之后,若确定反混淆映射文件符合存储条件,还可将反混淆映射文件存储到本地内存中。
处理模块5012从预定平台中获取到反混淆映射文件之后,可将反混淆映射文件存储到预定服务器中,并且,若确定反混淆映射文件符合存储条件,还可将反混淆映射文件存储到本地内存中。
另外,处理模块5012若确定本地内存中的任一反混淆映射文件超过预定时长未被使用,可将反混淆映射文件从本地内存中删除,和/或,当向本地内存中存入反混淆映射文件时,可根据预定的替换策略确定出需要替换的反混淆映射文件,并将需要替换的反混淆映射文件从本地内存中删除。
进一步地,处理模块5012还可将反混淆映射文件解析为M组哈希映射的形式后存储到本地内存中,M为大于一的正整数,相应地,可利用解析后的反混淆映射文件对异常堆栈进行反混淆处理。
图5所示系统实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用本申请系统实施例所述方案,可将各用户产生的异常堆栈收集到消息中间件中,分布式流式处理系统中的各执行器每次处于空闲状态时,可分别从消息中间件中获取至少一条异常堆栈并进行反混淆处理,即各执行器可并行地对异常堆栈进行反混淆处理,从而提升了处理速度,进而可对全量用户的异常堆栈进行反混淆处理,从而可为研发人员提供更为全面的处理结果数据,以便研发人员进行更为有效合理的数据分析等;另外,提供了一种多级存储机制,从而确保了执行器可及时获取到所需的反混淆映射文件,进而提升了反混淆处理的成功率,并可优先从本地内存中获取反混淆映射文件并进行反混淆处理,从而进一步提升了处理速度等;若从本地内存之外获取反混淆映射文件,还可将获取到的反混淆映射文件存储到本地内存中,使得后续再次需要使用反混淆映射文件时,可直接从本地内存中获取,从而进一步提升了反混淆处理速度,另外,可将获取自预定平台的反混淆映射文件存储到预定服务器中,从而可防止实时程序宕机重启时内存数据丢失等;通过对本地内存进行管理,可尽量确保频繁被使用的反混淆映射文件留在本地内存中,从而提高了本地内存中的反混淆映射文件的命中率,进而进一步提升了反混淆处理速度等;另外,还可将纯文本格式的反混淆映射文件拆解映射为多组HashMap的数据结构,降低了时间复杂度,从而进一步提升了反混淆处理速度等。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例所述方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器Y01、存储器Y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器Y01为例。
存储器Y02即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。
存储器Y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器Y01通过运行存储在存储器Y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器Y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器Y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器Y02可选包括相对于处理器Y01远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置Y03和输出装置Y04。处理器Y01、存储器Y02、输入装置Y03和输出装置Y04可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置Y03可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置Y04可以包括显示设备、辅助照明装置和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器、发光二极管显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管或者液晶显示器监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网、广域网、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种异常堆栈处理方法,其特征在于,包括:
包括至少两个执行器的分布式流式处理系统中的任一执行器分别进行以下处理:
当每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,所述消息中间件中保存有所收集的各用户产生的异常堆栈;
针对任一异常堆栈,获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
2.根据权利要求1所述的方法,其特征在于,
所述获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理包括:
若确定本地内存中存储有所述反混淆映射文件,则利用所述本地内存中存储的所述反混淆映射文件对所述异常堆栈进行反混淆处理。
3.根据权利要求2所述的方法,其特征在于,
所述获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理进一步包括:
若确定本地内存中未存储所述反混淆映射文件,但预定服务器中存储有所述反混淆映射文件,则从所述预定服务器中获取所述反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理;
若确定本地内存中未存储所述反混淆映射文件,且所述预定服务器中未存储所述反混淆映射文件,则从预定平台中获取所述反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
4.根据权利要求3所述的方法,其特征在于,
该方法进一步包括:
所述从所述预定服务器中获取所述反混淆映射文件之后,若确定所述反混淆映射文件符合存储条件,则将所述反混淆映射文件存储到所述本地内存中;
所述从预定平台中获取所述反混淆映射文件之后,将所述反混淆映射文件存储到所述预定服务器中,并且,若确定所述反混淆映射文件符合存储条件,将所述反混淆映射文件存储到所述本地内存中。
5.根据权利要求4所述的方法,其特征在于,
该方法进一步包括:
若确定所述本地内存中的任一反混淆映射文件超过预定时长未被使用,则将所述反混淆映射文件从所述本地内存中删除;
和/或,当向所述本地内存中存入反混淆映射文件时,根据预定的替换策略确定出需要替换的反混淆映射文件,将需要替换的反混淆映射文件从所述本地内存中删除。
6.根据权利要求4所述的方法,其特征在于,
所述将所述反混淆映射文件存储到所述本地内存中包括:将所述反混淆映射文件解析为M组哈希映射的形式后存储到所述本地内存中,所述M为大于一的正整数;
所述利用所述本地内存中存储的所述反混淆映射文件对所述异常堆栈进行反混淆处理包括:利用解析后的所述反混淆映射文件对所述异常堆栈进行反混淆处理。
7.一种异常堆栈处理系统,其特征在于,所述系统为分布式流式处理系统,其中包括:至少两个执行器,所述执行器中包括:获取模块以及处理模块;
所述获取模块,用于当所在执行器每次处于空闲状态时,从消息中间件中获取至少一条异常堆栈,所述消息中间件中保存有所收集的各用户产生的异常堆栈;
所述处理模块,用于针对任一异常堆栈,获取所述异常堆栈对应的反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
8.根据权利要求7所述的系统,其特征在于,
所述处理模块若确定本地内存中存储有所述反混淆映射文件,则利用所述本地内存中存储的所述反混淆映射文件对所述异常堆栈进行反混淆处理。
9.根据权利要求8所述的系统,其特征在于,
所述处理模块进一步用于,若确定本地内存中未存储所述反混淆映射文件,但预定服务器中存储有所述反混淆映射文件,则从所述预定服务器中获取所述反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理,若确定本地内存中未存储所述反混淆映射文件,且所述预定服务器中未存储所述反混淆映射文件,则从预定平台中获取所述反混淆映射文件,利用所述反混淆映射文件对所述异常堆栈进行反混淆处理。
10.根据权利要求9所述的系统,其特征在于,
所述处理模块进一步用于,所述从所述预定服务器中获取所述反混淆映射文件之后,若确定所述反混淆映射文件符合存储条件,则将所述反混淆映射文件存储到所述本地内存中;
所述处理模块进一步用于,所述从预定平台中获取所述反混淆映射文件之后,将所述反混淆映射文件存储到所述预定服务器中,并且,若确定所述反混淆映射文件符合存储条件,将所述反混淆映射文件存储到所述本地内存中。
11.根据权利要求10所述的系统,其特征在于,
所述处理模块进一步用于,若确定所述本地内存中的任一反混淆映射文件超过预定时长未被使用,则将所述反混淆映射文件从所述本地内存中删除,和/或,当向所述本地内存中存入反混淆映射文件时,根据预定的替换策略确定出需要替换的反混淆映射文件,将需要替换的反混淆映射文件从所述本地内存中删除。
12.根据权利要求10所述的系统,其特征在于,
所述处理模块进一步用于,将所述反混淆映射文件解析为M组哈希映射的形式后存储到所述本地内存中,所述M为大于一的正整数,利用解析后的所述反混淆映射文件对所述异常堆栈进行反混淆处理。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202010440251.7A 2020-05-22 2020-05-22 异常堆栈处理方法、系统、电子设备及存储介质 Pending CN111737661A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010440251.7A CN111737661A (zh) 2020-05-22 2020-05-22 异常堆栈处理方法、系统、电子设备及存储介质
PCT/CN2020/131660 WO2021232729A1 (zh) 2020-05-22 2020-11-26 异常堆栈处理方法、系统、电子设备及存储介质
US17/423,144 US11775309B2 (en) 2020-05-22 2020-11-26 Exception stack handling method, system, electronic device and storage medium
JP2022534451A JP2023507273A (ja) 2020-05-22 2020-11-26 異常スタック処理方法、システム、電子機器、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010440251.7A CN111737661A (zh) 2020-05-22 2020-05-22 异常堆栈处理方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111737661A true CN111737661A (zh) 2020-10-02

Family

ID=72647594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010440251.7A Pending CN111737661A (zh) 2020-05-22 2020-05-22 异常堆栈处理方法、系统、电子设备及存储介质

Country Status (4)

Country Link
US (1) US11775309B2 (zh)
JP (1) JP2023507273A (zh)
CN (1) CN111737661A (zh)
WO (1) WO2021232729A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190237A (zh) * 2021-05-10 2021-07-30 北京百度网讯科技有限公司 数据处理方法、系统和装置
WO2021232729A1 (zh) * 2020-05-22 2021-11-25 北京百度网讯科技有限公司 异常堆栈处理方法、系统、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416414A (zh) * 2022-01-17 2022-04-29 北京百度网讯科技有限公司 一种故障信息定位方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007137278A2 (en) * 2006-05-22 2007-11-29 Google Inc. Testing effectiveness of variants of a web page
CA3026281A1 (en) * 2016-06-06 2017-12-14 Agilepq, Inc. Data conversion systems and methods
CN108647329A (zh) * 2018-05-11 2018-10-12 中国联合网络通信集团有限公司 用户行为数据的处理方法、装置及计算机可读存储介质
CN109032909A (zh) * 2018-07-18 2018-12-18 携程旅游信息技术(上海)有限公司 应用程序崩溃日志的处理方法、系统、设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003039745A (ja) 2001-07-27 2003-02-13 Ricoh Co Ltd 画像形成端末装置
JP2005196680A (ja) 2004-01-09 2005-07-21 Ricoh Co Ltd コンピュータシステム
JP4770602B2 (ja) 2006-06-23 2011-09-14 株式会社デンソー 電子機器
US8434151B1 (en) * 2008-01-04 2013-04-30 International Business Machines Corporation Detecting malicious software
CN101452402B (zh) 2008-11-28 2012-05-30 珠海金山快快科技有限公司 软件运行系统和软件运行方法
JP2011002889A (ja) 2009-06-16 2011-01-06 Panasonic Corp コンピュータシステム
JP2013061843A (ja) 2011-09-14 2013-04-04 Fujifilm Corp コンピュータ・ソフトウエア解析システムならびにクライアント・コンピュータ,その動作制御方法およびその動作プログラム
US8949660B1 (en) * 2011-12-14 2015-02-03 Google Inc. Remote deobfuscation of compressed code
KR101689984B1 (ko) 2013-03-06 2016-12-26 미쓰비시덴키 가부시키가이샤 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법
US9830478B1 (en) 2015-07-20 2017-11-28 Semmle Limited Logging from obfuscated code
EP3330859A1 (en) * 2016-12-05 2018-06-06 Universiteit Gent Self-debugging
US10956573B2 (en) * 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US20210149788A1 (en) * 2019-11-18 2021-05-20 Microsoft Technology Licensing, Llc Software diagnosis using transparent decompilation
CN111737661A (zh) * 2020-05-22 2020-10-02 北京百度网讯科技有限公司 异常堆栈处理方法、系统、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007137278A2 (en) * 2006-05-22 2007-11-29 Google Inc. Testing effectiveness of variants of a web page
CA3026281A1 (en) * 2016-06-06 2017-12-14 Agilepq, Inc. Data conversion systems and methods
CN108647329A (zh) * 2018-05-11 2018-10-12 中国联合网络通信集团有限公司 用户行为数据的处理方法、装置及计算机可读存储介质
CN109032909A (zh) * 2018-07-18 2018-12-18 携程旅游信息技术(上海)有限公司 应用程序崩溃日志的处理方法、系统、设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021232729A1 (zh) * 2020-05-22 2021-11-25 北京百度网讯科技有限公司 异常堆栈处理方法、系统、电子设备及存储介质
US11775309B2 (en) 2020-05-22 2023-10-03 Beijing Baidu Netcom Science And Technology Co., Ltd. Exception stack handling method, system, electronic device and storage medium
CN113190237A (zh) * 2021-05-10 2021-07-30 北京百度网讯科技有限公司 数据处理方法、系统和装置
CN113190237B (zh) * 2021-05-10 2024-01-19 北京百度网讯科技有限公司 数据处理方法、系统和装置

Also Published As

Publication number Publication date
JP2023507273A (ja) 2023-02-22
US20220342674A1 (en) 2022-10-27
US11775309B2 (en) 2023-10-03
WO2021232729A1 (zh) 2021-11-25

Similar Documents

Publication Publication Date Title
US10437703B2 (en) Correlation of source code with system dump information
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
CN111737661A (zh) 异常堆栈处理方法、系统、电子设备及存储介质
CN111414389B (zh) 一种数据处理方法、装置、电子设备及存储介质
US20140006881A1 (en) Event Management Systems and Methods
US9501377B2 (en) Generating and implementing data integration job execution design recommendations
US10417011B2 (en) Thread-agile execution of dynamic programming language programs
CN108776696B (zh) 节点配置方法及装置、存储介质和电子设备
CN111461343A (zh) 模型参数更新方法及其相关设备
CN112269655B (zh) 内存映射文件清理方法、装置、电子设备及存储介质
US20180364942A1 (en) System and method for optimizing multiple packaging operations in a storage system
CN113792038A (zh) 用于存储数据的方法和装置
CN112565356A (zh) 数据存储方法、装置以及电子设备
CN112069189A (zh) 多层级映射表格的更新方法、系统、终端设备及存储介质
CN111782147A (zh) 用于集群扩缩容的方法和装置
CN115421831A (zh) 生成活动组件调用关系的方法、装置、设备及存储介质
US20150006498A1 (en) Dynamic search system
CN112306413A (zh) 用于访问内存的方法、装置、设备以及存储介质
CN112016059A (zh) 用于处理数据的方法、装置、设备以及存储介质
JP2022065641A (ja) ネットワークオペレータ処理方法、装置、電子デバイス、記憶媒体及びプログラム
CN113934698A (zh) 日志压缩
JPWO2021232729A5 (zh)
CN111985760A (zh) 数据内容的评价方法、装置、电子设备及存储介质
US8495033B2 (en) Data processing
CN111857825A (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