CN103810250B - 一种文档管理方法和*** - Google Patents

一种文档管理方法和*** Download PDF

Info

Publication number
CN103810250B
CN103810250B CN201410026318.7A CN201410026318A CN103810250B CN 103810250 B CN103810250 B CN 103810250B CN 201410026318 A CN201410026318 A CN 201410026318A CN 103810250 B CN103810250 B CN 103810250B
Authority
CN
China
Prior art keywords
document
server
computing device
interface
operated
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
CN201410026318.7A
Other languages
English (en)
Other versions
CN103810250A (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.)
SHENZHEN DACHENGTIANXIA INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN DACHENGTIANXIA INFORMATION TECHNOLOGY 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 SHENZHEN DACHENGTIANXIA INFORMATION TECHNOLOGY Co Ltd filed Critical SHENZHEN DACHENGTIANXIA INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410026318.7A priority Critical patent/CN103810250B/zh
Publication of CN103810250A publication Critical patent/CN103810250A/zh
Application granted granted Critical
Publication of CN103810250B publication Critical patent/CN103810250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文档管理设备,驻留在计算设备中,该计算设备和服务器通信连接,该文档管理设备包括:文档处理器,判断所操作的文档存储在服务器中还是计算设备中,当所操作的文档存储在计算设备中时,利用计算设备上的文档操作接口来对该文档进行操作;当所操作的文档存储在服务器中时,利用服务器上的文档操作接口对该文档进行操作,同时在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口;该文档管理设备还包括通信接口,映射操作处理器,以及消息发送器。本发明还公开驻留在服务器上的相应文档管理设备、包括这些计算设备和服务器的文档管理***以及相应的文档管理方法。

Description

一种文档管理方法和***
技术领域
本发明涉及计算机和互联网领域,尤其涉及分布式文档管理技术。
背景技术
随着计算机技术及网络技术的普及和发展,丰富的网络数据资源为人们的生活带来了极大的便利,同时也带来了诸多的困惑,例如,在企业中,员工很容易地将一些涉及企业秘密的文件发送到企业之外,从而导致文件泄密。因此,需要一种能够对文档进行全面管理以防止文档内容外传的方案。
目前已经提供了各种方案来防止企业内部的文档外传。一种方案是用户计算的本地对文档进行手动或者自动加解密。在这种方案中,用户自己判断计算机内的文档是否为机密文档,然后主动地设置对某个驱动器、文件夹或文档进行加密处理。这种方式的问题在于,需要依赖用户的主观判断来决定对某些文档或者存储区域进行加密处理。但是需要考虑到用户操作文档的各种不同操作***和各种各样的应用程序(甚至相同程序的不同版本),因此难以做到统一处理,另外还必须长期维护一系列应用程序的加解密策略,维护成本较高。
另外一种方案是将所有文档集中保存在文件服务器中,由文件服务器进行统一管理,而用户需要处理该文档时,就直接访问位于该服务器上的文档。这种方案的优点在于文档集中保存在服务器上,因此便于统一管理(例如审计、备份等),针对绝大多数应用软件,都可以采用统一的方式处理,维护成本相对较低;另外客户端因病毒或其他意外引起的***故障,不会导致服务器端的文档损坏。但是在这种方式中,用户在处理文档中,会因为文档是在客户端上还是在服务器上而存在不同的操作方式,这增加了用户处理文档的困难程度。
因此,需要的是一种可以解决上述问题、并且让用户比较方便地处理这些文档、并且同时保证文档安全可靠的文档保护方案。
发明内容
为此,本发明提供一种新的方案以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种第一文档管理设备,驻留在计算设备中,该计算设备和服务器通信连接,该文档管理设备包括:文档处理器,判断所操作的文档存储在服务器中还是计算设备中,当所操作的文档存储在计算设备中时,利用计算设备上的文档操作接口来对该文档进行操作;当所操作的文档存储在服务器中时,利用服务器上的文档操作接口对该文档进行操作,同时在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口;通信接口,适于和服务器进行通信,将与映射文档操作相关的信息发送到服务器,并且接收与在服务器处的文档操作接口相关的信息;映射操作处理器,适于从来自服务器的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数在计算设备上呈现与在服务器处的文档操作相对应的映射文档操作接口;以及消息发送器,接收计算设备处在映射文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到服务器。
可选地,根据本发明的第一文档管理设备还包括文档聚合器,适于从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。
可选地,在根据本发明的第一文档管理设备中,文档处理器还包括监控器,适于监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备。
可选地,在根据本发明的第一文档管理设备中,通信接口基于RDP协议和服务器进行通信,消息发送器通过利用钩子技术截取文档操作接口所生成的消息和相关参数,以及映射操作处理器通过向映射文档操作接口发出所接收的消息和相关参数来指示映射文档操作接口完成映射操作。
根据本发明的另一个方面,提供了一种第二文档管理设备,驻留在服务器中,该服务器和计算设备通信连接,该文档管理设备包括:通信接口,适于和计算设备进行通信,将与文档操作相关的信息发送到计算设备,并且接收与在计算设备处的文档操作相关的信息;文档处理器,在接收到计算设备对服务器中的文档的操作请求时,启动文档操作接口来对该文档进行操作;消息发送器,接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到计算设备,以便在计算设备的映射操作接口上呈现;消息接收器,适于从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器处的文档操作接口进行相应操作。
可选地,在根据本发明的第二文档管理设备中,文档处理器还包括监控器,适于监控在计算设备和服务器之间的文档传输,并拒绝将所述服务器中的文档复制或者移动到计算设备。
根据本发明的还有一个方面,提供了一种文档管理***,该***包括其中驻留了根据本发明的第一文档管理设备的计算设备以及其中驻留了根据本发明的第二文档管理设备的服务器。
根据本发明的还有一个方面,提供了一种第一文档管理方法。该方法在与服务器通信连接的计算设备上执行,并包括步骤:选择要操作的文档;判断所操作的文档存储在服务器中还是计算设备中,当所操作的文档存储在计算设备中时,利用计算设备上的文档操作接口来对该文档进行操作;以及当所操作的文档存储在服务器中时,利用服务器上的文档操作接口对该文档进行操作,同时在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口。
可选地,在根据本发明的第一文档管理方法中,其中在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口的步骤包括:与服务器进行通信,接收与在服务器处的文档操作相关的信息,从来自服务器的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数在计算设备上呈现与在服务器处的文档操作相对应的映射文档操作接口;以及接收计算设备处在映射文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到服务器。
可选地,根据本发明的第一文档管理方法还包括步骤:从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。
可选地,根据本发明的第一文档管理方法还包括步骤:监控在计算设备和服务器之间的文档传输,并拒绝将所述服务器中的文档复制或者移动到计算设备。
在根据本发明的第一文档管理方法中,计算设备和服务器之间基于RDP协议进行通信。
根据本发明的还有一个方面,提供了一种第二文档管理方法。该方法在与计算设备通信连接的服务器上执行,该方法包括步骤:在接收到计算设备对服务器中的文档的操作请求时,启动文档操作接口来对该文档进行操作;接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到计算设备,以便在计算设备的映射操作接口上呈现;以及从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器处的文档操作接口进行相应操作。
可选地,根据本发明的第二文档管理方法还包括步骤,监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备。
在根据本发明的文档管理方案中,将需要保护的文档统一集中到服务器上存储,而用户通过计算设备来对服务器上的文档进行操作时,会在计算设备上映射和服务器上的文档操作接口一致的映射操作接口,这样,用户针对服务器上的文档和计算设备上的文档的操作采用的是类似的操作接口,用户不会感受到二者的区别,从而在确保文档安全的同时,也减少了用户操作不同类型文档所具有的困扰。
另外,在根据本发明的文档管理方案中,会对文档复制进行监控,并会拒绝将来自服务器的文档复制到计算设备上,从而确保了文档会一直存储在服务器中,并且不会被复制到计算设备上而外传。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的文档管理***的示意图;
图2示出了根据本发明一个实施例的、驻留在计算设备上的文档管理设备的示意图;
图3示出了根据本发明一个实施例的、驻留在服务器上的文档管理设备的示意图;
图4示出了根据本发明一个实施例的、适于在计算设备上执行的文档管理方法的流程示意图;以及
图5示出了根据本发明一个实施例的、适于在服务器上执行的文档管理方法的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的文档管理***100的示意图。如图1所示,文档管理***100包括文档服务器110和一个或者多个计算设备120-140。计算设备和文档服务器110经由各种网络通信方式连接,例如计算设备120-140可以和文档服务器110处于同一个局域网中,并且经由各种以太网络进行通信,也可以经由互联网络进行通信。
文档服务器110中存储了需要集中管理的文档,例如企业的重要文档,这些文档不适合未经允许外传。文档服务器110可以为每个用户建立权限管理***,并且为每个用户建立其在服务器110上的文档目录,这样用户仅仅可以对在其文档目录下的文档进行操作。
计算设备120-140可以是本领域任何可以处理电子数据的设备,包括但不限于桌面型计算机、笔记本式计算机、个人数字助理、智能移动终端、平板电脑等。计算设备120-140中通常运行现代的操作***,利用操作***来管理计算设备中的硬件资源并提供操作接口。用户一般会利用计算设备120-140来进行工作,例如编辑文档等。计算设备120-140中存储有用户的一些个人文档以及一些企业可以外传的文档等。同时,用户也会利用计算设备120-140来访问文档服务器110中的文档。
为了能够让用户访问文档服务器110中的文档,计算设备120-140中驻留的第一文档管理设备200和文档服务器110中驻留的第二文档管理设备300协同工作。在下文中将分别对第一文档管理设备200和300进行详细描述。
图2示出了根据本发明一个实施例的、驻留在计算设备120-140中的第一文档管理设备200的示意图。如图2所示,第一文档管理设备200包括文档处理器210。当用户利用计算设备120-140提供的操作接口来选择要进行操作的文档时,文档处理器210可以获取用户进行的选择,并判断所要操作的文档是存储在文档服务器110中还是在计算设备本机中。当文档处理器210确定所要操作的文档存储在计算设备120-140本机中,即该文档非文档服务器110中的文档时,文档处理器210不会进行额外的操作,而是如同现有的文档操作方式那样,利用计算设备上的传统文档操作接口来向用户提供对该文档进行操作的接口。举例而言,当要进行操作的文档为例如微软公司提供的word文档时,就调用在计算设备120本地的word字处理软件来打开该word文档,以便用户通过该word字处理软件的接口来例如以浏览、修改等方式来操作该文档。
当文档处理器210确定要操作的文档存储在文档服务器110中时,文档处理器210会将该操作请求发送到文档服务器110。文档服务器110在接收到该操作请求之后,可选地,可以首先根据事先建立的权限管理***等确定发出该请求的用户是否有足够的权限来操作该文档,并且拒绝没有权限的用户来操作该文档。随后,文档服务器110会启动在文档服务器110上的文档操作接口来向用户提供对该文档进行操作的接口。此时文档操作接口呈现在文档服务器110中,而处于计算设备处的用户无法见到该操作接口,为此,需要将服务器110处的操作接口尽可能相同地同时呈现在计算设备120-140处。文档处理器210会获取在服务器110处的操作接口,并且同时在计算设备中呈现与该文档操作接口相对应的映射文档操作接口220。举例而言,当要进行操作的文档为服务器110中的、例如微软公司提供的word文档时,服务器110会启动在服务器110上的word字处理软件来打开该word文档,从而通过该word字处理软件的接口来操作该文档。同时经由计算设备120-140和服务器110之间的通信,会在计算设备上显示与服务器上的word字处理软件接口相对应的映射操作接口,从而使得计算设备的用户能够看到该映射操作接口,并且可以通过在该映射操作接口上进行操作而会在服务器的对应操作接口上进行对应操作。
在一种实施方式中,文档处理器210采用钩子(Hook)技术对Explorer.exe进程的ShellExecute()等API调用做处理。当在计算设备上试图打开某个文档时,会被ShellExecute()的HOOK函数拦截,即被文档处理器210获取。随后文档处理器210判断文档的实际存储位置。若存储于计算设备本地,则直接调用本地的关联操作接口打开;若存储于服务器110上,则通过与服务器110的通信启动在服务器上的关联操作接口打开该文档,并且在计算设备中显示关联操作接口的映射操作接口。
为此,第一文档管理设备200还包括通信接口230。该通信接口230与服务器110进行通信,从而将计算设备处与映射操作接口上的操作相关的信息发送到服务器110,并且从服务器110接收与在服务器110处的文档操作接口相关的信息。
根据一种实施方式,通信接口230可以基于微软的RDP协议来实现将服务器110处的文档操作接口映射到计算设备中,使用户可以在计算设备上以虚拟方式操作服务器端文档。RDP全称是Remote Display Protocol(远程显示协议),RDP协议6.1以上(含6.1)版本支持Seamless Window(无缝窗口)。通信接口可以基于RDP协议6.1来实现,从而可以利用RDP协议来实现在计算设备处映射文档服务器110处的文档操作接口时,在计算设备处对映射文档操作接口的操作与在文档服务器处直接对文档操作接口的操作无异。
如上所述,为了能够实现在计算设备120-140处对映射文档操作接口的操作与在文档服务器110处直接对文档操作接口的操作无异。第一文档管理设备200还包括映射操作处理器240和消息发送器250。映射操作处理器240从通信接口230所接收的、来自服务器110的文档操作相关信息中提取操作消息和相关参数,并根据所提取的操作消息和相关参数在计算设备上呈现与在服务器110处的文档操作相对应的映射文档操作接口或者指示该映射文档操作接口进行对应的操作。消息发送器250接收计算设备120-140处在映射文档操作接口上的操作消息和相关参数,并且将该操作消息和相关参数通过通信接口230发送到服务器110,以便服务器110处的文档操作接口根据该消息和相关参数进行操作。
根据本发明的一个实施方式,第一文档管理设备200和服务器110上的第二文档管理设备300进行协助,以便将服务器110上的文档操作接口映射到计算设备上。当文档处理器210发现要操作的文档位于服务器110上时,在服务器110上会启动相关联的文档操作接口。同时第二文档管理设备300会利用钩子技术来拦截该操作接口产生的接口UI消息,例如WM_CREATE、WM_WINDOWPOSCHANGED、WM_MOVE等等。并将它们发送给计算设备。
例如,当拦截到的消息为WM_CREATE消息时,第二文档管理设备300会在拦截到该消息之后,提取出相关参数,并将这些参数连同消息本身一起发送给计算设备。计算设备处的映射操作处理器240通过通信接口230接收到该消息和相关参数,并对该消息进行分析而得知该消息为创建窗口消息,则使用与消息一起发送的参数创建一个本地“映射”窗口。因此该“映射”窗口和服务器上的操作接口的窗口属性(例如位置、尺寸等)完全一致。
随后,映射操作处理器240通过通信接口230获取当前在服务器上的图像信息,并按照服务器上新窗口的位置和尺寸,截取出该区域,并投影到“映射”窗口上。实现“映射”窗口与服务器110中原窗口显示效果的同步。
在另一个示例中,当拦截到的消息为WM_WINDOWPOSCHANGED消息时,第二文档管理设备300会在拦截到该消之息后,提取出相关参数,并将这些参数连同消息本身一起发送给计算设备。计算设备处的映射操作处理器240通过通信接口230接收到该消息和相关参数,模拟发送同样的WM_WINDOWPOSCHANGED到“映射”窗口,使“映射”窗口调整坐标,实现与原窗口坐标、尺寸的同步。也就是说,映射操作处理器240通过向映射文档操作接口发出所接收的消息和相关参数来指示映射文档操作接口完成映射操作。
为了将在计算设备的映射操作接口上的操作传递到服务器110上,消息发送器250会对“映射”窗口,即映射操作接口做了类似的钩子(Hook)处理。以鼠标右键单击消息为例,当“映射”窗口收到鼠标右键单击消息时,消息发送器250会拦截到该消息,并且会将该消息连同相关的参数一起经由通信接口230发送到服务器110。服务器110上的第二文档管理设备300在收到该消息之后,将该消息连同相关参数转发至对应的原操作接口。于是原操作接口也收到鼠标右键单击消息,并做出响应,从而实现与计算设备处的“映射”窗口的同步。
可选地,为了方便计算设备处的用户以统一的方式来处理计算设备本地和在服务器110上的文档,文档管理设备200还包括文档聚合器260。文档聚合器260从服务器110获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。
根据一种实施方式,文档聚合器260也采用钩子(Hook)技术对Explorer.exe进程中的FindFirstFile()、FindNextFile()、CreateFile()、ShellExecute()等API调用做处理。将服务器110的用户具有相应权限的目录及文件名合并到计算设备的某个特定目录如“我的文档”目录中。当在计算设备通过资源管理器等文档操作接口查看该特定目录时,会显示计算设备的该特定目录和服务器110中用户具有相应权限的目录下所有文件及子目录合并后的结果列表。
另外,可选地,为了防止用户在计算设备中进行文档操作时,将服务器上的文档复制到计算设备上从而泄密,必须限制计算设备与服务器的文档流向。服务器工作目录下的文档对于计算设备可见,但计算设备特定目录下所有文档对于服务器相关联的操作接口来说均不可见,这样可避免利用服务器的操作接口将重要文档内容写入到计算设备本地中。
为此,文档处理器210包括监控器215。监控器215监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备中。
根据一种实施方式,监控器215也在计算设备中采用钩子(Hook)技术对Explorer.exe进程的CopyFile()、MoveFile()等API调用做处理。当通过资源管理器对文件或子目录进行复制、移动操作时。监控器215判断数据传输方向,当数据传输方向为计算设备传输至服务器时,则将相关文件或子目录通过网络传输至服务器,并返回传输结果;若方向相反,即将服务器中的文档复制或者移动到计算设备中时,则返回“拒绝访问”的错误代码;若源数据与目标数据二者都位于计算设备上,则不做特殊处理;若源数据与目标数据二者都位于服务器,则经由通信接口230通知服务器完成相关操作并返回结果。
图3示出了根据本发明一个实施例的、驻留在服务器上的第二文档管理设备300的示意图。第二文档管理设备300和计算设备上的第一文档管理设备200进行协作,从而可以在计算设备上无缝地对服务器上的文档进行操作。因此第二文档管理设备300具有和第一文档管理设备200相对应的功能。
如图3所示,第二文档管理设备300包括文档处理器310。文档处理器在在接收到计算设备120-140对服务器110中的文档的操作请求时,启动相关联的文档操作接口来对该文档进行操作。此时文档操作接口呈现在文档服务器110中,而处于计算设备处的用户无法见到该操作接口,为此,需要将服务器110处的操作接口尽可能相同地同时呈现在计算设备120-140处。文档处理器310会获取在服务器110处的操作接口,并将该操作接口的相关信息发送给计算设备,以便在计算设备上显示相对应的映射操作接口。
为此,第二文档管理设备300还包括通信接口320。该通信接口320与计算设备进行通信,从而将服务器110处与操作接口上的操作相关的信息发送到计算设备120-140,并且从计算设备接收与在映射操作接口处的操作相关的信息。
如上所述,根据一种实施方式,通信接口320可以基于微软的RDP协议来实现将服务器110处的文档操作接口映射到计算设备中,使用户可以在计算设备上以虚拟方式操作服务器端文档。RDP全称是Remote Display Protocol(远程显示协议),RDP协议6.1以上(含6.1)版本支持Seamless Window(无缝窗口)。通信接口320可以基于RDP协议6.1来实现,从而可以利用RDP协议来实现在计算设备处映射文档服务器110处的文档操作接口时,在计算设备处对映射文档操作接口的操作与在文档服务器处直接对文档操作接口的操作无异。
为了能够实现在计算设备120-140处对映射文档操作接口的操作与在文档服务器110处直接对文档操作接口的操作无异。第二文档管理设备300还包括消息发送器330和消息接收器340。消息发送器330接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口320发送到计算设备,以便在计算设备的映射操作接口上呈现。消息接收器340从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器110处的文档操作接口进行相应操作。
根据本发明的一个实施方式,第一文档管理设备200和服务器110上的第二文档管理设备300进行协助,以便将服务器110上的文档操作接口映射到计算设备上。当计算设备中的第一文档管理设备200发现要操作的文档位于服务器110上时,会将操作请求发送给服务器110。服务器110上的第二文档管理设备300会在服务器110上会启动相关联的文档操作接口。同时消息发送器330会利用钩子技术来拦截该操作接口产生的接口UI消息,例如WM_CREATE、WM_WINDOWPOSCHANGED、WM_MOVE等等。并将它们发送给计算设备。
例如,当拦截到的消息为WM_CREATE消息时,消息发送器330会在拦截到该消息之后,提取出相关参数,并将这些参数连同消息本身一起发送给计算设备。计算设备处的第一文档管理设备200接收到该消息和相关参数,并对该消息进行分析而得知该消息为创建窗口消息,则使用与消息一起发送的参数创建一个本地“映射”窗口。因此该“映射”窗口和服务器上的操作接口的窗口属性(例如位置、尺寸等)完全一致。
在另一个示例中,当拦截到的消息为WM_WINDOWPOSCHANGED消息时,消息发送器330会在拦截到该消之息后,提取出相关参数,并将这些参数连同消息本身一起发送给计算设备。计算设备处的第一文档管理设备200会接收到该消息和相关参数,模拟发送同样的WM_WINDOWPOSCHANGED到“映射”窗口,使“映射”窗口调整坐标,实现与原窗口坐标、尺寸的同步。
同时,为了接收在计算设备的映射操作接口上的操作,并在服务器110上的相应操作接口上进行相应操作,第一文档管理设备200会对“映射”窗口,即映射操作接口做了类似的钩子(Hook)处理,截取在“映射”窗口上的操作消息,并将该消息连同相关的参数一起发送到服务器110。消息接收器340经由通信接口320收到该消息,将该消息连同相关参数转发至对应的操作接口。于是操作接口也收到相应消息,并做出响应,从而实现与计算设备处的“映射”窗口的同步。根据一个实施方式,消息接收器340通过模拟发出相同的消息和相关参数给相应的操作接口,来实现映射操作接口和相关联操作接口之间的同步。也就是说,消息接收器通过向文档操作接口发出所接收的消息和相关参数来指示文档操作接口完成相应操作。
另外,可选地,为了防止用户在计算设备中进行文档操作时,将服务器上的文档复制到计算设备上从而泄密,必须限制计算设备与服务器的文档流向。服务器工作目录下的文档对于计算设备可见,但计算设备特定目录下所有文档对于服务器相关联的操作接口来说均不可见,这样可避免利用服务器的操作接口将重要文档内容写入到计算设备本地中。
为此,文档处理器310包括监控器315。监控器315监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备中。
根据本发明的文档管理方案,可以在计算设备上同时显示来自服务器和计算设备的文档列表,而当要操作的文档位于服务器上时,在服务器上启动文档操作接口来对文档进行操作,同时在计算设备上无缝地显示和服务器上的文档操作接口相对应的映射操作接口,而用户可以在映射操作接口上进行操作,这些操作会同时被发送到服务器上的操作接口,来实现远程在服务器上的文档操作。利用这种方案,在保证文档在服务器上集中管理的同时,不会对用户现有的操作方式有影响。
图4示出了根据本发明一个实施例的、适于在计算设备120-140上执行的文档管理方法400的流程示意图。方法400更适于在计算设备的第一文档管理设备中执行。
如图4所示,文档管理方法400始于步骤S420。在步骤S420中,从计算设备提供的文档操作接口中选择要操作的文档。为了方便计算设备处的用户以统一的方式来处理计算设备本地和在服务器110上的文档,一种可选的方式是当用户在选择要进行操作的文档之前,从服务器110中获取与计算设备处的用户相关联的文档列表,并将该列表和计算设备本地的文档列表合并在一起并提供给用户来进行选择。因此,可选地,方法400还包括在步骤S420之前的步骤S410。在步骤S410中,从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。根据一种实施方式,在步骤S410中,可以采用钩子(Hook)技术对Explorer.exe进程中的FindFirstFile()、FindNextFile()、CreateFile()、ShellExecute()等API调用做处理。将服务器110的用户具有相应权限的目录及文件名合并到计算设备的某个特定目录如“我的文档”目录中。当在计算设备通过资源管理器等文档操作接口查看该特定目录时,会显示计算设备的该特定目录和服务器110中用户具有相应权限的目录下所有文件及子目录合并后的结果列表。
在选择了要进行操作的文档之后,方法400进入步骤S430。在步骤S430中,判断所操作的文档存储在服务器110中还是计算设备本机中。当在步骤S430中确定所操作的文档存储在计算设备中时,则在步骤S440中,利用计算设备上的文档操作接口来对该文档进行操作。
当在步骤S430中确定所操作的文档存储在服务器中时,则在步骤S450中,利用服务器上的文档操作接口对该文档进行操作,同时在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口。利用步骤S450中的处理,用户可以在计算设备处获取在服务器处打开的文档的内容,并且还可以通过映射文档操作接口进行操作,并且将相关操作发送给服务器110处的对应操作接口,从而完成相应的操作。
具体而言,步骤S450还包括消息接收处理步骤和消息发送步骤。在消息接收处理步骤中,与服务器进行通信,接收与在服务器处的文档操作相关的信息,从来自服务器的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数在计算设备上呈现与在服务器处的文档操作相对应的映射文档操作接口。而在消息发送步骤中,接收计算设备处在映射文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到服务器。上面参考图2对第一文档管理设备200的描述中已经对消息接收和发送的处理进行了详细说明,这里不再赘述。例如,计算设备和服务器之间可以基于RDP协议进行通信等。
另外,可选地,为了防止用户在计算设备中进行文档操作时,将服务器上的文档复制到计算设备上从而泄密,必须限制计算设备与服务器的文档流向。服务器工作目录下的文档对于计算设备可见,但计算设备特定目录下所有文档对于服务器相关联的操作接口来说均不可见,这样可避免利用服务器的操作接口将重要文档内容写入到计算设备本地中。为此,文档处理方法400还包括步骤S460,在步骤S460中,监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备中。
根据一种实施方式,在步骤S460中,在计算设备中采用钩子(Hook)技术对Explorer.exe进程的CopyFile()、MoveFile()等API调用做处理。当通过资源管理器对文件或子目录进行复制、移动操作时,在步骤S460中,判断数据传输方向,当数据传输方向为计算设备传输至服务器时,则将相关文件或子目录通过网络传输至服务器,并返回传输结果;若方向相反,即将服务器中的文档复制或者移动到计算设备中时,则返回“拒绝访问”的错误代码;若源数据与目标数据二者都位于计算设备上,则不做特殊处理;若源数据与目标数据二者都位于服务器,则通知服务器完成相关操作并返回结果。
图5示出了根据本发明一个实施例的、适于在服务器上执行的文档管理方法500的流程示意图。该文档管理方法尤其适于在服务器110中的第二文档管理设备中执行。
如图5所示,该方法适于步骤S510,在步骤S510中,在接收到计算设备对服务器中的文档的操作请求时,启动文档操作接口来对该文档进行操作。
随后,在步骤S520中,接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到计算设备,以便在计算设备的映射操作接口上呈现。
在计算设备处的用户会在该映射操作接口上进行操作,而为了将用户的操作在服务器110的相关联操作接口上同样执行,在步骤S530中,接收计算设备处的文档操作信息,并且从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器处的文档操作接口进行相应操作。
上面参考图3对第二文档管理设备的描述中已经对图5所示的方法步骤的具体实现方式进行了描述,这里不再进行赘述。例如,计算设备和服务器之间基于RDP协议进行通信等。
另外,可选地,为了防止用户在计算设备中进行文档操作时,将服务器上的文档复制到计算设备上从而泄密,必须限制计算设备与服务器的文档流向。服务器工作目录下的文档对于计算设备可见,但计算设备特定目录下所有文档对于服务器相关联的操作接口来说均不可见,这样可避免利用服务器的操作接口将重要文档内容写入到计算设备本地中。
为此,方法500还包括步骤S540。在步骤S540中,监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备中。
根据本发明的文档管理方案,可以在计算设备上同时显示来自服务器和计算设备的文档列表,而当要操作的文档位于服务器上时,在服务器上启动文档操作接口来对文档进行操作,同时在计算设备上无缝地显示和服务器上的文档操作接口相对应的映射操作接口,而用户可以在映射操作接口上进行操作,这些操作会同时被发送到服务器上的操作接口,来实现远程在服务器上的文档操作。利用这种方案,在保证文档在服务器上集中管理的同时,不会对用户现有的操作方式有影响。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
A4、如A1-3中任一个所述的文档管理设备,其中所述通信接口基于RDP协议和服务器进行通信。A5、如A1-4中任一个所述的文档管理设备,其中所述消息发送器通过利用钩子技术截取文档操作接口所生成的消息和相关参数,以及所述映射操作处理器通过向映射文档操作接口发出所接收的消息和相关参数来指示映射文档操作接口完成映射操作。A8、如A6或者7所述的文档管理设备,其中所述通信接口基于RDP协议和计算设备进行通信。A9、如A6-8中任一个所述的文档管理设备,其中所述消息发送器通过利用钩子技术截取文档操作接口所生成的消息和相关参数,以及所述消息接收器通过向文档操作接口发出所接收的消息和相关参数来指示该文档操作接口进行相应操作。B13、如B11或者12所述的文档管理方法,还包括步骤:从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。B14、如B11-13中任一个所述的文档管理方法,还包括步骤:监控在计算设备和服务器之间的文档传输,并拒绝将所述服务器中的文档复制或者移动到计算设备。B15、如B11-14中任一个所述的文档管理方法,其中所述计算设备和服务器之间基于RDP协议进行通信。B18、如B16或者17所述的文档管理方法,其中述计算设备和服务器之间基于RDP协议进行通信。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种文档管理设备,驻留在计算设备中,该计算设备和服务器通信连接,该文档管理设备包括:
文档处理器,判断所操作的文档存储在服务器中还是计算设备中,当所操作的文档存储在计算设备中时,利用计算设备上的文档操作接口来对该文档进行操作;当所操作的文档存储在服务器中时,利用服务器上的文档操作接口对该文档进行操作,同时在计算设备中呈现与服务器上的文档操作接口相对应的映射文档操作接口;其中,
所述文档处理器中还包括监控器,适于监控在计算设备和服务器之间的文档传输,并拒绝将所述服务器中的文档复制或者移动到计算设备,以限制计算设备与服务器的文档流向;
通信接口,适于和服务器进行通信,将与映射文档操作相关的信息发送到服务器,并且接收与在服务器处的文档操作接口相关的信息;
映射操作处理器,适于从来自服务器的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数在计算设备上呈现与在服务器处的文档操作相对应的映射文档操作接口;
消息发送器,接收计算设备处在映射文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到服务器;以及
文档聚合器,适于从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。
2.如权利要求1所述的文档管理设备,其中所述通信接口基于RDP协议和服务器进行通信。
3.如权利要求1或2所述的文档管理设备,其中所述消息发送器通过利用钩子技术截取文档操作接口所生成的消息和相关参数,以及所述映射操作处理器通过向映射文档操作接口发出所接收的消息和相关参数来指示映射文档操作接口完成映射操作。
4.一种文档管理***,包括:
服务器,其中驻留有文档管理设备,以及与该服务器通信连接的计算设备,其中驻留有如权利要求1-3中任一个所述的文档管理设备;
所述服务器中的文档管理设备包括:
通信接口,适于和计算设备进行通信,将与文档操作相关的信息发送到计算设备,并且接收与在计算设备处的文档操作相关的信息;
文档处理器,在接收到计算设备对服务器中的文档的操作请求时,启动文档操作接口来对该文档进行操作;其中,
所述文档处理器中还包括监控器,适于监控在计算设备和服务器之间的文档传输,并拒绝将所述服务器中的文档复制或者移动到计算设备,以限制计算设备与服务器的文档流向;
消息发送器,接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到计算设备,以便在计算设备的映射操作接口上呈现;
消息接收器,适于从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器处的文档操作接口进行相应操作。
5.如权利要求4所述的文档管理***,其中所述服务器中的文档管理设备所包括的通信接口基于RDP协议和计算设备进行通信。
6.如权利要求4或5所述的文档管理***,其中所述服务器中的文档管理设备所包括的消息发送器通过利用钩子技术截取文档操作接口所生成的消息和相关参数,以及所述服务器中的文档管理设备所包括的消息接收器通过向文档操作接口发出所接收的消息和相关参数来指示该文档操作接口进行相应操作。
7.一种文档管理方法,在与服务器通信连接的计算设备上执行,该方法包括步骤:
选择要操作的文档;
判断所操作的文档存储在服务器中还是计算设备中,当所操作的文档存储在计算设备中时,利用计算设备上的文档操作接口来对该文档进行操作;
当所操作的文档存储在服务器中时,利用服务器上的文档操作接口对该文档进行操作,与服务器进行通信,接收与在服务器处的文档操作相关的信息,从来自服务器的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数在计算设备上呈现与在服务器处的文档操作相对应的映射文档操作接口;
接收计算设备处在映射文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到服务器;
监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备中,以限制计算设备与服务器的文档流向;以及
从服务器获取与该计算设备上操作的用户相关联的文档,并且和在计算设备中的文档一起经由计算设备上的文档操作接口来呈现。
8.如权利要求7所述的文档管理方法,其中所述计算设备和服务器之间基于RDP协议进行通信。
9.一种文档管理方法,在文档管理***上执行,所述文档管理***包括服务器和与所述服务器通信连接的计算设备,所述方法包括在所述服务器上执行的文档管理方法,以及如权利要求7或8所述的在计算设备上执行的文档管理方法,在所述服务器上执行的文档管理方法包括步骤:
在接收到计算设备对服务器中的文档的操作请求时,启动文档操作接口来对该文档进行操作;
接收在文档操作接口上的操作消息和相关参数,并且将该操作信息和相关参数通过通信接口发送到计算设备,以便在计算设备的映射操作接口上呈现;
从来自计算设备的文档操作相关信息中提取操作消息和相关参数,并根据该操作消息和相关参数来指示在服务器处的文档操作接口进行相应操作;以及
监控在计算设备和服务器之间的文档传输,并拒绝将服务器中的文档复制或者移动到计算设备,以限制计算设备与服务器的文档流向。
10.如权利要求9所述的方法,其中所述计算设备和服务器之间基于RDP协议进行通信。
CN201410026318.7A 2014-01-21 2014-01-21 一种文档管理方法和*** Active CN103810250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410026318.7A CN103810250B (zh) 2014-01-21 2014-01-21 一种文档管理方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410026318.7A CN103810250B (zh) 2014-01-21 2014-01-21 一种文档管理方法和***

Publications (2)

Publication Number Publication Date
CN103810250A CN103810250A (zh) 2014-05-21
CN103810250B true CN103810250B (zh) 2018-03-02

Family

ID=50707020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410026318.7A Active CN103810250B (zh) 2014-01-21 2014-01-21 一种文档管理方法和***

Country Status (1)

Country Link
CN (1) CN103810250B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127761A (zh) * 2006-08-16 2008-02-20 北京城市学院 网络中单向协议隔离方法及其装置
CN101676875A (zh) * 2008-08-15 2010-03-24 北京北大众志微***科技有限责任公司 Linux终端无缝访问远程Windows应用程序的方法及其装置
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250424A1 (en) * 2007-04-04 2008-10-09 Ms1 - Microsoft Corporation Seamless Window Implementation for Windows Presentation Foundation based Applications
CN102637210A (zh) * 2012-03-30 2012-08-15 云南远信科技有限公司 电子文件管理平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127761A (zh) * 2006-08-16 2008-02-20 北京城市学院 网络中单向协议隔离方法及其装置
CN101676875A (zh) * 2008-08-15 2010-03-24 北京北大众志微***科技有限责任公司 Linux终端无缝访问远程Windows应用程序的方法及其装置
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理***

Also Published As

Publication number Publication date
CN103810250A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
US10268835B2 (en) Hosted application gateway architecture with multi-level security policy and rule promulgations
US10447560B2 (en) Data leakage protection in cloud applications
US11741185B1 (en) Managing content uploads
CA2881167C (en) Authorization method, apparatus, and system
CN102984159B (zh) 基于终端访问行为的安全接入逻辑控制方法及平台服务器
US9069444B1 (en) Methods for synchronizing large files with a cloud network
CA2943128C (en) Computer system to support failover in an event stream processing system
US20150347773A1 (en) Method and system for implementing data security policies using database classification
US10824756B2 (en) Hosted application gateway architecture with multi-level security policy and rule promulgations
WO2017054543A1 (zh) 一种云盘资源访问方法和装置
CN101410803A (zh) 用于提供对计算环境的访问的方法和***
US9178698B1 (en) Dynamic key management
JP6096376B2 (ja) アクセス制御方法、装置、プログラム、及び記録媒体
US9930063B2 (en) Random identifier generation for offline database
CN104239125B (zh) 对象处理方法、分布式文件***及客户端设备
US20150074152A1 (en) Metadata-based file-identification systems and methods
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
CN103810250B (zh) 一种文档管理方法和***
US9141287B2 (en) Remote enabling of storage
US10009318B2 (en) Connecting to a cloud service for secure access
Ii TECHNICAL EVALUATION AND LEGAL OPINION OF WARDEN: A NETWORK FORENSICS TOOL
US20090037198A1 (en) Techniques for temporarily holding project stages
AHMAD Performance Analysis of Personal Cloud Storage Services for Mobile Multimedia Health Record Management
JP2007249506A (ja) クライアント・サーバシステム及び動的権限決定方法

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