一种基于用户直观方式操作二进制数据的方法及系统技术方案

技术编号:11572570 阅读:69 留言:0更新日期:2015-06-10 03:17
本发明专利技术涉及一种基于用户直观方式操作二进制数据的方法,包括设置对输入的数据信息定义数据描述的格式;将预先设置好的数据信息输入进行数据存储;在输入的数据信息中查找User, 在输入的数据信息中查找Age,在二进制数据流中存储整形数字和字符串;在存储后根据数据定义读取预设字节为第一列的字符串表示实际长度并判断剩余字节长度是否不足读取的字节长度,读取设定字节的实际长度并判断剩余长度是否不足设定字节,根据数据定义读取预置字节为第二列的整形并判断其长度是否不足预置字节,根据数据定义对二进制数据进行直观的修改。在不改变数据格式下,对输入数据最大限度压缩,同时保留了循环嵌套等多种有益特性提高了效率,易用性强。

【技术实现步骤摘要】
一种基于用户直观方式操作二进制数据的方法及系统
本专利技术属于数据修改领域,尤其涉及一种基于用户直观方式操作二进制数据的方法及系统。
技术介绍
传统关系数据库是目前Web应用中存取数据的主要形式。然而,随着Web2.0、大数据、云应用等技术的发展,传统的关系数据库在I/O、可扩展性上遇到了瓶颈,在大数据存取和访问时效率急剧下降,在高可扩展性和高可用性方面也遇到难题。为了解决此问题,许多方案相继提出,比如分布式数据库、主从数据库、无模式数据库等。无模式数据库,是一种模式自由的数据库,其模式主要为关系、树、图、文档等多种方式。实际上,很难完全抛弃现有的关系数据库而直接使用无模式数据库。以关系数据库为主,无模式数据库为辅,成了工业界和产业界普遍接受的方案。现有的技术中,存在两类关系数据库与无模式数据库进行结合的方法:(1)以用户插件的方法,将无模式数据库集成到关系数据库中,使得关系数据库同时支持关系操作和无模式操作。该方法缺点是大量的打开/关闭表的操作十分耗时,降低了数据库性能;(2)混合使用关系数据库,以关系数据库为主,无模式数据库为辅,使用关系数据库进行大数据更新操作,采用某种机制将关系数据库模式和数据同步到无模式数据库。对于大数据的查询直接使用无模式数据库,而更新仍采用关系数据库。该方法优点是既解决了关系数据库中大数据的查询瓶颈问题,又解决了无模式数据库更新瓶颈问题。该方法的难点是如何将关系数据库模式和数据转换到无模式数据库。现有技术的解决方案及实现主要有两种方法:(1)通过关系数据库触发器,将数据的变化记录到临时查询表。该查询表通常由ID、表名、行号、时间戳和操作等模式构成。然后将临时查询表的数据同步到目标无模式数据库;(2)对方法(1)改进,取消临时查询表,通过增加关系数据库自定义HTTP函数,直接将关系数据库数据变化增量通过HTTP协议发送给目标无模式数据库,实现数据和模式的同步。综上,现有关系数据库到无模式数据库的转换方法主要有以下问题:(1)不管是触发器还是用户自定义函数,其严重影响关系数据库性能;(2)数据传输过程无法保证数据操作的有序性,容易造成数据的不一致;(3)同步方式会阻塞数据库进程,降低关系数据库的模式和数据更新性能。
技术实现思路
本专利技术的目的在于提供一种基于用户直观方式操作二进制数据的方法,旨在解决上述的技术问题。本专利技术是这样实现的,一种基于用户直观方式操作二进制数据的方法,所述方法包括以下步骤:A、设置对输入的数据信息定义数据描述的格式;B、将预先设置好的数据信息输入进行数据存储;C、在输入的数据信息中查找User,如查找到,则执行步骤D,如查找不到,则提示错误并结束本次操作;D、判断User的值是否是数据定义中定义的字符串类型,如是,则执行步骤E,如否,则提示错误并结束本次操作;E、计算数据的长度并判断数据长度是否大于预设值,如否,则执行步骤F,如是,则提示错误并结束本次操作;F、在二进制数据流中存储整形数字和字符串;G、在输入的数据信息中查找Age,如查找到,则执行步骤H,如查找不到,则提示错误并结束本次操作;H、判断Age的值是否是数据定义中定义的整形,如是,则执行步骤I,如否,则提示错误并结束本次操作;I、在二进制数据流中存储整形数字;J、在存储后根据数据定义读取预设字节为第一列的字符串表示实际长度并判断剩余字节长度是否不足读取的字节长度,如是,则提示错误并结束本次操作,如否,则执行步骤K;K、读取设定字节的实际长度并判断剩余长度是否不足设定字节,如是,则提示出错并结束本次操作,如否,则读取结果为预设名并执行步骤L;L、根据数据定义读取预置字节为第二列的整形并判断其长度是否不足预置字节,如是,则提示错误并结束本次操作,如否,则读取结果为预设值并执行步骤M;M、根据数据定义对二进制数据进行直观的修改。本专利技术的进一步技术方案是:所述数据描述格式对数据的列名、类型、最大长度进行定义。本专利技术的进一步技术方案是:通过对数据定义来实现对二进制数据直观操作修改。本专利技术的进一步技术方案是:所述预设值为24。本专利技术的进一步技术方案是:在数据定义中支持的类型包括int8、int16、int32、int64、float、double、string、binary、struct及union。本专利技术的另一目的在于提供一种基于用户直观方式操作二进制数据的系统,该系统包括:数据定义模块,用于设置对输入的数据信息定义数据描述的格式;数据存储模块,用于将预先设置好的数据信息输入进行数据存储;第一查询模块,用于在输入的数据信息中查找User,如查找到,则执行字符串类型判断模块,如查找不到,则提示错误并结束本次操作;字符串类型判断模块,用于判断User的值是否是数据定义中定义的字符串类型,如是,则执行长度判断模块,如否,则提示错误并结束本次操作;长度判断模块,用于计算数据的长度并判断数据长度是否大于预设值,如否,则执行数据流存储模块,如是,则提示错误并结束本次操作;数据流存储模块,用于在二进制数据流中存储整形数字和字符串;第二查找模块,用于在输入的数据信息中查找Age,如查找到,则执行整形判断模块,如查找不到,则提示错误并结束本次操作;整形判断模块,用于判断Age的值是否是数据定义中定义的整形,如是,则执行整形存储模块,如否,则提示错误并结束本次操作;整形存储模块,用于在二进制数据流中存储整形数字;字节长度判断模块,用于在存储后根据数据定义读取预设字节为第一列的字符串表示实际长度并判断剩余字节长度是否不足读取的字节长度,如是,则提示错误并结束本次操作,如否,则执行剩余长度判断模块;剩余长度判断模块,用于读取设定字节的实际长度并判断剩余长度是否不足设定字节,如是,则提示错误并结束本次操作,如否,则读取结果为预设名并执行整形长度判断模块;整形长度判断模块,用于根据数据定义读取预置字节为第二列的整形并判断其长度是否不足预置字节,如是,则提示错误并结束本次操作,如否,则读取结果为预设值并执行修改模块;修改模块,用于根据数据定义对二进制数据进行直观的修改。本专利技术的进一步技术方案是:所述数据描述格式对数据的列名、类型、最大长度进行定义。本专利技术的进一步技术方案是:通过对数据定义来实现对二进制数据直观操作修改。本专利技术的进一步技术方案是:所述预设值为24。本专利技术的进一步技术方案是:在数据定义中支持的类型包括int8、int16、int32、int64、float、double、string、binary、struct及union。本专利技术的有益效果是:在不改变数据格式的前提下,对输入数据进行最大限度压缩,同时保留了循环嵌套等多种有益特性,其效率比同类型的产品(ProtocolBuffer)提高20倍以上,可以作为C/C++、C#、ActionScript、Java、Python等多种实现,易用性相当高。附图说明图1是本专利技术实施例提供的基于用户直观方式操作二进制数据的方法的流程图;图2是本专利技术实施例提供的基于用户直观方式操作二进制数据的方法的结构框图。具体实施方式图1示出了本专利技术提供的基于用户直观方式操作二进制数据的方法的流程图,其详述如下:步骤S1,设置对输入的数据信息定义数据描述的格式;1、用户定义数据描述格式(类似本文档来自技高网
...
一种基于用户直观方式操作二进制数据的方法及系统

