CN104253842B - 同步终端镜像的方法、装置、终端及服务器 - Google Patents
同步终端镜像的方法、装置、终端及服务器 Download PDFInfo
- Publication number
- CN104253842B CN104253842B CN201310268703.8A CN201310268703A CN104253842B CN 104253842 B CN104253842 B CN 104253842B CN 201310268703 A CN201310268703 A CN 201310268703A CN 104253842 B CN104253842 B CN 104253842B
- Authority
- CN
- China
- Prior art keywords
- event
- incoming event
- terminal
- server
- attribute information
- 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
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了同步终端镜像的方法、装置、终端及服务器,所述方法包括:终端获取应用软件运行中的多个输入事件;将所述多个输入事件进行聚合,得到聚合事件;将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。本发明实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及同步终端镜像的方法、装置、终端及服务器。
背景技术
随着智能终端的发展,智能终端上能够运行的应用(Application,APP)软件越来越多,从而使终端用户通过智能终端可以发送电子邮件、连接社交网络、进行终端支付、运行各种应用游戏等。智能终端在运行应用软件的过程中会产生大量用户数据,包括应用软件运行时实时产生的状态数据和应用软件运行后保存到磁盘的文件数据,这些数据可能涉及终端用户的隐私。当智能终端丢失时,智能终端内的用户数据也会相应丢失,或者当智能终端被恶意软件感染时,智能终端内的用户数据会受到威胁。因此,为了保护智能终端上数据的完整性和用户隐私,智能终端可以通过与云服务器间进行镜像同步,使得云服务器获得智能终端上的用户数据,从而可以对智能终端的用户数据进行备份,以及利用云服务器上丰富的计算资源对用户数据进行安全性检查。
现有技术中,智能终端可以通过网络向云服务器传输应用软件运行后产生的文件数据,但是由于这种同步方式难以同步应用软件实时运行的状态数据,因此导致云服务器备份的用户数据不完整,相应的基于该用户数据的安全性检查也不准确。
发明内容
本发明实施例中提供了同步终端镜像的方法、装置、终端及服务器,以解决现有同步终端镜像的方式容易导致备份数据不完整的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种同步终端镜像的方法,所述方法包括:
终端获取应用软件运行中的多个输入事件;
所述终端将所述多个输入事件进行聚合,得到聚合事件;
所述终端将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述终端将所述多个输入事件进行聚合前,所述方法还包括:所述终端将获取的输入事件按照事件生成顺序插入事件队列;
相应地,所述终端将所述多个输入事件进行聚合,得到聚合事件,包括:
所述终端按照设置的时间周期将所述事件队列中的输入事件进行聚合,得到聚合事件。
结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述终端将所述多个输入事件进行聚合,得到聚合事件,包括:
所述终端按照所述多个输入事件的生成顺序,获取一个当前输入事件;
所述终端为所述当前输入事件的每个属性信息生成位图信息;其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;
所述终端将所述当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;
当所述终端确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述终端将所述多个输入事件进行聚合,得到聚合事件后,所述方法还包括:
所述终端对所述聚合事件进行压缩,得到压缩聚合事件;
相应地,所述终端将所述聚合事件传输至服务器,包括:
所述终端将所述压缩聚合事件传输至服务器。
第二方面,提供一种同步终端镜像的方法,所述方法包括:
服务器接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
所述服务器解析所述聚合事件,获得所述多个输入事件;
所述服务器通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第二方面,在第二方面的第一种可能的实现方式中,所述服务器接收终端传输的聚合事件,包括:所述服务器接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述服务器解析所述聚合事件前,所述方法还包括:
所述服务器对所述压缩聚合事件进行解压缩,获得所述聚合事件。
结合第二方面,或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述服务器解析所述聚合事件,获得所述多个输入事件,包括:
所述服务器从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;
所述服务器根据所述位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;
所述服务器将获取到的所述相同的属性信息与所述传输数据中包含的不同的属性信息组成所述当前输入事件。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述服务器通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,包括:
当所述服务器接收到设置在所述服务器上的所述终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
所述服务器将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
第三方面,提供一种同步终端镜像的装置,所述装置包括:
获取单元,用于获取应用软件运行中的多个输入事件;
聚合单元,用于将所述获取单元获取的所述多个输入事件进行聚合,得到聚合事件;
传输单元,用于将所述聚合单元得到的聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第三方面,在第三方面的第一种可能的实现方式中,所述装置还包括:
插入单元,用于将所述获取单元获取的输入事件按照事件生成顺序插入事件队列;
所述聚合单元,具体用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,获得聚合事件。
结合第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述聚合单元包括:
事件获取子单元,用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;
信息生成子单元,用于为所述事件获取子单元获取的当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;
数据确定子单元,用于将所述信息生成子单元生成的当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;
事件聚合子单元,用于当所述数据确定子单元确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述装置还包括:
压缩单元,用于对所述聚合单元得到的聚合事件进行压缩,得到压缩聚合事件;
所述传输单元,具体用于将所述压缩单元得到的压缩聚合事件传输至云服务器。
第四方面,提供一种同步终端镜像的装置,所述装置包括:
接收单元,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
解析单元,用于解析所述接收单元接收到的聚合事件,获得所述多个输入事件;
处理单元,用于通过设置在服务器上的所述终端的虚拟机处理所述解析单元获得的多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第四方面,在第四方面的第一种可能的实现方式中,所述接收单元,具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述装置还包括:解压缩单元,用于对所述接收单元接收到的压缩聚合事件进行解压缩,获得所述聚合事件。
结合第四方面,或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述接收单元,具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述装置还包括:解压缩单元,用于对所述接收单元接收到的压缩聚合事件进行解压缩,获得所述聚合事件。
结合第四方面,或第四方面的第一种可能的实现方式,或第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述处理单元包括:
状态匹配子单元,用于当接收到所述设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
事件处理子单元,用于根据所述状态匹配子单元的匹配结果,将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
第五方面,提供一种终端,所述终端包括:处理器和网络接口,其中,
所述处理器,用于获取应用软件运行中的多个输入事件,将所述多个输入事件进行聚合,得到聚合事件;
所述网络接口,用于将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第五方面,在第五方面的第一种可能的实现方式中,所述处理器,还用于将获取的输入事件按照事件生成顺序插入事件队列;
所述处理器,具体用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,得到聚合事件。
结合第五方面,或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述处理器,具体用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;为所述当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;将所述当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;当确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
结合第五方面,或第五方面的第一种可能的实现方式,或第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述处理器,还用于对所述聚合事件进行压缩,得到压缩聚合事件;
所述网络接口,具体用于将所述压缩聚合事件传输至云服务器。
第六方面,提供一种服务器,所述服务器包括:终端接口和处理器,其中,
所述终端接口,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
所述处理器,用于解析所述聚合事件,获得所述多个输入事件,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
结合第六方面,在第六方面的第一种可能的实现方式中,所述终端接口,具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述处理器,还用于对所述压缩聚合事件进行解压缩,获得所述聚合事件。
结合第六方面,或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述处理器,具体用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;根据所述位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;将获取到的所述相同的属性信息与所述传输数据中包含的不同的属性信息组成所述当前输入事件。
结合第六方面,或第六方面的第一种可能的实现方式,或第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述处理器,具体用于当接收到设置在所述服务器上的所述终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
本发明实施例中,终端获取应用软件运行中的多个输入事件,将多个输入事件进行聚合,得到聚合事件,将聚合事件传输至服务器,服务器对聚合事件进行解析得到多个输入事件后,通过设置在服务器上的终端的虚拟机处理多个输入事件,获得应用软件运行中产生的用户数据。本发明实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性;并且,由于终端传输的聚合输入事件的容量较小,因此与直接传输用户数据相比,占用的网络传输资源较少,且不会影响终端自身的性能开销,保证了终端上其它业务的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明同步终端镜像的方法的一个实施例流程图;
图1B为本发明同步终端镜像的方法的另一个实施例流程图;
图2为本发明同步终端镜像的方法的另一个实施例流程图;
图3A为应用本发明实施例的一个网络架构示意图;
图3B为应用本发明实施例的一个事件聚合示意图;
图4为本发明同步终端镜像的装置的一个实施例框图;
图5为本发明同步终端镜像的装置的另一个实施例框图;
图6为本发明终端的实施例框图;
图7为本发明同步终端镜像的装置的另一个实施例框图;
图8为本发明同步终端镜像的装置的另一个实施例框图;
图9为本发明服务器的实施例框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1A,为本发明同步终端镜像的方法的一个实施例流程图,该实施例从终端侧对同步过程进行描述:
步骤101:终端获取应用软件运行中的多个输入事件。
本实施例中,终端可以指各种智能手机、平板电脑等。终端上的不同应用软件运行时可能触发不同类型的输入事件,这些输入事件可以包括对显示屏进行操作的触摸输入事件,由全球定位系统(Global Positioning System,GPS)设备产生的定位输入事件,以及由传感器产生的传感输入事件等。例如,终端用户试图运行某个应用软件时,则点击终端触摸显示屏上该应用软件的图标,该点击图标的动作可以抽象为一个输入事件,当终端用户对打开的应用软件进行操作时,在操作过程中根据不同的输入手势也会触发不同的输入事件。
步骤102:将多个输入事件进行聚合,得到聚合事件。
本实施例中,终端可以按照多个输入事件的生成顺序,获取一个当前输入事件;为当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;将当前输入事件的位图信息和与前一个输入事件不同的属性信息确定为当前输入事件的待传输数据;当确定完多个输入事件中每个输入事件的待传输数据后,将多个输入事件的待传输数据组成多个输入事件的聚合事件。
步骤103:将聚合事件传输至服务器,以使服务器对聚合事件进行解析得到多个输入事件后,通过设置在服务器上的终端的虚拟机处理多个输入事件,获得应用软件运行中产生的用户数据。
由上述实施例可见,该实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性;并且,由于终端传输的聚合输入事件的容量较小,因此与直接传输用户数据相比,占用的网络传输资源较少,且不会影响终端自身的性能开销,保证了终端上其它业务的正常运行。
参见图1B,为本发明同步终端镜像的方法的另一个实施例流程图,该实施例从服务器侧对同步过程进行描述:
步骤111:服务器接收终端传输的聚合事件,该聚合事件为终端获取到应用软件运行中的多个输入事件后,将多个输入事件进行聚合得到的聚合事件。
本实施例中,服务器可以指具有丰富计算资源的云服务器,在云服务器上可以设置与该云服务器进行通信的每个终端的虚拟机。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整系统,通常可以在一台云服务器上模拟出多台不同终端的虚拟机,终端通过网络可以访问其在云服务器上的虚拟机。
步骤112:解析该聚合事件,获得多个输入事件。
本实施例中,服务器可以从聚合事件中顺序获取一个当前输入事件的传输数据,该传输数据中包含当前输入事件的每个属性信息的位图信息,以及与当前输入事件的前一个输入事件不同的属性信息,其中,每个属性信息的位图信息用于指示该属性信息与前一个输入事件的对应属性信息是否相同;根据位图信息的指示,从前一个输入事件的属性信息中获取当前输入事件与前一个输入事件相同的属性信息;将获取到的相同的属性信息与传输数据中包含的不同的属性信息组成当前输入事件。
步骤113:通过设置在服务器上的终端的虚拟机处理多个输入事件,获得应用软件运行中产生的用户数据。
本实施例中,当服务器接收到设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断多个输入事件的属性信息是否与系统状态匹配;将与系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使该虚拟机的系统调用处理函数对输入事件进行处理,从而获得应用软件运行中产生的用户数据。
由上述实施例可见,该实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性;并且,由于终端传输的聚合输入事件的容量较小,因此与直接传输用户数据相比,占用的网络传输资源较少,且不会影响终端自身的性能开销,保证了终端上其它业务的正常运行。
参见图2,为本发明同步终端镜像的方法的另一个实施例流程图,该实施例通过终端与服务器之间的交互对同步过程进行描述:
步骤201:终端获取应用软件运行中的多个输入事件。
终端上的不同应用软件运行时可能触发不同类型的输入事件,这些输入事件可以包括对显示屏进行操作的触摸输入事件,由GPS设备产生的定位输入事件,以及由传感器产生的传感输入事件等。其中,根据输入事件类型的不同,输入事件包含的属性信息也不相同,例如,对于触摸输入事件,其包含的属性信息可以包括触摸的触点坐标、触摸事件类型、发生时间等,对于定位输入事件,其包含的属性信息可以包括位置信息、发生时间等。
步骤202:将获取的输入事件按照事件生成顺序插入事件队列。
本实施例中,在运行应用软件过程中,每产生一个输入事件就可以将该输入事件插入事件队列中,事件队列可以保存在终端的内存中,事件队列中的输入事件按照先进先出的方式进行排列;相应的,终端可以从事件队列中顺序获取输入事件,并调用与输入事件相应的处理函数对输入事件进行处理,以便在终端上执行该应用软件。
步骤203:按照设置的时间周期将事件队列中的输入事件进行聚合,得到聚合事件。
其中,终端可以按照异步处理方式将保存在内存的事件队列中的输入事件写入到磁盘中,并且本实施例中,终端可以按照设置的时间周期将事件队列中的多个输入事件进行聚合,获得聚合事件。需要说明的是,除了按照时间周期对输入事件聚合外,也可以设置事件阈值,当事件队列中的输入事件数量达到该事件阈值时,就对输入事件进行聚合,对此本发明实施例不进行限制。
本实施例中,由于事件队列中的多个输入事件按照先入先出的顺序排列,且多个连续的输入事件通常为执行同一应用软件触发的事件,因此相邻的两个输入事件通常具有某些相同的属性信息,因此在传输后一个输入事件时,可以仅传输其与前一个输入事件的差别属性信息。基于此,终端在对事件队列中的多个输入事件进行聚合时,可以按照多个输入事件的生成顺序,获取一个当前输入事件,为当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同,将当前输入事件的位图信息和与前一个输入事件不同的属性信息确定为当前输入事件的待传输数据;当确定完多个输入事件中每个输入事件的待传输数据后,将多个输入事件的待传输数据组成多个输入事件的聚合事件。
步骤204:对聚合事件进行压缩,得到压缩聚合事件。
本实施例中,可以对聚合事件进行压缩,以便进一步减小所要传输的聚合事件的数据流的大小,压缩方式可以采用zip压缩,或者rar压缩等,对此本发明实施例不进行限制。
步骤205:将压缩聚合事件传输至服务器。
步骤206:服务器对压缩聚合事件进行解压缩,获得聚合事件。
本步骤中,服务器接收到终端传输的压缩聚合事件后,对压缩聚合事件进行解压缩的方式与步骤204中终端对聚合事件进行压缩的方式一致,对压缩聚合事件进行解压缩后,可以获得聚合事件。
步骤207:解析聚合事件,获得多个输入事件。
结合步骤203中终端对输入事件进行聚合获得聚合事件的过程,本步骤中,服务器可以从聚合事件中顺序获取一个当前输入事件的传输数据,该传输数据中包含当前输入事件的每个属性信息的位图信息,以及与当前输入事件的前一个输入事件不同的属性信息,其中,每个属性信息的位图信息用于指示该属性信息与前一个输入事件的对应属性信息是否相同;根据位图信息的指示,从前一个输入事件的属性信息中获取当前输入事件与前一个输入事件相同的属性信息;将获取到的相同的属性信息与传输数据中包含的不同的属性信息组成当前输入事件。
步骤208:通过设置在服务器上的终端的虚拟机处理多个输入事件,获得应用软件运行中产生的用户数据。
本步骤中,当服务器接收到设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断多个输入事件的属性信息是否与系统状态匹配;将与系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使该虚拟机的系统调用处理函数对输入事件进行处理,该处理过程与终端内调用处理函数对输入事件进行处理的过程一致,即服务器上终端的虚拟机与终端内执行应用软件的过程一致,相应的,在终端的虚拟机上生成的用户数据也与终端生成的用户数据一致,从而实现了在服务器上同步终端镜像的目的。
其中,输入事件的属性信息通常包括多个,与终端虚拟机的系统状态进行匹配的属性信息可以是多个属性信息中的至少一个,例如,对于触摸输入事件,可以判断其属性信息中的发生时间是否与当前终端虚拟机系统的时间一致,如果一致则将该触摸输入事件插入系统。
由上述实施例可见,该实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性;并且,由于终端传输的聚合输入事件的容量较小,因此与直接传输用户数据相比,占用的网络传输资源较少,且不会影响终端自身的性能开销,保证了终端上其它业务的正常运行。
参见图3A,为应用本发明实施例的一个网络架构示意图:
图3A示出的网络架构中,包括用户使用的智能终端及云服务器,智能终端与云服务器之间通过网络进行通信。其中,智能终端内包括事件队列模块、事件处理模块和记录服务模块;云服务器内包括事件调度模块、事件插入模块和事件处理模块。
假设图3A中示出的智能终端具有触摸显示屏,下面结合用户对触摸显示屏上的某个应用软件图标进行点击为例,描述从智能终端向云服务器同步终端镜像的过程:
在智能终端侧:
当用户试图运行某个应用软件时,则点击触摸显示屏上该应用软件的图标,此时事件队列模块可以通过内核驱动将用户点击图标的动作抽象为一个输入事件,并将该输入事件插入智能终端内的事件队列,后续当用户对打开的应用软件进行操作时,在操作过程中会相应触发不同的输入事件,并将这些输入事件插入智能终端内的事件队列,其中,事件队列中的输入事件按照先进先出的方式进行排列;
事件处理模块可以通过事件处理线程从事件队列中顺序获取输入事件,并调用与输入事件相应的处理函数对输入事件进行处理,以便在智能终端上执行该应用软件;并且,事件处理模块还可以将事件队列中的输入事件按照异步处理方式发送至记录服务模块;
记录服务模块在获取到多个输入事件后,可以将这些输入事件进行聚合和压缩,得到压缩聚合事件,并将压缩聚合事件通过网络传输到云服务器;本实施例中,记录服务模块可以按照预设的时间周期对获取到的输入事件进行聚合和压缩,例如,可以设置每隔5s对获取到的输入事件进行聚合和压缩。
其中,记录服务模块在对输入事件进行聚合时,由于记录服务模块获取到的多个输入事件在事件队列中按照先入先出的顺序排列,且多个连续的输入事件通常为执行同一应用软件触发的事件,因此相邻的两个输入事件通常具有某些相同的属性信息,因此在传输后一个输入事件时,可以仅传输其与前一个输入事件的差别属性信息,以减少整个压缩聚合事件的大小,降低压缩聚合事件传输占用的网络资源。如图3B所示,假设记录服务模块本次传输三个输入事件,分别为事件1、事件2、事件3,每个输入事件由四个属性信息组成,在每个输入事件的头部有分别对应每个属性信息的位图信息,每个位图信息的比特值用于表示该位图信息对应的属性信息是否与前一个输入事件的属性信息相同,例如,如果相同,则位图信息的比特值为1,如果不相同,则位图信息的比特值为0。结合图3B可知,事件1的四个属性信息分别为A、B、C、D,假设事件1与其前一个事件的四个属性均不相同,则相应的,事件1的四个属性信息的位图信息的比特值均为0;对于事件2,其第二个属性信息和第四个属性信息与事件1相同,第一个属性信息与第三个属性信息与事件1不同,分别为E、F,因此事件2的位图信息的四个比特值分别为0、1、0、1;对于事件3,其第一个属性信息、第二个属性信息和第四个属性信息与事件2相同,第三个属性信息与事件2不同,为G,因此事件3的位图信息的四个比特值分别为1、1、0、1。由此可知,在传输图3B示出的三个输入事件时,虽然三个输入事件共有12个属性信息,但是通过为每个事件设置位图信息,则实际仅需要传输7个属性信息,由于位图信息占用的比特量较少,因此降低了传输三个输入事件的整体数据流大小。
进一步,对于待传输的聚合后的输入事件数据流,记录服务模块可以对该数据流进行压缩,以便进一步减小数据流的大小,压缩方式可以采用zip压缩,或者rar压缩等,对此本发明实施例不进行限制。
在云服务器侧:
事件调度模块接收到智能终端的记录服务模块传输的聚合压缩输入事件的数据流后,对该数据流进行解压缩,得到聚合输入事件,然后对聚合输入事件进行解析,获得多个输入事件。
其中,事件调度模块在对数据流解压缩的方式与记录服务模块对数据流的压缩方式一致;事件调度模块在对解压缩后的聚合输入事件进行解析时,结合图3B可知,当获取到的三个输入事件的属性信息和位图信息后,除了事件1外,后续每个输入事件都可以根据该输入事件的位图信息和该输入事件的前一个输入事件的属性信息进行恢复,例如,对于事件2,根据其位图信息的比特值“0101”可知,其第二个属性信息和第四个属性信息与事件1相同,因此从事件1中获取这两个属性信息即可;对于事件2,根据其位图信息的比特值“1101”可知,其第一个属性信息、第二个属性信息和第四个属性信息与事件2相同,因此从事件2中获取这三个属性信息即可。
事件插入模块判断事件调度模块解析出的每个输入事件的属性信息是否与智能终端虚拟机的系统状态匹配,如果匹配,则将该输入事件插入系统。其中,智能终端的虚拟机可以在自身系统状态发生变化时,以通知的方式触发事件插入模块对输入事件的属性信息与系统状态进行匹配。
本实施例中,输入事件的属性信息通常包括多个,与智能终端的虚拟机的系统状态进行匹配的属性信息可以是多个属性信息中的至少一个,例如,对于触摸输入事件,可以判断其属性信息中的发生时间是否与当前智能终端的虚拟机的系统时间一致,如果一致则将该触摸输入事件插入系统。
事件处理模块在事件插入模块将输入事件插入系统后,在智能终端的虚拟机内调用相应的处理函数对输入事件进行处理,该处理过程与智能终端内的事件处理模块调用处理函数对输入事件进行处理的过程一致,即云服务器上智能终端的虚拟机与智能终端内执行应用软件的过程一致,相应的,在智能终端的虚拟机上生成的用户数据也与智能终端生成的用户数据一致,从而实现了在云服务器上同步终端镜像的目的。
应用上述实施例,智能终端仅需向云服务器传输输入事件,就可以在云服务器上对智能终端的用户数据进行备份,从而可以使得智能终端丢失时,从云服务器上恢复智能终端的所有用户数据,包括丢失前的状态数据和文件数据;或者,利用云服务器上丰富的计算资源,通过对云服务器上的用户数据进行安全扫描,从而获得智能终端上的用户数据是否安全的检测结果。
与本发明同步终端镜像的方法的实施例相对应,本发明还提供了执行所述方法实施例的同步终端镜像的装置、终端及服务器的实施例。
参见图4,为本发明同步终端镜像的装置的一个实施例框图,该装置可以设置在终端侧:
该装置包括:获取单元410、聚合单元420和传输单元430。
其中,获取单元410,用于获取应用软件运行中的多个输入事件;
聚合单元420,用于将所述获取单元410获取的所述多个输入事件进行聚合,得到聚合事件;
传输单元430,用于将所述聚合单元420得到的聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
其中,所述聚合单元420可以包括(图4中未示出):
事件获取子单元,用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;
信息生成子单元,用于为所述事件获取子单元获取的当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;
数据确定子单元,用于将所述信息生成子单元生成的当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;
事件聚合子单元,用于当所述数据确定子单元确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
参见图5,为本发明同步终端镜像的装置的另一个实施例框图,该装置可以设置在终端侧:
该装置包括:获取单元510、插入单元520、聚合单元530、压缩单元540和传输单元550。
其中,获取单元510,用于获取应用软件运行中的多个输入事件;
插入单元520,用于将所述获取单元510获取的输入事件按照事件生成顺序插入事件队列;
聚合单元530,用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,获得聚合事件;
压缩单元540,用于对所述聚合单元540得到的聚合事件进行压缩,得到压缩聚合事件;
传输单元550,具体用于将所述压缩单元540得到的压缩聚合事件传输至云服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
其中,所述聚合单元530可以包括(图5中未示出):
事件获取子单元,用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;
信息生成子单元,用于为所述事件获取子单元获取的当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;
数据确定子单元,用于将所述信息生成子单元生成的当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;
事件聚合子单元,用于当所述数据确定子单元确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
参见图6,为本发明终端的实施例框图:
该终端包括:处理器610和网络接口620。
其中,所述处理器610,用于获取应用软件运行中的多个输入事件,将所述多个输入事件进行聚合,得到聚合事件;
所述网络接口620,用于将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
在一个可选的实现方式中:
所述处理器610,还可以用于将获取的输入事件按照事件生成顺序插入事件队列;
所述处理器610,可以具体用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,得到聚合事件。
在另一个可选的实现方式中:
所述处理器610,可以具体用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;
为所述当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;将所述当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;当确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件。
在另一个可选的实现方式中:
所述处理器610,还可以用于对所述聚合事件进行压缩,得到压缩聚合事件;
所述网络接口620,可以具体用于将所述压缩聚合事件传输至云服务器。
参见图7,为本发明同步终端镜像的装置的另一个实施例框图,该装置可以设置在服务器侧:
该装置包括:接收单元710、解析单元720和处理单元730。
其中,接收单元710,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
解析单元720,用于解析所述接收单元710接收到的聚合事件,获得所述多个输入事件;
处理单元730,用于通过设置在服务器上的所述终端的虚拟机处理所述解析单元720获得的多个输入事件,获得所述应用软件运行中产生的用户数据。
其中,所述解析单元720可以包括(图7中未示出):
数据获取子单元,用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;
属性获取子单元,用于根据所述数据获取子单元获取的位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;
事件生成子单元,用于将所述属性获取子单元获取到的所述相同的属性信息与所述数据获取子单元获取的传输数据中包含的不同的属性信息组成所述当前输入事件。
其中,所述处理单元730可以包括(图7中未示出):
状态匹配子单元,用于当接收到所述设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
事件处理子单元,用于根据所述状态匹配子单元的匹配结果,将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
参见图8,为本发明同步终端镜像的装置的另一个实施例框图,该装置可以设置在服务器侧:
该装置包括:接收单元810、解压缩单元820、解析单元830和处理单元840。
其中,接收单元810,用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到聚合事件,并对所述聚合事件进行压缩后得到的事件;
解压缩单元820,用于对所述接收单元810接收到的压缩聚合事件进行解压缩,获得所述聚合事件;
解析单元830,用于解析所述解压缩单元820获得的聚合事件,获得所述多个输入事件;
处理单元840,用于通过设置在服务器上的所述终端的虚拟机处理所述解析单元830获得的多个输入事件,获得所述应用软件运行中产生的用户数据。
其中,所述解析单元830可以包括(图8中未示出):
数据获取子单元,用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;
属性获取子单元,用于根据所述数据获取子单元获取的位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;
事件生成子单元,用于将所述属性获取子单元获取到的所述相同的属性信息与所述数据获取子单元获取的传输数据中包含的不同的属性信息组成所述当前输入事件。
其中,所述处理单元840可以包括(图8中未示出):
状态匹配子单元,用于当接收到所述设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
事件处理子单元,用于根据所述状态匹配子单元的匹配结果,将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
参见图9,为本发明服务器的实施例框图:
该服务器包括:终端接口910和处理器920。
其中,所述终端接口910,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
所述处理器920,用于解析所述聚合事件,获得所述多个输入事件,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
在一个可选的实现方式中:
所述终端接口910,可以具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述处理器920,还可以用于对所述压缩聚合事件进行解压缩,获得所述聚合事件。
在另一个可选的实现方式中:
所述处理器920,可以具体用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;根据所述位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;将获取到的所述相同的属性信息与所述传输数据中包含的不同的属性信息组成所述当前输入事件。
在另一个可选的实现方式中:
所述处理器920,可以具体用于当接收到所述设置在所述服务器上的终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
由上述实施例可见,终端获取应用软件运行中的多个输入事件,将多个输入事件进行聚合,得到聚合事件,将聚合事件传输至服务器,服务器对聚合事件进行解析得到多个输入事件后,通过设置在服务器上的终端的虚拟机处理多个输入事件,获得应用软件运行中产生的用户数据。本发明实施例中终端无需向服务器传输用户数据,而是采用事件驱动方式向服务器传输输入事件,使服务器端通过终端的虚拟机触发输入事件的执行,以获取与终端侧运行应用软件一致的用户数据,从而保证服务器能够备份完整的用户数据,提高用户数据安全性检查的准确性;并且,由于终端传输的聚合输入事件的容量较小,因此与直接传输用户数据相比,占用的网络传输资源较少,且不会影响终端自身的性能开销,保证了终端上其它业务的正常运行。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种同步终端镜像的方法,其特征在于,所述方法包括:
终端获取应用软件运行中的多个输入事件;
所述终端按照所述多个输入事件的生成顺序,获取一个当前输入事件;所述终端为所述当前输入事件的每个属性信息生成位图信息;其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;所述终端将所述当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;当所述终端确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件;
所述终端将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
2.根据权利要求1所述的方法,其特征在于,所述终端将所述多个输入事件进行聚合前,所述方法还包括:所述终端将获取的输入事件按照事件生成顺序插入事件队列;
相应地,所述终端将所述多个输入事件进行聚合,得到聚合事件,包括:
所述终端按照设置的时间周期将所述事件队列中的输入事件进行聚合,得到聚合事件。
3.根据权利要求1或2所述的方法,其特征在于,所述终端将所述多个输入事件进行聚合,得到聚合事件后,所述方法还包括:
所述终端对所述聚合事件进行压缩,得到压缩聚合事件;
相应地,所述终端将所述聚合事件传输至服务器,包括:
所述终端将所述压缩聚合事件传输至服务器。
4.一种同步终端镜像的方法,其特征在于,所述方法包括:
服务器接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
所述服务器从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;所述服务器根据所述位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;所述服务器将获取到的所述相同的属性信息与所述传输数据中包含的不同的属性信息组成所述当前输入事件;
所述服务器通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
5.根据权利要求4所述的方法,其特征在于,所述服务器接收终端传输的聚合事件,包括:所述服务器接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述服务器解析所述聚合事件前,所述方法还包括:
所述服务器对所述压缩聚合事件进行解压缩,获得所述聚合事件。
6.根据权利要求4或5所述的方法,其特征在于,所述服务器通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,包括:
当所述服务器接收到设置在所述服务器上的所述终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
所述服务器将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
7.一种同步终端镜像的装置,其特征在于,所述装置包括:
获取单元,用于获取应用软件运行中的多个输入事件;
聚合单元,所述聚合单元包括:事件获取子单元,用于按照所述多个输入事件的生成顺序,获取一个当前输入事件;信息生成子单元,用于为所述事件获取子单元获取的当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;数据确定子单元,用于将所述信息生成子单元生成的当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;事件聚合子单元,用于当所述数据确定子单元确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件;
传输单元,用于将所述聚合单元得到的聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
插入单元,用于将所述获取单元获取的输入事件按照事件生成顺序插入事件队列;
所述聚合单元,具体用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,获得聚合事件。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
压缩单元,用于对所述聚合单元得到的聚合事件进行压缩,得到压缩聚合事件;
所述传输单元,具体用于将所述压缩单元得到的压缩聚合事件传输至云服务器。
10.一种同步终端镜像的装置,其特征在于,所述装置包括:
接收单元,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
解析单元,所述解析单元包括:数据获取子单元,用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;属性获取子单元,用于根据所述数据获取子单元获取的位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;事件生成子单元,用于将所述属性获取子单元获取到的所述相同的属性信息与所述数据获取子单元获取的传输数据中包含的不同的属性信息组成所述当前输入事件;
处理单元,用于通过设置在服务器上的所述终端的虚拟机处理所述解析单元获得的多个输入事件,获得所述应用软件运行中产生的用户数据。
11.根据权利要求10所述的装置,其特征在于,
所述接收单元,具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述装置还包括:解压缩单元,用于对所述接收单元接收到的压缩聚合事件进行解压缩,获得所述聚合事件。
12.根据权利要求10或11所述的装置,其特征在于,所述处理单元包括:
状态匹配子单元,用于当接收到所述设置在服务器上的终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;
事件处理子单元,用于根据所述状态匹配子单元的匹配结果,将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
13.一种终端,其特征在于,所述终端包括:处理器和网络接口,其中,
所述处理器,用于获取应用软件运行中的多个输入事件,按照所述多个输入事件的生成顺序,获取一个当前输入事件;为所述当前输入事件的每个属性信息生成位图信息,其中,每个属性信息的位图信息用于指示所述属性信息与所述当前输入事件的前一个输入事件的对应属性信息是否相同;将所述当前输入事件的位图信息和与所述前一个输入事件不同的属性信息确定为所述当前输入事件的待传输数据;当确定完所述多个输入事件中每个输入事件的待传输数据后,将所述多个输入事件的待传输数据组成所述多个输入事件的聚合事件;
所述网络接口,用于将所述聚合事件传输至服务器,以使所述服务器对所述聚合事件进行解析得到所述多个输入事件后,通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
14.根据权利要求13所述的终端,其特征在于,
所述处理器,还用于将获取的输入事件按照事件生成顺序插入事件队列;
所述处理器,具体用于按照设置的时间周期将所述事件队列中的输入事件进行聚合,得到聚合事件。
15.根据权利要求13或14所述的终端,其特征在于,
所述处理器,还用于对所述聚合事件进行压缩,得到压缩聚合事件;
所述网络接口,具体用于将所述压缩聚合事件传输至云服务器。
16.一种服务器,其特征在于,所述服务器包括:终端接口和处理器,其中,
所述终端接口,用于接收终端传输的聚合事件,所述聚合事件为所述终端获取到应用软件运行中的多个输入事件后,将所述多个输入事件进行聚合得到的聚合事件;
所述处理器,用于从所述聚合事件中顺序获取一个当前输入事件的传输数据,所述传输数据中包含所述当前输入事件的每个属性信息的位图信息,以及与所述当前输入事件的前一个输入事件不同的属性信息,其中,所述每个属性信息的位图信息用于指示所述属性信息与所述前一个输入事件的对应属性信息是否相同;根据所述位图信息的指示,从所述前一个输入事件的属性信息中获取所述当前输入事件与所述前一个输入事件相同的属性信息;将获取到的所述相同的属性信息与所述传输数据中包含的不同的属性信息组成所述当前输入事件;通过设置在所述服务器上的所述终端的虚拟机处理所述多个输入事件,获得所述应用软件运行中产生的用户数据。
17.根据权利要求16所述的服务器,其特征在于,
所述终端接口,具体用于接收终端传输的压缩聚合事件,所述压缩聚合事件为所述终端对所述聚合事件进行压缩后得到的事件;
所述处理器,还用于对所述压缩聚合事件进行解压缩,获得所述聚合事件。
18.根据权利要求16或17所述的服务器,其特征在于,
所述处理器,具体用于当接收到设置在所述服务器上的所述终端的虚拟机的系统状态发生变化的通知时,判断所述多个输入事件的属性信息是否与所述系统状态匹配;将与所述系统状态匹配的属性信息对应的输入事件插入所述虚拟机的系统,以使所述系统调用处理函数对所述输入事件进行处理。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310268703.8A CN104253842B (zh) | 2013-06-28 | 2013-06-28 | 同步终端镜像的方法、装置、终端及服务器 |
KR1020147021238A KR101624821B1 (ko) | 2013-06-28 | 2014-01-28 | 단말기 미러를 동기화하기 위한 방법, 장치, 단말기 및 서버 |
PCT/CN2014/071634 WO2014206089A1 (zh) | 2013-06-28 | 2014-01-28 | 同步终端镜像的方法、装置、终端及服务器 |
ES14174056.3T ES2587603T3 (es) | 2013-06-28 | 2014-06-26 | Procedimiento, terminal y servidor para sincronizar información espejo de un terminal |
EP14174056.3A EP2819015B1 (en) | 2013-06-28 | 2014-06-26 | Method, terminal, and server for synchronizing terminal mirror |
JP2014132293A JP5986602B2 (ja) | 2013-06-28 | 2014-06-27 | 端末のデータセットの正確なコピーを同期させるための方法、装置、端末、及びサーバ |
US14/318,900 US9832259B2 (en) | 2013-06-28 | 2014-06-30 | Method and apparatus for cell configuration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310268703.8A CN104253842B (zh) | 2013-06-28 | 2013-06-28 | 同步终端镜像的方法、装置、终端及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104253842A CN104253842A (zh) | 2014-12-31 |
CN104253842B true CN104253842B (zh) | 2018-03-06 |
Family
ID=51260574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310268703.8A Active CN104253842B (zh) | 2013-06-28 | 2013-06-28 | 同步终端镜像的方法、装置、终端及服务器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9832259B2 (zh) |
EP (1) | EP2819015B1 (zh) |
JP (1) | JP5986602B2 (zh) |
KR (1) | KR101624821B1 (zh) |
CN (1) | CN104253842B (zh) |
ES (1) | ES2587603T3 (zh) |
WO (1) | WO2014206089A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10554491B2 (en) | 2016-02-26 | 2020-02-04 | Red Hat, Inc. | Customizable event processing for third party infrastructure events |
CN107046538B (zh) * | 2017-04-06 | 2021-02-09 | 王博 | 一种智能密室系统及其控制方法 |
CN107278294B (zh) * | 2017-05-12 | 2020-11-06 | 深圳前海达闼云端智能科技有限公司 | 输入设备实现方法及其实现装置 |
CN107391302A (zh) * | 2017-06-14 | 2017-11-24 | 深信服科技股份有限公司 | 位图数据管理方法及装置 |
US11582307B2 (en) * | 2017-08-30 | 2023-02-14 | King.Com Limited | Method and apparatus for processing data |
CN108390920A (zh) * | 2018-02-02 | 2018-08-10 | 浙江臻善科技股份有限公司 | 基于web端的Docker镜像构建方法、装置、存储设备及终端设备 |
CN110837048A (zh) * | 2019-10-30 | 2020-02-25 | 深圳市新威尔电子有限公司 | 基于虚拟机的电池检测系统及其工作方法 |
CN113398568B (zh) * | 2021-06-30 | 2023-04-11 | 广州方硅信息技术有限公司 | 数据传输方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140529A (zh) * | 2007-10-23 | 2008-03-12 | 中兴通讯股份有限公司 | 一种基于同步事件多路分离器的多事件处理方法及装置 |
CN102681845A (zh) * | 2012-04-24 | 2012-09-19 | 深圳创维数字技术股份有限公司 | 一种输入事件管理方法及装置 |
US8291170B1 (en) * | 2010-08-19 | 2012-10-16 | Symantec Corporation | System and method for event driven backup data storage |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512972B2 (en) * | 2002-09-13 | 2009-03-31 | Sun Microsystems, Inc. | Synchronizing for digital content access control |
CA2452251C (en) * | 2003-12-04 | 2010-02-09 | Timothy R. Jewell | Data backup system and method |
US7840963B2 (en) * | 2004-10-15 | 2010-11-23 | Microsoft Corporation | Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption |
US7672979B1 (en) * | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
CN100440859C (zh) | 2005-06-06 | 2008-12-03 | 中兴通讯股份有限公司 | 一种位图聚合的递推流分类方法及其系统 |
JP4468426B2 (ja) | 2007-09-26 | 2010-05-26 | 株式会社東芝 | 高可用システム及び実行状態制御方法 |
US8019863B2 (en) * | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US20110246721A1 (en) * | 2010-03-31 | 2011-10-06 | Sony Corporation | Method and apparatus for providing automatic synchronization appliance |
US20110271212A1 (en) | 2010-04-30 | 2011-11-03 | Jones Boland T | Managing multiple conferences via a conference user interface |
US20110271213A1 (en) * | 2010-05-03 | 2011-11-03 | Alcatel-Lucent Canada Inc. | Event based social networking application |
US8694700B1 (en) * | 2010-09-29 | 2014-04-08 | Emc Corporation | Using I/O track information for continuous push with splitter for storage device |
CN102685158A (zh) * | 2011-03-09 | 2012-09-19 | 郑江 | 一种网络数据共享的方法 |
US8930653B1 (en) * | 2011-04-18 | 2015-01-06 | American Megatrends, Inc. | Data de-duplication for information storage systems |
JP2012244463A (ja) * | 2011-05-20 | 2012-12-10 | Sony Corp | 受信端末、情報処理方法、プログラム、サーバ、送信端末及び情報処理システム |
CN103685388B (zh) | 2012-09-13 | 2015-01-07 | 腾讯科技(深圳)有限公司 | 信息管理的方法和装置 |
CN102946411A (zh) | 2012-10-15 | 2013-02-27 | 北京奇虎科技有限公司 | 网络同步系统 |
US10089192B2 (en) * | 2013-06-13 | 2018-10-02 | Hytrust, Inc. | Live restore for a data intelligent storage system |
US9213706B2 (en) * | 2013-06-13 | 2015-12-15 | DataGravity, Inc. | Live restore for a data intelligent storage system |
-
2013
- 2013-06-28 CN CN201310268703.8A patent/CN104253842B/zh active Active
-
2014
- 2014-01-28 WO PCT/CN2014/071634 patent/WO2014206089A1/zh active Application Filing
- 2014-01-28 KR KR1020147021238A patent/KR101624821B1/ko active IP Right Grant
- 2014-06-26 EP EP14174056.3A patent/EP2819015B1/en active Active
- 2014-06-26 ES ES14174056.3T patent/ES2587603T3/es active Active
- 2014-06-27 JP JP2014132293A patent/JP5986602B2/ja active Active
- 2014-06-30 US US14/318,900 patent/US9832259B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140529A (zh) * | 2007-10-23 | 2008-03-12 | 中兴通讯股份有限公司 | 一种基于同步事件多路分离器的多事件处理方法及装置 |
US8291170B1 (en) * | 2010-08-19 | 2012-10-16 | Symantec Corporation | System and method for event driven backup data storage |
CN102681845A (zh) * | 2012-04-24 | 2012-09-19 | 深圳创维数字技术股份有限公司 | 一种输入事件管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20150018764A (ko) | 2015-02-24 |
WO2014206089A1 (zh) | 2014-12-31 |
US20150026293A1 (en) | 2015-01-22 |
US9832259B2 (en) | 2017-11-28 |
EP2819015B1 (en) | 2016-06-01 |
ES2587603T3 (es) | 2016-10-25 |
KR101624821B1 (ko) | 2016-05-26 |
JP2015011719A (ja) | 2015-01-19 |
JP5986602B2 (ja) | 2016-09-06 |
CN104253842A (zh) | 2014-12-31 |
EP2819015A1 (en) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104253842B (zh) | 同步终端镜像的方法、装置、终端及服务器 | |
CN105573733B (zh) | 浏览器与web前端通信的方法、web前端及系统 | |
CN112583898A (zh) | 业务流程编排方法、装置、以及可读介质 | |
CN107741902A (zh) | 程序应用检测方法及程序应用检测装置 | |
CN113110867A (zh) | Rpa机器人的管理方法、装置、服务器和存储介质 | |
CN117176802B (zh) | 一种业务请求的全链路监控方法、装置、电子设备及介质 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
CN109634838A (zh) | 定位应用程序故障的方法、装置、存储介质和电子设备 | |
CN110347729B (zh) | 事件显示方法及装置、存储介质、电子装置 | |
CN112235300A (zh) | 云虚拟网络漏洞检测方法、系统、装置及电子设备 | |
CN116781323A (zh) | 数据发送方法、数据接收方法及装置、设备和介质 | |
CN115134254B (zh) | 一种网络模拟方法、装置、设备及存储介质 | |
CN114567571B (zh) | 性能测试方法、装置、电子设备和计算机可读存储介质 | |
CN113630404B (zh) | 一种协议报文的传输方法、装置、存储介质及终端 | |
CN109271454A (zh) | 一种数据同步的方法及网络设备 | |
CN113867890A (zh) | 一种日志采集方法、装置、介质 | |
CN115913912A (zh) | 报文拦截及业务链路图的生成方法及装置 | |
CN103294589B (zh) | 一种测试用例的实现方法、系统及中间适配装置 | |
CN104092557B (zh) | 数据收集方法、服务器、终端及系统 | |
CN103888586A (zh) | 一种传输数据的方法和终端 | |
CN110502418B (zh) | 一种实现远程调试的方法 | |
CN115086756B (zh) | 视频处理方法、装置及存储介质 | |
CN108989314A (zh) | 一种流式数据传输、处理方法及装置 | |
TWI267267B (en) | Method for testing Internet connecting apparatus | |
CN110365694B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |