通过基于即时消息接发的主题索引的可搜索对等系统的制作方法

文档序号:11774601阅读:216来源:国知局
通过基于即时消息接发的主题索引的可搜索对等系统的制作方法与工艺

分案申请说明

本申请是申请日为2013年11月29日、申请号为201310632395.2、名称为“通过基于即时消息接发的主题索引的可搜索对等系统”的中国发明专利申请的分案申请。

本发明总体上涉及即时消息接发领域,并且更具体地涉及访问来自存储的对话的信息。



背景技术:

即时消息接发(im)是一种在计算设备之间通信并且传送信息的方式。特别地,在公司设置中,即时消息接发已经变得广泛用来以及时方式经由电子消息通信。在典型的im对话结束时,可以在位于im对话中的参与者的计算机上的文件系统中存储对话的转写文本。这一信息不容易被其他计算设备的用户发现和可访问。

用于取回这样的信息的常规方法的示例包括搜寻与存储于中央服务器上的im对话对应的关键字或者主题。类似地,在对等设置中,一个计算机可以使用关键字、搜索项等向另一计算机直接查询匹配的im对话。



技术实现要素:

本发明的实施例公开一种用于基于主题索引搜索在用户的本地文件系统中存储的即时消息对话历史的方法、计算机程序产品和计算机系统。计算机在第一计算机上接收用于对主题定位的请求。计算机确定用于查询主题的第二计算机。计算机向第二计算机查询主题。计算机接收与主题对应的即时消息接发对话的参与者的标识信息。计算机在第一计算机上存储参与者的标识信息并且按照主题对存储的标识信息编索引。

附图说明

图1是图示根据本发明的一个实施例的分布式数据处理环境的功能框图。

图2是描绘根据本发明的一个实施例的用于在数据处理环境内的计算机设备上对即时消息对话进行存储和编索引的操作步骤的流程图。

图3是描绘根据本发明的一个实施例的用于即时消息索引程序在数据处理环境内的计算机设备上在索引网络之中对主题定位的操作步骤的流程图。

图4描绘根据本发明的一个实施例的执行即时消息接发索引程序的计算机设备的部件的框图。

具体实施方式

所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(articleofmanufacture)。

也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。

现在将参照附图具体描述本发明。图1是图示根据本发明的一个实施例的被表示为100的分布式数据处理环境的功能框图。

在本发明的这一实施例中,分布式数据处理环境100包括通过网络101互连的多个计算机设备。网络101可以是将支持在计算设备(比如计算机设备102a、102b、102c和102d)之间的通信的资源的任何汇集,这些资源包括计算机、部件、连接和协议。此外,每个计算机设备具有与至少一个其他计算机设备的社交网络连接或者关系。例如,计算机设备102a的用户可以属于与计算机设备102b的用户相同的社交网络。在本申请中,属于相同社交网络包括是即时消息接发程序中的联系人。如描绘的那样,计算机设备102a具有由连接104代表的与计算机设备102b的社交网络连接或者关系。因此,计算机设备102a的用户可以让计算机设备102b的用户被列举为im联系人,并且计算机设备102b的用户类似地可以让计算机设备102a的用户被列举为im联系人。计算机设备102b具有与计算机设备102c的社交网络连接(连接106),并且计算机设备102c具有与计算机设备102d的社交网络连接(连接108)。计算机设备102a、102b、102c和102d中的每个计算机设备可以例如在经由即时消息接发程序通信时通过网络101在对等(p2p)环境中相互通信。计算机设备102a、102b、102c和102d中的每个计算机设备可以是膝上型计算机、平板计算机、笔记本计算机、个人计算机(pc)、台式计算机、个人数字助理、智能电话或者能够参与即时消息接发的任何可编程电子设备。

im索引程序110是用于在p2p设置中搜索基于主题的im对话索引的计算机程序,在该p2p设置中,用户可以搜寻主题而不知道主题存储于何处以及参与者是谁。im索引程序110的单独实例存在于计算机设备102a、102b、102c和102d中的每个计算机设备上并且被分别表示为im索引程序110a、110b、110c和110d。im索引程序110a、110b、110c和110d分别包括用户界面112a、112b、112c和112d。用户界面112从用户接收输入(例如,键入的消息、选择的选项等)并且向用户显示接收的消息。im索引程序110a、110b、110c和110d也分别包括索引114a、114b、114c和114d。索引114存储在两个或者更多参与者之间保持的im对话的主题。索引114可由它驻留于的计算机设备和通过网络与它驻留于的计算机设备社交地连接的计算机设备访问。例如,在计算机设备102a上的索引114a可由计算机设备102b访问,但是并不直接可由计算机设备102c和102d访问。每个索引114包括与im对话对应的主题列表。im索引程序110的用户可以建立安全设置以仅允许满足指定的标准的计算机设备访问索引114。

图2是描绘根据本发明的一个示例性实施例的、用于对im对话存储和编索引的操作步骤的流程图。

在示例中,im对话出现于计算机设备102a与计算机设备102b之间并且对应于单个主题。im对话的转写文本可以被每个参与计算机设备与讨论的主题关联地存储,从而随后允许转写文本由寻找关于主题的信息的某人取回。

在im对话出现时,im索引程序110(例如,在以上示例中的im索引程序110a和110b)确定im对话何时结束(步骤202)。响应于确定即时消息接发对话已经结束,im索引程序110确定im对话的至少一个主题(步骤204)。

在一个实施例中,im对话的参与者可以手动指定对话的或者由对话覆盖的主题。例如,在im对话结束之后,im索引程序110可以经由用户界面112提示用户录入主题。

在另一实施例中,确定主题由im索引程序110自动完成。例如,im索引程序110可以具有预定主题列表并且通过标识在im对话中使用的一个或者多个关键字来匹配主题中的至少一个主题与im对话。在又一实施例中,在im对话中最频繁使用的词(排除常用冠词,比如“该”、“一个”等)可以被确定为im对话的主题。

im索引程序110确定im对话的参与者(步骤206)。例如,除了im索引程序110在其上操作的计算机设备之外,至少一个其他计算机设备参与对话。im索引程序110可以不仅确定其他参与者的用户名,并且还确定用于参与者从其连接的每个设备的对应ip地址,并且潜在地确定其他联系人信息(电子邮件、电话等)。im索引程序110保存im对话(步骤208)。更具体而言,im索引程序110保存im对话的撰写文本和对话的标识的参与者。im索引程序110按照确定的主题对保存的im对话编索引(步骤210)。因此,在以上示例中,计算机设备102a和102b中的每个计算机设备将最终具有按照主题编索引的im对话的撰写文本,并且每个设备将引用本身和其他设备(或者它本身的用户和其他设备的用户)作为im对话中的参与者。

图3是描绘根据本发明的一个实施例的通过使用im索引程序110来获得相关信息的操作步骤的流程图。例如,计算机设备(比如计算机设备102c)的用户可能想要从另一计算机设备发现与指定的主题有关的对话,比如在计算机设备102a和102b上保存的对话。

在搜索场景中,im索引程序110从用户接收指定待搜索的主题的请求(步骤302)。例如,用户可以通过用户界面112录入主题。im索引程序110初始化在与主控im索引程序110的计算机设备具有社交网络连接或者关系的计算机设备的im对话索引之中搜寻主题(步骤304)。例如,在其中用户请求计算机设备102c搜寻具体主题的示例中,im索引程序110c搜索计算机设备102b和102d的索引,因为这两个设备具有与计算机设备102c的社交网络连接。在一个优选实施例中,社交网络连接是计算机设备102b和102c中的每个计算机设备的用户在计算机设备102c上的即时消息接发程序的联系人列表中。

因此,在初始化搜索之后,im索引程序110查询与主控im索引程序110的计算机设备具有社交网络连接的计算机设备(步骤306)。im索引程序110确定查询的计算机设备的索引是否包含主题。在从查询的计算机设备接收在查询的计算机设备上的索引包含搜索的主题这样的通知时,im索引程序110接收与搜索的主题对应的对话的参与者(步骤308)。在一个实施例中,im索引程序110可以在标识主题之后发送对于参与者的单独查询。在另一实施例中,参与者可以由在查询的计算机设备上驻留的im索引程序110的实例自动发送。在任一情况下,接收参与者列表有助于执行查询的用户联系有关对话的参与者,因为参与者可以借助他们参与所述对话来具有主题的特殊知识。在一个示例中,如果用户输入用于在计算机设备102c上搜寻的主题,则计算机设备102c可以查询社交地连接的计算机设备102b。计算机设备102b可以具有在计算机设备102b与计算机设备102a之间出现的按照搜寻的主题编索引的im对话。计算机设备102c将从计算机设备102b接收参与者(例如,用户名和/或ip地址以及其他潜在标识信息或者联系人信息)。计算机设备102c的用户可以使用这一信息以直接联系参与者。在一个实施例中,用户也可以请求im对话的转写文本以了解对话的实际细节和/或确认im对话确实与被搜寻的主题有关。

如果im索引程序110在查询的计算机设备的索引中未发现主题,则im索引程序110可以基于主控计算机设备的联系人列表确定待查询的另一计算机设备。

