CN103853621B - 一种跨进程交互方法及相关终端设备 - Google Patents

一种跨进程交互方法及相关终端设备 Download PDF

Info

Publication number
CN103853621B
CN103853621B CN201210515439.9A CN201210515439A CN103853621B CN 103853621 B CN103853621 B CN 103853621B CN 201210515439 A CN201210515439 A CN 201210515439A CN 103853621 B CN103853621 B CN 103853621B
Authority
CN
China
Prior art keywords
data
animation
data manipulation
socket
icon
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
CN201210515439.9A
Other languages
English (en)
Other versions
CN103853621A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210515439.9A priority Critical patent/CN103853621B/zh
Publication of CN103853621A publication Critical patent/CN103853621A/zh
Application granted granted Critical
Publication of CN103853621B publication Critical patent/CN103853621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及计算机进程交互领域,公开了一种跨进程交互方法及相关终端设备。其中,该方法包括:第一进程创建与第二进程之间的跨进程交互连接;第一进程接收到数据对象并将该数据对象封装为数据操作对象;第二进程向第一进程发送获取所述数据操作对象的请求;及第一进程根据上述请求生成相应的数据操作对象集合并将该数据对象集合发送至第二进程。实施本发明可以实现网络数据与信息图形之间跨进程交互,使得计算机系统在面对大量数据改变的操作时,也可以流畅快速地绘图与处理用户的操作。

Description

一种跨进程交互方法及相关终端设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种跨进程交互方法及相关终端设备。
背景技术
人机交互(Human-Computer Interaction,HCI)通常是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程。计算机的大部分信息的展示,都是以图形的方式呈现的,图形是人机交互的主要表现形式,其对数据有更直观的描述。例如,代表各种程序入口的桌面图标、代表对话信息的列表框、代表警告与提示信息的弹出框、代表即时通讯新消息的闪动并提示的消息框等图形。
现有的计算机系统中,绘图、播放动画等图形操作往往需要大量的时间进行处理,而且会耗费大量的资源(如内存),相对而言,该图形操作所需的网络数据资源较少,而且仅需要对网络数据轻量的逻辑处理。然而,由于网络常常存在不稳定的状况,尽管网络数据的处理不会耗费过多的网络资源,但是往往会导致网络数据的处理消耗大量的时间。因此,由于网络数据进程与信息图形绘制进程之间无法跨进程处理,当面对大量的网络数据改变操作时,图形的处理能力往往制约整个计算机系统性能的瓶颈。
发明内容
本发明实施例所要解决的技术问题是提供一种跨进程交互方法及相关终端设备,可以实现网络数据与信息图形之间跨进程交互,使得计算机系统在面对大量数据改变的操作时,也可以流畅快速地绘图与处理用户的操作。
本发明实施例第一方面提供一种跨进程交互方法,包括:
第一进程创建与第二进程之间的跨进程交互连接;
第一进程接收到数据对象并将该数据对象封装为数据操作对象;
第二进程向第一进程发送获取所述数据操作对象的请求;及
第一进程根据上述请求生成相应的数据操作对象集合并将该数据对象集合发送至第二进程。
本发明实施例第二方面提供的一种终端设备,包括:
数据操作模块,用于为第一进程创建与第二进程之间的跨进程交互连接,为该第一进程接收数据对象并将该数据对象封装为数据操作对象;及
图形绘制模块,用于为第二进程向第一进程发送获取所述数据操作对象的请求,使得所述数据操作模块根据上述请求生成相应的数据操作对象集合,并接收来自所述数据操作模块的数据操作对象集合。
本发明实施例所述的跨进程交互方法中,使用不同的进程区分数据操作与图形绘制,使得数据操作进程与图形绘制进程之间实现跨进程交互连接,简化了跨进程通信过程中通道建立过程,提高了数据处理效率。而且,基于该数据操作进程与图形绘制进程之间实现跨进程交互通信,并利用数据操作对象列表来缓冲数据操作,即使计算机系统在面对大量的网络数据改变操作时,也可以流畅有效地绘制图形和处理用户的操作,而且能保证动画的平顺播放。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种跨进程交互方法的流程图。
图2是本发明实施例提供的另一种跨进程交互方法的流程图。
图3是图2中所述跨进程交互方法中步骤S207的流程图。
图4是本发明实施例提供的一种终端设备的结构图。
图5是本发明实施例提供的一种终端设备的具体功能模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种跨进程交互方法及相关终端设备中,使用不同的进程区分数据操作与图形绘制,使得数据操作进程与图形绘制进程之间实现跨进程交互连接,简化了跨进程通信过程中通道建立过程,提高了数据处理效率。而且,基于该数据操作进程与图形绘制进程之间实现跨进程交互通信,即使计算机系统在面对大量的网络数据改变操作时,也可流畅有效地绘制图形和处理用户的操作,而且能保证动画的平顺播放。以下分别进行详细说明。
请参阅图1,图1是本发明实施例提供的一种跨进程交互方法的流程图。在本发明实施例中,所述跨进程可为数据操作进程与图形绘制进程之间的跨进程交互,可以理解,该跨进程也可以为其他两个进程之间的跨进程交互操作,并不限定于所述数据操作进程与图形绘制进程之间的跨进程交互,本实施例仅以此为例加以说明。
所述数据操作进程与图形绘制进程交互通信在终端设备中完成,本实施例中,终端设备可以是装载有控制软件的,并且具有计算能力的电脑、智能手机、电视机以及各种家庭智能设备、商用智能设备、办公智能设备、移动互联网设备(Mobile Internet Devices,MID)等,本发明实施例不作具体限定。
如图1所示,所述跨进程交互方法至少包括如下步骤。
S101、第二进程向第一进程发送跨进程交互连接请求。
在本发明实施例中,所述第一进程可为数据操作进程,所述第二进程可为图形绘制进程,该第一进程与第二进程可通过socket实现跨进程交互连接。所述socket作为跨进程通信方式,是一种基于文件的本地socket连接,其不但可用于单机内的进程间通信,还可用于不同终端设备之间的进程间通信。
S102、根据所述跨进程交互连接请求,第一进程创建与第二进程之间的跨进程交互连接。
在本发明实施例中,当所述数据操作进程接收到所述图形绘制进程的跨进程交互连接请求时,该数据操作进程反馈跨进程交互连接响应,建立从该数据操作进程到所述图形绘制进程的通信通道,并可根据所述请求的类型加载相应的服务模块。该数据操作进程与图形绘制进程之间通过socket进行跨进程交互连接,并根据连接启动的方式以及本地socket要连接的目标,,所述第一进程与第二进程之间通过socket跨进程交互连接的过程包括:
第一进程监听:该第一进程监听是否有其他进程的连接请求;具体为,该第一进程创建socket,并绑定具有文件描述符的文件,并监听是否有其他对应于该文件描述符的本地socket连接请求;
第二进程请求:所述第二进程socket发出连接请求;具体为,第二进程创建socket,并绑定与所述第一进程的文件描述符相对应的文件,该第二进程的socket描述其要连接的第一进程的socket,指出该第一进程socket的文件路径,然后向第一进程socket发出连接请求;
第一进程响应所述连接请求以确认连接:所述第一进程socket监听到或接收到第二进程socket的连接请求,并响应该连接请求以建立一个新的路径,把第一进程socket的描述发给第二进程,若该第二进程确认了该描述,则所述第一进程与第二进程之间建立socket跨进程交互连接以接收/发送数据。
S103、接收到新数据对象并将其封装为数据操作对象。
在本发明实施例中,当用户进行数据操作或者接收到服务器的新数据对象时,所述数据操作进程将获得的新数据对象封装成对应的数据操作对象。其中,所述用户进行数据操作主要指用户主动添加、删除一条信息的操作。请参阅表1,将一条包括发送者和信息内容的信息封装成如表1所示的格式的数据操作对象。
表1:由一条信息封装成数据操作对象的格式
S104、第二进程向第一进程发送获取所述数据操作对象的请求。
在本发明实施例中,所述数据操作进程通知所述图形绘制进程有新的数据操作对象,该图形绘制进程接收到所述有新数据操作对象的通知时,所述图形绘制进程向数据操作进程发送获取所述数据操作对象的请求。
S105、第一进程根据上述请求生成相应的数据操作对象集合并将该数据操作对象集合发送至第二进程。
在本发明实施例中,所述操作进程根据上述请求,将数据操作对象打包处理形成相应的数据操作对象集合,并将打包形成的数据操作对象集合发送给第二进程,以便于所述第二进程在收到该数据操作对象集合后执行动画处理操作。举例来说,所述操作进程根据上述获取数据操作对象的请求,将数据操作对象Object 0和Object 1打包形成一个数据操作对象集合,并将该打包形成的数据操作对象集合发送给图形绘制进程,通过所述打包处理,可同时将两个数据操作对象传送到所述图形绘制进程,从而节省数据传输时间,而且不会耗费大量的网络资源。
本发明实施例所述的跨进程交互方法中,使用不同的进程区分数据操作与图形绘制,使得数据操作进程与图形绘制进程之间实现跨进程交互连接,简化了跨进程通信过程中通道建立过程,提高了数据处理效率。而且,基于该数据操作进程与图形绘制进程之间实现跨进程交互通信,即使计算机系统在面对大量的网络数据改变操作时,也可以流畅有效地绘制图形和处理用户的操作,而且能保证动画的平顺播放。
请参阅图2,图2是本发明第二实施例提供的跨进程交互方法的流程图。在本发明实施例中,所述跨进程可为数据操作进程与图形绘制进程之间的跨进程交互,可以理解,该跨进程也可以为其他两个进程之间的跨进程交互操作,并不限定于所述数据操作进程与图形绘制进程之间的跨进程交互,本实施例仅以此为例加以说明。
所述数据操作进程与图形绘制进程交互通信在终端设备中完成,本实施例中,终端设备可以是装载有控制软件的,并且具有计算能力的电脑、智能手机、电视机以及各种家庭智能设备、商用智能设备、办公智能设备、移动互联网设备(Mobile Internet Devices,MID)等,本发明实施例不作具体限定。
如图2所示,所述跨进程交互方法至少包括如下步骤。
S201、第一进程注册socket监听器,以监听是否有socket连接请求。
在本发明实施例中,所述第一进程可为数据操作进程,所述socket作为跨进程通信方式,是一种基于文件的本地socket连接,其不但可用于单机内的进程间通信,还可用于不同终端设备之间的进程间通信。
S202、第二进程向第一进程发送跨进程交互连接请求。
在本发明实施例中,所述第二进程可为图形绘制进程,该第一进程与第二进程之间可通过socket实现跨进程交互连接。所述socket作为跨进程通信方式,其不但可用于单机内的进程间通信,还可用于不同终端设备之间的进程间通信。
S203、根据上述跨进程交互连接请求,第一进程创建与第二进程之间的跨进程交互连接。
在本发明实施例中,当所述数据操作进程接收到所述图形绘制进程的跨进程交互连接请求时,该数据操作进程反馈跨进程交互连接响应,建立从所述数据操作进程到所述图形绘制进程的通信通道,并可根据所述请求的类型加载相应的服务模块。该数据操作进程与图形绘制进程之间通过socket进行跨进程交互连接,并根据连接启动的方式以及本地socket要连接的目标,所述第一进程与第二进程之间通过socket跨进程交互连接的过程包括:
第一进程监听:该第一进程监听是否有其他进程的连接请求;具体为,该第一进程创建socket,并绑定具有文件描述符的文件,并监听是否有其他对应于该文件描述符的本地socket连接请求;
第二进程请求:所述第二进程socket发出连接请求;具体为,第二进程创建socket,并绑定与所述第一进程的文件描述符相对应的文件,该第二进程的socket描述其要连接的第一进程的socket,指出该第一进程socket的文件路径,然后向第一进程socket发出连接请求;
第一进程响应所述连接请求以确认连接:所述第一进程socket监听到或接收到第二进程socket的连接请求,并响应该连接请求以建立一个新的路径,把第一进程socket的描述发给第二进程,若该第二进程确认了该描述,则所述第一进程与第二进程之间建立socket跨进程交互连接以接收/发送数据。
S204、第一进程接收数据对象并将其封装为数据操作对象。
在本发明实施例中,所述数据对象是指用户进行数据操作或接收到服务器的新数据,其中,用户进行数据操作主要指用户主动添加、删除一条信息的操作。请参阅表1,将一条包括发送者和信息内容的信息封装成如表1所示的格式的数据操作对象。
此外,所述数据操作进程将所述的数据操作对象按照时间的顺序插入数据操作列表中(新接收的数据在前面位置),该数据操作列表如表2所示,其中,斜体所在的数据Object 2代表图形绘制进程上一次拉取信息时的最新的数据,而本次拉取的数据Object 0和Object 1都是最近获取的新的数据,故本次拉取的数据Object 0和Object 1按照时间的顺序排列在上一次拉取的数据Object 2前面。
表2:插入数据操作对象的数据操作列表
时间 数据操作对象
Time 0 Object 0
Time 1 Object 1
Time 2 Object 2
Time 3 Object 3
S205、第二进程接收到具有数据操作对象的通知,并向第一进程发送获取该数据操作对象的请求。
在本发明实施例中,所述数据操作进程通知所述图形绘制进程,提示有新的数据操作对象,该图形绘制进程接收到该有新的数据操作对象的通知时,所述图形绘制进程向数据操作进程发送获取所述数据操作对象的请求。具体为,当所述图形绘制进程接收到具有数据操作对象的通知时,其判断当前是否有动画在运行,若当前没有动画在运行,则直接向所述数据操作进程请求获取数据;若判断当前有动画正在运行,则等到该动画结束时再向所述数据操作进程请求获取数据,从而保证动画在播放过程中不会受到新数据通知的干扰,并确保在动画执行完成之后才进行下一次的动画播放。
S206、处理该数据操作对象以形成对应的数据操作对象集合,并将该数据操作对象集合发送至第二进程。
在本发明实施例中,所述数据操作进程根据上述请求,将数据操作对象打包处理为相应的数据操作对象集合,并将打包形成的数据操作对象集合发送给图形绘制进程,以便于所述图形绘制进程在收到该数据操作对象集合后执行动画处理操作。举例来说,请参阅表3,所述数据操作进程将所述的数据操作对象按照时间的顺序存放于数据操作列表中,该数据操作列表如表3所示,其中最新获取的数据位于该数据操作列表的前面位置。
所述操作进程根据上述获取数据操作对象的请求,将上述表2中的数据操作对象Object 0和Object 1打包生成一个数据操作对象集合,并将该打包形成的数据操作对象集合发送给图形绘制进程,因此,表2中的斜体表示的数据操作对象Object 2变成了最后一次拉取的最新数据操作对象Object 0,并按时间顺序排在最前面。通过将数据操作对象打包处理,可同时将两个数据操作对象传送到所述图形绘制进程,从而节省数据传输时间,而且不会耗费大量的网络资源。
表3:将数据操作对象打包发送之后的数据操作列表
时间 数据操作对象
Time 0 Object 0
Time 1 Object 1
Time 2 Object 2
Time 3 Object 3
S207、第二进程根据接收到的数据操作对象集合进行动画处理操作。
在本发明实施例中,所述图形绘制进程接收发送自该数据操作进程的数据操作对象集合后,即可进入动画处理操作。
请参阅图3,图3是所述跨进程交互方法中步骤S207的流程图。所述第二进程根据接收到的数据操作对象集合进行动画处理操作的步骤包括至少如下子步骤:
S2071、将桌面已有图形信息放入临时的内存队列中;具体为,图形绘制进程的图形处理层将桌面已有的图形信息放入临时的内存队列temp_list中;
S2072、遍历所述数据操作对象集合;具体为,所述图形绘制进程的适配器层对所述数据操作对象集合进行遍历,当遍历到数据操作对象的操作为添加时,将操作中的数据对象转换成图标,并将其插入到内存队列temp_list中;当遍历到数据操作对象的操作为删除时,所述图形绘制进程的适配器层不会从内存队列temp_list中将图标删除,而是给即将删除的图标打上一个即将被删除的标记(如在即将被删除的图标右上角增加类似“X”的删除标记);
S2073、遍历桌面上已有的图标序列与内存队列;具体为,所述图形绘制进程的图形处理层同时遍历桌面已有的图标序列icon_list和内存队列temp_list,为内存队列temp_list中新增加的图标设置插入动画,为内存队列temp_list中标记为删除的图标设置删除动画,为内存队列temp_list中的原有图标中相对于图标序列icon_list中图标的位置发生变化的图标设置位移动画;
S2074、执行动画预处理;具体为,所述图形绘制进程的图形处理层同时遍历桌面的图标序列icon_list和内存队列temp_list之后,进行动画预处理,其动画预处理操作如下:
如果存在删除动画,则所有的删除动画操作最先执行,并同时进行;
如果存在位移动画,则所有的位移动画在删除动画操作之后同时执行;
如果存在添加动画,则所有的添加动画在位移动画操作之后同时执行;
S2075、按照优化级别执行动画操作;具体为,所述图形绘制进程的图形处理层根据优先级别执行动画处理操作,如播放动画;
S2076、清空所述内存队列;具体为,在上述动画操作执行完成之后,所述图形绘制进程的图形处理层清空临时的内存队列temp_list。
本发明实施例所述的跨进程交互方法中,使用不同的进程区分所述数据操作与图形绘制,使得数据操作进程与图形绘制进程之间实现跨进程交互连接,简化了跨进程通信过程中通道建立过程,提高了数据处理效率。而且,基于该数据操作进程与图形绘制进程之间实现跨进程交互通信,并利用数据操作对象列表来缓冲数据操作,即使计算机系统在面对大量的网络数据改变操作时,也可以流畅有效地绘制图形和处理用户的操作,而且能保证动画的平顺播放。
请参阅图4,图4是本发明实施例提供的一种终端设备的功能模块图。该终端设备可以是装载有逻辑控制软件的,并且具有计算能力的电脑、智能手机、电视机以及各种家庭智能设备、商用智能设备、办公智能设备、MID等,本发明实施例不作具体限定。如图4所示,所述终端设备400包括:
数据操作模块401,用于接收来自于服务器及终端设备的信息(包括从其他终端设备接收到的和发送至其他终端设备的信息),并处理相关信息数据以生成相应的数据操作对象;
图形绘制模块402,与上述数据操作模块401之间跨进程交互连接,用于根据所述数据操作对象执行相应的图形和动画操作。
如图5所示,本发明实施例提供的终端设备400中,所述数据操作模块401包括:
数据收发单元4011,用于处理信息数据与服务器,及数据与其他进程之间的通信;
具体为,所述数据收发单元4011用于为第一进程注册socket监听器,以监听是否有socket连接请求;在本发明实施例中,所述第一进程可为数据操作进程,所述socket作为跨进程通信方式,是一种基于文件的本地socket连接,其不但可用于单机内的进程间通信,还可用于不同终端设备之间的进程间通信;
所述数据收发单元4011还用于接收第二进程发送的跨进程交互连接请求;在本发明实施例中,所述第二进程可为图形绘制进程,该第一进程与第二进程可通过socket实现跨进程交互连接,所述socket作为跨进程通信方式,其不但可用于单机内的进程间通信,还可用于不同终端设备之间的跨进程通信;
所述数据收发单元4011进一步用于根据上述跨进程交互连接请求,创建所述第一进程与第二进程之间的跨进程交互连接;
在本发明实施例中,当所述数据操作进程接收到所述图形绘制进程的跨进程交互连接请求时,该数据操作进程反馈跨进程交互连接响应,建立从所述数据操作进程到所述图形绘制进程的通信通道,并可根据所述请求的类型加载相应的服务模块。该数据操作进程与图形绘制进程之间通过socket进行跨进程交互连接,并根据连接启动的方式以及本地socket要连接的目标,所述第一进程与第二进程之间通过socket跨进程交互连接的过程包括:
第一进程监听:该第一进程监听是否有其他进程的连接请求;具体为,该第一进程创建socket,并绑定具有文件描述符的文件,并监听是否有其他对应于该文件描述符的本地socket连接请求;
第二进程请求:所述第二进程socket发出连接请求;具体为,第二进程创建socket,并绑定与所述第一进程的文件描述符相对应的文件,该第二进程的socket描述其要连接的第一进程的socket,指出该第一进程socket的文件路径,然后向第一进程socket发出连接请求;
第一进程响应所述连接请求以确认连接:所述第一进程socket监听到或接收到第二进程socket的连接请求,并响应该连接请求以建立一个新的路径,把第一进程socket的描述发给第二进程,若该第二进程确认了该描述,则所述第一进程与第二进程之间建立socket跨进程交互连接以接收/发送数据;
所述数据收发单元4011还用于为第一进程接收新数据对象;在本发明实施例中,所述新数据对象是指用户进行数据操作或接收到服务器的新数据,其中,用户进行数据操作主要指用户主动添加、删除一条信息的操作;
数据操作单元4013,用于将数据对象封装为数据操作对象;
具体为,该数据操作单元4013用于将接收的新数据对象封装为如上述表1所示的数据操作对象;所述数据操作进程将所述的数据操作对象按照时间的顺序插入数据操作列表中(新接收的数据在前面位置),该数据操作列表如表2所示,其中,斜体所在的数据Object 2代表图形绘制进程上一次拉取信息时的最新的数据,而本次拉取的数据Object 0和Object 1都是最近获取的新的数据,故本次拉取的数据Object 0和Object 1按照时间顺序排列在上一次拉取的数据Object 2前面;
进一步,所述数据操作单元4013用于处理该数据操作对象以形成对应的数据操作对象集合,并通过所述数据收发单元4011将该数据操作对象集合发送至所述图形绘制模块402;
在本发明实施例中,所述数据操作单元4013将数据操作对象打包处理形成相应的数据操作对象集合,并将打包形成的数据操作对象集合发送给所述图形绘制模块402,以便于所述图形绘制模块402在收到该数据操作对象集合后执行动画处理操作。举例来说,请参阅表3,所述数据操作对象按照时间的顺序存放于数据操作列表中(新的数据在前面位置),该数据操作列表如表3所示;
所述数据操作单元4013将上述表2中的数据操作对象Object 0和Object 1打包生成一个数据操作对象集合,并将该打包形成的数据操作对象集合发送给图形绘制模块402,因此,表2中的斜体表示的数据操作对象Object 2变成了最后一次拉取的最新数据操作对象Object 0,并按时间顺序排在最前面,因此,通过将数据操作对象打包处理,可同时将两个数据操作对象传送到所述图形绘制进程,从而节省数据传输时间,而且不会耗费大量的网络资源。
如图5所示,本发明实施例提供的终端设备400中,所述图形绘制模块402包括:
数据接收单元4021,用于接收从所述数据收发单元4011发送的数据操作对象及打包后形成的相应的数据操作对象集合;
图形处理单元4023,用于将桌面已有图形信息放入临时的内存队列中;具体为,该图形处理单元4023将桌面已有的图形信息放入临时的内存队列temp_list中;
适配器单元4025,用于遍历所述数据操作对象集合;具体为,所述适配器单元4025对所述数据操作对象集合进行遍历,当遍历到的操作为添加时,将操作中的数据对象转换成图标,并将其插入到内存队列temp_list中;当遍历到数据操作对象的操作为删除时,所述适配器单元4025不会从内存队列temp_list中将图标删除,而是给即将删除的图标打上一个即将被删除的标记(如在即将被删除的图标右上角增加类似“X”的删除标记)。
进一步地,所述图形处理单元4023还用于遍历桌面已有的图标序列与内存队列;具体为,该图形处理单元4023同时遍历桌面已有的图标序列icon_list和内存队列temp_list,为内存队列temp_list中新增加的图标设置插入动画,为内存队列temp_list中标记为删除的图标设置删除动画,为内存队列temp_list中的原有图标中相对于图标序列icon_list中图标的位置发生变化的图标设置位移动画。
所述图形处理单元4023还用于执行动画预处理;具体为,所述图形处理单元4023同时遍历桌面的图标序列icon_list和内存队列temp_list之后,进行动画预处理,其动画预处理操作如下:
如果存在删除动画,则所有的删除动画操作最先执行,并同时进行;
如果存在位移动画,则所有的位移动画在删除动画操作之后同时执行;
如果存在添加动画,则所有的添加动画在位移动画操作之后同时执行。
所述图形处理单元4023进一步用于根据优先级别执行动画处理操作(如播放动画),并清空所述内存队列,具体为,在上述动画操作执行完成之后,所述图形绘制进程的图形处理层清空临时的内存队列temp_list。
本发明实施例中,所述数据操作模块401与图形绘制模块402分别负责所述数据操作与图形绘制操作,使得数据操作进程与图形绘制进程之间实现跨进程交互连接,简化了跨进程通信过程中通道建立过程,节约了代码,提高了通信效率。而且,基于该数据操作进程与图形绘制进程之间实现跨进程交互通信,并利用数据操作对象列表来缓冲数据操作,即使计算机系统在面对大量的网络数据改变操作时,可以流畅有效地绘制图形和处理用户的操作,也能保证动画的平顺。
理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的人机交互方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种跨进程交互方法,其特征在于,包括:
第一进程创建与第二进程之间的跨进程交互连接;
第一进程接收到数据对象并将该数据对象封装为数据操作对象;
当所述第二进程接收到来自所述第一进程的具有数据操作对象的通知时,判断当前是否有动画在运行,若当前没有动画在运行,则直接向所述第一进程请求获取数据操作对象;若判断当前有动画正在运行,则等到该动画结束时再向所述第一进程请求获取数据操作对象;及
第一进程根据上述请求生成相应的数据操作对象集合并将该数据对象集合发送至第二进程。
2.根据权利要求1所述的跨进程交互方法,其特征在于,在第一进程创建与第二进程之间的跨进程交互连接的步骤之前,所述方法还包括:第二进程向第一进程发送跨进程交互连接请求,其中,所述第一进程与第二进程之间通过socket跨进程交互连接。
3.根据权利要求2所述的跨进程交互方法,其特征在于,在第二进程向第一进程发送跨进程交互连接请求的步骤之前,所述方法还包括:第一进程注册socket监听器,以监听是否有socket连接请求。
4.根据权利要求3所述的跨进程交互方法,其特征在于,所述第一进程与第二进程之间通过socket跨进程交互连接,包括:
第一进程监听:该第一进程监听是否有其他进程的连接请求,其中,该第一进程创建socket,并绑定具有文件描述符的文件,并监听是否有其他对应于该文件描述符的本地socket连接请求;
第二进程请求:所述第二进程socket发出连接请求,其中,所述第二进程创建socket,并绑定与所述第一进程的文件描述符相对应的文件,该第二进程的socket描述其要连接的第一进程的socket,指出该第一进程socket的文件路径,并向该第一进程socket发出连接请求;及
第一进程响应所述连接请求以确认连接:所述第一进程socket监听到或接收到第二进程socket的连接请求,并响应该连接请求以建立一个新的路径,把第一进程socket的描述发给第二进程,若该第二进程确认了该描述,则所述第一进程与第二进程之间建立socket跨进程交互连接以接收/发送数据。
5.根据权利要求1所述的跨进程交互方法,其特征在于,在第一进程根据上述请求生成相应的数据操作对象集合并将该数据对象集合发送至第二进程的步骤之后,所述方法还包括:第二进程根据接收到的数据操作对象集合进行动画处理操作。
6.根据权利要求5所述的跨进程交互方法,其特征在于,所述第二进程根据接收到的数据操作对象集合进行动画处理操作,包括:
将桌面上的图形信息放入临时的内存队列中;
遍历所述数据操作对象集合;
遍历桌面上的图标序列与内存队列;
执行动画预处理;
按照优化级别执行动画操作;及
清空所述内存队列。
7.根据权利要求6所述的跨进程交互方法,其特征在于,所述遍历所述数据操作对象集合包括:
所述第二进程对所述数据操作对象集合进行遍历,当遍历到数据操作对象的操作为添加时,将操作中的数据对象转换成图标,并将其插入到内存队列中;当遍历到数据操作对象的操作为删除时,所述第二进程给即将删除的图标打上一个即将被删除的标记,并暂时保留在内存队列中。
8.根据权利要求6所述的跨进程交互方法,其特征在于,所述遍历桌面上的图标序列与内存队列包括:
所述第二进程同时遍历桌面上的图标序列和内存队列,为内存队列中新增加的图标设置插入动画,为内存队列中标记为删除的图标设置删除动画,为内存队列中的原有图标中相对于图标序列中图标的位置发生变化的图标设置位移动画。
9.根据权利要求8所述的跨进程交互方法,其特征在于,所述执行动画预处理的步骤,包括:
如果存在删除动画,则所有的删除动画操作最先执行,并同时进行;
如果存在位移动画,则所有的位移动画在删除动画操作之后同时执行;及
如果存在添加动画,则所有的添加动画在位移动画操作之后同时执行。
10.一种终端设备,其特征在于,包括:
数据操作模块,用于为第一进程创建与第二进程之间的跨进程交互连接,为该第一进程接收数据对象并将该数据对象封装为数据操作对象;及
图形绘制模块,用于为当所述第二进程接收到来自所述第一进程的具有数据操作对象的通知时,判断当前是否有动画在运行,若当前没有动画在运行,则直接向所述第一进程请求获取数据操作对象;若判断当前有动画正在运行,则等到该动画结束时再向所述第一进程请求获取数据操作对象,使得所述数据操作模块根据上述请求生成相应的数据操作对象集合,并接收来自所述数据操作模块的数据操作对象集合。
11.根据权利要求10所述的终端设备,其特征在于,所述数据操作模块还包括数据收发单元,该数据收发单元用于为第一进程注册socket监听器,以监听是否有socket连接请求。
12.根据权利要求11所述的终端设备,其特征在于,所述数据收发单元还用于接收第二进程发送的跨进程交互连接请求,并根据上述跨进程交互连接请求,创建所述第一进程与第二进程之间的跨进程交互连接,其中,所述第一进程与第二进程之间通过socket跨进程交互连接。
13.根据权利要求11所述的终端设备,其特征在于,所述数据操作模块还包括数据操作单元,该数据操作单元用于将所述数据对象封装为对应的数据操作对象。
14.根据权利要求13所述的终端设备,其特征在于,所述数据操作单元用于处理该数据操作对象以形成对应的数据操作对象集合,并通过所述数据收发单元将该数据操作对象集合发送至所述图形绘制模块。
15.根据权利要求11所述的终端设备,其特征在于,所述图形绘制模块还包括数据接收单元,该数据接收单元用于接收从所述数据收发单元发送的数据操作对象及打包后形成的相应的数据操作对象集合。
16.根据权利要求15所述的终端设备,其特征在于,所述图形绘制模块还包括图形处理单元,该图形处理单元用于将桌面上的图形信息放入临时的内存队列中。
17.根据权利要求16所述的终端设备,其特征在于,所述图形绘制模块还包括适配器单元,该适配器单元用于遍历所述数据操作对象集合,当遍历到数据操作对象的操作为添加时,将操作中的数据对象转换成图标,并将其插入到内存队列中;当遍历到数据操作对象的操作为删除时,所述第二进程给即将删除的图标打上一个即将被删除的标记,并暂时保留在内存队列中。
18.根据权利要求16所述的终端设备,其特征在于,所述图形处理单元还用于遍历桌面上的图标序列与内存队列,该图形处理单元同时遍历桌面的图标序列和内存队列,为内存队列中新增加的图标设置插入动画,为内存队列中标记为删除的图标设置删除动画,为内存队列中的原有图标中相对于图标序列中图标的位置发生变化的图标设置位移动画。
19.根据权利要求16所述的终端设备,其特征在于,所述图形处理单元还用于执行动画预处理操作,所述动画预处理操作包括:
如果存在删除动画,则所有的删除动画操作最先执行,并同时进行;
如果存在位移动画,则所有的位移动画在删除动画操作之后同时执行;及
如果存在添加动画,则所有的添加动画在位移动画操作之后同时执行。
20.根据权利要求19所述的终端设备,其特征在于,所述图形处理单元进一步用于根据优先级别执行动画处理操作,并在上述动画处理操作执行完成之后,清空所述临时的内存队列。
CN201210515439.9A 2012-12-05 2012-12-05 一种跨进程交互方法及相关终端设备 Active CN103853621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210515439.9A CN103853621B (zh) 2012-12-05 2012-12-05 一种跨进程交互方法及相关终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210515439.9A CN103853621B (zh) 2012-12-05 2012-12-05 一种跨进程交互方法及相关终端设备

Publications (2)

Publication Number Publication Date
CN103853621A CN103853621A (zh) 2014-06-11
CN103853621B true CN103853621B (zh) 2017-10-24

Family

ID=50861306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210515439.9A Active CN103853621B (zh) 2012-12-05 2012-12-05 一种跨进程交互方法及相关终端设备

Country Status (1)

Country Link
CN (1) CN103853621B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866602A (zh) * 2015-06-01 2015-08-26 走遍世界(北京)信息技术有限公司 队列处理方法及装置
CN105357266B (zh) * 2015-09-30 2018-11-16 山东乾云启创信息科技股份有限公司 适合多种场景的socket通信与进程管理通用平台及方法
CN106357607A (zh) * 2016-07-20 2017-01-25 北京海誉动想科技股份有限公司 电子设备连接与安全验证、通信、通信监测方法及装置
CN107783845B (zh) * 2016-08-25 2021-04-13 阿里巴巴集团控股有限公司 消息传输系统、方法和装置
CN107153583B (zh) * 2017-05-24 2020-11-17 太仓市昊博技术服务有限公司 一种跨进程交互处理方法、移动终端以及计算机可读存储介质
CN107463370B (zh) * 2017-06-30 2021-08-27 百度在线网络技术(北京)有限公司 跨进程渲染方法及系统
CN108710524A (zh) * 2018-05-17 2018-10-26 中石化石油工程技术服务有限公司 一种三缓冲快速交互式绘图方法
CN111694680A (zh) * 2020-06-11 2020-09-22 北京百度网讯科技有限公司 应用通信方法、装置、设备及存储介质
CN112835727B (zh) * 2021-01-29 2023-05-30 宝宝巴士股份有限公司 一种基于aop的跨进程通信的方法及装置
WO2023123458A1 (zh) * 2021-12-31 2023-07-06 京东方科技集团股份有限公司 进程通信方法及装置
CN115202891B (zh) * 2022-09-15 2022-11-15 北京科云时代信息技术有限公司 基于大数据的跨进程数据采集传输方法、系统及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137123A (zh) * 2010-01-25 2011-07-27 腾讯科技(北京)有限公司 实现移动终端上不同应用程序的进程之间通信的装置和方法
WO2011145119A1 (en) * 2010-05-19 2011-11-24 Hughes Systique India Private Limited Method and system for efficient inter- process communication in a high availability system
CN102567125B (zh) * 2011-12-28 2014-11-05 中标软件有限公司 一种浏览器页面间通信的方法

