CN105474210B - 运行自动化流程的系统 - Google Patents

运行自动化流程的系统 Download PDF

Info

Publication number
CN105474210B
CN105474210B CN201480045821.5A CN201480045821A CN105474210B CN 105474210 B CN105474210 B CN 105474210B CN 201480045821 A CN201480045821 A CN 201480045821A CN 105474210 B CN105474210 B CN 105474210B
Authority
CN
China
Prior art keywords
virtual machine
database
resource pool
server
application server
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
CN201480045821.5A
Other languages
English (en)
Other versions
CN105474210A (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.)
Blue Prism Ltd
Original Assignee
Blue Prism 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 Blue Prism Ltd filed Critical Blue Prism Ltd
Publication of CN105474210A publication Critical patent/CN105474210A/zh
Application granted granted Critical
Publication of CN105474210B publication Critical patent/CN105474210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明提供了一种运行自动化流程的系统。所述系统包括与数据库(106)通信连接的第1计算机(102)。所述第1计算机(102)用于执行利用数据库(106)中存储的数据运行自动化流程的指令。本发明还提供了一种运行自动化流程的方法。所述方法包括:设置与数据库(106)通信连接的第1计算机(102)的步骤;配置所述第1计算机(102)执行自动化流程的步骤;以及利用数据库(106)中存储的数据执行自动化流程的步骤。

Description

运行自动化流程的系统
技术领域
本发明涉及一种运行自动化流程的系统。更具体而言,本发明涉及将目前由人工实施的从一个系统向另一个系统或在单系统中传递信息和指令的流程自动化。
背景技术
通常情况下,预期的或意料之外的变化需要业务的必要处理方式中产生一定的改变。举例来说,新产品的发行需要整合现有的系统,新规则需要记录流程步骤,或公司的收购需要合并两条生产线及加工流程。传统的企业系统规划和系统数据、程序的转出能够应付这些问题。然而,这些规划周期是为大型项目设计的,并不支持日常处理的变化。这样,这些变化的实施代价巨大,而且有时需要几年时间。这是因为必须开发替换原系统功能且提供所需的新功能的新系统,并且,在所述新系统能够可靠实施之前,需要大量测试和质量控制。这些系统还必须由具有计算机编程和应用程序开发的专业技能的人员来设计和配置。这样会增加开发过程的时间,因为通常在某一机构中鲜有掌握上述必要技能的人员,即便有,人数也相对较少。而且,一旦这种系统进入实施阶段,需要很长一段时间来使原系统的用户熟悉这些新系统,而这种过程的特点通常是低效和不精确的。
此问题起因于事务部门(后勤保障部门)的业务流程通常涉及多个独立且彼此不兼容的应用软件。其中一些应用软件具有应用程序编程接口。所述应用程序编程接口能够通过设置预先定义的、其它应用软件通过其能够实现交互的接口,促进应用软件的信息输入或输出。然而,情况并非经常如此。举例来说,在这些事务部门的业务流程中使用的一些应用软件是老的应用软件,这些老的应用软件并未设计有允许其它应用软件便于访问所必须的上述特征。在这些事务部门的业务流程中使用的其它应用软件则是内部定制的服务于特殊用途的软件解决方案。在这些特殊用途中,并未对设置能够实现与其它应用软件交互的接口的需求作出预见。传统上,通过使用操作人员来缩小这些应用软件之间的间隙。因为需要雇佣大量操作人员来提供这种必要的处理能力,所以操作人员的使用是一种昂贵的解决方案。因为这些不兼容的应用软件或系统之间的间隙由人工来实现缩小,而仅在一天中的部分时间内工作的操作人员受限于使用键盘、鼠标或其它输入设备输入信息或指令的速度,或受限于从屏幕或其它输出设备上读取信息的速度,由此一般会使流程处理的速度缓慢。此外,人是容易受到影响的,由此会在向系统输入数据或指令以及从其它系统读取信息时出现错误,而计算机则不会。还存在这样一种可能性,当以这样的方式使用操作人员时,会出现恶意干扰流程处理、系统和数据的现象。
举例来说,电信供应商可发布一款新的需要使用互不兼容的现有应用软件和新系统的手持移动电话。这一不足通常由操作人员填平,但一般而言,无法预测这种新近发布的产品的需求。因此,会存在培训过多或过少的人员使用软件系统的问题。由此,需使用能够快速定量这种需求以应对该需求、且预先不需要详细的关于该需求的知识的解决方案来填平不兼容软件系统之间的间隙。
在此类系统中,通常会处理大量敏感的个人信息。此外,理想的情况是能够以减少错误数量的一致方式处理此类信息,其中,这种错误可由人员简单地将信息从一个系统拷贝到另一个系统而引起。同样,理想的情况还在于能够以隐秘安全的方式处理此类信息,其中,所述信息仅在绝对需要时才可以为人所接触。
缺乏待实施新流程所需的功能的现有应用软件需要操作人员来填补的这类问题不止存在于事务部门。举例来说,医院或医生诊室的前台一般为繁忙的环境,有一些病人前来预约。前台接待员花费大量时间处理例行事务,例如取得前来预约的病人的详细信息,并将病人的详细信息输入用于登记病人预约的应用软件。这一过程通常很慢,而且容易因听错病人的详细信息而出错,并且会会占用前台接待员的大量时间,以至于影响他们处理其它事务。
理想的情况是在医院或医生诊室的前台设置一种允许病人将自己的详细信息输入至系统的自助登记站,从而能将错误降至最低,并将前台接待人员解放出来处理其它事务,由此还能缩短等待的时间。然而,向病人提供与向前台接待员提供的界面相同的界面未必妥当。因为,由前台接待员使用的应用软件可能具有额外引起病人困惑的更高级特征,或这种应用软件能够管理控制或访问不适合通过自助登记站形式提供给病人的信息。除非现有的前台接待员应用软件能够提供可以在自助便利站中运行以接入某一功能和特征的新应用软件的性能,否则在开发为运行上述系统而提供必要功能的新的应用软件及软件系统时,还会出现因事务部门的业务流程中的变化所引起的同样的长规划周期、昂贵成本、低效及易产生错误等问题。这通常会导致开发项目无法进行。
本发明的目的在于克服上述的一种或多种问题。
发明内容
在本发明的第一方面,提供了一种运行自动化流程的系统。在第一实施例中,所述系统包括:第1计算机,其与数据库通信连接;所述第1计算机用于利用存储在所述数据库中的数据执行实现自动化流程运行的指令。
优选地,所述数据库存储在数据库服务器中。可选地,所述数据库存储在所述第1计算机或第2计算机中。
优选地,所述第1计算机用于构建至少一台虚拟机,并且,其中,所述至少一台虚拟机用于执行所述自动化流程。
优选地,所述系统还包括应用服务器。所述应用服务器可被构建在用作专用服务器的第2计算机上,或所述第1计算机可用于构建所述应用服务器。
在本发明第一方面的第二实施例中,提供了另一种运行自动化流程的系统。所述系统包括:至少一台数据库服务器、至少一台应用服务器和至少一台虚拟机,其中,所述至少一台虚拟机与所述至少一台数据库通信连接,且还和所述至少一台应用服务器通信连接,并且,其中所述至少一台应用服务器用于向所述至少一台虚拟机提供指令,以执行自动化流程,并且所述至少一台虚拟机用于根据被提供的所述指令利用存储在数据库中的数据执行自动化流程。
在本发明第一方面的第三实施例中,提供了另一种运行自动化流程的系统。所述系统包括第二实施例的特征,其中,所述至少一台数据库服务器、所述至少一台应用服务器和所述至少一台虚拟机组成了第一组。所述系统还包括:由至少一台数据库服务器、至少一台应用服务器和至少一台虚拟机组成的第二组,其中,所述第一组和所述第二组彼此通信连接,从而使各组中的所述至少一台应用服务器与各组中的所述至少一台数据库服务器彼此通信;其中一组的所述应用服务器用于向所述第一组和所述第二组中的至少一组的所述虚拟机提供指令;并且所述第二组的所述至少一台数据库服务器是所述第一组的所述至少一台数据库服务器的镜像。
优选地,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器用于管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的一台或多台所述数据库服务器之间的连接。
同样优选地,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器包含数据库服务器证书;所述数据库服务器证书用于安全访问所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器。
所述第一组和所述第二组中的至少一组还包括通信服务器;所述通信服务器与所述第一组和所述第二组中的至少一组的所述至少一台虚拟机通信连接,且还与所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器通信连接,并且用于管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器之间的连接。
所述至少一台数据库服务器拥有多个数据库。
所述至少一台虚拟机包括标准的终端用户桌面操作系统。
优选地,所述至少一台虚拟机包括多台虚拟机,并且所述多台虚拟机被编组成至少一个资源池。
优选地,所述至少一个资源池包括控制器;所述控制器为所述至少一个资源池内的虚拟机。
优选地,所述至少一个资源池的所述控制器用于更新带有时间戳的数据库记录;所述数据库记录包含作为所述至少一个资源池的控制器的所述虚拟机的身份标识。
优选地,所述至少一个资源池内的所有虚拟机均用于接收来自所述至少一台应用服务器的指令,并用于将来自所述至少一个应用服务器的所述指令发送给用作所述至少一个资源池的所述控制器的虚拟机。
优选地,在所述至少一个资源池的当前控制器停止工作时,通过更新包含用作所述至少一个资源池的控制器的虚拟机的身份标识的数据库记录,所述至少一个资源池中的每台虚拟机作为所述至少一个资源池的控制器来接管当前控制器的工作。
所述至少一个资源池的控制器是所述应用服务器。
进一步可选地,所述第一组和所述第二组的所述至少一个资源池的控制器是主应用服务器。
通过与可访问接口、公开的应用程序编程接口以及操作系统的呈现技术中的一个或多个进行交互,所述至少一台虚拟机还用于实现所述自动化流程。
通过解释HTML文档内的HTML元素,所述虚拟机还用于实现所述自动化流程。
通过识别用户界面的定义区域内的文本所使用的字体以及识别所述用户界面的定义区域内的使用所述字体的文本的字符,所述虚拟机用于实现所述自动化流程。
优选地,所述系统还包括终端;所述终端用于查看由一台或多台所述虚拟机实现的所述自动化流程。
在本发明第一方面的第三实施例中,所述第一组和所述第二组通过广域网连接连接在一起。可选地,所述第一组和所述第二组通过局域网连接在一起。
同样在本发明第一方面的第三实施例中,所述第一组和所述第二组位于不同的物理站点。
同样在本发明第一方面的第三实施例中,所述第二组在基于所述第一组的故障而被启用之前是不工作的。
优选地,在本发明第一方面的第三实施例中,所述第一组和所述第二组的所述至少一台应用服务器用于管理每一组中的所述至少一台虚拟机与所述第一组和所述第二组的所述至少一台数据库服务器之间的连接。
优选地,在本发明第一方面的第三实施例中,所述第一组和所述第二组中的每一组的所述至少一台应用服务器包含用于安全访问所述第一组和所述第二组的所述至少一台数据库服务器的数据库服务器证书。
优选地,所述自动化流程由用户定义,并基于来自一个或多个软件系统、数据库或存储文件或文档的数据被实现。
优选地,在本发明第一方面的第三实施例中,所述第一组的所述至少一个资源池中的虚拟机的配置和数量与所述第二组的所述至少一个资源池中的虚拟机的配置和数量相同。
优选地,所述至少一台虚拟机配置成:对它的远程访问限于提供执行自动化流程的指令、关闭所述至少一台虚拟机的指令、重启所述至少一台虚拟机的指令以及启动所述至少一台虚拟机的指令。
优选地,所述至少一台数据库服务器上的加密证书库存储至少一个访问专用应用软件所必需的密码。同样优选地,所述至少一台虚拟机用于将存储在所述加密证书库中的所述密码更新为不被所述系统外界所知的随机密码。
在本发明的第二方面中,提供了一种运行自动化流程的方法。在第二方面的第一实施例中,所述方法包括以下步骤:设置与数据库通信连接的第1计算机;配置所述第1计算机以执行自动化流程;利用存储在所述数据库中的数据执行所述自动化流程。
优选地,所述数据库存储在数据库服务器上。可选地,所述数据库存储在所述第1计算机或第2计算机上。
优选地,配置所述第1计算机的步骤包括:配置所述第1计算机,以在所述第1计算机上构建至少一台虚拟机;以及配置所述至少一台虚拟机,使所述至少一台虚拟机执行所述自动化流程。
优选地,第一实施例的方法还包括设置应用服务器的步骤。所述方法包括:配置所述第1计算机以构建应用服务器,或设置一专用服务器,并在所述专用服务器上构建所述应用服务器。
在本发明第二方面的第二实施例中,提供了一种运行自动化流程的方法。所述方法包括以下步骤:设置至少一台数据库服务器、至少一台应用服务器以及至少一台虚拟机,其中,所述至少一台虚拟机与所述至少一台数据库服务器通信连接,且还和所述至少一台应用服务器通信连接;使用所述应用服务器向所述至少一台虚拟机提供指令,以执行自动化流程;以及在所述至少一台虚拟机上,根据提供的指令并利用存储在数据库中的数据执行所述自动化流程。
在本发明第二方面的第三实施例中,提供了一种运行自动化流程的方法。所述方法包括第二是实施例的所有步骤,其中,由所述至少一台数据库服务器、所述至少一台应用服务器和所述至少一台虚拟机组成第一组,并且所述方法还包括以下步骤:设置包括至少一台数据库服务器、至少一台应用服务器以及至少一台虚拟机的第二组,其中,所述第一组和所述第二组通信连接,从而实现每组中的应所述至少一台应用服务器与每组中的所述至少一台数据库服务器之间的通信;配置所述第一组和所述第二组中的一组的所述至少一台应用服务器,使其向所述第一组和所述第二组中的至少一组的所述至少一台虚拟机提供指令;以及将所述第一组的所述至少一台数据库服务器做成所述第二组的所述至少一台数据服务器的镜像。
优选地,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的一个或多个数据库服务器之间的连接。
同样优选地,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器包含用于安全访问所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器的数据库服务器证书。
所述第一组和所述第二组中的至少一组还包括通信服务器;所述通信服务器与所述第一组和所述第二组中的至少一组的所述至少一台虚拟机通信连接,且还和所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器通信连接,并管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的所述至少一台数据库服务器之间的连接。
所述至少一台数据库服务器拥有多个数据库。
所述至少一台虚拟机包括标准的终端用户桌面操作系统。
优选地,所述至少一台虚拟机包括多台虚拟机,并且所述多台虚拟机被编组成至少一个资源池。
优选地,所述至少一个资源池包括控制器;所述控制器是所述至少一个资源池内的虚拟机。
优选地,所述至少一个资源池的控制器更新带有时间戳的数据库记录;所述数据库记录包含用作所述至少一个资源池的控制器的虚拟机的身份标识。
同样优选地,所述至少一个资源池内的所有虚拟机均接收来自于所述至少一台应用服务器的指令,并将来自所述至少一台应用服务器的所述指令发送给作为所述至少一个资源池的控制器的虚拟机。
同样优选地,在所述至少一个资源池的当前控制器停止工作时,通过更新包含用作所述至少一个资源池的控制器的虚拟机的身份标识的数据库记录,所述至少一个资源池中的每台虚拟机作为所述至少一个资源池的控制器来接管当前控制器的工作。
所述至少一个资源池的控制器是所述应用服务器。
所述第一组和所述第二组的所述至少一个资源池的控制器是主应用服务器。
通过与可访问接口、公开的应用程序编程接口以及操作系统的呈现技术中的一个或多个进行交互,所述至少一台虚拟机实现至少一个自动化流程。
通过解释HTML文档内的HTML元素,所述至少一台虚拟机实现至少一个自动化流程。
通过识别用户界面的定义区域内的文本所使用的字体以及识别所述用户界面的定义区域内的使用所述字体的文本的字符,所述至少一台虚拟机实现至少一个自动化流程。
优选地,所述方法还包括设置终端,以查看由一台或多台所述虚拟机实现的所述自动化流程。
在本发明第二方面的第三实施例中,所述第一组和所述第二组通过广域网连接连接在一起。可选地,所述第一组和所述第二组通过局域网连接在一起。
同样在本发明第二方面的第三实施例中,所述第一组和所述第二组位于不同的物理站点。
同样在本发明第二方面的第三实施例中,所述第二组在基于所述第一组的故障而被启用之前是不工作的。
优选地,在本发明第二方面的第三实施例中,所述第一组和所述第二组的所述至少一台应用服务器管理每一组中的所述至少一台虚拟机与所述第一组和所述第二组的所述至少一台数据库服务器之间的连接。
优选地,在本发明第二方面的第三实施例中,所述第一组和所述第二组中的每一组的所述至少一台应用服务器包含用于安全访问所述第一组和所述第二组的所述至少一台数据库服务器的数据库服务器证书。
优选地,所述自动化流程由用户定义,并基于来自一个或多个软件系统、数据库或存储文件或文档的数据被实现。
优选地,所述第一组的所述至少一个资源池中的虚拟机的配置和数量与所述第二组的资源池中的所述至少一个虚拟机的配置和数量相同。
优选地,对于所述虚拟机的远程访问限于提供执行自动化流程的指令、关闭所述至少一台虚拟机的指令、重启所述至少一台虚拟机的指令以及启动所述至少一台虚拟机的指令。
优选地,所述至少一台数据库服务器上的加密证书库存储至少一个访问专用应用软件所必需的密码。
优选地,所述至少一台虚拟机将存储在所述加密证书库中的所述密码更新为不被所述方法之外所知的随机密码。
附图说明
图1为本发明系统的实施方式的示意图;
图2为本发明系统的一可选实施方式的示意图;
图3为本发明系统的一可选实施方式的示意图;
图4为包括多台数据库服务器的本发明系统的一可选实施方式的示意图;
图5为包括多台应用服务器的本发明系统的一可选实施方式的示意图;
图6为说明规定及调度待自动化处理的流程的方法的流程图;
图7为图形用户界面中指定区域内的字符的识别方法的流程图。
具体实施方式
现在参照附图,详细介绍本发明。
根据本发明的第一实施例,运行自动化流程的系统包括用于执行自动化流程的计算机。所述计算机与数据库通讯以执行自动化流程,而所述数据库存储有用于自动化流程的数据。所述数据库可存放在用于执行自动化流程的计算机中,或可存放在第二计算机或专用的数据库服务器中。在本说明书的通篇说明中,除非另有所指,术语“服务器”应被理解为包括软件服务器和专用的硬件服务器。所述计算机其本身可用于执行自动化流程,或可被用于构建一台或多台虚拟机,而所述虚拟机用于执行自动化流程。上述系统还可进一步包括能够被用来配置和运行自动化流程的终端。
图1为依据本发明第一实施例的一个变型实施方式的系统的示意图。其中使用了至少一台虚拟机。系统100包括至少一台被用于构建至少一台虚拟机102的计算机、数据库服务器106和终端108。
所述虚拟机102使用存储在虚拟机内的应用软件以及存储在数据库服务器106上的数据来执行一个或多个自动化流程。自动化流程在虚拟机102上的执行可由终端108实施控制。终端108用于允许在虚拟机102上执行调度表的定义(描述),而所述调度表对流程进行了定义。
上述系统还包括应用服务器。所述应用服务器构建在构建有上述虚拟机和/或数据库的同一实体计算机上,或可构建在单独的专用计算机或服务器上。下面参照附图,详细介绍所述应用服务器的功能。
图2依据本发明第二实施例实施的系统200的示意图。所述系统200包括多台虚拟机202、应用服务器204和数据库。在下文讨论的优选实施例中,所述数据库构建在数据库服务器206上。应用服务器204可以是单独的一台实体服务器或虚拟服务器。
所述虚拟机202、应用服务器204和数据库服务器206被网络化,从而使它们可彼此通信。所述系统200配置成,应用服务器204将自动化流程分配给虚拟机202执行。由应用服务器204分配并由虚拟机202执行的自动化流程由用户定义,其为对软件系统、数据库、存储文件或文档中的一个或多个中出现的数据所实施的处理。
在第二实施例中,虚拟机202是标准终端用户操作系统固有的虚拟化实例,优选为Microsoft Windows(注册商标)系统(微软视窗操作系统)的虚拟化实例。优选地,虚拟机202存在于一台或多台安全服务器上,就是说,在没有正确的安全许可或验证的情况下禁止物理或远程访问该服务器。存在有虚拟机的服务器优选运行底层虚拟化的虚拟机管理程序(Type 1hypervisors),例如优选运行VMware ESX(注册商标)虚拟主机软件。然而,不难理解,可使用允许创建和运行虚拟机的硬件和软件的任意适当搭配。就虚拟机不具有连接的显示器或类似的显示图形输出的输出装置而言,虚拟机202是“无头的”。通过运行多台虚拟机202,可同步执行多个自动化流程,以提高工作能力或同时服务于多个外部用户。
优选地,一旦虚拟机202被构建,则限制对其进行远程访问。除了至少一台应用服务器204的向虚拟机202提供指令以执行流程的能力之外,远程重启、关闭和启动虚拟机202的能力是唯一所需的远程访问。由于无法远程干扰运行在虚拟机上的自动化流程,因此这种配置为上述系统提供了额外的安全保障。同使用操作人员实现自动运行在虚拟机202上的流程相比,这种配置提供了额外的安全保障。在没有获得正确验证的情况下,无法恶意或意外地使用针对不同数据的不同方式执行流程,而且不需要向上述系统的任何非管理者提供授权。
其中,为访问在虚拟机202上运行的自动化流程所必要的应用软件,需要输入密码。这一密码存放在加密的证书库内。虽然任意适合的加密标准均适用,而且所述证书库可存放在任意适合的位置,例如,应用服务器或虚拟机,但优选这一证书库通过三重数据加密算法(Triple DES)加密,并存放在数据库服务器上。自动化流程可被配置如下:将存放在所述证书库内的密码定期更新为安全、随机的不被系统200之外所知的密码。因为保护访问诸如客户信息、银行信息等敏感信息的应用软件的密码存放在虚拟机202上的加密的证书库内,而且不提供给操作人员,所以能够极大地提高这些系统以及这些系统内的应用软件和信息的安全性。从证书库请求证书也可基于虚拟机202的ID和请求证书的流程ID验证。这样能够确保只有被授权的机器和流程能够被授权访问证书库中的信息。虚拟机202可使用微软视窗操作系统的证书提供者程序(Windows Credential Provider)由应用服务器204进行验证。
可选地,可使用微软的活动目录服务(Microsoft Active directory)验证系统管理员和用户,其中,活动目录服务将系统管理员和用户的角色和权限与现有的域结构链接起来。
应用服务器204用于管理虚拟机202与数据库服务器206之间的连接。应用服务器204存储着数据库服务器的安全证书,例如,Windows操作系统的身份认证或SQL(结构化查询语言)数据库的身份认证,并起到数据库的安全连接代理的作用,从而使所有的虚拟机202均能够与应用服务器204通信,并使应用服务器204代表虚拟机202与数据库服务器206安全通信。
这一配置使应用服务器204成为系统200中唯一需要带正确身份验证的存储数据库服务器安全证书以访问和修改存放在数据库服务器206中的数据的地方。因为数据库服务器安全证书仅存放在系统200中的一个地方,所以同安全证书存放在各虚拟机202上的情况相比,提高了系统的安全性,而且还为当前的多用户多密码系统提供了改善的安全性。
数据库服务器206优选为SQL Server数据库。数据库服务器206安装有一个或多个SQL Server数据库。所述SQL Server数据库存储着流程和对象库。所述流程和对象库涉及自动化流程、用户证书、审计信息、处理日志以及自动化流程的工作流配置和调度表信息。在数据库服务器206中可存在多个SQL架构(SQL schema),允许不同的虚拟机202执行不同的自动化流程,其中,所述自动化流程参照存储在数据库服务器206的数据库内的不同信息集合。
数据库服务器206还存储有工作队列。工作队列能够使需要处理的数据得到存储,以使需要处理的数据分配于整个执行流程的虚拟机202的系统中。流程阶段信息以及异常信息同样存储在工作队列中,其中,所述流程阶段信息指明可使流程中止及重新开始的当前流程阶段,例如,其为简单的数字。将数据填入工作队列的方式如下:从数据库直接填入、或通过应用程序编程接口将数据填入工作队列;或通过虚拟机访问现有的工作流系统或诸如电子数据表、电子邮件或其它文件机制的其它信息存储库,并且所述虚拟机使用工作队列存储每条已处理项的引用(reference)。举例来说,待自动化的流程包括:从一个或多个文件中读取数据,并执行响应该数据的动作或作用于该数据的动作。一旦从一个或多个文件中读取出数据,可将该数据存储在工作队列中,从而使虚拟机202能够从工作队列中取出执行流程所需的或执行流程所针对的数据。
工作队列也可被加密,以便为工作队列中的数据提供更深一层的安全保护。举例来说,存储在工作队列中的数据可包括客户的个人信息或其它敏感信息实例。客户的个人信息科包括银行信息、地址、出生日期等。因此,这种安全保护在某些实施例中是很重要的。
如图2所示,终端208用于定义在系统200上运行的自动化流程,并用于查看虚拟机202。终端208还用于定义在虚拟机202上实施的自动化流程的调度表,并用于管理员的查看、以及通过手动方式启动和终止流程在虚拟机202上的运行。使用终端208可在调度体系之外启动和终止流程。
在第二实施例中,通过向虚拟机202提供指令,应用服务器204用于实施所定义的调度表以执行单独流程。
应用服务器204既可控制流程的调度,也可管理虚拟机202与数据库服务器206的连接,作为一种选择,应用服务器204可以仅负责流程的调度,而以单独的应用软件或服务器管理虚拟机202与数据库服务器206的连接。
目前一般由操作人员执行的流程,由本文所述的系统来实现,这可使这些流程步骤的执行保持一致性和无误性,并还可记录下这些流程步骤。可对记录下的流程步骤进行分析,以提高流程的执行速度,并改进流程本身。
图3示出了依据本发明第三实施例的系统300。系统300a,300b分别包括虚拟机302a,302b、应用服务器304a,304b以及数据库服务器306a,306b。如针对第二实施例的前文所述,应用服务器304a,304b和数据库服务器306a,306b可以是实体服务器或虚拟服务器或实体与虚拟服务器的结合,它们可以是单台服务器或多台服务器并能够以前述任意一种方式安装。网络308连接应用服务器304a,304b和数据库服务器306a,306b。网络308可以是局域网(LAN)或广域网(WAN)。系统300a,300b可以设置在同一地点或不同地点。
优选地,横跨两个系统300a,300b的对虚拟机302a,302b的流程的调度表和分配,由应用服务器304a,304b中的一台来执行。在这种情况下,如果应用服务器304a,304b中的一台发生故障,或系统304a,304b中的一个发生故障,必要的话,自动化流程的调度和分配可由应用服务器304a,304b中的另一台接管。这样,自动化流程的执行能够在虚拟机302a,302b组中的一个上得以延续。
可选地,主应用服务器负责横跨两个系统300a,300b向虚拟机302a,302b实施流程的调度和分配。如果系统300a,300b中的一台出现故障,或应用服务器304a,304b中的一台出现故障,这一配置还允许流程至少在虚拟机302a,302b中的一个上继续执行。
数据库服务器306b是数据库服务器306a的镜像。这一配置兼顾了应用服务器304a或304b出现故障的情况,或数据库服务器306a或306b出现故障的情况,或应用服务器均出现故障的情况,或数据库服务器均出现故障的情况。如果系统300a,300b位于不同地点,那么在位于这些地点中的一个上的系统出现诸如由停电引起的故障时,上述配置能够使自动化流程在第二地点上持续执行。可选地,系统300b可位于同一地点,或单独的地点,并在初始阶段停止运行,在第一地点上的系统出现故障时启动运行。在发生故障时,能够实现功能设定的应用服务器304a或304b调整调度和分配。在主应用服务器负责流程的调度和分配的情况下,主应用服务器可调整流程的分配。
图4描述了在系统中存在多台数据库服务器206的第二、第三实施例的变型实施例。在以下实例中,将讨论三台数据库服务器206,但这仅仅是一种示例性说明。数据库服务器406a,406b和406c分别存储着不同的数据库,而应用服务器404可与所有的数据库服务器406a,406b和406c关联。可选地,可存在多台应用服务器404,并且每台应用服务器均可存储所有数据库服务器406a,406b和406c的证书。进一步可选地,应用服务器404的数量可等同于数据库服务器406a,406b和406c的数量,其中,每台应用服务器404仅分别存储数据库服务器406a,406b或406c的证书。这种多数据库的配置允许在参照不同的数据库时使用相同的虚拟机402运行多个不同组的自动化流程。
在使用多个数据库服务器406a,406b和406c的情况下,数据库服务器40可存储与作为主数据服务器镜像的一个或多个数据库服务器206存储的数据库相同的数据库。这一配置带来了冗余,如果其中的一台服务器停止工作,则允许虚拟机202上执行的流程持续下去。
图5描述了系统中存在多台应用服务器204的上述第二、第三实施例的进一步变型实施例。应用服务器504a,504b和504c全部可以是专用服务器、虚拟服务器或专用服务器与虚拟服务器的组合。在存在多台应用服务器204的实施例中,一台服务器被指定为主调度服务器。所述主调度服务器负责调度并向虚拟机202发出指令以执行流程。每台应用服务器204均保存一套与数据库服务器206进行验证的证书副本。应用服务器504a,504b和504c的这种配置在系统中建立了提供故障安全的冗余。这样,如果应用服务器504a,504b和504c中的一台或两台出现故障,则这种配置允许自动化流程在虚拟机502上运行。不难理解,在这种配置中的应用服务器的数量可以是大于2的任意数量。在此处,作为实例,这种配置中的应用服务器的数量为3。
图6示出了规定在虚拟机202上运行的自动化流程的方法的流程图600。
由系统100,200,300,400,或500执行的自动化流程可包括以下步骤:从应用软件中获取信息,或将信息输入至应用软件。对于那些没有现存的专用应用程序编程接口的应用软件而言,通过创建计算机交互对象来实现其与其它应用软件的交互和自动化流程。这种交互对象可由自动化流程访问,以向所述应用软件输入信息和从所述应用软件输出信息。这一过程由下列方法中的步骤602实施。
如果现有的应用软件执行一些可访问性特征,例如,执行Java的易访问性应用程序编程接口(Java Accessibility API)的Java应用程序和小程序,或执行微软动态易访问性应用程序编程接口(Microsoft Active Accessibility API)或IAccessible 2接口的Windows应用程序,则可以取得这些易访问性接口的定义并使用这些定义创建计算机交互对象。
可选地,如果应用软件是HTML(超文本标记语言)网络应用或文档,可以通过解析网页的HTML来识别HTML元素,并使用这些定义(元素)创建可由用户所定义的流程访问的链接于所述网络应用程序的计算机交互对象。
优选的HTML解析器使用微软IE浏览器的MSHTML的IHTMLDocument 2接口提供的文档对象模型(DOM)实施解析。在一实施例中,这一过程可与显示有HTML网络应用或文档的图形用户界面的窗口属性、HTML网络应用或文档的URL地址以及HTML路径结合,以创建计算机交互对象的唯一标识符。
还可为具有已经公开的应用程序编程接口的应用软件定义计算机交互对象,例如,所述已经公开的应用程序编程接口可以是窗口对象、动态数据交换(DDE)、主机终端的高级语言应用程序接口(HLLAPI)以及挂起的COM组件(hooking COM components),以使这些计算机交互对象能够被自动化流程以下述方式访问,即,这种方式与自动化流程访问为不存在应用程序编程接口的应用软件定义的计算机交互对象的方式相同。表示层,即呈现在屏幕上的用户界面,也能够用于定义计算机交互对象,以及用于解释发送给应用程序的控制。这一过程可由以下呈现技术实现:负责通信及绘制视窗的所述应用软件中的底层组件以及所述应用软件的主机操作系统、用户看得见的、处理用户与底层组件和主机操作系统之间的交互的诸如底层控制的控制、Windows操作系统与应用软件之间的鼠标和键盘消息以及应用软件的用于管理上述控制并处理用户交互的COM组件。
前述用于创建链接于可被用户定义的流程所访问的应用软件的计算机交互对象的方法依赖于应用软件实现的具体特性。然而,这些特性并非总是出现。瘦客户端应用程序可运行在独立于通过键盘和鼠标输入以及图形输出的方式与用户交互的系统的计算机系统上,仅在用户系统上提供图形用户界面(GUI)。在本发明系统中,自动化流程需要与瘦客户端应用程序交互,而且由于出现在其中运行有自动化流程的系统中的瘦客户端应用程序的组件仅是瘦客户端应用程序的图形用户界面,这样,创建计算机交互对象的可用接口仅是图形用户界面。
根据本发明的实施例,可通过定义被看成是输入或输出栏的图形用户界面区域,创建与诸如瘦客户端应用程序等应用软件的图形用户界面相关的计算机交互对象。如果被定义的区域是输出栏,则通过以下方式解释所述输出栏中的内容:首先识别这一定义区域中的字体;通过将这一定义区域内的文本字符与识别出字体的字符相比较,识别所述文本字符;并以计算机系统能够解读的字符串形式输出识别出的文本字符。在下文中,参照图7介绍显示在图形用户界面中的文本的解释方法。
在步骤604中,一旦为自动化流程中必须使用的应用软件定义了计算机交互对象,便定义会话,以使用定义的计算机交互对象以及数据库信息、存储的文件和文档。会话是预先定义的运行在虚拟机202上的单个流程。创建会话的动作包括:定位文件;从所述文件中读取数据;以及将所述数据放置在诸如工作队列中。
在步骤606中,将步骤604定义的会话编组成多项任务。所述任务是被编组在一起的会话的集合,并且可被并行地执行。在一项任务内,将单独的会话分配给特定的虚拟机202或资源池,从而,在任务被执行时,应用服务器204将指令传递给虚拟机202或资源池,以执行分配给虚拟机202或资源池会话或多个会话。
资源池是将虚拟机202编组成可被称为组合单元的池。表面上,因为资源池可由应用服务器204根据所定义的调度表分配流程,因此可以说资源池以单独的虚拟机202的形式出现,并像单独的虚拟机202一样运行。内在地,当资源池被命令执行流程时,其自动选出属于它的一个虚拟机202来执行流程。
资源池具有一个控制器。所述控制器为整个资源池收取指令。所述控制器可以是资源池中的虚拟机202,或可以是应用服务器204。
在由虚拟机202而非应用服务器204作为资源池控制器的情况下,资源池内的所有虚拟机202均可由应用服务器204编址。未作为控制器使用的虚拟机202将来自于应用服务器204的收文转发给控制器,并将来自控制器的应答转发给应用服务器204。作为控制器的虚拟机202的身份标识与时间戳一同记录在存储于数据库服务器206上的数据库内,并由控制器通过应用服务器204实施更新。在数据库记录已经陈旧的情况下,这表明作为控制器的虚拟机202已经停止担当控制器,例如,在作为控制器的虚拟机202出现错误并停止工作时,另一台虚拟机202会接管并成为资源池的控制器。数据库记录消除了同步问题,因为两个虚拟机202无法同时更新数据库记录,所以两台虚拟机202无法同时尝试接管并成为资源池的控制器。
如果控制器停止工作,资源池中的其它虚拟机可以迅速察觉这一情况,因为这些虚拟机不再能够与所述控制器直接通信。
将虚拟机配置成资源池具有以下优点:在出现故障的情况下提供双重冗余,并提供可扩展性以应对增加的需求。通过将任务内的会话分配给资源池,而不是分配给单独的虚拟机202,可在虚拟机202中的一台出现故障时,由另一台虚拟机可适当地执行对话,无需用户介入。向资源池分配会话还可以使系统在必要时通过将必要的工作分散给更多的虚拟机202来应对增加的需求。在必要时,还可以像资源池添加更多的虚拟机202,以增加资源池的容量。
在步骤608中,于步骤606中定义的任务被放置在调度表中。所述调度表包含任务树。所述任务被顺序执行。在调度表中,每项任务均定义了基于该项任务的顺利完成或出现异常而要执行的下一项任务或活动。调度表被运行的时间和日期也被定义了。举例来说,可将调度表定义为仅在给定的日期和时间或仅在变化的间隔上执行一次。这一过程可基于日历实施,举例来说,仅在工作日且工作时间内执行一特定的调度表。还可从一给定的起始点开始无限期地执行调度表,或可在特定的时间和日期停止使用调度表。
在本发明的一个实施例中,可以使用终端查看时间表。所述时间表显示调度表在给定时间周期内的执行时间。
在本发明的一个实施例中,可在调度体系之外执行流程,举例来说,由用户手动控制或由外部系统控制流程的执行。外部系统可通过应用程序编程接口访问流程。举例来说,当根据需要或相应一特定动作而要求一自动化流程时,应用程序编程接口调用可将流程置于工作队列内。通过将流程设置为可外部访问,使系统能够在要求流程基于除预定义的调度表之外的某事项上执行的环境中使用。举例来说,在病人登记时,上述的自助登记站仅需要执行实现病人登记的流程(以及由病人登记产生的任意进一步动作)。
在完成调度表的基础上,举例来说,无论是因为所定义的调度表已在其运行周期内运行并终结,还是因为调度表按照规定被停止使用,或因为出现错误,调度表的实施结果均被存储成报告供日后查看。
调度、计算机交互对象的定义以及流程的定义意味着在较高水平上自动化任务。这样,仅需要对非IT专业人员进行较少的培训,便可使非IT专业人员能够配置系统以自动化流程,并允许快速响应于变化的需求,同时能够规避传统的企业开发周期。
图7是描述方法700的流程图,其中,所述方法700用于实现解释定义区域内文本的流程。在步骤702中,应用软件使用的字体由用户识别。举例来说,在这一实例中的用户可以是配置用于执行自动化流程的系统和计算机交互对象的人员。一般而言,应用软件的用户界面中使用的字体取决于操作系统。在步骤704中,为字体中的每个字符生成二维像素表示。优选地,所述二位像素表示为布尔值数组。所述数组中的每个元素表示个体像素,而布尔值表示所述像素是否为所述字符所用。优选地,每个数组具有相同数量的竖向元素(vertical element)。举例来说,表示句点的数组向下最远延伸至最下方悬挂的字符(hanging character),并向上最远延伸至最高的字符。这些字符数组优选以XML(可扩展标示语言)格式存储,但还能够以其它适合的方式存储。
在步骤706中,将定义区域的位图转换成为字体字符所用的同样的二维像素表示。这步骤包括清除位图,以丢弃未构成字体的任意像素。这可以通过假定位图中的所有像素均为“纸”(paper)来实现,即,像素被确定为设置有文本的背景的一部分。在对位图实施扫描时,与指定前景颜色的匹配像素被标注为“墨”(ink),即,这些像素为文本的一部分。上述转换的结果为表示了显示在图形用户界面的定义区域内的字符的“画布”(canvas)。如上文所述,这一表示优选为布尔值的二位数组。
可选地,可将定义区域的位图过滤为接近16位,从而由16位色彩模式替代除了保留32位值的特定背景颜色之外的颜色。找到被过滤图像的每一行的主色。如果主色不是背景颜色,则将具有这一主色的图像行上的所有像素替换为背景颜色。使用这一位图,通过假定所有像素均为墨,并扫描每个像素,将与特定背景颜色匹配的像素标记为纸,由此制成画布。
在步骤708中,对画布进行字符扫描,直到发现字符为止。在扫描画布的第一方法中,修整画布,使得包含墨的任意列的前方或后方不存在空白列(即,仅包含纸的列),从而包含墨的行的上、下方的空白行与位于指定字体的字符的上、下方的最大空白匹配。
在步骤710中,通过将作为忽略任意纸的字符中的墨排列的蒙片与画布蒙片及字体字符蒙片进行比较,实现画布与字体的比较。首先竖直向下地测试画布,最终实现从画布左上方向画布右下方整块画布的测试。需要注意的是:也可使用其它合适的画布扫描方法。针对画布上的每个点,测试字体中的每个字符,以查看字符蒙片中定义的墨是否被表示为画布上的墨。如果存在多个匹配字符,则选择具有最多墨的字符。如果已发现字符,则忽略开始于其它行上的任意后续匹配。根据定义在字体中的字符之间的一般间隔,估计被发现的字符之间的间隔。
在步骤712中,流程移过识别出的字符。可简单地从越过识别出的字符的位置继续扫描来完成这一过程,或将识别出的字符的墨从画布中删除,以防止字符被二次识别,或防止干扰对于其它字符的识别。如果在移过识别出的字符之后扫描流程未到达画布的结尾,扫描流程会持续到下一个字符被发现时,或持续至到达画布的结尾为止。如果已到达画布的结尾,则在步骤714输出解释出的文本。
需要注意的是:本说明书仅作为实例使用。在不脱离权利要求书所限定的本发明范围的前提下,可对上述实施例作出修改和改进。

Claims (15)

1.一种运行自动化流程的系统,其包括:
至少一台数据库服务器、至少一台应用服务器和至少一台虚拟机,其中,所述至少一台虚拟机与所述至少一台数据库服务器通信连接,且还与所述至少一台应用服务器通信连接,并且
其中,所述至少一台应用服务器用于向所述至少一台虚拟机提供指令,以执行自动化流程,所述自动化流程由所述至少一台应用服务器分配并由用户定义;
所述至少一台虚拟机用于根据被提供的所述指令利用存储在数据库中的数据执行自动化流程;
所述至少一台虚拟机包括多台虚拟机,并且所述多台虚拟机被编组成至少一个资源池;
所述至少一个资源池包括控制器,所述控制器为所述至少一个资源池内的虚拟机;所述至少一个资源池的所述控制器用于更新带有时间戳的数据库记录,所述数据库记录包含作为所述至少一个资源池的控制器的所述虚拟机的身份标识;以及
在所述至少一个资源池的当前控制器停止工作时,通过更新包含用作所述至少一个资源池的控制器的虚拟机的身份标识的数据库记录,所述至少一个资源池中的每台虚拟机作为所述至少一个资源池的控制器来接管当前控制器的工作。
2.根据权利要求1所述的系统,其中,所述至少一台数据库服务器、所述至少一台应用服务器和所述至少一台虚拟机组成了第一组,所述系统还包括:
由至少一台数据库服务器、至少一台应用服务器和至少一台虚拟机组成的第二组,其中,
所述第一组和所述第二组彼此通信连接,从而使各组中的所述至少一台应用服务器与各组中的所述至少一台数据库服务器彼此通信;
其中一组的所述至少一台应用服务器用于向所述第一组和所述第二组中的至少一组的所述至少一台虚拟机提供指令;并且
所述第二组的所述至少一台数据库服务器是所述第一组的所述至少一台数据库服务器的镜像。
3.根据权利要求2所述的系统,其中,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器用于管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的一台或多台所述数据库服务器之间的连接。
4.根据权利要求1所述的系统,其中,通过与可访问接口、公开的应用程序编程接口以及操作系统的呈现技术中的一个或多个进行交互,所述虚拟机还用于实现所述自动化流程。
5.根据权利要求1所述的系统,其中,所述自动化流程由用户定义,并基于来自一个或多个软件系统、数据库或存储文件或文档的数据被实现。
6.根据权利要求1所述的系统,其中,所述至少一台虚拟机配置成:对所述至少一台虚拟机的远程访问限于提供执行自动化流程的指令、关闭所述至少一台虚拟机的指令、重启所述至少一台虚拟机的指令以及启动所述至少一台虚拟机的指令。
7.一种运行自动化流程的方法,其包括以下步骤:
设置至少一台数据库服务器、至少一台应用服务器以及至少一台虚拟机,其中,所述至少一台虚拟机与所述至少一台数据库服务器通信连接,且所述至少一台虚拟机与所述至少一台应用服务器通信连接;
使用所述应用服务器向所述至少一台虚拟机提供指令,以执行自动化流程,所述自动化流程由所述至少一台应用服务器分配并由用户定义;
在所述至少一台虚拟机上,根据提供的指令并利用存储在数据库中的数据执行所述自动化流程,
所述至少一台虚拟机包括多台虚拟机,并且所述多台虚拟机被编组成至少一个资源池;
所述至少一个资源池包括控制器,所述控制器为所述至少一个资源池内的虚拟机;所述至少一个资源池的所述控制器用于更新带有时间戳的数据库记录,所述数据库记录包含作为所述至少一个资源池的控制器的所述虚拟机的身份标识;以及
在所述至少一个资源池的当前控制器停止工作时,通过更新包含用作所述至少一个资源池的控制器的虚拟机的身份标识的数据库记录,所述至少一个资源池中的每台虚拟机作为所述至少一个资源池的控制器来接管当前控制器的工作。
8.根据权利要求7所述的方法,其中,由所述至少一台数据库服务器、所述至少一台应用服务器和所述至少一台虚拟机组成第一组,并且所述方法还包括以下步骤:
设置包括至少一台数据库服务器、至少一台应用服务器以及至少一台虚拟机的第二组,其中,所述第一组和所述第二组通信连接,从而实现每组中的所述至少一台应用服务器与每组中的所述至少一台数据库服务器之间的通信;
配置所述第一组和所述第二组中的一组的所述至少一台应用服务器,使其向所述第一组和所述第二组中的至少一组的所述至少一台虚拟机提供指令;以及
将所述第一组的所述至少一台数据库服务器做成所述第二组的所述至少一台数据服务器的镜像。
9.根据权利要求8所述的方法,其中,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器管理所述第一组和所述第二组中的至少一组的所述至少一台虚拟机与所述第一组和所述第二组中的至少一组的一台或多台数据库服务器之间的连接。
10.根据权利要求7所述的方法,其中,通过与可访问接口、公开的应用程序编程接口以及操作系统的呈现技术中的一个或多个进行交互,所述至少一台虚拟机实现至少一个自动化流程。
11.根据权利要求7所述的方法,其中,所述自动化流程由用户定义,并基于来自一个或多个软件系统、数据库或存储文件或文档的数据被实现。
12.根据权利要求7所述的方法,其中,对于所述虚拟机的远程访问限于:提供执行自动化流程的指令、关闭所述至少一台虚拟机的指令、重启所述至少一台虚拟机的指令以及启动所述至少一台虚拟机的指令。
13.根据权利要求3所述的系统,或根据权利要求9所述的方法,其中,所述第一组和所述第二组中的至少一组的所述至少一台应用服务器包含用于安全访问所述第一组和所述第二组中的至少一组的至少一台数据库服务器的数据库服务器证书。
14.根据权利要求2所述的系统,或根据权利要求8所述的方法,其中,所述第二组在基于所述第一组的故障而被启用之前是不工作的。
15.根据权利要求1所述的系统,或根据权利要求7所述的方法,其中,所述至少一台数据库服务器上的加密证书库存储至少一个访问专用应用软件所必需的密码。
CN201480045821.5A 2013-07-05 2014-07-04 运行自动化流程的系统 Active CN105474210B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1312151.2A GB2517408A (en) 2013-07-05 2013-07-05 System for automating processes
GB1312151.2 2013-07-05
PCT/GB2014/052050 WO2015001360A2 (en) 2013-07-05 2014-07-04 System for automating processes

Publications (2)

Publication Number Publication Date
CN105474210A CN105474210A (zh) 2016-04-06
CN105474210B true CN105474210B (zh) 2021-02-26

Family

ID=49033437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480045821.5A Active CN105474210B (zh) 2013-07-05 2014-07-04 运行自动化流程的系统

Country Status (10)

Country Link
US (2) US11586453B2 (zh)
EP (2) EP3017385A2 (zh)
JP (2) JP6422491B2 (zh)
CN (1) CN105474210B (zh)
AU (1) AU2014285872B2 (zh)
BR (1) BR112015033078B1 (zh)
CA (1) CA2916909C (zh)
GB (1) GB2517408A (zh)
WO (1) WO2015001360A2 (zh)
ZA (1) ZA201600128B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915383B2 (en) * 2014-07-31 2021-02-09 Micro Focus Llc Remote session information based on process identifier
WO2016141131A1 (en) 2015-03-03 2016-09-09 Software Robotics Corporation Limited Software robots for programmatically controlling computer programs to perform tasks
US10852920B2 (en) 2016-06-30 2020-12-01 Wipro Limited Method and system for automating execution of processes
US11138540B2 (en) * 2016-07-20 2021-10-05 Hewlett-Packard Development Company, L.P. Creating digital workers in organizations
CN107870800A (zh) * 2016-09-23 2018-04-03 超威半导体(上海)有限公司 虚拟机活跃性检测
JP6335998B2 (ja) * 2016-10-19 2018-05-30 中華電信股▲分▼有限公司 ソフトウェア・ディファインド・ユーザ体感品質測定システム
US9805306B1 (en) 2016-11-23 2017-10-31 Accenture Global Solutions Limited Cognitive robotics analyzer
US11157855B2 (en) 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
EP3364299B1 (en) * 2017-02-15 2024-07-03 Blue Prism Limited System for optimising distribution of processing an automated process
GB201702450D0 (en) * 2017-02-15 2017-03-29 Blue Prism Ltd System for optimising distribution of processing an automated process
US10235192B2 (en) 2017-06-23 2019-03-19 Accenture Global Solutions Limited Self-learning robotic process automation
CN107135277A (zh) * 2017-07-06 2017-09-05 郑州云海信息技术有限公司 一种一体机实现方法及装置
US11354164B1 (en) * 2018-04-20 2022-06-07 Automation Anywhere, Inc. Robotic process automation system with quality of service based automation
DE102018110493A1 (de) 2018-05-02 2020-01-02 Another Monday Service GmbH Deutschland System und Verfahren zur Durchführung von automatisierten Prozessen
US11025425B2 (en) 2018-06-25 2021-06-01 Elasticsearch B.V. User security token invalidation
US11223626B2 (en) 2018-06-28 2022-01-11 Elasticsearch B.V. Service-to-service role mapping systems and methods
US11474982B2 (en) * 2018-07-26 2022-10-18 Sap Se Zero downtime evolution of database schemas for cloud applications
US11196554B2 (en) * 2018-07-27 2021-12-07 Elasticsearch B.V. Default password removal
US10878531B2 (en) 2018-08-17 2020-12-29 Accenture Global Solutions Limited Robotic process automation
US11023598B2 (en) 2018-12-06 2021-06-01 Elasticsearch B.V. Document-level attribute-based access control
TWI717714B (zh) * 2019-03-28 2021-02-01 中國信託商業銀行股份有限公司 流程機器人系統
GB2590967A (en) 2020-01-10 2021-07-14 Blue Prism Ltd Method of remote access
US12067580B2 (en) 2020-09-24 2024-08-20 The Toronto-Dominion Bank Management of programmatic and compliance workflows using robotic process automation
CN112817748A (zh) * 2021-01-20 2021-05-18 深圳魔栗科技有限公司 一种基于安卓虚拟机处理任务的方法、计算机设备
CN112734287A (zh) * 2021-01-22 2021-04-30 中国银行股份有限公司 一种数据处理方法和相关装置
US12067407B2 (en) 2021-06-07 2024-08-20 UiPath, Inc. Web-based robotic process automation designer systems and automations for virtual machines, sessions, and containers

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
FR2820222B1 (fr) * 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
US7188111B2 (en) 2002-07-12 2007-03-06 Datadirect Technologies Corp. System and method for connectivity to structured query language database
JP2005184165A (ja) 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
JP2005196291A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ユーザインタフェースアプリケーション開発プログラム、および開発装置
US7971091B1 (en) * 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
US20100027896A1 (en) * 2006-06-28 2010-02-04 Amir Geva Automated application interaction using a virtual operator
US7673113B2 (en) 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US9417895B2 (en) * 2007-10-19 2016-08-16 Kubisys Inc. Concurrent execution of a first instance and a cloned instance of an application
US8261248B2 (en) 2007-11-05 2012-09-04 Sap Ag System and method of executing a dynamic program in a structured environment
JP2009151467A (ja) 2007-12-19 2009-07-09 Canon Inc 配信印刷システム
US20100023517A1 (en) * 2008-07-28 2010-01-28 V Raja Method and system for extracting data-points from a data file
US8369968B2 (en) 2009-04-03 2013-02-05 Dell Products, Lp System and method for handling database failover
US8972519B2 (en) 2009-11-16 2015-03-03 International Business Machines Corporation Optimization of multimedia service over an IMS network
US20110289417A1 (en) * 2010-05-21 2011-11-24 Schaefer Diane E User interface for configuring and managing the cluster
US8560887B2 (en) 2010-12-09 2013-10-15 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US9110709B2 (en) * 2010-12-14 2015-08-18 International Business Machines Corporation Preserving changes to a configuration of a running virtual machine
JP2012155219A (ja) 2011-01-27 2012-08-16 Nec Casio Mobile Communications Ltd 演奏データ提供システム、方法、サーバ、携帯端末およびコンピュータプログラム
JP5729209B2 (ja) 2011-08-12 2015-06-03 富士通株式会社 情報処理装置、情報処理システムのテスト方法およびプログラム
US8826068B2 (en) * 2011-11-23 2014-09-02 Microsoft Corporation Automated testing of applications in cloud computer systems
US9916514B2 (en) * 2012-06-11 2018-03-13 Amazon Technologies, Inc. Text recognition driven functionality
US9274742B2 (en) * 2012-10-25 2016-03-01 PixiOnCloud, Inc. Visual-symbolic control of remote devices having display-based user interfaces
WO2014127535A1 (en) * 2013-02-22 2014-08-28 Google Inc. Systems and methods for automated content generation
WO2014133522A2 (en) 2013-02-28 2014-09-04 Empire Technology Development, Llc Local message queue processing for co-located workers
US20140282978A1 (en) * 2013-03-15 2014-09-18 Sergio Demian LERNER Method and apparatus for secure interaction with a computer service provider
WO2016100545A1 (en) 2014-12-16 2016-06-23 Noderprime, Inc. Computer servers for datacenter managment

Also Published As

Publication number Publication date
BR112015033078A2 (zh) 2017-07-25
WO2015001360A2 (en) 2015-01-08
US20150012919A1 (en) 2015-01-08
ZA201600128B (en) 2022-07-27
EP3017385A2 (en) 2016-05-11
AU2014285872B2 (en) 2020-04-02
US11586453B2 (en) 2023-02-21
US20230153138A1 (en) 2023-05-18
JP2019049994A (ja) 2019-03-28
GB201312151D0 (en) 2013-08-21
GB2517408A (en) 2015-02-25
CN105474210A (zh) 2016-04-06
JP2016527620A (ja) 2016-09-08
JP6817990B2 (ja) 2021-01-20
CA2916909C (en) 2024-04-09
AU2014285872A1 (en) 2016-01-28
BR112015033078B1 (pt) 2022-08-09
CA2916909A1 (en) 2015-01-08
EP3654180A1 (en) 2020-05-20
WO2015001360A3 (en) 2015-04-23
JP6422491B2 (ja) 2018-11-14

Similar Documents

Publication Publication Date Title
CN105474210B (zh) 运行自动化流程的系统
US10009333B2 (en) Security migration in a business intelligence environment
US10372475B2 (en) Approaches for managing virtual instance data
CN108492003B (zh) 分配优化的处理自动化进程的系统
US20160173407A1 (en) Enterprise-level management, control and information aspects of cloud console
US8336022B2 (en) Method and apparatus for creating a configurable browser-based forms application
US20050188367A1 (en) Executable application configuration system
US9971803B2 (en) Method and system for embedding third party data into a SaaS business platform
US9929969B1 (en) Tenant-based management system and method for distributed computing environments
US9842221B2 (en) Role analyzer and optimizer in database systems
CN106060017A (zh) 一种数据管控的云平台及方法
US20120179711A1 (en) System and Method for Accessing a Database Including Data Abstraction Layer and Request Table Processing
US20150193150A1 (en) Storage system management computer and management method for storage system
EP4154129A1 (en) Database management methods and associated apparatus
WO2019026223A1 (ja) 分析支援システム及び方法
Rabeler Microsoft Azure Essentials Migrating SQL Server Databases to Azure
Ubale et al. The Design and Implementation of a Cloud Based Presentation System
US10419547B1 (en) Method and system for composing and executing server migration process
World Health Organization Go. data user guide: 31 March 2020
JP5707214B2 (ja) ファイル管理システム及びファイル管理方法
Misner Microsoft SQL Server 2012 reporting services
Wiens Concept, design and initial implementation of the de. NBI Cloud Portal
Costello et al. Microsoft System Center Introduction to Microsoft Automation Solutions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Warrington, UK

Applicant after: BLUE PRISM LTD

Address before: Britain Merseyside

Applicant before: BLUE PRISM LTD

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant