事件驱动框架

2024-10-25

事件驱动框架(精选7篇)

事件驱动框架 篇1

互联网环境下人们对信息的需求数据量越来越大,流媒体技术正好能满足其要求,它具有较好的网络传输数据编码等性能,而linux环境下流媒体服务器在此基础上又能满足用户更高的要求,主要定位就在系统的高性能和高可扩展性上来满足各种用户的需求,而高可扩展性又离不开异步事件驱动框架的设计。

1 服务器系统模块

异步事件驱动框架可动态装载多种流媒体协议管理模块、文件管理模块和业务管理模块等,这样可屏蔽系统平台中网络操作细节,降低了系统的复杂性,上述模块还可被替换进行在线升级,整体结构如图1所示:

2 服务模块化管理

流媒体服务器由一个模块管理器及其所管理的模块组成,其模块如图2所示。

流媒体服务器启动时,SvcModuleManager对象就装载了相应内置的模块和文件信息管理的外置模块,模块都有ID和name来标识,从SvcModule_IF继承的模块受到了SvcModuleManager的控制,继承后的模块都引用计数且有相互依赖关系,也是通知所有引用此模块的其他模块,其引用计数加1。脱离控制时减1直到0为止,同时脱离所有引用此模块的其他模块,此模块才会真正被卸载。

3 异步事件驱动框架的系统设计

3.1 框架概述

由WorkEnv和TaskObj两对象组成流媒体服务器的异步事件驱动框架是为了满足高可扩展性、高网络I/O、高磁盘I/O而开发,也可简化线程同步与互斥带来的复杂性问题,其中前者是容器,后者则是此容器中的具体任务对象,如图3所示。

TaskObj在WorkEnv对象中注册事件后主要负责处理请求和检测事件,将检测到的事件交由各TaskObj对象进行处理,当WorkEnv检测到事件回调时说明保证了事件的互斥和同步,另外,用户具体的应用任务对象也可以从TaskObj中继承下来,同时重载TaskObj的一个或多个事件处理函数,实现具体的事件处理功能。

为充分利用多线程的处理能力,整个服务器系统可创建多个WorkEnv对象,不同的Taskobj之间可通过消息机制进行交互,将复杂的对象间交互简化成消息的发送和异步消息接收处理,同步互斥问题由WorkEnv对象处理,以达到负载均衡。另外,由于引入高网络I/O、高磁盘I/O和定时器等多种异步消息处理机制,Taskobj的事件消息处理不需要再去执行阻塞操作,使整个系统的响应速度得到保证。

3.2 异步事件注册与调用

WorkEnv对象中包括事件的注册与检测,但如果同时注册时需要使用多个框架,因此需要统一在同一框架下,而异步事件驱动框架正好可以派上用场,首先寻找一个负载相对较轻的WorkEnv对象调用其EnterWorkEnv()函数并加入到其中,然后将具体的异步事件加入操作并调用Taskobj的handle_open()事件处理函数。处理过程中还可通过调用RegisterTimer()来完成定时执行的操作,调用handle_timeout()来处理定时时间的完成。

在异步事件中网络I/O主要设计有两种形式,一是检测状态:TaskObj对象通过调用RegisterSockEvent()函数来登记状态检测事件,包括可读、可写和有特殊的数据。二是网络操作完成检测:当读操作时Taskobj调用RegisterSockRecv()函数用来注册网络读事件,并可以指定缓冲区最小和最大数据量,当进行写操作时TaskObj对象调用访问RegisterSockSend()函数用来登记注册网络写操作,还可确定网络输入输出缓冲区和发送的数据大小,一旦数据发送完毕后再调用handle_sock_send()事件处理函数。

在异步事件中磁盘I/O的设计主要是考虑延迟,这种延迟会放缓线程的运行,也就是影响事件的及时回调访问和磁盘吞吐量,而如果采用异步事件方式来处理磁盘I/O,其效率将大大提升。当磁盘数据输出时可让TaskObj对象调用访问RegisterDiskRead()登记磁盘读事件,并说明文件读取的位置、数据量及存放的缓冲区,完成后WorkEnv对象回调TaskObj对象的handle_disk_read()事件处理函数。

在异步事件中用户自定义消息事件的设计也尤为重要,比如对象间可通过发送自定义消息进行通信,避免直接的函数调用,为了减少TaskObj对象间相互的依赖关系,可以将之解耦,这样也减少了并发访问带来的数据互斥和同步。而且通过自定义消息通信也使整个框架保持高度一致。另外,当TaskObj对象需要向另一TaskObj对象发送自定义消息时,前者对象调用WorkEnv中的SendMessage()函数发送消息,而后者对象会在所在的WorkEnv中回调handle_message()函数进行处理。因此用户自定义消息事件的接收不需要再事先向WorkEnv对象注册。TaskObj不再进行事件处理时需要通过访问LeaveWorkEnv()函数来显式退出WorkEnv对象,并释放与此TaskObj对象相关的内部资源。

4 异步事件驱动框架的实现

异步事件驱动框架中WorkEnv对象保存了所有由这些TaskObj所注册的事件信息。这些事件的检测由一个主线程来完成,而这主线程主要又是通过调用epoll()来检测网络事件,同时此主线程也负责所有事件的回调。并能够直接返回发生socket_fd事件,无需将所有socket_df事件传递到内核中进行遍历,避免了并发连接较多时遍历所有socket_fd检查带来的沉重开销。另外,定时器事件也可以通过epoll()调用的超时参数来完成,在没有其他事件提前触发,到了超时时间epoll()函数调用也会返回。

而异步磁盘I/O的请求和检测则由另外一个辅助线程来完成,由于磁盘I/O操作相对较慢,这样辅助线程执行中再转移到主线程中的分派会有些延迟,磁盘异步I/O中磁盘读写操作由io_submit()来提交,检测请求由调用io_getevents(来完成,即磁盘I/O的读写与检测是分开的,两者通过采用异步的方式在合适的时候通知主线程进行分派处理,使用磁盘异步I/O时的单线程还能够同时提交多个磁盘I/O访问请求,故可提高磁盘的I/O效率。

5 异步事件框架的应用

单个处理流程中,此框架被分解成不同的Taskobj对象和状态,而对于状态要分析状态转换关系以及在各个状态下所需要注册的不同事件和不同的处理方法,这样增强各个Taskobj对象的独占性,另外还可以将一些旧有系统的代码和一些会产生阻塞操作的调用加入到独占的只为对应TaskObj服务的WorkEnv中,当这些阻塞操作不会影响到其他Taskobj的响应时,其他Taskobj对象可以通过消息通信机制向Taskob发出操作请求,并异步等待Taskobj的应答消息。

6 结语

介绍了Linux下流媒体服务器的内部模块结构,并分析和解读了异步事件驱动框架的重要性,要想提升服务器的性能,异步事件驱动框架的设计必不可少,此框架下的流媒体服务器主要有如下特点:

(1)整个流媒体服务器具有较高的性能,充分利用网络和磁盘的最大读写和回调能力,支持更多的并发用户,瓶颈问题逐渐减少,线程之间没有相互阻塞,不存在线程相互等待的问题等。

(2)linux流媒体服务器具有良好的可互操作性、可扩展性和独占性,可以通过增加各种模块,提升扩展支持,方便与其他系统对接。由于采取了模块化的设计,所以可以通过加载不同的业务模块来支持不同的业务需求。

参考文献

[1]全生,舒继武,毛希平,郑纬民.基于VLS系统的负载动态平衡设计与实现.计算机研究与发展,2004,41.

[2]Robert Love.“Linux Kernel Development,Second Edi-tion”.Pearson Education,2005.

[3]ISMA 1.0.1:“Intermet Streaming Media Allinace Implemen-tation Specification.Version1.0.1”,2004.

[4]曾立安,凌力.基于Lniux的消息驱动Socket模型.计算机工程,2003,19.

[5]黄拨锋,钟明,杨传钧,张家饪.Dwarinstremaingsevrer的研究和应用.计算机工程,2004,19.

英汉借贷事件概念框架对比 篇2

1 借贷事件的概念框架

1.1 领属域概念框架

借贷事件涉及客体在一定时间段内领属的变化, 即领属域概念结构的变化。领属域概念结构主要由客体, 领属关系和领属者构成;其中领属者又可以分为原属、中介和终属。典型的领属框架可以用公式表述为:【原属+物】→终向→【物+终属】。领属框架涉及起始状态、过程方向和终止状态。但其中起始状态和终止状态不一定同时出现, 它们可能隐含在预设里经过推理可以得出。例如:

我买了一本书。

我昨天丢了自行车。

前句说明终属关系, 说明客体书的最终领属者;后句说明原属关系, 说明客体自行车的原属者。由例子可以看出, 此类框架具有整体性和分解性。整体性即任何一个词都可以激活整个框架。分解性指一个框架由若干个更小的概念结构组合而成, 这些概念结构又由更小的成分组成。

根据各自概念过程中领属概念结构的数量, 领属域的致使小句有简单和复杂之分。简单致使概念框架包括索取概念框架和递送概念框架。复合致使概念框架包括互换概念框架和现金交易概念框架。本文从概念语义内容的角度出发, “借贷”事件可以解读为借者向某人索取某物或被借者递送借物给某人。前者属于索取概念框架, 后者属于递送概念框架。所以我们下面就利用这两个概念框架分析借贷事件的概念框架。

1.2 索取概念框架

索取类概念框架表示客体领属关系的变化, 从原属到终属。在概念过程中, 突显终属使动者, 使动者和终属重合。例如:

我从朋友那里取走了包裹。

I took the parcel from my friend.

当然除了所举例证之外, 索取动作可以有不同的实现方式, 如“拿”、“偷”、“抢”、“拽”等。它们的索取概念过程可以表述如下:

使者+使+对象+倾向【客+原+终】

动者+动+对象 (使者=动者=终)

1.3 递送概念框架

递送类概念框架表示使动者原属将客体使动对象递送给作为终体的另一个领属者。同索取类相同的是, 客体的领属变化同样是从原属到终属。不同的是递送类的使动者不是终属者, 而是原属。例如:

我给了他一本书。

我把一本书给了他。

I gave him a book.

I gave a book to him.

同时通过观察不难发现, 不同的终有不同的语法体现。其中终属体现为双宾结构中动词后面的名词性成分, 终向体现为与格结构中的介词短语。

总结来看, 递送类领属小句的概念过程可以表述为:

使者+使+对象+倾向【客+原+终】

动者+动+对象 (使者=动者=原)

1.4 借贷事件的索取和递送概念框架

借贷事件有借入和借出之分, 其中借入事件表述的是借者从被借者那里得到某物, 即索取。使动者是终属。借出事件表述的是被借者借出某物, 即递送。其中使动者是原属, 即由于汉语中的借贷都是用“借”来表示, 所以汉语表达中会使用明确终向来区分借入和借出。较之中文在英语中区分这两个概念只需要两个词, 表达相对简单。其中借入用“borrow”, 借出用“lend”。

借入事件举例如下:

我向他借了一本书。

I borrowed a book from him.

这两个例子都表述了客体“书/book”从原属“他/him”到终属“我/I”的变化过程。其中, “我/I”既是使动者, 又是终属, 即终属使动者。

根据前文所讲索取类事件的概念过程, 借入事件的概念内容表述如下:

借出事件举例如下:

我借给他一本书。/我把一本书借给了他。 (借出)

I lent him a book./I lent a book to him.

这两个例子都表述了客体“书/book”从原属“我/I”到终属“他/him”的变化过程。其中, “我/I”既是使动者, 又是原属, 即原属使动者。递送类事件中, 领属域的终可以细分为:终向和终属。上述例文中, 汉英第一例突出终属, 终属突显客体传递终止的领属者, 体现为双宾结构中动词后面的名词性成分。第二例突出终向, 终向突显客体传递的方向, 体现为与格结构中的介词短语。

根据前文所讲索取类事件的概念过程, 借出事件的概念内容表述如下:

1.5 借入事件和“罚”事件

程祺龙在《概念框架和认知》一书中把“罚”事件归于递送类事件。认为从概念内容的角度出发, “罚”事件可以理解为被罚者可能递送罚金给某人。并以“警察罚了他五元”为例, 给出了“罚”事件的概念框架。

在此概念框架中共有两层意思, 一是警察做罚的动作, 致使被罚者交罚金, 这层意思是主要的;二是被罚者或接受处罚交罚金, 或不予理睬。由于接不接受在于被罚者, 所以推导的递送概念是不定的, 表述时用括号表述其任意性。

就借贷事件而言, 如果把借入事件看做是被借者可能递送某物给某人。那么示例“我向他借了一本书。”也可以表达两层意思。一是我做出借的动作, 致使他借给我书;二是他可能会借给我, 也可能出于某种原因没有借给我。这样一来, 仿照罚事件, 我们可以我借入事件的概念框架归于递送类并表述如下:

这样看来, 借入事件似乎也是递送类事件。但认真分析递送类事件的概念框架的表述, 它与索取类相同的是客体的领属变化都是从原属到终属。不同的是递送类的使动者不是终属者, 而是原属。在罚事件和借入事件中, 尽管在推导层面的使动者“他”是原属。但第一层主要意思的使动者“警察”和“我”都是终属, 而非原属。所以笔者认为应该把他们归于索取类考虑。但是这里所言第二层意思发生与否完全取决于被借者不无道理, 所以其概念过程应调整如下, 用括号表述其任意性:

2 英汉借贷事件的异同

通过前文对借贷事件概念过程的详细对比, 我们发现英汉在表述借贷事件时有所异同, 下文将对其异同点做一个阐释。

2.1 英汉借贷事件的相同

2.1.1 起始状态和终属状态不一定同时出现

领属框架涉及起始状态、过程方向和终止状态。但其中起始状态和终止状态不一定同时出现, 它们可能隐含在预设里或者可以经过推理得出。在借贷事件中也是如此。

不存在原属:

我借了一本书。

I borrowed a book.

请把它借给我。

Please lend it to me.

不存在终属:

These words were borrowed from French.

这几个字是从法语引进的。

He used to lend money at an extremely high rate of interest.

他过去经常放高利贷。

由上例可知, 英汉在借入事件还是借出事件上都可以略去原属或终属, 通过具体语境的分析不难推断出其所指。

2.1.2 情态意义

借入事件都含有“可能性”这样一种情态意义。在实施者发出借这一动作时, 有两种可能性, 一是做出借的动作, 致使被借者借给我某物;二是被借者可能会借, 也可能出于某种原因不借给借者。关于此, 我们在2.5已经做了详细阐述。

2.1.3 借, 都有帮助的隐含意

借贷事件除了可以表述具体客体在原属和终属间的变化之外, 英汉表示借出的借都可以引申为帮助之意。

水天空阔, 恨东风, 不借世间英雄。 (文天祥《念奴娇》)

lend sb a hand

上述两例中, 借不单单是借出之意, 恨得是东风不来, 不帮助世间英雄。Lend sb a hand更是已经成为了固定短语, 意思即帮助。

2.2 英汉借贷事件的差异

2.2.1 表述核心概念用词不同

汉语中的借贷都是用“借”来表示, 英语中借贷结构较之中文相对简单。因为英语可以用两个词简单明了的表述借入和借出。其中借入用“borrow”, 借出用“lend”。

2.2.2 句式不同

由于汉语中的借贷都是用“借”来表示, 所以汉语表达中会使用明确终向来区分是借入还是借出。“我向他借了一本书, 我借给他一本书, 我把一本书借给了他”, 向字句、把字句的运用, 明确表示终向的给清楚地区分出了借入和借出概念。2.1.1的表述中, 在借入事件上英语需借用被动句实现了终属的隐身。

3 小结

语言学理论的重要目标之一是表述和解释语言系统及其操作。通过上述的对比分析和阐述, 我们可以看出, 概念框架的分类分析中, 英汉对借贷事件这一概念过程有许多共同之处, 这是语言学研究中的互通概念。同样由于分属不同语系差异也必然存在。借贷事件的英汉差异, 在对借贷事件分析之初就可以明显看出, 但是, 对英汉借贷事件的框架定义和深层次研究还不完善, 这就有待于我们对这一理论进一步完善, 对我们的语言学对比学科进行进一步的充实。

参考文献

[1]程琪龙.概念框架和认知[M].上海:上海外语教育出版社, 2006.

[2]陆月华.论领属概念框架与双及物构式[J].广东外语外贸大学学报, 2009 (5) :83-86.

[3]陆月华.英语领属致使小句的概念框架[J].盐城师范学院学报, 2007 (4) :67-70.

[4]程琪龙.领属框架及其语法体现[J].外语与外语教学, 2003 (3) :4-7.

[5]陶文好.论认知语言学的定义和理论框架[J].中国外语, 2007 (5) .

浅议事项会计与事件驱动会计 篇3

(一) 事项、经济事项与会计事项

事项是指对一项活动特征的可行观察结果。这个定义很好地概括了“事项”的本质, 奠定了定义会计事项和经济事项的基础。以此类推, 可以认为, 经济事项是指对一项活动来自经济的角度的观察或描述的结果。事项会计法强调“会计事项”这一概念, 是构筑于其基础之上的会计理论。会计事项是指有关组织的经济活动应在会计上加以反映的经济事项。由于每个组织的经济事项繁多, 至于哪些事项应该在会计上加以反映, 哪些事项不加以反映, 主要取决于该事项是否满足会计假设的要求。换句话说, 会计事项是指会计主体与信息用户相关, 并且导致经营实体的各项资产和权益发生变化的经济事项。

(二) 事项会计的提出

美国乔治·索特 (George·H·Sorter) 教授在《论会计基本理论》一书中针对传统财务会计以价值为计量基础所引起的缺陷而提出了事项法会计 (Event Approach Accounting) 理论。他认为, “财务会计人员的任务只是提供有关事项的信息, 而让使用者自己选择适用的事项信息。”1969年, 索特发表了论文《基本会计理论的事项论》, 对事项法会计理论作了进一步的阐述。

(三) 事项会计的特点

事项法会计采用多种计量属性反映事项各方面的特征, 多维地揭示经济事项的价值和非价值方面的信息, 因而事项信息具有全面性、完整性及冗余量少的特点;提供“原汁原味”的事项信息, 让信息使用者运用决策模型进行决策, 因而满足信息使用者的需要。

(四) 事项会计与价值会计的区别

索特教授将传统的会计方法称为“价值法”, 其根本假设是“会计信息的用户的需求是已知的并能够被充分而特别地被说明, 因此, 可以通过会计理论推断为有用的决策模型产生最优的输入。”而“事项法”会计建立在完全不同的假设上, 即“会计人员可能对决策者如何使用信息一无所知, 会计的目的是为不同的可能决策模型提供可能相关的经济事项信息, 而不是直接为不可知或根本不可能知道的决策模型提供价值输入。”事项法会计认为财务会计目标在于提供与各种可能的决策模型相关的经济事项信息, 与决策相关的事件的信息应尽量以其原始的形式保存;会计人员只是提供有关事项的信息, 而让信息使用者自己根据其决策需要加工产生所需要的适用的事项信息, 并将其运用在决策模型中。

(五) 事项会计与会计信息系统

事项会计的建立基础是计算机网络的高度发达及财务软件的广泛应用。信息时代, 网络会计成为会计发展的新趋势, 这使得事项法的应用具有物质技术基础, 企业可以通过Intranet技术实施“实时报告系统”。

1.网络会计为事项会计的应用创造了客观条件, 把事项会计在非信息时代不能实现的梦想变为现实。

2.实时报告系统使基于“事项法”的财务报告模式变为现实。电子商务环境下的网络会计在高速运行下, 实时报告系统的建立, 打破了原有的信息处理模式, 提供了更为广阔的信息空间, 可以充分满足使用者的“个性”需求。

(六) 事项会计的局限性

作为一种不同于传统会计的新生理论, 事项会计有种种优点, 但也有许多亟待解决的问题。

1.事项会计的建立基础是计算机网络的高度发达及财务软件的广泛应用。

2.事项的标准难以确定。企业的经济活动是极其繁多复杂的, 哪些应进入会计信息系统提供给信息使用者, 还没有一个现实的可操作的标准。

3.大量事项信息的列示可能泄露企业商业机密, 对企业竞争不利, 同时可能增加信息报告成本。

4.大量事项信息的列示, 对于信息使用者来说可能造成信息过量, 而更加难以做出正确决策;并且是否多数信息使用者能够自行判断、收集、分解、组合、汇总事项会计信息, 这对事项会计的发展将是一个很大的限制。

5.事项会计对外提供财务报告必须进行必要的分类, 如何分类也是一个问题。

6.事项信息的列示是否比传统的价值计量更可检验, 事项特点的展示是否一定比事项价值的汇总反映能更好地帮助信息使用者预测, 还有待实践检验, 还没有充分的理论依据。

二、事件驱动会计

(一) 传统报表驱动式会计处理模式的局限

传统的报表驱动式会计处理模式是以简单的借和贷来对经济业务事项进行描述, 只能反映经济业务活动的财务侧面。新经济环境下, 企业信息使用者要求能够得到较为详细的经济业务描述。这就形成了企业经济业务的记录与报告和信息使用者的需求之间的矛盾。造成这种矛盾的根本原因在于:

1.传统的报表驱动式会计处理模式收集的数据不能反映企业业务活动的所有方面, 只是企业业务活动的小部分。

2.传统的报表驱动式会计处理模式存储与处理的只是经济业务的有限特征, 表现是只考虑能够以货币进行计量的这部分特征。

3.传统的报表驱动式会计处理模式有延时的缺点。不能实时地记载和处理经济业务, 从而影响企业的决策, 甚至会导致错误的决策。

4.传统的报表驱动式会计处理模式要经过信息浓缩, 易使信息失真。在信息的浓缩过程中, 无疑会使一些重要的决策信息因过滤而被掩饰了, 从而对决策者的科学决策造成影响。

(二) 事件驱动式会计处理模式

在会计信息系统中, 在21世纪新的经济环境下, 会计不再只是对经济业务的记载、分类、处理、报告及对企业财产的保护的模式, 而是一个新的模式, 这个新模式能够根据信息使用者的需求向相关信息使用者提供有用的信息;有效地整合企业的信息处理和业务流程, 实时地获取、存储与处理经济业务数据及报告经济信息;完成会计功能的渗透, 帮助企业高层管理者制订业务规程, 形成企业的核心业务流程。这就是新的会计处理模式——事件驱动式会计处理模式。

“事件驱动 (Event Driven) ”本是一计算机术语, 是指当某一特定事件要求代码进入工作时, 程序指令即开始执行。而当其成为一项会计术语时, 是指经济实体一项业务一经发生, 即意味着会计信息系统的“程序指令开始执行”。基于事件驱动的会计信息系统的核心就是将业务事件作为会计分类的最小单元。这里的业务事件不仅包括事项法下的会计事项, 还包括一切影响企业价值的非会计事项。在日常工作中, 会计信息系统仅仅把交易活动的最基本特征进行存储, 比如交易活动涉及的资源、参与者以及地点等。会计信息使用者按各自的要求对业务事件的特征进行分类、计算并转化为他们所需要的与决策有关的信息。

(三) 事件驱动式会计处理模式的特点

事件驱动式会计处理模式的核心是将事件作为会计分类的最小单元, 在日常的会计处理过程中, 仅仅把经济业务活动的各项特征, 信息使用者按各自的要求对事件进行分类、计算并转化为他们所需的有用信息。与传统的报表驱动式会计处理模式相比, 事件驱动式会计处理模式具有以下的特点:

1.采用信息报告。这个过程取代了传统报表驱动式会计处理模式中的数据的传递、存储、确认与复制的过程。它在经济业务发生时, 能够实时地进行控制, 以保证在原始数据产生的每一个时点完成对各种数据的收集、处理并产生相应的报告。这样, 就消除了由于数据的确认与浓缩所造成的有用信息的流失, 以及由于传递、处理过程的时差所造成的信息报告的不及时性。

2.对所有经济业务数据的收集与集中处理, 有效地利用了大型数据库技术。这使得所集数据集中了所有信息使用者的观点, 扩大了会计的范围, 能够多角度地反映企业的生产经营活动, 使财务数据与非财务数据有效地集成在一起, 从而使得由此提供的财务报告更完善、更具有弹性, 满足各方使用者的需求。

3.将信息流程与实时控制有机地整合在一起, 实现会计信息系统与业务流程的融合, 从而达到实时控制企业生产经营及管理的全过程。这有效地控制了企业生产经营、信息处理及管理决策的风险, 为企业生产经营的良性循环提供有力的保障。

(四) 事件驱动式会计处理模式的局限

实施这个新模式的困难是, 如何对经济业务数据进行分类, 分类的标准是什么等等, 这些问题制约着事件驱动式会计处理模式的发展。但应该看到, 随着计算机技术的飞速发展, 电子商务的普及与应用, 也为事件驱动式会计处理模式的发展带来了前所未有的机遇。

三、事项会计与事件驱动会计的联系与区别

事项法和事件驱动法都认识到不同的信息使用者对会计信息的需求不同, 因此它们都主张从信息使用者的需求角度出发, 依靠大型数据库实时收集信息, 并将信息处理权交由信息使用者掌握。但是, 事项法主要是针对传统价值法下所提供的会计信息形式过于单一, 相关性可靠性过低的问题而提出的, 它可以说是颠覆了传统的会计信息系统的根本。事项法的核心是强调以会计事项作为经济数据元, 在财务报告中提供足够的明细数据, 以便使用者能够重构发生过的经济事项, 但它并没有解决明细数据的采集问题, 而且也不一定能保证信息使用者获取它所需要的信息。而基于事件驱动的会计信息系统并非针对传统会计信息系统的缺陷提出的, 它是从组织整体这个角度考虑的。由此所建立的会计信息系统目标是为顾客创造价值。由于立足点是整个企业, 所采集的信息的视角就不再仅仅拘泥于会计数据——这恰恰是价值法和事项法所关注的, 而是有关业务事件的基本特征。可以说, 对于传统的价值法而言, 事项法是一次进步, 而事件驱动法则是一次飞跃。概括起来, 事项会计和事件驱动会计的区别主要有以下三点:

1.后者并没有像前者一样全盘否定传统的价值法。事项会计认为传统价值法下的会计凭证等没有存在的必要, 强调以专用报告取代通用报告;事件驱动会计则将传统的会计凭证等作为某种输出视图, 认为会计信息系统所产生的会计报告应该具有一定的弹性, 能够支持实时报告、一般报告以及特殊报告。

2.事项会计强调会计事项是进入会计信息系统的基本数据元, 而事件驱动会计则认为会计信息系统的元数据不仅仅包括那些改变企业资产、负债和所有者权益的会计事项, 还包括所有管理层想要规划、控制和考核的业务事件。

3.后者往往会引起会计业务流程重组。事件驱动会计认为, 为了更好地支持决策、为顾客创造价值, 必须进行业务流程整合, 使业务流程与信息流程紧密结合。

在信息技术迅猛发展的今天, 企业应当给予事项会计与事件驱动会计信息系统充分的重视, 学习和应用相关理论, 对现有的会计信息系统进行更新和改进, 使其在企业的管理中发挥更好的作用。

摘要:计算机信息技术已成为世界经济和科技发展的重要因素, 对社会的每个领域都产生了巨大影响。会计界也发生了巨大变化, 众多会计专家和学者对信息技术环境下会计理论及会计信息系统等问题作了大量研究。事项会计和事件驱动会计就是在这样的背景下提出的。文章回顾了事项会计和事件驱动会计的相关理论, 分析了两种理论对会计信息系统的贡献和局限性, 比较了两者的异同。

关键词:事项会计,事件驱动会计,会计信息系统

参考文献

[1].张永雄.基于事项法的会计信息系统构建研究.会计研究, 2005 (10)

[2].张静远, 袁皓.事件驱动法和事项法的异同分析.北方经贸, 2005 (2)

[3].邹建军.试论事件驱动式会计处理模式.广西会计, 2002 (8)

[4].王锴.事项会计理论述评.技术经济, 2002 (5)

[5].陈韶君.事项法会计信息系统初探.财会月刊, 2001 (4)

基于事件驱动的欠费控制优化分析 篇4

关键词:运营支撑系统,欠费控制,事件驱动,用户行为

BOSS(Business Operating Support System)系统的账务子系统承担了计费话单、月租、程控功能、优惠的计算过程,账务子系统收费的及时性、准确性、稳定性指标对整个BOSS系统的运行质量、客户服务满意度、欠费控制有重要影响。随着中国移动“移动通信专家”向“移动信息专家”转变的战略思想深入贯彻,不断扩大的市场份额带来了不断上升的计费用户量;另一方面,用户营销细分的深入、业务推广速度的加快使得账务系统和流程复杂度提高。账务子系统在完成合账的计算之后判断用户欠费情况触发信誉度工单,从而完成从费用计算到欠费控制的过程,减少或避免用户行为带来的欠费的风险。

1 现有系统欠费控制流程

目前,在BOSS系统欠费控制中,费用包含两个方面:一方面是计费话单,另一方面是月租、程控功能等固定费用。计费话单采用的是离线计费方式,当话单产生之后由采集程序从网元采集至计费系统处理,处理之后送至账务子系统进行合账处理,根据欠费情况产生信誉度控制工单。固定费用的收取是在每日0时之后由账务子系统进行全量计算,之后产生费用变化触发信誉度工单,此时信誉度工单集中产生,对HLR的指令和系统资源产生波峰效应。目前的费用收取方式会导致用户订购行为发生的时间与实际收费的时间存在滞后性,导致用户有可能在这段时间产生大量费用而又无法进行信誉度控制,导致欠费风险的增加。

由于中国移动的产品日益多样化,特别是4G时代的到来,都对账务系统多样化支撑和账务处理及时性和准确性提供了更高的要求。

2 用户事件行为的欠费分析

由于用户产生订购的行为时间和费用收取时间存在滞后性,在这段时间内就会存在信誉度控制的模糊区,增加用户的透支额度,增加欠费风险。

观察以下场景:假如0透支用户需先交2元至账户才能订购2元短信套餐(含30条短信),但由于现行方案是到次日0时才收取这2元月租费用,因此在订购的时间至次日0时,用户有可能发送了50条短信(按0.1元/条)才触发了信誉度控制,而当次日0时到达才通过日账计算收取这部分费用时,用户已欠费2元,无形之中已经使0透支用户的额度提高了,带来了欠费风险。

从近期对用户欠费行为分析中发现,现在已经出现利用该时间差恶意发送短信,造成欠费的情况,尤其在套卡用户上。通过对订购30元短信套餐的2600个欠费套卡用户行为发现,其都是通过购买卡片后发送超过赠送额度的短信,当次日0时日账计算费用时,欠费额度已经升至30元,构成了恶意欠费。在统计的样本欠费金额中,出月账时样本平均欠费金额达25.41元。

同样,该问题在其它月租、程控功能费用收取上同样也存在。目前虽然在用户必须存有足够余额的前提下才允许订购相关产品的规则已经出台,但也无法完全规避这一问题。

3 建立基于事件驱动的欠费控制

现有的技术方案是不能实时解决由于用户行为产生的欠费风险。于是,有必要对这一情况找出一种较合理的处理方式,确保及时性,同时又能约束用户行为产生的欠费。

当用户使用按月收取的产品时,无论何时收取,都是足月收取,在用户与运营商之间已经建立产品订购协议,明确了这种规约。因此,当用户订购了这类产品时,费用的收取应与产品生效时间存在一致性约束,这就为建立事件驱动的欠费控制提供了基础。

将事件作为费用计算的驱动消息,实现用户的费用第一时间计算的同时,也降低了离线处理后产生的欠费风险。同时,由于基于事件驱动的处理方式已经第一时间分摊处理了一部分的用户数据,也提高了常规的日账处理速度。

整个系统处理流程图如下:

第一,该方法中,事件分为用户事件和系统事件。用户事件是用户需要通过办理业务触发系统响应的一种活动,如用户在前台办理短信套餐,这是一个用户事件。

第二,系统事件是用户不需要通过办理业务触发系统响应的一种活动,如用户拨打电话产生话单,送至算费引擎,这是一个系统事件。

第三,根据事件属性转换成消息,分别进入用户事件消息队列或系统事件消息队列。消息队列按FIFO(First In First Out)顺序计算,最先进入队列的消息最先被处理。

第四,事件含有以下属性E(es,et,st,sk,bc):事件序列号es:标识事件序列号的一组数字;事件类型et:区分是用户事件还是系统事件;子事件类型st:标识子事件类型,如入户、套餐变更、语音话单、短信话单等;事件key-sk:事件标识符,对于用户事件对应用户号码,对于系统事件,对应事件源,如话单文件号;账务周期bc:用户的账务月。

第五,用户消息队列的处理:事件的em和bc的组合在该队列中具有唯一性,当后续的em和bc到来并已存在队列时,后者消息不进入队列,直接删除。根据FIFO,一旦有用户事件产生,则算费引擎根据事件标识符sk,触发用户的费用计算,计算完毕后,更新用户实时费用信息。

第六,系统消息队列的处理:根据子事件类型st由相关的程序处理,如子事件为语音话单时,则由语音话单程序进行处理该事件消息。

第七,优化后的费用收取控制流程。

如用户139********在前台办理2元短信套餐(月租2元,含30条短信),用户办理该业务后,触发了一个用户事件E(100000001,1,3,139********,201102),算费引擎在收到该事件消息后,立即重新计算用户的费用,由于该2元短信套餐是按月租收取,则月租应立即收取不必等到次日0时再收取费用,这样就避免了潜在的欠费风险。

4 结语

事件驱动框架 篇5

关键词:科技传播,突发公共事件,科学松鼠会,框架

随着科学技术的进步,网络成为信息传播的新载体。通过网络,信息的传播速度不断加快,参与信息传播的人也不断增多,信息产生的舆论效应亦在不断增强。纵观近几年发生的突发公共事件,科技信息在突发公共事件处置中发挥的作用尤为突出。而民间科普网站是一个传播科技信息的良好平台。

科学松鼠会是一个科学传播公益团体,成立于2008年4月,这个团体的成员联手建立了一个科普群博,以“让科学流行起来”为愿景,希望自己能够像松鼠一样,打开科学的坚硬外壳,将有营养的果仁剥出来,帮助人们领略科学之美妙。该群博经过一年的发展已经成为具有代表性的民间科普网站。本文重点分析突发公共事件中科学松鼠会的框架呈现的高、中、低层次的结构。

1 研究理论

1.1 框架理论简述

框架的概念源自贝特森(Bateson,1955)。1974年,德国社会学家高夫曼(Goffman)将这个概念首次引入文化社会学。后来再被引入到大众传播研究中,成为了定性研究中的一个重要观点。

在大众传播学领域中,框架通常被认为具有两方面的属性,一种是名词属性,即框架是待分析的新闻文本;一种是动词属性,即把框架理解成为一系列的动态过程——选择、强调或者重组。1

台湾学者臧国仁认为在框架的内在结构方面,至少包含了框架的高、中、低三个层次。高层次指的是时间的抽象意义,或是主旨,通常难以辨识。中层次则是由主要事件、历史、先前事件、结果、影响、归因以及评估几个环节组成,有些事件包含了所有上述环节,有些则只包容部分。低层次指的是框架的表现形式,系由语言或符号组成,包括字、词、语、句,以及由这些基础语言所形成的修辞或譬喻。2

1.2 框架理论在本研究中的适用性讨论

框架理论在本世纪初才引入我国。我国学者多用该理论分析纸媒的报道框架,也有少部分学者对新闻网站的框架进行了研究,但是没有对博客群的框架进行研究。对于专业媒体来说,通过框架构建行为,使用一系列报道的配合,通过选择、排除、突出、排序等方式有意或无意地在试图在读者心中建构起唯一的对外部世界的理解,其立场、意识形态是稳定的,决定其框架具有统一性。而博客以个人为单位、自主性很强,不是一个统一的媒体,其表达方式是多元的、个性化的,主题可能是矛盾的甚至对立的,这些使得它的框架难以确定。那么,框架理论是否适用于博客群的研究呢?

笔者认为对科学松鼠会这样的科普群博而言,框架理论是适用的。首先科学松鼠会具备严格的把关制度。松鼠会通过三种途径对内容进行把关:1)成为作者需经过评议小组十分严格的审核;2)每篇文章都由编辑加以审核,部分文章会经由“同行评议”;3)松鼠会网站吸引了大量科学专业人士,他们的作用相当于第三方监督。其次,科学松鼠会拥有一支专业的队伍。它的成员包括来自国内外各院校的一线科研工作者,媒体的科学记者、编辑,以及活跃在各大媒体科学版的多位科学作者和译者。第三、科学松鼠会是一个群体,而不是个人,是一个科学传播公益团体,具有组织性。

基于此,科学松鼠会实际上是一家专业媒体的缩影,既有严格的审查制度,也有专业的报道队伍。这些就决定了其框架不是随意的,而是统一的。

2 样本选取

本研究选取科学松鼠会中有关汶川地震的38篇博文作为研究对象。

选择科学松鼠会是因为是科学松鼠会与国内众多民间科普网站相比,是非常成功的。上线半年就拿下了德国之声全球博客大赛的“全球最佳博客”和“最佳中文博客”两项公众奖。之后还被选入2008年中国十大科普事件。同时,“科普博客”的个人媒体或自媒体属性,并没有妨碍它成为一个科技传播的新媒体,相反,还在某种程度上使一些在传统媒体中尚未充分传播和挖掘的内容,拥有了更加广阔和自由的传播平台。3

研究汶川地震,是因为科学松鼠会关于汶川地震的科普做得很到位。有关汶川地震的科普博文使得科学松鼠会一战成名,走进公众视野。地震发生后的三个小时后,松鼠会成员“瘦驼”就迅速找出了一篇关于“动物预报地震”的旧作贴了出来。当天晚上的访问量就飙升了十倍。另一个原因是,科学松鼠会中关于汶川地震的博文38篇,关于三聚氰胺的博文6篇,甲型流感的相关博文为5篇。汶川地震相关博文的样本量最为丰富。

