CN112416583A - 高频请求处理方法、装置、电子设备及存储介质 - Google Patents

高频请求处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112416583A
CN112416583A CN202011290509.6A CN202011290509A CN112416583A CN 112416583 A CN112416583 A CN 112416583A CN 202011290509 A CN202011290509 A CN 202011290509A CN 112416583 A CN112416583 A CN 112416583A
Authority
CN
China
Prior art keywords
request
trigger
time
target
stack
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
Application number
CN202011290509.6A
Other languages
English (en)
Other versions
CN112416583B (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202011290509.6A priority Critical patent/CN112416583B/zh
Priority claimed from CN202011290509.6A external-priority patent/CN112416583B/zh
Publication of CN112416583A publication Critical patent/CN112416583A/zh
Priority to PCT/CN2021/090354 priority patent/WO2022105116A1/zh
Application granted granted Critical
Publication of CN112416583B publication Critical patent/CN112416583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理,提供一种高频请求处理方法、装置、电子设备及存储介质。该方法能够确定触发请求的触发终端及触发用户,从触发终端中获取请求日志,并根据触发用户从请求日志中提取目标日志信息,分析目标日志信息确定触发请求所属的请求类型,当请求类型为高频请求时,根据目标日志信息创建请求堆栈,并将触发请求写入请求堆栈中,当请求堆栈为满栈时,合并请求堆栈中所有元素请求,得到目标请求,发送目标请求至预设服务器进行处理,得到响应结果。本发明能够在页面视图流畅展示时,确保请求数据的完整性。此外,本发明还涉及区块链技术,所述响应结果可存储于区块链中。

Description

高频请求处理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种高频请求处理方法、装置、电子设备及存储介质。
背景技术
在WEB前端领域中,如在Vue、React、Angular等框架中,短时间内出现高频率触发请求容易造成JS线程阻塞,还会引起页面渲染的视图卡顿以及不流畅。例如,在蚂蚁DataV数据可视化中有如下需求:记录用户拖拽元素的轨迹并显示,然而该需求需要监听鼠标的移动,当鼠标每次移动时均产生相应的触发请求,高频率地改变页面视图容易造成页面显示卡顿等问题。
为了避免页面视图产生卡顿现象,目前通常采用防抖或者截留方案,然而这种方式无法对每次触发的请求进行存储,造成请求数据的丢失,不利于请求的响应。
发明内容
鉴于以上内容,有必要提供一种高频请求处理方法、装置、电子设备及存储介质,能够在页面视图流畅展示时,确保请求数据的完整性。
一方面,本发明提出一种高频请求处理方法,所述高频请求处理方法包括:
当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送所述目标请求至预设服务器进行处理,得到响应结果。
根据本发明优选实施例,所述确定所述触发请求的触发终端及触发用户包括:
解析所述触发请求,得到所述触发请求携带的数据信息;
从配置标签库中获取第一预设标签及第二预设标签,所述第一预设标签用于指示地址,所述第二预设标签用于指示用户;
从所述数据信息中获取与所述第一预设标签对应的信息作为触发地址,并从所述数据信息中获取与所述第二预设标签对应的信息作为用户识别码;
确定与所述触发地址对应的终端作为所述触发终端,并确定与所述用户识别码对应的用户作为所述触发用户。
根据本发明优选实施例,所述从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息包括:
获取所述触发终端的日志存储路径;
从所述日志存储路径获取所述触发终端的所述请求日志;
从所述请求日志中选取与所述用户识别码对应的日志信息作为所述目标日志信息。
根据本发明优选实施例,所述分析所述目标日志信息确定所述触发请求所属的请求类型包括:
获取所述目标日志信息中所有历史请求的响应时间,并从所述目标日志信息中获取所述触发请求的生成时间;
计算每个响应时间与所述生成时间的第一时间差,并将所述第一时间差小于第一预设值的响应时间确定为目标时间;
对所述目标时间及所述生成时间按照从小到大的顺序进行排序,得到时间队列;
计算所述时间队列中任意相邻时间的第二时间差,并计算所述第二时间差小于第二预设值的数量,其中,所述第二预设值小于所述第一预设值;
当所述数量大于或者等于配置值时,确定所述触发请求所属的请求类型为所述高频请求;或者
当所述数量小于所述配置值时,确定所述触发请求所属的请求类型为低频请求。
根据本发明优选实施例,所述根据所述目标日志信息创建请求堆栈包括:
将所述第二时间差小于所述第二预设值的时间确定为分析时间,并确定所述分析时间中的最早时间及最晚时间;
计算所述最晚时间与所述最早时间的时间差作为时间间隔,并将所述时间间隔除以所述数量,得到请求访问频率;
从所述目标日志信息中获取所述所有历史请求的触发时间,并计算每个触发时间与每个响应时间的时间差作为回应时间;
计算所述回应时间的时间总和,并计算所述所有历史请求的请求数量;
将所述时间总和除以所述请求数量,得到平均时间,并将所述请求访问频率乘以所述平均时间,得到存储区数量;
依据所述存储区数量创建所述请求堆栈。
根据本发明优选实施例,所述将所述触发请求写入所述请求堆栈中包括:
确定所述请求堆栈中堆栈指针所处的存储区位置;
将所述存储区位置的下一个空存储区确定为目标存储区;
将所述触发请求写入所述目标存储区。
根据本发明优选实施例,所述合并所述请求堆栈中所有元素请求,得到目标请求包括:
提取每个元素请求中的请求参数,并封装所述请求参数,得到方法体;
提取任一元素请求的报文头作为目标报文头;
封装所述方法体及所述目标报文头,得到所述目标请求。
另一方面,本发明还提出一种高频请求处理装置,所述高频请求处理装置包括:
确定单元,用于当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
提取单元,用于从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
所述确定单元,还用于分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
创建单元,用于当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
合并单元,用于当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送单元,用于发送所述目标请求至预设服务器进行处理,得到响应结果。
另一方面,本发明还提出一种电子设备,所述电子设备包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述高频请求处理方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述高频请求处理方法。
由以上技术方案可以看出,本发明通过确定出的所述触发终端及所述触发用户,能够准确确定出记载所述触发用户的触发操作的日志信息,由于所述目标日志信息中存储了所述触发用户触发的所有请求,因此,通过分析所述目标日志信息能够准确确定出所述触发请求是否属于高频请求,通过将所述触发请求写入所述请求堆栈中,能够避免所述触发请求的丢失,进而确保请求数据的完整性,通过合并所述请求堆栈中所有元素请求,使生成的所述目标请求中包含多个请求,进而将多个请求一次性发送至所述预设服务器进行处理,能够避免线程产生阻塞。本发明在确定出所述触发请求属于高频请求时,将多个所述触发请求合并成所述目标请求,进而将合并成的所述目标请求发送至所述预设服务器中进行处理,避免多个所述触发请求对所述预设服务器进行重复触发,从而提高了所述预设服务器的性能,进而提高所述响应结果的回流效率,提高页面视图的流畅性,此外,由于所述触发用户产生的所有触发请求均参与到响应,因此,能够在页面视图流畅展示时,确保请求数据的完整性。
附图说明
图1是本发明高频请求处理方法的较佳实施例的流程图。
图2是本发明确定触发终端及触发用户的一实施例的流程图。
图3是本发明确定所述触发请求所属的请求类型的一实施例的流程图。
图4是本发明创建请求堆栈的一实施例的流程图。
图5是本发明高频请求处理装置的较佳实施例的功能模块图。
图6是本发明实现高频请求处理方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明高频请求处理方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述高频请求处理方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(DigitalSignal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。
所述电子设备所处的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当接收到触发请求时,确定所述触发请求的触发终端及触发用户。
在本发明的至少一个实施例中,所述触发请求对应的场景可以是任意场景,例如,所述触发请求可以是显示用户拖拽元素的轨迹。进一步地,所述触发请求可以由任意用户触发生成。
所述触发终端是指所述触发请求的生成终端,所述触发终端可以是手机、电脑、平板等。
所述触发用户是指触发所述触发请求生成的用户。
参见图2,图2是本发明确定触发终端及触发用户的一实施例的流程图。在本发明的至少一个实施例中,所述电子设备确定所述触发请求的触发终端及触发用户包括:
S100,解析所述触发请求,得到所述触发请求携带的数据信息。
其中,所述数据信息包括触发地址、用户识别码。
S101,从配置标签库中获取第一预设标签及第二预设标签,所述第一预设标签用于指示地址,所述第二预设标签用于指示用户。
其中,所述配置标签库中存储多个预先定义好的标签。
S102,从所述数据信息中获取与所述第一预设标签对应的信息作为触发地址,并从所述数据信息中获取与所述第二预设标签对应的信息作为用户识别码。
S103,确定与所述触发地址对应的终端作为所述触发终端,并确定与所述用户识别码对应的用户作为所述触发用户。
通过所述第一预设标签能够准确确定出所述触发地址,进而能够准确确定出所述触发终端,同时,通过所述第二预设标签能够准确确定出所述用户识别码,进而能够准确确定出所述触发用户。
S11,从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息。
在本发明的至少一个实施例中,所述请求日志是指在所述触发终端上记载的操作日志,所述请求日志记载所述触发终端上的所有操作。
所述目标日志信息是指所述触发用户在所述触发终端上的所有操作。
在本发明的至少一个实施例中,所述电子设备从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息包括:
获取所述触发终端的日志存储路径;
从所述日志存储路径获取所述触发终端的所述请求日志;
从所述请求日志中选取与所述用户识别码对应的日志信息作为所述目标日志信息。
通过所述日志存储路径能够快速获取到所述请求日志,进而通过所述用户识别码能够准确确定出所述目标日志信息。
S12,分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求。
在本发明的至少一个实施例中,所述请求类型还包括低频请求。
参见图3,图3是本发明确定所述触发请求所属的请求类型的一实施例的流程图。在本发明的至少一个实施例中,所述电子设备分析所述目标日志信息确定所述触发请求所属的请求类型包括:
S120,获取所述目标日志信息中所有历史请求的响应时间,并从所述目标日志信息中获取所述触发请求的生成时间。
所述响应时间是指每个历史请求完成响应时的时间,所述生成时间是指所述触发请求被触发生成时的时间。
S121,计算每个响应时间与所述生成时间的第一时间差,并将所述第一时间差小于第一预设值的响应时间确定为目标时间。
S122,对所述目标时间及所述生成时间按照从小到大的顺序进行排序,得到时间队列。
S123,计算所述时间队列中任意相邻时间的第二时间差,并计算所述第二时间差小于第二预设值的数量,其中,所述第二预设值小于所述第一预设值。
所述任意相邻时间是指在所述时间队列上的位置处于相邻的任意两个时间。
S124,当所述数量大于或者等于配置值时,确定所述触发请求所属的请求类型为所述高频请求。
其中,所述配置值的取值可以根据应用场景自由配置,本发明对所述配置值的取值不作限制。
S125,当所述数量小于所述配置值时,确定所述触发请求所属的请求类型为低频请求。
通过将每个响应时间与所述生成时间比较,能够剔除掉过早的历史请求,避免过早的历史请求影响所述请求类型的确定,通过所述时间队列中任意相邻时间的比较,以及任意相邻时间的时间差小于所述第二预设值的数量的确定,能够准确确定出所述触发请求所属的请求类型。
S13,当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中。
在本发明的至少一个实施例中,所述请求堆栈是由多个存储区构成的。
参见图4,图4是本发明创建请求堆栈的一实施例的流程图。在本发明的至少一个实施例中,所述电子设备根据所述目标日志信息创建请求堆栈包括:
S130,将所述第二时间差小于所述第二预设值的时间确定为分析时间,并确定所述分析时间中的最早时间及最晚时间。
S131,计算所述最晚时间与所述最早时间的时间差作为时间间隔,并将所述时间间隔除以所述数量,得到请求访问频率。
所述请求访问频率是指响应时间处于所述最早时间至所述最晚时间的请求的访问频率。
S132,从所述目标日志信息中获取所述所有历史请求的触发时间,并计算每个触发时间与每个响应时间的时间差作为回应时间。
S133,计算所述回应时间的时间总和,并计算所述所有历史请求的请求数量。
S134,将所述时间总和除以所述请求数量,得到平均时间,并将所述请求访问频率乘以所述平均时间,得到存储区数量。
S135,依据所述存储区数量创建所述请求堆栈。
所述请求堆栈中的存储区的数量为所述存储区数量。
通过所述分析时间的确定,以及任意相邻时间的时间差小于所述第二预设值的数量的确定,能够准确确定出所述触发用户的请求访问频率,进而根据历史请求确定出平均时间,从而以所述请求访问频率及所述平均时间确定出所述存储区数量,由于所述请求访问频率及所述平均时间都是通过历史请求确定出的,因此,上述实施方式确定出的所述存储区数量是以实际应用场景为依据的,从而提高了本发明的实用性。
在本发明的至少一个实施例中,所述电子设备将所述触发请求写入所述请求堆栈中包括:
确定所述请求堆栈中堆栈指针所处的存储区位置;
将所述存储区位置的下一个空存储区确定为目标存储区;
将所述触发请求写入所述目标存储区。
通过上述实施方式,由于所述目标存储区是指所述堆栈指针所处的下一个空存储区,因此,能够避免所述目标存储区中包含其他请求,从而确保写入所述目标存储区的所述触发请求的独立性。
在本发明的至少一个实施例中,通过将所述触发请求写入所述请求堆栈中,能够避免所述触发请求的丢失,进而确保请求数据的完整性。
S14,当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求。
在本发明的至少一个实施例中,所述请求堆栈为满栈指示所述请求堆栈中不存在空的存储区。
所述目标请求中携带有所述所有元素请求中的所有报文内容。
在本发明的至少一个实施例中,所述电子设备合并所述请求堆栈中所有元素请求,得到目标请求包括:
提取每个元素请求中的请求参数,并封装所述请求参数,得到方法体;
提取任一元素请求的报文头作为目标报文头;
封装所述方法体及所述目标报文头,得到所述目标请求。
通过直接提取任一元素请求的报文头作为所述目标请求的目标报文头,能够提高所述目标请求的合并效率。
在本发明的至少一个实施例中,通过合并所述请求堆栈中所有元素请求,使生成的所述目标请求中包含多个请求,进而将多个请求一次性发送至所述预设服务器进行处理,能够避免线程产生阻塞。
S15,发送所述目标请求至预设服务器进行处理,得到响应结果。
需要强调的是,为进一步保证上述响应结果的私密和安全性,上述响应结果还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述预设服务器是指与所述目标请求的目的地址对应的服务器。
所述响应结果包括用户触发的多个请求的响应。
在本发明的至少一个实施例中,在得到响应结果后,所述方法还包括:
获取每个元素请求的请求编号;
根据所述请求编号及所述响应结果生成提示信息;
采用对称加密算法加密所述提示信息,得到目标密文;
将所述目标密文发送至所述触发终端。
通过每个元素请求的请求编号生成所述提示信息,便于所述触发用户掌握所述响应结果的响应对象,通过对称加密算法加密所述提示信息,不仅能够提高加密效率,还能够避免所述提示信息被篡改,提高了所述提示信息的安全性。
由以上技术方案可以看出,本发明通过确定出的所述触发终端及所述触发用户,能够准确确定出记载所述触发用户的触发操作的日志信息,由于所述目标日志信息中存储了所述触发用户触发的所有请求,因此,通过分析所述目标日志信息能够准确确定出所述触发请求是否属于高频请求,通过将所述触发请求写入所述请求堆栈中,能够避免所述触发请求的丢失,进而确保请求数据的完整性,通过合并所述请求堆栈中所有元素请求,使生成的所述目标请求中包含多个请求,进而将多个请求一次性发送至所述预设服务器进行处理,能够避免线程产生阻塞。本发明在确定出所述触发请求属于高频请求时,将多个所述触发请求合并成所述目标请求,进而将合并成的所述目标请求发送至所述预设服务器中进行处理,避免多个所述触发请求对所述预设服务器进行重复触发,从而提高了所述预设服务器的性能,进而提高所述响应结果的回流效率,提高页面视图的流畅性,此外,由于所述触发用户产生的所有触发请求均参与到响应,因此,能够在页面视图流畅展示时,确保请求数据的完整性。
如图5所示,是本发明高频请求处理装置的较佳实施例的功能模块图。所述高频请求处理装置11包括确定单元110、提取单元111、创建单元112、合并单元113、发送单元114、获取单元115、生成单元116及加密单元117。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到触发请求时,确定单元110确定所述触发请求的触发终端及触发用户。
在本发明的至少一个实施例中,所述触发请求对应的场景可以是任意场景,例如,所述触发请求可以是显示用户拖拽元素的轨迹。进一步地,所述触发请求可以由任意用户触发生成。
所述触发终端是指所述触发请求的生成终端,所述触发终端可以是手机、电脑、平板等。
所述触发用户是指触发所述触发请求生成的用户。
在本发明的至少一个实施例中,所述确定单元110确定所述触发请求的触发终端及触发用户包括:
解析所述触发请求,得到所述触发请求携带的数据信息。
其中,所述数据信息包括触发地址、用户识别码。
从配置标签库中获取第一预设标签及第二预设标签,所述第一预设标签用于指示地址,所述第二预设标签用于指示用户。
其中,所述配置标签库中存储多个预先定义好的标签。
从所述数据信息中获取与所述第一预设标签对应的信息作为触发地址,并从所述数据信息中获取与所述第二预设标签对应的信息作为用户识别码。
确定与所述触发地址对应的终端作为所述触发终端,并确定与所述用户识别码对应的用户作为所述触发用户。
通过所述第一预设标签能够准确确定出所述触发地址,进而能够准确确定出所述触发终端,同时,通过所述第二预设标签能够准确确定出所述用户识别码,进而能够准确确定出所述触发用户。
提取单元111从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息。
在本发明的至少一个实施例中,所述请求日志是指在所述触发终端上记载的操作日志,所述请求日志记载所述触发终端上的所有操作。
所述目标日志信息是指所述触发用户在所述触发终端上的所有操作。
在本发明的至少一个实施例中,所述提取单元111从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息包括:
获取所述触发终端的日志存储路径;
从所述日志存储路径获取所述触发终端的所述请求日志;
从所述请求日志中选取与所述用户识别码对应的日志信息作为所述目标日志信息。
通过所述日志存储路径能够快速获取到所述请求日志,进而通过所述用户识别码能够准确确定出所述目标日志信息。
所述确定单元110分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求。
在本发明的至少一个实施例中,所述请求类型还包括低频请求。
在本发明的至少一个实施例中,所述确定单元110分析所述目标日志信息确定所述触发请求所属的请求类型包括:
获取所述目标日志信息中所有历史请求的响应时间,并从所述目标日志信息中获取所述触发请求的生成时间。
所述响应时间是指每个历史请求完成响应时的时间,所述生成时间是指所述触发请求被触发生成时的时间。
计算每个响应时间与所述生成时间的第一时间差,并将所述第一时间差小于第一预设值的响应时间确定为目标时间。
对所述目标时间及所述生成时间按照从小到大的顺序进行排序,得到时间队列。
计算所述时间队列中任意相邻时间的第二时间差,并计算所述第二时间差小于第二预设值的数量,其中,所述第二预设值小于所述第一预设值。
所述任意相邻时间是指在所述时间队列上的位置处于相邻的任意两个时间。
当所述数量大于或者等于配置值时,确定所述触发请求所属的请求类型为所述高频请求。
其中,所述配置值的取值可以根据应用场景自由配置,本发明对所述配置值的取值不作限制。
当所述数量小于所述配置值时,确定所述触发请求所属的请求类型为低频请求。
通过将每个响应时间与所述生成时间比较,能够剔除掉过早的历史请求,避免过早的历史请求影响所述请求类型的确定,通过所述时间队列中任意相邻时间的比较,以及任意相邻时间的时间差小于所述第二预设值的数量的确定,能够准确确定出所述触发请求所属的请求类型。
当所述请求类型为所述高频请求时,创建单元112根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中。
在本发明的至少一个实施例中,所述请求堆栈是由多个存储区构成的。
在本发明的至少一个实施例中,所述创建单元112根据所述目标日志信息创建请求堆栈包括:
将所述第二时间差小于所述第二预设值的时间确定为分析时间,并确定所述分析时间中的最早时间及最晚时间。
计算所述最晚时间与所述最早时间的时间差作为时间间隔,并将所述时间间隔除以所述数量,得到请求访问频率。
所述请求访问频率是指响应时间处于所述最早时间至所述最晚时间的请求的访问频率。
从所述目标日志信息中获取所述所有历史请求的触发时间,并计算每个触发时间与每个响应时间的时间差作为回应时间。
计算所述回应时间的时间总和,并计算所述所有历史请求的请求数量。
将所述时间总和除以所述请求数量,得到平均时间,并将所述请求访问频率乘以所述平均时间,得到存储区数量。
依据所述存储区数量创建所述请求堆栈。
所述请求堆栈中的存储区的数量为所述存储区数量。
通过所述分析时间的确定,以及任意相邻时间的时间差小于所述第二预设值的数量的确定,能够准确确定出所述触发用户的请求访问频率,进而根据历史请求确定出平均时间,从而以所述请求访问频率及所述平均时间确定出所述存储区数量,由于所述请求访问频率及所述平均时间都是通过历史请求确定出的,因此,上述实施方式确定出的所述存储区数量是以实际应用场景为依据的,从而提高了本发明的实用性。
在本发明的至少一个实施例中,所述创建单元112将所述触发请求写入所述请求堆栈中包括:
确定所述请求堆栈中堆栈指针所处的存储区位置;
将所述存储区位置的下一个空存储区确定为目标存储区;
将所述触发请求写入所述目标存储区。
通过上述实施方式,由于所述目标存储区是指所述堆栈指针所处的下一个空存储区,因此,能够避免所述目标存储区中包含其他请求,从而确保写入所述目标存储区的所述触发请求的独立性。
在本发明的至少一个实施例中,通过将所述触发请求写入所述请求堆栈中,能够避免所述触发请求的丢失,进而确保请求数据的完整性。
当所述请求堆栈为满栈时,合并单元113合并所述请求堆栈中所有元素请求,得到目标请求。
在本发明的至少一个实施例中,所述请求堆栈为满栈指示所述请求堆栈中不存在空的存储区。
所述目标请求中携带有所述所有元素请求中的所有报文内容。
在本发明的至少一个实施例中,所述合并单元113合并所述请求堆栈中所有元素请求,得到目标请求包括:
提取每个元素请求中的请求参数,并封装所述请求参数,得到方法体;
提取任一元素请求的报文头作为目标报文头;
封装所述方法体及所述目标报文头,得到所述目标请求。
通过直接提取任一元素请求的报文头作为所述目标请求的目标报文头,能够提高所述目标请求的合并效率。
在本发明的至少一个实施例中,通过合并所述请求堆栈中所有元素请求,使生成的所述目标请求中包含多个请求,进而将多个请求一次性发送至所述预设服务器进行处理,能够避免线程产生阻塞。
发送单元114发送所述目标请求至预设服务器进行处理,得到响应结果。
需要强调的是,为进一步保证上述响应结果的私密和安全性,上述响应结果还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述预设服务器是指与所述目标请求的目的地址对应的服务器。
所述响应结果包括用户触发的多个请求的响应。
在本发明的至少一个实施例中,在得到响应结果后,获取单元115获取每个元素请求的请求编号;
生成单元116根据所述请求编号及所述响应结果生成提示信息;
加密单元117采用对称加密算法加密所述提示信息,得到目标密文;
所述发送单元114将所述目标密文发送至所述触发终端。
通过每个元素请求的请求编号生成所述提示信息,便于所述触发用户掌握所述响应结果的响应对象,通过对称加密算法加密所述提示信息,不仅能够提高加密效率,还能够避免所述提示信息被篡改,提高了所述提示信息的安全性。
由以上技术方案可以看出,本发明通过确定出的所述触发终端及所述触发用户,能够准确确定出记载所述触发用户的触发操作的日志信息,由于所述目标日志信息中存储了所述触发用户触发的所有请求,因此,通过分析所述目标日志信息能够准确确定出所述触发请求是否属于高频请求,通过将所述触发请求写入所述请求堆栈中,能够避免所述触发请求的丢失,进而确保请求数据的完整性,通过合并所述请求堆栈中所有元素请求,使生成的所述目标请求中包含多个请求,进而将多个请求一次性发送至所述预设服务器进行处理,能够避免线程产生阻塞。本发明在确定出所述触发请求属于高频请求时,将多个所述触发请求合并成所述目标请求,进而将合并成的所述目标请求发送至所述预设服务器中进行处理,避免多个所述触发请求对所述预设服务器进行重复触发,从而提高了所述预设服务器的性能,进而提高所述响应结果的回流效率,提高页面视图的流畅性,此外,由于所述触发用户产生的所有触发请求均参与到响应,因此,能够在页面视图流畅展示时,确保请求数据的完整性。
如图6所示,是本发明实现高频请求处理方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如高频请求处理程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成确定单元110、提取单元111、创建单元112、合并单元113、发送单元114、获取单元115、生成单元116及加密单元117。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种高频请求处理方法,所述处理器13可执行所述计算机可读指令从而实现:
当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送所述目标请求至预设服务器进行处理,得到响应结果。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送所述目标请求至预设服务器进行处理,得到响应结果。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种高频请求处理方法,其特征在于,所述高频请求处理方法包括:
当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送所述目标请求至预设服务器进行处理,得到响应结果。
2.如权利要求1所述的高频请求处理方法,其特征在于,所述确定所述触发请求的触发终端及触发用户包括:
解析所述触发请求,得到所述触发请求携带的数据信息;
从配置标签库中获取第一预设标签及第二预设标签,所述第一预设标签用于指示地址,所述第二预设标签用于指示用户;
从所述数据信息中获取与所述第一预设标签对应的信息作为触发地址,并从所述数据信息中获取与所述第二预设标签对应的信息作为用户识别码;
确定与所述触发地址对应的终端作为所述触发终端,并确定与所述用户识别码对应的用户作为所述触发用户。
3.如权利要求2所述的高频请求处理方法,其特征在于,所述从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息包括:
获取所述触发终端的日志存储路径;
从所述日志存储路径获取所述触发终端的所述请求日志;
从所述请求日志中选取与所述用户识别码对应的日志信息作为所述目标日志信息。
4.如权利要求1所述的高频请求处理方法,其特征在于,所述分析所述目标日志信息确定所述触发请求所属的请求类型包括:
获取所述目标日志信息中所有历史请求的响应时间,并从所述目标日志信息中获取所述触发请求的生成时间;
计算每个响应时间与所述生成时间的第一时间差,并将所述第一时间差小于第一预设值的响应时间确定为目标时间;
对所述目标时间及所述生成时间按照从小到大的顺序进行排序,得到时间队列;
计算所述时间队列中任意相邻时间的第二时间差,并计算所述第二时间差小于第二预设值的数量,其中,所述第二预设值小于所述第一预设值;
当所述数量大于或者等于配置值时,确定所述触发请求所属的请求类型为所述高频请求;或者
当所述数量小于所述配置值时,确定所述触发请求所属的请求类型为低频请求。
5.如权利要求4所述的高频请求处理方法,其特征在于,所述根据所述目标日志信息创建请求堆栈包括:
将所述第二时间差小于所述第二预设值的时间确定为分析时间,并确定所述分析时间中的最早时间及最晚时间;
计算所述最晚时间与所述最早时间的时间差作为时间间隔,并将所述时间间隔除以所述数量,得到请求访问频率;
从所述目标日志信息中获取所述所有历史请求的触发时间,并计算每个触发时间与每个响应时间的时间差作为回应时间;
计算所述回应时间的时间总和,并计算所述所有历史请求的请求数量;
将所述时间总和除以所述请求数量,得到平均时间,并将所述请求访问频率乘以所述平均时间,得到存储区数量;
依据所述存储区数量创建所述请求堆栈。
6.如权利要求1所述的高频请求处理方法,其特征在于,所述将所述触发请求写入所述请求堆栈中包括:
确定所述请求堆栈中堆栈指针所处的存储区位置;
将所述存储区位置的下一个空存储区确定为目标存储区;
将所述触发请求写入所述目标存储区。
7.如权利要求1所述的高频请求处理方法,其特征在于,所述合并所述请求堆栈中所有元素请求,得到目标请求包括:
提取每个元素请求中的请求参数,并封装所述请求参数,得到方法体;
提取任一元素请求的报文头作为目标报文头;
封装所述方法体及所述目标报文头,得到所述目标请求。
8.一种高频请求处理装置,其特征在于,所述高频请求处理装置包括:
确定单元,用于当接收到触发请求时,确定所述触发请求的触发终端及触发用户;
提取单元,用于从所述触发终端中获取请求日志,并根据所述触发用户从所述请求日志中提取目标日志信息;
所述确定单元,还用于分析所述目标日志信息确定所述触发请求所属的请求类型,所述请求类型包括高频请求;
创建单元,用于当所述请求类型为所述高频请求时,根据所述目标日志信息创建请求堆栈,并将所述触发请求写入所述请求堆栈中;
合并单元,用于当所述请求堆栈为满栈时,合并所述请求堆栈中所有元素请求,得到目标请求;
发送单元,用于发送所述目标请求至预设服务器进行处理,得到响应结果。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的高频请求处理方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的高频请求处理方法。
CN202011290509.6A 2020-11-17 2020-11-17 高频请求处理方法、装置、电子设备及存储介质 Active CN112416583B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011290509.6A CN112416583B (zh) 2020-11-17 高频请求处理方法、装置、电子设备及存储介质
PCT/CN2021/090354 WO2022105116A1 (zh) 2020-11-17 2021-04-27 高频请求处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011290509.6A CN112416583B (zh) 2020-11-17 高频请求处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112416583A true CN112416583A (zh) 2021-02-26
CN112416583B CN112416583B (zh) 2024-07-05

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022105116A1 (zh) * 2020-11-17 2022-05-27 平安科技(深圳)有限公司 高频请求处理方法、装置、电子设备及存储介质
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080281906A1 (en) * 2007-05-10 2008-11-13 Takeshi Ogasawara Server device operating in response to received request
US20170286262A1 (en) * 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc Tagged tracing, logging and performance measurements
CN107332804A (zh) * 2016-04-29 2017-11-07 阿里巴巴集团控股有限公司 网页漏洞的检测方法及装置
CN111367799A (zh) * 2020-02-28 2020-07-03 同盾控股有限公司 定位源代码崩溃位置的方法、装置、介质及电子设备
CN111858067A (zh) * 2020-07-31 2020-10-30 厦门网宿有限公司 一种数据处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080281906A1 (en) * 2007-05-10 2008-11-13 Takeshi Ogasawara Server device operating in response to received request
US20170286262A1 (en) * 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc Tagged tracing, logging and performance measurements
CN107332804A (zh) * 2016-04-29 2017-11-07 阿里巴巴集团控股有限公司 网页漏洞的检测方法及装置
CN111367799A (zh) * 2020-02-28 2020-07-03 同盾控股有限公司 定位源代码崩溃位置的方法、装置、介质及电子设备
CN111858067A (zh) * 2020-07-31 2020-10-30 厦门网宿有限公司 一种数据处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022105116A1 (zh) * 2020-11-17 2022-05-27 平安科技(深圳)有限公司 高频请求处理方法、装置、电子设备及存储介质
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Also Published As

Publication number Publication date
WO2022105116A1 (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN111082966B (zh) 基于批量告警事件的定位方法、装置、电子设备及介质
CN112751852A (zh) 数据传输方法及相关设备
CN111797351A (zh) 页面数据管理方法、装置、电子设备及介质
WO2022105116A1 (zh) 高频请求处理方法、装置、电子设备及存储介质
CN112632163B (zh) 大数据报表导出方法及相关设备
CN113050900B (zh) 屏幕分享方法、装置、设备及存储介质
CN112711398A (zh) 埋点文件生成方法、装置、设备及存储介质
CN112948418A (zh) 动态查询方法、装置、设备及存储介质
CN111881209A (zh) 异构数据库的数据同步方法、装置、电子设备及介质
CN111796936A (zh) 请求处理方法、装置、电子设备及介质
CN114372060A (zh) 数据存储方法、装置、设备及存储介质
CN112784566A (zh) 单证生成方法、装置、设备及存储介质
CN112947911A (zh) 接口脚本生成方法、装置、设备及存储介质
CN112134968A (zh) 域名访问方法、装置、电子设备及存储介质
CN110535724B (zh) 应用程序网络读写限制方法、装置、电子设备及存储介质
CN112434062A (zh) 准实时数据处理方法、装置、服务器及存储介质
CN112416583B (zh) 高频请求处理方法、装置、电子设备及存储介质
CN111814045A (zh) 数据查询方法、装置、电子设备及存储介质
CN111277626A (zh) 服务器升级方法、装置、电子设备及介质
CN108390915B (zh) 界面的渲染方法及终端设备
CN112395319B (zh) 缓存共用方法、装置、服务器及存储介质
CN112817742B (zh) 数据迁移方法、装置、设备及存储介质
CN114238296A (zh) 产品指标数据展示方法、装置、设备及存储介质
CN113282218A (zh) 多维报表生成方法、装置、设备及存储介质
CN112434237A (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