CN104253713A - 一种监控环境下存储、读取数据包的方法及对应的装置 - Google Patents
一种监控环境下存储、读取数据包的方法及对应的装置 Download PDFInfo
- Publication number
- CN104253713A CN104253713A CN201310257503.2A CN201310257503A CN104253713A CN 104253713 A CN104253713 A CN 104253713A CN 201310257503 A CN201310257503 A CN 201310257503A CN 104253713 A CN104253713 A CN 104253713A
- Authority
- CN
- China
- Prior art keywords
- packet
- address
- recording areas
- index table
- memory address
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种监控环境下存储、读取数据包的方法及对应装置,包括:接收数据包,获取数据包的监听时刻,对数据包解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与所述监听时刻对应、且与该数据包的服务类型对应的位置,为快速读取指定监听时间段内指定服务的数据包提供了准确查询信息。另外,由于文件存储区中保存了地址记录区和数据包,其中地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应,因此,可以直接读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址,快速从所述数据包存储地址中读取出数据包。
Description
技术领域
本发明涉及网络服务监控领域,特别涉及一种监控环境下存储、读取数据包的方法及对应的装置。
背景技术
随着互联网技术的发展,基于网络提供的服务也多种多样。为了保证服务的稳定,通常会对所提供的服务的网络状态进行监听,并将监听所接收的数据包写入监听文件。这样,在需要对服务的网络状态进行分析时,可以从监听文件中读取出之前接收的数据包进行相应分析。
在将监听所接收的数据包写入监听文件时,由于这些数据包通常为数据结构完整,但大小不一致的非规则数据包,为了后续在读取数据包时能够准确定位,在数据包写入监听文件之前,会将数据包调整成标准数据量大小,其中该标准数据量通常至少大于等于各个数据包中的最大值。这样,当需要读取数据包时,根据标准数据量进行移位即可在监听文件中准确定位数据包。
发明内容
但是,现有技术这种存储数据包的方法使得读取数据包时,仅能按数据包数目定位,要想定位到指定监听时间段内指定服务的数据包,则需在读取过程中花费大量时间对大量数据包进行解析以从中找出符合需要的数据包,最终对监听人员了解服务的网络状态造成了延误。
有鉴于此,本发明的主要目的在于提供一种监控环境下存储、读取数据包的方法及对应的装置以实现无需在读取过程中对数据包解析即可快速定位到指定监听时间段内指定服务类型的数据包。
在本发明实施例的第一个方面,提供了一种监控环境下存储数据包的方法,例如,该方法可以包括:
接收数据包,以及获取该数据包的监听时刻;
对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;以及,判断是否还有需接收的数据包;
如果是,返回到接收数据包的步骤。
在本发明实施例的第二个方面,提供了一种监控环境下存储数据包的装置,例如,该装置可以包括:
接收单元:用于接收数据包,以及获取该数据包的监听时刻;
存储单元:用于对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;
判断单元:用于判断是否还有需接收的数据包,如果是,触发接收单元执行。
在本发明实施例的第三个方面,提供了一种监控环境下读取数据包的方法,例如,该方法可以包括:
获取应用如上所述监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
获取对数据包的读取指令;
解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
在本发明实施例的第四个方面,提供了一种监控环境下读取数据包的装置,例如,该装置可以包括:
获取文件单元:用于获取应用如上述监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
获取指令单元:用于获取对数据包的读取指令;
解析单元:用于解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
第一读取单元:用于根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
第二读取单元:用于根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
可见本发明具有如下有益效果:
由于本发明实施例提供的方法在接收数据包时,获取该数据包的监听时刻,又通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与所述监听时刻对应、且与该数据包的服务类型对应的位置,从而为快速读取指定监听时间段内指定服务的数据包提供了准确有效的查询信息;
相应地,由于该文件存储区中保存了地址记录区和数据包,其中地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应,因此,可以在获取读取对数据包的读取指令后,解析数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻,进而根据该读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址,根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包,因此,应用本发明实施例提供的方法可以按照对各种服务的网络状态分析的实际需要,快速准确地读取到指定监听时间段内指定服务类型的数据包,而无需在读取过程中对数据包解析。
另外,由于本发明实施例提供的方法根据数据包实际大小分配存储区,因此可以按照数据包实际大小进行存储,在可以快速准确定位到指定监听时间段内指定服务类型的数据包的同时,还达到了节省存储空间的目的。
附图说明
图1是本发明实施例提供的方法的需求场景示意图;
图2是本发明实施例提供的监控环境下存储数据包的方法的流程图之一;
图3是本发明实施例涉及的地址记录区示意图;
图4是本发明实施例提供的监控环境下存储数据包的方法的流程图之二;
图5是本发明实施例提供的监控环境下存储数据包的方法的流程图之三;
图6是本发明实施例提供的监控环境下存储数据包的装置的结构示意图;
图7是本发明实施例提供的监控环境下读取数据包的方法的流程图之一;
图8是本发明实施例提供的监控环境下读取数据包的方法的流程图之二
图9是本发明实施例提供的监控环境下读取数据包的装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
在多服务网络状态监控场景下,通常对数据包进行实时接收,并将其保存在监听文件中。例如,可能在T1时刻,接收到S1服务的负载信令包,同时接收到S2服务的请求信令包、S3服务的中断信令包等,可能在T2时刻,接收到S1服务的请求信令,同时接收到S4服务的中断信令包等…。并且,每个数据包根据其服务所定义的格式,通常包含服务类型的信息。当过段时间后,可能需要查看各种服务的网络状态时,可以从监听文件中读取出数据包。
在查看各种服务的网络状态时,可以将读取出的数据包从时间、服务两个维度对数据包中的参数进行分析,以呈现在如图1所示的图表中。例如,图1所示的横坐标用于表示监听时刻(如数据包的接收时刻、或数据包的发送时刻等)、纵坐标用于表示数据包内某一指定参数,不同线型用于划分不同服务。因此,如果能够快速读取指定监听时间段内指定服务的数据包,则可以尽快让监听人员了解服务的网络状态,及时发现问题,确保服务的稳定。
有鉴于此,本发明提供如下监控环境下存储数据包的方法:
参见图2,为本发明一实施例提供的一种监控环境下存储数据包的方法的流程图,如图所示,该实施例可以包括:
S210、接收数据包,以及获取该数据包的监听时刻;
需要说明的是,本发明实施例可以根据业务需要确定监听时刻的具体获取方式。例如,当业务需求关注数据包的接收时刻时,可以在接收数据包的同时,记录该数据包的接收时刻,将该接收时刻作为监听时刻;或者,再例如,当业务需求关注数据包的发送时刻时,可以在接收数据包之后,解析该数据包,从该数据包中提取出数据包的发送时刻。当需要解析数据包获取数据包的监听时刻时,该监听时刻,可以在步骤S220对数据包进行解析得到数据包的服务类型的同时得到。
S220、对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;
需要说明的是,本文所述文件存储区可以是对文件标识、文件完整性定义等方面进行过初始化的文件存储区,其中地址记录区用于记录数据包的存储地址。该用于记录数据包的存储地址的地址记录区根据实施需要例如可以采用二维索引表或者其他结构的存储区。在分配存储区作为地址记录区时,既可以静态分配,也可以根据实际需要动态分配,例如,优选方式可以是在文件存储区初始化时分配一块预设固定大小,如4K的连续存储区作为地址记录区,并在分配的同时初始化该存储区全部为空闲,例如,可以将该存储区的各个存储位置标记为0表示空闲,在该4K的连续存储区没有可用于记录数据包存储地址的空闲位置时,可以再根据实际需要分配下一块如4K的存储区作为地址记录区。具体地,为了能够随数据包的增加扩展该地址记录区,从文件存储区中至少分配一块存储区作为地址记录区可以包括:
在该文件存储区中不存在地址记录区时,分配一块连续的存储区作为地址记录区;
在该文件存储区中不存在地址记录区时,分配一块连续的存储区作为地址记录区,将该地址记录区作为当前用于写入数据包存储地址的地址记录区;
如果当前用于写入数据包存储地址的地址记录区已无可用于写入数据包存储地址的位置时,分配一块连续的存储区作为下一地址记录区,并将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区,将该下一地址记录区作为当前用于写入数据包存储地址的地址记录区。
例如,如图3所示,在当前用于写入数据包存储地址的地址记录区310已无可用于记录数据包存储地址的空闲位时,将另分配的下一地址记录区320的地址写入该当前用于写入数据包存储地址的地址记录区可以包括:
将下一地址记录区标志(如NEXT标志)写入该当前用于写入数据包存储地址的地址记录区的第一预设位置(如最后一个位置330),或者,还可以在下一地址记录区的首地址写入上一地址记录区标志(如PREVIOUS标志);
将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区的第二预设位置(如倒数第二个位置340);
统计该当前用于写入数据包存储地址的地址记录区中已写入的数据包存储地址总数,将统计的总数写入该当前用于写入数据包存储地址的地址记录区的第三预设位置(如倒数第三个位置350)。
这样,后续在读取数据包存储地址时,可以根据当前用于写入数据包存储地址的地址记录区预留的第二预设位置查询到下一地址记录区,在实现地址记录区扩展的同时可以准确找到每一个地址记录区。
S230、以及,判断是否还有需接收的数据包;
S240、如果是,返回到接收数据包的步骤。
可见,应用本发明上述存储数据包的方法,可以按照数据包实际大小存储达到节省存储空间的目的,而且,又通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,从而为准确读取出指定监听时间段内指定服务的数据包提供了准确有效的查询信息。
参见图4,为本发明另一实施例提供的一种监控环境下存储数据包的方法的流程图。该实施例针对数据包到达频率较快,易发生丢包的问题,采取了二级缓存策略接收数据包。如图所示,该实施例可以包括:
S410、接收数据包,将接收的数据包放入内存,以及获取该数据包的监听时刻;
S420、将数据包从内存中取出;
S430、对该数据包执行所述存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;
需要说明的是,本发明实施例对接收到的数据包执行存储步骤可以包括如下两种实现方式:(方式一)例如,本发明实施例中的步骤S430对数据包执行存储步骤之后还可以包括:判断内存中是否还有未取出的数据包,如果有,从内存中取出该还未取出的数据包,返回到对接收到的数据包执行存储步骤的步骤。从流程执行的角度来看,其中步骤S420由第二子流程从内存中取出该数据包之后,可以由该第二子流程执行步骤S430以对该数据包执行存储步骤,这样,所述第二子流程可以在对该数据包执行存储步骤结束后,判断内存中是否还有未取出的数据包,如果有,返回到步骤S420由第二子流程从内存中取出数据包的步骤;或者(方式二)例如,本发明实施例中的步骤S430对接收到的数据包执行存储步骤时,如果实时监听到另一数据包到达内存,从内存中取出该数据包,对该数据包执行存储步骤,相应地,步骤S420所述将该数据包从内存中取出具体在实时监听到数据包到达内存时,从内存中取出该数据包。从流程执行的角度来看,其中步骤S420由第二子流程从内存中取出该数据包之后,可以由该第二子流程将该数据包发送给空闲的第三子流程,由该第三子流程对该数据包执行存储步骤,其中第三子流程可以为多个。这样,所述第二子流程可以通过实时监听数据包到达内存的状态,判断内存中是否有还未取出的数据包,如果有,返回到由第二子流程从内存中取出该数据包的步骤。
S440、以及,根据实时监听数据包到达的状态判断是否还有需接收的数据包;
S450、如果是,返回到接收数据包的步骤。
应用本发明该实施例,由于令第一子流程接收数据包,在接收数据包之后即放入内存,因此,即使在数据包到达频率较快时,也不会发生丢包的现象。而且,被放入内存的数据包可以由第二子流程顺序逐个执行存储步骤,或者,也可以由第二子流程实时监听数据包到达内存的状态,及时从内存中取出数据包,再启动预先建立的多个第三子流程分别对不同的数据包执行存储步骤,相当于利用若干个用于执行存储步骤的第三子流程(如,线程/进程)分别对多个数据包并行存储,可以提高效率。
需要说明的是,本文所述数据包的存储地址可以为该数据包的存储地址的首地址。
参见图5,为本发明又一实施例提供的一种监控环境下存储数据包的方法的流程图,在该实施例中,所述地址记录区如图3所示为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻,如图所示,该实施例可以包括:
S510、接收数据包,以及获取该数据包的监听时刻;
对接收到的数据包执行存储步骤,所述存储步骤包括:
S521、根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型;
S522、查询出该数据包的服务类型在所述二维索引表中对应的列,假定为J列;
S523、如果所述二维索引表中不存在任一数据包存储地址,将写数据指针移位至所述二维索引表的第一行的第J列,写入该数据包的存储地址,并占预设固定位数,将该第一行对应该数据包的监听时刻;
例如,假定从二维索引表的第一列至第J列,每列均占预设固定位数,如,每个数据包存储地址在写入二维索引表时均占预设固定位数D,所述将写数据指针移位至所述二维索引表的第一行的第J列的具体实现可以为:将写数据指针相对于二维索引表的首位移位至第(J-1)*D位,从该位开始写入该数据包的存储地址。
其中,将该第一行对应该数据包的监听时刻的具体实现方式可以根据实际实施需要采取相应的方法,例如:假设本发明实施例对同一监听时刻接收的多个数据包可能会在不同次存储操作中存储。在这种情况下,可以将二维索引表的预设某一列用于记录数据包的监听时刻。进而可以将该数据包的监听时刻写入该第一行的预设某一列以实现将该第一行对应该数据包的监听时刻。或者,再例如:假设本发明实施例对同一监听时刻接收的多个数据包会在同一次存储操作中存储。在这种情况下,会将该多个数据包的存储地址在同一次存储操作中写入第一行,此时,只要将数据包的存储地址写入第一行,即可实现将该第一行对应该数据包的监听时刻。
S524、如果所述二维索引表中已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行,将写数据指针移位至该已存在与该数据包的监听时刻对应的行的第J列,写入该数据包的存储地址,并占预设固定位数;
基于上述假设的场景,其中判断所述二维索引表中是否已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行的具体实现方式也可以根据实施需要采取相应的判断方法,例如:假设本发明实施例对同一监听时刻接收的多个数据包可能会在不同次存储操作中存储。在这种情况下,可以将二维索引表的预设某一列用于记录数据包的监听时刻。这样,在对某一数据包执行存储步骤时,可以遍历二维索引表的预设某一列,在遍历过程中判断二维索引表的预设某一列是否记录了与该数据包的监听时刻相同的监听时刻,如果是,则可以遍历至记录了与该数据包的监听时刻相同的监听时刻的行停止,将写数据指针移位至该已记录了与该数据包的监听时刻相同的监听时刻的行的第J列。或者,再例如,假设本发明实施例对同一监听时刻接收的多个数据包会在同一次存储操作中存储。在这种情况下,在对数据包进行存储时,二维索引表中不会已存在与该数据包的监听时刻对应的行,则无需判断所述二维索引表中是否已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行。
S525、如果所述二维索引表中已存在任一数据包存储地址且不存在与该数据包的监听时刻对应的行,查询出第一个未写入数据包存储地址的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数,将该行对应该数据包的监听时刻;
基于上述假设的场景,其中判断所述二维索引表中是否已存在任一数据包存储地址且不存在与该数据包的监听时刻对应的行的具体实现方式可以根据实施需要采取相应的判断方法,例如:假设本发明实施例对同一监听时刻接收的多个数据包可能会在不同次存储操作中存储。在这种情况下,可以将二维索引表的预设某一列用于记录数据包的监听时刻。这样,在对某一数据包执行存储步骤时,可以遍历二维索引表的预设某一列,在遍历过程中判断二维索引表的预设某一列是否存在与该数据包的监听时刻相同的监听时刻,如果不存在,则可以遍历至第一个未写入数据包存储地址的行停止,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数,再将该数据包的监听时刻写入该行的预设某一列以实现将该行对应该数据包的监听时刻。或者,再例如,假设本发明实施例对同一监听时刻接收的多个数据包会在同一次存储操作中存储。在这种情况下,在对数据包进行存储时,可以遍历二维索引表的行,在遍历过程中判断该行中是否已存在数据包存储地址,如果存在,则可以遍历至第一个未写入数据包存储地址的行停止,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数。
S530、以及,判断是否还有需接收的数据包;
S540、如果是,返回到接收数据包的步骤。
在该实施例中,地址记录区采用了二维索引表的存储结构,其中一列对应一个服务类型,一行对应一个监听时刻,使得确定与数据包的监听时刻对应、且与数据包的服务类型对应的位置更加简单快速,提高存储速度。
参见图6,为本发明一实施例提供的一种监控环境下存储数据包的装置的结构示意图,如图所示,该装置可以包括:
接收单元610:可以用于接收数据包,以及获取该数据包的监听时刻;
存储单元620:可以用于对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;
判断单元630:可以用于判断是否还有需接收的数据包,如果是,触发接收单元执行。
为了能够随数据包的增加扩展该地址记录区,本发明实施例的所述存储单元620:可以用于在该文件存储区中不存在地址记录区时,分配一块连续的存储区作为地址记录区,将该地址记录区作为当前用于写入数据包存储地址的地址记录区;如果当前用于写入数据包存储地址的地址记录区已无可用于写入数据包存储地址的位置时,分配一块连续的存储区作为下一地址记录区,并将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区,将该下一地址记录区作为当前用于写入数据包存储地址的地址记录区。
再具体地,例如,本发明实施例提供的装置的存储单元620:可以用于将下一地址记录区标志写入该当前用于写入数据包存储地址的地址记录区的第一预设位置;将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区的第二预设位置;统计该当前用于写入数据包存储地址的地址记录区中已写入的数据包存储地址总数,将统计的总数写入该当前用于写入数据包存储地址的地址记录区的第三预设位置。
在本发明另一实施例提供的装置中,为了解决数据包到达频率快易发生丢包的问题,采取了二级缓存策略接收数据包,例如,该实施例提供的装置的接收单元610:可以用于在接收数据包之后,还将该数据包放入内存;相应地,所述存储单元620:可以用于在对接收到的数据包执行存储步骤之前,还将该数据包从内存中取出;相应地,所述判断单元630:可以用于根据实时监听数据包到达的状态判断是否还有需接收的数据包。
基于该实施例,其中所述存储单元620的一种可能的实现方式为:可以用于在对接收到的数据包执行存储步骤之后,还判断内存是否还有未取出的数据包,如果有,从内存中取出该还未取出的数据包,返回到对接收到的数据包执行存储步骤的步骤。该种实现方式可以在一个数据包存储后,再对下一个数据包进行存储,相当于逐个顺序存储。
所述存储单元620的另一种可能的实现方式为:可以用于在实时监听到数据包到达内存时,从内从中取出该数据包,在对接收到的数据包执行存储步骤时,如果实时监听到另一数据包到达内存,从内从中取出该数据包,对该数据包执行存储步骤。该种实现方式可以利用若干个用于执行存储步骤的子流程分别对多个数据包并行存储,可以提高效率。
为了简单快速的确定于数据包的监听时刻对应、且与数据包的服务类型对应的位置,本发明实施例所述的地址记录区可以为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻,相应地,本发明实施例提供的装置的所述存储单元620:可以用于对接收到的数据包执行包括如下步骤的存储步骤:查询出该数据包的服务类型在所述二维索引表中对应的列,假定为J列;如果所述二维索引表中不存在任一数据包存储地址,将写数据指针移位至所述二维索引表的第一行的第J列,写入该数据包的存储地址,并占预设固定位数,将该第一行对应该数据包的监听时刻;如果所述二维索引表中已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数;如果所述二维索引表中已存在任一数据包存储地址且不存在与该数据包的监听时刻对应的行,查询出第一个未写入数据包存储地址的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数,将该行对应该数据包的监听时刻。
参见图7,为本发明一实施例提供的一种监控环境下读取数据包的方法的流程图,如图所示,该方法可以包括:
S710、获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
S720、获取对数据包的读取指令;
S730、解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
S740、根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
需要说明的是,文件存储区中可能存在多个地址记录区,此时,每个非最后一个地址记录区中均记录了该地址记录区之后的下一地址记录区的地址。对应这种情况,在读取数据包存储地址时,应根据对数据包的读取指令在所述多个地址记录区中定位与待读取数据包的监听时刻及待读取数据包的服务类型的位置,例如,该S740步骤可以包括:
根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
根据该对数据包的读取指令,判断是否结束对数据包存储地址的读取;
如果否,且该当前地址记录区记录了下一地址记录区的地址,根据该当前地址记录区记录的下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,返回到根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
更具体地,例如,当所述地址记录区为多个时,每个非最后一个地址记录区的第一预设位置(如最后一个位置)中均记录了下一地址记录区标志,每个非最后一个地址记录区的第二预设位置(如倒数第二个位置)中均记录了该地址记录区之后的下一个地址记录区的地址,每个非最后一个地址记录区的第三预设位置(如倒数第三个位置)中均记录了该地址记录区保存的数据包存储地址的个数。相应地,该S740步骤可以包括:
根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
如果还未结束对数据包存储地址的读取,判断该当前地址记录区中第一预设位置是否存在下一地址记录区标志;
如果存在,从该当前地址记录区的第二预设位置读取出下一地址记录区的地址,根据该下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,继续执行所述根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
S750、根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
由于本发明上述实施例提供的方法中所获取的文件存储区保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应,因此,在获取对数据包的读取指令后,可以通过解析该读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻,进而可以直接从地址记录区中与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置读取出数据包存储地址,而无需对数据包进行解析,实现了快速准确地读取出指定监听时间段内指定服务的数据包的目的。
参见图8,为本发明另一实施例提供的一种监控环境下读取数据包的方法的流程图,如图所示,该实施例可以包括:
S810、获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了二维索引表和数据包,所述二维索引表用于保存数据包存储地址,其中,一列对应一个服务类型、一个行对应一个监听时刻、每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
S820、获取对数据包的读取指令;
S830、解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
S840、根据该对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
S850、根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
在该实施例中,由于地址记录区采用了二维索引表的存储结构,使得确定与待读取数据包的监听时刻对应、且与待读取数据包的服务类型对应的位置更加简单快速,提高读取速度。
下面,结合几种可能的对数据包的读取指令,对该实施例读取数据包存储地址的具体实现方式进行详细介绍,例如:
在一种可能的实现方式中,所述对数据包的读取指令可以为每第一预设时长内读取出与一个或一个以上指定服务类型对应的在第二预设数量个时刻内的数据包;
相应地,所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址可以包括:
在二维索引表中,将读数据指针每第一预设时长内偏移第二预设数量个行,每偏移一行时,从该行与所述一个或一个以上指定服务类型对应的列中读取出数据包存储地址,如果所述读数据指针偏移至非最后一个二维索引表的表尾,确定未结束对数据包存储地址的读取;
所述根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包可以包括:
在读取出一个数据包存储地址的同时,寻址到该数据包存储地址,从中读取出数据包。
在另一种可能的实现方式中,所述对数据包的读取指令可以为读取与任一监听时刻对应、与任一服务类型对应、且排序位置在所有数据包中指定百分比位置的某个数据包;
相应地,所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址可以包括:
将第一个二维索引表作为当前二维索引表,设置数据包存储地址的总个数的初始值;
如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表,通过所述遍历及根据所述当前二维索引表中保存的每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,计算当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数;
如果当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前二维索引表的第三预设位置读取出当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数,从该当前二维索引表的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到所述如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表的步骤;
将第一个二维索引表作为当前二维索引表,设置临时计数值的初值;
假定该某个数据包为第X个数据包,根据X等于所述指定百分比乘以所述数据包存储地址的总个数,计算出X值;
如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值,判断所述临时计数值是否大于或等于所述X值,如果否且当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值的步骤;
根据所述临时计数值与X值的差值、每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,查询出该第X个数据包存储地址在当前二维索引表中的位置;
将读数据指针移位至该第X个数据包存储地址在二维索引表中的位置,读取出该第X个数据包存储地址,并且确定结束对数据包存储地址的读取。
在又一种可能的实现方式中,所述对数据包的读取指令可以为读取指定服务类型的第X个数据包;
相应地,所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址可以包括:
假定所述指定服务类型对应的列为J列,假定所述当前二维索引表的列共对应SN个服务类型,假定每个数据包存储地址占预设固定位数D;
设置N=1及指定数据包存储地址个数=0;
判断当前二维索引表是否存在第D*(N*SN+J)位;
如果不存在且当前二维索引表的最后一个位置存在下一地址记录区标志,从该当前二维索引表的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,设置N=1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤;
如果存在,判断当前二维索引表的第D*(N*SN+J)位是否存在特殊标记,其中所述特殊标记用于标识二维索引表中未写入数据包存储地址的位置,如果不存在,指定数据包存储地址个数加1,如果所述指定数据包存储地址个数小于X值,N=N+1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤,如果所述指定数据包存储地址个数等于X值,将读数据指针移位至当前索引表的该第D*(N*SN+J)位,从中读取出该第X个数据包存储地址。
需要说明的是,为了便于区分地址记录区中的各个数据包的存储地址,本发明上述实施例约定了地址记录区中记录的数据包存储地址占预设固定位数。可以理解的是,在本发明具体实施时还可以约定其他可以在地址记录区中区分各个数据包存储地址的规则,在本发明并不进行限制。
参见图9为本发明另一实施例提供的一种监控环境下读取数据包的装置的结构示意图,如图所示,该实施例可以包括:
获取文件单元910:可以用于获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
获取指令单元920:可以用于获取对数据包的读取指令;
解析单元930:可以用于解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
第一读取单元940:可以用于根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
第二读取单元950:可以用于根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
对应文件存储区可能存在多个地址记录区的情况,本发明实施例所述的获取文件单元910:可以用于获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,当所述地址记录区为多个时,每个非最后一个地址记录区中均记录了该地址记录区之后的下一地址记录区的地址;
相应地,所述第一读取单元940:可以用于根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;根据该对数据包的读取指令,判断是否结束对数据包存储地址的读取;如果否,且该当前地址记录区记录了下一地址记录区的地址,根据该当前地址记录区记录的下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,返回到根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
再具体地,例如所述获取文件单元910:可以用于获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,当所述地址记录区为多个时,每个非最后一个地址记录区的第一预设位置中均记录了下一地址记录区标志,每个非最后一个地址记录区的第二预设位置中均记录了该地址记录区之后的下一个地址记录区的地址,每个非最后一个地址记录区的第三预设位置中均记录了该地址记录区保存的数据包存储地址的个数;
相应地,所述第一读取单元940:可以用于根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;如果还未结束对数据包存储地址的读取,判断该当前地址记录区中第一预设位置是否存在下一地址记录区标志;如果存在,从该当前地址记录区的第二预设位置读取出下一地址记录区的地址,根据该下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,继续执行所述根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
为了简单快速的确定于待读取数据包的监听时刻对应、且与待读取数据包的服务类型对应的位置,本发明实施例所述的地址记录区可以采用二维索引表的存储结构。例如,本发明实施例提供的装置的获取文件单元910:可以用于获取应用如上述一种监控环境下存储数据包的方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,其中所述地址记录区为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻;
相应地,所述第一读取单元940:可以用于根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址。
下面结合几种可能的对数据包的读取指令,对本发明实施例读取数据包存储地址的具体实现方式进行详细介绍,例如:
在一种可能的实现方式中,所述获取指令单元920:可以用于获取对数据包的读取指令,所述对数据包的读取指令为:每第一预设时长内读取出与一个或一个以上指定服务类型对应的在第二预设数量个时刻内的数据包;
相应地,所述第一读取单元940:可以用于在二维索引表中,将读数据指针每第一预设时长内偏移第二预设数量个行,每偏移一行时,从该行与所述一个或一个以上指定服务类型对应的列中读取出数据包存储地址,如果所述读数据指针偏移至非最后一个二维索引表的表尾,确定未结束对数据包存储地址的读取;
所述第二读取单元950:可以用于在读取出一个数据包存储地址的同时,寻址到该数据包存储地址,从中读取出数据包。
在另一种可能的实现方式中,所述获取指令单元920:可以用于获取对数据包的读取指令,所述对数据包的读取指令为:读取与任一监听时刻对应、与任一服务类型对应、且排序位置在所有数据包中指定百分比位置的某个数据包;
相应地,所述第一读取单元940:可以用于将第一个二维索引表作为当前二维索引表,设置数据包存储地址的总个数的初始值;如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表,通过所述遍历及根据所述当前二维索引表中保存的每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,计算当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数;如果当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前二维索引表的第三预设位置读取出当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数,从该当前二维索引表的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到所述如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表的步骤;将第一个二维索引表作为当前二维索引表,设置临时计数值的初值;假定该某个数据包为第X个数据包,根据X等于所述指定百分比乘以所述数据包存储地址的总个数,计算出X值;如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值,判断所述临时计数值是否大于或等于所述X值,如果否且当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值的步骤;根据所述临时计数值与X值的差值、每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,查询出该第X个数据包存储地址在当前二维索引表中的位置;将读数据指针移位至该第X个数据包存储地址在二维索引表中的位置,读取出该第X个数据包存储地址,并且确定结束对数据包存储地址的读取。
在又一种可能的实现方式中,所述获取指令单元920:可以用于获取对数据包的读取指令,所述对数据包的读取指令为:读取指定服务类型的第X个数据包;
相应地,所述第一读取单元940:可以用于假定所述指定服务类型对应的列为J列,假定所述当前二维索引表的列共对应SN个服务类型,假定每个数据包存储地址占预设固定位数D;设置N=1及指定数据包存储地址个数=0;判断当前二维索引表是否存在第D*(N*SN+J)位;如果不存在且当前二维索引表的最后一行的最后一个位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,设置N=1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤;如果存在,判断当前二维索引表的第D*(N*SN+J)位是否存在特殊标记,其中所述特殊标记用于标识二维索引表中未写入数据包存储地址的位置,如果不存在,指定数据包存储地址个数加1,如果所述指定数据包存储地址个数小于X值,N=N+1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤,如果所述指定数据包存储地址个数等于X值,将读数据指针移位至当前索引表的该第D*(N*SN+J)位,从中读取出该第X个数据包存储地址。
可见,由于本发明上述实施例获取文件单元所获取的文件存储区保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应,因此,在获取对数据包的读取指令后,可以由解析单元解析该读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻,进而第一读取单元可以直接从地址记录区中与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置读取出数据包存储地址,再由第二读取单元从数据包存储地址直接读取出数据包,而无需对数据包进行解析,可以快速准确地读取出指定监听时间段内指定服务的数据包,进而使监听人员快速了解服务的网络状态,及时发现问题,确保服务的稳定。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (28)
1.一种监控环境下存储数据包的方法,其特征在于,包括:
接收数据包,以及获取该数据包的监听时刻;
对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;以及,判断是否还有需接收的数据包;
如果是,返回到接收数据包的步骤。
2.根据权利要求1所述的方法,其特征在于,所述文件存储区中至少分配一块存储区作为地址记录区包括:
在该文件存储区中不存在地址记录区时,分配一块连续的存储区作为地址记录区,将该地址记录区作为当前用于写入数据包存储地址的地址记录区;
如果当前用于写入数据包存储地址的地址记录区已无可用于写入数据包存储地址的位置时,分配一块连续的存储区作为下一地址记录区,并将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区,将该下一地址记录区作为当前用于写入数据包存储地址的地址记录区。
3.根据权利要求2所述的方法,其特征在于,所述将下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区包括:
将下一地址记录区标志写入该当前用于写入数据包存储地址的地址记录区的第一预设位置;
将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区的第二预设位置;
统计该当前用于写入数据包存储地址的地址记录区中已写入的数据包存储地址总数,将统计的总数写入该当前用于写入数据包存储地址的地址记录区的第三预设位置。
4.根据权利要求1所述的方法,其特征在于,在所述接收数据包之后,还包括:将该数据包放入内存;
在所述对接收到的数据包执行存储步骤之前,还包括:将该数据包从内存中取出;
所述判断是否还有需接收的数据包具体根据实时监听数据包到达的状态进行判断。
5.根据权利要求4所述的方法,其特征在于,所述对接收到的数据包执行存储步骤之后还包括:判断内存中是否还有未取出的数据包,如果有,从内存中取出该还未取出的数据包,返回到对接收到的数据包执行存储步骤的步骤。
6.根据权利要求4所述的方法,其特征在于,所述将该数据包从内存中取出具体在实时监听到数据包到达内存时,从内存中取出该数据包;
所述对接收到的数据包执行存储步骤时,如果实时监听到另一数据包到达内存,从内存中取出该数据包,对该数据包执行存储步骤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述地址记录区为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻;
所述将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置的具体实现为:
查询出该数据包的服务类型在所述二维索引表中对应的列,假定为J列;
如果所述二维索引表中不存在任一数据包存储地址,将写数据指针移位至所述二维索引表的第一行的第J列,写入该数据包的存储地址,并占预设固定位数,将该第一行对应该数据包的监听时刻;
如果所述二维索引表中已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数;
如果所述二维索引表中已存在任一数据包存储地址且不存在与该数据包的监听时刻对应的行,查询出第一个未写入数据包存储地址的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数,将该行对应该数据包的监听时刻。
8.一种监控环境下存储数据包的装置,其特征在于,包括:
接收单元:用于接收数据包,以及获取该数据包的监听时刻;
存储单元:用于对接收到的数据包执行存储步骤,所述存储步骤包括:根据该数据包大小,从文件存储区中动态分配存储区保存该数据包,提取该数据包的存储地址,以及通过对该数据包进行解析得到该数据包的服务类型,将该数据包的存储地址写入地址记录区中与该数据包的监听时刻对应、且与该数据包的服务类型对应的位置,其中,该文件存储区中至少分配一块存储区作为地址记录区;
判断单元:用于判断是否还有需接收的数据包,如果是,触发接收单元执行。
9.根据权利要求8所述的装置,其特征在于,所述存储单元:用于在该文件存储区中不存在地址记录区时,分配一块连续的存储区作为地址记录区,将该地址记录区作为当前用于写入数据包存储地址的地址记录区;如果当前用于写入数据包存储地址的地址记录区已无可用于写入数据包存储地址的位置时,分配一块连续的存储区作为下一地址记录区,并将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区,将该下一地址记录区作为当前用于写入数据包存储地址的地址记录区。
10.根据权利要求9所述的装置,其特征在于,所述存储单元:用于将下一地址记录区标志写入该当前用于写入数据包存储地址的地址记录区的第一预设位置;将该下一地址记录区的地址写入该当前用于写入数据包存储地址的地址记录区的第二预设位置;统计该当前用于写入数据包存储地址的地址记录区中已写入的数据包存储地址总数,将统计的总数写入该当前用于写入数据包存储地址的地址记录区的第三预设位置。
11.根据权利要求8所述的装置,其特征在于,所述接收单元:用于在接收数据包之后,还将该数据包放入内存;
所述存储单元:用于在对接收到的数据包执行存储步骤之前,还将该数据包从内存中取出;
所述判断单元:用于根据实时监听数据包到达的状态判断是否还有需接收的数据包。
12.根据权利要求11所述的装置,其特征在于,所述存储单元:用于在对接收到的数据包执行存储步骤之后,还判断内存是否还有未取出的数据包,如果有,从内存中取出该还未取出的数据包,返回到对接收到的数据包执行存储步骤的步骤。
13.根据权利要求11所述的装置,其特征在于,所述存储单元:用于在实时监听到数据包到达内存时,从内从中取出该数据包,在对接收到的数据包执行存储步骤时,如果实时监听到另一数据包到达内存,从内从中取出该数据包,对该数据包执行存储步骤。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述存储单元:用于对接收到的数据包执行包括如下步骤的存储步骤:查询出该数据包的服务类型在所述二维索引表中对应的列,假定为J列;如果所述二维索引表中不存在任一数据包存储地址,将写数据指针移位至所述二维索引表的第一行的第J列,写入该数据包的存储地址,并占预设固定位数,将该第一行对应该数据包的监听时刻;如果所述二维索引表中已存在任一数据包存储地址且已存在与该数据包的监听时刻对应的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数;如果所述二维索引表中已存在任一数据包存储地址且不存在与该数据包的监听时刻对应的行,查询出第一个未写入数据包存储地址的行,将写数据指针移位至该行的第J列,写入该数据包的存储地址,并占预设固定位数,将该行对应该数据包的监听时刻。
15.一种监控环境下读取数据包的方法,其特征在于,包括:
获取应用如权利要求1到7任意一项所述方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
获取对数据包的读取指令;
解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
16.根据权利要求15所述的方法,其特征在于,当所述地址记录区为多个时,每个非最后一个地址记录区中均记录了该地址记录区之后的下一地址记录区的地址;
所述根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址包括:
根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
根据该对数据包的读取指令,判断是否结束对数据包存储地址的读取;
如果否,且该当前地址记录区记录了下一地址记录区的地址,根据该当前地址记录区记录的下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,返回到根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
17.根据权利要求16所述的方法,其特征在于,当所述地址记录区为多个时,每个非最后一个地址记录区的第一预设位置中均记录了下一地址记录区标志,每个非最后一个地址记录区的第二预设位置中均记录了该地址记录区之后的下一个地址记录区的地址,每个非最后一个地址记录区的第三预设位置中均记录了该地址记录区保存的数据包存储地址的个数;
所述根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址包括:
根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
如果还未结束对数据包存储地址的读取,判断该当前地址记录区中第一预设位置是否存在下一地址记录区标志;
如果存在,从该当前地址记录区的第二预设位置读取出下一地址记录区的地址,根据该下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,继续执行所述根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
18.根据权利要求15-17任一项所述的方法,其特征在于,所述地址记录区为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻;
所述根据对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址为:
根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址。
19.根据权利要求18所述的方法,其特征在于,所述对数据包的读取指令为:每第一预设时长内读取出与一个或一个以上指定服务类型对应的在第二预设数量个时刻内的数据包;
所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址包括:在二维索引表中,将读数据指针每第一预设时长内偏移第二预设数量个行,每偏移一行时,从该行与所述一个或一个以上指定服务类型对应的列中读取出数据包存储地址,如果所述读数据指针偏移至非最后一个二维索引表的表尾,确定未结束对数据包存储地址的读取;
所述根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包包括:在读取出一个数据包存储地址的同时,寻址到该数据包存储地址,从中读取出数据包。
20.根据权利要求18所述的方法,其特征在于,所述对数据包的读取指令为:读取与任一监听时刻对应、与任一服务类型对应、且排序位置在所有数据包中指定百分比位置的某个数据包;
所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址包括:
将第一个二维索引表作为当前二维索引表,设置数据包存储地址的总个数的初始值;
如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表,通过所述遍历及根据所述当前二维索引表中保存的每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,计算当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数;
如果当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前二维索引表的第三预设位置读取出当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数,从该当前二维索引表的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到所述如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表的步骤;
将第一个二维索引表作为当前二维索引表,设置临时计数值的初值;
假定该某个数据包为第X个数据包,根据X等于所述指定百分比乘以所述数据包存储地址的总个数,计算出X值;
如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值,判断所述临时计数值是否大于或等于所述X值,如果否且当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值的步骤;
根据所述临时计数值与X值的差值、每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,查询出该第X个数据包存储地址在当前二维索引表中的位置;
将读数据指针移位至该第X个数据包存储地址在二维索引表中的位置,读取出该第X个数据包存储地址,并且确定结束对数据包存储地址的读取。
21.根据权利要求18所述的方法,其特征在于,所述对数据包的读取指令为:读取指定服务类型的第X个数据包;
所述根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址包括:
假定所述指定服务类型对应的列为J列,假定所述当前二维索引表的列共对应SN个服务类型,假定每个数据包存储地址占预设固定位数D;
设置N=1及指定数据包存储地址个数=0;
判断当前二维索引表是否存在第D*(N*SN+J)位;
如果不存在且当前二维索引表的最后一行的最后一个位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,设置N=1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤;
如果存在,判断当前二维索引表的第D*(N*SN+J)位是否存在特殊标记,其中所述特殊标记用于标识二维索引表中未写入数据包存储地址的位置,如果不存在,指定数据包存储地址个数加1,如果所述指定数据包存储地址个数小于X值,N=N+1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤,如果所述指定数据包存储地址个数等于X值,将读数据指针移位至当前索引表的该第D*(N*SN+J)位,从中读取出该第X个数据包存储地址。
22.一种监控环境下读取数据包的装置,其特征在于,包括:
获取文件单元:用于获取应用如权利要求1到7任意一项所述方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,所述地址记录区用于保存数据包存储地址,其中,每个数据包存储地址保存的位置均与一个服务类型对应且与一个监听时刻对应;
获取指令单元:用于获取对数据包的读取指令;
解析单元:用于解析对数据包的读取指令以获取待读取数据包的服务类型及待读取数据包的监听时刻;
第一读取单元:用于根据该对数据包的读取指令,从地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;
第二读取单元:用于根据该对数据包的读取指令,从所述数据包存储地址中读取出数据包。
23.根据权利要求22所述的装置,其特征在于,所述获取文件单元:用于获取应用如权利要求1到7任意一项所述方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,当所述地址记录区为多个时,每个非最后一个地址记录区中均记录了该地址记录区之后的下一地址记录区的地址;
所述第一读取单元:用于根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;根据该对数据包的读取指令,判断是否结束对数据包存储地址的读取;如果否,且该当前地址记录区记录了下一地址记录区的地址,根据该当前地址记录区记录的下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,返回到根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
24.根据权利要求23所述的装置,其特征在于,所述获取文件单元:用于获取应用如权利要求1到7任意一项所述方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,当所述地址记录区为多个时,每个非最后一个地址记录区的第一预设位置中均记录了下一地址记录区标志,每个非最后一个地址记录区的第二预设位置中均记录了该地址记录区之后的下一个地址记录区的地址,每个非最后一个地址记录区的第三预设位置中均记录了该地址记录区保存的数据包存储地址的个数;
所述第一读取单元:用于根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址;如果还未结束对数据包存储地址的读取,判断该当前地址记录区中第一预设位置是否存在下一地址记录区标志;如果存在,从该当前地址记录区的第二预设位置读取出下一地址记录区的地址,根据该下一地址记录区的地址,查询出下一地址记录区,将该下一地址记录区作为当前地址记录区,继续执行所述根据该对数据包的读取指令,从当前地址记录区保存的数据包存储地址中,读取出与待读取数据包的服务类型对应且与待读取数据包的监听时刻对应的位置所保存的数据包存储地址的步骤。
25.根据权利要求22-24任一项所述的装置,其特征在于,所述获取文件单元:用于获取应用如权利要求1到7任意一项所述方法对数据包进行存储得到的文件存储区,其中,所述文件存储区中保存了地址记录区和数据包,其中所述地址记录区为二维索引表,其中一列对应一个服务类型,一行对应一个监听时刻;
所述第一读取单元:用于根据对数据包的读取指令,从二维索引表保存的数据包存储地址中,读取出列与待读取数据包的服务类型对应、且行与待读取数据包的监听时刻对应的位置所保存的数据包存储地址。
26.根据权利要求25所述的装置,其特征在于,所述获取指令单元:用于获取对数据包的读取指令,所述对数据包的读取指令为:每第一预设时长内读取出与一个或一个以上指定服务类型对应的在第二预设数量个时刻内的数据包;
所述第一读取单元:用于在二维索引表中,将读数据指针每第一预设时长内偏移第二预设数量个行,每偏移一行时,从该行与所述一个或一个以上指定服务类型对应的列中读取出数据包存储地址,如果所述读数据指针偏移至非最后一个二维索引表的表尾,确定未结束对数据包存储地址的读取;
所述第二读取单元:用于在读取出一个数据包存储地址的同时,寻址到该数据包存储地址,从中读取出数据包。
27.根据权利要求25所述的装置,其特征在于,所述获取指令单元:用于获取对数据包的读取指令,所述对数据包的读取指令为:读取与任一监听时刻对应、与任一服务类型对应、且排序位置在所有数据包中指定百分比位置的某个数据包;
所述第一读取单元:用于将第一个二维索引表作为当前二维索引表,设置数据包存储地址的总个数的初始值;如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表,通过所述遍历及根据所述当前二维索引表中保存的每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,计算当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数;如果当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前二维索引表的第三预设位置读取出当前二维索引表的数据包存储地址的个数,累计入数据包存储地址的总个数,从该当前二维索引表的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到所述如果当前二维索引表的第一预设位置不存在下一地址记录区标志,遍历当前二维索引表的步骤;将第一个二维索引表作为当前二维索引表,设置临时计数值的初值;假定该某个数据包为第X个数据包,根据X等于所述指定百分比乘以所述数据包存储地址的总个数,计算出X值;如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值,判断所述临时计数值是否大于或等于所述X值,如果否且当前二维索引表的第一预设位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,返回到如果当前二维索引表的第一预设位置存在下一地址记录区标志,从当前二维索引表的第三预设位置中读取出当前二维索引表中保存的数据包存储地址的个数,将该读取出的个数累计入所述临时计数值的步骤;根据所述临时计数值与X值的差值、每个数据包存储地址占预设固定位数、且未写入数据包存储地址的位置以特殊标记占位,查询出该第X个数据包存储地址在当前二维索引表中的位置;将读数据指针移位至该第X个数据包存储地址在二维索引表中的位置,读取出该第X个数据包存储地址,并且确定结束对数据包存储地址的读取。
28.根据权利要求25所述的装置,其特征在于,所述所述获取指令单元:用于获取对数据包的读取指令,所述对数据包的读取指令为:读取指定服务类型的第X个数据包;
所述第一读取单元:用于假定所述指定服务类型对应的列为J列,假定所述当前二维索引表的列共对应SN个服务类型,假定每个数据包存储地址占预设固定位数D;设置N=1及指定数据包存储地址个数=0;判断当前二维索引表是否存在第D*(N*SN+J)位;如果不存在且当前二维索引表的最后一行的最后一个位置存在下一地址记录区标志,从该当前地址记录区的第二预设位置读取出下一二维索引表的地址,根据该下一二维索引表的地址,查询出下一二维索引表,将该下一二维索引表作为当前二维索引表,设置N=1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤;如果存在,判断当前二维索引表的第D*(N*SN+J)位是否存在特殊标记,其中所述特殊标记用于标识二维索引表中未写入数据包存储地址的位置,如果不存在,指定数据包存储地址个数加1,如果所述指定数据包存储地址个数小于X值,N=N+1,返回到判断当前二维索引表是否存在第D*(N*SN+J)位的步骤,如果所述指定数据包存储地址个数等于X值,将读数据指针移位至当前索引表的该第D*(N*SN+J)位,从中读取出该第X个数据包存储地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310257503.2A CN104253713B (zh) | 2013-06-25 | 2013-06-25 | 一种监控环境下存储、读取数据包的方法及对应的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310257503.2A CN104253713B (zh) | 2013-06-25 | 2013-06-25 | 一种监控环境下存储、读取数据包的方法及对应的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253713A true CN104253713A (zh) | 2014-12-31 |
CN104253713B CN104253713B (zh) | 2019-06-21 |
Family
ID=52188280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310257503.2A Active CN104253713B (zh) | 2013-06-25 | 2013-06-25 | 一种监控环境下存储、读取数据包的方法及对应的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104253713B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038768A (zh) * | 2015-11-20 | 2017-08-11 | 丰田自动车株式会社 | 车载控制设备及车载记录系统 |
CN112084145A (zh) * | 2020-09-04 | 2020-12-15 | 深圳科安达电子科技股份有限公司 | 一种铁路信号集中监测系统数据存储读取方法 |
CN112685329A (zh) * | 2019-10-17 | 2021-04-20 | 云丁网络技术(北京)有限公司 | 用于处理数据的方法及相关装置 |
CN115242618A (zh) * | 2022-06-17 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100200530B1 (ko) * | 1996-11-02 | 1999-06-15 | 구자홍 | 연속매체 공급 시스템에 있어서 고속읽기가 가능한 데이터 저장 방법 |
CN102244758A (zh) * | 2011-07-08 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种基于录像文件的数据获取方法和设备 |
CN102377582A (zh) * | 2010-08-09 | 2012-03-14 | 大唐移动通信设备有限公司 | 数据上传方法和设备 |
CN102916902A (zh) * | 2011-08-03 | 2013-02-06 | 中兴通讯股份有限公司 | 数据存储方法及装置 |
-
2013
- 2013-06-25 CN CN201310257503.2A patent/CN104253713B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100200530B1 (ko) * | 1996-11-02 | 1999-06-15 | 구자홍 | 연속매체 공급 시스템에 있어서 고속읽기가 가능한 데이터 저장 방법 |
CN102377582A (zh) * | 2010-08-09 | 2012-03-14 | 大唐移动通信设备有限公司 | 数据上传方法和设备 |
CN102244758A (zh) * | 2011-07-08 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种基于录像文件的数据获取方法和设备 |
CN102916902A (zh) * | 2011-08-03 | 2013-02-06 | 中兴通讯股份有限公司 | 数据存储方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038768A (zh) * | 2015-11-20 | 2017-08-11 | 丰田自动车株式会社 | 车载控制设备及车载记录系统 |
CN112685329A (zh) * | 2019-10-17 | 2021-04-20 | 云丁网络技术(北京)有限公司 | 用于处理数据的方法及相关装置 |
CN112084145A (zh) * | 2020-09-04 | 2020-12-15 | 深圳科安达电子科技股份有限公司 | 一种铁路信号集中监测系统数据存储读取方法 |
CN115242618A (zh) * | 2022-06-17 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
CN115242618B (zh) * | 2022-06-17 | 2024-01-30 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104253713B (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160283129A1 (en) | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN101162441B (zh) | 数据的存取装置和方法 | |
CN108845877B (zh) | 管理内存的方法、装置和系统 | |
CN104253713A (zh) | 一种监控环境下存储、读取数据包的方法及对应的装置 | |
CN103747519A (zh) | 一种室内定位指纹库的动态建立方法及系统 | |
CN106372069B (zh) | 一种电能质量监测方法及系统 | |
CN103178998A (zh) | 一种测控数据传输方法和装置 | |
CN105335323A (zh) | 一种数据突发的缓存装置和方法 | |
CN104077082A (zh) | 网络投票数据存储方法和装置 | |
CN101378554A (zh) | 基站位置数据获取与更新的方法与装置 | |
US20040199823A1 (en) | Method and apparatus for performing imprecise bus tracing in a data processing system having a distributed memory | |
CN101707684B (zh) | 一种Cache调度的方法、设备及系统 | |
CN104811349A (zh) | 一种访问统计的方法和装置 | |
CN101196916A (zh) | 一种分段存储文件的方法及装置 | |
CN101594305A (zh) | 一种报文处理方法及装置 | |
CN108829735A (zh) | 并行执行计划的同步方法、装置、服务器及存储介质 | |
CN109669623A (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
CN113934650A (zh) | 一种基于ccsds的1553b内存动态分配方法 | |
CN103378989A (zh) | 一种获取性能测试数据的方法和装置 | |
CN106156526A (zh) | 医疗报账信息追踪方法 | |
CN103164290A (zh) | 应用内存管理方法和装置 | |
CN106407307A (zh) | 一种分布式数据库节点数据交互方法及装置 | |
CN202405873U (zh) | 低压台区用电客户用电性质检测系统 | |
CN101651583B (zh) | 一种监控信息管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |