CN103384273A - 面向移动生产管理终端页面的订阅会话状态控制方法 - Google Patents
面向移动生产管理终端页面的订阅会话状态控制方法 Download PDFInfo
- Publication number
- CN103384273A CN103384273A CN2013102845991A CN201310284599A CN103384273A CN 103384273 A CN103384273 A CN 103384273A CN 2013102845991 A CN2013102845991 A CN 2013102845991A CN 201310284599 A CN201310284599 A CN 201310284599A CN 103384273 A CN103384273 A CN 103384273A
- Authority
- CN
- China
- Prior art keywords
- subscription
- application
- client
- service end
- status
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及面向移动生产管理终端页面的订阅会话状态控制方法,包括以下步骤:多个客户端的控制器模块向服务端发送心跳访问;有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;客户端根据订阅接口向服务端提交订阅请求后,服务端在订阅状态对象池中建立所述客户端的订阅状态对象;服务端根据确认订阅接口收到的确认订阅申请修正订阅状态对象池中订阅状态对象;并将确认后的对象订阅状态改为正在订阅的状态;服务端对订阅状态对象池中订阅状态为正在订阅的订阅状态对象执行订阅发布流程。本发明通过移动终端在线信号判断客户端订阅会话的有效性,及时移除失效会话,从而防止产生垃圾内存,保持服务端提供的服务效率。
Description
技术领域
本发明涉及计算机软件分布式应用服务访问领域,特别涉及实现对软件客户端向服务端发送在线信号并由此获得服务端服务信息的控制方法。
背景技术
现代生产管理软件系统大都采用面向服务的架构(SOA—service orientedarchitecture),分布式应用中服务端应用如何有效管理客户端的订阅会话,尤其是生产现场移动终端部署的客户端软件,由于生产过程中,高强度电磁设备聚集,移动终端的现场环境干扰、电池消耗等原因很容易造成客户端软件向服务端软件发起的订阅会话服务非正常中断,由于服务端向客户端发布订阅信息通常采用One-Way方式,因此服务端并不能有效判断非正常中断的会话标识,由于服务端应用程序需要长时间运行,这样就会造成客户端的会话标识长时间驻留在订阅客户端列表中,形成不能及时回收的垃圾内存,久而久知就会对系统运行效率和稳定性形成影响。本发明方法通过结合“心跳”技术研究出一种面向移动生产管理终端订阅会话状态的控制方法。
发明内容
本发明提出了一种能够实现服务端对移动生产管理终端客户端应用模块提供可控的订阅服务的方法。
本发明采用的技术方案如下:面向移动生产管理终端页面的订阅会话状态控制方法,包括以下步骤:
多个客户端的控制器模块向服务端发送心跳访问;服务端通过心跳接口接收心跳,并进行心跳处理建立连接;
有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;客户端根据订阅接口向服务端提交订阅请求后,服务端在订阅状态对象池中建立所述客户端的订阅状态对象;服务端根据确认订阅接口收到的确认订阅申请修正订阅状态对象池中订阅状态对象;并将确认后的对象订阅状态改为正在订阅的状态;服务端对订阅状态对象池中订阅状态为正在订阅的订阅状态对象执行订阅发布流程。
所述服务端通过心跳接口接收心跳,并进行心跳处理建立连接包括以下步骤:
服务端定时访问用于管理客户端连接状态对象的心跳池;当服务端的心跳接口收到某客户端的心跳访问时,如果心跳池无此客户端的连接状态对象则建立该客户端的连接状态对象并设为无效连接;只有当心跳池中有此连接状态对象时才设为有效连接。
所述连接状态对象包括客户端Guid和客户端连接状态。
所述订阅申请包括应用模块标识ID和订阅申请ID。
所述订阅状态对象包括所属客户端Guid、订阅Guid和订阅状态。
所述有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;包括以下步骤:
客户端初始化控制器模块的公共订阅对象列表;当应用模块提出订阅申请时,客户端将应用模块ID和订阅申请ID放入控制器模块的公共订阅对象列表中,并访问服务器的确认订阅接口;当应用模块退出或取消订阅申请时,则删除公共订阅对象列表中的该应用模块的订阅申请。
所述公共订阅对象列表是含有应用模块标识ID和订阅申请ID的集合。
所述服务端根据通过确认订阅接口收到的确认订阅申请修正订阅状态对象包括以下步骤:
当服务端的确认订阅接口收到客户端控制器模块的确认订阅申请时,将确认订阅申请与订阅申请ID列表进行对比,在订阅状态对象池中删除该应用模块未确认的订阅状态对象;如果确认订阅申请的订阅状态为可订阅,则将订阅状态修改为正在订阅状态。
所述确认订阅申请为公共订阅对象列表。
本发明具有以下有益效果及优点:
1.本发明实现了服务端对移动生产管理终端客户端应用模块提供可控的订阅服务方法的功能;服务端控制不同的移动终端的订阅会话管理;通过移动终端在线信号判断客户端订阅会话的有效性,及时移除失效会话,从而防止产生垃圾内存,保持服务端提供的服务效率。
2.本发明有效控制了客户端软件的订阅服务申请;当移动生产管理终端因不可控原因造成与服务器链接失败时,及时去除无效链接,清理内存,保障了服务端应用的长效运行的可靠与稳定。
3.本发明结合心跳可以及时让服务器清理掉失去有效链接的客户端订阅对象;本发明结合确认订阅可以及时让服务器清理掉失去有效链接的客户端应用模块的订阅对象。
4.根据本发明的方法,能有效提高服务端对移动生产管理终端订阅会话服务的可靠性和稳定性。
附图说明
图1为本发明的移动客户端与服务端的模块结构示意图;
图2客户端的提交订阅流程图;
图3服务端的心跳处理流程图;
图4服务端的确认订阅流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明。
本发明公开了一种分布式应用中,订阅服务器及时清除失效的客户端订阅会话请求的方法。比如PDA终端通过此方法,获取MES生产调度指令等应用。具体包括每个独立客户端中多进程向订阅服务器发送订阅请求,服务器初始化并保留每个进程的订阅申请,等待客户端确认订阅申请,当收到确认订阅申请后修改相对应的订阅对象状态,并执行订阅信息发布程序;客户端控制器模块(通常一个客户端有一个控制器模块)负责同服务器进行心跳连接,并将客户端中各进程的订阅申请进行维护,当某进程关闭时,移除该进程的所有订阅申请,并通过订阅确认通知服务器,进而服务器端据此及时清除对应的订阅对象,提高订阅信息发布的执行效率,减少了垃圾对象对服务端系统资源的占用,提高了系统运行的稳定性。
本发明主要包括以下步骤:客户端控制器模块同服务端建立心跳连接。服务端接收客户端各应用模块进程的订阅申请。服务端接收客户端控制器的订阅申请确认。心跳连接无效,服务端删除该客户端的所有订阅申请。
客户端控制器模块接收各应用模块进程的订阅申请ID和应用模块标识ID,并存入客户端模块的公共订阅列表中。当应用模块取消订阅时及时通知客户端控制器模块删除公共订阅列表中的相应记录。当客户端控制器模块获取某应用模块进程关闭时及时删除公共订阅列表中的该模块订阅记录。客户端控制器模块定期访问服务端订阅申请确认接口,并同时将客户端公共订阅列表发送给服务端。
服务端不能接收到某客户端控制器模块的心跳时,服务端去除订阅状态对象池中的该客户端所属的所有订阅状态对象和订阅申请ID。当服务端接收到某客户端控制器模块的订阅确认信息时,及时去除未经确认的订阅信息。
本发明中服务端模块除了订阅接口,还设置了心跳接口、以及心跳池、确认订阅接口、订阅状态对象池和订阅申请ID列表,其中,心跳接口用于判断客户端控制器模块是否为有效链接,进而判断该控制器下的应用模块的订阅申请是否有效;确认订阅接口用于确认控制器下的每个应用模块的每个订阅申请是否有效;订阅状态对象池用于管理客户端的订阅申请是否有效;订阅申请ID列表用于记录客户端的订阅申请ID;确认订阅接口接收信息主要包括控制器模块ID(本实施例为客户端Guid)、订阅申请ID(本实施例为订阅Guid)。
服务端应用中,提供的心跳接口和确认订阅接口描述分别如表1和表2所示:
表1
表2
如图1所示,本发明中的客户端为移动客户端,分为控制器模块和多个应用模块。应用模块用于实现具体的业务功能,比如数据的跟踪采集、生产任务报工等;控制器模块用于控制应用模块的运行,实现管理各应用模块功能。控制器模块ID(即客户端Guid)代表唯一客户端,每个控制器模块可控制该客户端的多个应用模块。控制器模块设有应用模块公共订阅列表,用于记录应用模块的订阅申请,包括应用模块标识ID、订阅申请ID。
服务端应用中,提供心跳池(即客户端连接状态对象池)和订阅状态对象池。心跳池用于记录客户端的连接状态对象,包括客户端Guid和客户端连接状态;订阅状态对象池用于客户端的记录订阅状态对象,包括所属客户端Guid、订阅Guid、订阅状态。心跳池和订阅状态对象描述分别如表3和表4所示:
表3
表4
移动客户端控制器模块中,各应用模块提交的订阅对象包括子模块ID(即应用模块标识ID)、订阅Guid;具体如表5所示:
表5
图2示出了客户端结合心跳提交各子模块(即各应用模块)订阅的流程图。客户端控制器模块定时访问服务端心跳接口建立心跳连接。
各应用模块在向服务端提出订阅申请同时将该申请的订阅申请ID(即订阅GUID)和应用模块标识ID放入控制器模块公共订阅对象列表中,当应用模块取消订阅或关闭时,控制器模块删除公共订阅对象列表中相应的记录,即删除对应应用模块的订阅GUID。
控制器模块定时访问服务端确认订阅接口,将公共订阅对象列表作为确认订阅对象消息发送给服务端。
图3示出了服务端心跳接口处理流程。
服务端建立心跳池管理客户端连接状态对象(客户端Guid和客户端连接状态),当心跳接入时,如果心跳池无此连接状态对象就初始化该连接状态对象,客户端连接状态设为无效,只有当心跳池中有此连接状态对象时,客户端连接状态改为有效连接。
计时器进程访问心跳池频率要大于两次心跳周期,判断客户端连接状态,如果是无效连接说明客户端已断,则心跳池中删除该连接状态对象,否则将订阅状态对象池中的订阅状态改为可订阅,客户连接状态改为无效连接,这样当心跳周期内再次心跳时,该客户端的连接状态又改为有效连接。如果不改为无效连接,无论是否还有心跳,状态总为有效就失去心跳判断的意义。
图4示出了服务端订阅及确认订阅接口处理流程。
客户端的应用模块访问服务端订阅接口时,服务端在订阅状态对象池中建立订阅状态对象,同时自动添加订阅申请ID列表。确认订阅接口收到客户端控制器模块的确认订阅消息后,删除该客户端不能确认的订阅状态对象,判断订阅状态是否为可订阅,如果是可订阅状态,将订阅状态改为正在订阅。订阅发布流程判断订阅状态对象为正在订阅状态时执行订阅发布流程。
通过实践表明,使用本发明方法能有效提高服务端对移动生产管理终端订阅会话服务的可靠性和稳定性。
Claims (9)
1.面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于包括以下步骤:
多个客户端的控制器模块向服务端发送心跳访问;服务端通过心跳接口接收心跳,并进行心跳处理建立连接;
有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;客户端根据订阅接口向服务端提交订阅请求后,服务端在订阅状态对象池中建立所述客户端的订阅状态对象;服务端根据确认订阅接口收到的确认订阅申请修正订阅状态对象池中订阅状态对象;并将确认后的对象订阅状态改为正在订阅的状态;服务端对订阅状态对象池中订阅状态为正在订阅的订阅状态对象执行订阅发布流程。
2.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述服务端通过心跳接口接收心跳,并进行心跳处理建立连接包括以下步骤:
服务端定时访问用于管理客户端连接状态对象的心跳池;当服务端的心跳接口收到某客户端的心跳访问时,如果心跳池无此客户端的连接状态对象则建立该客户端的连接状态对象并设为无效连接;只有当心跳池中有此连接状态对象时才设为有效连接。
3.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述连接状态对象包括客户端Guid和客户端连接状态。
4.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述订阅申请包括应用模块标识ID和订阅申请ID。
5.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述订阅状态对象包括所属客户端Guid、订阅Guid和订阅状态。
6.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;包括以下步骤:
客户端初始化控制器模块的公共订阅对象列表;当应用模块提出订阅申请时,客户端将应用模块ID和订阅申请ID放入控制器模块的公共订阅对象列表中,并访问服务器的确认订阅接口;当应用模块退出或取消订阅申请时,则删除公共订阅对象列表中的该应用模块的订阅申请。
7.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述公共订阅对象列表是含有应用模块标识ID和订阅申请ID的集合。
8.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述服务端根据通过确认订阅接口收到的确认订阅申请修正订阅状态对象包括以下步骤:
当服务端的确认订阅接口收到客户端控制器模块的确认订阅申请时,将确认订阅申请与订阅申请ID列表进行对比,在订阅状态对象池中删除该应用模块未确认的订阅状态对象;如果确认订阅申请的订阅状态为可订阅,则将订阅状态修改为正在订阅状态。
9.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述确认订阅申请为公共订阅对象列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284599.1A CN103384273B (zh) | 2013-07-08 | 2013-07-08 | 面向移动生产管理终端页面的订阅会话状态控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284599.1A CN103384273B (zh) | 2013-07-08 | 2013-07-08 | 面向移动生产管理终端页面的订阅会话状态控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103384273A true CN103384273A (zh) | 2013-11-06 |
CN103384273B CN103384273B (zh) | 2016-05-18 |
Family
ID=49491964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310284599.1A Active CN103384273B (zh) | 2013-07-08 | 2013-07-08 | 面向移动生产管理终端页面的订阅会话状态控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103384273B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150458A (zh) * | 2022-05-20 | 2022-10-04 | 阿里云计算有限公司 | 设备管理系统以及方法 |
WO2023015545A1 (zh) * | 2021-08-13 | 2023-02-16 | 宁波伟立机器人科技股份有限公司 | 一种重载桁架机械手与mes系统的交互方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700694A (zh) * | 2004-05-20 | 2005-11-23 | 华为技术有限公司 | 获取会话初始协议网络节点状态的方法及系统 |
CN101115023A (zh) * | 2006-07-25 | 2008-01-30 | 华为技术有限公司 | Cbcs业务的订阅、修改、撤销订阅权限和退订的方法 |
EP2482498A1 (en) * | 2009-10-29 | 2012-08-01 | ZTE Corporation | Method and system for subscription service in ip multimedia subsystem network |
-
2013
- 2013-07-08 CN CN201310284599.1A patent/CN103384273B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700694A (zh) * | 2004-05-20 | 2005-11-23 | 华为技术有限公司 | 获取会话初始协议网络节点状态的方法及系统 |
CN101115023A (zh) * | 2006-07-25 | 2008-01-30 | 华为技术有限公司 | Cbcs业务的订阅、修改、撤销订阅权限和退订的方法 |
EP2482498A1 (en) * | 2009-10-29 | 2012-08-01 | ZTE Corporation | Method and system for subscription service in ip multimedia subsystem network |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023015545A1 (zh) * | 2021-08-13 | 2023-02-16 | 宁波伟立机器人科技股份有限公司 | 一种重载桁架机械手与mes系统的交互方法 |
CN115150458A (zh) * | 2022-05-20 | 2022-10-04 | 阿里云计算有限公司 | 设备管理系统以及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103384273B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618693B (zh) | 一种基于云计算的监控视频在线处理任务管理方法及系统 | |
CN103312549B (zh) | 一种事务管理方法及装置和系统 | |
CN103092682A (zh) | 异步网络应用程序处理方法 | |
CN102523103B (zh) | 一种工业监控网络数据采集结点 | |
CN102591668B (zh) | 对弹性计算云系统升级的装置、方法及系统 | |
CN112788074A (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN106776829A (zh) | 一种数据导出系统及其工作方法 | |
CN103036961A (zh) | 一种日志分布式收集及存储方法 | |
KR101416280B1 (ko) | 이벤트 처리 시스템 및 방법 | |
CN101917394B (zh) | 在手机设备上进行数据共享的中间件系统及工作方法 | |
CN1784656A (zh) | 监控数据处理系统中的操作数据 | |
CN112465615B (zh) | 账单数据的处理方法、装置及系统 | |
CN112132299A (zh) | 一种运维工单管理系统及方法 | |
US20040192365A1 (en) | System for integrated mobile devices | |
CN103685535A (zh) | 一种大规模分布异构数据处理的云数据库系统接口设计 | |
CN104618466A (zh) | 基于消息传递的负载均衡和过负荷控制系统及其控制方法 | |
CN111221662A (zh) | 任务调度方法、系统及装置 | |
CN102799609A (zh) | 一种基于数据监控的数据获取方法 | |
CN103024033A (zh) | 一种具有智能管家功能的云技术应用智能家居 | |
CN107071067B (zh) | 一种基于Cgo的高性能证券行情接入系统和方法 | |
CN115357395A (zh) | 故障设备任务转移方法及系统、电子设备和存储介质 | |
CN109982355A (zh) | 保存和恢复网络通路的方法及其装置、终端和存储介质 | |
CN103384273A (zh) | 面向移动生产管理终端页面的订阅会话状态控制方法 | |
CN101383814A (zh) | 一种实现基于连接池的数据访问的设备和方法 | |
CN103326935A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |