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

一种传输设备性能文件FTP上报的实现方法和系统与流程

2022-11-19 08:31:57 来源:中国专利 TAG:

一种传输设备性能文件ftp上报的实现方法和系统
【技术领域】
1.本发明涉及网络管理技术领域,特别是涉及一种传输设备性能文件ftp上报的实现方法和系统。


背景技术:

2.umc网管采集传输设备性能时,部分设备会在一次交互中同时应答两个性能文件(基础性能文件和业务性能文件),两个文件必须同时上报给网管才算完成采集,传统的解决方案有:

设备主动通知网管文件已经上传完成,弊端:需要额外对udp协议在应用层进行可靠性控制开销,此外频繁的主动通知会大量占用宝贵的设备网络带宽资源。

网管轮询监测性能文件是否传输完成,弊端:效率低下,且无法有效监测性能文件的准确传输状态(是在传输中还是传输完成)。

简单消息上报,弊端:无法对多个消息进行匹配,不满足一次交互多个文件的特殊场景。
3.鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现要素:

4.本发明要解决的技术问题是umc网管采集传输设备性能时,部分设备会在一次交互中同时应答两个性能文件(基础性能文件和业务性能文件),两个文件必须同时上报给网管才算完成采集,传统的解决方案有:

设备主动通知网管文件已经上传完成,弊端:需要额外对udp协议在应用层进行可靠性控制开销,此外频繁的主动通知会大量占用宝贵的设备网络带宽资源。

网管轮询监测性能文件是否传输完成,弊端:效率低下,且无法有效监测性能文件的准确传输状态(是在传输中还是传输完成)。

简单消息上报,弊端:无法对多个消息进行匹配,不满足一次交互多个文件的特殊场景。
5.本发明采用如下技术方案:
6.一种传输设备性能文件ftp上报的实现方法,采集服务对每一个采集请求生成一个queryid,并将queryid注册到网管ftp服务的消息通知模块,网管ftp服务的数据传输通道,在监测到文件数据传输完成后,向消息控制模块发送文件消息,消息控制模块,根据文件后缀类型,进行相应情况处理,方法包括:
7.文件后缀为adat,则在文件消息中提取queryid,在队列uncompletelistb中查找是否已经收到对应的bdat文件;若查找失败,则将queryid加入未完成队列uncompletelista;若查找成功,则从队列uncompletelistb和队列pendinglist中移除该queryid,并加入处理中队列dealinglist;
8.文件后缀为bdat,则在文件消息中提取queryid,在uncompletelista中查找是否已经收到对应的adat文件,若查找失败,则将queryid加入未完成队列uncompletelistb;若查找成功,则从队列uncompletelista和队列pendinglist中移除该queryid,并加入处理中队列dealinglist。
9.优选的,方法还包括:
10.文件后缀为dat,则在文件消息中提取queryid,查找该queryid是否存在于待处理队列pendinglist,若存在,说明可以上报该消息,将该queryid从待处理队列pendinglist移除,并加入处理中队列dealinglist。
11.优选的,消息上报线程顺序处理队列dealinglist中的数据,已上报的数据生成一个唯一的msgid,发送给控制器模块,接收方在成功收到消息后,应答相同msgid给控制器,控制器对msgid进行异或操作,判断是否发送成功,发送成功则从dealinglist队列中移除该消息。
12.优选的,dealinglist队列中的数据发送失败则进行重发,重发三次失败,则移除队列,记录日志。
13.优选的,网管ftp服务的消息控制模块,有四个消息队列用来进行消息匹配,分别是待处理队列pendinglist、未完成队列uncompletelista、未完成队列uncompletelistb和处理中队列dealinglist,具体的:
14.待处理队列pendinglist用于存储采集服务注册的queryid;
15.未完成队列uncompletelista和uncompletelistb用于存储未完成匹配的消息;
16.处理中队列dealinglist用于存储完成匹配,发送出去的消息。
17.优选的,传输设备上传的性能文件有两种,其中,第一种是一个queryid对应一个性能文件,这种性能文件的文件名会包含queryid作为关键字,以dat作为后缀;第二种是一个queryid对应两个性能文件,两个性能文件的文件名均包含queryid作为关键字,基础性能文件以adat作为后缀,业务性能文件以bdat作为后缀。
18.优选的,所述文件命名规则为:
19.业务字符串、设备ip和queryid,与.dat、.adat或.bdat三者之一串联构成。
20.第二方面,本发明还提供了一种传输设备性能文件ftp上报的实现系统,其特征在于,网管ftp服务的消息控制模块,有四个消息队列用来进行消息匹配,分别是待处理队列pendinglist、未完成队列uncompletelista、未完成队列uncompletelistb和处理中队列dealinglist,待处理队列pendinglist用于存储采集服务注册的queryid;未完成队列uncompletelista和uncompletelistb用于存储未完成匹配的消息;处理中队列dealinglist用于存储完成匹配,发送出去的消息,具体的:
21.采集服务对每一个采集请求生成一个queryid,并将queryid注册到网管ftp服务的消息通知模块,网管ftp服务的数据传输通道,在监测到文件数据传输完成后,向消息控制模块发送文件消息,消息控制模块,根据文件后缀类型,进行相应情况处理;
22.其中,文件后缀为adat,则在文件消息中提取queryid,在队列uncompletelistb中查找是否已经收到对应的bdat文件;若查找失败,则将queryid加入未完成队列uncompletelista;若查找成功,则从队列uncompletelistb和队列pendinglist中移除该queryid,并加入处理中队列dealinglist;
23.其中,文件后缀为bdat,则在文件消息中提取queryid,在uncompletelista中查找是否已经收到对应的adat文件,若查找失败,则将queryid加入未完成队列uncompletelistb;若查找成功,则从队列uncompletelista和队列pendinglist中移除该queryid,并加入处理中队列dealinglist。
24.优选的,文件后缀为dat,则在文件消息中提取queryid,查找该queryid是否存在
于待处理队列pendinglist,若存在,说明可以上报该消息,将该queryid从待处理队列pendinglist移除,并加入处理中队列dealinglist。
25.优选的,传输设备上传的性能文件有两种,其中,第一种是一个queryid对应一个性能文件,这种性能文件的文件名会包含queryid作为关键字,以dat作为后缀;第二种是一个queryid对应两个性能文件,两个性能文件的文件名均包含queryid作为关键字,基础性能文件以adat作为后缀,业务性能文件以bdat作为后缀。
26.第三方面,本发明还提供了一种传输设备性能文件ftp上报的实现装置,用于实现第一方面所述的传输设备性能文件ftp上报的实现方法,所述装置包括:
27.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的传输设备性能文件ftp上报的实现方法。
28.第四方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的传输设备性能文件ftp上报的实现方法。
29.本发明以ice storm为框架,对其消息上报模块进行改造,增加消息匹配和可靠性上报的机制,并集成到网管ftp服务系统,在网管ftp服务系统收到设备上传的性能文件后,进行消息匹配,完成匹配后发布文件消息,主动通知网管采集服务。
【附图说明】
30.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1是本发明实施例提供的一种传输设备性能文件ftp上报的实现方法流程示意图;
32.图2是本发明实施例提供的一种传输设备性能文件ftp上报的实现方法流程示意图;
33.图3是本发明实施例提供的一种传输设备性能文件ftp上报的消息上报组件图;
34.图4是本发明实施例提供的一种传输设备性能文件ftp上报的账号管理架构示意图;
35.图5是本发明实施例提供的一种传输设备性能文件ftp上报的实现方法信令时序图;
36.图6是本发明实施例提供的一种传输设备性能文件ftp上报的实现方法流程示意图;
37.图7是本发明实施例提供的一种传输设备性能文件ftp上报的实现装置结构示意图。
【具体实施方式】
38.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
39.在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
40.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
41.实施例1:
42.本发明实施例1提供了一种传输设备性能文件ftp上报的实现方法,如图1所示,包括:
43.在步骤201中,采集服务对每一个采集请求生成一个queryid,并将queryid注册到网管ftp服务的消息通知模块。
44.例如:采集服务有三个采集请求,生成了queryid{1,2,3},将其发送给网管ftp服务消息通知模块进行注册。
45.在步骤202中,网管ftp服务的数据传输通道,在监测到文件数据传输完成后,向消息控制模块发送文件消息,消息控制模块,根据文件后缀类型,进行相应情况处理。
46.在步骤203中,文件后缀为adat,则在文件消息中提取queryid,在队列uncompletelistb中查找是否已经收到对应的bdat文件;若查找失败,则将queryid加入未完成队列uncompletelista;若查找成功,则从队列uncompletelistb和队列pendinglist中移除该queryid,并加入处理中队列dealinglist。
47.例如:收到*2*.adat,uncompletelistb为空{},则将2加入uncompletelista{2}。
48.在步骤204中,文件后缀为bdat,则在文件消息中提取queryid,在uncompletelista中查找是否已经收到对应的adat文件,若查找失败,则将queryid加入未完成队列uncompletelistb;若查找成功,则从队列uncompletelista和队列pendinglist中移除该queryid,并加入处理中队列dealinglist。
49.本发明实施例以ice storm为框架,对其消息上报模块进行改造,增加消息匹配和可靠性上报的机制,并集成到网管ftp服务系统,在网管ftp服务系统收到设备上传的性能文件后,进行消息匹配,完成匹配后发布文件消息,主动通知网管采集服务。
50.作为还存在一种的一种文件后缀格式dat,结合本发明实施例步骤201-步骤204,还存在一更为完整的方案实现,如图2所示,方法还包括:
51.在步骤205中,文件后缀为dat,则在文件消息中提取queryid,查找该queryid是否存在于待处理队列pendinglist,若存在,说明可以上报该消息,将该queryid从待处理队列pendinglist移除,并加入处理中队列dealinglist。
52.例如:收到*1*.dat,则将1从pendinglist中移除{1,2,3}

