情境化定向实时双向推送同步处理系统的制作方法

文档序号:6626810阅读:218来源:国知局
情境化定向实时双向推送同步处理系统的制作方法
【专利摘要】本发明公开了一种情境化定向实时双向推送同步处理系统。在服务器端,将数据库分为累积数据、实时数据和待录缓存三个组;实时数据发生器读取累积数据,进行条件选择、传输排期和目标判断机制后,将当期需要传送的数据编译加密后与其触发器写入实时数据;数据录入模块在检测到待录缓存非空的情况下,对传入的XML数据包进行解析和可信度检测机制,将包内数据应用于数据库的累积数据;传输引擎包括输入终端和输出终端对外界可见;预分析引擎与数据库的实时数据建立连接;客户端的后台亦可采用与服务器端相同的传输引擎设计。本发明可以缓解网络压力并降低服务器的负载要求,弥补现有数据自动化系统的实时性、安全性的不足。
【专利说明】情境化定向实时双向推送同步处理系统

【技术领域】
[0001]本发明涉及一种客户端-服务器模式的数据自动化架构,是一套基于情境化日程(时间、地点等条件)进行综合运算,并且可以拓展适配任何类型的数据处理、输入输出终端进行数据同步推送的实时触发型模块化数据系统。

【背景技术】
[0002]目前,公知的数据自动化系统是由服务端软硬件和客户端软硬件两部分组成,分别运行两套完整的定制系统。数据按照实际需求进行排列存储,存储结构因数据用途而异。使用此类的数据系统时,服务器安装商业化的通用数据库套件直接供给数据或透过一个专门开发的网络中继软件与客户端进行认证和建立连接。客户使用经过定制的客户端软件,接入服务器所在的内网或互联网,以ODBC类接口连接数据库,或者经由特殊设计的通讯协议连接服务端中继软件并间接与数据库建立连接。数据的交换以“获取”的形式进行,即客户操作客户端软件,主动向服务器发出数据获取或修改请求。服务器端软件在收到请求后对数据进行存取操作,并以类似的协议和方式向客户端提供反馈(执行结果或获取的数据)。另一种常用的数据存取方式经由一台单独设置的网页服务器连接到数据服务器:当客户通过网页方式登录网站时,网页服务器虚拟出一个客户实例,并以网页的形式传达用户指令和反馈数据访问的结果。然而,这类数据系统由于数据服务器通过监听指令的方式对数据做出操作,并不能自主做出实时的数据推送操作;如采用客户端或网页服务器反复请求数据的方式,则会非常容易导致服务器系统过载;同时,由于用户界面的各元素与相关数据结构紧密对应,各个模块(包括数据库、数据结构、数据处理算法和用户界面)的拓展难度很大,尤其是用户被局限于仅仅使用客户端作为数据修改访问的惟一途径,而由于此类系统的高度集成封闭特性,修改功能意味着重新开发整个系统的二次成本。


【发明内容】

[0003]为了缓解网络压力并降低服务器的负载要求,弥补现有数据自动化系统的实时性、安全性的不足,本发明提供一种情境化定向实时双向推送同步处理系统。
[0004]本发明的技术方案如下:
[0005]一种情境化定向实时双向推送同步处理系统,在服务器端,
[0006]设置一个数据库,将数据库分为累积数据、实时数据和待录缓存三个组,其中,累积数据用于存储既有的数据基础,实时数据用于存储当期准备进行推送的数据与传输计划,待录缓存用于存储已经输入并即将录入累积数据组的数据;
[0007]设置一个实时数据发生器,实时数据发生器用于读取累积数据,结合系统内部的规则和拓展模块所要求的条件筛选出需要进行传送的数据;在进行传输计划排期和目标判断机制后,将当期需要传送的数据编译为XML格式的数据包,加密后与其触发器写入数据库的实时数据部分;
[0008]设置一个数据录入模块,数据录入模块在检测到待录缓存非空的情况下,自队列开头解开传入的XML数据包,并对其准确性和可信度进行评估确认;在确认完毕后将包内数据应用于数据库的累积数据部分,同时将回执写入实时数据模块的传输队列,通知该数据包的来源运行结果;
[0009]设置一个传输引擎,传输引擎包括一个输入终端和一个输出终端对外界可见;设置一个传输缓存,传输缓存包括一个传出缓存和一个传入缓存;设置一个预分析引擎,预分析引擎与数据库的实时数据建立连接;输出时,预分析引擎通过对实时数据中传输触发器进行轮询,结合外部条件确认需要发送的数据包;预分析引擎同时打开准备传输的数据包,确认是否有需要外部数据源转发的信息,启动对应的驱动程序请求外部数据源,并将这些数据一同汇入输出的数据流;传送的数据流根据硬件或操作系统的固有机制进入传出缓存,最后由输出终端负责定向送到指定的目标;输入时,输入终端接收到传送的数据流,数据流根据硬件或操作系统的固有机制进入传入缓存;预分析引擎读入数据头,判断该数据的目标是外部目标还是数据库;如数据属于拓展模块定义的外部目标,将直接转发数据给相应的驱动程序,从而转向送出系统;如数据属于数据库,则将编译好的数据包存入待录缓存。
[0010]所述累积数据包括用户数据和所有基于情境的数据列表,其中包括用户可自定义的各种情境的描述和终端节点的描述;累积数据库组内所有的数据表条目均有惟一标示符进行标记,并作为表示数据关系的独一方式;每一个数据表均链接到另一个数据表中的条目;如有表中一个条目需要链接至多个目标条目时,则建立一个链接表,放置两列分别存放重复的源和对象的标示符;累积数据还包括各个拓展模块的登记与配置、数据系统的设置。
[0011]所述实时数据包括已连接的输入输出节点注册列表、当期需要向外输出的数据队列与输出触发器列表;其中,已编译好的数据包以加密的XML形式和密钥一同存入数据队列,并标注标示符以供触发器列表引用;每个触发器除了绑定一个数据包以外,同时标明该数据包被发送的条件和目标;触发条件一并写入XML数据包的文件头。
[0012]所述待录缓存负责暂时存放输入的未处理的数据包。
[0013]在客户端,后台采用和服务器端相同的传输引擎设计;客户端选择实时输入和输出数据并直接作出反应,或者通过私有数据库缓存数据;自行定义目标驱动程序,以解析和生成数据包,并负责从其自定义的任何信息源汇入数据及对这些信息源分发数据;采用私有数据库缓存数据的客户端,由一个简化的预分析引擎负责数据库的计划管理,并在触发器的条件满足是按需激活目标驱动程序。
[0014]本发明的有益技术效果是:
[0015]本发明以情境(时间、地点、相关人员等)为核心框架,在数据结构和服务器-客户端软件的结构上对实时推送数据和附加功能模块专门进行优化。以公知的数据库软件为基础,因此现有的数据系统亦可转换为该上述的结构。通过服务器端数据处理软件分开存储已计划的实时推送数据、缓存和累积性数据,避免客户端的分别向服务器请求数据,保证了各个客户端接收的数据由服务器同步生成、发出,实现了一站式的实时数据处理,并确保数据的安全隔离、不被外接任意访问。
[0016]同时,为了确保数据传输的过程中不存在僵尸节点篡改数据的可能性,并且为数据系统节点功能、表现形式的拓展提供可能性,本发明在服务器端和客户端采用了独立的数据传输模块,使用统一、标准化的数据格式和接口传输各个类型的数据,并与数据的最终作用目标进行连接。服务端的输出终端负责按照实时数据库中的要求按时、定向分发所有数据,而输入终端负责分析外界客户端输入的数据,并针对其目标进行分拣、转发或存入数据库的待录缓存。对于各个数据源、分发目标、数据格式和处理算法,允许用户自行编写驱动程序模块,以脚本或机器码的形式插入到各个数据处理传输模块中进行功能拓展。使用集成化的传输端也保证了整个传输和处理过程与数据最终目的无关,只需更改驱动程序即可实现数据的不同利用方式。客户端对数据进行的任何操作也仅限以请求的方式发送至服务器,只有当服务器的输入模块许可、存入待录缓存并进一步分析后方可影响累积数据的内容。
[0017]综上所述,本发明确保了情境化数据库与客户端交互的实时性,并保证了服务器端的数据库与外界安全隔离,防止数据被窃取或篡改。统一集成化的数据处理保证了处理系统的轻量化和同步性、稳定性。同时,通过驱动程序的概念,可以对数据库的内容、外部数据源和数据目标进行定义,确保的数据和使用数据的节点的灵活性和多样性。这在现今的物联网和云计算领域满足了许多核心需求,如统一的数据引擎不仅能对累积性的数据作出分析操作,也能实时对数据流进行处理和定向转发。同时,客户端的数据节点不仅可以是计算机的另一个软件,还可以为计算机到物理计算设备(如物联网微控制器)的接口 ;轻量化版本的数据引擎甚至可以运行在ARM、AVR等嵌入式系统上,从而将传感器等的数据直接汇总至服务器端数据库;通过用户定义的拓展驱动程序向服务器提供算法,输出的数据流可直接作用于物理设备上(如电动机、门锁、电器开关等)。

【专利附图】

【附图说明】
[0018]图1是本发明系统的宏观结构图。

【具体实施方式】
[0019]下面结合附图对本发明的【具体实施方式】做进一步说明。
[0020]本发明系统的宏观结构参见图1。
[0021]在服务器端,为了提高服务器端数据处理效率和安全性,本发明采用以下的解决方案:
[0022]首先,数据库被分为三个主要组:累积数据、实时数据和待录缓存,分别用于存储既有的数据基础、当期准备进行推送的数据与传输计划、已经输入并即将录入累积数据组的数据。
[0023]其中,累积数据包括用户数据和所有基于情境的数据列表(如基于时间段的实时事件列表,地点列表,基于截止时间的待办事项列表等),其中包括用户可自定义的各种情境(如相关设备,相关用户组等)的描述和终端节点的描述。累积数据库组内所有的数据表条目均有惟一标不符(UUID)进行标记,并作为表不数据关系的独一方式。每一个数据表均需要通过一定的方式链接到另一个数据表中的条目,如事件涉及到相关用户与地点、固定的终端节点与地点相绑定等。如有表中一个条目需要链接至多个目标条目时(如一个事件影响到多个相关用户),则建立一个链接表,放置两列分别存放重复的源和对象的标示符。绑定链接的最终目的是在实际查找时特定的SQL脚本可以在所有表格间自动路由,从而整合各个情境和各方面内容来得出完整的结果。累积数据还包括各个拓展模块的登记与配置、数据系统的设置。
[0024]实时数据包括已连接的输入输出节点注册列表(用户凭据、地点、IP地址等描述节点的数据)、当期需要向外输出的数据队列与输出触发器列表。其中,已编译好的数据包以加密的XML形式和密钥一同存入数据队列,并标注UUID标示符以供触发器列表引用。每个触发器除了绑定一个数据包(XML文本或十六进制封包)以外,同时标明该数据包被发送的条件(立即触发、定时触发、外部消息触发或一般条件触发,如特定的人员上线)和目标。为方便客户端验证数据的时效性,触发条件一并写入XML数据包的文件头。
[0025]待录缓存负责暂时存放输入的未处理的数据包。
[0026]在系统的实时运作过程中,由一个专门的实时数据发生器读取累积数据,结合系统内部的规则和拓展模块所要求的条件,筛选出需要进行传送的数据。其在进行传输计划排期和目标判断(组合各个相同的数据合并为一个广播任务)机制后,将当期需要传送的数据编译为XML格式的分别数据包,加密后与其触发器写入数据库的实时数据部分。对于事件列表中条件为周期性重复的事件、由拓展模块定义条件的事件,将会根据定义的算法排入传输队列。实时数据发生器只有在进入新一个运行周期或是累积数据已经发生改变时才会激活。(当数据发生改变时,实时数据发生器会优先准备刷新已更改的部分,尽可能避免重新扫描数据库的内容)。
[0027]对于进入待录缓存的数据,一个单独的数据录入模块在检测到其非空的情况下会自队列开头解开传入的XML数据包,并对其准确性(签名和校验和)和可信度(认证信息和数据正确性,如潜在的导致系统故障的无效数据和与系统冲突的数据)进行评估确认。在确认完毕后将包内数据应用于数据库的累积数据部分,同时将回执写入实时数据模块的传输队列,通知该数据包的来源运行结果。如同一来源的数据被反复确认为无效信息,安全机制会停止处理其信息,并对来源的客户端发出挂起通知,其后不再接受该来源的数据,也不对其回执。
[0028]传输方面,系统不使用公知的数据库网络访问方式对数据进行传输,而是采用专门的传输引擎以确保数据不对外透明。传输引擎有一个输入终端和一个输出终端对外界可见;一个输入和输出预分析引擎与数据库的实时数据建立连接。
[0029]输出时,预分析引擎通过对实时数据中传输触发器进行轮询,结合外部条件(时间和实时数据中其他的状态数据)确认需要发送的数据包。如检测到特定的广播数据包有部分目标下线或因其他原因不可联系,则传输引擎可以更改传输队列,将未传出的部分新建条目;对于已经过期但无法传送的条目,将触发标记改为实时传输;按系统偏好设置超出有效时长的将该条目直接从队列移除。预分析引擎同时打开准备传输的数据包,确认是否有需要外部数据源转发的信息(如:引用了外部文件服务器的数据包,需要文件服务器同时传输相应的文件),启动对应的驱动程序请求外部数据源,并将这些数据一同汇入输出的数据流。传送的数据流根据硬件或操作系统的固有机制进入传出缓存,最后由输出终端负责定向送到指定的目标。
[0030]对于输入的数据,数据流根据硬件或操作系统的固有机制进入传入缓存,首先传入预分析引擎会读入数据头,及时判断该数据的目标是数据库还是外部目标。对于拓展模块定义的外部目标,将直接转发数据给相应的驱动程序,从而转向送出系统(如将文件上传至文件服务器)。如数据属于数据库,则将编译好的数据包存入待录缓存。
[0031]在客户端,为了提高客户端传输安全性和系统可拓展性,本发明采用以下的解决方案:
[0032]为保证客户端的多样化,系统除可以使用定制的标准客户端,亦可以自定义客户端的前台,包括数据源和输出目标。客户端的后台采用和服务器端相同的传输引擎设计(其中的预分析引擎替换为简化的预分析引擎)。客户端可以选择实时输入和输出数据并直接作出反应,或者通过私有数据库缓存数据(私有数据库对于按计划作出操作的缓存数据包是必要的)。客户端可以自行定义目标驱动程序,以解析和生成数据包,并负责从其自定义的任何信息源(如另一个软件,文件目标,程序的前台,自动化系统的串行通信口等)汇入数据及对这些信息源分发数据。采用私有数据库缓存数据的客户端,由一个简化的预分析引擎负责数据库的计划管理,并在触发器的条件满足是按需激活目标驱动程序。
[0033]以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
【权利要求】
1.一种情境化定向实时双向推送同步处理系统,其特征在于:在服务器端, 设置一个数据库,将数据库分为累积数据、实时数据和待录缓存三个组,其中,累积数据用于存储既有的数据基础,实时数据用于存储当期准备进行推送的数据与传输计划,待录缓存用于存储已经输入并即将录入累积数据组的数据; 设置一个实时数据发生器,实时数据发生器用于读取累积数据,结合系统内部的规则和拓展模块所要求的条件筛选出需要进行传送的数据;在进行传输计划排期和目标判断机制后,将当期需要传送的数据编译为XML格式的数据包,加密后与其触发器写入数据库的实时数据部分; 设置一个数据录入模块,数据录入模块在检测到待录缓存非空的情况下,自队列开头解开传入的XML数据包,并对其准确性和可信度进行评估确认;在确认完毕后将包内数据应用于数据库的累积数据部分,同时将回执写入实时数据模块的传输队列,通知该数据包的来源运行结果; 设置一个传输引擎,传输引擎包括一个输入终端和一个输出终端对外界可见;设置一个传输缓存,传输缓存包括一个传出缓存和一个传入缓存;设置一个预分析引擎,预分析引擎与数据库的实时数据建立连接;输出时,预分析引擎通过对实时数据中传输触发器进行轮询,结合外部条件确认需要发送的数据包;预分析引擎同时打开准备传输的数据包,确认是否有需要外部数据源转发的信息,启动对应的驱动程序请求外部数据源,并将这些数据一同汇入输出的数据流;传送的数据流根据硬件或操作系统的固有机制进入传出缓存,最后由输出终端负责定向送到指定的目标;输入时,输入终端接收到传送的数据流,数据流根据硬件或操作系统的固有机制进入传入缓存;预分析引擎读入数据头,判断该数据的目标是外部目标还是数据库;如数据属于拓展模块定义的外部目标,将直接转发数据给相应的驱动程序,从而转向送出系统;如数据属于数据库,则将编译好的数据包存入待录缓存。
2.根据权利要求1所述情境化定向实时双向推送同步处理系统,其特征在于:所述累积数据包括用户数据和所有基于情境的数据列表,其中包括用户可自定义的各种情境的描述和终端节点的描述;累积数据库组内所有的数据表条目均有惟一标示符进行标记,并作为表示数据关系的独一方式;每一个数据表均链接到另一个数据表中的条目;如有表中一个条目需要链接至多个目标条目时,则建立一个链接表,放置两列分别存放重复的源和对象的标示符;累积数据还包括各个拓展模块的登记与配置、数据系统的设置。
3.根据权利要求1所述情境化定向实时双向推送同步处理系统,其特征在于:所述实时数据包括已连接的输入输出节点注册列表、当期需要向外输出的数据队列与输出触发器列表;其中,已编译好的数据包以加密的XML形式和密钥一同存入数据队列,并标注标示符以供触发器列表引用;每个触发器除了绑定一个数据包以外,同时标明该数据包被发送的条件和目标;触发条件一并写入XML数据包的文件头。
4.根据权利要求1所述情境化定向实时双向推送同步处理系统,其特征在于:所述待录缓存负责暂时存放输入的未处理的数据包。
5.根据权利要求1所述情境化定向实时双向推送同步处理系统,其特征在于:在客户端,后台采用和服务器端相同的传输引擎设计;客户端选择实时输入和输出数据并直接作出反应,或者通过私有数据库缓存数据;自行定义目标驱动程序,以解析和生成数据包,并负责从其自定义的任何信息源汇入数据及对这些信息源分发数据;采用私有数据库缓存数据的客户端,由一个简化的预分析引擎负责数据库的计划管理,并在触发器的条件满足是按需激活目标驱动程序。
【文档编号】G06F17/30GK104239505SQ201410465827
【公开日】2014年12月24日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】何苗 申请人:何苗
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1