【技术保护点】
一种基于用户直观方式操作二进制数据的方法,其特征在于,所述方法包括以下步骤:A、设置对输入的数据信息定义数据描述的格式;B、将预先设置好的数据信息输入进行数据存储;C、在输入的数据信息中查找User,如查找到,则执行步骤D,如查找不到,则提示错误并结束本次操作;D、判断User的值是否是数据定义中定义的字符串类型,如是,则执行步骤E,如否,则提示错误并结束本次操作;E、计算数据的长度并判断数据长度是否大于预设值,如否,则执行步骤F,如是,则提示错误并结束本次操作;F、在二进制数据流中存储整形数字和字符串;G、在输入的数据信息中查找Age,如查找到,则执行步骤H,如查找不到,则提示错误并结束本次操作;H、判断Age的值是否是数据定义中定义的整形,如是,则执行步骤I,如否,则提示错误并结束本次操作;I、在二进制数据流中存储整形数字;J、在存储后根据数据定义读取预设字节为第一列的字符串表示实际长度并判断剩余字节长度是否不足读取的字节长度,如是,则提示错误并结束本次操作,如否,则执行步骤K;K、读取设定字节的实际长度并判断剩余长度是否不足设定字节,如是,则提示出错并结束本次操作,如否,则读取结果为预设名并执行步骤L;L、根据数据定义读取预置字节为第二列的整形并判断其长度是否不足预置字节,如是,则提示错误并结束本次操作,如否,则读取结果为预设值并执行步骤M;M、根据数据定义对二进制数据进行直观的修改。...

