CN103384273B - 面向移动生产管理终端页面的订阅会话状态控制方法 - Google Patents

面向移动生产管理终端页面的订阅会话状态控制方法 Download PDF

Info

Publication number
CN103384273B
CN103384273B CN201310284599.1A CN201310284599A CN103384273B CN 103384273 B CN103384273 B CN 103384273B CN 201310284599 A CN201310284599 A CN 201310284599A CN 103384273 B CN103384273 B CN 103384273B
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.)
Active
Application number
CN201310284599.1A
Other languages
English (en)
Other versions
CN103384273A (zh
Inventor
于海斌
史海波
张晓煜
黄建中
常大亮
彭慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Automation of CAS
Original Assignee
Shenyang Institute of Automation of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Automation of CAS filed Critical Shenyang Institute of Automation of CAS
Priority to CN201310284599.1A priority Critical patent/CN103384273B/zh
Publication of CN103384273A publication Critical patent/CN103384273A/zh
Application granted granted Critical
Publication of CN103384273B publication Critical patent/CN103384273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及面向移动生产管理终端页面的订阅会话状态控制方法,包括以下步骤:多个客户端的控制器模块向服务端发送心跳访问;有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;客户端根据订阅接口向服务端提交订阅请求后,服务端在订阅状态对象池中建立所述客户端的订阅状态对象;服务端根据确认订阅接口收到的确认订阅申请修正订阅状态对象池中订阅状态对象;并将确认后的对象订阅状态改为正在订阅的状态;服务端对订阅状态对象池中订阅状态为正在订阅的订阅状态对象执行订阅发布流程。本发明通过移动终端在线信号判断客户端订阅会话的有效性,及时移除失效会话,从而防止产生垃圾内存,保持服务端提供的服务效率。

Description

面向移动生产管理终端页面的订阅会话状态控制方法
技术领域
本发明涉及计算机软件分布式应用服务访问领域,特别涉及实现对软件客户端向服务端发送在线信号并由此获得服务端服务信息的控制方法。
背景技术
现代生产管理软件系统大都采用面向服务的架构(SOA—serviceorientedarchitecture),分布式应用中服务端应用如何有效管理客户端的订阅会话,尤其是生产现场移动终端部署的客户端软件,由于生产过程中,高强度电磁设备聚集,移动终端的现场环境干扰、电池消耗等原因很容易造成客户端软件向服务端软件发起的订阅会话服务非正常中断,由于服务端向客户端发布订阅信息通常采用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 (8)

1.面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于包括以下步骤:
多个客户端的控制器模块向服务端发送心跳访问;服务端通过心跳接口接收心跳,并进行心跳处理建立连接;
有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;客户端根据订阅接口向服务端提交订阅请求后,服务端在订阅状态对象池中建立所述客户端的订阅状态对象;服务端根据确认订阅接口收到的确认订阅申请修正订阅状态对象池中订阅状态对象;并将确认后的对象订阅状态改为正在订阅的状态;服务端对订阅状态对象池中订阅状态为正在订阅的订阅状态对象执行订阅发布流程;
心跳连接无效,服务端删除该客户端的所有订阅申请;
客户端控制器模块定期访问服务端确认订阅接口;当服务端接收到某客户端控制器模块的确认订阅申请时,及时去除未经确认的订阅信息;
当应用模块退出或取消订阅申请时,则删除该应用模块的订阅申请。
2.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述服务端通过心跳接口接收心跳,并进行心跳处理建立连接包括以下步骤:
服务端定时访问用于管理客户端连接状态对象的心跳池;当服务端的心跳接口收到某客户端的心跳访问时,如果心跳池无此客户端的连接状态对象则建立该客户端的连接状态对象并设为无效连接;只有当心跳池中有此连接状态对象时才设为有效连接。
3.根据权利要求2所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述连接状态对象包括客户端Guid和客户端连接状态。
4.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述订阅申请包括应用模块标识ID和订阅申请ID。
5.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述订阅状态对象包括所属客户端Guid、订阅Guid和订阅状态。
6.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述有效连接的客户端各应用模块向服务端提交订阅申请,控制器模块向服务端提交确认订阅申请;包括以下步骤:
客户端初始化控制器模块的公共订阅对象列表;当应用模块提出订阅申请时,客户端将应用模块ID和订阅申请ID放入控制器模块的公共订阅对象列表中,并访问服务器的确认订阅接口;当应用模块退出或取消订阅申请时,则删除公共订阅对象列表中的该应用模块的订阅申请。
7.根据权利要求6所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述公共订阅对象列表是含有应用模块标识ID和订阅申请ID的集合。
8.根据权利要求1所述的面向移动生产管理终端页面的订阅会话状态控制方法,其特征在于:所述服务端根据通过确认订阅接口收到的确认订阅申请修正订阅状态对象包括以下步骤:
当服务端的确认订阅接口收到客户端控制器模块的确认订阅申请时,将确认订阅申请与订阅申请ID列表进行对比,在订阅状态对象池中删除该应用模块未确认的订阅状态对象;如果确认订阅申请的订阅状态为可订阅,则将订阅状态修改为正在订阅状态。
CN201310284599.1A 2013-07-08 2013-07-08 面向移动生产管理终端页面的订阅会话状态控制方法 Active CN103384273B (zh)

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 CN103384273A (zh) 2013-11-06
CN103384273B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 阿里云计算有限公司 设备管理系统以及方法

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CN103384273A (zh) 2013-11-06

Similar Documents

Publication Publication Date Title
CN102819793B (zh) 一种基于云计算的自来水智能管理系统及方法
CN109081033A (zh) 智能货柜控制方法及系统
CN110377410A (zh) 任务调度方法、系统、电子设备及计算机可读存储介质
CN1784656A (zh) 监控数据处理系统中的操作数据
CN113159749B (zh) 智慧家庭的金融管理方法和服务平台
CN101329706A (zh) 一种集约型网络游戏平台系统及其运行多个游戏应用程序的方法
CN109785042A (zh) 分布式部署的异常处理方法、服务器、存储介质及装置
CN103544060B (zh) 一种基于webservice的服务调度系统及方法
CN103384273B (zh) 面向移动生产管理终端页面的订阅会话状态控制方法
US9553929B2 (en) Episodic coordination model for distributed applications
CN107067325A (zh) 股票行情数据的过滤方法、过滤装置和推送系统
CN110166624A (zh) 消息免打扰方法、装置、设备和计算机可读存储介质
CN104166882A (zh) 基于p2p技术的金融资产交易方法
CN109246858A (zh) 数据流量共享方法、系统及存储介质
CN103024033A (zh) 一种具有智能管家功能的云技术应用智能家居
CN109246193A (zh) 一种智慧家庭的外联生活服务供应系统和方法
CN106056436A (zh) 一种数据回退方法,装置及系统
CN105959385A (zh) 一种信息通信方法、装置及系统
CN103747413A (zh) 远程装置的管控系统及管控方法
CN105160540A (zh) 一种基于线上到线下的服务推广系统和方法
CN102799609A (zh) 一种基于数据监控的数据获取方法
CN100452704C (zh) 一种发布博客文章的方法和系统
CN103326935A (zh) 一种基于微博平台的智能轮候的方法及系统
CN102902574A (zh) 一种多信息流节点的协同处理方法及装置
CN103782277B (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