CN101661485A - 用于支持联系信息查询的方法和设备 - Google Patents

用于支持联系信息查询的方法和设备 Download PDF

Info

Publication number
CN101661485A
CN101661485A CN200810212688A CN200810212688A CN101661485A CN 101661485 A CN101661485 A CN 101661485A CN 200810212688 A CN200810212688 A CN 200810212688A CN 200810212688 A CN200810212688 A CN 200810212688A CN 101661485 A CN101661485 A CN 101661485A
Authority
CN
China
Prior art keywords
catalogue
query
contact details
relation information
contact
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.)
Pending
Application number
CN200810212688A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200810212688A priority Critical patent/CN101661485A/zh
Priority to US12/549,019 priority patent/US8296307B2/en
Publication of CN101661485A publication Critical patent/CN101661485A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Abstract

本发明公开了一种用于在通信中支持查询未知联系人的联系信息的方法和设备。该方法包括步骤:接收包含与未知联系人相关的关系信息的查询语言;根据查询语言语法来解析所述查询语言,以获取查询请求;响应于所述查询请求,在一个或者多个目录中查询与所述查询请求匹配的所述未知联系人的联系信息,其中所述目录至少包括联系人之间的关系信息以及联系人的联系信息;和返回匹配的所述联系信息,以便与该未知联系人进行通信。

Description

用于支持联系信息查询的方法和设备
技术领域
本发明一般涉及数据处理领域,以及更具体地,本发明涉及用于支持联系信息查询的方法和设备。
背景技术
当前,随着通信技术的发展,人与人之间的通信方式进一步丰富。例如在现存的各种通信方式中,传统语音电话、视频电话、移动电话、网络电话、电子邮件、即时消息、短消息服务等不同的通信方式需要使用不同的通信工具,并且涉及不同的联系信息。诸如,当使用电子邮件联系方式时,需要使用专用的电子邮件收发应用或者Web应用,并且使用电子邮件地址作为联系信息;当使用移动电话方式通信时,将移动电话号码作为联系信息。
在联系方式不断丰富的同时,人们在生活、工作过程中需要交往的联系人也愈加多样化,这一问题对于大型跨国企业尤为突出。在全球化企业中,员工所处的真实地理位置已经不再重要,员工彼此可能并不知晓对方身处何处,而在各个员工之间可以通过电子邮件、即时消息应用、电话、传真等方式来进行沟通,彼此交换意见并基于各种载体来传送数据或文档。
对于公司员工来说,他/她的日常联系人可以包括:同事、同学、朋友、家人、客户等多种类型。在这些类型的联系人中还可能出现重复的情况,例如,Alice即是Bob的同学,又是Bob的同事。同时,这些联系人的信息并不是固定不变的,而是可以经常变化。例如,更换电子邮件地址、移动电话号码或者固定电话号码等。如果用户根据自己维护的通信录来联系所期望联系的人,则很可能出现现有的联系信息过时等情况。
另外,在大型跨过企业环境中,由于公司的组织结构和公司员工的职务也会随时间动态地变化,用户不可能知晓每个员工的电子邮件地址以及这些员工之间的关系。由此,从最新的企业通信录中查找联系信息,而不是从每个员工自己维护的通信录中查找联系信息,这可以保证获取最新的联系信息。
在现有技术中,通常电子邮件系统与通信录工具彼此独立。此时用户采用如图1中所示的方法来查询未知联系人的信息。例如,在企业中,通常使用电子邮件系统和即时消息系统,并且使用企业通信录作为联系信息存储系统。如图1中所示,其中示出了根据现有技术的获取联系信息的示意性方法100。
在图1中示出了示意性企业通信录的界面,如110所示。当用户期望通过电子邮件系统130来向Tom所管理的人员“CC(抄送)”电子邮件、同时期望向即时消息系统120的新建联系人域中加入Tom所管理人员的信息时,用户可以进行如下操作:1)首先,打开企业通信录的界面,找到Tom的个人信息;2)从“所管理人员”中找到Tom所管理的人员姓名(例如,Alice和Bob)并找到相应的电子邮件地址;3)通过复制/粘贴操作,将这些人员的电子邮件地址分别手工输入至电子邮件系统130的“CC”域132中,并且将所述信息输入即时消息应用120的新建联系人域122中。如果用户需要向多个联系人发送电子邮件,则查找、复制/粘贴电子邮件地址将成为一项耗时的工作。又如,如果期望向企业中职务为“Manager(经理)”的所有员工发送电子邮件,则这一工作的复杂程度可想而知。
从上文的叙述中可见,在日常工作中,经常希望向一个已知其电子邮件地址的特定联系人A发送电子邮件,同时希望将该电子邮件抄送至与联系人A具有某种特定关系的未知联系人B和C等。这种特定“关系”诸如,联系人B可以是A的经理,联系人C可以是A的经理的助理等。
此时,需要提供一种方便有效的方法,以便用户能够通过输入已知联系人A以及A与未知联系人B之间的关系信息来查找未知联系人B的联系信息;或者通过输入未知联系人与企业或者社团之间的关系来查找未知联系人的联系信息。
发明内容
本发明旨在提供一种用于在通信中支持查询未知联系人的联系信息的方法和设备。
根据本发明的一方面,提供了一种用于在通信中支持查询未知联系人的联系信息的方法。该方法可以包括步骤:接收包含与未知联系人相关的关系信息的查询语言;根据查询语言语法来解析查询语言,以获取查询请求;响应于查询请求,在一个或者多个目录中查询与查询请求匹配的未知联系人的联系信息,其中目录至少包括联系人之间的关系信息以及联系人的联系信息;和返回匹配的联系信息,以便与未知联系人进行通信。
根据本发明的另一方面,提供了一种用于在通信中支持查询未知联系人的联系信息的设备。该设备可以包括:用于接收包含与未知联系人相关的关系信息的查询语言的装置;用于根据查询语言语法来解析查询语言以获取查询请求的装置;用于响应于查询请求,在一个或者多个目录中查询与查询请求匹配的未知联系人的联系信息的装置,其中目录至少包括联系人之间的关系信息以及联系人的联系信息;和用于返回匹配的联系信息以便与未知联系人进行通信的装置。
附图说明
参考以下结合附图的详细说明,本发明的特征、优点以及其他方面将变得更加明显,在附图中:
图1是示出根据现有技术的用于查找未知联系人的联系信息的一例方法的图示;
图2是其中可以实现本发明的网络架构的图示;
图3是示出根据本发明一种实施方式的用于支持查询未知联系人的联系信息的系统的示意性框图;
图4示出了根据本发明一种实施方式的查询系统初始化的方法的流程图;
图5示出了根据本发明一种实施方式的用于支持查询未知联系人的联系信息的方法的流程图;以及
图6是示出根据本发明一种实施方式的用于支持查询未知联系人的联系信息的方法的示意图,其中分别示出了使用本方法前后的用户界面的对照图示。
应当理解,在全部附图中,相同的参考标记表示相同的部件。
具体实施方式
为方便描述起见,在以下本发明的实施方式的描述中,以电子邮件应用作为各种通信方式的代表性示例,以电子邮件地址作为联系信息的代表性示例。
参考图2,示出了其中可以应用本发明的网络架构200的示意图。网络架构200可以包括:个人计算机240、膝上型计算机245、平板计算机250、个人数字助理(PDA)255、移动电话260以及服务器265等设备;还可以包括计算机网络210,并且计算机网络210还可以连接至一个或者多个企业网络220和社团网络230等。网络210是用以在设备240-265之间提供通信链路的介质。网络210、220以及230可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
服务器265可以是安装有根据本发明的实施方式的应用的服务器。图2中的个人计算机240、膝上型计算机245、平板计算机250、个人数字助理(PDA)255、移动电话260等终端设备可以是安装有根据本发明实施方式的应用的终端设备。在图2所示的社团网络220以及企业网络230中可以存储有根据本发明实施方式的各种关系信息以及联系信息。用户可以通过适当的插件来访问此类关系信息和联系信息,这将在下文中详细描述。
应该理解,图2中的服务器、终端设备的种类和数量仅仅是示意性的。根据实现需要,可以存在任意适合种类和数量的服务器、终端设备。
为清楚起见,在此首先给出在本发明中经常使用的术语的解释。
·目录:某团体中各联系人之间的所有信息的特定存储方式。表1中示出了一个示例性企业目录的构成。应该理解,在企业目录以外,还可以构建社团目录,诸如从当前流行的Facebook来构建。
·目录信息:目录中所存储的信息总和,可以包括:目录名称、目录描述、目录连接,还可以包括各种关系信息和联系人的联系信息等,如表1中所示。
·关系信息:在目录中联系人之间的关联性信息。例如,存在A、B、C三个联系人,其中:A、B之间的关系为,B是A的经理;B、C之间的关系为,C是B的助理;而在A、C之间不存在直接关系。例如,在表1的简化示例中,联系人之间存在Manager(经理)关系、Assistant(助理)关系等。
·联系人的联系信息:表示与特定联系人相对应的个人信息,包括但不限于电子邮件地址、固定电话号码、移动电话号码、即使消息ID等。
·未知联系人:在本发明中的“未知联系人”是指用户仅知晓该未知联系人与特定已知联系人的关系,而并不知晓其姓名等其他信息的联系人。
表1  企业目录示例
Figure A20081021268800091
在下文中,将参考附图,通过具体实施方式来进一步解释根据本发明的方法和设备。
第一实施方式
现在参考图3,其中示出了支持查询未知联系人的联系信息的系统300的示意性框图。如图所示,系统300包括:目录插件310、查询语言设计器320、查询构造器330、以及查询处理引擎340。附图3中以阴影形式示出的模块是为实现根据本发明实施方式的查询联系信息的方法而专门设计和实现的模块。电子邮件客户端350、电子邮件服务器360、社团网络220以及企业网络230是在现有技术中的已知模块,对此不再进行赘述。注意,查询构造器330是现有技术的电子邮件客户端350的扩展应用程序,在根据本发明实施方式的系统中,其作为用户380输入查询语言332的接口来操作,并且与电子邮件客户端350相结合一同构成扩展协作客户端370的一部分,如图3中虚线框所示。
在下文中将概述根据本发明实施方式的系统300。在图3所示的查询系统300中,主要操作流程分为两个阶段:初始化阶段以及查询阶段。
在初始化阶段中,目录插件310从包括社团网络220、企业网络230等的不同网络中提取数据(分别如箭头A1和A2所示),并从中解析关系信息和联系信息以便构建一个或者多个目录(如图3所示的社团目录312和企业目录314)。目录插件310将所解析的关系信息322发送至查询语言设计器320(如箭头B所示)。请注意,这里的“关系信息322”可以分别对应于一个或者多个目录。然后,查询语言设计器320解析来自目录插件310的关系信息322,生成相对应的查询语言语法324,并将其发送至查询构造器330(如箭头C所示);以及生成与关系信息322相对应的目录查询代理326并将其发送至查询处理引擎340(如箭头D所示)。
在已经完成对目录插件310、查询语言设计器320以及查询处理引擎340的初始化后,查询阶段开始。
首先,用户380向扩展协作客户端370中的查询构造器330输入查询语言332(如箭头E所示)。注意,查询语言332是根据查询语言设计器320传送的查询语言语法324构造的查询语言。然后,查询构造器330解析用户380输入的查询语言332,并且向查询处理引擎340发送查询请求334(如箭头F所示)。之后,查询处理引擎340解析查询请求334的内容并且调取内容查询代理326,以便向目录插件310进行查询以获取查询结果(如双向箭头G所示)。其后,查询处理引擎340向电子邮件客户端350返回查询结果336(如箭头H所示)。此时,用户380可以使用电子邮件客户端350来通过电子邮件服务器360与未知联系人进行通信(如箭头I所示)。
在下文中,将以具体示例的方式来分别详细描述初始化阶段与查询处理阶段的具体流程。
图4示出了对根据本发明实施方式的查询系统提供初始化的方法的流程图400。
如图4中所示,在步骤S402中,目录插件310从包括社团网络220、企业网络230等的不同网络中分别提取数据,从中解析关系信息322和联系信息以构建一个或者多个目录。此时,将来自同一网络中的关系信息和联系信息保存在相同目录中。
在步骤S404中,目录插件310将所解析的关系信息322发送至查询语言设计器320。
在步骤S406中,查询语言设计器320解析来自目录插件310的关系信息322,并将生成的相应的查询语言语法324发送至查询构造器330。
在步骤S408中,将目录查询代理336发送至查询处理引擎340。
注意,在步骤S406以及步骤S408中所示操作的执行顺序并不局限于图4中所示的顺序方式,而是还可以并行执行,或者在时间上不分先后顺序地执行。
在下文中,将以具体示例的方式说明目录插件310、查询语言设计器320、查询构造器330以及查询处理引擎340如何操作。
目录插件310是用以定义目录的装置。例如,用户可以与社团网络220相关联,还可以与企业网络230相关联。而除了社团网络220或者企业网络230以外,用户还可以分别关联于其他社会关系。例如,当用户是一个大型全球化企业中的员工时,他/她所处的目录可以具有如下关系信息:总经理、分公司经理、研发中心经理、助理等。又如,当用户是政府机关的公务人员时,他/她所处的目录可以具有如下关系信息:局长、处长、科长、组长等。
通常,社团网络220以及企业网络230存储了联系人与社团的关系信息或者联系人与企业中其他联系人之间对应关系,诸如企业内部通讯录或者社团通讯录。
在下文中,将仅以企业网络230中的电子邮件系统作为示例来说明。在根据本发明的实施方式中,目录的设计中可以包含以下内容:目录名称、目录ID、目录描述、目录连接(其中包括例如:地址、账户ID、账户密码等)以及目录查询代理等。注意,在目录查询代理中,可以包括以下内容:
(1)公共静态变量,包括:
·关系:例如,经理、分公司经理、助理等;
·联系信息类型:例如,emailAddress(电子邮件地址)、telephoneNumber(固定电话号码)、IM_ID(即时消息ID)等;
·输入类型:emailAddress、IM_ID。
(2)函数,包括:
·getContactbyRelationship(relationship,contactType,inputType,input[]);
(3)依赖性代码库,例如,jar文件。
下文将以企业目录作为示例,通过从企业网络230中提取数据,从中解析关系信息和联系人的联系信息以便构建目录。目录可以包括如表2所示的信息:
表2企业目录
Figure A20081021268800121
同样,在表3中示出了以社团目录作为示例所提取的目录信息:
表3社团目录
Figure A20081021268800122
Figure A20081021268800131
应该理解,用户可以根据不同的社团网络220以及企业网络230所提供的信息来设计目录插件310中的目录。在目录插件310中还可以同时包括一个或者多个目录,即,在目录插件310中存在如上文中表1所示的多个目录,每个目录采用不同的目录ID标识并且具有各自的相应内容。
具体地,在上文所述的图4的步骤S402中,通过从社团网络220以及企业网络230中获取相应的目录信息,在目录插件310中构建了社团目录312(例如,目录ID为fb)以及企业目录314(例如,目录ID为bp)。
当在目录插件310中已经从社团网络220以及企业网络230中生成了相关的目录312以及314之后,目录插件310将关系信息322发送至查询语言设计器320,以便解析查询语言语法324以及构造目录查询代理326。
查询语言设计器320的功能在于,为基于关系信息的查询方法提供查询语言语法、以及向查询处理引擎340提供可用的目录查询代理326。在查询语言设计器320中,需要标识和定义如下信息:插件ID、输入类型、联系信息类型、关系信息、函数名称,并且其中还可以定义支持包括AND、OR、NOT等逻辑操作的复杂逻辑查询。在查询语言设计器320中,可以存在一个或者多个如表4、表5、表6以及表7所定义的函数:
表4目录bp的函数Manager
  插件   bp
  输入类型   EmailAddress
  联系信息类型   EmailAddress
  关系   Manager
  函数名称   Manager
  复杂逻辑查询   AND、OR、NOT等
