实现多平台信息交流的方法

文档序号:7612992阅读:304来源:国知局
专利名称:实现多平台信息交流的方法
技术领域
本发明涉及一种信息交流的方法,尤其涉及一种实现短信交流组件、彩信交流组件、电话语音交流组件、电子邮件交流组件、互联网实时交流组件等多平台信息交流的方法。
背景技术
随着社会的不断发展,现代人每日要面对的事务越来越多。白天上班时间,更多的人处在一种东奔西跑的状态下;晚上,由于工作的原因或是加班或是忙于应酬。
在这种情况下,政府、集团、企业以及各类组织要有效组织下属成员聚集在一起开展交流、商讨事务已越来越困难;很多重要的事务也因为无法聚集到成员讨论、表决而迟迟无法决定,耽误了时间,降低了效率。
政府、集团、企业的领导以及各类组织的负责人逐渐意识到原有的办公模式已无法适应快速发展的社会的需要,创新的呼声越来越高。
目前,实现同一平台信息交流的方法有很多,有局域的,无线的,跨地区的等等;如何解决涉及不同平台信息交流的方法是摆在科技技术人员面前的一个问题。

发明内容
本发明需要解决的技术问题是提供了一种实现多平台信息交流的方法,旨在解决上述问题。
为了解决上述技术问题,本发明是通过以下步骤实现的通过中央驱动处理系统自动发现所有组件包括规则/流程系统组件、M个其它系统组件和N个标准组件;所述的M、N是正整数;
加载及初始化规则/流程系统组件,并生成规则/流程库;加载及初始化M个其它系统组件和N个标准组件;将M个其它系统组件和N个标准组件分别向规则/流程系统组件发送注册事件消息;规则/流程系统组件将消息序列化后加入事件库;当M个其它系统组件和N个标准组件中的二个或二个以上的组件向中央驱动处理系统发送服务请求后,所述的中央驱动处理系统会根据事件库和规则/流程库进行处理;通过规则/流程系统组件向服务请求者回馈所需信息;与现有技术相比,本发明的有益效果是各交流平台之间可以实现完全跨平台的互动交流;不论使用手机短信的用户还是使用电话的用户亦或是使用电脑网络的用户相互之间实现互动交流,提高了工作效率。


图1是本发明的流程图;图2是每个标准组件注册流程图;图3是每个标准组件状态转换流程图;具体实施方式
下面结合附图与具体实施方式
对本发明作进一步详细描述由图1、图2可见通过中央驱动处理系统自动发现所有组件包括规则/流程系统组件、M个其它系统组件和N个标准组件;所述的M、N是正整数1;系统组件是一种具有特殊的特征码;具有特殊的生命周期,运行时核心启动后系统组件自动启动,运行时核心关闭时系统组件自动关闭,系统组件更新后运行时核心必须重新启动;加载及初始化规则/流程系统组件,并生成规则/流程库2;加载及初始化M个其它系统组件和N个标准组件3;
将M个其它系统组件和N个标准组件分别向规则/流程系统组件发送注册事件消息4;所述的注册事件消息由两部分组成,一部分是事件说明;另一部分是执行规则或流程;例如——“如果标准组件异常,就先写异常日志,再报错。”这个事件经注册后,规则/流程系统组件先向事件库写入“标准组件异常”,再向规则/流程库写入“写异常日志、报错”;规则/流程系统组件将消息序列化后加入事件库5;当M个其它系统组件和N个标准组件中的二个或二个以上的组件向中央驱动处理系统发送服务请求后,所述的中央驱动处理系统会根据事件库和规则/流程库进行处理6;通过规则/流程系统组件向服务请求者回馈所需信息7;所述的回馈所需信息如果标准组件异常,中央驱动处理系统将异常事件交规则/流程系统组件进行匹配,规则/流程系统组件查找事件库,找到“标准组件异常”事件,然后在规则/流程库中匹配规则/流程——“写异常日志、报错”,把这个消息返回中央驱动处理系统,由中央驱动处理系统调用相应的组件来完成“写异常日志、报错”;因为组件启动时已向中央驱动处理系统注册了一组服务对象和一组相关的服务接口对象,因此中央驱动处理系统能够知道调用哪个组件来处理规则/流程;所述的规则/流程系统组件、M个其它系统组件和N个标准组件分别有不同的特征码8;由图3可见所述的N个标准组件可以是下列状态之一装载——组件被成功安装后的状态;就绪——组件初始化完毕,可以进入启动或停止状态;启动——组件进入启动状态,启动属性被激活;停止——组件停止运行;激活——组件启动成功,进入运行模式;卸载——组件从系统中被排除;而M个其它系统组件当中央驱动处理系统启动后就自动启动,进入激活状态,运行中不能被停止、卸载,更新后系统必须重新启动,卸载必须在中央驱动处理系统停止后才能通过配置文件卸载;所有激活组件之间、激活组件和中央驱动处理系统之间都能请求服务,被请求组件或中央驱动处理系统都会执行服务请求9;并可对所有组件的服务请求进行优先级考虑10;所述的每个组件或中央驱动处理系统在其它组件或中央驱动处理系统发出服务请求时,会执行服务请求这一组作业时可以通过以下状态实现等待——指示已调度作业运行,但是它尚未运行;正在运行——指示作业正在运行; 正在休眠——指示作业由于休眠请求或者调度它在经过一定延迟之后才运行而正在休眠; 无——指示作业未在等待、运行或休眠;当创建了作业但是尚未调度它时,作业就会处于此状态;在作业完成运行或者已被取消之后,它也将处于此状态11;步骤10中所述的优先级考虑可以定义下列其中一个瞬间作业——作业通常优先于其它作业;它们应该是短时间运行或者较少使用处理器的作业,因此,它们不会阻碍其它瞬间作业运行;短作业——作业通常会在一秒钟内完成,但是也可能会时间稍微长一点;它们在后台运行,并且优先于除了瞬间作业之外的所有作业;长作业——作业表示更长时间运行的后台作业;它们只有在瞬间作业和短作业已经运行之后才运行;构建作业——作业表示与构建任务相关联的作业;它们比长作业的优先级更低。构建作业只有在所有长作业完成之后才运行;修饰作业——作业在系统中的优先级最低;它们用于那些提供可以帮助补充用户界面的信息但是用户通常不会等待的任务;并定义作业的缺省优先级是长作业;步骤6、7中当需要访问和处理同一个对象时,所述的对象被授予对共享对象的互斥访问的协议;本发明主要特点体现在以一个高效的微小运行时核心(又称为中央驱动处理系统)为基础,灵活的扩充各种插件,纵向的组合成各种系统,并辅以规则/流程引擎和其它系统组件,横向的组成各种应用。
本系统启动时,运行时核心先运行,随后运行时核心自动发现所有组件,并首先加载系统组件;当所有的系统组件加载及初始化完毕后,系统加载并初始化标准组件;当所有组件加载及初始化完毕后,系统的纵向组合完成;任何组件都可以向其它组件传递消息,例如标准组件G可以向规则/流程系统组件发送注册事件消息,规则/流程系统组件将消息序列化后加入事件库;依此类推,系统即完成横向组合。此时本发明初始化完成,任何组件(例如组件G)都可以发送服务请求,当相应的组件(例如规则/流程系统组件)收到服务请求后,会根据相应的配置(例如事件库和规则/流程库)处理并生成服务回馈信息和,通过相应的组件(例如规则/流程系统组件)回复给请求者。
本发明中的每一个组件都是一个标准的组件对象,它们都可以通过一个管理代理来管理它们的生命周期;每个组件都有一个特征码表示其身份。这个特征码在系统中是唯一的,一旦特征码被分配给某个组件,其它组件就不能使用,除非该组件被重新安装。特征码一旦分配就不能更改,包括组件更新时。
每个组件都必须是下列状态之一●装载——组件被成功安装后的状态;●就绪——组件初始化完毕,可以进入启动或停止状态;●启动——组件进入启动状态,启动属性被激活;●停止——组件停止运行;●激活——组件启动成功,进入运行模式;●卸载——组件从系统中被排除。
首先在运行时核心启动后,它会自动发现要装载的组件,并把组件设成装载状态;组件如果装载成功就自动转入就绪状态,如果有异常,运行时核心就触发异常事件,把组件转入卸载状态;如果有异常的是系统组件,运行时核心就触发异常事件,把异常写入日志,运行时核心异常退出;就绪的组件随时可以通过事件触发使其进入卸载状态、更新以后重新装载或启动状态(系统组件更新后,运行时核心必须重新启动);启动后的组件运行时核心会自动激活它;激活的组件通过事件触发可以使其停止(系统组件不能被停止);停止后的组件运行时核心自动把它置成就绪状态。
组件通过组件上下文对象和运行时核心保持通信;组件上下文对象是由运行时核心在组件启动时创建的。组件之间不能传递组件上下文对象,它们是私有的。当组件停止后,组件上下文对象将不能被访问,如果试图访问一个被停止组件的上下文对象,运行时核心就会抛出异常。
每个组件都会提供一组相互协作的服务,一个组件的开发者提供了一组服务对象和一组相关的服务接口对象。组件向运行时核心注册自己的服务对象,注册后将拥有一个服务注册对象,每个服务注册对象都包含一个或多个服务对象。运行时核心允许组件动态的注册和注销服务对象,每次注册服务对象,运行时核心都将作相应的许可检查,以保证服务对象的合法性。
可以通过组件的上下文对象来调用已经注册的服务对象,并通过服务对象取得服务。
可以通过服务对象的配置属性,对服务进行配置。
本发明事件主要分为三类●服务事件——报告服务对象的注册、卸载和属性改变等事件;●组件事件——报告组件状态改变等事件;●核心事件——报告核心的状态,异常警告、出错等事件。
本发明通过一个监听组件发现事件,通过日志组件(或其它自定义组件)记录事件。
当组件发出服务请求,接受请求的组件会执行服务请求,这是就会产生一组作业,这组作业就是一组可以异步执行的工作单元。
要执行服务时,组件将创建作业,然后调度它。一旦调度了作业,就会将它添加至由运行时核心管理的作业队列。运行时核心使用后台调度线程来管理所有暂挂的作业。当运行的作业完成时,就会从队列中除去它,运行时核心将确定接下来运行哪一个作业。当作业变为活动状态时,运行时核心就会对它调用运行方法。
如果调度了一个作业,然后又决定不再需要它,则可以使用放弃方法来停止该作业。如果取消作业时该作业尚未开始运行,则会立即放弃而不会运行它。另一方面,如果作业已经开始运行,则将由作业来决定它是否想要响应取消。当尝试取消作业时,使用连接方法来等待取消作业。比取消操作程度稍轻的方法是睡眠方法。对于此方法,如果作业尚未开始运行,则此方法将导致该作业被无限期挂起。运行时核心将仍然记住该作业,而唤醒方法调用将把该作业添加至等待队列,最终还是将执行该作业。
作业在它的生存期内将经历几种状态。不但可以通过诸如放弃方法和睡眠方法等来处理它,而且在平台运行和完成该作业时,它的状态也会更改。作业可以经历下列状态●等待——指示已调度作业运行,但是它尚未运行。
●正在运行——指示作业正在运行。
●正在休眠——指示作业由于休眠请求或者调度它在经过一定延迟之后才运行而正在休眠。
●无——指示作业未在等待、运行或休眠。当创建了作业但是尚未调度它时,作业就会处于此状态。在作业完成运行或者已被取消之后,它也将处于此状态。
如果作业当前处于等待状态,则只能将它置于休眠状态。唤醒正在休眠的作业将使它重新回到等待状态。取消作业时将使它返回到无状态。
作业优先级可以用来确定一个作业相对于系统中的其它作业的重要性。设置作业的优先级将不影响已经在运行的作业,但是它会影响正在等待的作业相对于其它作业的调度顺序。作业的优先级可以是预定义的几个优先级常量的其中一个●瞬间作业——作业通常优先于其它作业。它们应该是短时间运行或者较少使用处理器的作业,因此,它们不会阻碍其它瞬间作业运行。
●短作业——作业通常会在一秒钟内完成,但是也可能会时间稍微长一点。它们在后台运行,并且优先于除了瞬间作业之外的所有作业。
●长作业——作业表示更长时间运行的后台作业。它们只有在瞬间作业和短作业已经运行之后才运行。
●构建作业——作业表示与构建任务相关联的作业。它们比长作业的优先级更低。构建作业只有在所有长作业完成之后才运行。
●修饰作业——作业在系统中的优先级最低。它们用于那些提供可以帮助补充用户界面的信息但是用户通常不会等待的任务。
作业的缺省优先级是长作业。
可以在调度作业时指定调度延迟。在调度作业之前,作业将延迟指定的毫秒数。调度已经在等待或者休眠的作业没有任何效果。但是,调度已经在运行的作业将导致在完成该作业之后重新调度它。如果作业在运行时被多次重新调度,则它将只按照最近提供的延迟重新调度一次。
本发明中的多个作业有可能需要访问和处理同一个对象。本发明定义用于授予对共享对象的互斥访问的协议。当作业需要访问共享对象时,它会获取对该对象的锁定。当它处理完该对象时,它就会释放该锁定。
假定“作业A”获得“锁定A”,随后尝试获得“锁定B”。同时,“锁定B”被“作业B”挂起,而“作业B”现在已被阻塞,它正在等待“锁定A”。这种情况叫死锁,表示在作业之间使用锁定时存在底层设计问题。运行时核心将帮助发现死锁。当作业管理器检测到死锁情况时,它就会将诊断信息显示在日志中,并且会描述死锁情况。然后,它通过以下方法来解除死锁将对被阻塞的作业拥有的锁定的访问权临时授予给正在等待这些锁定的其它作业。
规则/流程系统组件是本系统中完成横向组合的重要系统组件。由于本身就是组件,因此其实现方式只要符合上述的组件对象定义即可,可以随系统要求,选择不同的工具自定义。
事件和规则/流程库选用XML标准进行描述,用户可以根据需要自定义。用户可以编制自定义的XML解析组件挂接到运行时核心平台上,来解析事件和规则/流程库。
当标准组件A发送事件注册信息给规则/流程系统组件后,规则/流程系统组件将事件信息注册入事件库。当事件触发时,规则/流程系统组件根据事件库和规则/流程库的信息进行匹配,将匹配结果返回给标准组件A。
这样就可以通过配置事件和规则/流程库来随时改变组件之间的逻辑关系,从而达到灵活配置、自由扩展的目的。
权利要求
1.一种实现多平台信息交流的方法,是通过以下步骤实现的通过中央驱动处理系统自动发现所有组件包括规则/流程系统组件、M个其它系统组件和N个标准组件;所述的M、N是正整数(1);加载及初始化规则/流程系统组件,并生成规则/流程库(2);加载及初始化M个其它系统组件和N个标准组件(3);将M个其它系统组件和N个标准组件分别向规则/流程系统组件发送注册事件消息(4);所述的注册事件消息由两部分组成,一部分是事件说明;另一部分是执行规则或流程;规则/流程系统组件将消息序列化后加入事件库(5);当M个其它系统组件和N个标准组件中的二个或二个以上的组件向中央驱动处理系统发送服务请求后,所述的中央驱动处理系统会根据事件库和规则/流程库进行处理(6);通过规则/流程系统组件向服务请求者回馈所需信息(7)。
2.根据权利要求1所述的实现多平台信息交流的方法,其特征在于所述的规则/流程系统组件、M个其它系统组件和N个标准组件分别有不同的特征码(8)。
3.根据权利要求2所述的实现多平台信息交流的方法,其特征在于所述的N个标准组件可以是下列状态之一装载——组件被成功安装后的状态;就绪——组件初始化完毕,可以进入启动或停止状态;启动——组件进入启动状态,启动属性被激活;停止——组件停止运行;激活——组件启动成功,进入运行模式;卸载——组件从系统中被排除;而系统组件当中央驱动处理系统启动后就自动启动,进入激活状态,运行中不能被停止、卸载,更新后系统必须重新启动,卸载必须在中央驱动处理系统停止后才能通过配置文件卸载;所有激活组件之间、激活组件和中央驱动处理系统之间都能请求服务,被请求组件或中央驱动处理系统都会执行服务请求(9)。
4.根据权利要求3所述的实现多平台信息交流的方法,其特征在于并可对所有组件的服务请求进行优先级考虑(10)。
5.根据权利要求3所述的实现多平台信息交流的方法,其特征在于所述的每个组件或中央驱动处理系统在其它组件或中央驱动处理系统发出服务请求时,会执行服务请求这一组作业时可以通过以下状态实现等待——指示已调度作业运行,但是它尚未运行;正在运行——指示作业正在运行;正在休眠——指示作业由于休眠请求或者调度它在经过一定延迟之后才运行而正在休眠;无——指示作业未在等待、运行或休眠;当创建了作业但是尚未调度它时,作业就会处于此状态;在作业完成运行或者已被取消之后,它也将处于此状态(11)。
6.根据权利要求4所述的实现多平台信息交流的方法,其特征在于步骤(10)中所述的优先级考虑可以定义下列其中一个瞬间作业——作业通常优先于其它作业;短作业——作业通常会在一秒钟内完成,但是也可能会时间稍微长一点;长作业——作业表示更长时间运行的后台作业;构建作业——作业表示与构建任务相关联的作业;修饰作业——作业在系统中的优先级最低;并定义作业的缺省优先级是长作业。
7.根据权利要求1至6任一项权利要求所述的实现多平台信息交流的方法,其特征在于步骤(6、7)中当需要访问和处理同一个对象时,所述的对象被授予对共享对象的互斥访问的协议。
全文摘要
本发明涉及一种实现多平台信息交流的方法,是通过以下步骤实现的通过中央驱动处理系统自动发现规则/流程系统组件、M个其它系统组件和N个标准组件(1);加载及初始化规则/流程系统组件,并生成规则/流程库(2);加载及初始化M个其它系统组件和N个标准组件(3);将M个其它系统组件和N个标准组件分别向规则/流程系统组件发送注册事件消息(4);规则/流程系统组件将消息序列化后加入事件库(5);当M个其它系统组件和N个标准组件中的二个或二个以上的组件向中央驱动处理系统发送服务请求后,所述的中央驱动处理系统会根据事件库和规则/流程库进行处理(6);通过规则/流程系统组件向服务请求者回馈所需信息(7)。
文档编号H04L12/18GK1697391SQ20051002377
公开日2005年11月16日 申请日期2005年2月2日 优先权日2005年2月2日
发明者张建君, 张斌, 尚毅鑫 申请人:上海新思南广告有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1