{2,3},并加入处理中队列dealinglist{1}。
53.消息上报线程顺序处理队列dealinglist中的数据,已上报的数据生成一个唯一的msgid,发送给控制器模块,接收方在成功收到消息后,应答相同msgid给控制器,控制器对msgid进行异或操作,判断是否发送成功(例如异或结果为0,表示发送成功),发送成功则从dealinglist队列中移除该消息。
54.dealinglist队列中的数据发送失败则进行重发,重发三次失败,则移除队列,记录日志。此时,记录日志通常是供人工干预。
55.在本发明实施例实现过程中,网管ftp服务的消息控制模块,有四个消息队列用来进行消息匹配,分别是待处理队列pendinglist、未完成队列uncompletelista、未完成队列uncompletelistb和处理中队列dealinglist,具体的:
56.待处理队列pendinglist用于存储采集服务注册的queryid;未完成队列uncompletelista和uncompletelistb用于存储未完成匹配的消息;处理中队列dealinglist用于存储完成匹配,发送出去的消息。例如:采集服务注册的queryid{1,2,3},会首先存储于待处理队列pendinglist{1,2,3}。
57.传输设备上传的性能文件有两种,其中,第一种是一个queryid对应一个性能文件,这种性能文件的文件名会包含queryid作为关键字,以dat作为后缀;文件命名规则【业务字符串】 【设备ip】 【queryid】 【.dat】/【.adat】/【.bdat】,例如pbperfm_0x0a636334_1.dat
58.第二种是一个queryid对应两个性能文件,两个性能文件的文件名均包含queryid作为关键字,基础性能文件以adat作为后缀,业务性能文件以bdat作为后缀。例如queryid为1的基础性能文件pbperfm_0x0a636334_1.adat;queryid为1的业务性能文件pbperfm_0x0a636334_1.bdat。
59.实施例2:
60.本发明实施例以ice storm服务为框架,对其消息上报模块进行二次开发,封装实现基于消息匹配的可靠消息上报模块组件。一种传输设备性能文件ftp上报的实现系统,其特征在于,网管ftp服务的消息控制模块,有四个消息队列用来进行消息匹配,分别是待处理队列pendinglist、未完成队列uncompletelista、未完成队列uncompletelistb和处理中队列dealinglist,待处理队列pendinglist用于存储采集服务注册的queryid;未完成队列uncompletelista和uncompletelistb用于存储未完成匹配的消息;处理中队列dealinglist用于存储完成匹配,发送出去的消息,具体的:
61.采集服务对每一个采集请求生成一个queryid,并将queryid注册到网管ftp服务的消息通知模块,网管ftp服务的数据传输通道,在监测到文件数据传输完成后,向消息控制模块发送文件消息,消息控制模块,根据文件后缀类型,进行相应情况处理;(例如:采集服务有三个采集请求,生成了queryid{1,2,3},将其发送给网管ftp服务消息通知模块进行注册。)
62.其中,文件后缀为adat,则在文件消息中提取queryid,在队列uncompletelistb中查找是否已经收到对应的bdat文件;若查找失败,则将queryid加入未完成队列uncompletelista;若查找成功,则从队列uncompletelistb和队列pendinglist中移除该queryid,并加入处理中队列dealinglist;例如:收到*2*.adat,uncompletelistb为空{},则将2加入uncompletelista{2}。
63.其中,文件后缀为bdat,则在文件消息中提取queryid,在uncompletelista中查找是否已经收到对应的adat文件,若查找失败,则将queryid加入未完成队列uncompletelistb;若查找成功,则从队列uncompletelista和队列pendinglist中移除该queryid,并加入处理中队列dealinglist。
64.文件后缀为dat,则在文件消息中提取queryid,查找该queryid是否存在于待处理队列pendinglist,若存在,说明可以上报该消息,将该queryid从待处理队列pendinglist移除,并加入处理中队列dealinglist。例如:收到*1*.dat,则将1从pendinglist中移除{1,2,3}