表5目录bp的函数BranchManager
  插件   bp
  输入类型   EmailAddress
  联系信息类型   EmailAddress
  关系   BranchManager
  函数名称   BranchManager
  复杂逻辑查询   AND、OR、NOT等
表6bp的函数Asistant
  插件   bp
  输入类型   EmailAddress
  联系信息类型   EmailAddress
  关系   Asistant
  函数名称   Asistant
  复杂逻辑查询   AND、OR、NOT等
表7fb目录的Friend函数
  插件   fb
  输入类型   EmailAddress
  联系信息类型   EmailAddress
  关系   Friend
  函数名称   Friend
  复杂逻辑查询   AND、OR、NOT等
可以采用如下的标记语言来表示包含上述表4、表5、表6以及表7中的函数的查询语言:
<Query Language>
     <Function>
          <FunctionName>Manager</FunctionName>
          <InputType>emailAddress</InputType>
          <DirectoryPluginID>bp</DirectoryPluginID>
          <RelationshipType>Manager</RelationshipType>
          ...
     </Function>
     <Function>
          <FunctionName>BranckManager</FunctionName>
          <InputType>emailAddress</InputType>
          <DirectoryPluginID>bp</DirectoryPluginID>
          <RelationshipType>BranckManager</RelationshipType>
          ...
     </Function>
     <Function>
          <FunctionName>Asistant</FunctionName>
          <InputType>emailAddress</InputType>
          <DirectoryPluginID>bp</DirectoryPluginID>
          <RelationshipType>Asistant</RelationshipType>
          ...
     </Function>
     <Function>
          <FunctionName>Friend</FunctionName>
          <InputType>emailAddress</InputType>
          <DirectoryPluginID>fb</DirectoryPluginID>
          <RelationshipType>Friend</RelationshipType>
          ...
     </Function>
     <Function>...</Function>
