CN114490042B - 一种内存分配方法及交通线网综合监控设备 - Google Patents
一种内存分配方法及交通线网综合监控设备 Download PDFInfo
- Publication number
- CN114490042B CN114490042B CN202210002102.1A CN202210002102A CN114490042B CN 114490042 B CN114490042 B CN 114490042B CN 202210002102 A CN202210002102 A CN 202210002102A CN 114490042 B CN114490042 B CN 114490042B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- data type
- determining
- acquired data
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000003860 storage Methods 0.000 claims description 16
- 238000012806 monitoring device Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000000779 smoke Substances 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种内存分配方法及交通线网综合监控设备,该方法包括基于属于各数据类型的各采集数据对应的订阅信息以及更新信息,将存储数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存,针对任一数据类型,根据第一内存以及属于数据类型的各采集数据所需占用的第一内存比例,确定属于数据类型的各采集数据所需占用的第一内存容量,根据第二内存以及属于数据类型的各采集数据所需占用的第二内存比例,确定属于数据类型的各采集数据所需占用的第二内存容量,根据第一内存容量和第二内存容量,确定属于数据类型的各采集数据所需占用的内存总容量。如此,该方案可以有效地满足线网综合监控系统对于数据实时性的要求。
Description
技术领域
本申请涉及交通线网综合监控系统技术领域,尤其涉及一种内存分配方法及交通线网综合监控设备。
背景技术
城市轨道交通线网综合监控系统集成线网运营调度平台与应急指挥平台,建立城市线网级的,统一的软、硬件平台,对城市轨道实施跨线路的监控、维护和管理功能,实现轨道交通信息城市级互通、资源共享调度,从而从城市整体上提升轨道交通的综合运力、资源协调、风险应急能力。
城市轨道交通线网综合监控系统承担着对城市轨道交通车辆、客流、设备监视管控调度、线路统计分析、资源共享协调分配、应急处置等重大任务,是地铁信息化综合运营的核心,是所有线路信息汇集的中心。因此,线网综合监控系统对于大数据流的实时处理要求极高。
现阶段,传统的线网综合监控系统衍生自现有的线路综合监控系统,其数据处理能力仍然属于线路级的数据处理能力,当面对各采集设备(比如空气含量采集设备、温度传感器等)所采集的超大规模(比如千万点以上)实时数据时,由于内存依赖于系统默认的内存分配,使得内存分配不合理,导致数据实时性较差,难以满足线网综合监控系统的监控需求。
综上,目前亟需一种内存分配方法,用以有效地满足线网综合监控系统对于数据实时性的要求。
发明内容
本申请示例性的实施方式中提供了一种内存分配方法及交通线网综合监控设备,用以有效地满足线网综合监控系统对于数据实时性的要求。
第一方面,本申请示例性的实施方式中提供了一种内存分配方法,包括:
从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据;
基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存;所述第二内存用于补偿所述第一内存;
针对任一数据类型,根据所述具有第一容量的第一内存以及用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例,确定属于所述数据类型的各采集数据所需占用的第一内存容量,并根据所述具有第二容量的第二内存以及用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,确定属于所述数据类型的各采集数据所需占用的第二内存容量;
根据所述第一内存容量和所述第二内存容量,确定出属于所述数据类型的各采集数据所需占用的内存总容量。
上述技术方案中,由于现有技术方案中线网综合监控系统在运行时,千万点的采集数据无法全部加载到实时内存当中,且线网综合监控系统所使用的内存分配方式依赖于当前操作系统的默认分配,如此会导致在存储不同数据类型的采集数据时,实时内存的分配是不均衡的,比如业务量较小的数据类型的采集数据占用了较多的内存,业务量大的数据类型的采集数据占用了较少的内存,从而使得部分数据类型的采集数据难以满足线网综合监控系统对于数据实时性的要求。基于此,本申请中的技术方案通过将线网综合监控系统的实时内存划分为第一内存和第二内存,如此可以通过第二内存和第一内存的结合,可以满足每个数据类型对应的各采集数据所需的内存存储,以此可以解决因业务量不同导致内存分配不均衡的问题,从而可以实现内存的最大化利用。具体来说,从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据,并基于属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存。再针对任一数据类型,根据具有第一容量的第一内存以及用于存储在第一内存中属于该数据类型的各采集数据所需占用的第一内存比例,确定属于该数据类型的各采集数据所需占用的第一内存容量,并根据具有第二容量的第二内存以及用于存储在第二内存中属于该数据类型的各采集数据所需占用的第二内存比例,确定属于该数据类型的各采集数据所需占用的第二内存容量。然后,根据第一内存容量和第二内存容量,确定出属于该数据类型的各采集数据所需占用的内存总容量,从而可以确定出属于各数据类型的各采集数据所需占用的内存总容量。如此,该方案通过引入第二内存,可以实现根据线网综合监控系统的实际业务需求进行合理的分配有限的内存的目的,从而可以有效地满足线网综合监控系统对于数据实时性的要求,并可以解决现有技术中单纯依靠操作系统自己分配内存导致内存分配不均衡的问题。
在一些示例性的实施方式中,基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存,包括:
确定所述属于各数据类型的各采集数据中具有订阅属性的至少一个采集数据的第一数量,并确定所述属于各数据类型的各采集数据中具有高更新属性的至少一个采集数据的第二数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比;
根据所述内存、所述第一内存的占比以及所述第二内存的占比,确定出所述具有第一容量的第一内存和所述具有第二容量的第二内存。
上述技术方案中,由于线网综合监控系统在对外提供数据服务时,客户端对于内存的数据访问采用订阅+主动推送机制,即,当内存数据发生更新时,由线网综合监控系统主动将更新的数据推送给订阅的客户端,因此为了确保数据的实时性,对于订阅数量多的属于至少一个数据类型的各采集数据,是需要较多的内存来进行存储,以及对于数据更新频率快的属于至少一个数据类型的各采集数据,也是需要较多的内存来进行存储,以便线网综合监控系统能够及时地处理这些数据类型的各采集数据,从而实现这些数据类型的各采集数据的实时性处理以及实时性推送。基于此,本申请中的技术方案通过将线网综合监控系统从所在的操作系统申请的内存划分为具有第一容量的第一内存和具有第二容量的第二内存,即,基于各数据类型的各采集数据的订阅属性、高更新属性,将从所在的操作系统申请的内存划分为具有第一容量的第一内存和具有第二容量的第二内存,如此即可实现针对每种数据类型的各采集数据所需占用的内存的分配的均衡性,从而可以满足针对每种数据类型的各采集数据的实时性处理,并可以有效地确保在有限的申请内存里,能够最大限度地满足系统对于数据实时性的要求,以此可以解决现有技术中因内存分配不均衡而导致无法满足数据实时性要求的问题。
在一些示例性的实施方式中,根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比,包括:
设置用于确定所述第二内存的占比的第一权重,并设置用于确定所述第一内存的占比的第二权重;所述第一权重大于所述第二权重;所述第二权重与所述第一权重之和为1;
根据所述第一数量和所述第二数量,确定出用于确定所述第二内存的占比的第三数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出用于确定所述第一内存的占比的第四数量;
根据所述第一权重和所述第三数量,确定第一数值,并根据所述第二权重和所述第四数量,确定第二数值;
根据所述第一数值和所述第二数值,确定出第三数值;
将所述第一数值与所述第三数值的比值确定为所述第二内存的占比,并将所述第二数值与所述第三数值的比值确定为所述第一内存的占比。
上述技术方案中,通过统计属于各数据类型的各采集数据中具有订阅属性的至少一个采集数据的第一数量,以及统计属于各数据类型的各采集数据中具有高更新属性的至少一个采集数据的第二数量,并基于第一权重,从而可以确定出第二内存的占比,并通过第一数量、第二数量以及属于各数据类型的各采集数据的总数量,以及基于第二权重,即可确定出第一内存的占比,从而可以准确地将从所在的操作系统申请的内存划分为具有第一容量的第一内存和具有第二容量的第二内存。
在一些示例性的实施方式中,通过下述方式确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例:
针对任一数据类型,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第一内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第一内存比例。
在一些示例性的实施方式中,任一数据类型的各采集数据所需占用的第一内存比例满足下述形式:
其中,rg-ti用于表示数据类型ti的各采集数据所需占用的第一内存比例,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
上述技术方案中,针对任一数据类型,通过根据属于该数据类型的各采集数据所需占用的内存容量以及属于各数据类型的各采集数据所需占用的总内存容量,即可准确地确定出属于该数据类型的各采集数据的内存占比,该内存占比可以作为属于该数据类型的各采集数据的第一内存占比。
在一些示例性的实施方式中,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量,包括:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所需占用的内存容量;
根据属于所述数据类型的各采集数据的数量以及每个采集数据所需占用的内存容量,确定出用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量。
上述技术方案中,通过统计属于该数据类型的各采集数据的数量,并可以确定出属于该数据类型的各采集数据中每个采集数据的内存占用量,比如属于该数据类型的每个采集数据占用几个字节,那么就可以准确地确定出属于该数据类型的各采集数据所能够占用的内存容量是多少。
在一些示例性的实施方式中,通过下述方式确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例:
针对任一数据类型,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第二内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第二内存比例。
在一些示例性的实施方式中,任一数据类型的各采集数据所需占用的第二内存比例满足下述形式:
其中,rb-ti用于表示数据类型ti的各采集数据所需占用的第二内存比例,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
上述技术方案中,针对任一数据类型,通过确定的属于该数据类型的各采集数据所需占用的第二内存容量以及确定的属于各数据类型的各采集数据所需占用的总第二内存容量,即可准确地确定出属于该数据类型的各采集数据的第二内存占比。
在一些示例性的实施方式中,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量,包括:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所对应的采集频率;
确定属于所述数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量;
根据属于所述数据类型的各采集数据的数量、每个采集数据所对应的采集频率以及具有订阅属性的至少一个采集数据的数量,确定出属于所述数据类型的具有高更新属性的至少一个采集数据的数量;
根据具有订阅属性的至少一个采集数据的数量以及具有高更新属性的至少一个采集数据的数量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量以及用于存储在所述第二内存中属于所述数据类型的各采集数据中每个采集数据所需占用的内存容量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量。
上述技术方案中,针对任一数据类型,通过属于该数据类型的各采集数据的数量、属于该数据类型的每个采集数据对应的采集频率以及具有订阅属性的至少一个采集数据的数量,即可准确地确定出用于存储在第二内存中属于该数据类型的各采集数据的总数量,并基于该总数量以及每个采集数据所需占用的内存容量,即可准确地确定出属于该数据类型的各采集数据所需占用的第二内存容量。
第二方面,本申请示例性的实施方式中提供了一种交通线网综合监控设备,包括至少一个处理器和存储器,具体实施过程为:
处理器,用于从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据;用于基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存;所述第二内存用于补偿所述第一内存;针对任一数据类型,根据所述具有第一容量的第一内存以及用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例,确定属于所述数据类型的各采集数据所需占用的第一内存容量,并根据所述具有第二容量的第二内存以及用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,确定属于所述数据类型的各采集数据所需占用的第二内存容量;根据所述第一内存容量和所述第二内存容量,确定出属于所述数据类型的各采集数据所需占用的内存总容量;
存储器,用于存储可被至少一个处理器执行的指令,至少一个处理器301通过执行存储器存储的指令;作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。
在一些示例性的实施方式中,所述处理器具体用于:
确定所述属于各数据类型的各采集数据中具有订阅属性的至少一个采集数据的第一数量,并确定所述属于各数据类型的各采集数据中具有高更新属性的至少一个采集数据的第二数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比;
根据所述内存、所述第一内存的占比以及所述第二内存的占比,确定出所述具有第一容量的第一内存和所述具有第二容量的第二内存。
在一些示例性的实施方式中,所述处理器具体用于:
设置用于确定所述第二内存的占比的第一权重,并设置用于确定所述第一内存的占比的第二权重;所述第一权重大于所述第二权重;所述第二权重与所述第一权重之和为1;
根据所述第一数量和所述第二数量,确定出用于确定所述第二内存的占比的第三数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出用于确定所述第一内存的占比的第四数量;
根据所述第一权重和所述第三数量,确定第一数值,并根据所述第二权重和所述第四数量,确定第二数值;
根据所述第一数值和所述第二数值,确定出第三数值;
将所述第一数值与所述第三数值的比值确定为所述第二内存的占比,并将所述第二数值与所述第三数值的比值确定为所述第一内存的占比。
在一些示例性的实施方式中,所述处理器具体用于:
针对任一数据类型,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第一内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第一内存比例。
在一些示例性的实施方式中,所述处理器具体用于:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所需占用的内存容量;
根据属于所述数据类型的各采集数据的数量以及每个采集数据所需占用的内存容量,确定出用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量。
在一些示例性的实施方式中,所述处理器具体用于:
其中,rg-ti用于表示数据类型ti的各采集数据所需占用的第一内存比例,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
在一些示例性的实施方式中,所述处理器具体用于:
针对任一数据类型,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第二内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第二内存比例。
在一些示例性的实施方式中,所述处理器具体用于:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所对应的采集频率;
确定属于所述数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量;
根据属于所述数据类型的各采集数据的数量、每个采集数据所对应的采集频率以及具有订阅属性的至少一个采集数据的数量,确定出属于所述数据类型的具有高更新属性的至少一个采集数据的数量;
根据具有订阅属性的至少一个采集数据的数量以及具有高更新属性的至少一个采集数据的数量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量以及用于存储在所述第二内存中属于所述数据类型的各采集数据中每个采集数据所需占用的内存容量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量。
在一些示例性的实施方式中,所述处理器具体用于:
其中,rb-ti用于表示数据类型ti的各采集数据所需占用的第二内存比例,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一些实施例提供的一种内存分配方法的流程示意图;
图2为本申请一些实施例提供的一种属于各数据类型的各采集数据所需占用的内存分配示意图;
图3为本申请一些实施例提供的一种交通线网综合监控设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
图1示例性的示出了本申请实施例提供的一种内存分配方法的流程,该流程可以由交通线网综合监控设备执行。
如图1所示,该流程具体包括:
步骤101,从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据。
本申请实施例中,交通线网综合监控系统所涉及的各采集设备可以主动将各自所采集的属于各数据类型的各采集数据实时上报给该交通线网综合监控系统,或者,交通线网综合监控系统也可以基于订阅的方式或实时发送请求的方式从各采集设备获取相应的属于各数据类型的各采集数据。示例性地,以某一城市的轨道交通线网综合监控系统为例进行描述,其中,该城市可能配置有多条轨道交通线,比如轨道交通1号线、轨道交通2号线等,其中,每条轨道交通线设置有多个数据采集设备(比如烟雾传感器、湿度传感器、温度传感器、空气采集器、排风传感器、排水传感器、照明传感器等),负责采集该轨道交通线路上的各个指标,比如车内烟雾数据、车站内烟雾数据、温度数据、空气含量数据、湿度数据、排风数据、排水数据、车内照明数据。车站内照明数据等;该轨道交通线网综合监控系统负责监控该多条轨道交通线,那么通过该多条轨道交通线上所设置的各采集设备就可以获取到属于各数据类型(比如整型、浮点型、布尔型、字符串型等)的各采集数据,比如,温度传感器采集的是整型的数据,湿度传感器采集的是浮点型的数据、排风传感器采集的是字符串型的数据,开关类的设备采集的是布尔型的数据等。
步骤102,基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存。
本申请实施例中,由于线网综合监控系统在对外提供数据服务时,客户端对于内存的数据访问采用订阅+主动推送机制,即,当内存数据发生更新时,由线网综合监控系统主动将更新的数据推送给订阅的客户端,因此为了确保数据的实时性,对于订阅数量多的属于至少一个数据类型的各采集数据,是需要较多的内存来进行存储,以及对于数据更新频率快的属于至少一个数据类型的各采集数据,也是需要较多的内存来进行存储,以便线网综合监控系统能够及时地处理这些数据类型的各采集数据。基于此,为了实现属于各数据类型的各采集数据的实时性处理以及实时性推送,通过基于属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存。其中,第二内存是用于对按照固定比例所进行分配的内存(即第一内存)进行补偿。其中,在将用于存储各数据类型的各采集数据的内存进行划分之前,线网综合监控系统会向所在的操作系统申请一定容量的内存用于存储各数据类型的各采集数据,比如线网综合监控系统所在的操作系统所具有的内存容量为8GB,该线网综合监控系统向所在的操作系统申请3GB的内存用于存储各数据类型的各采集数据。具体地,针对属于各数据类型的各采集数据,从属于各数据类型的各采集数据中确定出具有订阅属性的至少一个采集数据,并统计出该具有订阅属性的至少一个采集数据的第一数量,以及从属于各数据类型的各采集数据中确定出具有高更新属性的至少一个采集数据,并统计出具有高更新属性的至少一个采集数据的第二数量。再根据属于各数据类型的各采集数据的总数量以及第一数量、第二数量,确定出第一内存的占比和第二内存的占比,并根据向所在的操作系统申请一定容量的内存以及第一内存的占比、第二内存的占比,确定出具有第一容量的第一内存和具有第二容量的第二内存,如此即可实现针对每种数据类型的各采集数据所需占用的内存的分配的均衡性,从而可以满足针对每种数据类型的各采集数据的实时性处理。
其中,在确定第一内存的占比和第二内存的占比时,首先设置用于确定第二内存的占比的第一权重,并设置用于确定第一内存的占比的第二权重;其中,第一权重大于第二权重;第二权重与第一权重之和为1。再根据第一数量和第二数量,确定出用于确定第二内存的占比的第三数量,并根据属于各数据类型的各采集数据的总数量以及第一数量、第二数量,确定出用于确定第一内存的占比的第四数量。然后,根据第一权重和第三数量,确定第一数值,并根据第二权重和第四数量,确定第二数值,以及根据第一数值和第二数值,确定出第三数值。最后,将第一数值与第三数值的比值确定为第二内存的占比,并将第二数值与第三数值的比值确定为第一内存的占比。
示例性地,由于数据类型ti的各采集数据的更新量与数据类型ti的各采集数据的订阅量会有重复的,因此需要从更新量中进行去除重复的订阅量,也即是,按照数据类型ti的各采集数据的订阅总量(即数据类型ti的各采集数据中具有订阅属性的至少一个采集数据的总数量)与数据类型ti的各采集数据的总数量的比例进行去除即可,因此可以计算出校正后的数据类型ti的各采集数据的更新量为:
通过下述方式确定用于存储在第二内存中属于任一数据类型的各采集数据的总数量:
Sb-ti=Ssub-ti+Sre-ti′
通过下述方式确定用于存储在第二内存(即变动内存)中属于任一数据类型的各采集数据所需占用的内存容量:
Vb-ti=Sb-ti×vti
通过下述方式确定各数据类型的各采集数据所需占用的第二内存总容量(即各数据类型所需的第二内存总容量):
其中,ti用于表示数据类型,Sre-ti′用于表示校正后的数据类型ti的各采集数据的更新量,Ssub-ti用于表示数据类型ti的各采集数据的订阅总量,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。Sti用于表示数据类型ti的各采集数据的总数量,Tti用于表示数据类型ti的各采集数据中每个采集数据的更新频率(即采集频率)。
此外,通过下述方式确定用于存储在第一内存(即固定内存)中属于任一数据类型的各采集数据所需占用的内存容量:
Vti=Sti×vti
通过下述方式确定各数据类型的各采集数据所需占用的第一内存总容量(即各数据类型所需的第一内存总容量):
其中,ti用于表示数据类型,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
在实际程序的运行过程中,内存的使用是主要在业务发生时(即订阅与刷新时),据此可知第二内存的重要性大于第一内存的重要性,因此通过引入权重来均衡合理分配第二内存和第一内存。其中,针对设置的第二内存的权重w第二内存大于设置的第一内存的权重w第一内存,即w第二内存>w第一内存,其中,w第二内存+w第一内存=1。
如此可知,在将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存时,具有第一容量的第一内存的占比满足下述形式:
具有第二容量的第二内存的占比满足下述形式:
其中,r第一内存用于表示在划分内存时第一内存的占比,r第二内存用于表示在划分内存时第二内存的占比。
或者,也可以采用另外一种实施方式确定第一内存的占比和第二内存的占比,即,根据第一数量和第二数量,确定出用于确定第二内存的占比的第三数量,并将该第三数量与属于各数据类型的各采集数据的总数量的比值确定为第二内存的占比。然后,根据属于各数据类型的各采集数据的总数量以及第一数量、第二数量,确定出用于确定第一内存的占比的第四数量,并将第四数量与属于各数据类型的各采集数据的总数量的比值确定为第一内存的占比。
示例性地,假设线网综合监控系统从所在的操作系统申请的内存的容量为3GB,且假设各采集设备采集的数据类型有三种,即整型(即int)、浮点型(即float)和布尔型(即bool),假设属于各数据类型的各采集数据的总数量为300个。其中,属于整型的各采集数据的数量为120个,属于浮点型的各采集数据的数量为100个,属于布尔型的各采集数据的数量为80个。针对整型,属于该整型的各采集数据中具有订阅属性的至少一个采集数据的数量为35个,且属于该整型的各采集数据中具有高更新属性的至少一个采集数据的数量为25个;针对浮点型,属于该浮点型的各采集数据中具有订阅属性的至少一个采集数据的数量为25个,且属于该浮点型的各采集数据中具有高更新属性的至少一个采集数据的数量为15个;针对布尔型,属于该布尔型的各采集数据中具有订阅属性的至少一个采集数据的数量为15个,且属于该布尔型的各采集数据中具有高更新属性的至少一个采集数据的数量为5个。那么,就可以统计出该属于各数据类型的各采集数据中具有订阅属性和高更新属性的多个采集数据的总数量为120个,因此可以计算出第二内存的占比为120/300=2/5,同时可以计算出第一内存的占比为(300-120)/300=3/5。最后,通过第二内存的占比和从所在的操作系统申请的内存容量(3GB),可以计算出第二内存的容量为3*(2/5)=1.2GB,同时可以通过第一内存的占比和从所在的操作系统申请的内存容量(3GB),可以计算出第一内存的容量为3*(3/5)=1.8GB。
步骤103,针对任一数据类型,根据所述具有第一容量的第一内存以及用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例,确定属于所述数据类型的各采集数据所需占用的第一内存容量,并根据所述具有第二容量的第二内存以及用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,确定属于所述数据类型的各采集数据所需占用的第二内存容量。
本申请实施例中,针对任一数据类型,在确定属于该数据类型的各采集数据所需占用的第一内存容量时,确定用于存储在第一内存中属于该数据类型的各采集数据所需占用的内存容量,并根据用于存储在第一内存中属于该数据类型的各采集数据所需占用的内存容量以及用于存储在第一内存中属于各数据类型的各采集数据所需占用的总内存容量,即可准确地确定出第一内存比例。然后,根据具有第一容量的第一内存以及用于存储在第一内存中属于该数据类型的各采集数据所需占用的第一内存比例,即可准确地确定出属于该数据类型的各采集数据所需占用的第一内存容量。其中,在确定用于存储在第一内存中属于该数据类型的各采集数据所需占用的内存容量时,确定出属于该数据类型的各采集数据的数量,并确定出各采集数据中每个采集数据所需占用的内存容量。然后,根据属于该数据类型的各采集数据的数量以及每个采集数据所需占用的内存容量,确定出用于存储在第一内存中属于该数据类型的各采集数据所需占用的内存容量。
示例性地,针对各数据类型,根据各数据类型所对应的业务特点,计算出属于各数据类型的各采集数据所占用的内存容量,并根据属于各数据类型的各采集数据所占用的内存容量,计算出属于各数据类型的各采集数据所需占用的第一内存比例。
通过下述方式确定任一数据类型的各采集数据所需占用的内存容量:
Vti=Sti×vti
通过下述方式确定属于任一数据类型的各采集数据所需占用的第一内存比例:
其中,ti用于表示数据类型,比如数据类型t1、t2等,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量(比如数据类型ti的一个采集数据占用多少bit),rg-ti用于表示数据类型ti的各采集数据所需占用的第一内存比例。此外,通过上述方式可以计算出属于各数据类型的各采集数据所需占用的第一内存比例,即[rg-t1,rg-t2,rg-t3,…,rg-tn],需要说明的是,
通过下述方式确定属于任一数据类型的各采集数据所需占用的第一内存容量:
其中,用于表示数据类型ti的各采集数据所需占用的第一内存容量,Vg用于表示第一内存的总容量。
因此,通过上述方式可以计算出属于各数据类型的各采集数据所需占用的第一内存容量,即其中,/>
此外,在确定属于该数据类型的各采集数据所需占用的第二内存容量时,确定用于存储在第二内存中属于该数据类型的各采集数据所需占用的内存容量,并根据用于存储在第二内存中属于该数据类型的各采集数据所需占用的内存容量以及用于存储在第二内存中属于各数据类型的各采集数据所需占用的总内存容量,即可准确地确定出第二内存比例。然后,根据具有第二容量的第二内存以及用于存储在第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,即可准确地确定出属于该数据类型的各采集数据所需占用的第二内存容量。其中,在确定用于存储在第二内存中属于该数据类型的各采集数据所需占用的内存容量时,确定出属于该数据类型的各采集数据的数量,并确定各采集数据中每个采集数据所对应的采集频率,同时确定出属于该数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量。再根据属于该数据类型的各采集数据的数量、每个采集数据所对应的采集频率以及具有订阅属性的至少一个采集数据的数量,确定出属于该数据类型的具有高更新属性的至少一个采集数据的数量,并根据具有订阅属性的至少一个采集数据的数量以及具有高更新属性的至少一个采集数据的数量,即可准确地确定出用于存储在第二内存中属于该数据类型的各采集数据的总数量。然后,根据用于存储在第二内存中属于该数据类型的各采集数据的总数量以及用于存储在第二内存中属于该数据类型的各采集数据中每个采集数据所需占用的内存容量,即可准确地确定出用于存储在第二内存中属于该数据类型的各采集数据所需占用的内存容量。
示例性地,第二内存的主要用途是根据各个数据类型所对应的业务需求,用以校正对于内存进行固定比例分配后因业务量不同而带来的内存分配不均,也即是针对按照固定比例所进行分配的内存进行补偿,从而实现内存的最大化利用。针对第二内存进行分配的依据为基于属于各数据类型的各采集数据的订阅信息以及更新频率。也即是,通过任一数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量以及该数据类型的各采集数据中具有高更新属性的至少一个采集数据的数量来计算该数据类型的各采集数据所需占用的第二内存比例。
通过下述方式计算单位时间内任一数据类型的各采集数据的更新量:
其中,Sre-ti用于表示数据类型ti的各采集数据的更新量,Sti用于表示数据类型ti的各采集数据的总数量,Tti用于表示数据类型ti的各采集数据中每个采集数据的更新频率(即采集频率)。
然而,由于数据类型ti的各采集数据的更新量与数据类型ti的各采集数据的订阅量会有重复的,因此需要从更新量中进行去除重复的订阅量,也即是,按照数据类型ti的各采集数据的订阅总量(即数据类型ti的各采集数据中具有订阅属性的至少一个采集数据的总数量)与数据类型ti的各采集数据的总数量的比例进行去除即可,因此可以计算出校正后的数据类型ti的各采集数据的更新量为:
通过下述方式确定用于存储在第二内存中属于任一数据类型的各采集数据的总数量:
Sb-ti=Ssub-ti+Sre-ti′
通过下述方式确定用于存储在第二内存中属于任一数据类型的各采集数据所需占用的内存容量:
Vb-ti=Sb-ti×vti
通过下述方式确定用于存储在第二内存中属于任一数据类型的各采集数据所需占用的第二内存比例:
其中,ti用于表示数据类型,比如数据类型t1、t2等,Sre-ti′用于表示校正后的数据类型ti的各采集数据的更新量,Ssub-ti用于表示数据类型ti的各采集数据的订阅总量,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量(比如数据类型ti的一个采集数据占用多少bit),rb-ti用于表示数据类型ti的各采集数据所需占用的第二内存比例。此外,通过上述方式可以计算出属于各数据类型的各采集数据所需占用的第二内存比例,即[rb-t1,rb-t2,rb-t3,…,rb-tn],需要说明的是,
通过下述方式确定属于任一数据类型的各采集数据所需占用的第二内存容量:
其中,用于表示数据类型ti的各采集数据所需占用的第二内存容量,Vb用于表示第二内存的总容量。其中,申请的内存容量V=Vg+Vb。
因此,通过上述方式可以计算出属于各数据类型的各采集数据所需占用的第二内存容量,即其中,/>
步骤104,根据所述第一内存容量和所述第二内存容量,确定出属于所述数据类型的各采集数据所需占用的内存总容量。
本申请实施例中,在计算出属于每个数据类型的各采集数据所需占用的第一内存容量以及第二内存容量之后,即可针对每个数据类型,通过属于该数据类型的各采集数据所需占用的第一内存容量以及第二内存容量,即可准确地确定出属于该数据类型的各采集数据所需占用的内存总容量,如此,即可计算出如图2所示的属于各数据类型的各采集数据所需占用的内存分配示意图。
示例性地,在通过上述方式计算出属于各数据类型的各采集数据所需占用的第一内存容量,即以及计算出属于各数据类型的各采集数据所需占用的第二内存容量,即/>后,即可通过下述方式确定出任一数据类型的各采集数据所需占用的内存总容量:
其中,用于表示数据类型ti的各采集数据所需占用的内存总容量,/>用于表示数据类型ti的各采集数据所需占用的第一内存容量,/>用于表示数据类型ti的各采集数据所需占用的第二内存容量。
因此,通过上述方式可以计算出属于各数据类型的各采集数据所需占用的内存总容量,即
上述实施例表明,由于现有技术方案中线网综合监控系统在运行时,千万点的采集数据无法全部加载到实时内存当中,且线网综合监控系统所使用的内存分配方式依赖于当前操作系统的默认分配,如此会导致在存储不同数据类型的采集数据时,实时内存的分配是不均衡的,比如业务量较小的数据类型的采集数据占用了较多的内存,业务量大的数据类型的采集数据占用了较少的内存,从而使得部分数据类型的采集数据难以满足线网综合监控系统对于数据实时性的要求。基于此,本申请中的技术方案通过将线网综合监控系统的实时内存划分为第一内存和第二内存,如此可以通过第二内存和第一内存的结合,可以满足每个数据类型对应的各采集数据所需的内存存储,以此可以解决因业务量不同导致内存分配不均衡的问题,从而可以实现内存的最大化利用。具体来说,从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据,并基于属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存。再针对任一数据类型,根据具有第一容量的第一内存以及用于存储在第一内存中属于该数据类型的各采集数据所需占用的第一内存比例,确定属于该数据类型的各采集数据所需占用的第一内存容量,并根据具有第二容量的第二内存以及用于存储在第二内存中属于该数据类型的各采集数据所需占用的第二内存比例,确定属于该数据类型的各采集数据所需占用的第二内存容量。然后,根据第一内存容量和第二内存容量,确定出属于该数据类型的各采集数据所需占用的内存总容量,从而可以确定出属于各数据类型的各采集数据所需占用的内存总容量。如此,该方案通过引入第二内存,可以实现根据线网综合监控系统的实际业务需求进行合理的分配有限的内存的目的,从而可以有效地满足线网综合监控系统对于数据实时性的要求,并可以解决现有技术中单纯依靠操作系统自己分配内存导致内存分配不均衡的问题。
基于相同的技术构思,图3示例性的示出了本申请实施例提供的一种内存交通线网综合监控设备,该交通线网综合监控设备可以执行内存分配方法的流程。其中,交通线网综合监控设备包括至少一个处理器301和存储器302。本申请实施例中不限定处理器301与存储器302之间的具体连接介质,图3中处理器301和存储器302之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
如图3所示,该交通线网综合监控设备包括:
处理器301,用于从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据;用于基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存;所述第二内存用于补偿所述第一内存;针对任一数据类型,根据所述具有第一容量的第一内存以及用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例,确定属于所述数据类型的各采集数据所需占用的第一内存容量,并根据所述具有第二容量的第二内存以及用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,确定属于所述数据类型的各采集数据所需占用的第二内存容量;根据所述第一内存容量和所述第二内存容量,确定出属于所述数据类型的各采集数据所需占用的内存总容量;
存储器302,用于存储可被至少一个处理器执行的指令,至少一个处理器301通过执行存储器存储的指令;作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器302可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器302是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器302还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
在一些示例性的实施方式中,所述处理器301具体用于:
确定所述属于各数据类型的各采集数据中具有订阅属性的至少一个采集数据的第一数量,并确定所述属于各数据类型的各采集数据中具有高更新属性的至少一个采集数据的第二数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比;
根据所述内存、所述第一内存的占比以及所述第二内存的占比,确定出所述具有第一容量的第一内存和所述具有第二容量的第二内存。
在一些示例性的实施方式中,所述处理器301具体用于:
设置用于确定所述第二内存的占比的第一权重,并设置用于确定所述第一内存的占比的第二权重;所述第一权重大于所述第二权重;所述第二权重与所述第一权重之和为1;
根据所述第一数量和所述第二数量,确定出用于确定所述第二内存的占比的第三数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出用于确定所述第一内存的占比的第四数量;
根据所述第一权重和所述第三数量,确定第一数值,并根据所述第二权重和所述第四数量,确定第二数值;
根据所述第一数值和所述第二数值,确定出第三数值;
将所述第一数值与所述第三数值的比值确定为所述第二内存的占比,并将所述第二数值与所述第三数值的比值确定为所述第一内存的占比。
在一些示例性的实施方式中,所述处理器301具体用于:
针对任一数据类型,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第一内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第一内存比例。
在一些示例性的实施方式中,所述处理器301具体用于:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所需占用的内存容量;
根据属于所述数据类型的各采集数据的数量以及每个采集数据所需占用的内存容量,确定出用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量。
在一些示例性的实施方式中,所述处理器301具体用于:
其中,rg-ti用于表示数据类型ti的各采集数据所需占用的第一内存比例,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
在一些示例性的实施方式中,所述处理器301具体用于:
针对任一数据类型,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第二内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第二内存比例。
在一些示例性的实施方式中,所述处理器301具体用于:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所对应的采集频率;
确定属于所述数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量;
根据属于所述数据类型的各采集数据的数量、每个采集数据所对应的采集频率以及具有订阅属性的至少一个采集数据的数量,确定出属于所述数据类型的具有高更新属性的至少一个采集数据的数量;
根据具有订阅属性的至少一个采集数据的数量以及具有高更新属性的至少一个采集数据的数量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量以及用于存储在所述第二内存中属于所述数据类型的各采集数据中每个采集数据所需占用的内存容量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量。
在一些示例性的实施方式中,所述处理器301具体用于:
其中,rb-ti用于表示数据类型ti的各采集数据所需占用的第二内存比例,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
需要说明的是,处理器301是交通线网综合监控设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器302内的指令以及调用存储在存储器302内的数据,从而实现数据处理。可选的,处理器301可包括一个或多个处理器,处理器301可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器301中。在一些实施例中,处理器301和存储器302可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器301可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合内存分配方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种内存分配方法,其特征在于,包括:
从交通线网综合监控系统所关联的各采集设备获取属于各数据类型的各采集数据;
基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存;所述第二内存用于补偿所述第一内存;
针对任一数据类型,根据所述具有第一容量的第一内存以及用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例,确定属于所述数据类型的各采集数据所需占用的第一内存容量,并根据所述具有第二容量的第二内存以及用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例,确定属于所述数据类型的各采集数据所需占用的第二内存容量;
根据所述第一内存容量和所述第二内存容量,确定出属于所述数据类型的各采集数据所需占用的内存总容量。
2.如权利要求1所述的方法,其特征在于,基于所述属于各数据类型的各采集数据对应的订阅信息以及更新信息,将用于存储所述各数据类型的各采集数据的内存划分为具有第一容量的第一内存和具有第二容量的第二内存,包括:
确定所述属于各数据类型的各采集数据中具有订阅属性的至少一个采集数据的第一数量,并确定所述属于各数据类型的各采集数据中具有高更新属性的至少一个采集数据的第二数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比;
根据所述内存、所述第一内存的占比以及所述第二内存的占比,确定出所述具有第一容量的第一内存和所述具有第二容量的第二内存。
3.如权利要求2所述的方法,其特征在于,根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出所述第一内存的占比和所述第二内存的占比,包括:
设置用于确定所述第二内存的占比的第一权重,并设置用于确定所述第一内存的占比的第二权重;所述第一权重大于所述第二权重;所述第二权重与所述第一权重之和为1;
根据所述第一数量和所述第二数量,确定出用于确定所述第二内存的占比的第三数量;
根据所述属于各数据类型的各采集数据的总数量以及所述第一数量、所述第二数量,确定出用于确定所述第一内存的占比的第四数量;
根据所述第一权重和所述第三数量,确定第一数值,并根据所述第二权重和所述第四数量,确定第二数值;
根据所述第一数值和所述第二数值,确定出第三数值;
将所述第一数值与所述第三数值的比值确定为所述第二内存的占比,并将所述第二数值与所述第三数值的比值确定为所述第一内存的占比。
4.如权利要求1所述的方法,其特征在于,通过下述方式确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的第一内存比例:
针对任一数据类型,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第一内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第一内存比例。
5.如权利要求4所述的方法,其特征在于,确定用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量,包括:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所需占用的内存容量;
根据属于所述数据类型的各采集数据的数量以及每个采集数据所需占用的内存容量,确定出用于存储在所述第一内存中属于所述数据类型的各采集数据所需占用的内存容量。
6.如权利要求4所述的方法,其特征在于,任一数据类型的各采集数据所需占用的第一内存比例满足下述形式:
其中,rg-ti用于表示数据类型ti的各采集数据所需占用的第一内存比例,Vti用于表示数据类型ti的各采集数据所需占用的内存容量,Sti用于表示数据类型ti的各采集数据的总数量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
7.如权利要求1所述的方法,其特征在于,通过下述方式确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的第二内存比例:
针对任一数据类型,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量以及用于存储在所述第二内存中属于各数据类型的各采集数据所需占用的总内存容量,确定出所述第二内存比例。
8.如权利要求7所述的方法,其特征在于,确定用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量,包括:
确定属于所述数据类型的各采集数据的数量,并确定所述各采集数据中每个采集数据所对应的采集频率;
确定属于所述数据类型的各采集数据中具有订阅属性的至少一个采集数据的数量;
根据属于所述数据类型的各采集数据的数量、每个采集数据所对应的采集频率以及具有订阅属性的至少一个采集数据的数量,确定出属于所述数据类型的具有高更新属性的至少一个采集数据的数量;
根据具有订阅属性的至少一个采集数据的数量以及具有高更新属性的至少一个采集数据的数量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量;
根据用于存储在所述第二内存中属于所述数据类型的各采集数据的总数量以及用于存储在所述第二内存中属于所述数据类型的各采集数据中每个采集数据所需占用的内存容量,确定出用于存储在所述第二内存中属于所述数据类型的各采集数据所需占用的内存容量。
9.如权利要求7所述的方法,其特征在于,任一数据类型的各采集数据所需占用的第二内存比例满足下述形式:
其中,rb-ti用于表示数据类型ti的各采集数据所需占用的第二内存比例,Sb-ti用于表示存储在第二内存中数据类型ti的各采集数据的总数量,Vb-ti用于表示存储在第二内存中数据类型ti的各采集数据所需占用的内存容量,vti用于表示数据类型ti的各采集数据中每个采集数据占用的内存容量。
10.一种交通线网综合监控设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1至9任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002102.1A CN114490042B (zh) | 2022-01-04 | 2022-01-04 | 一种内存分配方法及交通线网综合监控设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210002102.1A CN114490042B (zh) | 2022-01-04 | 2022-01-04 | 一种内存分配方法及交通线网综合监控设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490042A CN114490042A (zh) | 2022-05-13 |
CN114490042B true CN114490042B (zh) | 2024-03-22 |
Family
ID=81510688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210002102.1A Active CN114490042B (zh) | 2022-01-04 | 2022-01-04 | 一种内存分配方法及交通线网综合监控设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490042B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI847675B (zh) * | 2023-05-04 | 2024-07-01 | 瑞昱半導體股份有限公司 | 資料處理裝置與記憶體管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475099A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置及其设备 |
CN111858258A (zh) * | 2020-07-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种内存监控方法、装置及电子设备和存储介质 |
CN112433911A (zh) * | 2020-11-06 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种内存分配监控方法、系统、介质及设备 |
CN113608881A (zh) * | 2021-10-09 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 内存分配方法、装置、设备、可读存储介质及程序产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11093403B2 (en) * | 2018-12-04 | 2021-08-17 | Vmware, Inc. | System and methods of a self-tuning cache sizing system in a cache partitioning system |
-
2022
- 2022-01-04 CN CN202210002102.1A patent/CN114490042B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475099A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置及其设备 |
CN111858258A (zh) * | 2020-07-29 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种内存监控方法、装置及电子设备和存储介质 |
CN112433911A (zh) * | 2020-11-06 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种内存分配监控方法、系统、介质及设备 |
CN113608881A (zh) * | 2021-10-09 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 内存分配方法、装置、设备、可读存储介质及程序产品 |
Non-Patent Citations (1)
Title |
---|
FPGA高层综合中的内存子系统研究综述;张展鹏;张治国;;计算机科学;20120615(S1);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114490042A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108734353A (zh) | 一种公交线路行车计划生成方法及装置 | |
CN114490042B (zh) | 一种内存分配方法及交通线网综合监控设备 | |
CN112749836B (zh) | 一种基于客流时间序列的定制客运智能运力调配方法 | |
CN112148481B (zh) | 一种执行仿真测试任务的方法、系统、设备及介质 | |
CN113886073A (zh) | 一种边缘数据处理方法、系统、装置及介质 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN116909739A (zh) | 一种Kubernetes集群中资源超分提升资源利用率的方法及系统 | |
CN114781768A (zh) | 基于城市资源数据的停车场设施规划方法、装置及设备 | |
CN113886086A (zh) | 云平台计算资源分配方法、系统、终端及存储介质 | |
CN110826943B (zh) | 判断是否需要进行配车及确定公交配车数的方法及相关设备 | |
CN111796932A (zh) | 一种gpu资源调度方法 | |
CN117217458A (zh) | 一种公交路线的车型混配优化方法、装置、设备及介质 | |
CN114331196B (zh) | 一种基于云平台的轨道交通小运量综合调度系统及云平台 | |
CN109828719A (zh) | 基于云监控的commitLog文件所在磁盘控制方法、装置及相关设备 | |
CN114881324A (zh) | 基于模糊双边界模型的道路运输优化方法、装置及设备 | |
CN111737006B (zh) | 全网络交通调度优化方法、装置、计算机设备及存储介质 | |
CN116841720A (zh) | 资源配置方法、装置、计算机设备、存储介质及程序产品 | |
CN112398751A (zh) | 一种流量速度控制方法、装置、计算机设备和存储介质 | |
CN113256196A (zh) | 多车辆路径规划方法及装置 | |
CN111507493A (zh) | 对象和司乘匹配方法、装置和系统 | |
CN111260912A (zh) | 车辆编队的处理方法及装置 | |
DE102019213562A1 (de) | Verfahren zur Berechnung einer Funktion für ein Fahrzeug | |
TW202011347A (zh) | 共享單車管理系統及共享單車的管理方法 | |
CN117135756B (zh) | 异构无线网络资源分配方法、装置及终端设备 | |
CN106875046A (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 |