Also Published As

Publication number Publication date
CN103853621A (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
CN103853621B (zh) 一种跨进程交互方法及相关终端设备
CN102307206B (zh) 基于云存储的快速访问虚拟机镜像的缓存系统的缓存方法
CN109254842A (zh) 分布式流式系统的资源管理方法、装置及可读存储介质
CN101968750B (zh) 计算机系统及其工作方法
CN103559075B (zh) 一种数据传输方法、装置和系统及内存装置
CN104572293B (zh) 基于bs结构的医学影像阅片系统的实现方法
CN109885377A (zh) 统一资源调度协调器及其创建虚拟机和/或容器的方法、统一资源调度系统
CN103338252B (zh) 一种分布式数据库并发存储虚拟请求机制的实现方法
CN107256180B (zh) 数据处理方法、装置及终端
CN102446139B (zh) 一种数据存储方法及装置
CN103473115B (zh) 虚拟机放置方法和装置
CN101662483A (zh) 云计算网络的缓存系统及其方法
CN112114984B (zh) 图数据处理方法及装置
CN101256599B (zh) 基于网格的分布仿真平台数据收集系统
CN109101554A (zh) 用于java平台的数据缓存系统、方法以及计算机终端
CN107612970B (zh) 基于电网拓扑分析的大图缓存方法、显示方法和系统
CN112395257A (zh) 一种cad模型轻量化服务方法和系统
CN103345486A (zh) 应用于远程浏览环境下客户端获取和展示图形文件的方法
CN110020046A (zh) 一种数据抓取方法及装置
CN110209756A (zh) 一种输电运维的地图交互方法及系统
CN104391947B (zh) 海量gis数据实时处理方法及系统
CN105164636B (zh) 一种虚拟化环境中的数据通信的方法、装置及处理器
CN107632890A (zh) 一种数据流体系结构中动态节点分配方法和系统
CN103237072B (zh) 一种基于用户满意度感知的数据中心服务布置方法
CN116303141A (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
TR01 Transfer of patent right

Effective date of registration: 20190730

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518057 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right