一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多传感器测量数据中心级实时弹性处理方法与流程

2022-02-20 21:42:56 来源:中国专利 TAG:


1.本发明属于多传感器空天探测领域,涉及一种多传感器测量数据中心级实时弹性处理方法。


背景技术:

2.利用地面异构多传感器(如雷达、光学测量系统等)对空天飞行目标进行探测跟踪的过程中,为了保证目标探测的有效性,一般采用分布式多传感器对整个区域进行探测,每个传感器负责其中的一部分区域。目标在该区域飞行过程中,会有若干探测器对其进行接力探测。由于每个目标的进入时刻、飞行时间和飞行轨迹等都具有不确定性,因此为了保证目标探测的有效性,所有传感器都要处于工作状态。而每个传感器只有在捕获目标并保持跟踪时才会生成测量数据,其它情况下则不会生成数据。
3.传感器生成的测量数据通过网络传输至数据中心进行集中处理,这种处理方式又被称为中心级处理。为了能够有效对所有传感器的目标测量结果进行实时处理,目前采用的方法是为每个传感器建立专门的数据处理模块,将其运行在服务器上并为之分配足够多的处理资源,包括计算资源和存储资源。其中,计算资源主要指服务器的cpu资源,存储资源主要指服务器的内存资源。这样做的优点是能够有效保证系统的实时性,无论任何传感器数据在何时传输至数据中心,都能够得到及时处理。但是该方法也存在以下三个方面的问题:
4.(1)服务器资源利用率较低
5.导致服务器资源利用率较低的原因主要有以下两个方面:
6.第一,处理模块资源超配。由于难以对传感器数据处理模块的资源需求量进行精确统计,因此只有为每个处理模块预先分配更多的资源来保证其处理过程的实时性。这种资源超配也会降低加载到服务器的传感器数据处理模块的数量。
7.第二,传感器工作不饱和。由于探测距离的限制,目标飞行过程中的任意时刻内,只有部分传感器对其实施探测跟踪,其它传感器因未捕获目标而不会对外发送数据。因此,这部分未发送数据的传感器,其对应的处理模块就处于空闲状态。
8.(2)硬件规模较大复杂度高
9.由于采用处理模块预先资源分配和资源超配等方式,保证数据处理过程的实时性。这就不可避免的导致需要更多的服务器资源满足数据处理的需要。要么使用性能更强的服务器,要么使用数量更多的服务器。
10.(3)系统后期运维成本较高
11.一方面,较低的资源利用率和较大的硬件规模会导致能耗的增加;另一方面,当传感器数据处理算法需要更新时,需要对其数据处理模块的能耗使用量进行重新评估,增加了系统维护的复杂性。


技术实现要素:

12.本发明的目的是提供一种多传感器实时测量数据中心级弹性处理方法,解决当前多传感器实时数据处理系统存在的资源利用率低、硬件规模大设计复杂和系统后期维护成本较高等问题。
13.为实现上述目的,本发明的技术方案如下:
14.一种多传感器测量数据中心级实时弹性处理方法,该方法包括如下步骤:
15.步骤一:选择一台服务器作为主服务器,其它服务器作为扩展服务器;所述主服务器主要用于多传感器数据报文接收、数据报文解码和对解码数据的实时处理,存放所有传感器的数据报文解码模块和数据处理模块的可执行文件,并对这些文件进行管理;若该服务器的资源不能满足所有解码数据实时处理,则将部分解码数据发送至扩展服务器上进行处理,并对这些扩展服务器进行管理;
16.步骤二:为每个传感器建立一个全局唯一的id号,并在此基础上建立该传感器id号与传感器数据报文标识、传感器数据报文解码模块和传感器数据处理模块的映射关系,并将其以映射关系表的形式存储在主服务器上;
17.步骤三:在主服务器上建立传感器数据报文解码模块运行表,该表用于记录主服务器中正在运行的所有传感器数据报文解码模块;
18.步骤四:在主服务器上建立传感器数据处理模块运行表,该表用于记录每个服务器上正在运行的所有传感器数据处理模块;
19.步骤五:主服务器加载传感器数据报文接收模块、缓存数据提取模块、数据分发模块和服务器运行监视模块;所述的传感器数据报文模块主要用于网络实时接收多个传感器发送的数据报文,并将接收的数据报文保存至缓存区中;所述的缓存数据提取模块主要用于从缓存区中异步取出数据报文,并对其报文头进行解码,获取数据报文标识对应的传感器id号;所述的数据分发模块主要用于根据每个数据报文对应的传感器id号,将其送至对应的传感器数据报文解码模块中进行解码,根据每个数据报文对应的传感器id号,将其解码结果送至对应的传感器数据处理模块进行实时数据处理;所述的服务器运行监视模块主要用于监视每台服务器的当前工作负载率wlr
t
,以及每个传感器数据报文解码模块和传感器数据处理模块的运行状态;
20.步骤六:主服务器上的传感器数据报文接收模块实时接收多个传感器发送的数据报文,并将其按照接收顺序存入动态缓存队列中;
21.步骤七:缓存数据提取模块从动态缓存队列中提取数据报文,解码报文头并根据其信息检查数据报文的完整性;
22.若数据报文存在完整性问题则将其丢弃,否则再通过报文头中的传感器数据报文标识获取传感器id号,将该数据报文和传感器id号一起送至数据分发模块中;
23.步骤八:数据分发模块根据数据报文对应的传感器id号,查询主服务器上数据报文解码模块运行表中对应的数据报文解码模块是否存在,若不存在则在主服务器上加载该传感器数据报文解码模块;
24.步骤九:数据分发模块根据数据报文对应的传感器id号,查询主服务器上数据处理模块运行表中对应的数据处理模块是否存在,若不存在,则检查当前主服务器的当前工作负载率wlr
t
,若wlr
t
小于设定阈值,则在主服务器上加载该数据处理解码模块;否则,选择
另外一台服务器并将数据处理解码模块加载到该服务器上;
25.步骤十:数据分发模块将数据报文送至其传感器id号对应的传感器数据报文解码模块中,完成数据报文解码,传感器数据报文解码模块将解码后的数据结果和传感器id号发送至数据分发模块;
26.步骤十一:数据分发模块根据数据解码结果对应的传感器id号,将其送至对应服务器的传感器数据处理模块中,完成数据处理;
27.步骤十二:服务器运行监视模块周期性检查每台服务器的当前工作负载率wlr
t
,若wlr
t
>0.85,则选择部分传感器数据处理模块无缝迁移到其它服务器上,使该服务器的工作负载率wlr
t
<0.7;
28.步骤十三:服务器运行监视模块周期性检查主服务器上正在运行的传感器数据报文解码模块,以及主服务器及扩展服务器上运行的传感器数据处理模块的闲置时间,当其闲置时间超出阈值时间时,则系统终止其运行并回收其所占资源;
29.循环执行步骤六至步骤十三,保证对到来目标的及时捕获、跟踪与处理。
30.进一步地,所述步骤二中,传感器全局唯一id号建立方法如下:
31.该id号使用非负整数进行表式,编号原则有以下三条:
32.第一,从0开始,在服务器中使用整型32位进行存储;
33.第二,后续如果有新传感器加入,则该id号只需在原有最大id号上加1;
34.第三,若有传感器离开,为保持后续方法的一致性,其编号不再被其它传感器占用。
35.进一步地,所述步骤六中,动态数据缓存队列采用双向链表实现,实时接收的数据直接添加到双向链表的头部,此时动态缓存队列长度增加;取数据时从尾部开始获取,取出数据后动态缓存队列长度减小。
36.进一步地,所述步骤七进一步包括:
37.第一步,从动态缓存队列中异步取出一个数据报文;
38.第二步,对其报文头进行解码,利用报文头信息检查数据报文的完整性;若该数据报文的完整性没有问题,则进入下一步;否则将其丢弃后再进入第一步;
39.第三步,从报文头中获取数据报文标识,查询映射关系表,从表中获取到该数据报文标识对应的传感器id号;;
40.第四步,将该数据报文和传感器id号发送至数据分发模块,该模块接收相应的数据后将其存入内部的传感器数据报文动态缓存队列中;
41.第五步,返回第一步继续上述过程。
42.进一步地,所述步骤八进一步包括:
43.第一步:通过传感器id号查询映射关系表,获取对应的传感器数据报文解码模块可执行性文件在主服务器上的url地址;
44.第二步:通过该url地址获取传感器数据报文解码模块的可执行性文件,并将其加载到主服务器内存中开始运行,记录下初始运行时刻;
45.第三步:在数据报文解码模块运行表中加入该传感器数据报文解码模块的内容,主要包括传感器id号、传感器数据报文解码模块标识、模块首次运行时刻、模块最近解码数据时刻;其中,将第二步中记录下的模块初始运行时刻作为模块首次运行时刻,模块最近解
码数据时刻置为0。
46.进一步地,所述步骤九中,服务器当前工作负载率wlr
t
的计算方法如下:
47.第一步,在每台服务器上部署一个服务器资源利用率计算模块,用于每秒统计一次当前时刻的计算资源和内存资源利用率,分别记为scr
t
和smr
t

