[go: up one dir, main page]

CN112995015B - 消息发送方法、装置、终端及存储介质 - Google Patents

消息发送方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112995015B
CN112995015B CN201911302995.6A CN201911302995A CN112995015B CN 112995015 B CN112995015 B CN 112995015B CN 201911302995 A CN201911302995 A CN 201911302995A CN 112995015 B CN112995015 B CN 112995015B
Authority
CN
China
Prior art keywords
instant messaging
file
target file
message
directory
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
CN201911302995.6A
Other languages
English (en)
Other versions
CN112995015A (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
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 CN201911302995.6A priority Critical patent/CN112995015B/zh
Publication of CN112995015A publication Critical patent/CN112995015A/zh
Application granted granted Critical
Publication of CN112995015B publication Critical patent/CN112995015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种消息发送方法、装置、终端及存储介质,该方法包括:获得即时通讯消息发送指令,即时通讯消息发送指令用于指示发送目标文件;如果目标文件属于操作系统的临时目录下的文件,将目标文件存储到即时通讯应用的应用程序数据目录;发送包含目标文件的即时通讯消息。本申请的方案可以减少已发送的即时通讯消息中的文件内容丢失的情况。

Description

消息发送方法、装置、终端及存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种消息发送方法、装置、终端及存储介质。
背景技术
随着即时通讯的不断发展,通过即时通讯不仅可以实现文字消息的发送,还可以实现图片、文档以及表格等文件的发送。
在即时通讯应用的客户端通过即时通讯消息的形式发送了文件之后,如果即时通讯应用的服务器中未保存该文件(如,文件未存储到服务器或者服务器已删除了该文件),则很容易出现由于文件丢失,而导致无法查看该即时通讯消息的文件内容的情况。
发明内容
有鉴于此,本申请提供了一种消息发送方法、装置、终端及存储介质,以减少即时通讯消息中的文件内容丢失的情况。
为实现上述目的,一方面,本申请提供了一种消息发送方法,包括:
获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件存储到即时通讯应用的应用程序数据目录;
发送包含所述目标文件的即时通讯消息。
在一种可能的实现方式中,所述将所述目标文件存储到即时通讯应用的应用程序数据目录,包括:
将所述目标文件复制到即时通讯应用的应用程序数据目录下。
在又一种可能的实现方式中,在所述将所述文件复制到即时通讯应用的应用程序数据目录下之前,还包括:
检测所述操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区;
所述将所述目标文件复制到即时通讯应用的应用程序数据目录下,包括:如果所述操作系统的临时目录与所述应用程序数据目录对应不同的逻辑分区,将所述目标文件复制到即时通讯应用的应用程序数据目录下;
所述将所述目标文件存储到即时通讯应用的应用程序数据目录,还包括:
如果所述操作系统的临时目录与所述应用程序数据目录对应同一个逻辑分区,在所述应用程序数据目录中建立所述目标文件的硬链接。
在又一种可能的实现方式中,在所述发送包含所述目标文件的即时通讯消息之后,还包括:
存储所述即时通讯消息与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
在又一种可能的实现方式中,所述存储所述即时通讯消息与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系,包括:
获得所述即时通讯应用的消息服务器返回的所述即时通讯消息的消息标识;
存储所述消息标识与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
在又一种可能的实现方式中,所述发送包含所述目标文件的即时通讯消息,包括:
在将所述目标文件存储到即时通讯应用的应用程序数据目录之后,发送包含所述目标文件的即时通讯消息。
又一方面,本申请还提供了一种消息发送装置,包括:
指令获得单元,用于获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
文件备份单元,用于如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件存储到即时通讯应用的应用程序数据目录;
消息发送单元,用于发送包含所述目标文件的即时通讯消息。
又一方面,本申请还提供了一种终端,包括处理器和存储器;
其中,所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:
获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件存储到即时通讯应用的应用程序数据目录;
发送包含所述目标文件的即时通讯消息。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任一项所述的消息发送方法。
经由上述的技术方案可知,本申请的即时通讯客户端在获得用于指示发送文件的即时通讯消息指令之后,如果检测到该待发送的文件属于操作系统的临时目录下的文件,会将该文件存储到即时通讯应用的应用程序数据目录下,这样,在发送了包含该目标文件的即时通讯消息之后,即使服务器侧未保存该文件,或者,即时通讯客户端的临时目录下的文件被操作系统自动清理或者被第三方清理软件清理,由于该应用程序数据目录下仍存在该文件,从而使得该条即时通讯消息中的文件内容仍可以被找到,进而降低了即时通讯客户端发送的文件丢失的情况,也减少了无法查看即时通讯消息的文件内容的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请所适用的一种即时通讯系统的一种组成架构示意图;
图2示出了本申请一种消息发送方法的一种流程示意图;
图3示出了本申请一种消息发送方法的又一种流程示意图;
图4示出了本申请一种消息发送方法在一种应用场景中的流程交互示意图;
图5示出了本申请一种消息发送装置的一种组成结构示意图;
图6示出了本申请一种消息发送装置的又一种组成结构示意图;
图7示出了本申请一种终端的一种组成结构示意图。
具体实施方式
本申请的方案适用于减少即时通讯客户端已发送的即时通讯消息中的文件丢失的情况,进而减少由于文件丢失而导致即时通讯消息中文件的内容无法查看的情况。
本申请的方案适用于各种类型的即时通讯场景,如,涉及企业办公所需的即时通讯场景以及个人即时通讯场景等。
为了便于理解,下面结合一种基于即时通讯实现消息发送的系统进行说明。如图1所示,其示出了本申请一种即时通讯系统的一种组成架构示意图。
由图1可以看出,该即时通讯系统可以包括:消息服务器101和终端102。
其中,该消息服务器为即时通讯应用的消息服务器,该消息服务器可以实现即时通讯中消息的转发以及处理等。
该终端102为安装有即时通讯应用的即时通讯客户端,如,该终端可以为安装有即时通讯应用的手机、笔记本电脑以及个人计算机等等。
可以理解的是,在即时通讯消息的发送过程中一般涉及即时通讯消息的发送方以及至少一个接收方,因此,该即时通讯系统中可以包括至少两个终端102。其中,该至少两个终端中包括一个发送即时通讯消息的发送方终端,以及至少一个接收该即时通讯消息的接收方终端。
其中,同一个终端102在不同时刻可以分别作为即时通讯消息的发送方和即时通讯消息的接收方。
其中,在需要通过即时通讯应用发送文件的情况下,作为发送方的终端可以以即时通讯消息的形式发送文件,如,将文件作为即时通讯消息的消息内容,或者在即时通讯消息中携带文件等。其中,终端将文件以即时通讯消息的形式发出之后,该即时通讯消息需要经过消息服务器101转发给作为接收方的终端。
如,即时通讯消息中指明接收方的IP地址或者即时通讯账号等接收方标识,消息服务器会按照接收方标识将包含文件的即时通讯消息转发给接收方的终端。
可以理解的是,虽然包含文件的即时通讯消息都需要从发送方的终端经过消息服务器发送给接收方的终端,但是在不同应用场景中,包含文件的即时通讯消息的具体传输路径也会有所差别。
作为一种可选方式,该即时通讯系统中还可以包括:至少一台文件服务器103,该文件服务器可以处理即时通讯系统中涉及到的一些文件数据。其中,至少一台消息服务器101和该至少一台文件服务器103均属于即时通讯平台的服务器。
如图1所示,其示出了在即时通讯系统包含文件服务器和消息服务器的情况下,实现包含文件的即时通讯消息发送的一种示意图。
在图1所示出的方式中,在终端102检测到待以即时通讯消息形式发送文件时,该终端102会将文件发送给文件服务器103。相应的,文件服务器103接收到该文件之后,会存储该文件,并向该终端102返回用于标识该文件的文件标识。如参见图1中终端102与文件服务器之间的交互示意。
在该终端102接收到文件服务器返回的该文件的文件标识之后,该终端102会向消息服务器101发送包含该文件标识的即时通讯消息。相应的,消息服务器会返回为该即时通讯消息分配的消息标识,如图1中终端102与消息服务器101之间的交互示意。
当然,该消息服务器还会将该即时通讯消息转发给该即时通讯消息的接收方终端。
在终端102接收到该消息标识之后,终端102还可以存储该消息标识、文件标识以及该文件在终端中的文件路径之间的映射关系,以便后续从文件服务器或者从终端本地查询该消息对应的文件内容。
可以理解的是,图1仅仅是一种以即时通讯消息发送文件的一种示意图。在实际应用中,包含文件的即时通讯消息还可以通过直连或者中转方式传输给该文件的接收方终端。
其中,直连方式是指终端可以直接向消息服务器发送包含文件的即时通讯消息,并直接通过消息服务器将该即时通讯消息传输给接收方终端。该种方式不需要经过文件服务器,在该种情况下,文件服务器中也就不会保存该即时通讯消息的文件,而消息服务器可以根据需要保存或者不保存该文件。
中转方式是指终端虽然会先将文件发送给文件服务器,但是文件服务器却并不保存该文件,其他过程与图1的方式相似,在此不再赘述。
当然,在即时通讯中,一个终端向另一个终端传输文件的方式还可以有其他可能情况,无论哪种情况均适用于本实施例的方案,在此不加限制。
下面对本申请的一种消息发送方法进行介绍。
如图2,其示出了本申请一种消息发送方法的一种流程示意图,本实例的方法可以应用于前面提到的终端,也就是即时通讯客户端。本实施例的方法可以包括:
S201,获得即时通讯消息发送指令。
其中,即时通讯消息发送指令用于指示发送即时通讯消息,在本实施例中,该即时通讯消息发送指令用于指示发送目标文件。可见,终端获得该即时通讯消息发送指令实际上就是确定了待以即时通讯消息形式发送的目标文件。
该目标文件可以为该终端中的图片、文档或者图文演示文稿PPT等文件。
如,在终端的即时通讯应用界面中,如果用户希望向其他用户发送文件,可以打开用于实现该用户与其他用户交互的即时通讯交互界面,在该即时通讯交互界面中用户可以点击“文件”按键,则可以展现出文件选择框。在该文件选择框中选择终端中待发送的文件之后,如果点击发送按键,则可以生成发送该文件的即时通讯消息发送指令,从而使得终端获得指示发送文件的发送指令。
又如,在终端中选中待发送的文件之后,可以选择通过即时通讯应用发送该文件并选择接收该文件的即时通讯接收方,则可以使得终端获得用于指示发送该文件的即时通讯消息发送指令。
可以理解的是,以上是为了便于理解,以两种获得即时通讯消息发送指令的方式为例说明,在实际应用中,终端还可以通过其他方式获得指示发送文件的即时通讯消息发送指令,对此不加限制。
S202,如果该目标文件属于操作系统的临时目录下的文件,将该目标文件存储到即时通讯应用的应用程序数据目录。
其中,操作系统的临时目录下存放到的都是一些临时文件,操作系统会定时或者不定时的清理临时目录下的文件,以删除临时目录下的文件。同时,如果终端中安装有其他清理软件,这些清理软件也会对临时目录下的文件进行清除。
可见,如果目标文件在操作系统的临时目录下,该目标文件被操作系统或者第三方清理软件删除的风险较大,如果消息服务器或者文件服务器中未保存该目标文件,则目标文件就会丢失。
为了避免目标文件被操作系统或者第三方清理软件自动清理掉,本申请如果检测到目标文件在操作系统的临时目录下,则会将该目标文件存储到即时通讯应用的应用程序数据目录。在此基础上,即使临时目录下的文件被清理,但是由于该即时通讯应用的应用程序数据目录中仍具有该文件,则使得终端中仍存储有该文件,这样,通过应用程序数据目录仍可以查找到该文件,从而避免了临时目录下的文件被清理而导致该目标文件丢失。
可以理解的是,本申请对终端的操作系统不加限制,如,该操作系统可以为windows操作系统,也可以为其他操作系统。其中,在终端的操作系统已知的情况下,操作系统的临时目录也是已知的,在该种情况下,可以检测到该目标文件是否在该临时目录下。对于如何判断目标文件是否在临时目录下具体方式可以有多种,如,可以根据目标文件的文件路径分析该目标文件是否在临时目录下,本申请对于具体实现方式不加限制。
其中,即时通讯应用的应用程序数据目录是指终端为该即时通讯应用创建的目录。在该应用程序数据目录中可以存储与该即时通讯应用相关的数据文件。
可以理解的是,将目标文件存储到该即时通讯应用的应用程序数据目录下是使得应用程序数据目录中包含该目标文件的文件路径,从而使得目标文件在该应用程序数据目录下,这样,只要用户不主动清理该应用程序数据目录中的文件,该应用程序数据目录下的文件就会被保留在该终端中。
可以理解的是,将目标文件存储到该应用程序数据目录下也可以有多种方式,在一种实现方式中,可以是在应用程序数据目录中直接创建链接该目标文件的链接标识,该链接标识可以为在应用程序数据目录中为该目标文件创建的文件名。如,在应用程序数据目录中建立该目标文件的硬链接。在该种情况中,不需要对目标文件进行复制以及向应用程序数据目录对应的地址空间传输目标文件,有利于减少数据处理量以及减少存储空间的占用。
但是以上实现方式的适用范围有限,在又一种实现方式中,可以将目标文件复制到即时通讯应用的应用程序数据目录下。在该种情况中,需要复制目标文件,在维持原目标文件不变的情况下,需要将复制的目标文件存储到该应用程序数据目录下。如,将文件存储到该应用程序数据目录对应的地址空间,并在应用程序数据目录中新增链接到复制的目标文件的文件名。
可以理解的是,在实际应用中,可以根据不同的场景选择以上任意一种方式来实现将目标文件存储到该应用程序数据目录下,也可以是结合以上两种方式来实现将目标文件存储到应用程序数据目录下,后续会以这两种方式结合的情况为例说明。
S203,发送包含该目标文件的即时通讯消息。
可以理解的是,由于即时通信应用中需要发送的对象为该目标文件,因此,该目标文件就是待发送的即时通讯消息的内容。
其中,发送包含该目标文件的即时通讯消息的过程可以采用任意即时通讯消息的发送方式,在本实施例不加限制。如,该即时通讯客户端可以直接将包含该目标文件的即时通讯消息发送消息服务器,并由消息服务器将该目标文件发送给相应的接收方。或者是,按照前面图1的示例,即时通讯客户端先将目标文件发送给文件服务器,然后将文件服务器返回的该目标文件的文件标识作为即时通讯消息的内容发送给消息服务器,并由消息服务器将该即时通讯消息发送给接收方终端。
可以理解的是,在本申请实施例中,该步骤S202和S203的顺序并不限于图2所示,在实际应用中,也可以同时执行步骤S202和S203。可选的,为了保证已发送的目标文件已经备份到即时通讯应用的应用程序数据目录下,本申请可以在将目标文件存储到即时通讯应用的应用程序数据目录之后,再执行发送包含目标文件的即时通讯消息的操作。
可选的,为了在发送该即时通讯消息之后可以便于确定该即时通讯消息中包含的文件内容,本申请还可以存储该即时通讯消息与该目标文件在该应用程序数据目录中的文件路径之间的映射关系。其中,由于该应用程序数据目录下的文件不会被操作系统或者第三方清理软件自动清理,因此,在存储了该即时通讯消息与该目标文件在该应用程序数据目录中的文件路径之后,可以在该应用程序数据目录下查找到该即时通讯消息所包含的文件的文件内容。
可以理解的是,由于发送该即时通讯消息的发送方式不同,因此,存储该即时通讯消息与该目标文件在该应用程序数据目录中的文件路径的方式也会有所差别。考虑到即时通讯消息都会经过该消息服务器,因此,本申请还可以获得该即时通讯应用的消息服务器返回的即时通讯消息的消息标识。该消息标识用于表征标识该即时通讯消息。相应的,终端可以存储该消息标识与该目标文件在该应用程序数据目录中的文件路径之间的映射关系。
当然,如果终端先将目标文件发送到文件服务器,再由文件服务器存储该目标文件并返回目标文件的文件标识,然后该终端再将携带该目标文件的文件标识的即时通讯消息发送给消息服务器,那么终端可以获得目标文件的文件标识以及消息服务器返回的该即时通讯消息的消息标识。在该种情况下,可以存储该文件标识、消息标识与该目标文件在该应用程序数据目录中的文件路径之间的映射关系。
由以上内容可知,本申请的发明人经过研究发现,导致即时通讯客户端中已发送的文件丢失的主要原因是由于即时通讯客户端发送的很多文件是操作系统的临时目录下的文件。由于临时目录下的文件会被认为是临时文件,因此,终端的操作系统会经常清理该临时目录下的文件,从而删除临时目录下的文件,在该种情况下,如果文件服务器或者消息服务器中未保存该即时通讯消息中的文件,则会导致即时通讯消息中的文件丢失,这样,后续也无法查看该即时通讯消息中的文件内容。
基于此,如果能够减少临时目录下的文件丢失的情况,则可以减少即时通讯中已发送的即时通讯消息中的文件丢失,而导致无法查看该即时通讯消息中的文件的情况。因此,本申请在即时通讯应用需要发送文件时,会检测文件是否处于临时目录,并在文件处于临时目录下时,在即时通讯应用的应用程序数据目录下保存该文件,以实现该文件在应用程序数据目录下的备份。
可见,本申请的即时通讯客户端在获得用于指示发送文件的即时通讯消息指令之后,如果检测到该待发送的文件属于操作系统的临时目录下的文件,会将该文件存储到即时通讯应用的应用程序数据目录下,这样,在发送了包含该目标文件的即时通讯消息之后,即使服务器侧未保存该文件,或者,即时通讯客户端的临时目录下的文件被操作系统自动清理或者被第三方清理软件清理,由于该应用程序数据目录下仍存在该文件,从而使得该条即时通讯消息中的文件内容仍可以被找到,进而降低了即时通讯客户端发送的文件丢失的情况,也减少了无法查看即时通讯消息的文件内容的情况。
可以理解的是,在本申请实施例中,可以采用不同的方式实现将该目标文件存储到即时通讯应用的应用程序数据目录,而为了最大程度的降低对终端性能的影响,本申请还可以针对不同的情况采用不同的方式将该文件存储到该应用程序数据目录。下面以一种情况为例进行说明。
如,参见图3,其示出了本申请一种消息发送方法又一个实施例的流程示意图,本实施例的方法应用于终端,该方法可以包括:
S301,获得即时通讯消息发送指令。
其中,该即时通讯消息发送指令用于指示发送目标文件。
S302,检测该目标文件是否处于操作系统的临时目录下,如果是,则执行步骤S303;如果否,则执行步骤S308。
如果目标文件所处的目录为操作系统的临时目录,则需要执行将该目标文件备份到即时通讯应用的应用程序数据目录下的相关操作;如果目标文件所处的目录不是操作系统的临时目录,由于目标文件所在的目录并不会被操作系统主动清理,因此,无需将文件备份到该应用程序数据目录下,从而可以直接发送该目标文件。
S303,检测操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区,如果是,则执行步骤S304;如果否,则执行步骤S305。
可以理解的是,终端的物理存储空间可以从逻辑上划分为多个分区,每个分区就是一个逻辑分区,因此,每个逻辑分区对应了一个物理地址区域。其中,终端的物理存储空间可以为终端的硬盘,硬盘可以划分为多个逻辑分区。
相应的,终端的目录可以对应一个物理地址区域,这样,每个目录就与物理存储空间的逻辑分区之间具有对应关系,如,将某个逻辑分区挂载到某个目录上;或者建立了目录之后,构建目录与逻辑分区对应的部分或者全部物理地址之间的关联等。因此,在目录确定之后,目录所对应的逻辑分区也是固定的。
如果临时目录对应的逻辑分区与即时通讯应用程序的应用程序数据目录对应的逻辑分区属于同一个逻辑分区,即,临时目录与该应用程序下在同一个逻辑分区,那么对于临时目录下的文件,则可以直接通过在应用程序数据目录中建立该文件的硬链接,便可以实现将该文件存储到该应用程序数据目录下。由于硬链接无法跨分区(逻辑分区),因此,如果该即时通讯应用的应用程序数据目录与该临时目录不处于同一个逻辑分区,则无法通过在应用程序数据目录下建立硬链接的方式来实现将文件存储到该应用程序数据目录下。
S304,如果操作系统的临时目录与该应用程序数据目录对应同一个逻辑分区,在该应用程序数据目录中建立该目标文件的硬链接,并执行步骤S306。
其中,硬链接可以使得一个文件有多个不同接入点,删掉一个接入点,只要其他接入点还存在,该文件也还存在。因此,在该即时通讯应用目录中建立该目标文件的硬链接之后,即使后续临时目录下的文件被清理,由于该应用程序数据目录中建立有该目标文件的硬链接,也会使得终端中该目标文件仍存在。
S305,如果操作系统的临时目录与该应用程序数据目录对应不同的逻辑分区,将目标文件复制到即时通讯应用的应用程序数据目录下,执行步骤S306。
在临时目录与该即时通讯应用的应用程序数据目录不属于同一逻辑分区的情况下,则无法通过硬链接方式实现将目标文件存储到该应用程序数据目录下。在该种情况下,可以复制目标文件,将复制的目标文件发送到该应用程序数据目录对应的逻辑分区,并将该复制到该逻辑分区内的目标文件建立到该应用程序数据目录下。
S306,发送包含该目标文件的即时通讯消息。
S307,存储即时通讯消息与该目标文件在应用程序数据目录中的文件路径之间的映射关系。
其中,该步骤S307可以参见前面实施例中的相关介绍,在此不再赘述。
S308,发送包含该目标文件的即时通讯消息。
S309,存储即时通讯消息与该目标文件在当前目录中的文件路径之间的映射关系。
其中,当前目录为目标文件当前实际所在目录。
在该目标文件未处于临时目录的情况下,则不存在由于临时目录被自动清理而导致终端中该目标文件丢失的情况,在该种情况下,可以直接发送该目标文件。相应的,可以直接存储该即时通讯消息与该目标文件在其所在的目录中的文件路径之间的映射关系。如,存储消息服务器针对该即时通讯消息返回的消息标识与该目标文件在其所在目录下的文件路径之间的映射关系。
在本申请实施例中,如果即时通讯应用待发送的目标文件处于操作系统的临时目录下,还会检测该临时目录与该即时通讯应用的应用程序数据目录是否处于同一个逻辑分区。如果临时目录与该应用程序数据目录处于同一个逻辑分区,则可以在应用程序数据目录中建立该目标文件的硬链接,从而可以避免复制目标文件以及发送该目标文件到该应用程序数据目录,有利于减少数据处理量,减少终端的资源耗费,进而有利于减少对终端性能的影响。而如果临时目录与应用程序数据目录未处于同一个逻辑分区,则可以将目标文件复制到该应用程序数据目录下,从而保证了目标文件在应用程序数据目录下的备份。因此,本申请实施例可以在保持文件可靠存储到应用程序数据目录的前提下,减少对终端性能的影响。
为了便于理解本申请的方案,下面结合一种应用场景进行介绍,如图4所示,其示出了本申请一种消息发送方法的一种流程交互示意图,本实施例以即时通讯应用发送文件需要经过文件服务器和消息服务器为例说明,本实施例可以包括:
S401,即时通讯客户端获得用于请求发送目标文件的即时通讯消息发送指令。
其中,该即时通讯消息发送指令指示有待接收该目标文件的接收方标识,如,该指令指示有接收该目标文件的接收方的即时通讯账号。
S402,即时通讯客户端在该目标文件处于操作系统的临时目录下的情况下,检测操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应硬盘的同一分区,如果是,则执行步骤S403;如果否,则执行步骤S404。
其中,对于目标文件未处于临时目录的情况可以参见前面实施例的介绍,在此不再赘述。
需要说明的是,为了便于理解,本实施例以物理存储空间为硬盘为例说明。
S403,如果操作系统的临时目录与该应用程序数据目录对应同一分区,即时通讯客户端在该应用程序数据目录中建立该目标文件的硬链接。
S404,如果操作系统的临时目录与该应用程序数据目录对应不同分区,即时通讯客户端将目标文件复制到即时通讯应用的应用程序数据目录下。
S405,即时通讯客户端将该目标文件发送到文件服务器。
S406,文件服务器存储该目标文件,并将目标文件的文件标识发送给该即时通讯客户端。
其中,该文件标识可以唯一标识该目标文件,以便后续该即时通讯客户端查看即时通讯消息中文件内容时,依据该文件标识从文件服务器中查询该目标文件;或者是,该即时通讯消息的接收方依据该文件标识从该文件服务器获取该目标文件的文件内容。
S407,即时通讯客户端向消息服务器发送携带该文件标识和接收方标识的即时通讯消息。
S408,消息服务器根据接收方标识,将携带该文件标识的即时通讯消息发送给该即时通讯接收方终端。
其中,即时通讯接收方终端可以根据该文件标识,从文件服务器中获取该即时通讯消息中的目标文件,以使得接收方用户可以查看该目标文件。
S409,消息服务器确定该即时通讯消息的消息标识,并将该消息标识返回该即时通讯客户端。
其中,该步骤S408和S409的顺序可以互换,也可以是同时执行,对此不加限制。
S410,即时通讯客户端存储目标文件的文件标识、该消息标识与该目标文件在应用程序数据目录中的文件路径之间的映射关系。
其中,存储该文件标识与该消息标识的对应关系,可以根据该消息标识对应的文件标识从文件服务器中查询该目标文件的文件内容,这样,进一步降低该目标文件无法被查看的风险。
如果文件服务器删除了该目标文件,由于即时通讯客户端存储了消息标识与该目标文件的文件路径,因此根据该对应关系还可以明确该消息标识所表征的一条即时通讯消息所对应的文件在终端中的地址。
需要说明的是,图4仅仅是以包含文件的即时通讯消息经过文件服务器和消息服务器发送给接收方终端为例说明。对于即时通讯消息不经过文件服务器,或者即使经过文件服务器但是文件服务器不存储该目标文件的情况,其过程类似,只是即时通讯客户端不会获取到文件服务器存储的该目标文件对应的文件标识,因此,可以只存储该消息标识与该目标文件在应用程序数据目录中的文件路径之间的映射关系即可。
对应本申请一种消息发送方法,本申请还提供了一种消息发送装置。如图5所示,其示出了本申请一种消息发送装置一个实施例的流程示意图,本实施例的装置应用于终端,该装置包括:
指令获得单元501,用于获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
文件备份单元502,用于如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件存储到即时通讯应用的应用程序数据目录;
消息发送单元503,用于发送包含所述目标文件的即时通讯消息。
在一种可能的情况中,所述文件备份单元,包括:
文件复制单元,用于如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件复制到即时通讯应用的应用程序数据目录下。
可选的,该消息发送单元,具体用于,在文件备份单元将所述目标文件存储到即时通讯应用的应用程序数据目录之后,发送包含所述目标文件的即时通讯消息。
为了降低对终端性能的影响,本申请的消息发送装置还可以包括:目录检测单元,如图6所示,其示出了本申请一种消息发送装置又一个实施例的组成结构示意图,本实施例的装置与图5装置的不同之处在于,本实施例的装置还可以包括:
目录检测单元504,用于在所述文件备份单元将所述目标文件存储到即时通讯应用的应用程序数据目录之前,检测所述操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区。
在该种情况下,该文本备份单元502中的文件复制单元5021具体为,用于如果所述操作系统的临时目录与所述应用程序数据目录对应不同的逻辑分区,将所述目标文件复制到即时通讯应用的应用程序数据目录下。
相应的,该文件备份单元还包括:
硬链接建立单元5022,用于所述如果所述操作系统的临时目录与所述应用程序数据目录对应同一个逻辑分区,在所述应用程序数据目录中建立所述目标文件的硬链接。
可选的,在以上装置实施例中,还可以包括:
关系存储单元,用于在所述消息发送单元发送包含所述目标文件的即时通讯消息之后,存储所述即时通讯消息与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
可选的,所述关系存储单元,包括:
标识获得子单元,用于获得所述即时通讯应用的消息服务器返回的所述即时通讯消息的消息标识;
关系存储子单元,用于存储所述消息标识与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
又一方面,本申请还提供了一种终端,该终端可以是本申请前面提到的即时通讯应用所在的终端,如,该终端可以为手机、平板电脑等。为了便于理解,可以参见图7,其示出了本申请一种终端的组成结构示意图。
在图7中,该终端700可以包括:处理器701和存储器702。
可选的,该终端还可以包括:通信接口703、输入单元704和显示器705和通信总线706。
其中,处理器701、存储器702、通信接口703、输入单元704、显示器705均通过通信总线706完成相互间的通信。
在本申请实施例中,该处理器701,可以为中央处理器、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。
该处理器可以调用存储器702中存储的程序。
存储器702中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令。
该存储器中至少存储有用于实现以下功能的程序:
获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
如果所述目标文件属于操作系统的临时目录下的文件,将所述目标文件存储到即时通讯应用的应用程序数据目录;
发送包含所述目标文件的即时通讯消息。
在一种可能的实现方式中,该存储器702可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以上所提到的程序,以及至少一个功能(比如图像识别功能等)所需的应用程序等;存储数据区可存储根据终端的使用过程中所创建的数据。
此外,存储器702可以包括非易失性存储器,还可以包括其他类型的存储器等。
该通信接口703可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括输入单元704,该输入单元可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘等等。
该显示器705包括显示面板,如触摸显示面板等。
当然,图7所示的终端结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图7所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请还提供了一种存储介质,该存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中的消息发送方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种消息发送方法,其特征在于,包括:
获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
检测所述目标文件是否处于操作系统的临时目录下;
如果是,则检测所述操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区;
如果所述操作系统的临时目录与所述应用程序数据目录对应不同的逻辑分区,则将所述目标文件复制到即时通讯应用的应用程序数据目录下;
如果所述操作系统的临时目录与所述应用程序数据目录对应同一个逻辑分区,则在所述应用程序数据目录中建立所述目标文件的硬链接;
发送包含所述目标文件的即时通讯消息。
2.根据权利要求1所述的方法,其特征在于,在所述发送包含所述目标文件的即时通讯消息之后,还包括:
存储所述即时通讯消息与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
3.根据权利要求2所述的方法,其特征在于,所述存储所述即时通讯消息与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系,包括:
获得所述即时通讯应用的消息服务器返回的所述即时通讯消息的消息标识;
存储所述消息标识与所述目标文件在所述应用程序数据目录中的文件路径之间的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述发送包含所述目标文件的即时通讯消息,包括:
在将所述目标文件存储到即时通讯应用的应用程序数据目录之后,发送包含所述目标文件的即时通讯消息。
5.一种消息发送装置,其特征在于,包括:
指令获得单元,用于获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
目录检测单元,用于检测所述目标文件是否处于操作系统的临时目录下;
所述目录检测单元,还用于在所述目标文件处于操作系统的临时目录下时,检测所述操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区;
文本备份单元,包括:文件复制单元和硬链接建立单元;
所述文件复制单元,用于在所述操作系统的临时目录与所述应用程序数据目录对应不同的逻辑分区时,将所述目标文件复制到即时通讯应用的应用程序数据目录下;
所述硬链接建立单元,用于在所述操作系统的临时目录与所述应用程序数据目录对应同一个逻辑分区时,在所述应用程序数据目录中建立所述目标文件的硬链接;
消息发送单元,用于发送包含所述目标文件的即时通讯消息。
6.一种终端,其特征在于,包括处理器和存储器;
其中,所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:
获得即时通讯消息发送指令,所述即时通讯消息发送指令用于指示发送目标文件;
检测所述目标文件是否处于操作系统的临时目录下;
如果是,则检测所述操作系统的临时目录与即时通讯应用的应用程序数据目录是否对应物理存储空间的同一个逻辑分区;
如果所述操作系统的临时目录与所述应用程序数据目录对应不同的逻辑分区,则将所述目标文件复制到即时通讯应用的应用程序数据目录下;
如果所述操作系统的临时目录与所述应用程序数据目录对应同一个逻辑分区,则在所述应用程序数据目录中建立所述目标文件的硬链接;
发送包含所述目标文件的即时通讯消息。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至4任一项所述的消息发送方法。
CN201911302995.6A 2019-12-17 2019-12-17 消息发送方法、装置、终端及存储介质 Active CN112995015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911302995.6A CN112995015B (zh) 2019-12-17 2019-12-17 消息发送方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911302995.6A CN112995015B (zh) 2019-12-17 2019-12-17 消息发送方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN112995015A CN112995015A (zh) 2021-06-18
CN112995015B true CN112995015B (zh) 2022-07-05

Family

ID=76342348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911302995.6A Active CN112995015B (zh) 2019-12-17 2019-12-17 消息发送方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112995015B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1976325A (zh) * 2006-12-13 2007-06-06 Ut斯达康通讯有限公司 一种可实现即时消息通信的网络系统及其通讯方法
CN101106542A (zh) * 2007-08-20 2008-01-16 北京亿企通信息技术有限公司 一种在即时通信工具中传输文件的方法及系统
EP2120175A2 (en) * 2008-05-14 2009-11-18 Robert W.W. Burden Identity verification
EP2744267A1 (en) * 2012-12-14 2014-06-18 Alcatel Lucent Method for WiFi connectivity loss anticipation
CN105099890A (zh) * 2015-07-27 2015-11-25 阿里巴巴集团控股有限公司 即时通讯消息的文件保存方法及装置
CN107402846A (zh) * 2017-07-24 2017-11-28 广州三星通信技术研究有限公司 文件处理方法和装置
CN108563754A (zh) * 2018-04-16 2018-09-21 Oppo广东移动通信有限公司 文件处理方法、装置、移动终端及计算机可读存储介质
CN109063029A (zh) * 2018-07-10 2018-12-21 苏奇 一种基于即时通信软件的信息归档管理方法
WO2019195051A1 (en) * 2018-04-05 2019-10-10 Symantec Corporation Systems and methods for utilizing an information trail to enforce data loss prevention policies on potentially malicious file activity

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120209921A1 (en) * 2011-02-10 2012-08-16 International Business Machines Corporation Instant Message Management Method and Apparatus

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1976325A (zh) * 2006-12-13 2007-06-06 Ut斯达康通讯有限公司 一种可实现即时消息通信的网络系统及其通讯方法
CN101106542A (zh) * 2007-08-20 2008-01-16 北京亿企通信息技术有限公司 一种在即时通信工具中传输文件的方法及系统
EP2120175A2 (en) * 2008-05-14 2009-11-18 Robert W.W. Burden Identity verification
EP2744267A1 (en) * 2012-12-14 2014-06-18 Alcatel Lucent Method for WiFi connectivity loss anticipation
CN105099890A (zh) * 2015-07-27 2015-11-25 阿里巴巴集团控股有限公司 即时通讯消息的文件保存方法及装置
CN107402846A (zh) * 2017-07-24 2017-11-28 广州三星通信技术研究有限公司 文件处理方法和装置
WO2019195051A1 (en) * 2018-04-05 2019-10-10 Symantec Corporation Systems and methods for utilizing an information trail to enforce data loss prevention policies on potentially malicious file activity
CN108563754A (zh) * 2018-04-16 2018-09-21 Oppo广东移动通信有限公司 文件处理方法、装置、移动终端及计算机可读存储介质
CN109063029A (zh) * 2018-07-10 2018-12-21 苏奇 一种基于即时通信软件的信息归档管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《移动保险系统客户端的设计与实现》;魏还伯;《中国优秀硕士学位论文全文数据库》;20120831;全文 *
Kyrre Wahl Kongsgård 等.《Data loss prevention for cross-domain instant messaging》.《IEEE》.2017, *

Also Published As

Publication number Publication date
CN112995015A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US11451505B2 (en) Storage and processing of ephemeral messages
US10129264B2 (en) Method and apparatus for implementing document sharing between user groups
US8213332B2 (en) Peer-to-peer data synchronization architecture
US8204483B2 (en) Electronic file transfer for a communications device
US8566406B2 (en) Filtering of electronic mail messages destined for an internal network
WO2015078402A1 (en) Method, apparatus and device for exchanging name card
US10498681B1 (en) Storage management for ephemeral messages
US20080056458A1 (en) Message system for conducting message
CN107707370B (zh) 群组通信方法、服务器、终端及计算机存储介质
US8719357B2 (en) Method and apparatus for managing message
CN104679239B (zh) 一种终端输入方法
US20040205069A1 (en) Attached file management system, program, information storage medium, and method of managing attached file
US20010030960A1 (en) Electronic mail system
CN108880972A (zh) 一种信息处理方法、服务器及终端
WO2016205234A1 (en) E-mail processing
US20080313287A1 (en) E-mail publishing of photos to photo albums
CN103237074A (zh) 一种智能终端之间的数据交互方法及系统
WO2023050816A1 (zh) 网络数据包抓取方法和客户端、服务端
CN112995015B (zh) 消息发送方法、装置、终端及存储介质
CN103532832A (zh) 一种传递电话号码的方法
CN104579901B (zh) 文件传输结果态的展示方法和装置
CN113014404B (zh) 一种消息传输方法、装置、服务器以及第二客户端
CN104346228A (zh) 共享应用程序的方法及终端
CN110035121B (zh) 一种信息处理方法及电子设备
US9049308B2 (en) Communication terminal device having registration determining unit

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