CN109391656B - 一种设备管理会话的恢复方法、装置、客户端及服务器 - Google Patents
一种设备管理会话的恢复方法、装置、客户端及服务器 Download PDFInfo
- Publication number
- CN109391656B CN109391656B CN201710676037.XA CN201710676037A CN109391656B CN 109391656 B CN109391656 B CN 109391656B CN 201710676037 A CN201710676037 A CN 201710676037A CN 109391656 B CN109391656 B CN 109391656B
- Authority
- CN
- China
- Prior art keywords
- session
- data packet
- recovery
- execution result
- client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000011084 recovery Methods 0.000 claims abstract description 236
- 230000008569 process Effects 0.000 claims abstract description 24
- 239000003999 initiator Substances 0.000 claims description 41
- 230000000977 initiatory effect Effects 0.000 claims description 20
- 238000012790 confirmation Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种设备管理会话的恢复方法、装置、客户端及服务器,涉及开放移动联盟设备管理技术领域,所述方法包括:生成用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果;保存所述会话恢复数据包,并上报至服务器;接收服务器发送的第一会话的恢复流程的管理命令数据包。本发明的方案,实现了对设备管理会话中,任何情况下的中断的恢复,减少了重复会话的流量消耗,减少了服务器等待时动态资源的消耗,加快了设备管理会话的整个管理过程,减少了服务器的管理压力。
Description
技术领域
本发明属于开放移动联盟(Open Mobile Alliance,OMA)设备管理(DeviceManagement,DM)技术领域,尤其是涉及一种设备管理会话的恢复方法、装置、客户端及服务器。
背景技术
在实际的DM会话交互过程中,经常会出现由于各种原因导致的过程中断,如设备重启,网络异常等,中断后,客户端或服务器会通过重试连接进行恢复所述会话过程,但无论是服务器还是客户端,为了避免长时间等待某一个会话流程而消耗资源,一般都会设置会话等待时间,一旦超过该时间则结束整个过程。特别是服务器侧,由于管理的设备数一般很庞大,所以不可能在一次管理任务中设置过长的等待时间,一旦超时后,即使客户端进行重试连接,服务器也无法继续进行未完成的管理任务。从而只能重新发起一次新的管理任务,这样就会导致很多不必要的或者重复的交互过程。例如:服务器需要采集客户端当前安装了哪些应用,当终端安装的软件很多时,客户端需要将数据分成多包传输给服务器,在交互过程中一旦出现较长时间的中断,则服务器只能重新发起采集任务,而客户端也只能从头上报安装的应用数据,之前已经上报的数据也只能重复上报,导致了流量浪费。
发明内容
本发明的目的在于提供一种设备管理会话的恢复方法、装置、客户端及服务器,从而避免在所述设备管理会话中断后,需要重新发起所述设备管理会话,导致很多不必要的或者重复的交互过程。
为了实现上述目的,本发明实施例提供了一种设备管理会话的恢复方法,应用于客户端侧,所述方法包括:
生成用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果;
保存所述会话恢复数据包,并上报至服务器;
接收服务器发送的第一会话的恢复流程的管理命令数据包。
其中,在生成用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收服务器在设备管理的第一会话中发送的管理命令数据包;
执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果;
发送所述执行结果数据包至服务器;
当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。
其中,在生成用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID;
其中,所述生成用于恢复设备管理的第一会话的会话恢复数据包的步骤包括:
根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
其中,所述判断能否恢复所述第一会话的步骤包括:
若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
其中,所述生成用于设备管理的第一会话的会话恢复数据包的步骤包括:
判断设备管理的第一会话是否中断;
当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端;
当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包;
发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
其中,所述判断设备管理的第一会话是否中断的步骤包括:
上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
本发明实施例还提供一种设备管理会话的恢复方法,应用于服务器侧,所述方法包括:
接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果;
根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
其中,在接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果;
保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令;
判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
其中,所述接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包的步骤包括:
接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
其中,所述根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包的步骤包括:
根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令;
根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包;
在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
其中,在所述接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包的步骤之前,所述方法还包括:
判断设备管理的第一会话是否中断;
当确定所述第一会话中断时,判断所述第一会话的发起方是否为服务器;
当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令;
发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息;
发送所述通知消息至客户端。
其中,所述判断设备管理的第一会话是否中断的步骤包括:
发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
其中,所述根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包的步骤包括:
根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包;
在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
本发明实施例还提供一种设备管理会话的恢复装置,应用于客户端侧,所述装置包括:
生成模块,用于生成用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果;
存储模块,用于保存所述会话恢复数据包,并上报至服务器;
第一接收模块,用于接收服务器发送的第一会话的恢复流程的管理命令数据包。
其中,所述装置还包括:
第二接收模块,用于接收服务器在设备管理的第一会话中发送的管理命令数据包;
执行模块,用于执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果;
发送模块,用于发送所述执行结果数据包至服务器;
删除模块,用于当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。
其中,所述装置还包括:
第三接收模块,用于接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID;
其中,所述生成模块包括:
第一判断子模块,用于根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
其中,所述第一判断子模块包括:
判断单元,用于若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
其中,所述生成模块包括:
第二判断子模块,用于判断设备管理的第一会话是否中断;
第三判断子模块,用于当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端;
获取子模块,用于当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包;
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
其中,所述第二判断子模块包括:
确定单元,用于上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
本发明实施例还提供一种客户端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现如上所述的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述方法中的步骤。
本发明实施例还提供一种设备管理会话的恢复装置,应用于服务器侧,其中,所述装置包括:
第一接收模块,用于接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果;
第一发送模块,用于根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
其中,所述装置还包括:
第二接收模块,用于接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果。
存储模块,用于保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令;
第一判断模块,用于判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
其中,所述第一接收模块包括:
接收子模块,用于接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
其中,所述第一发送模块包括:
第一判断子模块:用于根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令;
第一获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包;
第一发送子模块,用于在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
其中,所述装置还包括:
第二判断模块,用于判断设备管理的第一会话是否中断;
第一获取模块,用于当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令;
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息;
第二发送模块,用于发送所述通知消息至客户端。
其中,所述第二判断模块包括:
确定子模块,用于发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
其中,所述第一发送模块包括:
第二获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包;
第二发送子模块,用于在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
本发明实施例还提供一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现如上所述的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述方法中的步骤。
本发明的上述技术方案至少具有如下有益效果:
本发明实施例通过在设备管理会话的过程中,对发送和接收的数据包进行保存,当所述设备管理会话发生中断时,根据保存的数据包,通过建立新的会话流程,对所述设备管理会话进行恢复,从而避免对所述设备管理会话中已经执行过的管理命令重新执行,造成流量消耗;本发明实施例可对所述设备管理会话的任何中断情况进行恢复,且不需要进行重试,减少了服务器的等待时的动态资源的消耗;此外,本发明实施例的恢复机制,能够更快的完成整个会话过程,减少服务器的管理压力。
附图说明
图1是本发明实施例的设备管理会话的恢复方法的基本示意图;
图2是本发明实施例的设备管理会话的恢复方法的又一基本示意图;
图3是本发明实施例的设备管理会话的恢复装置的组成示意图;
图4是本发明实施例的设备管理会话的恢复装置的又一组成示意图;
图5是本发明实施例客户端发起的设备管理会话的恢复流程示意图;
图6是本发明实施例服务器发起的设备管理会话的恢复流程示意图;
图7是本发明实施例在设备管理会话中数据保存的流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例针对现有技术中通过重新发起设备管理会话来解决会话中断,导致资源浪费的问题,提供了一种设备管理的恢复方法、装置、客户端及服务器,利用保存的会话ID和当前保存的执行结果数据包,将会话从中断位置恢复,实现了更快完成会话过程,减少了服务器管理压力,同时也减少了流量的消耗。
如图1所示,本发明的一实施例提供了一种设备管理的恢复方法,应用于客户端侧,所述方法包括:
步骤15,生成用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果。
步骤16,保存所述会话恢复数据包,并上报至服务器。
步骤17,接收服务器发送的第一会话的恢复流程的管理命令数据包。
具体的,所述会话恢复数据包包括:按照OMA DM协议的相关规定生成的标准内容,以及,如下表示本次设备管理会话是恢复流程的内容:
其中,Alert 1226是DM协议中定义的普通告警(Generic Alert)类型,通过增加类型(Type)org.openmobilealliance.dm.session.unfinished来标志本次DM会话是进行的恢复任务,同时,在该告警(Alert)的数据(Data)中,通过最后会话ID(last session id),指明该恢复任务是针对哪一次DM会话流程。
同时,该数据包中还包含所恢复的会话中断时未发送成功的数据(unfinishedsession data)。
本发明实施例中,客户端在生成用于恢复设备管理的第一会话的会话恢复数据包之前,所述设备管理会话恢复方法还包括:
步骤11,接收服务器在设备管理的第一会话中发送的管理命令数据包。
步骤12,执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果。
步骤13,发送所述执行结果数据包至服务器。
步骤14,当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。
具体的,步骤11-步骤14为客户端在设备管理会话过程中,接收到服务器下发的管理命令数据包后的执行过程,客户端在接收到管理命令数据包后,首先保存所述管理命令数据包,从而避免在执行失败后,再次执行时,无法确认需要执行的管理命令;然后执行所述管理命令数据包,获取执行命令状态和执行结果并保存,当所述执行命令状态显示执行成功时,删除所述管理命令数据包,从而释放所述客户端的内存;将所述执行命令状态和执行结果,以及,所述设备管理会话的会话ID,形成执行结果数据包,发送至服务器;最后当接收到服务器下发的确认数据包时,则删除所述执行结果数据包,从而释放客户端的内存。对所述执行结果数据包进行保存,是为了在所述设备管理会话中断后,能够根据保存的执行结果数据包对所述设备管理会话进行恢复,从而避免重新进行会话造成流量的消耗,以及服务器的管理压力。
其中,在发送所述执行结果数据包时,若无法单次发送完全部数据,则将所述执行结果数据包进行多包发送,当所有数据发送成功,并接收到确认数据包及新的管理命令数据包后,再删除所述执行结果数据包。
其中,本发明的实施例中提供如下两种生成用于恢复设备管理的第一会话的会话恢复数据包的方式:
方式一:所述第一会话的发起方为服务器时,步骤11之前,所述设备管理会话的恢复方法还包括:
接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID。
所述步骤11具体为:
根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
具体的,所述判断能否恢复所述第一会话的步骤包括:
若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
方式二:所述第一会话的发起方为客户端时,所述步骤11具体为:
步骤111,判断设备管理的第一会话是否中断。
具体的,判断设备管理的第一会话是否中断的具体方法为:客户端在上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
步骤112,当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端。
具体的,在设备管理会话发起时,发起方会产生一个所述设备管理会话的会话ID,同时,产生一个发起标志信息,当所述客户端中包含有所述发起标志信息时,所述设备管理会话的发起方为客户端,否则,发起方为服务器。
步骤113,当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包。
步骤114,发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
具体的,所述第一会话的执行结果数据包为,客户端在所述第一会话过程中保存的第一会话ID、执行命令状态和执行结果;所述第二流程恢复标志信息为,标识所述会话恢复数据包为恢复流程的数据包的标志;所述第三会话ID为,所述第一会话的恢复流程的第三会话的会话ID。
本发明的上述实施例中,所述客户端能够实现由于客户端原因造成设备管理会话的中断,以及,由于服务器原因造成设备管理会话的中断的恢复,且不需要反复进行重试,从而减少了服务器等待时动态资源的消耗。
需要说明的是,服务器在接收到所述会话恢复数据包后,首先进行鉴权等相关操作,从而保证所述客户端发送的数据是合法且安全的。
如图2所示,本发明实施例还提供一种设备管理会话的恢复方法,应用于服务器侧,所述方法包括:
步骤24,接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果。
步骤25,根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
本发明实施例中,在接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
步骤21,接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果。
其中,所述第一会话的执行结果数据包为客户端根据服务器下发的管理命令数据包,生成的执行结果数据包。
步骤22,保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令。
具体的,若所述执行结果数据包为分多包发送的,则在所述执行结果数据包全部发送完成,且执行命令状态为成功时,删除已成功执行的管理命令,从而使服务器上始终只保存有未执行的管理命令。
步骤23,判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
具体的,本发明的实施例中,所述步骤24包括:
接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
其中,上述步骤为,所述第一会话的发起方为客户端时,客户端检测到所述第一会话中断时,主动恢复所述第一会话的过程中生成的会话恢复数据包,由于所述恢复流程被作为第二会话进行操作的,因此,在所述会话恢复数据包中包含所述第二会话的第二会话ID。
其中,本发明的实施例中,当接收到所述客户端主动恢复所述第一会话时,上报的会话恢复数据包后,所述步骤25包括:
步骤251,根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令。
其中,当所述服务器检测到所述第一会话的未执行的管理命令时,确定所述第一会话能够恢复,否则,所述第一会话不能恢复。
步骤252,根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包。
其中,所述管理命令数据包包括第二会话的第二会话ID,以及,未执行的管理命中的第一个管理命令。
步骤253,在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
进一步的,本发明的实施例中,若所述第一会话的发起方为服务器时,所述步骤21之前,所述方法还包括:
判断设备管理的第一会话是否中断。
其中,所述判断设备管理的第一会话是否中断的步骤具体包括:
发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
当确定所述第一会话中断时,判断所述第一会话的发起方是否为服务器。
其中,在设备管理会话发起时,发起方会产生一个所述设备管理会话的会话ID,同时,产生一个发起标志信息,当所述服务器中包含有所述发起标志信息时,所述设备管理会话的发起方为客户端,否则,发起方为服务器。
当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令。
其中,发起所述第一会话时,客户端会保存所述第一会话的所有管理命令,当接收到每一管理命令,表征所述管理命令执行成功的执行结果数据包后,则删除所述管理命令,使所述服务器上始终只保存有未执行的管理命令。
发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息。
其中,所述通知消息用于通知客户端,会话ID为第一会话ID的设备管理会话需要进行恢复,且恢复后的会话ID为第三会话ID。
发送所述通知消息至客户端。
具体的,所述第一会话由服务器发起时,所述步骤25包括:
根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包。
在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
本发明的上述实施例为设备管理会话恢复过程中,服务器侧的恢复方法,包括:服务器主动发起会话时的恢复方法,以及,根据客户端主动发送的会话恢复数据包进行恢复的方法,从而实现了对设备管理会话的任何情况的中断的恢复,减少了服务器的管理压力和动态资源的消耗。
如图3所示,本发明实施例还提供一种设备管理会话的恢复装置,应用于客户端侧,其中,所述装置包括:
生成模块31,用于生成用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果。
存储模块32,用于保存所述会话恢复数据包,并上报至服务器。
第一接收模块33,用于接收服务器发送的第一会话的恢复流程的管理命令数据包。
其中,本发明实施例中,所述装置还包括:
第二接收模块,用于接收服务器在设备管理的第一会话中发送的管理命令数据包。
执行模块,用于执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果。
发送模块,用于发送所述执行结果数据包至服务器;
删除模块,用于当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。所述删除模块37实现了对所述客户端的保存信息进行实时更新,使所述客户端只保存最新的执行结果数据包,从而节省了所述客户端的内存空间。
进一步的,本发明的实施例中,所述装置还包括:
第三接收模块,用于接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID。
具体的,本发明实施例中,所述生成模块包括:
第一判断子模块,用于根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
其中,所述第一判断子模块包括:
判断单元,用于若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
具体的,本发明实施例中,所述生成模块还包括:
第二判断子模块,用于判断设备管理的第一会话是否中断。
第三判断子模块,用于当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端。
获取子模块,用于当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包。
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
具体的,所述第二判断子模块包括:
确定单元,用于上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
本发明的上述实施例中,所述第一判断子模块用于在服务器发起恢复流程时,根据第三接收模块接收的第一会话ID,判断所述客户端能否恢复所述第一会话,若能,则将在第一会话中发送失败的执行命令状态和执行结果,重新发送至服务器,从而实现所述第一会话的恢复。所述第二判断子模块、第三判断值模块、获取子模块和触发子模块,用于确定所述第一会话的发起方是否为客户端,若是,则由客户端主动发起第三会话,从而恢复所述第一会话。
本发明的实施例还提供一种客户端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现如上所述的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述方法中的步骤。
如图4所示,本发明实施例还提供一种设备管理会话的恢复装置,应用于服务器侧,其中,所述装置包括:
第一接收模块41,用于接收客户端发送的用于恢复设备管理的第一会话的会话恢复数据包,所述会话恢复数据包包括第一会话的执行命令状态和执行结果。
第一发送模块42,用于根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
其中,本发明的实施例中,所述装置还包括:
第二接收模块,用于接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包包括:第一会话的第一会话ID,以及,第一会话的执行命令状态和执行结果。
存储模块,用于保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令。
第一判断模块,用于判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
具体的,所述第一接收模块41包括:
接收子模块,用于接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
具体的,所述第一发送模块42包括:
第一判断子模块:用于根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令。
第一获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包。
第一发送子模块,用于在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
进一步的,本发明的实施例中,所述装置还包括:
第二判断模块,用于判断设备管理的第一会话是否中断。
具体的,所述判断模块包括一确定子模块,用于发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
第一获取模块,用于当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令。
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息。
第二发送模块,用于发送所述通知消息至客户端。
本发明的上述实施例中,所述第二判断模块,所述第一获取模块,所述触发模块和所述发送模块,具体应用于,当所述第一会话的发起方为服务器时,所述服务器主动发起第三会话,用于恢复所述第一会话。
具体的,所述第一发送模块41包括:
第二获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包。
第二发送子模块,用于在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
本发明实施例还提供一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现如上所述的方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述方法中的步骤。
如图5所示,本发明实施例的客户端发起的设备管理会话的恢复流程为:
步骤501,客户端判断设备管理的第一会话是否中断;其中,当发送执行结果数据包后的预设时长内,未接收到确认数据包或结束数据包,则确认所述第一会话中断,否则,所述第一会话未中断;当所述第一会话未中断时,则执行步骤503;当确认所述第一会话中断后,则执行步骤502。
步骤502,判断所述第一会话的发起方是否为客户端;其中,当所述客户端检测到所述第一会话的发起标志信息时,确认发起方为客户端,否则,发起方为服务器。当发起方为客户端时,则执行步骤504,否则,执行步骤505。等待服务器下发通知消息。
步骤503,客户端等待接收服务器下发的确认数据包或结束数据包。
步骤504,客户端获取所述第一会话的执行结果数据包,并执行步骤506;其中,所述客户端在所述第一会话过程中,在发送执行结果数据包之前,会将所述执行结果数据包保存,从而,在所述第一会话中断时,根据所述执行结果数据包生成会话恢复数据包;在接收到所述执行结果数据包的确认数据包后,会将所述执行结果数据包删除,从而减少所述客户端的内存的消耗。
步骤505,客户端等待接收服务器下发的通知消息。
步骤506,客户端生成所述第一会话恢复流程的会话恢复数据包,并执行步骤507;其中,所述会话恢复数据包包括:所述第一会话的第一会话ID,以及,所述第一会话的执行结果数据包。
步骤507,客户端保存所述第一会话恢复流程的会话恢复数据包,并发送至服务器。
步骤508,服务器根据所述会话恢复数据包,判断能否恢复所述第一会话;当所述服务器能够根据所述会话恢复数据包,检测到所述第一会话的未执行的管理命令,则所述服务器能够恢复所述第一会话,否则不能恢复;当能恢复所述第一会话时,则执行步骤509,否则执行步骤510。
步骤509,服务器获取所述第一会话未执行的管理命令,并执行步骤511。
步骤510,服务器发送结束所述第一会话的结束数据包。
步骤511,服务器生成第二会话的管理命令数据包;其中,所述第二会话为用于恢复所述第一会话的会话流程。
步骤512,服务器发送所述第二会话的管理命令数据包至客户端。
所述客户端,在接收到所述结束数据包时,则结束所述第一会话;在接收到所述会话恢复数据包时,则根基所述会话恢复数据包执行相应的管理命令。
如图6所示,本发明实施例服务器发起的设备管理会话的恢复流程为:
步骤601,服务器判断设备管理的第一会话是否中断;其中,当服务器发送管理命令数据包后的预设时长内,未接收到客户端执行所述管理命令数据包时生成的执行结果数据包,则判断所述第一会话中断,否则,所述第一会话未中断。当所述第一会话中断时,执行步骤602,否则,执行步骤603。
步骤602,服务器判断所述第一会话的发起方是否为服务器;其中,当所述服务器检测到所述第一会话的发起标志信息时,确认发起方为服务器,否则,发起方为客户端。当发起方为服务器时,则执行步骤604,否则,执行步骤605。
步骤603,服务器等待接收客户端发送的执行结果数据包。
步骤604,服务器获取所述第一会话的未执行的管理命令。
步骤605,服务器等待接收客户端发送的所述第一会话的恢复流程的会话恢复数据包。
步骤606,根据第一会话的第一会话ID,发起的第三会话的第三会话ID,以及,会话恢复标志信息,生成通知消息,并执行步骤607。
步骤607,服务器发送通知消息至客户端。
步骤608,客户端判断能否恢复所述第一会话,若能,则执行步骤609,若不能,则执行步骤610,其中,当所述客户端能够获取到包含有第一会话ID的执行结果数据包时,则能够恢复所述第一会话,否则,不能恢复。
步骤609,所述客户端根据第一会话ID,第三会话ID,以及,第一会话的执行命令状态和执行结果,生成所述第一会话的恢复流程的会话恢复数据包。
步骤610,客户端生成标准的会话数据包并上报至服务器。
步骤611,客户端上报所述会话恢复数据包至服务器。
步骤612,服务器根据所述会话恢复数据包,生成所述第一会话的恢复流程的管理命令数据包。
步骤613,服务器下发所述管理命令数据包和所述会话恢复数据包的确认数据包至客户端。
如图7所示,在设备管理会话过程中,客户端和服务器的数据保存过程为:
步骤71,发起设备管理会话时,服务器保存所述设备管理会话的所有管理命令。
步骤72,服务器下发所述管理命令中的第一个管理命令。
步骤73,客户端接收所述管理命令并保存,同时,删除上次执行管理命令时生成的执行命令状态和执行结果。
步骤74,客户端执行所述管理命令。
步骤75,客户端保存执行所述管理命令时生成的执行命令状态和执行结果,并删除所述管理命令。
步骤76,客户端发送所述执行命令状态和执行结果,以及,所述设备管理会话的会话ID生成的执行结果数据包。
步骤77,服务器接收所述执行结果数据包,并删除已下发且执行成功的管理命令。
本发明的上述实施例,客户端在执行所述管理命令数据包后,生成的执行结果数据包进行保存,当设备管理会话中断后,根据保存的执行结果数据包,恢复所述设备管理会话,从而避免重复执行已经执行过的管理命令,实现更快的完成整个设备管理会话过程,减少服务器管理压力;服务器在接收到所述执行结果数据包后,删除当前执行成功的管理命令,使服务器上始终保存当前未执行的管理命令,在所述设备管理会话中断后,通过根据会话ID,获取未执行的管理命令,从而恢复所述设备管理会话,减少了重复进行会话的流量消耗。
本发明的实施例,无论是由于客户端的原因导致会话中断,还是由于服务器的原因导致会话中断,均不需要进行反复重试来实现会话恢复,减少了服务器等待时动态资源的消耗。
需要说明的是,本发明的上述实施例中,在客户端执行命令或者收发数据过程中,如果出现会话中断,比如断网/设备断电等情况,如果本次设备管理会话是由服务器触发的,则等待服务器下发恢复任务的通知消息;如果所述设备管理会话流程是由客户端发起的,则在连接有效网络后主动发起恢复任务,即:在设备管理会话的恢复过程中,遵从谁发起,谁恢复的原则。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (30)
1.一种设备管理会话的恢复方法,应用于客户端侧,其特征在于,所述方法包括:
根据第一会话中断前保存的第一会话的执行结果数据包,生成用于恢复设备管理的第一会话的会话恢复数据包,其中,所述第一会话的执行结果数据包是在未收到服务器发送的执行结果数据包的确认数据包的情况下始终保存的,其包括第一会话的执行命令状态和执行结果,所述会话恢复数据包包括第一会话的所述执行命令状态和所述执行结果;
保存所述会话恢复数据包,并上报至服务器;
接收服务器发送的第一会话的恢复流程的管理命令数据包。
2.根据权利要求1所述的方法,其特征在于,在生成用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收服务器在设备管理的第一会话中发送的管理命令数据包;
执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包还包括:第一会话的第一会话ID;
发送所述执行结果数据包至服务器;
当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。
3.根据权利要求2所述的方法,其特征在于,
在生成用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID;
所述生成用于恢复设备管理的第一会话的会话恢复数据包的步骤包括:
根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
4.根据权利要求3所述的方法,其特征在于,所述判断能否恢复所述第一会话的步骤包括:
若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
5.根据权利要求2所述的方法,其特征在于,所述生成用于设备管理的第一会话的会话恢复数据包的步骤包括:
判断设备管理的第一会话是否中断;
当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端;
当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包;
发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
6.根据权利要求5所述的方法,其特征在于,所述判断设备管理的第一会话是否中断的步骤包括:
上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
7.一种设备管理会话的恢复方法,应用于服务器侧,其特征在于,所述方法包括:
接收客户端根据第一会话中断前保存的第一会话的执行结果数据包生成并发送的用于恢复设备管理的第一会话的会话恢复数据包,其中,所述第一会话的执行结果数据包是客户端在未收到服务器发送的执行结果数据包的确认数据包的情况下始终保存的,其包括第一会话的执行命令状态和执行结果,所述会话恢复数据包包括第一会话的所述执行命令状态和所述执行结果;
根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
8.根据权利要求7所述的方法,其特征在于,在接收客户端根据第一会话中断前保存的第一会话的执行结果数据包生成并发送的用于恢复设备管理的第一会话的会话恢复数据包之前,所述方法还包括:
接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包还包括:第一会话的第一会话ID;
保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令;
判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
9.根据权利要求8所述的方法,其特征在于,所述接收客户端根据第一会话中断前保存的第一会话的执行结果数据包生成并发送的用于恢复设备管理的第一会话的会话恢复数据包的步骤包括:
接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
10.根据权利要求9所述的方法,其特征在于,所述根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包的步骤包括:
根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令;
根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包;
在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
11.根据权利要求8所述的方法,其特征在于,在所述接收客户端根据第一会话中断前保存的第一会话的执行结果数据包生成并发送的用于恢复设备管理的第一会话的会话恢复数据包的步骤之前,所述方法还包括:
判断设备管理的第一会话是否中断;
当确定所述第一会话中断时,判断所述第一会话的发起方是否为服务器;
当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令;
发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息;
发送所述通知消息至客户端。
12.根据权利要求11所述的方法,其特征在于,所述判断设备管理的第一会话是否中断的步骤包括:
发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
13.根据权利要求11所述的方法,其特征在于,所述根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包的步骤包括:
根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包;
在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
14.一种设备管理会话的恢复装置,应用于客户端侧,其特征在于,所述装置包括:
生成模块,用于根据第一会话中断前保存的第一会话的执行结果数据包,生成用于恢复设备管理的第一会话的会话恢复数据包,其中,所述第一会话的执行结果数据包是在未收到服务器发送的执行结果数据包的确认数据包的情况下始终保存的,其包括第一会话的执行命令状态和执行结果,所述会话恢复数据包包括第一会话的所述执行命令状态和所述执行结果;
存储模块,用于保存所述会话恢复数据包,并上报至服务器;
第一接收模块,用于接收服务器发送的第一会话的恢复流程的管理命令数据包。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收服务器在设备管理的第一会话中发送的管理命令数据包;
执行模块,用于执行所述管理命令数据包,保存执行所述管理命令数据包时生成的第一会话的执行结果数据包;其中,所述执行结果数据包还包括:第一会话的第一会话ID;
发送模块,用于发送所述执行结果数据包至服务器;
删除模块,用于当接收到所述服务器发送的所述执行结果数据包的确认数据包后,删除所述执行结果数据包。
16.根据权利要求15所述的装置,其特征在于,
所述装置还包括:
第三接收模块,用于接收服务器在设备管理的第二会话中发送的用于指示恢复所述第一会话的通知消息;其中,所述通知消息包括:第一流程恢复标志信息,第一会话的第一会话ID,以及,第二会话的第二会话ID;
所述生成模块包括:
第一判断子模块,用于根据所述第一会话ID,判断能否恢复所述第一会话;若能,则根据所述第一流程标志信息,所述第二会话ID,以及,所述第一会话的执行命令状态和执行结果,生成所述会话恢复数据包。
17.根据权利要求16所述的装置,其特征在于,所述第一判断子模块包括:
判断单元,用于若能获取到包含有所述第一会话ID的执行结果数据包,则判断能恢复所述第一会话,否则,不能恢复所述第一会话。
18.根据权利要求15所述的装置,其特征在于,所述生成模块包括:
第二判断子模块,用于判断设备管理的第一会话是否中断;
第三判断子模块,用于当确定所述第一会话中断时,判断所述第一会话的发起方是否为客户端;
获取子模块,用于当确定所述第一会话的发起方为客户端时,获取所述第一会话的执行结果数据包;
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的会话恢复数据包,所述会话恢复数据包包括所述第一会话的执行结果数据包,第二流程恢复标志信息,以及,所述第三会话的第三会话ID。
19.根据权利要求18所述的装置,其特征在于,所述第二判断子模块包括:
确定单元,用于上报所述第一会话的执行结果数据包后的预设时长内,未接收到确认数据包,或者,上报所述第一会话的执行结果数据包后的预设时长内,未接收到结束数据包时,确定所述第一会话中断。
20.一种客户端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述的方法。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一项所述方法中的步骤。
22.一种设备管理会话的恢复装置,应用于服务器侧,其特征在于,所述装置包括:
第一接收模块,用于接收客户端根据第一会话中断前保存的第一会话的执行结果数据包生成并发送的用于恢复设备管理的第一会话的会话恢复数据包,其中,所述第一会话的执行结果数据包是客户端在未收到服务器发送的执行结果数据包的确认数据包的情况下始终保存的,其包括第一会话的执行命令状态和执行结果,所述会话恢复数据包包括第一会话的所述执行命令状态和所述执行结果;
第一发送模块,用于根据所述会话恢复数据包,发送第一会话恢复流程的管理命令数据包。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收客户端上报的第一会话的执行结果数据包,所述执行结果数据包还包括:第一会话的第一会话ID;
存储模块,用于保存第一会话的执行结果数据包,根据所述第一会话的执行命令状态和执行结果,从第一会话的未执行命令中删除当前已成功执行的管理命令;
第一判断模块,用于判断所述第一会话中是否存在未执行的管理命令,若有,则发送所述未执行的管理命令的管理命令数据包,若无,则发送所述第一会话的结束数据包。
24.根据权利要求23所述的装置,其特征在于,所述第一接收模块包括:
接收子模块,用于接收客户端在第二会话中上报的,用于指示恢复设备管理的第一会话的会话恢复数据包;其中,所述会话恢复数据包包括:第一流程恢复标志信息,所述第二会话的第二会话ID,以及,所述第一会话的执行结果数据包。
25.根据权利要求24所述的装置,其特征在于,所述第一发送模块包括:
第一判断子模块:用于根据所述第一会话ID,判断所述第一会话是否能恢复;若能,则根据所述第一会话ID,获取所述第一会话中未执行的管理命令;
第一获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第二会话ID,获取所述第一会话恢复流程的管理命令数据包;
第一发送子模块,用于在第二会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
26.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于判断设备管理的第一会话是否中断;
第一获取模块,用于当确定所述第一会话的发起方为服务器时,获取所述第一会话中未执行的管理命令;
触发模块,用于发起第三会话,并生成用于指示恢复所述第一会话的通知消息,其中,所述通知消息包括所述第一会话的第一会话ID,第三会话的第三会话ID,以及,第二流程恢复标志信息;
第二发送模块,用于发送所述通知消息至客户端。
27.根据权利要求26所述的装置,其特征在于,所述第二判断模块包括:
确定子模块,用于发送所述第一会话的管理命令数据包后的预设时长内,未接收到客户端发送的所述管理命令数据包对应的执行结果数据包时,确定所述第一会话中断。
28.根据权利要求26所述的装置,其特征在于,所述第一发送模块包括:
第二获取子模块,用于根据所述第一会话中未执行的管理命令,以及,所述第三会话ID,获取所述第一会话恢复流程的管理命令数据包;
第二发送子模块,用于在第三会话中发送所述第一会话恢复流程的管理命令数据包至客户端。
29.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述程序时实现如权利要求7-13任一项所述的方法。
30.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求7-13任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710676037.XA CN109391656B (zh) | 2017-08-09 | 2017-08-09 | 一种设备管理会话的恢复方法、装置、客户端及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710676037.XA CN109391656B (zh) | 2017-08-09 | 2017-08-09 | 一种设备管理会话的恢复方法、装置、客户端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391656A CN109391656A (zh) | 2019-02-26 |
CN109391656B true CN109391656B (zh) | 2021-10-08 |
Family
ID=65415384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710676037.XA Active CN109391656B (zh) | 2017-08-09 | 2017-08-09 | 一种设备管理会话的恢复方法、装置、客户端及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391656B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784943B (zh) * | 2019-10-30 | 2021-07-27 | 中国联合网络通信集团有限公司 | 一种VoWiFi语音业务断网重连的处理方法和装置 |
JP7360657B2 (ja) * | 2022-03-17 | 2023-10-13 | ダイキン工業株式会社 | サーバ装置、管理プログラム及び管理システム |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852534A (zh) * | 2005-08-10 | 2006-10-25 | 华为技术有限公司 | 一种数据备份和恢复方法及其系统 |
WO2008078889A1 (en) * | 2006-12-27 | 2008-07-03 | Daegu Gyeongbuk Institute Of Science And Technology | Method of controlling the session for the oma dm protocol |
CN101227418A (zh) * | 2007-01-19 | 2008-07-23 | 华为技术有限公司 | 一种实现融合ip消息的方法、装置及系统 |
CN101409614A (zh) * | 2007-10-12 | 2009-04-15 | 华为技术有限公司 | 一种数据同步方法、系统和设备 |
CN102111427A (zh) * | 2009-12-25 | 2011-06-29 | 中兴通讯股份有限公司 | 一种设备管理会话的恢复方法及系统 |
CN102541662A (zh) * | 2010-12-29 | 2012-07-04 | 华为终端有限公司 | 软件处理控制方法和移动终端 |
CN103270734A (zh) * | 2010-11-05 | 2013-08-28 | 高通股份有限公司 | 具有恢复能力的分段数据传输 |
CN103621113A (zh) * | 2011-02-11 | 2014-03-05 | 交互数字专利控股公司 | 用于管理机器对机器(m2m)实体的系统、方法和设备 |
CN104508663A (zh) * | 2012-07-27 | 2015-04-08 | 微软公司 | 会话失败后的自动事务重试 |
CN105812313A (zh) * | 2014-12-29 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 恢复会话的方法和服务器、生成会话凭证的方法和装置 |
EP3151481A1 (en) * | 2015-09-30 | 2017-04-05 | Ricoh Company, Ltd. | Communication terminal, communication system, and output method |
CN106687976A (zh) * | 2014-07-11 | 2017-05-17 | Pcms控股公司 | 基于虚拟化的安全设备恢复的系统和方法 |
CN206364832U (zh) * | 2016-06-10 | 2017-07-28 | 北京数盾信息科技有限公司 | 一种基于gdoi协议下安全管理及信息反馈系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044799A1 (en) * | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
JP2016534606A (ja) * | 2013-08-02 | 2016-11-04 | インテル アイピー コーポレイション | パワーサイクルを超えるsuplセッションの持続 |
-
2017
- 2017-08-09 CN CN201710676037.XA patent/CN109391656B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852534A (zh) * | 2005-08-10 | 2006-10-25 | 华为技术有限公司 | 一种数据备份和恢复方法及其系统 |
WO2008078889A1 (en) * | 2006-12-27 | 2008-07-03 | Daegu Gyeongbuk Institute Of Science And Technology | Method of controlling the session for the oma dm protocol |
CN101227418A (zh) * | 2007-01-19 | 2008-07-23 | 华为技术有限公司 | 一种实现融合ip消息的方法、装置及系统 |
CN101409614A (zh) * | 2007-10-12 | 2009-04-15 | 华为技术有限公司 | 一种数据同步方法、系统和设备 |
CN102111427A (zh) * | 2009-12-25 | 2011-06-29 | 中兴通讯股份有限公司 | 一种设备管理会话的恢复方法及系统 |
CN103270734A (zh) * | 2010-11-05 | 2013-08-28 | 高通股份有限公司 | 具有恢复能力的分段数据传输 |
CN102541662A (zh) * | 2010-12-29 | 2012-07-04 | 华为终端有限公司 | 软件处理控制方法和移动终端 |
CN103621113A (zh) * | 2011-02-11 | 2014-03-05 | 交互数字专利控股公司 | 用于管理机器对机器(m2m)实体的系统、方法和设备 |
CN104508663A (zh) * | 2012-07-27 | 2015-04-08 | 微软公司 | 会话失败后的自动事务重试 |
CN106687976A (zh) * | 2014-07-11 | 2017-05-17 | Pcms控股公司 | 基于虚拟化的安全设备恢复的系统和方法 |
CN105812313A (zh) * | 2014-12-29 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 恢复会话的方法和服务器、生成会话凭证的方法和装置 |
EP3151481A1 (en) * | 2015-09-30 | 2017-04-05 | Ricoh Company, Ltd. | Communication terminal, communication system, and output method |
CN206364832U (zh) * | 2016-06-10 | 2017-07-28 | 北京数盾信息科技有限公司 | 一种基于gdoi协议下安全管理及信息反馈系统 |
Non-Patent Citations (2)
Title |
---|
"Incorporating OMA Lightweight M2M protocol in IoT/M2M standard architecture";Christian Antonia Lusiarta Putera等;《2015 IEEE 2nd World Forum on Internet of Things (WF-IoT)》;20160121;第1-6页 * |
"入式OMA-DM系统架构及关键技术研究与设计";程方等;《电视技术》;20110427;第35卷(第3期);第57-60页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109391656A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712485B (zh) | 一种物联网设备的资源订阅方法和装置 | |
JP7234402B2 (ja) | 車両通信のためのセカンダリリンクモニタリング方法、車両通信端末、電子機器及びコンピュータプログラム | |
CN112422684B (zh) | 目标消息的处理方法及装置、存储介质、电子装置 | |
CN108259618B (zh) | 一种同步的数据交互处理方法及装置 | |
CN107360239A (zh) | 一种客户端连接状态检测方法及系统 | |
CN112118171A (zh) | 消息互通系统、方法、装置、计算机设备及可读存储介质 | |
CN107645517B (zh) | 数据推送方法及装置 | |
KR20100135855A (ko) | 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 | |
CN113905005A (zh) | 即时通讯的客户端状态更新方法和装置 | |
CN110933142A (zh) | 一种icfs集群网卡监控方法、装置和设备及介质 | |
CN104503801B (zh) | 软件升级指令分发方法、通信服务器及终端设备 | |
CN107645357B (zh) | 传输文件不完整的恢复方法及装置 | |
CN109391656B (zh) | 一种设备管理会话的恢复方法、装置、客户端及服务器 | |
CN101714991A (zh) | 心跳机制的实现方法 | |
CN108134713B (zh) | 一种通信方法及装置 | |
CN113746910A (zh) | H5页面重连服务器的方法、终端及可读存储介质 | |
CN112860408A (zh) | 一种云真机中的进程保活方法、装置、系统及存储介质 | |
CN113986501A (zh) | 实时数据库api无中断调用方法、系统、存储介质及服务器 | |
JP2017536759A (ja) | 基地局の断線後の自己回復の方法及び装置 | |
CN107172112B (zh) | 一种计算机文件传输方法及装置 | |
CN108521342B (zh) | 一种集群的管理方法及装置 | |
CN114301812A (zh) | 报文处理结果的监控方法、装置、设备以及存储介质 | |
CN110750369B (zh) | 一种分布式节点管理方法及系统 | |
JP4882537B2 (ja) | タイマ連携によるリクエスト制御方法 | |
CN102684865B (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 |