48.第二步,服务器资源利用率计算模块每隔一定的阈值时段统计一次scr
t
和smr
t
在该时段内的最大值,分别记为scr
t-max
和smr
t-max

49.第三步,每次统计完scr
t
和smr
t
的值,紧接着按照下面(1)式所示,计算当前时刻spr
t-max
和smr
t-max
的最大值,将计算结果作为wlr
t
的值;
50.wlr
t
=max(spr
t-max
,smr
t-max
)
ꢀꢀꢀꢀ
(1)
51.第四步,将每个扩展服务器的wlr
t
值计算结果发送至主服务器。
52.第五步,在主服务器上建立一个服务器工作负载率表,用于记录包括主服务器在内的每台服务器的当前工作负载率。
53.进一步地,所述步骤九进一步包括:
54.第一步,查看主服务器的当前工作负载率wlr
t
值是否小于设定阈值,若小于则选择该服务器作为传感器数据处理模块的运行服务器;
55.第二步,查询服务器工作负载率表,将所有扩展服务器的工作负载率从大到小进行排列;
56.第三步,按照扩展服务器的排列顺序,选择第一台服务器,查看其工作负载率是否小于设定阈值,若小于则将该服务器作为传感器数据处理模块的运行服务器;否则继续选择下一台服务器,直至找到工作负载率小于设定阈值的服务器,将其选择为传感器处理模块的运行服务器;
57.第四步:通过传感器id号查询映射关系表,获取对应的传感器数据处理模块可执行性文件在主服务器上的url地址;
58.第五步:通过该url地址获取传感器数据处理模块的可执行性文件,并将其加载到第一步或第三步中选择的服务器内存中开始运行,记录下初始运行时刻;
59.第六步:在数据处理模块运行表中加入该传感器数据处理模块的内容,主要包括传感器id号、传感器数据报文解码模块标识、模块首次运行时刻、模块最近解码数据时刻,其中,将第二步中记录下的模块初始运行时刻作为模块首次运行时刻,模块最近解码数据时刻置为0。
60.进一步地,所述步骤十二进一步包括:
61.第一步,选择一台合适服务器作为迁移服务器;
62.1.1,查询服务器工作负载率表,将所有扩展服务器的工作负载率从大到小进行排列;
63.1.2,按照扩展服务器的排列顺序,选择第一台服务器,查看其工作负载率是否小于设定阈值,若小于则将该服务器作为传感器数据处理模块的运行服务器;否则继续选择下一台服务器,直至找到工作负载率小于设定阈值的服务器,将其选择为传感器数据处理模块的迁移服务器;
64.第二步,选择待迁移传感器数据处理模块,通过映射关系表查询到该传感器数据处理模块磁盘可执行文件的url地址,从主服务器上获取到该模块的可执行文件并发送至
迁移服务器上;
65.2.1,统计服务器上每个传感器数据处理模块的当前计算资源和内存资源使用率,分别记为mcr
t
和mmr
t

66.2.2,针对每个传感器数据处理模块,预先计算迁移该模块后服务器的当前工作负载率wlr
t
的变化量wlcr
t
,其计算公式如下式:
67.wlcr
t
=wlr
t-max(spr
t-max-mcr
t
,smr
t-max-mmr
t
)
ꢀꢀꢀꢀ
(2)
68.2.3,将上一步每个传感器处理模块对应的工作负载率变化量计算结果从大到小进行排序;
69.2.4,按照工作负载率变化量排序结果,选择第一个数据对应的传感器数据处理模块,通过映射关系表查询到该传感器数据处理模块磁盘可执行文件的url地址,从主服务器上获取到该模块的可执行文件并发送至迁移服务器上;
70.第三步,将传感器数据处理模块可执行文件加载至迁移服务器的内存并运行;
71.第四步,查询传感器数据处理模块运行表中该迁移模块的记录条目,将其运行服务器的网络地址修改为迁移服务器的网络地址;
72.第五步,通知主服务器上的数据分发模块,将该对应该传感器数据处理模块的解码数据重定位发送至迁移服务器上;
73.第六步,待原传感器数据处理模块将之前进入的数据全部处理完后,将其从原服务器上卸载并释放处理资源。
74.进一步地,所述步骤十三中,传感器数据报文解码模块检查过程如下:
75.第一步,对每一个正在运行的传感器数据报文解码模块,查询传感器数据报文解码模块运行表,获取该模块的最近解码数据时刻,记为de
t
,该值为北京时时间;
76.第二步,获取当前绝对时时刻,记为no
t
,该值为北京时时间;
77.第三步,计算de
t
和no
t
差的绝对值,即为该模块的闲置时间,记为it,计算公式如下式所示;
78.it=|de
t-no
t
|
ꢀꢀꢀ
(3)
79.第四步,若it>tt,tt为预先设置的闲置时间阈值,则将终止该模块的运行并回收其所占资源;
80.进一步地,所述步骤十三中,对传感器数据处理模块的检查过程如下:
81.第一步,对每一个正在运行的传感器数据处理模块,查询传感器数据处理模块运行表,获取该模块的最近处理数据时刻,记为pr
t
,该值为北京时时间;
82.第二步,获取当前绝对时时刻,记为no
t
,该值为北京时时间;
83.第三步,计算pr
t
和no
t
差的绝对值,记为该服务器的闲置时间,记为it,计算公式如下式所示。
84.it=|pr
t-no
t
|
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
85.第四步,若it>tt,tt为预先设置的闲置时间阈值,则将终止该模块的运行并回收其所占资源。
86.本发明的优点是:本发明提出的多传感器实时测量数据中心级弹性计算方法,能够使系统根据当前时刻实际参与跟踪的传感器数量,在不影响数据处理实时性的前提下,动态调整当前服务器内的传感器数据处理模块,无需预先为每个模块预先分配资源,使整
个系统做到弹性处理。这种方法不但能够有效解决上述的几个问题,而且还可以提高系统的资源分配自动化程度,提高系统可靠性,降低运维压力。
附图说明
87.图1多传感器测量数据中心级实时弹性处理方法流程示意图
具体实施方式
88.下面结合附图对本发明作进一步详细说明。
89.参见图1,本发明提供了一种多传感器实时测量数据中心级弹性处理方法,包括如下步骤:
90.步骤一:选择一台较好性能的服务器作为主服务器,其它服务器作为扩展服务器。主服务器的作用有以下三个方面:
91.(1)多传感器数据报文接收、数据报文解码和对解码数据的实时处理,其中前两个方面均在主服务器中完成;
92.(2)存放所有传感器的数据报文解码模块和数据处理模块的可执行文件,并对这些文件进行管理;
93.(3)若该服务器的资源不能满足所有解码数据实时处理,则将部分解码数据发送至扩展服务器上进行处理,并对这些扩展服务器进行管理。
94.传感器测量数据结果以数据报文的形式通过网络实时传送至数据中心。数据报文由报文头和报文内容组成,报文头主要用于标识与报文传输有关的信息,其具体内容与传输协议有关。本发明不局限于任何一个专门的数据传输协议,具有一定的普适性。数据报文传输至数据中心后,先进行解码,将报文内容中的传感器测量数据结果进行复原,再对复原结果进行相应的数据处理。其中,数据报文解码部分由传感器数据报文解码模块完成,数据处理部分由传感器数据处理模块完成。
95.由于传感器数据报文解码模块的运算量不大,为了进一步提升数据报文解码效率,所有传感器数据报文解码模块全部运行在主服务器上。传感器数据处理模块运行在主服务器或扩展服务器上,具体看其分配情况。
96.主服务器是多传感器数据处理的核心服务器,由性能最好的服务器担任,其它服务器则作为扩展服务器,当主服务器资源不够用时提供额外的处理资源。所有传感器的数据报文解码模块和数据处理模块的可执行性文件存放在该主服务器上,将可执行文件加载内存中就可以运行。每个模块的可执行文件有一个唯一的url地址用于标识该模块在该服务器中的磁盘位置,通过该url地址就能获取到该文件。
97.步骤二:为每个传感器建立一个全局唯一的id号,并在此基础上建立该传感器id号与传感器数据报文标识、传感器数据报文解码模块和传感器数据处理模块的映射关系,并将其以映射关系表的形式存储在主服务器上。
98.下面将各映射关系的建立方法和实现方法进行说明:
99.1.1传感器全局唯一id号建立方法:
100.该id号使用非负整数进行表式,编号原则有以下三条:
101.第一,从0开始,在服务器中使用整型32位进行存储;
102.第二,后续如果有新传感器加入,则该id号只需在原有最大id号上加1;
103.第三,若有传感器离开,为保持后续方法的一致性,其编号不再被其它传感器占用。
104.1.2传感器数据标识与传感器id号的映射关系建立方法:
105.传感器数据标识是传感器数据报文头中的一个二进制数据,用于标识产生该数据的传感器。其中,数据报文是网络中数据传输的基本单元,由报文头和报文内容组成。传感器数据标识位于报文头中,与传感器id号是一对一的映射关系,每个传感器数据标识唯一确定一个传感器id号。
106.1.3传感器数据报文解码模块与传感器id号的映射关系建立方法
107.传感器数据报文解码模块主要用于将二进制传感器数据报文解码转换为十进制测量结果。这是一个一对多映射关系,数据报文格式相同的传感器使用相同的解码模块。因此,同一个解码模块可以对应多个传感器id号。该映射关系的建立方法是建立传感器id号、传感器数据报文解码模块标识与该模块url地址的对应关系。其中,传感器数据报文解码模块标识用于对在服务器上运行中数据报文解码模块进行唯一标识。
108.1.4传感器数据处理模块与传感器id号的映射关系建立方法
109.传感器数据处理模块主要用于处理解码后的传感器数据报文,这也是一个一对多的映射关系,同类型的传感器其处理过程也相同。该映射关系的建立方式也是建立传感器id号、传感器数据处理模块标识与该模块url地址的对应关系。其中,传感器数据处理模块标识用于对正在服务器上运行中数据处理模块进行唯一标识。
110.1.5映射关系的实现方法
111.在主服务器中建立一个映射关系表,以传感器id号为主,将上面建立的所有映射关系全部记录在该表中,主要记录的条目有:传感器id号、传感器数据报文标识、传感器数据报文解码模块标识、传感器数据报文解码模块url地址、传感器数据处理模块标识、传感器数据处理模块url地址。
112.步骤三:在主服务器上建立传感器数据报文解码模块运行表,该表用于记录主服务器中正在运行的所有传感器数据报文解码模块。
113.根据传感器数据报文解码模块与传感器id号映射关系,传感器数据报文解码模块运行表主要记录每个传感器数据报文解码模块对应的传感器id号、传感器数据报文解码模块标识、模块首次运行时刻、模块最近解码数据时刻。其中,模块首次运行时刻为该模块在主服务器上开始运行的时刻,模块最近解码数据时刻为该模块最近一次为数据报文进行解码的时刻。模块最近解码数据时刻的记录方法为,记录最近一次数据报文进入该模块的时刻即可。
114.通过该表可以查找主服务器上运行的所有传感器数据报文解码模块,也可以利用传感器id号查找对应传感器数据报文解码模块。
115.步骤四:在主服务器上建立传感器数据处理模块运行表,该表用于记录每个服务器上正在运行的所有传感器数据处理模块。
116.根据传感器数据处理模块与传感器id号映射关系,传感器数据处理模块运行表主要记录每个传感器数据处理模块对应的传感器id号、传感器数据处理模块标识、模块运行服务器地址、模块首次运行时刻、模块最近处理数据时刻。其中,模块服务器地址用于记录
承载该模块的服务器的网络地址;模块首次运行时刻为该模块在主服务器上开始运行的时刻;模块最近处理数据时刻为该模块最近一次进行数据处理的时刻。模块最近数据处理时刻的记录方法为,记录最近一次解码数据结果进入该模块的时刻即可。
117.通过该表可以查找服务器上运行的所有传感器数据处理模块,也可以利用传感器id号查找对应传感器数据处理模块。
118.步骤五:主服务器加载传感器数据报文接收模块、缓存数据提取模块、数据分发模块和服务器运行监视模块。
119.5.1传感器数据报文模块
120.该模块主要用于网络实时接收多个传感器发送的数据报文,并将接收的数据报文保存至缓存区中。
121.5.2缓存数据提取模块
122.该模块主要用于从缓存区中异步取出数据报文,并对其报文头进行解码,获取数据报文标识对应的传感器id号。
123.5.3数据分发模块
124.5.3.1该模块主要用于完成以下两种数据的模块间传送服务:
125.第一种是传感器数据报文分发服务。根据每个数据报文对应的传感器id号,将其送至对应的传感器数据报文解码模块中进行解码;
126.第二种是传感器解码数据分发服务。根据每个数据报文对应的传感器id号,将其解码结果送至对应的传感器数据处理模块进行实时数据处理。
127.5.3.2实现方法
128.在数据分发模块中分别建立传感器数据报文动态缓存队列和传感器解码数据结果动态缓存队列,其建立方法如步骤六中所述的动态缓存队列一致,分别用于缓存传感器数据报文(含传感器id号)和传感器数据报文解码结果(含传感器id号)。再从动态缓存队列中逐个取出每个数据,并根据其对应的传感器id号将其送至对应的传感器数据报文解码模块或传感器数据处理模块中。
129.5.4服务器运行监视模块
130.该模块主要用于监视每台服务器的当前工作负载率wlr
t
,以及每个传感器数据报文解码模块和传感器数据处理模块的运行状态。当前工作负载率wlr
t
的计算方法在步骤九中详细说明。
131.步骤六:主服务器上的传感器数据报文接收模块实时接收多个传感器发送的数据报文,并将其按照接收顺序存入动态缓存队列中。
132.将接收的数据直接存入动态缓存队列中能够将数据的接收和使用进行解耦,实现异步数据接收与处理。动态数据缓存队列采用双向链表实现,实时接收的数据直接添加到双向链表的头部,此时动态缓存队列长度增加;取数据时从尾部开始获取,取出数据后动态缓存队列长度减小。采用这种数据结构能够在异步数据存取过程中将数据同步最小化,仅当获取数据且动态缓存队列中仅存在一个数据时,需要对该数据获取过程进行同步,从而最大化的提升数据存取效率。
133.步骤七:缓存数据提取模块从动态缓存队列中提取数据报文,解码报文头并根据其信息检查数据报文的完整性。若数据报文存在完整性问题则将其丢弃,否则再通过报文
头中的传感器数据报文标识获取传感器id号。最后,将该数据报文和传感器id号一起送至数据分发模块中。
134.该过程细分为以下五步:
135.第一步,从动态缓存队列中异步取出一个数据报文。
136.第二步,对其报文头进行解码,利用报文头信息检查数据报文的完整性。若该数据报文的完整性没有问题,则进入下一步;否则将其丢弃后再进入第一步。
137.第三步,从报文头中获取数据报文标识,查询映射关系表,从表中获取到该数据报文标识对应的传感器id号。
138.第四步,将该数据报文和传感器id号发送至数据分发模块,该模块接收相应的数据后将其存入内部的传感器数据报文动态缓存队列中。
139.第五步,返回第一步继续上述过程。
140.步骤八:数据分发模块根据数据报文对应的传感器id号,查询主服务器上数据报文解码模块运行表中对应的数据报文解码模块是否存在,若不存在则在主服务器上加载该传感器数据报文解码模块。
141.从主服务器上加载传感器数据报文解码模块的步骤如下:
142.第一步:通过传感器id号查询映射关系表,获取对应的传感器数据报文解码模块可执行性文件在主服务器上的url地址。
143.第二步:通过该url地址获取传感器数据报文解码模块的可执行性文件,并将其加载到主服务器内存中开始运行,记录下初始运行时刻。
144.第三步:在数据报文解码模块运行表中加入该传感器数据报文解码模块的内容,主要包括传感器id号、传感器数据报文解码模块标识、模块首次运行时刻、模块最近解码数据时刻。其中,将第二步中记录下的模块初始运行时刻作为模块首次运行时刻,模块最近解码数据时刻置为0。
145.步骤九:数据分发模块根据数据报文对应的传感器id号,查询主服务器上数据处理模块运行表中对应的数据处理模块是否存在,若不存在,则检查当前主服务器的当前工作负载率wlr
t
,若wlr
t
小于设定阈值,则在主服务器上加载该数据处理解码模块;否则选择另外一台服务器并将数据处理解码模块加载到该服务器上。本发明中该阈值设定为0.7。
146.服务器当前工作负载率wlr
t
的计算方法:
147.第一步,在每台服务器上部署一个服务器资源利用率计算模块,用于每秒统计一次当前时刻的计算资源和内存资源利用率,分别记为scr
t
和smr
t