一旦im索引程序110接收或者标识与搜索的主题对应的对话的参与者,im索引程序110就存储指示im对话在标识的参与者之间发生的信息并且按照主题对这一信息编索引(步骤310)。这一种对im对话在参与者之间发生(其中存储这一信息的计算机设备不是参与者)存储或者编索引的能力扩展连接到这一计算机网络的每个设备用具体类型的知识标识人们的能力。例如,在其中计算机设备102c搜寻主题的场景中,如果计算机设备102d已经在计算机设备102c搜索之前搜寻了相同主题,则计算机设备102d不会已经用主题的潜在知识对任何人定位。然而,在计算机设备102c对计算机设备102a和102b的用户参与与主题有关的对话编索引之后,计算机设备102d的搜索将在计算机设备102c上对主题定位并且揭示计算机设备102a和102b(或者计算机设备102a和102b的用户)参与相关对话。因此,计算机设备102d的用户可以与参与者中的任何参与者直接通信。此外,知道im对话的原有参与者可以允许计算机设备102d的用户向计算机设备102a或者102b查询im对话的撰写文本。

在一个实施例中,如果计算设备的用户不可用或者将不可用,则计算设备可以向预定计算机卸下(offload)或者“推送”存储的索引。例如,计算机设备102b可以将索引114b潜在地与存储的im对话一起向计算机设备102c推送。通过推送将在索引114c中包括的索引114b,主题和im对话仍将可用于被例如在计算机设备102d上搜寻主题的用户发现。

在本发明的另一实施例中,如果im索引程序110不能在本地计算机设备的联系人列表上的计算机设备的索引中发现主题,则im索引程序110可以指引在查询的计算机设备上的im索引程序110的实例以搜寻主题。在查询的计算机设备上的im索引程序110的实例如在正常操作中那样将开始向它自己的联系人查询主题,并且如果被发现,则可以向查询计算设备返回可适用索引信息。以这样的方式,针对主题的搜索可以沿着社交联系人从一个计算机向下一计算机向外螺旋直至发现主题。

图4描绘根据本发明的一个例示性实施例的计算机设备(比如计算机设备102a、102b、102c或者102d)的部件的框图。应当领会到,图4仅提供一个实现方式的例示而未暗示关于其中可以实施不同实施例的环境的任何限制。可以进行对描绘的环境的许多修改。

计算机设备102a、102b、102c或者102d中的每个计算机设备包括提供在计算机处理器404、存储器406、持久存储装置408、通信单元410和输入/输出(i/o)接口412之间的通信的通信结构402。可以用任何架构实施通信结构402,该架构被设计用于在处理器(比如微处理器、通信和网络处理器等)、系统存储器、外围设备和在系统内的任何其他硬件部件之间传递数据和/或控制信息。例如,可以用一个或者多个总线实施通信结构402。

存储器406和持久存储装置408是计算机可读存储介质。在这一实施例中,存储器406包括随机存取存储器(ram)414和高速缓存存储器416。一般而言,存储器406可以包括任何适当易失性或者非易失性计算机可读存储介质。

im索引程序110存储于持久存储装置408中以用于经由存储器406中的一个或者多个存储器由相应计算机处理器404中的一个或者多个计算机处理器执行。在这一实施例中,持久存储装置408包括磁硬盘驱动。取代磁硬盘驱动或者除了磁硬盘驱动之外,持久存储装置408可以包括固态硬驱动、半导体存储设备、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存或者能够存储程序指令或者数字信息的任何其他计算机可读存储介质。

由持久存储装置408使用的介质也可以可去除。例如,可去除硬驱动可以用于持久存储装置408。其他示例包括向驱动中插入的用于向也是持久存储装置408的部分的另一计算机可读存储介质上传送的光和磁盘、拇指驱动以及智能卡。

通信单元410在这些示例中提供与其他数据处理系统或者设备的通信。在这些示例中,通信单元410包括一个或者多个网络接口卡。通信单元410可以通过使用物理和无线通信链路中的任一种或者两种通信链路来提供通信。可以通过通信单元410向持久存储装置408下载im索引程序110。

i/o接口412允许利用可以被连接到计算机设备102a、102b、102c和102d之一的其他设备输入和输出数据。例如,i/o接口421可以提供与外部设备418(比如键盘、键区、触屏和/或一些其他适当输入设备)的连接。外部设备418也可以包括便携计算机可读存储及诶子,如比如拇指驱动、便携光或者磁盘和存储器卡。用来实践本发明的实施例的软件和数据(例如,im索引程序110)可以存储于这样的便携计算机可读存储介质上并且可以经由i/o接口412向持久存储装置408上加载。i/o接口412也连接到显示器420。

显示器420提供用于向用户显示数据的机制并且可以例如是计算机监视器。

基于如下应用来标识这里描述的程序,针对该应用,在本发明的一个具体实施例中实施这些程序。然而,应当领会到使用这里的任何特定程序术语仅为了方便,并且因此本发明不应限于仅在由这样的术语标识和/或暗示的任何具体应用中使用。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1