【技术特征摘要】
1.一种基于用户直观方式操作二进制数据的方法,其特征在于,所述方法包括以下步骤:A、设置对输入的数据信息定义数据描述的格式;B、将预先设置好的数据信息输入进行数据存储;C、在输入的数据信息中查找User,如查找到,则执行步骤D,如查找不到,则提示错误并结束本次操作;D、判断User的值是否是数据定义中定义的字符串类型,如是,则执行步骤E,如否,则提示错误并结束本次操作;E、计算User数据的长度并判断数据长度是否大于预设值,如否,则执行步骤F,如是,则提示错误并结束本次操作;F、在二进制数据流中存储整形数字和字符串;G、在输入的数据信息中查找Age,如查找到,则执行步骤H,如查找不到,则提示错误并结束本次操作;H、判断Age的值是否是数据定义中定义的整形,如是,则执行步骤I,如否,则提示错误并结束本次操作;I、在二进制数据流中存储整形数字;J、在存储后根据数据定义读取预设字节为第一列的字符串表示实际长度并判断剩余字节长度是否不足读取的字节长度,如是,则提示错误并结束本次操作,如否,则执行步骤K;K、读取设定字节的实际长度并判断剩余长度是否不足设定字节,如是,则提示出错并结束本次操作,如否,则读取结果为预设名并执行步骤L;L、根据数据定义读取预置字节为第二列的整形并判断其长度是否不足预置字节,如是,则提示错误并结束本次操作,如否,则读取结果为预设值并执行步骤M;M、根据数据定义对二进制数据进行直观的修改。2.根据权利要求1所述的方法,其特征在于,所述数据描述格式对数据的列名、类型、最大长度进行定义。3.根据权利要求2所述的方法,其特征在于,所述预设值为24。4.根据权利要求3所述的方法,其特征在于,在数据定义中支持的类型包括int8、int16、int32、int64、float、double、string、binary、struct及union。5.一种基于用户直观方式操作二进制数据的系统,其特征在于,该系统包括:数据定义模块,用于设置对输入的数据信息定义数据描述的格...

【专利技术属性】
技术研发人员:杨超
申请(专利权)人:深圳市名游网络科技有限公司
类型:发明
国别省市:广东;44

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1