3 框架分析

3.1 框架的高层次结构

框架的高层次结构往往就是对某一事件主题的界定,即Goffman所强调的“这是什么事”。Van Dike认为命题与命题会因主题接近而形成较高层次的命题,或称“巨命题”。

科学松鼠会上的博文在写作上并没有遵循新闻写作的基本要求,写作比较自由。但是与个人博客相比,科学松鼠会单篇博文表现的主题并不分散,都是集中针对一个问题展开解释。比如博文“你能多信任余震预测?”围绕该主题,作者从余震的特点、余震的形式两个方面讨论余震预测能否信任。

笔者对博文的主题进行归纳总结,38篇博文大致关注的主题主要有8类:地震基本知识(什么是震级,地震产生原因等),地震预报(动物与地震预报,地震预报的难度等),地震救援(包括自救、他救等),寄语灾区、地震反思、地震与疫情、地震迷信。这些主题出现频率如下表:

需要说明的是,作为一家科普网站,科学松鼠会传递的信息紧紧围绕“科技”。比如,有关“地震救援”的博文中都是关于如何科学自救、生命探测仪在震区如何发挥功能,通讯设备在震区如何正常工作等。对这些主题继续进行归类,笔者发现科学松鼠会框架的高层次主题主要有两个:

一是对地震基本知识的科普。在上表中笔者将地震救援与地震基本知识分开讨论,而实际上从博文的文本分析来看,7篇有关地震救援的博文中,5篇是关于地震发生时候如何自救,地震过后如何他救诸如此类的地震基本常识,为此笔者将其归入地震基本知识主题中。

