CN102469118B - 一种实现信息拉取的方法及装置 - Google Patents
一种实现信息拉取的方法及装置 Download PDFInfo
- Publication number
- CN102469118B CN102469118B CN201010535387.2A CN201010535387A CN102469118B CN 102469118 B CN102469118 B CN 102469118B CN 201010535387 A CN201010535387 A CN 201010535387A CN 102469118 B CN102469118 B CN 102469118B
- Authority
- CN
- China
- Prior art keywords
- information
- control program
- information exploitation
- exploitation
- function
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种实现信息拉取的装置,该装置包括:至少一个信息拉取器、控制程序模块和管理模块;其中:每一信息拉取器,用于运行信息拉取逻辑来拉取至少一个类型的信息;所述控制程序模块,用于提供至少一个控制程序,每一控制程序对应至少一个信息拉取器;及,所述管理模块,用于对所述控制程序模块提供的各个控制程序进行调度,当运行其中一个控制程序时调用该控制程序对应的至少一个信息拉取器以拉取至少一个类型的信息。本发明实施例还提供了一种相应的方法。采用本发明实施例能使信息拉取功能随业务需求的变化而灵活的改变,且能保证开发及维护工作的简单和高效。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种应用于互联网的实现信息拉取的方法及装置。
背景技术
随着网络基础设施的普及,网民数量越来越多,互联网软件的种类和数量也日益增加。通常,诸如基于客户端/服务器(C/S)架构等的互联网应用软件都具有信息拉取功能,这些互联网应用软件中都会具有一个或多个信息拉取逻辑。这些信息拉取逻辑可能是相互独立的,也可能是相互关联的(即:具有一定的依赖关系)。比如:在即时通信软件(InstantMessenger)中,通常包括用于拉取好友基本资料的信息拉取逻辑1和用于拉取好友业务信息的信息拉取逻辑2,这两个信息拉取逻辑就相互关联,在即时通信软件运行时,可以先调用信息拉取逻辑1来拉取好友的基本资料,再调用信息拉取逻辑2来拉取好友的业务信息,之后还可能根据业务信息情况再调用其它信息拉取逻辑来拉取更详细的业务信息。
其中,对于相互关联的信息拉取逻辑,可由控制程序依据它们之间的依赖关系以及信息拉取策略来对它们的执行过程进行控制。此控制程序的实现可采用自动机的方式。具体的,假定有三个信息拉取逻辑相关联,它们的依赖关系及信息拉取策略为:最先执行信息拉取逻辑1,当信息拉取逻辑1执行成功之后执行信息拉取逻辑2,当信息拉取逻辑2执行成功后执行信息拉取逻辑3;则可创建一自动机,此自动机具有分别对应于此三个信息拉取逻辑的三个状态,当要执行此三个信息拉取逻辑时,启动此自动机并首先使自动机切换到对应于信息拉取逻辑1的状态以调用信息拉取逻辑1,当成功拉取到信息拉取逻辑1对应的信息后,此自动机切换到对应于信息拉取逻辑2的状态以调用信息拉取逻辑2,当成功拉取到信息拉取逻辑2对应的信息后,此自动机切换到对应于信息拉取逻辑3的状态以调用信息拉取逻辑3,直到成功拉取到信息拉取逻辑3对应的信息,即成功拉取所有信息,此自动机才停止。这样,自动机就能依据信息拉取逻辑之间的依赖关系和信息拉取策略对它们的执行过程进行控制。
但是,上述控制信息拉取逻辑的方案存在如下技术问题:由于一个应用软件通常包含很多的信息拉取逻辑,因此用于对这些信息拉取逻辑进行控制的控制程序也会较多,并且业务需求会经常更新,当要对应用软件的部分或全部信息拉取逻辑进行修改或扩展时,需要对这些信息拉取逻辑对应的控制程序(比如:自动机)进行修改,然而,控制程序的实现逻辑是比较复杂的,修改起来比较麻烦,也容易引入一些不可预期的系统隐患。
发明内容
为解决上述技术问题,本发明提供了一种实现信息拉取的装置及方法,以使信息拉取功能随应用业务需求的变化而灵活的改变,且保证开发及维护工作的简单和高效。
本发明实施例提出了一种实现信息拉取的装置,该装置包括:至少一个信息拉取器、控制程序模块和管理模块;其中:每一信息拉取器,用于运行信息拉取逻辑来拉取至少一个类型的信息;所述控制程序模块,用于提供至少一个控制程序,每一控制程序对应至少一个信息拉取器;及,所述管理模块,用于对所述控制程序模块提供的各个控制程序进行调度,当运行其中一个控制程序时调用该控制程序对应的至少一个信息拉取器以拉取至少一个类型的信息。
本发明实施例还提出了一种实现信息拉取的方法,该方法应用于包括至少一个信息拉取器和至少一个控制程序的装置中,其中,每一信息拉取器用于运行信息拉取逻辑来拉取至少一个类型的信息,每一控制程序对应至少一个信息拉取器并封装了所述至少一个信息拉取器之间的依赖关系和信息拉取策略;该方法包括:根据预先配置的调度策略对一个或多个控制程序进行调度;当运行其中一个控制程序时,根据所述一个控制程序封装的至少一个信息拉取器之间的依赖关系和信息拉取策略,依次调用所述至少一个信息拉取器以拉取至少一个类型的信息。
从上述技术方案可以看出,采用本发明实施例提供的装置和方法能够使应用软件的信息拉取功能可以更灵活的适应业务需求的不断变化。当对于信息拉取的需求发生变化时,不必修改现有的控制程序,只需新增对应于变化部分的控制程序,并更新调度策略。这样,使得对于信息拉取功能的开发及维护工作更为简单、灵活和高效。
附图说明
下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1为依据本发明实施例的实现信息拉取的装置组成结构示意图;及,
图2为依据本发明实施例的实现信息拉取的方法流程示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本发明实施例提出了一种实现信息拉取的装置,该装置包括:至少一个信息拉取器、控制程序模块和管理模块;每一信息拉取器用于运行信息拉取逻辑来拉取对应类型的信息;此控制程序模块用于提供一个或多个控制程序,每一控制程序对应一个或多个信息拉取器;此管理模块用于对控制程序模块提供的各个控制程序进行调度并通过运行控制程序来启动一个或多个信息拉取器以拉取对应类型的信息。
具体的,上述控制程序封装了一个或多个信息拉取器之间的依赖关系和信息拉取策略,进而描述了针对一类或多类信息的完整的信息拉取方法,比如:先拉取信息A,然后拉取信息B;或者,拉取信息A之后,如果判断满足某些条件则拉取信息B。
具体的,上述管理模块可采用互斥的方式来调度各个控制程序,即:同一时刻只能有一个控制程序运行在此管理模块中。可选的,可以在此管理模块中配置控制程序的调度策略,比如:配置控制程序1在应用软件登录的时候运行;或者,配置在控制程序1结束后运行控制程序2。当控制程序模块中增加了新的控制程序时,可以更新管理模块中的调度策略以实现对新增控制程序的调度。此外,管理模块还可根据需要创建信息拉取器,并管理其生命周期。在控制程序运行时,如果需要拉取某种信息,控制程序会输出要求拉取信息的参数,管理模块可根据此参数确定可用的信息拉取器并启动之;在信息拉取器拉取信息成功或失败后,管理模块可将此结果通知控制程序。
具体的,每个信息拉取器封装了一个信息拉取逻辑(如:信息拉取的协议和实现),并可由主标识(ID)和子ID的组合来标识。其中,主ID为信息类型ID,其代表此信息拉取器对应的信息类型;子ID为实例标识,其代表此信息拉取器的实例(Instance)。这样,当控制程序需要拉取某种类型的信息时,可以将相应的信息类型ID(相当于一种要求拉取信息的参数)通知管理模块;管理模块根据此信息类型ID可以确定可用的信息拉取器。这里,在管理模块在查找可用的信息拉取器时可以根据信息类型ID确定以此信息类型ID为主ID的信息拉取器,再根据所确定的这些信息拉取器的子ID能够确定哪些信息拉取器是空闲的,进而能够确定出哪些信息拉取器既能拉取此类型信息又是空闲的,即:哪些信息拉取器是可用的。
其中,上述控制程序可实现为自动机,此自动机具有与其对应的信息拉取逻辑相应的一个或多个状态,当管理模块运行此自动机时,每次启动信息拉取器拉取信息成功都会触发此自动机的一次状态迁移,并且此自动机的状态迁移是一个闭合回路。
上述实现信息拉取的装置可以与一个或多个设备相互独立,其通过外部的连接将拉取到的信息提供给此一个或多个设备;该装置也可以内置于一个设备中以为此设备提供所拉取到的信息,比如:该装置可内置于客户端中,用于根据客户端应用软件的需要从服务器拉取相关业务信息,此客户端可以为各种即时通信客户端(诸如:QQ、MSN、YahooMessenger等等)。这里,该装置及其内部的各个组成部分可以实现为硬件装置,也可以软件的方式实现为虚拟装置。
图1为依据本发明实施例的实现信息拉取的装置的组成结构示意图。在此实施例中,控制程序实现为自动机。如图1所示,该装置内置于客户端中,包括:控制程序模块、管理模块和四个信息拉取器(如图1的信息拉取器1~4)。其中,控制程序模块提供了三个自动机(如图1的自动机1~3)。管理模块以互斥的方式调度这些自动机,当管理模块运行某一自动机时,依据此自动机的状态迁移情况依次调用一个或多个信息拉取器。信息拉取器在被调用之后运行其内部封装的信息拉取逻辑以从服务器拉取对应类型的信息。
较佳的,一个信息拉取器封装针对一种类型信息的信息拉取逻辑;此时,当自动机迁移到代表要拉取某种类型的信息的状态时,可将信息类型ID通知给管理模块,管理模块根据此信息类型ID确定能够拉取此类型信息且为空闲的信息拉取器(即:可用的信息拉取器),再调用此可用的信息拉取器来拉取此种类型的信息。
当要对客户端的信息拉取功能进行扩展时,如:增加对于某新类型的信息的拉取功能,管理模块可创建用于拉取此新类型信息的信息拉取器,控制程序模块可进一步提供新的自动机,并更新管理模块中的调度策略,进而管理模块可通过运行此自动机来调用新增的信息拉取器来拉取此新类型的信息。
当要对客户端的信息拉取功能进行修改时,如:修改现有若干信息拉取器之间的依赖关系以及调度策略,控制程序模块可进一步提供对应于修改后的依赖关系以及调度策略的新的自动机,并更新管理模块中的调度策略,进而管理模块可通过运行此新增的自动机来根据修改后的依赖关系和调度策略调用信息拉取器。比如:某一系列业务信息原来要在软件登录时拉取,此种信息拉取逻辑被封装在一个自动机中,而后来依据业务需求变化要求其中的某些重点业务信息需要在软件登录后在某些条件下拉取,此时,并不需要修改原有的自动机,只需要再增加一个自动机,该自动机封装了这些重点业务信息的拉取策略,然后由管理模块通过调度这两个自动机来完成整个业务信息的拉取功能。
当要取消客户端的某些信息拉取功能时,如:取消拉取某些信息的功能,可更新管理模块中的调度策略使针对拉取这些信息的控制程序不被调用,或进一步删除控制程序模块中的这种控制程序;可选的,管理模块还可删除用于拉取这些信息的信息拉取器。
基于上述实现信息拉取的装置,本发明实施例还提出了一种实现信息拉取的方法,该方法应用于上述管理模块中。图2为依据本发明实施例的实现信息拉取的方法流程示意图。如图2所示,包括如下步骤:
步骤201:根据预先配置的调度策略对一个或多个控制程序进行调度。其中,每一控制程序封装了一个或多个信息拉取器之间的依赖关系和信息拉取策略,每一信息拉取器封装了一个信息拉取逻辑。
步骤202:当运行其中一个控制程序时,根据此控制程序封装的一个或多个信息拉取器之间的依赖关系和信息拉取策略,依次调用此一个或多个信息拉取器以拉取对应类型的信息。
步骤203:当要扩展或修改信息拉取功能时,新增针对要扩展或修改的信息拉取功能的一个或多个控制程序,更新调度策略以进一步调度此新增的至少一个控制程序,并在需要时创建针对要扩展或修改的信息拉取功能的一个或多个信息拉取器。当要取消某些信息拉取功能时,更新调度策略以使针对要被取消的信息拉取功能的控制程序不被调用,或者更新调度策略以使针对要取消的信息拉取功能的控制程序不被调用并删除针对要取消的信息拉取功能的控制程序;在需要时还可删除针对要被取消的信息拉取功能的一个或多个信息拉取器。
上述各个步骤的具体实现方法在前面具有详述,这里就不再赘述。
可见,上述本发明实施例提供的实现信息拉取的装置及方法能够更灵活的适应业务需求的不断变化。当对于信息拉取的需求发生变化时,不必修改现有的控制程序,只需新增对应于变化部分的控制程序,并更新调度策略,如有必要还要增加新的信息拉取器。这样,使得对于信息拉取功能的开发及维护工作更为简单、灵活和高效,并不易出现因修改控制程序而出现的系统隐患,有利于保持系统的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种实现信息拉取的装置,其特征在于,该装置包括:至少一个信息拉取器、控制程序模块和管理模块;其中:
每一信息拉取器,用于运行信息拉取逻辑来拉取至少一个类型的信息;
所述控制程序模块,用于提供至少一个控制程序,每一控制程序对应至少一个信息拉取器;及,
所述管理模块,用于对所述控制程序模块提供的各个控制程序进行调度,当运行其中一个控制程序时调用该控制程序对应的至少一个信息拉取器以拉取至少一个类型的信息;
当要对信息拉取功能进行扩展或修改时,所述控制程序模块中新增针对要扩展或修改的信息拉取功能的至少一个控制程序;所述管理模块进一步更新所述调度策略以进一步调度所述新增的至少一个控制程序,并在需要时进一步创建针对要扩展或修改的信息拉取功能的至少一个信息拉取器,以运行新增的控制程序调用创建的信息拉取器。
2.根据权利要求1所述的装置,其中,所述管理模块按调度策略并以互斥的方式调度各个控制程序;和/或,所述管理模块进一步用于创建或删除所述信息拉取器,并管理所述信息拉取器的生命周期。
3.根据权利要求1或2所述的装置,其中,所述管理模块在运行其中一个控制程序的过程中,每当收到该控制程序输出的要求拉取信息的参数时,确定所述参数对应的可用的信息拉取器,调用所述可用的信息拉取器,并在所述可用的信息拉取器拉取信息成功后通知该控制程序,以触发该控制程序的状态迁移。
4.根据权利要求1或2所述的装置,其中,
当要取消部分信息拉取功能时,所述管理模块进一步更新所述调度策略以使针对要取消的信息拉取功能的控制程序不被调用,或者进一步更新所述调度策略以使针对要取消的信息拉取功能的控制程序不被调用并删除所述控制程序模块中的针对要取消的信息拉取功能的控制程序;所述管理模块还在需要时进一步删除针对要取消的信息拉取功能的至少一个信息拉取器。
5.根据权利要求1或2所述的装置,其中,所述装置与至少一个设备相互独立,并通过外部连接将拉取到的信息提供给所述至少一个设备;或者,所述装置内置于一个设备中并为该设备提供所拉取到的信息。
6.一种实现信息拉取的方法,其特征在于,该方法应用于包括至少一个信息拉取器和至少一个控制程序的装置中,其中,每一信息拉取器用于运行信息拉取逻辑来拉取至少一个类型的信息,每一控制程序对应至少一个信息拉取器并封装了所述至少一个信息拉取器之间的依赖关系和信息拉取策略;该方法包括:
根据预先配置的调度策略对一个或多个控制程序进行调度;
当运行其中一个控制程序时,根据所述一个控制程序封装的至少一个信息拉取器之间的依赖关系和信息拉取策略,依次调用所述至少一个信息拉取器以拉取至少一个类型的信息;
该方法进一步包括:
当要对信息拉取功能进行扩展或修改时,新增针对要扩展或修改的信息拉取功能的至少一个控制程序,更新所述调度策略以进一步调度所述新增的至少一个控制程序,并在需要时创建针对要扩展或修改的信息拉取功能的至少一个信息拉取器,以运行新增的控制程序来调用创建的信息拉取器。
7.根据权利要求6所述的方法,进一步包括:
当要取消部分信息拉取功能时,更新所述调度策略以使针对要取消的信息拉取功能的控制程序不被调用,或者更新所述调度策略以使针对要取消的信息拉取功能的控制程序不被调用并删除所述控制程序模块中的针对要取消的信息拉取功能的控制程序,还在需要时进一步删除针对要取消的信息拉取功能的至少一个信息拉取器。
8.根据权利要求6或7所述的方法,其中,所述调用所述至少一个信息拉取器以拉取至少一个类型的信息,包括:每当收到所述控制程序输出的要求拉取信息的参数时,确定所述参数对应的可用的信息拉取器,调用所述可用的信息拉取器,并在所述可用的信息拉取器拉取信息成功后通知所述控制程序,以触发所述控制程序的状态迁移;
其中,所述控制程序具有与其所对应的至少一个信息拉取器对应的至少一个状态,所述控制程序每当迁移到一个状态时将输出该状态对应的参数。
9.根据权利要求8所述的方法,其中,每一信息拉取器由主标识和子标识的组合来标识,其中,所述主标识为信息类型标识,所述子标识为该信息拉取器的实例标识;所述控制程序输出的要求拉取信息的参数为信息类型标识;
所述确定所述参数对应的可用的信息拉取器,包括:根据所述控制程序输出的信息类型标识确定以该信息类型标识为主标识的至少一个信息拉取器,再根据所确定的至少一个信息拉取器的子标识确定所确定的至少一个信息拉取器中空闲的信息拉取器,从所确定的空闲的信息拉取器中选择一个作为可用的信息拉取器。
10.根据权利要求8所述的方法,其中,所述控制程序为自动机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010535387.2A CN102469118B (zh) | 2010-11-04 | 2010-11-04 | 一种实现信息拉取的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010535387.2A CN102469118B (zh) | 2010-11-04 | 2010-11-04 | 一种实现信息拉取的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102469118A CN102469118A (zh) | 2012-05-23 |
CN102469118B true CN102469118B (zh) | 2016-03-09 |
Family
ID=46072283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010535387.2A Active CN102469118B (zh) | 2010-11-04 | 2010-11-04 | 一种实现信息拉取的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102469118B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811527A (zh) * | 2014-01-24 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 一种信息显示方法、终端及系统 |
CN107402975A (zh) * | 2017-06-30 | 2017-11-28 | 深圳市金立通信设备有限公司 | 一种信息处理方法、服务器及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376353A2 (en) * | 2002-06-20 | 2004-01-02 | Nokia Corporation | Method and system for executing applications sessions in an electronic device |
CN101174206A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 基于有限状态机的流程引擎调度方法 |
-
2010
- 2010-11-04 CN CN201010535387.2A patent/CN102469118B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376353A2 (en) * | 2002-06-20 | 2004-01-02 | Nokia Corporation | Method and system for executing applications sessions in an electronic device |
CN101174206A (zh) * | 2007-11-27 | 2008-05-07 | 深圳国人通信有限公司 | 基于有限状态机的流程引擎调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102469118A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111147555B (zh) | 一种异构资源混合编排的方法 | |
CN101477463B (zh) | 用于数字电视机顶盒的软件平台与软件开发平台 | |
CN104021078B (zh) | 软件监控装置及方法 | |
US20130191526A1 (en) | Open plug-in management platform and plug-in management method implemented on browser | |
CN112269640B (zh) | 一种实现容器云组件的生命周期管理的方法 | |
CN103617066A (zh) | 一种工作流引擎及其实现方法 | |
CN101246424A (zh) | 一种基于文件的菜单自动生成系统和方法 | |
CN106325887A (zh) | 一种基于Activiti的业务流程管理方法 | |
CN103092866A (zh) | 数据监控方法及监控装置 | |
CN113568610A (zh) | 一种电力营销系统的业务规则引擎库系统的实现方法 | |
CN103354990A (zh) | 处理云平台中的虚拟机的系统和方法 | |
CN102469118B (zh) | 一种实现信息拉取的方法及装置 | |
CN103927244A (zh) | 一种基于动态代理实现的插件调度过程监控的方法 | |
CN103178974A (zh) | 故障处理系统及方法 | |
CN102479348A (zh) | 面向代码重用的mes业务建模系统及方法 | |
CN100422931C (zh) | 一种软件功能更新的方法及系统 | |
CN105933429A (zh) | 一种服务器负载控制方法和装置 | |
CN102929649B (zh) | Pcs7软件系统的配置系统和配置方法 | |
CN108334374A (zh) | 组件动态加载与执行的方法和装置 | |
CN110377298B (zh) | 一种分布式集群升级方法及分布式集群 | |
CN103294532A (zh) | 快速实现矩阵开关图形化控制系统的方法 | |
CN103106064A (zh) | 一种复杂时序处理队列的动态预测的方法及装置 | |
CN101478837B (zh) | 移动终端的java应用平台及其扩展方法 | |
CN108228192A (zh) | 一种面向服务的机载软件的动态管理的实现方法 | |
CN102185970A (zh) | 手机视频播放器组件模型对象接口规范的建立方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |