数据传递方法及其装置、计算机可存储介质制造方法及图纸

技术编号:27463806 阅读:15 留言:0更新日期:2021-03-02 17:24
本公开涉及数据传递方法及其装置、计算机可存储介质,涉及计算机技术领域。数据传递方法包括:在从至少一个源页面跳转到目标页面的情况下,确定各个源页面的标识、所述目标页面的标识和所述目标页面对应的至少一个目标字段名;根据每个源页面的标识,从所述每个源页面获取各个目标字段名和与每个目标字段名对应的目标字段值;对每个目标字段名执行如下步骤:对所述每个源页面的标识和所述每个目标字段名加锁;将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存。根据本公开,在多个源页面使用共享数据时,能够保证共享数据的读写正确性,避免脏数据的出现。出现。出现。

【技术实现步骤摘要】
数据传递方法及其装置、计算机可存储介质


[0001]本公开涉及计算机
,特别涉及数据传递方法及其装置、计算机可存储介质。

技术介绍

[0002]现有的仓库作业软件大多数是采用C/S模式,利用WPF (Windows呈现基础,Windows Presentation Foundation)框架设计,用户操作会同时打开多个页面,页面之间需要传递数据。现有技术大多是采用目标页面静态常量,或者采用内存静态常量作为媒介存储数据,或者磁盘文件存储数据,从多个源页面跳转至目标页面时,直接根据目标页面对应的目标字段名获取目标字段名对应的目标字段值,无法获取到多个源页面内相同的目标字段名对应的不同目标字段值。

技术实现思路

[0003]专利技术人认为:相关的数据传递方法中,只能单个源页面使用共享数据,多个源页面使用共享数据时会出现脏数据。
[0004]针对上述技术问题,本公开提出了一种解决方案,在多个源页面使用共享数据时,能够保证共享数据的读写正确性,避免脏数据的出现。
[0005]根据本公开的第一方面,提供了一种数据传递方法,包括:在从至少一个源页面跳转到目标页面的情况下,确定各个源页面的标识、所述目标页面的标识和所述目标页面对应的至少一个目标字段名;根据每个源页面的标识,从所述每个源页面获取各个目标字段名和与每个目标字段名对应的目标字段值;对每个目标字段名执行如下步骤:对所述每个源页面的标识和所述每个目标字段名加锁;将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存。
[0006]在一些实施例中,对所述每个源页面的标识和所述每个目标字段名加锁包括:分别计算所述每个源页面的标识、所述目标页面的标识和所述每个目标字段名的哈希值,得到所述每个源页面的标识的第一哈希值、所述目标页面的标识的第二哈希值和所述每个目标字段名的第三哈希值;对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。
[0007]在一些实施例中,将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存包括:将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系写入内存。
[0008]在一些实施例中,将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系写入内存包括:在所述每个源页面的标识的第一哈希值、所述第二哈希值和所述每个目标字段名的第三哈希值的对应关系存在于内存的情况下,将内存中所述每个目标字
段名的第三哈希值对应的当前字段值替换为所述每个目标字段名的第三哈希值对应的目标字段值;在所述每个源页面的标识的第一哈希值、所述第二哈希值和所述每个目标字段名的第三哈希值的对应关系不存在于内存的情况下,将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系直接存储到内存。
[0009]在一些实施例中,数据传递方法还包括:对所述每个源页面的标识和所述每个目标字段名解锁。
[0010]在一些实施例中,对所述每个源页面的标识和所述每个目标字段名解锁包括:对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值解锁。
[0011]在一些实施例中,对所述每个源页面的标识的第一哈希值和所述第三哈希值加锁包括:利用可重入锁,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。
[0012]在一些实施例中,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁包括:在所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值都没有被执行操作的情况下,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁;在所述每个源页面的标识的第一哈希值或者所述每个目标字段名的第三哈希值被执行操作的情况下,等待操作完成后,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。
[0013]在一些实施例中,所述操作包括读操作和写操作中的至少一种。
[0014]在一些实施例中,在将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存之后,数据传递方法还包括:从所述内存获取所述目标页面的标识对应的各个源页面的标识;对于每个源页面的标识,从所述内存读取所述每个源页面的标识对应的每个目标字段名对应的目标字段值;将各个源页面的标识对应的目标字段值传递给所述目标页面。
[0015]在一些实施例中,在将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系写入内存之后,还包括:从所述内存获取所述第二哈希值对应的各个第一哈希值;对于每个第一哈希值,从所述内存读取所述每个第一哈希值对应的每个第三哈希值对应的目标字段值;将各个第一哈希值对应的目标字段值传递给所述目标页面。
[0016]在一些实施例中,将各个第一哈希值对应的目标字段值传递给所述目标页面包括:根据各个第一哈希值对应的目标字段值,生成目标字段值列表;将所述目标字段值列表传递给所述目标页面。
[0017]在一些实施例中,在从内存读取所述每个第一哈希值对应的每个第三哈希值对应的目标字段值之后,还包括:对于每个第三哈希值,对所述每个第一哈希值和所述每个第三哈希值加锁;从内存删除所述每个第一哈希值、所述第二哈希值、所述每个第三哈希值和所述每个第三哈希值对应的目标字段值的对应关系。
[0018]在一些实施例中,对所述每个第一哈希值和所述每个第三哈希值加锁包括:在所述每个第一哈希值和所述每个第三哈希值都没有被执行操作的情况下,对所述第一哈希值和所述每个第三哈希值加锁;在所述每个第一哈希值或者所述每个第三哈希值被执行操作
的情况下,等待操作完成后,对所述每个第一哈希值和所述每个第三哈希值加锁。
[0019]在一些实施例中,数据传递方法还包括:对所述每个第一哈希值和所述每个第三哈希值解锁。
[0020]在一些实施例中,数据传递方法还包括:对于每个第一哈希值,在内存中不存在所述第二哈希值对应的所述每个第一哈希值或者在内存中不存在所述第二哈希值对应的所述每个第一哈希值对应的第三哈希值的情况下,生成空数据作为所述每个第一哈希值对应的目标字段值。
[0021]在一些实施例中,数据传递方法还包括:将所述各个第一哈希值对应的目标字段值显示于所述目标页面。
[0022]根据本公开第二方面,提供了一种数据传递装置,包括:确定模块,被配置为在从至少一个源页面跳转到目标页面的情况下,确定各个源页面的标识、所述目标页面的标识和所述目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传递方法,包括:在从至少一个源页面跳转到目标页面的情况下,确定各个源页面的标识、所述目标页面的标识和所述目标页面对应的至少一个目标字段名;根据每个源页面的标识,从所述每个源页面获取各个目标字段名和与每个目标字段名对应的目标字段值;对每个目标字段名执行如下步骤:对所述每个源页面的标识和所述每个目标字段名加锁;将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存。2.根据权利要求1所述的数据传递方法,其中,对所述每个源页面的标识和所述每个目标字段名加锁包括:分别计算所述每个源页面的标识、所述目标页面的标识和所述每个目标字段名的哈希值,得到所述每个源页面的标识的第一哈希值、所述目标页面的标识的第二哈希值和所述每个目标字段名的第三哈希值;对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。3.根据权利要求2所述的数据传递方法,其中,将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存包括:将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系写入内存。4.根据权利要求3所述的数据传递方法,其中,将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系写入内存包括:在所述每个源页面的标识的第一哈希值、所述第二哈希值和所述每个目标字段名的第三哈希值的对应关系存在于内存的情况下,将内存中所述每个目标字段名的第三哈希值对应的当前字段值替换为所述每个目标字段名的第三哈希值对应的目标字段值;在所述每个源页面的标识的第一哈希值、所述第二哈希值和所述每个目标字段名的第三哈希值的对应关系不存在于内存的情况下,将所述每个源页面的标识的第一哈希值、所述第二哈希值、所述每个目标字段名的第三哈希值和所述每个目标字段名的第三哈希值对应的目标字段值的对应关系直接存储到内存。5.根据权利要求3所述的数据传递方法,还包括:对所述每个源页面的标识和所述每个目标字段名解锁。6.根据权利要求5所述的数据传递方法,对所述每个源页面的标识和所述每个目标字段名解锁包括:对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值解锁。7.根据权利要求2所述的数据传递方法,其中,对所述每个源页面的标识的第一哈希值和所述第三哈希值加锁包括:利用可重入锁,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。8.根据权利要求2所述的数据传递方法,其中,对所述每个源页面的标识的第一哈希值
和所述每个目标字段名的第三哈希值加锁包括:在所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值都没有被执行操作的情况下,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁;在所述每个源页面的标识的第一哈希值或者所述每个目标字段名的第三哈希值被执行操作的情况下,等待操作完成后,对所述每个源页面的标识的第一哈希值和所述每个目标字段名的第三哈希值加锁。9.根据权利要求8所述的数据传递方法,其中,所述操作包括读操作和写操作中的至少一种。10.根据权利要求1所述的数据传递方法,在将所述每个源页面的标识、所述目标页面的标识、所述每个目标字段名和所述每个目标字段名对应的目标字段值的对应关系写入内存之后,还包括:从所述内存获取所述目标页面的标识对...

【专利技术属性】
技术研发人员:邵长营荣红泉马成龙
申请(专利权)人:北京京东乾石科技有限公司
类型:发明
国别省市:

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

1