二是对地震传言的科学解释。地震发生后,坊间有很多传言,比如地震前几天就有动物异常反映,为何有关部门不重视;地震后到底会发生哪些疫情;汶川地震发生在5月12日,是因为这些数字相加等于8?针对种种坊间传言,科学松鼠会站在公共客观的立场,秉持科学的态度进行了解释。

3.2 框架的中层次结构

科学松鼠会的作者都是高级知识分子,具备一定的科学素养,在38篇地震博文中,参与科研活动的作者就有15人。为此与一般的个人博客相比,科学松鼠会的博文结构上更加完整。

框架的中层次结构由以下几个环节组成,包括主要事件、先前事件、历史、结果、影响、归因、评估等。根据样本文章的特点,笔者认为科学松鼠会框架的中层次结构主要包括三个部分:主要问题、归因、影响(评估)。

1)主要问题。

科普重在传递科学知识,为大众解释疑问。科学松鼠会有关地震的博文在开头基本上都对某一现象或某一事件提出疑问,而提出的问题又是公众关心的,急切希望知道的。

“动物预测地震的问题,瘦陀的文章已经从生物学的角度解释得很清楚了。我觉得这个问题的认识还有认识思维和方法的问题,这里完全从基本的科学原理上来谈点外行的看法。“(动物预感的一点外行看法,发布于2008年5月13日)

