CN113810392A - 一种海量数据的top排名方法、设备及存储介质 - Google Patents
一种海量数据的top排名方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113810392A CN113810392A CN202111018100.3A CN202111018100A CN113810392A CN 113810392 A CN113810392 A CN 113810392A CN 202111018100 A CN202111018100 A CN 202111018100A CN 113810392 A CN113810392 A CN 113810392A
- Authority
- CN
- China
- Prior art keywords
- chain table
- hash chain
- mass data
- node
- top node
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种海量数据的TOP排名方法、设备及存储介质,方法包括:S1、构建哈希链表,其中,所述哈希链表分配有预设大小的内存,用于存储n个不同的TOP节点,所述哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应;S2、获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点后,判断计算出的TOP节点是否在所述哈希链表中,并根据判断结果对所述哈希链表进行更新,以更新哈希链表中的TOP节点的排序;S3、重复执行步骤S2,直至海量数据遍历完毕后,以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名。本发明解决了目前对海量数据进行TOP排名时耗费时间长、耗费内存大的问题。
Description
技术领域
本发明涉及计算机安全技术领域,具体涉及一种海量数据的TOP排名方法、设备及存储介质。
背景技术
在网络设备中(比如防火墙、路由设备等),会话是其中非常重要的模块和组成部分,对于管理员来说,关注一些基于源IP、目的IP、源端口、目的端口等的TOP排名(一般在100以内)是十分有价值的,他们可以据此来评估和分析网络中的流量模型、攻击行为等。
但是在这里又面临一个实实在在的问题,会话的总数往往数量巨大,大多都是400万条以上,对一些高端设备或大流量场景,其数目可达到上千万条,对如此多条码进行统计排序往往会比较耗时,也很耗费内存。
发明内容
本发明的目的在于克服上述技术不足,提供一种海量数据的TOP排名方法、设备及存储介质,解决现有技术中对海量数据进行TOP排名时耗费时间长、耗费内存大的技术问题。
为达到上述技术目的,本发明采取了以下技术方案:
第一方面,本发明提供一种海量数据的TOP排名方法,包括如下步骤:
S1、构建哈希链表,其中,所述哈希链表分配有预设大小的内存,用于存储n个不同的TOP节点,所述哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应;
S2、获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点后,判断计算出的TOP节点是否在所述哈希链表中,并根据判断结果对所述哈希链表进行更新,以更新哈希链表中的TOP节点的排序;
S3、重复执行步骤S2,直至海量数据遍历完毕后,以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名。
优选的,所述的海量数据的TOP排名方法中,所述第一元素为源IP地址、目的IP地址、源端口、目的端口、协议类型、DNAT转换后的目的IP地址或数据对应的认证用户名。
优选的,所述的海量数据的TOP排名方法中,所述预设大小的内存为10M。
优选的,所述的海量数据的TOP排名方法中,在初始状态下,所述哈希链表中没有存储任何TOP节点。
优选的,所述的海量数据的TOP排名方法中,所述步骤S2具体包括:
获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点;
判断计算出的TOP节点是否在所述哈希链表中;
当所述计算出的TOP节点不在哈希链表中时,将所述计算出的TOP节点加至所述哈希链表的最尾端,以对所述哈希链表进行更新;
当所述计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新。
优选的,所述的海量数据的TOP排名方法中,所述当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新具体包括:
当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1;
将加1后的TOP节点的计数值依次与位于其前面的TOP节点的计数值进行比较,直至遇到计数值大于或者等于加1后的TOP节点的计数值的TOP节点时,将加1后的TOP节点移动到大于或者等于加1后的TOP节点的后面,以对所述哈希链表进行更新。
优选的,所述的海量数据的TOP排名方法中,所述以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名具体为:
获取最后更新得到的哈希链表,并将哈希链表中各个TOP节点的排序位置作为所述哈希链表中的TOP节点的排序结果,以所述哈希链表中的TOP节点的排序结果作为所述海量数据的TOP排名。
优选的,所述的海量数据的TOP排名方法中,所述步骤S2之后,所述步骤S3之前还包括:
判断所述哈希链表的内存是否用完,如果没有,则执行步骤S3,否则对所述哈希链表的内存进行扩充后,执行步骤S3。
第二方面,本发明还提供一种海量数据的TOP排名设备,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上所述的海量数据的TOP排名方法中的步骤。
第三方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的海量数据的TOP排名方法中的步骤。
与现有技术相比,本发明提供的海量数据的TOP排名方法、设备及存储介质,首先构建一哈希链表,哈希链表用于存储n个不同的TOP节点,哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应,然后遍历海量数据,通过哈希函数计算出数据对应的TOP节点,然后根据跟计算结果对哈希链表进行更新,当海量数据遍历完毕后,通过更新得到的哈希链表中的TOP节点的排序结果来得到海量数据的TOP排名,能够快速计算出海量数据的TOP排名,而且节省内存,去除不必要的内存开销,效率也较高,而且通用性强,适用性强。
附图说明
图1是本发明提供的海量数据的TOP排名方法的一较佳实施例的流程图;
图2是本发明提供的海量数据的TOP排名装置的一较佳实施例的示意图;
图3是本发明海量数据的TOP排名程序的较佳实施例的运行环境示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明实施例提供的海量数据的TOP排名方法,包括如下步骤:
S1、构建哈希链表,其中,所述哈希链表分配有预设大小的内存,用于存储n个不同的TOP节点,所述哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应;
S2、获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点后,判断计算出的TOP节点是否在所述哈希链表中,并根据判断结果对所述哈希链表进行更新,以更新哈希链表中的TOP节点的排序;
S3、重复执行步骤S2,直至海量数据遍历完毕后,以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名。
本实施例中,首先构建一哈希链表,哈希链表用于存储n个不同的TOP节点,哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应,然后遍历海量数据,通过哈希函数计算出数据对应的TOP节点,然后根据跟计算结果对哈希链表进行更新,当海量数据遍历完毕后,通过更新得到的哈希链表中的TOP节点的排序结果来得到海量数据的TOP排名,能够快速计算出海量数据的TOP排名,而且节省内存,去除不必要的内存开销,效率也较高,而且通用性强,适用性强。
在一个优选的实施例中,所述步骤S1中,在构建哈希链表时,根据TOP排名的数量t(此数量表示只考虑排名前t的TOP节点),以及海量数据的总数m,分配(m*sizeof(structhlist_head)/(5*t))大小的内存,用于存储哈希链表的头结点,其中,上述中的系数5可以根据实际的业务场景调整,假设TOP的对象属于比较密集型的(比如10000个会话中,不重复的IP只有x个,这个x越小说明越密集),那么可以适当扩大这个系数。
进一步的,所述步骤S1中,所述海量数据可以为多种数据,例如海量会话等,所述第一元素为源IP地址(ipv4或ipv6)、目的IP地址(ipv4或ipv6)、源端口(0-65535)、目的端口(0-65536)、协议类型(0-255)、DNAT转换后的目的IP地址或数据对应的认证用户名等元素,本发明可以使用其中任意一个元素维度,在一个优选的实施例中,本发明优选五元组(源IP地址、目的IP地址、源端口、目的端口、协议类型)来作为第一元素。
进一步的,所述预设大小的内存为10M,10M内存大概可以存储37万个TOP节点,可以保证哈希链表的正常使用。以源IP为例,只有每个源IP都不相同的情况下,才会出现极端情况,这时需要(28*m)字节的内存。此外,由于一次只分配一个节点对于计算机系统来说是一件耗时的工作,而且容易造成内存随便,故本发明一次分10M内存可以实现提速。
进一步的,所述预设的哈希函数可以为任意的函数,只需保证各个数据的第一元素统一采用此函数来计算TOP节点即可,TOP节点反应的是各条数据的类型,通过统计TOP节点的计数值,即可反应出海量数据中的不同类型数据的TOP排名。
在一个优选的实施例中,在初始状态下,所述哈希链表中没有存储任何TOP节点,换而言之,在新建哈希链表时,哈希链表只是一个具有预设大小内存的空表,在后续进行哈希计算时,才逐步将TOP节点加入,从而方便对TOP节点进行计数。
在一个优选的实施例中,所述步骤S2具体包括:
获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点;
判断计算出的TOP节点是否在所述哈希链表中;
当所述计算出的TOP节点不在哈希链表中时,将所述计算出的TOP节点加至所述哈希链表的最尾端,以对所述哈希链表进行更新;
当所述计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新。
本实施例中,首先获取其中一条数据,然后采用所述哈希函数对其的第一元素进行计算,得到一个TOP节点,然后轮询哈希链表,如果这个TOP节点已经存在于哈希链表中,则将哈希链表中这个TOP节点的计数值加1,不存在,则将这个TOP节点加入哈希链表的最尾端,从而可以保证哈希链表的各个TOP节点是按照计数值的大小排布在表中,可以方便的得到排名。举例来说,在对上一条数据进行处理完成后,哈希链表目前中存储有TOP1节点至TOP100节点,并从TOP1节点至TOP100节点依次排列才表中,此时获取其中一条数据的源IP地址X,然后采用哈希函数对X进行计算,得到一个TOP s节点,如果TOP s节点属于TOP1节点至TOP100节点中的一个,例如TOP s节点为TOP 10节点,此时则对TOP 10节点的计数值加1,然后根据计数值对哈希链表进行更新,如果TOP s节点不属于TOP1节点至TOP100节点中的一个,例如为TOP101节点,则将TOP101节点加入至TOP100节点的尾部,实现对哈希链表的更新。进而可以保证哈希链表中的各个TOP节点是按照计数值的大小来进行排序,可以方便的得到所需的排名前t的数据类型。
在一个优选的实施例中,所述当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新具体包括:
当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1;
将加1后的TOP节点的计数值依次与位于其前面的TOP节点的计数值进行比较,直至遇到计数值大于或者等于加1后的TOP节点的计数值的TOP节点时,将加1后的TOP节点移动到大于或者等于加1后的TOP节点的后面,以对所述哈希链表进行更新。
本实施例中,根据TOP节点的计数值来对哈希链表中的TOP节点进行排序,从而可以方便的得到排名前t的数据类型。具体的,当计算出的TOP节点的计数值加1后,将其计数值依次与其前面的TOP节点的计数值进行比较,如果遇到计数值大于或者等于加1后的TOP节点的计数值的TOP节点时,将加1后的TOP节点移动到大于或者等于加1后的TOP节点的后面,从而使哈希链表的各个TOP节点保持以计数值的大小来进行排序。举例来说,TOP1节点至TOP5节点按照计数值排序,且计数值分别为2000、1500、1300、1000、1000。计算出的TOP节点为TOP5节点(计算前的计数值为1000),然后将TOP5节点的计数值加1,此时,TOP5节点的计数值变为1001,然后将TOP5节点的计数值与其前面的计数值进行比较,先与TOP4节点(计数值为1000)进行比较,发现TOP5节点的计数值大于TOP4节点,然后再将TOP5节点的计数值与TOP3节点的计数值(为1300)比较,发现其小于TOP3节点的计数值,此时,则直接将TOP5节点插入TOP4节点的前面、TOP3节点的后面,从而实现了对TOP节点的排序。
在一个优选的实施例中,所述步骤S3中,所述以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名具体为:
获取最后更新得到的哈希链表,并将哈希链表中各个TOP节点的排序位置作为所述哈希链表中的TOP节点的排序结果,以所述哈希链表中的TOP节点的排序结果作为所述海量数据的TOP排名。
本实施例中,当对海量数据遍历完毕后,得到的哈希链表中,各个TOP节点是按照其计数值的大小,从大至小来进行排序的,故可以清楚的看到所需的排名前t的TOP节点,进而可以方便的得到海量数据中排名前t的数据类型及其具体的数量(即所述计数值),从而实现了对海量数据的快速排名,节省内存,去除不必要的内存开销,效率也较高,而且通用性强,适用性强。
在一个优选的实施例中,所述步骤S2之后,所述步骤S3之前还包括:
判断所述哈希链表的内存是否用完,如果没有,则执行步骤S3,否则对所述哈希链表的内存进行扩充后,执行步骤S3。
本实施例中,由于一次只分配了10M的内存用于存储TOP节点,当TOP节点的数量较多时,导致哈希链表的内存用完,此时,则再次分配10M的内存给所述哈希链表,对其进行扩容,继续遍历后续的数据,从而可以在保证正常工作的前提下,最大程度的节省内存。
请参阅图2,基于上述海量数据的TOP排名方法,本发明还相应提供了一种海量数据的TOP排名装置600,包括:
哈希链表构建模块610,用于构建哈希链表,其中,所述哈希链表分配有预设大小的内存,用于存储n个不同的TOP节点,所述哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应;
计算模块620,用于获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点后,判断计算出的TOP节点是否在所述哈希链表中,并根据判断结果对所述哈希链表进行更新,以更新哈希链表中的TOP节点的排序;
排名模块630,用于当海量数据遍历完毕后,以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名。
本实施例中,首先构建一哈希链表,哈希链表用于存储n个不同的TOP节点,哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应,然后遍历海量数据,通过哈希函数计算出数据对应的TOP节点,然后根据跟计算结果对哈希链表进行更新,当海量数据遍历完毕后,通过更新得到的哈希链表中的TOP节点的排序结果来得到海量数据的TOP排名,能够快速计算出海量数据的TOP排名,而且节省内存,去除不必要的内存开销,效率也较高,而且通用性强,适用性强。
如图3所示,基于上述海量数据的TOP排名方法,本发明还相应提供了一种海量数据的TOP排名设备,所述海量数据的TOP排名设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该海量数据的TOP排名设备包括处理器10、存储器20及显示器30。图3仅示出了海量数据的TOP排名设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述海量数据的TOP排名设备的内部存储单元,例如海量数据的TOP排名设备的硬盘或内存。所述存储器20在另一些实施例中也可以是所述海量数据的TOP排名设备的外部存储设备,例如所述海量数据的TOP排名设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括海量数据的TOP排名设备的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述海量数据的TOP排名设备的应用软件及各类数据,例如所述安装海量数据的TOP排名设备的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有海量数据的TOP排名程序40,该海量数据的TOP排名程序40可被处理器10所执行,从而实现本申请各实施例的海量数据的TOP排名方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述海量数据的TOP排名方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述海量数据的TOP排名设备的信息以及用于显示可视化的用户界面。所述海量数据的TOP排名设备的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中海量数据的TOP排名程序40时实现如上所述的海量数据的TOP排名方法中的步骤。
综上所述,本发明提供的海量数据的TOP排名方法、设备及存储介质,首先构建一哈希链表,哈希链表用于存储n个不同的TOP节点,哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应,然后遍历海量数据,通过哈希函数计算出数据对应的TOP节点,然后根据跟计算结果对哈希链表进行更新,当海量数据遍历完毕后,通过更新得到的哈希链表中的TOP节点的排序结果来得到海量数据的TOP排名,能够快速计算出海量数据的TOP排名,而且节省内存,去除不必要的内存开销,效率也较高,而且通用性强,适用性强。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (10)
1.一种海量数据的TOP排名方法,其特征在于,包括如下步骤:
S1、构建哈希链表,其中,所述哈希链表分配有预设大小的内存,用于存储n个不同的TOP节点,所述哈希链表的各个TOP节点通过一预设的哈希函数与海量数据的第一元素对应;
S2、获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点后,判断计算出的TOP节点是否在所述哈希链表中,并根据判断结果对所述哈希链表进行更新,以更新哈希链表中的TOP节点的排序;
S3、重复执行步骤S2,直至海量数据遍历完毕后,以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名。
2.根据权利要求1所述的海量数据的TOP排名方法,其特征在于,所述第一元素为源IP地址、目的IP地址、源端口、目的端口、协议类型、DNAT转换后的目的IP地址或数据对应的认证用户名。
3.根据权利要求1所述的海量数据的TOP排名方法,其特征在于,所述预设大小的内存为10M。
4.根据权利要求1所述的海量数据的TOP排名方法,其特征在于,在初始状态下,所述哈希链表中没有存储任何TOP节点。
5.根据权利要求1至4任意一项所述的海量数据的TOP排名方法,其特征在于,所述步骤S2具体包括:
获取海量数据中的某一条数据,并通过所述哈希函数计算此数据的第一元素对应的TOP节点;
判断计算出的TOP节点是否在所述哈希链表中;
当所述计算出的TOP节点不在哈希链表中时,将所述计算出的TOP节点加至所述哈希链表的最尾端,以对所述哈希链表进行更新;
当所述计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新。
6.根据权利要求5所述的海量数据的TOP排名方法,其特征在于,所述当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1后,根据所述哈希链表中的各个TOP节点的计数值对所述哈希链表进行更新具体包括:
当计算出的TOP节点在哈希链表中时,将所述计算出的TOP节点的计数加1;
将加1后的TOP节点的计数值依次与位于其前面的TOP节点的计数值进行比较,直至遇到计数值大于或者等于加1后的TOP节点的计数值的TOP节点时,将加1后的TOP节点移动到大于或者等于加1后的TOP节点的后面,以对所述哈希链表进行更新。
7.根据权利要求6所述的海量数据的TOP排名方法,其特征在于,所述以最后更新得到的哈希链表中的TOP节点的排序结果作为海量数据的TOP排名具体为:
获取最后更新得到的哈希链表,并将哈希链表中各个TOP节点的排序位置作为所述哈希链表中的TOP节点的排序结果,以所述哈希链表中的TOP节点的排序结果作为所述海量数据的TOP排名。
8.根据权利要求1所述的海量数据的TOP排名方法,其特征在于,所述步骤S2之后,所述步骤S3之前还包括:
判断所述哈希链表的内存是否用完,如果没有,则执行步骤S3,否则对所述哈希链表的内存进行扩充后,执行步骤S3。
9.一种海量数据的TOP排名设备,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的海量数据的TOP排名方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任意一项所述的海量数据的TOP排名方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018100.3A CN113810392B (zh) | 2021-08-30 | 2021-08-30 | 一种海量数据的top排名方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018100.3A CN113810392B (zh) | 2021-08-30 | 2021-08-30 | 一种海量数据的top排名方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113810392A true CN113810392A (zh) | 2021-12-17 |
CN113810392B CN113810392B (zh) | 2023-08-18 |
Family
ID=78894526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111018100.3A Active CN113810392B (zh) | 2021-08-30 | 2021-08-30 | 一种海量数据的top排名方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810392B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN105159950A (zh) * | 2014-12-30 | 2015-12-16 | 深圳市光息谷科技发展有限公司 | 海量数据实时排序查询方法及系统 |
CN105187279A (zh) * | 2015-09-28 | 2015-12-23 | 广东睿江科技有限公司 | 一种流量统计并实时排名的方法 |
CN105553695A (zh) * | 2015-12-08 | 2016-05-04 | 南阳理工学院 | 一种基于两级双向哈希链表的ip数据流管理方法 |
CN109274593A (zh) * | 2018-08-31 | 2019-01-25 | 新华三信息安全技术有限公司 | 一种信息存储方法及装置 |
CN109634966A (zh) * | 2018-12-17 | 2019-04-16 | 广州天懋信息系统股份有限公司 | 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备 |
-
2021
- 2021-08-30 CN CN202111018100.3A patent/CN113810392B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN105159950A (zh) * | 2014-12-30 | 2015-12-16 | 深圳市光息谷科技发展有限公司 | 海量数据实时排序查询方法及系统 |
CN105187279A (zh) * | 2015-09-28 | 2015-12-23 | 广东睿江科技有限公司 | 一种流量统计并实时排名的方法 |
CN105553695A (zh) * | 2015-12-08 | 2016-05-04 | 南阳理工学院 | 一种基于两级双向哈希链表的ip数据流管理方法 |
CN109274593A (zh) * | 2018-08-31 | 2019-01-25 | 新华三信息安全技术有限公司 | 一种信息存储方法及装置 |
CN109634966A (zh) * | 2018-12-17 | 2019-04-16 | 广州天懋信息系统股份有限公司 | 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113810392B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107104824B (zh) | 一种网络拓扑确定方法和装置 | |
CN112866111B (zh) | 流表管理的方法和装置 | |
CN114253979B (zh) | 一种报文处理方法、装置及电子设备 | |
CN110912826B (zh) | 利用acl扩充ipfix表项的方法及装置 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
US9137158B2 (en) | Communication apparatus and communication method | |
CN113810392A (zh) | 一种海量数据的top排名方法、设备及存储介质 | |
CN112565091A (zh) | 一种报文转发方法、装置、存储介质及终端设备 | |
CN111405007A (zh) | Tcp会话管理方法、装置、存储介质及电子设备 | |
CN115617859A (zh) | 基于知识图谱集群的数据查询方法和装置 | |
CN114006868B (zh) | 流量筛选方法及装置 | |
CN105634999A (zh) | 一种介质访问控制地址的老化方法及装置 | |
CN114417069A (zh) | 页面数据交互方法、装置及电子设备 | |
CN113162782B (zh) | 数据中心网络配置方法及装置 | |
CN111343101B (zh) | 服务器限流方法、装置、电子设备及可读存储介质 | |
CN109976896B (zh) | 业务排重处理方法和装置 | |
CN113342270A (zh) | 卷卸载方法、装置和电子设备 | |
CN112291241A (zh) | 防火墙开墙方法、防火墙开墙装置及终端设备 | |
CN115037802B (zh) | 一种请求处理方法、装置、电子设备和存储介质 | |
CN101196910B (zh) | 一种确定网络资源的方法和装置 | |
CN110719260B (zh) | 智能网络安全分析方法、装置及计算机可读存储介质 | |
CN111131197B (zh) | 一种过滤策略管理系统及其方法 | |
CN110083583A (zh) | 流式事件处理方法及装置 | |
CN114697147B (zh) | 一种设备搜索方法、装置、设备及存储介质 | |
CN113076178B (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 |