</Query Language>
在上述具体示例中,当查询语言设计器320解析出查询语言语法324之后,将查询语言语法324发送至查询构造器330(如图4中的步骤S406所示),并且生成目录查询代理326并将其部署至查询处理引擎340(如图4中的步骤S408所示)。根据本发明实施方式,对查询系统进行初始化的方法的流程至此结束。
应该理解,如图4中所示的初始化步骤可以重复进行,此处涉及的“初始化步骤”是针对在查询过程中可能使用的在社团网络220、企业网络230或者其他网络中所包含的数据进行提取、解析的过程,进而通过使用所解析的关系信息322和联系信息对目录插件310、查询语言设计器320、查询处理引擎330以及查询构造器340进行初始化的步骤。应该理解,该“初始化步骤”不必在整个查询系统启动的初始阶段执行,而是可以在系统运行的任何阶段执行。例如,当用户期望对现有系统中尚未包含的新的目录关系进行查询时,则首先需要应用包含新的目录的目标网络中的数据,来对查询系统进行新一轮的“初始化”。
图5示出了根据本发明实施方式的用于支持查询未知联系人的联系信息的方法的流程图500。在查询阶段中,此时已经完成了如图4中所示的对目录插件310、查询语言设计器320、查询处理引擎330以及查询构造器340的初始化过程。
如图5中所示,在步骤S502处,用户380按照所定义的查询语言语法324来向查询构造器330输入查询语言332。
之后,在步骤S504处,查询构造器330解析所输入的查询语言332,并且向查询处理引擎340发送查询请求334。请注意,来自社团网络220、企业网络230或者其他网络的联系人的联系信息仅存储在目录插件310中,因而在步骤S506中,需要查询处理引擎340调用目录查询代理326来查询目录插件310以获取期望联系人的联系信息。
其后,在步骤S508中,查询处理引擎340向电子邮件客户端350返回查询结果336。
然后,在步骤S510中,用户380可以使用所返回的查询结果336(即,返回的未知联系人的电子邮件地址)来通过电子邮件客户端350与电子邮件服务器360进行通信,进而向未知联系人发送电子邮件。
现在返回图3,查询构造器330的功能在于,处理用户380输入的查询语言332以生成查询请求334。用户380需要根据查询语言语法324来输入包括以下信息的查询语言332:目录ID、函数ID以及输入变量保留字。其中,目录ID表示,用户期望对哪个目录中的数据进行操作,即,用户期望选择使用哪个目录中的关系信息来进行查询。函数ID表示,用户期望在所选择目录中执行哪个函数进行操作。而输入变量保留字则根据输入类型的不同而有所不同,具体情况见表8所示。
表8用于不同输入类型的输入变量保留字
Figure A20081021268800171
Figure A20081021268800181
在表8中,对于电子邮件客户端给出了三个保留字“To”、“CC”以及“BCC”。已知的是,在电子邮件系统中通常存在三种方式以设置可以接收到电子邮件的目标联系人。在电子邮件系统中,在“To(收件人)”域中输入的是直接收件人电子邮件地址,因而当用户将目标联系人的电子邮件地址输入“To”域时,邮件将被直接发送至目标联系人处;而在“CC(Carbon Copy,抄送)”域中输入的是抄送人的电子邮件地址,即当用户在“To”中输入了联系人A的地址,同时在“CC”域中输入了联系人B的地址时,系统则将该电子邮件直接向联系人A发送的同时“抄送”联系人B。此时,在联系人B所接收的电子邮件的头部中,可以看到发件人地址、收件人(联系人A)地址的信息;另外,在“BCC(Blind Carbon Copy,盲送)”方式中,其实现与“CC”方式类似,不同之处在于“BCC”隐藏了抄送对象。
尽管在表8的emailAddress输入类型中示出了三个输入变量保留字,然而应该注意,还存在可以省略输入保留字的情况。在下文的具体示例中将对其进行进一步解释。
在下文中,将继续以上文的示例来进一步进行解释。对于包含在上文表4中所示内容的查询语言,可以利用如下标记语言来描述查询函数Manager:
<Query>
    <DirectoryID>bp</DirectoryID>
    <FunctionName>Manager</FunctionName>
    <Input>To</Input>
    ...
</Query>
在下文中,将具体描述用户直接使用的查询语言的语法结构。在本发明的实施方式中,查询语言是一种基于关系信息的查询语言,用户首先选择联系人所处的目录,并通过指定应用查询函数和输入变量来定义期望使用的关系信息,进而获取所未知联系人的信息。
在下文中,仅以电子邮件通信方式作为示例来描述查询语言的具体实现。在上文给出的具体示例中,对于电子邮件客户端来说包括三种变量保留字,分别是“To[]”、“CC[]”以及“BCC[]”。注意,在上述变量保留字中,在方括号“[]”中可以输入一个正整数“n”或者保持方括号[]中为空。其中该正整数“n”表示当前的变量保留字指代电子邮件客户端系统中的第几个联系人,例如“To[1]”指代电子邮件客户端系统中的“To”域中的第一个联系人,而“CC[4]”则指代电子邮件客户端系统中的“CC”域中的第四个联系人。如果方括号“[]”中为空,则该变量保留字指代在该保留字域中的所有联系人,例如,“To[]”表示“To”域中的所有联系人。
例如,在上文所示的表2和表3中,分别给出了在企业目录(目录ID为bp)和社团目录(目录ID为fb)中所存在的目录信息。对于bp来说,其中存在的三种关系分别为Manager、BranchManager以及Asistant。通过上文所示的表4、表5以及表6中所示,可以发现与Manager、BranchManager以及Asistant这三种关系相对应的三种函数分别为函数Manager、函数BranchManager以及函数Asistant;从上文所示的表8中,还可以找到与emailAddress(电子邮件地址)这一输入类型相对应的输入变量保留字分别为“To[]”、“CC[]”以及“BCC[]”。由此可以根据上述信息来构建查询语言。
在下文中,将以具体示例的形式进一步解释如何构造查询语言。假设在使用本方法之前,在“To”域中已经输入了“Alan”的电子邮件地址。由此可知,“Alan”是“To”域中的第一个联系人,即“To[1]”。在下文的4个示例中,示出了在4中简单情况下构造查询语言的方法,用户可以将下述4个示例的方法进行结合来实现期望的复杂查询,并将查询结果用于“CC”域或者“Bcc”域等。
示例1:在企业目录中,查询“To”域中的第一个联系人(即,Alan)的经理的助理的电子邮件地址。
bp.Assistant(Manager(To[1])
示例2:在企业目录中,查询“To”域中的所有联系人的经理(Manager)的电子邮件地址。
bp.Manager(To)
示例3:在企业目录中,查询所有“Manager”的电子邮件地址,即查询目录中所有经理的电子邮件地址。
bp.Manager()
注意,在此查询中,如果函数后的括号中没有输入变量,则表示查询bp目录中的所有“Manager”的电子邮件地址。
示例4:在企业目录bp以及社团目录fb中,获取满足以下条件的所有联系人的电子邮件地址:其中在企业目录中,期望的联系人既是“To”域中的第一个联系人(即,Alan)的经理,并且在社团目录fb中,该联系人同时还是“CC”域中的第二个联系人的朋友(Friend)。
bp.Manager(To[1])AND  fb.Friend(CC[2])
在示例4中,假设bp.Manager(To[1])返回了3个联系人的电子邮件地址,而fb.Friend(CC[2])返回了10个联系人的电子邮件地址,则通过逻辑“AND”操作,最终的结果仅返回上述3个经理的电子邮件地址集合以及10个朋友的电子邮件地址集合的交集中的电子邮件地址。
通过上述示例,本领域普通技术人员还可以理解,在使用电子邮件进行通信时,对于逻辑操作“AND”、“OR”、“NOT”以及输入变量保留字“To[]”、“CC[]”以及“BCC[]”的使用方式与上述示例类似。
从上述四个示例中可知,由于用户可能期望向处于不同目录中的联系人发送电子邮件,而在不同的目录中存在的关系信息以及调用时所使用的函数信息各不相同(如上文的表2中所示),因而用户难以记忆当前已经构建或者在未来将要构建的一个或者多个目录中的所有相关内容。由此,需要提供一种便于用户输入的查询语言提示方式。
当用户向查询构造器330输入查询语言时,查询构造器330可以通过显示查询语言语法324的帮助文件、或者在用户输入位置附近以直接弹出提示查询语言语法324的规则的备选选项的方式,来提示用户如何输入符合查询规范的查询请求。
通常,可以将查询语法规则帮助文件显示在独立的文档窗口中,或者直接显示在查询构造器330的用户界面中。而对于直接显示提示选项这种方式,可以在当用户输入某目录标识后,直接在下一输入位置处显示该目录标识所对应的目录中包含的函数信息。例如对于上文的表2中所示的目录bp的示例,其中包含有Manager、BranchManager以及Asistant三种关系,而从上文的表4至表6中可见,以上的三种关系Manager、BranchManager以及Asistant分别对应于三个不同的函数,即,Manager()、BranchManager()以及Asistant()。由此,在当用户输入了“bp.”的内容之后,系统可以得知在“bp.”之后输入目录“bp”中所具有的函数,即,用户输入Manager()、BranchManager()以及Asistant()中的一个。此时,系统将向用户弹出包含上述三个函数的列表以供用户选择。这一方面避免了用户需要记忆多个目录中的多个函数的麻烦,同时又减少了可能出现的函数名称拼写错误。对于存在大量目录和/或在目录中存在大量关系的情况,这种提示方式尤其有利。
如图6中所示,其中示出根据本发明实施方式的查询系统进行查询的方法示意图。在图6中,用户界面610和用户界面630分别示出了使用本方法前后的用户界面中地址输入部分的对照图示。
在图6中,在“To”域612中,已经输入了联系人Alan的电子邮件地址,在“CC”域614中,是输入的查询语言。在虚线框620中示出的是根据本发明的方法的查询过程。首先,在步骤622中,将用户所输入的查询语言bp.Manager(To[1])以及bp.Assistant(To[1])馈送至图3所示的查询构造器330。接着,在步骤624中,查询构造器330解析所接收的查询语言,并将解析后的查询请求发送至查询处理引擎340。在步骤626中,查询处理引擎340调取目录查询代理326来进行查询。最后,在步骤628中,向电子邮件系统的用户界面630的“CC”域634中返回查询结果,即返回未知联系人的信息。
经过虚线框620中的处理步骤后,在“CC”域634中出现了根据“CC”域614中的查询语言返回的查询结果,即,Alan的经理Sam的电子邮件地址,以及Alan的助理Ellen的电子邮件地址。
尽管在上述示意性实施方式中仅以电子邮件通信方式作为示例进行描述,本领域普通技术人员还应该理解,如上文中所述,根据本发明的实施方式的方法还可以适用于其他的通信方式,诸如,传统语音电话、视频电话、移动电话、网络电话、电子邮件、即时消息、短消息服务等等不同的通信方式。
其他实施方式
在图3所示的本发明的第一实施方式中,目录插件310、查询语言设计器320以及查询处理引擎340可以处于同一服务器中。即,在图3所示的本发明的第一实施方式中,在服务器侧实现目录插件310、查询语言设计器320以及查询处理引擎340的配置以及查询操作。
在本发明的第一实施方式的一个变型中,图3所示的目录插件310、查询语言设计器320以及查询处理引擎340也可以位于客户端侧,以便在客户端侧实现配置和查询操作。
在本发明的第一实施方式的另一个变型中,图3所示的目录插件310、查询语言设计器320以及查询处理引擎340也可以位于不同于服务器的另外的代理服务器(未示出)中,即在代理服务器中实现配置和查询操作。
在本发明的第一实施方式的另一个变型中,根据实际设计要求,图3所示的目录插件310、查询语言设计器320以及查询处理引擎340可以分别位于服务器侧、客户端侧以及代理服务器中,以实现配置和查询操作。
如上所述的,根据本发明的实施方式方法可以与常用的通信工具(例如电子邮件系统)紧密地结合,使得原先必须通过不同工具和步骤完成的工作可以通过一个工具完成,大为缩短的操作时间和降低了复杂度。
以上对本发明的实施方式的描述中,以电子邮件应用作为各种通信方式的代表性示例,并且以电子邮件地址作为联系信息的代表性示例。然而,本领域技术人员应该理解,本发明并不局限于电子邮件应用,而是可以适用于其他任何形式的通信方式;本发明并不局限于电子邮件地址,而是可以适用于其他任何形式的联系信息,例如即时消息标识、移动电话号码、传统语音电话号码、短消息地址、视频电话标识等等。
本领域技术人员应该理解,在实际环境中,可以对上述实施方式及其变型中的各个特征和步骤进行任意组合,只要能够实现根据基于关系信息来查询联系信息即可。
本发明可通过多种编程语言来实现,包括但不限于C、C++、C#、Java等等。
本发明可以以硬件、软件、固件以及它们的组合来实现。本领域技术人员应该认识到,也可以在供任何合适数据处理系统使用的信号承载介质上所设置的计算机程序产品中体现本发明。这种信号承载介质可以是传输介质或用于机器可读信息的可记录介质,包括磁介质、光介质或其他合适介质。可记录介质的示例包括:硬盘驱动器中的磁盘或软盘、用于光驱的光盘、磁带,以及本领域技术人员所能想到的其他介质。本领域技术人员应该认识到,具有合适编程装置的任何通信终端都将能够执行如程序产品中体现的本发明方法的步骤。
从上述描述应该理解,在不脱离本发明精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受权利要求书的限制。

Claims (14)

1.一种用于在通信中支持查询未知联系人的联系信息的方法,该方法包括步骤:
接收包含与未知联系人相关的关系信息的查询语言;
根据查询语言语法来解析所述查询语言,以获取查询请求;
响应于所述查询请求,在一个或者多个目录中查询与所述查询请求匹配的所述未知联系人的联系信息,其中所述目录至少包括联系人之间的关系信息以及联系人的联系信息;和
返回匹配的所述联系信息,以便与该未知联系人进行通信。
2.根据权利要求1所述的方法,还包括步骤:
通过从一个或者多个网络中提取关系信息和联系信息来创建所述目录。
3.根据权利要求2所述的方法,还包括步骤:
解析所述关系信息以定义与所述目录相对应的查询语言语法。
4.根据权利要求2所述的方法,其中,所述网络是包括关系信息和联系信息的社团网络或企业网络。
5.根据权利要求2所述的方法,其中,通过调用与所述关系信息相对应的目录查询代理来在所述目录中查询所述联系信息。
6.根据权利要求1所述的方法,所述关系信息包括所述未知联系人与其他联系人的关系。
7.根据权利要求1所述的方法,其中所述联系信息包括以下至少之一:电子邮件地址、即时消息标识、移动电话号码、传统语音电话号码、短消息地址、视频电话标识。
8.一种用于在通信中支持查询未知联系人的联系信息的设备,该设备包括:
用于接收包含与未知联系人相关的关系信息的查询语言的装置;
用于根据查询语言语法来解析所述查询语言以获取查询请求的装置;
用于响应于所述查询请求,在一个或者多个目录中查询与所述查询请求匹配的所述未知联系人的联系信息的装置,其中所述目录至少包括联系人之间的关系信息以及联系人的联系信息;和
用于返回匹配的所述联系信息以便与该未知联系人进行通信的装置。
9.根据权利要求8所述的设备,还包括:
用于通过从一个或者多个网络中提取关系信息和联系信息来创建所述目录的装置。
10.根据权利要求9所述的设备,还包括:
用于解析所述关系信息以定义与所述目录相对应的查询语言语法的装置。
11.根据权利要求9所述的设备,其中,所述网络是包括关系信息和联系信息的社团网络或企业网络。
12.根据权利要求9所述的设备,其中,通过调用与所述关系信息相对应的目录查询代理来在所述目录中查询所述联系信息。
13.根据权利要求8所述的设备,所述关系信息包括所述未知联系人与其他联系人的关系。
14.根据权利要求8所述的设备,其中所述联系信息包括以下至少之一:电子邮件地址、即时消息标识、移动电话号码、传统语音电话号码、短消息地址、视频电话标识。
CN200810212688A 2008-08-29 2008-08-29 用于支持联系信息查询的方法和设备 Pending CN101661485A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200810212688A CN101661485A (zh) 2008-08-29 2008-08-29 用于支持联系信息查询的方法和设备
US12/549,019 US8296307B2 (en) 2008-08-29 2009-08-27 Contact information querying

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810212688A CN101661485A (zh) 2008-08-29 2008-08-29 用于支持联系信息查询的方法和设备

Publications (1)

Publication Number Publication Date
CN101661485A true CN101661485A (zh) 2010-03-03

Family

ID=41726838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810212688A Pending CN101661485A (zh) 2008-08-29 2008-08-29 用于支持联系信息查询的方法和设备

Country Status (2)

Country Link
US (1) US8296307B2 (zh)
CN (1) CN101661485A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881589A (zh) * 2018-06-05 2018-11-23 北京小米移动软件有限公司 联系方式确定方法、装置及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886011B2 (en) 2006-05-01 2011-02-08 Buchheit Brian K Dynamic set operations when specifying email recipients
EP2843571A3 (en) 2011-12-29 2015-05-06 Huawei Technologies Co., Ltd. Contact searching method and apparatus
US20140122517A1 (en) * 2012-10-25 2014-05-01 Vlad Vendrow Contact list based on internal and external data
CN103870473A (zh) * 2012-12-11 2014-06-18 联想(北京)有限公司 一种更新联系人信息的方法及电子设备
US9552412B1 (en) 2016-04-07 2017-01-24 Quid, Inc. Boolean-query composer
US10110733B2 (en) 2016-06-07 2018-10-23 International Business Machines Corporation Populating contact information on an electronic communication device
CN107203609A (zh) * 2017-05-17 2017-09-26 东莞市华睿电子科技有限公司 一种快速搜索移动终端短信息的方法和移动终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216444A1 (en) * 2004-03-25 2005-09-29 Ritter Gerd M Relationship-based searching
US7593962B2 (en) * 2005-02-18 2009-09-22 American Tel-A-Systems, Inc. System and method for dynamically creating records
US9591086B2 (en) * 2007-07-25 2017-03-07 Yahoo! Inc. Display of information in electronic communications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881589A (zh) * 2018-06-05 2018-11-23 北京小米移动软件有限公司 联系方式确定方法、装置及存储介质
CN108881589B (zh) * 2018-06-05 2021-04-13 北京小米移动软件有限公司 联系方式确定方法、装置及存储介质

Also Published As

Publication number Publication date
US20100057730A1 (en) 2010-03-04
US8296307B2 (en) 2012-10-23

Similar Documents

Publication Publication Date Title
US7991424B2 (en) Dynamic generation of group lists for a communication device using tags
US7774409B2 (en) Providing common contact discovery and management to electronic mail users
CN100384186C (zh) 多个账号同时在一个客户端上实现imps业务的系统及方法
CN101661485A (zh) 用于支持联系信息查询的方法和设备
US9866685B2 (en) Caller ID surfing
US20220215057A1 (en) Integration of news into direct social communications and interactions
EP2119153B1 (en) Sharing of Media Content Using Contact Data
US11595340B2 (en) Methods and apparatus for mass email detection and collaboration
US6714981B1 (en) Addressing system and method for communicating data
CN101808046A (zh) 名片信息管理方法和系统
CN101194277A (zh) 在基于对话的电子邮件系统中显示对话
CN1310822A (zh) 带有可编程地址属性的电子邮件客户程序
JP6751474B2 (ja) 統合識別子及びユーザインタフェースのための端末、サービス方法及び統合識別子管理システム
KR20060050342A (ko) 팩스 메시지를 나타내기 위해 메시지 스키마를 확장하는시스템 및 방법
US7493374B2 (en) System periodically retrieving and processing information from multiple network accounts and presenting to user through a common account
WO2020186824A1 (zh) 应用程序唤醒控制方法、装置、计算机设备及存储介质
CN101184123A (zh) 一种通讯录中的联系人信息的获取方法、系统及通信终端
CN102945239A (zh) 基于位置的交换所搜索
US20240098053A1 (en) System and method for transforming email messages to communication stream messages
CN101562579A (zh) 收件人信息的显示方法
CN101626628A (zh) 数字号码与网址映射及推送系统
CN101563897B (zh) 用于统一特号映射电话簿存在服务的方法和设备
WO2013067231A1 (en) Build a person from multiple contacts
CN107277119A (zh) 一种实现网络问答的系统和方法
EP2386989A1 (en) Dynamic and customizable email distribution list

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20100303