“这次地震发生后,远离震中千里之外的很多人产生了头晕、恶心等不适感,这里简单解释下地震时会头晕的原因。”(地震时为什么会头晕,发表于2008年14日)

2)归因。

科普的作用之一就是向大众解释为什么。除了3篇寄语灾区的感性文字外,其他博文在提出问题后,都对问题进行了解释,解释了为什么会头晕,为什么城市发生地震比农村更可怕等。

3)影响(评估)。

对某一科学现象或者事件的解释,并发表个人看法。能对科学现象、科技信息进行评估主要是因为科学松鼠会拥有专业的队伍,这些人不仅仅是科技信息的传播者,同时也是推动科技发展的推动者。他们有着一定的知识基础,并且对这些知识有着自己的思考,也乐于与公众分享他们的思考。

地震预警系统的基础是庞大而密集的地震台网,其数目越大,获得的资料越丰富,震中和震级的计算越准确,预警也越迅速。而我国的这项基础工作还有待完善,与国际水平相比,我国的数字台网建设不足……最后就是小屁牛文章中提到的一个问题,如何利用有限的经费在昂贵的基础建设和进一步的研究工作中做出最好的分配,是个值得关注的问题。(现阶段地震预警系统的一些问题,发表于2008年5月18日)

3.3 框架的低层次结构

低层次框架主要是对文本中字、词以及修辞风格的分析。笔者认为一篇好的科普文章,首先要有精彩的开头,吸引读者的眼球,二是要有通俗化的表达方法,易于受众解释。通过分析科学松鼠会关于汶川地震的博文,发现其在文本上有如下特点:

1)从公众熟悉的事物或现象入手。

对公众来说,他们似乎并不关心“核能开发”这样的科学问题,而对“烤瓷牙是否对人体有害”这样的科学问题却非常感兴趣。究其原因主要是“烤瓷牙”是公众熟悉的事物,也是与公众生活相关的事物。科学松鼠会有关汶川地震的博文在写作上紧扣了读者的该一特性,从他们熟悉的现象出发,继而进一步阐述原因。

地震中的癞蛤蟆,还是蛤蟆中的地震?地震科学家们真的不如一群癞蛤蟆吗?是的,他们无法在冬眠几个月之后照样活蹦乱跳,也无法顶替农药除虫。不过,在地震这一方面,也不见得比蟾蜍更差。(和地震学家掐架的癞蛤蟆,发表于2008年5月14日)

科普的意义就在于传递科技信息,如何吸引受众关注科普文章,文章的开头非常重要。科学松鼠会的作者们在写作中从受众熟悉的现象和事物入手,如是就缩短了读者和作者之间的距离。

2)语言生动,多口语化。

语言生动是一篇好的科普文章必备的特点之一。而多用口语化语言,不仅使得科普文章脱去科学呆板枯燥的外衣,同时又让读者倍感亲切。看下面这段话:

4是人人嫌弃的癞蛤蟆(当然也有人认为它们比地震学家还靠得住),可是翻倍之后却成了人人争抢的香馍馍。想不到算术还有此等功力,能将丑小鸭瞬间孵化成白天鹅。(还有比13更恶毒的数字吗?——有,8!,发表于2008年5月15日)

3)条理清晰,逻辑缜密。

科学松鼠会的每一篇博文都有着清晰的结构,如《震灾之后防大疫》一文在提出问题后,作者从遇难者和生存者两个角度讲述如何防疫,让读者一目了然。再如,《假如地震来袭》按照地震发生的时间顺序来写,小标题“时间:0时0分”、“时间:0时2分”、“时间8时0分”。

4 结论

通过上述的统计与分析,可以得出如下结论:

第一,科学松鼠会框架的高层次结构反映了公共感兴趣且关注的主题。一般情况下,突发公共事件发生后,总是会伴随着一些传言,这些传言的产生多是由于信息的传播存在偏差或是公众知识的贫乏。公众也急切地想求证传言的真实性。科普网站针对这些公众谈论的传言开展科普,在传递科技信息的同时,也发挥了舆论监督、稳定社会的作用。

第二、科学松鼠会框架的中层次由主要问题,归因,影响(评估)组成。从这个中层次结构来看,科普文章首先应该直截了当的提出主要问题,这些主要问题还应该是能调动读者兴趣的。继而对问题进行分析解释,起到解惑的作用。最后要发表作者个人的看法或者研究成果,这是对科普文章层次的提升。

第三,科学松鼠会框架的低层次结构表现出文章逻辑的缜密,语言的生动。逻辑的缜密符合科学的严谨性和高度知识性,倘若按照意识流形态写作的科普文章往往会让读者找不方向。语言的生动是针对科普文章趣味性、可读性的要求。另外,语言还应该具有时代性,要不断用一些新词汇代替旧词汇,甚至学会使用网络词汇。

参考文献

[1]董天策,徐宁.《从“连战访问大陆”看市场化报纸的时政报道》[j].西南民族大学学报.2005年6月.第6期

[2]臧国仁.《新闻媒体与消息来源——媒介框架与真实建构之论述》[M],三民书局,32~54.

事件驱动框架 篇6

国务院办公厅《“十一五”期间国家突发公共事件应急体系建设规划》提出:由中国气象局牵头负责,会同有关部门、单位建设“国家突发公共事件预警信息发布系统”。该系统要依托气象业务系统和气象预报信息发布系统,扩建其信息收集、传输渠道及与之配套的业务系统,增加信息发布内容,建立权威、畅通、有效的预警信息发布渠道,形成我国突发公共事件预警信息综合发布系统。

近年来,湖南省气象局气象服务的渠道不断拓展,已建成包括电视、电台、报纸、电话、传真、网络、手机、LED显示屏、乡村大喇叭等多种现代化信息传播手段,使得气象服务水平不断提高[1],气象信息的覆盖面不断扩大,为省级突发公共事件预警发布平台的建设打下了良好的基础。

1 省级信息发布现状分析

随着湖南经济、社会和媒体的快速发展,民众对于突发公共事件相关信息的获取渠道越来越广泛,需求也越来越高。因为没有一个完整的、权威的信息发布与获取体系,很容易导致谣言、歪曲事实等情况发生。因此,建设一个省级突发公共事件预警信息发布系统迫在眉睫。经对现状分析,目前的发布体系主要存在以下不足。

1.1 发布体系与需求脱节

当前的信息发布体系不能满足社会经济迅速发展和人民群众规避灾害风险意识增强的需要;设施装备、软件硬件技术、预警规范等技术支持体系尚不够现代化、不能适应社会经济发展带来的需求变化;技术体系的瓶颈制约了预警指挥上下联动和部门联动的统一性与有效性,严重影响了应急服务响应的快捷与机动性;降低了信息传播的及时与广泛性、决策服务的敏感与针对性和社会百姓规避风险的科学与有效性。

1.2 发布系统分散

全省各厅局各有自己建设的发布系统,且互不联通。省气象局虽然建设有多种信息发布手段,但每个发布手段均是初级独立的业务系统,各自闭塞,布局及运转比较分散,集约程度不高,容易导致信息处理任务繁重、发布操作复杂、缺发漏发等问题。

1.3 信息共享不全

突发公共事件相关信息,多为敏感信息,各相关单位基于各种主观或客观目的,不愿完全共享,或者标准、提法不一致,导致信息片面,较易出现基层决策失误等问题。

为了弥补以上不足,打破突发公共事件预警信息发布的壁垒,首先需要在国家突发公共事件预警信息发布系统的大框架下,结合省里的实际情况,设计、建设好省级突发公共事件预警信息发布系统,从技术上促进发布体系完善、发布手段集中、信息共享和标准一致,最终实现权威、畅通、有效的公共事件预警信息发布体系。

2 平台建设的需求

建设省级突发事件预警信息发布平台的核心是不断强化公共服务职能,健全公共服务体系,满足人民群众对公共事件的信息需求,更好地为各级党政部门决策提供依据。为此,省级平台需要满足如下4大需求。

2.1 公众科学避险的需求

随着社会的发展和人民生活水平的提高,公众对突发公共事件(如气象灾害、社会安全事件等)相关信息的需求越来越多。提供充分的信息、指导科学避险,保障人民群众生命财产安全,是本平台建设的第一需求。

2.2 党政部门决策服务需求

准确、详细、全面的信息,是党政部门处置突发公共事件做决策的基础。而决策的结果及时发布到需要人群,是政令畅通执行的首要环节。因此,科学高效处理突发公共事件,满足党政部门决策的需求是省级平台建设的当务之需。

2.3 双向互动需求

突发公共事件预警信息发布面向社会公众和党政部门,关系到大局民生和稳定发展。增强发布体系需要不断加强与社会的互动,积极调查和反馈党政部门及社会对信息发布的建议和意见,从而不断改进发布体系,提高服务水平。

2.4 安全性需求

突发公共事件预警信息多为敏感信息,对安全性要求非常高。在确保平台安全同时,也要确保信息安全,在传输的过程中需防破坏、防泄露、防篡改。信息要加密,要求有信息源认证、访问控制[2],不能有非法软件驻留,不能有非法操作。

3 平台框架设计

3.1 平台定位

湖南省突发公共事件预警信息发布平台定位于国家突发公共事件预警信息发布平台框架下的省级预警信息发布管理平台,在全国应急指挥体系中的位置如图1所示。

图1中省级平台通过政务外网与省级政府应急指挥平台联通,可以突破气象的界限,与其它单位进行信息共享,实现包括气象灾害类别在内的所有突发公共事件预警信息发布。

省级平台在发布手段上,与其它各级平台的关系如图2所示。

3.2 平台架构

湖南省突发公共事件预警信息发布平台运用GIS技术、Java技术和.Net技术,构建于ORACLE数据库系统和Windows 2008 Server操作系统之上,以B/S和C/S相结合的模式实现了平台上信息采集、封包、传输、解包、发布的集约、规范、高效处理。平台的总体框架图如图3所示。

平台中,网络、通信系统和视频会议系统是基础支撑,预警信息数据库是核心,所有的应用(如:预警信息收集、审核、管理和发布)均以它为基础。

3.3 信息发布流程设计

首先是预案单位对预警信息进行登记,然后上报到省应急办进行审核。省应急办签收后,对预警信息进行审核,如审核通过,则此预警信息被直接送到发布中心进行发布。发布中心签收到这条预警信息后,对此预警信息进行核对。核对通过,则发布中心进行预警内容分媒体制作,并通过多种发布手段进行发布。并将发布的情况分别向预案单位监控系统、发布中心发布监控和省应急办发布监控进行反馈。信息发布流程如图4所示

4. 省级平台的特点

4.1 信息内容规范化

为了统一对同一突发公共事件的共同描述,统一来自不同媒介的预警信息,平台引入国际通用的预警信息标准格式—通用警报协议(CAP,Common Alerting Protocol),简称CAP协议[3]。使用该协议将预警信息进行规范化,以整合现有预警发布手段并承接将来新增的发布手段。

在预警信息的录入端,采用统一按照CAP协议制定的预警信息录入界面[4]。各种发布手段的预警信息内容都根据各自发布手段字数要求和发布形式等特点,从录入界面所录入的信息段进行提取,产生对应不同发布手段的预警文本,以在各种手段平台进行发布。在整个信息的传递过程,按XML文件进行CAP包封装,整个发布系统中的纵向传递和进入发布手段平台前的横向传递都用这种基于XML格式的CAP包进行。整个CAP包应用流程如图5所示。

4.2 平台运行流程化

平台按照标准规范的流程来设计和开发,同时也实现了各类发布业务的流程规范,例如信息发布流程、信息提取流程、CAP应用流程等。从技术上切实保障了省级发布体系的顺畅、高效和规范。

4.3 信息监控自动化

省级平台对信息流转过程全程自动监控,从信息录入到信息发布,在安全方面有告警,在流转方面有记录,各手段的发布情况实时自动向上反馈。实现了运行监控窗口的最新动态和实时多角度统计

4.4 平台开发现代化

平台灵活运用各种设计模式[5],实现了代码的强内聚、松藕合,为平台的扩展和后续更新打下坚实基础。采用了当前流行的Java技术和.Net技术,结合最新的GIS地理信息和气象数据,实现了应急区域环境自动分析等一系列高科技含量的功能。

5 结论

省级突发公共事件预警信息发布平台依托气象信息发布手段和政务外网,采用CAP协议标准,建立科学的预警信息发布流程,基本实现信息流转的安全、规范、高效和科学。充分集成各种资源、采用现代化的手段、运用规范化的管理、以高效率的方式对突发公共事件向公众和党政部门提供了权威信息的发布和全方位覆盖,在防灾减灾、民生保障和稳定发展方面起到了重要的作用。

参考文献

[1]陈朝晖,李春梅,姜翠文,等.湖南浏阳“5.13”大暴雨过程气象服务案例分析[J].安徽农业科学,2011,39(9):5508-5509.

[2]鲁剑锋,刘华文,王多强.访问控制策略的分类方法研究[J].武汉理工大学学报,2011,33(6):878-881.

[3]OASIS Standards.http://www.oasis-open.org/home/index.php,2010,7.

[4]国务院.国家突发公共事件总体应急预案,2006:1-3.

基于事件驱动的工作流引擎设计 篇7

在使用工作流或者BPM做流程管理的应用场景中,通常出现一种下面的状况:在系统的试用阶段以及实用阶段,通常要优化流程或变更流程,此时,业务人员、程序员、系统管理员要三者合作,由业务人员确定要优化或变更的流程,由程序员新增流程模型、修改代码、发布新的软件版本包,由系统管理员部署新版本并重启系统。不嫌人员合作间的麻烦,在企业内部的软件环境里,这种版本的不停升级,更会带来系统管理的要求。如果流程是跨多个系统,那就更难管理了。何况,在企业内部软件与电子商务相结合、电子政务软件通过互联网向公众开放的新形式下,重启系统将是一种不可接受的要求。

本文结合工作流或BPM的当前状况,寻求到一个通过事件驱动架构来解决这一实际问题的方案,同时进一步发现:事件驱动架构不管是对工作流或BPM的理论研究,还是实际应用,都是一条值得深入探索的路子。

1 在线更新的只是流程的定义而非业务的处理

目前,企业软件里,流程越来越复杂,同时流程嵌套的要求也是越来越多。在文献[1]中,研究者从项目管理的角度出发,对工作流的结构作了定义。这与本文描述的实际情况是相吻合的。

流程嵌套的典型场景包括两种,其一是大流程中包含小流程,其二是处理流与审批流分离。大流程包含小流程的基本方式就是,大流程中的一个业务环节,通常也有一个内部流程——当流程跨多个(逻辑上、物理上都是分离的)系统时,这更为常见。处理流与审批流的分离更具中国特色。在电子政务中,具体的业务处理往往涉及信息的核实、处理方案的选择等,这些工作通常是由一般办公人员执行,而各级领导执行审批权限。在某些情况下,信息核实、方案选择往往有章可循,而参与审批的人员变化不定。这导致了把整个过程分解为处理流和审批流的发展趋势,基本方式就是:流程按处理流的路径前进,处理流的每个环节下面挂接一个审批流。

一种较为典型的场景,如图一所示。

如何做到这种复杂关系中的在线更新?需要通过变化性来分析。所谓管理,就是针对变化的东西,不变的东西不需要管理,变化少的东西管理少。

一般而言,企业的业务,对某个业务环节(流程节点)的具体处理是较为稳定的(这部分通常是程序代码),而对业务环节间的关系即业务流程则经常变更(业务流程通常是流程模型如XML文件),反映到计算机系统中就形成了不同程度的自动化程度,如表一所示。

因而,在图一中,可知的变化程度从低到高的排序为:内部环节、内部流、业务流、审批流。这说明,通常时刻,要优化或变更的流程,是主流程或子流程内的环节之间的关系,而不是具体环节的内部的业务处理。

分析实际使用BPM的软件系统发现,流程处理的机制可以分成三部分:流程模型,是对环节及其关系的定义;业务处理,是解决具体业务问题的算法;模型处理,是衔接流程模型与业务处理的中间环节,是个控制器。

多数工作流产品,对流程模型是使用XML文件进行描述的,并且有基本的版本管理,也支持在线上传版本,虽然对流程版本之间的依赖性管理有待加强,却不阻碍流程模型的在线更新。但是,对模型处理,是通过显式的、编程的代码来完成的,一个新的版本上传后,相关的处理代码(通常包含于业务处理代码中)也需要更新,而一般情况下代码是无法在线更新的。因而,解决在线更新的根本目标是:模型处理的机制应该是稳定不变的。

2 事件既能实现分离,又能连接分离点

分离流程模型、业务处理和模型处理,目的也是提取独立的模型处理机制,使得业务处理的变更与流程模型的变更不影响对方。具体表现为:(1)经常变化的流程模型不要求业务处理也跟着作出变化;(2)嵌套流程中的父流程可以被认为是子流程的业务处理。这第二点说明了,这种分离也是处理流程模型之间关系的一种机制。

建立独立稳定的模型处理机制,也意味着在众多的业务与流程的关系中,选择其中可以满足分离需求的方式。业务与流程的关系问题总是存在的,只不过在默认的情况下,没把这个问题当做问题来处理。

业务与流程最根本的关系是驱动模式。依据业务与流程谁驱动谁、使用何种驱动手段(显式编程驱动还是事件隐性驱动)来组合,存在四种驱动模式,如表二所示。

传统的模式,是以业务显式驱动流程的方式为主,使用流程事件驱动业务的方式为补充。正是这种默认的驱动模式,造成了二者在代码里的耦合,不能分离。在文献[8]中,提到了一种新型的以数据为中心的解决方案,但是它的灵活性只是来自于自动化的流程生成器,实质还是传统的模式。为做到分离,应以业务事件驱动流程的模式为主,以流程事件驱动业务的模式为辅,少用流程显式驱动业务的方式,不用业务显式驱动流程的方式。

3 事件驱动的工作流方案

具体的实现方案,可以分成三大部分:配置事件监控点、建立匹配关系、映射RBAC模型。只有达成了这三个子目标,一个独立稳定的模型处理机制才能建立起来。

首先,在与事务管理相同的同一个层面和细粒度上,配置事件监控点。这是因为,事务的大小及其一致性、基于上与一个流程节点所要处理的范围相当,同时业务处理与流程处理应该在同一个事务里。这里使用了AOP技术,文献[2]中,也是使用同样的切面技术,解决了工作流机制的一些问题。

以Java的Spring为例,配置示例如下:

workflowInterceptor的具体实现,适用于所有的流程及其节点,也就是让流程模型与业务处理相分离了。workflowInterceptor可以是一个Spring的AfterReturnAdvice,代码如下:

其次,建立流程模型与业务处理的匹配关系。上面的workflowInterceptor中,getStartableDefinition和queryTaskInstances,正是根据这种匹配关系,从业务事件得到流程定义和节点实例的。

关系匹配问题,分成两种:流程模型与业务种类的匹配、流程环节与业务处理的匹配。环节的匹配容易理解,通常情况下,流程的一个节点,往往对应一个服务,而服务的具体表现形式则各异:一种消息、一个URL或者一个API Method等等。而流程模型与业务种类的匹配情况则多种多样,如表三所示。

为实现业务处理和流程模型的分离,这些关系的定义,通常应随模型定义一起存储。在BPMN2规范中,没有定义这种关系,也没有扩展点可用来定义这种关系,但也不是没有办法。以BPMN2为例,可以把这些关系定义在process和task的documentation中。如下所示(bizModelClass、bizServiceName、bizMethodName正是事件的组成定义):

最后,应解决应用程序的RBAC模型与流程产品的RBAC模型的分离。一般而言,工作流引擎通常有自己的RBAC模型,而企业的应用程序也有一套自己的RBAC模型。如果二者不是同一个模型,则要在二者之间达成模型和数据的一致性。通常的解决方案有四种,如表四所示。

在业务处理与流程模型不做分离的环境中,这些方案都是较为可取的。但是,要做分离,则要依据实际情况而定。一般情况下,转化方案是不受推荐的;如果性能上可以支持,视图方案是受推荐的。

4 结论

首先,EDA(事件驱动架构、Event Driven Architecture)与BPM机制相辅相成。EDA是一种构建软件系统的方法,它把软件系统内的参与者分为事件生产者和事件接收者,二者无需知道彼此的存在,事件由生产者产生,然后在松散耦合的事件接收者之间路由,路由的流程化非常自然。因而,EDA更适用于在不同的变化性之间建立分离与关联,这正是本文采用事件驱动解决在线更新流程的理论依据。当前,AOP、ESB、BPM、ESP、CEP等技术的应用与普及,使得重新构造一个EDA也不是难事。良好的BPM机制,需要事件驱动架构的支持;反过来,BPM也是EDA的重要组成部分。参考表五中的作用。

其次,目前处于研究阶段的柔性工作流需要EDA的事件来构建知识库。在文献[3]至文献[5]中,分别使用了服务组合、基于挖掘算法的流程模式、基于静态流程的流程模式等手段来达到柔性,它们中的多数手段都需要依赖流程的运行日志。而流程的运行日志,并不能代表所有的业务事件。其实,在实际应用中,已经有使用BPM结合人工工作来达到较好程度的流程挖掘和优化,可以说是完成了柔性工作流的部分目标。

最后,工作流或BPM方面的标准化工作应支持事件驱动模式。正如在BPMN2的documentation中增加业务处理与业务环节的匹配关系中所看到的那样,目前,BPM产品及其国际规范还不支持事件驱动的模式,或者说事件驱动还没有成为BPM的内生机制。

摘要:企业软件对流程的要求,不管是在概念上,还是在实际需求方面,都已经趋向BPM形式。而传统的工作流产品,以及现在的多数BPM产品,或者趋向于解决流程的模型化能力,如使用BPMN2规范,或者趋向于与系统环境的集成,如REST风格等等;理论研究则侧重柔性工作流等方向,但在实际应用中,连在线更新流程都不能简单地做到。本文以在线更新流程为实际案例,使用Java和BPMN2,描述了一种基于事件驱动的工作流方案,为BPM增加一条值得实践的道路。

关键词:工作流,BPM,BPMN2,在线更新,事件驱动

参考文献

[1]熊体凡,田年,刘清华,等.集成项目管理与工作流的层次化过程模型研究[J].中国机械工程,2011,22(14):1685-1689.

[2]谷伟,殷旭,田英爱.在工作流系统中复合切面系统模型的研究与应用[J].计算机应用与软件,2011,28(03):98-101.

[3]张静乐,杨扬,卡利勒,等.柔性工作流中的服务组合可协调性研究[J].小型微型计算机系统,2011,32(05):814-819.

[4]梁俊锋,张祖平,龙军.动态工作流挖掘模型及算法研究[J].计算机科学,2011,38(01):185-189.

[5]陈大伟,孙瑞志,向勇,等.基于流程模式的工作流静态规划方法[J].计算机工程与设计,2011,32(01):129-132,137.

上一篇:麻疹疫苗接种下一篇:安全与威胁