CN112436943B - 基于大数据的请求去重方法、装置、设备及存储介质 - Google Patents

基于大数据的请求去重方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112436943B
CN112436943B CN202011186553.2A CN202011186553A CN112436943B CN 112436943 B CN112436943 B CN 112436943B CN 202011186553 A CN202011186553 A CN 202011186553A CN 112436943 B CN112436943 B CN 112436943B
Authority
CN
China
Prior art keywords
value
conversion
request
processing
same
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.)
Active
Application number
CN202011186553.2A
Other languages
English (en)
Other versions
CN112436943A (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.)
Henan Liding Material Technology Co.,Ltd.
Original Assignee
Nanyang Institute of Technology
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 Nanyang Institute of Technology filed Critical Nanyang Institute of Technology
Priority to CN202011186553.2A priority Critical patent/CN112436943B/zh
Publication of CN112436943A publication Critical patent/CN112436943A/zh
Application granted granted Critical
Publication of CN112436943B publication Critical patent/CN112436943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种基于大数据的请求去重方法、装置、设备及存储介质,属于大数据处理技术领域,该方法包括:获取不同用户的请求地址和写入内容;对获取的所有请求地址进行加密,将加密值发送给kafka集群;对获取的所有不同写入内容进行转化,将转化值发送给kafka集群;Kafka集群依据不同的加密值划分不同的接收令牌;对新接收的请求,基于判断条件,将新接收的加密值对应的转化值和时间戳写入接收分区中;将经过kafka集群分区后的转化值依据分区单位发送给去重模型,基于判断条件,获取最近转化值,分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。本申请有助于减轻重复请求数据给处理器造成的压力,一定程度上延长了处理器的使用寿命。

Description

基于大数据的请求去重方法、装置、设备及存储介质
技术领域
本申请涉及大数据处理技术领域,尤其涉及一种基于大数据的请求去重方法、装置、设备及存储介质。
背景技术
当前随着互联网科技的发展,越来越多的使用用户,要求程序设计者需要考虑到大数据状态下的重复请求情况,避免造成高并发问题,目前常用的解决方法有以下两种,一种是提高cpu的处理性能,生产出能进行高并发处理的cpu,另一种是限速限流处理,避免处理器的压力过大,但是,这两种方式都是一种规避手段,无法从根本解决重复请求时处理器压力的问题。
在实际的应用中,如果盲目的进行限速限流处理,往往又容易造成请求处理不够及时的问题,给用户带来较差的体验效果,追求提高cpu的处理性能,又不能从根本上解决重复数据请求时处理器压力大的问题。由此可知,现有技术进行请求处理时,具有重复数据请求处理不够及时和处理器压力过大的问题。
发明内容
本申请实施例的目的在于提出一种基于大数据的请求去重方法、装置、设备及存储介质,以解决现有技术进行请求处理时,具有重复数据请求处理不够及时和处理器压力过大的问题。
为了解决上述技术问题,本申请实施例提供一种基于大数据的请求去重方法,采用了如下所述的技术方案:
一种基于大数据的请求去重方法,包括:
获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容;
基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群;
基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群;
Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌;
对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区;
将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。
进一步的,所述基于大数据的请求去重方法,所述转化值包括:
基于ASCII编码格式对写入内容进行转化,将写入内容中的不同字符分别转化为ASCII格式的字符串;
对转化为ASCII格式的字符串进行二进制转化,并对二进制值进行补码和分割,在首位前加0补码到24位,并对补码后的值分割为16位和8位两个字符串,将分割后的16位字符串进行十六进制处理,获取转化值一,将分割后的8位字符串进行八进制处理,获取转化值二。
进一步的,所述基于大数据的请求去重方法,所述时间戳包括:
获取当前时间,并对当前时间进行预处理,将其转化为预设的时间格式。
进一步的,所述基于大数据的请求去重方法,所述将新接收的加密值对应的转化值和时间戳写入接收分区中包括:
判断接收分区中是否存在转化值与新写入的转化值相同,若存在,直接获取历史转化值,否则,将新获取的转化值进行写入接收分区。
进一步的,所述基于大数据的请求去重方法,所述判断接收分区中是否存在转化值与新写入的转化值相同包括:
先判断转化值一是否相同,若相同,再进行转化值二判断,若转化值二也相同,则转化值相同,否则,转化值不同。
进一步的,所述基于大数据的请求去重方法,所述基于时间戳获取转化值包括:
对相同转化值对应时间戳进行比较,获取时间戳最大时的转化值一和转化值二。
进一步的,所述基于大数据的请求去重方法,所述基于预设的解码模型分别对加密值和转化值进行反码处理包括:
对加密值进行md5解密处理,获取请求地址;
对转化值一和转化值二分别进行二进制处理,将生成的二进制值进行转ASCII码处理,获取ASCII码,再对ASCII码进行转字符串处理,获取处理结果。
为了解决上述技术问题,本申请实施例还提供了一种基于大数据的请求去重装置,采用了如下所述的技术方案:
一种基于大数据的请求去重装置,包括:
请求获取模块,用于获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容;
地址加密模块,用于基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群;
内容转化模块,用于基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群;
接收令牌生成模块,用于Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌;
接收分区确定模块,用于对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区;
请求去重模块,用于将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例中提出的一种基于大数据的请求去重方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种非易失性计算机可读存储介质,采用了如下所述的技术方案:
一种非易失性计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中提出的一种基于大数据的请求去重方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例公开了基于大数据的请求去重方法、装置、设备及存储介质,通过获取不同用户的请求地址和写入内容;对获取的所有请求地址进行加密,将加密值发送给kafka集群;对获取的所有不同写入内容进行转化,将转化值发送给kafka集群;Kafka集群依据不同的加密值划分不同的接收令牌;对新接收的请求,基于判断条件,将新接收的加密值对应的转化值和时间戳写入接收分区中;将经过kafka集群分区后的转化值依据分区单位发送给去重模型,基于判断条件,获取最近转化值,基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。通过上述方法,从持续产生的请求中,查找相同的请求内容,并通过去重只保留最近的请求,这样做能避免处理器处理重复请求,本申请有助于减轻重复请求数据给处理器造成的压力,一定程度上延长了处理器的使用寿命。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例可以应用于其中的示例性***架构图;
图2为本申请实施例中所述基于大数据的请求去重方法的一个实施例的流程图;
图3为本申请实施例中请求内容解析示意图;
图4为本申请实施例中对ASCII格式的字符串进行二进制转换和补码的示意图;
图5为本申请实施例中对补码后的二进制值进行拆分和进行预设进制转化的示意图;
图6为本申请实施例中重复请求的判断和去重流程图;
图7为本申请实施例中所述基于大数据的请求去重装置的一个实施例的结构示意图;
图8为本申请实施例中请求获取模块的结构示意图;
图9为本申请实施例中内容转化模块的结构示意图;
图10为本申请实施例中计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于大数据的请求去重方法一般由服务器/终端设备执行,相应地,基于大数据的请求去重装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图中示出了本申请的基于大数据的请求去重方法的一个实施例的流程图,所述的基于大数据的请求去重方法包括以下步骤:
步骤201,获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容。在本实施例中,所述对请求内容进行解析包括:将请求内容基于预设的解析字段解析为两部分,分别为请求地址部分和写入内容部分。例如:请求内容为http://www.lytu.edu.cn:80/chpage/index.html?str=abc#a1,将“str=”作为标识字段,获取第一个“str=”前的部分“http://www.lytu.edu.cn:80/chpage/index.html?”为请求地址,获取第一个“str=”后的部分“abc#a1”为写入内容。
具体参考图3,图3为本申请实施例中请求内容解析示意图,图中301示出了用户的请求内容,图中302示出了请求内容解析的依据字符串,图中303示出了请求内容被解析后获取的请求地址部分,图中304示出了请求内容被解析后获取的写入内容部分。
步骤202,基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群。
在本实施例中,所述基于MD5加密算法,对获取的所有请求地址进行加密,例如:请求地址部分为:http://www.lytu.edu.cn:80/chpage/index.html?,将上述请求地址部分进行加密处理,获取到16位小写加密值为7bd9f4d7a83541b0。
在本实施例中,所述将加密值发送给kafka集群,例如上述加密值为063dc83e6e14423a,将所述加密值发送到kafka集群。
步骤203,基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群。
在本实施例中,所述转化值包括:基于ASCII编码格式对写入内容进行转化,将写入内容中的不同字符分别转化为ASCII格式的字符串;对转化为ASCII格式的字符串进行二进制转化,并对二进制值进行补码和分割,在首位前加0补码到24位,并对补码后的值分割为16位和8位两个字符串,将分割后的16位字符串进行十六进制处理,获取转化值一,将分割后的8位字符串进行八进制处理,获取转化值二。
所述基于ASCII编码格式对写入内容进行转化,将写入内容中的不同字符分别转化为ASCII格式的字符串,例如:单个汉字“王”,其对应的ASCII码为29579;单个汉字“雨”,其对应的ASCII码为38632;数字“1”,其对应的ASCII码为49,对写入的请求使用ASCII编码转化的方式,将请求内容转化为ASCII码字符串。例如:请求内容为“https://www.***.com”,这时将整个请求转化为ASCII编码格式,获得每一个字符对应的ASCII值,即:“104”、“116”、“116”、“112”、“115”、“58”、“47”、“47”、“119”、“119”、“119”、“46”、“98”、“97”、“105”、“100”、“117”、“46”、“99”、“111”、“109”。
所述对转化为ASCII格式的字符串进行二进制转化,例如上述“104”、“116”,这时将“104”转化为二进制为“1101000”,“116”转化为二进制值为“1110100”,“38632”转化为二进制值为“1001011011101000”。
所述对二进制值进行补码,例如:“104”对应的二进制为“1101000”,将其补位至24为“000000000000000001101000”;“116”对应的二进制为“1110100”,将其补位至24为“000000000000000001110100”;“38632”对应的二进制为“1001011011101000”,将其补位至24为“000000001001011011101000”。
具体参考图4,图4为本申请实施例中对ASCII格式的字符串进行二进制转换和补码的示意图,图中401示出了ASCII格式的字符串,图中402示出了进行二进制转换后的二进制值,图中403示出了补码后的二进制值。
所述对二进制值进行分割,例如:“104”对应的二进制为“1101000”,将其补位至24为“000000000000000001101000”,再进行16位和8位拆分,获得以下两个字符串“0000000000000000”和“01101000”;“116”对应的二进制为“1110100”,将其补位至24为“000000000000000001110100”,再进行16位和8位拆分,获得以下两个字符串“0000000000000000”和“01110100”;“38632”对应的二进制为“1001011011101000”,将其补位至24为“000000001001011011101000”,再进行16位和8位拆分,获得以下两个字符串“0000000010010110”和“11101000”。
所述将分割后的16位字符串进行十六进制处理,获取转化值一,将分割后的8位字符串进行八进制处理,获取转化值二,例如:上述“0000000000000000”和“01101000”,获取转化值一为“0000000000000000”进行十六制转换为“0”,转化值二为“01101000”进行八制转换为“150”;上述“0000000000000000”和“01110100”,获取转化值一为“0000000000000000”进行十六制转换为“0”,转化值二为“01110100”进行八制转换为“164”;上述“0000000010010110”和“11101000”,获取转化值一为“0000000010010110”进行十六制转换为“96”,转化值二为“11101000”进行八制转换为“350”。
具体参考图5,图5为本申请实施例中对补码后的二进制值进行拆分和进行预设进制转化的示意图,图中501示出了补码后的二进制值,图中502示出了二进制值经拆分后的16位二进制值,图中503示出了经拆分后的8位二进制值,图中504示出了经过十六进制转换后的转化值一,图中505示出了经过八进制转换后的转化值二。
步骤204,Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌。
在本实施例中,Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌,例如:Kafka集群在对并发请求进行处理时,会将请求写入不同的处理分区中,本申请中依据加密值进行划分不同的接收令牌,即将相同加密值的请求作为同类请求,分为一个请求类中。
步骤205,对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区。
在本实施例中,所述时间戳包括:获取当前时间,并对当前时间进行预处理,将其转化为预设的时间格式。
例如:获取当前时间为:12:01:56,对获取的时间格式进行预处理,假设预设的时间格式为“hhmmss”,经过去“:”处理后,则当前时间为“120156”。
在本实施例中,所述将新接收的加密值对应的转化值和时间戳写入接收分区中包括:判断接收分区中是否存在转化值与新写入的转化值相同,若存在,直接获取历史转化值,否则,将新获取的转化值进行写入接收分区。
解释:若接收分区中存在转化值与新写入的转化值相同,则说明,新写入的请求与历史请求为相同请求,直接获取历史请求对应的转化值,如果接收分区中不存在转化值与新写入的转化值相同,则将新获取的转化值进行写入接收分区。
步骤206,将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。
在本实施例中,若相近时间段内有相同请求,直接通过时间戳,比较出最近的请求,将该请求发送到处理层,减少重复请求。
在本实施例中,所述判断接收分区中是否存在转化值与新写入的转化值相同包括:先判断转化值一是否相同,若相同,再进行转化值二判断,若转化值二也相同,则转化值相同,否则,转化值不同。
解释:在进行转化值是否相同的判断时,首先,先对转化值一进行判断,若转化值一相同,再对转化值二进行判断,若满足转化值一和转化值二都相同,则说明转化值相同。
在本实施例中,所述基于时间戳获取转化值包括:对相同转化值对应时间戳进行比较,获取时间戳最大时的转化值一和转化值二。
解释:若转化值相同,基于时间戳比较请求时间,已经确定时间的格式转化为“hhmmss”格式,例如,在120156和120159时,转化值相同,这时获取120159这个时间戳下对应的转化值一和转化值二。
在本实施例中,所述基于预设的解码模型分别对加密值和转化值进行反码处理包括:对加密值进行md5解密处理,获取请求地址;对转化值一和转化值二分别进行二进制处理,将生成的二进制值进行转ASCII码处理,获取ASCII码,再对ASCII码进行转字符串处理,获取处理结果。
所述对加密值进行md5解密处理,获取请求地址,例如:16位小写加密值为7bd9f4d7a83541b0,对上述加密值进行解密处理,获取请求地址部分为:http://www.lytu.edu.cn:80/chpage/index.html?。
所述对转化值一和转化值二分别进行二进制处理,将生成的二进制值进行转ASCII码处理,获取ASCII码,再对ASCII码进行转字符串处理,获取处理结果,例如:若十六进制的转化值一为“96”,八进制的转化值二为“350”,先分别对转化值一和转化值二进行二进制转换,获取的二进制值分别为“0000000010010110”和“11101000”,将获取的二进制值进行字符串拼接为“000000001001011011101000”,再进行十进制转化获取ASCII码为“38632”,再对“38632”进行转中文处理,获取到用户具体请求的内容为“雨”。
具体参考图6,图6为本申请实施例中重复请求的判断和去重流程图,图中示出了先经过加密值进行请求分区判断,若已经存在相同加密值的分区,即请求地址相同,直接判断新请求的转化值一是否与加密值的分区中的某一转化值一相同,若相同,再对转化值二进行判断,若转化值二也相同,则转化值相同,对转化值进行反码处理,基于时间戳获取最近时间的反码结果,将反码后的结果发送到处理层,即用户最初发送的请求内容。
本申请实施例中所述的基于大数据的请求去重方法,可以获取不同用户的请求地址和写入内容;对获取的所有请求地址进行加密,将加密值发送给kafka集群;对获取的所有不同写入内容进行转化,将转化值发送给kafka集群;Kafka集群依据不同的加密值划分不同的接收令牌;对新接收的请求,基于判断条件,将新接收的加密值对应的转化值和时间戳写入接收分区中;将经过kafka集群分区后的转化值依据分区单位发送给去重模型,基于判断条件,获取最近转化值,基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。通过上述方法,从持续产生的请求中,查找相同的请求内容,并通过去重只保留最近的请求,这样做能避免处理器处理重复请求,本申请有助于减轻重复请求数据给处理器造成的压力,一定程度上延长了处理器的使用寿命。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图7,作为对上述图2所示方法的实现,本申请提供了一种基于大数据的请求去重装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例所述的基于大数据的请求去重装置7包括:请求获取模块701、地址加密模块702、内容转化模块703、接收令牌生成模块704、接收分区确定模块705和请求去重模块706。其中:
请求获取模块701,用于获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容;
地址加密模块702,用于基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群;
内容转化模块703,用于基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群;
接收令牌生成模块704,用于Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌;
接收分区确定模块705,用于对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区;
请求去重模块706,用于将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。
在本申请的一些实施例中,如图8,图8为本申请实施例中请求获取模块的结构示意图,所述请求获取模块701包括请求地址获取单元701a和写入内容获取单元701b。
在本申请的一些实施例中,所述请求地址获取单元701a用于基于预先设定的拆分字符串对所述请求内容进行拆分,拆分出所述请求内容的请求地址部分。
在本申请的一些实施例中,所述写入内容获取单元701b用于基于预先设定的拆分字符串对所述请求内容进行拆分,拆分出所述请求内容的写入内容部分。
在本申请的一些实施例中,所述地址加密模块702用于基于MD5加密算法对所述请求内容拆分后的请求地址进行加密操作,将所述请求地址转化为预设格式的MD5值。
在本申请的一些实施例中,如图9,图9为本申请实施例中内容转化模块的结构示意图,所述内容转化模块703包括ASCII码转化单元703a、转化值一转化单元703b和转化值二转化单元703c。
在本申请的一些实施例中,所述ASCII码转化单元703a用于基于预设的ASCII转化算法对写入内容中的每一个字符进行ASCII转化,即基于ASCII编码格式对写入内容进行转化,将写入内容中的不同字符分别转化为ASCII格式的字符串。
在本申请的一些实施例中,所述转化值一转化单元703b用于对转化为ASCII格式的字符串进行二进制转化,并对二进制值进行补码和分割,在首位前加0补码到24位,并对补码后的值分割为16位和8位两个字符串,将分割后的16位字符串进行十六进制处理,获取转化值一。
在本申请的一些实施例中,所述转化值二转化单元703c用于将分割后的8位字符串进行八进制处理,获取转化值二。
在本申请的一些实施例中,所述接收令牌生成模块704在将用户请求发送给kafka分发集群时,将对请求地址加密值作为kafka集群中的分发分区,所述的分区即topic,每一个topic对应一个同类的请求。
在本申请的一些实施例中,所述接收分区确定模块705在识别请求的先后时用于获取当前时间,并对当前时间进行预处理,将其转化为预设的时间格式,获得时间戳,通过时间戳识别出请求的先后。
在本申请的一些实施例中,所述接收分区确定模块705在将新接收的加密值对应的转化值和时间戳写入接收分区中时,还用于判断接收分区中是否存在转化值与新写入的转化值相同,若存在,直接获取历史转化值,否则,将新获取的转化值进行写入接收分区。
在本申请的一些实施例中,所述接收分区确定模块705在判断接收分区中是否存在转化值与新写入的转化值相同时,还用于先判断转化值一是否相同,若相同,再进行转化值二判断,若转化值二也相同,则转化值相同,否则,转化值不同。
在本申请的一些实施例中,所述请求去重模块706在基于时间戳获取转化值时,用于对相同转化值对应时间戳进行比较,获取时间戳最大时的转化值一和转化值二。
在本申请的一些实施例中,所述请求去重模块706在基于预设的解码模型分别对加密值和转化值进行反码处理时用于对加密值进行md5解密处理,获取请求地址;还用于对转化值一和转化值二分别进行二进制处理,将生成的二进制值进行转ASCII码处理,获取ASCII码,再对ASCII码进行转字符串处理,获取处理结果。
本申请实施例所述的基于大数据的请求去重装置,通过获取不同用户的请求地址和写入内容;对获取的所有请求地址进行加密,将加密值发送给kafka集群;对获取的所有不同写入内容进行转化,将转化值发送给kafka集群;Kafka集群依据不同的加密值划分不同的接收令牌;对新接收的请求,基于判断条件,将新接收的加密值对应的转化值和时间戳写入接收分区中;将经过kafka集群分区后的转化值依据分区单位发送给去重模型,基于判断条件,获取最近转化值,基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。通过上述方法,从持续产生的请求中,查找相同的请求内容,并通过去重只保留最近的请求,这样做能避免处理器处理重复请求,本申请有助于减轻重复请求数据给处理器造成的压力,一定程度上延长了处理器的使用寿命。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图10,图10为本实施例计算机设备基本结构框图。
所述计算机设备10包括通过***总线相互通信连接存储器10a、处理器10b、网络接口10c。需要指出的是,图中仅示出了具有组件10a-10c的计算机设备10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器10a至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器10a可以是所述计算机设备10的内部存储单元,例如该计算机设备10的硬盘或内存。在另一些实施例中,所述存储器10a也可以是所述计算机设备10的外部存储设备,例如该计算机设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器10a还可以既包括所述计算机设备10的内部存储单元也包括其外部存储设备。本实施例中,所述存储器10a通常用于存储安装于所述计算机设备10的操作***和各类应用软件,例如基于大数据的请求去重方法的程序代码等。此外,所述存储器10a还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器10b在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10b通常用于控制所述计算机设备10的总体操作。本实施例中,所述处理器10b用于运行所述存储器10a中存储的程序代码或者处理数据,例如运行所述基于大数据的请求去重方法的程序代码。
所述网络接口10c可包括无线网络接口或有线网络接口,该网络接口10c通常用于在所述计算机设备10与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有基于大数据的请求去重程序,所述基于大数据的请求去重程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于大数据的请求去重方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (9)

1.一种基于大数据的请求去重方法,其特征在于,包括下述步骤:
获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容;
基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群;
基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群;所述转化值包括:基于ASCII编码格式对写入内容进行转化,将写入内容中的不同字符分别转化为ASCII格式的字符串;对转化为ASCII格式的字符串进行二进制转化,并对二进制值进行补码和分割,在首位前加0补码到24位,并对补码后的值分割为16位和8位两个字符串,将分割后的16位字符串进行十六进制处理,获取转化值一,将分割后的8位字符串进行八进制处理,获取转化值二;
Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌;
对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区;
将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和最近转化值进行反码处理,将处理后的内容发送到处理层。
2.根据权利要求1所述的基于大数据的请求去重方法,其特征在于,所述时间戳包括:
获取当前时间,并对当前时间进行预处理,将其转化为预设的时间格式。
3.根据权利要求2所述的基于大数据的请求去重方法,其特征在于,所述将新接收的加密值对应的转化值和时间戳写入接收分区中包括:
判断接收分区中是否存在转化值与新写入的转化值相同,若存在,直接获取历史转化值,否则,将新获取的转化值进行写入接收分区。
4.根据权利要求3所述的基于大数据的请求去重方法,其特征在于,所述判断接收分区中是否存在转化值与新写入的转化值相同包括:
先判断转化值一是否相同,若相同,再进行转化值二判断,若转化值二也相同,则转化值相同,否则,转化值不同。
5.根据权利要求4所述的基于大数据的请求去重方法,其特征在于,所述基于时间戳获取转化值包括:
对相同转化值对应时间戳进行比较,获取时间戳最大时的转化值一和转化值二。
6.根据权利要求5所述的基于大数据的请求去重方法,其特征在于,所述基于预设的解码模型分别对加密值和转化值进行反码处理包括:
对加密值进行md5解密处理,获取请求地址;
对转化值一和转化值二分别进行二进制处理,将生成的二进制值进行转ASCII码处理,获取ASCII码,再对ASCII码进行转字符串处理,获取处理结果。
7.一种基于大数据的请求去重装置,其特征在于,包括:
请求获取模块,用于获取若干用户发送的并发写入请求,并对请求内容进行解析,获取不同用户的请求地址和写入内容;
地址加密模块,用于基于MD5加密算法,对获取的所有请求地址进行加密,获取加密值,将加密值发送给kafka集群;
内容转化模块,用于基于预设的转化模型,对获取的所有不同写入内容进行转化,获取转化值,将转化值发送给kafka集群;
接收令牌生成模块,用于Kafka集群基于接收的加密值进行区分,依据不同的加密值划分不同的接收令牌;
接收分区确定模块,用于对新接收的请求,判断是否存在历史加密值与其加密值一致,若一致,将新接收的加密值对应的转化值和时间戳写入接收分区中,否则,基于新接收的加密值建立接收分区;
请求去重模块,用于将经过kafka集群分区后的转化值依据分区单位发送给去重模型,判断相同分区单位中是否存在转化值相同的内容,若存在,基于时间戳获取最近转化值,删除其他的相同转化值,并基于预设的解码模型分别对加密值和转化值进行反码处理,将处理后的内容发送到处理层。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的基于大数据的请求去重方法的步骤。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于大数据的请求去重方法的步骤。
CN202011186553.2A 2020-10-29 2020-10-29 基于大数据的请求去重方法、装置、设备及存储介质 Active CN112436943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011186553.2A CN112436943B (zh) 2020-10-29 2020-10-29 基于大数据的请求去重方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011186553.2A CN112436943B (zh) 2020-10-29 2020-10-29 基于大数据的请求去重方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112436943A CN112436943A (zh) 2021-03-02
CN112436943B true CN112436943B (zh) 2022-11-08

Family

ID=74694736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011186553.2A Active CN112436943B (zh) 2020-10-29 2020-10-29 基于大数据的请求去重方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112436943B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113206875B (zh) * 2021-04-27 2022-09-02 深圳市晨北科技有限公司 数据传输方法、装置及存储介质
CN114422259B (zh) * 2022-01-26 2022-10-28 宋舒涵 一种面向高并发数据请求的互联网资源监测及分配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017076193A1 (zh) * 2015-11-05 2017-05-11 北京奇虎科技有限公司 一种处理客户端请求的方法和装置
WO2020014954A1 (zh) * 2018-07-20 2020-01-23 威富通科技有限公司 数据控制方法及终端设备
CN110795499A (zh) * 2019-09-17 2020-02-14 中国平安人寿保险股份有限公司 基于大数据的集群数据同步方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387044B2 (en) * 2017-04-05 2019-08-20 Kaminario Technologies Ltd. Deduplication in a distributed storage system
CN111143720A (zh) * 2018-11-06 2020-05-12 顺丰科技有限公司 一种url去重方法、装置及存储介质
CN110457305B (zh) * 2019-08-13 2021-11-26 腾讯科技(深圳)有限公司 数据去重方法、装置、设备及介质
CN111258966A (zh) * 2020-01-14 2020-06-09 软通动力信息技术有限公司 一种数据去重方法、装置、设备及存储介质
CN111259282B (zh) * 2020-02-13 2023-08-29 深圳市腾讯计算机***有限公司 Url去重方法、装置、电子设备及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017076193A1 (zh) * 2015-11-05 2017-05-11 北京奇虎科技有限公司 一种处理客户端请求的方法和装置
WO2020014954A1 (zh) * 2018-07-20 2020-01-23 威富通科技有限公司 数据控制方法及终端设备
CN110795499A (zh) * 2019-09-17 2020-02-14 中国平安人寿保险股份有限公司 基于大数据的集群数据同步方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
海量关系数据去重处理技术研究与优化;黄奇鹏等;《计算机与数字工程》;20181020(第10期);全文 *