148.第二步,服务器资源利用率计算模块每隔一定的阈值时段统计一次scr
t
和smr
t
在该时段内的最大值,分别记为scr
t-max
和smr
t-max
,本发明将该阈值时段设置为5分钟。
149.第三步,每次统计完scr
t
和smr
t
的值,紧接着按照下面(1)式所示,计算当前时刻spr
t-max
和smr
t-max
的最大值,将计算结果作为wlr
t
的值。
150.wlr
t
=max(spr
t-max
,smr
t-max
)
ꢀꢀꢀꢀ
(1)
151.第四步,将每个扩展服务器的wlr
t
值计算结果发送至主服务器。
152.第五步,在主服务器上建立一个服务器工作负载率表,用于记录包括主服务器在内的每台服务器的当前工作负载率。
153.步骤九的具体实施过程如下:
154.第一步,查看主服务器的当前工作负载率wlr
t
值是否小于0.7,若小于则选择该服务器作为传感器数据处理模块的运行服务器。
155.第二步,查询服务器工作负载率表,将所有扩展服务器的工作负载率从大到小进行排列。
156.第三步,按照扩展服务器的排列顺序,选择第一台服务器,查看其工作负载率是否小于0.7,若小于则将该服务器作为传感器数据处理模块的运行服务器;否则继续选择下一台服务器,直至找到工作负载率小于0.7的服务器,将其选择为传感器处理模块的运行服务器。
157.第四步:通过传感器id号查询映射关系表,获取对应的传感器数据处理模块可执行性文件在主服务器上的url地址。
158.第五步:通过该url地址获取传感器数据处理模块的可执行性文件,并将其加载到第一步或第三步中选择的服务器内存中开始运行,记录下初始运行时刻。
159.第六步:在数据处理模块运行表中加入该传感器数据处理模块的内容,主要包括传感器id号、传感器数据报文解码模块标识、模块首次运行时刻、模块最近解码数据时刻。其中,将第二步中记录下的模块初始运行时刻作为模块首次运行时刻,模块最近解码数据时刻置为0。
160.步骤十:数据分发模块将数据报文送至其传感器id号对应的传感器数据报文解码模块中,完成数据报文解码。传感器数据报文解码模块将解码后的数据结果和传感器id号发送至数据分发模块。
161.数据报文解码模块主要对数据报文中的报文内容部分进行解码,解码结果为传感器的测量数据结果,该步骤如下:
162.第一步,从数据分发模块中的传感器数据报文动态缓存队列中取出一个数据报文及其对应的传感器id号。
163.第二步,通过传感器数据报文对应的传感器id号,查询传感器数据报文解码模块运行表,获取到对应的传感器数据报文解码模块。
164.第三步,将数据报文送至该传感器数据报文解码模块,对其进行解码。
165.第四步:解码结果与传感器id号发送至数据分发模块,数据分发模块将其存入内部的传感器解码数据动态缓存队列中。
166.第五步:返回第一步继续上述过程。
167.步骤十一:数据分发模块根据数据解码结果对应的传感器id号,将其送至对应服务器的传感器数据处理模块中,完成数据处理。
168.数据处理模块主要对单个传感器的数据报文解码结果进行处理,或者对多个传感器的数据报文解码结果进行融合处理。根据前面建立的映射关系,数据分发模块把传感器数据报文解码结果送至一个或多个对应的传感器数据处理模块中。具体过程如下:
169.第一步,从数据分发模块中的传感器解码数据动态缓存队列中取出一个解码数据及其对应的传感器id号。
170.第二步,通过传感器解码对应的传感器id号,查询传感器数据处理模块运行表,获取到对应的传感器数据处理模块及其所在的服务器网络地址。
171.第三步,将数据报文发送至该对应服务器的传感器数据处理模块,完成数据处理。
172.第四步:返回第一步继续上述过程。
173.步骤十二:服务器运行监视模块周期性检查每台服务器的当前工作负载率wlr
t
,若wlr
t
>0.85,则利用本发明提出的传感器数据处理模块无缝迁移方法,选择部分传感器数据处理模块无缝迁移到其它服务器上,使该服务器的工作负载率wlr
t
<0.7,从而避免因工作负载率过高导致处理过程的实时性受到影响。本发明的周期检查时间为5分钟。
174.12.1传感器数据处理模块无缝迁移方法
175.传感器数据处理模块无缝迁移是指在完全不影响模块实时数据处理的前提下,将其从一个服务器上迁移到另一个服务器上。该方法的主要步骤如下:
176.第一步,选择一台合适的服务器作为迁移服务器,该服务器的具体选择方法见12.2节。
177.第二步,通过映射关系表查询到传感器数据处理模块磁盘可执行文件的url地址,从主服务上获取到该模块的可执行文件并发送至迁移服务器上。
178.第三步,将传感器数据处理模块可执行文件加载至迁移服务器的内存并运行。
179.第四步,查询传感器数据处理模块运行表中该迁移模块的记录条目,将其运行服务器的网络地址修改为迁移服务器的网络地址。
180.第五步,通知主服务器上的数据分发模块,将该对应该传感器数据处理模块的解码数据重定位发送至迁移服务器上。
181.第六步,待原传感器数据处理模块将之前进入的数据全部处理完后,将其从原服务器上卸载并释放处理资源。
182.12.2迁移服务器选择方法
183.第一步,查询服务器工作负载率表,将所有扩展服务器的工作负载率从大到小进行排列。
184.第二步,按照扩展服务器的排列顺序,选择第一台服务器,查看其工作负载率是否小于0.7,若小于则将该服务器作为传感器数据处理模块的运行服务器;否则继续选择下一台服务器,直至找到工作负载率小于0.7的服务器,将其选择为传感器处理模块的迁移服务器。
185.12.3待迁移传感器数据处理模块选择方法
186.第一步:统计服务器上每个传感器数据处理模块的当前计算资源和内存资源使用率,分别记为mcr
t
和mmr
t