{2,3},并加入处理中队列dealinglist{1}。
65.传输设备上传的性能文件有两种,其中,第一种是一个queryid对应一个性能文件,这种性能文件的文件名会包含queryid作为关键字,以dat作为后缀;(文件命名规则【业务字符串】 【设备ip】 【queryid】 【.dat】/【.adat】/【.bdat】,例如pbperfm_0x0a636334_1.dat)第二种是一个queryid对应两个性能文件,两个性能文件的文件名均包含queryid作为关键字,基础性能文件以adat作为后缀,业务性能文件以bdat作为后缀。
66.实施例3:
67.封装实现基于消息匹配的可靠消息上报模块组件。
68.以ice storm服务为框架,对其消息上报模块进行二次开发,封装实现基于消息匹配的可靠消息上报模块组件。具体实施方式:
69.采集服务对每一个采集请求生成一个queryid,并将queryid注册到网管ftp服务的消息通知模块。例如:采集服务有三个采集请求,生成了queryid{1,2,3},将其发送给网管ftp服务消息通知模块进行注册。
70.网管ftp服务的消息控制模块,有四个消息队列用来进行消息匹配,分别是待处理队列pendinglist:用于存储采集服务注册的queryid、未完成队列uncompletelista和uncompletelistb:用于存储未完成匹配的消息、处理中队列dealinglist:用于存储完成匹配,发送出去的消息。
71.例如:采集服务注册的queryid{1,2,3},会首先存储于待处理队列pendinglist{1,2,3}。
72.传输设备上传的性能文件有两种,第一种是一个queryid对应一个文件:这种性能文件的文件名会包含queryid作为关键字,以dat作为后缀,文件命名规则【业务字符串】 【设备ip】 【queryid】 【.dat】/【.adat】/【.bdat】,例如pbperfm_0x0a636334_1.dat;第二种是一个queryid对应两个性能文件:两个性能文件的文件名均包含queryid作为关键字,基础性能文件以adat作为后缀,业务性能文件以bdat作为后缀,例如queryid为1的基础性能文件pbperfm_0x0a636334_1.adat;queryid为1的业务性能文件pbperfm_0x0a636334_1.bdat。
73.网管ftp服务的数据传输通道,在监测到文件数据传输完成后,向消息控制模块发送文件消息,消息控制模块,根据文件后缀类型,分以下三种情况处理:
74.文件后缀为dat,则在文件消息中提取queryid,查找该queryid是否存在于待处理队列pendinglist,如存在,说明可以上报该消息,将该queryid从待处理队列pendinglist移除,并加入处理中队列dealinglist。
75.例如:收到*1*.dat,则将1从pendinglist中移除{1,2,3}

{2,3},并加入处理中队列dealinglist{1}。
76.文件后缀为adat,则在文件消息中提取queryid,在uncompletelistb中查找是否已经收到对应的bdat文件,如查找失败,则将queryid加入未完成队列uncompletelista;如查找成功,则从uncompletelistb和pendinglist中移除该queryid,并加入处理中队列
dealinglist。
77.例如:收到*2*.adat,uncompletelistb为空{},则将2加入uncompletelista{2}。
78.文件后缀为bdat,则在文件消息中提取queryid,在uncompletelista中查找是否已经收到对应的adat文件,如查找失败,则将queryid加入未完成队列uncompletelistb;如查找成功,则从uncompletelista和pendinglist中移除该queryid,并加入处理中队列dealinglist。
79.例如:收到*2*.bdat,uncompletelista{2}查找2成功,则将其从uncompletelista中移除{2}

{},从pendinglist中移除{2,3}

{3},加入dealinglist{1}

{1,2}。
80.消息上报线程顺序处理dealinglist中的数据,已上报的数据生成一个唯一的msgid,发送给控制器模块,接收方在成功收到消息后,会应答相同msgid给控制器,控制器对msgid进行xor操作,判断是否发送成功(xor结果为0,表示发送成功),发送成功则从dealinglist队列中移除该消息。dealinglist中的数据发送失败则进行重发,重发三次失败,则移除队列,记录日志,需要人工干预。
81.将该组件集成于ftpserver之中。如图3所示。
82.实施例4:
83.随着传输网络规模越来越大,设备和网管之间需要传输的性能数据也越来越多,传统利用udp私有协议传输性能数据的方式存在过多限制,而利用普通ftp协议传输性能文件,又存在性能文件到达ftp服务器之后,无法及时有效通知网管以及ftp账号管理存在不满足网管规范等问题,所以网管急需一种满足效率和规范的传输设备性能文件ftp上报的实现方法。
84.本发明实施例umc网管无法直接管理传输设备所使用的ftp账户信息,不满足客户的安全性等需求;umc网管的ftp服务系统的账户操作接口,包括新增、修改以及删除,没有提供标准化接口,不满足网管推荐的接口管理规范。提供了一种解决方案:
85.封装部署网管ftp服务子系统。
86.以ice为框架,封装部署一个网管ftp服务,提供如下满足网管规范的标准化接口(如图4所示):
87.增加网管ftp账号信息;
88.删除网管ftp账号信息;
89.修改网管ftp账号信息;
90.查看网管ftp账号信息;
91.配置传输设备的ftp账号信息;
92.发布ftp主题文件信息消息;
93.网管ftp账户密码需要满足网管安全规范,参见如下数字字典:
94.95.[0096][0097]
暂将网管ftp服务命名为ftpserver。
[0098]
封装实现文件传输协议服务组件。
[0099]
选取一个开源的可以提供ftp基础文件传输协议服务的第三方组件,包括但是不限于pyftplib或者filezilla等,对其账户管理和文件协议传输功能进行二次开发:
[0100]
扩展其添加ftp服务用户的接口;
[0101]
扩展其删除ftp服务用户的接口;
[0102]
扩展其修改ftp服务用户的接口;
[0103]
扩展其查询ftp服务用户的接口;
[0104]
扩展其文件传输控制层接口(用于在完成文件传输后,调用网管消息发布组件);
[0105]
二次开发后的组件,将其集成于ftpserver之中。如图4所示。
[0106]
封装实现设备控制模块组件。
[0107]
开发实现配置传输设备ftp账号信息的控制模块,可以对设备所用的ftp账户信息(包括用户名、密码、ip以及端口)进行读取、修改和重置操作。该组件集成于ftpserver之中。如图5和图6所示。
[0108]
在步骤301中,通过网管ftp服务子系统完成高效性能采集。
[0109]
在步骤302中,通过网管界面配置满足安全规范的网管ftp服务账号及其账户安全策略。
[0110]
在步骤303中,通过网管界面配置传输设备所使用的网管ftp账号信息。
[0111]
在步骤304中,通过网管界面进行传输设备的性能采集。
[0112]
在步骤305中,网管采集服务向传输设备异步发送udp协议采集命令。
[0113]
在步骤306中,传输设备收到网管的性能采集命令之后,应答确认帧,然后使用配
置的ftp账户,异步上传性能ftp文件到网管ftp服务器。
[0114]
在步骤307中,网管ftp服务子系统进行支持断点续传的文件协议传输,传输完成之后,通过消息模块组件发送基于文件主题的文件信息消息。
[0115]
在步骤308中,网管采集服务订阅并收到上报的性能文件消息之后,主动通过网管ftp服务取得性能文件,即时进行解析,并做后续处理。
[0116]
实施例5:
[0117]
如图7所示,是本发明实施例的传输设备性能文件ftp上报的实现装置的架构示意图。本实施例的传输设备性能文件ftp上报的实现装置包括一个或多个处理器21以及存储器22。其中,图7中以一个处理器21为例。
[0118]
处理器21和存储器22可以通过总线或者其他方式连接,图7中以通过总线连接为例。
[0119]
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的传输设备性能文件ftp上报的实现方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行传输设备性能文件ftp上报的实现方法。
[0120]
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0121]
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的传输设备性能文件ftp上报的实现方法,例如,执行以上描述的图1和图2所示的各个步骤。
[0122]
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0123]
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
[0124]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献