Also Published As

Publication number Publication date
CN112436943A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和***
CN112527816B (zh) 数据血缘关系解析方法、***、计算机设备及存储介质
US10547618B2 (en) Method and apparatus for setting access privilege, server and storage medium
US10649905B2 (en) Method and apparatus for storing data
CN111191255B (zh) 信息加密处理的方法、服务器、终端、设备以及存储介质
CN112436943B (zh) 基于大数据的请求去重方法、装置、设备及存储介质
CN115017107A (zh) 基于保护隐私的数据检索方法、装置、计算机设备及介质
CN115757495A (zh) 缓存数据处理方法、装置、计算机设备及存储介质
CN110618999A (zh) 数据的查询方法及装置、计算机存储介质、电子设备
CN115757492A (zh) 一种热点数据的处理方法、装置、计算机设备及存储介质
CN111680477A (zh) 导出电子表格文件的方法、装置、计算机设备及存储介质
CN111046010A (zh) 日志储存方法、装置、***、电子设备和计算机可读介质
CN113268453A (zh) 日志信息压缩存储方法及装置
CN113010542A (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN116842012A (zh) 一种Redis集群的分片存储方法、装置、设备及存储介质
CN112182108A (zh) 基于区块链的分布式数据存储更新方法和电子设备
CN111311374A (zh) 基于大学生的闲置物品交换方法、装置、设备及存储介质
CN114912003A (zh) 文档搜索方法、装置、计算机设备及存储介质
CN112182603B (zh) 反爬虫方法和装置
CN112416875B (zh) 日志管理方法、装置、计算机设备及存储介质
CN115374455A (zh) 音频文件处理方法、装置、计算机设备及存储介质
CN114626352A (zh) 报表自动化生成方法、装置、计算机设备及存储介质
CN113791735A (zh) 视频数据存储方法、装置、计算机设备及存储介质
CN112632054A (zh) 一种基于属性加密的数据集去重方法、存储介质及***
CN111988405A (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
CB02 Change of applicant information

Address after: No. 80, Changjiang Road, Wancheng District, Nanyang City, Henan Province 473003

Applicant after: NANYANG INSTITUTE OF TECHNOLOGY

Address before: 473000 Qiyi Road, Nanyang City, Henan Province

Applicant before: NANYANG INSTITUTE OF TECHNOLOGY

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240328

Address after: 473000 Liding Industrial Park, No. 2497 Songshan Road, Lihe, Wancheng District, Nanyang City, Henan Province

Patentee after: Henan Liding Material Technology Co.,Ltd.

Country or region after: China

Address before: No. 80, Changjiang Road, Wancheng District, Nanyang City, Henan Province 473003

Patentee before: NANYANG INSTITUTE OF TECHNOLOGY

Country or region before: China

TR01 Transfer of patent right