187.第二步:针对每个传感器数据处理模块,预先计算迁移该模块后服务器的当前工作负载率wlr
t
的变化量wlcr
t
,其计算公式如下式:
188.wlcr
t
=wlr
t-max(spr
t-max-mcr
t
,smr
t-max-mmr
t
)
ꢀꢀꢀꢀ
(2)
189.第三步:将上一步每个传感器处理模块对应的工作负载率变化量计算结果从大到小进行排序。
190.第四步:按照工作负载率变化量排序结果,选择第一个数据对应的传感器数据处理模块,通过映射关系表查询到该传感器数据处理模块磁盘可执行文件的url地址,从主服务器上获取到该模块的可执行文件并发送至迁移服务器上。
191.步骤十三:服务器运行监视模块周期性检查主服务器上正在运行的传感器数据报文解码模块,以及主服务器及扩展服务器上运行的传感器数据处理模块的闲置时间,当其
闲置时间超出阈值时间时,则系统终止其运行并回收其所占资源。本发明的周期性检查时间为5分钟。
192.13.1传感器数据报文解码模块检查过程
193.步骤十三对传感器数据报文解码模块的检查过程如下:
194.第一步,对每一个正在运行的传感器数据报文解码模块,查询传感器数据报文解码模块运行表,获取该模块的最近解码数据时刻,记为de
t
,该值为北京时时间;
195.第二步,获取当前绝对时时刻,记为no
t
,该值为北京时时间;
196.第三步,计算de
t
和no
t
差的绝对值,即为该模块的闲置时间,记为it,计算公式如下式所示。
197.it=|de
t-no
t
|
ꢀꢀꢀꢀ
(3)
198.第四步,设置闲置时间阈值tt,若it>tt,则将终止该模块的运行并回收其所占资源,本发明中tt为5分钟。
199.13.2传感器数据处理模块检查过程
200.步骤十三对传感器数据处理模块的检查过程如下:
201.第一步,对每一个正在运行的传感器数据处理模块,查询传感器数据处理模块运行表,获取该模块的最近处理数据时刻,记为pr
t
,该值为北京时时间;
202.第二步,获取当前绝对时时刻,记为no
t
,该值为北京时时间;
203.第三步,计算pr
t
和no
t
差的绝对值,记为该服务器的闲置时间,记为it,计算公式如下式所示。
204.it=|pr
t-no
t
|
ꢀꢀꢀꢀ
(3)
205.第四步,设置闲置时间阈值tt,若it>tt,则将终止该模块的运行并回收其所占资源,本发明中tt为5分钟。
206.步骤六至步骤十三循环执行,保证对到来目标的及时捕获、跟踪与处理。
207.本发明主要针对利用少量服务器,对多个传感器的测量数据进行实时数据处理的场景。
208.本发明提出的多传感器实时测量数据中心级弹性计算方法,能够使系统根据当前时刻实际参与跟踪的传感器数量,在不影响数据处理实时性的前提下,动态调整当前服务器内的传感器数据处理模块,无需预先为每个模块预先分配资源,使整个系统做到弹性处理。这种方法不但能够有效解决上述的几个问题,而且还可以提高系统的资源分配自动化程度,提高系统可靠性,降低运维压力。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献