具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种图片数据处理方法及装置。本发明实施例中,通信双方在通信过程中可以互相发送图片数据,其中,图片数据可以包括静态图片数据,还可以包括动态图片数据,例如表情图片数据等。本发明实施例中,多个线程或者多个进程可并发请求获取图片数据,可从预设共享内存中获取到图片数据,实现了可跨进程获取目标图片数据,使得可在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
本发明实施例中,进程是指程序在处理器的一次执行过程,一个应用程序在运行过程中可存在多个进程。本发明实施例提供的一种图片数据处理装置可以为一个进程,具体的,可以为第一进程或第二进程。进一步的,可在同一终端中包括上述图片数据处理装置,即可在同一终端中运行多个进程,例如:在终端A中运行第一进程和第二进程。进一步的,还可以为在第一终端运行第一进程,第二终端运行第二进程等,具体不受本发明实施例的限制,其中,终端可以为个人计算机、平板电脑、智能手机、笔记本电脑等终端设备。本发明实施例提供的一种图片数据处理方案例如:在即时通讯应用中跨进程获取表情图片数据、会员标识图片等等。
下面将结合附图1~附图3,对本发明实施例提供的图片数据处理方法进行详细介绍。
请参见图1,为本发明第一实施例提供的一种图片数据处理方法的流程图;本发明实施例提供的方法可包括以下步骤S101~S105。
S101,第一进程接收携带目标图片标识的第一请求。
作为一种可选的实施方式,第一进程可接收携带目标图片标识的第一请求,其中,目标图片标识可以包括:用于唯一识别目标图片的代码文本或用于唯一识别目标图片的文本字符等。具体的,例如用户在打开的即时通讯应用聊天窗口中,打开表情选择窗口,点击其中一个表情图片时,则第一进程可检测并接收到携带该表情图片的标识的第一请求。
S102,查找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据。若查找结果为否,执行步骤S103,若查找结果为是,执行步骤S106。
作为一种可选的实施方式,在接收到第一请求后,可查找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据,其中,预设第一进程图片库可以为第一进程的应用程序在安装过程中存储图片数据的内存区。具体的,预设第一进程图片库中的图片数据依据图片数据的标识进行存储,则可直接找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据。
进一步的,图片数据丢失、图片数据损坏等情况可导致预设第一进程图片库中不存该图片数据,则需从其他进程获取该图片数据。本发明实施例中,则在预设第一进程图片库中查找不到与目标图片标识匹配的目标图片数据,则继续执行步骤S103。
S103,第一进程向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程。
作为一种可选的实施方式,如果预设第一进程图片库中不存在与目标图片标识匹配的目标图片数据,则第一进程可向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程。其中,目标存储地址可以为:第二进程从预设第二进程图片库中查找到图片标识匹配的目标图片数据时,将查找到的目标图片数据存储到预设内存区中得到的目标图片数据在预设内存区中的存储地址。进一步的,目标图片数据的目标存储地址包括但不局限于:目标图片数据的存储路径、目标图片数据的映射地址或目标图片数据的物理存储地址。
S104,第一进程根据目标存储地址从预设共享内存获取与目标图片标识匹配的目标图片数据。
作为一种可选的实施方式,第一进程可根据目标存储地址从预设共享内存获取与目标图片标识匹配的目标图片数据。其中,预设共享内存可以为页面文件,页面文件可以指操作系统用来虚拟内存的硬盘空间,具体的,其他进程可访问该预设共享内存,从预设共享内存中获取目标图片数据。
进一步的,目标存储地址可以包括:预设共享内存的地址,则可根据预设共享内存的地址访问预设共享内存,从预设共享内存中查找到与目标图片标识匹配的所述目标图片数据。
进一步的,目标存储地址还可以包括:目标图片数据在预设共享内存中的存储地址,则第一进程可根据目标图片数据在预设共享内存中的存储地址从预设共享内存中读取到目标图片数据。
S105,第一进程对目标图片数据进行显示。
作为一种可选的实施方式,第一进程在获取到目标图片数据后,可对目标图片数据进行显示。具体的,可在即时通讯应用聊天窗口中显示目标图片数据,也可以在图片数据预览窗口中显示目标图片数据。
S106,第一进程从预设第一进程图片库中获取与目标图片标识匹配的目标图片数据。
具体实现中,如果预设第一进程图片库中存在与目标图片标识匹配的目标图片数据,则从预设第一进程图片库中获取与目标图片标识匹配的目标图片数据。
进一步可选的,在步骤S104之后,步骤S105之前,还可以包括步骤:
第一进程将目标图片数据存储到预设第一进程图片库中,并获取目标图片数据在预设第一进程图片库中的存储地址;
第一进程建立第一索引表,第一索引表包括:目标图片数据的目标图片标识和目标图片数据在预设内存区中第一进程图片库中的存储地址。
具体实现中,第一进程在获取到目标图片数据后,可将目标图片数据存储到预设第一进程图片库中。第一进程进而获取目标图片数据在预设第一进程图片库中的存储地址。还可建立第一索引表,其中,第一索引表的表项可以包括图片标识和图片标识对应的图片数据的存储地址,具体的,第一索引表包括:目标图片数据的目标图片标识和目标图片数据在预设第一进程图片库中的存储地址。
进一步可选的,在步骤S105之后,可以包括步骤:
第一进程在接收到携带目标图片标识的第二请求时,从第一索引表中查找到与目标图片标识匹配的图片数据在预设第一进程图片库中的存储地址;
根据查找到的图片数据在预设第一进程图片库中的存储地址从预设第一进程图片库中读取目标图片数据,并对读取到的目标图片数据进行显示。
具体实现中,第一进程可在接收到携带目标图片标识的第二请求时,从第一索引表中查找到与目标图片标识匹配的图片数据在预设第一进程图片库中的存储地址,从而通过查找到的地址访问预设第一进程图片库中,从预设第一进程图片库中读取目标图片数据,并对读取到的目标图片数据进行显示。
第一进程将获取到的目标图片数据存储到预设第一进程图片库中,当再次接收到对该目标图片数据的请求时,可直接从预设第一进程图片库中读取目标图片数据,无需再次向第二进程请求,从而可避免多次跨进程请求图片数据,可减小目标图片数据的传输时延。
本发明实施例提供一种图片数据处理方法,第一进程在接收到携带目标图片标识的第一请求时,查找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据,若预设第一进程图片库中不存在与目标图片标识匹配的目标图片数据,第一进程向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,将目标图片数据的目标存储地址发送给第一进程,第一进程根据目标存储地址从预设共享内存获取目标图片数据,并对目标显示数据进行显示。通过本发明实施例,可跨进程获取目标图片数据,在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
请参见图2,为本发明第二实施例提供的一种图片数据处理方法的流程图,该方法可包括以下步骤S201~S204。
S201,第二进程接收第一进程发送的携带目标图片标识的图片请求。
作为一种可选的实施方式,第二进程可接收第一进程发送的携带目标图片标识的图片请求。目标图片标识可以包括:用于唯一识别目标图片的代码文本或用于唯一识别目标图片的文本字符等。
S202,第二进程获取目标图片数据在预设共享内存中的目标存储地址。
作为一种可选的实施方式,第二进程获取目标图片数据在预设共享内存中的目标存储地址具体可以包括:
第二进程从预设第二进程图片库中查找到图片标识匹配的目标图片数据;
将查找到的目标图片数据存储到预设内存区中;
获取目标图片数据在预设内存区中的存储地址,确定为目标存储地址。
其中,预设共享内存可以为页面文件,页面文件可以指操作系统用来虚拟内存的硬盘空间,具体的,其他进程可访问该预设共享内存,从预设共享内存中获取目标图片数据。
具体的,目标存储地址可以包括:预设共享内存的地址或目标图片数据在预设共享内存中的存储地址。进一步的,目标图片数据的目标存储地址包括但不局限于:目标图片数据的存储路径、目标图片数据的映射地址或目标图片数据的物理存储地址。
S203,第二进程将目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。
作为一种可选的实施方式,第二进程可将获取到的目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。
本发明实施例提供一种图片数据处理方法,第二进程接收第一进程发送的携带目标图片标识的图片请求,获取目标图片数据在预设共享内存中的目标存储地址,将目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。通过本发明实施例,可通过预设共享内存跨进程传输目标图片数据,使得在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
请参见图3,为本发明第三实施例提供的一种图片数据处理方法的流程图,该方法可包括以下步骤S301~S311。
S301,第一进程在接收到携带目标图片标识的第一请求时,查找到预设第一进程图片库中不存在与目标图片标识匹配的目标图片数据。
S302,第一进程向第二进程发送携带目标图片标识的图片请求。
S303,第二进程从预设第二进程图片库中查找到图片标识匹配的目标图片数据。
S304,第二进程将查找到的目标图片数据存储到预设内存区中。
S305,获取目标图片数据在预设内存区中的存储地址,确定为目标存储地址。
S306,第二进程将目标存储地址发送给第一进程。
S307,第一进程根据目标存储地址从预设共享内存获取与目标图片标识匹配的目标图片数据。
S308,第一进程将目标图片数据存储到预设第一进程图片库中,并获取目标图片数据在预设第一进程图片库中的存储地址。
S309,第一进程建立第一索引表,第一索引表包括:目标图片数据的目标图片标识和目标图片数据在预设第一进程图片库中的存储地址。
S310,第一进程从预设第一进程图片库中读取目标图片数据,并对读取到的目标图片数据进行显示。
S311第一进程在接收到携带目标图片标识的第二请求时,从第一索引表中查找到与目标图片标识匹配的图片数据在预设第一进程图片库中的存储地址。
S311,根据查找到的图片数据在预设第一进程图片库中的存储地址从预设第一进程图片库中读取目标图片数据,并对读取到的目标图片数据进行显示。
参见图4,为本发明实施例提供的一种图片数据处理示意图,41为第一进程,42为第二进程,43为预设共享内存,44为预设第一进程图片库,45为预设第二进程图片库,46为显示装置。具体的,第一进程41在查找到预设第一进程图片库44中不存在与目标图片标识匹配的目标图片数据时,向第二进程42发送携带目标图片标识的图片请求,第二进程42从预设第二进程图片库45中获取到目标图片标识对应的目标图片数据,将获取到的目标图片数据存储到预设共享内存43中,并向第一进程41返回目标存储地址,第一进程41通过目标存储地址访问预设共享内存43,从预设共享内存43获取到目标图片数据,将目标图片数据存储到预设第一进程图片库44中,在显示装置46中显示目标图片数据。
本发明实施例提供一种图片数据处理方法,第一进程在接收到携带目标图片标识的第一请求时,查找预设图片数据库中是否存在与目标图片标识匹配的目标图片数据,若预设图片数据库中不存在与目标图片标识匹配的目标图片数据,第一进程向第二进程发送携带目标图片标识的图片请求,第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程,第一进程根据目标存储地址从预设共享内存获取目标图片数据,第一进程可将目标图标数据存储到预设第一进程图片库中,当再次接收到对该目标图片数据的第二请求时,可从预设第一进程图片库读取到该目标图片数据,无需再次向第二进程请求,从而可避免多次跨进程请求图片数据,可减小目标图片数据的传输时延。通过本发明实施例,可通过预设共享内存跨进程传输目标图片数据,使得在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
下面将结合附图5或图6,对本发明实施例提供的图片数据处理装置进行详细介绍。需要说明的是,附图5或图6所示的图片数据处理装置,分别用于执行本发明图1或图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1或图2所示的实施例。
请参见图5,为本发明实施例提供的一种图片数据处理装置的结构示意图;为基于图1所示的图片数据处理方法的执行主体。如图5所示,该装置可包括:查找单元51、发送单元52、获取单元53和显示单元54。
查找单元51,用于在接收到携带目标图片标识的第一请求时,查找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据。
作为一种可选的实施方式,目标图片标识可以包括:用于唯一识别目标图片的代码文本或用于唯一识别目标图片的文本字符等。具体的,例如用户在打开的即时通讯应用聊天窗口中,打开表情选择窗口,点击其中一个表情图片时,则可接收到携带该表情图片的标识的第一请求。
进一步的,在接收到第一请求后,查找单元51可查找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据,其中,预设第一进程图片库可以为应用程序在安装过程中存储图片数据的内存区。具体的,预设第一进程图片中的图片数据依据图片数据的标识进行存储,则可直接找预设第一进程图片库中是否存在与目标图片标识匹配的目标图片数据。
发送单元52,用于在查找单元51的查找结果为否时,向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程。
作为一种可选的实施方式,如果查找单元51查找到预设第一进程图片库中不存在与目标图片标识匹配的目标图片数据,则发送单元52可向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程。其中,目标存储地址可以为:第二进程从预设第二进程图片库中查找到图片标识匹配的目标图片数据时,将查找到的目标图片数据存储到预设内存区中得到的目标图片数据在预设内存区中的存储地址。进一步的,目标图片数据的目标存储地址包括但不局限于:目标图片数据的存储路径、目标图片数据的映射地址或目标图片数据的物理存储地址。
获取单元53,用于根据目标存储地址从预设共享内存获取与目标图片标识匹配的目标图片数据。
作为一种可选的实施方式,获取单元53可根据目标存储地址从预设共享内存获取与目标图片标识匹配的目标图片数据。其中,预设共享内存可以为页面文件,页面文件可以指操作系统用来虚拟内存的硬盘空间,具体的,其他进程可访问该预设共享内存,从预设共享内存中获取目标图片数据。
进一步可选的,获取单元53可以包括:第一获取子单元或第二获取子单元。
具体实现中,目标存储地址可以包括:预设共享内存的地址。第一获取子单元,可用于根据预设共享内存的地址访问预设共享内存,从预设共享内存中查找到与目标图片标识匹配的目标图片数据。
具体实现中,目标存储地址可以包括:目标图片数据在预设共享内存中的存储地址。第二获取子单元,可用于根据目标图片数据在预设共享内存中的存储地址从预设共享内存中读取到目标图片数据。
显示单元54,用于对目标图片数据进行显示。
作为一种可选的实施方式,显示单元54在获取到目标图片数据后,可对目标图片数据进行显示。具体的,可在即时通讯应用聊天窗口中显示目标图片数据,也可以在图片数据预览窗口中显示目标图片数据。
进一步的,本发明实施例提供的装置还可以包括:存储单元和建立单元。
存储单元,用于将目标图片数据存储到预设第一进程图片库中;
获取单元53,还用于获取目标图片数据在预设第一进程图片库中的存储地址;
建立单元,用于建立第一索引表,第一索引表包括:目标图片数据的目标图片标识和目标图片数据在预设第一进程图片库中的存储地址;
查找单元51,还用于在接收到携带目标图片标识的第二请求时,从第一索引表中查找到与目标图片标识匹配的图片数据在预设第一进程图片库中的存储地址;
获取单元53,还用于根据查找到的图片数据在预设第一进程图片库中的存储地址从预设第一进程图片库中读取目标图片数据;
显示单元54,用于对获取单元53读取到的目标图片数据进行显示。
具体实现中,获取单元53在获取到目标图片数据后,存储单元可将目标图片数据存储到预设第一进程图片库中。获取单元53进而可获取目标图片数据在预设第一进程图片库中的存储地址。建立单元可建立第一索引表,其中,第一索引表的表项可以包括图片标识和图片标识对应的图片数据的存储地址,具体的,第一索引表包括:目标图片数据的目标图片标识和目标图片数据在预设第一进程图片库中的存储地址。
进一步的,查找单元51可在接收到携带目标图片标识的第二请求时,从第一索引表中查找到与目标图片标识匹配的图片数据在预设第一进程图片库中的存储地址,从而通过查找到的地址访问预设第一进程图片库,获取单元53从预设第一进程图片库读取目标图片数据,显示单元54对读取到的目标图片数据进行显示。
本发明实施例中,可将获取到的目标图片数据存储到预设第一进程图片库中,当再次接收到对该目标图片数据的请求时,可直接从预设第一进程图片库中读取目标图片数据,无需再次向第二进程请求,从而可避免多次跨进程请求图片数据,可减小目标图片数据的传输时延。
本发明实施例提供一种图片数据处理装置,查找单元可在接收到携带目标图片标识的第一请求时,查找预设图片数据库中是否存在与目标图片标识匹配的目标图片数据,在查找单元的查找结果为否时,发送单元可向第二进程发送携带目标图片标识的图片请求,以使第二进程获取目标图片数据在预设共享内存中的目标存储地址,并将目标存储地址发送给第一进程,获取单元可根据目标存储地址从预设共享内存获取目标图片数据,显示单元可对目标显示数据进行显示。通过本发明实施例,可跨进程获取目标图片数据,在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
请参见图6,为本发明实施例提供的另一种图片数据处理装置的结构示意图;为基于图2所示的图片数据处理方法的执行主体。如图6所示,该装置可包括:接收单元61、获取单元62和发送单元63。
接收单元61,用于接收第一进程发送的携带目标图片标识的图片请求。
作为一种可选的实施方式,接收单元61可接收第一进程发送的携带目标图片标识的图片请求。目标图片标识可以包括:用于唯一识别目标图片的代码文本或用于唯一识别目标图片的文本字符等。
获取单元62,用于获取目标图片数据在预设共享内存中的目标存储地址。
作为一种可选的实施方式,其中,预设共享内存可以为页面文件,页面文件可以指操作系统用来虚拟内存的硬盘空间。具体的,其他进程可访问该预设共享内存,从预设共享内存中获取目标图片数据。具体的,目标存储地址可以包括:预设共享内存的地址或目标图片数据在预设共享内存中的存储地址。进一步的,目标图片数据的目标存储地址包括但不局限于:目标图片数据的存储路径、目标图片数据的映射地址或目标图片数据的物理存储地址。
进一步可选的,获取单元62具体可以包括:查找子单元、存储子单元和确定子单元。
查找子单元,用于从预设第二进程图片库中查找到图片标识匹配的目标图片数据;
存储子单元,用于将查找到的目标图片数据存储到预设内存区中;
确定子单元,用于获取目标图片数据在预设内存区中的存储地址,确定为目标存储地址。
发送单元63,用于将目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。
作为一种可选的实施方式,发送单元63可将获取到的目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。
本发明实施例提供一种图片数据处理装置,接收单元可接收第一进程发送的携带目标图片标识的图片请求,获取单元可获取目标图片数据在预设共享内存中的目标存储地址,发送单元可将目标存储地址发送给第一进程,以使第一进程根据目标存储地址从预设共享内存中获取目标图片数据。通过本发明实施例,可通过预设共享内存跨进程传输目标图片数据,使得在多个线程或者多个进程并发情况下可快速获取目标图片数据,减小了目标图片数据的传输时延,提高了图片数据处理性能。
进一步可选的,本发明实施例还可以公开一种终端,其中,第一进程和第二进程可在第一终端中运行,则终端可包括存储装置以及显示装置。其中,第一进程可与第二进程进行通信连接,第一进程和第二进程可访问存储装置,第一进程和第二进程可以显示装置连接。具体的,存储装置,用于存储图片数据处理程序;第一进程,参见如图5所示的图片数据处理装置,用于运行存储器中存储的图片数据处理程序,以执行如图1所示的图片数据处理方法;第二进程,如参见如图6所示的图片数据处理装置,用于运行存储器中存储的图片数据处理程序,以执行如图1所示的图片数据处理方法;显示装置,用于显示第一进程和第二进程的图片数据处理结果。进一步的,存储装置可以包括预设共享内存、预设第一进程图片库和预设第二进程图片库。
进一步可选的,还可以为第一终端运行第一进程、第二终端运行第二进程,具体不受本发明实施例的限制。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。